@britecore/bc-design-system 3.32.2 → 3.33.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 (162) hide show
  1. package/lib/actions-failure-dialog.js +8 -8
  2. package/lib/alert.js +8 -8
  3. package/lib/autocomplete.js +459 -890
  4. package/lib/badge.js +8 -8
  5. package/lib/breadcrumb-item.js +8 -8
  6. package/lib/breadcrumb.js +22 -22
  7. package/lib/breakpoint.js +16 -16
  8. package/lib/button-group.js +8 -8
  9. package/lib/button-link.js +10 -22
  10. package/lib/button.js +8 -8
  11. package/lib/card.js +8 -8
  12. package/lib/cascader-panel.js +128 -830
  13. package/lib/cascader.js +731 -1079
  14. package/lib/checkbox-button.js +8 -8
  15. package/lib/checkbox-group.js +8 -8
  16. package/lib/checkbox.js +8 -8
  17. package/lib/col.js +4 -4
  18. package/lib/collapse-item.js +18 -18
  19. package/lib/collapse.js +8 -8
  20. package/lib/data-filter.js +8 -8
  21. package/lib/data-table-action-buttons.js +20 -20
  22. package/lib/data-table-cell.js +10 -10
  23. package/lib/data-table-collapsible-row.js +8 -8
  24. package/lib/data-table-column-header.js +6 -6
  25. package/lib/data-table-column.js +6 -6
  26. package/lib/data-table-row.js +16 -16
  27. package/lib/data-table.js +100 -94
  28. package/lib/date-display.js +12 -12
  29. package/lib/date-picker.js +2436 -2873
  30. package/lib/dialog.js +59 -60
  31. package/lib/dropdown-item.js +8 -8
  32. package/lib/dropdown-menu.js +314 -315
  33. package/lib/dropdown.js +61 -61
  34. package/lib/element-ui.common.js +1801 -2183
  35. package/lib/filter-badges.js +22 -22
  36. package/lib/filter-button.js +8 -8
  37. package/lib/filters-display.js +101 -101
  38. package/lib/form-filter-item.js +67 -67
  39. package/lib/form-filter.js +79 -79
  40. package/lib/form-item.js +8 -8
  41. package/lib/form.js +8 -8
  42. package/lib/index.js +1 -1
  43. package/lib/infinite-scroll.js +8 -8
  44. package/lib/inline-editor.js +16 -16
  45. package/lib/inline-status.js +8 -8
  46. package/lib/input-number.js +55 -55
  47. package/lib/input-password.js +47 -47
  48. package/lib/input-phone-number.js +26 -26
  49. package/lib/input-tag.js +10 -10
  50. package/lib/input-validation-code.js +25 -25
  51. package/lib/input.js +16 -17
  52. package/lib/list-group-item.js +8 -8
  53. package/lib/list-group.js +8 -8
  54. package/lib/loading-wrapper.js +8 -8
  55. package/lib/loading.js +76 -77
  56. package/lib/message-box.js +127 -128
  57. package/lib/message.js +74 -75
  58. package/lib/notification.js +76 -77
  59. package/lib/option-group.js +8 -8
  60. package/lib/option.js +15 -15
  61. package/lib/pagination.js +862 -1217
  62. package/lib/popover.js +317 -318
  63. package/lib/progress.js +8 -8
  64. package/lib/radio-button.js +8 -8
  65. package/lib/radio-filter.js +59 -59
  66. package/lib/radio-group.js +10 -10
  67. package/lib/radio.js +8 -8
  68. package/lib/row.js +4 -4
  69. package/lib/search.js +14 -9
  70. package/lib/select-filter.js +72 -72
  71. package/lib/select.js +229 -580
  72. package/lib/slider.js +923 -924
  73. package/lib/spinner.js +8 -8
  74. package/lib/spreadsheet-preview.js +10 -10
  75. package/lib/step.js +8 -8
  76. package/lib/steps.js +10 -10
  77. package/lib/switch.js +12 -12
  78. package/lib/tab-pane.js +8 -8
  79. package/lib/table-column.js +48 -48
  80. package/lib/table.js +2381 -2382
  81. package/lib/tabs.js +103 -103
  82. package/lib/tag.js +8 -8
  83. package/lib/theme-chalk/autocomplete.css +1 -1
  84. package/lib/theme-chalk/cascader-panel.css +1 -1
  85. package/lib/theme-chalk/cascader.css +1 -1
  86. package/lib/theme-chalk/date-picker.css +1 -1
  87. package/lib/theme-chalk/index.css +1 -1
  88. package/lib/theme-chalk/input-number.css +1 -1
  89. package/lib/theme-chalk/input.css +1 -1
  90. package/lib/theme-chalk/message-box.css +1 -1
  91. package/lib/theme-chalk/pagination.css +1 -1
  92. package/lib/theme-chalk/select-dropdown.css +1 -1
  93. package/lib/theme-chalk/select.css +1 -1
  94. package/lib/theme-chalk/slider.css +1 -1
  95. package/lib/theme-chalk/table-column.css +1 -1
  96. package/lib/theme-chalk/time-picker.css +1 -1
  97. package/lib/theme-chalk/time-select.css +1 -1
  98. package/lib/theme-chalk/transfer.css +1 -1
  99. package/lib/time-picker.js +2432 -2869
  100. package/lib/time-select.js +1461 -1896
  101. package/lib/timeline-item.js +8 -8
  102. package/lib/timeline.js +6 -6
  103. package/lib/tooltip.js +608 -609
  104. package/lib/transfer.js +174 -174
  105. package/lib/tree.js +87 -87
  106. package/lib/upload.js +144 -145
  107. package/lib/utils/scrollbar-width.js +0 -1
  108. package/package.json +2 -2
  109. package/packages/autocomplete/src/autocomplete-suggestions.vue +9 -12
  110. package/packages/button-link/src/main.vue +5 -14
  111. package/packages/cascader/src/cascader.vue +29 -27
  112. package/packages/cascader-panel/src/cascader-menu.vue +13 -14
  113. package/packages/cascader-panel/src/cascader-panel.vue +1 -1
  114. package/packages/data-table/src/DataTable.vue +4 -1
  115. package/packages/date-picker/src/basic/time-spinner.vue +42 -51
  116. package/packages/date-picker/src/panel/time-select.vue +3 -6
  117. package/packages/search/src/main.vue +3 -0
  118. package/packages/select/src/select.vue +13 -18
  119. package/packages/table/src/filter-panel.vue +3 -3
  120. package/packages/theme-chalk/lib/autocomplete.css +1 -1
  121. package/packages/theme-chalk/lib/cascader-panel.css +1 -1
  122. package/packages/theme-chalk/lib/cascader.css +1 -1
  123. package/packages/theme-chalk/lib/date-picker.css +1 -1
  124. package/packages/theme-chalk/lib/index.css +1 -1
  125. package/packages/theme-chalk/lib/input-number.css +1 -1
  126. package/packages/theme-chalk/lib/input.css +1 -1
  127. package/packages/theme-chalk/lib/message-box.css +1 -1
  128. package/packages/theme-chalk/lib/pagination.css +1 -1
  129. package/packages/theme-chalk/lib/select-dropdown.css +1 -1
  130. package/packages/theme-chalk/lib/select.css +1 -1
  131. package/packages/theme-chalk/lib/slider.css +1 -1
  132. package/packages/theme-chalk/lib/table-column.css +1 -1
  133. package/packages/theme-chalk/lib/time-picker.css +1 -1
  134. package/packages/theme-chalk/lib/time-select.css +1 -1
  135. package/packages/theme-chalk/lib/transfer.css +1 -1
  136. package/packages/theme-chalk/src/autocomplete.scss +0 -1
  137. package/packages/theme-chalk/src/cascader-panel.scss +1 -1
  138. package/packages/theme-chalk/src/cascader.scss +1 -0
  139. package/packages/theme-chalk/src/common/utilities.scss +7 -0
  140. package/packages/theme-chalk/src/common/var.json +2 -2
  141. package/packages/theme-chalk/src/common/var.scss +2 -2
  142. package/packages/theme-chalk/src/data-table/data-table.scss +7 -1
  143. package/packages/theme-chalk/src/date-picker/time-spinner.scss +0 -4
  144. package/packages/theme-chalk/src/date-picker.scss +1 -2
  145. package/packages/theme-chalk/src/index.scss +0 -1
  146. package/packages/theme-chalk/src/input.scss +0 -1
  147. package/packages/theme-chalk/src/mixins/mixins.scss +14 -48
  148. package/packages/theme-chalk/src/select-dropdown.scss +1 -1
  149. package/packages/theme-chalk/src/select.scss +0 -1
  150. package/packages/theme-chalk/src/table-column.scss +2 -1
  151. package/packages/theme-chalk/src/time-picker.scss +0 -1
  152. package/packages/theme-chalk/src/time-select.scss +1 -1
  153. package/src/index.js +1 -4
  154. package/src/utils/scrollbar-width.js +0 -1
  155. package/lib/scrollbar.js +0 -1134
  156. package/lib/theme-chalk/scrollbar.css +0 -1
  157. package/packages/scrollbar/index.js +0 -8
  158. package/packages/scrollbar/src/bar.js +0 -88
  159. package/packages/scrollbar/src/main.js +0 -142
  160. package/packages/scrollbar/src/util.js +0 -34
  161. package/packages/theme-chalk/lib/scrollbar.css +0 -1
  162. package/packages/theme-chalk/src/scrollbar.scss +0 -71
