@gitlab/ui 41.8.0 → 41.10.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 (89) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/components/base/tabs/tab/tab.js +1 -10
  3. package/dist/components/base/token_selector/token_container.js +6 -1
  4. package/dist/components/base/token_selector/token_selector.js +15 -2
  5. package/dist/utility_classes.css +1 -1
  6. package/dist/utility_classes.css.map +1 -1
  7. package/package.json +10 -11
  8. package/src/components/base/accordion/accordion.stories.js +0 -1
  9. package/src/components/base/accordion/accordion_item.stories.js +0 -1
  10. package/src/components/base/avatar/avatar.stories.js +0 -1
  11. package/src/components/base/avatar_labeled/avatar_labeled.stories.js +0 -1
  12. package/src/components/base/avatar_link/avatar_link.stories.js +0 -1
  13. package/src/components/base/avatars_inline/avatars_inline.stories.js +0 -1
  14. package/src/components/base/banner/banner.stories.js +0 -1
  15. package/src/components/base/breadcrumb/breadcrumb.stories.js +0 -1
  16. package/src/components/base/broadcast_message/broadcast_message.stories.js +0 -1
  17. package/src/components/base/button/button.stories.js +0 -3
  18. package/src/components/base/button_group/button_group.stories.js +0 -3
  19. package/src/components/base/card/card.stories.js +0 -1
  20. package/src/components/base/carousel/carousel.stories.js +0 -1
  21. package/src/components/base/collapse/collapse.stories.js +0 -3
  22. package/src/components/base/daterange_picker/daterange_picker.stories.js +0 -1
  23. package/src/components/base/drawer/drawer.stories.js +0 -1
  24. package/src/components/base/form/form.stories.js +0 -1
  25. package/src/components/base/form/form_checkbox/form_checkbox.stories.js +0 -1
  26. package/src/components/base/form/form_combobox/form_combobox.stories.js +0 -1
  27. package/src/components/base/form/form_input/form_input.stories.js +0 -1
  28. package/src/components/base/form/form_input_group/form_input_group.stories.js +0 -2
  29. package/src/components/base/form/form_radio/form_radio.stories.js +0 -1
  30. package/src/components/base/form/form_radio_group/form_radio_group.stories.js +0 -1
  31. package/src/components/base/form/form_select/form_select.stories.js +0 -1
  32. package/src/components/base/form/form_text/form_text.stories.js +0 -1
  33. package/src/components/base/form/form_textarea/form_textarea.stories.js +0 -1
  34. package/src/components/base/form/input_group_text/input_group_text.stories.js +0 -1
  35. package/src/components/base/icon/icon.stories.js +0 -1
  36. package/src/components/base/infinite_scroll/infinite_scroll.stories.js +0 -1
  37. package/src/components/base/keyset_pagination/keyset_pagination.stories.js +0 -1
  38. package/src/components/base/label/label.stories.js +0 -1
  39. package/src/components/base/loading_icon/loading_icon.stories.js +0 -3
  40. package/src/components/base/markdown/markdown.stories.js +0 -1
  41. package/src/components/base/modal/modal.stories.js +0 -1
  42. package/src/components/base/nav/nav.stories.js +0 -1
  43. package/src/components/base/new_dropdowns/listbox/listbox.stories.js +0 -1
  44. package/src/components/base/paginated_list/paginated_list.stories.js +0 -1
  45. package/src/components/base/pagination/pagination.stories.js +0 -1
  46. package/src/components/base/path/path.stories.js +0 -1
  47. package/src/components/base/popover/popover.stories.js +0 -1
  48. package/src/components/base/progress_bar/progress_bar.stories.js +0 -1
  49. package/src/components/base/search_box_by_click/search_box_by_click.stories.js +0 -1
  50. package/src/components/base/search_box_by_type/search_box_by_type.stories.js +0 -1
  51. package/src/components/base/segmented_control/segmented_control.stories.js +0 -1
  52. package/src/components/base/skeleton_loader/skeleton_loader.stories.js +0 -1
  53. package/src/components/base/skeleton_loading/skeleton_loading.stories.js +0 -1
  54. package/src/components/base/sorting/sorting.stories.js +0 -1
  55. package/src/components/base/sorting/sorting_item.stories.js +0 -1
  56. package/src/components/base/table/table.stories.js +0 -1
  57. package/src/components/base/table_lite/table_lite.stories.js +0 -1
  58. package/src/components/base/tabs/tab/tab.spec.js +9 -19
  59. package/src/components/base/tabs/tab/tab.vue +0 -9
  60. package/src/components/base/tabs/tabs/tabs.stories.js +0 -14
  61. package/src/components/base/toast/toast.stories.js +0 -1
  62. package/src/components/base/token_selector/token_container.spec.js +9 -0
  63. package/src/components/base/token_selector/token_container.vue +6 -0
  64. package/src/components/base/token_selector/token_selector.spec.js +60 -0
  65. package/src/components/base/token_selector/token_selector.stories.js +0 -1
  66. package/src/components/base/token_selector/token_selector.vue +17 -1
  67. package/src/components/base/tooltip/tooltip.stories.js +0 -1
  68. package/src/components/charts/area/area.stories.js +0 -3
  69. package/src/components/charts/bar/bar.stories.js +0 -1
  70. package/src/components/charts/discrete_scatter/discrete_scatter.stories.js +0 -3
  71. package/src/components/charts/gauge/gauge.stories.js +0 -1
  72. package/src/components/charts/heatmap/heatmap.stories.js +0 -3
  73. package/src/components/charts/legend/legend.stories.js +0 -1
  74. package/src/components/charts/series_label/series_label.stories.js +0 -1
  75. package/src/components/charts/single_stat/single_stat.stories.js +0 -1
  76. package/src/components/charts/sparkline/sparkline.stories.js +0 -1
  77. package/src/components/charts/stacked_column/stacked_column.stories.js +0 -1
  78. package/src/components/charts/tooltip/tooltip.stories.js +0 -1
  79. package/src/components/regions/empty_state/empty_state.stories.js +0 -1
  80. package/src/components/utilities/friendly_wrap/friendly_wrap.stories.js +0 -1
  81. package/src/components/utilities/intersection_observer/intersection_observer.stories.js +0 -1
  82. package/src/components/utilities/intersperse/intersperse.stories.js +0 -1
  83. package/src/components/utilities/truncate/truncate.stories.js +0 -1
  84. package/src/directives/outside/outside.stories.js +0 -1
  85. package/src/directives/resize_observer/resize_observer.stories.js +0 -1
  86. package/src/directives/safe_html/safe_html.stories.js +0 -1
  87. package/src/directives/safe_link/safe_link.stories.js +0 -1
  88. package/src/scss/utilities.scss +12 -0
  89. package/src/scss/utility-mixins/display.scss +6 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gitlab/ui",
