@gitlab/ui 33.1.1 → 35.1.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 (79) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/dist/components/base/accordion/accordion.js +6 -2
  3. package/dist/components/base/accordion/accordion_item.js +2 -2
  4. package/dist/components/base/avatars_inline/avatars_inline.documentation.js +1 -1
  5. package/dist/components/base/avatars_inline/avatars_inline.js +5 -1
  6. package/dist/components/base/nav/nav.documentation.js +2 -7
  7. package/dist/components/base/tabs/tabs/tabs.documentation.js +1 -1
  8. package/dist/components/base/tabs/tabs/tabs.js +2 -12
  9. package/dist/components/utilities/truncate/truncate.documentation.js +2 -17
  10. package/dist/components/utilities/truncate/truncate.js +11 -0
  11. package/dist/index.css +1 -1
  12. package/dist/index.css.map +1 -1
  13. package/dist/utility_classes.css +1 -1
  14. package/dist/utility_classes.css.map +1 -1
  15. package/documentation/components_documentation.js +0 -2
  16. package/documentation/documented_stories.js +4 -0
  17. package/package.json +13 -13
  18. package/src/components/base/accordion/accordion.vue +5 -2
  19. package/src/components/base/accordion/accordion_item.spec.js +2 -2
  20. package/src/components/base/accordion/accordion_item.stories.js +2 -2
  21. package/src/components/base/accordion/accordion_item.vue +2 -2
  22. package/src/components/base/avatar/avatar.stories.js +8 -0
  23. package/src/components/base/avatar_labeled/avatar_labeled.stories.js +7 -0
  24. package/src/components/base/avatar_link/avatar_link.stories.js +7 -0
  25. package/src/components/base/avatars_inline/avatars_inline.md +5 -0
  26. package/src/components/base/avatars_inline/avatars_inline.spec.js +21 -1
  27. package/src/components/base/avatars_inline/avatars_inline.stories.js +23 -9
  28. package/src/components/base/avatars_inline/avatars_inline.vue +11 -1
  29. package/src/components/base/badge/badge.stories.js +114 -9
  30. package/src/components/base/broadcast_message/broadcast_message.stories.js +2 -2
  31. package/src/components/base/button/button.stories.js +11 -11
  32. package/src/components/base/dropdown/dropdown.stories.js +4 -2
  33. package/src/components/base/filtered_search/filtered_search.stories.js +11 -1
  34. package/src/components/base/filtered_search/filtered_search_suggestion.stories.js +2 -0
  35. package/src/components/base/filtered_search/filtered_search_suggestion_list.stories.js +2 -0
  36. package/src/components/base/filtered_search/filtered_search_token.stories.js +2 -0
  37. package/src/components/base/filtered_search/filtered_search_token_segment.stories.js +2 -0
  38. package/src/components/base/form/form_group/form_group.stories.js +6 -5
  39. package/src/components/base/form/form_radio_group/form_radio_group.stories.js +2 -1
  40. package/src/components/base/loading_icon/loading_icon.stories.js +1 -0
  41. package/src/components/base/modal/modal.scss +5 -2
  42. package/src/components/base/nav/nav.documentation.js +0 -4
  43. package/src/components/base/nav/nav.md +8 -5
  44. package/src/components/base/nav/nav.stories.js +52 -15
  45. package/src/components/base/pagination/pagination.stories.js +7 -0
  46. package/src/components/base/path/path.stories.js +2 -2
  47. package/src/components/base/popover/popover.stories.js +6 -0
  48. package/src/components/base/table/table.stories.js +6 -1
  49. package/src/components/base/tabs/tabs/scrollable_tabs.spec.js +0 -1
  50. package/src/components/base/tabs/tabs/tabs.md +2 -2
  51. package/src/components/base/tabs/tabs/tabs.scss +3 -115
  52. package/src/components/base/tabs/tabs/tabs.spec.js +7 -4
  53. package/src/components/base/tabs/tabs/tabs.stories.js +8 -12
  54. package/src/components/base/tabs/tabs/tabs.vue +2 -11
  55. package/src/components/base/toast/toast.stories.js +6 -4
  56. package/src/components/base/token/token.stories.js +2 -2
  57. package/src/components/base/tooltip/tooltip.stories.js +2 -1
  58. package/src/components/utilities/truncate/truncate.documentation.js +0 -14
  59. package/src/components/utilities/truncate/truncate.md +0 -4
  60. package/src/components/utilities/truncate/truncate.stories.js +37 -26
  61. package/src/components/utilities/truncate/truncate.vue +9 -0
  62. package/src/scss/utilities.scss +8 -0
  63. package/src/scss/utility-mixins/box-shadow.scss +4 -0
  64. package/dist/components/base/nav/examples/index.js +0 -13
  65. package/dist/components/base/nav/examples/nav.basic.example.js +0 -38
  66. package/dist/components/base/nav/nav_item.documentation.js +0 -13
  67. package/dist/components/base/nav/nav_item_dropdown.documentation.js +0 -14
  68. package/dist/components/utilities/truncate/examples/index.js +0 -13
  69. package/dist/components/utilities/truncate/examples/truncate.basic.example.js +0 -38
  70. package/src/components/base/nav/examples/index.js +0 -15
  71. package/src/components/base/nav/examples/nav.basic.example.vue +0 -8
  72. package/src/components/base/nav/nav_item.documentation.js +0 -6
  73. package/src/components/base/nav/nav_item.md +0 -7
  74. package/src/components/base/nav/nav_item.stories.js +0 -23
  75. package/src/components/base/nav/nav_item_dropdown.documentation.js +0 -7
  76. package/src/components/base/nav/nav_item_dropdown.md +0 -7
  77. package/src/components/base/nav/nav_item_dropdown.stories.js +0 -51
  78. package/src/components/utilities/truncate/examples/index.js +0 -15
  79. package/src/components/utilities/truncate/examples/truncate.basic.example.vue +0 -5
