@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,981 +0,0 @@
1
- import { COMPONENT_UID_KEY, extend } from '../../vue'
2
- import { NAME_MODAL } from '../../constants/components'
3
- import { IS_BROWSER } from '../../constants/env'
4
- import {
5
- EVENT_NAME_CANCEL,
6
- EVENT_NAME_CHANGE,
7
- EVENT_NAME_CLOSE,
8
- EVENT_NAME_HIDDEN,
9
- EVENT_NAME_HIDE,
10
- EVENT_NAME_OK,
11
- EVENT_NAME_SHOW,
12
- EVENT_NAME_SHOWN,
13
- EVENT_NAME_TOGGLE,
14
- EVENT_OPTIONS_NO_CAPTURE
15
- } from '../../constants/events'
16
- import { CODE_ESC } from '../../constants/key-codes'
17
- import {
18
- PROP_TYPE_ARRAY_OBJECT_STRING,
19
- PROP_TYPE_ARRAY_STRING,
20
- PROP_TYPE_BOOLEAN,
21
- PROP_TYPE_OBJECT,
22
- PROP_TYPE_STRING
23
- } from '../../constants/props'
24
- import { HTMLElement } from '../../constants/safe-types'
25
- import {
26
- SLOT_NAME_DEFAULT,
27
- SLOT_NAME_MODAL_BACKDROP,
28
- SLOT_NAME_MODAL_CANCEL,
29
- SLOT_NAME_MODAL_FOOTER,
30
- SLOT_NAME_MODAL_HEADER,
31
- SLOT_NAME_MODAL_HEADER_CLOSE,
32
- SLOT_NAME_MODAL_OK,
33
- SLOT_NAME_MODAL_TITLE
34
- } from '../../constants/slots'
35
- import { arrayIncludes, concat } from '../../utils/array'
36
- import {
37
- attemptFocus,
38
- closest,
39
- contains,
40
- getActiveElement,
41
- getTabables,
42
- requestAF,
43
- select
44
- } from '../../utils/dom'
45
- import { getRootActionEventName, getRootEventName, eventOn, eventOff } from '../../utils/events'
46
- import { htmlOrText } from '../../utils/html'
47
- import { identity } from '../../utils/identity'
48
- import { isString, isUndefinedOrNull } from '../../utils/inspect'
49
- import { makeModelMixin } from '../../utils/model'
50
- import { sortKeys } from '../../utils/object'
51
- import { observeDom } from '../../utils/observe-dom'
52
- import { makeProp, makePropsConfigurable } from '../../utils/props'
53
- import { attrsMixin } from '../../mixins/attrs'
54
- import { idMixin, props as idProps } from '../../mixins/id'
55
- import { listenOnDocumentMixin } from '../../mixins/listen-on-document'
56
- import { listenOnRootMixin } from '../../mixins/listen-on-root'
57
- import { listenOnWindowMixin } from '../../mixins/listen-on-window'
58
- import { normalizeSlotMixin } from '../../mixins/normalize-slot'
59
- import { scopedStyleMixin } from '../../mixins/scoped-style'
60
- import { BButton } from '../button/button'
61
- import { BButtonClose } from '../button/button-close'
62
- import { BVTransition } from '../transition/bv-transition'
63
- import { BVTransporter } from '../transporter/transporter'
64
- import { BvModalEvent } from './helpers/bv-modal-event.class'
65
- import { modalManager } from './helpers/modal-manager'
66
-
67
- // --- Constants ---
68
-
69
- const {
70
- mixin: modelMixin,
71
- props: modelProps,
72
- prop: MODEL_PROP_NAME,
73
- event: MODEL_EVENT_NAME
74
- } = makeModelMixin('visible', {
75
- type: PROP_TYPE_BOOLEAN,
76
- defaultValue: false,
77
- event: EVENT_NAME_CHANGE
78
- })
79
-
80
- const TRIGGER_BACKDROP = 'backdrop'
81
- const TRIGGER_ESC = 'esc'
82
- const TRIGGER_FORCE = 'FORCE'
83
- const TRIGGER_TOGGLE = 'toggle'
84
-
85
- const BUTTON_CANCEL = 'cancel'
86
- // TODO: This should be renamed to 'close'
87
- const BUTTON_CLOSE = 'headerclose'
88
- const BUTTON_OK = 'ok'
89
-
90
- const BUTTONS = [BUTTON_CANCEL, BUTTON_CLOSE, BUTTON_OK]
91
-
92
- // `ObserveDom` config to detect changes in modal content
93
- // so that we can adjust the modal padding if needed
94
- const OBSERVER_CONFIG = {
95
- subtree: true,
96
- childList: true,
97
- characterData: true,
98
- attributes: true,
99
- attributeFilter: ['style', 'class']
100
- }
101
-
102
- // --- Props ---
103
-
104
- export const props = makePropsConfigurable(
105
- sortKeys({
106
- ...idProps,
107
- ...modelProps,
108
- ariaLabel: makeProp(PROP_TYPE_STRING),
109
- autoFocusButton: makeProp(
110
- PROP_TYPE_STRING,
111
- null,
112
- /* istanbul ignore next */ value => {
113
- return isUndefinedOrNull(value) || arrayIncludes(BUTTONS, value)
114
- }
115
- ),
116
- bodyClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
117
- busy: makeProp(PROP_TYPE_BOOLEAN, false),
118
- buttonSize: makeProp(PROP_TYPE_STRING),
119
- cancelDisabled: makeProp(PROP_TYPE_BOOLEAN, false),
120
- cancelTitle: makeProp(PROP_TYPE_STRING, 'Cancel'),
121
- cancelTitleHtml: makeProp(PROP_TYPE_STRING),
122
- cancelVariant: makeProp(PROP_TYPE_STRING, 'secondary'),
123
- centered: makeProp(PROP_TYPE_BOOLEAN, false),
124
- contentClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
125
- dialogClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
126
- footerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
127
- footerTag: makeProp(PROP_TYPE_STRING, 'footer'),
128
- headerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
129
- headerCloseContent: makeProp(PROP_TYPE_STRING, '×'),
130
- headerCloseLabel: makeProp(PROP_TYPE_STRING, 'Close'),
131
- headerTag: makeProp(PROP_TYPE_STRING, 'header'),
132
- // TODO: Rename to `noBackdrop` and deprecate `hideBackdrop`
133
- hideBackdrop: makeProp(PROP_TYPE_BOOLEAN, false),
134
- // TODO: Rename to `noFooter` and deprecate `hideFooter`
135
- hideFooter: makeProp(PROP_TYPE_BOOLEAN, false),
136
- // TODO: Rename to `noHeader` and deprecate `hideHeader`
137
- hideHeader: makeProp(PROP_TYPE_BOOLEAN, false),
138
- // TODO: Rename to `noHeaderClose` and deprecate `hideHeaderClose`
139
- hideHeaderClose: makeProp(PROP_TYPE_BOOLEAN, false),
140
- ignoreEnforceFocusSelector: makeProp(PROP_TYPE_ARRAY_STRING),
141
- lazy: makeProp(PROP_TYPE_BOOLEAN, false),
142
- modalClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
143
- noCloseOnBackdrop: makeProp(PROP_TYPE_BOOLEAN, false),
144
- noCloseOnEsc: makeProp(PROP_TYPE_BOOLEAN, false),
145
- noEnforceFocus: makeProp(PROP_TYPE_BOOLEAN, false),
146
- noFade: makeProp(PROP_TYPE_BOOLEAN, false),
147
- noStacking: makeProp(PROP_TYPE_BOOLEAN, false),
148
- okDisabled: makeProp(PROP_TYPE_BOOLEAN, false),
149
- okOnly: makeProp(PROP_TYPE_BOOLEAN, false),
150
- okTitle: makeProp(PROP_TYPE_STRING, 'OK'),
151
- okTitleHtml: makeProp(PROP_TYPE_STRING),
152
- okVariant: makeProp(PROP_TYPE_STRING, 'primary'),
153
- // HTML Element, CSS selector string or Vue component instance
154
- returnFocus: makeProp([HTMLElement, PROP_TYPE_OBJECT, PROP_TYPE_STRING]),
155
- scrollable: makeProp(PROP_TYPE_BOOLEAN, false),
156
- size: makeProp(PROP_TYPE_STRING, 'md'),
157
- static: makeProp(PROP_TYPE_BOOLEAN, false),
158
- title: makeProp(PROP_TYPE_STRING),
159
- titleClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
160
- titleHtml: makeProp(PROP_TYPE_STRING),
161
- titleSrOnly: makeProp(PROP_TYPE_BOOLEAN, false),
162
- titleTag: makeProp(PROP_TYPE_STRING, 'h5')
163
- }),
164
- NAME_MODAL
165
- )
166
-
167
- // --- Main component ---
168
-
169
- // @vue/component
170
- export const BModal = /*#__PURE__*/ extend({
171
- name: NAME_MODAL,
172
- mixins: [
173
- attrsMixin,
174
- idMixin,
175
- modelMixin,
176
- listenOnDocumentMixin,
177
- listenOnRootMixin,
178
- listenOnWindowMixin,
179
- normalizeSlotMixin,
180
- scopedStyleMixin
181
- ],
182
- inheritAttrs: false,
183
- props,
184
- data() {
185
- return {
186
- isHidden: true, // If modal should not be in document
187
- isVisible: false, // Controls modal visible state
188
- isTransitioning: false, // Used for style control
189
- isShow: false, // Used for style control
190
- isBlock: false, // Used for style control
191
- isOpening: false, // To signal that the modal is in the process of opening
192
- isClosing: false, // To signal that the modal is in the process of closing
193
- ignoreBackdropClick: false, // Used to signify if click out listener should ignore the click
194
- isModalOverflowing: false,
195
- // The following items are controlled by the modalManager instance
196
- scrollbarWidth: 0,
197
- zIndex: modalManager.getBaseZIndex(),
198
- isTop: true,
199
- isBodyOverflowing: false
200
- }
201
- },
202
- computed: {
203
- modalId() {
204
- return this.safeId()
205
- },
206
- modalOuterId() {
207
- return this.safeId('__BV_modal_outer_')
208
- },
209
- modalHeaderId() {
210
- return this.safeId('__BV_modal_header_')
211
- },
212
- modalBodyId() {
213
- return this.safeId('__BV_modal_body_')
214
- },
215
- modalTitleId() {
216
- return this.safeId('__BV_modal_title_')
217
- },
218
- modalContentId() {
219
- return this.safeId('__BV_modal_content_')
220
- },
221
- modalFooterId() {
222
- return this.safeId('__BV_modal_footer_')
223
- },
224
- modalBackdropId() {
225
- return this.safeId('__BV_modal_backdrop_')
226
- },
227
- modalClasses() {
228
- return [
229
- {
230
- fade: !this.noFade,
231
- show: this.isShow,
232
- 'd-block': this.isBlock
233
- },
234
- this.modalClass
235
- ]
236
- },
237
- modalStyles() {
238
- const sbWidth = `${this.scrollbarWidth}px`
239
- return {
240
- paddingLeft: !this.isBodyOverflowing && this.isModalOverflowing ? sbWidth : '',
241
- paddingRight: this.isBodyOverflowing && !this.isModalOverflowing ? sbWidth : ''
242
- }
243
- },
244
- dialogClasses() {
245
- return [
246
- {
247
- [`modal-${this.size}`]: this.size,
248
- 'modal-dialog-centered': this.centered,
249
- 'modal-dialog-scrollable': this.scrollable
250
- },
251
- this.dialogClass
252
- ]
253
- },
254
- titleClasses() {
255
- return [{ 'sr-only': this.titleSrOnly }, this.titleClass]
256
- },
257
- modalOuterStyle() {
258
- // Styles needed for proper stacking of modals
259
- return {
260
- position: 'absolute',
261
- zIndex: this.zIndex
262
- }
263
- },
264
- slotScope() {
265
- return {
266
- cancel: this.onCancel,
267
- close: this.onClose,
268
- hide: this.hide,
269
- ok: this.onOk,
270
- visible: this.isVisible
271
- }
272
- },
273
- computeIgnoreEnforceFocusSelector() {
274
- // Normalize to an single selector with selectors separated by `,`
275
- return concat(this.ignoreEnforceFocusSelector)
276
- .filter(identity)
277
- .join(',')
278
- .trim()
279
- },
280
- computedAttrs() {
281
- // If the parent has a scoped style attribute, and the modal
282
- // is portalled, add the scoped attribute to the modal wrapper
283
- const scopedStyleAttrs = !this.static ? this.scopedStyleAttrs : {}
284
-
285
- return {
286
- ...scopedStyleAttrs,
287
- ...this.bvAttrs,
288
- id: this.modalOuterId
289
- }
290
- },
291
- computedModalAttrs() {
292
- const { isVisible, ariaLabel } = this
293
-
294
- return {
295
- id: this.modalId,
296
- role: 'dialog',
297
- 'aria-hidden': isVisible ? null : 'true',
298
- 'aria-modal': isVisible ? 'true' : null,
299
- 'aria-label': ariaLabel,
300
- 'aria-labelledby':
301
- this.hideHeader ||
302
- ariaLabel ||
303
- // TODO: Rename slot to `title` and deprecate `modal-title`
304
- !(this.hasNormalizedSlot(SLOT_NAME_MODAL_TITLE) || this.titleHtml || this.title)
305
- ? null
306
- : this.modalTitleId,
307
- 'aria-describedby': this.modalBodyId
308
- }
309
- }
310
- },
311
- watch: {
312
- [MODEL_PROP_NAME](newValue, oldValue) {
313
- if (newValue !== oldValue) {
314
- this[newValue ? 'show' : 'hide']()
315
- }
316
- }
317
- },
318
- created() {
319
- // Define non-reactive properties
320
- this.$_observer = null
321
- this.$_returnFocus = this.returnFocus || null
322
- },
323
- mounted() {
324
- // Set initial z-index as queried from the DOM
325
- this.zIndex = modalManager.getBaseZIndex()
326
- // Listen for events from others to either open or close ourselves
327
- // and listen to all modals to enable/disable enforce focus
328
- this.listenOnRoot(getRootActionEventName(NAME_MODAL, EVENT_NAME_SHOW), this.showHandler)
329
- this.listenOnRoot(getRootActionEventName(NAME_MODAL, EVENT_NAME_HIDE), this.hideHandler)
330
- this.listenOnRoot(getRootActionEventName(NAME_MODAL, EVENT_NAME_TOGGLE), this.toggleHandler)
331
- // Listen for `bv:modal::show events`, and close ourselves if the
332
- // opening modal not us
333
- this.listenOnRoot(getRootEventName(NAME_MODAL, EVENT_NAME_SHOW), this.modalListener)
334
- // Initially show modal?
335
- if (this[MODEL_PROP_NAME] === true) {
336
- this.$nextTick(this.show)
337
- }
338
- },
339
- beforeDestroy() {
340
- // Ensure everything is back to normal
341
- modalManager.unregisterModal(this)
342
- this.setObserver(false)
343
- if (this.isVisible) {
344
- this.isVisible = false
345
- this.isShow = false
346
- this.isTransitioning = false
347
- }
348
- },
349
- methods: {
350
- setObserver(on = false) {
351
- this.$_observer && this.$_observer.disconnect()
352
- this.$_observer = null
353
- if (on) {
354
- this.$_observer = observeDom(
355
- this.$refs.content,
356
- this.checkModalOverflow.bind(this),
357
- OBSERVER_CONFIG
358
- )
359
- }
360
- },
361
- // Private method to update the v-model
362
- updateModel(value) {
363
- if (value !== this[MODEL_PROP_NAME]) {
364
- this.$emit(MODEL_EVENT_NAME, value)
365
- }
366
- },
367
- // Private method to create a BvModalEvent object
368
- buildEvent(type, options = {}) {
369
- return new BvModalEvent(type, {
370
- // Default options
371
- cancelable: false,
372
- target: this.$refs.modal || this.$el || null,
373
- relatedTarget: null,
374
- trigger: null,
375
- // Supplied options
376
- ...options,
377
- // Options that can't be overridden
378
- vueTarget: this,
379
- componentId: this.modalId
380
- })
381
- },
382
- // Public method to show modal
383
- show() {
384
- if (this.isVisible || this.isOpening) {
385
- // If already open, or in the process of opening, do nothing
386
- /* istanbul ignore next */
387
- return
388
- }
389
- /* istanbul ignore next */
390
- if (this.isClosing) {
391
- // If we are in the process of closing, wait until hidden before re-opening
392
- /* istanbul ignore next */
393
- this.$once(EVENT_NAME_HIDDEN, this.show)
394
- /* istanbul ignore next */
395
- return
396
- }
397
- this.isOpening = true
398
- // Set the element to return focus to when closed
399
- this.$_returnFocus = this.$_returnFocus || this.getActiveElement()
400
- const showEvent = this.buildEvent(EVENT_NAME_SHOW, {
401
- cancelable: true
402
- })
403
- this.emitEvent(showEvent)
404
- // Don't show if canceled
405
- if (showEvent.defaultPrevented || this.isVisible) {
406
- this.isOpening = false
407
- // Ensure the v-model reflects the current state
408
- this.updateModel(false)
409
- return
410
- }
411
- // Show the modal
412
- this.doShow()
413
- },
414
- // Public method to hide modal
415
- hide(trigger = '') {
416
- if (!this.isVisible || this.isClosing) {
417
- /* istanbul ignore next */
418
- return
419
- }
420
- this.isClosing = true
421
- const hideEvent = this.buildEvent(EVENT_NAME_HIDE, {
422
- cancelable: trigger !== TRIGGER_FORCE,
423
- trigger: trigger || null
424
- })
425
- // We emit specific event for one of the three built-in buttons
426
- if (trigger === BUTTON_OK) {
427
- this.$emit(EVENT_NAME_OK, hideEvent)
428
- } else if (trigger === BUTTON_CANCEL) {
429
- this.$emit(EVENT_NAME_CANCEL, hideEvent)
430
- } else if (trigger === BUTTON_CLOSE) {
431
- this.$emit(EVENT_NAME_CLOSE, hideEvent)
432
- }
433
- this.emitEvent(hideEvent)
434
- // Hide if not canceled
435
- if (hideEvent.defaultPrevented || !this.isVisible) {
436
- this.isClosing = false
437
- // Ensure v-model reflects current state
438
- this.updateModel(true)
439
- return
440
- }
441
- // Stop observing for content changes
442
- this.setObserver(false)
443
- // Trigger the hide transition
444
- this.isVisible = false
445
- // Update the v-model
446
- this.updateModel(false)
447
- },
448
- // Public method to toggle modal visibility
449
- toggle(triggerEl) {
450
- if (triggerEl) {
451
- this.$_returnFocus = triggerEl
452
- }
453
- if (this.isVisible) {
454
- this.hide(TRIGGER_TOGGLE)
455
- } else {
456
- this.show()
457
- }
458
- },
459
- // Private method to get the current document active element
460
- getActiveElement() {
461
- // Returning focus to `document.body` may cause unwanted scrolls,
462
- // so we exclude setting focus on body
463
- const activeElement = getActiveElement(IS_BROWSER ? [document.body] : [])
464
- // Preset the fallback return focus value if it is not set
465
- // `document.activeElement` should be the trigger element that was clicked or
466
- // in the case of using the v-model, which ever element has current focus
467
- // Will be overridden by some commands such as toggle, etc.
468
- // Note: On IE 11, `document.activeElement` may be `null`
469
- // So we test it for truthiness first
470
- // https://github.com/bootstrap-vue/bootstrap-vue/issues/3206
471
- return activeElement && activeElement.focus ? activeElement : null
472
- },
473
- // Private method to finish showing modal
474
- doShow() {
475
- /* istanbul ignore next: commenting out for now until we can test stacking */
476
- if (modalManager.modalsAreOpen && this.noStacking) {
477
- // If another modal(s) is already open, wait for it(them) to close
478
- this.listenOnRootOnce(getRootEventName(NAME_MODAL, EVENT_NAME_HIDDEN), this.doShow)
479
- return
480
- }
481
- modalManager.registerModal(this)
482
- // Place modal in DOM
483
- this.isHidden = false
484
- this.$nextTick(() => {
485
- // We do this in `$nextTick()` to ensure the modal is in DOM first
486
- // before we show it
487
- this.isVisible = true
488
- this.isOpening = false
489
- // Update the v-model
490
- this.updateModel(true)
491
- this.$nextTick(() => {
492
- // Observe changes in modal content and adjust if necessary
493
- // In a `$nextTick()` in case modal content is lazy
494
- this.setObserver(true)
495
- })
496
- })
497
- },
498
- // Transition handlers
499
- onBeforeEnter() {
500
- this.isTransitioning = true
501
- this.setResizeEvent(true)
502
- },
503
- onEnter() {
504
- this.isBlock = true
505
- // We add the `show` class 1 frame later
506
- // `requestAF()` runs the callback before the next repaint, so we need
507
- // two calls to guarantee the next frame has been rendered
508
- requestAF(() => {
509
- requestAF(() => {
510
- this.isShow = true
511
- })
512
- })
513
- },
514
- onAfterEnter() {
515
- this.checkModalOverflow()
516
- this.isTransitioning = false
517
- // We use `requestAF()` to allow transition hooks to complete
518
- // before passing control over to the other handlers
519
- // This will allow users to not have to use `$nextTick()` or `requestAF()`
520
- // when trying to pre-focus an element
521
- requestAF(() => {
522
- this.emitEvent(this.buildEvent(EVENT_NAME_SHOWN))
523
- this.setEnforceFocus(true)
524
- this.$nextTick(() => {
525
- // Delayed in a `$nextTick()` to allow users time to pre-focus
526
- // an element if the wish
527
- this.focusFirst()
528
- })
529
- })
530
- },
531
- onBeforeLeave() {
532
- this.isTransitioning = true
533
- this.setResizeEvent(false)
534
- this.setEnforceFocus(false)
535
- },
536
- onLeave() {
537
- // Remove the 'show' class
538
- this.isShow = false
539
- },
540
- onAfterLeave() {
541
- this.isBlock = false
542
- this.isTransitioning = false
543
- this.isModalOverflowing = false
544
- this.isHidden = true
545
- this.$nextTick(() => {
546
- this.isClosing = false
547
- modalManager.unregisterModal(this)
548
- this.returnFocusTo()
549
- // TODO: Need to find a way to pass the `trigger` property
550
- // to the `hidden` event, not just only the `hide` event
551
- this.emitEvent(this.buildEvent(EVENT_NAME_HIDDEN))
552
- })
553
- },
554
- emitEvent(bvEvent) {
555
- const { type } = bvEvent
556
- // We emit on `$root` first in case a global listener wants to cancel
557
- // the event first before the instance emits its event
558
- this.emitOnRoot(getRootEventName(NAME_MODAL, type), bvEvent, bvEvent.componentId)
559
- this.$emit(type, bvEvent)
560
- },
561
- // UI event handlers
562
- onDialogMousedown() {
563
- // Watch to see if the matching mouseup event occurs outside the dialog
564
- // And if it does, cancel the clickOut handler
565
- const modal = this.$refs.modal
566
- const onceModalMouseup = event => {
567
- eventOff(modal, 'mouseup', onceModalMouseup, EVENT_OPTIONS_NO_CAPTURE)
568
- if (event.target === modal) {
569
- this.ignoreBackdropClick = true
570
- }
571
- }
572
- eventOn(modal, 'mouseup', onceModalMouseup, EVENT_OPTIONS_NO_CAPTURE)
573
- },
574
- onClickOut(event) {
575
- if (this.ignoreBackdropClick) {
576
- // Click was initiated inside the modal content, but finished outside.
577
- // Set by the above onDialogMousedown handler
578
- this.ignoreBackdropClick = false
579
- return
580
- }
581
- // Do nothing if not visible, backdrop click disabled, or element
582
- // that generated click event is no longer in document body
583
- if (!this.isVisible || this.noCloseOnBackdrop || !contains(document.body, event.target)) {
584
- return
585
- }
586
- // If backdrop clicked, hide modal
587
- if (!contains(this.$refs.content, event.target)) {
588
- this.hide(TRIGGER_BACKDROP)
589
- }
590
- },
591
- onOk() {
592
- this.hide(BUTTON_OK)
593
- },
594
- onCancel() {
595
- this.hide(BUTTON_CANCEL)
596
- },
597
- onClose() {
598
- this.hide(BUTTON_CLOSE)
599
- },
600
- onEsc(event) {
601
- // If ESC pressed, hide modal
602
- if (event.keyCode === CODE_ESC && this.isVisible && !this.noCloseOnEsc) {
603
- this.hide(TRIGGER_ESC)
604
- }
605
- },
606
- // Document focusin listener
607
- focusHandler(event) {
608
- // If focus leaves modal content, bring it back
609
- const content = this.$refs.content
610
- const { target } = event
611
- if (
612
- this.noEnforceFocus ||
613
- !this.isTop ||
614
- !this.isVisible ||
615
- !content ||
616
- document === target ||
617
- contains(content, target) ||
618
- (this.computeIgnoreEnforceFocusSelector &&
619
- closest(this.computeIgnoreEnforceFocusSelector, target, true))
620
- ) {
621
- return
622
- }
623
- const tabables = getTabables(this.$refs.content)
624
- const bottomTrap = this.$refs['bottom-trap']
625
- const topTrap = this.$refs['top-trap']
626
- if (bottomTrap && target === bottomTrap) {
627
- // If user pressed TAB out of modal into our bottom trab trap element
628
- // Find the first tabable element in the modal content and focus it
629
- if (attemptFocus(tabables[0])) {
630
- // Focus was successful
631
- return
632
- }
633
- } else if (topTrap && target === topTrap) {
634
- // If user pressed CTRL-TAB out of modal and into our top tab trap element
635
- // Find the last tabable element in the modal content and focus it
636
- if (attemptFocus(tabables[tabables.length - 1])) {
637
- // Focus was successful
638
- return
639
- }
640
- }
641
- // Otherwise focus the modal content container
642
- attemptFocus(content, { preventScroll: true })
643
- },
644
- // Turn on/off focusin listener
645
- setEnforceFocus(on) {
646
- this.listenDocument(on, 'focusin', this.focusHandler)
647
- },
648
- // Resize listener
649
- setResizeEvent(on) {
650
- this.listenWindow(on, 'resize', this.checkModalOverflow)
651
- this.listenWindow(on, 'orientationchange', this.checkModalOverflow)
652
- },
653
- // Root listener handlers
654
- showHandler(id, triggerEl) {
655
- if (id === this.modalId) {
656
- this.$_returnFocus = triggerEl || this.getActiveElement()
657
- this.show()
658
- }
659
- },
660
- hideHandler(id) {
661
- if (id === this.modalId) {
662
- this.hide('event')
663
- }
664
- },
665
- toggleHandler(id, triggerEl) {
666
- if (id === this.modalId) {
667
- this.toggle(triggerEl)
668
- }
669
- },
670
- modalListener(bvEvent) {
671
- // If another modal opens, close this one if stacking not permitted
672
- if (this.noStacking && bvEvent.vueTarget !== this) {
673
- this.hide()
674
- }
675
- },
676
- // Focus control handlers
677
- focusFirst() {
678
- // Don't try and focus if we are SSR
679
- if (IS_BROWSER) {
680
- requestAF(() => {
681
- const modal = this.$refs.modal
682
- const content = this.$refs.content
683
- const activeElement = this.getActiveElement()
684
- // If the modal contains the activeElement, we don't do anything
685
- if (modal && content && !(activeElement && contains(content, activeElement))) {
686
- const ok = this.$refs['ok-button']
687
- const cancel = this.$refs['cancel-button']
688
- const close = this.$refs['close-button']
689
- // Focus the appropriate button or modal content wrapper
690
- const autoFocus = this.autoFocusButton
691
- /* istanbul ignore next */
692
- const el =
693
- autoFocus === BUTTON_OK && ok
694
- ? ok.$el || ok
695
- : autoFocus === BUTTON_CANCEL && cancel
696
- ? cancel.$el || cancel
697
- : autoFocus === BUTTON_CLOSE && close
698
- ? close.$el || close
699
- : content
700
- // Focus the element
701
- attemptFocus(el)
702
- if (el === content) {
703
- // Make sure top of modal is showing (if longer than the viewport)
704
- this.$nextTick(() => {
705
- modal.scrollTop = 0
706
- })
707
- }
708
- }
709
- })
710
- }
711
- },
712
- returnFocusTo() {
713
- // Prefer `returnFocus` prop over event specified
714
- // `return_focus` value
715
- let el = this.returnFocus || this.$_returnFocus || null
716
- this.$_returnFocus = null
717
- this.$nextTick(() => {
718
- // Is el a string CSS selector?
719
- el = isString(el) ? select(el) : el
720
- if (el) {
721
- // Possibly could be a component reference
722
- el = el.$el || el
723
- attemptFocus(el)
724
- }
725
- })
726
- },
727
- checkModalOverflow() {
728
- if (this.isVisible) {
729
- const modal = this.$refs.modal
730
- this.isModalOverflowing = modal.scrollHeight > document.documentElement.clientHeight
731
- }
732
- },
733
- makeModal(h) {
734
- // Modal header
735
- let $header = h()
736
- if (!this.hideHeader) {
737
- // TODO: Rename slot to `header` and deprecate `modal-header`
738
- let $modalHeader = this.normalizeSlot(SLOT_NAME_MODAL_HEADER, this.slotScope)
739
- if (!$modalHeader) {
740
- let $closeButton = h()
741
- if (!this.hideHeaderClose) {
742
- $closeButton = h(
743
- BButtonClose,
744
- {
745
- props: {
746
- content: this.headerCloseContent,
747
- disabled: this.isTransitioning,
748
- ariaLabel: this.headerCloseLabel
749
- },
750
- on: { click: this.onClose },
751
- ref: 'close-button'
752
- },
753
- // TODO: Rename slot to `header-close` and deprecate `modal-header-close`
754
- [this.normalizeSlot(SLOT_NAME_MODAL_HEADER_CLOSE)]
755
- )
756
- }
757
-
758
- $modalHeader = [
759
- h(
760
- this.titleTag,
761
- {
762
- staticClass: 'modal-title',
763
- class: this.titleClasses,
764
- attrs: { id: this.modalTitleId },
765
- // TODO: Rename slot to `title` and deprecate `modal-title`
766
- domProps: this.hasNormalizedSlot(SLOT_NAME_MODAL_TITLE)
767
- ? {}
768
- : htmlOrText(this.titleHtml, this.title)
769
- },
770
- // TODO: Rename slot to `title` and deprecate `modal-title`
771
- this.normalizeSlot(SLOT_NAME_MODAL_TITLE, this.slotScope)
772
- ),
773
- $closeButton
774
- ]
775
- }
776
-
777
- $header = h(
778
- this.headerTag,
779
- {
780
- staticClass: 'modal-header',
781
- class: this.headerClass,
782
- attrs: { id: this.modalHeaderId },
783
- ref: 'header'
784
- },
785
- [$modalHeader]
786
- )
787
- }
788
-
789
- // Modal body
790
- const $body = h(
791
- 'div',
792
- {
793
- staticClass: 'modal-body',
794
- class: this.bodyClass,
795
- attrs: { id: this.modalBodyId },
796
- ref: 'body'
797
- },
798
- this.normalizeSlot(SLOT_NAME_DEFAULT, this.slotScope)
799
- )
800
-
801
- // Modal footer
802
- let $footer = h()
803
- if (!this.hideFooter) {
804
- // TODO: Rename slot to `footer` and deprecate `modal-footer`
805
- let $modalFooter = this.normalizeSlot(SLOT_NAME_MODAL_FOOTER, this.slotScope)
806
- if (!$modalFooter) {
807
- let $cancelButton = h()
808
- if (!this.okOnly) {
809
- $cancelButton = h(
810
- BButton,
811
- {
812
- props: {
813
- variant: this.cancelVariant,
814
- size: this.buttonSize,
815
- disabled: this.cancelDisabled || this.busy || this.isTransitioning
816
- },
817
- // TODO: Rename slot to `cancel-button` and deprecate `modal-cancel`
818
- domProps: this.hasNormalizedSlot(SLOT_NAME_MODAL_CANCEL)
819
- ? {}
820
- : htmlOrText(this.cancelTitleHtml, this.cancelTitle),
821
- on: { click: this.onCancel },
822
- ref: 'cancel-button'
823
- },
824
- // TODO: Rename slot to `cancel-button` and deprecate `modal-cancel`
825
- this.normalizeSlot(SLOT_NAME_MODAL_CANCEL)
826
- )
827
- }
828
-
829
- const $okButton = h(
830
- BButton,
831
- {
832
- props: {
833
- variant: this.okVariant,
834
- size: this.buttonSize,
835
- disabled: this.okDisabled || this.busy || this.isTransitioning
836
- },
837
- // TODO: Rename slot to `ok-button` and deprecate `modal-ok`
838
- domProps: this.hasNormalizedSlot(SLOT_NAME_MODAL_OK)
839
- ? {}
840
- : htmlOrText(this.okTitleHtml, this.okTitle),
841
- on: { click: this.onOk },
842
- ref: 'ok-button'
843
- },
844
- // TODO: Rename slot to `ok-button` and deprecate `modal-ok`
845
- this.normalizeSlot(SLOT_NAME_MODAL_OK)
846
- )
847
-
848
- $modalFooter = [$cancelButton, $okButton]
849
- }
850
-
851
- $footer = h(
852
- this.footerTag,
853
- {
854
- staticClass: 'modal-footer',
855
- class: this.footerClass,
856
- attrs: { id: this.modalFooterId },
857
- ref: 'footer'
858
- },
859
- [$modalFooter]
860
- )
861
- }
862
-
863
- // Assemble modal content
864
- const $modalContent = h(
865
- 'div',
866
- {
867
- staticClass: 'modal-content',
868
- class: this.contentClass,
869
- attrs: {
870
- id: this.modalContentId,
871
- tabindex: '-1'
872
- },
873
- ref: 'content'
874
- },
875
- [$header, $body, $footer]
876
- )
877
-
878
- // Tab traps to prevent page from scrolling to next element in
879
- // tab index during enforce-focus tab cycle
880
- let $tabTrapTop = h()
881
- let $tabTrapBottom = h()
882
- if (this.isVisible && !this.noEnforceFocus) {
883
- $tabTrapTop = h('span', {
884
- attrs: { tabindex: '0' },
885
- ref: 'top-trap'
886
- })
887
- $tabTrapBottom = h('span', {
888
- attrs: { tabindex: '0' },
889
- ref: 'bottom-trap'
890
- })
891
- }
892
-
893
- // Modal dialog wrapper
894
- const $modalDialog = h(
895
- 'div',
896
- {
897
- staticClass: 'modal-dialog',
898
- class: this.dialogClasses,
899
- on: { mousedown: this.onDialogMousedown },
900
- ref: 'dialog'
901
- },
902
- [$tabTrapTop, $modalContent, $tabTrapBottom]
903
- )
904
-
905
- // Modal
906
- let $modal = h(
907
- 'div',
908
- {
909
- staticClass: 'modal',
910
- class: this.modalClasses,
911
- style: this.modalStyles,
912
- attrs: this.computedModalAttrs,
913
- on: { keydown: this.onEsc, click: this.onClickOut },
914
- directives: [{ name: 'show', value: this.isVisible }],
915
- ref: 'modal'
916
- },
917
- [$modalDialog]
918
- )
919
-
920
- // Wrap modal in transition
921
- // Sadly, we can't use `BVTransition` here due to the differences in
922
- // transition durations for `.modal` and `.modal-dialog`
923
- // At least until https://github.com/vuejs/vue/issues/9986 is resolved
924
- $modal = h(
925
- 'transition',
926
- {
927
- props: {
928
- enterClass: '',
929
- enterToClass: '',
930
- enterActiveClass: '',
931
- leaveClass: '',
932
- leaveActiveClass: '',
933
- leaveToClass: ''
934
- },
935
- on: {
936
- beforeEnter: this.onBeforeEnter,
937
- enter: this.onEnter,
938
- afterEnter: this.onAfterEnter,
939
- beforeLeave: this.onBeforeLeave,
940
- leave: this.onLeave,
941
- afterLeave: this.onAfterLeave
942
- }
943
- },
944
- [$modal]
945
- )
946
-
947
- // Modal backdrop
948
- let $backdrop = h()
949
- if (!this.hideBackdrop && this.isVisible) {
950
- $backdrop = h(
951
- 'div',
952
- {
953
- staticClass: 'modal-backdrop',
954
- attrs: { id: this.modalBackdropId }
955
- },
956
- // TODO: Rename slot to `backdrop` and deprecate `modal-backdrop`
957
- this.normalizeSlot(SLOT_NAME_MODAL_BACKDROP)
958
- )
959
- }
960
- $backdrop = h(BVTransition, { props: { noFade: this.noFade } }, [$backdrop])
961
-
962
- // Assemble modal and backdrop in an outer <div>
963
- return h(
964
- 'div',
965
- {
966
- style: this.modalOuterStyle,
967
- attrs: this.computedAttrs,
968
- key: `modal-outer-${this[COMPONENT_UID_KEY]}`
969
- },
970
- [$modal, $backdrop]
971
- )
972
- }
973
- },
974
- render(h) {
975
- if (this.static) {
976
- return this.lazy && this.isHidden ? h() : this.makeModal(h)
977
- } else {
978
- return this.isHidden ? h() : h(BVTransporter, [this.makeModal(h)])
979
- }
980
- }
981
- })