@gitlab/ui 72.11.0 → 72.12.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 (225) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/tokens/css/tokens.css +1 -1
  3. package/dist/tokens/css/tokens.dark.css +1 -1
  4. package/dist/tokens/js/tokens.dark.js +1 -1
  5. package/dist/tokens/js/tokens.js +1 -1
  6. package/dist/tokens/scss/_tokens.dark.scss +1 -1
  7. package/dist/tokens/scss/_tokens.scss +1 -1
  8. package/package.json +1 -1
  9. package/src/directives/safe_html/safe_html.js +5 -0
  10. package/src/directives/safe_html/safe_html.spec.js +17 -0
  11. package/src/internal/color_contrast/color_contrast.md +8 -0
  12. package/src/internal/color_contrast/color_contrast.spec.js +34 -0
  13. package/src/internal/color_contrast/color_contrast.stories.js +41 -0
  14. package/src/internal/color_contrast/color_contrast.vue +52 -0
  15. package/src/tokens/color.dark.tokens.stories.js +36 -22
  16. package/src/tokens/color.data_viz.dark.tokens.stories.js +13 -30
  17. package/src/tokens/color.data_viz.tokens.stories.js +13 -30
  18. package/src/tokens/color.theme.dark.tokens.stories.js +15 -30
  19. package/src/tokens/color.theme.tokens.stories.js +15 -30
  20. package/src/tokens/color.tokens.stories.js +36 -22
  21. package/src/tokens/color.transparency.tokens.stories.js +9 -12
  22. package/src/tokens/common_story_options.js +22 -80
  23. package/src/utils/constants.js +25 -0
  24. package/src/utils/utils.js +21 -1
  25. package/dist/charts.js +0 -14
  26. package/dist/components/base/accordion/accordion.js +0 -73
  27. package/dist/components/base/accordion/accordion_item.js +0 -133
  28. package/dist/components/base/alert/alert.js +0 -222
  29. package/dist/components/base/avatar/avatar.js +0 -160
  30. package/dist/components/base/avatar_labeled/avatar_labeled.js +0 -107
  31. package/dist/components/base/avatar_link/avatar_link.js +0 -47
  32. package/dist/components/base/avatars_inline/avatars_inline.js +0 -119
  33. package/dist/components/base/badge/badge.js +0 -105
  34. package/dist/components/base/banner/banner.js +0 -139
  35. package/dist/components/base/breadcrumb/breadcrumb.js +0 -122
  36. package/dist/components/base/breadcrumb/breadcrumb_item.js +0 -73
  37. package/dist/components/base/broadcast_message/broadcast_message.js +0 -112
  38. package/dist/components/base/broadcast_message/constants.js +0 -5
  39. package/dist/components/base/button/button.js +0 -151
  40. package/dist/components/base/button_group/button_group.js +0 -47
  41. package/dist/components/base/card/card.js +0 -71
  42. package/dist/components/base/carousel/carousel.js +0 -48
  43. package/dist/components/base/carousel/carousel_slide.js +0 -47
  44. package/dist/components/base/collapse/collapse.js +0 -59
  45. package/dist/components/base/datepicker/datepicker.js +0 -386
  46. package/dist/components/base/daterange_picker/daterange_picker.js +0 -288
  47. package/dist/components/base/drawer/drawer.js +0 -127
  48. package/dist/components/base/dropdown/dropdown.js +0 -261
  49. package/dist/components/base/dropdown/dropdown_divider.js +0 -48
  50. package/dist/components/base/dropdown/dropdown_form.js +0 -48
  51. package/dist/components/base/dropdown/dropdown_item.js +0 -131
  52. package/dist/components/base/dropdown/dropdown_section_header.js +0 -48
  53. package/dist/components/base/dropdown/dropdown_text.js +0 -48
  54. package/dist/components/base/filtered_search/common_story_options.js +0 -14
  55. package/dist/components/base/filtered_search/filtered_search.js +0 -388
  56. package/dist/components/base/filtered_search/filtered_search_suggestion.js +0 -89
  57. package/dist/components/base/filtered_search/filtered_search_suggestion_list.js +0 -138
  58. package/dist/components/base/filtered_search/filtered_search_term.js +0 -203
  59. package/dist/components/base/filtered_search/filtered_search_token.js +0 -384
  60. package/dist/components/base/filtered_search/filtered_search_token_segment.js +0 -420
  61. package/dist/components/base/filtered_search/filtered_search_utils.js +0 -242
  62. package/dist/components/base/form/form.js +0 -49
  63. package/dist/components/base/form/form_checkbox/form_checkbox.js +0 -78
  64. package/dist/components/base/form/form_checkbox/form_checkbox_group.js +0 -60
  65. package/dist/components/base/form/form_checkbox_tree/checkbox_tree_node.js +0 -79
  66. package/dist/components/base/form/form_checkbox_tree/form_checkbox_tree.js +0 -138
  67. package/dist/components/base/form/form_checkbox_tree/models/constants.js +0 -12
  68. package/dist/components/base/form/form_checkbox_tree/models/node.js +0 -51
  69. package/dist/components/base/form/form_checkbox_tree/models/tree.js +0 -199
  70. package/dist/components/base/form/form_combobox/constants.js +0 -55
  71. package/dist/components/base/form/form_combobox/form_combobox.js +0 -230
  72. package/dist/components/base/form/form_date/form_date.js +0 -143
  73. package/dist/components/base/form/form_fields/form_field_validator.js +0 -93
  74. package/dist/components/base/form/form_fields/form_fields.js +0 -214
  75. package/dist/components/base/form/form_fields/mappers.js +0 -13
  76. package/dist/components/base/form/form_fields/validators.js +0 -48
  77. package/dist/components/base/form/form_group/form_group.js +0 -97
  78. package/dist/components/base/form/form_input/form_input.js +0 -121
  79. package/dist/components/base/form/form_input_group/form_input_group.js +0 -108
  80. package/dist/components/base/form/form_input_group/form_input_group_mixin.js +0 -41
  81. package/dist/components/base/form/form_radio/form_radio.js +0 -65
  82. package/dist/components/base/form/form_radio_group/form_radio_group.js +0 -78
  83. package/dist/components/base/form/form_select/constants.js +0 -12
  84. package/dist/components/base/form/form_select/form_select.js +0 -82
  85. package/dist/components/base/form/form_text/form_text.js +0 -38
  86. package/dist/components/base/form/form_textarea/form_textarea.js +0 -112
  87. package/dist/components/base/form/input_group_text/input_group_text.js +0 -48
  88. package/dist/components/base/icon/icon.js +0 -111
  89. package/dist/components/base/infinite_scroll/infinite_scroll.js +0 -197
  90. package/dist/components/base/keyset_pagination/keyset_pagination.js +0 -151
  91. package/dist/components/base/label/label.js +0 -163
  92. package/dist/components/base/link/link.js +0 -50
  93. package/dist/components/base/loading_icon/loading_icon.js +0 -111
  94. package/dist/components/base/markdown/markdown.js +0 -52
  95. package/dist/components/base/modal/modal.js +0 -204
  96. package/dist/components/base/nav/nav.js +0 -48
  97. package/dist/components/base/nav/nav_item.js +0 -48
  98. package/dist/components/base/nav/nav_item_dropdown.js +0 -62
  99. package/dist/components/base/navbar/navbar.js +0 -48
  100. package/dist/components/base/new_dropdowns/base_dropdown/base_dropdown.js +0 -453
  101. package/dist/components/base/new_dropdowns/base_dropdown/constants.js +0 -4
  102. package/dist/components/base/new_dropdowns/constants.js +0 -21
  103. package/dist/components/base/new_dropdowns/disclosure/constants.js +0 -8
  104. package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown.js +0 -370
  105. package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown_group.js +0 -110
  106. package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown_item.js +0 -143
  107. package/dist/components/base/new_dropdowns/disclosure/mock_data.js +0 -147
  108. package/dist/components/base/new_dropdowns/disclosure/utils.js +0 -39
  109. package/dist/components/base/new_dropdowns/listbox/listbox.js +0 -767
  110. package/dist/components/base/new_dropdowns/listbox/listbox_group.js +0 -58
  111. package/dist/components/base/new_dropdowns/listbox/listbox_item.js +0 -91
  112. package/dist/components/base/new_dropdowns/listbox/listbox_search_input.js +0 -93
  113. package/dist/components/base/new_dropdowns/listbox/mock_data.js +0 -118
  114. package/dist/components/base/new_dropdowns/listbox/utils.js +0 -34
  115. package/dist/components/base/paginated_list/paginated_list.js +0 -180
  116. package/dist/components/base/pagination/pagination.js +0 -399
  117. package/dist/components/base/path/data.js +0 -34
  118. package/dist/components/base/path/path.js +0 -189
  119. package/dist/components/base/popover/popover.js +0 -110
  120. package/dist/components/base/progress_bar/progress_bar.js +0 -48
  121. package/dist/components/base/search_box_by_click/search_box_by_click.js +0 -235
  122. package/dist/components/base/search_box_by_type/search_box_by_type.js +0 -167
  123. package/dist/components/base/segmented_control/segmented_control.js +0 -109
  124. package/dist/components/base/skeleton_loader/skeleton_loader.js +0 -224
  125. package/dist/components/base/sorting/sorting.js +0 -171
  126. package/dist/components/base/sorting/sorting_item.js +0 -109
  127. package/dist/components/base/table/constants.js +0 -5
  128. package/dist/components/base/table/table.js +0 -89
  129. package/dist/components/base/table_lite/table_lite.js +0 -72
  130. package/dist/components/base/tabs/constants.js +0 -3
  131. package/dist/components/base/tabs/tab/tab.js +0 -83
  132. package/dist/components/base/tabs/tabs/scrollable_tabs.js +0 -143
  133. package/dist/components/base/tabs/tabs/tabs.js +0 -224
  134. package/dist/components/base/toast/toast.js +0 -82
  135. package/dist/components/base/toggle/toggle.js +0 -180
  136. package/dist/components/base/token/token.js +0 -85
  137. package/dist/components/base/token_selector/helpers.js +0 -5
  138. package/dist/components/base/token_selector/token_container.js +0 -165
  139. package/dist/components/base/token_selector/token_selector.js +0 -403
  140. package/dist/components/base/token_selector/token_selector_dropdown.js +0 -199
  141. package/dist/components/base/tooltip/tooltip.js +0 -55
  142. package/dist/components/charts/area/area.js +0 -311
  143. package/dist/components/charts/bar/bar.js +0 -253
  144. package/dist/components/charts/chart/chart.js +0 -215
  145. package/dist/components/charts/column/column.js +0 -226
  146. package/dist/components/charts/discrete_scatter/discrete_scatter.js +0 -203
  147. package/dist/components/charts/gauge/gauge.js +0 -208
  148. package/dist/components/charts/heatmap/heatmap.js +0 -295
  149. package/dist/components/charts/heatmap/index.js +0 -2
  150. package/dist/components/charts/legend/legend.js +0 -228
  151. package/dist/components/charts/line/line.js +0 -308
  152. package/dist/components/charts/series_label/series_label.js +0 -100
  153. package/dist/components/charts/single_stat/single_stat.js +0 -152
  154. package/dist/components/charts/sparkline/sparkline.js +0 -261
  155. package/dist/components/charts/stacked_column/stacked_column.js +0 -335
  156. package/dist/components/charts/tooltip/tooltip.js +0 -251
  157. package/dist/components/experimental/duo/chat/components/duo_chat_conversation/duo_chat_conversation.js +0 -83
  158. package/dist/components/experimental/duo/chat/components/duo_chat_loader/duo_chat_loader.js +0 -100
  159. package/dist/components/experimental/duo/chat/components/duo_chat_message/copy_code_element.js +0 -35
  160. package/dist/components/experimental/duo/chat/components/duo_chat_message/duo_chat_message.js +0 -115
  161. package/dist/components/experimental/duo/chat/components/duo_chat_message_sources/duo_chat_message_sources.js +0 -104
  162. package/dist/components/experimental/duo/chat/components/duo_chat_predefined_prompts/duo_chat_predefined_prompts.js +0 -64
  163. package/dist/components/experimental/duo/chat/constants.js +0 -23
  164. package/dist/components/experimental/duo/chat/duo_chat.js +0 -359
  165. package/dist/components/experimental/duo/chat/mock_data.js +0 -83
  166. package/dist/components/experimental/duo/user_feedback/user_feedback.js +0 -94
  167. package/dist/components/experimental/duo/user_feedback/user_feedback_modal.js +0 -124
  168. package/dist/components/experimental/experiment_badge/constants.js +0 -4
  169. package/dist/components/experimental/experiment_badge/experiment_badge.js +0 -107
  170. package/dist/components/mixins/button_mixin.js +0 -11
  171. package/dist/components/mixins/safe_link_mixin.js +0 -30
  172. package/dist/components/mixins/tooltip_mixin.js +0 -21
  173. package/dist/components/regions/dashboard_skeleton/dashboard_skeleton.js +0 -53
  174. package/dist/components/regions/empty_state/empty_state.js +0 -154
  175. package/dist/components/shared_components/charts/tooltip_default_format.js +0 -53
  176. package/dist/components/shared_components/clear_icon_button/clear_icon_button.js +0 -64
  177. package/dist/components/shared_components/close_button/close_button.js +0 -54
  178. package/dist/components/utilities/animated_number/animated_number.js +0 -131
  179. package/dist/components/utilities/friendly_wrap/friendly_wrap.js +0 -75
  180. package/dist/components/utilities/intersection_observer/intersection_observer.js +0 -88
  181. package/dist/components/utilities/intersperse/intersperse.js +0 -86
  182. package/dist/components/utilities/sprintf/sprintf.js +0 -172
  183. package/dist/components/utilities/truncate/constants.js +0 -7
  184. package/dist/components/utilities/truncate/truncate.js +0 -111
  185. package/dist/components/utilities/truncate_text/constants.js +0 -7
  186. package/dist/components/utilities/truncate_text/truncate_text.js +0 -146
  187. package/dist/config.js +0 -86
  188. package/dist/directives/collapse_toggle.js +0 -1
  189. package/dist/directives/hover_load/hover_load.js +0 -45
  190. package/dist/directives/modal.js +0 -1
  191. package/dist/directives/outside/get_event_like_time_stamp.js +0 -33
  192. package/dist/directives/outside/outside.js +0 -106
  193. package/dist/directives/resize_observer/resize_observer.js +0 -51
  194. package/dist/directives/safe_html/constants.js +0 -6
  195. package/dist/directives/safe_html/safe_html.js +0 -35
  196. package/dist/directives/safe_link/mock_data.js +0 -10
  197. package/dist/directives/safe_link/safe_link.js +0 -65
  198. package/dist/directives/tooltip.js +0 -1
  199. package/dist/index.css +0 -7
  200. package/dist/index.css.map +0 -1
  201. package/dist/index.js +0 -105
  202. package/dist/tokens/common_story_options.js +0 -109
  203. package/dist/utils/breakpoints.js +0 -20
  204. package/dist/utils/charts/config.js +0 -556
  205. package/dist/utils/charts/constants.js +0 -63
  206. package/dist/utils/charts/mock_data.js +0 -211
  207. package/dist/utils/charts/story_config.js +0 -42
  208. package/dist/utils/charts/theme.js +0 -192
  209. package/dist/utils/charts/utils.js +0 -54
  210. package/dist/utils/constants.js +0 -270
  211. package/dist/utils/data_utils.js +0 -21
  212. package/dist/utils/datetime_utility.js +0 -61
  213. package/dist/utils/i18n.js +0 -15
  214. package/dist/utils/is_slot_empty.js +0 -38
  215. package/dist/utils/number_utils.js +0 -124
  216. package/dist/utils/stories_constants.js +0 -29
  217. package/dist/utils/stories_utils.js +0 -13
  218. package/dist/utils/story_decorators/container.js +0 -16
  219. package/dist/utils/string_utils.js +0 -69
  220. package/dist/utils/svgs/svg_paths.js +0 -7
  221. package/dist/utils/test_utils.js +0 -33
  222. package/dist/utils/use_fake_date.js +0 -29
  223. package/dist/utils/use_mock_intersection_observer.js +0 -108
  224. package/dist/utils/utils.js +0 -177
  225. package/dist/utils.js +0 -5
