@gitlab/ui 52.9.3 → 52.11.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/base_dropdown/base_dropdown.js +23 -5
- package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown.js +291 -0
- package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown_group.js +90 -0
- package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown_item.js +107 -0
- package/dist/components/base/new_dropdowns/disclosure/mock_data.js +128 -0
- package/dist/components/base/new_dropdowns/disclosure/utils.js +15 -0
- package/dist/components/base/new_dropdowns/listbox/listbox.js +4 -4
- package/dist/components/base/new_dropdowns/listbox/listbox_group.js +1 -1
- package/dist/components/base/new_dropdowns/listbox/listbox_item.js +1 -1
- package/dist/components/charts/sparkline/sparkline.js +29 -12
- package/dist/index.css +2 -2
- package/dist/index.css.map +1 -1
- package/dist/index.js +3 -0
- package/package.json +2 -2
- package/src/components/base/new_dropdowns/base_dropdown/base_dropdown.spec.js +3 -3
- package/src/components/base/new_dropdowns/base_dropdown/base_dropdown.vue +21 -3
- package/src/components/base/new_dropdowns/disclosure/disclosure_dropdown.md +114 -0
- package/src/components/base/new_dropdowns/disclosure/disclosure_dropdown.scss +7 -0
- package/src/components/base/new_dropdowns/disclosure/disclosure_dropdown.spec.js +210 -0
- package/src/components/base/new_dropdowns/disclosure/disclosure_dropdown.stories.js +306 -0
- package/src/components/base/new_dropdowns/disclosure/disclosure_dropdown.vue +342 -0
- package/src/components/base/new_dropdowns/disclosure/disclosure_dropdown_group.spec.js +82 -0
- package/src/components/base/new_dropdowns/disclosure/disclosure_dropdown_group.vue +77 -0
- package/src/components/base/new_dropdowns/disclosure/disclosure_dropdown_item.spec.js +94 -0
- package/src/components/base/new_dropdowns/disclosure/disclosure_dropdown_item.vue +98 -0
- package/src/components/base/new_dropdowns/disclosure/mock_data.js +156 -0
- package/src/components/base/new_dropdowns/disclosure/utils.js +18 -0
- package/src/components/base/new_dropdowns/disclosure/utils.spec.js +73 -0
- package/src/components/base/new_dropdowns/dropdown.scss +6 -0
- package/src/components/base/new_dropdowns/listbox/listbox.scss +0 -6
- package/src/components/base/new_dropdowns/listbox/listbox.vue +4 -4
- package/src/components/base/new_dropdowns/listbox/listbox_group.vue +1 -1
- package/src/components/base/new_dropdowns/listbox/listbox_item.vue +1 -1
- package/src/components/charts/sparkline/sparkline.spec.js +25 -0
- package/src/components/charts/sparkline/sparkline.stories.js +9 -0
- package/src/components/charts/sparkline/sparkline.vue +28 -14
- package/src/index.js +3 -0
- package/src/scss/components.scss +2 -0
|
@@ -63,6 +63,8 @@ describe('sparkline chart component', () => {
|
|
|
63
63
|
return formatter;
|
|
64
64
|
};
|
|
65
65
|
|
|
66
|
+
const validateSmooth = (smooth) => SparklineChart.props.smooth.validator(smooth);
|
|
67
|
+
|
|
66
68
|
const emitChartCreated = () => getChart().vm.$emit('created', mockChartInstance);
|
|
67
69
|
|
|
68
70
|
beforeEach(() => {
|
|
@@ -178,6 +180,7 @@ describe('sparkline chart component', () => {
|
|
|
178
180
|
|
|
179
181
|
await wrapper.vm.$nextTick();
|
|
180
182
|
expect(getLastYValue().exists()).toBe(false);
|
|
183
|
+
expect(getChartOptions().series[0].markPoint).toBe(undefined);
|
|
181
184
|
});
|
|
182
185
|
|
|
183
186
|
it('gradient will set the series itemStyle color', async () => {
|
|
@@ -187,4 +190,26 @@ describe('sparkline chart component', () => {
|
|
|
187
190
|
|
|
188
191
|
expect(getChartOptions().series[0].itemStyle.color).toBeDefined();
|
|
189
192
|
});
|
|
193
|
+
|
|
194
|
+
describe('smooth', () => {
|
|
195
|
+
it.each`
|
|
196
|
+
value | expected
|
|
197
|
+
${-1} | ${false}
|
|
198
|
+
${0} | ${true}
|
|
199
|
+
${0.5} | ${true}
|
|
200
|
+
${1} | ${true}
|
|
201
|
+
${1.1} | ${false}
|
|
202
|
+
`(`validate $value`, ({ value, expected }) => {
|
|
203
|
+
expect(validateSmooth(value)).toBe(expected);
|
|
204
|
+
});
|
|
205
|
+
|
|
206
|
+
it('sets the series smoothing', async () => {
|
|
207
|
+
const smooth = 0.75;
|
|
208
|
+
wrapper.setProps({ smooth });
|
|
209
|
+
|
|
210
|
+
await wrapper.vm.$nextTick();
|
|
211
|
+
|
|
212
|
+
expect(getChartOptions().series[0].smooth).toBe(smooth);
|
|
213
|
+
});
|
|
214
|
+
});
|
|
190
215
|
});
|
|
@@ -24,12 +24,14 @@ const generateProps = ({
|
|
|
24
24
|
tooltipLabel = 'tooltipLabel',
|
|
25
25
|
showLastYValue = true,
|
|
26
26
|
gradient,
|
|
27
|
+
smooth,
|
|
27
28
|
} = {}) => ({
|
|
28
29
|
data,
|
|
29
30
|
height,
|
|
30
31
|
tooltipLabel,
|
|
31
32
|
showLastYValue,
|
|
32
33
|
gradient,
|
|
34
|
+
smooth,
|
|
33
35
|
});
|
|
34
36
|
|
|
35
37
|
const Template = (args) => ({
|
|
@@ -43,6 +45,7 @@ const Template = (args) => ({
|
|
|
43
45
|
:tooltip-label="tooltipLabel"
|
|
44
46
|
:show-last-y-value="showLastYValue"
|
|
45
47
|
:gradient="gradient"
|
|
48
|
+
:smooth="smooth"
|
|
46
49
|
/>
|
|
47
50
|
</div>`,
|
|
48
51
|
});
|
|
@@ -50,9 +53,15 @@ const Template = (args) => ({
|
|
|
50
53
|
export const Default = Template.bind({});
|
|
51
54
|
Default.args = generateProps();
|
|
52
55
|
|
|
56
|
+
export const WithoutLastYValue = Template.bind({});
|
|
57
|
+
WithoutLastYValue.args = generateProps({ showLastYValue: false });
|
|
58
|
+
|
|
53
59
|
export const WithChartColorGradient = Template.bind({});
|
|
54
60
|
WithChartColorGradient.args = generateProps({ gradient: customGradient });
|
|
55
61
|
|
|
62
|
+
export const WithSmoothing = Template.bind({});
|
|
63
|
+
WithSmoothing.args = generateProps({ smooth: 0.5 });
|
|
64
|
+
|
|
56
65
|
export default {
|
|
57
66
|
title: 'charts/sparkline-chart',
|
|
58
67
|
component: GlSparklineChart,
|
|
@@ -72,6 +72,15 @@ export default {
|
|
|
72
72
|
required: false,
|
|
73
73
|
default: () => [],
|
|
74
74
|
},
|
|
75
|
+
/**
|
|
76
|
+
* The smoothness of the line, valued from 0 to 1. A smaller value makes it less smooth.
|
|
77
|
+
*/
|
|
78
|
+
smooth: {
|
|
79
|
+
type: Number,
|
|
80
|
+
required: false,
|
|
81
|
+
default: 0,
|
|
82
|
+
validator: (x) => x >= 0 && x <= 1,
|
|
83
|
+
},
|
|
75
84
|
},
|
|
76
85
|
data() {
|
|
77
86
|
return {
|
|
@@ -120,7 +129,21 @@ export default {
|
|
|
120
129
|
return mergeSeriesToOptions(mergedOptions, this.series);
|
|
121
130
|
},
|
|
122
131
|
series() {
|
|
123
|
-
const { data } = this;
|
|
132
|
+
const { data, smooth, itemStyle, showLastYValue } = this;
|
|
133
|
+
const markPoint = showLastYValue
|
|
134
|
+
? {
|
|
135
|
+
symbol: 'circle',
|
|
136
|
+
cursor: 'auto',
|
|
137
|
+
animation: false,
|
|
138
|
+
symbolSize,
|
|
139
|
+
data: [
|
|
140
|
+
{
|
|
141
|
+
xAxis: data.length - 1,
|
|
142
|
+
yAxis: data[data.length - 1][1],
|
|
143
|
+
},
|
|
144
|
+
],
|
|
145
|
+
}
|
|
146
|
+
: undefined;
|
|
124
147
|
return {
|
|
125
148
|
type: 'line',
|
|
126
149
|
symbol: 'circle',
|
|
@@ -128,20 +151,11 @@ export default {
|
|
|
128
151
|
animation: true,
|
|
129
152
|
cursor: 'auto',
|
|
130
153
|
symbolSize,
|
|
131
|
-
markPoint
|
|
132
|
-
symbol: 'circle',
|
|
133
|
-
cursor: 'auto',
|
|
134
|
-
animation: false,
|
|
135
|
-
symbolSize,
|
|
136
|
-
data: [
|
|
137
|
-
{
|
|
138
|
-
xAxis: data.length - 1,
|
|
139
|
-
yAxis: data[data.length - 1][1],
|
|
140
|
-
},
|
|
141
|
-
],
|
|
142
|
-
},
|
|
154
|
+
markPoint,
|
|
143
155
|
data,
|
|
144
|
-
|
|
156
|
+
smooth,
|
|
157
|
+
itemStyle,
|
|
158
|
+
lineStyle: { cap: 'round' },
|
|
145
159
|
};
|
|
146
160
|
},
|
|
147
161
|
itemStyle() {
|
package/src/index.js
CHANGED
|
@@ -57,6 +57,9 @@ export {
|
|
|
57
57
|
default as GlCollapsibleListbox,
|
|
58
58
|
} from './components/base/new_dropdowns/listbox/listbox.vue';
|
|
59
59
|
export { default as GlListboxItem } from './components/base/new_dropdowns/listbox/listbox_item.vue';
|
|
60
|
+
export { default as GlDisclosureDropdown } from './components/base/new_dropdowns/disclosure/disclosure_dropdown.vue';
|
|
61
|
+
export { default as GlDisclosureDropdownItem } from './components/base/new_dropdowns/disclosure/disclosure_dropdown_item.vue';
|
|
62
|
+
export { default as GlDisclosureDropdownGroup } from './components/base/new_dropdowns/disclosure/disclosure_dropdown_group.vue';
|
|
60
63
|
// new components aiming to replace GlDropdown - end
|
|
61
64
|
export { default as GlPath } from './components/base/path/path.vue';
|
|
62
65
|
export { default as GlTable } from './components/base/table/table.vue';
|
package/src/scss/components.scss
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
// @import '../components/base/dropdown/dropdown'
|
|
4
4
|
//
|
|
5
5
|
// ADD COMPONENT IMPORTS - needed for yarn generate:component. Do not remove
|
|
6
|
+
@import '../components/base/new_dropdowns/disclosure/disclosure_dropdown';
|
|
6
7
|
@import '../components/base/keyset_pagination/keyset_pagination';
|
|
7
8
|
@import '../components/charts/gauge/gauge';
|
|
8
9
|
@import '../components/base/token_selector/token_selector';
|
|
@@ -75,4 +76,5 @@
|
|
|
75
76
|
@import '../components/shared_components/charts/tooltip_default_format';
|
|
76
77
|
@import '../components/utilities/truncate/truncate';
|
|
77
78
|
@import '../components/base/new_dropdowns/base_dropdown/base_dropdown';
|
|
79
|
+
@import '../components/base/new_dropdowns/dropdown';
|
|
78
80
|
@import '../components/base/new_dropdowns/listbox/listbox';
|