buefy 0.9.13 → 0.9.14

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 (230) hide show
  1. package/dist/buefy.css +1 -1
  2. package/dist/buefy.esm.js +167 -117
  3. package/dist/buefy.esm.min.js +2 -2
  4. package/dist/buefy.js +168 -116
  5. package/dist/buefy.min.css +1 -1
  6. package/dist/buefy.min.js +2 -2
  7. package/dist/cjs/autocomplete.js +5 -5
  8. package/dist/cjs/breadcrumb.js +1 -1
  9. package/dist/cjs/button.js +3 -3
  10. package/dist/cjs/carousel.js +4 -4
  11. package/dist/cjs/{chunk-c6fbc7b4.js → chunk-02406b6a.js} +2 -2
  12. package/dist/cjs/{chunk-d0f8ea39.js → chunk-0cc2e136.js} +6 -6
  13. package/dist/cjs/{chunk-114191ae.js → chunk-0d901f36.js} +2 -2
  14. package/dist/cjs/{chunk-9e4cf4c5.js → chunk-1061ac68.js} +1 -1
  15. package/dist/cjs/{chunk-2c7de785.js → chunk-1d2f05e0.js} +0 -0
  16. package/dist/cjs/{chunk-30670fac.js → chunk-2a2403f9.js} +78 -62
  17. package/dist/cjs/{chunk-d54e40f6.js → chunk-2cdb1a89.js} +2 -9
  18. package/dist/cjs/{chunk-34949503.js → chunk-4a3a5cf7.js} +1 -1
  19. package/dist/cjs/{chunk-fe2f57ee.js → chunk-4ebee779.js} +2 -2
  20. package/dist/cjs/{chunk-2062216d.js → chunk-5a7e385c.js} +1 -1
  21. package/dist/cjs/{chunk-f5106717.js → chunk-74fb31db.js} +3 -3
  22. package/dist/cjs/{chunk-7da0c017.js → chunk-a267720d.js} +21 -21
  23. package/dist/cjs/{chunk-a11294f9.js → chunk-a268cb3d.js} +2 -2
  24. package/dist/cjs/{chunk-c7b2aa4b.js → chunk-bb7da16a.js} +1 -1
  25. package/dist/cjs/{chunk-2ae50815.js → chunk-bebdaf0b.js} +3 -3
  26. package/dist/cjs/{chunk-9103eeda.js → chunk-c0adb618.js} +1 -1
  27. package/dist/cjs/{chunk-d120e215.js → chunk-d7d30e52.js} +1 -1
  28. package/dist/cjs/{chunk-fefd7b77.js → chunk-ddd15f05.js} +0 -0
  29. package/dist/cjs/{chunk-2911aa4b.js → chunk-e8dc6270.js} +14 -11
  30. package/dist/cjs/{chunk-3cc5d9a6.js → chunk-eb8d954b.js} +0 -0
  31. package/dist/cjs/{chunk-6cb902f8.js → chunk-f536c03f.js} +1 -1
  32. package/dist/cjs/{chunk-61023b09.js → chunk-fbf3566e.js} +2 -2
  33. package/dist/cjs/clockpicker.js +8 -8
  34. package/dist/cjs/config.js +1 -1
  35. package/dist/cjs/datepicker.js +9 -9
  36. package/dist/cjs/datetimepicker.js +11 -11
  37. package/dist/cjs/dialog.js +4 -4
  38. package/dist/cjs/dropdown.js +3 -3
  39. package/dist/cjs/field.js +2 -2
  40. package/dist/cjs/helpers.js +20 -0
  41. package/dist/cjs/icon.js +2 -2
  42. package/dist/cjs/image.js +2 -2
  43. package/dist/cjs/index.js +24 -22
  44. package/dist/cjs/input.js +4 -4
  45. package/dist/cjs/loading.js +2 -2
  46. package/dist/cjs/menu.js +2 -2
  47. package/dist/cjs/message.js +3 -3
  48. package/dist/cjs/modal.js +2 -2
  49. package/dist/cjs/navbar.js +3 -0
  50. package/dist/cjs/notification.js +4 -4
  51. package/dist/cjs/numberinput.js +4 -4
  52. package/dist/cjs/pagination.js +3 -3
  53. package/dist/cjs/progress.js +2 -2
  54. package/dist/cjs/rate.js +2 -2
  55. package/dist/cjs/select.js +4 -4
  56. package/dist/cjs/sidebar.js +1 -1
  57. package/dist/cjs/slider.js +2 -2
  58. package/dist/cjs/snackbar.js +4 -3
  59. package/dist/cjs/steps.js +5 -5
  60. package/dist/cjs/switch.js +1 -1
  61. package/dist/cjs/table.js +24 -22
  62. package/dist/cjs/tabs.js +7 -7
  63. package/dist/cjs/taginput.js +5 -5
  64. package/dist/cjs/timepicker.js +10 -10
  65. package/dist/cjs/toast.js +2 -2
  66. package/dist/cjs/tooltip.js +2 -2
  67. package/dist/cjs/upload.js +21 -7
  68. package/dist/components/autocomplete/index.js +78 -62
  69. package/dist/components/autocomplete/index.min.js +2 -2
  70. package/dist/components/breadcrumb/index.js +2 -2
  71. package/dist/components/breadcrumb/index.min.js +1 -1
  72. package/dist/components/button/index.js +2 -2
  73. package/dist/components/button/index.min.js +2 -2
  74. package/dist/components/carousel/index.js +2 -2
  75. package/dist/components/carousel/index.min.js +2 -2
  76. package/dist/components/checkbox/index.js +1 -1
  77. package/dist/components/checkbox/index.min.js +1 -1
  78. package/dist/components/clockpicker/index.js +22 -22
  79. package/dist/components/clockpicker/index.min.js +2 -2
  80. package/dist/components/collapse/index.js +1 -1
  81. package/dist/components/collapse/index.min.js +1 -1
  82. package/dist/components/datepicker/index.js +29 -26
  83. package/dist/components/datepicker/index.min.js +2 -2
  84. package/dist/components/datetimepicker/index.js +29 -26
  85. package/dist/components/datetimepicker/index.min.js +2 -2
  86. package/dist/components/dialog/index.js +2 -2
  87. package/dist/components/dialog/index.min.js +2 -2
  88. package/dist/components/dropdown/index.js +2 -2
  89. package/dist/components/dropdown/index.min.js +1 -1
  90. package/dist/components/field/index.js +22 -22
  91. package/dist/components/field/index.min.js +1 -1
  92. package/dist/components/icon/index.js +2 -2
  93. package/dist/components/icon/index.min.js +2 -2
  94. package/dist/components/image/index.js +2 -2
  95. package/dist/components/image/index.min.js +2 -2
  96. package/dist/components/input/index.js +2 -2
  97. package/dist/components/input/index.min.js +2 -2
  98. package/dist/components/loading/index.js +1 -1
  99. package/dist/components/loading/index.min.js +1 -1
  100. package/dist/components/menu/index.js +2 -2
  101. package/dist/components/menu/index.min.js +2 -2
  102. package/dist/components/message/index.js +2 -2
  103. package/dist/components/message/index.min.js +2 -2
  104. package/dist/components/modal/index.js +2 -2
  105. package/dist/components/modal/index.min.js +2 -2
  106. package/dist/components/navbar/index.js +4 -1
  107. package/dist/components/navbar/index.min.js +2 -2
  108. package/dist/components/notification/index.js +3 -10
  109. package/dist/components/notification/index.min.js +2 -2
  110. package/dist/components/numberinput/index.js +2 -2
  111. package/dist/components/numberinput/index.min.js +2 -2
  112. package/dist/components/pagination/index.js +2 -2
  113. package/dist/components/pagination/index.min.js +2 -2
  114. package/dist/components/progress/index.js +2 -2
  115. package/dist/components/progress/index.min.js +2 -2
  116. package/dist/components/radio/index.js +1 -1
  117. package/dist/components/radio/index.min.js +1 -1
  118. package/dist/components/rate/index.js +2 -2
  119. package/dist/components/rate/index.min.js +2 -2
  120. package/dist/components/select/index.js +2 -2
  121. package/dist/components/select/index.min.js +2 -2
  122. package/dist/components/sidebar/index.js +2 -2
  123. package/dist/components/sidebar/index.min.js +1 -1
  124. package/dist/components/skeleton/index.js +1 -1
  125. package/dist/components/skeleton/index.min.js +1 -1
  126. package/dist/components/slider/index.js +2 -2
  127. package/dist/components/slider/index.min.js +2 -2
  128. package/dist/components/snackbar/index.js +5 -11
  129. package/dist/components/snackbar/index.min.js +2 -2
  130. package/dist/components/steps/index.js +2 -2
  131. package/dist/components/steps/index.min.js +2 -2
  132. package/dist/components/switch/index.js +2 -2
  133. package/dist/components/switch/index.min.js +1 -1
  134. package/dist/components/table/index.js +36 -16
  135. package/dist/components/table/index.min.js +2 -2
  136. package/dist/components/tabs/index.js +4 -4
  137. package/dist/components/tabs/index.min.js +2 -2
  138. package/dist/components/tag/index.js +1 -1
  139. package/dist/components/tag/index.min.js +1 -1
  140. package/dist/components/taginput/index.js +78 -62
  141. package/dist/components/taginput/index.min.js +2 -2
  142. package/dist/components/timepicker/index.js +22 -22
  143. package/dist/components/timepicker/index.min.js +2 -2
  144. package/dist/components/toast/index.js +3 -10
  145. package/dist/components/toast/index.min.js +2 -2
  146. package/dist/components/tooltip/index.js +2 -2
  147. package/dist/components/tooltip/index.min.js +1 -1
  148. package/dist/components/upload/index.js +21 -7
  149. package/dist/components/upload/index.min.js +2 -2
  150. package/dist/esm/autocomplete.js +6 -6
  151. package/dist/esm/breadcrumb.js +1 -1
  152. package/dist/esm/button.js +4 -4
  153. package/dist/esm/carousel.js +4 -4
  154. package/dist/esm/{chunk-21fc0948.js → chunk-03f0ac1a.js} +6 -6
  155. package/dist/esm/{chunk-b0c0c6b0.js → chunk-0c4e4e90.js} +0 -0
  156. package/dist/esm/{chunk-ae8ab23a.js → chunk-113685dc.js} +3 -3
  157. package/dist/esm/{chunk-71a547bc.js → chunk-1b63211c.js} +1 -1
  158. package/dist/esm/{chunk-d7f92d97.js → chunk-1f41edb4.js} +1 -1
  159. package/dist/esm/{chunk-3773c62d.js → chunk-2229e354.js} +1 -1
  160. package/dist/esm/{chunk-83eb0d37.js → chunk-40f06d9c.js} +2 -2
  161. package/dist/esm/{chunk-75a5af93.js → chunk-590a6902.js} +1 -1
  162. package/dist/esm/{chunk-22e9f916.js → chunk-5f0c3fc4.js} +14 -11
  163. package/dist/esm/{chunk-6019fd7a.js → chunk-79ac4d01.js} +79 -63
  164. package/dist/esm/{chunk-8ed29c41.js → chunk-8cad1844.js} +1 -1
  165. package/dist/esm/{chunk-29ca0df8.js → chunk-91404fa9.js} +0 -0
  166. package/dist/esm/{chunk-b07e3182.js → chunk-97f201e0.js} +21 -21
  167. package/dist/esm/{chunk-c9c58d0c.js → chunk-9e0ae963.js} +0 -0
  168. package/dist/esm/{chunk-ece062a7.js → chunk-a8516afd.js} +2 -2
  169. package/dist/esm/{chunk-4b67a181.js → chunk-b66a83ce.js} +2 -2
  170. package/dist/esm/{chunk-9f7f7441.js → chunk-b99e83bd.js} +1 -1
  171. package/dist/esm/{chunk-18e8b067.js → chunk-bbf5d78a.js} +2 -2
  172. package/dist/esm/{chunk-8d0f95b8.js → chunk-e01e9ef0.js} +3 -3
  173. package/dist/esm/{chunk-799e084d.js → chunk-e7eb83d8.js} +2 -9
  174. package/dist/esm/{chunk-d92f0cd9.js → chunk-ea9bc877.js} +1 -1
  175. package/dist/esm/{chunk-e7c9b2cb.js → chunk-efec59b6.js} +2 -2
  176. package/dist/esm/clockpicker.js +8 -8
  177. package/dist/esm/config.js +1 -1
  178. package/dist/esm/datepicker.js +10 -10
  179. package/dist/esm/datetimepicker.js +11 -11
  180. package/dist/esm/dialog.js +4 -4
  181. package/dist/esm/dropdown.js +4 -4
  182. package/dist/esm/field.js +3 -3
  183. package/dist/esm/helpers.js +19 -1
  184. package/dist/esm/icon.js +3 -3
  185. package/dist/esm/image.js +3 -3
  186. package/dist/esm/index.js +23 -23
  187. package/dist/esm/input.js +5 -5
  188. package/dist/esm/loading.js +3 -3
  189. package/dist/esm/menu.js +2 -2
  190. package/dist/esm/message.js +3 -3
  191. package/dist/esm/modal.js +3 -3
  192. package/dist/esm/navbar.js +3 -0
  193. package/dist/esm/notification.js +4 -4
  194. package/dist/esm/numberinput.js +4 -4
  195. package/dist/esm/pagination.js +4 -4
  196. package/dist/esm/progress.js +2 -2
  197. package/dist/esm/rate.js +2 -2
  198. package/dist/esm/select.js +5 -5
  199. package/dist/esm/sidebar.js +1 -1
  200. package/dist/esm/slider.js +2 -2
  201. package/dist/esm/snackbar.js +4 -3
  202. package/dist/esm/steps.js +5 -5
  203. package/dist/esm/switch.js +1 -1
  204. package/dist/esm/table.js +25 -23
  205. package/dist/esm/tabs.js +7 -7
  206. package/dist/esm/taginput.js +5 -5
  207. package/dist/esm/timepicker.js +11 -11
  208. package/dist/esm/toast.js +2 -2
  209. package/dist/esm/tooltip.js +3 -3
  210. package/dist/esm/upload.js +21 -7
  211. package/dist/vetur/attributes.json +4 -0
  212. package/dist/vetur/tags.json +1 -0
  213. package/package.json +1 -1
  214. package/src/components/autocomplete/Autocomplete.vue +711 -701
  215. package/src/components/breadcrumb/__snapshots__/BreadcrumbItem.spec.js.snap +1 -5
  216. package/src/components/carousel/__snapshots__/CarouselList.spec.js.snap +48 -48
  217. package/src/components/datepicker/DatepickerTableRow.spec.js +26 -0
  218. package/src/components/datepicker/DatepickerTableRow.vue +4 -5
  219. package/src/components/field/Field.vue +271 -271
  220. package/src/components/navbar/NavbarDropdown.vue +4 -0
  221. package/src/components/snackbar/index.js +2 -1
  222. package/src/components/table/Table.spec.js +17 -3
  223. package/src/components/table/Table.vue +8 -9
  224. package/src/components/tabs/Tabs.vue +185 -183
  225. package/src/components/timepicker/__snapshots__/Timepicker.spec.js.snap +18 -47
  226. package/src/components/upload/Upload.vue +19 -7
  227. package/src/utils/NoticeMixin.js +1 -5
  228. package/src/utils/config.js +1 -1
  229. package/src/utils/helpers.js +16 -0
  230. package/types/components.d.ts +5 -0
