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.
Files changed (96) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +119 -0
  3. package/package.json +200 -0
  4. package/react-native.config.js +4 -0
  5. package/src/assets/fonts/Inter-Black.ttf +0 -0
  6. package/src/assets/fonts/Inter-Bold.ttf +0 -0
  7. package/src/assets/fonts/Inter-ExtraBold.ttf +0 -0
  8. package/src/assets/fonts/Inter-ExtraLight.ttf +0 -0
  9. package/src/assets/fonts/Inter-Light.ttf +0 -0
  10. package/src/assets/fonts/Inter-Medium.ttf +0 -0
  11. package/src/assets/fonts/Inter-Regular.ttf +0 -0
  12. package/src/assets/fonts/Inter-SemiBold.ttf +0 -0
  13. package/src/assets/fonts/Inter-Thin.ttf +0 -0
  14. package/src/common/icons-svg/arrow-drop-down/index.tsx +28 -0
  15. package/src/common/icons-svg/arrow-left/index.tsx +32 -0
  16. package/src/common/icons-svg/bluetooth/index.tsx +37 -0
  17. package/src/common/icons-svg/bluetooth-connected/index.tsx +41 -0
  18. package/src/common/icons-svg/calendar/index.tsx +40 -0
  19. package/src/common/icons-svg/call-bell/index.tsx +29 -0
  20. package/src/common/icons-svg/camera-plus/index.tsx +40 -0
  21. package/src/common/icons-svg/check-box-fill/index.tsx +30 -0
  22. package/src/common/icons-svg/check-box-outline/index.tsx +30 -0
  23. package/src/common/icons-svg/check-circle/index.tsx +27 -0
  24. package/src/common/icons-svg/closed/index.tsx +34 -0
  25. package/src/common/icons-svg/constants/index.ts +43 -0
  26. package/src/common/icons-svg/credit-card/index.tsx +32 -0
  27. package/src/common/icons-svg/currency/index.tsx +39 -0
  28. package/src/common/icons-svg/eye/index.tsx +31 -0
  29. package/src/common/icons-svg/eye-slash/index.tsx +31 -0
  30. package/src/common/icons-svg/file-text/index.tsx +39 -0
  31. package/src/common/icons-svg/gas-pump/index.tsx +39 -0
  32. package/src/common/icons-svg/gauge/index.tsx +39 -0
  33. package/src/common/icons-svg/gear/index.tsx +39 -0
  34. package/src/common/icons-svg/index.tsx +149 -0
  35. package/src/common/icons-svg/interface.d.ts +18 -0
  36. package/src/common/icons-svg/list/index.tsx +58 -0
  37. package/src/common/icons-svg/moon-stars/index.tsx +29 -0
  38. package/src/common/icons-svg/note-pincel/index.tsx +40 -0
  39. package/src/common/icons-svg/package-check/index.tsx +45 -0
  40. package/src/common/icons-svg/shopping-cart/index.tsx +39 -0
  41. package/src/common/icons-svg/steering-wheel/index.tsx +49 -0
  42. package/src/common/icons-svg/steering-wheel-fill/index.tsx +36 -0
  43. package/src/common/icons-svg/timer/index.tsx +39 -0
  44. package/src/common/icons-svg/trophy/index.tsx +29 -0
  45. package/src/common/icons-svg/truck/index.tsx +39 -0
  46. package/src/common/icons-svg/wifi-high/index.tsx +43 -0
  47. package/src/common/icons-svg/wifi-x/index.tsx +50 -0
  48. package/src/components/box/index.tsx +47 -0
  49. package/src/components/box/interface.d.ts +31 -0
  50. package/src/components/box/styles.ts +21 -0
  51. package/src/components/button/index.tsx +61 -0
  52. package/src/components/button/interface.d.ts +40 -0
  53. package/src/components/button/styles.ts +34 -0
  54. package/src/components/capture-photo/index.tsx +125 -0
  55. package/src/components/capture-photo/interface.d.ts +44 -0
  56. package/src/components/capture-photo/styles.ts +24 -0
  57. package/src/components/card-hours/index.tsx +118 -0
  58. package/src/components/card-hours/interface.d.ts +37 -0
  59. package/src/components/card-scheduled-journey/index.tsx +138 -0
  60. package/src/components/card-scheduled-journey/interface.ts +42 -0
  61. package/src/components/card-scheduled-journey/styles.ts +26 -0
  62. package/src/components/header-profile/index.tsx +128 -0
  63. package/src/components/header-profile/interface.d.ts +52 -0
  64. package/src/components/input/index.tsx +180 -0
  65. package/src/components/input/interface.d.ts +55 -0
  66. package/src/components/input/styles.ts +23 -0
  67. package/src/components/scheduled-journey-indicators/index.tsx +99 -0
  68. package/src/components/scheduled-journey-indicators/interface.d.ts +18 -0
  69. package/src/components/selects/select-option/index.tsx +104 -0
  70. package/src/components/selects/select-option/interface.d.ts +18 -0
  71. package/src/components/selects/select-option/styles.ts +75 -0
  72. package/src/components/step-indicator/helpers/get-icon-by-status.tsx +20 -0
  73. package/src/components/step-indicator/index.tsx +164 -0
  74. package/src/components/step-indicator/interface.d.ts +34 -0
  75. package/src/components/step-indicator/styles.ts +67 -0
  76. package/src/components/typography/index.tsx +67 -0
  77. package/src/components/typography/interface.d.ts +102 -0
  78. package/src/components/typography/styles.ts +34 -0
  79. package/src/index.tsx +23 -0
  80. package/src/stories/box/box.stories.tsx +106 -0
  81. package/src/stories/button/button.stories.tsx +143 -0
  82. package/src/stories/capture-photo/capture-photo.stories.tsx +170 -0
  83. package/src/stories/card-hours/card-hours.stories.tsx +102 -0
  84. package/src/stories/card-scheduled-journey/card-scheduled-journey.stories.tsx +101 -0
  85. package/src/stories/header-profile/header-profile.stories.tsx +84 -0
  86. package/src/stories/input/input.stories.tsx +286 -0
  87. package/src/stories/scheduled-journey-indicators/sheduled-journey-indicators.stories.tsx +74 -0
  88. package/src/stories/select-option/select-option.stories.tsx +46 -0
  89. package/src/stories/step-indicator/step-indicator.stories.tsx +116 -0
  90. package/src/stories/typography/typography.stories.tsx +146 -0
  91. package/src/styles/global/interface.d.ts +131 -0
  92. package/src/styles/global/styles.ts +63 -0
  93. package/src/styles/global/theme-provider.tsx +10 -0
  94. package/src/styles/theme/theme.ts +156 -0
  95. package/src/utils/format-data/index.ts +14 -0
  96. package/src/utils/mutiply/index.ts +3 -0
