import { HTMLAttributes, HTMLProps } from 'react';
declare type Omit = Pick>;
declare type PropsAndAttrs = HTMLAttributes & HTMLProps;
declare type ReducedHTMLProps = Omit;
interface SpecificFlexContainerProps {
/**
* direction
* @returns flex-direction css property
* @type object | 'row' | 'column'
* @example
* direction='row'
* direction={{ 0: 'row', 768: 'column' }}
*/
direction?: object | 'row' | 'column';
/**
* wrap
* @returns flex-wrap css property
* @type object | 'wrap' | 'nowrap'
* @example
* wrap='wrap'
* wrap={{ 0: 'wrap', 768: 'nowrap' }}
*/
wrap?: object | 'wrap' | 'nowrap';
/**
* align
* @returns justify-content css property (horizontal justification)
* @type object | 'left' | 'center' | 'middle' | 'right' | 'space-between' | 'space-around'
* @example
* align='left'
* align={{ 0: 'left', 768: 'center' }}
*/
align?: object | 'left' | 'center' | 'middle' | 'right' | 'space-between' | 'space-around';
/**
* valign
* @returns align-items css property (vertical justification)
* @type object | 'top' | 'middle' | 'center' | 'bottom' | 'baseline' | 'stretch' | 'space-between' | 'space-around'
* @desc 'center' and 'middle' return the same thing
* @example
* valign='center'
* valign={{ 0: 'middle', 768: 'space-between' }}
*/
valign?: object | 'top' | 'middle' | 'center' | 'bottom' | 'baseline' | 'stretch' | 'space-between' | 'space-around';
/**
* valignContent
* @returns align-content css property (vertical justification when flex container has height greater than children)
* @type string | object | 'top' | 'middle'| 'center' | 'bottom' | 'baseline' | 'stretch' | 'space-between' | 'space-around'
* @example
* valignContent='center'
* valignContent={{ 0: 'middle', 768: 'space-between' }}
*/
valignContent?: string | object | 'top' | 'middle' | 'center' | 'bottom' | 'baseline' | 'stretch' | 'space-between' | 'space-around';
}
interface SpecificFlexItemProps {
/**
* @returns align-self css property
* @type object | 'top' | 'bottom' | 'center' | 'middle' | 'stretch'
* @example
* alignSelf='top'
* alignSelf={{ 0: 'top', 768: 'bottom' }}
*/
alignSelf?: object | 'top' | 'bottom' | 'center' | 'middle' | 'stretch';
/**
* grow
* @returns flex-grow css property
* @type string | number | object
* @example
* grow={1}
* grow={{ 0: 1, 768: 0 }}
*/
grow?: string | number | object;
/**
* shrink
* @returns flex-shrink css property
* @type string | number | object
* @example
* shrink={0}
* shrink={{ 0: 1, 768: 0 }}
*/
shrink?: string | number | object;
/**
* order
* @returns order css property
* @type string | number | object
* @example
* order={0}
* order={{ 0: 1, 768: -1 }}
*/
order?: string | number | object;
}
export interface StyleProps {
/**
* bg
* @returns background css property
* @type string | object
* @example
* bg='red'
* bg={{ 0: 'red', 768: 'blue' }}
*/
bg?: string | object;
/**
* bgColor
* @returns background-color css property
* @type string | object
* @example
* bg='red'
* bg={{ 0: 'red', 768: 'blue' }}
*/
bgColor?: string | object;
/**
* bgImage
* @returns background-image css property
* @type string | object
* @example
* bgImage='url(image.jpg)'
* bgImage={{ 768: 'url(image2.jpg)' }}
* bgImage={{ 0: 'url(image1.jpg)', 768: 'url(image2.jpg)' }}
*/
bgImage?: string | object;
/**
* bgPosition
* @returns background-position css property
* @type string | object
* @example
* bgPosition='top left'
* bgPosition={{ 0: 'top left', 768: 'bottom left' }}
*/
bgPosition?: string | object;
/**
* bgSize
* @returns background-size css property
* @type string | object
* @example
* bgSize='cover'
* bgSize={{ 0: '300%', 768: 'cover' }}
*/
bgSize?: string | object;
/**
* border
* @returns border css property
* @type string | object
* @example
* border='solid 1px black'
* border={{ 0: 'solid 1px black', 768: 'solid 2px black' }}
*/
border?: string | object;
/**
* border-left
* @returns border-left css property
* @type string | object
* @example
* borderLeft='solid 1px black'
* borderLeft={{ 0: 'solid 1px black', 768: 'solid 2px black' }}
*/
borderLeft?: string | object;
/**
* border-right
* @returns border-right css property
* @type string | object
* @example
* borderRight='solid 1px black'
* borderRight={{ 0: 'solid 1px black', 768: 'solid 2px black' }}
*/
borderRight?: string | object;
/**
* border-top
* @returns border-top css property
* @type string | object
* @example
* borderTop='solid 1px black'
* borderTop={{ 0: 'solid 1px black', 768: 'solid 2px black' }}
*/
borderTop?: string | object;
/**
* border-bottom
* @returns border-bottom css property
* @type string | object
* @example
* borderBottom='solid 1px black'
* borderBottom={{ 0: 'solid 1px black', 768: 'solid 2px black' }}
*/
borderBottom?: string | object;
/**
* borderRadius
* @returns border-radius css property
* @type string | object
* @example
* borderRadius='50px'
* borderRadius={{ 0: '10px', 768: '25%' }}
*/
borderRadius?: string | object;
/**
* boxShadow
* @returns box-shadow css property
* @type string | object
* @example
* boxShadow='5px 10px 10px black'
* boxShadow={{ 0: '2px 5px 5px black', 768: '5px 10px 10px black' }}
*/
boxShadow?: string | object;
/**
* display
* @returns display css property
* @type string | object
* @example
* display='block'
* display={{ 0: 'none', 768: 'initial' }}
*/
display?: string | object;
/**
* css
* @returns extra css, an extra media query, or child css
* @type string | object
* @example
* css="margin: 100%;"
* css={`
* .child {color: red;}
* `}
* css={`
* [at]media (min-width: 10em) { color: blue; }
* `}
*/
css?: string | Record | undefined;
/**
* m
* @returns margin css property
* @type string | number | object
* @example
* m={50}
* m={{ 0: 50, 768: 75 }}
* m={{ 0: '5px', 768: '50%', 1024: '5em' }}
*/
m?: string | number | object;
/**
* mt
* @returns margin-top css property
* @type string | number | object
* @example
* mt={50}
* mt={{ 0: 50, 768: 75 }}
* mt={{ 0: '5px', 768: '50%', 1024: '5em' }}
*/
mt?: string | number | object;
/**
* mb
* @returns margin-bottom css property
* @type string | number | object
* @example
* mb={50}
* mb={{ 0: 50, 768: 75 }}
* mb={{ 0: '5px', 768: '50%', 1024: '5em' }}
*/
mb?: string | number | object;
/**
* ml
* @returns margin-left css property
* @type string | number | object
* @example
* ml={50}
* ml={{ 0: 50, 768: 75 }}
* ml={{ 0: '5px', 768: '50%', 1024: '5em' }}
*/
ml?: string | number | object;
/**
* mr
* @returns margin-right css property
* @type string | number | object
* @example
* mr={50}
* mr={{ 0: 50, 768: 75 }}
* mr={{ 0: '5px', 768: '50%', 1024: '5em' }}
*/
mr?: string | number | object;
/**
* mx (margin x-axis)
* @returns margin-left & margin-right css properties
* @type string | number | object
* @example
* mx={50}
* mx={{ 0: 50, 768: 75 }}
* mx={{ 0: '5px', 768: '50%', 1024: '5em' }}
*/
mx?: string | number | object;
/**
* my (margin y-axis)
* @returns margin-top & margin-bottom css properties
* @type string | number | object
* @example
* my={50}
* my={{ 0: 50, 768: 75 }}
* my={{ 0: '5px', 768: '50%', 1024: '5em' }}
*/
my?: string | number | object;
/**
* p
* @returns padding css property
* @type string | number | object
* @example
* p={50}
* p={{ 0: 50, 768: 75 }}
* p={{ 0: '5px', 768: '50%', 1024: '5em' }}
*/
p?: string | number | object;
/**
* pt
* @returns padding-top css property
* @type string | number | object
* @example
* pt={50}
* pt={{ 0: 50, 768: 75 }}
* pt={{ 0: '5px', 768: '50%', 1024: '5em' }}
*/
pt?: string | number | object;
/**
* pb
* @returns padding-bottom css property
* @type string | number | object
* @example
* pb={50}
* pb={{ 0: 50, 768: 75 }}
* pb={{ 0: '5px', 768: '50%', 1024: '5em' }}
*/
pb?: string | number | object;
/**
* pl
* @returns padding-left css property
* @type string | number | object
* @example
* pl={50}
* pl={{ 0: 50, 768: 75 }}
* pl={{ 0: '5px', 768: '50%', 1024: '5em' }}
*/
pl?: string | number | object;
/**
* pr
* @returns padding-right css property
* @type string | number | object
* @example
* pr={50}
* pr={{ 0: 50, 768: 75 }}
* pr={{ 0: '5px', 768: '50%', 1024: '5em' }}
*/
pr?: string | number | object;
/**
* px (padding x-axis)
* @returns padding-left & padding-right css properties
* @type string | number | object
* @example
* px={50}
* px={{ 0: 50, 768: 75 }}
* px={{ 0: '5px', 768: '50%', 1024: '5em' }}
*/
px?: string | number | object;
/**
* py (padding y-axis)
* @returns padding-top & padding-bottom css properties
* @type string | number | object
* @example
* py={50}
* py={{ 0: 50, 768: '10%' }}
* py={{ 0: 5, 768: '50%', 1024: '5em', 1440: 0 }}
*/
py?: string | number | object;
/**
* h
* @returns height css property
* @type string | number | object
* @example
* h={50}
* h={{ 0: 50, 768: '10%' }}
* h={{ 0: 5, 768: '50%', 1024: '5em', 1440: 0 }}
*/
h?: string | number | object;
/**
* w
* @returns width & flex-basis css properties
* @type string | number | object
* @example
* w={50}
* w={{ 0: 50, 768: '10%' }}
* w={{ 0: 5, 768: '50%', 1024: '5em', 1440: 0 }}
*/
w?: string | number | object;
/**
* minh
* @returns min-height css property
* @type string | number | object
* @example
* minh={50}
* minh={{ 0: 50, 768: '10%' }}
* minh={{ 0: 5, 768: '50%', 1024: '5em', 1440: 0 }}
*/
minh?: string | number | object;
/**
* minw
* @returns min-width css property
* @type string | number | object
* @example
* minw={50}
* minw={{ 0: 50, 768: '10%' }}
* minw={{ 0: 5, 768: '50%', 1024: '5em', 1440: 0 }}
*/
minw?: string | number | object;
/**
* maxh
* @returns max-height css property
* @type string | number | object
* @example
* maxh={50}
* maxh={{ 0: 50, 768: '10%' }}
* maxh={{ 0: 5, 768: '50%', 1024: '5em', 1440: 0 }}
*/
maxh?: string | number | object;
/**
* maxw
* @returns max-width css property
* @type string | number | object
* @example
* maxw={50}
* maxw={{ 0: 50, 768: '10%' }}
* maxw={{ 0: 5, 768: '50%', 1024: '5em', 1440: 0 }}
*/
maxw?: string | number | object;
/**
* c
* @returns cells tall (height) & cells wide (width)
* @type string | number | object
* @example
* c={5}
* c={{ 0: 10, 768: 8 }}
* c={{ 0: '50px', 768: 8 }}
*/
c?: string | number | object;
/**
* cw
* @returns cells wide (width)
* @type string | number | object
* @example
* cw={5}
* cw={{ 0: 10, 768: 8 }}
* cw={{ 0: '50px', 768: 8 }}
*/
cw?: string | number | object;
/**
* ch
* @returns cells tall (height)
* @type string | number | object
* @example
* ch={5}
* ch={{ 0: 10, 768: 8 }}
* ch={{ 0: '50px', 768: 8 }}
*/
ch?: string | number | object;
/**
* mincw
* @returns min-cells tall (height) & min-cells wide (width)
* @type string | number | object
* @example
* minc={5}
* minc={{ 0: 10, 768: 8 }}
* minc={{ 0: '50px', 768: 8 }}
*/
minc?: string | number | object;
/**
* mincw
* @returns min-cells wide (width)
* @type string | number | object
* @example
* mincw={5}
* mincw={{ 0: 10, 768: 8 }}
* mincw={{ 0: '50px', 768: 8 }}
*/
mincw?: string | number | object;
/**
* minch
* @returns min-cells tall (height)
* @type string | number | object
* @example
* minch={5}
* minch={{ 0: 10, 768: 8 }}
* minch={{ 0: '50px', 768: 8 }}
*/
minch?: string | number | object;
/**
* maxcw
* @returns max-cells wide (width)
* @type string | number | object
* @example
* maxcw={5}
* maxcw={{ 0: 10, 768: 8 }}
* maxcw={{ 0: '50px', 768: 8 }}
*/
maxcw?: string | number | object;
/**
* maxch
* @returns max-cells tall (height)
* @type string | number | object
* @example
* maxch={5}
* maxch={{ 0: 10, 768: 8 }}
* maxch={{ 0: '50px', 768: 8 }}
*/
maxch?: string | number | object;
/**
* cm
* @returns cells margin
* @type string | number | object
* @example
* cm={5}
* cm={{ 0: 4, 768: 3 }}
* cm={{ 0: '50px', 768: 5 }}
*/
cm?: string | number | object;
/**
* cml
* @returns cells margin-left
* @type string | number | object
* @example
* cm={5}
* cm={{ 0: 4, 768: 3 }}
* cm={{ 0: '50px', 768: 5 }}
*/
cml?: string | number | object;
/**
* @returns cells margin-right
* @type string | number | object
* @example
* cmr={5}
* cmr={{ 0: 4, 768: 3 }}
* cmr={{ 0: '50px', 768: 5 }}
*/
cmr?: string | number | object;
/**
* cmt
* @returns cells margin-top
* @type string | number | object
* @example
* cmt={5}
* cmt={{ 0: 4, 768: 3 }}
* cmt={{ 0: '50px', 768: 5 }}
*/
cmt?: string | number | object;
/**
* cmb
* @returns cells margin-bottom
* @type string | number | object
* @example
* cmb={5}
* cmb={{ 0: 4, 768: 3 }}
* cmb={{ 0: '50px', 768: 5 }}
*/
cmb?: string | number | object;
/**
* cmx (cells margin x-axis)
* @returns cells margin-left & cells margin-right
* @type string | number | object
* @example
* cmx={5}
* cmx={{ 0: 4, 768: 3 }}
* cmx={{ 0: '50px', 768: 5 }}
*/
cmx?: string | number | object;
/**
* cmy (cells margin y-axis)
* @returns cells margin-top & cells margin-bottom
* @type string | number | object
* @example
* cmy={5}
* cmy={{ 0: 4, 768: 3 }}
* cmy={{ 0: '50px', 768: 5 }}
*/
cmy?: string | number | object;
/**
* cp
* @returns cells padding
* @type string | number | object
* @example
* cp={5}
* cp={{ 0: 4, 768: 3 }}
* cp={{ 0: '50px', 768: 5 }}
*/
cp?: string | number | object;
/**
* cpl
* @returns cells padding-left
* @type string | number | object
* @example
* cpl={5}
* cpl={{ 0: 4, 768: 3 }}
* cpl={{ 0: '50px', 768: 5 }}
*/
cpl?: string | number | object;
/**
* cpr
* @returns cells padding-right
* @type string | number | object
* @example
* cpr={5}
* cpr={{ 0: 4, 768: 3 }}
* cpr={{ 0: '50px', 768: 5 }}
*/
cpr?: string | number | object;
/**
* cpt
* @returns cells padding-top
* @type string | number | object
* @example
* cpt={5}
* cpt={{ 0: 4, 768: 3 }}
* cpt={{ 0: '50px', 768: 5 }}
*/
cpt?: string | number | object;
/**
* cpb
* @returns cells padding-bottom
* @type string | number | object
* @example
* cpb={5}
* cpb={{ 0: 4, 768: 3 }}
* cpb={{ 0: '50px', 768: 5 }}
*/
cpb?: string | number | object;
/**
* cpx
* @returns cells padding-left & cells padding-right
* @type string | number | object
* @example
* cpx={5}
* cpx={{ 0: 4, 768: 3 }}
* cpx={{ 0: '50px', 768: 5 }}
*/
cpx?: string | number | object;
/**
* cpy
* @returns cells padding-top & cells padding-bottom
* @type string | number | object
* @example
* cpy={5}
* cpy={{ 0: 4, 768: 3 }}
* cpy={{ 0: '50px', 768: 5 }}
*/
cpy?: string | number | object;
/**
* ctransform
* @returns cells transform translate for x and y coords
* @type object
* @desc A breakpoint is required, even if it's "0"
* @example
* ctransform={{ 0: { x: 1, y: 3 } }}
* ctransform={{ 0: { x: 1, y: 3 }, 600: { x: 3, y: 6 } }}
*/
ctransform?: object;
/**
* t
* @returns top css property
* @type string | number | object
* @example
* t={50}
* t={{ 0: 50, 768: '10%' }}
* t={{ 0: 5, 768: '50%', 1024: '5em', 1440: 0 }}
*/
t?: string | number | object;
/**
* b
* @returns bottom css property
* @type string | number | object
* @example
* b={50}
* b={{ 0: 50, 768: '10%' }}
* b={{ 0: 5, 768: '50%', 1024: '5em', 1440: 0 }}
*/
b?: string | number | object;
/**
* l
* @returns left css property
* @type string | number | object
* @example
* l={50}
* l={{ 0: 50, 768: '10%' }}
* l={{ 0: 5, 768: '50%', 1024: '5em', 1440: 0 }}
*/
l?: string | number | object;
/**
* r
* @returns right css property
* @type string | number | object
* @example
* r={50}
* r={{ 0: 50, 768: '10%' }}
* r={{ 0: 5, 768: '50%', 1024: '5em', 1440: 0 }}
*/
r?: string | number | object;
/**
* x
* @returns left & right css properties
* @type string | number | object
* @example
* x={50}
* x={{ 0: 50, 768: '10%' }}
* x={{ 0: 5, 768: '50%', 1024: '5em', 1440: 0 }}
*/
x?: string | number | object;
/**
* y
* @returns top & bottom css properties
* @type string | number | object
* @example
* y={50}
* y={{ 0: 50, 768: '10%' }}
* y={{ 0: 5, 768: '50%', 1024: '5em', 1440: 0 }}
*/
y?: string | number | object;
/**
* ct
* @returns cells top
* @type string | number | object
* @example
* ct={5}
* ct={{ 0: 4, 768: 3 }}
* ct={{ 0: '50px', 768: 5 }}
*/
ct?: string | number | object;
/**
* cb
* @returns cells bottom
* @type string | number | object
* @example
* cb={5}
* cb={{ 0: 4, 768: 3 }}
* cb={{ 0: '50px', 768: 5 }}
*/
cb?: string | number | object;
/**
* cl
* @returns cells left
* @type string | number | object
* @example
* cl={5}
* cl={{ 0: 4, 768: 3 }}
* cl={{ 0: '50px', 768: 5 }}
*/
cl?: string | number | object;
/**
* cr
* @returns cells right
* @type string | number | object
* @example
* cr={5}
* cr={{ 0: 4, 768: 3 }}
* cr={{ 0: '50px', 768: 5 }}
*/
cr?: string | number | object;
/**
* cx
* @returns cells left & cells right
* @type string | number | object
* @example
* cx={5}
* cx={{ 0: 4, 768: 3 }}
* cx={{ 0: '50px', 768: 5 }}
*/
cx?: string | number | object;
/**
* cy
* @returns cells top & cells bottom
* @type string | number | object
* @example
* cy={5}
* cy={{ 0: 4, 768: 3 }}
* cy={{ 0: '50px', 768: 5 }}
*/
cy?: string | number | object;
/**
* position
* @returns position css propert
* @type string | object
* @example
* position='relative'
* position={{ 0: 'fixed', 768: 'relative' }}
*/
position?: string | object | null;
/**
* z
* @returns z-index css property
* @type string | number | object
* @example
* z={5}
* z={{ 0: 50, 768: 5 }}
*/
z?: string | number | object;
/**
* z
* @returns z-index css property
* @type string | number | object
* @example
* z={5}
* z={{ 0: 50, 768: 5 }}
*/
zIndex?: string | number | object;
/**
* color
* @returns color css property
* @type string | object
* @example
* color='blue'
* color={{ 0: 'red', 768: 'blue' }}
*/
color?: string | object;
/**
* color
* @returns color css property
* @type string | object
* @example
* color='blue'
* color={{ 0: 'red', 768: 'blue' }}
*/
textColor?: string | object;
/**
* textAlign
* @returns text-align css property
* @type string | object
* @example
* textAlign='center'
* textAlign={{ 0: 'left', 768: 'center' }}
*/
textAlign?: string | object;
/**
* textTransform
* @returns text-transform css property
* @type string | object
* @example
* textAlign='uppercase'
* textAlign={{ 0: 'capitalize', 768: 'uppercase' }}
*/
textTransform?: string | object;
/**
* fontFamily
* @returns font-family css property
* @type string | object
* @example
* fontFamily='Arial'
* fontFamily={{ 0: 'Arial', 768: 'Comic Sans' }}
*/
fontFamily?: string | object;
/**
* fontSize
* @returns font-size css property
* @type string | object
* @example
* fontSize={12}
* fontSize={{ 0: 12, 768: 14, 1440: 16 }}
*/
fontSize?: string | number | object;
/**
* fontStyle
* @returns font-style css property
* @type string | object
* @example
* fontStyle='italic'
* fontStyle={{ 0: 'italic', 768: 'none' }}
*/
fontStyle?: string | object;
/**
* fontWeight
* @returns font-weight css property
* @type string | object
* @example
* fontStyle='500'
* fontStyle={{ 0: '700', 768: '500' }}
*/
fontWeight?: string | number | object;
/**
* lineHeight
* @returns line-height css property
* @type string | object
* @example
* lineHeight='1.5'
* lineHeight={{ 0: '2.5', 768: '2' }}
*/
lineHeight?: string | number | object;
}
export interface ElementProps extends StyleProps, SpecificFlexContainerProps, SpecificFlexItemProps, ReducedHTMLProps {
/**
* The children of the Element component.
* @type React.ReactNode
*/
children?: React.ReactNode;
/**
* The className of the Element component.
* @type string
*/
className?: string;
/**
* Define the html element being output
* @type string
* @defaultValue 'div'
* @example
* element="div"
* element="span"
*/
element?: string;
/**
* Pass a ref to the Styled-Component
* @example
* const myRef = React.createRef();
*
*/
forwardRef?: React.LegacyRef | undefined;
/**
* The id of the Element component.
* @type string
*/
id?: string | undefined;
}
export {};