@gitlab/ui 92.2.0 → 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 (440) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/bin/migrate_custom_utils_to_tw.bundled.mjs +11 -3
  3. package/dist/index.css +4 -2
  4. package/dist/index.css.map +1 -1
  5. package/dist/tailwind.css +1 -1
  6. package/dist/tailwind.css.map +1 -1
  7. package/dist/vendor/bootstrap-vue/src/components/form/index.js +0 -4
  8. package/dist/vendor/bootstrap-vue/src/components/index.js +0 -48
  9. package/dist/vendor/bootstrap-vue/src/components/layout/index.js +0 -6
  10. package/dist/vendor/bootstrap-vue/src/components/nav/index.js +0 -6
  11. package/dist/vendor/bootstrap-vue/src/components/navbar/index.js +1 -8
  12. package/dist/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip.js +2 -6
  13. package/dist/vendor/bootstrap-vue/src/constants/classes.js +1 -2
  14. package/dist/vendor/bootstrap-vue/src/constants/components.js +1 -51
  15. package/dist/vendor/bootstrap-vue/src/constants/events.js +1 -12
  16. package/dist/vendor/bootstrap-vue/src/constants/key-codes.js +1 -5
  17. package/dist/vendor/bootstrap-vue/src/constants/props.js +1 -4
  18. package/dist/vendor/bootstrap-vue/src/constants/regex.js +1 -20
  19. package/dist/vendor/bootstrap-vue/src/constants/slots.js +1 -33
  20. package/dist/vendor/bootstrap-vue/src/directives/toggle/toggle.js +1 -1
  21. package/dist/vendor/bootstrap-vue/src/index.js +0 -74
  22. package/dist/vendor/bootstrap-vue/src/utils/array.js +1 -3
  23. package/dist/vendor/bootstrap-vue/src/utils/inspect.js +1 -3
  24. package/dist/vendor/bootstrap-vue/src/utils/math.js +1 -3
  25. package/dist/vendor/bootstrap-vue/src/utils/object.js +1 -6
  26. package/dist/vendor/bootstrap-vue/src/utils/props.js +2 -8
  27. package/dist/vendor/bootstrap-vue/src/utils/string.js +1 -10
  28. package/package.json +1 -1
  29. package/src/components/base/accordion/accordion_item.scss +3 -3
  30. package/src/components/base/alert/alert.scss +3 -3
  31. package/src/components/base/avatar_labeled/avatar_labeled.scss +2 -2
  32. package/src/components/base/avatars_inline/avatars_inline.scss +1 -1
  33. package/src/components/base/badge/badge.scss +2 -2
  34. package/src/components/base/banner/banner.scss +2 -2
  35. package/src/components/base/breadcrumb/breadcrumb.scss +3 -3
  36. package/src/components/base/broadcast_message/broadcast_message.scss +3 -3
  37. package/src/components/base/button/button.scss +14 -14
  38. package/src/components/base/card/card.scss +1 -1
  39. package/src/components/base/datepicker/datepicker.scss +10 -10
  40. package/src/components/base/drawer/drawer.scss +5 -5
  41. package/src/components/base/dropdown/dropdown.scss +28 -28
  42. package/src/components/base/dropdown/dropdown_divider.scss +3 -3
  43. package/src/components/base/dropdown/dropdown_item.scss +9 -9
  44. package/src/components/base/dropdown/dropdown_section_header.scss +2 -2
  45. package/src/components/base/dropdown/dropdown_text.scss +1 -1
  46. package/src/components/base/filtered_search/filtered_search.scss +7 -7
  47. package/src/components/base/filtered_search/filtered_search_suggestion.scss +1 -1
  48. package/src/components/base/filtered_search/filtered_search_suggestion_list.scss +3 -3
  49. package/src/components/base/filtered_search/filtered_search_term.scss +2 -2
  50. package/src/components/base/filtered_search/filtered_search_token.scss +4 -4
  51. package/src/components/base/filtered_search/filtered_search_token_segment.scss +2 -2
  52. package/src/components/base/form/form_checkbox/form_checkbox.scss +10 -10
  53. package/src/components/base/form/form_group/form_group.scss +5 -5
  54. package/src/components/base/form/form_input/form_input.scss +2 -2
  55. package/src/components/base/form/form_select/form_select.scss +2 -2
  56. package/src/components/base/keyset_pagination/keyset_pagination.scss +1 -1
  57. package/src/components/base/label/label.scss +1 -1
  58. package/src/components/base/loading_icon/loading_icon.scss +1 -1
  59. package/src/components/base/markdown/markdown.scss +33 -33
  60. package/src/components/base/modal/modal.scss +11 -11
  61. package/src/components/base/new_dropdowns/dropdown.scss +14 -14
  62. package/src/components/base/new_dropdowns/dropdown_item.scss +9 -9
  63. package/src/components/base/new_dropdowns/listbox/listbox.scss +1 -1
  64. package/src/components/base/pagination/pagination.scss +3 -3
  65. package/src/components/base/path/path.scss +5 -5
  66. package/src/components/base/popover/popover.scss +5 -5
  67. package/src/components/base/search_box_by_click/search_box_by_click.scss +2 -2
  68. package/src/components/base/search_box_by_type/search_box_by_type.scss +4 -4
  69. package/src/components/base/table/table.scss +4 -4
  70. package/src/components/base/tabs/tabs/tabs.scss +10 -10
  71. package/src/components/base/toast/toast.scss +7 -7
  72. package/src/components/base/toggle/toggle.scss +6 -6
  73. package/src/components/base/token/token.scss +5 -5
  74. package/src/components/base/tooltip/tooltip.scss +3 -3
  75. package/src/components/charts/legend/legend.scss +4 -4
  76. package/src/components/charts/series_label/series_label.scss +1 -1
  77. package/src/components/experimental/duo/chat/components/duo_chat_message/duo_chat_message.scss +1 -1
  78. package/src/components/experimental/duo/chat/duo_chat.scss +4 -4
  79. package/src/components/shared_components/charts/tooltip_default_format.scss +1 -1
  80. package/src/scss/bootstrap_vue.scss +0 -18
  81. package/src/scss/typescale/_index.scss +9 -9
  82. package/src/vendor/bootstrap-vue/nuxt/index.js +0 -8
  83. package/src/vendor/bootstrap-vue/src/_utilities.scss +0 -9
  84. package/src/vendor/bootstrap-vue/src/_variables.scss +0 -52
  85. package/src/vendor/bootstrap-vue/src/components/form/index.d.ts +0 -3
  86. package/src/vendor/bootstrap-vue/src/components/form/index.js +1 -4
  87. package/src/vendor/bootstrap-vue/src/components/form/package.json +0 -12
  88. package/src/vendor/bootstrap-vue/src/components/index.d.ts +0 -24
  89. package/src/vendor/bootstrap-vue/src/components/index.js +0 -48
  90. package/src/vendor/bootstrap-vue/src/components/index.scss +0 -15
  91. package/src/vendor/bootstrap-vue/src/components/layout/index.d.ts +0 -6
  92. package/src/vendor/bootstrap-vue/src/components/layout/index.js +1 -5
  93. package/src/vendor/bootstrap-vue/src/components/layout/package.json +0 -67
  94. package/src/vendor/bootstrap-vue/src/components/modal/README.md +0 -1
  95. package/src/vendor/bootstrap-vue/src/components/nav/index.d.ts +0 -6
  96. package/src/vendor/bootstrap-vue/src/components/nav/index.js +1 -5
  97. package/src/vendor/bootstrap-vue/src/components/nav/package.json +0 -45
  98. package/src/vendor/bootstrap-vue/src/components/navbar/README.md +0 -5
  99. package/src/vendor/bootstrap-vue/src/components/navbar/index.d.ts +1 -7
  100. package/src/vendor/bootstrap-vue/src/components/navbar/index.js +2 -7
  101. package/src/vendor/bootstrap-vue/src/components/navbar/package.json +0 -75
  102. package/src/vendor/bootstrap-vue/src/components/table/README.md +1 -2
  103. package/src/vendor/bootstrap-vue/src/components/tabs/README.md +2 -2
  104. package/src/vendor/bootstrap-vue/src/components/toast/README.md +1 -3
  105. package/src/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip.js +2 -6
  106. package/src/vendor/bootstrap-vue/src/constants/classes.js +0 -1
  107. package/src/vendor/bootstrap-vue/src/constants/components.js +0 -50
  108. package/src/vendor/bootstrap-vue/src/constants/events.js +0 -11
  109. package/src/vendor/bootstrap-vue/src/constants/key-codes.js +0 -4
  110. package/src/vendor/bootstrap-vue/src/constants/props.js +0 -3
  111. package/src/vendor/bootstrap-vue/src/constants/regex.js +0 -19
  112. package/src/vendor/bootstrap-vue/src/constants/slots.js +0 -32
  113. package/src/vendor/bootstrap-vue/src/directives/toggle/README.md +5 -23
  114. package/src/vendor/bootstrap-vue/src/directives/toggle/package.json +1 -1
  115. package/src/vendor/bootstrap-vue/src/directives/toggle/toggle.js +1 -1
  116. package/src/vendor/bootstrap-vue/src/index.js +0 -122
  117. package/src/vendor/bootstrap-vue/src/index.scss +0 -3
  118. package/src/vendor/bootstrap-vue/src/utils/array.js +0 -5
  119. package/src/vendor/bootstrap-vue/src/utils/config.spec.js +15 -15
  120. package/src/vendor/bootstrap-vue/src/utils/inspect.js +0 -4
  121. package/src/vendor/bootstrap-vue/src/utils/math.js +0 -4
  122. package/src/vendor/bootstrap-vue/src/utils/object.js +0 -5
  123. package/src/vendor/bootstrap-vue/src/utils/props.js +1 -7
  124. package/src/vendor/bootstrap-vue/src/utils/string.js +0 -9
  125. package/src/vendor/bootstrap-vue/src/utils/string.spec.js +1 -20
  126. package/dist/vendor/bootstrap-vue/src/components/alert/alert.js +0 -179
  127. package/dist/vendor/bootstrap-vue/src/components/alert/index.js +0 -11
  128. package/dist/vendor/bootstrap-vue/src/components/aspect/aspect.js +0 -67
  129. package/dist/vendor/bootstrap-vue/src/components/aspect/index.js +0 -11
  130. package/dist/vendor/bootstrap-vue/src/components/avatar/avatar-group.js +0 -67
  131. package/dist/vendor/bootstrap-vue/src/components/avatar/avatar.js +0 -266
  132. package/dist/vendor/bootstrap-vue/src/components/avatar/index.js +0 -14
  133. package/dist/vendor/bootstrap-vue/src/components/button-toolbar/button-toolbar.js +0 -112
  134. package/dist/vendor/bootstrap-vue/src/components/button-toolbar/index.js +0 -12
  135. package/dist/vendor/bootstrap-vue/src/components/calendar/calendar.js +0 -1010
  136. package/dist/vendor/bootstrap-vue/src/components/calendar/index.js +0 -11
  137. package/dist/vendor/bootstrap-vue/src/components/card/card-body.js +0 -63
  138. package/dist/vendor/bootstrap-vue/src/components/card/card-footer.js +0 -48
  139. package/dist/vendor/bootstrap-vue/src/components/card/card-group.js +0 -33
  140. package/dist/vendor/bootstrap-vue/src/components/card/card-header.js +0 -48
  141. package/dist/vendor/bootstrap-vue/src/components/card/card-img-lazy.js +0 -46
  142. package/dist/vendor/bootstrap-vue/src/components/card/card-img.js +0 -58
  143. package/dist/vendor/bootstrap-vue/src/components/card/card-sub-title.js +0 -35
  144. package/dist/vendor/bootstrap-vue/src/components/card/card-text.js +0 -31
  145. package/dist/vendor/bootstrap-vue/src/components/card/card-title.js +0 -33
  146. package/dist/vendor/bootstrap-vue/src/components/card/card.js +0 -123
  147. package/dist/vendor/bootstrap-vue/src/components/card/index.js +0 -38
  148. package/dist/vendor/bootstrap-vue/src/components/embed/embed.js +0 -50
  149. package/dist/vendor/bootstrap-vue/src/components/embed/index.js +0 -11
  150. package/dist/vendor/bootstrap-vue/src/components/form/form-datalist.js +0 -52
  151. package/dist/vendor/bootstrap-vue/src/components/form-btn-label-control/bv-form-btn-label-control.js +0 -261
  152. package/dist/vendor/bootstrap-vue/src/components/form-datepicker/form-datepicker.js +0 -310
  153. package/dist/vendor/bootstrap-vue/src/components/form-datepicker/index.js +0 -12
  154. package/dist/vendor/bootstrap-vue/src/components/form-file/form-file.js +0 -561
  155. package/dist/vendor/bootstrap-vue/src/components/form-file/index.js +0 -12
  156. package/dist/vendor/bootstrap-vue/src/components/form-rating/form-rating.js +0 -402
  157. package/dist/vendor/bootstrap-vue/src/components/form-rating/index.js +0 -12
  158. package/dist/vendor/bootstrap-vue/src/components/form-spinbutton/form-spinbutton.js +0 -555
  159. package/dist/vendor/bootstrap-vue/src/components/form-spinbutton/index.js +0 -12
  160. package/dist/vendor/bootstrap-vue/src/components/form-tags/form-tag.js +0 -97
  161. package/dist/vendor/bootstrap-vue/src/components/form-tags/form-tags.js +0 -806
  162. package/dist/vendor/bootstrap-vue/src/components/form-tags/index.js +0 -16
  163. package/dist/vendor/bootstrap-vue/src/components/form-timepicker/form-timepicker.js +0 -281
  164. package/dist/vendor/bootstrap-vue/src/components/form-timepicker/index.js +0 -12
  165. package/dist/vendor/bootstrap-vue/src/components/image/img-lazy.js +0 -157
  166. package/dist/vendor/bootstrap-vue/src/components/image/img.js +0 -124
  167. package/dist/vendor/bootstrap-vue/src/components/image/index.js +0 -14
  168. package/dist/vendor/bootstrap-vue/src/components/jumbotron/index.js +0 -11
  169. package/dist/vendor/bootstrap-vue/src/components/jumbotron/jumbotron.js +0 -98
  170. package/dist/vendor/bootstrap-vue/src/components/layout/container.js +0 -41
  171. package/dist/vendor/bootstrap-vue/src/components/layout/row.js +0 -113
  172. package/dist/vendor/bootstrap-vue/src/components/list-group/index.js +0 -14
  173. package/dist/vendor/bootstrap-vue/src/components/list-group/list-group-item.js +0 -78
  174. package/dist/vendor/bootstrap-vue/src/components/list-group/list-group.js +0 -42
  175. package/dist/vendor/bootstrap-vue/src/components/media/index.js +0 -17
  176. package/dist/vendor/bootstrap-vue/src/components/media/media-aside.js +0 -41
  177. package/dist/vendor/bootstrap-vue/src/components/media/media-body.js +0 -31
  178. package/dist/vendor/bootstrap-vue/src/components/media/media.js +0 -61
  179. package/dist/vendor/bootstrap-vue/src/components/nav/nav-form.js +0 -45
  180. package/dist/vendor/bootstrap-vue/src/components/nav/nav-text.js +0 -26
  181. package/dist/vendor/bootstrap-vue/src/components/navbar/navbar-nav.js +0 -46
  182. package/dist/vendor/bootstrap-vue/src/components/navbar/navbar-toggle.js +0 -89
  183. package/dist/vendor/bootstrap-vue/src/components/overlay/index.js +0 -11
  184. package/dist/vendor/bootstrap-vue/src/components/overlay/overlay.js +0 -163
  185. package/dist/vendor/bootstrap-vue/src/components/pagination/index.js +0 -11
  186. package/dist/vendor/bootstrap-vue/src/components/pagination/pagination.js +0 -135
  187. package/dist/vendor/bootstrap-vue/src/components/pagination-nav/index.js +0 -11
  188. package/dist/vendor/bootstrap-vue/src/components/pagination-nav/pagination-nav.js +0 -299
  189. package/dist/vendor/bootstrap-vue/src/components/sidebar/index.js +0 -15
  190. package/dist/vendor/bootstrap-vue/src/components/sidebar/sidebar.js +0 -432
  191. package/dist/vendor/bootstrap-vue/src/components/skeleton/index.js +0 -23
  192. package/dist/vendor/bootstrap-vue/src/components/skeleton/skeleton-icon.js +0 -47
  193. package/dist/vendor/bootstrap-vue/src/components/skeleton/skeleton-img.js +0 -60
  194. package/dist/vendor/bootstrap-vue/src/components/skeleton/skeleton-table.js +0 -64
  195. package/dist/vendor/bootstrap-vue/src/components/skeleton/skeleton-wrapper.js +0 -46
  196. package/dist/vendor/bootstrap-vue/src/components/skeleton/skeleton.js +0 -49
  197. package/dist/vendor/bootstrap-vue/src/components/spinner/index.js +0 -11
  198. package/dist/vendor/bootstrap-vue/src/components/spinner/spinner.js +0 -55
  199. package/dist/vendor/bootstrap-vue/src/components/time/index.js +0 -11
  200. package/dist/vendor/bootstrap-vue/src/components/time/time.js +0 -600
  201. package/dist/vendor/bootstrap-vue/src/constants/date.js +0 -8
  202. package/dist/vendor/bootstrap-vue/src/mixins/card.js +0 -22
  203. package/dist/vendor/bootstrap-vue/src/mixins/pagination.js +0 -598
  204. package/dist/vendor/bootstrap-vue/src/utils/date.js +0 -135
  205. package/src/vendor/bootstrap-vue/src/_custom-controls.scss +0 -30
  206. package/src/vendor/bootstrap-vue/src/components/alert/README.md +0 -280
  207. package/src/vendor/bootstrap-vue/src/components/alert/alert.js +0 -185
  208. package/src/vendor/bootstrap-vue/src/components/alert/alert.spec.js +0 -442
  209. package/src/vendor/bootstrap-vue/src/components/alert/index.d.ts +0 -13
  210. package/src/vendor/bootstrap-vue/src/components/alert/index.js +0 -8
  211. package/src/vendor/bootstrap-vue/src/components/alert/package.json +0 -72
  212. package/src/vendor/bootstrap-vue/src/components/aspect/README.md +0 -65
  213. package/src/vendor/bootstrap-vue/src/components/aspect/aspect.js +0 -65
  214. package/src/vendor/bootstrap-vue/src/components/aspect/aspect.spec.js +0 -121
  215. package/src/vendor/bootstrap-vue/src/components/aspect/index.d.ts +0 -11
  216. package/src/vendor/bootstrap-vue/src/components/aspect/index.js +0 -8
  217. package/src/vendor/bootstrap-vue/src/components/aspect/package.json +0 -26
  218. package/src/vendor/bootstrap-vue/src/components/avatar/README.md +0 -567
  219. package/src/vendor/bootstrap-vue/src/components/avatar/_avatar.scss +0 -148
  220. package/src/vendor/bootstrap-vue/src/components/avatar/avatar-group.js +0 -75
  221. package/src/vendor/bootstrap-vue/src/components/avatar/avatar-group.spec.js +0 -74
  222. package/src/vendor/bootstrap-vue/src/components/avatar/avatar.js +0 -228
  223. package/src/vendor/bootstrap-vue/src/components/avatar/avatar.spec.js +0 -355
  224. package/src/vendor/bootstrap-vue/src/components/avatar/index.d.ts +0 -14
  225. package/src/vendor/bootstrap-vue/src/components/avatar/index.js +0 -9
  226. package/src/vendor/bootstrap-vue/src/components/avatar/index.scss +0 -1
  227. package/src/vendor/bootstrap-vue/src/components/avatar/package.json +0 -149
  228. package/src/vendor/bootstrap-vue/src/components/button-toolbar/README.md +0 -109
  229. package/src/vendor/bootstrap-vue/src/components/button-toolbar/button-toolbar.js +0 -117
  230. package/src/vendor/bootstrap-vue/src/components/button-toolbar/button-toolbar.spec.js +0 -185
  231. package/src/vendor/bootstrap-vue/src/components/button-toolbar/index.d.ts +0 -11
  232. package/src/vendor/bootstrap-vue/src/components/button-toolbar/index.js +0 -11
  233. package/src/vendor/bootstrap-vue/src/components/button-toolbar/package.json +0 -32
  234. package/src/vendor/bootstrap-vue/src/components/calendar/README.md +0 -735
  235. package/src/vendor/bootstrap-vue/src/components/calendar/_calendar.scss +0 -78
  236. package/src/vendor/bootstrap-vue/src/components/calendar/calendar.js +0 -1146
  237. package/src/vendor/bootstrap-vue/src/components/calendar/calendar.spec.js +0 -466
  238. package/src/vendor/bootstrap-vue/src/components/calendar/index.d.ts +0 -28
  239. package/src/vendor/bootstrap-vue/src/components/calendar/index.js +0 -8
  240. package/src/vendor/bootstrap-vue/src/components/calendar/index.scss +0 -1
  241. package/src/vendor/bootstrap-vue/src/components/calendar/package.json +0 -317
  242. package/src/vendor/bootstrap-vue/src/components/card/README.md +0 -729
  243. package/src/vendor/bootstrap-vue/src/components/card/_card-img.scss +0 -7
  244. package/src/vendor/bootstrap-vue/src/components/card/card-body.js +0 -69
  245. package/src/vendor/bootstrap-vue/src/components/card/card-body.spec.js +0 -142
  246. package/src/vendor/bootstrap-vue/src/components/card/card-footer.js +0 -48
  247. package/src/vendor/bootstrap-vue/src/components/card/card-footer.spec.js +0 -98
  248. package/src/vendor/bootstrap-vue/src/components/card/card-group.js +0 -33
  249. package/src/vendor/bootstrap-vue/src/components/card/card-group.spec.js +0 -75
  250. package/src/vendor/bootstrap-vue/src/components/card/card-header.js +0 -48
  251. package/src/vendor/bootstrap-vue/src/components/card/card-header.spec.js +0 -98
  252. package/src/vendor/bootstrap-vue/src/components/card/card-img-lazy.js +0 -47
  253. package/src/vendor/bootstrap-vue/src/components/card/card-img-lazy.spec.js +0 -204
  254. package/src/vendor/bootstrap-vue/src/components/card/card-img.js +0 -50
  255. package/src/vendor/bootstrap-vue/src/components/card/card-img.spec.js +0 -208
  256. package/src/vendor/bootstrap-vue/src/components/card/card-sub-title.js +0 -35
  257. package/src/vendor/bootstrap-vue/src/components/card/card-sub-title.spec.js +0 -60
  258. package/src/vendor/bootstrap-vue/src/components/card/card-text.js +0 -25
  259. package/src/vendor/bootstrap-vue/src/components/card/card-text.spec.js +0 -48
  260. package/src/vendor/bootstrap-vue/src/components/card/card-title.js +0 -33
  261. package/src/vendor/bootstrap-vue/src/components/card/card-title.spec.js +0 -45
  262. package/src/vendor/bootstrap-vue/src/components/card/card.js +0 -140
  263. package/src/vendor/bootstrap-vue/src/components/card/card.spec.js +0 -296
  264. package/src/vendor/bootstrap-vue/src/components/card/index.d.ts +0 -38
  265. package/src/vendor/bootstrap-vue/src/components/card/index.js +0 -40
  266. package/src/vendor/bootstrap-vue/src/components/card/index.scss +0 -1
  267. package/src/vendor/bootstrap-vue/src/components/card/package.json +0 -262
  268. package/src/vendor/bootstrap-vue/src/components/embed/README.md +0 -63
  269. package/src/vendor/bootstrap-vue/src/components/embed/embed.js +0 -51
  270. package/src/vendor/bootstrap-vue/src/components/embed/embed.spec.js +0 -110
  271. package/src/vendor/bootstrap-vue/src/components/embed/index.d.ts +0 -11
  272. package/src/vendor/bootstrap-vue/src/components/embed/index.js +0 -8
  273. package/src/vendor/bootstrap-vue/src/components/embed/package.json +0 -29
  274. package/src/vendor/bootstrap-vue/src/components/form/form-datalist.js +0 -42
  275. package/src/vendor/bootstrap-vue/src/components/form/form-datalist.spec.js +0 -57
  276. package/src/vendor/bootstrap-vue/src/components/form-btn-label-control/_form-btn-label-control.scss +0 -125
  277. package/src/vendor/bootstrap-vue/src/components/form-btn-label-control/bv-form-btn-label-control.js +0 -278
  278. package/src/vendor/bootstrap-vue/src/components/form-btn-label-control/index.scss +0 -1
  279. package/src/vendor/bootstrap-vue/src/components/form-btn-label-control/package.json +0 -5
  280. package/src/vendor/bootstrap-vue/src/components/form-datepicker/README.md +0 -694
  281. package/src/vendor/bootstrap-vue/src/components/form-datepicker/_form-datepicker.scss +0 -1
  282. package/src/vendor/bootstrap-vue/src/components/form-datepicker/form-datepicker.js +0 -342
  283. package/src/vendor/bootstrap-vue/src/components/form-datepicker/form-datepicker.spec.js +0 -562
  284. package/src/vendor/bootstrap-vue/src/components/form-datepicker/index.d.ts +0 -12
  285. package/src/vendor/bootstrap-vue/src/components/form-datepicker/index.js +0 -11
  286. package/src/vendor/bootstrap-vue/src/components/form-datepicker/index.scss +0 -1
  287. package/src/vendor/bootstrap-vue/src/components/form-datepicker/package.json +0 -420
  288. package/src/vendor/bootstrap-vue/src/components/form-file/README.md +0 -357
  289. package/src/vendor/bootstrap-vue/src/components/form-file/_form-file.scss +0 -61
  290. package/src/vendor/bootstrap-vue/src/components/form-file/form-file.js +0 -575
  291. package/src/vendor/bootstrap-vue/src/components/form-file/form-file.spec.js +0 -885
  292. package/src/vendor/bootstrap-vue/src/components/form-file/index.d.ts +0 -13
  293. package/src/vendor/bootstrap-vue/src/components/form-file/index.js +0 -11
  294. package/src/vendor/bootstrap-vue/src/components/form-file/index.scss +0 -1
  295. package/src/vendor/bootstrap-vue/src/components/form-file/package.json +0 -131
  296. package/src/vendor/bootstrap-vue/src/components/form-rating/README.md +0 -526
  297. package/src/vendor/bootstrap-vue/src/components/form-rating/_form-rating.scss +0 -57
  298. package/src/vendor/bootstrap-vue/src/components/form-rating/form-rating.js +0 -411
  299. package/src/vendor/bootstrap-vue/src/components/form-rating/form-rating.spec.js +0 -544
  300. package/src/vendor/bootstrap-vue/src/components/form-rating/index.d.ts +0 -14
  301. package/src/vendor/bootstrap-vue/src/components/form-rating/index.js +0 -8
  302. package/src/vendor/bootstrap-vue/src/components/form-rating/index.scss +0 -1
  303. package/src/vendor/bootstrap-vue/src/components/form-rating/package.json +0 -166
  304. package/src/vendor/bootstrap-vue/src/components/form-spinbutton/README.md +0 -411
  305. package/src/vendor/bootstrap-vue/src/components/form-spinbutton/_spinbutton.scss +0 -76
  306. package/src/vendor/bootstrap-vue/src/components/form-spinbutton/form-spinbutton.js +0 -572
  307. package/src/vendor/bootstrap-vue/src/components/form-spinbutton/form-spinbutton.spec.js +0 -731
  308. package/src/vendor/bootstrap-vue/src/components/form-spinbutton/index.d.ts +0 -12
  309. package/src/vendor/bootstrap-vue/src/components/form-spinbutton/index.js +0 -11
  310. package/src/vendor/bootstrap-vue/src/components/form-spinbutton/index.scss +0 -1
  311. package/src/vendor/bootstrap-vue/src/components/form-spinbutton/package.json +0 -150
  312. package/src/vendor/bootstrap-vue/src/components/form-tags/README.md +0 -880
  313. package/src/vendor/bootstrap-vue/src/components/form-tags/_form-tags.scss +0 -70
  314. package/src/vendor/bootstrap-vue/src/components/form-tags/form-tag.js +0 -94
  315. package/src/vendor/bootstrap-vue/src/components/form-tags/form-tag.spec.js +0 -166
  316. package/src/vendor/bootstrap-vue/src/components/form-tags/form-tags.js +0 -891
  317. package/src/vendor/bootstrap-vue/src/components/form-tags/form-tags.spec.js +0 -920
  318. package/src/vendor/bootstrap-vue/src/components/form-tags/index.d.ts +0 -16
  319. package/src/vendor/bootstrap-vue/src/components/form-tags/index.js +0 -14
  320. package/src/vendor/bootstrap-vue/src/components/form-tags/index.scss +0 -1
  321. package/src/vendor/bootstrap-vue/src/components/form-tags/package.json +0 -440
  322. package/src/vendor/bootstrap-vue/src/components/form-timepicker/README.md +0 -450
  323. package/src/vendor/bootstrap-vue/src/components/form-timepicker/_form-timepicker.scss +0 -1
  324. package/src/vendor/bootstrap-vue/src/components/form-timepicker/form-timepicker.js +0 -308
  325. package/src/vendor/bootstrap-vue/src/components/form-timepicker/form-timepicker.spec.js +0 -440
  326. package/src/vendor/bootstrap-vue/src/components/form-timepicker/index.d.ts +0 -12
  327. package/src/vendor/bootstrap-vue/src/components/form-timepicker/index.js +0 -11
  328. package/src/vendor/bootstrap-vue/src/components/form-timepicker/index.scss +0 -1
  329. package/src/vendor/bootstrap-vue/src/components/form-timepicker/package.json +0 -255
  330. package/src/vendor/bootstrap-vue/src/components/image/README.md +0 -322
  331. package/src/vendor/bootstrap-vue/src/components/image/img-lazy.js +0 -161
  332. package/src/vendor/bootstrap-vue/src/components/image/img-lazy.spec.js +0 -96
  333. package/src/vendor/bootstrap-vue/src/components/image/img.js +0 -139
  334. package/src/vendor/bootstrap-vue/src/components/image/img.spec.js +0 -255
  335. package/src/vendor/bootstrap-vue/src/components/image/index.d.ts +0 -14
  336. package/src/vendor/bootstrap-vue/src/components/image/index.js +0 -12
  337. package/src/vendor/bootstrap-vue/src/components/image/package.json +0 -152
  338. package/src/vendor/bootstrap-vue/src/components/jumbotron/README.md +0 -109
  339. package/src/vendor/bootstrap-vue/src/components/jumbotron/index.d.ts +0 -11
  340. package/src/vendor/bootstrap-vue/src/components/jumbotron/index.js +0 -8
  341. package/src/vendor/bootstrap-vue/src/components/jumbotron/jumbotron.js +0 -103
  342. package/src/vendor/bootstrap-vue/src/components/jumbotron/jumbotron.spec.js +0 -254
  343. package/src/vendor/bootstrap-vue/src/components/jumbotron/package.json +0 -66
  344. package/src/vendor/bootstrap-vue/src/components/layout/container.js +0 -40
  345. package/src/vendor/bootstrap-vue/src/components/layout/container.spec.js +0 -75
  346. package/src/vendor/bootstrap-vue/src/components/layout/row.js +0 -111
  347. package/src/vendor/bootstrap-vue/src/components/layout/row.spec.js +0 -138
  348. package/src/vendor/bootstrap-vue/src/components/list-group/README.md +0 -291
  349. package/src/vendor/bootstrap-vue/src/components/list-group/index.d.ts +0 -14
  350. package/src/vendor/bootstrap-vue/src/components/list-group/index.js +0 -12
  351. package/src/vendor/bootstrap-vue/src/components/list-group/list-group-item.js +0 -76
  352. package/src/vendor/bootstrap-vue/src/components/list-group/list-group-item.spec.js +0 -286
  353. package/src/vendor/bootstrap-vue/src/components/list-group/list-group.js +0 -42
  354. package/src/vendor/bootstrap-vue/src/components/list-group/list-group.spec.js +0 -132
  355. package/src/vendor/bootstrap-vue/src/components/list-group/package.json +0 -52
  356. package/src/vendor/bootstrap-vue/src/components/media/README.md +0 -183
  357. package/src/vendor/bootstrap-vue/src/components/media/_media.scss +0 -9
  358. package/src/vendor/bootstrap-vue/src/components/media/index.d.ts +0 -17
  359. package/src/vendor/bootstrap-vue/src/components/media/index.js +0 -14
  360. package/src/vendor/bootstrap-vue/src/components/media/index.scss +0 -1
  361. package/src/vendor/bootstrap-vue/src/components/media/media-aside.js +0 -45
  362. package/src/vendor/bootstrap-vue/src/components/media/media-aside.spec.js +0 -79
  363. package/src/vendor/bootstrap-vue/src/components/media/media-body.js +0 -25
  364. package/src/vendor/bootstrap-vue/src/components/media/media-body.spec.js +0 -47
  365. package/src/vendor/bootstrap-vue/src/components/media/media.js +0 -52
  366. package/src/vendor/bootstrap-vue/src/components/media/media.spec.js +0 -149
  367. package/src/vendor/bootstrap-vue/src/components/media/package.json +0 -65
  368. package/src/vendor/bootstrap-vue/src/components/nav/nav-form.js +0 -50
  369. package/src/vendor/bootstrap-vue/src/components/nav/nav-form.spec.js +0 -93
  370. package/src/vendor/bootstrap-vue/src/components/nav/nav-text.js +0 -18
  371. package/src/vendor/bootstrap-vue/src/components/nav/nav-text.spec.js +0 -30
  372. package/src/vendor/bootstrap-vue/src/components/navbar/navbar-nav.js +0 -45
  373. package/src/vendor/bootstrap-vue/src/components/navbar/navbar-nav.spec.js +0 -105
  374. package/src/vendor/bootstrap-vue/src/components/navbar/navbar-toggle.js +0 -84
  375. package/src/vendor/bootstrap-vue/src/components/navbar/navbar-toggle.spec.js +0 -189
  376. package/src/vendor/bootstrap-vue/src/components/overlay/README.md +0 -815
  377. package/src/vendor/bootstrap-vue/src/components/overlay/index.d.ts +0 -11
  378. package/src/vendor/bootstrap-vue/src/components/overlay/index.js +0 -8
  379. package/src/vendor/bootstrap-vue/src/components/overlay/overlay.js +0 -162
  380. package/src/vendor/bootstrap-vue/src/components/overlay/overlay.spec.js +0 -257
  381. package/src/vendor/bootstrap-vue/src/components/overlay/package.json +0 -130
  382. package/src/vendor/bootstrap-vue/src/components/pagination/README.md +0 -430
  383. package/src/vendor/bootstrap-vue/src/components/pagination/_pagination.scss +0 -26
  384. package/src/vendor/bootstrap-vue/src/components/pagination/index.d.ts +0 -11
  385. package/src/vendor/bootstrap-vue/src/components/pagination/index.js +0 -8
  386. package/src/vendor/bootstrap-vue/src/components/pagination/index.scss +0 -1
  387. package/src/vendor/bootstrap-vue/src/components/pagination/package.json +0 -295
  388. package/src/vendor/bootstrap-vue/src/components/pagination/pagination.js +0 -138
  389. package/src/vendor/bootstrap-vue/src/components/pagination/pagination.spec.js +0 -1198
  390. package/src/vendor/bootstrap-vue/src/components/pagination-nav/README.md +0 -544
  391. package/src/vendor/bootstrap-vue/src/components/pagination-nav/_pagination-nav.scss +0 -2
  392. package/src/vendor/bootstrap-vue/src/components/pagination-nav/index.d.ts +0 -11
  393. package/src/vendor/bootstrap-vue/src/components/pagination-nav/index.js +0 -8
  394. package/src/vendor/bootstrap-vue/src/components/pagination-nav/index.scss +0 -1
  395. package/src/vendor/bootstrap-vue/src/components/pagination-nav/package.json +0 -315
  396. package/src/vendor/bootstrap-vue/src/components/pagination-nav/pagination-nav.js +0 -281
  397. package/src/vendor/bootstrap-vue/src/components/pagination-nav/pagination-nav.spec.js +0 -671
  398. package/src/vendor/bootstrap-vue/src/components/sidebar/README.md +0 -406
  399. package/src/vendor/bootstrap-vue/src/components/sidebar/_sidebar.scss +0 -97
  400. package/src/vendor/bootstrap-vue/src/components/sidebar/index.d.ts +0 -11
  401. package/src/vendor/bootstrap-vue/src/components/sidebar/index.js +0 -10
  402. package/src/vendor/bootstrap-vue/src/components/sidebar/index.scss +0 -1
  403. package/src/vendor/bootstrap-vue/src/components/sidebar/package.json +0 -239
  404. package/src/vendor/bootstrap-vue/src/components/sidebar/sidebar.js +0 -438
  405. package/src/vendor/bootstrap-vue/src/components/sidebar/sidebar.spec.js +0 -404
  406. package/src/vendor/bootstrap-vue/src/components/skeleton/README.md +0 -275
  407. package/src/vendor/bootstrap-vue/src/components/skeleton/_skeleton.scss +0 -141
  408. package/src/vendor/bootstrap-vue/src/components/skeleton/index.d.ts +0 -23
  409. package/src/vendor/bootstrap-vue/src/components/skeleton/index.js +0 -18
  410. package/src/vendor/bootstrap-vue/src/components/skeleton/index.scss +0 -1
  411. package/src/vendor/bootstrap-vue/src/components/skeleton/package.json +0 -136
  412. package/src/vendor/bootstrap-vue/src/components/skeleton/skeleton-icon.js +0 -45
  413. package/src/vendor/bootstrap-vue/src/components/skeleton/skeleton-icon.spec.js +0 -86
  414. package/src/vendor/bootstrap-vue/src/components/skeleton/skeleton-img.js +0 -49
  415. package/src/vendor/bootstrap-vue/src/components/skeleton/skeleton-img.spec.js +0 -139
  416. package/src/vendor/bootstrap-vue/src/components/skeleton/skeleton-table.js +0 -58
  417. package/src/vendor/bootstrap-vue/src/components/skeleton/skeleton-table.spec.js +0 -119
  418. package/src/vendor/bootstrap-vue/src/components/skeleton/skeleton-wrapper.js +0 -47
  419. package/src/vendor/bootstrap-vue/src/components/skeleton/skeleton-wrapper.spec.js +0 -48
  420. package/src/vendor/bootstrap-vue/src/components/skeleton/skeleton.js +0 -46
  421. package/src/vendor/bootstrap-vue/src/components/skeleton/skeleton.spec.js +0 -126
  422. package/src/vendor/bootstrap-vue/src/components/spinner/README.md +0 -229
  423. package/src/vendor/bootstrap-vue/src/components/spinner/index.d.ts +0 -11
  424. package/src/vendor/bootstrap-vue/src/components/spinner/index.js +0 -8
  425. package/src/vendor/bootstrap-vue/src/components/spinner/package.json +0 -38
  426. package/src/vendor/bootstrap-vue/src/components/spinner/spinner.js +0 -54
  427. package/src/vendor/bootstrap-vue/src/components/spinner/spinner.spec.js +0 -305
  428. package/src/vendor/bootstrap-vue/src/components/time/README.md +0 -431
  429. package/src/vendor/bootstrap-vue/src/components/time/_time.scss +0 -41
  430. package/src/vendor/bootstrap-vue/src/components/time/index.d.ts +0 -27
  431. package/src/vendor/bootstrap-vue/src/components/time/index.js +0 -8
  432. package/src/vendor/bootstrap-vue/src/components/time/index.scss +0 -1
  433. package/src/vendor/bootstrap-vue/src/components/time/package.json +0 -123
  434. package/src/vendor/bootstrap-vue/src/components/time/time.js +0 -601
  435. package/src/vendor/bootstrap-vue/src/components/time/time.spec.js +0 -330
  436. package/src/vendor/bootstrap-vue/src/constants/date.js +0 -7
  437. package/src/vendor/bootstrap-vue/src/mixins/card.js +0 -23
  438. package/src/vendor/bootstrap-vue/src/mixins/pagination.js +0 -670
  439. package/src/vendor/bootstrap-vue/src/utils/date.js +0 -130
  440. package/src/vendor/bootstrap-vue/src/utils/date.spec.js +0 -159
