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