@gitlab/ui 37.1.0 → 37.4.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 (93) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/components/base/form/form_group/form_group.documentation.js +2 -6
  3. package/dist/components/base/form/form_input_group/form_input_group.documentation.js +2 -26
  4. package/dist/components/base/form/form_input_group/form_input_group.js +7 -0
  5. package/dist/components/base/loading_icon/loading_icon.js +1 -1
  6. package/dist/components/base/pagination/pagination.js +22 -2
  7. package/dist/components/base/path/path.js +9 -3
  8. package/dist/components/base/search_box_by_click/search_box_by_click.documentation.js +2 -80
  9. package/dist/components/base/search_box_by_click/search_box_by_click.js +60 -1
  10. package/dist/components/base/search_box_by_type/search_box_by_type.documentation.js +2 -20
  11. package/dist/components/base/search_box_by_type/search_box_by_type.js +19 -5
  12. package/dist/directives/hover_load/hover_load.documentation.js +1 -1
  13. package/dist/directives/resize_observer/resize_observer.documentation.js +2 -5
  14. package/dist/directives/safe_html/safe_html.documentation.js +1 -1
  15. package/dist/directives/safe_link/safe_link.documentation.js +2 -3
  16. package/dist/index.css +1 -1
  17. package/dist/index.css.map +1 -1
  18. package/dist/utility_classes.css +1 -1
  19. package/dist/utility_classes.css.map +1 -1
  20. package/documentation/documented_stories.js +8 -0
  21. package/package.json +1 -1
  22. package/src/components/base/button/button.scss +5 -9
  23. package/src/components/base/form/form_group/form_group.documentation.js +0 -3
  24. package/src/components/base/form/form_group/form_group.md +0 -2
  25. package/src/components/base/form/form_group/form_group.stories.js +106 -145
  26. package/src/components/base/form/form_input_group/form_input_group.documentation.js +0 -28
  27. package/src/components/base/form/form_input_group/form_input_group.md +0 -4
  28. package/src/components/base/form/form_input_group/form_input_group.stories.js +84 -62
  29. package/src/components/base/form/form_input_group/form_input_group.vue +9 -0
  30. package/src/components/base/loading_icon/loading_icon.vue +1 -1
  31. package/src/components/base/pagination/pagination.spec.js +9 -2
  32. package/src/components/base/pagination/pagination.vue +22 -6
  33. package/src/components/base/path/path.spec.js +12 -0
  34. package/src/components/base/path/path.vue +8 -3
  35. package/src/components/base/search_box_by_click/search_box_by_click.documentation.js +0 -90
  36. package/src/components/base/search_box_by_click/search_box_by_click.md +0 -2
  37. package/src/components/base/search_box_by_click/search_box_by_click.stories.js +91 -48
  38. package/src/components/base/search_box_by_click/search_box_by_click.vue +50 -1
  39. package/src/components/base/search_box_by_type/search_box_by_type.documentation.js +0 -18
  40. package/src/components/base/search_box_by_type/search_box_by_type.md +0 -2
  41. package/src/components/base/search_box_by_type/search_box_by_type.stories.js +49 -43
  42. package/src/components/base/search_box_by_type/search_box_by_type.vue +16 -6
  43. package/src/components/base/tabs/tabs/tabs.stories.js +2 -4
  44. package/src/directives/hover_load/hover_load.md +0 -2
  45. package/src/directives/hover_load/hover_load.stories.js +39 -34
  46. package/src/directives/resize_observer/resize_observer.documentation.js +0 -2
  47. package/src/directives/resize_observer/resize_observer.md +0 -6
  48. package/src/directives/resize_observer/resize_observer.stories.js +70 -51
  49. package/src/directives/safe_html/safe_html.md +0 -4
  50. package/src/directives/safe_html/safe_html.stories.js +53 -44
  51. package/src/directives/safe_link/safe_link.documentation.js +0 -1
  52. package/src/directives/safe_link/safe_link.md +0 -4
  53. package/src/directives/safe_link/safe_link.stories.js +31 -30
  54. package/src/scss/utilities.scss +8 -0
  55. package/src/scss/utility-mixins/background.scss +4 -0
  56. package/dist/components/base/form/form_group/examples/form_group/form_group.basic.example.js +0 -38
  57. package/dist/components/base/form/form_group/examples/form_group/form_group.disabled.example.js +0 -48
  58. package/dist/components/base/form/form_group/examples/form_group/form_group.textarea.example.js +0 -48
  59. package/dist/components/base/form/form_group/examples/form_group/form_group.validation.example.js +0 -66
  60. package/dist/components/base/form/form_group/examples/form_group/index.js +0 -27
  61. package/dist/components/base/form/form_input_group/examples/form_input_group.basic.example.js +0 -38
  62. package/dist/components/base/form/form_input_group/examples/form_input_group.predefined_options.example.js +0 -54
  63. package/dist/components/base/form/form_input_group/examples/form_input_group.predefined_reactive.example.js +0 -55
  64. package/dist/components/base/form/form_input_group/examples/form_input_group.reactive.example.js +0 -48
  65. package/dist/components/base/form/form_input_group/examples/index.js +0 -27
  66. package/dist/components/base/search_box_by_click/examples/index.js +0 -22
  67. package/dist/components/base/search_box_by_click/examples/search_box_by_click.default.example.js +0 -48
  68. package/dist/components/base/search_box_by_click/examples/search_box_by_click.history.example.js +0 -51
  69. package/dist/components/base/search_box_by_click/examples/search_box_by_click.v_model.example.js +0 -54
  70. package/dist/components/base/search_box_by_type/examples/index.js +0 -17
  71. package/dist/components/base/search_box_by_type/examples/search_box_by_type.default.example.js +0 -48
  72. package/dist/components/base/search_box_by_type/examples/search_box_by_type.loading.example.js +0 -65
  73. package/dist/directives/resize_observer/examples/index.js +0 -12
  74. package/dist/directives/resize_observer/examples/resize_observer.basic.example.js +0 -62
  75. package/src/components/base/form/form_group/examples/form_group/form_group.basic.example.vue +0 -11
  76. package/src/components/base/form/form_group/examples/form_group/form_group.disabled.example.vue +0 -21
  77. package/src/components/base/form/form_group/examples/form_group/form_group.textarea.example.vue +0 -15
  78. package/src/components/base/form/form_group/examples/form_group/form_group.validation.example.vue +0 -36
  79. package/src/components/base/form/form_group/examples/form_group/index.js +0 -32
  80. package/src/components/base/form/form_input_group/examples/form_input_group.basic.example.vue +0 -10
  81. package/src/components/base/form/form_input_group/examples/form_input_group.predefined_options.example.vue +0 -25
  82. package/src/components/base/form/form_input_group/examples/form_input_group.predefined_reactive.example.vue +0 -32
  83. package/src/components/base/form/form_input_group/examples/form_input_group.reactive.example.vue +0 -25
  84. package/src/components/base/form/form_input_group/examples/index.js +0 -32
  85. package/src/components/base/search_box_by_click/examples/index.js +0 -26
  86. package/src/components/base/search_box_by_click/examples/search_box_by_click.default.example.vue +0 -14
  87. package/src/components/base/search_box_by_click/examples/search_box_by_click.history.example.vue +0 -23
  88. package/src/components/base/search_box_by_click/examples/search_box_by_click.v_model.example.vue +0 -23
  89. package/src/components/base/search_box_by_type/examples/index.js +0 -20
  90. package/src/components/base/search_box_by_type/examples/search_box_by_type.default.example.vue +0 -14
  91. package/src/components/base/search_box_by_type/examples/search_box_by_type.loading.example.vue +0 -34
  92. package/src/directives/resize_observer/examples/index.js +0 -14
  93. package/src/directives/resize_observer/examples/resize_observer.basic.example.vue +0 -21
