@gitlab/ui 66.33.0 → 66.35.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/CHANGELOG.md +14 -0
- package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown.js +13 -0
- package/dist/tokens/css/tokens.css +1 -1
- package/dist/tokens/css/tokens.dark.css +1 -1
- package/dist/tokens/js/tokens.dark.js +1 -1
- package/dist/tokens/js/tokens.js +1 -1
- package/dist/tokens/scss/_tokens.dark.scss +1 -1
- package/dist/tokens/scss/_tokens.scss +1 -1
- package/dist/utility_classes.css +1 -1
- package/dist/utility_classes.css.map +1 -1
- package/package.json +1 -1
- package/src/components/base/new_dropdowns/disclosure/disclosure_dropdown.spec.js +15 -0
- package/src/components/base/new_dropdowns/disclosure/disclosure_dropdown.stories.js +2 -31
- package/src/components/base/new_dropdowns/disclosure/disclosure_dropdown.vue +13 -0
- package/src/components/experimental/duo/chat/duo_chat.scss +1 -1
- package/src/scss/utilities.scss +8 -0
- package/src/scss/utility-mixins/z-index.scss +4 -0
package/package.json
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { mount } from '@vue/test-utils';
|
|
2
2
|
import { autoUpdate } from '@floating-ui/dom';
|
|
3
|
+
import { nextTick } from 'vue';
|
|
3
4
|
import * as utils from '../../../../utils/utils';
|
|
4
5
|
import GlBaseDropdown from '../base_dropdown/base_dropdown.vue';
|
|
5
6
|
import {
|
|
@@ -43,6 +44,7 @@ describe('GlDisclosureDropdown', () => {
|
|
|
43
44
|
const findDisclosureItems = (root = wrapper) => root.findAllComponents(GlDisclosureDropdownItem);
|
|
44
45
|
const findDisclosureGroups = () => wrapper.findAllComponents(GlDisclosureDropdownGroup);
|
|
45
46
|
const findListItem = (index) => findDisclosureItems().at(index).findComponent(ITEM_SELECTOR);
|
|
47
|
+
const findDropdownMenu = () => wrapper.find("[data-testid='base-dropdown-menu']");
|
|
46
48
|
|
|
47
49
|
jest.spyOn(utils, 'filterVisible').mockImplementation((items) => items);
|
|
48
50
|
|
|
@@ -387,4 +389,17 @@ describe('GlDisclosureDropdown', () => {
|
|
|
387
389
|
}
|
|
388
390
|
);
|
|
389
391
|
});
|
|
392
|
+
describe('startOpened', () => {
|
|
393
|
+
it('should open dropdown on render when startOpened is true', async () => {
|
|
394
|
+
buildWrapper({ items: mockItems, startOpened: true });
|
|
395
|
+
await nextTick();
|
|
396
|
+
expect(findDropdownMenu().classes()).toContain('gl-display-block!');
|
|
397
|
+
});
|
|
398
|
+
|
|
399
|
+
it('should not open dropdown on render as default', async () => {
|
|
400
|
+
buildWrapper({ items: mockItems });
|
|
401
|
+
await nextTick();
|
|
402
|
+
expect(findDropdownMenu().classes()).not.toContain('gl-display-block!');
|
|
403
|
+
});
|
|
404
|
+
});
|
|
390
405
|
});
|
|
@@ -44,17 +44,13 @@ const makeBindings = (overrides = {}) =>
|
|
|
44
44
|
':fluid-width': 'fluidWidth',
|
|
45
45
|
':auto-close': 'autoClose',
|
|
46
46
|
':positioning-strategy': 'positioningStrategy',
|
|
47
|
+
':start-opened': 'startOpened',
|
|
48
|
+
|
|
47
49
|
...overrides,
|
|
48
50
|
})
|
|
49
51
|
.map(([key, value]) => `${key}="${value}"`)
|
|
50
52
|
.join('\n');
|
|
51
53
|
|
|
52
|
-
function openDisclosure(component) {
|
|
53
|
-
component.$nextTick(() => {
|
|
54
|
-
component.$refs.disclosure.open();
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
|
|
58
54
|
const template = (content = '', { bindingOverrides = {}, after = '' } = {}) => `
|
|
59
55
|
<div>
|
|
60
56
|
<gl-disclosure-dropdown
|
|
@@ -75,11 +71,6 @@ export const Default = (args, { argTypes }) => ({
|
|
|
75
71
|
GlDisclosureDropdown,
|
|
76
72
|
GlTooltip,
|
|
77
73
|
},
|
|
78
|
-
mounted() {
|
|
79
|
-
if (this.startOpened) {
|
|
80
|
-
openDisclosure(this);
|
|
81
|
-
}
|
|
82
|
-
},
|
|
83
74
|
template: `
|
|
84
75
|
<div>
|
|
85
76
|
${template()}
|
|
@@ -105,11 +96,6 @@ export const CustomListItem = (args, { argTypes }) => ({
|
|
|
105
96
|
GlDisclosureDropdown,
|
|
106
97
|
GlBadge,
|
|
107
98
|
},
|
|
108
|
-
mounted() {
|
|
109
|
-
if (this.startOpened) {
|
|
110
|
-
openDisclosure(this);
|
|
111
|
-
}
|
|
112
|
-
},
|
|
113
99
|
template: template(
|
|
114
100
|
`
|
|
115
101
|
<template #list-item="{ item }">
|
|
@@ -147,11 +133,6 @@ const makeGroupedExample = (changes) => {
|
|
|
147
133
|
GlModal,
|
|
148
134
|
GlIcon,
|
|
149
135
|
},
|
|
150
|
-
mounted() {
|
|
151
|
-
if (this.startOpened) {
|
|
152
|
-
openDisclosure(this);
|
|
153
|
-
}
|
|
154
|
-
},
|
|
155
136
|
...changes,
|
|
156
137
|
});
|
|
157
138
|
|
|
@@ -177,11 +158,6 @@ export const CustomGroupsAndItems = (args, { argTypes }) => ({
|
|
|
177
158
|
GlDisclosureDropdown,
|
|
178
159
|
GlBadge,
|
|
179
160
|
},
|
|
180
|
-
mounted() {
|
|
181
|
-
if (this.startOpened) {
|
|
182
|
-
openDisclosure(this);
|
|
183
|
-
}
|
|
184
|
-
},
|
|
185
161
|
methods: {
|
|
186
162
|
getTotalMrs(items) {
|
|
187
163
|
return items.reduce((acc, item) => acc + item.count, 0);
|
|
@@ -312,11 +288,6 @@ export const MiscellaneousContent = (args, { argTypes }) => ({
|
|
|
312
288
|
components: {
|
|
313
289
|
GlDisclosureDropdown,
|
|
314
290
|
},
|
|
315
|
-
mounted() {
|
|
316
|
-
if (this.startOpened) {
|
|
317
|
-
openDisclosure(this);
|
|
318
|
-
}
|
|
319
|
-
},
|
|
320
291
|
template: template(
|
|
321
292
|
`
|
|
322
293
|
<div class="gl-p-3">A disclosure dropdown is a button that toggles a panel containing a list of items and/or links.</div>
|
|
@@ -219,6 +219,14 @@ export default {
|
|
|
219
219
|
default: POSITION_ABSOLUTE,
|
|
220
220
|
validator: (strategy) => [POSITION_ABSOLUTE, POSITION_FIXED].includes(strategy),
|
|
221
221
|
},
|
|
222
|
+
/**
|
|
223
|
+
* Opens dropdown on render
|
|
224
|
+
*/
|
|
225
|
+
startOpened: {
|
|
226
|
+
type: Boolean,
|
|
227
|
+
required: false,
|
|
228
|
+
default: false,
|
|
229
|
+
},
|
|
222
230
|
},
|
|
223
231
|
data() {
|
|
224
232
|
return {
|
|
@@ -237,6 +245,11 @@ export default {
|
|
|
237
245
|
return Boolean(this.$scopedSlots.toggle);
|
|
238
246
|
},
|
|
239
247
|
},
|
|
248
|
+
mounted() {
|
|
249
|
+
if (this.startOpened) {
|
|
250
|
+
this.open();
|
|
251
|
+
}
|
|
252
|
+
},
|
|
240
253
|
methods: {
|
|
241
254
|
open() {
|
|
242
255
|
this.$refs.baseDropdown.open();
|
package/src/scss/utilities.scss
CHANGED
|
@@ -9305,6 +9305,14 @@ $gl-animate-skeleton-loader-max-width: 64 * $grid-size;
|
|
|
9305
9305
|
z-index: 200 !important
|
|
9306
9306
|
}
|
|
9307
9307
|
|
|
9308
|
+
.gl-z-index-999 {
|
|
9309
|
+
z-index: 999
|
|
9310
|
+
}
|
|
9311
|
+
|
|
9312
|
+
.gl-z-index-999\! {
|
|
9313
|
+
z-index: 999 !important
|
|
9314
|
+
}
|
|
9315
|
+
|
|
9308
9316
|
.gl-z-index-9999 {
|
|
9309
9317
|
z-index: 9999
|
|
9310
9318
|
}
|