@gitlab/ui 128.16.1 → 128.17.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 (120) hide show
  1. package/dist/components/base/filtered_search/filtered_search_token.js +1 -1
  2. package/dist/components/base/filtered_search/filtered_search_token_segment.js +1 -1
  3. package/dist/components/base/tooltip/tooltip.js +1 -3
  4. package/dist/components/dashboards/dashboard_layout/dashboard_layout.js +1 -1
  5. package/dist/config.js +0 -37
  6. package/dist/index.css +1 -1
  7. package/dist/index.css.map +1 -1
  8. package/dist/tailwind.css +1 -1
  9. package/dist/tailwind.css.map +1 -1
  10. package/dist/utils/constants.js +1 -7
  11. package/dist/vendor/bootstrap-vue/src/components/button/button-close.js +3 -3
  12. package/dist/vendor/bootstrap-vue/src/components/button/button.js +3 -3
  13. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-divider.js +3 -3
  14. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-form.js +3 -3
  15. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-group.js +3 -3
  16. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-header.js +3 -3
  17. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-item-button.js +3 -3
  18. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-item.js +3 -3
  19. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-text.js +3 -3
  20. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown.js +3 -3
  21. package/dist/vendor/bootstrap-vue/src/components/form/form-invalid-feedback.js +3 -3
  22. package/dist/vendor/bootstrap-vue/src/components/form/form-text.js +3 -3
  23. package/dist/vendor/bootstrap-vue/src/components/form/form-valid-feedback.js +3 -3
  24. package/dist/vendor/bootstrap-vue/src/components/form/form.js +3 -3
  25. package/dist/vendor/bootstrap-vue/src/components/form-group/form-group.js +3 -3
  26. package/dist/vendor/bootstrap-vue/src/components/form-radio/form-radio-group.js +1 -2
  27. package/dist/vendor/bootstrap-vue/src/components/form-radio/form-radio.js +1 -2
  28. package/dist/vendor/bootstrap-vue/src/components/form-select/form-select-option-group.js +3 -3
  29. package/dist/vendor/bootstrap-vue/src/components/form-select/form-select-option.js +3 -3
  30. package/dist/vendor/bootstrap-vue/src/components/form-select/form-select.js +3 -3
  31. package/dist/vendor/bootstrap-vue/src/components/form-select/helpers/mixin-options.js +3 -3
  32. package/dist/vendor/bootstrap-vue/src/components/form-textarea/form-textarea.js +3 -3
  33. package/dist/vendor/bootstrap-vue/src/components/layout/col.js +3 -3
  34. package/dist/vendor/bootstrap-vue/src/components/layout/form-row.js +3 -3
  35. package/dist/vendor/bootstrap-vue/src/components/modal/modal.js +3 -3
  36. package/dist/vendor/bootstrap-vue/src/components/popover/popover.js +8 -4
  37. package/dist/vendor/bootstrap-vue/src/components/table/table-lite.js +2 -3
  38. package/dist/vendor/bootstrap-vue/src/components/table/table-simple.js +2 -3
  39. package/dist/vendor/bootstrap-vue/src/components/table/table.js +2 -3
  40. package/dist/vendor/bootstrap-vue/src/components/table/tbody.js +3 -3
  41. package/dist/vendor/bootstrap-vue/src/components/table/td.js +3 -3
  42. package/dist/vendor/bootstrap-vue/src/components/table/tfoot.js +3 -3
  43. package/dist/vendor/bootstrap-vue/src/components/table/th.js +1 -2
  44. package/dist/vendor/bootstrap-vue/src/components/table/thead.js +3 -3
  45. package/dist/vendor/bootstrap-vue/src/components/table/tr.js +3 -3
  46. package/dist/vendor/bootstrap-vue/src/components/tabs/tab.js +3 -3
  47. package/dist/vendor/bootstrap-vue/src/components/tabs/tabs.js +3 -3
  48. package/dist/vendor/bootstrap-vue/src/components/toast/toast.js +3 -3
  49. package/dist/vendor/bootstrap-vue/src/components/toast/toaster.js +3 -3
  50. package/dist/vendor/bootstrap-vue/src/components/tooltip/tooltip.js +7 -6
  51. package/dist/vendor/bootstrap-vue/src/constants/config.js +7 -1
  52. package/dist/vendor/bootstrap-vue/src/directives/tooltip/tooltip.js +6 -7
  53. package/dist/vendor/bootstrap-vue/src/mixins/dropdown.js +3 -3
  54. package/dist/vendor/bootstrap-vue/src/mixins/form-control.js +3 -3
  55. package/dist/vendor/bootstrap-vue/src/mixins/form-custom.js +3 -3
  56. package/dist/vendor/bootstrap-vue/src/mixins/form-options.js +3 -3
  57. package/dist/vendor/bootstrap-vue/src/mixins/form-radio-check-group.js +3 -3
  58. package/dist/vendor/bootstrap-vue/src/mixins/form-radio-check.js +3 -3
  59. package/dist/vendor/bootstrap-vue/src/mixins/form-size.js +3 -3
  60. package/dist/vendor/bootstrap-vue/src/mixins/form-state.js +3 -3
  61. package/dist/vendor/bootstrap-vue/src/mixins/form-text.js +3 -3
  62. package/package.json +1 -1
  63. package/src/components/base/filtered_search/filtered_search_token.vue +5 -0
  64. package/src/components/base/filtered_search/filtered_search_token_segment.scss +14 -0
  65. package/src/components/base/filtered_search/filtered_search_token_segment.vue +14 -12
  66. package/src/components/base/tooltip/tooltip.vue +0 -3
  67. package/src/components/dashboards/dashboard_layout/dashboard_layout.vue +1 -1
  68. package/src/config.js +0 -40
  69. package/src/utils/constants.js +0 -6
  70. package/src/vendor/bootstrap-vue/src/components/button/button-close.js +7 -10
  71. package/src/vendor/bootstrap-vue/src/components/button/button.js +13 -16
  72. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-divider.js +4 -7
  73. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-form.js +6 -9
  74. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-group.js +9 -12
  75. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-header.js +6 -9
  76. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-item-button.js +9 -12
  77. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-item.js +6 -9
  78. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-text.js +6 -9
  79. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown.js +27 -30
  80. package/src/vendor/bootstrap-vue/src/components/form/form-invalid-feedback.js +11 -14
  81. package/src/vendor/bootstrap-vue/src/components/form/form-text.js +7 -10
  82. package/src/vendor/bootstrap-vue/src/components/form/form-valid-feedback.js +11 -14
  83. package/src/vendor/bootstrap-vue/src/components/form/form.js +7 -10
  84. package/src/vendor/bootstrap-vue/src/components/form-group/form-group.js +27 -30
  85. package/src/vendor/bootstrap-vue/src/components/form-radio/form-radio-group.js +1 -2
  86. package/src/vendor/bootstrap-vue/src/components/form-radio/form-radio.js +1 -2
  87. package/src/vendor/bootstrap-vue/src/components/form-select/form-select-option-group.js +5 -8
  88. package/src/vendor/bootstrap-vue/src/components/form-select/form-select-option.js +5 -8
  89. package/src/vendor/bootstrap-vue/src/components/form-select/form-select.js +14 -17
  90. package/src/vendor/bootstrap-vue/src/components/form-select/helpers/mixin-options.js +6 -9
  91. package/src/vendor/bootstrap-vue/src/components/form-textarea/form-textarea.js +17 -20
  92. package/src/vendor/bootstrap-vue/src/components/layout/col.js +16 -19
  93. package/src/vendor/bootstrap-vue/src/components/layout/form-row.js +4 -7
  94. package/src/vendor/bootstrap-vue/src/components/modal/modal.js +59 -62
  95. package/src/vendor/bootstrap-vue/src/components/popover/popover.js +13 -11
  96. package/src/vendor/bootstrap-vue/src/components/table/table-lite.js +11 -15
  97. package/src/vendor/bootstrap-vue/src/components/table/table-simple.js +5 -9
  98. package/src/vendor/bootstrap-vue/src/components/table/table.js +20 -24
  99. package/src/vendor/bootstrap-vue/src/components/table/tbody.js +5 -8
  100. package/src/vendor/bootstrap-vue/src/components/table/td.js +8 -11
  101. package/src/vendor/bootstrap-vue/src/components/table/tfoot.js +5 -8
  102. package/src/vendor/bootstrap-vue/src/components/table/th.js +1 -2
  103. package/src/vendor/bootstrap-vue/src/components/table/thead.js +6 -9
  104. package/src/vendor/bootstrap-vue/src/components/table/tr.js +4 -7
  105. package/src/vendor/bootstrap-vue/src/components/tabs/tab.js +16 -19
  106. package/src/vendor/bootstrap-vue/src/components/tabs/tabs.js +22 -25
  107. package/src/vendor/bootstrap-vue/src/components/toast/toast.js +23 -26
  108. package/src/vendor/bootstrap-vue/src/components/toast/toaster.js +9 -12
  109. package/src/vendor/bootstrap-vue/src/components/tooltip/tooltip.js +36 -38
  110. package/src/vendor/bootstrap-vue/src/constants/config.js +6 -0
  111. package/src/vendor/bootstrap-vue/src/directives/tooltip/tooltip.js +6 -7
  112. package/src/vendor/bootstrap-vue/src/mixins/dropdown.js +22 -25
  113. package/src/vendor/bootstrap-vue/src/mixins/form-control.js +9 -12
  114. package/src/vendor/bootstrap-vue/src/mixins/form-custom.js +4 -7
  115. package/src/vendor/bootstrap-vue/src/mixins/form-options.js +8 -11
  116. package/src/vendor/bootstrap-vue/src/mixins/form-radio-check-group.js +13 -16
  117. package/src/vendor/bootstrap-vue/src/mixins/form-radio-check.js +13 -16
  118. package/src/vendor/bootstrap-vue/src/mixins/form-size.js +4 -7
  119. package/src/vendor/bootstrap-vue/src/mixins/form-state.js +5 -8
  120. package/src/vendor/bootstrap-vue/src/mixins/form-text.js +17 -20
