@gitlab/ui 92.2.0 → 92.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (456) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/bin/migrate_custom_utils_to_tw.bundled.mjs +11 -3
  3. package/dist/components/experimental/duo/chat/components/duo_chat_context/constants.js +4 -4
  4. package/dist/components/experimental/duo/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu.js +4 -4
  5. package/dist/components/experimental/duo/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu_search_item.js +8 -8
  6. package/dist/components/experimental/duo/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu_search_items.js +5 -4
  7. package/dist/components/experimental/duo/chat/components/duo_chat_context/duo_chat_context_item_popover/duo_chat_context_item_popover.js +15 -16
  8. package/dist/components/experimental/duo/chat/components/duo_chat_context/duo_chat_context_item_selections/duo_chat_context_item_selections.js +7 -7
  9. package/dist/components/experimental/duo/chat/components/duo_chat_context/mock_context_data.js +63 -81
  10. package/dist/components/experimental/duo/chat/components/duo_chat_context/utils.js +1 -1
  11. package/dist/index.css +4 -2
  12. package/dist/index.css.map +1 -1
  13. package/dist/tailwind.css +1 -1
  14. package/dist/tailwind.css.map +1 -1
  15. package/dist/vendor/bootstrap-vue/src/components/form/index.js +0 -4
  16. package/dist/vendor/bootstrap-vue/src/components/index.js +0 -48
  17. package/dist/vendor/bootstrap-vue/src/components/layout/index.js +0 -6
  18. package/dist/vendor/bootstrap-vue/src/components/nav/index.js +0 -6
  19. package/dist/vendor/bootstrap-vue/src/components/navbar/index.js +1 -8
  20. package/dist/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip.js +2 -6
  21. package/dist/vendor/bootstrap-vue/src/constants/classes.js +1 -2
  22. package/dist/vendor/bootstrap-vue/src/constants/components.js +1 -51
  23. package/dist/vendor/bootstrap-vue/src/constants/events.js +1 -12
  24. package/dist/vendor/bootstrap-vue/src/constants/key-codes.js +1 -5
  25. package/dist/vendor/bootstrap-vue/src/constants/props.js +1 -4
  26. package/dist/vendor/bootstrap-vue/src/constants/regex.js +1 -20
  27. package/dist/vendor/bootstrap-vue/src/constants/slots.js +1 -33
  28. package/dist/vendor/bootstrap-vue/src/directives/toggle/toggle.js +1 -1
  29. package/dist/vendor/bootstrap-vue/src/index.js +0 -74
  30. package/dist/vendor/bootstrap-vue/src/utils/array.js +1 -3
  31. package/dist/vendor/bootstrap-vue/src/utils/inspect.js +1 -3
  32. package/dist/vendor/bootstrap-vue/src/utils/math.js +1 -3
  33. package/dist/vendor/bootstrap-vue/src/utils/object.js +1 -6
  34. package/dist/vendor/bootstrap-vue/src/utils/props.js +2 -8
  35. package/dist/vendor/bootstrap-vue/src/utils/string.js +1 -10
  36. package/package.json +1 -1
  37. package/src/components/base/accordion/accordion_item.scss +3 -3
  38. package/src/components/base/alert/alert.scss +3 -3
  39. package/src/components/base/avatar_labeled/avatar_labeled.scss +2 -2
  40. package/src/components/base/avatars_inline/avatars_inline.scss +1 -1
  41. package/src/components/base/badge/badge.scss +2 -2
  42. package/src/components/base/banner/banner.scss +2 -2
  43. package/src/components/base/breadcrumb/breadcrumb.scss +3 -3
  44. package/src/components/base/broadcast_message/broadcast_message.scss +3 -3
  45. package/src/components/base/button/button.scss +14 -14
  46. package/src/components/base/card/card.scss +1 -1
  47. package/src/components/base/datepicker/datepicker.scss +10 -10
  48. package/src/components/base/drawer/drawer.scss +5 -5
  49. package/src/components/base/dropdown/dropdown.scss +28 -28
  50. package/src/components/base/dropdown/dropdown_divider.scss +3 -3
  51. package/src/components/base/dropdown/dropdown_item.scss +9 -9
  52. package/src/components/base/dropdown/dropdown_section_header.scss +2 -2
  53. package/src/components/base/dropdown/dropdown_text.scss +1 -1
  54. package/src/components/base/filtered_search/filtered_search.scss +7 -7
  55. package/src/components/base/filtered_search/filtered_search_suggestion.scss +1 -1
  56. package/src/components/base/filtered_search/filtered_search_suggestion_list.scss +3 -3
  57. package/src/components/base/filtered_search/filtered_search_term.scss +2 -2
  58. package/src/components/base/filtered_search/filtered_search_token.scss +4 -4
  59. package/src/components/base/filtered_search/filtered_search_token_segment.scss +2 -2
  60. package/src/components/base/form/form_checkbox/form_checkbox.scss +10 -10
  61. package/src/components/base/form/form_group/form_group.scss +5 -5
  62. package/src/components/base/form/form_input/form_input.scss +2 -2
  63. package/src/components/base/form/form_select/form_select.scss +2 -2
  64. package/src/components/base/keyset_pagination/keyset_pagination.scss +1 -1
  65. package/src/components/base/label/label.scss +1 -1
  66. package/src/components/base/loading_icon/loading_icon.scss +1 -1
  67. package/src/components/base/markdown/markdown.scss +33 -33
  68. package/src/components/base/modal/modal.scss +11 -11
  69. package/src/components/base/new_dropdowns/dropdown.scss +14 -14
  70. package/src/components/base/new_dropdowns/dropdown_item.scss +9 -9
  71. package/src/components/base/new_dropdowns/listbox/listbox.scss +1 -1
  72. package/src/components/base/pagination/pagination.scss +3 -3
  73. package/src/components/base/path/path.scss +5 -5
  74. package/src/components/base/popover/popover.scss +5 -5
  75. package/src/components/base/search_box_by_click/search_box_by_click.scss +2 -2
  76. package/src/components/base/search_box_by_type/search_box_by_type.scss +4 -4
  77. package/src/components/base/table/table.scss +4 -4
  78. package/src/components/base/tabs/tabs/tabs.scss +10 -10
  79. package/src/components/base/toast/toast.scss +7 -7
  80. package/src/components/base/toggle/toggle.scss +6 -6
  81. package/src/components/base/token/token.scss +5 -5
  82. package/src/components/base/tooltip/tooltip.scss +3 -3
  83. package/src/components/charts/legend/legend.scss +4 -4
  84. package/src/components/charts/series_label/series_label.scss +1 -1
  85. package/src/components/experimental/duo/chat/components/duo_chat_context/constants.js +3 -3
  86. package/src/components/experimental/duo/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu.vue +4 -4
  87. package/src/components/experimental/duo/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu_search_item.vue +10 -10
  88. package/src/components/experimental/duo/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu_search_items.vue +6 -5
  89. package/src/components/experimental/duo/chat/components/duo_chat_context/duo_chat_context_item_popover/duo_chat_context_item_popover.vue +24 -24
  90. package/src/components/experimental/duo/chat/components/duo_chat_context/duo_chat_context_item_selections/duo_chat_context_item_selections.vue +10 -10
  91. package/src/components/experimental/duo/chat/components/duo_chat_context/mock_context_data.js +57 -74
  92. package/src/components/experimental/duo/chat/components/duo_chat_context/utils.js +5 -3
  93. package/src/components/experimental/duo/chat/components/duo_chat_message/duo_chat_message.scss +1 -1
  94. package/src/components/experimental/duo/chat/duo_chat.scss +4 -4
  95. package/src/components/shared_components/charts/tooltip_default_format.scss +1 -1
  96. package/src/scss/bootstrap_vue.scss +0 -18
  97. package/src/scss/typescale/_index.scss +9 -9
  98. package/src/vendor/bootstrap-vue/nuxt/index.js +0 -8
  99. package/src/vendor/bootstrap-vue/src/_utilities.scss +0 -9
  100. package/src/vendor/bootstrap-vue/src/_variables.scss +0 -52
  101. package/src/vendor/bootstrap-vue/src/components/form/index.d.ts +0 -3
  102. package/src/vendor/bootstrap-vue/src/components/form/index.js +1 -4
  103. package/src/vendor/bootstrap-vue/src/components/form/package.json +0 -12
  104. package/src/vendor/bootstrap-vue/src/components/index.d.ts +0 -24
  105. package/src/vendor/bootstrap-vue/src/components/index.js +0 -48
  106. package/src/vendor/bootstrap-vue/src/components/index.scss +0 -15
  107. package/src/vendor/bootstrap-vue/src/components/layout/index.d.ts +0 -6
  108. package/src/vendor/bootstrap-vue/src/components/layout/index.js +1 -5
  109. package/src/vendor/bootstrap-vue/src/components/layout/package.json +0 -67
  110. package/src/vendor/bootstrap-vue/src/components/modal/README.md +0 -1
  111. package/src/vendor/bootstrap-vue/src/components/nav/index.d.ts +0 -6
  112. package/src/vendor/bootstrap-vue/src/components/nav/index.js +1 -5
  113. package/src/vendor/bootstrap-vue/src/components/nav/package.json +0 -45
  114. package/src/vendor/bootstrap-vue/src/components/navbar/README.md +0 -5
  115. package/src/vendor/bootstrap-vue/src/components/navbar/index.d.ts +1 -7
  116. package/src/vendor/bootstrap-vue/src/components/navbar/index.js +2 -7
  117. package/src/vendor/bootstrap-vue/src/components/navbar/package.json +0 -75
  118. package/src/vendor/bootstrap-vue/src/components/table/README.md +1 -2
  119. package/src/vendor/bootstrap-vue/src/components/tabs/README.md +2 -2
  120. package/src/vendor/bootstrap-vue/src/components/toast/README.md +1 -3
  121. package/src/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip.js +2 -6
  122. package/src/vendor/bootstrap-vue/src/constants/classes.js +0 -1
  123. package/src/vendor/bootstrap-vue/src/constants/components.js +0 -50
  124. package/src/vendor/bootstrap-vue/src/constants/events.js +0 -11
  125. package/src/vendor/bootstrap-vue/src/constants/key-codes.js +0 -4
  126. package/src/vendor/bootstrap-vue/src/constants/props.js +0 -3
  127. package/src/vendor/bootstrap-vue/src/constants/regex.js +0 -19
  128. package/src/vendor/bootstrap-vue/src/constants/slots.js +0 -32
  129. package/src/vendor/bootstrap-vue/src/directives/toggle/README.md +5 -23
  130. package/src/vendor/bootstrap-vue/src/directives/toggle/package.json +1 -1
  131. package/src/vendor/bootstrap-vue/src/directives/toggle/toggle.js +1 -1
  132. package/src/vendor/bootstrap-vue/src/index.js +0 -122
  133. package/src/vendor/bootstrap-vue/src/index.scss +0 -3
  134. package/src/vendor/bootstrap-vue/src/utils/array.js +0 -5
  135. package/src/vendor/bootstrap-vue/src/utils/config.spec.js +15 -15
  136. package/src/vendor/bootstrap-vue/src/utils/inspect.js +0 -4
  137. package/src/vendor/bootstrap-vue/src/utils/math.js +0 -4
  138. package/src/vendor/bootstrap-vue/src/utils/object.js +0 -5
  139. package/src/vendor/bootstrap-vue/src/utils/props.js +1 -7
  140. package/src/vendor/bootstrap-vue/src/utils/string.js +0 -9
  141. package/src/vendor/bootstrap-vue/src/utils/string.spec.js +1 -20
  142. package/dist/vendor/bootstrap-vue/src/components/alert/alert.js +0 -179
  143. package/dist/vendor/bootstrap-vue/src/components/alert/index.js +0 -11
  144. package/dist/vendor/bootstrap-vue/src/components/aspect/aspect.js +0 -67
  145. package/dist/vendor/bootstrap-vue/src/components/aspect/index.js +0 -11
  146. package/dist/vendor/bootstrap-vue/src/components/avatar/avatar-group.js +0 -67
  147. package/dist/vendor/bootstrap-vue/src/components/avatar/avatar.js +0 -266
  148. package/dist/vendor/bootstrap-vue/src/components/avatar/index.js +0 -14
  149. package/dist/vendor/bootstrap-vue/src/components/button-toolbar/button-toolbar.js +0 -112
  150. package/dist/vendor/bootstrap-vue/src/components/button-toolbar/index.js +0 -12
  151. package/dist/vendor/bootstrap-vue/src/components/calendar/calendar.js +0 -1010
  152. package/dist/vendor/bootstrap-vue/src/components/calendar/index.js +0 -11
  153. package/dist/vendor/bootstrap-vue/src/components/card/card-body.js +0 -63
  154. package/dist/vendor/bootstrap-vue/src/components/card/card-footer.js +0 -48
  155. package/dist/vendor/bootstrap-vue/src/components/card/card-group.js +0 -33
  156. package/dist/vendor/bootstrap-vue/src/components/card/card-header.js +0 -48
  157. package/dist/vendor/bootstrap-vue/src/components/card/card-img-lazy.js +0 -46
  158. package/dist/vendor/bootstrap-vue/src/components/card/card-img.js +0 -58
  159. package/dist/vendor/bootstrap-vue/src/components/card/card-sub-title.js +0 -35
  160. package/dist/vendor/bootstrap-vue/src/components/card/card-text.js +0 -31
  161. package/dist/vendor/bootstrap-vue/src/components/card/card-title.js +0 -33
  162. package/dist/vendor/bootstrap-vue/src/components/card/card.js +0 -123
  163. package/dist/vendor/bootstrap-vue/src/components/card/index.js +0 -38
  164. package/dist/vendor/bootstrap-vue/src/components/embed/embed.js +0 -50
  165. package/dist/vendor/bootstrap-vue/src/components/embed/index.js +0 -11
  166. package/dist/vendor/bootstrap-vue/src/components/form/form-datalist.js +0 -52
  167. package/dist/vendor/bootstrap-vue/src/components/form-btn-label-control/bv-form-btn-label-control.js +0 -261
  168. package/dist/vendor/bootstrap-vue/src/components/form-datepicker/form-datepicker.js +0 -310
  169. package/dist/vendor/bootstrap-vue/src/components/form-datepicker/index.js +0 -12
  170. package/dist/vendor/bootstrap-vue/src/components/form-file/form-file.js +0 -561
  171. package/dist/vendor/bootstrap-vue/src/components/form-file/index.js +0 -12
  172. package/dist/vendor/bootstrap-vue/src/components/form-rating/form-rating.js +0 -402
  173. package/dist/vendor/bootstrap-vue/src/components/form-rating/index.js +0 -12
  174. package/dist/vendor/bootstrap-vue/src/components/form-spinbutton/form-spinbutton.js +0 -555
  175. package/dist/vendor/bootstrap-vue/src/components/form-spinbutton/index.js +0 -12
  176. package/dist/vendor/bootstrap-vue/src/components/form-tags/form-tag.js +0 -97
  177. package/dist/vendor/bootstrap-vue/src/components/form-tags/form-tags.js +0 -806
  178. package/dist/vendor/bootstrap-vue/src/components/form-tags/index.js +0 -16
  179. package/dist/vendor/bootstrap-vue/src/components/form-timepicker/form-timepicker.js +0 -281
  180. package/dist/vendor/bootstrap-vue/src/components/form-timepicker/index.js +0 -12
  181. package/dist/vendor/bootstrap-vue/src/components/image/img-lazy.js +0 -157
  182. package/dist/vendor/bootstrap-vue/src/components/image/img.js +0 -124
  183. package/dist/vendor/bootstrap-vue/src/components/image/index.js +0 -14
  184. package/dist/vendor/bootstrap-vue/src/components/jumbotron/index.js +0 -11
  185. package/dist/vendor/bootstrap-vue/src/components/jumbotron/jumbotron.js +0 -98
  186. package/dist/vendor/bootstrap-vue/src/components/layout/container.js +0 -41
  187. package/dist/vendor/bootstrap-vue/src/components/layout/row.js +0 -113
  188. package/dist/vendor/bootstrap-vue/src/components/list-group/index.js +0 -14
  189. package/dist/vendor/bootstrap-vue/src/components/list-group/list-group-item.js +0 -78
  190. package/dist/vendor/bootstrap-vue/src/components/list-group/list-group.js +0 -42
  191. package/dist/vendor/bootstrap-vue/src/components/media/index.js +0 -17
  192. package/dist/vendor/bootstrap-vue/src/components/media/media-aside.js +0 -41
  193. package/dist/vendor/bootstrap-vue/src/components/media/media-body.js +0 -31
  194. package/dist/vendor/bootstrap-vue/src/components/media/media.js +0 -61
  195. package/dist/vendor/bootstrap-vue/src/components/nav/nav-form.js +0 -45
  196. package/dist/vendor/bootstrap-vue/src/components/nav/nav-text.js +0 -26
  197. package/dist/vendor/bootstrap-vue/src/components/navbar/navbar-nav.js +0 -46
  198. package/dist/vendor/bootstrap-vue/src/components/navbar/navbar-toggle.js +0 -89
  199. package/dist/vendor/bootstrap-vue/src/components/overlay/index.js +0 -11
  200. package/dist/vendor/bootstrap-vue/src/components/overlay/overlay.js +0 -163
  201. package/dist/vendor/bootstrap-vue/src/components/pagination/index.js +0 -11
  202. package/dist/vendor/bootstrap-vue/src/components/pagination/pagination.js +0 -135
  203. package/dist/vendor/bootstrap-vue/src/components/pagination-nav/index.js +0 -11
  204. package/dist/vendor/bootstrap-vue/src/components/pagination-nav/pagination-nav.js +0 -299
  205. package/dist/vendor/bootstrap-vue/src/components/sidebar/index.js +0 -15
  206. package/dist/vendor/bootstrap-vue/src/components/sidebar/sidebar.js +0 -432
  207. package/dist/vendor/bootstrap-vue/src/components/skeleton/index.js +0 -23
  208. package/dist/vendor/bootstrap-vue/src/components/skeleton/skeleton-icon.js +0 -47
  209. package/dist/vendor/bootstrap-vue/src/components/skeleton/skeleton-img.js +0 -60
  210. package/dist/vendor/bootstrap-vue/src/components/skeleton/skeleton-table.js +0 -64
  211. package/dist/vendor/bootstrap-vue/src/components/skeleton/skeleton-wrapper.js +0 -46
  212. package/dist/vendor/bootstrap-vue/src/components/skeleton/skeleton.js +0 -49
  213. package/dist/vendor/bootstrap-vue/src/components/spinner/index.js +0 -11
  214. package/dist/vendor/bootstrap-vue/src/components/spinner/spinner.js +0 -55
  215. package/dist/vendor/bootstrap-vue/src/components/time/index.js +0 -11
  216. package/dist/vendor/bootstrap-vue/src/components/time/time.js +0 -600
  217. package/dist/vendor/bootstrap-vue/src/constants/date.js +0 -8
  218. package/dist/vendor/bootstrap-vue/src/mixins/card.js +0 -22
  219. package/dist/vendor/bootstrap-vue/src/mixins/pagination.js +0 -598
  220. package/dist/vendor/bootstrap-vue/src/utils/date.js +0 -135
  221. package/src/vendor/bootstrap-vue/src/_custom-controls.scss +0 -30
  222. package/src/vendor/bootstrap-vue/src/components/alert/README.md +0 -280
  223. package/src/vendor/bootstrap-vue/src/components/alert/alert.js +0 -185
  224. package/src/vendor/bootstrap-vue/src/components/alert/alert.spec.js +0 -442
  225. package/src/vendor/bootstrap-vue/src/components/alert/index.d.ts +0 -13
  226. package/src/vendor/bootstrap-vue/src/components/alert/index.js +0 -8
  227. package/src/vendor/bootstrap-vue/src/components/alert/package.json +0 -72
  228. package/src/vendor/bootstrap-vue/src/components/aspect/README.md +0 -65
  229. package/src/vendor/bootstrap-vue/src/components/aspect/aspect.js +0 -65
  230. package/src/vendor/bootstrap-vue/src/components/aspect/aspect.spec.js +0 -121
  231. package/src/vendor/bootstrap-vue/src/components/aspect/index.d.ts +0 -11
  232. package/src/vendor/bootstrap-vue/src/components/aspect/index.js +0 -8
  233. package/src/vendor/bootstrap-vue/src/components/aspect/package.json +0 -26
  234. package/src/vendor/bootstrap-vue/src/components/avatar/README.md +0 -567
  235. package/src/vendor/bootstrap-vue/src/components/avatar/_avatar.scss +0 -148
  236. package/src/vendor/bootstrap-vue/src/components/avatar/avatar-group.js +0 -75
  237. package/src/vendor/bootstrap-vue/src/components/avatar/avatar-group.spec.js +0 -74
  238. package/src/vendor/bootstrap-vue/src/components/avatar/avatar.js +0 -228
  239. package/src/vendor/bootstrap-vue/src/components/avatar/avatar.spec.js +0 -355
  240. package/src/vendor/bootstrap-vue/src/components/avatar/index.d.ts +0 -14
  241. package/src/vendor/bootstrap-vue/src/components/avatar/index.js +0 -9
  242. package/src/vendor/bootstrap-vue/src/components/avatar/index.scss +0 -1
  243. package/src/vendor/bootstrap-vue/src/components/avatar/package.json +0 -149
  244. package/src/vendor/bootstrap-vue/src/components/button-toolbar/README.md +0 -109
  245. package/src/vendor/bootstrap-vue/src/components/button-toolbar/button-toolbar.js +0 -117
  246. package/src/vendor/bootstrap-vue/src/components/button-toolbar/button-toolbar.spec.js +0 -185
  247. package/src/vendor/bootstrap-vue/src/components/button-toolbar/index.d.ts +0 -11
  248. package/src/vendor/bootstrap-vue/src/components/button-toolbar/index.js +0 -11
  249. package/src/vendor/bootstrap-vue/src/components/button-toolbar/package.json +0 -32
  250. package/src/vendor/bootstrap-vue/src/components/calendar/README.md +0 -735
  251. package/src/vendor/bootstrap-vue/src/components/calendar/_calendar.scss +0 -78
  252. package/src/vendor/bootstrap-vue/src/components/calendar/calendar.js +0 -1146
  253. package/src/vendor/bootstrap-vue/src/components/calendar/calendar.spec.js +0 -466
  254. package/src/vendor/bootstrap-vue/src/components/calendar/index.d.ts +0 -28
  255. package/src/vendor/bootstrap-vue/src/components/calendar/index.js +0 -8
  256. package/src/vendor/bootstrap-vue/src/components/calendar/index.scss +0 -1
  257. package/src/vendor/bootstrap-vue/src/components/calendar/package.json +0 -317
  258. package/src/vendor/bootstrap-vue/src/components/card/README.md +0 -729
  259. package/src/vendor/bootstrap-vue/src/components/card/_card-img.scss +0 -7
  260. package/src/vendor/bootstrap-vue/src/components/card/card-body.js +0 -69
  261. package/src/vendor/bootstrap-vue/src/components/card/card-body.spec.js +0 -142
  262. package/src/vendor/bootstrap-vue/src/components/card/card-footer.js +0 -48
  263. package/src/vendor/bootstrap-vue/src/components/card/card-footer.spec.js +0 -98
  264. package/src/vendor/bootstrap-vue/src/components/card/card-group.js +0 -33
  265. package/src/vendor/bootstrap-vue/src/components/card/card-group.spec.js +0 -75
  266. package/src/vendor/bootstrap-vue/src/components/card/card-header.js +0 -48
  267. package/src/vendor/bootstrap-vue/src/components/card/card-header.spec.js +0 -98
  268. package/src/vendor/bootstrap-vue/src/components/card/card-img-lazy.js +0 -47
  269. package/src/vendor/bootstrap-vue/src/components/card/card-img-lazy.spec.js +0 -204
  270. package/src/vendor/bootstrap-vue/src/components/card/card-img.js +0 -50
  271. package/src/vendor/bootstrap-vue/src/components/card/card-img.spec.js +0 -208
  272. package/src/vendor/bootstrap-vue/src/components/card/card-sub-title.js +0 -35
  273. package/src/vendor/bootstrap-vue/src/components/card/card-sub-title.spec.js +0 -60
  274. package/src/vendor/bootstrap-vue/src/components/card/card-text.js +0 -25
  275. package/src/vendor/bootstrap-vue/src/components/card/card-text.spec.js +0 -48
  276. package/src/vendor/bootstrap-vue/src/components/card/card-title.js +0 -33
  277. package/src/vendor/bootstrap-vue/src/components/card/card-title.spec.js +0 -45
  278. package/src/vendor/bootstrap-vue/src/components/card/card.js +0 -140
  279. package/src/vendor/bootstrap-vue/src/components/card/card.spec.js +0 -296
  280. package/src/vendor/bootstrap-vue/src/components/card/index.d.ts +0 -38
  281. package/src/vendor/bootstrap-vue/src/components/card/index.js +0 -40
  282. package/src/vendor/bootstrap-vue/src/components/card/index.scss +0 -1
  283. package/src/vendor/bootstrap-vue/src/components/card/package.json +0 -262
  284. package/src/vendor/bootstrap-vue/src/components/embed/README.md +0 -63
  285. package/src/vendor/bootstrap-vue/src/components/embed/embed.js +0 -51
  286. package/src/vendor/bootstrap-vue/src/components/embed/embed.spec.js +0 -110
  287. package/src/vendor/bootstrap-vue/src/components/embed/index.d.ts +0 -11
  288. package/src/vendor/bootstrap-vue/src/components/embed/index.js +0 -8
  289. package/src/vendor/bootstrap-vue/src/components/embed/package.json +0 -29
  290. package/src/vendor/bootstrap-vue/src/components/form/form-datalist.js +0 -42
  291. package/src/vendor/bootstrap-vue/src/components/form/form-datalist.spec.js +0 -57
  292. package/src/vendor/bootstrap-vue/src/components/form-btn-label-control/_form-btn-label-control.scss +0 -125
  293. package/src/vendor/bootstrap-vue/src/components/form-btn-label-control/bv-form-btn-label-control.js +0 -278
  294. package/src/vendor/bootstrap-vue/src/components/form-btn-label-control/index.scss +0 -1
  295. package/src/vendor/bootstrap-vue/src/components/form-btn-label-control/package.json +0 -5
  296. package/src/vendor/bootstrap-vue/src/components/form-datepicker/README.md +0 -694
  297. package/src/vendor/bootstrap-vue/src/components/form-datepicker/_form-datepicker.scss +0 -1
  298. package/src/vendor/bootstrap-vue/src/components/form-datepicker/form-datepicker.js +0 -342
  299. package/src/vendor/bootstrap-vue/src/components/form-datepicker/form-datepicker.spec.js +0 -562
  300. package/src/vendor/bootstrap-vue/src/components/form-datepicker/index.d.ts +0 -12
  301. package/src/vendor/bootstrap-vue/src/components/form-datepicker/index.js +0 -11
  302. package/src/vendor/bootstrap-vue/src/components/form-datepicker/index.scss +0 -1
  303. package/src/vendor/bootstrap-vue/src/components/form-datepicker/package.json +0 -420
  304. package/src/vendor/bootstrap-vue/src/components/form-file/README.md +0 -357
  305. package/src/vendor/bootstrap-vue/src/components/form-file/_form-file.scss +0 -61
  306. package/src/vendor/bootstrap-vue/src/components/form-file/form-file.js +0 -575
  307. package/src/vendor/bootstrap-vue/src/components/form-file/form-file.spec.js +0 -885
  308. package/src/vendor/bootstrap-vue/src/components/form-file/index.d.ts +0 -13
  309. package/src/vendor/bootstrap-vue/src/components/form-file/index.js +0 -11
  310. package/src/vendor/bootstrap-vue/src/components/form-file/index.scss +0 -1
  311. package/src/vendor/bootstrap-vue/src/components/form-file/package.json +0 -131
  312. package/src/vendor/bootstrap-vue/src/components/form-rating/README.md +0 -526
  313. package/src/vendor/bootstrap-vue/src/components/form-rating/_form-rating.scss +0 -57
  314. package/src/vendor/bootstrap-vue/src/components/form-rating/form-rating.js +0 -411
  315. package/src/vendor/bootstrap-vue/src/components/form-rating/form-rating.spec.js +0 -544
  316. package/src/vendor/bootstrap-vue/src/components/form-rating/index.d.ts +0 -14
  317. package/src/vendor/bootstrap-vue/src/components/form-rating/index.js +0 -8
  318. package/src/vendor/bootstrap-vue/src/components/form-rating/index.scss +0 -1
  319. package/src/vendor/bootstrap-vue/src/components/form-rating/package.json +0 -166
  320. package/src/vendor/bootstrap-vue/src/components/form-spinbutton/README.md +0 -411
  321. package/src/vendor/bootstrap-vue/src/components/form-spinbutton/_spinbutton.scss +0 -76
  322. package/src/vendor/bootstrap-vue/src/components/form-spinbutton/form-spinbutton.js +0 -572
  323. package/src/vendor/bootstrap-vue/src/components/form-spinbutton/form-spinbutton.spec.js +0 -731
  324. package/src/vendor/bootstrap-vue/src/components/form-spinbutton/index.d.ts +0 -12
  325. package/src/vendor/bootstrap-vue/src/components/form-spinbutton/index.js +0 -11
  326. package/src/vendor/bootstrap-vue/src/components/form-spinbutton/index.scss +0 -1
  327. package/src/vendor/bootstrap-vue/src/components/form-spinbutton/package.json +0 -150
  328. package/src/vendor/bootstrap-vue/src/components/form-tags/README.md +0 -880
  329. package/src/vendor/bootstrap-vue/src/components/form-tags/_form-tags.scss +0 -70
  330. package/src/vendor/bootstrap-vue/src/components/form-tags/form-tag.js +0 -94
  331. package/src/vendor/bootstrap-vue/src/components/form-tags/form-tag.spec.js +0 -166
  332. package/src/vendor/bootstrap-vue/src/components/form-tags/form-tags.js +0 -891
  333. package/src/vendor/bootstrap-vue/src/components/form-tags/form-tags.spec.js +0 -920
  334. package/src/vendor/bootstrap-vue/src/components/form-tags/index.d.ts +0 -16
  335. package/src/vendor/bootstrap-vue/src/components/form-tags/index.js +0 -14
  336. package/src/vendor/bootstrap-vue/src/components/form-tags/index.scss +0 -1
  337. package/src/vendor/bootstrap-vue/src/components/form-tags/package.json +0 -440
  338. package/src/vendor/bootstrap-vue/src/components/form-timepicker/README.md +0 -450
  339. package/src/vendor/bootstrap-vue/src/components/form-timepicker/_form-timepicker.scss +0 -1
  340. package/src/vendor/bootstrap-vue/src/components/form-timepicker/form-timepicker.js +0 -308
  341. package/src/vendor/bootstrap-vue/src/components/form-timepicker/form-timepicker.spec.js +0 -440
  342. package/src/vendor/bootstrap-vue/src/components/form-timepicker/index.d.ts +0 -12
  343. package/src/vendor/bootstrap-vue/src/components/form-timepicker/index.js +0 -11
  344. package/src/vendor/bootstrap-vue/src/components/form-timepicker/index.scss +0 -1
  345. package/src/vendor/bootstrap-vue/src/components/form-timepicker/package.json +0 -255
  346. package/src/vendor/bootstrap-vue/src/components/image/README.md +0 -322
  347. package/src/vendor/bootstrap-vue/src/components/image/img-lazy.js +0 -161
  348. package/src/vendor/bootstrap-vue/src/components/image/img-lazy.spec.js +0 -96
  349. package/src/vendor/bootstrap-vue/src/components/image/img.js +0 -139
  350. package/src/vendor/bootstrap-vue/src/components/image/img.spec.js +0 -255
  351. package/src/vendor/bootstrap-vue/src/components/image/index.d.ts +0 -14
  352. package/src/vendor/bootstrap-vue/src/components/image/index.js +0 -12
  353. package/src/vendor/bootstrap-vue/src/components/image/package.json +0 -152
  354. package/src/vendor/bootstrap-vue/src/components/jumbotron/README.md +0 -109
  355. package/src/vendor/bootstrap-vue/src/components/jumbotron/index.d.ts +0 -11
  356. package/src/vendor/bootstrap-vue/src/components/jumbotron/index.js +0 -8
  357. package/src/vendor/bootstrap-vue/src/components/jumbotron/jumbotron.js +0 -103
  358. package/src/vendor/bootstrap-vue/src/components/jumbotron/jumbotron.spec.js +0 -254
  359. package/src/vendor/bootstrap-vue/src/components/jumbotron/package.json +0 -66
  360. package/src/vendor/bootstrap-vue/src/components/layout/container.js +0 -40
  361. package/src/vendor/bootstrap-vue/src/components/layout/container.spec.js +0 -75
  362. package/src/vendor/bootstrap-vue/src/components/layout/row.js +0 -111
  363. package/src/vendor/bootstrap-vue/src/components/layout/row.spec.js +0 -138
  364. package/src/vendor/bootstrap-vue/src/components/list-group/README.md +0 -291
  365. package/src/vendor/bootstrap-vue/src/components/list-group/index.d.ts +0 -14
  366. package/src/vendor/bootstrap-vue/src/components/list-group/index.js +0 -12
  367. package/src/vendor/bootstrap-vue/src/components/list-group/list-group-item.js +0 -76
  368. package/src/vendor/bootstrap-vue/src/components/list-group/list-group-item.spec.js +0 -286
  369. package/src/vendor/bootstrap-vue/src/components/list-group/list-group.js +0 -42
  370. package/src/vendor/bootstrap-vue/src/components/list-group/list-group.spec.js +0 -132
  371. package/src/vendor/bootstrap-vue/src/components/list-group/package.json +0 -52
  372. package/src/vendor/bootstrap-vue/src/components/media/README.md +0 -183
  373. package/src/vendor/bootstrap-vue/src/components/media/_media.scss +0 -9
  374. package/src/vendor/bootstrap-vue/src/components/media/index.d.ts +0 -17
  375. package/src/vendor/bootstrap-vue/src/components/media/index.js +0 -14
  376. package/src/vendor/bootstrap-vue/src/components/media/index.scss +0 -1
  377. package/src/vendor/bootstrap-vue/src/components/media/media-aside.js +0 -45
  378. package/src/vendor/bootstrap-vue/src/components/media/media-aside.spec.js +0 -79
  379. package/src/vendor/bootstrap-vue/src/components/media/media-body.js +0 -25
  380. package/src/vendor/bootstrap-vue/src/components/media/media-body.spec.js +0 -47
  381. package/src/vendor/bootstrap-vue/src/components/media/media.js +0 -52
  382. package/src/vendor/bootstrap-vue/src/components/media/media.spec.js +0 -149
  383. package/src/vendor/bootstrap-vue/src/components/media/package.json +0 -65
  384. package/src/vendor/bootstrap-vue/src/components/nav/nav-form.js +0 -50
  385. package/src/vendor/bootstrap-vue/src/components/nav/nav-form.spec.js +0 -93
  386. package/src/vendor/bootstrap-vue/src/components/nav/nav-text.js +0 -18
  387. package/src/vendor/bootstrap-vue/src/components/nav/nav-text.spec.js +0 -30
  388. package/src/vendor/bootstrap-vue/src/components/navbar/navbar-nav.js +0 -45
  389. package/src/vendor/bootstrap-vue/src/components/navbar/navbar-nav.spec.js +0 -105
  390. package/src/vendor/bootstrap-vue/src/components/navbar/navbar-toggle.js +0 -84
  391. package/src/vendor/bootstrap-vue/src/components/navbar/navbar-toggle.spec.js +0 -189
  392. package/src/vendor/bootstrap-vue/src/components/overlay/README.md +0 -815
  393. package/src/vendor/bootstrap-vue/src/components/overlay/index.d.ts +0 -11
  394. package/src/vendor/bootstrap-vue/src/components/overlay/index.js +0 -8
  395. package/src/vendor/bootstrap-vue/src/components/overlay/overlay.js +0 -162
  396. package/src/vendor/bootstrap-vue/src/components/overlay/overlay.spec.js +0 -257
  397. package/src/vendor/bootstrap-vue/src/components/overlay/package.json +0 -130
  398. package/src/vendor/bootstrap-vue/src/components/pagination/README.md +0 -430
  399. package/src/vendor/bootstrap-vue/src/components/pagination/_pagination.scss +0 -26
  400. package/src/vendor/bootstrap-vue/src/components/pagination/index.d.ts +0 -11
  401. package/src/vendor/bootstrap-vue/src/components/pagination/index.js +0 -8
  402. package/src/vendor/bootstrap-vue/src/components/pagination/index.scss +0 -1
  403. package/src/vendor/bootstrap-vue/src/components/pagination/package.json +0 -295
  404. package/src/vendor/bootstrap-vue/src/components/pagination/pagination.js +0 -138
  405. package/src/vendor/bootstrap-vue/src/components/pagination/pagination.spec.js +0 -1198
  406. package/src/vendor/bootstrap-vue/src/components/pagination-nav/README.md +0 -544
  407. package/src/vendor/bootstrap-vue/src/components/pagination-nav/_pagination-nav.scss +0 -2
  408. package/src/vendor/bootstrap-vue/src/components/pagination-nav/index.d.ts +0 -11
  409. package/src/vendor/bootstrap-vue/src/components/pagination-nav/index.js +0 -8
  410. package/src/vendor/bootstrap-vue/src/components/pagination-nav/index.scss +0 -1
  411. package/src/vendor/bootstrap-vue/src/components/pagination-nav/package.json +0 -315
  412. package/src/vendor/bootstrap-vue/src/components/pagination-nav/pagination-nav.js +0 -281
  413. package/src/vendor/bootstrap-vue/src/components/pagination-nav/pagination-nav.spec.js +0 -671
  414. package/src/vendor/bootstrap-vue/src/components/sidebar/README.md +0 -406
  415. package/src/vendor/bootstrap-vue/src/components/sidebar/_sidebar.scss +0 -97
  416. package/src/vendor/bootstrap-vue/src/components/sidebar/index.d.ts +0 -11
  417. package/src/vendor/bootstrap-vue/src/components/sidebar/index.js +0 -10
  418. package/src/vendor/bootstrap-vue/src/components/sidebar/index.scss +0 -1
  419. package/src/vendor/bootstrap-vue/src/components/sidebar/package.json +0 -239
  420. package/src/vendor/bootstrap-vue/src/components/sidebar/sidebar.js +0 -438
  421. package/src/vendor/bootstrap-vue/src/components/sidebar/sidebar.spec.js +0 -404
  422. package/src/vendor/bootstrap-vue/src/components/skeleton/README.md +0 -275
  423. package/src/vendor/bootstrap-vue/src/components/skeleton/_skeleton.scss +0 -141
  424. package/src/vendor/bootstrap-vue/src/components/skeleton/index.d.ts +0 -23
  425. package/src/vendor/bootstrap-vue/src/components/skeleton/index.js +0 -18
  426. package/src/vendor/bootstrap-vue/src/components/skeleton/index.scss +0 -1
  427. package/src/vendor/bootstrap-vue/src/components/skeleton/package.json +0 -136
  428. package/src/vendor/bootstrap-vue/src/components/skeleton/skeleton-icon.js +0 -45
  429. package/src/vendor/bootstrap-vue/src/components/skeleton/skeleton-icon.spec.js +0 -86
  430. package/src/vendor/bootstrap-vue/src/components/skeleton/skeleton-img.js +0 -49
  431. package/src/vendor/bootstrap-vue/src/components/skeleton/skeleton-img.spec.js +0 -139
  432. package/src/vendor/bootstrap-vue/src/components/skeleton/skeleton-table.js +0 -58
  433. package/src/vendor/bootstrap-vue/src/components/skeleton/skeleton-table.spec.js +0 -119
  434. package/src/vendor/bootstrap-vue/src/components/skeleton/skeleton-wrapper.js +0 -47
  435. package/src/vendor/bootstrap-vue/src/components/skeleton/skeleton-wrapper.spec.js +0 -48
  436. package/src/vendor/bootstrap-vue/src/components/skeleton/skeleton.js +0 -46
  437. package/src/vendor/bootstrap-vue/src/components/skeleton/skeleton.spec.js +0 -126
  438. package/src/vendor/bootstrap-vue/src/components/spinner/README.md +0 -229
  439. package/src/vendor/bootstrap-vue/src/components/spinner/index.d.ts +0 -11
  440. package/src/vendor/bootstrap-vue/src/components/spinner/index.js +0 -8
  441. package/src/vendor/bootstrap-vue/src/components/spinner/package.json +0 -38
  442. package/src/vendor/bootstrap-vue/src/components/spinner/spinner.js +0 -54
  443. package/src/vendor/bootstrap-vue/src/components/spinner/spinner.spec.js +0 -305
  444. package/src/vendor/bootstrap-vue/src/components/time/README.md +0 -431
  445. package/src/vendor/bootstrap-vue/src/components/time/_time.scss +0 -41
  446. package/src/vendor/bootstrap-vue/src/components/time/index.d.ts +0 -27
  447. package/src/vendor/bootstrap-vue/src/components/time/index.js +0 -8
  448. package/src/vendor/bootstrap-vue/src/components/time/index.scss +0 -1
  449. package/src/vendor/bootstrap-vue/src/components/time/package.json +0 -123
  450. package/src/vendor/bootstrap-vue/src/components/time/time.js +0 -601
  451. package/src/vendor/bootstrap-vue/src/components/time/time.spec.js +0 -330
  452. package/src/vendor/bootstrap-vue/src/constants/date.js +0 -7
  453. package/src/vendor/bootstrap-vue/src/mixins/card.js +0 -23
  454. package/src/vendor/bootstrap-vue/src/mixins/pagination.js +0 -670
  455. package/src/vendor/bootstrap-vue/src/utils/date.js +0 -130
  456. package/src/vendor/bootstrap-vue/src/utils/date.spec.js +0 -159
