@gitlab/ui 32.45.0 → 32.48.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.
Files changed (139) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/config.js +15 -3
  3. package/dist/components/base/avatar_labeled/avatar_labeled.documentation.js +2 -9
  4. package/dist/components/base/avatars_inline/avatars_inline.documentation.js +2 -5
  5. package/dist/components/base/form/form_combobox/form_combobox.documentation.js +2 -9
  6. package/dist/components/base/form/form_combobox/form_combobox.js +5 -0
  7. package/dist/components/base/form/form_group/form_group.js +11 -1
  8. package/dist/components/base/form/input_group_text/input_group_text.documentation.js +1 -5
  9. package/dist/components/base/label/label.documentation.js +2 -9
  10. package/dist/components/base/label/label.js +23 -1
  11. package/dist/components/base/skeleton_loader/skeleton_loader.documentation.js +2 -28
  12. package/dist/components/base/skeleton_loader/skeleton_loader.js +30 -0
  13. package/dist/components/charts/discrete_scatter/discrete_scatter.documentation.js +1 -7
  14. package/dist/components/charts/gauge/gauge.documentation.js +2 -6
  15. package/dist/components/charts/stacked_column/stacked_column.documentation.js +2 -5
  16. package/dist/components/charts/tooltip/tooltip.documentation.js +1 -5
  17. package/dist/components/utilities/intersperse/intersperse.documentation.js +2 -5
  18. package/dist/config.js +15 -3
  19. package/dist/index.css +1 -1
  20. package/dist/index.css.map +1 -1
  21. package/documentation/documented_stories.js +11 -0
  22. package/package.json +1 -1
  23. package/src/components/base/avatar_labeled/avatar_labeled.documentation.js +0 -9
  24. package/src/components/base/avatar_labeled/avatar_labeled.md +2 -5
  25. package/src/components/base/avatar_labeled/avatar_labeled.stories.js +68 -62
  26. package/src/components/base/avatar_labeled/avatar_labeled.vue +1 -0
  27. package/src/components/base/avatars_inline/avatars_inline.documentation.js +0 -2
  28. package/src/components/base/avatars_inline/avatars_inline.md +1 -3
  29. package/src/components/base/avatars_inline/avatars_inline.stories.js +49 -44
  30. package/src/components/base/form/form_combobox/form_combobox.documentation.js +0 -8
  31. package/src/components/base/form/form_combobox/form_combobox.md +0 -2
  32. package/src/components/base/form/form_combobox/form_combobox.stories.js +30 -30
  33. package/src/components/base/form/form_combobox/form_combobox.vue +4 -0
  34. package/src/components/base/form/form_group/form_group.scss +4 -0
  35. package/src/components/base/form/form_group/form_group.spec.js +66 -64
  36. package/src/components/base/form/form_group/form_group.stories.js +36 -13
  37. package/src/components/base/form/form_group/form_group.vue +15 -2
  38. package/src/components/base/form/input_group_text/input_group_text.documentation.js +0 -3
  39. package/src/components/base/form/input_group_text/input_group_text.stories.js +24 -18
  40. package/src/components/base/label/label.documentation.js +2 -12
  41. package/src/components/base/label/label.md +2 -7
  42. package/src/components/base/label/label.stories.js +66 -92
  43. package/src/components/base/label/label.vue +22 -2
  44. package/src/components/base/skeleton_loader/skeleton_loader.documentation.js +0 -27
  45. package/src/components/base/skeleton_loader/skeleton_loader.md +0 -2
  46. package/src/components/base/skeleton_loader/skeleton_loader.stories.js +23 -9
  47. package/src/components/base/skeleton_loader/skeleton_loader.vue +24 -0
  48. package/src/components/charts/discrete_scatter/discrete_scatter.documentation.js +0 -5
  49. package/src/components/charts/discrete_scatter/discrete_scatter.stories.js +34 -46
  50. package/src/components/charts/gauge/gauge.documentation.js +0 -3
  51. package/src/components/charts/gauge/gauge.md +0 -2
  52. package/src/components/charts/gauge/gauge.stories.js +70 -86
  53. package/src/components/charts/stacked_column/stacked_column.documentation.js +0 -2
  54. package/src/components/charts/stacked_column/stacked_column.md +0 -2
  55. package/src/components/charts/stacked_column/stacked_column.stories.js +74 -99
  56. package/src/components/charts/tooltip/tooltip.documentation.js +0 -3
  57. package/src/components/charts/tooltip/tooltip.stories.js +59 -44
  58. package/src/components/utilities/intersperse/intersperse.documentation.js +0 -2
  59. package/src/components/utilities/intersperse/intersperse.md +0 -2
  60. package/src/components/utilities/intersperse/intersperse.stories.js +38 -38
  61. package/dist/components/base/avatar_labeled/examples/avatar.labeled.example.js +0 -38
  62. package/dist/components/base/avatar_labeled/examples/avatar.labeled_badges.example.js +0 -38
  63. package/dist/components/base/avatar_labeled/examples/avatar.labeled_links.example.js +0 -38
  64. package/dist/components/base/avatar_labeled/examples/avatar.labeled_tooltip.example.js +0 -38
  65. package/dist/components/base/avatar_labeled/examples/index.js +0 -31
  66. package/dist/components/base/avatars_inline/examples/avatars.inline.example.js +0 -58
  67. package/dist/components/base/avatars_inline/examples/avatars.inline_large.example.js +0 -58
  68. package/dist/components/base/avatars_inline/examples/avatars.inline_links_and_tooltips.example.js +0 -70
  69. package/dist/components/base/avatars_inline/examples/avatars.inline_links_and_tooltips_badge.example.js +0 -70
  70. package/dist/components/base/avatars_inline/examples/index.js +0 -31
  71. package/dist/components/base/form/form_combobox/examples/form_combobox.basic.example.js +0 -50
  72. package/dist/components/base/form/form_combobox/examples/index.js +0 -13
  73. package/dist/components/base/form/input_group_text/examples/index.js +0 -13
  74. package/dist/components/base/form/input_group_text/examples/input_group_text.basic.example.js +0 -38
  75. package/dist/components/base/label/examples/index.js +0 -19
  76. package/dist/components/base/label/examples/label.basic.example.js +0 -38
  77. package/dist/components/base/label/examples/label.scoped.example.js +0 -38
  78. package/dist/components/base/skeleton_loader/examples/ci_header_skeleton.basic.example.js +0 -38
  79. package/dist/components/base/skeleton_loader/examples/default_skeleton.basic.example.js +0 -38
  80. package/dist/components/base/skeleton_loader/examples/default_skeleton_custom_props.basic.example.js +0 -38
  81. package/dist/components/base/skeleton_loader/examples/index.js +0 -37
  82. package/dist/components/base/skeleton_loader/examples/issue_card_skeleton.basic.example.js +0 -38
  83. package/dist/components/base/skeleton_loader/examples/job_log_skeleton.basic.example.js +0 -38
  84. package/dist/components/charts/discrete_scatter/examples/discrete_scatter.basic.example.js +0 -51
  85. package/dist/components/charts/discrete_scatter/examples/index.js +0 -13
  86. package/dist/components/charts/gauge/examples/gauge.basic.example.js +0 -38
  87. package/dist/components/charts/gauge/examples/gauge.no_thresholds.example.js +0 -38
  88. package/dist/components/charts/gauge/examples/gauge.no_value.example.js +0 -38
  89. package/dist/components/charts/gauge/examples/gauge.with_text.example.js +0 -38
  90. package/dist/components/charts/gauge/examples/index.js +0 -31
  91. package/dist/components/charts/stacked_column/examples/index.js +0 -13
  92. package/dist/components/charts/stacked_column/examples/stacked_column.basic.example.js +0 -46
  93. package/dist/components/charts/tooltip/examples/chart_tooltip.basic.example.js +0 -54
  94. package/dist/components/charts/tooltip/examples/index.js +0 -13
  95. package/dist/components/utilities/intersperse/examples/index.js +0 -31
  96. package/dist/components/utilities/intersperse/examples/intersperse.custom_last_separator.example.js +0 -38
  97. package/dist/components/utilities/intersperse/examples/intersperse.custom_last_separator_two_items.example.js +0 -38
  98. package/dist/components/utilities/intersperse/examples/intersperse.custom_separator.example.js +0 -38
  99. package/dist/components/utilities/intersperse/examples/intersperse.default.example.js +0 -38
  100. package/src/components/base/avatar_labeled/examples/avatar.labeled.example.vue +0 -8
  101. package/src/components/base/avatar_labeled/examples/avatar.labeled_badges.example.vue +0 -17
  102. package/src/components/base/avatar_labeled/examples/avatar.labeled_links.example.vue +0 -10
  103. package/src/components/base/avatar_labeled/examples/avatar.labeled_tooltip.example.vue +0 -10
  104. package/src/components/base/avatar_labeled/examples/index.js +0 -36
  105. package/src/components/base/avatars_inline/examples/avatars.inline.example.vue +0 -18
  106. package/src/components/base/avatars_inline/examples/avatars.inline_large.example.vue +0 -18
  107. package/src/components/base/avatars_inline/examples/avatars.inline_links_and_tooltips.example.vue +0 -24
  108. package/src/components/base/avatars_inline/examples/avatars.inline_links_and_tooltips_badge.example.vue +0 -31
  109. package/src/components/base/avatars_inline/examples/index.js +0 -36
  110. package/src/components/base/form/form_combobox/examples/form_combobox.basic.example.vue +0 -31
  111. package/src/components/base/form/form_combobox/examples/index.js +0 -15
  112. package/src/components/base/form/input_group_text/examples/index.js +0 -15
  113. package/src/components/base/form/input_group_text/examples/input_group_text.basic.example.vue +0 -3
  114. package/src/components/base/label/examples/index.js +0 -22
  115. package/src/components/base/label/examples/label.basic.example.vue +0 -3
  116. package/src/components/base/label/examples/label.scoped.example.vue +0 -3
  117. package/src/components/base/skeleton_loader/examples/ci_header_skeleton.basic.example.vue +0 -10
  118. package/src/components/base/skeleton_loader/examples/default_skeleton.basic.example.vue +0 -3
  119. package/src/components/base/skeleton_loader/examples/default_skeleton_custom_props.basic.example.vue +0 -9
  120. package/src/components/base/skeleton_loader/examples/index.js +0 -44
  121. package/src/components/base/skeleton_loader/examples/issue_card_skeleton.basic.example.vue +0 -26
  122. package/src/components/base/skeleton_loader/examples/job_log_skeleton.basic.example.vue +0 -13
  123. package/src/components/charts/discrete_scatter/discrete_scatter.md +0 -1
  124. package/src/components/charts/discrete_scatter/examples/discrete_scatter.basic.example.vue +0 -31
  125. package/src/components/charts/discrete_scatter/examples/index.js +0 -15
  126. package/src/components/charts/gauge/examples/gauge.basic.example.vue +0 -5
  127. package/src/components/charts/gauge/examples/gauge.no_thresholds.example.vue +0 -5
  128. package/src/components/charts/gauge/examples/gauge.no_value.example.vue +0 -5
  129. package/src/components/charts/gauge/examples/gauge.with_text.example.vue +0 -12
  130. package/src/components/charts/gauge/examples/index.js +0 -36
  131. package/src/components/charts/stacked_column/examples/index.js +0 -15
  132. package/src/components/charts/stacked_column/examples/stacked_column.basic.example.vue +0 -18
  133. package/src/components/charts/tooltip/examples/chart_tooltip.basic.example.vue +0 -32
  134. package/src/components/charts/tooltip/examples/index.js +0 -15
  135. package/src/components/utilities/intersperse/examples/index.js +0 -36
  136. package/src/components/utilities/intersperse/examples/intersperse.custom_last_separator.example.vue +0 -7
  137. package/src/components/utilities/intersperse/examples/intersperse.custom_last_separator_two_items.example.vue +0 -6
  138. package/src/components/utilities/intersperse/examples/intersperse.custom_separator.example.vue +0 -7
  139. package/src/components/utilities/intersperse/examples/intersperse.default.example.vue +0 -7
