import { Property } from 'csstype'; import { Theme, ThemeCssVars, ThemeCssVarsWide, ThemeDescription } from '../../general'; import { ColorDescription, ColorsDescriptionStruct, ColorWithStates } from '../../general/colors'; import { Adaptive, Breakpoints } from '../../general/tools'; import { CustomMediaByViewport } from '../../general/tools/customMedia'; import { DefaultViewports, ViewportsTuple } from '../../general/tools/viewports'; import { Font } from '../../general/typography'; export interface LocalParadigmColorsDescriptionStruct { colorButtonContrast: ColorDescription; colorButtonContrastAlpha: ColorDescription; colorRating: ColorDescription; colorThumbErrorBackgroundAlpha: ColorDescription; colorBackgroundAccentTintThemedAlpha: ColorDescription; colorBackgroundAccentTintAlpha: ColorDescription; colorBackgroundAccentTintThemed: ColorDescription; colorBackgroundWarningTintThemedAlpha: ColorDescription; colorBackgroundWarningTintAlpha: ColorDescription; colorBackgroundWarningTintThemed: ColorDescription; colorBackgroundWarningTint: ColorDescription; colorBackgroundNegativeTintThemedAlpha: ColorDescription; colorBackgroundNegativeTintAlpha: ColorDescription; colorBackgroundNegativeTintThemed: ColorDescription; colorBackgroundPositiveTintThemedAlpha: ColorDescription; colorBackgroundPositiveTintAlpha: ColorDescription; colorBackgroundPositiveTintThemed: ColorDescription; } export declare type ParadigmLocalColors = { [key in keyof LocalParadigmColorsDescriptionStruct]: ColorWithStates; }; export interface ParadigmLocalSizes { sizeArrowHeight: number; sizeArrowWidth: number; sizeBasePadding: number; sizeBorderWidthTab: number; sizeBorderWidthBar: number; sizeBorderWidthAccent: number; sizeBorderWidthAccentSecondary: number; sizeControlButtonWidthMin: number; sizePromoButtonClose: number; sizeButtonSliderHeight: number; sizeButtonSliderWidth: number; sizeButtonSliderWidthPointer: number; sizeFieldWidthMin: number; sizeLabelWidth: number; sizeProgress: number; sizeProgressScroll: number; sizeDotBullet: number; sizeDotIndicate: number; sizeDotClickable: number; sizeVerticalPadding: number; sizeButtonMorePadding: number; sizeIconMorePadding: number; sizeButtonIconPadding: number; sizeDivPadding: number; sizeMenuPadding: number; sizeTagPadding: number; sizeTabPadding: number; sizeTableHorizontalPadding: number; sizeTableVerticalPadding: number; sizeSliceTopPadding: number; sizeSliceBottomPadding: number; sizeBaseMargin: number; sizeLabelVerticalMargin: number; sizeTipMargin: number; sizeFieldHorizontalMargin: number; sizeFieldVerticalMargin: number; sizeFieldSetMargin: number; sizeIconMargin: number; sizeChoiceMargin: number; sizeMenuMargin: number; sizeTagMargin: number; sizeTabMargin: number; sizeBulletMargin: number; sizeAttributeMargin: number; sizePopupMargin: number; sizeHeaderIcon: number; sizeWysiwygIcon: number; sizeIllustrationS: number; sizeIllustrationXM: number; sizeIllustrationM: number; sizeIllustrationL: number; sizeIllustrationXXL: number; } export interface ParadigmToneValues { toneValueOverlay: number; toneValueViewer: number; toneValueToolbar: number; toneValueHover: number; toneValueActive: number; toneValueFocus: number; } export interface ParadigmBorders { typeBorderButton: Property.BorderStyle; typeBorderPosition: Property.BorderStyle; } export interface ParadigmLocalFonts { fontH0: Font; fontH1: Font; fontH2: Font; } export interface ParadigmHelpers { sizeBase: number; sizeGrid: number; x0: number; x025: number; x05: number; x1: number; x2: number; x3: number; x4: number; x5: number; x6: number; x8: number; x10: number; x12: number; x15: number; x20: number; } interface AdaptiveValues extends ParadigmLocalFonts, ParadigmLocalSizes { } declare type ParadigmAdaptiveTokens = { [key in keyof AdaptiveValues]: Adaptive; }; export interface ParadigmThemeDescription extends ThemeDescription, ParadigmAdaptiveTokens, ParadigmToneValues, ParadigmBorders, ParadigmHelpers, Breakpoints { colors: LocalParadigmColorsDescriptionStruct & ColorsDescriptionStruct; } interface ParadigmThemeStatic extends Theme, Breakpoints, ParadigmAdaptiveTokens, ParadigmToneValues, ParadigmBorders, ParadigmHelpers, ParadigmLocalColors { } export declare type ParadigmTheme = ParadigmThemeStatic & CustomMediaByViewport; export declare type ParadigmThemeCssVarsWide = ThemeCssVarsWide, 'breakpoints'>; export declare type ParadigmThemeCssVars = ParadigmTheme> = ThemeCssVars; export {};