@momo-kits/foundation 0.74.2-react-native.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Application/BottomTab.tsx +120 -0
- package/Application/Components.tsx +534 -0
- package/Application/ModalScreen.tsx +268 -0
- package/Application/Navigation.ts +50 -0
- package/Application/NavigationContainer.tsx +120 -0
- package/Application/Navigator.ts +131 -0
- package/Application/StackScreen.tsx +71 -0
- package/Application/index.ts +41 -0
- package/Application/types.ts +216 -0
- package/Application/utils.tsx +151 -0
- package/Assets/DotAnimation.json +256 -0
- package/Assets/SpinnerAnimation.json +1027 -0
- package/Assets/icon.json +4031 -0
- package/Assets/icon_bank.json +506 -0
- package/Assets/language.json +202 -0
- package/Badge/Badge.tsx +56 -0
- package/Badge/BadgeDot.tsx +11 -0
- package/Badge/BadgeRibbon.tsx +125 -0
- package/Badge/Shape.tsx +29 -0
- package/Badge/index.tsx +7 -0
- package/Badge/styles.ts +58 -0
- package/Badge/types.ts +63 -0
- package/Button/index.tsx +310 -0
- package/Button/styles.ts +60 -0
- package/CheckBox/index.tsx +65 -0
- package/CheckBox/styles.ts +15 -0
- package/CheckBox/types.ts +38 -0
- package/Consts/colors+spacing+radius.ts +218 -0
- package/Consts/index.ts +4 -0
- package/Consts/styles.ts +52 -0
- package/Consts/theme.ts +125 -0
- package/Divider/index.tsx +21 -0
- package/Icon/index.tsx +41 -0
- package/Icon/types.ts +27 -0
- package/IconButton/index.tsx +139 -0
- package/IconButton/styles.ts +19 -0
- package/Image/index.tsx +83 -0
- package/Image/styles.ts +5 -0
- package/Image/types.ts +5 -0
- package/Input/Input.tsx +192 -0
- package/Input/InputDropDown.tsx +114 -0
- package/Input/InputMoney.tsx +163 -0
- package/Input/InputOTP.tsx +235 -0
- package/Input/InputSearch.tsx +151 -0
- package/Input/InputTextArea.tsx +159 -0
- package/Input/common.tsx +129 -0
- package/Input/index.tsx +251 -0
- package/Input/styles.ts +160 -0
- package/Input/utils.ts +69 -0
- package/Layout/Card.tsx +180 -0
- package/Layout/GridSystem.tsx +136 -0
- package/Layout/Item.tsx +56 -0
- package/Layout/ItemList.tsx +55 -0
- package/Layout/ItemSectionList.tsx +39 -0
- package/Layout/Screen.tsx +355 -0
- package/Layout/Section.tsx +179 -0
- package/Layout/index.ts +29 -0
- package/Layout/styles.ts +97 -0
- package/Layout/types.ts +23 -0
- package/Layout/utils.ts +55 -0
- package/Loader/DotLoader.tsx +37 -0
- package/Loader/Loader.tsx +13 -0
- package/Loader/ProgressBar.tsx +44 -0
- package/Loader/Spinner.tsx +28 -0
- package/Loader/index.tsx +4 -0
- package/Loader/styles.ts +10 -0
- package/Loader/types.ts +35 -0
- package/Loader/utils.ts +25 -0
- package/Pagination/Dot.tsx +16 -0
- package/Pagination/PaginationDot.tsx +38 -0
- package/Pagination/PaginationNumber.tsx +24 -0
- package/Pagination/PaginationScroll.tsx +88 -0
- package/Pagination/PaginationWhiteDot.tsx +35 -0
- package/Pagination/index.tsx +25 -0
- package/Pagination/styles.ts +50 -0
- package/Pagination/types.ts +40 -0
- package/Popup/PopupNotify.tsx +266 -0
- package/Popup/PopupPromotion.tsx +120 -0
- package/Popup/index.tsx +4 -0
- package/Popup/types.ts +87 -0
- package/Radio/index.tsx +64 -0
- package/Radio/styles.ts +11 -0
- package/Radio/types.ts +38 -0
- package/Skeleton/index.tsx +72 -0
- package/Skeleton/styles.ts +5 -0
- package/Skeleton/types.ts +6 -0
- package/Switch/index.tsx +37 -0
- package/Switch/styles.ts +23 -0
- package/Switch/types.ts +26 -0
- package/Tag/index.tsx +79 -0
- package/Tag/styles.ts +24 -0
- package/Tag/types.ts +36 -0
- package/Text/index.tsx +110 -0
- package/Text/styles.ts +73 -0
- package/Text/types.ts +34 -0
- package/Text/utils.ts +14 -0
- package/Title/index.tsx +132 -0
- package/Title/styles.ts +52 -0
- package/Title/types.ts +52 -0
- package/code-scanner.js +51 -0
- package/index.ts +51 -0
- package/package.json +36 -0
- package/publish.sh +23 -0
- package/tsconfig.json +24 -0
- package/verify.js +44 -0
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import {Animated} from 'react-native';
|
|
2
|
+
import {StackNavigationOptions} from '@react-navigation/stack';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import Navigator from './Navigator';
|
|
5
|
+
import {PopupNotifyProps} from '../Popup/types';
|
|
6
|
+
import Navigation from './Navigation';
|
|
7
|
+
|
|
8
|
+
type Screen = React.ComponentType<NavigationScreenProps>;
|
|
9
|
+
|
|
10
|
+
export type Theme = {
|
|
11
|
+
dark: boolean;
|
|
12
|
+
colors: {
|
|
13
|
+
primary: string;
|
|
14
|
+
secondary: string;
|
|
15
|
+
background: {
|
|
16
|
+
default: string;
|
|
17
|
+
surface: string;
|
|
18
|
+
tonal: string;
|
|
19
|
+
pressed: string;
|
|
20
|
+
selected: string;
|
|
21
|
+
disable: string;
|
|
22
|
+
};
|
|
23
|
+
text: {
|
|
24
|
+
default: string;
|
|
25
|
+
secondary: string;
|
|
26
|
+
hint: string;
|
|
27
|
+
disable: string;
|
|
28
|
+
};
|
|
29
|
+
border: {
|
|
30
|
+
default: string;
|
|
31
|
+
disable: string;
|
|
32
|
+
};
|
|
33
|
+
success: {
|
|
34
|
+
primary: string;
|
|
35
|
+
secondary: string;
|
|
36
|
+
container: string;
|
|
37
|
+
};
|
|
38
|
+
warning: {
|
|
39
|
+
primary: string;
|
|
40
|
+
secondary: string;
|
|
41
|
+
container: string;
|
|
42
|
+
};
|
|
43
|
+
error: {
|
|
44
|
+
primary: string;
|
|
45
|
+
secondary: string;
|
|
46
|
+
container: string;
|
|
47
|
+
};
|
|
48
|
+
highlight: {
|
|
49
|
+
primary: string;
|
|
50
|
+
secondary: string;
|
|
51
|
+
container: string;
|
|
52
|
+
};
|
|
53
|
+
interactive: {
|
|
54
|
+
primary: string;
|
|
55
|
+
secondary: string;
|
|
56
|
+
container: string;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
font: string;
|
|
60
|
+
assets?: {
|
|
61
|
+
headerBackground?: string;
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
export type Context = {
|
|
66
|
+
[key: string]: any;
|
|
67
|
+
theme: Theme;
|
|
68
|
+
navigator?: Navigator;
|
|
69
|
+
showGrid?: boolean;
|
|
70
|
+
translate?: (key: string) => string;
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
export type MiniAppInfo = {
|
|
74
|
+
[key: string]: any;
|
|
75
|
+
code: string;
|
|
76
|
+
appId: string;
|
|
77
|
+
buildNumber: number;
|
|
78
|
+
flowPartnerId?: string;
|
|
79
|
+
toolkitConfig?: object;
|
|
80
|
+
fromCode?: string;
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
export type LocalizationObject = {
|
|
84
|
+
vi: {
|
|
85
|
+
[key: string]: string;
|
|
86
|
+
};
|
|
87
|
+
en: {
|
|
88
|
+
[key: string]: string;
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
export type NavigationContainerProps = {
|
|
93
|
+
screen: Screen;
|
|
94
|
+
options?: NavigationOptions;
|
|
95
|
+
theme: Theme;
|
|
96
|
+
maxApi: any;
|
|
97
|
+
localization?: LocalizationObject;
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
export type NavigationScreenProps = {
|
|
101
|
+
[key: string]: any;
|
|
102
|
+
options?: NavigationOptions;
|
|
103
|
+
navigation: Navigation;
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
export type ScreenParams = {
|
|
107
|
+
[key: string]: any;
|
|
108
|
+
screen: Screen;
|
|
109
|
+
options?: NavigationOptions;
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
export interface ModalParams extends ScreenParams {
|
|
113
|
+
[key: string]: any;
|
|
114
|
+
onDismiss?: () => void;
|
|
115
|
+
barrierDismissible?: boolean;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
export interface BottomSheetParams extends ScreenParams {
|
|
119
|
+
[key: string]: any;
|
|
120
|
+
onDismiss?: () => void;
|
|
121
|
+
snapPoint?: '30%' | '50%' | '70%' | '90%' | 'content';
|
|
122
|
+
indicatorColor?: string;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
export type NavigationButtonProps = {
|
|
126
|
+
icon: string;
|
|
127
|
+
tintColor?: string;
|
|
128
|
+
useBorder?: boolean;
|
|
129
|
+
onPress: () => void;
|
|
130
|
+
badgeType?: 'dot' | 'number';
|
|
131
|
+
badgeValue?: number;
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
export type PinnedToolType = {
|
|
135
|
+
key: string;
|
|
136
|
+
badgeValue?: number;
|
|
137
|
+
badgeType?: 'number' | 'dot';
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
export type RuntimeToolType = {
|
|
141
|
+
title: {vi: string; en: string};
|
|
142
|
+
icon: string;
|
|
143
|
+
key: string;
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
export interface NavigationOptions extends StackNavigationOptions {
|
|
147
|
+
preventBack?: PopupNotifyProps;
|
|
148
|
+
onPressLeftHeader?: () => void;
|
|
149
|
+
surface?: boolean;
|
|
150
|
+
hiddenBack?: boolean;
|
|
151
|
+
customTitle?: TitleCustomProps;
|
|
152
|
+
toolkitParams?: {
|
|
153
|
+
pinnedTool?: PinnedToolType;
|
|
154
|
+
runtimeTools?: RuntimeToolType[];
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
export interface HeaderBackProps extends NavigationButtonProps {
|
|
159
|
+
preventBack?: PopupNotifyProps;
|
|
160
|
+
onPressLeftHeader?: () => void;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
export type HeaderBackgroundProps = {
|
|
164
|
+
image?: string | null;
|
|
165
|
+
backgroundColor?: string | null;
|
|
166
|
+
animatedValue?: Animated.Value;
|
|
167
|
+
useBorder?: boolean;
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
export type TitleCustomProps = {
|
|
171
|
+
title?: string;
|
|
172
|
+
subTitle?: string;
|
|
173
|
+
image?: string;
|
|
174
|
+
imageShape?: 'circle' | 'square';
|
|
175
|
+
dotColor?: string;
|
|
176
|
+
tintColor?: string;
|
|
177
|
+
content?: React.ReactNode;
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
export type HeaderToolkitProps = {
|
|
181
|
+
[key: string]: any;
|
|
182
|
+
appCode: string;
|
|
183
|
+
configs: any[];
|
|
184
|
+
};
|
|
185
|
+
|
|
186
|
+
export type HeaderAnimatedProps = {
|
|
187
|
+
animatedValue: Animated.Value;
|
|
188
|
+
image: string;
|
|
189
|
+
onPress?: () => void;
|
|
190
|
+
};
|
|
191
|
+
|
|
192
|
+
export type BottomTabItemProps = {
|
|
193
|
+
name: string;
|
|
194
|
+
label: string;
|
|
195
|
+
icon: string;
|
|
196
|
+
showDot?: boolean;
|
|
197
|
+
badgeLabel?: string;
|
|
198
|
+
screen: Screen;
|
|
199
|
+
options: NavigationOptions;
|
|
200
|
+
};
|
|
201
|
+
|
|
202
|
+
export type BottomTabProps = {
|
|
203
|
+
nested?: boolean;
|
|
204
|
+
tabs: BottomTabItemProps[];
|
|
205
|
+
initialRouteName?: string;
|
|
206
|
+
navigation: Navigation;
|
|
207
|
+
listeners?: {
|
|
208
|
+
tabPress?: any;
|
|
209
|
+
focus?: any;
|
|
210
|
+
};
|
|
211
|
+
};
|
|
212
|
+
|
|
213
|
+
export type AnimatedHeader = {
|
|
214
|
+
type: 'default' | 'surface';
|
|
215
|
+
component?: (props?: any) => React.ReactElement;
|
|
216
|
+
};
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import {
|
|
3
|
+
StackNavigationOptions,
|
|
4
|
+
TransitionPresets,
|
|
5
|
+
} from '@react-navigation/stack';
|
|
6
|
+
import {
|
|
7
|
+
HeaderBackground,
|
|
8
|
+
HeaderCustom,
|
|
9
|
+
HeaderLeft,
|
|
10
|
+
HeaderTitle,
|
|
11
|
+
HeaderToolkitAction,
|
|
12
|
+
} from './Components';
|
|
13
|
+
import {NavigationOptions, Theme} from './types';
|
|
14
|
+
import {Colors} from '../Consts';
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* default options for stack screen
|
|
18
|
+
*/
|
|
19
|
+
const getStackOptions = (): StackNavigationOptions => {
|
|
20
|
+
return {
|
|
21
|
+
headerTitleAlign: 'left',
|
|
22
|
+
headerTitle: HeaderTitle,
|
|
23
|
+
headerBackground: (props: any) => <HeaderBackground {...props} />,
|
|
24
|
+
headerLeft: (props: any) => <HeaderLeft {...props} />,
|
|
25
|
+
headerRight: (props: any) => <HeaderToolkitAction {...props} />,
|
|
26
|
+
headerTintColor: Colors.black_01,
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* default options for dialog screen
|
|
32
|
+
*/
|
|
33
|
+
const getDialogOptions = (): StackNavigationOptions => {
|
|
34
|
+
return {
|
|
35
|
+
headerTitleAlign: 'left',
|
|
36
|
+
headerTitle: HeaderTitle,
|
|
37
|
+
headerLeft: (props: any) => <HeaderLeft {...props} />,
|
|
38
|
+
headerBackground: (props: any) => <HeaderBackground {...props} />,
|
|
39
|
+
headerTintColor: Colors.black_01,
|
|
40
|
+
...TransitionPresets.ModalTransition,
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* default options for modal screen
|
|
46
|
+
*/
|
|
47
|
+
const getModalOptions = (): StackNavigationOptions => {
|
|
48
|
+
return {
|
|
49
|
+
headerShown: false,
|
|
50
|
+
headerBackground: undefined,
|
|
51
|
+
cardStyle: {backgroundColor: 'transparent'},
|
|
52
|
+
cardOverlayEnabled: true,
|
|
53
|
+
animationEnabled: false,
|
|
54
|
+
cardStyleInterpolator: ({current: {progress}}) => ({
|
|
55
|
+
cardStyle: {
|
|
56
|
+
opacity: progress.interpolate({
|
|
57
|
+
inputRange: [0, 0.5, 0.9, 1],
|
|
58
|
+
outputRange: [0, 0.25, 0.7, 1],
|
|
59
|
+
}),
|
|
60
|
+
},
|
|
61
|
+
overlayStyle: {
|
|
62
|
+
opacity: progress.interpolate({
|
|
63
|
+
inputRange: [0, 0.5, 0.9, 1],
|
|
64
|
+
outputRange: [0, 0.2, 0.4, 0.6],
|
|
65
|
+
extrapolate: 'clamp',
|
|
66
|
+
}),
|
|
67
|
+
},
|
|
68
|
+
}),
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* build react-navigation options
|
|
74
|
+
*/
|
|
75
|
+
const getOptions = (params: NavigationOptions, theme: Theme) => {
|
|
76
|
+
let options = {};
|
|
77
|
+
|
|
78
|
+
if (
|
|
79
|
+
typeof params.onPressLeftHeader === 'function' ||
|
|
80
|
+
params.preventBack !== undefined ||
|
|
81
|
+
typeof params.hiddenBack === 'boolean'
|
|
82
|
+
) {
|
|
83
|
+
options = {
|
|
84
|
+
...options,
|
|
85
|
+
headerLeft: params.hiddenBack
|
|
86
|
+
? null
|
|
87
|
+
: (props: any) => (
|
|
88
|
+
<HeaderLeft
|
|
89
|
+
{...props}
|
|
90
|
+
preventBack={params.preventBack}
|
|
91
|
+
onPressLeftHeader={params.onPressLeftHeader}
|
|
92
|
+
/>
|
|
93
|
+
),
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
if (typeof params.surface == 'boolean') {
|
|
98
|
+
if (params.surface) {
|
|
99
|
+
options = {
|
|
100
|
+
...options,
|
|
101
|
+
headerTintColor: theme.colors.text.default,
|
|
102
|
+
headerBackground: () => (
|
|
103
|
+
<HeaderBackground
|
|
104
|
+
image={null}
|
|
105
|
+
backgroundColor={theme.colors.background.surface}
|
|
106
|
+
useBorder={true}
|
|
107
|
+
/>
|
|
108
|
+
),
|
|
109
|
+
};
|
|
110
|
+
} else {
|
|
111
|
+
options = {
|
|
112
|
+
...options,
|
|
113
|
+
headerTintColor: Colors.black_01,
|
|
114
|
+
headerBackground: HeaderBackground,
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
if (params.customTitle) {
|
|
120
|
+
options = {
|
|
121
|
+
...options,
|
|
122
|
+
headerTitleAlign: 'left',
|
|
123
|
+
headerTitle: (props: any) => {
|
|
124
|
+
return <HeaderCustom {...params.customTitle} {...props} />;
|
|
125
|
+
},
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
if (params.toolkitParams) {
|
|
130
|
+
options = {
|
|
131
|
+
...options,
|
|
132
|
+
headerRight: (props: any) => {
|
|
133
|
+
return (
|
|
134
|
+
<HeaderToolkitAction
|
|
135
|
+
preventBack={params.preventBack}
|
|
136
|
+
pinnedTool={params.toolkitParams?.pinnedTool}
|
|
137
|
+
runtimeTools={params.toolkitParams?.runtimeTools}
|
|
138
|
+
{...props}
|
|
139
|
+
/>
|
|
140
|
+
);
|
|
141
|
+
},
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
return {
|
|
146
|
+
...params,
|
|
147
|
+
...options,
|
|
148
|
+
};
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
export {getStackOptions, getDialogOptions, getModalOptions, getOptions};
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
{
|
|
2
|
+
"v": "4.8.0",
|
|
3
|
+
"meta": {"g": "LottieFiles AE 3.2.2", "a": "", "k": "", "d": "", "tc": ""},
|
|
4
|
+
"fr": 60,
|
|
5
|
+
"ip": 10,
|
|
6
|
+
"op": 54,
|
|
7
|
+
"w": 52,
|
|
8
|
+
"h": 20,
|
|
9
|
+
"nm": "Dot 10",
|
|
10
|
+
"ddd": 0,
|
|
11
|
+
"assets": [
|
|
12
|
+
{
|
|
13
|
+
"id": "comp_0",
|
|
14
|
+
"layers": [
|
|
15
|
+
{
|
|
16
|
+
"ddd": 0,
|
|
17
|
+
"ind": 1,
|
|
18
|
+
"ty": 4,
|
|
19
|
+
"nm": "1",
|
|
20
|
+
"sr": 1,
|
|
21
|
+
"ks": {
|
|
22
|
+
"o": {"a": 0, "k": 100, "ix": 11},
|
|
23
|
+
"r": {"a": 0, "k": 0, "ix": 10},
|
|
24
|
+
"p": {
|
|
25
|
+
"a": 1,
|
|
26
|
+
"k": [
|
|
27
|
+
{
|
|
28
|
+
"i": {"x": 0.711, "y": 1},
|
|
29
|
+
"o": {"x": 0.26, "y": 0.24},
|
|
30
|
+
"t": 0,
|
|
31
|
+
"s": [-14, 11, 0],
|
|
32
|
+
"to": [0, -1.172, 0],
|
|
33
|
+
"ti": [0, -0.21, 0]
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"i": {"x": 0.667, "y": 1},
|
|
37
|
+
"o": {"x": 0.333, "y": 0},
|
|
38
|
+
"t": 17,
|
|
39
|
+
"s": [-14, 5, 0],
|
|
40
|
+
"to": [0, 0.333, 0],
|
|
41
|
+
"ti": [0, -1, 0]
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"i": {"x": 0.833, "y": 0.542},
|
|
45
|
+
"o": {"x": 0.333, "y": 0},
|
|
46
|
+
"t": 30,
|
|
47
|
+
"s": [-14, 13, 0],
|
|
48
|
+
"to": [0, 1, 0],
|
|
49
|
+
"ti": [0, 0.333, 0]
|
|
50
|
+
},
|
|
51
|
+
{"t": 45, "s": [-14, 11, 0]}
|
|
52
|
+
],
|
|
53
|
+
"ix": 2
|
|
54
|
+
},
|
|
55
|
+
"a": {"a": 0, "k": [-40, 0, 0], "ix": 1},
|
|
56
|
+
"s": {"a": 0, "k": [100, 100, 100], "ix": 6}
|
|
57
|
+
},
|
|
58
|
+
"ao": 0,
|
|
59
|
+
"shapes": [
|
|
60
|
+
{
|
|
61
|
+
"ty": "gr",
|
|
62
|
+
"it": [
|
|
63
|
+
{
|
|
64
|
+
"d": 1,
|
|
65
|
+
"ty": "el",
|
|
66
|
+
"s": {"a": 0, "k": [12, 12], "ix": 2},
|
|
67
|
+
"p": {"a": 0, "k": [0, 0], "ix": 3},
|
|
68
|
+
"nm": "Ellipse Path 1",
|
|
69
|
+
"mn": "ADBE Vector Shape - Ellipse",
|
|
70
|
+
"hd": false
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"ty": "st",
|
|
74
|
+
"c": {"a": 0, "k": [1, 1, 1, 1], "ix": 3},
|
|
75
|
+
"o": {"a": 0, "k": 100, "ix": 4},
|
|
76
|
+
"w": {"a": 0, "k": 0, "ix": 5},
|
|
77
|
+
"lc": 1,
|
|
78
|
+
"lj": 1,
|
|
79
|
+
"ml": 4,
|
|
80
|
+
"bm": 0,
|
|
81
|
+
"nm": "Stroke 1",
|
|
82
|
+
"mn": "ADBE Vector Graphic - Stroke",
|
|
83
|
+
"hd": false
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"ty": "fl",
|
|
87
|
+
"c": {
|
|
88
|
+
"a": 1,
|
|
89
|
+
"k": [
|
|
90
|
+
{
|
|
91
|
+
"i": {"x": [0.833], "y": [0.833]},
|
|
92
|
+
"o": {"x": [0.167], "y": [0.167]},
|
|
93
|
+
"t": 0,
|
|
94
|
+
"s": [0.968627510819, 0.674509803922, 0.835294177485, 1]
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"i": {"x": [0.833], "y": [0.833]},
|
|
98
|
+
"o": {"x": [0.167], "y": [0.167]},
|
|
99
|
+
"t": 17,
|
|
100
|
+
"s": [0.921568632126, 0.184313729405, 0.588235318661, 1]
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"t": 35,
|
|
104
|
+
"s": [0.968627510819, 0.674509803922, 0.835294177485, 1]
|
|
105
|
+
}
|
|
106
|
+
],
|
|
107
|
+
"ix": 4
|
|
108
|
+
},
|
|
109
|
+
"o": {"a": 0, "k": 100, "ix": 5},
|
|
110
|
+
"r": 1,
|
|
111
|
+
"bm": 0,
|
|
112
|
+
"nm": "Fill 1",
|
|
113
|
+
"mn": "ADBE Vector Graphic - Fill",
|
|
114
|
+
"hd": false
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"ty": "tr",
|
|
118
|
+
"p": {"a": 0, "k": [-20, 1], "ix": 2},
|
|
119
|
+
"a": {"a": 0, "k": [0, 0], "ix": 1},
|
|
120
|
+
"s": {"a": 0, "k": [100, 100], "ix": 3},
|
|
121
|
+
"r": {"a": 0, "k": 0, "ix": 6},
|
|
122
|
+
"o": {"a": 0, "k": 100, "ix": 7},
|
|
123
|
+
"sk": {"a": 0, "k": 0, "ix": 4},
|
|
124
|
+
"sa": {"a": 0, "k": 0, "ix": 5},
|
|
125
|
+
"nm": "Transform"
|
|
126
|
+
}
|
|
127
|
+
],
|
|
128
|
+
"nm": "Ellipse 1",
|
|
129
|
+
"np": 3,
|
|
130
|
+
"cix": 2,
|
|
131
|
+
"bm": 0,
|
|
132
|
+
"ix": 1,
|
|
133
|
+
"mn": "ADBE Vector Group",
|
|
134
|
+
"hd": false
|
|
135
|
+
}
|
|
136
|
+
],
|
|
137
|
+
"ip": 0,
|
|
138
|
+
"op": 45,
|
|
139
|
+
"st": 0,
|
|
140
|
+
"bm": 0
|
|
141
|
+
}
|
|
142
|
+
]
|
|
143
|
+
}
|
|
144
|
+
],
|
|
145
|
+
"layers": [
|
|
146
|
+
{
|
|
147
|
+
"ddd": 0,
|
|
148
|
+
"ind": 1,
|
|
149
|
+
"ty": 0,
|
|
150
|
+
"nm": "Dot 0",
|
|
151
|
+
"refId": "comp_0",
|
|
152
|
+
"sr": 1,
|
|
153
|
+
"ks": {
|
|
154
|
+
"o": {"a": 0, "k": 100, "ix": 11},
|
|
155
|
+
"r": {"a": 0, "k": 0, "ix": 10},
|
|
156
|
+
"p": {"a": 0, "k": [6, 10, 0], "ix": 2},
|
|
157
|
+
"a": {"a": 0, "k": [-34, 10, 0], "ix": 1},
|
|
158
|
+
"s": {"a": 0, "k": [100, 100, 100], "ix": 6}
|
|
159
|
+
},
|
|
160
|
+
"ao": 0,
|
|
161
|
+
"tm": {
|
|
162
|
+
"a": 1,
|
|
163
|
+
"k": [
|
|
164
|
+
{
|
|
165
|
+
"i": {"x": [0.833], "y": [0.833]},
|
|
166
|
+
"o": {"x": [0.167], "y": [0.167]},
|
|
167
|
+
"t": 10,
|
|
168
|
+
"s": [0]
|
|
169
|
+
},
|
|
170
|
+
{"t": 54, "s": [0.733]}
|
|
171
|
+
],
|
|
172
|
+
"ix": 2,
|
|
173
|
+
"x": "var $bm_rt;\n$bm_rt = loopOut('cycle', 0);"
|
|
174
|
+
},
|
|
175
|
+
"w": 12,
|
|
176
|
+
"h": 20,
|
|
177
|
+
"ip": 10,
|
|
178
|
+
"op": 90,
|
|
179
|
+
"st": 10,
|
|
180
|
+
"bm": 0
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"ddd": 0,
|
|
184
|
+
"ind": 2,
|
|
185
|
+
"ty": 0,
|
|
186
|
+
"nm": "Dot 0",
|
|
187
|
+
"refId": "comp_0",
|
|
188
|
+
"sr": 1,
|
|
189
|
+
"ks": {
|
|
190
|
+
"o": {"a": 0, "k": 100, "ix": 11},
|
|
191
|
+
"r": {"a": 0, "k": 0, "ix": 10},
|
|
192
|
+
"p": {"a": 0, "k": [6, 10, 0], "ix": 2},
|
|
193
|
+
"a": {"a": 0, "k": [-14, 10, 0], "ix": 1},
|
|
194
|
+
"s": {"a": 0, "k": [100, 100, 100], "ix": 6}
|
|
195
|
+
},
|
|
196
|
+
"ao": 0,
|
|
197
|
+
"tm": {
|
|
198
|
+
"a": 1,
|
|
199
|
+
"k": [
|
|
200
|
+
{
|
|
201
|
+
"i": {"x": [0.833], "y": [0.833]},
|
|
202
|
+
"o": {"x": [0.167], "y": [0.167]},
|
|
203
|
+
"t": 5,
|
|
204
|
+
"s": [0]
|
|
205
|
+
},
|
|
206
|
+
{"t": 49, "s": [0.733]}
|
|
207
|
+
],
|
|
208
|
+
"ix": 2,
|
|
209
|
+
"x": "var $bm_rt;\n$bm_rt = loopOut('cycle', 0);"
|
|
210
|
+
},
|
|
211
|
+
"w": 12,
|
|
212
|
+
"h": 20,
|
|
213
|
+
"ip": 5,
|
|
214
|
+
"op": 85,
|
|
215
|
+
"st": 5,
|
|
216
|
+
"bm": 0
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"ddd": 0,
|
|
220
|
+
"ind": 3,
|
|
221
|
+
"ty": 0,
|
|
222
|
+
"nm": "Dot 0",
|
|
223
|
+
"refId": "comp_0",
|
|
224
|
+
"sr": 1,
|
|
225
|
+
"ks": {
|
|
226
|
+
"o": {"a": 0, "k": 100, "ix": 11},
|
|
227
|
+
"r": {"a": 0, "k": 0, "ix": 10},
|
|
228
|
+
"p": {"a": 0, "k": [6, 10, 0], "ix": 2},
|
|
229
|
+
"a": {"a": 0, "k": [6, 10, 0], "ix": 1},
|
|
230
|
+
"s": {"a": 0, "k": [100, 100, 100], "ix": 6}
|
|
231
|
+
},
|
|
232
|
+
"ao": 0,
|
|
233
|
+
"tm": {
|
|
234
|
+
"a": 1,
|
|
235
|
+
"k": [
|
|
236
|
+
{
|
|
237
|
+
"i": {"x": [0.833], "y": [0.833]},
|
|
238
|
+
"o": {"x": [0.167], "y": [0.167]},
|
|
239
|
+
"t": 0,
|
|
240
|
+
"s": [0]
|
|
241
|
+
},
|
|
242
|
+
{"t": 44, "s": [0.733]}
|
|
243
|
+
],
|
|
244
|
+
"ix": 2,
|
|
245
|
+
"x": "var $bm_rt;\n$bm_rt = loopOut('cycle', 0);"
|
|
246
|
+
},
|
|
247
|
+
"w": 12,
|
|
248
|
+
"h": 20,
|
|
249
|
+
"ip": 0,
|
|
250
|
+
"op": 80,
|
|
251
|
+
"st": 0,
|
|
252
|
+
"bm": 0
|
|
253
|
+
}
|
|
254
|
+
],
|
|
255
|
+
"markers": []
|
|
256
|
+
}
|