@gitlab/ui 32.19.0 → 32.20.2

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 (77) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/components/base/accordion/accordion_item.js +2 -2
  3. package/dist/components/base/alert/alert.js +3 -3
  4. package/dist/components/base/button/button.documentation.js +17 -1
  5. package/dist/components/base/button/button.js +10 -10
  6. package/dist/components/base/daterange_picker/daterange_picker.js +2 -2
  7. package/dist/components/base/dropdown/dropdown.js +8 -8
  8. package/dist/components/base/filtered_search/filtered_search.js +2 -2
  9. package/dist/components/base/path/path.js +1 -1
  10. package/dist/components/base/search_box_by_click/search_box_by_click.js +2 -2
  11. package/dist/components/base/sorting/sorting.js +2 -2
  12. package/dist/components/base/tabs/tabs/examples/tabs.basic.example.js +1 -1
  13. package/dist/components/base/tabs/tabs/examples/tabs.counterbadges.example.js +1 -1
  14. package/dist/components/base/tabs/tabs/examples/tabs.custom_title.example.js +1 -1
  15. package/dist/components/base/tabs/tabs/examples/tabs.disabled.example.js +1 -1
  16. package/dist/components/base/tabs/tabs/examples/tabs.justified.example.js +1 -1
  17. package/dist/components/base/tabs/tabs/examples/tabs.scrollable.example.js +2 -2
  18. package/dist/components/base/tabs/tabs/examples/tabs.styles_only.example.js +1 -1
  19. package/dist/components/base/tabs/tabs/scrollable_tabs.js +1 -1
  20. package/dist/components/base/tabs/tabs/tabs.documentation.js +1 -1
  21. package/dist/components/base/toggle/toggle.js +5 -1
  22. package/dist/components/charts/heatmap/heatmap.js +2 -2
  23. package/dist/components/charts/single_stat/single_stat.js +1 -1
  24. package/dist/components/charts/sparkline/sparkline.js +2 -2
  25. package/dist/components/mixins/button_mixin.js +2 -2
  26. package/dist/components/shared_components/clear_icon_button/clear_icon_button.js +2 -2
  27. package/dist/directives/collapse_toggle.js +1 -2
  28. package/dist/directives/modal.js +1 -2
  29. package/dist/directives/resize_observer/resize_observer.js +2 -2
  30. package/dist/directives/tooltip.js +1 -2
  31. package/dist/index.css +1 -1
  32. package/dist/index.css.map +1 -1
  33. package/dist/index.js +4 -4
  34. package/dist/utils/constants.js +8 -8
  35. package/index.js +4 -4
  36. package/package.json +10 -10
  37. package/src/components/base/accordion/accordion_item.spec.js +1 -1
  38. package/src/components/base/accordion/accordion_item.vue +2 -2
  39. package/src/components/base/alert/alert.spec.js +3 -3
  40. package/src/components/base/alert/alert.vue +3 -3
  41. package/src/components/base/avatar/avatar.stories.js +1 -1
  42. package/src/components/base/avatar_labeled/avatar_labeled.stories.js +1 -1
  43. package/src/components/base/badge/badge.scss +1 -0
  44. package/src/components/base/button/button.documentation.js +18 -0
  45. package/src/components/base/button/button.stories.js +13 -13
  46. package/src/components/base/button/button.vue +15 -15
  47. package/src/components/base/daterange_picker/daterange_picker.vue +2 -2
  48. package/src/components/base/dropdown/dropdown.stories.js +5 -5
  49. package/src/components/base/dropdown/dropdown.vue +11 -11
  50. package/src/components/base/filtered_search/filtered_search.vue +2 -2
  51. package/src/components/base/path/path.vue +1 -1
  52. package/src/components/base/search_box_by_click/search_box_by_click.vue +2 -2
  53. package/src/components/base/sorting/sorting.vue +2 -2
  54. package/src/components/base/tabs/tabs/examples/tabs.basic.example.vue +2 -2
  55. package/src/components/base/tabs/tabs/examples/tabs.counterbadges.example.vue +9 -6
  56. package/src/components/base/tabs/tabs/examples/tabs.custom_title.example.vue +3 -3
  57. package/src/components/base/tabs/tabs/examples/tabs.disabled.example.vue +3 -3
  58. package/src/components/base/tabs/tabs/examples/tabs.justified.example.vue +2 -2
  59. package/src/components/base/tabs/tabs/examples/tabs.scrollable.example.vue +2 -2
  60. package/src/components/base/tabs/tabs/examples/tabs.styles_only.example.vue +4 -4
  61. package/src/components/base/tabs/tabs/scrollable_tabs.vue +1 -1
  62. package/src/components/base/tabs/tabs/tabs.md +8 -8
  63. package/src/components/base/tabs/tabs/tabs.stories.js +42 -40
  64. package/src/components/base/toggle/toggle.spec.js +1 -1
  65. package/src/components/base/toggle/toggle.vue +4 -1
  66. package/src/components/charts/heatmap/heatmap.vue +2 -2
  67. package/src/components/charts/single_stat/single_stat.vue +5 -1
  68. package/src/components/charts/sparkline/sparkline.spec.js +4 -2
  69. package/src/components/charts/sparkline/sparkline.vue +2 -2
  70. package/src/components/mixins/button_mixin.js +2 -2
  71. package/src/components/shared_components/clear_icon_button/clear_icon_button.vue +2 -2
  72. package/src/directives/collapse_toggle.js +1 -3
  73. package/src/directives/modal.js +1 -3
  74. package/src/directives/resize_observer/resize_observer.js +1 -3
  75. package/src/directives/resize_observer/resize_observer.spec.js +3 -3
  76. package/src/directives/tooltip.js +1 -3
  77. package/src/utils/constants.js +7 -7
