@gitlab/ui 132.0.0 → 132.0.2

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 (403) hide show
  1. package/dist/charts.js +13 -0
  2. package/dist/components/base/accordion/accordion.js +69 -0
  3. package/dist/components/base/accordion/accordion_item.js +160 -0
  4. package/dist/components/base/accordion/constants.js +3 -0
  5. package/dist/components/base/alert/alert.js +263 -0
  6. package/dist/components/base/animated_icon/animated_chevron_down_up_icon.js +45 -0
  7. package/dist/components/base/animated_icon/animated_chevron_lg_down_up_icon.js +45 -0
  8. package/dist/components/base/animated_icon/animated_chevron_lg_right_down_icon.js +45 -0
  9. package/dist/components/base/animated_icon/animated_chevron_right_down_icon.js +45 -0
  10. package/dist/components/base/animated_icon/animated_duo_chat_icon.js +45 -0
  11. package/dist/components/base/animated_icon/animated_loader_icon.js +45 -0
  12. package/dist/components/base/animated_icon/animated_notifications_icon.js +45 -0
  13. package/dist/components/base/animated_icon/animated_sidebar_icon.js +45 -0
  14. package/dist/components/base/animated_icon/animated_smile_icon.js +45 -0
  15. package/dist/components/base/animated_icon/animated_sort_icon.js +45 -0
  16. package/dist/components/base/animated_icon/animated_star_icon.js +45 -0
  17. package/dist/components/base/animated_icon/animated_todo_icon.js +45 -0
  18. package/dist/components/base/animated_icon/animated_upload_icon.js +45 -0
  19. package/dist/components/base/animated_icon/base_animated_icon.js +77 -0
  20. package/dist/components/base/attribute_list/attribute_list.js +100 -0
  21. package/dist/components/base/avatar/avatar.js +175 -0
  22. package/dist/components/base/avatar/utils.js +17 -0
  23. package/dist/components/base/avatar_labeled/avatar_labeled.js +198 -0
  24. package/dist/components/base/avatar_link/avatar_link.js +47 -0
  25. package/dist/components/base/avatars_inline/avatars_inline.js +139 -0
  26. package/dist/components/base/badge/badge.js +197 -0
  27. package/dist/components/base/banner/banner.js +149 -0
  28. package/dist/components/base/breadcrumb/breadcrumb.js +282 -0
  29. package/dist/components/base/breadcrumb/breadcrumb_item.js +96 -0
  30. package/dist/components/base/broadcast_message/broadcast_message.js +113 -0
  31. package/dist/components/base/broadcast_message/constants.js +5 -0
  32. package/dist/components/base/button/button.js +419 -0
  33. package/dist/components/base/button_group/button_group.js +53 -0
  34. package/dist/components/base/card/card.js +69 -0
  35. package/dist/components/base/collapse/collapse.js +163 -0
  36. package/dist/components/base/color_mode_toggle/color_mode_toggle.js +92 -0
  37. package/dist/components/base/datepicker/datepicker.js +475 -0
  38. package/dist/components/base/daterange_picker/daterange_picker.js +394 -0
  39. package/dist/components/base/drawer/drawer.js +156 -0
  40. package/dist/components/base/dropdown/dropdown.js +330 -0
  41. package/dist/components/base/dropdown/dropdown_divider.js +48 -0
  42. package/dist/components/base/dropdown/dropdown_form.js +48 -0
  43. package/dist/components/base/dropdown/dropdown_item.js +175 -0
  44. package/dist/components/base/dropdown/dropdown_section_header.js +48 -0
  45. package/dist/components/base/dropdown/dropdown_text.js +48 -0
  46. package/dist/components/base/filtered_search/common_story_options.js +14 -0
  47. package/dist/components/base/filtered_search/filtered_search.js +428 -0
  48. package/dist/components/base/filtered_search/filtered_search_suggestion.js +95 -0
  49. package/dist/components/base/filtered_search/filtered_search_suggestion_list.js +139 -0
  50. package/dist/components/base/filtered_search/filtered_search_term.js +217 -0
  51. package/dist/components/base/filtered_search/filtered_search_token.js +383 -0
  52. package/dist/components/base/filtered_search/filtered_search_token_segment.js +444 -0
  53. package/dist/components/base/filtered_search/filtered_search_utils.js +241 -0
  54. package/dist/components/base/form/form.js +43 -0
  55. package/dist/components/base/form/form_character_count/form_character_count.js +107 -0
  56. package/dist/components/base/form/form_checkbox/form_checkbox.js +342 -0
  57. package/dist/components/base/form/form_checkbox/form_checkbox_group.js +188 -0
  58. package/dist/components/base/form/form_combobox/constants.js +55 -0
  59. package/dist/components/base/form/form_combobox/form_combobox.js +239 -0
  60. package/dist/components/base/form/form_date/form_date.js +143 -0
  61. package/dist/components/base/form/form_fields/form_field_validator.js +93 -0
  62. package/dist/components/base/form/form_fields/form_fields.js +289 -0
  63. package/dist/components/base/form/form_fields/form_fields_loop.js +75 -0
  64. package/dist/components/base/form/form_fields/mappers.js +13 -0
  65. package/dist/components/base/form/form_fields/validators.js +48 -0
  66. package/dist/components/base/form/form_group/form_group.js +119 -0
  67. package/dist/components/base/form/form_input/form_input.js +695 -0
  68. package/dist/components/base/form/form_input_group/form_input_group.js +120 -0
  69. package/dist/components/base/form/form_input_group/form_input_group_mixin.js +41 -0
  70. package/dist/components/base/form/form_radio/form_radio.js +259 -0
  71. package/dist/components/base/form/form_radio_group/form_radio_group.js +189 -0
  72. package/dist/components/base/form/form_select/constants.js +12 -0
  73. package/dist/components/base/form/form_select/form_select.js +96 -0
  74. package/dist/components/base/form/form_textarea/form_textarea.js +166 -0
  75. package/dist/components/base/form/input_group_text/input_group_text.js +43 -0
  76. package/dist/components/base/icon/icon.js +113 -0
  77. package/dist/components/base/illustration/illustration.js +80 -0
  78. package/dist/components/base/infinite_scroll/infinite_scroll.js +196 -0
  79. package/dist/components/base/keyset_pagination/keyset_pagination.js +152 -0
  80. package/dist/components/base/label/label.js +174 -0
  81. package/dist/components/base/link/link.js +330 -0
  82. package/dist/components/base/loading_icon/loading_icon.js +120 -0
  83. package/dist/components/base/markdown/markdown.js +50 -0
  84. package/dist/components/base/modal/modal.js +259 -0
  85. package/dist/components/base/new_dropdowns/base_dropdown/base_dropdown.js +716 -0
  86. package/dist/components/base/new_dropdowns/base_dropdown/constants.js +5 -0
  87. package/dist/components/base/new_dropdowns/base_dropdown/dropdown_container.js +32 -0
  88. package/dist/components/base/new_dropdowns/constants.js +24 -0
  89. package/dist/components/base/new_dropdowns/disclosure/constants.js +8 -0
  90. package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown.js +400 -0
  91. package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown_group.js +112 -0
  92. package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown_item.js +196 -0
  93. package/dist/components/base/new_dropdowns/disclosure/mock_data.js +168 -0
  94. package/dist/components/base/new_dropdowns/disclosure/utils.js +84 -0
  95. package/dist/components/base/new_dropdowns/listbox/listbox.js +997 -0
  96. package/dist/components/base/new_dropdowns/listbox/listbox_group.js +58 -0
  97. package/dist/components/base/new_dropdowns/listbox/listbox_item.js +112 -0
  98. package/dist/components/base/new_dropdowns/listbox/listbox_search_input.js +94 -0
  99. package/dist/components/base/new_dropdowns/listbox/mock_data.js +131 -0
  100. package/dist/components/base/new_dropdowns/listbox/utils.js +33 -0
  101. package/dist/components/base/pagination/pagination.js +397 -0
  102. package/dist/components/base/path/data.js +34 -0
  103. package/dist/components/base/path/path.js +177 -0
  104. package/dist/components/base/popover/popover.js +142 -0
  105. package/dist/components/base/progress_bar/progress_bar.js +117 -0
  106. package/dist/components/base/search_box_by_click/search_box_by_click.js +245 -0
  107. package/dist/components/base/search_box_by_type/search_box_by_type.js +187 -0
  108. package/dist/components/base/segmented_control/segmented_control.js +73 -0
  109. package/dist/components/base/skeleton_loader/skeleton_loader.js +232 -0
  110. package/dist/components/base/sorting/sorting.js +180 -0
  111. package/dist/components/base/table/constants.js +5 -0
  112. package/dist/components/base/table/table.js +187 -0
  113. package/dist/components/base/table_lite/table_lite.js +80 -0
  114. package/dist/components/base/tabs/constants.js +3 -0
  115. package/dist/components/base/tabs/tab/tab.js +113 -0
  116. package/dist/components/base/tabs/tabs/scrollable_tabs.js +162 -0
  117. package/dist/components/base/tabs/tabs/tabs.js +223 -0
  118. package/dist/components/base/toast/index.js +66 -0
  119. package/dist/components/base/toast/toast.js +125 -0
  120. package/dist/components/base/toast/toaster.js +87 -0
  121. package/dist/components/base/toggle/toggle.js +178 -0
  122. package/dist/components/base/token/token.js +97 -0
  123. package/dist/components/base/token_selector/helpers.js +5 -0
  124. package/dist/components/base/token_selector/token_container.js +160 -0
  125. package/dist/components/base/token_selector/token_selector.js +454 -0
  126. package/dist/components/base/token_selector/token_selector_dropdown.js +223 -0
  127. package/dist/components/base/tooltip/tooltip.js +54 -0
  128. package/dist/components/charts/area/area.js +329 -0
  129. package/dist/components/charts/bar/bar.js +207 -0
  130. package/dist/components/charts/chart/chart.js +215 -0
  131. package/dist/components/charts/column/column.js +221 -0
  132. package/dist/components/charts/discrete_scatter/discrete_scatter.js +199 -0
  133. package/dist/components/charts/gauge/gauge.js +205 -0
  134. package/dist/components/charts/heatmap/heatmap.js +299 -0
  135. package/dist/components/charts/heatmap/index.js +2 -0
  136. package/dist/components/charts/legend/legend.js +245 -0
  137. package/dist/components/charts/line/line.js +340 -0
  138. package/dist/components/charts/series_label/series_label.js +101 -0
  139. package/dist/components/charts/shared/tooltip/tooltip.js +369 -0
  140. package/dist/components/charts/shared/tooltip/tooltip_default_format/tooltip_default_format.js +53 -0
  141. package/dist/components/charts/single_stat/single_stat.js +164 -0
  142. package/dist/components/charts/sparkline/sparkline.js +299 -0
  143. package/dist/components/charts/stacked_column/stacked_column.js +380 -0
  144. package/dist/components/dashboards/dashboard_layout/dashboard_layout.js +125 -0
  145. package/dist/components/dashboards/dashboard_layout/grid_layout/grid_layout.js +326 -0
  146. package/dist/components/dashboards/dashboard_layout/validators.js +14 -0
  147. package/dist/components/dashboards/dashboard_panel/dashboard_panel.js +236 -0
  148. package/dist/components/dashboards/mock_data.js +49 -0
  149. package/dist/components/experimental/experiment_badge/constants.js +4 -0
  150. package/dist/components/experimental/experiment_badge/experiment_badge.js +102 -0
  151. package/dist/components/extended/multi_step_form_template/multi_step_form_template.js +87 -0
  152. package/dist/components/index.js +107 -0
  153. package/dist/components/mixins/button_mixin.js +11 -0
  154. package/dist/components/mixins/safe_link_mixin.js +30 -0
  155. package/dist/components/mixins/tooltip_mixin.js +21 -0
  156. package/dist/components/regions/dashboard_skeleton/dashboard_skeleton.js +53 -0
  157. package/dist/components/regions/empty_state/empty_state.js +181 -0
  158. package/dist/components/shared_components/clear_icon_button/clear_icon_button.js +64 -0
  159. package/dist/components/shared_components/clipboard_button/clipboard_button.js +100 -0
  160. package/dist/components/shared_components/close_button/close_button.js +55 -0
  161. package/dist/components/utilities/animated_number/animated_number.js +131 -0
  162. package/dist/components/utilities/friendly_wrap/friendly_wrap.js +75 -0
  163. package/dist/components/utilities/intersection_observer/intersection_observer.js +88 -0
  164. package/dist/components/utilities/intersperse/intersperse.js +104 -0
  165. package/dist/components/utilities/sprintf/sprintf.js +171 -0
  166. package/dist/components/utilities/truncate/constants.js +8 -0
  167. package/dist/components/utilities/truncate/truncate.js +154 -0
  168. package/dist/components/utilities/truncate_text/constants.js +7 -0
  169. package/dist/components/utilities/truncate_text/truncate_text.js +146 -0
  170. package/dist/config.js +53 -0
  171. package/dist/directives/hover_load/hover_load.js +45 -0
  172. package/dist/directives/index.js +8 -0
  173. package/dist/directives/modal.js +1 -0
  174. package/dist/directives/outside/outside.js +149 -0
  175. package/dist/directives/resize_observer/resize_observer.js +58 -0
  176. package/dist/directives/safe_html/constants.js +6 -0
  177. package/dist/directives/safe_html/safe_html.js +39 -0
  178. package/dist/directives/safe_link/mock_data.js +10 -0
  179. package/dist/directives/safe_link/safe_link.js +67 -0
  180. package/dist/directives/tooltip/container.js +7 -0
  181. package/dist/directives/tooltip/tooltip.js +18 -0
  182. package/dist/index.css +7 -0
  183. package/dist/index.css.map +1 -0
  184. package/dist/index.js +2 -0
  185. package/dist/tailwind.css +2 -0
  186. package/dist/tailwind.css.map +1 -0
  187. package/dist/tokens/build/js/tokens.dark.js +1410 -0
  188. package/dist/tokens/build/js/tokens.js +1410 -0
  189. package/dist/tokens/common_story_options.js +29 -0
  190. package/dist/tokens/tokens_story.js +76 -0
  191. package/dist/utils/breakpoints.js +20 -0
  192. package/dist/utils/charts/config.js +616 -0
  193. package/dist/utils/charts/constants.js +69 -0
  194. package/dist/utils/charts/mock_data.js +191 -0
  195. package/dist/utils/charts/story_config.js +24 -0
  196. package/dist/utils/charts/theme.js +200 -0
  197. package/dist/utils/charts/utils.js +54 -0
  198. package/dist/utils/constants.js +331 -0
  199. package/dist/utils/data_utils.js +19 -0
  200. package/dist/utils/datetime_utility.js +61 -0
  201. package/dist/utils/equality_utils.js +84 -0
  202. package/dist/utils/form_options_utils.js +46 -0
  203. package/dist/utils/i18n.js +65 -0
  204. package/dist/utils/is_slot_empty.js +34 -0
  205. package/dist/utils/number_utils.js +132 -0
  206. package/dist/utils/play_utils.js +11 -0
  207. package/dist/utils/set_utils.js +25 -0
  208. package/dist/utils/stories_constants.js +29 -0
  209. package/dist/utils/stories_utils.js +62 -0
  210. package/dist/utils/story_decorators/container.js +19 -0
  211. package/dist/utils/string_utils.js +69 -0
  212. package/dist/utils/svgs/svg_paths.js +7 -0
  213. package/dist/utils/test_utils.js +33 -0
  214. package/dist/utils/use_fake_date.js +29 -0
  215. package/dist/utils/use_mock_intersection_observer.js +105 -0
  216. package/dist/utils/utils.js +205 -0
  217. package/dist/utils/vue_utils.js +57 -0
  218. package/dist/utils.js +5 -0
  219. package/dist/vendor/bootstrap-vue/src/bv-config.js +8 -0
  220. package/dist/vendor/bootstrap-vue/src/components/button/button-close.js +81 -0
  221. package/dist/vendor/bootstrap-vue/src/components/button/button.js +204 -0
  222. package/dist/vendor/bootstrap-vue/src/components/button/index.js +2 -0
  223. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-divider.js +41 -0
  224. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-form.js +52 -0
  225. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-group.js +75 -0
  226. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-header.js +52 -0
  227. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-item-button.js +85 -0
  228. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-item.js +97 -0
  229. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-text.js +60 -0
  230. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown.js +270 -0
  231. package/dist/vendor/bootstrap-vue/src/components/dropdown/index.js +8 -0
  232. package/dist/vendor/bootstrap-vue/src/components/form/form-invalid-feedback.js +53 -0
  233. package/dist/vendor/bootstrap-vue/src/components/form/form-text.js +55 -0
  234. package/dist/vendor/bootstrap-vue/src/components/form/form-valid-feedback.js +53 -0
  235. package/dist/vendor/bootstrap-vue/src/components/form/form.js +56 -0
  236. package/dist/vendor/bootstrap-vue/src/components/form/index.js +4 -0
  237. package/dist/vendor/bootstrap-vue/src/components/form-group/form-group.js +347 -0
  238. package/dist/vendor/bootstrap-vue/src/components/form-group/index.js +1 -0
  239. package/dist/vendor/bootstrap-vue/src/components/form-select/form-select-option-group.js +54 -0
  240. package/dist/vendor/bootstrap-vue/src/components/form-select/form-select-option.js +41 -0
  241. package/dist/vendor/bootstrap-vue/src/components/form-select/form-select.js +143 -0
  242. package/dist/vendor/bootstrap-vue/src/components/form-select/helpers/mixin-options.js +56 -0
  243. package/dist/vendor/bootstrap-vue/src/components/form-select/index.js +3 -0
  244. package/dist/vendor/bootstrap-vue/src/components/form-textarea/form-textarea.js +217 -0
  245. package/dist/vendor/bootstrap-vue/src/components/form-textarea/index.js +1 -0
  246. package/dist/vendor/bootstrap-vue/src/components/layout/col.js +155 -0
  247. package/dist/vendor/bootstrap-vue/src/components/layout/form-row.js +34 -0
  248. package/dist/vendor/bootstrap-vue/src/components/layout/index.js +2 -0
  249. package/dist/vendor/bootstrap-vue/src/components/link/index.js +1 -0
  250. package/dist/vendor/bootstrap-vue/src/components/link/link.js +283 -0
  251. package/dist/vendor/bootstrap-vue/src/components/modal/helpers/bv-modal-event.class.js +21 -0
  252. package/dist/vendor/bootstrap-vue/src/components/modal/helpers/modal-manager.js +212 -0
  253. package/dist/vendor/bootstrap-vue/src/components/modal/index.js +1 -0
  254. package/dist/vendor/bootstrap-vue/src/components/modal/modal.js +1059 -0
  255. package/dist/vendor/bootstrap-vue/src/components/popover/helpers/bv-popover-template.js +55 -0
  256. package/dist/vendor/bootstrap-vue/src/components/popover/helpers/bv-popover.js +31 -0
  257. package/dist/vendor/bootstrap-vue/src/components/popover/index.js +1 -0
  258. package/dist/vendor/bootstrap-vue/src/components/popover/popover.js +49 -0
  259. package/dist/vendor/bootstrap-vue/src/components/table/helpers/constants.js +22 -0
  260. package/dist/vendor/bootstrap-vue/src/components/table/helpers/default-sort-compare.js +64 -0
  261. package/dist/vendor/bootstrap-vue/src/components/table/helpers/filter-event.js +40 -0
  262. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-bottom-row.js +43 -0
  263. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-busy.js +83 -0
  264. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-caption.js +50 -0
  265. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-colgroup.js +32 -0
  266. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-empty.js +82 -0
  267. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-filtering.js +292 -0
  268. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-items.js +154 -0
  269. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-pagination.js +44 -0
  270. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-provider.js +191 -0
  271. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-selectable.js +213 -0
  272. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-sorting.js +274 -0
  273. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-stacked.js +39 -0
  274. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-table-renderer.js +186 -0
  275. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody-row.js +338 -0
  276. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody.js +243 -0
  277. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-tfoot.js +50 -0
  278. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-thead.js +218 -0
  279. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-top-row.js +42 -0
  280. package/dist/vendor/bootstrap-vue/src/components/table/helpers/normalize-fields.js +86 -0
  281. package/dist/vendor/bootstrap-vue/src/components/table/helpers/sanitize-row.js +31 -0
  282. package/dist/vendor/bootstrap-vue/src/components/table/helpers/stringify-record-values.js +11 -0
  283. package/dist/vendor/bootstrap-vue/src/components/table/helpers/text-selection-active.js +14 -0
  284. package/dist/vendor/bootstrap-vue/src/components/table/index.js +9 -0
  285. package/dist/vendor/bootstrap-vue/src/components/table/table-lite.js +51 -0
  286. package/dist/vendor/bootstrap-vue/src/components/table/table-simple.js +44 -0
  287. package/dist/vendor/bootstrap-vue/src/components/table/table.js +67 -0
  288. package/dist/vendor/bootstrap-vue/src/components/table/tbody.js +116 -0
  289. package/dist/vendor/bootstrap-vue/src/components/table/td.js +204 -0
  290. package/dist/vendor/bootstrap-vue/src/components/table/tfoot.js +96 -0
  291. package/dist/vendor/bootstrap-vue/src/components/table/th.js +26 -0
  292. package/dist/vendor/bootstrap-vue/src/components/table/thead.js +99 -0
  293. package/dist/vendor/bootstrap-vue/src/components/table/tr.js +121 -0
  294. package/dist/vendor/bootstrap-vue/src/components/tabs/index.js +2 -0
  295. package/dist/vendor/bootstrap-vue/src/components/tabs/tab.js +238 -0
  296. package/dist/vendor/bootstrap-vue/src/components/tabs/tabs.js +690 -0
  297. package/dist/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-popper.js +251 -0
  298. package/dist/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip-template.js +118 -0
  299. package/dist/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip.js +932 -0
  300. package/dist/vendor/bootstrap-vue/src/components/tooltip/index.js +1 -0
  301. package/dist/vendor/bootstrap-vue/src/components/tooltip/tooltip.js +337 -0
  302. package/dist/vendor/bootstrap-vue/src/components/transition/bv-transition.js +103 -0
  303. package/dist/vendor/bootstrap-vue/src/components/transporter/transporter.js +205 -0
  304. package/dist/vendor/bootstrap-vue/src/constants/components.js +55 -0
  305. package/dist/vendor/bootstrap-vue/src/constants/config.js +11 -0
  306. package/dist/vendor/bootstrap-vue/src/constants/env.js +36 -0
  307. package/dist/vendor/bootstrap-vue/src/constants/events.js +56 -0
  308. package/dist/vendor/bootstrap-vue/src/constants/key-codes.js +11 -0
  309. package/dist/vendor/bootstrap-vue/src/constants/popper.js +10 -0
  310. package/dist/vendor/bootstrap-vue/src/constants/props.js +24 -0
  311. package/dist/vendor/bootstrap-vue/src/constants/regex.js +35 -0
  312. package/dist/vendor/bootstrap-vue/src/constants/safe-types.js +15 -0
  313. package/dist/vendor/bootstrap-vue/src/constants/slots.js +36 -0
  314. package/dist/vendor/bootstrap-vue/src/directives/modal/index.js +1 -0
  315. package/dist/vendor/bootstrap-vue/src/directives/modal/modal.js +112 -0
  316. package/dist/vendor/bootstrap-vue/src/directives/tooltip/index.js +1 -0
  317. package/dist/vendor/bootstrap-vue/src/directives/tooltip/tooltip.js +267 -0
  318. package/dist/vendor/bootstrap-vue/src/directives/visible/index.js +1 -0
  319. package/dist/vendor/bootstrap-vue/src/directives/visible/visible.js +187 -0
  320. package/dist/vendor/bootstrap-vue/src/mixins/attrs.js +5 -0
  321. package/dist/vendor/bootstrap-vue/src/mixins/click-out.js +54 -0
  322. package/dist/vendor/bootstrap-vue/src/mixins/dropdown.js +470 -0
  323. package/dist/vendor/bootstrap-vue/src/mixins/focus-in.js +46 -0
  324. package/dist/vendor/bootstrap-vue/src/mixins/form-control.js +73 -0
  325. package/dist/vendor/bootstrap-vue/src/mixins/form-custom.js +26 -0
  326. package/dist/vendor/bootstrap-vue/src/mixins/form-options.js +91 -0
  327. package/dist/vendor/bootstrap-vue/src/mixins/form-selection.js +62 -0
  328. package/dist/vendor/bootstrap-vue/src/mixins/form-size.js +26 -0
  329. package/dist/vendor/bootstrap-vue/src/mixins/form-state.js +50 -0
  330. package/dist/vendor/bootstrap-vue/src/mixins/form-text.js +293 -0
  331. package/dist/vendor/bootstrap-vue/src/mixins/form-validity.js +50 -0
  332. package/dist/vendor/bootstrap-vue/src/mixins/has-listener.js +29 -0
  333. package/dist/vendor/bootstrap-vue/src/mixins/id.js +57 -0
  334. package/dist/vendor/bootstrap-vue/src/mixins/listen-on-document.js +62 -0
  335. package/dist/vendor/bootstrap-vue/src/mixins/listen-on-root.js +120 -0
  336. package/dist/vendor/bootstrap-vue/src/mixins/listen-on-window.js +62 -0
  337. package/dist/vendor/bootstrap-vue/src/mixins/listeners.js +25 -0
  338. package/dist/vendor/bootstrap-vue/src/mixins/model.js +10 -0
  339. package/dist/vendor/bootstrap-vue/src/mixins/normalize-slot.js +30 -0
  340. package/dist/vendor/bootstrap-vue/src/mixins/scoped-style.js +18 -0
  341. package/dist/vendor/bootstrap-vue/src/mixins/use-parent.js +14 -0
  342. package/dist/vendor/bootstrap-vue/src/utils/array.js +27 -0
  343. package/dist/vendor/bootstrap-vue/src/utils/bv-event.class.js +60 -0
  344. package/dist/vendor/bootstrap-vue/src/utils/cache.js +60 -0
  345. package/dist/vendor/bootstrap-vue/src/utils/clone-deep.js +18 -0
  346. package/dist/vendor/bootstrap-vue/src/utils/config-set.js +86 -0
  347. package/dist/vendor/bootstrap-vue/src/utils/config.js +71 -0
  348. package/dist/vendor/bootstrap-vue/src/utils/create-new-child-component.js +133 -0
  349. package/dist/vendor/bootstrap-vue/src/utils/css-escape.js +70 -0
  350. package/dist/vendor/bootstrap-vue/src/utils/dom.js +298 -0
  351. package/dist/vendor/bootstrap-vue/src/utils/element-to-vue-instance-registry.js +28 -0
  352. package/dist/vendor/bootstrap-vue/src/utils/env.js +16 -0
  353. package/dist/vendor/bootstrap-vue/src/utils/events.js +78 -0
  354. package/dist/vendor/bootstrap-vue/src/utils/get-event-root.js +5 -0
  355. package/dist/vendor/bootstrap-vue/src/utils/get-instance-from-directive.js +3 -0
  356. package/dist/vendor/bootstrap-vue/src/utils/get-scope-id.js +9 -0
  357. package/dist/vendor/bootstrap-vue/src/utils/get.js +63 -0
  358. package/dist/vendor/bootstrap-vue/src/utils/html.js +16 -0
  359. package/dist/vendor/bootstrap-vue/src/utils/identity.js +3 -0
  360. package/dist/vendor/bootstrap-vue/src/utils/inspect.js +35 -0
  361. package/dist/vendor/bootstrap-vue/src/utils/locale.js +18 -0
  362. package/dist/vendor/bootstrap-vue/src/utils/loose-equal.js +59 -0
  363. package/dist/vendor/bootstrap-vue/src/utils/loose-index-of.js +13 -0
  364. package/dist/vendor/bootstrap-vue/src/utils/math.js +9 -0
  365. package/dist/vendor/bootstrap-vue/src/utils/memoize.js +14 -0
  366. package/dist/vendor/bootstrap-vue/src/utils/model.js +33 -0
  367. package/dist/vendor/bootstrap-vue/src/utils/noop.js +3 -0
  368. package/dist/vendor/bootstrap-vue/src/utils/normalize-slot.js +51 -0
  369. package/dist/vendor/bootstrap-vue/src/utils/number.js +23 -0
  370. package/dist/vendor/bootstrap-vue/src/utils/object.js +72 -0
  371. package/dist/vendor/bootstrap-vue/src/utils/observe-dom.js +76 -0
  372. package/dist/vendor/bootstrap-vue/src/utils/on-instance-destroy.js +22 -0
  373. package/dist/vendor/bootstrap-vue/src/utils/plugins.js +124 -0
  374. package/dist/vendor/bootstrap-vue/src/utils/props.js +67 -0
  375. package/dist/vendor/bootstrap-vue/src/utils/router.js +150 -0
  376. package/dist/vendor/bootstrap-vue/src/utils/safe-vue-instance.js +14 -0
  377. package/dist/vendor/bootstrap-vue/src/utils/stable-sort.js +28 -0
  378. package/dist/vendor/bootstrap-vue/src/utils/string.js +47 -0
  379. package/dist/vendor/bootstrap-vue/src/utils/stringify-object-values.js +31 -0
  380. package/dist/vendor/bootstrap-vue/src/utils/warn.js +45 -0
  381. package/dist/vendor/bootstrap-vue/src/vue.js +55 -0
  382. package/package.json +6 -5
  383. package/src/components/base/link/link.vue +5 -8
  384. package/src/utils/constants.js +0 -3
  385. package/src/utils/vue_utils.js +56 -0
  386. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown.js +2 -2
  387. package/src/vendor/bootstrap-vue/src/components/form-group/form-group.js +2 -2
  388. package/src/vendor/bootstrap-vue/src/components/layout/col.js +2 -2
  389. package/src/vendor/bootstrap-vue/src/components/modal/modal.js +219 -52
  390. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-filtering.js +30 -11
  391. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-selectable.js +3 -3
  392. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-sorting.js +1 -2
  393. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody.js +4 -4
  394. package/src/vendor/bootstrap-vue/src/components/table/helpers/sanitize-row.js +2 -3
  395. package/src/vendor/bootstrap-vue/src/components/tabs/tabs.js +2 -2
  396. package/src/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip.js +8 -9
  397. package/src/vendor/bootstrap-vue/src/constants/config.js +2 -2
  398. package/src/vendor/bootstrap-vue/src/directives/tooltip/tooltip.js +1 -1
  399. package/src/vendor/bootstrap-vue/src/mixins/listen-on-document.js +1 -2
  400. package/src/vendor/bootstrap-vue/src/mixins/listen-on-root.js +1 -2
  401. package/src/vendor/bootstrap-vue/src/mixins/listen-on-window.js +1 -2
  402. package/src/vendor/bootstrap-vue/src/utils/array.js +0 -1
  403. package/src/vendor/bootstrap-vue/src/utils/locale.js +1 -2
