@gitlab/ui 49.8.0 → 49.9.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 (57) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/components/base/new_dropdowns/listbox/listbox.js +8 -5
  3. package/dist/components/base/paginated_list/paginated_list.js +1 -1
  4. package/dist/components/base/pagination/pagination.js +3 -3
  5. package/dist/components/base/path/path.js +1 -1
  6. package/dist/components/charts/area/area.js +2 -2
  7. package/dist/components/charts/bar/bar.js +1 -1
  8. package/dist/components/charts/chart/chart.js +1 -1
  9. package/dist/components/charts/column/column.js +2 -2
  10. package/dist/components/charts/discrete_scatter/discrete_scatter.js +2 -2
  11. package/dist/components/charts/gauge/gauge.js +1 -1
  12. package/dist/components/charts/heatmap/heatmap.js +1 -1
  13. package/dist/components/charts/line/line.js +2 -2
  14. package/dist/components/charts/sparkline/sparkline.js +1 -1
  15. package/dist/components/charts/stacked_column/stacked_column.js +2 -2
  16. package/dist/components/mixins/toolbox_mixin.js +2 -2
  17. package/dist/index.css +2 -2
  18. package/dist/index.css.map +1 -1
  19. package/dist/utility_classes.css +1 -1
  20. package/dist/utility_classes.css.map +1 -1
  21. package/dist/utils/breakpoints.js +2 -3
  22. package/dist/utils/charts/config.js +8 -9
  23. package/dist/utils/charts/theme.js +1 -2
  24. package/dist/utils/use_mock_intersection_observer.js +1 -1
  25. package/dist/utils.js +1 -1
  26. package/package.json +16 -8
  27. package/scss_to_js/scss_variables.js +6 -5
  28. package/scss_to_js/scss_variables.json +15 -10
  29. package/src/components/base/new_dropdowns/listbox/listbox.vue +10 -7
  30. package/src/components/base/paginated_list/__snapshots__/paginated_list.spec.js.snap +0 -8
  31. package/src/components/base/paginated_list/paginated_list.vue +4 -3
  32. package/src/components/base/pagination/pagination.vue +3 -3
  33. package/src/components/base/path/__snapshots__/path.spec.js.snap +0 -30
  34. package/src/components/base/path/path.vue +1 -2
  35. package/src/components/charts/area/area.vue +3 -2
  36. package/src/components/charts/bar/bar.vue +1 -1
  37. package/src/components/charts/chart/chart.spec.js +1 -1
  38. package/src/components/charts/chart/chart.vue +1 -1
  39. package/src/components/charts/column/column.vue +3 -2
  40. package/src/components/charts/discrete_scatter/discrete_scatter.vue +3 -2
  41. package/src/components/charts/gauge/gauge.vue +1 -1
  42. package/src/components/charts/heatmap/heatmap.vue +1 -1
  43. package/src/components/charts/line/line.vue +3 -2
  44. package/src/components/charts/sparkline/sparkline.vue +2 -1
  45. package/src/components/charts/stacked_column/stacked_column.vue +3 -2
  46. package/src/components/mixins/toolbox_mixin.js +1 -1
  47. package/src/components/utilities/intersection_observer/intersection_observer.spec.js +1 -1
  48. package/src/scss/utilities.scss +24 -0
  49. package/src/scss/utility-mixins/box-shadow.scss +21 -0
  50. package/src/scss/variables.scss +6 -5
  51. package/src/utils/breakpoints.js +1 -3
  52. package/src/utils/breakpoints.spec.js +4 -4
  53. package/src/utils/charts/config.js +8 -8
  54. package/src/utils/charts/config.spec.js +2 -2
  55. package/src/utils/charts/theme.js +1 -3
  56. package/src/utils/use_mock_intersection_observer.js +1 -3
  57. package/src/utils.js +1 -1
@@ -5,7 +5,7 @@ const breakpoints = {
5
5
  sm: 576,
6
6
  xs: 0
7
7
  };
