buefy 0.7.9 → 0.8.2

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 (347) hide show
  1. package/CHANGELOG.md +82 -0
  2. package/dist/buefy.css +13759 -8263
  3. package/dist/buefy.js +9073 -14866
  4. package/dist/buefy.min.css +1 -5
  5. package/dist/buefy.min.js +2 -2
  6. package/dist/cjs/autocomplete.js +22 -0
  7. package/dist/cjs/button.js +106 -0
  8. package/dist/cjs/checkbox.js +135 -0
  9. package/dist/cjs/chunk-07fe6fc0.js +247 -0
  10. package/dist/cjs/chunk-0af453a7.js +105 -0
  11. package/dist/cjs/chunk-0e89e51b.js +394 -0
  12. package/dist/cjs/chunk-13e039f5.js +104 -0
  13. package/dist/cjs/chunk-143d9e6d.js +404 -0
  14. package/dist/cjs/chunk-19ebd649.js +114 -0
  15. package/dist/cjs/chunk-1b1231ce.js +94 -0
  16. package/dist/cjs/chunk-1e6abfcf.js +94 -0
  17. package/dist/cjs/chunk-28d164b1.js +172 -0
  18. package/dist/cjs/chunk-3396605d.js +394 -0
  19. package/dist/cjs/chunk-364a37a0.js +404 -0
  20. package/dist/cjs/chunk-3b066933.js +103 -0
  21. package/dist/cjs/chunk-3dffe6e7.js +54 -0
  22. package/dist/cjs/chunk-4a03b064.js +199 -0
  23. package/dist/cjs/chunk-50b06939.js +153 -0
  24. package/dist/cjs/chunk-52623128.js +105 -0
  25. package/dist/cjs/chunk-53d4f332.js +94 -0
  26. package/dist/cjs/chunk-544a95da.js +404 -0
  27. package/dist/cjs/chunk-545f01b1.js +49 -0
  28. package/dist/cjs/chunk-59b91990.js +64 -0
  29. package/dist/cjs/chunk-5b2a3329.js +394 -0
  30. package/dist/cjs/chunk-60061aa8.js +172 -0
  31. package/dist/cjs/chunk-67658e54.js +404 -0
  32. package/dist/cjs/chunk-6963026a.js +86 -0
  33. package/dist/cjs/chunk-6cece6b7.js +140 -0
  34. package/dist/cjs/chunk-6d6465c1.js +140 -0
  35. package/dist/cjs/chunk-6e9c0aca.js +94 -0
  36. package/dist/cjs/chunk-77f69fca.js +106 -0
  37. package/dist/cjs/chunk-7a25d736.js +114 -0
  38. package/dist/cjs/chunk-876befa8.js +247 -0
  39. package/dist/cjs/chunk-8985ffff.js +105 -0
  40. package/dist/cjs/chunk-8a05c8c9.js +207 -0
  41. package/dist/cjs/chunk-90407463.js +258 -0
  42. package/dist/cjs/chunk-956525c9.js +106 -0
  43. package/dist/cjs/chunk-96ce35a2.js +114 -0
  44. package/dist/cjs/chunk-9da1d120.js +86 -0
  45. package/dist/cjs/chunk-9f6a8079.js +54 -0
  46. package/dist/cjs/chunk-a60dc21d.js +281 -0
  47. package/dist/cjs/chunk-b628277d.js +199 -0
  48. package/dist/cjs/chunk-c146745e.js +153 -0
  49. package/dist/cjs/chunk-c2aec7a9.js +547 -0
  50. package/dist/cjs/chunk-c9641331.js +86 -0
  51. package/dist/cjs/chunk-d492406b.js +172 -0
  52. package/dist/cjs/chunk-e0aa62a0.js +404 -0
  53. package/dist/cjs/chunk-e45e0329.js +48 -0
  54. package/dist/cjs/chunk-e5de6583.js +207 -0
  55. package/dist/cjs/chunk-e85cceb6.js +258 -0
  56. package/dist/cjs/chunk-ed5addd6.js +547 -0
  57. package/dist/cjs/chunk-ef4753d5.js +283 -0
  58. package/dist/cjs/chunk-f0c597f9.js +199 -0
  59. package/dist/cjs/chunk-f1df1c63.js +9 -0
  60. package/dist/cjs/chunk-f1ee2f5c.js +207 -0
  61. package/dist/cjs/chunk-fbd4d545.js +247 -0
  62. package/dist/cjs/clockpicker.js +447 -0
  63. package/dist/cjs/collapse.js +102 -0
  64. package/dist/cjs/datepicker.js +1281 -0
  65. package/dist/cjs/dialog.js +237 -0
  66. package/dist/cjs/dropdown.js +19 -0
  67. package/dist/cjs/field.js +18 -0
  68. package/dist/cjs/icon.js +17 -0
  69. package/dist/cjs/index.js +164 -0
  70. package/dist/cjs/input.js +20 -0
  71. package/dist/cjs/loading.js +166 -0
  72. package/dist/cjs/menu.js +231 -0
  73. package/dist/cjs/message.js +65 -0
  74. package/dist/cjs/modal.js +48 -0
  75. package/dist/cjs/navbar.js +258 -0
  76. package/dist/cjs/notification.js +142 -0
  77. package/dist/cjs/numberinput.js +191 -0
  78. package/dist/cjs/pagination.js +19 -0
  79. package/dist/cjs/progress.js +151 -0
  80. package/dist/cjs/radio.js +224 -0
  81. package/dist/cjs/select.js +20 -0
  82. package/dist/cjs/slider.js +511 -0
  83. package/dist/cjs/snackbar.js +114 -0
  84. package/dist/cjs/steps.js +352 -0
  85. package/dist/cjs/switch.js +144 -0
  86. package/dist/cjs/table.js +877 -0
  87. package/dist/cjs/tabs.js +258 -0
  88. package/dist/cjs/tag.js +63 -0
  89. package/dist/cjs/taginput.js +297 -0
  90. package/dist/cjs/timepicker.js +75 -0
  91. package/dist/cjs/toast.js +89 -0
  92. package/dist/cjs/tooltip.js +17 -0
  93. package/dist/cjs/upload.js +210 -0
  94. package/dist/components/autocomplete/index.js +1084 -2
  95. package/dist/components/autocomplete/index.min.js +2 -0
  96. package/dist/components/button/index.js +425 -2
  97. package/dist/components/button/index.min.js +2 -0
  98. package/dist/components/checkbox/index.js +342 -2
  99. package/dist/components/checkbox/index.min.js +2 -0
  100. package/dist/components/clockpicker/index.js +2340 -2
  101. package/dist/components/clockpicker/index.min.js +2 -0
  102. package/dist/components/collapse/index.js +201 -2
  103. package/dist/components/collapse/index.min.js +2 -0
  104. package/dist/components/datepicker/index.js +2720 -2
  105. package/dist/components/datepicker/index.min.js +2 -0
  106. package/dist/components/dialog/index.js +768 -2
  107. package/dist/components/dialog/index.min.js +2 -0
  108. package/dist/components/dropdown/index.js +555 -2
  109. package/dist/components/dropdown/index.min.js +2 -0
  110. package/dist/components/field/index.js +447 -2
  111. package/dist/components/field/index.min.js +2 -0
  112. package/dist/components/icon/index.js +322 -2
  113. package/dist/components/icon/index.min.js +2 -0
  114. package/dist/components/input/index.js +675 -2
  115. package/dist/components/input/index.min.js +2 -0
  116. package/dist/components/loading/index.js +282 -2
  117. package/dist/components/loading/index.min.js +2 -0
  118. package/dist/components/menu/index.js +550 -2
  119. package/dist/components/menu/index.min.js +2 -0
  120. package/dist/components/message/index.js +482 -2
  121. package/dist/components/message/index.min.js +2 -0
  122. package/dist/components/modal/index.js +400 -2
  123. package/dist/components/modal/index.min.js +2 -0
  124. package/dist/components/navbar/index.js +371 -0
  125. package/dist/components/navbar/index.min.js +2 -0
  126. package/dist/components/notification/index.js +705 -2
  127. package/dist/components/notification/index.min.js +2 -0
  128. package/dist/components/numberinput/index.js +846 -2
  129. package/dist/components/numberinput/index.min.js +2 -0
  130. package/dist/components/pagination/index.js +577 -2
  131. package/dist/components/pagination/index.min.js +2 -0
  132. package/dist/components/progress/index.js +250 -0
  133. package/dist/components/progress/index.min.js +2 -0
  134. package/dist/components/radio/index.js +323 -2
  135. package/dist/components/radio/index.min.js +2 -0
  136. package/dist/components/select/index.js +571 -2
  137. package/dist/components/select/index.min.js +2 -0
  138. package/dist/components/slider/index.js +764 -0
  139. package/dist/components/slider/index.min.js +2 -0
  140. package/dist/components/snackbar/index.js +397 -2
  141. package/dist/components/snackbar/index.min.js +2 -0
  142. package/dist/components/steps/index.js +721 -2
  143. package/dist/components/steps/index.min.js +2 -0
  144. package/dist/components/switch/index.js +243 -2
  145. package/dist/components/switch/index.min.js +2 -0
  146. package/dist/components/table/index.js +1870 -2
  147. package/dist/components/table/index.min.js +2 -0
  148. package/dist/components/tabs/index.js +627 -2
  149. package/dist/components/tabs/index.min.js +2 -0
  150. package/dist/components/tag/index.js +262 -2
  151. package/dist/components/tag/index.min.js +2 -0
  152. package/dist/components/taginput/index.js +1459 -2
  153. package/dist/components/taginput/index.min.js +2 -0
  154. package/dist/components/timepicker/index.js +2053 -2
  155. package/dist/components/timepicker/index.min.js +2 -0
  156. package/dist/components/toast/index.js +372 -2
  157. package/dist/components/toast/index.min.js +2 -0
  158. package/dist/components/tooltip/index.js +236 -2
  159. package/dist/components/tooltip/index.min.js +2 -0
  160. package/dist/components/upload/index.js +501 -2
  161. package/dist/components/upload/index.min.js +2 -0
  162. package/dist/esm/autocomplete.js +18 -0
  163. package/dist/esm/button.js +102 -0
  164. package/dist/esm/checkbox.js +131 -0
  165. package/dist/esm/chunk-00e3e67f.js +401 -0
  166. package/dist/esm/chunk-051f8b06.js +105 -0
  167. package/dist/esm/chunk-0566c90d.js +152 -0
  168. package/dist/esm/chunk-07e19446.js +545 -0
  169. package/dist/esm/chunk-085a700d.js +7 -0
  170. package/dist/esm/chunk-0ad6938a.js +53 -0
  171. package/dist/esm/chunk-0e3f4fb5.js +52 -0
  172. package/dist/esm/chunk-10c85529.js +151 -0
  173. package/dist/esm/chunk-121b1efa.js +197 -0
  174. package/dist/esm/chunk-19dad95e.js +256 -0
  175. package/dist/esm/chunk-231b6066.js +113 -0
  176. package/dist/esm/chunk-24d1a01f.js +279 -0
  177. package/dist/esm/chunk-297bff6b.js +393 -0
  178. package/dist/esm/chunk-2b2ae5c6.js +245 -0
  179. package/dist/esm/chunk-2cb6f867.js +46 -0
  180. package/dist/esm/chunk-33717194.js +392 -0
  181. package/dist/esm/chunk-3b811b77.js +139 -0
  182. package/dist/esm/chunk-3e47308f.js +104 -0
  183. package/dist/esm/chunk-411d6eea.js +84 -0
  184. package/dist/esm/chunk-4535dec5.js +92 -0
  185. package/dist/esm/chunk-47a5f3a1.js +103 -0
  186. package/dist/esm/chunk-4a5384da.js +205 -0
  187. package/dist/esm/chunk-4b663574.js +112 -0
  188. package/dist/esm/chunk-4d393f09.js +170 -0
  189. package/dist/esm/chunk-4d695899.js +257 -0
  190. package/dist/esm/chunk-4f508891.js +171 -0
  191. package/dist/esm/chunk-531b8274.js +281 -0
  192. package/dist/esm/chunk-591ee4a2.js +151 -0
  193. package/dist/esm/chunk-5d3bf82e.js +170 -0
  194. package/dist/esm/chunk-5e0b0665.js +104 -0
  195. package/dist/esm/chunk-648b9aa4.js +45 -0
  196. package/dist/esm/chunk-666940cf.js +546 -0
  197. package/dist/esm/chunk-67c97e13.js +246 -0
  198. package/dist/esm/chunk-6844653e.js +401 -0
  199. package/dist/esm/chunk-699b7cb4.js +245 -0
  200. package/dist/esm/chunk-6f881e7d.js +51 -0
  201. package/dist/esm/chunk-7123d158.js +256 -0
  202. package/dist/esm/chunk-7cf87590.js +60 -0
  203. package/dist/esm/chunk-823177ac.js +545 -0
  204. package/dist/esm/chunk-8838757a.js +401 -0
  205. package/dist/esm/chunk-8ca878c0.js +198 -0
  206. package/dist/esm/chunk-8fc2e874.js +85 -0
  207. package/dist/esm/chunk-912ed715.js +92 -0
  208. package/dist/esm/chunk-92acc21f.js +392 -0
  209. package/dist/esm/chunk-98e86f40.js +197 -0
  210. package/dist/esm/chunk-99a1f9df.js +92 -0
  211. package/dist/esm/chunk-9a776697.js +112 -0
  212. package/dist/esm/chunk-9e3207cc.js +46 -0
  213. package/dist/esm/chunk-9ec14e09.js +112 -0
  214. package/dist/esm/chunk-a5ea70d0.js +205 -0
  215. package/dist/esm/chunk-ac3f4847.js +138 -0
  216. package/dist/esm/chunk-b5376f3e.js +92 -0
  217. package/dist/esm/chunk-b56eb2c8.js +197 -0
  218. package/dist/esm/chunk-b796d1b2.js +392 -0
  219. package/dist/esm/chunk-b822a5db.js +205 -0
  220. package/dist/esm/chunk-b9bdb0e4.js +6 -0
  221. package/dist/esm/chunk-bfe15983.js +401 -0
  222. package/dist/esm/chunk-c9039f68.js +104 -0
  223. package/dist/esm/chunk-cc718c15.js +245 -0
  224. package/dist/esm/chunk-cca88db8.js +99 -0
  225. package/dist/esm/chunk-d6200087.js +50 -0
  226. package/dist/esm/chunk-daeac852.js +138 -0
  227. package/dist/esm/chunk-db31c548.js +103 -0
  228. package/dist/esm/chunk-e5568f45.js +84 -0
  229. package/dist/esm/chunk-e5fce48f.js +59 -0
  230. package/dist/esm/chunk-e84b4047.js +170 -0
  231. package/dist/esm/chunk-e8d90b72.js +98 -0
  232. package/dist/esm/chunk-e932bb68.js +206 -0
  233. package/dist/esm/chunk-edd8ff91.js +103 -0
  234. package/dist/esm/chunk-f0465d8d.js +84 -0
  235. package/dist/esm/chunk-f743d154.js +93 -0
  236. package/dist/esm/chunk-f8036b32.js +402 -0
  237. package/dist/esm/chunk-f984748f.js +401 -0
  238. package/dist/esm/chunk-fd5b0e1e.js +99 -0
  239. package/dist/esm/clockpicker.js +443 -0
  240. package/dist/esm/collapse.js +98 -0
  241. package/dist/esm/datepicker.js +1277 -0
  242. package/dist/esm/dialog.js +231 -0
  243. package/dist/esm/dropdown.js +14 -0
  244. package/dist/esm/field.js +14 -0
  245. package/dist/esm/icon.js +13 -0
  246. package/dist/esm/index.js +154 -0
  247. package/dist/esm/input.js +16 -0
  248. package/dist/esm/loading.js +159 -0
  249. package/dist/esm/menu.js +225 -0
  250. package/dist/esm/message.js +61 -0
  251. package/dist/esm/modal.js +42 -0
  252. package/dist/esm/navbar.js +253 -0
  253. package/dist/esm/notification.js +135 -0
  254. package/dist/esm/numberinput.js +187 -0
  255. package/dist/esm/pagination.js +15 -0
  256. package/dist/esm/progress.js +147 -0
  257. package/dist/esm/radio.js +219 -0
  258. package/dist/esm/select.js +16 -0
  259. package/dist/esm/slider.js +506 -0
  260. package/dist/esm/snackbar.js +108 -0
  261. package/dist/esm/steps.js +347 -0
  262. package/dist/esm/switch.js +140 -0
  263. package/dist/esm/table.js +872 -0
  264. package/dist/esm/tabs.js +253 -0
  265. package/dist/esm/tag.js +59 -0
  266. package/dist/esm/taginput.js +293 -0
  267. package/dist/esm/timepicker.js +71 -0
  268. package/dist/esm/toast.js +83 -0
  269. package/dist/esm/tooltip.js +13 -0
  270. package/dist/esm/upload.js +206 -0
  271. package/package.json +26 -4
  272. package/src/components/checkbox/Checkbox.vue +12 -4
  273. package/src/components/checkbox/CheckboxButton.vue +10 -2
  274. package/src/components/clockpicker/Clockpicker.vue +0 -5
  275. package/src/components/datepicker/Datepicker.spec.js +60 -0
  276. package/src/components/datepicker/Datepicker.vue +46 -19
  277. package/src/components/datepicker/DatepickerTable.spec.js +107 -2
  278. package/src/components/datepicker/DatepickerTable.vue +73 -4
  279. package/src/components/datepicker/DatepickerTableRow.spec.js +127 -17
  280. package/src/components/datepicker/DatepickerTableRow.vue +103 -4
  281. package/src/components/dialog/Dialog.vue +5 -3
  282. package/src/components/dialog/index.js +2 -2
  283. package/src/components/dropdown/Dropdown.vue +1 -4
  284. package/src/components/dropdown/DropdownItem.vue +7 -3
  285. package/src/components/field/Field.spec.js +18 -0
  286. package/src/components/field/Field.vue +21 -2
  287. package/src/components/index.js +6 -0
  288. package/src/components/input/Input.vue +2 -2
  289. package/src/components/loading/index.js +1 -1
  290. package/src/components/modal/index.js +1 -1
  291. package/src/components/navbar/NavBar.spec.js +76 -0
  292. package/src/components/navbar/Navbar.vue +127 -0
  293. package/src/components/navbar/NavbarBurger.vue +25 -0
  294. package/src/components/navbar/NavbarItem.vue +21 -0
  295. package/src/components/navbar/index.js +20 -0
  296. package/src/components/notification/index.js +1 -1
  297. package/src/components/pagination/Pagination.vue +28 -6
  298. package/src/components/progress/Progress.spec.js +77 -0
  299. package/src/components/progress/Progress.vue +108 -0
  300. package/src/components/progress/__snapshots__/Progress.spec.js.snap +7 -0
  301. package/src/components/progress/index.js +17 -0
  302. package/src/components/radio/Radio.spec.js +18 -1
  303. package/src/components/radio/Radio.vue +11 -5
  304. package/src/components/radio/RadioButton.spec.js +18 -1
  305. package/src/components/radio/RadioButton.vue +20 -8
  306. package/src/components/select/Select.spec.js +22 -1
  307. package/src/components/select/Select.vue +2 -1
  308. package/src/components/select/__snapshots__/Select.spec.js.snap +7 -0
  309. package/src/components/slider/Slider.spec.js +10 -0
  310. package/src/components/slider/Slider.vue +240 -0
  311. package/src/components/slider/SliderThumb.vue +188 -0
  312. package/src/components/slider/SliderTick.vue +43 -0
  313. package/src/components/slider/index.js +20 -0
  314. package/src/components/snackbar/index.js +2 -2
  315. package/src/components/steps/StepItem.vue +2 -3
  316. package/src/components/steps/Steps.vue +7 -5
  317. package/src/components/switch/Switch.spec.js +29 -0
  318. package/src/components/switch/Switch.vue +29 -5
  319. package/src/components/switch/__snapshots__/Switch.spec.js.snap +3 -0
  320. package/src/components/table/Table.vue +30 -8
  321. package/src/components/table/TableColumn.vue +2 -2
  322. package/src/components/tag/Tag.vue +4 -1
  323. package/src/components/taginput/Taginput.spec.js +10 -0
  324. package/src/components/taginput/Taginput.vue +8 -3
  325. package/src/components/toast/index.js +2 -2
  326. package/src/components/tooltip/Tooltip.vue +5 -5
  327. package/src/components/upload/Upload.vue +15 -8
  328. package/src/index.js +11 -4
  329. package/src/scss/buefy-build.scss +3 -3
  330. package/src/scss/buefy.scss +4 -0
  331. package/src/scss/components/_datepicker.scss +40 -1
  332. package/src/scss/components/_form.scss +52 -1
  333. package/src/scss/components/_progress.scss +45 -0
  334. package/src/scss/components/_radio.scss +14 -14
  335. package/src/scss/components/_slider.scss +138 -0
  336. package/src/scss/components/_steps.scss +4 -4
  337. package/src/scss/components/_switch.scss +54 -2
  338. package/src/scss/components/_taginput.scss +3 -0
  339. package/src/scss/components/_upload.scss +1 -3
  340. package/src/utils/SlotComponent.js +9 -2
  341. package/src/utils/TimepickerMixin.js +17 -6
  342. package/src/utils/config.js +4 -1
  343. package/src/utils/helpers.spec.js +67 -0
  344. package/src/utils/plugins.js +2 -1
  345. package/types/components.d.ts +3 -3
  346. package/types/index.d.ts +24 -11
  347. package/dist/components/index.js +0 -2
