@gitlab/ui 132.1.0 → 132.2.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 (232) hide show
  1. package/dist/components/base/accordion/accordion_item.js +1 -3
  2. package/dist/components/base/avatar/avatar.js +76 -5
  3. package/dist/components/base/badge/badge.js +5 -7
  4. package/dist/components/base/button/button.js +1 -3
  5. package/dist/components/base/collapse/collapse.js +2 -6
  6. package/dist/components/base/datepicker/datepicker.js +4 -5
  7. package/dist/components/base/daterange_picker/daterange_picker.js +2 -4
  8. package/dist/components/base/dropdown/dropdown_item.js +3 -4
  9. package/dist/components/base/filtered_search/filtered_search.js +55 -7
  10. package/dist/components/base/filtered_search/filtered_search_token.js +6 -14
  11. package/dist/components/base/filtered_search/filtered_search_token_segment.js +39 -19
  12. package/dist/components/base/filtered_search/filtered_search_utils.js +57 -7
  13. package/dist/components/base/form/form_checkbox/form_checkbox.js +13 -26
  14. package/dist/components/base/form/form_checkbox/form_checkbox_group.js +1 -3
  15. package/dist/components/base/form/form_fields/form_fields_loop.js +57 -6
  16. package/dist/components/base/form/form_group/form_group.js +1 -3
  17. package/dist/components/base/form/form_input/form_input.js +95 -41
  18. package/dist/components/base/form/form_input_group/form_input_group.js +2 -4
  19. package/dist/components/base/form/form_radio/form_radio.js +5 -9
  20. package/dist/components/base/form/form_radio_group/form_radio_group.js +1 -3
  21. package/dist/components/base/form/form_select/form_select.js +76 -5
  22. package/dist/components/base/infinite_scroll/infinite_scroll.js +7 -14
  23. package/dist/components/base/link/link.js +26 -7
  24. package/dist/components/base/new_dropdowns/base_dropdown/base_dropdown.js +93 -32
  25. package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown.js +2 -6
  26. package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown_item.js +2 -6
  27. package/dist/components/base/new_dropdowns/listbox/listbox.js +5 -13
  28. package/dist/components/base/new_dropdowns/listbox/listbox_item.js +1 -3
  29. package/dist/components/base/new_dropdowns/listbox/mock_data.js +2 -6
  30. package/dist/components/base/new_dropdowns/listbox/utils.js +6 -11
  31. package/dist/components/base/path/path.js +1 -5
  32. package/dist/components/base/search_box_by_type/search_box_by_type.js +2 -6
  33. package/dist/components/base/skeleton_loader/skeleton_loader.js +3 -5
  34. package/dist/components/base/table/table.js +32 -21
  35. package/dist/components/base/table_lite/table_lite.js +1 -3
  36. package/dist/components/base/tabs/tab/tab.js +1 -3
  37. package/dist/components/base/tabs/tabs/scrollable_tabs.js +1 -5
  38. package/dist/components/base/token_selector/token_selector.js +2 -6
  39. package/dist/components/charts/area/area.js +6 -7
  40. package/dist/components/charts/column/column.js +11 -15
  41. package/dist/components/charts/discrete_scatter/discrete_scatter.js +57 -5
  42. package/dist/components/charts/gauge/gauge.js +13 -21
  43. package/dist/components/charts/heatmap/heatmap.js +66 -18
  44. package/dist/components/charts/legend/legend.js +59 -13
  45. package/dist/components/charts/line/line.js +6 -7
  46. package/dist/components/charts/shared/tooltip/tooltip.js +11 -18
  47. package/dist/components/charts/sparkline/sparkline.js +72 -19
  48. package/dist/components/charts/stacked_column/stacked_column.js +18 -31
  49. package/dist/components/dashboards/dashboard_layout/grid_layout/grid_layout.js +37 -21
  50. package/dist/components/utilities/friendly_wrap/friendly_wrap.js +3 -7
  51. package/dist/components/utilities/intersperse/intersperse.js +6 -11
  52. package/dist/components/utilities/sprintf/sprintf.js +58 -7
  53. package/dist/components/utilities/truncate/truncate.js +2 -4
  54. package/dist/components/utilities/truncate_text/truncate_text.js +1 -3
  55. package/dist/config.js +3 -4
  56. package/dist/directives/hover_load/hover_load.js +1 -3
  57. package/dist/directives/outside/outside.js +9 -16
  58. package/dist/directives/resize_observer/resize_observer.js +6 -8
  59. package/dist/directives/safe_html/safe_html.js +1 -3
  60. package/dist/directives/safe_link/safe_link.js +11 -14
  61. package/dist/index.css +2 -2
  62. package/dist/index.css.map +1 -1
  63. package/dist/tokens/build/js/tokens.dark.js +95 -95
  64. package/dist/tokens/build/js/tokens.js +74 -74
  65. package/dist/tokens/common_story_options.js +7 -8
  66. package/dist/utils/charts/config.js +122 -90
  67. package/dist/utils/constants.js +26 -1
  68. package/dist/utils/data_utils.js +28 -1
  69. package/dist/utils/form_options_utils.js +4 -6
  70. package/dist/utils/is_slot_empty.js +3 -5
  71. package/dist/utils/stories_utils.js +8 -8
  72. package/dist/utils/use_mock_intersection_observer.js +63 -12
  73. package/dist/utils/utils.js +76 -19
  74. package/dist/vendor/bootstrap-vue/src/components/button/button-close.js +8 -11
  75. package/dist/vendor/bootstrap-vue/src/components/button/button.js +12 -17
  76. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-divider.js +3 -6
  77. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-form.js +6 -9
  78. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-group.js +14 -19
  79. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-header.js +8 -13
  80. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-item-button.js +9 -12
  81. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-item.js +8 -11
  82. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-text.js +9 -14
  83. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown.js +34 -43
  84. package/dist/vendor/bootstrap-vue/src/components/form/form-invalid-feedback.js +5 -9
  85. package/dist/vendor/bootstrap-vue/src/components/form/form-text.js +7 -10
  86. package/dist/vendor/bootstrap-vue/src/components/form/form-valid-feedback.js +5 -9
  87. package/dist/vendor/bootstrap-vue/src/components/form/form.js +7 -10
  88. package/dist/vendor/bootstrap-vue/src/components/form-group/form-group.js +25 -33
  89. package/dist/vendor/bootstrap-vue/src/components/form-select/form-select-option-group.js +6 -11
  90. package/dist/vendor/bootstrap-vue/src/components/form-select/form-select-option.js +6 -12
  91. package/dist/vendor/bootstrap-vue/src/components/form-select/form-select.js +28 -29
  92. package/dist/vendor/bootstrap-vue/src/components/form-textarea/form-textarea.js +7 -10
  93. package/dist/vendor/bootstrap-vue/src/components/layout/col.js +7 -11
  94. package/dist/vendor/bootstrap-vue/src/components/layout/form-row.js +3 -5
  95. package/dist/vendor/bootstrap-vue/src/components/link/link.js +19 -31
  96. package/dist/vendor/bootstrap-vue/src/components/modal/helpers/modal-manager.js +3 -4
  97. package/dist/vendor/bootstrap-vue/src/components/modal/modal.js +59 -68
  98. package/dist/vendor/bootstrap-vue/src/components/popover/helpers/bv-popover-template.js +2 -4
  99. package/dist/vendor/bootstrap-vue/src/components/popover/popover.js +4 -5
  100. package/dist/vendor/bootstrap-vue/src/components/table/helpers/default-sort-compare.js +11 -7
  101. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-bottom-row.js +4 -6
  102. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-busy.js +3 -6
  103. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-caption.js +4 -7
  104. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-colgroup.js +1 -3
  105. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-empty.js +16 -20
  106. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-filtering.js +14 -25
  107. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-items.js +23 -35
  108. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-pagination.js +6 -8
  109. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-provider.js +8 -10
  110. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-selectable.js +8 -15
  111. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-sorting.js +33 -41
  112. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-stacked.js +3 -8
  113. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-table-renderer.js +38 -50
  114. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody-row.js +19 -31
  115. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody.js +13 -23
  116. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-tfoot.js +5 -6
  117. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-thead.js +17 -21
  118. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-top-row.js +4 -6
  119. package/dist/vendor/bootstrap-vue/src/components/table/helpers/sanitize-row.js +1 -3
  120. package/dist/vendor/bootstrap-vue/src/components/table/tbody.js +3 -6
  121. package/dist/vendor/bootstrap-vue/src/components/table/td.js +9 -14
  122. package/dist/vendor/bootstrap-vue/src/components/table/tfoot.js +1 -2
  123. package/dist/vendor/bootstrap-vue/src/components/table/thead.js +1 -2
  124. package/dist/vendor/bootstrap-vue/src/components/table/tr.js +2 -5
  125. package/dist/vendor/bootstrap-vue/src/components/tabs/tab.js +19 -36
  126. package/dist/vendor/bootstrap-vue/src/components/tabs/tabs.js +66 -81
  127. package/dist/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-popper.js +2 -6
  128. package/dist/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip-template.js +5 -11
  129. package/dist/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip.js +8 -14
  130. package/dist/vendor/bootstrap-vue/src/components/tooltip/tooltip.js +19 -22
  131. package/dist/vendor/bootstrap-vue/src/components/transition/bv-transition.js +7 -10
  132. package/dist/vendor/bootstrap-vue/src/components/transporter/transporter.js +7 -14
  133. package/dist/vendor/bootstrap-vue/src/directives/modal/modal.js +4 -5
  134. package/dist/vendor/bootstrap-vue/src/directives/visible/visible.js +5 -9
  135. package/dist/vendor/bootstrap-vue/src/mixins/dropdown.js +17 -29
  136. package/dist/vendor/bootstrap-vue/src/mixins/form-control.js +6 -7
  137. package/dist/vendor/bootstrap-vue/src/mixins/form-custom.js +1 -2
  138. package/dist/vendor/bootstrap-vue/src/mixins/form-options.js +5 -6
  139. package/dist/vendor/bootstrap-vue/src/mixins/form-size.js +1 -2
  140. package/dist/vendor/bootstrap-vue/src/mixins/form-state.js +1 -2
  141. package/dist/vendor/bootstrap-vue/src/mixins/form-text.js +29 -43
  142. package/dist/vendor/bootstrap-vue/src/mixins/id.js +1 -2
  143. package/dist/vendor/bootstrap-vue/src/utils/create-new-child-component.js +62 -15
  144. package/dist/vendor/bootstrap-vue/src/utils/dom.js +3 -9
  145. package/dist/vendor/bootstrap-vue/src/utils/events.js +7 -5
  146. package/dist/vendor/bootstrap-vue/src/utils/plugins.js +4 -5
  147. package/dist/vendor/bootstrap-vue/src/utils/router.js +9 -13
  148. package/package.json +9 -7
  149. package/src/scss/gitlab_ui.scss +3 -0
  150. package/src/scss/storybook.scss +3 -0
  151. package/src/scss/themes.scss +84 -0
  152. package/src/tokens/build/css/tokens.css +142 -142
  153. package/src/tokens/build/css/tokens.dark.css +138 -138
  154. package/src/tokens/build/docs/tokens-tailwind-docs.dark.json +580 -580
  155. package/src/tokens/build/docs/tokens-tailwind-docs.json +495 -495
  156. package/src/tokens/build/figma/constants.dark.json +799 -799
  157. package/src/tokens/build/figma/constants.json +799 -799
  158. package/src/tokens/build/js/tokens.dark.js +95 -95
  159. package/src/tokens/build/js/tokens.js +74 -74
  160. package/src/tokens/build/json/tokens.dark.json +1668 -1668
  161. package/src/tokens/build/json/tokens.json +1647 -1647
  162. package/src/tokens/build/scss/_tokens.dark.scss +138 -138
  163. package/src/tokens/build/scss/_tokens.scss +142 -142
  164. package/src/tokens/build/scss/_tokens_custom_properties.scss +73 -73
  165. package/src/tokens/constant/color.blue.tokens.json +182 -0
  166. package/src/tokens/constant/color.brand.tokens.json +252 -0
  167. package/src/tokens/constant/color.data.tokens.json +894 -0
  168. package/src/tokens/constant/color.green.tokens.json +182 -0
  169. package/src/tokens/constant/color.neutral.tokens.json +230 -0
  170. package/src/tokens/constant/color.orange.tokens.json +182 -0
  171. package/src/tokens/constant/color.purple.tokens.json +182 -0
  172. package/src/tokens/constant/color.red.tokens.json +182 -0
  173. package/src/tokens/constant/color.theme.tokens.json +1168 -0
  174. package/src/tokens/deprecated/deprecated.color.tokens.json +134 -1340
  175. package/src/utils/constants.js +9 -0
  176. package/src/vendor/bootstrap-vue/src/components/button/button-close.js +4 -5
  177. package/src/vendor/bootstrap-vue/src/components/button/button.js +7 -8
  178. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-divider.js +1 -2
  179. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-form.js +2 -8
  180. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-group.js +6 -7
  181. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-header.js +3 -4
  182. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-item-button.js +6 -12
  183. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-item.js +2 -3
  184. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-text.js +3 -4
  185. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown.js +19 -26
  186. package/src/vendor/bootstrap-vue/src/components/form/form-text.js +4 -6
  187. package/src/vendor/bootstrap-vue/src/components/form/form.js +4 -6
  188. package/src/vendor/bootstrap-vue/src/components/form-group/form-group.js +14 -20
  189. package/src/vendor/bootstrap-vue/src/components/form-select/form-select-option-group.js +1 -2
  190. package/src/vendor/bootstrap-vue/src/components/form-select/form-select-option.js +1 -4
  191. package/src/vendor/bootstrap-vue/src/components/form-select/form-select.js +13 -14
  192. package/src/vendor/bootstrap-vue/src/components/form-textarea/form-textarea.js +5 -6
  193. package/src/vendor/bootstrap-vue/src/components/modal/modal.js +53 -62
  194. package/src/vendor/bootstrap-vue/src/components/popover/popover.js +4 -10
  195. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-busy.js +1 -2
  196. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-caption.js +2 -3
  197. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-empty.js +5 -6
  198. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-filtering.js +5 -13
  199. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-items.js +12 -21
  200. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-pagination.js +2 -3
  201. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-provider.js +5 -11
  202. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-selectable.js +4 -5
  203. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-sorting.js +14 -21
  204. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-stacked.js +1 -2
  205. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-table-renderer.js +14 -20
  206. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody-row.js +3 -9
  207. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody.js +1 -2
  208. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-tfoot.js +5 -11
  209. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-thead.js +4 -5
  210. package/src/vendor/bootstrap-vue/src/components/table/tbody.js +2 -3
  211. package/src/vendor/bootstrap-vue/src/components/table/td.js +5 -6
  212. package/src/vendor/bootstrap-vue/src/components/table/tfoot.js +1 -2
  213. package/src/vendor/bootstrap-vue/src/components/table/thead.js +1 -2
  214. package/src/vendor/bootstrap-vue/src/components/table/tr.js +1 -2
  215. package/src/vendor/bootstrap-vue/src/components/tabs/tab.js +10 -16
  216. package/src/vendor/bootstrap-vue/src/components/tabs/tabs.js +33 -39
  217. package/src/vendor/bootstrap-vue/src/components/tooltip/tooltip.js +17 -25
  218. package/src/vendor/bootstrap-vue/src/components/transition/bv-transition.js +4 -5
  219. package/src/vendor/bootstrap-vue/src/components/transporter/transporter.js +4 -10
  220. package/src/vendor/bootstrap-vue/src/mixins/dropdown.js +9 -15
  221. package/src/vendor/bootstrap-vue/src/mixins/form-control.js +6 -7
  222. package/src/vendor/bootstrap-vue/src/mixins/form-custom.js +1 -2
  223. package/src/vendor/bootstrap-vue/src/mixins/form-options.js +5 -6
  224. package/src/vendor/bootstrap-vue/src/mixins/form-size.js +1 -2
  225. package/src/vendor/bootstrap-vue/src/mixins/form-state.js +1 -2
  226. package/src/vendor/bootstrap-vue/src/mixins/form-text.js +21 -33
  227. package/src/vendor/bootstrap-vue/src/mixins/id.js +1 -2
  228. package/dist/vendor/bootstrap-vue/src/mixins/model.js +0 -10
  229. package/dist/vendor/bootstrap-vue/src/utils/model.js +0 -33
  230. package/src/tokens/constant/color.tokens.json +0 -3422
  231. package/src/vendor/bootstrap-vue/src/mixins/model.js +0 -5
  232. package/src/vendor/bootstrap-vue/src/utils/model.js +0 -29