@@ -1,13 +1,9 @@
1
- import { withKnobs, object, text } from '@storybook/addon-knobs';
2
1
  import { GlDiscreteScatterChart } from '../../../../charts';
3
- import { documentedStoriesOf } from '../../../../documentation/documented_stories';
4
- import readme from './discrete_scatter.md';
5
2
 
6
- const components = {
7
- GlDiscreteScatterChart,
8
- };
9
-
10
- const template = `
3
+ const Template = (args, { argTypes }) => ({
4
+ components: { GlDiscreteScatterChart },
5
+ props: Object.keys(argTypes),
6
+ template: `
11
7
  <gl-discrete-scatter-chart
12
8
  :data="data"
13
9
  :option="option"
@@ -15,9 +11,10 @@ const template = `
15
11
  :x-axis-title="xAxisTitle"
16
12
  data-testid="discrete-scatter-chart"
17
13
  />
18
- `;
14
+ `,
15
+ });
19
16
 
20
- function generateProps({
17
+ const generateProps = ({
21
18
  data = [
22
19
  {
23
20
  type: 'scatter',
@@ -35,41 +32,32 @@ function generateProps({
35
32
  option = {},
36
33
  yAxisTitle = 'Pushes per day',
37
34
  xAxisTitle = 'Date',
38
- } = {}) {
39
- return {
40
- data: {
41
- default: object('Chart Data', data),
42
- },
43
- option: {
44
- default: object('EChart Options', option),
45
- },
46
- yAxisTitle: {
47
- default: text('Y Axis Title', yAxisTitle),
48
- },
49
- xAxisTitle: {
50
- default: text('X Axis Title', xAxisTitle),
51
- },
52
- };
53
- }
35
+ } = {}) => ({
36
+ data,
37
+ option,
38
+ yAxisTitle,
39
+ xAxisTitle,
40
+ });
41
+
42
+ export const Default = Template.bind({});
43
+ Default.args = generateProps();
54
44
 
55
- documentedStoriesOf('charts/discrete-scatter-chart', readme)
56
- .addDecorator(withKnobs)
57
- .add('default', () => ({
58
- props: generateProps(),
59
- components,
60
- template,
61
- }))
62
- .add('with zoom and scroll', () => ({
63
- props: generateProps({
64
- option: {
65
- dataZoom: [
66
- {
67
- type: 'slider',
68
- startValue: 1,
69
- },
70
- ],
45
+ export const WithZoomAndScroll = Template.bind({});
46
+ WithZoomAndScroll.args = generateProps({
47
+ option: {
48
+ dataZoom: [
49
+ {
50
+ type: 'slider',
51
+ startValue: 1,
71
52
  },
72
- }),
73
- components,
74
- template,
75
- }));
53
+ ],
54
+ },
55
+ });
56
+
57
+ export default {
58
+ title: 'charts/discrete-scatter-chart',
59
+ component: GlDiscreteScatterChart,
60
+ parameters: {
61
+ knobs: { disable: true },
62
+ },
63
+ };
@@ -1,8 +1,5 @@
1
- import examples from './examples';
2
1
  import * as description from './gauge.md';
3
2
 
4
3
  export default {
5
4
  description,
6
- examples,
7
- propsInfo: {},
8
5
  };
@@ -1,5 +1,3 @@
1
- ### Gauge Chart
2
-
3
1
  Some layout problems can be encountered with this component. Specifically, when the gauge chart's
4
2
  axis labels or detail text have larger widths, they can overlap with the chart elements.
5
3
 
@@ -1,5 +1,3 @@
1
- import { withKnobs, object, number, text as textKnob, array } from '@storybook/addon-knobs';
2
- import { documentedStoriesOf } from '../../../../documentation/documented_stories';
3
1
  import { toolbox } from '../../../utils/charts/story_config';
4
2
  import readme from './gauge.md';
5
3
  import GlGauge from './gauge.vue';
@@ -16,7 +14,7 @@ const template = `
16
14
  />
