buefy 0.9.13 → 0.9.17

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 (265) hide show
  1. package/CHANGELOG.md +1706 -1639
  2. package/README.md +1 -1
  3. package/dist/buefy.css +313 -1
  4. package/dist/buefy.esm.js +4431 -2331
  5. package/dist/buefy.esm.min.js +2 -2
  6. package/dist/buefy.js +4467 -2364
  7. package/dist/buefy.min.css +1 -1
  8. package/dist/buefy.min.js +2 -2
  9. package/dist/cjs/autocomplete.js +5 -5
  10. package/dist/cjs/button.js +3 -3
  11. package/dist/cjs/carousel.js +4 -4
  12. package/dist/cjs/{chunk-34949503.js → chunk-0d6f213f.js} +2 -2
  13. package/dist/cjs/{chunk-2c7de785.js → chunk-0e3108f5.js} +2 -2
  14. package/dist/cjs/{chunk-2911aa4b.js → chunk-1438658c.js} +14 -11
  15. package/dist/cjs/{chunk-114191ae.js → chunk-1f7e4ed3.js} +3 -3
  16. package/dist/cjs/{chunk-a11294f9.js → chunk-334bc809.js} +1 -1
  17. package/dist/cjs/chunk-45739695.js +332 -0
  18. package/dist/cjs/{chunk-c7b2aa4b.js → chunk-4bcfaf1c.js} +0 -0
  19. package/dist/cjs/{chunk-f5106717.js → chunk-5058e659.js} +3 -3
  20. package/dist/cjs/{chunk-61023b09.js → chunk-545e1c7f.js} +102 -16
  21. package/dist/cjs/{chunk-30670fac.js → chunk-54b0042d.js} +19 -3
  22. package/dist/cjs/{chunk-fe2f57ee.js → chunk-5ed8a75a.js} +2 -2
  23. package/dist/cjs/{chunk-d120e215.js → chunk-73f8eef8.js} +8 -2
  24. package/dist/cjs/{chunk-2062216d.js → chunk-7c11fdde.js} +5 -4
  25. package/dist/cjs/{chunk-3cc5d9a6.js → chunk-841c0e0f.js} +1 -1
  26. package/dist/cjs/{chunk-9e4cf4c5.js → chunk-87a116d9.js} +0 -0
  27. package/dist/cjs/{chunk-fefd7b77.js → chunk-a53b7aff.js} +0 -0
  28. package/dist/cjs/{chunk-d0f8ea39.js → chunk-c0a093d7.js} +7 -7
  29. package/dist/cjs/{chunk-7da0c017.js → chunk-c8abb3ed.js} +21 -21
  30. package/dist/cjs/{chunk-c6fbc7b4.js → chunk-d0df905a.js} +15 -2
  31. package/dist/cjs/{chunk-d54e40f6.js → chunk-e86d3eeb.js} +1 -8
  32. package/dist/cjs/{chunk-6cb902f8.js → chunk-e872f5e2.js} +1 -1
  33. package/dist/cjs/{chunk-2ae50815.js → chunk-f5285f14.js} +4 -4
  34. package/dist/cjs/clockpicker.js +8 -8
  35. package/dist/cjs/colorpicker.js +1752 -0
  36. package/dist/cjs/config.js +1 -1
  37. package/dist/cjs/datepicker.js +11 -11
  38. package/dist/cjs/datetimepicker.js +30 -14
  39. package/dist/cjs/dialog.js +5 -5
  40. package/dist/cjs/dropdown.js +3 -3
  41. package/dist/cjs/field.js +2 -2
  42. package/dist/cjs/helpers.js +21 -1
  43. package/dist/cjs/icon.js +2 -2
  44. package/dist/cjs/image.js +2 -2
  45. package/dist/cjs/index.js +27 -22
  46. package/dist/cjs/input.js +4 -4
  47. package/dist/cjs/loading.js +5 -5
  48. package/dist/cjs/menu.js +2 -2
  49. package/dist/cjs/message.js +4 -9
  50. package/dist/cjs/modal.js +5 -5
  51. package/dist/cjs/navbar.js +4 -1
  52. package/dist/cjs/notification.js +7 -7
  53. package/dist/cjs/numberinput.js +30 -21
  54. package/dist/cjs/pagination.js +7 -7
  55. package/dist/cjs/progress.js +3 -3
  56. package/dist/cjs/rate.js +2 -2
  57. package/dist/cjs/select.js +4 -4
  58. package/dist/cjs/sidebar.js +1 -1
  59. package/dist/cjs/slider.js +3 -3
  60. package/dist/cjs/snackbar.js +5 -4
  61. package/dist/cjs/steps.js +5 -5
  62. package/dist/cjs/table.js +157 -146
  63. package/dist/cjs/tabs.js +7 -7
  64. package/dist/cjs/taginput.js +5 -5
  65. package/dist/cjs/timepicker.js +12 -12
  66. package/dist/cjs/toast.js +3 -3
  67. package/dist/cjs/tooltip.js +4 -4
  68. package/dist/cjs/upload.js +23 -9
  69. package/dist/components/autocomplete/index.js +24 -2
  70. package/dist/components/autocomplete/index.min.js +2 -2
  71. package/dist/components/breadcrumb/index.js +1 -1
  72. package/dist/components/breadcrumb/index.min.js +1 -1
  73. package/dist/components/button/index.js +8 -2
  74. package/dist/components/button/index.min.js +2 -2
  75. package/dist/components/carousel/index.js +8 -2
  76. package/dist/components/carousel/index.min.js +2 -2
  77. package/dist/components/checkbox/index.js +1 -1
  78. package/dist/components/checkbox/index.min.js +1 -1
  79. package/dist/components/clockpicker/index.js +41 -22
  80. package/dist/components/clockpicker/index.min.js +2 -2
  81. package/dist/components/collapse/index.js +1 -1
  82. package/dist/components/collapse/index.min.js +1 -1
  83. package/dist/components/colorpicker/index.js +4318 -0
  84. package/dist/components/colorpicker/index.min.js +2 -0
  85. package/dist/components/datepicker/index.js +48 -26
  86. package/dist/components/datepicker/index.min.js +2 -2
  87. package/dist/components/datetimepicker/index.js +66 -28
  88. package/dist/components/datetimepicker/index.min.js +2 -2
  89. package/dist/components/dialog/index.js +8 -2
  90. package/dist/components/dialog/index.min.js +2 -2
  91. package/dist/components/dropdown/index.js +14 -1
  92. package/dist/components/dropdown/index.min.js +2 -2
  93. package/dist/components/field/index.js +21 -21
  94. package/dist/components/field/index.min.js +1 -1
  95. package/dist/components/icon/index.js +8 -2
  96. package/dist/components/icon/index.min.js +2 -2
  97. package/dist/components/image/index.js +1 -1
  98. package/dist/components/image/index.min.js +1 -1
  99. package/dist/components/input/index.js +8 -2
  100. package/dist/components/input/index.min.js +2 -2
  101. package/dist/components/loading/index.js +1 -1
  102. package/dist/components/loading/index.min.js +1 -1
  103. package/dist/components/menu/index.js +8 -2
  104. package/dist/components/menu/index.min.js +2 -2
  105. package/dist/components/message/index.js +11 -9
  106. package/dist/components/message/index.min.js +2 -2
  107. package/dist/components/modal/index.js +1 -1
  108. package/dist/components/modal/index.min.js +1 -1
  109. package/dist/components/navbar/index.js +4 -1
  110. package/dist/components/navbar/index.min.js +2 -2
  111. package/dist/components/notification/index.js +13 -13
  112. package/dist/components/notification/index.min.js +2 -2
  113. package/dist/components/numberinput/index.js +34 -19
  114. package/dist/components/numberinput/index.min.js +2 -2
  115. package/dist/components/pagination/index.js +107 -16
  116. package/dist/components/pagination/index.min.js +2 -2
  117. package/dist/components/progress/index.js +2 -2
  118. package/dist/components/progress/index.min.js +2 -2
  119. package/dist/components/radio/index.js +1 -1
  120. package/dist/components/radio/index.min.js +1 -1
  121. package/dist/components/rate/index.js +8 -2
  122. package/dist/components/rate/index.min.js +2 -2
  123. package/dist/components/select/index.js +8 -2
  124. package/dist/components/select/index.min.js +2 -2
  125. package/dist/components/sidebar/index.js +1 -1
  126. package/dist/components/sidebar/index.min.js +1 -1
  127. package/dist/components/skeleton/index.js +1 -1
  128. package/dist/components/skeleton/index.min.js +1 -1
  129. package/dist/components/slider/index.js +2 -2
  130. package/dist/components/slider/index.min.js +2 -2
  131. package/dist/components/snackbar/index.js +4 -10
  132. package/dist/components/snackbar/index.min.js +2 -2
  133. package/dist/components/steps/index.js +8 -2
  134. package/dist/components/steps/index.min.js +2 -2
  135. package/dist/components/switch/index.js +1 -1
  136. package/dist/components/switch/index.min.js +1 -1
  137. package/dist/components/table/index.js +253 -133
  138. package/dist/components/table/index.min.js +2 -2
  139. package/dist/components/tabs/index.js +10 -4
  140. package/dist/components/tabs/index.min.js +2 -2
  141. package/dist/components/tag/index.js +1 -1
  142. package/dist/components/tag/index.min.js +1 -1
  143. package/dist/components/taginput/index.js +24 -2
  144. package/dist/components/taginput/index.min.js +2 -2
  145. package/dist/components/timepicker/index.js +41 -22
  146. package/dist/components/timepicker/index.min.js +2 -2
  147. package/dist/components/toast/index.js +2 -9
  148. package/dist/components/toast/index.min.js +2 -2
  149. package/dist/components/tooltip/index.js +2 -2
  150. package/dist/components/tooltip/index.min.js +2 -2
  151. package/dist/components/upload/index.js +20 -6
  152. package/dist/components/upload/index.min.js +2 -2
  153. package/dist/esm/autocomplete.js +6 -6
  154. package/dist/esm/button.js +4 -4
  155. package/dist/esm/carousel.js +4 -4
  156. package/dist/esm/{chunk-18e8b067.js → chunk-1a4fde6d.js} +102 -17
  157. package/dist/esm/{chunk-3773c62d.js → chunk-22cf6667.js} +2 -2
  158. package/dist/esm/{chunk-ece062a7.js → chunk-262b3f82.js} +1 -1
  159. package/dist/esm/chunk-455cdeae.js +317 -0
  160. package/dist/esm/{chunk-d7f92d97.js → chunk-5435bd9a.js} +5 -4
  161. package/dist/esm/{chunk-e7c9b2cb.js → chunk-58cdbf2b.js} +2 -2
  162. package/dist/esm/{chunk-29ca0df8.js → chunk-60a03517.js} +1 -1
  163. package/dist/esm/{chunk-21fc0948.js → chunk-66cef090.js} +7 -7
  164. package/dist/esm/{chunk-71a547bc.js → chunk-690d5be4.js} +1 -1
  165. package/dist/esm/{chunk-83eb0d37.js → chunk-6adc5c5d.js} +3 -3
  166. package/dist/esm/{chunk-c9c58d0c.js → chunk-6d0f2352.js} +0 -0
  167. package/dist/esm/{chunk-8d0f95b8.js → chunk-6d96579e.js} +4 -4
  168. package/dist/esm/{chunk-22e9f916.js → chunk-6fb4a069.js} +14 -11
  169. package/dist/esm/{chunk-75a5af93.js → chunk-84c6dfd6.js} +0 -0
  170. package/dist/esm/{chunk-ae8ab23a.js → chunk-a628d44d.js} +3 -3
  171. package/dist/esm/{chunk-b0c0c6b0.js → chunk-c9c18b2f.js} +0 -0
  172. package/dist/esm/{chunk-9f7f7441.js → chunk-d35985c7.js} +0 -0
  173. package/dist/esm/{chunk-799e084d.js → chunk-d9232770.js} +1 -8
  174. package/dist/esm/{chunk-4b67a181.js → chunk-dbd43ef1.js} +15 -2
  175. package/dist/esm/{chunk-d92f0cd9.js → chunk-e044aa02.js} +8 -2
  176. package/dist/esm/{chunk-b07e3182.js → chunk-effa4d25.js} +21 -21
  177. package/dist/esm/{chunk-6019fd7a.js → chunk-f9eaeac4.js} +19 -3
  178. package/dist/esm/clockpicker.js +8 -8
  179. package/dist/esm/colorpicker.js +1748 -0
  180. package/dist/esm/config.js +1 -1
  181. package/dist/esm/datepicker.js +10 -10
  182. package/dist/esm/datetimepicker.js +29 -13
  183. package/dist/esm/dialog.js +4 -4
  184. package/dist/esm/dropdown.js +4 -4
  185. package/dist/esm/field.js +3 -3
  186. package/dist/esm/helpers.js +20 -2
  187. package/dist/esm/icon.js +3 -3
  188. package/dist/esm/image.js +3 -3
  189. package/dist/esm/index.js +94 -91
  190. package/dist/esm/input.js +5 -5
  191. package/dist/esm/loading.js +3 -3
  192. package/dist/esm/menu.js +2 -2
  193. package/dist/esm/message.js +3 -8
  194. package/dist/esm/modal.js +3 -3
  195. package/dist/esm/navbar.js +4 -1
  196. package/dist/esm/notification.js +5 -5
  197. package/dist/esm/numberinput.js +30 -21
  198. package/dist/esm/pagination.js +4 -4
  199. package/dist/esm/progress.js +3 -3
  200. package/dist/esm/rate.js +2 -2
  201. package/dist/esm/select.js +5 -5
  202. package/dist/esm/sidebar.js +1 -1
  203. package/dist/esm/slider.js +2 -2
  204. package/dist/esm/snackbar.js +4 -3
  205. package/dist/esm/steps.js +5 -5
  206. package/dist/esm/table.js +155 -144
  207. package/dist/esm/tabs.js +7 -7
  208. package/dist/esm/taginput.js +5 -5
  209. package/dist/esm/timepicker.js +11 -11
  210. package/dist/esm/toast.js +2 -2
  211. package/dist/esm/tooltip.js +3 -3
  212. package/dist/esm/upload.js +21 -7
  213. package/dist/vetur/attributes.json +96 -0
  214. package/dist/vetur/tags.json +30 -1
  215. package/package.json +1 -1
  216. package/src/components/autocomplete/Autocomplete.vue +10 -0
  217. package/src/components/breadcrumb/__snapshots__/BreadcrumbItem.spec.js.snap +1 -5
  218. package/src/components/carousel/__snapshots__/CarouselList.spec.js.snap +48 -48
  219. package/src/components/colorpicker/Colorpicker.spec.js +10 -0
  220. package/src/components/colorpicker/Colorpicker.vue +354 -0
  221. package/src/components/colorpicker/ColorpickerAlphaSlider.spec.js +14 -0
  222. package/src/components/colorpicker/ColorpickerAlphaSlider.vue +194 -0
  223. package/src/components/colorpicker/ColorpickerHSLRepresentationSquare.spec.js +22 -0
  224. package/src/components/colorpicker/ColorpickerHSLRepresentationSquare.vue +366 -0
  225. package/src/components/colorpicker/ColorpickerHSLRepresentationTriangle.spec.js +22 -0
  226. package/src/components/colorpicker/ColorpickerHSLRepresentationTriangle.vue +442 -0
  227. package/src/components/colorpicker/__snapshots__/ColorPickerHSLRepresentationSquare.spec.js.snap +12 -0
  228. package/src/components/colorpicker/__snapshots__/Colorpicker.spec.js.snap +32 -0
  229. package/src/components/colorpicker/__snapshots__/ColorpickerAlphaSlider.spec.js.snap +11 -0
  230. package/src/components/colorpicker/__snapshots__/ColorpickerHSLRepresentationTriangle.spec.js.snap +36 -0
  231. package/src/components/colorpicker/index.js +17 -0
  232. package/src/components/datepicker/DatepickerTableRow.spec.js +26 -0
  233. package/src/components/datepicker/DatepickerTableRow.vue +4 -5
  234. package/src/components/datetimepicker/Datetimepicker.vue +17 -1
  235. package/src/components/dropdown/Dropdown.vue +13 -0
  236. package/src/components/field/Field.vue +271 -271
  237. package/src/components/index.js +2 -0
  238. package/src/components/message/Message.vue +0 -5
  239. package/src/components/navbar/NavbarDropdown.vue +4 -0
  240. package/src/components/notification/Notification.vue +1 -1
  241. package/src/components/numberinput/Numberinput.spec.js +62 -0
  242. package/src/components/numberinput/Numberinput.vue +22 -15
  243. package/src/components/pagination/Pagination.vue +141 -51
  244. package/src/components/progress/Progress.vue +1 -1
  245. package/src/components/snackbar/index.js +2 -1
  246. package/src/components/table/Table.spec.js +17 -3
  247. package/src/components/table/Table.vue +1436 -1409
  248. package/src/components/table/TablePagination.vue +10 -2
  249. package/src/components/tabs/Tabs.vue +2 -0
  250. package/src/components/timepicker/__snapshots__/Timepicker.spec.js.snap +18 -47
  251. package/src/components/tooltip/Tooltip.vue +2 -2
  252. package/src/components/upload/Upload.vue +19 -7
  253. package/src/scss/buefy.scss +1 -0
  254. package/src/scss/components/_colorpicker.scss +283 -0
  255. package/src/scss/components/_pagination.scss +38 -0
  256. package/src/utils/MessageMixin.js +2 -1
  257. package/src/utils/NoticeMixin.js +1 -5
  258. package/src/utils/color.js +441 -0
  259. package/src/utils/color.spec.js +52 -0
  260. package/src/utils/helpers.js +16 -0
  261. package/src/utils/icons.js +7 -1
  262. package/types/components.d.ts +7 -2
  263. package/types/helpers.d.ts +2 -1
  264. package/dist/cjs/chunk-92621ff7.js +0 -141
  265. package/dist/esm/chunk-2452e3d3.js +0 -134
