@gitlab/duo-ui 3.0.0 → 4.0.0

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