@gitlab/ui 92.1.1 → 92.3.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 (449) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/bin/migrate_custom_utils_to_tw.bundled.mjs +11 -3
  3. package/dist/components/experimental/duo/chat/components/duo_chat_context/duo_chat_context_item_popover/duo_chat_context_item_popover.js +29 -1
  4. package/dist/components/experimental/duo/chat/components/duo_chat_context/duo_chat_context_item_selections/duo_chat_context_item_selections.js +18 -1
  5. package/dist/components/experimental/duo/chat/components/duo_chat_message/duo_chat_message.js +4 -6
  6. package/dist/components/experimental/duo/chat/constants.js +2 -1
  7. package/dist/index.css +4 -2
  8. package/dist/index.css.map +1 -1
  9. package/dist/tailwind.css +1 -1
  10. package/dist/tailwind.css.map +1 -1
  11. package/dist/vendor/bootstrap-vue/src/components/form/index.js +0 -4
  12. package/dist/vendor/bootstrap-vue/src/components/index.js +0 -48
  13. package/dist/vendor/bootstrap-vue/src/components/layout/index.js +0 -6
  14. package/dist/vendor/bootstrap-vue/src/components/nav/index.js +0 -6
  15. package/dist/vendor/bootstrap-vue/src/components/navbar/index.js +1 -8
  16. package/dist/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip.js +2 -6
  17. package/dist/vendor/bootstrap-vue/src/constants/classes.js +1 -2
  18. package/dist/vendor/bootstrap-vue/src/constants/components.js +1 -51
  19. package/dist/vendor/bootstrap-vue/src/constants/events.js +1 -12
  20. package/dist/vendor/bootstrap-vue/src/constants/key-codes.js +1 -5
  21. package/dist/vendor/bootstrap-vue/src/constants/props.js +1 -4
  22. package/dist/vendor/bootstrap-vue/src/constants/regex.js +1 -20
  23. package/dist/vendor/bootstrap-vue/src/constants/slots.js +1 -33
  24. package/dist/vendor/bootstrap-vue/src/directives/toggle/toggle.js +1 -1
  25. package/dist/vendor/bootstrap-vue/src/index.js +0 -74
  26. package/dist/vendor/bootstrap-vue/src/utils/array.js +1 -3
  27. package/dist/vendor/bootstrap-vue/src/utils/inspect.js +1 -3
  28. package/dist/vendor/bootstrap-vue/src/utils/math.js +1 -3
  29. package/dist/vendor/bootstrap-vue/src/utils/object.js +1 -6
  30. package/dist/vendor/bootstrap-vue/src/utils/props.js +2 -8
  31. package/dist/vendor/bootstrap-vue/src/utils/string.js +1 -10
  32. package/package.json +1 -1
  33. package/src/components/base/accordion/accordion_item.scss +3 -3
  34. package/src/components/base/alert/alert.scss +3 -3
  35. package/src/components/base/avatar_labeled/avatar_labeled.scss +2 -2
  36. package/src/components/base/avatars_inline/avatars_inline.scss +1 -1
  37. package/src/components/base/badge/badge.scss +2 -2
  38. package/src/components/base/banner/banner.scss +2 -2
  39. package/src/components/base/breadcrumb/breadcrumb.scss +3 -3
  40. package/src/components/base/broadcast_message/broadcast_message.scss +3 -3
  41. package/src/components/base/button/button.scss +26 -16
  42. package/src/components/base/card/card.scss +1 -1
  43. package/src/components/base/datepicker/datepicker.scss +10 -10
  44. package/src/components/base/drawer/drawer.scss +5 -5
  45. package/src/components/base/dropdown/dropdown.scss +28 -28
  46. package/src/components/base/dropdown/dropdown_divider.scss +3 -3
  47. package/src/components/base/dropdown/dropdown_item.scss +9 -9
  48. package/src/components/base/dropdown/dropdown_section_header.scss +2 -2
  49. package/src/components/base/dropdown/dropdown_text.scss +1 -1
  50. package/src/components/base/filtered_search/filtered_search.scss +7 -7
  51. package/src/components/base/filtered_search/filtered_search_suggestion.scss +1 -1
  52. package/src/components/base/filtered_search/filtered_search_suggestion_list.scss +3 -3
  53. package/src/components/base/filtered_search/filtered_search_term.scss +2 -2
  54. package/src/components/base/filtered_search/filtered_search_token.scss +4 -4
  55. package/src/components/base/filtered_search/filtered_search_token_segment.scss +2 -2
  56. package/src/components/base/form/form_checkbox/form_checkbox.scss +10 -10
  57. package/src/components/base/form/form_group/form_group.scss +5 -5
  58. package/src/components/base/form/form_input/form_input.scss +2 -2
  59. package/src/components/base/form/form_select/form_select.scss +2 -2
  60. package/src/components/base/keyset_pagination/keyset_pagination.scss +1 -1
  61. package/src/components/base/label/label.scss +1 -1
  62. package/src/components/base/loading_icon/loading_icon.scss +1 -1
  63. package/src/components/base/markdown/markdown.scss +33 -33
  64. package/src/components/base/modal/modal.scss +11 -11
  65. package/src/components/base/new_dropdowns/dropdown.scss +14 -14
  66. package/src/components/base/new_dropdowns/dropdown_item.scss +9 -9
  67. package/src/components/base/new_dropdowns/listbox/listbox.scss +1 -1
  68. package/src/components/base/pagination/pagination.scss +3 -3
  69. package/src/components/base/path/path.scss +5 -5
  70. package/src/components/base/popover/popover.scss +5 -5
  71. package/src/components/base/search_box_by_click/search_box_by_click.scss +2 -2
  72. package/src/components/base/search_box_by_type/search_box_by_type.scss +4 -4
  73. package/src/components/base/table/table.scss +4 -4
  74. package/src/components/base/tabs/tabs/tabs.scss +10 -10
  75. package/src/components/base/toast/toast.scss +7 -7
  76. package/src/components/base/toggle/toggle.scss +6 -6
  77. package/src/components/base/token/token.scss +5 -5
  78. package/src/components/base/tooltip/tooltip.scss +3 -3
  79. package/src/components/charts/legend/legend.scss +4 -4
  80. package/src/components/charts/series_label/series_label.scss +1 -1
  81. package/src/components/experimental/duo/chat/components/duo_chat_context/duo_chat_context_item_popover/duo_chat_context_item_popover.vue +62 -30
  82. package/src/components/experimental/duo/chat/components/duo_chat_context/duo_chat_context_item_selections/duo_chat_context_item_selections.vue +29 -10
  83. package/src/components/experimental/duo/chat/components/duo_chat_message/duo_chat_message.scss +1 -1
  84. package/src/components/experimental/duo/chat/components/duo_chat_message/duo_chat_message.vue +11 -6
  85. package/src/components/experimental/duo/chat/constants.js +2 -0
  86. package/src/components/experimental/duo/chat/duo_chat.scss +4 -4
  87. package/src/components/shared_components/charts/tooltip_default_format.scss +1 -1
  88. package/src/scss/bootstrap_vue.scss +0 -18
  89. package/src/scss/typescale/_index.scss +9 -9
  90. package/src/vendor/bootstrap-vue/nuxt/index.js +0 -8
  91. package/src/vendor/bootstrap-vue/src/_utilities.scss +0 -9
  92. package/src/vendor/bootstrap-vue/src/_variables.scss +0 -52
  93. package/src/vendor/bootstrap-vue/src/components/form/index.d.ts +0 -3
  94. package/src/vendor/bootstrap-vue/src/components/form/index.js +1 -4
  95. package/src/vendor/bootstrap-vue/src/components/form/package.json +0 -12
  96. package/src/vendor/bootstrap-vue/src/components/index.d.ts +0 -24
  97. package/src/vendor/bootstrap-vue/src/components/index.js +0 -48
  98. package/src/vendor/bootstrap-vue/src/components/index.scss +0 -15
  99. package/src/vendor/bootstrap-vue/src/components/layout/index.d.ts +0 -6
  100. package/src/vendor/bootstrap-vue/src/components/layout/index.js +1 -5
  101. package/src/vendor/bootstrap-vue/src/components/layout/package.json +0 -67
  102. package/src/vendor/bootstrap-vue/src/components/modal/README.md +0 -1
  103. package/src/vendor/bootstrap-vue/src/components/nav/index.d.ts +0 -6
  104. package/src/vendor/bootstrap-vue/src/components/nav/index.js +1 -5
  105. package/src/vendor/bootstrap-vue/src/components/nav/package.json +0 -45
  106. package/src/vendor/bootstrap-vue/src/components/navbar/README.md +0 -5
  107. package/src/vendor/bootstrap-vue/src/components/navbar/index.d.ts +1 -7
  108. package/src/vendor/bootstrap-vue/src/components/navbar/index.js +2 -7
  109. package/src/vendor/bootstrap-vue/src/components/navbar/package.json +0 -75
  110. package/src/vendor/bootstrap-vue/src/components/table/README.md +1 -2
  111. package/src/vendor/bootstrap-vue/src/components/tabs/README.md +2 -2
  112. package/src/vendor/bootstrap-vue/src/components/toast/README.md +1 -3
  113. package/src/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip.js +2 -6
  114. package/src/vendor/bootstrap-vue/src/constants/classes.js +0 -1
  115. package/src/vendor/bootstrap-vue/src/constants/components.js +0 -50
  116. package/src/vendor/bootstrap-vue/src/constants/events.js +0 -11
  117. package/src/vendor/bootstrap-vue/src/constants/key-codes.js +0 -4
  118. package/src/vendor/bootstrap-vue/src/constants/props.js +0 -3
  119. package/src/vendor/bootstrap-vue/src/constants/regex.js +0 -19
  120. package/src/vendor/bootstrap-vue/src/constants/slots.js +0 -32
  121. package/src/vendor/bootstrap-vue/src/directives/toggle/README.md +5 -23
  122. package/src/vendor/bootstrap-vue/src/directives/toggle/package.json +1 -1
  123. package/src/vendor/bootstrap-vue/src/directives/toggle/toggle.js +1 -1
  124. package/src/vendor/bootstrap-vue/src/index.js +0 -122
  125. package/src/vendor/bootstrap-vue/src/index.scss +0 -3
  126. package/src/vendor/bootstrap-vue/src/utils/array.js +0 -5
  127. package/src/vendor/bootstrap-vue/src/utils/config.spec.js +15 -15
  128. package/src/vendor/bootstrap-vue/src/utils/inspect.js +0 -4
  129. package/src/vendor/bootstrap-vue/src/utils/math.js +0 -4
  130. package/src/vendor/bootstrap-vue/src/utils/object.js +0 -5
  131. package/src/vendor/bootstrap-vue/src/utils/props.js +1 -7
  132. package/src/vendor/bootstrap-vue/src/utils/string.js +0 -9
  133. package/src/vendor/bootstrap-vue/src/utils/string.spec.js +1 -20
  134. package/translations.js +3 -0
  135. package/dist/vendor/bootstrap-vue/src/components/alert/alert.js +0 -179
  136. package/dist/vendor/bootstrap-vue/src/components/alert/index.js +0 -11
  137. package/dist/vendor/bootstrap-vue/src/components/aspect/aspect.js +0 -67
  138. package/dist/vendor/bootstrap-vue/src/components/aspect/index.js +0 -11
  139. package/dist/vendor/bootstrap-vue/src/components/avatar/avatar-group.js +0 -67
  140. package/dist/vendor/bootstrap-vue/src/components/avatar/avatar.js +0 -266
  141. package/dist/vendor/bootstrap-vue/src/components/avatar/index.js +0 -14
  142. package/dist/vendor/bootstrap-vue/src/components/button-toolbar/button-toolbar.js +0 -112
  143. package/dist/vendor/bootstrap-vue/src/components/button-toolbar/index.js +0 -12
  144. package/dist/vendor/bootstrap-vue/src/components/calendar/calendar.js +0 -1010
  145. package/dist/vendor/bootstrap-vue/src/components/calendar/index.js +0 -11
  146. package/dist/vendor/bootstrap-vue/src/components/card/card-body.js +0 -63
  147. package/dist/vendor/bootstrap-vue/src/components/card/card-footer.js +0 -48
  148. package/dist/vendor/bootstrap-vue/src/components/card/card-group.js +0 -33
  149. package/dist/vendor/bootstrap-vue/src/components/card/card-header.js +0 -48
  150. package/dist/vendor/bootstrap-vue/src/components/card/card-img-lazy.js +0 -46
  151. package/dist/vendor/bootstrap-vue/src/components/card/card-img.js +0 -58
  152. package/dist/vendor/bootstrap-vue/src/components/card/card-sub-title.js +0 -35
  153. package/dist/vendor/bootstrap-vue/src/components/card/card-text.js +0 -31
  154. package/dist/vendor/bootstrap-vue/src/components/card/card-title.js +0 -33
  155. package/dist/vendor/bootstrap-vue/src/components/card/card.js +0 -123
  156. package/dist/vendor/bootstrap-vue/src/components/card/index.js +0 -38
  157. package/dist/vendor/bootstrap-vue/src/components/embed/embed.js +0 -50
  158. package/dist/vendor/bootstrap-vue/src/components/embed/index.js +0 -11
  159. package/dist/vendor/bootstrap-vue/src/components/form/form-datalist.js +0 -52
  160. package/dist/vendor/bootstrap-vue/src/components/form-btn-label-control/bv-form-btn-label-control.js +0 -261
  161. package/dist/vendor/bootstrap-vue/src/components/form-datepicker/form-datepicker.js +0 -310
  162. package/dist/vendor/bootstrap-vue/src/components/form-datepicker/index.js +0 -12
  163. package/dist/vendor/bootstrap-vue/src/components/form-file/form-file.js +0 -561
  164. package/dist/vendor/bootstrap-vue/src/components/form-file/index.js +0 -12
  165. package/dist/vendor/bootstrap-vue/src/components/form-rating/form-rating.js +0 -402
  166. package/dist/vendor/bootstrap-vue/src/components/form-rating/index.js +0 -12
  167. package/dist/vendor/bootstrap-vue/src/components/form-spinbutton/form-spinbutton.js +0 -555
  168. package/dist/vendor/bootstrap-vue/src/components/form-spinbutton/index.js +0 -12
  169. package/dist/vendor/bootstrap-vue/src/components/form-tags/form-tag.js +0 -97
  170. package/dist/vendor/bootstrap-vue/src/components/form-tags/form-tags.js +0 -806
  171. package/dist/vendor/bootstrap-vue/src/components/form-tags/index.js +0 -16
  172. package/dist/vendor/bootstrap-vue/src/components/form-timepicker/form-timepicker.js +0 -281
  173. package/dist/vendor/bootstrap-vue/src/components/form-timepicker/index.js +0 -12
  174. package/dist/vendor/bootstrap-vue/src/components/image/img-lazy.js +0 -157
  175. package/dist/vendor/bootstrap-vue/src/components/image/img.js +0 -124
  176. package/dist/vendor/bootstrap-vue/src/components/image/index.js +0 -14
  177. package/dist/vendor/bootstrap-vue/src/components/jumbotron/index.js +0 -11
  178. package/dist/vendor/bootstrap-vue/src/components/jumbotron/jumbotron.js +0 -98
  179. package/dist/vendor/bootstrap-vue/src/components/layout/container.js +0 -41
  180. package/dist/vendor/bootstrap-vue/src/components/layout/row.js +0 -113
  181. package/dist/vendor/bootstrap-vue/src/components/list-group/index.js +0 -14
  182. package/dist/vendor/bootstrap-vue/src/components/list-group/list-group-item.js +0 -78
  183. package/dist/vendor/bootstrap-vue/src/components/list-group/list-group.js +0 -42
  184. package/dist/vendor/bootstrap-vue/src/components/media/index.js +0 -17
  185. package/dist/vendor/bootstrap-vue/src/components/media/media-aside.js +0 -41
  186. package/dist/vendor/bootstrap-vue/src/components/media/media-body.js +0 -31
  187. package/dist/vendor/bootstrap-vue/src/components/media/media.js +0 -61
  188. package/dist/vendor/bootstrap-vue/src/components/nav/nav-form.js +0 -45
  189. package/dist/vendor/bootstrap-vue/src/components/nav/nav-text.js +0 -26
  190. package/dist/vendor/bootstrap-vue/src/components/navbar/navbar-nav.js +0 -46
  191. package/dist/vendor/bootstrap-vue/src/components/navbar/navbar-toggle.js +0 -89
  192. package/dist/vendor/bootstrap-vue/src/components/overlay/index.js +0 -11
  193. package/dist/vendor/bootstrap-vue/src/components/overlay/overlay.js +0 -163
  194. package/dist/vendor/bootstrap-vue/src/components/pagination/index.js +0 -11
  195. package/dist/vendor/bootstrap-vue/src/components/pagination/pagination.js +0 -135
  196. package/dist/vendor/bootstrap-vue/src/components/pagination-nav/index.js +0 -11
  197. package/dist/vendor/bootstrap-vue/src/components/pagination-nav/pagination-nav.js +0 -299
  198. package/dist/vendor/bootstrap-vue/src/components/sidebar/index.js +0 -15
  199. package/dist/vendor/bootstrap-vue/src/components/sidebar/sidebar.js +0 -432
  200. package/dist/vendor/bootstrap-vue/src/components/skeleton/index.js +0 -23
  201. package/dist/vendor/bootstrap-vue/src/components/skeleton/skeleton-icon.js +0 -47
  202. package/dist/vendor/bootstrap-vue/src/components/skeleton/skeleton-img.js +0 -60
  203. package/dist/vendor/bootstrap-vue/src/components/skeleton/skeleton-table.js +0 -64
  204. package/dist/vendor/bootstrap-vue/src/components/skeleton/skeleton-wrapper.js +0 -46
  205. package/dist/vendor/bootstrap-vue/src/components/skeleton/skeleton.js +0 -49
  206. package/dist/vendor/bootstrap-vue/src/components/spinner/index.js +0 -11
  207. package/dist/vendor/bootstrap-vue/src/components/spinner/spinner.js +0 -55
  208. package/dist/vendor/bootstrap-vue/src/components/time/index.js +0 -11
  209. package/dist/vendor/bootstrap-vue/src/components/time/time.js +0 -600
  210. package/dist/vendor/bootstrap-vue/src/constants/date.js +0 -8
  211. package/dist/vendor/bootstrap-vue/src/mixins/card.js +0 -22
  212. package/dist/vendor/bootstrap-vue/src/mixins/pagination.js +0 -598
  213. package/dist/vendor/bootstrap-vue/src/utils/date.js +0 -135
  214. package/src/vendor/bootstrap-vue/src/_custom-controls.scss +0 -30
  215. package/src/vendor/bootstrap-vue/src/components/alert/README.md +0 -280
  216. package/src/vendor/bootstrap-vue/src/components/alert/alert.js +0 -185
  217. package/src/vendor/bootstrap-vue/src/components/alert/alert.spec.js +0 -442
  218. package/src/vendor/bootstrap-vue/src/components/alert/index.d.ts +0 -13
  219. package/src/vendor/bootstrap-vue/src/components/alert/index.js +0 -8
  220. package/src/vendor/bootstrap-vue/src/components/alert/package.json +0 -72
  221. package/src/vendor/bootstrap-vue/src/components/aspect/README.md +0 -65
  222. package/src/vendor/bootstrap-vue/src/components/aspect/aspect.js +0 -65
  223. package/src/vendor/bootstrap-vue/src/components/aspect/aspect.spec.js +0 -121
  224. package/src/vendor/bootstrap-vue/src/components/aspect/index.d.ts +0 -11
  225. package/src/vendor/bootstrap-vue/src/components/aspect/index.js +0 -8
  226. package/src/vendor/bootstrap-vue/src/components/aspect/package.json +0 -26
  227. package/src/vendor/bootstrap-vue/src/components/avatar/README.md +0 -567
  228. package/src/vendor/bootstrap-vue/src/components/avatar/_avatar.scss +0 -148
  229. package/src/vendor/bootstrap-vue/src/components/avatar/avatar-group.js +0 -75
  230. package/src/vendor/bootstrap-vue/src/components/avatar/avatar-group.spec.js +0 -74
  231. package/src/vendor/bootstrap-vue/src/components/avatar/avatar.js +0 -228
  232. package/src/vendor/bootstrap-vue/src/components/avatar/avatar.spec.js +0 -355
  233. package/src/vendor/bootstrap-vue/src/components/avatar/index.d.ts +0 -14
  234. package/src/vendor/bootstrap-vue/src/components/avatar/index.js +0 -9
  235. package/src/vendor/bootstrap-vue/src/components/avatar/index.scss +0 -1
  236. package/src/vendor/bootstrap-vue/src/components/avatar/package.json +0 -149
  237. package/src/vendor/bootstrap-vue/src/components/button-toolbar/README.md +0 -109
  238. package/src/vendor/bootstrap-vue/src/components/button-toolbar/button-toolbar.js +0 -117
  239. package/src/vendor/bootstrap-vue/src/components/button-toolbar/button-toolbar.spec.js +0 -185
  240. package/src/vendor/bootstrap-vue/src/components/button-toolbar/index.d.ts +0 -11
  241. package/src/vendor/bootstrap-vue/src/components/button-toolbar/index.js +0 -11
  242. package/src/vendor/bootstrap-vue/src/components/button-toolbar/package.json +0 -32
  243. package/src/vendor/bootstrap-vue/src/components/calendar/README.md +0 -735
  244. package/src/vendor/bootstrap-vue/src/components/calendar/_calendar.scss +0 -78
  245. package/src/vendor/bootstrap-vue/src/components/calendar/calendar.js +0 -1146
  246. package/src/vendor/bootstrap-vue/src/components/calendar/calendar.spec.js +0 -466
  247. package/src/vendor/bootstrap-vue/src/components/calendar/index.d.ts +0 -28
  248. package/src/vendor/bootstrap-vue/src/components/calendar/index.js +0 -8
  249. package/src/vendor/bootstrap-vue/src/components/calendar/index.scss +0 -1
  250. package/src/vendor/bootstrap-vue/src/components/calendar/package.json +0 -317
  251. package/src/vendor/bootstrap-vue/src/components/card/README.md +0 -729
  252. package/src/vendor/bootstrap-vue/src/components/card/_card-img.scss +0 -7
  253. package/src/vendor/bootstrap-vue/src/components/card/card-body.js +0 -69
  254. package/src/vendor/bootstrap-vue/src/components/card/card-body.spec.js +0 -142
  255. package/src/vendor/bootstrap-vue/src/components/card/card-footer.js +0 -48
  256. package/src/vendor/bootstrap-vue/src/components/card/card-footer.spec.js +0 -98
  257. package/src/vendor/bootstrap-vue/src/components/card/card-group.js +0 -33
  258. package/src/vendor/bootstrap-vue/src/components/card/card-group.spec.js +0 -75
  259. package/src/vendor/bootstrap-vue/src/components/card/card-header.js +0 -48
  260. package/src/vendor/bootstrap-vue/src/components/card/card-header.spec.js +0 -98
  261. package/src/vendor/bootstrap-vue/src/components/card/card-img-lazy.js +0 -47
  262. package/src/vendor/bootstrap-vue/src/components/card/card-img-lazy.spec.js +0 -204
  263. package/src/vendor/bootstrap-vue/src/components/card/card-img.js +0 -50
  264. package/src/vendor/bootstrap-vue/src/components/card/card-img.spec.js +0 -208
  265. package/src/vendor/bootstrap-vue/src/components/card/card-sub-title.js +0 -35
  266. package/src/vendor/bootstrap-vue/src/components/card/card-sub-title.spec.js +0 -60
  267. package/src/vendor/bootstrap-vue/src/components/card/card-text.js +0 -25
  268. package/src/vendor/bootstrap-vue/src/components/card/card-text.spec.js +0 -48
  269. package/src/vendor/bootstrap-vue/src/components/card/card-title.js +0 -33
  270. package/src/vendor/bootstrap-vue/src/components/card/card-title.spec.js +0 -45
  271. package/src/vendor/bootstrap-vue/src/components/card/card.js +0 -140
  272. package/src/vendor/bootstrap-vue/src/components/card/card.spec.js +0 -296
  273. package/src/vendor/bootstrap-vue/src/components/card/index.d.ts +0 -38
  274. package/src/vendor/bootstrap-vue/src/components/card/index.js +0 -40
  275. package/src/vendor/bootstrap-vue/src/components/card/index.scss +0 -1
  276. package/src/vendor/bootstrap-vue/src/components/card/package.json +0 -262
  277. package/src/vendor/bootstrap-vue/src/components/embed/README.md +0 -63
  278. package/src/vendor/bootstrap-vue/src/components/embed/embed.js +0 -51
  279. package/src/vendor/bootstrap-vue/src/components/embed/embed.spec.js +0 -110
  280. package/src/vendor/bootstrap-vue/src/components/embed/index.d.ts +0 -11
  281. package/src/vendor/bootstrap-vue/src/components/embed/index.js +0 -8
  282. package/src/vendor/bootstrap-vue/src/components/embed/package.json +0 -29
  283. package/src/vendor/bootstrap-vue/src/components/form/form-datalist.js +0 -42
  284. package/src/vendor/bootstrap-vue/src/components/form/form-datalist.spec.js +0 -57
  285. package/src/vendor/bootstrap-vue/src/components/form-btn-label-control/_form-btn-label-control.scss +0 -125
  286. package/src/vendor/bootstrap-vue/src/components/form-btn-label-control/bv-form-btn-label-control.js +0 -278
  287. package/src/vendor/bootstrap-vue/src/components/form-btn-label-control/index.scss +0 -1
  288. package/src/vendor/bootstrap-vue/src/components/form-btn-label-control/package.json +0 -5
  289. package/src/vendor/bootstrap-vue/src/components/form-datepicker/README.md +0 -694
  290. package/src/vendor/bootstrap-vue/src/components/form-datepicker/_form-datepicker.scss +0 -1
  291. package/src/vendor/bootstrap-vue/src/components/form-datepicker/form-datepicker.js +0 -342
  292. package/src/vendor/bootstrap-vue/src/components/form-datepicker/form-datepicker.spec.js +0 -562
  293. package/src/vendor/bootstrap-vue/src/components/form-datepicker/index.d.ts +0 -12
  294. package/src/vendor/bootstrap-vue/src/components/form-datepicker/index.js +0 -11
  295. package/src/vendor/bootstrap-vue/src/components/form-datepicker/index.scss +0 -1
  296. package/src/vendor/bootstrap-vue/src/components/form-datepicker/package.json +0 -420
  297. package/src/vendor/bootstrap-vue/src/components/form-file/README.md +0 -357
  298. package/src/vendor/bootstrap-vue/src/components/form-file/_form-file.scss +0 -61
  299. package/src/vendor/bootstrap-vue/src/components/form-file/form-file.js +0 -575
  300. package/src/vendor/bootstrap-vue/src/components/form-file/form-file.spec.js +0 -885
  301. package/src/vendor/bootstrap-vue/src/components/form-file/index.d.ts +0 -13
  302. package/src/vendor/bootstrap-vue/src/components/form-file/index.js +0 -11
  303. package/src/vendor/bootstrap-vue/src/components/form-file/index.scss +0 -1
  304. package/src/vendor/bootstrap-vue/src/components/form-file/package.json +0 -131
  305. package/src/vendor/bootstrap-vue/src/components/form-rating/README.md +0 -526
  306. package/src/vendor/bootstrap-vue/src/components/form-rating/_form-rating.scss +0 -57
  307. package/src/vendor/bootstrap-vue/src/components/form-rating/form-rating.js +0 -411
  308. package/src/vendor/bootstrap-vue/src/components/form-rating/form-rating.spec.js +0 -544
  309. package/src/vendor/bootstrap-vue/src/components/form-rating/index.d.ts +0 -14
  310. package/src/vendor/bootstrap-vue/src/components/form-rating/index.js +0 -8
  311. package/src/vendor/bootstrap-vue/src/components/form-rating/index.scss +0 -1
  312. package/src/vendor/bootstrap-vue/src/components/form-rating/package.json +0 -166
  313. package/src/vendor/bootstrap-vue/src/components/form-spinbutton/README.md +0 -411
  314. package/src/vendor/bootstrap-vue/src/components/form-spinbutton/_spinbutton.scss +0 -76
  315. package/src/vendor/bootstrap-vue/src/components/form-spinbutton/form-spinbutton.js +0 -572
  316. package/src/vendor/bootstrap-vue/src/components/form-spinbutton/form-spinbutton.spec.js +0 -731
  317. package/src/vendor/bootstrap-vue/src/components/form-spinbutton/index.d.ts +0 -12
  318. package/src/vendor/bootstrap-vue/src/components/form-spinbutton/index.js +0 -11
  319. package/src/vendor/bootstrap-vue/src/components/form-spinbutton/index.scss +0 -1
  320. package/src/vendor/bootstrap-vue/src/components/form-spinbutton/package.json +0 -150
  321. package/src/vendor/bootstrap-vue/src/components/form-tags/README.md +0 -880
  322. package/src/vendor/bootstrap-vue/src/components/form-tags/_form-tags.scss +0 -70
  323. package/src/vendor/bootstrap-vue/src/components/form-tags/form-tag.js +0 -94
  324. package/src/vendor/bootstrap-vue/src/components/form-tags/form-tag.spec.js +0 -166
  325. package/src/vendor/bootstrap-vue/src/components/form-tags/form-tags.js +0 -891
  326. package/src/vendor/bootstrap-vue/src/components/form-tags/form-tags.spec.js +0 -920
  327. package/src/vendor/bootstrap-vue/src/components/form-tags/index.d.ts +0 -16
  328. package/src/vendor/bootstrap-vue/src/components/form-tags/index.js +0 -14
  329. package/src/vendor/bootstrap-vue/src/components/form-tags/index.scss +0 -1
  330. package/src/vendor/bootstrap-vue/src/components/form-tags/package.json +0 -440
  331. package/src/vendor/bootstrap-vue/src/components/form-timepicker/README.md +0 -450
  332. package/src/vendor/bootstrap-vue/src/components/form-timepicker/_form-timepicker.scss +0 -1
  333. package/src/vendor/bootstrap-vue/src/components/form-timepicker/form-timepicker.js +0 -308
  334. package/src/vendor/bootstrap-vue/src/components/form-timepicker/form-timepicker.spec.js +0 -440
  335. package/src/vendor/bootstrap-vue/src/components/form-timepicker/index.d.ts +0 -12
  336. package/src/vendor/bootstrap-vue/src/components/form-timepicker/index.js +0 -11
  337. package/src/vendor/bootstrap-vue/src/components/form-timepicker/index.scss +0 -1
  338. package/src/vendor/bootstrap-vue/src/components/form-timepicker/package.json +0 -255
  339. package/src/vendor/bootstrap-vue/src/components/image/README.md +0 -322
  340. package/src/vendor/bootstrap-vue/src/components/image/img-lazy.js +0 -161
  341. package/src/vendor/bootstrap-vue/src/components/image/img-lazy.spec.js +0 -96
  342. package/src/vendor/bootstrap-vue/src/components/image/img.js +0 -139
  343. package/src/vendor/bootstrap-vue/src/components/image/img.spec.js +0 -255
  344. package/src/vendor/bootstrap-vue/src/components/image/index.d.ts +0 -14
  345. package/src/vendor/bootstrap-vue/src/components/image/index.js +0 -12
  346. package/src/vendor/bootstrap-vue/src/components/image/package.json +0 -152
  347. package/src/vendor/bootstrap-vue/src/components/jumbotron/README.md +0 -109
  348. package/src/vendor/bootstrap-vue/src/components/jumbotron/index.d.ts +0 -11
  349. package/src/vendor/bootstrap-vue/src/components/jumbotron/index.js +0 -8
  350. package/src/vendor/bootstrap-vue/src/components/jumbotron/jumbotron.js +0 -103
  351. package/src/vendor/bootstrap-vue/src/components/jumbotron/jumbotron.spec.js +0 -254
  352. package/src/vendor/bootstrap-vue/src/components/jumbotron/package.json +0 -66
  353. package/src/vendor/bootstrap-vue/src/components/layout/container.js +0 -40
  354. package/src/vendor/bootstrap-vue/src/components/layout/container.spec.js +0 -75
  355. package/src/vendor/bootstrap-vue/src/components/layout/row.js +0 -111
  356. package/src/vendor/bootstrap-vue/src/components/layout/row.spec.js +0 -138
  357. package/src/vendor/bootstrap-vue/src/components/list-group/README.md +0 -291
  358. package/src/vendor/bootstrap-vue/src/components/list-group/index.d.ts +0 -14
  359. package/src/vendor/bootstrap-vue/src/components/list-group/index.js +0 -12
  360. package/src/vendor/bootstrap-vue/src/components/list-group/list-group-item.js +0 -76
  361. package/src/vendor/bootstrap-vue/src/components/list-group/list-group-item.spec.js +0 -286
  362. package/src/vendor/bootstrap-vue/src/components/list-group/list-group.js +0 -42
  363. package/src/vendor/bootstrap-vue/src/components/list-group/list-group.spec.js +0 -132
  364. package/src/vendor/bootstrap-vue/src/components/list-group/package.json +0 -52
  365. package/src/vendor/bootstrap-vue/src/components/media/README.md +0 -183
  366. package/src/vendor/bootstrap-vue/src/components/media/_media.scss +0 -9
  367. package/src/vendor/bootstrap-vue/src/components/media/index.d.ts +0 -17
  368. package/src/vendor/bootstrap-vue/src/components/media/index.js +0 -14
  369. package/src/vendor/bootstrap-vue/src/components/media/index.scss +0 -1
  370. package/src/vendor/bootstrap-vue/src/components/media/media-aside.js +0 -45
  371. package/src/vendor/bootstrap-vue/src/components/media/media-aside.spec.js +0 -79
  372. package/src/vendor/bootstrap-vue/src/components/media/media-body.js +0 -25
  373. package/src/vendor/bootstrap-vue/src/components/media/media-body.spec.js +0 -47
  374. package/src/vendor/bootstrap-vue/src/components/media/media.js +0 -52
  375. package/src/vendor/bootstrap-vue/src/components/media/media.spec.js +0 -149
  376. package/src/vendor/bootstrap-vue/src/components/media/package.json +0 -65
  377. package/src/vendor/bootstrap-vue/src/components/nav/nav-form.js +0 -50
  378. package/src/vendor/bootstrap-vue/src/components/nav/nav-form.spec.js +0 -93
  379. package/src/vendor/bootstrap-vue/src/components/nav/nav-text.js +0 -18
  380. package/src/vendor/bootstrap-vue/src/components/nav/nav-text.spec.js +0 -30
  381. package/src/vendor/bootstrap-vue/src/components/navbar/navbar-nav.js +0 -45
  382. package/src/vendor/bootstrap-vue/src/components/navbar/navbar-nav.spec.js +0 -105
  383. package/src/vendor/bootstrap-vue/src/components/navbar/navbar-toggle.js +0 -84
  384. package/src/vendor/bootstrap-vue/src/components/navbar/navbar-toggle.spec.js +0 -189
  385. package/src/vendor/bootstrap-vue/src/components/overlay/README.md +0 -815
  386. package/src/vendor/bootstrap-vue/src/components/overlay/index.d.ts +0 -11
  387. package/src/vendor/bootstrap-vue/src/components/overlay/index.js +0 -8
  388. package/src/vendor/bootstrap-vue/src/components/overlay/overlay.js +0 -162
  389. package/src/vendor/bootstrap-vue/src/components/overlay/overlay.spec.js +0 -257
  390. package/src/vendor/bootstrap-vue/src/components/overlay/package.json +0 -130
  391. package/src/vendor/bootstrap-vue/src/components/pagination/README.md +0 -430
  392. package/src/vendor/bootstrap-vue/src/components/pagination/_pagination.scss +0 -26
  393. package/src/vendor/bootstrap-vue/src/components/pagination/index.d.ts +0 -11
  394. package/src/vendor/bootstrap-vue/src/components/pagination/index.js +0 -8
  395. package/src/vendor/bootstrap-vue/src/components/pagination/index.scss +0 -1
  396. package/src/vendor/bootstrap-vue/src/components/pagination/package.json +0 -295
  397. package/src/vendor/bootstrap-vue/src/components/pagination/pagination.js +0 -138
  398. package/src/vendor/bootstrap-vue/src/components/pagination/pagination.spec.js +0 -1198
  399. package/src/vendor/bootstrap-vue/src/components/pagination-nav/README.md +0 -544
  400. package/src/vendor/bootstrap-vue/src/components/pagination-nav/_pagination-nav.scss +0 -2
  401. package/src/vendor/bootstrap-vue/src/components/pagination-nav/index.d.ts +0 -11
  402. package/src/vendor/bootstrap-vue/src/components/pagination-nav/index.js +0 -8
  403. package/src/vendor/bootstrap-vue/src/components/pagination-nav/index.scss +0 -1
  404. package/src/vendor/bootstrap-vue/src/components/pagination-nav/package.json +0 -315
  405. package/src/vendor/bootstrap-vue/src/components/pagination-nav/pagination-nav.js +0 -281
  406. package/src/vendor/bootstrap-vue/src/components/pagination-nav/pagination-nav.spec.js +0 -671
  407. package/src/vendor/bootstrap-vue/src/components/sidebar/README.md +0 -406
  408. package/src/vendor/bootstrap-vue/src/components/sidebar/_sidebar.scss +0 -97
  409. package/src/vendor/bootstrap-vue/src/components/sidebar/index.d.ts +0 -11
  410. package/src/vendor/bootstrap-vue/src/components/sidebar/index.js +0 -10
  411. package/src/vendor/bootstrap-vue/src/components/sidebar/index.scss +0 -1
  412. package/src/vendor/bootstrap-vue/src/components/sidebar/package.json +0 -239
  413. package/src/vendor/bootstrap-vue/src/components/sidebar/sidebar.js +0 -438
  414. package/src/vendor/bootstrap-vue/src/components/sidebar/sidebar.spec.js +0 -404
  415. package/src/vendor/bootstrap-vue/src/components/skeleton/README.md +0 -275
  416. package/src/vendor/bootstrap-vue/src/components/skeleton/_skeleton.scss +0 -141
  417. package/src/vendor/bootstrap-vue/src/components/skeleton/index.d.ts +0 -23
  418. package/src/vendor/bootstrap-vue/src/components/skeleton/index.js +0 -18
  419. package/src/vendor/bootstrap-vue/src/components/skeleton/index.scss +0 -1
  420. package/src/vendor/bootstrap-vue/src/components/skeleton/package.json +0 -136
  421. package/src/vendor/bootstrap-vue/src/components/skeleton/skeleton-icon.js +0 -45
  422. package/src/vendor/bootstrap-vue/src/components/skeleton/skeleton-icon.spec.js +0 -86
  423. package/src/vendor/bootstrap-vue/src/components/skeleton/skeleton-img.js +0 -49
  424. package/src/vendor/bootstrap-vue/src/components/skeleton/skeleton-img.spec.js +0 -139
  425. package/src/vendor/bootstrap-vue/src/components/skeleton/skeleton-table.js +0 -58
  426. package/src/vendor/bootstrap-vue/src/components/skeleton/skeleton-table.spec.js +0 -119
  427. package/src/vendor/bootstrap-vue/src/components/skeleton/skeleton-wrapper.js +0 -47
  428. package/src/vendor/bootstrap-vue/src/components/skeleton/skeleton-wrapper.spec.js +0 -48
  429. package/src/vendor/bootstrap-vue/src/components/skeleton/skeleton.js +0 -46
  430. package/src/vendor/bootstrap-vue/src/components/skeleton/skeleton.spec.js +0 -126
  431. package/src/vendor/bootstrap-vue/src/components/spinner/README.md +0 -229
  432. package/src/vendor/bootstrap-vue/src/components/spinner/index.d.ts +0 -11
  433. package/src/vendor/bootstrap-vue/src/components/spinner/index.js +0 -8
  434. package/src/vendor/bootstrap-vue/src/components/spinner/package.json +0 -38
  435. package/src/vendor/bootstrap-vue/src/components/spinner/spinner.js +0 -54
  436. package/src/vendor/bootstrap-vue/src/components/spinner/spinner.spec.js +0 -305
  437. package/src/vendor/bootstrap-vue/src/components/time/README.md +0 -431
  438. package/src/vendor/bootstrap-vue/src/components/time/_time.scss +0 -41
  439. package/src/vendor/bootstrap-vue/src/components/time/index.d.ts +0 -27
  440. package/src/vendor/bootstrap-vue/src/components/time/index.js +0 -8
  441. package/src/vendor/bootstrap-vue/src/components/time/index.scss +0 -1
  442. package/src/vendor/bootstrap-vue/src/components/time/package.json +0 -123
  443. package/src/vendor/bootstrap-vue/src/components/time/time.js +0 -601
  444. package/src/vendor/bootstrap-vue/src/components/time/time.spec.js +0 -330
  445. package/src/vendor/bootstrap-vue/src/constants/date.js +0 -7
  446. package/src/vendor/bootstrap-vue/src/mixins/card.js +0 -23
  447. package/src/vendor/bootstrap-vue/src/mixins/pagination.js +0 -670
  448. package/src/vendor/bootstrap-vue/src/utils/date.js +0 -130
  449. package/src/vendor/bootstrap-vue/src/utils/date.spec.js +0 -159