package/dist/buefy.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! Buefy v0.9.13 | MIT License | github.com/buefy/buefy */
1
+ /*! Buefy v0.9.14 | MIT License | github.com/buefy/buefy */
2
2
  (function (global, factory) {
3
3
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
4
4
  typeof define === 'function' && define.amd ? define(['exports'], factory) :
@@ -290,6 +290,15 @@
290
290
 
291
291
  return value.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&');
292
292
  }
293
+ /**
294
+ * Remove accents/diacritics in a string in JavaScript
295
+ * https://stackoverflow.com/a/37511463
296
+ */
297
+
298
+ function removeDiacriticsFromString(value) {
299
+ if (!value) return value;
300
+ return value.normalize('NFD').replace(/[\u0300-\u036f]/g, '');
301
+ }
293
302
  function multiColumnSort(inputArray, sortingPriority) {
294
303
  // clone it to prevent the any watchers from triggering every sorting iteration
295
304
  var array = JSON.parse(JSON.stringify(inputArray));
@@ -438,6 +447,15 @@
438
447
  var isDefined = function isDefined(d) {
439
448
  return d !== undefined;
440
449
  };
450
+ /**
451
+ * Checks if a value is null or undefined.
452
+ * Based on
453
+ * https://github.com/lodash/lodash/blob/master/isNil.js
454
+ */
455
+
456
+ var isNil = function isNil(value) {
457
+ return value !== null || value !== undefined;
458
+ };
441
459
 
442
460
  var config = {
443
461
  defaultContainerElement: null,
@@ -472,7 +490,7 @@
472
490
  defaultModalScroll: null,
473
491
  defaultDatepickerMobileNative: true,
474
492
  defaultTimepickerMobileNative: true,
475
- defaultNoticeQueue: true,
493
+ defaultNoticeQueue: false,
476
494
  defaultInputHasCounter: true,
477
495
  defaultTaginputHasCounter: true,
478
496
  defaultUseHtml5Validation: true,
@@ -1303,9 +1321,9 @@
1303
1321
  });
1304
1322
  },