@@ -1,670 +0,0 @@
1
- import { extend } from '../vue'
2
- import { NAME_PAGINATION } from '../constants/components'
3
- import { CODE_DOWN, CODE_LEFT, CODE_RIGHT, CODE_SPACE, CODE_UP } from '../constants/key-codes'
4
- import {
5
- PROP_TYPE_ARRAY_OBJECT_STRING,
6
- PROP_TYPE_BOOLEAN,
7
- PROP_TYPE_BOOLEAN_NUMBER_STRING,
8
- PROP_TYPE_FUNCTION_STRING,
9
- PROP_TYPE_NUMBER_STRING,
10
- PROP_TYPE_STRING
11
- } from '../constants/props'
12
- import {
13
- SLOT_NAME_ELLIPSIS_TEXT,
14
- SLOT_NAME_FIRST_TEXT,
15
- SLOT_NAME_LAST_TEXT,
16
- SLOT_NAME_NEXT_TEXT,
17
- SLOT_NAME_PAGE,
18
- SLOT_NAME_PREV_TEXT
19
- } from '../constants/slots'
20
- import { createArray } from '../utils/array'
21
- import {
22
- attemptFocus,
23
- getActiveElement,
24
- getAttr,
25
- isDisabled,
26
- isVisible,
27
- selectAll
28
- } from '../utils/dom'
29
- import { stopEvent } from '../utils/events'
30
- import { isFunction, isNull } from '../utils/inspect'
31
- import { mathFloor, mathMax, mathMin } from '../utils/math'
32
- import { makeModelMixin } from '../utils/model'
33
- import { toInteger } from '../utils/number'
34
- import { sortKeys } from '../utils/object'
35
- import { hasPropFunction, makeProp, makePropsConfigurable } from '../utils/props'
36
- import { safeVueInstance } from '../utils/safe-vue-instance'
37
- import { toString } from '../utils/string'
38
- import { warn } from '../utils/warn'
39
- import { normalizeSlotMixin } from '../mixins/normalize-slot'
40
- import { BLink } from '../components/link/link'
41
-
42
- // Common props, computed, data, render function, and methods
43
- // for `<b-pagination>` and `<b-pagination-nav>`
44
-
45
- // --- Constants ---
46
-
47
- const {
48
- mixin: modelMixin,
49
- props: modelProps,
50
- prop: MODEL_PROP_NAME,
51
- event: MODEL_EVENT_NAME
52
- } = makeModelMixin('value', {
53
- type: PROP_TYPE_BOOLEAN_NUMBER_STRING,
54
- defaultValue: null,
55
- /* istanbul ignore next */
56
- validator(value) {
57
- if (!isNull(value) && toInteger(value, 0) < 1) {
58
- warn('"v-model" value must be a number greater than "0"', NAME_PAGINATION)
59
- return false
60
- }
61
- return true
62
- }
63
- })
64
-
65
- export { MODEL_PROP_NAME, MODEL_EVENT_NAME }
66
-
67
- // Threshold of limit size when we start/stop showing ellipsis
68
- const ELLIPSIS_THRESHOLD = 3
69
-
70
- // Default # of buttons limit
71
- const DEFAULT_LIMIT = 5
72
-
73
- // --- Helper methods ---
74
-
75
- // Make an array of N to N+X
76
- const makePageArray = (startNumber, numberOfPages) =>
77
- createArray(numberOfPages, (_, i) => ({ number: startNumber + i, classes: null }))
78
-
79
- // Sanitize the provided limit value (converting to a number)
80
- const sanitizeLimit = value => {
81
- const limit = toInteger(value) || 1
82
- return limit < 1 ? DEFAULT_LIMIT : limit
83
- }
84
-
85
- // Sanitize the provided current page number (converting to a number)
86
- const sanitizeCurrentPage = (val, numberOfPages) => {
87
- const page = toInteger(val) || 1
88
- return page > numberOfPages ? numberOfPages : page < 1 ? 1 : page
89
- }
90
-
91
- // Links don't normally respond to SPACE, so we add that
92
- // functionality via this handler
93
- const onSpaceKey = event => {
94
- if (event.keyCode === CODE_SPACE) {
95
- // Stop page from scrolling
96
- stopEvent(event, { immediatePropagation: true })
97
- // Trigger the click event on the link
98
- event.currentTarget.click()
99
- return false
100
- }
101
- }
102
-
103
- // --- Props ---
104
-
105
- export const props = makePropsConfigurable(
106
- sortKeys({
107
- ...modelProps,
108
- align: makeProp(PROP_TYPE_STRING, 'left'),
109
- ariaLabel: makeProp(PROP_TYPE_STRING, 'Pagination'),
110
- disabled: makeProp(PROP_TYPE_BOOLEAN, false),
111
- ellipsisClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
112
- ellipsisText: makeProp(PROP_TYPE_STRING, '\u2026'), // '…'
113
- firstClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
114
- firstNumber: makeProp(PROP_TYPE_BOOLEAN, false),
115
- firstText: makeProp(PROP_TYPE_STRING, '\u00AB'), // '«'
116
- hideEllipsis: makeProp(PROP_TYPE_BOOLEAN, false),
117
- hideGotoEndButtons: makeProp(PROP_TYPE_BOOLEAN, false),
118
- labelFirstPage: makeProp(PROP_TYPE_STRING, 'Go to first page'),
119
- labelLastPage: makeProp(PROP_TYPE_STRING, 'Go to last page'),
120
- labelNextPage: makeProp(PROP_TYPE_STRING, 'Go to next page'),
121
- labelPage: makeProp(PROP_TYPE_FUNCTION_STRING, 'Go to page'),
122
- labelPrevPage: makeProp(PROP_TYPE_STRING, 'Go to previous page'),
123
- lastClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
124
- lastNumber: makeProp(PROP_TYPE_BOOLEAN, false),
125
- lastText: makeProp(PROP_TYPE_STRING, '\u00BB'), // '»'
126
- limit: makeProp(
127
- PROP_TYPE_NUMBER_STRING,
128
- DEFAULT_LIMIT,
129
- /* istanbul ignore next */ value => {
130
- if (toInteger(value, 0) < 1) {
131
- warn('Prop "limit" must be a number greater than "0"', NAME_PAGINATION)
132
- return false
133
- }
134
- return true
135
- }
136
- ),
137
- nextClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
138
- nextText: makeProp(PROP_TYPE_STRING, '\u203A'), // '›'
139
- pageClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
140
- pills: makeProp(PROP_TYPE_BOOLEAN, false),
141
- prevClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
142
- prevText: makeProp(PROP_TYPE_STRING, '\u2039'), // '‹'
143
- size: makeProp(PROP_TYPE_STRING)
144
- }),
145
- 'pagination'
146
- )
147
-
148
- // --- Mixin ---
149
-
150
- // @vue/component
151
- export const paginationMixin = extend({
152
- mixins: [modelMixin, normalizeSlotMixin],
153
- props,
154
- data() {
155
- // `-1` signifies no page initially selected
156
- let currentPage = toInteger(this[MODEL_PROP_NAME], 0)
157
- currentPage = currentPage > 0 ? currentPage : -1
158
-
159
- return {
160
- currentPage,
161
- localNumberOfPages: 1,
162
- localLimit: DEFAULT_LIMIT
163
- }
164
- },
165
- computed: {
166
- btnSize() {
167
- const { size } = this
168
- return size ? `pagination-${size}` : ''
169
- },
170
- alignment() {
171
- const { align } = this
172
- if (align === 'center') {
173
- return 'justify-content-center'
174
- } else if (align === 'end' || align === 'right') {
175
- return 'justify-content-end'
176
- } else if (align === 'fill') {
177
- // The page-items will also have 'flex-fill' added
178
- // We add text centering to make the button appearance better in fill mode
179
- return 'text-center'
180
- }
181
- return ''
182
- },
183
- styleClass() {
184
- return this.pills ? 'b-pagination-pills' : ''
185
- },
186
- computedCurrentPage() {
187
- return sanitizeCurrentPage(this.currentPage, this.localNumberOfPages)
188
- },
189
- paginationParams() {
190
- // Determine if we should show the the ellipsis
191
- const {
192
- localLimit: limit,
193
- localNumberOfPages: numberOfPages,
194
- computedCurrentPage: currentPage,
195
- hideEllipsis,
196
- firstNumber,
197
- lastNumber
198
- } = this
199
- let showFirstDots = false
200
- let showLastDots = false
201
- let numberOfLinks = limit
202
- let startNumber = 1
203
-
204
- if (numberOfPages <= limit) {
205
- // Special case: Less pages available than the limit of displayed pages
206
- numberOfLinks = numberOfPages
207
- } else if (currentPage < limit - 1 && limit > ELLIPSIS_THRESHOLD) {
208
- if (!hideEllipsis || lastNumber) {
209
- showLastDots = true
210
- numberOfLinks = limit - (firstNumber ? 0 : 1)
211
- }
212
- numberOfLinks = mathMin(numberOfLinks, limit)
213
- } else if (numberOfPages - currentPage + 2 < limit && limit > ELLIPSIS_THRESHOLD) {
214
- if (!hideEllipsis || firstNumber) {
215
- showFirstDots = true
216
- numberOfLinks = limit - (lastNumber ? 0 : 1)
217
- }
218
- startNumber = numberOfPages - numberOfLinks + 1
219
- } else {
220
- // We are somewhere in the middle of the page list
221
- if (limit > ELLIPSIS_THRESHOLD) {
222
- numberOfLinks = limit - (hideEllipsis ? 0 : 2)
223
- showFirstDots = !!(!hideEllipsis || firstNumber)
224
- showLastDots = !!(!hideEllipsis || lastNumber)
225
- }
226
- startNumber = currentPage - mathFloor(numberOfLinks / 2)
227
- }
228
- // Sanity checks
229
- /* istanbul ignore if */
230
- if (startNumber < 1) {
231
- startNumber = 1
232
- showFirstDots = false
233
- } else if (startNumber > numberOfPages - numberOfLinks) {
234
- startNumber = numberOfPages - numberOfLinks + 1
235
- showLastDots = false
236
- }
237
- if (showFirstDots && firstNumber && startNumber < 4) {
238
- numberOfLinks = numberOfLinks + 2
239
- startNumber = 1
240
- showFirstDots = false
241
- }
242
- const lastPageNumber = startNumber + numberOfLinks - 1
243
- if (showLastDots && lastNumber && lastPageNumber > numberOfPages - 3) {
244
- numberOfLinks = numberOfLinks + (lastPageNumber === numberOfPages - 2 ? 2 : 3)
245
- showLastDots = false
246
- }
247
- // Special handling for lower limits (where ellipsis are never shown)
248
- if (limit <= ELLIPSIS_THRESHOLD) {
249
- if (firstNumber && startNumber === 1) {
250
- numberOfLinks = mathMin(numberOfLinks + 1, numberOfPages, limit + 1)
251
- } else if (lastNumber && numberOfPages === startNumber + numberOfLinks - 1) {
252
- startNumber = mathMax(startNumber - 1, 1)
253
- numberOfLinks = mathMin(numberOfPages - startNumber + 1, numberOfPages, limit + 1)
254
- }
255
- }
256
- numberOfLinks = mathMin(numberOfLinks, numberOfPages - startNumber + 1)
257
- return { showFirstDots, showLastDots, numberOfLinks, startNumber }
258
- },
259
- pageList() {
260
- // Generates the pageList array
261
- const { numberOfLinks, startNumber } = this.paginationParams
262
- const currentPage = this.computedCurrentPage
263
- // Generate list of page numbers
264
- const pages = makePageArray(startNumber, numberOfLinks)
265
- // We limit to a total of 3 page buttons on XS screens
266
- // So add classes to page links to hide them for XS breakpoint
267
- // Note: Ellipsis will also be hidden on XS screens
268
- // TODO: Make this visual limit configurable based on breakpoint(s)
269
- if (pages.length > 3) {
270
- const idx = currentPage - startNumber
271
- // THe following is a bootstrap-vue custom utility class
272
- const classes = 'bv-d-xs-down-none'
273
- if (idx === 0) {
274
- // Keep leftmost 3 buttons visible when current page is first page
275
- for (let i = 3; i < pages.length; i++) {
276
- pages[i].classes = classes
277
- }
278
- } else if (idx === pages.length - 1) {
279
- // Keep rightmost 3 buttons visible when current page is last page
280
- for (let i = 0; i < pages.length - 3; i++) {
281
- pages[i].classes = classes
282
- }
283
- } else {
284
- // Hide all except current page, current page - 1 and current page + 1
285
- for (let i = 0; i < idx - 1; i++) {
286
- // hide some left button(s)
287
- pages[i].classes = classes
288
- }
289
- for (let i = pages.length - 1; i > idx + 1; i--) {
290
- // hide some right button(s)
291
- pages[i].classes = classes
292
- }
293
- }
294
- }
295
- return pages
296
- }
297
- },
298
- watch: {
299
- [MODEL_PROP_NAME](newValue, oldValue) {
300
- if (newValue !== oldValue) {
301
- this.currentPage = sanitizeCurrentPage(newValue, this.localNumberOfPages)
302
- }
303
- },
304
- currentPage(newValue, oldValue) {
305
- if (newValue !== oldValue) {
306
- // Emit `null` if no page selected
307
- this.$emit(MODEL_EVENT_NAME, newValue > 0 ? newValue : null)
308
- }
309
- },
310
- limit(newValue, oldValue) {
311
- if (newValue !== oldValue) {
312
- this.localLimit = sanitizeLimit(newValue)
313
- }
314
- }
315
- },
316
- created() {
317
- // Set our default values in data
318
- this.localLimit = sanitizeLimit(this.limit)
319
- this.$nextTick(() => {
320
- // Sanity check
321
- this.currentPage =
322
- this.currentPage > this.localNumberOfPages ? this.localNumberOfPages : this.currentPage
323
- })
324
- },
325
- methods: {
326
- handleKeyNav(event) {
327
- const { keyCode, shiftKey } = event
328
- /* istanbul ignore if */
329
- if (this.isNav) {
330
- // We disable left/right keyboard navigation in `<b-pagination-nav>`
331
- return
332
- }
333
- if (keyCode === CODE_LEFT || keyCode === CODE_UP) {
334
- stopEvent(event, { propagation: false })
335
- shiftKey ? this.focusFirst() : this.focusPrev()
336
- } else if (keyCode === CODE_RIGHT || keyCode === CODE_DOWN) {
337
- stopEvent(event, { propagation: false })
338
- shiftKey ? this.focusLast() : this.focusNext()
339
- }
340
- },
341
- getButtons() {
342
- // Return only buttons that are visible
343
- return selectAll('button.page-link, a.page-link', this.$el).filter(btn => isVisible(btn))
344
- },
345
- focusCurrent() {
346
- // We do this in `$nextTick()` to ensure buttons have finished rendering
347
- this.$nextTick(() => {
348
- const btn = this.getButtons().find(
349
- el => toInteger(getAttr(el, 'aria-posinset'), 0) === this.computedCurrentPage
350
- )
351
- if (!attemptFocus(btn)) {
352
- // Fallback if current page is not in button list
353
- this.focusFirst()
354
- }
355
- })
356
- },
357
- focusFirst() {
358
- // We do this in `$nextTick()` to ensure buttons have finished rendering
359
- this.$nextTick(() => {
360
- const btn = this.getButtons().find(el => !isDisabled(el))
361
- attemptFocus(btn)
362
- })
363
- },
364
- focusLast() {
365
- // We do this in `$nextTick()` to ensure buttons have finished rendering
366
- this.$nextTick(() => {
367
- const btn = this.getButtons()
368
- .reverse()
369
- .find(el => !isDisabled(el))
370
- attemptFocus(btn)
371
- })
372
- },
373
- focusPrev() {
374
- // We do this in `$nextTick()` to ensure buttons have finished rendering
375
- this.$nextTick(() => {
376
- const buttons = this.getButtons()
377
- const index = buttons.indexOf(getActiveElement())
378
- if (index > 0 && !isDisabled(buttons[index - 1])) {
379
- attemptFocus(buttons[index - 1])
380
- }
381
- })
382
- },
383
- focusNext() {
384
- // We do this in `$nextTick()` to ensure buttons have finished rendering
385
- this.$nextTick(() => {
386
- const buttons = this.getButtons()
387
- const index = buttons.indexOf(getActiveElement())
388
- if (index < buttons.length - 1 && !isDisabled(buttons[index + 1])) {
389
- attemptFocus(buttons[index + 1])
390
- }
391
- })
392
- }
393
- },
394
- render(h) {
395
- const {
396
- disabled,
397
- labelPage,
398
- ariaLabel,
399
- isNav,
400
- localNumberOfPages: numberOfPages,
401
- computedCurrentPage: currentPage
402
- } = safeVueInstance(this)
403
- const pageNumbers = this.pageList.map(p => p.number)
404
- const { showFirstDots, showLastDots } = this.paginationParams
405
- const fill = this.align === 'fill'
406
- const $buttons = []
407
-
408
- // Helper function and flag
409
- const isActivePage = pageNumber => pageNumber === currentPage
410
- const noCurrentPage = this.currentPage < 1
411
-
412
- // Factory function for prev/next/first/last buttons
413
- const makeEndBtn = (linkTo, ariaLabel, btnSlot, btnText, btnClass, pageTest, key) => {
414
- const isDisabled =
415
- disabled || isActivePage(pageTest) || noCurrentPage || linkTo < 1 || linkTo > numberOfPages
416
- const pageNumber = linkTo < 1 ? 1 : linkTo > numberOfPages ? numberOfPages : linkTo
417
- const scope = { disabled: isDisabled, page: pageNumber, index: pageNumber - 1 }
418
- const $btnContent = this.normalizeSlot(btnSlot, scope) || toString(btnText) || h()
419
- const $inner = h(
420
- isDisabled ? 'span' : isNav ? BLink : 'button',
421
- {
422
- staticClass: 'page-link',
423
- class: { 'flex-grow-1': !isNav && !isDisabled && fill },
424
- props: isDisabled || !isNav ? {} : this.linkProps(linkTo),
425
- attrs: {
426
- role: isNav ? null : 'menuitem',
427
- type: isNav || isDisabled ? null : 'button',
428
- tabindex: isDisabled || isNav ? null : '-1',
429
- 'aria-label': ariaLabel,
430
- 'aria-controls': safeVueInstance(this).ariaControls || null,
431
- 'aria-disabled': isDisabled ? 'true' : null
432
- },
433
- on: isDisabled
434
- ? {}
435
- : {
436
- '!click': event => {
437
- this.onClick(event, linkTo)
438
- },
439
- keydown: onSpaceKey
440
- }
441
- },
442
- [$btnContent]
443
- )
444
- return h(
445
- 'li',
446
- {
447
- key,
448
- staticClass: 'page-item',
449
- class: [
450
- {
451
- disabled: isDisabled,
452
- 'flex-fill': fill,
453
- 'd-flex': fill && !isNav && !isDisabled
454
- },
455
- btnClass
456
- ],
457
- attrs: {
458
- role: isNav ? null : 'presentation',
459
- 'aria-hidden': isDisabled ? 'true' : null
460
- }
461
- },
462
- [$inner]
463
- )
464
- }
465
-
466
- // Ellipsis factory
467
- const makeEllipsis = isLast => {
468
- return h(
469
- 'li',
470
- {
471
- staticClass: 'page-item',
472
- class: ['disabled', 'bv-d-xs-down-none', fill ? 'flex-fill' : '', this.ellipsisClass],
473
- attrs: { role: 'separator' },
474
- key: `ellipsis-${isLast ? 'last' : 'first'}`
475
- },
476
- [
477
- h('span', { staticClass: 'page-link' }, [
478
- this.normalizeSlot(SLOT_NAME_ELLIPSIS_TEXT) || toString(this.ellipsisText) || h()
479
- ])
480
- ]
481
- )
482
- }
483
-
484
- // Page button factory
485
- const makePageButton = (page, idx) => {
486
- const { number: pageNumber } = page
487
- const active = isActivePage(pageNumber) && !noCurrentPage
488
- // Active page will have tabindex of 0, or if no current page and first page button
489
- const tabIndex = disabled ? null : active || (noCurrentPage && idx === 0) ? '0' : '-1'
490
-
491
- const attrs = {
492
- role: isNav ? null : 'menuitemradio',
493
- type: isNav || disabled ? null : 'button',
494
- 'aria-disabled': disabled ? 'true' : null,
495
- 'aria-controls': safeVueInstance(this).ariaControls || null,
496
- 'aria-label': hasPropFunction(labelPage)
497
- ? /* istanbul ignore next */ labelPage(pageNumber)
498
- : `${isFunction(labelPage) ? labelPage() : labelPage} ${pageNumber}`,
499
- 'aria-checked': isNav ? null : active ? 'true' : 'false',
500
- 'aria-current': isNav && active ? 'page' : null,
501
- 'aria-posinset': isNav ? null : pageNumber,
502
- 'aria-setsize': isNav ? null : numberOfPages,
503
- // ARIA "roving tabindex" method (except in `isNav` mode)
504
- tabindex: isNav ? null : tabIndex
505
- }
506
- const btnContent = toString(this.makePage(pageNumber))
507
- const scope = {
508
- page: pageNumber,
509
- index: pageNumber - 1,
510
- content: btnContent,
511
- active,
512
- disabled
513
- }
514
-
515
- const $inner = h(
516
- disabled ? 'span' : isNav ? BLink : 'button',
517
- {
518
- props: disabled || !isNav ? {} : this.linkProps(pageNumber),
519
- staticClass: 'page-link',
520
- class: { 'flex-grow-1': !isNav && !disabled && fill },
521
- attrs,
522
- on: disabled
523
- ? {}
524
- : {
525
- '!click': event => {
526
- this.onClick(event, pageNumber)
527
- },
528
- keydown: onSpaceKey
529
- }
530
- },
531
- [this.normalizeSlot(SLOT_NAME_PAGE, scope) || btnContent]
532
- )
533
-
534
- return h(
535
- 'li',
536
- {
537
- staticClass: 'page-item',
538
- class: [
539
- {
540
- disabled,
541
- active,
542
- 'flex-fill': fill,
543
- 'd-flex': fill && !isNav && !disabled
544
- },
545
- page.classes,
546
- this.pageClass
547
- ],
548
- attrs: { role: isNav ? null : 'presentation' },
549
- key: `page-${pageNumber}`
550
- },
551
- [$inner]
552
- )
553
- }
554
-
555
- // Goto first page button
556
- // Don't render button when `hideGotoEndButtons` or `firstNumber` is set
557
- let $firstPageBtn = h()
558
- if (!this.firstNumber && !this.hideGotoEndButtons) {
559
- $firstPageBtn = makeEndBtn(
560
- 1,
561
- this.labelFirstPage,
562
- SLOT_NAME_FIRST_TEXT,
563
- this.firstText,
564
- this.firstClass,
565
- 1,
566
- 'pagination-goto-first'
567
- )
568
- }
569
- $buttons.push($firstPageBtn)
570
-
571
- // Goto previous page button
572
- $buttons.push(
573
- makeEndBtn(
574
- currentPage - 1,
575
- this.labelPrevPage,
576
- SLOT_NAME_PREV_TEXT,
577
- this.prevText,
578
- this.prevClass,
579
- 1,
580
- 'pagination-goto-prev'
581
- )
582
- )
583
-
584
- // Show first (1) button?
585
- $buttons.push(this.firstNumber && pageNumbers[0] !== 1 ? makePageButton({ number: 1 }, 0) : h())
586
-
587
- // First ellipsis
588
- $buttons.push(showFirstDots ? makeEllipsis(false) : h())
589
-
590
- // Individual page links
591
- this.pageList.forEach((page, idx) => {
592
- const offset = showFirstDots && this.firstNumber && pageNumbers[0] !== 1 ? 1 : 0
593
- $buttons.push(makePageButton(page, idx + offset))
594
- })
595
-
596
- // Last ellipsis
597
- $buttons.push(showLastDots ? makeEllipsis(true) : h())
598
-
599
- // Show last page button?
600
- $buttons.push(
601
- this.lastNumber && pageNumbers[pageNumbers.length - 1] !== numberOfPages
602
- ? makePageButton({ number: numberOfPages }, -1)
603
- : h()
604
- )
605
-
606
- // Goto next page button
607
- $buttons.push(
608
- makeEndBtn(
609
- currentPage + 1,
610
- this.labelNextPage,
611
- SLOT_NAME_NEXT_TEXT,
612
- this.nextText,
613
- this.nextClass,
614
- numberOfPages,
615
- 'pagination-goto-next'
616
- )
617
- )
618
-
619
- // Goto last page button
620
- // Don't render button when `hideGotoEndButtons` or `lastNumber` is set
621
- let $lastPageBtn = h()
622
- if (!this.lastNumber && !this.hideGotoEndButtons) {
623
- $lastPageBtn = makeEndBtn(
624
- numberOfPages,
625
- this.labelLastPage,
626
- SLOT_NAME_LAST_TEXT,
627
- this.lastText,
628
- this.lastClass,
629
- numberOfPages,
630
- 'pagination-goto-last'
631
- )
632
- }
633
- $buttons.push($lastPageBtn)
634
-
635
- // Assemble the pagination buttons
636
- const $pagination = h(
637
- 'ul',
638
- {
639
- staticClass: 'pagination',
640
- class: ['b-pagination', this.btnSize, this.alignment, this.styleClass],
641
- attrs: {
642
- role: isNav ? null : 'menubar',
643
- 'aria-disabled': disabled ? 'true' : 'false',
644
- 'aria-label': isNav ? null : ariaLabel || null
645
- },
646
- // We disable keyboard left/right nav when `<b-pagination-nav>`
647
- on: isNav ? {} : { keydown: this.handleKeyNav },
648
- ref: 'ul'
649
- },
650
- $buttons
651
- )
652
-
653
- // If we are `<b-pagination-nav>`, wrap in `<nav>` wrapper
654
- if (isNav) {
655
- return h(
656
- 'nav',
657
- {
658
- attrs: {
659
- 'aria-disabled': disabled ? 'true' : null,
660
- 'aria-hidden': disabled ? 'true' : 'false',
661
- 'aria-label': isNav ? ariaLabel || null : null
662
- }
663
- },
664
- [$pagination]
665
- )
666
- }
667
-
668
- return $pagination
669
- }
670
- })