@gitlab/ui 131.2.0 → 131.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (402) hide show
  1. package/package.json +11 -11
  2. package/src/components/base/form/form_checkbox/form_checkbox.vue +1 -2
  3. package/src/components/base/form/form_checkbox/form_checkbox_group.vue +1 -1
  4. package/src/components/base/form/form_radio/form_radio.vue +1 -1
  5. package/src/components/base/form/form_radio_group/form_radio_group.vue +1 -1
  6. package/src/components/base/table/table.scss +8 -0
  7. package/src/components/utilities/truncate/truncate.scss +3 -1
  8. package/src/scss/mixins.scss +3 -1
  9. package/src/utils/equality_utils.js +82 -0
  10. package/src/vendor/bootstrap-vue/src/components/button/button-close.js +20 -5
  11. package/src/vendor/bootstrap-vue/src/components/button/button.js +36 -8
  12. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-item.js +12 -4
  13. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-text.js +16 -5
  14. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown.js +99 -24
  15. package/src/vendor/bootstrap-vue/src/components/form/form-text.js +20 -5
  16. package/src/vendor/bootstrap-vue/src/components/form/form.js +20 -5
  17. package/src/vendor/bootstrap-vue/src/components/layout/form-row.js +5 -2
  18. package/src/vendor/bootstrap-vue/src/components/table/tbody.js +10 -3
  19. package/src/vendor/bootstrap-vue/src/components/table/td.js +28 -7
  20. package/src/vendor/bootstrap-vue/src/components/table/tfoot.js +5 -2
  21. package/src/vendor/bootstrap-vue/src/components/table/thead.js +5 -2
  22. package/src/vendor/bootstrap-vue/src/components/table/tr.js +5 -2
  23. package/src/vendor/bootstrap-vue/src/components/tabs/tab.js +51 -12
  24. package/tailwind.defaults.js +10 -1
  25. package/dist/charts.js +0 -13
  26. package/dist/components/base/accordion/accordion.js +0 -69
  27. package/dist/components/base/accordion/accordion_item.js +0 -160
  28. package/dist/components/base/accordion/constants.js +0 -3
  29. package/dist/components/base/alert/alert.js +0 -263
  30. package/dist/components/base/animated_icon/animated_chevron_down_up_icon.js +0 -45
  31. package/dist/components/base/animated_icon/animated_chevron_lg_down_up_icon.js +0 -45
  32. package/dist/components/base/animated_icon/animated_chevron_lg_right_down_icon.js +0 -45
  33. package/dist/components/base/animated_icon/animated_chevron_right_down_icon.js +0 -45
  34. package/dist/components/base/animated_icon/animated_duo_chat_icon.js +0 -45
  35. package/dist/components/base/animated_icon/animated_loader_icon.js +0 -45
  36. package/dist/components/base/animated_icon/animated_notifications_icon.js +0 -45
  37. package/dist/components/base/animated_icon/animated_sidebar_icon.js +0 -45
  38. package/dist/components/base/animated_icon/animated_smile_icon.js +0 -45
  39. package/dist/components/base/animated_icon/animated_sort_icon.js +0 -45
  40. package/dist/components/base/animated_icon/animated_star_icon.js +0 -45
  41. package/dist/components/base/animated_icon/animated_todo_icon.js +0 -45
  42. package/dist/components/base/animated_icon/animated_upload_icon.js +0 -45
  43. package/dist/components/base/animated_icon/base_animated_icon.js +0 -77
  44. package/dist/components/base/attribute_list/attribute_list.js +0 -100
  45. package/dist/components/base/avatar/avatar.js +0 -175
  46. package/dist/components/base/avatar/utils.js +0 -17
  47. package/dist/components/base/avatar_labeled/avatar_labeled.js +0 -198
  48. package/dist/components/base/avatar_link/avatar_link.js +0 -47
  49. package/dist/components/base/avatars_inline/avatars_inline.js +0 -139
  50. package/dist/components/base/badge/badge.js +0 -197
  51. package/dist/components/base/banner/banner.js +0 -149
  52. package/dist/components/base/breadcrumb/breadcrumb.js +0 -282
  53. package/dist/components/base/breadcrumb/breadcrumb_item.js +0 -96
  54. package/dist/components/base/broadcast_message/broadcast_message.js +0 -113
  55. package/dist/components/base/broadcast_message/constants.js +0 -5
  56. package/dist/components/base/button/button.js +0 -419
  57. package/dist/components/base/button_group/button_group.js +0 -53
  58. package/dist/components/base/card/card.js +0 -69
  59. package/dist/components/base/collapse/collapse.js +0 -163
  60. package/dist/components/base/color_mode_toggle/color_mode_toggle.js +0 -92
  61. package/dist/components/base/datepicker/datepicker.js +0 -475
  62. package/dist/components/base/daterange_picker/daterange_picker.js +0 -394
  63. package/dist/components/base/drawer/drawer.js +0 -156
  64. package/dist/components/base/dropdown/dropdown.js +0 -330
  65. package/dist/components/base/dropdown/dropdown_divider.js +0 -48
  66. package/dist/components/base/dropdown/dropdown_form.js +0 -48
  67. package/dist/components/base/dropdown/dropdown_item.js +0 -175
  68. package/dist/components/base/dropdown/dropdown_section_header.js +0 -48
  69. package/dist/components/base/dropdown/dropdown_text.js +0 -48
  70. package/dist/components/base/filtered_search/common_story_options.js +0 -14
  71. package/dist/components/base/filtered_search/filtered_search.js +0 -428
  72. package/dist/components/base/filtered_search/filtered_search_suggestion.js +0 -95
  73. package/dist/components/base/filtered_search/filtered_search_suggestion_list.js +0 -139
  74. package/dist/components/base/filtered_search/filtered_search_term.js +0 -217
  75. package/dist/components/base/filtered_search/filtered_search_token.js +0 -383
  76. package/dist/components/base/filtered_search/filtered_search_token_segment.js +0 -444
  77. package/dist/components/base/filtered_search/filtered_search_utils.js +0 -241
  78. package/dist/components/base/form/form.js +0 -43
  79. package/dist/components/base/form/form_character_count/form_character_count.js +0 -107
  80. package/dist/components/base/form/form_checkbox/form_checkbox.js +0 -343
  81. package/dist/components/base/form/form_checkbox/form_checkbox_group.js +0 -186
  82. package/dist/components/base/form/form_combobox/constants.js +0 -55
  83. package/dist/components/base/form/form_combobox/form_combobox.js +0 -239
  84. package/dist/components/base/form/form_date/form_date.js +0 -143
  85. package/dist/components/base/form/form_fields/form_field_validator.js +0 -93
  86. package/dist/components/base/form/form_fields/form_fields.js +0 -289
  87. package/dist/components/base/form/form_fields/form_fields_loop.js +0 -75
  88. package/dist/components/base/form/form_fields/mappers.js +0 -13
  89. package/dist/components/base/form/form_fields/validators.js +0 -48
  90. package/dist/components/base/form/form_group/form_group.js +0 -119
  91. package/dist/components/base/form/form_input/form_input.js +0 -695
  92. package/dist/components/base/form/form_input_group/form_input_group.js +0 -120
  93. package/dist/components/base/form/form_input_group/form_input_group_mixin.js +0 -41
  94. package/dist/components/base/form/form_radio/form_radio.js +0 -259
  95. package/dist/components/base/form/form_radio_group/form_radio_group.js +0 -187
  96. package/dist/components/base/form/form_select/constants.js +0 -12
  97. package/dist/components/base/form/form_select/form_select.js +0 -96
  98. package/dist/components/base/form/form_textarea/form_textarea.js +0 -166
  99. package/dist/components/base/form/input_group_text/input_group_text.js +0 -43
  100. package/dist/components/base/icon/icon.js +0 -113
  101. package/dist/components/base/illustration/illustration.js +0 -80
  102. package/dist/components/base/infinite_scroll/infinite_scroll.js +0 -196
  103. package/dist/components/base/keyset_pagination/keyset_pagination.js +0 -152
  104. package/dist/components/base/label/label.js +0 -174
  105. package/dist/components/base/link/link.js +0 -332
  106. package/dist/components/base/loading_icon/loading_icon.js +0 -120
  107. package/dist/components/base/markdown/markdown.js +0 -50
  108. package/dist/components/base/modal/modal.js +0 -259
  109. package/dist/components/base/new_dropdowns/base_dropdown/base_dropdown.js +0 -716
  110. package/dist/components/base/new_dropdowns/base_dropdown/constants.js +0 -5
  111. package/dist/components/base/new_dropdowns/base_dropdown/dropdown_container.js +0 -32
  112. package/dist/components/base/new_dropdowns/constants.js +0 -24
  113. package/dist/components/base/new_dropdowns/disclosure/constants.js +0 -8
  114. package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown.js +0 -400
  115. package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown_group.js +0 -112
  116. package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown_item.js +0 -196
  117. package/dist/components/base/new_dropdowns/disclosure/mock_data.js +0 -168
  118. package/dist/components/base/new_dropdowns/disclosure/utils.js +0 -84
  119. package/dist/components/base/new_dropdowns/listbox/listbox.js +0 -997
  120. package/dist/components/base/new_dropdowns/listbox/listbox_group.js +0 -58
  121. package/dist/components/base/new_dropdowns/listbox/listbox_item.js +0 -112
  122. package/dist/components/base/new_dropdowns/listbox/listbox_search_input.js +0 -94
  123. package/dist/components/base/new_dropdowns/listbox/mock_data.js +0 -131
  124. package/dist/components/base/new_dropdowns/listbox/utils.js +0 -33
  125. package/dist/components/base/pagination/pagination.js +0 -397
  126. package/dist/components/base/path/data.js +0 -34
  127. package/dist/components/base/path/path.js +0 -177
  128. package/dist/components/base/popover/popover.js +0 -142
  129. package/dist/components/base/progress_bar/progress_bar.js +0 -117
  130. package/dist/components/base/search_box_by_click/search_box_by_click.js +0 -245
  131. package/dist/components/base/search_box_by_type/search_box_by_type.js +0 -187
  132. package/dist/components/base/segmented_control/segmented_control.js +0 -73
  133. package/dist/components/base/skeleton_loader/skeleton_loader.js +0 -232
  134. package/dist/components/base/sorting/sorting.js +0 -180
  135. package/dist/components/base/table/constants.js +0 -5
  136. package/dist/components/base/table/table.js +0 -187
  137. package/dist/components/base/table_lite/table_lite.js +0 -80
  138. package/dist/components/base/tabs/constants.js +0 -3
  139. package/dist/components/base/tabs/tab/tab.js +0 -113
  140. package/dist/components/base/tabs/tabs/scrollable_tabs.js +0 -162
  141. package/dist/components/base/tabs/tabs/tabs.js +0 -223
  142. package/dist/components/base/toast/index.js +0 -66
  143. package/dist/components/base/toast/toast.js +0 -125
  144. package/dist/components/base/toast/toaster.js +0 -87
  145. package/dist/components/base/toggle/toggle.js +0 -178
  146. package/dist/components/base/token/token.js +0 -97
  147. package/dist/components/base/token_selector/helpers.js +0 -5
  148. package/dist/components/base/token_selector/token_container.js +0 -160
  149. package/dist/components/base/token_selector/token_selector.js +0 -454
  150. package/dist/components/base/token_selector/token_selector_dropdown.js +0 -223
  151. package/dist/components/base/tooltip/tooltip.js +0 -54
  152. package/dist/components/charts/area/area.js +0 -329
  153. package/dist/components/charts/bar/bar.js +0 -207
  154. package/dist/components/charts/chart/chart.js +0 -215
  155. package/dist/components/charts/column/column.js +0 -221
  156. package/dist/components/charts/discrete_scatter/discrete_scatter.js +0 -199
  157. package/dist/components/charts/gauge/gauge.js +0 -205
  158. package/dist/components/charts/heatmap/heatmap.js +0 -299
  159. package/dist/components/charts/heatmap/index.js +0 -2
  160. package/dist/components/charts/legend/legend.js +0 -245
  161. package/dist/components/charts/line/line.js +0 -340
  162. package/dist/components/charts/series_label/series_label.js +0 -101
  163. package/dist/components/charts/shared/tooltip/tooltip.js +0 -369
  164. package/dist/components/charts/shared/tooltip/tooltip_default_format/tooltip_default_format.js +0 -53
  165. package/dist/components/charts/single_stat/single_stat.js +0 -164
  166. package/dist/components/charts/sparkline/sparkline.js +0 -299
  167. package/dist/components/charts/stacked_column/stacked_column.js +0 -380
  168. package/dist/components/dashboards/dashboard_layout/dashboard_layout.js +0 -125
  169. package/dist/components/dashboards/dashboard_layout/grid_layout/grid_layout.js +0 -326
  170. package/dist/components/dashboards/dashboard_layout/validators.js +0 -14
  171. package/dist/components/dashboards/dashboard_panel/dashboard_panel.js +0 -236
  172. package/dist/components/dashboards/mock_data.js +0 -49
  173. package/dist/components/experimental/experiment_badge/constants.js +0 -4
  174. package/dist/components/experimental/experiment_badge/experiment_badge.js +0 -102
  175. package/dist/components/extended/multi_step_form_template/multi_step_form_template.js +0 -87
  176. package/dist/components/index.js +0 -107
  177. package/dist/components/mixins/button_mixin.js +0 -11
  178. package/dist/components/mixins/safe_link_mixin.js +0 -30
  179. package/dist/components/mixins/tooltip_mixin.js +0 -21
  180. package/dist/components/regions/dashboard_skeleton/dashboard_skeleton.js +0 -53
  181. package/dist/components/regions/empty_state/empty_state.js +0 -181
  182. package/dist/components/shared_components/clear_icon_button/clear_icon_button.js +0 -64
  183. package/dist/components/shared_components/clipboard_button/clipboard_button.js +0 -100
  184. package/dist/components/shared_components/close_button/close_button.js +0 -55
  185. package/dist/components/utilities/animated_number/animated_number.js +0 -131
  186. package/dist/components/utilities/friendly_wrap/friendly_wrap.js +0 -75
  187. package/dist/components/utilities/intersection_observer/intersection_observer.js +0 -88
  188. package/dist/components/utilities/intersperse/intersperse.js +0 -104
  189. package/dist/components/utilities/sprintf/sprintf.js +0 -171
  190. package/dist/components/utilities/truncate/constants.js +0 -8
  191. package/dist/components/utilities/truncate/truncate.js +0 -154
  192. package/dist/components/utilities/truncate_text/constants.js +0 -7
  193. package/dist/components/utilities/truncate_text/truncate_text.js +0 -146
  194. package/dist/config.js +0 -53
  195. package/dist/directives/hover_load/hover_load.js +0 -45
  196. package/dist/directives/index.js +0 -8
  197. package/dist/directives/modal.js +0 -1
  198. package/dist/directives/outside/outside.js +0 -149
  199. package/dist/directives/resize_observer/resize_observer.js +0 -58
  200. package/dist/directives/safe_html/constants.js +0 -6
  201. package/dist/directives/safe_html/safe_html.js +0 -39
  202. package/dist/directives/safe_link/mock_data.js +0 -10
  203. package/dist/directives/safe_link/safe_link.js +0 -67
  204. package/dist/directives/tooltip/container.js +0 -7
  205. package/dist/directives/tooltip/tooltip.js +0 -18
  206. package/dist/index.css +0 -7
  207. package/dist/index.css.map +0 -1
  208. package/dist/index.js +0 -2
  209. package/dist/tailwind.css +0 -2
  210. package/dist/tailwind.css.map +0 -1
  211. package/dist/tokens/build/js/tokens.dark.js +0 -1410
  212. package/dist/tokens/build/js/tokens.js +0 -1410
  213. package/dist/tokens/common_story_options.js +0 -29
  214. package/dist/tokens/tokens_story.js +0 -76
  215. package/dist/utils/breakpoints.js +0 -20
  216. package/dist/utils/charts/config.js +0 -616
  217. package/dist/utils/charts/constants.js +0 -69
  218. package/dist/utils/charts/mock_data.js +0 -191
  219. package/dist/utils/charts/story_config.js +0 -24
  220. package/dist/utils/charts/theme.js +0 -200
  221. package/dist/utils/charts/utils.js +0 -54
  222. package/dist/utils/constants.js +0 -333
  223. package/dist/utils/data_utils.js +0 -19
  224. package/dist/utils/datetime_utility.js +0 -61
  225. package/dist/utils/i18n.js +0 -65
  226. package/dist/utils/is_slot_empty.js +0 -34
  227. package/dist/utils/number_utils.js +0 -132
  228. package/dist/utils/play_utils.js +0 -11
  229. package/dist/utils/set_utils.js +0 -25
  230. package/dist/utils/stories_constants.js +0 -29
  231. package/dist/utils/stories_utils.js +0 -62
  232. package/dist/utils/story_decorators/container.js +0 -19
  233. package/dist/utils/string_utils.js +0 -69
  234. package/dist/utils/svgs/svg_paths.js +0 -7
  235. package/dist/utils/test_utils.js +0 -33
  236. package/dist/utils/use_fake_date.js +0 -29
  237. package/dist/utils/use_mock_intersection_observer.js +0 -105
  238. package/dist/utils/utils.js +0 -205
  239. package/dist/utils.js +0 -5
  240. package/dist/vendor/bootstrap-vue/src/bv-config.js +0 -8
  241. package/dist/vendor/bootstrap-vue/src/components/button/button-close.js +0 -66
  242. package/dist/vendor/bootstrap-vue/src/components/button/button.js +0 -176
  243. package/dist/vendor/bootstrap-vue/src/components/button/index.js +0 -2
  244. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-divider.js +0 -41
  245. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-form.js +0 -52
  246. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-group.js +0 -75
  247. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-header.js +0 -52
  248. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-item-button.js +0 -85
  249. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-item.js +0 -89
  250. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-text.js +0 -49
  251. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown.js +0 -195
  252. package/dist/vendor/bootstrap-vue/src/components/dropdown/index.js +0 -8
  253. package/dist/vendor/bootstrap-vue/src/components/form/form-invalid-feedback.js +0 -53
  254. package/dist/vendor/bootstrap-vue/src/components/form/form-text.js +0 -40
  255. package/dist/vendor/bootstrap-vue/src/components/form/form-valid-feedback.js +0 -53
  256. package/dist/vendor/bootstrap-vue/src/components/form/form.js +0 -41
  257. package/dist/vendor/bootstrap-vue/src/components/form/index.js +0 -4
  258. package/dist/vendor/bootstrap-vue/src/components/form-group/form-group.js +0 -348
  259. package/dist/vendor/bootstrap-vue/src/components/form-group/index.js +0 -1
  260. package/dist/vendor/bootstrap-vue/src/components/form-select/form-select-option-group.js +0 -54
  261. package/dist/vendor/bootstrap-vue/src/components/form-select/form-select-option.js +0 -41
  262. package/dist/vendor/bootstrap-vue/src/components/form-select/form-select.js +0 -143
  263. package/dist/vendor/bootstrap-vue/src/components/form-select/helpers/mixin-options.js +0 -56
  264. package/dist/vendor/bootstrap-vue/src/components/form-select/index.js +0 -3
  265. package/dist/vendor/bootstrap-vue/src/components/form-textarea/form-textarea.js +0 -217
  266. package/dist/vendor/bootstrap-vue/src/components/form-textarea/index.js +0 -1
  267. package/dist/vendor/bootstrap-vue/src/components/layout/col.js +0 -156
  268. package/dist/vendor/bootstrap-vue/src/components/layout/form-row.js +0 -31
  269. package/dist/vendor/bootstrap-vue/src/components/layout/index.js +0 -2
  270. package/dist/vendor/bootstrap-vue/src/components/link/index.js +0 -1
  271. package/dist/vendor/bootstrap-vue/src/components/link/link.js +0 -283
  272. package/dist/vendor/bootstrap-vue/src/components/modal/helpers/bv-modal-event.class.js +0 -21
  273. package/dist/vendor/bootstrap-vue/src/components/modal/helpers/modal-manager.js +0 -212
  274. package/dist/vendor/bootstrap-vue/src/components/modal/index.js +0 -1
  275. package/dist/vendor/bootstrap-vue/src/components/modal/modal.js +0 -887
  276. package/dist/vendor/bootstrap-vue/src/components/popover/helpers/bv-popover-template.js +0 -55
  277. package/dist/vendor/bootstrap-vue/src/components/popover/helpers/bv-popover.js +0 -31
  278. package/dist/vendor/bootstrap-vue/src/components/popover/index.js +0 -1
  279. package/dist/vendor/bootstrap-vue/src/components/popover/popover.js +0 -49
  280. package/dist/vendor/bootstrap-vue/src/components/table/helpers/constants.js +0 -22
  281. package/dist/vendor/bootstrap-vue/src/components/table/helpers/default-sort-compare.js +0 -64
  282. package/dist/vendor/bootstrap-vue/src/components/table/helpers/filter-event.js +0 -40
  283. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-bottom-row.js +0 -43
  284. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-busy.js +0 -83
  285. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-caption.js +0 -50
  286. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-colgroup.js +0 -32
  287. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-empty.js +0 -82
  288. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-filtering.js +0 -274
  289. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-items.js +0 -154
  290. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-pagination.js +0 -44
  291. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-provider.js +0 -191
  292. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-selectable.js +0 -213
  293. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-sorting.js +0 -275
  294. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-stacked.js +0 -39
  295. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-table-renderer.js +0 -186
  296. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody-row.js +0 -338
  297. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody.js +0 -243
  298. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-tfoot.js +0 -50
  299. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-thead.js +0 -218
  300. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-top-row.js +0 -42
  301. package/dist/vendor/bootstrap-vue/src/components/table/helpers/normalize-fields.js +0 -86
  302. package/dist/vendor/bootstrap-vue/src/components/table/helpers/sanitize-row.js +0 -32
  303. package/dist/vendor/bootstrap-vue/src/components/table/helpers/stringify-record-values.js +0 -11
  304. package/dist/vendor/bootstrap-vue/src/components/table/helpers/text-selection-active.js +0 -14
  305. package/dist/vendor/bootstrap-vue/src/components/table/index.js +0 -9
  306. package/dist/vendor/bootstrap-vue/src/components/table/table-lite.js +0 -51
  307. package/dist/vendor/bootstrap-vue/src/components/table/table-simple.js +0 -44
  308. package/dist/vendor/bootstrap-vue/src/components/table/table.js +0 -67
  309. package/dist/vendor/bootstrap-vue/src/components/table/tbody.js +0 -109
  310. package/dist/vendor/bootstrap-vue/src/components/table/td.js +0 -183
  311. package/dist/vendor/bootstrap-vue/src/components/table/tfoot.js +0 -93
  312. package/dist/vendor/bootstrap-vue/src/components/table/th.js +0 -26
  313. package/dist/vendor/bootstrap-vue/src/components/table/thead.js +0 -96
  314. package/dist/vendor/bootstrap-vue/src/components/table/tr.js +0 -118
  315. package/dist/vendor/bootstrap-vue/src/components/tabs/index.js +0 -2
  316. package/dist/vendor/bootstrap-vue/src/components/tabs/tab.js +0 -199
  317. package/dist/vendor/bootstrap-vue/src/components/tabs/tabs.js +0 -601
  318. package/dist/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-popper.js +0 -251
  319. package/dist/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip-template.js +0 -118
  320. package/dist/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip.js +0 -932
  321. package/dist/vendor/bootstrap-vue/src/components/tooltip/index.js +0 -1
  322. package/dist/vendor/bootstrap-vue/src/components/tooltip/tooltip.js +0 -269
  323. package/dist/vendor/bootstrap-vue/src/components/transition/bv-transition.js +0 -103
  324. package/dist/vendor/bootstrap-vue/src/components/transporter/transporter.js +0 -205
  325. package/dist/vendor/bootstrap-vue/src/constants/components.js +0 -55
  326. package/dist/vendor/bootstrap-vue/src/constants/config.js +0 -11
  327. package/dist/vendor/bootstrap-vue/src/constants/env.js +0 -36
  328. package/dist/vendor/bootstrap-vue/src/constants/events.js +0 -56
  329. package/dist/vendor/bootstrap-vue/src/constants/key-codes.js +0 -11
  330. package/dist/vendor/bootstrap-vue/src/constants/popper.js +0 -10
  331. package/dist/vendor/bootstrap-vue/src/constants/props.js +0 -24
  332. package/dist/vendor/bootstrap-vue/src/constants/regex.js +0 -35
  333. package/dist/vendor/bootstrap-vue/src/constants/safe-types.js +0 -15
  334. package/dist/vendor/bootstrap-vue/src/constants/slots.js +0 -36
  335. package/dist/vendor/bootstrap-vue/src/directives/modal/index.js +0 -1
  336. package/dist/vendor/bootstrap-vue/src/directives/modal/modal.js +0 -112
  337. package/dist/vendor/bootstrap-vue/src/directives/tooltip/index.js +0 -1
  338. package/dist/vendor/bootstrap-vue/src/directives/tooltip/tooltip.js +0 -265
  339. package/dist/vendor/bootstrap-vue/src/directives/visible/index.js +0 -1
  340. package/dist/vendor/bootstrap-vue/src/directives/visible/visible.js +0 -187
  341. package/dist/vendor/bootstrap-vue/src/mixins/attrs.js +0 -5
  342. package/dist/vendor/bootstrap-vue/src/mixins/click-out.js +0 -54
  343. package/dist/vendor/bootstrap-vue/src/mixins/dropdown.js +0 -470
  344. package/dist/vendor/bootstrap-vue/src/mixins/focus-in.js +0 -46
  345. package/dist/vendor/bootstrap-vue/src/mixins/form-control.js +0 -73
  346. package/dist/vendor/bootstrap-vue/src/mixins/form-custom.js +0 -26
  347. package/dist/vendor/bootstrap-vue/src/mixins/form-options.js +0 -91
  348. package/dist/vendor/bootstrap-vue/src/mixins/form-selection.js +0 -62
  349. package/dist/vendor/bootstrap-vue/src/mixins/form-size.js +0 -26
  350. package/dist/vendor/bootstrap-vue/src/mixins/form-state.js +0 -50
  351. package/dist/vendor/bootstrap-vue/src/mixins/form-text.js +0 -293
  352. package/dist/vendor/bootstrap-vue/src/mixins/form-validity.js +0 -50
  353. package/dist/vendor/bootstrap-vue/src/mixins/has-listener.js +0 -29
  354. package/dist/vendor/bootstrap-vue/src/mixins/id.js +0 -57
  355. package/dist/vendor/bootstrap-vue/src/mixins/listen-on-document.js +0 -63
  356. package/dist/vendor/bootstrap-vue/src/mixins/listen-on-root.js +0 -121
  357. package/dist/vendor/bootstrap-vue/src/mixins/listen-on-window.js +0 -63
  358. package/dist/vendor/bootstrap-vue/src/mixins/listeners.js +0 -25
  359. package/dist/vendor/bootstrap-vue/src/mixins/model.js +0 -10
  360. package/dist/vendor/bootstrap-vue/src/mixins/normalize-slot.js +0 -30
  361. package/dist/vendor/bootstrap-vue/src/mixins/scoped-style.js +0 -18
  362. package/dist/vendor/bootstrap-vue/src/mixins/use-parent.js +0 -14
  363. package/dist/vendor/bootstrap-vue/src/utils/array.js +0 -28
  364. package/dist/vendor/bootstrap-vue/src/utils/bv-event.class.js +0 -60
  365. package/dist/vendor/bootstrap-vue/src/utils/cache.js +0 -60
  366. package/dist/vendor/bootstrap-vue/src/utils/clone-deep.js +0 -18
  367. package/dist/vendor/bootstrap-vue/src/utils/config-set.js +0 -86
  368. package/dist/vendor/bootstrap-vue/src/utils/config.js +0 -71
  369. package/dist/vendor/bootstrap-vue/src/utils/create-new-child-component.js +0 -133
  370. package/dist/vendor/bootstrap-vue/src/utils/css-escape.js +0 -70
  371. package/dist/vendor/bootstrap-vue/src/utils/dom.js +0 -298
  372. package/dist/vendor/bootstrap-vue/src/utils/element-to-vue-instance-registry.js +0 -28
  373. package/dist/vendor/bootstrap-vue/src/utils/env.js +0 -16
  374. package/dist/vendor/bootstrap-vue/src/utils/events.js +0 -78
  375. package/dist/vendor/bootstrap-vue/src/utils/get-event-root.js +0 -5
  376. package/dist/vendor/bootstrap-vue/src/utils/get-instance-from-directive.js +0 -3
  377. package/dist/vendor/bootstrap-vue/src/utils/get-scope-id.js +0 -9
  378. package/dist/vendor/bootstrap-vue/src/utils/get.js +0 -63
  379. package/dist/vendor/bootstrap-vue/src/utils/html.js +0 -16
  380. package/dist/vendor/bootstrap-vue/src/utils/identity.js +0 -3
  381. package/dist/vendor/bootstrap-vue/src/utils/inspect.js +0 -35
  382. package/dist/vendor/bootstrap-vue/src/utils/locale.js +0 -19
  383. package/dist/vendor/bootstrap-vue/src/utils/loose-equal.js +0 -59
  384. package/dist/vendor/bootstrap-vue/src/utils/loose-index-of.js +0 -13
  385. package/dist/vendor/bootstrap-vue/src/utils/math.js +0 -9
  386. package/dist/vendor/bootstrap-vue/src/utils/memoize.js +0 -14
  387. package/dist/vendor/bootstrap-vue/src/utils/model.js +0 -33
  388. package/dist/vendor/bootstrap-vue/src/utils/noop.js +0 -3
  389. package/dist/vendor/bootstrap-vue/src/utils/normalize-slot.js +0 -51
  390. package/dist/vendor/bootstrap-vue/src/utils/number.js +0 -23
  391. package/dist/vendor/bootstrap-vue/src/utils/object.js +0 -72
  392. package/dist/vendor/bootstrap-vue/src/utils/observe-dom.js +0 -76
  393. package/dist/vendor/bootstrap-vue/src/utils/on-instance-destroy.js +0 -22
  394. package/dist/vendor/bootstrap-vue/src/utils/plugins.js +0 -124
  395. package/dist/vendor/bootstrap-vue/src/utils/props.js +0 -67
  396. package/dist/vendor/bootstrap-vue/src/utils/router.js +0 -150
  397. package/dist/vendor/bootstrap-vue/src/utils/safe-vue-instance.js +0 -14
  398. package/dist/vendor/bootstrap-vue/src/utils/stable-sort.js +0 -28
  399. package/dist/vendor/bootstrap-vue/src/utils/string.js +0 -47
  400. package/dist/vendor/bootstrap-vue/src/utils/stringify-object-values.js +0 -31
  401. package/dist/vendor/bootstrap-vue/src/utils/warn.js +0 -45
  402. package/dist/vendor/bootstrap-vue/src/vue.js +0 -55
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gitlab/ui",
3
- "version": "131.2.0",
3
+ "version": "131.3.1",
4
4
  "description": "GitLab UI Components",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -72,7 +72,7 @@
