@gitlab/ui 131.3.0 → 131.3.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 (384) hide show
  1. package/package.json +4 -4
  2. package/src/components/utilities/truncate/truncate.scss +3 -1
  3. package/src/scss/mixins.scss +3 -1
  4. package/src/vendor/bootstrap-vue/src/components/tooltip/tooltip.js +86 -25
  5. package/tailwind.defaults.js +10 -1
  6. package/dist/charts.js +0 -13
  7. package/dist/components/base/accordion/accordion.js +0 -69
  8. package/dist/components/base/accordion/accordion_item.js +0 -160
  9. package/dist/components/base/accordion/constants.js +0 -3
  10. package/dist/components/base/alert/alert.js +0 -263
  11. package/dist/components/base/animated_icon/animated_chevron_down_up_icon.js +0 -45
  12. package/dist/components/base/animated_icon/animated_chevron_lg_down_up_icon.js +0 -45
  13. package/dist/components/base/animated_icon/animated_chevron_lg_right_down_icon.js +0 -45
  14. package/dist/components/base/animated_icon/animated_chevron_right_down_icon.js +0 -45
  15. package/dist/components/base/animated_icon/animated_duo_chat_icon.js +0 -45
  16. package/dist/components/base/animated_icon/animated_loader_icon.js +0 -45
  17. package/dist/components/base/animated_icon/animated_notifications_icon.js +0 -45
  18. package/dist/components/base/animated_icon/animated_sidebar_icon.js +0 -45
  19. package/dist/components/base/animated_icon/animated_smile_icon.js +0 -45
  20. package/dist/components/base/animated_icon/animated_sort_icon.js +0 -45
  21. package/dist/components/base/animated_icon/animated_star_icon.js +0 -45
  22. package/dist/components/base/animated_icon/animated_todo_icon.js +0 -45
  23. package/dist/components/base/animated_icon/animated_upload_icon.js +0 -45
  24. package/dist/components/base/animated_icon/base_animated_icon.js +0 -77
  25. package/dist/components/base/attribute_list/attribute_list.js +0 -100
  26. package/dist/components/base/avatar/avatar.js +0 -175
  27. package/dist/components/base/avatar/utils.js +0 -17
  28. package/dist/components/base/avatar_labeled/avatar_labeled.js +0 -198
  29. package/dist/components/base/avatar_link/avatar_link.js +0 -47
  30. package/dist/components/base/avatars_inline/avatars_inline.js +0 -139
  31. package/dist/components/base/badge/badge.js +0 -197
  32. package/dist/components/base/banner/banner.js +0 -149
  33. package/dist/components/base/breadcrumb/breadcrumb.js +0 -282
  34. package/dist/components/base/breadcrumb/breadcrumb_item.js +0 -96
  35. package/dist/components/base/broadcast_message/broadcast_message.js +0 -113
  36. package/dist/components/base/broadcast_message/constants.js +0 -5
  37. package/dist/components/base/button/button.js +0 -419
  38. package/dist/components/base/button_group/button_group.js +0 -53
  39. package/dist/components/base/card/card.js +0 -69
  40. package/dist/components/base/collapse/collapse.js +0 -163
  41. package/dist/components/base/color_mode_toggle/color_mode_toggle.js +0 -92
  42. package/dist/components/base/datepicker/datepicker.js +0 -475
  43. package/dist/components/base/daterange_picker/daterange_picker.js +0 -394
  44. package/dist/components/base/drawer/drawer.js +0 -156
  45. package/dist/components/base/dropdown/dropdown.js +0 -330
  46. package/dist/components/base/dropdown/dropdown_divider.js +0 -48
  47. package/dist/components/base/dropdown/dropdown_form.js +0 -48
  48. package/dist/components/base/dropdown/dropdown_item.js +0 -175
  49. package/dist/components/base/dropdown/dropdown_section_header.js +0 -48
  50. package/dist/components/base/dropdown/dropdown_text.js +0 -48
  51. package/dist/components/base/filtered_search/common_story_options.js +0 -14
  52. package/dist/components/base/filtered_search/filtered_search.js +0 -428
  53. package/dist/components/base/filtered_search/filtered_search_suggestion.js +0 -95
  54. package/dist/components/base/filtered_search/filtered_search_suggestion_list.js +0 -139
  55. package/dist/components/base/filtered_search/filtered_search_term.js +0 -217
  56. package/dist/components/base/filtered_search/filtered_search_token.js +0 -383
  57. package/dist/components/base/filtered_search/filtered_search_token_segment.js +0 -444
  58. package/dist/components/base/filtered_search/filtered_search_utils.js +0 -241
  59. package/dist/components/base/form/form.js +0 -43
  60. package/dist/components/base/form/form_character_count/form_character_count.js +0 -107
  61. package/dist/components/base/form/form_checkbox/form_checkbox.js +0 -342
  62. package/dist/components/base/form/form_checkbox/form_checkbox_group.js +0 -186
  63. package/dist/components/base/form/form_combobox/constants.js +0 -55
  64. package/dist/components/base/form/form_combobox/form_combobox.js +0 -239
  65. package/dist/components/base/form/form_date/form_date.js +0 -143
  66. package/dist/components/base/form/form_fields/form_field_validator.js +0 -93
  67. package/dist/components/base/form/form_fields/form_fields.js +0 -289
  68. package/dist/components/base/form/form_fields/form_fields_loop.js +0 -75
  69. package/dist/components/base/form/form_fields/mappers.js +0 -13
  70. package/dist/components/base/form/form_fields/validators.js +0 -48
  71. package/dist/components/base/form/form_group/form_group.js +0 -119
  72. package/dist/components/base/form/form_input/form_input.js +0 -695
  73. package/dist/components/base/form/form_input_group/form_input_group.js +0 -120
  74. package/dist/components/base/form/form_input_group/form_input_group_mixin.js +0 -41
  75. package/dist/components/base/form/form_radio/form_radio.js +0 -259
  76. package/dist/components/base/form/form_radio_group/form_radio_group.js +0 -187
  77. package/dist/components/base/form/form_select/constants.js +0 -12
  78. package/dist/components/base/form/form_select/form_select.js +0 -96
  79. package/dist/components/base/form/form_textarea/form_textarea.js +0 -166
  80. package/dist/components/base/form/input_group_text/input_group_text.js +0 -43
  81. package/dist/components/base/icon/icon.js +0 -113
  82. package/dist/components/base/illustration/illustration.js +0 -80
  83. package/dist/components/base/infinite_scroll/infinite_scroll.js +0 -196
  84. package/dist/components/base/keyset_pagination/keyset_pagination.js +0 -152
  85. package/dist/components/base/label/label.js +0 -174
  86. package/dist/components/base/link/link.js +0 -332
  87. package/dist/components/base/loading_icon/loading_icon.js +0 -120
  88. package/dist/components/base/markdown/markdown.js +0 -50
  89. package/dist/components/base/modal/modal.js +0 -259
  90. package/dist/components/base/new_dropdowns/base_dropdown/base_dropdown.js +0 -716
  91. package/dist/components/base/new_dropdowns/base_dropdown/constants.js +0 -5
  92. package/dist/components/base/new_dropdowns/base_dropdown/dropdown_container.js +0 -32
  93. package/dist/components/base/new_dropdowns/constants.js +0 -24
  94. package/dist/components/base/new_dropdowns/disclosure/constants.js +0 -8
  95. package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown.js +0 -400
  96. package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown_group.js +0 -112
  97. package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown_item.js +0 -196
  98. package/dist/components/base/new_dropdowns/disclosure/mock_data.js +0 -168
  99. package/dist/components/base/new_dropdowns/disclosure/utils.js +0 -84
  100. package/dist/components/base/new_dropdowns/listbox/listbox.js +0 -997
  101. package/dist/components/base/new_dropdowns/listbox/listbox_group.js +0 -58
  102. package/dist/components/base/new_dropdowns/listbox/listbox_item.js +0 -112
  103. package/dist/components/base/new_dropdowns/listbox/listbox_search_input.js +0 -94
  104. package/dist/components/base/new_dropdowns/listbox/mock_data.js +0 -131
  105. package/dist/components/base/new_dropdowns/listbox/utils.js +0 -33
  106. package/dist/components/base/pagination/pagination.js +0 -397
  107. package/dist/components/base/path/data.js +0 -34
  108. package/dist/components/base/path/path.js +0 -177
  109. package/dist/components/base/popover/popover.js +0 -142
  110. package/dist/components/base/progress_bar/progress_bar.js +0 -117
  111. package/dist/components/base/search_box_by_click/search_box_by_click.js +0 -245
  112. package/dist/components/base/search_box_by_type/search_box_by_type.js +0 -187
  113. package/dist/components/base/segmented_control/segmented_control.js +0 -73
  114. package/dist/components/base/skeleton_loader/skeleton_loader.js +0 -232
  115. package/dist/components/base/sorting/sorting.js +0 -180
  116. package/dist/components/base/table/constants.js +0 -5
  117. package/dist/components/base/table/table.js +0 -187
  118. package/dist/components/base/table_lite/table_lite.js +0 -80
  119. package/dist/components/base/tabs/constants.js +0 -3
  120. package/dist/components/base/tabs/tab/tab.js +0 -113
  121. package/dist/components/base/tabs/tabs/scrollable_tabs.js +0 -162
  122. package/dist/components/base/tabs/tabs/tabs.js +0 -223
  123. package/dist/components/base/toast/index.js +0 -66
  124. package/dist/components/base/toast/toast.js +0 -125
  125. package/dist/components/base/toast/toaster.js +0 -87
  126. package/dist/components/base/toggle/toggle.js +0 -178
  127. package/dist/components/base/token/token.js +0 -97
  128. package/dist/components/base/token_selector/helpers.js +0 -5
  129. package/dist/components/base/token_selector/token_container.js +0 -160
  130. package/dist/components/base/token_selector/token_selector.js +0 -454
  131. package/dist/components/base/token_selector/token_selector_dropdown.js +0 -223
  132. package/dist/components/base/tooltip/tooltip.js +0 -54
  133. package/dist/components/charts/area/area.js +0 -329
  134. package/dist/components/charts/bar/bar.js +0 -207
  135. package/dist/components/charts/chart/chart.js +0 -215
  136. package/dist/components/charts/column/column.js +0 -221
  137. package/dist/components/charts/discrete_scatter/discrete_scatter.js +0 -199
  138. package/dist/components/charts/gauge/gauge.js +0 -205
  139. package/dist/components/charts/heatmap/heatmap.js +0 -299
  140. package/dist/components/charts/heatmap/index.js +0 -2
  141. package/dist/components/charts/legend/legend.js +0 -245
  142. package/dist/components/charts/line/line.js +0 -340
  143. package/dist/components/charts/series_label/series_label.js +0 -101
  144. package/dist/components/charts/shared/tooltip/tooltip.js +0 -369
  145. package/dist/components/charts/shared/tooltip/tooltip_default_format/tooltip_default_format.js +0 -53
  146. package/dist/components/charts/single_stat/single_stat.js +0 -164
  147. package/dist/components/charts/sparkline/sparkline.js +0 -299
  148. package/dist/components/charts/stacked_column/stacked_column.js +0 -380
  149. package/dist/components/dashboards/dashboard_layout/dashboard_layout.js +0 -125
  150. package/dist/components/dashboards/dashboard_layout/grid_layout/grid_layout.js +0 -326
  151. package/dist/components/dashboards/dashboard_layout/validators.js +0 -14
  152. package/dist/components/dashboards/dashboard_panel/dashboard_panel.js +0 -236
  153. package/dist/components/dashboards/mock_data.js +0 -49
  154. package/dist/components/experimental/experiment_badge/constants.js +0 -4
  155. package/dist/components/experimental/experiment_badge/experiment_badge.js +0 -102
  156. package/dist/components/extended/multi_step_form_template/multi_step_form_template.js +0 -87
  157. package/dist/components/index.js +0 -107
  158. package/dist/components/mixins/button_mixin.js +0 -11
  159. package/dist/components/mixins/safe_link_mixin.js +0 -30
  160. package/dist/components/mixins/tooltip_mixin.js +0 -21
  161. package/dist/components/regions/dashboard_skeleton/dashboard_skeleton.js +0 -53
  162. package/dist/components/regions/empty_state/empty_state.js +0 -181
  163. package/dist/components/shared_components/clear_icon_button/clear_icon_button.js +0 -64
  164. package/dist/components/shared_components/clipboard_button/clipboard_button.js +0 -100
  165. package/dist/components/shared_components/close_button/close_button.js +0 -55
  166. package/dist/components/utilities/animated_number/animated_number.js +0 -131
  167. package/dist/components/utilities/friendly_wrap/friendly_wrap.js +0 -75
  168. package/dist/components/utilities/intersection_observer/intersection_observer.js +0 -88
  169. package/dist/components/utilities/intersperse/intersperse.js +0 -104
  170. package/dist/components/utilities/sprintf/sprintf.js +0 -171
  171. package/dist/components/utilities/truncate/constants.js +0 -8
  172. package/dist/components/utilities/truncate/truncate.js +0 -154
  173. package/dist/components/utilities/truncate_text/constants.js +0 -7
  174. package/dist/components/utilities/truncate_text/truncate_text.js +0 -146
  175. package/dist/config.js +0 -53
  176. package/dist/directives/hover_load/hover_load.js +0 -45
  177. package/dist/directives/index.js +0 -8
  178. package/dist/directives/modal.js +0 -1
  179. package/dist/directives/outside/outside.js +0 -149
  180. package/dist/directives/resize_observer/resize_observer.js +0 -58
  181. package/dist/directives/safe_html/constants.js +0 -6
  182. package/dist/directives/safe_html/safe_html.js +0 -39
  183. package/dist/directives/safe_link/mock_data.js +0 -10
  184. package/dist/directives/safe_link/safe_link.js +0 -67
  185. package/dist/directives/tooltip/container.js +0 -7
  186. package/dist/directives/tooltip/tooltip.js +0 -18
  187. package/dist/index.css +0 -7
  188. package/dist/index.css.map +0 -1
  189. package/dist/index.js +0 -2
  190. package/dist/tailwind.css +0 -2
  191. package/dist/tailwind.css.map +0 -1
  192. package/dist/tokens/build/js/tokens.dark.js +0 -1410
  193. package/dist/tokens/build/js/tokens.js +0 -1410
  194. package/dist/tokens/common_story_options.js +0 -29
  195. package/dist/tokens/tokens_story.js +0 -76
  196. package/dist/utils/breakpoints.js +0 -20
  197. package/dist/utils/charts/config.js +0 -616
  198. package/dist/utils/charts/constants.js +0 -69
  199. package/dist/utils/charts/mock_data.js +0 -191
  200. package/dist/utils/charts/story_config.js +0 -24
  201. package/dist/utils/charts/theme.js +0 -200
  202. package/dist/utils/charts/utils.js +0 -54
  203. package/dist/utils/constants.js +0 -333
  204. package/dist/utils/data_utils.js +0 -19
  205. package/dist/utils/datetime_utility.js +0 -61
  206. package/dist/utils/equality_utils.js +0 -84
  207. package/dist/utils/i18n.js +0 -65
  208. package/dist/utils/is_slot_empty.js +0 -34
  209. package/dist/utils/number_utils.js +0 -132
  210. package/dist/utils/play_utils.js +0 -11
  211. package/dist/utils/set_utils.js +0 -25
  212. package/dist/utils/stories_constants.js +0 -29
  213. package/dist/utils/stories_utils.js +0 -62
  214. package/dist/utils/story_decorators/container.js +0 -19
  215. package/dist/utils/string_utils.js +0 -69
  216. package/dist/utils/svgs/svg_paths.js +0 -7
  217. package/dist/utils/test_utils.js +0 -33
  218. package/dist/utils/use_fake_date.js +0 -29
  219. package/dist/utils/use_mock_intersection_observer.js +0 -105
  220. package/dist/utils/utils.js +0 -205
  221. package/dist/utils.js +0 -5
  222. package/dist/vendor/bootstrap-vue/src/bv-config.js +0 -8
  223. package/dist/vendor/bootstrap-vue/src/components/button/button-close.js +0 -81
  224. package/dist/vendor/bootstrap-vue/src/components/button/button.js +0 -204
  225. package/dist/vendor/bootstrap-vue/src/components/button/index.js +0 -2
  226. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-divider.js +0 -41
  227. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-form.js +0 -52
  228. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-group.js +0 -75
  229. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-header.js +0 -52
  230. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-item-button.js +0 -85
  231. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-item.js +0 -97
  232. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-text.js +0 -60
  233. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown.js +0 -271
  234. package/dist/vendor/bootstrap-vue/src/components/dropdown/index.js +0 -8
  235. package/dist/vendor/bootstrap-vue/src/components/form/form-invalid-feedback.js +0 -53
  236. package/dist/vendor/bootstrap-vue/src/components/form/form-text.js +0 -55
  237. package/dist/vendor/bootstrap-vue/src/components/form/form-valid-feedback.js +0 -53
  238. package/dist/vendor/bootstrap-vue/src/components/form/form.js +0 -56
  239. package/dist/vendor/bootstrap-vue/src/components/form/index.js +0 -4
  240. package/dist/vendor/bootstrap-vue/src/components/form-group/form-group.js +0 -348
  241. package/dist/vendor/bootstrap-vue/src/components/form-group/index.js +0 -1
  242. package/dist/vendor/bootstrap-vue/src/components/form-select/form-select-option-group.js +0 -54
  243. package/dist/vendor/bootstrap-vue/src/components/form-select/form-select-option.js +0 -41
  244. package/dist/vendor/bootstrap-vue/src/components/form-select/form-select.js +0 -143
  245. package/dist/vendor/bootstrap-vue/src/components/form-select/helpers/mixin-options.js +0 -56
  246. package/dist/vendor/bootstrap-vue/src/components/form-select/index.js +0 -3
  247. package/dist/vendor/bootstrap-vue/src/components/form-textarea/form-textarea.js +0 -217
  248. package/dist/vendor/bootstrap-vue/src/components/form-textarea/index.js +0 -1
  249. package/dist/vendor/bootstrap-vue/src/components/layout/col.js +0 -156
  250. package/dist/vendor/bootstrap-vue/src/components/layout/form-row.js +0 -34
  251. package/dist/vendor/bootstrap-vue/src/components/layout/index.js +0 -2
  252. package/dist/vendor/bootstrap-vue/src/components/link/index.js +0 -1
  253. package/dist/vendor/bootstrap-vue/src/components/link/link.js +0 -283
  254. package/dist/vendor/bootstrap-vue/src/components/modal/helpers/bv-modal-event.class.js +0 -21
  255. package/dist/vendor/bootstrap-vue/src/components/modal/helpers/modal-manager.js +0 -212
  256. package/dist/vendor/bootstrap-vue/src/components/modal/index.js +0 -1
  257. package/dist/vendor/bootstrap-vue/src/components/modal/modal.js +0 -887
  258. package/dist/vendor/bootstrap-vue/src/components/popover/helpers/bv-popover-template.js +0 -55
  259. package/dist/vendor/bootstrap-vue/src/components/popover/helpers/bv-popover.js +0 -31
  260. package/dist/vendor/bootstrap-vue/src/components/popover/index.js +0 -1
  261. package/dist/vendor/bootstrap-vue/src/components/popover/popover.js +0 -49
  262. package/dist/vendor/bootstrap-vue/src/components/table/helpers/constants.js +0 -22
  263. package/dist/vendor/bootstrap-vue/src/components/table/helpers/default-sort-compare.js +0 -64
  264. package/dist/vendor/bootstrap-vue/src/components/table/helpers/filter-event.js +0 -40
  265. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-bottom-row.js +0 -43
  266. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-busy.js +0 -83
  267. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-caption.js +0 -50
  268. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-colgroup.js +0 -32
  269. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-empty.js +0 -82
  270. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-filtering.js +0 -274
  271. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-items.js +0 -154
  272. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-pagination.js +0 -44
  273. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-provider.js +0 -191
  274. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-selectable.js +0 -213
  275. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-sorting.js +0 -275
  276. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-stacked.js +0 -39
  277. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-table-renderer.js +0 -186
  278. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody-row.js +0 -338
  279. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody.js +0 -243
  280. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-tfoot.js +0 -50
  281. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-thead.js +0 -218
  282. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-top-row.js +0 -42
  283. package/dist/vendor/bootstrap-vue/src/components/table/helpers/normalize-fields.js +0 -86
  284. package/dist/vendor/bootstrap-vue/src/components/table/helpers/sanitize-row.js +0 -32
  285. package/dist/vendor/bootstrap-vue/src/components/table/helpers/stringify-record-values.js +0 -11
  286. package/dist/vendor/bootstrap-vue/src/components/table/helpers/text-selection-active.js +0 -14
  287. package/dist/vendor/bootstrap-vue/src/components/table/index.js +0 -9
  288. package/dist/vendor/bootstrap-vue/src/components/table/table-lite.js +0 -51
  289. package/dist/vendor/bootstrap-vue/src/components/table/table-simple.js +0 -44
  290. package/dist/vendor/bootstrap-vue/src/components/table/table.js +0 -67
  291. package/dist/vendor/bootstrap-vue/src/components/table/tbody.js +0 -116
  292. package/dist/vendor/bootstrap-vue/src/components/table/td.js +0 -204
  293. package/dist/vendor/bootstrap-vue/src/components/table/tfoot.js +0 -96
  294. package/dist/vendor/bootstrap-vue/src/components/table/th.js +0 -26
  295. package/dist/vendor/bootstrap-vue/src/components/table/thead.js +0 -99
  296. package/dist/vendor/bootstrap-vue/src/components/table/tr.js +0 -121
  297. package/dist/vendor/bootstrap-vue/src/components/tabs/index.js +0 -2
  298. package/dist/vendor/bootstrap-vue/src/components/tabs/tab.js +0 -238
  299. package/dist/vendor/bootstrap-vue/src/components/tabs/tabs.js +0 -601
  300. package/dist/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-popper.js +0 -251
  301. package/dist/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip-template.js +0 -118
  302. package/dist/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip.js +0 -932
  303. package/dist/vendor/bootstrap-vue/src/components/tooltip/index.js +0 -1
  304. package/dist/vendor/bootstrap-vue/src/components/tooltip/tooltip.js +0 -269
  305. package/dist/vendor/bootstrap-vue/src/components/transition/bv-transition.js +0 -103
  306. package/dist/vendor/bootstrap-vue/src/components/transporter/transporter.js +0 -205
  307. package/dist/vendor/bootstrap-vue/src/constants/components.js +0 -55
  308. package/dist/vendor/bootstrap-vue/src/constants/config.js +0 -11
  309. package/dist/vendor/bootstrap-vue/src/constants/env.js +0 -36
  310. package/dist/vendor/bootstrap-vue/src/constants/events.js +0 -56
  311. package/dist/vendor/bootstrap-vue/src/constants/key-codes.js +0 -11
  312. package/dist/vendor/bootstrap-vue/src/constants/popper.js +0 -10
  313. package/dist/vendor/bootstrap-vue/src/constants/props.js +0 -24
  314. package/dist/vendor/bootstrap-vue/src/constants/regex.js +0 -35
  315. package/dist/vendor/bootstrap-vue/src/constants/safe-types.js +0 -15
  316. package/dist/vendor/bootstrap-vue/src/constants/slots.js +0 -36
  317. package/dist/vendor/bootstrap-vue/src/directives/modal/index.js +0 -1
  318. package/dist/vendor/bootstrap-vue/src/directives/modal/modal.js +0 -112
  319. package/dist/vendor/bootstrap-vue/src/directives/tooltip/index.js +0 -1
  320. package/dist/vendor/bootstrap-vue/src/directives/tooltip/tooltip.js +0 -265
  321. package/dist/vendor/bootstrap-vue/src/directives/visible/index.js +0 -1
  322. package/dist/vendor/bootstrap-vue/src/directives/visible/visible.js +0 -187
  323. package/dist/vendor/bootstrap-vue/src/mixins/attrs.js +0 -5
  324. package/dist/vendor/bootstrap-vue/src/mixins/click-out.js +0 -54
  325. package/dist/vendor/bootstrap-vue/src/mixins/dropdown.js +0 -470
  326. package/dist/vendor/bootstrap-vue/src/mixins/focus-in.js +0 -46
  327. package/dist/vendor/bootstrap-vue/src/mixins/form-control.js +0 -73
  328. package/dist/vendor/bootstrap-vue/src/mixins/form-custom.js +0 -26
  329. package/dist/vendor/bootstrap-vue/src/mixins/form-options.js +0 -91
  330. package/dist/vendor/bootstrap-vue/src/mixins/form-selection.js +0 -62
  331. package/dist/vendor/bootstrap-vue/src/mixins/form-size.js +0 -26
  332. package/dist/vendor/bootstrap-vue/src/mixins/form-state.js +0 -50
  333. package/dist/vendor/bootstrap-vue/src/mixins/form-text.js +0 -293
  334. package/dist/vendor/bootstrap-vue/src/mixins/form-validity.js +0 -50
  335. package/dist/vendor/bootstrap-vue/src/mixins/has-listener.js +0 -29
  336. package/dist/vendor/bootstrap-vue/src/mixins/id.js +0 -57
  337. package/dist/vendor/bootstrap-vue/src/mixins/listen-on-document.js +0 -63
  338. package/dist/vendor/bootstrap-vue/src/mixins/listen-on-root.js +0 -121
  339. package/dist/vendor/bootstrap-vue/src/mixins/listen-on-window.js +0 -63
  340. package/dist/vendor/bootstrap-vue/src/mixins/listeners.js +0 -25
  341. package/dist/vendor/bootstrap-vue/src/mixins/model.js +0 -10
  342. package/dist/vendor/bootstrap-vue/src/mixins/normalize-slot.js +0 -30
  343. package/dist/vendor/bootstrap-vue/src/mixins/scoped-style.js +0 -18
  344. package/dist/vendor/bootstrap-vue/src/mixins/use-parent.js +0 -14
  345. package/dist/vendor/bootstrap-vue/src/utils/array.js +0 -28
  346. package/dist/vendor/bootstrap-vue/src/utils/bv-event.class.js +0 -60
  347. package/dist/vendor/bootstrap-vue/src/utils/cache.js +0 -60
  348. package/dist/vendor/bootstrap-vue/src/utils/clone-deep.js +0 -18
  349. package/dist/vendor/bootstrap-vue/src/utils/config-set.js +0 -86
  350. package/dist/vendor/bootstrap-vue/src/utils/config.js +0 -71
  351. package/dist/vendor/bootstrap-vue/src/utils/create-new-child-component.js +0 -133
  352. package/dist/vendor/bootstrap-vue/src/utils/css-escape.js +0 -70
  353. package/dist/vendor/bootstrap-vue/src/utils/dom.js +0 -298
  354. package/dist/vendor/bootstrap-vue/src/utils/element-to-vue-instance-registry.js +0 -28
  355. package/dist/vendor/bootstrap-vue/src/utils/env.js +0 -16
  356. package/dist/vendor/bootstrap-vue/src/utils/events.js +0 -78
  357. package/dist/vendor/bootstrap-vue/src/utils/get-event-root.js +0 -5
  358. package/dist/vendor/bootstrap-vue/src/utils/get-instance-from-directive.js +0 -3
  359. package/dist/vendor/bootstrap-vue/src/utils/get-scope-id.js +0 -9
  360. package/dist/vendor/bootstrap-vue/src/utils/get.js +0 -63
  361. package/dist/vendor/bootstrap-vue/src/utils/html.js +0 -16
  362. package/dist/vendor/bootstrap-vue/src/utils/identity.js +0 -3
  363. package/dist/vendor/bootstrap-vue/src/utils/inspect.js +0 -35
  364. package/dist/vendor/bootstrap-vue/src/utils/locale.js +0 -19
  365. package/dist/vendor/bootstrap-vue/src/utils/loose-equal.js +0 -59
  366. package/dist/vendor/bootstrap-vue/src/utils/loose-index-of.js +0 -13
  367. package/dist/vendor/bootstrap-vue/src/utils/math.js +0 -9
  368. package/dist/vendor/bootstrap-vue/src/utils/memoize.js +0 -14
  369. package/dist/vendor/bootstrap-vue/src/utils/model.js +0 -33
  370. package/dist/vendor/bootstrap-vue/src/utils/noop.js +0 -3
  371. package/dist/vendor/bootstrap-vue/src/utils/normalize-slot.js +0 -51
  372. package/dist/vendor/bootstrap-vue/src/utils/number.js +0 -23
  373. package/dist/vendor/bootstrap-vue/src/utils/object.js +0 -72
  374. package/dist/vendor/bootstrap-vue/src/utils/observe-dom.js +0 -76
  375. package/dist/vendor/bootstrap-vue/src/utils/on-instance-destroy.js +0 -22
  376. package/dist/vendor/bootstrap-vue/src/utils/plugins.js +0 -124
  377. package/dist/vendor/bootstrap-vue/src/utils/props.js +0 -67
  378. package/dist/vendor/bootstrap-vue/src/utils/router.js +0 -150
  379. package/dist/vendor/bootstrap-vue/src/utils/safe-vue-instance.js +0 -14
  380. package/dist/vendor/bootstrap-vue/src/utils/stable-sort.js +0 -28
  381. package/dist/vendor/bootstrap-vue/src/utils/string.js +0 -47
  382. package/dist/vendor/bootstrap-vue/src/utils/stringify-object-values.js +0 -31
  383. package/dist/vendor/bootstrap-vue/src/utils/warn.js +0 -45
  384. package/dist/vendor/bootstrap-vue/src/vue.js +0 -55
