You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

532 lines
14 KiB

/**
* Flowtype definitions for index
* Generated by Flowgen from a Typescript Definition
* Flowgen v1.17.0
*/
import * as React from "react";
import * as ReactNative from "react-native";
import {
ColorValue,
GestureResponderEvent,
LayoutChangeEvent,
TransformsStyle,
} from "react-native";
export type NumberProp = string | number;
export type NumberArray = NumberProp[] | NumberProp;
export type FillRule = "evenodd" | "nonzero";
export type Units = "userSpaceOnUse" | "objectBoundingBox";
export type MarkerUnits = "strokeWidth" | "userSpaceOnUse";
export type Orient = "auto" | "auto-start-reverse";
export type TextAnchor = "start" | "middle" | "end";
export type FontStyle = "normal" | "italic" | "oblique";
export type FontVariant = "normal" | "small-caps";
export type FontWeight =
| NumberProp
| "normal"
| "bold"
| "bolder"
| "lighter"
| "100"
| "200"
| "300"
| "400"
| "500"
| "600"
| "700"
| "800"
| "900";
export type FontStretch =
| "normal"
| "wider"
| "narrower"
| "ultra-condensed"
| "extra-condensed"
| "condensed"
| "semi-condensed"
| "semi-expanded"
| "expanded"
| "extra-expanded"
| "ultra-expanded";
export type TextDecoration =
| "none"
| "underline"
| "overline"
| "line-through"
| "blink";
export type FontVariantLigatures = "normal" | "none";
export type AlignmentBaseline =
| "baseline"
| "text-bottom"
| "alphabetic"
| "ideographic"
| "middle"
| "central"
| "mathematical"
| "text-top"
| "bottom"
| "center"
| "top"
| "text-before-edge"
| "text-after-edge"
| "before-edge"
| "after-edge"
| "hanging";
export type BaselineShift =
| "sub"
| "super"
| "baseline"
| $ReadOnlyArray<NumberProp>
| NumberProp;
export type LengthAdjust = "spacing" | "spacingAndGlyphs";
export type TextPathMethod = "align" | "stretch";
export type TextPathSpacing = "auto" | "exact";
export type TextPathMidLine = "sharp" | "smooth";
export type Linecap = "butt" | "square" | "round";
export type Linejoin = "miter" | "bevel" | "round";
export interface TouchableProps {
disabled?: boolean;
onPress?: (event: GestureResponderEvent) => void;
onPressIn?: (event: GestureResponderEvent) => void;
onPressOut?: (event: GestureResponderEvent) => void;
onLongPress?: (event: GestureResponderEvent) => void;
delayPressIn?: number;
delayPressOut?: number;
delayLongPress?: number;
}
export type ResponderProps = {
pointerEvents?: "box-none" | "none" | "box-only" | "auto",
...
} & ReactNative.GestureResponderHandlers;
export type Color = ColorValue;
export interface FillProps {
fill?: Color;
fillOpacity?: NumberProp;
fillRule?: FillRule;
}
export interface ClipProps {
clipRule?: FillRule;
clipPath?: string;
}
export interface VectorEffectProps {
vectorEffect?:
| "none"
| "non-scaling-stroke"
| "nonScalingStroke"
| "default"
| "inherit"
| "uri";
}
export interface DefinitionProps {
id?: string;
}
export interface StrokeProps {
stroke?: Color;
strokeWidth?: NumberProp;
strokeOpacity?: NumberProp;
strokeDasharray?: $ReadOnlyArray<NumberProp> | NumberProp;
strokeDashoffset?: NumberProp;
strokeLinecap?: Linecap;
strokeLinejoin?: Linejoin;
strokeMiterlimit?: NumberProp;
}
export interface FontObject {
fontStyle?: FontStyle;
fontVariant?: FontVariant;
fontWeight?: FontWeight;
fontStretch?: FontStretch;
fontSize?: NumberProp;
fontFamily?: string;
textAnchor?: TextAnchor;
textDecoration?: TextDecoration;
letterSpacing?: NumberProp;
wordSpacing?: NumberProp;
kerning?: NumberProp;
fontFeatureSettings?: string;
fontVariantLigatures?: FontVariantLigatures;
fontVariationSettings?: string;
}
export type FontProps = {
font?: FontObject,
...
} & FontObject;
export interface TransformObject {
translate?: NumberArray;
translateX?: NumberProp;
translateY?: NumberProp;
origin?: NumberArray;
originX?: NumberProp;
originY?: NumberProp;
scale?: NumberArray;
scaleX?: NumberProp;
scaleY?: NumberProp;
skew?: NumberArray;
skewX?: NumberProp;
skewY?: NumberProp;
rotation?: NumberProp;
x?: NumberArray;
y?: NumberArray;
}
export type ColumnMajorTransformMatrix = [
number,
number,
number,
number,
number,
number
];
export type TransformProps = {
transform?:
| ColumnMajorTransformMatrix
| string
| TransformObject
| $PropertyType<TransformsStyle, "transform">,
...
} & TransformObject;
export interface CommonMaskProps {
mask?: string;
}
export interface CommonMarkerProps {
marker?: string;
markerStart?: string;
markerMid?: string;
markerEnd?: string;
}
export interface NativeProps {
onLayout?: (event: LayoutChangeEvent) => void;
}
export type CommonPathProps = { ... } & FillProps &
StrokeProps &
ClipProps &
TransformProps &
VectorEffectProps &
ResponderProps &
TouchableProps &
DefinitionProps &
CommonMarkerProps &
CommonMaskProps &
NativeProps;
export type CircleProps = {
cx?: NumberProp,
cy?: NumberProp,
opacity?: NumberProp,
r?: NumberProp,
...
} & CommonPathProps;
declare export var Circle: React.ComponentClass<CircleProps>;
export type CircleType = React.ComponentClass<CircleProps>;
export interface ClipPathProps {
id?: string;
}
declare export var ClipPath: React.ComponentClass<ClipPathProps>;
export type ClipPathType = React.ComponentClass<ClipPathProps>;
declare export var Defs: React.ComponentClass<{ ... }>;
export type DefsType = React.ComponentClass<{ ... }>;
export type EllipseProps = {
cx?: NumberProp,
cy?: NumberProp,
opacity?: NumberProp,
rx?: NumberProp,
ry?: NumberProp,
...
} & CommonPathProps;
declare export var Ellipse: React.ComponentClass<EllipseProps>;
export type EllipseType = React.ComponentClass<EllipseProps>;
export type GProps = {
opacity?: NumberProp,
...
} & CommonPathProps &
FontProps;
declare export var G: React.ComponentClass<GProps>;
export type GType = React.ComponentClass<GProps>;
export interface ForeignObjectProps {
x?: NumberProp;
y?: NumberProp;
width?: NumberProp;
height?: NumberProp;
}
declare export var ForeignObject: React.ComponentClass<ForeignObjectProps>;
export type ForeignObjectType = React.ComponentClass<ForeignObjectProps>;
export type ImageProps = {
x?: NumberProp,
y?: NumberProp,
width?: NumberProp,
height?: NumberProp,
xlinkHref?: $PropertyType<ReactNative.ImageProps, "source"> | string,
href?: $PropertyType<ReactNative.ImageProps, "source"> | string,
preserveAspectRatio?: string,
opacity?: NumberProp,
clipPath?: string,
id?: string,
...
} & ResponderProps &
CommonMaskProps &
ClipProps &
TouchableProps;
declare export var Image: React.ComponentClass<ImageProps>;
export type ImageType = React.ComponentClass<ImageProps>;
export type LineProps = {
opacity?: NumberProp,
x1?: NumberProp,
x2?: NumberProp,
y1?: NumberProp,
y2?: NumberProp,
...
} & CommonPathProps;
declare export var Line: React.ComponentClass<LineProps>;
export type LineType = React.ComponentClass<LineProps>;
export interface LinearGradientProps {
x1?: NumberProp;
x2?: NumberProp;
y1?: NumberProp;
y2?: NumberProp;
gradientUnits?: Units;
gradientTransform?: ColumnMajorTransformMatrix | string;
id?: string;
}
declare export var LinearGradient: React.ComponentClass<LinearGradientProps>;
export type LinearGradientType = React.ComponentClass<LinearGradientProps>;
export type PathProps = {
d?: string,
opacity?: NumberProp,
...
} & CommonPathProps;
declare export var Path: React.ComponentClass<PathProps>;
export type PathType = React.ComponentClass<PathProps>;
export interface PatternProps {
id?: string;
x?: NumberProp;
y?: NumberProp;
width?: NumberProp;
height?: NumberProp;
patternTransform?: ColumnMajorTransformMatrix | string;
patternUnits?: Units;
patternContentUnits?: Units;
viewBox?: string;
preserveAspectRatio?: string;
}
declare export var Pattern: React.ComponentClass<PatternProps>;
export type PatternType = React.ComponentClass<PatternProps>;
export type PolygonProps = {
opacity?: NumberProp,
points?: string | $ReadOnlyArray<NumberProp>,
...
} & CommonPathProps;
declare export var Polygon: React.ComponentClass<PolygonProps>;
export type PolygonType = React.ComponentClass<PolygonProps>;
export type PolylineProps = {
opacity?: NumberProp,
points?: string | $ReadOnlyArray<NumberProp>,
...
} & CommonPathProps;
declare export var Polyline: React.ComponentClass<PolylineProps>;
export type PolylineType = React.ComponentClass<PolylineProps>;
export interface RadialGradientProps {
fx?: NumberProp;
fy?: NumberProp;
rx?: NumberProp;
ry?: NumberProp;
cx?: NumberProp;
cy?: NumberProp;
r?: NumberProp;
gradientUnits?: Units;
gradientTransform?: ColumnMajorTransformMatrix | string;
id?: string;
}
declare export var RadialGradient: React.ComponentClass<RadialGradientProps>;
export type RadialGradientType = React.ComponentClass<RadialGradientProps>;
export type RectProps = {
x?: NumberProp,
y?: NumberProp,
width?: NumberProp,
height?: NumberProp,
rx?: NumberProp,
ry?: NumberProp,
opacity?: NumberProp,
...
} & CommonPathProps;
declare export var Rect: React.ComponentClass<RectProps>;
export type RectType = React.ComponentClass<RectProps>;
export interface StopProps {
stopColor?: Color;
stopOpacity?: NumberProp;
offset?: NumberProp;
}
declare export var Stop: React.ComponentClass<StopProps>;
export type StopType = React.ComponentClass<StopProps>;
export type SvgProps = {
width?: NumberProp,
height?: NumberProp,
viewBox?: string,
preserveAspectRatio?: string,
color?: Color,
title?: string,
...
} & GProps &
ReactNative.ViewProperties;
declare export var Svg: React.ComponentClass<SvgProps>;
export type SvgType = React.ComponentClass<SvgProps>;
declare export default typeof Svg;
export interface SymbolProps {
id?: string;
viewBox?: string;
preserveAspectRatio?: string;
opacity?: NumberProp;
}
declare export var Symbol: React.ComponentClass<SymbolProps>;
export type SymbolType = React.ComponentClass<SymbolProps>;
export type TSpanProps = {
x?: NumberArray,
y?: NumberArray,
dx?: NumberArray,
dy?: NumberArray,
rotate?: NumberArray,
inlineSize?: NumberProp,
...
} & CommonPathProps &
FontProps;
declare export var TSpan: React.ComponentClass<TSpanProps>;
export type TSpanType = React.ComponentClass<TSpanProps>;
export type TextSpecificProps = {
alignmentBaseline?: AlignmentBaseline,
baselineShift?: BaselineShift,
verticalAlign?: NumberProp,
lengthAdjust?: LengthAdjust,
textLength?: NumberProp,
fontData?: null | {
[name: string]: mixed,
...
},
fontFeatureSettings?: string,
...
} & CommonPathProps &
FontProps;
export type TextProps = {
x?: NumberArray,
y?: NumberArray,
dx?: NumberArray,
dy?: NumberArray,
rotate?: NumberArray,
opacity?: NumberProp,
inlineSize?: NumberProp,
...
} & TextSpecificProps;
declare export var Text: React.ComponentClass<TextProps>;
export type TextType = React.ComponentClass<TextProps>;
export type TextPathProps = {
xlinkHref?: string,
href?: string,
startOffset?: NumberProp,
method?: TextPathMethod,
spacing?: TextPathSpacing,
midLine?: TextPathMidLine,
...
} & TextSpecificProps;
declare export var TextPath: React.ComponentClass<TextPathProps>;
export type TextPathType = React.ComponentClass<TextPathProps>;
export type UseProps = {
xlinkHref?: string,
href?: string,
width?: NumberProp,
height?: NumberProp,
x?: NumberProp,
y?: NumberProp,
opacity?: NumberProp,
...
} & CommonPathProps;
declare export var Use: React.ComponentClass<UseProps>;
export type UseType = React.ComponentClass<UseProps>;
export type MaskProps = {
id?: string,
x?: NumberProp,
y?: NumberProp,
width?: NumberProp,
height?: NumberProp,
maskUnits?: Units,
maskContentUnits?: Units,
...
} & CommonPathProps;
declare export var Mask: React.ComponentClass<MaskProps>;
export type MaskType = React.ComponentClass<MaskProps>;
export interface MarkerProps {
id?: string;
viewBox?: string;
preserveAspectRatio?: string;
refX?: NumberProp;
refY?: NumberProp;
markerWidth?: NumberProp;
markerHeight?: NumberProp;
markerUnits?: MarkerUnits;
orient?: Orient | NumberProp;
}
declare export var Marker: React.ComponentClass<MarkerProps>;
export type MarkerType = React.ComponentClass<MarkerProps>;
export type Styles = {
[property: string]: string,
...
};
export interface AST {
tag: string;
style?: Styles;
styles?: string;
priority?: Map<string, boolean | void>;
parent: AST | null;
children: (AST | string)[] | (React$Node | string)[];
props: {
[prop: string]: Styles | string | void,
...
};
Tag: React.ComponentType<>;
}
export type XmlAST = {
children: (XmlAST | string)[],
parent: XmlAST | null,
...
} & AST;
export type JsxAST = {
children: (React$Node | string)[],
...
} & AST;
export type UriProps = {
uri: string | null,
onError?: (error: Error) => void,
override?: SvgProps,
onError?: (error: Error) => void,
onLoad?: () => void,
...
} & SvgProps;
export type UriState = {
xml: string | null,
...
};
export type XmlProps = {
xml: string | null,
onError?: (error: Error) => void,
override?: SvgProps,
...
} & SvgProps;
export type XmlState = {
ast: JsxAST | null,
...
};
export type AstProps = {
ast: JsxAST | null,
override?: SvgProps,
...
} & SvgProps;
export type Middleware = (ast: XmlAST) => XmlAST;
declare export function parse(
source: string,
middleware?: Middleware
): JsxAST | null;
declare export var SvgAst: React.FunctionComponent<AstProps>;
declare export var SvgXml: React.FunctionComponent<XmlProps>;
declare export var SvgFromXml: React.ComponentClass<XmlProps, XmlState>;
declare export var SvgUri: React.FunctionComponent<UriProps>;
declare export var SvgFromUri: React.ComponentClass<UriProps, UriState>;
declare export var SvgCss: React.FunctionComponent<XmlProps>;
declare export var SvgWithCss: React.ComponentClass<XmlProps, XmlState>;
declare export var SvgCssUri: React.FunctionComponent<UriProps>;
declare export var SvgWithCssUri: React.ComponentClass<UriProps, UriState>;
declare export var inlineStyles: Middleware;