1305
1323
 
1306
- /**
1307
- * White-listed items to not close when clicked.
1308
- * Add input, dropdown and all children.
1324
+ /**
1325
+ * White-listed items to not close when clicked.
1326
+ * Add input, dropdown and all children.
1309
1327
  */
1310
1328
  whiteList: function whiteList() {
1311
1329
  var whiteList = [];
@@ -1372,43 +1390,43 @@
1372
1390
  return whiteList;
1373
1391
  },
1374
1392
 
1375
- /**
1376
- * Check if exists default slot
1393
+ /**
1394
+ * Check if exists default slot
1377
1395
  */
1378
1396
  hasDefaultSlot: function hasDefaultSlot() {
1379
1397
  return !!this.$scopedSlots.default;
1380
1398
  },
1381
1399
 
1382
- /**
1383
- * Check if exists group slot
1400
+ /**
1401
+ * Check if exists group slot
1384
1402
  */
1385
1403
  hasGroupSlot: function hasGroupSlot() {
1386
1404
  return !!this.$scopedSlots.group;
1387
1405
  },
1388
1406
 
1389
- /**
1390
- * Check if exists "empty" slot
1407
+ /**
1408
+ * Check if exists "empty" slot
1391
1409
  */
1392
1410
  hasEmptySlot: function hasEmptySlot() {
1393
1411
  return !!this.$slots.empty;
1394
1412
  },
