buefy 0.9.26 → 0.9.28

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 (259) hide show
  1. package/README.md +3 -1
  2. package/dist/buefy.css +15904 -0
  3. package/dist/buefy.esm.js +17883 -0
  4. package/dist/buefy.esm.min.js +2 -0
  5. package/dist/buefy.js +17967 -0
  6. package/dist/buefy.min.css +1 -0
  7. package/dist/buefy.min.js +2 -0
  8. package/dist/cjs/Autocomplete-7a39c5ce.js +673 -0
  9. package/dist/cjs/Button-01827709.js +114 -0
  10. package/dist/cjs/CheckRadioMixin-c910f2ed.js +45 -0
  11. package/dist/cjs/Checkbox-43f54cc7.js +70 -0
  12. package/dist/cjs/Datepicker-680659bc.js +1679 -0
  13. package/dist/cjs/DropdownItem-422f8c34.js +559 -0
  14. package/dist/cjs/Field-4557b10c.js +315 -0
  15. package/dist/cjs/FormElementMixin-193a88b8.js +163 -0
  16. package/dist/cjs/Icon-78961800.js +189 -0
  17. package/dist/cjs/Image-c4bcd9b3.js +299 -0
  18. package/dist/cjs/InjectedChildMixin-d6bf7f91.js +135 -0
  19. package/dist/cjs/Input-e5a72d97.js +248 -0
  20. package/dist/cjs/Loading-6f2c7075.js +150 -0
  21. package/dist/cjs/MessageMixin-8d959514.js +146 -0
  22. package/dist/cjs/Modal-4cf07210.js +278 -0
  23. package/dist/cjs/NoticeMixin-01121bd2.js +154 -0
  24. package/dist/cjs/Pagination-d6b3fb85.js +413 -0
  25. package/dist/cjs/Select-2b3879bc.js +100 -0
  26. package/dist/cjs/SlotComponent-4fb48389.js +53 -0
  27. package/dist/cjs/TabbedChildMixin-907cad32.js +222 -0
  28. package/dist/cjs/Tag-437f65fb.js +154 -0
  29. package/dist/cjs/Timepicker-498fa02b.js +67 -0
  30. package/dist/cjs/TimepickerMixin-6c1a4ab4.js +661 -0
  31. package/dist/cjs/Tooltip-c1df7ee3.js +370 -0
  32. package/dist/cjs/_rollupPluginBabelHelpers-8b2e54ad.js +365 -0
  33. package/dist/cjs/autocomplete.js +22 -0
  34. package/dist/cjs/breadcrumb.js +139 -0
  35. package/dist/cjs/button.js +20 -0
  36. package/dist/cjs/carousel.js +662 -0
  37. package/dist/cjs/checkbox.js +86 -0
  38. package/dist/cjs/clockpicker.js +461 -0
  39. package/dist/cjs/collapse.js +128 -0
  40. package/dist/cjs/colorpicker.js +23 -0
  41. package/dist/cjs/config-8cfb5a4a.js +81 -0
  42. package/dist/cjs/config.js +18 -0
  43. package/dist/cjs/datepicker.js +27 -0
  44. package/dist/cjs/datetimepicker.js +377 -0
  45. package/dist/cjs/dialog.js +308 -0
  46. package/dist/cjs/dropdown.js +23 -0
  47. package/dist/cjs/field.js +18 -0
  48. package/dist/cjs/helpers.js +375 -0
  49. package/dist/cjs/icon.js +19 -0
  50. package/dist/cjs/image.js +19 -0
  51. package/dist/cjs/index-99d1c930.js +1633 -0
  52. package/dist/cjs/index.js +216 -0
  53. package/dist/cjs/input.js +21 -0
  54. package/dist/cjs/loading.js +38 -0
  55. package/dist/cjs/menu.js +304 -0
  56. package/dist/cjs/message.js +67 -0
  57. package/dist/cjs/modal.js +59 -0
  58. package/dist/cjs/navbar.js +679 -0
  59. package/dist/cjs/notification.js +181 -0
  60. package/dist/cjs/numberinput.js +278 -0
  61. package/dist/cjs/pagination.js +22 -0
  62. package/dist/cjs/plugins-7f41b028.js +94 -0
  63. package/dist/cjs/progress.js +239 -0
  64. package/dist/cjs/radio.js +130 -0
  65. package/dist/cjs/rate.js +156 -0
  66. package/dist/cjs/select.js +21 -0
  67. package/dist/cjs/sidebar.js +303 -0
  68. package/dist/cjs/skeleton.js +111 -0
  69. package/dist/cjs/slider.js +603 -0
  70. package/dist/cjs/snackbar.js +132 -0
  71. package/dist/cjs/ssr-20dba236.js +10 -0
  72. package/dist/cjs/steps.js +278 -0
  73. package/dist/cjs/switch.js +139 -0
  74. package/dist/cjs/table.js +1695 -0
  75. package/dist/cjs/tabs.js +214 -0
  76. package/dist/cjs/tag.js +70 -0
  77. package/dist/cjs/taginput.js +331 -0
  78. package/dist/cjs/timepicker.js +28 -0
  79. package/dist/cjs/toast.js +106 -0
  80. package/dist/cjs/tooltip.js +19 -0
  81. package/dist/cjs/trapFocus-261420b0.js +49 -0
  82. package/dist/cjs/upload.js +205 -0
  83. package/dist/components/autocomplete/index.js +1620 -0
  84. package/dist/components/autocomplete/index.min.js +2 -0
  85. package/dist/components/breadcrumb/index.js +297 -0
  86. package/dist/components/breadcrumb/index.min.js +2 -0
  87. package/dist/components/button/index.js +569 -0
  88. package/dist/components/button/index.min.js +2 -0
  89. package/dist/components/carousel/index.js +1629 -0
  90. package/dist/components/carousel/index.min.js +2 -0
  91. package/dist/components/checkbox/index.js +279 -0
  92. package/dist/components/checkbox/index.min.js +2 -0
  93. package/dist/components/clockpicker/index.js +3131 -0
  94. package/dist/components/clockpicker/index.min.js +2 -0
  95. package/dist/components/collapse/index.js +217 -0
  96. package/dist/components/collapse/index.min.js +2 -0
  97. package/dist/components/colorpicker/index.js +4249 -0
  98. package/dist/components/colorpicker/index.min.js +2 -0
  99. package/dist/components/datepicker/index.js +3845 -0
  100. package/dist/components/datepicker/index.min.js +2 -0
  101. package/dist/components/datetimepicker/index.js +4902 -0
  102. package/dist/components/datetimepicker/index.min.js +2 -0
  103. package/dist/components/dialog/index.js +1168 -0
  104. package/dist/components/dialog/index.min.js +2 -0
  105. package/dist/components/dropdown/index.js +1043 -0
  106. package/dist/components/dropdown/index.min.js +2 -0
  107. package/dist/components/field/index.js +511 -0
  108. package/dist/components/field/index.min.js +2 -0
  109. package/dist/components/icon/index.js +463 -0
  110. package/dist/components/icon/index.min.js +2 -0
  111. package/dist/components/image/index.js +513 -0
  112. package/dist/components/image/index.min.js +2 -0
  113. package/dist/components/input/index.js +862 -0
  114. package/dist/components/input/index.min.js +2 -0
  115. package/dist/components/loading/index.js +366 -0
  116. package/dist/components/loading/index.min.js +2 -0
  117. package/dist/components/menu/index.js +748 -0
  118. package/dist/components/menu/index.min.js +2 -0
  119. package/dist/components/message/index.js +650 -0
  120. package/dist/components/message/index.min.js +2 -0
  121. package/dist/components/modal/index.js +624 -0
  122. package/dist/components/modal/index.min.js +2 -0
  123. package/dist/components/navbar/index.js +805 -0
  124. package/dist/components/navbar/index.min.js +2 -0
  125. package/dist/components/notification/index.js +923 -0
  126. package/dist/components/notification/index.min.js +2 -0
  127. package/dist/components/numberinput/index.js +1119 -0
  128. package/dist/components/numberinput/index.min.js +2 -0
  129. package/dist/components/pagination/index.js +868 -0
  130. package/dist/components/pagination/index.min.js +2 -0
  131. package/dist/components/progress/index.js +621 -0
  132. package/dist/components/progress/index.min.js +2 -0
  133. package/dist/components/radio/index.js +260 -0
  134. package/dist/components/radio/index.min.js +2 -0
  135. package/dist/components/rate/index.js +600 -0
  136. package/dist/components/rate/index.min.js +2 -0
  137. package/dist/components/select/index.js +715 -0
  138. package/dist/components/select/index.min.js +2 -0
  139. package/dist/components/sidebar/index.js +467 -0
  140. package/dist/components/sidebar/index.min.js +2 -0
  141. package/dist/components/skeleton/index.js +200 -0
  142. package/dist/components/skeleton/index.min.js +2 -0
  143. package/dist/components/slider/index.js +1264 -0
  144. package/dist/components/slider/index.min.js +2 -0
  145. package/dist/components/snackbar/index.js +527 -0
  146. package/dist/components/snackbar/index.min.js +2 -0
  147. package/dist/components/steps/index.js +1180 -0
  148. package/dist/components/steps/index.min.js +2 -0
  149. package/dist/components/switch/index.js +297 -0
  150. package/dist/components/switch/index.min.js +2 -0
  151. package/dist/components/table/index.js +3480 -0
  152. package/dist/components/table/index.min.js +2 -0
  153. package/dist/components/tabs/index.js +1116 -0
  154. package/dist/components/tabs/index.min.js +2 -0
  155. package/dist/components/tag/index.js +307 -0
  156. package/dist/components/tag/index.min.js +2 -0
  157. package/dist/components/taginput/index.js +2104 -0
  158. package/dist/components/taginput/index.min.js +2 -0
  159. package/dist/components/timepicker/index.js +2843 -0
  160. package/dist/components/timepicker/index.min.js +2 -0
  161. package/dist/components/toast/index.js +501 -0
  162. package/dist/components/toast/index.min.js +2 -0
  163. package/dist/components/tooltip/index.js +630 -0
  164. package/dist/components/tooltip/index.min.js +2 -0
  165. package/dist/components/upload/index.js +525 -0
  166. package/dist/components/upload/index.min.js +2 -0
  167. package/dist/esm/Autocomplete-1a6e8770.js +671 -0
  168. package/dist/esm/Button-521f6efc.js +112 -0
  169. package/dist/esm/CheckRadioMixin-e726a83c.js +43 -0
  170. package/dist/esm/Checkbox-1d02686e.js +68 -0
  171. package/dist/esm/Datepicker-0ae1e826.js +1677 -0
  172. package/dist/esm/DropdownItem-55682322.js +556 -0
  173. package/dist/esm/Field-3ceba31e.js +313 -0
  174. package/dist/esm/FormElementMixin-b223d3c7.js +161 -0
  175. package/dist/esm/Icon-60d47b31.js +187 -0
  176. package/dist/esm/Image-75808acb.js +297 -0
  177. package/dist/esm/InjectedChildMixin-b4220787.js +130 -0
  178. package/dist/esm/Input-20612b63.js +246 -0
  179. package/dist/esm/Loading-ae028ea5.js +148 -0
  180. package/dist/esm/MessageMixin-d577a9f5.js +144 -0
  181. package/dist/esm/Modal-7da7641f.js +276 -0
  182. package/dist/esm/NoticeMixin-bd6f61d9.js +152 -0
  183. package/dist/esm/Pagination-68f12c1e.js +409 -0
  184. package/dist/esm/Select-97781d4e.js +98 -0
  185. package/dist/esm/SlotComponent-8871a20f.js +51 -0
  186. package/dist/esm/TabbedChildMixin-bcb13767.js +219 -0
  187. package/dist/esm/Tag-6365aa46.js +152 -0
  188. package/dist/esm/Timepicker-38480bbc.js +65 -0
  189. package/dist/esm/TimepickerMixin-d736b0a9.js +659 -0
  190. package/dist/esm/Tooltip-d98a769c.js +368 -0
  191. package/dist/esm/_rollupPluginBabelHelpers-df313029.js +350 -0
  192. package/dist/esm/autocomplete.js +18 -0
  193. package/dist/esm/breadcrumb.js +133 -0
  194. package/dist/esm/button.js +16 -0
  195. package/dist/esm/carousel.js +655 -0
  196. package/dist/esm/checkbox.js +81 -0
  197. package/dist/esm/clockpicker.js +456 -0
  198. package/dist/esm/collapse.js +123 -0
  199. package/dist/esm/colorpicker.js +14 -0
  200. package/dist/esm/config-e7d4b9c2.js +78 -0
  201. package/dist/esm/config.js +14 -0
  202. package/dist/esm/datepicker.js +23 -0
  203. package/dist/esm/datetimepicker.js +372 -0
  204. package/dist/esm/dialog.js +302 -0
  205. package/dist/esm/dropdown.js +18 -0
  206. package/dist/esm/field.js +14 -0
  207. package/dist/esm/helpers.js +348 -0
  208. package/dist/esm/icon.js +15 -0
  209. package/dist/esm/image.js +15 -0
  210. package/dist/esm/index-903f63ea.js +1629 -0
  211. package/dist/esm/index.js +182 -0
  212. package/dist/esm/input.js +17 -0
  213. package/dist/esm/loading.js +33 -0
  214. package/dist/esm/menu.js +297 -0
  215. package/dist/esm/message.js +62 -0
  216. package/dist/esm/modal.js +54 -0
  217. package/dist/esm/navbar.js +672 -0
  218. package/dist/esm/notification.js +175 -0
  219. package/dist/esm/numberinput.js +273 -0
  220. package/dist/esm/pagination.js +17 -0
  221. package/dist/esm/plugins-218aea86.js +89 -0
  222. package/dist/esm/progress.js +233 -0
  223. package/dist/esm/radio.js +124 -0
  224. package/dist/esm/rate.js +151 -0
  225. package/dist/esm/select.js +17 -0
  226. package/dist/esm/sidebar.js +298 -0
  227. package/dist/esm/skeleton.js +106 -0
  228. package/dist/esm/slider.js +597 -0
  229. package/dist/esm/snackbar.js +126 -0
  230. package/dist/esm/ssr-b847d137.js +7 -0
  231. package/dist/esm/steps.js +272 -0
  232. package/dist/esm/switch.js +134 -0
  233. package/dist/esm/table.js +1689 -0
  234. package/dist/esm/tabs.js +208 -0
  235. package/dist/esm/tag.js +65 -0
  236. package/dist/esm/taginput.js +326 -0
  237. package/dist/esm/timepicker.js +24 -0
  238. package/dist/esm/toast.js +100 -0
  239. package/dist/esm/tooltip.js +15 -0
  240. package/dist/esm/trapFocus-f0736873.js +47 -0
  241. package/dist/esm/upload.js +200 -0
  242. package/dist/vetur/attributes.json +3238 -0
  243. package/dist/vetur/tags.json +1183 -0
  244. package/package.json +3 -3
  245. package/src/components/autocomplete/Autocomplete.spec.js +16 -0
  246. package/src/components/autocomplete/Autocomplete.vue +9 -3
  247. package/src/components/colorpicker/ColorpickerHSLRepresentationSquare.vue +2 -0
  248. package/src/components/colorpicker/ColorpickerHSLRepresentationTriangle.vue +2 -0
  249. package/src/components/dropdown/Dropdown.vue +51 -3
  250. package/src/components/numberinput/Numberinput.vue +4 -0
  251. package/src/components/sidebar/Sidebar.vue +1 -0
  252. package/src/components/slider/Slider.vue +7 -2
  253. package/src/components/slider/SliderThumb.vue +8 -0
  254. package/src/components/table/Table.vue +4 -1
  255. package/src/components/table/TableColumn.spec.js +51 -0
  256. package/src/components/table/TableColumn.vue +8 -1
  257. package/src/components/taginput/Taginput.vue +7 -2
  258. package/src/components/tooltip/Tooltip.vue +10 -3
  259. package/src/scss/components/_dropdown.scss +4 -2