@@ -1,671 +0,0 @@
1
- import VueRouter from 'vue-router'
2
- import { mount } from '@vue/test-utils'
3
- import { waitNT, waitRAF } from '../../../tests/utils'
4
- import { Vue } from '../../vue'
5
- import { BPaginationNav } from './pagination-nav'
6
-
7
- Vue.use(VueRouter)
8
-
9
- // The majority of tests for the core of pagination mixin are performed
10
- // in pagination.spec.js. Here we just test the differences that
11
- // <pagination-nav> has
12
-
13
- // We use a (currently) undocumented wrapper method `destroy()` at the end
14
- // of each test to remove the VM and DOM from the JSDOM document, as
15
- // the wrapper's and instances remain after each test completes
16
-
17
- describe('pagination-nav', () => {
18
- it('renders with correct basic structure for root elements', async () => {
19
- const wrapper = mount(BPaginationNav, {
20
- propsData: {
21
- numberOfPages: 1,
22
- value: 1
23
- }
24
- })
25
- await waitNT(wrapper.vm)
26
- await waitRAF()
27
-
28
- // <pagination-nav> has an outer wrapper of nav
29
- expect(wrapper.element.tagName).toBe('NAV')
30
- const $ul = wrapper.find('ul.pagination')
31
- expect($ul.exists()).toBe(true)
32
-
33
- // NAV Attributes
34
- expect(wrapper.attributes('aria-hidden')).toBe('false')
35
- expect(wrapper.attributes('aria-label')).toBe('Pagination')
36
-
37
- // UL Classes
38
- expect($ul.classes()).toContain('pagination')
39
- expect($ul.classes()).toContain('b-pagination')
40
- expect($ul.classes()).not.toContain('pagination-sm')
41
- expect($ul.classes()).not.toContain('pagination-lg')
42
- expect($ul.classes()).not.toContain('justify-content-center')
43
- expect($ul.classes()).not.toContain('justify-content-end')
44
- // UL Attributes
45
- expect($ul.attributes('role')).not.toBe('menubar')
46
- expect($ul.attributes('aria-disabled')).toBe('false')
47
- expect($ul.attributes('aria-label')).not.toBe('Pagination')
48
-
49
- wrapper.destroy()
50
- })
51
-
52
- it('renders with correct default HREF', async () => {
53
- const wrapper = mount(BPaginationNav, {
54
- propsData: {
55
- numberOfPages: 5,
56
- value: 3,
57
- limit: 10
58
- }
59
- })
60
- await waitNT(wrapper.vm)
61
- await waitRAF()
62
-
63
- expect(wrapper.element.tagName).toBe('NAV')
64
- const $links = wrapper.findAll('a.page-link')
65
- expect($links.length).toBe(9)
66
-
67
- // Default base URL is '/', and link will be the page number
68
- expect($links.at(0).attributes('href')).toBe('/1')
69
- expect($links.at(1).attributes('href')).toBe('/2')
70
- expect($links.at(2).attributes('href')).toBe('/1')
71
- expect($links.at(3).attributes('href')).toBe('/2')
72
- expect($links.at(4).attributes('href')).toBe('/3')
73
- expect($links.at(5).attributes('href')).toBe('/4')
74
- expect($links.at(6).attributes('href')).toBe('/5')
75
- expect($links.at(7).attributes('href')).toBe('/4')
76
- expect($links.at(8).attributes('href')).toBe('/5')
77
-
78
- wrapper.destroy()
79
- })
80
-
81
- it('renders with correct default page button text', async () => {
82
- const wrapper = mount(BPaginationNav, {
83
- propsData: {
84
- numberOfPages: 5,
85
- value: 3,
86
- limit: 10
87
- }
88
- })
89
- await waitNT(wrapper.vm)
90
- await waitRAF()
91
-
92
- expect(wrapper.element.tagName).toBe('NAV')
93
- const $links = wrapper.findAll('a.page-link')
94
- expect($links.length).toBe(9)
95
-
96
- expect($links.at(2).text()).toBe('1')
97
- expect($links.at(3).text()).toBe('2')
98
- expect($links.at(4).text()).toBe('3')
99
- expect($links.at(5).text()).toBe('4')
100
- expect($links.at(6).text()).toBe('5')
101
-
102
- wrapper.destroy()
103
- })
104
-
105
- it('disabled renders correct', async () => {
106
- const wrapper = mount(BPaginationNav, {
107
- propsData: {
108
- numberOfPages: 1,
109
- value: 1,
110
- disabled: true
111
- }
112
- })
113
- await waitNT(wrapper.vm)
114
- await waitRAF()
115
-
116
- // <pagination-nav> has an outer wrapper of nav
117
- expect(wrapper.element.tagName).toBe('NAV')
118
- const $ul = wrapper.find('ul.pagination')
119
- expect($ul.exists()).toBe(true)
120
-
121
- // NAV Attributes
122
- expect(wrapper.attributes('aria-hidden')).toBe('true')
123
- expect(wrapper.attributes('aria-disabled')).toBe('true')
124
-
125
- // UL Classes
126
- expect($ul.classes()).toContain('pagination')
127
- expect($ul.classes()).toContain('b-pagination')
128
-
129
- // UL Attributes
130
- expect($ul.attributes('role')).not.toBe('menubar')
131
- expect($ul.attributes('aria-disabled')).toBe('true')
132
-
133
- // LI classes
134
- expect(wrapper.findAll('li').length).toBe(5)
135
- expect(wrapper.findAll('li.page-item').length).toBe(5)
136
- expect(wrapper.findAll('li.disabled').length).toBe(5)
137
-
138
- // LI Inner should be span elements
139
- expect(wrapper.findAll('li > span').length).toBe(5)
140
- expect(wrapper.findAll('li > span.page-link').length).toBe(5)
141
- expect(wrapper.findAll('li > span[aria-disabled="true"').length).toBe(5)
142
-
143
- wrapper.destroy()
144
- })
145
-
146
- it('reacts to changes in number-of-pages', async () => {
147
- const wrapper = mount(BPaginationNav, {
148
- propsData: {
149
- numberOfPages: 3,
150
- value: 2,
151
- limit: 10
152
- }
153
- })
154
- await waitNT(wrapper.vm)
155
- await waitRAF()
156
-
157
- expect(wrapper.element.tagName).toBe('NAV')
158
- let $links = wrapper.findAll('a.page-link')
159
- expect($links.length).toBe(7)
160
-
161
- await wrapper.setProps({
162
- numberOfPages: 5
163
- })
164
-
165
- await waitNT(wrapper.vm)
166
- $links = wrapper.findAll('a.page-link')
167
- expect($links.length).toBe(9)
168
-
169
- wrapper.destroy()
170
- })
171
-
172
- it('renders with correct HREF when base-url specified', async () => {
173
- const wrapper = mount(BPaginationNav, {
174
- propsData: {
175
- numberOfPages: 5,
176
- value: 3,
177
- limit: 10,
178
- baseUrl: '/foo/'
179
- }
180
- })
181
- await waitNT(wrapper.vm)
182
- await waitRAF()
183
-
184
- expect(wrapper.element.tagName).toBe('NAV')
185
- const $links = wrapper.findAll('a.page-link')
186
- expect($links.length).toBe(9)
187
-
188
- // Default base URL is '/', and link will be the page number
189
- expect($links.at(0).attributes('href')).toBe('/foo/1')
190
- expect($links.at(1).attributes('href')).toBe('/foo/2')
191
- expect($links.at(2).attributes('href')).toBe('/foo/1')
192
- expect($links.at(3).attributes('href')).toBe('/foo/2')
193
- expect($links.at(4).attributes('href')).toBe('/foo/3')
194
- expect($links.at(5).attributes('href')).toBe('/foo/4')
195
- expect($links.at(6).attributes('href')).toBe('/foo/5')
196
- expect($links.at(7).attributes('href')).toBe('/foo/4')
197
- expect($links.at(8).attributes('href')).toBe('/foo/5')
198
-
199
- wrapper.destroy()
200
- })
201
-
202
- it('renders with correct HREF when link-gen function provided', async () => {
203
- const wrapper = mount(BPaginationNav, {
204
- propsData: {
205
- numberOfPages: 5,
206
- value: 3,
207
- limit: 10,
208
- linkGen: page => `?${page}`
209
- }
210
- })
211
- await waitNT(wrapper.vm)
212
- await waitRAF()
213
-
214
- expect(wrapper.element.tagName).toBe('NAV')
215
- const $links = wrapper.findAll('a.page-link')
216
- expect($links.length).toBe(9)
217
-
218
- // Default base URL is '/', and link will be the page number
219
- expect($links.at(0).attributes('href')).toBe('?1')
220
- expect($links.at(1).attributes('href')).toBe('?2')
221
- expect($links.at(2).attributes('href')).toBe('?1')
222
- expect($links.at(3).attributes('href')).toBe('?2')
223
- expect($links.at(4).attributes('href')).toBe('?3')
224
- expect($links.at(5).attributes('href')).toBe('?4')
225
- expect($links.at(6).attributes('href')).toBe('?5')
226
- expect($links.at(7).attributes('href')).toBe('?4')
227
- expect($links.at(8).attributes('href')).toBe('?5')
228
-
229
- wrapper.destroy()
230
- })
231
-
232
- it('renders with correct HREF when link-gen function returns object', async () => {
233
- const wrapper = mount(BPaginationNav, {
234
- propsData: {
235
- numberOfPages: 5,
236
- value: 3,
237
- limit: 10,
238
- linkGen: page => ({ path: `/baz?${page}` })
239
- }
240
- })
241
- await waitNT(wrapper.vm)
242
- await waitRAF()
243
-
244
- expect(wrapper.element.tagName).toBe('NAV')
245
- const $links = wrapper.findAll('a.page-link')
246
- expect($links.length).toBe(9)
247
-
248
- // Default base URL is '/', and link will be the page number
249
- expect($links.at(0).attributes('href')).toBe('/baz?1')
250
- expect($links.at(1).attributes('href')).toBe('/baz?2')
251
- expect($links.at(2).attributes('href')).toBe('/baz?1')
252
- expect($links.at(3).attributes('href')).toBe('/baz?2')
253
- expect($links.at(4).attributes('href')).toBe('/baz?3')
254
- expect($links.at(5).attributes('href')).toBe('/baz?4')
255
- expect($links.at(6).attributes('href')).toBe('/baz?5')
256
- expect($links.at(7).attributes('href')).toBe('/baz?4')
257
- expect($links.at(8).attributes('href')).toBe('/baz?5')
258
-
259
- wrapper.destroy()
260
- })
261
-
262
- it('renders with correct page button text when page-gen function provided', async () => {
263
- const wrapper = mount(BPaginationNav, {
264
- propsData: {
265
- numberOfPages: 5,
266
- value: 3,
267
- limit: 10,
268
- pageGen: page => `Page ${page}`
269
- }
270
- })
271
- await waitNT(wrapper.vm)
272
- await waitRAF()
273
-
274
- expect(wrapper.element.tagName).toBe('NAV')
275
- const $links = wrapper.findAll('a.page-link')
276
- expect($links.length).toBe(9)
277
-
278
- expect($links.at(2).text()).toBe('Page 1')
279
- expect($links.at(3).text()).toBe('Page 2')
280
- expect($links.at(4).text()).toBe('Page 3')
281
- expect($links.at(5).text()).toBe('Page 4')
282
- expect($links.at(6).text()).toBe('Page 5')
283
-
284
- wrapper.destroy()
285
- })
286
-
287
- it('renders with correct HREF when array of links set via pages prop', async () => {
288
- const wrapper = mount(BPaginationNav, {
289
- propsData: {
290
- value: 3,
291
- limit: 10,
292
- pages: ['/baz?1', '/baz?2', '/baz?3', '/baz?4', '/baz?5']
293
- }
294
- })
295
- await waitNT(wrapper.vm)
296
- await waitRAF()
297
-
298
- expect(wrapper.element.tagName).toBe('NAV')
299
- const $links = wrapper.findAll('a.page-link')
300
- expect($links.length).toBe(9)
301
-
302
- // Default base URL is '/', and link will be the page number
303
- expect($links.at(0).attributes('href')).toBe('/baz?1')
304
- expect($links.at(1).attributes('href')).toBe('/baz?2')
305
- expect($links.at(2).attributes('href')).toBe('/baz?1')
306
- expect($links.at(3).attributes('href')).toBe('/baz?2')
307
- expect($links.at(4).attributes('href')).toBe('/baz?3')
308
- expect($links.at(5).attributes('href')).toBe('/baz?4')
309
- expect($links.at(6).attributes('href')).toBe('/baz?5')
310
- expect($links.at(7).attributes('href')).toBe('/baz?4')
311
- expect($links.at(8).attributes('href')).toBe('/baz?5')
312
-
313
- // Page buttons have correct content
314
- expect($links.at(2).text()).toBe('1')
315
- expect($links.at(3).text()).toBe('2')
316
- expect($links.at(4).text()).toBe('3')
317
- expect($links.at(5).text()).toBe('4')
318
- expect($links.at(6).text()).toBe('5')
319
-
320
- wrapper.destroy()
321
- })
322
-
323
- it('renders with correct HREF when array of links and text set via pages prop', async () => {
324
- const wrapper = mount(BPaginationNav, {
325
- propsData: {
326
- value: 3,
327
- limit: 10,
328
- pages: [
329
- { link: '/baz?1', text: 'one' },
330
- { link: '/baz?2', text: 'two' },
331
- { link: '/baz?3', text: 'three' },
332
- { link: '/baz?4', text: 'four' },
333
- { link: '/baz?5', text: 'five' }
334
- ]
335
- }
336
- })
337
- await waitNT(wrapper.vm)
338
- await waitRAF()
339
-
340
- expect(wrapper.element.tagName).toBe('NAV')
341
- const $links = wrapper.findAll('a.page-link')
342
- expect($links.length).toBe(9)
343
-
344
- // Default base URL is '/', and link will be the page number
345
- expect($links.at(0).attributes('href')).toBe('/baz?1')
346
- expect($links.at(1).attributes('href')).toBe('/baz?2')
347
- expect($links.at(2).attributes('href')).toBe('/baz?1')
348
- expect($links.at(3).attributes('href')).toBe('/baz?2')
349
- expect($links.at(4).attributes('href')).toBe('/baz?3')
350
- expect($links.at(5).attributes('href')).toBe('/baz?4')
351
- expect($links.at(6).attributes('href')).toBe('/baz?5')
352
- expect($links.at(7).attributes('href')).toBe('/baz?4')
353
- expect($links.at(8).attributes('href')).toBe('/baz?5')
354
-
355
- // Page buttons have correct content
356
- expect($links.at(2).text()).toBe('one')
357
- expect($links.at(3).text()).toBe('two')
358
- expect($links.at(4).text()).toBe('three')
359
- expect($links.at(5).text()).toBe('four')
360
- expect($links.at(6).text()).toBe('five')
361
-
362
- wrapper.destroy()
363
- })
364
-
365
- it('reacts to changes in pages array length', async () => {
366
- const wrapper = mount(BPaginationNav, {
367
- propsData: {
368
- value: 2,
369
- limit: 10,
370
- pages: ['/baz?1', '/baz?2', '/baz?3']
371
- }
372
- })
373
- await waitNT(wrapper.vm)
374
- await waitRAF()
375
-
376
- expect(wrapper.element.tagName).toBe('NAV')
377
- let $links = wrapper.findAll('a.page-link')
378
- expect($links.length).toBe(7)
379
-
380
- expect($links.at(0).attributes('href')).toBe('/baz?1')
381
- expect($links.at(1).attributes('href')).toBe('/baz?1')
382
- expect($links.at(2).attributes('href')).toBe('/baz?1')
383
- expect($links.at(3).attributes('href')).toBe('/baz?2')
384
- expect($links.at(4).attributes('href')).toBe('/baz?3')
385
- expect($links.at(5).attributes('href')).toBe('/baz?3')
386
- expect($links.at(6).attributes('href')).toBe('/baz?3')
387
-
388
- // Add extra page
389
- await wrapper.setProps({
390
- pages: ['/baz?1', '/baz?2', '/baz?3', '/baz?4']
391
- })
392
- await waitNT(wrapper.vm)
393
-
394
- $links = wrapper.findAll('a.page-link')
395
- expect($links.length).toBe(8)
396
-
397
- expect($links.at(0).attributes('href')).toBe('/baz?1')
398
- expect($links.at(1).attributes('href')).toBe('/baz?1')
399
- expect($links.at(2).attributes('href')).toBe('/baz?1')
400
- expect($links.at(3).attributes('href')).toBe('/baz?2')
401
- expect($links.at(4).attributes('href')).toBe('/baz?3')
402
- expect($links.at(5).attributes('href')).toBe('/baz?4')
403
- expect($links.at(6).attributes('href')).toBe('/baz?3')
404
- expect($links.at(7).attributes('href')).toBe('/baz?4')
405
-
406
- wrapper.destroy()
407
- })
408
-
409
- it('clicking buttons updates the v-model', async () => {
410
- const App = {
411
- compatConfig: { MODE: 3, RENDER_FUNCTION: 'suppress-warning' },
412
- methods: {
413
- onPageClick(bvEvent, page) {
414
- // Prevent 3rd page from being selected
415
- if (page === 3) {
416
- bvEvent.preventDefault()
417
- }
418
- }
419
- },
420
- render(h) {
421
- return h(BPaginationNav, {
422
- props: {
423
- baseUrl: '#', // Needed to prevent JSDOM errors
424
- numberOfPages: 5,
425
- value: 1,
426
- limit: 10
427
- },
428
- on: { 'page-click': this.onPageClick }
429
- })
430
- }
431
- }
432
-
433
- const wrapper = mount(App)
434
- expect(wrapper).toBeDefined()
435
-
436
- const paginationNav = wrapper.findComponent(BPaginationNav)
437
- expect(paginationNav).toBeDefined()
438
- expect(paginationNav.element.tagName).toBe('NAV')
439
-
440
- // Grab the page links
441
- const lis = paginationNav.findAll('li')
442
- expect(lis.length).toBe(9)
443
-
444
- expect(paginationNav.vm.computedCurrentPage).toBe(1)
445
- expect(paginationNav.emitted('input')).toBeUndefined()
446
- expect(paginationNav.emitted('change')).toBeUndefined()
447
- expect(paginationNav.emitted('page-click')).toBeUndefined()
448
-
449
- // Click on current (1st) page link (does nothing)
450
- await lis
451
- .at(2)
452
- .find('a')
453
- .trigger('click')
454
- await waitRAF()
455
- expect(paginationNav.vm.computedCurrentPage).toBe(1)
456
- expect(paginationNav.emitted('input')).toBeUndefined()
457
- expect(paginationNav.emitted('change')).toBeUndefined()
458
- expect(paginationNav.emitted('page-click')).toBeUndefined()
459
-
460
- // Click on 2nd page link
461
- await lis
462
- .at(3)
463
- .find('a')
464
- .trigger('click')
465
- await waitRAF()
466
- expect(paginationNav.vm.computedCurrentPage).toBe(2)
467
- expect(paginationNav.emitted('input')).toBeDefined()
468
- expect(paginationNav.emitted('change')).toBeDefined()
469
- expect(paginationNav.emitted('page-click')).toBeDefined()
470
- expect(paginationNav.emitted('input')[0][0]).toBe(2)
471
- expect(paginationNav.emitted('change')[0][0]).toBe(2)
472
- expect(paginationNav.emitted('page-click').length).toBe(1)
473
-
474
- // Click goto last page link
475
- await lis
476
- .at(8)
477
- .find('a')
478
- .trigger('click')
479
- await waitRAF()
480
- expect(paginationNav.vm.computedCurrentPage).toBe(5)
481
- expect(paginationNav.emitted('input')[1][0]).toBe(5)
482
- expect(paginationNav.emitted('change')[1][0]).toBe(5)
483
- expect(paginationNav.emitted('page-click').length).toBe(2)
484
-
485
- // Click prev page link
486
- await lis
487
- .at(1)
488
- .find('a')
489
- .trigger('click')
490
- await waitRAF()
491
- expect(paginationNav.vm.computedCurrentPage).toBe(4)
492
- expect(paginationNav.emitted('input')[2][0]).toBe(4)
493
- expect(paginationNav.emitted('change')[2][0]).toBe(4)
494
- expect(paginationNav.emitted('page-click').length).toBe(3)
495
-
496
- // Click on 3rd page link (prevented)
497
- await lis
498
- .at(4)
499
- .find('a')
500
- .trigger('click')
501
- await waitRAF()
502
- expect(paginationNav.vm.computedCurrentPage).toBe(4)
503
- expect(paginationNav.emitted('input').length).toBe(3)
504
- expect(paginationNav.emitted('change').length).toBe(3)
505
- expect(paginationNav.emitted('page-click').length).toBe(4)
506
-
507
- wrapper.destroy()
508
- })
509
-
510
- describe('auto-detect page', () => {
511
- // Note: JSDOM only works with hash URL updates out of the box
512
-
513
- beforeEach(() => {
514
- // Make sure theJSDOM is at '/', as JSDOM instances for each test!
515
- window.history.pushState({}, '', '/')
516
- })
517
-
518
- it('detects current page without $router', async () => {
519
- const wrapper = mount(BPaginationNav, {
520
- propsData: {
521
- numberOfPages: 3,
522
- value: null,
523
- linkGen: page => (page === 2 ? '/' : `/#${page}`)
524
- }
525
- })
526
- await waitNT(wrapper.vm)
527
- await waitRAF()
528
- await waitNT(wrapper.vm)
529
-
530
- expect(wrapper.vm.$router).toBeUndefined()
531
- expect(wrapper.vm.$route).toBeUndefined()
532
-
533
- expect(wrapper.element.tagName).toBe('NAV')
534
- const $ul = wrapper.find('ul.pagination')
535
- expect($ul.exists()).toBe(true)
536
-
537
- // Emitted current page (2)
538
- expect(wrapper.emitted('input')).toBeDefined()
539
- expect(wrapper.emitted('input').length).toBe(1)
540
- expect(wrapper.emitted('input')[0][0]).toBe(2) // Page 2, URL = ''
541
-
542
- wrapper.destroy()
543
- })
544
-
545
- it('works with $router to detect path and linkGen returns location object', async () => {
546
- const App = {
547
- compatConfig: { MODE: 3, COMPONENT_FUNCTIONAL: 'suppress-warning' },
548
- components: { BPaginationNav },
549
- methods: {
550
- linkGen(page) {
551
- // We make page #2 "home" for testing
552
- // We return a to prop to auto trigger use of $router
553
- // if using strings, we would need to set use-router=true
554
- return page === 2 ? { path: '/' } : { path: '/' + page }
555
- }
556
- },
557
- template: `
558
- <div>
559
- <b-pagination-nav :number-of-pages="3" :link-gen="linkGen"></b-pagination-nav>
560
- <router-view></router-view>
561
- </div>
562
- `
563
- }
564
- // Our router view component
565
- const FooRoute = {
566
- compatConfig: { MODE: 3, RENDER_FUNCTION: 'suppress-warning' },
567
- render(h) {
568
- return h('div', { class: 'foo-content' }, ['stub'])
569
- }
570
- }
571
- // Create router instance
572
- const router = new VueRouter({
573
- routes: [{ path: '/', component: FooRoute }, { path: '/:page', component: FooRoute }]
574
- })
575
- const wrapper = mount(App, { router })
576
-
577
- expect(wrapper).toBeDefined()
578
-
579
- // Wait for the router to initialize
580
- await new Promise(resolve => router.onReady(resolve))
581
-
582
- // Wait for the guessCurrentPage to complete
583
- await waitNT(wrapper.vm)
584
- await waitRAF()
585
- await waitNT(wrapper.vm)
586
-
587
- // The pagination-nav component should exist
588
- expect(wrapper.findComponent(BPaginationNav).exists()).toBe(true)
589
- // And should be on page 2
590
- expect(wrapper.findComponent(BPaginationNav).vm.currentPage).toBe(2)
591
-
592
- // Push router to a new page
593
- wrapper.vm.$router.push('/3')
594
-
595
- // Wait for the guessCurrentPage to complete
596
- await waitNT(wrapper.vm)
597
- await waitRAF()
598
- await waitNT(wrapper.vm)
599
-
600
- // The pagination-nav component should exist
601
- expect(wrapper.findComponent(BPaginationNav).exists()).toBe(true)
602
- // And should be on page 3
603
- expect(wrapper.findComponent(BPaginationNav).vm.currentPage).toBe(3)
604
-
605
- wrapper.destroy()
606
- })
607
-
608
- it('works with $router to detect path and use-router set and linkGen returns string', async () => {
609
- const App = {
610
- compatConfig: { MODE: 3, COMPONENT_FUNCTIONAL: 'suppress-warning' },
611
- components: { BPaginationNav },
612
- methods: {
613
- linkGen(page) {
614
- // We make page #2 "home" for testing
615
- // We return a to prop to auto trigger use of $router
616
- // if using strings, we would need to set use-router=true
617
- return page === 2 ? '/' : `/${page}`
618
- }
619
- },
620
- template: `
621
- <div>
622
- <b-pagination-nav :number-of-pages="3" :link-gen="linkGen" use-router></b-pagination-nav>
623
- <router-view></router-view>
624
- </div>
625
- `
626
- }
627
- // Our router view component
628
- const FooRoute = {
629
- compatConfig: { MODE: 3, RENDER_FUNCTION: 'suppress-warning' },
630
- render(h) {
631
- return h('div', { class: 'foo-content' }, ['stub'])
632
- }
633
- }
634
- // Create router instance
635
- const router = new VueRouter({
636
- routes: [{ path: '/', component: FooRoute }, { path: '/:page', component: FooRoute }]
637
- })
638
- const wrapper = mount(App, { router })
639
-
640
- expect(wrapper).toBeDefined()
641
-
642
- // Wait for the router to initialize
643
- await new Promise(resolve => router.onReady(resolve))
644
-
645
- // Wait for the guessCurrentPage to complete
646
- await waitNT(wrapper.vm)
647
- await waitRAF()
648
- await waitNT(wrapper.vm)
649
-
650
- // The <pagination-nav> component should exist
651
- expect(wrapper.findComponent(BPaginationNav).exists()).toBe(true)
652
- // And should be on page 2
653
- expect(wrapper.findComponent(BPaginationNav).vm.currentPage).toBe(2)
654
-
655
- // Push router to a new page
656
- wrapper.vm.$router.push('/3')
657
-
658
- // Wait for the guessCurrentPage to complete
659
- await waitNT(wrapper.vm)
660
- await waitRAF()
661
- await waitNT(wrapper.vm)
662
-
663
- // The pagination-nav component should exist
664
- expect(wrapper.findComponent(BPaginationNav).exists()).toBe(true)
665
- // And should be on page 3
666
- expect(wrapper.findComponent(BPaginationNav).vm.currentPage).toBe(3)
667
-
668
- wrapper.destroy()
669
- })
670
- })
671
- })