Skip to content

Commit edc5e7e

Browse files
authored
feat(transition): pulsating variant
This PR adds a new pulsating transition. Any element getting the looping pulsating transition will have its box border begging for some attention
1 parent d459c42 commit edc5e7e

File tree

3 files changed

+48
-2
lines changed

3 files changed

+48
-2
lines changed

src/definitions/modules/transition.less

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,45 @@
7373
/*******************************
7474
Variations
7575
*******************************/
76-
& when (@variationTransitionLoading) {
76+
& when (@variationTransitionLooping) {
7777
.looping.transition {
7878
animation-iteration-count: infinite;
7979
}
8080
}
8181

82+
& when (@variationTransitionPulsating) {
83+
/* Pulsating */
84+
.pulsating.transition {
85+
animation-name: pulsating;
86+
animation-duration: @pulsatingDuration;
87+
box-shadow: 0 0 0 0 fade(@pulsatingColor, @pulsatingOpacity);
88+
}
89+
& when (@variationTransitionInverted) {
90+
.inverted.pulsating.transition {
91+
box-shadow: 0 0 0 0 fade(@pulsatingInvertedColor, @pulsatingInvertedOpacity);
92+
}
93+
}
94+
@keyframes pulsating {
95+
100% {
96+
box-shadow: 0 0 0 @pulsatingDistance rgba(255,255,255,0);
97+
}
98+
}
99+
& when not (@variationTransitionColors = false) {
100+
each(@variationTransitionColors, {
101+
@color: @value;
102+
@c: @colors[@@color][color];
103+
@l: @colors[@@color][light];
104+
105+
.@{color}.pulsating.transition {
106+
box-shadow: 0 0 0 0 fade(@c, @pulsatingOpacity);
107+
}
108+
& when (@variationTransitionInverted) {
109+
.@{color}.inverted.pulsating.transition {
110+
box-shadow: 0 0 0 0 fade(@l, @pulsatingInvertedOpacity);
111+
}
112+
}
113+
})
114+
}
115+
}
116+
82117
.loadUIOverrides();

src/themes/default/globals/variation.variables

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -716,6 +716,8 @@
716716
/* Transition */
717717
@variationTransitionDisabled: true;
718718
@variationTransitionLoading: true;
719+
@variationTransitionLooping: true;
720+
@variationTransitionInverted: true;
719721
@variationTransitionBrowse: true;
720722
@variationTransitionDrop: true;
721723
@variationTransitionFade: true;
@@ -732,6 +734,8 @@
732734
@variationTransitionPulse: true;
733735
@variationTransitionJiggle: true;
734736
@variationTransitionGlow: true;
737+
@variationTransitionPulsating: true;
738+
@variationTransitionColors: @variationAllColors;
735739

736740
/* Emojis */
737741
@variationEmojiColons: true;

src/themes/default/modules/transition.variables

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,11 @@
77
@transitionDefaultDuration: 300ms;
88

99
@use3DAcceleration: translateZ(0);
10-
@backfaceVisibility: hidden;
10+
@backfaceVisibility: hidden;
11+
12+
@pulsatingColor: #808080;
13+
@pulsatingInvertedColor: #ffffff;
14+
@pulsatingDuration: 2000ms;
15+
@pulsatingDistance: 0.8rem;
16+
@pulsatingOpacity: 50%;
17+
@pulsatingInvertedOpacity: 70%;

0 commit comments

Comments
 (0)