17
15
  `;
18
16
 
19
- function generateProps({
17
+ const generateProps = ({
20
18
  value = 48,
21
19
  min = 0,
22
20
  max = 100,
@@ -24,88 +22,74 @@ function generateProps({
24
22
  option = {},
25
23
  thresholds = [38, 82],
26
24
  splitNumber = 10,
27
- } = {}) {
28
- return {
29
- option: {
30
- default: object('EChart Options', option),
31
- },
32
- value: {
33
- default: number('Value', value),
34
- },
35
- min: {
36
- default: number('Min', min),
37
- },
38
- max: {
39
- default: number('Max', max),
40
- },
41
- thresholds: {
42
- default: array('Thresholds', thresholds),
43
- },
44
- text: {
45
- default: textKnob('Detail Text', text),
46
- },
47
- splitNumber: {
48
- default: number('Split Number', splitNumber),
49
- },
50
- };
51
- }
25
+ } = {}) => ({
26
+ option,
27
+ value,
28
+ min,
29
+ max,
30
+ thresholds,
31
+ text,
32
+ splitNumber,
33
+ });
34
+
35
+ const Template = (args, { argTypes }) => ({
36
+ components: { GlGauge },
37
+ props: Object.keys(argTypes),
38
+ template,
39
+ });
52
40
 
53
- documentedStoriesOf('charts/gauge-chart', readme)
54
- .addDecorator(withKnobs)
55
- .add('default', () => ({
56
- props: generateProps(),
57
- components: { GlGauge },
58
- template,
59
- }))
60
- .add('one threshold', () => ({
61
- props: generateProps({
62
- value: 65,
63
- thresholds: [85],
64
- }),
65
- components: { GlGauge },
66
- template,
67
- }))
68
- .add('two thresholds', () => ({
69
- props: generateProps({
70
- value: 90,
71
- thresholds: [60, 85],
72
- }),
73
- components: { GlGauge },
74
- template,
75
- }))
76
- .add('no thresholds', () => ({
77
- props: generateProps({
78
- value: 90,
79
- thresholds: [],
80
- }),
81
- components: { GlGauge },
82
- template,
83
- }))
84
- .add('with custom detail text', () => ({
85
- props: generateProps({
86
- value: 90,
87
- text: '90Mbps',
88
- thresholds: [60, 85],
89
- }),
90
- components: { GlGauge },
91
- template,
92
- }))
93
- .add('with NaN values', () => ({
94
- props: generateProps({
95
- min: 'not a number value',
96
- max: 'not a number value',
97
- value: 'not a number value',
98
- thresholds: [60, 85],
99
- }),
100
- components: { GlGauge },
101
- template,
102
- }))
103
- .add('with toolbox', () => ({
104
- props: generateProps({
105
- option: {
106
- toolbox,
41
+ export const Default = Template.bind({});
42
+ Default.args = generateProps();
43
+
44
+ export const OneThreshold = Template.bind({});
45
+ OneThreshold.args = generateProps({
46
+ value: 65,
47
+ thresholds: [85],
48
+ });
49
+
50
+ export const TwoThresholds = Template.bind({});
51
+ TwoThresholds.args = generateProps({
52
+ value: 90,
53
+ thresholds: [60, 85],
54
+ });
55
+
56
+ export const NoThresholds = Template.bind({});
57
+ NoThresholds.args = generateProps({
58
+ value: 90,
59
+ thresholds: [],
60
+ });
61
+
62
+ export const WithCustomDetailText = Template.bind({});
63
+ WithCustomDetailText.args = generateProps({
64
+ value: 90,
65
+ text: '90Mbps',
66
+ thresholds: [60, 85],
67
+ });
68
+
69
+ export const WithNaNValues = Template.bind({});
70
+ WithNaNValues.args = generateProps({
71
+ min: 'not a number value',
72
+ max: 'not a number value',
73
+ value: 'not a number value',
74
+ thresholds: [60, 85],
75
+ });
76
+
77
+ export const WithToolbox = Template.bind({});
78
+ WithToolbox.args = generateProps({
79
+ option: {
80
+ toolbox,
81
+ },
82
+ });
83
+
84
+ export default {
85
+ title: 'charts/gauge-chart',
86
+ component: GlGauge,
87
+ parameters: {
88
+ knobs: { disable: true },
89
+ docs: {
90
+ description: {
91
+ component: readme,
107
92
  },
108
- }),
109
- components: { GlGauge },
110
- template,
111
- }));
93
+ },
94
+ },
95
+ };
@@ -1,8 +1,6 @@
1
- import examples from './examples';
2
1
  import description from './stacked_column.md';
3
2
 
4
3
  export default {
5
4
  followsDesignSystem: false,
6
5
  description,
7
- examples,
8
6
  };
@@ -1,5 +1,3 @@
1
- # Stacked Column Chart
2
-
3
1
  The `presentation` property allows you to change between a stacked and tiled presentation style. It
4
2
  is only setup to accept `stacked` or `tiled` as values, the default value is `tiled`.
5
3
 
@@ -1,6 +1,4 @@
1
- import { withKnobs, object, text, array, select } from '@storybook/addon-knobs';
2
1
  import { GlStackedColumnChart } from '../../../../charts';
3
- import { documentedStoriesOf } from '../../../../documentation/documented_stories';
4
2
  import {
5
3
  mockDefaultStackedLineData,
6
4
  mockDefaultStackedBarData,
@@ -10,10 +8,6 @@ import { toolbox } from '../../../utils/charts/story_config';
10
8
  import { columnOptions } from '../../../utils/constants';
11
9
  import readme from './stacked_column.md';
12
10
 
13
- const components = {
14
- GlStackedColumnChart,
15
- };
16
-
17
11
  const template = `