@@ -52,125 +52,13 @@
52
52
  .gl-tab-nav-item-active {
53
53
  @include gl-font-weight-bold;
54
54
  @include gl-text-gray-900;
55
- }
56
-
57
- .gl-tab-nav-item-active-indigo {
58
- @include gl-inset-border-b-2-theme-indigo-500;
59
-
60
- &:active,
61
- &:focus,
62
- &:focus:active {
63
- box-shadow: inset 0 -#{$gl-border-size-2} 0 0 $theme-indigo-500, $focus-ring;
64
- @include gl-outline-none;
65
- }
66
- }
67
-
68
- .gl-tab-nav-item-active-light-indigo {
69
- @include gl-inset-border-b-2-theme-indigo-300;
70
-
71
- &:active,
72
- &:focus,
73
- &:focus:active {
74
- box-shadow: inset 0 -#{$gl-border-size-2} 0 0 $theme-indigo-300, $focus-ring;
75
- @include gl-outline-none;
76
- }
77
- }
78
-
79
- .gl-tab-nav-item-active-blue {
80
- @include gl-inset-border-b-2-theme-blue-500;
81
-
82
- &:active,
83
- &:focus,
84
- &:focus:active {
85
- box-shadow: inset 0 -#{$gl-border-size-2} 0 0 $theme-blue-500, $focus-ring;
86
- @include gl-outline-none;
87
- }
88
- }
89
-
90
- .gl-tab-nav-item-active-light-blue {
91
- @include gl-inset-border-b-2-theme-light-blue-500;
92
-
93
- &:active,
94
- &:focus,
95
- &:focus:active {
96
- box-shadow: inset 0 -#{$gl-border-size-2} 0 0 $theme-light-blue-500, $focus-ring;
97
- @include gl-outline-none;
98
- }
99
- }
100
-
101
- .gl-tab-nav-item-active-red {
102
- @include gl-inset-border-b-2-theme-red-500;
103
-
104
- &:active,
105
- &:focus,
106
- &:focus:active {
107
- box-shadow: inset 0 -#{$gl-border-size-2} 0 0 $theme-red-500, $focus-ring;
108
- @include gl-outline-none;
109
- }
110
- }
111
-
112
- .gl-tab-nav-item-active-light-red {
113
- @include gl-inset-border-b-2-theme-light-red-500;
114
-
115
- &:active,
116
- &:focus,
117
- &:focus:active {
118
- box-shadow: inset 0 -#{$gl-border-size-2} 0 0 $theme-light-red-500, $focus-ring;
119
- @include gl-outline-none;
120
- }
121
- }
122
-
123
- .gl-tab-nav-item-active-green {
124
- @include gl-inset-border-b-2-theme-green-500;
125
-
126
- &:active,
127
- &:focus,
128
- &:focus:active {
129
- box-shadow: inset 0 -#{$gl-border-size-2} 0 0 $theme-green-500, $focus-ring;
130
- @include gl-outline-none;
131
- }
132
- }
133
-
134
- .gl-tab-nav-item-active-light-green {
135
- @include gl-inset-border-b-2-theme-green-300;
136
-
137
- &:active,
138
- &:focus,
139
- &:focus:active {
140
- box-shadow: inset 0 -#{$gl-border-size-2} 0 0 $theme-green-300, $focus-ring;
141
- @include gl-outline-none;
142
- }
143
- }
144
-
145
- .gl-tab-nav-item-active-dark {
146
- @include gl-inset-border-b-2-gray-500;
147
-
148
- &:active,
149
- &:focus,
150
- &:focus:active {
151
- box-shadow: inset 0 -#{$gl-border-size-2} 0 0 $gray-500, $focus-ring;
152
- @include gl-outline-none;
153
- }
154
- }
155
-
156
- .gl-tab-nav-item-active-light {
157
- @include gl-inset-border-b-2-gray-300;
158
-
159
- &:active,
160
- &:focus,
161
- &:focus:active {
162
- box-shadow: inset 0 -#{$gl-border-size-2} 0 0 $gray-300, $focus-ring;
163
- @include gl-outline-none;
164
- }
165
- }
166
-
167
- .gl-tab-nav-item-active-gl-dark {
168
- @include gl-inset-border-b-2-gray-100;
55
+ @include gl-inset-border-b-2-theme-accent;
169
56
 
170
57
  &:active,
171
58
  &:focus,
172
59
  &:focus:active {
173
- box-shadow: inset 0 -#{$gl-border-size-2} 0 0 $gray-100, $focus-ring;
60
+ box-shadow: inset 0 -#{$gl-border-size-2} 0 0 var(--gl-theme-accent, $theme-indigo-500),
61
+ $focus-ring;
174
62
  @include gl-outline-none;
175
63
  }
176
64
  }
