@gitlab/ui 134.8.0 → 135.0.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 (152) hide show
  1. package/dist/components/base/animated_icon/base_animated_icon.js +3 -0
  2. package/dist/components/base/color_mode_toggle/color_mode_toggle.js +11 -1
  3. package/dist/components/base/filtered_search/filtered_search.js +9 -0
  4. package/dist/components/base/filtered_search/filtered_search_suggestion.js +3 -0
  5. package/dist/components/base/filtered_search/filtered_search_term.js +9 -0
  6. package/dist/components/base/filtered_search/filtered_search_token.js +15 -0
  7. package/dist/components/base/filtered_search/filtered_search_token_segment.js +27 -0
  8. package/dist/components/base/form/form_combobox/form_combobox.js +18 -0
  9. package/dist/components/base/form/form_date/form_date.js +18 -0
  10. package/dist/components/base/form/form_fields/form_field_validator.js +9 -0
  11. package/dist/components/base/form/form_fields/form_fields_loop.js +3 -0
  12. package/dist/components/base/markdown/markdown.js +3 -0
  13. package/dist/components/base/new_dropdowns/base_dropdown/base_dropdown.js +54 -0
  14. package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown_item.js +3 -0
  15. package/dist/components/base/new_dropdowns/listbox/listbox.js +4 -1
  16. package/dist/components/base/new_dropdowns/listbox/listbox_group.js +6 -0
  17. package/dist/components/base/new_dropdowns/listbox/listbox_item.js +15 -0
  18. package/dist/components/base/search_box_by_click/search_box_by_click.js +6 -0
  19. package/dist/components/base/segmented_control/segmented_control.js +6 -0
  20. package/dist/components/base/table_lite/table_lite.js +9 -0
  21. package/dist/components/base/tabs/tab/tab.js +3 -0
  22. package/dist/components/base/tabs/tabs/tabs.js +21 -0
  23. package/dist/components/base/toast/toast.js +12 -0
  24. package/dist/components/base/toggle/toggle.js +3 -0
  25. package/dist/components/base/token_selector/token_container.js +12 -0
  26. package/dist/components/base/token_selector/token_selector_dropdown.js +27 -0
  27. package/dist/components/charts/area/area.js +36 -0
  28. package/dist/components/charts/bar/bar.js +15 -0
  29. package/dist/components/charts/chart/chart.js +7 -1
  30. package/dist/components/charts/column/column.js +24 -0
  31. package/dist/components/charts/discrete_scatter/discrete_scatter.js +21 -0
  32. package/dist/components/charts/gauge/gauge.js +21 -0
  33. package/dist/components/charts/heatmap/heatmap.js +33 -0
  34. package/dist/components/charts/legend/legend.js +15 -0
  35. package/dist/components/charts/line/line.js +33 -0
  36. package/dist/components/charts/series_label/series_label.js +6 -0
  37. package/dist/components/charts/shared/tooltip/tooltip.js +6 -0
  38. package/dist/components/charts/shared/tooltip/tooltip_default_format/tooltip_default_format.js +3 -0
  39. package/dist/components/charts/single_stat/single_stat.js +30 -0
  40. package/dist/components/charts/stacked_column/stacked_column.js +55 -0
  41. package/dist/components/regions/empty_state/empty_state.js +3 -0
  42. package/dist/components/shared_components/clear_icon_button/clear_icon_button.js +6 -0
  43. package/dist/components/shared_components/close_button/close_button.js +3 -0
  44. package/dist/components/utilities/animated_number/animated_number.js +9 -0
  45. package/dist/components/utilities/intersperse/intersperse.js +6 -0
  46. package/dist/index.css +2 -2
  47. package/dist/index.css.map +1 -1
  48. package/dist/tailwind.css +1 -1
  49. package/dist/tailwind.css.map +1 -1
  50. package/dist/tokens/build/js/tokens.dark.js +3 -3
  51. package/dist/tokens/build/js/tokens.js +3 -3
  52. package/dist/tokens/tokens_story.js +3 -0
  53. package/package.json +8 -7
  54. package/src/components/base/animated_icon/base_animated_icon.vue +3 -0
  55. package/src/components/base/avatar_link/avatar_link.scss +2 -2
  56. package/src/components/base/badge/badge.scss +3 -3
  57. package/src/components/base/breadcrumb/breadcrumb.scss +2 -2
  58. package/src/components/base/button/button.scss +15 -15
  59. package/src/components/base/button_group/button_group.scss +1 -1
  60. package/src/components/base/color_mode_toggle/color_mode_toggle.vue +11 -0
  61. package/src/components/base/datepicker/datepicker.scss +1 -1
  62. package/src/components/base/dropdown/dropdown_item.scss +3 -3
  63. package/src/components/base/filtered_search/filtered_search.vue +9 -0
  64. package/src/components/base/filtered_search/filtered_search_suggestion.vue +3 -0
  65. package/src/components/base/filtered_search/filtered_search_term.vue +9 -0
  66. package/src/components/base/filtered_search/filtered_search_token.vue +15 -0
  67. package/src/components/base/filtered_search/filtered_search_token_segment.vue +27 -0
  68. package/src/components/base/form/form_checkbox/form_checkbox.scss +9 -7
  69. package/src/components/base/form/form_combobox/form_combobox.scss +4 -4
  70. package/src/components/base/form/form_combobox/form_combobox.vue +18 -0
  71. package/src/components/base/form/form_date/form_date.vue +18 -0
  72. package/src/components/base/form/form_fields/form_field_validator.vue +9 -0
  73. package/src/components/base/form/form_fields/form_fields_loop.vue +3 -0
  74. package/src/components/base/form/form_input/form_input.scss +2 -2
  75. package/src/components/base/form/form_select/form_select.scss +3 -3
  76. package/src/components/base/icon/icon.figma.batch.ts +26 -0
  77. package/src/components/base/label/label.scss +9 -9
  78. package/src/components/base/link/link.scss +11 -11
  79. package/src/components/base/markdown/markdown.vue +3 -0
  80. package/src/components/base/nav_item/nav_item.scss +5 -5
  81. package/src/components/base/new_dropdowns/base_dropdown/base_dropdown.vue +54 -0
  82. package/src/components/base/new_dropdowns/disclosure/disclosure_dropdown_item.vue +3 -0
  83. package/src/components/base/new_dropdowns/dropdown.scss +2 -2
  84. package/src/components/base/new_dropdowns/dropdown_item.scss +9 -9
  85. package/src/components/base/new_dropdowns/listbox/listbox.scss +1 -1
  86. package/src/components/base/new_dropdowns/listbox/listbox.vue +5 -2
  87. package/src/components/base/new_dropdowns/listbox/listbox_group.vue +6 -0
  88. package/src/components/base/new_dropdowns/listbox/listbox_item.vue +15 -0
  89. package/src/components/base/pagination/pagination.scss +3 -2
  90. package/src/components/base/path/path.scss +3 -3
  91. package/src/components/base/search_box_by_click/search_box_by_click.vue +6 -0
  92. package/src/components/base/search_box_by_type/search_box_by_type.scss +1 -1
  93. package/src/components/base/segmented_control/segmented_control.vue +6 -0
  94. package/src/components/base/table_lite/table_lite.vue +9 -0
  95. package/src/components/base/tabs/tab/tab.vue +3 -0
  96. package/src/components/base/tabs/tabs/tabs.scss +3 -3
  97. package/src/components/base/tabs/tabs/tabs.vue +21 -0
  98. package/src/components/base/toast/toast.vue +12 -0
  99. package/src/components/base/toggle/toggle.scss +4 -4
  100. package/src/components/base/toggle/toggle.vue +3 -0
  101. package/src/components/base/token_selector/token_container.vue +12 -0
  102. package/src/components/base/token_selector/token_selector.scss +1 -1
  103. package/src/components/base/token_selector/token_selector_dropdown.vue +27 -0
  104. package/src/components/charts/area/area.vue +36 -0
  105. package/src/components/charts/bar/bar.vue +15 -0
  106. package/src/components/charts/chart/chart.vue +7 -1
  107. package/src/components/charts/column/column.vue +24 -0
  108. package/src/components/charts/discrete_scatter/discrete_scatter.vue +21 -0
  109. package/src/components/charts/gauge/gauge.vue +21 -0
  110. package/src/components/charts/heatmap/heatmap.vue +33 -0
  111. package/src/components/charts/legend/legend.vue +15 -0
  112. package/src/components/charts/line/line.vue +33 -0
  113. package/src/components/charts/series_label/series_label.vue +6 -0
  114. package/src/components/charts/shared/tooltip/tooltip.vue +6 -0
  115. package/src/components/charts/shared/tooltip/tooltip_default_format/tooltip_default_format.vue +3 -0
  116. package/src/components/charts/single_stat/single_stat.vue +30 -0
  117. package/src/components/charts/stacked_column/stacked_column.vue +55 -0
  118. package/src/components/regions/empty_state/empty_state.vue +3 -0
  119. package/src/components/shared_components/clear_icon_button/clear_icon_button.scss +1 -1
  120. package/src/components/shared_components/clear_icon_button/clear_icon_button.vue +6 -0
  121. package/src/components/shared_components/close_button/close_button.vue +3 -0
  122. package/src/components/utilities/animated_number/animated_number.vue +9 -0
  123. package/src/components/utilities/intersperse/intersperse.vue +6 -0
  124. package/src/scss/mixins.scss +1 -1
  125. package/src/tokens/build/css/tokens.css +3 -3
  126. package/src/tokens/build/css/tokens.dark.css +3 -3
  127. package/src/tokens/build/figma/mode.dark.json +37 -20
  128. package/src/tokens/build/figma/mode.json +37 -20
  129. package/src/tokens/build/js/tokens.dark.js +3 -3
  130. package/src/tokens/build/js/tokens.js +3 -3
  131. package/src/tokens/build/json/tokens.dark.json +74 -40
  132. package/src/tokens/build/json/tokens.json +74 -40
  133. package/src/tokens/build/scss/_tokens.dark.scss +3 -3
  134. package/src/tokens/build/scss/_tokens.scss +3 -3
  135. package/src/tokens/contextual/toggle.tokens.json +37 -20
  136. package/src/tokens/tokens_story.vue +3 -0
  137. package/src/utils/string_utils.js +1 -1
  138. package/src/vendor/bootstrap/scss/_button-group.scss +1 -1
  139. package/src/vendor/bootstrap/scss/_buttons.scss +3 -3
  140. package/src/vendor/bootstrap/scss/_custom-forms.scss +5 -5
  141. package/src/vendor/bootstrap/scss/_forms.scss +2 -2
  142. package/src/vendor/bootstrap/scss/_input-group.scss +5 -5
  143. package/src/vendor/bootstrap/scss/_pagination.scss +1 -1
  144. package/src/vendor/bootstrap/scss/mixins/_badge.scss +1 -1
  145. package/src/vendor/bootstrap/scss/mixins/_buttons.scss +5 -5
  146. package/src/vendor/bootstrap/scss/mixins/_forms.scss +5 -5
  147. package/src/vendor/bootstrap/scss/mixins/_hover.scss +3 -3
  148. package/src/vendor/bootstrap/scss/mixins/_screen-reader.scss +1 -1
  149. package/src/vendor/bootstrap-vue/src/_utilities.scss +1 -1
  150. package/src/vendor/bootstrap-vue/src/components/dropdown/_dropdown-form.scss +2 -2
  151. package/src/vendor/bootstrap-vue/src/components/dropdown/_dropdown.scss +1 -1
  152. package/tailwind.defaults.js +5 -5
