native-pytech 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (331) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +30 -0
  3. package/dist/app/assets/components/removeCircle.d.ts +2 -0
  4. package/dist/app/assets/components/removeCircle.js +2 -0
  5. package/dist/app/assets/components/reorderThreeOutline.d.ts +2 -0
  6. package/dist/app/assets/components/reorderThreeOutline.js +2 -0
  7. package/dist/app/assets/ionicons.d.ts +2 -0
  8. package/dist/app/assets/ionicons.js +2 -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/handleFontObserver.d.ts +2 -0
  24. package/dist/app/constants/handleFontObserver.js +2 -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/footer.d.ts +2 -0
  30. package/dist/app/footer.js +2 -0
  31. package/dist/app/login.d.ts +2 -0
  32. package/dist/app/login.js +2 -0
  33. package/dist/app/page.d.ts +2 -0
  34. package/dist/app/page.js +2 -0
  35. package/dist/app/providers/app.d.ts +2 -0
  36. package/dist/app/providers/app.js +2 -0
  37. package/dist/app/segmentedControl.d.ts +2 -0
  38. package/dist/app/segmentedControl.js +2 -0
  39. package/dist/app/sql.d.ts +2 -0
  40. package/dist/app/sql.js +2 -0
  41. package/dist/app/supabase.d.ts +2 -0
  42. package/dist/app/supabase.js +2 -0
  43. package/dist/app/swiftui.d.ts +1 -0
  44. package/dist/app/swiftui.js +1 -0
  45. package/dist/app/table.d.ts +2 -0
  46. package/dist/app/table.js +2 -0
  47. package/dist/index.d.ts +8 -0
  48. package/dist/index.js +8 -0
  49. package/dist/libs/assets/components/RemoveCircle.d.ts +6 -0
  50. package/dist/libs/assets/components/RemoveCircle.js +25 -0
  51. package/dist/libs/assets/components/ReorderThreeOutline.d.ts +5 -0
  52. package/dist/libs/assets/components/ReorderThreeOutline.js +15 -0
  53. package/dist/libs/assets/images/android-icon-background-nuevo.png +0 -0
  54. package/dist/libs/assets/images/android-icon-background.png +0 -0
  55. package/dist/libs/assets/images/android-icon-foreground-nuevo.png +0 -0
  56. package/dist/libs/assets/images/android-icon-foreground-nuevo2.png +0 -0
  57. package/dist/libs/assets/images/android-icon-foreground.png +0 -0
  58. package/dist/libs/assets/images/android-icon-monochrome.png +0 -0
  59. package/dist/libs/assets/images/arrow.png +0 -0
  60. package/dist/libs/assets/images/check.svg +1 -0
  61. package/dist/libs/assets/images/favicon.ico +0 -0
  62. package/dist/libs/assets/images/favicon.png +0 -0
  63. package/dist/libs/assets/images/flecha-hacia-abajo.png +0 -0
  64. package/dist/libs/assets/images/icon-viejo.png +0 -0
  65. package/dist/libs/assets/images/icon.png +0 -0
  66. package/dist/libs/assets/images/icono_tango.svg +1 -0
  67. package/dist/libs/assets/images/incoming-call.png +0 -0
  68. package/dist/libs/assets/images/incoming.png +0 -0
  69. package/dist/libs/assets/images/login.png +0 -0
  70. package/dist/libs/assets/images/login_apple.svg +28 -0
  71. package/dist/libs/assets/images/login_letras.svg +41 -0
  72. package/dist/libs/assets/images/login_letras_dark.svg +41 -0
  73. package/dist/libs/assets/images/login_sol.svg +59 -0
  74. package/dist/libs/assets/images/login_transparente.png +0 -0
  75. package/dist/libs/assets/images/logo_letras.svg +29 -0
  76. package/dist/libs/assets/images/logo_letras_dark.svg +29 -0
  77. package/dist/libs/assets/images/partial-react-logo.png +0 -0
  78. package/dist/libs/assets/images/pencil.png +0 -0
  79. package/dist/libs/assets/images/react-logo.png +0 -0
  80. package/dist/libs/assets/images/react-logo@2x.png +0 -0
  81. package/dist/libs/assets/images/react-logo@3x.png +0 -0
  82. package/dist/libs/assets/images/remove-circle.svg +4 -0
  83. package/dist/libs/assets/images/splash-icon.png +0 -0
  84. package/dist/libs/assets/images/test.svg +22 -0
  85. package/dist/libs/assets/ionicons/Ionicons.d.ts +35 -0
  86. package/dist/libs/assets/ionicons/Ionicons.js +16 -0
  87. package/dist/libs/assets/ionicons/index.d.ts +6 -0
  88. package/dist/libs/assets/ionicons/index.js +23 -0
  89. package/dist/libs/components/CloseButton.d.ts +9 -0
  90. package/dist/libs/components/CloseButton.js +19 -0
  91. package/dist/libs/components/Gradient/constants.d.ts +80 -0
  92. package/dist/libs/components/Gradient/constants.js +34 -0
  93. package/dist/libs/components/Gradient/index.d.ts +21 -0
  94. package/dist/libs/components/Gradient/index.js +33 -0
  95. package/dist/libs/components/Link.d.ts +13 -0
  96. package/dist/libs/components/Link.js +20 -0
  97. package/dist/libs/components/Text.d.ts +6 -0
  98. package/dist/libs/components/Text.js +11 -0
  99. package/dist/libs/components/Theme.d.ts +9 -0
  100. package/dist/libs/components/Theme.js +10 -0
  101. package/dist/libs/constants/colors.d.ts +218 -0
  102. package/dist/libs/constants/colors.js +170 -0
  103. package/dist/libs/constants/consts.d.ts +13 -0
  104. package/dist/libs/constants/consts.js +23 -0
  105. package/dist/libs/constants/handleFontObserver.d.ts +2 -0
  106. package/dist/libs/constants/handleFontObserver.js +18 -0
  107. package/dist/libs/constants/hooks.d.ts +5 -0
  108. package/dist/libs/constants/hooks.js +50 -0
  109. package/dist/libs/constants/utils.d.ts +10 -0
  110. package/dist/libs/constants/utils.js +69 -0
  111. package/dist/libs/footer/index.d.ts +1 -0
  112. package/dist/libs/footer/index.js +1 -0
  113. package/dist/libs/footer/src/Background/index.d.ts +4 -0
  114. package/dist/libs/footer/src/Background/index.ios.d.ts +4 -0
  115. package/dist/libs/footer/src/Background/index.ios.js +22 -0
  116. package/dist/libs/footer/src/Background/index.js +21 -0
  117. package/dist/libs/footer/src/Button/Text.d.ts +3 -0
  118. package/dist/libs/footer/src/Button/Text.js +18 -0
  119. package/dist/libs/footer/src/Button/index.d.ts +3 -0
  120. package/dist/libs/footer/src/Button/index.ios.d.ts +3 -0
  121. package/dist/libs/footer/src/Button/index.ios.js +52 -0
  122. package/dist/libs/footer/src/Button/index.js +55 -0
  123. package/dist/libs/footer/src/Button/types.d.ts +20 -0
  124. package/dist/libs/footer/src/Button/types.js +1 -0
  125. package/dist/libs/footer/src/constants.d.ts +20 -0
  126. package/dist/libs/footer/src/constants.js +21 -0
  127. package/dist/libs/footer/src/index.d.ts +3 -0
  128. package/dist/libs/footer/src/index.js +40 -0
  129. package/dist/libs/footer/src/types.d.ts +9 -0
  130. package/dist/libs/footer/src/types.js +1 -0
  131. package/dist/libs/login/index.d.ts +3 -0
  132. package/dist/libs/login/index.js +3 -0
  133. package/dist/libs/login/src/Pages/Home/index.d.ts +3 -0
  134. package/dist/libs/login/src/Pages/Home/index.js +20 -0
  135. package/dist/libs/login/src/Pages/Home/types.d.ts +19 -0
  136. package/dist/libs/login/src/Pages/Home/types.js +1 -0
  137. package/dist/libs/login/src/Pages/Perfil.d.ts +5 -0
  138. package/dist/libs/login/src/Pages/Perfil.js +19 -0
  139. package/dist/libs/login/src/Pages/SignIn/Form/Input.d.ts +9 -0
  140. package/dist/libs/login/src/Pages/SignIn/Form/Input.js +10 -0
  141. package/dist/libs/login/src/Pages/SignIn/Form/index.d.ts +6 -0
  142. package/dist/libs/login/src/Pages/SignIn/Form/index.js +34 -0
  143. package/dist/libs/login/src/Pages/SignIn/index.d.ts +3 -0
  144. package/dist/libs/login/src/Pages/SignIn/index.js +149 -0
  145. package/dist/libs/login/src/Pages/SignIn/types.d.ts +31 -0
  146. package/dist/libs/login/src/Pages/SignIn/types.js +1 -0
  147. package/dist/libs/login/src/Pages/index.d.ts +3 -0
  148. package/dist/libs/login/src/Pages/index.js +3 -0
  149. package/dist/libs/login/src/Pages/utils.d.ts +20 -0
  150. package/dist/libs/login/src/Pages/utils.js +49 -0
  151. package/dist/libs/login/src/Screen/Container.d.ts +4 -0
  152. package/dist/libs/login/src/Screen/Container.ios.d.ts +4 -0
  153. package/dist/libs/login/src/Screen/Container.ios.js +20 -0
  154. package/dist/libs/login/src/Screen/Container.js +25 -0
  155. package/dist/libs/login/src/Screen/components/Gradient.d.ts +6 -0
  156. package/dist/libs/login/src/Screen/components/Gradient.js +23 -0
  157. package/dist/libs/login/src/Screen/components/Input/index.d.ts +4 -0
  158. package/dist/libs/login/src/Screen/components/Input/index.js +128 -0
  159. package/dist/libs/login/src/Screen/components/Input/types.d.ts +46 -0
  160. package/dist/libs/login/src/Screen/components/Input/types.js +1 -0
  161. package/dist/libs/login/src/Screen/components/SvgLogoPytech.d.ts +4 -0
  162. package/dist/libs/login/src/Screen/components/SvgLogoPytech.js +11 -0
  163. package/dist/libs/login/src/Screen/components/SvgPytech.d.ts +4 -0
  164. package/dist/libs/login/src/Screen/components/SvgPytech.js +11 -0
  165. package/dist/libs/login/src/Screen/components/index.d.ts +4 -0
  166. package/dist/libs/login/src/Screen/components/index.js +4 -0
  167. package/dist/libs/login/src/Screen/index.d.ts +4 -0
  168. package/dist/libs/login/src/Screen/index.js +59 -0
  169. package/dist/libs/login/src/Screen/types.d.ts +14 -0
  170. package/dist/libs/login/src/Screen/types.js +1 -0
  171. package/dist/libs/login/src/constants.d.ts +98 -0
  172. package/dist/libs/login/src/constants.js +48 -0
  173. package/dist/libs/page/index.d.ts +1 -0
  174. package/dist/libs/page/index.js +1 -0
  175. package/dist/libs/page/src/components/Page/index.android.d.ts +4 -0
  176. package/dist/libs/page/src/components/Page/index.android.js +11 -0
  177. package/dist/libs/page/src/components/Page/index.d.ts +4 -0
  178. package/dist/libs/page/src/components/Page/index.js +7 -0
  179. package/dist/libs/page/src/components/PageWrapper/index.d.ts +6 -0
  180. package/dist/libs/page/src/components/PageWrapper/index.js +13 -0
  181. package/dist/libs/page/src/components/PageWrapper/types.d.ts +16 -0
  182. package/dist/libs/page/src/components/PageWrapper/types.js +1 -0
  183. package/dist/libs/page/src/components/Subtitle.d.ts +5 -0
  184. package/dist/libs/page/src/components/Subtitle.js +9 -0
  185. package/dist/libs/page/src/components/WithIcon/index.d.ts +3 -0
  186. package/dist/libs/page/src/components/WithIcon/index.js +47 -0
  187. package/dist/libs/page/src/components/WithIcon/types.d.ts +15 -0
  188. package/dist/libs/page/src/components/WithIcon/types.js +1 -0
  189. package/dist/libs/page/src/constants.d.ts +12 -0
  190. package/dist/libs/page/src/constants.js +12 -0
  191. package/dist/libs/providers/App/index.d.ts +10 -0
  192. package/dist/libs/providers/App/index.js +62 -0
  193. package/dist/libs/providers/App/types.d.ts +35 -0
  194. package/dist/libs/providers/App/types.js +1 -0
  195. package/dist/libs/providers/constants.d.ts +10 -0
  196. package/dist/libs/providers/constants.js +10 -0
  197. package/dist/libs/segmentedControl/index.d.ts +2 -0
  198. package/dist/libs/segmentedControl/index.js +2 -0
  199. package/dist/libs/segmentedControl/src/colors.d.ts +15 -0
  200. package/dist/libs/segmentedControl/src/colors.js +16 -0
  201. package/dist/libs/segmentedControl/src/components/AnimatedChip/index.d.ts +4 -0
  202. package/dist/libs/segmentedControl/src/components/AnimatedChip/index.js +79 -0
  203. package/dist/libs/segmentedControl/src/components/AnimatedChip/types.d.ts +28 -0
  204. package/dist/libs/segmentedControl/src/components/AnimatedChip/types.js +1 -0
  205. package/dist/libs/segmentedControl/src/components/Container/index.d.ts +4 -0
  206. package/dist/libs/segmentedControl/src/components/Container/index.ios.d.ts +4 -0
  207. package/dist/libs/segmentedControl/src/components/Container/index.ios.js +15 -0
  208. package/dist/libs/segmentedControl/src/components/Container/index.js +18 -0
  209. package/dist/libs/segmentedControl/src/components/Container/types.d.ts +16 -0
  210. package/dist/libs/segmentedControl/src/components/Container/types.js +1 -0
  211. package/dist/libs/segmentedControl/src/components/Item/index.d.ts +4 -0
  212. package/dist/libs/segmentedControl/src/components/Item/index.js +26 -0
  213. package/dist/libs/segmentedControl/src/components/Item/types.d.ts +20 -0
  214. package/dist/libs/segmentedControl/src/components/Item/types.js +1 -0
  215. package/dist/libs/segmentedControl/src/components/Segmented/index.d.ts +4 -0
  216. package/dist/libs/segmentedControl/src/components/Segmented/index.js +93 -0
  217. package/dist/libs/segmentedControl/src/components/Segmented/types.d.ts +12 -0
  218. package/dist/libs/segmentedControl/src/components/Segmented/types.js +1 -0
  219. package/dist/libs/segmentedControl/src/components/Wrapper/index.d.ts +4 -0
  220. package/dist/libs/segmentedControl/src/components/Wrapper/index.js +21 -0
  221. package/dist/libs/segmentedControl/src/components/Wrapper/types.d.ts +38 -0
  222. package/dist/libs/segmentedControl/src/components/Wrapper/types.js +1 -0
  223. package/dist/libs/segmentedControl/src/context/shared.d.ts +11 -0
  224. package/dist/libs/segmentedControl/src/context/shared.js +13 -0
  225. package/dist/libs/segmentedControl/src/utils.d.ts +10 -0
  226. package/dist/libs/segmentedControl/src/utils.js +29 -0
  227. package/dist/libs/sql/index.d.ts +4 -0
  228. package/dist/libs/sql/index.js +4 -0
  229. package/dist/libs/sql/src/init.d.ts +24 -0
  230. package/dist/libs/sql/src/init.js +31 -0
  231. package/dist/libs/sql/src/queryLocal.d.ts +6 -0
  232. package/dist/libs/sql/src/queryLocal.js +15 -0
  233. package/dist/libs/sql/src/utils.d.ts +11 -0
  234. package/dist/libs/sql/src/utils.js +56 -0
  235. package/dist/libs/supabase/index.d.ts +4 -0
  236. package/dist/libs/supabase/index.js +2 -0
  237. package/dist/libs/supabase/src/clients/admin/config.d.ts +2 -0
  238. package/dist/libs/supabase/src/clients/admin/config.js +18 -0
  239. package/dist/libs/supabase/src/clients/admin/index.d.ts +8 -0
  240. package/dist/libs/supabase/src/clients/admin/index.js +7 -0
  241. package/dist/libs/supabase/src/clients/admin/utils.d.ts +4 -0
  242. package/dist/libs/supabase/src/clients/admin/utils.js +5 -0
  243. package/dist/libs/supabase/src/clients/app/config.d.ts +3 -0
  244. package/dist/libs/supabase/src/clients/app/config.js +30 -0
  245. package/dist/libs/supabase/src/clients/app/index.d.ts +15 -0
  246. package/dist/libs/supabase/src/clients/app/index.js +7 -0
  247. package/dist/libs/supabase/src/clients/app/utils.d.ts +11 -0
  248. package/dist/libs/supabase/src/clients/app/utils.js +9 -0
  249. package/dist/libs/supabase/src/utils/index.d.ts +18 -0
  250. package/dist/libs/supabase/src/utils/index.js +21 -0
  251. package/dist/libs/supabase/src/utils/types.d.ts +20 -0
  252. package/dist/libs/supabase/src/utils/types.js +1 -0
  253. package/dist/libs/swiftui/index.d.ts +7 -0
  254. package/dist/libs/swiftui/index.js +7 -0
  255. package/dist/libs/swiftui/src/Icon.d.ts +10 -0
  256. package/dist/libs/swiftui/src/Icon.js +8 -0
  257. package/dist/libs/swiftui/src/IconSection/Icon.d.ts +27 -0
  258. package/dist/libs/swiftui/src/IconSection/Icon.js +31 -0
  259. package/dist/libs/swiftui/src/IconSection/Section.d.ts +7 -0
  260. package/dist/libs/swiftui/src/IconSection/Section.js +16 -0
  261. package/dist/libs/swiftui/src/IconSection/index.d.ts +7 -0
  262. package/dist/libs/swiftui/src/IconSection/index.js +5 -0
  263. package/dist/libs/swiftui/src/List/Editable/index.d.ts +5 -0
  264. package/dist/libs/swiftui/src/List/Editable/index.js +51 -0
  265. package/dist/libs/swiftui/src/List/Editable/types.d.ts +76 -0
  266. package/dist/libs/swiftui/src/List/Editable/types.js +1 -0
  267. package/dist/libs/swiftui/src/List/index.d.ts +16 -0
  268. package/dist/libs/swiftui/src/List/index.js +21 -0
  269. package/dist/libs/swiftui/src/NavigationLink/Trailing.d.ts +4 -0
  270. package/dist/libs/swiftui/src/NavigationLink/Trailing.js +14 -0
  271. package/dist/libs/swiftui/src/NavigationLink/index.d.ts +4 -0
  272. package/dist/libs/swiftui/src/NavigationLink/index.js +20 -0
  273. package/dist/libs/swiftui/src/NavigationLink/types.d.ts +27 -0
  274. package/dist/libs/swiftui/src/NavigationLink/types.js +1 -0
  275. package/dist/libs/swiftui/src/Picker.d.ts +11 -0
  276. package/dist/libs/swiftui/src/Picker.js +11 -0
  277. package/dist/libs/swiftui/src/Text.d.ts +6 -0
  278. package/dist/libs/swiftui/src/Text.js +7 -0
  279. package/dist/libs/swiftui/src/TextSubtitle.d.ts +22 -0
  280. package/dist/libs/swiftui/src/TextSubtitle.js +9 -0
  281. package/dist/libs/table/index.d.ts +5 -0
  282. package/dist/libs/table/index.js +5 -0
  283. package/dist/libs/table/src/components/Borders.d.ts +6 -0
  284. package/dist/libs/table/src/components/Borders.js +83 -0
  285. package/dist/libs/table/src/components/Delete/index.d.ts +4 -0
  286. package/dist/libs/table/src/components/Delete/index.js +141 -0
  287. package/dist/libs/table/src/components/Delete/types.d.ts +27 -0
  288. package/dist/libs/table/src/components/Delete/types.js +1 -0
  289. package/dist/libs/table/src/components/Detail.d.ts +4 -0
  290. package/dist/libs/table/src/components/Detail.js +11 -0
  291. package/dist/libs/table/src/components/Option/index.d.ts +6 -0
  292. package/dist/libs/table/src/components/Option/index.js +106 -0
  293. package/dist/libs/table/src/components/Option/types.d.ts +61 -0
  294. package/dist/libs/table/src/components/Option/types.js +1 -0
  295. package/dist/libs/table/src/components/OptionComponents/deleteIcon.d.ts +6 -0
  296. package/dist/libs/table/src/components/OptionComponents/deleteIcon.js +14 -0
  297. package/dist/libs/table/src/components/OptionComponents/dragIcon.d.ts +6 -0
  298. package/dist/libs/table/src/components/OptionComponents/dragIcon.js +18 -0
  299. package/dist/libs/table/src/components/OptionComponents/icon.d.ts +10 -0
  300. package/dist/libs/table/src/components/OptionComponents/icon.js +12 -0
  301. package/dist/libs/table/src/components/OptionComponents/image.d.ts +9 -0
  302. package/dist/libs/table/src/components/OptionComponents/image.js +12 -0
  303. package/dist/libs/table/src/components/OptionComponents/index.d.ts +8 -0
  304. package/dist/libs/table/src/components/OptionComponents/index.js +8 -0
  305. package/dist/libs/table/src/components/OptionComponents/text.d.ts +16 -0
  306. package/dist/libs/table/src/components/OptionComponents/text.js +20 -0
  307. package/dist/libs/table/src/components/OptionComponents/textInput.d.ts +25 -0
  308. package/dist/libs/table/src/components/OptionComponents/textInput.js +49 -0
  309. package/dist/libs/table/src/components/OptionComponents/textInputCurrency.d.ts +9 -0
  310. package/dist/libs/table/src/components/OptionComponents/textInputCurrency.js +17 -0
  311. package/dist/libs/table/src/components/OptionComponents/textView.d.ts +14 -0
  312. package/dist/libs/table/src/components/OptionComponents/textView.js +18 -0
  313. package/dist/libs/table/src/components/OptionWrapper/index.d.ts +3 -0
  314. package/dist/libs/table/src/components/OptionWrapper/index.js +9 -0
  315. package/dist/libs/table/src/components/OptionWrapper/types.d.ts +35 -0
  316. package/dist/libs/table/src/components/OptionWrapper/types.js +1 -0
  317. package/dist/libs/table/src/components/Table/index.d.ts +3 -0
  318. package/dist/libs/table/src/components/Table/index.js +90 -0
  319. package/dist/libs/table/src/components/Table/types.d.ts +70 -0
  320. package/dist/libs/table/src/components/Table/types.js +1 -0
  321. package/dist/libs/table/src/components/Wrapper.d.ts +4 -0
  322. package/dist/libs/table/src/components/Wrapper.js +49 -0
  323. package/dist/libs/table/src/constants.d.ts +108 -0
  324. package/dist/libs/table/src/constants.js +107 -0
  325. package/dist/libs/table/src/context/borders.d.ts +10 -0
  326. package/dist/libs/table/src/context/borders.js +11 -0
  327. package/dist/libs/table/src/context/delete.d.ts +1 -0
  328. package/dist/libs/table/src/context/delete.js +2 -0
  329. package/dist/libs/table/src/context/table.d.ts +21 -0
  330. package/dist/libs/table/src/context/table.js +4 -0
  331. package/package.json +73 -0
