UNPKG

@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.

77 lines (62 loc) 1.74 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.translate3d = exports.textAlign = exports.borderRadius = exports.right = exports.left = exports.rtlSpacing = void 0; const leftToRight = (left, right) => ({ theme }) => theme.rtl ? right : left; 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; }; exports.rtlSpacing = rtlSpacing; const left = leftToRight("left", "right"); exports.left = left; const right = leftToRight("right", "left"); exports.right = right; 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; }; exports.borderRadius = borderRadius; 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; }; exports.textAlign = textAlign; 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]})`; }; exports.translate3d = translate3d;