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,394 @@
1
+ 'use strict';
2
+
3
+ var __chunk_1 = require('./chunk-9f6a8079.js');
4
+ var __chunk_2 = require('./chunk-59b91990.js');
5
+ var __chunk_4 = require('./chunk-50b06939.js');
6
+ var __chunk_6 = require('./chunk-3b066933.js');
7
+ var __chunk_7 = require('./chunk-4a03b064.js');
8
+
9
+ var script = {
10
+ name: 'BAutocomplete',
11
+ components: __chunk_1._defineProperty({}, __chunk_7.Input.name, __chunk_7.Input),
12
+ mixins: [__chunk_4.FormElementMixin],
13
+ inheritAttrs: false,
14
+ props: {
15
+ value: [Number, String],
16
+ data: {
17
+ type: Array,
18
+ default: function _default() {
19
+ return [];
20
+ }
21
+ },
22
+ field: {
23
+ type: String,
24
+ default: 'value'
25
+ },
26
+ keepFirst: Boolean,
27
+ clearOnSelect: Boolean,
28
+ openOnFocus: Boolean,
29
+ customFormatter: Function
30
+ },
31
+ data: function data() {
32
+ return {
33
+ selected: null,
34
+ hovered: null,
35
+ isActive: false,
36
+ newValue: this.value,
37
+ newAutocomplete: this.autocomplete || 'off',
38
+ isListInViewportVertically: true,
39
+ hasFocus: false,
40
+ _isAutocomplete: true,
41
+ _elementRef: 'input'
42
+ };
43
+ },
44
+ computed: {
45
+ /**
46
+ * White-listed items to not close when clicked.
47
+ * Add input, dropdown and all children.
48
+ */
49
+ whiteList: function whiteList() {
50
+ var whiteList = [];
51
+ whiteList.push(this.$refs.input.$el.querySelector('input'));
52
+ whiteList.push(this.$refs.dropdown); // Add all chidren from dropdown
53
+
54
+ if (this.$refs.dropdown !== undefined) {
55
+ var children = this.$refs.dropdown.querySelectorAll('*');
56
+ var _iteratorNormalCompletion = true;
57
+ var _didIteratorError = false;
58
+ var _iteratorError = undefined;
59
+
60
+ try {
61
+ for (var _iterator = children[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
62
+ var child = _step.value;
63
+ whiteList.push(child);
64
+ }
65
+ } catch (err) {
66
+ _didIteratorError = true;
67
+ _iteratorError = err;
68
+ } finally {
69
+ try {
70
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
71
+ _iterator.return();
72
+ }
73
+ } finally {
74
+ if (_didIteratorError) {
75
+ throw _iteratorError;
76
+ }
77
+ }
78
+ }
79
+ }
80
+
81
+ return whiteList;
82
+ },
83
+
84
+ /**
85
+ * Check if exists default slot
86
+ */
87
+ hasDefaultSlot: function hasDefaultSlot() {
88
+ return !!this.$scopedSlots.default;
89
+ },
90
+
91
+ /**
92
+ * Check if exists "empty" slot
93
+ */
94
+ hasEmptySlot: function hasEmptySlot() {
95
+ return !!this.$slots.empty;
96
+ },
97
+
98
+ /**
99
+ * Check if exists "header" slot
100
+ */
101
+ hasHeaderSlot: function hasHeaderSlot() {
102
+ return !!this.$slots.header;
103
+ },
104
+
105
+ /**
106
+ * Check if exists "footer" slot
107
+ */
108
+ hasFooterSlot: function hasFooterSlot() {
109
+ return !!this.$slots.footer;
110
+ }
111
+ },
112
+ watch: {
113
+ /**
114
+ * When dropdown is toggled, check the visibility to know when
115
+ * to open upwards.
116
+ */
117
+ isActive: function isActive(active) {
118
+ var _this = this;
119
+
120
+ if (active) {
121
+ this.calcDropdownInViewportVertical();
122
+ } else {
123
+ this.$nextTick(function () {
124
+ return _this.setHovered(null);
125
+ }); // Timeout to wait for the animation to finish before recalculating
126
+
127
+ setTimeout(function () {
128
+ _this.calcDropdownInViewportVertical();
129
+ }, 100);
130
+ }
131
+ },
132
+
133
+ /**
134
+ * When updating input's value
135
+ * 1. Emit changes
136
+ * 2. If value isn't the same as selected, set null
137
+ * 3. Close dropdown if value is clear or else open it
138
+ */
139
+ newValue: function newValue(value) {
140
+ this.$emit('input', value); // Check if selected is invalid
141
+
142
+ var currentValue = this.getValue(this.selected);
143
+
144
+ if (currentValue && currentValue !== value) {
145
+ this.setSelected(null, false);
146
+ } // Close dropdown if input is clear or else open it
147
+
148
+
149
+ if (this.hasFocus && (!this.openOnFocus || value)) {
150
+ this.isActive = !!value;
151
+ }
152
+ },
153
+
154
+ /**
155
+ * When v-model is changed:
156
+ * 1. Update internal value.
157
+ * 2. If it's invalid, validate again.
158
+ */
159
+ value: function value(_value) {
160
+ this.newValue = _value;
161
+ !this.isValid && this.$refs.input.checkHtml5Validity();
162
+ },
163
+
164
+ /**
165
+ * Select first option if "keep-first
166
+ */
167
+ data: function data(value) {
168
+ // Keep first option always pre-selected
169
+ if (this.keepFirst) {
170
+ this.selectFirstOption(value);
171
+ }
172
+ }
173
+ },
174
+ methods: {
175
+ /**
176
+ * Set which option is currently hovered.
177
+ */
178
+ setHovered: function setHovered(option) {
179
+ if (option === undefined) return;
180
+ this.hovered = option;
181
+ },
182
+
183
+ /**
184
+ * Set which option is currently selected, update v-model,
185
+ * update input value and close dropdown.
186
+ */
187
+ setSelected: function setSelected(option) {
188
+ var _this2 = this;
189
+
190
+ var closeDropdown = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
191
+ if (option === undefined) return;
192
+ this.selected = option;
193
+ this.$emit('select', this.selected);
194
+
195
+ if (this.selected !== null) {
196
+ this.newValue = this.clearOnSelect ? '' : this.getValue(this.selected);
197
+ }
198
+
199
+ closeDropdown && this.$nextTick(function () {
200
+ _this2.isActive = false;
201
+ });
202
+ },
203
+
204
+ /**
205
+ * Select first option
206
+ */
207
+ selectFirstOption: function selectFirstOption(options) {
208
+ var _this3 = this;
209
+
210
+ this.$nextTick(function () {
211
+ if (options.length) {
212
+ // If has visible data or open on focus, keep updating the hovered
213
+ if (_this3.openOnFocus || _this3.newValue !== '' && _this3.hovered !== options[0]) {
214
+ _this3.setHovered(options[0]);
215
+ }
216
+ } else {
217
+ _this3.setHovered(null);
218
+ }
219
+ });
220
+ },
221
+
222
+ /**
223
+ * Enter key listener.
224
+ * Select the hovered option.
225
+ */
226
+ enterPressed: function enterPressed() {
227
+ if (this.hovered === null) return;
228
+ this.setSelected(this.hovered);
229
+ },
230
+
231
+ /**
232
+ * Tab key listener.
233
+ * Select hovered option if it exists, close dropdown, then allow
234
+ * native handling to move to next tabbable element.
235
+ */
236
+ tabPressed: function tabPressed() {
237
+ if (this.hovered === null) {
238
+ this.isActive = false;
239
+ return;
240
+ }
241
+
242
+ this.setSelected(this.hovered);
243
+ },
244
+
245
+ /**
246
+ * Close dropdown if clicked outside.
247
+ */
248
+ clickedOutside: function clickedOutside(event) {
249
+ if (this.whiteList.indexOf(event.target) < 0) this.isActive = false;
250
+ },
251
+
252
+ /**
253
+ * Return display text for the input.
254
+ * If object, get value from path, or else just the value.
255
+ */
256
+ getValue: function getValue(option) {
257
+ if (!option) return;
258
+
259
+ if (typeof this.customFormatter !== 'undefined') {
260
+ return this.customFormatter(option);
261
+ }
262
+
263
+ return __chunk_1._typeof(option) === 'object' ? __chunk_2.getValueByPath(option, this.field) : option;
264
+ },
265
+
266
+ /**
267
+ * Calculate if the dropdown is vertically visible when activated,
268
+ * otherwise it is openened upwards.
269
+ */
270
+ calcDropdownInViewportVertical: function calcDropdownInViewportVertical() {
271
+ var _this4 = this;
272
+
273
+ this.$nextTick(function () {
274
+ /**
275
+ * this.$refs.dropdown may be undefined
276
+ * when Autocomplete is conditional rendered
277
+ */
278
+ if (_this4.$refs.dropdown === undefined) return;
279
+
280
+ var rect = _this4.$refs.dropdown.getBoundingClientRect();
281
+
282
+ _this4.isListInViewportVertically = rect.top >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight);
283
+ });
284
+ },
285
+
286
+ /**
287
+ * Arrows keys listener.
288
+ * If dropdown is active, set hovered option, or else just open.
289
+ */
290
+ keyArrows: function keyArrows(direction) {
291
+ var sum = direction === 'down' ? 1 : -1;
292
+
293
+ if (this.isActive) {
294
+ var index = this.data.indexOf(this.hovered) + sum;
295
+ index = index > this.data.length - 1 ? this.data.length : index;
296
+ index = index < 0 ? 0 : index;
297
+ this.setHovered(this.data[index]);
298
+ var list = this.$refs.dropdown.querySelector('.dropdown-content');
299
+ var element = list.querySelectorAll('a.dropdown-item:not(.is-disabled)')[index];
300
+ if (!element) return;
301
+ var visMin = list.scrollTop;
302
+ var visMax = list.scrollTop + list.clientHeight - element.clientHeight;
303
+
304
+ if (element.offsetTop < visMin) {
305
+ list.scrollTop = element.offsetTop;
306
+ } else if (element.offsetTop >= visMax) {
307
+ list.scrollTop = element.offsetTop - list.clientHeight + element.clientHeight;
308
+ }
309
+ } else {
310
+ this.isActive = true;
311
+ }
312
+ },
313
+
314
+ /**
315
+ * Focus listener.
316
+ * If value is the same as selected, select all text.
317
+ */
318
+ focused: function focused(event) {
319
+ if (this.getValue(this.selected) === this.newValue) {
320
+ this.$el.querySelector('input').select();
321
+ }
322
+
323
+ if (this.openOnFocus) {
324
+ this.isActive = true;
325
+
326
+ if (this.keepFirst) {
327
+ this.selectFirstOption(this.data);
328
+ }
329
+ }
330
+
331
+ this.hasFocus = true;
332
+ this.$emit('focus', event);
333
+ },
334
+
335
+ /**
336
+ * Blur listener.
337
+ */
338
+ onBlur: function onBlur(event) {
339
+ this.hasFocus = false;
340
+ this.$emit('blur', event);
341
+ },
342
+ onInput: function onInput(event) {
343
+ var currentValue = this.getValue(this.selected);
344
+ if (currentValue && currentValue === this.newValue) return;
345
+ this.$emit('typing', this.newValue);
346
+ }
347
+ },
348
+ created: function created() {
349
+ if (typeof window !== 'undefined') {
350
+ document.addEventListener('click', this.clickedOutside);
351
+ window.addEventListener('resize', this.calcDropdownInViewportVertical);
352
+ }
353
+ },
354
+ beforeDestroy: function beforeDestroy() {
355
+ if (typeof window !== 'undefined') {
356
+ document.removeEventListener('click', this.clickedOutside);
357
+ window.removeEventListener('resize', this.calcDropdownInViewportVertical);
358
+ }
359
+ }
360
+ };
361
+
362
+ /* script */
363
+ const __vue_script__ = script;
364
+
365
+ /* template */
366
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"autocomplete control",class:{'is-expanded': _vm.expanded}},[_c('b-input',_vm._b({ref:"input",attrs:{"type":"text","size":_vm.size,"loading":_vm.loading,"rounded":_vm.rounded,"icon":_vm.icon,"icon-pack":_vm.iconPack,"maxlength":_vm.maxlength,"autocomplete":_vm.newAutocomplete,"use-html5-validation":_vm.useHtml5Validation},on:{"input":_vm.onInput,"focus":_vm.focused,"blur":_vm.onBlur},nativeOn:{"keyup":function($event){if(!('button' in $event)&&_vm._k($event.keyCode,"esc",27,$event.key)){ return null; }$event.preventDefault();_vm.isActive = false;},"keydown":[function($event){if(!('button' in $event)&&_vm._k($event.keyCode,"tab",9,$event.key)){ return null; }_vm.tabPressed($event);},function($event){if(!('button' in $event)&&_vm._k($event.keyCode,"enter",13,$event.key)){ return null; }$event.preventDefault();_vm.enterPressed($event);},function($event){if(!('button' in $event)&&_vm._k($event.keyCode,"up",38,$event.key)){ return null; }$event.preventDefault();_vm.keyArrows('up');},function($event){if(!('button' in $event)&&_vm._k($event.keyCode,"down",40,$event.key)){ return null; }$event.preventDefault();_vm.keyArrows('down');}]},model:{value:(_vm.newValue),callback:function ($$v) {_vm.newValue=$$v;},expression:"newValue"}},'b-input',_vm.$attrs,false)),_vm._v(" "),_c('transition',{attrs:{"name":"fade"}},[_c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.isActive && (_vm.data.length > 0 || _vm.hasEmptySlot || _vm.hasHeaderSlot)),expression:"isActive && (data.length > 0 || hasEmptySlot || hasHeaderSlot)"}],ref:"dropdown",staticClass:"dropdown-menu",class:{ 'is-opened-top': !_vm.isListInViewportVertically }},[_c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.isActive),expression:"isActive"}],staticClass:"dropdown-content"},[(_vm.hasHeaderSlot)?_c('div',{staticClass:"dropdown-item"},[_vm._t("header")],2):_vm._e(),_vm._v(" "),_vm._l((_vm.data),function(option,index){return _c('a',{key:index,staticClass:"dropdown-item",class:{ 'is-hovered': option === _vm.hovered },on:{"click":function($event){_vm.setSelected(option);}}},[(_vm.hasDefaultSlot)?_vm._t("default",null,{option:option,index:index}):_c('span',[_vm._v("\n "+_vm._s(_vm.getValue(option, true))+"\n ")])],2)}),_vm._v(" "),(_vm.data.length === 0 && _vm.hasEmptySlot)?_c('div',{staticClass:"dropdown-item is-disabled"},[_vm._t("empty")],2):_vm._e(),_vm._v(" "),(_vm.hasFooterSlot)?_c('div',{staticClass:"dropdown-item"},[_vm._t("footer")],2):_vm._e()],2)])])],1)};
367
+ var __vue_staticRenderFns__ = [];
368
+
369
+ /* style */
370
+ const __vue_inject_styles__ = undefined;
371
+ /* scoped */
372
+ const __vue_scope_id__ = undefined;
373
+ /* module identifier */
374
+ const __vue_module_identifier__ = undefined;
375
+ /* functional template */
376
+ const __vue_is_functional_template__ = false;
377
+ /* style inject */
378
+
379
+ /* style inject SSR */
380
+
381
+
382
+
383
+ var Autocomplete = __chunk_6.__vue_normalize__(
384
+ { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
385
+ __vue_inject_styles__,
386
+ __vue_script__,
387
+ __vue_scope_id__,
388
+ __vue_is_functional_template__,
389
+ __vue_module_identifier__,
390
+ undefined,
391
+ undefined
392
+ );
393
+
394
+ exports.Autocomplete = Autocomplete;
@@ -0,0 +1,104 @@
1
+ 'use strict';
2
+
3
+ function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier
4
+ /* server only */
5
+ , shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {
6
+ if (typeof shadowMode !== 'boolean') {
7
+ createInjectorSSR = createInjector;
8
+ createInjector = shadowMode;
9
+ shadowMode = false;
10
+ } // Vue.extend constructor export interop.
11
+
12
+
13
+ var options = typeof script === 'function' ? script.options : script; // render functions
14
+
15
+ if (template && template.render) {
16
+ options.render = template.render;
17
+ options.staticRenderFns = template.staticRenderFns;
18
+ options._compiled = true; // functional template
19
+
20
+ if (isFunctionalTemplate) {
21
+ options.functional = true;
22
+ }
23
+ } // scopedId
24
+
25
+
26
+ if (scopeId) {
27
+ options._scopeId = scopeId;
28
+ }
29
+
30
+ var hook;
31
+
32
+ if (moduleIdentifier) {
33
+ // server build
34
+ hook = function hook(context) {
35
+ // 2.3 injection
36
+ context = context || // cached call
37
+ this.$vnode && this.$vnode.ssrContext || // stateful
38
+ this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional
39
+ // 2.2 with runInNewContext: true
40
+
41
+ if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
42
+ context = __VUE_SSR_CONTEXT__;
43
+ } // inject component styles
44
+
45
+
46
+ if (style) {
47
+ style.call(this, createInjectorSSR(context));
48
+ } // register component module identifier for async chunk inference
49
+
50
+
51
+ if (context && context._registeredComponents) {
52
+ context._registeredComponents.add(moduleIdentifier);
53
+ }
54
+ }; // used by ssr in case component is cached and beforeCreate
55
+ // never gets called
56
+
57
+
58
+ options._ssrRegister = hook;
59
+ } else if (style) {
60
+ hook = shadowMode ? function () {
61
+ style.call(this, createInjectorShadow(this.$root.$options.shadowRoot));
62
+ } : function (context) {
63
+ style.call(this, createInjector(context));
64
+ };
65
+ }
66
+
67
+ if (hook) {
68
+ if (options.functional) {
69
+ // register for functional component in vue file
70
+ var originalRender = options.render;
71
+
72
+ options.render = function renderWithStyleInjection(h, context) {
73
+ hook.call(context);
74
+ return originalRender(h, context);
75
+ };
76
+ } else {
77
+ // inject component registration as beforeCreate hook
78
+ var existing = options.beforeCreate;
79
+ options.beforeCreate = existing ? [].concat(existing, hook) : [hook];
80
+ }
81
+ }
82
+
83
+ return script;
84
+ }
85
+
86
+ var normalizeComponent_1 = normalizeComponent;
87
+
88
+ var use = function use(plugin) {
89
+ if (typeof window !== 'undefined' && window.Vue) {
90
+ window.Vue.use(plugin);
91
+ }
92
+ };
93
+ var registerComponent = function registerComponent(Vue, component) {
94
+ Vue.component(component.name, component);
95
+ };
96
+ var registerComponentProgrammatic = function registerComponentProgrammatic(Vue, property, component) {
97
+ if (!Vue.prototype.$buefy) Vue.prototype.$buefy = {};
98
+ Vue.prototype.$buefy[property] = component;
99
+ };
100
+
101
+ exports.__vue_normalize__ = normalizeComponent_1;
102
+ exports.registerComponent = registerComponent;
103
+ exports.registerComponentProgrammatic = registerComponentProgrammatic;
104
+ exports.use = use;