UNPKG

react-native

Version:

A framework for building native apps using React

577 lines (544 loc) • 14.4 kB
/** * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * * @flow strict-local * @format * @oncall flow */ declare class StyleSheet { disabled: boolean; +href: string; +media: MediaList; +ownerNode: Node; +parentStyleSheet: ?StyleSheet; +title: string; +type: string; } declare class StyleSheetList { @@iterator(): Iterator<StyleSheet>; length: number; [index: number]: StyleSheet; } declare class MediaList { @@iterator(): Iterator<string>; appendMedium(newMedium: string): void; deleteMedium(oldMedium: string): void; item(index: number): ?string; length: number; mediaText: string; [index: number]: string; } declare class CSSStyleSheet extends StyleSheet { +cssRules: CSSRuleList; deleteRule(index: number): void; insertRule(rule: string, index: number): number; +ownerRule: ?CSSRule; replace(text: string): Promise<CSSStyleSheet>; replaceSync(text: string): void; } declare class CSSRule { static CHARSET_RULE: number; static COUNTER_STYLE_RULE: number; cssText: string; static DOCUMENT_RULE: number; static FONT_FACE_RULE: number; static FONT_FEATURE_VALUES_RULE: number; static IMPORT_RULE: number; static KEYFRAME_RULE: number; static KEYFRAMES_RULE: number; static MEDIA_RULE: number; static NAMESPACE_RULE: number; static PAGE_RULE: number; +parentRule: ?CSSRule; +parentStyleSheet: ?CSSStyleSheet; static REGION_STYLE_RULE: number; static STYLE_RULE: number; static SUPPORTS_RULE: number; +type: number; static UNKNOWN_RULE: number; static VIEWPORT_RULE: number; } declare class CSSKeyframeRule extends CSSRule { keyText: string; +style: CSSStyleDeclaration; } declare class CSSKeyframesRule extends CSSRule { appendRule(rule: string): void; +cssRules: CSSRuleList; deleteRule(select: string): void; findRule(select: string): CSSKeyframeRule | null; name: string; } declare class CSSRuleList { @@iterator(): Iterator<CSSRule>; item(index: number): ?CSSRule; length: number; [index: number]: CSSRule; } declare class CSSStyleDeclaration { @@iterator(): Iterator<string>; /* DOM CSS Properties */ alignContent: string; alignItems: string; alignSelf: string; all: string; animation: string; animationDelay: string; animationDirection: string; animationDuration: string; animationFillMode: string; animationIterationCount: string; animationName: string; animationPlayState: string; animationTimingFunction: string; backdropFilter: string; backfaceVisibility: string; background: string; backgroundAttachment: string; backgroundBlendMode: string; backgroundClip: string; backgroundColor: string; backgroundImage: string; backgroundOrigin: string; backgroundPosition: string; backgroundPositionX: string; backgroundPositionY: string; backgroundRepeat: string; backgroundSize: string; blockSize: string; border: string; borderBlockEnd: string; borderBlockEndColor: string; borderBlockEndStyle: string; borderBlockEndWidth: string; borderBlockStart: string; borderBlockStartColor: string; borderBlockStartStyle: string; borderBlockStartWidth: string; borderBottom: string; borderBottomColor: string; borderBottomLeftRadius: string; borderBottomRightRadius: string; borderBottomStyle: string; borderBottomWidth: string; borderCollapse: string; borderColor: string; borderImage: string; borderImageOutset: string; borderImageRepeat: string; borderImageSlice: string; borderImageSource: string; borderImageWidth: string; borderInlineEnd: string; borderInlineEndColor: string; borderInlineEndStyle: string; borderInlineEndWidth: string; borderInlineStart: string; borderInlineStartColor: string; borderInlineStartStyle: string; borderInlineStartWidth: string; borderLeft: string; borderLeftColor: string; borderLeftStyle: string; borderLeftWidth: string; borderRadius: string; borderRight: string; borderRightColor: string; borderRightStyle: string; borderRightWidth: string; borderSpacing: string; borderStyle: string; borderTop: string; borderTopColor: string; borderTopLeftRadius: string; borderTopRightRadius: string; borderTopStyle: string; borderTopWidth: string; borderWidth: string; bottom: string; boxDecorationBreak: string; boxShadow: string; boxSizing: string; breakAfter: string; breakBefore: string; breakInside: string; captionSide: string; clear: string; clip: string; clipPath: string; color: string; columnCount: string; columnFill: string; columnGap: string; columnRule: string; columnRuleColor: string; columnRuleStyle: string; columnRuleWidth: string; columns: string; columnSpan: string; columnWidth: string; contain: string; content: string; counterIncrement: string; counterReset: string; cssFloat: string; cssText: string; cursor: string; direction: string; display: string; emptyCells: string; filter: string; flex: string; flexBasis: string; flexDirection: string; flexFlow: string; flexGrow: string; flexShrink: string; flexWrap: string; float: string; font: string; fontFamily: string; fontFeatureSettings: string; fontKerning: string; fontLanguageOverride: string; fontSize: string; fontSizeAdjust: string; fontStretch: string; fontStyle: string; fontSynthesis: string; fontVariant: string; fontVariantAlternates: string; fontVariantCaps: string; fontVariantEastAsian: string; fontVariantLigatures: string; fontVariantNumeric: string; fontVariantPosition: string; fontWeight: string; getPropertyPriority(property: string): string; getPropertyValue(property: string): string; grad: string; grid: string; gridArea: string; gridAutoColumns: string; gridAutoFlow: string; gridAutoPosition: string; gridAutoRows: string; gridColumn: string; gridColumnEnd: string; gridColumnStart: string; gridRow: string; gridRowEnd: string; gridRowStart: string; gridTemplate: string; gridTemplateAreas: string; gridTemplateColumns: string; gridTemplateRows: string; height: string; hyphens: string; imageOrientation: string; imageRendering: string; imageResolution: string; imeMode: string; inherit: string; initial: string; inlineSize: string; isolation: string; item(index: number): string; justifyContent: string; left: string; length: number; letterSpacing: string; lineBreak: string; lineHeight: string; listStyle: string; listStyleImage: string; listStylePosition: string; listStyleType: string; margin: string; marginBlockEnd: string; marginBlockStart: string; marginBottom: string; marginInlineEnd: string; marginInlineStart: string; marginLeft: string; marginRight: string; marginTop: string; marks: string; mask: string; maskType: string; maxBlockSize: string; maxHeight: string; maxInlineSize: string; maxWidth: string; minBlockSize: string; minHeight: string; minInlineSize: string; minWidth: string; mixBlendMode: string; mozTransform: string; mozTransformOrigin: string; mozTransitionDelay: string; mozTransitionDuration: string; mozTransitionProperty: string; mozTransitionTimingFunction: string; objectFit: string; objectPosition: string; offsetBlockEnd: string; offsetBlockStart: string; offsetInlineEnd: string; offsetInlineStart: string; opacity: string; order: string; orphans: string; outline: string; outlineColor: string; outlineOffset: string; outlineStyle: string; outlineWidth: string; overflow: string; overflowWrap: string; overflowX: string; overflowY: string; padding: string; paddingBlockEnd: string; paddingBlockStart: string; paddingBottom: string; paddingInlineEnd: string; paddingInlineStart: string; paddingLeft: string; paddingRight: string; paddingTop: string; pageBreakAfter: string; pageBreakBefore: string; pageBreakInside: string; parentRule: CSSRule; perspective: string; perspectiveOrigin: string; pointerEvents: string; position: string; quotes: string; rad: string; removeProperty(property: string): string; resize: string; right: string; rubyAlign: string; rubyMerge: string; rubyPosition: string; scrollBehavior: string; scrollSnapCoordinate: string; scrollSnapDestination: string; scrollSnapPointsX: string; scrollSnapPointsY: string; scrollSnapType: string; setProperty(property: string, value: ?string, priority: ?string): void; setPropertyPriority(property: string, priority: string): void; shapeImageThreshold: string; shapeMargin: string; shapeOutside: string; tableLayout: string; tabSize: string; textAlign: string; textAlignLast: string; textCombineUpright: string; textDecoration: string; textDecorationColor: string; textDecorationLine: string; textDecorationStyle: string; textIndent: string; textOrientation: string; textOverflow: string; textRendering: string; textShadow: string; textTransform: string; textUnderlinePosition: string; top: string; touchAction: string; transform: string; transformOrigin: string; transformStyle: string; transition: string; transitionDelay: string; transitionDuration: string; transitionProperty: string; transitionTimingFunction: string; turn: string; unicodeBidi: string; unicodeRange: string; userSelect: string; verticalAlign: string; visibility: string; webkitBackdropFilter: string; webkitOverflowScrolling: string; webkitTransform: string; webkitTransformOrigin: string; webkitTransitionDelay: string; webkitTransitionDuration: string; webkitTransitionProperty: string; webkitTransitionTimingFunction: string; whiteSpace: string; widows: string; width: string; willChange: string; [index: number]: string; wordBreak: string; wordSpacing: string; wordWrap: string; writingMode: string; zIndex: string; } declare class TransitionEvent extends Event { elapsedTime: number; // readonly propertyName: string; // readonly pseudoElement: string; // readonly } type AnimationPlayState = 'idle' | 'running' | 'paused' | 'finished'; type AnimationReplaceState = 'active' | 'removed' | 'persisted'; type FillMode = 'none' | 'forwards' | 'backwards' | 'both' | 'auto'; type PlaybackDirection = | 'normal' | 'reverse' | 'alternate' | 'alternate-reverse'; type IterationCompositeOperation = 'replace' | 'accumulate'; type CompositeOperation = 'replace' | 'add' | 'accumulate'; type CompositeOperationOrAuto = CompositeOperation | 'auto'; declare class AnimationTimeline { +currentTime: number | null; } type DocumentTimelineOptions = { originTime?: DOMHighResTimeStamp, ... }; declare class DocumentTimeline extends AnimationTimeline { constructor(options?: DocumentTimelineOptions): void; } type EffectTiming = { delay: number, direction: PlaybackDirection, duration: number | string, easing: string, endDelay: number, fill: FillMode, iterations: number, iterationStart: number, ... }; type OptionalEffectTiming = Partial<EffectTiming>; type ComputedEffectTiming = EffectTiming & { activeDuration: number, currentIteration: number | null, endTime: number, localTime: number | null, progress: number | null, ... }; declare class AnimationEffect { getComputedTiming(): ComputedEffectTiming; getTiming(): EffectTiming; updateTiming(timing?: OptionalEffectTiming): void; } type Keyframe = { composite?: CompositeOperationOrAuto, easing?: string, offset?: number | null, [property: string]: string | number | null | void, ... }; type ComputedKeyframe = { composite: CompositeOperationOrAuto, computedOffset: number, easing: string, offset: number | null, [property: string]: string | number | null | void, ... }; type PropertyIndexedKeyframes = { composite?: CompositeOperationOrAuto | CompositeOperationOrAuto[], easing?: string | string[], offset?: number | (number | null)[], [property: string]: | string | string[] | number | null | (number | null)[] | void, ... }; type KeyframeEffectOptions = Partial<EffectTiming> & { composite?: CompositeOperation, iterationComposite?: IterationCompositeOperation, ... }; declare class KeyframeEffect extends AnimationEffect { composite: CompositeOperation; constructor( target: Element | null, keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeEffectOptions, ): void; constructor(source: KeyframeEffect): void; getKeyframes(): ComputedKeyframe[]; iterationComposite: IterationCompositeOperation; setKeyframes(keyframes: Keyframe[] | PropertyIndexedKeyframes | null): void; target: Element | null; } declare class Animation extends EventTarget { cancel(): void; commitStyles(): void; constructor( effect?: AnimationEffect | null, timeline?: AnimationTimeline | null, ): void; currentTime: number | null; effect: AnimationEffect | null; finish(): void; +finished: Promise<Animation>; id: string; oncancel: ?(ev: AnimationPlaybackEvent) => mixed; onfinish: ?(ev: AnimationPlaybackEvent) => mixed; onremove: ?(ev: AnimationPlaybackEvent) => mixed; pause(): void; +pending: boolean; persist(): void; play(): void; playbackRate: number; +playState: AnimationPlayState; +ready: Promise<Animation>; +replaceState: AnimationReplaceState; reverse(): void; startTime: number | null; timeline: AnimationTimeline | null; updatePlaybackRate(playbackRate: number): void; } type KeyframeAnimationOptions = KeyframeEffectOptions & { id?: string, ... }; type GetAnimationsOptions = { subtree?: boolean, ... }; interface Animatable { animate( keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeAnimationOptions, ): Animation; getAnimations(options?: GetAnimationsOptions): Animation[]; } type AnimationPlaybackEvent$Init = Event$Init & { currentTime?: number | null, timelineTime?: number | null, ... }; declare class AnimationPlaybackEvent extends Event { constructor( type: string, animationEventInitDict?: AnimationPlaybackEvent$Init, ): void; +currentTime: number | null; +timelineTime: number | null; }