@@ -1,4 +1,4 @@
1
- /*! Buefy v0.9.13 | MIT License | github.com/buefy/buefy */
1
+ /*! Buefy v0.9.17 | 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) :
@@ -175,6 +175,15 @@
175
175
 
176
176
  return value.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&');
177
177
  }
178
+ /**
179
+ * Remove accents/diacritics in a string in JavaScript
180
+ * https://stackoverflow.com/a/37511463
181
+ */
182
+
183
+ function removeDiacriticsFromString(value) {
184
+ if (!value) return value;
185
+ return value.normalize('NFD').replace(/[\u0300-\u036f]/g, '');
186
+ }
178
187
  function multiColumnSort(inputArray, sortingPriority) {
179
188
  // clone it to prevent the any watchers from triggering every sorting iteration
180
189
  var array = JSON.parse(JSON.stringify(inputArray));
@@ -203,6 +212,15 @@
203
212
  function toCssWidth(width) {
204
213
  return width === undefined ? null : isNaN(width) ? width : width + 'px';
205
214
  }
215
+ /**
216
+ * Checks if a value is null or undefined.
217
+ * Based on
218
+ * https://github.com/lodash/lodash/blob/master/isNil.js
219
+ */
220
+
221
+ var isNil = function isNil(value) {
222
+ return value === null || value === undefined;
223
+ };
206
224
 
207
225
  function debounce (func, wait, immediate) {
208
226
  var timeout;
@@ -518,7 +536,13 @@
518
536
  far: faIcons(),
519
537
  fad: faIcons(),
520
538
  fab: faIcons(),
521
- fal: faIcons()
539
+ fal: faIcons(),
540
+ 'fa-solid': faIcons(),
541
+ 'fa-regular': faIcons(),
542
+ 'fa-light': faIcons(),
543
+ 'fa-thin': faIcons(),
544
+ 'fa-duotone': faIcons(),
545
+ 'fa-brands': faIcons()
522
546
  };
523
547
 
524
548
  if (config && config.customIconPacks) {
@@ -1762,13 +1786,25 @@
1762
1786
  ariaNextLabel: String,
1763
1787
  ariaPreviousLabel: String,
1764
1788
  ariaPageLabel: String,
1765
- ariaCurrentLabel: String
1789
+ ariaCurrentLabel: String,
1790
+ pageInput: {
1791
+ type: Boolean,
1792
+ default: false
1793
+ },
1794
+ pageInputPosition: String,
1795
+ debouncePageInput: [Number, String]
1796
+ },
1797
+ data: function data() {
1798
+ return {
1799
+ inputValue: this.current
1800
+ };
1766
1801
  },
1767
1802
  computed: {
1768
1803
  rootClasses: function rootClasses() {
1769
- return [this.order, this.size, {
1804
+ return [this.order, this.size, this.pageInputPosition, {
1770
1805
  'is-simple': this.simple,
1771
- 'is-rounded': this.rounded
1806
+ 'is-rounded': this.rounded,
1807
+ 'has-input': this.pageInput
1772
1808
  }];
1773
1809
  },
1774
1810
  beforeCurrent: function beforeCurrent() {
@@ -1801,7 +1837,7 @@
1801
1837
  },
1802
1838
 
1803
1839
  /**
1804
- * Check if first page button should be visible.
1840
+ * Check if first page button should be visible.
1805
1841
  */
1806
1842
  hasFirst: function hasFirst() {
1807
1843
  return this.current >= 2 + this.beforeCurrent;
@@ -1868,6 +1904,15 @@
1868
1904
  */
1869
1905
  pageCount: function pageCount(value) {
1870
1906
  if (this.current > value) this.last();
1907
+ },
1908
+ current: function current(value) {
1909
+ this.inputValue = value;
1910
+ },
1911
+ debouncePageInput: {
1912
+ handler: function handler(value) {
1913
+ this.debounceHandlePageInput = debounce(this.handleOnInputPageChange, value);
1914
+ },
1915
+ immediate: true
1871
1916
  }
1872
1917
  },
1873
1918
  methods: {
@@ -1879,14 +1924,14 @@
1879
1924
  },
1880
1925
 
1881
1926
  /**
1882
- * Next button click listener.
1927
+ * Next button click listener.
1883
1928
  */
1884
1929
  next: function next(event) {
1885
1930
  this.changePage(this.current + 1, event);
1886
1931
  },
1887
1932
 
1888
1933
  /**
1889
- * First button click listener.
1934
+ * First button click listener.
1890
1935
  */
1891
1936
  first: function first(event) {
1892
1937
  this.changePage(1, event);
@@ -1919,6 +1964,9 @@
1919
1964
  click: function click(event) {
1920
1965
  return _this.changePage(num, event);
1921
1966
  },
1967
+ input: function input(event, inputNum) {
1968
+ return _this.changePage(+inputNum, event);
1969
+ },
1922
1970
  disabled: options.disabled || false,
1923
1971
  class: options.class || '',
1924
1972
  'aria-label': options['aria-label'] || this.getAriaPageLabel(num, this.current === num)
@@ -1936,6 +1984,49 @@
1936
1984
  }
1937
1985
 
1938
1986
  return null;
1987
+ },
1988
+ handleOnInputPageChange: function handleOnInputPageChange(event) {
1989
+ this.getPage(this.inputValue).input(event, this.inputValue);
1990
+ },
1991
+ handleOnInputDebounce: function handleOnInputDebounce(event) {
1992
+ if (this.debouncePageInput) {
1993
+ this.debounceHandlePageInput(event);
1994
+ } else {
1995
+ this.handleOnInputPageChange(event);
1996
+ }
1997
+ },
1998
+ handleOnKeyPress: function handleOnKeyPress(event) {
1999
+ // --- This is required to only allow numeric inputs for the page input - --- //
2000
+ // --- size attribute does not work with input type number. --- //
2001
+ var ASCIICode = event.which || event.keyCode;
2002
+
2003
+ if (ASCIICode >= 48 && ASCIICode <= 57) {
2004
+ return true;
2005
+ } else {
2006
+ return event.preventDefault();
2007
+ }
2008
+ },
2009
+ handleAllowableInputPageRange: function handleAllowableInputPageRange(event) {
2010
+ if (+event.target.value > 0 && +event.target.value <= this.pageCount) {
2011
+ this.handleOnInputValue(event);
2012
+ } else {
2013
+ // --- It is nessacery to set inputValue to 1 and then to '' so that the DOM- --- //
2014
+ // --- will update the input component even when Backspace is used and then-
2015
+ // --- 0 us entered. --- //
2016
+ this.inputValue = 1;
2017
+ this.inputValue = '';
2018
+ }
2019
+ },
2020
+ handleOnInputValue: function handleOnInputValue(event) {
2021
+ var inputValue = +event.target.value;
2022
+ this.inputValue = inputValue;
2023
+
2024
+ if (Number.isInteger(this.inputValue)) {
2025
+ this.handleOnInputDebounce(event);
2026
+ } else {
2027
+ // --- if NaN, then set inputValue back to current --- //
2028
+ this.inputValue = this.current;
2029
+ }
1939
2030
  }
1940
2031
  }
1941
2032
  };
@@ -1945,14 +2036,14 @@
1945
2036
 
1946
2037
  /* template */
1947
2038
  var __vue_render__$7 = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav',{staticClass:"pagination",class:_vm.rootClasses},[(_vm.$scopedSlots.previous)?_vm._t("previous",[_c('b-icon',{attrs:{"icon":_vm.iconPrev,"pack":_vm.iconPack,"both":"","aria-hidden":"true"}})],{"page":_vm.getPage(_vm.current - 1, {
1948
- disabled: !_vm.hasPrev,
1949
- class: 'pagination-previous',
1950
- 'aria-label': _vm.ariaPreviousLabel
1951
- })}):_c('BPaginationButton',{staticClass:"pagination-previous",attrs:{"disabled":!_vm.hasPrev,"page":_vm.getPage(_vm.current - 1),"aria-label":_vm.ariaPreviousLabel}},[_c('b-icon',{attrs:{"icon":_vm.iconPrev,"pack":_vm.iconPack,"both":"","aria-hidden":"true"}})],1),(_vm.$scopedSlots.next)?_vm._t("next",[_c('b-icon',{attrs:{"icon":_vm.iconNext,"pack":_vm.iconPack,"both":"","aria-hidden":"true"}})],{"page":_vm.getPage(_vm.current + 1, {
1952
- disabled: !_vm.hasNext,
1953
- class: 'pagination-next',
1954
- 'aria-label': _vm.ariaNextLabel
1955
- })}):_c('BPaginationButton',{staticClass:"pagination-next",attrs:{"disabled":!_vm.hasNext,"page":_vm.getPage(_vm.current + 1),"aria-label":_vm.ariaNextLabel}},[_c('b-icon',{attrs:{"icon":_vm.iconNext,"pack":_vm.iconPack,"both":"","aria-hidden":"true"}})],1),(_vm.simple)?_c('small',{staticClass:"info"},[(_vm.perPage == 1)?[_vm._v(" "+_vm._s(_vm.firstItem)+" / "+_vm._s(_vm.total)+" ")]:[_vm._v(" "+_vm._s(_vm.firstItem)+"-"+_vm._s(Math.min(_vm.current * _vm.perPage, _vm.total))+" / "+_vm._s(_vm.total)+" ")]],2):_c('ul',{staticClass:"pagination-list"},[(_vm.hasFirst)?_c('li',[(_vm.$scopedSlots.default)?_vm._t("default",null,{"page":_vm.getPage(1)}):_c('BPaginationButton',{attrs:{"page":_vm.getPage(1)}})],2):_vm._e(),(_vm.hasFirstEllipsis)?_c('li',[_c('span',{staticClass:"pagination-ellipsis"},[_vm._v("…")])]):_vm._e(),_vm._l((_vm.pagesInRange),function(page){return _c('li',{key:page.number},[(_vm.$scopedSlots.default)?_vm._t("default",null,{"page":page}):_c('BPaginationButton',{attrs:{"page":page}})],2)}),(_vm.hasLastEllipsis)?_c('li',[_c('span',{staticClass:"pagination-ellipsis"},[_vm._v("…")])]):_vm._e(),(_vm.hasLast)?_c('li',[(_vm.$scopedSlots.default)?_vm._t("default",null,{"page":_vm.getPage(_vm.pageCount)}):_c('BPaginationButton',{attrs:{"page":_vm.getPage(_vm.pageCount)}})],2):_vm._e()],2)],2)};
2039
+ disabled: !_vm.hasPrev,
2040
+ class: 'pagination-previous',
2041
+ 'aria-label': _vm.ariaPreviousLabel,
2042
+ })}):_c('BPaginationButton',{staticClass:"pagination-previous",attrs:{"disabled":!_vm.hasPrev,"page":_vm.getPage(_vm.current - 1),"aria-label":_vm.ariaPreviousLabel}},[_c('b-icon',{attrs:{"icon":_vm.iconPrev,"pack":_vm.iconPack,"both":"","aria-hidden":"true"}})],1),(_vm.$scopedSlots.next)?_vm._t("next",[_c('b-icon',{attrs:{"icon":_vm.iconNext,"pack":_vm.iconPack,"both":"","aria-hidden":"true"}})],{"page":_vm.getPage(_vm.current + 1, {
2043
+ disabled: !_vm.hasNext,
2044
+ class: 'pagination-next',
2045
+ 'aria-label': _vm.ariaNextLabel,
2046
+ })}):_c('BPaginationButton',{staticClass:"pagination-next",attrs:{"disabled":!_vm.hasNext,"page":_vm.getPage(_vm.current + 1),"aria-label":_vm.ariaNextLabel}},[_c('b-icon',{attrs:{"icon":_vm.iconNext,"pack":_vm.iconPack,"both":"","aria-hidden":"true"}})],1),_c('div',{staticClass:"control pagination-input"},[(_vm.pageInput)?_c('input',{staticClass:"input",attrs:{"size":_vm.pageCount.toString().length,"maxlength":_vm.pageCount.toString().length},domProps:{"value":_vm.inputValue},on:{"input":_vm.handleAllowableInputPageRange,"keypress":_vm.handleOnKeyPress}}):_vm._e()]),(_vm.simple)?_c('small',{staticClass:"info"},[(_vm.perPage == 1)?[_vm._v(" "+_vm._s(_vm.firstItem)+" / "+_vm._s(_vm.total)+" ")]:[_vm._v(" "+_vm._s(_vm.firstItem)+"-"+_vm._s(Math.min(_vm.current * _vm.perPage, _vm.total))+" / "+_vm._s(_vm.total)+" ")]],2):_c('ul',{staticClass:"pagination-list"},[(_vm.hasFirst)?_c('li',[(_vm.$scopedSlots.default)?_vm._t("default",null,{"page":_vm.getPage(1)}):_c('BPaginationButton',{attrs:{"page":_vm.getPage(1)}})],2):_vm._e(),(_vm.hasFirstEllipsis)?_c('li',[_c('span',{staticClass:"pagination-ellipsis"},[_vm._v("…")])]):_vm._e(),_vm._l((_vm.pagesInRange),function(page){return _c('li',{key:page.number},[(_vm.$scopedSlots.default)?_vm._t("default",null,{"page":page}):_c('BPaginationButton',{attrs:{"page":page}})],2)}),(_vm.hasLastEllipsis)?_c('li',[_c('span',{staticClass:"pagination-ellipsis"},[_vm._v("…")])]):_vm._e(),(_vm.hasLast)?_c('li',[(_vm.$scopedSlots.default)?_vm._t("default",null,{"page":_vm.getPage(_vm.pageCount)}):_c('BPaginationButton',{attrs:{"page":_vm.getPage(_vm.pageCount)}})],2):_vm._e()],2)],2)};
1956
2047
  var __vue_staticRenderFns__$7 = [];
