native-pytech 1.0.129 → 1.0.130

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 (407) hide show
  1. package/dist/app/assets/components/removeCircle.d.ts +2 -0
  2. package/dist/app/assets/components/removeCircle.js +2 -0
  3. package/dist/app/assets/components/reorderThreeOutline.d.ts +2 -0
  4. package/dist/app/assets/components/reorderThreeOutline.js +2 -0
  5. package/dist/app/assets/ionicons.d.ts +2 -0
  6. package/dist/app/assets/ionicons.js +2 -0
  7. package/dist/app/colorPage.d.ts +1 -0
  8. package/dist/app/colorPage.js +1 -0
  9. package/dist/app/components/closeButton.d.ts +2 -0
  10. package/dist/app/components/closeButton.js +2 -0
  11. package/dist/app/components/gradient.d.ts +2 -0
  12. package/dist/app/components/gradient.js +2 -0
  13. package/dist/app/components/link.d.ts +2 -0
  14. package/dist/app/components/link.js +2 -0
  15. package/dist/app/components/text.d.ts +2 -0
  16. package/dist/app/components/text.js +2 -0
  17. package/dist/app/components/theme.d.ts +2 -0
  18. package/dist/app/components/theme.js +2 -0
  19. package/dist/app/constants/colors.d.ts +2 -0
  20. package/dist/app/constants/colors.js +2 -0
  21. package/dist/app/constants/consts.d.ts +1 -0
  22. package/dist/app/constants/consts.js +1 -0
  23. package/dist/app/constants/formats.d.ts +1 -0
  24. package/dist/app/constants/formats.js +1 -0
  25. package/dist/app/constants/hooks.d.ts +1 -0
  26. package/dist/app/constants/hooks.js +1 -0
  27. package/dist/app/constants/utils.d.ts +1 -0
  28. package/dist/app/constants/utils.js +1 -0
  29. package/dist/app/editPage.d.ts +1 -0
  30. package/dist/app/editPage.js +1 -0
  31. package/dist/app/footer.d.ts +2 -0
  32. package/dist/app/footer.js +2 -0
  33. package/dist/app/login.d.ts +2 -0
  34. package/dist/app/login.js +2 -0
  35. package/dist/app/page.d.ts +2 -0
  36. package/dist/app/page.js +2 -0
  37. package/dist/app/pickerPage.d.ts +1 -0
  38. package/dist/app/pickerPage.js +1 -0
  39. package/dist/app/providers/app.d.ts +2 -0
  40. package/dist/app/providers/app.js +2 -0
  41. package/dist/app/segmentedControl.d.ts +2 -0
  42. package/dist/app/segmentedControl.js +2 -0
  43. package/dist/app/sql.d.ts +2 -0
  44. package/dist/app/sql.js +2 -0
  45. package/dist/app/supabase.d.ts +2 -0
  46. package/dist/app/supabase.js +2 -0
  47. package/dist/app/swiftui.d.ts +1 -0
  48. package/dist/app/swiftui.js +1 -0
  49. package/dist/app/table.d.ts +2 -0
  50. package/dist/app/table.js +2 -0
  51. package/dist/index.d.ts +8 -0
  52. package/dist/index.js +8 -0
  53. package/dist/libs/assets/components/RemoveCircle.d.ts +6 -0
  54. package/dist/libs/assets/components/RemoveCircle.js +25 -0
  55. package/dist/libs/assets/components/ReorderThreeOutline.d.ts +5 -0
  56. package/dist/libs/assets/components/ReorderThreeOutline.js +15 -0
  57. package/dist/libs/assets/ionicons/Ionicons.d.ts +35 -0
  58. package/dist/libs/assets/ionicons/Ionicons.js +16 -0
  59. package/dist/libs/assets/ionicons/index.d.ts +6 -0
  60. package/dist/libs/assets/ionicons/index.js +23 -0
  61. package/dist/libs/colorPage/index.d.ts +1 -0
  62. package/dist/libs/colorPage/index.js +1 -0
  63. package/dist/libs/colorPage/src/Content/index.android.d.ts +4 -0
  64. package/dist/libs/colorPage/src/Content/index.android.js +13 -0
  65. package/dist/libs/colorPage/src/Content/index.d.ts +3 -0
  66. package/dist/libs/colorPage/src/Content/index.ios.d.ts +4 -0
  67. package/dist/libs/colorPage/src/Content/index.ios.js +16 -0
  68. package/dist/libs/colorPage/src/Content/index.js +1 -0
  69. package/dist/libs/colorPage/src/Content/types.d.ts +10 -0
  70. package/dist/libs/colorPage/src/Content/types.js +1 -0
  71. package/dist/libs/colorPage/src/Item/index.android.d.ts +4 -0
  72. package/dist/libs/colorPage/src/Item/index.android.js +40 -0
  73. package/dist/libs/colorPage/src/Item/index.d.ts +3 -0
  74. package/dist/libs/colorPage/src/Item/index.ios.d.ts +4 -0
  75. package/dist/libs/colorPage/src/Item/index.ios.js +31 -0
  76. package/dist/libs/colorPage/src/Item/index.js +1 -0
  77. package/dist/libs/colorPage/src/Item/types.d.ts +13 -0
  78. package/dist/libs/colorPage/src/Item/types.js +1 -0
  79. package/dist/libs/colorPage/src/Page/index.d.ts +4 -0
  80. package/dist/libs/colorPage/src/Page/index.js +17 -0
  81. package/dist/libs/colorPage/src/Page/types.d.ts +27 -0
  82. package/dist/libs/colorPage/src/Page/types.js +1 -0
  83. package/dist/libs/components/CloseButton.d.ts +9 -0
  84. package/dist/libs/components/CloseButton.js +18 -0
  85. package/dist/libs/components/Gradient/components/Gradient/index.d.ts +4 -0
  86. package/dist/libs/components/Gradient/components/Gradient/index.ios.d.ts +4 -0
  87. package/dist/libs/components/Gradient/components/Gradient/index.ios.js +35 -0
  88. package/dist/libs/components/Gradient/components/Gradient/index.js +32 -0
  89. package/dist/libs/components/Gradient/components/Gradient/types.d.ts +30 -0
  90. package/dist/libs/components/Gradient/components/Gradient/types.js +1 -0
  91. package/dist/libs/components/Gradient/components/Icon.d.ts +21 -0
  92. package/dist/libs/components/Gradient/components/Icon.js +1 -0
  93. package/dist/libs/components/Gradient/constants.d.ts +97 -0
  94. package/dist/libs/components/Gradient/constants.js +98 -0
  95. package/dist/libs/components/Gradient/index.d.ts +3 -0
  96. package/dist/libs/components/Gradient/index.js +2 -0
  97. package/dist/libs/components/Link.d.ts +13 -0
  98. package/dist/libs/components/Link.js +20 -0
  99. package/dist/libs/components/Text.d.ts +6 -0
  100. package/dist/libs/components/Text.js +11 -0
  101. package/dist/libs/components/Theme.d.ts +9 -0
  102. package/dist/libs/components/Theme.js +10 -0
  103. package/dist/libs/constants/colors.d.ts +218 -0
  104. package/dist/libs/constants/colors.js +170 -0
  105. package/dist/libs/constants/consts.d.ts +13 -0
  106. package/dist/libs/constants/consts.js +23 -0
  107. package/dist/libs/constants/formats.d.ts +11 -0
  108. package/dist/libs/constants/formats.js +84 -0
  109. package/dist/libs/constants/hooks.d.ts +8 -0
  110. package/dist/libs/constants/hooks.js +59 -0
  111. package/dist/libs/constants/utils.d.ts +12 -0
  112. package/dist/libs/constants/utils.js +75 -0
  113. package/dist/libs/editPage/index.d.ts +9 -0
  114. package/dist/libs/editPage/index.js +7 -0
  115. package/dist/libs/editPage/src/components/Item/index.d.ts +3 -0
  116. package/dist/libs/editPage/src/components/Item/index.ios.d.ts +4 -0
  117. package/dist/libs/editPage/src/components/Item/index.ios.js +12 -0
  118. package/dist/libs/editPage/src/components/Item/index.js +1 -0
  119. package/dist/libs/editPage/src/components/Item/types.d.ts +14 -0
  120. package/dist/libs/editPage/src/components/Item/types.js +1 -0
  121. package/dist/libs/editPage/src/components/ItemDate/index.d.ts +3 -0
  122. package/dist/libs/editPage/src/components/ItemDate/index.ios.d.ts +4 -0
  123. package/dist/libs/editPage/src/components/ItemDate/index.ios.js +29 -0
  124. package/dist/libs/editPage/src/components/ItemDate/index.js +1 -0
  125. package/dist/libs/editPage/src/components/ItemDate/types.d.ts +25 -0
  126. package/dist/libs/editPage/src/components/ItemDate/types.js +1 -0
  127. package/dist/libs/editPage/src/components/Screen/index.d.ts +4 -0
  128. package/dist/libs/editPage/src/components/Screen/index.ios.d.ts +4 -0
  129. package/dist/libs/editPage/src/components/Screen/index.ios.js +8 -0
  130. package/dist/libs/editPage/src/components/Screen/index.js +1 -0
  131. package/dist/libs/editPage/src/components/Screen/types.d.ts +27 -0
  132. package/dist/libs/editPage/src/components/Screen/types.js +1 -0
  133. package/dist/libs/editPage/src/components/TextField/index.d.ts +3 -0
  134. package/dist/libs/editPage/src/components/TextField/index.ios.d.ts +4 -0
  135. package/dist/libs/editPage/src/components/TextField/index.ios.js +35 -0
  136. package/dist/libs/editPage/src/components/TextField/index.js +1 -0
  137. package/dist/libs/editPage/src/components/TextField/types.d.ts +32 -0
  138. package/dist/libs/editPage/src/components/TextField/types.js +1 -0
  139. package/dist/libs/editPage/src/components/Wrapper/index.d.ts +4 -0
  140. package/dist/libs/editPage/src/components/Wrapper/index.js +84 -0
  141. package/dist/libs/editPage/src/components/Wrapper/types.d.ts +23 -0
  142. package/dist/libs/editPage/src/components/Wrapper/types.js +1 -0
  143. package/dist/libs/editPage/src/context/page.d.ts +13 -0
  144. package/dist/libs/editPage/src/context/page.js +2 -0
  145. package/dist/libs/footer/index.d.ts +1 -0
  146. package/dist/libs/footer/index.js +1 -0
  147. package/dist/libs/footer/src/components/Background/index.d.ts +4 -0
  148. package/dist/libs/footer/src/components/Background/index.ios.d.ts +4 -0
  149. package/dist/libs/footer/src/components/Background/index.ios.js +22 -0
  150. package/dist/libs/footer/src/components/Background/index.js +21 -0
  151. package/dist/libs/footer/src/components/Button/Text.d.ts +3 -0
  152. package/dist/libs/footer/src/components/Button/Text.js +18 -0
  153. package/dist/libs/footer/src/components/Button/index.d.ts +3 -0
  154. package/dist/libs/footer/src/components/Button/index.ios.d.ts +4 -0
  155. package/dist/libs/footer/src/components/Button/index.ios.js +30 -0
  156. package/dist/libs/footer/src/components/Button/index.js +55 -0
  157. package/dist/libs/footer/src/components/Button/types.d.ts +22 -0
  158. package/dist/libs/footer/src/components/Button/types.js +1 -0
  159. package/dist/libs/footer/src/components/Footer/index.d.ts +6 -0
  160. package/dist/libs/footer/src/components/Footer/index.ios.d.ts +7 -0
  161. package/dist/libs/footer/src/components/Footer/index.ios.js +9 -0
  162. package/dist/libs/footer/src/components/Footer/index.js +38 -0
  163. package/dist/libs/footer/src/components/View.d.ts +5 -0
  164. package/dist/libs/footer/src/components/View.js +11 -0
  165. package/dist/libs/footer/src/constants.d.ts +20 -0
  166. package/dist/libs/footer/src/constants.js +21 -0
  167. package/dist/libs/footer/src/index.d.ts +9 -0
  168. package/dist/libs/footer/src/index.js +7 -0
  169. package/dist/libs/login/index.d.ts +3 -0
  170. package/dist/libs/login/index.js +3 -0
  171. package/dist/libs/login/src/Pages/Home/index.d.ts +3 -0
  172. package/dist/libs/login/src/Pages/Home/index.js +20 -0
  173. package/dist/libs/login/src/Pages/Home/types.d.ts +19 -0
  174. package/dist/libs/login/src/Pages/Home/types.js +1 -0
  175. package/dist/libs/login/src/Pages/Perfil.d.ts +5 -0
  176. package/dist/libs/login/src/Pages/Perfil.js +19 -0
  177. package/dist/libs/login/src/Pages/SignIn/Form/Input.d.ts +9 -0
  178. package/dist/libs/login/src/Pages/SignIn/Form/Input.js +10 -0
  179. package/dist/libs/login/src/Pages/SignIn/Form/index.d.ts +6 -0
  180. package/dist/libs/login/src/Pages/SignIn/Form/index.js +34 -0
  181. package/dist/libs/login/src/Pages/SignIn/index.d.ts +3 -0
  182. package/dist/libs/login/src/Pages/SignIn/index.js +149 -0
  183. package/dist/libs/login/src/Pages/SignIn/types.d.ts +31 -0
  184. package/dist/libs/login/src/Pages/SignIn/types.js +1 -0
  185. package/dist/libs/login/src/Pages/index.d.ts +3 -0
  186. package/dist/libs/login/src/Pages/index.js +3 -0
  187. package/dist/libs/login/src/Pages/utils.d.ts +22 -0
  188. package/dist/libs/login/src/Pages/utils.js +24 -0
  189. package/dist/libs/login/src/Screen/Container.d.ts +4 -0
  190. package/dist/libs/login/src/Screen/Container.ios.d.ts +4 -0
  191. package/dist/libs/login/src/Screen/Container.ios.js +20 -0
  192. package/dist/libs/login/src/Screen/Container.js +25 -0
  193. package/dist/libs/login/src/Screen/components/Gradient.d.ts +6 -0
  194. package/dist/libs/login/src/Screen/components/Gradient.js +23 -0
  195. package/dist/libs/login/src/Screen/components/Input/index.d.ts +4 -0
  196. package/dist/libs/login/src/Screen/components/Input/index.js +128 -0
  197. package/dist/libs/login/src/Screen/components/Input/types.d.ts +46 -0
  198. package/dist/libs/login/src/Screen/components/Input/types.js +1 -0
  199. package/dist/libs/login/src/Screen/components/SvgLogoPytech.d.ts +4 -0
  200. package/dist/libs/login/src/Screen/components/SvgLogoPytech.js +11 -0
  201. package/dist/libs/login/src/Screen/components/SvgPytech.d.ts +4 -0
  202. package/dist/libs/login/src/Screen/components/SvgPytech.js +11 -0
  203. package/dist/libs/login/src/Screen/components/index.d.ts +4 -0
  204. package/dist/libs/login/src/Screen/components/index.js +4 -0
  205. package/dist/libs/login/src/Screen/index.d.ts +4 -0
  206. package/dist/libs/login/src/Screen/index.js +59 -0
  207. package/dist/libs/login/src/Screen/types.d.ts +14 -0
  208. package/dist/libs/login/src/Screen/types.js +1 -0
  209. package/dist/libs/login/src/constants.d.ts +98 -0
  210. package/dist/libs/login/src/constants.js +48 -0
  211. package/dist/libs/page/index.d.ts +1 -0
  212. package/dist/libs/page/index.js +1 -0
  213. package/dist/libs/page/src/components/Page/index.android.d.ts +4 -0
  214. package/dist/libs/page/src/components/Page/index.android.js +11 -0
  215. package/dist/libs/page/src/components/Page/index.d.ts +4 -0
  216. package/dist/libs/page/src/components/Page/index.js +7 -0
  217. package/dist/libs/page/src/components/PageWrapper/index.d.ts +6 -0
  218. package/dist/libs/page/src/components/PageWrapper/index.js +13 -0
  219. package/dist/libs/page/src/components/PageWrapper/types.d.ts +16 -0
  220. package/dist/libs/page/src/components/PageWrapper/types.js +1 -0
  221. package/dist/libs/page/src/components/Subtitle.d.ts +5 -0
  222. package/dist/libs/page/src/components/Subtitle.js +9 -0
  223. package/dist/libs/page/src/components/WithIcon/index.d.ts +3 -0
  224. package/dist/libs/page/src/components/WithIcon/index.js +47 -0
  225. package/dist/libs/page/src/components/WithIcon/types.d.ts +15 -0
  226. package/dist/libs/page/src/components/WithIcon/types.js +1 -0
  227. package/dist/libs/page/src/constants.d.ts +12 -0
  228. package/dist/libs/page/src/constants.js +12 -0
  229. package/dist/libs/pickerPage/index.d.ts +7 -0
  230. package/dist/libs/pickerPage/index.js +5 -0
  231. package/dist/libs/pickerPage/src/components/Content/index.d.ts +4 -0
  232. package/dist/libs/pickerPage/src/components/Content/index.ios.d.ts +4 -0
  233. package/dist/libs/pickerPage/src/components/Content/index.ios.js +19 -0
  234. package/dist/libs/pickerPage/src/components/Content/index.js +14 -0
  235. package/dist/libs/pickerPage/src/components/Content/types.d.ts +3 -0
  236. package/dist/libs/pickerPage/src/components/Content/types.js +1 -0
  237. package/dist/libs/pickerPage/src/components/Item/index.d.ts +4 -0
  238. package/dist/libs/pickerPage/src/components/Item/index.ios.d.ts +8 -0
  239. package/dist/libs/pickerPage/src/components/Item/index.ios.js +8 -0
  240. package/dist/libs/pickerPage/src/components/Item/index.js +14 -0
  241. package/dist/libs/pickerPage/src/components/Item/types.d.ts +28 -0
  242. package/dist/libs/pickerPage/src/components/Item/types.js +1 -0
  243. package/dist/libs/pickerPage/src/components/Page/index.d.ts +4 -0
  244. package/dist/libs/pickerPage/src/components/Page/index.js +22 -0
  245. package/dist/libs/pickerPage/src/components/Page/types.d.ts +30 -0
  246. package/dist/libs/pickerPage/src/components/Page/types.js +1 -0
  247. package/dist/libs/pickerPage/src/context/page.d.ts +7 -0
  248. package/dist/libs/pickerPage/src/context/page.js +2 -0
  249. package/dist/libs/providers/App/index.d.ts +10 -0
  250. package/dist/libs/providers/App/index.js +58 -0
  251. package/dist/libs/providers/App/types.d.ts +35 -0
  252. package/dist/libs/providers/App/types.js +1 -0
  253. package/dist/libs/providers/constants.d.ts +10 -0
  254. package/dist/libs/providers/constants.js +10 -0
  255. package/dist/libs/segmentedControl/index.d.ts +2 -0
  256. package/dist/libs/segmentedControl/index.js +2 -0
  257. package/dist/libs/segmentedControl/src/colors.d.ts +15 -0
  258. package/dist/libs/segmentedControl/src/colors.js +16 -0
  259. package/dist/libs/segmentedControl/src/components/AnimatedChip/index.d.ts +4 -0
  260. package/dist/libs/segmentedControl/src/components/AnimatedChip/index.js +79 -0
  261. package/dist/libs/segmentedControl/src/components/AnimatedChip/types.d.ts +28 -0
  262. package/dist/libs/segmentedControl/src/components/AnimatedChip/types.js +1 -0
  263. package/dist/libs/segmentedControl/src/components/Container/index.d.ts +4 -0
  264. package/dist/libs/segmentedControl/src/components/Container/index.ios.d.ts +4 -0
  265. package/dist/libs/segmentedControl/src/components/Container/index.ios.js +15 -0
  266. package/dist/libs/segmentedControl/src/components/Container/index.js +18 -0
  267. package/dist/libs/segmentedControl/src/components/Container/types.d.ts +16 -0
  268. package/dist/libs/segmentedControl/src/components/Container/types.js +1 -0
  269. package/dist/libs/segmentedControl/src/components/Item/index.d.ts +4 -0
  270. package/dist/libs/segmentedControl/src/components/Item/index.js +26 -0
  271. package/dist/libs/segmentedControl/src/components/Item/types.d.ts +20 -0
  272. package/dist/libs/segmentedControl/src/components/Item/types.js +1 -0
  273. package/dist/libs/segmentedControl/src/components/Segmented/index.d.ts +4 -0
  274. package/dist/libs/segmentedControl/src/components/Segmented/index.js +93 -0
  275. package/dist/libs/segmentedControl/src/components/Segmented/types.d.ts +12 -0
  276. package/dist/libs/segmentedControl/src/components/Segmented/types.js +1 -0
  277. package/dist/libs/segmentedControl/src/components/Wrapper/index.d.ts +4 -0
  278. package/dist/libs/segmentedControl/src/components/Wrapper/index.js +21 -0
  279. package/dist/libs/segmentedControl/src/components/Wrapper/types.d.ts +38 -0
  280. package/dist/libs/segmentedControl/src/components/Wrapper/types.js +1 -0
  281. package/dist/libs/segmentedControl/src/context/shared.d.ts +11 -0
  282. package/dist/libs/segmentedControl/src/context/shared.js +13 -0
  283. package/dist/libs/segmentedControl/src/utils.d.ts +10 -0
  284. package/dist/libs/segmentedControl/src/utils.js +29 -0
  285. package/dist/libs/sql/index.d.ts +4 -0
  286. package/dist/libs/sql/index.js +4 -0
  287. package/dist/libs/sql/src/init.d.ts +24 -0
  288. package/dist/libs/sql/src/init.js +31 -0
  289. package/dist/libs/sql/src/queryLocal.d.ts +6 -0
  290. package/dist/libs/sql/src/queryLocal.js +15 -0
  291. package/dist/libs/sql/src/utils.d.ts +11 -0
  292. package/dist/libs/sql/src/utils.js +60 -0
  293. package/dist/libs/supabase/index.d.ts +4 -0
  294. package/dist/libs/supabase/index.js +2 -0
  295. package/dist/libs/supabase/src/clients/admin/config.d.ts +2 -0
  296. package/dist/libs/supabase/src/clients/admin/config.js +18 -0
  297. package/dist/libs/supabase/src/clients/admin/index.d.ts +9 -0
  298. package/dist/libs/supabase/src/clients/admin/index.js +7 -0
  299. package/dist/libs/supabase/src/clients/admin/utils.d.ts +5 -0
  300. package/dist/libs/supabase/src/clients/admin/utils.js +6 -0
  301. package/dist/libs/supabase/src/clients/app/config.d.ts +3 -0
  302. package/dist/libs/supabase/src/clients/app/config.js +31 -0
  303. package/dist/libs/supabase/src/clients/app/index.d.ts +16 -0
  304. package/dist/libs/supabase/src/clients/app/index.js +7 -0
  305. package/dist/libs/supabase/src/clients/app/utils.d.ts +12 -0
  306. package/dist/libs/supabase/src/clients/app/utils.js +10 -0
  307. package/dist/libs/supabase/src/utils/index.d.ts +20 -0
  308. package/dist/libs/supabase/src/utils/index.js +23 -0
  309. package/dist/libs/supabase/src/utils/types.d.ts +22 -0
  310. package/dist/libs/supabase/src/utils/types.js +1 -0
  311. package/dist/libs/swiftui/index.d.ts +9 -0
  312. package/dist/libs/swiftui/index.js +9 -0
  313. package/dist/libs/swiftui/src/components/Dialog/index.d.ts +4 -0
  314. package/dist/libs/swiftui/src/components/Dialog/index.js +22 -0
  315. package/dist/libs/swiftui/src/components/Dialog/types.d.ts +21 -0
  316. package/dist/libs/swiftui/src/components/Dialog/types.js +1 -0
  317. package/dist/libs/swiftui/src/components/Host.d.ts +6 -0
  318. package/dist/libs/swiftui/src/components/Host.js +5 -0
  319. package/dist/libs/swiftui/src/components/Icon.d.ts +10 -0
  320. package/dist/libs/swiftui/src/components/Icon.js +8 -0
  321. package/dist/libs/swiftui/src/components/IconSection/Icon.d.ts +25 -0
  322. package/dist/libs/swiftui/src/components/IconSection/Icon.js +26 -0
  323. package/dist/libs/swiftui/src/components/IconSection/Section.d.ts +7 -0
  324. package/dist/libs/swiftui/src/components/IconSection/Section.js +17 -0
  325. package/dist/libs/swiftui/src/components/IconSection/index.d.ts +7 -0
  326. package/dist/libs/swiftui/src/components/IconSection/index.js +5 -0
  327. package/dist/libs/swiftui/src/components/List/BaseList/index.d.ts +10 -0
  328. package/dist/libs/swiftui/src/components/List/BaseList/index.js +20 -0
  329. package/dist/libs/swiftui/src/components/List/BaseList/types.d.ts +16 -0
  330. package/dist/libs/swiftui/src/components/List/BaseList/types.js +1 -0
  331. package/dist/libs/swiftui/src/components/List/Editable/List/index.d.ts +4 -0
  332. package/dist/libs/swiftui/src/components/List/Editable/List/index.js +19 -0
  333. package/dist/libs/swiftui/src/components/List/Editable/List/types.d.ts +16 -0
  334. package/dist/libs/swiftui/src/components/List/Editable/List/types.js +1 -0
  335. package/dist/libs/swiftui/src/components/List/Editable/Section/index.d.ts +5 -0
  336. package/dist/libs/swiftui/src/components/List/Editable/Section/index.js +36 -0
  337. package/dist/libs/swiftui/src/components/List/Editable/Section/types.d.ts +42 -0
  338. package/dist/libs/swiftui/src/components/List/Editable/Section/types.js +1 -0
  339. package/dist/libs/swiftui/src/components/List/Editable/index.d.ts +7 -0
  340. package/dist/libs/swiftui/src/components/List/Editable/index.js +5 -0
  341. package/dist/libs/swiftui/src/components/List/index.d.ts +7 -0
  342. package/dist/libs/swiftui/src/components/List/index.js +5 -0
  343. package/dist/libs/swiftui/src/components/NavigationLink/Trailing.d.ts +4 -0
  344. package/dist/libs/swiftui/src/components/NavigationLink/Trailing.js +14 -0
  345. package/dist/libs/swiftui/src/components/NavigationLink/index.d.ts +4 -0
  346. package/dist/libs/swiftui/src/components/NavigationLink/index.js +14 -0
  347. package/dist/libs/swiftui/src/components/NavigationLink/types.d.ts +31 -0
  348. package/dist/libs/swiftui/src/components/NavigationLink/types.js +1 -0
  349. package/dist/libs/swiftui/src/components/Picker.d.ts +11 -0
  350. package/dist/libs/swiftui/src/components/Picker.js +14 -0
  351. package/dist/libs/swiftui/src/components/Text.d.ts +6 -0
  352. package/dist/libs/swiftui/src/components/Text.js +10 -0
  353. package/dist/libs/swiftui/src/components/TextSubtitle.d.ts +22 -0
  354. package/dist/libs/swiftui/src/components/TextSubtitle.js +9 -0
  355. package/dist/libs/swiftui/src/context/ListEditable.d.ts +7 -0
  356. package/dist/libs/swiftui/src/context/ListEditable.js +2 -0
  357. package/dist/libs/table/index.d.ts +5 -0
  358. package/dist/libs/table/index.js +5 -0
  359. package/dist/libs/table/src/components/Borders.d.ts +6 -0
  360. package/dist/libs/table/src/components/Borders.js +84 -0
  361. package/dist/libs/table/src/components/Delete/index.d.ts +4 -0
  362. package/dist/libs/table/src/components/Delete/index.js +141 -0
  363. package/dist/libs/table/src/components/Delete/types.d.ts +27 -0
  364. package/dist/libs/table/src/components/Delete/types.js +1 -0
  365. package/dist/libs/table/src/components/Detail.d.ts +4 -0
  366. package/dist/libs/table/src/components/Detail.js +11 -0
  367. package/dist/libs/table/src/components/Option/index.d.ts +6 -0
  368. package/dist/libs/table/src/components/Option/index.js +106 -0
  369. package/dist/libs/table/src/components/Option/types.d.ts +61 -0
  370. package/dist/libs/table/src/components/Option/types.js +1 -0
  371. package/dist/libs/table/src/components/OptionComponents/deleteIcon.d.ts +6 -0
  372. package/dist/libs/table/src/components/OptionComponents/deleteIcon.js +14 -0
  373. package/dist/libs/table/src/components/OptionComponents/dragIcon.d.ts +6 -0
  374. package/dist/libs/table/src/components/OptionComponents/dragIcon.js +18 -0
  375. package/dist/libs/table/src/components/OptionComponents/icon.d.ts +10 -0
  376. package/dist/libs/table/src/components/OptionComponents/icon.js +12 -0
  377. package/dist/libs/table/src/components/OptionComponents/image.d.ts +9 -0
  378. package/dist/libs/table/src/components/OptionComponents/image.js +12 -0
  379. package/dist/libs/table/src/components/OptionComponents/index.d.ts +8 -0
  380. package/dist/libs/table/src/components/OptionComponents/index.js +8 -0
  381. package/dist/libs/table/src/components/OptionComponents/text.d.ts +22 -0
  382. package/dist/libs/table/src/components/OptionComponents/text.js +20 -0
  383. package/dist/libs/table/src/components/OptionComponents/textInput.d.ts +25 -0
  384. package/dist/libs/table/src/components/OptionComponents/textInput.js +49 -0
  385. package/dist/libs/table/src/components/OptionComponents/textInputCurrency.d.ts +8 -0
  386. package/dist/libs/table/src/components/OptionComponents/textInputCurrency.js +10 -0
  387. package/dist/libs/table/src/components/OptionComponents/textView.d.ts +14 -0
  388. package/dist/libs/table/src/components/OptionComponents/textView.js +18 -0
  389. package/dist/libs/table/src/components/OptionWrapper/index.d.ts +3 -0
  390. package/dist/libs/table/src/components/OptionWrapper/index.js +9 -0
  391. package/dist/libs/table/src/components/OptionWrapper/types.d.ts +37 -0
  392. package/dist/libs/table/src/components/OptionWrapper/types.js +1 -0
  393. package/dist/libs/table/src/components/Table/index.d.ts +3 -0
  394. package/dist/libs/table/src/components/Table/index.js +90 -0
  395. package/dist/libs/table/src/components/Table/types.d.ts +70 -0
  396. package/dist/libs/table/src/components/Table/types.js +1 -0
  397. package/dist/libs/table/src/components/Wrapper.d.ts +4 -0
  398. package/dist/libs/table/src/components/Wrapper.js +49 -0
  399. package/dist/libs/table/src/constants.d.ts +108 -0
  400. package/dist/libs/table/src/constants.js +107 -0
  401. package/dist/libs/table/src/context/borders.d.ts +10 -0
  402. package/dist/libs/table/src/context/borders.js +11 -0
  403. package/dist/libs/table/src/context/delete.d.ts +1 -0
  404. package/dist/libs/table/src/context/delete.js +2 -0
  405. package/dist/libs/table/src/context/table.d.ts +21 -0
  406. package/dist/libs/table/src/context/table.js +4 -0
  407. package/package.json +1 -1
