-
Notifications
You must be signed in to change notification settings - Fork 14
/
index.ts
107 lines (92 loc) · 2.26 KB
/
index.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
import {ColorValue, PressableProps, TextStyle, ViewStyle} from 'react-native';
import {RehydrateAction} from 'redux-persist';
import {RootState} from '../core/store/rootReducer';
import {SFSymbols} from '../../resources/symbols/SFSymbols';
import {IconProps} from 'react-native-vector-icons/Icon';
import {SFSymbolProps} from 'react-native-sfsymbols';
export interface ICalendarSpec {
sameDay: string;
nextDay: string;
lastDay: string;
nextWeek: string;
lastWeek: string;
sameElse: string;
}
export interface IIconPlatformProps
extends Omit<IconProps, 'name' | 'color'>,
Omit<SFSymbolProps, 'name'> {
iosName?: SFSymbols;
androidName?: string;
color?: ColorValue;
style?: TextStyle | ViewStyle;
}
export enum AppEnvironment {
development = 'development',
test = 'test',
staging = 'staging',
production = 'production',
}
export interface INavigationPage {
id: string;
name: string;
}
export interface IOnboardingData {
header: string;
body: string;
icon: SFSymbols | string;
}
export enum LoadState {
needLoad = 'needLoad',
idle = 'idle',
error = 'error',
allIsLoaded = 'allIsLoaded',
firstLoad = 'firstLoad',
pullToRefresh = 'pullToRefresh',
refreshing = 'refreshing',
loadingMore = 'loadingMore',
}
export interface TouchablePlatformProps extends Omit<PressableProps, 'style'> {
style?: ViewStyle;
}
export enum ButtonType {
solid = 'solid',
borderless = 'borderless',
outline = 'outline',
outlineNegative = 'outlineNegative',
}
// eslint-disable-next-line import/no-unused-modules
export interface IListState<T> {
data: T[];
loadState: LoadState;
error: string | null;
}
// eslint-disable-next-line import/no-unused-modules
export interface ISection<T> {
data: T[];
id: string;
title: string;
}
export interface RehydrateAppAction extends RehydrateAction {
payload?: RootState;
}
export enum ErrorRepresentationType {
input = 'input',
toast = 'toast',
alert = 'alert',
}
export interface IErrorResult {
message: string;
visualRepresentation: ErrorRepresentationType;
}
export interface ISize {
extraSmall: number;
extraSmallPlus: number;
small: number;
smallPlus: number;
medium: number;
mediumPlus: number;
large: number;
largePlus: number;
extraLarge: number;
extraLargePlus: number;
}