1957
2048
 
1958
2049
  /* style */
@@ -1995,7 +2086,11 @@
1995
2086
  ariaNextLabel: String,
1996
2087
  ariaPreviousLabel: String,
1997
2088
  ariaPageLabel: String,
1998
- ariaCurrentLabel: String
2089
+ ariaCurrentLabel: String,
2090
+ pageInput: Boolean,
2091
+ paginationOrder: String,
2092
+ pageInputPosition: String,
2093
+ debouncePageInput: [Number, String]
1999
2094
  },
2000
2095
  data: function data() {
2001
2096
  return {
@@ -2023,7 +2118,7 @@
2023
2118
  const __vue_script__$9 = script$9;
2024
2119
 
2025
2120
  /* template */
2026
- var __vue_render__$8 = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"top level"},[_c('div',{staticClass:"level-left"},[_vm._t("default")],2),_c('div',{staticClass:"level-right"},[(_vm.paginated)?_c('div',{staticClass:"level-item"},[_c('b-pagination',{attrs:{"icon-pack":_vm.iconPack,"total":_vm.total,"per-page":_vm.perPage,"simple":_vm.paginationSimple,"size":_vm.paginationSize,"current":_vm.newCurrentPage,"rounded":_vm.rounded,"aria-next-label":_vm.ariaNextLabel,"aria-previous-label":_vm.ariaPreviousLabel,"aria-page-label":_vm.ariaPageLabel,"aria-current-label":_vm.ariaCurrentLabel},on:{"change":_vm.pageChanged}})],1):_vm._e()])])};
2121
+ var __vue_render__$8 = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"top level"},[_c('div',{staticClass:"level-left"},[_vm._t("default")],2),_c('div',{staticClass:"level-right"},[(_vm.paginated)?_c('div',{staticClass:"level-item"},[_c('b-pagination',{attrs:{"icon-pack":_vm.iconPack,"total":_vm.total,"per-page":_vm.perPage,"simple":_vm.paginationSimple,"size":_vm.paginationSize,"current":_vm.newCurrentPage,"rounded":_vm.rounded,"aria-next-label":_vm.ariaNextLabel,"aria-previous-label":_vm.ariaPreviousLabel,"aria-page-label":_vm.ariaPageLabel,"aria-current-label":_vm.ariaCurrentLabel,"page-input":_vm.pageInput,"order":_vm.paginationOrder,"page-input-position":_vm.pageInputPosition,"debounce-page-input":_vm.debouncePageInput},on:{"change":_vm.pageChanged}})],1):_vm._e()])])};
2027
2122
  var __vue_staticRenderFns__$8 = [];
