@gitlab/ui 132.0.2 → 132.0.3

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 (67) hide show
  1. package/dist/components/base/link/link.js +2 -2
  2. package/dist/utils/url_utils.js +56 -0
  3. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-divider.js +5 -2
  4. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-form.js +11 -4
  5. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-group.js +31 -8
  6. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-header.js +15 -4
  7. package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-item-button.js +31 -8
  8. package/dist/vendor/bootstrap-vue/src/components/form/form-invalid-feedback.js +35 -8
  9. package/dist/vendor/bootstrap-vue/src/components/form/form-valid-feedback.js +35 -8
  10. package/dist/vendor/bootstrap-vue/src/components/form-select/form-select-option-group.js +4 -2
  11. package/dist/vendor/bootstrap-vue/src/components/form-select/form-select-option.js +9 -3
  12. package/dist/vendor/bootstrap-vue/src/components/form-select/form-select.js +16 -5
  13. package/dist/vendor/bootstrap-vue/src/components/form-select/helpers/mixin-options.js +10 -3
  14. package/dist/vendor/bootstrap-vue/src/components/form-textarea/form-textarea.js +26 -7
  15. package/dist/vendor/bootstrap-vue/src/components/popover/popover.js +24 -9
  16. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-busy.js +5 -2
  17. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-caption.js +10 -3
  18. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-empty.js +25 -6
  19. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-items.js +20 -5
  20. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-pagination.js +11 -4
  21. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-provider.js +26 -7
  22. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-selectable.js +21 -7
  23. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-sorting.js +74 -20
  24. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-stacked.js +6 -3
  25. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-table-renderer.js +71 -16
  26. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody-row.js +16 -5
  27. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody.js +7 -3
  28. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-tfoot.js +26 -7
  29. package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-thead.js +21 -6
  30. package/dist/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-popper.js +36 -9
  31. package/dist/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip-template.js +10 -3
  32. package/dist/vendor/bootstrap-vue/src/components/transition/bv-transition.js +20 -5
  33. package/dist/vendor/bootstrap-vue/src/components/transporter/transporter.js +24 -9
  34. package/package.json +1 -1
  35. package/src/components/base/link/link.vue +2 -2
  36. package/src/utils/url_utils.js +66 -0
  37. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-divider.js +5 -2
  38. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-form.js +16 -4
  39. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-group.js +31 -8
  40. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-header.js +15 -4
  41. package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-item-button.js +32 -8
  42. package/src/vendor/bootstrap-vue/src/components/form/form-invalid-feedback.js +35 -8
  43. package/src/vendor/bootstrap-vue/src/components/form/form-valid-feedback.js +35 -8
  44. package/src/vendor/bootstrap-vue/src/components/form-select/form-select-option-group.js +4 -2
  45. package/src/vendor/bootstrap-vue/src/components/form-select/form-select-option.js +9 -3
  46. package/src/vendor/bootstrap-vue/src/components/form-select/form-select.js +16 -9
  47. package/src/vendor/bootstrap-vue/src/components/form-select/helpers/mixin-options.js +10 -3
  48. package/src/vendor/bootstrap-vue/src/components/form-textarea/form-textarea.js +26 -7
  49. package/src/vendor/bootstrap-vue/src/components/popover/popover.js +23 -7
  50. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-busy.js +5 -2
  51. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-caption.js +10 -3
  52. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-empty.js +25 -6
  53. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-items.js +20 -5
  54. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-pagination.js +11 -4
  55. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-provider.js +27 -7
  56. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-selectable.js +21 -7
  57. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-sorting.js +72 -18
  58. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-stacked.js +6 -3
  59. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-table-renderer.js +72 -17
  60. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody-row.js +18 -6
  61. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody.js +7 -3
  62. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-tfoot.js +27 -7
  63. package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-thead.js +21 -6
  64. package/src/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-popper.js +36 -13
  65. package/src/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip-template.js +10 -3
  66. package/src/vendor/bootstrap-vue/src/components/transition/bv-transition.js +20 -5
  67. package/src/vendor/bootstrap-vue/src/components/transporter/transporter.js +22 -6
@@ -1,13 +1,12 @@
1
1
  import { extend } from '../../../vue'
