@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.
33 lines (29 loc) • 1.31 kB
JavaScript
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
import { ALIGNS, POSITIONS, RTL_POSITIONS } from "../consts";
import switchPreferredPosition from "./switchPreferredPosition";
var getPosition = function getPosition(positionsObject, preferredPosition, theme) {
var positions = Object.keys(positionsObject).map(function (k) {
return positionsObject[k];
});
if (!preferredPosition) return positions;
var realPreferredPosition = switchPreferredPosition(theme, preferredPosition);
return [realPreferredPosition].concat(_toConsumableArray(positions.filter(function (p) {
return p !== realPreferredPosition;
})));
};
var getAlign = function getAlign(preferredAlign) {
var aligns = Object.keys(ALIGNS).map(function (k) {
return ALIGNS[k];
});
if (!preferredAlign) return aligns;
return [preferredAlign].concat(_toConsumableArray(aligns.filter(function (p) {
return p !== preferredAlign;
})));
};
var sortPositionsAndAligns = function sortPositionsAndAligns(preferredPosition, preferredAlign, theme) {
var positionsObject = theme.rtl ? RTL_POSITIONS : POSITIONS;
var positions = getPosition(positionsObject, preferredPosition, theme);
var aligns = getAlign(preferredAlign);
return [positions, aligns];
};
export default sortPositionsAndAligns;