@gitlab/ui 128.16.1 → 128.17.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/base/filtered_search/filtered_search_token.js +1 -1
- package/dist/components/base/filtered_search/filtered_search_token_segment.js +1 -1
- package/dist/components/base/tooltip/tooltip.js +1 -3
- package/dist/components/dashboards/dashboard_layout/dashboard_layout.js +1 -1
- package/dist/config.js +0 -37
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/tailwind.css +1 -1
- package/dist/tailwind.css.map +1 -1
- 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/filtered_search/filtered_search_token.vue +5 -0
- package/src/components/base/filtered_search/filtered_search_token_segment.scss +14 -0
- package/src/components/base/filtered_search/filtered_search_token_segment.vue +14 -12
- package/src/components/base/tooltip/tooltip.vue +0 -3
- package/src/components/dashboards/dashboard_layout/dashboard_layout.vue +1 -1
- 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
|
@@ -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 {
|
|
9
|
+
import { makeProp } from '../utils/props';
|
|
10
10
|
import { attrsMixin } from './attrs';
|
|
11
11
|
import { props as props$2, formControlMixin } from './form-control';
|
|
12
12
|
import { props as props$5, formCustomMixin } from './form-custom';
|
|
@@ -28,7 +28,7 @@ const {
|
|
|
28
28
|
|
|
29
29
|
// --- Props ---
|
|
30
30
|
|
|
31
|
-
const props =
|
|
31
|
+
const props = sortKeys({
|
|
32
32
|
...props$1,
|
|
33
33
|
...modelProps,
|
|
34
34
|
...props$2,
|
|
@@ -39,7 +39,7 @@ const props = makePropsConfigurable(sortKeys({
|
|
|
39
39
|
ariaLabelledby: makeProp(PROP_TYPE_STRING),
|
|
40
40
|
inline: makeProp(PROP_TYPE_BOOLEAN, false),
|
|
41
41
|
value: makeProp(PROP_TYPE_ANY)
|
|
42
|
-
})
|
|
42
|
+
});
|
|
43
43
|
|
|
44
44
|
// --- Mixin ---
|
|
45
45
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { extend } from '../vue';
|
|
2
2
|
import { PROP_TYPE_STRING } from '../constants/props';
|
|
3
|
-
import {
|
|
3
|
+
import { makeProp } from '../utils/props';
|
|
4
4
|
|
|
5
5
|
// --- Props ---
|
|
6
6
|
|
|
7
|
-
const props =
|
|
7
|
+
const props = {
|
|
8
8
|
size: makeProp(PROP_TYPE_STRING)
|
|
9
|
-
}
|
|
9
|
+
};
|
|
10
10
|
|
|
11
11
|
// --- Mixin ---
|
|
12
12
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { extend } from '../vue';
|
|
2
2
|
import { PROP_TYPE_BOOLEAN } from '../constants/props';
|
|
3
3
|
import { isBoolean } from '../utils/inspect';
|
|
4
|
-
import {
|
|
4
|
+
import { makeProp } from '../utils/props';
|
|
5
5
|
import { safeVueInstance } from '../utils/safe-vue-instance';
|
|
6
6
|
|
|
7
7
|
/* Form control contextual state class computation
|
|
@@ -15,10 +15,10 @@ import { safeVueInstance } from '../utils/safe-vue-instance';
|
|
|
15
15
|
|
|
16
16
|
// --- Props ---
|
|
17
17
|
|
|
18
|
-
const props =
|
|
18
|
+
const props = {
|
|
19
19
|
// Tri-state prop: true, false, null (or undefined)
|
|
20
20
|
state: makeProp(PROP_TYPE_BOOLEAN, null)
|
|
21
|
-
}
|
|
21
|
+
};
|
|
22
22
|
|
|
23
23
|
// --- Mixin ---
|
|
24
24
|
|
|
@@ -7,7 +7,7 @@ import { mathMax } from '../utils/math';
|
|
|
7
7
|
import { makeModelMixin } from '../utils/model';
|
|
8
8
|
import { toInteger, toFloat } from '../utils/number';
|
|
9
9
|
import { sortKeys } from '../utils/object';
|
|
10
|
-
import {
|
|
10
|
+
import { makeProp, hasPropFunction } from '../utils/props';
|
|
11
11
|
import { toString } from '../utils/string';
|
|
12
12
|
|
|
13
13
|
// --- Constants ---
|
|
@@ -25,7 +25,7 @@ const {
|
|
|
25
25
|
|
|
26
26
|
// --- Props ---
|
|
27
27
|
|
|
28
|
-
const props =
|
|
28
|
+
const props = sortKeys({
|
|
29
29
|
...modelProps,
|
|
30
30
|
ariaInvalid: makeProp(PROP_TYPE_BOOLEAN_STRING, false),
|
|
31
31
|
autocomplete: makeProp(PROP_TYPE_STRING),
|
|
@@ -40,7 +40,7 @@ const props = makePropsConfigurable(sortKeys({
|
|
|
40
40
|
plaintext: makeProp(PROP_TYPE_BOOLEAN, false),
|
|
41
41
|
readonly: makeProp(PROP_TYPE_BOOLEAN, false),
|
|
42
42
|
trim: makeProp(PROP_TYPE_BOOLEAN, false)
|
|
43
|
-
})
|
|
43
|
+
});
|
|
44
44
|
|
|
45
45
|
// --- Mixin ---
|
|
46
46
|
|
package/package.json
CHANGED
|
@@ -441,6 +441,11 @@ export default {
|
|
|
441
441
|
<template #before-input="scope">
|
|
442
442
|
<slot name="before-data-segment-input" v-bind="scope"></slot>
|
|
443
443
|
</template>
|
|
444
|
+
|
|
445
|
+
<template #input="scope">
|
|
446
|
+
<slot name="data-segment-input" v-bind="scope"></slot>
|
|
447
|
+
</template>
|
|
448
|
+
|
|
444
449
|
<template #suggestions>
|
|
445
450
|
<!-- @slot The suggestions (implemented with GlFilteredSearchSuggestion). -->
|
|
446
451
|
|
|
@@ -20,6 +20,20 @@
|
|
|
20
20
|
min-width: $gl-dropdown-width;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
+
.gl-filtered-search-token-segment-input.gl-form-date input:not(.form-control-plaintext) {
|
|
24
|
+
@apply gl-rounded-none;
|
|
25
|
+
@apply gl-p-0;
|
|
26
|
+
@apply gl-h-full;
|
|
27
|
+
@apply gl-bg-transparent;
|
|
28
|
+
@apply gl-shadow-none;
|
|
29
|
+
width: auto;
|
|
30
|
+
|
|
31
|
+
&:hover,
|
|
32
|
+
&:focus {
|
|
33
|
+
@apply gl-shadow-none;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
23
37
|
.gl-filtered-search-token-segment-input-disabled {
|
|
24
38
|
background: var(--gl-control-background-color-disabled);
|
|
25
39
|
}
|
|
@@ -450,18 +450,20 @@ export default {
|
|
|
450
450
|
>
|
|
451
451
|
<template v-if="active">
|
|
452
452
|
<slot name="before-input" v-bind="{ submitValue: applySuggestion }"></slot>
|
|
453
|
-
<input
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
453
|
+
<slot name="input" v-bind="{ submitValue: applySuggestion }">
|
|
454
|
+
<input
|
|
455
|
+
ref="input"
|
|
456
|
+
v-bind="searchInputAttributes"
|
|
457
|
+
v-model="inputValue"
|
|
458
|
+
class="gl-filtered-search-token-segment-input"
|
|
459
|
+
:class="{ 'gl-filtered-search-token-segment-input-disabled': viewOnly }"
|
|
460
|
+
data-testid="filtered-search-token-segment-input"
|
|
461
|
+
:aria-label="label"
|
|
462
|
+
:disabled="viewOnly"
|
|
463
|
+
@keydown="handleInputKeydown"
|
|
464
|
+
@blur="handleBlur"
|
|
465
|
+
/>
|
|
466
|
+
</slot>
|
|
465
467
|
<portal :key="`operator-${_uid}`" :to="portalName">
|
|
466
468
|
<gl-filtered-search-suggestion-list
|
|
467
469
|
v-if="hasOptionsOrSuggestions"
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
<script>
|
|
2
2
|
import { BTooltip } from '../../../vendor/bootstrap-vue/src/components/tooltip/tooltip';
|
|
3
|
-
import { tooltipDelay } from '../../../utils/constants';
|
|
4
3
|
import tooltipMixin from '../../mixins/tooltip_mixin';
|
|
5
4
|
import { getGlTooltipDefaultContainer } from '../../../directives/tooltip/container';
|
|
6
5
|
|
|
@@ -8,7 +7,6 @@ const tooltipRefName = 'bvTooltip';
|
|
|
8
7
|
|
|
9
8
|
export default {
|
|
10
9
|
name: 'GlTooltip',
|
|
11
|
-
tooltipDelay,
|
|
12
10
|
components: {
|
|
13
11
|
BTooltip,
|
|
14
12
|
},
|
|
@@ -24,7 +22,6 @@ export default {
|
|
|
24
22
|
:ref="$options.tooltipRefName"
|
|
25
23
|
v-bind="$attrs"
|
|
26
24
|
:container="$attrs.container || $options.getGlTooltipDefaultContainer()"
|
|
27
|
-
:delay="$options.tooltipDelay"
|
|
28
25
|
v-on="$listeners"
|
|
29
26
|
>
|
|
30
27
|
<!-- @slot Tooltip content -->
|
|
@@ -108,7 +108,7 @@ export default {
|
|
|
108
108
|
</div>
|
|
109
109
|
</section>
|
|
110
110
|
<div class="gl-flex">
|
|
111
|
-
<div class="gl-flex gl-grow gl-flex-col">
|
|
111
|
+
<div class="gl-flex gl-min-w-0 gl-grow gl-flex-col">
|
|
112
112
|
<!-- @slot For dashboard-level alerts. -->
|
|
113
113
|
<slot name="alert"></slot>
|
|
114
114
|
|
package/src/config.js
CHANGED
|
@@ -1,37 +1,4 @@
|
|
|
1
|
-
import Vue from 'vue';
|
|
2
1
|
import translationKeys from '../translations';
|
|
3
|
-
import { BVConfigPlugin } from './vendor/bootstrap-vue/src/bv-config';
|
|
4
|
-
import { tooltipDelay } from './utils/constants';
|
|
5
|
-
|
|
6
|
-
const tooltipGlobalConfig = {
|
|
7
|
-
// Work around for https://github.com/bootstrap-vue/bootstrap-vue/issues/6507
|
|
8
|
-
boundaryPadding: 5,
|
|
9
|
-
customClass: 'gl-tooltip',
|
|
10
|
-
delay: tooltipDelay,
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
const popoverDelayConfig = {
|
|
14
|
-
show: 50, // BootstrapVue's default delay on show.
|
|
15
|
-
hide: 150, // Increased hide delay so that it doesn't disappear to quickly when user attempts to interact with the content.
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Guard against nonexistent localStorage,
|
|
20
|
-
* or corrupted localStorage
|
|
21
|
-
*
|
|
22
|
-
* localStorage access is not possible in certain environments like
|
|
23
|
-
* - in iframe usage in Chrome if embedded on another domain
|
|
24
|
-
* - tests / node
|
|
25
|
-
*/
|
|
26
|
-
try {
|
|
27
|
-
const glTooltipDelay = localStorage.getItem('gl-tooltip-delay');
|
|
28
|
-
|
|
29
|
-
if (glTooltipDelay) {
|
|
30
|
-
tooltipGlobalConfig.delay = JSON.parse(glTooltipDelay);
|
|
31
|
-
}
|
|
32
|
-
} catch {
|
|
33
|
-
// localStorage doesn't exist (or the value is not properly formatted)
|
|
34
|
-
}
|
|
35
2
|
|
|
36
3
|
export const i18n = translationKeys;
|
|
37
4
|
|
|
@@ -61,13 +28,6 @@ const setConfigs = ({ translations, firstDayOfWeek } = {}) => {
|
|
|
61
28
|
}
|
|
62
29
|
configured = true;
|
|
63
30
|
|
|
64
|
-
Vue.use(BVConfigPlugin, {
|
|
65
|
-
BTooltip: tooltipGlobalConfig,
|
|
66
|
-
BPopover: {
|
|
67
|
-
delay: popoverDelayConfig,
|
|
68
|
-
},
|
|
69
|
-
});
|
|
70
|
-
|
|
71
31
|
if (typeof firstDayOfWeek === 'number' && firstDayOfWeek >= 0 && firstDayOfWeek <= 6) {
|
|
72
32
|
defaultConfig.firstDayOfWeek = firstDayOfWeek;
|
|
73
33
|
}
|
package/src/utils/constants.js
CHANGED
|
@@ -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
|
|
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 =
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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,
|
|
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 =
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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
|
|
4
|
+
import { makeProp } from '../../utils/props'
|
|
5
5
|
import { omit } from '../../utils/object'
|
|
6
6
|
|
|
7
7
|
// --- Props ---
|
|
8
8
|
|
|
9
|
-
export const props =
|
|
10
|
-
|
|
11
|
-
|
|
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
|
|
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 =
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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
|
|
9
|
+
import { makeProp } from '../../utils/props'
|
|
10
10
|
|
|
11
11
|
// --- Props ---
|
|
12
12
|
|
|
13
|
-
export const props =
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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
|
|
6
|
+
import { makeProp } from '../../utils/props'
|
|
7
7
|
|
|
8
8
|
// --- Props ---
|
|
9
9
|
|
|
10
|
-
export const props =
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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
|
|
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 =
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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,
|
|
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 =
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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
|
|
5
|
+
import { makeProp } from '../../utils/props'
|
|
6
6
|
|
|
7
7
|
// --- Props ---
|
|
8
8
|
|
|
9
|
-
export const props =
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
|
|
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 =
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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
|
-
|
|
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
|
|
4
|
+
import { makeProp } from '../../utils/props'
|
|
5
5
|
|
|
6
6
|
// --- Props ---
|
|
7
7
|
|
|
8
|
-
export const props =
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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
|
|