2
2
  import {
3
- PROP_TYPE_ARRAY_OBJECT_STRING,
3
+ PROP_TYPE_ARRAY,
4
4
  PROP_TYPE_BOOLEAN,
5
- PROP_TYPE_BOOLEAN_STRING,
5
+ PROP_TYPE_OBJECT,
6
6
  PROP_TYPE_STRING
7
7
  } from '../../../constants/props'
8
8
  import { identity } from '../../../utils/identity'
9
9
  import { isBoolean } from '../../../utils/inspect'
10
- import { makeProp } from '../../../utils/props'
11
10
  import { safeVueInstance } from '../../../utils/safe-vue-instance'
12
11
  import { toString } from '../../../utils/string'
13
12
  import { attrsMixin } from '../../../mixins/attrs'
@@ -18,21 +17,77 @@ import { attrsMixin } from '../../../mixins/attrs'
18
17
  // --- Props ---
19
18
 
20
19
  export const props = {
21
- bordered: makeProp(PROP_TYPE_BOOLEAN, false),
22
- borderless: makeProp(PROP_TYPE_BOOLEAN, false),
23
- captionTop: makeProp(PROP_TYPE_BOOLEAN, false),
24
- dark: makeProp(PROP_TYPE_BOOLEAN, false),
25
- fixed: makeProp(PROP_TYPE_BOOLEAN, false),
26
- hover: makeProp(PROP_TYPE_BOOLEAN, false),
27
- noBorderCollapse: makeProp(PROP_TYPE_BOOLEAN, false),
28
- outlined: makeProp(PROP_TYPE_BOOLEAN, false),
29
- responsive: makeProp(PROP_TYPE_BOOLEAN_STRING, false),
30
- small: makeProp(PROP_TYPE_BOOLEAN, false),
20
+ bordered: {
21
+ type: PROP_TYPE_BOOLEAN,
22
+ required: false,
23
+ default: false
24
+ },
25
+ borderless: {
26
+ type: PROP_TYPE_BOOLEAN,
27
+ required: false,
28
+ default: false
29
+ },
30
+ captionTop: {
31
+ type: PROP_TYPE_BOOLEAN,
32
+ required: false,
33
+ default: false
34
+ },
35
+ dark: {
36
+ type: PROP_TYPE_BOOLEAN,
37
+ required: false,
38
+ default: false
39
+ },
40
+ fixed: {
41
+ type: PROP_TYPE_BOOLEAN,
42
+ required: false,
43
+ default: false
44
+ },
45
+ hover: {
46
+ type: PROP_TYPE_BOOLEAN,
47
+ required: false,
48
+ default: false
49
+ },
50
+ noBorderCollapse: {
51
+ type: PROP_TYPE_BOOLEAN,
52
+ required: false,
53
+ default: false
54
+ },
55
+ outlined: {
56
+ type: PROP_TYPE_BOOLEAN,
57
+ required: false,
58
+ default: false
59
+ },
60
+ responsive: {
61
+ type: [PROP_TYPE_BOOLEAN, PROP_TYPE_STRING],
62
+ required: false,
63
+ default: false
64
+ },
65
+ small: {
66
+ type: PROP_TYPE_BOOLEAN,
67
+ required: false,
68
+ default: false
69
+ },
31
70
  // If a string, it is assumed to be the table `max-height` value
32
- stickyHeader: makeProp(PROP_TYPE_BOOLEAN_STRING, false),
33
- striped: makeProp(PROP_TYPE_BOOLEAN, false),
34
- tableClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
35
- tableVariant: makeProp(PROP_TYPE_STRING)
71
+ stickyHeader: {
72
+ type: [PROP_TYPE_BOOLEAN, PROP_TYPE_STRING],
73
+ required: false,
74
+ default: false
75
+ },
76
+ striped: {
77
+ type: PROP_TYPE_BOOLEAN,
78
+ required: false,
79
+ default: false
80
+ },
81
+ tableClass: {
82
+ type: [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING],
83
+ required: false,
84
+ default: undefined
85
+ },
86
+ tableVariant: {
87
+ type: PROP_TYPE_STRING,
88
+ required: false,
89
+ default: undefined
90
+ }
36
91
  }
