@gitlab/ui 134.9.0 → 135.0.1

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 (107) hide show
  1. package/dist/components/base/accordion/accordion_item.js +1 -1
  2. package/dist/components/base/animated_icon/base_animated_icon.js +3 -0
  3. package/dist/components/base/color_mode_toggle/color_mode_toggle.js +11 -1
  4. package/dist/components/base/filtered_search/filtered_search.js +9 -0
  5. package/dist/components/base/filtered_search/filtered_search_suggestion.js +3 -0
  6. package/dist/components/base/filtered_search/filtered_search_term.js +9 -0
  7. package/dist/components/base/filtered_search/filtered_search_token.js +15 -0
  8. package/dist/components/base/filtered_search/filtered_search_token_segment.js +27 -0
  9. package/dist/components/base/form/form_combobox/form_combobox.js +18 -0
  10. package/dist/components/base/form/form_date/form_date.js +18 -0
  11. package/dist/components/base/form/form_fields/form_field_validator.js +9 -0
  12. package/dist/components/base/form/form_fields/form_fields_loop.js +3 -0
  13. package/dist/components/base/markdown/markdown.js +3 -0
  14. package/dist/components/base/new_dropdowns/base_dropdown/base_dropdown.js +54 -0
  15. package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown_item.js +3 -0
  16. package/dist/components/base/new_dropdowns/listbox/listbox.js +3 -0
  17. package/dist/components/base/new_dropdowns/listbox/listbox_group.js +6 -0
  18. package/dist/components/base/new_dropdowns/listbox/listbox_item.js +15 -0
  19. package/dist/components/base/search_box_by_click/search_box_by_click.js +6 -0
  20. package/dist/components/base/segmented_control/segmented_control.js +6 -0
  21. package/dist/components/base/table_lite/table_lite.js +9 -0
  22. package/dist/components/base/tabs/tab/tab.js +3 -0
  23. package/dist/components/base/tabs/tabs/tabs.js +21 -0
  24. package/dist/components/base/toast/toast.js +12 -0
  25. package/dist/components/base/toggle/toggle.js +3 -0
  26. package/dist/components/base/token_selector/token_container.js +12 -0
  27. package/dist/components/base/token_selector/token_selector_dropdown.js +27 -0
  28. package/dist/components/charts/area/area.js +36 -0
  29. package/dist/components/charts/bar/bar.js +15 -0
  30. package/dist/components/charts/chart/chart.js +7 -1
  31. package/dist/components/charts/column/column.js +24 -0
  32. package/dist/components/charts/discrete_scatter/discrete_scatter.js +21 -0
  33. package/dist/components/charts/gauge/gauge.js +21 -0
  34. package/dist/components/charts/heatmap/heatmap.js +33 -0
  35. package/dist/components/charts/legend/legend.js +15 -0
  36. package/dist/components/charts/line/line.js +33 -0
  37. package/dist/components/charts/series_label/series_label.js +6 -0
  38. package/dist/components/charts/shared/tooltip/tooltip.js +6 -0
  39. package/dist/components/charts/shared/tooltip/tooltip_default_format/tooltip_default_format.js +3 -0
  40. package/dist/components/charts/single_stat/single_stat.js +30 -0
  41. package/dist/components/charts/stacked_column/stacked_column.js +55 -0
  42. package/dist/components/regions/empty_state/empty_state.js +3 -0
  43. package/dist/components/shared_components/clear_icon_button/clear_icon_button.js +6 -0
  44. package/dist/components/shared_components/close_button/close_button.js +3 -0
  45. package/dist/components/utilities/animated_number/animated_number.js +9 -0
  46. package/dist/components/utilities/intersperse/intersperse.js +6 -0
  47. package/dist/index.css +1 -1
  48. package/dist/index.css.map +1 -1
  49. package/dist/tailwind.css +1 -1
  50. package/dist/tailwind.css.map +1 -1
  51. package/dist/tokens/tokens_story.js +3 -0
  52. package/package.json +4 -3
  53. package/src/components/base/accordion/accordion_item.vue +6 -3
  54. package/src/components/base/animated_icon/base_animated_icon.vue +3 -0
  55. package/src/components/base/color_mode_toggle/color_mode_toggle.vue +11 -0
  56. package/src/components/base/filtered_search/filtered_search.vue +9 -0
  57. package/src/components/base/filtered_search/filtered_search_suggestion.vue +3 -0
  58. package/src/components/base/filtered_search/filtered_search_term.vue +9 -0
  59. package/src/components/base/filtered_search/filtered_search_token.vue +15 -0
  60. package/src/components/base/filtered_search/filtered_search_token_segment.vue +27 -0
  61. package/src/components/base/form/form_combobox/form_combobox.vue +18 -0
  62. package/src/components/base/form/form_date/form_date.vue +18 -0
  63. package/src/components/base/form/form_fields/form_field_validator.vue +9 -0
  64. package/src/components/base/form/form_fields/form_fields_loop.vue +3 -0
  65. package/src/components/base/icon/icon.figma.batch.ts +26 -0
  66. package/src/components/base/markdown/markdown.vue +3 -0
  67. package/src/components/base/new_dropdowns/base_dropdown/base_dropdown.vue +54 -0
  68. package/src/components/base/new_dropdowns/disclosure/disclosure_dropdown_item.vue +3 -0
  69. package/src/components/base/new_dropdowns/listbox/listbox.vue +3 -0
  70. package/src/components/base/new_dropdowns/listbox/listbox_group.vue +6 -0
  71. package/src/components/base/new_dropdowns/listbox/listbox_item.vue +15 -0
  72. package/src/components/base/pagination/pagination.scss +1 -0
  73. package/src/components/base/search_box_by_click/search_box_by_click.vue +6 -0
  74. package/src/components/base/segmented_control/segmented_control.vue +6 -0
  75. package/src/components/base/table_lite/table_lite.vue +9 -0
  76. package/src/components/base/tabs/tab/tab.vue +3 -0
  77. package/src/components/base/tabs/tabs/tabs.vue +21 -0
  78. package/src/components/base/toast/toast.vue +12 -0
  79. package/src/components/base/toggle/toggle.vue +3 -0
  80. package/src/components/base/token_selector/token_container.vue +12 -0
  81. package/src/components/base/token_selector/token_selector_dropdown.vue +27 -0
  82. package/src/components/charts/area/area.vue +36 -0
  83. package/src/components/charts/bar/bar.vue +15 -0
  84. package/src/components/charts/chart/chart.vue +7 -1
  85. package/src/components/charts/column/column.vue +24 -0
  86. package/src/components/charts/discrete_scatter/discrete_scatter.vue +21 -0
  87. package/src/components/charts/gauge/gauge.vue +21 -0
  88. package/src/components/charts/heatmap/heatmap.vue +33 -0
  89. package/src/components/charts/legend/legend.vue +15 -0
  90. package/src/components/charts/line/line.vue +33 -0
  91. package/src/components/charts/series_label/series_label.vue +6 -0
  92. package/src/components/charts/shared/tooltip/tooltip.vue +6 -0
  93. package/src/components/charts/shared/tooltip/tooltip_default_format/tooltip_default_format.vue +3 -0
  94. package/src/components/charts/single_stat/single_stat.vue +30 -0
  95. package/src/components/charts/stacked_column/stacked_column.vue +55 -0
  96. package/src/components/regions/empty_state/empty_state.vue +3 -0
  97. package/src/components/shared_components/clear_icon_button/clear_icon_button.vue +6 -0
  98. package/src/components/shared_components/close_button/close_button.vue +3 -0
  99. package/src/components/utilities/animated_number/animated_number.vue +9 -0
  100. package/src/components/utilities/intersperse/intersperse.vue +6 -0
  101. package/src/tokens/build/figma/mode.dark.json +35 -18
  102. package/src/tokens/build/figma/mode.json +35 -18
  103. package/src/tokens/build/json/tokens.dark.json +70 -36
  104. package/src/tokens/build/json/tokens.json +70 -36
  105. package/src/tokens/contextual/toggle.tokens.json +34 -17
  106. package/src/tokens/semantic/highlight.tokens.json +1 -1
  107. package/src/tokens/tokens_story.vue +3 -0