package/CHANGELOG.md CHANGED
@@ -1,3 +1,31 @@
1
+ ## [32.20.2](https://gitlab.com/gitlab-org/gitlab-ui/compare/v32.20.1...v32.20.2) (2021-10-19)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **Toggle:** Always keep aria checked whether true or false ([84a240e](https://gitlab.com/gitlab-org/gitlab-ui/commit/84a240ea14fb7f5827b014f89551f692899f3df4))
7
+
8
+ ## [32.20.1](https://gitlab.com/gitlab-org/gitlab-ui/compare/v32.20.0...v32.20.1) (2021-10-19)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * **GlSingleStat:** forward listeners and attrs ([7781b6b](https://gitlab.com/gitlab-org/gitlab-ui/commit/7781b6b443fb525f38f4b9240d4d7558f8d5f072))
14
+
15
+ # [32.20.0](https://gitlab.com/gitlab-org/gitlab-ui/compare/v32.19.1...v32.20.0) (2021-10-14)
16
+
17
+
18
+ ### Features
19
+
20
+ * **Tabs:** Badge counter should use SR only ([4706ff0](https://gitlab.com/gitlab-org/gitlab-ui/commit/4706ff0fb1f6b550133d904868d19bc39d01ef45))
21
+
22
+ ## [32.19.1](https://gitlab.com/gitlab-org/gitlab-ui/compare/v32.19.0...v32.19.1) (2021-10-11)
23
+
24
+
25
+ ### Bug Fixes
26
+
27
+ * **badge:** Override bootstrap hover style ([c065687](https://gitlab.com/gitlab-org/gitlab-ui/commit/c065687b05ad1d8f5e3a45da0d120517825dae41))
28
+
1
29
  # [32.19.0](https://gitlab.com/gitlab-org/gitlab-ui/compare/v32.18.0...v32.19.0) (2021-10-08)
2
30
 
3
31
 
@@ -1,6 +1,6 @@
1
1
  import _uniqueId from 'lodash/uniqueId';
2
2
  import { BCollapse } from 'bootstrap-vue/esm/index.js';
3
- import GlCollapseToggle from '../../../directives/collapse_toggle';
3
+ import { GlCollapseToggleDirective } from '../../../directives/collapse_toggle';
4
4
  import GlButton from '../button/button';
5
5
  import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
6
6
 
@@ -11,7 +11,7 @@ var script = {
11
11
  GlButton
12
12
  },
13
13
  directives: {
14
- GlCollapseToggle
14
+ GlCollapseToggle: GlCollapseToggleDirective
15
15
  },
16
16
  inject: ['accordionSetId', 'defaultHeaderLevel'],
17
17
  inheritAttrs: false,
@@ -1,4 +1,4 @@
1
- import { alertVariantOptions, alertVariantIconMap, newButtonCategoryOptions } from '../../../utils/constants';
1
+ import { alertVariantOptions, alertVariantIconMap, buttonCategoryOptions } from '../../../utils/constants';
2
2
  import CloseButton from '../../shared_components/close_button/close_button';
3
3
  import GlButton from '../button/button';
4
4
  import GlIcon from '../icon/icon';
@@ -106,7 +106,7 @@ var script = {
106
106
  attrs: {
107
107
  href: this.primaryButtonLink,
108
108
  variant: 'confirm',
109
- category: newButtonCategoryOptions.primary
109
+ category: buttonCategoryOptions.primary
110
110
  },
111
111
  listeners: {
112
112
  click: this.primaryButtonClicked
@@ -116,7 +116,7 @@ var script = {
116
116
  attrs: {
117
117
  href: this.secondaryButtonLink,
118
118
  variant: 'default',
119
- category: newButtonCategoryOptions.secondary
119
+ category: buttonCategoryOptions.secondary
120
120
  },
121
121
  listeners: {
122
122
  click: this.secondaryButtonClicked
@@ -2,7 +2,23 @@ var description = "Buttons execute an action, either in the background or foregr
2
2
 
3
3
  var button_documentation = {
4
4
  description,
5
- followsDesignSystem: true
5
+ followsDesignSystem: true,
6
+ bootstrapComponent: 'b-button',
7
+ bootstrapPropsInfo: {
8
+ category: {
9
+ enum: 'buttonCategoryOptions'
10
+ },
11
+ variant: {
12
+ enum: 'buttonVariantOptions'
13
+ },
14
+ size: {
15
+ enum: 'buttonSizeOptions'
16
+ }
17
+ },
18
+ events: [{
19
+ event: 'click',
20
+ description: 'Emitted when clicked on button'
21
+ }]
6
22
  };
7
23
 
8
24
  export default button_documentation;
@@ -1,5 +1,5 @@
1
1
  import { BButton } from 'bootstrap-vue/esm/index.js';
2
- import { newButtonCategoryOptions, newButtonVariantOptions, newButtonSizeOptions, newButtonSizeOptionsMap } from '../../../utils/constants';
2
+ import { buttonCategoryOptions, buttonVariantOptions, buttonSizeOptions, buttonSizeOptionsMap } from '../../../utils/constants';
3
3
  import { logWarning } from '../../../utils/utils';
4
4
  import { SafeLinkMixin } from '../../mixins/safe_link_mixin';
5
5
  import GlIcon from '../icon/icon';
@@ -17,20 +17,20 @@ var script = {
17
17
  category: {
18
18
  type: String,
19
19
  required: false,
20
- default: newButtonCategoryOptions.primary,
21
- validator: value => Object.keys(newButtonCategoryOptions).includes(value)
20
+ default: buttonCategoryOptions.primary,
21
+ validator: value => Object.keys(buttonCategoryOptions).includes(value)
22
22
  },
23
23
  variant: {
24
24
  type: String,
25
25
  required: false,
26
- default: newButtonVariantOptions.default,
27
- validator: value => Object.keys(newButtonVariantOptions).includes(value)
26
+ default: buttonVariantOptions.default,
27
+ validator: value => Object.keys(buttonVariantOptions).includes(value)
28
28
  },
29
29
  size: {
30
30
  type: String,
31
31
  required: false,
32
- default: newButtonSizeOptions.medium,
33
- validator: value => Object.keys(newButtonSizeOptions).includes(value)
32
+ default: buttonSizeOptions.medium,
33
+ validator: value => Object.keys(buttonSizeOptions).includes(value)
34
34
  },
35
35
  selected: {
36
36
  type: Boolean,
@@ -78,9 +78,9 @@ var script = {
78
78
 
79
79
  buttonClasses() {
80
80
  const classes = ['gl-button'];
81
- const nonCategoryVariants = [newButtonVariantOptions.dashed, newButtonVariantOptions.link, newButtonVariantOptions.reset];
81
+ const nonCategoryVariants = [buttonVariantOptions.dashed, buttonVariantOptions.link, buttonVariantOptions.reset];
82
82
 
83
- if (!nonCategoryVariants.includes(this.variant) && this.category !== newButtonCategoryOptions.primary) {
83
+ if (!nonCategoryVariants.includes(this.variant) && this.category !== buttonCategoryOptions.primary) {
84
84
  classes.push(`btn-${this.variant}-${this.category}`);
85
85
  }
86
86
 
@@ -98,7 +98,7 @@ var script = {
98
98
  },
99
99
 
100
100
  buttonSize() {
101
- return newButtonSizeOptionsMap[this.size];
101
+ return buttonSizeOptionsMap[this.size];
102
102
  }
103
103
 
104
104
  },
@@ -1,4 +1,4 @@
1
- import GlTooltip from '../../../directives/tooltip';
1
+ import { GlTooltipDirective } from '../../../directives/tooltip';
2
2
  import { getDateInPast, getDateInFuture, getDayDifference } from '../../../utils/datetime_utility';
3
3
  import GlDatepicker from '../datepicker/datepicker';
4
4
  import GlIcon from '../icon/icon';
@@ -10,7 +10,7 @@ var script = {
10
10
  GlIcon
11
11
  },
12
12
  directives: {
13
- GlTooltip
13
+ GlTooltip: GlTooltipDirective
14
14
  },
15
15
  props: {
16
16
  fromLabel: {
@@ -1,6 +1,6 @@
1
1
  import { BDropdown } from 'bootstrap-vue/esm/index.js';
2
2
  import { selectAll, isVisible } from 'bootstrap-vue/esm/utils/dom';
3
- import { newButtonCategoryOptions, newDropdownVariantOptions, newButtonSizeOptions } from '../../../utils/constants';
3
+ import { buttonCategoryOptions, newDropdownVariantOptions, buttonSizeOptions } from '../../../utils/constants';
4
4
  import { ButtonMixin } from '../../mixins/button_mixin';
5
5
  import GlButton from '../button/button';
6
6
  import GlIcon from '../icon/icon';
@@ -93,8 +93,8 @@ var script = {
93
93
  category: {
94
94
  type: String,
95
95
  required: false,
96
- default: newButtonCategoryOptions.primary,
97
- validator: value => Object.keys(newButtonCategoryOptions).includes(value)
96
+ default: buttonCategoryOptions.primary,
97
+ validator: value => Object.keys(buttonCategoryOptions).includes(value)
98
98
  },
99
99
  variant: {
100
100
  type: String,
@@ -105,8 +105,8 @@ var script = {
105
105
  size: {
106
106
  type: String,
107
107
  required: false,
108
- default: newButtonSizeOptions.medium,
109
- validator: value => Object.keys(newButtonSizeOptions).includes(value)
108
+ default: buttonSizeOptions.medium,
109
+ validator: value => Object.keys(buttonSizeOptions).includes(value)
110
110
  },
111
111
  icon: {
112
112
  type: String,
@@ -160,8 +160,8 @@ var script = {
160
160
  return [this.toggleClass, {
161
161
  'gl-button': true,
162
162
  'gl-dropdown-toggle': true,
163
- [`btn-${this.variant}-secondary`]: this.category === newButtonCategoryOptions.secondary || this.category === newButtonCategoryOptions.tertiary && this.split,
164
- [`btn-${this.variant}-tertiary`]: this.category === newButtonCategoryOptions.tertiary && !this.split,
163
+ [`btn-${this.variant}-secondary`]: this.category === buttonCategoryOptions.secondary || this.category === buttonCategoryOptions.tertiary && this.split,
164
+ [`btn-${this.variant}-tertiary`]: this.category === buttonCategoryOptions.tertiary && !this.split,
165
165
  'dropdown-icon-only': this.isIconOnly,
166
166
  'dropdown-icon-text': this.isIconWithText
167
167
  }];
@@ -172,7 +172,7 @@ var script = {
172
172
  'gl-button': true,
173
173
  'split-content-button': Boolean(this.text),
174
174
  'icon-split-content-button': Boolean(this.icon),
175
- [`btn-${this.variant}-secondary`]: this.category === newButtonCategoryOptions.secondary || this.category === newButtonCategoryOptions.tertiary
175
+ [`btn-${this.variant}-secondary`]: this.category === buttonCategoryOptions.secondary || this.category === buttonCategoryOptions.tertiary
176
176
  }];
177
177
  },
178
178
 
@@ -1,7 +1,7 @@
1
1
  import _cloneDeep from 'lodash/cloneDeep';
2
2
  import PortalVue from 'portal-vue';
3
3
  import Vue from 'vue';
4
- import GlTooltip from '../../../directives/tooltip';
4
+ import { GlTooltipDirective } from '../../../directives/tooltip';
5
5
  import GlIcon from '../icon/icon';
6
6
  import GlSearchBoxByClick from '../search_box_by_click/search_box_by_click';
7
7
  import GlFilteredSearchTerm from './filtered_search_term';
@@ -30,7 +30,7 @@ var script = {
30
30
  GlIcon
31
31
  },
32
32
  directives: {
33
- GlTooltip
33
+ GlTooltip: GlTooltipDirective
34
34
  },
35
35
 
36
36
  provide() {
@@ -1,7 +1,7 @@
1
1
  import _findLast from 'lodash/findLast';
2
2
  import _uniqueId from 'lodash/uniqueId';
3
3
  import iconSpriteInfo from '@gitlab/svgs/dist/icons.json';
4
- import GlResizeObserverDirective from '../../../directives/resize_observer/resize_observer';
4
+ import { GlResizeObserverDirective } from '../../../directives/resize_observer/resize_observer';
5
5
  import { glThemes } from '../../../utils/constants';
6
6
  import GlIcon from '../icon/icon';
7
7
  import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
@@ -1,4 +1,4 @@
1
- import GlTooltip from '../../../directives/tooltip';
1
+ import { GlTooltipDirective } from '../../../directives/tooltip';
2
2
  import GlClearIconButton from '../../shared_components/clear_icon_button/clear_icon_button';
3
3
  import GlButton from '../button/button';
4
4
  import GlDropdown from '../dropdown/dropdown';
@@ -23,7 +23,7 @@ var script = {
23
23
  GlFormInputGroup
24
24
  },
25
25
  directives: {
26
- GlTooltip
26
+ GlTooltip: GlTooltipDirective
27
27
  },
28
28
  props: {
29
29
  value: {
@@ -1,4 +1,4 @@
1
- import GlTooltip from '../../../directives/tooltip';
1
+ import { GlTooltipDirective } from '../../../directives/tooltip';
2
2
  import GlButton from '../button/button';
3
3
  import GlButtonGroup from '../button_group/button_group';
4
4
  import GlDropdown from '../dropdown/dropdown';
@@ -12,7 +12,7 @@ var script = {
12
12
  GlDropdown
13
13
  },
14
14
  directives: {
15
- GlTooltip
15
+ GlTooltip: GlTooltipDirective
16
16
  },
17
17
  props: {
18
18
  /**
@@ -3,7 +3,7 @@ import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
3
3
  /* script */
4
4
 
5
5
  /* template */
6
- var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('gl-tabs',[_c('gl-tab',{attrs:{"title":"First"}},[_vm._v("first content")]),_vm._v(" "),_c('gl-tab',{attrs:{"title":"Second"}},[_vm._v("second content")])],1)};
6
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('gl-tabs',[_c('gl-tab',{attrs:{"title":"Tab 1"}},[_vm._v("Tab panel 1")]),_vm._v(" "),_c('gl-tab',{attrs:{"title":"Tab 2"}},[_vm._v("Tab panel 2")])],1)};
7
7
  var __vue_staticRenderFns__ = [];
8
8
 
9
9
  /* style */
@@ -3,7 +3,7 @@ import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
3
3
  /* script */
4
4
 
5
5
  /* template */
6
- var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('gl-tabs',[_c('gl-tab',{scopedSlots:_vm._u([{key:"title",fn:function(){return [_c('span',[_vm._v("1st")]),_vm._v(" "),_c('gl-badge',{staticClass:"gl-tab-counter-badge",attrs:{"size":"sm"}},[_vm._v("500")])]},proxy:true}])},[_vm._v("\n first content\n ")]),_vm._v(" "),_c('gl-tab',{scopedSlots:_vm._u([{key:"title",fn:function(){return [_c('span',[_vm._v("2nd")]),_vm._v(" "),_c('gl-badge',{staticClass:"gl-tab-counter-badge",attrs:{"size":"sm"}},[_vm._v("250")])]},proxy:true}])},[_vm._v("\n second content\n ")]),_vm._v(" "),_c('gl-tab',{scopedSlots:_vm._u([{key:"title",fn:function(){return [_c('span',[_vm._v("3rd")]),_vm._v(" "),_c('gl-badge',{staticClass:"gl-tab-counter-badge",attrs:{"size":"sm"}},[_vm._v("250")])]},proxy:true}])},[_vm._v("\n third content\n ")])],1)};
6
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('gl-tabs',[_c('gl-tab',{scopedSlots:_vm._u([{key:"title",fn:function(){return [_c('span',[_vm._v("Tab")]),_vm._v(" "),_c('gl-badge',{staticClass:"gl-tab-counter-badge",attrs:{"size":"sm"}},[_vm._v("500")]),_vm._v(" "),_c('span',{staticClass:"sr-only"},[_vm._v("items")])]},proxy:true}])},[_vm._v("\n Tab panel 1\n ")]),_vm._v(" "),_c('gl-tab',{scopedSlots:_vm._u([{key:"title",fn:function(){return [_c('span',[_vm._v("Tab")]),_vm._v(" "),_c('gl-badge',{staticClass:"gl-tab-counter-badge",attrs:{"size":"sm"}},[_vm._v("250")]),_vm._v(" "),_c('span',{staticClass:"sr-only"},[_vm._v("items")])]},proxy:true}])},[_vm._v("\n Tab panel 2\n ")]),_vm._v(" "),_c('gl-tab',{scopedSlots:_vm._u([{key:"title",fn:function(){return [_c('span',[_vm._v("Tab")]),_vm._v(" "),_c('gl-badge',{staticClass:"gl-tab-counter-badge",attrs:{"size":"sm"}},[_vm._v("250")]),_vm._v(" "),_c('span',{staticClass:"sr-only"},[_vm._v("items")])]},proxy:true}])},[_vm._v("\n Tab panel 3\n ")])],1)};
7
7
  var __vue_staticRenderFns__ = [];
8
8
 
9
9
  /* style */
@@ -3,7 +3,7 @@ import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
3
3
  /* script */
4
4
 
5
5
  /* template */
6
- var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('gl-tabs',[_c('gl-tab',{attrs:{"title":"First"},scopedSlots:_vm._u([{key:"title",fn:function(){return [_c('i',[_vm._v("custom")]),_vm._v(" "),_c('strong',[_vm._v("Title")])]},proxy:true}])},[_vm._v("\n first content\n ")]),_vm._v(" "),_c('gl-tab',{attrs:{"title":"Second"}},[_vm._v("second content")])],1)};
6
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('gl-tabs',[_c('gl-tab',{attrs:{"title":"Tab 1"},scopedSlots:_vm._u([{key:"title",fn:function(){return [_c('i',[_vm._v("custom")]),_vm._v(" "),_c('strong',[_vm._v("Title")])]},proxy:true}])},[_vm._v("\n Tab panel 1\n ")]),_vm._v(" "),_c('gl-tab',{attrs:{"title":"Tab 2"}},[_vm._v("Tab panel 2")])],1)};
7
7
  var __vue_staticRenderFns__ = [];
8
8
 
9
9
  /* style */
@@ -3,7 +3,7 @@ import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
3
3
  /* script */
4
4
 
5
5
  /* template */
6
- var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('gl-tabs',[_c('gl-tab',{attrs:{"title":"First"}},[_vm._v("first content")]),_vm._v(" "),_c('gl-tab',{attrs:{"title":"Second"}},[_vm._v("second content")]),_vm._v(" "),_c('gl-tab',{attrs:{"title":"Disabled","disabled":""}},[_vm._v("disabled")])],1)};
6
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('gl-tabs',[_c('gl-tab',{attrs:{"title":"Tab 1"}},[_vm._v("Tab panel 1")]),_vm._v(" "),_c('gl-tab',{attrs:{"title":"Tab 2"}},[_vm._v("Tab panel 2")]),_vm._v(" "),_c('gl-tab',{attrs:{"title":"Tab 3","disabled":""}},[_vm._v("Disabled tab panel")])],1)};
7
7
  var __vue_staticRenderFns__ = [];
8
8
 
9
9
  /* style */
@@ -3,7 +3,7 @@ import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
3
3
  /* script */
4
4
 
5
5
  /* template */
6
- var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('gl-tabs',{attrs:{"justified":""}},[_c('gl-tab',{attrs:{"title":"First tab"}},[_vm._v("First content")]),_vm._v(" "),_c('gl-tab',{attrs:{"title":"Second tab"}},[_vm._v("Second content")])],1)};
6
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('gl-tabs',{attrs:{"justified":""}},[_c('gl-tab',{attrs:{"title":"Tab 1"}},[_vm._v("Tab panel 1")]),_vm._v(" "),_c('gl-tab',{attrs:{"title":"Tab 2"}},[_vm._v("Tab panel 2")])],1)};
7
7
  var __vue_staticRenderFns__ = [];
8
8
 
9
9
  /* style */
@@ -3,8 +3,8 @@ import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
3
3
  var script = {
4
4
  tabs: Array(20).fill(1).map((_, index) => index + 1).map(id => ({
5
5
  id,
6
- title: `Lorem ${id}`,
7
- content: `(${id}) Lorem ipsum dolar sit amit...`
6
+ title: `Tab ${id}`,
7
+ content: `Tab panel ${id} content...`
8
8
  }))
9
9
  };
10
10
 
@@ -4,7 +4,7 @@ import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
4
4
 
5
5
  /* template */
6
6
  var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;_vm._self._c||_h;return _vm._m(0)};
7
- var __vue_staticRenderFns__ = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"tabs gl-tabs"},[_c('ul',{staticClass:"nav gl-tabs-nav",attrs:{"role":"tablist"}},[_c('li',{staticClass:"nav-item",attrs:{"role":"presentation"}},[_c('a',{staticClass:"nav-link gl-tab-nav-item gl-tab-nav-item-active gl-tab-nav-item-active-indigo",attrs:{"role":"tab","target":"_self","href":"#"}},[_vm._v("First")])]),_vm._v(" "),_c('li',{staticClass:"nav-item",attrs:{"role":"presentation"}},[_c('a',{staticClass:"nav-link gl-tab-nav-item",attrs:{"role":"tab","target":"_self","href":"#"}},[_vm._v("Second")])])]),_vm._v(" "),_c('div',{staticClass:"tab-content gl-tab-content"},[_c('div',{staticClass:"tab-pane active",attrs:{"role":"tabpanel"}},[_vm._v("first content")]),_vm._v(" "),_c('div',{staticClass:"tab-pane",attrs:{"role":"tabpanel"}},[_vm._v("second content")])])])}];
7
+ var __vue_staticRenderFns__ = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"tabs gl-tabs"},[_c('ul',{staticClass:"nav gl-tabs-nav",attrs:{"role":"tablist"}},[_c('li',{staticClass:"nav-item",attrs:{"role":"presentation"}},[_c('a',{staticClass:"nav-link gl-tab-nav-item gl-tab-nav-item-active gl-tab-nav-item-active-indigo",attrs:{"role":"tab","target":"_self","href":"#"}},[_vm._v("Tab 1")])]),_vm._v(" "),_c('li',{staticClass:"nav-item",attrs:{"role":"presentation"}},[_c('a',{staticClass:"nav-link gl-tab-nav-item",attrs:{"role":"tab","target":"_self","href":"#"}},[_vm._v("Tab 2")])])]),_vm._v(" "),_c('div',{staticClass:"tab-content gl-tab-content"},[_c('div',{staticClass:"tab-pane active",attrs:{"role":"tabpanel"}},[_vm._v("Tab panel 1")]),_vm._v(" "),_c('div',{staticClass:"tab-pane",attrs:{"role":"tabpanel"}},[_vm._v("Tab panel 2")])])])}];
8
8
 
9
9
  /* style */
10
10
  const __vue_inject_styles__ = undefined;
@@ -1,6 +1,6 @@
1
1
  import _isArray from 'lodash/isArray';
2
2
  import _debounce from 'lodash/debounce';
3
- import GlResizeObserverDirective from '../../../../directives/resize_observer/resize_observer';
3
+ import { GlResizeObserverDirective } from '../../../../directives/resize_observer/resize_observer';
4
4
  import GlIcon from '../../icon/icon';
5
5
  import GlTabs from './tabs';
6
6
  import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
@@ -1,6 +1,6 @@
1
1
  import examples from './examples';
2
2
 
3
- var description = "# Tabs\n\n<!-- STORY -->\n## Usage\n\nTabs are used to divide content into meaningful, related sections. Tabs allow users to focus on one\nspecific view at a time while maintaining sight of all the relevant content options available. Each\ntab, when active, will reveal it’s own unique content.\n\n## Using the component Vue\n\n~~~js\n<gl-tabs theme=\"indigo\">\n <gl-tab title=\"First\">\n first content\n </gl-tab>\n <gl-tab title=\"Second\">\n second content\n </gl-tab>\n</gl-tabs>\n~~~\n\n## Using the component HTML\n\n~~~js\n<div class=\"tabs gl-tabs\">\n <ul role=\"tablist\" class=\"nav gl-tabs-nav\">\n <li role=\"presentation\" class=\"nav-item\">\n <a\n role=\"tab\"\n target=\"_self\"\n href=\"#\"\n class=\"nav-link gl-tab-nav-item gl-tab-nav-item-active gl-tab-nav-item-active-indigo\"\n >First</a>\n </li>\n <li role=\"presentation\" class=\"nav-item\">\n <a role=\"tab\" target=\"_self\" href=\"#\" class=\"nav-link gl-tab-nav-item\">Second</a>\n </li>\n </ul>\n <div class=\"tab-content gl-tab-content\">\n <div role=\"tabpanel\" class=\"tab-pane gl-tab-content active\">first content</div>\n <div role=\"tabpanel\" class=\"tab-pane gl-tab-content\">second content</div>\n </div>\n</div>\n~~~\n\n## Adding Action Buttons to the Tabs\n\nTabs start and end slot can be populated via props: `action-primary`, `action-secondary` and\n`action-tertiary`. These props allow you to handle how a primary, secondary and tertiary button will\nbehave and look. The props receive an object as such:\n\n~~~js\n{\n text: 'Save Changes',\n attributes: [\n { variant: 'info' },\n { disabled: this.someState },\n { class: 'some-class' },\n ...\n ]\n}\n~~~\n\n## Scrollable tab buttons\n\nBy default, `GlTab` will wrap tab buttons when they overflow the container. To\nenable horizontally scrolling for the tab buttons, use the `GlScrollableTabs`\ncomponent. This is a separate Vue component because of some limitations:\n\n- The action props (e.g., `action-primary`) are not respected in `GlScrollableTabs`. At the\n moment, BootstrapVue does not provide a reliable way for us to achieve this desired combination.\n\n`GlScrollableTabs` composes `GlTabs` and passes through every listener, slot, or prop (with the above\nexceptions).\n\n~~~html\n<gl-scrollable-tabs theme=\"indigo\">\n <gl-tab v-for=\"tab in tabs\" :key=\"tab.key\" :title=\"tab.title\"> {{ tab.content }} </gl-tab>\n</gl-scrollable-tabs>\n~~~\n";
3
+ var description = "# Tabs\n\n<!-- STORY -->\n## Usage\n\nTabs are used to divide content into meaningful, related sections. Tabs allow users to focus on one\nspecific view at a time while maintaining sight of all the relevant content options available. Each\ntab, when active, will reveal it’s own unique content.\n\n## Using the component Vue\n\n~~~js\n<gl-tabs theme=\"indigo\">\n <gl-tab title=\"Tab 1\">\n Tab panel 1\n </gl-tab>\n <gl-tab title=\"Tab 2\">\n Tab panel 2\n </gl-tab>\n</gl-tabs>\n~~~\n\n## Using the component HTML\n\n~~~js\n<div class=\"tabs gl-tabs\">\n <ul role=\"tablist\" class=\"nav gl-tabs-nav\">\n <li role=\"presentation\" class=\"nav-item\">\n <a\n role=\"tab\"\n target=\"_self\"\n href=\"#\"\n class=\"nav-link gl-tab-nav-item gl-tab-nav-item-active gl-tab-nav-item-active-indigo\"\n >Tab 1</a>\n </li>\n <li role=\"presentation\" class=\"nav-item\">\n <a role=\"tab\" target=\"_self\" href=\"#\" class=\"nav-link gl-tab-nav-item\">Tab 2</a>\n </li>\n </ul>\n <div class=\"tab-content gl-tab-content\">\n <div role=\"tabpanel\" class=\"tab-pane gl-tab-content active\">Tab panel 1</div>\n <div role=\"tabpanel\" class=\"tab-pane gl-tab-content\">Tab panel 2</div>\n </div>\n</div>\n~~~\n\n## Adding Action Buttons to the Tabs\n\nTabs start and end slot can be populated via props: `action-primary`, `action-secondary` and\n`action-tertiary`. These props allow you to handle how a primary, secondary and tertiary button will\nbehave and look. The props receive an object as such:\n\n~~~js\n{\n text: 'Save Changes',\n attributes: [\n { variant: 'info' },\n { disabled: this.someState },\n { class: 'some-class' },\n ...\n ]\n}\n~~~\n\n## Scrollable tab buttons\n\nBy default, `GlTab` will wrap tab buttons when they overflow the container. To\nenable horizontally scrolling for the tab buttons, use the `GlScrollableTabs`\ncomponent. This is a separate Vue component because of some limitations:\n\n- The action props (e.g., `action-primary`) are not respected in `GlScrollableTabs`. At the\n moment, BootstrapVue does not provide a reliable way for us to achieve this desired combination.\n\n`GlScrollableTabs` composes `GlTabs` and passes through every listener, slot, or prop (with the above\nexceptions).\n\n~~~html\n<gl-scrollable-tabs theme=\"indigo\">\n <gl-tab v-for=\"tab in tabs\" :key=\"tab.key\" :title=\"tab.title\"> {{ tab.content }} </gl-tab>\n</gl-scrollable-tabs>\n~~~\n";
4
4
 
5
5
  var tabs_documentation = {
6
6
  description,
@@ -90,6 +90,10 @@ var script = {
90
90
 
91
91
  helpId() {
92
92
  return this.help ? `toggle-help-${this.uuid}` : undefined;
93
+ },
94
+
95
+ isChecked() {
96
+ return this.value ? 'true' : 'false';
93
97
  }
94
98
 
95
99
  },
@@ -123,7 +127,7 @@ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=
123
127
  'gl-toggle': true,
124
128
  'is-checked': _vm.value,
125
129
  'is-disabled': _vm.disabled,
126
- },attrs:{"role":"switch","aria-checked":_vm.value,"aria-label":_vm.label,"aria-describedby":_vm.helpId,"type":"button"},on:{"click":function($event){$event.preventDefault();return _vm.toggleFeature($event)}}},[(_vm.isLoading)?_c('gl-loading-icon',{staticClass:"toggle-loading",attrs:{"color":"light"}}):_c('span',{class:{ 'toggle-icon': true, disabled: _vm.disabled }},[_c('gl-icon',{attrs:{"name":_vm.icon,"size":16}})],1)],1)]),_vm._v(" "),(_vm.help)?_c('span',{staticClass:"gl-help-label",attrs:{"id":_vm.helpId,"data-testid":"toggle-help"}},[_vm._t("help",[_vm._v(_vm._s(_vm.help))])],2):_vm._e()])};
130
+ },attrs:{"role":"switch","aria-checked":_vm.isChecked,"aria-label":_vm.label,"aria-describedby":_vm.helpId,"type":"button"},on:{"click":function($event){$event.preventDefault();return _vm.toggleFeature($event)}}},[(_vm.isLoading)?_c('gl-loading-icon',{staticClass:"toggle-loading",attrs:{"color":"light"}}):_c('span',{class:{ 'toggle-icon': true, disabled: _vm.disabled }},[_c('gl-icon',{attrs:{"name":_vm.icon,"size":16}})],1)],1)]),_vm._v(" "),(_vm.help)?_c('span',{staticClass:"gl-help-label",attrs:{"id":_vm.helpId,"data-testid":"toggle-help"}},[_vm._t("help",[_vm._v(_vm._s(_vm.help))])],2):_vm._e()])};
127
131
  var __vue_staticRenderFns__ = [];
