/** * ObjectUI * Copyright (c) 2024-present ObjectStack Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ /** * @object-ui/types/zod - Theme Schema Zod Validators * * Zod validation schemas for theme configuration. * Aligned with @objectstack/spec UI specification. * * @module zod/theme * @packageDocumentation */ import { z } from 'zod'; /** * Color Palette Schema * Mirrors @objectstack/spec/ui ColorPaletteSchema. */ export declare const ColorPaletteSchema: z.ZodObject<{ primary: z.ZodString; secondary: z.ZodOptional; accent: z.ZodOptional; success: z.ZodOptional; warning: z.ZodOptional; error: z.ZodOptional; info: z.ZodOptional; background: z.ZodOptional; surface: z.ZodOptional; text: z.ZodOptional; textSecondary: z.ZodOptional; border: z.ZodOptional; disabled: z.ZodOptional; primaryLight: z.ZodOptional; primaryDark: z.ZodOptional; secondaryLight: z.ZodOptional; secondaryDark: z.ZodOptional; }, z.core.$strip>; /** * Typography Schema * Mirrors @objectstack/spec/ui TypographySchema. */ export declare const TypographySchema: z.ZodObject<{ fontFamily: z.ZodOptional; heading: z.ZodOptional; mono: z.ZodOptional; }, z.core.$strip>>; fontSize: z.ZodOptional; sm: z.ZodOptional; base: z.ZodOptional; lg: z.ZodOptional; xl: z.ZodOptional; '2xl': z.ZodOptional; '3xl': z.ZodOptional; '4xl': z.ZodOptional; }, z.core.$strip>>; fontWeight: z.ZodOptional; normal: z.ZodOptional; medium: z.ZodOptional; semibold: z.ZodOptional; bold: z.ZodOptional; }, z.core.$strip>>; lineHeight: z.ZodOptional; normal: z.ZodOptional; relaxed: z.ZodOptional; loose: z.ZodOptional; }, z.core.$strip>>; letterSpacing: z.ZodOptional; tight: z.ZodOptional; normal: z.ZodOptional; wide: z.ZodOptional; wider: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>; /** * Spacing Scale Schema * Mirrors @objectstack/spec/ui SpacingSchema. */ export declare const SpacingSchema: z.ZodObject<{ '0': z.ZodOptional; '1': z.ZodOptional; '2': z.ZodOptional; '3': z.ZodOptional; '4': z.ZodOptional; '5': z.ZodOptional; '6': z.ZodOptional; '8': z.ZodOptional; '10': z.ZodOptional; '12': z.ZodOptional; '16': z.ZodOptional; '20': z.ZodOptional; '24': z.ZodOptional; }, z.core.$strip>; /** * Border Radius Schema * Mirrors @objectstack/spec/ui BorderRadiusSchema. */ export declare const BorderRadiusSchema: z.ZodObject<{ none: z.ZodOptional; sm: z.ZodOptional; base: z.ZodOptional; md: z.ZodOptional; lg: z.ZodOptional; xl: z.ZodOptional; '2xl': z.ZodOptional; full: z.ZodOptional; }, z.core.$strip>; /** * Shadow Schema * Mirrors @objectstack/spec/ui ShadowSchema. */ export declare const ShadowSchema: z.ZodObject<{ none: z.ZodOptional; sm: z.ZodOptional; base: z.ZodOptional; md: z.ZodOptional; lg: z.ZodOptional; xl: z.ZodOptional; '2xl': z.ZodOptional; inner: z.ZodOptional; }, z.core.$strip>; /** * Breakpoints Schema * Mirrors @objectstack/spec/ui BreakpointsSchema. */ export declare const BreakpointsSchema: z.ZodObject<{ xs: z.ZodOptional; sm: z.ZodOptional; md: z.ZodOptional; lg: z.ZodOptional; xl: z.ZodOptional; '2xl': z.ZodOptional; }, z.core.$strip>; /** * Animation Schema * Mirrors @objectstack/spec/ui AnimationSchema. */ export declare const AnimationSchema: z.ZodObject<{ duration: z.ZodOptional; base: z.ZodOptional; slow: z.ZodOptional; }, z.core.$strip>>; timing: z.ZodOptional; ease: z.ZodOptional; easeIn: z.ZodOptional; easeOut: z.ZodOptional; easeInOut: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>; /** * Z-Index Schema * Mirrors @objectstack/spec/ui ZIndexSchema. */ export declare const ZIndexSchema: z.ZodObject<{ base: z.ZodOptional; dropdown: z.ZodOptional; sticky: z.ZodOptional; fixed: z.ZodOptional; modalBackdrop: z.ZodOptional; modal: z.ZodOptional; popover: z.ZodOptional; tooltip: z.ZodOptional; }, z.core.$strip>; /** * Theme Mode Schema * Mirrors @objectstack/spec/ui ThemeMode. */ export declare const ThemeModeSchema: z.ZodEnum<{ auto: "auto"; light: "light"; dark: "dark"; }>; /** * Theme Logo Schema * Mirrors the inline logo object in @objectstack/spec ThemeSchema. */ export declare const ThemeLogoSchema: z.ZodObject<{ light: z.ZodOptional; dark: z.ZodOptional; favicon: z.ZodOptional; }, z.core.$strip>; /** * Theme Definition Schema * Mirrors @objectstack/spec/ui ThemeSchema. */ export declare const ThemeDefinitionSchema: z.ZodObject<{ name: z.ZodString; label: z.ZodString; description: z.ZodOptional; mode: z.ZodDefault>; colors: z.ZodObject<{ primary: z.ZodString; secondary: z.ZodOptional; accent: z.ZodOptional; success: z.ZodOptional; warning: z.ZodOptional; error: z.ZodOptional; info: z.ZodOptional; background: z.ZodOptional; surface: z.ZodOptional; text: z.ZodOptional; textSecondary: z.ZodOptional; border: z.ZodOptional; disabled: z.ZodOptional; primaryLight: z.ZodOptional; primaryDark: z.ZodOptional; secondaryLight: z.ZodOptional; secondaryDark: z.ZodOptional; }, z.core.$strip>; typography: z.ZodOptional; heading: z.ZodOptional; mono: z.ZodOptional; }, z.core.$strip>>; fontSize: z.ZodOptional; sm: z.ZodOptional; base: z.ZodOptional; lg: z.ZodOptional; xl: z.ZodOptional; '2xl': z.ZodOptional; '3xl': z.ZodOptional; '4xl': z.ZodOptional; }, z.core.$strip>>; fontWeight: z.ZodOptional; normal: z.ZodOptional; medium: z.ZodOptional; semibold: z.ZodOptional; bold: z.ZodOptional; }, z.core.$strip>>; lineHeight: z.ZodOptional; normal: z.ZodOptional; relaxed: z.ZodOptional; loose: z.ZodOptional; }, z.core.$strip>>; letterSpacing: z.ZodOptional; tight: z.ZodOptional; normal: z.ZodOptional; wide: z.ZodOptional; wider: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>>; spacing: z.ZodOptional; '1': z.ZodOptional; '2': z.ZodOptional; '3': z.ZodOptional; '4': z.ZodOptional; '5': z.ZodOptional; '6': z.ZodOptional; '8': z.ZodOptional; '10': z.ZodOptional; '12': z.ZodOptional; '16': z.ZodOptional; '20': z.ZodOptional; '24': z.ZodOptional; }, z.core.$strip>>; borderRadius: z.ZodOptional; sm: z.ZodOptional; base: z.ZodOptional; md: z.ZodOptional; lg: z.ZodOptional; xl: z.ZodOptional; '2xl': z.ZodOptional; full: z.ZodOptional; }, z.core.$strip>>; shadows: z.ZodOptional; sm: z.ZodOptional; base: z.ZodOptional; md: z.ZodOptional; lg: z.ZodOptional; xl: z.ZodOptional; '2xl': z.ZodOptional; inner: z.ZodOptional; }, z.core.$strip>>; breakpoints: z.ZodOptional; sm: z.ZodOptional; md: z.ZodOptional; lg: z.ZodOptional; xl: z.ZodOptional; '2xl': z.ZodOptional; }, z.core.$strip>>; animation: z.ZodOptional; base: z.ZodOptional; slow: z.ZodOptional; }, z.core.$strip>>; timing: z.ZodOptional; ease: z.ZodOptional; easeIn: z.ZodOptional; easeOut: z.ZodOptional; easeInOut: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>>; zIndex: z.ZodOptional; dropdown: z.ZodOptional; sticky: z.ZodOptional; fixed: z.ZodOptional; modalBackdrop: z.ZodOptional; modal: z.ZodOptional; popover: z.ZodOptional; tooltip: z.ZodOptional; }, z.core.$strip>>; customVars: z.ZodOptional>; logo: z.ZodOptional; dark: z.ZodOptional; favicon: z.ZodOptional; }, z.core.$strip>>; extends: z.ZodOptional; }, z.core.$strip>; /** * Theme Component Schema (ObjectUI rendering) */ export declare const ThemeComponentSchema: z.ZodObject<{ id: z.ZodOptional; name: z.ZodOptional; label: z.ZodOptional; description: z.ZodOptional; placeholder: z.ZodOptional; className: z.ZodOptional; style: z.ZodOptional>>; data: z.ZodOptional; body: z.ZodOptional>, z.ZodArray>>]>>; children: z.ZodOptional>, z.ZodArray>>]>>; visible: z.ZodOptional; visibleOn: z.ZodOptional; hidden: z.ZodOptional; hiddenOn: z.ZodOptional; disabled: z.ZodOptional; disabledOn: z.ZodOptional; testId: z.ZodOptional; ariaLabel: z.ZodOptional; type: z.ZodLiteral<"theme">; mode: z.ZodOptional>; themes: z.ZodOptional; mode: z.ZodDefault>; colors: z.ZodObject<{ primary: z.ZodString; secondary: z.ZodOptional; accent: z.ZodOptional; success: z.ZodOptional; warning: z.ZodOptional; error: z.ZodOptional; info: z.ZodOptional; background: z.ZodOptional; surface: z.ZodOptional; text: z.ZodOptional; textSecondary: z.ZodOptional; border: z.ZodOptional; disabled: z.ZodOptional; primaryLight: z.ZodOptional; primaryDark: z.ZodOptional; secondaryLight: z.ZodOptional; secondaryDark: z.ZodOptional; }, z.core.$strip>; typography: z.ZodOptional; heading: z.ZodOptional; mono: z.ZodOptional; }, z.core.$strip>>; fontSize: z.ZodOptional; sm: z.ZodOptional; base: z.ZodOptional; lg: z.ZodOptional; xl: z.ZodOptional; '2xl': z.ZodOptional; '3xl': z.ZodOptional; '4xl': z.ZodOptional; }, z.core.$strip>>; fontWeight: z.ZodOptional; normal: z.ZodOptional; medium: z.ZodOptional; semibold: z.ZodOptional; bold: z.ZodOptional; }, z.core.$strip>>; lineHeight: z.ZodOptional; normal: z.ZodOptional; relaxed: z.ZodOptional; loose: z.ZodOptional; }, z.core.$strip>>; letterSpacing: z.ZodOptional; tight: z.ZodOptional; normal: z.ZodOptional; wide: z.ZodOptional; wider: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>>; spacing: z.ZodOptional; '1': z.ZodOptional; '2': z.ZodOptional; '3': z.ZodOptional; '4': z.ZodOptional; '5': z.ZodOptional; '6': z.ZodOptional; '8': z.ZodOptional; '10': z.ZodOptional; '12': z.ZodOptional; '16': z.ZodOptional; '20': z.ZodOptional; '24': z.ZodOptional; }, z.core.$strip>>; borderRadius: z.ZodOptional; sm: z.ZodOptional; base: z.ZodOptional; md: z.ZodOptional; lg: z.ZodOptional; xl: z.ZodOptional; '2xl': z.ZodOptional; full: z.ZodOptional; }, z.core.$strip>>; shadows: z.ZodOptional; sm: z.ZodOptional; base: z.ZodOptional; md: z.ZodOptional; lg: z.ZodOptional; xl: z.ZodOptional; '2xl': z.ZodOptional; inner: z.ZodOptional; }, z.core.$strip>>; breakpoints: z.ZodOptional; sm: z.ZodOptional; md: z.ZodOptional; lg: z.ZodOptional; xl: z.ZodOptional; '2xl': z.ZodOptional; }, z.core.$strip>>; animation: z.ZodOptional; base: z.ZodOptional; slow: z.ZodOptional; }, z.core.$strip>>; timing: z.ZodOptional; ease: z.ZodOptional; easeIn: z.ZodOptional; easeOut: z.ZodOptional; easeInOut: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>>; zIndex: z.ZodOptional; dropdown: z.ZodOptional; sticky: z.ZodOptional; fixed: z.ZodOptional; modalBackdrop: z.ZodOptional; modal: z.ZodOptional; popover: z.ZodOptional; tooltip: z.ZodOptional; }, z.core.$strip>>; customVars: z.ZodOptional>; logo: z.ZodOptional; dark: z.ZodOptional; favicon: z.ZodOptional; }, z.core.$strip>>; extends: z.ZodOptional; }, z.core.$strip>>>; activeTheme: z.ZodOptional; allowSwitching: z.ZodOptional; persistPreference: z.ZodOptional; storageKey: z.ZodOptional; }, z.core.$loose>; /** * Theme Switcher Schema */ export declare const ThemeSwitcherSchema: z.ZodObject<{ id: z.ZodOptional; name: z.ZodOptional; label: z.ZodOptional; description: z.ZodOptional; placeholder: z.ZodOptional; className: z.ZodOptional; style: z.ZodOptional>>; data: z.ZodOptional; body: z.ZodOptional>, z.ZodArray>>]>>; children: z.ZodOptional>, z.ZodArray>>]>>; visible: z.ZodOptional; visibleOn: z.ZodOptional; hidden: z.ZodOptional; hiddenOn: z.ZodOptional; disabled: z.ZodOptional; disabledOn: z.ZodOptional; testId: z.ZodOptional; ariaLabel: z.ZodOptional; type: z.ZodLiteral<"theme-switcher">; variant: z.ZodOptional>; showMode: z.ZodOptional; showThemes: z.ZodOptional; lightIcon: z.ZodOptional; darkIcon: z.ZodOptional; }, z.core.$loose>; /** * Theme Preview Schema */ export declare const ThemePreviewSchema: z.ZodObject<{ id: z.ZodOptional; name: z.ZodOptional; label: z.ZodOptional; description: z.ZodOptional; placeholder: z.ZodOptional; className: z.ZodOptional; style: z.ZodOptional>>; data: z.ZodOptional; body: z.ZodOptional>, z.ZodArray>>]>>; children: z.ZodOptional>, z.ZodArray>>]>>; visible: z.ZodOptional; visibleOn: z.ZodOptional; hidden: z.ZodOptional; hiddenOn: z.ZodOptional; disabled: z.ZodOptional; disabledOn: z.ZodOptional; testId: z.ZodOptional; ariaLabel: z.ZodOptional; type: z.ZodLiteral<"theme-preview">; theme: z.ZodOptional; mode: z.ZodDefault>; colors: z.ZodObject<{ primary: z.ZodString; secondary: z.ZodOptional; accent: z.ZodOptional; success: z.ZodOptional; warning: z.ZodOptional; error: z.ZodOptional; info: z.ZodOptional; background: z.ZodOptional; surface: z.ZodOptional; text: z.ZodOptional; textSecondary: z.ZodOptional; border: z.ZodOptional; disabled: z.ZodOptional; primaryLight: z.ZodOptional; primaryDark: z.ZodOptional; secondaryLight: z.ZodOptional; secondaryDark: z.ZodOptional; }, z.core.$strip>; typography: z.ZodOptional; heading: z.ZodOptional; mono: z.ZodOptional; }, z.core.$strip>>; fontSize: z.ZodOptional; sm: z.ZodOptional; base: z.ZodOptional; lg: z.ZodOptional; xl: z.ZodOptional; '2xl': z.ZodOptional; '3xl': z.ZodOptional; '4xl': z.ZodOptional; }, z.core.$strip>>; fontWeight: z.ZodOptional; normal: z.ZodOptional; medium: z.ZodOptional; semibold: z.ZodOptional; bold: z.ZodOptional; }, z.core.$strip>>; lineHeight: z.ZodOptional; normal: z.ZodOptional; relaxed: z.ZodOptional; loose: z.ZodOptional; }, z.core.$strip>>; letterSpacing: z.ZodOptional; tight: z.ZodOptional; normal: z.ZodOptional; wide: z.ZodOptional; wider: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>>; spacing: z.ZodOptional; '1': z.ZodOptional; '2': z.ZodOptional; '3': z.ZodOptional; '4': z.ZodOptional; '5': z.ZodOptional; '6': z.ZodOptional; '8': z.ZodOptional; '10': z.ZodOptional; '12': z.ZodOptional; '16': z.ZodOptional; '20': z.ZodOptional; '24': z.ZodOptional; }, z.core.$strip>>; borderRadius: z.ZodOptional; sm: z.ZodOptional; base: z.ZodOptional; md: z.ZodOptional; lg: z.ZodOptional; xl: z.ZodOptional; '2xl': z.ZodOptional; full: z.ZodOptional; }, z.core.$strip>>; shadows: z.ZodOptional; sm: z.ZodOptional; base: z.ZodOptional; md: z.ZodOptional; lg: z.ZodOptional; xl: z.ZodOptional; '2xl': z.ZodOptional; inner: z.ZodOptional; }, z.core.$strip>>; breakpoints: z.ZodOptional; sm: z.ZodOptional; md: z.ZodOptional; lg: z.ZodOptional; xl: z.ZodOptional; '2xl': z.ZodOptional; }, z.core.$strip>>; animation: z.ZodOptional; base: z.ZodOptional; slow: z.ZodOptional; }, z.core.$strip>>; timing: z.ZodOptional; ease: z.ZodOptional; easeIn: z.ZodOptional; easeOut: z.ZodOptional; easeInOut: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>>; zIndex: z.ZodOptional; dropdown: z.ZodOptional; sticky: z.ZodOptional; fixed: z.ZodOptional; modalBackdrop: z.ZodOptional; modal: z.ZodOptional; popover: z.ZodOptional; tooltip: z.ZodOptional; }, z.core.$strip>>; customVars: z.ZodOptional>; logo: z.ZodOptional; dark: z.ZodOptional; favicon: z.ZodOptional; }, z.core.$strip>>; extends: z.ZodOptional; }, z.core.$strip>>; mode: z.ZodOptional>; showColors: z.ZodOptional; showTypography: z.ZodOptional; showComponents: z.ZodOptional; }, z.core.$loose>; /** * Legacy alias — use ThemeComponentSchema * @deprecated */ export declare const ThemeSchema: z.ZodObject<{ id: z.ZodOptional; name: z.ZodOptional; label: z.ZodOptional; description: z.ZodOptional; placeholder: z.ZodOptional; className: z.ZodOptional; style: z.ZodOptional>>; data: z.ZodOptional; body: z.ZodOptional>, z.ZodArray>>]>>; children: z.ZodOptional>, z.ZodArray>>]>>; visible: z.ZodOptional; visibleOn: z.ZodOptional; hidden: z.ZodOptional; hiddenOn: z.ZodOptional; disabled: z.ZodOptional; disabledOn: z.ZodOptional; testId: z.ZodOptional; ariaLabel: z.ZodOptional; type: z.ZodLiteral<"theme">; mode: z.ZodOptional>; themes: z.ZodOptional; mode: z.ZodDefault>; colors: z.ZodObject<{ primary: z.ZodString; secondary: z.ZodOptional; accent: z.ZodOptional; success: z.ZodOptional; warning: z.ZodOptional; error: z.ZodOptional; info: z.ZodOptional; background: z.ZodOptional; surface: z.ZodOptional; text: z.ZodOptional; textSecondary: z.ZodOptional; border: z.ZodOptional; disabled: z.ZodOptional; primaryLight: z.ZodOptional; primaryDark: z.ZodOptional; secondaryLight: z.ZodOptional; secondaryDark: z.ZodOptional; }, z.core.$strip>; typography: z.ZodOptional; heading: z.ZodOptional; mono: z.ZodOptional; }, z.core.$strip>>; fontSize: z.ZodOptional; sm: z.ZodOptional; base: z.ZodOptional; lg: z.ZodOptional; xl: z.ZodOptional; '2xl': z.ZodOptional; '3xl': z.ZodOptional; '4xl': z.ZodOptional; }, z.core.$strip>>; fontWeight: z.ZodOptional; normal: z.ZodOptional; medium: z.ZodOptional; semibold: z.ZodOptional; bold: z.ZodOptional; }, z.core.$strip>>; lineHeight: z.ZodOptional; normal: z.ZodOptional; relaxed: z.ZodOptional; loose: z.ZodOptional; }, z.core.$strip>>; letterSpacing: z.ZodOptional; tight: z.ZodOptional; normal: z.ZodOptional; wide: z.ZodOptional; wider: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>>; spacing: z.ZodOptional; '1': z.ZodOptional; '2': z.ZodOptional; '3': z.ZodOptional; '4': z.ZodOptional; '5': z.ZodOptional; '6': z.ZodOptional; '8': z.ZodOptional; '10': z.ZodOptional; '12': z.ZodOptional; '16': z.ZodOptional; '20': z.ZodOptional; '24': z.ZodOptional; }, z.core.$strip>>; borderRadius: z.ZodOptional; sm: z.ZodOptional; base: z.ZodOptional; md: z.ZodOptional; lg: z.ZodOptional; xl: z.ZodOptional; '2xl': z.ZodOptional; full: z.ZodOptional; }, z.core.$strip>>; shadows: z.ZodOptional; sm: z.ZodOptional; base: z.ZodOptional; md: z.ZodOptional; lg: z.ZodOptional; xl: z.ZodOptional; '2xl': z.ZodOptional; inner: z.ZodOptional; }, z.core.$strip>>; breakpoints: z.ZodOptional; sm: z.ZodOptional; md: z.ZodOptional; lg: z.ZodOptional; xl: z.ZodOptional; '2xl': z.ZodOptional; }, z.core.$strip>>; animation: z.ZodOptional; base: z.ZodOptional; slow: z.ZodOptional; }, z.core.$strip>>; timing: z.ZodOptional; ease: z.ZodOptional; easeIn: z.ZodOptional; easeOut: z.ZodOptional; easeInOut: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>>; zIndex: z.ZodOptional; dropdown: z.ZodOptional; sticky: z.ZodOptional; fixed: z.ZodOptional; modalBackdrop: z.ZodOptional; modal: z.ZodOptional; popover: z.ZodOptional; tooltip: z.ZodOptional; }, z.core.$strip>>; customVars: z.ZodOptional>; logo: z.ZodOptional; dark: z.ZodOptional; favicon: z.ZodOptional; }, z.core.$strip>>; extends: z.ZodOptional; }, z.core.$strip>>>; activeTheme: z.ZodOptional; allowSwitching: z.ZodOptional; persistPreference: z.ZodOptional; storageKey: z.ZodOptional; }, z.core.$loose>; /** * Union of all theme component schemas (for AnyComponentSchema union). */ export declare const ThemeUnionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ id: z.ZodOptional; name: z.ZodOptional; label: z.ZodOptional; description: z.ZodOptional; placeholder: z.ZodOptional; className: z.ZodOptional; style: z.ZodOptional>>; data: z.ZodOptional; body: z.ZodOptional>, z.ZodArray>>]>>; children: z.ZodOptional>, z.ZodArray>>]>>; visible: z.ZodOptional; visibleOn: z.ZodOptional; hidden: z.ZodOptional; hiddenOn: z.ZodOptional; disabled: z.ZodOptional; disabledOn: z.ZodOptional; testId: z.ZodOptional; ariaLabel: z.ZodOptional; type: z.ZodLiteral<"theme">; mode: z.ZodOptional>; themes: z.ZodOptional; mode: z.ZodDefault>; colors: z.ZodObject<{ primary: z.ZodString; secondary: z.ZodOptional; accent: z.ZodOptional; success: z.ZodOptional; warning: z.ZodOptional; error: z.ZodOptional; info: z.ZodOptional; background: z.ZodOptional; surface: z.ZodOptional; text: z.ZodOptional; textSecondary: z.ZodOptional; border: z.ZodOptional; disabled: z.ZodOptional; primaryLight: z.ZodOptional; primaryDark: z.ZodOptional; secondaryLight: z.ZodOptional; secondaryDark: z.ZodOptional; }, z.core.$strip>; typography: z.ZodOptional; heading: z.ZodOptional; mono: z.ZodOptional; }, z.core.$strip>>; fontSize: z.ZodOptional; sm: z.ZodOptional; base: z.ZodOptional; lg: z.ZodOptional; xl: z.ZodOptional; '2xl': z.ZodOptional; '3xl': z.ZodOptional; '4xl': z.ZodOptional; }, z.core.$strip>>; fontWeight: z.ZodOptional; normal: z.ZodOptional; medium: z.ZodOptional; semibold: z.ZodOptional; bold: z.ZodOptional; }, z.core.$strip>>; lineHeight: z.ZodOptional; normal: z.ZodOptional; relaxed: z.ZodOptional; loose: z.ZodOptional; }, z.core.$strip>>; letterSpacing: z.ZodOptional; tight: z.ZodOptional; normal: z.ZodOptional; wide: z.ZodOptional; wider: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>>; spacing: z.ZodOptional; '1': z.ZodOptional; '2': z.ZodOptional; '3': z.ZodOptional; '4': z.ZodOptional; '5': z.ZodOptional; '6': z.ZodOptional; '8': z.ZodOptional; '10': z.ZodOptional; '12': z.ZodOptional; '16': z.ZodOptional; '20': z.ZodOptional; '24': z.ZodOptional; }, z.core.$strip>>; borderRadius: z.ZodOptional; sm: z.ZodOptional; base: z.ZodOptional; md: z.ZodOptional; lg: z.ZodOptional; xl: z.ZodOptional; '2xl': z.ZodOptional; full: z.ZodOptional; }, z.core.$strip>>; shadows: z.ZodOptional; sm: z.ZodOptional; base: z.ZodOptional; md: z.ZodOptional; lg: z.ZodOptional; xl: z.ZodOptional; '2xl': z.ZodOptional; inner: z.ZodOptional; }, z.core.$strip>>; breakpoints: z.ZodOptional; sm: z.ZodOptional; md: z.ZodOptional; lg: z.ZodOptional; xl: z.ZodOptional; '2xl': z.ZodOptional; }, z.core.$strip>>; animation: z.ZodOptional; base: z.ZodOptional; slow: z.ZodOptional; }, z.core.$strip>>; timing: z.ZodOptional; ease: z.ZodOptional; easeIn: z.ZodOptional; easeOut: z.ZodOptional; easeInOut: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>>; zIndex: z.ZodOptional; dropdown: z.ZodOptional; sticky: z.ZodOptional; fixed: z.ZodOptional; modalBackdrop: z.ZodOptional; modal: z.ZodOptional; popover: z.ZodOptional; tooltip: z.ZodOptional; }, z.core.$strip>>; customVars: z.ZodOptional>; logo: z.ZodOptional; dark: z.ZodOptional; favicon: z.ZodOptional; }, z.core.$strip>>; extends: z.ZodOptional; }, z.core.$strip>>>; activeTheme: z.ZodOptional; allowSwitching: z.ZodOptional; persistPreference: z.ZodOptional; storageKey: z.ZodOptional; }, z.core.$loose>, z.ZodObject<{ id: z.ZodOptional; name: z.ZodOptional; label: z.ZodOptional; description: z.ZodOptional; placeholder: z.ZodOptional; className: z.ZodOptional; style: z.ZodOptional>>; data: z.ZodOptional; body: z.ZodOptional>, z.ZodArray>>]>>; children: z.ZodOptional>, z.ZodArray>>]>>; visible: z.ZodOptional; visibleOn: z.ZodOptional; hidden: z.ZodOptional; hiddenOn: z.ZodOptional; disabled: z.ZodOptional; disabledOn: z.ZodOptional; testId: z.ZodOptional; ariaLabel: z.ZodOptional; type: z.ZodLiteral<"theme-switcher">; variant: z.ZodOptional>; showMode: z.ZodOptional; showThemes: z.ZodOptional; lightIcon: z.ZodOptional; darkIcon: z.ZodOptional; }, z.core.$loose>, z.ZodObject<{ id: z.ZodOptional; name: z.ZodOptional; label: z.ZodOptional; description: z.ZodOptional; placeholder: z.ZodOptional; className: z.ZodOptional; style: z.ZodOptional>>; data: z.ZodOptional; body: z.ZodOptional>, z.ZodArray>>]>>; children: z.ZodOptional>, z.ZodArray>>]>>; visible: z.ZodOptional; visibleOn: z.ZodOptional; hidden: z.ZodOptional; hiddenOn: z.ZodOptional; disabled: z.ZodOptional; disabledOn: z.ZodOptional; testId: z.ZodOptional; ariaLabel: z.ZodOptional; type: z.ZodLiteral<"theme-preview">; theme: z.ZodOptional; mode: z.ZodDefault>; colors: z.ZodObject<{ primary: z.ZodString; secondary: z.ZodOptional; accent: z.ZodOptional; success: z.ZodOptional; warning: z.ZodOptional; error: z.ZodOptional; info: z.ZodOptional; background: z.ZodOptional; surface: z.ZodOptional; text: z.ZodOptional; textSecondary: z.ZodOptional; border: z.ZodOptional; disabled: z.ZodOptional; primaryLight: z.ZodOptional; primaryDark: z.ZodOptional; secondaryLight: z.ZodOptional; secondaryDark: z.ZodOptional; }, z.core.$strip>; typography: z.ZodOptional; heading: z.ZodOptional; mono: z.ZodOptional; }, z.core.$strip>>; fontSize: z.ZodOptional; sm: z.ZodOptional; base: z.ZodOptional; lg: z.ZodOptional; xl: z.ZodOptional; '2xl': z.ZodOptional; '3xl': z.ZodOptional; '4xl': z.ZodOptional; }, z.core.$strip>>; fontWeight: z.ZodOptional; normal: z.ZodOptional; medium: z.ZodOptional; semibold: z.ZodOptional; bold: z.ZodOptional; }, z.core.$strip>>; lineHeight: z.ZodOptional; normal: z.ZodOptional; relaxed: z.ZodOptional; loose: z.ZodOptional; }, z.core.$strip>>; letterSpacing: z.ZodOptional; tight: z.ZodOptional; normal: z.ZodOptional; wide: z.ZodOptional; wider: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>>; spacing: z.ZodOptional; '1': z.ZodOptional; '2': z.ZodOptional; '3': z.ZodOptional; '4': z.ZodOptional; '5': z.ZodOptional; '6': z.ZodOptional; '8': z.ZodOptional; '10': z.ZodOptional; '12': z.ZodOptional; '16': z.ZodOptional; '20': z.ZodOptional; '24': z.ZodOptional; }, z.core.$strip>>; borderRadius: z.ZodOptional; sm: z.ZodOptional; base: z.ZodOptional; md: z.ZodOptional; lg: z.ZodOptional; xl: z.ZodOptional; '2xl': z.ZodOptional; full: z.ZodOptional; }, z.core.$strip>>; shadows: z.ZodOptional; sm: z.ZodOptional; base: z.ZodOptional; md: z.ZodOptional; lg: z.ZodOptional; xl: z.ZodOptional; '2xl': z.ZodOptional; inner: z.ZodOptional; }, z.core.$strip>>; breakpoints: z.ZodOptional; sm: z.ZodOptional; md: z.ZodOptional; lg: z.ZodOptional; xl: z.ZodOptional; '2xl': z.ZodOptional; }, z.core.$strip>>; animation: z.ZodOptional; base: z.ZodOptional; slow: z.ZodOptional; }, z.core.$strip>>; timing: z.ZodOptional; ease: z.ZodOptional; easeIn: z.ZodOptional; easeOut: z.ZodOptional; easeInOut: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>>; zIndex: z.ZodOptional; dropdown: z.ZodOptional; sticky: z.ZodOptional; fixed: z.ZodOptional; modalBackdrop: z.ZodOptional; modal: z.ZodOptional; popover: z.ZodOptional; tooltip: z.ZodOptional; }, z.core.$strip>>; customVars: z.ZodOptional>; logo: z.ZodOptional; dark: z.ZodOptional; favicon: z.ZodOptional; }, z.core.$strip>>; extends: z.ZodOptional; }, z.core.$strip>>; mode: z.ZodOptional>; showColors: z.ZodOptional; showTypography: z.ZodOptional; showComponents: z.ZodOptional; }, z.core.$loose>], "type">; /** * Legacy alias — use SpacingSchema * @deprecated */ export declare const SpacingScaleSchema: z.ZodObject<{ '0': z.ZodOptional; '1': z.ZodOptional; '2': z.ZodOptional; '3': z.ZodOptional; '4': z.ZodOptional; '5': z.ZodOptional; '6': z.ZodOptional; '8': z.ZodOptional; '10': z.ZodOptional; '12': z.ZodOptional; '16': z.ZodOptional; '20': z.ZodOptional; '24': z.ZodOptional; }, z.core.$strip>; /** * Export type inference helpers */ export type ColorPaletteSchemaType = z.infer; export type TypographySchemaType = z.infer; export type SpacingSchemaType = z.infer; export type BorderRadiusSchemaType = z.infer; export type ShadowSchemaType = z.infer; export type BreakpointsSchemaType = z.infer; export type AnimationSchemaType = z.infer; export type ZIndexSchemaType = z.infer; export type ThemeModeSchemaType = z.infer; export type ThemeDefinitionSchemaType = z.infer; export type ThemeSchemaType = z.infer; export type ThemeSwitcherSchemaType = z.infer; export type ThemePreviewSchemaType = z.infer; //# sourceMappingURL=theme.zod.d.ts.map