@@ -0,0 +1,14 @@
1
+ import { getSel, isElement } from '../../../utils/dom';
2
+
3
+ // Helper to determine if a there is an active text selection on the document page
4
+ // Used to filter out click events caused by the mouse up at end of selection
5
+ //
6
+ // Accepts an element as only argument to test to see if selection overlaps or is
7
+ // contained within the element
8
+ const textSelectionActive = function () {
9
+ let el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;
10
+ const sel = getSel();
11
+ return sel && sel.toString().trim() !== '' && sel.containsNode && isElement(el) ? /* istanbul ignore next */sel.containsNode(el, true) : false;
12
+ };
13
+
14
+ export { textSelectionActive };
@@ -0,0 +1,9 @@
1
+ export { BTable } from './table';
2
+ export { BTableLite } from './table-lite';
3
+ export { BTableSimple } from './table-simple';
4
+ export { BTbody } from './tbody';
5
+ export { BThead } from './thead';
6
+ export { BTfoot } from './tfoot';
7
+ export { BTr } from './tr';
8
+ export { BTd } from './td';
9
+ export { BTh } from './th';
@@ -0,0 +1,51 @@
1
+ import { extend } from '../../vue';
2
+ import { NAME_TABLE_LITE } from '../../constants/components';
3
+ import { sortKeys } from '../../utils/object';
4
+ import { attrsMixin } from '../../mixins/attrs';
5
+ import { hasListenerMixin } from '../../mixins/has-listener';
6
+ import { props as props$1, idMixin } from '../../mixins/id';
7
+ import { normalizeSlotMixin } from '../../mixins/normalize-slot';
8
+ import { props as props$2, captionMixin } from './helpers/mixin-caption';
9
+ import { props as props$3, colgroupMixin } from './helpers/mixin-colgroup';
10
+ import { props as props$4, itemsMixin } from './helpers/mixin-items';
11
+ import { props as props$5, stackedMixin } from './helpers/mixin-stacked';
12
+ import { props as props$6, tableRendererMixin } from './helpers/mixin-table-renderer';
13
+ import { props as props$7, tbodyMixin } from './helpers/mixin-tbody';
14
+ import { props as props$8, tfootMixin } from './helpers/mixin-tfoot';
15
+ import { props as props$9, theadMixin } from './helpers/mixin-thead';
16
+
17
+ // --- Props ---
18
+
19
+ const props = sortKeys({
20
+ ...props$1,
21
+ ...props$2,
22
+ ...props$3,
23
+ ...props$4,
24
+ ...props$5,
25
+ ...props$6,
26
+ ...props$7,
27
+ ...props$8,
28
+ ...props$9
29
+ });
30
+
31
+ // --- Main component ---
32
+
33
+ // @vue/component
34
+ const BTableLite = /*#__PURE__*/extend({
35
+ name: NAME_TABLE_LITE,
36
+ // Order of mixins is important!
37
+ // They are merged from first to last, followed by this component
38
+ mixins: [
39
+ // General mixins
40
+ attrsMixin, hasListenerMixin, idMixin, normalizeSlotMixin,
41
+ // Required table mixins
42
+ itemsMixin, tableRendererMixin, stackedMixin, theadMixin, tfootMixin, tbodyMixin,
43
+ // Table features mixins
44
+ // These are pretty lightweight, and are useful for lightweight tables
45
+ captionMixin, colgroupMixin],
46
+ props
47
+
48
+ // Render function is provided by `tableRendererMixin`
49
+ });
50
+
51
+ export { BTableLite, props };
@@ -0,0 +1,44 @@
1
+ import { extend } from '../../vue';
2
+ import { NAME_TABLE_SIMPLE } from '../../constants/components';
3
+ import { sortKeys } from '../../utils/object';
4
+ import { attrsMixin } from '../../mixins/attrs';
5
+ import { hasListenerMixin } from '../../mixins/has-listener';
6
+ import { props as props$1, idMixin } from '../../mixins/id';
7
+ import { normalizeSlotMixin } from '../../mixins/normalize-slot';
8
+ import { props as props$2, stackedMixin } from './helpers/mixin-stacked';
9
+ import { props as props$3, tableRendererMixin } from './helpers/mixin-table-renderer';
10
+
11
+ // --- Props ---
12
+
13
+ const props = sortKeys({
14
+ ...props$1,
15
+ ...props$2,
16
+ ...props$3
17
+ });
18
+
19
+ // --- Main component ---
20
+
21
+ // @vue/component
22
+ const BTableSimple = /*#__PURE__*/extend({
23
+ name: NAME_TABLE_SIMPLE,
24
+ // Order of mixins is important!
25
+ // They are merged from first to last, followed by this component
26
+ mixins: [
27
+ // General mixins
28
+ attrsMixin, hasListenerMixin, idMixin, normalizeSlotMixin,
29
+ // Required table mixins
30
+ tableRendererMixin,
31
+ // Table features mixins
32
+ // Stacked requires extra handling by users via
33
+ // the table cell `stacked-heading` prop
34
+ stackedMixin],
35
+ props,
36
+ computed: {
37
+ isTableSimple() {
38
+ return true;
39
+ }
40
+ }
41
+ // Render function is provided by `tableRendererMixin`
42
+ });
43
+
44
+ export { BTableSimple, props };
@@ -0,0 +1,67 @@
1
+ import { extend } from '../../vue';
2
+ import { NAME_TABLE } from '../../constants/components';
3
+ import { sortKeys } from '../../utils/object';
4
+ import { attrsMixin } from '../../mixins/attrs';
5
+ import { hasListenerMixin } from '../../mixins/has-listener';
6
+ import { props as props$1, idMixin } from '../../mixins/id';
7
+ import { normalizeSlotMixin } from '../../mixins/normalize-slot';
8
+ import { props as props$2, bottomRowMixin } from './helpers/mixin-bottom-row';
9
+ import { props as props$3, busyMixin } from './helpers/mixin-busy';
10
+ import { props as props$4, captionMixin } from './helpers/mixin-caption';
11
+ import { props as props$5, colgroupMixin } from './helpers/mixin-colgroup';
12
+ import { props as props$6, emptyMixin } from './helpers/mixin-empty';
13
+ import { props as props$7, filteringMixin } from './helpers/mixin-filtering';
14
+ import { props as props$8, itemsMixin } from './helpers/mixin-items';
15
+ import { props as props$9, paginationMixin } from './helpers/mixin-pagination';
16
+ import { props as props$a, providerMixin } from './helpers/mixin-provider';
17
+ import { props as props$b, selectableMixin } from './helpers/mixin-selectable';
18
+ import { props as props$c, sortingMixin } from './helpers/mixin-sorting';
19
+ import { props as props$d, stackedMixin } from './helpers/mixin-stacked';
20
+ import { props as props$e, tableRendererMixin } from './helpers/mixin-table-renderer';
21
+ import { props as props$f, tbodyMixin } from './helpers/mixin-tbody';
22
+ import { props as props$g, tfootMixin } from './helpers/mixin-tfoot';
23
+ import { props as props$h, theadMixin } from './helpers/mixin-thead';
24
+ import { props as props$i, topRowMixin } from './helpers/mixin-top-row';
25
+
26
+ // --- Props ---
27
+
28
+ const props = sortKeys({
29
+ ...props$1,
30
+ ...props$2,
31
+ ...props$3,
32
+ ...props$4,
33
+ ...props$5,
34
+ ...props$6,
35
+ ...props$7,
36
+ ...props$8,
37
+ ...props$9,
38
+ ...props$a,
39
+ ...props$b,
40
+ ...props$c,
41
+ ...props$d,
42
+ ...props$e,
43
+ ...props$f,
44
+ ...props$g,
45
+ ...props$h,
46
+ ...props$i
47
+ });
48
+
49
+ // --- Main component ---
50
+
51
+ // @vue/component
52
+ const BTable = /*#__PURE__*/extend({
53
+ name: NAME_TABLE,
54
+ // Order of mixins is important!
55
+ // They are merged from first to last, followed by this component
56
+ mixins: [
57
+ // General mixins
58
+ attrsMixin, hasListenerMixin, idMixin, normalizeSlotMixin,
59
+ // Required table mixins
60
+ itemsMixin, tableRendererMixin, stackedMixin, theadMixin, tfootMixin, tbodyMixin,
61
+ // Table features mixins
62
+ stackedMixin, filteringMixin, sortingMixin, paginationMixin, captionMixin, colgroupMixin, selectableMixin, emptyMixin, topRowMixin, bottomRowMixin, busyMixin, providerMixin],
63
+ props
64
+ // Render function is provided by `tableRendererMixin`
65
+ });
66
+
67
+ export { BTable, props };
@@ -0,0 +1,116 @@
1
+ import { extend } from '../../vue';
2
+ import { NAME_TBODY } from '../../constants/components';
3
+ import { PROP_TYPE_OBJECT } from '../../constants/props';
4
+ import { attrsMixin } from '../../mixins/attrs';
5
+ import { listenersMixin } from '../../mixins/listeners';
6
+ import { normalizeSlotMixin } from '../../mixins/normalize-slot';
7
+
8
+ // --- Props ---
9
+
10
+ const props = {
11
+ tbodyTransitionHandlers: {
12
+ type: PROP_TYPE_OBJECT,
13
+ required: false,
14
+ default: undefined
15
+ },
16
+ tbodyTransitionProps: {
17
+ type: PROP_TYPE_OBJECT,
18
+ required: false,
19
+ default: undefined
20
+ }
21
+ };
22
+
23
+ // --- Main component ---
24
+
25
+ // TODO:
26
+ // In Bootstrap v5, we won't need "sniffing" as table element variants properly inherit
27
+ // to the child elements, so this can be converted to a functional component
28
+ // @vue/component
29
+ const BTbody = /*#__PURE__*/extend({
30
+ name: NAME_TBODY,
31
+ mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],
32
+ provide() {
33
+ return {
34
+ getBvTableRowGroup: () => this
35
+ };
36
+ },
37
+ inject: {
38
+ // Sniffed by `<b-tr>` / `<b-td>` / `<b-th>`
39
+ getBvTable: {
40
+ default: /* istanbul ignore next */() => () => ({})
41
+ }
42
+ },
43
+ inheritAttrs: false,
44
+ props,
45
+ computed: {
46
+ bvTable() {
47
+ return this.getBvTable();
48
+ },
49
+ // Sniffed by `<b-tr>` / `<b-td>` / `<b-th>`
50
+ isTbody() {
51
+ return true;
52
+ },
53
+ // Sniffed by `<b-tr>` / `<b-td>` / `<b-th>`
54
+ isDark() {
55
+ return this.bvTable.dark;
56
+ },
57
+ // Sniffed by `<b-tr>` / `<b-td>` / `<b-th>`
58
+ isStacked() {
59
+ return this.bvTable.isStacked;
60
+ },
61
+ // Sniffed by `<b-tr>` / `<b-td>` / `<b-th>`
62
+ isResponsive() {
63
+ return this.bvTable.isResponsive;
64
+ },
65
+ // Sniffed by `<b-tr>` / `<b-td>` / `<b-th>`
66
+ // Sticky headers are only supported in thead
67
+ isStickyHeader() {
68
+ return false;
69
+ },
70
+ // Sniffed by `<b-tr>` / `<b-td>` / `<b-th>`
71
+ // Needed to handle header background classes, due to lack of
72
+ // background color inheritance with Bootstrap v4 table CSS
73
+ hasStickyHeader() {
74
+ return !this.isStacked && this.bvTable.stickyHeader;
75
+ },
76
+ // Sniffed by `<b-tr>` / `<b-td>` / `<b-th>`
77
+ tableVariant() {
78
+ return this.bvTable.tableVariant;
79
+ },
80
+ isTransitionGroup() {
81
+ return this.tbodyTransitionProps || this.tbodyTransitionHandlers;
82
+ },
83
+ tbodyAttrs() {
84
+ return {
85
+ role: 'rowgroup',
86
+ ...this.bvAttrs
87
+ };
88
+ },
89
+ tbodyProps() {
90
+ const {
91
+ tbodyTransitionProps
92
+ } = this;
93
+ return tbodyTransitionProps ? {
94
+ ...tbodyTransitionProps,
95
+ tag: 'tbody'
96
+ } : {};
97
+ }
98
+ },
99
+ render(h) {
100
+ const data = {
101
+ props: this.tbodyProps,
102
+ attrs: this.tbodyAttrs
103
+ };
104
+ if (this.isTransitionGroup) {
105
+ // We use native listeners if a transition group for any delegated events
106
+ data.on = this.tbodyTransitionHandlers || {};
107
+ data.nativeOn = this.bvListeners;
108
+ } else {
109
+ // Otherwise we place any listeners on the tbody element
110
+ data.on = this.bvListeners;
111
+ }
112
+ return h(this.isTransitionGroup ? 'transition-group' : 'tbody', data, this.normalizeSlot());
113
+ }
114
+ });
115
+
116
+ export { BTbody, props };
@@ -0,0 +1,204 @@
1
+ import { extend } from '../../vue';
2
+ import { NAME_TABLE_CELL } from '../../constants/components';
3
+ import { PROP_TYPE_NUMBER, PROP_TYPE_STRING, PROP_TYPE_BOOLEAN } from '../../constants/props';
4
+ import { isTag } from '../../utils/dom';
5
+ import { isUndefinedOrNull } from '../../utils/inspect';
6
+ import { toInteger } from '../../utils/number';
7
+ import { toString } from '../../utils/string';
8
+ import { attrsMixin } from '../../mixins/attrs';
9
+ import { listenersMixin } from '../../mixins/listeners';
10
+ import { normalizeSlotMixin } from '../../mixins/normalize-slot';
11
+
12
+ // --- Helper methods ---
13
+
14
+ // Parse a rowspan or colspan into a digit (or `null` if < `1` )
15
+ const parseSpan = value => {
16
+ value = toInteger(value, 0);
17
+ return value > 0 ? value : null;
18
+ };
19
+
20
+ /* istanbul ignore next */
21
+ const spanValidator = value => isUndefinedOrNull(value) || parseSpan(value) > 0;
22
+
23
+ // --- Props ---
24
+
25
+ const props = {
26
+ colspan: {
27
+ type: [PROP_TYPE_NUMBER, PROP_TYPE_STRING],
28
+ required: false,
29
+ default: null,
30
+ validator: spanValidator
31
+ },
32
+ rowspan: {
33
+ type: [PROP_TYPE_NUMBER, PROP_TYPE_STRING],
34
+ required: false,
35
+ default: null,
36
+ validator: spanValidator
37
+ },
38
+ stackedHeading: {
39
+ type: PROP_TYPE_STRING,
40
+ required: false,
41
+ default: undefined
42
+ },
43
+ stickyColumn: {
44
+ type: PROP_TYPE_BOOLEAN,
45
+ required: false,
46
+ default: false
47
+ },
48
+ variant: {
49
+ type: PROP_TYPE_STRING,
50
+ required: false,
51
+ default: undefined
52
+ }
53
+ };
54
+
55
+ // --- Main component ---
56
+
57
+ // TODO:
58
+ // In Bootstrap v5, we won't need "sniffing" as table element variants properly inherit
59
+ // to the child elements, so this can be converted to a functional component
60
+ // @vue/component
61
+ const BTd = /*#__PURE__*/extend({
62
+ name: NAME_TABLE_CELL,
63
+ // Mixin order is important!
64
+ mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],
65
+ inject: {
66
+ getBvTableTr: {
67
+ default: /* istanbul ignore next */() => () => ({})
68
+ }
69
+ },
70
+ inheritAttrs: false,
71
+ props,
72
+ computed: {
73
+ bvTableTr() {
74
+ return this.getBvTableTr();
75
+ },
76
+ // Overridden by `<b-th>`
77
+ tag() {
78
+ return 'td';
79
+ },
80
+ inTbody() {
81
+ return this.bvTableTr.inTbody;
82
+ },
83
+ inThead() {
84
+ return this.bvTableTr.inThead;
85
+ },
86
+ inTfoot() {
87
+ return this.bvTableTr.inTfoot;
88
+ },
89
+ isDark() {
90
+ return this.bvTableTr.isDark;
91
+ },
92
+ isStacked() {
93
+ return this.bvTableTr.isStacked;
94
+ },
95
+ // We only support stacked-heading in tbody in stacked mode
96
+ isStackedCell() {
97
+ return this.inTbody && this.isStacked;
98
+ },
99
+ isResponsive() {
100
+ return this.bvTableTr.isResponsive;
101
+ },
102
+ // Needed to handle header background classes, due to lack of
103
+ // background color inheritance with Bootstrap v4 table CSS
104
+ // Sticky headers only apply to cells in table `thead`
105
+ isStickyHeader() {
106
+ return this.bvTableTr.isStickyHeader;
107
+ },
108
+ // Needed to handle header background classes, due to lack of
109
+ // background color inheritance with Bootstrap v4 table CSS
110
+ hasStickyHeader() {
111
+ return this.bvTableTr.hasStickyHeader;
112
+ },
113
+ // Needed to handle background classes, due to lack of
114
+ // background color inheritance with Bootstrap v4 table CSS
115
+ // Sticky column cells are only available in responsive
116
+ // mode (horizontal scrolling) or when sticky header mode
117
+ // Applies to cells in `thead`, `tbody` and `tfoot`
118
+ isStickyColumn() {
119
+ return !this.isStacked && (this.isResponsive || this.hasStickyHeader) && this.stickyColumn;
120
+ },
121
+ rowVariant() {
122
+ return this.bvTableTr.variant;
123
+ },
124
+ headVariant() {
125
+ return this.bvTableTr.headVariant;
126
+ },
127
+ footVariant() {
128
+ return this.bvTableTr.footVariant;
129
+ },
130
+ tableVariant() {
131
+ return this.bvTableTr.tableVariant;
132
+ },
133
+ computedColspan() {
134
+ return parseSpan(this.colspan);
135
+ },
136
+ computedRowspan() {
137
+ return parseSpan(this.rowspan);
138
+ },
139
+ // We use computed props here for improved performance by caching
140
+ // the results of the string interpolation
141
+ cellClasses() {
142
+ let {
143
+ variant,
144
+ headVariant,
145
+ isStickyColumn
146
+ } = this;
147
+ if (!variant && this.isStickyHeader && !headVariant || !variant && isStickyColumn && this.inTfoot && !this.footVariant || !variant && isStickyColumn && this.inThead && !headVariant || !variant && isStickyColumn && this.inTbody) {
148
+ // Needed for sticky-header mode as Bootstrap v4 table cells do
149
+ // not inherit parent's `background-color`
150
+ variant = this.rowVariant || this.tableVariant || 'b-table-default';
151
+ }
152
+ return [variant ? `${this.isDark ? 'bg' : 'table'}-${variant}` : null, isStickyColumn ? 'b-table-sticky-column' : null];
153
+ },
154
+ cellAttrs() {
155
+ const {
156
+ stackedHeading
157
+ } = this;
158
+
159
+ // We use computed props here for improved performance by caching
160
+ // the results of the object spread (Object.assign)
161
+ const headOrFoot = this.inThead || this.inTfoot;
162
+ // Make sure col/rowspan's are > 0 or null
163
+ const colspan = this.computedColspan;
164
+ const rowspan = this.computedRowspan;
165
+ // Default role and scope
166
+ let role = 'cell';
167
+ let scope = null;
168
+
169
+ // Compute role and scope
170
+ // We only add scopes with an explicit span of 1 or greater
171
+ if (headOrFoot) {
172
+ // Header or footer cells
173
+ role = 'columnheader';
174
+ scope = colspan > 0 ? 'colspan' : 'col';
175
+ } else if (isTag(this.tag, 'th')) {
176
+ // th's in tbody
177
+ role = 'rowheader';
178
+ scope = rowspan > 0 ? 'rowgroup' : 'row';
179
+ }
180
+ return {
181
+ colspan,
182
+ rowspan,
183
+ role,
184
+ scope,
185
+ // Allow users to override role/scope plus add other attributes
186
+ ...this.bvAttrs,
187
+ // Add in the stacked cell label data-attribute if in
188
+ // stacked mode (if a stacked heading label is provided)
189
+ 'data-label': this.isStackedCell && !isUndefinedOrNull(stackedHeading) ? /* istanbul ignore next */toString(stackedHeading) : null
190
+ };
191
+ }
192
+ },
193
+ render(h) {
194
+ const $content = [this.normalizeSlot()];
195
+ return h(this.tag, {
196
+ class: this.cellClasses,
197
+ attrs: this.cellAttrs,
198
+ // Transfer any native listeners
199
+ on: this.bvListeners
200
+ }, [this.isStackedCell ? h('div', [$content]) : $content]);
201
+ }
202
+ });
203
+
204
+ export { BTd, props };
@@ -0,0 +1,96 @@
1
+ import { extend } from '../../vue';
2
+ import { NAME_TFOOT } from '../../constants/components';
3
+ import { PROP_TYPE_STRING } from '../../constants/props';
4
+ import { attrsMixin } from '../../mixins/attrs';
5
+ import { listenersMixin } from '../../mixins/listeners';
6
+ import { normalizeSlotMixin } from '../../mixins/normalize-slot';
7
+
8
+ // --- Props ---
9
+
10
+ const props = {
11
+ // Supported values: 'lite', 'dark', or null
12
+ footVariant: {
13
+ type: PROP_TYPE_STRING,
14
+ required: false,
15
+ default: undefined
16
+ }
17
+ };
18
+
19
+ // --- Main component ---
20
+
21
+ // TODO:
22
+ // In Bootstrap v5, we won't need "sniffing" as table element variants properly inherit
23
+ // to the child elements, so this can be converted to a functional component
24
+ // @vue/component
25
+ const BTfoot = /*#__PURE__*/extend({
26
+ name: NAME_TFOOT,
27
+ mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],
28
+ provide() {
29
+ return {
30
+ getBvTableRowGroup: () => this
31
+ };
32
+ },
33
+ inject: {
34
+ // Sniffed by `<b-tr>` / `<b-td>` / `<b-th>`
35
+ getBvTable: {
36
+ default: /* istanbul ignore next */() => () => ({})
37
+ }
38
+ },
39
+ inheritAttrs: false,
40
+ props,
41
+ computed: {
42
+ bvTable() {
43
+ return this.getBvTable();
44
+ },
45
+ // Sniffed by `<b-tr>` / `<b-td>` / `<b-th>`
46
+ isTfoot() {
47
+ return true;
48
+ },
49
+ // Sniffed by `<b-tr>` / `<b-td>` / `<b-th>`
50
+ isDark() {
51
+ return this.bvTable.dark;
52
+ },
53
+ // Sniffed by `<b-tr>` / `<b-td>` / `<b-th>`
54
+ isStacked() {
55
+ return this.bvTable.isStacked;
56
+ },
57
+ // Sniffed by `<b-tr>` / `<b-td>` / `<b-th>`
58
+ isResponsive() {
59
+ return this.bvTable.isResponsive;
60
+ },
61
+ // Sniffed by `<b-tr>` / `<b-td>` / `<b-th>`
62
+ // Sticky headers are only supported in thead
63
+ isStickyHeader() {
64
+ return false;
65
+ },
66
+ // Sniffed by `<b-tr>` / `<b-td>` / `<b-th>`
67
+ // Needed to handle header background classes, due to lack of
68
+ // background color inheritance with Bootstrap v4 table CSS
69
+ hasStickyHeader() {
70
+ return !this.isStacked && this.bvTable.stickyHeader;
71
+ },
72
+ // Sniffed by `<b-tr>` / `<b-td>` / `<b-th>`
73
+ tableVariant() {
74
+ return this.bvTable.tableVariant;
75
+ },
76
+ tfootClasses() {
77
+ return [this.footVariant ? `thead-${this.footVariant}` : null];
78
+ },
79
+ tfootAttrs() {
80
+ return {
81
+ ...this.bvAttrs,
82
+ role: 'rowgroup'
83
+ };
84
+ }
85
+ },
86
+ render(h) {
87
+ return h('tfoot', {
88
+ class: this.tfootClasses,
89
+ attrs: this.tfootAttrs,
90
+ // Pass down any native listeners
91
+ on: this.bvListeners
92
+ }, this.normalizeSlot());
93
+ }
94
+ });
95
+
96
+ export { BTfoot, props };
@@ -0,0 +1,26 @@
1
+ import { extend } from '../../vue';
2
+ import { NAME_TH } from '../../constants/components';
3
+ import { props as props$1, BTd } from './td';
4
+
5
+ // --- Props ---
6
+
7
+ const props = props$1;
8
+
9
+ // --- Main component ---
10
+
11
+ // TODO:
12
+ // In Bootstrap v5, we won't need "sniffing" as table element variants properly inherit
13
+ // to the child elements, so this can be converted to a functional component
14
+ // @vue/component
15
+ const BTh = /*#__PURE__*/extend({
16
+ name: NAME_TH,
17
+ extends: BTd,
18
+ props,
19
+ computed: {
20
+ tag() {
21
+ return 'th';
22
+ }
23
+ }
24
+ });
25
+
26
+ export { BTh, props };