128
132
 
129
133
  /* style */
@@ -1,5 +1,5 @@
1
1
  import merge from 'lodash/merge';
2
- import resizeObserver from '../../../directives/resize_observer/resize_observer';
2
+ import { GlResizeObserverDirective } from '../../../directives/resize_observer/resize_observer';
3
3
  import { getDefaultTooltipContent } from '../../../utils/charts/config';
4
4
  import { TOOLTIP_LEFT_OFFSET } from '../../../utils/charts/constants';
5
5
  import { heatmapHues } from '../../../utils/charts/theme';
@@ -52,7 +52,7 @@ var script = {
52
52
  TooltipDefaultFormat
53
53
  },
54
54
  directives: {
55
- resizeObserver
55
+ resizeObserver: GlResizeObserverDirective
56
56
  },
57
57
  mixins: [ToolboxMixin],
58
58
  props: {
@@ -97,7 +97,7 @@ var script = {
97
97
  const __vue_script__ = script;
98
98
 
99
99
  /* template */
100
- var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"gl-single-stat gl-display-flex gl-flex-direction-column gl-p-2"},[_c('div',{staticClass:"gl-display-flex gl-align-items-center gl-text-gray-700 gl-mb-2"},[(_vm.showTitleIcon)?_c('gl-icon',{staticClass:"gl-mr-2",attrs:{"name":_vm.titleIcon,"data-testid":"title-icon"}}):_vm._e(),_vm._v(" "),_c('span',{staticClass:"gl-font-base gl-font-weight-normal",attrs:{"data-testid":"title-text"}},[_vm._v(_vm._s(_vm.title))])],1),_vm._v(" "),_c('div',{staticClass:"gl-display-flex gl-align-items-baseline gl-font-weight-bold gl-text-gray-900"},[_c('span',{staticClass:"gl-font-size-h-display",class:{ 'gl-mr-2': !_vm.unit },attrs:{"data-testid":"displayValue"}},[(_vm.canAnimate)?_c('gl-animated-number',{attrs:{"number":Number(_vm.value),"decimal-places":_vm.animationDecimalPlaces},on:{"animating":function($event){return _vm.setHideUnits(true)},"animated":function($event){return _vm.setHideUnits(false)}}}):_c('span',{attrs:{"data-testid":"non-animated-value"}},[_vm._v(_vm._s(_vm.value))])],1),_vm._v(" "),(_vm.unit)?_c('span',{staticClass:"gl-font-sm gl-mr-2 gl-transition-medium gl-opacity-10",class:{ 'gl-opacity-0!': _vm.hideUnits },attrs:{"data-testid":"unit"}},[_vm._v(_vm._s(_vm.unit))]):_vm._e(),_vm._v(" "),(_vm.showMetaIcon)?_c('gl-icon',{class:_vm.textColor,attrs:{"name":_vm.metaIcon,"data-testid":"meta-icon"}}):_vm._e(),_vm._v(" "),(_vm.showBadge)?_c('gl-badge',{attrs:{"variant":_vm.variant,"icon":_vm.metaIcon,"data-testid":"meta-badge"}},[_vm._v(_vm._s(_vm.metaText))]):_vm._e()],1)])};
100
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._g(_vm._b({staticClass:"gl-single-stat gl-display-flex gl-flex-direction-column gl-p-2"},'div',_vm.$attrs,false),_vm.$listeners),[_c('div',{staticClass:"gl-display-flex gl-align-items-center gl-text-gray-700 gl-mb-2"},[(_vm.showTitleIcon)?_c('gl-icon',{staticClass:"gl-mr-2",attrs:{"name":_vm.titleIcon,"data-testid":"title-icon"}}):_vm._e(),_vm._v(" "),_c('span',{staticClass:"gl-font-base gl-font-weight-normal",attrs:{"data-testid":"title-text"}},[_vm._v(_vm._s(_vm.title))])],1),_vm._v(" "),_c('div',{staticClass:"gl-display-flex gl-align-items-baseline gl-font-weight-bold gl-text-gray-900"},[_c('span',{staticClass:"gl-font-size-h-display",class:{ 'gl-mr-2': !_vm.unit },attrs:{"data-testid":"displayValue"}},[(_vm.canAnimate)?_c('gl-animated-number',{attrs:{"number":Number(_vm.value),"decimal-places":_vm.animationDecimalPlaces},on:{"animating":function($event){return _vm.setHideUnits(true)},"animated":function($event){return _vm.setHideUnits(false)}}}):_c('span',{attrs:{"data-testid":"non-animated-value"}},[_vm._v(_vm._s(_vm.value))])],1),_vm._v(" "),(_vm.unit)?_c('span',{staticClass:"gl-font-sm gl-mr-2 gl-transition-medium gl-opacity-10",class:{ 'gl-opacity-0!': _vm.hideUnits },attrs:{"data-testid":"unit"}},[_vm._v(_vm._s(_vm.unit))]):_vm._e(),_vm._v(" "),(_vm.showMetaIcon)?_c('gl-icon',{class:_vm.textColor,attrs:{"name":_vm.metaIcon,"data-testid":"meta-icon"}}):_vm._e(),_vm._v(" "),(_vm.showBadge)?_c('gl-badge',{attrs:{"variant":_vm.variant,"icon":_vm.metaIcon,"data-testid":"meta-badge"}},[_vm._v(_vm._s(_vm.metaText))]):_vm._e()],1)])};
101
101
  var __vue_staticRenderFns__ = [];
