@kiwicom/orbit-components
Version:
Orbit-components is a React component library which provides developers with the easiest possible way of building Kiwi.com’s products.
30 lines (28 loc) • 1.19 kB
JavaScript
import { keyframes, css } from "styled-components";
import { translate3d } from "../utils/rtl";
export const lightAnimation = ({
theme
}) => keyframes(["0%{transform:", ";}100%{transform:", ";}"], translate3d("-100%, 0, 0")({
theme
}), translate3d("0%, 0, 0")({
theme
}));
export const fadeIn = keyframes(["0%{opacity:0;transform:translateY(-20px);}100%{transform:translateY(0px);opacity:1;}"]);
export const fadeOut = keyframes(["0%{opacity:1;transform:translateY(0px);}100%{opacity:0;transform:translateY(-20px);}"]);
const resolveHorizontal = placement => {
if (placement.includes("right")) return "flex-end";
if (placement.includes("center")) return "center";
return "flex-start";
};
export const getPositionStyle = placement => {
return css(["left:0;right:0;display:flex;position:absolute;justify-content:", ";", ";"], resolveHorizontal(placement), placement.includes("top") ? "top: 0" : "bottom: 0");
};
// https://github.com/timolins/react-hot-toast/blob/main/src/components/toaster.tsx#L100
export const createRectRef = onRect => el => {
if (el) {
setTimeout(() => {
const boundingRect = el.getBoundingClientRect();
onRect(boundingRect);
});
}
};