package/lib/tooltip.js CHANGED
@@ -61,7 +61,7 @@ module.exports =
61
61
  /******/ __webpack_require__.p = "/dist/";
62
62
  /******/
63
63
  /******/ // Load entry module and return exports
64
- /******/ return __webpack_require__(__webpack_require__.s = 99);
64
+ /******/ return __webpack_require__(__webpack_require__.s = 95);
65
65
  /******/ })
66
66
  /************************************************************************/
67
67
  /******/ ({
@@ -110,129 +110,7 @@ var isDefined = exports.isDefined = function isDefined(val) {
110
110
 
111
111
  /***/ }),
112
112
 
113
- /***/ 100:
114
- /***/ (function(module, exports, __webpack_require__) {
115
-
116
- "use strict";
117
-
118
-
119
- exports.__esModule = true;
120
-
121
- var _assign = __webpack_require__(48);
122
-
123
- var _assign2 = _interopRequireDefault(_assign);
124
-
125
- var _extends2 = __webpack_require__(42);
126
-
127
- var _extends3 = _interopRequireDefault(_extends2);
128
-
129
- var _typeof2 = __webpack_require__(2);
130
-
131
- var _typeof3 = _interopRequireDefault(_typeof2);
132
-
133
- var _vue = __webpack_require__(1);
134
-
135
- var _vue2 = _interopRequireDefault(_vue);
136
-
137
- var _main = __webpack_require__(77);
138
-
139
- var _main2 = _interopRequireDefault(_main);
140
-
141
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
142
-
143
- var Tooltip = _vue2.default.extend(_main2.default);
144
- var validPlacements = ['top', 'right', 'bottom', 'left'].reduce(function (arr, position) {
145
- arr.push(position + '-start', position, position + '-end');
146
- return arr;
147
- }, []);
148
-
149
- var destroyInstance = function destroyInstance(instance) {
150
- var el = instance.$el;
151
- el.parentNode.removeChild(el);
152
- instance.$destroy();
153
- };
154
-
155
- var bindUpdateHandler = function bindUpdateHandler(el, binding) {
156
- // when updating, destroy the previous instance
157
- if (el.$tooltipInstance) destroyInstance(el.$tooltipInstance);
158
-
159
- // prepare props
160
- var props = (0, _typeof3.default)(binding.value) === 'object' ? (0, _extends3.default)({ reference: el }, binding.value) : { reference: el, content: binding.value };
161
- var placement = validPlacements.find(function (placement) {
162
- return binding.arg === placement;
163
- });
164
-
165
- if (placement && !Object.prototype.hasOwnProperty.call(props, 'placement')) props.placement = placement;
166
-
167
- // create instance and pass props
168
- var instance = new Tooltip();
169
- (0, _assign2.default)(instance, props);
170
-
171
- // mount
172
- instance.vm = instance.$mount();
173
- el.appendChild(instance.$el);
174
-
175
- // store reference to destroy in unbind/update
176
- el.$tooltipInstance = instance;
177
- };
178
-
179
- exports.default = {
180
- bind: bindUpdateHandler,
181
- update: bindUpdateHandler,
182
- unbind: function unbind(el) {
183
- if (el.$tooltipInstance) destroyInstance(el.$tooltipInstance);
184
- }
185
- };
186
-
187
- /***/ }),
188
-
189
- /***/ 11:
190
- /***/ (function(module, exports, __webpack_require__) {
191
-
192
- "use strict";
193
-
194
-
195
- exports.__esModule = true;
196
-
197
- exports.default = function () {
198
- if (_vue2.default.prototype.$isServer) return 0;
199
- if (scrollBarWidth !== undefined) return scrollBarWidth;
200
-
201
- var outer = document.createElement('div');
202
- outer.className = 'el-scrollbar__wrap';
203
- outer.style.visibility = 'hidden';
204
- outer.style.width = '100px';
205
- outer.style.position = 'absolute';
206
- outer.style.top = '-9999px';
207
- document.body.appendChild(outer);
208
-
209
- var widthNoScroll = outer.offsetWidth;
210
- outer.style.overflow = 'scroll';
211
-
212
- var inner = document.createElement('div');
213
- inner.style.width = '100%';
214
- outer.appendChild(inner);
215
-
216
- var widthWithScroll = inner.offsetWidth;
217
- outer.parentNode.removeChild(outer);
218
- scrollBarWidth = widthNoScroll - widthWithScroll;
219
-
220
- return scrollBarWidth;
221
- };
222
-
223
- var _vue = __webpack_require__(1);
224
-
225
- var _vue2 = _interopRequireDefault(_vue);
226
-
227
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
228
-
229
- var scrollBarWidth = void 0;
230
-
231
- ;
232
-
233
- /***/ }),
234
-
235
- /***/ 14:
113
+ /***/ 12:
236
114
  /***/ (function(module, exports, __webpack_require__) {
237
115
 
238
116
  "use strict";
@@ -249,11 +127,11 @@ var _merge = __webpack_require__(8);
249
127
 
250
128
  var _merge2 = _interopRequireDefault(_merge);
251
129
 
252
- var _popupManager = __webpack_require__(16);
130
+ var _popupManager = __webpack_require__(15);
253
131
 
254
132
  var _popupManager2 = _interopRequireDefault(_popupManager);
255
133
 
256
- var _scrollbarWidth = __webpack_require__(11);
134
+ var _scrollbarWidth = __webpack_require__(13);
257
135
 
258
136
  var _scrollbarWidth2 = _interopRequireDefault(_scrollbarWidth);
259
137
 
@@ -480,7 +358,52 @@ exports.PopupManager = _popupManager2.default;
480
358
 
481
359
  /***/ }),
482
360
 
483
- /***/ 16:
361
+ /***/ 13:
362
+ /***/ (function(module, exports, __webpack_require__) {
363
+
364
+ "use strict";
365
+
366
+
367
+ exports.__esModule = true;
368
+
369
+ exports.default = function () {
370
+ if (_vue2.default.prototype.$isServer) return 0;
371
+ if (scrollBarWidth !== undefined) return scrollBarWidth;
372
+
373
+ var outer = document.createElement('div');
374
+ outer.style.visibility = 'hidden';
375
+ outer.style.width = '100px';
376
+ outer.style.position = 'absolute';
377
+ outer.style.top = '-9999px';
378
+ document.body.appendChild(outer);
379
+
380
+ var widthNoScroll = outer.offsetWidth;
381
+ outer.style.overflow = 'scroll';
382
+
383
+ var inner = document.createElement('div');
384
+ inner.style.width = '100%';
385
+ outer.appendChild(inner);
386
+
387
+ var widthWithScroll = inner.offsetWidth;
388
+ outer.parentNode.removeChild(outer);
389
+ scrollBarWidth = widthNoScroll - widthWithScroll;
390
+
391
+ return scrollBarWidth;
392
+ };
393
+
394
+ var _vue = __webpack_require__(1);
395
+
396
+ var _vue2 = _interopRequireDefault(_vue);
397
+
398
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
399
+
400
+ var scrollBarWidth = void 0;
401
+
402
+ ;
403
+
404
+ /***/ }),
405
+
406
+ /***/ 15:
484
407
  /***/ (function(module, exports, __webpack_require__) {
485
408
 
486
409
  "use strict";
@@ -711,11 +634,11 @@ var _vue = __webpack_require__(1);
711
634
 
712
635
  var _vue2 = _interopRequireDefault(_vue);
713
636
 
714
- var _popup = __webpack_require__(14);
637
+ var _popup = __webpack_require__(12);
715
638
 
716
639
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
717
640
 
718
- var PopperJS = _vue2.default.prototype.$isServer ? function () {} : __webpack_require__(30);
641
+ var PopperJS = _vue2.default.prototype.$isServer ? function () {} : __webpack_require__(29);
719
642
  var stop = function stop(e) {
720
643
  return e.stopPropagation();
721
644
  };
@@ -910,329 +833,85 @@ exports.default = {
910
833
 
911
834
  /***/ }),
912
835
 
913
- /***/ 3:
836
+ /***/ 29:
914
837
  /***/ (function(module, exports, __webpack_require__) {
915
838
 
916
- "use strict";
839
+ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
840
+ * @fileOverview Kickass library to create and place poppers near their reference elements.
841
+ * @version {{version}}
842
+ * @license
843
+ * Copyright (c) 2016 Federico Zivolo and contributors
844
+ *
845
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
846
+ * of this software and associated documentation files (the "Software"), to deal
847
+ * in the Software without restriction, including without limitation the rights
848
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
849
+ * copies of the Software, and to permit persons to whom the Software is
850
+ * furnished to do so, subject to the following conditions:
851
+ *
852
+ * The above copyright notice and this permission notice shall be included in all
853
+ * copies or substantial portions of the Software.
854
+ *
855
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
856
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
857
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
858
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
859
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
860
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
861
+ * SOFTWARE.
862
+ */
917
863
 
864
+ //
865
+ // Cross module loader
866
+ // Supported: Node, AMD, Browser globals
867
+ //
868
+ ;(function (root, factory) {
869
+ if (true) {
870
+ // AMD. Register as an anonymous module.
871
+ !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
872
+ __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
873
+ (__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :
874
+ __WEBPACK_AMD_DEFINE_FACTORY__),
875
+ __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
876
+ } else if (typeof module === 'object' && module.exports) {
877
+ // Node. Does not work with strict CommonJS, but
878
+ // only CommonJS-like environments that support module.exports,
879
+ // like Node.
880
+ module.exports = factory();
881
+ } else {
882
+ // Browser globals (root is window)
883
+ root.Popper = factory();
884
+ }
885
+ }(this, function () {
918
886
 
919
- exports.__esModule = true;
920
- exports.isInContainer = exports.getScrollContainer = exports.isScroll = exports.getStyle = exports.once = exports.off = exports.on = undefined;
887
+ 'use strict';
921
888
 
922
- var _typeof2 = __webpack_require__(2);
889
+ var root = window;
923
890
 
924
- var _typeof3 = _interopRequireDefault(_typeof2);
891
+ // default options
892
+ var DEFAULTS = {
893
+ // placement of the popper
894
+ placement: 'bottom',
925
895
 
926
- exports.hasClass = hasClass;
927
- exports.addClass = addClass;
928
- exports.removeClass = removeClass;
929
- exports.setStyle = setStyle;
896
+ gpuAcceleration: true,
930
897
 
931
- var _vue = __webpack_require__(1);
898
+ // shift popper from its origin by the given amount of pixels (can be negative)
899
+ offset: 0,
932
900
 
933
- var _vue2 = _interopRequireDefault(_vue);
901
+ // the element which will act as boundary of the popper
902
+ boundariesElement: 'viewport',
934
903
 
935
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
904
+ // amount of pixel used to define a minimum distance between the boundaries and the popper
905
+ boundariesPadding: 5,
936
906
 
937
- var isServer = _vue2.default.prototype.$isServer; /* istanbul ignore next */
907
+ // popper will try to prevent overflow following this order,
908
+ // by default, then, it could overflow on the left and on top of the boundariesElement
909
+ preventOverflowOrder: ['left', 'right', 'top', 'bottom'],
938
910
 
939
- var SPECIAL_CHARS_REGEXP = /([\:\-\_]+(.))/g;
940
- var MOZ_HACK_REGEXP = /^moz([A-Z])/;
941
- var ieVersion = isServer ? 0 : Number(document.documentMode);
911
+ // the behavior used by flip to change the placement of the popper
912
+ flipBehavior: 'flip',
942
913
 
943
- /* istanbul ignore next */
944
- var trim = function trim(string) {
945
- return (string || '').replace(/^[\s\uFEFF]+|[\s\uFEFF]+$/g, '');
946
- };
947
- /* istanbul ignore next */
948
- var camelCase = function camelCase(name) {
949
- return name.replace(SPECIAL_CHARS_REGEXP, function (_, separator, letter, offset) {
950
- return offset ? letter.toUpperCase() : letter;
951
- }).replace(MOZ_HACK_REGEXP, 'Moz$1');
952
- };
953
-
954
- /* istanbul ignore next */
955
- var on = exports.on = function () {
956
- if (!isServer && document.addEventListener) {
957
- return function (element, event, handler) {
958
- if (element && event && handler) {
959
- element.addEventListener(event, handler, false);
960
- }
961
- };
962
- } else {
963
- return function (element, event, handler) {
964
- if (element && event && handler) {
965
- element.attachEvent('on' + event, handler);
966
- }
967
- };
968
- }
969
- }();
970
-
971
- /* istanbul ignore next */
972
- var off = exports.off = function () {
973
- if (!isServer && document.removeEventListener) {
974
- return function (element, event, handler) {
975
- if (element && event) {
976
- element.removeEventListener(event, handler, false);
977
- }
978
- };
979
- } else {
980
- return function (element, event, handler) {
981
- if (element && event) {
982
- element.detachEvent('on' + event, handler);
983
- }
984
- };
985
- }
986
- }();
987
-
988
- /* istanbul ignore next */
989
- var once = exports.once = function once(el, event, fn) {
990
- var listener = function listener() {
991
- if (fn) {
992
- fn.apply(this, arguments);
993
- }
994
- off(el, event, listener);
995
- };
996
- on(el, event, listener);
997
- };
998
-
999
- /* istanbul ignore next */
1000
- function hasClass(el, cls) {
1001
- if (!el || !cls) return false;
1002
- if (cls.indexOf(' ') !== -1) throw new Error('className should not contain space.');
1003
- if (el.classList) {
1004
- return el.classList.contains(cls);
1005
- } else {
1006
- return (' ' + el.className + ' ').indexOf(' ' + cls + ' ') > -1;
1007
- }
1008
- };
1009
-
1010
- /* istanbul ignore next */
1011
- function addClass(el, cls) {
1012
- if (!el) return;
1013
- var curClass = el.className;
1014
- var classes = (cls || '').split(' ');
1015
-
1016
- for (var i = 0, j = classes.length; i < j; i++) {
1017
- var clsName = classes[i];
1018
- if (!clsName) continue;
1019
-
1020
- if (el.classList) {
1021
- el.classList.add(clsName);
1022
- } else if (!hasClass(el, clsName)) {
1023
- curClass += ' ' + clsName;
1024
- }
1025
- }
1026
- if (!el.classList) {
1027
- el.className = curClass;
1028
- }
1029
- };
1030
-
1031
- /* istanbul ignore next */
1032
- function removeClass(el, cls) {
1033
- if (!el || !cls) return;
1034
- var classes = cls.split(' ');
1035
- var curClass = ' ' + el.className + ' ';
1036
-
1037
- for (var i = 0, j = classes.length; i < j; i++) {
1038
- var clsName = classes[i];
1039
- if (!clsName) continue;
1040
-
1041
- if (el.classList) {
1042
- el.classList.remove(clsName);
1043
- } else if (hasClass(el, clsName)) {
1044
- curClass = curClass.replace(' ' + clsName + ' ', ' ');
1045
- }
1046
- }
1047
- if (!el.classList) {
1048
- el.className = trim(curClass);
1049
- }
1050
- };
1051
-
1052
- /* istanbul ignore next */
1053
- var getStyle = exports.getStyle = ieVersion < 9 ? function (element, styleName) {
1054
- if (isServer) return;
1055
- if (!element || !styleName) return null;
1056
- styleName = camelCase(styleName);
1057
- if (styleName === 'float') {
1058
- styleName = 'styleFloat';
1059
- }
1060
- try {
1061
- switch (styleName) {
1062
- case 'opacity':
1063
- try {
1064
- return element.filters.item('alpha').opacity / 100;
1065
- } catch (e) {
1066
- return 1.0;
1067
- }
1068
- default:
1069
- return element.style[styleName] || element.currentStyle ? element.currentStyle[styleName] : null;
1070
- }
1071
- } catch (e) {
1072
- return element.style[styleName];
1073
- }
1074
- } : function (element, styleName) {
1075
- if (isServer) return;
1076
- if (!element || !styleName) return null;
1077
- styleName = camelCase(styleName);
1078
- if (styleName === 'float') {
1079
- styleName = 'cssFloat';
1080
- }
1081
- try {
1082
- var computed = document.defaultView.getComputedStyle(element, '');
1083
- return element.style[styleName] || computed ? computed[styleName] : null;
1084
- } catch (e) {
1085
- return element.style[styleName];
1086
- }
1087
- };
1088
-
1089
- /* istanbul ignore next */
1090
- function setStyle(element, styleName, value) {
1091
- if (!element || !styleName) return;
1092
-
1093
- if ((typeof styleName === 'undefined' ? 'undefined' : (0, _typeof3.default)(styleName)) === 'object') {
1094
- for (var prop in styleName) {
1095
- if (styleName.hasOwnProperty(prop)) {
1096
- setStyle(element, prop, styleName[prop]);
1097
- }
1098
- }
1099
- } else {
1100
- styleName = camelCase(styleName);
1101
- if (styleName === 'opacity' && ieVersion < 9) {
1102
- element.style.filter = isNaN(value) ? '' : 'alpha(opacity=' + value * 100 + ')';
1103
- } else {
1104
- element.style[styleName] = value;
1105
- }
1106
- }
1107
- };
1108
-
1109
- var isScroll = exports.isScroll = function isScroll(el, vertical) {
1110
- if (isServer) return;
1111
-
1112
- var determinedDirection = vertical !== null || vertical !== undefined;
1113
- var overflow = determinedDirection ? vertical ? getStyle(el, 'overflow-y') : getStyle(el, 'overflow-x') : getStyle(el, 'overflow');
1114
-
1115
- return overflow.match(/(scroll|auto)/);
1116
- };
1117
-
1118
- var getScrollContainer = exports.getScrollContainer = function getScrollContainer(el, vertical) {
1119
- if (isServer) return;
1120
-
1121
- var parent = el;
1122
- while (parent) {
1123
- if ([window, document, document.documentElement].includes(parent)) {
1124
- return document.documentElement;
1125
- }
1126
- if (isScroll(parent, vertical)) {
1127
- return parent;
1128
- }
1129
- parent = parent.parentNode;
1130
- }
1131
-
1132
- return parent;
1133
- };
1134
-
1135
- var isInContainer = exports.isInContainer = function isInContainer(el, container) {
1136
- if (isServer || !el || !container) return false;
1137
-
1138
- var elRect = el.getBoundingClientRect();
1139
- var containerRect = void 0;
1140
-
1141
- if ([window, document, document.documentElement, null, undefined].includes(container)) {
1142
- containerRect = {
1143
- top: 0,
1144
- right: window.innerWidth,
1145
- bottom: window.innerHeight,
1146
- left: 0
1147
- };
1148
- } else {
1149
- containerRect = container.getBoundingClientRect();
1150
- }
1151
-
1152
- return elRect.top < containerRect.bottom && elRect.bottom > containerRect.top && elRect.right > containerRect.left && elRect.left < containerRect.right;
1153
- };
1154
-
1155
- /***/ }),
1156
-
1157
- /***/ 30:
1158
- /***/ (function(module, exports, __webpack_require__) {
1159
-
1160
- var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
1161
- * @fileOverview Kickass library to create and place poppers near their reference elements.
1162
- * @version {{version}}
1163
- * @license
1164
- * Copyright (c) 2016 Federico Zivolo and contributors
1165
- *
1166
- * Permission is hereby granted, free of charge, to any person obtaining a copy
1167
- * of this software and associated documentation files (the "Software"), to deal
1168
- * in the Software without restriction, including without limitation the rights
1169
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1170
- * copies of the Software, and to permit persons to whom the Software is
1171
- * furnished to do so, subject to the following conditions:
1172
- *
1173
- * The above copyright notice and this permission notice shall be included in all
1174
- * copies or substantial portions of the Software.
1175
- *
1176
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1177
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1178
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1179
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1180
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1181
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1182
- * SOFTWARE.
1183
- */
1184
-
1185
- //
1186
- // Cross module loader
1187
- // Supported: Node, AMD, Browser globals
1188
- //
1189
- ;(function (root, factory) {
1190
- if (true) {
1191
- // AMD. Register as an anonymous module.
1192
- !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
1193
- __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
1194
- (__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :
1195
- __WEBPACK_AMD_DEFINE_FACTORY__),
1196
- __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
1197
- } else if (typeof module === 'object' && module.exports) {
1198
- // Node. Does not work with strict CommonJS, but
1199
- // only CommonJS-like environments that support module.exports,
1200
- // like Node.
1201
- module.exports = factory();
1202
- } else {
1203
- // Browser globals (root is window)
1204
- root.Popper = factory();
1205
- }
1206
- }(this, function () {
1207
-
1208
- 'use strict';
1209
-
1210
- var root = window;
1211
-
1212
- // default options
1213
- var DEFAULTS = {
1214
- // placement of the popper
1215
- placement: 'bottom',
1216
-
1217
- gpuAcceleration: true,
1218
-
1219
- // shift popper from its origin by the given amount of pixels (can be negative)
1220
- offset: 0,
1221
-
1222
- // the element which will act as boundary of the popper
1223
- boundariesElement: 'viewport',
1224
-
1225
- // amount of pixel used to define a minimum distance between the boundaries and the popper
1226
- boundariesPadding: 5,
1227
-
1228
- // popper will try to prevent overflow following this order,
1229
- // by default, then, it could overflow on the left and on top of the boundariesElement
1230
- preventOverflowOrder: ['left', 'right', 'top', 'bottom'],
1231
-
1232
- // the behavior used by flip to change the placement of the popper
1233
- flipBehavior: 'flip',
1234
-
1235
- arrowElement: '[x-arrow]',
914
+ arrowElement: '[x-arrow]',
1236
915
 
1237
916
  arrowOffset: 0,
1238
917
 
@@ -2259,195 +1938,446 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
2259
1938
  if (getStyleComputedProperty(element, 'position') === 'fixed') {
2260
1939
  return true;
2261
1940
  }
2262
- return element.parentNode ? isFixed(element.parentNode) : element;
1941
+ return element.parentNode ? isFixed(element.parentNode) : element;
1942
+ }
1943
+
1944
+ /**
1945
+ * Set the style to the given popper
1946
+ * @function
1947
+ * @ignore
1948
+ * @argument {Element} element - Element to apply the style to
1949
+ * @argument {Object} styles - Object with a list of properties and values which will be applied to the element
1950
+ */
1951
+ function setStyle(element, styles) {
1952
+ function is_numeric(n) {
1953
+ return (n !== '' && !isNaN(parseFloat(n)) && isFinite(n));
1954
+ }
1955
+ Object.keys(styles).forEach(function(prop) {
1956
+ var unit = '';
1957
+ // add unit if the value is numeric and is one of the following
1958
+ if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && is_numeric(styles[prop])) {
1959
+ unit = 'px';
1960
+ }
1961
+ element.style[prop] = styles[prop] + unit;
1962
+ });
1963
+ }
1964
+
1965
+ /**
1966
+ * Check if the given variable is a function
1967
+ * @function
1968
+ * @ignore
1969
+ * @argument {*} functionToCheck - variable to check
1970
+ * @returns {Boolean} answer to: is a function?
1971
+ */
1972
+ function isFunction(functionToCheck) {
1973
+ var getType = {};
1974
+ return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';
1975
+ }
1976
+
1977
+ /**
1978
+ * Get the position of the given element, relative to its offset parent
1979
+ * @function
1980
+ * @ignore
1981
+ * @param {Element} element
1982
+ * @return {Object} position - Coordinates of the element and its `scrollTop`
1983
+ */
1984
+ function getOffsetRect(element) {
1985
+ var elementRect = {
1986
+ width: element.offsetWidth,
1987
+ height: element.offsetHeight,
1988
+ left: element.offsetLeft,
1989
+ top: element.offsetTop
1990
+ };
1991
+
1992
+ elementRect.right = elementRect.left + elementRect.width;
1993
+ elementRect.bottom = elementRect.top + elementRect.height;
1994
+
1995
+ // position
1996
+ return elementRect;
1997
+ }
1998
+
1999
+ /**
2000
+ * Get bounding client rect of given element
2001
+ * @function
2002
+ * @ignore
2003
+ * @param {HTMLElement} element
2004
+ * @return {Object} client rect
2005
+ */
2006
+ function getBoundingClientRect(element) {
2007
+ var rect = element.getBoundingClientRect();
2008
+
2009
+ // whether the IE version is lower than 11
2010
+ var isIE = navigator.userAgent.indexOf("MSIE") != -1;
2011
+
2012
+ // fix ie document bounding top always 0 bug
2013
+ var rectTop = isIE && element.tagName === 'HTML'
2014
+ ? -element.scrollTop
2015
+ : rect.top;
2016
+
2017
+ return {
2018
+ left: rect.left,
2019
+ top: rectTop,
2020
+ right: rect.right,
2021
+ bottom: rect.bottom,
2022
+ width: rect.right - rect.left,
2023
+ height: rect.bottom - rectTop
2024
+ };
2025
+ }
2026
+
2027
+ /**
2028
+ * Given an element and one of its parents, return the offset
2029
+ * @function
2030
+ * @ignore
2031
+ * @param {HTMLElement} element
2032
+ * @param {HTMLElement} parent
2033
+ * @return {Object} rect
2034
+ */
2035
+ function getOffsetRectRelativeToCustomParent(element, parent, fixed) {
2036
+ var elementRect = getBoundingClientRect(element);
2037
+ var parentRect = getBoundingClientRect(parent);
2038
+
2039
+ if (fixed) {
2040
+ var scrollParent = getScrollParent(parent);
2041
+ parentRect.top += scrollParent.scrollTop;
2042
+ parentRect.bottom += scrollParent.scrollTop;
2043
+ parentRect.left += scrollParent.scrollLeft;
2044
+ parentRect.right += scrollParent.scrollLeft;
2045
+ }
2046
+
2047
+ var rect = {
2048
+ top: elementRect.top - parentRect.top ,
2049
+ left: elementRect.left - parentRect.left ,
2050
+ bottom: (elementRect.top - parentRect.top) + elementRect.height,
2051
+ right: (elementRect.left - parentRect.left) + elementRect.width,
2052
+ width: elementRect.width,
2053
+ height: elementRect.height
2054
+ };
2055
+ return rect;
2056
+ }
2057
+
2058
+ /**
2059
+ * Get the prefixed supported property name
2060
+ * @function
2061
+ * @ignore
2062
+ * @argument {String} property (camelCase)
2063
+ * @returns {String} prefixed property (camelCase)
2064
+ */
2065
+ function getSupportedPropertyName(property) {
2066
+ var prefixes = ['', 'ms', 'webkit', 'moz', 'o'];
2067
+
2068
+ for (var i = 0; i < prefixes.length; i++) {
2069
+ var toCheck = prefixes[i] ? prefixes[i] + property.charAt(0).toUpperCase() + property.slice(1) : property;
2070
+ if (typeof root.document.body.style[toCheck] !== 'undefined') {
2071
+ return toCheck;
2072
+ }
2073
+ }
2074
+ return null;
2263
2075
  }
2264
2076
 
2265
2077
  /**
2266
- * Set the style to the given popper
2078
+ * The Object.assign() method is used to copy the values of all enumerable own properties from one or more source
2079
+ * objects to a target object. It will return the target object.
2080
+ * This polyfill doesn't support symbol properties, since ES5 doesn't have symbols anyway
2081
+ * Source: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign
2267
2082
  * @function
2268
2083
  * @ignore
2269
- * @argument {Element} element - Element to apply the style to
2270
- * @argument {Object} styles - Object with a list of properties and values which will be applied to the element
2271
2084
  */
2272
- function setStyle(element, styles) {
2273
- function is_numeric(n) {
2274
- return (n !== '' && !isNaN(parseFloat(n)) && isFinite(n));
2275
- }
2276
- Object.keys(styles).forEach(function(prop) {
2277
- var unit = '';
2278
- // add unit if the value is numeric and is one of the following
2279
- if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && is_numeric(styles[prop])) {
2280
- unit = 'px';
2085
+ if (!Object.assign) {
2086
+ Object.defineProperty(Object, 'assign', {
2087
+ enumerable: false,
2088
+ configurable: true,
2089
+ writable: true,
2090
+ value: function(target) {
2091
+ if (target === undefined || target === null) {
2092
+ throw new TypeError('Cannot convert first argument to object');
2093
+ }
2094
+
2095
+ var to = Object(target);
2096
+ for (var i = 1; i < arguments.length; i++) {
2097
+ var nextSource = arguments[i];
2098
+ if (nextSource === undefined || nextSource === null) {
2099
+ continue;
2100
+ }
2101
+ nextSource = Object(nextSource);
2102
+
2103
+ var keysArray = Object.keys(nextSource);
2104
+ for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex++) {
2105
+ var nextKey = keysArray[nextIndex];
2106
+ var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);
2107
+ if (desc !== undefined && desc.enumerable) {
2108
+ to[nextKey] = nextSource[nextKey];
2109
+ }
2110
+ }
2111
+ }
2112
+ return to;
2281
2113
  }
2282
- element.style[prop] = styles[prop] + unit;
2283
2114
  });
2284
2115
  }
2285
2116
 
2286
- /**
2287
- * Check if the given variable is a function
2288
- * @function
2289
- * @ignore
2290
- * @argument {*} functionToCheck - variable to check
2291
- * @returns {Boolean} answer to: is a function?
2292
- */
2293
- function isFunction(functionToCheck) {
2294
- var getType = {};
2295
- return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';
2117
+ return Popper;
2118
+ }));
2119
+
2120
+
2121
+ /***/ }),
2122
+
2123
+ /***/ 3:
2124
+ /***/ (function(module, exports, __webpack_require__) {
2125
+
2126
+ "use strict";
2127
+
2128
+
2129
+ exports.__esModule = true;
2130
+ exports.isInContainer = exports.getScrollContainer = exports.isScroll = exports.getStyle = exports.once = exports.off = exports.on = undefined;
2131
+
2132
+ var _typeof2 = __webpack_require__(2);
2133
+
2134
+ var _typeof3 = _interopRequireDefault(_typeof2);
2135
+
2136
+ exports.hasClass = hasClass;
2137
+ exports.addClass = addClass;
2138
+ exports.removeClass = removeClass;
2139
+ exports.setStyle = setStyle;
2140
+
2141
+ var _vue = __webpack_require__(1);
2142
+
2143
+ var _vue2 = _interopRequireDefault(_vue);
2144
+
2145
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2146
+
2147
+ var isServer = _vue2.default.prototype.$isServer; /* istanbul ignore next */
2148
+
2149
+ var SPECIAL_CHARS_REGEXP = /([\:\-\_]+(.))/g;
2150
+ var MOZ_HACK_REGEXP = /^moz([A-Z])/;
2151
+ var ieVersion = isServer ? 0 : Number(document.documentMode);
2152
+
2153
+ /* istanbul ignore next */
2154
+ var trim = function trim(string) {
2155
+ return (string || '').replace(/^[\s\uFEFF]+|[\s\uFEFF]+$/g, '');
2156
+ };
2157
+ /* istanbul ignore next */
2158
+ var camelCase = function camelCase(name) {
2159
+ return name.replace(SPECIAL_CHARS_REGEXP, function (_, separator, letter, offset) {
2160
+ return offset ? letter.toUpperCase() : letter;
2161
+ }).replace(MOZ_HACK_REGEXP, 'Moz$1');
2162
+ };
2163
+
2164
+ /* istanbul ignore next */
2165
+ var on = exports.on = function () {
2166
+ if (!isServer && document.addEventListener) {
2167
+ return function (element, event, handler) {
2168
+ if (element && event && handler) {
2169
+ element.addEventListener(event, handler, false);
2170
+ }
2171
+ };
2172
+ } else {
2173
+ return function (element, event, handler) {
2174
+ if (element && event && handler) {
2175
+ element.attachEvent('on' + event, handler);
2176
+ }
2177
+ };
2178
+ }
2179
+ }();
2180
+
2181
+ /* istanbul ignore next */
2182
+ var off = exports.off = function () {
2183
+ if (!isServer && document.removeEventListener) {
2184
+ return function (element, event, handler) {
2185
+ if (element && event) {
2186
+ element.removeEventListener(event, handler, false);
2187
+ }
2188
+ };
2189
+ } else {
2190
+ return function (element, event, handler) {
2191
+ if (element && event) {
2192
+ element.detachEvent('on' + event, handler);
2193
+ }
2194
+ };
2195
+ }
2196
+ }();
2197
+
2198
+ /* istanbul ignore next */
2199
+ var once = exports.once = function once(el, event, fn) {
2200
+ var listener = function listener() {
2201
+ if (fn) {
2202
+ fn.apply(this, arguments);
2296
2203
  }
2204
+ off(el, event, listener);
2205
+ };
2206
+ on(el, event, listener);
2207
+ };
2297
2208
 
2298
- /**
2299
- * Get the position of the given element, relative to its offset parent
2300
- * @function
2301
- * @ignore
2302
- * @param {Element} element
2303
- * @return {Object} position - Coordinates of the element and its `scrollTop`
2304
- */
2305
- function getOffsetRect(element) {
2306
- var elementRect = {
2307
- width: element.offsetWidth,
2308
- height: element.offsetHeight,
2309
- left: element.offsetLeft,
2310
- top: element.offsetTop
2311
- };
2209
+ /* istanbul ignore next */
2210
+ function hasClass(el, cls) {
2211
+ if (!el || !cls) return false;
2212
+ if (cls.indexOf(' ') !== -1) throw new Error('className should not contain space.');
2213
+ if (el.classList) {
2214
+ return el.classList.contains(cls);
2215
+ } else {
2216
+ return (' ' + el.className + ' ').indexOf(' ' + cls + ' ') > -1;
2217
+ }
2218
+ };
2312
2219
 
2313
- elementRect.right = elementRect.left + elementRect.width;
2314
- elementRect.bottom = elementRect.top + elementRect.height;
2220
+ /* istanbul ignore next */
2221
+ function addClass(el, cls) {
2222
+ if (!el) return;
2223
+ var curClass = el.className;
2224
+ var classes = (cls || '').split(' ');
2315
2225
 
2316
- // position
2317
- return elementRect;
2226
+ for (var i = 0, j = classes.length; i < j; i++) {
2227
+ var clsName = classes[i];
2228
+ if (!clsName) continue;
2229
+
2230
+ if (el.classList) {
2231
+ el.classList.add(clsName);
2232
+ } else if (!hasClass(el, clsName)) {
2233
+ curClass += ' ' + clsName;
2318
2234
  }
2235
+ }
2236
+ if (!el.classList) {
2237
+ el.className = curClass;
2238
+ }
2239
+ };
2319
2240
 
2320
- /**
2321
- * Get bounding client rect of given element
2322
- * @function
2323
- * @ignore
2324
- * @param {HTMLElement} element
2325
- * @return {Object} client rect
2326
- */
2327
- function getBoundingClientRect(element) {
2328
- var rect = element.getBoundingClientRect();
2241
+ /* istanbul ignore next */
2242
+ function removeClass(el, cls) {
2243
+ if (!el || !cls) return;
2244
+ var classes = cls.split(' ');
2245
+ var curClass = ' ' + el.className + ' ';
2329
2246
 
2330
- // whether the IE version is lower than 11
2331
- var isIE = navigator.userAgent.indexOf("MSIE") != -1;
2247
+ for (var i = 0, j = classes.length; i < j; i++) {
2248
+ var clsName = classes[i];
2249
+ if (!clsName) continue;
2250
+
2251
+ if (el.classList) {
2252
+ el.classList.remove(clsName);
2253
+ } else if (hasClass(el, clsName)) {
2254
+ curClass = curClass.replace(' ' + clsName + ' ', ' ');
2255
+ }
2256
+ }
2257
+ if (!el.classList) {
2258
+ el.className = trim(curClass);
2259
+ }
2260
+ };
2261
+
2262
+ /* istanbul ignore next */
2263
+ var getStyle = exports.getStyle = ieVersion < 9 ? function (element, styleName) {
2264
+ if (isServer) return;
2265
+ if (!element || !styleName) return null;
2266
+ styleName = camelCase(styleName);
2267
+ if (styleName === 'float') {
2268
+ styleName = 'styleFloat';
2269
+ }
2270
+ try {
2271
+ switch (styleName) {
2272
+ case 'opacity':
2273
+ try {
2274
+ return element.filters.item('alpha').opacity / 100;
2275
+ } catch (e) {
2276
+ return 1.0;
2277
+ }
2278
+ default:
2279
+ return element.style[styleName] || element.currentStyle ? element.currentStyle[styleName] : null;
2280
+ }
2281
+ } catch (e) {
2282
+ return element.style[styleName];
2283
+ }
2284
+ } : function (element, styleName) {
2285
+ if (isServer) return;
2286
+ if (!element || !styleName) return null;
2287
+ styleName = camelCase(styleName);
2288
+ if (styleName === 'float') {
2289
+ styleName = 'cssFloat';
2290
+ }
2291
+ try {
2292
+ var computed = document.defaultView.getComputedStyle(element, '');
2293
+ return element.style[styleName] || computed ? computed[styleName] : null;
2294
+ } catch (e) {
2295
+ return element.style[styleName];
2296
+ }
2297
+ };
2332
2298
 
2333
- // fix ie document bounding top always 0 bug
2334
- var rectTop = isIE && element.tagName === 'HTML'
2335
- ? -element.scrollTop
2336
- : rect.top;
2299
+ /* istanbul ignore next */
2300
+ function setStyle(element, styleName, value) {
2301
+ if (!element || !styleName) return;
2337
2302
 
2338
- return {
2339
- left: rect.left,
2340
- top: rectTop,
2341
- right: rect.right,
2342
- bottom: rect.bottom,
2343
- width: rect.right - rect.left,
2344
- height: rect.bottom - rectTop
2345
- };
2303
+ if ((typeof styleName === 'undefined' ? 'undefined' : (0, _typeof3.default)(styleName)) === 'object') {
2304
+ for (var prop in styleName) {
2305
+ if (styleName.hasOwnProperty(prop)) {
2306
+ setStyle(element, prop, styleName[prop]);
2307
+ }
2308
+ }
2309
+ } else {
2310
+ styleName = camelCase(styleName);
2311
+ if (styleName === 'opacity' && ieVersion < 9) {
2312
+ element.style.filter = isNaN(value) ? '' : 'alpha(opacity=' + value * 100 + ')';
2313
+ } else {
2314
+ element.style[styleName] = value;
2346
2315
  }
2316
+ }
2317
+ };
2347
2318
 
2348
- /**
2349
- * Given an element and one of its parents, return the offset
2350
- * @function
2351
- * @ignore
2352
- * @param {HTMLElement} element
2353
- * @param {HTMLElement} parent
2354
- * @return {Object} rect
2355
- */
2356
- function getOffsetRectRelativeToCustomParent(element, parent, fixed) {
2357
- var elementRect = getBoundingClientRect(element);
2358
- var parentRect = getBoundingClientRect(parent);
2319
+ var isScroll = exports.isScroll = function isScroll(el, vertical) {
2320
+ if (isServer) return;
2359
2321
 
2360
- if (fixed) {
2361
- var scrollParent = getScrollParent(parent);
2362
- parentRect.top += scrollParent.scrollTop;
2363
- parentRect.bottom += scrollParent.scrollTop;
2364
- parentRect.left += scrollParent.scrollLeft;
2365
- parentRect.right += scrollParent.scrollLeft;
2366
- }
2322
+ var determinedDirection = vertical !== null || vertical !== undefined;
2323
+ var overflow = determinedDirection ? vertical ? getStyle(el, 'overflow-y') : getStyle(el, 'overflow-x') : getStyle(el, 'overflow');
2367
2324
 
2368
- var rect = {
2369
- top: elementRect.top - parentRect.top ,
2370
- left: elementRect.left - parentRect.left ,
2371
- bottom: (elementRect.top - parentRect.top) + elementRect.height,
2372
- right: (elementRect.left - parentRect.left) + elementRect.width,
2373
- width: elementRect.width,
2374
- height: elementRect.height
2375
- };
2376
- return rect;
2377
- }
2325
+ return overflow.match(/(scroll|auto)/);
2326
+ };
2378
2327
 
2379
- /**
2380
- * Get the prefixed supported property name
2381
- * @function
2382
- * @ignore
2383
- * @argument {String} property (camelCase)
2384
- * @returns {String} prefixed property (camelCase)
2385
- */
2386
- function getSupportedPropertyName(property) {
2387
- var prefixes = ['', 'ms', 'webkit', 'moz', 'o'];
2328
+ var getScrollContainer = exports.getScrollContainer = function getScrollContainer(el, vertical) {
2329
+ if (isServer) return;
2388
2330
 
2389
- for (var i = 0; i < prefixes.length; i++) {
2390
- var toCheck = prefixes[i] ? prefixes[i] + property.charAt(0).toUpperCase() + property.slice(1) : property;
2391
- if (typeof root.document.body.style[toCheck] !== 'undefined') {
2392
- return toCheck;
2393
- }
2394
- }
2395
- return null;
2331
+ var parent = el;
2332
+ while (parent) {
2333
+ if ([window, document, document.documentElement].includes(parent)) {
2334
+ return document.documentElement;
2335
+ }
2336
+ if (isScroll(parent, vertical)) {
2337
+ return parent;
2396
2338
  }
2339
+ parent = parent.parentNode;
2340
+ }
2397
2341
 
2398
- /**
2399
- * The Object.assign() method is used to copy the values of all enumerable own properties from one or more source
2400
- * objects to a target object. It will return the target object.
2401
- * This polyfill doesn't support symbol properties, since ES5 doesn't have symbols anyway
2402
- * Source: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign
2403
- * @function
2404
- * @ignore
2405
- */
2406
- if (!Object.assign) {
2407
- Object.defineProperty(Object, 'assign', {
2408
- enumerable: false,
2409
- configurable: true,
2410
- writable: true,
2411
- value: function(target) {
2412
- if (target === undefined || target === null) {
2413
- throw new TypeError('Cannot convert first argument to object');
2414
- }
2342
+ return parent;
2343
+ };
2415
2344
 
2416
- var to = Object(target);
2417
- for (var i = 1; i < arguments.length; i++) {
2418
- var nextSource = arguments[i];
2419
- if (nextSource === undefined || nextSource === null) {
2420
- continue;
2421
- }
2422
- nextSource = Object(nextSource);
2345
+ var isInContainer = exports.isInContainer = function isInContainer(el, container) {
2346
+ if (isServer || !el || !container) return false;
2423
2347
 
2424
- var keysArray = Object.keys(nextSource);
2425
- for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex++) {
2426
- var nextKey = keysArray[nextIndex];
2427
- var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);
2428
- if (desc !== undefined && desc.enumerable) {
2429
- to[nextKey] = nextSource[nextKey];
2430
- }
2431
- }
2432
- }
2433
- return to;
2434
- }
2435
- });
2436
- }
2348
+ var elRect = el.getBoundingClientRect();
2349
+ var containerRect = void 0;
2437
2350
 
2438
- return Popper;
2439
- }));
2351
+ if ([window, document, document.documentElement, null, undefined].includes(container)) {
2352
+ containerRect = {
2353
+ top: 0,
2354
+ right: window.innerWidth,
2355
+ bottom: window.innerHeight,
2356
+ left: 0
2357
+ };
2358
+ } else {
2359
+ containerRect = container.getBoundingClientRect();
2360
+ }
2440
2361
 
2362
+ return elRect.top < containerRect.bottom && elRect.bottom > containerRect.top && elRect.right > containerRect.left && elRect.left < containerRect.right;
2363
+ };
2441
2364
 
2442
2365
  /***/ }),
2443
2366
 
2444
- /***/ 36:
2367
+ /***/ 33:
2445
2368
  /***/ (function(module, exports) {
2446
2369
 
2447
2370
  module.exports = require("throttle-debounce/debounce");
2448
2371
 
2449
2372
  /***/ }),
2450
2373
 
2374
+ /***/ 36:
2375
+ /***/ (function(module, exports) {
2376
+
2377
+ module.exports = require("babel-runtime/helpers/extends");
2378
+
2379
+ /***/ }),
2380
+
2451
2381
  /***/ 4:
2452
2382
  /***/ (function(module, exports, __webpack_require__) {
2453
2383
 
@@ -2720,25 +2650,11 @@ var delay = exports.delay = function delay(ms) {
2720
2650
  /***/ 42:
2721
2651
  /***/ (function(module, exports) {
2722
2652
 
2723
- module.exports = require("babel-runtime/helpers/extends");
2724
-
2725
- /***/ }),
2726
-
2727
- /***/ 48:
2728
- /***/ (function(module, exports) {
2729
-
2730
2653
  module.exports = require("babel-runtime/core-js/object/assign");
2731
2654
 
2732
2655
  /***/ }),
2733
2656
 
2734
- /***/ 5:
2735
- /***/ (function(module, exports) {
2736
-
2737
- module.exports = require("babel-runtime/core-js/object/keys");
2738
-
2739
- /***/ }),
2740
-
2741
- /***/ 52:
2657
+ /***/ 46:
2742
2658
  /***/ (function(module, exports, __webpack_require__) {
2743
2659
 
2744
2660
  "use strict";
@@ -2769,6 +2685,13 @@ function getFirstComponentChild(children) {
2769
2685
 
2770
2686
  /***/ }),
2771
2687
 
2688
+ /***/ 5:
2689
+ /***/ (function(module, exports) {
2690
+
2691
+ module.exports = require("babel-runtime/core-js/object/keys");
2692
+
2693
+ /***/ }),
2694
+
2772
2695
  /***/ 7:
2773
2696
  /***/ (function(module, exports) {
2774
2697
 
@@ -2776,7 +2699,7 @@ module.exports = require("babel-runtime/core-js/json/stringify");
2776
2699
 
2777
2700
  /***/ }),
2778
2701
 
2779
- /***/ 77:
2702
+ /***/ 73:
2780
2703
  /***/ (function(module, exports, __webpack_require__) {
2781
2704
 
2782
2705
  "use strict";
@@ -2788,13 +2711,13 @@ var _vuePopper = __webpack_require__(21);
2788
2711
 
2789
2712
  var _vuePopper2 = _interopRequireDefault(_vuePopper);
2790
2713
 
2791
- var _debounce = __webpack_require__(36);
2714
+ var _debounce = __webpack_require__(33);
2792
2715
 
2793
2716
  var _debounce2 = _interopRequireDefault(_debounce);
2794
2717
 
2795
2718
  var _dom = __webpack_require__(3);
2796
2719
 
2797
- var _vdom = __webpack_require__(52);
2720
+ var _vdom = __webpack_require__(46);
2798
2721
 
2799
2722
  var _util = __webpack_require__(4);
2800
2723
 
@@ -3073,7 +2996,7 @@ module.exports = require("babel-runtime/core-js/promise");
3073
2996
 
3074
2997
  /***/ }),
3075
2998
 
3076
- /***/ 99:
2999
+ /***/ 95:
3077
3000
  /***/ (function(module, exports, __webpack_require__) {
3078
3001
 
3079
3002
  "use strict";
@@ -3085,11 +3008,11 @@ var _vue = __webpack_require__(1);
3085
3008
 
3086
3009
  var _vue2 = _interopRequireDefault(_vue);
3087
3010
 
3088
- var _main = __webpack_require__(77);
3011
+ var _main = __webpack_require__(73);
3089
3012
 
3090
3013
  var _main2 = _interopRequireDefault(_main);
3091
3014
 
3092
- var _directive = __webpack_require__(100);
3015
+ var _directive = __webpack_require__(96);
3093
3016
 
3094
3017
  var _directive2 = _interopRequireDefault(_directive);
3095
3018
 
@@ -3104,6 +3027,82 @@ _main2.default.install = function (Vue) {
3104
3027
 
3105
3028
  exports.default = _main2.default;
3106
3029
 
3030
+ /***/ }),
3031
+
3032
+ /***/ 96:
3033
+ /***/ (function(module, exports, __webpack_require__) {
3034
+
3035
+ "use strict";
3036
+
3037
+
3038
+ exports.__esModule = true;
3039
+
3040
+ var _assign = __webpack_require__(42);
3041
+
3042
+ var _assign2 = _interopRequireDefault(_assign);
3043
+
3044
+ var _extends2 = __webpack_require__(36);
3045
+
3046
+ var _extends3 = _interopRequireDefault(_extends2);
3047
+
3048
+ var _typeof2 = __webpack_require__(2);
3049
+
3050
+ var _typeof3 = _interopRequireDefault(_typeof2);
3051
+
3052
+ var _vue = __webpack_require__(1);
3053
+
3054
+ var _vue2 = _interopRequireDefault(_vue);
3055
+
3056
+ var _main = __webpack_require__(73);
3057
+
3058
+ var _main2 = _interopRequireDefault(_main);
3059
+
3060
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
3061
+
3062
+ var Tooltip = _vue2.default.extend(_main2.default);
3063
+ var validPlacements = ['top', 'right', 'bottom', 'left'].reduce(function (arr, position) {
3064
+ arr.push(position + '-start', position, position + '-end');
3065
+ return arr;
3066
+ }, []);
3067
+
3068
+ var destroyInstance = function destroyInstance(instance) {
3069
+ var el = instance.$el;
3070
+ el.parentNode.removeChild(el);
3071
+ instance.$destroy();
3072
+ };
3073
+
3074
+ var bindUpdateHandler = function bindUpdateHandler(el, binding) {
3075
+ // when updating, destroy the previous instance
3076
+ if (el.$tooltipInstance) destroyInstance(el.$tooltipInstance);
3077
+
3078
+ // prepare props
3079
+ var props = (0, _typeof3.default)(binding.value) === 'object' ? (0, _extends3.default)({ reference: el }, binding.value) : { reference: el, content: binding.value };
3080
+ var placement = validPlacements.find(function (placement) {
3081
+ return binding.arg === placement;
3082
+ });
3083
+
3084
+ if (placement && !Object.prototype.hasOwnProperty.call(props, 'placement')) props.placement = placement;
3085
+
3086
+ // create instance and pass props
3087
+ var instance = new Tooltip();
3088
+ (0, _assign2.default)(instance, props);
3089
+
3090
+ // mount
3091
+ instance.vm = instance.$mount();
3092
+ el.appendChild(instance.$el);
3093
+
3094
+ // store reference to destroy in unbind/update
3095
+ el.$tooltipInstance = instance;
3096
+ };
3097
+
3098
+ exports.default = {
3099
+ bind: bindUpdateHandler,
3100
+ update: bindUpdateHandler,
3101
+ unbind: function unbind(el) {
3102
+ if (el.$tooltipInstance) destroyInstance(el.$tooltipInstance);
3103
+ }
3104
+ };
3105
+
3107
3106
  /***/ })
3108
3107
 
3109
3108
  /******/ });