@@ -1,62 +0,0 @@
1
- import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
2
-
3
- var script = {
4
- data() {
5
- return {
6
- width: 0,
7
- height: 0
8
- };
9
- },
10
-
11
- methods: {
12
- handleResize(_ref) {
13
- let {
14
- contentRect: {
15
- width,
16
- height
17
- }
18
- } = _ref;
19
- this.width = width;
20
- this.height = height;
21
- }
22
-
23
- }
24
- };
25
-
26
- /* script */
27
- const __vue_script__ = script;
28
-
29
- /* template */
30
- var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:"gl-resize-observer-directive",rawName:"v-gl-resize-observer-directive",value:(_vm.handleResize),expression:"handleResize"}]},[_c('p',[_vm._v(_vm._s(_vm.width)+" x "+_vm._s(_vm.height))])])};
31
- var __vue_staticRenderFns__ = [];
32
-
33
- /* style */
34
- const __vue_inject_styles__ = undefined;
35
- /* scoped */
36
- const __vue_scope_id__ = undefined;
37
- /* module identifier */
38
- const __vue_module_identifier__ = undefined;
39
- /* functional template */
40
- const __vue_is_functional_template__ = false;
41
- /* style inject */
42
-
43
- /* style inject SSR */
44
-
45
- /* style inject shadow dom */
46
-
47
-
48
-
49
- const __vue_component__ = __vue_normalize__(
50
- { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
51
- __vue_inject_styles__,
52
- __vue_script__,
53
- __vue_scope_id__,
54
- __vue_is_functional_template__,
55
- __vue_module_identifier__,
56
- false,
57
- undefined,
58
- undefined,
59
- undefined
60
- );
61
-
62
- export default __vue_component__;
@@ -1,11 +0,0 @@
1
- <template>
2
- <gl-form-group
3
- id="group-id"
4
- label="Label"
5
- label-size="sm"
6
- description="Form group description"
7
- label-for="input1"
8
- >
9
- <gl-form-input id="input1" />
10
- </gl-form-group>
11
- </template>
@@ -1,21 +0,0 @@
1
- <script>
2
- export default {
3
- computed: {
4
- disabled() {
5
- return true;
6
- },
7
- },
8
- };
9
- </script>
10
-
11
- <template>
12
- <gl-form-group
13
- id="group-id"
14
- label="Label Name"
15
- label-size="sm"
16
- description="This feature is disabled"
17
- label-for="input1"
18
- >
19
- <gl-form-input id="input1" type="text" :disabled="disabled" value="Disabled" />
20
- </gl-form-group>
21
- </template>
@@ -1,15 +0,0 @@
1
- <script>
2
- export default {
3
- data() {
4
- return {
5
- text: '',
6
- };
7
- },
8
- };
9
- </script>
10
-
11
- <template>
12
- <gl-form-group id="group-id-textarea1" label="Label Name" label-for="textarea1">
13
- <gl-form-textarea id="textarea1" v-model="text" placeholder="Enter something" />
14
- </gl-form-group>
15
- </template>
@@ -1,36 +0,0 @@
1
- <script>
2
- export default {
3
- data() {
4
- return {
5
- name: '',
6
- };
7
- },
8
- computed: {
9
- state() {
10
- return this.name.length >= 4;
11
- },
12
- invalidFeedback() {
13
- let feedbackText = 'This field is required.';
14
-
15
- if (this.name.length > 4) {
16
- feedbackText = '';
17
- } else if (this.name.length > 0) {
18
- feedbackText = 'Enter at least 4 characters.';
19
- }
20
-
21
- return feedbackText;
22
- },
23
- },
24
- };
25
- </script>
26
- <template>
27
- <gl-form-group
28
- label="Name"
29
- description="Enter a first and last name."
30
- :invalid-feedback="invalidFeedback"
31
- :state="state"
32
- label-for="input1"
33
- >
34
- <gl-form-input id="input1" v-model.trim="name" :state="state" />
35
- </gl-form-group>
36
- </template>
@@ -1,32 +0,0 @@
1
- import FormGroupBasicExample from './form_group.basic.example.vue';
2
- import FormGroupDisabledExample from './form_group.disabled.example.vue';
3
- import FormGroupTextareaExample from './form_group.textarea.example.vue';
4
- import FormGroupValidationExample from './form_group.validation.example.vue';
5
-
6
- export default [
7
- {
8
- name: 'Form Group',
9
- items: [
10
- {
11
- id: 'form-group',
12
- name: 'basic example',
13
- component: FormGroupBasicExample,
14
- },
15
- {
16
- id: 'form-group-validations',
17
- name: 'with validations',
18
- component: FormGroupValidationExample,
19
- },
20
- {
21
- id: 'form-group-disabled',
22
- name: 'disabled',
23
- component: FormGroupDisabledExample,
24
- },
25
- {
26
- id: 'form-group-textarea',
27
- name: 'textarea',
28
- component: FormGroupTextareaExample,
29
- },
30
- ],
31
- },
32
- ];
@@ -1,10 +0,0 @@
1
- <template>
2
- <gl-form-input-group>
3
- <template #prepend>
4
- <gl-input-group-text>Username</gl-input-group-text>
5
- </template>
6
- <template #append>
7
- <gl-button variant="success">Add</gl-button>
8
- </template>
9
- </gl-form-input-group>
10
- </template>
@@ -1,25 +0,0 @@
1
- <script>
2
- export default {
3
- data() {
4
- return {
5
- optionValues: [
6
- { name: 'Embed', value: 'https://embed.com' },
7
- { name: 'Share', value: 'https://share.org' },
8
- ],
9
- };
10
- },
11
- };
12
- </script>
13
- <template>
14
- <!--
15
- optionValues = [
16
- { name: 'Embed', value: 'https://embed.com' },
17
- { name: 'Share', value: 'https://share.org' },
18
- ]
19
- -->
20
- <gl-form-input-group :predefined-options="optionValues">
21
- <template #append>
22
- <gl-button variant="success">Add</gl-button>
23
- </template>
24
- </gl-form-input-group>
25
- </template>
@@ -1,32 +0,0 @@
1
- <script>
2
- export default {
3
- data() {
4
- return {
5
- testVal: 'foo',
6
- optionValues: [
7
- { name: 'Embed', value: 'https://embed.com' },
8
- { name: 'Share', value: 'https://share.org' },
9
- ],
10
- };
11
- },
12
- };
13
- </script>
14
- <template>
15
- <!--
16
- optionValues = [
17
- { name: 'Embed', value: 'https://embed.com' },
18
- { name: 'Share', value: 'https://share.org' },
19
- ]
20
- -->
21
- <div>
22
- <label>
23
- Data outside of the component
24
- <input v-model="testVal" type="text" class="gl-form-input" />
25
- </label>
26
- <gl-form-input-group v-model="testVal" :predefined-options="optionValues">
27
- <template #append>
28
- <gl-button variant="success">Add</gl-button>
29
- </template>
30
- </gl-form-input-group>
31
- </div>
32
- </template>
@@ -1,25 +0,0 @@
1
- <script>
2
- export default {
3
- data() {
4
- return {
5
- testVal: 'foo',
6
- };
7
- },
8
- };
9
- </script>
10
- <template>
11
- <div>
12
- <label>
13
- Data outside of the component
14
- <gl-form-input v-model="testVal" type="text" />
15
- </label>
16
- <gl-form-input-group v-model="testVal">
17
- <template #prepend>
18
- <gl-input-group-text>Username</gl-input-group-text>
19
- </template>
20
- <template #append>
21
- <gl-button variant="success">Add</gl-button>
22
- </template>
23
- </gl-form-input-group>
24
- </div>
25
- </template>
@@ -1,32 +0,0 @@
1
- import BasicExample from './form_input_group.basic.example.vue';
2
- import PredefinedOptionsExample from './form_input_group.predefined_options.example.vue';
3
- import PredefinedReactiveExample from './form_input_group.predefined_reactive.example.vue';
4
- import ReactiveExample from './form_input_group.reactive.example.vue';
5
-
6
- export default [
7
- {
8
- name: 'Text Input Group',
9
- items: [
10
- {
11
- id: 'input-text-group',
12
- name: 'Basic',
13
- component: BasicExample,
14
- },
15
- {
16
- id: 'input-text-group-reactive',
17
- name: 'Reactive update of/from the component',
18
- component: ReactiveExample,
19
- },
20
- {
21
- id: 'input-text-group-predefined-options',
22
- name: 'With predefined options',
23
- component: PredefinedOptionsExample,
24
- },
25
- {
26
- id: 'input-text-group-predefined-reactive',
27
- name: 'With predefined options and reactive updates',
28
- component: PredefinedReactiveExample,
29
- },
30
- ],
31
- },
32
- ];
@@ -1,26 +0,0 @@
1
- import SearchBoxByClickDefaultExample from './search_box_by_click.default.example.vue';
2
- import SearchBoxByClickHistoryExample from './search_box_by_click.history.example.vue';
3
- import SearchBoxByClickVModelExample from './search_box_by_click.v_model.example.vue';
4
-
5
- export default [
6
- {
7
- name: 'Search Box By Click',
8
- items: [
9
- {
10
- id: 'search-box-by-click',
11
- name: 'default',
12
- component: SearchBoxByClickDefaultExample,
13
- },
14
- {
15
- id: 'search-box-by-click-v-model',
16
- name: 'Using v-model',
17
- component: SearchBoxByClickVModelExample,
18
- },
19
- {
20
- id: 'search-box-by-click-with-history',
21
- name: 'with history',
22
- component: SearchBoxByClickHistoryExample,
23
- },
24
- ],
25
- },
26
- ];
@@ -1,14 +0,0 @@
1
- <script>
2
- export default {
3
- data() {
4
- return {
5
- value: '',
6
- };
7
- },
8
- };
9
- </script>
10
- <template>
11
- <div id="tooltipcontainer">
12
- <gl-search-box-by-click v-model="value" tooltip-container="#tooltipcontainer" />
13
- </div>
14
- </template>
@@ -1,23 +0,0 @@
1
- <script>
2
- export default {
3
- data() {
4
- return {
5
- value: '',
6
- history: ['author:@admin', 'assignee:@admin milestone:%12.5', 'label:~test'],
7
- };
8
- },
9
- };
10
- </script>
11
- <template>
12
- <div id="tooltipcontainer">
13
- <gl-search-box-by-click
14
- v-model="value"
15
- :history-items="history"
16
- tooltip-container="#tooltipcontainer"
17
- >
18
- <template #history-item="{ historyItem }">
19
- {{ historyItem }}
20
- </template>
21
- </gl-search-box-by-click>
22
- </div>
23
- </template>
@@ -1,23 +0,0 @@
1
- <script>
2
- export default {
3
- data() {
4
- return {
5
- text: '',
6
- };
7
- },
8
- methods: {
9
- setText() {
10
- this.text = 'Something else';
11
- },
12
- },
13
- };
14
- </script>
15
-
16
- <template>
17
- <div id="tooltipcontainer">
18
- <gl-search-box-by-click v-model="text" tooltip-container="#tooltipcontainer" />
19
- <gl-button class="gl-mt-4" @click="setText"
20
- >Click here to set text to "Something else" using v-model</gl-button
21
- >
22
- </div>
23
- </template>
@@ -1,20 +0,0 @@
1
- import SearchBoxByTypeDefaultExample from './search_box_by_type.default.example.vue';
2
- import SearchBoxByTypeLoadingExample from './search_box_by_type.loading.example.vue';
3
-
4
- export default [
5
- {
6
- name: 'Search Box By Type',
7
- items: [
8
- {
9
- id: 'search-box-by-type',
10
- name: 'default',
11
- component: SearchBoxByTypeDefaultExample,
12
- },
13
- {
14
- id: 'search-box-by-type-loading',
15
- name: 'loading',
16
- component: SearchBoxByTypeLoadingExample,
17
- },
18
- ],
19
- },
20
- ];
@@ -1,14 +0,0 @@
1
- <script>
2
- export default {
3
- data() {
4
- return {
5
- value: '',
6
- };
7
- },
8
- };
9
- </script>
10
- <template>
11
- <div id="tooltipcontainer">
12
- <gl-search-box-by-type v-model="value" tooltip-container="#tooltipcontainer" />
13
- </div>
14
- </template>
@@ -1,34 +0,0 @@
1
- <script>
2
- export default {
3
- data() {
4
- return {
5
- value: '',
6
- isLoading: false,
7
- };
8
- },
9
- watch: {
10
- value(newValue) {
11
- if (newValue) {
12
- clearTimeout(this.loader);
13
- this.isLoading = true;
14
- this.loader = setTimeout(() => {
15
- this.isLoading = false;
16
- }, 2000);
17
- } else if (this.loader) {
18
- this.isLoading = false;
19
- clearTimeout(this.loader);
20
- this.loader = null;
21
- }
22
- },
23
- },
24
- };
25
- </script>
26
- <template>
27
- <div id="tooltipcontainer">
28
- <gl-search-box-by-type
29
- v-model="value"
30
- :is-loading="isLoading"
31
- tooltip-container="#tooltipcontainer"
32
- />
33
- </div>
34
- </template>
@@ -1,14 +0,0 @@
1
- import BasicExample from './resize_observer.basic.example.vue';
2
-
3
- export default [
4
- {
5
- name: 'ResizeObserver directive',
6
- items: [
7
- {
8
- id: 'resize-observer-directive-example',
9
- name: 'ResizeObserver directive example',
10
- component: BasicExample,
11
- },
12
- ],
13
- },
14
- ];
@@ -1,21 +0,0 @@
1
- <script>
2
- export default {
3
- data() {
4
- return {
5
- width: 0,
6
- height: 0,
7
- };
8
- },
9
- methods: {
10
- handleResize({ contentRect: { width, height } }) {
11
- this.width = width;
12
- this.height = height;
13
- },
14
- },
15
- };
16
- </script>
17
- <template>
18
- <div v-gl-resize-observer-directive="handleResize">
19
- <p>{{ width }} x {{ height }}</p>
20
- </div>
21
- </template>