72
72
  "echarts": "^5.6.0",
73
73
  "gridstack": "^12.4.2",
74
74
  "iframe-resizer": "^4.4.5",
75
- "lodash-es": "^4.17.23",
75
+ "lodash-es": "^4.18.1",
76
76
  "popper.js": "^1.16.1",
77
77
  "portal-vue": "2.1.7",
78
78
  "vue-functional-data-merge": "^3.1.0",
@@ -90,7 +90,7 @@
90
90
  "chokidar": "^4.0.3",
91
91
  "sane": "^5.0.1",
92
92
  "jackspeak": "2.1.1",
93
- "postcss": "8.5.8",
93
+ "postcss": "8.5.9",
94
94
  "json5": "2.2.3",
95
95
  "rollup-plugin-vue/@vue/component-compiler/postcss-modules-sync/generic-names/loader-utils": "3.3.1"
96
96
  },
@@ -122,9 +122,9 @@
122
122
  "@storybook/vue3": "^7.6.24",
123
123
  "@storybook/vue3-webpack5": "^7.6.24",
124
124
  "@types/jest-image-snapshot": "^6.4.1",
125
- "@vue/compat": "3.5.30",
126
- "@vue/compiler-sfc": "3.5.30",
127
- "@vue/server-renderer": "3.5.30",
125
+ "@vue/compat": "3.5.32",
126
+ "@vue/compiler-sfc": "3.5.32",
127
+ "@vue/server-renderer": "3.5.32",
128
128
  "@vue/test-utils": "1.3.6",