@@ -64,23 +64,38 @@ export default {
64
64
  },
65
65
  inheritAttrs: false,
66
66
  props: {
67
+ /**
68
+ * The chart data series to render.
69
+ */
67
70
  data: {
68
71
  type: Object,
69
72
  required: true,
70
73
  },
74
+ /**
75
+ * Additional ECharts option overrides.
76
+ */
71
77
  option: {
72
78
  type: Object,
73
79
  required: false,
74
80
  default: () => ({}),
75
81
  },
82
+ /**
83
+ * Title text for the Y axis.
84
+ */
76
85
  yAxisTitle: {
77
86
  type: String,
78
87
  required: true,
79
88
  },
89
+ /**
90
+ * Title text for the X axis.
91
+ */
80
92
  xAxisTitle: {
81
93
  type: String,
82
94
  required: true,
83
95
  },
96
+ /**
97
+ * Type of the X axis (e.g., 'category', 'value').
98
+ */
84
99
  xAxisType: {
85
100
  type: String,
86
101
  required: false,
@@ -31,6 +31,9 @@ export default {
31
31
  type: Object,
32
32
  required: true,
33
33
  },
34
+ /**
35
+ * Width of the chart in pixels. Set to "auto" to use the width of the container.
36
+ */
34
37
  width: {
35
38
  type: [Number, String],
36
39
  required: false,
@@ -38,7 +41,7 @@ export default {
38
41
  validator: sizeValidator,
39
42
  },
40
43
  /**
41
- * Sets the chart's height in pixels. Set to `"auto"` to use the height of the container.
44
+ * Height of the chart in pixels. Set to "auto" to use the height of the container.
42
45
  */
43
46
  height: {
44
47
  type: [Number, String],
@@ -67,6 +70,9 @@ export default {
67
70
  return validRenderers.includes(renderer);
68
71
  },
69
72
  },
73
+ /**
74
+ * When true, the chart automatically resizes to fit its container.
75
+ */
70
76
  responsive: {
71
77
  type: Boolean,
72
78
  required: false,
@@ -36,39 +36,63 @@ export default {
36
36
  },
37
37
  inheritAttrs: false,
38
38
  props: {
39
+ /**
40
+ * Array of bar series data.
41
+ */
39
42
  bars: {
40
43
  type: Array,
41
44
  required: false,
42
45
  default: () => [],
43
46
  },
47
+ /**
48
+ * Array of line series data.
49
+ */
44
50
  lines: {
45
51
  type: Array,
46
52
  required: false,
47
53
  default: () => [],
48
54
  },
55
+ /**
56
+ * Secondary data series for the chart.
57
+ */
49
58
  secondaryData: {
50
59
  type: Array,
51
60
  required: false,
52
61
  default: () => [],
53
62
  },
63
+ /**
64
+ * Additional ECharts option overrides.
65
+ */
54
66
  option: {
55
67
  type: Object,
56
68
  required: false,
57
69
  default: () => ({}),
58
70
  },
71
+ /**
72
+ * Title text for the Y axis.
73
+ */
59
74
  yAxisTitle: {
60
75
  type: String,
61
76
  required: true,
62
77
  },
78
+ /**
79
+ * Title text for the secondary data axis.
80
+ */
63
81
  secondaryDataTitle: {
64
82
  type: String,
65
83
  required: false,
66
84
  default: '',
67
85
  },
86
+ /**
87
+ * Title text for the X axis.
88
+ */
68
89
  xAxisTitle: {
69
90
  type: String,
70
91
  required: true,
71
92
  },
93
+ /**
94
+ * Type of the X axis (e.g., 'category', 'value').
95
+ */
72
96
  xAxisType: {
73
97
  type: String,
74
98
  required: true,
@@ -20,33 +20,54 @@ export default {
20
20
  },
21
21
  inheritAttrs: false,
22
22
  props: {
23
+ /**
24
+ * The chart data series to render.
25
+ */
23
26
  data: {
24
27
  type: Array,
25
28
  required: true,
26
29
  },
30
+ /**
31
+ * Additional ECharts option overrides.
32
+ */
27
33
  option: {
28
34
  type: Object,
29
35
  required: false,
30
36
  default: () => ({}),
31
37
  },
38
+ /**
39
+ * Title text for the Y axis.
40
+ */
32
41
  yAxisTitle: {
33
42
  type: String,
34
43
  required: true,
35
44
  },
45
+ /**
46
+ * Title text for the X axis.
47
+ */
36
48
  xAxisTitle: {
37
49
  type: String,
38
50
  required: true,
39
51
  },
52
+ /**
53
+ * Size of the scatter symbols.
54
+ */
40
55
  symbolSize: {
41
56
  type: Number,
42
57
  required: false,
43
58
  default: 8,
44
59
  },
60
+ /**
61
+ * Custom function to format tooltip text.
62
+ */
45
63
  formatTooltipText: {
46
64
  type: Function,
47
65
  required: false,
48
66
  default: null,
49
67
  },
68
+ /**
69
+ * When true, disables the tooltip.
70
+ */
50
71
  disableTooltip: {
51
72
  type: Boolean,
52
73
  required: false,
@@ -53,20 +53,32 @@ export default {
53
53
  Chart,
54
54
  },
55
55
  props: {
56
+ /**
57
+ * The current gauge value.
58
+ */
56
59
  value: {
57
60
  type: Number,
58
61
  required: true,
59
62
  },
63
+ /**
64
+ * Minimum value of the gauge scale.
65
+ */
60
66
  min: {
61
67
  type: Number,
62
68
  required: false,
63
69
  default: 0,
64
70
  },
71
+ /**
72
+ * Maximum value of the gauge scale.
73
+ */
65
74
  max: {
66
75
  type: Number,
67
76
  required: false,
68
77
  default: 100,
69
78
  },
79
+ /**
80
+ * Array of threshold configurations for coloring the gauge.
81
+ */
70
82
  thresholds: {
71
83
  type: Array,
72
84
  required: false,
@@ -75,16 +87,25 @@ export default {
75
87
  return value?.length ? value.every((item) => Number.isFinite(item)) : true;
76
88
  },
77
89
  },
90
+ /**
91
+ * Text label to display on the gauge.
92
+ */
78
93
  text: {
79
94
  type: String,
80
95
  required: false,
81
96
  default: '',
82
97
  },
98
+ /**
99
+ * Number of split segments on the gauge scale.
100
+ */
83
101
  splitNumber: {
84
102
  type: Number,
85
103
  required: false,
86
104
  default: 10,
87
105
  },
106
+ /**
107
+ * Additional ECharts option overrides.
108
+ */
88
109
  option: {
89
110
  type: Object,
90
111
  required: false,
@@ -48,50 +48,80 @@ export default {
48
48
  TooltipDefaultFormat,
49
49
  },
50
50
  props: {
51
+ /**
52
+ * Additional ECharts option overrides.
53
+ */
51
54
  option: {
52
55
  type: Object,
53
56
  required: false,
54
57
  default: () => ({}),
55
58
  },
59
+ /**
60
+ * The heatmap data series to render.
61
+ */
56
62
  dataSeries: {
57
63
  type: Array,
58
64
  required: true,
59
65
  },
66
+ /**
67
+ * Labels for the X axis categories.
68
+ */
60
69
  xAxisLabels: {
61
70
  type: Array,
62
71
  required: false,
63
72
  default: () => [],
64
73
  },
74
+ /**
75
+ * Labels for the Y axis categories.
76
+ */
65
77
  yAxisLabels: {
66
78
  type: Array,
67
79
  required: false,
68
80
  default: () => [],
69
81
  },
82
+ /**
83
+ * Name/label for the X axis.
84
+ */
70
85
  xAxisName: {
71
86
  type: String,
72
87
  required: false,
73
88
  default: '',
74
89
  },
90
+ /**
91
+ * Name/label for the Y axis.
92
+ */
75
93
  yAxisName: {
76
94
  type: String,
77
95
  required: false,
78
96
  default: '',
79
97
  },
98
+ /**
99
+ * Custom function to format tooltip text.
100
+ */
80
101
  formatTooltipText: {
81
102
  type: Function,
82
103
  required: false,
83
104
  default: null,
84
105
  },
106
+ /**
107
+ * Custom text for the average value in the legend.
108
+ */
85
109
  legendAverageText: {
86
110
  type: String,
87
111
  required: false,
88
112
  default: 'Avg',
89
113
  },
114
+ /**
115
+ * Custom text for the maximum value in the legend.
116
+ */
90
117
  legendMaxText: {
91
118
  type: String,
92
119
  required: false,
93
120
  default: 'Max',
94
121
  },
122
+ /**
123
+ * When true, the chart automatically resizes to fit its container.
124
+ */
95
125
  responsive: {
96
126
  type: Boolean,
97
127
  required: false,
@@ -105,6 +135,9 @@ export default {
105
135
  required: false,
106
136
  default: null,
107
137
  },
138
+ /**
139
+ * When true, enables the tooltip on hover.
140
+ */
108
141
  showTooltip: {
109
142
  type: Boolean,
110
143
  default: true,
@@ -20,6 +20,9 @@ export default {
20
20
  GlTruncate,
21
21
  },
22
22
  props: {
23
+ /**
24
+ * Reference to the ECharts instance.
25
+ */
23
26
  chart: {
24
27
  type: Object,
25
28
  required: true,
@@ -27,6 +30,9 @@ export default {
27
30
  return Object.is(chart, echarts.getInstanceByDom(chart.getDom()));
28
31
  },
29
32
  },
33
+ /**
34
+ * Array of series information for the legend.
35
+ */
30
36
  seriesInfo: {
31
37
  type: Array,
32
38
  required: true,
@@ -34,6 +40,9 @@ export default {
34
40
  return seriesInfo.every((series) => series.type && series.name && series.color);
35
41
  },
36
42
  },
43
+ /**
44
+ * Text style configuration for the legend labels.
45
+ */
37
46
  textStyle: {
38
47
  type: Object,
39
48
  required: false,
@@ -47,11 +56,17 @@ export default {
47
56
  required: false,
48
57
  default: LEGEND_AVERAGE_TEXT,
49
58
  },
59
+ /**
60
+ * Custom text for the current value label.
61
+ */
50
62
  currentText: {
51
63
  type: String,
52
64
  required: false,
53
65
  default: LEGEND_CURRENT_TEXT,
54
66
  },
67
+ /**
68
+ * Custom text for the minimum value label.
69
+ */
55
70
  minText: {
56
71
  type: String,
57
72
  required: false,
@@ -53,25 +53,40 @@ export default {
53
53
  },
54
54
  inheritAttrs: false,
55
55
  props: {
56
+ /**
57
+ * The chart data series to render.
58
+ */
56
59
  data: {
57
60
  type: Array,
58
61
  required: true,
59
62
  },
63
+ /**
64
+ * Additional ECharts option overrides.
65
+ */
60
66
  option: {
61
67
  type: Object,
62
68
  required: false,
63
69
  default: () => ({}),
64
70
  },
71
+ /**
72
+ * Array of threshold configurations for coloring the line.
73
+ */
65
74
  thresholds: {
66
75
  type: Array,
67
76
  required: false,
68
77
  default: () => [],
69
78
  },
79
+ /**
80
+ * Array of annotation configurations.
81
+ */
70
82
  annotations: {
71
83
  type: Array,
72
84
  required: false,
73
85
  default: () => [],
74
86
  },
87
+ /**
88
+ * When true, includes average and maximum values in the legend.
89
+ */
75
90
  includeLegendAvgMax: {
76
91
  type: Boolean,
77
92
  required: false,
@@ -88,26 +103,41 @@ export default {
88
103
  required: false,
89
104
  default: null,
90
105
  },
106
+ /**
107
+ * Custom text for the average value in the legend.
108
+ */
91
109
  legendAverageText: {
92
110
  type: String,
93
111
  required: false,
94
112
  default: LEGEND_AVERAGE_TEXT,
95
113
  },
114
+ /**
115
+ * Custom text for the maximum value in the legend.
116
+ */
96
117
  legendMaxText: {
97
118
  type: String,
98
119
  required: false,
99
120
  default: LEGEND_MAX_TEXT,
100
121
  },
122
+ /**
123
+ * Custom text for the minimum value label.
124
+ */
101
125
  legendMinText: {
102
126
  type: String,
103
127
  required: false,
104
128
  default: LEGEND_MIN_TEXT,
105
129
  },
130
+ /**
131
+ * Custom text for the current value label.
132
+ */
106
133
  legendCurrentText: {
107
134
  type: String,
108
135
  required: false,
109
136
  default: LEGEND_CURRENT_TEXT,
110
137
  },
138
+ /**
139
+ * Layout configuration for the legend.
140
+ */
111
141
  legendLayout: {
112
142
  type: String,
113
143
  required: false,
@@ -116,6 +146,9 @@ export default {
116
146
  return [LEGEND_LAYOUT_INLINE, LEGEND_LAYOUT_TABLE].indexOf(layout) !== -1;
117
147
  },
118
148
  },
149
+ /**
150
+ * When true, displays the legend.
151
+ */
119
152
  showLegend: {
120
153
  type: Boolean,
121
154
  required: false,
@@ -6,10 +6,16 @@ const makePathRect = (startX, startY, width, height) =>
6
6
  export default {
7
7
  name: 'GlChartSeriesLabel',
8
8
  props: {
9
+ /**
10
+ * Color of the series label indicator.
11
+ */
9
12
  color: {
10
13
  type: String,
11
14
  required: true,
12
15
  },
16
+ /**
17
+ * Type of the series label (e.g., 'line', 'bar').
18
+ */
13
19
  type: {
14
20
  type: String,
15
21
  required: false,
@@ -21,6 +21,9 @@ export default {
21
21
  },
22
22
  inheritAttrs: false,
23
23
  props: {
24
+ /**
25
+ * Reference to the ECharts instance.
26
+ */
24
27
  chart: {
25
28
  type: Object,
26
29
  required: true,
@@ -28,6 +31,9 @@ export default {
28
31
  return Object.is(chart, echarts.getInstanceByDom(chart.getDom()));
29
32
  },
30
33
  },
34
+ /**
35
+ * Unique identifier for the tooltip.
36
+ */
31
37
  id: {
32
38
  type: String,
33
39
  required: false,
@@ -7,6 +7,9 @@ export default {
7
7
  SeriesLabel,
8
8
  },
9
9
  props: {
10
+ /**
11
+ * The tooltip content object to format.
12
+ */
10
13
  tooltipContent: {
11
14
  type: Object,
12
15
  required: true,
@@ -19,14 +19,23 @@ export default {
19
19
  GlTooltip: GlTooltipDirective,
20
20
  },
21
21
  props: {
22
+ /**
23
+ * Title text for the single stat.
24
+ */
22
25
  title: {
23
26
  type: String,
24
27
  required: true,
25
28
  },
29
+ /**
30
+ * The numeric value to display.
31
+ */
26
32
  value: {
27
33
  type: [String, Number],
28
34
  required: true,
29
35
  },
36
+ /**
37
+ * Unit text to display after the value.
38
+ */
30
39
  unit: {
31
40
  type: String,
32
41
  required: false,
@@ -40,12 +49,18 @@ export default {
40
49
  required: false,
41
50
  default: false,
42
51
  },
52
+ /**
53
+ * Visual variant of the single stat display.
54
+ */
43
55
  variant: {
44
56
  type: String,
45
57
  required: false,
46
58
  default: badgeVariantOptions.neutral,
47
59
  validator: (variant) => Object.values(badgeVariantOptions).includes(variant),
48
60
  },
61
+ /**
62
+ * Name of the icon to show next to the title.
63
+ */
49
64
  titleIcon: {
50
65
  type: String,
51
66
  required: false,
@@ -59,11 +74,17 @@ export default {
59
74
  required: false,
60
75
  default: '',
61
76
  },
77
+ /**
78
+ * Name of the icon to show next to the meta text.
79
+ */
62
80
  metaIcon: {
63
81
  type: String,
64
82
  required: false,
65
83
  default: null,
66
84
  },
85
+ /**
86
+ * Meta text displayed below the main value.
87
+ */
67
88
  metaText: {
68
89
  type: String,
69
90
  required: false,
@@ -77,16 +98,25 @@ export default {
77
98
  required: false,
78
99
  default: '',
79
100
  },
101
+ /**
102
+ * When true, animates the value change.
103
+ */
80
104
  shouldAnimate: {
81
105
  type: Boolean,
82
106
  required: false,
83
107
  default: false,
84
108
  },
109
+ /**
110
+ * Number of decimal places for the animated value.
111
+ */
85
112
  animationDecimalPlaces: {
86
113
  type: Number,
87
114
  required: false,
88
115
  default: 0,
89
116
  },
117
+ /**
118
+ * Description text for the single stat.
119
+ */
90
120
  description: {
91
121
  type: String,
92
122
  required: false,