@gitlab/ui 32.41.0 → 32.42.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 (120) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/components/base/token_selector/token_selector.documentation.js +2 -106
  3. package/dist/components/base/token_selector/token_selector.js +85 -1
  4. package/dist/components/base/tooltip/tooltip.documentation.js +2 -6
  5. package/dist/components/charts/area/area.js +1 -1
  6. package/dist/components/charts/discrete_scatter/discrete_scatter.js +1 -1
  7. package/dist/components/charts/line/line.js +1 -1
  8. package/dist/utility_classes.css +1 -1
  9. package/dist/utility_classes.css.map +1 -1
  10. package/documentation/documented_stories.js +2 -0
  11. package/package.json +13 -13
  12. package/src/components/base/accordion/accordion.spec.js +0 -4
  13. package/src/components/base/accordion/accordion_item.spec.js +0 -4
  14. package/src/components/base/alert/alert.spec.js +0 -4
  15. package/src/components/base/avatar_labeled/avatar_labeled.spec.js +0 -2
  16. package/src/components/base/avatars_inline/avatars_inline.spec.js +0 -2
  17. package/src/components/base/badge/badge.spec.js +0 -2
  18. package/src/components/base/broadcast_message/broadcast_message.spec.js +0 -4
  19. package/src/components/base/button/button.spec.js +0 -5
  20. package/src/components/base/card/card.spec.js +0 -5
  21. package/src/components/base/carousel/carousel.spec.js +0 -4
  22. package/src/components/base/collapse/collapse.spec.js +0 -4
  23. package/src/components/base/datepicker/datepicker.spec.js +0 -4
  24. package/src/components/base/daterange_picker/daterange_picker.spec.js +0 -5
  25. package/src/components/base/drawer/drawer.spec.js +0 -4
  26. package/src/components/base/dropdown/dropdown.spec.js +0 -2
  27. package/src/components/base/dropdown/dropdown_item.spec.js +0 -2
  28. package/src/components/base/filtered_search/filtered_search.spec.js +0 -10
  29. package/src/components/base/filtered_search/filtered_search_suggestion.spec.js +0 -5
  30. package/src/components/base/filtered_search/filtered_search_suggestion_list.spec.js +0 -5
  31. package/src/components/base/filtered_search/filtered_search_term.spec.js +0 -5
  32. package/src/components/base/filtered_search/filtered_search_token.spec.js +0 -5
  33. package/src/components/base/form/form_checkbox_tree/form_checkbox_tree.spec.js +0 -5
  34. package/src/components/base/form/form_combobox/form_combobox.spec.js +0 -4
  35. package/src/components/base/form/form_input/form_input.spec.js +0 -5
  36. package/src/components/base/form/form_input_group/form_input_group.spec.js +0 -4
  37. package/src/components/base/form/form_radio/form_radio.spec.js +0 -4
  38. package/src/components/base/form/form_radio_group/form_radio_group.spec.js +0 -4
  39. package/src/components/base/form/form_select/form_select.spec.js +0 -5
  40. package/src/components/base/form/form_textarea/form_textarea.spec.js +0 -5
  41. package/src/components/base/icon/icon.spec.js +0 -2
  42. package/src/components/base/infinite_scroll/infinite_scroll.spec.js +0 -1
  43. package/src/components/base/keyset_pagination/keyset_pagination.spec.js +0 -5
  44. package/src/components/base/label/label.spec.js +0 -4
  45. package/src/components/base/link/link.spec.js +0 -5
  46. package/src/components/base/loading_icon/loading_icon.spec.js +0 -4
  47. package/src/components/base/modal/modal.spec.js +0 -1
  48. package/src/components/base/nav/nav.spec.js +0 -4
  49. package/src/components/base/nav/nav_item.spec.js +0 -4
  50. package/src/components/base/nav/nav_item_dropdown.spec.js +0 -4
  51. package/src/components/base/paginated_list/paginated_list.spec.js +0 -6
  52. package/src/components/base/pagination/pagination.spec.js +0 -1
  53. package/src/components/base/path/path.spec.js +0 -5
  54. package/src/components/base/popover/popover.spec.js +0 -5
  55. package/src/components/base/search_box_by_click/search_box_by_click.spec.js +0 -4
  56. package/src/components/base/search_box_by_type/search_box_by_type.spec.js +0 -5
  57. package/src/components/base/segmented_control/segmented_control.spec.js +0 -4
  58. package/src/components/base/skeleton_loader/skeleton_loader.spec.js +0 -5
  59. package/src/components/base/sorting/sorting.spec.js +0 -4
  60. package/src/components/base/sorting/sorting_item.spec.js +0 -4
  61. package/src/components/base/tabs/tabs/scrollable_tabs.spec.js +0 -5
  62. package/src/components/base/toggle/toggle.spec.js +0 -4
  63. package/src/components/base/token/token.spec.js +0 -4
  64. package/src/components/base/token_selector/token_container.spec.js +0 -2
  65. package/src/components/base/token_selector/token_selector.documentation.js +0 -137
  66. package/src/components/base/token_selector/token_selector.md +0 -6
  67. package/src/components/base/token_selector/token_selector.spec.js +0 -5
  68. package/src/components/base/token_selector/token_selector.stories.js +96 -113
  69. package/src/components/base/token_selector/token_selector.vue +89 -1
  70. package/src/components/base/token_selector/token_selector_dropdown.spec.js +0 -5
  71. package/src/components/base/tooltip/tooltip.documentation.js +0 -3
  72. package/src/components/base/tooltip/tooltip.md +3 -5
  73. package/src/components/base/tooltip/tooltip.spec.js +0 -5
  74. package/src/components/base/tooltip/tooltip.stories.js +49 -25
  75. package/src/components/base/tooltip/tooltip.vue +1 -0
  76. package/src/components/charts/area/area.spec.js +8 -24
  77. package/src/components/charts/area/area.vue +9 -12
  78. package/src/components/charts/bar/bar.spec.js +4 -11
  79. package/src/components/charts/chart/chart.spec.js +0 -4
  80. package/src/components/charts/column/column_chart.spec.js +0 -4
  81. package/src/components/charts/discrete_scatter/discrete_scatter.stories.js +1 -0
  82. package/src/components/charts/discrete_scatter/discrete_scatter.vue +5 -8
  83. package/src/components/charts/gauge/gauge.spec.js +2 -24
  84. package/src/components/charts/heatmap/heatmap.spec.js +6 -23
  85. package/src/components/charts/legend/legend.spec.js +8 -14
  86. package/src/components/charts/line/line.spec.js +19 -30
  87. package/src/components/charts/line/line.vue +3 -2
  88. package/src/components/charts/single_stat/single_stat.spec.js +0 -4
  89. package/src/components/charts/sparkline/sparkline.spec.js +9 -15
  90. package/src/components/charts/stacked_column/stacked_column.spec.js +0 -1
  91. package/src/components/shared_components/clear_icon_button/clear_icon_button.spec.js +0 -4
  92. package/src/components/shared_components/close_button/close_button.spec.js +0 -4
  93. package/src/components/utilities/friendly_wrap/friendly_wrap.spec.js +0 -4
  94. package/src/components/utilities/intersection_observer/intersection_observer.spec.js +1 -1
  95. package/src/components/utilities/sprintf/sprintf.spec.js +0 -4
  96. package/src/components/utilities/truncate/truncate.spec.js +10 -15
  97. package/src/directives/hover_load/hover_load.spec.js +0 -1
  98. package/src/directives/outside/outside.spec.js +0 -4
  99. package/src/directives/resize_observer/resize_observer.spec.js +0 -4
  100. package/src/directives/safe_html/safe_html.spec.js +0 -4
  101. package/src/directives/safe_link/safe_link.spec.js +0 -5
  102. package/src/scss/utilities.scss +14 -0
  103. package/src/scss/utility-mixins/spacing.scss +4 -0
  104. package/src/scss/utility-mixins/z-index.scss +4 -0
  105. package/dist/components/base/token_selector/examples/index.js +0 -19
  106. package/dist/components/base/token_selector/examples/token_selector.user_defined_tokens.example.js +0 -48
  107. package/dist/components/base/token_selector/examples/token_selector.users.example.js +0 -202
  108. package/dist/components/base/tooltip/examples/index.js +0 -31
  109. package/dist/components/base/tooltip/examples/tooltip.directive_bottom.example.js +0 -38
  110. package/dist/components/base/tooltip/examples/tooltip.directive_default.example.js +0 -38
  111. package/dist/components/base/tooltip/examples/tooltip.directive_left.example.js +0 -38
  112. package/dist/components/base/tooltip/examples/tooltip.directive_right.example.js +0 -38
  113. package/src/components/base/token_selector/examples/index.js +0 -22
  114. package/src/components/base/token_selector/examples/token_selector.user_defined_tokens.example.vue +0 -17
  115. package/src/components/base/token_selector/examples/token_selector.users.example.vue +0 -212
  116. package/src/components/base/tooltip/examples/index.js +0 -36
  117. package/src/components/base/tooltip/examples/tooltip.directive_bottom.example.vue +0 -7
  118. package/src/components/base/tooltip/examples/tooltip.directive_default.example.vue +0 -5
  119. package/src/components/base/tooltip/examples/tooltip.directive_left.example.vue +0 -7
  120. package/src/components/base/tooltip/examples/tooltip.directive_right.example.vue +0 -7
