suomifi-ui-components
Version:
Suomi.fi UI component library
87 lines (83 loc) • 3.51 kB
JavaScript
'use strict';
var tslib = require('tslib');
var suomifiDesignTokens = require('suomifi-design-tokens');
var zindexes = require('./zindexes.js');
var designTokens = {
zindexes: zindexes.zindexes,
shadows: suomifiDesignTokens.suomifiDesignTokens.shadows,
focuses: suomifiDesignTokens.suomifiDesignTokens.focuses,
transitions: suomifiDesignTokens.suomifiDesignTokens.transitions,
radiuses: suomifiDesignTokens.suomifiDesignTokens.radiuses,
colors: suomifiDesignTokens.suomifiDesignTokens.colors,
spacing: suomifiDesignTokens.suomifiDesignTokens.spacing,
typography: suomifiDesignTokens.suomifiDesignTokens.typography,
gradients: suomifiDesignTokens.suomifiDesignTokens.gradients,
values: suomifiDesignTokens.suomifiDesignTokens.values,
breakpoints: suomifiDesignTokens.suomifiDesignTokens.breakpoints
};
var defaultSuomifiTheme = tslib.__assign({}, designTokens);
var getSuomifiTheme = function getSuomifiTheme(props) {
var customTheme = props.customTheme,
defaultTheme = props.defaultTheme;
var customTokens = {
zindexes: mergeTokens({
defaultTokens: defaultTheme.zindexes,
customTokens: customTheme === null || customTheme === void 0 ? void 0 : customTheme.zindexes
}),
transitions: mergeTokens({
defaultTokens: defaultTheme.transitions,
customTokens: customTheme === null || customTheme === void 0 ? void 0 : customTheme.transitions
}),
radiuses: mergeTokens({
defaultTokens: defaultTheme.radiuses,
customTokens: customTheme === null || customTheme === void 0 ? void 0 : customTheme.radiuses
}),
colors: mergeTokens({
defaultTokens: defaultTheme.colors,
customTokens: customTheme === null || customTheme === void 0 ? void 0 : customTheme.colors
}),
spacing: mergeTokens({
defaultTokens: defaultTheme.spacing,
customTokens: customTheme === null || customTheme === void 0 ? void 0 : customTheme.spacing
}),
typography: mergeTokens({
defaultTokens: defaultTheme.typography,
customTokens: customTheme === null || customTheme === void 0 ? void 0 : customTheme.typography
}),
gradients: mergeTokens({
defaultTokens: defaultTheme.gradients,
customTokens: customTheme === null || customTheme === void 0 ? void 0 : customTheme.gradients
}),
focuses: mergeTokens({
defaultTokens: defaultTheme.focuses,
customTokens: customTheme === null || customTheme === void 0 ? void 0 : customTheme.focuses
}),
shadows: mergeTokens({
defaultTokens: defaultTheme.shadows,
customTokens: customTheme === null || customTheme === void 0 ? void 0 : customTheme.shadows
}),
breakpoints: mergeTokens({
defaultTokens: defaultTheme.breakpoints,
customTokens: customTheme === null || customTheme === void 0 ? void 0 : customTheme.breakpoints
}),
values: defaultTheme.values
};
var theme = tslib.__assign({}, customTokens);
return theme;
};
var mergeTokens = function mergeTokens(_a) {
var defaultTokens = _a.defaultTokens,
customTokens = _a.customTokens;
if (!customTokens) {
return defaultTokens;
}
return Object.entries(customTokens).reduce(function (retObj, _a) {
var _b;
var key = _a[0],
value = _a[1];
return tslib.__assign(tslib.__assign({}, retObj), (_b = {}, _b[key] = value, _b));
}, Object.assign({}, defaultTokens));
};
exports.defaultSuomifiTheme = defaultSuomifiTheme;
exports.getSuomifiTheme = getSuomifiTheme;
//# sourceMappingURL=SuomifiTheme.js.map