ikualo-ui-kit-mobile 0.3.1 → 0.7.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 (178) hide show
  1. package/App.tsx +20 -9
  2. package/app.json +4 -23
  3. package/assets/fonts/MontserratAlternatesBold.ttf +0 -0
  4. package/assets/fonts/MontserratAlternatesExtraBold.ttf +0 -0
  5. package/assets/icons/svgs/ArrowRightIcon.tsx +18 -0
  6. package/assets/icons/svgs/CheckboxCheckedIcon.tsx +16 -0
  7. package/assets/icons/svgs/CheckboxEmptyIcon.tsx +17 -0
  8. package/assets/icons/svgs/ErrorIcon.tsx +13 -0
  9. package/assets/icons/svgs/ErrorInputIcon.tsx +14 -0
  10. package/assets/icons/svgs/EyeOffIcon.tsx +10 -0
  11. package/assets/icons/svgs/EyeOnIcon.tsx +12 -0
  12. package/assets/icons/svgs/InfoIcon.tsx +11 -0
  13. package/assets/icons/svgs/RadioButtonChecked.tsx +16 -0
  14. package/assets/icons/svgs/RadioButtonUnchecked.tsx +16 -0
  15. package/assets/icons/svgs/SuccessIcon.tsx +18 -0
  16. package/assets/icons/svgs/TestIcon.tsx +17 -0
  17. package/assets/icons/svgs/WarningIcon.tsx +13 -0
  18. package/assets/icons/svgs/index.ts +12 -0
  19. package/assets/images/svgs/IconAppImage.tsx +5 -4
  20. package/assets/images/svgs/TestImage.tsx +8 -0
  21. package/assets/images/svgs/index.ts +3 -0
  22. package/assets/styles/elements/alert.ts +14 -14
  23. package/assets/styles/elements/buttons.ts +54 -80
  24. package/assets/styles/elements/cards.ts +36 -70
  25. package/assets/styles/elements/dialog.ts +14 -14
  26. package/assets/styles/elements/dropdown.ts +18 -7
  27. package/assets/styles/elements/header.ts +18 -14
  28. package/assets/styles/elements/inputs.ts +41 -64
  29. package/assets/styles/elements/pages.ts +37 -5
  30. package/assets/styles/elements/progressBar.ts +15 -8
  31. package/assets/styles/elements/select.ts +10 -10
  32. package/assets/styles/elements/tab.ts +10 -9
  33. package/assets/styles/modules/listGroup.ts +10 -14
  34. package/assets/styles/modules/register.ts +12 -13
  35. package/package.json +10 -20
  36. package/src/config/paper.config.ts +140 -104
  37. package/src/elements/{list/ListGroup.tsx → accordion/Accordion.tsx} +7 -15
  38. package/src/elements/alerts/Alert.tsx +17 -14
  39. package/src/elements/alerts/AlertsExamples.tsx +41 -0
  40. package/src/elements/buttons/BtnCircle.tsx +9 -21
  41. package/src/elements/buttons/BtnContained.tsx +7 -19
  42. package/src/elements/buttons/BtnLightSmall.tsx +48 -37
  43. package/src/elements/buttons/BtnOutlined.tsx +6 -15
  44. package/src/elements/buttons/BtnText.tsx +7 -13
  45. package/src/elements/buttons/BtnsExample.tsx +41 -0
  46. package/src/elements/cards/Card.tsx +44 -0
  47. package/src/elements/cards/CardAbout.tsx +19 -16
  48. package/src/elements/cards/CardInteractive.tsx +6 -8
  49. package/src/elements/cards/CardList.tsx +12 -13
  50. package/src/elements/cards/CardsExamples.tsx +61 -0
  51. package/src/elements/dialogs/DialogDown.tsx +8 -14
  52. package/src/elements/dialogs/DialogExamples.tsx +36 -0
  53. package/src/elements/dialogs/DialogGeneral.tsx +8 -7
  54. package/src/elements/dropdown/Dropdown.tsx +17 -30
  55. package/src/elements/headers/HeaderPage.tsx +12 -12
  56. package/src/elements/inputs/Input.tsx +15 -52
  57. package/src/elements/inputs/InputCheckbox.tsx +27 -0
  58. package/src/elements/inputs/InputEmail.tsx +14 -34
  59. package/src/elements/inputs/InputPassword.tsx +20 -42
  60. package/src/elements/inputs/InputsExamples.tsx +54 -0
  61. package/src/elements/navbar/Navbar.tsx +47 -0
  62. package/src/elements/pages/PageBasic.tsx +3 -2
  63. package/src/elements/pages/PageTouchable.tsx +4 -4
  64. package/src/elements/progressBar/ProgressBar.tsx +9 -13
  65. package/src/elements/progressBar/ProgressBarSteps.tsx +7 -14
  66. package/src/elements/select/Select.tsx +9 -14
  67. package/src/elements/select/SelectList.tsx +11 -14
  68. package/src/elements/tabs/Tab.tsx +4 -15
  69. package/src/elements/texts/Text.tsx +19 -3
  70. package/src/elements/timer/Timer.tsx +2 -7
  71. package/src/elements/views/Others.tsx +46 -0
  72. package/src/elements/views/Views.tsx +41 -0
  73. package/src/index.ts +4 -5
  74. package/src/models/enums.models.ts +13 -0
  75. package/src/models/index.ts +2 -0
  76. package/src/models/interfaces.models.ts +292 -0
  77. package/src/store.ts +14 -0
  78. package/.env +0 -2
  79. package/.expo/settings.json +0 -8
  80. package/.expo/web/cache/production/images/favicon/favicon-9e11320f3d3af515878f87550423f7b216058e76e72dba33dc2c5fbbdf7d9d12-contain-transparent/favicon-48.png +0 -0
  81. package/.github/workflows/deploy_dev.yaml +0 -45
  82. package/assets/icons/_icons.ts +0 -59
  83. package/assets/icons/addCard.png +0 -0
  84. package/assets/icons/arroba.png +0 -0
  85. package/assets/icons/arrowBack.png +0 -0
  86. package/assets/icons/arrowDown.png +0 -0
  87. package/assets/icons/arrowDropdown.png +0 -0
  88. package/assets/icons/arrowRight.png +0 -0
  89. package/assets/icons/arrowRightBlack.png +0 -0
  90. package/assets/icons/avatarActiveProfile.png +0 -0
  91. package/assets/icons/avatarProfile.png +0 -0
  92. package/assets/icons/blur.png +0 -0
  93. package/assets/icons/call.png +0 -0
  94. package/assets/icons/cardReplace.png +0 -0
  95. package/assets/icons/cardReplaceActive.png +0 -0
  96. package/assets/icons/check.png +0 -0
  97. package/assets/icons/checkShield.png +0 -0
  98. package/assets/icons/checkbox.png +0 -0
  99. package/assets/icons/checkboxOutline.png +0 -0
  100. package/assets/icons/circle.png +0 -0
  101. package/assets/icons/detailsCardButton.png +0 -0
  102. package/assets/icons/dialpad.png +0 -0
  103. package/assets/icons/dialpadActive.png +0 -0
  104. package/assets/icons/dni.png +0 -0
  105. package/assets/icons/documentIcon.png +0 -0
  106. package/assets/icons/download.png +0 -0
  107. package/assets/icons/email.png +0 -0
  108. package/assets/icons/error.png +0 -0
  109. package/assets/icons/faceID.png +0 -0
  110. package/assets/icons/fingerprint.png +0 -0
  111. package/assets/icons/freezeCardButton.png +0 -0
  112. package/assets/icons/help.png +0 -0
  113. package/assets/icons/iconDetails.png +0 -0
  114. package/assets/icons/ikualoActiveLogo.png +0 -0
  115. package/assets/icons/ikualoLogo.png +0 -0
  116. package/assets/icons/info.png +0 -0
  117. package/assets/icons/infoBlack.png +0 -0
  118. package/assets/icons/infoWhite.png +0 -0
  119. package/assets/icons/lang.png +0 -0
  120. package/assets/icons/listButton.png +0 -0
  121. package/assets/icons/location.png +0 -0
  122. package/assets/icons/multipleActiveCards.png +0 -0
  123. package/assets/icons/multipleCards.png +0 -0
  124. package/assets/icons/openNewWindow.png +0 -0
  125. package/assets/icons/phoneSend.png +0 -0
  126. package/assets/icons/purpleCheckCircle.png +0 -0
  127. package/assets/icons/replay.png +0 -0
  128. package/assets/icons/signal.png +0 -0
  129. package/assets/icons/smartPhone.png +0 -0
  130. package/assets/icons/success.png +0 -0
  131. package/assets/icons/transfer.png +0 -0
  132. package/assets/icons/upload.png +0 -0
  133. package/assets/icons/visaCard.png +0 -0
  134. package/assets/icons/visibilityOff.png +0 -0
  135. package/assets/icons/visibilityOffWhite.png +0 -0
  136. package/assets/icons/visibilityOn.png +0 -0
  137. package/assets/icons/visibilityOnWhite.png +0 -0
  138. package/assets/icons/warning.png +0 -0
  139. package/assets/icons/whatsapp.png +0 -0
  140. package/assets/images/_images.ts +0 -53
  141. package/assets/images/biometric.png +0 -0
  142. package/assets/images/black.png +0 -0
  143. package/assets/images/blue.png +0 -0
  144. package/assets/images/cardBlack.png +0 -0
  145. package/assets/images/cardBlue.png +0 -0
  146. package/assets/images/cardDefault.png +0 -0
  147. package/assets/images/cardFuchsia.png +0 -0
  148. package/assets/images/cardGray.png +0 -0
  149. package/assets/images/cardGreen.png +0 -0
  150. package/assets/images/cardOrange.png +0 -0
  151. package/assets/images/cardPink.png +0 -0
  152. package/assets/images/debitCardDisabled.png +0 -0
  153. package/assets/images/default.png +0 -0
  154. package/assets/images/digitalCash.png +0 -0
  155. package/assets/images/favicon.png +0 -0
  156. package/assets/images/fiveCards.png +0 -0
  157. package/assets/images/fuchsia.png +0 -0
  158. package/assets/images/gray.png +0 -0
  159. package/assets/images/green.png +0 -0
  160. package/assets/images/headerBack.png +0 -0
  161. package/assets/images/headerClose.png +0 -0
  162. package/assets/images/headerInfo.png +0 -0
  163. package/assets/images/identityValidation.png +0 -0
  164. package/assets/images/logo.png +0 -0
  165. package/assets/images/logoSmallBlack.png +0 -0
  166. package/assets/images/logoSmallWhite.png +0 -0
  167. package/assets/images/orange.png +0 -0
  168. package/assets/images/ornateCard.png +0 -0
  169. package/assets/images/pink.png +0 -0
  170. package/assets/images/splash.png +0 -0
  171. package/assets/images/validateIdentity.png +0 -0
  172. package/assets/images/validationFailed.png +0 -0
  173. package/assets/images/world.png +0 -0
  174. package/assets/styles/elements/checkbox.ts +0 -15
  175. package/src/elements/buttons/BtnIcon.tsx +0 -50
  176. package/src/elements/cards/CardComponent.tsx +0 -62
  177. package/src/elements/checkbox/CheckboxComponent.tsx +0 -14
  178. package/src/elements/inputs/InputOtp.tsx +0 -52