@@ -92,6 +92,8 @@ export const setupStorybookReadme = () =>
92
92
  'GlBarChart',
93
93
  'GlCarousel',
94
94
  'GlMarkdown',
95
+ 'GlTokenSelector',
96
+ 'GlTooltip',
95
97
  ],
96
98
  components: {
97
99
  GlComponentDocumentation,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gitlab/ui",
3
- "version": "32.41.0",
3
+ "version": "32.42.0",
4
4
  "description": "GitLab UI Components",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -82,21 +82,21 @@
82
82
  "@arkweid/lefthook": "^0.7.6",
83
83
  "@babel/core": "^7.10.2",
84
84
  "@babel/preset-env": "^7.10.2",
85
- "@gitlab/eslint-plugin": "9.4.0",
85
+ "@gitlab/eslint-plugin": "10.0.0",
86
86
  "@gitlab/stylelint-config": "2.6.0",
87
- "@gitlab/svgs": "1.221.0",
87
+ "@gitlab/svgs": "1.223.0",
88
88
  "@rollup/plugin-commonjs": "^11.1.0",
89
89
  "@rollup/plugin-node-resolve": "^7.1.3",
90
90
  "@rollup/plugin-replace": "^2.3.2",
91
- "@storybook/addon-a11y": "6.3.12",
92
- "@storybook/addon-docs": "6.3.12",
93
- "@storybook/addon-essentials": "6.3.12",
94
- "@storybook/addon-knobs": "6.3.1",
95
- "@storybook/addon-storyshots": "6.3.12",
96
- "@storybook/addon-storyshots-puppeteer": "6.3.12",
97
- "@storybook/addon-viewport": "6.3.12",
98
- "@storybook/theming": "6.3.12",
99
- "@storybook/vue": "6.3.12",
91
+ "@storybook/addon-a11y": "6.4.5",
92
+ "@storybook/addon-docs": "6.4.5",
93
+ "@storybook/addon-essentials": "6.4.5",
94
+ "@storybook/addon-knobs": "6.4.0",
95
+ "@storybook/addon-storyshots": "6.4.5",
96
+ "@storybook/addon-storyshots-puppeteer": "6.4.5",
97
+ "@storybook/addon-viewport": "6.4.5",
98
+ "@storybook/theming": "6.4.5",
99
+ "@storybook/vue": "6.4.5",
100
100
  "@vue/test-utils": "1.1.3",
101
101
  "autoprefixer": "^9.7.6",
102
102
  "babel-jest": "^26.6.3",
@@ -129,7 +129,7 @@
129
129
  "postcss-scss": "^2.1.1",
130
130
  "prettier": "2.2.1",
131
131
  "pug": "^2.0.3",
132
- "puppeteer": "^10.4.0",
132
+ "puppeteer": "11.0.0",
133
133
  "raw-loader": "^0.5.1",
134
134
  "rollup": "^2.53.1",
135
135
  "rollup-plugin-babel": "^4.4.0",
@@ -6,10 +6,6 @@ import GlAccordionItem from './accordion_item.vue';
6
6
  describe('GlAccordion', () => {
7
7
  let wrapper;
8
8
 
9
- afterEach(() => {
10
- wrapper.destroy();
11
- });
12
-
13
9
  const createComponent = ({ headerLevel = 3, autoCollapse = false } = {}) => {
14
10
  wrapper = mount(
15
11
  Vue.extend({
@@ -10,10 +10,6 @@ describe('GlAccordionItem', () => {
10
10
  const defaultTitle = 'Item 1';
11
11
  const defaultSlot = 'Hello';
12
12
 
13
- afterEach(() => {
14
- wrapper.destroy();
15
- });
16
-
17
13
  const createComponent = (props = {}, { defaultHeaderLevel = 3, accordionSetId = false } = {}) => {
18
14
  wrapper = mount(GlAccordionItem, {
19
15
  directives: {
@@ -26,10 +26,6 @@ describe('Alert component', () => {
26
26
  const findActionsContainer = () => wrapper.find('.gl-alert-actions');
27
27
  const findActionButtons = () => wrapper.findAll('.gl-alert-action');
28
28
 
29
- afterEach(() => {
30
- wrapper.destroy();
31
- });
32
-
33
29
  describe('by default', () => {
34
30
  beforeEach(() => {
35
31
  createComponent({ slots: { default: DummyComponent } });
@@ -20,8 +20,6 @@ describe('avatar labeled', () => {
20
20
  });
21
21
  };
22
22
 
23
- afterEach(() => wrapper.destroy());
24
-
25
23
  it('sets avatar alt attribute to an empty string', () => {
26
24
  const altText = 'alt text';
27
25
 
@@ -23,8 +23,6 @@ describe('avatars inline', () => {
23
23
 
24
24
  const findBadgeTooltip = () => wrapper.findComponent(GlTooltip);
25
25
 
26
- afterEach(() => wrapper.destroy());
27
-
28
26
  it('displays all avatars when component is not collapsed', () => {
29
27
  buildWrapper({ avatars, maxVisible: 1, avatarSize: 24, collapsed: false });
30
28
 
@@ -15,8 +15,6 @@ describe('badge', () => {
15
15
  });
16
16
  };
17
17
 
18
- afterEach(() => wrapper.destroy());
19
-
20
18
  describe('with "icon" prop', () => {
21
19
  describe.each`
22
20
  scenario | hasSlot | iconName | expectedRole
@@ -14,10 +14,6 @@ describe('Broadcast message component', () => {
14
14
  createComponent({ slots: { default: 'some message' } });
15
15
  });
16
16
 
17
- afterEach(() => {
18
- wrapper.destroy();
19
- });
20
-
21
17
  it('clicking on dismiss button emits a dismiss event', () => {
22
18
  findDismissButton().vm.$emit('click');
23
19
 
@@ -10,11 +10,6 @@ describe('button component', () => {
10
10
  };
11
11
  const findLoadingIcon = () => wrapper.findComponent(GlLoadingIcon);
12
12
 
13
- afterEach(() => {
14
- wrapper.destroy();
15
- wrapper = null;
16
- });
17
-
18
13
  it('renders a button', () => {
19
14
  buildWrapper();
20
15
 
@@ -20,11 +20,6 @@ describe('GlCard', () => {
20
20
  const findHeader = () => wrapper.find('.gl-card-header');
21
21
  const findFooter = () => wrapper.find('.gl-card-footer');
22
22
 
23
- afterEach(() => {
24
- wrapper.destroy();
25
- wrapper = null;
26
- });
27
-
28
23
  describe('with just the body content', () => {
29
24
  beforeEach(() => {
30
25
  createWrapper({
@@ -17,10 +17,6 @@ describe('Carousel component', () => {
17
17
  });
18
18
  });
19
19
 
20
- afterEach(() => {
21
- wrapper.destroy();
22
- });
23
-
24
20
  it('renders a BCarousel component', () => {
25
21
  expect(wrapper.findComponent(BCarousel).exists()).toBe(true);
26
22
  });
@@ -17,10 +17,6 @@ describe('Collapse component', () => {
17
17
  });
18
18
  });
19
19
 
20
- afterEach(() => {
21
- wrapper.destroy();
22
- });
23
-
24
20
  it('renders a BCollapse', () => {
25
21
  expect(wrapper.findComponent(BCollapse).exists()).toBe(true);
26
22
  });
@@ -148,10 +148,6 @@ describe('datepicker component', () => {
148
148
  clearButton = findClearButton(wrapper);
149
149
  };
150
150
 
151
- afterEach(() => {
152
- wrapper.destroy();
153
- });
154
-
155
151
  it('renders clear button', async () => {
156
152
  await setup();
157
153
 
@@ -24,11 +24,6 @@ describe('Daterange Picker', () => {
24
24
  const findStartPicker = () => wrapper.findAllComponents(Datepicker).at(0);
25
25
  const findEndPicker = () => wrapper.findAllComponents(Datepicker).at(1);
26
26
 
27
- afterEach(() => {
28
- wrapper.destroy();
29
- wrapper = null;
30
- });
31
-
32
27
  it('renders two datepickers', () => {
33
28
  factory();
34
29
  expect(findStartPicker().exists()).toBe(true);
@@ -7,10 +7,6 @@ describe('drawer component', () => {
7
7
  wrapper = shallowMount(Drawer, { propsData: props, slots });
8
8
  };
9
9
 
10
- afterEach(() => {
11
- wrapper.destroy();
12
- });
13
-
14
10
  describe('default settings', () => {
15
11
  describe('when open is true', () => {
16
12
  it('makes gl-drawer visible when open is true', () => {
@@ -24,8 +24,6 @@ describe('new dropdown', () => {
24
24
  });
25
25
  };
26
26
 
27
- afterEach(() => wrapper.destroy());
28
-
29
27
  const findByTestId = (testId) => wrapper.find(`[data-testid="${testId}"]`);
30
28
 
31
29
  const findSplitButton = () => wrapper.find('.btn:not(.gl-dropdown-toggle)');
@@ -14,8 +14,6 @@ describe('dropdown item', () => {
14
14
 
15
15
  const findCheckbox = () => wrapper.find('[data-testid="dropdown-item-checkbox"]');
16
16
 
17
- afterEach(() => wrapper.destroy());
18
-
19
17
  describe('checkbox', () => {
20
18
  it.each`
21
19
  props | shouldExist
@@ -39,11 +39,6 @@ describe('Filtered search', () => {
39
39
  });
40
40
  };
41
41
 
42
- afterEach(() => {
43
- wrapper.destroy();
44
- wrapper = null;
45
- });
46
-
47
42
  describe('value manipulation', () => {
48
43
  it('creates term when empty', () => {
49
44
  createComponent();
@@ -423,11 +418,6 @@ describe('Filtered search integration tests', () => {
423
418
  }
424
419
  });
425
420
 
426
- afterEach(() => {
427
- wrapper.destroy();
428
- wrapper = null;
429
- });
430
-
431
421
  describe('when first term is clicked', () => {
432
422
  beforeEach(async () => {
433
423
  mountComponent();
@@ -25,11 +25,6 @@ describe('Filtered search suggestion component', () => {
25
25
  });
26
26
  });
27
27
 
28
- afterEach(() => {
29
- wrapper.destroy();
30
- wrapper = null;
31
- });
32
-
33
28
  beforeAll(() => {
34
29
  if (!HTMLElement.prototype.scrollIntoView) {
35
30
  HTMLElement.prototype.scrollIntoView = jest.fn();
@@ -12,11 +12,6 @@ describe('Filtered search suggestion list component', () => {
12
12
  });
13
13
  });
14
14
 
15
- afterEach(() => {
16
- wrapper.destroy();
17
- wrapper = null;
18
- });
19
-
20
15
  it('has expected public methods', () => {
21
16
  expect(wrapper.vm.register).toBeInstanceOf(Function);
22
17
  expect(wrapper.vm.unregister).toBeInstanceOf(Function);
@@ -29,11 +29,6 @@ describe('Filtered search term', () => {
29
29
  });
30
30
  };
31
31
 
32
- afterEach(() => {
33
- wrapper.destroy();
34
- wrapper = null;
35
- });
36
-
37
32
  it('renders value in inactive mode', () => {
38
33
  createComponent({ value: { data: 'test-value' } });
39
34
  expect(wrapper.html()).toMatchSnapshot();
@@ -38,11 +38,6 @@ describe('Filtered search token', () => {
38
38
  });
39
39
  };
40
40
 
41
- afterEach(() => {
42
- wrapper.destroy();
43
- wrapper = null;
44
- });
45
-
46
41
  describe('when activated', () => {
47
42
  it('emits activate when operator segment is clicked', () => {
48
43
  createComponent();
@@ -108,11 +108,6 @@ describe('GlFormCheckboxTree', () => {
108
108
  });
109
109
  };
110
110
 
111
- afterEach(() => {
112
- wrapper.destroy();
113
- wrapper = null;
114
- });
115
-
116
111
  describe.each`
117
112
  description | shape | expected | initiallyChecked | indeterminateBoxes
118
113
  ${'non-nested'} | ${SHAPE.NO_NESTING} | ${5} | ${['1', '2', '3']} | ${[]}
@@ -48,10 +48,6 @@ describe('GlFormCombobox', () => {
48
48
  const setInput = (val) => findInput().setValue(val);
49
49
  const arrowDown = () => findInput().trigger('keydown.down');
50
50
 
51
- afterEach(() => {
52
- wrapper.destroy();
53
- });
54
-
55
51
  describe('match and filter functionality', () => {
56
52
  beforeEach(() => {
57
53
  createComponent();
@@ -14,11 +14,6 @@ describe('GlFormInput', () => {
14
14
  });
15
15
  };
16
16
 
17
- afterEach(() => {
18
- wrapper.destroy();
19
- wrapper = null;
20
- });
21
-
22
17
  describe('size prop', () => {
23
18
  // Exclude the default null value
24
19
  const sizes = Object.values(formInputSizes).filter(Boolean);
@@ -12,10 +12,6 @@ describe('Input Group', () => {
12
12
  });
13
13
  };
14
14
 
15
- afterEach(() => {
16
- wrapper.destroy();
17
- });
18
-
19
15
  it('renders without errors', () => {
20
16
  createWrapper();
21
17
  expect(wrapper.findComponent(BInputGroup).exists()).toBe(true);
@@ -44,10 +44,6 @@ describe('GlFormRadio', () => {
44
44
  createWrapper();
45
45
  });
46
46
 
47
- afterEach(() => {
48
- wrapper.destroy();
49
- });
50
-
51
47
  it('checks the radio button correctly on mount', () => {
52
48
  const radio = findRadio(firstOption.value);
53
49
  expect(radio.element.checked).toBe(true);
@@ -35,10 +35,6 @@ describe('GlFormRadioGroup', () => {
35
35
  createWrapper();
36
36
  });
37
37
 
38
- afterEach(() => {
39
- wrapper.destroy();
40
- });
41
-
42
38
  it('checks the radio button correctly on mount', () => {
43
39
  const radio = findRadio(firstOption.value);
44
40
  expect(radio.element.checked).toBe(true);
@@ -15,11 +15,6 @@ describe('GlFormSelect', () => {
15
15
  });
16
16
  };
17
17
 
18
- afterEach(() => {
19
- wrapper.destroy();
20
- wrapper = null;
21
- });
22
-
23
18
  describe('state prop', () => {
24
19
  it.each`
25
20
  state | expectedClasses
@@ -13,11 +13,6 @@ describe('GlFormTextArea', () => {
13
13
  });
14
14
  };
15
15
 
16
- afterEach(() => {
17
- wrapper.destroy();
18
- wrapper = null;
19
- });
20
-
21
16
  describe('v-model', () => {
22
17
  describe('value binding', () => {
23
18
  beforeEach(() => {
@@ -29,8 +29,6 @@ describe('Icon component', () => {
29
29
  const validateName = (name) => Icon.props.name.validator(name);
30
30
 
31
31
  afterEach(() => {
32
- wrapper.destroy();
33
-
34
32
  if (consoleSpy) {
35
33
  consoleSpy.mockRestore();
36
34
  }
@@ -60,7 +60,6 @@ describe('Infinite Scroll component', () => {
60
60
 
61
61
  afterEach(() => {
62
62
  throttle.mockClear();
63
- wrapper.destroy();
64
63
  });
65
64
 
66
65
  it('emits nothing on creation', () => {
@@ -17,11 +17,6 @@ describe('GlKeysetPagination', () => {
17
17
  });
18
18
  };
19
19
 
20
- afterEach(() => {
21
- wrapper.destroy();
22
- wrapper = null;
23
- });
24
-
25
20
  const findPrevButton = () => wrapper.find('[data-testid="prevButton"]');
26
21
  const findNextButton = () => wrapper.find('[data-testid="nextButton"]');
27
22
 
@@ -35,10 +35,6 @@ describe('Label component', () => {
35
35
  });
36
36
  };
37
37
 
38
- afterEach(() => {
39
- wrapper.destroy();
40
- });
41
-
42
38
  const findLink = () => wrapper.findComponent(GlLink);
43
39
  const findTitle = () => wrapper.find('.gl-label-text');
44
40
  const findSubTitle = () => wrapper.find('.gl-label-text-scoped');
@@ -8,11 +8,6 @@ describe('link component', () => {
8
8
  wrapper = mount(Link, options);
9
9
  };
10
10
 
11
- afterEach(() => {
12
- wrapper.destroy();
13
- wrapper = null;
14
- });
15
-
16
11
  describe('default settings', () => {
17
12
  beforeEach(() => {
18
13
  createWrapper();
@@ -11,10 +11,6 @@ describe('loading icon component', () => {
11
11
  const findSpinnerEl = () => wrapper.find(`.${baseCssClass}`);
12
12
  const getSpinnerClasses = () => findSpinnerEl().classes();
13
13
 
14
- afterEach(() => {
15
- wrapper.destroy();
16
- });
17
-
18
14
  describe('display', () => {
19
15
  it('should render as a block by default', () => {
20
16
  createComponent();
@@ -59,7 +59,6 @@ describe('Modal component', () => {
59
59
  };
60
60
 
61
61
  afterEach(() => {
62
- wrapper.destroy();
63
62
  jest.clearAllMocks();
64
63
  });
65
64
 
@@ -5,10 +5,6 @@ import GlNavItem from './nav_item.vue';
5
5
  describe('GlNav', () => {
6
6
  let wrapper;
7
7
 
8
- afterEach(() => {
9
- wrapper.destroy();
10
- });
11
-
12
8
  describe('Nav style', () => {
13
9
  it('renders slot content', () => {
14
10
  wrapper = shallowMount(GlNav, {
@@ -4,10 +4,6 @@ import GlNavItem from './nav_item.vue';
4
4
  describe('GlNavItem', () => {
5
5
  let wrapper;
6
6
 
7
- afterEach(() => {
8
- wrapper.destroy();
9
- });
10
-
11
7
  it('renders the text', () => {
12
8
  wrapper = shallowMount(GlNavItem, {
13
9
  slots: {
@@ -18,10 +18,6 @@ describe('GlNavItemDropdown', () => {
18
18
 
19
19
  const findBNavItemDropdown = () => wrapper.findComponent(BNavItemDropdown);
20
20
 
21
- afterEach(() => {
22
- wrapper.destroy();
23
- });
24
-
25
21
  describe('default', () => {
26
22
  it('renders BNavItemDropdown', () => {
27
23
  const expectedText = 'Hello!';
@@ -15,12 +15,6 @@ describe('Paginated List', () => {
15
15
  `;
16
16
  });
17
17
 
18
- afterEach(() => {
19
- wrapper.destroy();
20
-
21
- wrapper = null;
22
- });
23
-
24
18
  const createComponent = (props = {}) => {
25
19
  wrapper = shallowMount(PaginatedList, {
26
20
  scopedSlots: {
@@ -35,7 +35,6 @@ describe('pagination component', () => {
35
35
  };
36
36
 
37
37
  afterEach(() => {
38
- wrapper.destroy();
39
38
  debounce.mockClear();
40
39
  });
41
40
 
@@ -44,11 +44,6 @@ describe('Path', () => {
44
44
  wrapper = createComponent();
45
45
  });
46
46
 
47
- afterEach(() => {
48
- wrapper.destroy();
49
- wrapper = null;
50
- });
51
-
52
47
  it('matches the snapshot', () => {
53
48
  expect(wrapper.element).toMatchSnapshot();
54
49
  });
@@ -16,11 +16,6 @@ describe('GlPopover', () => {
16
16
 
17
17
  const findBVPopover = () => wrapper.findComponent({ ref: 'bPopover' });
18
18
 
19
- afterEach(() => {
20
- wrapper.destroy();
21
- wrapper = null;
22
- });
23
-
24
19
  it.each(tooltipActionEvents)('passes through the %s event to the bvPopover instance', (event) => {
25
20
  createWrapper();
26
21
  wrapper.vm.$emit(event);
@@ -30,10 +30,6 @@ describe('search box by click component', () => {
30
30
 
31
31
  const findClearIcon = () => wrapper.findComponent(ClearIcon);
32
32
 
33
- afterEach(() => {
34
- wrapper.destroy();
35
- });
36
-
37
33
  it('emits input event when input changes', async () => {
38
34
  createComponent({ value: 'somevalue' });
39
35
 
@@ -16,11 +16,6 @@ describe('search box by type component', () => {
16
16
  const findClearIcon = () => wrapper.findComponent(ClearIcon);
17
17
  const findInput = () => wrapper.findComponent({ ref: 'input' });
18
18
 
19
- afterEach(() => {
20
- wrapper.destroy();
21
- wrapper = null;
22
- });
23
-
24
19
  describe('clear icon component', () => {
25
20
  beforeEach(() => {
26
21
  createComponent({ value: 'somevalue' });
@@ -41,10 +41,6 @@ describe('segmented control', () => {
41
41
  consoleWarnSpy.mockClear();
42
42
  });
43
43
 
44
- afterEach(() => {
45
- wrapper.destroy();
46
- });
47
-
48
44
  const warning = 'Segmented button should always have valid option selected';
49
45
  describe('with options and valid value', () => {
50
46
  beforeEach(() => {
@@ -11,11 +11,6 @@ describe('GlSkeletonLoader', () => {
11
11
  wrapper = shallowMount(GlSkeletonLoader, options);
12
12
  };
13
13
 
14
- afterEach(() => {
15
- wrapper.destroy();
16
- wrapper = null;
17
- });
18
-
19
14
  describe('when default skeleton is used', () => {
20
15
  it('adds `gl-w-full` and `gl-h-full` CSS classes', () => {
21
16
  createComponent();
@@ -47,10 +47,6 @@ describe('sorting component', () => {
47
47
  });
48
48
  };
49
49
 
50
- afterEach(() => {
51
- wrapper.destroy();
52
- });
53
-
54
50
  it('should display default text in dropdown', () => {
55
51
  createComponent();
56
52