@@ -1,333 +0,0 @@
1
- import Vue from 'vue';
2
- import { POSITION } from '../components/utilities/truncate/constants';
3
-
4
- const COMMA = ',';
5
- const CONTRAST_LEVELS = [{
6
- grade: 'F',
7
- min: 0,
8
- max: 3
9
- }, {
10
- grade: 'AA+',
11
- min: 3,
12
- max: 4.5
13
- }, {
14
- grade: 'AA',
15
- min: 4.5,
16
- max: 7
17
- }, {
18
- grade: 'AAA',
19
- min: 7,
20
- max: 22
21
- }];
22
- const HEX_REGEX = /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/;
23
- const LEFT_MOUSE_BUTTON = 0;
24
- const progressBarVariantOptions = {
25
- primary: 'primary',
26
- success: 'success',
27
- warning: 'warning',
28
- danger: 'danger'
29
- };
30
- const badgeSizeOptions = {
31
- sm: 'sm',
32
- md: 'md',
33
- lg: 'lg'
34
- };
35
- const badgeVariantOptions = {
36
- neutral: 'neutral',
37
- info: 'info',
38
- success: 'success',
39
- warning: 'warning',
40
- danger: 'danger',
41
- tier: 'tier'
42
- };
43
- const badgeIconSizeOptions = {
44
- sm: 12,
45
- md: 16
46
- };
47
- const variantCssColorMap = {
48
- muted: 'gl-text-gray-500',
49
- neutral: 'gl-text-blue-100',
50
- info: 'gl-text-blue-500',
51
- success: 'gl-text-green-500',
52
- warning: 'gl-text-orange-500',
53
- danger: 'gl-text-red-500'
54
- };
55
- const targetOptions = ['_self', '_blank', '_parent', '_top', null];
56
- const viewModeOptions = {
57
- dark: 'dark',
58
- light: 'light'
59
- };
60
- const labelColorOptions = {
61
- ...viewModeOptions
62
- };
63
- const avatarSizeOptions = [96, 64, 48, 32, 24, 16];
64
- const avatarsInlineSizeOptions = [32, 24, 16];
65
- const avatarShapeOptions = {
66
- circle: 'circle',
67
- rect: 'rect'
68
- };
69
- const formStateOptions = {
70
- default: null,
71
- valid: true,
72
- invalid: false
73
- };
74
- const breadCrumbSizeOptions = {
75
- sm: 'sm',
76
- md: 'md'
77
- };
78
- const buttonCategoryOptions = {
79
- primary: 'primary',
80
- secondary: 'secondary',
81
- tertiary: 'tertiary'
82
- };
83
- const buttonVariantOptions = {
84
- default: 'default',
85
- confirm: 'confirm',
86
- danger: 'danger',
87
- link: 'link',
88
- /**
89
- * The "reset" variant can be used when customization of GlButton styles is required
90
- * (e.g. for the "close" button in GlLabel).
91
- * It should be used sparingly and only when other approaches fail.
92
- * Prefer supported variants where ever possible.
93
- */
94
- reset: 'gl-reset'
95
- };
96
- const badgeForButtonOptions = {
97
- [buttonVariantOptions.default]: badgeVariantOptions.neutral,
98
- [buttonVariantOptions.confirm]: badgeVariantOptions.info,
99
- [buttonVariantOptions.danger]: badgeVariantOptions.danger
100
- };
101
- const dropdownVariantOptions = {
102
- default: 'default',
103
- confirm: 'confirm',
104
- info: 'info (deprecated)',
105
- danger: 'danger',
106
- link: 'link'
107
- };
108
- const dropdownItemVariantOptions = {
109
- default: 'default',
110
- danger: 'danger'
111
- };
112
- const dropdownPlacements = {
113
- 'right-start': 'right-start',
114
- 'bottom-start': 'bottom-start',
115
- 'bottom-end': 'bottom-end',
116
- bottom: 'bottom',
117
- left: 'bottom-start',
118
- // deprecated, should be replaced with "bottom-start"
119
- center: 'bottom',
120
- // deprecated, should be replaced with "bottom"
121
- right: 'bottom-end' // deprecated, should be replaced with "bottom-end"
122
- };
123
- const dropdownHorizontalCornerPlacement = ['right-start', 'right-end', 'left-start', 'left-end'];
124
- const dropdownVerticalCornerPlacement = ['bottom-start', 'top-start', 'bottom-end', 'top-end'];
125
- const dropdownAllowedAutoPlacements = {
126
- 'right-start': dropdownHorizontalCornerPlacement,
127
- 'bottom-start': dropdownVerticalCornerPlacement,
128
- 'bottom-end': dropdownVerticalCornerPlacement,
129
- bottom: ['bottom', 'top'],
130
- left: dropdownVerticalCornerPlacement,
131
- // deprecated, should be replaced with "bottom-start"
132
- center: ['bottom', 'top'],
133
- // deprecated, should be replaced with "bottom"
134
- right: dropdownVerticalCornerPlacement // deprecated, should be replaced with "bottom-end"
135
- };
136
- const buttonSizeOptions = {
137
- small: 'sm',
138
- medium: 'md'
139
- };
140
- const datepickerWidthOptionsMap = {
141
- sm: 'sm',
142
- md: 'md',
143
- lg: 'lg',
144
- xl: 'xl'
145
- };
146
-
147
- // size options all have corresponding styles (e.g. .s12 defined in icon.scss)
148
- const iconSizeOptions = [8, 12, 14, 16, 24, 32, 48, 72];
149
- const iconVariantOptions = {
150
- current: 'gl-fill-current',
151
- default: 'gl-fill-icon-default',
152
- subtle: 'gl-fill-icon-subtle',
153
- strong: 'gl-fill-icon-strong',
154
- disabled: 'gl-fill-icon-disabled',
155
- link: 'gl-fill-icon-link',
156
- info: 'gl-fill-icon-info',
157
- warning: 'gl-fill-icon-warning',
158
- danger: 'gl-fill-icon-danger',
159
- success: 'gl-fill-icon-success'
160
- };
161
- const animatedIconVariantOptions = {
162
- current: 'gl-animated-icon-current',
163
- default: 'gl-animated-icon-default',
164
- subtle: 'gl-animated-icon-subtle',
165
- strong: 'gl-animated-icon-strong',
166
- disabled: 'gl-animated-icon-disabled',
167
- link: 'gl-animated-icon-link',
168
- info: 'gl-animated-icon-info',
169
- warning: 'gl-animated-icon-warning',
170
- danger: 'gl-animated-icon-danger',
171
- success: 'gl-animated-icon-success'
172
- };
173
-
174
- /**
175
- * Maps badge variants to their corresponding icon variants.
176
- * Used by GlSingleStat to ensure icons match the semantic meaning of their badge variant.
177
- */
178
- const badgeVariantToIconVariantMap = {
179
- neutral: 'default',
180
- info: 'info',
181
- success: 'success',
182
- warning: 'warning',
183
- danger: 'danger',
184
- tier: 'default'
185
- };
186
- const linkVariantInline = 'inline';
187
- const linkVariantMeta = 'meta';
188
- const linkVariantMention = 'mention';
189
- const linkVariantMentionCurrent = 'mentionCurrent';
190
- const linkVariantUnstyled = 'unstyled';
191
- const linkVariantOptions = {
192
- [linkVariantInline]: 'gl-link-inline',
193
- [linkVariantMeta]: 'gl-link-meta',
194
- [linkVariantMention]: 'gl-link-mention',
195
- [linkVariantMentionCurrent]: 'gl-link-mention-current',
196
- [linkVariantUnstyled]: ''
197
- };
198
- const triggerVariantOptions = {
199
- click: 'click',
200
- hover: 'hover',
201
- focus: 'focus'
202
- };
203
- const tooltipPlacements = {
204
- top: 'top',
205
- left: 'left',
206
- right: 'right',
207
- bottom: 'bottom'
208
- };
209
- const popoverPlacements = {
210
- top: 'top',
211
- right: 'right',
212
- bottom: 'bottom',
213
- left: 'left'
214
- };
215
- const stackedPresentationOptions = {
216
- stacked: 'stacked',
217
- tiled: 'tiled'
218
- };
219
- const alignOptions = {
220
- left: 'left',
221
- center: 'center',
222
- right: 'right',
223
- fill: 'fill'
224
- };
225
- const alertVariantOptions = {
226
- success: 'success',
227
- warning: 'warning',
228
- danger: 'danger',
229
- info: 'info',
230
- tip: 'tip'
231
- };
232
- const alertVariantIconMap = {
233
- success: 'check-circle',
234
- warning: 'warning',
235
- danger: 'error',
236
- info: 'information-o',
237
- tip: 'bulb'
238
- };
239
- const colorThemes = {
240
- indigo: 'theme-indigo-900',
241
- 'light-indigo': 'theme-indigo-700',
242
- blue: 'theme-blue-900',
243
- 'light-blue': 'theme-blue-700',
244
- green: 'theme-green-900',
245
- 'light-green': 'theme-green-700',
246
- red: 'theme-red-900',
247
- 'light-red': 'theme-red-700',
248
- dark: 'gray-900',
249
- light: 'gray-700'
250
- };
251
- const modalButtonDefaults = {
252
- actionPrimary: {
253
- variant: 'confirm',
254
- category: 'primary'
255
- },
256
- actionSecondary: {
257
- variant: 'confirm',
258
- category: 'secondary'
259
- },
260
- actionCancel: {
261
- variant: 'default'
262
- }
263
- };
264
- const tabsButtonDefaults = {
265
- actionPrimary: {
266
- variant: 'confirm',
267
- category: 'primary'
268
- },
269
- actionSecondary: {
270
- variant: 'default',
271
- category: 'secondary'
272
- },
273
- actionTertiary: {
274
- variant: 'default'
275
- }
276
- };
277
- const tokenVariants = ['default', 'search-type', 'search-value'];
278
- const resizeDebounceTime = 200;
279
-
280
- // Datetime constants
281
- const defaultDateFormat = 'YYYY-MM-DD';
282
- const bannerVariants = ['promotion', 'introduction'];
283
- const maxZIndex = 10;
284
- const modalSizeOptions = {
285
- sm: 'sm',
286
- md: 'md',
287
- lg: 'lg'
288
- };
289
- const focusableTags = ['INPUT', 'TEXTAREA', 'A', 'BUTTON', 'SELECT'];
290
- const keyboard = {
291
- escape: 'Escape',
292
- backspace: 'Backspace',
293
- delete: 'Delete',
294
- left: 'Left',
295
- arrowLeft: 'ArrowLeft',
296
- right: 'Right',
297
- arrowRight: 'ArrowRight',
298
- home: 'Home',
299
- end: 'End',
300
- tab: 'Tab'
301
- };
302
- const truncateOptions = POSITION;
303
- const formInputWidths = {
304
- xs: 'xs',
305
- sm: 'sm',
306
- md: 'md',
307
- lg: 'lg',
308
- xl: 'xl',
309
- '(unset or null)': null
310
- };
311
- const toggleLabelPosition = {
312
- hidden: 'hidden',
313
- left: 'left',
314
- top: 'top'
315
- };
316
- const tooltipActionEvents = ['open', 'close', 'enable', 'disable'];
317
- const drawerVariants = {
318
- default: 'default',
319
- sidebar: 'sidebar'
320
- };
321
- const loadingIconSizes = {
322
- 'sm (16x16)': 'sm',
323
- 'md (24x24)': 'md',
324
- 'lg (32x32)': 'lg',
325
- 'xl (64x64)': 'xl'
326
- };
327
- const loadingIconVariants = {
328
- spinner: 'spinner',
329
- dots: 'dots'
330
- };
331
- const isVue3 = Boolean(Vue.Fragment);
332
-
333
- export { COMMA, CONTRAST_LEVELS, HEX_REGEX, LEFT_MOUSE_BUTTON, alertVariantIconMap, alertVariantOptions, alignOptions, animatedIconVariantOptions, avatarShapeOptions, avatarSizeOptions, avatarsInlineSizeOptions, badgeForButtonOptions, badgeIconSizeOptions, badgeSizeOptions, badgeVariantOptions, badgeVariantToIconVariantMap, bannerVariants, breadCrumbSizeOptions, buttonCategoryOptions, buttonSizeOptions, buttonVariantOptions, colorThemes, datepickerWidthOptionsMap, defaultDateFormat, drawerVariants, dropdownAllowedAutoPlacements, dropdownItemVariantOptions, dropdownPlacements, dropdownVariantOptions, focusableTags, formInputWidths, formStateOptions, iconSizeOptions, iconVariantOptions, isVue3, keyboard, labelColorOptions, linkVariantInline, linkVariantMention, linkVariantMentionCurrent, linkVariantMeta, linkVariantOptions, linkVariantUnstyled, loadingIconSizes, loadingIconVariants, maxZIndex, modalButtonDefaults, modalSizeOptions, popoverPlacements, progressBarVariantOptions, resizeDebounceTime, stackedPresentationOptions, tabsButtonDefaults, targetOptions, toggleLabelPosition, tokenVariants, tooltipActionEvents, tooltipPlacements, triggerVariantOptions, truncateOptions, variantCssColorMap, viewModeOptions };
@@ -1,19 +0,0 @@
1
- const getRepeatingValue = index => {
2
- const values = [100, 500, 400, 200, 100, 800, 400, 500, 600, 300, 800, 900, 110, 700, 400, 300, 500, 300, 400, 600, 700];
3
- return index < values.length ? values[index] : values[index % values.length];
4
- };
5
- const generateTimeSeries = () => new Array(100).fill(0).map((el, i) => [new Date(2018, 0, i), getRepeatingValue(i)]);
6
-
7
- // takes an element and a list and `intersperses' that element between the elements of the list.
8
- // (',' ['a', 'b', 'c']) -> ['a', ',', 'b', ',', 'c']
9
- const intersperse = (separator, items) => {
10
- const [head, ...rest] = items;
11
- const separatorFactory = typeof separator === 'function' ? separator : () => separator;
12
- return [head, ...rest.flatMap(item => [separatorFactory(), item], rest)];
13
- };
14
-
15
- // inserts a value at a given index into an array
16
- // (1, 2, [1, 3, 4]) -> [1, 2, 3, 4]
17
- const insert = (index, newItem, items) => [...items.slice(0, index), newItem, ...items.slice(index)];
18
-
19
- export { generateTimeSeries, insert, intersperse };
@@ -1,61 +0,0 @@
1
- // These utility methods come from the Gitlab repo; app/assets/javascripts/lib/utils/datetime_utility.js
2
-
3
- /**
4
- * This method allows you to create new Date instance from existing
5
- * date instance without keeping the reference.
6
- *
7
- * @param {Date} date
8
- */
9
- const newDate = date => date instanceof Date ? new Date(date.getTime()) : new Date();
10
-
11
- /**
12
- * Computes the difference between 2 date objects.
13
- *
14
- * @param {Date} a the start date
15
- * @param {Date} b the end date
16
- * @example
17
- * // returns 5
18
- * getDayDifference(new Date('2020-08-10'), new Date('2020-08-15'));
19
- * @returns {Number} Number of days between the 2 dates
20
- */
21
- const getDayDifference = (a, b) => {
22
- const millisecondsPerDay = 1000 * 60 * 60 * 24;
23
- const date1 = Date.UTC(a.getFullYear(), a.getMonth(), a.getDate());
24
- const date2 = Date.UTC(b.getFullYear(), b.getMonth(), b.getDate());
25
- return Math.floor((date2 - date1) / millisecondsPerDay);
26
- };
27
-
28
- /**
29
- * Subtracts a given number of days from a given date and returns the new date.
30
- *
31
- * @param {Date} date the date that we will substract days from
32
- * @param {Number} daysInPast number of days that are subtracted from a given date
33
- * @example
34
- * // returns Mon Aug 10 2020 00:00:00
35
- * getDateInPast(new Date('2020-08-15'), 5);
36
- * @returns {Date} Date in past as Date object
37
- */
38
- const getDateInPast = (date, daysInPast) => new Date(newDate(date).setDate(date.getDate() - daysInPast));
39
-
40
- /**
41
- * Adds a given number of days to a given date and returns the new date.
42
- *
43
- * @param {Date} date the date that we will add days to
44
- * @param {Number} daysInFuture number of days that are added to a given date
45
- * @example
46
- * // returns Mon Aug 15 2020 00:00:00
47
- * getDateInFuture(new Date('2020-08-10'), 5);
48
- * @returns {Date} Date in future as Date object
49
- */
50
- const getDateInFuture = (date, daysInFuture) => new Date(newDate(date).setDate(date.getDate() + daysInFuture));
51
-
52
- /**
53
- * Are the given two dates equal
54
- *
55
- * @param {Date} date1
56
- * @param {Date} date2
57
- * @returns {Boolean}
58
- */
59
- const areDatesEqual = (date1, date2) => Boolean(date1 && date2 && new Date(date1).getTime() === new Date(date2).getTime());
60
-
61
- export { areDatesEqual, getDateInFuture, getDateInPast, getDayDifference, newDate };
@@ -1,84 +0,0 @@
1
- /**
2
- * Performs a deep, type-coercing equality check between two values.
3
- *
4
- * Unlike strict equality (`===`) or lodash's `isEqual`, this function:
5
- * - Compares objects and arrays by structure, not reference
6
- * - Coerces types before comparing primitives (e.g. `123` equals `'123'`)
7
- * - Compares Date objects by timestamp
8
- * - Compares File objects by inherited properties (name, size, type, lastModified)
9
- *
10
- * Used in form components (radio, checkbox) to detect meaningful value changes
11
- * in watchers, avoiding redundant event emissions when values are loosely equivalent.
12
- *
13
- * @param {*} a - First value to compare
14
- * @param {*} b - Second value to compare
15
- * @returns {boolean} Whether the two values are loosely equal
16
- */
17
- function looseEqual(a, b) {
18
- if (a === b) {
19
- return true;
20
- }
21
- let aValidType = a instanceof Date;
22
- let bValidType = b instanceof Date;
23
- if (aValidType || bValidType) {
24
- return aValidType && bValidType ? a.getTime() === b.getTime() : false;
25
- }
26
- aValidType = Array.isArray(a);
27
- bValidType = Array.isArray(b);
28
- if (aValidType || bValidType) {
29
- if (!aValidType || !bValidType || a.length !== b.length) {
30
- return false;
31
- }
32
- // Compare arrays element by element
33
- // Uses a for loop to handle sparse arrays (array.every doesn't handle sparse)
34
- let equal = true;
35
- for (let i = 0; equal && i < a.length; i += 1) {
36
- equal = looseEqual(a[i], b[i]);
37
- }
38
- return equal;
39
- }
40
- aValidType = a !== null && typeof a === 'object';
41
- bValidType = b !== null && typeof b === 'object';
42
- if (aValidType || bValidType) {
43
- if (!aValidType || !bValidType) {
44
- return false;
45
- }
46
- const aKeysCount = Object.keys(a).length;
47
- const bKeysCount = Object.keys(b).length;
48
- if (aKeysCount !== bKeysCount) {
49
- return false;
50
- }
51
- // Intentionally iterates inherited properties to compare complex types
52
- // like File objects where properties are on the prototype
53
- // eslint-disable-next-line guard-for-in
54
- for (const key in a) {
55
- const aHasKey = Object.prototype.hasOwnProperty.call(a, key);
56
- const bHasKey = Object.prototype.hasOwnProperty.call(b, key);
57
- if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) {
58
- return false;
59
- }
60
- }
61
- }
62
- return String(a) === String(b);
63
- }
64
-
65
- /**
66
- * Finds the first index in an array where the element is loosely equal to the given value.
67
- *
68
- * Works like `Array.prototype.indexOf`, but uses {@link looseEqual} for comparison
69
- * instead of strict equality.
70
- *
71
- * @param {Array} array - The array to search
72
- * @param {*} value - The value to find
73
- * @returns {number} The index of the first loosely matching element, or -1 if not found
74
- */
75
- function looseIndexOf(array, value) {
76
- for (let i = 0; i < array.length; i += 1) {
77
- if (looseEqual(array[i], value)) {
78
- return i;
79
- }
80
- }
81
- return -1;
82
- }
83
-
84
- export { looseEqual, looseIndexOf };
@@ -1,65 +0,0 @@
1
- import { escape } from 'lodash-es';
2
- import { i18n } from '../config';
3
-
4
- const defaultPluralHandler = (n, singleValue, pluralValue) => {
5
- const value = n === 1 ? singleValue : pluralValue;
6
- return value.replace(/%d/g, n);
7
- };
8
-
9
- /**
10
- * Marks a label as translatable and pluralized.
11
- *
12
- * @param {*} key Translation key to be leveraged by the consumer to provide a generic translation at configuration time.
13
- * @param {*} singularValue The singular value to be relied on if the consumer doesn't have translation capabilities.
14
- * @param {*} pluralValue The plural value to be relied on if the consumer doesn't have translation capabilities.
15
- * @returns {function} A function that takes a number and returns the pluralized translated label.
16
- */
17
- const translatePlural = (key, singularValue, pluralValue) => {
18
- if (i18n[key]) {
19
- return i18n[key];
20
- }
21
- return x => defaultPluralHandler(x, singularValue, pluralValue);
22
- };
23
-
24
- /**
25
- * Very limited implementation of sprintf supporting only named parameters.
26
- * Copied from the GitLab repo: https://gitlab.com/gitlab-org/gitlab/-/blob/0dff8b02accb3dccbf6cd31236834c37013aad59/app/assets/javascripts/locale/sprintf.js.
27
- * @param {string} input - (translated) text with parameters (e.g. '%{num_users} users use us')
28
- * @param {Object.<string, string|number>} [parameters] - object mapping parameter names to values (e.g. { num_users: 5 })
29
- * @param {boolean} [escapeParameters=true] - whether parameter values should be escaped (see https://lodash.com/docs/4.17.15#escape)
30
- * @returns {string} the text with parameters replaces (e.g. '5 users use us')
31
- * @see https://ruby-doc.org/core-2.3.3/Kernel.html#method-i-sprintf
32
- * @see https://gitlab.com/gitlab-org/gitlab-foss/issues/37992
33
- */
34
- function sprintf(input, parameters) {
35
- let escapeParameters = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
36
- let output = input;
37
- output = output.replace(/%+/g, '%');
38
- if (parameters) {
39
- const mappedParameters = new Map(Object.entries(parameters));
40
- mappedParameters.forEach((key, parameterName) => {
41
- const parameterValue = mappedParameters.get(parameterName);
42
- const escapedParameterValue = escapeParameters ? escape(parameterValue) : parameterValue;
43
- // Pass the param value as a function to ignore special replacement patterns like $` and $'.
44
- // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#syntax
45
- output = output.replace(new RegExp(`%{${parameterName}}`, 'g'), () => escapedParameterValue);
46
- });
47
- }
48
- return output;
49
- }
50
-
51
- /**
52
- * Mark a label as translatable.
53
- *
54
- * @param {string} key Translation key to be leveraged by the consumer to provide a generic translation at configuration time.
55
- * @param {string} defaultValue A fallback value to be relied on if the consumer doesn't have translation capabilities.
56
- * @param {Object.<string, string|number>} [parameters] - Optional object mapping parameter names to values for sprintf substitution.
57
- * @returns {string} The translated label.
58
- */
59
- const translate = (key, defaultValue, parameters) => {
60
- var _i18n$key;
61
- const translatedValue = (_i18n$key = i18n[key]) !== null && _i18n$key !== void 0 ? _i18n$key : defaultValue;
62
- return parameters ? sprintf(translatedValue, parameters) : translatedValue;
63
- };
64
-
65
- export { sprintf, translate, translatePlural };
@@ -1,34 +0,0 @@
1
- import Vue from 'vue';
2
-
3
- // Fragment will be available only in Vue.js 3
4
- const {
5
- Fragment,
6
- Comment,
7
- Text
8
- } = Vue;
9
- function isVnodeEmpty(vnode) {
10
- if (!vnode || Comment && vnode.type === Comment) {
11
- return true;
12
- }
13
- if (Text && vnode.type === Text && !vnode.children.trim()) {
14
- // Vue.js 3 text string is located in the children
15
- return true;
16
- }
17
- if (Array.isArray(vnode)) {
18
- // eslint-disable-next-line unicorn/no-array-callback-reference
19
- return vnode.every(isVnodeEmpty);
20
- }
21
- if (Fragment && vnode.type === Fragment) {
22
- // Vue.js 3 fragment, check children
23
- // eslint-disable-next-line unicorn/no-array-callback-reference
24
- return vnode.children.every(isVnodeEmpty);
25
- }
26
- return false;
27
- }
28
- function isSlotEmpty(vueInstance, slot, slotArgs) {
29
- var _vueInstance$$scopedS, _vueInstance$$scopedS2;
30
- const slotContent = (_vueInstance$$scopedS = (_vueInstance$$scopedS2 = vueInstance.$scopedSlots)[slot]) === null || _vueInstance$$scopedS === void 0 ? void 0 : _vueInstance$$scopedS.call(_vueInstance$$scopedS2, slotArgs);
31
- return isVnodeEmpty(slotContent);
32
- }
33
-
34
- export { isSlotEmpty, isVnodeEmpty };