1395
1413
 
1396
- /**
1397
- * Check if exists "header" slot
1414
+ /**
1415
+ * Check if exists "header" slot
1398
1416
  */
1399
1417
  hasHeaderSlot: function hasHeaderSlot() {
1400
1418
  return !!this.$slots.header;
1401
1419
  },
1402
1420
 
1403
- /**
1404
- * Check if exists "footer" slot
1421
+ /**
1422
+ * Check if exists "footer" slot
1405
1423
  */
1406
1424
  hasFooterSlot: function hasFooterSlot() {
1407
1425
  return !!this.$slots.footer;
1408
1426
  },
1409
1427
 
1410
- /**
1411
- * Apply dropdownPosition property
1428
+ /**
1429
+ * Apply dropdownPosition property
1412
1430
  */
1413
1431
  isOpenedTop: function isOpenedTop() {
1414
1432
  return this.dropdownPosition === 'top' || this.dropdownPosition === 'auto' && !this.isListInViewportVertically;
@@ -1434,9 +1452,9 @@
1434
1452
  }
1435
1453
  },
1436
1454
  watch: {
1437
- /**
1438
- * When dropdown is toggled, check the visibility to know when
1439
- * to open upwards.
1455
+ /**
1456
+ * When dropdown is toggled, check the visibility to know when
1457
+ * to open upwards.
1440
1458
  */
1441
1459
  isActive: function isActive(active) {
1442
1460
  var _this2 = this;
@@ -1453,11 +1471,11 @@
1453
1471
  }
1454
1472
  },
1455
1473
 
1456
- /**
1457
- * When updating input's value
1458
- * 1. Emit changes
1459
- * 2. If value isn't the same as selected, set null
1460
- * 3. Close dropdown if value is clear or else open it
1474
+ /**
1475
+ * When updating input's value
1476
+ * 1. Emit changes
1477
+ * 2. If value isn't the same as selected, set null
1478
+ * 3. Close dropdown if value is clear or else open it
1461
1479
  */
1462
1480
  newValue: function newValue(value) {
1463
1481
  this.$emit('input', value); // Check if selected is invalid
@@ -1474,17 +1492,17 @@
1474
1492
  }
1475
1493
  },
1476
1494
 
1477
- /**
1478
- * When v-model is changed:
1479
- * 1. Update internal value.
1480
- * 2. If it's invalid, validate again.
1495
+ /**
1496
+ * When v-model is changed:
1497
+ * 1. Update internal value.
1498
+ * 2. If it's invalid, validate again.
1481
1499
  */
1482
1500
  value: function value(_value) {
1483
1501
  this.newValue = _value;
1484
1502
  },
1485
1503
 
1486
- /**
1487
- * Select first option if "keep-first
1504
+ /**
1505
+ * Select first option if "keep-first
1488
1506
  */
1489
1507
  data: function data() {
1490
1508
  var _this3 = this;
@@ -1498,21 +1516,37 @@
1498
1516
  _this3.setHovered(null);
1499
1517
  }
1500
1518
  });
1519
+ } else {
1520
+ if (this.hovered) {
1521
+ // reset hovered if list doesn't contain it
1522
+ var hoveredValue = this.getValue(this.hovered);
1523
+ var data = this.computedData.map(function (d) {
1524
+ return d.items;
1525
+ }).reduce(function (a, b) {
1526
+ return [].concat(_toConsumableArray(a), _toConsumableArray(b));
1527
+ }, []);
1528
+
1529
+ if (!data.some(function (d) {
1530
+ return _this3.getValue(d) === hoveredValue;
1531
+ })) {
1532
+ this.setHovered(null);
1533
+ }
1534
+ }
1501
1535
  }
1502
1536
  }
1503
1537
  },
1504
1538
  methods: {
1505
- /**
1506
- * Set which option is currently hovered.
1539
+ /**
1540
+ * Set which option is currently hovered.
1507
1541
  */
1508
1542
  setHovered: function setHovered(option) {
1509
1543
  if (option === undefined) return;
1510
1544
  this.hovered = option;
1511
1545
  },
1512
1546
 
1513
- /**
1514
- * Set which option is currently selected, update v-model,
1515
- * update input value and close dropdown.
1547
+ /**
1548
+ * Set which option is currently selected, update v-model,
1549
+ * update input value and close dropdown.
1516
1550
  */
1517
1551
  setSelected: function setSelected(option) {
1518
1552
  var _this4 = this;
@@ -1541,8 +1575,8 @@
1541
1575
  this.checkValidity();
1542
1576
  },
1543
1577
 
1544
- /**
1545
- * Select first option
1578
+ /**
1579
+ * Select first option
1546
1580
  */
1547
1581
  selectFirstOption: function selectFirstOption(computedData) {
1548
1582
  var _this5 = this;
@@ -1593,8 +1627,8 @@
1593
1627
  });
