buefy 1.0.0 → 1.0.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 (588) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +242 -0
  3. package/dist/buefy.css +15895 -0
  4. package/dist/buefy.d.ts +11706 -0
  5. package/dist/buefy.esm.js +21082 -0
  6. package/dist/buefy.esm.min.js +2 -0
  7. package/dist/buefy.js +21227 -0
  8. package/dist/buefy.min.css +1 -0
  9. package/dist/buefy.min.js +2 -0
  10. package/dist/cjs/Autocomplete-BMmOsPiK.js +864 -0
  11. package/dist/cjs/Button-Cq7yqI8p.js +118 -0
  12. package/dist/cjs/CheckRadioMixin-CDu0SN3g.js +58 -0
  13. package/dist/cjs/Checkbox-GPzAMQqM.js +85 -0
  14. package/dist/cjs/CompatFallthroughMixin-hhK0Gkhr.js +48 -0
  15. package/dist/cjs/Datepicker-B-9ReBe6.js +2120 -0
  16. package/dist/cjs/Dropdown-DtpKU9qf.js +470 -0
  17. package/dist/cjs/DropdownItem-IMOKyRGV.js +110 -0
  18. package/dist/cjs/Field-19ZCJFF8.js +405 -0
  19. package/dist/cjs/FormElementMixin-DavX4iOv.js +170 -0
  20. package/dist/cjs/Icon-lsDKE2wQ.js +184 -0
  21. package/dist/cjs/Image-CocPwU3n.js +356 -0
  22. package/dist/cjs/InjectedChildMixin-CUKn09dB.js +150 -0
  23. package/dist/cjs/Input-BcloGeZ3.js +350 -0
  24. package/dist/cjs/Loading-GqqqjipO.js +145 -0
  25. package/dist/cjs/MessageMixin-bGuuzfev.js +136 -0
  26. package/dist/cjs/Modal-CYpSQe2Q.js +315 -0
  27. package/dist/cjs/NoticeMixin--3RjH43z.js +163 -0
  28. package/dist/cjs/Pagination-D1MVdiLp.js +547 -0
  29. package/dist/cjs/Progress-DT9Qc8Id.js +177 -0
  30. package/dist/cjs/Select-DayPKwCY.js +147 -0
  31. package/dist/cjs/SlotComponent-BruGdRW3.js +41 -0
  32. package/dist/cjs/TabbedChildMixin-B3JUUwcf.js +211 -0
  33. package/dist/cjs/Tag-BprnwJJ1.js +167 -0
  34. package/dist/cjs/Timepicker-CDZ3V-2J.js +283 -0
  35. package/dist/cjs/TimepickerMixin-C9WVvcUL.js +666 -0
  36. package/dist/cjs/Tooltip-Cgighv0j.js +393 -0
  37. package/dist/cjs/_plugin-vue_export-helper-Die8u8yB.js +11 -0
  38. package/dist/cjs/autocomplete.js +23 -0
  39. package/dist/cjs/breadcrumb.js +107 -0
  40. package/dist/cjs/button.js +20 -0
  41. package/dist/cjs/carousel.js +825 -0
  42. package/dist/cjs/checkbox.js +88 -0
  43. package/dist/cjs/clockpicker.js +668 -0
  44. package/dist/cjs/collapse.js +99 -0
  45. package/dist/cjs/colorpicker.js +25 -0
  46. package/dist/cjs/config-DR826Ki2.js +103 -0
  47. package/dist/cjs/config.js +18 -0
  48. package/dist/cjs/datepicker.js +28 -0
  49. package/dist/cjs/datetimepicker.js +483 -0
  50. package/dist/cjs/dialog.js +506 -0
  51. package/dist/cjs/dropdown.js +23 -0
  52. package/dist/cjs/field.js +19 -0
  53. package/dist/cjs/helpers.js +276 -0
  54. package/dist/cjs/icon.js +19 -0
  55. package/dist/cjs/image.js +19 -0
  56. package/dist/cjs/index-DiQy3SCb.js +1942 -0
  57. package/dist/cjs/index.js +274 -0
  58. package/dist/cjs/input.js +22 -0
  59. package/dist/cjs/loading.js +87 -0
  60. package/dist/cjs/menu.js +340 -0
  61. package/dist/cjs/message.js +119 -0
  62. package/dist/cjs/modal.js +103 -0
  63. package/dist/cjs/navbar.js +572 -0
  64. package/dist/cjs/notification.js +281 -0
  65. package/dist/cjs/numberinput.js +386 -0
  66. package/dist/cjs/pagination.js +22 -0
  67. package/dist/cjs/plugins-DbyYGVpp.js +16 -0
  68. package/dist/cjs/progress.js +91 -0
  69. package/dist/cjs/radio.js +137 -0
  70. package/dist/cjs/rate.js +197 -0
  71. package/dist/cjs/select.js +22 -0
  72. package/dist/cjs/sidebar.js +309 -0
  73. package/dist/cjs/skeleton.js +78 -0
  74. package/dist/cjs/slider.js +699 -0
  75. package/dist/cjs/snackbar.js +224 -0
  76. package/dist/cjs/ssr-DVRFTu_P.js +8 -0
  77. package/dist/cjs/steps.js +347 -0
  78. package/dist/cjs/switch.js +161 -0
  79. package/dist/cjs/table.js +2391 -0
  80. package/dist/cjs/tabs.js +258 -0
  81. package/dist/cjs/tag.js +44 -0
  82. package/dist/cjs/taginput.js +425 -0
  83. package/dist/cjs/timepicker.js +29 -0
  84. package/dist/cjs/toast.js +162 -0
  85. package/dist/cjs/tooltip.js +19 -0
  86. package/dist/cjs/trapFocus-BlX6xykt.js +53 -0
  87. package/dist/cjs/upload.js +195 -0
  88. package/dist/components/autocomplete/index.js +1647 -0
  89. package/dist/components/autocomplete/index.min.js +2 -0
  90. package/dist/components/breadcrumb/index.js +173 -0
  91. package/dist/components/breadcrumb/index.min.js +2 -0
  92. package/dist/components/button/index.js +334 -0
  93. package/dist/components/button/index.min.js +2 -0
  94. package/dist/components/carousel/index.js +1534 -0
  95. package/dist/components/carousel/index.min.js +2 -0
  96. package/dist/components/checkbox/index.js +236 -0
  97. package/dist/components/checkbox/index.min.js +2 -0
  98. package/dist/components/clockpicker/index.js +2636 -0
  99. package/dist/components/clockpicker/index.min.js +2 -0
  100. package/dist/components/collapse/index.js +111 -0
  101. package/dist/components/collapse/index.min.js +2 -0
  102. package/dist/components/colorpicker/index.js +4251 -0
  103. package/dist/components/colorpicker/index.min.js +2 -0
  104. package/dist/components/datepicker/index.js +4110 -0
  105. package/dist/components/datepicker/index.min.js +2 -0
  106. package/dist/components/datetimepicker/index.js +5479 -0
  107. package/dist/components/datetimepicker/index.min.js +2 -0
  108. package/dist/components/dialog/index.js +1202 -0
  109. package/dist/components/dialog/index.min.js +2 -0
  110. package/dist/components/dropdown/index.js +680 -0
  111. package/dist/components/dropdown/index.min.js +2 -0
  112. package/dist/components/field/index.js +439 -0
  113. package/dist/components/field/index.min.js +2 -0
  114. package/dist/components/icon/index.js +212 -0
  115. package/dist/components/icon/index.min.js +2 -0
  116. package/dist/components/image/index.js +396 -0
  117. package/dist/components/image/index.min.js +2 -0
  118. package/dist/components/input/index.js +764 -0
  119. package/dist/components/input/index.min.js +2 -0
  120. package/dist/components/loading/index.js +280 -0
  121. package/dist/components/loading/index.min.js +2 -0
  122. package/dist/components/menu/index.js +586 -0
  123. package/dist/components/menu/index.min.js +2 -0
  124. package/dist/components/message/index.js +611 -0
  125. package/dist/components/message/index.min.js +2 -0
  126. package/dist/components/modal/index.js +516 -0
  127. package/dist/components/modal/index.min.js +2 -0
  128. package/dist/components/navbar/index.js +634 -0
  129. package/dist/components/navbar/index.min.js +2 -0
  130. package/dist/components/notification/index.js +976 -0
  131. package/dist/components/notification/index.min.js +2 -0
  132. package/dist/components/numberinput/index.js +1128 -0
  133. package/dist/components/numberinput/index.min.js +2 -0
  134. package/dist/components/pagination/index.js +764 -0
  135. package/dist/components/pagination/index.min.js +2 -0
  136. package/dist/components/progress/index.js +280 -0
  137. package/dist/components/progress/index.min.js +2 -0
  138. package/dist/components/radio/index.js +208 -0
  139. package/dist/components/radio/index.min.js +2 -0
  140. package/dist/components/rate/index.js +391 -0
  141. package/dist/components/rate/index.min.js +2 -0
  142. package/dist/components/select/index.js +560 -0
  143. package/dist/components/select/index.min.js +2 -0
  144. package/dist/components/sidebar/index.js +337 -0
  145. package/dist/components/sidebar/index.min.js +2 -0
  146. package/dist/components/skeleton/index.js +87 -0
  147. package/dist/components/skeleton/index.min.js +2 -0
  148. package/dist/components/slider/index.js +1171 -0
  149. package/dist/components/slider/index.min.js +2 -0
  150. package/dist/components/snackbar/index.js +439 -0
  151. package/dist/components/snackbar/index.min.js +2 -0
  152. package/dist/components/steps/index.js +925 -0
  153. package/dist/components/steps/index.min.js +2 -0
  154. package/dist/components/switch/index.js +182 -0
  155. package/dist/components/switch/index.min.js +2 -0
  156. package/dist/components/table/index.js +4208 -0
  157. package/dist/components/table/index.min.js +2 -0
  158. package/dist/components/tabs/index.js +837 -0
  159. package/dist/components/tabs/index.min.js +2 -0
  160. package/dist/components/tag/index.js +396 -0
  161. package/dist/components/tag/index.min.js +2 -0
  162. package/dist/components/taginput/index.js +2209 -0
  163. package/dist/components/taginput/index.min.js +2 -0
  164. package/dist/components/timepicker/index.js +2906 -0
  165. package/dist/components/timepicker/index.min.js +2 -0
  166. package/dist/components/toast/index.js +377 -0
  167. package/dist/components/toast/index.min.js +2 -0
  168. package/dist/components/tooltip/index.js +445 -0
  169. package/dist/components/tooltip/index.min.js +2 -0
  170. package/dist/components/upload/index.js +426 -0
  171. package/dist/components/upload/index.min.js +2 -0
  172. package/dist/esm/Autocomplete-CjbTh9D8.js +862 -0
  173. package/dist/esm/Button-DyUYShTZ.js +116 -0
  174. package/dist/esm/CheckRadioMixin-DSD_rjC8.js +56 -0
  175. package/dist/esm/Checkbox-KUMz0sfA.js +83 -0
  176. package/dist/esm/CompatFallthroughMixin-C8LPuwDr.js +46 -0
  177. package/dist/esm/Datepicker-Bl8Wfdkn.js +2118 -0
  178. package/dist/esm/Dropdown-CGTYVyoL.js +467 -0
  179. package/dist/esm/DropdownItem-Cn3nM0A3.js +108 -0
  180. package/dist/esm/Field-B7bX_uUg.js +403 -0
  181. package/dist/esm/FormElementMixin-Dd_wkBN5.js +168 -0
  182. package/dist/esm/Icon-DPyGDeRK.js +182 -0
  183. package/dist/esm/Image-DhX-4hlV.js +354 -0
  184. package/dist/esm/InjectedChildMixin-D2K-FwuO.js +145 -0
  185. package/dist/esm/Input-C4L520az.js +348 -0
  186. package/dist/esm/Loading-tuQoo6TU.js +143 -0
  187. package/dist/esm/MessageMixin-CQ7LIdvq.js +134 -0
  188. package/dist/esm/Modal-tfvyhxw_.js +313 -0
  189. package/dist/esm/NoticeMixin-ByNlva3T.js +161 -0
  190. package/dist/esm/Pagination-B-LAJQay.js +543 -0
  191. package/dist/esm/Progress-BPGTVZgr.js +174 -0
  192. package/dist/esm/Select-bl4qUzij.js +145 -0
  193. package/dist/esm/SlotComponent-BwNpVnfH.js +39 -0
  194. package/dist/esm/TabbedChildMixin-C4i6WP9j.js +208 -0
  195. package/dist/esm/Tag-jS5Bcj6N.js +165 -0
  196. package/dist/esm/Timepicker-DnkqnOBT.js +281 -0
  197. package/dist/esm/TimepickerMixin-Bikh6_Fg.js +664 -0
  198. package/dist/esm/Tooltip-CtDSXAqa.js +391 -0
  199. package/dist/esm/_plugin-vue_export-helper-OJRSZE6i.js +9 -0
  200. package/dist/esm/autocomplete.js +18 -0
  201. package/dist/esm/breadcrumb.js +101 -0
  202. package/dist/esm/button.js +15 -0
  203. package/dist/esm/carousel.js +818 -0
  204. package/dist/esm/checkbox.js +82 -0
  205. package/dist/esm/clockpicker.js +663 -0
  206. package/dist/esm/collapse.js +94 -0
  207. package/dist/esm/colorpicker.js +16 -0
  208. package/dist/esm/config-CKuo-p6e.js +100 -0
  209. package/dist/esm/config.js +14 -0
  210. package/dist/esm/datepicker.js +23 -0
  211. package/dist/esm/datetimepicker.js +478 -0
  212. package/dist/esm/dialog.js +500 -0
  213. package/dist/esm/dropdown.js +17 -0
  214. package/dist/esm/field.js +14 -0
  215. package/dist/esm/helpers.js +247 -0
  216. package/dist/esm/icon.js +14 -0
  217. package/dist/esm/image.js +14 -0
  218. package/dist/esm/index-CQegEsxK.js +1938 -0
  219. package/dist/esm/index.js +164 -0
  220. package/dist/esm/input.js +17 -0
  221. package/dist/esm/loading.js +81 -0
  222. package/dist/esm/menu.js +333 -0
  223. package/dist/esm/message.js +114 -0
  224. package/dist/esm/modal.js +97 -0
  225. package/dist/esm/navbar.js +565 -0
  226. package/dist/esm/notification.js +275 -0
  227. package/dist/esm/numberinput.js +381 -0
  228. package/dist/esm/pagination.js +16 -0
  229. package/dist/esm/plugins-B172kuKE.js +13 -0
  230. package/dist/esm/progress.js +85 -0
  231. package/dist/esm/radio.js +131 -0
  232. package/dist/esm/rate.js +192 -0
  233. package/dist/esm/select.js +17 -0
  234. package/dist/esm/sidebar.js +304 -0
  235. package/dist/esm/skeleton.js +73 -0
  236. package/dist/esm/slider.js +693 -0
  237. package/dist/esm/snackbar.js +218 -0
  238. package/dist/esm/ssr-C7yEpGLm.js +5 -0
  239. package/dist/esm/steps.js +341 -0
  240. package/dist/esm/switch.js +156 -0
  241. package/dist/esm/table.js +2385 -0
  242. package/dist/esm/tabs.js +252 -0
  243. package/dist/esm/tag.js +38 -0
  244. package/dist/esm/taginput.js +420 -0
  245. package/dist/esm/timepicker.js +24 -0
  246. package/dist/esm/toast.js +156 -0
  247. package/dist/esm/tooltip.js +14 -0
  248. package/dist/esm/trapFocus-KHP_kCNE.js +51 -0
  249. package/dist/esm/upload.js +190 -0
  250. package/dist/tsdoc-metadata.json +11 -0
  251. package/package.json +73 -6
  252. package/src/components/autocomplete/Autocomplete.spec.ts +783 -0
  253. package/src/components/autocomplete/Autocomplete.vue +966 -0
  254. package/src/components/autocomplete/__snapshots__/Autocomplete.spec.ts.snap +21 -0
  255. package/src/components/autocomplete/index.ts +16 -0
  256. package/src/components/breadcrumb/Breadcrumb.spec.ts +65 -0
  257. package/src/components/breadcrumb/Breadcrumb.vue +42 -0
  258. package/src/components/breadcrumb/BreadcrumbItem.spec.ts +74 -0
  259. package/src/components/breadcrumb/BreadcrumbItem.vue +34 -0
  260. package/src/components/breadcrumb/__snapshots__/Breadcrumb.spec.ts.snap +7 -0
  261. package/src/components/breadcrumb/__snapshots__/BreadcrumbItem.spec.ts.snap +3 -0
  262. package/src/components/breadcrumb/index.ts +19 -0
  263. package/src/components/button/Button.spec.ts +117 -0
  264. package/src/components/button/Button.vue +112 -0
  265. package/src/components/button/__snapshots__/Button.spec.ts.snap +9 -0
  266. package/src/components/button/index.ts +16 -0
  267. package/src/components/carousel/Carousel.spec.ts +304 -0
  268. package/src/components/carousel/Carousel.vue +389 -0
  269. package/src/components/carousel/CarouselItem.spec.ts +105 -0
  270. package/src/components/carousel/CarouselItem.vue +38 -0
  271. package/src/components/carousel/CarouselList.spec.ts +172 -0
  272. package/src/components/carousel/CarouselList.vue +364 -0
  273. package/src/components/carousel/__snapshots__/Carousel.spec.ts.snap +19 -0
  274. package/src/components/carousel/__snapshots__/CarouselItem.spec.ts.snap +7 -0
  275. package/src/components/carousel/__snapshots__/CarouselList.spec.ts.snap +36 -0
  276. package/src/components/carousel/index.ts +23 -0
  277. package/src/components/carousel/types.ts +17 -0
  278. package/src/components/checkbox/Checkbox.spec.ts +40 -0
  279. package/src/components/checkbox/Checkbox.vue +63 -0
  280. package/src/components/checkbox/CheckboxButton.spec.ts +46 -0
  281. package/src/components/checkbox/CheckboxButton.vue +59 -0
  282. package/src/components/checkbox/__snapshots__/Checkbox.spec.ts.snap +9 -0
  283. package/src/components/checkbox/__snapshots__/CheckboxButton.spec.ts.snap +3 -0
  284. package/src/components/checkbox/index.ts +20 -0
  285. package/src/components/clockpicker/Clockpicker.spec.ts +161 -0
  286. package/src/components/clockpicker/Clockpicker.vue +311 -0
  287. package/src/components/clockpicker/ClockpickerFace.spec.ts +99 -0
  288. package/src/components/clockpicker/ClockpickerFace.vue +272 -0
  289. package/src/components/clockpicker/__snapshots__/Clockpicker.spec.ts.snap +36 -0
  290. package/src/components/clockpicker/__snapshots__/ClockpickerFace.spec.ts.snap +9 -0
  291. package/src/components/clockpicker/index.ts +16 -0
  292. package/src/components/collapse/Collapse.spec.ts +106 -0
  293. package/src/components/collapse/Collapse.vue +98 -0
  294. package/src/components/collapse/__snapshots__/Collapse.spec.ts.snap +10 -0
  295. package/src/components/collapse/index.ts +16 -0
  296. package/src/components/colorpicker/Colorpicker.spec.ts +22 -0
  297. package/src/components/colorpicker/Colorpicker.vue +416 -0
  298. package/src/components/colorpicker/ColorpickerAlphaSlider.spec.ts +17 -0
  299. package/src/components/colorpicker/ColorpickerAlphaSlider.vue +205 -0
  300. package/src/components/colorpicker/ColorpickerHSLRepresentationSquare.spec.ts +23 -0
  301. package/src/components/colorpicker/ColorpickerHSLRepresentationSquare.vue +380 -0
  302. package/src/components/colorpicker/ColorpickerHSLRepresentationTriangle.spec.ts +23 -0
  303. package/src/components/colorpicker/ColorpickerHSLRepresentationTriangle.vue +456 -0
  304. package/src/components/colorpicker/__snapshots__/Colorpicker.spec.ts.snap +77 -0
  305. package/src/components/colorpicker/__snapshots__/ColorpickerAlphaSlider.spec.ts.snap +9 -0
  306. package/src/components/colorpicker/__snapshots__/ColorpickerHSLRepresentationSquare.spec.ts.snap +12 -0
  307. package/src/components/colorpicker/__snapshots__/ColorpickerHSLRepresentationTriangle.spec.ts.snap +36 -0
  308. package/src/components/colorpicker/index.ts +16 -0
  309. package/src/components/datepicker/Datepicker.spec.ts +482 -0
  310. package/src/components/datepicker/Datepicker.vue +908 -0
  311. package/src/components/datepicker/DatepickerMonth.spec.ts +346 -0
  312. package/src/components/datepicker/DatepickerMonth.vue +444 -0
  313. package/src/components/datepicker/DatepickerTable.spec.ts +290 -0
  314. package/src/components/datepicker/DatepickerTable.vue +398 -0
  315. package/src/components/datepicker/DatepickerTableRow.spec.ts +300 -0
  316. package/src/components/datepicker/DatepickerTableRow.vue +416 -0
  317. package/src/components/datepicker/__snapshots__/Datepicker.spec.ts.snap +54 -0
  318. package/src/components/datepicker/__snapshots__/DatepickerMonth.spec.ts.snap +33 -0
  319. package/src/components/datepicker/__snapshots__/DatepickerTable.spec.ts.snap +16 -0
  320. package/src/components/datepicker/__snapshots__/DatepickerTableRow.spec.ts.snap +23 -0
  321. package/src/components/datepicker/index.ts +17 -0
  322. package/src/components/datepicker/types.ts +41 -0
  323. package/src/components/datetimepicker/Datetimepicker.spec.ts +132 -0
  324. package/src/components/datetimepicker/Datetimepicker.vue +491 -0
  325. package/src/components/datetimepicker/index.ts +16 -0
  326. package/src/components/dialog/Dialog.spec.ts +108 -0
  327. package/src/components/dialog/Dialog.vue +300 -0
  328. package/src/components/dialog/index.ts +169 -0
  329. package/src/components/dropdown/Dropdown.spec.ts +229 -0
  330. package/src/components/dropdown/Dropdown.vue +491 -0
  331. package/src/components/dropdown/DropdownItem.spec.ts +78 -0
  332. package/src/components/dropdown/DropdownItem.vue +112 -0
  333. package/src/components/dropdown/__snapshots__/Dropdown.spec.ts.snap +15 -0
  334. package/src/components/dropdown/__snapshots__/DropdownItem.spec.ts.snap +3 -0
  335. package/src/components/dropdown/index.ts +20 -0
  336. package/src/components/field/Field.spec.ts +324 -0
  337. package/src/components/field/Field.vue +316 -0
  338. package/src/components/field/FieldBody.spec.ts +96 -0
  339. package/src/components/field/FieldBody.vue +74 -0
  340. package/src/components/field/__snapshots__/Field.spec.ts.snap +8 -0
  341. package/src/components/field/__snapshots__/FieldBody.spec.ts.snap +3 -0
  342. package/src/components/field/index.ts +16 -0
  343. package/src/components/icon/Icon.spec.ts +142 -0
  344. package/src/components/icon/Icon.vue +120 -0
  345. package/src/components/icon/__snapshots__/Icon.spec.ts.snap +3 -0
  346. package/src/components/icon/index.ts +17 -0
  347. package/src/components/image/Image.spec.ts +218 -0
  348. package/src/components/image/Image.vue +358 -0
  349. package/src/components/image/__snapshots__/Image.spec.ts.snap +37 -0
  350. package/src/components/image/index.ts +16 -0
  351. package/src/components/index.ts +179 -0
  352. package/src/components/input/Input.spec.ts +396 -0
  353. package/src/components/input/Input.vue +335 -0
  354. package/src/components/input/__snapshots__/Input.spec.ts.snap +9 -0
  355. package/src/components/input/index.ts +17 -0
  356. package/src/components/loading/Loading.spec.ts +151 -0
  357. package/src/components/loading/Loading.vue +135 -0
  358. package/src/components/loading/__snapshots__/Loading.spec.ts.snap +10 -0
  359. package/src/components/loading/index.ts +91 -0
  360. package/src/components/menu/Menu.spec.ts +21 -0
  361. package/src/components/menu/Menu.vue +31 -0
  362. package/src/components/menu/MenuItem.spec.ts +92 -0
  363. package/src/components/menu/MenuItem.vue +168 -0
  364. package/src/components/menu/MenuItemContainerMixin.ts +72 -0
  365. package/src/components/menu/MenuList.spec.ts +35 -0
  366. package/src/components/menu/MenuList.vue +47 -0
  367. package/src/components/menu/__snapshots__/Menu.spec.ts.snap +3 -0
  368. package/src/components/menu/__snapshots__/MenuItem.spec.ts.snap +9 -0
  369. package/src/components/menu/__snapshots__/MenuList.spec.ts.snap +8 -0
  370. package/src/components/menu/index.ts +25 -0
  371. package/src/components/message/Message.spec.ts +30 -0
  372. package/src/components/message/Message.vue +73 -0
  373. package/src/components/message/__snapshots__/Message.spec.ts.snap +11 -0
  374. package/src/components/message/index.ts +15 -0
  375. package/src/components/modal/Modal.spec.ts +167 -0
  376. package/src/components/modal/Modal.vue +335 -0
  377. package/src/components/modal/__snapshots__/Modal.spec.ts.snap +10 -0
  378. package/src/components/modal/index.ts +107 -0
  379. package/src/components/navbar/NavBar.spec.ts +78 -0
  380. package/src/components/navbar/NavBarBurger.spec.ts +30 -0
  381. package/src/components/navbar/NavBarItem.spec.ts +92 -0
  382. package/src/components/navbar/Navbar.vue +274 -0
  383. package/src/components/navbar/NavbarBurger.vue +29 -0
  384. package/src/components/navbar/NavbarDropdown.spec.ts +84 -0
  385. package/src/components/navbar/NavbarDropdown.vue +115 -0
  386. package/src/components/navbar/NavbarItem.vue +97 -0
  387. package/src/components/navbar/__snapshots__/NavBar.spec.ts.snap +11 -0
  388. package/src/components/navbar/__snapshots__/NavBarBurger.spec.ts.snap +3 -0
  389. package/src/components/navbar/__snapshots__/NavBarItem.spec.ts.snap +3 -0
  390. package/src/components/navbar/__snapshots__/NavbarDropdown.spec.ts.snap +7 -0
  391. package/src/components/navbar/index.ts +22 -0
  392. package/src/components/notification/Notification.spec.ts +21 -0
  393. package/src/components/notification/Notification.vue +77 -0
  394. package/src/components/notification/NotificationNotice.vue +76 -0
  395. package/src/components/notification/__snapshots__/Notification.spec.ts.snap +10 -0
  396. package/src/components/notification/index.ts +121 -0
  397. package/src/components/numberinput/Numberinput.spec.ts +445 -0
  398. package/src/components/numberinput/Numberinput.vue +372 -0
  399. package/src/components/numberinput/index.ts +16 -0
  400. package/src/components/pagination/Pagination.spec.ts +94 -0
  401. package/src/components/pagination/Pagination.vue +434 -0
  402. package/src/components/pagination/PaginationButton.spec.ts +42 -0
  403. package/src/components/pagination/PaginationButton.vue +59 -0
  404. package/src/components/pagination/__snapshots__/Pagination.spec.ts.snap +22 -0
  405. package/src/components/pagination/__snapshots__/PaginationButton.spec.ts.snap +3 -0
  406. package/src/components/pagination/index.ts +19 -0
  407. package/src/components/pagination/types.ts +11 -0
  408. package/src/components/progress/Progress.spec.ts +81 -0
  409. package/src/components/progress/Progress.vue +168 -0
  410. package/src/components/progress/ProgressBar.spec.ts +45 -0
  411. package/src/components/progress/ProgressBar.vue +74 -0
  412. package/src/components/progress/__snapshots__/Progress.spec.ts.snap +7 -0
  413. package/src/components/progress/__snapshots__/ProgressBar.spec.ts.snap +7 -0
  414. package/src/components/progress/index.ts +18 -0
  415. package/src/components/radio/Radio.spec.ts +40 -0
  416. package/src/components/radio/Radio.vue +35 -0
  417. package/src/components/radio/RadioButton.spec.ts +40 -0
  418. package/src/components/radio/RadioButton.vue +69 -0
  419. package/src/components/radio/__snapshots__/Radio.spec.ts.snap +3 -0
  420. package/src/components/radio/__snapshots__/RadioButton.spec.ts.snap +3 -0
  421. package/src/components/radio/index.ts +18 -0
  422. package/src/components/rate/Rate.spec.ts +90 -0
  423. package/src/components/rate/Rate.vue +158 -0
  424. package/src/components/rate/index.ts +15 -0
  425. package/src/components/select/Select.spec.ts +74 -0
  426. package/src/components/select/Select.vue +118 -0
  427. package/src/components/select/__snapshots__/Select.spec.ts.snap +7 -0
  428. package/src/components/select/index.ts +16 -0
  429. package/src/components/sidebar/Sidebar.spec.ts +107 -0
  430. package/src/components/sidebar/Sidebar.vue +316 -0
  431. package/src/components/sidebar/__snapshots__/Sidebar.spec.ts.snap +25 -0
  432. package/src/components/sidebar/index.ts +16 -0
  433. package/src/components/skeleton/Skeleton.spec.ts +16 -0
  434. package/src/components/skeleton/Skeleton.vue +98 -0
  435. package/src/components/skeleton/__snapshots__/Skeleton.spec.ts.snap +7 -0
  436. package/src/components/skeleton/index.ts +18 -0
  437. package/src/components/slider/Slider.spec.ts +115 -0
  438. package/src/components/slider/Slider.vue +374 -0
  439. package/src/components/slider/SliderThumb.spec.ts +176 -0
  440. package/src/components/slider/SliderThumb.vue +251 -0
  441. package/src/components/slider/SliderTick.spec.ts +33 -0
  442. package/src/components/slider/SliderTick.vue +50 -0
  443. package/src/components/slider/__snapshots__/Slider.spec.ts.snap +12 -0
  444. package/src/components/slider/__snapshots__/SliderThumb.spec.ts.snap +16 -0
  445. package/src/components/slider/__snapshots__/SliderTick.spec.ts.snap +7 -0
  446. package/src/components/slider/index.ts +19 -0
  447. package/src/components/slider/types.ts +34 -0
  448. package/src/components/snackbar/Snackbar.spec.ts +35 -0
  449. package/src/components/snackbar/Snackbar.vue +88 -0
  450. package/src/components/snackbar/__snapshots__/Snackbar.spec.ts.snap +12 -0
  451. package/src/components/snackbar/index.ts +118 -0
  452. package/src/components/steps/StepItem.spec.ts +114 -0
  453. package/src/components/steps/StepItem.vue +26 -0
  454. package/src/components/steps/Steps.spec.ts +125 -0
  455. package/src/components/steps/Steps.vue +273 -0
  456. package/src/components/steps/__snapshots__/StepItem.spec.ts.snap +7 -0
  457. package/src/components/steps/__snapshots__/Steps.spec.ts.snap +40 -0
  458. package/src/components/steps/index.ts +19 -0
  459. package/src/components/switch/Switch.spec.ts +74 -0
  460. package/src/components/switch/Switch.vue +146 -0
  461. package/src/components/switch/__snapshots__/Switch.spec.ts.snap +3 -0
  462. package/src/components/switch/index.ts +16 -0
  463. package/src/components/table/Table.spec.ts +622 -0
  464. package/src/components/table/Table.vue +1770 -0
  465. package/src/components/table/TableColumn.spec.ts +85 -0
  466. package/src/components/table/TableColumn.vue +140 -0
  467. package/src/components/table/TableMobileSort.spec.ts +47 -0
  468. package/src/components/table/TableMobileSort.vue +236 -0
  469. package/src/components/table/TablePagination.vue +86 -0
  470. package/src/components/table/__snapshots__/Table.spec.ts.snap +24 -0
  471. package/src/components/table/__snapshots__/TableMobileSort.spec.ts.snap +12 -0
  472. package/src/components/table/index.ts +32 -0
  473. package/src/components/table/mockTableColumn.ts +110 -0
  474. package/src/components/table/types.ts +110 -0
  475. package/src/components/tabs/TabItem.spec.ts +203 -0
  476. package/src/components/tabs/TabItem.vue +19 -0
  477. package/src/components/tabs/Tabs.spec.ts +122 -0
  478. package/src/components/tabs/Tabs.vue +204 -0
  479. package/src/components/tabs/__snapshots__/TabItem.spec.ts.snap +7 -0
  480. package/src/components/tabs/__snapshots__/Tabs.spec.ts.snap +33 -0
  481. package/src/components/tabs/index.ts +19 -0
  482. package/src/components/tag/Tag.spec.ts +32 -0
  483. package/src/components/tag/Tag.vue +132 -0
  484. package/src/components/tag/Taglist.spec.ts +21 -0
  485. package/src/components/tag/Taglist.vue +16 -0
  486. package/src/components/tag/__snapshots__/Tag.spec.ts.snap +6 -0
  487. package/src/components/tag/__snapshots__/Taglist.spec.ts.snap +3 -0
  488. package/src/components/tag/index.ts +19 -0
  489. package/src/components/taginput/Taginput.spec.ts +132 -0
  490. package/src/components/taginput/Taginput.vue +415 -0
  491. package/src/components/taginput/__snapshots__/Taginput.spec.ts.snap +10 -0
  492. package/src/components/taginput/index.ts +16 -0
  493. package/src/components/timepicker/Timepicker.spec.ts +108 -0
  494. package/src/components/timepicker/Timepicker.vue +183 -0
  495. package/src/components/timepicker/__snapshots__/Timepicker.spec.ts.snap +41 -0
  496. package/src/components/timepicker/index.ts +17 -0
  497. package/src/components/toast/Toast.spec.ts +74 -0
  498. package/src/components/toast/Toast.vue +46 -0
  499. package/src/components/toast/__snapshots__/Toast.spec.ts.snap +10 -0
  500. package/src/components/toast/index.ts +120 -0
  501. package/src/components/tooltip/Tooltip.spec.ts +64 -0
  502. package/src/components/tooltip/Tooltip.vue +393 -0
  503. package/src/components/tooltip/__snapshots__/Tooltip.spec.ts.snap +12 -0
  504. package/src/components/tooltip/index.ts +16 -0
  505. package/src/components/upload/Upload.spec.ts +62 -0
  506. package/src/components/upload/Upload.vue +188 -0
  507. package/src/components/upload/__snapshots__/Upload.spec.ts.snap +3 -0
  508. package/src/components/upload/index.ts +15 -0
  509. package/src/directives/clickOutside.ts +113 -0
  510. package/src/directives/trapFocus.ts +61 -0
  511. package/src/index.ts +43 -0
  512. package/src/scss/buefy-build.scss +6 -0
  513. package/src/scss/buefy.scss +39 -0
  514. package/src/scss/components/_autocomplete.scss +39 -0
  515. package/src/scss/components/_carousel.scss +204 -0
  516. package/src/scss/components/_checkbox.scss +106 -0
  517. package/src/scss/components/_clockpicker.scss +283 -0
  518. package/src/scss/components/_collapse.scss +9 -0
  519. package/src/scss/components/_colorpicker.scss +283 -0
  520. package/src/scss/components/_datepicker.scss +220 -0
  521. package/src/scss/components/_dialog.scss +54 -0
  522. package/src/scss/components/_dropdown.scss +143 -0
  523. package/src/scss/components/_form.scss +309 -0
  524. package/src/scss/components/_icon.scss +16 -0
  525. package/src/scss/components/_image.scss +20 -0
  526. package/src/scss/components/_loading.scss +45 -0
  527. package/src/scss/components/_menu.scss +11 -0
  528. package/src/scss/components/_message.scss +16 -0
  529. package/src/scss/components/_modal.scss +37 -0
  530. package/src/scss/components/_navbar.scss +22 -0
  531. package/src/scss/components/_notices.scss +144 -0
  532. package/src/scss/components/_notification.scss +8 -0
  533. package/src/scss/components/_numberinput.scss +33 -0
  534. package/src/scss/components/_pagination.scss +63 -0
  535. package/src/scss/components/_progress.scss +105 -0
  536. package/src/scss/components/_radio.scss +123 -0
  537. package/src/scss/components/_rate.scss +72 -0
  538. package/src/scss/components/_select.scss +38 -0
  539. package/src/scss/components/_sidebar.scss +107 -0
  540. package/src/scss/components/_skeleton.scss +66 -0
  541. package/src/scss/components/_slider.scss +162 -0
  542. package/src/scss/components/_steps.scss +491 -0
  543. package/src/scss/components/_switch.scss +214 -0
  544. package/src/scss/components/_table.scss +322 -0
  545. package/src/scss/components/_tabs.scss +197 -0
  546. package/src/scss/components/_tag.scss +36 -0
  547. package/src/scss/components/_taginput.scss +73 -0
  548. package/src/scss/components/_timepicker.scss +73 -0
  549. package/src/scss/components/_tooltip.scss +192 -0
  550. package/src/scss/components/_upload.scss +62 -0
  551. package/src/scss/utils/_all.scss +4 -0
  552. package/src/scss/utils/_animations.scss +183 -0
  553. package/src/scss/utils/_functions.scss +49 -0
  554. package/src/scss/utils/_helpers.scss +6 -0
  555. package/src/scss/utils/_variables-ext.scss +2 -0
  556. package/src/scss/utils/_variables.scss +16 -0
  557. package/src/utils/CheckRadioMixin.spec.ts +28 -0
  558. package/src/utils/CheckRadioMixin.ts +61 -0
  559. package/src/utils/CompatFallthroughMixin.ts +34 -0
  560. package/src/utils/ConfigComponent.ts +12 -0
  561. package/src/utils/FormElementMixin.spec.ts +41 -0
  562. package/src/utils/FormElementMixin.ts +206 -0
  563. package/src/utils/InjectedChildMixin.ts +139 -0
  564. package/src/utils/MessageMixin.spec.ts +51 -0
  565. package/src/utils/MessageMixin.ts +138 -0
  566. package/src/utils/NoticeMixin.spec.ts +55 -0
  567. package/src/utils/NoticeMixin.ts +181 -0
  568. package/src/utils/ProvideInjectTypes.ts +20 -0
  569. package/src/utils/ProviderParentMixin.ts +105 -0
  570. package/src/utils/SlotComponent.spec.ts +55 -0
  571. package/src/utils/SlotComponent.ts +38 -0
  572. package/src/utils/TabbedChildMixin.ts +96 -0
  573. package/src/utils/TabbedMixin.ts +166 -0
  574. package/src/utils/TabbedTypes.ts +33 -0
  575. package/src/utils/TimepickerMixin.spec.ts +75 -0
  576. package/src/utils/TimepickerMixin.ts +767 -0
  577. package/src/utils/color.spec.ts +55 -0
  578. package/src/utils/color.ts +507 -0
  579. package/src/utils/config.spec.ts +11 -0
  580. package/src/utils/config.ts +619 -0
  581. package/src/utils/debounce.spec.ts +52 -0
  582. package/src/utils/debounce.ts +20 -0
  583. package/src/utils/helpers.spec.ts +257 -0
  584. package/src/utils/helpers.ts +527 -0
  585. package/src/utils/icons.ts +73 -0
  586. package/src/utils/plugins.ts +20 -0
  587. package/src/utils/ssr.ts +6 -0
  588. package/src/utils/vue-augmentation.ts +35 -0
