UNPKG

@hitachivantara/uikit-uno-preset

Version:
1 lines 3.47 kB
{"version":3,"file":"theme.mjs","sources":["../../src/theme.ts"],"sourcesContent":["import { ThemeExtender } from \"@unocss/core\";\nimport type { Theme } from \"@unocss/preset-wind3\";\nimport { ds5 as hvTheme, theme } from \"@hitachivantara/uikit-styles\";\n\n// #region theme conversion utils\nconst { dawn: defaultColors } = hvTheme.colors.modes;\nconst { base, ...hvSpacing } = hvTheme.space;\n\n/** HV breakpoints with added `px` suffix */\nconst hvBreakpoints = Object.entries(hvTheme.breakpoints.values).map(\n ([key, value]) => [key, `${value}px`] as const,\n);\n\nconst hvZIndex = Object.entries(hvTheme.zIndices).map(\n ([key, value]) => [key, `${value}`] as const,\n);\n// #endregion\n\n/** Extends the current theme with the NEXT Design System utilities */\nexport const extendTheme: ThemeExtender<Theme> = (baseTheme) => ({\n ...baseTheme,\n\n borderRadius: {\n DEFAULT: hvTheme.radii.base,\n ...hvTheme.radii,\n },\n breakpoints: Object.fromEntries(hvBreakpoints),\n containers: Object.fromEntries(\n hvBreakpoints.map(([k, v]) => [k, `(min-width: ${v})`]),\n ),\n spacing: {\n DEFAULT: hvSpacing.xs,\n ...hvSpacing,\n },\n zIndex: Object.fromEntries(hvZIndex),\n\n // colors\n colors: {\n ...baseTheme.colors,\n ...defaultColors,\n ...theme.colors,\n },\n accentColor: { DEFAULT: defaultColors.primary },\n textColor: { DEFAULT: defaultColors.text },\n backgroundColor: { DEFAULT: defaultColors.bgPage },\n\n // typography\n fontFamily: {\n body: hvTheme.fontFamily.body,\n sans: hvTheme.fontFamily.body,\n serif: hvTheme.fontFamily.body,\n mono: \"monospace\",\n },\n lineHeight: { DEFAULT: hvTheme.lineHeights.base, ...hvTheme.lineHeights },\n fontSize: { DEFAULT: hvTheme.fontSizes.base, ...hvTheme.fontSizes },\n fontWeight: { DEFAULT: hvTheme.fontWeights.normal, ...hvTheme.fontWeights },\n});\n\n/** UI Kit theme mode variants */\nexport const themeModes = {\n light: {\n colors: {\n ...hvTheme.colors.modes.dawn,\n },\n },\n dark: {\n colors: {\n ...hvTheme.colors.modes.wicked,\n },\n },\n};\n"],"names":["hvTheme"],"mappings":";AAKA,MAAM,EAAE,MAAM,cAAc,IAAIA,IAAQ,OAAO;AAC/C,MAAM,EAAE,MAAM,GAAG,cAAcA,IAAQ;AAGvC,MAAM,gBAAgB,OAAO,QAAQA,IAAQ,YAAY,MAAM,EAAE;AAAA,EAC/D,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,GAAG,KAAK,IAAI;AACtC;AAEA,MAAM,WAAW,OAAO,QAAQA,IAAQ,QAAQ,EAAE;AAAA,EAChD,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,GAAG,KAAK,EAAE;AACpC;AAIa,MAAA,cAAoC,CAAC,eAAe;AAAA,EAC/D,GAAG;AAAA,EAEH,cAAc;AAAA,IACZ,SAASA,IAAQ,MAAM;AAAA,IACvB,GAAGA,IAAQ;AAAA,EACb;AAAA,EACA,aAAa,OAAO,YAAY,aAAa;AAAA,EAC7C,YAAY,OAAO;AAAA,IACjB,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC;AAAA,EACxD;AAAA,EACA,SAAS;AAAA,IACP,SAAS,UAAU;AAAA,IACnB,GAAG;AAAA,EACL;AAAA,EACA,QAAQ,OAAO,YAAY,QAAQ;AAAA;AAAA,EAGnC,QAAQ;AAAA,IACN,GAAG,UAAU;AAAA,IACb,GAAG;AAAA,IACH,GAAG,MAAM;AAAA,EACX;AAAA,EACA,aAAa,EAAE,SAAS,cAAc,QAAQ;AAAA,EAC9C,WAAW,EAAE,SAAS,cAAc,KAAK;AAAA,EACzC,iBAAiB,EAAE,SAAS,cAAc,OAAO;AAAA;AAAA,EAGjD,YAAY;AAAA,IACV,MAAMA,IAAQ,WAAW;AAAA,IACzB,MAAMA,IAAQ,WAAW;AAAA,IACzB,OAAOA,IAAQ,WAAW;AAAA,IAC1B,MAAM;AAAA,EACR;AAAA,EACA,YAAY,EAAE,SAASA,IAAQ,YAAY,MAAM,GAAGA,IAAQ,YAAY;AAAA,EACxE,UAAU,EAAE,SAASA,IAAQ,UAAU,MAAM,GAAGA,IAAQ,UAAU;AAAA,EAClE,YAAY,EAAE,SAASA,IAAQ,YAAY,QAAQ,GAAGA,IAAQ,YAAY;AAC5E;AAGO,MAAM,aAAa;AAAA,EACxB,OAAO;AAAA,IACL,QAAQ;AAAA,MACN,GAAGA,IAAQ,OAAO,MAAM;AAAA,IAAA;AAAA,EAE5B;AAAA,EACA,MAAM;AAAA,IACJ,QAAQ;AAAA,MACN,GAAGA,IAAQ,OAAO,MAAM;AAAA,IAAA;AAAA,EAC1B;AAEJ;"}