129
129
  "@vue/test-utils-vue3": "npm:@vue/test-utils@^2.4.6",
130
130
  "@vue/vue2-jest": "29.2.6",
@@ -135,7 +135,7 @@
135
135
  "autoprefixer": "10.4.27",
136
136
  "axe-playwright": "^2.2.2",
137
137
  "babel-loader": "^9.2.1",
138
- "cypress": "15.13.0",
138
+ "cypress": "15.13.1",
139
139
  "cypress-real-events": "^1.15.0",
140
140
  "dompurify": "^3.1.2",
141
141
  "emoji-regex": "^10.6.0",
@@ -150,9 +150,9 @@
150
150
  "mockdate": "^3.0.5",
151
151
  "module-alias": "^2.3.4",
152
152
  "pikaday": "^1.8.0",
153
- "playwright": "^1.58.2",
154
- "playwright-core": "^1.58.2",
155
- "postcss": "8.5.8",
153
+ "playwright": "^1.59.1",
154
+ "playwright-core": "^1.59.1",
155
+ "postcss": "8.5.9",
156
156
  "postcss-loader": "8.2.1",
157
157
  "postcss-scss": "4.0.9",
158
158
  "react": "18.3.1",
@@ -163,7 +163,7 @@
163
163
  "rollup-plugin-string": "^3.0.0",
