@gitlab/duo-ui 3.0.0 → 3.0.1

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 (575) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/components/chat/components/duo_chat_context/duo_chat_context_item_details_modal/duo_chat_context_item_details_modal.js +3 -3
  3. package/dist/components/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu.js +10 -10
  4. package/dist/components/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu_category_items.js +1 -1
  5. package/dist/components/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu_search_item.js +5 -15
  6. package/dist/components/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu_search_items.js +9 -9
  7. package/dist/components/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu_search_items_loading.js +2 -2
  8. package/dist/components/chat/components/duo_chat_context/duo_chat_context_item_popover/duo_chat_context_item_popover.js +3 -29
  9. package/dist/components/chat/components/duo_chat_context/duo_chat_context_item_selections/duo_chat_context_item_selections.js +7 -8
  10. package/dist/components/chat/components/duo_chat_context/utils.js +1 -102
  11. package/dist/components/chat/components/duo_chat_conversation/duo_chat_conversation.js +5 -5
  12. package/dist/components/chat/components/duo_chat_loader/duo_chat_loader.js +4 -4
  13. package/dist/components/chat/components/duo_chat_message/duo_chat_message.js +13 -13
  14. package/dist/components/chat/components/duo_chat_message_sources/duo_chat_message_sources.js +2 -2
  15. package/dist/components/chat/components/duo_chat_predefined_prompts/duo_chat_predefined_prompts.js +1 -1
  16. package/dist/components/chat/duo_chat.js +19 -19
  17. package/dist/tailwind.css +1 -1
  18. package/dist/tailwind.css.map +1 -1
  19. package/package.json +2 -5
  20. package/src/components/chat/components/duo_chat_context/duo_chat_context_item_details_modal/duo_chat_context_item_details_modal.vue +3 -3
  21. package/src/components/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu.vue +12 -12
  22. package/src/components/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu_category_items.vue +1 -1
  23. package/src/components/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu_search_item.vue +17 -24
  24. package/src/components/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu_search_items.vue +9 -9
  25. package/src/components/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu_search_items_loading.vue +2 -2
  26. package/src/components/chat/components/duo_chat_context/duo_chat_context_item_popover/duo_chat_context_item_popover.vue +25 -55
  27. package/src/components/chat/components/duo_chat_context/duo_chat_context_item_selections/duo_chat_context_item_selections.vue +10 -11
  28. package/src/components/chat/components/duo_chat_context/utils.js +0 -114
  29. package/src/components/chat/components/duo_chat_conversation/duo_chat_conversation.md +1 -1
  30. package/src/components/chat/components/duo_chat_conversation/duo_chat_conversation.vue +5 -5
  31. package/src/components/chat/components/duo_chat_loader/duo_chat_loader.vue +7 -7
  32. package/src/components/chat/components/duo_chat_message/duo_chat_message.md +2 -2
  33. package/src/components/chat/components/duo_chat_message/duo_chat_message.vue +14 -14
  34. package/src/components/chat/components/duo_chat_message_sources/duo_chat_message_sources.vue +2 -2
  35. package/src/components/chat/components/duo_chat_predefined_prompts/duo_chat_predefined_prompts.vue +1 -1
  36. package/src/components/chat/duo_chat.md +4 -4
  37. package/src/components/chat/duo_chat.vue +27 -30
  38. package/translations.js +36 -43
  39. package/src/vendor/bootstrap/LICENSE +0 -22
  40. package/src/vendor/bootstrap/scss/_alert.scss +0 -52
  41. package/src/vendor/bootstrap/scss/_badge.scss +0 -54
  42. package/src/vendor/bootstrap/scss/_breadcrumb.scss +0 -42
  43. package/src/vendor/bootstrap/scss/_button-group.scss +0 -163
  44. package/src/vendor/bootstrap/scss/_buttons.scss +0 -142
  45. package/src/vendor/bootstrap/scss/_card.scss +0 -286
  46. package/src/vendor/bootstrap/scss/_carousel.scss +0 -200
  47. package/src/vendor/bootstrap/scss/_close.scss +0 -40
  48. package/src/vendor/bootstrap/scss/_code.scss +0 -48
  49. package/src/vendor/bootstrap/scss/_custom-forms.scss +0 -526
  50. package/src/vendor/bootstrap/scss/_dropdown.scss +0 -192
  51. package/src/vendor/bootstrap/scss/_forms.scss +0 -347
  52. package/src/vendor/bootstrap/scss/_functions.scss +0 -190
  53. package/src/vendor/bootstrap/scss/_grid.scss +0 -73
  54. package/src/vendor/bootstrap/scss/_images.scss +0 -42
  55. package/src/vendor/bootstrap/scss/_input-group.scss +0 -211
  56. package/src/vendor/bootstrap/scss/_jumbotron.scss +0 -17
  57. package/src/vendor/bootstrap/scss/_list-group.scss +0 -154
  58. package/src/vendor/bootstrap/scss/_media.scss +0 -8
  59. package/src/vendor/bootstrap/scss/_mixins.scss +0 -47
  60. package/src/vendor/bootstrap/scss/_modal.scss +0 -240
  61. package/src/vendor/bootstrap/scss/_nav.scss +0 -125
  62. package/src/vendor/bootstrap/scss/_navbar.scss +0 -332
  63. package/src/vendor/bootstrap/scss/_pagination.scss +0 -74
  64. package/src/vendor/bootstrap/scss/_popover.scss +0 -170
  65. package/src/vendor/bootstrap/scss/_print.scss +0 -132
  66. package/src/vendor/bootstrap/scss/_progress.scss +0 -47
  67. package/src/vendor/bootstrap/scss/_reboot.scss +0 -484
  68. package/src/vendor/bootstrap/scss/_root.scss +0 -19
  69. package/src/vendor/bootstrap/scss/_spinners.scss +0 -65
  70. package/src/vendor/bootstrap/scss/_tables.scss +0 -185
  71. package/src/vendor/bootstrap/scss/_toasts.scss +0 -46
  72. package/src/vendor/bootstrap/scss/_tooltip.scss +0 -115
  73. package/src/vendor/bootstrap/scss/_transitions.scss +0 -26
  74. package/src/vendor/bootstrap/scss/_type.scss +0 -125
  75. package/src/vendor/bootstrap/scss/_utilities.scss +0 -18
  76. package/src/vendor/bootstrap/scss/_variables.scss +0 -1149
  77. package/src/vendor/bootstrap/scss/bootstrap-grid.scss +0 -30
  78. package/src/vendor/bootstrap/scss/bootstrap-reboot.scss +0 -12
  79. package/src/vendor/bootstrap/scss/bootstrap.scss +0 -44
  80. package/src/vendor/bootstrap/scss/mixins/_alert.scss +0 -13
  81. package/src/vendor/bootstrap/scss/mixins/_background-variant.scss +0 -23
  82. package/src/vendor/bootstrap/scss/mixins/_badge.scss +0 -17
  83. package/src/vendor/bootstrap/scss/mixins/_border-radius.scss +0 -76
  84. package/src/vendor/bootstrap/scss/mixins/_box-shadow.scss +0 -20
  85. package/src/vendor/bootstrap/scss/mixins/_breakpoints.scss +0 -123
  86. package/src/vendor/bootstrap/scss/mixins/_buttons.scss +0 -110
  87. package/src/vendor/bootstrap/scss/mixins/_caret.scss +0 -62
  88. package/src/vendor/bootstrap/scss/mixins/_clearfix.scss +0 -7
  89. package/src/vendor/bootstrap/scss/mixins/_deprecate.scss +0 -10
  90. package/src/vendor/bootstrap/scss/mixins/_float.scss +0 -14
  91. package/src/vendor/bootstrap/scss/mixins/_forms.scss +0 -195
  92. package/src/vendor/bootstrap/scss/mixins/_gradients.scss +0 -45
  93. package/src/vendor/bootstrap/scss/mixins/_grid-framework.scss +0 -80
  94. package/src/vendor/bootstrap/scss/mixins/_grid.scss +0 -69
  95. package/src/vendor/bootstrap/scss/mixins/_hover.scss +0 -37
  96. package/src/vendor/bootstrap/scss/mixins/_image.scss +0 -36
  97. package/src/vendor/bootstrap/scss/mixins/_list-group.scss +0 -21
  98. package/src/vendor/bootstrap/scss/mixins/_lists.scss +0 -7
  99. package/src/vendor/bootstrap/scss/mixins/_nav-divider.scss +0 -11
  100. package/src/vendor/bootstrap/scss/mixins/_pagination.scss +0 -22
  101. package/src/vendor/bootstrap/scss/mixins/_reset-text.scss +0 -17
  102. package/src/vendor/bootstrap/scss/mixins/_resize.scss +0 -6
  103. package/src/vendor/bootstrap/scss/mixins/_screen-reader.scss +0 -34
  104. package/src/vendor/bootstrap/scss/mixins/_size.scss +0 -7
  105. package/src/vendor/bootstrap/scss/mixins/_table-row.scss +0 -39
  106. package/src/vendor/bootstrap/scss/mixins/_text-emphasis.scss +0 -17
  107. package/src/vendor/bootstrap/scss/mixins/_text-hide.scss +0 -11
  108. package/src/vendor/bootstrap/scss/mixins/_text-truncate.scss +0 -8
  109. package/src/vendor/bootstrap/scss/mixins/_transition.scss +0 -26
  110. package/src/vendor/bootstrap/scss/mixins/_visibility.scss +0 -8
  111. package/src/vendor/bootstrap/scss/utilities/_align.scss +0 -8
  112. package/src/vendor/bootstrap/scss/utilities/_background.scss +0 -19
  113. package/src/vendor/bootstrap/scss/utilities/_borders.scss +0 -75
  114. package/src/vendor/bootstrap/scss/utilities/_clearfix.scss +0 -3
  115. package/src/vendor/bootstrap/scss/utilities/_display.scss +0 -26
  116. package/src/vendor/bootstrap/scss/utilities/_embed.scss +0 -39
  117. package/src/vendor/bootstrap/scss/utilities/_flex.scss +0 -51
  118. package/src/vendor/bootstrap/scss/utilities/_float.scss +0 -11
  119. package/src/vendor/bootstrap/scss/utilities/_interactions.scss +0 -5
  120. package/src/vendor/bootstrap/scss/utilities/_overflow.scss +0 -5
  121. package/src/vendor/bootstrap/scss/utilities/_position.scss +0 -32
  122. package/src/vendor/bootstrap/scss/utilities/_screenreaders.scss +0 -11
  123. package/src/vendor/bootstrap/scss/utilities/_shadows.scss +0 -6
  124. package/src/vendor/bootstrap/scss/utilities/_sizing.scss +0 -20
  125. package/src/vendor/bootstrap/scss/utilities/_spacing.scss +0 -73
  126. package/src/vendor/bootstrap/scss/utilities/_stretched-link.scss +0 -19
  127. package/src/vendor/bootstrap/scss/utilities/_text.scss +0 -72
  128. package/src/vendor/bootstrap/scss/utilities/_visibility.scss +0 -13
  129. package/src/vendor/bootstrap/scss/vendor/_rfs.scss +0 -228
  130. package/src/vendor/bootstrap-vue/LICENSE +0 -21
  131. package/src/vendor/bootstrap-vue/nuxt/index.js +0 -164
  132. package/src/vendor/bootstrap-vue/nuxt/plugin.template.js +0 -29
  133. package/src/vendor/bootstrap-vue/package.json +0 -201
  134. package/src/vendor/bootstrap-vue/src/_utilities.scss +0 -13
  135. package/src/vendor/bootstrap-vue/src/_variables.scss +0 -111
  136. package/src/vendor/bootstrap-vue/src/browser.js +0 -9
  137. package/src/vendor/bootstrap-vue/src/bv-config.d.ts +0 -4
  138. package/src/vendor/bootstrap-vue/src/bv-config.js +0 -6
  139. package/src/vendor/bootstrap-vue/src/components/badge/README.md +0 -126
  140. package/src/vendor/bootstrap-vue/src/components/badge/badge.js +0 -55
  141. package/src/vendor/bootstrap-vue/src/components/badge/badge.spec.js +0 -141
  142. package/src/vendor/bootstrap-vue/src/components/badge/index.d.ts +0 -7
  143. package/src/vendor/bootstrap-vue/src/components/badge/index.js +0 -3
  144. package/src/vendor/bootstrap-vue/src/components/badge/package.json +0 -29
  145. package/src/vendor/bootstrap-vue/src/components/breadcrumb/README.md +0 -93
  146. package/src/vendor/bootstrap-vue/src/components/breadcrumb/breadcrumb-item.js +0 -27
  147. package/src/vendor/bootstrap-vue/src/components/breadcrumb/breadcrumb-item.spec.js +0 -123
  148. package/src/vendor/bootstrap-vue/src/components/breadcrumb/breadcrumb-link.js +0 -43
  149. package/src/vendor/bootstrap-vue/src/components/breadcrumb/breadcrumb-link.spec.js +0 -117
  150. package/src/vendor/bootstrap-vue/src/components/breadcrumb/breadcrumb.js +0 -52
  151. package/src/vendor/bootstrap-vue/src/components/breadcrumb/breadcrumb.spec.js +0 -183
  152. package/src/vendor/bootstrap-vue/src/components/breadcrumb/index.d.ts +0 -13
  153. package/src/vendor/bootstrap-vue/src/components/breadcrumb/index.js +0 -5
  154. package/src/vendor/bootstrap-vue/src/components/breadcrumb/package.json +0 -62
  155. package/src/vendor/bootstrap-vue/src/components/button/README.md +0 -281
  156. package/src/vendor/bootstrap-vue/src/components/button/button-close.js +0 -65
  157. package/src/vendor/bootstrap-vue/src/components/button/button-close.spec.js +0 -210
  158. package/src/vendor/bootstrap-vue/src/components/button/button.js +0 -179
  159. package/src/vendor/bootstrap-vue/src/components/button/button.spec.js +0 -385
  160. package/src/vendor/bootstrap-vue/src/components/button/index.d.ts +0 -10
  161. package/src/vendor/bootstrap-vue/src/components/button/index.js +0 -4
  162. package/src/vendor/bootstrap-vue/src/components/button/package.json +0 -105
  163. package/src/vendor/bootstrap-vue/src/components/button-group/README.md +0 -112
  164. package/src/vendor/bootstrap-vue/src/components/button-group/button-group.js +0 -42
  165. package/src/vendor/bootstrap-vue/src/components/button-group/button-group.spec.js +0 -98
  166. package/src/vendor/bootstrap-vue/src/components/button-group/index.d.ts +0 -7
  167. package/src/vendor/bootstrap-vue/src/components/button-group/index.js +0 -3
  168. package/src/vendor/bootstrap-vue/src/components/button-group/package.json +0 -29
  169. package/src/vendor/bootstrap-vue/src/components/collapse/README.md +0 -321
  170. package/src/vendor/bootstrap-vue/src/components/collapse/collapse.js +0 -272
  171. package/src/vendor/bootstrap-vue/src/components/collapse/collapse.spec.js +0 -558
  172. package/src/vendor/bootstrap-vue/src/components/collapse/helpers/bv-collapse.js +0 -88
  173. package/src/vendor/bootstrap-vue/src/components/collapse/index.d.ts +0 -9
  174. package/src/vendor/bootstrap-vue/src/components/collapse/index.js +0 -3
  175. package/src/vendor/bootstrap-vue/src/components/collapse/package.json +0 -111
  176. package/src/vendor/bootstrap-vue/src/components/dropdown/README.md +0 -730
  177. package/src/vendor/bootstrap-vue/src/components/dropdown/_dropdown-form.scss +0 -38
  178. package/src/vendor/bootstrap-vue/src/components/dropdown/_dropdown-text.scss +0 -17
  179. package/src/vendor/bootstrap-vue/src/components/dropdown/_dropdown.scss +0 -58
  180. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-divider.js +0 -36
  181. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-divider.spec.js +0 -58
  182. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-form.js +0 -47
  183. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-form.spec.js +0 -110
  184. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-group.js +0 -76
  185. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-group.spec.js +0 -94
  186. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-header.js +0 -46
  187. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-header.spec.js +0 -73
  188. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-item-button.js +0 -93
  189. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-item-button.spec.js +0 -117
  190. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-item.js +0 -87
  191. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-item.spec.js +0 -147
  192. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-text.js +0 -42
  193. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-text.spec.js +0 -59
  194. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown.js +0 -202
  195. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown.spec.js +0 -1121
  196. package/src/vendor/bootstrap-vue/src/components/dropdown/index.d.ts +0 -32
  197. package/src/vendor/bootstrap-vue/src/components/dropdown/index.js +0 -19
  198. package/src/vendor/bootstrap-vue/src/components/dropdown/index.scss +0 -3
  199. package/src/vendor/bootstrap-vue/src/components/dropdown/package.json +0 -368
  200. package/src/vendor/bootstrap-vue/src/components/form/README.md +0 -370
  201. package/src/vendor/bootstrap-vue/src/components/form/form-invalid-feedback.js +0 -51
  202. package/src/vendor/bootstrap-vue/src/components/form/form-invalid-feedback.spec.js +0 -170
  203. package/src/vendor/bootstrap-vue/src/components/form/form-text.js +0 -40
  204. package/src/vendor/bootstrap-vue/src/components/form/form-text.spec.js +0 -93
  205. package/src/vendor/bootstrap-vue/src/components/form/form-valid-feedback.js +0 -51
  206. package/src/vendor/bootstrap-vue/src/components/form/form-valid-feedback.spec.js +0 -157
  207. package/src/vendor/bootstrap-vue/src/components/form/form.js +0 -41
  208. package/src/vendor/bootstrap-vue/src/components/form/form.spec.js +0 -97
  209. package/src/vendor/bootstrap-vue/src/components/form/index.d.ts +0 -16
  210. package/src/vendor/bootstrap-vue/src/components/form/index.js +0 -7
  211. package/src/vendor/bootstrap-vue/src/components/form/package.json +0 -112
  212. package/src/vendor/bootstrap-vue/src/components/form-checkbox/README.md +0 -862
  213. package/src/vendor/bootstrap-vue/src/components/form-checkbox/_form-checkbox-group.scss +0 -2
  214. package/src/vendor/bootstrap-vue/src/components/form-checkbox/_form-checkbox.scss +0 -125
  215. package/src/vendor/bootstrap-vue/src/components/form-checkbox/form-checkbox-group.js +0 -42
  216. package/src/vendor/bootstrap-vue/src/components/form-checkbox/form-checkbox-group.spec.js +0 -642
  217. package/src/vendor/bootstrap-vue/src/components/form-checkbox/form-checkbox.js +0 -132
  218. package/src/vendor/bootstrap-vue/src/components/form-checkbox/form-checkbox.spec.js +0 -1331
  219. package/src/vendor/bootstrap-vue/src/components/form-checkbox/index.d.ts +0 -10
  220. package/src/vendor/bootstrap-vue/src/components/form-checkbox/index.js +0 -4
  221. package/src/vendor/bootstrap-vue/src/components/form-checkbox/index.scss +0 -2
  222. package/src/vendor/bootstrap-vue/src/components/form-checkbox/package.json +0 -172
  223. package/src/vendor/bootstrap-vue/src/components/form-group/README.md +0 -337
  224. package/src/vendor/bootstrap-vue/src/components/form-group/form-group.js +0 -403
  225. package/src/vendor/bootstrap-vue/src/components/form-group/form-group.spec.js +0 -477
  226. package/src/vendor/bootstrap-vue/src/components/form-group/index.d.ts +0 -7
  227. package/src/vendor/bootstrap-vue/src/components/form-group/index.js +0 -3
  228. package/src/vendor/bootstrap-vue/src/components/form-group/package.json +0 -183
  229. package/src/vendor/bootstrap-vue/src/components/form-input/README.md +0 -612
  230. package/src/vendor/bootstrap-vue/src/components/form-input/_form-input.scss +0 -217
  231. package/src/vendor/bootstrap-vue/src/components/form-input/form-input.js +0 -168
  232. package/src/vendor/bootstrap-vue/src/components/form-input/form-input.spec.js +0 -986
  233. package/src/vendor/bootstrap-vue/src/components/form-input/index.d.ts +0 -9
  234. package/src/vendor/bootstrap-vue/src/components/form-input/index.js +0 -3
  235. package/src/vendor/bootstrap-vue/src/components/form-input/index.scss +0 -1
  236. package/src/vendor/bootstrap-vue/src/components/form-input/package.json +0 -135
  237. package/src/vendor/bootstrap-vue/src/components/form-radio/README.md +0 -566
  238. package/src/vendor/bootstrap-vue/src/components/form-radio/_form-radio-group.scss +0 -3
  239. package/src/vendor/bootstrap-vue/src/components/form-radio/_form-radio.scss +0 -47
  240. package/src/vendor/bootstrap-vue/src/components/form-radio/form-radio-group.js +0 -30
  241. package/src/vendor/bootstrap-vue/src/components/form-radio/form-radio-group.spec.js +0 -469
  242. package/src/vendor/bootstrap-vue/src/components/form-radio/form-radio.js +0 -28
  243. package/src/vendor/bootstrap-vue/src/components/form-radio/form-radio.spec.js +0 -952
  244. package/src/vendor/bootstrap-vue/src/components/form-radio/index.d.ts +0 -10
  245. package/src/vendor/bootstrap-vue/src/components/form-radio/index.js +0 -4
  246. package/src/vendor/bootstrap-vue/src/components/form-radio/index.scss +0 -2
  247. package/src/vendor/bootstrap-vue/src/components/form-radio/package.json +0 -162
  248. package/src/vendor/bootstrap-vue/src/components/form-select/README.md +0 -504
  249. package/src/vendor/bootstrap-vue/src/components/form-select/form-select-option-group.js +0 -48
  250. package/src/vendor/bootstrap-vue/src/components/form-select/form-select-option-group.spec.js +0 -138
  251. package/src/vendor/bootstrap-vue/src/components/form-select/form-select-option.js +0 -35
  252. package/src/vendor/bootstrap-vue/src/components/form-select/form-select-option.spec.js +0 -75
  253. package/src/vendor/bootstrap-vue/src/components/form-select/form-select.js +0 -153
  254. package/src/vendor/bootstrap-vue/src/components/form-select/form-select.spec.js +0 -723
  255. package/src/vendor/bootstrap-vue/src/components/form-select/helpers/mixin-options.js +0 -56
  256. package/src/vendor/bootstrap-vue/src/components/form-select/index.d.ts +0 -13
  257. package/src/vendor/bootstrap-vue/src/components/form-select/index.js +0 -5
  258. package/src/vendor/bootstrap-vue/src/components/form-select/package.json +0 -132
  259. package/src/vendor/bootstrap-vue/src/components/form-textarea/README.md +0 -453
  260. package/src/vendor/bootstrap-vue/src/components/form-textarea/form-textarea.js +0 -226
  261. package/src/vendor/bootstrap-vue/src/components/form-textarea/form-textarea.spec.js +0 -1000
  262. package/src/vendor/bootstrap-vue/src/components/form-textarea/index.d.ts +0 -9
  263. package/src/vendor/bootstrap-vue/src/components/form-textarea/index.js +0 -3
  264. package/src/vendor/bootstrap-vue/src/components/form-textarea/package.json +0 -122
  265. package/src/vendor/bootstrap-vue/src/components/index.d.ts +0 -31
  266. package/src/vendor/bootstrap-vue/src/components/index.js +0 -11
  267. package/src/vendor/bootstrap-vue/src/components/index.scss +0 -12
  268. package/src/vendor/bootstrap-vue/src/components/input-group/README.md +0 -334
  269. package/src/vendor/bootstrap-vue/src/components/input-group/_input-group.scss +0 -29
  270. package/src/vendor/bootstrap-vue/src/components/input-group/index.d.ts +0 -19
  271. package/src/vendor/bootstrap-vue/src/components/input-group/index.js +0 -7
  272. package/src/vendor/bootstrap-vue/src/components/input-group/index.scss +0 -1
  273. package/src/vendor/bootstrap-vue/src/components/input-group/input-group-addon.js +0 -43
  274. package/src/vendor/bootstrap-vue/src/components/input-group/input-group-append.js +0 -31
  275. package/src/vendor/bootstrap-vue/src/components/input-group/input-group-append.spec.js +0 -84
  276. package/src/vendor/bootstrap-vue/src/components/input-group/input-group-prepend.js +0 -31
  277. package/src/vendor/bootstrap-vue/src/components/input-group/input-group-prepend.spec.js +0 -84
  278. package/src/vendor/bootstrap-vue/src/components/input-group/input-group-text.js +0 -31
  279. package/src/vendor/bootstrap-vue/src/components/input-group/input-group-text.spec.js +0 -45
  280. package/src/vendor/bootstrap-vue/src/components/input-group/input-group.js +0 -73
  281. package/src/vendor/bootstrap-vue/src/components/input-group/input-group.spec.js +0 -153
  282. package/src/vendor/bootstrap-vue/src/components/input-group/package.json +0 -109
  283. package/src/vendor/bootstrap-vue/src/components/layout/README.md +0 -791
  284. package/src/vendor/bootstrap-vue/src/components/layout/col.js +0 -154
  285. package/src/vendor/bootstrap-vue/src/components/layout/col.spec.js +0 -192
  286. package/src/vendor/bootstrap-vue/src/components/layout/form-row.js +0 -31
  287. package/src/vendor/bootstrap-vue/src/components/layout/form-row.spec.js +0 -45
  288. package/src/vendor/bootstrap-vue/src/components/layout/index.d.ts +0 -10
  289. package/src/vendor/bootstrap-vue/src/components/layout/index.js +0 -4
  290. package/src/vendor/bootstrap-vue/src/components/layout/package.json +0 -99
  291. package/src/vendor/bootstrap-vue/src/components/link/README.md +0 -76
  292. package/src/vendor/bootstrap-vue/src/components/link/index.d.ts +0 -10
  293. package/src/vendor/bootstrap-vue/src/components/link/index.js +0 -3
  294. package/src/vendor/bootstrap-vue/src/components/link/link.js +0 -212
  295. package/src/vendor/bootstrap-vue/src/components/link/link.spec.js +0 -434
  296. package/src/vendor/bootstrap-vue/src/components/link/package.json +0 -57
  297. package/src/vendor/bootstrap-vue/src/components/modal/MODIFICATIONS.md +0 -27
  298. package/src/vendor/bootstrap-vue/src/components/modal/README.md +0 -1068
  299. package/src/vendor/bootstrap-vue/src/components/modal/_modal.scss +0 -5
  300. package/src/vendor/bootstrap-vue/src/components/modal/helpers/bv-modal-event.class.js +0 -22
  301. package/src/vendor/bootstrap-vue/src/components/modal/helpers/bv-modal-event.class.spec.js +0 -82
  302. package/src/vendor/bootstrap-vue/src/components/modal/helpers/modal-manager.js +0 -219
  303. package/src/vendor/bootstrap-vue/src/components/modal/index.d.ts +0 -82
  304. package/src/vendor/bootstrap-vue/src/components/modal/index.js +0 -3
  305. package/src/vendor/bootstrap-vue/src/components/modal/index.scss +0 -1
  306. package/src/vendor/bootstrap-vue/src/components/modal/modal.js +0 -981
  307. package/src/vendor/bootstrap-vue/src/components/modal/modal.spec.js +0 -1418
  308. package/src/vendor/bootstrap-vue/src/components/modal/package.json +0 -548
  309. package/src/vendor/bootstrap-vue/src/components/nav/README.md +0 -480
  310. package/src/vendor/bootstrap-vue/src/components/nav/_nav-item-dropdown.scss +0 -1
  311. package/src/vendor/bootstrap-vue/src/components/nav/index.d.ts +0 -17
  312. package/src/vendor/bootstrap-vue/src/components/nav/index.js +0 -5
  313. package/src/vendor/bootstrap-vue/src/components/nav/index.scss +0 -1
  314. package/src/vendor/bootstrap-vue/src/components/nav/nav-item-dropdown.js +0 -123
  315. package/src/vendor/bootstrap-vue/src/components/nav/nav-item-dropdown.spec.js +0 -268
  316. package/src/vendor/bootstrap-vue/src/components/nav/nav-item.js +0 -49
  317. package/src/vendor/bootstrap-vue/src/components/nav/nav-item.spec.js +0 -127
  318. package/src/vendor/bootstrap-vue/src/components/nav/nav.js +0 -60
  319. package/src/vendor/bootstrap-vue/src/components/nav/nav.spec.js +0 -244
  320. package/src/vendor/bootstrap-vue/src/components/nav/package.json +0 -190
  321. package/src/vendor/bootstrap-vue/src/components/navbar/README.md +0 -333
  322. package/src/vendor/bootstrap-vue/src/components/navbar/_navbar.scss +0 -1
  323. package/src/vendor/bootstrap-vue/src/components/navbar/index.d.ts +0 -10
  324. package/src/vendor/bootstrap-vue/src/components/navbar/index.js +0 -4
  325. package/src/vendor/bootstrap-vue/src/components/navbar/index.scss +0 -1
  326. package/src/vendor/bootstrap-vue/src/components/navbar/navbar-brand.js +0 -42
  327. package/src/vendor/bootstrap-vue/src/components/navbar/navbar-brand.spec.js +0 -50
  328. package/src/vendor/bootstrap-vue/src/components/navbar/navbar.js +0 -78
  329. package/src/vendor/bootstrap-vue/src/components/navbar/navbar.spec.js +0 -130
  330. package/src/vendor/bootstrap-vue/src/components/navbar/package.json +0 -54
  331. package/src/vendor/bootstrap-vue/src/components/popover/README.md +0 -919
  332. package/src/vendor/bootstrap-vue/src/components/popover/_popover.scss +0 -113
  333. package/src/vendor/bootstrap-vue/src/components/popover/helpers/bv-popover-template.js +0 -50
  334. package/src/vendor/bootstrap-vue/src/components/popover/helpers/bv-popover.js +0 -28
  335. package/src/vendor/bootstrap-vue/src/components/popover/index.d.ts +0 -7
  336. package/src/vendor/bootstrap-vue/src/components/popover/index.js +0 -3
  337. package/src/vendor/bootstrap-vue/src/components/popover/index.scss +0 -1
  338. package/src/vendor/bootstrap-vue/src/components/popover/package.json +0 -261
  339. package/src/vendor/bootstrap-vue/src/components/popover/popover.js +0 -46
  340. package/src/vendor/bootstrap-vue/src/components/popover/popover.spec.js +0 -199
  341. package/src/vendor/bootstrap-vue/src/components/progress/MODIFICATIONS.md +0 -23
  342. package/src/vendor/bootstrap-vue/src/components/progress/README.md +0 -363
  343. package/src/vendor/bootstrap-vue/src/components/progress/index.d.ts +0 -10
  344. package/src/vendor/bootstrap-vue/src/components/progress/index.js +0 -4
  345. package/src/vendor/bootstrap-vue/src/components/progress/package.json +0 -109
  346. package/src/vendor/bootstrap-vue/src/components/progress/progress-bar.js +0 -133
  347. package/src/vendor/bootstrap-vue/src/components/progress/progress-bar.spec.js +0 -270
  348. package/src/vendor/bootstrap-vue/src/components/progress/progress.js +0 -57
  349. package/src/vendor/bootstrap-vue/src/components/progress/progress.spec.js +0 -71
  350. package/src/vendor/bootstrap-vue/src/components/table/README.md +0 -3157
  351. package/src/vendor/bootstrap-vue/src/components/table/_table.scss +0 -474
  352. package/src/vendor/bootstrap-vue/src/components/table/helpers/constants.js +0 -30
  353. package/src/vendor/bootstrap-vue/src/components/table/helpers/default-sort-compare.js +0 -60
  354. package/src/vendor/bootstrap-vue/src/components/table/helpers/default-sort-compare.spec.js +0 -112
  355. package/src/vendor/bootstrap-vue/src/components/table/helpers/filter-event.js +0 -38
  356. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-bottom-row.js +0 -44
  357. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-busy.js +0 -88
  358. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-caption.js +0 -49
  359. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-colgroup.js +0 -27
  360. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-empty.js +0 -105
  361. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-filtering.js +0 -271
  362. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-items.js +0 -146
  363. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-pagination.js +0 -38
  364. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-provider.js +0 -188
  365. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-selectable.js +0 -241
  366. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-sorting.js +0 -299
  367. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-stacked.js +0 -33
  368. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-table-renderer.js +0 -209
  369. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody-row.js +0 -360
  370. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody.js +0 -258
  371. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-tfoot.js +0 -55
  372. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-thead.js +0 -238
  373. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-top-row.js +0 -37
  374. package/src/vendor/bootstrap-vue/src/components/table/helpers/normalize-fields.js +0 -71
  375. package/src/vendor/bootstrap-vue/src/components/table/helpers/normalize-fields.spec.js +0 -93
  376. package/src/vendor/bootstrap-vue/src/components/table/helpers/sanitize-row.js +0 -39
  377. package/src/vendor/bootstrap-vue/src/components/table/helpers/stringify-record-values.js +0 -11
  378. package/src/vendor/bootstrap-vue/src/components/table/helpers/text-selection-active.js +0 -13
  379. package/src/vendor/bootstrap-vue/src/components/table/index.d.ts +0 -237
  380. package/src/vendor/bootstrap-vue/src/components/table/index.js +0 -23
  381. package/src/vendor/bootstrap-vue/src/components/table/index.scss +0 -1
  382. package/src/vendor/bootstrap-vue/src/components/table/package.json +0 -1763
  383. package/src/vendor/bootstrap-vue/src/components/table/table-busy.spec.js +0 -150
  384. package/src/vendor/bootstrap-vue/src/components/table/table-caption.spec.js +0 -176
  385. package/src/vendor/bootstrap-vue/src/components/table/table-colgroup.spec.js +0 -81
  386. package/src/vendor/bootstrap-vue/src/components/table/table-filtering.spec.js +0 -409
  387. package/src/vendor/bootstrap-vue/src/components/table/table-item-formatter.spec.js +0 -56
  388. package/src/vendor/bootstrap-vue/src/components/table/table-lite.js +0 -63
  389. package/src/vendor/bootstrap-vue/src/components/table/table-lite.spec.js +0 -682
  390. package/src/vendor/bootstrap-vue/src/components/table/table-pagination.spec.js +0 -133
  391. package/src/vendor/bootstrap-vue/src/components/table/table-primarykey.spec.js +0 -83
  392. package/src/vendor/bootstrap-vue/src/components/table/table-provider.spec.js +0 -411
  393. package/src/vendor/bootstrap-vue/src/components/table/table-row-details.spec.js +0 -459
  394. package/src/vendor/bootstrap-vue/src/components/table/table-selectable.spec.js +0 -1182
  395. package/src/vendor/bootstrap-vue/src/components/table/table-simple.js +0 -50
  396. package/src/vendor/bootstrap-vue/src/components/table/table-simple.spec.js +0 -206
  397. package/src/vendor/bootstrap-vue/src/components/table/table-sorting.spec.js +0 -858
  398. package/src/vendor/bootstrap-vue/src/components/table/table-sticky-column.spec.js +0 -377
  399. package/src/vendor/bootstrap-vue/src/components/table/table-tbody-bottom-row.spec.js +0 -94
  400. package/src/vendor/bootstrap-vue/src/components/table/table-tbody-row-events.spec.js +0 -529
  401. package/src/vendor/bootstrap-vue/src/components/table/table-tbody-top-row.spec.js +0 -88
  402. package/src/vendor/bootstrap-vue/src/components/table/table-tbody-transition.spec.js +0 -83
  403. package/src/vendor/bootstrap-vue/src/components/table/table-tfoot-custom.spec.js +0 -91
  404. package/src/vendor/bootstrap-vue/src/components/table/table-tfoot-events.spec.js +0 -137
  405. package/src/vendor/bootstrap-vue/src/components/table/table-thead-events.spec.js +0 -155
  406. package/src/vendor/bootstrap-vue/src/components/table/table-thead-top.spec.js +0 -96
  407. package/src/vendor/bootstrap-vue/src/components/table/table.js +0 -89
  408. package/src/vendor/bootstrap-vue/src/components/table/table.spec.js +0 -692
  409. package/src/vendor/bootstrap-vue/src/components/table/tbody.js +0 -103
  410. package/src/vendor/bootstrap-vue/src/components/table/td.js +0 -195
  411. package/src/vendor/bootstrap-vue/src/components/table/tfoot.js +0 -95
  412. package/src/vendor/bootstrap-vue/src/components/table/th.js +0 -25
  413. package/src/vendor/bootstrap-vue/src/components/table/thead.js +0 -98
  414. package/src/vendor/bootstrap-vue/src/components/table/tr.js +0 -122
  415. package/src/vendor/bootstrap-vue/src/components/tabs/README.md +0 -575
  416. package/src/vendor/bootstrap-vue/src/components/tabs/index.d.ts +0 -13
  417. package/src/vendor/bootstrap-vue/src/components/tabs/index.js +0 -4
  418. package/src/vendor/bootstrap-vue/src/components/tabs/package.json +0 -205
  419. package/src/vendor/bootstrap-vue/src/components/tabs/tab.js +0 -197
  420. package/src/vendor/bootstrap-vue/src/components/tabs/tab.spec.js +0 -330
  421. package/src/vendor/bootstrap-vue/src/components/tabs/tabs.js +0 -688
  422. package/src/vendor/bootstrap-vue/src/components/tabs/tabs.spec.js +0 -836
  423. package/src/vendor/bootstrap-vue/src/components/toast/README.md +0 -656
  424. package/src/vendor/bootstrap-vue/src/components/toast/_toast.scss +0 -79
  425. package/src/vendor/bootstrap-vue/src/components/toast/_toaster-transition.scss +0 -45
  426. package/src/vendor/bootstrap-vue/src/components/toast/_toaster.scss +0 -108
  427. package/src/vendor/bootstrap-vue/src/components/toast/helpers/bv-toast.js +0 -208
  428. package/src/vendor/bootstrap-vue/src/components/toast/helpers/bv-toast.spec.js +0 -131
  429. package/src/vendor/bootstrap-vue/src/components/toast/index.d.ts +0 -70
  430. package/src/vendor/bootstrap-vue/src/components/toast/index.js +0 -12
  431. package/src/vendor/bootstrap-vue/src/components/toast/index.scss +0 -3
  432. package/src/vendor/bootstrap-vue/src/components/toast/package.json +0 -188
  433. package/src/vendor/bootstrap-vue/src/components/toast/toast.js +0 -454
  434. package/src/vendor/bootstrap-vue/src/components/toast/toast.spec.js +0 -346
  435. package/src/vendor/bootstrap-vue/src/components/toast/toaster.js +0 -139
  436. package/src/vendor/bootstrap-vue/src/components/toast/toaster.spec.js +0 -77
  437. package/src/vendor/bootstrap-vue/src/components/tooltip/README.md +0 -559
  438. package/src/vendor/bootstrap-vue/src/components/tooltip/_tooltip.scss +0 -86
  439. package/src/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-popper.js +0 -248
  440. package/src/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip-template.js +0 -130
  441. package/src/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip.js +0 -977
  442. package/src/vendor/bootstrap-vue/src/components/tooltip/index.d.ts +0 -7
  443. package/src/vendor/bootstrap-vue/src/components/tooltip/index.js +0 -3
  444. package/src/vendor/bootstrap-vue/src/components/tooltip/index.scss +0 -1
  445. package/src/vendor/bootstrap-vue/src/components/tooltip/package.json +0 -258
  446. package/src/vendor/bootstrap-vue/src/components/tooltip/tooltip.js +0 -316
  447. package/src/vendor/bootstrap-vue/src/components/tooltip/tooltip.spec.js +0 -1529
  448. package/src/vendor/bootstrap-vue/src/components/transition/bv-transition.js +0 -83
  449. package/src/vendor/bootstrap-vue/src/components/transition/package.json +0 -5
  450. package/src/vendor/bootstrap-vue/src/components/transporter/package.json +0 -5
  451. package/src/vendor/bootstrap-vue/src/components/transporter/transporter.js +0 -202
  452. package/src/vendor/bootstrap-vue/src/components/transporter/transporter.spec.js +0 -85
  453. package/src/vendor/bootstrap-vue/src/constants/classes.js +0 -1
  454. package/src/vendor/bootstrap-vue/src/constants/components.js +0 -77
  455. package/src/vendor/bootstrap-vue/src/constants/config.js +0 -4
  456. package/src/vendor/bootstrap-vue/src/constants/env.js +0 -57
  457. package/src/vendor/bootstrap-vue/src/constants/events.js +0 -57
  458. package/src/vendor/bootstrap-vue/src/constants/key-codes.js +0 -10
  459. package/src/vendor/bootstrap-vue/src/constants/popper.js +0 -8
  460. package/src/vendor/bootstrap-vue/src/constants/props.js +0 -26
  461. package/src/vendor/bootstrap-vue/src/constants/regex.js +0 -33
  462. package/src/vendor/bootstrap-vue/src/constants/safe-types.js +0 -17
  463. package/src/vendor/bootstrap-vue/src/constants/slots.js +0 -32
  464. package/src/vendor/bootstrap-vue/src/directives/modal/index.d.ts +0 -8
  465. package/src/vendor/bootstrap-vue/src/directives/modal/index.js +0 -3
  466. package/src/vendor/bootstrap-vue/src/directives/modal/modal.js +0 -115
  467. package/src/vendor/bootstrap-vue/src/directives/modal/modal.spec.js +0 -191
  468. package/src/vendor/bootstrap-vue/src/directives/toggle/README.md +0 -146
  469. package/src/vendor/bootstrap-vue/src/directives/toggle/index.d.ts +0 -7
  470. package/src/vendor/bootstrap-vue/src/directives/toggle/index.js +0 -3
  471. package/src/vendor/bootstrap-vue/src/directives/toggle/package.json +0 -26
  472. package/src/vendor/bootstrap-vue/src/directives/toggle/toggle.js +0 -274
  473. package/src/vendor/bootstrap-vue/src/directives/toggle/toggle.spec.js +0 -452
  474. package/src/vendor/bootstrap-vue/src/directives/tooltip/README.md +0 -521
  475. package/src/vendor/bootstrap-vue/src/directives/tooltip/index.d.ts +0 -7
  476. package/src/vendor/bootstrap-vue/src/directives/tooltip/index.js +0 -3
  477. package/src/vendor/bootstrap-vue/src/directives/tooltip/package.json +0 -131
  478. package/src/vendor/bootstrap-vue/src/directives/tooltip/tooltip.js +0 -270
  479. package/src/vendor/bootstrap-vue/src/directives/tooltip/tooltip.spec.js +0 -223
  480. package/src/vendor/bootstrap-vue/src/directives/visible/README.md +0 -244
  481. package/src/vendor/bootstrap-vue/src/directives/visible/index.d.ts +0 -7
  482. package/src/vendor/bootstrap-vue/src/directives/visible/index.js +0 -3
  483. package/src/vendor/bootstrap-vue/src/directives/visible/package.json +0 -24
  484. package/src/vendor/bootstrap-vue/src/directives/visible/visible.js +0 -184
  485. package/src/vendor/bootstrap-vue/src/index.d.ts +0 -61
  486. package/src/vendor/bootstrap-vue/src/index.js +0 -187
  487. package/src/vendor/bootstrap-vue/src/index.scss +0 -11
  488. package/src/vendor/bootstrap-vue/src/mixins/attrs.js +0 -19
  489. package/src/vendor/bootstrap-vue/src/mixins/attrs.spec.js +0 -194
  490. package/src/vendor/bootstrap-vue/src/mixins/click-out.js +0 -72
  491. package/src/vendor/bootstrap-vue/src/mixins/click-out.spec.js +0 -52
  492. package/src/vendor/bootstrap-vue/src/mixins/dropdown.js +0 -460
  493. package/src/vendor/bootstrap-vue/src/mixins/focus-in.js +0 -44
  494. package/src/vendor/bootstrap-vue/src/mixins/focus-in.spec.js +0 -53
  495. package/src/vendor/bootstrap-vue/src/mixins/form-control.js +0 -51
  496. package/src/vendor/bootstrap-vue/src/mixins/form-custom.js +0 -24
  497. package/src/vendor/bootstrap-vue/src/mixins/form-options.js +0 -73
  498. package/src/vendor/bootstrap-vue/src/mixins/form-radio-check-group.js +0 -162
  499. package/src/vendor/bootstrap-vue/src/mixins/form-radio-check.js +0 -332
  500. package/src/vendor/bootstrap-vue/src/mixins/form-selection.js +0 -60
  501. package/src/vendor/bootstrap-vue/src/mixins/form-size.js +0 -24
  502. package/src/vendor/bootstrap-vue/src/mixins/form-state.js +0 -47
  503. package/src/vendor/bootstrap-vue/src/mixins/form-text.js +0 -250
  504. package/src/vendor/bootstrap-vue/src/mixins/form-validity.js +0 -48
  505. package/src/vendor/bootstrap-vue/src/mixins/has-listener.js +0 -26
  506. package/src/vendor/bootstrap-vue/src/mixins/id.js +0 -51
  507. package/src/vendor/bootstrap-vue/src/mixins/listen-on-document.js +0 -64
  508. package/src/vendor/bootstrap-vue/src/mixins/listen-on-document.spec.js +0 -117
  509. package/src/vendor/bootstrap-vue/src/mixins/listen-on-root.js +0 -121
  510. package/src/vendor/bootstrap-vue/src/mixins/listen-on-root.spec.js +0 -77
  511. package/src/vendor/bootstrap-vue/src/mixins/listen-on-window.js +0 -64
  512. package/src/vendor/bootstrap-vue/src/mixins/listen-on-window.spec.js +0 -115
  513. package/src/vendor/bootstrap-vue/src/mixins/listeners.js +0 -24
  514. package/src/vendor/bootstrap-vue/src/mixins/listeners.spec.js +0 -245
  515. package/src/vendor/bootstrap-vue/src/mixins/model.js +0 -5
  516. package/src/vendor/bootstrap-vue/src/mixins/normalize-slot.js +0 -30
  517. package/src/vendor/bootstrap-vue/src/mixins/scoped-style.js +0 -14
  518. package/src/vendor/bootstrap-vue/src/mixins/use-parent.js +0 -12
  519. package/src/vendor/bootstrap-vue/src/utils/array.js +0 -17
  520. package/src/vendor/bootstrap-vue/src/utils/bv-event.class.js +0 -60
  521. package/src/vendor/bootstrap-vue/src/utils/bv-event.class.spec.js +0 -66
  522. package/src/vendor/bootstrap-vue/src/utils/cache.js +0 -37
  523. package/src/vendor/bootstrap-vue/src/utils/clone-deep.js +0 -15
  524. package/src/vendor/bootstrap-vue/src/utils/clone-deep.spec.js +0 -70
  525. package/src/vendor/bootstrap-vue/src/utils/config-set.js +0 -80
  526. package/src/vendor/bootstrap-vue/src/utils/config.js +0 -72
  527. package/src/vendor/bootstrap-vue/src/utils/config.spec.js +0 -169
  528. package/src/vendor/bootstrap-vue/src/utils/create-new-child-component.js +0 -10
  529. package/src/vendor/bootstrap-vue/src/utils/css-escape.js +0 -73
  530. package/src/vendor/bootstrap-vue/src/utils/css-escape.spec.js +0 -82
  531. package/src/vendor/bootstrap-vue/src/utils/dom.js +0 -308
  532. package/src/vendor/bootstrap-vue/src/utils/dom.spec.js +0 -291
  533. package/src/vendor/bootstrap-vue/src/utils/element-to-vue-instance-registry.js +0 -40
  534. package/src/vendor/bootstrap-vue/src/utils/env.js +0 -15
  535. package/src/vendor/bootstrap-vue/src/utils/events.js +0 -71
  536. package/src/vendor/bootstrap-vue/src/utils/events.spec.js +0 -41
  537. package/src/vendor/bootstrap-vue/src/utils/get-event-root.js +0 -3
  538. package/src/vendor/bootstrap-vue/src/utils/get-instance-from-directive.js +0 -4
  539. package/src/vendor/bootstrap-vue/src/utils/get-scope-id.js +0 -6
  540. package/src/vendor/bootstrap-vue/src/utils/get.js +0 -64
  541. package/src/vendor/bootstrap-vue/src/utils/get.spec.js +0 -109
  542. package/src/vendor/bootstrap-vue/src/utils/html.js +0 -8
  543. package/src/vendor/bootstrap-vue/src/utils/identity.js +0 -1
  544. package/src/vendor/bootstrap-vue/src/utils/inspect.js +0 -51
  545. package/src/vendor/bootstrap-vue/src/utils/inspect.spec.js +0 -251
  546. package/src/vendor/bootstrap-vue/src/utils/locale.js +0 -34
  547. package/src/vendor/bootstrap-vue/src/utils/loose-equal.js +0 -57
  548. package/src/vendor/bootstrap-vue/src/utils/loose-equal.spec.js +0 -203
  549. package/src/vendor/bootstrap-vue/src/utils/loose-index-of.js +0 -11
  550. package/src/vendor/bootstrap-vue/src/utils/math.js +0 -11
  551. package/src/vendor/bootstrap-vue/src/utils/memoize.js +0 -10
  552. package/src/vendor/bootstrap-vue/src/utils/model.js +0 -29
  553. package/src/vendor/bootstrap-vue/src/utils/noop.js +0 -1
  554. package/src/vendor/bootstrap-vue/src/utils/normalize-slot.js +0 -44
  555. package/src/vendor/bootstrap-vue/src/utils/normalize-slot.spec.js +0 -63
  556. package/src/vendor/bootstrap-vue/src/utils/number.js +0 -19
  557. package/src/vendor/bootstrap-vue/src/utils/number.spec.js +0 -72
  558. package/src/vendor/bootstrap-vue/src/utils/object.js +0 -61
  559. package/src/vendor/bootstrap-vue/src/utils/object.spec.js +0 -61
  560. package/src/vendor/bootstrap-vue/src/utils/observe-dom.js +0 -77
  561. package/src/vendor/bootstrap-vue/src/utils/plugins.js +0 -169
  562. package/src/vendor/bootstrap-vue/src/utils/props.js +0 -92
  563. package/src/vendor/bootstrap-vue/src/utils/props.spec.js +0 -112
  564. package/src/vendor/bootstrap-vue/src/utils/router.js +0 -145
  565. package/src/vendor/bootstrap-vue/src/utils/router.spec.js +0 -248
  566. package/src/vendor/bootstrap-vue/src/utils/safe-vue-instance.js +0 -13
  567. package/src/vendor/bootstrap-vue/src/utils/stable-sort.js +0 -31
  568. package/src/vendor/bootstrap-vue/src/utils/string.js +0 -59
  569. package/src/vendor/bootstrap-vue/src/utils/string.spec.js +0 -65
  570. package/src/vendor/bootstrap-vue/src/utils/stringify-object-values.js +0 -31
  571. package/src/vendor/bootstrap-vue/src/utils/stringify-object-values.spec.js +0 -47
  572. package/src/vendor/bootstrap-vue/src/utils/warn.js +0 -42
  573. package/src/vendor/bootstrap-vue/src/utils/warn.spec.js +0 -54
  574. package/src/vendor/bootstrap-vue/src/vue-injections.d.ts +0 -13
  575. package/src/vendor/bootstrap-vue/src/vue.js +0 -126