@@ -1,19 +1,16 @@
1
1
  import { extend, mergeData } from '../../vue'
2
2
  import { NAME_FORM_TEXT } from '../../constants/components'
3
3
  import { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'
4
- import { makeProp, makePropsConfigurable } from '../../utils/props'
4
+ import { makeProp } from '../../utils/props'
5
5
 
6
6
  // --- Props ---
7
7
 
8
- export const props = makePropsConfigurable(
9
- {
10
- id: makeProp(PROP_TYPE_STRING),
11
- inline: makeProp(PROP_TYPE_BOOLEAN, false),
12
- tag: makeProp(PROP_TYPE_STRING, 'small'),
13
- textVariant: makeProp(PROP_TYPE_STRING, 'muted')
14
- },
15
- NAME_FORM_TEXT
16
- )
8
+ export const props = {
9
+ id: makeProp(PROP_TYPE_STRING),
10
+ inline: makeProp(PROP_TYPE_BOOLEAN, false),
11
+ tag: makeProp(PROP_TYPE_STRING, 'small'),
12
+ textVariant: makeProp(PROP_TYPE_STRING, 'muted')
13
+ }
17
14
 
18
15
  // --- Main component ---
19
16
 
@@ -1,23 +1,20 @@
1
1
  import { extend, mergeData } from '../../vue'
2
2
  import { NAME_FORM_VALID_FEEDBACK } from '../../constants/components'
3
3
  import { PROP_TYPE_BOOLEAN, 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
- ariaLive: makeProp(PROP_TYPE_STRING),
11
- forceShow: makeProp(PROP_TYPE_BOOLEAN, false),
12
- id: makeProp(PROP_TYPE_STRING),
13
- role: makeProp(PROP_TYPE_STRING),
14
- // Tri-state prop: `true`, `false`, or `null`
15
- state: makeProp(PROP_TYPE_BOOLEAN, null),
16
- tag: makeProp(PROP_TYPE_STRING, 'div'),
17
- tooltip: makeProp(PROP_TYPE_BOOLEAN, false)
18
- },
19
- NAME_FORM_VALID_FEEDBACK
20
- )
8
+ export const props = {
9
+ ariaLive: makeProp(PROP_TYPE_STRING),
10
+ forceShow: makeProp(PROP_TYPE_BOOLEAN, false),
11
+ id: makeProp(PROP_TYPE_STRING),
12
+ role: makeProp(PROP_TYPE_STRING),
13
+ // Tri-state prop: `true`, `false`, or `null`
14
+ state: makeProp(PROP_TYPE_BOOLEAN, null),
15
+ tag: makeProp(PROP_TYPE_STRING, 'div'),
16
+ tooltip: makeProp(PROP_TYPE_BOOLEAN, false)
17
+ }
21
18
 