package/App.tsx CHANGED
@@ -1,35 +1,46 @@
1
- import { PaperProvider, Text } from 'react-native-paper';
1
+ import { PaperProvider } from 'react-native-paper';
2
2
 
3
- import { setGlobalTheme, getGlobalTheme } from './src/config/paper.config';
3
+ import { darkTheme, lightTheme } from './src/config/paper.config';
4
4
  import { useFonts } from 'expo-font';
5
5
  import React, { useEffect } from 'react';
6
6
  import { Appearance } from 'react-native';
7
+ import useStore from './src/store';
8
+ import { PageTouchable } from './src';
9
+ import { Views } from './src/elements/views/Views';
10
+ import { GestureHandlerRootView } from 'react-native-gesture-handler';
7
11
 
8
12
  export default function App() {
9
- const theme = getGlobalTheme();
10
13
  const [fontsLoaded] = useFonts({
11
14
  MontserratLight: require('./assets/fonts/MontserratLight.ttf'), //300
12
15
  MontserratRegular: require('./assets/fonts/MontserratRegular.ttf'), //400
13
16
  MontserratSemiBold: require('./assets/fonts/MontserratSemiBold.ttf'), //600
14
17
  MontserratBold: require('./assets/fonts/MontserratBold.ttf'), //700
15
18
  MontserratExtraBold: require('./assets/fonts/MontserratExtraBold.ttf'), //900
19
+ MontserratAlternatesExtraBold: require('./assets/fonts/MontserratAlternatesExtraBold.ttf'), //900
20
+ MontserratAlternatesBold: require('./assets/fonts/MontserratAlternatesBold.ttf'), //700
16
21
  });
22
+ const { theme, setTheme } = useStore();
23
+
24
+
17
25
  useEffect(() => {
18
- // vexo(process.env.EXPO_PUBLIC_API_KEY_VEXO ?? "");
19
26
  const listener = Appearance.addChangeListener(({ colorScheme }) => {
20
27
  if (colorScheme) {
21
- setGlobalTheme(colorScheme);
28
+ setTheme(colorScheme === 'dark' ? darkTheme : lightTheme);
22
29
  }
23
30
  });
24
31
  return () => listener.remove();
25
32
  }, []);
33
+
26
34
  return (
27
- <>
35
+ < GestureHandlerRootView >
36
+
28
37
  {fontsLoaded && (
29
- <PaperProvider theme={theme}>
30
- <Text>App</Text>
38
+ <PaperProvider theme={theme as any}>
39
+ <PageTouchable>
40
+ <Views />
41
+ </PageTouchable>
31
42
  </PaperProvider>
32
43
  )}
33
- </>
44
+ </GestureHandlerRootView>
34
45
  );
35
46
  }