18
12
  <gl-stacked-column-chart
19
13
  :bars="bars"
@@ -31,7 +25,7 @@ const template = `
31
25
 
32
26
  const mockSecondaryDataTitle = 'Merges';
33
27
 
34
- function generateProps({
28
+ const generateProps = ({
35
29
  bars = mockDefaultStackedBarData,
36
30
  lines = [],
37
31
  option = {},
@@ -42,98 +36,79 @@ function generateProps({
42
36
  presentation = columnOptions.stacked,
43
37
  secondaryData = [],
44
38
  secondaryDataTitle = '',
45
- } = {}) {
46
- return {
47
- bars: {
48
- default: object('Bar chart Data', bars),
49
- },
50
- lines: {
51
- default: object('Line chart Data', lines),
52
- },
53
- option: {
54
- default: object('Echart Options', option),
55
- },
56
- presentation: {
57
- default: select('presentation', columnOptions, presentation),
58
- },
59
- groupBy: {
60
- default: array('Group By', groupBy),
61
- },
62
- xAxisType: {
63
- default: text('X Axis Type', xAxisType),
64
- },
65
- xAxisTitle: {
66
- default: text('X Axis Title', xAxisTitle),
67
- },
68
- yAxisTitle: {
69
- default: text('Y Axis Title', yAxisTitle),
70
- },
71
- secondaryDataTitle: {
72
- default: text('Secondary Data Title', secondaryDataTitle),
73
- },
74
- secondaryData: {
75
- default: object('Secondary Data', secondaryData),
76
- },
77
- };
78
- }
39
+ } = {}) => ({
40
+ bars,
41
+ lines,
42
+ option,
43
+ presentation,
44
+ groupBy,
45
+ xAxisType,
46
+ xAxisTitle,
47
+ yAxisTitle,
48
+ secondaryDataTitle,
49
+ secondaryData,
50
+ });
79
51
 
80
- documentedStoriesOf('charts/stacked-column-chart', readme)
81
- .addDecorator(withKnobs)
82
- .add('stacked', () => ({
83
- props: generateProps(),
84
- components,
85
- template,
86
- }))
87
- .add('tiled', () => ({
88
- props: generateProps({ presentation: columnOptions.tiled }),
89
- components,
90
- template,
91
- }))
92
- .add('stacked with line data', () => ({
93
- props: generateProps({ lines: mockDefaultStackedLineData }),
94
- components,
95
- template,
96
- }))
97
- .add('tiled with line data', () => ({
98
- props: generateProps({ presentation: columnOptions.tiled, lines: mockDefaultStackedLineData }),
99
- components,
100
- template,
101
- }))
102
- .add('with zoom and scroll', () => ({
103
- props: generateProps({
104
- option: {
105
- dataZoom: [
106
- {
107
- startValue: 1,
108
- },
109
- ],
52
+ const Template = (args, { argTypes }) => ({
53
+ components: { GlStackedColumnChart },
54
+ props: Object.keys(argTypes),
55
+ template,
56
+ });
57
+
58
+ export const Stacked = Template.bind({});
59
+ Stacked.args = generateProps();
60
+
61
+ export const Tiled = Template.bind({});
62
+ Tiled.args = generateProps({ presentation: columnOptions.tiled });
63
+
64
+ export const StackedWithLineData = Template.bind({});
65
+ StackedWithLineData.args = generateProps({ lines: mockDefaultStackedLineData });
66
+
67
+ export const TiledWithLineData = Template.bind({});
68
+ TiledWithLineData.args = generateProps({
69
+ presentation: columnOptions.tiled,
70
+ lines: mockDefaultStackedLineData,
71
+ });
72
+
73
+ export const WithZoomAndScroll = Template.bind({});
74
+ WithZoomAndScroll.args = generateProps({
75
+ option: {
76
+ dataZoom: [
77
+ {
78
+ startValue: 1,
110
79
  },
111
- }),
112
- components,
113
- template,
114
- }))
115
- .add('with toolbox', () => ({
116
- props: generateProps({
117
- option: {
118
- toolbox,
80
+ ],
81
+ },
82
+ });
83
+
84
+ export const WithToolbox = Template.bind({});
85
+ WithToolbox.args = generateProps({
86
+ option: {
87
+ toolbox,
88
+ },
89
+ });
90
+
91
+ export const SecondaryYAxis = Template.bind({});
92
+ SecondaryYAxis.args = generateProps({
93
+ secondaryData: mockSecondaryData,
94
+ secondaryDataTitle: mockSecondaryDataTitle,
95
+ });
96
+
97
+ export const SecondaryYAxisLine = Template.bind({});
98
+ SecondaryYAxisLine.args = generateProps({
99
+ secondaryData: [{ ...mockSecondaryData[0], type: 'line' }],
100
+ secondaryDataTitle: mockSecondaryDataTitle,
101
+ });
102
+
103
+ export default {
104
+ title: 'charts/stacked-column-chart',
105
+ component: GlStackedColumnChart,
106
+ parameters: {
107
+ knobs: { disable: true },
108
+ docs: {
109
+ description: {
110
+ component: readme,
119
111
  },
120
- }),
121
- components,
122
- template,
123
- }))
124
- .add('secondary Y axis', () => ({
125
- props: generateProps({
126
- secondaryData: mockSecondaryData,
127
- secondaryDataTitle: mockSecondaryDataTitle,
128
- }),
129
- components,
130
- template,
131
- }))
132
- .add('secondary Y axis line', () => ({
133
- props: generateProps({
134
- secondaryData: [{ ...mockSecondaryData[0], type: 'line' }],
135
- secondaryDataTitle: mockSecondaryDataTitle,
136
- }),
137
- components,
138
- template,
139
- }));
112
+ },
113
+ },
114
+ };
@@ -1,9 +1,6 @@
1
- import examples from './examples';
2
1
  import description from './tooltip.md';
3
2
 
4
3
  export default {
5
4
  followsDesignSystem: false,
6
5
  description,
7
- examples,
8
- bootstrapComponent: 'b-popover',
9
6
  };
@@ -1,11 +1,9 @@
1
1
  import { GlChart, GlChartTooltip, GlChartSeriesLabel } from '../../../../charts';
2
- import { documentedStoriesOf } from '../../../../documentation/documented_stories';
3
2
  import {
4
3
  SERIES_NAME,
5
4
  SERIES_NAME_LONG,
6
5
  SERIES_NAME_LONG_WITHOUT_SPACES,
7
6
  } from '../../../utils/stories_utils';
8
-
9
7
  import readme from './tooltip.md';
10
8
 
11
9
  const components = {
@@ -33,10 +31,9 @@ const baseStoryOptions = {
33
31
  },
34
32
  };
35
33
 
36
- const getStoryOptions = (tooltipContent) => {
37
- return {
38
- ...baseStoryOptions,
39
- template: `<div class="position-relative">
34
+ const getStoryOptions = (tooltipContent) => ({
35
+ ...baseStoryOptions,
36
+ template: `<div class="position-relative">
40
37
  <gl-chart
41
38
  :options="options"
42
39
  :height="100"
@@ -57,43 +54,61 @@ const getStoryOptions = (tooltipContent) => {
57
54
  ${tooltipContent}
58
55
  </gl-chart-tooltip>
59
56
  </div>`,
60
- };
61
- };
57
+ });
58
+
59
+ export const Default = (args, { argTypes }) => ({
60
+ props: Object.keys(argTypes),
61
+ ...getStoryOptions('Example Content'),
62
+ });
63
+
64
+ export const WithLongSeriesLabel = (args, { argTypes }) => ({
65
+ props: Object.keys(argTypes),
66
+ ...getStoryOptions(`
67
+ <gl-chart-series-label color="#1F78D1">${SERIES_NAME[SERIES_NAME_LONG]}</gl-chart-series-label>
68
+ `),
69
+ });
62
70
 
