Skip to content

Instantly share code, notes, and snippets.

@jaf7
Forked from knowbody/Spinner.js
Created July 23, 2020 18:15
Show Gist options
  • Save jaf7/96adb3de9ea10d1a369f647bad7b22af to your computer and use it in GitHub Desktop.
Save jaf7/96adb3de9ea10d1a369f647bad7b22af to your computer and use it in GitHub Desktop.
Spinner - using styled-components
import React from 'react';
import styled from 'styled-components';
const Spinner = () => (
<StyledSpinner viewBox="0 0 50 50">
<circle
className="path"
cx="25"
cy="25"
r="20"
fill="none"
strokeWidth="4"
/>
</StyledSpinner>
);
const StyledSpinner = styled.svg`
animation: rotate 2s linear infinite;
margin: -25px 0 0 -25px;
width: 50px;
height: 50px;
& .path {
stroke: #5652BF;
stroke-linecap: round;
animation: dash 1.5s ease-in-out infinite;
}
@keyframes rotate {
100% {
transform: rotate(360deg);
}
}
@keyframes dash {
0% {
stroke-dasharray: 1, 150;
stroke-dashoffset: 0;
}
50% {
stroke-dasharray: 90, 150;
stroke-dashoffset: -35;
}
100% {
stroke-dasharray: 90, 150;
stroke-dashoffset: -124;
}
}
`;
export default Spinner;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment