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.

45 lines (36 loc) 1.64 kB
"use strict"; 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;