@gitlab/ui 127.1.1 → 128.1.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 +0 -3
- package/dist/components/base/form/form_checkbox/form_checkbox_group.js +132 -3
- package/dist/components/base/form/form_group/form_group.js +3 -0
- package/dist/components/base/new_dropdowns/base_dropdown/base_dropdown.js +95 -20
- package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown.js +1 -1
- package/dist/components/base/new_dropdowns/listbox/listbox.js +47 -10
- 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/tokens/build/js/tokens.dark.js +127 -127
- package/dist/tokens/build/js/tokens.js +110 -110
- package/dist/vendor/bootstrap-vue/src/constants/components.js +1 -3
- package/dist/vendor/bootstrap-vue/src/mixins/form-radio-check-group.js +1 -2
- package/package.json +1 -1
- package/src/components/base/form/form_checkbox/form_checkbox.vue +0 -3
- package/src/components/base/form/form_checkbox/form_checkbox_group.vue +148 -21
- package/src/components/base/form/form_group/form_group.vue +3 -0
- package/src/components/base/new_dropdowns/base_dropdown/base_dropdown.vue +101 -22
- package/src/components/base/new_dropdowns/disclosure/disclosure_dropdown.vue +3 -2
- package/src/components/base/new_dropdowns/listbox/listbox.vue +52 -9
- package/src/scss/bootstrap_vue.scss +0 -1
- package/src/tokens/build/css/tokens.css +24 -24
- package/src/tokens/build/css/tokens.dark.css +26 -26
- package/src/tokens/build/docs/tokens-tailwind-docs.dark.json +82 -82
- package/src/tokens/build/docs/tokens-tailwind-docs.json +81 -81
- package/src/tokens/build/figma/constants.tokens.json +2245 -226
- package/src/tokens/build/figma/contextual.tokens.json +753 -77
- package/src/tokens/build/figma/deprecated.tokens.json +4151 -420
- package/src/tokens/build/figma/semantic.tokens.json +171 -19
- package/src/tokens/build/js/tokens.dark.js +130 -127
- package/src/tokens/build/js/tokens.js +113 -110
- package/src/tokens/build/json/tokens.dark.json +161 -161
- package/src/tokens/build/json/tokens.json +142 -142
- package/src/tokens/build/scss/_tokens.dark.scss +26 -26
- package/src/tokens/build/scss/_tokens.scss +24 -24
- package/src/tokens/constant/color.alpha.tokens.json +135 -15
- package/src/tokens/constant/color.tokens.json +2110 -211
- package/src/tokens/contextual/avatar.tokens.json +54 -6
- package/src/tokens/contextual/button.tokens.json +90 -10
- package/src/tokens/contextual/chart.tokens.json +9 -1
- package/src/tokens/contextual/illustration.tokens.json +600 -60
- package/src/tokens/deprecated/deprecated.color.data_viz.tokens.json +1100 -110
- package/src/tokens/deprecated/deprecated.color.theme.tokens.json +1440 -144
- package/src/tokens/deprecated/deprecated.color.tokens.json +1490 -149
- package/src/tokens/deprecated/deprecated.color.transparency.tokens.json +147 -43
- package/src/tokens/semantic/action.tokens.json +162 -18
- package/src/tokens/semantic/background.tokens.json +9 -1
- package/src/vendor/bootstrap-vue/src/constants/components.js +0 -2
- package/src/vendor/bootstrap-vue/src/mixins/form-radio-check-group.js +1 -2
- package/dist/vendor/bootstrap-vue/src/components/form-checkbox/form-checkbox-group.js +0 -37
- package/dist/vendor/bootstrap-vue/src/components/form-checkbox/form-checkbox.js +0 -134
- package/dist/vendor/bootstrap-vue/src/components/form-checkbox/index.js +0 -2
- package/src/vendor/bootstrap-vue/src/components/form-checkbox/_form-checkbox-group.scss +0 -1
- package/src/vendor/bootstrap-vue/src/components/form-checkbox/_form-checkbox.scss +0 -125
- package/src/vendor/bootstrap-vue/src/components/form-checkbox/form-checkbox-group.js +0 -42
- package/src/vendor/bootstrap-vue/src/components/form-checkbox/form-checkbox.js +0 -132
- package/src/vendor/bootstrap-vue/src/components/form-checkbox/index.js +0 -4
- package/src/vendor/bootstrap-vue/src/components/form-checkbox/index.scss +0 -2
|
@@ -8,9 +8,6 @@ var script = {
|
|
|
8
8
|
name: 'GlFormCheckbox',
|
|
9
9
|
inject: {
|
|
10
10
|
getGroup: {
|
|
11
|
-
// When we remove BFormCheckboxGroup from GlFormCheckboxGroup, we can rename
|
|
12
|
-
// the `getBvCheckGroup` provide to `getCheckGroup`.
|
|
13
|
-
from: 'getBvCheckGroup',
|
|
14
11
|
default: () => () => null
|
|
15
12
|
}
|
|
16
13
|
},
|
|
@@ -1,23 +1,152 @@
|
|
|
1
|
+
import uniqueId from 'lodash/uniqueId';
|
|
2
|
+
import isBoolean from 'lodash/isBoolean';
|
|
3
|
+
import omit from 'lodash/omit';
|
|
4
|
+
import pick from 'lodash/pick';
|
|
5
|
+
import { looseEqual } from '../../../../vendor/bootstrap-vue/src/utils/loose-equal';
|
|
1
6
|
import { formOptionsMixin } from '../../../../vendor/bootstrap-vue/src/mixins/form-options';
|
|
2
|
-
import { BFormCheckboxGroup } from '../../../../vendor/bootstrap-vue/src/components/form-checkbox/form-checkbox-group';
|
|
3
7
|
import { SafeHtmlDirective } from '../../../../directives/safe_html/safe_html';
|
|
4
8
|
import GlFormCheckbox from './form_checkbox';
|
|
5
9
|
import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
|
|
6
10
|
|
|
11
|
+
// Attributes to pass down to checks/radios instead of applying them to the group
|
|
12
|
+
const PASS_DOWN_ATTRS = ['aria-describedby', 'aria-labelledby'];
|
|
7
13
|
var script = {
|
|
8
14
|
name: 'GlFormCheckboxGroup',
|
|
9
15
|
components: {
|
|
10
|
-
BFormCheckboxGroup,
|
|
11
16
|
GlFormCheckbox
|
|
12
17
|
},
|
|
13
18
|
directives: {
|
|
14
19
|
SafeHtml: SafeHtmlDirective
|
|
15
20
|
},
|
|
16
21
|
mixins: [formOptionsMixin],
|
|
22
|
+
provide() {
|
|
23
|
+
return {
|
|
24
|
+
getGroup: () => this
|
|
25
|
+
};
|
|
26
|
+
},
|
|
17
27
|
inheritAttrs: false,
|
|
18
28
|
model: {
|
|
19
29
|
prop: 'checked',
|
|
20
30
|
event: 'input'
|
|
31
|
+
},
|
|
32
|
+
props: {
|
|
33
|
+
/**
|
|
34
|
+
* Used to set the `id` attribute on the rendered content, and used as the base to generate any additional element IDs as needed.
|
|
35
|
+
*/
|
|
36
|
+
id: {
|
|
37
|
+
type: String,
|
|
38
|
+
required: false,
|
|
39
|
+
default: undefined
|
|
40
|
+
},
|
|
41
|
+
/**
|
|
42
|
+
* The current value of the checkbox.
|
|
43
|
+
*/
|
|
44
|
+
checked: {
|
|
45
|
+
type: Array,
|
|
46
|
+
required: false,
|
|
47
|
+
default: () => []
|
|
48
|
+
},
|
|
49
|
+
/**
|
|
50
|
+
* Array of items to render in the component
|
|
51
|
+
*/
|
|
52
|
+
options: {
|
|
53
|
+
type: Array,
|
|
54
|
+
required: false,
|
|
55
|
+
default: () => []
|
|
56
|
+
},
|
|
57
|
+
/**
|
|
58
|
+
* When set to `true`, disables the component's functionality and places it in a disabled state.
|
|
59
|
+
*/
|
|
60
|
+
disabled: {
|
|
61
|
+
type: Boolean,
|
|
62
|
+
required: false,
|
|
63
|
+
default: false
|
|
64
|
+
},
|
|
65
|
+
/**
|
|
66
|
+
* Sets the value of the `name` attribute on the form control.
|
|
67
|
+
*/
|
|
68
|
+
name: {
|
|
69
|
+
type: String,
|
|
70
|
+
required: false,
|
|
71
|
+
default: undefined
|
|
72
|
+
},
|
|
73
|
+
/**
|
|
74
|
+
* Adds the `required` attribute to the form control.
|
|
75
|
+
*/
|
|
76
|
+
required: {
|
|
77
|
+
type: Boolean,
|
|
78
|
+
required: false,
|
|
79
|
+
default: false
|
|
80
|
+
},
|
|
81
|
+
/**
|
|
82
|
+
* Controls the validation state appearance of the component. `true` for valid, `false` for invalid, or `null` for no validation state.
|
|
83
|
+
*/
|
|
84
|
+
state: {
|
|
85
|
+
type: Boolean,
|
|
86
|
+
required: false,
|
|
87
|
+
default: null
|
|
88
|
+
},
|
|
89
|
+
/**
|
|
90
|
+
* Optional value to set for the 'aria-invalid' attribute. Supported values are 'true' and 'false'. If not set, the 'state' prop will dictate the value
|
|
91
|
+
*/
|
|
92
|
+
ariaInvalid: {
|
|
93
|
+
type: [Boolean, String],
|
|
94
|
+
required: false,
|
|
95
|
+
default: false
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
data() {
|
|
99
|
+
return {
|
|
100
|
+
internalId: this.id ? this.id : uniqueId('gitlab_ui_checkbox_group_'),
|
|
101
|
+
localChecked: this.checked
|
|
102
|
+
};
|
|
103
|
+
},
|
|
104
|
+
computed: {
|
|
105
|
+
computedState() {
|
|
106
|
+
return isBoolean(this.state) ? this.state : null;
|
|
107
|
+
},
|
|
108
|
+
stateClass() {
|
|
109
|
+
if (this.computedState === true) return 'is-valid';
|
|
110
|
+
if (this.computedState === false) return 'is-invalid';
|
|
111
|
+
return null;
|
|
112
|
+
},
|
|
113
|
+
computedAriaInvalid() {
|
|
114
|
+
const {
|
|
115
|
+
ariaInvalid
|
|
116
|
+
} = this;
|
|
117
|
+
if (ariaInvalid === true || ariaInvalid === 'true' || ariaInvalid === '') {
|
|
118
|
+
return 'true';
|
|
119
|
+
}
|
|
120
|
+
return this.computedState === false ? 'true' : ariaInvalid;
|
|
121
|
+
},
|
|
122
|
+
computedAttrs() {
|
|
123
|
+
return {
|
|
124
|
+
...omit(this.$attrs, PASS_DOWN_ATTRS),
|
|
125
|
+
id: this.internalId,
|
|
126
|
+
'aria-invalid': this.computedAriaInvalid,
|
|
127
|
+
'aria-required': this.required || null
|
|
128
|
+
};
|
|
129
|
+
},
|
|
130
|
+
passDownAttrs() {
|
|
131
|
+
return pick(this.$attrs, PASS_DOWN_ATTRS);
|
|
132
|
+
},
|
|
133
|
+
groupName() {
|
|
134
|
+
// Checks/Radios tied to the same model must have the same name,
|
|
135
|
+
// especially for ARIA accessibility
|
|
136
|
+
return this.name || this.internalId;
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
watch: {
|
|
140
|
+
checked(newValue) {
|
|
141
|
+
if (!looseEqual(newValue, this.localChecked)) {
|
|
142
|
+
this.localChecked = newValue;
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
localChecked(newValue, oldValue) {
|
|
146
|
+
if (!looseEqual(newValue, oldValue)) {
|
|
147
|
+
this.$emit('input', newValue);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
21
150
|
}
|
|
22
151
|
};
|
|
23
152
|
|
|
@@ -25,7 +154,7 @@ var script = {
|
|
|
25
154
|
const __vue_script__ = script;
|
|
26
155
|
|
|
27
156
|
/* template */
|
|
28
|
-
var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',
|
|
157
|
+
var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._b({staticClass:"gl-form-checkbox-group gl-outline-none",attrs:{"role":"group","tabindex":"-1"}},'div',_vm.computedAttrs,false),[_vm._t("first"),_vm._v(" "),_vm._l((_vm.formOptions),function(option,idx){return _c('gl-form-checkbox',_vm._b({key:idx,attrs:{"value":option.value,"disabled":option.disabled}},'gl-form-checkbox',_vm.passDownAttrs,false),[(option.html)?_c('span',{directives:[{name:"safe-html",rawName:"v-safe-html",value:(option.html),expression:"option.html"}]}):_c('span',[_vm._v(_vm._s(option.text))])])}),_vm._v(" "),_vm._t("default")],2)};
|
|
29
158
|
var __vue_staticRenderFns__ = [];
|
|
30
159
|
|
|
31
160
|
/* style */
|
|
@@ -106,6 +106,26 @@ var script = {
|
|
|
106
106
|
return ['menu', 'listbox', 'tree', 'grid', 'dialog', true, false].includes(value);
|
|
107
107
|
}
|
|
108
108
|
},
|
|
109
|
+
activeItemId: {
|
|
110
|
+
type: String,
|
|
111
|
+
required: false,
|
|
112
|
+
default: undefined
|
|
113
|
+
},
|
|
114
|
+
hasExternalLabel: {
|
|
115
|
+
type: Boolean,
|
|
116
|
+
required: false,
|
|
117
|
+
default: false
|
|
118
|
+
},
|
|
119
|
+
hasSearchableListbox: {
|
|
120
|
+
type: Boolean,
|
|
121
|
+
required: false,
|
|
122
|
+
default: false
|
|
123
|
+
},
|
|
124
|
+
isDisclosure: {
|
|
125
|
+
type: Boolean,
|
|
126
|
+
required: false,
|
|
127
|
+
default: false
|
|
128
|
+
},
|
|
109
129
|
/**
|
|
110
130
|
* Id that will be referenced by `aria-labelledby` attribute of the dropdown content`
|
|
111
131
|
*/
|
|
@@ -113,6 +133,15 @@ var script = {
|
|
|
113
133
|
type: String,
|
|
114
134
|
required: true
|
|
115
135
|
},
|
|
136
|
+
/**
|
|
137
|
+
* Span Id that will be referenced by listbox `aria-labelledby` if there's an external label.
|
|
138
|
+
* This prop will only be defined by `GlCollapsibleListbox` when `isInFormGroup` injected is true.
|
|
139
|
+
*/
|
|
140
|
+
listboxId: {
|
|
141
|
+
type: String,
|
|
142
|
+
required: false,
|
|
143
|
+
default: undefined
|
|
144
|
+
},
|
|
116
145
|
/**
|
|
117
146
|
* The `aria-labelledby` attribute value for the toggle `button`
|
|
118
147
|
*/
|
|
@@ -157,6 +186,10 @@ var script = {
|
|
|
157
186
|
};
|
|
158
187
|
},
|
|
159
188
|
computed: {
|
|
189
|
+
ariaActiveDescendant() {
|
|
190
|
+
if (!this.isDisclosure && this.visible) return this.activeItemId;
|
|
191
|
+
return undefined;
|
|
192
|
+
},
|
|
160
193
|
hasNoVisibleToggleText() {
|
|
161
194
|
var _this$toggleText;
|
|
162
195
|
return !((_this$toggleText = this.toggleText) !== null && _this$toggleText !== void 0 && _this$toggleText.length) || this.textSrOnly;
|
|
@@ -170,12 +203,47 @@ var script = {
|
|
|
170
203
|
isCaretOnly() {
|
|
171
204
|
return !this.noCaret && !this.icon && this.hasNoVisibleToggleText;
|
|
172
205
|
},
|
|
173
|
-
|
|
206
|
+
isDefaultToggle() {
|
|
207
|
+
return !this.$scopedSlots.toggle;
|
|
208
|
+
},
|
|
209
|
+
isToggleCombobox() {
|
|
210
|
+
if (this.hasSearchableListbox || this.isDisclosure) {
|
|
211
|
+
return false;
|
|
212
|
+
}
|
|
213
|
+
return true;
|
|
214
|
+
},
|
|
215
|
+
isToggleLabelledExternally() {
|
|
216
|
+
if (this.hasExternalLabel && this.toggleId) return true;
|
|
217
|
+
return false;
|
|
218
|
+
},
|
|
219
|
+
computedToggleId() {
|
|
220
|
+
if (this.isDisclosure) {
|
|
221
|
+
return this.isDefaultToggle ? this.toggleId : undefined;
|
|
222
|
+
}
|
|
223
|
+
if (this.isToggleLabelledExternally) {
|
|
224
|
+
return this.isDefaultToggle ? this.toggleId : undefined;
|
|
225
|
+
}
|
|
226
|
+
if (this.hasSearchableListbox) {
|
|
227
|
+
return this.toggleId;
|
|
228
|
+
}
|
|
229
|
+
return undefined;
|
|
230
|
+
},
|
|
231
|
+
computedToggleInnerId() {
|
|
232
|
+
if (this.isToggleCombobox && !this.isToggleLabelledExternally) {
|
|
233
|
+
return this.toggleId;
|
|
234
|
+
}
|
|
235
|
+
if (this.isToggleCombobox && this.isToggleLabelledExternally) {
|
|
236
|
+
return this.listboxId;
|
|
237
|
+
}
|
|
238
|
+
return undefined;
|
|
239
|
+
},
|
|
240
|
+
toggleAriaAttributes() {
|
|
174
241
|
return {
|
|
175
|
-
'aria-haspopup': this.ariaHaspopup,
|
|
176
|
-
'aria-expanded': String(this.visible),
|
|
177
242
|
'aria-controls': this.baseDropdownId,
|
|
178
|
-
'aria-
|
|
243
|
+
'aria-expanded': String(this.visible),
|
|
244
|
+
'aria-haspopup': this.ariaHaspopup,
|
|
245
|
+
'aria-labelledby': this.toggleLabelledBy,
|
|
246
|
+
'aria-activedescendant': this.ariaActiveDescendant
|
|
179
247
|
};
|
|
180
248
|
},
|
|
181
249
|
toggleButtonClasses() {
|
|
@@ -191,10 +259,28 @@ var script = {
|
|
|
191
259
|
return this.block ? 'gl-w-full' : '';
|
|
192
260
|
},
|
|
193
261
|
toggleLabelledBy() {
|
|
262
|
+
if (this.isToggleCombobox) {
|
|
263
|
+
if (this.ariaLabelledby) {
|
|
264
|
+
return `${this.ariaLabelledby} ${this.toggleId}`;
|
|
265
|
+
}
|
|
266
|
+
return this.toggleId;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
// For non-combobox toggles, combine IDs or use the button's own text
|
|
194
270
|
return this.ariaLabelledby ? `${this.ariaLabelledby} ${this.toggleId}` : undefined;
|
|
195
271
|
},
|
|
196
|
-
|
|
197
|
-
|
|
272
|
+
toggleRole() {
|
|
273
|
+
if (this.isToggleCombobox) {
|
|
274
|
+
return 'combobox';
|
|
275
|
+
}
|
|
276
|
+
return undefined;
|
|
277
|
+
},
|
|
278
|
+
toggleAccessibilityAttributes() {
|
|
279
|
+
return {
|
|
280
|
+
...this.toggleAriaAttributes,
|
|
281
|
+
id: this.toggleId,
|
|
282
|
+
role: this.toggleRole
|
|
283
|
+
};
|
|
198
284
|
},
|
|
199
285
|
toggleOptions() {
|
|
200
286
|
if (this.isDefaultToggle) {
|
|
@@ -209,7 +295,8 @@ var script = {
|
|
|
209
295
|
disabled: this.disabled,
|
|
210
296
|
loading: this.loading,
|
|
211
297
|
class: this.toggleButtonClasses,
|
|
212
|
-
|
|
298
|
+
role: this.toggleRole,
|
|
299
|
+
...this.toggleAriaAttributes,
|
|
213
300
|
listeners: {
|
|
214
301
|
keydown: event => this.onKeydown(event),
|
|
215
302
|
click: event => this.toggle(event)
|
|
@@ -287,18 +374,6 @@ var script = {
|
|
|
287
374
|
};
|
|
288
375
|
}
|
|
289
376
|
},
|
|
290
|
-
watch: {
|
|
291
|
-
ariaAttributes: {
|
|
292
|
-
deep: true,
|
|
293
|
-
handler(ariaAttributes) {
|
|
294
|
-
if (this.$scopedSlots.toggle) {
|
|
295
|
-
Object.keys(ariaAttributes).forEach(key => {
|
|
296
|
-
this.toggleElement.setAttribute(key, ariaAttributes[key]);
|
|
297
|
-
});
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
},
|
|
302
377
|
mounted() {
|
|
303
378
|
this.checkToggleFocusable();
|
|
304
379
|
},
|
|
@@ -538,7 +613,7 @@ var script = {
|
|
|
538
613
|
const __vue_script__ = script;
|
|
539
614
|
|
|
540
615
|
/* template */
|
|
541
|
-
var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[_vm.$options.BASE_DROPDOWN_CLASS, { '!gl-block': _vm.block }]},[_c(_vm.toggleComponent,_vm._g(_vm._b({ref:"toggle",tag:"component",attrs:{"id":_vm.
|
|
616
|
+
var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[_vm.$options.BASE_DROPDOWN_CLASS, { '!gl-block': _vm.block }]},[_c(_vm.toggleComponent,_vm._g(_vm._b({ref:"toggle",tag:"component",attrs:{"id":_vm.computedToggleId,"data-testid":"base-dropdown-toggle"}},'component',_vm.toggleAttributes,false),_vm.toggleListeners),[_vm._t("toggle",function(){return [_c('span',{staticClass:"gl-new-dropdown-button-text",class:{ 'gl-sr-only': _vm.textSrOnly },attrs:{"id":_vm.computedToggleInnerId,"data-testid":"base-dropdown-span"}},[_vm._v("\n "+_vm._s(_vm.toggleText)+"\n ")]),_vm._v(" "),(!_vm.noCaret)?_c('gl-icon',{staticClass:"gl-button-icon gl-new-dropdown-chevron",attrs:{"name":"chevron-down"}}):_vm._e()]},{"accessibilityAttributes":_vm.toggleAccessibilityAttributes})],2),_vm._v(" "),_c('dropdown-container',{attrs:{"positioning-strategy":_vm.positioningStrategy}},[_c('div',{directives:[{name:"outside",rawName:"v-outside.click.focusin",value:(_vm.handleClickOutside),expression:"handleClickOutside",modifiers:{"click":true,"focusin":true}}],ref:"dropdownContainer",class:_vm.$options.DROPDOWN_CONTAINER_CLASS},[_c('div',{ref:"content",staticClass:"gl-new-dropdown-panel",class:_vm.panelClasses,attrs:{"id":_vm.baseDropdownId,"data-testid":"base-dropdown-menu"},on:{"keydown":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"esc",27,$event.key,["Esc","Escape"])){ return null; }$event.stopPropagation();$event.preventDefault();return _vm.closeAndFocus.apply(null, arguments)}}},[_c('div',{ref:"dropdownArrow",staticClass:"gl-new-dropdown-arrow"}),_vm._v(" "),_c('div',{staticClass:"gl-new-dropdown-inner"},[_vm._t("default",null,{"visible":_vm.visible})],2)])])])],1)};
|
|
542
617
|
var __vue_staticRenderFns__ = [];
|
|
543
618
|
|
|
544
619
|
/* style */
|
|
@@ -346,7 +346,7 @@ var script = {
|
|
|
346
346
|
const __vue_script__ = script;
|
|
347
347
|
|
|
348
348
|
/* template */
|
|
349
|
-
var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('gl-base-dropdown',{ref:"baseDropdown",staticClass:"gl-disclosure-dropdown",attrs:{"aria-labelledby":_vm.toggleAriaLabelledBy,"arrow-element":_vm.$refs.disclosureArrow,"toggle-id":_vm.toggleId,"toggle-text":_vm.toggleText,"toggle-class":_vm.toggleClass,"text-sr-only":_vm.textSrOnly,"category":_vm.category,"variant":_vm.variant,"size":_vm.size,"icon":_vm.icon,"disabled":_vm.disabled,"loading":_vm.loading,"no-caret":_vm.noCaret,"placement":_vm.placement,"block":_vm.block,"offset":_vm.dropdownOffset,"fluid-width":_vm.fluidWidth,"positioning-strategy":_vm.positioningStrategy},on:_vm._d({},[_vm.$options.events.GL_DROPDOWN_SHOWN,_vm.onShow,_vm.$options.events.GL_DROPDOWN_HIDDEN,_vm.onHide,_vm.$options.events.GL_DROPDOWN_BEFORE_CLOSE,_vm.onBeforeClose,_vm.$options.events.GL_DROPDOWN_FOCUS_CONTENT,_vm.onKeydown]),scopedSlots:_vm._u([(_vm.hasCustomToggle)?{key:"toggle",fn:function(){return [_vm._t("toggle")]}
|
|
349
|
+
var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('gl-base-dropdown',{ref:"baseDropdown",staticClass:"gl-disclosure-dropdown",attrs:{"aria-labelledby":_vm.toggleAriaLabelledBy,"arrow-element":_vm.$refs.disclosureArrow,"toggle-id":_vm.toggleId,"toggle-text":_vm.toggleText,"toggle-class":_vm.toggleClass,"text-sr-only":_vm.textSrOnly,"category":_vm.category,"variant":_vm.variant,"size":_vm.size,"icon":_vm.icon,"disabled":_vm.disabled,"loading":_vm.loading,"no-caret":_vm.noCaret,"placement":_vm.placement,"block":_vm.block,"offset":_vm.dropdownOffset,"fluid-width":_vm.fluidWidth,"positioning-strategy":_vm.positioningStrategy,"is-disclosure":""},on:_vm._d({},[_vm.$options.events.GL_DROPDOWN_SHOWN,_vm.onShow,_vm.$options.events.GL_DROPDOWN_HIDDEN,_vm.onHide,_vm.$options.events.GL_DROPDOWN_BEFORE_CLOSE,_vm.onBeforeClose,_vm.$options.events.GL_DROPDOWN_FOCUS_CONTENT,_vm.onKeydown]),scopedSlots:_vm._u([(_vm.hasCustomToggle)?{key:"toggle",fn:function(slotProps){return [_vm._t("toggle",null,null,slotProps)]}}:null],null,true)},[_vm._v(" "),_vm._t("header"),_vm._v(" "),_c(_vm.disclosureTag,{ref:"content",tag:"component",class:_vm.$options.GL_DROPDOWN_CONTENTS_CLASS,attrs:{"id":_vm.disclosureId,"aria-labelledby":_vm.listAriaLabelledBy || _vm.toggleId,"data-testid":"disclosure-content","tabindex":"-1"},on:{"keydown":_vm.onKeydown,"click":_vm.handleAutoClose}},[_vm._t("default",function(){return [_vm._l((_vm.items),function(item,index){return [(_vm.isItem(item))?[_c('gl-disclosure-dropdown-item',{key:_vm.uniqueItemId(),attrs:{"item":item},on:{"action":_vm.handleAction},scopedSlots:_vm._u([('list-item' in _vm.$scopedSlots)?{key:"list-item",fn:function(){return [_vm._t("list-item",null,{"item":item})]},proxy:true}:null],null,true)})]:[_c('gl-disclosure-dropdown-group',{key:item.name,attrs:{"bordered":index !== 0,"group":item},on:{"action":_vm.handleAction},scopedSlots:_vm._u([(_vm.$scopedSlots['group-label'])?{key:"group-label",fn:function(){return [_vm._t("group-label",null,{"group":item})]},proxy:true}:null,(_vm.$scopedSlots['list-item'])?{key:"default",fn:function(){return _vm._l((item.items),function(groupItem){return _c('gl-disclosure-dropdown-item',{key:_vm.uniqueItemId(),attrs:{"item":groupItem},on:{"action":_vm.handleAction},scopedSlots:_vm._u([{key:"list-item",fn:function(){return [_vm._t("list-item",null,{"item":groupItem})]},proxy:true}],null,true)})})},proxy:true}:null],null,true)})]]})]})],2),_vm._v(" "),_vm._t("footer")],2)};
|
|
350
350
|
var __vue_staticRenderFns__ = [];
|
|
351
351
|
|
|
352
352
|
/* style */
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import clamp from 'lodash/clamp';
|
|
2
2
|
import uniqueId from 'lodash/uniqueId';
|
|
3
3
|
import { logWarning, stopEvent } from '../../../../utils/utils';
|
|
4
|
-
import { GL_DROPDOWN_SHOWN, GL_DROPDOWN_HIDDEN, POSITION_ABSOLUTE, POSITION_FIXED, GL_DROPDOWN_CONTENTS_CLASS, ARROW_UP, ENTER, ARROW_DOWN, END, HOME } from '../constants';
|
|
4
|
+
import { GL_DROPDOWN_SHOWN, GL_DROPDOWN_HIDDEN, GL_DROPDOWN_FOCUS_CONTENT, POSITION_ABSOLUTE, POSITION_FIXED, GL_DROPDOWN_CONTENTS_CLASS, ARROW_UP, ENTER, ARROW_DOWN, END, HOME } from '../constants';
|
|
5
5
|
import { buttonCategoryOptions, dropdownVariantOptions, buttonSizeOptions, dropdownPlacements } from '../../../../utils/constants';
|
|
6
6
|
import GlButton from '../../button/button';
|
|
7
7
|
import GlLoadingIcon from '../../loading_icon/loading_icon';
|
|
@@ -25,7 +25,8 @@ var script = {
|
|
|
25
25
|
HEADER_ITEMS_BORDER_CLASSES,
|
|
26
26
|
events: {
|
|
27
27
|
GL_DROPDOWN_SHOWN,
|
|
28
|
-
GL_DROPDOWN_HIDDEN
|
|
28
|
+
GL_DROPDOWN_HIDDEN,
|
|
29
|
+
GL_DROPDOWN_FOCUS_CONTENT
|
|
29
30
|
},
|
|
30
31
|
components: {
|
|
31
32
|
GlBaseDropdown,
|
|
@@ -37,6 +38,11 @@ var script = {
|
|
|
37
38
|
GlLoadingIcon,
|
|
38
39
|
GlIntersectionObserver
|
|
39
40
|
},
|
|
41
|
+
inject: {
|
|
42
|
+
isInFormGroup: {
|
|
43
|
+
default: false
|
|
44
|
+
}
|
|
45
|
+
},
|
|
40
46
|
model: {
|
|
41
47
|
prop: 'selected',
|
|
42
48
|
event: 'select'
|
|
@@ -184,7 +190,7 @@ var script = {
|
|
|
184
190
|
},
|
|
185
191
|
/**
|
|
186
192
|
* The `aria-labelledby` attribute value for the toggle button
|
|
187
|
-
* Provide the string of
|
|
193
|
+
* Provide the string of IDs seperated by space
|
|
188
194
|
*/
|
|
189
195
|
toggleAriaLabelledBy: {
|
|
190
196
|
type: String,
|
|
@@ -193,7 +199,7 @@ var script = {
|
|
|
193
199
|
},
|
|
194
200
|
/**
|
|
195
201
|
* The `aria-labelledby` attribute value for the list of options
|
|
196
|
-
* Provide the string of
|
|
202
|
+
* Provide the string of IDs seperated by space
|
|
197
203
|
*/
|
|
198
204
|
listAriaLabelledBy: {
|
|
199
205
|
type: String,
|
|
@@ -351,15 +357,42 @@ var script = {
|
|
|
351
357
|
};
|
|
352
358
|
},
|
|
353
359
|
computed: {
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
360
|
+
/**
|
|
361
|
+
* Determines the `aria-labelledby` attribute value for the listbox by
|
|
362
|
+
* evaluating a series of conditions in priority order. The returned ID
|
|
363
|
+
* references the element that best describes the listbox content, with
|
|
364
|
+
* preference given to headers in searchable lists, followed by search
|
|
365
|
+
* input, form labels, and finally fallback options.
|
|
366
|
+
*/
|
|
367
|
+
listboxAriaLabelledByID() {
|
|
368
|
+
// Listbox is labelled by closest heading, creating a meaningful relationship
|
|
369
|
+
if (this.headerId && this.searchable) return `${this.headerId}`;
|
|
370
|
+
|
|
371
|
+
// Listbox is labelled by the search input with role="combobox"
|
|
372
|
+
if (this.searchable) return this.searchInputId;
|
|
373
|
+
|
|
374
|
+
// Listbox is labelledy by the text inside an externally labelled button
|
|
375
|
+
if (this.isInFormGroup) return this.listboxIdComputed;
|
|
376
|
+
|
|
377
|
+
// Fallback. Return a header ID or the toggle button ID.
|
|
358
378
|
return this.listAriaLabelledBy || this.headerId || this.toggleIdComputed;
|
|
359
379
|
},
|
|
360
380
|
toggleIdComputed() {
|
|
361
381
|
return this.toggleId || uniqueId('dropdown-toggle-btn-');
|
|
362
382
|
},
|
|
383
|
+
// Generate a custom listbox ID when inside GlFormGroup
|
|
384
|
+
listboxIdComputed() {
|
|
385
|
+
if (this.isInFormGroup) {
|
|
386
|
+
if (this.listAriaLabelledBy) {
|
|
387
|
+
return this.listAriaLabelledBy;
|
|
388
|
+
}
|
|
389
|
+
if (this.toggleId) {
|
|
390
|
+
return `${this.toggleId}-span`;
|
|
391
|
+
}
|
|
392
|
+
return uniqueId('dropdown-toggle-span-');
|
|
393
|
+
}
|
|
394
|
+
return undefined;
|
|
395
|
+
},
|
|
363
396
|
listboxTag() {
|
|
364
397
|
if (!this.hasItems || isOption(this.items[0])) return 'ul';
|
|
365
398
|
return 'div';
|
|
@@ -567,6 +600,10 @@ var script = {
|
|
|
567
600
|
(_this$scrollObserver = this.scrollObserver) === null || _this$scrollObserver === void 0 ? void 0 : _this$scrollObserver.disconnect();
|
|
568
601
|
},
|
|
569
602
|
methods: {
|
|
603
|
+
onFocusContent(event) {
|
|
604
|
+
event.preventDefault();
|
|
605
|
+
this.open();
|
|
606
|
+
},
|
|
570
607
|
open() {
|
|
571
608
|
this.$refs.baseDropdown.open();
|
|
572
609
|
},
|
|
@@ -874,9 +911,9 @@ var script = {
|
|
|
874
911
|
const __vue_script__ = script;
|
|
875
912
|
|
|
876
913
|
/* template */
|
|
877
|
-
var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('gl-base-dropdown',{ref:"baseDropdown",attrs:{"aria-haspopup":"listbox","aria-labelledby":_vm.toggleAriaLabelledBy,"block":_vm.block,"toggle-id":_vm.toggleIdComputed,"toggle-text":_vm.listboxToggleText,"toggle-class":_vm.toggleButtonClasses,"text-sr-only":_vm.textSrOnly,"category":_vm.category,"variant":_vm.variant,"size":_vm.size,"icon":_vm.icon,"disabled":_vm.disabled,"loading":_vm.loading,"no-caret":_vm.noCaret,"placement":_vm.placement,"offset":_vm.dropdownOffset,"fluid-width":_vm.fluidWidth,"positioning-strategy":_vm.positioningStrategy},on:_vm._d({},[_vm.$options.events.GL_DROPDOWN_SHOWN,_vm.onShow,_vm.$options.events.GL_DROPDOWN_HIDDEN,_vm.onHide]),scopedSlots:_vm._u([(_vm.hasCustomToggle)?{key:"toggle",fn:function(){return [_vm._t("toggle")]}
|
|
914
|
+
var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('gl-base-dropdown',{ref:"baseDropdown",attrs:{"aria-haspopup":"listbox","active-item-id":_vm.activeItemId,"aria-labelledby":_vm.toggleAriaLabelledBy,"block":_vm.block,"has-searchable-listbox":_vm.searchable,"has-external-label":_vm.isInFormGroup,"listbox-id":_vm.listboxIdComputed,"toggle-id":_vm.toggleIdComputed,"toggle-text":_vm.listboxToggleText,"toggle-class":_vm.toggleButtonClasses,"text-sr-only":_vm.textSrOnly,"category":_vm.category,"variant":_vm.variant,"size":_vm.size,"icon":_vm.icon,"disabled":_vm.disabled,"loading":_vm.loading,"no-caret":_vm.noCaret,"placement":_vm.placement,"offset":_vm.dropdownOffset,"fluid-width":_vm.fluidWidth,"positioning-strategy":_vm.positioningStrategy},on:_vm._d({},[_vm.$options.events.GL_DROPDOWN_FOCUS_CONTENT,_vm.onFocusContent,_vm.$options.events.GL_DROPDOWN_SHOWN,_vm.onShow,_vm.$options.events.GL_DROPDOWN_HIDDEN,_vm.onHide]),scopedSlots:_vm._u([(_vm.hasCustomToggle)?{key:"toggle",fn:function(slotProps){return [_vm._t("toggle",null,null,slotProps)]}}:null,{key:"default",fn:function(ref){
|
|
878
915
|
var visible = ref.visible;
|
|
879
|
-
return [(_vm.headerText)?_c('div',{staticClass:"gl-flex gl-min-h-8 gl-items-center !gl-p-4",class:_vm.$options.HEADER_ITEMS_BORDER_CLASSES},[_c('div',{staticClass:"gl-grow gl-pr-2 gl-text-sm gl-font-bold gl-text-strong",attrs:{"id":_vm.headerId,"data-testid":"listbox-header-text"}},[_vm._v("\n "+_vm._s(_vm.headerText)+"\n ")]),_vm._v(" "),(_vm.showResetButton)?_c('gl-button',{staticClass:"!gl-m-0 !gl-w-auto gl-max-w-1/2 gl-flex-shrink-0 gl-text-ellipsis !gl-px-2 !gl-text-sm focus:!gl-focus-inset",attrs:{"category":"tertiary","size":"small","data-testid":"listbox-reset-button"},on:{"click":_vm.onResetButtonClicked}},[_vm._v("\n "+_vm._s(_vm.resetButtonLabel)+"\n ")]):_vm._e(),_vm._v(" "),(_vm.showSelectAllButton)?_c('gl-button',{staticClass:"!gl-m-0 !gl-w-auto gl-max-w-1/2 gl-flex-shrink-0 gl-text-ellipsis !gl-px-2 !gl-text-sm focus:!gl-focus-inset",attrs:{"category":"tertiary","size":"small","data-testid":"listbox-select-all-button"},on:{"click":_vm.onSelectAllButtonClicked}},[_vm._v("\n "+_vm._s(_vm.showSelectAllButtonLabel)+"\n ")]):_vm._e()],1):_vm._e(),_vm._v(" "),(_vm.searchable)?_c('div',{class:_vm.$options.HEADER_ITEMS_BORDER_CLASSES},[_c('gl-listbox-search-input',{ref:"searchBox",class:{ 'gl-listbox-topmost': !_vm.headerText },attrs:{"id":_vm.searchInputId,"data-testid":"listbox-search-input","role":"combobox","aria-expanded":String(visible),"aria-controls":_vm.listboxId,"aria-activedescendant":_vm.activeItemId,"aria-haspopup":"listbox","placeholder":_vm.searchPlaceholder},on:{"input":_vm.search,"keydown":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"enter",13,$event.key,"Enter")){ return null; }$event.preventDefault();},_vm.onKeydown]},model:{value:(_vm.searchStr),callback:function ($$v) {_vm.searchStr=$$v;},expression:"searchStr"}}),_vm._v(" "),(_vm.searching)?_c('gl-loading-icon',{staticClass:"gl-my-3",attrs:{"data-testid":"listbox-search-loader","size":"md"}}):_vm._e()],1):_vm._e(),_vm._v(" "),(_vm.showList)?_c(_vm.listboxTag,{ref:"list",tag:"component",staticClass:"gl-new-dropdown-contents gl-new-dropdown-contents-with-scrim-overlay",class:_vm.listboxClasses,attrs:{"id":_vm.listboxId,"aria-busy":_vm.isBusy,"aria-labelledby":_vm.
|
|
916
|
+
return [(_vm.headerText)?_c('div',{staticClass:"gl-flex gl-min-h-8 gl-items-center !gl-p-4",class:_vm.$options.HEADER_ITEMS_BORDER_CLASSES},[_c('div',{staticClass:"gl-grow gl-pr-2 gl-text-sm gl-font-bold gl-text-strong",attrs:{"id":_vm.headerId,"data-testid":"listbox-header-text"}},[_vm._v("\n "+_vm._s(_vm.headerText)+"\n ")]),_vm._v(" "),(_vm.showResetButton)?_c('gl-button',{staticClass:"!gl-m-0 !gl-w-auto gl-max-w-1/2 gl-flex-shrink-0 gl-text-ellipsis !gl-px-2 !gl-text-sm focus:!gl-focus-inset",attrs:{"category":"tertiary","size":"small","data-testid":"listbox-reset-button"},on:{"click":_vm.onResetButtonClicked}},[_vm._v("\n "+_vm._s(_vm.resetButtonLabel)+"\n ")]):_vm._e(),_vm._v(" "),(_vm.showSelectAllButton)?_c('gl-button',{staticClass:"!gl-m-0 !gl-w-auto gl-max-w-1/2 gl-flex-shrink-0 gl-text-ellipsis !gl-px-2 !gl-text-sm focus:!gl-focus-inset",attrs:{"category":"tertiary","size":"small","data-testid":"listbox-select-all-button"},on:{"click":_vm.onSelectAllButtonClicked}},[_vm._v("\n "+_vm._s(_vm.showSelectAllButtonLabel)+"\n ")]):_vm._e()],1):_vm._e(),_vm._v(" "),(_vm.searchable)?_c('div',{class:_vm.$options.HEADER_ITEMS_BORDER_CLASSES},[_c('gl-listbox-search-input',{ref:"searchBox",class:{ 'gl-listbox-topmost': !_vm.headerText },attrs:{"id":_vm.searchInputId,"data-testid":"listbox-search-input","role":"combobox","aria-expanded":String(visible),"aria-controls":_vm.listboxId,"aria-activedescendant":_vm.activeItemId,"aria-haspopup":"listbox","placeholder":_vm.searchPlaceholder},on:{"input":_vm.search,"keydown":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"enter",13,$event.key,"Enter")){ return null; }$event.preventDefault();},_vm.onKeydown]},model:{value:(_vm.searchStr),callback:function ($$v) {_vm.searchStr=$$v;},expression:"searchStr"}}),_vm._v(" "),(_vm.searching)?_c('gl-loading-icon',{staticClass:"gl-my-3",attrs:{"data-testid":"listbox-search-loader","size":"md"}}):_vm._e()],1):_vm._e(),_vm._v(" "),(_vm.showList)?_c(_vm.listboxTag,{ref:"list",tag:"component",staticClass:"gl-new-dropdown-contents gl-new-dropdown-contents-with-scrim-overlay",class:_vm.listboxClasses,attrs:{"id":_vm.listboxId,"aria-busy":_vm.isBusy,"aria-labelledby":_vm.listboxAriaLabelledByID,"aria-multiselectable":_vm.multiple ? 'true' : undefined,"role":"listbox","tabindex":"0"},on:{"keydown":_vm.onKeydown}},[_c(_vm.itemTag,{tag:"component",staticClass:"top-scrim-wrapper",attrs:{"aria-hidden":"true","data-testid":"top-scrim"}},[_c('div',{staticClass:"top-scrim",class:{ 'top-scrim-light': !_vm.hasHeader, 'top-scrim-dark': _vm.hasHeader }})]),_vm._v(" "),_c(_vm.itemTag,{ref:"top-boundary",tag:"component",attrs:{"aria-hidden":"true"}}),_vm._v(" "),_vm._l((_vm.items),function(item,index){return [(_vm.isOption(item))?[_c('gl-listbox-item',_vm._b({key:_vm.listboxItemKey(item),attrs:{"id":_vm.generateItemId(item),"data-testid":("listbox-item-" + (item.value)),"is-highlighted":_vm.isHighlighted(item),"is-selected":_vm.isSelected(item),"is-focused":_vm.isFocused(item),"is-check-centered":_vm.isCheckCentered},on:{"select":function($event){return _vm.onSelect(item, $event)}}},'gl-listbox-item',_vm.listboxItemMoreItemsAriaAttributes(index),false),[_vm._t("list-item",function(){return [_vm._v("\n "+_vm._s(item.text)+"\n ")]},{"item":item})],2)]:[_c('gl-listbox-group',{key:item.text,class:_vm.groupClasses(index),attrs:{"name":item.text,"text-sr-only":item.textSrOnly},scopedSlots:_vm._u([(_vm.$scopedSlots['group-label'])?{key:"group-label",fn:function(){return [_vm._t("group-label",null,{"group":item})]},proxy:true}:null],null,true)},[_vm._v(" "),_vm._l((item.options),function(option){return _c('gl-listbox-item',{key:_vm.listboxItemKey(option),attrs:{"id":_vm.generateItemId(option),"data-testid":("listbox-item-" + (option.value)),"is-highlighted":_vm.isHighlighted(option),"is-selected":_vm.isSelected(option),"is-focused":_vm.isFocused(option),"is-check-centered":_vm.isCheckCentered},on:{"select":function($event){return _vm.onSelect(option, $event)}}},[_vm._t("list-item",function(){return [_vm._v("\n "+_vm._s(option.text)+"\n ")]},{"item":option})],2)})],2)]]}),_vm._v(" "),(_vm.infiniteScrollLoading)?_c(_vm.itemTag,{tag:"component"},[_c('gl-loading-icon',{staticClass:"gl-my-3",attrs:{"data-testid":"listbox-infinite-scroll-loader","size":"md"}})],1):_vm._e(),_vm._v(" "),(_vm.showIntersectionObserver)?_c('gl-intersection-observer',{on:{"appear":_vm.onIntersectionObserverAppear}}):_vm._e(),_vm._v(" "),_c(_vm.itemTag,{ref:"bottom-boundary",tag:"component",attrs:{"aria-hidden":"true"}}),_vm._v(" "),_c(_vm.itemTag,{tag:"component",staticClass:"bottom-scrim-wrapper",attrs:{"aria-hidden":"true","data-testid":"bottom-scrim"}},[_c('div',{staticClass:"bottom-scrim",class:{ '!gl-rounded-none': _vm.hasFooter }})])],2):_vm._e(),_vm._v(" "),(_vm.announceSRSearchResults)?_c('span',{staticClass:"gl-sr-only",attrs:{"data-testid":"listbox-number-of-results","aria-live":"assertive"}},[_vm._t("search-summary-sr-only",function(){return [_vm._v("\n "+_vm._s(_vm.srOnlyResultsLabel(_vm.flattenedOptions.length))+"\n ")]})],2):_vm._e(),_vm._v(" "),(_vm.isBusy)?_c('span',{staticClass:"gl-sr-only",attrs:{"aria-live":"polite","data-testid":"listbox-loading-announcement"}},[_vm._v("\n "+_vm._s(_vm.loadingAnnouncementText)+"\n ")]):(_vm.showNoResultsText)?_c('div',{staticClass:"gl-py-3 gl-pl-7 gl-pr-5 gl-text-base gl-text-subtle",attrs:{"aria-live":"assertive","data-testid":"listbox-no-results-text"}},[_vm._v("\n "+_vm._s(_vm.noResultsText)+"\n ")]):_vm._e(),_vm._v(" "),_vm._t("footer")]}}],null,true)})};
|
|
880
917
|
var __vue_staticRenderFns__ = [];
|
|
881
918
|
|
|
882
919
|
/* style */
|