2028
2123
 
2029
2124
  /* style */
@@ -2242,7 +2337,14 @@
2242
2337
  showCaption: {
2243
2338
  type: Boolean,
2244
2339
  default: true
2245
- }
2340
+ },
2341
+ pageInput: {
2342
+ type: Boolean,
2343
+ default: false
2344
+ },
2345
+ paginationOrder: String,
2346
+ pageInputPosition: String,
2347
+ debouncePageInput: [Number, String]
2246
2348
  },
2247
2349
  data: function data() {
2248
2350
  return {
@@ -2292,8 +2394,8 @@
2292
2394
  };
2293
2395
  },
2294
2396
 
2295
- /**
2296
- * Splitted data based on the pagination.
2397
+ /**
2398
+ * Splitted data based on the pagination.
2297
2399
  */
2298
2400
  visibleData: function visibleData() {
2299
2401
  if (!this.paginated) return this.newData;
@@ -2315,8 +2417,8 @@
2315
2417
  });
2316
2418
  },
2317
2419
 
2318
- /**
2319
- * Check if all rows in the page are checked.
2420
+ /**
2421
+ * Check if all rows in the page are checked.
2320
2422
  */
2321
2423
  isAllChecked: function isAllChecked() {
2322
2424
  var _this = this;
@@ -2331,8 +2433,8 @@
2331
2433
  return !isAllChecked;
2332
2434
  },
