✨(react) add Loader component
The first use of this loader will be inside the DataGrid for its loading state. Its colors are based on the existing primary colors tokens.
This commit is contained in:
34
packages/react/src/components/Loader/index.scss
Normal file
34
packages/react/src/components/Loader/index.scss
Normal file
@@ -0,0 +1,34 @@
|
||||
.c__loader {
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
border-radius: 50%;
|
||||
position: relative;
|
||||
animation: rotate 1s linear infinite
|
||||
}
|
||||
.c__loader::before , .c__loader::after {
|
||||
content: "";
|
||||
box-sizing: border-box;
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
border-radius: 50%;
|
||||
border: 5px solid var(--c--theme--colors--primary-700);
|
||||
animation: prixClipFix 2s linear infinite ;
|
||||
}
|
||||
.c__loader::after{
|
||||
border-color: var(--c--theme--colors--primary-400);
|
||||
animation: prixClipFix 2s linear infinite , rotate 0.5s linear infinite reverse;
|
||||
inset: 6px;
|
||||
}
|
||||
|
||||
@keyframes rotate {
|
||||
0% {transform: rotate(0deg)}
|
||||
100% {transform: rotate(360deg)}
|
||||
}
|
||||
|
||||
@keyframes prixClipFix {
|
||||
0% {clip-path:polygon(50% 50%,0 0,0 0,0 0,0 0,0 0)}
|
||||
25% {clip-path:polygon(50% 50%,0 0,100% 0,100% 0,100% 0,100% 0)}
|
||||
50% {clip-path:polygon(50% 50%,0 0,100% 0,100% 100%,100% 100%,100% 100%)}
|
||||
75% {clip-path:polygon(50% 50%,0 0,100% 0,100% 100%,0 100%,0 100%)}
|
||||
100% {clip-path:polygon(50% 50%,0 0,100% 0,100% 100%,0 100%,0 0)}
|
||||
}
|
||||
Reference in New Issue
Block a user