@gitlab/ui 32.25.0 → 32.29.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 (39) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/components/base/banner/banner.js +10 -1
  3. package/dist/components/base/breadcrumb/breadcrumb.js +10 -2
  4. package/dist/components/base/toggle/toggle.js +14 -10
  5. package/dist/index.css +2 -2
  6. package/dist/index.css.map +1 -1
  7. package/dist/utility_classes.css +1 -1
  8. package/dist/utility_classes.css.map +1 -1
  9. package/package.json +2 -2
  10. package/scss_to_js/scss_variables.js +5 -4
  11. package/scss_to_js/scss_variables.json +40 -8
  12. package/src/components/base/banner/banner.stories.js +8 -0
  13. package/src/components/base/banner/banner.vue +9 -1
  14. package/src/components/base/breadcrumb/breadcrumb.scss +18 -2
  15. package/src/components/base/breadcrumb/breadcrumb.stories.js +1 -4
  16. package/src/components/base/breadcrumb/breadcrumb.vue +22 -11
  17. package/src/components/base/dropdown/dropdown.scss +2 -0
  18. package/src/components/base/form/form_select/form_select.scss +1 -0
  19. package/src/components/base/label/label.scss +4 -0
  20. package/src/components/base/pagination/pagination.scss +1 -1
  21. package/src/components/base/search_box_by_click/search_box_by_click.scss +1 -0
  22. package/src/components/base/segmented_control/segmented_control.scss +1 -0
  23. package/src/components/base/table/table.scss +1 -0
  24. package/src/components/base/toast/toast.scss +1 -0
  25. package/src/components/base/toggle/toggle.spec.js +14 -9
  26. package/src/components/base/toggle/toggle.stories.js +3 -0
  27. package/src/components/base/toggle/toggle.vue +38 -31
  28. package/src/components/base/tooltip/tooltip.scss +1 -0
  29. package/src/scss/mixins.scss +49 -1
  30. package/src/scss/mixins.spec.scss +103 -0
  31. package/src/scss/utilities.scss +168 -168
  32. package/src/scss/utility-mixins/border.scss +1 -1
  33. package/src/scss/utility-mixins/color.scss +1 -1
  34. package/src/scss/utility-mixins/display.scss +17 -17
  35. package/src/scss/utility-mixins/flex.scss +26 -26
  36. package/src/scss/utility-mixins/sizing.scss +5 -5
  37. package/src/scss/utility-mixins/spacing.scss +33 -33
  38. package/src/scss/utility-mixins/typography.scss +1 -1
  39. package/src/scss/variables.scss +13 -4
