@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.
Files changed (33) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/components/base/animated_icon/animated_chevron_right_down_icon.js +45 -0
  3. package/dist/components/base/animated_icon/animated_duo_chat_icon.js +45 -0
  4. package/dist/components/base/animated_icon/animated_notifications_icon.js +45 -0
  5. package/dist/components/base/animated_icon/animated_sidebar_icon.js +45 -0
  6. package/dist/components/base/animated_icon/animated_smile_icon.js +45 -0
  7. package/dist/components/base/animated_icon/animated_sort_icon.js +45 -0
  8. package/dist/components/base/animated_icon/animated_star_icon.js +45 -0
  9. package/dist/components/base/animated_icon/animated_todo_icon.js +45 -0
  10. package/dist/components/base/animated_icon/animated_upload_icon.js +45 -0
  11. package/dist/components/base/animated_icon/base_animated_icon.js +64 -0
  12. package/dist/index.css +2 -2
  13. package/dist/index.css.map +1 -1
  14. package/dist/tailwind.css +1 -1
  15. package/dist/tailwind.css.map +1 -1
  16. package/dist/utility_classes.css +1 -1
  17. package/dist/utility_classes.css.map +1 -1
  18. package/package.json +4 -4
  19. package/src/components/base/animated_icon/animated_chevron_right_down_icon.vue +28 -0
  20. package/src/components/base/animated_icon/animated_duo_chat_icon.vue +39 -0
  21. package/src/components/base/animated_icon/animated_icon.md +4 -0
  22. package/src/components/base/animated_icon/animated_icon.scss +456 -0
  23. package/src/components/base/animated_icon/animated_notifications_icon.vue +49 -0
  24. package/src/components/base/animated_icon/animated_sidebar_icon.vue +35 -0
  25. package/src/components/base/animated_icon/animated_smile_icon.vue +37 -0
  26. package/src/components/base/animated_icon/animated_sort_icon.vue +84 -0
  27. package/src/components/base/animated_icon/animated_star_icon.vue +27 -0
  28. package/src/components/base/animated_icon/animated_todo_icon.vue +49 -0
  29. package/src/components/base/animated_icon/animated_upload_icon.vue +41 -0
  30. package/src/components/base/animated_icon/base_animated_icon.vue +39 -0
  31. package/src/scss/components.scss +1 -0
  32. package/src/scss/utilities.scss +18 -0
  33. 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>
@@ -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';
@@ -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