@@ -0,0 +1,679 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-8b2e54ad.js');
6
+ var plugins = require('./plugins-7f41b028.js');
7
+
8
+ //
9
+ //
10
+ //
11
+ //
12
+ //
13
+ //
14
+ //
15
+ //
16
+ //
17
+ //
18
+ //
19
+ //
20
+ //
21
+ //
22
+ //
23
+ //
24
+
25
+ var script$3 = {
26
+ name: 'NavbarBurger',
27
+ props: {
28
+ isOpened: {
29
+ type: Boolean,
30
+ default: false
31
+ }
32
+ }
33
+ };
34
+
35
+ /* script */
36
+ const __vue_script__$3 = script$3;
37
+
38
+ /* template */
39
+ var __vue_render__$2 = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',_vm._g({staticClass:"navbar-burger burger",class:{ 'is-active': _vm.isOpened },attrs:{"role":"button","aria-label":"menu","aria-expanded":_vm.isOpened,"tabindex":"0"}},_vm.$listeners),[_c('span',{attrs:{"aria-hidden":"true"}}),_c('span',{attrs:{"aria-hidden":"true"}}),_c('span',{attrs:{"aria-hidden":"true"}})])};
40
+ var __vue_staticRenderFns__$2 = [];
41
+
42
+ /* style */
43
+ const __vue_inject_styles__$3 = undefined;
44
+ /* scoped */
45
+ const __vue_scope_id__$3 = undefined;
46
+ /* module identifier */
47
+ const __vue_module_identifier__$3 = undefined;
48
+ /* functional template */
49
+ const __vue_is_functional_template__$3 = false;
50
+ /* style inject */
51
+
52
+ /* style inject SSR */
53
+
54
+ /* style inject shadow dom */
55
+
56
+
57
+
58
+ const __vue_component__$3 = /*#__PURE__*/plugins.normalizeComponent(
59
+ { render: __vue_render__$2, staticRenderFns: __vue_staticRenderFns__$2 },
60
+ __vue_inject_styles__$3,
61
+ __vue_script__$3,
62
+ __vue_scope_id__$3,
63
+ __vue_is_functional_template__$3,
64
+ __vue_module_identifier__$3,
65
+ false,
66
+ undefined,
67
+ undefined,
68
+ undefined
69
+ );
70
+
71
+ var NavbarBurger = __vue_component__$3;
72
+
73
+ var isTouch = typeof window !== 'undefined' && ('ontouchstart' in window || navigator.msMaxTouchPoints > 0);
74
+ var events = isTouch ? ['touchstart', 'click'] : ['click'];
75
+ var instances = [];
76
+ function processArgs(bindingValue) {
77
+ var isFunction = typeof bindingValue === 'function';
78
+ if (!isFunction && _rollupPluginBabelHelpers._typeof(bindingValue) !== 'object') {
79
+ throw new Error("v-click-outside: Binding value should be a function or an object, ".concat(_rollupPluginBabelHelpers._typeof(bindingValue), " given"));
80
+ }
81
+ return {
82
+ handler: isFunction ? bindingValue : bindingValue.handler,
83
+ middleware: bindingValue.middleware || function (isClickOutside) {
84
+ return isClickOutside;
85
+ },
86
+ events: bindingValue.events || events
87
+ };
88
+ }
89
+ function onEvent(_ref) {
90
+ var el = _ref.el,
91
+ event = _ref.event,
92
+ handler = _ref.handler,
93
+ middleware = _ref.middleware;
94
+ var isClickOutside = event.target !== el && !el.contains(event.target);
95
+ if (!isClickOutside || !middleware(event, el)) {
96
+ return;
97
+ }
98
+ handler(event, el);
99
+ }
100
+ function toggleEventListeners() {
101
+ var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
102
+ eventHandlers = _ref2.eventHandlers;
103
+ var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'add';
104
+ eventHandlers.forEach(function (_ref3) {
105
+ var event = _ref3.event,
106
+ handler = _ref3.handler;
107
+ document["".concat(action, "EventListener")](event, handler);
108
+ });
109
+ }
110
+ function bind(el, _ref4) {
111
+ var value = _ref4.value;
112
+ var _processArgs = processArgs(value),
113
+ _handler = _processArgs.handler,
114
+ middleware = _processArgs.middleware,
115
+ events = _processArgs.events;
116
+ var instance = {
117
+ el: el,
118
+ eventHandlers: events.map(function (eventName) {
119
+ return {
120
+ event: eventName,
121
+ handler: function handler(event) {
122
+ return onEvent({
123
+ event: event,
124
+ el: el,
125
+ handler: _handler,
126
+ middleware: middleware
127
+ });
128
+ }
129
+ };
130
+ })
131
+ };
132
+ toggleEventListeners(instance, 'add');
133
+ instances.push(instance);
134
+ }
135
+ function update(el, _ref5) {
136
+ var value = _ref5.value;
137
+ var _processArgs2 = processArgs(value),
138
+ _handler2 = _processArgs2.handler,
139
+ middleware = _processArgs2.middleware,
140
+ events = _processArgs2.events;
141
+ // `filter` instead of `find` for compat with IE
142
+ var instance = instances.filter(function (instance) {
143
+ return instance.el === el;
144
+ })[0];
145
+ toggleEventListeners(instance, 'remove');
146
+ instance.eventHandlers = events.map(function (eventName) {
147
+ return {
148
+ event: eventName,
149
+ handler: function handler(event) {
150
+ return onEvent({
151
+ event: event,
152
+ el: el,
153
+ handler: _handler2,
154
+ middleware: middleware
155
+ });
156
+ }
157
+ };
158
+ });
159
+ toggleEventListeners(instance, 'add');
160
+ }
161
+ function unbind(el) {
162
+ // `filter` instead of `find` for compat with IE
163
+ var instance = instances.filter(function (instance) {
164
+ return instance.el === el;
165
+ })[0];
166
+ toggleEventListeners(instance, 'remove');
167
+ }
168
+ var directive = {
169
+ bind: bind,
170
+ update: update,
171
+ unbind: unbind,
172
+ instances: instances
173
+ };
174
+ var clickOutside = directive;
175
+
176
+ var FIXED_TOP_CLASS = 'is-fixed-top';
177
+ var BODY_FIXED_TOP_CLASS = 'has-navbar-fixed-top';
178
+ var BODY_SPACED_FIXED_TOP_CLASS = 'has-spaced-navbar-fixed-top';
179
+ var FIXED_BOTTOM_CLASS = 'is-fixed-bottom';
180
+ var BODY_FIXED_BOTTOM_CLASS = 'has-navbar-fixed-bottom';
181
+ var BODY_SPACED_FIXED_BOTTOM_CLASS = 'has-spaced-navbar-fixed-bottom';
182
+ var BODY_CENTERED_CLASS = 'has-navbar-centered';
183
+ var isFilled = function isFilled(str) {
184
+ return !!str;
185
+ };
186
+ var script$2 = {
187
+ name: 'BNavbar',
188
+ components: {
189
+ NavbarBurger: NavbarBurger
190
+ },
191
+ directives: {
192
+ clickOutside: clickOutside
193
+ },
194
+ // deprecated, to replace with default 'value' in the next breaking change
195
+ model: {
196
+ prop: 'active',
197
+ event: 'update:active'
198
+ },
199
+ props: {
200
+ type: [String, Object],
201
+ transparent: {
202
+ type: Boolean,
203
+ default: false
204
+ },
205
+ fixedTop: {
206
+ type: Boolean,
207
+ default: false
208
+ },
209
+ fixedBottom: {
210
+ type: Boolean,
211
+ default: false
212
+ },
213
+ active: {
214
+ type: Boolean,
215
+ default: false
216
+ },
217
+ centered: {
218
+ type: Boolean,
219
+ default: false
220
+ },
221
+ wrapperClass: {
222
+ type: [String, Array, Object]
223
+ },
224
+ closeOnClick: {
225
+ type: Boolean,
226
+ default: true
227
+ },
228
+ mobileBurger: {
229
+ type: Boolean,
230
+ default: true
231
+ },
232
+ spaced: Boolean,
233
+ shadow: Boolean
234
+ },
235
+ data: function data() {
236
+ return {
237
+ internalIsActive: this.active,
238
+ _isNavBar: true // Used internally by NavbarItem
239
+ };
240
+ },
241
+ computed: {
242
+ isOpened: function isOpened() {
243
+ return this.internalIsActive;
244
+ },
245
+ computedClasses: function computedClasses() {
246
+ return [this.type, _rollupPluginBabelHelpers._defineProperty(_rollupPluginBabelHelpers._defineProperty(_rollupPluginBabelHelpers._defineProperty(_rollupPluginBabelHelpers._defineProperty(_rollupPluginBabelHelpers._defineProperty(_rollupPluginBabelHelpers._defineProperty({}, FIXED_TOP_CLASS, this.fixedTop), FIXED_BOTTOM_CLASS, this.fixedBottom), BODY_CENTERED_CLASS, this.centered), 'is-spaced', this.spaced), 'has-shadow', this.shadow), 'is-transparent', this.transparent)];
247
+ }
248
+ },
249
+ watch: {
250
+ active: {
251
+ handler: function handler(active) {
252
+ this.internalIsActive = active;
253
+ },
254
+ immediate: true
255
+ },
256
+ fixedTop: function fixedTop(isSet) {
257
+ // toggle body class only on update to handle multiple navbar
258
+ this.setBodyFixedTopClass(isSet);
259
+ },
260
+ bottomTop: function bottomTop(isSet) {
261
+ // toggle body class only on update to handle multiple navbar
262
+ this.setBodyFixedBottomClass(isSet);
263
+ }
264
+ },
265
+ methods: {
266
+ toggleActive: function toggleActive() {
267
+ this.internalIsActive = !this.internalIsActive;
268
+ this.emitUpdateParentEvent();
269
+ },
270
+ closeMenu: function closeMenu() {
271
+ if (this.closeOnClick && this.internalIsActive) {
272
+ this.internalIsActive = false;
273
+ this.emitUpdateParentEvent();
274
+ }
275
+ },
276
+ emitUpdateParentEvent: function emitUpdateParentEvent() {
277
+ this.$emit('update:active', this.internalIsActive);
278
+ },
279
+ setBodyClass: function setBodyClass(className) {
280
+ if (typeof window !== 'undefined') {
281
+ document.body.classList.add(className);
282
+ }
283
+ },
284
+ removeBodyClass: function removeBodyClass(className) {
285
+ if (typeof window !== 'undefined') {
286
+ document.body.classList.remove(className);
287
+ }
288
+ },
289
+ checkIfFixedPropertiesAreColliding: function checkIfFixedPropertiesAreColliding() {
290
+ var areColliding = this.fixedTop && this.fixedBottom;
291
+ if (areColliding) {
292
+ throw new Error('You should choose if the BNavbar is fixed bottom or fixed top, but not both');
293
+ }
294
+ },
295
+ genNavbar: function genNavbar(createElement) {
296
+ var navBarSlots = [this.genNavbarBrandNode(createElement), this.genNavbarSlotsNode(createElement)];
297
+ if (!isFilled(this.wrapperClass)) {
298
+ return this.genNavbarSlots(createElement, navBarSlots);
299
+ }
300
+
301
+ // It wraps the slots into a div with the provided wrapperClass prop
302
+ var navWrapper = createElement('div', {
303
+ class: this.wrapperClass
304
+ }, navBarSlots);
305
+ return this.genNavbarSlots(createElement, [navWrapper]);
306
+ },
307
+ genNavbarSlots: function genNavbarSlots(createElement, slots) {
308
+ return createElement('nav', {
309
+ staticClass: 'navbar',
310
+ class: this.computedClasses,
311
+ attrs: {
312
+ role: 'navigation',
313
+ 'aria-label': 'main navigation'
314
+ },
315
+ directives: [{
316
+ name: 'click-outside',
317
+ value: this.closeMenu
318
+ }]
319
+ }, slots);
320
+ },
321
+ genNavbarBrandNode: function genNavbarBrandNode(createElement) {
322
+ return createElement('div', {
323
+ class: 'navbar-brand'
324
+ }, [this.$slots.brand, this.genBurgerNode(createElement)]);
325
+ },
326
+ genBurgerNode: function genBurgerNode(createElement) {
327
+ var _this = this;
328
+ if (this.mobileBurger) {
329
+ var defaultBurgerNode = createElement('navbar-burger', {
330
+ props: {
331
+ isOpened: this.isOpened
332
+ },
333
+ on: {
334
+ click: this.toggleActive,
335
+ keyup: function keyup(event) {
336
+ if (event.keyCode !== 13) return;
337
+ _this.toggleActive();
338
+ }
339
+ }
340
+ });
341
+ var hasBurgerSlot = !!this.$scopedSlots.burger;
342
+ return hasBurgerSlot ? this.$scopedSlots.burger({
343
+ isOpened: this.isOpened,
344
+ toggleActive: this.toggleActive
345
+ }) : defaultBurgerNode;
346
+ }
347
+ },
348
+ genNavbarSlotsNode: function genNavbarSlotsNode(createElement) {
349
+ return createElement('div', {
350
+ staticClass: 'navbar-menu',
351
+ class: {
352
+ 'is-active': this.isOpened
353
+ }
354
+ }, [this.genMenuPosition(createElement, 'start'), this.genMenuPosition(createElement, 'end')]);
355
+ },
356
+ genMenuPosition: function genMenuPosition(createElement, positionName) {
357
+ return createElement('div', {
358
+ staticClass: "navbar-".concat(positionName)
359
+ }, this.$slots[positionName]);
360
+ },
361
+ setBodyFixedTopClass: function setBodyFixedTopClass(isSet) {
362
+ this.checkIfFixedPropertiesAreColliding();
363
+ if (isSet) {
364
+ // TODO Apply only one of the classes once PR is merged in Bulma:
365
+ // https://github.com/jgthms/bulma/pull/2737
366
+ this.setBodyClass(BODY_FIXED_TOP_CLASS);
367
+ this.spaced && this.setBodyClass(BODY_SPACED_FIXED_TOP_CLASS);
368
+ } else {
369
+ this.removeBodyClass(BODY_FIXED_TOP_CLASS);
370
+ this.removeBodyClass(BODY_SPACED_FIXED_TOP_CLASS);
371
+ }
372
+ },
373
+ setBodyFixedBottomClass: function setBodyFixedBottomClass(isSet) {
374
+ this.checkIfFixedPropertiesAreColliding();
375
+ if (isSet) {
376
+ // TODO Apply only one of the classes once PR is merged in Bulma:
377
+ // https://github.com/jgthms/bulma/pull/2737
378
+ this.setBodyClass(BODY_FIXED_BOTTOM_CLASS);
379
+ this.spaced && this.setBodyClass(BODY_SPACED_FIXED_BOTTOM_CLASS);
380
+ } else {
381
+ this.removeBodyClass(BODY_FIXED_BOTTOM_CLASS);
382
+ this.removeBodyClass(BODY_SPACED_FIXED_BOTTOM_CLASS);
383
+ }
384
+ }
385
+ },
386
+ beforeMount: function beforeMount() {
387
+ this.fixedTop && this.setBodyFixedTopClass(true);
388
+ this.fixedBottom && this.setBodyFixedBottomClass(true);
389
+ },
390
+ beforeDestroy: function beforeDestroy() {
391
+ if (this.fixedTop) {
392
+ var className = this.spaced ? BODY_SPACED_FIXED_TOP_CLASS : BODY_FIXED_TOP_CLASS;
393
+ this.removeBodyClass(className);
394
+ } else if (this.fixedBottom) {
395
+ var _className = this.spaced ? BODY_SPACED_FIXED_BOTTOM_CLASS : BODY_FIXED_BOTTOM_CLASS;
396
+ this.removeBodyClass(_className);
397
+ }
398
+ },
399
+ render: function render(createElement, fn) {
400
+ return this.genNavbar(createElement);
401
+ }
402
+ };
403
+
404
+ /* script */
405
+ const __vue_script__$2 = script$2;
406
+
407
+ /* template */
408
+
409
+ /* style */
410
+ const __vue_inject_styles__$2 = undefined;
411
+ /* scoped */
412
+ const __vue_scope_id__$2 = undefined;
413
+ /* module identifier */
414
+ const __vue_module_identifier__$2 = undefined;
415
+ /* functional template */
416
+ const __vue_is_functional_template__$2 = undefined;
417
+ /* style inject */
418
+
419
+ /* style inject SSR */
420
+
421
+ /* style inject shadow dom */
422
+
423
+
424
+
425
+ const __vue_component__$2 = /*#__PURE__*/plugins.normalizeComponent(
426
+ {},
427
+ __vue_inject_styles__$2,
428
+ __vue_script__$2,
429
+ __vue_scope_id__$2,
430
+ __vue_is_functional_template__$2,
431
+ __vue_module_identifier__$2,
432
+ false,
433
+ undefined,
434
+ undefined,
435
+ undefined
436
+ );
437
+
438
+ var Navbar = __vue_component__$2;
439
+
440
+ //
441
+ //
442
+ //
443
+ //
444
+ //
445
+ //
446
+ //
447
+ //
448
+ //
449
+ //
450
+ //
451
+ //
452
+ //
453
+
454
+ var clickableWhiteList = ['div', 'span', 'input'];
455
+ var script$1 = {
456
+ name: 'BNavbarItem',
457
+ inheritAttrs: false,
458
+ props: {
459
+ tag: {
460
+ type: String,
461
+ default: 'a'
462
+ },
463
+ active: Boolean
464
+ },
465
+ methods: {
466
+ /**
467
+ * Keypress event that is bound to the document
468
+ */
469
+ keyPress: function keyPress(_ref) {
470
+ var key = _ref.key;
471
+ if (key === 'Escape' || key === 'Esc') {
472
+ this.closeMenuRecursive(this, ['NavBar']);
473
+ }
474
+ },
475
+ /**
476
+ * Close parent if clicked outside.
477
+ */
478
+ handleClickEvent: function handleClickEvent(event) {
479
+ var isOnWhiteList = clickableWhiteList.some(function (item) {
480
+ return item === event.target.localName;
481
+ });
482
+ if (!isOnWhiteList) {
483
+ var parent = this.closeMenuRecursive(this, ['NavbarDropdown', 'NavBar']);
484
+ if (parent && parent.$data._isNavbarDropdown) this.closeMenuRecursive(parent, ['NavBar']);
485
+ }
486
+ },
487
+ /**
488
+ * Close parent recursively
489
+ */
490
+ closeMenuRecursive: function closeMenuRecursive(current, targetComponents) {
491
+ if (!current.$parent) return null;
492
+ var foundItem = targetComponents.reduce(function (acc, item) {
493
+ if (current.$parent.$data["_is".concat(item)]) {
494
+ current.$parent.closeMenu();
495
+ return current.$parent;
496
+ }
497
+ return acc;
498
+ }, null);
499
+ return foundItem || this.closeMenuRecursive(current.$parent, targetComponents);
500
+ }
501
+ },
502
+ mounted: function mounted() {
503
+ if (typeof window !== 'undefined') {
504
+ this.$el.addEventListener('click', this.handleClickEvent);
505
+ document.addEventListener('keyup', this.keyPress);
506
+ }
507
+ },
508
+ beforeDestroy: function beforeDestroy() {
509
+ if (typeof window !== 'undefined') {
510
+ this.$el.removeEventListener('click', this.handleClickEvent);
511
+ document.removeEventListener('keyup', this.keyPress);
512
+ }
513
+ }
514
+ };
515
+
516
+ /* script */
517
+ const __vue_script__$1 = script$1;
518
+
519
+ /* template */
520
+ var __vue_render__$1 = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.tag,_vm._g(_vm._b({tag:"component",staticClass:"navbar-item",class:{
521
+ 'is-active': _vm.active
522
+ }},'component',_vm.$attrs,false),_vm.$listeners),[_vm._t("default")],2)};
523
+ var __vue_staticRenderFns__$1 = [];
524
+
525
+ /* style */
526
+ const __vue_inject_styles__$1 = undefined;
527
+ /* scoped */
528
+ const __vue_scope_id__$1 = undefined;
529
+ /* module identifier */
530
+ const __vue_module_identifier__$1 = undefined;
531
+ /* functional template */
532
+ const __vue_is_functional_template__$1 = false;
533
+ /* style inject */
534
+
535
+ /* style inject SSR */
536
+
537
+ /* style inject shadow dom */
538
+
539
+
540
+
541
+ const __vue_component__$1 = /*#__PURE__*/plugins.normalizeComponent(
542
+ { render: __vue_render__$1, staticRenderFns: __vue_staticRenderFns__$1 },
543
+ __vue_inject_styles__$1,
544
+ __vue_script__$1,
545
+ __vue_scope_id__$1,
546
+ __vue_is_functional_template__$1,
547
+ __vue_module_identifier__$1,
548
+ false,
549
+ undefined,
550
+ undefined,
551
+ undefined
552
+ );
553
+
554
+ var NavbarItem = __vue_component__$1;
555
+
556
+ //
557
+ var script = {
558
+ name: 'BNavbarDropdown',
559
+ directives: {
560
+ clickOutside: clickOutside
561
+ },
562
+ inheritAttrs: false,
563
+ props: {
564
+ label: String,
565
+ hoverable: Boolean,
566
+ active: Boolean,
567
+ right: Boolean,
568
+ arrowless: Boolean,
569
+ boxed: Boolean,
570
+ closeOnClick: {
571
+ type: Boolean,
572
+ default: true
573
+ },
574
+ collapsible: Boolean,
575
+ tag: {
576
+ type: String,
577
+ default: 'a'
578
+ }
579
+ },
580
+ data: function data() {
581
+ return {
582
+ newActive: this.active,
583
+ isHoverable: this.hoverable,
584
+ _isNavbarDropdown: true // Used internally by NavbarItem
585
+ };
586
+ },
587
+ watch: {
588
+ active: function active(value) {
589
+ this.newActive = value;
590
+ },
591
+ newActive: function newActive(value) {
592
+ this.$emit('active-change', value);
593
+ }
594
+ },
595
+ methods: {
596
+ toggleMenu: function toggleMenu() {
597
+ this.newActive = !this.newActive;
598
+ },
599
+ showMenu: function showMenu() {
600
+ this.newActive = true;
601
+ },
602
+ /**
603
+ * See naming convetion of navbaritem
604
+ */
605
+ closeMenu: function closeMenu() {
606
+ this.newActive = !this.closeOnClick;
607
+ if (this.hoverable && this.closeOnClick) {
608
+ this.isHoverable = false;
609
+ }
610
+ },
611
+ checkHoverable: function checkHoverable() {
612
+ if (this.hoverable) {
613
+ this.isHoverable = true;
614
+ }
615
+ }
616
+ }
617
+ };
618
+
619
+ /* script */
620
+ const __vue_script__ = script;
621
+
622
+ /* template */
623
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:"click-outside",rawName:"v-click-outside",value:(_vm.closeMenu),expression:"closeMenu"}],staticClass:"navbar-item has-dropdown",class:{
624
+ 'is-hoverable': _vm.isHoverable,
625
+ 'is-active': _vm.newActive
626
+ },on:{"mouseenter":_vm.checkHoverable}},[_c(_vm.tag,_vm._g(_vm._b({tag:"component",staticClass:"navbar-link",class:{
627
+ 'is-arrowless': _vm.arrowless,
628
+ 'is-active': _vm.newActive && _vm.collapsible
629
+ },attrs:{"aria-haspopup":"true","tabindex":"0"},on:{"click":function($event){$event.preventDefault();return _vm.toggleMenu($event)},"keyup":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"enter",13,$event.key,"Enter")){ return null; }return _vm.toggleMenu($event)}}},'component',_vm.$attrs,false),_vm.$listeners),[(_vm.label)?[_vm._v(_vm._s(_vm.label))]:_vm._t("label")],2),_c('div',{staticClass:"navbar-dropdown",class:{
630
+ 'is-right': _vm.right,
631
+ 'is-boxed': _vm.boxed,
632
+ 'is-hidden-touch': _vm.collapsible && !_vm.newActive
633
+ }},[_vm._t("default")],2)],1)};
634
+ var __vue_staticRenderFns__ = [];
635
+
636
+ /* style */
637
+ const __vue_inject_styles__ = undefined;
638
+ /* scoped */
639
+ const __vue_scope_id__ = undefined;
640
+ /* module identifier */
641
+ const __vue_module_identifier__ = undefined;
642
+ /* functional template */
643
+ const __vue_is_functional_template__ = false;
644
+ /* style inject */
645
+
646
+ /* style inject SSR */
647
+
648
+ /* style inject shadow dom */
649
+
650
+
651
+
652
+ const __vue_component__ = /*#__PURE__*/plugins.normalizeComponent(
653
+ { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
654
+ __vue_inject_styles__,
655
+ __vue_script__,
656
+ __vue_scope_id__,
657
+ __vue_is_functional_template__,
658
+ __vue_module_identifier__,
659
+ false,
660
+ undefined,
661
+ undefined,
662
+ undefined
663
+ );
664
+
665
+ var NavbarDropdown = __vue_component__;
666
+
667
+ var Plugin = {
668
+ install: function install(Vue) {
669
+ plugins.registerComponent(Vue, Navbar);
670
+ plugins.registerComponent(Vue, NavbarItem);
671
+ plugins.registerComponent(Vue, NavbarDropdown);
672
+ }
673
+ };
674
+ plugins.use(Plugin);
675
+
676
+ exports.BNavbar = Navbar;
677
+ exports.BNavbarDropdown = NavbarDropdown;
678
+ exports.BNavbarItem = NavbarItem;
679
+ exports["default"] = Plugin;