@hitachivantara/uikit-uno-preset
Version:
UI Kit UnoCSS preset with the NEXT theme.
62 lines (61 loc) • 1.89 kB
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const uikitStyles = require("@hitachivantara/uikit-styles");
const { dawn: defaultColors } = uikitStyles.ds5.colors.modes;
const { base, ...hvSpacing } = uikitStyles.ds5.space;
const hvBreakpoints = Object.entries(uikitStyles.ds5.breakpoints.values).map(
([key, value]) => [key, `${value}px`]
);
const hvZIndex = Object.entries(uikitStyles.ds5.zIndices).map(
([key, value]) => [key, `${value}`]
);
const extendTheme = (baseTheme) => ({
...baseTheme,
borderRadius: {
DEFAULT: uikitStyles.theme.radii.base,
...uikitStyles.theme.radii
},
breakpoints: Object.fromEntries(hvBreakpoints),
containers: Object.fromEntries(
hvBreakpoints.map(([k, v]) => [k, `(min-width: ${v})`])
),
spacing: {
...baseTheme.spacing,
DEFAULT: hvSpacing.xs,
...hvSpacing
},
zIndex: Object.fromEntries(hvZIndex),
// colors
colors: {
...baseTheme.colors,
...defaultColors,
...uikitStyles.theme.colors
},
accentColor: { DEFAULT: defaultColors.primary },
textColor: { DEFAULT: defaultColors.text },
backgroundColor: { DEFAULT: defaultColors.bgPage },
// typography
fontFamily: {
body: uikitStyles.ds5.fontFamily.body,
sans: uikitStyles.ds5.fontFamily.body,
serif: uikitStyles.ds5.fontFamily.body,
mono: "monospace"
},
lineHeight: { DEFAULT: uikitStyles.ds5.lineHeights.base, ...uikitStyles.ds5.lineHeights },
fontSize: { DEFAULT: uikitStyles.ds5.fontSizes.base, ...uikitStyles.ds5.fontSizes },
fontWeight: { DEFAULT: uikitStyles.ds5.fontWeights.normal, ...uikitStyles.ds5.fontWeights }
});
const themeModes = {
light: {
colors: {
...uikitStyles.ds5.colors.modes.dawn
}
},
dark: {
colors: {
...uikitStyles.ds5.colors.modes.wicked
}
}
};
exports.extendTheme = extendTheme;
exports.themeModes = themeModes;