package/app.json CHANGED
@@ -6,7 +6,8 @@
6
6
  "version": "1.0.0",
7
7
  "orientation": "portrait",
8
8
  "icon": "./assets/icon.png",
9
- "userInterfaceStyle": "light",
9
+ "userInterfaceStyle": "automatic",
10
+ "newArchEnabled": true,
10
11
  "splash": {
11
12
  "image": "./assets/splash.png",
12
13
  "resizeMode": "contain",
@@ -37,27 +38,7 @@
37
38
  },
38
39
  "updates": {
39
40
  "url": "https://u.expo.dev/5c8b451c-3fd3-42d1-91fd-fc1190b6f425"
40
- },
41
- "plugins": [
42
- "expo-localization",
43
- [
44
- "expo-local-authentication",
45
- {
46
- "faceIDPermission": "Allow Ikualo to use Face ID."
47
- }
48
- ],
49
- [
50
- "expo-secure-store",
51
- {
52
- "faceIDPermission": "Allow Ikualo to access your Face ID biometric data."
53
- }
54
- ],
55
- [
56
- "expo-location",
57
- {
58
- "locationAlwaysAndWhenInUsePermission": "Allow Ikualo to use your location."
59
- }
60
- ]
61
- ]
41
+ }
42
+
62
43
  }
63
44
  }