@@ -1,12 +1,9 @@
1
1
  import { extend } from '../../../vue'
2
- import { EVENT_NAME_CONTEXT_CHANGED } from '../../../constants/events'
3
- import { PROP_TYPE_ARRAY, PROP_TYPE_STRING } from '../../../constants/props'
2
+ import { EVENT_NAME_CONTEXT_CHANGED, EVENT_NAME_INPUT } from '../../../constants/events'
4
3
  import { useParentMixin } from '../../../mixins/use-parent'
5
4
  import { isArray, isFunction, isString } from '../../../utils/inspect'
6
5
  import { looseEqual } from '../../../utils/loose-equal'
7
6
  import { mathMax } from '../../../utils/math'
8
- import { makeModelMixin } from '../../../utils/model'
9
-
10
7
  import { toInteger } from '../../../utils/number'
11
8
  import { clone, sortKeys } from '../../../utils/object'
12
9
  import { safeVueInstance } from '../../../utils/safe-vue-instance'
@@ -14,43 +11,33 @@ import { normalizeFields } from './normalize-fields'
14
11
 
15
12
  // --- Constants ---
16
13
 
17
- const {
18
- mixin: modelMixin,
19
- props: modelProps,
20
- prop: MODEL_PROP_NAME,
21
- event: MODEL_EVENT_NAME
22
- } = makeModelMixin('value', {
23
- type: PROP_TYPE_ARRAY,
24
- defaultValue: []
25
- })
26
-
27
- export { MODEL_PROP_NAME, MODEL_EVENT_NAME }
14
+ const MODEL_PROP_NAME = 'value'
15
+ const MODEL_EVENT_NAME = EVENT_NAME_INPUT
28
16
 