37
92
 
38
93
  // --- Mixin ---
@@ -5,15 +5,15 @@ import {
5
5
  EVENT_NAME_ROW_UNHOVERED
6
6
  } from '../../../constants/events'
7
7
  import {
8
- PROP_TYPE_ARRAY_OBJECT_STRING,
8
+ PROP_TYPE_ARRAY,
9
9
  PROP_TYPE_FUNCTION,
10
- PROP_TYPE_OBJECT_FUNCTION
10
+ PROP_TYPE_OBJECT,
11
+ PROP_TYPE_STRING
11
12
  } from '../../../constants/props'
12
13
  import { SLOT_NAME_ROW_DETAILS } from '../../../constants/slots'
13
14
  import { useParentMixin } from '../../../mixins/use-parent'
14
15
  import { get } from '../../../utils/get'
15
16
  import { isFunction, isString, isUndefinedOrNull } from '../../../utils/inspect'
16
- import { makeProp } from '../../../utils/props'
17
17
  import { safeVueInstance } from '../../../utils/safe-vue-instance'
18
18
  import { toString } from '../../../utils/string'
19
19
  import { BTr } from '../tr'
@@ -24,9 +24,21 @@ import { FIELD_KEY_CELL_VARIANT, FIELD_KEY_ROW_VARIANT, FIELD_KEY_SHOW_DETAILS }
24
24
  // --- Props ---
25
25
 
26
26
  export const props = {
27
- detailsTdClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
28
- tbodyTrAttr: makeProp(PROP_TYPE_OBJECT_FUNCTION),
29
- tbodyTrClass: makeProp([...PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_FUNCTION])
27
+ detailsTdClass: {
28
+ type: [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING],
29
+ required: false,
30
+ default: undefined
31
+ },
32
+ tbodyTrAttr: {
33
+ type: [PROP_TYPE_OBJECT, PROP_TYPE_FUNCTION],
34
+ required: false,
35
+ default: undefined
36
+ },
37
+ tbodyTrClass: {
38
+ type: [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING, PROP_TYPE_FUNCTION],
39
+ required: false,
40
+ default: undefined
41
+ }
30
42
  }
31
43
 
32
44
  // --- Mixin ---
@@ -13,13 +13,13 @@ import {
13
13
  CODE_SPACE,
14
14
  CODE_UP
15
15
  } from '../../../constants/key-codes'
16
- import { PROP_TYPE_ARRAY_OBJECT_STRING } from '../../../constants/props'
16
+ import { PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../../constants/props'
17
17
  import { from as arrayFrom } from '../../../utils/array'
18
18
  import { attemptFocus, closest, isActiveElement, isElement } from '../../../utils/dom'
19
19
  import { safeVueInstance } from '../../../utils/safe-vue-instance'
20
20
  import { stopEvent } from '../../../utils/events'
21
21
  import { sortKeys } from '../../../utils/object'
22
- import { makeProp, pluckProps } from '../../../utils/props'
22
+ import { pluckProps } from '../../../utils/props'
23
23
  import { BTbody, props as BTbodyProps } from '../tbody'
24
24
  import { filterEvent } from './filter-event'
25
25
  import { textSelectionActive } from './text-selection-active'
@@ -34,7 +34,11 @@ const getCellSlotName = value => `cell(${value || ''})`
34
34
  export const props = sortKeys({
35
35
  ...BTbodyProps,
36
36
  ...tbodyRowProps,
37
- tbodyClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)
37
+ tbodyClass: {
38
+ type: [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING],
39
+ required: false,
40
+ default: undefined
41
+ }
38
42
  })
39
43
 
40
44
  // --- Mixin ---
@@ -1,24 +1,44 @@
1
1
  import { extend } from '../../../vue'
2
2
  import {
3
- PROP_TYPE_ARRAY_OBJECT_STRING,
3
+ PROP_TYPE_ARRAY,
4
4
  PROP_TYPE_BOOLEAN,
5
+ PROP_TYPE_OBJECT,
5
6
  PROP_TYPE_STRING
6
7
  } from '../../../constants/props'