@@ -1,735 +0,0 @@
1
- # Calendar
2
-
3
- > BootstrapVue's custom `<b-calendar>` component generates a WAI-ARIA compliant calendar style date
4
- > selection widget, which can be used to control other components, or can be used to create
5
- > customized date picker inputs.
6
-
7
- ## Overview
8
-
9
- `<b-calendar>` is WAI-ARIA accessibility compliant, optimized for keyboard control (arrow, page
10
- up/down, home, and end keys). Internationalization is also supported, and default's to the browser's
11
- or page's locale, if no locale(s) are specified.
12
-
13
- If you need a date picker as a custom form control input, use the
14
- [`<b-form-datepicker>`](/docs/components/form-datepicker) component instead.
15
-
16
- ```html
17
- <template>
18
- <b-row>
19
- <b-col md="auto">
20
- <b-calendar v-model="value" @context="onContext" locale="en-US"></b-calendar>
21
- </b-col>
22
- <b-col>
23
- <p>Value: <b>'{{ value }}'</b></p>
24
- <p class="mb-0">Context:</p>
25
- <pre class="small">{{ context }}</pre>
26
- </b-col>
27
- </b-row>
28
- </template>
29
-
30
- <script>
31
- export default {
32
- data() {
33
- return {
34
- value: '',
35
- context: null
36
- }
37
- },
38
- methods: {
39
- onContext(ctx) {
40
- this.context = ctx
41
- }
42
- }
43
- }
44
- </script>
45
- <!-- b-calendar.vue -->
46
- ```
47
-
48
- ## `v-model` return value
49
-
50
- By default, `<b-calendar>` returns dates as a string in the `YYYY-MM-DD` format, which is the same
51
- format returned by native browser `<input type="date">` controls. You can have `<b-calendar>` return
52
- a `Date` object (with no time portion) as the `v-model` value instead by setting the `value-as-date`
53
- prop.
54
-
55
- If no date is selected, `<b-calendar>` returns an empty string `''`, or returns `null` if the
56
- `value-as-date` prop is set.
57
-
58
- Note that when `value-as-date` prop is set, the returned `Date` object will be in the browser's
59
- default timezone.
60
-
61
- ## Disabled and readonly states
62
-
63
- Setting the `disabled` prop will remove all interactivity of the `<b-calendar>` component.
64
-
65
- Setting the `readonly` prop will disable selecting a date, but will keep the component interactive,
66
- allowing for date navigation. The `v-model` will not be updated in the readonly state.
67
-
68
- For disabling specific dates or setting minimum and maximum date limits, refer to the
69
- [Date constraints](#date-constraints) section.
70
-
71
- ```html
72
- <template>
73
- <div>
74
- <b-form-group label="Select calendar interactive state" v-slot="{ ariaDescribedby }">
75
- <b-form-radio-group
76
- v-model="state"
77
- :aria-describedby="ariaDescribedby"
78
- aria-controls="ex-disabled-readonly"
79
- >
80
- <b-form-radio value="disabled">Disabled</b-form-radio>
81
- <b-form-radio value="readonly">Readonly</b-form-radio>
82
- <b-form-radio value="normal">Normal</b-form-radio>
83
- </b-form-radio-group>
84
- </b-form-group>
85
-
86
- <b-calendar
87
- id="ex-disabled-readonly"
88
- :disabled="disabled"
89
- :readonly="readonly"
90
- ></b-calendar>
91
- </div>
92
- </template>
93
-
94
- <script>
95
- export default {
96
- data() {
97
- return {
98
- state: 'disabled'
99
- }
100
- },
101
- computed: {
102
- disabled() {
103
- return this.state === 'disabled'
104
- },
105
- readonly() {
106
- return this.state === 'readonly'
107
- }
108
- }
109
- }
110
- </script>
111
-
112
- <!-- b-form-calendar-disabled-readonly.vue -->
113
- ```
114
-
115
- ## Date constraints
116
-
117
- ### Minimum and maximum dates
118
-
119
- Restrict the calendar range via the `min` and `max` props. The props accept a date string in the
120
- format of `YYYY-MM-DD` or a `Date` object.
121
-
122
- ```html
123
- <template>
124
- <div>
125
- <b-calendar v-model="value" :min="min" :max="max" locale="en"></b-calendar>
126
- </div>
127
- </template>
128
-
129
- <script>
130
- export default {
131
- data() {
132
- const now = new Date()
133
- const today = new Date(now.getFullYear(), now.getMonth(), now.getDate())
134
- // 15th two months prior
135
- const minDate = new Date(today)
136
- minDate.setMonth(minDate.getMonth() - 2)
137
- minDate.setDate(15)
138
- // 15th in two months
139
- const maxDate = new Date(today)
140
- maxDate.setMonth(maxDate.getMonth() + 2)
141
- maxDate.setDate(15)
142
-
143
- return {
144
- value: '',
145
- min: minDate,
146
- max: maxDate
147
- }
148
- }
149
- }
150
- </script>
151
-
152
- <!-- b-calendar-min-max.vue -->
153
- ```
154
-
155
- ### Disabling dates
156
-
157
- If you need to disable specific dates within the calendar, specify a function reference to the
158
- `date-disabled-fn` prop. The function is passed two arguments:
159
-
160
- - `ymd` The date as a `YYYY-MM-DD` string
161
- - `date` The date as a `Date` object
162
-
163
- The function should either return `true` if the date _cannot_ be selected (disabled), or `false` if
164
- the date _can_ be selected (enabled). Note that the function **cannot** be asynchronous, and should
165
- return a value as quickly as possible.
166
-
167
- ```html
168
- <template>
169
- <div>
170
- <b-calendar v-model="value" :date-disabled-fn="dateDisabled" locale="en"></b-calendar>
171
- </div>
172
- </template>
173
-
174
- <script>
175
- export default {
176
- data() {
177
- return {
178
- value: ''
179
- }
180
- },
181
- methods: {
182
- dateDisabled(ymd, date) {
183
- // Disable weekends (Sunday = `0`, Saturday = `6`) and
184
- // disable days that fall on the 13th of the month
185
- const weekday = date.getDay()
186
- const day = date.getDate()
187
- // Return `true` if the date should be disabled
188
- return weekday === 0 || weekday === 6 || day === 13
189
- }
190
- }
191
- }
192
- </script>
193
-
194
- <!-- b-calendar-disabled-dates.vue -->
195
- ```
196
-
197
- Note the `min` and `max` date constraints are evaluated first, before `date-disabled-fn`.
198
-
199
- ## Styling
200
-
201
- ### Variants
202
-
203
- The selected date button (background color) defaults to the `'primary'` theme variant. You can
204
- change this to any of the Bootstrap v4 theme variant colors: `'secondary'`, `'success'`, `'danger'`,
205
- `'warning'`, `'info'`, etc, via the `selected-variant` prop.
206
-
207
- Today's date will also be highlighted (text color) using the same variant as the selected date by
208
- default. To specify a different theme color to use for today's date, use the `today-variant` prop.
209
-
210
- To disable highlighting of today's date altogether, set the `no-highlight-today` prop.
211
-
212
- The navigation buttons default to the `'secondary'` theme variant. You can change this via the
213
- `nav-button-variant` prop.
214
-
215
- ```html
216
- <template>
217
- <b-calendar
218
- selected-variant="success"
219
- today-variant="info"
220
- nav-button-variant="primary"
221
- ></b-calendar>
222
- </template>
223
-
224
- <!-- b-calendar-variants.vue -->
225
- ```
226
-
227
- ### Width
228
-
229
- The `<b-calendar>` renders as an inline-block element with a default width of `270px` (excluding any
230
- padding or border that may be added to it). This width is optimized to fit the width of smaller
231
- mobile devices.
232
-
233
- To change the width, set the `width` prop to any valid CSS width (including units).
234
-
235
- Optionally, make the calendar full width by setting the prop `block`, which will make it expand to
236
- fit the width of the parent element. The `width` prop has no effect when `block` is set.
237
-
238
- ```html
239
- <template>
240
- <b-calendar block locale="en-US"></b-calendar>
241
- </template>
242
-
243
- <!-- b-calendar-block.vue -->
244
- ```
245
-
246
- Note it is _not recommended_ to set a width below `260px`, otherwise truncation and layout issues
247
- with the component may occur.
248
-
249
- ### Initial open calendar date
250
-
251
- By default, when no date is selected, the calendar view will be set to the current month (or the
252
- `min` or `max` date if today's date is out of range of `min` or `max`). You can change this
253
- behaviour by specifying a date via the `initial-date` prop. The initial date prop will be used to
254
- determine the calendar month to be initially presented to the user. It does not set the component's
255
- value.
256
-
257
- ### Date string format
258
-
259
- <span class="badge badge-info small">v2.6.0+</span>
260
-
261
- To change format options of the displayed date text inside the component, e.g. in the header, set
262
- the `date-format-options` prop to an object containing the requested format properties for the
263
- `Intl.DateTimeFormat` object (see also [Internationalization](#internationalization)).
264
-
265
- ```html
266
- <template>
267
- <div>
268
- <p>Custom date format:</p>
269
- <b-calendar
270
- :date-format-options="{ year: 'numeric', month: 'short', day: '2-digit', weekday: 'short' }"
271
- locale="en"
272
- ></b-calendar>
273
- <p class="mt-3">Short date format:</p>
274
- <b-calendar
275
- :date-format-options="{ year: 'numeric', month: 'numeric', day: 'numeric' }"
276
- locale="en"
277
- ></b-calendar>
278
- </div>
279
- </template>
280
-
281
- <!-- b-calendar-dateformat.vue -->
282
- ```
283
-
284
- The following table summarizes the valid options for each format property:
285
-
286
- | Property | Possible values |
287
- | --------- | ------------------------------------------------------------ |
288
- | `year` | `'numeric'`, or `'2-digit'` |
289
- | `month` | `'numeric'`, `'2-digit'`, `'long'`, `'short'`, or `'narrow'` |
290
- | `day` | `'numeric'`, or `'2-digit'` |
291
- | `weekday` | `'long'`, `'short'`, or `'narrow'` |
292
-
293
- Notes:
294
-
295
- - Leaving out certain options may affect the formatted text string, e.g. the `weekday`
296
- - The formatted value will vary according to the resolved locale. Some locales may not support the
297
- `'narrow'` format and will fall back to `'short'` or `long'` (if `'short'` is not available)
298
- - `year`, `month` and `day` will always be shown. If you need to leave out a value, set the property
299
- to `undefined`, although this is highly discouraged for accessibility reasons
300
-
301
- ### Weekday name header format
302
-
303
- <span class="badge badge-info small">2.12.0+</span>
304
-
305
- The calendar weekday name header format defaults to `'short'`, which is typically a three-character
306
- abbreviation of the weekday, although some [locales](#internationalization) may override this. The
307
- format can be controlled via the prop `weekday-header-format` and accepts one of three values:
308
-
309
- - `'long'` the full weekday name (e.g. <samp>Tuesday</samp>). Handy when using a full width
310
- calendar. Avoid using with the default calendar width.
311
- - `'short'` typically is a 2 or 3 letter abbreviation of the weekday name, depending on the selected
312
- locale (e.g. "Tue").
313
- - `'narrow'` is typically a single character abbreviation (e.g., <samp>T</samp>). Two weekdays may
314
- have the same narrow style for some locales (e.g. Tuesday and Thursday's narrow style are both
315
- <samp>T</samp>). This can be handy for those locales that do not support the `'short'` format,
316
- such as locales `'ar'` and `'fa'`.
317
-
318
- ### Hiding the top selected date header
319
-
320
- By default, the current selected date will be displayed at the top of the calendar component,
321
- formatted in the locale's language.
322
-
323
- You can hide this header via the `hide-header` prop. Note this only _visually hides_ the selected
324
- date, while keeping it available to screen reader users as an `aria-live` region.
325
-
326
- For example usage, refer to the [Internationalization section](#internationalization) below.
327
-
328
- ### Optional decade navigation buttons
329
-
330
- Set the prop `show-decade-nav` to enable the previous and next decade buttons in the calendar's date
331
- navigation toolbar.
332
-
333
- The props `label-prev-decade` and `label-next-decade` props can be used to provide custom label text
334
- for the decade buttons.
335
-
336
- For example usage, refer to the [Internationalization section](#internationalization) below.
337
-
338
- ### Border and padding
339
-
340
- Fancy a calendar with a border with padding? Use Bootstrap's
341
- [border and padding utility classes](/docs/reference/utility-classes) to add borders and padding:
342
-
343
- ```html
344
- <template>
345
- <b-calendar class="border rounded p-2" locale="en"></b-calendar>
346
- </template>
347
-
348
- <!-- b-calendar-border-padding.vue -->
349
- ```
350
-
351
- ### Default slot
352
-
353
- Provide optional content at the bottom of the calendar interface via the use of default slot. The
354
- slot can be used to add buttons such as `Select Today` or `Reset`, etc.
355
-
356
- ```html
357
- <template>
358
- <b-calendar v-model="value" value-as-date locale="en">
359
- <div class="d-flex" dir="ltr">
360
- <b-button
361
- size="sm"
362
- variant="outline-danger"
363
- v-if="value"
364
- @click="clearDate"
365
- >
366
- Clear date
367
- </b-button>
368
- <b-button
369
- size="sm"
370
- variant="outline-primary"
371
- class="ml-auto"
372
- @click="setToday"
373
- >
374
- Set Today
375
- </b-button>
376
- </div>
377
- </b-calendar>
378
- </template>
379
-
380
- <script>
381
- export default {
382
- data() {
383
- return {
384
- value: null
385
- }
386
- },
387
- methods: {
388
- setToday() {
389
- const now = new Date()
390
- this.value = new Date(now.getFullYear(), now.getMonth(), now.getDate())
391
- },
392
- clearDate() {
393
- this.value = ''
394
- }
395
- }
396
- }
397
- </script>
398
-
399
- <!-- b-calendar-default-slot.vue -->
400
- ```
401
-
402
- ### Date navigation button slots
403
-
404
- <span class="badge badge-info small">2.12.0+</span>
405
-
406
- To change the content of the calendar's date navigation buttons, BootstrapVue provides scoped slots
407
- for each button:
408
-
409
- - `'nav-prev-decade'`
410
- - `'nav-prev-year'`
411
- - `'nav-prev-month'`
412
- - `'nav-this-month'` (the go to selected/today button)
413
- - `'nav-next-month'`
414
- - `'nav-next-year'`
415
- - `'nav-next-decade'`
416
-
417
- All seven slots have the same scoped property available:
418
-
419
- | Property | Type | Description |
420
- | -------- | ------- | --------------------------------------------------------------------- |
421
- | `isRTL` | Boolean | Will be `true` when the date navigation bar is rendered right-to-left |
422
-
423
- You can use the `isRTL` scoped property to "flip" the prev vs next button content to handle the
424
- left-to-right to right-to-left orientation change &mdash; i.e. the previous year button will be on
425
- the right when `isRTL` is `true`, instead of the left.
426
-
427
- ### Adding CSS classes to specific dates
428
-
429
- If you need to highlight a specific date or dates, set the `date-info-fn` prop to a reference to a
430
- function that returns a CSS class string (or array of strings) to apply to the date's cell. The
431
- function is passed two arguments:
432
-
433
- - `ymd` The date as a `YYYY-MM-DD` string
434
- - `date` The date as a `Date` object
435
-
436
- The function can return a string, or an array of strings. If setting no classes, you can return an
437
- empty string (`''`), empty array (`[]`), or `null`.
438
-
439
- In this example we are using the `table-{variant}` color classes to set a background color on the
440
- date cell. The `table-{variant}` color classes work well as they are muted versions of the theme
441
- colors.
442
-
443
- ```html
444
- <template>
445
- <div>
446
- <b-calendar v-model="value" :date-info-fn="dateClass" locale="en"></b-calendar>
447
- </div>
448
- </template>
449
-
450
- <script>
451
- export default {
452
- data() {
453
- return {
454
- value: ''
455
- }
456
- },
457
- methods: {
458
- dateClass(ymd, date) {
459
- const day = date.getDate()
460
- return day >= 10 && day <= 20 ? 'table-info' : ''
461
- }
462
- }
463
- }
464
- </script>
465
-
466
- <!-- b-calendar-date-classes.vue -->
467
- ```
468
-
469
- Note the function will _not_ be called for [disabled dates](#date-constraints).
470
-
471
- **Accessibility note:**
472
-
473
- When using classes to convey specific meaning to a date, you should include additional context
474
- outside of the calendar (or via the default slot) as to the dates being highlighted (such as in an
475
- `aria-live` region), specifically for screen reader users.
476
-
477
- BootstrapVue may, in the future, add in a feature to add in screen-reader friendly text note on the
478
- highlighted date via this function.
479
-
480
- ## Events
481
-
482
- ### `input` event
483
-
484
- The `'input'` event is emitted when updating the `v-model`. The event has a single argument which is
485
- the selected date. By default the value is a string in the format of `YYYY-MM-DD` (or an empty
486
- string if no date is selected). If the prop `value-as-date` is set, then the first argument will
487
- instead be a `Date` object (or `null` if no date selected).
488
-
489
- If the `disabled` or `readonly` props are set, the `'input'` event will **not** be emitted.
490
-
491
- ### `selected` event
492
-
493
- The `'selected'` event is emitted when the user clicks a non-disabled date. The event passes two
494
- arguments:
495
-
496
- - `ymd` The selected date as a `YYYY-MM-DD` string
497
- - `date` The selected date as a `Date` object
498
-
499
- If the user clicks the already selected date, the `selected` event will still be emitted, contrary
500
- to the `'input'` event which will _not_ re-emit the already selected date.
501
-
502
- If the `disabled` or `readonly` props are set, the `'selected'` event will **not** be emitted.
503
-
504
- ### `context` event
505
-
506
- The `'context'` event is emitted whenever a user selects a date, or the user navigates the calendar
507
- (either via cursor keys, page up/down keys, home or end keys, or uses the calendar navigation
508
- buttons). It will also be emitted when the component is created (just before insertion into the
509
- DOM), or when the resolved locale has changed.
510
-
511
- When the `readonly` prop is set, the event will still be emitted when the user navigates the
512
- calendar. It will not be emitted when the `disabled` prop is set (except for the initial emit when
513
- the calendar is created).
514
-
515
- The `'context'` event is passed a context object as it's only argument, with the following
516
- properties:
517
-
518
- | Property | Description |
519
- | ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
520
- | `selectedYMD` | The selected date value (`YYYY-MM-DD` format) or an empty string if no date selected |
521
- | `selectedDate` | The selected date value as a `Date` object or `null` if no date selected |
522
- | `selectedFormatted` | The selected date formatted in the current locale. If no date is selected, this will be the value of the `label-no-date-selected` prop |
523
- | `activeYMD` | The current date of the calendar day button that can receive focus as a string (`YYYY-MM-DD` format) |
524
- | `activeDate` | The current date of the calendar day button that can receive focus as a `Date` object |
525
- | `activeFormatted` | The active date formatted in the current locale |
526
- | `disabled` | Will be `true` if active date is disabled, `false` otherwise |
527
- | `locale` | The resolved locale (may not be the same as the requested locale) |
528
- | `calendarLocale` | The resolved locale used by the calendar, optionally including the calendar type (i.e. 'gregory'). Usually this will be the same as `locale`, but may include the calendar type used, such as `fa-u-ca-gregory` when selecting the Persian locale (`'fa'`) |
529
- | `isRTL` | Will be `true` if the calendar is in a RTL (Right-To-Left) orientation. It will be `false` if LTR (Left-To-Right) |
530
-
531
- If formatting dates manually via `Intl.DateTimeFormat`, use the `calendarLocale` property value
532
- instead of the `locale` property value to ensure you are using the same calendaring convention that
533
- `<b-calendar>` uses. This is especially true for the IE 11 browser which does not fully implement
534
- all features of `Intl.DateTimeFormat`. Refer to the
535
- [Internationalization section](#internationalization) section below for additional details.
536
-
537
- ## Internationalization
538
-
539
- Internationalization of the calendar is provided via
540
- [`Intl.DateTimeFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat),
541
- except for labels applied to elements of the calendar control (aria-labels, selected status, and
542
- help text). You must provide your own translations for these labels. The available locales will be
543
- browser dependant (not all browsers support all locales)
544
-
545
- By default `<b-calendar>` will use the browser's default locale, but you can specify the locale (or
546
- locales) to use via the `locale` prop. The prop accepts either a single locale string, or an array
547
- of locale strings (listed in order of preferred locale).
548
-
549
- The calendar starts the week on Sunday. This can be changed by setting the `start-weekday` prop to a
550
- number in the range of `0` to `6` where `0` represents Sunday, `1` for Monday, up to `6` for
551
- Saturday.
552
-
553
- The emitted `context` event will include which locale the calendar has resolved to (which may not be
554
- the same locale as requested, depending on the supported locales of `Intl`).
555
-
556
- ```html
557
- <template>
558
- <b-row>
559
- <b-col cols="12" class="mb-3">
560
- <label for="example-locales">Locale:</label>
561
- <b-form-select id="example-locales" v-model="locale" :options="locales"></b-form-select>
562
- <label for="example-weekdays" class="mt-2">Start weekday:</label>
563
- <b-form-select id="example-weekdays" v-model="weekday" :options="weekdays"></b-form-select>
564
- <b-form-checkbox v-model="showDecadeNav" switch inline class="my-2">
565
- Show decade navigation buttons
566
- </b-form-checkbox>
567
- <b-form-checkbox v-model="hideHeader" switch inline class="my-2">
568
- Hide the date header
569
- </b-form-checkbox>
570
- </b-col>
571
- <b-col md="auto">
572
- <b-calendar
573
- v-model="value"
574
- v-bind="labels[locale] || {}"
575
- :locale="locale"
576
- :start-weekday="weekday"
577
- :hide-header="hideHeader"
578
- :show-decade-nav="showDecadeNav"
579
- @context="onContext"
580
- ></b-calendar>
581
- </b-col>
582
- <b-col>
583
- <p>Value: <b>'{{ value }}'</b></p>
584
- <p class="mb-0">Context:</p>
585
- <pre class="small">{{ context }}</pre>
586
- </b-col>
587
- </b-row>
588
- </template>
589
-
590
- <script>
591
- export default {
592
- data() {
593
- return {
594
- value: '',
595
- context: null,
596
- showDecadeNav: false,
597
- hideHeader: false,
598
- locale: 'en-US',
599
- locales: [
600
- { value: 'en-US', text: 'English US (en-US)' },
601
- { value: 'de', text: 'German (de)' },
602
- { value: 'ar-EG', text: 'Arabic Egyptian (ar-EG)' },
603
- { value: 'zh', text: 'Chinese (zh)' }
604
- ],
605
- weekday: 0,
606
- weekdays: [
607
- { value: 0, text: 'Sunday' },
608
- { value: 1, text: 'Monday' },
609
- { value: 6, text: 'Saturday' }
610
- ],
611
- labels: {
612
- de: {
613
- labelPrevDecade: 'Vorheriges Jahrzehnt',
614
- labelPrevYear: 'Vorheriges Jahr',
615
- labelPrevMonth: 'Vorheriger Monat',
616
- labelCurrentMonth: 'Aktueller Monat',
617
- labelNextMonth: 'Nächster Monat',
618
- labelNextYear: 'Nächstes Jahr',
619
- labelNextDecade: 'Nächstes Jahrzehnt',
620
- labelToday: 'Heute',
621
- labelSelected: 'Ausgewähltes Datum',
622
- labelNoDateSelected: 'Kein Datum gewählt',
623
- labelCalendar: 'Kalender',
624
- labelNav: 'Kalendernavigation',
625
- labelHelp: 'Mit den Pfeiltasten durch den Kalender navigieren'
626
- },
627
- 'ar-EG': {
628
- weekdayHeaderFormat: 'narrow',
629
- labelPrevDecade: 'العقد السابق',
630
- labelPrevYear: 'العام السابق',
631
- labelPrevMonth: 'الشهر السابق',
632
- labelCurrentMonth: 'الشهر الحالي',
633
- labelNextMonth: 'الشهر المقبل',
634
- labelNextYear: 'العام المقبل',
635
- labelNextDecade: 'العقد القادم',
636
- labelToday: 'اليوم',
637
- labelSelected: 'التاريخ المحدد',
638
- labelNoDateSelected: 'لم يتم اختيار تاريخ',
639
- labelCalendar: 'التقويم',
640
- labelNav: 'الملاحة التقويم',
641
- labelHelp: 'استخدم مفاتيح المؤشر للتنقل في التواريخ'
642
- },
643
- zh: {
644
- weekdayHeaderFormat: 'narrow',
645
- labelPrevDecade: '过去十年',
646
- labelPrevYear: '上一年',
647
- labelPrevMonth: '上个月',
648
- labelCurrentMonth: '当前月份',
649
- labelNextMonth: '下个月',
650
- labelNextYear: '明年',
651
- labelNextDecade: '下一个十年',
652
- labelToday: '今天',
653
- labelSelected: '选定日期',
654
- labelNoDateSelected: '未选择日期',
655
- labelCalendar: '日历',
656
- labelNav: '日历导航',
657
- labelHelp: '使用光标键浏览日期'
658
- }
659
- }
660
- }
661
- },
662
- methods: {
663
- onContext(ctx) {
664
- this.context = ctx
665
- }
666
- }
667
- }
668
- </script>
669
-
670
- <!-- b-calendar-i18n.vue -->
671
- ```
672
-
673
- Currently `<b-calendar>` only supports the Gregorian (`'gregory'`) calendar.
674
-
675
- By default, `<b-calendar>` automatically detects RTL vs LTR via the resolved locale. You can force
676
- the calendar to render right-to-left by setting the `direction` prop to the string `rtl`, or set the
677
- `direction` prop to `'ltr'` to always render left-to-right.
678
-
679
- You can listen to the `context` event to determine the locale and directionality that the calendar
680
- has resolved to.
681
-
682
- For server side rendering (SSR) when using Node.js, ensure that the Node.js runtime you are using
683
- supports `Intl` and the locales you will be using. Refer to the
684
- [Node `Intl` support documentation](https://nodejs.org/api/intl.html) for details.
685
-
686
- ## Accessibility
687
-
688
- `<b-calendar>` provides many accessibility features, such as `aria-live` regions, roles, aria
689
- labeling, shortcut keys and full keyboard navigation to work with most screen readers.
690
-
691
- Keyboard navigation:
692
-
693
- - <kbd>ArrowLeft</kbd> moves to the previous day (or next day in RTL mode)
694
- - <kbd>ArrowRight</kbd> moves to the next day (or previous day in RTL mode)
695
- - <kbd>ArrowUp</kbd> moves to the same day in the previous week
696
- - <kbd>ArrowDown</kbd> moves to the same day in the next week
697
- - <kbd>PageUp</kbd> moves to the same day in the previous month
698
- - <kbd>PageDown</kbd> moves to the same day in the next month
699
- - <kbd>Alt</kbd>+<kbd>PageUp</kbd> moves to the same day and month in the previous year
700
- - <kbd>Alt</kbd>+<kbd>PageDown</kbd> moves to the same day and month in the next year
701
- - <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>PageUp</kbd> moves to the same day and month in the previous
702
- decade
703
- - <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>PageDown</kbd> moves to the same day and month in the next
704
- decade
705
- - <kbd>Home</kbd> moves to today's date
706
- - <kbd>End</kbd> moves to the current selected date, or today if no selected date
707
- - <kbd>Enter</kbd> or <kbd>Space</kbd> selects the currently highlighted (focused) day
708
-
709
- Several of the `label-*` props are not visible on screen, but are used to label various elements
710
- within the calendar for screen reader users. e.g. the `label-today` prop is added to the cell that
711
- contains todays date: `'January 28, 2020 (Today)'`, while the `label-selected` prop is added to the
712
- cell that contains the selected date `'January 28, 2020 (Selected date)'` as well as added to the
713
- selected date header as `sr-only` text.
714
-
715
- When internationalizing the datepicker, it is important to also update the `label-*` props with
716
- appropriate translated strings, so that international screen reader users will hear the correct
717
- prompts and descriptions.
718
-
719
- The features and styling of `<b-calendar>` are intentionally kept minimalistic in order to provide
720
- the best possible accessibility to _all_ users.
721
-
722
- ## Implementation notes
723
-
724
- `<b-calendar>` uses Bootstrap's border and flex utility classes, along with button (`btn-*`) classes
725
- and the `form-control` class. BootstrapVue's custom SCSS/CSS is also required for proper styling.
726
-
727
- Accessibility-wise, we chose _not_ to use the ARIA role `grid` for the calendar to minimize
728
- verbosity and to provide consistency across various screen readers (NVDA, when encountering role
729
- `grid`, reads the focused cell as being "selected" which can be misleading to the user).
730
-
731
- ## See also
732
-
733
- - [`<b-form-datepicker>` Date picker custom form input](/docs/components/form-datepicker)
734
- - [`<b-form-timepicker>` Time picker custom form input](/docs/components/form-timepicker)
735
- - [`<b-time>` Time date selection widget](/docs/components/calendar)