/// import { ClassValue } from 'classnames/types'; import { ResponsiveSelector } from '../../shared/utils/getResponsiveClasses/getResponsiveClasses'; import { BorderRadiusProps } from './getBorderRadiusClasses'; import { MarginProps } from './getMarginClasses'; import { PaddingProps } from './getPaddingClasses'; import { ArrayElementType } from '../../types/utils/ArrayElementType'; declare type TagName = keyof JSX.IntrinsicElements; export declare type CommonProps = Omit, 'tagName'>; export declare type ElementProps = { /** Element class name */ className?: ClassValue; /** HTML tag name: div, span, h1 etc */ tagName: T; /** Margin for the element */ margin?: MarginProps | false | null; /** Padding for the element */ padding?: PaddingProps; /** Color of the text inside the element */ color?: SupportedColor; /** Element hover color */ hoverColor?: SupportedColor; /** Background color of the element */ backgroundColor?: SupportedColor; /** Element background hover color */ backgroundHoverColor?: SupportedColor; /** Set element to be an inline block element */ inlineBlock?: boolean; /** Set element to be a block element */ block?: boolean; /** Show element */ shown?: boolean; /** Hide element */ hidden?: boolean; /** Set element to be a flex item */ flexItem?: FlexItemProp; /** Add different box shadow to element */ boxShadow?: SupportedBoxShadow; /** Element hover box shadow */ hoverBoxShadow?: SupportedBoxShadow; /** Hide element in specific breakpoints */ responsiveHidden?: ResponsiveHiddenProp; /** Occupy vertical space, used with Flex */ occupyVerticalSpace?: boolean; /** Occupy horizontal space, used with Flex */ occupyHorizontalSpace?: boolean; /** Force wrap for element text */ forceWrap?: boolean; /** React ref */ refElement?: React.Ref; /** Stop content from overflowing outside of element */ hideOverflow?: boolean; /** Allow content to overflow outside of element */ showOverflow?: boolean; /** Align text to center */ alignTextToCenter?: boolean; /** Align text to right */ alignTextToRight?: boolean; /** Sets "cursor: pointer" style for the element to indicate the clickability. Is encouraged to use together with hoverColor and backgroundHoverColor props. */ clickableAppearance?: boolean; /** Border radius for element */ borderRadius?: BorderRadiusProps; /** Allow passing fontweight of normal, medium, bold */ fontWeight?: SupportedFontWeight; } & Omit; export default function Element({ className, tagName, children, margin, padding, color, hoverColor, backgroundColor, backgroundHoverColor, inlineBlock, block, shown, hidden, flexItem, boxShadow, hoverBoxShadow, responsiveHidden, occupyVerticalSpace, occupyHorizontalSpace, forceWrap, style: explicitStyles, refElement, hideOverflow, showOverflow, alignTextToCenter, alignTextToRight, clickableAppearance, borderRadius, fontWeight, ...props }: ElementProps): import("react").DOMElement<{ style?: import("react").CSSProperties; className: string; ref: ((instance: any) => void) | import("react").RefObject | null | undefined; } & Pick, Exclude, "hidden" | "color" | "style" | "block" | "padding" | "backgroundColor" | "boxShadow" | "fontWeight" | "borderRadius" | "margin" | "children" | "className" | "tagName" | "hoverColor" | "backgroundHoverColor" | "inlineBlock" | "shown" | "flexItem" | "hoverBoxShadow" | "responsiveHidden" | "occupyVerticalSpace" | "occupyHorizontalSpace" | "forceWrap" | "refElement" | "hideOverflow" | "showOverflow" | "alignTextToCenter" | "alignTextToRight" | "clickableAppearance">>, any>; export declare const supportedColors: readonly ["inherit", "transparent", "overlay", "white", "black", "purple100", "purple200", "purple300", "purple400", "purple500", "purple600", "purple700", "purple800", "purple900", "gray100", "gray200", "gray300", "gray400", "gray500", "gray600", "gray700", "gray800", "gray900", "red100", "red200", "red300", "red400", "red500", "red600", "red700", "red800", "red900", "blue100", "blue200", "blue300", "blue400", "blue500", "blue600", "blue700", "blue800", "blue900", "orange100", "orange200", "orange300", "orange400", "orange500", "orange600", "orange700", "orange800", "orange900", "green100", "green200", "green300", "green400", "green500", "green600", "green700", "green800", "green900"]; export declare type SupportedColor = ArrayElementType; export declare const supportedFontWeights: readonly ["normal", "medium", "bold"]; export declare type SupportedFontWeight = ArrayElementType; export declare const supportedSizes: readonly ["zero", "xxxs", "xxs", "xs", "sm", "md", "lg", "xlg", "xxlg"]; export declare type SupportedSize = ArrayElementType; export declare const responsiveSupportedSizes: readonly ["xxxs", "xxs", "xs", "sm", "md", "lg", "xlg"]; export declare type ResponsiveSupportedSize = ArrayElementType; export declare type SupportedBoxShadow = 'zero' | 'sm' | 'md' | 'lg'; export declare type ResponsiveHiddenProp = false | ResponsiveSelector; export declare type Color = SupportedColor; export declare type ElementAttributes = ElementProps; export declare type FontWeights = SupportedFontWeight; export declare type ShadowSize = SupportedBoxShadow; export declare type SpacingSize = SupportedSize; export declare type FlexItemProp = boolean | { sizeMultiplier?: number; alignSelfTo?: 'bottom'; }; export {};