xt-element-ui 2.1.61 → 2.2.0

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.
Files changed (202) hide show
  1. package/docs/components/base/xt-bar.md +5 -5
  2. package/docs/components/base/xt-chart.md +5 -5
  3. package/docs/components/base/xt-line.md +4 -4
  4. package/docs/components/base/xt-multi.md +5 -5
  5. package/docs/components/base/xt-pie.md +5 -5
  6. package/lib/index.common.js +503 -165
  7. package/lib/index.css +1 -1
  8. package/lib/index.umd.js +506 -168
  9. package/lib/index.umd.min.js +1 -1
  10. package/lib/xt-badge/demo.html +10 -0
  11. package/lib/xt-badge/index.js +1 -0
  12. package/lib/xt-badge/xt-badge.common.js +335 -0
  13. package/lib/xt-badge/xt-badge.css +1 -0
  14. package/lib/xt-badge/xt-badge.umd.js +345 -0
  15. package/lib/xt-badge/xt-badge.umd.min.js +1 -0
  16. package/lib/xt-button/demo.html +10 -0
  17. package/lib/xt-button/index.js +1 -0
  18. package/lib/xt-button/xt-button.common.js +331 -0
  19. package/lib/xt-button/xt-button.css +1 -0
  20. package/lib/xt-button/xt-button.umd.js +341 -0
  21. package/lib/xt-button/xt-button.umd.min.js +1 -0
  22. package/lib/xt-card/demo.html +10 -0
  23. package/lib/xt-card/index.js +1 -0
  24. package/lib/xt-card/xt-card.common.js +325 -0
  25. package/lib/xt-card/xt-card.css +1 -0
  26. package/lib/xt-card/xt-card.umd.js +335 -0
  27. package/lib/xt-card/xt-card.umd.min.js +1 -0
  28. package/lib/xt-card-item/demo.html +10 -0
  29. package/lib/xt-card-item/index.js +1 -0
  30. package/lib/xt-card-item/xt-card-item.common.js +291 -0
  31. package/lib/xt-card-item/xt-card-item.css +1 -0
  32. package/lib/xt-card-item/xt-card-item.umd.js +301 -0
  33. package/lib/xt-card-item/xt-card-item.umd.min.js +1 -0
  34. package/lib/xt-chart/demo.html +10 -0
  35. package/lib/xt-chart/index.js +1 -0
  36. package/lib/xt-chart/xt-chart.common.js +109203 -0
  37. package/lib/xt-chart/xt-chart.css +1 -0
  38. package/lib/xt-chart/xt-chart.umd.js +109213 -0
  39. package/lib/xt-chart/xt-chart.umd.min.js +1 -0
  40. package/lib/xt-config-provider/demo.html +10 -0
  41. package/lib/xt-config-provider/index.js +1 -0
  42. package/lib/xt-config-provider/xt-config-provider.common.js +108388 -0
  43. package/lib/xt-config-provider/xt-config-provider.css +1 -0
  44. package/lib/xt-config-provider/xt-config-provider.umd.js +108398 -0
  45. package/lib/xt-config-provider/xt-config-provider.umd.min.js +1 -0
  46. package/lib/xt-date-picker/demo.html +10 -0
  47. package/lib/xt-date-picker/index.js +1 -0
  48. package/lib/xt-date-picker/xt-date-picker.common.js +768 -0
  49. package/lib/xt-date-picker/xt-date-picker.css +1 -0
  50. package/lib/xt-date-picker/xt-date-picker.umd.js +778 -0
  51. package/lib/xt-date-picker/xt-date-picker.umd.min.js +1 -0
  52. package/lib/xt-flex-box/demo.html +10 -0
  53. package/lib/xt-flex-box/index.js +1 -0
  54. package/lib/xt-flex-box/xt-flex-box.common.js +303 -0
  55. package/lib/xt-flex-box/xt-flex-box.css +1 -0
  56. package/lib/xt-flex-box/xt-flex-box.umd.js +313 -0
  57. package/lib/xt-flex-box/xt-flex-box.umd.min.js +1 -0
  58. package/lib/xt-form-schema/demo.html +10 -0
  59. package/lib/xt-form-schema/index.js +1 -0
  60. package/lib/xt-form-schema/xt-form-schema.common.js +510 -0
  61. package/lib/xt-form-schema/xt-form-schema.css +1 -0
  62. package/lib/xt-form-schema/xt-form-schema.umd.js +520 -0
  63. package/lib/xt-form-schema/xt-form-schema.umd.min.js +1 -0
  64. package/lib/xt-grid-box/demo.html +10 -0
  65. package/lib/xt-grid-box/index.js +1 -0
  66. package/lib/xt-grid-box/xt-grid-box.common.js +404 -0
  67. package/lib/xt-grid-box/xt-grid-box.css +1 -0
  68. package/lib/xt-grid-box/xt-grid-box.umd.js +414 -0
  69. package/lib/xt-grid-box/xt-grid-box.umd.min.js +1 -0
  70. package/lib/xt-grid-item/demo.html +10 -0
  71. package/lib/xt-grid-item/index.js +1 -0
  72. package/lib/xt-grid-item/xt-grid-item.common.js +381 -0
  73. package/lib/xt-grid-item/xt-grid-item.css +1 -0
  74. package/lib/xt-grid-item/xt-grid-item.umd.js +391 -0
  75. package/lib/xt-grid-item/xt-grid-item.umd.min.js +1 -0
  76. package/lib/xt-icon/demo.html +10 -0
  77. package/lib/xt-icon/index.js +1 -0
  78. package/lib/xt-icon/xt-icon.common.js +430 -0
  79. package/lib/xt-icon/xt-icon.css +1 -0
  80. package/lib/xt-icon/xt-icon.umd.js +440 -0
  81. package/lib/xt-icon/xt-icon.umd.min.js +1 -0
  82. package/lib/xt-input/demo.html +10 -0
  83. package/lib/xt-input/index.js +1 -0
  84. package/lib/xt-input/xt-input.common.js +584 -0
  85. package/lib/xt-input/xt-input.css +1 -0
  86. package/lib/xt-input/xt-input.umd.js +594 -0
  87. package/lib/xt-input/xt-input.umd.min.js +1 -0
  88. package/lib/xt-list/demo.html +10 -0
  89. package/lib/xt-list/index.js +1 -0
  90. package/lib/xt-list/xt-list.common.js +714 -0
  91. package/lib/xt-list/xt-list.css +1 -0
  92. package/lib/xt-list/xt-list.umd.js +724 -0
  93. package/lib/xt-list/xt-list.umd.min.js +1 -0
  94. package/lib/xt-map/demo.html +10 -0
  95. package/lib/xt-map/index.js +1 -0
  96. package/lib/xt-map/xt-map.common.js +1951 -0
  97. package/lib/xt-map/xt-map.css +1 -0
  98. package/lib/xt-map/xt-map.umd.js +1961 -0
  99. package/lib/xt-map/xt-map.umd.min.js +1 -0
  100. package/lib/xt-map-provider/demo.html +10 -0
  101. package/lib/xt-map-provider/index.js +1 -0
  102. package/lib/xt-map-provider/xt-map-provider.common.js +644 -0
  103. package/lib/xt-map-provider/xt-map-provider.css +1 -0
  104. package/lib/xt-map-provider/xt-map-provider.umd.js +654 -0
  105. package/lib/xt-map-provider/xt-map-provider.umd.min.js +1 -0
  106. package/lib/xt-page/demo.html +10 -0
  107. package/lib/xt-page/index.js +1 -0
  108. package/lib/xt-page/xt-page.common.js +353 -0
  109. package/lib/xt-page/xt-page.css +1 -0
  110. package/lib/xt-page/xt-page.umd.js +363 -0
  111. package/lib/xt-page/xt-page.umd.min.js +1 -0
  112. package/lib/xt-progress/demo.html +10 -0
  113. package/lib/xt-progress/index.js +1 -0
  114. package/lib/xt-progress/xt-progress.common.js +327 -0
  115. package/lib/xt-progress/xt-progress.css +1 -0
  116. package/lib/xt-progress/xt-progress.umd.js +337 -0
  117. package/lib/xt-progress/xt-progress.umd.min.js +1 -0
  118. package/lib/xt-scroll-arrow/demo.html +10 -0
  119. package/lib/xt-scroll-arrow/index.js +1 -0
  120. package/lib/xt-scroll-arrow/xt-scroll-arrow.common.js +495 -0
  121. package/lib/xt-scroll-arrow/xt-scroll-arrow.css +1 -0
  122. package/lib/xt-scroll-arrow/xt-scroll-arrow.umd.js +505 -0
  123. package/lib/xt-scroll-arrow/xt-scroll-arrow.umd.min.js +1 -0
  124. package/lib/xt-select-tree/demo.html +10 -0
  125. package/lib/xt-select-tree/index.js +1 -0
  126. package/lib/xt-select-tree/xt-select-tree.common.js +1791 -0
  127. package/lib/xt-select-tree/xt-select-tree.css +1 -0
  128. package/lib/xt-select-tree/xt-select-tree.umd.js +1801 -0
  129. package/lib/xt-select-tree/xt-select-tree.umd.min.js +1 -0
  130. package/lib/xt-step-price/demo.html +10 -0
  131. package/lib/xt-step-price/index.js +1 -0
  132. package/lib/xt-step-price/xt-step-price.common.js +800 -0
  133. package/lib/xt-step-price/xt-step-price.css +1 -0
  134. package/lib/xt-step-price/xt-step-price.umd.js +810 -0
  135. package/lib/xt-step-price/xt-step-price.umd.min.js +1 -0
  136. package/lib/xt-step-price-item/demo.html +10 -0
  137. package/lib/xt-step-price-item/index.js +1 -0
  138. package/lib/xt-step-price-item/xt-step-price-item.common.js +417 -0
  139. package/lib/xt-step-price-item/xt-step-price-item.umd.js +427 -0
  140. package/lib/xt-step-price-item/xt-step-price-item.umd.min.js +1 -0
  141. package/lib/xt-tab-pane/demo.html +10 -0
  142. package/lib/xt-tab-pane/index.js +1 -0
  143. package/lib/xt-tab-pane/xt-tab-pane.common.js +309 -0
  144. package/lib/xt-tab-pane/xt-tab-pane.umd.js +319 -0
  145. package/lib/xt-tab-pane/xt-tab-pane.umd.min.js +1 -0
  146. package/lib/xt-table/demo.html +10 -0
  147. package/lib/xt-table/index.js +1 -0
  148. package/lib/xt-table/xt-table.common.js +1027 -0
  149. package/lib/xt-table/xt-table.css +1 -0
  150. package/lib/xt-table/xt-table.umd.js +1037 -0
  151. package/lib/xt-table/xt-table.umd.min.js +1 -0
  152. package/lib/xt-tabs/demo.html +10 -0
  153. package/lib/xt-tabs/index.js +1 -0
  154. package/lib/xt-tabs/xt-tabs.common.js +463 -0
  155. package/lib/xt-tabs/xt-tabs.css +1 -0
  156. package/lib/xt-tabs/xt-tabs.umd.js +473 -0
  157. package/lib/xt-tabs/xt-tabs.umd.min.js +1 -0
  158. package/lib/xt-text/demo.html +10 -0
  159. package/lib/xt-text/index.js +1 -0
  160. package/lib/xt-text/xt-text.common.js +536 -0
  161. package/lib/xt-text/xt-text.css +1 -0
  162. package/lib/xt-text/xt-text.umd.js +546 -0
  163. package/lib/xt-text/xt-text.umd.min.js +1 -0
  164. package/lib/xt-time/demo.html +10 -0
  165. package/lib/xt-time/index.js +1 -0
  166. package/lib/xt-time/xt-time.common.js +555 -0
  167. package/lib/xt-time/xt-time.css +1 -0
  168. package/lib/xt-time/xt-time.umd.js +565 -0
  169. package/lib/xt-time/xt-time.umd.min.js +1 -0
  170. package/lib/xt-transfer-tree/demo.html +10 -0
  171. package/lib/xt-transfer-tree/index.js +1 -0
  172. package/lib/xt-transfer-tree/xt-transfer-tree.common.js +594 -0
  173. package/lib/xt-transfer-tree/xt-transfer-tree.css +1 -0
  174. package/lib/xt-transfer-tree/xt-transfer-tree.umd.js +604 -0
  175. package/lib/xt-transfer-tree/xt-transfer-tree.umd.min.js +1 -0
  176. package/lib/xt-upload/demo.html +10 -0
  177. package/lib/xt-upload/index.js +1 -0
  178. package/lib/xt-upload/xt-upload.common.js +1292 -0
  179. package/lib/xt-upload/xt-upload.css +1 -0
  180. package/lib/xt-upload/xt-upload.umd.js +1302 -0
  181. package/lib/xt-upload/xt-upload.umd.min.js +1 -0
  182. package/package.json +10 -7
  183. package/src/components/xt-badge/index.js +8 -7
  184. package/src/components/xt-button/index.js +1 -0
  185. package/src/components/xt-card/index.js +1 -0
  186. package/src/components/xt-card-item/index.js +1 -0
  187. package/src/components/xt-config-provider/index.js +1 -0
  188. package/src/components/xt-flex-box/index.js +1 -0
  189. package/src/components/xt-grid-box/index.js +1 -0
  190. package/src/components/xt-icon/index.js +1 -0
  191. package/src/components/xt-input/index.js +1 -0
  192. package/src/components/xt-map/index.js +1 -0
  193. package/src/components/xt-progress/index.js +8 -7
  194. package/src/components/xt-scroll-arrow/index.js +8 -7
  195. package/src/components/xt-step-price/index.js +1 -0
  196. package/src/components/xt-tab-pane/index.js +10 -0
  197. package/src/components/{xt-tabs/TabPane.vue → xt-tab-pane/index.vue} +14 -1
  198. package/src/components/xt-tabs/index.js +9 -10
  199. package/src/components/xt-tabs/index.vue +303 -44
  200. package/src/components/xt-text/index.js +1 -0
  201. package/src/components/xt-time/index.js +1 -0
  202. package/src/index.js +34 -2
