@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.
45 lines (36 loc) • 1.64 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
var _consts = require("../consts");
var _switchPreferredPosition = _interopRequireDefault(require("./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 = (0, _switchPreferredPosition.default)(theme, preferredPosition);
return [realPreferredPosition].concat((0, _toConsumableArray2.default)(positions.filter(function (p) {
return p !== realPreferredPosition;
})));
};
var getAlign = function getAlign(preferredAlign) {
var aligns = Object.keys(_consts.ALIGNS).map(function (k) {
return _consts.ALIGNS[k];
});
if (!preferredAlign) return aligns;
return [preferredAlign].concat((0, _toConsumableArray2.default)(aligns.filter(function (p) {
return p !== preferredAlign;
})));
};
var sortPositionsAndAligns = function sortPositionsAndAligns(preferredPosition, preferredAlign, theme) {
var positionsObject = theme.rtl ? _consts.RTL_POSITIONS : _consts.POSITIONS;
var positions = getPosition(positionsObject, preferredPosition, theme);
var aligns = getAlign(preferredAlign);
return [positions, aligns];
};
var _default = sortPositionsAndAligns;
exports.default = _default;