@gitlab/ui 131.3.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 (383) 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/tailwind.defaults.js +10 -1
  5. package/dist/charts.js +0 -13
  6. package/dist/components/base/accordion/accordion.js +0 -69
  7. package/dist/components/base/accordion/accordion_item.js +0 -160
  8. package/dist/components/base/accordion/constants.js +0 -3
  9. package/dist/components/base/alert/alert.js +0 -263
  10. package/dist/components/base/animated_icon/animated_chevron_down_up_icon.js +0 -45
  11. package/dist/components/base/animated_icon/animated_chevron_lg_down_up_icon.js +0 -45
  12. package/dist/components/base/animated_icon/animated_chevron_lg_right_down_icon.js +0 -45
  13. package/dist/components/base/animated_icon/animated_chevron_right_down_icon.js +0 -45
  14. package/dist/components/base/animated_icon/animated_duo_chat_icon.js +0 -45
  15. package/dist/components/base/animated_icon/animated_loader_icon.js +0 -45
  16. package/dist/components/base/animated_icon/animated_notifications_icon.js +0 -45
  17. package/dist/components/base/animated_icon/animated_sidebar_icon.js +0 -45
  18. package/dist/components/base/animated_icon/animated_smile_icon.js +0 -45
  19. package/dist/components/base/animated_icon/animated_sort_icon.js +0 -45
  20. package/dist/components/base/animated_icon/animated_star_icon.js +0 -45
  21. package/dist/components/base/animated_icon/animated_todo_icon.js +0 -45
  22. package/dist/components/base/animated_icon/animated_upload_icon.js +0 -45
  23. package/dist/components/base/animated_icon/base_animated_icon.js +0 -77
  24. package/dist/components/base/attribute_list/attribute_list.js +0 -100
  25. package/dist/components/base/avatar/avatar.js +0 -175
  26. package/dist/components/base/avatar/utils.js +0 -17
  27. package/dist/components/base/avatar_labeled/avatar_labeled.js +0 -198
  28. package/dist/components/base/avatar_link/avatar_link.js +0 -47
  29. package/dist/components/base/avatars_inline/avatars_inline.js +0 -139
  30. package/dist/components/base/badge/badge.js +0 -197
  31. package/dist/components/base/banner/banner.js +0 -149
  32. package/dist/components/base/breadcrumb/breadcrumb.js +0 -282
  33. package/dist/components/base/breadcrumb/breadcrumb_item.js +0 -96
  34. package/dist/components/base/broadcast_message/broadcast_message.js +0 -113
  35. package/dist/components/base/broadcast_message/constants.js +0 -5
  36. package/dist/components/base/button/button.js +0 -419
  37. package/dist/components/base/button_group/button_group.js +0 -53
  38. package/dist/components/base/card/card.js +0 -69
  39. package/dist/components/base/collapse/collapse.js +0 -163
  40. package/dist/components/base/color_mode_toggle/color_mode_toggle.js +0 -92
  41. package/dist/components/base/datepicker/datepicker.js +0 -475
  42. package/dist/components/base/daterange_picker/daterange_picker.js +0 -394
  43. package/dist/components/base/drawer/drawer.js +0 -156
  44. package/dist/components/base/dropdown/dropdown.js +0 -330
  45. package/dist/components/base/dropdown/dropdown_divider.js +0 -48
  46. package/dist/components/base/dropdown/dropdown_form.js +0 -48
  47. package/dist/components/base/dropdown/dropdown_item.js +0 -175
  48. package/dist/components/base/dropdown/dropdown_section_header.js +0 -48
  49. package/dist/components/base/dropdown/dropdown_text.js +0 -48
  50. package/dist/components/base/filtered_search/common_story_options.js +0 -14
  51. package/dist/components/base/filtered_search/filtered_search.js +0 -428
  52. package/dist/components/base/filtered_search/filtered_search_suggestion.js +0 -95
  53. package/dist/components/base/filtered_search/filtered_search_suggestion_list.js +0 -139
  54. package/dist/components/base/filtered_search/filtered_search_term.js +0 -217
  55. package/dist/components/base/filtered_search/filtered_search_token.js +0 -383
  56. package/dist/components/base/filtered_search/filtered_search_token_segment.js +0 -444
  57. package/dist/components/base/filtered_search/filtered_search_utils.js +0 -241
  58. package/dist/components/base/form/form.js +0 -43
  59. package/dist/components/base/form/form_character_count/form_character_count.js +0 -107
  60. package/dist/components/base/form/form_checkbox/form_checkbox.js +0 -342
  61. package/dist/components/base/form/form_checkbox/form_checkbox_group.js +0 -186
  62. package/dist/components/base/form/form_combobox/constants.js +0 -55
  63. package/dist/components/base/form/form_combobox/form_combobox.js +0 -239
  64. package/dist/components/base/form/form_date/form_date.js +0 -143
  65. package/dist/components/base/form/form_fields/form_field_validator.js +0 -93
  66. package/dist/components/base/form/form_fields/form_fields.js +0 -289
  67. package/dist/components/base/form/form_fields/form_fields_loop.js +0 -75
  68. package/dist/components/base/form/form_fields/mappers.js +0 -13
  69. package/dist/components/base/form/form_fields/validators.js +0 -48
  70. package/dist/components/base/form/form_group/form_group.js +0 -119
  71. package/dist/components/base/form/form_input/form_input.js +0 -695
  72. package/dist/components/base/form/form_input_group/form_input_group.js +0 -120
  73. package/dist/components/base/form/form_input_group/form_input_group_mixin.js +0 -41
  74. package/dist/components/base/form/form_radio/form_radio.js +0 -259
  75. package/dist/components/base/form/form_radio_group/form_radio_group.js +0 -187
  76. package/dist/components/base/form/form_select/constants.js +0 -12
  77. package/dist/components/base/form/form_select/form_select.js +0 -96
  78. package/dist/components/base/form/form_textarea/form_textarea.js +0 -166
  79. package/dist/components/base/form/input_group_text/input_group_text.js +0 -43
  80. package/dist/components/base/icon/icon.js +0 -113
  81. package/dist/components/base/illustration/illustration.js +0 -80
  82. package/dist/components/base/infinite_scroll/infinite_scroll.js +0 -196
  83. package/dist/components/base/keyset_pagination/keyset_pagination.js +0 -152
  84. package/dist/components/base/label/label.js +0 -174
  85. package/dist/components/base/link/link.js +0 -332
  86. package/dist/components/base/loading_icon/loading_icon.js +0 -120
  87. package/dist/components/base/markdown/markdown.js +0 -50
  88. package/dist/components/base/modal/modal.js +0 -259
  89. package/dist/components/base/new_dropdowns/base_dropdown/base_dropdown.js +0 -716
  90. package/dist/components/base/new_dropdowns/base_dropdown/constants.js +0 -5
  91. package/dist/components/base/new_dropdowns/base_dropdown/dropdown_container.js +0 -32
  92. package/dist/components/base/new_dropdowns/constants.js +0 -24
  93. package/dist/components/base/new_dropdowns/disclosure/constants.js +0 -8
  94. package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown.js +0 -400
  95. package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown_group.js +0 -112
  96. package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown_item.js +0 -196
  97. package/dist/components/base/new_dropdowns/disclosure/mock_data.js +0 -168
  98. package/dist/components/base/new_dropdowns/disclosure/utils.js +0 -84
  99. package/dist/components/base/new_dropdowns/listbox/listbox.js +0 -997
  100. package/dist/components/base/new_dropdowns/listbox/listbox_group.js +0 -58
  101. package/dist/components/base/new_dropdowns/listbox/listbox_item.js +0 -112
  102. package/dist/components/base/new_dropdowns/listbox/listbox_search_input.js +0 -94
  103. package/dist/components/base/new_dropdowns/listbox/mock_data.js +0 -131
  104. package/dist/components/base/new_dropdowns/listbox/utils.js +0 -33
  105. package/dist/components/base/pagination/pagination.js +0 -397
  106. package/dist/components/base/path/data.js +0 -34
  107. package/dist/components/base/path/path.js +0 -177
  108. package/dist/components/base/popover/popover.js +0 -142
  109. package/dist/components/base/progress_bar/progress_bar.js +0 -117
  110. package/dist/components/base/search_box_by_click/search_box_by_click.js +0 -245
  111. package/dist/components/base/search_box_by_type/search_box_by_type.js +0 -187
  112. package/dist/components/base/segmented_control/segmented_control.js +0 -73
  113. package/dist/components/base/skeleton_loader/skeleton_loader.js +0 -232
  114. package/dist/components/base/sorting/sorting.js +0 -180
  115. package/dist/components/base/table/constants.js +0 -5
  116. package/dist/components/base/table/table.js +0 -187
  117. package/dist/components/base/table_lite/table_lite.js +0 -80
  118. package/dist/components/base/tabs/constants.js +0 -3
  119. package/dist/components/base/tabs/tab/tab.js +0 -113
  120. package/dist/components/base/tabs/tabs/scrollable_tabs.js +0 -162
  121. package/dist/components/base/tabs/tabs/tabs.js +0 -223
  122. package/dist/components/base/toast/index.js +0 -66
  123. package/dist/components/base/toast/toast.js +0 -125
  124. package/dist/components/base/toast/toaster.js +0 -87
  125. package/dist/components/base/toggle/toggle.js +0 -178
  126. package/dist/components/base/token/token.js +0 -97
  127. package/dist/components/base/token_selector/helpers.js +0 -5
  128. package/dist/components/base/token_selector/token_container.js +0 -160
  129. package/dist/components/base/token_selector/token_selector.js +0 -454
  130. package/dist/components/base/token_selector/token_selector_dropdown.js +0 -223
  131. package/dist/components/base/tooltip/tooltip.js +0 -54
  132. package/dist/components/charts/area/area.js +0 -329
  133. package/dist/components/charts/bar/bar.js +0 -207
  134. package/dist/components/charts/chart/chart.js +0 -215
  135. package/dist/components/charts/column/column.js +0 -221
  136. package/dist/components/charts/discrete_scatter/discrete_scatter.js +0 -199
  137. package/dist/components/charts/gauge/gauge.js +0 -205
  138. package/dist/components/charts/heatmap/heatmap.js +0 -299
  139. package/dist/components/charts/heatmap/index.js +0 -2
  140. package/dist/components/charts/legend/legend.js +0 -245
  141. package/dist/components/charts/line/line.js +0 -340
  142. package/dist/components/charts/series_label/series_label.js +0 -101
  143. package/dist/components/charts/shared/tooltip/tooltip.js +0 -369
  144. package/dist/components/charts/shared/tooltip/tooltip_default_format/tooltip_default_format.js +0 -53
  145. package/dist/components/charts/single_stat/single_stat.js +0 -164
  146. package/dist/components/charts/sparkline/sparkline.js +0 -299
  147. package/dist/components/charts/stacked_column/stacked_column.js +0 -380
  148. package/dist/components/dashboards/dashboard_layout/dashboard_layout.js +0 -125
  149. package/dist/components/dashboards/dashboard_layout/grid_layout/grid_layout.js +0 -326
  150. package/dist/components/dashboards/dashboard_layout/validators.js +0 -14
  151. package/dist/components/dashboards/dashboard_panel/dashboard_panel.js +0 -236
  152. package/dist/components/dashboards/mock_data.js +0 -49
  153. package/dist/components/experimental/experiment_badge/constants.js +0 -4
  154. package/dist/components/experimental/experiment_badge/experiment_badge.js +0 -102
  155. package/dist/components/extended/multi_step_form_template/multi_step_form_template.js +0 -87
  156. package/dist/components/index.js +0 -107
  157. package/dist/components/mixins/button_mixin.js +0 -11
  158. package/dist/components/mixins/safe_link_mixin.js +0 -30
  159. package/dist/components/mixins/tooltip_mixin.js +0 -21
  160. package/dist/components/regions/dashboard_skeleton/dashboard_skeleton.js +0 -53
  161. package/dist/components/regions/empty_state/empty_state.js +0 -181
  162. package/dist/components/shared_components/clear_icon_button/clear_icon_button.js +0 -64
  163. package/dist/components/shared_components/clipboard_button/clipboard_button.js +0 -100
  164. package/dist/components/shared_components/close_button/close_button.js +0 -55
  165. package/dist/components/utilities/animated_number/animated_number.js +0 -131
  166. package/dist/components/utilities/friendly_wrap/friendly_wrap.js +0 -75
  167. package/dist/components/utilities/intersection_observer/intersection_observer.js +0 -88
  168. package/dist/components/utilities/intersperse/intersperse.js +0 -104
  169. package/dist/components/utilities/sprintf/sprintf.js +0 -171
  170. package/dist/components/utilities/truncate/constants.js +0 -8
  171. package/dist/components/utilities/truncate/truncate.js +0 -154
  172. package/dist/components/utilities/truncate_text/constants.js +0 -7
  173. package/dist/components/utilities/truncate_text/truncate_text.js +0 -146
  174. package/dist/config.js +0 -53
  175. package/dist/directives/hover_load/hover_load.js +0 -45
  176. package/dist/directives/index.js +0 -8
  177. package/dist/directives/modal.js +0 -1
  178. package/dist/directives/outside/outside.js +0 -149
  179. package/dist/directives/resize_observer/resize_observer.js +0 -58
  180. package/dist/directives/safe_html/constants.js +0 -6
  181. package/dist/directives/safe_html/safe_html.js +0 -39
  182. package/dist/directives/safe_link/mock_data.js +0 -10
  183. package/dist/directives/safe_link/safe_link.js +0 -67
  184. package/dist/directives/tooltip/container.js +0 -7
  185. package/dist/directives/tooltip/tooltip.js +0 -18
  186. package/dist/index.css +0 -7
  187. package/dist/index.css.map +0 -1
  188. package/dist/index.js +0 -2
  189. package/dist/tailwind.css +0 -2
  190. package/dist/tailwind.css.map +0 -1
  191. package/dist/tokens/build/js/tokens.dark.js +0 -1410
  192. package/dist/tokens/build/js/tokens.js +0 -1410
  193. package/dist/tokens/common_story_options.js +0 -29
  194. package/dist/tokens/tokens_story.js +0 -76
  195. package/dist/utils/breakpoints.js +0 -20
  196. package/dist/utils/charts/config.js +0 -616
  197. package/dist/utils/charts/constants.js +0 -69
  198. package/dist/utils/charts/mock_data.js +0 -191
  199. package/dist/utils/charts/story_config.js +0 -24
  200. package/dist/utils/charts/theme.js +0 -200
  201. package/dist/utils/charts/utils.js +0 -54
  202. package/dist/utils/constants.js +0 -333
  203. package/dist/utils/data_utils.js +0 -19
  204. package/dist/utils/datetime_utility.js +0 -61
  205. package/dist/utils/equality_utils.js +0 -84
  206. package/dist/utils/i18n.js +0 -65
  207. package/dist/utils/is_slot_empty.js +0 -34
  208. package/dist/utils/number_utils.js +0 -132
  209. package/dist/utils/play_utils.js +0 -11
  210. package/dist/utils/set_utils.js +0 -25
  211. package/dist/utils/stories_constants.js +0 -29
  212. package/dist/utils/stories_utils.js +0 -62
  213. package/dist/utils/story_decorators/container.js +0 -19
  214. package/dist/utils/string_utils.js +0 -69
  215. package/dist/utils/svgs/svg_paths.js +0 -7
  216. package/dist/utils/test_utils.js +0 -33
  217. package/dist/utils/use_fake_date.js +0 -29
  218. package/dist/utils/use_mock_intersection_observer.js +0 -105
  219. package/dist/utils/utils.js +0 -205
  220. package/dist/utils.js +0 -5
  221. package/dist/vendor/bootstrap-vue/src/bv-config.js +0 -8
  222. package/dist/vendor/bootstrap-vue/src/components/button/button-close.js +0 -81
  223. package/dist/vendor/bootstrap-vue/src/components/button/button.js +0 -204
  224. package/dist/vendor/bootstrap-vue/src/components/button/index.js +0 -2
  225. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-divider.js +0 -41
  226. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-form.js +0 -52
  227. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-group.js +0 -75
  228. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-header.js +0 -52
  229. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-item-button.js +0 -85
  230. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-item.js +0 -97
  231. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-text.js +0 -60
  232. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown.js +0 -271
  233. package/dist/vendor/bootstrap-vue/src/components/dropdown/index.js +0 -8
  234. package/dist/vendor/bootstrap-vue/src/components/form/form-invalid-feedback.js +0 -53
  235. package/dist/vendor/bootstrap-vue/src/components/form/form-text.js +0 -55
  236. package/dist/vendor/bootstrap-vue/src/components/form/form-valid-feedback.js +0 -53
  237. package/dist/vendor/bootstrap-vue/src/components/form/form.js +0 -56
  238. package/dist/vendor/bootstrap-vue/src/components/form/index.js +0 -4
  239. package/dist/vendor/bootstrap-vue/src/components/form-group/form-group.js +0 -348
  240. package/dist/vendor/bootstrap-vue/src/components/form-group/index.js +0 -1
  241. package/dist/vendor/bootstrap-vue/src/components/form-select/form-select-option-group.js +0 -54
  242. package/dist/vendor/bootstrap-vue/src/components/form-select/form-select-option.js +0 -41
  243. package/dist/vendor/bootstrap-vue/src/components/form-select/form-select.js +0 -143
  244. package/dist/vendor/bootstrap-vue/src/components/form-select/helpers/mixin-options.js +0 -56
  245. package/dist/vendor/bootstrap-vue/src/components/form-select/index.js +0 -3
  246. package/dist/vendor/bootstrap-vue/src/components/form-textarea/form-textarea.js +0 -217
  247. package/dist/vendor/bootstrap-vue/src/components/form-textarea/index.js +0 -1
  248. package/dist/vendor/bootstrap-vue/src/components/layout/col.js +0 -156
  249. package/dist/vendor/bootstrap-vue/src/components/layout/form-row.js +0 -34
  250. package/dist/vendor/bootstrap-vue/src/components/layout/index.js +0 -2
  251. package/dist/vendor/bootstrap-vue/src/components/link/index.js +0 -1
  252. package/dist/vendor/bootstrap-vue/src/components/link/link.js +0 -283
  253. package/dist/vendor/bootstrap-vue/src/components/modal/helpers/bv-modal-event.class.js +0 -21
  254. package/dist/vendor/bootstrap-vue/src/components/modal/helpers/modal-manager.js +0 -212
  255. package/dist/vendor/bootstrap-vue/src/components/modal/index.js +0 -1
  256. package/dist/vendor/bootstrap-vue/src/components/modal/modal.js +0 -887
  257. package/dist/vendor/bootstrap-vue/src/components/popover/helpers/bv-popover-template.js +0 -55
  258. package/dist/vendor/bootstrap-vue/src/components/popover/helpers/bv-popover.js +0 -31
  259. package/dist/vendor/bootstrap-vue/src/components/popover/index.js +0 -1
  260. package/dist/vendor/bootstrap-vue/src/components/popover/popover.js +0 -49
  261. package/dist/vendor/bootstrap-vue/src/components/table/helpers/constants.js +0 -22
  262. package/dist/vendor/bootstrap-vue/src/components/table/helpers/default-sort-compare.js +0 -64
  263. package/dist/vendor/bootstrap-vue/src/components/table/helpers/filter-event.js +0 -40
  264. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-bottom-row.js +0 -43
  265. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-busy.js +0 -83
  266. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-caption.js +0 -50
  267. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-colgroup.js +0 -32
  268. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-empty.js +0 -82
  269. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-filtering.js +0 -274
  270. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-items.js +0 -154
  271. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-pagination.js +0 -44
  272. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-provider.js +0 -191
  273. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-selectable.js +0 -213
  274. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-sorting.js +0 -275
  275. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-stacked.js +0 -39
  276. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-table-renderer.js +0 -186
  277. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody-row.js +0 -338
  278. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody.js +0 -243
  279. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-tfoot.js +0 -50
  280. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-thead.js +0 -218
  281. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-top-row.js +0 -42
  282. package/dist/vendor/bootstrap-vue/src/components/table/helpers/normalize-fields.js +0 -86
  283. package/dist/vendor/bootstrap-vue/src/components/table/helpers/sanitize-row.js +0 -32
  284. package/dist/vendor/bootstrap-vue/src/components/table/helpers/stringify-record-values.js +0 -11
  285. package/dist/vendor/bootstrap-vue/src/components/table/helpers/text-selection-active.js +0 -14
  286. package/dist/vendor/bootstrap-vue/src/components/table/index.js +0 -9
  287. package/dist/vendor/bootstrap-vue/src/components/table/table-lite.js +0 -51
  288. package/dist/vendor/bootstrap-vue/src/components/table/table-simple.js +0 -44
  289. package/dist/vendor/bootstrap-vue/src/components/table/table.js +0 -67
  290. package/dist/vendor/bootstrap-vue/src/components/table/tbody.js +0 -116
  291. package/dist/vendor/bootstrap-vue/src/components/table/td.js +0 -204
  292. package/dist/vendor/bootstrap-vue/src/components/table/tfoot.js +0 -96
  293. package/dist/vendor/bootstrap-vue/src/components/table/th.js +0 -26
  294. package/dist/vendor/bootstrap-vue/src/components/table/thead.js +0 -99
  295. package/dist/vendor/bootstrap-vue/src/components/table/tr.js +0 -121
  296. package/dist/vendor/bootstrap-vue/src/components/tabs/index.js +0 -2
  297. package/dist/vendor/bootstrap-vue/src/components/tabs/tab.js +0 -238
  298. package/dist/vendor/bootstrap-vue/src/components/tabs/tabs.js +0 -601
  299. package/dist/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-popper.js +0 -251
  300. package/dist/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip-template.js +0 -118
  301. package/dist/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip.js +0 -932
  302. package/dist/vendor/bootstrap-vue/src/components/tooltip/index.js +0 -1
  303. package/dist/vendor/bootstrap-vue/src/components/tooltip/tooltip.js +0 -269
  304. package/dist/vendor/bootstrap-vue/src/components/transition/bv-transition.js +0 -103
  305. package/dist/vendor/bootstrap-vue/src/components/transporter/transporter.js +0 -205
  306. package/dist/vendor/bootstrap-vue/src/constants/components.js +0 -55
  307. package/dist/vendor/bootstrap-vue/src/constants/config.js +0 -11
  308. package/dist/vendor/bootstrap-vue/src/constants/env.js +0 -36
  309. package/dist/vendor/bootstrap-vue/src/constants/events.js +0 -56
  310. package/dist/vendor/bootstrap-vue/src/constants/key-codes.js +0 -11
  311. package/dist/vendor/bootstrap-vue/src/constants/popper.js +0 -10
  312. package/dist/vendor/bootstrap-vue/src/constants/props.js +0 -24
  313. package/dist/vendor/bootstrap-vue/src/constants/regex.js +0 -35
  314. package/dist/vendor/bootstrap-vue/src/constants/safe-types.js +0 -15
  315. package/dist/vendor/bootstrap-vue/src/constants/slots.js +0 -36
  316. package/dist/vendor/bootstrap-vue/src/directives/modal/index.js +0 -1
  317. package/dist/vendor/bootstrap-vue/src/directives/modal/modal.js +0 -112
  318. package/dist/vendor/bootstrap-vue/src/directives/tooltip/index.js +0 -1
  319. package/dist/vendor/bootstrap-vue/src/directives/tooltip/tooltip.js +0 -265
  320. package/dist/vendor/bootstrap-vue/src/directives/visible/index.js +0 -1
  321. package/dist/vendor/bootstrap-vue/src/directives/visible/visible.js +0 -187
  322. package/dist/vendor/bootstrap-vue/src/mixins/attrs.js +0 -5
  323. package/dist/vendor/bootstrap-vue/src/mixins/click-out.js +0 -54
  324. package/dist/vendor/bootstrap-vue/src/mixins/dropdown.js +0 -470
  325. package/dist/vendor/bootstrap-vue/src/mixins/focus-in.js +0 -46
  326. package/dist/vendor/bootstrap-vue/src/mixins/form-control.js +0 -73
  327. package/dist/vendor/bootstrap-vue/src/mixins/form-custom.js +0 -26
  328. package/dist/vendor/bootstrap-vue/src/mixins/form-options.js +0 -91
  329. package/dist/vendor/bootstrap-vue/src/mixins/form-selection.js +0 -62
  330. package/dist/vendor/bootstrap-vue/src/mixins/form-size.js +0 -26
  331. package/dist/vendor/bootstrap-vue/src/mixins/form-state.js +0 -50
  332. package/dist/vendor/bootstrap-vue/src/mixins/form-text.js +0 -293
  333. package/dist/vendor/bootstrap-vue/src/mixins/form-validity.js +0 -50
  334. package/dist/vendor/bootstrap-vue/src/mixins/has-listener.js +0 -29
  335. package/dist/vendor/bootstrap-vue/src/mixins/id.js +0 -57
  336. package/dist/vendor/bootstrap-vue/src/mixins/listen-on-document.js +0 -63
  337. package/dist/vendor/bootstrap-vue/src/mixins/listen-on-root.js +0 -121
  338. package/dist/vendor/bootstrap-vue/src/mixins/listen-on-window.js +0 -63
  339. package/dist/vendor/bootstrap-vue/src/mixins/listeners.js +0 -25
  340. package/dist/vendor/bootstrap-vue/src/mixins/model.js +0 -10
  341. package/dist/vendor/bootstrap-vue/src/mixins/normalize-slot.js +0 -30
  342. package/dist/vendor/bootstrap-vue/src/mixins/scoped-style.js +0 -18
  343. package/dist/vendor/bootstrap-vue/src/mixins/use-parent.js +0 -14
  344. package/dist/vendor/bootstrap-vue/src/utils/array.js +0 -28
  345. package/dist/vendor/bootstrap-vue/src/utils/bv-event.class.js +0 -60
  346. package/dist/vendor/bootstrap-vue/src/utils/cache.js +0 -60
  347. package/dist/vendor/bootstrap-vue/src/utils/clone-deep.js +0 -18
  348. package/dist/vendor/bootstrap-vue/src/utils/config-set.js +0 -86
  349. package/dist/vendor/bootstrap-vue/src/utils/config.js +0 -71
  350. package/dist/vendor/bootstrap-vue/src/utils/create-new-child-component.js +0 -133
  351. package/dist/vendor/bootstrap-vue/src/utils/css-escape.js +0 -70
  352. package/dist/vendor/bootstrap-vue/src/utils/dom.js +0 -298
  353. package/dist/vendor/bootstrap-vue/src/utils/element-to-vue-instance-registry.js +0 -28
  354. package/dist/vendor/bootstrap-vue/src/utils/env.js +0 -16
  355. package/dist/vendor/bootstrap-vue/src/utils/events.js +0 -78
  356. package/dist/vendor/bootstrap-vue/src/utils/get-event-root.js +0 -5
  357. package/dist/vendor/bootstrap-vue/src/utils/get-instance-from-directive.js +0 -3
  358. package/dist/vendor/bootstrap-vue/src/utils/get-scope-id.js +0 -9
  359. package/dist/vendor/bootstrap-vue/src/utils/get.js +0 -63
  360. package/dist/vendor/bootstrap-vue/src/utils/html.js +0 -16
  361. package/dist/vendor/bootstrap-vue/src/utils/identity.js +0 -3
  362. package/dist/vendor/bootstrap-vue/src/utils/inspect.js +0 -35
  363. package/dist/vendor/bootstrap-vue/src/utils/locale.js +0 -19
  364. package/dist/vendor/bootstrap-vue/src/utils/loose-equal.js +0 -59
  365. package/dist/vendor/bootstrap-vue/src/utils/loose-index-of.js +0 -13
  366. package/dist/vendor/bootstrap-vue/src/utils/math.js +0 -9
  367. package/dist/vendor/bootstrap-vue/src/utils/memoize.js +0 -14
  368. package/dist/vendor/bootstrap-vue/src/utils/model.js +0 -33
  369. package/dist/vendor/bootstrap-vue/src/utils/noop.js +0 -3
  370. package/dist/vendor/bootstrap-vue/src/utils/normalize-slot.js +0 -51
  371. package/dist/vendor/bootstrap-vue/src/utils/number.js +0 -23
  372. package/dist/vendor/bootstrap-vue/src/utils/object.js +0 -72
  373. package/dist/vendor/bootstrap-vue/src/utils/observe-dom.js +0 -76
  374. package/dist/vendor/bootstrap-vue/src/utils/on-instance-destroy.js +0 -22
  375. package/dist/vendor/bootstrap-vue/src/utils/plugins.js +0 -124
  376. package/dist/vendor/bootstrap-vue/src/utils/props.js +0 -67
  377. package/dist/vendor/bootstrap-vue/src/utils/router.js +0 -150
  378. package/dist/vendor/bootstrap-vue/src/utils/safe-vue-instance.js +0 -14
  379. package/dist/vendor/bootstrap-vue/src/utils/stable-sort.js +0 -28
  380. package/dist/vendor/bootstrap-vue/src/utils/string.js +0 -47
  381. package/dist/vendor/bootstrap-vue/src/utils/stringify-object-values.js +0 -31
  382. package/dist/vendor/bootstrap-vue/src/utils/warn.js +0 -45
  383. 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 };