suomifi-ui-components
Version:
Suomi.fi UI component library
84 lines (81 loc) • 3.22 kB
JavaScript
import { __assign } from 'tslib';
import { suomifiDesignTokens } from 'suomifi-design-tokens';
import { zindexes } from './zindexes.js';
var designTokens = {
zindexes: zindexes,
shadows: suomifiDesignTokens.shadows,
focuses: suomifiDesignTokens.focuses,
transitions: suomifiDesignTokens.transitions,
radiuses: suomifiDesignTokens.radiuses,
colors: suomifiDesignTokens.colors,
spacing: suomifiDesignTokens.spacing,
typography: suomifiDesignTokens.typography,
gradients: suomifiDesignTokens.gradients,
values: suomifiDesignTokens.values,
breakpoints: suomifiDesignTokens.breakpoints
};
var defaultSuomifiTheme = __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 = __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 __assign(__assign({}, retObj), (_b = {}, _b[key] = value, _b));
}, Object.assign({}, defaultTokens));
};
export { defaultSuomifiTheme, getSuomifiTheme };
//# sourceMappingURL=SuomifiTheme.js.map