xt-element-ui 2.1.72 → 2.2.1

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 (194) hide show
  1. package/lib/index.common.js +267 -61
  2. package/lib/index.css +1 -1
  3. package/lib/index.umd.js +267 -61
  4. package/lib/index.umd.min.js +1 -1
  5. package/lib/xt-badge/demo.html +10 -0
  6. package/lib/xt-badge/index.js +1 -0
  7. package/lib/xt-badge/xt-badge.common.js +335 -0
  8. package/lib/xt-badge/xt-badge.css +1 -0
  9. package/lib/xt-badge/xt-badge.umd.js +345 -0
  10. package/lib/xt-badge/xt-badge.umd.min.js +1 -0
  11. package/lib/xt-button/demo.html +10 -0
  12. package/lib/xt-button/index.js +1 -0
  13. package/lib/xt-button/xt-button.common.js +331 -0
  14. package/lib/xt-button/xt-button.css +1 -0
  15. package/lib/xt-button/xt-button.umd.js +341 -0
  16. package/lib/xt-button/xt-button.umd.min.js +1 -0
  17. package/lib/xt-card/demo.html +10 -0
  18. package/lib/xt-card/index.js +1 -0
  19. package/lib/xt-card/xt-card.common.js +325 -0
  20. package/lib/xt-card/xt-card.css +1 -0
  21. package/lib/xt-card/xt-card.umd.js +335 -0
  22. package/lib/xt-card/xt-card.umd.min.js +1 -0
  23. package/lib/xt-card-item/demo.html +10 -0
  24. package/lib/xt-card-item/index.js +1 -0
  25. package/lib/xt-card-item/xt-card-item.common.js +291 -0
  26. package/lib/xt-card-item/xt-card-item.css +1 -0
  27. package/lib/xt-card-item/xt-card-item.umd.js +301 -0
  28. package/lib/xt-card-item/xt-card-item.umd.min.js +1 -0
  29. package/lib/xt-chart/demo.html +10 -0
  30. package/lib/xt-chart/index.js +1 -0
  31. package/lib/xt-chart/xt-chart.common.js +109203 -0
  32. package/lib/xt-chart/xt-chart.css +1 -0
  33. package/lib/xt-chart/xt-chart.umd.js +109213 -0
  34. package/lib/xt-chart/xt-chart.umd.min.js +1 -0
  35. package/lib/xt-config-provider/demo.html +10 -0
  36. package/lib/xt-config-provider/index.js +1 -0
  37. package/lib/xt-config-provider/xt-config-provider.common.js +108388 -0
  38. package/lib/xt-config-provider/xt-config-provider.css +1 -0
  39. package/lib/xt-config-provider/xt-config-provider.umd.js +108398 -0
  40. package/lib/xt-config-provider/xt-config-provider.umd.min.js +1 -0
  41. package/lib/xt-date-picker/demo.html +10 -0
  42. package/lib/xt-date-picker/index.js +1 -0
  43. package/lib/xt-date-picker/xt-date-picker.common.js +768 -0
  44. package/lib/xt-date-picker/xt-date-picker.css +1 -0
  45. package/lib/xt-date-picker/xt-date-picker.umd.js +778 -0
  46. package/lib/xt-date-picker/xt-date-picker.umd.min.js +1 -0
  47. package/lib/xt-flex-box/demo.html +10 -0
  48. package/lib/xt-flex-box/index.js +1 -0
  49. package/lib/xt-flex-box/xt-flex-box.common.js +303 -0
  50. package/lib/xt-flex-box/xt-flex-box.css +1 -0
  51. package/lib/xt-flex-box/xt-flex-box.umd.js +313 -0
  52. package/lib/xt-flex-box/xt-flex-box.umd.min.js +1 -0
  53. package/lib/xt-form-schema/demo.html +10 -0
  54. package/lib/xt-form-schema/index.js +1 -0
  55. package/lib/xt-form-schema/xt-form-schema.common.js +510 -0
  56. package/lib/xt-form-schema/xt-form-schema.css +1 -0
  57. package/lib/xt-form-schema/xt-form-schema.umd.js +520 -0
  58. package/lib/xt-form-schema/xt-form-schema.umd.min.js +1 -0
  59. package/lib/xt-grid-box/demo.html +10 -0
  60. package/lib/xt-grid-box/index.js +1 -0
  61. package/lib/xt-grid-box/xt-grid-box.common.js +404 -0
  62. package/lib/xt-grid-box/xt-grid-box.css +1 -0
  63. package/lib/xt-grid-box/xt-grid-box.umd.js +414 -0
  64. package/lib/xt-grid-box/xt-grid-box.umd.min.js +1 -0
  65. package/lib/xt-grid-item/demo.html +10 -0
  66. package/lib/xt-grid-item/index.js +1 -0
  67. package/lib/xt-grid-item/xt-grid-item.common.js +381 -0
  68. package/lib/xt-grid-item/xt-grid-item.css +1 -0
  69. package/lib/xt-grid-item/xt-grid-item.umd.js +391 -0
  70. package/lib/xt-grid-item/xt-grid-item.umd.min.js +1 -0
  71. package/lib/xt-icon/demo.html +10 -0
  72. package/lib/xt-icon/index.js +1 -0
  73. package/lib/xt-icon/xt-icon.common.js +430 -0
  74. package/lib/xt-icon/xt-icon.css +1 -0
  75. package/lib/xt-icon/xt-icon.umd.js +440 -0
  76. package/lib/xt-icon/xt-icon.umd.min.js +1 -0
  77. package/lib/xt-input/demo.html +10 -0
  78. package/lib/xt-input/index.js +1 -0
  79. package/lib/xt-input/xt-input.common.js +584 -0
  80. package/lib/xt-input/xt-input.css +1 -0
  81. package/lib/xt-input/xt-input.umd.js +594 -0
  82. package/lib/xt-input/xt-input.umd.min.js +1 -0
  83. package/lib/xt-list/demo.html +10 -0
  84. package/lib/xt-list/index.js +1 -0
  85. package/lib/xt-list/xt-list.common.js +714 -0
  86. package/lib/xt-list/xt-list.css +1 -0
  87. package/lib/xt-list/xt-list.umd.js +724 -0
  88. package/lib/xt-list/xt-list.umd.min.js +1 -0
  89. package/lib/xt-map/demo.html +10 -0
  90. package/lib/xt-map/index.js +1 -0
  91. package/lib/xt-map/xt-map.common.js +1951 -0
  92. package/lib/xt-map/xt-map.css +1 -0
  93. package/lib/xt-map/xt-map.umd.js +1961 -0
  94. package/lib/xt-map/xt-map.umd.min.js +1 -0
  95. package/lib/xt-map-provider/demo.html +10 -0
  96. package/lib/xt-map-provider/index.js +1 -0
  97. package/lib/xt-map-provider/xt-map-provider.common.js +644 -0
  98. package/lib/xt-map-provider/xt-map-provider.css +1 -0
  99. package/lib/xt-map-provider/xt-map-provider.umd.js +654 -0
  100. package/lib/xt-map-provider/xt-map-provider.umd.min.js +1 -0
  101. package/lib/xt-page/demo.html +10 -0
  102. package/lib/xt-page/index.js +1 -0
  103. package/lib/xt-page/xt-page.common.js +353 -0
  104. package/lib/xt-page/xt-page.css +1 -0
  105. package/lib/xt-page/xt-page.umd.js +363 -0
  106. package/lib/xt-page/xt-page.umd.min.js +1 -0
  107. package/lib/xt-progress/demo.html +10 -0
  108. package/lib/xt-progress/index.js +1 -0
  109. package/lib/xt-progress/xt-progress.common.js +327 -0
  110. package/lib/xt-progress/xt-progress.css +1 -0
  111. package/lib/xt-progress/xt-progress.umd.js +337 -0
  112. package/lib/xt-progress/xt-progress.umd.min.js +1 -0
  113. package/lib/xt-scroll-arrow/demo.html +10 -0
  114. package/lib/xt-scroll-arrow/index.js +1 -0
  115. package/lib/xt-scroll-arrow/xt-scroll-arrow.common.js +495 -0
  116. package/lib/xt-scroll-arrow/xt-scroll-arrow.css +1 -0
  117. package/lib/xt-scroll-arrow/xt-scroll-arrow.umd.js +505 -0
  118. package/lib/xt-scroll-arrow/xt-scroll-arrow.umd.min.js +1 -0
  119. package/lib/xt-select-tree/demo.html +10 -0
  120. package/lib/xt-select-tree/index.js +1 -0
  121. package/lib/xt-select-tree/xt-select-tree.common.js +1791 -0
  122. package/lib/xt-select-tree/xt-select-tree.css +1 -0
  123. package/lib/xt-select-tree/xt-select-tree.umd.js +1801 -0
  124. package/lib/xt-select-tree/xt-select-tree.umd.min.js +1 -0
  125. package/lib/xt-step-price/demo.html +10 -0
  126. package/lib/xt-step-price/index.js +1 -0
  127. package/lib/xt-step-price/xt-step-price.common.js +800 -0
  128. package/lib/xt-step-price/xt-step-price.css +1 -0
  129. package/lib/xt-step-price/xt-step-price.umd.js +810 -0
  130. package/lib/xt-step-price/xt-step-price.umd.min.js +1 -0
  131. package/lib/xt-step-price-item/demo.html +10 -0
  132. package/lib/xt-step-price-item/index.js +1 -0
  133. package/lib/xt-step-price-item/xt-step-price-item.common.js +417 -0
  134. package/lib/xt-step-price-item/xt-step-price-item.umd.js +427 -0
  135. package/lib/xt-step-price-item/xt-step-price-item.umd.min.js +1 -0
  136. package/lib/xt-tab-pane/demo.html +10 -0
  137. package/lib/xt-tab-pane/index.js +1 -0
  138. package/lib/xt-tab-pane/xt-tab-pane.common.js +309 -0
  139. package/lib/xt-tab-pane/xt-tab-pane.umd.js +319 -0
  140. package/lib/xt-tab-pane/xt-tab-pane.umd.min.js +1 -0
  141. package/lib/xt-table/demo.html +10 -0
  142. package/lib/xt-table/index.js +1 -0
  143. package/lib/xt-table/xt-table.common.js +1027 -0
  144. package/lib/xt-table/xt-table.css +1 -0
  145. package/lib/xt-table/xt-table.umd.js +1037 -0
  146. package/lib/xt-table/xt-table.umd.min.js +1 -0
  147. package/lib/xt-tabs/demo.html +10 -0
  148. package/lib/xt-tabs/index.js +1 -0
  149. package/lib/xt-tabs/xt-tabs.common.js +463 -0
  150. package/lib/xt-tabs/xt-tabs.css +1 -0
  151. package/lib/xt-tabs/xt-tabs.umd.js +473 -0
  152. package/lib/xt-tabs/xt-tabs.umd.min.js +1 -0
  153. package/lib/xt-text/demo.html +10 -0
  154. package/lib/xt-text/index.js +1 -0
  155. package/lib/xt-text/xt-text.common.js +536 -0
  156. package/lib/xt-text/xt-text.css +1 -0
  157. package/lib/xt-text/xt-text.umd.js +546 -0
  158. package/lib/xt-text/xt-text.umd.min.js +1 -0
  159. package/lib/xt-time/demo.html +10 -0
  160. package/lib/xt-time/index.js +1 -0
  161. package/lib/xt-time/xt-time.common.js +555 -0
  162. package/lib/xt-time/xt-time.css +1 -0
  163. package/lib/xt-time/xt-time.umd.js +565 -0
  164. package/lib/xt-time/xt-time.umd.min.js +1 -0
  165. package/lib/xt-transfer-tree/demo.html +10 -0
  166. package/lib/xt-transfer-tree/index.js +1 -0
  167. package/lib/xt-transfer-tree/xt-transfer-tree.common.js +594 -0
  168. package/lib/xt-transfer-tree/xt-transfer-tree.css +1 -0
  169. package/lib/xt-transfer-tree/xt-transfer-tree.umd.js +604 -0
  170. package/lib/xt-transfer-tree/xt-transfer-tree.umd.min.js +1 -0
  171. package/lib/xt-upload/demo.html +10 -0
  172. package/lib/xt-upload/index.js +1 -0
  173. package/lib/xt-upload/xt-upload.common.js +1292 -0
  174. package/lib/xt-upload/xt-upload.css +1 -0
  175. package/lib/xt-upload/xt-upload.umd.js +1302 -0
  176. package/lib/xt-upload/xt-upload.umd.min.js +1 -0
  177. package/package.json +4 -2
  178. package/src/components/xt-badge/index.js +8 -7
  179. package/src/components/xt-button/index.js +1 -0
  180. package/src/components/xt-card/index.js +1 -0
  181. package/src/components/xt-card-item/index.js +1 -0
  182. package/src/components/xt-config-provider/index.js +1 -0
  183. package/src/components/xt-flex-box/index.js +1 -0
  184. package/src/components/xt-grid-box/index.js +1 -0
  185. package/src/components/xt-icon/index.js +1 -0
  186. package/src/components/xt-input/index.js +1 -0
  187. package/src/components/xt-map/index.js +1 -0
  188. package/src/components/xt-progress/index.js +8 -7
  189. package/src/components/xt-scroll-arrow/index.js +8 -7
  190. package/src/components/xt-step-price/index.js +1 -0
  191. package/src/components/xt-tabs/index.js +9 -8
  192. package/src/components/xt-text/index.js +1 -0
  193. package/src/components/xt-time/index.js +1 -0
  194. package/src/index.js +32 -2
