@gitlab/ui 128.17.0 → 129.0.0

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 (113) hide show
  1. package/dist/components/base/form/form_checkbox/form_checkbox.js +4 -2
  2. package/dist/components/base/form/form_radio/form_radio.js +209 -11
  3. package/dist/components/base/tooltip/tooltip.js +1 -3
  4. package/dist/config.js +0 -37
  5. package/dist/utils/constants.js +1 -7
  6. package/dist/vendor/bootstrap-vue/src/components/button/button-close.js +3 -3
  7. package/dist/vendor/bootstrap-vue/src/components/button/button.js +3 -3
  8. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-divider.js +3 -3
  9. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-form.js +3 -3
  10. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-group.js +3 -3
  11. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-header.js +3 -3
  12. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-item-button.js +3 -3
  13. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-item.js +3 -3
  14. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-text.js +3 -3
  15. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown.js +3 -3
  16. package/dist/vendor/bootstrap-vue/src/components/form/form-invalid-feedback.js +3 -3
  17. package/dist/vendor/bootstrap-vue/src/components/form/form-text.js +3 -3
  18. package/dist/vendor/bootstrap-vue/src/components/form/form-valid-feedback.js +3 -3
  19. package/dist/vendor/bootstrap-vue/src/components/form/form.js +3 -3
  20. package/dist/vendor/bootstrap-vue/src/components/form-group/form-group.js +3 -3
  21. package/dist/vendor/bootstrap-vue/src/components/form-radio/form-radio-group.js +1 -2
  22. package/dist/vendor/bootstrap-vue/src/components/form-radio/form-radio.js +1 -2
  23. package/dist/vendor/bootstrap-vue/src/components/form-select/form-select-option-group.js +3 -3
  24. package/dist/vendor/bootstrap-vue/src/components/form-select/form-select-option.js +3 -3
  25. package/dist/vendor/bootstrap-vue/src/components/form-select/form-select.js +3 -3
  26. package/dist/vendor/bootstrap-vue/src/components/form-select/helpers/mixin-options.js +3 -3
  27. package/dist/vendor/bootstrap-vue/src/components/form-textarea/form-textarea.js +3 -3
  28. package/dist/vendor/bootstrap-vue/src/components/layout/col.js +3 -3
  29. package/dist/vendor/bootstrap-vue/src/components/layout/form-row.js +3 -3
  30. package/dist/vendor/bootstrap-vue/src/components/modal/modal.js +3 -3
  31. package/dist/vendor/bootstrap-vue/src/components/popover/popover.js +8 -4
  32. package/dist/vendor/bootstrap-vue/src/components/table/table-lite.js +2 -3
  33. package/dist/vendor/bootstrap-vue/src/components/table/table-simple.js +2 -3
  34. package/dist/vendor/bootstrap-vue/src/components/table/table.js +2 -3
  35. package/dist/vendor/bootstrap-vue/src/components/table/tbody.js +3 -3
  36. package/dist/vendor/bootstrap-vue/src/components/table/td.js +3 -3
  37. package/dist/vendor/bootstrap-vue/src/components/table/tfoot.js +3 -3
  38. package/dist/vendor/bootstrap-vue/src/components/table/th.js +1 -2
  39. package/dist/vendor/bootstrap-vue/src/components/table/thead.js +3 -3
  40. package/dist/vendor/bootstrap-vue/src/components/table/tr.js +3 -3
  41. package/dist/vendor/bootstrap-vue/src/components/tabs/tab.js +3 -3
  42. package/dist/vendor/bootstrap-vue/src/components/tabs/tabs.js +3 -3
  43. package/dist/vendor/bootstrap-vue/src/components/toast/toast.js +3 -3
  44. package/dist/vendor/bootstrap-vue/src/components/toast/toaster.js +3 -3
  45. package/dist/vendor/bootstrap-vue/src/components/tooltip/tooltip.js +7 -6
  46. package/dist/vendor/bootstrap-vue/src/constants/config.js +7 -1
  47. package/dist/vendor/bootstrap-vue/src/directives/tooltip/tooltip.js +6 -7
  48. package/dist/vendor/bootstrap-vue/src/mixins/dropdown.js +3 -3
  49. package/dist/vendor/bootstrap-vue/src/mixins/form-control.js +3 -3
  50. package/dist/vendor/bootstrap-vue/src/mixins/form-custom.js +3 -3
  51. package/dist/vendor/bootstrap-vue/src/mixins/form-options.js +3 -3
  52. package/dist/vendor/bootstrap-vue/src/mixins/form-radio-check-group.js +3 -3
  53. package/dist/vendor/bootstrap-vue/src/mixins/form-radio-check.js +3 -3
  54. package/dist/vendor/bootstrap-vue/src/mixins/form-size.js +3 -3
  55. package/dist/vendor/bootstrap-vue/src/mixins/form-state.js +3 -3
  56. package/dist/vendor/bootstrap-vue/src/mixins/form-text.js +3 -3
  57. package/package.json +1 -1
  58. package/src/components/base/form/form_checkbox/form_checkbox.vue +4 -2
  59. package/src/components/base/form/form_radio/form_radio.vue +220 -31
  60. package/src/components/base/tooltip/tooltip.vue +0 -3
  61. package/src/config.js +0 -40
  62. package/src/utils/constants.js +0 -6
  63. package/src/vendor/bootstrap-vue/src/components/button/button-close.js +7 -10
  64. package/src/vendor/bootstrap-vue/src/components/button/button.js +13 -16
  65. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-divider.js +4 -7
  66. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-form.js +6 -9
  67. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-group.js +9 -12
  68. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-header.js +6 -9
  69. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-item-button.js +9 -12
  70. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-item.js +6 -9
  71. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-text.js +6 -9
  72. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown.js +27 -30
  73. package/src/vendor/bootstrap-vue/src/components/form/form-invalid-feedback.js +11 -14
  74. package/src/vendor/bootstrap-vue/src/components/form/form-text.js +7 -10
  75. package/src/vendor/bootstrap-vue/src/components/form/form-valid-feedback.js +11 -14
  76. package/src/vendor/bootstrap-vue/src/components/form/form.js +7 -10
  77. package/src/vendor/bootstrap-vue/src/components/form-group/form-group.js +27 -30
  78. package/src/vendor/bootstrap-vue/src/components/form-radio/form-radio-group.js +1 -2
  79. package/src/vendor/bootstrap-vue/src/components/form-radio/form-radio.js +1 -2
  80. package/src/vendor/bootstrap-vue/src/components/form-select/form-select-option-group.js +5 -8
  81. package/src/vendor/bootstrap-vue/src/components/form-select/form-select-option.js +5 -8
  82. package/src/vendor/bootstrap-vue/src/components/form-select/form-select.js +14 -17
  83. package/src/vendor/bootstrap-vue/src/components/form-select/helpers/mixin-options.js +6 -9
  84. package/src/vendor/bootstrap-vue/src/components/form-textarea/form-textarea.js +17 -20
  85. package/src/vendor/bootstrap-vue/src/components/layout/col.js +16 -19
  86. package/src/vendor/bootstrap-vue/src/components/layout/form-row.js +4 -7
  87. package/src/vendor/bootstrap-vue/src/components/modal/modal.js +59 -62
  88. package/src/vendor/bootstrap-vue/src/components/popover/popover.js +13 -11
  89. package/src/vendor/bootstrap-vue/src/components/table/table-lite.js +11 -15
  90. package/src/vendor/bootstrap-vue/src/components/table/table-simple.js +5 -9
  91. package/src/vendor/bootstrap-vue/src/components/table/table.js +20 -24
  92. package/src/vendor/bootstrap-vue/src/components/table/tbody.js +5 -8
  93. package/src/vendor/bootstrap-vue/src/components/table/td.js +8 -11
  94. package/src/vendor/bootstrap-vue/src/components/table/tfoot.js +5 -8
  95. package/src/vendor/bootstrap-vue/src/components/table/th.js +1 -2
  96. package/src/vendor/bootstrap-vue/src/components/table/thead.js +6 -9
  97. package/src/vendor/bootstrap-vue/src/components/table/tr.js +4 -7
  98. package/src/vendor/bootstrap-vue/src/components/tabs/tab.js +16 -19
  99. package/src/vendor/bootstrap-vue/src/components/tabs/tabs.js +22 -25
  100. package/src/vendor/bootstrap-vue/src/components/toast/toast.js +23 -26
  101. package/src/vendor/bootstrap-vue/src/components/toast/toaster.js +9 -12
  102. package/src/vendor/bootstrap-vue/src/components/tooltip/tooltip.js +36 -38
  103. package/src/vendor/bootstrap-vue/src/constants/config.js +6 -0
  104. package/src/vendor/bootstrap-vue/src/directives/tooltip/tooltip.js +6 -7
  105. package/src/vendor/bootstrap-vue/src/mixins/dropdown.js +22 -25
  106. package/src/vendor/bootstrap-vue/src/mixins/form-control.js +9 -12
  107. package/src/vendor/bootstrap-vue/src/mixins/form-custom.js +4 -7
  108. package/src/vendor/bootstrap-vue/src/mixins/form-options.js +8 -11
  109. package/src/vendor/bootstrap-vue/src/mixins/form-radio-check-group.js +13 -16
  110. package/src/vendor/bootstrap-vue/src/mixins/form-radio-check.js +13 -16
  111. package/src/vendor/bootstrap-vue/src/mixins/form-size.js +4 -7
  112. package/src/vendor/bootstrap-vue/src/mixins/form-state.js +5 -8
  113. package/src/vendor/bootstrap-vue/src/mixins/form-text.js +17 -20
