UNPKG

@gechiui/components

Version:
82 lines (69 loc) 2.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.GRID = exports.ALIGNMENT_LABEL = exports.ALIGNMENTS = void 0; exports.getAlignmentIndex = getAlignmentIndex; exports.getItemId = getItemId; exports.transformValue = transformValue; var _lodash = require("lodash"); var _i18n = require("@gechiui/i18n"); /** * External dependencies */ /** * GeChiUI dependencies */ const GRID = [['top left', 'top center', 'top right'], ['center left', 'center center', 'center right'], ['bottom left', 'bottom center', 'bottom right']]; // Stored as map as i18n __() only accepts strings (not variables) exports.GRID = GRID; const ALIGNMENT_LABEL = { 'top left': (0, _i18n.__)('左上角'), 'top center': (0, _i18n.__)('顶部中心'), 'top right': (0, _i18n.__)('右上角'), 'center left': (0, _i18n.__)('中间左侧'), 'center center': (0, _i18n.__)('正中部'), 'center right': (0, _i18n.__)('中间右侧'), 'bottom left': (0, _i18n.__)('左下角'), 'bottom center': (0, _i18n.__)('底部中心'), 'bottom right': (0, _i18n.__)('右下角') }; // Transforms GRID into a flat Array of values exports.ALIGNMENT_LABEL = ALIGNMENT_LABEL; const ALIGNMENTS = (0, _lodash.flattenDeep)(GRID); /** * Parses and transforms an incoming value to better match the alignment values * * @param {string} value An alignment value to parse. * * @return {string} The parsed value. */ exports.ALIGNMENTS = ALIGNMENTS; function transformValue(value) { const nextValue = value === 'center' ? 'center center' : value; return nextValue.replace('-', ' '); } /** * Creates an item ID based on a prefix ID and an alignment value. * * @param {string} prefixId An ID to prefix. * @param {string} value An alignment value. * * @return {string} The item id. */ function getItemId(prefixId, value) { const valueId = transformValue(value).replace(' ', '-'); return `${prefixId}-${valueId}`; } /** * Retrieves the alignment index from a value. * * @param {string} alignment Value to check. * * @return {number} The index of a matching alignment. */ function getAlignmentIndex() { let alignment = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'center'; const item = transformValue(alignment).replace('-', ' '); const index = ALIGNMENTS.indexOf(item); return index > -1 ? index : undefined; } //# sourceMappingURL=utils.js.map