@daimo/pay
Version:
Seamless crypto payments. Onboard users from any chain, any coin into your app with one click.
118 lines (115 loc) • 2.41 kB
JavaScript
import { motion } from 'framer-motion';
import { css } from 'styled-components';
import styled from '../../../styles/styled/index.js';
const LogoContainer = styled(motion.div)`
z-index: 4;
position: relative;
width: 100px;
height: 100px;
svg {
z-index: 3;
position: relative;
display: block;
}
`;
const Logo = styled(motion.div)`
z-index: 2;
position: absolute;
overflow: hidden;
inset: 6px;
border-radius: 50px;
background: var(--ck-body-background);
display: flex;
align-items: center;
justify-content: center;
svg,
img {
pointer-events: none;
display: block;
margin: 0 auto;
width: 100%;
height: 100%;
${(props) => props.$small && css`
width: 85%;
height: 85%;
`}
}
`;
const SpinnerContainer = styled(motion.div)`
position: absolute;
inset: -2px;
`;
const ExpiringSpinner = styled(motion.div)`
pointer-events: none;
user-select: none;
z-index: 1;
position: absolute;
inset: -25%;
background: var(--ck-body-background);
div:first-child {
position: absolute;
left: 50%;
right: 0;
top: 0;
bottom: 0;
overflow: hidden;
&:before {
position: absolute;
content: "";
inset: 0;
background: var(--ck-spinner-color);
transform-origin: 0% 50%;
animation: rotateExpiringSpinner 5000ms ease-in both;
}
}
div:last-child {
position: absolute;
left: 0;
right: 50%;
top: 0;
bottom: 0;
overflow: hidden;
&:before {
position: absolute;
content: "";
inset: 0;
background: var(--ck-spinner-color);
transform-origin: 100% 50%;
animation: rotateExpiringSpinner 5000ms ease-out 5000ms both;
}
}
@keyframes rotateExpiringSpinner {
0% {
transform: rotate(-180deg);
}
100% {
transform: rotate(0deg);
}
}
`;
const Spinner = styled(motion.div)`
pointer-events: none;
user-select: none;
z-index: 1;
position: absolute;
inset: 0;
svg {
display: block;
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
animation: rotateSpinner 1200ms linear infinite;
}
@keyframes rotateSpinner {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
`;
export { ExpiringSpinner, Logo, LogoContainer, Spinner, SpinnerContainer };
//# sourceMappingURL=styles.js.map