22
19
  // --- Main component ---
23
20
 
@@ -1,19 +1,16 @@
1
1
  import { extend, mergeData } from '../../vue'
2
2
  import { NAME_FORM } from '../../constants/components'
3
3
  import { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'
4
- import { makeProp, makePropsConfigurable } from '../../utils/props'
4
+ import { makeProp } from '../../utils/props'
5
5
 
6
6
  // --- Props ---
7
7
 
8
- export const props = makePropsConfigurable(
9
- {
10
- id: makeProp(PROP_TYPE_STRING),
11
- inline: makeProp(PROP_TYPE_BOOLEAN, false),
12
- novalidate: makeProp(PROP_TYPE_BOOLEAN, false),
13
- validated: makeProp(PROP_TYPE_BOOLEAN, false)
14
- },
15
- NAME_FORM
16
- )
8
+ export const props = {
9
+ id: makeProp(PROP_TYPE_STRING),
10
+ inline: makeProp(PROP_TYPE_BOOLEAN, false),
11
+ novalidate: makeProp(PROP_TYPE_BOOLEAN, false),
12
+ validated: makeProp(PROP_TYPE_BOOLEAN, false)
13
+ }
17
14
 
18
15
  // --- Main component ---
19
16
 
@@ -30,7 +30,7 @@ import { identity } from '../../utils/identity'
30
30
  import { isBoolean } from '../../utils/inspect'
31
31
  import { toInteger } from '../../utils/number'
32
32
  import { create, keys, sortKeys } from '../../utils/object'
33
- import { makeProp, makePropsConfigurable, suffixPropName } from '../../utils/props'
33
+ import { makeProp, suffixPropName } from '../../utils/props'
34
34
  import { formStateMixin, props as formStateProps } from '../../mixins/form-state'
35
35
  import { idMixin, props as idProps } from '../../mixins/id'
36
36
  import { normalizeSlotMixin } from '../../mixins/normalize-slot'
@@ -54,35 +54,32 @@ const LEGEND_INTERACTIVE_ELEMENTS = [...INPUTS, 'a', 'button', 'label']
54
54
 
55
55
  // Prop generator for lazy generation of props
56
56
  export const generateProps = () =>
57
- makePropsConfigurable(
58
- sortKeys({
59
- ...idProps,
60
- ...formStateProps,
61
- ...getBreakpointsUpCached().reduce((props, breakpoint) => {
62
- // i.e. 'content-cols', 'content-cols-sm', 'content-cols-md', ...
63
- props[suffixPropName(breakpoint, 'contentCols')] = makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING)
64
- // i.e. 'label-align', 'label-align-sm', 'label-align-md', ...
65
- props[suffixPropName(breakpoint, 'labelAlign')] = makeProp(PROP_TYPE_STRING)
66
- // i.e. 'label-cols', 'label-cols-sm', 'label-cols-md', ...
67
- props[suffixPropName(breakpoint, 'labelCols')] = makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING)
68
- return props
69
- }, create(null)),
70
- description: makeProp(PROP_TYPE_STRING),
71
- disabled: makeProp(PROP_TYPE_BOOLEAN, false),
72
- feedbackAriaLive: makeProp(PROP_TYPE_STRING, 'assertive'),
73
- invalidFeedback: makeProp(PROP_TYPE_STRING),
74
- label: makeProp(PROP_TYPE_STRING),
75
- labelClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
76
- labelFor: makeProp(PROP_TYPE_STRING),
77
- labelId: makeProp(PROP_TYPE_STRING),
78
- labelSize: makeProp(PROP_TYPE_STRING),
79
- labelSrOnly: makeProp(PROP_TYPE_BOOLEAN, false),
80
- tooltip: makeProp(PROP_TYPE_BOOLEAN, false),
81
- validFeedback: makeProp(PROP_TYPE_STRING),
82
- validated: makeProp(PROP_TYPE_BOOLEAN, false)
83
- }),
84
- NAME_FORM_GROUP
85
- )
57
+ sortKeys({
58
+ ...idProps,
59
+ ...formStateProps,
60
+ ...getBreakpointsUpCached().reduce((props, breakpoint) => {
61
+ // i.e. 'content-cols', 'content-cols-sm', 'content-cols-md', ...
62
+ props[suffixPropName(breakpoint, 'contentCols')] = makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING)
63
+ // i.e. 'label-align', 'label-align-sm', 'label-align-md', ...
64
+ props[suffixPropName(breakpoint, 'labelAlign')] = makeProp(PROP_TYPE_STRING)
65
+ // i.e. 'label-cols', 'label-cols-sm', 'label-cols-md', ...
66
+ props[suffixPropName(breakpoint, 'labelCols')] = makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING)
67
+ return props
68
+ }, create(null)),
69
+ description: makeProp(PROP_TYPE_STRING),
70
+ disabled: makeProp(PROP_TYPE_BOOLEAN, false),
71
+ feedbackAriaLive: makeProp(PROP_TYPE_STRING, 'assertive'),
72
+ invalidFeedback: makeProp(PROP_TYPE_STRING),
73
+ label: makeProp(PROP_TYPE_STRING),
74
+ labelClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
75
+ labelFor: makeProp(PROP_TYPE_STRING),
76
+ labelId: makeProp(PROP_TYPE_STRING),
77
+ labelSize: makeProp(PROP_TYPE_STRING),
78
+ labelSrOnly: makeProp(PROP_TYPE_BOOLEAN, false),
79
+ tooltip: makeProp(PROP_TYPE_BOOLEAN, false),
80
+ validFeedback: makeProp(PROP_TYPE_STRING),
81
+ validated: makeProp(PROP_TYPE_BOOLEAN, false)
82
+ })
86
83
 