63
- documentedStoriesOf('charts/chart-tooltip', readme)
64
- .add('default', () => getStoryOptions('Example Content'))
65
- .add('with long series label', () =>
66
- getStoryOptions(`
67
- <gl-chart-series-label color="#1F78D1">${SERIES_NAME[SERIES_NAME_LONG]}</gl-chart-series-label>
68
- `)
69
- )
70
- .add('with long series label with no spaces', () =>
71
- getStoryOptions(`
72
- <gl-chart-series-label color="#1F78D1">${SERIES_NAME[SERIES_NAME_LONG_WITHOUT_SPACES]}</gl-chart-series-label>
73
- `)
74
- )
71
+ export const WithLongSeriesLabelWithNoSpaces = (args, { argTypes }) => ({
72
+ props: Object.keys(argTypes),
73
+ ...getStoryOptions(`
74
+ <gl-chart-series-label color="#1F78D1">${SERIES_NAME[SERIES_NAME_LONG_WITHOUT_SPACES]}</gl-chart-series-label>
75
+ `),
76
+ });
75
77
 
76
- // This story exists to avoid regressions as part of
77
- // https://gitlab.com/gitlab-org/gitlab-ui/-/issues/1482, and may be affected
78
- // by https://gitlab.com/gitlab-org/gitlab-ui/-/issues/1479
79
- .add('title prop', () => ({
80
- ...baseStoryOptions,
81
- template: `
82
- <div class="position-relative">
83
- <gl-chart
84
- :options="options"
85
- :height="100"
86
- @created="onCreated"
87
- />
88
- <gl-chart-tooltip
89
- v-if="chart"
90
- :chart="chart"
91
- :show="showTooltip"
92
- :top="top"
93
- :left="left"
94
- title="Title from prop"
95
- >
96
- Example content
97
- </gl-chart-tooltip>
98
- </div>`,
99
- }));
78
+ export const TitleProp = (args, { argTypes }) => ({
79
+ props: Object.keys(argTypes),
80
+ ...baseStoryOptions,
81
+ template: `
82
+ <div class="position-relative">
83
+ <gl-chart
84
+ :options="options"
85
+ :height="100"
86
+ @created="onCreated"
87
+ />
88
+ <gl-chart-tooltip
89
+ v-if="chart"
90
+ :chart="chart"
91
+ :show="showTooltip"
92
+ :top="top"
93
+ :left="left"
94
+ title="Title from prop"
95
+ >
96
+ Example content
97
+ </gl-chart-tooltip>
98
+ </div>`,
99
+ });
100
+
101
+ export default {
102
+ title: 'charts/chart-tooltip',
103
+ component: GlChartTooltip,
104
+ parameters: {
105
+ bootstrapComponent: 'b-popover',
106
+ knobs: { disable: true },
107
+ controls: { disable: true },
108
+ docs: {
109
+ description: {
110
+ component: readme,
111
+ },
112
+ },
113
+ },
114
+ };
@@ -1,8 +1,6 @@
1
- import examples from './examples';
2
1
  import description from './intersperse.md';
3
2
 
4
3
  export default {
5
4
  followsDesignSystem: false,
6
5
  description,
7
- examples,
8
6
  };
@@ -1,5 +1,3 @@
1
- ## Intersperse
2
-
3
1
  The intersperse component separates a list of elements
4
2
  by a given character (the default is `, `).
5
3