react-native-ui-lib
Version:
<p align="center"> <img src="https://user-images.githubusercontent.com/1780255/105469025-56759000-5ca0-11eb-993d-3568c1fd54f4.png" height="250px" style="display:block"/> </p> <p align="center">UI Toolset & Components Library for React Native</p> <p a
63 lines (49 loc) • 2.8 kB
TypeScript
import * as React from 'react';
// import {ColorName} from '../../generatedTypes/style/colors.d';
import {BaseComponentPaddingModifier, BaseComponentMarginModifier} from './spacings';
type TypographyName = 'fixme';
type ColorName = 'fixme';
export class UIComponent<P = {}, S = {}, SS = any> extends React.PureComponent<P, S, SS> {}
export function forwardRef<T, P>(
WrappedComponent: React.ComponentType<T, P>
): React.ComponentType<T, P>;
export function asBaseComponent<P>(WrappedComponent: React.ComponentType<P>): React.ComponentType<P>;
export type BaseComponentColorModifierVariations = ColorName;
export type BaseComponentColorModifiers = Partial<Record<BaseComponentColorModifierVariations, boolean>>;
export type BaseComponentTypographyModifierVariations = TypographyName;
export type BaseComponentTypographyModifiers = Partial<Record<BaseComponentTypographyModifierVariations, boolean>>;
export type BaseComponentAlignmentModifierVariations =
| 'row' | 'spread'
| 'center' | 'centerH' | 'centerV'
| 'left' | 'right' | 'top' | 'bottom';
export type BaseComponentAlignmentModifiers = Partial<Record<BaseComponentAlignmentModifierVariations, boolean>>;
export type BaseComponentFlexStyleModifierVariations =
| 'flex' | 'flex-1' | 'flex-2' | 'flex-3' | 'flex-4' | 'flex-5'
| 'flexG' | 'flexG-1' | 'flexG-2' | 'flexG-3' | 'flexG-4' | 'flexG-5'
| 'flexS' | 'flexS-1' | 'flexS-2' | 'flexS-3' | 'flexS-4' | 'flexS-5';
export type BaseComponentFlexStyleModifiers = Partial<Record<BaseComponentFlexStyleModifierVariations, boolean>>;
export type BaseComponentBorderRadiusModifierVariations = TypographyName;
export type BaseComponentBorderRadiusModifiers = Partial<Record<BaseComponentBorderRadiusModifierVariations, boolean>>;
export type BaseComponentModifiers =
& BaseComponentColorModifiers
& BaseComponentTypographyModifiers
& BaseComponentAlignmentModifiers
& BaseComponentPaddingModifier
& BaseComponentMarginModifier
& BaseComponentFlexStyleModifiers
& BaseComponentBorderRadiusModifiers;
export class BaseComponent<P = {}, S = {}, SS = any> extends React.Component<P & BaseComponentModifiers, S, SS> {
static propTypes?: any;
static defaultProps?: Partial<P>;
// TODO: There's more methods here, need to create more precise types
getThemeProps: () => P & ThemeProps;
extractAccessibilityProps: () => AccessibilityProps;
}
export type _B = Partial<Record<BaseComponentColorModifierVariations, boolean>>;
export class PureBaseComponent<P = {}, S = {}, SS = any> extends React.PureComponent<P & _B, S, SS> {
static propTypes?: any;
static defaultProps?: Partial<P>;
// TODO: There's more methods here, need to create more precise types
getThemeProps: () => P & ThemeProps;
extractAccessibilityProps: () => AccessibilityProps;
}