mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
5d26ceaa23
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/35169 This reorganizes typing structure a bit. `Utilities.d.ts` was originally added for utilitiy types but I ended up leaving it a grab bag of types that didn't belong to any individual bit of code. Out of what is in it right now, `Insets` was actually public, and seems to have been imported. We also run into files around the renderer which are [currently overwritten](https://github.com/facebook/react-native/commits/e286da25fc83324363486eb668806aca179f74b3/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts) by the React sync script. Finally, all of the top-level imports of `Utilities` were auto-generated by VS Code, but fail in real apps. I think this is because our tsconfig sets a `baseUrl` to allow resolution from the types folder, so the tooling in the RN repo will use that, but it breaks in real apps that don't have that mapping. This splits all these up into a couple separate directories that are hopefully easier to reason about, and removes `Omit` which has been a builtin type for quite some time (we were actually already using built-in `Omit`). Changelog: [General][Fixed] - Fixup TS Organization Reviewed By: cipolleschi Differential Revision: D40932319 fbshipit-source-id: 0b6e3e3eda603885b4dc01dcb9f5233aa546d128
88 lines
2.3 KiB
TypeScript
88 lines
2.3 KiB
TypeScript
/**
|
|
* 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.
|
|
*
|
|
* @format
|
|
*/
|
|
|
|
import type * as React from 'react';
|
|
import {Constructor} from '../../../types/private/Utilities';
|
|
import {NativeMethods} from '../../../types/public/ReactNativeTypes';
|
|
import {ColorValue} from '../../StyleSheet/StyleSheet';
|
|
import {ViewProps} from '../View/ViewPropTypes';
|
|
|
|
export interface RefreshControlPropsIOS extends ViewProps {
|
|
/**
|
|
* The color of the refresh indicator.
|
|
*/
|
|
tintColor?: ColorValue | undefined;
|
|
|
|
/**
|
|
* The title displayed under the refresh indicator.
|
|
*/
|
|
title?: string | undefined;
|
|
|
|
/**
|
|
* Title color.
|
|
*/
|
|
titleColor?: ColorValue | undefined;
|
|
}
|
|
|
|
export interface RefreshControlPropsAndroid extends ViewProps {
|
|
/**
|
|
* The colors (at least one) that will be used to draw the refresh indicator.
|
|
*/
|
|
colors?: ColorValue[] | undefined;
|
|
|
|
/**
|
|
* Whether the pull to refresh functionality is enabled.
|
|
*/
|
|
enabled?: boolean | undefined;
|
|
|
|
/**
|
|
* The background color of the refresh indicator.
|
|
*/
|
|
progressBackgroundColor?: ColorValue | undefined;
|
|
|
|
/**
|
|
* Size of the refresh indicator, see RefreshControl.SIZE.
|
|
*/
|
|
size?: number | undefined;
|
|
}
|
|
|
|
export interface RefreshControlProps
|
|
extends RefreshControlPropsIOS,
|
|
RefreshControlPropsAndroid {
|
|
/**
|
|
* Called when the view starts refreshing.
|
|
*/
|
|
onRefresh?: (() => void) | undefined;
|
|
|
|
/**
|
|
* Whether the view should be indicating an active refresh.
|
|
*/
|
|
refreshing: boolean;
|
|
|
|
/**
|
|
* Progress view top offset
|
|
*/
|
|
progressViewOffset?: number | undefined;
|
|
}
|
|
|
|
/**
|
|
* This component is used inside a ScrollView or ListView to add pull to refresh
|
|
* functionality. When the ScrollView is at `scrollY: 0`, swiping down
|
|
* triggers an `onRefresh` event.
|
|
*
|
|
* __Note:__ `refreshing` is a controlled prop, this is why it needs to be set to true
|
|
* in the `onRefresh` function otherwise the refresh indicator will stop immediately.
|
|
*/
|
|
declare class RefreshControlComponent extends React.Component<RefreshControlProps> {}
|
|
declare const RefreshControlBase: Constructor<NativeMethods> &
|
|
typeof RefreshControlComponent;
|
|
export class RefreshControl extends RefreshControlBase {
|
|
static SIZE: Object; // Undocumented
|
|
}
|