29
17
  // --- Props ---
30
18
 
31
19
  export const props = sortKeys({
32
- ...modelProps,
33
20
  fields: {
34
- type: PROP_TYPE_ARRAY,
21
+ type: Array,
35
22
  required: false,
36
23
  default: null
37
24
  },
38
25
  // Provider mixin adds in `Function` type
39
26
  items: {
40
- type: PROP_TYPE_ARRAY,
27
+ type: Array,
41
28
  required: false,
42
29
  default: () => []
43
30
  },
44
31
  // Primary key for record
45
32
  // If provided the value in each row must be unique!
46
33
  primaryKey: {
47
- type: PROP_TYPE_STRING,
34
+ type: String,
48
35
  required: false,
49
36
  default: undefined
50
37
  },
51
38
  // `v-model` for retrieving the current displayed rows
52
39
  [MODEL_PROP_NAME]: {
53
- type: PROP_TYPE_ARRAY,
40
+ type: Array,
54
41
  required: false,
55
42
  default: () => []
56
43
  }
@@ -60,7 +47,11 @@ export const props = sortKeys({
60
47
 
61
48
  // @vue/component
62
49
  export const itemsMixin = extend({
63
- mixins: [modelMixin, useParentMixin],
50
+ mixins: [useParentMixin],
51
+ model: {
52
+ prop: MODEL_PROP_NAME,
53
+ event: MODEL_EVENT_NAME
54
+ },
64
55
  props,
65
56
  data() {
66
57
  const { items } = this
@@ -1,5 +1,4 @@
1
1
  import { extend } from '../../../vue'
2
- import { PROP_TYPE_NUMBER, PROP_TYPE_STRING } from '../../../constants/props'
3
2
  import { mathMax } from '../../../utils/math'
4
3
  import { toInteger } from '../../../utils/number'
5
4
  import { safeVueInstance } from '../../../utils/safe-vue-instance'
@@ -8,12 +7,12 @@ import { safeVueInstance } from '../../../utils/safe-vue-instance'
8
7
 
9
8
  export const props = {
10
9
  currentPage: {
11
- type: [PROP_TYPE_NUMBER, PROP_TYPE_STRING],
10
+ type: [Number, String],
12
11
  required: false,
13
12
  default: 1
14
13
  },
15
14
  perPage: {
16
- type: [PROP_TYPE_NUMBER, PROP_TYPE_STRING],
15
+ type: [Number, String],
17
16
  required: false,
18
17
  default: 0
19
18
  }
@@ -1,12 +1,6 @@
1
1
  import { extend } from '../../../vue'
2
2
  import { NAME_TABLE } from '../../../constants/components'
3
3
  import { EVENT_NAME_REFRESH, EVENT_NAME_REFRESHED } from '../../../constants/events'
4
- import {
5
- PROP_TYPE_ARRAY,
6
- PROP_TYPE_BOOLEAN,
7
- PROP_TYPE_FUNCTION,
8
- PROP_TYPE_STRING
9
- } from '../../../constants/props'
10
4
  import { getRootActionEventName, getRootEventName } from '../../../utils/events'
11
5
  import { isArray, isFunction, isPromise } from '../../../utils/inspect'
12
6
  import { looseEqual } from '../../../utils/loose-equal'
@@ -26,28 +20,28 @@ export const props = {
26
20
  // Passed to the context object
27
21
  // Not used by `<b-table>` directly
28
22
  apiUrl: {
29
- type: PROP_TYPE_STRING,
23
+ type: String,
30
24
  required: false,
31
25
  default: undefined
32
26
  },
33
27
  // Adds in 'Function' support
34
28
  items: {
35
- type: [PROP_TYPE_ARRAY, PROP_TYPE_FUNCTION],
29
+ type: [Array, Function],
36
30
  required: false,
37
31
  default: () => []
38
32
  },
39
33
  noProviderFiltering: {
40
- type: PROP_TYPE_BOOLEAN,
34
+ type: Boolean,
41
35
  required: false,
42
36
  default: false
43
37
  },
44
38
  noProviderPaging: {
45
- type: PROP_TYPE_BOOLEAN,
39
+ type: Boolean,
46
40
  required: false,
47
41
  default: false
48
42
  },
49
43
  noProviderSorting: {
50
- type: PROP_TYPE_BOOLEAN,
44
+ type: Boolean,
51
45
  required: false,
52
46
  default: false
53
47
  }
@@ -1,6 +1,5 @@
1
1
  import { extend } from '../../../vue'
2
2
  import { EVENT_NAME_ROW_SELECTED } from '../../../constants/events'
3
- import { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props'
4
3
  import { createArray } from '../../../utils/array'
5
4
  import { identity } from '../../../utils/identity'
6
5
  import { isArray, isNumber } from '../../../utils/inspect'
@@ -20,23 +19,23 @@ const ROLE_GRID = 'grid'
20
19
  export const props = {
21
20
  // Disable use of click handlers for row selection
22
21
  noSelectOnClick: {
23
- type: PROP_TYPE_BOOLEAN,
22
+ type: Boolean,
24
23
  required: false,
25
24
  default: false
26
25
  },
27
26
  selectMode: {
28
- type: PROP_TYPE_STRING,
27
+ type: String,
29
28
  required: false,
30
29
  default: 'multi',
31
30
  validator: value => SELECT_MODES.includes(value)
32
31
  },
33
32
  selectable: {
34
- type: PROP_TYPE_BOOLEAN,
33
+ type: Boolean,
35
34
  required: false,
36
35
  default: false
37
36
  },
38
37
  selectedVariant: {
39
- type: PROP_TYPE_STRING,
38
+ type: String,
40
39
  required: false,
41
40
  default: 'active'
42
41
  }
@@ -1,12 +1,5 @@
1
1
  import { extend } from '../../../vue'
2
2
  import { EVENT_NAME_SORT_CHANGED, MODEL_EVENT_NAME_PREFIX } from '../../../constants/events'
3
- import {
4
- PROP_TYPE_ARRAY,
5
- PROP_TYPE_BOOLEAN,
6
- PROP_TYPE_FUNCTION,
7
- PROP_TYPE_OBJECT,
8
- PROP_TYPE_STRING
9
- } from '../../../constants/props'
10
3
  import { isFunction, isUndefinedOrNull } from '../../../utils/inspect'
11
4
  import { safeVueInstance } from '../../../utils/safe-vue-instance'
12
5
  import { stableSort } from '../../../utils/stable-sort'
@@ -30,27 +23,27 @@ const SORT_DIRECTIONS = [SORT_DIRECTION_ASC, SORT_DIRECTION_DESC, SORT_DIRECTION
30
23
 
31
24
  export const props = {
32
25
  labelSortAsc: {
33
- type: PROP_TYPE_STRING,
26
+ type: String,
34
27
  required: false,
35
28
  default: 'Click to sort ascending'
36
29
  },
37
30
  labelSortClear: {
38
- type: PROP_TYPE_STRING,
31
+ type: String,
39
32
  required: false,
40
33
  default: 'Click to clear sorting'
41
34
  },
42
35
  labelSortDesc: {
43
- type: PROP_TYPE_STRING,
36
+ type: String,
44
37
  required: false,
45
38
  default: 'Click to sort descending'
46
39
  },
47
40
  noFooterSorting: {
48
- type: PROP_TYPE_BOOLEAN,
41
+ type: Boolean,
49
42
  required: false,
50
43
  default: false
51
44
  },
52
45
  noLocalSorting: {
53
- type: PROP_TYPE_BOOLEAN,
46
+ type: Boolean,
54
47
  required: false,
55
48
  default: false
56
49
  },
@@ -59,37 +52,37 @@ export const props = {
59
52
  // We will need to make sure the documentation is clear on what
60
53
  // this prop does (as well as in the code for future reference)
61
54
  noSortReset: {
62
- type: PROP_TYPE_BOOLEAN,
55
+ type: Boolean,
63
56
  required: false,
64
57
  default: false
65
58
  },
66
59
  [MODEL_PROP_NAME_SORT_BY]: {
67
- type: PROP_TYPE_STRING,
60
+ type: String,
68
61
  required: false,
69
62
  default: undefined
70
63
  },
71
64
  sortCompare: {
72
- type: PROP_TYPE_FUNCTION,
65
+ type: Function,
73
66
  required: false,
74
67
  default: undefined
75
68
  },
76
69
  // String: locale code
77
70
  // Array: array of Locale strings
78
71
  sortCompareLocale: {
79
- type: [PROP_TYPE_ARRAY, PROP_TYPE_STRING],
72
+ type: [Array, String],
80
73
  required: false,
81
74
  default: undefined
82
75
  },
83
76
  // Supported localCompare options, see `options` section of:
84
77
  // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare
85
78
  sortCompareOptions: {
86
- type: PROP_TYPE_OBJECT,
79
+ type: Object,
87
80
  required: false,
88
81
  default: () => ({ numeric: true })
89
82
  },
90
83
  // TODO: Make this tri-state: `true`, `false`, `null`
91
84
  [MODEL_PROP_NAME_SORT_DESC]: {
92
- type: PROP_TYPE_BOOLEAN,
85
+ type: Boolean,
93
86
  required: false,
94
87
  default: false
95
88
  },
@@ -97,20 +90,20 @@ export const props = {
97
90
  // It should be `initialSortDirection` as it is a bit misleading
98
91
  // (not to mention it screws up the ARIA label on the headers)
99
92
  sortDirection: {
100
- type: PROP_TYPE_STRING,
93
+ type: String,
101
94
  required: false,
102
95
  default: SORT_DIRECTION_ASC,
103
96
  validator: value => SORT_DIRECTIONS.includes(value)
104
97
  },
105
98
  // Place the sorting icon on the left of the header cells
106
99
  sortIconLeft: {
107
- type: PROP_TYPE_BOOLEAN,
100
+ type: Boolean,
108
101
  required: false,
109
102
  default: false
110
103
  },
111
104
  // Sort null and undefined to appear last
112
105
  sortNullLast: {
113
- type: PROP_TYPE_BOOLEAN,
106
+ type: Boolean,
114
107
  required: false,
115
108
  default: false
116
109
  }
@@ -1,11 +1,10 @@
1
1
  import { extend } from '../../../vue'
2
- import { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props'
3
2
 
4
3
  // --- Props ---
5
4
 
6
5
  export const props = {
7
6
  stacked: {
8
- type: [PROP_TYPE_BOOLEAN, PROP_TYPE_STRING],
7
+ type: [Boolean, String],
9
8
  required: false,
10
9
  default: false
11
10
  }
@@ -1,10 +1,4 @@
1
1
  import { extend } from '../../../vue'
2
- import {
3
- PROP_TYPE_ARRAY,
4
- PROP_TYPE_BOOLEAN,
5
- PROP_TYPE_OBJECT,
6
- PROP_TYPE_STRING
7
- } from '../../../constants/props'
8
2
  import { identity } from '../../../utils/identity'
9
3
  import { isBoolean } from '../../../utils/inspect'
10
4
  import { safeVueInstance } from '../../../utils/safe-vue-instance'
@@ -18,73 +12,73 @@ import { attrsMixin } from '../../../mixins/attrs'
18
12
 
19
13
  export const props = {
20
14
  bordered: {
21
- type: PROP_TYPE_BOOLEAN,
15
+ type: Boolean,
22
16
  required: false,
23
17
  default: false
24
18
  },
25
19
  borderless: {
26
- type: PROP_TYPE_BOOLEAN,
20
+ type: Boolean,
27
21
  required: false,
28
22
  default: false
29
23
  },
30
24
  captionTop: {
31
- type: PROP_TYPE_BOOLEAN,
25
+ type: Boolean,
32
26
  required: false,
33
27
  default: false
34
28
  },
35
29
  dark: {
36
- type: PROP_TYPE_BOOLEAN,
30
+ type: Boolean,
37
31
  required: false,
38
32
  default: false
39
33
  },
40
34
  fixed: {
41
- type: PROP_TYPE_BOOLEAN,
35
+ type: Boolean,
42
36
  required: false,
43
37
  default: false
44
38
  },
45
39
  hover: {
46
- type: PROP_TYPE_BOOLEAN,
40
+ type: Boolean,
47
41
  required: false,
48
42
  default: false
49
43
  },
50
44
  noBorderCollapse: {
51
- type: PROP_TYPE_BOOLEAN,
45
+ type: Boolean,
52
46
  required: false,
53
47
  default: false
54
48
  },
55
49
  outlined: {
56
- type: PROP_TYPE_BOOLEAN,
50
+ type: Boolean,
57
51
  required: false,
58
52
  default: false
59
53
  },
60
54
  responsive: {
61
- type: [PROP_TYPE_BOOLEAN, PROP_TYPE_STRING],
55
+ type: [Boolean, String],
62
56
  required: false,
63
57
  default: false
64
58
  },
65
59
  small: {
66
- type: PROP_TYPE_BOOLEAN,
60
+ type: Boolean,
67
61
  required: false,
68
62
  default: false
69
63
  },
70
64
  // If a string, it is assumed to be the table `max-height` value
71
65
  stickyHeader: {
72
- type: [PROP_TYPE_BOOLEAN, PROP_TYPE_STRING],
66
+ type: [Boolean, String],
73
67
  required: false,
74
68
  default: false
75
69
  },
76
70
  striped: {
77
- type: PROP_TYPE_BOOLEAN,
71
+ type: Boolean,
78
72
  required: false,
79
73
  default: false
80
74
  },
81
75
  tableClass: {
82
- type: [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING],
76
+ type: [Array, Object, String],
83
77
  required: false,
84
78
  default: undefined
85
79
  },
86
80
  tableVariant: {
87
- type: PROP_TYPE_STRING,
81
+ type: String,
88
82
  required: false,
89
83
  default: undefined
90
84
  }
@@ -4,12 +4,6 @@ import {
4
4
  EVENT_NAME_ROW_HOVERED,
5
5
  EVENT_NAME_ROW_UNHOVERED
6
6
  } from '../../../constants/events'
7
- import {
8
- PROP_TYPE_ARRAY,
9
- PROP_TYPE_FUNCTION,
10
- PROP_TYPE_OBJECT,
11
- PROP_TYPE_STRING
12
- } from '../../../constants/props'
13
7
  import { SLOT_NAME_ROW_DETAILS } from '../../../constants/slots'
14
8
  import { useParentMixin } from '../../../mixins/use-parent'
15
9
  import { get } from '../../../utils/get'
@@ -25,17 +19,17 @@ import { FIELD_KEY_CELL_VARIANT, FIELD_KEY_ROW_VARIANT, FIELD_KEY_SHOW_DETAILS }
25
19
 
26
20
  export const props = {
27
21
  detailsTdClass: {
28
- type: [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING],
22
+ type: [Array, Object, String],
29
23
  required: false,
30
24
  default: undefined
31
25
  },
32
26
  tbodyTrAttr: {
33
- type: [PROP_TYPE_OBJECT, PROP_TYPE_FUNCTION],
27
+ type: [Object, Function],
34
28
  required: false,
35
29
  default: undefined
36
30
  },
37
31
  tbodyTrClass: {
38
- type: [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING, PROP_TYPE_FUNCTION],
32
+ type: [Array, Object, String, Function],
39
33
  required: false,
40
34
  default: undefined
41
35
  }
@@ -13,7 +13,6 @@ import {
13
13
  CODE_SPACE,
14
14
  CODE_UP
15
15
  } from '../../../constants/key-codes'
16
- import { PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../../constants/props'
17
16
  import { from as arrayFrom } from '../../../utils/array'
18
17
  import { attemptFocus, closest, isActiveElement, isElement } from '../../../utils/dom'
19
18
  import { safeVueInstance } from '../../../utils/safe-vue-instance'
@@ -35,7 +34,7 @@ export const props = sortKeys({
35
34
  ...BTbodyProps,
36
35
  ...tbodyRowProps,
37
36
  tbodyClass: {
38
- type: [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING],
37
+ type: [Array, Object, String],
39
38
  required: false,
40
39
  default: undefined
41
40
  }
@@ -1,10 +1,4 @@
1
1
  import { extend } from '../../../vue'
2
- import {
3
- PROP_TYPE_ARRAY,
4
- PROP_TYPE_BOOLEAN,
5
- PROP_TYPE_OBJECT,
6
- PROP_TYPE_STRING
7
- } from '../../../constants/props'
8
2
  import { SLOT_NAME_CUSTOM_FOOT } from '../../../constants/slots'
9
3
  import { BTfoot } from '../tfoot'
10
4
 
@@ -12,30 +6,30 @@ import { BTfoot } from '../tfoot'
12
6
 
13
7
  export const props = {
14
8
  footClone: {
15
- type: PROP_TYPE_BOOLEAN,
9
+ type: Boolean,
16
10
  required: false,
17
11
  default: false
18
12
  },
19
13
  // Any Bootstrap theme variant (or custom)
20
14
  // Falls back to `headRowVariant`
21
15
  footRowVariant: {
22
- type: PROP_TYPE_STRING,
16
+ type: String,
23
17
  required: false,
24
18
  default: undefined
25
19
  },
26
20
  // 'dark', 'light', or `null` (or custom)
27
21
  footVariant: {
28
- type: PROP_TYPE_STRING,
22
+ type: String,
29
23
  required: false,
30
24
  default: undefined
31
25
  },
32
26
  tfootClass: {
33
- type: [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING],
27
+ type: [Array, Object, String],
34
28
  required: false,
35
29
  default: undefined
36
30
  },
37
31
  tfootTrClass: {
38
- type: [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING],
32
+ type: [Array, Object, String],
39
33
  required: false,
40
34
  default: undefined
41
35
  }
@@ -1,7 +1,6 @@
1
1
  import { extend } from '../../../vue'
2
2
  import { EVENT_NAME_HEAD_CLICKED } from '../../../constants/events'
3
3
  import { CODE_ENTER, CODE_SPACE } from '../../../constants/key-codes'
4
- import { PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../../constants/props'
5
4
  import { SLOT_NAME_THEAD_TOP } from '../../../constants/slots'
6
5
  import { stopEvent } from '../../../utils/events'
7
6
  import { htmlOrText } from '../../../utils/html'
@@ -28,23 +27,23 @@ const getFootSlotName = value => `foot(${value || ''})`
28
27
  export const props = {
29
28
  // Any Bootstrap theme variant (or custom)
30
29
  headRowVariant: {
31
- type: PROP_TYPE_STRING,
30
+ type: String,
32
31
  required: false,
33
32
  default: undefined
34
33
  },
35
34
  // 'light', 'dark' or `null` (or custom)
36
35
  headVariant: {
37
- type: PROP_TYPE_STRING,
36
+ type: String,
38
37
  required: false,
39
38
  default: undefined
40
39
  },
41
40
  theadClass: {
42
- type: [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING],
41
+ type: [Array, Object, String],
43
42
  required: false,
44
43
  default: undefined
45
44
  },
46
45
  theadTrClass: {
47
- type: [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING],
46
+ type: [Array, Object, String],
48
47
  required: false,
49
48
  default: undefined
50
49
  }
@@ -1,6 +1,5 @@
1
1
  import { extend } from '../../vue'
2
2
  import { NAME_TBODY } from '../../constants/components'
3
- import { PROP_TYPE_OBJECT } from '../../constants/props'
4
3
  import { attrsMixin } from '../../mixins/attrs'
5
4
  import { listenersMixin } from '../../mixins/listeners'
6
5
  import { normalizeSlotMixin } from '../../mixins/normalize-slot'
@@ -9,12 +8,12 @@ import { normalizeSlotMixin } from '../../mixins/normalize-slot'
9
8
 
10
9
  export const props = {
11
10
  tbodyTransitionHandlers: {
12
- type: PROP_TYPE_OBJECT,
11
+ type: Object,
13
12
  required: false,
14
13
  default: undefined
15
14
  },
16
15
  tbodyTransitionProps: {
17
- type: PROP_TYPE_OBJECT,
16
+ type: Object,
18
17
  required: false,
19
18
  default: undefined
20
19
  }
@@ -1,6 +1,5 @@
1
1
  import { extend } from '../../vue'
2
2
  import { NAME_TABLE_CELL } from '../../constants/components'
3
- import { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER, PROP_TYPE_STRING } from '../../constants/props'
4
3
  import { isTag } from '../../utils/dom'
5
4
  import { isUndefinedOrNull } from '../../utils/inspect'
6
5
  import { toInteger } from '../../utils/number'
@@ -24,29 +23,29 @@ const spanValidator = value => isUndefinedOrNull(value) || parseSpan(value) > 0
24
23
 
25
24
  export const props = {
26
25
  colspan: {
27
- type: [PROP_TYPE_NUMBER, PROP_TYPE_STRING],
26
+ type: [Number, String],
28
27
  required: false,
29
28
  default: null,
30
29
  validator: spanValidator
31
30
  },
32
31
  rowspan: {
33
- type: [PROP_TYPE_NUMBER, PROP_TYPE_STRING],
32
+ type: [Number, String],
34
33
  required: false,
35
34
  default: null,
36
35
  validator: spanValidator
37
36
  },
38
37
  stackedHeading: {
39
- type: PROP_TYPE_STRING,
38
+ type: String,
40
39
  required: false,
41
40
  default: undefined
42
41
  },
43
42
  stickyColumn: {
44
- type: PROP_TYPE_BOOLEAN,
43
+ type: Boolean,
45
44
  required: false,
46
45
  default: false
47
46
  },
48
47
  variant: {
49
- type: PROP_TYPE_STRING,
48
+ type: String,
50
49
  required: false,
51
50
  default: undefined
52
51
  }
@@ -1,6 +1,5 @@
1
1
  import { extend } from '../../vue'
2
2
  import { NAME_TFOOT } from '../../constants/components'
3
- import { PROP_TYPE_STRING } from '../../constants/props'
4
3
  import { attrsMixin } from '../../mixins/attrs'
5
4
  import { listenersMixin } from '../../mixins/listeners'
6
5
  import { normalizeSlotMixin } from '../../mixins/normalize-slot'
@@ -10,7 +9,7 @@ import { normalizeSlotMixin } from '../../mixins/normalize-slot'
10
9
  export const props = {
11
10
  // Supported values: 'lite', 'dark', or null
12
11
  footVariant: {
13
- type: PROP_TYPE_STRING,
12
+ type: String,
14
13
  required: false,
15
14
  default: undefined
16
15
  }
@@ -1,6 +1,5 @@
1
1
  import { extend } from '../../vue'
2
2
  import { NAME_THEAD } from '../../constants/components'
3
- import { PROP_TYPE_STRING } from '../../constants/props'
4
3
  import { attrsMixin } from '../../mixins/attrs'
5
4
  import { listenersMixin } from '../../mixins/listeners'
6
5
  import { normalizeSlotMixin } from '../../mixins/normalize-slot'
@@ -11,7 +10,7 @@ export const props = {
11
10
  // Also sniffed by `<b-tr>` / `<b-td>` / `<b-th>`
12
11
  // Supported values: 'lite', 'dark', or `null`
13
12
  headVariant: {
14
- type: PROP_TYPE_STRING,
13
+ type: String,
15
14
  required: false,
16
15
  default: undefined
17
16
  }
@@ -1,6 +1,5 @@
1
1
  import { extend } from '../../vue'
2
2
  import { NAME_TR } from '../../constants/components'
3
- import { PROP_TYPE_STRING } from '../../constants/props'
4
3
  import { attrsMixin } from '../../mixins/attrs'
5
4
  import { listenersMixin } from '../../mixins/listeners'
6
5
  import { normalizeSlotMixin } from '../../mixins/normalize-slot'
@@ -14,7 +13,7 @@ const DARK = 'dark'
14
13
 
15
14
  export const props = {
16
15
  variant: {
17
- type: PROP_TYPE_STRING,
16
+ type: String,
18
17
  required: false,
19
18
  default: undefined
20
19
  }