7
8
  import { SLOT_NAME_CUSTOM_FOOT } from '../../../constants/slots'
8
- import { makeProp } from '../../../utils/props'
9
9
  import { BTfoot } from '../tfoot'
10
10
 
11
11
  // --- Props ---
12
12
 
13
13
  export const props = {
14
- footClone: makeProp(PROP_TYPE_BOOLEAN, false),
14
+ footClone: {
15
+ type: PROP_TYPE_BOOLEAN,
16
+ required: false,
17
+ default: false
18
+ },
15
19
  // Any Bootstrap theme variant (or custom)
16
20
  // Falls back to `headRowVariant`
17
- footRowVariant: makeProp(PROP_TYPE_STRING),
21
+ footRowVariant: {
22
+ type: PROP_TYPE_STRING,
23
+ required: false,
24
+ default: undefined
25
+ },
18
26
  // 'dark', 'light', or `null` (or custom)
19
- footVariant: makeProp(PROP_TYPE_STRING),
20
- tfootClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
21
- tfootTrClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)
27
+ footVariant: {
28
+ type: PROP_TYPE_STRING,
29
+ required: false,
30
+ default: undefined
31
+ },
32
+ tfootClass: {
33
+ type: [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING],
34
+ required: false,
35
+ default: undefined
36
+ },
37
+ tfootTrClass: {
38
+ type: [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING],
39
+ required: false,
40
+ default: undefined
41
+ }
22
42
  }
23
43
 
24
44
  // --- Mixin ---
@@ -1,14 +1,13 @@
1
1
  import { extend } from '../../../vue'
2
2
  import { EVENT_NAME_HEAD_CLICKED } from '../../../constants/events'
3
3
  import { CODE_ENTER, CODE_SPACE } from '../../../constants/key-codes'
4
- import { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../../constants/props'
4
+ import { PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../../constants/props'
5
5
  import { SLOT_NAME_THEAD_TOP } from '../../../constants/slots'
6
6
  import { stopEvent } from '../../../utils/events'
7
7
  import { htmlOrText } from '../../../utils/html'
8
8
  import { identity } from '../../../utils/identity'
9
9
  import { isUndefinedOrNull } from '../../../utils/inspect'
10
10
  import { noop } from '../../../utils/noop'
11
- import { makeProp } from '../../../utils/props'
12
11
  import { safeVueInstance } from '../../../utils/safe-vue-instance'
13
12
  import { startCase } from '../../../utils/string'
14
13
  import { BThead } from '../thead'
@@ -28,11 +27,27 @@ const getFootSlotName = value => `foot(${value || ''})`
28
27
 
29
28
  export const props = {
30
29
  // Any Bootstrap theme variant (or custom)
31
- headRowVariant: makeProp(PROP_TYPE_STRING),
30
+ headRowVariant: {
31
+ type: PROP_TYPE_STRING,
32
+ required: false,
33
+ default: undefined
34
+ },
32
35
  // 'light', 'dark' or `null` (or custom)
33
- headVariant: makeProp(PROP_TYPE_STRING),
34
- theadClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),
35
- theadTrClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)
36
+ headVariant: {
37
+ type: PROP_TYPE_STRING,
38
+ required: false,
39
+ default: undefined
40
+ },
41
+ theadClass: {
42
+ type: [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING],
43
+ required: false,
44
+ default: undefined
45
+ },
46
+ theadTrClass: {
47
+ type: [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING],
48
+ required: false,
49
+ default: undefined
50
+ }
36
51
  }
37
52
 
38
53
  // --- Mixin ---
@@ -15,16 +15,11 @@ import {
15
15
  EVENT_NAME_SHOWN
16
16
  } from '../../../constants/events'
17
17
  import { onInstanceDestroy } from '../../../utils/on-instance-destroy'
18
- import {
19
- PROP_TYPE_ARRAY_STRING,
20
- PROP_TYPE_NUMBER_STRING,
21
- PROP_TYPE_STRING
22
- } from '../../../constants/props'
18
+ import { PROP_TYPE_ARRAY, PROP_TYPE_NUMBER, PROP_TYPE_STRING } from '../../../constants/props'
23
19
  import { HTMLElement, SVGElement } from '../../../constants/safe-types'