102
102
 
103
103
  /* style */
@@ -1,5 +1,5 @@
1
1
  import merge from 'lodash/merge';
2
- import resizeObserver from '../../../directives/resize_observer/resize_observer';
2
+ import { GlResizeObserverDirective } from '../../../directives/resize_observer/resize_observer';
3
3
  import defaultChartOptions, { mergeSeriesToOptions, symbolSize } from '../../../utils/charts/config';
4
4
  import Chart from '../chart/chart';
5
5
  import ChartTooltip from '../tooltip/tooltip';
@@ -12,7 +12,7 @@ var script = {
12
12
  ChartTooltip
13
13
  },
14
14
  directives: {
15
- resizeObserver
15
+ resizeObserver: GlResizeObserverDirective
16
16
  },
17
17
  props: {
18
18
  /**
@@ -1,9 +1,9 @@
1
- import { newButtonSizeOptionsMap } from '../../utils/constants';
1
+ import { buttonSizeOptionsMap } from '../../utils/constants';
2
2
 
3
3
  const ButtonMixin = {
4
4
  computed: {
5
5
  buttonSize() {
6
- return newButtonSizeOptionsMap[this.size];
6
+ return buttonSizeOptionsMap[this.size];
7
7
  }
8
8
 
9
9
  }
@@ -1,4 +1,4 @@
1
- import GlTooltip from '../../../directives/tooltip';
1
+ import { GlTooltipDirective } from '../../../directives/tooltip';
2
2
  import GlButton from '../../base/button/button';
3
3
  import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
4
4
 
@@ -7,7 +7,7 @@ var script = {
7
7
  GlButton
8
8
  },
9
9
  directives: {
10
- GlTooltip
10
+ GlTooltip: GlTooltipDirective
11
11
  },
12
12
  props: {
13
13
  title: {
@@ -1,2 +1 @@
1
- import { VBToggle } from 'bootstrap-vue/esm/index.js';
2
- export { VBToggle as default } from 'bootstrap-vue/esm/index.js';
1
+ export { VBToggle as GlCollapseToggleDirective } from 'bootstrap-vue/esm/index.js';
@@ -1,2 +1 @@
1
- import { VBModal } from 'bootstrap-vue/esm/index.js';
2
- export { VBModal as default } from 'bootstrap-vue/esm/index.js';
1
+ export { VBModal as GlModalDirective } from 'bootstrap-vue/esm/index.js';
@@ -1,7 +1,7 @@
1
1
  import isFunction from 'lodash/isFunction';
2
2
 
3
3
  let observer = null;
4
- const ResizeObserverDirective = {
4
+ const GlResizeObserverDirective = {
5
5
  bind(el, {
6
6
  value: resizeHandler
7
7
  }) {
@@ -34,4 +34,4 @@ const ResizeObserverDirective = {
34
34
 
35
35
  };
36
36
 
37
- export default ResizeObserverDirective;
37
+ export { GlResizeObserverDirective };
@@ -1,2 +1 @@
1
- import { VBTooltip } from 'bootstrap-vue/esm/index.js';
2
- export { VBTooltip as default } from 'bootstrap-vue/esm/index.js';
1
+ export { VBTooltip as GlTooltipDirective } from 'bootstrap-vue/esm/index.js';