@mdsfe/mds-ui 0.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 (153) hide show
  1. package/CHANGELOG.md +778 -0
  2. package/LICENSE +21 -0
  3. package/README.md +106 -0
  4. package/dist/_locale/index.js +18 -0
  5. package/dist/_locale/zh-CN.js +123 -0
  6. package/dist/_mixin/emitter.js +35 -0
  7. package/dist/_mixin/focus.js +13 -0
  8. package/dist/_mixin/locale.js +17 -0
  9. package/dist/_mixin/popper.js +192 -0
  10. package/dist/_mixin/tooltip.js +218 -0
  11. package/dist/_util/__test__/switchcase.test.js +43 -0
  12. package/dist/_util/autoprefixer.js +249 -0
  13. package/dist/_util/clickoutside.js +79 -0
  14. package/dist/_util/date.js +368 -0
  15. package/dist/_util/dateUtil.js +311 -0
  16. package/dist/_util/dom.js +240 -0
  17. package/dist/_util/getRequestAnimationFrame.js +50 -0
  18. package/dist/_util/getScroll.js +21 -0
  19. package/dist/_util/loaders/loaders.css.js +52 -0
  20. package/dist/_util/loaders/loading.js +53 -0
  21. package/dist/_util/merge.js +18 -0
  22. package/dist/_util/popper.js +1261 -0
  23. package/dist/_util/popup/index.js +232 -0
  24. package/dist/_util/popup/popup-manager.js +205 -0
  25. package/dist/_util/proptype.js +12 -0
  26. package/dist/_util/repeatClick.js +30 -0
  27. package/dist/_util/resize.js +61 -0
  28. package/dist/_util/resizeEvent.js +59 -0
  29. package/dist/_util/scrollIntoView.js +38 -0
  30. package/dist/_util/scrollbar-width.js +37 -0
  31. package/dist/_util/soda.js +54 -0
  32. package/dist/_util/switchcase.js +22 -0
  33. package/dist/_util/throttleByAnimationFrame.js +70 -0
  34. package/dist/_util/tree/node.js +412 -0
  35. package/dist/_util/tree/tree.js +410 -0
  36. package/dist/_util/util.js +166 -0
  37. package/dist/_util/vue-popper.js +213 -0
  38. package/dist/affix.js +509 -0
  39. package/dist/anchor.js +522 -0
  40. package/dist/avatar.js +437 -0
  41. package/dist/backtop.js +469 -0
  42. package/dist/badge.js +439 -0
  43. package/dist/bordershadow.js +310 -0
  44. package/dist/breadcrumb.js +434 -0
  45. package/dist/button.js +579 -0
  46. package/dist/card.js +514 -0
  47. package/dist/carousel.js +1326 -0
  48. package/dist/cascaderpanel.js +2320 -0
  49. package/dist/checkbox.js +681 -0
  50. package/dist/col.js +546 -0
  51. package/dist/collapse.js +671 -0
  52. package/dist/color.js +306 -0
  53. package/dist/datepicker.js +8089 -0
  54. package/dist/divider.js +346 -0
  55. package/dist/drawer.js +652 -0
  56. package/dist/dropdown.js +687 -0
  57. package/dist/empty.js +416 -0
  58. package/dist/font.js +306 -0
  59. package/dist/form.js +878 -0
  60. package/dist/icon.js +401 -0
  61. package/dist/index.js +1 -0
  62. package/dist/input.js +1251 -0
  63. package/dist/inputnumber.js +689 -0
  64. package/dist/layout.js +786 -0
  65. package/dist/list.js +789 -0
  66. package/dist/loading.js +430 -0
  67. package/dist/mds-ui.min.css +7 -0
  68. package/dist/mds-ui.min.js +64911 -0
  69. package/dist/menu.js +1131 -0
  70. package/dist/message.js +1016 -0
  71. package/dist/modal.js +895 -0
  72. package/dist/notification.js +818 -0
  73. package/dist/pagination.js +1213 -0
  74. package/dist/popconfirm.js +336 -0
  75. package/dist/popover.js +206 -0
  76. package/dist/progress.js +1023 -0
  77. package/dist/radio.js +760 -0
  78. package/dist/rate.js +765 -0
  79. package/dist/row.js +546 -0
  80. package/dist/select.js +4950 -0
  81. package/dist/slider.js +1411 -0
  82. package/dist/slottable.js +1414 -0
  83. package/dist/steps.js +546 -0
  84. package/dist/style/affix.css +5524 -0
  85. package/dist/style/anchor.css +5572 -0
  86. package/dist/style/avatar.css +5587 -0
  87. package/dist/style/backtop.css +34 -0
  88. package/dist/style/badge.css +5655 -0
  89. package/dist/style/bordershadow.css +5601 -0
  90. package/dist/style/breadcrumb.css +5551 -0
  91. package/dist/style/button.css +7679 -0
  92. package/dist/style/card.css +5670 -0
  93. package/dist/style/carousel.css +5731 -0
  94. package/dist/style/cascaderpanel.css +125 -0
  95. package/dist/style/checkbox.css +5700 -0
  96. package/dist/style/col.css +8121 -0
  97. package/dist/style/collapse.css +5593 -0
  98. package/dist/style/color.css +6136 -0
  99. package/dist/style/datepicker.css +5977 -0
  100. package/dist/style/divider.css +5558 -0
  101. package/dist/style/drawer.css +7979 -0
  102. package/dist/style/dropdown.css +7950 -0
  103. package/dist/style/empty.css +5563 -0
  104. package/dist/style/font.css +5559 -0
  105. package/dist/style/form.css +5662 -0
  106. package/dist/style/icon.css +5538 -0
  107. package/dist/style/input.css +6256 -0
  108. package/dist/style/inputnumber.css +5828 -0
  109. package/dist/style/layout.css +5572 -0
  110. package/dist/style/list.css +5655 -0
  111. package/dist/style/loading.css +5540 -0
  112. package/dist/style/menu.css +6183 -0
  113. package/dist/style/message.css +194 -0
  114. package/dist/style/modal.css +5637 -0
  115. package/dist/style/notification.css +5706 -0
  116. package/dist/style/pagination.css +6683 -0
  117. package/dist/style/popconfirm.css +7951 -0
  118. package/dist/style/popover.css +5727 -0
  119. package/dist/style/progress.css +5714 -0
  120. package/dist/style/radio.css +5769 -0
  121. package/dist/style/rate.css +5616 -0
  122. package/dist/style/row.css +8121 -0
  123. package/dist/style/select.css +5729 -0
  124. package/dist/style/slider.css +5594 -0
  125. package/dist/style/slottable.css +5831 -0
  126. package/dist/style/steps.css +6100 -0
  127. package/dist/style/switch.css +5624 -0
  128. package/dist/style/table.css +8392 -0
  129. package/dist/style/tabs.css +6047 -0
  130. package/dist/style/tag.css +5935 -0
  131. package/dist/style/text.css +5636 -0
  132. package/dist/style/timeline.css +5602 -0
  133. package/dist/style/timepicker.css +5904 -0
  134. package/dist/style/tooltip.css +5686 -0
  135. package/dist/style/transfer.css +101 -0
  136. package/dist/style/transition.css +1417 -0
  137. package/dist/style/tree.css +5598 -0
  138. package/dist/style/typography.css +5640 -0
  139. package/dist/style/upload.css +5834 -0
  140. package/dist/switch.js +448 -0
  141. package/dist/table.js +3809 -0
  142. package/dist/tabs.js +1273 -0
  143. package/dist/tag.js +478 -0
  144. package/dist/text.js +1100 -0
  145. package/dist/timeline.js +495 -0
  146. package/dist/timepicker.js +1567 -0
  147. package/dist/tooltip.js +179 -0
  148. package/dist/transfer.js +981 -0
  149. package/dist/transition.js +246 -0
  150. package/dist/tree.js +1866 -0
  151. package/dist/typography.js +469 -0
  152. package/dist/upload.js +1990 -0
  153. package/package.json +144 -0
