export type ColSize = '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12' | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12; export type Space = '0' | '0.5' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | 0 | 0.5 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10; export type MediaType = 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl' | 'xxxl'; export type MediaProps = Record; export type AdaptiveProp = React.CSSProperties[T] | MediaPartial; export type MediaPartial = Partial>; export type WithMedia = T & { media?: MediaPartial>; }; export type CommonProps = Partial<{ space: Space; spaceRow: Space; }>; export type ContainerConfigProps = Partial<{ gutters: Space; spaceRow: Space; }>; export type RecursivePartial = { [P in keyof T]?: RecursivePartial; }; interface ComponentProps { container: WithMedia; } export interface LayoutTheme { /** * Override default breakpoints values. */ breakpoints: MediaProps; /** * Base space unit size. * * **Don't forget to override corresponding css custom property `--g-spacing-base` at project level, * if you will change this value in theme** */ spaceBaseSize: number; /** * Components props build in into the theme. You can describe the props depending on the current media expression */ components: ComponentProps; } export interface IsMediaActive { (toCheck: MediaType): boolean; } export {};