@gitlab/duo-ui 3.0.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (575) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/components/chat/components/duo_chat_context/duo_chat_context_item_details_modal/duo_chat_context_item_details_modal.js +3 -3
  3. package/dist/components/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu.js +10 -10
  4. package/dist/components/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu_category_items.js +1 -1
  5. package/dist/components/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu_search_item.js +5 -15
  6. package/dist/components/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu_search_items.js +9 -9
  7. package/dist/components/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu_search_items_loading.js +2 -2
  8. package/dist/components/chat/components/duo_chat_context/duo_chat_context_item_popover/duo_chat_context_item_popover.js +3 -29
  9. package/dist/components/chat/components/duo_chat_context/duo_chat_context_item_selections/duo_chat_context_item_selections.js +7 -8
  10. package/dist/components/chat/components/duo_chat_context/utils.js +1 -102
  11. package/dist/components/chat/components/duo_chat_conversation/duo_chat_conversation.js +5 -5
  12. package/dist/components/chat/components/duo_chat_loader/duo_chat_loader.js +4 -4
  13. package/dist/components/chat/components/duo_chat_message/duo_chat_message.js +13 -13
  14. package/dist/components/chat/components/duo_chat_message_sources/duo_chat_message_sources.js +2 -2
  15. package/dist/components/chat/components/duo_chat_predefined_prompts/duo_chat_predefined_prompts.js +1 -1
  16. package/dist/components/chat/duo_chat.js +19 -19
  17. package/dist/tailwind.css +1 -1
  18. package/dist/tailwind.css.map +1 -1
  19. package/package.json +2 -5
  20. package/src/components/chat/components/duo_chat_context/duo_chat_context_item_details_modal/duo_chat_context_item_details_modal.vue +3 -3
  21. package/src/components/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu.vue +12 -12
  22. package/src/components/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu_category_items.vue +1 -1
  23. package/src/components/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu_search_item.vue +17 -24
  24. package/src/components/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu_search_items.vue +9 -9
  25. package/src/components/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu_search_items_loading.vue +2 -2
  26. package/src/components/chat/components/duo_chat_context/duo_chat_context_item_popover/duo_chat_context_item_popover.vue +25 -55
  27. package/src/components/chat/components/duo_chat_context/duo_chat_context_item_selections/duo_chat_context_item_selections.vue +10 -11
  28. package/src/components/chat/components/duo_chat_context/utils.js +0 -114
  29. package/src/components/chat/components/duo_chat_conversation/duo_chat_conversation.md +1 -1
  30. package/src/components/chat/components/duo_chat_conversation/duo_chat_conversation.vue +5 -5
  31. package/src/components/chat/components/duo_chat_loader/duo_chat_loader.vue +7 -7
  32. package/src/components/chat/components/duo_chat_message/duo_chat_message.md +2 -2
  33. package/src/components/chat/components/duo_chat_message/duo_chat_message.vue +14 -14
  34. package/src/components/chat/components/duo_chat_message_sources/duo_chat_message_sources.vue +2 -2
  35. package/src/components/chat/components/duo_chat_predefined_prompts/duo_chat_predefined_prompts.vue +1 -1
  36. package/src/components/chat/duo_chat.md +4 -4
  37. package/src/components/chat/duo_chat.vue +27 -30
  38. package/translations.js +36 -43
  39. package/src/vendor/bootstrap/LICENSE +0 -22
  40. package/src/vendor/bootstrap/scss/_alert.scss +0 -52
  41. package/src/vendor/bootstrap/scss/_badge.scss +0 -54
  42. package/src/vendor/bootstrap/scss/_breadcrumb.scss +0 -42
  43. package/src/vendor/bootstrap/scss/_button-group.scss +0 -163
  44. package/src/vendor/bootstrap/scss/_buttons.scss +0 -142
  45. package/src/vendor/bootstrap/scss/_card.scss +0 -286
  46. package/src/vendor/bootstrap/scss/_carousel.scss +0 -200
  47. package/src/vendor/bootstrap/scss/_close.scss +0 -40
  48. package/src/vendor/bootstrap/scss/_code.scss +0 -48
  49. package/src/vendor/bootstrap/scss/_custom-forms.scss +0 -526
  50. package/src/vendor/bootstrap/scss/_dropdown.scss +0 -192
  51. package/src/vendor/bootstrap/scss/_forms.scss +0 -347
  52. package/src/vendor/bootstrap/scss/_functions.scss +0 -190
  53. package/src/vendor/bootstrap/scss/_grid.scss +0 -73
  54. package/src/vendor/bootstrap/scss/_images.scss +0 -42
  55. package/src/vendor/bootstrap/scss/_input-group.scss +0 -211
  56. package/src/vendor/bootstrap/scss/_jumbotron.scss +0 -17
  57. package/src/vendor/bootstrap/scss/_list-group.scss +0 -154
  58. package/src/vendor/bootstrap/scss/_media.scss +0 -8
  59. package/src/vendor/bootstrap/scss/_mixins.scss +0 -47
  60. package/src/vendor/bootstrap/scss/_modal.scss +0 -240
  61. package/src/vendor/bootstrap/scss/_nav.scss +0 -125
  62. package/src/vendor/bootstrap/scss/_navbar.scss +0 -332
  63. package/src/vendor/bootstrap/scss/_pagination.scss +0 -74
  64. package/src/vendor/bootstrap/scss/_popover.scss +0 -170
  65. package/src/vendor/bootstrap/scss/_print.scss +0 -132
  66. package/src/vendor/bootstrap/scss/_progress.scss +0 -47
  67. package/src/vendor/bootstrap/scss/_reboot.scss +0 -484
  68. package/src/vendor/bootstrap/scss/_root.scss +0 -19
  69. package/src/vendor/bootstrap/scss/_spinners.scss +0 -65
  70. package/src/vendor/bootstrap/scss/_tables.scss +0 -185
  71. package/src/vendor/bootstrap/scss/_toasts.scss +0 -46
  72. package/src/vendor/bootstrap/scss/_tooltip.scss +0 -115
  73. package/src/vendor/bootstrap/scss/_transitions.scss +0 -26
  74. package/src/vendor/bootstrap/scss/_type.scss +0 -125
  75. package/src/vendor/bootstrap/scss/_utilities.scss +0 -18
  76. package/src/vendor/bootstrap/scss/_variables.scss +0 -1149
  77. package/src/vendor/bootstrap/scss/bootstrap-grid.scss +0 -30
  78. package/src/vendor/bootstrap/scss/bootstrap-reboot.scss +0 -12
  79. package/src/vendor/bootstrap/scss/bootstrap.scss +0 -44
  80. package/src/vendor/bootstrap/scss/mixins/_alert.scss +0 -13
  81. package/src/vendor/bootstrap/scss/mixins/_background-variant.scss +0 -23
  82. package/src/vendor/bootstrap/scss/mixins/_badge.scss +0 -17
  83. package/src/vendor/bootstrap/scss/mixins/_border-radius.scss +0 -76
  84. package/src/vendor/bootstrap/scss/mixins/_box-shadow.scss +0 -20
  85. package/src/vendor/bootstrap/scss/mixins/_breakpoints.scss +0 -123
  86. package/src/vendor/bootstrap/scss/mixins/_buttons.scss +0 -110
  87. package/src/vendor/bootstrap/scss/mixins/_caret.scss +0 -62
  88. package/src/vendor/bootstrap/scss/mixins/_clearfix.scss +0 -7
  89. package/src/vendor/bootstrap/scss/mixins/_deprecate.scss +0 -10
  90. package/src/vendor/bootstrap/scss/mixins/_float.scss +0 -14
  91. package/src/vendor/bootstrap/scss/mixins/_forms.scss +0 -195
  92. package/src/vendor/bootstrap/scss/mixins/_gradients.scss +0 -45
  93. package/src/vendor/bootstrap/scss/mixins/_grid-framework.scss +0 -80
  94. package/src/vendor/bootstrap/scss/mixins/_grid.scss +0 -69
  95. package/src/vendor/bootstrap/scss/mixins/_hover.scss +0 -37
  96. package/src/vendor/bootstrap/scss/mixins/_image.scss +0 -36
  97. package/src/vendor/bootstrap/scss/mixins/_list-group.scss +0 -21
  98. package/src/vendor/bootstrap/scss/mixins/_lists.scss +0 -7
  99. package/src/vendor/bootstrap/scss/mixins/_nav-divider.scss +0 -11
  100. package/src/vendor/bootstrap/scss/mixins/_pagination.scss +0 -22
  101. package/src/vendor/bootstrap/scss/mixins/_reset-text.scss +0 -17
  102. package/src/vendor/bootstrap/scss/mixins/_resize.scss +0 -6
  103. package/src/vendor/bootstrap/scss/mixins/_screen-reader.scss +0 -34
  104. package/src/vendor/bootstrap/scss/mixins/_size.scss +0 -7
  105. package/src/vendor/bootstrap/scss/mixins/_table-row.scss +0 -39
  106. package/src/vendor/bootstrap/scss/mixins/_text-emphasis.scss +0 -17
  107. package/src/vendor/bootstrap/scss/mixins/_text-hide.scss +0 -11
  108. package/src/vendor/bootstrap/scss/mixins/_text-truncate.scss +0 -8
  109. package/src/vendor/bootstrap/scss/mixins/_transition.scss +0 -26
  110. package/src/vendor/bootstrap/scss/mixins/_visibility.scss +0 -8
  111. package/src/vendor/bootstrap/scss/utilities/_align.scss +0 -8
  112. package/src/vendor/bootstrap/scss/utilities/_background.scss +0 -19
  113. package/src/vendor/bootstrap/scss/utilities/_borders.scss +0 -75
  114. package/src/vendor/bootstrap/scss/utilities/_clearfix.scss +0 -3
  115. package/src/vendor/bootstrap/scss/utilities/_display.scss +0 -26
  116. package/src/vendor/bootstrap/scss/utilities/_embed.scss +0 -39
  117. package/src/vendor/bootstrap/scss/utilities/_flex.scss +0 -51
  118. package/src/vendor/bootstrap/scss/utilities/_float.scss +0 -11
  119. package/src/vendor/bootstrap/scss/utilities/_interactions.scss +0 -5
  120. package/src/vendor/bootstrap/scss/utilities/_overflow.scss +0 -5
  121. package/src/vendor/bootstrap/scss/utilities/_position.scss +0 -32
  122. package/src/vendor/bootstrap/scss/utilities/_screenreaders.scss +0 -11
  123. package/src/vendor/bootstrap/scss/utilities/_shadows.scss +0 -6
  124. package/src/vendor/bootstrap/scss/utilities/_sizing.scss +0 -20
  125. package/src/vendor/bootstrap/scss/utilities/_spacing.scss +0 -73
  126. package/src/vendor/bootstrap/scss/utilities/_stretched-link.scss +0 -19
  127. package/src/vendor/bootstrap/scss/utilities/_text.scss +0 -72
  128. package/src/vendor/bootstrap/scss/utilities/_visibility.scss +0 -13
  129. package/src/vendor/bootstrap/scss/vendor/_rfs.scss +0 -228
  130. package/src/vendor/bootstrap-vue/LICENSE +0 -21
  131. package/src/vendor/bootstrap-vue/nuxt/index.js +0 -164
  132. package/src/vendor/bootstrap-vue/nuxt/plugin.template.js +0 -29
  133. package/src/vendor/bootstrap-vue/package.json +0 -201
  134. package/src/vendor/bootstrap-vue/src/_utilities.scss +0 -13
  135. package/src/vendor/bootstrap-vue/src/_variables.scss +0 -111
  136. package/src/vendor/bootstrap-vue/src/browser.js +0 -9
  137. package/src/vendor/bootstrap-vue/src/bv-config.d.ts +0 -4
  138. package/src/vendor/bootstrap-vue/src/bv-config.js +0 -6
  139. package/src/vendor/bootstrap-vue/src/components/badge/README.md +0 -126
  140. package/src/vendor/bootstrap-vue/src/components/badge/badge.js +0 -55
  141. package/src/vendor/bootstrap-vue/src/components/badge/badge.spec.js +0 -141
  142. package/src/vendor/bootstrap-vue/src/components/badge/index.d.ts +0 -7
  143. package/src/vendor/bootstrap-vue/src/components/badge/index.js +0 -3
  144. package/src/vendor/bootstrap-vue/src/components/badge/package.json +0 -29
  145. package/src/vendor/bootstrap-vue/src/components/breadcrumb/README.md +0 -93
  146. package/src/vendor/bootstrap-vue/src/components/breadcrumb/breadcrumb-item.js +0 -27
  147. package/src/vendor/bootstrap-vue/src/components/breadcrumb/breadcrumb-item.spec.js +0 -123
  148. package/src/vendor/bootstrap-vue/src/components/breadcrumb/breadcrumb-link.js +0 -43
  149. package/src/vendor/bootstrap-vue/src/components/breadcrumb/breadcrumb-link.spec.js +0 -117
  150. package/src/vendor/bootstrap-vue/src/components/breadcrumb/breadcrumb.js +0 -52
  151. package/src/vendor/bootstrap-vue/src/components/breadcrumb/breadcrumb.spec.js +0 -183
  152. package/src/vendor/bootstrap-vue/src/components/breadcrumb/index.d.ts +0 -13
  153. package/src/vendor/bootstrap-vue/src/components/breadcrumb/index.js +0 -5
  154. package/src/vendor/bootstrap-vue/src/components/breadcrumb/package.json +0 -62
  155. package/src/vendor/bootstrap-vue/src/components/button/README.md +0 -281
  156. package/src/vendor/bootstrap-vue/src/components/button/button-close.js +0 -65
  157. package/src/vendor/bootstrap-vue/src/components/button/button-close.spec.js +0 -210
  158. package/src/vendor/bootstrap-vue/src/components/button/button.js +0 -179
  159. package/src/vendor/bootstrap-vue/src/components/button/button.spec.js +0 -385
  160. package/src/vendor/bootstrap-vue/src/components/button/index.d.ts +0 -10
  161. package/src/vendor/bootstrap-vue/src/components/button/index.js +0 -4
  162. package/src/vendor/bootstrap-vue/src/components/button/package.json +0 -105
  163. package/src/vendor/bootstrap-vue/src/components/button-group/README.md +0 -112
  164. package/src/vendor/bootstrap-vue/src/components/button-group/button-group.js +0 -42
  165. package/src/vendor/bootstrap-vue/src/components/button-group/button-group.spec.js +0 -98
  166. package/src/vendor/bootstrap-vue/src/components/button-group/index.d.ts +0 -7
  167. package/src/vendor/bootstrap-vue/src/components/button-group/index.js +0 -3
  168. package/src/vendor/bootstrap-vue/src/components/button-group/package.json +0 -29
  169. package/src/vendor/bootstrap-vue/src/components/collapse/README.md +0 -321
  170. package/src/vendor/bootstrap-vue/src/components/collapse/collapse.js +0 -272
  171. package/src/vendor/bootstrap-vue/src/components/collapse/collapse.spec.js +0 -558
  172. package/src/vendor/bootstrap-vue/src/components/collapse/helpers/bv-collapse.js +0 -88
  173. package/src/vendor/bootstrap-vue/src/components/collapse/index.d.ts +0 -9
  174. package/src/vendor/bootstrap-vue/src/components/collapse/index.js +0 -3
  175. package/src/vendor/bootstrap-vue/src/components/collapse/package.json +0 -111
  176. package/src/vendor/bootstrap-vue/src/components/dropdown/README.md +0 -730
  177. package/src/vendor/bootstrap-vue/src/components/dropdown/_dropdown-form.scss +0 -38
  178. package/src/vendor/bootstrap-vue/src/components/dropdown/_dropdown-text.scss +0 -17
  179. package/src/vendor/bootstrap-vue/src/components/dropdown/_dropdown.scss +0 -58
  180. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-divider.js +0 -36
  181. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-divider.spec.js +0 -58
  182. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-form.js +0 -47
  183. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-form.spec.js +0 -110
  184. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-group.js +0 -76
  185. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-group.spec.js +0 -94
  186. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-header.js +0 -46
  187. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-header.spec.js +0 -73
  188. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-item-button.js +0 -93
  189. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-item-button.spec.js +0 -117
  190. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-item.js +0 -87
  191. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-item.spec.js +0 -147
  192. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-text.js +0 -42
  193. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-text.spec.js +0 -59
  194. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown.js +0 -202
  195. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown.spec.js +0 -1121
  196. package/src/vendor/bootstrap-vue/src/components/dropdown/index.d.ts +0 -32
  197. package/src/vendor/bootstrap-vue/src/components/dropdown/index.js +0 -19
  198. package/src/vendor/bootstrap-vue/src/components/dropdown/index.scss +0 -3
  199. package/src/vendor/bootstrap-vue/src/components/dropdown/package.json +0 -368
  200. package/src/vendor/bootstrap-vue/src/components/form/README.md +0 -370
  201. package/src/vendor/bootstrap-vue/src/components/form/form-invalid-feedback.js +0 -51
  202. package/src/vendor/bootstrap-vue/src/components/form/form-invalid-feedback.spec.js +0 -170
  203. package/src/vendor/bootstrap-vue/src/components/form/form-text.js +0 -40
  204. package/src/vendor/bootstrap-vue/src/components/form/form-text.spec.js +0 -93
  205. package/src/vendor/bootstrap-vue/src/components/form/form-valid-feedback.js +0 -51
  206. package/src/vendor/bootstrap-vue/src/components/form/form-valid-feedback.spec.js +0 -157
  207. package/src/vendor/bootstrap-vue/src/components/form/form.js +0 -41
  208. package/src/vendor/bootstrap-vue/src/components/form/form.spec.js +0 -97
  209. package/src/vendor/bootstrap-vue/src/components/form/index.d.ts +0 -16
  210. package/src/vendor/bootstrap-vue/src/components/form/index.js +0 -7
  211. package/src/vendor/bootstrap-vue/src/components/form/package.json +0 -112
  212. package/src/vendor/bootstrap-vue/src/components/form-checkbox/README.md +0 -862
  213. package/src/vendor/bootstrap-vue/src/components/form-checkbox/_form-checkbox-group.scss +0 -2
  214. package/src/vendor/bootstrap-vue/src/components/form-checkbox/_form-checkbox.scss +0 -125
  215. package/src/vendor/bootstrap-vue/src/components/form-checkbox/form-checkbox-group.js +0 -42
  216. package/src/vendor/bootstrap-vue/src/components/form-checkbox/form-checkbox-group.spec.js +0 -642
  217. package/src/vendor/bootstrap-vue/src/components/form-checkbox/form-checkbox.js +0 -132
  218. package/src/vendor/bootstrap-vue/src/components/form-checkbox/form-checkbox.spec.js +0 -1331
  219. package/src/vendor/bootstrap-vue/src/components/form-checkbox/index.d.ts +0 -10
  220. package/src/vendor/bootstrap-vue/src/components/form-checkbox/index.js +0 -4
  221. package/src/vendor/bootstrap-vue/src/components/form-checkbox/index.scss +0 -2
  222. package/src/vendor/bootstrap-vue/src/components/form-checkbox/package.json +0 -172
  223. package/src/vendor/bootstrap-vue/src/components/form-group/README.md +0 -337
  224. package/src/vendor/bootstrap-vue/src/components/form-group/form-group.js +0 -403
  225. package/src/vendor/bootstrap-vue/src/components/form-group/form-group.spec.js +0 -477
  226. package/src/vendor/bootstrap-vue/src/components/form-group/index.d.ts +0 -7
  227. package/src/vendor/bootstrap-vue/src/components/form-group/index.js +0 -3
  228. package/src/vendor/bootstrap-vue/src/components/form-group/package.json +0 -183
  229. package/src/vendor/bootstrap-vue/src/components/form-input/README.md +0 -612
  230. package/src/vendor/bootstrap-vue/src/components/form-input/_form-input.scss +0 -217
  231. package/src/vendor/bootstrap-vue/src/components/form-input/form-input.js +0 -168
  232. package/src/vendor/bootstrap-vue/src/components/form-input/form-input.spec.js +0 -986
  233. package/src/vendor/bootstrap-vue/src/components/form-input/index.d.ts +0 -9
  234. package/src/vendor/bootstrap-vue/src/components/form-input/index.js +0 -3
  235. package/src/vendor/bootstrap-vue/src/components/form-input/index.scss +0 -1
  236. package/src/vendor/bootstrap-vue/src/components/form-input/package.json +0 -135
  237. package/src/vendor/bootstrap-vue/src/components/form-radio/README.md +0 -566
  238. package/src/vendor/bootstrap-vue/src/components/form-radio/_form-radio-group.scss +0 -3
  239. package/src/vendor/bootstrap-vue/src/components/form-radio/_form-radio.scss +0 -47
  240. package/src/vendor/bootstrap-vue/src/components/form-radio/form-radio-group.js +0 -30
  241. package/src/vendor/bootstrap-vue/src/components/form-radio/form-radio-group.spec.js +0 -469
  242. package/src/vendor/bootstrap-vue/src/components/form-radio/form-radio.js +0 -28
  243. package/src/vendor/bootstrap-vue/src/components/form-radio/form-radio.spec.js +0 -952
  244. package/src/vendor/bootstrap-vue/src/components/form-radio/index.d.ts +0 -10
  245. package/src/vendor/bootstrap-vue/src/components/form-radio/index.js +0 -4
  246. package/src/vendor/bootstrap-vue/src/components/form-radio/index.scss +0 -2
  247. package/src/vendor/bootstrap-vue/src/components/form-radio/package.json +0 -162
  248. package/src/vendor/bootstrap-vue/src/components/form-select/README.md +0 -504
  249. package/src/vendor/bootstrap-vue/src/components/form-select/form-select-option-group.js +0 -48
  250. package/src/vendor/bootstrap-vue/src/components/form-select/form-select-option-group.spec.js +0 -138
  251. package/src/vendor/bootstrap-vue/src/components/form-select/form-select-option.js +0 -35
  252. package/src/vendor/bootstrap-vue/src/components/form-select/form-select-option.spec.js +0 -75
  253. package/src/vendor/bootstrap-vue/src/components/form-select/form-select.js +0 -153
  254. package/src/vendor/bootstrap-vue/src/components/form-select/form-select.spec.js +0 -723
  255. package/src/vendor/bootstrap-vue/src/components/form-select/helpers/mixin-options.js +0 -56
  256. package/src/vendor/bootstrap-vue/src/components/form-select/index.d.ts +0 -13
  257. package/src/vendor/bootstrap-vue/src/components/form-select/index.js +0 -5
  258. package/src/vendor/bootstrap-vue/src/components/form-select/package.json +0 -132
  259. package/src/vendor/bootstrap-vue/src/components/form-textarea/README.md +0 -453
  260. package/src/vendor/bootstrap-vue/src/components/form-textarea/form-textarea.js +0 -226
  261. package/src/vendor/bootstrap-vue/src/components/form-textarea/form-textarea.spec.js +0 -1000
  262. package/src/vendor/bootstrap-vue/src/components/form-textarea/index.d.ts +0 -9
  263. package/src/vendor/bootstrap-vue/src/components/form-textarea/index.js +0 -3
  264. package/src/vendor/bootstrap-vue/src/components/form-textarea/package.json +0 -122
  265. package/src/vendor/bootstrap-vue/src/components/index.d.ts +0 -31
  266. package/src/vendor/bootstrap-vue/src/components/index.js +0 -11
  267. package/src/vendor/bootstrap-vue/src/components/index.scss +0 -12
  268. package/src/vendor/bootstrap-vue/src/components/input-group/README.md +0 -334
  269. package/src/vendor/bootstrap-vue/src/components/input-group/_input-group.scss +0 -29
  270. package/src/vendor/bootstrap-vue/src/components/input-group/index.d.ts +0 -19
  271. package/src/vendor/bootstrap-vue/src/components/input-group/index.js +0 -7
  272. package/src/vendor/bootstrap-vue/src/components/input-group/index.scss +0 -1
  273. package/src/vendor/bootstrap-vue/src/components/input-group/input-group-addon.js +0 -43
  274. package/src/vendor/bootstrap-vue/src/components/input-group/input-group-append.js +0 -31
  275. package/src/vendor/bootstrap-vue/src/components/input-group/input-group-append.spec.js +0 -84
  276. package/src/vendor/bootstrap-vue/src/components/input-group/input-group-prepend.js +0 -31
  277. package/src/vendor/bootstrap-vue/src/components/input-group/input-group-prepend.spec.js +0 -84
  278. package/src/vendor/bootstrap-vue/src/components/input-group/input-group-text.js +0 -31
  279. package/src/vendor/bootstrap-vue/src/components/input-group/input-group-text.spec.js +0 -45
  280. package/src/vendor/bootstrap-vue/src/components/input-group/input-group.js +0 -73
  281. package/src/vendor/bootstrap-vue/src/components/input-group/input-group.spec.js +0 -153
  282. package/src/vendor/bootstrap-vue/src/components/input-group/package.json +0 -109
  283. package/src/vendor/bootstrap-vue/src/components/layout/README.md +0 -791
  284. package/src/vendor/bootstrap-vue/src/components/layout/col.js +0 -154
  285. package/src/vendor/bootstrap-vue/src/components/layout/col.spec.js +0 -192
  286. package/src/vendor/bootstrap-vue/src/components/layout/form-row.js +0 -31
  287. package/src/vendor/bootstrap-vue/src/components/layout/form-row.spec.js +0 -45
  288. package/src/vendor/bootstrap-vue/src/components/layout/index.d.ts +0 -10
  289. package/src/vendor/bootstrap-vue/src/components/layout/index.js +0 -4
  290. package/src/vendor/bootstrap-vue/src/components/layout/package.json +0 -99
  291. package/src/vendor/bootstrap-vue/src/components/link/README.md +0 -76
  292. package/src/vendor/bootstrap-vue/src/components/link/index.d.ts +0 -10
  293. package/src/vendor/bootstrap-vue/src/components/link/index.js +0 -3
  294. package/src/vendor/bootstrap-vue/src/components/link/link.js +0 -212
  295. package/src/vendor/bootstrap-vue/src/components/link/link.spec.js +0 -434
  296. package/src/vendor/bootstrap-vue/src/components/link/package.json +0 -57
  297. package/src/vendor/bootstrap-vue/src/components/modal/MODIFICATIONS.md +0 -27
  298. package/src/vendor/bootstrap-vue/src/components/modal/README.md +0 -1068
  299. package/src/vendor/bootstrap-vue/src/components/modal/_modal.scss +0 -5
  300. package/src/vendor/bootstrap-vue/src/components/modal/helpers/bv-modal-event.class.js +0 -22
  301. package/src/vendor/bootstrap-vue/src/components/modal/helpers/bv-modal-event.class.spec.js +0 -82
  302. package/src/vendor/bootstrap-vue/src/components/modal/helpers/modal-manager.js +0 -219
  303. package/src/vendor/bootstrap-vue/src/components/modal/index.d.ts +0 -82
  304. package/src/vendor/bootstrap-vue/src/components/modal/index.js +0 -3
  305. package/src/vendor/bootstrap-vue/src/components/modal/index.scss +0 -1
  306. package/src/vendor/bootstrap-vue/src/components/modal/modal.js +0 -981
  307. package/src/vendor/bootstrap-vue/src/components/modal/modal.spec.js +0 -1418
  308. package/src/vendor/bootstrap-vue/src/components/modal/package.json +0 -548
  309. package/src/vendor/bootstrap-vue/src/components/nav/README.md +0 -480
  310. package/src/vendor/bootstrap-vue/src/components/nav/_nav-item-dropdown.scss +0 -1
  311. package/src/vendor/bootstrap-vue/src/components/nav/index.d.ts +0 -17
  312. package/src/vendor/bootstrap-vue/src/components/nav/index.js +0 -5
  313. package/src/vendor/bootstrap-vue/src/components/nav/index.scss +0 -1
  314. package/src/vendor/bootstrap-vue/src/components/nav/nav-item-dropdown.js +0 -123
  315. package/src/vendor/bootstrap-vue/src/components/nav/nav-item-dropdown.spec.js +0 -268
  316. package/src/vendor/bootstrap-vue/src/components/nav/nav-item.js +0 -49
  317. package/src/vendor/bootstrap-vue/src/components/nav/nav-item.spec.js +0 -127
  318. package/src/vendor/bootstrap-vue/src/components/nav/nav.js +0 -60
  319. package/src/vendor/bootstrap-vue/src/components/nav/nav.spec.js +0 -244
  320. package/src/vendor/bootstrap-vue/src/components/nav/package.json +0 -190
  321. package/src/vendor/bootstrap-vue/src/components/navbar/README.md +0 -333
  322. package/src/vendor/bootstrap-vue/src/components/navbar/_navbar.scss +0 -1
  323. package/src/vendor/bootstrap-vue/src/components/navbar/index.d.ts +0 -10
  324. package/src/vendor/bootstrap-vue/src/components/navbar/index.js +0 -4
  325. package/src/vendor/bootstrap-vue/src/components/navbar/index.scss +0 -1
  326. package/src/vendor/bootstrap-vue/src/components/navbar/navbar-brand.js +0 -42
  327. package/src/vendor/bootstrap-vue/src/components/navbar/navbar-brand.spec.js +0 -50
  328. package/src/vendor/bootstrap-vue/src/components/navbar/navbar.js +0 -78
  329. package/src/vendor/bootstrap-vue/src/components/navbar/navbar.spec.js +0 -130
  330. package/src/vendor/bootstrap-vue/src/components/navbar/package.json +0 -54
  331. package/src/vendor/bootstrap-vue/src/components/popover/README.md +0 -919
  332. package/src/vendor/bootstrap-vue/src/components/popover/_popover.scss +0 -113
  333. package/src/vendor/bootstrap-vue/src/components/popover/helpers/bv-popover-template.js +0 -50
  334. package/src/vendor/bootstrap-vue/src/components/popover/helpers/bv-popover.js +0 -28
  335. package/src/vendor/bootstrap-vue/src/components/popover/index.d.ts +0 -7
  336. package/src/vendor/bootstrap-vue/src/components/popover/index.js +0 -3
  337. package/src/vendor/bootstrap-vue/src/components/popover/index.scss +0 -1
  338. package/src/vendor/bootstrap-vue/src/components/popover/package.json +0 -261
  339. package/src/vendor/bootstrap-vue/src/components/popover/popover.js +0 -46
  340. package/src/vendor/bootstrap-vue/src/components/popover/popover.spec.js +0 -199
  341. package/src/vendor/bootstrap-vue/src/components/progress/MODIFICATIONS.md +0 -23
  342. package/src/vendor/bootstrap-vue/src/components/progress/README.md +0 -363
  343. package/src/vendor/bootstrap-vue/src/components/progress/index.d.ts +0 -10
  344. package/src/vendor/bootstrap-vue/src/components/progress/index.js +0 -4
  345. package/src/vendor/bootstrap-vue/src/components/progress/package.json +0 -109
  346. package/src/vendor/bootstrap-vue/src/components/progress/progress-bar.js +0 -133
  347. package/src/vendor/bootstrap-vue/src/components/progress/progress-bar.spec.js +0 -270
  348. package/src/vendor/bootstrap-vue/src/components/progress/progress.js +0 -57
  349. package/src/vendor/bootstrap-vue/src/components/progress/progress.spec.js +0 -71
  350. package/src/vendor/bootstrap-vue/src/components/table/README.md +0 -3157
  351. package/src/vendor/bootstrap-vue/src/components/table/_table.scss +0 -474
  352. package/src/vendor/bootstrap-vue/src/components/table/helpers/constants.js +0 -30
  353. package/src/vendor/bootstrap-vue/src/components/table/helpers/default-sort-compare.js +0 -60
  354. package/src/vendor/bootstrap-vue/src/components/table/helpers/default-sort-compare.spec.js +0 -112
  355. package/src/vendor/bootstrap-vue/src/components/table/helpers/filter-event.js +0 -38
  356. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-bottom-row.js +0 -44
  357. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-busy.js +0 -88
  358. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-caption.js +0 -49
  359. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-colgroup.js +0 -27
  360. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-empty.js +0 -105
  361. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-filtering.js +0 -271
  362. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-items.js +0 -146
  363. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-pagination.js +0 -38
  364. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-provider.js +0 -188
  365. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-selectable.js +0 -241
  366. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-sorting.js +0 -299
  367. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-stacked.js +0 -33
  368. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-table-renderer.js +0 -209
  369. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody-row.js +0 -360
  370. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody.js +0 -258
  371. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-tfoot.js +0 -55
  372. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-thead.js +0 -238
  373. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-top-row.js +0 -37
  374. package/src/vendor/bootstrap-vue/src/components/table/helpers/normalize-fields.js +0 -71
  375. package/src/vendor/bootstrap-vue/src/components/table/helpers/normalize-fields.spec.js +0 -93
  376. package/src/vendor/bootstrap-vue/src/components/table/helpers/sanitize-row.js +0 -39
  377. package/src/vendor/bootstrap-vue/src/components/table/helpers/stringify-record-values.js +0 -11
  378. package/src/vendor/bootstrap-vue/src/components/table/helpers/text-selection-active.js +0 -13
  379. package/src/vendor/bootstrap-vue/src/components/table/index.d.ts +0 -237
  380. package/src/vendor/bootstrap-vue/src/components/table/index.js +0 -23
  381. package/src/vendor/bootstrap-vue/src/components/table/index.scss +0 -1
  382. package/src/vendor/bootstrap-vue/src/components/table/package.json +0 -1763
  383. package/src/vendor/bootstrap-vue/src/components/table/table-busy.spec.js +0 -150
  384. package/src/vendor/bootstrap-vue/src/components/table/table-caption.spec.js +0 -176
  385. package/src/vendor/bootstrap-vue/src/components/table/table-colgroup.spec.js +0 -81
  386. package/src/vendor/bootstrap-vue/src/components/table/table-filtering.spec.js +0 -409
  387. package/src/vendor/bootstrap-vue/src/components/table/table-item-formatter.spec.js +0 -56
  388. package/src/vendor/bootstrap-vue/src/components/table/table-lite.js +0 -63
  389. package/src/vendor/bootstrap-vue/src/components/table/table-lite.spec.js +0 -682
  390. package/src/vendor/bootstrap-vue/src/components/table/table-pagination.spec.js +0 -133
  391. package/src/vendor/bootstrap-vue/src/components/table/table-primarykey.spec.js +0 -83
  392. package/src/vendor/bootstrap-vue/src/components/table/table-provider.spec.js +0 -411
  393. package/src/vendor/bootstrap-vue/src/components/table/table-row-details.spec.js +0 -459
  394. package/src/vendor/bootstrap-vue/src/components/table/table-selectable.spec.js +0 -1182
  395. package/src/vendor/bootstrap-vue/src/components/table/table-simple.js +0 -50
  396. package/src/vendor/bootstrap-vue/src/components/table/table-simple.spec.js +0 -206
  397. package/src/vendor/bootstrap-vue/src/components/table/table-sorting.spec.js +0 -858
  398. package/src/vendor/bootstrap-vue/src/components/table/table-sticky-column.spec.js +0 -377
  399. package/src/vendor/bootstrap-vue/src/components/table/table-tbody-bottom-row.spec.js +0 -94
  400. package/src/vendor/bootstrap-vue/src/components/table/table-tbody-row-events.spec.js +0 -529
  401. package/src/vendor/bootstrap-vue/src/components/table/table-tbody-top-row.spec.js +0 -88
  402. package/src/vendor/bootstrap-vue/src/components/table/table-tbody-transition.spec.js +0 -83
  403. package/src/vendor/bootstrap-vue/src/components/table/table-tfoot-custom.spec.js +0 -91
  404. package/src/vendor/bootstrap-vue/src/components/table/table-tfoot-events.spec.js +0 -137
  405. package/src/vendor/bootstrap-vue/src/components/table/table-thead-events.spec.js +0 -155
  406. package/src/vendor/bootstrap-vue/src/components/table/table-thead-top.spec.js +0 -96
  407. package/src/vendor/bootstrap-vue/src/components/table/table.js +0 -89
  408. package/src/vendor/bootstrap-vue/src/components/table/table.spec.js +0 -692
  409. package/src/vendor/bootstrap-vue/src/components/table/tbody.js +0 -103
  410. package/src/vendor/bootstrap-vue/src/components/table/td.js +0 -195
  411. package/src/vendor/bootstrap-vue/src/components/table/tfoot.js +0 -95
  412. package/src/vendor/bootstrap-vue/src/components/table/th.js +0 -25
  413. package/src/vendor/bootstrap-vue/src/components/table/thead.js +0 -98
  414. package/src/vendor/bootstrap-vue/src/components/table/tr.js +0 -122
  415. package/src/vendor/bootstrap-vue/src/components/tabs/README.md +0 -575
  416. package/src/vendor/bootstrap-vue/src/components/tabs/index.d.ts +0 -13
  417. package/src/vendor/bootstrap-vue/src/components/tabs/index.js +0 -4
  418. package/src/vendor/bootstrap-vue/src/components/tabs/package.json +0 -205
  419. package/src/vendor/bootstrap-vue/src/components/tabs/tab.js +0 -197
  420. package/src/vendor/bootstrap-vue/src/components/tabs/tab.spec.js +0 -330
  421. package/src/vendor/bootstrap-vue/src/components/tabs/tabs.js +0 -688
  422. package/src/vendor/bootstrap-vue/src/components/tabs/tabs.spec.js +0 -836
  423. package/src/vendor/bootstrap-vue/src/components/toast/README.md +0 -656
  424. package/src/vendor/bootstrap-vue/src/components/toast/_toast.scss +0 -79
  425. package/src/vendor/bootstrap-vue/src/components/toast/_toaster-transition.scss +0 -45
  426. package/src/vendor/bootstrap-vue/src/components/toast/_toaster.scss +0 -108
  427. package/src/vendor/bootstrap-vue/src/components/toast/helpers/bv-toast.js +0 -208
  428. package/src/vendor/bootstrap-vue/src/components/toast/helpers/bv-toast.spec.js +0 -131
  429. package/src/vendor/bootstrap-vue/src/components/toast/index.d.ts +0 -70
  430. package/src/vendor/bootstrap-vue/src/components/toast/index.js +0 -12
  431. package/src/vendor/bootstrap-vue/src/components/toast/index.scss +0 -3
  432. package/src/vendor/bootstrap-vue/src/components/toast/package.json +0 -188
  433. package/src/vendor/bootstrap-vue/src/components/toast/toast.js +0 -454
  434. package/src/vendor/bootstrap-vue/src/components/toast/toast.spec.js +0 -346
  435. package/src/vendor/bootstrap-vue/src/components/toast/toaster.js +0 -139
  436. package/src/vendor/bootstrap-vue/src/components/toast/toaster.spec.js +0 -77
  437. package/src/vendor/bootstrap-vue/src/components/tooltip/README.md +0 -559
  438. package/src/vendor/bootstrap-vue/src/components/tooltip/_tooltip.scss +0 -86
  439. package/src/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-popper.js +0 -248
  440. package/src/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip-template.js +0 -130
  441. package/src/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip.js +0 -977
  442. package/src/vendor/bootstrap-vue/src/components/tooltip/index.d.ts +0 -7
  443. package/src/vendor/bootstrap-vue/src/components/tooltip/index.js +0 -3
  444. package/src/vendor/bootstrap-vue/src/components/tooltip/index.scss +0 -1
  445. package/src/vendor/bootstrap-vue/src/components/tooltip/package.json +0 -258
  446. package/src/vendor/bootstrap-vue/src/components/tooltip/tooltip.js +0 -316
  447. package/src/vendor/bootstrap-vue/src/components/tooltip/tooltip.spec.js +0 -1529
  448. package/src/vendor/bootstrap-vue/src/components/transition/bv-transition.js +0 -83
  449. package/src/vendor/bootstrap-vue/src/components/transition/package.json +0 -5
  450. package/src/vendor/bootstrap-vue/src/components/transporter/package.json +0 -5
  451. package/src/vendor/bootstrap-vue/src/components/transporter/transporter.js +0 -202
  452. package/src/vendor/bootstrap-vue/src/components/transporter/transporter.spec.js +0 -85
  453. package/src/vendor/bootstrap-vue/src/constants/classes.js +0 -1
  454. package/src/vendor/bootstrap-vue/src/constants/components.js +0 -77
  455. package/src/vendor/bootstrap-vue/src/constants/config.js +0 -4
  456. package/src/vendor/bootstrap-vue/src/constants/env.js +0 -57
  457. package/src/vendor/bootstrap-vue/src/constants/events.js +0 -57
  458. package/src/vendor/bootstrap-vue/src/constants/key-codes.js +0 -10
  459. package/src/vendor/bootstrap-vue/src/constants/popper.js +0 -8
  460. package/src/vendor/bootstrap-vue/src/constants/props.js +0 -26
  461. package/src/vendor/bootstrap-vue/src/constants/regex.js +0 -33
  462. package/src/vendor/bootstrap-vue/src/constants/safe-types.js +0 -17
  463. package/src/vendor/bootstrap-vue/src/constants/slots.js +0 -32
  464. package/src/vendor/bootstrap-vue/src/directives/modal/index.d.ts +0 -8
  465. package/src/vendor/bootstrap-vue/src/directives/modal/index.js +0 -3
  466. package/src/vendor/bootstrap-vue/src/directives/modal/modal.js +0 -115
  467. package/src/vendor/bootstrap-vue/src/directives/modal/modal.spec.js +0 -191
  468. package/src/vendor/bootstrap-vue/src/directives/toggle/README.md +0 -146
  469. package/src/vendor/bootstrap-vue/src/directives/toggle/index.d.ts +0 -7
  470. package/src/vendor/bootstrap-vue/src/directives/toggle/index.js +0 -3
  471. package/src/vendor/bootstrap-vue/src/directives/toggle/package.json +0 -26
  472. package/src/vendor/bootstrap-vue/src/directives/toggle/toggle.js +0 -274
  473. package/src/vendor/bootstrap-vue/src/directives/toggle/toggle.spec.js +0 -452
  474. package/src/vendor/bootstrap-vue/src/directives/tooltip/README.md +0 -521
  475. package/src/vendor/bootstrap-vue/src/directives/tooltip/index.d.ts +0 -7
  476. package/src/vendor/bootstrap-vue/src/directives/tooltip/index.js +0 -3
  477. package/src/vendor/bootstrap-vue/src/directives/tooltip/package.json +0 -131
  478. package/src/vendor/bootstrap-vue/src/directives/tooltip/tooltip.js +0 -270
  479. package/src/vendor/bootstrap-vue/src/directives/tooltip/tooltip.spec.js +0 -223
  480. package/src/vendor/bootstrap-vue/src/directives/visible/README.md +0 -244
  481. package/src/vendor/bootstrap-vue/src/directives/visible/index.d.ts +0 -7
  482. package/src/vendor/bootstrap-vue/src/directives/visible/index.js +0 -3
  483. package/src/vendor/bootstrap-vue/src/directives/visible/package.json +0 -24
  484. package/src/vendor/bootstrap-vue/src/directives/visible/visible.js +0 -184
  485. package/src/vendor/bootstrap-vue/src/index.d.ts +0 -61
  486. package/src/vendor/bootstrap-vue/src/index.js +0 -187
  487. package/src/vendor/bootstrap-vue/src/index.scss +0 -11
  488. package/src/vendor/bootstrap-vue/src/mixins/attrs.js +0 -19
  489. package/src/vendor/bootstrap-vue/src/mixins/attrs.spec.js +0 -194
  490. package/src/vendor/bootstrap-vue/src/mixins/click-out.js +0 -72
  491. package/src/vendor/bootstrap-vue/src/mixins/click-out.spec.js +0 -52
  492. package/src/vendor/bootstrap-vue/src/mixins/dropdown.js +0 -460
  493. package/src/vendor/bootstrap-vue/src/mixins/focus-in.js +0 -44
  494. package/src/vendor/bootstrap-vue/src/mixins/focus-in.spec.js +0 -53
  495. package/src/vendor/bootstrap-vue/src/mixins/form-control.js +0 -51
  496. package/src/vendor/bootstrap-vue/src/mixins/form-custom.js +0 -24
  497. package/src/vendor/bootstrap-vue/src/mixins/form-options.js +0 -73
  498. package/src/vendor/bootstrap-vue/src/mixins/form-radio-check-group.js +0 -162
  499. package/src/vendor/bootstrap-vue/src/mixins/form-radio-check.js +0 -332
  500. package/src/vendor/bootstrap-vue/src/mixins/form-selection.js +0 -60
  501. package/src/vendor/bootstrap-vue/src/mixins/form-size.js +0 -24
  502. package/src/vendor/bootstrap-vue/src/mixins/form-state.js +0 -47
  503. package/src/vendor/bootstrap-vue/src/mixins/form-text.js +0 -250
  504. package/src/vendor/bootstrap-vue/src/mixins/form-validity.js +0 -48
  505. package/src/vendor/bootstrap-vue/src/mixins/has-listener.js +0 -26
  506. package/src/vendor/bootstrap-vue/src/mixins/id.js +0 -51
  507. package/src/vendor/bootstrap-vue/src/mixins/listen-on-document.js +0 -64
  508. package/src/vendor/bootstrap-vue/src/mixins/listen-on-document.spec.js +0 -117
  509. package/src/vendor/bootstrap-vue/src/mixins/listen-on-root.js +0 -121
  510. package/src/vendor/bootstrap-vue/src/mixins/listen-on-root.spec.js +0 -77
  511. package/src/vendor/bootstrap-vue/src/mixins/listen-on-window.js +0 -64
  512. package/src/vendor/bootstrap-vue/src/mixins/listen-on-window.spec.js +0 -115
  513. package/src/vendor/bootstrap-vue/src/mixins/listeners.js +0 -24
  514. package/src/vendor/bootstrap-vue/src/mixins/listeners.spec.js +0 -245
  515. package/src/vendor/bootstrap-vue/src/mixins/model.js +0 -5
  516. package/src/vendor/bootstrap-vue/src/mixins/normalize-slot.js +0 -30
  517. package/src/vendor/bootstrap-vue/src/mixins/scoped-style.js +0 -14
  518. package/src/vendor/bootstrap-vue/src/mixins/use-parent.js +0 -12
  519. package/src/vendor/bootstrap-vue/src/utils/array.js +0 -17
  520. package/src/vendor/bootstrap-vue/src/utils/bv-event.class.js +0 -60
  521. package/src/vendor/bootstrap-vue/src/utils/bv-event.class.spec.js +0 -66
  522. package/src/vendor/bootstrap-vue/src/utils/cache.js +0 -37
  523. package/src/vendor/bootstrap-vue/src/utils/clone-deep.js +0 -15
  524. package/src/vendor/bootstrap-vue/src/utils/clone-deep.spec.js +0 -70
  525. package/src/vendor/bootstrap-vue/src/utils/config-set.js +0 -80
  526. package/src/vendor/bootstrap-vue/src/utils/config.js +0 -72
  527. package/src/vendor/bootstrap-vue/src/utils/config.spec.js +0 -169
  528. package/src/vendor/bootstrap-vue/src/utils/create-new-child-component.js +0 -10
  529. package/src/vendor/bootstrap-vue/src/utils/css-escape.js +0 -73
  530. package/src/vendor/bootstrap-vue/src/utils/css-escape.spec.js +0 -82
  531. package/src/vendor/bootstrap-vue/src/utils/dom.js +0 -308
  532. package/src/vendor/bootstrap-vue/src/utils/dom.spec.js +0 -291
  533. package/src/vendor/bootstrap-vue/src/utils/element-to-vue-instance-registry.js +0 -40
  534. package/src/vendor/bootstrap-vue/src/utils/env.js +0 -15
  535. package/src/vendor/bootstrap-vue/src/utils/events.js +0 -71
  536. package/src/vendor/bootstrap-vue/src/utils/events.spec.js +0 -41
  537. package/src/vendor/bootstrap-vue/src/utils/get-event-root.js +0 -3
  538. package/src/vendor/bootstrap-vue/src/utils/get-instance-from-directive.js +0 -4
  539. package/src/vendor/bootstrap-vue/src/utils/get-scope-id.js +0 -6
  540. package/src/vendor/bootstrap-vue/src/utils/get.js +0 -64
  541. package/src/vendor/bootstrap-vue/src/utils/get.spec.js +0 -109
  542. package/src/vendor/bootstrap-vue/src/utils/html.js +0 -8
  543. package/src/vendor/bootstrap-vue/src/utils/identity.js +0 -1
  544. package/src/vendor/bootstrap-vue/src/utils/inspect.js +0 -51
  545. package/src/vendor/bootstrap-vue/src/utils/inspect.spec.js +0 -251
  546. package/src/vendor/bootstrap-vue/src/utils/locale.js +0 -34
  547. package/src/vendor/bootstrap-vue/src/utils/loose-equal.js +0 -57
  548. package/src/vendor/bootstrap-vue/src/utils/loose-equal.spec.js +0 -203
  549. package/src/vendor/bootstrap-vue/src/utils/loose-index-of.js +0 -11
  550. package/src/vendor/bootstrap-vue/src/utils/math.js +0 -11
  551. package/src/vendor/bootstrap-vue/src/utils/memoize.js +0 -10
  552. package/src/vendor/bootstrap-vue/src/utils/model.js +0 -29
  553. package/src/vendor/bootstrap-vue/src/utils/noop.js +0 -1
  554. package/src/vendor/bootstrap-vue/src/utils/normalize-slot.js +0 -44
  555. package/src/vendor/bootstrap-vue/src/utils/normalize-slot.spec.js +0 -63
  556. package/src/vendor/bootstrap-vue/src/utils/number.js +0 -19
  557. package/src/vendor/bootstrap-vue/src/utils/number.spec.js +0 -72
  558. package/src/vendor/bootstrap-vue/src/utils/object.js +0 -61
  559. package/src/vendor/bootstrap-vue/src/utils/object.spec.js +0 -61
  560. package/src/vendor/bootstrap-vue/src/utils/observe-dom.js +0 -77
  561. package/src/vendor/bootstrap-vue/src/utils/plugins.js +0 -169
  562. package/src/vendor/bootstrap-vue/src/utils/props.js +0 -92
  563. package/src/vendor/bootstrap-vue/src/utils/props.spec.js +0 -112
  564. package/src/vendor/bootstrap-vue/src/utils/router.js +0 -145
  565. package/src/vendor/bootstrap-vue/src/utils/router.spec.js +0 -248
  566. package/src/vendor/bootstrap-vue/src/utils/safe-vue-instance.js +0 -13
  567. package/src/vendor/bootstrap-vue/src/utils/stable-sort.js +0 -31
  568. package/src/vendor/bootstrap-vue/src/utils/string.js +0 -59
  569. package/src/vendor/bootstrap-vue/src/utils/string.spec.js +0 -65
  570. package/src/vendor/bootstrap-vue/src/utils/stringify-object-values.js +0 -31
  571. package/src/vendor/bootstrap-vue/src/utils/stringify-object-values.spec.js +0 -47
  572. package/src/vendor/bootstrap-vue/src/utils/warn.js +0 -42
  573. package/src/vendor/bootstrap-vue/src/utils/warn.spec.js +0 -54
  574. package/src/vendor/bootstrap-vue/src/vue-injections.d.ts +0 -13
  575. package/src/vendor/bootstrap-vue/src/vue.js +0 -126
@@ -1,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
- })