@@ -0,0 +1,27 @@
1
+ /**
2
+ * IMPORTS
3
+ */
4
+ import * as React from "react";
5
+ import Svg, { Path } from "react-native-svg";
6
+
7
+ import { ISvgProps } from "../interface";
8
+
9
+ const SvgIconCheckCircle: React.FC<ISvgProps> = ({ color, width, height }) => (
10
+ <Svg
11
+ //@ts-ignore
12
+ xmlns="http://www.w3.org/2000/svg"
13
+ width={width ?? 26}
14
+ height={height ?? 26}
15
+ fill="none"
16
+ >
17
+ <Path
18
+ fill={color ?? "#25BA76"}
19
+ d="M13 0a13 13 0 1 0 13 13A13.013 13.013 0 0 0 13 0Zm5.707 10.707-7 7a1.001 1.001 0 0 1-1.415 0l-3-3a1 1 0 1 1 1.416-1.415L11 15.587l6.293-6.293a1 1 0 1 1 1.415 1.415Z"
20
+ />
21
+ </Svg>
22
+ );
23
+
24
+ /**
25
+ * EXPORTS
26
+ */
27
+ export { SvgIconCheckCircle };
@@ -0,0 +1,34 @@
1
+ /**
2
+ * IMPORTS
3
+ */
4
+ import React from "react";
5
+ import Svg, { Path, G, Defs, ClipPath } from "react-native-svg";
6
+ /**
7
+ * typings
8
+ */
9
+ import { ISvgProps } from "../interface";
10
+
11
+ const SvgIconClosed: React.FC<ISvgProps> = ({ color }) => (
12
+ // @ts-expect-error
13
+ <Svg xmlns="http://www.w3.org/2000/svg" width={24} height={24} fill="none">
14
+ <G
15
+ stroke={color ?? "#1e1e1e"}
16
+ strokeLinecap="round"
17
+ strokeLinejoin="round"
18
+ strokeWidth={2}
19
+ clipPath="url(#a)"
20
+ >
21
+ <Path d="M17.562 4.813 4.917 17.188M17.562 17.188 4.917 4.813" />
22
+ </G>
23
+ <Defs>
24
+ <ClipPath id="a">
25
+ <Path fill="#1e1e1e" d="M0 0h22.48v22H0z" />
26
+ </ClipPath>
27
+ </Defs>
28
+ </Svg>
29
+ );
30
+
31
+ /**
32
+ * EXPORTS
33
+ */
34
+ export { SvgIconClosed };
@@ -0,0 +1,43 @@
1
+ /**
2
+ * IMPORTS
3
+ */
4
+
5
+ const SVG_NAME = {
6
+ CAMERA_PLUS: "camera-plus",
7
+ STEERING_WHEEL: "steering-wheel",
8
+ CHECK_BOX_FILL: "check-box-fill",
9
+ CHECK_BOX_OUTLINE: "check-box-outline",
10
+ MOON_STARS: "moon-stars",
11
+ CALL_BELL: "call-bell",
12
+ STEERING_WHEEL_FILL: "steering-wheel-fill",
13
+ TROPHY: "trophy",
14
+ SHOPPING_CART: "Pedido Realizado",
15
+ CREDIT_CARD: "Pagamento Aprovado",
16
+ FILE_TEXT: "Pedido Faturado",
17
+ TRUCK: "Pedido Enviado",
18
+ PACKAGE_CHECK: "Pedido Entregue",
19
+ EYE_SLASH: "eye-slash",
20
+ EYE: "eye",
21
+ CALENDAR: "calendar",
22
+ TIMER: "timer",
23
+ GEAR: "gear",
24
+ CURRENCY: "currency",
25
+ GAUGE: "gauge",
26
+ GAS_PUMP: "gas-pump",
27
+ ARROW_LEFT: "arrow-left",
28
+ BLUETOOTH: "bluetooth",
29
+ BLUETOOTH_CONNECTED: "bluetooth-connected",
30
+ LIST: "list",
31
+ WIFI_X: "wifi-x",
32
+ WIFI_HIGH: "wifi-high",
33
+ NOTE_PINCEL: "note-pincel",
34
+ CHECK_CIRCLE: "check-circle",
35
+ ARROW_DROP_DOWN: "arrow-drop-down",
36
+ CLOSED: "closed",
37
+ };
38
+
39
+ /**
40
+ * EXPORTS
41
+ */
42
+
43
+ export { SVG_NAME };
@@ -0,0 +1,32 @@
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 IconCreditCard: React.FC<ISvgProps> = ({ size, color }) => (
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
+ >
20
+ <Path
21
+ stroke={color ?? "#fff"}
22
+ strokeLinecap="round"
23
+ strokeLinejoin="round"
24
+ d="M20 5H4a2 2 0 00-2 2v10a2 2 0 002 2h16a2 2 0 002-2V7a2 2 0 00-2-2zM2 10h20"
25
+ ></Path>
26
+ </Svg>
27
+ );
28
+
29
+ /**
30
+ * EXPORTS
31
+ */
32
+ export { IconCreditCard };
@@ -0,0 +1,39 @@
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 SvgIconCurrency: React.FC<ISvgProps> = ({ color, size }) => (
11
+ <Svg
12
+ //@ts-ignore
13
+ xmlns="http://www.w3.org/2000/svg"
14
+ width={size ?? 18}
15
+ height={size ?? 18}
16
+ fill="none"
17
+ viewBox="0 0 18 18"
18
+ >
19
+ <G
20
+ stroke={color ?? "#393939"}
21
+ strokeLinecap="round"
22
+ strokeLinejoin="round"
23
+ strokeWidth="2"
24
+ clipPath="url(#clip0_689_608)"
25
+ >
26
+ <Path d="M9 1.688v14.624M12.938 6.188a2.811 2.811 0 00-2.813-2.813h-2.25a2.813 2.813 0 000 5.625h2.813a2.812 2.812 0 110 5.625H7.312A2.812 2.812 0 014.5 11.812"></Path>
27
+ </G>
28
+ <Defs>
29
+ <ClipPath id="clip0_689_608">
30
+ <Path fill="#fff" d="M0 0H18V18H0z"></Path>
31
+ </ClipPath>
32
+ </Defs>
33
+ </Svg>
34
+ );
35
+
36
+ /**
37
+ * EXPORTS
38
+ */
39
+ export { SvgIconCurrency };
@@ -0,0 +1,31 @@
1
+ /**
2
+ * IMPORTS
3
+ */
4
+ import * as React from "react";
5
+ import Svg, { Path, G } from "react-native-svg";
6
+
7
+ //typings
8
+ import { ISvgProps } from "../interface";
9
+
10
+ const SvgIconEye: React.FC<ISvgProps> = ({ color, size, ...res }) => (
11
+ <Svg
12
+ // @ts-expect-error
13
+ xmlns="http://www.w3.org/2000/svg"
14
+ width={size ?? 26}
15
+ height={size ?? 26}
16
+ fill="none"
17
+ {...res}
18
+ >
19
+ <G filter="url(#a)">
20
+ <Path
21
+ fill={color ?? "#050022"}
22
+ d="M23.185 12.196c-.032-.074-.827-1.835-2.592-3.6C18.241 6.242 15.27 5 12 5 8.73 5 5.76 6.243 3.407 8.595 1.642 10.361.844 12.125.815 12.196a.75.75 0 0 0 0 .61c.032.074.827 1.834 2.592 3.6C5.759 18.756 8.73 20 12 20c3.27 0 6.24-1.243 8.593-3.594 1.765-1.766 2.56-3.526 2.592-3.6a.75.75 0 0 0 0-.61ZM12 18.5c-2.886 0-5.407-1.05-7.493-3.117A12.511 12.511 0 0 1 2.344 12.5a12.499 12.499 0 0 1 2.163-2.883C6.593 7.55 9.114 6.5 12 6.5s5.407 1.05 7.493 3.117a12.507 12.507 0 0 1 2.168 2.883c-.676 1.262-3.62 6-9.661 6ZM12 8a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9Zm0 7.5a3 3 0 1 1 0-5.999 3 3 0 0 1 0 5.999Z"
23
+ />
24
+ </G>
25
+ </Svg>
26
+ );
27
+
28
+ /**
29
+ * EXPORTS
30
+ */
31
+ export { SvgIconEye };
@@ -0,0 +1,31 @@
1
+ /**
2
+ * IMPORTS
3
+ */
4
+ import * as React from "react";
5
+ import Svg, { Path, Defs, G } from "react-native-svg";
6
+
7
+ //typings
8
+ import { ISvgProps } from "../interface";
9
+
10
+ const SvgIconEyeSlash: React.FC<ISvgProps> = ({ color, size }) => (
11
+ <Svg
12
+ // @ts-expect-error
13
+ xmlns="http://www.w3.org/2000/svg"
14
+ width={size ?? 24}
15
+ height={size ?? 24}
16
+ fill="none"
17
+ >
18
+ <G filter="url(#a)">
19
+ <Path
20
+ fill={color ?? "#050022"}
21
+ d="M9.055 3.746a.75.75 0 1 0-1.11 1.008L9.749 6.74c-3.405 2.09-4.87 5.311-4.934 5.457a.75.75 0 0 0 0 .61c.032.074.827 1.834 2.592 3.6C9.759 18.756 12.73 20 16 20c1.68.01 3.344-.336 4.882-1.015l2.062 2.27a.75.75 0 1 0 1.11-1.01L9.055 3.746Zm4.437 7.11 3.907 4.298a3 3 0 0 1-3.907-4.298ZM16 18.5c-2.886 0-5.407-1.05-7.493-3.117A12.484 12.484 0 0 1 6.344 12.5c.44-.824 1.843-3.13 4.439-4.63l1.687 1.852a4.5 4.5 0 0 0 5.968 6.563l1.381 1.518A10.501 10.501 0 0 1 16 18.5Zm.563-8.947a.75.75 0 0 1 .28-1.473 4.515 4.515 0 0 1 3.635 3.997.75.75 0 0 1-.676.817.636.636 0 0 1-.07 0 .75.75 0 0 1-.75-.68 3.008 3.008 0 0 0-2.42-2.66Zm10.62 3.253c-.04.088-.99 2.19-3.128 4.106a.752.752 0 0 1-1.068-.05.75.75 0 0 1 .068-1.068A12.448 12.448 0 0 0 25.66 12.5a12.482 12.482 0 0 0-2.168-2.885C21.407 7.55 18.886 6.5 16 6.5c-.608 0-1.215.048-1.815.147a.75.75 0 1 1-.248-1.48A12.562 12.562 0 0 1 16 5c3.27 0 6.24 1.243 8.593 3.595 1.765 1.766 2.56 3.527 2.592 3.601a.75.75 0 0 1 0 .61h-.002Z"
22
+ />
23
+ </G>
24
+ <Defs></Defs>
25
+ </Svg>
26
+ );
27
+
28
+ /**
29
+ * EXPORTS
30
+ */
31
+ export { SvgIconEyeSlash };
@@ -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 IconFileText: 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="M14.5 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V7.5L14.5 2z"
26
+ ></Path>
27
+ <Path
28
+ stroke={color ?? "#fff"}
29
+ strokeLinecap="round"
30
+ strokeLinejoin="round"
31
+ d="M14 2v6h6M16 13H8M16 17H8M10 9H8"
32
+ ></Path>
33
+ </Svg>
34
+ );
35
+
36
+ /**
37
+ * EXPORTS
38
+ */
39
+ export { IconFileText };
@@ -0,0 +1,39 @@
1
+ /**
2
+ * IMPORTS
3
+ */
4
+ import * as React from "react";
5
+ import Svg, { G, Path, Defs, ClipPath } from "react-native-svg";
6
+
7
+ //typings
8
+ import { ISvgProps } from "../interface";
9
+
10
+ const SvgIconGasPump: 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="1.5"
24
+ clipPath="url(#clip0_645_111)"
25
+ >
26
+ <Path d="M5.75 20.75v-15a1.5 1.5 0 011.5-1.5h7.5a1.5 1.5 0 011.5 1.5v15M3.5 20.75h15M16.25 11h2.25a1.5 1.5 0 011.5 1.5v3.75a1.5 1.5 0 103 0V8.622a1.501 1.501 0 00-.44-1.062l-1.81-1.81M13.25 11h-4.5"></Path>
27
+ </G>
28
+ <Defs>
29
+ <ClipPath id="clip0_645_111">
30
+ <Path fill="#fff" d="M0 0H24V24H0z" transform="translate(.5 .5)"></Path>
31
+ </ClipPath>
32
+ </Defs>
33
+ </Svg>
34
+ );
35
+
36
+ /**
37
+ * EXPORTS
38
+ */
39
+ export { SvgIconGasPump };
@@ -0,0 +1,39 @@
1
+ /**
2
+ * IMPORTS
3
+ */
4
+ import * as React from "react";
5
+ import Svg, { G, Path, Defs, ClipPath } from "react-native-svg";
6
+
7
+ //typings
8
+ import { ISvgProps } from "../interface";
9
+
10
+ const SvgIconGauge: 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="1.5"
24
+ clipPath="url(#clip0_644_104)"
25
+ >
26
+ <Path d="M2.25 17.25v-2.144c0-5.389 4.327-9.837 9.715-9.856A9.75 9.75 0 0121.75 15v2.25A.75.75 0 0121 18H3a.75.75 0 01-.75-.75zM12 5.25v3M9.75 18l6-8.25M18.75 13.5h2.886M2.38 13.5h2.87"></Path>
27
+ </G>
28
+ <Defs>
29
+ <ClipPath id="clip0_644_104">
30
+ <Path fill="#fff" d="M0 0H24V24H0z"></Path>
31
+ </ClipPath>
32
+ </Defs>
33
+ </Svg>
34
+ );
35
+
36
+ /**
37
+ * EXPORTS
38
+ */
39
+ export { SvgIconGauge };
@@ -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 SvgIconGear: 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
19
+ stroke={color ?? "#050022"}
20
+ strokeLinecap="round"
21
+ strokeLinejoin="round"
22
+ strokeWidth={2}
23
+ clipPath="url(#a)"
24
+ >
25
+ <Path d="M12 15.75a3.75 3.75 0 1 0 0-7.5 3.75 3.75 0 0 0 0 7.5Z" />
26
+ <Path d="M3.884 16.696a9.295 9.295 0 0 1-.944-2.277l1.573-1.97a7.645 7.645 0 0 1 0-.903L2.941 9.577A9.321 9.321 0 0 1 3.883 7.3l2.504-.28c.2-.226.413-.44.639-.64l.28-2.502a9.294 9.294 0 0 1 2.275-.937l1.969 1.573c.3-.018.603-.018.904 0l1.968-1.572a9.32 9.32 0 0 1 2.279.942l.28 2.504c.226.2.44.413.64.639l2.502.28c.415.715.732 1.48.944 2.278l-1.573 1.969c.018.3.018.602 0 .903l1.573 1.97a9.321 9.321 0 0 1-.938 2.277l-2.504.282c-.2.225-.413.438-.639.638l-.28 2.503a9.296 9.296 0 0 1-2.278.944l-1.969-1.573a7.653 7.653 0 0 1-.903 0l-1.97 1.572a9.32 9.32 0 0 1-2.277-.937l-.282-2.504a7.6 7.6 0 0 1-.638-.639l-2.505-.293Z" />
27
+ </G>
28
+ <Defs>
29
+ <ClipPath id="a">
30
+ <Path fill="#fff" d="M0 0h24v24H0z" />
31
+ </ClipPath>
32
+ </Defs>
33
+ </Svg>
34
+ );
35
+
36
+ /**
37
+ * EXPORTS
38
+ */
39
+ export { SvgIconGear };
@@ -0,0 +1,149 @@
1
+ /**
2
+ * IMPORTS
3
+ */
4
+ import React from "react";
5
+
6
+ // commons / svg
7
+ import { SvgIconSteeringWheel } from "./steering-wheel";
8
+ import { SvgIconCheckBoxFill } from "./check-box-fill";
9
+ import { SvgIconCheckBoxOutline } from "./check-box-outline";
10
+ import { SvgIconCameraPlus } from "./camera-plus";
11
+ import { SvgIconMoonStars } from "./moon-stars";
12
+ import { SvgIconCallBell } from "./call-bell";
13
+ import { SvgIconSteeringWheelFill } from "./steering-wheel-fill";
14
+ import { SvgIconTrophy } from "./trophy";
15
+ import { IconShoppingCart } from "./shopping-cart";
16
+ import { IconCreditCard } from "./credit-card";
17
+ import { IconFileText } from "./file-text";
18
+ import { IconTruck } from "./truck";
19
+ import { IconPackageCheck } from "./package-check";
20
+ import { SvgIconEyeSlash } from "./eye-slash";
21
+ import { SvgIconCalendar } from "./calendar";
22
+ import { SvgIconCurrency } from "./currency";
23
+ import { SvgIconEye } from "./eye";
24
+ import { SvgIconGasPump } from "./gas-pump";
25
+ import { SvgIconGauge } from "./gauge";
26
+ import { SvgIconGear } from "./gear";
27
+ import { SvgIconTimer } from "./timer";
28
+ import { SvgIconNotePencil } from "./note-pincel";
29
+ import { SvgIconCheckCircle } from "./check-circle";
30
+ import { SvgIconArrowLeft } from "./arrow-left";
31
+ import { SvgIconBluetooth } from "./bluetooth";
32
+ import { SvgIconBluetoothConnected } from "./bluetooth-connected";
33
+ import { SvgIconList } from "./list";
34
+ import { SvgIconWiFiHigh } from "./wifi-high";
35
+ import { SvgIconWiFiX } from "./wifi-x";
36
+ import { SvgIconArrowDropDown } from "./arrow-drop-down";
37
+ import { SvgIconClosed } from "./closed";
38
+
39
+ // typing
40
+ import { ISvgProps } from "./interface";
41
+
42
+ // styles
43
+ import { theme } from "../../styles/theme/theme";
44
+
45
+ const Icons: React.FC<ISvgProps> = ({ icon, color, size }) => {
46
+ switch (icon) {
47
+ case "STEERING_WHEEL":
48
+ return <SvgIconSteeringWheel icon="STEERING_WHEEL" color={color} size={size} />;
49
+
50
+ case "CHECK_BOX_FILL":
51
+ return <SvgIconCheckBoxFill icon="CHECK_BOX_FILL" color={color} size={size} />;
52
+
53
+ case "CHECK_BOX_OUTLINE":
54
+ return <SvgIconCheckBoxOutline icon="CHECK_BOX_OUTLINE" color={color} size={size} />;
55
+
56
+ case "CAMERA_PLUS":
57
+ return <SvgIconCameraPlus color={color} size={size} icon={"CAMERA_PLUS"} />;
58
+
59
+ case "MOON_STARS":
60
+ return <SvgIconMoonStars color={color} size={size} icon={"MOON_STARS"} />;
61
+
62
+ case "CALL_BELL":
63
+ return <SvgIconCallBell color={color} size={size} icon={"CALL_BELL"} />;
64
+
65
+ case "STEERING_WHEEL_FILL":
66
+ return <SvgIconSteeringWheelFill color={color} size={size} icon={"STEERING_WHEEL_FILL"} />;
67
+
68
+ case "TROPHY":
69
+ return <SvgIconTrophy color={theme.colors.orange[150]} size={size} icon={"TROPHY"} />;
70
+
71
+ case "SHOPPING_CART":
72
+ return <IconShoppingCart icon={"SHOPPING_CART"} />;
73
+
74
+ case "CREDIT_CARD":
75
+ return <IconCreditCard icon={"CREDIT_CARD"} />;
76
+
77
+ case "FILE_TEXT":
78
+ return <IconFileText icon={"FILE_TEXT"} />;
79
+
80
+ case "TRUCK":
81
+ return <IconTruck icon={"TRUCK"} />;
82
+
83
+ case "PACKAGE_CHECK":
84
+ return <IconPackageCheck icon={"PACKAGE_CHECK"} />;
85
+
86
+ case "EYE_SLASH":
87
+ return <SvgIconEyeSlash color={color} size={size} icon={"EYE_SLASH"} />;
88
+
89
+ case "EYE":
90
+ return <SvgIconEye color={color} size={size} icon={"EYE"} />;
91
+
92
+ case "CALENDAR":
93
+ return <SvgIconCalendar color={color} size={size} icon={"CALENDAR"} />;
94
+
95
+ case "TIMER":
96
+ return <SvgIconTimer color={color} size={size} icon={"TIMER"} />;
97
+
98
+ case "GEAR":
99
+ return <SvgIconGear color={color} size={size} icon={"GEAR"} />;
100
+
101
+ case "CURRENCY":
102
+ return <SvgIconCurrency color={color} size={size} icon={"CURRENCY"} />;
103
+
104
+ case "GAUGE":
105
+ return <SvgIconGauge color={color} size={size} icon={"GAUGE"} />;
106
+
107
+ case "GAS_PUMP":
108
+ return <SvgIconGasPump color={color} size={size} icon={"GAS_PUMP"} />;
109
+
110
+ case "ARROW_LEFT":
111
+ return <SvgIconArrowLeft color={color} size={size} icon={"ARROW_LEFT"} />;
112
+
113
+ case "BLUETOOTH":
114
+ return <SvgIconBluetooth color={color} size={size} icon={"BLUETOOTH"} />;
115
+
116
+ case "BLUETOOTH_CONNECTED":
117
+ return <SvgIconBluetoothConnected color={color} size={size} icon={"BLUETOOTH_CONNECTED"} />;
118
+
119
+ case "LIST":
120
+ return <SvgIconList color={color} size={size} icon={"LIST"} />;
121
+
122
+ case "WIFI_HIGH":
123
+ return <SvgIconWiFiHigh color={color} size={size} icon={"WIFI_HIGH"} />;
124
+
125
+ case "WIFI_X":
126
+ return <SvgIconWiFiX color={color} size={size} icon={"WIFI_X"} />;
127
+
128
+ case "NOTE_PINCEL":
129
+ return <SvgIconNotePencil color={color} size={size} icon={"NOTE_PINCEL"} />;
130
+
131
+ case "CHECK_CIRCLE":
132
+ return <SvgIconCheckCircle color={color} size={size} icon={"CHECK_CIRCLE"} />;
133
+
134
+ case "ARROW_DROP_DOWN":
135
+ return <SvgIconArrowDropDown color={color} size={size} icon={"ARROW_DROP_DOWN"} />;
136
+
137
+ case "CLOSED":
138
+ return <SvgIconClosed color={color} size={size} icon={"CLOSED"} />;
139
+
140
+ default:
141
+ return <SvgIconCameraPlus color={color} size={size} icon={"CAMERA_PLUS"} />;
142
+ }
143
+ };
144
+
145
+ /**
146
+ * EXPORTS
147
+ */
148
+
149
+ export { Icons };
@@ -0,0 +1,18 @@
1
+ /**
2
+ * IMPORTS
3
+ */
4
+
5
+ import { SvgProps } from "react-native-svg";
6
+ import { SVG_NAME } from "./constants";
7
+
8
+ interface ISvgProps extends SvgProps {
9
+ width?: number;
10
+ height?: number;
11
+ color?: string;
12
+ size?: number;
13
+ icon: keyof typeof SVG_NAME;
14
+ }
15
+ /**
16
+ * EXPORTS
17
+ */
18
+ export { ISvgProps };
@@ -0,0 +1,58 @@
1
+ /**
2
+ * IMPORTS
3
+ */
4
+ import * as React from "react";
5
+ import Svg, { Path, G, Defs, Rect, ClipPath } from "react-native-svg";
6
+
7
+ //typings
8
+ import { ISvgProps } from "../interface";
9
+
10
+ const SvgIconList: React.FC<ISvgProps> = ({ color, size }) => (
11
+ <Svg
12
+ width={size ?? 28}
13
+ height={size ?? 28}
14
+ viewBox="0 0 28 28"
15
+ fill={"none"}
16
+ //@ts-ignore
17
+ xmlns="http://www.w3.org/2000/svg"
18
+ >
19
+ <G clip-path="url(#clip0_627_88)">
20
+ <Path
21
+ d="M5.43347 16.557H27.4335"
22
+ stroke={color ?? "#fff"}
23
+ stroke-width="1.5"
24
+ stroke-linecap="round"
25
+ stroke-linejoin="round"
26
+ />
27
+ <Path
28
+ d="M5.43347 8.55701H27.4335"
29
+ stroke={color ?? "#fff"}
30
+ stroke-width="1.5"
31
+ stroke-linecap="round"
32
+ stroke-linejoin="round"
33
+ />
34
+ <Path
35
+ d="M5.43347 24.557H27.4335"
36
+ stroke={color ?? "#fff"}
37
+ stroke-width="1.5"
38
+ stroke-linecap="round"
39
+ stroke-linejoin="round"
40
+ />
41
+ </G>
42
+ <Defs>
43
+ <ClipPath id="clip0_627_88">
44
+ <Rect
45
+ width={size ?? 28}
46
+ height={size ?? 28}
47
+ fill="white"
48
+ transform="translate(0.433472 0.557007)"
49
+ />
50
+ </ClipPath>
51
+ </Defs>
52
+ </Svg>
53
+ );
54
+
55
+ /**
56
+ * EXPORTS
57
+ */
58
+ export { SvgIconList };
@@ -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 SvgIconMoonStars: 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.5 9a.75.75 0 0 1-.75.75h-1.5v1.5a.75.75 0 1 1-1.5 0v-1.5h-1.5a.75.75 0 1 1 0-1.5h1.5v-1.5a.75.75 0 1 1 1.5 0v1.5h1.5a.75.75 0 0 1 .75.75m-9-3.75h.75V6a.75.75 0 1 0 1.5 0v-.75h.75a.75.75 0 1 0 0-1.5h-.75V3a.75.75 0 1 0-1.5 0v.75h-.75a.75.75 0 1 0 0 1.5m6.822 9.094a.75.75 0 0 1 .134.75 9.001 9.001 0 0 1-17.09-.578A9 9 0 0 1 8.914 3.544a.75.75 0 0 1 .994.85 8.256 8.256 0 0 0 9.7 9.7.75.75 0 0 1 .715.25m-1.818 1.395q-.251.012-.504.013A9.76 9.76 0 0 1 8.25 6c0-.168 0-.337.013-.504a7.5 7.5 0 1 0 10.241 10.24z"
22
+ ></Path>
23
+ </Svg>
24
+ );
25
+
26
+ /**
27
+ * EXPORTS
28
+ */
29
+ export { SvgIconMoonStars };