@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
@@ -12,7 +12,7 @@ import { attemptBlur, attemptFocus } from '../../utils/dom'
12
12
  import { htmlOrText } from '../../utils/html'
13
13
  import { isArray } from '../../utils/inspect'
14
14
  import { sortKeys } from '../../utils/object'
15
- import { makeProp, makePropsConfigurable } from '../../utils/props'
15
+ import { makeProp } from '../../utils/props'
16
16
  import { formControlMixin, props as formControlProps } from '../../mixins/form-control'
17
17
  import { formCustomMixin, props as formCustomProps } from '../../mixins/form-custom'
18
18
  import { formSizeMixin, props as formSizeProps } from '../../mixins/form-size'
@@ -31,22 +31,19 @@ import { BFormSelectOptionGroup } from './form-select-option-group'
31
31
 
32
32
  // --- Props ---
33
33
 
34
- export const props = makePropsConfigurable(
35
- sortKeys({
36
- ...idProps,
37
- ...modelProps,
38
- ...formControlProps,
39
- ...formCustomProps,
40
- ...formSizeProps,
41
- ...formStateProps,
42
- ariaInvalid: makeProp(PROP_TYPE_BOOLEAN_STRING, false),
43
- multiple: makeProp(PROP_TYPE_BOOLEAN, false),
44
- // Browsers default size to `0`, which shows 4 rows in most browsers in multiple mode
45
- // Size of `1` can bork out Firefox
46
- selectSize: makeProp(PROP_TYPE_NUMBER, 0)
47
- }),
48
- NAME_FORM_SELECT
49
- )
34
+ export const props = sortKeys({
35
+ ...idProps,
36
+ ...modelProps,
37
+ ...formControlProps,
38
+ ...formCustomProps,
39
+ ...formSizeProps,
40
+ ...formStateProps,
41
+ ariaInvalid: makeProp(PROP_TYPE_BOOLEAN_STRING, false),
42
+ multiple: makeProp(PROP_TYPE_BOOLEAN, false),
43
+ // Browsers default size to `0`, which shows 4 rows in most browsers in multiple mode
44
+ // Size of `1` can bork out Firefox
45
+ selectSize: makeProp(PROP_TYPE_NUMBER, 0)
46
+ })
50
47
 
51
48
  // --- Main component ---
52
49
 
@@ -3,19 +3,16 @@ import { PROP_TYPE_STRING } from '../../../constants/props'
3
3
  import { get } from '../../../utils/get'
4
4
  import { isNull, isPlainObject, isUndefined } from '../../../utils/inspect'
5
5
  import { sortKeys } from '../../../utils/object'
6
- import { makeProp, makePropsConfigurable } from '../../../utils/props'
6
+ import { makeProp } from '../../../utils/props'
7
7
  import { formOptionsMixin, props as formOptionsProps } from '../../../mixins/form-options'
8
8
 
9
9
  // --- Props ---
10
10
 
11
- export const props = makePropsConfigurable(
12
- sortKeys({
13
- ...formOptionsProps,
14
- labelField: makeProp(PROP_TYPE_STRING, 'label'),
15
- optionsField: makeProp(PROP_TYPE_STRING, 'options')
16
- }),
17
- 'formOptions'
18
- )
11
+ export const props = sortKeys({
12
+ ...formOptionsProps,
13
+ labelField: makeProp(PROP_TYPE_STRING, 'label'),
14
+ optionsField: makeProp(PROP_TYPE_STRING, 'options')
15
+ })
19
16
 
20
17
  // --- Mixin ---
21
18
 
@@ -6,7 +6,7 @@ import { isNull } from '../../utils/inspect'
6
6
  import { mathCeil, mathMax, mathMin } from '../../utils/math'
7
7
  import { toInteger, toFloat } from '../../utils/number'
8
8
  import { sortKeys } from '../../utils/object'
9
- import { makeProp, makePropsConfigurable } from '../../utils/props'
9
+ import { makeProp } from '../../utils/props'
10
10
  import { formControlMixin, props as formControlProps } from '../../mixins/form-control'
11
11
  import { formSelectionMixin } from '../../mixins/form-selection'
12
12
  import { formSizeMixin, props as formSizeProps } from '../../mixins/form-size'