@@ -1,4 +1,4 @@
1
- import { mount, shallowMount } from '@vue/test-utils';
1
+ import { mount } from '@vue/test-utils';
2
2
  import { nextTick } from 'vue';
3
3
  import { GlButton } from '../../../../../index';
4
4
  import { tabsButtonDefaults } from '../../../../utils/constants';
@@ -44,9 +44,12 @@ describe('tabs component', () => {
44
44
  wrapper.findAll('[role="tab"]').wrappers.find((tabWrapper) => tabWrapper.text() === text);
45
45
 
46
46
  describe('default', () => {
47
- it('should have a default theme of indigo', () => {
48
- buildTabs({ mountFn: shallowMount });
49
- expect(wrapper.attributes('activenavitemclass')).toContain('gl-tab-nav-item-active-indigo');
47
+ it('the active tab should be styled', async () => {
48
+ buildTabs();
49
+
50
+ await nextTick();
51
+
52
+ expect(findActiveTab().classes()).toContain('gl-tab-nav-item-active');
50
53
  });
51
54
  });
52
55
 
@@ -1,12 +1,12 @@
1
- import { withKnobs, select, boolean } from '@storybook/addon-knobs';
1
+ import { withKnobs, boolean } from '@storybook/addon-knobs';
2
2
  import { range } from 'lodash';
3
3
  import { documentedStoriesOf } from '../../../../../documentation/documented_stories';
4
4
  import { GlTabs, GlTab, GlScrollableTabs } from '../../../../../index';
5
- import { colorThemes } from '../../../../utils/constants';
6
5
  import docs from './tabs.md';
7
6
 
8
7
  const ScrollableTabsGenerator = {
9
8
  components: {
9
+ GlTabs,
10
10
  GlScrollableTabs,
11
11
  GlTab,
12
12
  },
@@ -39,10 +39,6 @@ const createBaseStory = () => ({
39
39
  GlTab,
40
40
  },
41
41
  props: {
42
- theme: {
43
- type: String,
44
- default: select('theme', [...Object.keys(colorThemes), 'gl-dark'], 'indigo'),
45
- },
46
42
  syncActiveTabWithQueryParams: {
47
43
  type: Boolean,
48
44
  default: boolean('sync-active-tab-with-query-params', false),
@@ -55,7 +51,7 @@ documentedStoriesOf('base/tabs/tabs', docs)
55
51
  .add('default', () => ({
56
52
  ...createBaseStory(),
57
53
  template: `
58
- <gl-tabs :theme="theme" :sync-active-tab-with-query-params="syncActiveTabWithQueryParams">
54
+ <gl-tabs :sync-active-tab-with-query-params="syncActiveTabWithQueryParams">
59
55
  <gl-tab title="Tab 1">
60
56
  Tab panel 1
61
57
  </gl-tab>
@@ -104,7 +100,7 @@ documentedStoriesOf('base/tabs/tabs', docs)
104
100
  .add('contentless tab', () => ({
105
101
  ...createBaseStory(),
106
102
  template: `
107
- <gl-tabs :theme="theme">
103
+ <gl-tabs>
108
104
  <gl-tab title="Regular tab">
109
105
  <p>Regular tab content.</p>
110
106
  <p>The contentless tab is not selectable, as it has no content. This is useful for displaying things that aren't really tabs after the list of tabs.</p>
@@ -123,7 +119,7 @@ documentedStoriesOf('base/tabs/tabs', docs)
123
119
  .add('empty state', () => ({
124
120
  ...createBaseStory(),
125
121
  template: `
126
- <gl-tabs :theme="theme">
122
+ <gl-tabs>
127
123
  <template #empty>
128
124
  This content is only displayed when there are no tabs. Useful for dynamically added/removed tabs.
129
125
  </template>
@@ -133,7 +129,7 @@ documentedStoriesOf('base/tabs/tabs', docs)
133
129
  .add('justified tabs', () => ({
134
130
  ...createBaseStory(),
135
131
  template: `
136
- <gl-tabs :theme="theme" justified>
132
+ <gl-tabs justified>
137
133
  <gl-tab title="Tab 1">
138
134
  <p>Tab panel 1</p>
139
135
  </gl-tab>
@@ -177,7 +173,7 @@ documentedStoriesOf('base/tabs/tabs', docs)
177
173
  components: {
178
174
  ScrollableTabsGenerator,
179
175
  },
180
- template: '<scrollable-tabs-generator :count="50" :theme="theme" />',
176
+ template: '<scrollable-tabs-generator :count="50" />',
181
177
  }))
182
178
  .add(
183
179
  'with scroll and growing',
@@ -197,7 +193,7 @@ documentedStoriesOf('base/tabs/tabs', docs)
197
193
  this.count += 1;
198
194
  }, 2000);
199
195
  },
200
- template: '<scrollable-tabs-generator :count="count" :theme="theme" />',
196
+ template: '<scrollable-tabs-generator :count="count" />',
201
197
  }),
202
198
  { storyshots: false }
203
199
  );
@@ -1,6 +1,6 @@
1
1
  <script>
2
2
  import { BTabs } from 'bootstrap-vue';
3
- import { colorThemes, tabsButtonDefaults } from '../../../../utils/constants';
3
+ import { tabsButtonDefaults } from '../../../../utils/constants';
4
4
  import GlButton from '../../button/button.vue';
5
5
 
6
6
  const validatorHelper = (obj) =>
@@ -31,12 +31,6 @@ export default {
31
31
  default: null,
32
32
  validator: (obj) => validatorHelper(obj),
33
33
  },
34
- theme: {
35
- type: String,
36
- required: false,
37
- default: 'indigo',
38
- validator: (value) => Object.keys(colorThemes).includes(value) || value === 'gl-dark',
39
- },
40
34
  contentClass: {
41
35
  type: [String, Array, Object],
42
36
  required: false,
@@ -77,9 +71,6 @@ export default {
77
71
  hasActions() {
78
72
  return [this.actionPrimary, this.actionSecondary, this.actionTertiary].some(Boolean);
79
73
  },
80
- activeItemBorderClass() {
81
- return `gl-tab-nav-item-active-${this.theme}`;
82
- },
83
74
  listeners() {
84
75
  return {
85
76
  ...this.$listeners,
@@ -214,7 +205,7 @@ export default {
214
205
  ref="bTabs"
215
206
  :no-nav-style="true"
216
207
  :no-fade="true"
217
- :active-nav-item-class="`gl-tab-nav-item-active ${activeItemBorderClass}`"
208
+ active-nav-item-class="gl-tab-nav-item-active"
218
209
  :content-class="[contentClass, 'gl-tab-content']"
219
210
  :nav-class="[navClass, 'gl-tabs-nav']"
220
211
  :justified="justified"
@@ -1,11 +1,13 @@
1
1
  import Vue from 'vue';
2
- import { GlToast } from '../../../../index';
2
+ import { GlToast, GlButton } from '../../../../index';
3
3
  import readme from './toast.md';
4
4
 
5
5
  Vue.use(GlToast);
6
6
 
7
+ const components = { GlToast, GlButton };
8
+
7
9
  const Template = () => ({
8
- components: { GlToast },
10
+ components,
9
11
  template: `
10
12
  <gl-button @click="showToast()">
11
13
  Show default toast
@@ -23,7 +25,7 @@ const Template = () => ({
23
25
  export const Default = Template.bind({});
24
26
 
25
27
  export const WithActions = () => ({
26
- components: { GlToast },
28
+ components,
27
29
  template: `
28
30
  <gl-button @click="showToast()">
29
31
  Show toast with actions
@@ -44,7 +46,7 @@ export const WithActions = () => ({
44
46
  });
45
47
 
46
48
  export const WithLongContent = () => ({
47
- components: { GlToast },
49
+ components,
48
50
  template: `
49
51
  <gl-button @click="showToast()">
50
52
  Show toast with a long content
@@ -1,4 +1,4 @@
1
- import { GlToken } from '../../../../index';
1
+ import { GlToken, GlAvatar } from '../../../../index';
2
2
  import { tokenVariants } from '../../../utils/constants';
3
3
 
4
4
  import readme from './token.md';
@@ -31,7 +31,7 @@ ViewOnly.args = generateProps({
31
31
  });
32
32
 
33
33
  export const WithAvatar = () => ({
34
- components: { GlToken },
34
+ components: { GlToken, GlAvatar },
35
35
  template: `
36
36
  <div class="gl-display-flex">
37
37
  <gl-token><gl-avatar src="./img/avatar.png" :size="16" />Token</gl-token>
@@ -1,8 +1,9 @@
1
- import { GlTooltip, GlTooltipDirective } from '../../../../index';
1
+ import { GlTooltip, GlTooltipDirective, GlButton } from '../../../../index';
2
2
  import readme from './tooltip.md';
3
3
 
4
4
  function makeTooltip(modifier = '') {
5
5
  return {
6
+ components: { GlTooltip, GlButton },
6
7
  directives: {
7
8
  GlTooltip: GlTooltipDirective,
8
9
  },
@@ -1,19 +1,5 @@
1
- import examples from './examples';
2
1
  import description from './truncate.md';
3
2
 
4
3
  export default {
5
4
  description,
6
- examples,
7
- propsInfo: {
8
- text: {
9
- additionalInfo: 'Text to be ellipsized',
10
- },
11
- position: {
12
- additionalInfo: 'Ellipsis position',
13
- enum: 'truncateOptions',
14
- },
15
- withTooltip: {
16
- additionalInfo: 'Display the full text in a tooltip only if it is being truncated',
17
- },
18
- },
19
5
  };
@@ -1,9 +1,5 @@
1
- # Truncate
2
-
3
1
  The `GlTruncate` component lets you truncate the long texts with ellipsis.
4
2
 
5
- <!-- STORY -->
6
-
7
3
  > **Tip:** Try resizing the side panel for truncation.
8
4
 
9
5
  ## Usage
@@ -1,40 +1,51 @@
1
- import { withKnobs, text, select, boolean } from '@storybook/addon-knobs';
2
- import { documentedStoriesOf } from '../../../../documentation/documented_stories';
3
1
  import { GlTruncate } from '../../../../index';
4
2
  import { POSITION } from './constants';
5
3
  import readme from './truncate.md';
6
4
 
7
- const components = {
8
- GlTruncate,
9
- };
10
-
11
5
  const template = '<gl-truncate :text="text" :position="position" :with-tooltip="withTooltip" />';
12
6
 
13
- function generateProps({
14
- longText = 'src/thisIs/AVeryLongFilePath/that/needs/to/be/smartly/truncated/from/the/middle/so/we/dont/lose/important/information/here.vue',
7
+ const generateProps = ({
8
+ text = 'src/thisIs/AVeryLongFilePath/that/needs/to/be/smartly/truncated/from/the/middle/so/we/dont/lose/important/information/here.vue',
15
9
  position = 'middle',
16
10
  withTooltip = false,
17
- } = {}) {
18
- return {
11
+ } = {}) => ({
12
+ text,
13
+ position,
14
+ withTooltip,
15
+ });
16
+
17
+ const Template = (args, { argTypes }) => ({
18
+ components: {
19
+ GlTruncate,
20
+ },
21
+ props: Object.keys(argTypes),
22
+ template,
23
+ });
24
+ export const Default = Template.bind({});
25
+ Default.args = generateProps();
26
+
27
+ export default {
28
+ title: 'utilities/truncate',
29
+ component: GlTruncate,
30
+ parameters: {
31
+ knobs: { disable: true },
32
+ storyshots: { disable: true },
33
+ docs: {
34
+ description: {
35
+ component: readme,
36
+ },
37
+ },
38
+ },
39
+ argTypes: {
19
40
  text: {
20
- type: String,
21
- default: text('text', longText),
41
+ control: 'text',
22
42
  },
23
43
  position: {
24
- type: String,
25
- default: select('position', Object.values(POSITION), position),
44
+ options: Object.values(POSITION),
45
+ control: 'select',
26
46
  },
27
47
  withTooltip: {
28
- default: boolean('withTooltip', withTooltip),
48
+ control: 'boolean',
29
49
  },
30
- };
31
- }
32
-
33
- documentedStoriesOf('utilities/truncate', readme)
34
- .addParameters({ storyshots: false })
35
- .addDecorator(withKnobs)
36
- .add('default', () => ({
37
- props: generateProps(),
38
- components,
39
- template,
40
- }));
50
+ },
51
+ };
@@ -10,16 +10,25 @@ export default {
10
10
  GlResizeObserver: GlResizeObserverDirective,
11
11
  },
12
12
  props: {
13
+ /**
14
+ * Text to be ellipsized
15
+ */
13
16
  text: {
14
17
  type: String,
15
18
  required: true,
16
19
  },
20
+ /**
21
+ * Ellipsis position
22
+ */
17
23
  position: {
18
24
  type: String,
19
25
  required: false,
20
26
  default: POSITION.END,
21
27
  validator: (value) => Object.values(POSITION).includes(value),
22
28
  },
29
+ /**
30
+ * Display the full text in a tooltip only if it is being truncated
31
+ */
23
32
  withTooltip: {
24
33
  type: Boolean,
25
34
  required: false,
@@ -1848,6 +1848,14 @@
1848
1848
  box-shadow: inset 0 0 0 $gl-border-size-1 $red-600 !important
1849
1849
  }
1850
1850
 
1851
+ .gl-inset-border-b-2-theme-accent {
1852
+ box-shadow: inset 0 -#{$gl-border-size-2} 0 0 var(--gl-theme-accent, $theme-indigo-500)
1853
+ }
1854
+
1855
+ .gl-inset-border-b-2-theme-accent\! {
1856
+ box-shadow: inset 0 -#{$gl-border-size-2} 0 0 var(--gl-theme-accent, $theme-indigo-500) !important
1857
+ }
1858
+
1851
1859
  .gl-inset-border-b-2-theme-indigo-500 {
1852
1860
  box-shadow: inset 0 -#{$gl-border-size-2} 0 0 $theme-indigo-500
1853
1861
  }
@@ -104,6 +104,10 @@
104
104
  box-shadow: inset 0 0 0 $gl-border-size-1 $red-600;
105
105
  }
106
106
 
107
+ @mixin gl-inset-border-b-2-theme-accent {
108
+ box-shadow: inset 0 -#{$gl-border-size-2} 0 0 var(--gl-theme-accent, $theme-indigo-500);
109
+ }
110
+
107
111
  @mixin gl-inset-border-b-2-theme-indigo-500 {
108
112
  box-shadow: inset 0 -#{$gl-border-size-2} 0 0 $theme-indigo-500;
109
113
  }
@@ -1,13 +0,0 @@
1
- import BasicExample from './nav.basic.example';
2
-
3
- var index = [{
4
- name: 'Basic',
5
- items: [{
6
- id: 'nav-basic',
7
- name: 'Basic',
8
- description: 'Basic Nav',
9
- component: BasicExample
10
- }]
11
- }];
12
-
13
- export default index;
@@ -1,38 +0,0 @@
1
- import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
2
-
3
- /* script */
4
-
5
- /* template */
6
- var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('gl-nav',[_c('gl-nav-item',{attrs:{"active":""}},[_vm._v("Active")]),_vm._v(" "),_c('gl-nav-item',[_vm._v("Link")]),_vm._v(" "),_c('gl-nav-item',[_vm._v("Another Link")]),_vm._v(" "),_c('gl-nav-item',{attrs:{"disabled":""}},[_vm._v("Disabled")])],1)};
7
- var __vue_staticRenderFns__ = [];
8
-
9
- /* style */
10
- const __vue_inject_styles__ = undefined;
11
- /* scoped */
12
- const __vue_scope_id__ = undefined;
13
- /* module identifier */
14
- const __vue_module_identifier__ = undefined;
15
- /* functional template */
16
- const __vue_is_functional_template__ = false;
17
- /* style inject */
18
-
19
- /* style inject SSR */
20
-
21
- /* style inject shadow dom */
22
-
23
-
24
-
25
- const __vue_component__ = __vue_normalize__(
26
- { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
27
- __vue_inject_styles__,
28
- {},
29
- __vue_scope_id__,
30
- __vue_is_functional_template__,
31
- __vue_module_identifier__,
32
- false,
33
- undefined,
34
- undefined,
35
- undefined
36
- );
37
-
38
- export default __vue_component__;
@@ -1,13 +0,0 @@
1
- var nav_item = "# Nav Item\n\n<!-- STORY -->\n\n## Usage\n\nThe navigation item component is meant to be used for for actionable links (or router-links).\n";
2
-
3
- var description = /*#__PURE__*/Object.freeze({
4
- __proto__: null,
5
- 'default': nav_item
6
- });
7
-
8
- var nav_item_documentation = {
9
- description,
10
- bootstrapComponent: 'b-nav-item'
11
- };
12
-
13
- export default nav_item_documentation;
@@ -1,14 +0,0 @@
1
- var nav_item_dropdown = "# Nav Item Dropdown\n\n<!-- STORY -->\n\n## Usage\n\nUse `<gl-nav-item-dropdown>` to place dropdown items within your nav.\n";
2
-
3
- var description = /*#__PURE__*/Object.freeze({
4
- __proto__: null,
5
- 'default': nav_item_dropdown
6
- });
7
-
8
- var nav_item_dropdown_documentation = {
9
- followsDesignSystem: false,
10
- description,
11
- bootstrapComponent: 'b-nav-item-dropdown'
12
- };
13
-
14
- export default nav_item_dropdown_documentation;
@@ -1,13 +0,0 @@
1
- import TruncateBasicExample from './truncate.basic.example';
2
-
3
- var index = [{
4
- name: 'Basic',
5
- items: [{
6
- id: 'truncate',
7
- name: 'Basic',
8
- description: 'Basic truncation',
9
- component: TruncateBasicExample
10
- }]
11
- }];
12
-
13
- export default index;
@@ -1,38 +0,0 @@
1
- import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
2
-
3
- /* script */
4
-
5
- /* template */
6
- var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('gl-truncate',{attrs:{"text":"ee/app/assets/javascripts/vue_shared/security_reports/components/utils/truncate/smart-truncate/src/index.js"}})};
7
- var __vue_staticRenderFns__ = [];
8
-
9
- /* style */
10
- const __vue_inject_styles__ = undefined;
11
- /* scoped */
12
- const __vue_scope_id__ = undefined;
13
- /* module identifier */
14
- const __vue_module_identifier__ = undefined;
15
- /* functional template */
16
- const __vue_is_functional_template__ = false;
17
- /* style inject */
18
-
19
- /* style inject SSR */
20
-
21
- /* style inject shadow dom */
22
-
23
-
24
-
25
- const __vue_component__ = __vue_normalize__(
26
- { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
27
- __vue_inject_styles__,
28
- {},
29
- __vue_scope_id__,
30
- __vue_is_functional_template__,
31
- __vue_module_identifier__,
32
- false,
33
- undefined,
34
- undefined,
35
- undefined
36
- );
37
-
38
- export default __vue_component__;
@@ -1,15 +0,0 @@
1
- import BasicExample from './nav.basic.example.vue';
2
-
3
- export default [
4
- {
5
- name: 'Basic',
6
- items: [
7
- {
8
- id: 'nav-basic',
9
- name: 'Basic',
10
- description: 'Basic Nav',
11
- component: BasicExample,
12
- },
13
- ],
14
- },
15
- ];
@@ -1,8 +0,0 @@
1
- <template>
2
- <gl-nav>
3
- <gl-nav-item active>Active</gl-nav-item>
4
- <gl-nav-item>Link</gl-nav-item>
5
- <gl-nav-item>Another Link</gl-nav-item>
6
- <gl-nav-item disabled>Disabled</gl-nav-item>
7
- </gl-nav>
8
- </template>
@@ -1,6 +0,0 @@
1
- import * as description from './nav_item.md';
2
-
3
- export default {
4
- description,
5
- bootstrapComponent: 'b-nav-item',
6
- };
@@ -1,7 +0,0 @@
1
- # Nav Item
2
-
3
- <!-- STORY -->
4
-
5
- ## Usage
6
-
7
- The navigation item component is meant to be used for for actionable links (or router-links).