import { scale as defaultScale } from './scale'; import swagSystemPalette from './colors/swag'; import swagDarkSystemPalette from './colors/swagDark'; import swagLightSystemPalette from './colors/swagLight'; import swagLightJobsSystemPalette from './colors/swagLightJobs'; import workSystemPalette from './colors/work'; import jobsSystemPalette from './colors/jobs'; import walletSystemPalette from './colors/wallet'; import eBensSystemPalette from './colors/eBens'; import ehWorkDarkSystemPalette from './colors/ehWorkDark'; import ehWorkSystemPalette from './colors/ehWork'; import ehJobsSystemPalette from './colors/ehJobs'; import { getFonts, getFontSizes, getLineHeights } from './typography'; import { getSpace } from './space'; import { getSizes } from './sizes'; import { getBorderWidths, getRadii } from './borders'; import type { Scale } from './scale'; import type { GradientToken, Gradients, SystemPalette } from './colors/types'; import { getShadows } from './shadows'; import getGradients from './colors/gradients'; const getGlobalTheme = (scale: Scale, systemPalette: SystemPalette) => { const fonts = getFonts(scale.font); const fontSizes = getFontSizes(scale.fontSize); const lineHeights = getLineHeights(fontSizes); const borderWidths = getBorderWidths(scale.borderWidth); const space = getSpace(scale.space); const sizes = getSizes(scale.size); const radii = getRadii(scale.radius); const shadows = getShadows(systemPalette); const gradients = getGradients(systemPalette); return { colors: { ...systemPalette, gradients, }, fonts, fontSizes, lineHeights, borderWidths, space, sizes, radii, shadows, }; }; type GlobalTheme = ReturnType; export type { GlobalTheme, GradientToken, Gradients, Scale, SystemPalette }; export { getGlobalTheme, defaultScale, swagSystemPalette, swagLightSystemPalette, swagLightJobsSystemPalette, swagDarkSystemPalette, workSystemPalette, jobsSystemPalette, walletSystemPalette, eBensSystemPalette, ehWorkDarkSystemPalette, ehWorkSystemPalette, ehJobsSystemPalette, };