@@ -20,25 +20,22 @@ import { VBVisible } from '../../directives/visible/visible'
20
20
 
21
21
  // --- Props ---
22
22
 
23
- export const props = makePropsConfigurable(
24
- sortKeys({
25
- ...idProps,
26
- ...formControlProps,
27
- ...formSizeProps,
28
- ...formStateProps,
29
- ...formTextProps,
30
- maxRows: makeProp(PROP_TYPE_NUMBER_STRING),
31
- // When in auto resize mode, disable shrinking to content height
32
- noAutoShrink: makeProp(PROP_TYPE_BOOLEAN, false),
33
- // Disable the resize handle of textarea
34
- noResize: makeProp(PROP_TYPE_BOOLEAN, false),
35
- rows: makeProp(PROP_TYPE_NUMBER_STRING, 2),
36
- // 'soft', 'hard' or 'off'
37
- // Browser default is 'soft'
38
- wrap: makeProp(PROP_TYPE_STRING, 'soft')
39
- }),
40
- NAME_FORM_TEXTAREA
41
- )
23
+ export const props = sortKeys({
24
+ ...idProps,
25
+ ...formControlProps,
26
+ ...formSizeProps,
27
+ ...formStateProps,
28
+ ...formTextProps,
29
+ maxRows: makeProp(PROP_TYPE_NUMBER_STRING),
30
+ // When in auto resize mode, disable shrinking to content height
31
+ noAutoShrink: makeProp(PROP_TYPE_BOOLEAN, false),
32
+ // Disable the resize handle of textarea
33
+ noResize: makeProp(PROP_TYPE_BOOLEAN, false),
34
+ rows: makeProp(PROP_TYPE_NUMBER_STRING, 2),
35
+ // 'soft', 'hard' or 'off'
36
+ // Browser default is 'soft'
37
+ wrap: makeProp(PROP_TYPE_STRING, 'soft')
38
+ })
42
39
 
43
40
  // --- Main component ---
44
41
 
@@ -13,7 +13,7 @@ import { identity } from '../../utils/identity'
13
13
  import { isUndefinedOrNull } from '../../utils/inspect'
14
14
  import { memoize } from '../../utils/memoize'
15
15
  import { assign, create, keys, sortKeys } from '../../utils/object'
16
- import { makeProp, makePropsConfigurable, suffixPropName } from '../../utils/props'
16
+ import { makeProp, suffixPropName } from '../../utils/props'
17
17
  import { lowerCase } from '../../utils/string'
18
18
 
19
19
  // --- Constants ---
@@ -83,25 +83,22 @@ export const generateProps = () => {
83
83
  })
84
84
 
85
85
  // Return the generated props
86
- return makePropsConfigurable(
87
- sortKeys({
88
- ...breakpointCol,
89
- ...breakpointOffset,
90
- ...breakpointOrder,
91
- // Flex alignment
92
- alignSelf: makeProp(PROP_TYPE_STRING, null, value => {
93
- return arrayIncludes(ALIGN_SELF_VALUES, value)
94
- }),
95
- // Generic flexbox 'col' (xs)
96
- col: makeProp(PROP_TYPE_BOOLEAN, false),
97
- // i.e. 'col-1', 'col-2', 'col-auto', ...
98
- cols: makeProp(PROP_TYPE_NUMBER_STRING),
99
- offset: makeProp(PROP_TYPE_NUMBER_STRING),
100
- order: makeProp(PROP_TYPE_NUMBER_STRING),
101
- tag: makeProp(PROP_TYPE_STRING, 'div')
86
+ return sortKeys({
87
+ ...breakpointCol,
88
+ ...breakpointOffset,
89
+ ...breakpointOrder,
90
+ // Flex alignment
91
+ alignSelf: makeProp(PROP_TYPE_STRING, null, value => {
92
+ return arrayIncludes(ALIGN_SELF_VALUES, value)
102
93
  }),
103
- NAME_COL
104
- )
94
+ // Generic flexbox 'col' (xs)
95
+ col: makeProp(PROP_TYPE_BOOLEAN, false),
96
+ // i.e. 'col-1', 'col-2', 'col-auto', ...
97
+ cols: makeProp(PROP_TYPE_NUMBER_STRING),
98
+ offset: makeProp(PROP_TYPE_NUMBER_STRING),
99
+ order: makeProp(PROP_TYPE_NUMBER_STRING),
100
+ tag: makeProp(PROP_TYPE_STRING, 'div')
101
+ })
105
102
  }
106
103
 
107
104
  // --- Main component ---
@@ -1,16 +1,13 @@
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, makePropsConfigurable } from '../../utils/props'
4
+ import { makeProp } from '../../utils/props'
5
5
 