8
- const BreakpointInstance = {
8
+ const GlBreakpointInstance = {
9
9
  windowWidth: () => window.innerWidth,
10
10
  getBreakpointSize() {
11
11
  const windowWidth = this.windowWidth();
@@ -17,5 +17,4 @@ const BreakpointInstance = {
17
17
  }
18
18
  };
19
19
 
20
- export default BreakpointInstance;
21
- export { breakpoints };
20
+ export { GlBreakpointInstance, breakpoints };
@@ -1,7 +1,7 @@
1
1
  import castArray from 'lodash/castArray';
2
2
  import isArray from 'lodash/isArray';
3
3
  import merge from 'lodash/merge';
4
- import Breakpoints from '../breakpoints';
4
+ import { GlBreakpointInstance } from '../breakpoints';
5
5
  import { columnOptions } from '../constants';
6
6
  import { areDatesEqual } from '../datetime_utility';
7
7
  import { engineeringNotation } from '../number_utils';
@@ -38,6 +38,11 @@ const grid = {
38
38
  left: 64,
39
39
  right: 32
40
40
  };
41
+ const defaultChartOptions = {
42
+ grid,
43
+ xAxis,
44
+ yAxis
45
+ };
41
46
  const gridWithSecondaryYAxis = {
42
47
  ...grid,
43
48
  right: 64
@@ -91,7 +96,7 @@ const getDataZoomConfig = function () {
91
96
  filterMode = 'none'
92
97
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
93
98
  const disabledBreakpoints = ['lg', 'xl'];
94
- const disabled = disabledBreakpoints.includes(Breakpoints.getBreakpointSize());
99
+ const disabled = disabledBreakpoints.includes(GlBreakpointInstance.getBreakpointSize());
95
100
  const minSpan = filterMode === 'none' ? 0.01 : null;
96
101
  return {
97
102
  grid: {
@@ -530,11 +535,5 @@ const getDefaultTooltipContent = function (params) {
530
535
  tooltipContent
531
536
  };
532
537
  };
533
- var config = {
534
- grid,
535
- xAxis,
536
- yAxis
537
- };
538
538
 
539
- export default config;
540
- export { annotationsYAxisCoords, axes, dataZoomAdjustments, defaultAreaOpacity, defaultFontSize, defaultHeight, defaultWidth, generateAnnotationSeries, generateBarSeries, generateLineSeries, getAnnotationsConfig, getDataZoomConfig, getDefaultTooltipContent, getThresholdConfig, getToolboxConfig, grid, gridWithSecondaryYAxis, lineStyle, mergeAnnotationAxisToOptions, mergeSeriesToOptions, parseAnnotations, symbolSize, validRenderers, xAxis, yAxis };
539
+ export { annotationsYAxisCoords, axes, dataZoomAdjustments, defaultAreaOpacity, defaultChartOptions, defaultFontSize, defaultHeight, defaultWidth, generateAnnotationSeries, generateBarSeries, generateLineSeries, getAnnotationsConfig, getDataZoomConfig, getDefaultTooltipContent, getThresholdConfig, getToolboxConfig, grid, gridWithSecondaryYAxis, lineStyle, mergeAnnotationAxisToOptions, mergeSeriesToOptions, parseAnnotations, symbolSize, validRenderers, xAxis, yAxis };
@@ -225,5 +225,4 @@ const createTheme = function () {
225
225
  };
226
226
  };
227
227
 
228
- export default createTheme;
229
- export { colorFromDefaultPalette, colorPaletteDefault, gaugeNeutralHues, gaugeSafeHues, gaugeWarningHue, heatmapHues, themeName };
228
+ export { colorFromDefaultPalette, colorPaletteDefault, createTheme, gaugeNeutralHues, gaugeSafeHues, gaugeWarningHue, heatmapHues, themeName };
@@ -104,4 +104,4 @@ const useMockIntersectionObserver = () => {
104
104
  };
105
105
  };
106
106
 
107
- export default useMockIntersectionObserver;
107
+ export { useMockIntersectionObserver };
package/dist/utils.js CHANGED
@@ -1 +1 @@
1
- export { default as GlBreakpointInstance, breakpoints } from './utils/breakpoints';
1
+ export { GlBreakpointInstance, breakpoints } from './utils/breakpoints';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gitlab/ui",
3
- "version": "49.8.0",
3
+ "version": "49.9.1",
4
4
  "description": "GitLab UI Components",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -37,6 +37,9 @@
37
37
  "test:unit": "NODE_ENV=test jest --testPathIgnorePatterns storyshots.spec.js",
38
38
  "test:unit:watch": "yarn test:unit --watch",
39
39
  "test:unit:debug": "NODE_ENV=test node --inspect node_modules/.bin/jest --testPathIgnorePatterns storyshot.spec.js --watch --runInBand",
40
+ "test:unit-vue3": "VUE_VERSION=3 NODE_ENV=test jest --testPathIgnorePatterns storyshots.spec.js",
41
+ "test:unit-vue3:watch": "VUE_VERSION=3 yarn test:unit --watch --notify",
42
+ "test:unit-vue3:debug": "VUE_VERSION=3 NODE_ENV=test node --inspect node_modules/.bin/jest --testPathIgnorePatterns storyshot.spec.js --watch --runInBand",
40
43
  "test:visual": "./bin/run-visual-tests.sh 'jest ./tests/storyshots.spec.js'",
41
44
  "test:visual:minimal": "node ./bin/run_minimal_visual_tests.js",
42
45
  "test:visual:update": "./bin/run-visual-tests.sh 'JEST_IMAGE_SNAPSHOT_TRACK_OBSOLETE=1 jest ./tests/storyshots.spec.js --updateSnapshot'",
@@ -58,7 +61,7 @@
58
61
  "dependencies": {
59
62
  "@popperjs/core": "^2.11.2",
60
63
  "bootstrap-vue": "2.23.1",
61
- "dompurify": "^2.4.0",
64
+ "dompurify": "^2.4.1",
62
65
  "echarts": "^5.3.2",
63
66
  "iframe-resizer": "^4.3.2",
64
67
  "lodash": "^4.17.20",
@@ -94,8 +97,12 @@
94
97
  "@storybook/addon-viewport": "6.5.13",
95
98
  "@storybook/theming": "6.5.13",
96
99
  "@storybook/vue": "6.5.13",
100
+ "@vue/compat": "^3.2.40",
101
+ "@vue/compiler-sfc": "^3.2.40",
97
102
  "@vue/test-utils": "1.3.0",
103
+ "@vue/test-utils-vue3": "npm:@vue/test-utils@2.2.0",
98
104
  "@vue/vue2-jest": "29.0.0",
105
+ "@vue/vue3-jest": "^29.1.1",
99
106
  "autoprefixer": "^9.7.6",
100
107
  "babel-jest": "29.0.1",
101
108
  "babel-loader": "^8.0.5",
@@ -105,7 +112,7 @@
105
112
  "bootstrap": "4.6.2",
106
113
  "cypress": "^10.11.0",
107
114
  "emoji-regex": "^10.0.0",
108
- "eslint": "8.26.0",
115
+ "eslint": "8.27.0",
109
116
  "eslint-import-resolver-jest": "3.0.2",
110
117
  "eslint-plugin-cypress": "2.12.1",
111
118
  "eslint-plugin-storybook": "0.6.7",
@@ -113,9 +120,9 @@
113
120
  "glob": "^7.2.0",
114
121
  "identity-obj-proxy": "^3.0.0",
115
122
  "inquirer-select-directory": "^1.2.0",
116
- "jest": "^29.2.2",
117
- "jest-circus": "29.2.2",
118
- "jest-environment-jsdom": "29.2.2",
123
+ "jest": "^29.3.0",
124
+ "jest-circus": "29.3.0",
125
+ "jest-environment-jsdom": "29.3.0",
119
126
  "markdownlint-cli": "^0.29.0",
120
127
  "mockdate": "^2.0.5",
121
128
  "npm-run-all": "^4.1.5",
@@ -140,11 +147,12 @@
140
147
  "start-server-and-test": "^1.10.6",
141
148
  "storybook-dark-mode": "^1.0.8",
142
149
  "stylelint": "14.9.1",
143
- "stylelint-config-prettier": "9.0.3",
150
+ "stylelint-config-prettier": "9.0.4",
144
151
  "stylelint-prettier": "2.0.0",
145
152
  "vue": "2.7.13",
146
153
  "vue-loader": "^15.8.3",
147
- "vue-template-compiler": "2.7.13"
154
+ "vue-template-compiler": "2.7.13",
155
+ "vue-test-utils-compat": "^0.0.10"
148
156
  },
149
157
  "release": {
150
158
  "branches": [
@@ -238,11 +238,12 @@ export const darkenNormalFactor = '7%'
238
238
  export const darkenDarkFactor = '10%'
239
239
  export const darkenBorderFactor = '5%'
240
240
  export const darkenBorderDashedFactor = '25%'
241
- export const tGrayA02 = 'rgba(0, 0, 0, 0.02)'
242
- export const tGrayA04 = 'rgba(0, 0, 0, 0.04)'
243
- export const tGrayA06 = 'rgba(0, 0, 0, 0.06)'
244
- export const tGrayA08 = 'rgba(0, 0, 0, 0.08)'
245
- export const tGrayA24 = 'rgba(0, 0, 0, 0.24)'
241
+ export const tGrayA02 = 'rgba(31, 30, 36, 0.02)'
242
+ export const tGrayA04 = 'rgba(31, 30, 36, 0.04)'
243
+ export const tGrayA06 = 'rgba(31, 30, 36, 0.06)'
244
+ export const tGrayA08 = 'rgba(31, 30, 36, 0.08)'
245
+ export const tGrayA16 = 'rgba(31, 30, 36, 0.16)'
246
+ export const tGrayA24 = 'rgba(31, 30, 36, 0.24)'
246
247
  export const glTextColor = '#333238'
247
248
  export const glTextColorSecondary = '#737278'
248
249
  export const glFontWeightLight = '300'
@@ -1229,28 +1229,33 @@
1229
1229
  },
1230
1230
  {
1231
1231
  "name": "$t-gray-a-02",
1232
- "value": "rgba($black, 0.02)",
1233
- "compiledValue": "rgba(0, 0, 0, 0.02)"
1232
+ "value": "rgba($gray-950, 0.02)",
1233
+ "compiledValue": "rgba(31, 30, 36, 0.02)"
1234
1234
  },
1235
1235
  {
1236
1236
  "name": "$t-gray-a-04",
1237
- "value": "rgba($black, 0.04)",
1238
- "compiledValue": "rgba(0, 0, 0, 0.04)"
1237
+ "value": "rgba($gray-950, 0.04)",
1238
+ "compiledValue": "rgba(31, 30, 36, 0.04)"
1239
1239
  },
1240
1240
  {
1241
1241
  "name": "$t-gray-a-06",
1242
- "value": "rgba($black, 0.06)",
1243
- "compiledValue": "rgba(0, 0, 0, 0.06)"
1242
+ "value": "rgba($gray-950, 0.06)",
1243
+ "compiledValue": "rgba(31, 30, 36, 0.06)"
1244
1244
  },
1245
1245
  {
1246
1246
  "name": "$t-gray-a-08",
1247
- "value": "rgba(#000, 0.08)",
1248
- "compiledValue": "rgba(0, 0, 0, 0.08)"
1247
+ "value": "rgba($gray-950, 0.08)",
1248
+ "compiledValue": "rgba(31, 30, 36, 0.08)"
1249
+ },
1250
+ {
1251
+ "name": "$t-gray-a-16",
1252
+ "value": "rgba($gray-950, 0.16)",
1253
+ "compiledValue": "rgba(31, 30, 36, 0.16)"
1249
1254
  },
1250
1255
  {
1251
1256
  "name": "$t-gray-a-24",
1252
- "value": "rgba(#000, 0.24)",
1253
- "compiledValue": "rgba(0, 0, 0, 0.24)"
1257
+ "value": "rgba($gray-950, 0.24)",
1258
+ "compiledValue": "rgba(31, 30, 36, 0.24)"
1254
1259
  },
1255
1260
  {
1256
1261
  "name": "$gl-text-color",
@@ -303,13 +303,16 @@ export default {
303
303
  }
304
304
  },
305
305
  },
306
- },
307
- mounted() {
308
- if (process.env.NODE_ENV !== 'production' && this.resetButtonLabel && !this.headerText) {
309
- throw new Error(
310
- 'The reset button cannot be rendered without a header. Either provide a header via the headerText prop, or do not provide the resetButtonLabel prop.'
311
- );
312
- }
306
+ resetButtonLabel: {
307
+ immediate: true,
308
+ handler(newResetButtonLabel) {
309
+ if (process.env.NODE_ENV !== 'production' && newResetButtonLabel && !this.headerText) {
310
+ throw new Error(
311
+ 'The reset button cannot be rendered without a header. Either provide a header via the headerText prop, or do not provide the resetButtonLabel prop.'
312
+ );
313
+ }
314
+ },
315
+ },
313
316
  },
314
317
  methods: {
315
318
  open() {
@@ -597,9 +597,7 @@ exports[`Paginated List Search states renders the custom empty search message wh
597
597
  <div
598
598
  class="bs-callout bs-callout-warning mt-3 empty-message empty-search"
599
599
  >
600
-
601
600
  Custom empty message
602
-
603
601
  </div>
604
602
  </div>
605
603
  `;
@@ -620,9 +618,7 @@ exports[`Paginated List Search states renders the default empty search message w
620
618
  <div
621
619
  class="bs-callout bs-callout-warning mt-3 empty-message empty-search"
622
620
  >
623
-
624
621
  Sorry, your filter produced no results.
625
-
626
622
  </div>
627
623
  </div>
628
624
  `;
@@ -702,9 +698,7 @@ exports[`Paginated List Searchless states renders the list in an empty state wit
702
698
  <div
703
699
  class="bs-callout bs-callout-warning mt-3 empty-message empty-message"
704
700
  >
705
-
706
701
  List is passed in empty
707
-
708
702
  </div>
709
703
  </div>
710
704
  `;
@@ -725,9 +719,7 @@ exports[`Paginated List Searchless states renders the list in an empty state, wh
725
719
  <div
726
720
  class="bs-callout bs-callout-warning mt-3 empty-message empty-message"
727
721
  >
728
-
729
722
  There are currently no items in this list.
730
-
731
723
  </div>
732
724
  </div>
733
725
  `;
@@ -163,13 +163,14 @@ export default {
163
163
  :total-items="pageInfo.total"
164
164
  @input="change"
165
165
  />
166
-
166
+ <!-- Prettier will insert extra line-break which will result in render differences between Vue.js 2 and Vue.js 3 -->
167
+ <!-- See https://gitlab.com/gitlab-org/gitlab-ui/-/issues/2004 for details -->
168
+ <!-- display: inline -->
167
169
  <div
168
170
  v-if="emptyList"
169
171
  class="bs-callout bs-callout-warning mt-3 empty-message"
170
172
  :class="{ 'empty-message': zeroTotal, 'empty-search': zeroSearchResults }"
173
+ >{{ zeroTotal ? emptyMessage : emptySearchMessage }}</div
171
174
  >
172
- {{ zeroTotal ? emptyMessage : emptySearchMessage }}
173
- </div>
174
175
  </div>
175
176
  </template>
@@ -3,7 +3,7 @@
3
3
  import debounce from 'lodash/debounce';
4
4
  import isFunction from 'lodash/isFunction';
5
5
  import range from 'lodash/range';
6
- import Breakpoints, { breakpoints } from '../../../utils/breakpoints';
6
+ import { GlBreakpointInstance, breakpoints } from '../../../utils/breakpoints';
7
7
  import { alignOptions, resizeDebounceTime } from '../../../utils/constants';
8
8
  import GlIcon from '../icon/icon.vue';
9
9
  import GlLink from '../link/link.vue';
@@ -166,7 +166,7 @@ export default {
166
166
  },
167
167
  data() {
168
168
  return {
169
- breakpoint: Breakpoints.getBreakpointSize(),
169
+ breakpoint: GlBreakpointInstance.getBreakpointSize(),
170
170
  // If total pages count is below or equal to minTotalPagesToCollapse, collapsing is disabled
171
171
  minTotalPagesToCollapse: 4,
172
172
  };
@@ -287,7 +287,7 @@ export default {
287
287
  },
288
288
  methods: {
289
289
  setBreakpoint() {
290
- this.breakpoint = Breakpoints.getBreakpointSize();
290
+ this.breakpoint = GlBreakpointInstance.getBreakpointSize();
291
291
  },
292
292
  pageIsDisabled(page) {
293
293
  return (
@@ -30,7 +30,6 @@ exports[`Path matches the snapshot 1`] = `
30
30
  <button
31
31
  class="gl-path-button gl-path-active-item-indigo"
32
32
  >
33
-
34
33
  First
35
34
  <span
36
35
  class="gl-font-weight-normal gl-pl-2"
@@ -46,7 +45,6 @@ exports[`Path matches the snapshot 1`] = `
46
45
  <button
47
46
  class="gl-path-button"
48
47
  >
49
-
50
48
  Second
51
49
  <span
52
50
  class="gl-font-weight-normal gl-pl-2"
@@ -62,7 +60,6 @@ exports[`Path matches the snapshot 1`] = `
62
60
  <button
63
61
  class="gl-path-button"
64
62
  >
65
-
66
63
  Third
67
64
  <span
68
65
  class="gl-font-weight-normal gl-pl-2"
@@ -78,7 +75,6 @@ exports[`Path matches the snapshot 1`] = `
78
75
  <button
79
76
  class="gl-path-button"
80
77
  >
81
-
82
78
  Fourth
83
79
  <span
84
80
  class="gl-font-weight-normal gl-pl-2"
@@ -94,7 +90,6 @@ exports[`Path matches the snapshot 1`] = `
94
90
  <button
95
91
  class="gl-path-button"
96
92
  >
97
-
98
93
  Fifth
99
94
  <span
100
95
  class="gl-font-weight-normal gl-pl-2"
@@ -110,7 +105,6 @@ exports[`Path matches the snapshot 1`] = `
110
105
  <button
111
106
  class="gl-path-button"
112
107
  >
113
-
114
108
  Sixth
115
109
  <span
116
110
  class="gl-font-weight-normal gl-pl-2"
@@ -126,7 +120,6 @@ exports[`Path matches the snapshot 1`] = `
126
120
  <button
127
121
  class="gl-path-button"
128
122
  >
129
-
130
123
  Seventh
131
124
  <span
132
125
  class="gl-font-weight-normal gl-pl-2"
@@ -144,7 +137,6 @@ exports[`Path matches the snapshot 1`] = `
144
137
  class="gl-path-button"
145
138
  disabled=""
146
139
  >
147
-
148
140
  Eighth
149
141
  <span
150
142
  class="gl-font-weight-normal gl-pl-2"
@@ -160,7 +152,6 @@ exports[`Path matches the snapshot 1`] = `
160
152
  <button
161
153
  class="gl-path-button"
162
154
  >
163
-
164
155
  Ninth
165
156
  <span
166
157
  class="gl-font-weight-normal gl-pl-2"
@@ -176,7 +167,6 @@ exports[`Path matches the snapshot 1`] = `
176
167
  <button
177
168
  class="gl-path-button"
178
169
  >
179
-
180
170
  Tenth
181
171
  <span
182
172
  class="gl-font-weight-normal gl-pl-2"
@@ -239,7 +229,6 @@ exports[`Path renders the list of items with icons matches the snapshot 1`] = `
239
229
  name="home"
240
230
  size="16"
241
231
  />
242
-
243
232
  First
244
233
  <span
245
234
  class="gl-font-weight-normal gl-pl-2"
@@ -255,7 +244,6 @@ exports[`Path renders the list of items with icons matches the snapshot 1`] = `
255
244
  <button
256
245
  class="gl-path-button"
257
246
  >
258
-
259
247
  Second
260
248
  <span
261
249
  class="gl-font-weight-normal gl-pl-2"
@@ -271,7 +259,6 @@ exports[`Path renders the list of items with icons matches the snapshot 1`] = `
271
259
  <button
272
260
  class="gl-path-button"
273
261
  >
274
-
275
262
  Third
276
263
  <span
277
264
  class="gl-font-weight-normal gl-pl-2"
@@ -287,7 +274,6 @@ exports[`Path renders the list of items with icons matches the snapshot 1`] = `
287
274
  <button
288
275
  class="gl-path-button"
289
276
  >
290
-
291
277
  Fourth
292
278
  <span
293
279
  class="gl-font-weight-normal gl-pl-2"
@@ -303,7 +289,6 @@ exports[`Path renders the list of items with icons matches the snapshot 1`] = `
303
289
  <button
304
290
  class="gl-path-button"
305
291
  >
306
-
307
292
  Fifth
308
293
  <span
309
294
  class="gl-font-weight-normal gl-pl-2"
@@ -319,7 +304,6 @@ exports[`Path renders the list of items with icons matches the snapshot 1`] = `
319
304
  <button
320
305
  class="gl-path-button"
321
306
  >
322
-
323
307
  Sixth
324
308
  <span
325
309
  class="gl-font-weight-normal gl-pl-2"
@@ -335,7 +319,6 @@ exports[`Path renders the list of items with icons matches the snapshot 1`] = `
335
319
  <button
336
320
  class="gl-path-button"
337
321
  >
338
-
339
322
  Seventh
340
323
  <span
341
324
  class="gl-font-weight-normal gl-pl-2"
@@ -353,7 +336,6 @@ exports[`Path renders the list of items with icons matches the snapshot 1`] = `
353
336
  class="gl-path-button"
354
337
  disabled=""
355
338
  >
356
-
357
339
  Eighth
358
340
  <span
359
341
  class="gl-font-weight-normal gl-pl-2"
@@ -369,7 +351,6 @@ exports[`Path renders the list of items with icons matches the snapshot 1`] = `
369
351
  <button
370
352
  class="gl-path-button"
371
353
  >
372
-
373
354
  Ninth
374
355
  <span
375
356
  class="gl-font-weight-normal gl-pl-2"
@@ -385,7 +366,6 @@ exports[`Path renders the list of items with icons matches the snapshot 1`] = `
385
366
  <button
386
367
  class="gl-path-button"
387
368
  >
388
-
389
369
  Tenth
390
370
  <span
391
371
  class="gl-font-weight-normal gl-pl-2"
@@ -442,7 +422,6 @@ exports[`Path renders the list of items with metrics matches the snapshot 1`] =
442
422
  <button
443
423
  class="gl-path-button gl-path-active-item-indigo"
444
424
  >
445
-
446
425
  First
447
426
  <span
448
427
  class="gl-font-weight-normal gl-pl-2"
@@ -458,7 +437,6 @@ exports[`Path renders the list of items with metrics matches the snapshot 1`] =
458
437
  <button
459
438
  class="gl-path-button"
460
439
  >
461
-
462
440
  Second
463
441
  <span
464
442
  class="gl-font-weight-normal gl-pl-2"
@@ -474,7 +452,6 @@ exports[`Path renders the list of items with metrics matches the snapshot 1`] =
474
452
  <button
475
453
  class="gl-path-button"
476
454
  >
477
-
478
455
  Third
479
456
  <span
480
457
  class="gl-font-weight-normal gl-pl-2"
@@ -490,7 +467,6 @@ exports[`Path renders the list of items with metrics matches the snapshot 1`] =
490
467
  <button
491
468
  class="gl-path-button"
492
469
  >
493
-
494
470
  Fourth
495
471
  <span
496
472
  class="gl-font-weight-normal gl-pl-2"
@@ -506,7 +482,6 @@ exports[`Path renders the list of items with metrics matches the snapshot 1`] =
506
482
  <button
507
483
  class="gl-path-button"
508
484
  >
509
-
510
485
  Fifth
511
486
  <span
512
487
  class="gl-font-weight-normal gl-pl-2"
@@ -522,7 +497,6 @@ exports[`Path renders the list of items with metrics matches the snapshot 1`] =
522
497
  <button
523
498
  class="gl-path-button"
524
499
  >
525
-
526
500
  Sixth
527
501
  <span
528
502
  class="gl-font-weight-normal gl-pl-2"
@@ -538,7 +512,6 @@ exports[`Path renders the list of items with metrics matches the snapshot 1`] =
538
512
  <button
539
513
  class="gl-path-button"
540
514
  >
541
-
542
515
  Seventh
543
516
  <span
544
517
  class="gl-font-weight-normal gl-pl-2"
@@ -556,7 +529,6 @@ exports[`Path renders the list of items with metrics matches the snapshot 1`] =
556
529
  class="gl-path-button"
557
530
  disabled=""
558
531
  >
559
-
560
532
  Eighth
561
533
  <span
562
534
  class="gl-font-weight-normal gl-pl-2"
@@ -572,7 +544,6 @@ exports[`Path renders the list of items with metrics matches the snapshot 1`] =
572
544
  <button
573
545
  class="gl-path-button"
574
546
  >
575
-
576
547
  Ninth
577
548
  <span
578
549
  class="gl-font-weight-normal gl-pl-2"
@@ -588,7 +559,6 @@ exports[`Path renders the list of items with metrics matches the snapshot 1`] =
588
559
  <button
589
560
  class="gl-path-button"
590
561
  >
591
-
592
562
  Tenth
593
563
  <span
594
564
  class="gl-font-weight-normal gl-pl-2"
@@ -182,8 +182,7 @@ export default {
182
182
  :name="item.icon"
183
183
  class="gl-mr-2"
184
184
  data-testid="gl-path-item-icon"
185
- />
186
- {{ item.title
185
+ />{{ item.title
187
186
  }}<span v-if="item.metric" class="gl-font-weight-normal gl-pl-2">{{ item.metric }}</span>
188
187
  </button>
189
188
  <!--
@@ -17,7 +17,8 @@
17
17
  */
18
18
 
19
19
  import merge from 'lodash/merge';
20
- import defaultChartOptions, {
20
+ import {
21
+ defaultChartOptions,
21
22
  grid,
22
23
  getThresholdConfig,
23
24
  generateAnnotationSeries,
@@ -41,7 +42,7 @@ import {
41
42
  import { colorFromDefaultPalette } from '../../../utils/charts/theme';
42
43
  import { seriesHasAnnotations, isDataPointAnnotation } from '../../../utils/charts/utils';
43
44
  import { debounceByAnimationFrame } from '../../../utils/utils';
44
- import ToolboxMixin from '../../mixins/toolbox_mixin';
45
+ import { ToolboxMixin } from '../../mixins/toolbox_mixin';
45
46
  import TooltipDefaultFormat from '../../shared_components/charts/tooltip_default_format.vue';
46
47
  import Chart from '../chart/chart.vue';
47
48
  import ChartLegend from '../legend/legend.vue';
@@ -7,7 +7,7 @@ import { TOOLTIP_LEFT_OFFSET } from '../../../utils/charts/constants';
7
7
  import { colorFromDefaultPalette } from '../../../utils/charts/theme';
8
8
  import { engineeringNotation } from '../../../utils/number_utils';
9
9
  import { hexToRgba, debounceByAnimationFrame } from '../../../utils/utils';
10
- import ToolboxMixin from '../../mixins/toolbox_mixin';
10
+ import { ToolboxMixin } from '../../mixins/toolbox_mixin';
11
11
  import TooltipDefaultFormat from '../../shared_components/charts/tooltip_default_format.vue';
12
12
  import Chart from '../chart/chart.vue';
13
13
  import ChartTooltip from '../tooltip/tooltip.vue';
@@ -1,6 +1,6 @@
1
1
  import { shallowMount } from '@vue/test-utils';
2
2
  import * as echarts from 'echarts';
3
- import createTheme from '~/utils/charts/theme';
3
+ import { createTheme } from '~/utils/charts/theme';
4
4
  import { useMockResizeObserver } from '~helpers/mock_dom_observer';
5
5
  import Chart from './chart.vue';
6
6
 
@@ -2,7 +2,7 @@
2
2
  <script>
3
3
  import * as echarts from 'echarts';
4
4
  import { defaultHeight, defaultWidth, validRenderers } from '../../../utils/charts/config';
5
- import createTheme, { themeName } from '../../../utils/charts/theme';
5
+ import { createTheme, themeName } from '../../../utils/charts/theme';
6
6
  import { GlResizeObserverDirective } from '../../../directives/resize_observer/resize_observer';
7
7
 
8
8
  /**
@@ -1,7 +1,8 @@
1
1
  <!-- eslint-disable vue/multi-word-component-names -->
2
2
  <script>
3
3
  import merge from 'lodash/merge';
4
- import defaultChartOptions, {
4
+ import {
5
+ defaultChartOptions,
5
6
  grid,
6
7
  gridWithSecondaryYAxis,
7
8
  yAxis,
@@ -15,7 +16,7 @@ import { TOOLTIP_LEFT_OFFSET, CHART_TYPE_LINE } from '../../../utils/charts/cons
15
16
  import { colorFromDefaultPalette } from '../../../utils/charts/theme';
16
17
  import { columnOptions } from '../../../utils/constants';
17
18
  import { debounceByAnimationFrame } from '../../../utils/utils';
18
- import ToolboxMixin from '../../mixins/toolbox_mixin';
19
+ import { ToolboxMixin } from '../../mixins/toolbox_mixin';
19
20
  import TooltipDefaultFormat from '../../shared_components/charts/tooltip_default_format.vue';
20
21
  import Chart from '../chart/chart.vue';
21
22
  import ChartTooltip from '../tooltip/tooltip.vue';
@@ -1,13 +1,14 @@
1
1
  <script>
2
2
  import merge from 'lodash/merge';
3
3
  import { gray200 } from '../../../../scss_to_js/scss_variables'; // eslint-disable-line import/no-unresolved
4
- import defaultChartOptions, {
4
+ import {
5
+ defaultChartOptions,
5
6
  dataZoomAdjustments,
6
7
  mergeSeriesToOptions,
7
8
  } from '../../../utils/charts/config';
8
9
  import { colorFromDefaultPalette } from '../../../utils/charts/theme';
9
10
  import { debounceByAnimationFrame } from '../../../utils/utils';
10
- import ToolboxMixin from '../../mixins/toolbox_mixin';
11
+ import { ToolboxMixin } from '../../mixins/toolbox_mixin';
11
12
  import TooltipDefaultFormat from '../../shared_components/charts/tooltip_default_format.vue';
12
13
  import Chart from '../chart/chart.vue';
13
14
  import ChartTooltip from '../tooltip/tooltip.vue';
@@ -2,7 +2,7 @@
2
2
  <script>
3
3
  import { merge, isFinite, uniq, sortBy } from 'lodash';
4
4
  import { gaugeNeutralHues, gaugeSafeHues, gaugeWarningHue } from '../../../utils/charts/theme';
5
- import ToolboxMixin from '../../mixins/toolbox_mixin';
5
+ import { ToolboxMixin } from '../../mixins/toolbox_mixin';
6
6
  import Chart from '../chart/chart.vue';
7
7
 
8
8
  const AXIS_LABEL_FONT_SIZE_PX = 14;