164
164
  "rollup-plugin-svg": "^2.0.0",
165
165
  "rollup-plugin-vue": "^5.1.9",
166
- "sass": "^1.98.0",
166
+ "sass": "^1.99.0",
167
167
  "sass-loader": "^10.5.2",
168
168
  "sass-true": "^9",
169
169
  "start-server-and-test": "^2.1.5",
@@ -1,7 +1,6 @@
1
1
  <script>
2
2
  import { uniqueId, isBoolean } from 'lodash-es';
3
- import { looseEqual } from '../../../../vendor/bootstrap-vue/src/utils/loose-equal';
4
- import { looseIndexOf } from '../../../../vendor/bootstrap-vue/src/utils/loose-index-of';
3
+ import { looseEqual, looseIndexOf } from '../../../../utils/equality_utils';
5
4
 
6
5
  export default {
7
6
  name: 'GlFormCheckbox',
@@ -1,6 +1,6 @@
1
1
  <script>
2
2
  import { uniqueId, isBoolean, omit, pick } from 'lodash-es';
3
- import { looseEqual } from '../../../../vendor/bootstrap-vue/src/utils/loose-equal';
3
+ import { looseEqual } from '../../../../utils/equality_utils';
4
4
  import { formOptionsMixin } from '../../../../vendor/bootstrap-vue/src/mixins/form-options';
5
5
  import { SafeHtmlDirective as SafeHtml } from '../../../../directives/safe_html/safe_html';
6
6
  import GlFormCheckbox from './form_checkbox.vue';
@@ -1,6 +1,6 @@
1
1
  <script>
2
2
  import { isBoolean, uniqueId } from 'lodash-es';
3
- import { looseEqual } from '../../../../vendor/bootstrap-vue/src/utils/loose-equal';
3
+ import { looseEqual } from '../../../../utils/equality_utils';
4
4
 
5
5
  export default {
6
6
  name: 'GlFormRadio',
@@ -1,6 +1,6 @@
1
1
  <script>
2
2
  import { uniqueId, isBoolean, omit, pick } from 'lodash-es';
3
- import { looseEqual } from '../../../../vendor/bootstrap-vue/src/utils/loose-equal';
3
+ import { looseEqual } from '../../../../utils/equality_utils';
4
4
  import { formOptionsMixin } from '../../../../vendor/bootstrap-vue/src/mixins/form-options';
5
5
  import { SafeHtmlDirective as SafeHtml } from '../../../../directives/safe_html/safe_html';
6
6
  import GlFormRadio from '../form_radio/form_radio.vue';
@@ -23,6 +23,14 @@ table.gl-table {
23
23
  }
24
24
  }
25
25
 
26
+ &.table-borderless {
27
+ tr {
28
+ td {
29
+ @apply gl-border-b-0;
30
+ }
31
+ }
32
+ }
33
+
26
34
  thead tr th {
27
35
  @apply gl-font-bold gl-text-heading;
28
36
 
@@ -6,8 +6,10 @@
6
6
  .gl-truncate-start,
7
7
  .gl-truncate-end {
8
8
  flex: 0 1 auto;
9
+ min-width: 0;
9
10
  white-space: nowrap;
10
- overflow: hidden;
11
+ overflow-x: clip;
12
+ overflow-y: visible;
11
13
  }
12
14
 
13
15
  .gl-truncate-start {
@@ -2,7 +2,9 @@
2
2
 
3
3
  @mixin str-truncated($max-width: 82%) {
4
4
  display: inline-block;
5
- overflow: hidden;
5
+ min-width: 0;
6
+ overflow-x: clip;
7
+ overflow-y: visible;
6
8
  text-overflow: ellipsis;
7
9
  vertical-align: top;
8
10
  white-space: nowrap;
@@ -0,0 +1,82 @@
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
+ export 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
+ export 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
+ }
@@ -4,16 +4,31 @@ import { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'
4
4
  import { SLOT_NAME_DEFAULT } from '../../constants/slots'
5
5
  import { stopEvent } from '../../utils/events'
6
6
  import { isEvent } from '../../utils/inspect'
7
- import { makeProp } from '../../utils/props'
8
7
  import { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot'
9
8
 
10
9
  // --- Props ---
11
10
 
12
11
  export const props = {
13
- ariaLabel: makeProp(PROP_TYPE_STRING, 'Close'),
14
- content: makeProp(PROP_TYPE_STRING, '&times;'),
15
- disabled: makeProp(PROP_TYPE_BOOLEAN, false),
16
- textVariant: makeProp(PROP_TYPE_STRING)
12
+ ariaLabel: {
13
+ type: PROP_TYPE_STRING,
14
+ required: false,
15
+ default: 'Close'
16
+ },
17
+ content: {
18
+ type: PROP_TYPE_STRING,
19
+ required: false,
20
+ default: '&times;'
21
+ },
22
+ disabled: {
23
+ type: PROP_TYPE_BOOLEAN,
24
+ required: false,
25
+ default: false
26
+ },
27
+ textVariant: {
28
+ type: PROP_TYPE_STRING,
29
+ required: false,
30
+ default: undefined
31
+ }
17
32
  }
18
33
 
19
34
  // --- Main component ---
@@ -7,7 +7,7 @@ import { addClass, isTag, removeClass } from '../../utils/dom'
7
7
  import { stopEvent } from '../../utils/events'
8
8
  import { isBoolean, isEvent, isFunction } from '../../utils/inspect'
9
9
  import { omit, sortKeys } from '../../utils/object'
10
- import { makeProp, pluckProps } from '../../utils/props'
10
+ import { pluckProps } from '../../utils/props'
11
11
  import { isLink as isLinkStrict } from '../../utils/router'
12
12
  import { BLink, props as BLinkProps } from '../link/link'
13
13
 
@@ -19,15 +19,43 @@ delete linkProps.to.default
19
19
 
20
20
  export const props = sortKeys({
21
21
  ...linkProps,
22
- block: makeProp(PROP_TYPE_BOOLEAN, false),
23
- disabled: makeProp(PROP_TYPE_BOOLEAN, false),
22
+ block: {
23
+ type: PROP_TYPE_BOOLEAN,
24
+ required: false,
25
+ default: false
26
+ },
27
+ disabled: {
28
+ type: PROP_TYPE_BOOLEAN,
29
+ required: false,
30
+ default: false
31
+ },
24
32
  // Tri-state: `true`, `false` or `null`
25
33
  // => On, off, not a toggle
26
- pressed: makeProp(PROP_TYPE_BOOLEAN, null),
27
- size: makeProp(PROP_TYPE_STRING),
28
- tag: makeProp(PROP_TYPE_STRING, 'button'),
29
- type: makeProp(PROP_TYPE_STRING, 'button'),
30
- variant: makeProp(PROP_TYPE_STRING, 'secondary')
34
+ pressed: {
35
+ type: PROP_TYPE_BOOLEAN,
36
+ required: false,
37
+ default: null
38
+ },
39
+ size: {
40
+ type: PROP_TYPE_STRING,
41
+ required: false,
42
+ default: undefined
43
+ },
44
+ tag: {
45
+ type: PROP_TYPE_STRING,
46
+ required: false,
47
+ default: 'button'
48
+ },
49
+ type: {
50
+ type: PROP_TYPE_STRING,
51
+ required: false,
52
+ default: 'button'
53
+ },
54
+ variant: {
55
+ type: PROP_TYPE_STRING,
56
+ required: false,
57
+ default: 'secondary'
58
+ }
31
59
  })
32
60
 
33
61
  // --- Helper methods ---
@@ -1,10 +1,10 @@
1
1
  import { extend } from '../../vue'
2
2
  import { NAME_DROPDOWN_ITEM } from '../../constants/components'
3
3
  import { EVENT_NAME_CLICK } from '../../constants/events'
4
- import { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props'
4
+ import { PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../constants/props'
5
5
  import { requestAF } from '../../utils/dom'
6
6
  import { omit, sortKeys } from '../../utils/object'
7
- import { makeProp, pluckProps } from '../../utils/props'
7
+ import { pluckProps } from '../../utils/props'
8
8
  import { attrsMixin } from '../../mixins/attrs'
9
9
  import { normalizeSlotMixin } from '../../mixins/normalize-slot'
10
10
  import { BLink, props as BLinkProps } from '../link/link'
@@ -15,8 +15,16 @@ const linkProps = omit(BLinkProps, ['event', 'routerTag'])
15
15
 
16
16
  export const props = sortKeys({
17
17
  ...linkProps,
18
- linkClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
19
- variant: makeProp(PROP_TYPE_STRING)
18
+ linkClass: {
19
+ type: [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING],
20
+ required: false,
21
+ default: undefined
22
+ },
23
+ variant: {
24
+ type: PROP_TYPE_STRING,
25
+ required: false,
26
+ default: undefined
27
+ }
20
28
  })
21
29
 
22
30
  // --- Main component ---
@@ -1,15 +1,26 @@
1
1
  import { extend, mergeData } from '../../vue'
2
2
  import { NAME_DROPDOWN_TEXT } from '../../constants/components'
3
- import { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props'
3
+ import { PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../constants/props'
4
4
  import { omit } from '../../utils/object'
5
- import { makeProp } from '../../utils/props'
6
5
 
7
6
  // --- Props ---
8
7
 
9
8
  export const props = {
10
- tag: makeProp(PROP_TYPE_STRING, 'p'),
11
- textClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
12
- variant: makeProp(PROP_TYPE_STRING)
9
+ tag: {
10
+ type: PROP_TYPE_STRING,
11
+ required: false,
12
+ default: 'p'
13
+ },
14
+ textClass: {
15
+ type: [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING],
16
+ required: false,
17
+ default: undefined
18
+ },
19
+ variant: {
20
+ type: PROP_TYPE_STRING,
21
+ required: false,
22
+ default: undefined
23
+ }
13
24
  }
14
25
 
15
26
  // --- Main component ---
@@ -1,16 +1,14 @@
1
1
  import { extend } from '../../vue'
2
2
  import { NAME_DROPDOWN } from '../../constants/components'
3
3
  import {
4
- PROP_TYPE_ARRAY_OBJECT_STRING,
4
+ PROP_TYPE_ARRAY,
5
5
  PROP_TYPE_BOOLEAN,
6
6
  PROP_TYPE_OBJECT,
7
- PROP_TYPE_OBJECT_STRING,
8
7
  PROP_TYPE_STRING
9
8
  } from '../../constants/props'
10
9
  import { SLOT_NAME_BUTTON_CONTENT, SLOT_NAME_DEFAULT } from '../../constants/slots'
11
10
  import { arrayIncludes } from '../../utils/array'
12
11
  import { htmlOrText } from '../../utils/html'
13
- import { makeProp } from '../../utils/props'
14
12
  import { toString } from '../../utils/string'
15
13
  import { dropdownMixin, props as dropdownProps } from '../../mixins/dropdown'
16
14
  import { idMixin, props as idProps } from '../../mixins/id'
@@ -23,29 +21,106 @@ import { sortKeys } from '../../utils/object'
23
21
  export const props = sortKeys({
24
22
  ...idProps,
25
23
  ...dropdownProps,
26
- block: makeProp(PROP_TYPE_BOOLEAN, false),
27
- html: makeProp(PROP_TYPE_STRING),
24
+ block: {
25
+ type: PROP_TYPE_BOOLEAN,
26
+ required: false,
27
+ default: false
28
+ },
29
+ html: {
30
+ type: PROP_TYPE_STRING,
31
+ required: false,
32
+ default: undefined
33
+ },
28
34
  // If `true`, only render menu contents when open
29
- lazy: makeProp(PROP_TYPE_BOOLEAN, false),
30
- menuClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
31
- noCaret: makeProp(PROP_TYPE_BOOLEAN, false),
32
- role: makeProp(PROP_TYPE_STRING, 'menu'),
33
- size: makeProp(PROP_TYPE_STRING),
34
- split: makeProp(PROP_TYPE_BOOLEAN, false),
35
- splitButtonType: makeProp(PROP_TYPE_STRING, 'button', value => {
36
- return arrayIncludes(['button', 'submit', 'reset'], value)
37
- }),
38
- splitClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
39
- splitHref: makeProp(PROP_TYPE_STRING),
40
- splitTo: makeProp(PROP_TYPE_OBJECT_STRING),
41
- splitVariant: makeProp(PROP_TYPE_STRING),
42
- text: makeProp(PROP_TYPE_STRING),
43
- toggleAttrs: makeProp(PROP_TYPE_OBJECT, {}),
44
- toggleClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
45
- toggleTag: makeProp(PROP_TYPE_STRING, 'button'),
35
+ lazy: {
36
+ type: PROP_TYPE_BOOLEAN,
37
+ required: false,
38
+ default: false
39
+ },
40
+ menuClass: {
41
+ type: [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING],
42
+ required: false,
43
+ default: undefined
44
+ },
45
+ noCaret: {
46
+ type: PROP_TYPE_BOOLEAN,
47
+ required: false,
48
+ default: false
49
+ },
50
+ role: {
51
+ type: PROP_TYPE_STRING,
52
+ required: false,
53
+ default: 'menu'
54
+ },
55
+ size: {
56
+ type: PROP_TYPE_STRING,
57
+ required: false,
58
+ default: undefined
59
+ },
60
+ split: {
61
+ type: PROP_TYPE_BOOLEAN,
62
+ required: false,
63
+ default: false
64
+ },
65
+ splitButtonType: {
66
+ type: PROP_TYPE_STRING,
67
+ required: false,
68
+ default: 'button',
69
+ validator: value => {
70
+ return arrayIncludes(['button', 'submit', 'reset'], value)
71
+ }
72
+ },
73
+ splitClass: {
74
+ type: [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING],
75
+ required: false,
76
+ default: undefined
77
+ },
78
+ splitHref: {
79
+ type: PROP_TYPE_STRING,
80
+ required: false,
81
+ default: undefined
82
+ },
83
+ splitTo: {
84
+ type: [PROP_TYPE_OBJECT, PROP_TYPE_STRING],
85
+ required: false,
86
+ default: undefined
87
+ },
88
+ splitVariant: {
89
+ type: PROP_TYPE_STRING,
90
+ required: false,
91
+ default: undefined
92
+ },
93
+ text: {
94
+ type: PROP_TYPE_STRING,
95
+ required: false,
96
+ default: undefined
97
+ },
98
+ toggleAttrs: {
99
+ type: PROP_TYPE_OBJECT,
100
+ required: false,
101
+ default: () => ({})
102
+ },
103
+ toggleClass: {
104
+ type: [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING],
105
+ required: false,
106
+ default: undefined
107
+ },
108
+ toggleTag: {
109
+ type: PROP_TYPE_STRING,
110
+ required: false,
111
+ default: 'button'
112
+ },
46
113
  // TODO: This really should be `toggleLabel`
47
- toggleText: makeProp(PROP_TYPE_STRING, 'Toggle dropdown'),
48
- variant: makeProp(PROP_TYPE_STRING, 'secondary')
114
+ toggleText: {
115
+ type: PROP_TYPE_STRING,
116
+ required: false,
117
+ default: 'Toggle dropdown'
118
+ },
119
+ variant: {
120
+ type: PROP_TYPE_STRING,
121
+ required: false,
122
+ default: 'secondary'
123
+ }
49
124
  })
50
125
 
51
126
  // --- Main component ---
@@ -1,15 +1,30 @@
1
1
  import { extend, mergeData } from '../../vue'
2
2
  import { NAME_FORM_TEXT } from '../../constants/components'
3
3
  import { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'
4
- import { makeProp } from '../../utils/props'
5
4
 
6
5
  // --- Props ---
7
6
 
8
7
  export const props = {
9
- id: makeProp(PROP_TYPE_STRING),
10
- inline: makeProp(PROP_TYPE_BOOLEAN, false),
11
- tag: makeProp(PROP_TYPE_STRING, 'small'),
12
- textVariant: makeProp(PROP_TYPE_STRING, 'muted')
8
+ id: {
9
+ type: PROP_TYPE_STRING,
10
+ required: false,
11
+ default: undefined
12
+ },
13
+ inline: {
14
+ type: PROP_TYPE_BOOLEAN,
15
+ required: false,
16
+ default: false
17
+ },
18
+ tag: {
19
+ type: PROP_TYPE_STRING,
20
+ required: false,
21
+ default: 'small'
22
+ },
23
+ textVariant: {
24
+ type: PROP_TYPE_STRING,
25
+ required: false,
26
+ default: 'muted'
27
+ }
13
28
  }
14
29
 
15
30
  // --- Main component ---
@@ -1,15 +1,30 @@
1
1
  import { extend, mergeData } from '../../vue'
2
2
  import { NAME_FORM } from '../../constants/components'
3
3
  import { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'
4
- import { makeProp } from '../../utils/props'
5
4
 
6
5
  // --- Props ---
7
6
 
8
7
  export const props = {
9
- id: makeProp(PROP_TYPE_STRING),
10
- inline: makeProp(PROP_TYPE_BOOLEAN, false),
11
- novalidate: makeProp(PROP_TYPE_BOOLEAN, false),
12
- validated: makeProp(PROP_TYPE_BOOLEAN, false)
8
+ id: {
9
+ type: PROP_TYPE_STRING,
10
+ required: false,
11
+ default: undefined
12
+ },
13
+ inline: {
14
+ type: PROP_TYPE_BOOLEAN,
15
+ required: false,
16
+ default: false
17
+ },
18
+ novalidate: {
19
+ type: PROP_TYPE_BOOLEAN,
20
+ required: false,
21
+ default: false
22
+ },
23
+ validated: {
24
+ type: PROP_TYPE_BOOLEAN,
25
+ required: false,
26
+ default: false
27
+ }
13
28
  }
14
29
 
15
30
  // --- Main component ---
@@ -1,12 +1,15 @@
1
1
  import { extend, mergeData } from '../../vue'
2
2
  import { NAME_FORM_ROW } from '../../constants/components'
3
3
  import { PROP_TYPE_STRING } from '../../constants/props'
4
- import { makeProp } from '../../utils/props'
5
4
 
6
5
  // --- Props ---
7
6
 
8
7
  export const props = {
9
- tag: makeProp(PROP_TYPE_STRING, 'div')
8
+ tag: {
9
+ type: PROP_TYPE_STRING,
10
+ required: false,
11
+ default: 'div'
12
+ }
10
13
  }
11
14
 
12
15
  // --- Main component ---
@@ -1,7 +1,6 @@
1
1
  import { extend } from '../../vue'
2
2
  import { NAME_TBODY } from '../../constants/components'
3
3
  import { PROP_TYPE_OBJECT } from '../../constants/props'
4
- import { makeProp } from '../../utils/props'
5
4
  import { attrsMixin } from '../../mixins/attrs'
6
5
  import { listenersMixin } from '../../mixins/listeners'
7
6
  import { normalizeSlotMixin } from '../../mixins/normalize-slot'
@@ -9,8 +8,16 @@ import { normalizeSlotMixin } from '../../mixins/normalize-slot'
9
8
  // --- Props ---
10
9
 
11
10
  export const props = {
12
- tbodyTransitionHandlers: makeProp(PROP_TYPE_OBJECT),
13
- tbodyTransitionProps: makeProp(PROP_TYPE_OBJECT)
11
+ tbodyTransitionHandlers: {
12
+ type: PROP_TYPE_OBJECT,
13
+ required: false,
14
+ default: undefined
15
+ },
16
+ tbodyTransitionProps: {
17
+ type: PROP_TYPE_OBJECT,
18
+ required: false,
19
+ default: undefined
20
+ }
14
21
  }
15
22
 
16
23
  // --- Main component ---