@@ -0,0 +1,714 @@
1
+ module.exports =
2
+ /******/ (function(modules) { // webpackBootstrap
3
+ /******/ // The module cache
4
+ /******/ var installedModules = {};
5
+ /******/
6
+ /******/ // The require function
7
+ /******/ function __webpack_require__(moduleId) {
8
+ /******/
9
+ /******/ // Check if module is in cache
10
+ /******/ if(installedModules[moduleId]) {
11
+ /******/ return installedModules[moduleId].exports;
12
+ /******/ }
13
+ /******/ // Create a new module (and put it into the cache)
14
+ /******/ var module = installedModules[moduleId] = {
15
+ /******/ i: moduleId,
16
+ /******/ l: false,
17
+ /******/ exports: {}
18
+ /******/ };
19
+ /******/
20
+ /******/ // Execute the module function
21
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
22
+ /******/
23
+ /******/ // Flag the module as loaded
24
+ /******/ module.l = true;
25
+ /******/
26
+ /******/ // Return the exports of the module
27
+ /******/ return module.exports;
28
+ /******/ }
29
+ /******/
30
+ /******/
31
+ /******/ // expose the modules object (__webpack_modules__)
32
+ /******/ __webpack_require__.m = modules;
33
+ /******/
34
+ /******/ // expose the module cache
35
+ /******/ __webpack_require__.c = installedModules;
36
+ /******/
37
+ /******/ // define getter function for harmony exports
38
+ /******/ __webpack_require__.d = function(exports, name, getter) {
39
+ /******/ if(!__webpack_require__.o(exports, name)) {
40
+ /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
41
+ /******/ }
42
+ /******/ };
43
+ /******/
44
+ /******/ // define __esModule on exports
45
+ /******/ __webpack_require__.r = function(exports) {
46
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
47
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
48
+ /******/ }
49
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
50
+ /******/ };
51
+ /******/
52
+ /******/ // create a fake namespace object
53
+ /******/ // mode & 1: value is a module id, require it
54
+ /******/ // mode & 2: merge all properties of value into the ns
55
+ /******/ // mode & 4: return value when already ns object
56
+ /******/ // mode & 8|1: behave like require
57
+ /******/ __webpack_require__.t = function(value, mode) {
58
+ /******/ if(mode & 1) value = __webpack_require__(value);
59
+ /******/ if(mode & 8) return value;
60
+ /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
61
+ /******/ var ns = Object.create(null);
62
+ /******/ __webpack_require__.r(ns);
63
+ /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
64
+ /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
65
+ /******/ return ns;
66
+ /******/ };
67
+ /******/
68
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
69
+ /******/ __webpack_require__.n = function(module) {
70
+ /******/ var getter = module && module.__esModule ?
71
+ /******/ function getDefault() { return module['default']; } :
72
+ /******/ function getModuleExports() { return module; };
73
+ /******/ __webpack_require__.d(getter, 'a', getter);
74
+ /******/ return getter;
75
+ /******/ };
76
+ /******/
77
+ /******/ // Object.prototype.hasOwnProperty.call
78
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
79
+ /******/
80
+ /******/ // __webpack_public_path__
81
+ /******/ __webpack_require__.p = "";
82
+ /******/
83
+ /******/
84
+ /******/ // Load entry module and return exports
85
+ /******/ return __webpack_require__(__webpack_require__.s = "fb15");
86
+ /******/ })
87
+ /************************************************************************/
88
+ /******/ ({
89
+
90
+ /***/ "732a":
91
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
92
+
93
+ "use strict";
94
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_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_53c7db00_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("e895");
95
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_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_53c7db00_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_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_53c7db00_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__);
96
+ /* unused harmony reexport * */
97
+
98
+
99
+ /***/ }),
100
+
101
+ /***/ "e895":
102
+ /***/ (function(module, exports, __webpack_require__) {
103
+
104
+ // extracted by mini-css-extract-plugin
105
+
106
+ /***/ }),
107
+
108
+ /***/ "fb15":
109
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
110
+
111
+ "use strict";
112
+ // ESM COMPAT FLAG
113
+ __webpack_require__.r(__webpack_exports__);
114
+
115
+ // EXPORTS
116
+ __webpack_require__.d(__webpack_exports__, "XtList", function() { return /* reexport */ xt_list; });
117
+
118
+ // CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js
119
+ // This file is imported into lib/wc client bundles.
120
+
121
+ if (typeof window !== 'undefined') {
122
+ var currentScript = window.document.currentScript
123
+ if (false) { var getCurrentScript; }
124
+
125
+ var src = currentScript && currentScript.src.match(/(.+\/)[^/]+\.js(\?.*)?$/)
126
+ if (src) {
127
+ __webpack_require__.p = src[1] // eslint-disable-line
128
+ }
129
+ }
130
+
131
+ // Indicate to webpack that this file can be concatenated
132
+ /* harmony default export */ var setPublicPath = (null);
133
+
134
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"b8cd9b04-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/xt-list/index.vue?vue&type=template&id=53c7db00&scoped=true
135
+ var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:"xt-list",class:{ 'xt-list--loading': _vm.loading }},[(_vm.title || _vm.filterable || _vm.sortable || _vm.$slots.toolbar)?_c('div',{staticClass:"xt-list__header"},[(_vm.title)?_c('span',{staticClass:"xt-list__title"},[_vm._v(_vm._s(_vm.title))]):_vm._e(),_c('div',{staticClass:"xt-list__toolbar"},[(_vm.filterable)?_c('div',{staticClass:"xt-list__search"},[_c('el-input',{attrs:{"placeholder":_vm.filterPlaceholder,"size":"small","clearable":"","prefix-icon":"el-icon-search"},on:{"input":_vm.handleSearch},model:{value:(_vm.searchText),callback:function ($$v) {_vm.searchText=$$v},expression:"searchText"}})],1):_vm._e(),(_vm.sortable && _vm.sortBy)?_c('el-button',{attrs:{"size":"small","icon":"el-icon-sort","type":_vm.currentSortOrder ? 'primary' : 'default',"plain":""},on:{"click":_vm.handleSortToggle}},[_vm._v(" "+_vm._s(_vm.sortLabel)+" ")]):_vm._e(),_vm._t("toolbar")],2)]):_vm._e(),_c('div',{ref:"scrollContainer",staticClass:"xt-list__body",style:(_vm.bodyStyle),on:{"scroll":_vm.onScroll}},[(_vm.virtualScroll)?_c('div',{staticClass:"xt-list__phantom",style:({ height: _vm.totalHeight + 'px' })},[_c('div',{style:({ paddingTop: _vm.offsetY + 'px' })},[(_vm.groupedData.length)?[_vm._l((_vm.visibleGroups),function(group,gIdx){return [_c('div',{key:group._key,staticClass:"xt-list__group"},[_c('div',{staticClass:"xt-list__group-title",on:{"click":function($event){return _vm.toggleGroup(group._key)}}},[_c('span',{staticClass:"xt-list__group-arrow",class:{ 'is-expanded': group._expanded }},[_c('i',{staticClass:"el-icon-arrow-right"})]),_vm._t("group-title",function(){return [_c('span',{staticClass:"xt-list__group-label"},[_vm._v(_vm._s(_vm.getGroupLabel(group)))]),_c('span',{staticClass:"xt-list__group-count"},[_vm._v("("+_vm._s(group._items.length)+")")])]},{"group":group,"items":group._items,"expanded":group._expanded})],2),(group._expanded)?_c('div',{class:['xt-list__cards', 'xt-list__cols-' + _vm.columns]},_vm._l((_vm.getVisibleItems(group)),function(item,idx){return _c('div',{key:item._id || idx,staticClass:"xt-list__item",on:{"click":function($event){return _vm.handleItemClick(item, group._key)}}},[_c('el-card',{attrs:{"shadow":_vm.shadow,"body-style":_vm.cardBodyStyle}},[_vm._t("default",function(){return [(_vm.getImage(item))?_c('div',{staticClass:"xt-list__image"},[_c('img',{attrs:{"src":_vm.getImage(item),"alt":_vm.getConfigValue(_vm.cardConfig.title, item)}})]):_vm._e(),(_vm.getTag(item))?_c('div',{staticClass:"xt-list__tag"},[_c('el-tag',{attrs:{"size":"small","type":_vm.getTagType(item)}},[_vm._v(_vm._s(_vm.getTag(item)))])],1):_vm._e(),(_vm.getConfigValue(_vm.cardConfig.title, item))?_c('div',{staticClass:"xt-list__card-title"},[_vm._v(" "+_vm._s(_vm.getConfigValue(_vm.cardConfig.title, item))+" ")]):_vm._e(),(_vm.getConfigValue(_vm.cardConfig.subtitle, item))?_c('div',{staticClass:"xt-list__card-subtitle"},[_vm._v(" "+_vm._s(_vm.getConfigValue(_vm.cardConfig.subtitle, item))+" ")]):_vm._e(),(_vm.getConfigValue(_vm.cardConfig.content, item))?_c('div',{staticClass:"xt-list__card-content"},[_vm._v(" "+_vm._s(_vm.getConfigValue(_vm.cardConfig.content, item))+" ")]):_vm._e(),(_vm.getConfigValue(_vm.cardConfig.footer, item))?_c('div',{staticClass:"xt-list__card-footer"},[_vm._t("card-footer",function(){return [_vm._v(" "+_vm._s(_vm.getConfigValue(_vm.cardConfig.footer, item))+" ")]},{"item":item,"index":_vm.getItemIndex(item, group)})],2):_vm._e()]},{"item":item,"index":_vm.getItemIndex(item, group),"group":group})],2)],1)}),0):_vm._e()])]})]:(!_vm.loading)?_c('div',{staticClass:"xt-list__empty"},[_vm._t("empty",function(){return [_c('span',[_vm._v(_vm._s(_vm.emptyText))])]})],2):_vm._e()],2)]):(_vm.groupedData.length)?[_vm._l((_vm.groupedData),function(group){return [_c('div',{key:group._key,staticClass:"xt-list__group"},[_c('div',{staticClass:"xt-list__group-title",on:{"click":function($event){return _vm.toggleGroup(group._key)}}},[_c('span',{staticClass:"xt-list__group-arrow",class:{ 'is-expanded': group._expanded }},[_c('i',{staticClass:"el-icon-arrow-right"})]),_vm._t("group-title",function(){return [_c('span',{staticClass:"xt-list__group-label"},[_vm._v(_vm._s(_vm.getGroupLabel(group)))]),_c('span',{staticClass:"xt-list__group-count"},[_vm._v("("+_vm._s(group._items.length)+")")])]},{"group":group,"items":group._items,"expanded":group._expanded})],2),(group._expanded)?_c('div',{class:['xt-list__cards', 'xt-list__cols-' + _vm.columns]},_vm._l((group._items),function(item,idx){return _c('div',{key:item._id || idx,staticClass:"xt-list__item",on:{"click":function($event){return _vm.handleItemClick(item, group._key)}}},[_c('el-card',{attrs:{"shadow":_vm.shadow,"body-style":_vm.cardBodyStyle}},[_vm._t("default",function(){return [(_vm.getImage(item))?_c('div',{staticClass:"xt-list__image"},[_c('img',{attrs:{"src":_vm.getImage(item),"alt":_vm.getConfigValue(_vm.cardConfig.title, item)}})]):_vm._e(),(_vm.getTag(item))?_c('div',{staticClass:"xt-list__tag"},[_c('el-tag',{attrs:{"size":"small","type":_vm.getTagType(item)}},[_vm._v(_vm._s(_vm.getTag(item)))])],1):_vm._e(),(_vm.getConfigValue(_vm.cardConfig.title, item))?_c('div',{staticClass:"xt-list__card-title"},[_vm._v(" "+_vm._s(_vm.getConfigValue(_vm.cardConfig.title, item))+" ")]):_vm._e(),(_vm.getConfigValue(_vm.cardConfig.subtitle, item))?_c('div',{staticClass:"xt-list__card-subtitle"},[_vm._v(" "+_vm._s(_vm.getConfigValue(_vm.cardConfig.subtitle, item))+" ")]):_vm._e(),(_vm.getConfigValue(_vm.cardConfig.content, item))?_c('div',{staticClass:"xt-list__card-content"},[_vm._v(" "+_vm._s(_vm.getConfigValue(_vm.cardConfig.content, item))+" ")]):_vm._e(),(_vm.getConfigValue(_vm.cardConfig.footer, item))?_c('div',{staticClass:"xt-list__card-footer"},[_vm._t("card-footer",function(){return [_vm._v(" "+_vm._s(_vm.getConfigValue(_vm.cardConfig.footer, item))+" ")]},{"item":item,"index":idx})],2):_vm._e()]},{"item":item,"index":idx,"group":group})],2)],1)}),0):_vm._e()])]})]:(!_vm.loading)?_c('div',{staticClass:"xt-list__empty"},[_vm._t("empty",function(){return [_c('span',[_vm._v(_vm._s(_vm.emptyText))])]})],2):_vm._e(),(_vm.loadMore && _vm.hasMore && !_vm.loading)?_c('div',{staticClass:"xt-list__loadmore"},[_c('el-button',{attrs:{"type":"text","loading":_vm.loadMoreLoading},on:{"click":_vm.handleLoadMore}},[_vm._v(" "+_vm._s(_vm.loadMoreText)+" ")])],1):_vm._e()],2),(_vm.loading)?_c('div',{staticClass:"xt-list__loading"},[_vm._t("loading",function(){return [_c('i',{staticClass:"el-icon-loading"}),_c('span',[_vm._v("加载中...")])]})],2):_vm._e(),(_vm.showPagination)?_c('div',{staticClass:"xt-list__footer"},[_c('el-pagination',{attrs:{"background":"","small":"","current-page":_vm.pagination.pageNum,"page-size":_vm.pagination.pageSize,"total":_vm.total,"page-sizes":_vm.pagination.pageSizes || [10, 20, 50],"layout":"total, prev, pager, next"},on:{"size-change":_vm.handleSizeChange,"current-change":_vm.handleCurrentChange}})],1):_vm._e()])
136
+ }
137
+ var staticRenderFns = []
138
+
139
+
140
+ // CONCATENATED MODULE: ./src/components/xt-list/index.vue?vue&type=template&id=53c7db00&scoped=true
141
+
142
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/xt-list/index.vue?vue&type=script&lang=js
143
+
144
+ const CARD_ITEM_HEIGHT = 160
145
+ const GROUP_HEADER_HEIGHT = 44
146
+
147
+ /* harmony default export */ var xt_listvue_type_script_lang_js = ({
148
+ name: 'XtList',
149
+
150
+ props: {
151
+ data: { type: Array, default: () => [] },
152
+ // 分组配置
153
+ groupBy: { type: String, default: '' },
154
+ groupLabel: { type: [String, Function], default: '' },
155
+ // 卡片配置
156
+ cardConfig: {
157
+ type: Object,
158
+ default: () => ({
159
+ title: 'title',
160
+ subtitle: '',
161
+ content: '',
162
+ image: '',
163
+ tag: '',
164
+ tagType: '',
165
+ footer: ''
166
+ })
167
+ },
168
+ // 显示配置
169
+ title: { type: String, default: '' },
170
+ columns: { type: Number, default: 1 },
171
+ shadow: { type: String, default: 'hover' },
172
+ cardBodyStyle: { type: Object, default: () => ({}) },
173
+ // 虚拟滚动
174
+ virtualScroll: { type: Boolean, default: false },
175
+ itemHeight: { type: Number, default: CARD_ITEM_HEIGHT },
176
+ bufferSize: { type: Number, default: 3 },
177
+ height: { type: [Number, String], default: null },
178
+ maxHeight: { type: [Number, String], default: null },
179
+ // 分组折叠
180
+ expandAll: { type: Boolean, default: true },
181
+ accordion: { type: Boolean, default: false },
182
+ // 分页
183
+ pagination: { type: Object, default: null },
184
+ total: { type: Number, default: 0 },
185
+ // 加载更多
186
+ loadMore: { type: Boolean, default: false },
187
+ hasMore: { type: Boolean, default: false },
188
+ loadMoreText: { type: String, default: '加载更多' },
189
+ loadMoreLoading: { type: Boolean, default: false },
190
+ // 状态
191
+ loading: { type: Boolean, default: false },
192
+ emptyText: { type: String, default: '暂无数据' },
193
+ // 搜索筛选
194
+ filterable: { type: Boolean, default: false },
195
+ filterPlaceholder: { type: String, default: '请输入搜索内容' },
196
+ filterMethod: { type: Function, default: null },
197
+ // 排序
198
+ sortable: { type: Boolean, default: false },
199
+ sortBy: { type: String, default: '' },
200
+ sortOrder: { type: String, default: '' },
201
+ sortMethod: { type: Function, default: null }
202
+ },
203
+
204
+ data() {
205
+ return {
206
+ groupExpandState: {},
207
+ scrollTop: 0,
208
+ containerHeight: 0,
209
+ resizeObserver: null,
210
+ rafId: null,
211
+ searchText: '',
212
+ currentSortOrder: this.sortOrder || ''
213
+ }
214
+ },
215
+
216
+ computed: {
217
+ showPagination() {
218
+ return this.pagination && this.total > 0
219
+ },
220
+ sortLabel() {
221
+ if (!this.currentSortOrder) return '排序'
222
+ return this.currentSortOrder === 'ascending' ? '升序' : '降序'
223
+ },
224
+ bodyStyle() {
225
+ const style = {}
226
+ if (this.height) {
227
+ style.height = typeof this.height === 'number' ? this.height + 'px' : this.height
228
+ }
229
+ if (this.maxHeight) {
230
+ style.maxHeight = typeof this.maxHeight === 'number' ? this.maxHeight + 'px' : this.maxHeight
231
+ }
232
+ if (this.virtualScroll) {
233
+ style.overflowY = 'auto'
234
+ style.overflowX = 'hidden'
235
+ }
236
+ return style
237
+ },
238
+
239
+ // 筛选后的数据
240
+ filteredData() {
241
+ if (!this.filterable || !this.searchText) return this.data
242
+ return this.data.filter(item => {
243
+ if (typeof this.filterMethod === 'function') {
244
+ return this.filterMethod(item, this.searchText)
245
+ }
246
+ return Object.values(item).some(val => {
247
+ if (val == null) return false
248
+ return String(val).toLowerCase().includes(this.searchText.toLowerCase())
249
+ })
250
+ })
251
+ },
252
+
253
+ // 排序后的数据
254
+ sortedData() {
255
+ if (!this.sortable || !this.sortBy || !this.currentSortOrder) return this.filteredData
256
+ const order = this.currentSortOrder === 'ascending' ? 1 : -1
257
+ const sortFn = typeof this.sortMethod === 'function'
258
+ ? this.sortMethod
259
+ : (a, b) => {
260
+ const va = a[this.sortBy]
261
+ const vb = b[this.sortBy]
262
+ if (va == null && vb == null) return 0
263
+ if (va == null) return -1
264
+ if (vb == null) return 1
265
+ if (typeof va === 'number' && typeof vb === 'number') return va - vb
266
+ return String(va).localeCompare(String(vb), undefined, { numeric: true })
267
+ }
268
+ return [...this.filteredData].sort((a, b) => sortFn(a, b) * order)
269
+ },
270
+
271
+ // 分组后的数据
272
+ groupedData() {
273
+ const source = this.sortedData
274
+ if (!source || !source.length) return []
275
+
276
+ if (!this.groupBy) {
277
+ return [{
278
+ _key: '_default',
279
+ _items: source.map((item, idx) => ({ ...item, _id: item._id || `item_${idx}` })),
280
+ _expanded: true
281
+ }]
282
+ }
283
+
284
+ const groups = {}
285
+ source.forEach((item, idx) => {
286
+ const value = item[this.groupBy]
287
+ const key = value != null ? String(value) : '_undefined'
288
+ if (!groups[key]) {
289
+ groups[key] = {
290
+ _key: key,
291
+ _value: value,
292
+ _items: []
293
+ }
294
+ }
295
+ groups[key]._items.push({ ...item, _id: item._id || `item_${idx}` })
296
+ })
297
+
298
+ const result = Object.keys(groups).sort().map(key => {
299
+ const g = groups[key]
300
+ g._expanded = this.groupExpandState[key] !== undefined ? this.groupExpandState[key] : this.expandAll
301
+ return g
302
+ })
303
+
304
+ return result
305
+ },
306
+
307
+ // 虚拟滚动:总高度
308
+ totalHeight() {
309
+ if (!this.virtualScroll) return 0
310
+ let height = 0
311
+ this.groupedData.forEach(group => {
312
+ height += GROUP_HEADER_HEIGHT
313
+ if (group._expanded) {
314
+ const rows = Math.ceil(group._items.length / this.columns)
315
+ height += rows * this.itemHeight
316
+ }
317
+ })
318
+ return height
319
+ },
320
+
321
+ // 虚拟滚动:可见分组
322
+ visibleGroups() {
323
+ if (!this.virtualScroll) return this.groupedData
324
+
325
+ const start = Math.max(0, this.scrollTop - this.bufferSize * this.itemHeight)
326
+ const end = start + this.containerHeight + this.bufferSize * this.itemHeight * 2
327
+ const visible = []
328
+ let currentTop = 0
329
+
330
+ this.groupedData.forEach(group => {
331
+ const groupHeight = GROUP_HEADER_HEIGHT +
332
+ (group._expanded ? Math.ceil(group._items.length / this.columns) * this.itemHeight : 0)
333
+ const groupEnd = currentTop + groupHeight
334
+
335
+ if (groupEnd >= start && currentTop <= end) {
336
+ visible.push(group)
337
+ }
338
+ currentTop = groupEnd
339
+ })
340
+
341
+ return visible
342
+ },
343
+
344
+ // 虚拟滚动:偏移量
345
+ offsetY() {
346
+ if (!this.virtualScroll) return 0
347
+ let offset = 0
348
+ const start = Math.max(0, this.scrollTop - this.bufferSize * this.itemHeight)
349
+
350
+ for (let i = 0; i < this.groupedData.length; i++) {
351
+ const group = this.groupedData[i]
352
+ const h = GROUP_HEADER_HEIGHT +
353
+ (group._expanded ? Math.ceil(group._items.length / this.columns) * this.itemHeight : 0)
354
+ if (offset + h <= start) {
355
+ offset += h
356
+ } else {
357
+ break
358
+ }
359
+ }
360
+ return offset
361
+ }
362
+ },
363
+
364
+ watch: {
365
+ data: {
366
+ handler() {
367
+ this.$nextTick(() => {
368
+ this.updateContainerHeight()
369
+ })
370
+ }
371
+ },
372
+ expandAll(val) {
373
+ const state = {}
374
+ this.groupedData.forEach(g => { state[g._key] = val })
375
+ this.groupExpandState = state
376
+ }
377
+ },
378
+
379
+ mounted() {
380
+ this.$nextTick(() => {
381
+ this.updateContainerHeight()
382
+ this.bindResizeObserver()
383
+ })
384
+ },
385
+
386
+ beforeDestroy() {
387
+ this.unbindResizeObserver()
388
+ if (this.rafId && typeof cancelAnimationFrame !== 'undefined') {
389
+ cancelAnimationFrame(this.rafId)
390
+ this.rafId = null
391
+ }
392
+ },
393
+
394
+ methods: {
395
+ // ========== 分组展开/折叠 ==========
396
+ toggleGroup(key) {
397
+ const newState = { ...this.groupExpandState }
398
+ const current = newState[key] !== undefined ? newState[key] : this.expandAll
399
+
400
+ if (this.accordion && !current) {
401
+ Object.keys(newState).forEach(k => { newState[k] = false })
402
+ }
403
+ newState[key] = !current
404
+ this.groupExpandState = newState
405
+
406
+ this.$nextTick(() => {
407
+ this.updateContainerHeight()
408
+ this.$emit('group-toggle', { key, expanded: newState[key] })
409
+ })
410
+ },
411
+
412
+ getGroupLabel(group) {
413
+ if (this.groupLabel === '') return group._value
414
+ if (typeof this.groupLabel === 'function') return this.groupLabel(group)
415
+ if (typeof this.groupLabel === 'string' && group._items[0]) {
416
+ return group._items[0][this.groupLabel] || group._value
417
+ }
418
+ return group._value
419
+ },
420
+
421
+ // ========== 卡片配置解析 ==========
422
+ getConfigValue(config, item) {
423
+ if (!config) return ''
424
+ if (typeof config === 'function') return config(item)
425
+ if (typeof config === 'string') return item[config] || ''
426
+ return ''
427
+ },
428
+
429
+ getImage(item) {
430
+ return this.getConfigValue(this.cardConfig.image, item)
431
+ },
432
+
433
+ getTag(item) {
434
+ return this.getConfigValue(this.cardConfig.tag, item)
435
+ },
436
+
437
+ getTagType(item) {
438
+ if (this.cardConfig.tagType) {
439
+ if (typeof this.cardConfig.tagType === 'function') return this.cardConfig.tagType(item)
440
+ return this.cardConfig.tagType
441
+ }
442
+ return ''
443
+ },
444
+
445
+ // ========== 虚拟滚动 ==========
446
+ getVisibleItems(group) {
447
+ if (!this.virtualScroll) return group._items
448
+
449
+ const bufferPx = this.bufferSize * this.itemHeight
450
+ const start = Math.max(0, this.scrollTop - bufferPx)
451
+ const end = start + this.containerHeight + bufferPx * 2
452
+
453
+ let currentTop = 0
454
+ let groupStart = 0
455
+ for (let i = 0; i < this.groupedData.length; i++) {
456
+ const g = this.groupedData[i]
457
+ if (g._key === group._key) {
458
+ groupStart = currentTop + GROUP_HEADER_HEIGHT
459
+ break
460
+ }
461
+ currentTop += GROUP_HEADER_HEIGHT +
462
+ (g._expanded ? Math.ceil(g._items.length / this.columns) * this.itemHeight : 0)
463
+ }
464
+
465
+ const groupEnd = groupStart + Math.ceil(group._items.length / this.columns) * this.itemHeight
466
+
467
+ if (groupEnd <= start || groupStart >= end) return []
468
+
469
+ const visibleStart = Math.max(0, Math.floor((start - groupStart) / this.itemHeight) * this.columns)
470
+ const visibleEnd = Math.min(group._items.length, Math.ceil((end - groupStart) / this.itemHeight) * this.columns + bufferPx)
471
+
472
+ return group._items.slice(Math.max(0, visibleStart), visibleEnd)
473
+ },
474
+
475
+ getItemIndex(item, group) {
476
+ return group._items.indexOf(item)
477
+ },
478
+
479
+ onScroll() {
480
+ if (!this.virtualScroll) return
481
+ this.scrollTop = this.$refs.scrollContainer.scrollTop
482
+ if (this.rafId) return
483
+ if (typeof requestAnimationFrame === 'undefined') return
484
+ this.rafId = requestAnimationFrame(() => {
485
+ this.$forceUpdate()
486
+ this.rafId = null
487
+ })
488
+ },
489
+
490
+ updateContainerHeight() {
491
+ if (this.$refs.scrollContainer) {
492
+ this.containerHeight = this.$refs.scrollContainer.clientHeight
493
+ }
494
+ },
495
+
496
+ bindResizeObserver() {
497
+ if (typeof ResizeObserver === 'undefined') return
498
+ const container = this.$refs.scrollContainer
499
+ if (!container) return
500
+ this.resizeObserver = new ResizeObserver(() => {
501
+ this.updateContainerHeight()
502
+ })
503
+ this.resizeObserver.observe(container)
504
+ },
505
+
506
+ unbindResizeObserver() {
507
+ if (this.resizeObserver) {
508
+ this.resizeObserver.disconnect()
509
+ this.resizeObserver = null
510
+ }
511
+ },
512
+
513
+ // ========== 事件处理 ==========
514
+ handleSearch() {
515
+ this.$emit('search', this.searchText)
516
+ },
517
+
518
+ handleSortToggle() {
519
+ const orders = ['', 'ascending', 'descending']
520
+ const idx = orders.indexOf(this.currentSortOrder)
521
+ this.currentSortOrder = orders[(idx + 1) % 3]
522
+ this.$emit('sort-change', { prop: this.sortBy, order: this.currentSortOrder })
523
+ },
524
+
525
+ handleItemClick(item, groupKey) {
526
+ this.$emit('click-item', { item, groupKey })
527
+ },
528
+
529
+ handleLoadMore() {
530
+ this.$emit('load-more')
531
+ },
532
+
533
+ handleSizeChange(size) {
534
+ this.$emit('size-change', size)
535
+ },
536
+
537
+ handleCurrentChange(page) {
538
+ this.$emit('page-change', page)
539
+ },
540
+
541
+ // ========== 对外暴露方法 ==========
542
+ scrollToTop() {
543
+ if (this.$refs.scrollContainer) {
544
+ this.$refs.scrollContainer.scrollTo({ top: 0, behavior: 'smooth' })
545
+ }
546
+ },
547
+
548
+ expandGroup(key) {
549
+ const newState = { ...this.groupExpandState }
550
+ newState[key] = true
551
+ this.groupExpandState = newState
552
+ },
553
+
554
+ collapseGroup(key) {
555
+ const newState = { ...this.groupExpandState }
556
+ newState[key] = false
557
+ this.groupExpandState = newState
558
+ },
559
+
560
+ collapseAll() {
561
+ const newState = {}
562
+ this.groupedData.forEach(g => { newState[g._key] = false })
563
+ this.groupExpandState = newState
564
+ },
565
+
566
+ expandAllGroups() {
567
+ this.groupExpandState = {}
568
+ }
569
+ }
570
+ });
571
+
572
+ // CONCATENATED MODULE: ./src/components/xt-list/index.vue?vue&type=script&lang=js
573
+ /* harmony default export */ var components_xt_listvue_type_script_lang_js = (xt_listvue_type_script_lang_js);
574
+ // EXTERNAL MODULE: ./src/components/xt-list/index.vue?vue&type=style&index=0&id=53c7db00&prod&scoped=true&lang=css
575
+ var xt_listvue_type_style_index_0_id_53c7db00_prod_scoped_true_lang_css = __webpack_require__("732a");
576
+
577
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
578
+ /* globals __VUE_SSR_CONTEXT__ */
579
+
580
+ // IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
581
+ // This module is a runtime utility for cleaner component module output and will
582
+ // be included in the final webpack user bundle.
583
+
584
+ function normalizeComponent(
585
+ scriptExports,
586
+ render,
587
+ staticRenderFns,
588
+ functionalTemplate,
589
+ injectStyles,
590
+ scopeId,
591
+ moduleIdentifier /* server only */,
592
+ shadowMode /* vue-cli only */
593
+ ) {
594
+ // Vue.extend constructor export interop
595
+ var options =
596
+ typeof scriptExports === 'function' ? scriptExports.options : scriptExports
597
+
598
+ // render functions
599
+ if (render) {
600
+ options.render = render
601
+ options.staticRenderFns = staticRenderFns
602
+ options._compiled = true
603
+ }
604
+
605
+ // functional template
606
+ if (functionalTemplate) {
607
+ options.functional = true
608
+ }
609
+
610
+ // scopedId
611
+ if (scopeId) {
612
+ options._scopeId = 'data-v-' + scopeId
613
+ }
614
+
615
+ var hook
616
+ if (moduleIdentifier) {
617
+ // server build
618
+ hook = function (context) {
619
+ // 2.3 injection
620
+ context =
621
+ context || // cached call
622
+ (this.$vnode && this.$vnode.ssrContext) || // stateful
623
+ (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
624
+ // 2.2 with runInNewContext: true
625
+ if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
626
+ context = __VUE_SSR_CONTEXT__
627
+ }
628
+ // inject component styles
629
+ if (injectStyles) {
630
+ injectStyles.call(this, context)
631
+ }
632
+ // register component module identifier for async chunk inferrence
633
+ if (context && context._registeredComponents) {
634
+ context._registeredComponents.add(moduleIdentifier)
635
+ }
636
+ }
637
+ // used by ssr in case component is cached and beforeCreate
638
+ // never gets called
639
+ options._ssrRegister = hook
640
+ } else if (injectStyles) {
641
+ hook = shadowMode
642
+ ? function () {
643
+ injectStyles.call(
644
+ this,
645
+ (options.functional ? this.parent : this).$root.$options.shadowRoot
646
+ )
647
+ }
648
+ : injectStyles
649
+ }
650
+
651
+ if (hook) {
652
+ if (options.functional) {
653
+ // for template-only hot-reload because in that case the render fn doesn't
654
+ // go through the normalizer
655
+ options._injectStyles = hook
656
+ // register for functional component in vue file
657
+ var originalRender = options.render
658
+ options.render = function renderWithStyleInjection(h, context) {
659
+ hook.call(context)
660
+ return originalRender(h, context)
661
+ }
662
+ } else {
663
+ // inject component registration as beforeCreate hook
664
+ var existing = options.beforeCreate
665
+ options.beforeCreate = existing ? [].concat(existing, hook) : [hook]
666
+ }
667
+ }
668
+
669
+ return {
670
+ exports: scriptExports,
671
+ options: options
672
+ }
673
+ }
674
+
675
+ // CONCATENATED MODULE: ./src/components/xt-list/index.vue
676
+
677
+
678
+
679
+
680
+
681
+
682
+ /* normalize component */
683
+
684
+ var component = normalizeComponent(
685
+ components_xt_listvue_type_script_lang_js,
686
+ render,
687
+ staticRenderFns,
688
+ false,
689
+ null,
690
+ "53c7db00",
691
+ null
692
+
693
+ )
694
+
695
+ /* harmony default export */ var xt_list = (component.exports);
696
+ // CONCATENATED MODULE: ./src/components/xt-list/index.js
697
+
698
+
699
+ xt_list.install = function (Vue) {
700
+ Vue.component(xt_list.name, xt_list)
701
+ }
702
+
703
+ /* harmony default export */ var components_xt_list = (xt_list);
704
+
705
+ // CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js
706
+
707
+
708
+ /* harmony default export */ var entry_lib = __webpack_exports__["default"] = (components_xt_list);
709
+
710
+
711
+
712
+ /***/ })
713
+
714
+ /******/ });