react-web-native-sketch
Version:
[TODO: We need an overview of how this can be used via npm vs as a local package]
88 lines • 2.58 kB
JavaScript
;
var __assign = (this && this.__assign) || Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getStyleProps = function (style) {
var generalStyle = {
display: 'flex',
};
if (!style) {
return { style: generalStyle };
}
else if (Array.isArray(style)) {
var classes = style.filter(function (item) { return typeof (item) === 'string'; }), styleItems = style.filter(function (item) { return typeof (item) === 'object' && !Array.isArray(item); }), styles_1 = __assign({}, generalStyle);
for (var _i = 0, style_1 = style; _i < style_1.length; _i++) {
var tStyle = style_1[_i];
if (Array.isArray(tStyle)) {
var flattenedStyles = exports.getStyleProps(tStyle);
if (flattenedStyles.style) {
styleItems.push(flattenedStyles.style);
}
if (flattenedStyles.className) {
classes.push(flattenedStyles.className);
}
}
}
styleItems.forEach(function (item) {
styles_1 = Object.assign(styles_1, item);
});
return {
style: styles_1,
className: classes.join(' ')
};
}
else if (typeof (style) === 'object') {
// so style is an inline style
return {
style: __assign({}, generalStyle, style)
};
}
else if (typeof (style) === 'string') {
return {
style: generalStyle,
className: style
};
}
else {
throw 'Unknown style type';
}
};
exports.getMuiTheme = function (appTheme) {
var hues = [
"50",
"100",
"200",
"300",
"400",
"500",
"600",
"700",
"800",
"900",
"A100",
"A200",
"A400",
"A700",
"contrastDefaultColor",
], primary = {}, secondary = {};
hues.forEach(function (hue) {
primary[hue] = appTheme.primaryColor;
secondary[hue] = appTheme.secondaryColor;
});
return {
typography: {
// fontFamily: appTheme.fontFamily,
},
palette: {
primary: primary,
secondary: secondary,
}
};
};
//# sourceMappingURL=web.js.map