@gitlab/ui 131.2.0 → 131.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 (402) hide show
  1. package/package.json +11 -11
  2. package/src/components/base/form/form_checkbox/form_checkbox.vue +1 -2
  3. package/src/components/base/form/form_checkbox/form_checkbox_group.vue +1 -1
  4. package/src/components/base/form/form_radio/form_radio.vue +1 -1
  5. package/src/components/base/form/form_radio_group/form_radio_group.vue +1 -1
  6. package/src/components/base/table/table.scss +8 -0
  7. package/src/components/utilities/truncate/truncate.scss +3 -1
  8. package/src/scss/mixins.scss +3 -1
  9. package/src/utils/equality_utils.js +82 -0
  10. package/src/vendor/bootstrap-vue/src/components/button/button-close.js +20 -5
  11. package/src/vendor/bootstrap-vue/src/components/button/button.js +36 -8
  12. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-item.js +12 -4
  13. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-text.js +16 -5
  14. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown.js +99 -24
  15. package/src/vendor/bootstrap-vue/src/components/form/form-text.js +20 -5
  16. package/src/vendor/bootstrap-vue/src/components/form/form.js +20 -5
  17. package/src/vendor/bootstrap-vue/src/components/layout/form-row.js +5 -2
  18. package/src/vendor/bootstrap-vue/src/components/table/tbody.js +10 -3
  19. package/src/vendor/bootstrap-vue/src/components/table/td.js +28 -7
  20. package/src/vendor/bootstrap-vue/src/components/table/tfoot.js +5 -2
  21. package/src/vendor/bootstrap-vue/src/components/table/thead.js +5 -2
  22. package/src/vendor/bootstrap-vue/src/components/table/tr.js +5 -2
  23. package/src/vendor/bootstrap-vue/src/components/tabs/tab.js +51 -12
  24. package/tailwind.defaults.js +10 -1
  25. package/dist/charts.js +0 -13
  26. package/dist/components/base/accordion/accordion.js +0 -69
  27. package/dist/components/base/accordion/accordion_item.js +0 -160
  28. package/dist/components/base/accordion/constants.js +0 -3
  29. package/dist/components/base/alert/alert.js +0 -263
  30. package/dist/components/base/animated_icon/animated_chevron_down_up_icon.js +0 -45
  31. package/dist/components/base/animated_icon/animated_chevron_lg_down_up_icon.js +0 -45
  32. package/dist/components/base/animated_icon/animated_chevron_lg_right_down_icon.js +0 -45
  33. package/dist/components/base/animated_icon/animated_chevron_right_down_icon.js +0 -45
  34. package/dist/components/base/animated_icon/animated_duo_chat_icon.js +0 -45
  35. package/dist/components/base/animated_icon/animated_loader_icon.js +0 -45
  36. package/dist/components/base/animated_icon/animated_notifications_icon.js +0 -45
  37. package/dist/components/base/animated_icon/animated_sidebar_icon.js +0 -45
  38. package/dist/components/base/animated_icon/animated_smile_icon.js +0 -45
  39. package/dist/components/base/animated_icon/animated_sort_icon.js +0 -45
  40. package/dist/components/base/animated_icon/animated_star_icon.js +0 -45
  41. package/dist/components/base/animated_icon/animated_todo_icon.js +0 -45
  42. package/dist/components/base/animated_icon/animated_upload_icon.js +0 -45
  43. package/dist/components/base/animated_icon/base_animated_icon.js +0 -77
  44. package/dist/components/base/attribute_list/attribute_list.js +0 -100
  45. package/dist/components/base/avatar/avatar.js +0 -175
  46. package/dist/components/base/avatar/utils.js +0 -17
  47. package/dist/components/base/avatar_labeled/avatar_labeled.js +0 -198
  48. package/dist/components/base/avatar_link/avatar_link.js +0 -47
  49. package/dist/components/base/avatars_inline/avatars_inline.js +0 -139
  50. package/dist/components/base/badge/badge.js +0 -197
  51. package/dist/components/base/banner/banner.js +0 -149
  52. package/dist/components/base/breadcrumb/breadcrumb.js +0 -282
  53. package/dist/components/base/breadcrumb/breadcrumb_item.js +0 -96
  54. package/dist/components/base/broadcast_message/broadcast_message.js +0 -113
  55. package/dist/components/base/broadcast_message/constants.js +0 -5
  56. package/dist/components/base/button/button.js +0 -419
  57. package/dist/components/base/button_group/button_group.js +0 -53
  58. package/dist/components/base/card/card.js +0 -69
  59. package/dist/components/base/collapse/collapse.js +0 -163
  60. package/dist/components/base/color_mode_toggle/color_mode_toggle.js +0 -92
  61. package/dist/components/base/datepicker/datepicker.js +0 -475
  62. package/dist/components/base/daterange_picker/daterange_picker.js +0 -394
  63. package/dist/components/base/drawer/drawer.js +0 -156
  64. package/dist/components/base/dropdown/dropdown.js +0 -330
  65. package/dist/components/base/dropdown/dropdown_divider.js +0 -48
  66. package/dist/components/base/dropdown/dropdown_form.js +0 -48
  67. package/dist/components/base/dropdown/dropdown_item.js +0 -175
  68. package/dist/components/base/dropdown/dropdown_section_header.js +0 -48
  69. package/dist/components/base/dropdown/dropdown_text.js +0 -48
  70. package/dist/components/base/filtered_search/common_story_options.js +0 -14
  71. package/dist/components/base/filtered_search/filtered_search.js +0 -428
  72. package/dist/components/base/filtered_search/filtered_search_suggestion.js +0 -95
  73. package/dist/components/base/filtered_search/filtered_search_suggestion_list.js +0 -139
  74. package/dist/components/base/filtered_search/filtered_search_term.js +0 -217
  75. package/dist/components/base/filtered_search/filtered_search_token.js +0 -383
  76. package/dist/components/base/filtered_search/filtered_search_token_segment.js +0 -444
  77. package/dist/components/base/filtered_search/filtered_search_utils.js +0 -241
  78. package/dist/components/base/form/form.js +0 -43
  79. package/dist/components/base/form/form_character_count/form_character_count.js +0 -107
  80. package/dist/components/base/form/form_checkbox/form_checkbox.js +0 -343
  81. package/dist/components/base/form/form_checkbox/form_checkbox_group.js +0 -186
  82. package/dist/components/base/form/form_combobox/constants.js +0 -55
  83. package/dist/components/base/form/form_combobox/form_combobox.js +0 -239
  84. package/dist/components/base/form/form_date/form_date.js +0 -143
  85. package/dist/components/base/form/form_fields/form_field_validator.js +0 -93
  86. package/dist/components/base/form/form_fields/form_fields.js +0 -289
  87. package/dist/components/base/form/form_fields/form_fields_loop.js +0 -75
  88. package/dist/components/base/form/form_fields/mappers.js +0 -13
  89. package/dist/components/base/form/form_fields/validators.js +0 -48
  90. package/dist/components/base/form/form_group/form_group.js +0 -119
  91. package/dist/components/base/form/form_input/form_input.js +0 -695
  92. package/dist/components/base/form/form_input_group/form_input_group.js +0 -120
  93. package/dist/components/base/form/form_input_group/form_input_group_mixin.js +0 -41
  94. package/dist/components/base/form/form_radio/form_radio.js +0 -259
  95. package/dist/components/base/form/form_radio_group/form_radio_group.js +0 -187
  96. package/dist/components/base/form/form_select/constants.js +0 -12
  97. package/dist/components/base/form/form_select/form_select.js +0 -96
  98. package/dist/components/base/form/form_textarea/form_textarea.js +0 -166
  99. package/dist/components/base/form/input_group_text/input_group_text.js +0 -43
  100. package/dist/components/base/icon/icon.js +0 -113
  101. package/dist/components/base/illustration/illustration.js +0 -80
  102. package/dist/components/base/infinite_scroll/infinite_scroll.js +0 -196
  103. package/dist/components/base/keyset_pagination/keyset_pagination.js +0 -152
  104. package/dist/components/base/label/label.js +0 -174
  105. package/dist/components/base/link/link.js +0 -332
  106. package/dist/components/base/loading_icon/loading_icon.js +0 -120
  107. package/dist/components/base/markdown/markdown.js +0 -50
  108. package/dist/components/base/modal/modal.js +0 -259
  109. package/dist/components/base/new_dropdowns/base_dropdown/base_dropdown.js +0 -716
  110. package/dist/components/base/new_dropdowns/base_dropdown/constants.js +0 -5
  111. package/dist/components/base/new_dropdowns/base_dropdown/dropdown_container.js +0 -32
  112. package/dist/components/base/new_dropdowns/constants.js +0 -24
  113. package/dist/components/base/new_dropdowns/disclosure/constants.js +0 -8
  114. package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown.js +0 -400
  115. package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown_group.js +0 -112
  116. package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown_item.js +0 -196
  117. package/dist/components/base/new_dropdowns/disclosure/mock_data.js +0 -168
  118. package/dist/components/base/new_dropdowns/disclosure/utils.js +0 -84
  119. package/dist/components/base/new_dropdowns/listbox/listbox.js +0 -997
  120. package/dist/components/base/new_dropdowns/listbox/listbox_group.js +0 -58
  121. package/dist/components/base/new_dropdowns/listbox/listbox_item.js +0 -112
  122. package/dist/components/base/new_dropdowns/listbox/listbox_search_input.js +0 -94
  123. package/dist/components/base/new_dropdowns/listbox/mock_data.js +0 -131
  124. package/dist/components/base/new_dropdowns/listbox/utils.js +0 -33
  125. package/dist/components/base/pagination/pagination.js +0 -397
  126. package/dist/components/base/path/data.js +0 -34
  127. package/dist/components/base/path/path.js +0 -177
  128. package/dist/components/base/popover/popover.js +0 -142
  129. package/dist/components/base/progress_bar/progress_bar.js +0 -117
  130. package/dist/components/base/search_box_by_click/search_box_by_click.js +0 -245
  131. package/dist/components/base/search_box_by_type/search_box_by_type.js +0 -187
  132. package/dist/components/base/segmented_control/segmented_control.js +0 -73
  133. package/dist/components/base/skeleton_loader/skeleton_loader.js +0 -232
  134. package/dist/components/base/sorting/sorting.js +0 -180
  135. package/dist/components/base/table/constants.js +0 -5
  136. package/dist/components/base/table/table.js +0 -187
  137. package/dist/components/base/table_lite/table_lite.js +0 -80
  138. package/dist/components/base/tabs/constants.js +0 -3
  139. package/dist/components/base/tabs/tab/tab.js +0 -113
  140. package/dist/components/base/tabs/tabs/scrollable_tabs.js +0 -162
  141. package/dist/components/base/tabs/tabs/tabs.js +0 -223
  142. package/dist/components/base/toast/index.js +0 -66
  143. package/dist/components/base/toast/toast.js +0 -125
  144. package/dist/components/base/toast/toaster.js +0 -87
  145. package/dist/components/base/toggle/toggle.js +0 -178
  146. package/dist/components/base/token/token.js +0 -97
  147. package/dist/components/base/token_selector/helpers.js +0 -5
  148. package/dist/components/base/token_selector/token_container.js +0 -160
  149. package/dist/components/base/token_selector/token_selector.js +0 -454
  150. package/dist/components/base/token_selector/token_selector_dropdown.js +0 -223
  151. package/dist/components/base/tooltip/tooltip.js +0 -54
  152. package/dist/components/charts/area/area.js +0 -329
  153. package/dist/components/charts/bar/bar.js +0 -207
  154. package/dist/components/charts/chart/chart.js +0 -215
  155. package/dist/components/charts/column/column.js +0 -221
  156. package/dist/components/charts/discrete_scatter/discrete_scatter.js +0 -199
  157. package/dist/components/charts/gauge/gauge.js +0 -205
  158. package/dist/components/charts/heatmap/heatmap.js +0 -299
  159. package/dist/components/charts/heatmap/index.js +0 -2
  160. package/dist/components/charts/legend/legend.js +0 -245
  161. package/dist/components/charts/line/line.js +0 -340
  162. package/dist/components/charts/series_label/series_label.js +0 -101
  163. package/dist/components/charts/shared/tooltip/tooltip.js +0 -369
  164. package/dist/components/charts/shared/tooltip/tooltip_default_format/tooltip_default_format.js +0 -53
  165. package/dist/components/charts/single_stat/single_stat.js +0 -164
  166. package/dist/components/charts/sparkline/sparkline.js +0 -299
  167. package/dist/components/charts/stacked_column/stacked_column.js +0 -380
  168. package/dist/components/dashboards/dashboard_layout/dashboard_layout.js +0 -125
  169. package/dist/components/dashboards/dashboard_layout/grid_layout/grid_layout.js +0 -326
  170. package/dist/components/dashboards/dashboard_layout/validators.js +0 -14
  171. package/dist/components/dashboards/dashboard_panel/dashboard_panel.js +0 -236
  172. package/dist/components/dashboards/mock_data.js +0 -49
  173. package/dist/components/experimental/experiment_badge/constants.js +0 -4
  174. package/dist/components/experimental/experiment_badge/experiment_badge.js +0 -102
  175. package/dist/components/extended/multi_step_form_template/multi_step_form_template.js +0 -87
  176. package/dist/components/index.js +0 -107
  177. package/dist/components/mixins/button_mixin.js +0 -11
  178. package/dist/components/mixins/safe_link_mixin.js +0 -30
  179. package/dist/components/mixins/tooltip_mixin.js +0 -21
  180. package/dist/components/regions/dashboard_skeleton/dashboard_skeleton.js +0 -53
  181. package/dist/components/regions/empty_state/empty_state.js +0 -181
  182. package/dist/components/shared_components/clear_icon_button/clear_icon_button.js +0 -64
  183. package/dist/components/shared_components/clipboard_button/clipboard_button.js +0 -100
  184. package/dist/components/shared_components/close_button/close_button.js +0 -55
  185. package/dist/components/utilities/animated_number/animated_number.js +0 -131
  186. package/dist/components/utilities/friendly_wrap/friendly_wrap.js +0 -75
  187. package/dist/components/utilities/intersection_observer/intersection_observer.js +0 -88
  188. package/dist/components/utilities/intersperse/intersperse.js +0 -104
  189. package/dist/components/utilities/sprintf/sprintf.js +0 -171
  190. package/dist/components/utilities/truncate/constants.js +0 -8
  191. package/dist/components/utilities/truncate/truncate.js +0 -154
  192. package/dist/components/utilities/truncate_text/constants.js +0 -7
  193. package/dist/components/utilities/truncate_text/truncate_text.js +0 -146
  194. package/dist/config.js +0 -53
  195. package/dist/directives/hover_load/hover_load.js +0 -45
  196. package/dist/directives/index.js +0 -8
  197. package/dist/directives/modal.js +0 -1
  198. package/dist/directives/outside/outside.js +0 -149
  199. package/dist/directives/resize_observer/resize_observer.js +0 -58
  200. package/dist/directives/safe_html/constants.js +0 -6
  201. package/dist/directives/safe_html/safe_html.js +0 -39
  202. package/dist/directives/safe_link/mock_data.js +0 -10
  203. package/dist/directives/safe_link/safe_link.js +0 -67
  204. package/dist/directives/tooltip/container.js +0 -7
  205. package/dist/directives/tooltip/tooltip.js +0 -18
  206. package/dist/index.css +0 -7
  207. package/dist/index.css.map +0 -1
  208. package/dist/index.js +0 -2
  209. package/dist/tailwind.css +0 -2
  210. package/dist/tailwind.css.map +0 -1
  211. package/dist/tokens/build/js/tokens.dark.js +0 -1410
  212. package/dist/tokens/build/js/tokens.js +0 -1410
  213. package/dist/tokens/common_story_options.js +0 -29
  214. package/dist/tokens/tokens_story.js +0 -76
  215. package/dist/utils/breakpoints.js +0 -20
  216. package/dist/utils/charts/config.js +0 -616
  217. package/dist/utils/charts/constants.js +0 -69
  218. package/dist/utils/charts/mock_data.js +0 -191
  219. package/dist/utils/charts/story_config.js +0 -24
  220. package/dist/utils/charts/theme.js +0 -200
  221. package/dist/utils/charts/utils.js +0 -54
  222. package/dist/utils/constants.js +0 -333
  223. package/dist/utils/data_utils.js +0 -19
  224. package/dist/utils/datetime_utility.js +0 -61
  225. package/dist/utils/i18n.js +0 -65
  226. package/dist/utils/is_slot_empty.js +0 -34
  227. package/dist/utils/number_utils.js +0 -132
  228. package/dist/utils/play_utils.js +0 -11
  229. package/dist/utils/set_utils.js +0 -25
  230. package/dist/utils/stories_constants.js +0 -29
  231. package/dist/utils/stories_utils.js +0 -62
  232. package/dist/utils/story_decorators/container.js +0 -19
  233. package/dist/utils/string_utils.js +0 -69
  234. package/dist/utils/svgs/svg_paths.js +0 -7
  235. package/dist/utils/test_utils.js +0 -33
  236. package/dist/utils/use_fake_date.js +0 -29
  237. package/dist/utils/use_mock_intersection_observer.js +0 -105
  238. package/dist/utils/utils.js +0 -205
  239. package/dist/utils.js +0 -5
  240. package/dist/vendor/bootstrap-vue/src/bv-config.js +0 -8
  241. package/dist/vendor/bootstrap-vue/src/components/button/button-close.js +0 -66
  242. package/dist/vendor/bootstrap-vue/src/components/button/button.js +0 -176
  243. package/dist/vendor/bootstrap-vue/src/components/button/index.js +0 -2
  244. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-divider.js +0 -41
  245. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-form.js +0 -52
  246. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-group.js +0 -75
  247. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-header.js +0 -52
  248. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-item-button.js +0 -85
  249. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-item.js +0 -89
  250. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-text.js +0 -49
  251. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown.js +0 -195
  252. package/dist/vendor/bootstrap-vue/src/components/dropdown/index.js +0 -8
  253. package/dist/vendor/bootstrap-vue/src/components/form/form-invalid-feedback.js +0 -53
  254. package/dist/vendor/bootstrap-vue/src/components/form/form-text.js +0 -40
  255. package/dist/vendor/bootstrap-vue/src/components/form/form-valid-feedback.js +0 -53
  256. package/dist/vendor/bootstrap-vue/src/components/form/form.js +0 -41
  257. package/dist/vendor/bootstrap-vue/src/components/form/index.js +0 -4
  258. package/dist/vendor/bootstrap-vue/src/components/form-group/form-group.js +0 -348
  259. package/dist/vendor/bootstrap-vue/src/components/form-group/index.js +0 -1
  260. package/dist/vendor/bootstrap-vue/src/components/form-select/form-select-option-group.js +0 -54
  261. package/dist/vendor/bootstrap-vue/src/components/form-select/form-select-option.js +0 -41
  262. package/dist/vendor/bootstrap-vue/src/components/form-select/form-select.js +0 -143
  263. package/dist/vendor/bootstrap-vue/src/components/form-select/helpers/mixin-options.js +0 -56
  264. package/dist/vendor/bootstrap-vue/src/components/form-select/index.js +0 -3
  265. package/dist/vendor/bootstrap-vue/src/components/form-textarea/form-textarea.js +0 -217
  266. package/dist/vendor/bootstrap-vue/src/components/form-textarea/index.js +0 -1
  267. package/dist/vendor/bootstrap-vue/src/components/layout/col.js +0 -156
  268. package/dist/vendor/bootstrap-vue/src/components/layout/form-row.js +0 -31
  269. package/dist/vendor/bootstrap-vue/src/components/layout/index.js +0 -2
  270. package/dist/vendor/bootstrap-vue/src/components/link/index.js +0 -1
  271. package/dist/vendor/bootstrap-vue/src/components/link/link.js +0 -283
  272. package/dist/vendor/bootstrap-vue/src/components/modal/helpers/bv-modal-event.class.js +0 -21
  273. package/dist/vendor/bootstrap-vue/src/components/modal/helpers/modal-manager.js +0 -212
  274. package/dist/vendor/bootstrap-vue/src/components/modal/index.js +0 -1
  275. package/dist/vendor/bootstrap-vue/src/components/modal/modal.js +0 -887
  276. package/dist/vendor/bootstrap-vue/src/components/popover/helpers/bv-popover-template.js +0 -55
  277. package/dist/vendor/bootstrap-vue/src/components/popover/helpers/bv-popover.js +0 -31
  278. package/dist/vendor/bootstrap-vue/src/components/popover/index.js +0 -1
  279. package/dist/vendor/bootstrap-vue/src/components/popover/popover.js +0 -49
  280. package/dist/vendor/bootstrap-vue/src/components/table/helpers/constants.js +0 -22
  281. package/dist/vendor/bootstrap-vue/src/components/table/helpers/default-sort-compare.js +0 -64
  282. package/dist/vendor/bootstrap-vue/src/components/table/helpers/filter-event.js +0 -40
  283. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-bottom-row.js +0 -43
  284. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-busy.js +0 -83
  285. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-caption.js +0 -50
  286. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-colgroup.js +0 -32
  287. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-empty.js +0 -82
  288. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-filtering.js +0 -274
  289. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-items.js +0 -154
  290. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-pagination.js +0 -44
  291. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-provider.js +0 -191
  292. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-selectable.js +0 -213
  293. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-sorting.js +0 -275
  294. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-stacked.js +0 -39
  295. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-table-renderer.js +0 -186
  296. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody-row.js +0 -338
  297. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody.js +0 -243
  298. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-tfoot.js +0 -50
  299. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-thead.js +0 -218
  300. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-top-row.js +0 -42
  301. package/dist/vendor/bootstrap-vue/src/components/table/helpers/normalize-fields.js +0 -86
  302. package/dist/vendor/bootstrap-vue/src/components/table/helpers/sanitize-row.js +0 -32
  303. package/dist/vendor/bootstrap-vue/src/components/table/helpers/stringify-record-values.js +0 -11
  304. package/dist/vendor/bootstrap-vue/src/components/table/helpers/text-selection-active.js +0 -14
  305. package/dist/vendor/bootstrap-vue/src/components/table/index.js +0 -9
  306. package/dist/vendor/bootstrap-vue/src/components/table/table-lite.js +0 -51
  307. package/dist/vendor/bootstrap-vue/src/components/table/table-simple.js +0 -44
  308. package/dist/vendor/bootstrap-vue/src/components/table/table.js +0 -67
  309. package/dist/vendor/bootstrap-vue/src/components/table/tbody.js +0 -109
  310. package/dist/vendor/bootstrap-vue/src/components/table/td.js +0 -183
  311. package/dist/vendor/bootstrap-vue/src/components/table/tfoot.js +0 -93
  312. package/dist/vendor/bootstrap-vue/src/components/table/th.js +0 -26
  313. package/dist/vendor/bootstrap-vue/src/components/table/thead.js +0 -96
  314. package/dist/vendor/bootstrap-vue/src/components/table/tr.js +0 -118
  315. package/dist/vendor/bootstrap-vue/src/components/tabs/index.js +0 -2
  316. package/dist/vendor/bootstrap-vue/src/components/tabs/tab.js +0 -199
  317. package/dist/vendor/bootstrap-vue/src/components/tabs/tabs.js +0 -601
  318. package/dist/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-popper.js +0 -251
  319. package/dist/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip-template.js +0 -118
  320. package/dist/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip.js +0 -932
  321. package/dist/vendor/bootstrap-vue/src/components/tooltip/index.js +0 -1
  322. package/dist/vendor/bootstrap-vue/src/components/tooltip/tooltip.js +0 -269
  323. package/dist/vendor/bootstrap-vue/src/components/transition/bv-transition.js +0 -103
  324. package/dist/vendor/bootstrap-vue/src/components/transporter/transporter.js +0 -205
  325. package/dist/vendor/bootstrap-vue/src/constants/components.js +0 -55
  326. package/dist/vendor/bootstrap-vue/src/constants/config.js +0 -11
  327. package/dist/vendor/bootstrap-vue/src/constants/env.js +0 -36
  328. package/dist/vendor/bootstrap-vue/src/constants/events.js +0 -56
  329. package/dist/vendor/bootstrap-vue/src/constants/key-codes.js +0 -11
  330. package/dist/vendor/bootstrap-vue/src/constants/popper.js +0 -10
  331. package/dist/vendor/bootstrap-vue/src/constants/props.js +0 -24
  332. package/dist/vendor/bootstrap-vue/src/constants/regex.js +0 -35
  333. package/dist/vendor/bootstrap-vue/src/constants/safe-types.js +0 -15
  334. package/dist/vendor/bootstrap-vue/src/constants/slots.js +0 -36
  335. package/dist/vendor/bootstrap-vue/src/directives/modal/index.js +0 -1
  336. package/dist/vendor/bootstrap-vue/src/directives/modal/modal.js +0 -112
  337. package/dist/vendor/bootstrap-vue/src/directives/tooltip/index.js +0 -1
  338. package/dist/vendor/bootstrap-vue/src/directives/tooltip/tooltip.js +0 -265
  339. package/dist/vendor/bootstrap-vue/src/directives/visible/index.js +0 -1
  340. package/dist/vendor/bootstrap-vue/src/directives/visible/visible.js +0 -187
  341. package/dist/vendor/bootstrap-vue/src/mixins/attrs.js +0 -5
  342. package/dist/vendor/bootstrap-vue/src/mixins/click-out.js +0 -54
  343. package/dist/vendor/bootstrap-vue/src/mixins/dropdown.js +0 -470
  344. package/dist/vendor/bootstrap-vue/src/mixins/focus-in.js +0 -46
  345. package/dist/vendor/bootstrap-vue/src/mixins/form-control.js +0 -73
  346. package/dist/vendor/bootstrap-vue/src/mixins/form-custom.js +0 -26
  347. package/dist/vendor/bootstrap-vue/src/mixins/form-options.js +0 -91
  348. package/dist/vendor/bootstrap-vue/src/mixins/form-selection.js +0 -62
  349. package/dist/vendor/bootstrap-vue/src/mixins/form-size.js +0 -26
  350. package/dist/vendor/bootstrap-vue/src/mixins/form-state.js +0 -50
  351. package/dist/vendor/bootstrap-vue/src/mixins/form-text.js +0 -293
  352. package/dist/vendor/bootstrap-vue/src/mixins/form-validity.js +0 -50
  353. package/dist/vendor/bootstrap-vue/src/mixins/has-listener.js +0 -29
  354. package/dist/vendor/bootstrap-vue/src/mixins/id.js +0 -57
  355. package/dist/vendor/bootstrap-vue/src/mixins/listen-on-document.js +0 -63
  356. package/dist/vendor/bootstrap-vue/src/mixins/listen-on-root.js +0 -121
  357. package/dist/vendor/bootstrap-vue/src/mixins/listen-on-window.js +0 -63
  358. package/dist/vendor/bootstrap-vue/src/mixins/listeners.js +0 -25
  359. package/dist/vendor/bootstrap-vue/src/mixins/model.js +0 -10
  360. package/dist/vendor/bootstrap-vue/src/mixins/normalize-slot.js +0 -30
  361. package/dist/vendor/bootstrap-vue/src/mixins/scoped-style.js +0 -18
  362. package/dist/vendor/bootstrap-vue/src/mixins/use-parent.js +0 -14
  363. package/dist/vendor/bootstrap-vue/src/utils/array.js +0 -28
  364. package/dist/vendor/bootstrap-vue/src/utils/bv-event.class.js +0 -60
  365. package/dist/vendor/bootstrap-vue/src/utils/cache.js +0 -60
  366. package/dist/vendor/bootstrap-vue/src/utils/clone-deep.js +0 -18
  367. package/dist/vendor/bootstrap-vue/src/utils/config-set.js +0 -86
  368. package/dist/vendor/bootstrap-vue/src/utils/config.js +0 -71
  369. package/dist/vendor/bootstrap-vue/src/utils/create-new-child-component.js +0 -133
  370. package/dist/vendor/bootstrap-vue/src/utils/css-escape.js +0 -70
  371. package/dist/vendor/bootstrap-vue/src/utils/dom.js +0 -298
  372. package/dist/vendor/bootstrap-vue/src/utils/element-to-vue-instance-registry.js +0 -28
  373. package/dist/vendor/bootstrap-vue/src/utils/env.js +0 -16
  374. package/dist/vendor/bootstrap-vue/src/utils/events.js +0 -78
  375. package/dist/vendor/bootstrap-vue/src/utils/get-event-root.js +0 -5
  376. package/dist/vendor/bootstrap-vue/src/utils/get-instance-from-directive.js +0 -3
  377. package/dist/vendor/bootstrap-vue/src/utils/get-scope-id.js +0 -9
  378. package/dist/vendor/bootstrap-vue/src/utils/get.js +0 -63
  379. package/dist/vendor/bootstrap-vue/src/utils/html.js +0 -16
  380. package/dist/vendor/bootstrap-vue/src/utils/identity.js +0 -3
  381. package/dist/vendor/bootstrap-vue/src/utils/inspect.js +0 -35
  382. package/dist/vendor/bootstrap-vue/src/utils/locale.js +0 -19
  383. package/dist/vendor/bootstrap-vue/src/utils/loose-equal.js +0 -59
  384. package/dist/vendor/bootstrap-vue/src/utils/loose-index-of.js +0 -13
  385. package/dist/vendor/bootstrap-vue/src/utils/math.js +0 -9
  386. package/dist/vendor/bootstrap-vue/src/utils/memoize.js +0 -14
  387. package/dist/vendor/bootstrap-vue/src/utils/model.js +0 -33
  388. package/dist/vendor/bootstrap-vue/src/utils/noop.js +0 -3
  389. package/dist/vendor/bootstrap-vue/src/utils/normalize-slot.js +0 -51
  390. package/dist/vendor/bootstrap-vue/src/utils/number.js +0 -23
  391. package/dist/vendor/bootstrap-vue/src/utils/object.js +0 -72
  392. package/dist/vendor/bootstrap-vue/src/utils/observe-dom.js +0 -76
  393. package/dist/vendor/bootstrap-vue/src/utils/on-instance-destroy.js +0 -22
  394. package/dist/vendor/bootstrap-vue/src/utils/plugins.js +0 -124
  395. package/dist/vendor/bootstrap-vue/src/utils/props.js +0 -67
  396. package/dist/vendor/bootstrap-vue/src/utils/router.js +0 -150
  397. package/dist/vendor/bootstrap-vue/src/utils/safe-vue-instance.js +0 -14
  398. package/dist/vendor/bootstrap-vue/src/utils/stable-sort.js +0 -28
  399. package/dist/vendor/bootstrap-vue/src/utils/string.js +0 -47
  400. package/dist/vendor/bootstrap-vue/src/utils/stringify-object-values.js +0 -31
  401. package/dist/vendor/bootstrap-vue/src/utils/warn.js +0 -45
  402. package/dist/vendor/bootstrap-vue/src/vue.js +0 -55