@@ -0,0 +1,18 @@
1
+ import Svg, { G, Path, Defs, Rect, ClipPath } from "react-native-svg";
2
+ import useStore from "../../../src/store";
3
+
4
+ export const ArrowRightIcon = (props:{style?:any}) => {
5
+ const theme = useStore().theme
6
+
7
+ return (
8
+ <Svg width="24" height="24" viewBox="0 0 24 24" fill="none" style={props.style}>
9
+ <G id="chevron_right" clip-path="url(#clip0_780_1607)">
10
+ <Path id="Vector" d="M9.28957 6.71002C8.89957 7.10002 8.89957 7.73002 9.28957 8.12002L13.1696 12L9.28957 15.88C8.89957 16.27 8.89957 16.9 9.28957 17.29C9.67957 17.68 10.3096 17.68 10.6996 17.29L15.2896 12.7C15.6796 12.31 15.6796 11.68 15.2896 11.29L10.6996 6.70002C10.3196 6.32002 9.67957 6.32002 9.28957 6.71002Z" fill={theme.colors.primary_300} />
11
+ </G>
12
+ <Defs>
13
+ <ClipPath id="clip0_780_1607">
14
+ <Rect width="24" height="24" fill="white" />
15
+ </ClipPath>
16
+ </Defs>
17
+ </Svg>)
18
+ };
@@ -0,0 +1,16 @@
1
+ import Svg, { G, Path, Defs, Rect, ClipPath } from "react-native-svg";
2
+ import useStore from "../../../src/store";
3
+
4
+ export const CheckboxCheckedIcon = () => {
5
+ const theme = useStore().theme
6
+ return (<Svg width="24" height="24" viewBox="0 0 24 24" fill="none">
7
+ <G id="check_box" clip-path="url(#clip0_6849_6810)">
8
+ <Path id="Vector" d="M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3ZM10.71 16.29C10.32 16.68 9.69 16.68 9.3 16.29L5.71 12.7C5.32 12.31 5.32 11.68 5.71 11.29C6.1 10.9 6.73 10.9 7.12 11.29L10 14.17L16.88 7.29C17.27 6.9 17.9 6.9 18.29 7.29C18.68 7.68 18.68 8.31 18.29 8.7L10.71 16.29Z" fill={theme.colors.icon} />
9
+ </G>
10
+ <Defs>
11
+ <ClipPath id="clip0_6849_6810">
12
+ <Rect width="24" height="24" fill="white" />
13
+ </ClipPath>
14
+ </Defs>
15
+ </Svg>)
16
+ };
@@ -0,0 +1,17 @@
1
+ import Svg, { G, Path, Defs, Rect, ClipPath } from "react-native-svg";
2
+ import useStore from "../../../src/store";
3
+
4
+ export const CheckboxEmptyIcon = () => {
5
+ const theme=useStore().theme
6
+
7
+ return (<Svg width="24" height="24" viewBox="0 0 24 24" fill="none">
8
+ <G id="check_box_outline_blank" clip-path="url(#clip0_6849_2668)">
9
+ <Path id="Vector" d="M18 19H6C5.45 19 5 18.55 5 18V6C5 5.45 5.45 5 6 5H18C18.55 5 19 5.45 19 6V18C19 18.55 18.55 19 18 19ZM19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3Z" fill={theme.colors.icon} />
10
+ </G>
11
+ <Defs>
12
+ <ClipPath id="clip0_6849_2668">
13
+ <Rect width="24" height="24" fill="white" />
14
+ </ClipPath>
15
+ </Defs>
16
+ </Svg>)
17
+ };
@@ -0,0 +1,13 @@
1
+ import Svg, { G, Path, Defs, Rect, ClipPath } from "react-native-svg";
2
+ import useStore from "../../../src/store";
3
+
4
+ export const ErrorIcon = (props: { style?: any }) => {
5
+ const theme = useStore().theme
6
+
7
+ return (
8
+ <Svg width="24" height="24" viewBox="0 0 24 24" fill="none" >
9
+ <G id="Icon">
10
+ <Path id="icon" fill-rule="evenodd" clip-rule="evenodd" d="M12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM11 17V15H13V17H11ZM11 7V13H13V7H11Z" fill={theme.colors.error} />
11
+ </G>
12
+ </Svg>)
13
+ };
@@ -0,0 +1,14 @@
1
+ import Svg, { G, Path } from "react-native-svg";
2
+ import useStore from "../../../src/store";
3
+
4
+ export const ErrorInputIcon = (props: { style?: any }) => {
5
+ const theme = useStore().theme
6
+
7
+ return (
8
+ <Svg width="16" height="17" viewBox="0 0 16 17" fill="none">
9
+ <G id="Error">
10
+ <Path id="icon" fill-rule="evenodd" clip-rule="evenodd" d="M7.99992 2.31982C4.31992 2.31982 1.33325 5.30649 1.33325 8.98649C1.33325 12.6665 4.31992 15.6532 7.99992 15.6532C11.6799 15.6532 14.6666 12.6665 14.6666 8.98649C14.6666 5.30649 11.6799 2.31982 7.99992 2.31982ZM7.33325 12.3198V10.9865H8.66659V12.3198H7.33325ZM7.33325 5.65316V9.65316H8.66659V5.65316H7.33325Z"
11
+ fill={theme.colors.error} />
12
+ </G>
13
+ </Svg>)
14
+ };
@@ -0,0 +1,10 @@
1
+ import Svg, { Path } from "react-native-svg";
2
+ import useStore from "../../../src/store";
3
+
4
+ export const EyeOnIcon = ({ isValid }: { isValid: boolean }) => {
5
+ const theme = useStore().theme
6
+ return (<Svg width="22" height="16" viewBox="0 0 22 16" fill="none" >
7
+ <Path id="Vector" d="M11 12.4863C12.25 12.4863 13.3125 12.0488 14.1875 11.1738C15.0625 10.2988 15.5 9.23633 15.5 7.98633C15.5 6.73633 15.0625 5.67383 14.1875 4.79883C13.3125 3.92383 12.25 3.48633 11 3.48633C9.75 3.48633 8.6875 3.92383 7.8125 4.79883C6.9375 5.67383 6.5 6.73633 6.5 7.98633C6.5 9.23633 6.9375 10.2988 7.8125 11.1738C8.6875 12.0488 9.75 12.4863 11 12.4863ZM11 10.6863C10.25 10.6863 9.6125 10.4238 9.0875 9.89883C8.5625 9.37383 8.3 8.73633 8.3 7.98633C8.3 7.23633 8.5625 6.59883 9.0875 6.07383C9.6125 5.54883 10.25 5.28633 11 5.28633C11.75 5.28633 12.3875 5.54883 12.9125 6.07383C13.4375 6.59883 13.7 7.23633 13.7 7.98633C13.7 8.73633 13.4375 9.37383 12.9125 9.89883C12.3875 10.4238 11.75 10.6863 11 10.6863ZM11 15.4863C8.56667 15.4863 6.35 14.8072 4.35 13.4488C2.35 12.0905 0.9 10.2697 0 7.98633C0.9 5.70299 2.35 3.88216 4.35 2.52383C6.35 1.16549 8.56667 0.486328 11 0.486328C13.4333 0.486328 15.65 1.16549 17.65 2.52383C19.65 3.88216 21.1 5.70299 22 7.98633C21.1 10.2697 19.65 12.0905 17.65 13.4488C15.65 14.8072 13.4333 15.4863 11 15.4863ZM11 13.4863C12.8833 13.4863 14.6125 12.9905 16.1875 11.9988C17.7625 11.0072 18.9667 9.66966 19.8 7.98633C18.9667 6.30299 17.7625 4.96549 16.1875 3.97383C14.6125 2.98216 12.8833 2.48633 11 2.48633C9.11667 2.48633 7.3875 2.98216 5.8125 3.97383C4.2375 4.96549 3.03333 6.30299 2.2 7.98633C3.03333 9.66966 4.2375 11.0072 5.8125 11.9988C7.3875 12.9905 9.11667 13.4863 11 13.4863Z"
8
+ fill={isValid ? theme.colors.icon : theme.colors.error} />
9
+ </Svg>)
10
+ };
@@ -0,0 +1,12 @@
1
+ import Svg, { G, Path } from "react-native-svg";
2
+ import useStore from "../../../src/store";
3
+
4
+ export const EyeOffIcon = ({ isValid }: { isValid: boolean }) => {
5
+ const theme = useStore().theme
6
+ return (<Svg width="24" height="25" viewBox="0 0 24 25" fill="none">
7
+ <G id="Icons/visibility_off_">
8
+ <Path id="Vector" d="M16.1 13.7861L14.65 12.3361C14.8 11.5528 14.575 10.8195 13.975 10.1361C13.375 9.4528 12.6 9.18613 11.65 9.33613L10.2 7.88613C10.4833 7.7528 10.7708 7.6528 11.0625 7.58613C11.3542 7.51947 11.6667 7.48613 12 7.48613C13.25 7.48613 14.3125 7.92363 15.1875 8.79863C16.0625 9.67363 16.5 10.7361 16.5 11.9861C16.5 12.3195 16.4667 12.632 16.4 12.9236C16.3333 13.2153 16.2333 13.5028 16.1 13.7861ZM19.3 16.9361L17.85 15.5361C18.4833 15.0528 19.0458 14.5236 19.5375 13.9486C20.0292 13.3736 20.45 12.7195 20.8 11.9861C19.9667 10.3028 18.7708 8.9653 17.2125 7.97363C15.6542 6.98197 13.9167 6.48613 12 6.48613C11.5167 6.48613 11.0417 6.51947 10.575 6.58613C10.1083 6.6528 9.65 6.7528 9.2 6.88613L7.65 5.33613C8.33333 5.0528 9.03333 4.8403 9.75 4.69863C10.4667 4.55697 11.2167 4.48613 12 4.48613C14.5167 4.48613 16.7583 5.18197 18.725 6.57363C20.6917 7.9653 22.1167 9.76947 23 11.9861C22.6167 12.9695 22.1125 13.882 21.4875 14.7236C20.8625 15.5653 20.1333 16.3028 19.3 16.9361ZM19.8 23.0861L15.6 18.9361C15.0167 19.1195 14.4292 19.257 13.8375 19.3486C13.2458 19.4403 12.6333 19.4861 12 19.4861C9.48333 19.4861 7.24167 18.7903 5.275 17.3986C3.30833 16.007 1.88333 14.2028 1 11.9861C1.35 11.1028 1.79167 10.282 2.325 9.52363C2.85833 8.7653 3.46667 8.08613 4.15 7.48613L1.4 4.68613L2.8 3.28613L21.2 21.6861L19.8 23.0861ZM5.55 8.88613C5.06667 9.31947 4.625 9.79447 4.225 10.3111C3.825 10.8278 3.48333 11.3861 3.2 11.9861C4.03333 13.6695 5.22917 15.007 6.7875 15.9986C8.34583 16.9903 10.0833 17.4861 12 17.4861C12.3333 17.4861 12.6583 17.4653 12.975 17.4236C13.2917 17.382 13.6167 17.3361 13.95 17.2861L13.05 16.3361C12.8667 16.3861 12.6917 16.4236 12.525 16.4486C12.3583 16.4736 12.1833 16.4861 12 16.4861C10.75 16.4861 9.6875 16.0486 8.8125 15.1736C7.9375 14.2986 7.5 13.2361 7.5 11.9861C7.5 11.8028 7.5125 11.6278 7.5375 11.4611C7.5625 11.2945 7.6 11.1195 7.65 10.9361L5.55 8.88613Z"
9
+ fill={isValid ? theme.colors.icon : theme.colors.error} />
10
+ </G>
11
+ </Svg>)
12
+ };
@@ -0,0 +1,11 @@
1
+ import Svg, {Path } from "react-native-svg";
2
+ import useStore from "../../../src/store";
3
+
4
+ export const InfoIcon = (props:{style?:any}) => {
5
+ const theme = useStore().theme
6
+
7
+ return (
8
+ <Svg width="20" height="20" viewBox="0 0 20 20" fill="none" >
9
+ <Path id="Vector" d="M9 5H11V7H9V5ZM10 15C10.55 15 11 14.55 11 14V10C11 9.45 10.55 9 10 9C9.45 9 9 9.45 9 10V14C9 14.55 9.45 15 10 15ZM10 0C4.48 0 0 4.48 0 10C0 15.52 4.48 20 10 20C15.52 20 20 15.52 20 10C20 4.48 15.52 0 10 0ZM10 18C5.59 18 2 14.41 2 10C2 5.59 5.59 2 10 2C14.41 2 18 5.59 18 10C18 14.41 14.41 18 10 18Z" fill={theme.colors.info}/>
10
+ </Svg>)
11
+ };
@@ -0,0 +1,16 @@
1
+ import Svg, { G, Defs, ClipPath, Path, Rect } from "react-native-svg";
2
+ import useStore from "../../../src/store";
3
+
4
+ export const RadioButtonChecked = () => {
5
+ const { theme } = useStore();
6
+ return (<Svg width="25" height="24" viewBox="0 0 25 24" fill="none">
7
+ <G clip-path="url(#clip0_1325_2280)">
8
+ <Path d="M12.5996 2C7.07961 2 2.59961 6.48 2.59961 12C2.59961 17.52 7.07961 22 12.5996 22C18.1196 22 22.5996 17.52 22.5996 12C22.5996 6.48 18.1196 2 12.5996 2ZM9.88961 16.29L6.29961 12.7C5.90961 12.31 5.90961 11.68 6.29961 11.29C6.68961 10.9 7.31961 10.9 7.70961 11.29L10.5996 14.17L17.4796 7.29C17.8696 6.9 18.4996 6.9 18.8896 7.29C19.2796 7.68 19.2796 8.31 18.8896 8.7L11.2996 16.29C10.9196 16.68 10.2796 16.68 9.88961 16.29Z" fill={theme.colors.icon} />
9
+ </G>
10
+ <Defs>
11
+ <ClipPath id="clip0_1325_2280">
12
+ <Rect width="24" height="24" fill="white" transform="translate(0.599609)" />
13
+ </ClipPath>
14
+ </Defs>
15
+ </Svg>)
16
+ };
@@ -0,0 +1,16 @@
1
+ import Svg, { G, Defs, ClipPath, Path, Rect } from "react-native-svg";
2
+ import useStore from "../../../src/store";
3
+
4
+ export const RadioButtonUnchecked = () => {
5
+ const { theme } = useStore();
6
+ return (<Svg width="24" height="24" viewBox="0 0 24 24" fill="none">
7
+ <G clip-path="url(#clip0_1325_2287)">
8
+ <Path d="M12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM12 20C7.58 20 4 16.42 4 12C4 7.58 7.58 4 12 4C16.42 4 20 7.58 20 12C20 16.42 16.42 20 12 20Z" fill={theme.colors.background_focus} />
9
+ </G>
10
+ <Defs>
11
+ <ClipPath id="clip0_1325_2287">
12
+ <Rect width="24" height="24" fill="white" />
13
+ </ClipPath>
14
+ </Defs>
15
+ </Svg>)
16
+ };
@@ -0,0 +1,18 @@
1
+ import Svg, { G, Path, Defs, Rect, ClipPath } from "react-native-svg";
2
+ import useStore from "../../../src/store";
3
+
4
+ export const SuccessIcon = (props: { style?: any }) => {
5
+ const theme = useStore().theme
6
+
7
+ return (
8
+ <Svg width="24" height="24" viewBox="0 0 24 24" fill="none">
9
+ <G id="trailing-icon" clip-path="url(#clip0_661_1172)">
10
+ <Path id="Vector" d="M12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM12 20C7.59 20 4 16.41 4 12C4 7.59 7.59 4 12 4C16.41 4 20 7.59 20 12C20 16.41 16.41 20 12 20ZM16.59 7.58L10 14.17L7.41 11.59L6 13L10 17L18 9L16.59 7.58Z" fill={theme.colors.success} />
11
+ </G>
12
+ <Defs>
13
+ <ClipPath id="clip0_661_1172">
14
+ <Rect width="24" height="24" fill="white" />
15
+ </ClipPath>
16
+ </Defs>
17
+ </Svg>)
18
+ };
@@ -0,0 +1,17 @@
1
+ import Svg, { ClipPath, Defs, G, Path, Rect } from "react-native-svg";
2
+
3
+ export const Test = ({ color, size, style }: { color?: any, size?: number, style?: any }) => {
4
+
5
+ return (
6
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none" style={style}>
7
+ <G id="upload" clip-path="url(#clip0_334_1073)">
8
+ <Path id="Vector" d="M10 16H14C14.55 16 15 15.55 15 15V10H16.59C17.48 10 17.93 8.92 17.3 8.29L12.71 3.7C12.32 3.31 11.69 3.31 11.3 3.7L6.71 8.29C6.08 8.92 6.52 10 7.41 10H9V15C9 15.55 9.45 16 10 16ZM6 18H18C18.55 18 19 18.45 19 19C19 19.55 18.55 20 18 20H6C5.45 20 5 19.55 5 19C5 18.45 5.45 18 6 18Z"
9
+ fill={color} />
10
+ </G>
11
+ <Defs>
12
+ <ClipPath id="clip0_334_1073">
13
+ <Rect width={size} height={size} fill="white" />
14
+ </ClipPath>
15
+ </Defs>
16
+ </Svg>)
17
+ };
@@ -0,0 +1,13 @@
1
+ import Svg, { G, Path } from "react-native-svg";
2
+ import useStore from "../../../src/store";
3
+
4
+ export const WarningIcon = (props: { style?: any }) => {
5
+ const theme = useStore().theme
6
+
7
+ return (
8
+ <Svg width="24" height="24" viewBox="0 0 24 24" fill="none" >
9
+ <G id="trailing-icon">
10
+ <Path id="Vector" d="M4.47012 20.9999H19.5301C21.0701 20.9999 22.0301 19.3299 21.2601 17.9999L13.7301 4.98993C12.9601 3.65993 11.0401 3.65993 10.2701 4.98993L2.74012 17.9999C1.97012 19.3299 2.93012 20.9999 4.47012 20.9999ZM12.0001 13.9999C11.4501 13.9999 11.0001 13.5499 11.0001 12.9999V10.9999C11.0001 10.4499 11.4501 9.99993 12.0001 9.99993C12.5501 9.99993 13.0001 10.4499 13.0001 10.9999V12.9999C13.0001 13.5499 12.5501 13.9999 12.0001 13.9999ZM13.0001 17.9999H11.0001V15.9999H13.0001V17.9999Z" fill={theme.colors.warning} />
11
+ </G>
12
+ </Svg>)
13
+ };
@@ -0,0 +1,12 @@
1
+ export * from './CheckboxCheckedIcon';
2
+ export * from './CheckboxEmptyIcon';
3
+ export * from './ArrowRightIcon';
4
+ export * from './ErrorIcon';
5
+ export * from './SuccessIcon';
6
+ export * from './WarningIcon';
7
+ export * from './InfoIcon';
8
+ export * from './EyeOffIcon';
9
+ export * from './EyeOnIcon';
10
+ export * from './ErrorInputIcon';
11
+ export * from './RadioButtonChecked';
12
+ export * from './RadioButtonUnchecked';
@@ -1,17 +1,18 @@
1
1
  import React from 'react';
