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