@@ -0,0 +1,10 @@
1
+ <meta charset="utf-8">
2
+ <title>xt-scroll-arrow demo</title>
3
+ <script src="./xt-scroll-arrow.umd.js"></script>
4
+
5
+ <link rel="stylesheet" href="./xt-scroll-arrow.css">
6
+
7
+
8
+ <script>
9
+ console.log(xt-scroll-arrow)
10
+ </script>
@@ -0,0 +1 @@
1
+ module.exports = require('./xt-scroll-arrow.common.js');
@@ -0,0 +1,495 @@
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
+ /***/ "4e56":
91
+ /***/ (function(module, exports, __webpack_require__) {
92
+
93
+ // extracted by mini-css-extract-plugin
94
+
95
+ /***/ }),
96
+
97
+ /***/ "fb15":
98
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
99
+
100
+ "use strict";
101
+ // ESM COMPAT FLAG
102
+ __webpack_require__.r(__webpack_exports__);
103
+
104
+ // EXPORTS
105
+ __webpack_require__.d(__webpack_exports__, "XtScrollArrow", function() { return /* reexport */ xt_scroll_arrow; });
106
+
107
+ // CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js
108
+ // This file is imported into lib/wc client bundles.
109
+
110
+ if (typeof window !== 'undefined') {
111
+ var currentScript = window.document.currentScript
112
+ if (false) { var getCurrentScript; }
113
+
114
+ var src = currentScript && currentScript.src.match(/(.+\/)[^/]+\.js(\?.*)?$/)
115
+ if (src) {
116
+ __webpack_require__.p = src[1] // eslint-disable-line
117
+ }
118
+ }
119
+
120
+ // Indicate to webpack that this file can be concatenated
121
+ /* harmony default export */ var setPublicPath = (null);
122
+
123
+ // EXTERNAL MODULE: ./src/components/xt-scroll-arrow/style/index.scss
124
+ var style = __webpack_require__("4e56");
125
+
126
+ // 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-scroll-arrow/index.vue?vue&type=template&id=3d6a271c
127
+ var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:"xt-scroll-arrow",class:[`xt-scroll-arrow--${_vm.direction}`],style:(_vm.containerStyle)},[(_vm.showLeftArrow)?_c('div',{staticClass:"xt-scroll-arrow__btn xt-scroll-arrow__btn--left",on:{"click":_vm.scrollLeft}},[_c('i',{staticClass:"el-icon-arrow-left"})]):_vm._e(),_c('div',{ref:"scrollContainer",staticClass:"xt-scroll-arrow__content",on:{"scroll":_vm.handleScroll,"click":_vm.handleClick}},[_vm._t("default")],2),(_vm.showRightArrow)?_c('div',{staticClass:"xt-scroll-arrow__btn xt-scroll-arrow__btn--right",on:{"click":_vm.scrollRight}},[_c('i',{staticClass:"el-icon-arrow-right"})]):_vm._e(),(_vm.showTopArrow && _vm.direction === 'vertical')?_c('div',{staticClass:"xt-scroll-arrow__btn xt-scroll-arrow__btn--top",on:{"click":_vm.scrollTop}},[_c('i',{staticClass:"el-icon-arrow-up"})]):_vm._e(),(_vm.showBottomArrow && _vm.direction === 'vertical')?_c('div',{staticClass:"xt-scroll-arrow__btn xt-scroll-arrow__btn--bottom",on:{"click":_vm.scrollBottom}},[_c('i',{staticClass:"el-icon-arrow-down"})]):_vm._e()])
128
+ }
129
+ var staticRenderFns = []
130
+
131
+
132
+ // CONCATENATED MODULE: ./src/components/xt-scroll-arrow/index.vue?vue&type=template&id=3d6a271c
133
+
134
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/xt-scroll-arrow/index.vue?vue&type=script&lang=js
135
+
136
+ /* harmony default export */ var xt_scroll_arrowvue_type_script_lang_js = ({
137
+ name: 'XtScrollArrow',
138
+ props: {
139
+ direction: {
140
+ type: String,
141
+ default: 'horizontal',
142
+ validator: (val) => ['horizontal', 'vertical'].includes(val)
143
+ },
144
+ scrollStep: {
145
+ type: Number,
146
+ default: 100
147
+ },
148
+ autoHide: {
149
+ type: Boolean,
150
+ default: true
151
+ },
152
+ height: {
153
+ type: [String, Number],
154
+ default: ''
155
+ },
156
+ width: {
157
+ type: [String, Number],
158
+ default: ''
159
+ },
160
+ appendMode: {
161
+ type: Boolean,
162
+ default: false
163
+ },
164
+ clickMode: {
165
+ type: Boolean,
166
+ default: false
167
+ }
168
+ },
169
+ data() {
170
+ return {
171
+ showLeftArrow: false,
172
+ showRightArrow: false,
173
+ showTopArrow: false,
174
+ showBottomArrow: false
175
+ }
176
+ },
177
+ computed: {
178
+ containerStyle() {
179
+ const style = {}
180
+ if (this.height) {
181
+ style.height = typeof this.height === 'number' ? `${this.height}px` : this.height
182
+ }
183
+ if (this.width) {
184
+ style.width = typeof this.width === 'number' ? `${this.width}px` : this.width
185
+ }
186
+ return style
187
+ }
188
+ },
189
+ watch: {
190
+ direction() {
191
+ this.$nextTick(() => {
192
+ this.checkScroll()
193
+ })
194
+ }
195
+ },
196
+ mounted() {
197
+ this.$nextTick(() => {
198
+ this.checkScroll()
199
+ })
200
+ this.addResizeObserver()
201
+ this.addMutationObserver()
202
+ },
203
+ beforeDestroy() {
204
+ this.removeResizeObserver()
205
+ this.removeMutationObserver()
206
+ },
207
+ methods: {
208
+ addResizeObserver() {
209
+ if (typeof ResizeObserver !== 'undefined') {
210
+ this.resizeObserver = new ResizeObserver(() => {
211
+ this.$nextTick(() => {
212
+ this.checkScroll()
213
+ })
214
+ })
215
+ const container = this.$refs.scrollContainer
216
+ if (container) {
217
+ this.resizeObserver.observe(container)
218
+ }
219
+ }
220
+ },
221
+ removeResizeObserver() {
222
+ if (this.resizeObserver) {
223
+ this.resizeObserver.disconnect()
224
+ }
225
+ },
226
+ addMutationObserver() {
227
+ if (typeof MutationObserver !== 'undefined') {
228
+ this.mutationObserver = new MutationObserver(() => {
229
+ this.$nextTick(() => {
230
+ this.checkScroll()
231
+ if (this.appendMode) {
232
+ this.scrollToEnd()
233
+ }
234
+ })
235
+ })
236
+ const container = this.$refs.scrollContainer
237
+ if (container) {
238
+ this.mutationObserver.observe(container, {
239
+ childList: true,
240
+ subtree: true
241
+ })
242
+ }
243
+ }
244
+ },
245
+ removeMutationObserver() {
246
+ if (this.mutationObserver) {
247
+ this.mutationObserver.disconnect()
248
+ }
249
+ },
250
+ checkScroll() {
251
+ const container = this.$refs.scrollContainer
252
+ if (!container) return
253
+
254
+ if (this.direction === 'horizontal') {
255
+ const scrollLeft = container.scrollLeft
256
+ const scrollWidth = container.scrollWidth
257
+ const clientWidth = container.clientWidth
258
+ const maxScroll = scrollWidth - clientWidth
259
+
260
+ this.showTopArrow = false
261
+ this.showBottomArrow = false
262
+
263
+ if (this.autoHide) {
264
+ this.showLeftArrow = scrollLeft > 0
265
+ this.showRightArrow = maxScroll > 0 && scrollLeft < maxScroll
266
+ } else {
267
+ this.showLeftArrow = maxScroll > 0
268
+ this.showRightArrow = maxScroll > 0
269
+ }
270
+ } else {
271
+ const scrollTop = container.scrollTop
272
+ const scrollHeight = container.scrollHeight
273
+ const clientHeight = container.clientHeight
274
+ const maxScroll = scrollHeight - clientHeight
275
+
276
+ this.showLeftArrow = false
277
+ this.showRightArrow = false
278
+
279
+ if (this.autoHide) {
280
+ this.showTopArrow = scrollTop > 0
281
+ this.showBottomArrow = maxScroll > 0 && scrollTop < maxScroll
282
+ } else {
283
+ this.showTopArrow = maxScroll > 0
284
+ this.showBottomArrow = maxScroll > 0
285
+ }
286
+ }
287
+ },
288
+ handleScroll() {
289
+ this.checkScroll()
290
+ this.$emit('scroll', this.$refs.scrollContainer)
291
+ },
292
+ handleClick(e) {
293
+ if (!this.clickMode) return
294
+ const container = this.$refs.scrollContainer
295
+ if (!container) return
296
+
297
+ const target = e.target
298
+ if (!target || target === container) return
299
+
300
+ const containerRect = container.getBoundingClientRect()
301
+ const targetRect = target.getBoundingClientRect()
302
+
303
+ const isVisible = (
304
+ targetRect.left >= containerRect.left &&
305
+ targetRect.right <= containerRect.right &&
306
+ targetRect.top >= containerRect.top &&
307
+ targetRect.bottom <= containerRect.bottom
308
+ )
309
+
310
+ if (!isVisible) {
311
+ if (this.direction === 'horizontal') {
312
+ const scrollLeft = target.offsetLeft - (container.clientWidth - targetRect.width) / 2
313
+ container.scrollTo({ left: scrollLeft, behavior: 'smooth' })
314
+ } else {
315
+ const scrollTop = target.offsetTop - (container.clientHeight - targetRect.height) / 2
316
+ container.scrollTo({ top: scrollTop, behavior: 'smooth' })
317
+ }
318
+ }
319
+ },
320
+ scrollLeft() {
321
+ const container = this.$refs.scrollContainer
322
+ if (container) {
323
+ container.scrollBy({ left: -this.scrollStep, behavior: 'smooth' })
324
+ }
325
+ },
326
+ scrollRight() {
327
+ const container = this.$refs.scrollContainer
328
+ if (container) {
329
+ container.scrollBy({ left: this.scrollStep, behavior: 'smooth' })
330
+ }
331
+ },
332
+ scrollTop() {
333
+ const container = this.$refs.scrollContainer
334
+ if (container) {
335
+ container.scrollBy({ top: -this.scrollStep, behavior: 'smooth' })
336
+ }
337
+ },
338
+ scrollBottom() {
339
+ const container = this.$refs.scrollContainer
340
+ if (container) {
341
+ container.scrollBy({ top: this.scrollStep, behavior: 'smooth' })
342
+ }
343
+ },
344
+ scrollToEnd() {
345
+ const container = this.$refs.scrollContainer
346
+ if (!container) return
347
+ if (this.direction === 'horizontal') {
348
+ container.scrollTo({ left: container.scrollWidth, behavior: 'smooth' })
349
+ } else {
350
+ container.scrollTo({ top: container.scrollHeight, behavior: 'smooth' })
351
+ }
352
+ }
353
+ }
354
+ });
355
+
356
+ // CONCATENATED MODULE: ./src/components/xt-scroll-arrow/index.vue?vue&type=script&lang=js
357
+ /* harmony default export */ var components_xt_scroll_arrowvue_type_script_lang_js = (xt_scroll_arrowvue_type_script_lang_js);
358
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
359
+ /* globals __VUE_SSR_CONTEXT__ */
360
+
361
+ // IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
362
+ // This module is a runtime utility for cleaner component module output and will
363
+ // be included in the final webpack user bundle.
364
+
365
+ function normalizeComponent(
366
+ scriptExports,
367
+ render,
368
+ staticRenderFns,
369
+ functionalTemplate,
370
+ injectStyles,
371
+ scopeId,
372
+ moduleIdentifier /* server only */,
373
+ shadowMode /* vue-cli only */
374
+ ) {
375
+ // Vue.extend constructor export interop
376
+ var options =
377
+ typeof scriptExports === 'function' ? scriptExports.options : scriptExports
378
+
379
+ // render functions
380
+ if (render) {
381
+ options.render = render
382
+ options.staticRenderFns = staticRenderFns
383
+ options._compiled = true
384
+ }
385
+
386
+ // functional template
387
+ if (functionalTemplate) {
388
+ options.functional = true
389
+ }
390
+
391
+ // scopedId
392
+ if (scopeId) {
393
+ options._scopeId = 'data-v-' + scopeId
394
+ }
395
+
396
+ var hook
397
+ if (moduleIdentifier) {
398
+ // server build
399
+ hook = function (context) {
400
+ // 2.3 injection
401
+ context =
402
+ context || // cached call
403
+ (this.$vnode && this.$vnode.ssrContext) || // stateful
404
+ (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
405
+ // 2.2 with runInNewContext: true
406
+ if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
407
+ context = __VUE_SSR_CONTEXT__
408
+ }
409
+ // inject component styles
410
+ if (injectStyles) {
411
+ injectStyles.call(this, context)
412
+ }
413
+ // register component module identifier for async chunk inferrence
414
+ if (context && context._registeredComponents) {
415
+ context._registeredComponents.add(moduleIdentifier)
416
+ }
417
+ }
418
+ // used by ssr in case component is cached and beforeCreate
419
+ // never gets called
420
+ options._ssrRegister = hook
421
+ } else if (injectStyles) {
422
+ hook = shadowMode
423
+ ? function () {
424
+ injectStyles.call(
425
+ this,
426
+ (options.functional ? this.parent : this).$root.$options.shadowRoot
427
+ )
428
+ }
429
+ : injectStyles
430
+ }
431
+
432
+ if (hook) {
433
+ if (options.functional) {
434
+ // for template-only hot-reload because in that case the render fn doesn't
435
+ // go through the normalizer
436
+ options._injectStyles = hook
437
+ // register for functional component in vue file
438
+ var originalRender = options.render
439
+ options.render = function renderWithStyleInjection(h, context) {
440
+ hook.call(context)
441
+ return originalRender(h, context)
442
+ }
443
+ } else {
444
+ // inject component registration as beforeCreate hook
445
+ var existing = options.beforeCreate
446
+ options.beforeCreate = existing ? [].concat(existing, hook) : [hook]
447
+ }
448
+ }
449
+
450
+ return {
451
+ exports: scriptExports,
452
+ options: options
453
+ }
454
+ }
455
+
456
+ // CONCATENATED MODULE: ./src/components/xt-scroll-arrow/index.vue
457
+
458
+
459
+
460
+
461
+
462
+ /* normalize component */
463
+
464
+ var component = normalizeComponent(
465
+ components_xt_scroll_arrowvue_type_script_lang_js,
466
+ render,
467
+ staticRenderFns,
468
+ false,
469
+ null,
470
+ null,
471
+ null
472
+
473
+ )
474
+
475
+ /* harmony default export */ var xt_scroll_arrow = (component.exports);
476
+ // CONCATENATED MODULE: ./src/components/xt-scroll-arrow/index.js
477
+
478
+
479
+
480
+ xt_scroll_arrow.install = function (Vue) {
481
+ Vue.component(xt_scroll_arrow.name, xt_scroll_arrow)
482
+ }
483
+
484
+ /* harmony default export */ var components_xt_scroll_arrow = (xt_scroll_arrow);
485
+
486
+ // CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js
487
+
488
+
489
+ /* harmony default export */ var entry_lib = __webpack_exports__["default"] = (components_xt_scroll_arrow);
490
+
491
+
492
+
493
+ /***/ })
494
+
495
+ /******/ });
@@ -0,0 +1 @@
1
+ .xt-scroll-arrow{position:relative;display:flex;align-items:center;overflow:hidden}.xt-scroll-arrow--horizontal{flex-direction:row}.xt-scroll-arrow--vertical{flex-direction:column}.xt-scroll-arrow__content{flex:1;overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.xt-scroll-arrow__content::-webkit-scrollbar{display:none}.xt-scroll-arrow__btn{position:absolute;z-index:10;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:hsla(0,0%,100%,.9);border-radius:50%;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.15);transition:all .3s ease;border:none;padding:0}.xt-scroll-arrow__btn:hover{background:#fff;transform:scale(1.1)}.xt-scroll-arrow__btn:active{transform:scale(.95)}.xt-scroll-arrow__btn--left{left:8px}.xt-scroll-arrow__btn--right{right:8px}.xt-scroll-arrow__btn--top{top:8px;left:50%;transform:translateX(-50%)}.xt-scroll-arrow__btn--top:hover{transform:translateX(-50%) scale(1.1)}.xt-scroll-arrow__btn--top:active{transform:translateX(-50%) scale(.95)}.xt-scroll-arrow__btn--bottom{bottom:8px;left:50%;transform:translateX(-50%)}.xt-scroll-arrow__btn--bottom:hover{transform:translateX(-50%) scale(1.1)}.xt-scroll-arrow__btn--bottom:active{transform:translateX(-50%) scale(.95)}