{"version":3,"file":"createTheme.cjs","sources":["../../../src/themes/createTheme.ts"],"sourcesContent":["import * as z from 'zod';\n\nimport { createBreakpoints } from './breakpoints';\nimport { createColors, ThemeColorsInputSchema } from './createColors';\nimport { createComponents } from './createComponents';\nimport { createShadows } from './createShadows';\nimport { createShape, ThemeShapeInputSchema } from './createShape';\nimport { createSpacing, ThemeSpacingOptionsSchema } from './createSpacing';\nimport { createTransitions } from './createTransitions';\nimport { createTypography, ThemeTypographyInputSchema } from './createTypography';\nimport { createV1Theme } from './createV1Theme';\nimport { createVisualizationColors, ThemeVisualizationColorsInputSchema } from './createVisualizationColors';\nimport { GrafanaTheme2 } from './types';\nimport { zIndex } from './zIndex';\n\nexport const NewThemeOptionsSchema = z.object({\n  name: z.string(),\n  id: z.string(),\n  colors: ThemeColorsInputSchema.optional(),\n  spacing: ThemeSpacingOptionsSchema.optional(),\n  shape: ThemeShapeInputSchema.optional(),\n  typography: ThemeTypographyInputSchema.optional(),\n  visualization: ThemeVisualizationColorsInputSchema.optional(),\n});\n\n/** @internal */\nexport type NewThemeOptions = z.infer<typeof NewThemeOptionsSchema>;\n\n/** @internal */\nexport function createTheme(\n  options: Omit<NewThemeOptions, 'id' | 'name'> & {\n    name?: NewThemeOptions['name'];\n  } = {}\n): GrafanaTheme2 {\n  const {\n    name,\n    colors: colorsInput = {},\n    spacing: spacingInput = {},\n    shape: shapeInput = {},\n    typography: typographyInput = {},\n    visualization: visualizationInput = {},\n  } = options;\n\n  const colors = createColors(colorsInput);\n  const breakpoints = createBreakpoints();\n  const spacing = createSpacing(spacingInput);\n  const shape = createShape(shapeInput);\n  const typography = createTypography(colors, typographyInput);\n  const shadows = createShadows(colors);\n  const transitions = createTransitions();\n  const components = createComponents(colors, shadows);\n  const visualization = createVisualizationColors(colors, visualizationInput);\n\n  const theme = {\n    name: name ?? (colors.mode === 'dark' ? 'Dark' : 'Light'),\n    isDark: colors.mode === 'dark',\n    isLight: colors.mode === 'light',\n    colors,\n    breakpoints,\n    spacing,\n    shape,\n    components,\n    typography,\n    shadows,\n    transitions,\n    visualization,\n    zIndex: {\n      ...zIndex,\n    },\n    flags: {},\n  };\n\n  return {\n    ...theme,\n    v1: createV1Theme(theme),\n  };\n}\n"],"names":["z","ThemeColorsInputSchema","ThemeSpacingOptionsSchema","ThemeShapeInputSchema","ThemeTypographyInputSchema","ThemeVisualizationColorsInputSchema","createColors","breakpoints","createBreakpoints","createSpacing","createShape","createTypography","createShadows","createTransitions","createComponents","createVisualizationColors","zIndex","createV1Theme"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeO,MAAM,qBAAA,GAAwBA,aAAE,MAAA,CAAO;AAAA,EAC5C,IAAA,EAAMA,aAAE,MAAA,EAAO;AAAA,EACf,EAAA,EAAIA,aAAE,MAAA,EAAO;AAAA,EACb,MAAA,EAAQC,oCAAuB,QAAA,EAAS;AAAA,EACxC,OAAA,EAASC,wCAA0B,QAAA,EAAS;AAAA,EAC5C,KAAA,EAAOC,kCAAsB,QAAA,EAAS;AAAA,EACtC,UAAA,EAAYC,4CAA2B,QAAA,EAAS;AAAA,EAChD,aAAA,EAAeC,8DAAoC,QAAA;AACrD,CAAC;AAMM,SAAS,WAAA,CACd,OAAA,GAEI,EAAC,EACU;AACf,EAAA,MAAM;AAAA,IACJ,IAAA;AAAA,IACA,MAAA,EAAQ,cAAc,EAAC;AAAA,IACvB,OAAA,EAAS,eAAe,EAAC;AAAA,IACzB,KAAA,EAAO,aAAa,EAAC;AAAA,IACrB,UAAA,EAAY,kBAAkB,EAAC;AAAA,IAC/B,aAAA,EAAe,qBAAqB;AAAC,GACvC,GAAI,OAAA;AAEJ,EAAA,MAAM,MAAA,GAASC,0BAAa,WAAW,CAAA;AACvC,EAAA,MAAMC,gBAAcC,6BAAA,EAAkB;AACtC,EAAA,MAAM,OAAA,GAAUC,4BAAc,YAAY,CAAA;AAC1C,EAAA,MAAM,KAAA,GAAQC,wBAAY,UAAU,CAAA;AACpC,EAAA,MAAM,UAAA,GAAaC,iCAAA,CAAiB,MAAA,EAAQ,eAAe,CAAA;AAC3D,EAAA,MAAM,OAAA,GAAUC,4BAAc,MAAM,CAAA;AACpC,EAAA,MAAM,cAAcC,mCAAA,EAAkB;AACtC,EAAA,MAAM,UAAA,GAAaC,iCAAA,CAAiB,MAAA,EAAQ,OAAO,CAAA;AACnD,EAAA,MAAM,aAAA,GAAgBC,mDAAA,CAA0B,MAAA,EAAQ,kBAAkB,CAAA;AAE1E,EAAA,MAAM,KAAA,GAAQ;AAAA,IACZ,IAAA,EAAM,IAAA,IAAA,IAAA,GAAA,IAAA,GAAS,MAAA,CAAO,IAAA,KAAS,SAAS,MAAA,GAAS,OAAA;AAAA,IACjD,MAAA,EAAQ,OAAO,IAAA,KAAS,MAAA;AAAA,IACxB,OAAA,EAAS,OAAO,IAAA,KAAS,OAAA;AAAA,IACzB,MAAA;AAAA,iBACAR,aAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,UAAA;AAAA,IACA,UAAA;AAAA,IACA,OAAA;AAAA,IACA,WAAA;AAAA,IACA,aAAA;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,GAAGS;AAAA,KACL;AAAA,IACA,OAAO;AAAC,GACV;AAEA,EAAA,OAAO;AAAA,IACL,GAAG,KAAA;AAAA,IACH,EAAA,EAAIC,4BAAc,KAAK;AAAA,GACzB;AACF;;;;;"}