6
6
  // --- Props ---
7
7
 
8
- export const props = makePropsConfigurable(
9
- {
10
- tag: makeProp(PROP_TYPE_STRING, 'div')
11
- },
12
- NAME_FORM_ROW
13
- )
8
+ export const props = {
9
+ tag: makeProp(PROP_TYPE_STRING, 'div')
10
+ }
14
11
 
15
12
  // --- Main component ---
16
13
 
@@ -49,7 +49,7 @@ import { isString, isUndefinedOrNull } from '../../utils/inspect'
49
49
  import { makeModelMixin } from '../../utils/model'
50
50
  import { sortKeys } from '../../utils/object'
51
51
  import { observeDom } from '../../utils/observe-dom'
52
- import { makeProp, makePropsConfigurable } from '../../utils/props'
52
+ import { makeProp } from '../../utils/props'
53
53
  import { attrsMixin } from '../../mixins/attrs'
54
54
  import { idMixin, props as idProps } from '../../mixins/id'
55
55
  import { listenOnDocumentMixin } from '../../mixins/listen-on-document'
@@ -101,67 +101,64 @@ const OBSERVER_CONFIG = {
101
101
 
102
102
  // --- Props ---
103
103
 
104
- export const props = makePropsConfigurable(
105
- sortKeys({
106
- ...idProps,
107
- ...modelProps,
108
- ariaLabel: makeProp(PROP_TYPE_STRING),
109
- autoFocusButton: makeProp(
110
- PROP_TYPE_STRING,
111
- null,
112
- /* istanbul ignore next */ value => {
113
- return isUndefinedOrNull(value) || arrayIncludes(BUTTONS, value)
114
- }
115
- ),
116
- bodyClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
117
- busy: makeProp(PROP_TYPE_BOOLEAN, false),
118
- buttonSize: makeProp(PROP_TYPE_STRING),
119
- cancelDisabled: makeProp(PROP_TYPE_BOOLEAN, false),
120
- cancelTitle: makeProp(PROP_TYPE_STRING, 'Cancel'),
121
- cancelTitleHtml: makeProp(PROP_TYPE_STRING),
122
- cancelVariant: makeProp(PROP_TYPE_STRING, 'secondary'),
123
- centered: makeProp(PROP_TYPE_BOOLEAN, false),
124
- contentClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
125
- dialogClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
126
- footerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
127
- footerTag: makeProp(PROP_TYPE_STRING, 'footer'),
128
- headerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
129
- headerCloseContent: makeProp(PROP_TYPE_STRING, '×'),
130
- headerCloseLabel: makeProp(PROP_TYPE_STRING, 'Close'),
131
- headerTag: makeProp(PROP_TYPE_STRING, 'header'),
132
- // TODO: Rename to `noBackdrop` and deprecate `hideBackdrop`
133
- hideBackdrop: makeProp(PROP_TYPE_BOOLEAN, false),
134
- // TODO: Rename to `noFooter` and deprecate `hideFooter`
135
- hideFooter: makeProp(PROP_TYPE_BOOLEAN, false),
136
- // TODO: Rename to `noHeader` and deprecate `hideHeader`
137
- hideHeader: makeProp(PROP_TYPE_BOOLEAN, false),
138
- // TODO: Rename to `noHeaderClose` and deprecate `hideHeaderClose`
139
- hideHeaderClose: makeProp(PROP_TYPE_BOOLEAN, false),
140
- ignoreEnforceFocusSelector: makeProp(PROP_TYPE_ARRAY_STRING),
141
- lazy: makeProp(PROP_TYPE_BOOLEAN, false),
142
- modalClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
143
- noCloseOnBackdrop: makeProp(PROP_TYPE_BOOLEAN, false),
144
- noCloseOnEsc: makeProp(PROP_TYPE_BOOLEAN, false),
145
- noEnforceFocus: makeProp(PROP_TYPE_BOOLEAN, false),
146
- noFade: makeProp(PROP_TYPE_BOOLEAN, false),
147
- noStacking: makeProp(PROP_TYPE_BOOLEAN, false),
148
- okDisabled: makeProp(PROP_TYPE_BOOLEAN, false),
149
- okOnly: makeProp(PROP_TYPE_BOOLEAN, false),
150
- okTitle: makeProp(PROP_TYPE_STRING, 'OK'),
151
- okTitleHtml: makeProp(PROP_TYPE_STRING),
152
- okVariant: makeProp(PROP_TYPE_STRING, 'primary'),
153
- // HTML Element, CSS selector string or Vue component instance
154
- returnFocus: makeProp([HTMLElement, PROP_TYPE_OBJECT, PROP_TYPE_STRING]),
155
- scrollable: makeProp(PROP_TYPE_BOOLEAN, false),
156
- size: makeProp(PROP_TYPE_STRING, 'md'),
157
- static: makeProp(PROP_TYPE_BOOLEAN, false),
158
- title: makeProp(PROP_TYPE_STRING),
159
- titleClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
160
- titleHtml: makeProp(PROP_TYPE_STRING),
161
- titleTag: makeProp(PROP_TYPE_STRING, 'h5')
162
- }),
163
- NAME_MODAL
164
- )
104
+ export const props = sortKeys({
105
+ ...idProps,
106
+ ...modelProps,
107
+ ariaLabel: makeProp(PROP_TYPE_STRING),
108
+ autoFocusButton: makeProp(
109
+ PROP_TYPE_STRING,
110
+ null,
111
+ /* istanbul ignore next */ value => {
112
+ return isUndefinedOrNull(value) || arrayIncludes(BUTTONS, value)
113
+ }
114
+ ),
115
+ bodyClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
116
+ busy: makeProp(PROP_TYPE_BOOLEAN, false),
117
+ buttonSize: makeProp(PROP_TYPE_STRING),
118
+ cancelDisabled: makeProp(PROP_TYPE_BOOLEAN, false),
119
+ cancelTitle: makeProp(PROP_TYPE_STRING, 'Cancel'),
120
+ cancelTitleHtml: makeProp(PROP_TYPE_STRING),
121
+ cancelVariant: makeProp(PROP_TYPE_STRING, 'secondary'),
122
+ centered: makeProp(PROP_TYPE_BOOLEAN, false),
123
+ contentClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
124
+ dialogClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
125
+ footerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
126
+ footerTag: makeProp(PROP_TYPE_STRING, 'footer'),
127
+ headerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
128
+ headerCloseContent: makeProp(PROP_TYPE_STRING, '×'),
129
+ headerCloseLabel: makeProp(PROP_TYPE_STRING, 'Close'),
130
+ headerTag: makeProp(PROP_TYPE_STRING, 'header'),
131
+ // TODO: Rename to `noBackdrop` and deprecate `hideBackdrop`
132
+ hideBackdrop: makeProp(PROP_TYPE_BOOLEAN, false),
133
+ // TODO: Rename to `noFooter` and deprecate `hideFooter`
134
+ hideFooter: makeProp(PROP_TYPE_BOOLEAN, false),
135
+ // TODO: Rename to `noHeader` and deprecate `hideHeader`
136
+ hideHeader: makeProp(PROP_TYPE_BOOLEAN, false),
137
+ // TODO: Rename to `noHeaderClose` and deprecate `hideHeaderClose`
138
+ hideHeaderClose: makeProp(PROP_TYPE_BOOLEAN, false),
139
+ ignoreEnforceFocusSelector: makeProp(PROP_TYPE_ARRAY_STRING),
140
+ lazy: makeProp(PROP_TYPE_BOOLEAN, false),
141
+ modalClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
142
+ noCloseOnBackdrop: makeProp(PROP_TYPE_BOOLEAN, false),
143
+ noCloseOnEsc: makeProp(PROP_TYPE_BOOLEAN, false),
144
+ noEnforceFocus: makeProp(PROP_TYPE_BOOLEAN, false),
145
+ noFade: makeProp(PROP_TYPE_BOOLEAN, false),
146
+ noStacking: makeProp(PROP_TYPE_BOOLEAN, false),
147
+ okDisabled: makeProp(PROP_TYPE_BOOLEAN, false),
148
+ okOnly: makeProp(PROP_TYPE_BOOLEAN, false),
149
+ okTitle: makeProp(PROP_TYPE_STRING, 'OK'),
150
+ okTitleHtml: makeProp(PROP_TYPE_STRING),
151
+ okVariant: makeProp(PROP_TYPE_STRING, 'primary'),
152
+ // HTML Element, CSS selector string or Vue component instance
153
+ returnFocus: makeProp([HTMLElement, PROP_TYPE_OBJECT, PROP_TYPE_STRING]),
154
+ scrollable: makeProp(PROP_TYPE_BOOLEAN, false),
155
+ size: makeProp(PROP_TYPE_STRING, 'md'),
156
+ static: makeProp(PROP_TYPE_BOOLEAN, false),
157
+ title: makeProp(PROP_TYPE_STRING),
158
+ titleClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
159
+ titleHtml: makeProp(PROP_TYPE_STRING),
160
+ titleTag: makeProp(PROP_TYPE_STRING, 'h5')
161
+ })
165
162
 
166
163
  // --- Main component ---
167
164
 
@@ -1,24 +1,26 @@
1
1
  import { extend } from '../../vue'
2
2
  import { NAME_POPOVER } from '../../constants/components'
3
3
  import { EVENT_NAME_CLICK } from '../../constants/events'
4
- import { PROP_TYPE_ARRAY_STRING, PROP_TYPE_STRING } from '../../constants/props'
4
+ import {
5
+ PROP_TYPE_ARRAY_STRING,
6
+ PROP_TYPE_NUMBER_OBJECT_STRING,
7
+ PROP_TYPE_STRING
8
+ } from '../../constants/props'
5
9
  import { SLOT_NAME_TITLE } from '../../constants/slots'
6
- import { makeProp, makePropsConfigurable } from '../../utils/props'
10
+ import { makeProp } from '../../utils/props'
7
11
  import { BTooltip, props as BTooltipProps } from '../tooltip/tooltip'
8
12
  import { BVPopover } from './helpers/bv-popover'
9
13
  import { sortKeys } from '../../utils/object'
10
14
 
11
15
  // --- Props ---
12
16
 
13
- export const props = makePropsConfigurable(
14
- sortKeys({
15
- ...BTooltipProps,
16
- content: makeProp(PROP_TYPE_STRING),
17
- placement: makeProp(PROP_TYPE_STRING, 'right'),
18
- triggers: makeProp(PROP_TYPE_ARRAY_STRING, EVENT_NAME_CLICK)
19
- }),
20
- NAME_POPOVER
21
- )
17
+ export const props = sortKeys({
18
+ ...BTooltipProps,
19
+ content: makeProp(PROP_TYPE_STRING),
20
+ delay: makeProp(PROP_TYPE_NUMBER_OBJECT_STRING, { show: 50, hide: 150 }),
21
+ placement: makeProp(PROP_TYPE_STRING, 'right'),
22
+ triggers: makeProp(PROP_TYPE_ARRAY_STRING, EVENT_NAME_CLICK)
23
+ })
22
24
 
23
25
  // --- Main component ---
24
26
 
@@ -1,7 +1,6 @@
1
1
  import { extend } from '../../vue'
2
2
  import { NAME_TABLE_LITE } from '../../constants/components'
3
3
  import { sortKeys } from '../../utils/object'
4
- import { makePropsConfigurable } from '../../utils/props'
5
4
  import { attrsMixin } from '../../mixins/attrs'
6
5
  import { hasListenerMixin } from '../../mixins/has-listener'
7
6
  import { idMixin, props as idProps } from '../../mixins/id'
@@ -17,20 +16,17 @@ import { theadMixin, props as theadProps } from './helpers/mixin-thead'
17
16
 
18
17
  // --- Props ---
19
18
 
20
- export const props = makePropsConfigurable(
21
- sortKeys({
22
- ...idProps,
23
- ...captionProps,
24
- ...colgroupProps,
25
- ...itemsProps,
26
- ...stackedProps,
27
- ...tableRendererProps,
28
- ...tbodyProps,
29
- ...tfootProps,
30
- ...theadProps
31
- }),
32
- NAME_TABLE_LITE
33
- )
19
+ export const props = sortKeys({
20
+ ...idProps,
21
+ ...captionProps,
22
+ ...colgroupProps,
23
+ ...itemsProps,
24
+ ...stackedProps,
25
+ ...tableRendererProps,
26
+ ...tbodyProps,
27
+ ...tfootProps,
28
+ ...theadProps
29
+ })
34
30
 
35
31
  // --- Main component ---
36
32
 
@@ -1,7 +1,6 @@
1
1
  import { extend } from '../../vue'
2
2
  import { NAME_TABLE_SIMPLE } from '../../constants/components'
3
3
  import { sortKeys } from '../../utils/object'
4
- import { makePropsConfigurable } from '../../utils/props'
5
4
  import { attrsMixin } from '../../mixins/attrs'
6
5
  import { hasListenerMixin } from '../../mixins/has-listener'
7
6
  import { idMixin, props as idProps } from '../../mixins/id'
@@ -11,14 +10,11 @@ import { tableRendererMixin, props as tableRendererProps } from './helpers/mixin
11
10
 
12
11
  // --- Props ---
13
12
 
14
- export const props = makePropsConfigurable(
15
- sortKeys({
16
- ...idProps,
17
- ...stackedProps,
18
- ...tableRendererProps
19
- }),
20
- NAME_TABLE_SIMPLE
21
- )
13
+ export const props = sortKeys({
14
+ ...idProps,
15
+ ...stackedProps,
16
+ ...tableRendererProps
17
+ })
22
18
 
23
19
  // --- Main component ---
24
20
 
@@ -1,7 +1,6 @@
1
1
  import { extend } from '../../vue'
2
2
  import { NAME_TABLE } from '../../constants/components'
3
3
  import { sortKeys } from '../../utils/object'
4
- import { makePropsConfigurable } from '../../utils/props'
5
4
  import { attrsMixin } from '../../mixins/attrs'
6
5
  import { hasListenerMixin } from '../../mixins/has-listener'
7
6
  import { idMixin, props as idProps } from '../../mixins/id'
@@ -26,29 +25,26 @@ import { topRowMixin, props as topRowProps } from './helpers/mixin-top-row'
26
25
 
27
26
  // --- Props ---
28
27
 
29
- export const props = makePropsConfigurable(
30
- sortKeys({
31
- ...idProps,
32
- ...bottomRowProps,
33
- ...busyProps,
34
- ...captionProps,
35
- ...colgroupProps,
36
- ...emptyProps,
37
- ...filteringProps,
38
- ...itemsProps,
39
- ...paginationProps,
40
- ...providerProps,
41
- ...selectableProps,
42
- ...sortingProps,
43
- ...stackedProps,
44
- ...tableRendererProps,
45
- ...tbodyProps,
46
- ...tfootProps,
47
- ...theadProps,
48
- ...topRowProps
49
- }),
50
- NAME_TABLE
51
- )
28
+ export const props = sortKeys({
29
+ ...idProps,
30
+ ...bottomRowProps,
31
+ ...busyProps,
32
+ ...captionProps,
33
+ ...colgroupProps,
34
+ ...emptyProps,
35
+ ...filteringProps,
36
+ ...itemsProps,
37
+ ...paginationProps,
38
+ ...providerProps,
39
+ ...selectableProps,
40
+ ...sortingProps,
41
+ ...stackedProps,
42
+ ...tableRendererProps,
43
+ ...tbodyProps,
44
+ ...tfootProps,
45
+ ...theadProps,
46
+ ...topRowProps
47
+ })
52
48
 
53
49
  // --- Main component ---
54
50
 
@@ -1,20 +1,17 @@
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, 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'
8
8
 
9
9
  // --- Props ---
10
10
 
11
- export const props = makePropsConfigurable(
12
- {
13
- tbodyTransitionHandlers: makeProp(PROP_TYPE_OBJECT),
14
- tbodyTransitionProps: makeProp(PROP_TYPE_OBJECT)
15
- },
16
- NAME_TBODY
17
- )
11
+ export const props = {
12
+ tbodyTransitionHandlers: makeProp(PROP_TYPE_OBJECT),
13
+ tbodyTransitionProps: makeProp(PROP_TYPE_OBJECT)
14
+ }
18
15
 
19
16
  // --- Main component ---
20
17
 
@@ -4,7 +4,7 @@ import { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '..
4
4
  import { isTag } from '../../utils/dom'
5
5
  import { isUndefinedOrNull } from '../../utils/inspect'
6
6
  import { toInteger } from '../../utils/number'
7
- import { makeProp, makePropsConfigurable } from '../../utils/props'
7
+ import { makeProp } from '../../utils/props'
8
8
  import { toString } from '../../utils/string'
9
9
  import { attrsMixin } from '../../mixins/attrs'
10
10
  import { listenersMixin } from '../../mixins/listeners'
@@ -23,16 +23,13 @@ const spanValidator = value => isUndefinedOrNull(value) || parseSpan(value) > 0
23
23
 
24
24
  // --- Props ---
25
25
 
26
- export const props = makePropsConfigurable(
27
- {
28
- colspan: makeProp(PROP_TYPE_NUMBER_STRING, null, spanValidator),
29
- rowspan: makeProp(PROP_TYPE_NUMBER_STRING, null, spanValidator),
30
- stackedHeading: makeProp(PROP_TYPE_STRING),
31
- stickyColumn: makeProp(PROP_TYPE_BOOLEAN, false),
32
- variant: makeProp(PROP_TYPE_STRING)
33
- },
34
- NAME_TABLE_CELL
35
- )
26
+ export const props = {
27
+ colspan: makeProp(PROP_TYPE_NUMBER_STRING, null, spanValidator),
28
+ rowspan: makeProp(PROP_TYPE_NUMBER_STRING, null, spanValidator),
29
+ stackedHeading: makeProp(PROP_TYPE_STRING),
30
+ stickyColumn: makeProp(PROP_TYPE_BOOLEAN, false),
31
+ variant: makeProp(PROP_TYPE_STRING)
32
+ }
36
33
 
37
34
  // --- Main component ---
38
35
 
@@ -1,20 +1,17 @@
1
1
  import { extend } from '../../vue'
2
2
  import { NAME_TFOOT } 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'
8
8
 
9
9
  // --- Props ---
10
10
 
11
- export const props = makePropsConfigurable(
12
- {
13
- // Supported values: 'lite', 'dark', or null
14
- footVariant: makeProp(PROP_TYPE_STRING)
15
- },
16
- NAME_TFOOT
17
- )
11
+ export const props = {
12
+ // Supported values: 'lite', 'dark', or null
13
+ footVariant: makeProp(PROP_TYPE_STRING)
14
+ }
18
15
 
19
16
  // --- Main component ---
20
17
 
@@ -1,11 +1,10 @@
1
1
  import { extend } from '../../vue'
2
2
  import { NAME_TH } from '../../constants/components'
3
- import { makePropsConfigurable } from '../../utils/props'
4
3
  import { BTd, props as BTdProps } from './td'
5
4
 
6
5
  // --- Props ---
7
6
 
8
- export const props = makePropsConfigurable(BTdProps, NAME_TH)
7
+ export const props = BTdProps
9
8
 
10
9
  // --- Main component ---
11
10
 
@@ -1,21 +1,18 @@
1
1
  import { extend } from '../../vue'
2
2
  import { NAME_THEAD } 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'
8
8
 
9
9
  // --- Props ---
10
10
 
11
- export const props = makePropsConfigurable(
12
- {
13
- // Also sniffed by `<b-tr>` / `<b-td>` / `<b-th>`
14
- // Supported values: 'lite', 'dark', or `null`
15
- headVariant: makeProp(PROP_TYPE_STRING)
16
- },
17
- NAME_THEAD
18
- )
11
+ export const props = {
12
+ // Also sniffed by `<b-tr>` / `<b-td>` / `<b-th>`
13
+ // Supported values: 'lite', 'dark', or `null`
14
+ headVariant: makeProp(PROP_TYPE_STRING)
15
+ }
19
16
 
20
17
  // --- Main component ---
21
18