@@ -0,0 +1,1326 @@
1
+ (function webpackUniversalModuleDefinition(root, factory) {
2
+ if(typeof exports === 'object' && typeof module === 'object')
3
+ module.exports = factory(require("vue"), require("./input"));
4
+ else if(typeof define === 'function' && define.amd)
5
+ define(["vue", "./input"], factory);
6
+ else {
7
+ var a = typeof exports === 'object' ? factory(require("vue"), require("./input")) : factory(root["Vue"], root["./input"]);
8
+ for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
9
+ }
10
+ })(window, function(__WEBPACK_EXTERNAL_MODULE__5__, __WEBPACK_EXTERNAL_MODULE__10__) {
11
+ return /******/ (function(modules) { // webpackBootstrap
12
+ /******/ // The module cache
13
+ /******/ var installedModules = {};
14
+ /******/
15
+ /******/ // The require function
16
+ /******/ function __webpack_require__(moduleId) {
17
+ /******/
18
+ /******/ // Check if module is in cache
19
+ /******/ if(installedModules[moduleId]) {
20
+ /******/ return installedModules[moduleId].exports;
21
+ /******/ }
22
+ /******/ // Create a new module (and put it into the cache)
23
+ /******/ var module = installedModules[moduleId] = {
24
+ /******/ i: moduleId,
25
+ /******/ l: false,
26
+ /******/ exports: {}
27
+ /******/ };
28
+ /******/
29
+ /******/ // Execute the module function
30
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
31
+ /******/
32
+ /******/ // Flag the module as loaded
33
+ /******/ module.l = true;
34
+ /******/
35
+ /******/ // Return the exports of the module
36
+ /******/ return module.exports;
37
+ /******/ }
38
+ /******/
39
+ /******/
40
+ /******/ // expose the modules object (__webpack_modules__)
41
+ /******/ __webpack_require__.m = modules;
42
+ /******/
43
+ /******/ // expose the module cache
44
+ /******/ __webpack_require__.c = installedModules;
45
+ /******/
46
+ /******/ // define getter function for harmony exports
47
+ /******/ __webpack_require__.d = function(exports, name, getter) {
48
+ /******/ if(!__webpack_require__.o(exports, name)) {
49
+ /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
50
+ /******/ }
51
+ /******/ };
52
+ /******/
53
+ /******/ // define __esModule on exports
54
+ /******/ __webpack_require__.r = function(exports) {
55
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
56
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
57
+ /******/ }
58
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
59
+ /******/ };
60
+ /******/
61
+ /******/ // create a fake namespace object
62
+ /******/ // mode & 1: value is a module id, require it
63
+ /******/ // mode & 2: merge all properties of value into the ns
64
+ /******/ // mode & 4: return value when already ns object
65
+ /******/ // mode & 8|1: behave like require
66
+ /******/ __webpack_require__.t = function(value, mode) {
67
+ /******/ if(mode & 1) value = __webpack_require__(value);
68
+ /******/ if(mode & 8) return value;
69
+ /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
70
+ /******/ var ns = Object.create(null);
71
+ /******/ __webpack_require__.r(ns);
72
+ /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
73
+ /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
74
+ /******/ return ns;
75
+ /******/ };
76
+ /******/
77
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
78
+ /******/ __webpack_require__.n = function(module) {
79
+ /******/ var getter = module && module.__esModule ?
80
+ /******/ function getDefault() { return module['default']; } :
81
+ /******/ function getModuleExports() { return module; };
82
+ /******/ __webpack_require__.d(getter, 'a', getter);
83
+ /******/ return getter;
84
+ /******/ };
85
+ /******/
86
+ /******/ // Object.prototype.hasOwnProperty.call
87
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
88
+ /******/
89
+ /******/ // __webpack_public_path__
90
+ /******/ __webpack_require__.p = "/dist/";
91
+ /******/
92
+ /******/
93
+ /******/ // Load entry module and return exports
94
+ /******/ return __webpack_require__(__webpack_require__.s = 93);
95
+ /******/ })
96
+ /************************************************************************/
97
+ /******/ ({
98
+
99
+ /***/ 0:
100
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
101
+
102
+ "use strict";
103
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; });
104
+ /* globals __VUE_SSR_CONTEXT__ */
105
+
106
+ // IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
107
+ // This module is a runtime utility for cleaner component module output and will
108
+ // be included in the final webpack user bundle.
109
+
110
+ function normalizeComponent (
111
+ scriptExports,
112
+ render,
113
+ staticRenderFns,
114
+ functionalTemplate,
115
+ injectStyles,
116
+ scopeId,
117
+ moduleIdentifier, /* server only */
118
+ shadowMode /* vue-cli only */
119
+ ) {
120
+ // Vue.extend constructor export interop
121
+ var options = typeof scriptExports === 'function'
122
+ ? scriptExports.options
123
+ : scriptExports
124
+
125
+ // render functions
126
+ if (render) {
127
+ options.render = render
128
+ options.staticRenderFns = staticRenderFns
129
+ options._compiled = true
130
+ }
131
+
132
+ // functional template
133
+ if (functionalTemplate) {
134
+ options.functional = true
135
+ }
136
+
137
+ // scopedId
138
+ if (scopeId) {
139
+ options._scopeId = 'data-v-' + scopeId
140
+ }
141
+
142
+ var hook
143
+ if (moduleIdentifier) { // server build
144
+ hook = function (context) {
145
+ // 2.3 injection
146
+ context =
147
+ context || // cached call
148
+ (this.$vnode && this.$vnode.ssrContext) || // stateful
149
+ (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
150
+ // 2.2 with runInNewContext: true
151
+ if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
152
+ context = __VUE_SSR_CONTEXT__
153
+ }
154
+ // inject component styles
155
+ if (injectStyles) {
156
+ injectStyles.call(this, context)
157
+ }
158
+ // register component module identifier for async chunk inferrence
159
+ if (context && context._registeredComponents) {
160
+ context._registeredComponents.add(moduleIdentifier)
161
+ }
162
+ }
163
+ // used by ssr in case component is cached and beforeCreate
164
+ // never gets called
165
+ options._ssrRegister = hook
166
+ } else if (injectStyles) {
167
+ hook = shadowMode
168
+ ? function () {
169
+ injectStyles.call(
170
+ this,
171
+ (options.functional ? this.parent : this).$root.$options.shadowRoot
172
+ )
173
+ }
174
+ : injectStyles
175
+ }
176
+
177
+ if (hook) {
178
+ if (options.functional) {
179
+ // for template-only hot-reload because in that case the render fn doesn't
180
+ // go through the normalizer
181
+ options._injectStyles = hook
182
+ // register for functional component in vue file
183
+ var originalRender = options.render
184
+ options.render = function renderWithStyleInjection (h, context) {
185
+ hook.call(context)
186
+ return originalRender(h, context)
187
+ }
188
+ } else {
189
+ // inject component registration as beforeCreate hook
190
+ var existing = options.beforeCreate
191
+ options.beforeCreate = existing
192
+ ? [].concat(existing, hook)
193
+ : [hook]
194
+ }
195
+ }
196
+
197
+ return {
198
+ exports: scriptExports,
199
+ options: options
200
+ }
201
+ }
202
+
203
+
204
+ /***/ }),
205
+
206
+ /***/ 10:
207
+ /***/ (function(module, exports) {
208
+
209
+ module.exports = __WEBPACK_EXTERNAL_MODULE__10__;
210
+
211
+ /***/ }),
212
+
213
+ /***/ 12:
214
+ /***/ (function(module, exports) {
215
+
216
+ module.exports = require("babel-runtime/core-js/object/keys");
217
+
218
+ /***/ }),
219
+
220
+ /***/ 131:
221
+ /***/ (function(module, exports) {
222
+
223
+ // removed by extract-text-webpack-plugin
224
+
225
+ /***/ }),
226
+
227
+ /***/ 20:
228
+ /***/ (function(module, exports) {
229
+
230
+ module.exports = require("babel-runtime/core-js/get-iterator");
231
+
232
+ /***/ }),
233
+
234
+ /***/ 21:
235
+ /***/ (function(module, exports) {
236
+
237
+ module.exports = require("babel-runtime/core-js/json/stringify");
238
+
239
+ /***/ }),
240
+
241
+ /***/ 247:
242
+ /***/ (function(module, exports) {
243
+
244
+ // removed by extract-text-webpack-plugin
245
+
246
+ /***/ }),
247
+
248
+ /***/ 39:
249
+ /***/ (function(module, exports) {
250
+
251
+ module.exports = require("throttle-debounce");
252
+
253
+ /***/ }),
254
+
255
+ /***/ 5:
256
+ /***/ (function(module, exports) {
257
+
258
+ module.exports = __WEBPACK_EXTERNAL_MODULE__5__;
259
+
260
+ /***/ }),
261
+
262
+ /***/ 69:
263
+ /***/ (function(module, exports) {
264
+
265
+ module.exports = require("resize-observer-polyfill");
266
+
267
+ /***/ }),
268
+
269
+ /***/ 8:
270
+ /***/ (function(module, exports) {
271
+
272
+ module.exports = require("babel-runtime/helpers/typeof");
273
+
274
+ /***/ }),
275
+
276
+ /***/ 93:
277
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
278
+
279
+ "use strict";
280
+ // ESM COMPAT FLAG
281
+ __webpack_require__.r(__webpack_exports__);
282
+
283
+ // EXTERNAL MODULE: ./components/style/index.less
284
+ var components_style = __webpack_require__(131);
285
+
286
+ // EXTERNAL MODULE: ./components/carousel/style/index.less
287
+ var carousel_style = __webpack_require__(247);
288
+
289
+ // CONCATENATED MODULE: ./components/carousel/style/index.js
290
+
291
+
292
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/carousel/carousel.vue?vue&type=template&id=2b005604&
293
+ var render = function () {
294
+ var _vm = this
295
+ var _h = _vm.$createElement
296
+ var _c = _vm._self._c || _h
297
+ return _c(
298
+ "div",
299
+ {
300
+ class: _vm.carouselClasses,
301
+ on: {
302
+ mouseenter: function ($event) {
303
+ $event.stopPropagation()
304
+ return _vm.handleMouseEnter($event)
305
+ },
306
+ mouseleave: function ($event) {
307
+ $event.stopPropagation()
308
+ return _vm.handleMouseLeave($event)
309
+ },
310
+ },
311
+ },
312
+ [
313
+ _c(
314
+ "div",
315
+ {
316
+ staticClass: "mds-carousel__container",
317
+ style: { height: _vm.height },
318
+ },
319
+ [
320
+ _vm.arrowDisplay
321
+ ? _c("transition", { attrs: { name: "carousel-arrow-left" } }, [
322
+ _c(
323
+ "button",
324
+ {
325
+ directives: [
326
+ {
327
+ name: "show",
328
+ rawName: "v-show",
329
+ value:
330
+ (_vm.arrow === "always" || _vm.hover) &&
331
+ (_vm.loop || _vm.activeIndex > 0),
332
+ expression:
333
+ "(arrow === 'always' || hover) && (loop || activeIndex > 0)",
334
+ },
335
+ ],
336
+ staticClass:
337
+ "mds-carousel__arrow mds-carousel__arrow--left",
338
+ class: "mds-carousel__arrow-" + _vm.arrowPosition,
339
+ attrs: { type: "button" },
340
+ on: {
341
+ mouseenter: function ($event) {
342
+ return _vm.handleButtonEnter("left")
343
+ },
344
+ mouseleave: _vm.handleButtonLeave,
345
+ click: function ($event) {
346
+ $event.stopPropagation()
347
+ return _vm.throttledArrowClick(_vm.activeIndex - 1)
348
+ },
349
+ },
350
+ },
351
+ [
352
+ _vm._t("left", [
353
+ _c("mds-icon", { attrs: { type: "left" } }),
354
+ ]),
355
+ ],
356
+ 2
357
+ ),
358
+ ])
359
+ : _vm._e(),
360
+ _vm.arrowDisplay
361
+ ? _c("transition", { attrs: { name: "carousel-arrow-right" } }, [
362
+ _c(
363
+ "button",
364
+ {
365
+ directives: [
366
+ {
367
+ name: "show",
368
+ rawName: "v-show",
369
+ value:
370
+ (_vm.arrow === "always" || _vm.hover) &&
371
+ (_vm.loop || _vm.activeIndex < _vm.items.length - 1),
372
+ expression:
373
+ "\n (arrow === 'always' || hover) &&\n (loop || activeIndex < items.length - 1)\n ",
374
+ },
375
+ ],
376
+ staticClass:
377
+ "mds-carousel__arrow mds-carousel__arrow--right",
378
+ class: "mds-carousel__arrow-" + _vm.arrowPosition,
379
+ attrs: { type: "button" },
380
+ on: {
381
+ mouseenter: function ($event) {
382
+ return _vm.handleButtonEnter("right")
383
+ },
384
+ mouseleave: _vm.handleButtonLeave,
385
+ click: function ($event) {
386
+ $event.stopPropagation()
387
+ return _vm.throttledArrowClick(_vm.activeIndex + 1)
388
+ },
389
+ },
390
+ },
391
+ [
392
+ _vm._t("right", [
393
+ _c("mds-icon", { attrs: { type: "right" } }),
394
+ ]),
395
+ ],
396
+ 2
397
+ ),
398
+ ])
399
+ : _vm._e(),
400
+ _c(
401
+ "div",
402
+ {
403
+ staticClass: "mds-carousel__item-container",
404
+ style: { height: _vm.height },
405
+ },
406
+ [_vm._t("default")],
407
+ 2
408
+ ),
409
+ ],
410
+ 1
411
+ ),
412
+ _vm.indicatorPosition !== "none"
413
+ ? _c(
414
+ "ul",
415
+ { class: _vm.indicatorsClasses },
416
+ _vm._l(_vm.items, function (item, index) {
417
+ return _c(
418
+ "li",
419
+ {
420
+ key: index,
421
+ class: [
422
+ "mds-carousel__indicator",
423
+ "mds-carousel__indicator--" + _vm.direction,
424
+ { "is-active": index === _vm.activeIndex },
425
+ ],
426
+ on: {
427
+ mouseenter: function ($event) {
428
+ return _vm.throttledIndicatorHover(index)
429
+ },
430
+ click: function ($event) {
431
+ $event.stopPropagation()
432
+ return _vm.handleIndicatorClick(index)
433
+ },
434
+ },
435
+ },
436
+ [
437
+ _c("button", { staticClass: "mds-carousel__button" }, [
438
+ _vm.hasLabel
439
+ ? _c("span", [_vm._v(_vm._s(item.label))])
440
+ : _vm._e(),
441
+ ]),
442
+ ]
443
+ )
444
+ }),
445
+ 0
446
+ )
447
+ : _vm._e(),
448
+ ]
449
+ )
450
+ }
451
+ var staticRenderFns = []
452
+ render._withStripped = true
453
+
454
+
455
+ // CONCATENATED MODULE: ./components/carousel/carousel.vue?vue&type=template&id=2b005604&
456
+
457
+ // EXTERNAL MODULE: external "throttle-debounce"
458
+ var external_throttle_debounce_ = __webpack_require__(39);
459
+
460
+ // EXTERNAL MODULE: external "babel-runtime/core-js/get-iterator"
461
+ var get_iterator_ = __webpack_require__(20);
462
+ var get_iterator_default = /*#__PURE__*/__webpack_require__.n(get_iterator_);
463
+
464
+ // EXTERNAL MODULE: external "resize-observer-polyfill"
465
+ var external_resize_observer_polyfill_ = __webpack_require__(69);
466
+ var external_resize_observer_polyfill_default = /*#__PURE__*/__webpack_require__.n(external_resize_observer_polyfill_);
467
+
468
+ // CONCATENATED MODULE: ./components/_util/resize.js
469
+
470
+
471
+
472
+ var isServer = typeof window === 'undefined';
473
+
474
+ /* istanbul ignore next */
475
+ var resize_resizeHandler = function resizeHandler(entries) {
476
+ var _iteratorNormalCompletion = true;
477
+ var _didIteratorError = false;
478
+ var _iteratorError = undefined;
479
+
480
+ try {
481
+ for (var _iterator = get_iterator_default()(entries), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
482
+ var entry = _step.value;
483
+
484
+ var listeners = entry.target.__resizeListeners__ || [];
485
+ if (listeners.length) {
486
+ listeners.forEach(function (fn) {
487
+ fn();
488
+ });
489
+ }
490
+ }
491
+ } catch (err) {
492
+ _didIteratorError = true;
493
+ _iteratorError = err;
494
+ } finally {
495
+ try {
496
+ if (!_iteratorNormalCompletion && _iterator.return) {
497
+ _iterator.return();
498
+ }
499
+ } finally {
500
+ if (_didIteratorError) {
501
+ throw _iteratorError;
502
+ }
503
+ }
504
+ }
505
+ };
506
+
507
+ /* istanbul ignore next */
508
+ var resize_addResizeListener = function addResizeListener(element, fn) {
509
+ if (isServer) return;
510
+ if (!element.__resizeListeners__) {
511
+ element.__resizeListeners__ = [];
512
+ element.__ro__ = new external_resize_observer_polyfill_default.a(resize_resizeHandler);
513
+ element.__ro__.observe(element);
514
+ }
515
+ element.__resizeListeners__.push(fn);
516
+ };
517
+
518
+ /* istanbul ignore next */
519
+ var removeResizeListener = function removeResizeListener(element, fn) {
520
+ if (!element || !element.__resizeListeners__) return;
521
+ element.__resizeListeners__.splice(element.__resizeListeners__.indexOf(fn), 1);
522
+ if (!element.__resizeListeners__.length) {
523
+ element.__ro__.disconnect();
524
+ }
525
+ };
526
+ // EXTERNAL MODULE: external "./input"
527
+ var external_input_ = __webpack_require__(10);
528
+ var external_input_default = /*#__PURE__*/__webpack_require__.n(external_input_);
529
+
530
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/carousel/carousel.vue?vue&type=script&lang=js&
531
+ //
532
+ //
533
+ //
534
+ //
535
+ //
536
+ //
537
+ //
538
+ //
539
+ //
540
+ //
541
+ //
542
+ //
543
+ //
544
+ //
545
+ //
546
+ //
547
+ //
548
+ //
549
+ //
550
+ //
551
+ //
552
+ //
553
+ //
554
+ //
555
+ //
556
+ //
557
+ //
558
+ //
559
+ //
560
+ //
561
+ //
562
+ //
563
+ //
564
+ //
565
+ //
566
+ //
567
+ //
568
+ //
569
+ //
570
+ //
571
+ //
572
+ //
573
+ //
574
+ //
575
+ //
576
+ //
577
+ //
578
+ //
579
+ //
580
+ //
581
+ //
582
+ //
583
+ //
584
+ //
585
+ //
586
+ //
587
+ //
588
+ //
589
+ //
590
+ //
591
+ //
592
+ //
593
+ //
594
+ //
595
+
596
+
597
+
598
+
599
+ /* harmony default export */ var carouselvue_type_script_lang_js_ = ({
600
+ name: 'MdsCarousel',
601
+ props: {
602
+ initialIndex: {
603
+ type: Number,
604
+ default: 0
605
+ },
606
+ height: String,
607
+ arrowPosition: {
608
+ type: String,
609
+ default: 'inside',
610
+ validator: function validator(val) {
611
+ return ['inside', 'outside'].indexOf(val) !== -1;
612
+ }
613
+ },
614
+ trigger: {
615
+ type: String,
616
+ default: 'hover'
617
+ },
618
+ autoplay: {
619
+ type: Boolean,
620
+ default: true
621
+ },
622
+ interval: {
623
+ type: Number,
624
+ default: 3000
625
+ },
626
+ indicatorPosition: String,
627
+ indicator: {
628
+ type: Boolean,
629
+ default: true
630
+ },
631
+ arrow: {
632
+ type: String,
633
+ default: 'hover'
634
+ },
635
+ type: String,
636
+ loop: {
637
+ type: Boolean,
638
+ default: true
639
+ },
640
+ direction: {
641
+ type: String,
642
+ default: 'bottom',
643
+ validator: function validator(val) {
644
+ return ['bottom', 'left', 'right', 'top'].indexOf(val) !== -1;
645
+ }
646
+ }
647
+ },
648
+ components: {
649
+ MdsInput: external_input_default.a
650
+ },
651
+ data: function data() {
652
+ return {
653
+ items: [],
654
+ activeIndex: -1,
655
+ containerWidth: 0,
656
+ timer: null,
657
+ hover: false
658
+ };
659
+ },
660
+
661
+ computed: {
662
+ arrowDisplay: function arrowDisplay() {
663
+ return this.arrow !== 'never';
664
+ },
665
+ hasLabel: function hasLabel() {
666
+ return this.items.some(function (item) {
667
+ return item.label.toString().length > 0;
668
+ });
669
+ },
670
+ carouselClasses: function carouselClasses() {
671
+ var classes = ['mds-carousel', 'mds-carousel--' + this.direction];
672
+ if (this.type === 'card') {
673
+ classes.push('mds-carousel--card');
674
+ }
675
+ if (this.arrowPosition === 'outside') {
676
+ classes.push('mds-carousel-arrow__outsid');
677
+ }
678
+ return classes;
679
+ },
680
+ indicatorsClasses: function indicatorsClasses() {
681
+ var classes = ['mds-carousel__indicators', 'mds-carousel__indicators--' + this.direction];
682
+ if (this.hasLabel) {
683
+ classes.push('mds-carousel__indicators--labels');
684
+ }
685
+ if (this.indicatorPosition === 'outside' || this.type === 'card') {
686
+ classes.push('mds-carousel__indicators--outside');
687
+ }
688
+ return classes;
689
+ }
690
+ },
691
+ watch: {
692
+ items: function items(val) {
693
+ if (val.length > 0) this.setActiveItem(this.initialIndex);
694
+ },
695
+ activeIndex: function activeIndex(val, oldVal) {
696
+ this.resetItemPosition(oldVal);
697
+ if (oldVal > -1) {
698
+ this.$emit('change', val, oldVal);
699
+ }
700
+ },
701
+ autoplay: function autoplay(val) {
702
+ val ? this.startTimer() : this.pauseTimer();
703
+ },
704
+ loop: function loop() {
705
+ this.setActiveItem(this.activeIndex);
706
+ }
707
+ },
708
+ methods: {
709
+ handleMouseEnter: function handleMouseEnter() {
710
+ this.hover = true;
711
+ this.pauseTimer();
712
+ },
713
+ handleMouseLeave: function handleMouseLeave() {
714
+ this.hover = false;
715
+ this.startTimer();
716
+ },
717
+ itemInStage: function itemInStage(item, index) {
718
+ var length = this.items.length;
719
+ if (index === length - 1 && item.inStage && this.items[0].active || item.inStage && this.items[index + 1] && this.items[index + 1].active) {
720
+ return 'left';
721
+ } else if (index === 0 && item.inStage && this.items[length - 1].active || item.inStage && this.items[index - 1] && this.items[index - 1].active) {
722
+ return 'right';
723
+ }
724
+ return false;
725
+ },
726
+ handleButtonEnter: function handleButtonEnter(arrow) {
727
+ var _this = this;
728
+
729
+ if (this.direction === 'vertical') return;
730
+ this.items.forEach(function (item, index) {
731
+ if (arrow === _this.itemInStage(item, index)) {
732
+ item.hover = true;
733
+ }
734
+ });
735
+ },
736
+ handleButtonLeave: function handleButtonLeave() {
737
+ if (this.direction === 'vertical') return;
738
+ this.items.forEach(function (item) {
739
+ item.hover = false;
740
+ });
741
+ },
742
+ updateItems: function updateItems() {
743
+ this.items = this.$children.filter(function (child) {
744
+ return child.$options.name === 'MdsCarouselItem';
745
+ });
746
+ },
747
+ resetItemPosition: function resetItemPosition(oldIndex) {
748
+ var _this2 = this;
749
+
750
+ this.items.forEach(function (item, index) {
751
+ item.translateItem(index, _this2.activeIndex, oldIndex);
752
+ });
753
+ },
754
+ playSlides: function playSlides() {
755
+ if (this.activeIndex < this.items.length - 1) {
756
+ this.activeIndex++;
757
+ } else if (this.loop) {
758
+ this.activeIndex = 0;
759
+ }
760
+ },
761
+ pauseTimer: function pauseTimer() {
762
+ if (this.timer) {
763
+ clearInterval(this.timer);
764
+ this.timer = null;
765
+ }
766
+ },
767
+ startTimer: function startTimer() {
768
+ if (this.interval <= 0 || !this.autoplay || this.timer) return;
769
+ this.timer = setInterval(this.playSlides, this.interval);
770
+ },
771
+ setActiveItem: function setActiveItem(index) {
772
+ if (typeof index === 'string') {
773
+ var filteredItems = this.items.filter(function (item) {
774
+ return item.name === index;
775
+ });
776
+ if (filteredItems.length > 0) {
777
+ index = this.items.indexOf(filteredItems[0]);
778
+ }
779
+ }
780
+ index = Number(index);
781
+ if (isNaN(index) || index !== Math.floor(index)) {
782
+ console.warn('[Element Warn][Carousel]index must be an integer.');
783
+ return;
784
+ }
785
+ var length = this.items.length;
786
+ var oldIndex = this.activeIndex;
787
+ if (index < 0) {
788
+ this.activeIndex = this.loop ? length - 1 : 0;
789
+ } else if (index >= length) {
790
+ this.activeIndex = this.loop ? 0 : length - 1;
791
+ } else {
792
+ this.activeIndex = index;
793
+ }
794
+ if (oldIndex === this.activeIndex) {
795
+ this.resetItemPosition(oldIndex);
796
+ }
797
+ },
798
+ prev: function prev() {
799
+ this.setActiveItem(this.activeIndex - 1);
800
+ },
801
+ next: function next() {
802
+ this.setActiveItem(this.activeIndex + 1);
803
+ },
804
+ handleIndicatorClick: function handleIndicatorClick(index) {
805
+ this.activeIndex = index;
806
+ },
807
+ handleIndicatorHover: function handleIndicatorHover(index) {
808
+ if (this.trigger === 'hover' && index !== this.activeIndex) {
809
+ this.activeIndex = index;
810
+ }
811
+ }
812
+ },
813
+ created: function created() {
814
+ var _this3 = this;
815
+
816
+ this.throttledArrowClick = Object(external_throttle_debounce_["throttle"])(300, true, function (index) {
817
+ _this3.setActiveItem(index);
818
+ });
819
+ this.throttledIndicatorHover = Object(external_throttle_debounce_["throttle"])(300, function (index) {
820
+ _this3.handleIndicatorHover(index);
821
+ });
822
+ },
823
+ mounted: function mounted() {
824
+ var _this4 = this;
825
+
826
+ this.updateItems();
827
+ this.$nextTick(function () {
828
+ resize_addResizeListener(_this4.$el, _this4.resetItemPosition);
829
+ if (_this4.initialIndex < _this4.items.length && _this4.initialIndex >= 0) {
830
+ _this4.activeIndex = _this4.initialIndex;
831
+ }
832
+ _this4.startTimer();
833
+ });
834
+ },
835
+ beforeDestroy: function beforeDestroy() {
836
+ if (this.$el) removeResizeListener(this.$el, this.resetItemPosition);
837
+ this.pauseTimer();
838
+ }
839
+ });
840
+ // CONCATENATED MODULE: ./components/carousel/carousel.vue?vue&type=script&lang=js&
841
+ /* harmony default export */ var carousel_carouselvue_type_script_lang_js_ = (carouselvue_type_script_lang_js_);
842
+ // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
843
+ var componentNormalizer = __webpack_require__(0);
844
+
845
+ // CONCATENATED MODULE: ./components/carousel/carousel.vue
846
+
847
+
848
+
849
+
850
+
851
+ /* normalize component */
852
+
853
+ var component = Object(componentNormalizer["a" /* default */])(
854
+ carousel_carouselvue_type_script_lang_js_,
855
+ render,
856
+ staticRenderFns,
857
+ false,
858
+ null,
859
+ null,
860
+ null
861
+
862
+ )
863
+
864
+ /* hot reload */
865
+ if (false) { var api; }
866
+ component.options.__file = "components/carousel/carousel.vue"
867
+ /* harmony default export */ var carousel = (component.exports);
868
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/carousel/carousel-item.vue?vue&type=template&id=73158f6c&
869
+ var carousel_itemvue_type_template_id_73158f6c_render = function () {
870
+ var _vm = this
871
+ var _h = _vm.$createElement
872
+ var _c = _vm._self._c || _h
873
+ return _c(
874
+ "div",
875
+ {
876
+ directives: [
877
+ {
878
+ name: "show",
879
+ rawName: "v-show",
880
+ value: _vm.ready,
881
+ expression: "ready",
882
+ },
883
+ ],
884
+ staticClass: "mds-carousel__item",
885
+ class: {
886
+ "is-active": _vm.active,
887
+ "mds-carousel__item--card": _vm.$parent.type === "card",
888
+ "is-in-stage": _vm.inStage,
889
+ "is-hover": _vm.hover,
890
+ "is-animating": _vm.animating,
891
+ },
892
+ style: _vm.itemStyle,
893
+ on: { click: _vm.handleItemClick },
894
+ },
895
+ [
896
+ _vm.$parent.type === "card"
897
+ ? _c("div", {
898
+ directives: [
899
+ {
900
+ name: "show",
901
+ rawName: "v-show",
902
+ value: !_vm.active,
903
+ expression: "!active",
904
+ },
905
+ ],
906
+ staticClass: "mds-carousel__mask",
907
+ })
908
+ : _vm._e(),
909
+ _vm._t("default"),
910
+ ],
911
+ 2
912
+ )
913
+ }
914
+ var carousel_itemvue_type_template_id_73158f6c_staticRenderFns = []
915
+ carousel_itemvue_type_template_id_73158f6c_render._withStripped = true
916
+
917
+
918
+ // CONCATENATED MODULE: ./components/carousel/carousel-item.vue?vue&type=template&id=73158f6c&
919
+
920
+ // EXTERNAL MODULE: external "babel-runtime/core-js/object/keys"
921
+ var keys_ = __webpack_require__(12);
922
+ var keys_default = /*#__PURE__*/__webpack_require__.n(keys_);
923
+
924
+ // EXTERNAL MODULE: external "babel-runtime/core-js/json/stringify"
925
+ var stringify_ = __webpack_require__(21);
926
+ var stringify_default = /*#__PURE__*/__webpack_require__.n(stringify_);
927
+
928
+ // EXTERNAL MODULE: external "babel-runtime/helpers/typeof"
929
+ var typeof_ = __webpack_require__(8);
930
+ var typeof_default = /*#__PURE__*/__webpack_require__.n(typeof_);
931
+
932
+ // EXTERNAL MODULE: external {"root":"Vue","commonjs":"vue","commonjs2":"vue","amd":"vue"}
933
+ var external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_ = __webpack_require__(5);
934
+ var external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default = /*#__PURE__*/__webpack_require__.n(external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_);
935
+
936
+ // CONCATENATED MODULE: ./components/_util/autoprefixer.js
937
+
938
+
939
+
940
+
941
+
942
+ function isString(obj) {
943
+ return Object.prototype.toString.call(obj) === '[object String]';
944
+ }
945
+ function isObject(obj) {
946
+ return Object.prototype.toString.call(obj) === '[object Object]';
947
+ }
948
+ var autoprefixer_hasOwnProperty = Object.prototype.hasOwnProperty;
949
+ function noop() {}
950
+ function hasOwn(obj, key) {
951
+ return autoprefixer_hasOwnProperty.call(obj, key);
952
+ }
953
+ function extend(to, _from) {
954
+ for (var key in _from) {
955
+ to[key] = _from[key];
956
+ }
957
+ return to;
958
+ }
959
+ function toObject(arr) {
960
+ var res = {};
961
+ for (var i = 0; i < arr.length; i++) {
962
+ if (arr[i]) {
963
+ extend(res, arr[i]);
964
+ }
965
+ }
966
+ return res;
967
+ }
968
+ var getValueByPath = function getValueByPath(object, prop) {
969
+ prop = prop || '';
970
+ var paths = prop.split('.');
971
+ var current = object;
972
+ var result = null;
973
+ for (var i = 0, j = paths.length; i < j; i++) {
974
+ var path = paths[i];
975
+ if (!current) break;
976
+ if (i === j - 1) {
977
+ result = current[path];
978
+ break;
979
+ }
980
+ current = current[path];
981
+ }
982
+ return result;
983
+ };
984
+ function getPropByPath(obj, path, strict) {
985
+ var tempObj = obj;
986
+ path = path.replace(/\[(\w+)\]/g, '.$1');
987
+ path = path.replace(/^\./, '');
988
+ var keyArr = path.split('.');
989
+ var i = 0;
990
+ for (var len = keyArr.length; i < len - 1; ++i) {
991
+ if (!tempObj && !strict) break;
992
+ var key = keyArr[i];
993
+ if (key in tempObj) {
994
+ tempObj = tempObj[key];
995
+ } else {
996
+ if (strict) {
997
+ throw new Error('please transfer a valid prop path to form item!');
998
+ }
999
+ break;
1000
+ }
1001
+ }
1002
+ return {
1003
+ o: tempObj,
1004
+ k: keyArr[i],
1005
+ v: tempObj ? tempObj[keyArr[i]] : null
1006
+ };
1007
+ }
1008
+ var generateId = function generateId() {
1009
+ return Math.floor(Math.random() * 10000);
1010
+ };
1011
+ var valueEquals = function valueEquals(a, b) {
1012
+ // see: https://stackoverflow.com/questions/3115982/how-to-check-if-two-arrays-are-equal-with-javascript
1013
+ if (a === b) return true;
1014
+ if (!(a instanceof Array)) return false;
1015
+ if (!(b instanceof Array)) return false;
1016
+ if (a.length !== b.length) return false;
1017
+ for (var i = 0; i !== a.length; ++i) {
1018
+ if (a[i] !== b[i]) return false;
1019
+ }
1020
+ return true;
1021
+ };
1022
+ var escapeRegexpString = function escapeRegexpString() {
1023
+ var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
1024
+ return String(value).replace(/[|\\{}()[\]^$+*?.]/g, '\\$&');
1025
+ };
1026
+ // TODO: use native Array.find, Array.findIndex when IE support is dropped
1027
+ var arrayFindIndex = function arrayFindIndex(arr, pred) {
1028
+ for (var i = 0; i !== arr.length; ++i) {
1029
+ if (pred(arr[i])) {
1030
+ return i;
1031
+ }
1032
+ }
1033
+ return -1;
1034
+ };
1035
+ var arrayFind = function arrayFind(arr, pred) {
1036
+ var idx = arrayFindIndex(arr, pred);
1037
+ return idx !== -1 ? arr[idx] : undefined;
1038
+ };
1039
+ // coerce truthy value to array
1040
+ var coerceTruthyValueToArray = function coerceTruthyValueToArray(val) {
1041
+ if (Array.isArray(val)) {
1042
+ return val;
1043
+ } else if (val) {
1044
+ return [val];
1045
+ } else {
1046
+ return [];
1047
+ }
1048
+ };
1049
+ var autoprefixer_isIE = function isIE() {
1050
+ return !external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default.a.prototype.$isServer && !isNaN(Number(document.documentMode));
1051
+ };
1052
+ var autoprefixer_isEdge = function isEdge() {
1053
+ return !external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default.a.prototype.$isServer && navigator.userAgent.indexOf('Edge') > -1;
1054
+ };
1055
+ var autoprefixer_isFirefox = function isFirefox() {
1056
+ return !external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default.a.prototype.$isServer && !!window.navigator.userAgent.match(/firefox/i);
1057
+ };
1058
+ var autoprefixer_autoprefixer = function autoprefixer(style) {
1059
+ if ((typeof style === 'undefined' ? 'undefined' : typeof_default()(style)) !== 'object') return style;
1060
+ var rules = ['transform', 'transition', 'animation'];
1061
+ var prefixes = ['ms-', 'webkit-'];
1062
+ rules.forEach(function (rule) {
1063
+ var value = style[rule];
1064
+ if (rule && value) {
1065
+ prefixes.forEach(function (prefix) {
1066
+ style[prefix + rule] = value;
1067
+ });
1068
+ }
1069
+ });
1070
+ return style;
1071
+ };
1072
+ var kebabCase = function kebabCase(str) {
1073
+ var hyphenateRE = /([^-])([A-Z])/g;
1074
+ return str.replace(hyphenateRE, '$1-$2').replace(hyphenateRE, '$1-$2').toLowerCase();
1075
+ };
1076
+ var capitalize = function capitalize(str) {
1077
+ if (!isString(str)) return str;
1078
+ return str.charAt(0).toUpperCase() + str.slice(1);
1079
+ };
1080
+ var autoprefixer_looseEqual = function looseEqual(a, b) {
1081
+ var isObjectA = isObject(a);
1082
+ var isObjectB = isObject(b);
1083
+ if (isObjectA && isObjectB) {
1084
+ return stringify_default()(a) === stringify_default()(b);
1085
+ } else if (!isObjectA && !isObjectB) {
1086
+ return String(a) === String(b);
1087
+ } else {
1088
+ return false;
1089
+ }
1090
+ };
1091
+ var arrayEquals = function arrayEquals(arrayA, arrayB) {
1092
+ arrayA = arrayA || [];
1093
+ arrayB = arrayB || [];
1094
+ if (arrayA.length !== arrayB.length) {
1095
+ return false;
1096
+ }
1097
+ for (var i = 0; i < arrayA.length; i++) {
1098
+ if (!autoprefixer_looseEqual(arrayA[i], arrayB[i])) {
1099
+ return false;
1100
+ }
1101
+ }
1102
+ return true;
1103
+ };
1104
+ var isEqual = function isEqual(value1, value2) {
1105
+ if (Array.isArray(value1) && Array.isArray(value2)) {
1106
+ return arrayEquals(value1, value2);
1107
+ }
1108
+ return autoprefixer_looseEqual(value1, value2);
1109
+ };
1110
+ var autoprefixer_isEmpty = function isEmpty(val) {
1111
+ // null or undefined
1112
+ if (val == null) return true;
1113
+ if (typeof val === 'boolean') return false;
1114
+ if (typeof val === 'number') return !val;
1115
+ if (val instanceof Error) return val.message === '';
1116
+ switch (Object.prototype.toString.call(val)) {
1117
+ // String or Array
1118
+ case '[object String]':
1119
+ case '[object Array]':
1120
+ return !val.length;
1121
+ // Map or Set or File
1122
+ case '[object File]':
1123
+ case '[object Map]':
1124
+ case '[object Set]':
1125
+ {
1126
+ return !val.size;
1127
+ }
1128
+ // Plain Object
1129
+ case '[object Object]':
1130
+ {
1131
+ return !keys_default()(val).length;
1132
+ }
1133
+ }
1134
+ return false;
1135
+ };
1136
+ function rafThrottle(fn) {
1137
+ var locked = false;
1138
+ return function () {
1139
+ var _this = this;
1140
+
1141
+ for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
1142
+ args[_key] = arguments[_key];
1143
+ }
1144
+
1145
+ if (locked) return;
1146
+ locked = true;
1147
+ window.requestAnimationFrame(function (_) {
1148
+ fn.apply(_this, args);
1149
+ locked = false;
1150
+ });
1151
+ };
1152
+ }
1153
+ function objToArray(obj) {
1154
+ if (Array.isArray(obj)) {
1155
+ return obj;
1156
+ }
1157
+ return autoprefixer_isEmpty(obj) ? [] : [obj];
1158
+ }
1159
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/carousel/carousel-item.vue?vue&type=script&lang=js&
1160
+ //
1161
+ //
1162
+ //
1163
+ //
1164
+ //
1165
+ //
1166
+ //
1167
+ //
1168
+ //
1169
+ //
1170
+ //
1171
+ //
1172
+ //
1173
+ //
1174
+ //
1175
+ //
1176
+ //
1177
+ //
1178
+ //
1179
+ //
1180
+ //
1181
+ //
1182
+ //
1183
+
1184
+
1185
+ var CARD_SCALE = 0.83;
1186
+ /* harmony default export */ var carousel_itemvue_type_script_lang_js_ = ({
1187
+ name: 'MdsCarouselItem',
1188
+ props: {
1189
+ name: String,
1190
+ label: {
1191
+ type: [String, Number],
1192
+ default: ''
1193
+ }
1194
+ },
1195
+ data: function data() {
1196
+ return {
1197
+ hover: false,
1198
+ translate: 0,
1199
+ scale: 1,
1200
+ active: false,
1201
+ ready: false,
1202
+ inStage: false,
1203
+ animating: false
1204
+ };
1205
+ },
1206
+
1207
+ methods: {
1208
+ processIndex: function processIndex(index, activeIndex, length) {
1209
+ if (activeIndex === 0 && index === length - 1) {
1210
+ return -1;
1211
+ } else if (activeIndex === length - 1 && index === 0) {
1212
+ return length;
1213
+ } else if (index < activeIndex - 1 && activeIndex - index >= length / 2) {
1214
+ return length + 1;
1215
+ } else if (index > activeIndex + 1 && index - activeIndex >= length / 2) {
1216
+ return -2;
1217
+ }
1218
+ return index;
1219
+ },
1220
+ calcCardTranslate: function calcCardTranslate(index, activeIndex) {
1221
+ var parentWidth = this.$parent.$el.offsetWidth;
1222
+ if (this.inStage) {
1223
+ return parentWidth * ((2 - CARD_SCALE) * (index - activeIndex) + 1) / 4;
1224
+ } else if (index < activeIndex) {
1225
+ return -(1 + CARD_SCALE) * parentWidth / 4;
1226
+ } else {
1227
+ return (3 + CARD_SCALE) * parentWidth / 4;
1228
+ }
1229
+ },
1230
+ calcTranslate: function calcTranslate(index, activeIndex, isVertical) {
1231
+ var keys = isVertical ? 'offsetHeight' : 'offsetWidth';
1232
+ var distance = this.$parent.$el[keys];
1233
+ return distance * (index - activeIndex);
1234
+ },
1235
+ translateItem: function translateItem(index, activeIndex, oldIndex) {
1236
+ var parentType = this.$parent.type;
1237
+ var parentDirection = this.parentDirection;
1238
+ var length = this.$parent.items.length;
1239
+ if (parentType !== 'card' && oldIndex !== undefined) {
1240
+ this.animating = index === activeIndex || index === oldIndex;
1241
+ }
1242
+ if (index !== activeIndex && length > 2 && this.$parent.loop) {
1243
+ index = this.processIndex(index, activeIndex, length);
1244
+ }
1245
+ if (parentType === 'card') {
1246
+ if (parentDirection === 'vertical') {
1247
+ console.warn('[Element Warn][Carousel]vertical direction is not supported in card mode');
1248
+ }
1249
+ this.inStage = Math.round(Math.abs(index - activeIndex)) <= 1;
1250
+ this.active = index === activeIndex;
1251
+ this.translate = this.calcCardTranslate(index, activeIndex);
1252
+ this.scale = this.active ? 1 : CARD_SCALE;
1253
+ } else {
1254
+ this.active = index === activeIndex;
1255
+ var isVertical = parentDirection === 'vertical';
1256
+ this.translate = this.calcTranslate(index, activeIndex, isVertical);
1257
+ }
1258
+ this.ready = true;
1259
+ },
1260
+ handleItemClick: function handleItemClick() {
1261
+ var parent = this.$parent;
1262
+ if (parent && parent.type === 'card') {
1263
+ var index = parent.items.indexOf(this);
1264
+ parent.setActiveItem(index);
1265
+ }
1266
+ }
1267
+ },
1268
+ computed: {
1269
+ parentDirection: function parentDirection() {
1270
+ return this.$parent.direction;
1271
+ },
1272
+ itemStyle: function itemStyle() {
1273
+ var translateType = this.parentDirection === 'vertical' ? 'translateY' : 'translateX';
1274
+ var value = translateType + '(' + this.translate + 'px) scale(' + this.scale + ')';
1275
+ var style = {
1276
+ transform: value
1277
+ };
1278
+ return autoprefixer_autoprefixer(style);
1279
+ }
1280
+ },
1281
+ created: function created() {
1282
+ this.$parent && this.$parent.updateItems();
1283
+ },
1284
+ destroyed: function destroyed() {
1285
+ this.$parent && this.$parent.updateItems();
1286
+ }
1287
+ });
1288
+ // CONCATENATED MODULE: ./components/carousel/carousel-item.vue?vue&type=script&lang=js&
1289
+ /* harmony default export */ var carousel_carousel_itemvue_type_script_lang_js_ = (carousel_itemvue_type_script_lang_js_);
1290
+ // CONCATENATED MODULE: ./components/carousel/carousel-item.vue
1291
+
1292
+
1293
+
1294
+
1295
+
1296
+ /* normalize component */
1297
+
1298
+ var carousel_item_component = Object(componentNormalizer["a" /* default */])(
1299
+ carousel_carousel_itemvue_type_script_lang_js_,
1300
+ carousel_itemvue_type_template_id_73158f6c_render,
1301
+ carousel_itemvue_type_template_id_73158f6c_staticRenderFns,
1302
+ false,
1303
+ null,
1304
+ null,
1305
+ null
1306
+
1307
+ )
1308
+
1309
+ /* hot reload */
1310
+ if (false) { var carousel_item_api; }
1311
+ carousel_item_component.options.__file = "components/carousel/carousel-item.vue"
1312
+ /* harmony default export */ var carousel_item = (carousel_item_component.exports);
1313
+ // CONCATENATED MODULE: ./components/carousel/index.js
1314
+
1315
+
1316
+
1317
+ carousel.install = function (Vue) {
1318
+ Vue.component(carousel.name, carousel);
1319
+ Vue.component(carousel_item.name, carousel_item);
1320
+ };
1321
+ /* harmony default export */ var components_carousel = __webpack_exports__["default"] = (carousel);
1322
+
1323
+ /***/ })
1324
+
1325
+ /******/ });
1326
+ });