1594
1628
  },
1595
1629
 
1596
- /**
1597
- * Check if header or footer was selected.
1630
+ /**
1631
+ * Check if header or footer was selected.
1598
1632
  */
1599
1633
  checkIfHeaderOrFooterSelected: function checkIfHeaderOrFooterSelected(event, triggerClick) {
1600
1634
  var closeDropdown = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
@@ -1614,8 +1648,8 @@
1614
1648
  }
1615
1649
  },
1616
1650
 
1617
- /**
1618
- * Close dropdown if clicked outside.
1651
+ /**
1652
+ * Close dropdown if clicked outside.
1619
1653
  */
1620
1654
  clickedOutside: function clickedOutside(event) {
1621
1655
  var target = isCustomElement(this) ? event.composedPath()[0] : event.target;
@@ -1629,9 +1663,9 @@
1629
1663
  }
1630
1664
  },
1631
1665
 
1632
- /**
1633
- * Return display text for the input.
1634
- * If object, get value from path, or else just the value.
1666
+ /**
1667
+ * Return display text for the input.
1668
+ * If object, get value from path, or else just the value.
1635
1669
  */
1636
1670
  getValue: function getValue(option) {
1637
1671
  if (option === null) return;
@@ -1643,9 +1677,9 @@
1643
1677
  return _typeof(option) === 'object' ? getValueByPath(option, this.field) : option;
1644
1678
  },
1645
1679
 
1646
- /**
1647
- * Check if the scroll list inside the dropdown
1648
- * reached it's end.
1680
+ /**
1681
+ * Check if the scroll list inside the dropdown
1682
+ * reached it's end.
1649
1683
  */
1650
1684
  checkIfReachedTheEndOfScroll: function checkIfReachedTheEndOfScroll(list) {
1651
1685
  if (list.clientHeight !== list.scrollHeight && list.scrollTop + list.clientHeight >= list.scrollHeight) {
@@ -1653,17 +1687,17 @@
1653
1687
  }
1654
1688
  },
1655
1689
 
1656
- /**
1657
- * Calculate if the dropdown is vertically visible when activated,
1658
- * otherwise it is openened upwards.
1690
+ /**
1691
+ * Calculate if the dropdown is vertically visible when activated,
1692
+ * otherwise it is openened upwards.
1659
1693
  */
1660
1694
  calcDropdownInViewportVertical: function calcDropdownInViewportVertical() {
1661
1695
  var _this6 = this;
1662
1696
 
1663
1697
  this.$nextTick(function () {
1664
- /**
1665
- * this.$refs.dropdown may be undefined
1666
- * when Autocomplete is conditional rendered
1698
+ /**
1699
+ * this.$refs.dropdown may be undefined
1700
+ * when Autocomplete is conditional rendered
1667
1701
  */
1668
1702
  if (_this6.$refs.dropdown === undefined) return;
1669
1703
 
@@ -1677,9 +1711,9 @@
1677
1711
  });
1678
1712
  },
1679
1713
 
1680
- /**
1681
- * Arrows keys listener.
1682
- * If dropdown is active, set hovered option, or else just open.
1714
+ /**
1715
+ * Arrows keys listener.
1716
+ * If dropdown is active, set hovered option, or else just open.
1683
1717
  */
1684
1718
  keyArrows: function keyArrows(direction) {
1685
1719
  var sum = direction === 'down' ? 1 : -1;
@@ -1749,9 +1783,9 @@
1749
1783
  }
1750
1784
  },
1751
1785
 
1752
- /**
1753
- * Focus listener.
1754
- * If value is the same as selected, select all text.
1786
+ /**
1787
+ * Focus listener.
1788
+ * If value is the same as selected, select all text.
1755
1789
  */