@@ -0,0 +1,5 @@
1
+ declare const _default: import("react").MemoExoticComponent<({ routeOnSuccess, onSuccess }: {
2
+ routeOnSuccess?: string;
3
+ onSuccess?: () => Promise<void>;
4
+ }) => import("react").JSX.Element>;
5
+ export default _default;
@@ -0,0 +1,19 @@
1
+ import { useLocalSearchParams, useRouter } from 'expo-router';
2
+ import { Platform } from 'react-native';
3
+ import { memo } from 'react';
4
+ import Screen from '../Screen';
5
+ import { handleSubmitLogInPerfil } from './utils';
6
+ export default memo(({ routeOnSuccess, onSuccess }) => {
7
+ const { mail, first_name, abbreviation, color } = useLocalSearchParams();
8
+ const router = useRouter();
9
+ const handleSubmit = async ({ value }) => {
10
+ const { succeded, message } = await handleSubmitLogInPerfil({ mail, password: value });
11
+ if (succeded) {
12
+ await onSuccess?.();
13
+ if (routeOnSuccess)
14
+ router.replace(routeOnSuccess);
15
+ }
16
+ return { succeded, message };
17
+ };
18
+ return (<Screen iconPage={<Screen.Gradient text={`${abbreviation}`} color={color}/>} title={`¡Hola${first_name ? ` ${first_name}` : ''}!`} bottomElements={<Screen.Input placeholder='Contraseña' keyboardType='default' secureTextEntry={true} autoComplete='password' handleSubmit={handleSubmit} autoFocus={Platform.OS === 'web'}/>}/>);
19
+ });
@@ -0,0 +1,9 @@
1
+ import { Observable } from "@legendapp/state";
2
+ import Screen from "../../../Screen";
3
+ import { Store } from "../types";
4
+ type Props = {
5
+ store: Observable<Store>;
6
+ fieldName: keyof Store['fields'];
7
+ } & Omit<React.ComponentProps<typeof Screen.Input>, 'onFocus' | 'onChangeText' | 'messageError'>;
8
+ declare const _default: import("react").MemoExoticComponent<({ store, fieldName, ...props }: Props) => import("react").JSX.Element>;
9
+ export default _default;
@@ -0,0 +1,10 @@
1
+ import { useValue } from "@legendapp/state/react";
2
+ import { memo, useRef } from "react";
3
+ import Screen from "../../../Screen";
4
+ export default memo(({ store, fieldName, ...props }) => {
5
+ const textRef = useRef(null);
6
+ const onChangeText = (text) => textRef.current = text;
7
+ const onBlur = () => store.fields[fieldName].value.set(textRef.current || '');
8
+ const messageError = useValue(() => store.fields[fieldName].error.get());
9
+ return (<Screen.Input {...props} onChangeText={onChangeText} onBlur={onBlur} messageError={messageError} styleMessageError={{ textAlign: 'left' }}/>);
10
+ });
@@ -0,0 +1,6 @@
1
+ import { Observable } from "@legendapp/state";
2
+ import { Store } from "../types";
3
+ declare const _default: import("react").MemoExoticComponent<({ store }: {
4
+ store: Observable<Store>;
5
+ }) => import("react").JSX.Element>;
6
+ export default _default;
@@ -0,0 +1,34 @@
1
+ import { memo } from "react";
2
+ import { Platform, StyleSheet, View } from "react-native";
3
+ import { useApp } from "../../../../../../libs/providers/App";
4
+ import colors from "../../../constants";
5
+ import Input from "./Input";
6
+ export default memo(({ store }) => {
7
+ const { colorScheme } = useApp();
8
+ const Theme = colors.theme[colorScheme];
9
+ return (<>
10
+ <View style={styles.view}>
11
+ <Input store={store} fieldName="name" placeholder='Nombre' autoComplete='given-name' autoFocus={Platform.OS === 'web'} buttonSend={false} autoCapitalize='words'/>
12
+ <Input store={store} fieldName="lastName" placeholder='Apellidos' autoComplete='family-name' autoFocus={Platform.OS === 'web'} buttonSend={false} autoCapitalize='words'/>
13
+ </View>
14
+
15
+ <View style={[styles.hr, { backgroundColor: Theme.borderColor5 }]}/>
16
+
17
+ <View style={styles.view}>
18
+ <Input store={store} fieldName="email" placeholder='nombre@example.com' autoComplete='email' autoFocus={Platform.OS === 'web'} buttonSend={false}/>
19
+ <Input store={store} fieldName="newPassword" placeholder='Contraseña' autoComplete='new-password' autoFocus={Platform.OS === 'web'} buttonSend={false} secureTextEntry={true}/>
20
+ <Input store={store} fieldName="confirmPassword" placeholder='Contraseña' autoComplete='new-password' autoFocus={Platform.OS === 'web'} buttonSend={false} secureTextEntry={true}/>
21
+ </View>
22
+ </>);
23
+ });
24
+ const styles = StyleSheet.create({
25
+ view: {
26
+ flex: 1,
27
+ gap: 15,
28
+ display: 'flex',
29
+ },
30
+ hr: {
31
+ height: 1,
32
+ opacity: 0.6,
33
+ }
34
+ });
@@ -0,0 +1,3 @@
1
+ import Props from './types';
2
+ declare const _default: import("react").MemoExoticComponent<({ title, subtitle, iconPage }: Props) => import("react").JSX.Element>;
3
+ export default _default;
@@ -0,0 +1,149 @@
1
+ import { Ionicons } from '@expo/vector-icons';
2
+ import { useObservable, useValue } from '@legendapp/state/react';
3
+ import { memo } from 'react';
4
+ import { StyleSheet, Text, View } from 'react-native';
5
+ import { useRouter } from 'expo-router';
6
+ import Link from '../../../../../libs/components/Link';
7
+ import Footer from '../../../../../libs/footer';
8
+ import Page from '../../../../../libs/page';
9
+ import { useApp } from "../../../../../libs/providers/App";
10
+ import supabase from "../../../../../libs/supabase";
11
+ import colors from '../../constants';
12
+ import Screen from '../../Screen';
13
+ import Form from './Form';
14
+ export default memo(({ title = 'Apple', subtitle, iconPage = <Screen.SvgLogoPytech size={40}/> }) => {
15
+ const { colorScheme } = useApp();
16
+ const Theme = colors.theme[colorScheme];
17
+ const router = useRouter();
18
+ const store = useObservable({
19
+ fields: {
20
+ name: {
21
+ value: null,
22
+ error: (() => {
23
+ const value = store.fields.name.value.get();
24
+ if (value === '')
25
+ return 'Ingresa tu nombre.';
26
+ return null;
27
+ }),
28
+ },
29
+ lastName: {
30
+ value: null,
31
+ error: (() => {
32
+ const value = store.fields.lastName.value.get();
33
+ if (value === '')
34
+ return 'Ingresa tus apellidos.';
35
+ return null;
36
+ }),
37
+ },
38
+ email: {
39
+ value: null,
40
+ error: (() => {
41
+ const value = store.fields.email.value.get();
42
+ if (value === null)
43
+ return null;
44
+ const message = 'Ingresa una dirección válida para usarla como tu correo electrónico principal.';
45
+ if (value === '')
46
+ return message;
47
+ if (!value.includes('@'))
48
+ return message;
49
+ if (!value.includes('.'))
50
+ return message;
51
+ return null;
52
+ }),
53
+ },
54
+ newPassword: {
55
+ value: null,
56
+ error: (() => {
57
+ const value = store.fields.newPassword.value.get();
58
+ if (value === null)
59
+ return null;
60
+ if (value.length < 8)
61
+ return 'La contraseña debe tener al menos 8 caracteres';
62
+ return null;
63
+ }),
64
+ },
65
+ confirmPassword: {
66
+ value: null,
67
+ error: (() => {
68
+ const newPassword = store.fields.newPassword.value.get() || '';
69
+ const confirmPassword = store.fields.confirmPassword.value.get();
70
+ if (confirmPassword !== newPassword && confirmPassword !== null)
71
+ return 'Las contraseñas que ingresaste no coinciden';
72
+ return null;
73
+ }),
74
+ },
75
+ },
76
+ createAccountEnabled: () => {
77
+ const fields = store.fields.get();
78
+ const hasErrors = Object.values(fields).some(field => typeof field.error === 'string');
79
+ const hasValues = Object.values(fields).every(field => field.value !== null);
80
+ return !hasErrors && hasValues;
81
+ }
82
+ });
83
+ const createAccountEnabled = useValue(() => store.createAccountEnabled.get());
84
+ const _subtitle = subtitle || `Solo necesitas una cuenta de ${title} para acceder a todos los servicios de ${title}.\n¿Ya tienes una cuenta de ${title}?`;
85
+ const onPress = async ({ name, lastName, email, password }) => {
86
+ const { data, error } = await supabase.signUp({ email, password });
87
+ console.log('data', data);
88
+ console.log('error', error);
89
+ return !error;
90
+ };
91
+ const onSubmit = () => router.replace('/login/inicio');
92
+ return (<>
93
+ <Page style={{ paddingHorizontal: 40, marginTop: 34, paddingBottom: 200 }}>
94
+ <View style={styles.viewTitle}>
95
+
96
+ {iconPage}
97
+
98
+ <Text style={[styles.title, { color: Theme.text }]} adjustsFontSizeToFit numberOfLines={1} minimumFontScale={0.5}>
99
+ {`Crear tu cuenta de ${title}`}
100
+ </Text>
101
+
102
+ <View style={{ alignItems: 'center', justifyContent: 'center', gap: 1 }}>
103
+ <Text style={[styles.subtitle, { color: Theme.text }]}>{_subtitle}</Text>
104
+ <Link text='Inicia sesión' onPress={({ router }) => router.replace('/login/inicio')} renderItems={({ pressed }) => <Ionicons name="arrow-forward-outline" size={15} color='hsl(207, 100%, 50%)' style={{ transform: [{ rotate: '315deg' }] }}/>} style={{ fontSize: 17 }}/>
105
+ </View>
106
+ </View>
107
+
108
+ <View style={styles.container}>
109
+ <Form store={store}/>
110
+ </View>
111
+ </Page>
112
+
113
+ <Footer backgroundColorPage={Theme.backgroundColorModal2}>
114
+ <Footer.Button text='Crear cuenta' enabled={createAccountEnabled} backgroundColorPage={Theme.backgroundColorModal2} onPress={async () => {
115
+ const fields = store.fields.peek();
116
+ return await onPress({
117
+ name: fields.name.value || '',
118
+ lastName: fields.lastName.value || '',
119
+ email: fields.email.value || '',
120
+ password: fields.newPassword.value || ''
121
+ });
122
+ }} onSubmit={onSubmit}/>
123
+ </Footer>
124
+ </>);
125
+ });
126
+ const styles = StyleSheet.create({
127
+ viewTitle: {
128
+ gap: 13,
129
+ display: 'flex',
130
+ alignItems: 'center',
131
+ justifyContent: 'center',
132
+ marginBottom: 22,
133
+ },
134
+ title: {
135
+ fontSize: 27.5,
136
+ fontWeight: '600',
137
+ textAlign: 'center',
138
+ },
139
+ subtitle: {
140
+ fontSize: 17,
141
+ textAlign: 'center',
142
+ lineHeight: 24,
143
+ },
144
+ container: {
145
+ flex: 1,
146
+ gap: 32,
147
+ display: 'flex',
148
+ },
149
+ });
@@ -0,0 +1,31 @@
1
+ type Props = {
2
+ title: string;
3
+ subtitle?: string;
4
+ iconPage?: React.ReactNode;
5
+ };
6
+ export type Store = {
7
+ fields: {
8
+ name: {
9
+ value: string | null;
10
+ error: string | null;
11
+ };
12
+ lastName: {
13
+ value: string | null;
14
+ error: string | null;
15
+ };
16
+ email: {
17
+ value: string | null;
18
+ error: string | null;
19
+ };
20
+ newPassword: {
21
+ value: string | null;
22
+ error: string | null;
23
+ };
24
+ confirmPassword: {
25
+ value: string | null;
26
+ error: string | null;
27
+ };
28
+ };
29
+ createAccountEnabled: boolean;
30
+ };
31
+ export default Props;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ export { default as Home } from './Home';
2
+ export { default as Perfil } from './Perfil';
3
+ export { default as SignIn } from './SignIn';
@@ -0,0 +1,3 @@
1
+ export { default as Home } from './Home';
2
+ export { default as Perfil } from './Perfil';
3
+ export { default as SignIn } from './SignIn';
@@ -0,0 +1,22 @@
1
+ import { ImperativeRouter } from 'expo-router';
2
+ import { PerfilColorType } from '../constants';
3
+ export type LoginData = {
4
+ first_name: string;
5
+ abbreviation: string;
6
+ color: PerfilColorType;
7
+ mail: string;
8
+ };
9
+ export declare const handleSubmitLogIn: ({ username, router }: {
10
+ username: string;
11
+ router: ImperativeRouter;
12
+ }) => Promise<{
13
+ succeded: boolean;
14
+ message: string;
15
+ }>;
16
+ export declare const handleSubmitLogInPerfil: ({ mail, password }: {
17
+ mail: string;
18
+ password: string;
19
+ }) => Promise<{
20
+ succeded: boolean;
21
+ message: string;
22
+ }>;
@@ -0,0 +1,24 @@
1
+ import supabase from "../../../../libs/supabase";
2
+ export const handleSubmitLogIn = async ({ username, router }) => {
3
+ const identifier = username.trim();
4
+ const data = await supabase.execFunction({
5
+ name: 'login',
6
+ args: { p_identifier: identifier }
7
+ });
8
+ if (!data || data.length === 0)
9
+ return { succeded: false, message: 'Revisa la información de la cuenta que ingresaste y vuelve a intentarlo.' };
10
+ // Success
11
+ router.push({ pathname: '/login/inicio/perfil', params: data[0] });
12
+ return { succeded: true, message: '' };
13
+ };
14
+ export const handleSubmitLogInPerfil = async ({ mail, password }) => {
15
+ password = password.trim();
16
+ const { data, error } = await supabase.logIn({ email: mail, password });
17
+ if (error) {
18
+ if (error.message === 'Invalid login credentials') {
19
+ return { succeded: false, message: 'La contraseña que ingresaste es incorrecta, vuelve a intentarlo.' };
20
+ }
21
+ return { succeded: false, message: error.message };
22
+ }
23
+ return { succeded: true, message: '' };
24
+ };
@@ -0,0 +1,4 @@
1
+ declare const _default: import("react").MemoExoticComponent<({ children }: {
2
+ children: React.ReactNode;
3
+ }) => import("react").JSX.Element>;
4
+ export default _default;
@@ -0,0 +1,4 @@
1
+ declare const _default: import("react").MemoExoticComponent<({ children }: {
2
+ children: React.ReactNode;
3
+ }) => import("react").JSX.Element>;
4
+ export default _default;
@@ -0,0 +1,20 @@
1
+ import { useApp } from "../../../../libs/providers/App";
2
+ import { memo } from 'react';
3
+ import { ScrollView, StyleSheet, TouchableWithoutFeedback } from 'react-native';
4
+ import colors from '../constants';
5
+ export default memo(({ children }) => {
6
+ const { colorScheme } = useApp();
7
+ const Theme = colors.theme[colorScheme];
8
+ return (<TouchableWithoutFeedback>
9
+ <ScrollView contentContainerStyle={[styles.pagina, { backgroundColor: Theme.backgroundColor }]} automaticallyAdjustKeyboardInsets={true}>
10
+ {children}
11
+ </ScrollView>
12
+ </TouchableWithoutFeedback>);
13
+ });
14
+ const styles = StyleSheet.create({
15
+ pagina: {
16
+ flex: 1,
17
+ display: 'flex',
18
+ alignItems: 'center',
19
+ }
20
+ });
@@ -0,0 +1,25 @@
1
+ import { useApp } from "../../../../libs/providers/App";
2
+ import { memo } from 'react';
3
+ import { KeyboardAvoidingView, ScrollView, StyleSheet, TouchableWithoutFeedback, useWindowDimensions, View } from 'react-native';
4
+ import colors from '../constants';
5
+ export default memo(({ children }) => {
6
+ const { height } = useWindowDimensions();
7
+ const { colorScheme } = useApp();
8
+ const Theme = colors.theme[colorScheme];
9
+ return (<TouchableWithoutFeedback>
10
+ <KeyboardAvoidingView behavior={'height'} style={{ flex: 1 }}>
11
+ <ScrollView contentContainerStyle={{ minHeight: height, flexGrow: 1 }} keyboardShouldPersistTaps='handled' showsVerticalScrollIndicator={false}>
12
+ <View style={[styles.pagina, { backgroundColor: Theme.backgroundColor }]}>
13
+ {children}
14
+ </View>
15
+ </ScrollView>
16
+ </KeyboardAvoidingView>
17
+ </TouchableWithoutFeedback>);
18
+ });
19
+ const styles = StyleSheet.create({
20
+ pagina: {
21
+ flex: 1,
22
+ display: 'flex',
23
+ alignItems: 'center',
24
+ }
25
+ });
@@ -0,0 +1,6 @@
1
+ import { PerfilColorType } from '../../constants';
2
+ declare const _default: import("react").MemoExoticComponent<({ text, color }: {
3
+ text: string;
4
+ color: PerfilColorType;
5
+ }) => import("react").JSX.Element>;
6
+ export default _default;
@@ -0,0 +1,23 @@
1
+ import { LinearGradient } from "expo-linear-gradient";
2
+ import { Text, StyleSheet } from "react-native";
3
+ import { memo } from "react";
4
+ import colors from '../../constants';
5
+ export default memo(({ text, color = 'default' }) => (<LinearGradient style={styles.container} colors={[colors.perfil[color].light, colors.perfil[color].dark]} start={{ x: 0, y: 0 }} end={{ x: 0, y: 1 }}>
6
+ <Text style={styles.text}>{text}</Text>
7
+ </LinearGradient>));
8
+ const styles = StyleSheet.create({
9
+ container: {
10
+ width: 200,
11
+ height: 200,
12
+ borderRadius: 100,
13
+ justifyContent: 'center',
14
+ alignItems: 'center',
15
+ },
16
+ text: {
17
+ lineHeight: 200,
18
+ fontSize: 90,
19
+ letterSpacing: -2,
20
+ fontWeight: 'bold',
21
+ color: 'white',
22
+ }
23
+ });
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import Props from './types';
3
+ declare const _default: React.MemoExoticComponent<({ placeholder, buttonSend, handleSubmit, messageError, onFocus, onChangeText, onBlur, styleMessageError, ...props }: Props) => React.JSX.Element>;
4
+ export default _default;
@@ -0,0 +1,128 @@
1
+ import React, { memo, useEffect, useRef, useState } from 'react';
2
+ import { ActivityIndicator, Image, Keyboard, Pressable, StyleSheet, Text, TextInput, View } from 'react-native';
3
+ import Animated, { Easing, interpolate, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';
4
+ import { useApp } from "../../../../../../libs/providers/App";
5
+ import colors from '../../../constants';
6
+ const anim = {
7
+ duration: 400,
8
+ easing: Easing.bezier(0.2, 0.2, 0, 1)
9
+ };
10
+ export default memo(({ placeholder = '', buttonSend = true, handleSubmit, messageError, onFocus, onChangeText, onBlur, styleMessageError, ...props }) => {
11
+ const { colorScheme } = useApp();
12
+ const Theme = colors.theme[colorScheme];
13
+ const valueRef = useRef('');
14
+ const [isFocused, setIsFocused] = useState(false);
15
+ const [isLoading, setIsLoading] = useState(false);
16
+ const [errorMessage, setErrorMessage] = useState(messageError || null);
17
+ const inputRef = useRef(null);
18
+ const animShared = useSharedValue(0);
19
+ // ----------------- Functions-----------------
20
+ const _onFocus = () => {
21
+ setIsFocused(true);
22
+ animShared.value = withTiming(1, { ...anim, duration: 75 });
23
+ onFocus?.();
24
+ };
25
+ const _onBlur = () => {
26
+ setIsFocused(false);
27
+ if (!valueRef.current)
28
+ animShared.value = withTiming(0, { ...anim, duration: 75 });
29
+ onBlur?.();
30
+ };
31
+ const _onChangeText = (text) => {
32
+ valueRef.current = text.toLowerCase();
33
+ onChangeText?.(text);
34
+ };
35
+ const onClickSubmit = () => {
36
+ if (!isLoading) {
37
+ setIsLoading(true);
38
+ _handleSubmit();
39
+ }
40
+ };
41
+ const _handleSubmit = async () => {
42
+ const { succeded, message } = await handleSubmit?.({ value: valueRef.current }) || { succeded: true, message: '' };
43
+ if (!succeded)
44
+ setErrorMessage(message);
45
+ else
46
+ setErrorMessage(null);
47
+ Keyboard.dismiss();
48
+ setIsLoading(false);
49
+ };
50
+ // ----------------- useEffect -----------------
51
+ useEffect(() => {
52
+ setErrorMessage(messageError || null);
53
+ }, [messageError]);
54
+ // ----------------- useAnimatedStyle -----------------
55
+ const animatedStyle = useAnimatedStyle(() => {
56
+ return {
57
+ fontSize: interpolate(animShared.value, [0, 1], [17, 12]),
58
+ paddingTop: interpolate(animShared.value, [0, 1], [15, 5])
59
+ };
60
+ });
61
+ const borderColor = isFocused ? Theme.focus : errorMessage ? Theme.borderColorError : Theme.borderColor5;
62
+ const backgroundColor = errorMessage ? Theme.backgroundColorError : Theme.backgroundColor2;
63
+ return (<View style={{ gap: 10 }}>
64
+ <View onTouchEnd={(e) => e.stopPropagation()} style={[styles.container, { borderColor: borderColor, backgroundColor: backgroundColor }]}>
65
+ <Pressable style={styles.pressable} onPress={() => { inputRef?.current?.focus?.(); }}>
66
+
67
+ <Animated.Text style={[styles.animatedText, { color: errorMessage ? Theme.borderColorError : Theme.borderColor }, animatedStyle]}>
68
+ {placeholder}
69
+ </Animated.Text>
70
+
71
+ <TextInput style={[styles.textInput, { color: Theme.text }]} autoCapitalize='none' autoCorrect={false} {...props} ref={inputRef} onChangeText={_onChangeText} onFocus={_onFocus} onBlur={_onBlur} onSubmitEditing={onClickSubmit}/>
72
+ </Pressable>
73
+
74
+ {buttonSend && (!isLoading ? (<Pressable style={{ paddingHorizontal: 10 }} onPress={onClickSubmit} onTouchStart={onClickSubmit}>
75
+ <View style={[styles.viewImage, { borderColor: Theme.borderColor }]}>
76
+ <Image style={styles.image} tintColor={Theme.borderColor} source={require('../../../../../assets/images/flecha-hacia-abajo.png')}/>
77
+ </View>
78
+ </Pressable>) : (<View style={{ paddingHorizontal: 10 }}>
79
+ <ActivityIndicator size='small' style={{ margin: 'auto' }} color={Theme.borderColor}/>
80
+ </View>))}
81
+ </View>
82
+
83
+ {errorMessage && <Text style={[styles.textError, { color: Theme.borderColorError }, styleMessageError]}>{errorMessage}</Text>}
84
+ </View>);
85
+ });
86
+ const styles = StyleSheet.create({
87
+ container: {
88
+ display: 'flex',
89
+ flexDirection: 'row',
90
+ paddingLeft: 10,
91
+ borderWidth: 1,
92
+ borderRadius: 12
93
+ },
94
+ pressable: {
95
+ flex: 1,
96
+ position: 'relative',
97
+ },
98
+ animatedText: {
99
+ paddingTop: 15,
100
+ position: 'absolute',
101
+ fontSize: 17,
102
+ margin: 'auto',
103
+ cursor: 'text'
104
+ },
105
+ textInput: {
106
+ outlineStyle: 'none',
107
+ paddingTop: 20,
108
+ paddingBottom: 10,
109
+ fontSize: 17,
110
+ },
111
+ viewImage: {
112
+ margin: 'auto',
113
+ borderRadius: '100%',
114
+ borderWidth: 1,
115
+ padding: 5,
116
+ cursor: 'pointer',
117
+ },
118
+ image: {
119
+ margin: 'auto',
120
+ height: 15,
121
+ width: 15,
122
+ transform: [{ rotate: '-90deg' }],
123
+ },
124
+ textError: {
125
+ flex: 1,
126
+ textAlign: 'center',
127
+ }
128
+ });
@@ -0,0 +1,46 @@
1
+ import { StyleProp, TextInputProps, TextStyle } from "react-native";
2
+ type Props = {
3
+ /**
4
+ Texto que aparece como placeholder en el input.
5
+ El valor por defecto es "", no puede ser undefined.
6
+ */
7
+ placeholder?: string;
8
+ /**
9
+ Función asíncrona que se ejecuta cuando se presiona el botón de enviar.
10
+ Tiene que retornar un diccionario con dos propiedades:
11
+ - succeded: boolean
12
+ - message: string
13
+ */
14
+ handleSubmit?: ({ value }: {
15
+ value: string;
16
+ }) => Promise<{
17
+ succeded: boolean;
18
+ message: string;
19
+ }>;
20
+ /**
21
+ Si es true, se muestra el botón de enviar.
22
+ El valor por defecto es true.
23
+ */
24
+ buttonSend?: boolean;
25
+ /**
26
+ Mensaje de error que se muestra debajo del input.
27
+ */
28
+ messageError?: string | null;
29
+ /**
30
+ Estilo del mensaje de error.
31
+ */
32
+ styleMessageError?: StyleProp<TextStyle>;
33
+ /**
34
+ Función que se ejecuta cuando se hace focus en el input.
35
+ */
36
+ onFocus?: () => void;
37
+ /**
38
+ Función que se ejecuta cuando se hace blur en el input.
39
+ */
40
+ onBlur?: () => void;
41
+ /**
42
+ Función que se ejecuta cuando se cambia el texto en el input.
43
+ */
44
+ onChangeText?: (text: string) => void;
45
+ } & Omit<TextInputProps, 'ref' | 'onChangeText' | 'onFocus' | 'onBlur' | 'onSubmitEditing'>;
46
+ export default Props;
@@ -0,0 +1,4 @@
1
+ declare const _default: import("react").MemoExoticComponent<({ size }: {
2
+ size?: number;
3
+ }) => import("react").JSX.Element>;
4
+ export default _default;
@@ -0,0 +1,11 @@
1
+ import { memo } from "react";
2
+ import LogoSvg from '../../../../assets/images/logo_letras.svg';
3
+ import LogoSvgDark from '../../../../assets/images/logo_letras_dark.svg';
4
+ import { useApp } from "../../../../../libs/providers/App";
5
+ export default memo(({ size = 200 }) => {
6
+ const { colorScheme } = useApp();
7
+ const props = { width: size, height: size };
8
+ if (colorScheme === 'dark')
9
+ return <LogoSvgDark {...props}/>;
10
+ return <LogoSvg {...props}/>;
11
+ });
@@ -0,0 +1,4 @@
1
+ declare const _default: import("react").MemoExoticComponent<({ size }: {
2
+ size?: number;
3
+ }) => import("react").JSX.Element>;
4
+ export default _default;
@@ -0,0 +1,11 @@
1
+ import { memo } from "react";
2
+ import LoginSvg from '../../../../assets/images/login_letras.svg';
3
+ import LoginSvgDark from '../../../../assets/images/login_letras_dark.svg';
4
+ import { useApp } from "../../../../../libs/providers/App";
5
+ export default memo(({ size = 200 }) => {
6
+ const { colorScheme } = useApp();
7
+ const props = { width: size, height: size };
8
+ if (colorScheme === 'dark')
9
+ return <LoginSvgDark {...props}/>;
10
+ return <LoginSvg {...props}/>;
11
+ });