@@ -1,7 +1,7 @@
1
1
  import { extend } from '../../vue'
2
2
  import { NAME_TR } from '../../constants/components'
3
3
  import { PROP_TYPE_STRING } from '../../constants/props'
4
- import { makeProp, makePropsConfigurable } from '../../utils/props'
4
+ import { makeProp } from '../../utils/props'
5
5
  import { attrsMixin } from '../../mixins/attrs'
6
6
  import { listenersMixin } from '../../mixins/listeners'
7
7
  import { normalizeSlotMixin } from '../../mixins/normalize-slot'
@@ -13,12 +13,9 @@ const DARK = 'dark'
13
13
 
14
14
  // --- Props ---
15
15
 
16
- export const props = makePropsConfigurable(
17
- {
18
- variant: makeProp(PROP_TYPE_STRING)
19
- },
20
- NAME_TR
21
- )
16
+ export const props = {
17
+ variant: makeProp(PROP_TYPE_STRING)
18
+ }
22
19
 
23
20
  // --- Main component ---
24
21
 
@@ -9,7 +9,7 @@ import {
9
9
  } from '../../constants/props'
10
10
  import { SLOT_NAME_TITLE } from '../../constants/slots'
11
11
  import { sortKeys } from '../../utils/object'
12
- import { makeProp, makePropsConfigurable } from '../../utils/props'
12
+ import { makeProp } from '../../utils/props'
13
13
  import { idMixin, props as idProps } from '../../mixins/id'