24
20
  import { useParentMixin } from '../../../mixins/use-parent'
25
21
  import { getCS, requestAF, select } from '../../../utils/dom'
26
22
  import { toFloat } from '../../../utils/number'
27
- import { makeProp } from '../../../utils/props'
28
23
  import { BVTransition } from '../../transition/bv-transition'
29
24
 
30
25
  // --- Constants ---
@@ -66,17 +61,45 @@ const OffsetMap = {
66
61
  export const props = {
67
62
  // The minimum distance (in `px`) from the edge of the
68
63
  // tooltip/popover that the arrow can be positioned
69
- arrowPadding: makeProp(PROP_TYPE_NUMBER_STRING, 6),
64
+ arrowPadding: {
65
+ type: [PROP_TYPE_NUMBER, PROP_TYPE_STRING],
66
+ required: false,
67
+ default: 6
68
+ },
70
69
  // 'scrollParent', 'viewport', 'window', or `Element`
71
- boundary: makeProp([HTMLElement, PROP_TYPE_STRING], 'scrollParent'),
70
+ boundary: {
71
+ type: [HTMLElement, PROP_TYPE_STRING],
72
+ required: false,
73
+ default: 'scrollParent'
74
+ },
72
75
  // Tooltip/popover will try and stay away from
73
76
  // boundary edge by this many pixels
74
- boundaryPadding: makeProp(PROP_TYPE_NUMBER_STRING, 5),
75
- fallbackPlacement: makeProp(PROP_TYPE_ARRAY_STRING, 'flip'),
76
- offset: makeProp(PROP_TYPE_NUMBER_STRING, 0),
77
- placement: makeProp(PROP_TYPE_STRING, 'top'),
77
+ boundaryPadding: {
78
+ type: [PROP_TYPE_NUMBER, PROP_TYPE_STRING],
79
+ required: false,
80
+ default: 5
81
+ },
82
+ fallbackPlacement: {
83
+ type: [PROP_TYPE_ARRAY, PROP_TYPE_STRING],
84
+ required: false,
85
+ default: 'flip'
86
+ },
87
+ offset: {
88
+ type: [PROP_TYPE_NUMBER, PROP_TYPE_STRING],
89
+ required: false,
90
+ default: 0
91
+ },
92
+ placement: {
93
+ type: PROP_TYPE_STRING,
94
+ required: false,
95
+ default: 'top'
96
+ },
78
97
  // Element that the tooltip/popover is positioned relative to
79
- target: makeProp([HTMLElement, SVGElement])
98
+ target: {
99
+ type: [HTMLElement, SVGElement],
100
+ required: false,
101
+ default: undefined
102
+ }
80
103
  }
81
104
 
82
105
  // --- Main component ---
@@ -8,7 +8,6 @@ import {
8
8
  } from '../../../constants/events'
9
9
  import { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props'
10
10
  import { isFunction } from '../../../utils/inspect'
11
- import { makeProp } from '../../../utils/props'
12
11
  import { scopedStyleMixin } from '../../../mixins/scoped-style'
13
12
  import { BVPopper } from './bv-popper'
14
13
 
@@ -16,9 +15,17 @@ import { BVPopper } from './bv-popper'
16
15
 
17
16
  export const props = {
18
17
  // Used only by the directive versions
19
- html: makeProp(PROP_TYPE_BOOLEAN, false),
18
+ html: {
19
+ type: PROP_TYPE_BOOLEAN,
20
+ required: false,
21
+ default: false
22
+ },
20
23
  // Other non-reactive (while open) props are pulled in from BVPopper
21
- id: makeProp(PROP_TYPE_STRING)
24
+ id: {
25
+ type: PROP_TYPE_STRING,
26
+ required: false,
27
+ default: undefined
28
+ }
22
29
  }
23
30
 
24
31
  // --- Main component ---
@@ -8,7 +8,6 @@ import { extend, mergeData } from '../../vue'
8
8
  import { NAME_TRANSITION } from '../../constants/components'
9
9
  import { PROP_TYPE_BOOLEAN, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../constants/props'
10
10
  import { isPlainObject } from '../../utils/inspect'
11
- import { makeProp } from '../../utils/props'
12
11
 
13
12
  // --- Constants ---
14
13
 
@@ -32,14 +31,30 @@ const FADE_PROPS = {
32
31
 
33
32
  export const props = {
34
33
  // Has no effect if `trans-props` provided
35
- appear: makeProp(PROP_TYPE_BOOLEAN, false),
34
+ appear: {
35
+ type: PROP_TYPE_BOOLEAN,
36
+ required: false,
37
+ default: false
38
+ },
36
39
  // Can be overridden by user supplied `trans-props`
37
- mode: makeProp(PROP_TYPE_STRING),
40
+ mode: {
41
+ type: PROP_TYPE_STRING,
42
+ required: false,
43
+ default: undefined
44
+ },
38
45
  // Only applicable to the built in transition
39
46
  // Has no effect if `trans-props` provided
40
- noFade: makeProp(PROP_TYPE_BOOLEAN, false),
47
+ noFade: {
48
+ type: PROP_TYPE_BOOLEAN,
49
+ required: false,
50
+ default: false
51
+ },
41
52
  // For user supplied transitions (if needed)
42
- transProps: makeProp(PROP_TYPE_OBJECT)
53
+ transProps: {
54
+ type: PROP_TYPE_OBJECT,
55
+ required: false,
56
+ default: undefined
57
+ }
43
58
  }
44
59
 
45
60
  const hasAnimateSupport = typeof Element !== 'undefined' && Boolean(Element.prototype.animate)
@@ -2,8 +2,9 @@ import { isVue3, extend } from '../../vue'
2
2
  import { NAME_TRANSPORTER, NAME_TRANSPORTER_TARGET } from '../../constants/components'
3
3
  import { IS_BROWSER } from '../../constants/env'
4
4
  import {
5
- PROP_TYPE_ARRAY_FUNCTION,
5
+ PROP_TYPE_ARRAY,
6
6
  PROP_TYPE_BOOLEAN,
7
+ PROP_TYPE_FUNCTION,
7
8
  PROP_TYPE_STRING
8
9
  } from '../../constants/props'
9
10
  import { HTMLElement } from '../../constants/safe-types'
@@ -12,7 +13,6 @@ import { removeNode, select } from '../../utils/dom'
12
13
  import { identity } from '../../utils/identity'
13
14
  import { isFunction, isString } from '../../utils/inspect'
14
15
  import { normalizeSlotMixin } from '../../mixins/normalize-slot'
15
- import { makeProp } from '../../utils/props'
16
16
  import { createNewChildComponent } from '../../utils/create-new-child-component'
17
17
 
18
18
  // --- Helper components ---
@@ -40,7 +40,11 @@ const BVTransporterTarget = /*#__PURE__*/ extend({
40
40
  props: {
41
41
  // Even though we only support a single root element,
42
42
  // VNodes are always passed as an array
43
- nodes: makeProp(PROP_TYPE_ARRAY_FUNCTION)
43
+ nodes: {
44
+ type: [PROP_TYPE_ARRAY, PROP_TYPE_FUNCTION],
45
+ required: false,
46
+ default: undefined
47
+ }
44
48
  },
45
49
  data: vm => {
46
50
  return {
@@ -70,10 +74,22 @@ export const props = {
70
74
  // String: CSS selector,
71
75
  // HTMLElement: Element reference
72
76
  // Mainly needed for tooltips/popovers inside modals
73
- container: makeProp([HTMLElement, PROP_TYPE_STRING], 'body'),
74
- disabled: makeProp(PROP_TYPE_BOOLEAN, false),
77
+ container: {
78
+ type: [HTMLElement, PROP_TYPE_STRING],
79
+ required: false,
80
+ default: 'body'
81
+ },
82
+ disabled: {
83
+ type: PROP_TYPE_BOOLEAN,
84
+ required: false,
85
+ default: false
86
+ },
75
87
  // This should be set to match the root element type
76
- tag: makeProp(PROP_TYPE_STRING, 'div')
88
+ tag: {
89
+ type: PROP_TYPE_STRING,
90
+ required: false,
91
+ default: 'div'
92
+ }
77
93
  }
78
94
 
79
95
  // --- Main component ---