2333
2435
 
2334
- /**
2335
- * Check if all rows in the page are checkable.
2436
+ /**
2437
+ * Check if all rows in the page are checkable.
2336
2438
  */
2337
2439
  isAllUncheckable: function isAllUncheckable() {
2338
2440
  var _this2 = this;
@@ -2343,8 +2445,8 @@
2343
2445
  return validVisibleData.length === 0;
2344
2446
  },
2345
2447
 
2346
- /**
2347
- * Check if has any sortable column.
2448
+ /**
2449
+ * Check if has any sortable column.
2348
2450
  */
2349
2451
  hasSortablenewColumns: function hasSortablenewColumns() {
2350
2452
  return this.newColumns.some(function (column) {
@@ -2352,8 +2454,8 @@
2352
2454
  });
2353
2455
  },
2354
2456
 
2355
- /**
2356
- * Check if has any searchable column.
2457
+ /**
2458
+ * Check if has any searchable column.
2357
2459
  */
2358
2460
  hasSearchablenewColumns: function hasSearchablenewColumns() {
2359
2461
  return this.newColumns.some(function (column) {
@@ -2361,8 +2463,8 @@
2361
2463
  });
2362
2464
  },
2363
2465
 
2364
- /**
2365
- * Check if has any column using subheading.
2466
+ /**
2467
+ * Check if has any column using subheading.
2366
2468
  */
2367
2469
  hasCustomSubheadings: function hasCustomSubheadings() {
2368
2470
  if (this.$scopedSlots && this.$scopedSlots.subheading) return true;
@@ -2371,8 +2473,8 @@
2371
2473
  });
2372
2474
  },
2373
2475
 
2374
- /**
2375
- * Return total column count based if it's checkable or expanded
2476
+ /**
2477
+ * Return total column count based if it's checkable or expanded
2376
2478
  */
2377
2479
  columnCount: function columnCount() {
2378
2480
  var count = this.visibleColumns.length;
@@ -2381,16 +2483,16 @@
2381
2483
  return count;
2382
2484
  },
2383
2485
 
2384
- /**
2385
- * return if detailed row tabled
2386
- * will be with chevron column & icon or not
2486
+ /**
2487
+ * return if detailed row tabled
2488
+ * will be with chevron column & icon or not
2387
2489
  */
2388
2490
  showDetailRowIcon: function showDetailRowIcon() {
2389
2491
  return this.detailed && this.showDetailIcon;
2390
2492
  },
2391
2493
 
2392
- /**
2393
- * return if scrollable table
2494
+ /**
2495
+ * return if scrollable table
2394
2496
  */
2395
2497
  isScrollable: function isScrollable() {
2396
2498
  if (this.scrollable) return true;
@@ -2437,12 +2539,12 @@
2437
2539
  }
2438
2540
  },
2439
2541
  watch: {
2440
- /**
2441
- * When data prop change:
2442
- * 1. Update internal value.
2443
- * 2. Filter data if it's not backend-filtered.
2444
- * 3. Sort again if it's not backend-sorted.
2445
- * 4. Set new total if it's not backend-paginated.
2542
+ /**
2543
+ * When data prop change:
2544
+ * 1. Update internal value.
2545
+ * 2. Filter data if it's not backend-filtered.
2546
+ * 3. Sort again if it's not backend-sorted.
2547
+ * 4. Set new total if it's not backend-paginated.
2446
2548
  */
2447
2549
  data: function data(value) {
2448
2550
  var _this4 = this;
@@ -2464,9 +2566,9 @@
2464
2566
  }
2465
2567
  },
2466
2568
 
2467
- /**
2468
- * When Pagination total change, update internal total
2469
- * only if it's backend-paginated.
2569
+ /**
2570
+ * When Pagination total change, update internal total
2571
+ * only if it's backend-paginated.
2470
2572
  */
2471
2573
  total: function total(newTotal) {
2472
2574
  if (!this.backendPagination) return;
@@ -2479,18 +2581,18 @@
2479
2581
  this.$emit('update:currentPage', newVal);
2480
2582
  },
2481
2583
 
2482
- /**
2483
- * When checkedRows prop change, update internal value without
2484
- * mutating original data.
2584
+ /**
2585
+ * When checkedRows prop change, update internal value without
2586
+ * mutating original data.
2485
2587
  */
2486
2588
  checkedRows: function checkedRows(rows) {
2487
2589
  this.newCheckedRows = _toConsumableArray(rows);
2488
2590
  },
2489
2591
 
2490
- /*
2491
- newColumns(value) {
2492
- this.checkSort()
2493
- },
2592
+ /*
2593
+ newColumns(value) {
2594
+ this.checkSort()
2595
+ },
2494
2596
  */
2495
2597
  debounceSearch: {
2496
2598
  handler: function handler(value) {
@@ -2509,9 +2611,9 @@
2509
2611
  deep: true
2510
2612
  },
2511
2613
 
2512
- /**
2513
- * When the user wants to control the detailed rows via props.
2514
- * Or wants to open the details of certain row with the router for example.
2614
+ /**
2615
+ * When the user wants to control the detailed rows via props.
2616
+ * Or wants to open the details of certain row with the router for example.
2515
2617
  */
2516
2618
  openedDetailed: function openedDetailed(expandedRows) {
2517
2619
  this.visibleDetailRows = expandedRows;
@@ -2563,7 +2665,12 @@
2563
2665
  var formattedSortingPriority = this.sortMultipleDataLocal.map(function (i) {
2564
2666
  return (i.order && i.order === 'desc' ? '-' : '') + i.field;
2565
2667
  });
2566
- this.newData = multiColumnSort(this.newData, formattedSortingPriority);
2668
+
2669
+ if (formattedSortingPriority.length === 0) {
2670
+ this.resetMultiSorting();
2671
+ } else {
2672
+ this.newData = multiColumnSort(this.newData, formattedSortingPriority);
2673
+ }
2567
2674
  }
2568
2675
  },
2569
2676
  resetMultiSorting: function resetMultiSorting() {
@@ -2572,9 +2679,9 @@
2572
2679
  this.newData = this.data;
2573
2680
  },
2574
2681
 
2575
- /**
2576
- * Sort an array by key without mutating original data.
2577
- * Call the user sort function if it was passed.
2682
+ /**
2683
+ * Sort an array by key without mutating original data.
2684
+ * Call the user sort function if it was passed.
2578
2685
  */
2579
2686
  sortBy: function sortBy(array, key, fn, isAsc) {
2580
2687
  var sorted = []; // Sorting without mutating original data
@@ -2591,10 +2698,12 @@
2591
2698
 
2592
2699
  if (typeof newA === 'boolean' && typeof newB === 'boolean') {
2593
2700
  return isAsc ? newA - newB : newB - newA;
2594
- }
2701
+ } // sort null values to the bottom when in asc order
2702
+ // and to the top when in desc order
2703
+
2595
2704
 
2596
- if (!newA && newA !== 0) return 1;
2597
- if (!newB && newB !== 0) return -1;
2705
+ if (!isNil(newB) && isNil(newA)) return isAsc ? 1 : -1;
2706
+ if (!isNil(newA) && isNil(newB)) return isAsc ? -1 : 1;
2598
2707
  if (newA === newB) return 0;
2599
2708
  newA = typeof newA === 'string' ? newA.toUpperCase() : newA;
2600
2709
  newB = typeof newB === 'string' ? newB.toUpperCase() : newB;
@@ -2631,10 +2740,10 @@
2631
2740
  this.newData = multiColumnSort(this.newData, formattedSortingPriority);
2632
2741
  },
2633
2742
 
2634
- /**
2635
- * Sort the column.
2636
- * Toggle current direction on column if it's sortable
2637
- * and not just updating the prop.
2743
+ /**
2744
+ * Sort the column.
2745
+ * Toggle current direction on column if it's sortable
2746
+ * and not just updating the prop.
2638
2747
  */
