@retailmenot/anchor
Version:
A React UI Library by RetailMeNot
217 lines (216 loc) • 10.2 kB
TypeScript
declare module '*.md' {
const value: string;
export default value;
}
declare module '/styled-components' {
import { ThemedCssFunction, DefaultTheme, StyledInterface, CSSKeyframes, SimpleInterpolation, Keyframes } from 'styled-components';
export { StyledInterface, ThemedCssFunction, DefaultTheme, FlattenSimpleInterpolation, createGlobalStyle, FlattenInterpolation, ThemeProps, ThemeContext, } from 'styled-components';
export const ThemeProvider: any;
export const css: ThemedCssFunction<DefaultTheme>;
export const withTheme: any;
export const Box: any;
export const useTheme: any;
export const keyframes: (strings: TemplateStringsArray | CSSKeyframes, ...interpolations: SimpleInterpolation[]) => Keyframes;
export const up: (breakpoint: string, styles: any) => any;
export const down: (breakpoint: string, styles: any) => any;
const styled: StyledInterface;
export default styled;
}
declare module '/system' {
const breakpoints: any;
const th: any;
const variant: <T extends {}>({ key, default: defaultValue, variants, prop, }: {
key?: string;
default?: string | number;
variants?: {
[key: string]: T;
[key: number]: T;
};
prop?: string;
}) => (props: any) => any;
const compose: any;
import * as CSS from 'csstype';
type TLengthStyledSystem = string | 0 | number;
type ResponsiveValue<T> = T | {
[key: string]: T;
};
interface BordersProps<TLength = TLengthStyledSystem> {
border?: ResponsiveValue<CSS.BorderProperty<TLength>>;
borderColor?: ResponsiveValue<CSS.BorderColorProperty>;
borderWidth?: ResponsiveValue<CSS.BorderWidthProperty<TLength>>;
borderStyle?: ResponsiveValue<CSS.BorderStyleProperty>;
borderRadius?: ResponsiveValue<CSS.BorderRadiusProperty<TLength>>;
borderTop?: ResponsiveValue<CSS.BorderTopProperty<TLength>>;
borderTopColor?: ResponsiveValue<CSS.BorderTopColorProperty>;
borderRight?: ResponsiveValue<CSS.BorderRightProperty<TLength>>;
borderRightColor?: ResponsiveValue<CSS.BorderRightColorProperty>;
borderLeft?: ResponsiveValue<CSS.BorderLeftProperty<TLength>>;
borderLeftColor?: ResponsiveValue<CSS.BorderLeftColorProperty>;
borderBottom?: ResponsiveValue<CSS.BorderBottomProperty<TLength>>;
borderBottomColor?: ResponsiveValue<CSS.BorderBottomColorProperty>;
}
interface FlexboxProps<TLength = TLengthStyledSystem> {
display?: ResponsiveValue<CSS.DisplayProperty>;
alignItems?: ResponsiveValue<CSS.AlignItemsProperty>;
alignContent?: ResponsiveValue<CSS.AlignContentProperty>;
justifyContent?: ResponsiveValue<CSS.JustifyContentProperty>;
justifyItems?: ResponsiveValue<CSS.JustifyItemsProperty>;
flexWrap?: ResponsiveValue<CSS.FlexWrapProperty>;
flexBasis?: ResponsiveValue<CSS.FlexBasisProperty<TLength>>;
flexDirection?: ResponsiveValue<CSS.FlexDirectionProperty>;
flex?: ResponsiveValue<CSS.FlexProperty<TLength>>;
justifySelf?: ResponsiveValue<CSS.JustifySelfProperty>;
alignSelf?: ResponsiveValue<CSS.AlignSelfProperty>;
}
interface LayoutProps<TLength = TLengthStyledSystem> {
display?: ResponsiveValue<CSS.DisplayProperty>;
width?: ResponsiveValue<CSS.WidthProperty<TLength>>;
height?: ResponsiveValue<CSS.HeightProperty<TLength>>;
maxWidth?: ResponsiveValue<CSS.MaxWidthProperty<TLength>>;
maxHeight?: ResponsiveValue<CSS.MaxHeightProperty<TLength>>;
minWidth?: ResponsiveValue<CSS.MinWidthProperty<TLength>>;
minHeight?: ResponsiveValue<CSS.MinHeightProperty<TLength>>;
verticalAlign?: ResponsiveValue<CSS.VerticalAlignProperty<TLength>>;
size?: ResponsiveValue<CSS.HeightProperty<TLength>>;
}
interface SpaceProps<TLength = TLengthStyledSystem> {
m?: ResponsiveValue<CSS.MarginProperty<TLength>>;
margin?: ResponsiveValue<CSS.MarginProperty<TLength>>;
mt?: ResponsiveValue<CSS.MarginTopProperty<TLength>>;
marginTop?: ResponsiveValue<CSS.MarginTopProperty<TLength>>;
mr?: ResponsiveValue<CSS.MarginRightProperty<TLength>>;
marginRight?: ResponsiveValue<CSS.MarginRightProperty<TLength>>;
mb?: ResponsiveValue<CSS.MarginBottomProperty<TLength>>;
marginBottom?: ResponsiveValue<CSS.MarginBottomProperty<TLength>>;
ml?: ResponsiveValue<CSS.MarginLeftProperty<TLength>>;
marginLeft?: ResponsiveValue<CSS.MarginLeftProperty<TLength>>;
mx?: ResponsiveValue<CSS.PaddingProperty<TLength>>;
my?: ResponsiveValue<CSS.PaddingProperty<TLength>>;
p?: ResponsiveValue<CSS.PaddingProperty<TLength>>;
padding?: ResponsiveValue<CSS.PaddingProperty<TLength>>;
pt?: ResponsiveValue<CSS.PaddingTopProperty<TLength>>;
paddingTop?: ResponsiveValue<CSS.PaddingTopProperty<TLength>>;
pr?: ResponsiveValue<CSS.PaddingRightProperty<TLength>>;
paddingRight?: ResponsiveValue<CSS.PaddingRightProperty<TLength>>;
pb?: ResponsiveValue<CSS.PaddingBottomProperty<TLength>>;
paddingBottom?: ResponsiveValue<CSS.PaddingBottomProperty<TLength>>;
pl?: ResponsiveValue<CSS.PaddingLeftProperty<TLength>>;
paddingLeft?: ResponsiveValue<CSS.PaddingLeftProperty<TLength>>;
px?: ResponsiveValue<CSS.PaddingProperty<TLength>>;
py?: ResponsiveValue<CSS.PaddingProperty<TLength>>;
}
interface TypographyProps<TLength = TLengthStyledSystem> {
fontFamily?: ResponsiveValue<CSS.FontFamilyProperty>;
fontSize?: ResponsiveValue<CSS.FontSizeProperty<TLength>>;
lineHeight?: ResponsiveValue<CSS.LineHeightProperty<TLength>>;
fontWeight?: ResponsiveValue<CSS.FontWeightProperty>;
textAlign?: ResponsiveValue<CSS.TextAlignProperty>;
letterSpacing?: ResponsiveValue<CSS.LetterSpacingProperty<TLength>>;
color?: ResponsiveValue<CSS.ColorProperty>;
textTransform?: ResponsiveValue<CSS.TextTransformProperty>;
}
interface MarginProps extends Pick<SpaceProps, 'm' | 'margin' | 'mt' | 'marginTop' | 'mb' | 'marginBottom' | 'ml' | 'marginLeft' | 'mr' | 'marginRight' | 'my' | 'mx'> {
}
interface PaddingProps extends Pick<SpaceProps, 'p' | 'padding' | 'pt' | 'paddingTop' | 'pb' | 'paddingBottom' | 'pl' | 'paddingLeft' | 'pr' | 'paddingRight' | 'py' | 'px'> {
}
interface DisplayProps extends Pick<LayoutProps, 'display'> {
}
interface WidthProps extends Pick<LayoutProps, 'width'> {
}
interface MaxWidthProps extends Pick<LayoutProps, 'maxWidth'> {
}
interface MinWidthProps extends Pick<LayoutProps, 'minWidth'> {
}
interface HeightProps extends Pick<LayoutProps, 'height'> {
}
interface MaxHeightProps extends Pick<LayoutProps, 'maxHeight'> {
}
interface MinHeightProps extends Pick<LayoutProps, 'minHeight'> {
}
interface VerticalAlignProps extends Pick<LayoutProps, 'verticalAlign'> {
}
interface FontFamilyProps extends Pick<TypographyProps, 'fontFamily'> {
}
interface FontSizeProps extends Pick<TypographyProps, 'fontSize'> {
}
interface LineHeightProps extends Pick<TypographyProps, 'lineHeight'> {
}
interface FontWeightProps extends Pick<TypographyProps, 'fontWeight'> {
}
interface TextAlignProps extends Pick<TypographyProps, 'textAlign'> {
}
interface LetterSpacingProps extends Pick<TypographyProps, 'letterSpacing'> {
}
interface TextTransformProps extends Pick<TypographyProps, 'textTransform'> {
}
interface ColorProps extends Pick<TypographyProps, 'color'> {
}
interface BorderProps extends Pick<BordersProps, 'border'> {
}
interface BorderColorProps extends Pick<BordersProps, 'borderColor'> {
}
interface BorderWidthProps extends Pick<BordersProps, 'borderWidth'> {
}
interface BorderStyleProps extends Pick<BordersProps, 'borderStyle'> {
}
interface BorderRadiusProps extends Pick<BordersProps, 'borderRadius'> {
}
interface BorderTopProps extends Pick<BordersProps, 'borderTop'> {
}
interface BorderTopColorProps extends Pick<BordersProps, 'borderTopColor'> {
}
interface BorderRightProps extends Pick<BordersProps, 'borderRight'> {
}
interface BorderRightColorProps extends Pick<BordersProps, 'borderRightColor'> {
}
interface BorderLeftProps extends Pick<BordersProps, 'borderLeft'> {
}
interface BorderLeftColorProps extends Pick<BordersProps, 'borderLeftColor'> {
}
interface BorderBottomProps extends Pick<BordersProps, 'borderBottom'> {
}
interface BorderBottomColorProps extends Pick<BordersProps, 'borderBottomColor'> {
}
interface BackgroundColorProps<TLength = TLengthStyledSystem> {
backgroundColor?: ResponsiveValue<CSS.BackgroundProperty<TLength>>;
}
interface StyleFn {
propTypes?: string[];
(...args: any[]): any;
}
const fontFamily: StyleFn;
const fontSize: StyleFn;
const lineHeight: StyleFn;
const fontWeight: StyleFn;
const textAlign: StyleFn;
const letterSpacing: StyleFn;
const textTransform: StyleFn;
const color: StyleFn;
const backgroundColor: StyleFn;
const flexboxes: StyleFn;
const space: StyleFn;
const layout: StyleFn;
const margin: StyleFn;
const padding: StyleFn;
const width: StyleFn;
const minWidth: StyleFn;
const maxWidth: StyleFn;
const height: StyleFn;
const minHeight: StyleFn;
const maxHeight: StyleFn;
const display: StyleFn;
const verticalAlign: StyleFn;
const border: StyleFn;
const borderWidth: StyleFn;
const borderStyle: StyleFn;
const borderColor: StyleFn;
const borderRadius: StyleFn;
const borderTop: StyleFn;
const borderTopColor: StyleFn;
const borderRight: StyleFn;
const borderRightColor: StyleFn;
const borderLeft: StyleFn;
const borderLeftColor: StyleFn;
const borderBottom: StyleFn;
const borderBottomColor: StyleFn;
}