@@ -1,211 +0,0 @@
1
- import { BLUE_500 } from '../../../dist/tokens/js/tokens';
2
- import { hexToRgba } from '../utils';
3
- import { colorFromDefaultPalette } from './theme';
4
-
5
- const mockDefaultDataZoomConfig = {
6
- dataZoom: [{
7
- bottom: 22,
8
- filterMode: 'none',
9
- minSpan: 0.01,
10
- type: 'slider'
11
- }, {
12
- type: 'inside',
13
- filterMode: 'none',
14
- minSpan: 0.01,
15
- disabled: true
16
- }],
17
- grid: {
18
- bottom: 81
19
- },
20
- xAxis: {
21
- nameGap: 67
22
- }
23
- };
24
- const mockDefaultChartOptions = {
25
- grid: {
26
- top: 16,
27
- bottom: 44,
28
- left: 64,
29
- right: 32
30
- },
31
- xAxis: {
32
- name: 'Value',
33
- type: 'value',
34
- nameLocation: 'center',
35
- boundaryGap: false,
36
- splitLine: {
37
- show: false
38
- },
39
- axisPointer: {
40
- show: true,
41
- label: {},
42
- lineStyle: {
43
- type: 'solid'
44
- }
45
- }
46
- },
47
- yAxis: {
48
- name: 'Value',
49
- type: 'value',
50
- nameLocation: 'center',
51
- nameGap: 50,
52
- axisLabel: {},
53
- axisTick: {
54
- show: false
55
- }
56
- },
57
- legend: {
58
- show: false
59
- }
60
- };
61
-
62
- /**
63
- * This is currently used in area.stories.js and line.stories.js
64
- */
65
- const mockAnnotationsSeries = {
66
- series: [{
67
- type: 'scatter',
68
- name: 'annotations',
69
- data: [],
70
- markLine: {
71
- lineStyle: {
72
- color: BLUE_500
73
- },
74
- data: [{
75
- xAxis: '2018-01-25T01:00:00.000Z'
76
- }, {
77
- xAxis: '2018-01-25T10:00:00.000Z'
78
- }, {
79
- xAxis: '2018-02-06T08:00:00.000Z'
80
- }]
81
- },
82
- markPoint: {
83
- symbol: 'path://m5 229 5 8h-10z',
84
- symbolSize: '8',
85
- symbolOffset: [0, ' 60%'],
86
- itemStyle: {
87
- color: BLUE_500
88
- },
89
- data: [{
90
- name: 'annotations',
91
- xAxis: '2018-01-25T01:00:00.000Z',
92
- yAxis: 0,
93
- tooltipData: {
94
- content: 'Scranton strangler was caught.'
95
- }
96
- }, {
97
- name: 'annotations',
98
- xAxis: '2018-01-25T10:00:00.000Z',
99
- yAxis: 0,
100
- tooltipData: {
101
- content: 'Tobys green car is missing.'
102
- }
103
- }, {
104
- name: 'annotations',
105
- xAxis: '2018-02-06T08:00:00.000Z',
106
- yAxis: 0,
107
- tooltipData: {
108
- content: 'It was actually Toby!'
109
- }
110
- }]
111
- }
112
- }]
113
- };
114
-
115
- /**
116
- * This is currently used in area.stories.js and line.stories.js
117
- */
118
- const mockAnnotationsConfigs = {
119
- annotations: [{
120
- min: '2018-01-25T01:00:00.000Z',
121
- max: '2018-01-25T01:00:00.000Z',
122
- tooltipData: {
123
- content: 'Scranton strangler was caught.'
124
- }
125
- }, {
126
- min: '2018-01-25T10:00:00.000Z',
127
- max: '2018-01-25T10:00:00.000Z',
128
- tooltipData: {
129
- content: 'Tobys green car is missing.'
130
- }
131
- }, {
132
- min: '2018-02-06T08:00:00.000Z',
133
- max: '2018-02-06T08:00:00.000Z',
134
- tooltipData: {
135
- content: 'It was actually Toby!'
136
- }
137
- }]
138
- };
139
- const mockDefaultStackedBarData = [{
140
- name: 'Fun 1',
141
- data: [58, 49, 38, 23, 27, 68, 38, 35, 7, 64, 65, 31]
142
- }, {
143
- name: 'Fun 2',
144
- data: [8, 6, 34, 19, 9, 7, 17, 25, 14, 7, 10, 32]
145
- }, {
146
- name: 'Fun 3',
147
- data: [67, 60, 66, 32, 61, 54, 13, 50, 16, 11, 47, 28]
148
- }, {
149
- name: 'Fun 4',
150
- data: [8, 9, 5, 40, 13, 19, 58, 21, 47, 59, 23, 46]
151
- }];
152
- const mockDefaultStackedLineData = [{
153
- name: 'Stacked median line',
154
- data: [67, 60, 66, 32, 61, 54, 13, 50, 16, 11, 47, 28]
155
- }];
156
- const mockDefaultLineData = [{
157
- name: 'Median line',
158
- data: [['Joe', 1120], ['Sarah', 732], ['Tom', 501], ['Mary', 634], ['Mike', 290], ['Ben', 130], ['Jane', 120]]
159
- }];
160
- const mockDefaultBarData = [{
161
- name: 'Full',
162
- data: [['Joe', 1220], ['Sarah', 932], ['Tom', 901], ['Mary', 934], ['Mike', 1290], ['Ben', 1330], ['Jane', 1320]]
163
- }];
164
- const mockRawBarData = [['Mon', 1220], ['Tue', 932], ['Wed', 901], ['Thu', 934], ['Fri', 1290], ['Sat', 1330], ['Sun', 1320]];
165
- const color = colorFromDefaultPalette(0);
166
- const mockDefaultLineChartConfig = {
167
- name: 'Line chart',
168
- data: [],
169
- type: 'line',
170
- yAxisIndex: 0,
171
- lineStyle: {
172
- color
173
- },
174
- itemStyle: {
175
- color
176
- }
177
- };
178
- const mockDefaultBarChartConfig = {
179
- type: 'bar',
180
- name: 'Bar chart',
181
- data: [],
182
- stack: null,
183
- barMaxWidth: '50%',
184
- yAxisIndex: 0,
185
- itemStyle: {
186
- color: hexToRgba(color, 0.2),
187
- borderColor: color,
188
- borderWidth: 1
189
- },
190
- emphasis: {
191
- itemStyle: {
192
- color: hexToRgba(color, 0.4)
193
- }
194
- }
195
- };
196
- const mockSecondaryData = [{
197
- name: 'Secondary 1',
198
- data: [13, 25, 38, 23, 27, 28, 29, 27, 1, 15, 65, 31]
199
- }];
200
- const mockSecondaryBarData = [{
201
- name: 'Secondary',
202
- type: 'bar',
203
- data: [['Joe', 220], ['Sarah', 392], ['Tom', 291], ['Mary', 594], ['Mike', 320], ['Ben', 230], ['Jane', 120], ['Anne', 290]]
204
- }];
205
- const mockSecondaryTrendlineData = [{
206
- type: 'line',
207
- name: 'Median line',
208
- data: [['Joe', 220], ['Sarah', 392], ['Tom', 291], ['Mary', 594], ['Mike', 320], ['Ben', 230], ['Jane', 120], ['Anne', 290]]
209
- }];
210
-
211
- export { mockAnnotationsConfigs, mockAnnotationsSeries, mockDefaultBarChartConfig, mockDefaultBarData, mockDefaultChartOptions, mockDefaultDataZoomConfig, mockDefaultLineChartConfig, mockDefaultLineData, mockDefaultStackedBarData, mockDefaultStackedLineData, mockRawBarData, mockSecondaryBarData, mockSecondaryData, mockSecondaryTrendlineData };
@@ -1,42 +0,0 @@
1
- import times from 'lodash/times';
2
- import { SERIES_NAME, SERIES_NAME_SHORT } from '../stories_constants';
3
- import { marqueeSelectionSvgPath, redoSvgPath, clearAllSvgPath, downloadSvgPath } from '../svgs/svg_paths';
4
- import { colorFromDefaultPalette } from './theme';
5
-
6
- const toolbox = {
7
- feature: {
8
- dataZoom: {
9
- icon: {
10
- zoom: marqueeSelectionSvgPath,
11
- back: redoSvgPath
12
- }
13
- },
14
- restore: {
15
- icon: clearAllSvgPath
16
- },
17
- saveAsImage: {
18
- icon: downloadSvgPath
19
- }
20
- }
21
- };
22
-
23
- /**
24
- * Generates series data for usage in chart examples
25
- *
26
- * @param {Number} amount number of generated series
27
- * @param {String} nameType type of names - how long they should be
28
- * @returns {Array} generated series data
29
- */
30
- const generateSeriesData = function () {
31
- let amount = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 10;
32
- let nameType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : SERIES_NAME_SHORT;
33
- const defaultData = [820, 932, 960, 1150, 1290, 1330, 1390];
34
- const name = SERIES_NAME[nameType];
35
- return times(amount, index => ({
36
- color: colorFromDefaultPalette(index),
37
- data: defaultData.map(value => value * index),
38
- name: `${name}${index + 1}`
39
- }));
40
- };
41
-
42
- export { generateSeriesData, toolbox };
@@ -1,192 +0,0 @@
1
- import { GRAY_600, GRAY_200, GRAY_50, GRAY_300, GRAY_100, DATA_VIZ_BLUE_200, DATA_VIZ_BLUE_400, DATA_VIZ_BLUE_600, DATA_VIZ_BLUE_800, GRAY_900, GRAY_500, DATA_VIZ_BLUE_500, DATA_VIZ_BLUE_900, DATA_VIZ_ORANGE_500, DATA_VIZ_ORANGE_600, DATA_VIZ_AQUA_500, DATA_VIZ_GREEN_600, DATA_VIZ_MAGENTA_500, DATA_VIZ_BLUE_700, DATA_VIZ_ORANGE_800, DATA_VIZ_AQUA_700, DATA_VIZ_GREEN_800, DATA_VIZ_MAGENTA_700, DATA_VIZ_ORANGE_950, DATA_VIZ_AQUA_900, DATA_VIZ_GREEN_950, DATA_VIZ_MAGENTA_900, DATA_VIZ_ORANGE_700, DATA_VIZ_AQUA_600, DATA_VIZ_GREEN_700, DATA_VIZ_MAGENTA_600, DATA_VIZ_ORANGE_900, DATA_VIZ_AQUA_800, DATA_VIZ_GREEN_900, DATA_VIZ_MAGENTA_800, DATA_VIZ_BLUE_950, DATA_VIZ_AQUA_950, DATA_VIZ_GREEN_500, DATA_VIZ_MAGENTA_950, DATA_VIZ_ORANGE_400, DATA_VIZ_GREEN_400, DATA_VIZ_BLUE_300, DATA_VIZ_ORANGE_200, DATA_VIZ_AQUA_300, DATA_VIZ_GREEN_200, DATA_VIZ_MAGENTA_300, DATA_VIZ_BLUE_100, DATA_VIZ_ORANGE_50, DATA_VIZ_AQUA_100, DATA_VIZ_GREEN_50, DATA_VIZ_MAGENTA_100, DATA_VIZ_ORANGE_300, DATA_VIZ_AQUA_400, DATA_VIZ_GREEN_300, DATA_VIZ_MAGENTA_400, DATA_VIZ_ORANGE_100, DATA_VIZ_AQUA_200, DATA_VIZ_GREEN_100, DATA_VIZ_MAGENTA_200, DATA_VIZ_BLUE_50, DATA_VIZ_AQUA_50, DATA_VIZ_MAGENTA_50, RED_500, WHITE } from '../../../dist/tokens/js/tokens';
2
- import { scrollHandleSvgPath } from '../svgs/svg_paths';
3
- import { hexToRgba } from '../utils';
4
-
5
- const GL_BORDER_RADIUS_BASE = '0.25rem';
6
- const themeName = 'gitlab';
7
- const heatmapHues = [GRAY_100, DATA_VIZ_BLUE_200, DATA_VIZ_BLUE_400, DATA_VIZ_BLUE_600, DATA_VIZ_BLUE_800];
8
- const gaugeNeutralHues = [GRAY_900, GRAY_500];
9
- const gaugeSafeHues = [DATA_VIZ_BLUE_500, DATA_VIZ_BLUE_900];
10
- const gaugeWarningHue = DATA_VIZ_ORANGE_500;
11
-
12
- /**
13
- * The default palette is based on the Categorical data palette
14
- * Categorical data (also known as qualitative or thematic) uses hue to
15
- * differentiate qualitative data, and lightness to differentiate quantitive data.
16
- * More info: https://design.gitlab.com/data-visualization/color#categorical-data
17
- */
18
- const colorPaletteDefault = [DATA_VIZ_BLUE_500, DATA_VIZ_ORANGE_600, DATA_VIZ_AQUA_500, DATA_VIZ_GREEN_600, DATA_VIZ_MAGENTA_500, DATA_VIZ_BLUE_700, DATA_VIZ_ORANGE_800, DATA_VIZ_AQUA_700, DATA_VIZ_GREEN_800, DATA_VIZ_MAGENTA_700, DATA_VIZ_BLUE_900, DATA_VIZ_ORANGE_950, DATA_VIZ_AQUA_900, DATA_VIZ_GREEN_950, DATA_VIZ_MAGENTA_900, DATA_VIZ_BLUE_600, DATA_VIZ_ORANGE_700, DATA_VIZ_AQUA_600, DATA_VIZ_GREEN_700, DATA_VIZ_MAGENTA_600, DATA_VIZ_BLUE_800, DATA_VIZ_ORANGE_900, DATA_VIZ_AQUA_800, DATA_VIZ_GREEN_900, DATA_VIZ_MAGENTA_800, DATA_VIZ_BLUE_950, DATA_VIZ_ORANGE_500, DATA_VIZ_AQUA_950, DATA_VIZ_GREEN_500, DATA_VIZ_MAGENTA_950];
19
- const colorFromDefaultPalette = index => colorPaletteDefault[index % colorPaletteDefault.length];
20
- const colorPaletteDark = [DATA_VIZ_BLUE_500, DATA_VIZ_ORANGE_400, DATA_VIZ_AQUA_500, DATA_VIZ_GREEN_400, DATA_VIZ_MAGENTA_500, DATA_VIZ_BLUE_300, DATA_VIZ_ORANGE_200, DATA_VIZ_AQUA_300, DATA_VIZ_GREEN_200, DATA_VIZ_MAGENTA_300, DATA_VIZ_BLUE_100, DATA_VIZ_ORANGE_50, DATA_VIZ_AQUA_100, DATA_VIZ_GREEN_50, DATA_VIZ_MAGENTA_100, DATA_VIZ_BLUE_400, DATA_VIZ_ORANGE_300, DATA_VIZ_AQUA_400, DATA_VIZ_GREEN_300, DATA_VIZ_MAGENTA_400, DATA_VIZ_BLUE_200, DATA_VIZ_ORANGE_100, DATA_VIZ_AQUA_200, DATA_VIZ_GREEN_100, DATA_VIZ_MAGENTA_200, DATA_VIZ_BLUE_50, DATA_VIZ_ORANGE_500, DATA_VIZ_AQUA_50, DATA_VIZ_GREEN_500, DATA_VIZ_MAGENTA_50];
21
- const colorFromDarkPalette = index => colorPaletteDark[index % colorPaletteDark.length];
22
- const axes = {
23
- axisLabel: {
24
- margin: 8,
25
- show: true,
26
- color: `var(--gray-600, ${GRAY_600})`,
27
- hideOverlap: true
28
- },
29
- axisLine: {
30
- show: false
31
- },
32
- axisPointer: {
33
- lineStyle: {
34
- type: 'solid',
35
- color: GRAY_600
36
- },
37
- label: {
38
- show: false
39
- }
40
- },
41
- axisTick: {
42
- show: true,
43
- alignWithLabel: true,
44
- lineStyle: {
45
- color: GRAY_200
46
- }
47
- },
48
- nameGap: 30,
49
- nameTextStyle: {
50
- fontWeight: 'bold'
51
- },
52
- splitLine: {
53
- lineStyle: {
54
- color: [GRAY_200]
55
- }
56
- },
57
- splitArea: {
58
- show: false,
59
- areaStyle: {
60
- color: [hexToRgba(GRAY_50, 0.3), hexToRgba(GRAY_300, 0.3)]
61
- }
62
- }
63
- };
64
- const isLineChartWithoutArea = options => Array.isArray(options === null || options === void 0 ? void 0 : options.series) && options.series.some(series => series.type === 'line' && !series.areaStyle);
65
- const createTheme = function () {
66
- let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
67
- return {
68
- color: colorPaletteDefault,
69
- backgroundColor: 'transparent',
70
- textStyle: {
71
- color: `var(--gl-text-color, ${GRAY_900})`
72
- },
73
- markLine: {
74
- silent: true,
75
- symbol: 'none',
76
- label: {
77
- show: false
78
- },
79
- lineStyle: {
80
- color: RED_500,
81
- width: 1,
82
- type: 'dashed'
83
- }
84
- },
85
- markArea: {
86
- silent: true,
87
- itemStyle: {
88
- color: hexToRgba(RED_500, 0.1)
89
- }
90
- },
91
- dataZoom: {
92
- borderColor: 'transparent',
93
- filterMode: 'none',
94
- brushSelect: false,
95
- dataBackground: {
96
- lineStyle: {
97
- width: 2,
98
- color: GRAY_200,
99
- opacity: 1
100
- },
101
- // render unfilled zoom-graph if the series is a line chart without area styles
102
- // more details: https://gitlab.com/gitlab-org/gitlab-ui/-/merge_requests/2364#note_666637306
103
- areaStyle: isLineChartWithoutArea(options) ? {} // Use empty object instead of null, see https://gitlab.com/gitlab-org/gitlab-ui/-/merge_requests/2185#note_707711029 for more context
104
- : {
105
- color: GRAY_50,
106
- opacity: 1
107
- }
108
- },
109
- fillerColor: hexToRgba(GRAY_200, 0.23),
110
- handleIcon: scrollHandleSvgPath,
111
- handleStyle: {
112
- borderColor: 'transparent',
113
- color: GRAY_500
114
- },
115
- handleSize: '50%',
116
- labelFormatter: () => null,
117
- textStyle: {
118
- color: GRAY_600
119
- }
120
- },
121
- toolbox: {
122
- top: '-5',
123
- left: 'center',
124
- itemSize: 14,
125
- emphasis: {
126
- iconStyle: {
127
- borderWidth: 0,
128
- color: GRAY_900,
129
- textBackgroundColor: WHITE,
130
- textBorderRadius: GL_BORDER_RADIUS_BASE,
131
- textPadding: [8, 12]
132
- }
133
- },
134
- iconStyle: {
135
- color: GRAY_500,
136
- borderWidth: 0
137
- },
138
- itemGap: 8,
139
- feature: {
140
- dataZoom: {
141
- title: {
142
- zoom: 'Click to zoom in on a portion of the graph',
143
- back: 'Remove selection'
144
- }
145
- },
146
- restore: {
147
- title: 'Remove all selections and return chart to default state'
148
- },
149
- saveAsImage: {
150
- title: 'Save chart as an image',
151
- name: 'graph'
152
- }
153
- }
154
- },
155
- markPoint: {
156
- label: {
157
- normal: {
158
- textStyle: {
159
- color: GRAY_50
160
- }
161
- },
162
- emphasis: {
163
- textStyle: {
164
- color: GRAY_50
165
- }
166
- }
167
- }
168
- },
169
- line: {
170
- itemStyle: {
171
- normal: {
172
- borderWidth: 1
173
- }
174
- },
175
- lineStyle: {
176
- normal: {
177
- width: 2
178
- }
179
- },
180
- symbolSize: '6',
181
- symbol: 'circle',
182
- showSymbol: false,
183
- smooth: false
184
- },
185
- categoryAxis: axes,
186
- valueAxis: axes,
187
- logAxis: axes,
188
- timeAxis: axes
189
- };
190
- };
191
-
192
- export { colorFromDarkPalette, colorFromDefaultPalette, colorPaletteDark, colorPaletteDefault, createTheme, gaugeNeutralHues, gaugeSafeHues, gaugeWarningHue, heatmapHues, themeName };
@@ -1,54 +0,0 @@
1
- import { ANNOTATIONS_SERIES_NAME, ANNOTATIONS_COMPONENT_TYPE } from './constants';
2
-
3
- /**
4
- * Check if passed series has annotations related data.
5
- *
6
- * This is currently used in time series charts (area & line).
7
- *
8
- * @param {Array} series Array of series
9
- * @returns {Boolean}
10
- */
11
- const seriesHasAnnotations = function () {
12
- let series = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
13
- return (series || []).filter(seriesData => {
14
- var _seriesData$ANNOTATIO, _seriesData$ANNOTATIO2;
15
- return seriesData.name === ANNOTATIONS_SERIES_NAME && ((_seriesData$ANNOTATIO = seriesData[ANNOTATIONS_COMPONENT_TYPE]) === null || _seriesData$ANNOTATIO === void 0 ? void 0 : (_seriesData$ANNOTATIO2 = _seriesData$ANNOTATIO.data) === null || _seriesData$ANNOTATIO2 === void 0 ? void 0 : _seriesData$ANNOTATIO2.length);
16
- }).length !== 0;
17
- };
18
-
19
- /**
20
- * Check if a data point is from an annotation series.
21
- *
22
- * This is triggered when hovered over time series charts.
23
- *
24
- * This is currently used in
25
- * @param {Object} params data point object
26
- * @returns {boolean}
27
- */
28
- const isDataPointAnnotation = function () {
29
- let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
30
- return params.name === ANNOTATIONS_SERIES_NAME && params.componentType === ANNOTATIONS_COMPONENT_TYPE;
31
- };
32
-
33
- /**
34
- * Date formatter to make date strings more
35
- * readable.
36
- *
37
- * This is currently used in area and line charts
38
- * stories.
39
- *
40
- * @param {String} d date string
41
- * @returns {String}
42
- */
43
- const timeSeriesDateFormatter = function () {
44
- let d = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
45
- if (!d) {
46
- return '';
47
- }
48
- const date = new Date(d);
49
- const month = (date.getMonth() + 1).toString().padStart(2, '0');
50
- const day = date.getDate().toString().padStart(2, '0');
51
- return `${date.getFullYear()}-${month}-${day}`;
52
- };
53
-
54
- export { isDataPointAnnotation, seriesHasAnnotations, timeSeriesDateFormatter };