14
14
  import { normalizeSlotMixin } from '../../mixins/normalize-slot'
15
15
  import { BVTransition } from '../transition/bv-transition'
@@ -21,24 +21,21 @@ const MODEL_EVENT_NAME_ACTIVE = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_ACTIVE
21
21
 
22
22
  // --- Props ---
23
23
 
24
- export const props = makePropsConfigurable(
25
- sortKeys({
26
- ...idProps,
27
- [MODEL_PROP_NAME_ACTIVE]: makeProp(PROP_TYPE_BOOLEAN, false),
28
- buttonId: makeProp(PROP_TYPE_STRING),
29
- disabled: makeProp(PROP_TYPE_BOOLEAN, false),
30
- lazy: makeProp(PROP_TYPE_BOOLEAN, false),
31
- noBody: makeProp(PROP_TYPE_BOOLEAN, false),
32
- tag: makeProp(PROP_TYPE_STRING, 'div'),
33
- title: makeProp(PROP_TYPE_STRING),
34
- // Sniffed by `<b-tabs>` and added to nav `li.nav-item`
35
- titleItemClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
36
- titleLinkAttributes: makeProp(PROP_TYPE_OBJECT),
37
- // Sniffed by `<b-tabs>` and added to nav `a.nav-link`
38
- titleLinkClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)
39
- }),
40
- NAME_TAB
41
- )
24
+ export const props = sortKeys({
25
+ ...idProps,
26
+ [MODEL_PROP_NAME_ACTIVE]: makeProp(PROP_TYPE_BOOLEAN, false),
27
+ buttonId: makeProp(PROP_TYPE_STRING),
28
+ disabled: makeProp(PROP_TYPE_BOOLEAN, false),
29
+ lazy: makeProp(PROP_TYPE_BOOLEAN, false),
30
+ noBody: makeProp(PROP_TYPE_BOOLEAN, false),
31
+ tag: makeProp(PROP_TYPE_STRING, 'div'),
32
+ title: makeProp(PROP_TYPE_STRING),
33
+ // Sniffed by `<b-tabs>` and added to nav `li.nav-item`
34
+ titleItemClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
35
+ titleLinkAttributes: makeProp(PROP_TYPE_OBJECT),
36
+ // Sniffed by `<b-tabs>` and added to nav `a.nav-link`
37
+ titleLinkClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)
38
+ })
42
39
 
43
40
  // --- Main component ---
44
41
 
@@ -45,7 +45,7 @@ import { makeModelMixin } from '../../utils/model'
45
45
  import { toInteger } from '../../utils/number'
46
46
  import { sortKeys } from '../../utils/object'
47
47
  import { observeDom } from '../../utils/observe-dom'
48
- import { makeProp, makePropsConfigurable } from '../../utils/props'
48
+ import { makeProp } from '../../utils/props'
49
49
  import { stableSort } from '../../utils/stable-sort'
50
50
  import { idMixin, props as idProps } from '../../mixins/id'
51
51
  import { normalizeSlotMixin } from '../../mixins/normalize-slot'
@@ -195,30 +195,27 @@ const navProps = {
195
195
  small: makeProp(PROP_TYPE_BOOLEAN, false)
196
196
  }
197
197
 
198
- export const props = makePropsConfigurable(
199
- sortKeys({
200
- ...idProps,
201
- ...modelProps,
202
- ...navProps,
203
- // Only applied to the currently active `li`
204
- activeNavItemClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
205
- // Only applied to the currently active `<b-tab>`
206
- // This prop is sniffed by the `<b-tab>` child
207
- activeTabClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
208
- contentClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
209
- // Synonym for 'bottom'
210
- end: makeProp(PROP_TYPE_BOOLEAN, false),
211
- // This prop is sniffed by the `<b-tab>` child
212
- lazy: makeProp(PROP_TYPE_BOOLEAN, false),
213
- navClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
214
- navWrapperClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
215
- noFade: makeProp(PROP_TYPE_BOOLEAN, false),
216
- noKeyNav: makeProp(PROP_TYPE_BOOLEAN, false),
217
- noNavStyle: makeProp(PROP_TYPE_BOOLEAN, false),
218
- tag: makeProp(PROP_TYPE_STRING, 'div')
219
- }),
220
- NAME_TABS
221
- )
198
+ export const props = sortKeys({
199
+ ...idProps,
200
+ ...modelProps,
201
+ ...navProps,
202
+ // Only applied to the currently active `li`
203
+ activeNavItemClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
204
+ // Only applied to the currently active `<b-tab>`
205
+ // This prop is sniffed by the `<b-tab>` child
206
+ activeTabClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
207
+ contentClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
208
+ // Synonym for 'bottom'
209
+ end: makeProp(PROP_TYPE_BOOLEAN, false),
210
+ // This prop is sniffed by the `<b-tab>` child
211
+ lazy: makeProp(PROP_TYPE_BOOLEAN, false),
212
+ navClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
213
+ navWrapperClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
214
+ noFade: makeProp(PROP_TYPE_BOOLEAN, false),
215
+ noKeyNav: makeProp(PROP_TYPE_BOOLEAN, false),
216
+ noNavStyle: makeProp(PROP_TYPE_BOOLEAN, false),
217
+ tag: makeProp(PROP_TYPE_STRING, 'div')
218
+ })
222
219
 
