@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
@@ -4,20 +4,17 @@ import { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props'
4
4
  import { SLOT_NAME_DEFAULT } from '../../constants/slots'
5
5
  import { stopEvent } from '../../utils/events'
6
6
  import { isEvent } from '../../utils/inspect'
7
- import { makeProp, makePropsConfigurable } from '../../utils/props'
7
+ import { makeProp } from '../../utils/props'
8
8
  import { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot'
9
9
 
10
10
  // --- Props ---
11
11
 
12
- export const props = makePropsConfigurable(
13
- {
14
- ariaLabel: makeProp(PROP_TYPE_STRING, 'Close'),
15
- content: makeProp(PROP_TYPE_STRING, '×'),
16
- disabled: makeProp(PROP_TYPE_BOOLEAN, false),
17
- textVariant: makeProp(PROP_TYPE_STRING)
18
- },
19
- NAME_BUTTON_CLOSE
20
- )
12
+ export const props = {
13
+ ariaLabel: makeProp(PROP_TYPE_STRING, 'Close'),
14
+ content: makeProp(PROP_TYPE_STRING, '×'),
15
+ disabled: makeProp(PROP_TYPE_BOOLEAN, false),
16
+ textVariant: makeProp(PROP_TYPE_STRING)
17
+ }
21
18
 
22
19
  // --- Main component ---
23
20
 
@@ -7,7 +7,7 @@ import { addClass, isTag, removeClass } from '../../utils/dom'
7
7
  import { stopEvent } from '../../utils/events'
8
8
  import { isBoolean, isEvent, isFunction } from '../../utils/inspect'
9
9
  import { omit, sortKeys } from '../../utils/object'
10
- import { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props'
10
+ import { makeProp, pluckProps } from '../../utils/props'
11
11
  import { isLink as isLinkStrict } from '../../utils/router'
12
12
  import { BLink, props as BLinkProps } from '../link/link'
13
13
 
@@ -17,21 +17,18 @@ const linkProps = omit(BLinkProps, ['event', 'routerTag'])
17
17
  delete linkProps.href.default
18
18
  delete linkProps.to.default
19
19
 
20
- export const props = makePropsConfigurable(
21
- sortKeys({
22
- ...linkProps,
23
- block: makeProp(PROP_TYPE_BOOLEAN, false),
24
- disabled: makeProp(PROP_TYPE_BOOLEAN, false),
25
- // Tri-state: `true`, `false` or `null`
26
- // => On, off, not a toggle
27
- pressed: makeProp(PROP_TYPE_BOOLEAN, null),
28
- size: makeProp(PROP_TYPE_STRING),
29
- tag: makeProp(PROP_TYPE_STRING, 'button'),
30
- type: makeProp(PROP_TYPE_STRING, 'button'),
31
- variant: makeProp(PROP_TYPE_STRING, 'secondary')
32
- }),
33
- NAME_BUTTON
34
- )
20
+ export const props = sortKeys({
21
+ ...linkProps,
22
+ block: makeProp(PROP_TYPE_BOOLEAN, false),
23
+ disabled: makeProp(PROP_TYPE_BOOLEAN, false),
24
+ // Tri-state: `true`, `false` or `null`
25
+ // => On, off, not a toggle
26
+ pressed: makeProp(PROP_TYPE_BOOLEAN, null),
27
+ size: makeProp(PROP_TYPE_STRING),
28
+ tag: makeProp(PROP_TYPE_STRING, 'button'),
29
+ type: makeProp(PROP_TYPE_STRING, 'button'),
30
+ variant: makeProp(PROP_TYPE_STRING, 'secondary')
31
+ })
35
32
 
36
33
  // --- Helper methods ---
37
34
 
@@ -1,17 +1,14 @@
1
1
  import { extend, mergeData } from '../../vue'
2
2
  import { NAME_DROPDOWN_DIVIDER } 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 { omit } from '../../utils/object'
6
6
 
7
7
  // --- Props ---
8
8
 
9
- export const props = makePropsConfigurable(
10
- {
11
- tag: makeProp(PROP_TYPE_STRING, 'hr')
12
- },
13
- NAME_DROPDOWN_DIVIDER
14
- )
9
+ export const props = {
10
+ tag: makeProp(PROP_TYPE_STRING, 'hr')
11
+ }
15
12
 
16
13
  // --- Main component ---
17
14
 
@@ -2,19 +2,16 @@ import { extend, mergeData } from '../../vue'
2
2
  import { NAME_DROPDOWN_FORM } from '../../constants/components'
3
3
  import { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN } from '../../constants/props'
4
4
  import { omit, sortKeys } from '../../utils/object'
5
- import { makeProp, makePropsConfigurable } from '../../utils/props'
5
+ import { makeProp } from '../../utils/props'
6
6
  import { BForm, props as formControlProps } from '../form/form'
7
7
 
8
8
  // --- Props ---
9
9
 
10
- export const props = makePropsConfigurable(
11
- sortKeys({
12
- ...formControlProps,
13
- disabled: makeProp(PROP_TYPE_BOOLEAN, false),
14
- formClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)
15
- }),
16
- NAME_DROPDOWN_FORM
17
- )
10
+ export const props = sortKeys({
11
+ ...formControlProps,
12
+ disabled: makeProp(PROP_TYPE_BOOLEAN, false),
13
+ formClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)
14
+ })
18
15
 
19
16
  // --- Main component ---
20
17
 
@@ -6,21 +6,18 @@ import { isTag } from '../../utils/dom'
6
6
  import { identity } from '../../utils/identity'
7
7
  import { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot'
8
8
  import { omit } from '../../utils/object'
9
- import { makeProp, makePropsConfigurable } from '../../utils/props'
9
+ import { makeProp } from '../../utils/props'
10
10
 
11
11
  // --- Props ---
12
12
 
13
- export const props = makePropsConfigurable(
14
- {
15
- ariaDescribedby: makeProp(PROP_TYPE_STRING),
16
- header: makeProp(PROP_TYPE_STRING),
17
- headerClasses: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
18
- headerTag: makeProp(PROP_TYPE_STRING, 'header'),
19
- headerVariant: makeProp(PROP_TYPE_STRING),
20
- id: makeProp(PROP_TYPE_STRING)
21
- },
22
- NAME_DROPDOWN_GROUP
23
- )
13
+ export const props = {
14
+ ariaDescribedby: makeProp(PROP_TYPE_STRING),
15
+ header: makeProp(PROP_TYPE_STRING),
16
+ headerClasses: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
17
+ headerTag: makeProp(PROP_TYPE_STRING, 'header'),
18
+ headerVariant: makeProp(PROP_TYPE_STRING),
19
+ id: makeProp(PROP_TYPE_STRING)
20
+ }
24
21
 
25
22
  // --- Main component ---
26
23
 
@@ -3,18 +3,15 @@ import { NAME_DROPDOWN_HEADER } from '../../constants/components'
3
3
  import { PROP_TYPE_STRING } from '../../constants/props'
4
4
  import { isTag } from '../../utils/dom'
5
5
  import { omit } from '../../utils/object'
6
- import { makeProp, makePropsConfigurable } from '../../utils/props'
6
+ import { makeProp } from '../../utils/props'
7
7
 
8
8
  // --- Props ---
9
9
 
10
- export const props = makePropsConfigurable(
11
- {
12
- id: makeProp(PROP_TYPE_STRING),
13
- tag: makeProp(PROP_TYPE_STRING, 'header'),
14
- variant: makeProp(PROP_TYPE_STRING)
15
- },
16
- NAME_DROPDOWN_HEADER
17
- )
10
+ export const props = {
11
+ id: makeProp(PROP_TYPE_STRING),
12
+ tag: makeProp(PROP_TYPE_STRING, 'header'),
13
+ variant: makeProp(PROP_TYPE_STRING)
14
+ }
18
15
 
19
16
  // --- Main component ---
20
17
 
@@ -6,23 +6,20 @@ import {
6
6
  PROP_TYPE_BOOLEAN,
7
7
  PROP_TYPE_STRING
8
8
  } from '../../constants/props'
9
- import { makeProp, makePropsConfigurable } from '../../utils/props'
9
+ import { makeProp } from '../../utils/props'
10
10
  import { attrsMixin } from '../../mixins/attrs'
11
11
  import { normalizeSlotMixin } from '../../mixins/normalize-slot'
12
12
 
13
13
  // --- Props ---
14
14
 
15
- export const props = makePropsConfigurable(
16
- {
17
- active: makeProp(PROP_TYPE_BOOLEAN, false),
18
- activeClass: makeProp(PROP_TYPE_STRING, 'active'),
19
- buttonClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
20
- disabled: makeProp(PROP_TYPE_BOOLEAN, false),
21
- variant: makeProp(PROP_TYPE_STRING),
22
- role: makeProp(PROP_TYPE_STRING, 'menuitem')
23
- },
24
- NAME_DROPDOWN_ITEM_BUTTON
25
- )
15
+ export const props = {
16
+ active: makeProp(PROP_TYPE_BOOLEAN, false),
17
+ activeClass: makeProp(PROP_TYPE_STRING, 'active'),
18
+ buttonClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
19
+ disabled: makeProp(PROP_TYPE_BOOLEAN, false),
20
+ variant: makeProp(PROP_TYPE_STRING),
21
+ role: makeProp(PROP_TYPE_STRING, 'menuitem')
22
+ }
26
23
 
27
24
  // --- Main component ---
28
25
 
@@ -4,7 +4,7 @@ import { EVENT_NAME_CLICK } from '../../constants/events'
4
4
  import { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props'
5
5
  import { requestAF } from '../../utils/dom'
6
6
  import { omit, sortKeys } from '../../utils/object'
7
- import { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props'
7
+ import { makeProp, pluckProps } from '../../utils/props'
8
8
  import { attrsMixin } from '../../mixins/attrs'
9
9
  import { normalizeSlotMixin } from '../../mixins/normalize-slot'
10
10
  import { BLink, props as BLinkProps } from '../link/link'
@@ -13,14 +13,11 @@ import { BLink, props as BLinkProps } from '../link/link'
13
13
 
14
14
  const linkProps = omit(BLinkProps, ['event', 'routerTag'])
15
15
 
16
- export const props = makePropsConfigurable(
17
- sortKeys({
18
- ...linkProps,
19
- linkClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
20
- variant: makeProp(PROP_TYPE_STRING)
21
- }),
22
- NAME_DROPDOWN_ITEM
23
- )
16
+ export const props = sortKeys({
17
+ ...linkProps,
18
+ linkClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
19
+ variant: makeProp(PROP_TYPE_STRING)
20
+ })
24
21
 
25
22
  // --- Main component ---
26
23
 
@@ -2,18 +2,15 @@ import { extend, mergeData } from '../../vue'
2
2
  import { NAME_DROPDOWN_TEXT } from '../../constants/components'
3
3
  import { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props'
4
4
  import { omit } from '../../utils/object'
5
- import { makeProp, makePropsConfigurable } from '../../utils/props'
5
+ import { makeProp } from '../../utils/props'
6
6
 
7
7
  // --- Props ---
8
8
 
9
- export const props = makePropsConfigurable(
10
- {
11
- tag: makeProp(PROP_TYPE_STRING, 'p'),
12
- textClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
13
- variant: makeProp(PROP_TYPE_STRING)
14
- },
15
- NAME_DROPDOWN_TEXT
16
- )
9
+ export const props = {
10
+ tag: makeProp(PROP_TYPE_STRING, 'p'),
11
+ textClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
12
+ variant: makeProp(PROP_TYPE_STRING)
13
+ }
17
14
 
18
15
  // --- Main component ---
19
16
 
@@ -10,7 +10,7 @@ import {
10
10
  import { SLOT_NAME_BUTTON_CONTENT, SLOT_NAME_DEFAULT } from '../../constants/slots'
11
11
  import { arrayIncludes } from '../../utils/array'
12
12
  import { htmlOrText } from '../../utils/html'
13
- import { makeProp, makePropsConfigurable } from '../../utils/props'
13
+ import { makeProp } from '../../utils/props'
14
14
  import { toString } from '../../utils/string'
15
15
  import { dropdownMixin, props as dropdownProps } from '../../mixins/dropdown'
16
16
  import { idMixin, props as idProps } from '../../mixins/id'
@@ -20,36 +20,33 @@ import { sortKeys } from '../../utils/object'
20
20
 
21
21
  // --- Props ---
22
22
 
23
- export const props = makePropsConfigurable(
24
- sortKeys({
25
- ...idProps,
26
- ...dropdownProps,
27
- block: makeProp(PROP_TYPE_BOOLEAN, false),
28
- html: makeProp(PROP_TYPE_STRING),
29
- // If `true`, only render menu contents when open
30
- lazy: makeProp(PROP_TYPE_BOOLEAN, false),
31
- menuClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
32
- noCaret: makeProp(PROP_TYPE_BOOLEAN, false),
33
- role: makeProp(PROP_TYPE_STRING, 'menu'),
34
- size: makeProp(PROP_TYPE_STRING),
35
- split: makeProp(PROP_TYPE_BOOLEAN, false),
36
- splitButtonType: makeProp(PROP_TYPE_STRING, 'button', value => {
37
- return arrayIncludes(['button', 'submit', 'reset'], value)
38
- }),
39
- splitClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
40
- splitHref: makeProp(PROP_TYPE_STRING),
41
- splitTo: makeProp(PROP_TYPE_OBJECT_STRING),
42
- splitVariant: makeProp(PROP_TYPE_STRING),
43
- text: makeProp(PROP_TYPE_STRING),
44
- toggleAttrs: makeProp(PROP_TYPE_OBJECT, {}),
45
- toggleClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
46
- toggleTag: makeProp(PROP_TYPE_STRING, 'button'),
47
- // TODO: This really should be `toggleLabel`
48
- toggleText: makeProp(PROP_TYPE_STRING, 'Toggle dropdown'),
49
- variant: makeProp(PROP_TYPE_STRING, 'secondary')
23
+ export const props = sortKeys({
24
+ ...idProps,
25
+ ...dropdownProps,
26
+ block: makeProp(PROP_TYPE_BOOLEAN, false),
27
+ html: makeProp(PROP_TYPE_STRING),
28
+ // If `true`, only render menu contents when open
29
+ lazy: makeProp(PROP_TYPE_BOOLEAN, false),
30
+ menuClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
31
+ noCaret: makeProp(PROP_TYPE_BOOLEAN, false),
32
+ role: makeProp(PROP_TYPE_STRING, 'menu'),
33
+ size: makeProp(PROP_TYPE_STRING),
34
+ split: makeProp(PROP_TYPE_BOOLEAN, false),
35
+ splitButtonType: makeProp(PROP_TYPE_STRING, 'button', value => {
36
+ return arrayIncludes(['button', 'submit', 'reset'], value)
50
37
  }),
51
- NAME_DROPDOWN
52
- )
38
+ splitClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
39
+ splitHref: makeProp(PROP_TYPE_STRING),
40
+ splitTo: makeProp(PROP_TYPE_OBJECT_STRING),
41
+ splitVariant: makeProp(PROP_TYPE_STRING),
42
+ text: makeProp(PROP_TYPE_STRING),
43
+ toggleAttrs: makeProp(PROP_TYPE_OBJECT, {}),
44
+ toggleClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
45
+ toggleTag: makeProp(PROP_TYPE_STRING, 'button'),
46
+ // TODO: This really should be `toggleLabel`
47
+ toggleText: makeProp(PROP_TYPE_STRING, 'Toggle dropdown'),
48
+ variant: makeProp(PROP_TYPE_STRING, 'secondary')
49
+ })
53
50
 
54
51
  // --- Main component ---
55
52
 
@@ -1,23 +1,20 @@
1
1
  import { extend, mergeData } from '../../vue'
2
2
  import { NAME_FORM_INVALID_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_INVALID_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_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