@gitlab/ui 92.4.0 → 92.5.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 +13 -0
- package/dist/components/base/animated_icon/animated_chevron_right_down_icon.js +45 -0
- package/dist/components/base/animated_icon/animated_duo_chat_icon.js +45 -0
- package/dist/components/base/animated_icon/animated_notifications_icon.js +45 -0
- package/dist/components/base/animated_icon/animated_sidebar_icon.js +45 -0
- package/dist/components/base/animated_icon/animated_smile_icon.js +45 -0
- package/dist/components/base/animated_icon/animated_sort_icon.js +45 -0
- package/dist/components/base/animated_icon/animated_star_icon.js +45 -0
- package/dist/components/base/animated_icon/animated_todo_icon.js +45 -0
- package/dist/components/base/animated_icon/animated_upload_icon.js +45 -0
- package/dist/components/base/animated_icon/base_animated_icon.js +64 -0
- package/dist/index.css +2 -2
- package/dist/index.css.map +1 -1
- package/dist/tailwind.css +1 -1
- package/dist/tailwind.css.map +1 -1
- package/dist/utility_classes.css +1 -1
- package/dist/utility_classes.css.map +1 -1
- package/package.json +4 -4
- package/src/components/base/animated_icon/animated_chevron_right_down_icon.vue +28 -0
- package/src/components/base/animated_icon/animated_duo_chat_icon.vue +39 -0
- package/src/components/base/animated_icon/animated_icon.md +4 -0
- package/src/components/base/animated_icon/animated_icon.scss +456 -0
- package/src/components/base/animated_icon/animated_notifications_icon.vue +49 -0
- package/src/components/base/animated_icon/animated_sidebar_icon.vue +35 -0
- package/src/components/base/animated_icon/animated_smile_icon.vue +37 -0
- package/src/components/base/animated_icon/animated_sort_icon.vue +84 -0
- package/src/components/base/animated_icon/animated_star_icon.vue +27 -0
- package/src/components/base/animated_icon/animated_todo_icon.vue +49 -0
- package/src/components/base/animated_icon/animated_upload_icon.vue +41 -0
- package/src/components/base/animated_icon/base_animated_icon.vue +39 -0
- package/src/scss/components.scss +1 -0
- package/src/scss/utilities.scss +18 -0
- package/src/scss/utility-mixins/animation.scss +9 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
import GlBaseAnimatedIcon from './base_animated_icon.vue';
|
|
3
|
+
|
|
4
|
+
export default {
|
|
5
|
+
name: 'GlAnimatedSortIcon',
|
|
6
|
+
extends: GlBaseAnimatedIcon,
|
|
7
|
+
};
|
|
8
|
+
</script>
|
|
9
|
+
<template>
|
|
10
|
+
<svg
|
|
11
|
+
:class="iconStateClass"
|
|
12
|
+
class="gl-animated-sort-icon"
|
|
13
|
+
:aria-label="ariaLabel"
|
|
14
|
+
width="16"
|
|
15
|
+
height="16"
|
|
16
|
+
viewBox="0 0 16 16"
|
|
17
|
+
fill="none"
|
|
18
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
19
|
+
>
|
|
20
|
+
<path
|
|
21
|
+
class="gl-animated-sort-arrow-left"
|
|
22
|
+
d="M3 1.06065L0.75 3.31065"
|
|
23
|
+
stroke="currentColor"
|
|
24
|
+
stroke-width="1.5"
|
|
25
|
+
stroke-linecap="round"
|
|
26
|
+
/>
|
|
27
|
+
<path
|
|
28
|
+
class="gl-animated-sort-arrow-right"
|
|
29
|
+
d="M5.25 3.31065L3 1.06065"
|
|
30
|
+
stroke="currentColor"
|
|
31
|
+
stroke-width="1.5"
|
|
32
|
+
stroke-linecap="round"
|
|
33
|
+
/>
|
|
34
|
+
<path
|
|
35
|
+
class="gl-animated-sort-long-line-on"
|
|
36
|
+
d="M8.75 2.75L15.25 2.75"
|
|
37
|
+
stroke="currentColor"
|
|
38
|
+
stroke-width="1.5"
|
|
39
|
+
stroke-linecap="round"
|
|
40
|
+
/>
|
|
41
|
+
<path
|
|
42
|
+
class="gl-animated-sort-medium-line-on"
|
|
43
|
+
d="M8.75 6L13.25 6"
|
|
44
|
+
stroke="currentColor"
|
|
45
|
+
stroke-width="1.5"
|
|
46
|
+
stroke-linecap="round"
|
|
47
|
+
/>
|
|
48
|
+
<path
|
|
49
|
+
class="gl-animated-sort-short-line-on"
|
|
50
|
+
d="M8.75 9.25L10.25 9.25"
|
|
51
|
+
stroke="currentColor"
|
|
52
|
+
stroke-width="1.5"
|
|
53
|
+
stroke-linecap="round"
|
|
54
|
+
/>
|
|
55
|
+
<path
|
|
56
|
+
class="gl-animated-sort-long-line-off"
|
|
57
|
+
d="M8.75 13.25L15.25 13.25"
|
|
58
|
+
stroke="currentColor"
|
|
59
|
+
stroke-width="1.5"
|
|
60
|
+
stroke-linecap="round"
|
|
61
|
+
/>
|
|
62
|
+
<path
|
|
63
|
+
class="gl-animated-sort-medium-line-off"
|
|
64
|
+
d="M8.75 10L13.25 10"
|
|
65
|
+
stroke="currentColor"
|
|
66
|
+
stroke-width="1.5"
|
|
67
|
+
stroke-linecap="round"
|
|
68
|
+
/>
|
|
69
|
+
<path
|
|
70
|
+
class="gl-animated-sort-short-line-off"
|
|
71
|
+
d="M8.75 6.75L10.25 6.75"
|
|
72
|
+
stroke="currentColor"
|
|
73
|
+
stroke-width="1.5"
|
|
74
|
+
stroke-linecap="round"
|
|
75
|
+
/>
|
|
76
|
+
<path
|
|
77
|
+
class="gl-animated-sort-line"
|
|
78
|
+
d="M3 13.2506L3 4.0006"
|
|
79
|
+
stroke="currentColor"
|
|
80
|
+
stroke-width="1.5"
|
|
81
|
+
stroke-linecap="round"
|
|
82
|
+
/>
|
|
83
|
+
</svg>
|
|
84
|
+
</template>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
import GlBaseAnimatedIcon from './base_animated_icon.vue';
|
|
3
|
+
|
|
4
|
+
export default {
|
|
5
|
+
name: 'GlAnimatedStarIcon',
|
|
6
|
+
extends: GlBaseAnimatedIcon,
|
|
7
|
+
};
|
|
8
|
+
</script>
|
|
9
|
+
<template>
|
|
10
|
+
<svg
|
|
11
|
+
:class="iconStateClass"
|
|
12
|
+
:aria-label="ariaLabel"
|
|
13
|
+
width="16"
|
|
14
|
+
height="16"
|
|
15
|
+
viewBox="0 0 16 16"
|
|
16
|
+
fill="none"
|
|
17
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
18
|
+
>
|
|
19
|
+
<path
|
|
20
|
+
class="gl-animated-star-shape"
|
|
21
|
+
d="M6.56177 5.79259L8 2.33467L9.43822 5.79259C9.58223 6.13883 9.90785 6.37539 10.2816 6.40536L14.0147 6.70464L11.1705 9.14103C10.8857 9.38498 10.7613 9.76775 10.8484 10.1325L11.7173 13.7754L8.52125 11.8232C8.20124 11.6278 7.79876 11.6278 7.47875 11.8232L4.28269 13.7754L5.15165 10.1325C5.23865 9.76776 5.11428 9.38498 4.82949 9.14103L1.98526 6.70464L5.71837 6.40536C6.09216 6.37539 6.41777 6.13882 6.56177 5.79259Z"
|
|
22
|
+
fill="transparent"
|
|
23
|
+
stroke="currentColor"
|
|
24
|
+
stroke-width="1.5"
|
|
25
|
+
/>
|
|
26
|
+
</svg>
|
|
27
|
+
</template>
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
import GlBaseAnimatedIcon from './base_animated_icon.vue';
|
|
3
|
+
|
|
4
|
+
export default {
|
|
5
|
+
name: 'GlAnimatedTodoIcon',
|
|
6
|
+
extends: GlBaseAnimatedIcon,
|
|
7
|
+
};
|
|
8
|
+
</script>
|
|
9
|
+
<template>
|
|
10
|
+
<svg
|
|
11
|
+
:class="iconStateClass"
|
|
12
|
+
:aria-label="ariaLabel"
|
|
13
|
+
width="16"
|
|
14
|
+
height="16"
|
|
15
|
+
viewBox="0 0 16 16"
|
|
16
|
+
fill="none"
|
|
17
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
18
|
+
>
|
|
19
|
+
<path
|
|
20
|
+
class="gl-animated-todo-box"
|
|
21
|
+
d="M14.25 6.75L14.25 13C14.25 13.6904 13.6904 14.25 13 14.25L3 14.25C2.30964 14.25 1.75 13.6904 1.75 13L1.75 3C1.75 2.30964 2.30964 1.75 3 1.75L13.25 1.75"
|
|
22
|
+
stroke="currentColor"
|
|
23
|
+
stroke-width="1.5"
|
|
24
|
+
stroke-linecap="round"
|
|
25
|
+
/>
|
|
26
|
+
<path
|
|
27
|
+
class="gl-animated-todo-plus-line"
|
|
28
|
+
d="M10.75 3L15.25 3"
|
|
29
|
+
stroke="currentColor"
|
|
30
|
+
stroke-width="1.5"
|
|
31
|
+
stroke-linecap="round"
|
|
32
|
+
/>
|
|
33
|
+
<path
|
|
34
|
+
class="gl-animated-todo-plus-line"
|
|
35
|
+
d="M13 5.25L13 0.75"
|
|
36
|
+
stroke="currentColor"
|
|
37
|
+
stroke-width="1.5"
|
|
38
|
+
stroke-linecap="round"
|
|
39
|
+
/>
|
|
40
|
+
<path
|
|
41
|
+
class="gl-animated-todo-check"
|
|
42
|
+
d="M6.75 7.76299L9.15312 10.2469L15.25 4.15"
|
|
43
|
+
stroke="currentColor"
|
|
44
|
+
stroke-width="1.5"
|
|
45
|
+
stroke-linecap="round"
|
|
46
|
+
stroke-linejoin="round"
|
|
47
|
+
/>
|
|
48
|
+
</svg>
|
|
49
|
+
</template>
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
import GlBaseAnimatedIcon from './base_animated_icon.vue';
|
|
3
|
+
|
|
4
|
+
export default {
|
|
5
|
+
name: 'GlAnimatedUploadIcon',
|
|
6
|
+
extends: GlBaseAnimatedIcon,
|
|
7
|
+
};
|
|
8
|
+
</script>
|
|
9
|
+
<template>
|
|
10
|
+
<svg
|
|
11
|
+
:class="iconStateClass"
|
|
12
|
+
:aria-label="ariaLabel"
|
|
13
|
+
width="16"
|
|
14
|
+
height="16"
|
|
15
|
+
viewBox="0 0 16 16"
|
|
16
|
+
fill="none"
|
|
17
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
18
|
+
>
|
|
19
|
+
<path
|
|
20
|
+
class="gl-animated-upload-base"
|
|
21
|
+
d="M14.25 9.75V13C14.25 13.6904 13.6904 14.25 13 14.25L3 14.25C2.30964 14.25 1.75 13.6904 1.75 13L1.75 9.75"
|
|
22
|
+
stroke="currentColor"
|
|
23
|
+
stroke-width="1.5"
|
|
24
|
+
stroke-linecap="round"
|
|
25
|
+
/>
|
|
26
|
+
<path
|
|
27
|
+
class="gl-animated-upload-line"
|
|
28
|
+
d="M8 11.25V2.5"
|
|
29
|
+
stroke="currentColor"
|
|
30
|
+
stroke-width="1.5"
|
|
31
|
+
stroke-linecap="round"
|
|
32
|
+
/>
|
|
33
|
+
<path
|
|
34
|
+
class="gl-animated-upload-arrow"
|
|
35
|
+
d="M11.25 5.31066L8 2.06066L4.75 5.31066"
|
|
36
|
+
stroke="currentColor"
|
|
37
|
+
stroke-width="1.5"
|
|
38
|
+
stroke-linecap="round"
|
|
39
|
+
/>
|
|
40
|
+
</svg>
|
|
41
|
+
</template>
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
export default {
|
|
3
|
+
name: 'GlBaseAnimatedIcon',
|
|
4
|
+
props: {
|
|
5
|
+
/**
|
|
6
|
+
* Accessible icon name used by screen readers and other assistive technologies.
|
|
7
|
+
* Provide when icon is not merely decorative
|
|
8
|
+
*/
|
|
9
|
+
ariaLabel: {
|
|
10
|
+
type: String,
|
|
11
|
+
required: false,
|
|
12
|
+
default: undefined,
|
|
13
|
+
},
|
|
14
|
+
isOn: {
|
|
15
|
+
type: Boolean,
|
|
16
|
+
required: false,
|
|
17
|
+
default: false,
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
computed: {
|
|
21
|
+
iconStateClass() {
|
|
22
|
+
return this.isOn
|
|
23
|
+
? 'gl-animated-icon gl-animated-icon-on'
|
|
24
|
+
: 'gl-animated-icon gl-animated-icon-off';
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
</script>
|
|
29
|
+
<template>
|
|
30
|
+
<svg
|
|
31
|
+
:class="iconStateClass"
|
|
32
|
+
:aria-label="ariaLabel"
|
|
33
|
+
width="16"
|
|
34
|
+
height="16"
|
|
35
|
+
viewBox="0 0 16 16"
|
|
36
|
+
fill="none"
|
|
37
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
38
|
+
/>
|
|
39
|
+
</template>
|
package/src/scss/components.scss
CHANGED
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
@import '../components/base/avatar_labeled/avatar_labeled';
|
|
20
20
|
@import '../components/base/avatar_link/avatar_link';
|
|
21
21
|
@import '../components/base/avatars_inline/avatars_inline';
|
|
22
|
+
@import '../components/base/animated_icon/animated_icon';
|
|
22
23
|
@import '../components/base/badge/badge';
|
|
23
24
|
@import '../components/base/breadcrumb/breadcrumb';
|
|
24
25
|
@import '../components/base/banner/banner';
|
package/src/scss/utilities.scss
CHANGED
|
@@ -76,12 +76,30 @@ $gl-animate-skeleton-loader-max-width: 64 * $grid-size;
|
|
|
76
76
|
.gl-prefers-reduced-motion-transition {
|
|
77
77
|
@media (prefers-reduced-motion) {
|
|
78
78
|
transition-duration: .01ms !important;
|
|
79
|
+
transition-delay: 0ms !important;
|
|
79
80
|
}
|
|
80
81
|
}
|
|
81
82
|
|
|
82
83
|
.gl-prefers-reduced-motion-transition\! {
|
|
83
84
|
@media (prefers-reduced-motion) {
|
|
84
85
|
transition-duration: .01ms !important;
|
|
86
|
+
transition-delay: 0ms !important;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.gl-prefers-reduced-motion-animation {
|
|
91
|
+
@media (prefers-reduced-motion) {
|
|
92
|
+
animation-duration: .01ms !important;
|
|
93
|
+
animation-iteration-count: 1 !important;
|
|
94
|
+
animation-delay: 0ms !important;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.gl-prefers-reduced-motion-animation\! {
|
|
99
|
+
@media (prefers-reduced-motion) {
|
|
100
|
+
animation-duration: .01ms !important;
|
|
101
|
+
animation-iteration-count: 1 !important;
|
|
102
|
+
animation-delay: 0ms !important;
|
|
85
103
|
}
|
|
86
104
|
}
|
|
87
105
|
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
@mixin gl-prefers-reduced-motion-transition {
|
|
2
2
|
@media (prefers-reduced-motion) {
|
|
3
3
|
transition-duration: .01ms !important;
|
|
4
|
+
transition-delay: 0ms !important;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
@mixin gl-prefers-reduced-motion-animation {
|
|
9
|
+
@media (prefers-reduced-motion) {
|
|
10
|
+
animation-duration: .01ms !important;
|
|
11
|
+
animation-iteration-count: 1 !important;
|
|
12
|
+
animation-delay: 0ms !important;
|
|
4
13
|
}
|
|
5
14
|
}
|
|
6
15
|
|