223
220
  // --- Main component ---
224
221
 
@@ -24,7 +24,7 @@ import { mathMax } from '../../utils/math'
24
24
  import { makeModelMixin } from '../../utils/model'
25
25
  import { toInteger } from '../../utils/number'
26
26
  import { pick, sortKeys } from '../../utils/object'
27
- import { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props'
27
+ import { makeProp, pluckProps } from '../../utils/props'
28
28
  import { isLink } from '../../utils/router'
29
29
  import { createNewChildComponent } from '../../utils/create-new-child-component'
30
30
  import { attrsMixin } from '../../mixins/attrs'
@@ -55,31 +55,28 @@ const MIN_DURATION = 1000
55
55
 
56
56
  const linkProps = pick(BLinkProps, ['href', 'to'])
57
57
 
58
- export const props = makePropsConfigurable(
59
- sortKeys({
60
- ...idProps,
61
- ...modelProps,
62
- ...linkProps,
63
- appendToast: makeProp(PROP_TYPE_BOOLEAN, false),
64
- autoHideDelay: makeProp(PROP_TYPE_NUMBER_STRING, 5000),
65
- bodyClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
66
- headerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
67
- headerTag: makeProp(PROP_TYPE_STRING, 'header'),
68
- // Switches role to 'status' and aria-live to 'polite'
69
- isStatus: makeProp(PROP_TYPE_BOOLEAN, false),
70
- noAutoHide: makeProp(PROP_TYPE_BOOLEAN, false),
71
- noFade: makeProp(PROP_TYPE_BOOLEAN, false),
72
- noHoverPause: makeProp(PROP_TYPE_BOOLEAN, false),
73
- solid: makeProp(PROP_TYPE_BOOLEAN, false),
74
- // Render the toast in place, rather than in a portal-target
75
- static: makeProp(PROP_TYPE_BOOLEAN, false),
76
- title: makeProp(PROP_TYPE_STRING),
77
- toastClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
78
- toaster: makeProp(PROP_TYPE_STRING, 'b-toaster-top-right'),
79
- variant: makeProp(PROP_TYPE_STRING)
80
- }),
81
- NAME_TOAST
82
- )
58
+ export const props = sortKeys({
59
+ ...idProps,
60
+ ...modelProps,
61
+ ...linkProps,
62
+ appendToast: makeProp(PROP_TYPE_BOOLEAN, false),
63
+ autoHideDelay: makeProp(PROP_TYPE_NUMBER_STRING, 5000),
64
+ bodyClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
65
+ headerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
66
+ headerTag: makeProp(PROP_TYPE_STRING, 'header'),
67
+ // Switches role to 'status' and aria-live to 'polite'
68
+ isStatus: makeProp(PROP_TYPE_BOOLEAN, false),
69
+ noAutoHide: makeProp(PROP_TYPE_BOOLEAN, false),
70
+ noFade: makeProp(PROP_TYPE_BOOLEAN, false),
71
+ noHoverPause: makeProp(PROP_TYPE_BOOLEAN, false),
72
+ solid: makeProp(PROP_TYPE_BOOLEAN, false),
73
+ // Render the toast in place, rather than in a portal-target
74
+ static: makeProp(PROP_TYPE_BOOLEAN, false),
75
+ title: makeProp(PROP_TYPE_STRING),
76
+ toastClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
77
+ toaster: makeProp(PROP_TYPE_STRING, 'b-toaster-top-right'),
78
+ variant: makeProp(PROP_TYPE_STRING)
79
+ })
83
80
 
84
81
  // --- Main component ---
85
82
 
@@ -5,7 +5,7 @@ import { EVENT_NAME_DESTROYED } from '../../constants/events'
5
5
  import { PROP_TYPE_STRING } from '../../constants/props'
6
6
  import { removeClass, requestAF } from '../../utils/dom'
7
7
  import { getRootEventName } from '../../utils/events'
8
- import { makeProp, makePropsConfigurable } from '../../utils/props'
8
+ import { makeProp } from '../../utils/props'
9
9
  import { warn } from '../../utils/warn'
10
10
  import { listenOnRootMixin } from '../../mixins/listen-on-root'
11
11
  import { normalizeSlotMixin } from '../../mixins/normalize-slot'
@@ -47,17 +47,14 @@ export const DefaultTransition = /*#__PURE__*/ extend({
47
47
 
48
48
  // --- Props ---
49
49
 
50
- export const props = makePropsConfigurable(
51
- {
52
- // Allowed: 'true' or 'false' or `null`
53
- ariaAtomic: makeProp(PROP_TYPE_STRING),
54
- ariaLive: makeProp(PROP_TYPE_STRING),
55
- name: makeProp(PROP_TYPE_STRING, undefined, true), // Required
56
- // Aria role
57
- role: makeProp(PROP_TYPE_STRING)
58
- },
59
- NAME_TOASTER
60
- )
50
+ export const props = {
51
+ // Allowed: 'true' or 'false' or `null`
52
+ ariaAtomic: makeProp(PROP_TYPE_STRING),
53
+ ariaLive: makeProp(PROP_TYPE_STRING),
54
+ name: makeProp(PROP_TYPE_STRING, undefined, true), // Required
55
+ // Aria role
56
+ role: makeProp(PROP_TYPE_STRING)
57
+ }
61
58
 
62
59
  // --- Main component ---
63
60
 
@@ -27,7 +27,8 @@ import { useParentMixin } from '../../mixins/use-parent'
27
27
  import { getScopeId } from '../../utils/get-scope-id'
28
28
  import { isUndefinedOrNull } from '../../utils/inspect'
29
29
  import { pick } from '../../utils/object'
30
- import { makeProp, makePropsConfigurable } from '../../utils/props'
30
+ import { TOOLTIP_DELAY } from '../../constants/config'
31
+ import { makeProp } from '../../utils/props'
31
32
  import { createNewChildComponent, eventProp } from '../../utils/create-new-child-component'
32
33
  import { normalizeSlotMixin } from '../../mixins/normalize-slot'
33
34
  import { BVTooltip } from './helpers/bv-tooltip'
@@ -42,43 +43,40 @@ const MODEL_EVENT_NAME_SHOW = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_SHOW
42
43
 
43
44
  // --- Props ---
44
45
 
45
- export const props = makePropsConfigurable(
46
- {
47
- // String: scrollParent, window, or viewport
48
- // Element: element reference
49
- // Object: Vue component
50
- boundary: makeProp([HTMLElement, PROP_TYPE_OBJECT, PROP_TYPE_STRING], 'scrollParent'),
51
- boundaryPadding: makeProp(PROP_TYPE_NUMBER_STRING, 50),
52
- // String: HTML ID of container, if null body is used (default)
53
- // HTMLElement: element reference reference
54
- // Object: Vue Component
55
- container: makeProp([HTMLElement, PROP_TYPE_OBJECT, PROP_TYPE_STRING]),
56
- customClass: makeProp(PROP_TYPE_STRING),
57
- delay: makeProp(PROP_TYPE_NUMBER_OBJECT_STRING, 50),
58
- [MODEL_PROP_NAME_ENABLED]: makeProp(PROP_TYPE_BOOLEAN, false),
59
- fallbackPlacement: makeProp(PROP_TYPE_ARRAY_STRING, 'flip'),
60
- // ID to use for tooltip element
61
- // If not provided on will automatically be generated
62
- id: makeProp(PROP_TYPE_STRING),
63
- noFade: makeProp(PROP_TYPE_BOOLEAN, false),
64
- noninteractive: makeProp(PROP_TYPE_BOOLEAN, false),
65
- offset: makeProp(PROP_TYPE_NUMBER_STRING, 0),
66
- placement: makeProp(PROP_TYPE_STRING, 'top'),
67
- [MODEL_PROP_NAME_SHOW]: makeProp(PROP_TYPE_BOOLEAN, false),
68
- // String ID of element, or element/component reference
69
- // Or function that returns one of the above
70
- // Required
71
- target: makeProp(
72
- [HTMLElement, SVGElement, PROP_TYPE_FUNCTION, PROP_TYPE_OBJECT, PROP_TYPE_STRING],
73
- undefined,
74
- true
75
- ),
76
- title: makeProp(PROP_TYPE_STRING),
77
- triggers: makeProp(PROP_TYPE_ARRAY_STRING, 'hover focus'),
78
- variant: makeProp(PROP_TYPE_STRING)
79
- },
80
- NAME_TOOLTIP
81
- )
46
+ export const props = {
47
+ // String: scrollParent, window, or viewport
48
+ // Element: element reference
49
+ // Object: Vue component
50
+ boundary: makeProp([HTMLElement, PROP_TYPE_OBJECT, PROP_TYPE_STRING], 'scrollParent'),
51
+ boundaryPadding: makeProp(PROP_TYPE_NUMBER_STRING, 5),
52
+ // String: HTML ID of container, if null body is used (default)
53
+ // HTMLElement: element reference reference
54
+ // Object: Vue Component
55
+ container: makeProp([HTMLElement, PROP_TYPE_OBJECT, PROP_TYPE_STRING]),
56
+ customClass: makeProp(PROP_TYPE_STRING, 'gl-tooltip'),
57
+ delay: makeProp(PROP_TYPE_NUMBER_OBJECT_STRING, TOOLTIP_DELAY),
58
+ [MODEL_PROP_NAME_ENABLED]: makeProp(PROP_TYPE_BOOLEAN, false),
59
+ fallbackPlacement: makeProp(PROP_TYPE_ARRAY_STRING, 'flip'),
60
+ // ID to use for tooltip element
61
+ // If not provided on will automatically be generated
62
+ id: makeProp(PROP_TYPE_STRING),
63
+ noFade: makeProp(PROP_TYPE_BOOLEAN, false),
64
+ noninteractive: makeProp(PROP_TYPE_BOOLEAN, false),
65
+ offset: makeProp(PROP_TYPE_NUMBER_STRING, 0),
66
+ placement: makeProp(PROP_TYPE_STRING, 'top'),
67
+ [MODEL_PROP_NAME_SHOW]: makeProp(PROP_TYPE_BOOLEAN, false),
68
+ // String ID of element, or element/component reference
69
+ // Or function that returns one of the above
70
+ // Required
71
+ target: makeProp(
72
+ [HTMLElement, SVGElement, PROP_TYPE_FUNCTION, PROP_TYPE_OBJECT, PROP_TYPE_STRING],
73
+ undefined,
74
+ true
75
+ ),
76
+ title: makeProp(PROP_TYPE_STRING),
77
+ triggers: makeProp(PROP_TYPE_ARRAY_STRING, 'hover focus'),
78
+ variant: makeProp(PROP_TYPE_STRING)
79
+ }
82
80
 
83
81
  // --- Main component ---
84
82
 
@@ -2,3 +2,9 @@ export const NAME = 'BvConfig'
2
2
  export const PROP_NAME = '$bvConfig'
3
3
 
4
4
  export const DEFAULT_BREAKPOINT = ['xs', 'sm', 'md', 'lg', 'xl']
5
+
6
+ // in milliseconds
7
+ export const TOOLTIP_DELAY = {
8
+ show: 500,
9
+ hide: 0
10
+ }
@@ -1,10 +1,9 @@
1
- import { NAME_TOOLTIP } from '../../constants/components'
2
1
  import { IS_BROWSER } from '../../constants/env'
3
2
  import { EVENT_NAME_SHOW } from '../../constants/events'
4
3
  import { concat } from '../../utils/array'
5
4
  import { isVue3 } from '../../vue'
6
- import { getComponentConfig } from '../../utils/config'
7
5
  import { getScopeId } from '../../utils/get-scope-id'
6
+ import { TOOLTIP_DELAY } from '../../constants/config'
8
7
  import { identity } from '../../utils/identity'
9
8
  import { getInstanceFromDirective } from '../../utils/get-instance-from-directive'
10
9
  import {
@@ -65,11 +64,11 @@ const parseBindings = (bindings, vnode) => /* istanbul ignore next: not easy to
65
64
  html: false,
66
65
  interactive: true,
67
66
  disabled: false,
68
- delay: getComponentConfig(NAME_TOOLTIP, 'delay', 50),
69
- boundary: String(getComponentConfig(NAME_TOOLTIP, 'boundary', 'scrollParent')),
70
- boundaryPadding: toInteger(getComponentConfig(NAME_TOOLTIP, 'boundaryPadding', 5), 0),
71
- variant: getComponentConfig(NAME_TOOLTIP, 'variant'),
72
- customClass: getComponentConfig(NAME_TOOLTIP, 'customClass')
67
+ delay: TOOLTIP_DELAY,
68
+ boundary: 'scrollParent',
69
+ boundaryPadding: 5,
70
+ variant: undefined,
71
+ customClass: 'gl-tooltip'
73
72
  }
74
73
  // Process `bindings.value`
75
74
  if (isString(bindings.value) || isNumber(bindings.value)) {
@@ -29,7 +29,7 @@ import { BvEvent } from '../utils/bv-event.class'
29
29
  import { attemptFocus, closest, contains, isVisible, requestAF, selectAll } from '../utils/dom'
30
30
  import { getRootEventName, stopEvent } from '../utils/events'
31
31
  import { mergeDeep, sortKeys } from '../utils/object'
32
- import { makeProp, makePropsConfigurable } from '../utils/props'
32
+ import { makeProp } from '../utils/props'
33
33
  import { warn } from '../utils/warn'
34
34
  import { clickOutMixin } from './click-out'
35
35
  import { focusInMixin } from './focus-in'
@@ -58,30 +58,27 @@ const filterVisibles = els => (els || []).filter(isVisible)
58
58
 
59
59
  // --- Props ---
60
60
 
61
- export const props = makePropsConfigurable(
62
- sortKeys({
63
- ...idProps,
64
- // String: `scrollParent`, `window` or `viewport`
65
- // HTMLElement: HTML Element reference
66
- boundary: makeProp([HTMLElement, PROP_TYPE_STRING], 'scrollParent'),
67
- disabled: makeProp(PROP_TYPE_BOOLEAN, false),
68
- // Place left if possible
69
- dropleft: makeProp(PROP_TYPE_BOOLEAN, false),
70
- // Place right if possible
71
- dropright: makeProp(PROP_TYPE_BOOLEAN, false),
72
- // Place on top if possible
73
- dropup: makeProp(PROP_TYPE_BOOLEAN, false),
74
- // Disable auto-flipping of menu from bottom <=> top
75
- noFlip: makeProp(PROP_TYPE_BOOLEAN, false),
76
- // Number of pixels or a CSS unit value to offset menu
77
- // (i.e. `1px`, `1rem`, etc.)
78
- offset: makeProp(PROP_TYPE_NUMBER_STRING, 0),
79
- popperOpts: makeProp(PROP_TYPE_OBJECT, {}),
80
- // Right align menu (default is left align)
81
- right: makeProp(PROP_TYPE_BOOLEAN, false)
82
- }),
83
- NAME_DROPDOWN
84
- )
61
+ export const props = sortKeys({
62
+ ...idProps,
63
+ // String: `scrollParent`, `window` or `viewport`
64
+ // HTMLElement: HTML Element reference
65
+ boundary: makeProp([HTMLElement, PROP_TYPE_STRING], 'scrollParent'),
66
+ disabled: makeProp(PROP_TYPE_BOOLEAN, false),
67
+ // Place left if possible
68
+ dropleft: makeProp(PROP_TYPE_BOOLEAN, false),
69
+ // Place right if possible
70
+ dropright: makeProp(PROP_TYPE_BOOLEAN, false),
71
+ // Place on top if possible
72
+ dropup: makeProp(PROP_TYPE_BOOLEAN, false),
73
+ // Disable auto-flipping of menu from bottom <=> top
74
+ noFlip: makeProp(PROP_TYPE_BOOLEAN, false),
75
+ // Number of pixels or a CSS unit value to offset menu
76
+ // (i.e. `1px`, `1rem`, etc.)
77
+ offset: makeProp(PROP_TYPE_NUMBER_STRING, 0),
78
+ popperOpts: makeProp(PROP_TYPE_OBJECT, {}),
79
+ // Right align menu (default is left align)
80
+ right: makeProp(PROP_TYPE_BOOLEAN, false)
81
+ })
85
82
 
86
83
  // --- Mixin ---
87
84
 
@@ -1,7 +1,7 @@
1
1
  import { extend } from '../vue'
2
2
  import { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props'
3
3
  import { attemptFocus, isVisible, matches, requestAF, select } from '../utils/dom'
4
- import { makeProp, makePropsConfigurable } from '../utils/props'
4
+ import { makeProp } from '../utils/props'
5
5
 
6
6
  // --- Constants ---
7
7
 
@@ -9,17 +9,14 @@ const SELECTOR = 'input, textarea, select'
9
9
 
10
10
  // --- Props ---
11
11
 
12
- export const props = makePropsConfigurable(
13
- {
14
- autofocus: makeProp(PROP_TYPE_BOOLEAN, false),
15
- disabled: makeProp(PROP_TYPE_BOOLEAN, false),
16
- form: makeProp(PROP_TYPE_STRING),
17
- id: makeProp(PROP_TYPE_STRING),
18
- name: makeProp(PROP_TYPE_STRING),
19
- required: makeProp(PROP_TYPE_BOOLEAN, false)
20
- },
21
- 'formControls'
22
- )
12
+ export const props = {
13
+ autofocus: makeProp(PROP_TYPE_BOOLEAN, false),
14
+ disabled: makeProp(PROP_TYPE_BOOLEAN, false),
15
+ form: makeProp(PROP_TYPE_STRING),
16
+ id: makeProp(PROP_TYPE_STRING),
17
+ name: makeProp(PROP_TYPE_STRING),
18
+ required: makeProp(PROP_TYPE_BOOLEAN, false)
19
+ }
23
20
 
24
21
  // --- Mixin ---
25
22
 
@@ -1,15 +1,12 @@
1
1
  import { extend } from '../vue'
2
2
  import { PROP_TYPE_BOOLEAN } from '../constants/props'
3
- import { makeProp, makePropsConfigurable } from '../utils/props'
3
+ import { makeProp } from '../utils/props'
4
4
 
5
5
  // --- Props ---
6
6
 
7
- export const props = makePropsConfigurable(
8
- {
9
- plain: makeProp(PROP_TYPE_BOOLEAN, false)
10
- },
11
- 'formControls'
12
- )
7
+ export const props = {
8
+ plain: makeProp(PROP_TYPE_BOOLEAN, false)
9
+ }
13
10
 
14
11
  // --- Mixin ---
15
12
 
@@ -4,7 +4,7 @@ import { get } from '../utils/get'
4
4
  import { stripTags } from '../utils/html'
5
5
  import { isArray, isPlainObject, isUndefined } from '../utils/inspect'
6
6
  import { keys } from '../utils/object'
7
- import { makeProp, makePropsConfigurable } from '../utils/props'
7
+ import { makeProp } from '../utils/props'
8
8
  import { warn } from '../utils/warn'
9
9
 
10
10
  // --- Constants ---
@@ -14,16 +14,13 @@ const OPTIONS_OBJECT_DEPRECATED_MSG =
14
14
 
15
15
  // --- Props ---
16
16
 
17
- export const props = makePropsConfigurable(
18
- {
19
- disabledField: makeProp(PROP_TYPE_STRING, 'disabled'),
20
- htmlField: makeProp(PROP_TYPE_STRING, 'html'),
21
- options: makeProp(PROP_TYPE_ARRAY_OBJECT, []),
22
- textField: makeProp(PROP_TYPE_STRING, 'text'),
23
- valueField: makeProp(PROP_TYPE_STRING, 'value')
24
- },
25
- 'formOptionControls'
26
- )
17
+ export const props = {
18
+ disabledField: makeProp(PROP_TYPE_STRING, 'disabled'),
19
+ htmlField: makeProp(PROP_TYPE_STRING, 'html'),
20
+ options: makeProp(PROP_TYPE_ARRAY_OBJECT, []),
21
+ textField: makeProp(PROP_TYPE_STRING, 'text'),
22
+ valueField: makeProp(PROP_TYPE_STRING, 'value')
23
+ }
27
24
 
28
25
  // --- Mixin ---
29
26
 
@@ -5,7 +5,7 @@ import { htmlOrText } from '../utils/html'
5
5
  import { looseEqual } from '../utils/loose-equal'
6
6
  import { makeModelMixin } from '../utils/model'
7
7
  import { omit, pick, sortKeys } from '../utils/object'
8
- import { makeProp, makePropsConfigurable } from '../utils/props'
8
+ import { makeProp } from '../utils/props'
9
9
  import { BFormRadio } from '../components/form-radio/form-radio'
10
10
  import { formControlMixin, props as formControlProps } from './form-control'
11
11
  import { formCustomMixin, props as formCustomProps } from './form-custom'
@@ -31,21 +31,18 @@ export { MODEL_PROP_NAME, MODEL_EVENT_NAME }
31
31
 
32
32
  // --- Props ---
33
33
 
34
- export const props = makePropsConfigurable(
35
- sortKeys({
36
- ...idProps,
37
- ...modelProps,
38
- ...formControlProps,
39
- ...formOptionsProps,
40
- ...formSizeProps,
41
- ...formStateProps,
42
- ...formCustomProps,
43
- ariaInvalid: makeProp(PROP_TYPE_BOOLEAN_STRING, false),
44
- stacked: makeProp(PROP_TYPE_BOOLEAN, false),
45
- validated: makeProp(PROP_TYPE_BOOLEAN, false)
46
- }),
47
- 'formRadioCheckGroups'
48
- )
34
+ export const props = sortKeys({
35
+ ...idProps,
36
+ ...modelProps,
37
+ ...formControlProps,
38
+ ...formOptionsProps,
39
+ ...formSizeProps,
40
+ ...formStateProps,
41
+ ...formCustomProps,
42
+ ariaInvalid: makeProp(PROP_TYPE_BOOLEAN_STRING, false),
43
+ stacked: makeProp(PROP_TYPE_BOOLEAN, false),
44
+ validated: makeProp(PROP_TYPE_BOOLEAN, false)
45
+ })
49
46
 
50
47
  // --- Mixin ---
51
48
 
@@ -6,7 +6,7 @@ import { isBoolean } from '../utils/inspect'
6
6
  import { looseEqual } from '../utils/loose-equal'
7
7
  import { makeModelMixin } from '../utils/model'
8
8
  import { sortKeys } from '../utils/object'
9
- import { makeProp, makePropsConfigurable } from '../utils/props'
9
+ import { makeProp } from '../utils/props'
10
10
  import { attrsMixin } from './attrs'
11
11
  import { formControlMixin, props as formControlProps } from './form-control'
12
12
  import { formCustomMixin, props as formCustomProps } from './form-custom'
@@ -28,21 +28,18 @@ export { MODEL_PROP_NAME, MODEL_EVENT_NAME }
28
28
 
29
29
  // --- Props ---
30
30
 
31
- export const props = makePropsConfigurable(
32
- sortKeys({
33
- ...idProps,
34
- ...modelProps,
35
- ...formControlProps,
36
- ...formSizeProps,
37
- ...formStateProps,
38
- ...formCustomProps,
39
- ariaLabel: makeProp(PROP_TYPE_STRING),
40
- ariaLabelledby: makeProp(PROP_TYPE_STRING),
41
- inline: makeProp(PROP_TYPE_BOOLEAN, false),
42
- value: makeProp(PROP_TYPE_ANY)
43
- }),
44
- 'formRadioCheckControls'
45
- )
31
+ export const props = sortKeys({
32
+ ...idProps,
33
+ ...modelProps,
34
+ ...formControlProps,
35
+ ...formSizeProps,
36
+ ...formStateProps,
37
+ ...formCustomProps,
38
+ ariaLabel: makeProp(PROP_TYPE_STRING),
39
+ ariaLabelledby: makeProp(PROP_TYPE_STRING),
40
+ inline: makeProp(PROP_TYPE_BOOLEAN, false),
41
+ value: makeProp(PROP_TYPE_ANY)
42
+ })
46
43
 
47
44
  // --- Mixin ---
48
45
 
@@ -1,15 +1,12 @@
1
1
  import { extend } from '../vue'
2
2
  import { PROP_TYPE_STRING } from '../constants/props'
3
- import { makeProp, makePropsConfigurable } from '../utils/props'
3
+ import { makeProp } from '../utils/props'
4
4
 
5
5
  // --- Props ---
6
6
 
7
- export const props = makePropsConfigurable(
8
- {
9
- size: makeProp(PROP_TYPE_STRING)
10
- },
11
- 'formControls'
12
- )
7
+ export const props = {
8
+ size: makeProp(PROP_TYPE_STRING)
9
+ }
13
10
 
14
11
  // --- Mixin ---
15
12