package/CHANGELOG.md CHANGED
@@ -1,3 +1,31 @@
1
+ # [32.29.0](https://gitlab.com/gitlab-org/gitlab-ui/compare/v32.28.0...v32.29.0) (2021-10-29)
2
+
3
+
4
+ ### Features
5
+
6
+ * **Toggle:** Update label semantics for accessibility ([a16af22](https://gitlab.com/gitlab-org/gitlab-ui/commit/a16af22246dbd4e886ca8ac4640bf9c44da5c995))
7
+
8
+ # [32.28.0](https://gitlab.com/gitlab-org/gitlab-ui/compare/v32.27.0...v32.28.0) (2021-10-28)
9
+
10
+
11
+ ### Features
12
+
13
+ * **css:** Use px in breakpoints instead of rem ([d107ae6](https://gitlab.com/gitlab-org/gitlab-ui/commit/d107ae68b9201a677e96fea7c19d479802f721fb))
14
+
15
+ # [32.27.0](https://gitlab.com/gitlab-org/gitlab-ui/compare/v32.26.0...v32.27.0) (2021-10-28)
16
+
17
+
18
+ ### Features
19
+
20
+ * **GlBanner:** Add embedded prop to gl-banner ([e0669e3](https://gitlab.com/gitlab-org/gitlab-ui/commit/e0669e328fd396276c47bd246864af9108b2688d))
21
+
22
+ # [32.26.0](https://gitlab.com/gitlab-org/gitlab-ui/compare/v32.25.0...v32.26.0) (2021-10-27)
23
+
24
+
25
+ ### Features
26
+
27
+ * **breadcrumb:** Set default separator and fix spacing ([95a7fc8](https://gitlab.com/gitlab-org/gitlab-ui/commit/95a7fc8e3ff3a06feb77ea7cdbfa7255b6f2c3f7))
28
+
1
29
  # [32.25.0](https://gitlab.com/gitlab-org/gitlab-ui/compare/v32.24.1...v32.25.0) (2021-10-26)
2
30
 
3
31
 
@@ -56,6 +56,15 @@ var script = {
56
56
  return bannerVariants.includes(value);
57
57
  }
58
58
 
59
+ },
60
+
61
+ /**
62
+ * Removes the border for banners embedded in content.
63
+ */
64
+ embedded: {
65
+ type: Boolean,
66
+ required: false,
67
+ default: null
59
68
  }
60
69
  },
61
70
  computed: {
@@ -92,7 +101,7 @@ var script = {
92
101
  const __vue_script__ = script;
93
102
 
94
103
  /* template */
95
- var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('gl-card',{staticClass:"gl-px-8 gl-py-6 gl-line-height-20",class:{ 'gl-banner-introduction': _vm.isIntroducing },attrs:{"body-class":"gl-display-flex gl-p-0!"}},[(_vm.svgPath)?_c('div',{staticClass:"gl-banner-illustration"},[_c('img',{attrs:{"src":_vm.svgPath,"alt":"","role":"presentation"}})]):_vm._e(),_vm._v(" "),_c('div',{staticClass:"gl-banner-content"},[_c('h1',{staticClass:"gl-banner-title"},[_vm._v(_vm._s(_vm.title))]),_vm._v(" "),_vm._t("default"),_vm._v(" "),_c('gl-button',{attrs:{"variant":"confirm","category":"primary","data-testid":"gl-banner-primary-button","href":_vm.buttonLink},on:{"click":_vm.primaryButtonClicked}},[_vm._v(_vm._s(_vm.buttonText))]),_vm._v(" "),_vm._t("actions")],2),_vm._v(" "),_c('gl-button',{staticClass:"gl-banner-close",attrs:{"variant":_vm.isIntroducing ? 'confirm' : 'default',"category":"tertiary","size":"small","icon":"close","aria-label":"Close banner"},on:{"click":_vm.handleClose}})],1)};
104
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('gl-card',{staticClass:"gl-px-8 gl-py-6 gl-line-height-20",class:{ 'gl-banner-introduction': _vm.isIntroducing, 'gl-border-none!': _vm.embedded },attrs:{"body-class":"gl-display-flex gl-p-0!"}},[(_vm.svgPath)?_c('div',{staticClass:"gl-banner-illustration"},[_c('img',{attrs:{"src":_vm.svgPath,"alt":"","role":"presentation"}})]):_vm._e(),_vm._v(" "),_c('div',{staticClass:"gl-banner-content"},[_c('h1',{staticClass:"gl-banner-title"},[_vm._v(_vm._s(_vm.title))]),_vm._v(" "),_vm._t("default"),_vm._v(" "),_c('gl-button',{attrs:{"variant":"confirm","category":"primary","data-testid":"gl-banner-primary-button","href":_vm.buttonLink},on:{"click":_vm.primaryButtonClicked}},[_vm._v(_vm._s(_vm.buttonText))]),_vm._v(" "),_vm._t("actions")],2),_vm._v(" "),_c('gl-button',{staticClass:"gl-banner-close",attrs:{"variant":_vm.isIntroducing ? 'confirm' : 'default',"category":"tertiary","size":"small","icon":"close","aria-label":"Close banner"},on:{"click":_vm.handleClose}})],1)};
96
105
  var __vue_staticRenderFns__ = [];
97
106
 
98
107
  /* style */
@@ -1,10 +1,12 @@
1
1
  import { BBreadcrumb, BBreadcrumbItem } from 'bootstrap-vue/esm/index.js';
2
+ import GlIcon from '../icon/icon';
2
3
  import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
3
4
 
4
5
  var script = {
5
6
  components: {
6
7
  BBreadcrumb,
7
- BBreadcrumbItem
8
+ BBreadcrumbItem,
9
+ GlIcon
8
10
  },
9
11
  inheritAttrs: false,
10
12
  props: {
@@ -25,6 +27,12 @@ var script = {
25
27
  });
26
28
  }
27
29
  }
30
+ },
31
+ methods: {
32
+ isLastItem(items, index) {
33
+ return index === items.length - 1;
34
+ }
35
+
28
36
  }
29
37
  };
30
38
 
@@ -32,7 +40,7 @@ var script = {
32
40
  const __vue_script__ = script;
33
41
 
34
42
  /* template */
35
- var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"gl-breadcrumbs"},[_c('b-breadcrumb',_vm._g(_vm._b({staticClass:"gl-breadcrumb-list"},'b-breadcrumb',_vm.$attrs,false),_vm.$listeners),[_vm._t("avatar"),_vm._v(" "),_vm._l((_vm.items),function(item,index){return [_c('b-breadcrumb-item',{key:index,staticClass:"gl-breadcrumb-item",attrs:{"text":item.text,"href":item.href,"to":item.to}}),_vm._v(" "),(index != _vm.items.length - 1)?_c('span',{key:("index " + (item.text)),staticClass:"gl-breadcrumb-separator",attrs:{"data-testid":"separator"}},[_vm._t("separator")],2):_vm._e()]})],2)],1)};
43
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"gl-breadcrumbs"},[_vm._t("avatar"),_vm._v(" "),_c('b-breadcrumb',_vm._g(_vm._b({staticClass:"gl-breadcrumb-list"},'b-breadcrumb',_vm.$attrs,false),_vm.$listeners),[_vm._l((_vm.items),function(item,index){return [_c('b-breadcrumb-item',{key:index,staticClass:"gl-breadcrumb-item",attrs:{"text":item.text,"href":item.href,"to":item.to}},[_c('span',[_vm._v(_vm._s(item.text))]),_vm._v(" "),(!_vm.isLastItem(_vm.items, index))?_c('span',{key:(index + " " + (item.text)),staticClass:"gl-breadcrumb-separator",attrs:{"data-testid":"separator"}},[_vm._t("separator",[_c('gl-icon',{attrs:{"name":"chevron-right"}})])],2):_vm._e()])]})],2)],2)};
36
44
  var __vue_staticRenderFns__ = [];