3
- "version": "41.8.0",
3
+ "version": "41.10.0",
4
4
  "description": "GitLab UI Components",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -83,19 +83,18 @@
83
83
  "@babel/preset-env": "^7.10.2",
84
84
  "@gitlab/eslint-plugin": "12.3.0",
85
85
  "@gitlab/stylelint-config": "4.0.0",
86
- "@gitlab/svgs": "2.18.0",
86
+ "@gitlab/svgs": "2.19.0",
87
87
  "@rollup/plugin-commonjs": "^11.1.0",
88
88
  "@rollup/plugin-node-resolve": "^7.1.3",
89
89
  "@rollup/plugin-replace": "^2.3.2",
90
- "@storybook/addon-a11y": "6.5.8",
91
- "@storybook/addon-docs": "6.5.8",
92
- "@storybook/addon-essentials": "6.5.8",
93
- "@storybook/addon-knobs": "6.4.0",
94
- "@storybook/addon-storyshots": "6.5.8",
95
- "@storybook/addon-storyshots-puppeteer": "6.5.8",
96
- "@storybook/addon-viewport": "6.5.8",
97
- "@storybook/theming": "6.5.8",
98
- "@storybook/vue": "6.5.8",
90
+ "@storybook/addon-a11y": "6.5.9",
91
+ "@storybook/addon-docs": "6.5.9",
92
+ "@storybook/addon-essentials": "6.5.9",
93
+ "@storybook/addon-storyshots": "6.5.9",
94
+ "@storybook/addon-storyshots-puppeteer": "6.5.9",
95
+ "@storybook/addon-viewport": "6.5.9",
96
+ "@storybook/theming": "6.5.9",
97
+ "@storybook/vue": "6.5.9",
99
98
  "@vue/test-utils": "1.3.0",