2639
2748
  sort: function sort(column) {
2640
2749
  var updatingData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
@@ -2685,15 +2794,15 @@
2685
2794
  return row === selected;
2686
2795
  },
2687
2796
 
2688
- /**
2689
- * Check if the row is checked (is added to the array).
2797
+ /**
2798
+ * Check if the row is checked (is added to the array).
2690
2799
  */
2691
2800
  isRowChecked: function isRowChecked(row) {
2692
2801
  return indexOf(this.newCheckedRows, row, this.customIsChecked) >= 0;
2693
2802
  },
2694
2803
 
2695
- /**
2696
- * Remove a checked row from the array.
2804
+ /**
2805
+ * Remove a checked row from the array.
2697
2806
  */
2698
2807
  removeCheckedRow: function removeCheckedRow(row) {
2699
2808
  var index = indexOf(this.newCheckedRows, row, this.customIsChecked);
@@ -2703,9 +2812,9 @@
2703
2812
  }
2704
2813
  },
2705
2814
 
2706
- /**
2707
- * Header checkbox click listener.
2708
- * Add or remove all rows in current page.
2815
+ /**
2816
+ * Header checkbox click listener.
2817
+ * Add or remove all rows in current page.
2709
2818
  */
2710
2819
  checkAll: function checkAll() {
2711
2820
  var _this6 = this;
@@ -2728,8 +2837,8 @@
2728
2837
  this.$emit('update:checkedRows', this.newCheckedRows);
2729
2838
  },
2730
2839
 
2731
- /**
2732
- * Row checkbox click listener.
2840
+ /**
2841
+ * Row checkbox click listener.
2733
2842
  */
2734
2843
  checkRow: function checkRow(row, index, event) {
2735
2844
  if (!this.isRowCheckable(row)) return;
@@ -2749,8 +2858,8 @@
2749
2858
  this.$emit('update:checkedRows', this.newCheckedRows);
2750
2859
  },
2751
2860
 
2752
- /**
2753
- * Check row when shift is pressed.
2861
+ /**
2862
+ * Check row when shift is pressed.
2754
2863
  */
2755
2864
  shiftCheckRow: function shiftCheckRow(row, index, lastCheckedRowIndex) {
2756
2865
  var _this7 = this;
@@ -2768,9 +2877,9 @@
2768
2877
  });
2769
2878
  },
2770
2879
 
2771
- /**
2772
- * Row click listener.
2773
- * Emit all necessary events.
2880
+ /**
2881
+ * Row click listener.
2882
+ * Emit all necessary events.
2774
2883
  */
2775
2884
  selectRow: function selectRow(row, index) {
2776
2885
  this.$emit('click', row);
@@ -2782,8 +2891,8 @@
2782
2891
  this.$emit('update:selected', row);
2783
2892
  },
2784
2893
 
2785
- /**
2786
- * Toggle to show/hide details slot
2894
+ /**
2895
+ * Toggle to show/hide details slot
2787
2896
  */
2788
2897
  toggleDetails: function toggleDetails(obj) {
2789
2898
  var found = this.isVisibleDetailRow(obj);
@@ -2825,14 +2934,7 @@
2825
2934
  var _this8 = this;
2826
2935
 
2827
2936
  var _loop = function _loop(key) {
2828
- // remove key if empty
2829
- if (!_this8.filters[key]) {
2830
- delete _this8.filters[key];
2831
- return {
2832
- v: true
2833
- };
2834
- }
2835
-
2937
+ if (!_this8.filters[key]) return "continue";
2836
2938
  var input = _this8.filters[key];
2837
2939
 
2838
2940
  var column = _this8.newColumns.filter(function (c) {
@@ -2856,9 +2958,21 @@
2856
2958
  };
2857
2959
  } else {
2858
2960
  var re = new RegExp(escapeRegExpChars(input), 'i');
2859
- if (!re.test(value)) return {
2860
- v: false
2861
- };
2961
+
2962
+ if (Array.isArray(value)) {
2963
+ var valid = value.some(function (val) {
2964
+ return re.test(removeDiacriticsFromString(val)) || re.test(val);
2965
+ });
2966
+ if (!valid) return {
2967
+ v: false
2968
+ };
2969
+ } else {
2970
+ if (!re.test(removeDiacriticsFromString(value)) && !re.test(value)) {
2971
+ return {
2972
+ v: false
2973
+ };
2974
+ }
2975
+ }
2862
2976
  }
2863
2977
  }
2864
2978
  };
@@ -2866,15 +2980,21 @@
2866
2980
  for (var key in this.filters) {
2867
2981
  var _ret = _loop(key);
2868
2982
 
2869
- if (_typeof(_ret) === "object") return _ret.v;
2983
+ switch (_ret) {
2984
+ case "continue":
2985
+ continue;
2986
+
2987
+ default:
2988
+ if (_typeof(_ret) === "object") return _ret.v;
2989
+ }
2870
2990
  }
2871
2991
 
2872
2992
  return true;
2873
2993
  },
2874
2994
 
2875
- /**
2876
- * When the detailKey is defined we use the object[detailKey] as index.
2877
- * If not, use the object reference by default.
2995
+ /**
2996
+ * When the detailKey is defined we use the object[detailKey] as index.
2997
+ * If not, use the object reference by default.
2878
2998
  */
2879
2999
  handleDetailKey: function handleDetailKey(index) {
2880
3000
  var key = this.detailKey;
@@ -2888,8 +3008,8 @@
2888
3008
  }
2889
3009
  },
2890
3010
 
2891
- /**
2892
- * Call initSort only first time (For example async data).
3011
+ /**
3012
+ * Call initSort only first time (For example async data).
2893
3013
  */
2894
3014
  checkSort: function checkSort() {
2895
3015
  if (this.newColumns.length && this.firstTimeSort) {
@@ -2907,8 +3027,8 @@
2907
3027
  }
2908
3028
  },
2909
3029
 
2910
- /**
2911
- * Check if footer slot has custom content.
3030
+ /**
3031
+ * Check if footer slot has custom content.
2912
3032
  */
2913
3033
  hasCustomFooterSlot: function hasCustomFooterSlot() {
2914
3034
  if (this.$slots.footer.length > 1) return true;
@@ -2917,15 +3037,15 @@
2917
3037
  return true;
2918
3038
  },
2919
3039
 
2920
- /**
2921
- * Check if bottom-left slot exists.
3040
+ /**
3041
+ * Check if bottom-left slot exists.
2922
3042
  */
2923
3043
  hasBottomLeftSlot: function hasBottomLeftSlot() {
2924
3044
  return typeof this.$slots['bottom-left'] !== 'undefined';
2925
3045
  },
2926
3046
 
2927
- /**
2928
- * Table arrow keys listener, change selection.
3047
+ /**
3048
+ * Table arrow keys listener, change selection.
2929
3049
  */
2930
3050
  pressedArrow: function pressedArrow(pos) {
2931
3051
  if (!this.visibleData.length) return;
@@ -2955,16 +3075,16 @@
2955
3075
  }
2956
3076
  },
2957
3077
 
2958
- /**
2959
- * Focus table element if has selected prop.
3078
+ /**
3079
+ * Focus table element if has selected prop.
2960
3080
  */
2961
3081
  focus: function focus() {
2962
3082
  if (!this.focusable) return;
2963
3083
  this.$el.querySelector('table').focus();
2964
3084
  },
2965
3085
 
2966
- /**
2967
- * Initial sorted column based on the default-sort prop.
3086
+ /**
3087
+ * Initial sorted column based on the default-sort prop.
2968
3088
  */
2969
3089
  initSort: function initSort() {
2970
3090
  var _this9 = this;
@@ -2999,8 +3119,8 @@
2999
3119
  }
3000
3120
  },
3001
3121
 
3002
- /**
3003
- * Emits drag start event (row)
3122
+ /**
3123
+ * Emits drag start event (row)
3004
3124
  */
3005
3125
  handleDragStart: function handleDragStart(event, row, index) {
3006
3126
  if (!this.canDragRow) return;
@@ -3012,8 +3132,8 @@
3012
3132
  });
3013
3133
  },
3014
3134
 
3015
- /**
3016
- * Emits drag leave event (row)
3135
+ /**
3136
+ * Emits drag leave event (row)
3017
3137
  */
3018
3138
  handleDragEnd: function handleDragEnd(event, row, index) {
3019
3139
  if (!this.canDragRow) return;
@@ -3025,8 +3145,8 @@
3025
3145
  });
3026
3146
  },
3027
3147
 
3028
- /**
3029
- * Emits drop event (row)
3148
+ /**
3149
+ * Emits drop event (row)
3030
3150
  */
3031
3151
  handleDrop: function handleDrop(event, row, index) {
3032
3152
  if (!this.canDragRow) return;
@@ -3037,8 +3157,8 @@
3037
3157
  });