1756
1790
  focused: function focused(event) {
1757
1791
  if (this.getValue(this.selected) === this.newValue) {
@@ -1771,8 +1805,8 @@
1771
1805
  this.$emit('focus', event);
1772
1806
  },
1773
1807
 
1774
- /**
1775
- * Blur listener.
1808
+ /**
1809
+ * Blur listener.
1776
1810
  */
1777
1811
  onBlur: function onBlur(event) {
1778
1812
  this.hasFocus = false;
@@ -4994,12 +5028,12 @@
4994
5028
  return this.grouped || this.groupMultiline || this.hasAddons();
4995
5029
  },
4996
5030
 
4997
- /**
4998
- * Correct Bulma class for the side of the addon or group.
4999
- *
5000
- * This is not kept like the others (is-small, etc.),
5001
- * because since 'has-addons' is set automatically it
5002
- * doesn't make sense to teach users what addons are exactly.
5031
+ /**
5032
+ * Correct Bulma class for the side of the addon or group.
5033
+ *
5034
+ * This is not kept like the others (is-small, etc.),
5035
+ * because since 'has-addons' is set automatically it
5036
+ * doesn't make sense to teach users what addons are exactly.
5003
5037
  */
5004
5038
  newPosition: function newPosition() {
5005
5039
  if (this.position === undefined) return;
@@ -5009,9 +5043,9 @@
5009
5043
  if (this.position) return prefix + position[1];
5010
5044
  },
5011
5045
 
5012
- /**
5013
- * Formatted message in case it's an array
5014
- * (each element is separated by <br> tag)
5046
+ /**
5047
+ * Formatted message in case it's an array
5048
+ * (each element is separated by <br> tag)
5015
5049
  */
5016
5050
  formattedMessage: function formattedMessage() {
5017
5051
  if (this.parent && this.parent.hasInnerField) {
@@ -5081,22 +5115,22 @@
5081
5115
  }
5082
5116
  },
5083
5117
  watch: {
5084
- /**
5085
- * Set internal type when prop change.
5118
+ /**
5119
+ * Set internal type when prop change.
5086
5120
  */
5087
5121
  type: function type(value) {
5088
5122
  this.newType = value;
5089
5123
  },
5090
5124
 
5091
- /**
5092
- * Set internal message when prop change.
5125
+ /**
5126
+ * Set internal message when prop change.
5093
5127
  */
5094
5128
  message: function message(value) {
5095
5129
  this.newMessage = value;
5096
5130
  },
5097
5131
 
5098
- /**
5099
- * Set parent message if we use Field in Field.
5132
+ /**
5133
+ * Set parent message if we use Field in Field.
5100
5134
  */
5101
5135
  newMessage: function newMessage(value) {
5102
5136
  if (this.parent && this.parent.hasInnerField) {
@@ -5111,11 +5145,11 @@
5111
5145
  }
5112
5146
  },
5113
5147
  methods: {
5114
- /**
5115
- * Field has addons if there are more than one slot
5116
- * (element / component) in the Field.
5117
- * Or is grouped when prop is set.
5118
- * Is a method to be called when component re-render.
5148
+ /**
5149
+ * Field has addons if there are more than one slot
5150
+ * (element / component) in the Field.
5151
+ * Or is grouped when prop is set.
5152
+ * Is a method to be called when component re-render.
5119
5153
  */
5120
5154
  fieldType: function fieldType() {
5121
5155
  if (this.grouped) return 'is-grouped';
@@ -5860,11 +5894,14 @@
5860
5894
  resWeek = week;
5861
5895
  }
5862
5896
 
5863
- return resWeek;
5897
+ return {
5898
+ week: resWeek,
5899
+ year: resYear
5900
+ };
5864
5901
  },
5865
- clickWeekNumber: function clickWeekNumber(week) {
5902
+ clickWeekNumber: function clickWeekNumber(weekData) {
5866
5903
  if (this.weekNumberClickable) {
5867
- this.$datepicker.$emit('week-number-click', week);
5904
+ this.$datepicker.$emit('week-number-click', weekData.week, weekData.year);
5868
5905
  }
5869
5906
  },
5870
5907
 
@@ -6077,7 +6114,7 @@
6077
6114
  const __vue_script__$k = script$k;
6078
6115
 
6079
6116
  /* template */
6080
- var __vue_render__$i = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"datepicker-row"},[(_vm.showWeekNumber)?_c('a',{staticClass:"datepicker-cell is-week-number",class:{'is-clickable': _vm.weekNumberClickable },on:{"click":function($event){$event.preventDefault();_vm.clickWeekNumber(_vm.getWeekNumber(_vm.week[6]));}}},[_c('span',[_vm._v(_vm._s(_vm.getWeekNumber(_vm.week[6])))])]):_vm._e(),_vm._l((_vm.week),function(weekDay,index){return [(_vm.selectableDate(weekDay) && !_vm.disabled)?_c('a',{key:index,ref:("day-" + (weekDay.getMonth()) + "-" + (weekDay.getDate())),refInFor:true,staticClass:"datepicker-cell",class:_vm.classObject(weekDay),attrs:{"role":"button","href":"#","disabled":_vm.disabled,"tabindex":_vm.day === weekDay.getDate() && _vm.month === weekDay.getMonth() ? null : -1},on:{"click":function($event){$event.preventDefault();return _vm.emitChosenDate(weekDay)},"mouseenter":function($event){return _vm.setRangeHoverEndDate(weekDay)},"keydown":function($event){return _vm.manageKeydown($event, weekDay)}}},[_c('span',[_vm._v(_vm._s(weekDay.getDate()))]),(_vm.eventsDateMatch(weekDay))?_c('div',{staticClass:"events"},_vm._l((_vm.eventsDateMatch(weekDay)),function(event,index){return _c('div',{key:index,staticClass:"event",class:event.type})}),0):_vm._e()]):_c('div',{key:index,staticClass:"datepicker-cell",class:_vm.classObject(weekDay)},[_c('span',[_vm._v(_vm._s(weekDay.getDate()))]),(_vm.eventsDateMatch(weekDay))?_c('div',{staticClass:"events"},_vm._l((_vm.eventsDateMatch(weekDay)),function(event,index){return _c('div',{key:index,staticClass:"event",class:event.type})}),0):_vm._e()])]})],2)};
6117
+ var __vue_render__$i = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"datepicker-row"},[(_vm.showWeekNumber)?_c('a',{staticClass:"datepicker-cell is-week-number",class:{'is-clickable': _vm.weekNumberClickable },on:{"click":function($event){$event.preventDefault();_vm.clickWeekNumber(_vm.getWeekNumber(_vm.week[6]));}}},[_c('span',[_vm._v(_vm._s(_vm.getWeekNumber(_vm.week[6]).week))])]):_vm._e(),_vm._l((_vm.week),function(weekDay,index){return [(_vm.selectableDate(weekDay) && !_vm.disabled)?_c('a',{key:index,ref:("day-" + (weekDay.getMonth()) + "-" + (weekDay.getDate())),refInFor:true,staticClass:"datepicker-cell",class:_vm.classObject(weekDay),attrs:{"role":"button","href":"#","disabled":_vm.disabled,"tabindex":_vm.day === weekDay.getDate() && _vm.month === weekDay.getMonth() ? null : -1},on:{"click":function($event){$event.preventDefault();return _vm.emitChosenDate(weekDay)},"mouseenter":function($event){return _vm.setRangeHoverEndDate(weekDay)},"keydown":function($event){return _vm.manageKeydown($event, weekDay)}}},[_c('span',[_vm._v(_vm._s(weekDay.getDate()))]),(_vm.eventsDateMatch(weekDay))?_c('div',{staticClass:"events"},_vm._l((_vm.eventsDateMatch(weekDay)),function(event,index){return _c('div',{key:index,staticClass:"event",class:event.type})}),0):_vm._e()]):_c('div',{key:index,staticClass:"datepicker-cell",class:_vm.classObject(weekDay)},[_c('span',[_vm._v(_vm._s(weekDay.getDate()))]),(_vm.eventsDateMatch(weekDay))?_c('div',{staticClass:"events"},_vm._l((_vm.eventsDateMatch(weekDay)),function(event,index){return _c('div',{key:index,staticClass:"event",class:event.type})}),0):_vm._e()])]})],2)};
6081
6118
  var __vue_staticRenderFns__$i = [];
