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,53 @@
1
+ /*! Buefy v0.7.10 | MIT License | github.com/buefy/buefy */
2
+ var SlotComponent = {
3
+ name: 'BSlotComponent',
4
+ props: {
5
+ component: {
6
+ type: Object,
7
+ required: true
8
+ },
9
+ name: {
10
+ type: String,
11
+ default: 'default'
12
+ },
13
+ scoped: {
14
+ type: Boolean
15
+ },
16
+ props: {
17
+ type: Object
18
+ },
19
+ tag: {
20
+ type: String,
21
+ default: 'div'
22
+ },
23
+ event: {
24
+ type: String,
25
+ default: 'hook:updated'
26
+ }
27
+ },
28
+ methods: {
29
+ refresh: function refresh() {
30
+ this.$forceUpdate();
31
+ },
32
+ isVueComponent: function isVueComponent() {
33
+ return this.component && this.component._isVue;
34
+ }
35
+ },
36
+ created: function created() {
37
+ if (this.isVueComponent()) {
38
+ this.component.$on(this.event, this.refresh);
39
+ }
40
+ },
41
+ beforeDestroy: function beforeDestroy() {
42
+ if (this.isVueComponent()) {
43
+ this.component.$off(this.event, this.refresh);
44
+ }
45
+ },
46
+ render: function render(createElement) {
47
+ if (this.isVueComponent()) {
48
+ return createElement(this.tag, {}, this.scoped ? this.component.$scopedSlots[this.name](this.props) : this.component.$slots[this.name]);
49
+ }
50
+ }
51
+ };
52
+
53
+ export { SlotComponent as S };
@@ -0,0 +1,52 @@
1
+ var SlotComponent = {
2
+ name: 'BSlotComponent',
3
+ props: {
4
+ component: {
5
+ type: Object,
6
+ required: true
7
+ },
8
+ name: {
9
+ type: String,
10
+ default: 'default'
11
+ },
12
+ scoped: {
13
+ type: Boolean
14
+ },
15
+ props: {
16
+ type: Object
17
+ },
18
+ tag: {
19
+ type: String,
20
+ default: 'div'
21
+ },
22
+ event: {
23
+ type: String,
24
+ default: 'hook:updated'
25
+ }
26
+ },
27
+ methods: {
28
+ refresh: function refresh() {
29
+ this.$forceUpdate();
30
+ },
31
+ isVueComponent: function isVueComponent() {
32
+ return this.component && this.component._isVue;
33
+ }
34
+ },
35
+ created: function created() {
36
+ if (this.isVueComponent()) {
37
+ this.component.$on(this.event, this.refresh);
38
+ }
39
+ },
40
+ beforeDestroy: function beforeDestroy() {
41
+ if (this.isVueComponent()) {
42
+ this.component.$off(this.event, this.refresh);
43
+ }
44
+ },
45
+ render: function render(createElement) {
46
+ if (this.isVueComponent()) {
47
+ return createElement(this.tag, {}, this.scoped ? this.component.$scopedSlots[this.name](this.props) : this.component.$slots[this.name]);
48
+ }
49
+ }
50
+ };
51
+
52
+ export { SlotComponent as S };
@@ -0,0 +1,151 @@
1
+ import { c as config } from './chunk-9e3207cc.js';
2
+
3
+ var FormElementMixin = {
4
+ props: {
5
+ size: String,
6
+ expanded: Boolean,
7
+ loading: Boolean,
8
+ rounded: Boolean,
9
+ icon: String,
10
+ iconPack: String,
11
+ // Native options to use in HTML5 validation
12
+ autocomplete: String,
13
+ maxlength: [Number, String],
14
+ useHtml5Validation: {
15
+ type: Boolean,
16
+ default: function _default() {
17
+ return config.defaultUseHtml5Validation;
18
+ }
19
+ },
20
+ validationMessage: String
21
+ },
22
+ data: function data() {
23
+ return {
24
+ isValid: true,
25
+ isFocused: false,
26
+ newIconPack: this.iconPack || config.defaultIconPack
27
+ };
28
+ },
29
+ computed: {
30
+ /**
31
+ * Find parent Field, max 3 levels deep.
32
+ */
33
+ parentField: function parentField() {
34
+ var parent = this.$parent;
35
+
36
+ for (var i = 0; i < 3; i++) {
37
+ if (parent && !parent.$data._isField) {
38
+ parent = parent.$parent;
39
+ }
40
+ }
41
+
42
+ return parent;
43
+ },
44
+
45
+ /**
46
+ * Get the type prop from parent if it's a Field.
47
+ */
48
+ statusType: function statusType() {
49
+ if (!this.parentField) return;
50
+ if (!this.parentField.newType) return;
51
+
52
+ if (typeof this.parentField.newType === 'string') {
53
+ return this.parentField.newType;
54
+ } else {
55
+ for (var key in this.parentField.newType) {
56
+ if (this.parentField.newType[key]) {
57
+ return key;
58
+ }
59
+ }
60
+ }
61
+ },
62
+
63
+ /**
64
+ * Get the message prop from parent if it's a Field.
65
+ */
66
+ statusMessage: function statusMessage() {
67
+ if (!this.parentField) return;
68
+ return this.parentField.newMessage;
69
+ },
70
+
71
+ /**
72
+ * Fix icon size for inputs, large was too big
73
+ */
74
+ iconSize: function iconSize() {
75
+ switch (this.size) {
76
+ case 'is-small':
77
+ return this.size;
78
+
79
+ case 'is-medium':
80
+ return;
81
+
82
+ case 'is-large':
83
+ return this.newIconPack === 'mdi' ? 'is-medium' : '';
84
+ }
85
+ }
86
+ },
87
+ methods: {
88
+ /**
89
+ * Focus method that work dynamically depending on the component.
90
+ */
91
+ focus: function focus() {
92
+ var _this = this;
93
+
94
+ if (this.$data._elementRef === undefined) return;
95
+ this.$nextTick(function () {
96
+ var el = _this.$el.querySelector(_this.$data._elementRef);
97
+
98
+ if (el) el.focus();
99
+ });
100
+ },
101
+ onBlur: function onBlur($event) {
102
+ this.isFocused = false;
103
+ this.$emit('blur', $event);
104
+ this.checkHtml5Validity();
105
+ },
106
+ onFocus: function onFocus($event) {
107
+ this.isFocused = true;
108
+ this.$emit('focus', $event);
109
+ },
110
+
111
+ /**
112
+ * Check HTML5 validation, set isValid property.
113
+ * If validation fail, send 'is-danger' type,
114
+ * and error message to parent if it's a Field.
115
+ */
116
+ checkHtml5Validity: function checkHtml5Validity() {
117
+ var _this2 = this;
118
+
119
+ if (!this.useHtml5Validation) return;
120
+ if (this.$refs[this.$data._elementRef] === undefined) return;
121
+ var el = this.$el.querySelector(this.$data._elementRef);
122
+ var type = null;
123
+ var message = null;
124
+ var isValid = true;
125
+
126
+ if (!el.checkValidity()) {
127
+ type = 'is-danger';
128
+ message = this.validationMessage || el.validationMessage;
129
+ isValid = false;
130
+ }
131
+
132
+ this.isValid = isValid;
133
+ this.$nextTick(function () {
134
+ if (_this2.parentField) {
135
+ // Set type only if not defined
136
+ if (!_this2.parentField.type) {
137
+ _this2.parentField.newType = type;
138
+ } // Set message only if not defined
139
+
140
+
141
+ if (!_this2.parentField.message) {
142
+ _this2.parentField.newMessage = message;
143
+ }
144
+ }
145
+ });
146
+ return this.isValid;
147
+ }
148
+ }
149
+ };
150
+
151
+ export { FormElementMixin as F };
@@ -0,0 +1,197 @@
1
+ import { _ as _defineProperty } from './chunk-d6200087.js';
2
+ import { c as config } from './chunk-648b9aa4.js';
3
+ import { F as FormElementMixin } from './chunk-591ee4a2.js';
4
+ import { I as Icon } from './chunk-4d393f09.js';
5
+ import { _ as __vue_normalize__ } from './chunk-cca88db8.js';
6
+
7
+ var script = {
8
+ name: 'BInput',
9
+ components: _defineProperty({}, Icon.name, Icon),
10
+ mixins: [FormElementMixin],
11
+ inheritAttrs: false,
12
+ props: {
13
+ value: [Number, String],
14
+ type: {
15
+ type: String,
16
+ default: 'text'
17
+ },
18
+ passwordReveal: Boolean,
19
+ hasCounter: {
20
+ type: Boolean,
21
+ default: function _default() {
22
+ return config.defaultInputHasCounter;
23
+ }
24
+ },
25
+ customClass: {
26
+ type: String,
27
+ default: ''
28
+ }
29
+ },
30
+ data: function data() {
31
+ return {
32
+ newValue: this.value,
33
+ newType: this.type,
34
+ newAutocomplete: this.autocomplete || config.defaultInputAutocomplete,
35
+ isPasswordVisible: false,
36
+ _elementRef: this.type === 'textarea' ? 'textarea' : 'input'
37
+ };
38
+ },
39
+ computed: {
40
+ computedValue: {
41
+ get: function get() {
42
+ return this.newValue;
43
+ },
44
+ set: function set(value) {
45
+ this.newValue = value;
46
+ this.$emit('input', value);
47
+ !this.isValid && this.checkHtml5Validity();
48
+ }
49
+ },
50
+ rootClasses: function rootClasses() {
51
+ return [this.iconPosition, this.size, {
52
+ 'is-expanded': this.expanded,
53
+ 'is-loading': this.loading,
54
+ 'is-clearfix': !this.hasMessage
55
+ }];
56
+ },
57
+ inputClasses: function inputClasses() {
58
+ return [this.statusType, this.size, {
59
+ 'is-rounded': this.rounded
60
+ }];
61
+ },
62
+ hasIconRight: function hasIconRight() {
63
+ return this.passwordReveal || this.loading || this.statusTypeIcon;
64
+ },
65
+
66
+ /**
67
+ * Position of the icon or if it's both sides.
68
+ */
69
+ iconPosition: function iconPosition() {
70
+ if (this.icon && this.hasIconRight) {
71
+ return 'has-icons-left has-icons-right';
72
+ } else if (!this.icon && this.hasIconRight) {
73
+ return 'has-icons-right';
74
+ } else if (this.icon) {
75
+ return 'has-icons-left';
76
+ }
77
+ },
78
+
79
+ /**
80
+ * Icon name (MDI) based on the type.
81
+ */
82
+ statusTypeIcon: function statusTypeIcon() {
83
+ switch (this.statusType) {
84
+ case 'is-success':
85
+ return 'check';
86
+
87
+ case 'is-danger':
88
+ return 'alert-circle';
89
+
90
+ case 'is-info':
91
+ return 'information';
92
+
93
+ case 'is-warning':
94
+ return 'alert';
95
+ }
96
+ },
97
+
98
+ /**
99
+ * Check if have any message prop from parent if it's a Field.
100
+ */
101
+ hasMessage: function hasMessage() {
102
+ return !!this.statusMessage;
103
+ },
104
+
105
+ /**
106
+ * Current password-reveal icon name.
107
+ */
108
+ passwordVisibleIcon: function passwordVisibleIcon() {
109
+ return !this.isPasswordVisible ? 'eye' : 'eye-off';
110
+ },
111
+
112
+ /**
113
+ * Get value length
114
+ */
115
+ valueLength: function valueLength() {
116
+ if (typeof this.computedValue === 'string') {
117
+ return this.computedValue.length;
118
+ } else if (typeof this.computedValue === 'number') {
119
+ return this.computedValue.toString().length;
120
+ }
121
+
122
+ return 0;
123
+ }
124
+ },
125
+ watch: {
126
+ /**
127
+ * When v-model is changed:
128
+ * 1. Set internal value.
129
+ */
130
+ value: function value(_value) {
131
+ this.newValue = _value;
132
+ }
133
+ },
134
+ methods: {
135
+ /**
136
+ * Toggle the visibility of a password-reveal input
137
+ * by changing the type and focus the input right away.
138
+ */
139
+ togglePasswordVisibility: function togglePasswordVisibility() {
140
+ var _this = this;
141
+
142
+ this.isPasswordVisible = !this.isPasswordVisible;
143
+ this.newType = this.isPasswordVisible ? 'text' : 'password';
144
+ this.$nextTick(function () {
145
+ _this.$refs.input.focus();
146
+ });
147
+ },
148
+
149
+ /**
150
+ * Input's 'input' event listener, 'nextTick' is used to prevent event firing
151
+ * before ui update, helps when using masks (Cleavejs and potentially others).
152
+ */
153
+ onInput: function onInput(event) {
154
+ var _this2 = this;
155
+
156
+ this.$nextTick(function () {
157
+ if (event.target) {
158
+ _this2.computedValue = event.target.value;
159
+ }
160
+ });
161
+ }
162
+ }
163
+ };
164
+
165
+ /* script */
166
+ const __vue_script__ = script;
167
+
168
+ /* template */
169
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"control",class:_vm.rootClasses},[(_vm.type !== 'textarea')?_c('input',_vm._b({ref:"input",staticClass:"input",class:[_vm.inputClasses, _vm.customClass],attrs:{"type":_vm.newType,"autocomplete":_vm.newAutocomplete,"maxlength":_vm.maxlength},domProps:{"value":_vm.computedValue},on:{"input":_vm.onInput,"blur":_vm.onBlur,"focus":_vm.onFocus}},'input',_vm.$attrs,false)):_c('textarea',_vm._b({ref:"textarea",staticClass:"textarea",class:[_vm.inputClasses, _vm.customClass],attrs:{"maxlength":_vm.maxlength},domProps:{"value":_vm.computedValue},on:{"input":_vm.onInput,"blur":_vm.onBlur,"focus":_vm.onFocus}},'textarea',_vm.$attrs,false)),_vm._v(" "),(_vm.icon)?_c('b-icon',{staticClass:"is-left",attrs:{"icon":_vm.icon,"pack":_vm.iconPack,"size":_vm.iconSize}}):_vm._e(),_vm._v(" "),(!_vm.loading && (_vm.passwordReveal || _vm.statusTypeIcon))?_c('b-icon',{staticClass:"is-right",class:{ 'is-clickable': _vm.passwordReveal },attrs:{"icon":_vm.passwordReveal ? _vm.passwordVisibleIcon : _vm.statusTypeIcon,"pack":_vm.iconPack,"size":_vm.iconSize,"type":!_vm.passwordReveal ? _vm.statusType : 'is-primary',"both":""},nativeOn:{"click":function($event){_vm.togglePasswordVisibility($event);}}}):_vm._e(),_vm._v(" "),(_vm.maxlength && _vm.hasCounter && _vm.type !== 'number')?_c('small',{staticClass:"help counter",class:{ 'is-invisible': !_vm.isFocused }},[_vm._v("\n "+_vm._s(_vm.valueLength)+" / "+_vm._s(_vm.maxlength)+"\n ")]):_vm._e()],1)};
170
+ var __vue_staticRenderFns__ = [];
171
+
172
+ /* style */
173
+ const __vue_inject_styles__ = undefined;
174
+ /* scoped */
175
+ const __vue_scope_id__ = undefined;
176
+ /* module identifier */
177
+ const __vue_module_identifier__ = undefined;
178
+ /* functional template */
179
+ const __vue_is_functional_template__ = false;
180
+ /* style inject */
181
+
182
+ /* style inject SSR */
183
+
184
+
185
+
186
+ var Input = __vue_normalize__(
187
+ { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
188
+ __vue_inject_styles__,
189
+ __vue_script__,
190
+ __vue_scope_id__,
191
+ __vue_is_functional_template__,
192
+ __vue_module_identifier__,
193
+ undefined,
194
+ undefined
195
+ );
196
+
197
+ export { Input as I };
@@ -0,0 +1,256 @@
1
+ import { _ as _defineProperty } from './chunk-d6200087.js';
2
+ import { c as config } from './chunk-648b9aa4.js';
3
+ import { _ as __vue_normalize__ } from './chunk-e8d90b72.js';
4
+
5
+ var script = {
6
+ name: 'BFieldBody',
7
+ props: {
8
+ message: {
9
+ type: String
10
+ },
11
+ type: {
12
+ type: [String, Object]
13
+ }
14
+ },
15
+ render: function render(createElement) {
16
+ var _this = this;
17
+
18
+ return createElement('div', {
19
+ attrs: {
20
+ 'class': 'field-body'
21
+ }
22
+ }, this.$slots.default.map(function (element) {
23
+ // skip returns and comments
24
+ if (!element.tag) {
25
+ return element;
26
+ }
27
+
28
+ if (_this.message) {
29
+ return createElement('b-field', {
30
+ attrs: {
31
+ message: _this.message,
32
+ 'type': _this.type
33
+ }
34
+ }, [element]);
35
+ }
36
+
37
+ return createElement('b-field', {
38
+ attrs: {
39
+ 'type': _this.type
40
+ }
41
+ }, [element]);
42
+ }));
43
+ }
44
+ };
45
+
46
+ /* script */
47
+ const __vue_script__ = script;
48
+
49
+ /* template */
50
+
51
+ /* style */
52
+ const __vue_inject_styles__ = undefined;
53
+ /* scoped */
54
+ const __vue_scope_id__ = undefined;
55
+ /* module identifier */
56
+ const __vue_module_identifier__ = undefined;
57
+ /* functional template */
58
+ const __vue_is_functional_template__ = undefined;
59
+ /* style inject */
60
+
61
+ /* style inject SSR */
62
+
63
+
64
+
65
+ var FieldBody = __vue_normalize__(
66
+ {},
67
+ __vue_inject_styles__,
68
+ __vue_script__,
69
+ __vue_scope_id__,
70
+ __vue_is_functional_template__,
71
+ __vue_module_identifier__,
72
+ undefined,
73
+ undefined
74
+ );
75
+
76
+ var script$1 = {
77
+ name: 'BField',
78
+ components: _defineProperty({}, FieldBody.name, FieldBody),
79
+ props: {
80
+ type: [String, Object],
81
+ label: String,
82
+ labelFor: String,
83
+ message: [String, Array, Object],
84
+ grouped: Boolean,
85
+ groupMultiline: Boolean,
86
+ position: String,
87
+ expanded: Boolean,
88
+ horizontal: Boolean,
89
+ addons: {
90
+ type: Boolean,
91
+ default: true
92
+ },
93
+ customClass: String,
94
+ labelPosition: {
95
+ type: String,
96
+ default: function _default() {
97
+ return config.defaultFieldLabelPosition;
98
+ }
99
+ }
100
+ },
101
+ data: function data() {
102
+ return {
103
+ newType: this.type,
104
+ newMessage: this.message,
105
+ fieldLabelSize: null,
106
+ _isField: true // Used internally by Input and Select
107
+
108
+ };
109
+ },
110
+ computed: {
111
+ rootClasses: function rootClasses() {
112
+ return [this.newPosition, {
113
+ 'is-expanded': this.expanded,
114
+ 'is-grouped-multiline': this.groupMultiline,
115
+ 'is-horizontal': this.horizontal,
116
+ 'is-floating-in-label': this.hasLabel && !this.horizontal && this.labelPosition === 'inside',
117
+ 'is-floating-label': this.hasLabel && !this.horizontal && this.labelPosition === 'on-border'
118
+ }];
119
+ },
120
+
121
+ /**
122
+ * Correct Bulma class for the side of the addon or group.
123
+ *
124
+ * This is not kept like the others (is-small, etc.),
125
+ * because since 'has-addons' is set automatically it
126
+ * doesn't make sense to teach users what addons are exactly.
127
+ */
128
+ newPosition: function newPosition() {
129
+ if (this.position === undefined) return;
130
+ var position = this.position.split('-');
131
+ if (position.length < 1) return;
132
+ var prefix = this.grouped ? 'is-grouped-' : 'has-addons-';
133
+ if (this.position) return prefix + position[1];
134
+ },
135
+
136
+ /**
137
+ * Formatted message in case it's an array
138
+ * (each element is separated by <br> tag)
139
+ */
140
+ formattedMessage: function formattedMessage() {
141
+ if (typeof this.newMessage === 'string') {
142
+ return this.newMessage;
143
+ } else {
144
+ var messages = [];
145
+
146
+ if (Array.isArray(this.newMessage)) {
147
+ this.newMessage.forEach(function (message) {
148
+ if (typeof message === 'string') {
149
+ messages.push(message);
150
+ } else {
151
+ for (var key in message) {
152
+ if (message[key]) {
153
+ messages.push(key);
154
+ }
155
+ }
156
+ }
157
+ });
158
+ } else {
159
+ for (var key in this.newMessage) {
160
+ if (this.newMessage[key]) {
161
+ messages.push(key);
162
+ }
163
+ }
164
+ }
165
+
166
+ return messages.filter(function (m) {
167
+ if (m) return m;
168
+ }).join(' <br> ');
169
+ }
170
+ },
171
+ hasLabel: function hasLabel() {
172
+ return this.label || this.$slots.label;
173
+ }
174
+ },
175
+ watch: {
176
+ /**
177
+ * Set internal type when prop change.
178
+ */
179
+ type: function type(value) {
180
+ this.newType = value;
181
+ },
182
+
183
+ /**
184
+ * Set internal message when prop change.
185
+ */
186
+ message: function message(value) {
187
+ this.newMessage = value;
188
+ }
189
+ },
190
+ methods: {
191
+ /**
192
+ * Field has addons if there are more than one slot
193
+ * (element / component) in the Field.
194
+ * Or is grouped when prop is set.
195
+ * Is a method to be called when component re-render.
196
+ */
197
+ fieldType: function fieldType() {
198
+ if (this.grouped) return 'is-grouped';
199
+ var renderedNode = 0;
200
+
201
+ if (this.$slots.default) {
202
+ renderedNode = this.$slots.default.reduce(function (i, node) {
203
+ return node.tag ? i + 1 : i;
204
+ }, 0);
205
+ }
206
+
207
+ if (renderedNode > 1 && this.addons && !this.horizontal) {
208
+ return 'has-addons';
209
+ }
210
+ }
211
+ },
212
+ mounted: function mounted() {
213
+ if (this.horizontal) {
214
+ // Bulma docs: .is-normal for any .input or .button
215
+ var elements = this.$el.querySelectorAll('.input, .select, .button, .textarea, .b-slider');
216
+
217
+ if (elements.length > 0) {
218
+ this.fieldLabelSize = 'is-normal';
219
+ }
220
+ }
221
+ }
222
+ };
223
+
224
+ /* script */
225
+ const __vue_script__$1 = script$1;
226
+
227
+ /* template */
228
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"field",class:[_vm.rootClasses, _vm.fieldType()]},[(_vm.horizontal)?_c('div',{staticClass:"field-label",class:[_vm.customClass, _vm.fieldLabelSize]},[(_vm.hasLabel)?_c('label',{staticClass:"label",class:_vm.customClass,attrs:{"for":_vm.labelFor}},[(_vm.$slots.label)?_vm._t("label"):[_vm._v(_vm._s(_vm.label))]],2):_vm._e()]):[(_vm.hasLabel)?_c('label',{staticClass:"label",class:_vm.customClass,attrs:{"for":_vm.labelFor}},[(_vm.$slots.label)?_vm._t("label"):[_vm._v(_vm._s(_vm.label))]],2):_vm._e()],_vm._v(" "),(_vm.horizontal)?_c('b-field-body',{attrs:{"message":_vm.newMessage ? _vm.formattedMessage : '',"type":_vm.newType}},[_vm._t("default")],2):[_vm._t("default")],_vm._v(" "),(_vm.newMessage && !_vm.horizontal)?_c('p',{staticClass:"help",class:_vm.newType,domProps:{"innerHTML":_vm._s(_vm.formattedMessage)}}):_vm._e()],2)};
229
+ var __vue_staticRenderFns__ = [];
230
+
231
+ /* style */
232
+ const __vue_inject_styles__$1 = undefined;
233
+ /* scoped */
234
+ const __vue_scope_id__$1 = undefined;
235
+ /* module identifier */
236
+ const __vue_module_identifier__$1 = undefined;
237
+ /* functional template */
238
+ const __vue_is_functional_template__$1 = false;
239
+ /* style inject */
240
+
241
+ /* style inject SSR */
242
+
243
+
244
+
245
+ var Field = __vue_normalize__(
246
+ { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
247
+ __vue_inject_styles__$1,
248
+ __vue_script__$1,
249
+ __vue_scope_id__$1,
250
+ __vue_is_functional_template__$1,
251
+ __vue_module_identifier__$1,
252
+ undefined,
253
+ undefined
254
+ );
255
+
256
+ export { Field as F };