{"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;"}