@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.
- package/dist/components/base/link/link.js +2 -2
- package/dist/utils/url_utils.js +56 -0
- package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-divider.js +5 -2
- package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-form.js +11 -4
- package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-group.js +31 -8
- package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-header.js +15 -4
- package/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-item-button.js +31 -8
- package/dist/vendor/bootstrap-vue/src/components/form/form-invalid-feedback.js +35 -8
- package/dist/vendor/bootstrap-vue/src/components/form/form-valid-feedback.js +35 -8
- package/dist/vendor/bootstrap-vue/src/components/form-select/form-select-option-group.js +4 -2
- package/dist/vendor/bootstrap-vue/src/components/form-select/form-select-option.js +9 -3
- package/dist/vendor/bootstrap-vue/src/components/form-select/form-select.js +16 -5
- package/dist/vendor/bootstrap-vue/src/components/form-select/helpers/mixin-options.js +10 -3
- package/dist/vendor/bootstrap-vue/src/components/form-textarea/form-textarea.js +26 -7
- package/dist/vendor/bootstrap-vue/src/components/popover/popover.js +24 -9
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-busy.js +5 -2
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-caption.js +10 -3
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-empty.js +25 -6
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-items.js +20 -5
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-pagination.js +11 -4
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-provider.js +26 -7
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-selectable.js +21 -7
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-sorting.js +74 -20
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-stacked.js +6 -3
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-table-renderer.js +71 -16
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody-row.js +16 -5
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody.js +7 -3
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-tfoot.js +26 -7
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-thead.js +21 -6
- package/dist/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-popper.js +36 -9
- package/dist/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip-template.js +10 -3
- package/dist/vendor/bootstrap-vue/src/components/transition/bv-transition.js +20 -5
- package/dist/vendor/bootstrap-vue/src/components/transporter/transporter.js +24 -9
- package/package.json +1 -1
- package/src/components/base/link/link.vue +2 -2
- package/src/utils/url_utils.js +66 -0
- package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-divider.js +5 -2
- package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-form.js +16 -4
- package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-group.js +31 -8
- package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-header.js +15 -4
- package/src/vendor/bootstrap-vue/src/components/dropdown/dropdown-item-button.js +32 -8
- package/src/vendor/bootstrap-vue/src/components/form/form-invalid-feedback.js +35 -8
- package/src/vendor/bootstrap-vue/src/components/form/form-valid-feedback.js +35 -8
- package/src/vendor/bootstrap-vue/src/components/form-select/form-select-option-group.js +4 -2
- package/src/vendor/bootstrap-vue/src/components/form-select/form-select-option.js +9 -3
- package/src/vendor/bootstrap-vue/src/components/form-select/form-select.js +16 -9
- package/src/vendor/bootstrap-vue/src/components/form-select/helpers/mixin-options.js +10 -3
- package/src/vendor/bootstrap-vue/src/components/form-textarea/form-textarea.js +26 -7
- package/src/vendor/bootstrap-vue/src/components/popover/popover.js +23 -7
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-busy.js +5 -2
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-caption.js +10 -3
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-empty.js +25 -6
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-items.js +20 -5
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-pagination.js +11 -4
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-provider.js +27 -7
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-selectable.js +21 -7
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-sorting.js +72 -18
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-stacked.js +6 -3
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-table-renderer.js +72 -17
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody-row.js +18 -6
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-tbody.js +7 -3
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-tfoot.js +27 -7
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-thead.js +21 -6
- package/src/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-popper.js +36 -13
- package/src/vendor/bootstrap-vue/src/components/tooltip/helpers/bv-tooltip-template.js +10 -3
- package/src/vendor/bootstrap-vue/src/components/transition/bv-transition.js +20 -5
- package/src/vendor/bootstrap-vue/src/components/transporter/transporter.js +22 -6
|
@@ -3,7 +3,6 @@ import { PROP_TYPE_STRING, PROP_TYPE_BOOLEAN } from '../../../constants/props';
|
|
|
3
3
|
import { SLOT_NAME_TABLE_BUSY, SLOT_NAME_EMPTYFILTERED, SLOT_NAME_EMPTY } from '../../../constants/slots';
|
|
4
4
|
import { htmlOrText } from '../../../utils/html';
|
|
5
5
|
import { isFunction } from '../../../utils/inspect';
|
|
6
|
-
import { makeProp } from '../../../utils/props';
|
|
7
6
|
import { safeVueInstance } from '../../../utils/safe-vue-instance';
|
|
8
7
|
import { BTr } from '../tr';
|
|
9
8
|
import { BTd } from '../td';
|
|
@@ -11,11 +10,31 @@ import { BTd } from '../td';
|
|
|
11
10
|
// --- Props ---
|
|
12
11
|
|
|
13
12
|
const props = {
|
|
14
|
-
emptyFilteredHtml:
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
emptyFilteredHtml: {
|
|
14
|
+
type: PROP_TYPE_STRING,
|
|
15
|
+
required: false,
|
|
16
|
+
default: undefined
|
|
17
|
+
},
|
|
18
|
+
emptyFilteredText: {
|
|
19
|
+
type: PROP_TYPE_STRING,
|
|
20
|
+
required: false,
|
|
21
|
+
default: 'There are no records matching your request'
|
|
22
|
+
},
|
|
23
|
+
emptyHtml: {
|
|
24
|
+
type: PROP_TYPE_STRING,
|
|
25
|
+
required: false,
|
|
26
|
+
default: undefined
|
|
27
|
+
},
|
|
28
|
+
emptyText: {
|
|
29
|
+
type: PROP_TYPE_STRING,
|
|
30
|
+
required: false,
|
|
31
|
+
default: 'There are no records to show'
|
|
32
|
+
},
|
|
33
|
+
showEmpty: {
|
|
34
|
+
type: PROP_TYPE_BOOLEAN,
|
|
35
|
+
required: false,
|
|
36
|
+
default: false
|
|
37
|
+
}
|
|
19
38
|
};
|
|
20
39
|
|
|
21
40
|
// --- Mixin ---
|
|
@@ -8,7 +8,6 @@ import { mathMax } from '../../../utils/math';
|
|
|
8
8
|
import { makeModelMixin } from '../../../utils/model';
|
|
9
9
|
import { toInteger } from '../../../utils/number';
|
|
10
10
|
import { sortKeys, clone } from '../../../utils/object';
|
|
11
|
-
import { makeProp } from '../../../utils/props';
|
|
12
11
|
import { safeVueInstance } from '../../../utils/safe-vue-instance';
|
|
13
12
|
import { normalizeFields } from './normalize-fields';
|
|
14
13
|
|
|
@@ -28,14 +27,30 @@ const {
|
|
|
28
27
|
|
|
29
28
|
const props = sortKeys({
|
|
30
29
|
...modelProps,
|
|
31
|
-
fields:
|
|
30
|
+
fields: {
|
|
31
|
+
type: PROP_TYPE_ARRAY,
|
|
32
|
+
required: false,
|
|
33
|
+
default: null
|
|
34
|
+
},
|
|
32
35
|
// Provider mixin adds in `Function` type
|
|
33
|
-
items:
|
|
36
|
+
items: {
|
|
37
|
+
type: PROP_TYPE_ARRAY,
|
|
38
|
+
required: false,
|
|
39
|
+
default: () => []
|
|
40
|
+
},
|
|
34
41
|
// Primary key for record
|
|
35
42
|
// If provided the value in each row must be unique!
|
|
36
|
-
primaryKey:
|
|
43
|
+
primaryKey: {
|
|
44
|
+
type: PROP_TYPE_STRING,
|
|
45
|
+
required: false,
|
|
46
|
+
default: undefined
|
|
47
|
+
},
|
|
37
48
|
// `v-model` for retrieving the current displayed rows
|
|
38
|
-
[MODEL_PROP_NAME]:
|
|
49
|
+
[MODEL_PROP_NAME]: {
|
|
50
|
+
type: PROP_TYPE_ARRAY,
|
|
51
|
+
required: false,
|
|
52
|
+
default: () => []
|
|
53
|
+
}
|
|
39
54
|
});
|
|
40
55
|
|
|
41
56
|
// --- Mixin ---
|
|
@@ -1,15 +1,22 @@
|
|
|
1
1
|
import { extend } from '../../../vue';
|
|
2
|
-
import {
|
|
2
|
+
import { PROP_TYPE_NUMBER, PROP_TYPE_STRING } from '../../../constants/props';
|
|
3
3
|
import { mathMax } from '../../../utils/math';
|
|
4
4
|
import { toInteger } from '../../../utils/number';
|
|
5
|
-
import { makeProp } from '../../../utils/props';
|
|
6
5
|
import { safeVueInstance } from '../../../utils/safe-vue-instance';
|
|
7
6
|
|
|
8
7
|
// --- Props ---
|
|
9
8
|
|
|
10
9
|
const props = {
|
|
11
|
-
currentPage:
|
|
12
|
-
|
|
10
|
+
currentPage: {
|
|
11
|
+
type: [PROP_TYPE_NUMBER, PROP_TYPE_STRING],
|
|
12
|
+
required: false,
|
|
13
|
+
default: 1
|
|
14
|
+
},
|
|
15
|
+
perPage: {
|
|
16
|
+
type: [PROP_TYPE_NUMBER, PROP_TYPE_STRING],
|
|
17
|
+
required: false,
|
|
18
|
+
default: 0
|
|
19
|
+
}
|
|
13
20
|
};
|
|
14
21
|
|
|
15
22
|
// --- Mixin ---
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { extend } from '../../../vue';
|
|
2
2
|
import { NAME_TABLE } from '../../../constants/components';
|
|
3
3
|
import { EVENT_NAME_REFRESHED, EVENT_NAME_REFRESH } from '../../../constants/events';
|
|
4
|
-
import { PROP_TYPE_STRING,
|
|
4
|
+
import { PROP_TYPE_STRING, PROP_TYPE_ARRAY, PROP_TYPE_FUNCTION, PROP_TYPE_BOOLEAN } from '../../../constants/props';
|
|
5
5
|
import { getRootEventName, getRootActionEventName } from '../../../utils/events';
|
|
6
6
|
import { isFunction, isArray, isPromise } from '../../../utils/inspect';
|
|
7
7
|
import { looseEqual } from '../../../utils/loose-equal';
|
|
8
8
|
import { clone } from '../../../utils/object';
|
|
9
|
-
import { makeProp } from '../../../utils/props';
|
|
10
9
|
import { safeVueInstance } from '../../../utils/safe-vue-instance';
|
|
11
10
|
import { warn } from '../../../utils/warn';
|
|
12
11
|
import { listenOnRootMixin } from '../../../mixins/listen-on-root';
|
|
@@ -21,12 +20,32 @@ const ROOT_ACTION_EVENT_NAME_REFRESH = getRootActionEventName(NAME_TABLE, EVENT_
|
|
|
21
20
|
const props = {
|
|
22
21
|
// Passed to the context object
|
|
23
22
|
// Not used by `<b-table>` directly
|
|
24
|
-
apiUrl:
|
|
23
|
+
apiUrl: {
|
|
24
|
+
type: PROP_TYPE_STRING,
|
|
25
|
+
required: false,
|
|
26
|
+
default: undefined
|
|
27
|
+
},
|
|
25
28
|
// Adds in 'Function' support
|
|
26
|
-
items:
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
29
|
+
items: {
|
|
30
|
+
type: [PROP_TYPE_ARRAY, PROP_TYPE_FUNCTION],
|
|
31
|
+
required: false,
|
|
32
|
+
default: () => []
|
|
33
|
+
},
|
|
34
|
+
noProviderFiltering: {
|
|
35
|
+
type: PROP_TYPE_BOOLEAN,
|
|
36
|
+
required: false,
|
|
37
|
+
default: false
|
|
38
|
+
},
|
|
39
|
+
noProviderPaging: {
|
|
40
|
+
type: PROP_TYPE_BOOLEAN,
|
|
41
|
+
required: false,
|
|
42
|
+
default: false
|
|
43
|
+
},
|
|
44
|
+
noProviderSorting: {
|
|
45
|
+
type: PROP_TYPE_BOOLEAN,
|
|
46
|
+
required: false,
|
|
47
|
+
default: false
|
|
48
|
+
}
|
|
30
49
|
};
|
|
31
50
|
|
|
32
51
|
// --- Mixin ---
|
|
@@ -6,7 +6,6 @@ import { identity } from '../../../utils/identity';
|
|
|
6
6
|
import { isArray, isNumber } from '../../../utils/inspect';
|
|
7
7
|
import { looseEqual } from '../../../utils/loose-equal';
|
|
8
8
|
import { mathMin, mathMax } from '../../../utils/math';
|
|
9
|
-
import { makeProp } from '../../../utils/props';
|
|
10
9
|
import { toString } from '../../../utils/string';
|
|
11
10
|
import { sanitizeRow } from './sanitize-row';
|
|
12
11
|
|
|
@@ -19,12 +18,27 @@ const ROLE_GRID = 'grid';
|
|
|
19
18
|
|
|
20
19
|
const props = {
|
|
21
20
|
// Disable use of click handlers for row selection
|
|
22
|
-
noSelectOnClick:
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
21
|
+
noSelectOnClick: {
|
|
22
|
+
type: PROP_TYPE_BOOLEAN,
|
|
23
|
+
required: false,
|
|
24
|
+
default: false
|
|
25
|
+
},
|
|
26
|
+
selectMode: {
|
|
27
|
+
type: PROP_TYPE_STRING,
|
|
28
|
+
required: false,
|
|
29
|
+
default: 'multi',
|
|
30
|
+
validator: value => SELECT_MODES.includes(value)
|
|
31
|
+
},
|
|
32
|
+
selectable: {
|
|
33
|
+
type: PROP_TYPE_BOOLEAN,
|
|
34
|
+
required: false,
|
|
35
|
+
default: false
|
|
36
|
+
},
|
|
37
|
+
selectedVariant: {
|
|
38
|
+
type: PROP_TYPE_STRING,
|
|
39
|
+
required: false,
|
|
40
|
+
default: 'active'
|
|
41
|
+
}
|
|
28
42
|
};
|
|
29
43
|
|
|
30
44
|
// --- Mixin ---
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { extend } from '../../../vue';
|
|
2
2
|
import { EVENT_NAME_SORT_CHANGED, MODEL_EVENT_NAME_PREFIX } from '../../../constants/events';
|
|
3
|
-
import { PROP_TYPE_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_FUNCTION,
|
|
3
|
+
import { PROP_TYPE_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_FUNCTION, PROP_TYPE_ARRAY, PROP_TYPE_OBJECT } from '../../../constants/props';
|
|
4
4
|
import { isFunction, isUndefinedOrNull } from '../../../utils/inspect';
|
|
5
|
-
import { makeProp } from '../../../utils/props';
|
|
6
5
|
import { safeVueInstance } from '../../../utils/safe-vue-instance';
|
|
7
6
|
import { stableSort } from '../../../utils/stable-sort';
|
|
8
7
|
import { trim } from '../../../utils/string';
|
|
@@ -22,38 +21,93 @@ const SORT_DIRECTIONS = [SORT_DIRECTION_ASC, SORT_DIRECTION_DESC, SORT_DIRECTION
|
|
|
22
21
|
// --- Props ---
|
|
23
22
|
|
|
24
23
|
const props = {
|
|
25
|
-
labelSortAsc:
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
24
|
+
labelSortAsc: {
|
|
25
|
+
type: PROP_TYPE_STRING,
|
|
26
|
+
required: false,
|
|
27
|
+
default: 'Click to sort ascending'
|
|
28
|
+
},
|
|
29
|
+
labelSortClear: {
|
|
30
|
+
type: PROP_TYPE_STRING,
|
|
31
|
+
required: false,
|
|
32
|
+
default: 'Click to clear sorting'
|
|
33
|
+
},
|
|
34
|
+
labelSortDesc: {
|
|
35
|
+
type: PROP_TYPE_STRING,
|
|
36
|
+
required: false,
|
|
37
|
+
default: 'Click to sort descending'
|
|
38
|
+
},
|
|
39
|
+
noFooterSorting: {
|
|
40
|
+
type: PROP_TYPE_BOOLEAN,
|
|
41
|
+
required: false,
|
|
42
|
+
default: false
|
|
43
|
+
},
|
|
44
|
+
noLocalSorting: {
|
|
45
|
+
type: PROP_TYPE_BOOLEAN,
|
|
46
|
+
required: false,
|
|
47
|
+
default: false
|
|
48
|
+
},
|
|
30
49
|
// Another prop that should have had a better name
|
|
31
50
|
// It should be `noSortClear` (on non-sortable headers)
|
|
32
51
|
// We will need to make sure the documentation is clear on what
|
|
33
52
|
// this prop does (as well as in the code for future reference)
|
|
34
|
-
noSortReset:
|
|
35
|
-
|
|
36
|
-
|
|
53
|
+
noSortReset: {
|
|
54
|
+
type: PROP_TYPE_BOOLEAN,
|
|
55
|
+
required: false,
|
|
56
|
+
default: false
|
|
57
|
+
},
|
|
58
|
+
[MODEL_PROP_NAME_SORT_BY]: {
|
|
59
|
+
type: PROP_TYPE_STRING,
|
|
60
|
+
required: false,
|
|
61
|
+
default: undefined
|
|
62
|
+
},
|
|
63
|
+
sortCompare: {
|
|
64
|
+
type: PROP_TYPE_FUNCTION,
|
|
65
|
+
required: false,
|
|
66
|
+
default: undefined
|
|
67
|
+
},
|
|
37
68
|
// String: locale code
|
|
38
69
|
// Array: array of Locale strings
|
|
39
|
-
sortCompareLocale:
|
|
70
|
+
sortCompareLocale: {
|
|
71
|
+
type: [PROP_TYPE_ARRAY, PROP_TYPE_STRING],
|
|
72
|
+
required: false,
|
|
73
|
+
default: undefined
|
|
74
|
+
},
|
|
40
75
|
// Supported localCompare options, see `options` section of:
|
|
41
76
|
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare
|
|
42
|
-
sortCompareOptions:
|
|
43
|
-
|
|
44
|
-
|
|
77
|
+
sortCompareOptions: {
|
|
78
|
+
type: PROP_TYPE_OBJECT,
|
|
79
|
+
required: false,
|
|
80
|
+
default: () => ({
|
|
81
|
+
numeric: true
|
|
82
|
+
})
|
|
83
|
+
},
|
|
45
84
|
// TODO: Make this tri-state: `true`, `false`, `null`
|
|
46
|
-
[MODEL_PROP_NAME_SORT_DESC]:
|
|
85
|
+
[MODEL_PROP_NAME_SORT_DESC]: {
|
|
86
|
+
type: PROP_TYPE_BOOLEAN,
|
|
87
|
+
required: false,
|
|
88
|
+
default: false
|
|
89
|
+
},
|
|
47
90
|
// This prop is named incorrectly
|
|
48
91
|
// It should be `initialSortDirection` as it is a bit misleading
|
|
49
92
|
// (not to mention it screws up the ARIA label on the headers)
|
|
50
|
-
sortDirection:
|
|
51
|
-
|
|
52
|
-
|
|
93
|
+
sortDirection: {
|
|
94
|
+
type: PROP_TYPE_STRING,
|
|
95
|
+
required: false,
|
|
96
|
+
default: SORT_DIRECTION_ASC,
|
|
97
|
+
validator: value => SORT_DIRECTIONS.includes(value)
|
|
98
|
+
},
|
|
53
99
|
// Place the sorting icon on the left of the header cells
|
|
54
|
-
sortIconLeft:
|
|
100
|
+
sortIconLeft: {
|
|
101
|
+
type: PROP_TYPE_BOOLEAN,
|
|
102
|
+
required: false,
|
|
103
|
+
default: false
|
|
104
|
+
},
|
|
55
105
|
// Sort null and undefined to appear last
|
|
56
|
-
sortNullLast:
|
|
106
|
+
sortNullLast: {
|
|
107
|
+
type: PROP_TYPE_BOOLEAN,
|
|
108
|
+
required: false,
|
|
109
|
+
default: false
|
|
110
|
+
}
|
|
57
111
|
};
|
|
58
112
|
|
|
59
113
|
// --- Mixin ---
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { extend } from '../../../vue';
|
|
2
|
-
import {
|
|
3
|
-
import { makeProp } from '../../../utils/props';
|
|
2
|
+
import { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';
|
|
4
3
|
|
|
5
4
|
// --- Props ---
|
|
6
5
|
|
|
7
6
|
const props = {
|
|
8
|
-
stacked:
|
|
7
|
+
stacked: {
|
|
8
|
+
type: [PROP_TYPE_BOOLEAN, PROP_TYPE_STRING],
|
|
9
|
+
required: false,
|
|
10
|
+
default: false
|
|
11
|
+
}
|
|
9
12
|
};
|
|
10
13
|
|
|
11
14
|
// --- Mixin ---
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { extend } from '../../../vue';
|
|
2
|
-
import { PROP_TYPE_BOOLEAN,
|
|
2
|
+
import { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING, PROP_TYPE_ARRAY, PROP_TYPE_OBJECT } from '../../../constants/props';
|
|
3
3
|
import { identity } from '../../../utils/identity';
|
|
4
4
|
import { isBoolean } from '../../../utils/inspect';
|
|
5
|
-
import { makeProp } from '../../../utils/props';
|
|
6
5
|
import { safeVueInstance } from '../../../utils/safe-vue-instance';
|
|
7
6
|
import { toString } from '../../../utils/string';
|
|
8
7
|
import { attrsMixin } from '../../../mixins/attrs';
|
|
@@ -13,21 +12,77 @@ import { attrsMixin } from '../../../mixins/attrs';
|
|
|
13
12
|
// --- Props ---
|
|
14
13
|
|
|
15
14
|
const props = {
|
|
16
|
-
bordered:
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
15
|
+
bordered: {
|
|
16
|
+
type: PROP_TYPE_BOOLEAN,
|
|
17
|
+
required: false,
|
|
18
|
+
default: false
|
|
19
|
+
},
|
|
20
|
+
borderless: {
|
|
21
|
+
type: PROP_TYPE_BOOLEAN,
|
|
22
|
+
required: false,
|
|
23
|
+
default: false
|
|
24
|
+
},
|
|
25
|
+
captionTop: {
|
|
26
|
+
type: PROP_TYPE_BOOLEAN,
|
|
27
|
+
required: false,
|
|
28
|
+
default: false
|
|
29
|
+
},
|
|
30
|
+
dark: {
|
|
31
|
+
type: PROP_TYPE_BOOLEAN,
|
|
32
|
+
required: false,
|
|
33
|
+
default: false
|
|
34
|
+
},
|
|
35
|
+
fixed: {
|
|
36
|
+
type: PROP_TYPE_BOOLEAN,
|
|
37
|
+
required: false,
|
|
38
|
+
default: false
|
|
39
|
+
},
|
|
40
|
+
hover: {
|
|
41
|
+
type: PROP_TYPE_BOOLEAN,
|
|
42
|
+
required: false,
|
|
43
|
+
default: false
|
|
44
|
+
},
|
|
45
|
+
noBorderCollapse: {
|
|
46
|
+
type: PROP_TYPE_BOOLEAN,
|
|
47
|
+
required: false,
|
|
48
|
+
default: false
|
|
49
|
+
},
|
|
50
|
+
outlined: {
|
|
51
|
+
type: PROP_TYPE_BOOLEAN,
|
|
52
|
+
required: false,
|
|
53
|
+
default: false
|
|
54
|
+
},
|
|
55
|
+
responsive: {
|
|
56
|
+
type: [PROP_TYPE_BOOLEAN, PROP_TYPE_STRING],
|
|
57
|
+
required: false,
|
|
58
|
+
default: false
|
|
59
|
+
},
|
|
60
|
+
small: {
|
|
61
|
+
type: PROP_TYPE_BOOLEAN,
|
|
62
|
+
required: false,
|
|
63
|
+
default: false
|
|
64
|
+
},
|
|
26
65
|
// If a string, it is assumed to be the table `max-height` value
|
|
27
|
-
stickyHeader:
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
66
|
+
stickyHeader: {
|
|
67
|
+
type: [PROP_TYPE_BOOLEAN, PROP_TYPE_STRING],
|
|
68
|
+
required: false,
|
|
69
|
+
default: false
|
|
70
|
+
},
|
|
71
|
+
striped: {
|
|
72
|
+
type: PROP_TYPE_BOOLEAN,
|
|
73
|
+
required: false,
|
|
74
|
+
default: false
|
|
75
|
+
},
|
|
76
|
+
tableClass: {
|
|
77
|
+
type: [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING],
|
|
78
|
+
required: false,
|
|
79
|
+
default: undefined
|
|
80
|
+
},
|
|
81
|
+
tableVariant: {
|
|
82
|
+
type: PROP_TYPE_STRING,
|
|
83
|
+
required: false,
|
|
84
|
+
default: undefined
|
|
85
|
+
}
|
|
31
86
|
};
|
|
32
87
|
|
|
33
88
|
// --- Mixin ---
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { extend, REF_FOR_KEY } from '../../../vue';
|
|
2
2
|
import { EVENT_NAME_ROW_HOVERED, EVENT_NAME_ROW_UNHOVERED, EVENT_NAME_ROW_CLICKED } from '../../../constants/events';
|
|
3
|
-
import {
|
|
3
|
+
import { PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING, PROP_TYPE_FUNCTION } from '../../../constants/props';
|
|
4
4
|
import { SLOT_NAME_ROW_DETAILS } from '../../../constants/slots';
|
|
5
5
|
import { useParentMixin } from '../../../mixins/use-parent';
|
|
6
6
|
import { get } from '../../../utils/get';
|
|
7
7
|
import { isFunction, isString, isUndefinedOrNull } from '../../../utils/inspect';
|
|
8
|
-
import { makeProp } from '../../../utils/props';
|
|
9
8
|
import { safeVueInstance } from '../../../utils/safe-vue-instance';
|
|
10
9
|
import { toString } from '../../../utils/string';
|
|
11
10
|
import { BTr } from '../tr';
|
|
@@ -16,9 +15,21 @@ import { FIELD_KEY_SHOW_DETAILS, FIELD_KEY_CELL_VARIANT, FIELD_KEY_ROW_VARIANT }
|
|
|
16
15
|
// --- Props ---
|
|
17
16
|
|
|
18
17
|
const props = {
|
|
19
|
-
detailsTdClass:
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
detailsTdClass: {
|
|
19
|
+
type: [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING],
|
|
20
|
+
required: false,
|
|
21
|
+
default: undefined
|
|
22
|
+
},
|
|
23
|
+
tbodyTrAttr: {
|
|
24
|
+
type: [PROP_TYPE_OBJECT, PROP_TYPE_FUNCTION],
|
|
25
|
+
required: false,
|
|
26
|
+
default: undefined
|
|
27
|
+
},
|
|
28
|
+
tbodyTrClass: {
|
|
29
|
+
type: [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING, PROP_TYPE_FUNCTION],
|
|
30
|
+
required: false,
|
|
31
|
+
default: undefined
|
|
32
|
+
}
|
|
22
33
|
};
|
|
23
34
|
|
|
24
35
|
// --- Mixin ---
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { extend } from '../../../vue';
|
|
2
2
|
import { EVENT_NAME_ROW_CLICKED, EVENT_NAME_ROW_MIDDLE_CLICKED, EVENT_NAME_ROW_CONTEXTMENU, EVENT_NAME_ROW_DBLCLICKED } from '../../../constants/events';
|
|
3
3
|
import { CODE_ENTER, CODE_SPACE, CODE_UP, CODE_DOWN, CODE_HOME, CODE_END } from '../../../constants/key-codes';
|
|
4
|
-
import {
|
|
4
|
+
import { PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../../constants/props';
|
|
5
5
|
import { from } from '../../../utils/array';
|
|
6
6
|
import { isElement, closest, isActiveElement, attemptFocus } from '../../../utils/dom';
|
|
7
7
|
import { safeVueInstance } from '../../../utils/safe-vue-instance';
|
|
8
8
|
import { stopEvent } from '../../../utils/events';
|
|
9
9
|
import { sortKeys } from '../../../utils/object';
|
|
10
|
-
import {
|
|
10
|
+
import { pluckProps } from '../../../utils/props';
|
|
11
11
|
import { props as props$1, BTbody } from '../tbody';
|
|
12
12
|
import { filterEvent } from './filter-event';
|
|
13
13
|
import { textSelectionActive } from './text-selection-active';
|
|
@@ -22,7 +22,11 @@ const getCellSlotName = value => `cell(${value || ''})`;
|
|
|
22
22
|
const props = sortKeys({
|
|
23
23
|
...props$1,
|
|
24
24
|
...props$2,
|
|
25
|
-
tbodyClass:
|
|
25
|
+
tbodyClass: {
|
|
26
|
+
type: [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING],
|
|
27
|
+
required: false,
|
|
28
|
+
default: undefined
|
|
29
|
+
}
|
|
26
30
|
});
|
|
27
31
|
|
|
28
32
|
// --- Mixin ---
|
|
@@ -1,20 +1,39 @@
|
|
|
1
1
|
import { extend } from '../../../vue';
|
|
2
|
-
import { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING,
|
|
2
|
+
import { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING, PROP_TYPE_ARRAY, PROP_TYPE_OBJECT } from '../../../constants/props';
|
|
3
3
|
import { SLOT_NAME_CUSTOM_FOOT } from '../../../constants/slots';
|
|
4
|
-
import { makeProp } from '../../../utils/props';
|
|
5
4
|
import { BTfoot } from '../tfoot';
|
|
6
5
|
|
|
7
6
|
// --- Props ---
|
|
8
7
|
|
|
9
8
|
const props = {
|
|
10
|
-
footClone:
|
|
9
|
+
footClone: {
|
|
10
|
+
type: PROP_TYPE_BOOLEAN,
|
|
11
|
+
required: false,
|
|
12
|
+
default: false
|
|
13
|
+
},
|
|
11
14
|
// Any Bootstrap theme variant (or custom)
|
|
12
15
|
// Falls back to `headRowVariant`
|
|
13
|
-
footRowVariant:
|
|
16
|
+
footRowVariant: {
|
|
17
|
+
type: PROP_TYPE_STRING,
|
|
18
|
+
required: false,
|
|
19
|
+
default: undefined
|
|
20
|
+
},
|
|
14
21
|
// 'dark', 'light', or `null` (or custom)
|
|
15
|
-
footVariant:
|
|
16
|
-
|
|
17
|
-
|
|
22
|
+
footVariant: {
|
|
23
|
+
type: PROP_TYPE_STRING,
|
|
24
|
+
required: false,
|
|
25
|
+
default: undefined
|
|
26
|
+
},
|
|
27
|
+
tfootClass: {
|
|
28
|
+
type: [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING],
|
|
29
|
+
required: false,
|
|
30
|
+
default: undefined
|
|
31
|
+
},
|
|
32
|
+
tfootTrClass: {
|
|
33
|
+
type: [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING],
|
|
34
|
+
required: false,
|
|
35
|
+
default: undefined
|
|
36
|
+
}
|
|
18
37
|
};
|
|
19
38
|
|
|
20
39
|
// --- 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_STRING,
|
|
4
|
+
import { PROP_TYPE_STRING, PROP_TYPE_ARRAY, PROP_TYPE_OBJECT } 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';
|
|
@@ -27,11 +26,27 @@ const getFootSlotName = value => `foot(${value || ''})`;
|
|
|
27
26
|
|
|
28
27
|
const props = {
|
|
29
28
|
// Any Bootstrap theme variant (or custom)
|
|
30
|
-
headRowVariant:
|
|
29
|
+
headRowVariant: {
|
|
30
|
+
type: PROP_TYPE_STRING,
|
|
31
|
+
required: false,
|
|
32
|
+
default: undefined
|
|
33
|
+
},
|
|
31
34
|
// 'light', 'dark' or `null` (or custom)
|
|
32
|
-
headVariant:
|
|
33
|
-
|
|
34
|
-
|
|
35
|
+
headVariant: {
|
|
36
|
+
type: PROP_TYPE_STRING,
|
|
37
|
+
required: false,
|
|
38
|
+
default: undefined
|
|
39
|
+
},
|
|
40
|
+
theadClass: {
|
|
41
|
+
type: [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING],
|
|
42
|
+
required: false,
|
|
43
|
+
default: undefined
|
|
44
|
+
},
|
|
45
|
+
theadTrClass: {
|
|
46
|
+
type: [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING],
|
|
47
|
+
required: false,
|
|
48
|
+
default: undefined
|
|
49
|
+
}
|
|
35
50
|
};
|
|
36
51
|
|
|
37
52
|
// --- Mixin ---
|