100
99
  "autoprefixer": "^9.7.6",
101
100
  "babel-jest": "^26.6.3",
@@ -50,7 +50,6 @@ export default {
50
50
  parameters: {
51
51
  bootstrapComponent: 'b-collapse',
52
52
  storyshots: { disable: true },
53
- knobs: { disable: true },
54
53
  docs: {
55
54
  description: {
56
55
  component: readme,
@@ -45,7 +45,6 @@ export default {
45
45
  bootstrapComponent: 'b-collapse',
46
46
  parameters: {
47
47
  storyshots: { disable: true },
48
- knobs: { disable: true },
49
48
  docs: {
50
49
  description: {
51
50
  component: readme,
@@ -108,7 +108,6 @@ export default {
108
108
  title: 'base/avatar',
109
109
  component: GlAvatar,
110
110
  parameters: {
111
- knobs: { disable: true },
112
111
  docs: {
113
112
  description: {
114
113
  component: readme,
@@ -113,7 +113,6 @@ export default {
113
113
  title: 'base/avatar/labeled',
114
114
  component: GlAvatarLabeled,
115
115
  parameters: {
116
- knobs: { disable: true },
117
116
  docs: {
118
117
  description: {
119
118
  component: readme,
@@ -65,7 +65,6 @@ export default {
65
65
  title: 'base/avatar/avatar-link',
66
66
  component: GlAvatarLink,
67
67
  parameters: {
68
- knobs: { disable: true },
69
68
  docs: {
70
69
  description: {
71
70
  component: readme,
@@ -65,7 +65,6 @@ export default {
65
65
  title: 'base/avatar/avatars-inline',
66
66
  component: GlAvatarsInline,
67
67
  parameters: {
68
- knobs: { disable: true },
69
68
  docs: {
70
69
  description: {
71
70
  component: readme,
@@ -89,7 +89,6 @@ export default {
89
89
  title: 'base/banner',
90
90
  component: GlBanner,
91
91
  parameters: {
92
- knobs: { disable: true },
93
92
  docs: {
94
93
  description: {
95
94
  component: readme,
@@ -53,7 +53,6 @@ export default {
53
53
  component: GlBreadcrumb,
54
54
  parameters: {
55
55
  bootstrapComponent: 'b-breadcrumb',
56
- knobs: { disable: true },
57
56
  docs: {
58
57
  description: {
59
58
  component: readme,
@@ -69,7 +69,6 @@ export default {
69
69
  title: 'base/broadcast message',
70
70
  component: GlBroadcastMessage,
71
71
  parameters: {
72
- knobs: { disable: true },
73
72
  docs: {
74
73
  description: {
75
74
  component: readme,
@@ -505,9 +505,6 @@ export default {
505
505
  component: readme,
506
506
  },
507
507
  },
508
- knobs: {
509
- disable: true,
510
- },
511
508
  },
512
509
  argTypes: {
513
510
  category: {
@@ -33,8 +33,5 @@ export default {
33
33
  component: readme,
34
34
  },
35
35
  },
36
- knobs: {
37
- disable: true,
38
- },
39
36
  },
40
37
  };
@@ -29,7 +29,6 @@ export default {
29
29
  title: 'base/card',
30
30
  component: GlCard,
31
31
  parameters: {
32
- knobs: { disable: true },
33
32
  docs: {
34
33
  description: {
35
34
  component: readme,
@@ -41,7 +41,6 @@ export default {
41
41
  component: GlCarousel,
42
42
  parameters: {
43
43
  bootstrapComponent: 'b-carousel',
44
- knobs: { disable: true },
45
44
  docs: {
46
45
  description: {
47
46
  component: readme,
@@ -36,8 +36,5 @@ export default {
36
36
  component: readme,
37
37
  },
38
38
  },
39
- knobs: {
40
- disabled: true,
41
- },
42
39
  },
43
40
  };
@@ -116,7 +116,6 @@ export default {
116
116
  component: GlDaterangePicker,
117
117
  decorators: [makeContainer({ height: '300px' })],
118
118
  parameters: {
119
- knobs: { disable: true },
120
119
  docs: {
121
120
  description: {
122
121
  component: readme,
@@ -156,7 +156,6 @@ export default {
156
156
  },
157
157
  },
158
158
  parameters: {
159
- knobs: { disabled: true },
160
159
  docs: {
161
160
  description: {
162
161
  component: readme,
@@ -94,7 +94,6 @@ export default {
94
94
  component: GlForm,
95
95
  parameters: {
96
96
  bootstrapComponent: 'b-form',
97
- knobs: { disable: true },
98
97
  docs: {
99
98
  description: {
100
99
  component: readme,
@@ -31,7 +31,6 @@ export default {
31
31
  title: 'base/form/form checkbox',
32
32
  component: GlFormCheckbox,
33
33
  parameters: {
34
- knobs: { disable: true },
35
34
  bootstrapComponent: 'b-form-checkbox',
36
35
  docs: {
37
36
  description: {
@@ -31,7 +31,6 @@ export default {
31
31
  title: 'base/form/form-combobox',
32
32
  component: GlFormCombobox,
33
33
  parameters: {
34
- knobs: { disable: true },
35
34
  docs: {
36
35
  description: {
37
36
  component: readme,
@@ -81,7 +81,6 @@ export default {
81
81
  component: GlFormInput,
82
82
  parameters: {
83
83
  bootstrapComponent: 'b-form-input',
84
- knobs: { disable: true },
85
84
  docs: {
86
85
  description: {
87
86
  component: readme,
@@ -59,7 +59,6 @@ PredefinedOptions.args = generateProps({
59
59
  export default {
60
60
  title: 'base/form/form-input-group',
61
61
  component: GlFormInputGroup,
62
- knobs: { disabled: true },
63
62
  parameters: {
64
63
  bootstrapComponent: 'b-form-input',
65
64
  docs: {
@@ -67,7 +66,6 @@ export default {
67
66
  component: readme,
68
67
  },
69
68
  },
70
- knobs: { disabled: true },
71
69
  },
72
70
  argTypes: {
73
71
  ...disableControls(['value']),
@@ -42,7 +42,6 @@ export default {
42
42
  component: GlFormRadio,
43
43
  parameters: {
44
44
  bootstrapComponent: 'b-form-radio',
45
- knobs: { disable: true },
46
45
  docs: {
47
46
  description: {
48
47
  component: readme,
@@ -47,7 +47,6 @@ export default {
47
47
  title: 'base/form/form-radio-group',
48
48
  component: GlFormRadioGroup,
49
49
  parameters: {
50
- knobs: { disable: true },
51
50
  bootstrapComponent: 'b-form-radio-group',
52
51
  docs: {
53
52
  description: {
@@ -82,7 +82,6 @@ export default {
82
82
  component: GlFormSelect,
83
83
  parameters: {
84
84
  bootstrapComponent: 'b-form-select',
85
- knobs: { disable: true },
86
85
  docs: {
87
86
  description: {
88
87
  component: readme,
@@ -18,7 +18,6 @@ export default {
18
18
  title: 'base/form/form-text',
19
19
  component: GlFormText,
20
20
  parameters: {
21
- knobs: { disable: true },
22
21
  docs: {
23
22
  description: {
24
23
  component: readme,
@@ -34,7 +34,6 @@ export default {
34
34
  component: GlFormTextarea,
35
35
  parameters: {
36
36
  bootstrapComponent: 'b-form-textarea',
37
- knobs: { disable: true },
38
37
  docs: {
39
38
  description: {
40
39
  component: readme,
@@ -21,7 +21,6 @@ export default {
21
21
  component: GlInputGroupText,
22
22
  parameters: {
23
23
  controls: { disable: true },
24
- knobs: { disable: true },
25
24
  docs: {
26
25
  description: {
27
26
  component: readme,
@@ -33,7 +33,6 @@ export default {
33
33
  title: 'base/icon',
34
34
  component: GlIcon,
35
35
  parameters: {
36
- knobs: { disable: true },
37
36
  docs: {
38
37
  description: {
39
38
  component: readme,
@@ -84,7 +84,6 @@ export default {
84
84
  title: 'base/infinite-scroll',
85
85
  component: GlInfiniteScroll,
86
86
  parameters: {
87
- knobs: { disable: true },
88
87
  docs: {
89
88
  description: {
90
89
  component: readme,
@@ -57,7 +57,6 @@ export default {
57
57
  component: GlKeysetPagination,
58
58
  parameters: {
59
59
  bootstrapComponent: false,
60
- knobs: { disable: true },
61
60
  docs: {
62
61
  description: {
63
62
  component: readme,
@@ -58,7 +58,6 @@ export default {
58
58
  title: 'base/label',
59
59
  component: GlLabel,
60
60
  parameters: {
61
- knobs: { disable: true },
62
61
  docs: {
63
62
  description: {
64
63
  component: readme,
@@ -40,9 +40,6 @@ export default {
40
40
  component: readme,
41
41
  },
42
42
  },
43
- knobs: {
44
- disabled: true,
45
- },
46
43
  },
47
44
  argTypes: {
48
45
  color: {
@@ -29,6 +29,5 @@ export default {
29
29
  component: readme,
30
30
  },
31
31
  },
32
- knobs: { disabled: true },
33
32
  },
34
33
  };
@@ -106,7 +106,6 @@ export default {
106
106
  directives: { GlModalDirective },
107
107
  bootstrapComponent: 'b-modal',
108
108
  parameters: {
109
- knobs: { disable: true },
110
109
  docs: {
111
110
  description: {
112
111
  component: readme,
@@ -50,7 +50,6 @@ export default {
50
50
  },
51
51
  parameters: {
52
52
  bootstrapComponent: 'b-nav',
53
- knobs: { disable: true },
54
53
  docs: {
55
54
  description: {
56
55
  component: readme,
@@ -254,7 +254,6 @@ export default {
254
254
  title: 'base/new-dropdowns/listbox',
255
255
  component: GlListbox,
256
256
  parameters: {
257
- knobs: { disable: true },
258
257
  docs: {
259
258
  description: {
260
259
  component: readme,
@@ -197,7 +197,6 @@ export default {
197
197
  title: 'base/paginated-list',
198
198
  component: GlPaginatedList,
199
199
  parameters: {
200
- knobs: { disable: true },
201
200
  docs: {
202
201
  description: {
203
202
  component: readme,
@@ -117,7 +117,6 @@ export default {
117
117
  title: 'base/pagination',
118
118
  component: GlPagination,
119
119
  parameters: {
120
- knobs: { disable: true },
121
120
  docs: {
122
121
  description: {
123
122
  component: readme,
@@ -65,7 +65,6 @@ export default {
65
65
  title: 'base/path',
66
66
  component: GlPath,
67
67
  parameters: {
68
- knobs: { disable: true },
69
68
  docs: {
70
69
  description: {
71
70
  component: readme,
@@ -81,7 +81,6 @@ export default {
81
81
  title: 'base/popover',
82
82
  component: GlPopover,
83
83
  parameters: {
84
- knobs: { disable: true },
85
84
  bootstrapComponent: 'b-popover',
86
85
  },
87
86
  argTypes: {
@@ -23,7 +23,6 @@ export default {
23
23
  title: 'base/progress-bar',
24
24
  component: GlProgressBar,
25
25
  parameters: {
26
- knobs: { disable: true },
27
26
  bootstrapComponent: 'b-progress',
28
27
  },
29
28
  argTypes: {
@@ -82,7 +82,6 @@ export default {
82
82
  title: 'base/search-box-by-click',
83
83
  component: GlSearchBoxByClick,
84
84
  parameters: {
85
- knobs: { disable: true },
86
85
  docs: {
87
86
  description: {
88
87
  component: readme,
@@ -41,7 +41,6 @@ export default {
41
41
  title: 'base/search-box-by-type',
42
42
  component: GlSearchBoxByType,
43
43
  parameters: {
44
- knobs: { disable: true },
45
44
  bootstrapComponent: 'b-form-input',
46
45
  docs: {
47
46
  description: {
@@ -39,7 +39,6 @@ export default {
39
39
  component: GlSegmentedControl,
40
40
  parameters: {
41
41
  bootstrapComponent: 'b-form-radio-group',
42
- knobs: { disable: true },
43
42
  docs: {
44
43
  description: {
45
44
  component: readme,
@@ -77,7 +77,6 @@ export default {
77
77
  title: 'base/skeleton-loader',
78
78
  component: GlSkeletonLoader,
79
79
  parameters: {
80
- knobs: { disable: true },
81
80
  docs: {
82
81
  description: {
83
82
  component: readme,
@@ -31,7 +31,6 @@ export default {
31
31
  component: readme,
32
32
  },
33
33
  },
34
- knobs: { disable: true },
35
34
  },
36
35
  argTypes: {
37
36
  lines: {
@@ -56,7 +56,6 @@ export default {
56
56
  component: GlSorting,
57
57
  decorators: [makeContainer({ height: '100px', paddingLeft: '100px' })],
58
58
  parameters: {
59
- knobs: { disable: true },
60
59
  docs: {
61
60
  description: {
62
61
  component: readme,
@@ -40,7 +40,6 @@ export default {
40
40
  component: GlSortingItem,
41
41
  decorators: [makeContainer({ height: '50px', paddingLeft: '100px' })],
42
42
  parameters: {
43
- knobs: { disable: true },
44
43
  docs: {
45
44
  description: {
46
45
  component: readme,
@@ -98,7 +98,6 @@ export default {
98
98
  component: GlTable,
99
99
  parameters: {
100
100
  bootstrapComponent: 'b-table',
101
- knobs: { disable: true },
102
101
  docs: {
103
102
  description: {
104
103
  component: readme,
@@ -53,7 +53,6 @@ export default {
53
53
  title: 'base/table/table_lite',
54
54
  component: GlTableLite,
55
55
  parameters: {
56
- knobs: { disable: true },
57
56
  docs: {
58
57
  description: {
59
58
  component: readme,
@@ -1,5 +1,4 @@
1
1
  import { shallowMount } from '@vue/test-utils';
2
- import { BTab } from 'bootstrap-vue';
3
2
  import { DEFAULT_TAB_TITLE_LINK_CLASS } from '../constants';
4
3
  import GlTab from './tab.vue';
5
4
 
@@ -7,7 +6,9 @@ describe('Tab component', () => {
7
6
  let wrapper;
8
7
 
9
8
  const createComponent = (options) => {
10
- wrapper = shallowMount(GlTab, { ...options });
9
+ wrapper = shallowMount(GlTab, {
10
+ ...options,
11
+ });
11
12
  };
12
13
 
13
14
  it.each`
@@ -21,25 +22,14 @@ describe('Tab component', () => {
21
22
  'computed title link class is $expectedProp when titleLinkClass is $titleLinkClass',
22
23
  ({ titleLinkClass, expectedProp }) => {
23
24
  createComponent({
24
- propsData: { titleLinkClass },
25
+ propsData: {
26
+ titleLinkClass,
27
+ },
25
28
  });
26
29
 
27
- expect(wrapper.findComponent(BTab).props('titleLinkClass')).toEqual(expectedProp);
30
+ expect(wrapper.html()).toBe(
31
+ `<b-tab-stub tag="div" title="" titlelinkclass="${expectedProp}"></b-tab-stub>`
32
+ );
28
33
  }
29
34
  );
30
-
31
- it('passes title-link-attributes to b-tab when href is explicitly passed', () => {
32
- const titleLinkAttributes = 'href-example';
33
- const expectedProp = { href: titleLinkAttributes };
34
- createComponent({
35
- propsData: { href: titleLinkAttributes },
36
- });
37
- expect(wrapper.findComponent(BTab).props('titleLinkAttributes')).toEqual(expectedProp);
38
- });
39
-
40
- it('passes # as href to b-tab when href is not passed', () => {
41
- const expectedProp = { href: '#' };
42
- createComponent();
43
- expect(wrapper.findComponent(BTab).props('titleLinkAttributes')).toEqual(expectedProp);
44
- });
45
35
  });
@@ -24,14 +24,6 @@ export default {
24
24
  required: false,
25
25
  default: null,
26
26
  },
27
- /**
28
- * Provide an `href` for the tab, for example to associate the tab with the tab panel's ID
29
- */
30
- href: {
31
- type: String,
32
- required: false,
33
- default: '#',
34
- },
35
27
  },
36
28
  computed: {
37
29
  linkClass() {
@@ -54,7 +46,6 @@ export default {
54
46
  :title-link-class="linkClass"
55
47
  :query-param-value="queryParamValue"
56
48
  v-bind="$attrs"
57
- :title-link-attributes="{ href }"
58
49
  v-on="$listeners"
59
50
  >
60
51
  <template v-for="slot in Object.keys($slots)" #[slot]>
@@ -226,20 +226,6 @@ WithScrollAndGrowing.parameters = {
226
226
  storyshots: { disable: true },
227
227
  };
228
228
 
229
- export const WithHref = (_args, { argTypes }) => ({
230
- props: Object.keys(argTypes),
231
- components: { ...components, GlBadge },
232
- template: wrap(`
233
- <gl-tab href="#tab-1" title="Tab 1">
234
- <h2 id="tab-1">Tab panel 1</h2>
235
- <p>Some paragraph text<p>
236
- </gl-tab>
237
- <gl-tab href="#tab-2" title="Tab 2">
238
- <h2 id="tab-2">Tab panel 2</h2>
239
- <p>Some paragraph text<p>
240
- </gl-tab>`),
241
- });
242
-
243
229
  export default {
244
230
  title: 'base/tabs',
245
231
  component: GlTabs,
@@ -74,7 +74,6 @@ export default {
74
74
  component: GlToast,
75
75
  parameters: {
76
76
  bootstrapComponent: 'toast',
77
- knobs: { disable: true },
78
77
  docs: {
79
78
  description: {
80
79
  component: readme,
@@ -62,6 +62,15 @@ describe('GlTokenContainer', () => {
62
62
  });
63
63
  });
64
64
 
65
+ describe('viewOnly', () => {
66
+ it('passes viewOnly prop to tokens correctly', () => {
67
+ createComponent({ propsData: { viewOnly: true } });
68
+ const tokenWrappers = wrapper.findAllComponents(GlToken);
69
+
70
+ expect(tokenWrappers.wrappers.every((token) => token.props('viewOnly'))).toBe(true);
71
+ });
72
+ });
73
+
65
74
  describe('state', () => {
66
75
  describe('when `state` is `false`', () => {
67
76
  it('adds `aria-invalid="true"` attribute`', () => {
@@ -21,6 +21,11 @@ export default {
21
21
  type: Function,
22
22
  required: true,
23
23
  },
24
+ viewOnly: {
25
+ type: Boolean,
26
+ required: false,
27
+ default: false,
28
+ },
24
29
  },
25
30
  data() {
26
31
  return {
@@ -143,6 +148,7 @@ export default {
143
148
  class="gl-cursor-default"
144
149
  :class="token.class"
145
150
  :style="token.style"
151
+ :view-only="viewOnly"
146
152
  @close="handleClose(token)"
147
153
  >
148
154
  <slot name="token-content" :token="token">