@@ -0,0 +1,246 @@
1
+ /*! Buefy v0.7.10 | MIT License | github.com/buefy/buefy */
2
+ import { _ as _defineProperty } from './chunk-6f881e7d.js';
3
+ import { I as Icon } from './chunk-4f508891.js';
4
+ import { _ as __vue_normalize__ } from './chunk-fd5b0e1e.js';
5
+
6
+ var script = {
7
+ name: 'BPagination',
8
+ components: _defineProperty({}, Icon.name, Icon),
9
+ props: {
10
+ total: [Number, String],
11
+ perPage: {
12
+ type: [Number, String],
13
+ default: 20
14
+ },
15
+ current: {
16
+ type: [Number, String],
17
+ default: 1
18
+ },
19
+ rangeBefore: {
20
+ type: [Number, String],
21
+ default: 1
22
+ },
23
+ rangeAfter: {
24
+ type: [Number, String],
25
+ default: 1
26
+ },
27
+ size: String,
28
+ simple: Boolean,
29
+ rounded: Boolean,
30
+ order: String,
31
+ iconPack: String,
32
+ ariaNextLabel: String,
33
+ ariaPreviousLabel: String,
34
+ ariaPageLabel: String,
35
+ ariaCurrentLabel: String
36
+ },
37
+ computed: {
38
+ rootClasses: function rootClasses() {
39
+ return [this.order, this.size, {
40
+ 'is-simple': this.simple,
41
+ 'is-rounded': this.rounded
42
+ }];
43
+ },
44
+ beforeCurrent: function beforeCurrent() {
45
+ return parseInt(this.rangeBefore);
46
+ },
47
+ afterCurrent: function afterCurrent() {
48
+ return parseInt(this.rangeAfter);
49
+ },
50
+
51
+ /**
52
+ * Total page size (count).
53
+ */
54
+ pageCount: function pageCount() {
55
+ return Math.ceil(this.total / this.perPage);
56
+ },
57
+
58
+ /**
59
+ * First item of the page (count).
60
+ */
61
+ firstItem: function firstItem() {
62
+ var firstItem = this.current * this.perPage - this.perPage + 1;
63
+ return firstItem >= 0 ? firstItem : 0;
64
+ },
65
+
66
+ /**
67
+ * Check if previous button is available.
68
+ */
69
+ hasPrev: function hasPrev() {
70
+ return this.current > 1;
71
+ },
72
+
73
+ /**
74
+ * Check if first page button should be visible.
75
+ */
76
+ hasFirst: function hasFirst() {
77
+ return this.current >= 2 + this.beforeCurrent;
78
+ },
79
+
80
+ /**
81
+ * Check if first ellipsis should be visible.
82
+ */
83
+ hasFirstEllipsis: function hasFirstEllipsis() {
84
+ return this.current >= this.beforeCurrent + 4;
85
+ },
86
+
87
+ /**
88
+ * Check if last page button should be visible.
89
+ */
90
+ hasLast: function hasLast() {
91
+ return this.current <= this.pageCount - (1 + this.afterCurrent);
92
+ },
93
+
94
+ /**
95
+ * Check if last ellipsis should be visible.
96
+ */
97
+ hasLastEllipsis: function hasLastEllipsis() {
98
+ return this.current < this.pageCount - (2 + this.afterCurrent);
99
+ },
100
+
101
+ /**
102
+ * Check if next button is available.
103
+ */
104
+ hasNext: function hasNext() {
105
+ return this.current < this.pageCount;
106
+ },
107
+
108
+ /**
109
+ * Get near pages, 1 before and 1 after the current.
110
+ * Also add the click event to the array.
111
+ */
112
+ pagesInRange: function pagesInRange() {
113
+ var _this = this;
114
+
115
+ if (this.simple) return;
116
+ var left = Math.max(1, this.current - this.beforeCurrent);
117
+
118
+ if (left - 1 === 2) {
119
+ left--; // Do not show the ellipsis if there is only one to hide
120
+ }
121
+
122
+ var right = Math.min(this.current + this.afterCurrent, this.pageCount);
123
+
124
+ if (this.pageCount - right === 2) {
125
+ right++; // Do not show the ellipsis if there is only one to hide
126
+ }
127
+
128
+ var pages = [];
129
+
130
+ var _loop = function _loop(i) {
131
+ pages.push({
132
+ number: i,
133
+ isCurrent: _this.current === i,
134
+ click: function click(event) {
135
+ if (_this.current === i) return;
136
+
137
+ _this.$emit('change', i);
138
+
139
+ _this.$emit('update:current', i); // Set focus on element to keep tab order
140
+
141
+
142
+ _this.$nextTick(function () {
143
+ return event.target.focus();
144
+ });
145
+ }
146
+ });
147
+ };
148
+
149
+ for (var i = left; i <= right; i++) {
150
+ _loop(i);
151
+ }
152
+
153
+ return pages;
154
+ }
155
+ },
156
+ watch: {
157
+ /**
158
+ * If current page is trying to be greater than page count, set to last.
159
+ */
160
+ pageCount: function pageCount(value) {
161
+ if (this.current > value) this.last();
162
+ }
163
+ },
164
+ methods: {
165
+ /**
166
+ * Previous button click listener.
167
+ */
168
+ prev: function prev() {
169
+ if (!this.hasPrev) return;
170
+ this.$emit('change', this.current - 1);
171
+ this.$emit('update:current', this.current - 1);
172
+ },
173
+
174
+ /**
175
+ * First button click listener.
176
+ */
177
+ first: function first() {
178
+ this.$emit('change', 1);
179
+ this.$emit('update:current', 1);
180
+ },
181
+
182
+ /**
183
+ * Last button click listener.
184
+ */
185
+ last: function last() {
186
+ this.$emit('change', this.pageCount);
187
+ this.$emit('update:current', this.pageCount);
188
+ },
189
+
190
+ /**
191
+ * Next button click listener.
192
+ */
193
+ next: function next() {
194
+ if (!this.hasNext) return;
195
+ this.$emit('change', this.current + 1);
196
+ this.$emit('update:current', this.current + 1);
197
+ },
198
+
199
+ /**
200
+ * Get text for aria-label according to page number.
201
+ */
202
+ getAriaPageLabel: function getAriaPageLabel(pageNumber, isCurrent) {
203
+ if (this.ariaPageLabel && (!isCurrent || !this.ariaCurrentLabel)) {
204
+ return this.ariaPageLabel + ' ' + pageNumber + '.';
205
+ } else if (this.ariaPageLabel && isCurrent && this.ariaCurrentLabel) {
206
+ return this.ariaCurrentLabel + ', ' + this.ariaPageLabel + ' ' + pageNumber + '.';
207
+ }
208
+
209
+ return null;
210
+ }
211
+ }
212
+ };
213
+
214
+ /* script */
215
+ const __vue_script__ = script;
216
+
217
+ /* template */
218
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav',{staticClass:"pagination",class:_vm.rootClasses},[_c('a',{staticClass:"pagination-previous",attrs:{"role":"button","href":"#","disabled":!_vm.hasPrev,"aria-label":_vm.ariaPreviousLabel},on:{"click":function($event){$event.preventDefault();_vm.prev($event);}}},[_c('b-icon',{attrs:{"icon":"chevron-left","pack":_vm.iconPack,"both":"","aria-hidden":"true"}})],1),_vm._v(" "),_c('a',{staticClass:"pagination-next",attrs:{"role":"button","href":"#","disabled":!_vm.hasNext,"aria-label":_vm.ariaNextLabel},on:{"click":function($event){$event.preventDefault();_vm.next($event);}}},[_c('b-icon',{attrs:{"icon":"chevron-right","pack":_vm.iconPack,"both":"","aria-hidden":"true"}})],1),_vm._v(" "),(!_vm.simple)?_c('ul',{staticClass:"pagination-list"},[(_vm.hasFirst)?_c('li',[_c('a',{staticClass:"pagination-link",attrs:{"role":"button","href":"#","aria-label":_vm.getAriaPageLabel(1, false)},on:{"click":function($event){$event.preventDefault();_vm.first($event);}}},[_vm._v("\n 1\n ")])]):_vm._e(),_vm._v(" "),(_vm.hasFirstEllipsis)?_c('li',[_c('span',{staticClass:"pagination-ellipsis"},[_vm._v("…")])]):_vm._e(),_vm._v(" "),_vm._l((_vm.pagesInRange),function(page){return _c('li',{key:page.number},[_c('a',{staticClass:"pagination-link",class:{ 'is-current': page.isCurrent },attrs:{"role":"button","href":"#","aria-label":_vm.getAriaPageLabel(page.number, page.isCurrent),"aria-current":page.isCurrent},on:{"click":function($event){$event.preventDefault();page.click($event);}}},[_vm._v("\n "+_vm._s(page.number)+"\n ")])])}),_vm._v(" "),(_vm.hasLastEllipsis)?_c('li',[_c('span',{staticClass:"pagination-ellipsis"},[_vm._v("…")])]):_vm._e(),_vm._v(" "),(_vm.hasLast)?_c('li',[_c('a',{staticClass:"pagination-link",attrs:{"role":"button","href":"#","aria-label":_vm.getAriaPageLabel(_vm.pageCount, false)},on:{"click":function($event){$event.preventDefault();_vm.last($event);}}},[_vm._v("\n "+_vm._s(_vm.pageCount)+"\n ")])]):_vm._e()],2):_vm._e(),_vm._v(" "),(_vm.simple)?_c('small',{staticClass:"info"},[(_vm.perPage == 1)?[_vm._v("\n "+_vm._s(_vm.firstItem)+" / "+_vm._s(_vm.total)+"\n ")]:[_vm._v("\n "+_vm._s(_vm.firstItem)+"-"+_vm._s(Math.min(_vm.current * _vm.perPage, _vm.total))+" / "+_vm._s(_vm.total)+"\n ")]],2):_vm._e()])};
219
+ var __vue_staticRenderFns__ = [];
220
+
221
+ /* style */
222
+ const __vue_inject_styles__ = undefined;
223
+ /* scoped */
224
+ const __vue_scope_id__ = undefined;
225
+ /* module identifier */
226
+ const __vue_module_identifier__ = undefined;
227
+ /* functional template */
228
+ const __vue_is_functional_template__ = false;
229
+ /* style inject */
230
+
231
+ /* style inject SSR */
232
+
233
+
234
+
235
+ var Pagination = __vue_normalize__(
236
+ { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
237
+ __vue_inject_styles__,
238
+ __vue_script__,
239
+ __vue_scope_id__,
240
+ __vue_is_functional_template__,
241
+ __vue_module_identifier__,
242
+ undefined,
243
+ undefined
244
+ );
245
+
246
+ export { Pagination as P };
@@ -0,0 +1,401 @@
1
+ import { c as config } from './chunk-648b9aa4.js';
2
+ import { _ as __vue_normalize__ } from './chunk-cca88db8.js';
3
+
4
+ //
5
+ var script = {
6
+ name: 'BDropdown',
7
+ props: {
8
+ value: {
9
+ type: [String, Number, Boolean, Object, Array, Function],
10
+ default: null
11
+ },
12
+ disabled: Boolean,
13
+ hoverable: Boolean,
14
+ inline: Boolean,
15
+ position: {
16
+ type: String,
17
+ validator: function validator(value) {
18
+ return ['is-top-right', 'is-top-left', 'is-bottom-left'].indexOf(value) > -1;
19
+ }
20
+ },
21
+ mobileModal: {
22
+ type: Boolean,
23
+ default: function _default() {
24
+ return config.defaultDropdownMobileModal;
25
+ }
26
+ },
27
+ ariaRole: {
28
+ type: String,
29
+ default: ''
30
+ },
31
+ animation: {
32
+ type: String,
33
+ default: 'fade'
34
+ },
35
+ multiple: Boolean,
36
+ closeOnClick: {
37
+ type: Boolean,
38
+ default: true
39
+ }
40
+ },
41
+ data: function data() {
42
+ return {
43
+ selected: this.value,
44
+ isActive: false,
45
+ isHoverable: this.hoverable,
46
+ _isDropdown: true // Used internally by DropdownItem
47
+
48
+ };
49
+ },
50
+ computed: {
51
+ rootClasses: function rootClasses() {
52
+ return [this.position, {
53
+ 'is-disabled': this.disabled,
54
+ 'is-hoverable': this.hoverable,
55
+ 'is-inline': this.inline,
56
+ 'is-active': this.isActive || this.inline,
57
+ 'is-mobile-modal': this.isMobileModal
58
+ }];
59
+ },
60
+ isMobileModal: function isMobileModal() {
61
+ return this.mobileModal && !this.inline && !this.hoverable;
62
+ },
63
+ ariaRoleMenu: function ariaRoleMenu() {
64
+ return this.ariaRole === 'menu' || this.ariaRole === 'list' ? this.ariaRole : null;
65
+ }
66
+ },
67
+ watch: {
68
+ /**
69
+ * When v-model is changed set the new selected item.
70
+ */
71
+ value: function value(_value) {
72
+ this.selected = _value;
73
+ },
74
+
75
+ /**
76
+ * Emit event when isActive value is changed.
77
+ */
78
+ isActive: function isActive(value) {
79
+ this.$emit('active-change', value);
80
+ }
81
+ },
82
+ methods: {
83
+ /**
84
+ * Click listener from DropdownItem.
85
+ * 1. Set new selected item.
86
+ * 2. Emit input event to update the user v-model.
87
+ * 3. Close the dropdown.
88
+ */
89
+ selectItem: function selectItem(value) {
90
+ var _this = this;
91
+
92
+ if (this.multiple) {
93
+ if (this.selected) {
94
+ var index = this.selected.indexOf(value);
95
+
96
+ if (index === -1) {
97
+ this.selected.push(value);
98
+ } else {
99
+ this.selected.splice(index, 1);
100
+ }
101
+ } else {
102
+ this.selected = [value];
103
+ }
104
+
105
+ this.$emit('change', this.selected);
106
+ } else {
107
+ if (this.selected !== value) {
108
+ this.selected = value;
109
+ this.$emit('change', this.selected);
110
+ }
111
+ }
112
+
113
+ this.$emit('input', this.selected);
114
+
115
+ if (!this.multiple) {
116
+ this.isActive = !this.closeOnClick;
117
+
118
+ if (this.hoverable && this.closeOnClick) {
119
+ this.isHoverable = false; // Timeout for the animation complete before destroying
120
+
121
+ setTimeout(function () {
122
+ _this.isHoverable = true;
123
+ }, 250);
124
+ }
125
+ }
126
+ },
127
+
128
+ /**
129
+ * White-listed items to not close when clicked.
130
+ */
131
+ isInWhiteList: function isInWhiteList(el) {
132
+ if (el === this.$refs.dropdownMenu) return true;
133
+ if (el === this.$refs.trigger) return true; // All chidren from dropdown
134
+
135
+ if (this.$refs.dropdownMenu !== undefined) {
136
+ var children = this.$refs.dropdownMenu.querySelectorAll('*');
137
+ var _iteratorNormalCompletion = true;
138
+ var _didIteratorError = false;
139
+ var _iteratorError = undefined;
140
+
141
+ try {
142
+ for (var _iterator = children[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
143
+ var child = _step.value;
144
+
145
+ if (el === child) {
146
+ return true;
147
+ }
148
+ }
149
+ } catch (err) {
150
+ _didIteratorError = true;
151
+ _iteratorError = err;
152
+ } finally {
153
+ try {
154
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
155
+ _iterator.return();
156
+ }
157
+ } finally {
158
+ if (_didIteratorError) {
159
+ throw _iteratorError;
160
+ }
161
+ }
162
+ }
163
+ } // All children from trigger
164
+
165
+
166
+ if (this.$refs.trigger !== undefined) {
167
+ var _children = this.$refs.trigger.querySelectorAll('*');
168
+
169
+ var _iteratorNormalCompletion2 = true;
170
+ var _didIteratorError2 = false;
171
+ var _iteratorError2 = undefined;
172
+
173
+ try {
174
+ for (var _iterator2 = _children[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
175
+ var _child = _step2.value;
176
+
177
+ if (el === _child) {
178
+ return true;
179
+ }
180
+ }
181
+ } catch (err) {
182
+ _didIteratorError2 = true;
183
+ _iteratorError2 = err;
184
+ } finally {
185
+ try {
186
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
187
+ _iterator2.return();
188
+ }
189
+ } finally {
190
+ if (_didIteratorError2) {
191
+ throw _iteratorError2;
192
+ }
193
+ }
194
+ }
195
+ }
196
+
197
+ return false;
198
+ },
199
+
200
+ /**
201
+ * Close dropdown if clicked outside.
202
+ */
203
+ clickedOutside: function clickedOutside(event) {
204
+ if (this.inline) return;
205
+ if (!this.isInWhiteList(event.target)) this.isActive = false;
206
+ },
207
+
208
+ /**
209
+ * Toggle dropdown if it's not disabled.
210
+ */
211
+ toggle: function toggle() {
212
+ var _this2 = this;
213
+
214
+ if (this.disabled) return;
215
+
216
+ if (!this.isActive) {
217
+ // if not active, toggle after clickOutside event
218
+ // this fixes toggling programmatic
219
+ this.$nextTick(function () {
220
+ var value = !_this2.isActive;
221
+ _this2.isActive = value; // Vue 2.6.x ???
222
+
223
+ setTimeout(function () {
224
+ return _this2.isActive = value;
225
+ });
226
+ });
227
+ } else {
228
+ this.isActive = !this.isActive;
229
+ }
230
+ }
231
+ },
232
+ created: function created() {
233
+ if (typeof window !== 'undefined') {
234
+ document.addEventListener('click', this.clickedOutside);
235
+ }
236
+ },
237
+ beforeDestroy: function beforeDestroy() {
238
+ if (typeof window !== 'undefined') {
239
+ document.removeEventListener('click', this.clickedOutside);
240
+ }
241
+ }
242
+ };
243
+
244
+ /* script */
245
+ const __vue_script__ = script;
246
+
247
+ /* template */
248
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"dropdown",class:_vm.rootClasses},[(!_vm.inline)?_c('div',{ref:"trigger",staticClass:"dropdown-trigger",attrs:{"role":"button","aria-haspopup":"true"},on:{"click":_vm.toggle}},[_vm._t("trigger")],2):_vm._e(),_vm._v(" "),_c('transition',{attrs:{"name":_vm.animation}},[(_vm.isMobileModal)?_c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.isActive),expression:"isActive"}],staticClass:"background",attrs:{"aria-hidden":!_vm.isActive}}):_vm._e()]),_vm._v(" "),_c('transition',{attrs:{"name":_vm.animation}},[_c('div',{directives:[{name:"show",rawName:"v-show",value:((!_vm.disabled && (_vm.isActive || _vm.isHoverable)) || _vm.inline),expression:"(!disabled && (isActive || isHoverable)) || inline"}],ref:"dropdownMenu",staticClass:"dropdown-menu",attrs:{"aria-hidden":!_vm.isActive}},[_c('div',{staticClass:"dropdown-content",attrs:{"role":_vm.ariaRoleMenu}},[_vm._t("default")],2)])])],1)};
249
+ var __vue_staticRenderFns__ = [];
250
+
251
+ /* style */
252
+ const __vue_inject_styles__ = undefined;
253
+ /* scoped */
254
+ const __vue_scope_id__ = undefined;
255
+ /* module identifier */
256
+ const __vue_module_identifier__ = undefined;
257
+ /* functional template */
258
+ const __vue_is_functional_template__ = false;
259
+ /* style inject */
260
+
261
+ /* style inject SSR */
262
+
263
+
264
+
265
+ var Dropdown = __vue_normalize__(
266
+ { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
267
+ __vue_inject_styles__,
268
+ __vue_script__,
269
+ __vue_scope_id__,
270
+ __vue_is_functional_template__,
271
+ __vue_module_identifier__,
272
+ undefined,
273
+ undefined
274
+ );
275
+
276
+ //
277
+ //
278
+ //
279
+ //
280
+ //
281
+ //
282
+ //
283
+ //
284
+ //
285
+ //
286
+ //
287
+ //
288
+ //
289
+ //
290
+ //
291
+ //
292
+ //
293
+ //
294
+ //
295
+ //
296
+ //
297
+ var script$1 = {
298
+ name: 'BDropdownItem',
299
+ props: {
300
+ value: {
301
+ type: [String, Number, Boolean, Object, Array, Function],
302
+ default: null
303
+ },
304
+ separator: Boolean,
305
+ disabled: Boolean,
306
+ custom: Boolean,
307
+ focusable: {
308
+ type: Boolean,
309
+ default: true
310
+ },
311
+ paddingless: Boolean,
312
+ hasLink: Boolean,
313
+ ariaRole: {
314
+ type: String,
315
+ default: ''
316
+ }
317
+ },
318
+ computed: {
319
+ anchorClasses: function anchorClasses() {
320
+ return {
321
+ 'is-disabled': this.$parent.disabled || this.disabled,
322
+ 'is-paddingless': this.paddingless,
323
+ 'is-active': this.isActive
324
+ };
325
+ },
326
+ itemClasses: function itemClasses() {
327
+ return {
328
+ 'dropdown-item': !this.hasLink,
329
+ 'is-disabled': this.disabled,
330
+ 'is-paddingless': this.paddingless,
331
+ 'is-active': this.isActive,
332
+ 'has-link': this.hasLink
333
+ };
334
+ },
335
+ ariaRoleItem: function ariaRoleItem() {
336
+ return this.ariaRole === 'menuitem' || this.ariaRole === 'listitem' ? this.ariaRole : null;
337
+ },
338
+
339
+ /**
340
+ * Check if item can be clickable.
341
+ */
342
+ isClickable: function isClickable() {
343
+ return !this.$parent.disabled && !this.separator && !this.disabled && !this.custom;
344
+ },
345
+ isActive: function isActive() {
346
+ if (this.$parent.selected === null) return false;
347
+ if (this.$parent.multiple) return this.$parent.selected.indexOf(this.value) >= 0;
348
+ return this.value === this.$parent.selected;
349
+ }
350
+ },
351
+ methods: {
352
+ /**
353
+ * Click listener, select the item.
354
+ */
355
+ selectItem: function selectItem() {
356
+ if (!this.isClickable) return;
357
+ this.$parent.selectItem(this.value);
358
+ this.$emit('click');
359
+ }
360
+ },
361
+ created: function created() {
362
+ if (!this.$parent.$data._isDropdown) {
363
+ this.$destroy();
364
+ throw new Error('You should wrap bDropdownItem on a bDropdown');
365
+ }
366
+ }
367
+ };
368
+
369
+ /* script */
370
+ const __vue_script__$1 = script$1;
371
+
372
+ /* template */
373
+ var __vue_render__$1 = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.separator)?_c('hr',{staticClass:"dropdown-divider"}):(!_vm.custom && !_vm.hasLink)?_c('a',{staticClass:"dropdown-item",class:_vm.anchorClasses,attrs:{"role":_vm.ariaRoleItem,"tabindex":_vm.focusable ? 0 : null},on:{"click":_vm.selectItem}},[_vm._t("default")],2):_c('div',{class:_vm.itemClasses,attrs:{"role":_vm.ariaRoleItem,"tabindex":_vm.focusable ? 0 : null},on:{"click":_vm.selectItem}},[_vm._t("default")],2)};
374
+ var __vue_staticRenderFns__$1 = [];
375
+
376
+ /* style */
377
+ const __vue_inject_styles__$1 = undefined;
378
+ /* scoped */
379
+ const __vue_scope_id__$1 = undefined;
380
+ /* module identifier */
381
+ const __vue_module_identifier__$1 = undefined;
382
+ /* functional template */
383
+ const __vue_is_functional_template__$1 = false;
384
+ /* style inject */
385
+
386
+ /* style inject SSR */
387
+
388
+
389
+
390
+ var DropdownItem = __vue_normalize__(
391
+ { render: __vue_render__$1, staticRenderFns: __vue_staticRenderFns__$1 },
392
+ __vue_inject_styles__$1,
393
+ __vue_script__$1,
394
+ __vue_scope_id__$1,
395
+ __vue_is_functional_template__$1,
396
+ __vue_module_identifier__$1,
397
+ undefined,
398
+ undefined
399
+ );
400
+
401
+ export { Dropdown as D, DropdownItem as a };