@@ -61,59 +61,92 @@ export default {
61
61
  },
62
62
  },
63
63
  props: {
64
+ /**
65
+ * Text displayed on the dropdown toggle button.
66
+ */
64
67
  toggleText: {
65
68
  type: String,
66
69
  required: false,
67
70
  default: '',
68
71
  },
72
+ /**
73
+ * When true, visually hides the toggle text while keeping it accessible to screen readers.
74
+ */
69
75
  textSrOnly: {
70
76
  type: Boolean,
71
77
  required: false,
72
78
  default: false,
73
79
  },
80
+ /**
81
+ * When true, renders the dropdown at 100% width of its parent container.
82
+ */
74
83
  block: {
75
84
  type: Boolean,
76
85
  required: false,
77
86
  default: false,
78
87
  },
88
+ /**
89
+ * Visual category of the dropdown toggle button.
90
+ */
79
91
  category: {
80
92
  type: String,
81
93
  required: false,
82
94
  default: buttonCategoryOptions.primary,
83
95
  validator: (value) => Object.keys(buttonCategoryOptions).includes(value),
84
96
  },
97
+ /**
98
+ * Visual variant of the dropdown toggle button.
99
+ */
85
100
  variant: {
86
101
  type: String,
87
102
  required: false,
88
103
  default: dropdownVariantOptions.default,
89
104
  validator: (value) => Object.keys(dropdownVariantOptions).includes(value),
90
105
  },
106
+ /**
107
+ * Size of the dropdown toggle button.
108
+ */
91
109
  size: {
92
110
  type: String,
93
111
  required: false,
94
112
  default: 'medium',
95
113
  validator: (value) => Object.keys(buttonSizeOptions).includes(value),
96
114
  },
115
+ /**
116
+ * Name of the icon to display in the toggle button.
117
+ */
97
118
  icon: {
98
119
  type: String,
99
120
  required: false,
100
121
  default: '',
101
122
  },
123
+ /**
124
+ * When true, disables the dropdown.
125
+ */
102
126
  disabled: {
103
127
  type: Boolean,
104
128
  required: false,
105
129
  default: false,
106
130
  },
131
+ /**
132
+ * When true, shows a loading state on the toggle button.
133
+ */
107
134
  loading: {
108
135
  type: Boolean,
109
136
  required: false,
110
137
  default: false,
111
138
  },
139
+ /**
140
+ * Additional CSS classes to apply to the toggle element.
141
+ */
112
142
  toggleClass: {
113
143
  type: [String, Array, Object],
114
144
  required: false,
115
145
  default: null,
116
146
  },
147
+ /**
148
+ * When true, hides the caret icon on the toggle button.
149
+ */
117
150
  noCaret: {
118
151
  type: Boolean,
119
152
  required: false,
@@ -127,6 +160,9 @@ export default {
127
160
  required: false,
128
161
  default: null,
129
162
  },
163
+ /**
164
+ * Placement for the dropdown menu.
165
+ */
130
166
  placement: {
131
167
  type: String,
132
168
  required: false,
@@ -143,6 +179,9 @@ export default {
143
179
  },
144
180
  },
145
181
  // ARIA props
182
+ /**
183
+ * ARIA haspopup attribute value for accessibility.
184
+ */
146
185
  ariaHaspopup: {
147
186
  type: [String, Boolean],
148
187
  required: false,
@@ -151,21 +190,33 @@ export default {
151
190
  return ['menu', 'listbox', 'tree', 'grid', 'dialog', true, false].includes(value);
152
191
  },
153
192
  },
193
+ /**
194
+ * ID of the currently active item for accessibility.
195
+ */
154
196
  activeItemId: {
155
197
  type: String,
156
198
  required: false,
157
199
  default: undefined,
158
200
  },
201
+ /**
202
+ * When true, indicates the dropdown has an external label for accessibility.
203
+ */
159
204
  hasExternalLabel: {
160
205
  type: Boolean,
161
206
  required: false,
162
207
  default: false,
163
208
  },
209
+ /**
210
+ * When true, renders a searchable listbox.
211
+ */
164
212
  hasSearchableListbox: {
165
213
  type: Boolean,
166
214
  required: false,
167
215
  default: false,
168
216
  },
217
+ /**
218
+ * When true, renders as a disclosure dropdown.
219
+ */
169
220
  isDisclosure: {
170
221
  type: Boolean,
171
222
  required: false,
@@ -212,6 +263,9 @@ export default {
212
263
  required: false,
213
264
  default: () => ({ mainAxis: DEFAULT_OFFSET }),
214
265
  },
266
+ /**
267
+ * When true, allows the dropdown to take the full width available.
268
+ */
215
269
  fluidWidth: {
216
270
  type: Boolean,
217
271
  required: false,
@@ -14,6 +14,9 @@ export default {
14
14
  ITEM_CLASS,
15
15
  components: { GlLink, GlIcon },
16
16
  props: {
17
+ /**
18
+ * The item object to render as a disclosure dropdown item.
19
+ */
17
20
  item: {
18
21
  type: Object,
19
22
  required: false,
@@ -380,6 +380,9 @@ export default {
380
380
  required: false,
381
381
  default: false,
382
382
  },
383
+ /**
384
+ * Screen-reader-only label for results count.
385
+ */
383
386
  srOnlyResultsLabel: {
384
387
  type: Function,
385
388
  required: false,
@@ -4,10 +4,16 @@ import { uniqueId } from 'lodash-es';
4
4
  export default {
5
5
  name: 'GlListboxGroup',
6
6
  props: {
7
+ /**
8
+ * The display name of the listbox group.
9
+ */
7
10
  name: {
8
11
  type: String,
9
12
  required: true,
10
13
  },
14
+ /**
15
+ * When true, visually hides the group name while keeping it accessible to screen readers.
16
+ */
11
17
  textSrOnly: {
12
18
  type: Boolean,
13
19
  required: false,
@@ -9,26 +9,41 @@ export default {
9
9
  GlIcon,
10
10
  },
11
11
  props: {
12
+ /**
13
+ * When true, marks the item as selected.
14
+ */
12
15
  isSelected: {
13
16
  type: Boolean,
14
17
  default: false,
15
18
  required: false,
16
19
  },
20
+ /**
21
+ * When true, marks the item as focused.
22
+ */
17
23
  isFocused: {
18
24
  type: Boolean,
19
25
  default: false,
20
26
  required: false,
21
27
  },
28
+ /**
29
+ * When true, centers the check icon.
30
+ */
22
31
  isCheckCentered: {
23
32
  type: Boolean,
24
33
  required: false,
25
34
  default: false,
26
35
  },
36
+ /**
37
+ * When true, highlights the item.
38
+ */
27
39
  isHighlighted: {
28
40
  type: Boolean,
29
41
  default: false,
30
42
  required: false,
31
43
  },
44
+ /**
45
+ * When true, disables the item.
46
+ */
32
47
  isDisabled: {
33
48
  type: Boolean,
34
49
  default: false,
@@ -5,6 +5,7 @@
5
5
  ul {
6
6
  border-radius: var(--gl-action-border-radius);
7
7
  @apply gl-flex;
8
+ @apply gl-m-0;
8
9
  @apply gl-pl-0;
9
10
  @apply gl-list-none;
10
11
  }
@@ -47,6 +47,9 @@ export default {
47
47
  required: false,
48
48
  default: 'Search',
49
49
  },
50
+ /**
51
+ * When true, shows a clear button to reset the search.
52
+ */
50
53
  clearable: {
51
54
  type: Boolean,
52
55
  required: false,
@@ -92,6 +95,9 @@ export default {
92
95
  required: false,
93
96
  default: 'Clear recent searches',
94
97
  },
98
+ /**
99
+ * Text displayed when there are no recent searches.
100
+ */
95
101
  noRecentSearchesText: {
96
102
  type: String,
97
103
  required: false,
@@ -24,11 +24,17 @@ export default {
24
24
  GlButton,
25
25
  },
26
26
  props: {
27
+ /**
28
+ * Array of option objects for the segmented control.
29
+ */
27
30
  options: {
28
31
  type: Array,
29
32
  required: true,
30
33
  validator: validateOptionsProp,
31
34
  },
35
+ /**
36
+ * The currently selected value.
37
+ */
32
38
  value: {
33
39
  type: [String, Number, Boolean],
34
40
  required: true,
@@ -10,6 +10,9 @@ export default {
10
10
  },
11
11
  inheritAttrs: false,
12
12
  props: {
13
+ /**
14
+ * Additional CSS classes to apply to the table element.
15
+ */
13
16
  tableClass,
14
17
  /**
15
18
  * Array of items displayed in the table as rows.
@@ -19,11 +22,17 @@ export default {
19
22
  required: false,
20
23
  default: () => [],
21
24
  },
25
+ /**
26
+ * Array of field definitions for table columns.
27
+ */
22
28
  fields: {
23
29
  type: Array,
24
30
  required: false,
25
31
  default: null,
26
32
  },
33
+ /**
34
+ * When true, makes the table header sticky.
35
+ */
27
36
  stickyHeader: {
28
37
  type: Boolean,
29
38
  default: false,
@@ -14,6 +14,9 @@ export default {
14
14
  },
15
15
  inheritAttrs: false,
16
16
  props: {
17
+ /**
18
+ * Additional CSS classes to apply to the tab title link.
19
+ */
17
20
  titleLinkClass: {
18
21
  type: [String, Array, Object],
19
22
  required: false,
@@ -14,34 +14,52 @@ export default {
14
14
  },
15
15
  inheritAttrs: false,
16
16
  props: {
17
+ /**
18
+ * Configuration for the primary action button in the tabs.
19
+ */
17
20
  actionPrimary: {
18
21
  type: Object,
19
22
  required: false,
20
23
  default: null,
21
24
  validator: (obj) => validatorHelper(obj),
22
25
  },
26
+ /**
27
+ * Configuration for the secondary action button in the tabs.
28
+ */
23
29
  actionSecondary: {
24
30
  type: Object,
25
31
  required: false,
26
32
  default: null,
27
33
  validator: (obj) => validatorHelper(obj),
28
34
  },
35
+ /**
36
+ * Configuration for the tertiary action button in the tabs.
37
+ */
29
38
  actionTertiary: {
30
39
  type: Object,
31
40
  required: false,
32
41
  default: null,
33
42
  validator: (obj) => validatorHelper(obj),
34
43
  },
44
+ /**
45
+ * Additional CSS classes to apply to the tab content area.
46
+ */
35
47
  contentClass: {
36
48
  type: [String, Array, Object],
37
49
  required: false,
38
50
  default: null,
39
51
  },
52
+ /**
53
+ * Additional CSS classes to apply to the tab navigation.
54
+ */
40
55
  navClass: {
41
56
  type: [String, Array, Object],
42
57
  required: false,
43
58
  default: null,
44
59
  },
60
+ /**
61
+ * When true, makes the tabs stretch to fill the available width.
62
+ */
45
63
  justified: {
46
64
  type: Boolean,
47
65
  required: false,
@@ -63,6 +81,9 @@ export default {
63
81
  required: false,
64
82
  default: 'tab',
65
83
  },
84
+ /**
85
+ * The currently active tab value.
86
+ */
66
87
  value: {
67
88
  type: Number,
68
89
  required: false,
@@ -11,19 +11,31 @@ export default {
11
11
  CloseButton,
12
12
  },
13
13
  props: {
14
+ /**
15
+ * Unique identifier for the toast notification.
16
+ */
14
17
  toastId: {
15
18
  type: String,
16
19
  required: true,
17
20
  },
21
+ /**
22
+ * The message text to display in the toast.
23
+ */
18
24
  message: {
19
25
  type: String,
20
26
  required: true,
21
27
  },
28
+ /**
29
+ * Action button configuration for the toast.
30
+ */
22
31
  action: {
23
32
  type: Object,
24
33
  required: false,
25
34
  default: null,
26
35
  },
36
+ /**
37
+ * Delay in milliseconds before auto-hiding the toast.
38
+ */
27
39
  autoHideDelay: {
28
40
  type: Number,
29
41
  required: false,
@@ -18,6 +18,9 @@ export default {
18
18
  event: 'change',
19
19
  },
20
20
  props: {
21
+ /**
22
+ * The name attribute for the hidden input element.
23
+ */
21
24
  name: {
22
25
  type: String,
23
26
  required: false,
@@ -7,21 +7,33 @@ export default {
7
7
  name: 'GlTokenContainer',
8
8
  components: { GlToken, GlButton },
9
9
  props: {
10
+ /**
11
+ * Array of token objects to display.
12
+ */
10
13
  tokens: {
11
14
  type: Array,
12
15
  // All tokens need to have an `id` key
13
16
  validator: tokensValidator,
14
17
  required: true,
15
18
  },
19
+ /**
20
+ * Function to register focus handling on tokens.
21
+ */
16
22
  registerFocusOnToken: {
17
23
  type: Function,
18
24
  required: true,
19
25
  },
26
+ /**
27
+ * When true, renders tokens in a non-interactive view-only mode.
28
+ */
20
29
  viewOnly: {
21
30
  type: Boolean,
22
31
  required: false,
23
32
  default: false,
24
33
  },
34
+ /**
35
+ * When true, shows a button to clear all tokens.
36
+ */
25
37
  showClearAllButton: {
26
38
  type: Boolean,
27
39
  required: false,
@@ -7,42 +7,69 @@ export default {
7
7
  name: 'GlTokenSelectorDropdown',
8
8
  components: { GlDropdownItem },
9
9
  props: {
10
+ /**
11
+ * When true, shows the dropdown.
12
+ */
10
13
  show: {
11
14
  type: Boolean,
12
15
  required: true,
13
16
  },
17
+ /**
18
+ * Additional CSS classes for the dropdown menu.
19
+ */
14
20
  menuClass: {
15
21
  type: [String, Array, Object],
16
22
  required: false,
17
23
  default: '',
18
24
  },
25
+ /**
26
+ * When true, shows a loading state in the dropdown.
27
+ */
19
28
  loading: {
20
29
  type: Boolean,
21
30
  required: false,
22
31
  default: false,
23
32
  },
33
+ /**
34
+ * Array of items to display in the dropdown.
35
+ */
24
36
  dropdownItems: {
25
37
  type: Array,
26
38
  // All items need to have an `id` key
27
39
  validator: tokensValidator,
28
40
  required: true,
29
41
  },
42
+ /**
43
+ * Current text in the search input.
44
+ */
30
45
  inputText: {
31
46
  type: String,
32
47
  required: true,
33
48
  },
49
+ /**
50
+ * When true, allows user-defined tokens to be added.
51
+ */
34
52
  userDefinedTokenCanBeAdded: {
35
53
  type: Boolean,
36
54
  required: true,
37
55
  },
56
+ /**
57
+ * Unique identifier for the component.
58
+ */
38
59
  componentId: {
39
60
  type: String,
40
61
  required: true,
41
62
  },
63
+ /**
64
+ * Function to register event handlers for the dropdown.
65
+ */
42
66
  registerDropdownEventHandlers: {
43
67
  type: Function,
44
68
  required: true,
45
69
  },
70
+ /**
71
+ * Function to register reset of focused dropdown item.
72
+ */
46
73
  registerResetFocusedDropdownItem: {
47
74
  type: Function,
48
75
  required: true,
@@ -51,30 +51,48 @@ export default {
51
51
  },
52
52
  inheritAttrs: false,
53
53
  props: {
54
+ /**
55
+ * The chart data series to render.
56
+ */
54
57
  data: {
55
58
  type: Array,
56
59
  required: true,
57
60
  },
61
+ /**
62
+ * Additional ECharts option overrides.
63
+ */
58
64
  option: {
59
65
  type: Object,
60
66
  required: false,
61
67
  default: () => ({}),
62
68
  },
69
+ /**
70
+ * Array of threshold line configurations.
71
+ */
63
72
  thresholds: {
64
73
  type: Array,
65
74
  required: false,
66
75
  default: () => [],
67
76
  },
77
+ /**
78
+ * Array of annotation configurations.
79
+ */
68
80
  annotations: {
69
81
  type: Array,
70
82
  required: false,
71
83
  default: () => [],
72
84
  },
85
+ /**
86
+ * When true, includes average and maximum values in the legend.
87
+ */
73
88
  includeLegendAvgMax: {
74
89
  type: Boolean,
75
90
  required: false,
76
91
  default: true,
77
92
  },
93
+ /**
94
+ * Custom function to format annotation tooltip text.
95
+ */
78
96
  formatAnnotationsTooltipText: {
79
97
  type: Function,
80
98
  required: false,
@@ -91,26 +109,41 @@ export default {
91
109
  required: false,
92
110
  default: null,
93
111
  },
112
+ /**
113
+ * Custom text for the average value in the legend.
114
+ */
94
115
  legendAverageText: {
95
116
  type: String,
96
117
  required: false,
97
118
  default: LEGEND_AVERAGE_TEXT,
98
119
  },
120
+ /**
121
+ * Custom text for the maximum value in the legend.
122
+ */
99
123
  legendMaxText: {
100
124
  type: String,
101
125
  required: false,
102
126
  default: LEGEND_MAX_TEXT,
103
127
  },
128
+ /**
129
+ * Custom text for the minimum value in the legend.
130
+ */
104
131
  legendMinText: {
105
132
  type: String,
106
133
  required: false,
107
134
  default: LEGEND_MIN_TEXT,
108
135
  },
136
+ /**
137
+ * Custom text for the current value in the legend.
138
+ */
109
139
  legendCurrentText: {
110
140
  type: String,
111
141
  required: false,
112
142
  default: LEGEND_CURRENT_TEXT,
113
143
  },
144
+ /**
145
+ * Layout configuration for the legend.
146
+ */
114
147
  legendLayout: {
115
148
  type: String,
116
149
  required: false,
@@ -127,6 +160,9 @@ export default {
127
160
  required: false,
128
161
  default: null,
129
162
  },
163
+ /**
164
+ * Series information for the legend.
165
+ */
130
166
  legendSeriesInfo: {
131
167
  type: Array,
132
168
  required: false,
@@ -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,