87
84
  // --- Main component ---
88
85
 
@@ -1,6 +1,5 @@
1
1
  import { extend } from '../../vue'
2
2
  import { NAME_FORM_RADIO_GROUP } from '../../constants/components'
3
- import { makePropsConfigurable } from '../../utils/props'
4
3
  import {
5
4
  formRadioCheckGroupMixin,
6
5
  props as formRadioCheckGroupProps
@@ -8,7 +7,7 @@ import {
8
7
 
9
8
  // --- Props ---
10
9
 
11
- export const props = makePropsConfigurable(formRadioCheckGroupProps, NAME_FORM_RADIO_GROUP)
10
+ export const props = formRadioCheckGroupProps
12
11
 
13
12
  // --- Main component ---
14
13
 
@@ -1,11 +1,10 @@
1
1
  import { extend } from '../../vue'
2
2
  import { NAME_FORM_RADIO } from '../../constants/components'
3
- import { makePropsConfigurable } from '../../utils/props'
4
3
  import { formRadioCheckMixin, props as formRadioCheckProps } from '../../mixins/form-radio-check'
5
4
 
6
5
  // --- Props ---
7
6
 
8
- export const props = makePropsConfigurable(formRadioCheckProps, NAME_FORM_RADIO)
7
+ export const props = formRadioCheckProps
9
8
 
10
9
  // --- Main component ---
11
10
 
@@ -4,20 +4,17 @@ import { PROP_TYPE_STRING } from '../../constants/props'
4
4
  import { SLOT_NAME_FIRST } from '../../constants/slots'
5
5
  import { htmlOrText } from '../../utils/html'
6
6
  import { sortKeys } from '../../utils/object'
7
- import { makeProp, makePropsConfigurable } from '../../utils/props'
7
+ import { makeProp } from '../../utils/props'
8
8
  import { formOptionsMixin, props as formOptionsProps } from '../../mixins/form-options'
9
9
  import { normalizeSlotMixin } from '../../mixins/normalize-slot'
10
10
  import { BFormSelectOption } from './form-select-option'
11
11
 
12
12
  // --- Props ---
13
13
 
14
- export const props = makePropsConfigurable(
15
- sortKeys({
16
- ...formOptionsProps,
17
- label: makeProp(PROP_TYPE_STRING, undefined, true) // Required
18
- }),
19
- NAME_FORM_SELECT_OPTION_GROUP
20
- )
14
+ export const props = sortKeys({
15
+ ...formOptionsProps,
16
+ label: makeProp(PROP_TYPE_STRING, undefined, true) // Required
17
+ })
21
18
 
22
19
  // --- Main component ---
23
20
 
@@ -1,17 +1,14 @@
1
1
  import { extend, mergeData } from '../../vue'
2
2
  import { NAME_FORM_SELECT_OPTION } from '../../constants/components'
3
3
  import { PROP_TYPE_ANY, PROP_TYPE_BOOLEAN } 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
- disabled: makeProp(PROP_TYPE_BOOLEAN, false),
11
- value: makeProp(PROP_TYPE_ANY, undefined, true) // Required
12
- },
13
- NAME_FORM_SELECT_OPTION
14
- )
8
+ export const props = {
9
+ disabled: makeProp(PROP_TYPE_BOOLEAN, false),
10
+ value: makeProp(PROP_TYPE_ANY, undefined, true) // Required
11
+ }
15
12
 
16
13
  // --- Main component ---
17
14
 
@@ -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