6082
6119
 
6083
6120
  /* style */
@@ -9399,14 +9436,7 @@
9399
9436
  showNotice: function showNotice() {
9400
9437
  var _this2 = this;
9401
9438
 
9402
- if (this.shouldQueue()) {
9403
- // Call recursively if should queue
9404
- setTimeout(function () {
9405
- return _this2.showNotice();
9406
- }, 250);
9407
- return;
9408
- }
9409
-
9439
+ if (this.shouldQueue()) this.correctParent.innerHTML = '';
9410
9440
  this.correctParent.insertAdjacentElement('afterbegin', this.$el);
9411
9441
  this.isActive = true;
9412
9442
 
@@ -10161,6 +10191,9 @@
10161
10191
  watch: {
10162
10192
  active: function active(value) {
10163
10193
  this.newActive = value;
10194
+ },
10195
+ newActive: function newActive(value) {
10196
+ this.$emit('active-change', value);
10164
10197
  }
10165
10198
  },
10166
10199
  methods: {
@@ -12713,7 +12746,8 @@
12713
12746
 
12714
12747
  var defaultParam = {
12715
12748
  type: 'is-success',
12716
- position: config.defaultSnackbarPosition || 'is-bottom-right'
12749
+ position: config.defaultSnackbarPosition || 'is-bottom-right',
12750
+ queue: true
12717
12751
  };
12718
12752
 
12719
12753
  if (params.parent) {
@@ -14352,10 +14386,12 @@
14352
14386
 
14353
14387
  if (typeof newA === 'boolean' && typeof newB === 'boolean') {
14354
14388
  return isAsc ? newA - newB : newB - newA;
14355
- }
14389
+ } // sort null values to the bottom when in asc order
14390
+ // and to the top when in desc order
14356
14391
 
14357
- if (!newA && newA !== 0) return 1;
14358
- if (!newB && newB !== 0) return -1;
14392
+
14393
+ if (!isNil(newB) && isNil(newA)) return isAsc ? 1 : -1;
14394
+ if (!isNil(newA) && isNil(newB)) return isAsc ? -1 : 1;
14359
14395
  if (newA === newB) return 0;
14360
14396
  newA = typeof newA === 'string' ? newA.toUpperCase() : newA;
14361
14397
  newB = typeof newB === 'string' ? newB.toUpperCase() : newB;
@@ -14586,14 +14622,7 @@
14586
14622
  var _this8 = this;
14587
14623
 
14588
14624
  var _loop = function _loop(key) {
14589
- // remove key if empty
14590
- if (!_this8.filters[key]) {
14591
- delete _this8.filters[key];
14592
- return {
14593
- v: true
14594
- };
14595
- }
14596
-
14625
+ if (!_this8.filters[key]) return "continue";
14597
14626
  var input = _this8.filters[key];
14598
14627
 
14599
14628
  var column = _this8.newColumns.filter(function (c) {
@@ -14617,8 +14646,9 @@
14617
14646
  };
14618
14647
  } else {
14619
14648
  var re = new RegExp(escapeRegExpChars(input), 'i');
14620
- if (!re.test(value)) return {
14621
- v: false
14649
+ var valueWithoutDiacritics = removeDiacriticsFromString(value);
14650
+ return {
14651
+ v: re.test(valueWithoutDiacritics) || re.test(value)
14622
14652
  };
14623
14653
  }
14624
14654
  }
@@ -14627,7 +14657,13 @@
14627
14657
  for (var key in this.filters) {
14628
14658
  var _ret = _loop(key);
14629
14659
 
14630
- if (_typeof(_ret) === "object") return _ret.v;
14660
+ switch (_ret) {
14661
+ case "continue":
14662
+ continue;
14663
+
14664
+ default:
14665
+ if (_typeof(_ret) === "object") return _ret.v;
14666
+ }
14631
14667
  }
14632
14668
 
14633
14669
  return true;
@@ -15078,8 +15114,8 @@
15078
15114
  const __vue_script__$Z = script$Z;
15079
15115
 
15080
15116
  /* template */
15081
- var __vue_render__$S = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"b-tabs",class:_vm.mainClasses},[_c('nav',{staticClass:"tabs",class:_vm.navClasses,attrs:{"role":"tablist","aria-orientation":_vm.vertical ? 'vertical' : 'horizontal'},on:{"keydown":_vm.manageTablistKeydown}},[_c('ul',_vm._l((_vm.items),function(childItem,childIdx){return _c('li',{directives:[{name:"show",rawName:"v-show",value:(childItem.visible),expression:"childItem.visible"}],key:childItem.value,class:[ childItem.headerClass, { 'is-active': childItem.isActive,
15082
- 'is-disabled': childItem.disabled }],attrs:{"role":"presentation"}},[(childItem.$scopedSlots.header)?_c('b-slot-component',{ref:"tabLink",refInFor:true,attrs:{"component":childItem,"name":"header","tag":"a","role":"tab","id":((childItem.value) + "-label"),"aria-controls":((childItem.value) + "-content"),"aria-selected":("" + (childItem.isActive)),"tabindex":childItem.isActive ? 0 : -1},on:{"keydown":function($event){return _vm.manageTabKeydown($event, childItem)}},nativeOn:{"focus":function($event){_vm.currentFocus = childIdx;},"click":function($event){return _vm.childClick(childItem)}}}):_c('a',{ref:"tabLink",refInFor:true,attrs:{"role":"tab","id":((childItem.value) + "-tab"),"aria-controls":((childItem.value) + "-content"),"aria-selected":("" + (childItem.isActive)),"tabindex":childItem.isActive ? 0 : -1},on:{"focus":function($event){_vm.currentFocus = childIdx;},"click":function($event){return _vm.childClick(childItem)},"keydown":function($event){return _vm.manageTabKeydown($event, childItem)}}},[(childItem.icon)?_c('b-icon',{attrs:{"icon":childItem.icon,"pack":childItem.iconPack,"size":_vm.size}}):_vm._e(),_c('span',[_vm._v(_vm._s(childItem.label))])],1)],1)}),0)]),_c('section',{staticClass:"tab-content",class:{'is-transitioning': _vm.isTransitioning}},[_vm._t("default")],2)])};
15117
+ var __vue_render__$S = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"b-tabs",class:_vm.mainClasses},[_c('nav',{staticClass:"tabs",class:_vm.navClasses,attrs:{"role":"tablist","aria-orientation":_vm.vertical ? 'vertical' : 'horizontal'},on:{"keydown":_vm.manageTablistKeydown}},[_vm._t("start"),_c('ul',_vm._l((_vm.items),function(childItem,childIdx){return _c('li',{directives:[{name:"show",rawName:"v-show",value:(childItem.visible),expression:"childItem.visible"}],key:childItem.value,class:[ childItem.headerClass, { 'is-active': childItem.isActive,
15118
+ 'is-disabled': childItem.disabled }],attrs:{"role":"presentation"}},[(childItem.$scopedSlots.header)?_c('b-slot-component',{ref:"tabLink",refInFor:true,attrs:{"component":childItem,"name":"header","tag":"a","role":"tab","id":((childItem.value) + "-label"),"aria-controls":((childItem.value) + "-content"),"aria-selected":("" + (childItem.isActive)),"tabindex":childItem.isActive ? 0 : -1},on:{"keydown":function($event){return _vm.manageTabKeydown($event, childItem)}},nativeOn:{"focus":function($event){_vm.currentFocus = childIdx;},"click":function($event){return _vm.childClick(childItem)}}}):_c('a',{ref:"tabLink",refInFor:true,attrs:{"role":"tab","id":((childItem.value) + "-tab"),"aria-controls":((childItem.value) + "-content"),"aria-selected":("" + (childItem.isActive)),"tabindex":childItem.isActive ? 0 : -1},on:{"focus":function($event){_vm.currentFocus = childIdx;},"click":function($event){return _vm.childClick(childItem)},"keydown":function($event){return _vm.manageTabKeydown($event, childItem)}}},[(childItem.icon)?_c('b-icon',{attrs:{"icon":childItem.icon,"pack":childItem.iconPack,"size":_vm.size}}):_vm._e(),_c('span',[_vm._v(_vm._s(childItem.label))])],1)],1)}),0),_vm._t("end")],2),_c('section',{staticClass:"tab-content",class:{'is-transitioning': _vm.isTransitioning}},[_vm._t("default")],2)])};
15083
15119
  var __vue_staticRenderFns__$S = [];