@@ -1,1121 +0,0 @@
1
- import { mount } from '@vue/test-utils'
2
- import { waitNT, waitRAF } from '../../../tests/utils'
3
- import { BDropdown } from './dropdown'
4
- import { BDropdownItem } from './dropdown-item'
5
-
6
- describe('dropdown', () => {
7
- const originalCreateRange = document.createRange
8
- const origGetBCR = Element.prototype.getBoundingClientRect
9
-
10
- beforeEach(() => {
11
- // https://github.com/FezVrasta/popper.js/issues/478#issuecomment-407422016
12
- // Hack to make Popper not bork out during tests
13
- // Note popper still does not do any positioning calculation in JSDOM though
14
- // So we cannot test actual positioning of the menu, just detect when it is open
15
- document.createRange = () => ({
16
- setStart: () => {},
17
- setEnd: () => {},
18
- commonAncestorContainer: {
19
- nodeName: 'BODY',
20
- ownerDocument: document
21
- }
22
- })
23
- // Mock `getBoundingClientRect()` so that the `isVisible(el)` test returns `true`
24
- // Needed for keyboard navigation testing
25
- Element.prototype.getBoundingClientRect = jest.fn(() => ({
26
- width: 24,
27
- height: 24,
28
- top: 0,
29
- left: 0,
30
- bottom: 0,
31
- right: 0
32
- }))
33
- })
34
-
35
- afterEach(() => {
36
- // Reset overrides
37
- document.createRange = originalCreateRange
38
- Element.prototype.getBoundingClientRect = origGetBCR
39
- })
40
-
41
- it('has expected default structure', async () => {
42
- const wrapper = mount(BDropdown, {
43
- attachTo: document.body
44
- })
45
-
46
- expect(wrapper.element.tagName).toBe('DIV')
47
- expect(wrapper.vm).toBeDefined()
48
-
49
- // Wait for auto ID to be generated
50
- await waitNT(wrapper.vm)
51
-
52
- expect(wrapper.classes()).toContain('dropdown')
53
- expect(wrapper.classes()).toContain('btn-group')
54
- expect(wrapper.classes()).toContain('b-dropdown')
55
- expect(wrapper.classes().length).toBe(3)
56
- expect(wrapper.attributes('id')).toBeDefined()
57
- const wrapperId = wrapper.attributes('id')
58
-
59
- expect(wrapper.findAll('button').length).toBe(1)
60
- const $button = wrapper.find('button')
61
- expect($button.classes()).toContain('btn')
62
- expect($button.classes()).toContain('btn-secondary')
63
- expect($button.classes()).toContain('dropdown-toggle')
64
- expect($button.classes().length).toBe(3)
65
- expect($button.attributes('aria-haspopup')).toBeDefined()
66
- expect($button.attributes('aria-haspopup')).toEqual('menu')
67
- expect($button.attributes('aria-expanded')).toBeDefined()
68
- expect($button.attributes('aria-expanded')).toEqual('false')
69
- expect($button.attributes('id')).toBeDefined()
70
- expect($button.attributes('id')).toEqual(`${wrapperId}__BV_toggle_`)
71
- expect($button.text()).toEqual('')
72
-
73
- expect(wrapper.findAll('.dropdown-menu').length).toBe(1)
74
- const $menu = wrapper.find('.dropdown-menu')
75
- expect($menu.element.tagName).toBe('UL')
76
- expect($menu.classes().length).toBe(1)
77
- expect($menu.attributes('role')).toBeDefined()
78
- expect($menu.attributes('role')).toEqual('menu')
79
- expect($menu.attributes('tabindex')).toBeDefined()
80
- expect($menu.attributes('tabindex')).toEqual('-1')
81
- expect($menu.attributes('aria-labelledby')).toBeDefined()
82
- expect($menu.attributes('aria-labelledby')).toEqual(`${wrapperId}__BV_toggle_`)
83
- expect($menu.text()).toEqual('')
84
-
85
- wrapper.destroy()
86
- })
87
-
88
- it('split mode has expected default structure', async () => {
89
- const wrapper = mount(BDropdown, {
90
- attachTo: document.body,
91
- propsData: {
92
- split: true
93
- }
94
- })
95
-
96
- expect(wrapper.element.tagName).toBe('DIV')
97
- expect(wrapper.vm).toBeDefined()
98
-
99
- // Wait for auto ID to be generated
100
- await waitNT(wrapper.vm)
101
-
102
- expect(wrapper.classes()).toContain('dropdown')
103
- expect(wrapper.classes()).toContain('btn-group')
104
- expect(wrapper.classes()).toContain('b-dropdown')
105
- expect(wrapper.classes().length).toBe(3)
106
- expect(wrapper.attributes('id')).toBeDefined()
107
- const wrapperId = wrapper.attributes('id')
108
-
109
- expect(wrapper.findAll('button').length).toBe(2)
110
- const $buttons = wrapper.findAll('button')
111
- const $split = $buttons.at(0)
112
- const $toggle = $buttons.at(1)
113
-
114
- expect($split.classes()).toContain('btn')
115
- expect($split.classes()).toContain('btn-secondary')
116
- expect($split.attributes('id')).toBeDefined()
117
- expect($split.attributes('id')).toEqual(`${wrapperId}__BV_button_`)
118
- expect($split.attributes('type')).toBeDefined()
119
- expect($split.attributes('type')).toEqual('button')
120
- expect($split.text()).toEqual('')
121
-
122
- expect($toggle.classes()).toContain('btn')
123
- expect($toggle.classes()).toContain('btn-secondary')
124
- expect($toggle.classes()).toContain('dropdown-toggle')
125
- expect($toggle.classes()).toContain('dropdown-toggle-split')
126
- expect($toggle.classes().length).toBe(4)
127
- expect($toggle.attributes('aria-haspopup')).toBeDefined()
128
- expect($toggle.attributes('aria-haspopup')).toEqual('menu')
129
- expect($toggle.attributes('aria-expanded')).toBeDefined()
130
- expect($toggle.attributes('aria-expanded')).toEqual('false')
131
- expect($toggle.attributes('id')).toBeDefined()
132
- expect($toggle.attributes('id')).toEqual(`${wrapperId}__BV_toggle_`)
133
- expect($toggle.attributes('type')).toBeDefined()
134
- expect($toggle.attributes('type')).toEqual('button')
135
- expect($toggle.findAll('span.sr-only').length).toBe(1)
136
- expect($toggle.find('span.sr-only').text()).toEqual('Toggle dropdown')
137
- expect($toggle.text()).toEqual('Toggle dropdown')
138
-
139
- expect(wrapper.findAll('.dropdown-menu').length).toBe(1)
140
- const $menu = wrapper.find('.dropdown-menu')
141
- expect($menu.element.tagName).toBe('UL')
142
- expect($menu.classes().length).toBe(1)
143
- expect($menu.attributes('role')).toBeDefined()
144
- expect($menu.attributes('role')).toEqual('menu')
145
- expect($menu.attributes('tabindex')).toBeDefined()
146
- expect($menu.attributes('tabindex')).toEqual('-1')
147
- expect($menu.attributes('aria-labelledby')).toBeDefined()
148
- expect($menu.attributes('aria-labelledby')).toEqual(`${wrapperId}__BV_button_`)
149
- expect($menu.text()).toEqual('')
150
-
151
- wrapper.destroy()
152
- })
153
-
154
- it('split mode accepts split-button-type value', async () => {
155
- const wrapper = mount(BDropdown, {
156
- attachTo: document.body,
157
- propsData: {
158
- split: true,
159
- splitButtonType: 'submit'
160
- }
161
- })
162
-
163
- expect(wrapper.element.tagName).toBe('DIV')
164
- expect(wrapper.vm).toBeDefined()
165
-
166
- await waitNT(wrapper.vm)
167
-
168
- expect(wrapper.classes()).toContain('dropdown')
169
-
170
- expect(wrapper.findAll('button').length).toBe(2)
171
- const $buttons = wrapper.findAll('button')
172
- const $split = $buttons.at(0)
173
- const $toggle = $buttons.at(1)
174
-
175
- expect($split.attributes('type')).toBeDefined()
176
- expect($split.attributes('type')).toEqual('submit')
177
-
178
- expect($toggle.attributes('type')).toBeDefined()
179
- expect($toggle.attributes('type')).toEqual('button')
180
-
181
- wrapper.destroy()
182
- })
183
-
184
- it('renders default slot inside menu', async () => {
185
- const wrapper = mount(BDropdown, {
186
- attachTo: document.body,
187
- slots: {
188
- default: 'foobar'
189
- }
190
- })
191
-
192
- expect(wrapper.element.tagName).toBe('DIV')
193
- expect(wrapper.vm).toBeDefined()
194
-
195
- expect(wrapper.findAll('.dropdown-menu').length).toBe(1)
196
- const $menu = wrapper.find('.dropdown-menu')
197
- expect($menu.text()).toEqual('foobar')
198
-
199
- wrapper.destroy()
200
- })
201
-
202
- it('renders button-content slot inside toggle button', async () => {
203
- const wrapper = mount(BDropdown, {
204
- attachTo: document.body,
205
- slots: {
206
- 'button-content': 'foobar'
207
- }
208
- })
209
-
210
- expect(wrapper.element.tagName).toBe('DIV')
211
- expect(wrapper.vm).toBeDefined()
212
-
213
- expect(wrapper.findAll('button').length).toBe(1)
214
- expect(wrapper.findAll('.dropdown-toggle').length).toBe(1)
215
- const $toggle = wrapper.find('.dropdown-toggle')
216
- expect($toggle.text()).toEqual('foobar')
217
-
218
- wrapper.destroy()
219
- })
220
-
221
- it('renders button-content slot inside split button', async () => {
222
- const wrapper = mount(BDropdown, {
223
- attachTo: document.body,
224
- propsData: {
225
- split: true
226
- },
227
- slots: {
228
- 'button-content': 'foobar'
229
- }
230
- })
231
-
232
- expect(wrapper.element.tagName).toBe('DIV')
233
- expect(wrapper.vm).toBeDefined()
234
-
235
- expect(wrapper.findAll('button').length).toBe(2)
236
- const $buttons = wrapper.findAll('button')
237
- const $split = $buttons.at(0)
238
- const $toggle = $buttons.at(1)
239
-
240
- expect($split.text()).toEqual('foobar')
241
- expect($toggle.classes()).toContain('dropdown-toggle')
242
- // Toggle has `sr-only` hidden text
243
- expect($toggle.text()).toEqual('Toggle dropdown')
244
-
245
- wrapper.destroy()
246
- })
247
-
248
- it('does not render default slot inside menu when prop lazy set', async () => {
249
- const wrapper = mount(BDropdown, {
250
- attachTo: document.body,
251
- propsData: {
252
- lazy: true
253
- },
254
- slots: {
255
- default: 'foobar'
256
- }
257
- })
258
-
259
- expect(wrapper.element.tagName).toBe('DIV')
260
- expect(wrapper.vm).toBeDefined()
261
-
262
- expect(wrapper.findAll('.dropdown-menu').length).toBe(1)
263
- const $menu = wrapper.find('.dropdown-menu')
264
- expect($menu.text()).not.toEqual('foobar')
265
-
266
- wrapper.destroy()
267
- })
268
-
269
- it('has user supplied ID', async () => {
270
- const wrapper = mount(BDropdown, {
271
- attachTo: document.body,
272
- propsData: {
273
- id: 'test'
274
- }
275
- })
276
-
277
- expect(wrapper.element.tagName).toBe('DIV')
278
- expect(wrapper.vm).toBeDefined()
279
-
280
- expect(wrapper.attributes('id')).toBeDefined()
281
- expect(wrapper.attributes('id')).toEqual('test')
282
- const wrapperId = wrapper.attributes('id')
283
-
284
- expect(wrapper.findAll('button').length).toBe(1)
285
- const $button = wrapper.find('button')
286
- expect($button.attributes('id')).toEqual(`${wrapperId}__BV_toggle_`)
287
-
288
- expect(wrapper.findAll('.dropdown-menu').length).toBe(1)
289
- const $menu = wrapper.find('.dropdown-menu')
290
- expect($menu.attributes('aria-labelledby')).toBeDefined()
291
- expect($menu.attributes('aria-labelledby')).toEqual(`${wrapperId}__BV_toggle_`)
292
-
293
- wrapper.destroy()
294
- })
295
-
296
- it('should not have "btn-group" class when block is true', async () => {
297
- const wrapper = mount(BDropdown, {
298
- attachTo: document.body,
299
- propsData: {
300
- block: true
301
- }
302
- })
303
-
304
- expect(wrapper.classes()).not.toContain('btn-group')
305
-
306
- wrapper.destroy()
307
- })
308
-
309
- it('should have "btn-group" and "d-flex" classes when block and split are true', async () => {
310
- const wrapper = mount(BDropdown, {
311
- attachTo: document.body,
312
- propsData: {
313
- block: true,
314
- split: true
315
- }
316
- })
317
-
318
- expect(wrapper.classes()).toContain('btn-group')
319
- expect(wrapper.classes()).toContain('d-flex')
320
-
321
- wrapper.destroy()
322
- })
323
-
324
- it('should have "dropdown-toggle-no-caret" class when no-caret is true', async () => {
325
- const wrapper = mount(BDropdown, {
326
- attachTo: document.body,
327
- propsData: {
328
- noCaret: true
329
- }
330
- })
331
-
332
- expect(wrapper.find('.dropdown-toggle').classes()).toContain('dropdown-toggle-no-caret')
333
-
334
- wrapper.destroy()
335
- })
336
-
337
- it('should not have "dropdown-toggle-no-caret" class when no-caret and split are true', async () => {
338
- const wrapper = mount(BDropdown, {
339
- attachTo: document.body,
340
- propsData: {
341
- noCaret: true,
342
- split: true
343
- }
344
- })
345
-
346
- expect(wrapper.find('.dropdown-toggle').classes()).not.toContain('dropdown-toggle-no-caret')
347
-
348
- wrapper.destroy()
349
- })
350
-
351
- it('should have a toggle with the given toggle tag', async () => {
352
- const wrapper = mount(BDropdown, {
353
- attachTo: document.body,
354
- propsData: {
355
- toggleTag: 'div'
356
- }
357
- })
358
-
359
- expect(wrapper.find('.dropdown-toggle').element.tagName).toBe('DIV')
360
-
361
- wrapper.destroy()
362
- })
363
-
364
- it('should have attributes on toggle when "toggle-attrs" prop is set', async () => {
365
- const wrapper = mount(BDropdown, {
366
- attachTo: document.body,
367
- propsData: {
368
- toggleAttrs: { 'data-foo-bar': 'foo-bar' }
369
- }
370
- })
371
-
372
- expect(wrapper.find('.dropdown-toggle').attributes('data-foo-bar')).toBe('foo-bar')
373
-
374
- wrapper.destroy()
375
- })
376
-
377
- it('should have class dropup when prop dropup set', async () => {
378
- const wrapper = mount(BDropdown, {
379
- attachTo: document.body,
380
- propsData: {
381
- dropup: true
382
- }
383
- })
384
-
385
- expect(wrapper.classes()).toContain('dropdown')
386
- expect(wrapper.classes()).toContain('dropup')
387
- expect(wrapper.classes()).not.toContain('show')
388
- expect(wrapper.find('.dropdown-menu').classes()).not.toContain('show')
389
-
390
- wrapper.vm.show()
391
- await waitNT(wrapper.vm)
392
- await waitRAF()
393
-
394
- expect(wrapper.classes()).toContain('dropdown')
395
- expect(wrapper.classes()).toContain('dropup')
396
- expect(wrapper.classes()).toContain('show')
397
- expect(wrapper.find('.dropdown-menu').classes()).toContain('show')
398
-
399
- wrapper.destroy()
400
- })
401
-
402
- it('should have class dropright when prop dropright set', async () => {
403
- const wrapper = mount(BDropdown, {
404
- attachTo: document.body,
405
- propsData: {
406
- dropright: true
407
- }
408
- })
409
-
410
- expect(wrapper.classes()).toContain('dropdown')
411
- expect(wrapper.classes()).toContain('dropright')
412
- expect(wrapper.classes()).not.toContain('show')
413
- expect(wrapper.find('.dropdown-menu').classes()).not.toContain('show')
414
-
415
- wrapper.vm.show()
416
- await waitNT(wrapper.vm)
417
- await waitRAF()
418
-
419
- expect(wrapper.classes()).toContain('dropdown')
420
- expect(wrapper.classes()).toContain('dropright')
421
- expect(wrapper.classes()).toContain('show')
422
- expect(wrapper.find('.dropdown-menu').classes()).toContain('show')
423
-
424
- wrapper.destroy()
425
- })
426
-
427
- it('should have class dropleft when prop dropleft set', async () => {
428
- const wrapper = mount(BDropdown, {
429
- attachTo: document.body,
430
- propsData: {
431
- dropleft: true
432
- }
433
- })
434
-
435
- expect(wrapper.classes()).toContain('dropdown')
436
- expect(wrapper.classes()).toContain('dropleft')
437
- expect(wrapper.classes()).not.toContain('show')
438
- expect(wrapper.find('.dropdown-menu').classes()).not.toContain('show')
439
-
440
- wrapper.vm.show()
441
- await waitNT(wrapper.vm)
442
- await waitRAF()
443
-
444
- expect(wrapper.classes()).toContain('dropdown')
445
- expect(wrapper.classes()).toContain('dropleft')
446
- expect(wrapper.classes()).toContain('show')
447
- expect(wrapper.find('.dropdown-menu').classes()).toContain('show')
448
-
449
- wrapper.destroy()
450
- })
451
-
452
- it('split should have class specified in split class property', () => {
453
- const splitClass = 'custom-button-class'
454
- const wrapper = mount(BDropdown, {
455
- attachTo: document.body,
456
- propsData: {
457
- splitClass,
458
- split: true
459
- }
460
- })
461
-
462
- const $buttons = wrapper.findAll('button')
463
- const $split = $buttons.at(0)
464
- expect($split.classes()).toContain(splitClass)
465
-
466
- wrapper.destroy()
467
- })
468
-
469
- it('menu should have class dropdown-menu-right when prop right set', async () => {
470
- const wrapper = mount(BDropdown, {
471
- attachTo: document.body,
472
- propsData: {
473
- right: true
474
- }
475
- })
476
-
477
- expect(wrapper.classes()).toContain('dropdown')
478
- expect(wrapper.classes()).not.toContain('show')
479
- expect(wrapper.find('.dropdown-menu').classes()).toContain('dropdown-menu-right')
480
- expect(wrapper.find('.dropdown-menu').classes()).not.toContain('show')
481
-
482
- wrapper.vm.show()
483
- await waitNT(wrapper.vm)
484
- await waitRAF()
485
-
486
- expect(wrapper.classes()).toContain('dropdown')
487
- expect(wrapper.classes()).toContain('show')
488
- expect(wrapper.find('.dropdown-menu').classes()).toContain('dropdown-menu-right')
489
- expect(wrapper.find('.dropdown-menu').classes()).toContain('show')
490
-
491
- wrapper.destroy()
492
- })
493
-
494
- it('split mode emits click event when split button clicked', async () => {
495
- const wrapper = mount(BDropdown, {
496
- attachTo: document.body,
497
- propsData: {
498
- split: true
499
- }
500
- })
501
-
502
- expect(wrapper.element.tagName).toBe('DIV')
503
- expect(wrapper.vm).toBeDefined()
504
- expect(wrapper.emitted('click')).toBeUndefined()
505
-
506
- expect(wrapper.findAll('button').length).toBe(2)
507
- const $buttons = wrapper.findAll('button')
508
- const $split = $buttons.at(0)
509
-
510
- await $split.trigger('click')
511
-
512
- expect(wrapper.emitted('click')).toBeDefined()
513
- expect(wrapper.emitted('click').length).toBe(1)
514
-
515
- wrapper.destroy()
516
- })
517
-
518
- it('dropdown opens and closes', async () => {
519
- const App = {
520
- props: {
521
- disabled: { type: Boolean, default: false }
522
- },
523
- render(h) {
524
- const { disabled } = this
525
-
526
- return h('div', { attrs: { id: 'container' } }, [
527
- h(BDropdown, { props: { id: 'test', disabled } }, [h(BDropdownItem, 'item')]),
528
- h('input', { attrs: { id: 'input' } })
529
- ])
530
- }
531
- }
532
-
533
- const wrapper = mount(App, {
534
- attachTo: document.body
535
- })
536
-
537
- expect(wrapper.vm).toBeDefined()
538
-
539
- expect(wrapper.findAll('.dropdown').length).toBe(1)
540
- expect(wrapper.findAll('.dropdown-toggle').length).toBe(1)
541
- expect(wrapper.findAll('.dropdown-menu').length).toBe(1)
542
- expect(wrapper.findAll('.dropdown-menu .dropdown-item').length).toBe(1)
543
-
544
- const $container = wrapper.find('#container')
545
- const $dropdown = wrapper.findComponent('.dropdown')
546
- const $toggle = wrapper.find('.dropdown-toggle')
547
- const $menu = wrapper.find('.dropdown-menu')
548
- const $item = wrapper.find('.dropdown-item')
549
- const $input = wrapper.find('#input')
550
-
551
- expect($dropdown.vm).toBeDefined()
552
-
553
- expect($toggle.attributes('aria-haspopup')).toBeDefined()
554
- expect($toggle.attributes('aria-haspopup')).toEqual('menu')
555
- expect($toggle.attributes('aria-expanded')).toBeDefined()
556
- expect($toggle.attributes('aria-expanded')).toEqual('false')
557
- expect($dropdown.classes()).not.toContain('show')
558
-
559
- // Open menu by clicking toggle
560
- await $toggle.trigger('click')
561
- await waitRAF()
562
- await waitNT(wrapper.vm)
563
- await waitRAF()
564
- await waitNT(wrapper.vm)
565
-
566
- expect($toggle.attributes('aria-haspopup')).toBeDefined()
567
- expect($toggle.attributes('aria-haspopup')).toEqual('menu')
568
- expect($toggle.attributes('aria-expanded')).toBeDefined()
569
- expect($toggle.attributes('aria-expanded')).toEqual('true')
570
- expect($dropdown.classes()).toContain('show')
571
- expect(document.activeElement).toBe($menu.element)
572
-
573
- // Close menu by clicking toggle again
574
- await $toggle.trigger('click')
575
- await waitRAF()
576
- await waitNT(wrapper.vm)
577
- await waitRAF()
578
- await waitNT(wrapper.vm)
579
- expect($toggle.attributes('aria-expanded')).toEqual('false')
580
- expect($dropdown.classes()).not.toContain('show')
581
-
582
- // Open menu again
583
- await $toggle.trigger('click')
584
- await waitRAF()
585
- await waitNT(wrapper.vm)
586
- await waitRAF()
587
- await waitNT(wrapper.vm)
588
- expect($toggle.attributes('aria-expanded')).toEqual('true')
589
- expect(document.activeElement).toBe($menu.element)
590
- expect($dropdown.classes()).toContain('show')
591
-
592
- // Close by clicking dropdown-item
593
- await $item.trigger('click')
594
- await waitRAF()
595
- await waitNT(wrapper.vm)
596
- await waitRAF()
597
- await waitNT(wrapper.vm)
598
- expect($toggle.attributes('aria-expanded')).toEqual('false')
599
- expect($dropdown.classes()).not.toContain('show')
600
-
601
- // Open menu via ´.show()´ method
602
- $dropdown.vm.show()
603
- await waitRAF()
604
- await waitNT(wrapper.vm)
605
- await waitRAF()
606
- await waitNT(wrapper.vm)
607
- expect($toggle.attributes('aria-expanded')).toEqual('true')
608
- expect($dropdown.classes()).toContain('show')
609
-
610
- // Close menu via ´.hide()´ method
611
- $dropdown.vm.hide()
612
- await waitNT(wrapper.vm)
613
- await waitRAF()
614
- await waitNT(wrapper.vm)
615
- await waitRAF()
616
- await waitNT(wrapper.vm)
617
- expect($toggle.attributes('aria-expanded')).toEqual('false')
618
- expect($dropdown.classes()).not.toContain('show')
619
-
620
- // Open menu via ´.show()´ method again
621
- $dropdown.vm.show()
622
- await waitNT(wrapper.vm)
623
- await waitRAF()
624
- await waitNT(wrapper.vm)
625
- await waitRAF()
626
- await waitNT(wrapper.vm)
627
- expect($toggle.attributes('aria-expanded')).toEqual('true')
628
- expect($dropdown.classes()).toContain('show')
629
- expect(document.activeElement).toBe($menu.element)
630
-
631
- // Close menu by moving focus away from menu
632
- await $input.trigger('focusin')
633
- await waitRAF()
634
- await waitNT(wrapper.vm)
635
- await waitRAF()
636
- await waitNT(wrapper.vm)
637
- expect($dropdown.classes()).not.toContain('show')
638
- expect($toggle.attributes('aria-expanded')).toEqual('false')
639
-
640
- // Open menu via keydown.down event on toggle button
641
- await $toggle.trigger('keydown.down')
642
- await waitRAF()
643
- await waitNT(wrapper.vm)
644
- await waitRAF()
645
- await waitNT(wrapper.vm)
646
- expect($dropdown.classes()).toContain('show')
647
- expect($toggle.attributes('aria-expanded')).toEqual('true')
648
- expect(document.activeElement).toBe($menu.element)
649
-
650
- // Close menu by clicking outside
651
- await $container.trigger('click')
652
- await waitRAF()
653
- await waitNT(wrapper.vm)
654
- await waitRAF()
655
- await waitNT(wrapper.vm)
656
- expect($dropdown.classes()).not.toContain('show')
657
- expect($toggle.attributes('aria-expanded')).toEqual('false')
658
-
659
- // Open menu via ´.show()´ method again
660
- $dropdown.vm.show()
661
- await waitNT(wrapper.vm)
662
- await waitRAF()
663
- await waitNT(wrapper.vm)
664
- await waitRAF()
665
- await waitNT(wrapper.vm)
666
- expect($dropdown.classes()).toContain('show')
667
- expect($toggle.attributes('aria-expanded')).toEqual('true')
668
-
669
- // Close menu by keydown.esc event on dropdown item
670
- await $item.trigger('keydown.esc')
671
- await waitRAF()
672
- await waitNT(wrapper.vm)
673
- await waitRAF()
674
- await waitNT(wrapper.vm)
675
- expect($dropdown.classes()).not.toContain('show')
676
- expect($toggle.attributes('aria-expanded')).toEqual('false')
677
-
678
- // Open menu via ´.show()´ method again
679
- $dropdown.vm.show()
680
- await waitNT(wrapper.vm)
681
- await waitRAF()
682
- await waitNT(wrapper.vm)
683
- await waitRAF()
684
- await waitNT(wrapper.vm)
685
- expect($dropdown.classes()).toContain('show')
686
- expect($toggle.attributes('aria-expanded')).toEqual('true')
687
-
688
- // When disabled changes to true, menu should close
689
- await wrapper.setProps({ disabled: true })
690
- await waitRAF()
691
- await waitNT(wrapper.vm)
692
- await waitRAF()
693
- await waitNT(wrapper.vm)
694
- expect($dropdown.classes()).not.toContain('show')
695
- expect($toggle.attributes('aria-expanded')).toEqual('false')
696
-
697
- // When disabled, show() wont open menu
698
- $dropdown.vm.show()
699
- await waitNT(wrapper.vm)
700
- await waitRAF()
701
- await waitNT(wrapper.vm)
702
- await waitRAF()
703
- await waitNT(wrapper.vm)
704
- expect($dropdown.classes()).not.toContain('show')
705
- expect($toggle.attributes('aria-expanded')).toEqual('false')
706
-
707
- // Re-enable dropdown and open it
708
- await wrapper.setProps({ disabled: false })
709
- await waitRAF()
710
- $dropdown.vm.show()
711
- await waitNT(wrapper.vm)
712
- await waitRAF()
713
- await waitNT(wrapper.vm)
714
- await waitRAF()
715
- await waitNT(wrapper.vm)
716
- expect($dropdown.classes()).toContain('show')
717
- expect($toggle.attributes('aria-expanded')).toEqual('true')
718
-
719
- // Should close on root emit when argument is not self
720
- wrapper.vm.$root.$emit('bv::dropdown::shown')
721
- await waitRAF()
722
- await waitNT(wrapper.vm)
723
- await waitRAF()
724
- await waitNT(wrapper.vm)
725
- expect($dropdown.classes()).not.toContain('show')
726
- expect($toggle.attributes('aria-expanded')).toEqual('false')
727
-
728
- wrapper.destroy()
729
- })
730
-
731
- it('preventDefault() works on show event', async () => {
732
- let prevent = true
733
- const wrapper = mount(BDropdown, {
734
- attachTo: document.body,
735
- listeners: {
736
- show: bvEvent => {
737
- if (prevent) {
738
- bvEvent.preventDefault()
739
- }
740
- }
741
- }
742
- })
743
-
744
- expect(wrapper.element.tagName).toBe('DIV')
745
- expect(wrapper.vm).toBeDefined()
746
- await waitNT(wrapper.vm)
747
- await waitRAF()
748
-
749
- expect(wrapper.emitted('show')).toBeUndefined()
750
-
751
- expect(wrapper.findAll('button').length).toBe(1)
752
- expect(wrapper.findAll('.dropdown').length).toBe(1)
753
- const $toggle = wrapper.find('button')
754
- const $dropdown = wrapper.find('.dropdown')
755
-
756
- expect($toggle.attributes('aria-haspopup')).toBeDefined()
757
- expect($toggle.attributes('aria-haspopup')).toEqual('menu')
758
- expect($toggle.attributes('aria-expanded')).toBeDefined()
759
- expect($toggle.attributes('aria-expanded')).toEqual('false')
760
- expect($dropdown.classes()).not.toContain('show')
761
-
762
- // Should prevent menu from opening
763
- await $toggle.trigger('click')
764
- await waitRAF()
765
- expect(wrapper.emitted('show')).toBeDefined()
766
- expect(wrapper.emitted('show').length).toBe(1)
767
- expect($toggle.attributes('aria-haspopup')).toBeDefined()
768
- expect($toggle.attributes('aria-haspopup')).toEqual('menu')
769
- expect($toggle.attributes('aria-expanded')).toBeDefined()
770
- expect($toggle.attributes('aria-expanded')).toEqual('false')
771
- expect($dropdown.classes()).not.toContain('show')
772
-
773
- // Allow menu to open
774
- prevent = false
775
- await $toggle.trigger('click')
776
- await waitRAF()
777
- expect(wrapper.emitted('show')).toBeDefined()
778
- expect(wrapper.emitted('show').length).toBe(2)
779
- expect($toggle.attributes('aria-haspopup')).toBeDefined()
780
- expect($toggle.attributes('aria-haspopup')).toEqual('menu')
781
- expect($toggle.attributes('aria-expanded')).toBeDefined()
782
- expect($toggle.attributes('aria-expanded')).toEqual('true')
783
- expect($dropdown.classes()).toContain('show')
784
-
785
- wrapper.destroy()
786
- })
787
-
788
- it('Keyboard navigation works when open', async () => {
789
- const App = {
790
- render(h) {
791
- return h('div', [
792
- h(BDropdown, { props: { id: 'test' } }, [
793
- h(BDropdownItem, { attrs: { id: 'item-1' } }, 'item'),
794
- h(BDropdownItem, { attrs: { id: 'item-2' } }, 'item'),
795
- h(BDropdownItem, { attrs: { id: 'item-3' }, props: { disabled: true } }, 'item'),
796
- h(BDropdownItem, { attrs: { id: 'item-4' } }, 'item')
797
- ])
798
- ])
799
- }
800
- }
801
-
802
- const wrapper = mount(App, {
803
- attachTo: document.body
804
- })
805
-
806
- expect(wrapper.vm).toBeDefined()
807
- await waitNT(wrapper.vm)
808
- await waitRAF()
809
- await waitNT(wrapper.vm)
810
- await waitRAF()
811
-
812
- expect(wrapper.findAll('.dropdown').length).toBe(1)
813
- expect(wrapper.findAll('.dropdown-toggle').length).toBe(1)
814
- expect(wrapper.findAll('.dropdown-menu').length).toBe(1)
815
- expect(wrapper.findAll('.dropdown-menu .dropdown-item').length).toBe(4)
816
-
817
- const $toggle = wrapper.find('.dropdown-toggle')
818
- const $menu = wrapper.find('.dropdown-menu')
819
- const $items = wrapper.findAll('.dropdown-item')
820
-
821
- // Expect menu to be closed
822
- expect($toggle.attributes('aria-expanded')).toBeDefined()
823
- expect($toggle.attributes('aria-expanded')).toEqual('false')
824
-
825
- // Trigger keydown.down on toggle to open menu
826
- await $toggle.trigger('keydown.down')
827
- await waitRAF()
828
- await waitNT(wrapper.vm)
829
- await waitRAF()
830
- await waitNT(wrapper.vm)
831
- await waitRAF()
832
- expect($toggle.attributes('aria-expanded')).toEqual('true')
833
- expect(document.activeElement).toBe($menu.element)
834
-
835
- // Move to first menu item
836
- await $menu.trigger('keydown.down')
837
- await waitRAF()
838
- await waitNT(wrapper.vm)
839
- await waitRAF()
840
- await waitNT(wrapper.vm)
841
- await waitRAF()
842
- expect(document.activeElement).toBe($items.at(0).element)
843
-
844
- // Move to second menu item
845
- await $items.at(0).trigger('keydown.down')
846
- await waitRAF()
847
- await waitNT(wrapper.vm)
848
- await waitRAF()
849
- await waitNT(wrapper.vm)
850
- await waitRAF()
851
- expect(document.activeElement).toBe($items.at(1).element)
852
-
853
- // Move down to next menu item (should skip disabled item)
854
- await $items.at(1).trigger('keydown.down')
855
- await waitRAF()
856
- await waitNT(wrapper.vm)
857
- await waitRAF()
858
- await waitNT(wrapper.vm)
859
- await waitRAF()
860
- expect(document.activeElement).toBe($items.at(3).element)
861
-
862
- // Move down to next menu item (should remain on same item)
863
- await $items.at(3).trigger('keydown.down')
864
- await waitRAF()
865
- await waitNT(wrapper.vm)
866
- await waitRAF()
867
- await waitNT(wrapper.vm)
868
- await waitRAF()
869
- expect(document.activeElement).toBe($items.at(3).element)
870
-
871
- // Move up to previous menu item (should skip disabled item)
872
- await $items.at(3).trigger('keydown.up')
873
- await waitRAF()
874
- await waitNT(wrapper.vm)
875
- await waitRAF()
876
- await waitNT(wrapper.vm)
877
- await waitRAF()
878
- expect(document.activeElement).toBe($items.at(1).element)
879
-
880
- // Move up to previous menu item
881
- await $items.at(1).trigger('keydown.up')
882
- await waitRAF()
883
- await waitNT(wrapper.vm)
884
- await waitRAF()
885
- await waitNT(wrapper.vm)
886
- await waitRAF()
887
- expect(document.activeElement).toBe($items.at(0).element)
888
-
889
- // Move up to previous menu item (should remain on first item)
890
- await $items.at(0).trigger('keydown.up')
891
- await waitRAF()
892
- await waitNT(wrapper.vm)
893
- await waitRAF()
894
- await waitNT(wrapper.vm)
895
- await waitRAF()
896
- expect(document.activeElement).toBe($items.at(0).element)
897
-
898
- wrapper.destroy()
899
- })
900
-
901
- it('when boundary not set should not have class position-static', async () => {
902
- const wrapper = mount(BDropdown, {
903
- attachTo: document.body
904
- })
905
- expect(wrapper.element.tagName).toBe('DIV')
906
- expect(wrapper.vm).toBeDefined()
907
- await waitNT(wrapper.vm)
908
- expect(wrapper.classes()).not.toContain('position-static')
909
- wrapper.destroy()
910
- })
911
-
912
- it('when boundary set to viewport should have class position-static', async () => {
913
- const wrapper = mount(BDropdown, {
914
- attachTo: document.body,
915
- propsData: {
916
- boundary: 'viewport'
917
- }
918
- })
919
- expect(wrapper.element.tagName).toBe('DIV')
920
- expect(wrapper.vm).toBeDefined()
921
- await waitNT(wrapper.vm)
922
- expect(wrapper.classes()).toContain('position-static')
923
- wrapper.destroy()
924
- })
925
-
926
- it('toggle button size works', async () => {
927
- const wrapper = mount(BDropdown, {
928
- attachTo: document.body,
929
- propsData: {
930
- size: 'lg'
931
- }
932
- })
933
-
934
- expect(wrapper.element.tagName).toBe('DIV')
935
- expect(wrapper.vm).toBeDefined()
936
-
937
- expect(wrapper.findAll('.btn').length).toBe(1)
938
- const $toggle = wrapper.find('.btn')
939
-
940
- expect($toggle.element.tagName).toBe('BUTTON')
941
- expect($toggle.classes()).toContain('btn-lg')
942
-
943
- wrapper.destroy()
944
- })
945
-
946
- it('split button size works', async () => {
947
- const wrapper = mount(BDropdown, {
948
- attachTo: document.body,
949
- propsData: {
950
- split: true,
951
- size: 'lg'
952
- }
953
- })
954
-
955
- expect(wrapper.element.tagName).toBe('DIV')
956
- expect(wrapper.vm).toBeDefined()
957
-
958
- expect(wrapper.findAll('.btn').length).toBe(2)
959
- const $split = wrapper.findAll('.btn').at(0)
960
- const $toggle = wrapper.findAll('.btn').at(1)
961
-
962
- expect($split.element.tagName).toBe('BUTTON')
963
- expect($split.classes()).toContain('btn-lg')
964
- expect($toggle.element.tagName).toBe('BUTTON')
965
- expect($toggle.classes()).toContain('btn-lg')
966
-
967
- wrapper.destroy()
968
- })
969
-
970
- it('toggle button content works', async () => {
971
- const wrapper = mount(BDropdown, {
972
- attachTo: document.body,
973
- propsData: {
974
- text: 'foobar'
975
- }
976
- })
977
-
978
- expect(wrapper.element.tagName).toBe('DIV')
979
- expect(wrapper.vm).toBeDefined()
980
-
981
- expect(wrapper.findAll('.btn').length).toBe(1)
982
- const $toggle = wrapper.find('.btn')
983
-
984
- expect($toggle.element.tagName).toBe('BUTTON')
985
- expect($toggle.text()).toEqual('foobar')
986
-
987
- wrapper.destroy()
988
- })
989
-
990
- it('split button content works', async () => {
991
- const wrapper = mount(BDropdown, {
992
- attachTo: document.body,
993
- propsData: {
994
- split: true,
995
- text: 'foobar'
996
- }
997
- })
998
-
999
- expect(wrapper.element.tagName).toBe('DIV')
1000
- expect(wrapper.vm).toBeDefined()
1001
-
1002
- expect(wrapper.findAll('.btn').length).toBe(2)
1003
- const $split = wrapper.findAll('.btn').at(0)
1004
-
1005
- expect($split.element.tagName).toBe('BUTTON')
1006
- expect($split.text()).toEqual('foobar')
1007
-
1008
- wrapper.destroy()
1009
- })
1010
-
1011
- it('variant works on non-split button', async () => {
1012
- const wrapper = mount(BDropdown, {
1013
- attachTo: document.body,
1014
- propsData: {
1015
- variant: 'primary'
1016
- }
1017
- })
1018
-
1019
- expect(wrapper.element.tagName).toBe('DIV')
1020
- expect(wrapper.vm).toBeDefined()
1021
-
1022
- expect(wrapper.findAll('.btn').length).toBe(1)
1023
- const $toggle = wrapper.find('.btn')
1024
-
1025
- expect($toggle.element.tagName).toBe('BUTTON')
1026
- expect($toggle.classes()).toContain('btn-primary')
1027
- expect($toggle.classes()).not.toContain('btn-secondary')
1028
-
1029
- wrapper.destroy()
1030
- })
1031
-
1032
- it('variant works on split button', async () => {
1033
- const wrapper = mount(BDropdown, {
1034
- attachTo: document.body,
1035
- propsData: {
1036
- split: true,
1037
- variant: 'primary'
1038
- }
1039
- })
1040
-
1041
- expect(wrapper.element.tagName).toBe('DIV')
1042
- expect(wrapper.vm).toBeDefined()
1043
-
1044
- expect(wrapper.findAll('.btn').length).toBe(2)
1045
- const $split = wrapper.findAll('.btn').at(0)
1046
- const $toggle = wrapper.findAll('.btn').at(1)
1047
-
1048
- expect($split.element.tagName).toBe('BUTTON')
1049
- expect($split.classes()).toContain('btn-primary')
1050
- expect($split.classes()).not.toContain('btn-secondary')
1051
-
1052
- expect($toggle.element.tagName).toBe('BUTTON')
1053
- expect($toggle.classes()).toContain('btn-primary')
1054
- expect($toggle.classes()).not.toContain('btn-secondary')
1055
-
1056
- // Change split button variant
1057
- await wrapper.setProps({
1058
- splitVariant: 'danger'
1059
- })
1060
- expect($split.classes()).toContain('btn-danger')
1061
- expect($toggle.classes()).toContain('btn-primary')
1062
-
1063
- wrapper.destroy()
1064
- })
1065
-
1066
- it('split mode has href when prop split-href set', async () => {
1067
- const wrapper = mount(BDropdown, {
1068
- attachTo: document.body,
1069
- propsData: {
1070
- split: true,
1071
- splitHref: '/foo'
1072
- }
1073
- })
1074
-
1075
- expect(wrapper.element.tagName).toBe('DIV')
1076
- expect(wrapper.vm).toBeDefined()
1077
-
1078
- expect(wrapper.findAll('.btn').length).toBe(2)
1079
- const $buttons = wrapper.findAll('.btn')
1080
- const $split = $buttons.at(0)
1081
- const $toggle = $buttons.at(1)
1082
-
1083
- expect($toggle.element.tagName).toBe('BUTTON')
1084
-
1085
- expect($split.element.tagName).toBe('A')
1086
- expect($split.classes()).toContain('btn')
1087
- expect($split.classes()).toContain('btn-secondary')
1088
- expect($split.attributes('href')).toBeDefined()
1089
- expect($split.attributes('href')).toEqual('/foo')
1090
-
1091
- wrapper.destroy()
1092
- })
1093
-
1094
- it('split mode has href when prop split-to set', async () => {
1095
- const wrapper = mount(BDropdown, {
1096
- attachTo: document.body,
1097
- propsData: {
1098
- split: true,
1099
- splitTo: '/foo'
1100
- }
1101
- })
1102
-
1103
- expect(wrapper.element.tagName).toBe('DIV')
1104
- expect(wrapper.vm).toBeDefined()
1105
-
1106
- expect(wrapper.findAll('.btn').length).toBe(2)
1107
- const $buttons = wrapper.findAll('.btn')
1108
- const $split = $buttons.at(0)
1109
- const $toggle = $buttons.at(1)
1110
-
1111
- expect($toggle.element.tagName).toBe('BUTTON')
1112
-
1113
- expect($split.element.tagName).toBe('A')
1114
- expect($split.classes()).toContain('btn')
1115
- expect($split.classes()).toContain('btn-secondary')
1116
- expect($split.attributes('href')).toBeDefined()
1117
- expect($split.attributes('href')).toEqual('/foo')
1118
-
1119
- wrapper.destroy()
1120
- })
1121
- })