@hakuna-matata-ui/styled-system
Version:
Style function for css-in-js building component libraries
37 lines (32 loc) • 702 B
text/typescript
import { Dict, pick } from "@hakuna-matata-ui/utils"
const tokens = [
"colors",
"borders",
"borderWidths",
"borderStyles",
"fonts",
"fontSizes",
"fontWeights",
"letterSpacings",
"lineHeights",
"radii",
"space",
"shadows",
"sizes",
"zIndices",
"transition",
"blur",
] as const
export type ThemeScale =
| typeof tokens[number]
| "transition.duration"
| "transition.property"
| "transition.easing"
export function extractTokens(theme: Dict) {
const _tokens = tokens as unknown as string[]
return pick(theme, _tokens)
}
export function omitVars(rawTheme: Dict) {
const { __cssMap, __cssVars, __breakpoints, ...cleanTheme } = rawTheme
return cleanTheme
}