@brizy/ui
Version:
React elements in Brizy style
153 lines (152 loc) • 6.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getAlign = getAlign;
exports.getMargin = getMargin;
exports.getAlignY = getAlignY;
exports.getSpacing = getSpacing;
exports.getCustomSpacingStyles = getCustomSpacingStyles;
exports.getCustomColumnsStyles = getCustomColumnsStyles;
const classNamesFn_1 = require("../classNamesFn");
const constants_1 = require("../constants");
function getAlign(align) {
const aligns = Array.isArray(align) ? align : [align];
const className = aligns.map((align, key) => {
const device = key === 0 ? "dsk" : key === 1 ? "tbl" : "mbl";
switch (align) {
case "left":
return `${constants_1.BRZ_PREFIX}-${device}-al-lf`;
case "center":
return `${constants_1.BRZ_PREFIX}-${device}-al-ct`;
case "right":
return `${constants_1.BRZ_PREFIX}-${device}-al-rt`;
case "between":
return `${constants_1.BRZ_PREFIX}-${device}-al-bet`;
default:
return "";
}
});
return (0, classNamesFn_1.classNames)(className)();
}
function getMargin(spacing) {
const space = Array.isArray(spacing) ? spacing : [spacing];
const className = space.map((el, key) => {
const device = key === 0 ? "dsk" : key === 1 ? "tbl" : "mbl";
if (typeof el === "number") {
return `${constants_1.BRZ_PREFIX}-${device}-mr-cs`;
}
switch (el) {
case "middle":
return `${constants_1.BRZ_PREFIX}-${device}-mr-md`;
case "gutter":
return `${constants_1.BRZ_PREFIX}-${device}-mr-gt`;
case "xxsmall":
return `${constants_1.BRZ_PREFIX}-${device}-mr-xxsm`;
case "xsmall":
return `${constants_1.BRZ_PREFIX}-${device}-mr-xsm`;
case "small":
return `${constants_1.BRZ_PREFIX}-${device}-mr-sm`;
case "large":
return `${constants_1.BRZ_PREFIX}-${device}-mr-lg`;
case "xlarge":
return `${constants_1.BRZ_PREFIX}-${device}-mr-xlg`;
case "xxlarge":
return `${constants_1.BRZ_PREFIX}-${device}-mr-xxlg`;
case "none":
return `${constants_1.BRZ_PREFIX}-${device}-mr-none`;
default:
return "";
}
});
return (0, classNamesFn_1.classNames)(className)();
}
function getAlignY(alignY) {
const _alignY = Array.isArray(alignY) ? alignY : [alignY];
const className = _alignY.map((el, key) => {
const device = key === 0 ? "dsk" : key === 1 ? "tbl" : "mbl";
switch (el) {
case "top":
return `${constants_1.BRZ_PREFIX}-${device}-alY-tp`;
case "center":
return `${constants_1.BRZ_PREFIX}-${device}-alY-ct`;
case "bottom":
return `${constants_1.BRZ_PREFIX}-${device}-alY-bt`;
default:
return "";
}
});
return (0, classNamesFn_1.classNames)(className)();
}
function getSpacing(spacing) {
const space = Array.isArray(spacing) ? spacing : [spacing];
const className = space.map((el, key) => {
const device = key === 0 ? "dsk" : key === 1 ? "tbl" : "mbl";
if (typeof el === "number") {
return `${constants_1.BRZ_PREFIX}-${device}-sp-cs`;
}
switch (el) {
case "middle":
return `${constants_1.BRZ_PREFIX}-${device}-sp-md`;
case "gutter":
return `${constants_1.BRZ_PREFIX}-${device}-sp-gt`;
case "xxsmall":
return `${constants_1.BRZ_PREFIX}-${device}-sp-xxsm`;
case "xsmall":
return `${constants_1.BRZ_PREFIX}-${device}-sp-xsm`;
case "small":
return `${constants_1.BRZ_PREFIX}-${device}-sp-sm`;
case "large":
return `${constants_1.BRZ_PREFIX}-${device}-sp-lg`;
case "xlarge":
return `${constants_1.BRZ_PREFIX}-${device}-sp-xlg`;
case "xxlarge":
return `${constants_1.BRZ_PREFIX}-${device}-sp-xxlg`;
case "none":
return `${constants_1.BRZ_PREFIX}-${device}-sp-none`;
default:
return `${constants_1.BRZ_PREFIX}-${device}-sp-none`;
}
});
return (0, classNamesFn_1.classNames)(className)();
}
const getPropertySpacingByDevice = (device) => {
switch (device) {
case "desktop":
return `--${constants_1.BRZ_PREFIX}-inline--desktop-spacing-custom`;
case "tablet":
return `--${constants_1.BRZ_PREFIX}-inline--tablet-spacing-custom`;
case "mobile":
return `--${constants_1.BRZ_PREFIX}-inline--mobile-spacing-custom`;
}
};
function getCustomSpacingStyles(spacing) {
const space = Array.isArray(spacing) ? spacing : [spacing];
const data = {};
space.forEach((item, key) => {
const device = key === 0 ? "desktop" : key === 1 ? "tablet" : "mobile";
if (typeof item === "number") {
data[getPropertySpacingByDevice(device)] = `${item}px`;
}
});
return data;
}
const getPropertyColumnsByDevice = (device) => {
switch (device) {
case "desktop":
return `--${constants_1.BRZ_PREFIX}-inline--desktop-columns`;
case "tablet":
return `--${constants_1.BRZ_PREFIX}-inline--tablet-columns`;
case "mobile":
return `--${constants_1.BRZ_PREFIX}-inline--mobile-columns`;
}
};
function getCustomColumnsStyles(columns) {
const _columns = Array.isArray(columns) ? columns : [columns];
const data = {};
_columns.forEach((item, key) => {
const device = key === 0 ? "desktop" : key === 1 ? "tablet" : "mobile";
if (typeof item === "number") {
data[getPropertyColumnsByDevice(device)] = `${100 / item}%`;
}
});
return data;
}