3038
3158
  },
3039
3159
 
3040
- /**
3041
- * Emits drag over event (row)
3160
+ /**
3161
+ * Emits drag over event (row)
3042
3162
  */
3043
3163
  handleDragOver: function handleDragOver(event, row, index) {
3044
3164
  if (!this.canDragRow) return;
@@ -3049,8 +3169,8 @@
3049
3169
  });
3050
3170
  },
3051
3171
 
3052
- /**
3053
- * Emits drag leave event (row)
3172
+ /**
3173
+ * Emits drag leave event (row)
3054
3174
  */
3055
3175
  handleDragLeave: function handleDragLeave(event, row, index) {
3056
3176
  if (!this.canDragRow) return;
@@ -3064,8 +3184,8 @@
3064
3184
  return this.$listeners[eventName] ? this.$emit(eventName, row, event) : null;
3065
3185
  },
3066
3186
 
3067
- /**
3068
- * Emits drag start event (column)
3187
+ /**
3188
+ * Emits drag start event (column)
3069
3189
  */
3070
3190
  handleColumnDragStart: function handleColumnDragStart(event, column, index) {
3071
3191
  if (!this.canDragColumn) return;
@@ -3077,8 +3197,8 @@
3077
3197
  });
3078
3198
  },
3079
3199
 
3080
- /**
3081
- * Emits drag leave event (column)
3200
+ /**
3201
+ * Emits drag leave event (column)
3082
3202
  */
3083
3203
  handleColumnDragEnd: function handleColumnDragEnd(event, column, index) {
3084
3204
  if (!this.canDragColumn) return;
@@ -3090,8 +3210,8 @@
3090
3210
  });
3091
3211
  },
3092
3212
 
3093
- /**
3094
- * Emits drop event (column)
3213
+ /**
3214
+ * Emits drop event (column)
3095
3215
  */
3096
3216
  handleColumnDrop: function handleColumnDrop(event, column, index) {
3097
3217
  if (!this.canDragColumn) return;
@@ -3102,8 +3222,8 @@
3102
3222
  });
3103
3223
  },
3104
3224
 
3105
- /**
3106
- * Emits drag over event (column)
3225
+ /**
3226
+ * Emits drag over event (column)
3107
3227
  */
3108
3228
  handleColumnDragOver: function handleColumnDragOver(event, column, index) {
3109
3229
  if (!this.canDragColumn) return;
@@ -3114,8 +3234,8 @@
3114
3234
  });
3115
3235
  },
3116
3236
 
3117
- /**
3118
- * Emits drag leave event (column)
3237
+ /**
3238
+ * Emits drag leave event (column)
3119
3239
  */
