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,1043 @@
1
+ /*! Buefy v0.9.28 | MIT License | github.com/buefy/buefy */
2
+ (function (global, factory) {
3
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
4
+ typeof define === 'function' && define.amd ? define(['exports'], factory) :
5
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.Dropdown = {}));
6
+ })(this, (function (exports) { 'use strict';
7
+
8
+ function _toPrimitive(t, r) {
9
+ if ("object" != typeof t || !t) return t;
10
+ var e = t[Symbol.toPrimitive];
11
+ if (void 0 !== e) {
12
+ var i = e.call(t, r || "default");
13
+ if ("object" != typeof i) return i;
14
+ throw new TypeError("@@toPrimitive must return a primitive value.");
15
+ }
16
+ return ("string" === r ? String : Number)(t);
17
+ }
18
+ function _toPropertyKey(t) {
19
+ var i = _toPrimitive(t, "string");
20
+ return "symbol" == typeof i ? i : String(i);
21
+ }
22
+ function _typeof(o) {
23
+ "@babel/helpers - typeof";
24
+
25
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
26
+ return typeof o;
27
+ } : function (o) {
28
+ return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
29
+ }, _typeof(o);
30
+ }
31
+ function _defineProperty(obj, key, value) {
32
+ key = _toPropertyKey(key);
33
+ if (key in obj) {
34
+ Object.defineProperty(obj, key, {
35
+ value: value,
36
+ enumerable: true,
37
+ configurable: true,
38
+ writable: true
39
+ });
40
+ } else {
41
+ obj[key] = value;
42
+ }
43
+ return obj;
44
+ }
45
+ function _toConsumableArray(arr) {
46
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
47
+ }
48
+ function _arrayWithoutHoles(arr) {
49
+ if (Array.isArray(arr)) return _arrayLikeToArray(arr);
50
+ }
51
+ function _iterableToArray(iter) {
52
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
53
+ }
54
+ function _unsupportedIterableToArray(o, minLen) {
55
+ if (!o) return;
56
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
57
+ var n = Object.prototype.toString.call(o).slice(8, -1);
58
+ if (n === "Object" && o.constructor) n = o.constructor.name;
59
+ if (n === "Map" || n === "Set") return Array.from(o);
60
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
61
+ }
62
+ function _arrayLikeToArray(arr, len) {
63
+ if (len == null || len > arr.length) len = arr.length;
64
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
65
+ return arr2;
66
+ }
67
+ function _nonIterableSpread() {
68
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
69
+ }
70
+ function _createForOfIteratorHelper(o, allowArrayLike) {
71
+ var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
72
+ if (!it) {
73
+ if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
74
+ if (it) o = it;
75
+ var i = 0;
76
+ var F = function () {};
77
+ return {
78
+ s: F,
79
+ n: function () {
80
+ if (i >= o.length) return {
81
+ done: true
82
+ };
83
+ return {
84
+ done: false,
85
+ value: o[i++]
86
+ };
87
+ },
88
+ e: function (e) {
89
+ throw e;
90
+ },
91
+ f: F
92
+ };
93
+ }
94
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
95
+ }
96
+ var normalCompletion = true,
97
+ didErr = false,
98
+ err;
99
+ return {
100
+ s: function () {
101
+ it = it.call(o);
102
+ },
103
+ n: function () {
104
+ var step = it.next();
105
+ normalCompletion = step.done;
106
+ return step;
107
+ },
108
+ e: function (e) {
109
+ didErr = true;
110
+ err = e;
111
+ },
112
+ f: function () {
113
+ try {
114
+ if (!normalCompletion && it.return != null) it.return();
115
+ } finally {
116
+ if (didErr) throw err;
117
+ }
118
+ }
119
+ };
120
+ }
121
+
122
+ var findFocusable = function findFocusable(element) {
123
+ var programmatic = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
124
+ if (!element) {
125
+ return null;
126
+ }
127
+ if (programmatic) {
128
+ return element.querySelectorAll("*[tabindex=\"-1\"]");
129
+ }
130
+ return element.querySelectorAll("a[href]:not([tabindex=\"-1\"]),\n area[href],\n input:not([disabled]),\n select:not([disabled]),\n textarea:not([disabled]),\n button:not([disabled]),\n iframe,\n object,\n embed,\n *[tabindex]:not([tabindex=\"-1\"]),\n *[contenteditable]");
131
+ };
132
+ var onKeyDown;
133
+ var bind = function bind(el, _ref) {
134
+ var _ref$value = _ref.value,
135
+ value = _ref$value === void 0 ? true : _ref$value;
136
+ if (value) {
137
+ var focusable = findFocusable(el);
138
+ var focusableProg = findFocusable(el, true);
139
+ if (focusable && focusable.length > 0) {
140
+ onKeyDown = function onKeyDown(event) {
141
+ // Need to get focusable each time since it can change between key events
142
+ // ex. changing month in a datepicker
143
+ focusable = findFocusable(el);
144
+ focusableProg = findFocusable(el, true);
145
+ var firstFocusable = focusable[0];
146
+ var lastFocusable = focusable[focusable.length - 1];
147
+ if (event.target === firstFocusable && event.shiftKey && event.key === 'Tab') {
148
+ event.preventDefault();
149
+ lastFocusable.focus();
150
+ } else if ((event.target === lastFocusable || Array.from(focusableProg).indexOf(event.target) >= 0) && !event.shiftKey && event.key === 'Tab') {
151
+ event.preventDefault();
152
+ firstFocusable.focus();
153
+ }
154
+ };
155
+ el.addEventListener('keydown', onKeyDown);
156
+ }
157
+ }
158
+ };
159
+ var unbind = function unbind(el) {
160
+ el.removeEventListener('keydown', onKeyDown);
161
+ };
162
+ var directive = {
163
+ bind: bind,
164
+ unbind: unbind
165
+ };
166
+ var trapFocus = directive;
167
+
168
+ var config = {
169
+ defaultContainerElement: null,
170
+ defaultIconPack: 'mdi',
171
+ defaultIconComponent: null,
172
+ defaultIconPrev: 'chevron-left',
173
+ defaultIconNext: 'chevron-right',
174
+ defaultLocale: undefined,
175
+ defaultDialogConfirmText: null,
176
+ defaultDialogCancelText: null,
177
+ defaultSnackbarDuration: 3500,
178
+ defaultSnackbarPosition: null,
179
+ defaultToastDuration: 2000,
180
+ defaultToastPosition: null,
181
+ defaultNotificationDuration: 2000,
182
+ defaultNotificationPosition: null,
183
+ defaultTooltipType: 'is-primary',
184
+ defaultTooltipDelay: null,
185
+ defaultTooltipCloseDelay: null,
186
+ defaultSidebarDelay: null,
187
+ defaultInputAutocomplete: 'on',
188
+ defaultDateFormatter: null,
189
+ defaultDateParser: null,
190
+ defaultDateCreator: null,
191
+ defaultTimeCreator: null,
192
+ defaultDayNames: null,
193
+ defaultMonthNames: null,
194
+ defaultFirstDayOfWeek: null,
195
+ defaultUnselectableDaysOfWeek: null,
196
+ defaultTimeFormatter: null,
197
+ defaultTimeParser: null,
198
+ defaultModalCanCancel: ['escape', 'x', 'outside', 'button'],
199
+ defaultModalScroll: null,
200
+ defaultDatepickerMobileNative: true,
201
+ defaultTimepickerMobileNative: true,
202
+ defaultTimepickerMobileModal: true,
203
+ defaultNoticeQueue: true,
204
+ defaultInputHasCounter: true,
205
+ defaultTaginputHasCounter: true,
206
+ defaultUseHtml5Validation: true,
207
+ defaultDropdownMobileModal: true,
208
+ defaultFieldLabelPosition: null,
209
+ defaultDatepickerYearsRange: [-100, 10],
210
+ defaultDatepickerNearbyMonthDays: true,
211
+ defaultDatepickerNearbySelectableMonthDays: false,
212
+ defaultDatepickerShowWeekNumber: false,
213
+ defaultDatepickerWeekNumberClickable: false,
214
+ defaultDatepickerMobileModal: true,
215
+ defaultTrapFocus: true,
216
+ defaultAutoFocus: true,
217
+ defaultButtonRounded: false,
218
+ defaultSwitchRounded: true,
219
+ defaultCarouselInterval: 3500,
220
+ defaultTabsExpanded: false,
221
+ defaultTabsAnimated: true,
222
+ defaultTabsType: null,
223
+ defaultStatusIcon: true,
224
+ defaultProgrammaticPromise: false,
225
+ defaultLinkTags: ['a', 'button', 'input', 'router-link', 'nuxt-link', 'n-link', 'RouterLink', 'NuxtLink', 'NLink'],
226
+ defaultImageWebpFallback: null,
227
+ defaultImageLazy: true,
228
+ defaultImageResponsive: true,
229
+ defaultImageRatio: null,
230
+ defaultImageSrcsetFormatter: null,
231
+ defaultBreadcrumbTag: 'a',
232
+ defaultBreadcrumbAlign: 'is-left',
233
+ defaultBreadcrumbSeparator: '',
234
+ defaultBreadcrumbSize: 'is-medium',
235
+ customIconPacks: null
236
+ };
237
+
238
+ /**
239
+ * Checks if the flag is set
240
+ * @param val
241
+ * @param flag
242
+ * @returns {boolean}
243
+ */
244
+ function hasFlag(val, flag) {
245
+ return (val & flag) === flag;
246
+ }
247
+ function removeElement(el) {
248
+ if (typeof el.remove !== 'undefined') {
249
+ el.remove();
250
+ } else if (typeof el.parentNode !== 'undefined' && el.parentNode !== null) {
251
+ el.parentNode.removeChild(el);
252
+ }
253
+ }
254
+ function createAbsoluteElement(el) {
255
+ var root = document.createElement('div');
256
+ root.style.position = 'absolute';
257
+ root.style.left = '0px';
258
+ root.style.top = '0px';
259
+ root.style.width = '100%';
260
+ var wrapper = document.createElement('div');
261
+ root.appendChild(wrapper);
262
+ wrapper.appendChild(el);
263
+ document.body.appendChild(root);
264
+ return root;
265
+ }
266
+ function toCssWidth(width) {
267
+ return width === undefined ? null : isNaN(width) ? width : width + 'px';
268
+ }
269
+ function isCustomElement(vm) {
270
+ return 'shadowRoot' in vm.$root.$options;
271
+ }
272
+
273
+ var items = 1;
274
+ var sorted$1 = 3;
275
+ var ProviderParentMixin = (function (itemName) {
276
+ var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
277
+ var mixin = {
278
+ provide: function provide() {
279
+ return _defineProperty({}, 'b' + itemName, this);
280
+ }
281
+ };
282
+ if (hasFlag(flags, items)) {
283
+ mixin.data = function () {
284
+ return {
285
+ childItems: []
286
+ };
287
+ };
288
+ mixin.methods = {
289
+ _registerItem: function _registerItem(item) {
290
+ this.childItems.push(item);
291
+ },
292
+ _unregisterItem: function _unregisterItem(item) {
293
+ this.childItems = this.childItems.filter(function (i) {
294
+ return i !== item;
295
+ });
296
+ }
297
+ };
298
+ if (hasFlag(flags, sorted$1)) {
299
+ mixin.watch = {
300
+ /**
301
+ * When items are added/removed deep search in the elements default's slot
302
+ * And mark the items with their index
303
+ */
304
+ childItems: function childItems(items) {
305
+ if (items.length > 0 && this.$scopedSlots.default) {
306
+ var tag = items[0].$vnode.tag;
307
+ var index = 0;
308
+ var deepSearch = function deepSearch(children) {
309
+ var _iterator = _createForOfIteratorHelper(children),
310
+ _step;
311
+ try {
312
+ var _loop = function _loop() {
313
+ var child = _step.value;
314
+ if (child.tag === tag) {
315
+ // An item with the same tag will for sure be found
316
+ var it = items.find(function (i) {
317
+ return i.$vnode === child;
318
+ });
319
+ if (it) {
320
+ it.index = index++;
321
+ }
322
+ } else if (child.tag) {
323
+ var sub = child.componentInstance ? child.componentInstance.$scopedSlots.default ? child.componentInstance.$scopedSlots.default() : child.componentInstance.$children : child.children;
324
+ if (Array.isArray(sub) && sub.length > 0) {
325
+ deepSearch(sub.map(function (e) {
326
+ return e.$vnode;
327
+ }));
328
+ }
329
+ }
330
+ };
331
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
332
+ _loop();
333
+ }
334
+ } catch (err) {
335
+ _iterator.e(err);
336
+ } finally {
337
+ _iterator.f();
338
+ }
339
+ return false;
340
+ };
341
+ deepSearch(this.$scopedSlots.default());
342
+ }
343
+ }
344
+ };
345
+ mixin.computed = {
346
+ /**
347
+ * When items are added/removed sort them according to their position
348
+ */
349
+ sortedItems: function sortedItems() {
350
+ return this.childItems.slice().sort(function (i1, i2) {
351
+ return i1.index - i2.index;
352
+ });
353
+ }
354
+ };
355
+ }
356
+ }
357
+ return mixin;
358
+ });
359
+
360
+ var DEFAULT_CLOSE_OPTIONS = ['escape', 'outside'];
361
+ var script$1 = {
362
+ name: 'BDropdown',
363
+ directives: {
364
+ trapFocus: trapFocus
365
+ },
366
+ mixins: [ProviderParentMixin('dropdown')],
367
+ props: {
368
+ value: {
369
+ type: [String, Number, Boolean, Object, Array, Function],
370
+ default: null
371
+ },
372
+ disabled: Boolean,
373
+ inline: Boolean,
374
+ scrollable: Boolean,
375
+ maxHeight: {
376
+ type: [String, Number],
377
+ default: 200
378
+ },
379
+ position: {
380
+ type: String,
381
+ validator: function validator(value) {
382
+ return ['is-top-right', 'is-top-left', 'is-bottom-left', 'is-bottom-right'].indexOf(value) > -1;
383
+ }
384
+ },
385
+ triggers: {
386
+ type: Array,
387
+ default: function _default() {
388
+ return ['click'];
389
+ }
390
+ },
391
+ mobileModal: {
392
+ type: Boolean,
393
+ default: function _default() {
394
+ return config.defaultDropdownMobileModal;
395
+ }
396
+ },
397
+ ariaRole: {
398
+ type: String,
399
+ validator: function validator(value) {
400
+ return ['menu', 'list', 'dialog'].indexOf(value) > -1;
401
+ },
402
+ default: null
403
+ },
404
+ animation: {
405
+ type: String,
406
+ default: 'fade'
407
+ },
408
+ multiple: Boolean,
409
+ trapFocus: {
410
+ type: Boolean,
411
+ default: function _default() {
412
+ return config.defaultTrapFocus;
413
+ }
414
+ },
415
+ closeOnClick: {
416
+ type: Boolean,
417
+ default: true
418
+ },
419
+ canClose: {
420
+ type: [Array, Boolean],
421
+ default: true
422
+ },
423
+ expanded: Boolean,
424
+ appendToBody: Boolean,
425
+ appendToBodyCopyParent: Boolean,
426
+ triggerTabindex: {
427
+ type: Number,
428
+ default: 0
429
+ }
430
+ },
431
+ data: function data() {
432
+ return {
433
+ selected: this.value,
434
+ style: {},
435
+ isActive: false,
436
+ isHoverable: false,
437
+ maybeTap: false,
438
+ isTouchEnabled: false,
439
+ _bodyEl: undefined,
440
+ // Used to append to body
441
+ timeOutID: null,
442
+ timeOutID2: null
443
+ };
444
+ },
445
+ computed: {
446
+ rootClasses: function rootClasses() {
447
+ return [this.position, {
448
+ 'is-disabled': this.disabled,
449
+ 'is-hoverable': this.hoverable,
450
+ 'is-inline': this.inline,
451
+ 'is-active': this.isActive || this.inline,
452
+ 'is-mobile-modal': this.isMobileModal,
453
+ 'is-expanded': this.expanded,
454
+ 'is-touch-enabled': this.isTouchEnabled
455
+ }];
456
+ },
457
+ isMobileModal: function isMobileModal() {
458
+ return this.mobileModal && !this.inline;
459
+ },
460
+ cancelOptions: function cancelOptions() {
461
+ return typeof this.canClose === 'boolean' ? this.canClose ? DEFAULT_CLOSE_OPTIONS : [] : this.canClose;
462
+ },
463
+ contentStyle: function contentStyle() {
464
+ return {
465
+ maxHeight: this.scrollable ? toCssWidth(this.maxHeight) : null,
466
+ overflow: this.scrollable ? 'auto' : null
467
+ };
468
+ },
469
+ hoverable: function hoverable() {
470
+ return this.triggers.indexOf('hover') >= 0;
471
+ }
472
+ },
473
+ watch: {
474
+ /**
475
+ * When v-model is changed set the new selected item.
476
+ */
477
+ value: function value(_value) {
478
+ this.selected = _value;
479
+ },
480
+ /**
481
+ * Emit event when isActive value is changed.
482
+ *
483
+ * Also resets `isTouchEnabled` when it turns inactive.
484
+ */
485
+ isActive: function isActive(value) {
486
+ var _this = this;
487
+ this.$emit('active-change', value);
488
+ if (!value) {
489
+ // delays to reset the touch enabled flag until the dropdown
490
+ // menu disappears to avoid glitches
491
+ // also takes care of chattering, e.g., repeated quick taps,
492
+ // otherwise the flag may become inconsistent with the actual
493
+ // state of the dropdown menu
494
+ this.timeOutID = setTimeout(function () {
495
+ if (!_this.isActive) {
496
+ _this.isTouchEnabled = false;
497
+ }
498
+ }, 250);
499
+ }
500
+ this.handleScroll();
501
+ if (this.appendToBody) {
502
+ this.$nextTick(function () {
503
+ _this.updateAppendToBody();
504
+ });
505
+ }
506
+ },
507
+ isHoverable: function isHoverable(value) {
508
+ if (this.hoverable) {
509
+ this.$emit('active-change', value);
510
+ }
511
+ }
512
+ },
513
+ methods: {
514
+ handleScroll: function handleScroll() {
515
+ if (typeof window === 'undefined') return;
516
+ if (this.isMobileModal) {
517
+ if (this.isActive) {
518
+ document.documentElement.classList.add('is-clipped-touch');
519
+ } else {
520
+ document.documentElement.classList.remove('is-clipped-touch');
521
+ }
522
+ }
523
+ },
524
+ /**
525
+ * Click listener from DropdownItem.
526
+ * 1. Set new selected item.
527
+ * 2. Emit input event to update the user v-model.
528
+ * 3. Close the dropdown.
529
+ */
530
+ selectItem: function selectItem(value) {
531
+ if (this.multiple) {
532
+ if (this.selected) {
533
+ if (this.selected.indexOf(value) === -1) {
534
+ // Add value
535
+ this.selected = [].concat(_toConsumableArray(this.selected), [value]);
536
+ } else {
537
+ // Remove value
538
+ this.selected = this.selected.filter(function (val) {
539
+ return val !== value;
540
+ });
541
+ }
542
+ } else {
543
+ this.selected = [value];
544
+ }
545
+ this.$emit('change', this.selected);
546
+ } else {
547
+ if (this.selected !== value) {
548
+ this.selected = value;
549
+ this.$emit('change', this.selected);
550
+ }
551
+ }
552
+ this.$emit('input', this.selected);
553
+ if (!this.multiple) {
554
+ this.isActive = !this.closeOnClick;
555
+ if (this.hoverable && this.closeOnClick) {
556
+ this.isHoverable = false;
557
+ }
558
+ }
559
+ },
560
+ /**
561
+ * White-listed items to not close when clicked.
562
+ */
563
+ isInWhiteList: function isInWhiteList(el) {
564
+ if (el === this.$refs.dropdownMenu) return true;
565
+ if (el === this.$refs.trigger) return true;
566
+ // All chidren from dropdown
567
+ if (this.$refs.dropdownMenu !== undefined) {
568
+ var children = this.$refs.dropdownMenu.querySelectorAll('*');
569
+ var _iterator = _createForOfIteratorHelper(children),
570
+ _step;
571
+ try {
572
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
573
+ var child = _step.value;
574
+ if (el === child) {
575
+ return true;
576
+ }
577
+ }
578
+ } catch (err) {
579
+ _iterator.e(err);
580
+ } finally {
581
+ _iterator.f();
582
+ }
583
+ }
584
+ // All children from trigger
585
+ if (this.$refs.trigger !== undefined) {
586
+ var _children = this.$refs.trigger.querySelectorAll('*');
587
+ var _iterator2 = _createForOfIteratorHelper(_children),
588
+ _step2;
589
+ try {
590
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
591
+ var _child = _step2.value;
592
+ if (el === _child) {
593
+ return true;
594
+ }
595
+ }
596
+ } catch (err) {
597
+ _iterator2.e(err);
598
+ } finally {
599
+ _iterator2.f();
600
+ }
601
+ }
602
+ return false;
603
+ },
604
+ /**
605
+ * Close dropdown if clicked outside.
606
+ */
607
+ clickedOutside: function clickedOutside(event) {
608
+ if (this.cancelOptions.indexOf('outside') < 0) return;
609
+ if (this.inline) return;
610
+ var target = isCustomElement(this) ? event.composedPath()[0] : event.target;
611
+ if (!this.isInWhiteList(target)) this.isActive = false;
612
+ },
613
+ /**
614
+ * Keypress event that is bound to the document
615
+ */
616
+ keyPress: function keyPress(_ref) {
617
+ var key = _ref.key;
618
+ if (this.isActive && (key === 'Escape' || key === 'Esc')) {
619
+ if (this.cancelOptions.indexOf('escape') < 0) return;
620
+ this.isActive = false;
621
+ }
622
+ },
623
+ onClick: function onClick() {
624
+ // hover precedes
625
+ if (this.triggers.indexOf('hover') !== -1) return;
626
+ if (this.triggers.indexOf('click') < 0) return;
627
+ this.toggle();
628
+ },
629
+ onContextMenu: function onContextMenu() {
630
+ if (this.triggers.indexOf('contextmenu') < 0) return;
631
+ this.toggle();
632
+ },
633
+ onHover: function onHover() {
634
+ if (this.triggers.indexOf('hover') < 0) return;
635
+ // touch precedes
636
+ if (this.isTouchEnabled) return;
637
+ this.isHoverable = true;
638
+ },
639
+ // takes care of touch-enabled devices
640
+ // - does nothing if hover trigger is disabled
641
+ // - suppresses hover trigger by setting isTouchEnabled
642
+ // - handles only a tap; i.e., touchstart on the trigger immediately
643
+ // folowed by touchend
644
+ onTouchStart: function onTouchStart() {
645
+ this.maybeTap = true;
646
+ },
647
+ onTouchMove: function onTouchMove() {
648
+ this.maybeTap = false;
649
+ },
650
+ onTouchEnd: function onTouchEnd(e) {
651
+ if (this.triggers.indexOf('hover') === -1) return;
652
+ if (!this.maybeTap) return;
653
+ // tap on dropdown contents may happen without preventDefault
654
+ e.preventDefault();
655
+ this.maybeTap = false;
656
+ this.isTouchEnabled = true;
657
+ this.toggle();
658
+ },
659
+ onFocus: function onFocus() {
660
+ if (this.triggers.indexOf('focus') < 0) return;
661
+ this.toggle();
662
+ },
663
+ /**
664
+ * Toggle dropdown if it's not disabled.
665
+ */
666
+ toggle: function toggle() {
667
+ var _this2 = this;
668
+ if (this.disabled) return;
669
+ if (!this.isActive) {
670
+ // if not active, toggle after clickOutside event
671
+ // this fixes toggling programmatic
672
+ this.$nextTick(function () {
673
+ var value = !_this2.isActive;
674
+ _this2.isActive = value;
675
+ // Vue 2.6.x ???
676
+ _this2.timeOutID2 = setTimeout(function () {
677
+ return _this2.isActive = value;
678
+ });
679
+ });
680
+ } else {
681
+ this.isActive = !this.isActive;
682
+ }
683
+ },
684
+ updateAppendToBody: function updateAppendToBody() {
685
+ var dropdown = this.$refs.dropdown;
686
+ var dropdownMenu = this.$refs.dropdownMenu;
687
+ var trigger = this.$refs.trigger;
688
+ if (dropdownMenu && trigger) {
689
+ // update wrapper dropdown
690
+ var dropdownWrapper = this.$data._bodyEl.children[0];
691
+ dropdownWrapper.classList.forEach(function (item) {
692
+ return dropdownWrapper.classList.remove(item);
693
+ });
694
+ dropdownWrapper.classList.add('dropdown');
695
+ dropdownWrapper.classList.add('dropdown-menu-animation');
696
+ if (this.$vnode && this.$vnode.data && this.$vnode.data.staticClass) {
697
+ dropdownWrapper.classList.add(this.$vnode.data.staticClass);
698
+ }
699
+ this.rootClasses.forEach(function (item) {
700
+ // skip position prop
701
+ if (item && _typeof(item) === 'object') {
702
+ for (var key in item) {
703
+ if (item[key]) {
704
+ dropdownWrapper.classList.add(key);
705
+ }
706
+ }
707
+ }
708
+ });
709
+ if (this.appendToBodyCopyParent) {
710
+ var parentNode = this.$refs.dropdown.parentNode;
711
+ var parent = this.$data._bodyEl;
712
+ parent.classList.forEach(function (item) {
713
+ return parent.classList.remove(item);
714
+ });
715
+ parentNode.classList.forEach(function (item) {
716
+ parent.classList.add(item);
717
+ });
718
+ }
719
+ var rect = trigger.getBoundingClientRect();
720
+ var top = rect.top + window.scrollY;
721
+ var left = rect.left + window.scrollX;
722
+ if (!this.position || this.position.indexOf('bottom') >= 0) {
723
+ top += trigger.clientHeight;
724
+ } else {
725
+ top -= dropdownMenu.clientHeight;
726
+ }
727
+ if (this.position && this.position.indexOf('left') >= 0) {
728
+ left -= dropdownMenu.clientWidth - trigger.clientWidth;
729
+ }
730
+ this.style = {
731
+ position: 'absolute',
732
+ top: "".concat(top, "px"),
733
+ left: "".concat(left, "px"),
734
+ zIndex: '99',
735
+ width: this.expanded ? "".concat(dropdown.offsetWidth, "px") : undefined
736
+ };
737
+ }
738
+ }
739
+ },
740
+ mounted: function mounted() {
741
+ if (this.appendToBody) {
742
+ this.$data._bodyEl = createAbsoluteElement(this.$refs.dropdownMenu);
743
+ this.updateAppendToBody();
744
+ }
745
+ },
746
+ created: function created() {
747
+ if (typeof window !== 'undefined') {
748
+ document.addEventListener('click', this.clickedOutside);
749
+ document.addEventListener('keyup', this.keyPress);
750
+ }
751
+ },
752
+ beforeDestroy: function beforeDestroy() {
753
+ if (typeof window !== 'undefined') {
754
+ document.removeEventListener('click', this.clickedOutside);
755
+ document.removeEventListener('keyup', this.keyPress);
756
+ }
757
+ if (this.appendToBody) {
758
+ removeElement(this.$data._bodyEl);
759
+ }
760
+ clearTimeout(this.timeOutID);
761
+ clearTimeout(this.timeOutID2);
762
+ }
763
+ };
764
+
765
+ function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {
766
+ if (typeof shadowMode !== 'boolean') {
767
+ createInjectorSSR = createInjector;
768
+ createInjector = shadowMode;
769
+ shadowMode = false;
770
+ }
771
+ // Vue.extend constructor export interop.
772
+ const options = typeof script === 'function' ? script.options : script;
773
+ // render functions
774
+ if (template && template.render) {
775
+ options.render = template.render;
776
+ options.staticRenderFns = template.staticRenderFns;
777
+ options._compiled = true;
778
+ // functional template
779
+ if (isFunctionalTemplate) {
780
+ options.functional = true;
781
+ }
782
+ }
783
+ // scopedId
784
+ if (scopeId) {
785
+ options._scopeId = scopeId;
786
+ }
787
+ let hook;
788
+ if (moduleIdentifier) {
789
+ // server build
790
+ hook = function (context) {
791
+ // 2.3 injection
792
+ context =
793
+ context || // cached call
794
+ (this.$vnode && this.$vnode.ssrContext) || // stateful
795
+ (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional
796
+ // 2.2 with runInNewContext: true
797
+ if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
798
+ context = __VUE_SSR_CONTEXT__;
799
+ }
800
+ // inject component styles
801
+ if (style) {
802
+ style.call(this, createInjectorSSR(context));
803
+ }
804
+ // register component module identifier for async chunk inference
805
+ if (context && context._registeredComponents) {
806
+ context._registeredComponents.add(moduleIdentifier);
807
+ }
808
+ };
809
+ // used by ssr in case component is cached and beforeCreate
810
+ // never gets called
811
+ options._ssrRegister = hook;
812
+ }
813
+ else if (style) {
814
+ hook = shadowMode
815
+ ? function (context) {
816
+ style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));
817
+ }
818
+ : function (context) {
819
+ style.call(this, createInjector(context));
820
+ };
821
+ }
822
+ if (hook) {
823
+ if (options.functional) {
824
+ // register for functional component in vue file
825
+ const originalRender = options.render;
826
+ options.render = function renderWithStyleInjection(h, context) {
827
+ hook.call(context);
828
+ return originalRender(h, context);
829
+ };
830
+ }
831
+ else {
832
+ // inject component registration as beforeCreate hook
833
+ const existing = options.beforeCreate;
834
+ options.beforeCreate = existing ? [].concat(existing, hook) : [hook];
835
+ }
836
+ }
837
+ return script;
838
+ }
839
+
840
+ /* script */
841
+ const __vue_script__$1 = script$1;
842
+
843
+ /* template */
844
+ var __vue_render__$1 = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"dropdown",staticClass:"dropdown dropdown-menu-animation",class:_vm.rootClasses,on:{"mouseleave":function($event){_vm.isHoverable = false;}}},[(!_vm.inline)?_c('div',{ref:"trigger",staticClass:"dropdown-trigger",attrs:{"tabindex":_vm.disabled ? false : _vm.triggerTabindex,"aria-haspopup":"true"},on:{"click":_vm.onClick,"contextmenu":function($event){$event.preventDefault();return _vm.onContextMenu($event)},"mouseenter":_vm.onHover,"!focus":function($event){return _vm.onFocus($event)},"touchstart":_vm.onTouchStart,"touchmove":_vm.onTouchMove,"touchend":_vm.onTouchEnd}},[_vm._t("trigger",null,{"active":_vm.isActive})],2):_vm._e(),_c('transition',{attrs:{"name":_vm.animation}},[(_vm.isMobileModal)?_c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.isActive),expression:"isActive"}],staticClass:"background",attrs:{"aria-hidden":!_vm.isActive}}):_vm._e()]),_c('transition',{attrs:{"name":_vm.animation}},[_c('div',{directives:[{name:"show",rawName:"v-show",value:((!_vm.disabled && (_vm.isActive || _vm.isHoverable)) || _vm.inline),expression:"(!disabled && (isActive || isHoverable)) || inline"},{name:"trap-focus",rawName:"v-trap-focus",value:(_vm.trapFocus),expression:"trapFocus"}],ref:"dropdownMenu",staticClass:"dropdown-menu",style:(_vm.style),attrs:{"aria-hidden":!_vm.isActive}},[_c('div',{staticClass:"dropdown-content",style:(_vm.contentStyle),attrs:{"role":_vm.ariaRole,"aria-modal":!_vm.inline}},[_vm._t("default")],2)])])],1)};
845
+ var __vue_staticRenderFns__$1 = [];
846
+
847
+ /* style */
848
+ const __vue_inject_styles__$1 = undefined;
849
+ /* scoped */
850
+ const __vue_scope_id__$1 = undefined;
851
+ /* module identifier */
852
+ const __vue_module_identifier__$1 = undefined;
853
+ /* functional template */
854
+ const __vue_is_functional_template__$1 = false;
855
+ /* style inject */
856
+
857
+ /* style inject SSR */
858
+
859
+ /* style inject shadow dom */
860
+
861
+
862
+
863
+ const __vue_component__$1 = /*#__PURE__*/normalizeComponent(
864
+ { render: __vue_render__$1, staticRenderFns: __vue_staticRenderFns__$1 },
865
+ __vue_inject_styles__$1,
866
+ __vue_script__$1,
867
+ __vue_scope_id__$1,
868
+ __vue_is_functional_template__$1,
869
+ __vue_module_identifier__$1,
870
+ false,
871
+ undefined,
872
+ undefined,
873
+ undefined
874
+ );
875
+
876
+ var Dropdown = __vue_component__$1;
877
+
878
+ var sorted = 1;
879
+ var optional = 2;
880
+ var InjectedChildMixin = (function (parentItemName) {
881
+ var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
882
+ var mixin = {
883
+ inject: {
884
+ parent: {
885
+ from: 'b' + parentItemName,
886
+ default: false
887
+ }
888
+ },
889
+ created: function created() {
890
+ if (!this.parent) {
891
+ if (!hasFlag(flags, optional)) {
892
+ this.$destroy();
893
+ throw new Error('You should wrap ' + this.$options.name + ' in a ' + parentItemName);
894
+ }
895
+ } else if (this.parent._registerItem) {
896
+ this.parent._registerItem(this);
897
+ }
898
+ },
899
+ beforeDestroy: function beforeDestroy() {
900
+ if (this.parent && this.parent._unregisterItem) {
901
+ this.parent._unregisterItem(this);
902
+ }
903
+ }
904
+ };
905
+ if (hasFlag(flags, sorted)) {
906
+ mixin.data = function () {
907
+ return {
908
+ index: null
909
+ };
910
+ };
911
+ }
912
+ return mixin;
913
+ });
914
+
915
+ //
916
+ var script = {
917
+ name: 'BDropdownItem',
918
+ mixins: [InjectedChildMixin('dropdown')],
919
+ props: {
920
+ value: {
921
+ type: [String, Number, Boolean, Object, Array, Function],
922
+ default: null
923
+ },
924
+ separator: Boolean,
925
+ disabled: Boolean,
926
+ custom: Boolean,
927
+ focusable: {
928
+ type: Boolean,
929
+ default: true
930
+ },
931
+ paddingless: Boolean,
932
+ hasLink: Boolean,
933
+ ariaRole: {
934
+ type: String,
935
+ default: ''
936
+ }
937
+ },
938
+ computed: {
939
+ anchorClasses: function anchorClasses() {
940
+ return {
941
+ 'is-disabled': this.parent.disabled || this.disabled,
942
+ 'is-paddingless': this.paddingless,
943
+ 'is-active': this.isActive
944
+ };
945
+ },
946
+ itemClasses: function itemClasses() {
947
+ return {
948
+ 'dropdown-item': !this.hasLink,
949
+ 'is-disabled': this.disabled,
950
+ 'is-paddingless': this.paddingless,
951
+ 'is-active': this.isActive,
952
+ 'has-link': this.hasLink
953
+ };
954
+ },
955
+ ariaRoleItem: function ariaRoleItem() {
956
+ return this.ariaRole === 'menuitem' || this.ariaRole === 'listitem' ? this.ariaRole : null;
957
+ },
958
+ isClickable: function isClickable() {
959
+ return !this.parent.disabled && !this.separator && !this.disabled && !this.custom;
960
+ },
961
+ isActive: function isActive() {
962
+ if (this.parent.selected === null) return false;
963
+ if (this.parent.multiple) return this.parent.selected.indexOf(this.value) >= 0;
964
+ return this.value === this.parent.selected;
965
+ },
966
+ isFocusable: function isFocusable() {
967
+ return this.hasLink ? false : this.focusable;
968
+ }
969
+ },
970
+ methods: {
971
+ /**
972
+ * Click listener, select the item.
973
+ */
974
+ selectItem: function selectItem() {
975
+ if (!this.isClickable) return;
976
+ this.parent.selectItem(this.value);
977
+ this.$emit('click');
978
+ }
979
+ }
980
+ };
981
+
982
+ /* script */
983
+ const __vue_script__ = script;
984
+
985
+ /* template */
986
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.separator)?_c('hr',{staticClass:"dropdown-divider"}):(!_vm.custom && !_vm.hasLink)?_c('a',{staticClass:"dropdown-item",class:_vm.anchorClasses,attrs:{"role":_vm.ariaRoleItem,"tabindex":_vm.isFocusable ? 0 : null},on:{"click":_vm.selectItem}},[_vm._t("default")],2):_c('div',{class:_vm.itemClasses,attrs:{"role":_vm.ariaRoleItem,"tabindex":_vm.isFocusable ? 0 : null},on:{"click":_vm.selectItem}},[_vm._t("default")],2)};
987
+ var __vue_staticRenderFns__ = [];
988
+
989
+ /* style */
990
+ const __vue_inject_styles__ = undefined;
991
+ /* scoped */
992
+ const __vue_scope_id__ = undefined;
993
+ /* module identifier */
994
+ const __vue_module_identifier__ = undefined;
995
+ /* functional template */
996
+ const __vue_is_functional_template__ = false;
997
+ /* style inject */
998
+
999
+ /* style inject SSR */
1000
+
1001
+ /* style inject shadow dom */
1002
+
1003
+
1004
+
1005
+ const __vue_component__ = /*#__PURE__*/normalizeComponent(
1006
+ { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
1007
+ __vue_inject_styles__,
1008
+ __vue_script__,
1009
+ __vue_scope_id__,
1010
+ __vue_is_functional_template__,
1011
+ __vue_module_identifier__,
1012
+ false,
1013
+ undefined,
1014
+ undefined,
1015
+ undefined
1016
+ );
1017
+
1018
+ var DropdownItem = __vue_component__;
1019
+
1020
+ var use = function use(plugin) {
1021
+ if (typeof window !== 'undefined' && window.Vue) {
1022
+ window.Vue.use(plugin);
1023
+ }
1024
+ };
1025
+ var registerComponent = function registerComponent(Vue, component) {
1026
+ Vue.component(component.name, component);
1027
+ };
1028
+
1029
+ var Plugin = {
1030
+ install: function install(Vue) {
1031
+ registerComponent(Vue, Dropdown);
1032
+ registerComponent(Vue, DropdownItem);
1033
+ }
1034
+ };
1035
+ use(Plugin);
1036
+
1037
+ exports.BDropdown = Dropdown;
1038
+ exports.BDropdownItem = DropdownItem;
1039
+ exports["default"] = Plugin;
1040
+
1041
+ Object.defineProperty(exports, '__esModule', { value: true });
1042
+
1043
+ }));