2
2
  import Svg, { Path } from 'react-native-svg';
3
+ import useStore from '../../../src/store';
3
4
 
4
5
  interface IFProps {
5
6
  style?: any;
6
7
  }
7
8
  export const IconAppImage = (props: IFProps) => {
8
9
  const { style } = props;
9
-
10
+ const theme=useStore().theme;
10
11
  return (
11
12
  <Svg width="22" height="30" viewBox="0 0 22 30" fill="none" style={style}>
12
- <Path d="M17.1715 4.82216L4.70677 4.42262C3.82863 4.39764 3.12124 3.62354 3.14563 2.72458L3.17003 1.72573C3.19442 0.826772 3.9262 0.102609 4.82874 0.12758L17.2935 0.527118C18.1716 0.552089 18.879 1.3262 18.8546 2.22516L18.8302 3.224C18.8058 4.12296 18.0496 4.84713 17.1715 4.82216Z" fill="#7B7BFF" />
13
- <Path d="M17.171 10.5184L4.70628 10.1189C3.82814 10.0939 3.12075 9.31983 3.14514 8.42087L3.16953 7.42202C3.19393 6.52306 3.92571 5.7989 4.82825 5.82387L17.293 6.22341C18.1711 6.24838 18.8785 7.02248 18.8541 7.92145L18.8297 8.92029C18.8053 9.84422 18.0491 10.5434 17.171 10.5184Z" fill="#7B7BFF" />
14
- <Path d="M19.9012 19.9338C19.7305 20.9327 19.828 21.4071 20.1695 21.557C20.5842 21.7318 20.7794 22.2561 20.7306 22.7056L20.1451 28.7237C20.0963 29.273 19.6573 29.7475 19.1206 29.7974C17.8766 29.8973 16.413 29.298 15.5593 28.2992C15.1446 27.7997 14.4372 27.7248 13.9494 28.1244C12.559 29.273 11.0222 29.8474 9.09519 29.8723C2.99699 29.9223 -0.198463 25.1528 0.630892 19.2097L2.19203 12.6922C2.26521 12.1179 2.75307 11.6934 3.3141 11.6684L7.3877 11.6434C8.09509 11.6434 8.63173 12.2677 8.53416 12.9919L6.94863 19.5842C6.65591 21.6818 7.48527 22.9553 9.33912 22.9553C11.7052 22.9304 13.2908 21.1824 13.5835 19.0848L15.1446 12.5673C15.2178 11.993 15.7056 11.5685 16.2667 11.5435L20.3403 11.5186C21.0477 11.5186 21.5843 12.1428 21.4867 12.867L19.9012 19.9338Z" fill="#7B7BFF" />
13
+ <Path d="M17.1715 4.82216L4.70677 4.42262C3.82863 4.39764 3.12124 3.62354 3.14563 2.72458L3.17003 1.72573C3.19442 0.826772 3.9262 0.102609 4.82874 0.12758L17.2935 0.527118C18.1716 0.552089 18.879 1.3262 18.8546 2.22516L18.8302 3.224C18.8058 4.12296 18.0496 4.84713 17.1715 4.82216Z" fill={theme.colors.icon} />
14
+ <Path d="M17.171 10.5184L4.70628 10.1189C3.82814 10.0939 3.12075 9.31983 3.14514 8.42087L3.16953 7.42202C3.19393 6.52306 3.92571 5.7989 4.82825 5.82387L17.293 6.22341C18.1711 6.24838 18.8785 7.02248 18.8541 7.92145L18.8297 8.92029C18.8053 9.84422 18.0491 10.5434 17.171 10.5184Z" fill={theme.colors.icon} />
15
+ <Path d="M19.9012 19.9338C19.7305 20.9327 19.828 21.4071 20.1695 21.557C20.5842 21.7318 20.7794 22.2561 20.7306 22.7056L20.1451 28.7237C20.0963 29.273 19.6573 29.7475 19.1206 29.7974C17.8766 29.8973 16.413 29.298 15.5593 28.2992C15.1446 27.7997 14.4372 27.7248 13.9494 28.1244C12.559 29.273 11.0222 29.8474 9.09519 29.8723C2.99699 29.9223 -0.198463 25.1528 0.630892 19.2097L2.19203 12.6922C2.26521 12.1179 2.75307 11.6934 3.3141 11.6684L7.3877 11.6434C8.09509 11.6434 8.63173 12.2677 8.53416 12.9919L6.94863 19.5842C6.65591 21.6818 7.48527 22.9553 9.33912 22.9553C11.7052 22.9304 13.2908 21.1824 13.5835 19.0848L15.1446 12.5673C15.2178 11.993 15.7056 11.5685 16.2667 11.5435L20.3403 11.5186C21.0477 11.5186 21.5843 12.1428 21.4867 12.867L19.9012 19.9338Z" fill={theme.colors.icon} />
15
16
  </Svg>
16
17
  );
17
18
  };
