react-native-exp-fig 0.1.0
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/LICENSE +20 -0
- package/README.md +119 -0
- package/package.json +200 -0
- package/react-native.config.js +4 -0
- package/src/assets/fonts/Inter-Black.ttf +0 -0
- package/src/assets/fonts/Inter-Bold.ttf +0 -0
- package/src/assets/fonts/Inter-ExtraBold.ttf +0 -0
- package/src/assets/fonts/Inter-ExtraLight.ttf +0 -0
- package/src/assets/fonts/Inter-Light.ttf +0 -0
- package/src/assets/fonts/Inter-Medium.ttf +0 -0
- package/src/assets/fonts/Inter-Regular.ttf +0 -0
- package/src/assets/fonts/Inter-SemiBold.ttf +0 -0
- package/src/assets/fonts/Inter-Thin.ttf +0 -0
- package/src/common/icons-svg/arrow-drop-down/index.tsx +28 -0
- package/src/common/icons-svg/arrow-left/index.tsx +32 -0
- package/src/common/icons-svg/bluetooth/index.tsx +37 -0
- package/src/common/icons-svg/bluetooth-connected/index.tsx +41 -0
- package/src/common/icons-svg/calendar/index.tsx +40 -0
- package/src/common/icons-svg/call-bell/index.tsx +29 -0
- package/src/common/icons-svg/camera-plus/index.tsx +40 -0
- package/src/common/icons-svg/check-box-fill/index.tsx +30 -0
- package/src/common/icons-svg/check-box-outline/index.tsx +30 -0
- package/src/common/icons-svg/check-circle/index.tsx +27 -0
- package/src/common/icons-svg/closed/index.tsx +34 -0
- package/src/common/icons-svg/constants/index.ts +43 -0
- package/src/common/icons-svg/credit-card/index.tsx +32 -0
- package/src/common/icons-svg/currency/index.tsx +39 -0
- package/src/common/icons-svg/eye/index.tsx +31 -0
- package/src/common/icons-svg/eye-slash/index.tsx +31 -0
- package/src/common/icons-svg/file-text/index.tsx +39 -0
- package/src/common/icons-svg/gas-pump/index.tsx +39 -0
- package/src/common/icons-svg/gauge/index.tsx +39 -0
- package/src/common/icons-svg/gear/index.tsx +39 -0
- package/src/common/icons-svg/index.tsx +149 -0
- package/src/common/icons-svg/interface.d.ts +18 -0
- package/src/common/icons-svg/list/index.tsx +58 -0
- package/src/common/icons-svg/moon-stars/index.tsx +29 -0
- package/src/common/icons-svg/note-pincel/index.tsx +40 -0
- package/src/common/icons-svg/package-check/index.tsx +45 -0
- package/src/common/icons-svg/shopping-cart/index.tsx +39 -0
- package/src/common/icons-svg/steering-wheel/index.tsx +49 -0
- package/src/common/icons-svg/steering-wheel-fill/index.tsx +36 -0
- package/src/common/icons-svg/timer/index.tsx +39 -0
- package/src/common/icons-svg/trophy/index.tsx +29 -0
- package/src/common/icons-svg/truck/index.tsx +39 -0
- package/src/common/icons-svg/wifi-high/index.tsx +43 -0
- package/src/common/icons-svg/wifi-x/index.tsx +50 -0
- package/src/components/box/index.tsx +47 -0
- package/src/components/box/interface.d.ts +31 -0
- package/src/components/box/styles.ts +21 -0
- package/src/components/button/index.tsx +61 -0
- package/src/components/button/interface.d.ts +40 -0
- package/src/components/button/styles.ts +34 -0
- package/src/components/capture-photo/index.tsx +125 -0
- package/src/components/capture-photo/interface.d.ts +44 -0
- package/src/components/capture-photo/styles.ts +24 -0
- package/src/components/card-hours/index.tsx +118 -0
- package/src/components/card-hours/interface.d.ts +37 -0
- package/src/components/card-scheduled-journey/index.tsx +138 -0
- package/src/components/card-scheduled-journey/interface.ts +42 -0
- package/src/components/card-scheduled-journey/styles.ts +26 -0
- package/src/components/header-profile/index.tsx +128 -0
- package/src/components/header-profile/interface.d.ts +52 -0
- package/src/components/input/index.tsx +180 -0
- package/src/components/input/interface.d.ts +55 -0
- package/src/components/input/styles.ts +23 -0
- package/src/components/scheduled-journey-indicators/index.tsx +99 -0
- package/src/components/scheduled-journey-indicators/interface.d.ts +18 -0
- package/src/components/selects/select-option/index.tsx +104 -0
- package/src/components/selects/select-option/interface.d.ts +18 -0
- package/src/components/selects/select-option/styles.ts +75 -0
- package/src/components/step-indicator/helpers/get-icon-by-status.tsx +20 -0
- package/src/components/step-indicator/index.tsx +164 -0
- package/src/components/step-indicator/interface.d.ts +34 -0
- package/src/components/step-indicator/styles.ts +67 -0
- package/src/components/typography/index.tsx +67 -0
- package/src/components/typography/interface.d.ts +102 -0
- package/src/components/typography/styles.ts +34 -0
- package/src/index.tsx +23 -0
- package/src/stories/box/box.stories.tsx +106 -0
- package/src/stories/button/button.stories.tsx +143 -0
- package/src/stories/capture-photo/capture-photo.stories.tsx +170 -0
- package/src/stories/card-hours/card-hours.stories.tsx +102 -0
- package/src/stories/card-scheduled-journey/card-scheduled-journey.stories.tsx +101 -0
- package/src/stories/header-profile/header-profile.stories.tsx +84 -0
- package/src/stories/input/input.stories.tsx +286 -0
- package/src/stories/scheduled-journey-indicators/sheduled-journey-indicators.stories.tsx +74 -0
- package/src/stories/select-option/select-option.stories.tsx +46 -0
- package/src/stories/step-indicator/step-indicator.stories.tsx +116 -0
- package/src/stories/typography/typography.stories.tsx +146 -0
- package/src/styles/global/interface.d.ts +131 -0
- package/src/styles/global/styles.ts +63 -0
- package/src/styles/global/theme-provider.tsx +10 -0
- package/src/styles/theme/theme.ts +156 -0
- package/src/utils/format-data/index.ts +14 -0
- package/src/utils/mutiply/index.ts +3 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IMPORTS
|
|
3
|
+
*/
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import Svg, { Path, G, Defs, ClipPath } from "react-native-svg";
|
|
6
|
+
|
|
7
|
+
//typings
|
|
8
|
+
import { ISvgProps } from "../interface";
|
|
9
|
+
|
|
10
|
+
const SvgIconNotePencil: React.FC<ISvgProps> = ({ color, size }) => (
|
|
11
|
+
<Svg
|
|
12
|
+
//@ts-ignore
|
|
13
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
14
|
+
width={size ?? 24}
|
|
15
|
+
height={size ?? 24}
|
|
16
|
+
fill="none"
|
|
17
|
+
viewBox="0 0 25 25"
|
|
18
|
+
>
|
|
19
|
+
<G
|
|
20
|
+
stroke={color ?? "#050022"}
|
|
21
|
+
strokeLinecap="round"
|
|
22
|
+
strokeLinejoin="round"
|
|
23
|
+
strokeWidth="2"
|
|
24
|
+
clipPath="url(#clip0_5169_183)"
|
|
25
|
+
>
|
|
26
|
+
<Path d="M12.047 15.928h-3v-3l9-9 3 3-9 9zM15.797 6.178l3 3"></Path>
|
|
27
|
+
<Path d="M20.297 12.928v7.5a.75.75 0 01-.75.75h-15a.75.75 0 01-.75-.75v-15a.75.75 0 01.75-.75h7.5"></Path>
|
|
28
|
+
</G>
|
|
29
|
+
<Defs>
|
|
30
|
+
<ClipPath id="clip0_5169_183">
|
|
31
|
+
<Path fill="#fff" d="M0 0H24V24H0z" transform="translate(.047 .928)"></Path>
|
|
32
|
+
</ClipPath>
|
|
33
|
+
</Defs>
|
|
34
|
+
</Svg>
|
|
35
|
+
);
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* EXPORTS
|
|
39
|
+
*/
|
|
40
|
+
export { SvgIconNotePencil };
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IMPORTS
|
|
3
|
+
*/
|
|
4
|
+
import React from "react";
|
|
5
|
+
import Svg, { Path } from "react-native-svg";
|
|
6
|
+
/**
|
|
7
|
+
* typings
|
|
8
|
+
*/
|
|
9
|
+
import { ISvgProps } from "../interface";
|
|
10
|
+
|
|
11
|
+
const IconPackageCheck: React.FC<ISvgProps> = ({ color, size, ...res }) => (
|
|
12
|
+
<Svg
|
|
13
|
+
//@ts-ignore
|
|
14
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
15
|
+
width={size ?? 24}
|
|
16
|
+
height={size ?? 24}
|
|
17
|
+
fill="none"
|
|
18
|
+
viewBox="0 0 24 24"
|
|
19
|
+
{...res}
|
|
20
|
+
>
|
|
21
|
+
<Path
|
|
22
|
+
stroke={color ?? "#fff"}
|
|
23
|
+
strokeLinecap="round"
|
|
24
|
+
strokeLinejoin="round"
|
|
25
|
+
d="M16 16l2 2 4-4"
|
|
26
|
+
></Path>
|
|
27
|
+
<Path
|
|
28
|
+
stroke={color ?? "#fff"}
|
|
29
|
+
strokeLinecap="round"
|
|
30
|
+
strokeLinejoin="round"
|
|
31
|
+
d="M21 10V8a2 2 0 00-1-1.73l-7-4a2 2 0 00-2 0l-7 4A2 2 0 003 8v8a2 2 0 001 1.73l7 4a2 2 0 002 0l2-1.14M16.5 9.4L7.55 4.24"
|
|
32
|
+
></Path>
|
|
33
|
+
<Path
|
|
34
|
+
stroke={color ?? "#fff"}
|
|
35
|
+
strokeLinecap="round"
|
|
36
|
+
strokeLinejoin="round"
|
|
37
|
+
d="M3.29 7L12 12l8.71-5M12 22V12"
|
|
38
|
+
></Path>
|
|
39
|
+
</Svg>
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* EXPORTS
|
|
44
|
+
*/
|
|
45
|
+
export { IconPackageCheck };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IMPORTS
|
|
3
|
+
*/
|
|
4
|
+
import React from "react";
|
|
5
|
+
import Svg, { Path } from "react-native-svg";
|
|
6
|
+
/**
|
|
7
|
+
* typings
|
|
8
|
+
*/
|
|
9
|
+
import { ISvgProps } from "../interface";
|
|
10
|
+
|
|
11
|
+
const IconShoppingCart: React.FC<ISvgProps> = ({ color, size, ...res }) => (
|
|
12
|
+
<Svg
|
|
13
|
+
//@ts-ignore
|
|
14
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
15
|
+
width={size ?? 24}
|
|
16
|
+
height={size ?? 24}
|
|
17
|
+
fill="none"
|
|
18
|
+
viewBox="0 0 24 24"
|
|
19
|
+
{...res}
|
|
20
|
+
>
|
|
21
|
+
<Path
|
|
22
|
+
stroke={color ?? "#fff"}
|
|
23
|
+
strokeLinecap="round"
|
|
24
|
+
strokeLinejoin="round"
|
|
25
|
+
d="M7 23a1 1 0 100-2 1 1 0 000 2zM18 23a1 1 0 100-2 1 1 0 000 2zM1.05 3.05h2l2.66 12.42a2 2 0 002 1.58h9.78a2 2 0 001.95-1.57l1.65-7.43m-16.97 0h10.242"
|
|
26
|
+
></Path>
|
|
27
|
+
<Path
|
|
28
|
+
stroke={color ?? "#fff"}
|
|
29
|
+
strokeLinecap="round"
|
|
30
|
+
strokeLinejoin="round"
|
|
31
|
+
d="M21 5l-8.938 10L8 10.454"
|
|
32
|
+
></Path>
|
|
33
|
+
</Svg>
|
|
34
|
+
);
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* EXPORTS
|
|
38
|
+
*/
|
|
39
|
+
export { IconShoppingCart };
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IMPORTS
|
|
3
|
+
*/
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import Svg, { Path, Defs, G, ClipPath } from "react-native-svg";
|
|
6
|
+
|
|
7
|
+
//typings
|
|
8
|
+
import { ISvgProps } from "../interface";
|
|
9
|
+
|
|
10
|
+
const SvgIconSteeringWheel: React.FC<ISvgProps> = ({ color, size }) => (
|
|
11
|
+
<Svg
|
|
12
|
+
//@ts-ignore
|
|
13
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
14
|
+
width={size ?? 24}
|
|
15
|
+
height={size ?? 24}
|
|
16
|
+
fill="none"
|
|
17
|
+
>
|
|
18
|
+
<G clipPath="url(#a)">
|
|
19
|
+
<Path
|
|
20
|
+
fill={color ?? "#050022"}
|
|
21
|
+
d="M12.455 14.254a.938.938 0 1 0 0-1.875.938.938 0 0 0 0 1.875Z"
|
|
22
|
+
/>
|
|
23
|
+
<Path
|
|
24
|
+
stroke={color ?? "#050022"}
|
|
25
|
+
strokeLinecap="round"
|
|
26
|
+
strokeLinejoin="round"
|
|
27
|
+
strokeWidth={1.5}
|
|
28
|
+
d="M12.455 21.192a9 9 0 1 0 0-18 9 9 0 0 0 0 18Z"
|
|
29
|
+
/>
|
|
30
|
+
<Path
|
|
31
|
+
stroke={color ?? "#050022"}
|
|
32
|
+
strokeLinecap="round"
|
|
33
|
+
strokeLinejoin="round"
|
|
34
|
+
strokeWidth={1.5}
|
|
35
|
+
d="M3.605 13.837a12 12 0 0 1 17.7 0M11.687 21.159l-2.05-5.48a.75.75 0 0 0-.702-.487H3.966M13.22 21.16l2.052-5.482a.75.75 0 0 1 .704-.486h4.968"
|
|
36
|
+
/>
|
|
37
|
+
</G>
|
|
38
|
+
<Defs>
|
|
39
|
+
<ClipPath id="a">
|
|
40
|
+
<Path fill="#fff" d="M.455.192h24v24h-24z" />
|
|
41
|
+
</ClipPath>
|
|
42
|
+
</Defs>
|
|
43
|
+
</Svg>
|
|
44
|
+
);
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* EXPORTS
|
|
48
|
+
*/
|
|
49
|
+
export { SvgIconSteeringWheel };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IMPORTS
|
|
3
|
+
*/
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import Svg, { Path, G, ClipPath, Defs } from "react-native-svg";
|
|
6
|
+
|
|
7
|
+
//typings
|
|
8
|
+
import { ISvgProps } from "../interface";
|
|
9
|
+
|
|
10
|
+
const SvgIconSteeringWheelFill: React.FC<ISvgProps> = ({ color, size }) => (
|
|
11
|
+
<Svg
|
|
12
|
+
//@ts-ignore
|
|
13
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
14
|
+
width={size ?? 24}
|
|
15
|
+
height={size ?? 24}
|
|
16
|
+
fill="none"
|
|
17
|
+
viewBox="0 0 24 24"
|
|
18
|
+
>
|
|
19
|
+
<G clipPath="url(#clip0_7394_1995)">
|
|
20
|
+
<Path
|
|
21
|
+
fill={color ?? "#050022"}
|
|
22
|
+
d="M12 2.25A9.75 9.75 0 1 0 21.75 12 9.77 9.77 0 0 0 12 2.25m5.25 10.5H12a.75.75 0 0 1-.75-.75V6.75a.75.75 0 1 1 1.5 0v4.5h4.5a.75.75 0 1 1 0 1.5"
|
|
23
|
+
></Path>
|
|
24
|
+
</G>
|
|
25
|
+
<Defs>
|
|
26
|
+
<ClipPath id="clip0_7394_1995">
|
|
27
|
+
<Path fill="#fff" d="M0 0h24v24H0z"></Path>
|
|
28
|
+
</ClipPath>
|
|
29
|
+
</Defs>
|
|
30
|
+
</Svg>
|
|
31
|
+
);
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* EXPORTS
|
|
35
|
+
*/
|
|
36
|
+
export { SvgIconSteeringWheelFill };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IMPORTS
|
|
3
|
+
*/
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import Svg, { Path, Defs, G, ClipPath } from "react-native-svg";
|
|
6
|
+
|
|
7
|
+
//typings
|
|
8
|
+
import { ISvgProps } from "../interface";
|
|
9
|
+
|
|
10
|
+
const SvgIconTimer: React.FC<ISvgProps> = ({ color, size }) => (
|
|
11
|
+
<Svg
|
|
12
|
+
//@ts-ignore
|
|
13
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
14
|
+
width={size ?? 24}
|
|
15
|
+
height={size ?? 24}
|
|
16
|
+
fill="none"
|
|
17
|
+
viewBox="0 0 24 24"
|
|
18
|
+
>
|
|
19
|
+
<G
|
|
20
|
+
stroke={color ?? "#050022"}
|
|
21
|
+
strokeLinecap="round"
|
|
22
|
+
strokeLinejoin="round"
|
|
23
|
+
strokeWidth="2"
|
|
24
|
+
clipPath="url(#clip0_52_223)"
|
|
25
|
+
>
|
|
26
|
+
<Path d="M12 21a8.25 8.25 0 100-16.5A8.25 8.25 0 0012 21zM12 12.75L15.75 9M9.75 1.5h4.5"></Path>
|
|
27
|
+
</G>
|
|
28
|
+
<Defs>
|
|
29
|
+
<ClipPath id="clip0_52_223">
|
|
30
|
+
<Path fill="#fff" d="M0 0H24V24H0z"></Path>
|
|
31
|
+
</ClipPath>
|
|
32
|
+
</Defs>
|
|
33
|
+
</Svg>
|
|
34
|
+
);
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* EXPORTS
|
|
38
|
+
*/
|
|
39
|
+
export { SvgIconTimer };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IMPORTS
|
|
3
|
+
*/
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import Svg, { Path } from "react-native-svg";
|
|
6
|
+
|
|
7
|
+
//typings
|
|
8
|
+
import { ISvgProps } from "../interface";
|
|
9
|
+
|
|
10
|
+
const SvgIconTrophy: React.FC<ISvgProps> = ({ color, size }) => (
|
|
11
|
+
<Svg
|
|
12
|
+
//@ts-ignore
|
|
13
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
14
|
+
width={size ?? 24}
|
|
15
|
+
height={size ?? 24}
|
|
16
|
+
fill="none"
|
|
17
|
+
viewBox="0 0 24 24"
|
|
18
|
+
>
|
|
19
|
+
<Path
|
|
20
|
+
fill={color ?? "#050022"}
|
|
21
|
+
d="M22 8.25h-2.25v-1.5A.75.75 0 0 0 19 6H5.5a.75.75 0 0 0-.75.75v1.5H2.5A1.5 1.5 0 0 0 1 9.75v1.5A3.75 3.75 0 0 0 4.75 15h.342a7.51 7.51 0 0 0 6.408 5.213V22.5H9.25a.75.75 0 1 0 0 1.5h6a.75.75 0 1 0 0-1.5H13v-2.29c2.994-.302 5.479-2.403 6.383-5.21h.367a3.75 3.75 0 0 0 3.75-3.75v-1.5a1.5 1.5 0 0 0-1.5-1.5M4.75 13.5a2.25 2.25 0 0 1-2.25-2.25v-1.5h2.25v3q0 .375.037.75zm13.5-.834c0 3.33-2.719 6.06-6 6.084a6 6 0 0 1-6-6V7.5h12zM22 11.25a2.25 2.25 0 0 1-2.25 2.25h-.047q.046-.416.047-.834V9.75H22z"
|
|
22
|
+
></Path>
|
|
23
|
+
</Svg>
|
|
24
|
+
);
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* EXPORTS
|
|
28
|
+
*/
|
|
29
|
+
export { SvgIconTrophy };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IMPORTS
|
|
3
|
+
*/
|
|
4
|
+
import React from "react";
|
|
5
|
+
import Svg, { Path } from "react-native-svg";
|
|
6
|
+
/**
|
|
7
|
+
* typings
|
|
8
|
+
*/
|
|
9
|
+
import { ISvgProps } from "../interface";
|
|
10
|
+
|
|
11
|
+
const IconTruck: React.FC<ISvgProps> = ({ color, size, ...res }) => (
|
|
12
|
+
<Svg
|
|
13
|
+
//@ts-ignore
|
|
14
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
15
|
+
width={size ?? 24}
|
|
16
|
+
height={size ?? 24}
|
|
17
|
+
fill="none"
|
|
18
|
+
viewBox="0 0 24 24"
|
|
19
|
+
{...res}
|
|
20
|
+
>
|
|
21
|
+
<Path
|
|
22
|
+
stroke={color ?? "#fff"}
|
|
23
|
+
strokeLinecap="round"
|
|
24
|
+
strokeLinejoin="round"
|
|
25
|
+
d="M10 17h4V5H2v12h3M20 17h2v-3.34a4 4 0 00-1.17-2.83L19 9h-5M14 17h1"
|
|
26
|
+
></Path>
|
|
27
|
+
<Path
|
|
28
|
+
stroke={color ?? "#fff"}
|
|
29
|
+
strokeLinecap="round"
|
|
30
|
+
strokeLinejoin="round"
|
|
31
|
+
d="M7.5 20a2.5 2.5 0 100-5 2.5 2.5 0 000 5zM17.5 20a2.5 2.5 0 100-5 2.5 2.5 0 000 5z"
|
|
32
|
+
></Path>
|
|
33
|
+
</Svg>
|
|
34
|
+
);
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* EXPORTS
|
|
38
|
+
*/
|
|
39
|
+
export { IconTruck };
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IMPORTS
|
|
3
|
+
*/
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import Svg, { Path, Defs, G, ClipPath } from "react-native-svg";
|
|
6
|
+
|
|
7
|
+
//typings
|
|
8
|
+
import { ISvgProps } from "../interface";
|
|
9
|
+
|
|
10
|
+
const SvgIconWiFiHigh: React.FC<ISvgProps> = ({ color, size }) => (
|
|
11
|
+
<Svg
|
|
12
|
+
//@ts-ignore
|
|
13
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
14
|
+
width={size ?? "25"}
|
|
15
|
+
height={size ?? "25"}
|
|
16
|
+
fill="none"
|
|
17
|
+
viewBox="0 0 25 25"
|
|
18
|
+
>
|
|
19
|
+
<G clipPath="url(#clip0_912_107)">
|
|
20
|
+
<Path
|
|
21
|
+
fill={color ?? "#0DEC08"}
|
|
22
|
+
d="M12.56 20.767a1.125 1.125 0 100-2.25 1.125 1.125 0 000 2.25z"
|
|
23
|
+
></Path>
|
|
24
|
+
<Path
|
|
25
|
+
stroke={color ?? "#0DEC08"}
|
|
26
|
+
strokeLinecap="round"
|
|
27
|
+
strokeLinejoin="round"
|
|
28
|
+
strokeWidth="2"
|
|
29
|
+
d="M22.31 9.253a15.375 15.375 0 00-19.5 0M19.31 12.61a10.875 10.875 0 00-13.5 0M16.31 15.985a6.375 6.375 0 00-7.5 0"
|
|
30
|
+
></Path>
|
|
31
|
+
</G>
|
|
32
|
+
<Defs>
|
|
33
|
+
<ClipPath id="clip0_912_107">
|
|
34
|
+
<Path fill="#fff" d="M0 0H24V24H0z" transform="translate(.56 .517)"></Path>
|
|
35
|
+
</ClipPath>
|
|
36
|
+
</Defs>
|
|
37
|
+
</Svg>
|
|
38
|
+
);
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* EXPORTS
|
|
42
|
+
*/
|
|
43
|
+
export { SvgIconWiFiHigh };
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IMPORTS
|
|
3
|
+
*/
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import Svg, { Path, Defs, G, ClipPath } from "react-native-svg";
|
|
6
|
+
|
|
7
|
+
//typings
|
|
8
|
+
import { ISvgProps } from "../interface";
|
|
9
|
+
|
|
10
|
+
const SvgIconWiFiX: React.FC<ISvgProps> = ({ color, size }) => (
|
|
11
|
+
<Svg
|
|
12
|
+
//@ts-ignore
|
|
13
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
14
|
+
width={size ?? "25"}
|
|
15
|
+
height={size ?? "25"}
|
|
16
|
+
fill="none"
|
|
17
|
+
viewBox="0 0 25 25"
|
|
18
|
+
>
|
|
19
|
+
<G clipPath="url(#clip0_912_99)">
|
|
20
|
+
<Path
|
|
21
|
+
stroke={color ?? "#E72626"}
|
|
22
|
+
strokeLinecap="round"
|
|
23
|
+
strokeLinejoin="round"
|
|
24
|
+
strokeWidth="2"
|
|
25
|
+
d="M21.56 5.767l-4.5 4.5M21.56 10.267l-4.5-4.5"
|
|
26
|
+
></Path>
|
|
27
|
+
<Path
|
|
28
|
+
fill={color ?? "#E72626"}
|
|
29
|
+
d="M12.56 20.767a1.125 1.125 0 100-2.25 1.125 1.125 0 000 2.25z"
|
|
30
|
+
></Path>
|
|
31
|
+
<Path
|
|
32
|
+
stroke={color ?? "#E72626"}
|
|
33
|
+
strokeLinecap="round"
|
|
34
|
+
strokeLinejoin="round"
|
|
35
|
+
strokeWidth="2"
|
|
36
|
+
d="M16.31 15.985a6.375 6.375 0 00-7.5 0M14.06 5.839a15.433 15.433 0 00-1.5-.072 15.31 15.31 0 00-9.75 3.486M14.06 10.369a11.004 11.004 0 00-1.5-.102c-2.45-.005-4.83.82-6.75 2.343"
|
|
37
|
+
></Path>
|
|
38
|
+
</G>
|
|
39
|
+
<Defs>
|
|
40
|
+
<ClipPath id="clip0_912_99">
|
|
41
|
+
<Path fill="#fff" d="M0 0H24V24H0z" transform="translate(.56 .517)"></Path>
|
|
42
|
+
</ClipPath>
|
|
43
|
+
</Defs>
|
|
44
|
+
</Svg>
|
|
45
|
+
);
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* EXPORTS
|
|
49
|
+
*/
|
|
50
|
+
export { SvgIconWiFiX };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IMPORTS
|
|
3
|
+
*/
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { View } from "react-native";
|
|
6
|
+
|
|
7
|
+
// typings
|
|
8
|
+
import { IBoxProps } from "./interface";
|
|
9
|
+
|
|
10
|
+
// styles
|
|
11
|
+
import { styles } from "./styles";
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Componente Box para envolver outros componentes de forma flexível.
|
|
15
|
+
*/
|
|
16
|
+
export const Box: React.FC<IBoxProps> = ({
|
|
17
|
+
children,
|
|
18
|
+
width,
|
|
19
|
+
height,
|
|
20
|
+
backgroundColor,
|
|
21
|
+
borderStyled,
|
|
22
|
+
flexStyle,
|
|
23
|
+
paddingStyle,
|
|
24
|
+
marginStyle,
|
|
25
|
+
opacity = 1,
|
|
26
|
+
testID = "box",
|
|
27
|
+
style,
|
|
28
|
+
}) => {
|
|
29
|
+
// Criando o objeto de estilos dinamicamente
|
|
30
|
+
const styleProps: Partial<IBoxProps> = {
|
|
31
|
+
width,
|
|
32
|
+
height,
|
|
33
|
+
backgroundColor,
|
|
34
|
+
borderStyled,
|
|
35
|
+
flexStyle,
|
|
36
|
+
paddingStyle,
|
|
37
|
+
marginStyle,
|
|
38
|
+
opacity,
|
|
39
|
+
style,
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
return (
|
|
43
|
+
<View testID={testID} style={[styles(styleProps).boxStyle, style]}>
|
|
44
|
+
{children}
|
|
45
|
+
</View>
|
|
46
|
+
);
|
|
47
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IMPORTS
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { type ViewProps } from "react-native";
|
|
6
|
+
/**
|
|
7
|
+
* INTERFACE
|
|
8
|
+
*/
|
|
9
|
+
import { IGlobalCss } from "../../styles/global/interface";
|
|
10
|
+
|
|
11
|
+
interface IBoxProps extends ViewProps, IGlobalCss {
|
|
12
|
+
/**
|
|
13
|
+
* A propriedade CSS de Shadow Box adiciona efeitos de sombra em torno da estrutura de um elemento. Você pode definir vários efeitos separados por vírgulas. Uma sombra de caixa é descrita por compensações x e y em relação ao elemento, borrão e raio espalhado e cor.
|
|
14
|
+
*/
|
|
15
|
+
boxShadow?: string;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* O fundo abreviado CSS Propriedade define todas as propriedades do estilo de fundo de uma só vez, como cor, imagem, origem e tamanho ou método de repetição. As propriedades dos componentes não definidas no fundo da declaração de valor da propriedade abreviada são definidas como seus valores padrão..
|
|
19
|
+
*/
|
|
20
|
+
backgroundColor?: string;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* A propriedade CSS opacity define a transparência de um elemento, ou seja, o grau em que o fundo atrás do elemento é sobreposto. A propriedade aceita um valor entre 0,0 (totalmente transparente) e 1,0 (totalmente opaco).
|
|
24
|
+
*/
|
|
25
|
+
opacity?: number;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* EXPORT
|
|
30
|
+
*/
|
|
31
|
+
export type { IBoxProps };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { StyleSheet, ViewProps } from "react-native";
|
|
2
|
+
import { IBoxProps } from "./interface.d";
|
|
3
|
+
|
|
4
|
+
// typing
|
|
5
|
+
import { IGlobalCss } from "../../styles/global/interface";
|
|
6
|
+
|
|
7
|
+
import { stylesGlobal } from "../../styles/global/styles";
|
|
8
|
+
|
|
9
|
+
interface BoxProps extends IBoxProps, IGlobalCss {}
|
|
10
|
+
const styles = (props: BoxProps) =>
|
|
11
|
+
StyleSheet.create({
|
|
12
|
+
boxStyle: {
|
|
13
|
+
...stylesGlobal(props),
|
|
14
|
+
...props,
|
|
15
|
+
} as ViewProps,
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* EXPORTS
|
|
20
|
+
*/
|
|
21
|
+
export { styles };
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IMPORTS
|
|
3
|
+
*/
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { Text, TouchableOpacity, TextStyle } from "react-native";
|
|
6
|
+
|
|
7
|
+
// typings
|
|
8
|
+
import { type IButtonProps } from "./interface";
|
|
9
|
+
|
|
10
|
+
// styles
|
|
11
|
+
import { styles } from "./styles";
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Componente Button para a interação da ui.
|
|
15
|
+
*/
|
|
16
|
+
export const Button: React.FC<IButtonProps> = ({
|
|
17
|
+
title = "Button",
|
|
18
|
+
width = "50%",
|
|
19
|
+
height,
|
|
20
|
+
backgroundColor,
|
|
21
|
+
borderStyled,
|
|
22
|
+
flexStyle,
|
|
23
|
+
paddingStyle,
|
|
24
|
+
marginStyle,
|
|
25
|
+
testID,
|
|
26
|
+
opacity = 1,
|
|
27
|
+
children,
|
|
28
|
+
style,
|
|
29
|
+
fontStyle,
|
|
30
|
+
buttonTextStyle,
|
|
31
|
+
onPress,
|
|
32
|
+
...res
|
|
33
|
+
}) => {
|
|
34
|
+
const styleProps = {
|
|
35
|
+
width,
|
|
36
|
+
height,
|
|
37
|
+
backgroundColor,
|
|
38
|
+
borderStyled,
|
|
39
|
+
flexStyle,
|
|
40
|
+
paddingStyle,
|
|
41
|
+
marginStyle,
|
|
42
|
+
testID,
|
|
43
|
+
opacity,
|
|
44
|
+
children,
|
|
45
|
+
fontStyle,
|
|
46
|
+
buttonTextStyle,
|
|
47
|
+
style,
|
|
48
|
+
} as IButtonProps;
|
|
49
|
+
|
|
50
|
+
return (
|
|
51
|
+
<TouchableOpacity
|
|
52
|
+
activeOpacity={0.7}
|
|
53
|
+
testID={"button"}
|
|
54
|
+
style={styles(styleProps).buttonStyle}
|
|
55
|
+
onPress={onPress}
|
|
56
|
+
{...res}
|
|
57
|
+
>
|
|
58
|
+
<Text style={[styles(styleProps).buttonTextStyle as TextStyle]}>{title}</Text>
|
|
59
|
+
</TouchableOpacity>
|
|
60
|
+
);
|
|
61
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IMPORTS
|
|
3
|
+
*/
|
|
4
|
+
import { type TouchableOpacityProps } from "react-native";
|
|
5
|
+
|
|
6
|
+
// typing
|
|
7
|
+
import { IGlobalCss } from "../../styles/global/interface";
|
|
8
|
+
|
|
9
|
+
interface IButtonProps extends TouchableOpacityProps, Omit<IGlobalCss, "color"> {
|
|
10
|
+
title: string;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* A propriedade CSS de Shadow Box adiciona efeitos de sombra em torno da estrutura de um elemento. Você pode definir vários efeitos separados por vírgulas. Uma sombra de caixa é descrita por compensações x e y em relação ao elemento, borrão e raio espalhado e cor.
|
|
14
|
+
*/
|
|
15
|
+
boxShadow?: string;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* A propriedade CSS opacity define a transparência de um elemento, ou seja, o grau em que o fundo atrás do elemento é sobreposto. A propriedade aceita um valor entre 0,0 (totalmente transparente) e 1,0 (totalmente opaco).
|
|
19
|
+
*/
|
|
20
|
+
opacity?: number;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* A propriedade CSS color define o valor da cor de primeiro plano do texto e das decorações de texto de um elemento e define o valor currentcolor. currentcolor pode ser usado como um valor indireto em outras propriedades e é o padrão para outras propriedades de cores, como border-color.
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
buttonTextStyle: {
|
|
27
|
+
color: string;
|
|
28
|
+
font?: string;
|
|
29
|
+
fontSize?: number;
|
|
30
|
+
fontWeight?: "100" | "300" | "400" | "500" | "600" | "700" | "bold";
|
|
31
|
+
fontFamily?: string;
|
|
32
|
+
letterSpacing?: number;
|
|
33
|
+
lineHeight?: number;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* EXPORT
|
|
39
|
+
*/
|
|
40
|
+
export type { IButtonProps };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IMPORTS
|
|
3
|
+
*/
|
|
4
|
+
import { StyleSheet } from "react-native";
|
|
5
|
+
|
|
6
|
+
// typings
|
|
7
|
+
import { type IButtonProps } from "./interface";
|
|
8
|
+
import { IGlobalCss } from "../../styles/global/interface";
|
|
9
|
+
|
|
10
|
+
import { stylesGlobal } from "../../styles/global/styles";
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Interface ButtonProps
|
|
14
|
+
*/
|
|
15
|
+
interface ButtonProps extends Omit<IButtonProps, "color">, Omit<IGlobalCss, "color"> {}
|
|
16
|
+
|
|
17
|
+
const styles = (props: ButtonProps) =>
|
|
18
|
+
StyleSheet.create({
|
|
19
|
+
buttonStyle: { ...stylesGlobal(props), ...props },
|
|
20
|
+
buttonTextStyle: {
|
|
21
|
+
color: props.buttonTextStyle?.color ?? "blue",
|
|
22
|
+
fontSize: props.buttonTextStyle?.fontSize ?? 14,
|
|
23
|
+
letterSpacing: props.buttonTextStyle?.letterSpacing ?? 0.5,
|
|
24
|
+
lineHeight: props.buttonTextStyle?.lineHeight ?? 24,
|
|
25
|
+
fontWeight: props.buttonTextStyle?.fontWeight,
|
|
26
|
+
fontFamily: props.buttonTextStyle?.fontFamily ?? "Inter-Medium",
|
|
27
|
+
textAlign: props.flexStyle?.textAlign,
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* EXPORTS
|
|
33
|
+
*/
|
|
34
|
+
export { styles };
|