15084
15120
 
15085
15121
  /* style */
@@ -15823,7 +15859,7 @@
15823
15859
  /**
15824
15860
  * When v-model is changed:
15825
15861
  * 1. Set internal value.
15826
- * 2. Reset interna input file value
15862
+ * 2. Reset internal input file value
15827
15863
  * 3. If it's invalid, validate again.
15828
15864
  */
15829
15865
  value: function value(_value) {
@@ -15853,7 +15889,15 @@
15853
15889
  // only one element in case drag drop mode and isn't multiple
15854
15890
  if (this.dragDrop && value.length !== 1) return;else {
15855
15891
  var file = value[0];
15856
- if (this.checkType(file)) this.newValue = file;else if (this.newValue) this.newValue = null;else return;
15892
+ if (this.checkType(file)) this.newValue = file;else if (this.newValue) {
15893
+ this.newValue = null;
15894
+ this.clearInput();
15895
+ } else {
15896
+ // Force input back to empty state and recheck validity
15897
+ this.clearInput();
15898
+ this.checkHtml5Validity();
15899
+ return;
15900
+ }
15857
15901
  }
15858
15902
  } else {
15859
15903
  // always new values if native or undefined local
@@ -15880,6 +15924,13 @@
15880
15924
  !this.dragDrop && this.checkHtml5Validity();
15881
15925
  },
15882
15926
 
15927
+ /*
15928
+ * Reset file input value
15929
+ */
15930
+ clearInput: function clearInput() {
15931
+ this.$refs.input.value = null;
15932
+ },
15933
+
15883
15934
  /**
15884
15935
  * Listen drag-drop to update internal variable
15885
15936
  */
@@ -15904,10 +15955,9 @@
15904
15955
  if (type) {
15905
15956
  if (type.substring(0, 1) === '.') {
15906
15957
  // check extension
15907
- var extIndex = file.name.lastIndexOf('.');
15908
- var extension = extIndex >= 0 ? file.name.substring(extIndex) : '';
15958
+ var extension = file.name.toLowerCase().slice(-type.length);
15909
15959
 
15910
- if (extension.toLowerCase() === type.toLowerCase()) {
15960
+ if (extension === type.toLowerCase()) {
15911
15961
  valid = true;
15912
15962
  }
15913
15963
  } else {
@@ -16103,12 +16153,14 @@
16103
16153
  exports.isCustomElement = isCustomElement;
16104
16154
  exports.isDefined = isDefined;
16105
16155
  exports.isMobile = isMobile;
16156
+ exports.isNil = isNil;
16106
16157
  exports.isVueComponent = isVueComponent;
16107
16158
  exports.isWebpSupported = isWebpSupported;
16108
16159
  exports.matchWithGroups = matchWithGroups;
16109
16160
  exports.merge = merge;
16110
16161
  exports.mod = mod;
16111
16162
  exports.multiColumnSort = multiColumnSort;
16163
+ exports.removeDiacriticsFromString = removeDiacriticsFromString;
16112
16164
  exports.removeElement = removeElement;
16113
16165
  exports.sign = sign;
16114
16166
  exports.toCssWidth = toCssWidth;