@@ -0,0 +1,8 @@
1
+ import Svg, { Path } from "react-native-svg"
2
+
3
+ export const TestImage = (props: { size?: number, color?: string }) => {
4
+
5
+ return <Svg width="78" height="83" viewBox="0 0 490 492" fill="none">
6
+ <Path d="M0 246C0 434.601 204.167 552.477 367.5 458.176C443.303 414.411 490 333.53 490 246C490 57.399 285.833 -60.477 122.5 33.824C46.6965 77.589 0 158.47 0 246Z" fill="#EEE7FB" />
7
+ </Svg>
8
+ }
@@ -0,0 +1,3 @@
1
+ export * from './HugImage';
2
+ export * from './TestImage';
3
+ export * from './IconAppImage';
@@ -1,7 +1,7 @@
1
1
  import { StyleSheet } from 'react-native';
2
- import { getGlobalTheme } from '../../../src/config/paper.config';
2
+ import { ITheme } from '../../../src/models';
3
3
 
4
- const styleAlerts = StyleSheet.create({
4
+ export const getStyleAlerts =(theme: ITheme)=> StyleSheet.create({
5
5
  alert: {
6
6
  position: 'absolute',
7
7
  top: 56,
@@ -14,24 +14,24 @@ const styleAlerts = StyleSheet.create({
14
14
  padding: 16,
15
15
  },
16
16
  'alert--info': {
17
- backgroundColor: getGlobalTheme().colors.lightInfo,
18
- borderLeftColor: getGlobalTheme().colors.darkInfo,
17
+ backgroundColor: theme.colors.background_info,
18
+ borderLeftColor: theme.colors.info,
19
19
  },
20
20
  'alert--warning': {
21
- backgroundColor: getGlobalTheme().colors.lightWarning,
22
- borderLeftColor: getGlobalTheme().colors.darkWarning,
21
+ backgroundColor: theme.colors.background_warning,
22
+ borderLeftColor: theme.colors.warning,
23
23
  },
24
24
  'alert--success': {
25
- backgroundColor: getGlobalTheme().colors.lightSuccess,
26
- borderLeftColor: getGlobalTheme().colors.darkSuccess,
25
+ backgroundColor: theme.colors.background_success,
26
+ borderLeftColor: theme.colors.success,
27
27
  },
28
28
  'alert--error': {
29
- backgroundColor: getGlobalTheme().colors.lightRed,
30
- borderLeftColor: getGlobalTheme().colors.darkRed,
29
+ backgroundColor: theme.colors.background_error,
30
+ borderLeftColor: theme.colors.error,
31
31
  },
32
- 'alert-container-text': { flexDirection: 'row', gap: 8 },
33
- 'alert-container-title': { fontSize: 14, fontFamily: 'MontserratBold', color: getGlobalTheme().colors.text, alignSelf: 'center' },
32
+ 'alert-container-text': {
33
+ flexDirection: 'row',
34
+ gap: 8 },
35
+
34
36
  'alert-body': { marginTop: 8 },
35
37
  });
36
-
37
- export { styleAlerts };