@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.
57 lines (51 loc) • 1.39 kB
JavaScript
const leftToRight = (left, right) => ({
theme
}) => theme.rtl ? right : left;
export const rtlSpacing = value => ({
theme
}) => {
if (!theme.rtl) {
return value;
}
const parts = value.split(" ").filter(part => !Number.isNaN(parseFloat(part)) && part);
return parts.length === 4 ? [parts[0], parts[3], parts[2], parts[1]].join(" ") : value;
};
export const left = leftToRight("left", "right");
export const right = leftToRight("right", "left");
export const borderRadius = value => ({
theme
}) => {
if (!theme.rtl) {
return value;
}
const parts = value.split(" ").filter(part => !Number.isNaN(parseFloat(part)) && part);
return parts.length === 4 ? [parts[1], parts[0], parts[3], parts[2]].join(" ") : value;
};
export const textAlign = value => ({
theme
}) => {
if (theme.rtl) {
if (value === "left") {
return leftToRight("left", "right")({
theme
});
}
if (value === "right") {
return leftToRight("right", "left")({
theme
});
}
}
return value;
};
export const translate3d = value => ({
theme
}) => {
if (!theme.rtl) {
return `translate3d(${value})`;
}
const parts = value.split(",").filter(part => !Number.isNaN(parseFloat(part)) && part);
const x = parts[0];
const newX = x[0] === "-" ? x.slice(1) : `-${x}`;
return `translate3d(${newX},${parts[1]},${parts[2]})`;
};