@@ -1,29 +0,0 @@
1
- /**
2
- * Arg types subcategories to be used to organize props within arg tables
3
- */
4
-
5
- const ARG_TYPE_SUBCATEGORY_LOOK_AND_FEEL = 'Look & feel';
6
- const ARG_TYPE_SUBCATEGORY_STATE = 'State';
7
- const ARG_TYPE_SUBCATEGORY_SEARCH = 'Search';
8
- const ARG_TYPE_SUBCATEGORY_ACCESSIBILITY = 'Accessibility';
9
- const ARG_TYPE_SUBCATEGORY_INFINITE_SCROLL = 'Infinite scroll';
10
-
11
- /**
12
- * These are used to test varying lengths of series names
13
- */
14
- const SERIES_NAME_SHORT = 'SERIES_NAME_SHORT';
15
- const SERIES_NAME_LONG = 'SERIES_NAME_LONG';
16
- const SERIES_NAME_LONG_WITHOUT_SPACES = 'SERIES_NAME_LONG_WITHOUT_SPACES';
17
- const SERIES_NAME = {
18
- [SERIES_NAME_SHORT]: 'Series ',
19
- [SERIES_NAME_LONG]: 'Series name long. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tincidunt interdum sapien ut blandit. Nulla fermentum nisi id euismod vulputate. END',
20
- [SERIES_NAME_LONG_WITHOUT_SPACES]: 'Series_name_long._Lorem_ipsum_dolor_sit_amet,_consectetur_adipiscing_elit._Sed_tincidunt_interdum_sapien_ut_blandit._Nulla_fermentum_nisi_id_euismod_vulputate._END'
21
- };
22
-
23
- /**
24
- * Reused constants for ListBox
25
- */
26
-
27
- const LISTBOX_CONTAINER_HEIGHT = '370px';
28
-
29
- export { ARG_TYPE_SUBCATEGORY_ACCESSIBILITY, ARG_TYPE_SUBCATEGORY_INFINITE_SCROLL, ARG_TYPE_SUBCATEGORY_LOOK_AND_FEEL, ARG_TYPE_SUBCATEGORY_SEARCH, ARG_TYPE_SUBCATEGORY_STATE, LISTBOX_CONTAINER_HEIGHT, SERIES_NAME, SERIES_NAME_LONG, SERIES_NAME_LONG_WITHOUT_SPACES, SERIES_NAME_SHORT };
@@ -1,62 +0,0 @@
1
- /**
2
- * Builds the parameters object disable one or multiple controls.
3
- */
4
- const disableControls = function () {
5
- let controls = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
6
- return Object.fromEntries(controls.map(control => [control, {
7
- control: {
8
- disable: true
9
- }
10
- }]));
11
- };
12
- const getA11yParameters = function () {
13
- let {
14
- skipRules = [],
15
- temporarySkipRules = []
16
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
17
- const skippedRules = skipRules.concat(temporarySkipRules).map(id => ({
18
- id,
19
- enabled: false
20
- }));
21
- return {
22
- config: {
23
- rules: skippedRules
24
- }
25
- };
26
- };
27
-
28
- /**
29
- * Returns a boolean indicating whether the given prop type includes the given type.
30
- *
31
- * Vue itself checks the string tag to avoid cross-realm false negatives, but
32
- * that isn't necessary under Storybook.
33
- *
34
- * @param {(Array|Function)} propType The prop's defined type from a ComponentOptions.props[prop] object.
35
- * @returns {boolean}
36
- */
37
- const isPropType = (propType, Type) => Array.isArray(propType) ? propType.includes(Type) : propType === Type;
38
-
39
- /**
40
- * Returns a function which returns the given prop's default value for the given component.
41
- *
42
- * If the default value is a function, it executes that function to return the
43
- * true default value.
44
- *
45
- * @param {object} ComponentOptions A Vue ComponentOptions object.
46
- */
47
- const propDefaultFactory = ComponentOptions => prop => {
48
- const {
49
- type,
50
- default: defaultValue
51
- } = ComponentOptions.props[prop];
52
- if (typeof defaultValue === 'function' && !isPropType(type, Function)) {
53
- // Note: Vue 2 passes the instance to the `default` function via `this`,
54
- // whereas Vue 3 passes the raw props to it as an argument. Here, we do
55
- // neither, since we have access to neither. See
56
- // https://v3-migration.vuejs.org/breaking-changes/props-default-this.html.
57
- return defaultValue.call(undefined);
58
- }
59
- return defaultValue;
60
- };
61
-
62
- export { disableControls, getA11yParameters, propDefaultFactory };
@@ -1,19 +0,0 @@
1
- /**
2
- * Return a story decorator function, which wraps the given story in a `div`
3
- * element with the given `style` attributes.
4
- *
5
- * @param {object} style The style attribute to apply to the container.
6
- * @return {function} The story decorator.
7
- */
8
- const makeContainer = function (style) {
9
- let tag = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'div';
10
- return Story => ({
11
- render(h) {
12
- return h(tag, {
13
- style
14
- }, [h(Story())]);
15
- }
16
- });
17
- };
18
-
19
- export { makeContainer };
@@ -1,69 +0,0 @@
1
- import emojiRegexFactory from 'emoji-regex';
2
-
3
- /**
4
- * Split the given string after each occurrence of each of the given symbols.
5
- *
6
- * Symbols are strings, and can be of length one or more. Zero-length symbols
7
- * are ignored.
8
- *
9
- * Unlike with `String::split`, the symbol is left in results, with
10
- * the split occurring _after_ the symbol.
11
- *
12
- * For example:
13
- *
14
- * splitAfterSymbols(['/'], 'a/b/c') // ['a/', 'b/', 'c']
15
- * splitAfterSymbols(['foo'], 'foobar') // ['foo', 'bar']
16
- *
17
- * @param {string[]} symbols The symbols to split the string by.
18
- * @param {string} string The string to split.
19
- * @returns {string[]} The resulting strings.
20
- */
21
- const splitAfterSymbols = (symbols, string) => {
22
- const textParts = [];
23
- let textPartStartIndex = 0;
24
- if (string.length === 0) {
25
- return [string];
26
- }
27
- for (let i = 0; i < string.length;) {
28
- let symbolFound = false;
29
- for (let j = 0; j < symbols.length; j += 1) {
30
- const symbol = symbols[j];
31
- if (!symbol) {
32
- // eslint-disable-next-line no-continue
33
- continue;
34
- }
35
- symbolFound = string.slice(i, i + symbol.length) === symbol;
36
- if (symbolFound) {
37
- const textPartEndIndex = i + symbol.length;
38
- const textPart = string.slice(textPartStartIndex, textPartEndIndex);
39
- textParts.push(textPart);
40
- textPartStartIndex = textPartEndIndex;
41
- i = textPartStartIndex;
42
- break;
43
- }
44
- }
45
- if (!symbolFound) {
46
- i += 1;
47
- }
48
- }
49
- const final = string.slice(textPartStartIndex);
50
- if (final) {
51
- textParts.push(final);
52
- }
53
- return textParts;
54
- };
55
- const startsWithEmojiRegex = `^(${emojiRegexFactory().source})`;
56
- const getAvatarChar = name => {
57
- if (name) {
58
- // Check if string starts with an emoji (which could be multiple characters and zero-width joined)
59
- const match = name.match(startsWithEmojiRegex);
60
- if (match) {
61
- // Return the first match
62
- return match[0];
63
- }
64
- return name.charAt(0).toUpperCase();
65
- }
66
- return '';
67
- };
68
-
69
- export { getAvatarChar, splitAfterSymbols };
@@ -1,7 +0,0 @@
1
- const scrollHandleSvgPath = 'path://M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zM6 4a1 1 0 0 0-1 1v6a1 1 0 0 0 2 0V5a1 1 0 0 0-1-1zm4 0a1 1 0 0 0-1 1v6a1 1 0 0 0 2 0V5a1 1 0 0 0-1-1z';
2
- const marqueeSelectionSvgPath = 'path://M-6.251 -7L-7 -7L-7 -4.753A0.749 0.749 0 0 0 -5.502 -4.753L-5.502 -5.502L-4.753 -5.502A0.749 0.749 0 0 0 -4.753 -7L-6.251 -7ZM-6.251 -2.0067A0.749 0.749 0 0 1 -5.502 -1.2577L-5.502 1.239A0.749 0.749 0 1 1 -7 1.239L-7 -1.2577A0.749 0.749 0 0 1 -6.251 -2.0067ZM0.8455 0.8455L2.3505 4.3578L4.3578 2.3505L0.8455 0.8455ZM0.2883 -1.023L5.6251 1.264A0.9987 0.9987 0 0 1 5.9387 2.8888L4.943 3.8835L6.7616 5.703A0.749 0.749 0 1 1 5.703 6.7616L3.8835 4.943L2.8888 5.9387A0.9987 0.9987 0 0 1 1.264 5.6251L-1.023 0.2883C-1.3785 -0.5406 -0.5406 -1.3785 0.2883 -1.023ZM-6.251 6.9813L-7 6.9813L-7 4.7343A0.749 0.749 0 1 1 -5.502 4.7343L-5.502 5.4833L-4.753 5.4833A0.749 0.749 0 1 1 -4.753 6.9813L-6.251 6.9813ZM-2.0067 -6.251A0.749 0.749 0 0 1 -1.2577 -7L1.239 -7A0.749 0.749 0 1 1 1.239 -5.502L-1.2577 -5.502A0.749 0.749 0 0 1 -2.0067 -6.251ZM6.2323 -7L6.9813 -7L6.9813 -4.753A0.749 0.749 0 1 1 5.4833 -4.753L5.4833 -5.502L4.7343 -5.502A0.749 0.749 0 1 1 4.7343 -7L6.2323 -7Z';
3
- const redoSvgPath = 'path://M1.8332 -6.7552A7.0001 7.0001 0 0 0 -5.6875 -4.082L-5.6875 -5.4689A0.6563 0.6563 0 0 0 -7 -5.4689L-7 -1.7501L-3.2812 -1.7501A0.6563 0.6563 0 0 0 -3.2812 -3.0626L-4.7923 -3.0626A5.6876 5.6876 0 1 1 -5.2526 2.1822A0.6563 0.6563 0 0 0 -6.4645 2.6853A7.0001 7.0001 0 1 0 1.8332 -6.7561Z';
4
- const clearAllSvgPath = 'path://M-1.8332 -6.7552A7.0001 7.0001 0 0 1 5.6875 -4.082L5.6875 -5.4689A0.6563 0.6563 0 1 1 7 -5.4689L7 -1.7501L3.2812 -1.7501A0.6563 0.6563 0 1 1 3.2812 -3.0626L4.7923 -3.0626A5.6876 5.6876 0 1 0 5.2526 2.1822A0.6563 0.6563 0 1 1 6.4645 2.6853A7.0001 7.0001 0 1 1 -1.8332 -6.7561Z';
5
- const downloadSvgPath = 'path://M3.78 -0.841A0.75 0.75 0 0 0 2.72 -0.841L0.75 1.129L0.75 -6.25A0.75 0.75 0 0 0 -0.75 -6.25L-0.75 1.129L-2.72 -0.841A0.75 0.75 0 0 0 -3.78 0.219L-0.53 3.469L0 4L0.53 3.47L3.78 0.22A0.75 0.75 0 0 0 3.78 -0.841ZM-5.5 1.75A0.75 0.75 0 0 0 -7 1.75L-7 5A2 2 0 0 0 -5 7L5 7A2 2 0 0 0 7 5L7 1.75A0.75 0.75 0 0 0 5.5 1.75L5.5 5A0.5 0.5 0 0 1 5 5.5L-5 5.5A0.5 0.5 0 0 1 -5.5 5L-5.5 1.75Z';
6
-
7
- export { clearAllSvgPath, downloadSvgPath, marqueeSelectionSvgPath, redoSvgPath, scrollHandleSvgPath };
@@ -1,33 +0,0 @@
1
- /**
2
- * Wrapper around setTimeout which executes immediately in visual tests
3
- * in order to avoid flaky tests
4
- */
5
- function setStoryTimeout(fn, timeout) {
6
- return setTimeout(fn, process.env.IS_VISUAL_TEST ? 0 : timeout);
7
- }
8
-
9
- // adopted this method from Bootstraps utils
10
- // https://github.com/bootstrap-vue/bootstrap-vue/blob/2fd03f0b1d0cc41f9930078ba8b1c16b10e4ac2f/tests/utils.js#L6
11
- const waitForAnimationFrame = () => new Promise(resolve => {
12
- requestAnimationFrame(resolve);
13
- });
14
- const getResetAnimationsCSS = () => `
15
- *, *::after, *::before {
16
- -webkit-transition: none !important;
17
- -moz-transition: none !important;
18
- -ms-transition: none !important;
19
- -o-transition: none !important;
20
- transition: none !important;
21
-
22
- -webkit-animation: none !important;
23
- -moz-animation: none !important;
24
- -ms-animation: none !important;
25
- -o-animation: none !important;
26
- animation: none !important;
27
- }
28
-
29
- input, textarea {
30
- caret-color: transparent !important;
31
- }`;
32
-
33
- export { getResetAnimationsCSS, setStoryTimeout, waitForAnimationFrame };
@@ -1,29 +0,0 @@
1
- import MockDate from 'mockdate';
2
-
3
- /**
4
- * When applied to a story, this mixin mocks the current date to make
5
- * visual tests that rely on the date deterministic
6
- *
7
- * Usage:
8
- *
9
- * import { useFakeDate } from '../../../../tests/utils/use_fake_date';
10
- * documentedStoriesOf('some|story')
11
- * .add('default', () => ({
12
- * mixins: [useFakeDate()],
13
- * })
14
- */
15
- const useFakeDate = () => {
16
- if (process.env.IS_VISUAL_TEST) {
17
- return {
18
- created() {
19
- MockDate.set('2026-01-10', 0);
20
- },
21
- destroyed() {
22
- MockDate.reset();
23
- }
24
- };
25
- }
26
- return {};
27
- };
28
-
29
- export { useFakeDate };
@@ -1,105 +0,0 @@
1
- import { isMatch } from 'lodash-es';
2
-
3
- /* global jest, beforeEach, afterEach */
4
- /* eslint-disable class-methods-use-this, max-classes-per-file */
5
-
6
- /**
7
- * This class gives us a JSDom friendly DOM observer which we can manually trigger in tests
8
- *
9
- * Use this in place of MutationObserver or IntersectionObserver
10
- *
11
- * This class is largely influenced from [a test helper][1] in the main GitLab project
12
- *
13
- * [1]: https://gitlab.com/gitlab-org/gitlab/blob/a123813c63147392b95cd03c4744ae9db0575b0f/spec/frontend/helpers/mock_dom_observer.js#L95
14
- */
15
- class MockObserver {
16
- constructor(cb) {
17
- this.$_cb = cb;
18
- this.$_observers = [];
19
- }
20
- observe(node) {
21
- let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
22
- this.$_observers.push([node, options]);
23
- }
24
- disconnect() {
25
- this.$_observers = [];
26
- }
27
- takeRecords() {}
28
- $_triggerObserve(nodeParam) {
29
- let {
30
- entry = {},
31
- options = {}
32
- } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
33
- const nodes = this.$_getNodesFromParam(nodeParam);
34
- nodes.forEach(node => {
35
- if (this.$_hasObserver(node, options)) {
36
- this.$_cb([{
37
- target: node,
38
- ...entry
39
- }]);
40
- }
41
- });
42
- }
43
- $_hasObserver(node) {
44
- let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
45
- return this.$_observers.some(_ref => {
46
- let [obvNode, obvOptions] = _ref;
47
- return node === obvNode && isMatch(options, obvOptions);
48
- });
49
- }
50
- $_getNodesFromParam(nodeParam) {
51
- if (!nodeParam) {
52
- return this.$_observers.map(_ref2 => {
53
- let [node] = _ref2;
54
- return node;
55
- });
56
- }
57
- if (!Array.isArray(nodeParam)) {
58
- return [nodeParam];
59
- }
60
- return nodeParam;
61
- }
62
- }
63
- class MockIntersectionObserver extends MockObserver {
64
- unobserve(node) {
65
- this.$_observers = this.$_observers.filter(_ref3 => {
66
- let [obvNode] = _ref3;
67
- return node !== obvNode;
68
- });
69
- }
70
- }
71
- const useMockIntersectionObserver = () => {
72
- let instances;
73
- let origObserver;
74
- beforeEach(() => {
75
- instances = [];
76
- origObserver = global.IntersectionObserver;
77
- global.IntersectionObserver = jest.fn().mockImplementation(function () {
78
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
79
- args[_key] = arguments[_key];
80
- }
81
- const mockObserver = new MockIntersectionObserver(...args);
82
- instances.push(mockObserver);
83
- return mockObserver;
84
- });
85
- });
86
- afterEach(() => {
87
- instances = [];
88
- global.IntersectionObserver = origObserver;
89
- });
90
- const trigger = function (observer) {
91
- for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
92
- args[_key2 - 1] = arguments[_key2];
93
- }
94
- observer.$_triggerObserve(...args);
95
- };
96
- const getInstances = () => {
97
- return instances;
98
- };
99
- return {
100
- getInstances,
101
- trigger
102
- };
103
- };
104
-
105
- export { useMockIntersectionObserver };
@@ -1,205 +0,0 @@
1
- import { isVisible } from '../vendor/bootstrap-vue/src/utils/dom';
2
- export { isVisible } from '../vendor/bootstrap-vue/src/utils/dom';
3
- import { COMMA, labelColorOptions, CONTRAST_LEVELS, focusableTags } from './constants';
4
-
5
- function debounceByAnimationFrame(fn) {
6
- let requestId;
7
- return function debounced() {
8
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
9
- args[_key] = arguments[_key];
10
- }
11
- if (requestId) {
12
- window.cancelAnimationFrame(requestId);
13
- }
14
- requestId = window.requestAnimationFrame(() => fn.apply(this, args));
15
- };
16
- }
17
- function throttle(fn) {
18
- let frameId = null;
19
- return function () {
20
- for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
21
- args[_key2] = arguments[_key2];
22
- }
23
- if (frameId) {
24
- return;
25
- }
26
- frameId = window.requestAnimationFrame(() => {
27
- fn(...args);
28
- frameId = null;
29
- });
30
- };
31
- }
32
- function rgbFromHex(hex) {
33
- const cleanHex = hex.replace('#', '');
34
- const rgb = cleanHex.length === 3 ? cleanHex.split('').map(val => val + val) : cleanHex.match(/[\da-f]{2}/gi);
35
- const [r, g, b] = rgb.map(val => parseInt(val, 16));
36
- return [r, g, b];
37
- }
38
- function rgbFromString(color, sub) {
39
- const rgb = color.substring(sub, color.length - 1).split(COMMA);
40
- const [r, g, b] = rgb.map(i => parseInt(i, 10));
41
- return [r, g, b];
42
- }
43
- function hexToRgba(hex) {
44
- let opacity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
45
- const [r, g, b] = rgbFromHex(hex);
46
- return `rgba(${r}, ${g}, ${b}, ${opacity})`;
47
- }
48
- function toSrgb(value) {
49
- const normalized = value / 255;
50
- return normalized <= 0.03928 ? normalized / 12.92 : ((normalized + 0.055) / 1.055) ** 2.4;
51
- }
52
- function relativeLuminance(rgb) {
53
- // WCAG 2.1 formula: https://www.w3.org/TR/WCAG21/#dfn-relative-luminance
54
- // -
55
- // WCAG 3.0 will use APAC
56
- // Using APAC would be the ultimate goal, but was dismissed by engineering as of now
57
- // See https://gitlab.com/gitlab-org/gitlab-ui/-/merge_requests/3418#note_1370107090
58
- return 0.2126 * toSrgb(rgb[0]) + 0.7152 * toSrgb(rgb[1]) + 0.0722 * toSrgb(rgb[2]);
59
- }
60
- function colorFromBackground(backgroundColor) {
61
- let contrastRatio = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2.4;
62
- let color;
63
- const lightColor = rgbFromHex('#FFFFFF');
64
- const darkColor = rgbFromHex('#18171d');
65
- if (backgroundColor.startsWith('#')) {
66
- color = rgbFromHex(backgroundColor);
67
- } else if (backgroundColor.startsWith('rgba(')) {
68
- color = rgbFromString(backgroundColor, 5);
69
- } else if (backgroundColor.startsWith('rgb(')) {
70
- color = rgbFromString(backgroundColor, 4);
71
- }
72
- const luminance = relativeLuminance(color);
73
- const lightLuminance = relativeLuminance(lightColor);
74
- const darkLuminance = relativeLuminance(darkColor);
75
- const contrastLight = (lightLuminance + 0.05) / (luminance + 0.05);
76
- const contrastDark = (luminance + 0.05) / (darkLuminance + 0.05);
77
-
78
- // Using a default threshold contrast of 2.4 instead of 3
79
- // as this will solve weird color combinations in the mid tones
80
- return contrastLight >= contrastRatio || contrastLight > contrastDark ? labelColorOptions.light : labelColorOptions.dark;
81
- }
82
- function getColorContrast(foreground, background) {
83
- // Formula: http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef
84
- const backgroundLuminance = relativeLuminance(rgbFromHex(background)) + 0.05;
85
- const foregroundLuminance = relativeLuminance(rgbFromHex(foreground)) + 0.05;
86
- let score = backgroundLuminance / foregroundLuminance;
87
- if (foregroundLuminance > backgroundLuminance) {
88
- score = 1 / score;
89
- }
90
- const level = CONTRAST_LEVELS.find(_ref => {
91
- let {
92
- min,
93
- max
94
- } = _ref;
95
- return score >= min && score < max;
96
- });
97
- return {
98
- score: (Math.round(score * 10) / 10).toFixed(1),
99
- level
100
- };
101
- }
102
- function uid() {
103
- return Math.random().toString(36).substring(2);
104
- }
105
-
106
- /**
107
- * Receives an element and validates that it can be focused
108
- * @param { HTMLElement } The element we want to validate
109
- * @return { boolean } Is the element focusable
110
- */
111
-
112
- function isElementFocusable(elt) {
113
- if (!elt) return false;
114
- const {
115
- tagName
116
- } = elt;
117
- const isValidTag = focusableTags.includes(tagName);
118
- const hasValidType = elt.getAttribute('type') !== 'hidden';
119
- const isDisabled = elt.getAttribute('disabled') === '' || elt.getAttribute('disabled');
120
- const hasValidZIndex = elt.getAttribute('z-index') !== '-1';
121
- const isInvalidAnchorTag = tagName === 'A' && !elt.getAttribute('href');
122
- return isValidTag && hasValidType && !isDisabled && hasValidZIndex && !isInvalidAnchorTag;
123
- }
124
-
125
- /**
126
- * Receives an element and validates that it is reachable via sequential keyboard navigation
127
- * @param { HTMLElement } The element to validate
128
- * @return { boolean } Is the element focusable in a sequential tab order
129
- */
130
-
131
- function isElementTabbable(el) {
132
- if (!el) return false;
133
- const tabindex = parseInt(el.getAttribute('tabindex'), 10);
134
- return tabindex > -1;
135
- }
136
-
137
- /**
138
- * Receives an array of HTML elements and focus the first one possible
139
- * @param { Array.<HTMLElement> } An array of element to potentially focus
140
- * @return { undefined }
141
- */
142
-
143
- function focusFirstFocusableElement(elts) {
144
- const focusableElt = elts.find(el => isElementFocusable(el));
145
- if (focusableElt) focusableElt.focus();
146
- }
147
-
148
- /**
149
- * Returns true if the current environment is considered a development environment (it's not
150
- * production or test).
151
- *
152
- * @returns {boolean}
153
- */
154
- function isDev() {
155
- return !['test', 'production'].includes(process.env.NODE_ENV);
156
- }
157
-
158
- /**
159
- * Prints a warning message to the console in non-test and non-production environments.
160
- * @param {string} message Message to print to the console.
161
- * @param {Object} [context] Optional object with additional context.
162
- * @param {string} [context.name] The name of the context of the message. Usually the component's name.
163
- * @param {HTMLElement} [context.element] The element relevant to the message.
164
- */
165
- function logWarning(message) {
166
- let context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
167
- if (isDev()) {
168
- const {
169
- name,
170
- element
171
- } = context;
172
- const formattedMessage = name ? `[${name}] ${message}` : message;
173
- const args = element ? [formattedMessage, element] : [formattedMessage];
174
- console.warn(...args); // eslint-disable-line no-console
175
- }
176
- }
177
-
178
- /**
179
- * Stop default event handling and propagation
180
- */
181
- function stopEvent(event) {
182
- let {
183
- preventDefault = true,
184
- stopPropagation = true,
185
- stopImmediatePropagation = false
186
- } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
187
- if (preventDefault) {
188
- event.preventDefault();
189
- }
190
- if (stopPropagation) {
191
- event.stopPropagation();
192
- }
193
- if (stopImmediatePropagation) {
194
- event.stopImmediatePropagation();
195
- }
196
- }
197
-
198
- /**
199
- * Return an Array of visible items
200
- */
201
- function filterVisible(els) {
202
- return (els || []).filter(el => isVisible(el));
203
- }
204
-
205
- export { colorFromBackground, debounceByAnimationFrame, filterVisible, focusFirstFocusableElement, getColorContrast, hexToRgba, isDev, isElementFocusable, isElementTabbable, logWarning, relativeLuminance, rgbFromHex, rgbFromString, stopEvent, throttle, toSrgb, uid };
package/dist/utils.js DELETED
@@ -1,5 +0,0 @@
1
- export { GlBreakpointInstance, breakpoints } from './utils/breakpoints';
2
- import * as validators from './components/base/form/form_fields/validators';
3
- export { validators as formValidators };
4
- import * as mappers from './components/base/form/form_fields/mappers';
5
- export { mappers as formMappers };
@@ -1,8 +0,0 @@
1
- import { pluginFactory } from './utils/plugins';
2
-
3
- //
4
- // Utility Plugin for setting the configuration
5
- //
6
- const BVConfigPlugin = /*#__PURE__*/pluginFactory();
7
-
8
- export { BVConfigPlugin };
@@ -1,66 +0,0 @@
1
- import { extend, mergeData } from '../../vue';
2
- import { NAME_BUTTON_CLOSE } from '../../constants/components';
3
- import { PROP_TYPE_STRING, PROP_TYPE_BOOLEAN } from '../../constants/props';
4
- import { SLOT_NAME_DEFAULT } from '../../constants/slots';
5
- import { stopEvent } from '../../utils/events';
6
- import { isEvent } from '../../utils/inspect';
7
- import { makeProp } from '../../utils/props';
8
- import { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot';
9
-
10
- // --- Props ---
11
-
12
- const props = {
13
- ariaLabel: makeProp(PROP_TYPE_STRING, 'Close'),
14
- content: makeProp(PROP_TYPE_STRING, '&times;'),
15
- disabled: makeProp(PROP_TYPE_BOOLEAN, false),
16
- textVariant: makeProp(PROP_TYPE_STRING)
17
- };
18
-
19
- // --- Main component ---
20
-
21
- // @vue/component
22
- const BButtonClose = /*#__PURE__*/extend({
23
- name: NAME_BUTTON_CLOSE,
24
- functional: true,
25
- props,
26
- render(h, _ref) {
27
- let {
28
- props,
29
- data,
30
- slots,
31
- scopedSlots
32
- } = _ref;
33
- const $slots = slots();
34
- const $scopedSlots = scopedSlots || {};
35
- const componentData = {
36
- staticClass: 'close',
37
- class: {
38
- [`text-${props.textVariant}`]: props.textVariant
39
- },
40
- attrs: {
41
- type: 'button',
42
- disabled: props.disabled,
43
- 'aria-label': props.ariaLabel ? String(props.ariaLabel) : null
44
- },
45
- on: {
46
- click(event) {
47
- // Ensure click on button HTML content is also disabled
48
- /* istanbul ignore if: bug in JSDOM still emits click on inner element */
49
- if (props.disabled && isEvent(event)) {
50
- stopEvent(event);
51
- }
52
- }
53
- }
54
- };
55
-
56
- // Careful not to override the default slot with innerHTML
57
- if (!hasNormalizedSlot(SLOT_NAME_DEFAULT, $scopedSlots, $slots)) {
58
- componentData.domProps = {
59
- innerHTML: props.content
60
- };
61
- }
62
- return h('button', mergeData(data, componentData), normalizeSlot(SLOT_NAME_DEFAULT, {}, $scopedSlots, $slots));
63
- }
64
- });
65
-
66
- export { BButtonClose, props };