@gitlab/ui 61.3.0 → 62.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +25 -0
- package/dist/components/base/avatar/avatar.js +36 -1
- package/dist/components/base/daterange_picker/daterange_picker.js +1 -1
- package/dist/components/base/token_selector/token_container.js +1 -1
- package/dist/index.css.map +1 -1
- package/dist/utility_classes.css +1 -1
- package/dist/utility_classes.css.map +1 -1
- package/package.json +2 -2
- package/src/components/base/avatar/avatar.spec.js +32 -0
- package/src/components/base/avatar/avatar.stories.js +16 -0
- package/src/components/base/avatar/avatar.vue +37 -1
- package/src/components/base/daterange_picker/daterange_picker.vue +1 -1
- package/src/components/base/token_selector/token_container.vue +1 -1
- package/src/scss/utilities.scss +0 -72
- package/src/scss/utility-mixins/flex.scss +0 -41
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,28 @@
|
|
|
1
|
+
# [62.1.0](https://gitlab.com/gitlab-org/gitlab-ui/compare/v62.0.0...v62.1.0) (2023-04-20)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* **GlAvatar:** Add image load error fallback support ([9960d86](https://gitlab.com/gitlab-org/gitlab-ui/commit/9960d86ccda15d7afe08528cba1892fbfd7cca25))
|
|
7
|
+
|
|
8
|
+
# [62.0.0](https://gitlab.com/gitlab-org/gitlab-ui/compare/v61.3.0...v62.0.0) (2023-04-19)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Code Refactoring
|
|
12
|
+
|
|
13
|
+
* remove gl-*flex-wrap-wrap classes ([fc405cc](https://gitlab.com/gitlab-org/gitlab-ui/commit/fc405cc59dc743209c0ea00a583b31cb77fc1218))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### BREAKING CHANGES
|
|
17
|
+
|
|
18
|
+
* remove deprecated `gl-[breakpoint?]-flex-wrap-wrap`,
|
|
19
|
+
`gl-[breakpoint?]-flex-wrap-nowrap`, and
|
|
20
|
+
`gl-[breakpoint?]-flex-wrap-wrap-reverse` classes.
|
|
21
|
+
|
|
22
|
+
Instead, use these classes: `gl-[breakpoint?]-flex-wrap`,
|
|
23
|
+
`gl-[breakpoint?]-flex-nowrap`, and
|
|
24
|
+
`gl-[breakpoint?]-flex-wrap-reverse`.
|
|
25
|
+
|
|
1
26
|
# [61.3.0](https://gitlab.com/gitlab-org/gitlab-ui/compare/v61.2.0...v61.3.0) (2023-04-19)
|
|
2
27
|
|
|
3
28
|
|
|
@@ -23,6 +23,14 @@ var script = {
|
|
|
23
23
|
required: false,
|
|
24
24
|
default: ''
|
|
25
25
|
},
|
|
26
|
+
/**
|
|
27
|
+
* Show fallback identicon when image fails to load
|
|
28
|
+
*/
|
|
29
|
+
fallbackOnError: {
|
|
30
|
+
type: Boolean,
|
|
31
|
+
required: false,
|
|
32
|
+
default: false
|
|
33
|
+
},
|
|
26
34
|
alt: {
|
|
27
35
|
type: String,
|
|
28
36
|
required: false,
|
|
@@ -51,6 +59,11 @@ var script = {
|
|
|
51
59
|
default: avatarShapeOptions.circle
|
|
52
60
|
}
|
|
53
61
|
},
|
|
62
|
+
data() {
|
|
63
|
+
return {
|
|
64
|
+
imageLoadError: false
|
|
65
|
+
};
|
|
66
|
+
},
|
|
54
67
|
computed: {
|
|
55
68
|
sizeClasses() {
|
|
56
69
|
if (isNumber(this.size)) {
|
|
@@ -78,6 +91,28 @@ var script = {
|
|
|
78
91
|
},
|
|
79
92
|
identiconText() {
|
|
80
93
|
return getAvatarChar(this.entityName);
|
|
94
|
+
},
|
|
95
|
+
showImage() {
|
|
96
|
+
// Don't show when image is not present
|
|
97
|
+
if (!this.src) {
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
// Don't show when fallbackOnError is true and there was failure to load image
|
|
101
|
+
if (this.src && this.fallbackOnError && this.imageLoadError) {
|
|
102
|
+
return false;
|
|
103
|
+
}
|
|
104
|
+
return true;
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
watch: {
|
|
108
|
+
src(newSrc, oldSrc) {
|
|
109
|
+
if (newSrc !== oldSrc) this.imageLoadError = false;
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
methods: {
|
|
113
|
+
handleLoadError(event) {
|
|
114
|
+
this.imageLoadError = true;
|
|
115
|
+
this.$emit('load-error', event);
|
|
81
116
|
}
|
|
82
117
|
}
|
|
83
118
|
};
|
|
@@ -86,7 +121,7 @@ var script = {
|
|
|
86
121
|
const __vue_script__ = script;
|
|
87
122
|
|
|
88
123
|
/* template */
|
|
89
|
-
var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.
|
|
124
|
+
var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.showImage)?_c('img',{class:['gl-avatar', { 'gl-avatar-circle': _vm.isCircle }, _vm.sizeClasses],attrs:{"src":_vm.src,"alt":_vm.alt},on:{"error":_vm.handleLoadError}}):_c('div',{class:[
|
|
90
125
|
'gl-avatar gl-avatar-identicon',
|
|
91
126
|
{ 'gl-avatar-circle': _vm.isCircle },
|
|
92
127
|
_vm.sizeClasses,
|
|
@@ -4,7 +4,7 @@ import GlDatepicker from '../datepicker/datepicker';
|
|
|
4
4
|
import GlIcon from '../icon/icon';
|
|
5
5
|
import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
|
|
6
6
|
|
|
7
|
-
const CONTAINER_CLASSES = ['gl-display-flex', 'gl-align-items-baseline', 'gl-flex-wrap', 'gl-sm-flex-
|
|
7
|
+
const CONTAINER_CLASSES = ['gl-display-flex', 'gl-align-items-baseline', 'gl-flex-wrap', 'gl-sm-flex-nowrap', 'gl-sm-gap-3'];
|
|
8
8
|
var script = {
|
|
9
9
|
name: 'GlDaterangePicker',
|
|
10
10
|
components: {
|
|
@@ -130,7 +130,7 @@ var script = {
|
|
|
130
130
|
const __vue_script__ = script;
|
|
131
131
|
|
|
132
132
|
/* template */
|
|
133
|
-
var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"gl-display-flex gl-flex-
|
|
133
|
+
var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"gl-display-flex gl-flex-nowrap gl-align-items-flex-start gl-w-full"},[_c('div',{ref:"tokenContainer",staticClass:"gl-display-flex gl-flex-wrap gl-align-items-center gl-my-n1 gl-mx-n1 gl-w-full",attrs:{"role":"listbox","aria-multiselectable":"false","aria-orientation":"horizontal","aria-invalid":_vm.state === false && 'true'},on:{"keydown":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"left",37,$event.key,["Left","ArrowLeft"])){ return null; }if('button' in $event && $event.button !== 0){ return null; }return _vm.handleLeftArrow.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"right",39,$event.key,["Right","ArrowRight"])){ return null; }if('button' in $event && $event.button !== 2){ return null; }return _vm.handleRightArrow.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"home",undefined,$event.key,undefined)){ return null; }return _vm.handleHome.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"end",undefined,$event.key,undefined)){ return null; }return _vm.handleEnd.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"delete",[8,46],$event.key,["Backspace","Delete","Del"])){ return null; }return _vm.handleDelete.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"esc",27,$event.key,["Esc","Escape"])){ return null; }return _vm.handleEscape.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"tab",9,$event.key,"Tab")){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();return _vm.handleTab.apply(null, arguments)}]}},[_vm._l((_vm.tokens),function(token,index){return _c('div',{key:token.id,ref:"tokens",refInFor:true,staticClass:"gl-token-selector-token-container gl-px-1 gl-py-2 gl-outline-none",attrs:{"data-token-id":token.id,"role":"option","tabindex":"-1"},on:{"focus":function($event){_vm.bindFocusEvent ? _vm.handleTokenFocus(index) : null;}}},[_c('gl-token',{staticClass:"gl-cursor-default",class:token.class,style:(token.style),attrs:{"view-only":_vm.viewOnly},on:{"close":function($event){return _vm.handleClose(token)}}},[_vm._t("token-content",function(){return [_c('span',[_vm._v("\n "+_vm._s(token.name)+"\n ")])]},{"token":token})],2)],1)}),_vm._v(" "),_vm._t("text-input")],2),_vm._v(" "),(_vm.showClearAllButton)?_c('div',{staticClass:"gl-ml-3 gl-p-1"},[_c('gl-button',{attrs:{"size":"small","aria-label":"Clear all","icon":"clear","category":"tertiary","data-testid":"clear-all-button"},on:{"click":function($event){$event.stopPropagation();return _vm.$emit('clear-all')}}})],1):_vm._e()])};
|
|
134
134
|
var __vue_staticRenderFns__ = [];
|
|
135
135
|
|
|
136
136
|
/* style */
|