@gitlab/ui 32.40.0 → 32.43.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.
- package/CHANGELOG.md +28 -0
- package/dist/components/base/search_box_by_click/search_box_by_click.js +1 -0
- package/dist/components/base/search_box_by_type/search_box_by_type.js +1 -1
- package/dist/components/base/token_selector/token_selector.documentation.js +2 -106
- package/dist/components/base/token_selector/token_selector.js +85 -1
- package/dist/components/base/tooltip/tooltip.documentation.js +2 -6
- package/dist/components/charts/area/area.js +1 -1
- package/dist/components/charts/column/column.js +1 -1
- package/dist/components/charts/discrete_scatter/discrete_scatter.js +1 -1
- package/dist/components/charts/line/line.js +1 -1
- package/dist/components/regions/empty_state/empty_state.js +1 -1
- package/dist/utility_classes.css +1 -1
- package/dist/utility_classes.css.map +1 -1
- package/documentation/documented_stories.js +2 -0
- package/package.json +13 -13
- package/src/components/base/accordion/accordion.spec.js +0 -4
- package/src/components/base/accordion/accordion_item.spec.js +0 -4
- package/src/components/base/alert/alert.spec.js +0 -4
- package/src/components/base/avatar_labeled/avatar_labeled.spec.js +0 -2
- package/src/components/base/avatars_inline/avatars_inline.spec.js +0 -2
- package/src/components/base/badge/badge.spec.js +0 -2
- package/src/components/base/broadcast_message/broadcast_message.spec.js +0 -4
- package/src/components/base/button/button.spec.js +0 -5
- package/src/components/base/card/card.spec.js +0 -5
- package/src/components/base/carousel/carousel.spec.js +0 -4
- package/src/components/base/collapse/collapse.spec.js +0 -4
- package/src/components/base/datepicker/datepicker.spec.js +0 -4
- package/src/components/base/daterange_picker/daterange_picker.spec.js +0 -5
- package/src/components/base/drawer/drawer.spec.js +0 -4
- package/src/components/base/dropdown/dropdown.spec.js +0 -2
- package/src/components/base/dropdown/dropdown_item.spec.js +0 -2
- package/src/components/base/filtered_search/filtered_search.spec.js +0 -10
- package/src/components/base/filtered_search/filtered_search_suggestion.spec.js +0 -5
- package/src/components/base/filtered_search/filtered_search_suggestion_list.spec.js +0 -5
- package/src/components/base/filtered_search/filtered_search_term.spec.js +0 -5
- package/src/components/base/filtered_search/filtered_search_token.spec.js +0 -5
- package/src/components/base/form/form_checkbox_tree/form_checkbox_tree.spec.js +0 -5
- package/src/components/base/form/form_combobox/form_combobox.spec.js +0 -4
- package/src/components/base/form/form_input/form_input.spec.js +0 -5
- package/src/components/base/form/form_input_group/form_input_group.spec.js +0 -4
- package/src/components/base/form/form_radio/form_radio.spec.js +0 -4
- package/src/components/base/form/form_radio_group/form_radio_group.spec.js +0 -4
- package/src/components/base/form/form_select/form_select.spec.js +0 -5
- package/src/components/base/form/form_textarea/form_textarea.spec.js +0 -5
- package/src/components/base/icon/icon.spec.js +0 -2
- package/src/components/base/infinite_scroll/infinite_scroll.spec.js +0 -1
- package/src/components/base/keyset_pagination/keyset_pagination.spec.js +0 -5
- package/src/components/base/label/label.spec.js +0 -4
- package/src/components/base/link/link.spec.js +0 -5
- package/src/components/base/loading_icon/loading_icon.spec.js +0 -4
- package/src/components/base/modal/modal.spec.js +0 -1
- package/src/components/base/nav/nav.spec.js +0 -4
- package/src/components/base/nav/nav_item.spec.js +0 -4
- package/src/components/base/nav/nav_item_dropdown.spec.js +0 -4
- package/src/components/base/paginated_list/paginated_list.spec.js +0 -6
- package/src/components/base/pagination/pagination.spec.js +0 -1
- package/src/components/base/path/path.spec.js +0 -5
- package/src/components/base/popover/popover.spec.js +0 -5
- package/src/components/base/search_box_by_click/search_box_by_click.spec.js +0 -4
- package/src/components/base/search_box_by_click/search_box_by_click.vue +1 -0
- package/src/components/base/search_box_by_type/search_box_by_type.spec.js +0 -5
- package/src/components/base/search_box_by_type/search_box_by_type.vue +1 -1
- package/src/components/base/segmented_control/segmented_control.spec.js +0 -4
- package/src/components/base/skeleton_loader/skeleton_loader.spec.js +0 -5
- package/src/components/base/sorting/sorting.spec.js +0 -4
- package/src/components/base/sorting/sorting_item.spec.js +0 -4
- package/src/components/base/tabs/tabs/scrollable_tabs.spec.js +0 -5
- package/src/components/base/toggle/toggle.spec.js +0 -4
- package/src/components/base/token/token.spec.js +0 -4
- package/src/components/base/token_selector/token_container.spec.js +0 -2
- package/src/components/base/token_selector/token_selector.documentation.js +0 -137
- package/src/components/base/token_selector/token_selector.md +0 -6
- package/src/components/base/token_selector/token_selector.spec.js +0 -5
- package/src/components/base/token_selector/token_selector.stories.js +96 -113
- package/src/components/base/token_selector/token_selector.vue +89 -1
- package/src/components/base/token_selector/token_selector_dropdown.spec.js +0 -5
- package/src/components/base/tooltip/tooltip.documentation.js +0 -3
- package/src/components/base/tooltip/tooltip.md +3 -5
- package/src/components/base/tooltip/tooltip.spec.js +0 -5
- package/src/components/base/tooltip/tooltip.stories.js +49 -25
- package/src/components/base/tooltip/tooltip.vue +1 -0
- package/src/components/charts/area/area.spec.js +8 -24
- package/src/components/charts/area/area.vue +9 -12
- package/src/components/charts/bar/bar.spec.js +4 -11
- package/src/components/charts/chart/chart.spec.js +0 -4
- package/src/components/charts/column/column.vue +3 -2
- package/src/components/charts/column/column_chart.spec.js +35 -19
- package/src/components/charts/discrete_scatter/discrete_scatter.stories.js +1 -0
- package/src/components/charts/discrete_scatter/discrete_scatter.vue +5 -8
- package/src/components/charts/gauge/gauge.spec.js +2 -24
- package/src/components/charts/heatmap/heatmap.spec.js +6 -23
- package/src/components/charts/legend/legend.spec.js +8 -14
- package/src/components/charts/line/line.spec.js +19 -30
- package/src/components/charts/line/line.vue +3 -2
- package/src/components/charts/single_stat/single_stat.spec.js +0 -4
- package/src/components/charts/sparkline/sparkline.spec.js +9 -15
- package/src/components/charts/stacked_column/stacked_column.spec.js +2 -30
- package/src/components/regions/empty_state/empty_state.vue +8 -2
- package/src/components/shared_components/clear_icon_button/clear_icon_button.spec.js +0 -4
- package/src/components/shared_components/close_button/close_button.spec.js +0 -4
- package/src/components/utilities/friendly_wrap/friendly_wrap.spec.js +0 -4
- package/src/components/utilities/intersection_observer/intersection_observer.spec.js +1 -1
- package/src/components/utilities/sprintf/sprintf.spec.js +0 -4
- package/src/components/utilities/truncate/truncate.spec.js +10 -15
- package/src/directives/hover_load/hover_load.spec.js +0 -1
- package/src/directives/outside/outside.spec.js +0 -4
- package/src/directives/resize_observer/resize_observer.spec.js +0 -4
- package/src/directives/safe_html/safe_html.spec.js +0 -4
- package/src/directives/safe_link/safe_link.spec.js +0 -5
- package/src/scss/utilities.scss +26 -0
- package/src/scss/utility-mixins/sizing.scss +6 -0
- package/src/scss/utility-mixins/spacing.scss +4 -0
- package/src/scss/utility-mixins/z-index.scss +4 -0
- package/dist/components/base/token_selector/examples/index.js +0 -19
- package/dist/components/base/token_selector/examples/token_selector.user_defined_tokens.example.js +0 -48
- package/dist/components/base/token_selector/examples/token_selector.users.example.js +0 -202
- package/dist/components/base/tooltip/examples/index.js +0 -31
- package/dist/components/base/tooltip/examples/tooltip.directive_bottom.example.js +0 -38
- package/dist/components/base/tooltip/examples/tooltip.directive_default.example.js +0 -38
- package/dist/components/base/tooltip/examples/tooltip.directive_left.example.js +0 -38
- package/dist/components/base/tooltip/examples/tooltip.directive_right.example.js +0 -38
- package/src/components/base/token_selector/examples/index.js +0 -22
- package/src/components/base/token_selector/examples/token_selector.user_defined_tokens.example.vue +0 -17
- package/src/components/base/token_selector/examples/token_selector.users.example.vue +0 -212
- package/src/components/base/tooltip/examples/index.js +0 -36
- package/src/components/base/tooltip/examples/tooltip.directive_bottom.example.vue +0 -7
- package/src/components/base/tooltip/examples/tooltip.directive_default.example.vue +0 -5
- package/src/components/base/tooltip/examples/tooltip.directive_left.example.vue +0 -7
- package/src/components/base/tooltip/examples/tooltip.directive_right.example.vue +0 -7
|
@@ -2,14 +2,13 @@ import { shallowMount, createLocalVue } from '@vue/test-utils';
|
|
|
2
2
|
import Chart from '../chart/chart.vue';
|
|
3
3
|
import SparklineChart from './sparkline.vue';
|
|
4
4
|
import { waitForAnimationFrame } from '~/utils/test_utils';
|
|
5
|
+
import { createMockChartInstance, ChartTooltipStub } from '~helpers/chart_stubs';
|
|
5
6
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
resize: mockResize,
|
|
12
|
-
};
|
|
7
|
+
let mockChartInstance;
|
|
8
|
+
|
|
9
|
+
jest.mock('echarts', () => ({
|
|
10
|
+
getInstanceByDom: () => mockChartInstance,
|
|
11
|
+
}));
|
|
13
12
|
|
|
14
13
|
let triggerResize = () => {};
|
|
15
14
|
jest.mock('~/directives/resize_observer/resize_observer', () => ({
|
|
@@ -22,11 +21,6 @@ jest.mock('~/directives/resize_observer/resize_observer', () => ({
|
|
|
22
21
|
|
|
23
22
|
const localVue = createLocalVue();
|
|
24
23
|
|
|
25
|
-
const ChartToolTipStub = {
|
|
26
|
-
name: 'chart-tooltip-stub',
|
|
27
|
-
template: '<div><slot name="default"></slot><slot name="title"></slot></div>',
|
|
28
|
-
};
|
|
29
|
-
|
|
30
24
|
describe('sparkline chart component', () => {
|
|
31
25
|
let wrapper;
|
|
32
26
|
let componentOptions;
|
|
@@ -39,7 +33,7 @@ describe('sparkline chart component', () => {
|
|
|
39
33
|
},
|
|
40
34
|
scopedSlots: { latestSeriesEntry: jest.fn() },
|
|
41
35
|
stubs: {
|
|
42
|
-
'chart-tooltip':
|
|
36
|
+
'chart-tooltip': ChartTooltipStub,
|
|
43
37
|
},
|
|
44
38
|
};
|
|
45
39
|
|
|
@@ -50,7 +44,7 @@ describe('sparkline chart component', () => {
|
|
|
50
44
|
const getByTestId = (id) => wrapper.find(`[data-testid="${id}"]`);
|
|
51
45
|
const getChart = () => wrapper.findComponent(Chart);
|
|
52
46
|
|
|
53
|
-
const getTooltip = () => wrapper.findComponent(
|
|
47
|
+
const getTooltip = () => wrapper.findComponent(ChartTooltipStub);
|
|
54
48
|
const getTooltipTitle = () => getByTestId('tooltip-title');
|
|
55
49
|
const getTooltipContent = () => getByTestId('tooltip-content');
|
|
56
50
|
|
|
@@ -72,13 +66,13 @@ describe('sparkline chart component', () => {
|
|
|
72
66
|
const emitChartCreated = () => getChart().vm.$emit('created', mockChartInstance);
|
|
73
67
|
|
|
74
68
|
beforeEach(() => {
|
|
69
|
+
mockChartInstance = createMockChartInstance();
|
|
75
70
|
factory();
|
|
76
71
|
// needs to run after every mount, or the chart-instance is `null` and `beforeDestroy` throws
|
|
77
72
|
emitChartCreated();
|
|
78
73
|
});
|
|
79
74
|
|
|
80
75
|
afterEach(() => {
|
|
81
|
-
wrapper.destroy();
|
|
82
76
|
jest.clearAllMocks();
|
|
83
77
|
});
|
|
84
78
|
|
|
@@ -9,9 +9,9 @@ import Chart from '../chart/chart.vue';
|
|
|
9
9
|
import ChartLegend from '../legend/legend.vue';
|
|
10
10
|
import * as themeUtils from '../../../utils/charts/theme';
|
|
11
11
|
import StackedColumnChart from './stacked_column.vue';
|
|
12
|
-
import ChartTooltip from '~/components/charts/tooltip/tooltip.vue';
|
|
13
12
|
import TooltipDefaultFormat from '~/components/shared_components/charts/tooltip_default_format.vue';
|
|
14
13
|
|
|
14
|
+
import { createMockChartInstance, ChartTooltipStub } from '~helpers/chart_stubs';
|
|
15
15
|
import { LEGEND_LAYOUT_INLINE, LEGEND_LAYOUT_TABLE } from '~/utils/charts/constants';
|
|
16
16
|
|
|
17
17
|
let mockChartInstance;
|
|
@@ -29,18 +29,8 @@ const defaultChartProps = {
|
|
|
29
29
|
yAxisTitle: 'Commits',
|
|
30
30
|
};
|
|
31
31
|
|
|
32
|
-
const ChartTooltipStub = {
|
|
33
|
-
props: ChartTooltip.props,
|
|
34
|
-
template: `
|
|
35
|
-
<div>
|
|
36
|
-
<slot name="title" />
|
|
37
|
-
<slot />
|
|
38
|
-
</div>`,
|
|
39
|
-
};
|
|
40
|
-
|
|
41
32
|
describe('stacked column chart component', () => {
|
|
42
33
|
let wrapper;
|
|
43
|
-
let options;
|
|
44
34
|
|
|
45
35
|
const findChart = () => wrapper.findComponent(Chart);
|
|
46
36
|
const findLegend = () => wrapper.findComponent(ChartLegend);
|
|
@@ -62,28 +52,10 @@ describe('stacked column chart component', () => {
|
|
|
62
52
|
};
|
|
63
53
|
|
|
64
54
|
beforeEach(() => {
|
|
65
|
-
|
|
66
|
-
series: [],
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
mockChartInstance = {
|
|
70
|
-
getDom: () => {
|
|
71
|
-
return {
|
|
72
|
-
addEventListener: jest.fn(),
|
|
73
|
-
removeEventListener: jest.fn(),
|
|
74
|
-
};
|
|
75
|
-
},
|
|
76
|
-
on: jest.fn(),
|
|
77
|
-
off: jest.fn(),
|
|
78
|
-
convertToPixel: jest.fn(),
|
|
79
|
-
getOption: () => {
|
|
80
|
-
return options;
|
|
81
|
-
},
|
|
82
|
-
};
|
|
55
|
+
mockChartInstance = createMockChartInstance();
|
|
83
56
|
});
|
|
84
57
|
|
|
85
58
|
afterEach(() => {
|
|
86
|
-
wrapper.destroy();
|
|
87
59
|
jest.restoreAllMocks();
|
|
88
60
|
});
|
|
89
61
|
|
|
@@ -104,8 +104,14 @@ export default {
|
|
|
104
104
|
</div>
|
|
105
105
|
<div :class="compact ? 'col-sm-9' : 'col-12'">
|
|
106
106
|
<div class="text-content gl-mx-auto gl-my-0" :class="{ 'gl-p-5': !compact }">
|
|
107
|
-
<h1
|
|
108
|
-
|
|
107
|
+
<h1
|
|
108
|
+
ref="title"
|
|
109
|
+
class="gl-font-size-h-display gl-line-height-36"
|
|
110
|
+
:class="compact ? 'h5' : 'h4'"
|
|
111
|
+
>
|
|
112
|
+
{{ title }}
|
|
113
|
+
</h1>
|
|
114
|
+
<p v-if="description || $scopedSlots.description" ref="description" class="gl-mt-3">
|
|
109
115
|
<!--
|
|
110
116
|
@slot Use this slot to customize the empty state's description
|
|
111
117
|
area. Overrides the `description` prop.
|
|
@@ -17,19 +17,12 @@ describe('Truncate component', () => {
|
|
|
17
17
|
};
|
|
18
18
|
|
|
19
19
|
const createComponent = (props) => {
|
|
20
|
-
wrapper = shallowMount(
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
},
|
|
25
|
-
});
|
|
20
|
+
wrapper = shallowMount(
|
|
21
|
+
{ extends: Truncate, directives: { GlTooltip: createMockDirective('gl-tooltip') } },
|
|
22
|
+
{ propsData: { ...defaultProps, ...props } }
|
|
23
|
+
);
|
|
26
24
|
};
|
|
27
25
|
|
|
28
|
-
afterEach(() => {
|
|
29
|
-
wrapper.destroy();
|
|
30
|
-
wrapper = null;
|
|
31
|
-
});
|
|
32
|
-
|
|
33
26
|
describe('All', () => {
|
|
34
27
|
beforeEach(() => {
|
|
35
28
|
createComponent();
|
|
@@ -39,9 +32,9 @@ describe('Truncate component', () => {
|
|
|
39
32
|
'%s truncation: should have title, class, original text',
|
|
40
33
|
(position) => {
|
|
41
34
|
createComponent({ position });
|
|
42
|
-
|
|
43
|
-
expect(
|
|
44
|
-
expect(
|
|
35
|
+
const element = wrapper.find('span');
|
|
36
|
+
expect(element.attributes('title')).toBe(defaultProps.text);
|
|
37
|
+
expect(element.attributes('class')).toBe('gl-truncate');
|
|
45
38
|
expect(removeSpecialChar(wrapper.text())).toBe(defaultProps.text);
|
|
46
39
|
}
|
|
47
40
|
);
|
|
@@ -51,7 +44,9 @@ describe('Truncate component', () => {
|
|
|
51
44
|
});
|
|
52
45
|
|
|
53
46
|
it('disables the tooltip by default', () => {
|
|
54
|
-
expect(getBinding(wrapper.element, 'gl-tooltip').value.disabled).toBe(
|
|
47
|
+
expect(getBinding(wrapper.find('.gl-truncate').element, 'gl-tooltip').value.disabled).toBe(
|
|
48
|
+
true
|
|
49
|
+
);
|
|
55
50
|
});
|
|
56
51
|
});
|
|
57
52
|
|
|
@@ -29,10 +29,6 @@ describe('resize observer directive', () => {
|
|
|
29
29
|
wrapper = shallowMount(component, { localVue });
|
|
30
30
|
};
|
|
31
31
|
|
|
32
|
-
afterEach(() => {
|
|
33
|
-
wrapper.destroy();
|
|
34
|
-
});
|
|
35
|
-
|
|
36
32
|
it('shares one observer between multiple directive instances', () => {
|
|
37
33
|
createComponent({
|
|
38
34
|
template: `<div>
|
|
@@ -33,11 +33,6 @@ describe('safe link directive', () => {
|
|
|
33
33
|
wrapper = mountFn(component);
|
|
34
34
|
};
|
|
35
35
|
|
|
36
|
-
afterEach(() => {
|
|
37
|
-
wrapper.destroy();
|
|
38
|
-
wrapper = null;
|
|
39
|
-
});
|
|
40
|
-
|
|
41
36
|
describe('default', () => {
|
|
42
37
|
it('should render the anchor tag with given href', () => {
|
|
43
38
|
createComponent({
|
package/src/scss/utilities.scss
CHANGED
|
@@ -4384,6 +4384,18 @@
|
|
|
4384
4384
|
max-width: 50% !important;
|
|
4385
4385
|
}
|
|
4386
4386
|
}
|
|
4387
|
+
|
|
4388
|
+
.gl-md-max-w-70p {
|
|
4389
|
+
@include gl-media-breakpoint-up(md) {
|
|
4390
|
+
max-width: 70%;
|
|
4391
|
+
}
|
|
4392
|
+
}
|
|
4393
|
+
|
|
4394
|
+
.gl-md-max-w-70p\! {
|
|
4395
|
+
@include gl-media-breakpoint-up(md) {
|
|
4396
|
+
max-width: 70% !important;
|
|
4397
|
+
}
|
|
4398
|
+
}
|
|
4387
4399
|
.gl-p-0 {
|
|
4388
4400
|
padding: 0;
|
|
4389
4401
|
}
|
|
@@ -4910,6 +4922,12 @@
|
|
|
4910
4922
|
.gl-m-5\! {
|
|
4911
4923
|
margin: $gl-spacing-scale-5 !important;
|
|
4912
4924
|
}
|
|
4925
|
+
.gl-m-7 {
|
|
4926
|
+
margin: $gl-spacing-scale-7;
|
|
4927
|
+
}
|
|
4928
|
+
.gl-m-7\! {
|
|
4929
|
+
margin: $gl-spacing-scale-7 !important;
|
|
4930
|
+
}
|
|
4913
4931
|
.gl-m-auto {
|
|
4914
4932
|
margin: auto;
|
|
4915
4933
|
}
|
|
@@ -6629,6 +6647,14 @@
|
|
|
6629
6647
|
z-index: 3 !important
|
|
6630
6648
|
}
|
|
6631
6649
|
|
|
6650
|
+
.gl-z-index-200 {
|
|
6651
|
+
z-index: 200
|
|
6652
|
+
}
|
|
6653
|
+
|
|
6654
|
+
.gl-z-index-200\! {
|
|
6655
|
+
z-index: 200 !important
|
|
6656
|
+
}
|
|
6657
|
+
|
|
6632
6658
|
.gl-z-index-9999 {
|
|
6633
6659
|
z-index: 9999
|
|
6634
6660
|
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import UserDefinedTokensExample from './token_selector.user_defined_tokens.example';
|
|
2
|
-
import UsersExample from './token_selector.users.example';
|
|
3
|
-
|
|
4
|
-
var index = [{
|
|
5
|
-
name: 'Basic',
|
|
6
|
-
items: [{
|
|
7
|
-
id: 'token-selector-user-defined-tokens',
|
|
8
|
-
name: 'User Defined Tokens',
|
|
9
|
-
description: 'User Defined Tokens',
|
|
10
|
-
component: UserDefinedTokensExample
|
|
11
|
-
}, {
|
|
12
|
-
id: 'token-selector-users',
|
|
13
|
-
name: 'Users',
|
|
14
|
-
description: 'Users Token Selector',
|
|
15
|
-
component: UsersExample
|
|
16
|
-
}]
|
|
17
|
-
}];
|
|
18
|
-
|
|
19
|
-
export default index;
|
package/dist/components/base/token_selector/examples/token_selector.user_defined_tokens.example.js
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
|
|
2
|
-
|
|
3
|
-
var script = {
|
|
4
|
-
data() {
|
|
5
|
-
return {
|
|
6
|
-
selectedTokens: []
|
|
7
|
-
};
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
/* script */
|
|
13
|
-
const __vue_script__ = script;
|
|
14
|
-
|
|
15
|
-
/* template */
|
|
16
|
-
var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('gl-token-selector',{attrs:{"allow-user-defined-tokens":"","hide-dropdown-with-no-items":""},model:{value:(_vm.selectedTokens),callback:function ($$v) {_vm.selectedTokens=$$v;},expression:"selectedTokens"}})};
|
|
17
|
-
var __vue_staticRenderFns__ = [];
|
|
18
|
-
|
|
19
|
-
/* style */
|
|
20
|
-
const __vue_inject_styles__ = undefined;
|
|
21
|
-
/* scoped */
|
|
22
|
-
const __vue_scope_id__ = undefined;
|
|
23
|
-
/* module identifier */
|
|
24
|
-
const __vue_module_identifier__ = undefined;
|
|
25
|
-
/* functional template */
|
|
26
|
-
const __vue_is_functional_template__ = false;
|
|
27
|
-
/* style inject */
|
|
28
|
-
|
|
29
|
-
/* style inject SSR */
|
|
30
|
-
|
|
31
|
-
/* style inject shadow dom */
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
const __vue_component__ = __vue_normalize__(
|
|
36
|
-
{ render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
|
|
37
|
-
__vue_inject_styles__,
|
|
38
|
-
__vue_script__,
|
|
39
|
-
__vue_scope_id__,
|
|
40
|
-
__vue_is_functional_template__,
|
|
41
|
-
__vue_module_identifier__,
|
|
42
|
-
false,
|
|
43
|
-
undefined,
|
|
44
|
-
undefined,
|
|
45
|
-
undefined
|
|
46
|
-
);
|
|
47
|
-
|
|
48
|
-
export default __vue_component__;
|
|
@@ -1,202 +0,0 @@
|
|
|
1
|
-
import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
|
|
2
|
-
|
|
3
|
-
var script = {
|
|
4
|
-
data() {
|
|
5
|
-
return {
|
|
6
|
-
// Generated with https://github.com/marak/Faker.js/
|
|
7
|
-
users: [{
|
|
8
|
-
avatar_url: 'https://picsum.photos/id/786/64/64',
|
|
9
|
-
id: 1,
|
|
10
|
-
name: 'Jett Kulas',
|
|
11
|
-
username: '@Vidal_Hilpert'
|
|
12
|
-
}, {
|
|
13
|
-
avatar_url: 'https://picsum.photos/id/823/64/64',
|
|
14
|
-
id: 2,
|
|
15
|
-
name: 'Blaze Thompson',
|
|
16
|
-
username: '@Otto_Medhurst'
|
|
17
|
-
}, {
|
|
18
|
-
avatar_url: 'https://picsum.photos/id/832/64/64',
|
|
19
|
-
id: 3,
|
|
20
|
-
name: 'Russel Rath',
|
|
21
|
-
username: '@Joy_Sanford30'
|
|
22
|
-
}, {
|
|
23
|
-
avatar_url: 'https://picsum.photos/id/838/64/64',
|
|
24
|
-
id: 4,
|
|
25
|
-
name: 'Lisandro Stiedemann',
|
|
26
|
-
username: '@Consuelo_Durgan'
|
|
27
|
-
}, {
|
|
28
|
-
avatar_url: 'https://picsum.photos/id/883/64/64',
|
|
29
|
-
id: 5,
|
|
30
|
-
name: 'Adela Champlin',
|
|
31
|
-
username: '@Tiana_Shanahan'
|
|
32
|
-
}, {
|
|
33
|
-
avatar_url: 'https://picsum.photos/id/1005/64/64',
|
|
34
|
-
id: 6,
|
|
35
|
-
name: 'Keith Rogahn',
|
|
36
|
-
username: '@Jackeline.Moore'
|
|
37
|
-
}, {
|
|
38
|
-
avatar_url: 'https://picsum.photos/id/1011/64/64',
|
|
39
|
-
id: 7,
|
|
40
|
-
name: 'Alek Lakin',
|
|
41
|
-
username: '@Ike98'
|
|
42
|
-
}, {
|
|
43
|
-
avatar_url: 'https://picsum.photos/id/1012/64/64',
|
|
44
|
-
id: 8,
|
|
45
|
-
name: 'Alek Bogan',
|
|
46
|
-
username: '@Wilton.Dare'
|
|
47
|
-
}, {
|
|
48
|
-
avatar_url: 'https://picsum.photos/id/1027/64/64',
|
|
49
|
-
id: 9,
|
|
50
|
-
name: 'Ismael Abbott',
|
|
51
|
-
username: '@Junius.Lynch58'
|
|
52
|
-
}, {
|
|
53
|
-
avatar_url: 'https://picsum.photos/id/1062/64/64',
|
|
54
|
-
id: 10,
|
|
55
|
-
name: 'Emil Bartell',
|
|
56
|
-
username: '@Vergie.Brown78'
|
|
57
|
-
}, {
|
|
58
|
-
avatar_url: 'https://picsum.photos/id/1074/64/64',
|
|
59
|
-
id: 11,
|
|
60
|
-
name: 'Foster Kutch',
|
|
61
|
-
username: '@Lyda_Cummerata'
|
|
62
|
-
}, {
|
|
63
|
-
avatar_url: 'https://picsum.photos/id/177/64/64',
|
|
64
|
-
id: 12,
|
|
65
|
-
name: 'Alexandra Schuppe',
|
|
66
|
-
username: '@Jana_Fadel'
|
|
67
|
-
}, {
|
|
68
|
-
avatar_url: 'https://picsum.photos/id/237/64/64',
|
|
69
|
-
id: 13,
|
|
70
|
-
name: 'Ervin Emard',
|
|
71
|
-
username: '@Hayden24'
|
|
72
|
-
}, {
|
|
73
|
-
avatar_url: 'https://picsum.photos/id/375/64/64',
|
|
74
|
-
id: 14,
|
|
75
|
-
name: 'Kailey Frami',
|
|
76
|
-
username: '@Ima46'
|
|
77
|
-
}, {
|
|
78
|
-
avatar_url: 'https://picsum.photos/id/550/64/64',
|
|
79
|
-
id: 15,
|
|
80
|
-
name: 'Xavier Prohaska',
|
|
81
|
-
username: '@Theron15'
|
|
82
|
-
}, {
|
|
83
|
-
avatar_url: 'https://picsum.photos/id/602/64/64',
|
|
84
|
-
id: 16,
|
|
85
|
-
name: 'Freddy Sanford',
|
|
86
|
-
username: '@Luciano.Kuphal6'
|
|
87
|
-
}, {
|
|
88
|
-
avatar_url: 'https://picsum.photos/id/64/64/64',
|
|
89
|
-
id: 17,
|
|
90
|
-
name: 'Alvah Rempel',
|
|
91
|
-
username: '@Bo89'
|
|
92
|
-
}, {
|
|
93
|
-
avatar_url: 'https://picsum.photos/id/65/64/64',
|
|
94
|
-
id: 18,
|
|
95
|
-
name: 'Gavin Mann',
|
|
96
|
-
username: '@Cedrick56'
|
|
97
|
-
}, {
|
|
98
|
-
avatar_url: 'https://picsum.photos/id/660/64/64',
|
|
99
|
-
id: 19,
|
|
100
|
-
name: 'Alexie Hagenes',
|
|
101
|
-
username: '@Berry_Erdman'
|
|
102
|
-
}, {
|
|
103
|
-
avatar_url: 'https://picsum.photos/id/996/64/64',
|
|
104
|
-
id: 20,
|
|
105
|
-
name: 'Cortez Wunsch',
|
|
106
|
-
username: '@Kenyon.Crist3'
|
|
107
|
-
}],
|
|
108
|
-
filteredUsers: [],
|
|
109
|
-
loading: false,
|
|
110
|
-
inputText: '',
|
|
111
|
-
selectedTokens: []
|
|
112
|
-
};
|
|
113
|
-
},
|
|
114
|
-
|
|
115
|
-
computed: {
|
|
116
|
-
emailIsValid() {
|
|
117
|
-
return /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(this.inputText) && !this.filteredUsers.length;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
},
|
|
121
|
-
methods: {
|
|
122
|
-
handleTextInput(value) {
|
|
123
|
-
this.inputText = value;
|
|
124
|
-
|
|
125
|
-
if (this.inputText === '') {
|
|
126
|
-
this.filteredUsers = this.users;
|
|
127
|
-
return;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
this.loading = true;
|
|
131
|
-
this.filterUsers();
|
|
132
|
-
},
|
|
133
|
-
|
|
134
|
-
handleFocus() {
|
|
135
|
-
this.loading = true;
|
|
136
|
-
|
|
137
|
-
if (this.inputText !== '') {
|
|
138
|
-
this.filterUsers();
|
|
139
|
-
} else {
|
|
140
|
-
setTimeout(() => {
|
|
141
|
-
this.filteredUsers = this.users;
|
|
142
|
-
this.loading = false;
|
|
143
|
-
}, 500);
|
|
144
|
-
}
|
|
145
|
-
},
|
|
146
|
-
|
|
147
|
-
filterUsers() {
|
|
148
|
-
setTimeout(() => {
|
|
149
|
-
this.filteredUsers = this.users.filter(user => {
|
|
150
|
-
const searchQuery = this.inputText.toLowerCase();
|
|
151
|
-
return user.name.toLowerCase().includes(searchQuery) || user.username.toLowerCase().includes(searchQuery);
|
|
152
|
-
});
|
|
153
|
-
this.loading = false;
|
|
154
|
-
}, 500);
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
}
|
|
158
|
-
};
|
|
159
|
-
|
|
160
|
-
/* script */
|
|
161
|
-
const __vue_script__ = script;
|
|
162
|
-
|
|
163
|
-
/* template */
|
|
164
|
-
var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('gl-token-selector',{attrs:{"dropdown-items":_vm.filteredUsers,"loading":_vm.loading,"allow-user-defined-tokens":_vm.emailIsValid},on:{"text-input":_vm.handleTextInput,"focus":_vm.handleFocus},scopedSlots:_vm._u([{key:"token-content",fn:function(ref){
|
|
165
|
-
var token = ref.token;
|
|
166
|
-
return [(token.avatar_url)?_c('gl-avatar',{attrs:{"src":token.avatar_url,"size":16}}):_vm._e(),_vm._v("\n "+_vm._s(token.name)+"\n ")]}},{key:"dropdown-item-content",fn:function(ref){
|
|
167
|
-
var dropdownItem = ref.dropdownItem;
|
|
168
|
-
return [_c('div',{staticClass:"gl-display-flex"},[_c('gl-avatar',{attrs:{"src":dropdownItem.avatar_url,"size":32}}),_vm._v(" "),_c('div',[_c('p',{staticClass:"gl-m-0"},[_vm._v(_vm._s(dropdownItem.name))]),_vm._v(" "),_c('p',{staticClass:"gl-m-0 gl-text-gray-700"},[_vm._v(_vm._s(dropdownItem.username))])])],1)]}},{key:"user-defined-token-content",fn:function(ref){
|
|
169
|
-
var text = ref.inputText;
|
|
170
|
-
return [_vm._v("\n Invite \""+_vm._s(text)+"\" by email\n ")]}}]),model:{value:(_vm.selectedTokens),callback:function ($$v) {_vm.selectedTokens=$$v;},expression:"selectedTokens"}})};
|
|
171
|
-
var __vue_staticRenderFns__ = [];
|
|
172
|
-
|
|
173
|
-
/* style */
|
|
174
|
-
const __vue_inject_styles__ = undefined;
|
|
175
|
-
/* scoped */
|
|
176
|
-
const __vue_scope_id__ = undefined;
|
|
177
|
-
/* module identifier */
|
|
178
|
-
const __vue_module_identifier__ = undefined;
|
|
179
|
-
/* functional template */
|
|
180
|
-
const __vue_is_functional_template__ = false;
|
|
181
|
-
/* style inject */
|
|
182
|
-
|
|
183
|
-
/* style inject SSR */
|
|
184
|
-
|
|
185
|
-
/* style inject shadow dom */
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
const __vue_component__ = __vue_normalize__(
|
|
190
|
-
{ render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
|
|
191
|
-
__vue_inject_styles__,
|
|
192
|
-
__vue_script__,
|
|
193
|
-
__vue_scope_id__,
|
|
194
|
-
__vue_is_functional_template__,
|
|
195
|
-
__vue_module_identifier__,
|
|
196
|
-
false,
|
|
197
|
-
undefined,
|
|
198
|
-
undefined,
|
|
199
|
-
undefined
|
|
200
|
-
);
|
|
201
|
-
|
|
202
|
-
export default __vue_component__;
|