@@ -0,0 +1,93 @@
1
+ import React, { memo, useState, useRef, useCallback } from 'react';
2
+ import { View, StyleSheet, ScrollView } from 'react-native';
3
+ import { Easing, useSharedValue, withTiming, useDerivedValue } from 'react-native-reanimated';
4
+ import { useEffectWithoutFirstRender } from '../../../../../libs/constants/hooks';
5
+ import { useShared } from '../../context/shared';
6
+ import { scrollToIndex } from '../../utils';
7
+ import Container from '../Container';
8
+ import Item from '../Item';
9
+ import AnimatedChip from '../AnimatedChip';
10
+ const anim = {
11
+ duration: 400,
12
+ easing: Easing.bezier(0.2, 0.2, 0, 1)
13
+ };
14
+ export default memo(({ data, selectedIndex, setCurrentSelectedIndex, isScrollable = true, style, contentContainerStyle, ...itemProps }) => {
15
+ // ---------------- Variables ----------------
16
+ const { selectedIndexShared } = useShared();
17
+ const [equalWidths, setEqualWidths] = useState(false);
18
+ const widthsRef = useRef([]);
19
+ const scrollRef = useRef(null);
20
+ const scrollXRef = useRef(0);
21
+ const widthsShared = useSharedValue([]);
22
+ const widthContainerShared = useSharedValue(0);
23
+ // ---------------- useDerivedValue ----------------
24
+ const equalWidthsShared = useDerivedValue(() => {
25
+ if (!isScrollable)
26
+ return true;
27
+ const widthContainer = widthContainerShared.value;
28
+ const widths = widthsShared.value;
29
+ const sumWidths = widths.reduce((acc, width) => acc + width, 0);
30
+ return sumWidths <= widthContainer;
31
+ });
32
+ // ---------------- Functions ----------------
33
+ const onPress = useCallback((index) => {
34
+ selectedIndexShared.value = withTiming(index, anim);
35
+ setCurrentSelectedIndex(index);
36
+ if (!equalWidthsShared.value)
37
+ scrollToIndex({
38
+ widths: widthsShared.value,
39
+ scrollX: scrollXRef.current,
40
+ containerWidth: widthContainerShared.value,
41
+ scrollRef,
42
+ index
43
+ });
44
+ }, []);
45
+ const onLayoutItem = useCallback((index, e) => {
46
+ const width = e.nativeEvent.layout.width;
47
+ const newWidths = [...widthsRef.current];
48
+ newWidths[index] = width;
49
+ widthsRef.current = newWidths;
50
+ widthsShared.value = newWidths;
51
+ }, []);
52
+ // ---------------- Hooks ----------------
53
+ useEffectWithoutFirstRender(() => {
54
+ onPress(selectedIndex);
55
+ }, [selectedIndex]);
56
+ const content = (<>
57
+ <AnimatedChip isScrollable={isScrollable} onFinishedSelectedIndex={(index) => setCurrentSelectedIndex(index)} onChangeEqualWidths={(isEqualWidths) => setEqualWidths(isEqualWidths)} widthsShared={widthsShared} widthContainerShared={widthContainerShared}/>
58
+
59
+ {data.map((text, index) => (<Item key={index} text={text} onPress={() => onPress(index)} onLayout={(e) => onLayoutItem(index, e)} {...itemProps}/>))}
60
+ </>);
61
+ return (<Container style={style} onLayout={(e) => widthContainerShared.value = (e.nativeEvent.layout.width - 2 * 2)} // Restamos 4px de margin
62
+ >
63
+ {equalWidths || !isScrollable ? (<View style={[styles.view, contentContainerStyle]}>
64
+ {content}
65
+ </View>) : (<ScrollView ref={scrollRef} horizontal={true} showsHorizontalScrollIndicator={false} style={styles.scrollView} contentContainerStyle={[styles.contentContainer, contentContainerStyle]} scrollEventThrottle={16} onScroll={e => scrollXRef.current = e.nativeEvent.contentOffset.x}>
66
+ {content}
67
+ </ScrollView>)}
68
+ </Container>);
69
+ });
70
+ const styles = StyleSheet.create({
71
+ view: {
72
+ margin: 2,
73
+ flexDirection: 'row',
74
+ flex: 1,
75
+ flexGrow: 1
76
+ },
77
+ scrollView: {
78
+ margin: 2,
79
+ borderRadius: 999,
80
+ },
81
+ contentContainer: {
82
+ flexDirection: 'row',
83
+ },
84
+ containerSelected: {
85
+ position: 'absolute',
86
+ height: '100%',
87
+ },
88
+ selected: {
89
+ flex: 1,
90
+ backgroundColor: 'hsl(0, 0%, 96%)',
91
+ borderRadius: 999,
92
+ },
93
+ });
@@ -0,0 +1,12 @@
1
+ import type PropsWrapper from "../Wrapper/types";
2
+ type Props = Omit<PropsWrapper, 'onChange' | 'selectedIndex'> & {
3
+ /**
4
+ selectedIndex del componente.
5
+ */
6
+ selectedIndex: number;
7
+ /**
8
+ Actualiza el index seleccionado.
9
+ */
10
+ setCurrentSelectedIndex: (index: number) => void;
11
+ };
12
+ export default Props;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import Props from './types';
3
+ declare const _default: React.MemoExoticComponent<({ data, selectedIndex, onChange, ...props }: Props) => React.JSX.Element>;
4
+ export default _default;
@@ -0,0 +1,21 @@
1
+ import React, { memo, useState } from 'react';
2
+ import { useEffectWithoutFirstRender } from '../../../../../libs/constants/hooks';
3
+ import Segmented from '../Segmented';
4
+ import Provider, { useShared } from '../../context/shared';
5
+ import { getIndex } from '../../utils';
6
+ export default memo(({ data = [], selectedIndex = 0, onChange, ...props }) => {
7
+ const _selectedIndex = getIndex(selectedIndex);
8
+ // Creamos el state interno para activar el onChange
9
+ const [currentSelectedIndex, setCurrentSelectedIndex] = useState(_selectedIndex);
10
+ useEffectWithoutFirstRender(() => {
11
+ onChange?.({ index: currentSelectedIndex, item: data[currentSelectedIndex] });
12
+ }, [currentSelectedIndex]);
13
+ // Nos fijamos si ya está dentro del context.
14
+ const { selectedIndexShared } = useShared() ?? {};
15
+ const component = (<Segmented data={data} selectedIndex={_selectedIndex} setCurrentSelectedIndex={setCurrentSelectedIndex} {...props}/>);
16
+ if (!selectedIndexShared)
17
+ return (<Provider selectedIndex={_selectedIndex}>
18
+ {component}
19
+ </Provider>);
20
+ return component;
21
+ });
@@ -0,0 +1,38 @@
1
+ import { StyleProp, TextStyle, ViewStyle } from "react-native";
2
+ type Props = {
3
+ /**
4
+ contentContainerStyle de la ScrollView.
5
+ @default []
6
+ */
7
+ data: string[];
8
+ /**
9
+ Index del item seleccionado.
10
+ @default 0
11
+ */
12
+ selectedIndex?: number;
13
+ /**
14
+ Se ejecuta cuando hay un cambio en el index seleccionado.
15
+ */
16
+ onChange?: ({ index, item }: {
17
+ index: number;
18
+ item: string;
19
+ }) => void;
20
+ /**
21
+ Si es false, el componente no será scrollable.
22
+ @default true
23
+ */
24
+ isScrollable?: boolean;
25
+ /**
26
+ style del contenedor de la ScrollView.
27
+ */
28
+ style?: StyleProp<ViewStyle>;
29
+ /**
30
+ contentContainerStyle de la ScrollView.
31
+ */
32
+ contentContainerStyle?: StyleProp<ViewStyle>;
33
+ /**
34
+ style de los textos de los items.
35
+ */
36
+ textStyle?: StyleProp<TextStyle>;
37
+ };
38
+ export default Props;
@@ -0,0 +1,11 @@
1
+ import { type SharedValue } from "react-native-reanimated";
2
+ import React from "react";
3
+ export type ContextType = {
4
+ selectedIndexShared: SharedValue<number>;
5
+ };
6
+ export declare const useShared: () => ContextType;
7
+ declare const _default: React.MemoExoticComponent<({ children, selectedIndex }: {
8
+ children: React.ReactNode;
9
+ selectedIndex?: number;
10
+ }) => React.JSX.Element>;
11
+ export default _default;
@@ -0,0 +1,13 @@
1
+ import { useSharedValue } from "react-native-reanimated";
2
+ import React, { createContext, memo } from "react";
3
+ import { getIndex } from "../utils";
4
+ import { useContext } from "react";
5
+ const context = createContext(null);
6
+ export const useShared = () => useContext(context);
7
+ export default memo(({ children, selectedIndex = 0 }) => {
8
+ const _selectedIndex = getIndex(selectedIndex);
9
+ const selectedIndexShared = useSharedValue(_selectedIndex);
10
+ return (<context.Provider value={{ selectedIndexShared }}>
11
+ {children}
12
+ </context.Provider>);
13
+ });
@@ -0,0 +1,10 @@
1
+ import { RefObject } from "react";
2
+ import { ScrollView } from "react-native";
3
+ export declare const getIndex: (index?: number) => number;
4
+ export declare const scrollToIndex: ({ widths, scrollX, containerWidth, scrollRef, index }: {
5
+ widths: number[];
6
+ scrollX: number;
7
+ containerWidth: number;
8
+ scrollRef: RefObject<ScrollView | null>;
9
+ index: number;
10
+ }) => void;
@@ -0,0 +1,29 @@
1
+ export const getIndex = (index = 0) => Number.isInteger(index) ? index : Math.floor(index);
2
+ export const scrollToIndex = ({ widths, scrollX, containerWidth, scrollRef, index }) => {
3
+ if (!widths[index] || !containerWidth)
4
+ return;
5
+ const left = widths.slice(0, index).reduce((acc, w) => acc + (w || 0), 0);
6
+ const width = widths[index];
7
+ const prevWidth = widths[index - 1] || 0;
8
+ const nextWidth = widths[index + 1] || 0;
9
+ // Rango que queremos visible (prev + current + next)
10
+ const blockStart = left - prevWidth;
11
+ const blockEnd = left + width + nextWidth;
12
+ const visibleStart = scrollX;
13
+ const visibleEnd = scrollX + containerWidth;
14
+ let target = scrollX;
15
+ if (blockEnd > visibleEnd)
16
+ target = blockEnd - containerWidth; // Si el bloque se sale por la derecha
17
+ else if (blockStart < visibleStart)
18
+ target = blockStart; // Si el bloque se sale por la izquierda
19
+ else
20
+ return; // Si ya está todo visible, no hace nada
21
+ // Límites
22
+ const totalWidth = widths.reduce((a, w) => a + (w || 0), 0);
23
+ const maxScroll = Math.max(0, totalWidth - containerWidth);
24
+ target = Math.max(0, Math.min(target, maxScroll));
25
+ scrollRef.current?.scrollTo({
26
+ x: target,
27
+ animated: true
28
+ });
29
+ };
@@ -0,0 +1,4 @@
1
+ export { default } from './src/queryLocal';
2
+ export { default as dbRef } from './src/init';
3
+ export * from './src/init';
4
+ export { reset } from './src/utils';
@@ -0,0 +1,4 @@
1
+ export { default } from './src/queryLocal';
2
+ export { default as dbRef } from './src/init';
3
+ export * from './src/init';
4
+ export { reset } from './src/utils';
@@ -0,0 +1,24 @@
1
+ import * as SQLite from 'expo-sqlite';
2
+ declare const dbRef: {
3
+ current: SQLite.SQLiteDatabase | undefined;
4
+ };
5
+ export declare const init: ({ currentVersion, listQueriesTables, queryOnCreateTables, queryOnExists }: {
6
+ /**
7
+ Versión actual de la base de datos.
8
+ Se utiliza para reiniciarla a mano.
9
+ */
10
+ currentVersion: number;
11
+ /**
12
+ Listado de queries para crear las tablas.
13
+ */
14
+ listQueriesTables: string[];
15
+ /**
16
+ Cuando se crean las tablas, se ejecuta esta query.
17
+ */
18
+ queryOnCreateTables?: string;
19
+ /**
20
+ Si la base de datos ya existía (no la está creando), se ejecuta esta query.
21
+ */
22
+ queryOnExists?: string;
23
+ }) => Promise<boolean>;
24
+ export default dbRef;
@@ -0,0 +1,31 @@
1
+ import AsyncStorage from '@react-native-async-storage/async-storage';
2
+ import * as SQLite from 'expo-sqlite';
3
+ import { Platform } from 'react-native';
4
+ import { reset, _hasTables, _createTables, _executeSQL } from './utils';
5
+ const dbRef = {
6
+ current: undefined,
7
+ };
8
+ export const init = async ({ currentVersion, listQueriesTables, queryOnCreateTables, queryOnExists }) => {
9
+ // Se fija si tiene que reinicar la base de datos
10
+ const savedVersion = await AsyncStorage.getItem('DB_VERSION');
11
+ //if (savedVersion === null && Platform.OS === 'android') savedVersion = String(DB_VERSION)
12
+ console.log('version:', currentVersion);
13
+ console.log('AsyncStorage (DB_VERSION):', savedVersion);
14
+ if (savedVersion !== String(currentVersion))
15
+ await reset({ currentVersion });
16
+ // Inicia la base de datos
17
+ dbRef.current = await SQLite.openDatabaseAsync('app.db');
18
+ if (!await _hasTables()) {
19
+ const created = await _createTables({ listQueries: listQueriesTables, queryOnCreate: queryOnCreateTables });
20
+ if (!created)
21
+ return false;
22
+ }
23
+ else if (queryOnExists)
24
+ await _executeSQL({ query: queryOnExists });
25
+ // En la web se usa memoria temporal (RAM) para que la view_rutas funcione
26
+ if (Platform.OS === 'web')
27
+ await dbRef.current.execAsync('PRAGMA temp_store = MEMORY');
28
+ await dbRef.current.execAsync('PRAGMA journal_mode = WAL');
29
+ return true;
30
+ };
31
+ export default dbRef;
@@ -0,0 +1,6 @@
1
+ declare const queryLocal: ({ query, params, onlyExecute }: {
2
+ query: string;
3
+ params?: any[];
4
+ onlyExecute?: boolean;
5
+ }) => Promise<any[]>;
6
+ export default queryLocal;
@@ -0,0 +1,15 @@
1
+ import dbRef from './init';
2
+ const queryLocal = async ({ query, params = [], onlyExecute = false }) => {
3
+ if (!dbRef.current)
4
+ throw new Error('Database not initialized');
5
+ try {
6
+ if (!onlyExecute)
7
+ return await (dbRef.current.getAllAsync(query, params));
8
+ await dbRef.current.execAsync(query);
9
+ }
10
+ catch (e) {
11
+ console.error('Error queryLocal:', e, query.slice(0, 100), params);
12
+ }
13
+ return [];
14
+ };
15
+ export default queryLocal;
@@ -0,0 +1,11 @@
1
+ export declare const reset: ({ currentVersion }: {
2
+ currentVersion?: number;
3
+ }) => Promise<void>;
4
+ export declare const _hasTables: () => Promise<boolean>;
5
+ export declare const _createTables: ({ listQueries, queryOnCreate }: {
6
+ listQueries: string[];
7
+ queryOnCreate?: string;
8
+ }) => Promise<boolean>;
9
+ export declare const _executeSQL: ({ query }: {
10
+ query: string;
11
+ }) => Promise<void>;
@@ -0,0 +1,56 @@
1
+ import AsyncStorage from '@react-native-async-storage/async-storage';
2
+ import * as SQLite from 'expo-sqlite';
3
+ import dbRef from './init';
4
+ export const reset = async ({ currentVersion }) => {
5
+ console.log('Reiniciando base de datos...');
6
+ try {
7
+ await SQLite.deleteDatabaseAsync('app.db');
8
+ }
9
+ catch (e) {
10
+ if (e.message.includes('currently open')) {
11
+ dbRef.current = await SQLite.openDatabaseAsync('app.db');
12
+ await dbRef.current.closeAsync();
13
+ dbRef.current.closeSync();
14
+ await SQLite.deleteDatabaseAsync('app.db');
15
+ }
16
+ else
17
+ console.error('Error eliminando base de datos:', e);
18
+ }
19
+ if (currentVersion)
20
+ await AsyncStorage.setItem('DB_VERSION', String(currentVersion));
21
+ };
22
+ export const _hasTables = async () => {
23
+ try {
24
+ const listTables = await dbRef.current.getAllAsync("SELECT name FROM sqlite_master WHERE type='table'");
25
+ return listTables.length > 0;
26
+ }
27
+ catch (e) {
28
+ console.error('Error verificando DB:', e);
29
+ return false;
30
+ }
31
+ };
32
+ export const _createTables = async ({ listQueries, queryOnCreate }) => {
33
+ console.log('Creando tablas...');
34
+ for (const query of listQueries) {
35
+ // Ejecuta
36
+ try {
37
+ await _executeSQL({ query });
38
+ }
39
+ catch (e) {
40
+ console.error('Error creando tablas:', e);
41
+ await AsyncStorage.removeItem('DB_VERSION');
42
+ return false;
43
+ }
44
+ }
45
+ if (queryOnCreate)
46
+ await _executeSQL({ query: queryOnCreate });
47
+ return true;
48
+ };
49
+ export const _executeSQL = async ({ query }) => {
50
+ const splitStr = query.includes('END;') ? 'END;' : ';';
51
+ const statements = query.split(splitStr).map(s => s.trim()).filter(Boolean);
52
+ for (const statement of statements) {
53
+ const query = `${statement}\n${splitStr}`;
54
+ await dbRef.current.execAsync(query);
55
+ }
56
+ };
@@ -0,0 +1,4 @@
1
+ export { default } from './src/clients/app';
2
+ export type { SupabaseApp } from './src/clients/app';
3
+ export { default as supabaseAdmin } from './src/clients/admin';
4
+ export type { SupabaseAdmin } from './src/clients/admin';
@@ -0,0 +1,2 @@
1
+ export { default } from './src/clients/app';
2
+ export { default as supabaseAdmin } from './src/clients/admin';
@@ -0,0 +1,2 @@
1
+ declare const supabase: import("@supabase/supabase-js").SupabaseClient<any, "public", "public", any, any>;
2
+ export default supabase;
@@ -0,0 +1,18 @@
1
+ import { expoEnv } from '../../../../../libs/constants/consts';
2
+ import * as utils from '../../utils';
3
+ const { SUPABASE_URL, SUPABASE_SERVICE_ROLE_KEY } = expoEnv;
4
+ if (!SUPABASE_URL)
5
+ throw new Error('SUPABASE_URL is not set');
6
+ if (!SUPABASE_SERVICE_ROLE_KEY)
7
+ throw new Error('SUPABASE_SERVICE_ROLE_KEY is not set');
8
+ const supabase = utils.createClient({
9
+ url: SUPABASE_URL,
10
+ key: SUPABASE_SERVICE_ROLE_KEY,
11
+ options: {
12
+ auth: {
13
+ autoRefreshToken: false,
14
+ persistSession: true,
15
+ }
16
+ }
17
+ });
18
+ export default supabase;
@@ -0,0 +1,8 @@
1
+ declare const supabase: {
2
+ getUserById: (uid: string) => Promise<import("@supabase/auth-js").UserResponse>;
3
+ updateUser: (uid: string, attributes: import("../../utils/types").UpdateUserParams["attributes"]) => Promise<import("@supabase/auth-js").UserResponse>;
4
+ deleteUser: (uid: string) => Promise<import("@supabase/auth-js").UserResponse>;
5
+ client: import("@supabase/supabase-js").SupabaseClient<any, "public", "public", any, any>;
6
+ };
7
+ export default supabase;
8
+ export type SupabaseAdmin = typeof supabase;
@@ -0,0 +1,7 @@
1
+ import client from './config';
2
+ import * as utils from './utils';
3
+ const supabase = {
4
+ client,
5
+ ...utils,
6
+ };
7
+ export default supabase;
@@ -0,0 +1,4 @@
1
+ import * as utils from '../../utils';
2
+ export declare const getUserById: (uid: string) => Promise<import("@supabase/auth-js").UserResponse>;
3
+ export declare const updateUser: (uid: string, attributes: utils.types.UpdateUserParams["attributes"]) => Promise<import("@supabase/auth-js").UserResponse>;
4
+ export declare const deleteUser: (uid: string) => Promise<import("@supabase/auth-js").UserResponse>;
@@ -0,0 +1,5 @@
1
+ import supabase from './config';
2
+ import * as utils from '../../utils';
3
+ export const getUserById = async (uid) => (await utils.getUserById(supabase, { uid }));
4
+ export const updateUser = async (uid, attributes) => (await utils.updateUser(supabase, { uid, attributes }));
5
+ export const deleteUser = async (uid) => (await utils.deleteUser(supabase, { uid }));
@@ -0,0 +1,3 @@
1
+ import 'react-native-url-polyfill/auto';
2
+ declare const supabase: import("@supabase/supabase-js").SupabaseClient<any, "public", "public", any, any>;
3
+ export default supabase;
@@ -0,0 +1,30 @@
1
+ import { expoEnv } from '../../../../../libs/constants/consts';
2
+ import * as utils from '../../utils';
3
+ import { Platform } from 'react-native';
4
+ import 'react-native-url-polyfill/auto';
5
+ import { Buffer } from 'buffer';
6
+ global.Buffer = global.Buffer ?? Buffer;
7
+ // AsyncStorage
8
+ const isWeb = Platform.OS === 'web';
9
+ const asyncStorage = !isWeb
10
+ ? require('@react-native-async-storage/async-storage')?.default
11
+ : undefined;
12
+ // Configuración
13
+ const { SUPABASE_URL, SUPABASE_KEY } = expoEnv;
14
+ if (!SUPABASE_URL)
15
+ throw new Error('SUPABASE_URL is not set');
16
+ if (!SUPABASE_KEY)
17
+ throw new Error('SUPABASE_KEY is not set');
18
+ const supabase = utils.createClient({
19
+ url: SUPABASE_URL,
20
+ key: SUPABASE_KEY,
21
+ options: {
22
+ auth: {
23
+ autoRefreshToken: false,
24
+ persistSession: true,
25
+ detectSessionInUrl: false,
26
+ storage: asyncStorage
27
+ }
28
+ }
29
+ });
30
+ export default supabase;
@@ -0,0 +1,15 @@
1
+ declare const supabase: {
2
+ logIn: ({ email, password }?: {
3
+ email?: string;
4
+ password?: string;
5
+ }) => Promise<import("@supabase/auth-js").AuthTokenResponsePassword>;
6
+ logOut: () => Promise<{
7
+ error: import("@supabase/auth-js").AuthError | null;
8
+ }>;
9
+ getUser: () => Promise<import("@supabase/auth-js").User>;
10
+ execFunction: (params: import("../../utils/types").ExecFunctionParams) => Promise<any>;
11
+ signUp: (params: import("../../utils/types").SignUpParams) => Promise<import("@supabase/auth-js").AuthResponse>;
12
+ client: import("@supabase/supabase-js").SupabaseClient<any, "public", "public", any, any>;
13
+ };
14
+ export default supabase;
15
+ export type SupabaseApp = typeof supabase;
@@ -0,0 +1,7 @@
1
+ import client from './config';
2
+ import * as utils from './utils';
3
+ const supabase = {
4
+ client,
5
+ ...utils,
6
+ };
7
+ export default supabase;
@@ -0,0 +1,11 @@
1
+ import * as utils from '../../utils';
2
+ export declare const logIn: ({ email, password }?: {
3
+ email?: string;
4
+ password?: string;
5
+ }) => Promise<import("@supabase/auth-js").AuthTokenResponsePassword>;
6
+ export declare const logOut: () => Promise<{
7
+ error: import("@supabase/auth-js").AuthError | null;
8
+ }>;
9
+ export declare const getUser: () => Promise<import("@supabase/auth-js").User>;
10
+ export declare const execFunction: (params: utils.types.ExecFunctionParams) => Promise<any>;
11
+ export declare const signUp: (params: utils.types.SignUpParams) => Promise<import("@supabase/auth-js").AuthResponse>;
@@ -0,0 +1,9 @@
1
+ import supabase from './config';
2
+ import * as utils from '../../utils';
3
+ import { expoEnv } from '../../../../../libs/constants/consts';
4
+ const { SUPABASE_USERNAME_LOGIN, SUPABASE_PASSWORD_LOGIN } = expoEnv;
5
+ export const logIn = async ({ email = SUPABASE_USERNAME_LOGIN, password = SUPABASE_PASSWORD_LOGIN } = {}) => (await utils.logIn(supabase, { email, password }));
6
+ export const logOut = async () => await utils.logOut(supabase);
7
+ export const getUser = async () => await utils.getUser(supabase);
8
+ export const execFunction = async (params) => (await utils.execFunction(supabase, params));
9
+ export const signUp = async (params) => (await utils.signUp(supabase, params));
@@ -0,0 +1,18 @@
1
+ import { SupabaseClient } from '@supabase/supabase-js';
2
+ import type { CreateClientParams, SignUpParams, ExecFunctionParams, LogInParams, UpdateUserParams } from './types';
3
+ export * as types from './types';
4
+ export declare const logIn: (supabase: SupabaseClient, params: LogInParams) => Promise<import("@supabase/auth-js").AuthTokenResponsePassword>;
5
+ export declare const logOut: (supabase: SupabaseClient) => Promise<{
6
+ error: import("@supabase/auth-js").AuthError | null;
7
+ }>;
8
+ export declare const getUser: (supabase: SupabaseClient) => Promise<import("@supabase/auth-js").User>;
9
+ export declare const createClient: ({ url, key, options }: CreateClientParams) => SupabaseClient<any, "public", "public", any, any>;
10
+ export declare const execFunction: (supabase: SupabaseClient, { schema, name, args }: ExecFunctionParams) => Promise<any | null>;
11
+ export declare const getUserById: (supabase: SupabaseClient, { uid }: {
12
+ uid: string;
13
+ }) => Promise<import("@supabase/auth-js").UserResponse>;
14
+ export declare const updateUser: (supabase: SupabaseClient, { uid, attributes }: UpdateUserParams) => Promise<import("@supabase/auth-js").UserResponse>;
15
+ export declare const deleteUser: (supabase: SupabaseClient, { uid }: {
16
+ uid: string;
17
+ }) => Promise<import("@supabase/auth-js").UserResponse>;
18
+ export declare const signUp: (supabase: SupabaseClient, credentials: SignUpParams) => Promise<import("@supabase/auth-js").AuthResponse>;
@@ -0,0 +1,21 @@
1
+ import { createClient as createSupabaseClient } from '@supabase/supabase-js';
2
+ export * as types from './types';
3
+ export const logIn = async (supabase, params) => (await supabase.auth.signInWithPassword(params));
4
+ export const logOut = async (supabase) => (await supabase.auth.signOut());
5
+ export const getUser = async (supabase) => {
6
+ const { data } = await supabase.auth.getSession();
7
+ return data?.session?.user;
8
+ };
9
+ export const createClient = ({ url, key, options }) => (createSupabaseClient(url, key, options));
10
+ export const execFunction = async (supabase, { schema = 'app', name, args }) => {
11
+ const { data, error } = await supabase.schema(schema).rpc(name, args);
12
+ if (error) {
13
+ console.error(name, error);
14
+ return null;
15
+ }
16
+ return data;
17
+ };
18
+ export const getUserById = async (supabase, { uid }) => (await supabase.auth.admin.getUserById(uid));
19
+ export const updateUser = async (supabase, { uid, attributes }) => (await supabase.auth.admin.updateUserById(uid, attributes));
20
+ export const deleteUser = async (supabase, { uid }) => (await supabase.auth.admin.deleteUser(uid));
21
+ export const signUp = async (supabase, credentials) => (await supabase.auth.signUp(credentials));
@@ -0,0 +1,20 @@
1
+ import { AdminUserAttributes, SignUpWithPasswordCredentials, SupabaseClientOptions } from '@supabase/supabase-js';
2
+ export type LogInParams = {
3
+ email: string;
4
+ password: string;
5
+ };
6
+ export type CreateClientParams = {
7
+ url: string;
8
+ key: string;
9
+ options?: SupabaseClientOptions<'public'>;
10
+ };
11
+ export type ExecFunctionParams = {
12
+ schema?: string;
13
+ name: string;
14
+ args?: Record<string, any>;
15
+ };
16
+ export type UpdateUserParams = {
17
+ uid: string;
18
+ attributes: AdminUserAttributes;
19
+ };
20
+ export type SignUpParams = SignUpWithPasswordCredentials;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ export { default as NavigationLink } from './src/NavigationLink';
2
+ export { default as Icon } from './src/Icon';
3
+ export { default as IconSection } from './src/IconSection';
4
+ export { default as List } from './src/List';
5
+ export { default as Text } from './src/Text';
6
+ export { default as Picker } from './src/Picker';
7
+ export { default as TextSubtitle } from './src/TextSubtitle';