@@ -0,0 +1,680 @@
1
+ /*! Buefy v1.0.2 | MIT License | github.com/buefy/buefy */
2
+ (function (global, factory) {
3
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vue')) :
4
+ typeof define === 'function' && define.amd ? define(['exports', 'vue'], factory) :
5
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.Dropdown = {}, global.Vue));
6
+ })(this, (function (exports, vue) { 'use strict';
7
+
8
+ const findFocusable = (element, programmatic = false) => {
9
+ if (!element) {
10
+ return null;
11
+ }
12
+ if (programmatic) {
13
+ return element.querySelectorAll('*[tabindex="-1"]');
14
+ }
15
+ return element.querySelectorAll(`a[href]:not([tabindex="-1"]),
16
+ area[href],
17
+ input:not([disabled]),
18
+ select:not([disabled]),
19
+ textarea:not([disabled]),
20
+ button:not([disabled]),
21
+ iframe,
22
+ object,
23
+ embed,
24
+ *[tabindex]:not([tabindex="-1"]),
25
+ *[contenteditable]`);
26
+ };
27
+ let onKeyDown;
28
+ const beforeMount = (el, { value = true }) => {
29
+ if (value) {
30
+ let focusable = findFocusable(el);
31
+ let focusableProg = findFocusable(el, true);
32
+ if (focusable && focusable.length > 0) {
33
+ onKeyDown = (event) => {
34
+ focusable = findFocusable(el);
35
+ focusableProg = findFocusable(el, true);
36
+ const firstFocusable = focusable[0];
37
+ const lastFocusable = focusable[focusable.length - 1];
38
+ if (event.target === firstFocusable && event.shiftKey && event.key === "Tab") {
39
+ event.preventDefault();
40
+ lastFocusable.focus();
41
+ } else if ((event.target === lastFocusable || Array.from(focusableProg).indexOf(event.target) >= 0) && !event.shiftKey && event.key === "Tab") {
42
+ event.preventDefault();
43
+ firstFocusable.focus();
44
+ }
45
+ };
46
+ el.addEventListener("keydown", onKeyDown);
47
+ }
48
+ }
49
+ };
50
+ const unmounted = (el) => {
51
+ el.removeEventListener("keydown", onKeyDown);
52
+ };
53
+ const directive = {
54
+ beforeMount,
55
+ unmounted
56
+ };
57
+
58
+ let config = {
59
+ defaultDropdownMobileModal: true,
60
+ defaultTrapFocus: true};
61
+
62
+ function removeElement(el) {
63
+ if (typeof el.remove !== "undefined") {
64
+ el.remove();
65
+ } else if (typeof el.parentNode !== "undefined" && el.parentNode !== null) {
66
+ el.parentNode.removeChild(el);
67
+ }
68
+ }
69
+ function createAbsoluteElement(el) {
70
+ const root = document.createElement("div");
71
+ root.style.position = "absolute";
72
+ root.style.left = "0px";
73
+ root.style.top = "0px";
74
+ root.style.width = "100%";
75
+ const wrapper = document.createElement("div");
76
+ root.appendChild(wrapper);
77
+ wrapper.appendChild(el);
78
+ document.body.appendChild(root);
79
+ return root;
80
+ }
81
+ function toCssWidth(width) {
82
+ return width === void 0 ? null : isNaN(+width) ? `${width}` : width + "px";
83
+ }
84
+ function isCustomElement(vm) {
85
+ return vm.$root != null && "shadowRoot" in vm.$root.$options;
86
+ }
87
+
88
+ const DEFAULT_CLOSE_OPTIONS = ["escape", "outside"];
89
+ const DROPDOWN_INJECTION_KEY = Symbol("bdropdown");
90
+ var _sfc_main$1 = vue.defineComponent({
91
+ name: "BDropdown",
92
+ directives: {
93
+ trapFocus: directive
94
+ },
95
+ provide() {
96
+ return {
97
+ [DROPDOWN_INJECTION_KEY]: this
98
+ };
99
+ },
100
+ props: {
101
+ modelValue: {
102
+ type: [
103
+ String,
104
+ Number,
105
+ Boolean,
106
+ Object,
107
+ Array,
108
+ Function
109
+ ],
110
+ default: null
111
+ },
112
+ disabled: Boolean,
113
+ inline: Boolean,
114
+ scrollable: Boolean,
115
+ maxHeight: {
116
+ type: [String, Number],
117
+ default: 200
118
+ },
119
+ position: {
120
+ type: String,
121
+ validator(value) {
122
+ return [
123
+ "is-top-right",
124
+ "is-top-left",
125
+ "is-bottom-left",
126
+ "is-bottom-right"
127
+ ].indexOf(value) > -1;
128
+ }
129
+ },
130
+ triggers: {
131
+ type: Array,
132
+ default: () => ["click"]
133
+ },
134
+ mobileModal: {
135
+ type: Boolean,
136
+ default: () => {
137
+ return config.defaultDropdownMobileModal;
138
+ }
139
+ },
140
+ ariaRole: {
141
+ type: String,
142
+ validator(value) {
143
+ return [
144
+ "menu",
145
+ "list",
146
+ "dialog"
147
+ ].indexOf(value) > -1;
148
+ },
149
+ default: null
150
+ },
151
+ animation: {
152
+ type: String,
153
+ default: "fade"
154
+ },
155
+ multiple: Boolean,
156
+ trapFocus: {
157
+ type: Boolean,
158
+ default: () => {
159
+ return config.defaultTrapFocus;
160
+ }
161
+ },
162
+ closeOnClick: {
163
+ type: Boolean,
164
+ default: true
165
+ },
166
+ canClose: {
167
+ type: [Array, Boolean],
168
+ default: true
169
+ },
170
+ expanded: Boolean,
171
+ appendToBody: Boolean,
172
+ appendToBodyCopyParent: Boolean,
173
+ triggerTabindex: {
174
+ type: Number,
175
+ default: 0
176
+ }
177
+ },
178
+ emits: {
179
+ /* eslint-disable @typescript-eslint/no-unused-vars */
180
+ "active-change": (_isActive) => true,
181
+ change: (_selected) => true,
182
+ "update:modelValue": (_value) => true
183
+ /* eslint-enable @typescript-eslint/no-unused-vars */
184
+ },
185
+ data() {
186
+ return {
187
+ selected: this.modelValue,
188
+ style: {},
189
+ isActive: false,
190
+ isHoverable: false,
191
+ maybeTap: false,
192
+ isTouchEnabled: false,
193
+ _bodyEl: void 0,
194
+ // Used to append to body
195
+ timeOutID: void 0,
196
+ timeOutID2: void 0
197
+ };
198
+ },
199
+ computed: {
200
+ rootClasses() {
201
+ return [this.position, {
202
+ "is-disabled": this.disabled,
203
+ "is-hoverable": this.hoverable,
204
+ "is-inline": this.inline,
205
+ "is-active": this.isActive || this.inline,
206
+ "is-mobile-modal": this.isMobileModal,
207
+ "is-expanded": this.expanded,
208
+ "is-touch-enabled": this.isTouchEnabled
209
+ }];
210
+ },
211
+ isMobileModal() {
212
+ return this.mobileModal && !this.inline;
213
+ },
214
+ cancelOptions() {
215
+ return typeof this.canClose === "boolean" ? this.canClose ? DEFAULT_CLOSE_OPTIONS : [] : this.canClose;
216
+ },
217
+ contentStyle() {
218
+ var _a;
219
+ return {
220
+ maxHeight: this.scrollable ? (_a = toCssWidth(this.maxHeight)) != null ? _a : void 0 : void 0,
221
+ overflow: this.scrollable ? "auto" : void 0
222
+ };
223
+ },
224
+ hoverable() {
225
+ return this.triggers.indexOf("hover") >= 0;
226
+ }
227
+ },
228
+ watch: {
229
+ /*
230
+ * When v-model is changed set the new selected item.
231
+ */
232
+ modelValue(value) {
233
+ this.selected = value;
234
+ },
235
+ /*
236
+ * Emit event when isActive value is changed.
237
+ *
238
+ * Also resets `isTouchEnabled` when it turns inactive.
239
+ */
240
+ isActive(value) {
241
+ this.$emit("active-change", value);
242
+ if (!value) {
243
+ this.timeOutID = setTimeout(() => {
244
+ if (!this.isActive) {
245
+ this.isTouchEnabled = false;
246
+ }
247
+ }, 250);
248
+ }
249
+ this.handleScroll();
250
+ if (this.appendToBody) {
251
+ this.$nextTick(() => {
252
+ this.updateAppendToBody();
253
+ });
254
+ }
255
+ },
256
+ isHoverable(value) {
257
+ if (this.hoverable) {
258
+ this.$emit("active-change", value);
259
+ }
260
+ }
261
+ },
262
+ methods: {
263
+ handleScroll() {
264
+ if (typeof window === "undefined") return;
265
+ if (this.isMobileModal) {
266
+ if (this.isActive) {
267
+ document.documentElement.classList.add("is-clipped-touch");
268
+ } else {
269
+ document.documentElement.classList.remove("is-clipped-touch");
270
+ }
271
+ }
272
+ },
273
+ /*
274
+ * Click listener from DropdownItem.
275
+ * 1. Set new selected item.
276
+ * 2. Emit input event to update the user v-model.
277
+ * 3. Close the dropdown.
278
+ */
279
+ selectItem(value) {
280
+ if (this.multiple) {
281
+ if (this.selected) {
282
+ const selected = this.selected;
283
+ if (selected.indexOf(value) === -1) {
284
+ this.selected = [...selected, value];
285
+ } else {
286
+ this.selected = selected.filter((val) => val !== value);
287
+ }
288
+ } else {
289
+ this.selected = [value];
290
+ }
291
+ this.$emit("change", this.selected);
292
+ } else {
293
+ if (this.selected !== value) {
294
+ this.selected = value;
295
+ this.$emit("change", this.selected);
296
+ }
297
+ }
298
+ this.$emit("update:modelValue", this.selected);
299
+ if (!this.multiple) {
300
+ this.isActive = !this.closeOnClick;
301
+ if (this.hoverable && this.closeOnClick) {
302
+ this.isHoverable = false;
303
+ }
304
+ }
305
+ },
306
+ /*
307
+ * White-listed items to not close when clicked.
308
+ */
309
+ isInWhiteList(el) {
310
+ if (el === this.$refs.dropdownMenu) return true;
311
+ if (el === this.$refs.trigger) return true;
312
+ if (this.$refs.dropdownMenu != null) {
313
+ const children = this.$refs.dropdownMenu.querySelectorAll("*");
314
+ for (const child of children) {
315
+ if (el === child) {
316
+ return true;
317
+ }
318
+ }
319
+ }
320
+ if (this.$refs.trigger != null) {
321
+ const children = this.$refs.trigger.querySelectorAll("*");
322
+ for (const child of children) {
323
+ if (el === child) {
324
+ return true;
325
+ }
326
+ }
327
+ }
328
+ return false;
329
+ },
330
+ /*
331
+ * Close dropdown if clicked outside.
332
+ */
333
+ clickedOutside(event) {
334
+ if (this.cancelOptions.indexOf("outside") < 0) return;
335
+ if (this.inline) return;
336
+ const target = isCustomElement(this) ? event.composedPath()[0] : event.target;
337
+ if (!this.isInWhiteList(target)) this.isActive = false;
338
+ },
339
+ /*
340
+ * Keypress event that is bound to the document
341
+ */
342
+ keyPress({ key }) {
343
+ if (this.isActive && (key === "Escape" || key === "Esc")) {
344
+ if (this.cancelOptions.indexOf("escape") < 0) return;
345
+ this.isActive = false;
346
+ }
347
+ },
348
+ onClick() {
349
+ if (this.triggers.indexOf("hover") !== -1) return;
350
+ if (this.triggers.indexOf("click") < 0) return;
351
+ this.toggle();
352
+ },
353
+ onContextMenu() {
354
+ if (this.triggers.indexOf("contextmenu") < 0) return;
355
+ this.toggle();
356
+ },
357
+ onHover() {
358
+ if (this.triggers.indexOf("hover") < 0) return;
359
+ if (this.isTouchEnabled) return;
360
+ this.isHoverable = true;
361
+ },
362
+ // takes care of touch-enabled devices
363
+ // - does nothing if hover trigger is disabled
364
+ // - suppresses hover trigger by setting isTouchEnabled
365
+ // - handles only a tap; i.e., touchstart on the trigger immediately
366
+ // folowed by touchend
367
+ onTouchStart() {
368
+ this.maybeTap = true;
369
+ },
370
+ onTouchMove() {
371
+ this.maybeTap = false;
372
+ },
373
+ onTouchEnd(e) {
374
+ if (this.triggers.indexOf("hover") === -1) return;
375
+ if (!this.maybeTap) return;
376
+ e.preventDefault();
377
+ this.maybeTap = false;
378
+ this.isTouchEnabled = true;
379
+ this.toggle();
380
+ },
381
+ onFocus() {
382
+ if (this.triggers.indexOf("focus") < 0) return;
383
+ this.toggle();
384
+ },
385
+ /*
386
+ * Toggle dropdown if it's not disabled.
387
+ */
388
+ toggle() {
389
+ if (this.disabled) return;
390
+ if (!this.isActive) {
391
+ this.timeOutID2 = setTimeout(() => {
392
+ const value = !this.isActive;
393
+ this.isActive = value;
394
+ });
395
+ } else {
396
+ this.isActive = !this.isActive;
397
+ }
398
+ },
399
+ updateAppendToBody() {
400
+ const dropdown = this.$refs.dropdown;
401
+ const dropdownMenu = this.$refs.dropdownMenu;
402
+ const trigger = this.$refs.trigger;
403
+ if (dropdownMenu && trigger) {
404
+ const dropdownWrapper = this.$data._bodyEl.children[0];
405
+ dropdownWrapper.classList.forEach((item) => dropdownWrapper.classList.remove(item));
406
+ dropdownWrapper.classList.add("dropdown");
407
+ dropdownWrapper.classList.add("dropdown-menu-animation");
408
+ this.rootClasses.forEach((item) => {
409
+ if (item && typeof item === "object") {
410
+ for (const key in item) {
411
+ if (item[key]) {
412
+ dropdownWrapper.classList.add(key);
413
+ }
414
+ }
415
+ }
416
+ });
417
+ if (this.appendToBodyCopyParent) {
418
+ const parentNode = this.$refs.dropdown.parentNode;
419
+ const parent = this.$data._bodyEl;
420
+ parent.classList.forEach((item) => parent.classList.remove(item));
421
+ parentNode.classList.forEach((item) => {
422
+ parent.classList.add(item);
423
+ });
424
+ }
425
+ const rect = trigger.getBoundingClientRect();
426
+ let top = rect.top + window.scrollY;
427
+ let left = rect.left + window.scrollX;
428
+ if (!this.position || this.position.indexOf("bottom") >= 0) {
429
+ top += trigger.clientHeight;
430
+ } else {
431
+ top -= dropdownMenu.clientHeight;
432
+ }
433
+ if (this.position && this.position.indexOf("left") >= 0) {
434
+ left -= dropdownMenu.clientWidth - trigger.clientWidth;
435
+ }
436
+ this.style = {
437
+ position: "absolute",
438
+ top: `${top}px`,
439
+ left: `${left}px`,
440
+ zIndex: "99",
441
+ width: this.expanded ? `${dropdown.offsetWidth}px` : void 0
442
+ };
443
+ }
444
+ }
445
+ },
446
+ mounted() {
447
+ if (this.appendToBody) {
448
+ this.$data._bodyEl = createAbsoluteElement(this.$refs.dropdownMenu);
449
+ this.updateAppendToBody();
450
+ }
451
+ },
452
+ created() {
453
+ if (typeof window !== "undefined") {
454
+ document.addEventListener("click", this.clickedOutside);
455
+ document.addEventListener("keyup", this.keyPress);
456
+ }
457
+ },
458
+ beforeUnmount() {
459
+ if (typeof window !== "undefined") {
460
+ document.removeEventListener("click", this.clickedOutside);
461
+ document.removeEventListener("keyup", this.keyPress);
462
+ }
463
+ if (this.appendToBody) {
464
+ removeElement(this.$data._bodyEl);
465
+ }
466
+ clearTimeout(this.timeOutID);
467
+ clearTimeout(this.timeOutID2);
468
+ }
469
+ });
470
+
471
+ var _export_sfc = (sfc, props) => {
472
+ const target = sfc.__vccOpts || sfc;
473
+ for (const [key, val] of props) {
474
+ target[key] = val;
475
+ }
476
+ return target;
477
+ };
478
+
479
+ const _hoisted_1$1 = ["tabindex"];
480
+ const _hoisted_2$1 = ["aria-hidden"];
481
+ const _hoisted_3$1 = ["aria-hidden"];
482
+ const _hoisted_4 = ["role", "aria-modal"];
483
+ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
484
+ const _directive_trap_focus = vue.resolveDirective("trap-focus");
485
+ return vue.openBlock(), vue.createElementBlock(
486
+ "div",
487
+ {
488
+ class: vue.normalizeClass(["dropdown dropdown-menu-animation", _ctx.rootClasses]),
489
+ ref: "dropdown",
490
+ onMouseleave: _cache[7] || (_cache[7] = ($event) => _ctx.isHoverable = false)
491
+ },
492
+ [
493
+ !_ctx.inline ? (vue.openBlock(), vue.createElementBlock("div", {
494
+ key: 0,
495
+ tabindex: _ctx.disabled ? void 0 : _ctx.triggerTabindex,
496
+ ref: "trigger",
497
+ class: "dropdown-trigger",
498
+ onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args)),
499
+ onContextmenu: _cache[1] || (_cache[1] = vue.withModifiers((...args) => _ctx.onContextMenu && _ctx.onContextMenu(...args), ["prevent"])),
500
+ onMouseenter: _cache[2] || (_cache[2] = (...args) => _ctx.onHover && _ctx.onHover(...args)),
501
+ onFocusCapture: _cache[3] || (_cache[3] = (...args) => _ctx.onFocus && _ctx.onFocus(...args)),
502
+ onTouchstart: _cache[4] || (_cache[4] = (...args) => _ctx.onTouchStart && _ctx.onTouchStart(...args)),
503
+ onTouchmove: _cache[5] || (_cache[5] = (...args) => _ctx.onTouchMove && _ctx.onTouchMove(...args)),
504
+ onTouchend: _cache[6] || (_cache[6] = (...args) => _ctx.onTouchEnd && _ctx.onTouchEnd(...args)),
505
+ "aria-haspopup": "true"
506
+ }, [
507
+ vue.renderSlot(_ctx.$slots, "trigger", { active: _ctx.isActive })
508
+ ], 40, _hoisted_1$1)) : vue.createCommentVNode("v-if", true),
509
+ vue.createVNode(vue.Transition, { name: _ctx.animation }, {
510
+ default: vue.withCtx(() => [
511
+ _ctx.isMobileModal ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
512
+ key: 0,
513
+ class: "background",
514
+ "aria-hidden": !_ctx.isActive
515
+ }, null, 8, _hoisted_2$1)), [
516
+ [vue.vShow, _ctx.isActive]
517
+ ]) : vue.createCommentVNode("v-if", true)
518
+ ]),
519
+ _: 1
520
+ /* STABLE */
521
+ }, 8, ["name"]),
522
+ vue.createVNode(vue.Transition, {
523
+ name: _ctx.animation,
524
+ persisted: ""
525
+ }, {
526
+ default: vue.withCtx(() => [
527
+ vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
528
+ ref: "dropdownMenu",
529
+ class: "dropdown-menu",
530
+ style: vue.normalizeStyle(_ctx.style),
531
+ "aria-hidden": !_ctx.isActive
532
+ }, [
533
+ vue.createElementVNode("div", {
534
+ class: "dropdown-content",
535
+ role: _ctx.ariaRole,
536
+ "aria-modal": !_ctx.inline,
537
+ style: vue.normalizeStyle(_ctx.contentStyle)
538
+ }, [
539
+ vue.renderSlot(_ctx.$slots, "default")
540
+ ], 12, _hoisted_4)
541
+ ], 12, _hoisted_3$1)), [
542
+ [vue.vShow, !_ctx.disabled && (_ctx.isActive || _ctx.isHoverable) || _ctx.inline],
543
+ [_directive_trap_focus, _ctx.trapFocus]
544
+ ])
545
+ ]),
546
+ _: 3
547
+ /* FORWARDED */
548
+ }, 8, ["name"])
549
+ ],
550
+ 34
551
+ /* CLASS, NEED_HYDRATION */
552
+ );
553
+ }
554
+ var Dropdown = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1]]);
555
+
556
+ var _sfc_main = vue.defineComponent({
557
+ name: "BDropdownItem",
558
+ inject: {
559
+ parent: {
560
+ from: DROPDOWN_INJECTION_KEY,
561
+ default: void 0
562
+ }
563
+ },
564
+ props: {
565
+ value: {
566
+ type: [String, Number, Boolean, Object, Array, Function],
567
+ default: null
568
+ },
569
+ separator: Boolean,
570
+ disabled: Boolean,
571
+ custom: Boolean,
572
+ focusable: {
573
+ type: Boolean,
574
+ default: true
575
+ },
576
+ paddingless: Boolean,
577
+ hasLink: Boolean,
578
+ ariaRole: {
579
+ type: String,
580
+ default: ""
581
+ }
582
+ },
583
+ emits: {
584
+ click: () => true
585
+ },
586
+ computed: {
587
+ anchorClasses() {
588
+ return {
589
+ "is-disabled": this.parent.disabled || this.disabled,
590
+ "is-paddingless": this.paddingless,
591
+ "is-active": this.isActive
592
+ };
593
+ },
594
+ itemClasses() {
595
+ return {
596
+ "dropdown-item": !this.hasLink,
597
+ "is-disabled": this.disabled,
598
+ "is-paddingless": this.paddingless,
599
+ "is-active": this.isActive,
600
+ "has-link": this.hasLink
601
+ };
602
+ },
603
+ ariaRoleItem() {
604
+ return this.ariaRole === "menuitem" || this.ariaRole === "listitem" ? this.ariaRole : void 0;
605
+ },
606
+ isClickable() {
607
+ return !this.parent.disabled && !this.separator && !this.disabled && !this.custom;
608
+ },
609
+ isActive() {
610
+ if (this.parent.selected === null) return false;
611
+ if (this.parent.multiple) {
612
+ return this.parent.selected.indexOf(this.value) >= 0;
613
+ }
614
+ return this.value === this.parent.selected;
615
+ },
616
+ isFocusable() {
617
+ return this.hasLink ? false : this.focusable;
618
+ }
619
+ },
620
+ methods: {
621
+ /*
622
+ * Click listener, select the item.
623
+ */
624
+ selectItem() {
625
+ if (!this.isClickable) return;
626
+ this.parent.selectItem(this.value);
627
+ this.$emit("click");
628
+ }
629
+ }
630
+ });
631
+
632
+ const _hoisted_1 = {
633
+ key: 0,
634
+ class: "dropdown-divider"
635
+ };
636
+ const _hoisted_2 = ["role", "tabindex"];
637
+ const _hoisted_3 = ["role", "tabindex"];
638
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
639
+ return _ctx.separator ? (vue.openBlock(), vue.createElementBlock("hr", _hoisted_1)) : !_ctx.custom && !_ctx.hasLink ? (vue.openBlock(), vue.createElementBlock("a", {
640
+ key: 1,
641
+ class: vue.normalizeClass(["dropdown-item", _ctx.anchorClasses]),
642
+ onClick: _cache[0] || (_cache[0] = (...args) => _ctx.selectItem && _ctx.selectItem(...args)),
643
+ role: _ctx.ariaRoleItem,
644
+ tabindex: _ctx.isFocusable ? 0 : void 0
645
+ }, [
646
+ vue.renderSlot(_ctx.$slots, "default")
647
+ ], 10, _hoisted_2)) : (vue.openBlock(), vue.createElementBlock("div", {
648
+ key: 2,
649
+ class: vue.normalizeClass(_ctx.itemClasses),
650
+ onClick: _cache[1] || (_cache[1] = (...args) => _ctx.selectItem && _ctx.selectItem(...args)),
651
+ role: _ctx.ariaRoleItem,
652
+ tabindex: _ctx.isFocusable ? 0 : void 0
653
+ }, [
654
+ vue.renderSlot(_ctx.$slots, "default")
655
+ ], 10, _hoisted_3));
656
+ }
657
+ var DropdownItem = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
658
+
659
+ const registerComponent = (Vue, component, name) => {
660
+ const componentName = component.name;
661
+ if (componentName == null) {
662
+ throw new Error("Buefy.registerComponent: missing component name");
663
+ }
664
+ Vue.component(componentName, component);
665
+ };
666
+
667
+ const Plugin = {
668
+ install(Vue) {
669
+ registerComponent(Vue, Dropdown);
670
+ registerComponent(Vue, DropdownItem);
671
+ }
672
+ };
673
+
674
+ exports.BDropdown = Dropdown;
675
+ exports.BDropdownItem = DropdownItem;
676
+ exports.default = Plugin;
677
+
678
+ Object.defineProperty(exports, '__esModule', { value: true });
679
+
680
+ }));