3120
3240
  handleColumnDragLeave: function handleColumnDragLeave(event, column, index) {
3121
3241
  if (!this.canDragColumn) return;
@@ -3140,7 +3260,7 @@
3140
3260
  const __vue_script__$a = script$a;
3141
3261
 
3142
3262
  /* template */
3143
- var __vue_render__$9 = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"b-table"},[_vm._t("default"),(_vm.mobileCards && _vm.hasSortablenewColumns)?_c('b-table-mobile-sort',{attrs:{"current-sort-column":_vm.currentSortColumn,"sort-multiple":_vm.sortMultiple,"sort-multiple-data":_vm.sortMultipleDataComputed,"is-asc":_vm.isAsc,"columns":_vm.newColumns,"placeholder":_vm.mobileSortPlaceholder,"icon-pack":_vm.iconPack,"sort-icon":_vm.sortIcon,"sort-icon-size":_vm.sortIconSize},on:{"sort":function (column, event) { return _vm.sort(column, null, event); },"removePriority":function (column) { return _vm.removeSortingPriority(column); }}}):_vm._e(),(_vm.paginated && (_vm.paginationPosition === 'top' || _vm.paginationPosition === 'both'))?[_vm._t("pagination",[_c('b-table-pagination',_vm._b({attrs:{"per-page":_vm.perPage,"paginated":_vm.paginated,"rounded":_vm.paginationRounded,"icon-pack":_vm.iconPack,"total":_vm.newDataTotal,"current-page":_vm.newCurrentPage,"aria-next-label":_vm.ariaNextLabel,"aria-previous-label":_vm.ariaPreviousLabel,"aria-page-label":_vm.ariaPageLabel,"aria-current-label":_vm.ariaCurrentLabel},on:{"update:currentPage":function($event){_vm.newCurrentPage=$event;},"update:current-page":function($event){_vm.newCurrentPage=$event;},"page-change":function (event) { return _vm.$emit('page-change', event); }}},'b-table-pagination',_vm.$attrs,false),[_vm._t("top-left")],2)])]:_vm._e(),_c('div',{staticClass:"table-wrapper",class:_vm.tableWrapperClasses,style:(_vm.tableStyle)},[_c('table',{staticClass:"table",class:_vm.tableClasses,attrs:{"tabindex":!_vm.focusable ? false : 0},on:{"keydown":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"up",38,$event.key,["Up","ArrowUp"])){ return null; }if($event.target !== $event.currentTarget){ return null; }$event.preventDefault();return _vm.pressedArrow(-1)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"down",40,$event.key,["Down","ArrowDown"])){ return null; }if($event.target !== $event.currentTarget){ return null; }$event.preventDefault();return _vm.pressedArrow(1)}]}},[(_vm.caption)?_c('caption',{directives:[{name:"show",rawName:"v-show",value:(_vm.showCaption),expression:"showCaption"}]},[_vm._v(_vm._s(_vm.caption))]):_vm._e(),(_vm.newColumns.length && _vm.showHeader)?_c('thead',[_c('tr',[(_vm.showDetailRowIcon)?_c('th',{attrs:{"width":"40px"}}):_vm._e(),(_vm.checkable && _vm.checkboxPosition === 'left')?_c('th',{class:['checkbox-cell', { 'is-sticky': _vm.stickyCheckbox } ]},[(_vm.headerCheckable)?[_c('b-checkbox',{attrs:{"autocomplete":"off","value":_vm.isAllChecked,"disabled":_vm.isAllUncheckable},nativeOn:{"change":function($event){return _vm.checkAll($event)}}})]:_vm._e()],2):_vm._e(),_vm._l((_vm.visibleColumns),function(column,index){return _c('th',_vm._b({key:column.newKey + ':' + index + 'header',class:[column.thClasses, {
3263
+ var __vue_render__$9 = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"b-table"},[_vm._t("default"),(_vm.mobileCards && _vm.hasSortablenewColumns)?_c('b-table-mobile-sort',{attrs:{"current-sort-column":_vm.currentSortColumn,"sort-multiple":_vm.sortMultiple,"sort-multiple-data":_vm.sortMultipleDataComputed,"is-asc":_vm.isAsc,"columns":_vm.newColumns,"placeholder":_vm.mobileSortPlaceholder,"icon-pack":_vm.iconPack,"sort-icon":_vm.sortIcon,"sort-icon-size":_vm.sortIconSize},on:{"sort":function (column, event) { return _vm.sort(column, null, event); },"removePriority":function (column) { return _vm.removeSortingPriority(column); }}}):_vm._e(),(_vm.paginated && (_vm.paginationPosition === 'top' || _vm.paginationPosition === 'both'))?[_vm._t("pagination",[_c('b-table-pagination',_vm._b({attrs:{"per-page":_vm.perPage,"paginated":_vm.paginated,"rounded":_vm.paginationRounded,"icon-pack":_vm.iconPack,"total":_vm.newDataTotal,"current-page":_vm.newCurrentPage,"aria-next-label":_vm.ariaNextLabel,"aria-previous-label":_vm.ariaPreviousLabel,"aria-page-label":_vm.ariaPageLabel,"aria-current-label":_vm.ariaCurrentLabel,"page-input":_vm.pageInput,"pagination-order":_vm.paginationOrder,"page-input-position":_vm.pageInputPosition,"debounce-page-input":_vm.debouncePageInput},on:{"update:currentPage":function($event){_vm.newCurrentPage=$event;},"update:current-page":function($event){_vm.newCurrentPage=$event;},"page-change":function (event) { return _vm.$emit('page-change', event); }}},'b-table-pagination',_vm.$attrs,false),[_vm._t("top-left")],2)])]:_vm._e(),_c('div',{staticClass:"table-wrapper",class:_vm.tableWrapperClasses,style:(_vm.tableStyle)},[_c('table',{staticClass:"table",class:_vm.tableClasses,attrs:{"tabindex":!_vm.focusable ? false : 0},on:{"keydown":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"up",38,$event.key,["Up","ArrowUp"])){ return null; }if($event.target !== $event.currentTarget){ return null; }$event.preventDefault();return _vm.pressedArrow(-1)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"down",40,$event.key,["Down","ArrowDown"])){ return null; }if($event.target !== $event.currentTarget){ return null; }$event.preventDefault();return _vm.pressedArrow(1)}]}},[(_vm.caption)?_c('caption',{directives:[{name:"show",rawName:"v-show",value:(_vm.showCaption),expression:"showCaption"}]},[_vm._v(_vm._s(_vm.caption))]):_vm._e(),(_vm.newColumns.length && _vm.showHeader)?_c('thead',[_c('tr',[(_vm.showDetailRowIcon)?_c('th',{attrs:{"width":"40px"}}):_vm._e(),(_vm.checkable && _vm.checkboxPosition === 'left')?_c('th',{class:['checkbox-cell', { 'is-sticky': _vm.stickyCheckbox } ]},[(_vm.headerCheckable)?[_c('b-checkbox',{attrs:{"autocomplete":"off","value":_vm.isAllChecked,"disabled":_vm.isAllUncheckable},nativeOn:{"change":function($event){return _vm.checkAll($event)}}})]:_vm._e()],2):_vm._e(),_vm._l((_vm.visibleColumns),function(column,index){return _c('th',_vm._b({key:column.newKey + ':' + index + 'header',class:[column.thClasses, {
3144
3264
  'is-current-sort': !_vm.sortMultiple && _vm.currentSortColumn === column,
3145
3265
  }],style:(column.thStyle),attrs:{"draggable":_vm.canDragColumn},on:{"click":function($event){$event.stopPropagation();return _vm.sort(column, null, $event)},"dragstart":function($event){return _vm.handleColumnDragStart($event, column, index)},"dragend":function($event){return _vm.handleColumnDragEnd($event, column, index)},"drop":function($event){return _vm.handleColumnDrop($event, column, index)},"dragover":function($event){return _vm.handleColumnDragOver($event, column, index)},"dragleave":function($event){return _vm.handleColumnDragLeave($event, column, index)}}},'th',column.thAttrs(column),false),[_c('div',{staticClass:"th-wrap",class:{
3146
3266
  'is-numeric': column.numeric,
@@ -3160,7 +3280,7 @@
3160
3280
  'is-selected': _vm.isRowSelected(row, _vm.selected),
3161
3281
  'is-checked': _vm.isRowChecked(row),
3162
3282
  }],attrs:{"draggable":_vm.canDragRow},on:{"click":function($event){return _vm.selectRow(row)},"dblclick":function($event){return _vm.$emit('dblclick', row)},"mouseenter":function($event){return _vm.emitEventForRow('mouseenter', $event, row)},"mouseleave":function($event){return _vm.emitEventForRow('mouseleave', $event, row)},"contextmenu":function($event){return _vm.$emit('contextmenu', row, $event)},"dragstart":function($event){return _vm.handleDragStart($event, row, index)},"dragend":function($event){return _vm.handleDragEnd($event, row, index)},"drop":function($event){return _vm.handleDrop($event, row, index)},"dragover":function($event){return _vm.handleDragOver($event, row, index)},"dragleave":function($event){return _vm.handleDragLeave($event, row, index)}}},[(_vm.showDetailRowIcon)?_c('td',{staticClass:"chevron-cell"},[(_vm.hasDetailedVisible(row))?_c('a',{attrs:{"role":"button"},on:{"click":function($event){$event.stopPropagation();return _vm.toggleDetails(row)}}},[_c('b-icon',{class:{'is-expanded': _vm.isVisibleDetailRow(row)},attrs:{"icon":_vm.detailIcon,"pack":_vm.iconPack,"both":""}})],1):_vm._e()]):_vm._e(),(_vm.checkable && _vm.checkboxPosition === 'left')?_c('td',{class:['checkbox-cell', { 'is-sticky': _vm.stickyCheckbox } ]},[_c('b-checkbox',{attrs:{"autocomplete":"off","disabled":!_vm.isRowCheckable(row),"value":_vm.isRowChecked(row)},nativeOn:{"click":function($event){$event.preventDefault();$event.stopPropagation();return _vm.checkRow(row, index, $event)}}})],1):_vm._e(),_vm._l((_vm.visibleColumns),function(column,colindex){return [(column.$scopedSlots && column.$scopedSlots.default)?[_c('b-slot-component',_vm._b({key:column.newKey + ':' + index + ':' + colindex,class:column.getRootClasses(row),style:(column.getRootStyle(row)),attrs:{"component":column,"scoped":"","name":"default","tag":"td","data-label":column.label,"props":{ row: row, column: column, index: index, colindex: colindex, toggleDetails: _vm.toggleDetails }},nativeOn:{"click":function($event){return _vm.$emit('cellclick',row,column,index,colindex)}}},'b-slot-component',column.tdAttrs(row, column),false))]:_vm._e()]}),(_vm.checkable && _vm.checkboxPosition === 'right')?_c('td',{class:['checkbox-cell', { 'is-sticky': _vm.stickyCheckbox } ]},[_c('b-checkbox',{attrs:{"autocomplete":"off","disabled":!_vm.isRowCheckable(row),"value":_vm.isRowChecked(row)},nativeOn:{"click":function($event){$event.preventDefault();$event.stopPropagation();return _vm.checkRow(row, index, $event)}}})],1):_vm._e()],2),_c('transition',{key:(_vm.customRowKey ? row[_vm.customRowKey] : index) + 'detail',attrs:{"name":_vm.detailTransition}},[(_vm.isActiveDetailRow(row))?_c('tr',{staticClass:"detail"},[_c('td',{attrs:{"colspan":_vm.columnCount}},[_c('div',{staticClass:"detail-container"},[_vm._t("detail",null,{"row":row,"index":index})],2)])]):_vm._e()]),(_vm.isActiveCustomDetailRow(row))?_vm._t("detail",null,{"row":row,"index":index}):_vm._e()]}),(!_vm.visibleData.length)?_c('tr',{staticClass:"is-empty"},[_c('td',{attrs:{"colspan":_vm.columnCount}},[_vm._t("empty")],2)]):_vm._e()],2),(_vm.$slots.footer !== undefined)?_c('tfoot',[_c('tr',{staticClass:"table-footer"},[(_vm.hasCustomFooterSlot())?_vm._t("footer"):_c('th',{attrs:{"colspan":_vm.columnCount}},[_vm._t("footer")],2)],2)]):_vm._e()]),(_vm.loading)?[_vm._t("loading",[_c('b-loading',{attrs:{"is-full-page":false,"active":_vm.loading},on:{"update:active":function($event){_vm.loading=$event;}}})])]:_vm._e()],2),((_vm.checkable && _vm.hasBottomLeftSlot()) ||
3163
- (_vm.paginated && (_vm.paginationPosition === 'bottom' || _vm.paginationPosition === 'both')))?[_vm._t("pagination",[_c('b-table-pagination',_vm._b({attrs:{"per-page":_vm.perPage,"paginated":_vm.paginated,"rounded":_vm.paginationRounded,"icon-pack":_vm.iconPack,"total":_vm.newDataTotal,"current-page":_vm.newCurrentPage,"aria-next-label":_vm.ariaNextLabel,"aria-previous-label":_vm.ariaPreviousLabel,"aria-page-label":_vm.ariaPageLabel,"aria-current-label":_vm.ariaCurrentLabel},on:{"update:currentPage":function($event){_vm.newCurrentPage=$event;},"update:current-page":function($event){_vm.newCurrentPage=$event;},"page-change":function (event) { return _vm.$emit('page-change', event); }}},'b-table-pagination',_vm.$attrs,false),[_vm._t("bottom-left")],2)])]:_vm._e()],2)};
3283
+ (_vm.paginated && (_vm.paginationPosition === 'bottom' || _vm.paginationPosition === 'both')))?[_vm._t("pagination",[_c('b-table-pagination',_vm._b({attrs:{"per-page":_vm.perPage,"paginated":_vm.paginated,"rounded":_vm.paginationRounded,"icon-pack":_vm.iconPack,"total":_vm.newDataTotal,"current-page":_vm.newCurrentPage,"aria-next-label":_vm.ariaNextLabel,"aria-previous-label":_vm.ariaPreviousLabel,"aria-page-label":_vm.ariaPageLabel,"aria-current-label":_vm.ariaCurrentLabel,"page-input":_vm.pageInput,"pagination-order":_vm.paginationOrder,"page-input-position":_vm.pageInputPosition,"debounce-page-input":_vm.debouncePageInput},on:{"update:currentPage":function($event){_vm.newCurrentPage=$event;},"update:current-page":function($event){_vm.newCurrentPage=$event;},"page-change":function (event) { return _vm.$emit('page-change', event); }}},'b-table-pagination',_vm.$attrs,false),[_vm._t("bottom-left")],2)])]:_vm._e()],2)};
3164
3284
  var __vue_staticRenderFns__$9 = [];
3165
3285
 
3166
3286
  /* style */