37
45
 
38
46
  /* style */
@@ -66,7 +66,15 @@ var script = {
66
66
  },
67
67
 
68
68
  /**
69
- * The label's position relative to the toggle.
69
+ * The id for the label. This id is used by the aria-labelledby attribute on the toggle button.
70
+ */
71
+ labelId: {
72
+ type: String,
73
+ required: true
74
+ },
75
+
76
+ /**
77
+ * The label's position relative to the toggle. If 'hidden', the toggle will add the .gl-sr-only class so the label is still accessible to screen readers.
70
78
  */
71
79
  labelPosition: {
72
80
  type: String,
@@ -84,10 +92,6 @@ var script = {
84
92
  return this.value ? 'mobile-issue-close' : 'close';
85
93
  },
86
94
 
87
- shouldShowLabel() {
88
- return this.label && this.labelPosition !== 'hidden';
89
- },
90
-
91
95
  helpId() {
92
96
  return this.help ? `toggle-help-${this.uuid}` : undefined;
93
97
  },
@@ -123,11 +127,11 @@ var script = {
123
127
  const __vue_script__ = script;
124
128
 
125
129
  /* template */
126
- var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{staticClass:"gl-display-flex gl-flex-direction-column gl-mb-0 gl-w-max-content"},[_c('span',{staticClass:"gl-toggle-wrapper",class:{ 'gl-toggle-label-inline': _vm.labelPosition === 'left', 'is-disabled': _vm.disabled }},[(_vm.shouldShowLabel)?_c('span',{staticClass:"gl-toggle-label",attrs:{"data-testid":"toggle-label"}},[_vm._t("label",[_vm._v(_vm._s(_vm.label))])],2):_vm._e(),_vm._v(" "),(_vm.name)?_c('input',{attrs:{"name":_vm.name,"type":"hidden"},domProps:{"value":_vm.value}}):_vm._e(),_vm._v(" "),_c('button',{class:{
127
- 'gl-toggle': true,
128
- 'is-checked': _vm.value,
129
- 'is-disabled': _vm.disabled,
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()])};
130
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"gl-toggle-wrapper gl-display-flex gl-flex-direction-column gl-mb-0 gl-w-max-content",class:{ 'gl-toggle-label-inline': _vm.labelPosition === 'left', 'is-disabled': _vm.disabled }},[_c('span',{staticClass:"gl-toggle-label",class:{ 'gl-sr-only': _vm.labelPosition === 'hidden' },attrs:{"id":_vm.labelId,"data-testid":"toggle-label"}},[_vm._t("label",[_vm._v(_vm._s(_vm.label))])],2),_vm._v(" "),(_vm.name)?_c('input',{attrs:{"name":_vm.name,"type":"hidden"},domProps:{"value":_vm.value}}):_vm._e(),_vm._v(" "),_c('button',{class:{
131
+ 'gl-toggle': true,
132
+ 'is-checked': _vm.value,
133
+ 'is-disabled': _vm.disabled,
134
+ },attrs:{"role":"switch","aria-checked":_vm.isChecked,"aria-labelledby":_vm.labelId,"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()])};
131
135
  var __vue_staticRenderFns__ = [];
132
136
 
133
137
  /* style */