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 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ export declare const Provider: import("react").Provider<{
2
+ selected?: string;
3
+ onSelectionChange?: (selection: string) => void;
4
+ } | null>, usePage: () => {
5
+ selected?: string;
6
+ onSelectionChange?: (selection: string) => void;
7
+ };
@@ -0,0 +1,2 @@
1
+ import Utils from '../../../../libs/constants/utils';
2
+ export const [Provider, usePage] = Utils.createCtx();
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import { ColorSchemeType } from "../constants";
3
+ import type Props from './types';
4
+ declare const useApp: () => {
5
+ colorScheme: ColorSchemeType;
6
+ fontScale: number;
7
+ };
8
+ export { useApp };
9
+ declare const _default: React.MemoExoticComponent<({ listStackNames, getBackgroundColor, getSession, renderItemLoading, onLoadingRealsed, }: Props) => React.JSX.Element>;
10
+ export default _default;
@@ -0,0 +1,58 @@
1
+ import React, { memo, useMemo, useState, useRef } from "react";
2
+ import { Stack, useRouter } from "expo-router";
3
+ import { useColorScheme, useWindowDimensions, View, StyleSheet } from "react-native";
4
+ import { SafeAreaProvider } from 'react-native-safe-area-context';
5
+ import { DarkTheme, DefaultTheme, ThemeProvider } from 'expo-router';
6
+ import Utils from "../../../libs/constants/utils";
7
+ import LoginSvg from '../../assets/images/login_letras.svg';
8
+ import LoginSvgDark from '../../assets/images/login_letras_dark.svg';
9
+ import Hooks from '../../../libs/constants/hooks';
10
+ import colors from "../constants";
11
+ const [Provider, useApp] = Utils.createCtx();
12
+ export { useApp };
13
+ export default memo(({ listStackNames = [], getBackgroundColor, getSession, renderItemLoading = ({ colorScheme }) => (colorScheme === 'dark' ?
14
+ <LoginSvgDark width={200} height={200}/>
15
+ :
16
+ <LoginSvg width={200} height={200}/>), onLoadingRealsed, }) => {
17
+ // -------------- Variables --------------
18
+ const colorScheme = useColorScheme();
19
+ const Theme = colors[colorScheme];
20
+ const { fontScale } = useWindowDimensions();
21
+ const router = useRouter();
22
+ const [isLoading, setIsLoading] = useState(true);
23
+ const hasSessionRef = useRef(false);
24
+ // -------------- Effects --------------
25
+ Hooks.useEffectWithoutFirstRender(() => {
26
+ if (!isLoading)
27
+ onLoadingRealsed?.({ router, hasSession: hasSessionRef.current });
28
+ }, [isLoading]);
29
+ Hooks.useAsyncEffect(async (isMounted) => {
30
+ hasSessionRef.current = (await getSession?.()) ?? true;
31
+ if (!isMounted)
32
+ return;
33
+ setIsLoading(false);
34
+ }, []);
35
+ // -------------- Return --------------
36
+ const value = useMemo(() => ({ colorScheme: colorScheme, fontScale: fontScale }), [colorScheme, fontScale]);
37
+ if (isLoading) {
38
+ return (<View style={[styles.container, { backgroundColor: getBackgroundColor?.({ colorScheme }) || Theme.backgroundColor }]}>
39
+ {renderItemLoading({ colorScheme })}
40
+ </View>);
41
+ }
42
+ return (<SafeAreaProvider>
43
+ <ThemeProvider value={colorScheme === 'dark' ? DarkTheme : DefaultTheme}>
44
+ <Provider value={value}>
45
+ <Stack screenOptions={{ headerShown: false }}>
46
+ {listStackNames?.map((name) => (<Stack.Screen key={name} name={name}/>))}
47
+ </Stack>
48
+ </Provider>
49
+ </ThemeProvider>
50
+ </SafeAreaProvider>);
51
+ });
52
+ const styles = StyleSheet.create({
53
+ container: {
54
+ flex: 1,
55
+ alignItems: 'center',
56
+ justifyContent: 'center',
57
+ }
58
+ });
@@ -0,0 +1,35 @@
1
+ import { ColorSchemeType } from "../../../libs/constants/colors";
2
+ import { ImperativeRouter } from "expo-router";
3
+ type Props = {
4
+ /**
5
+ Lista de nombres de los Stacks que se deben renderizar.
6
+ */
7
+ listStackNames?: string[];
8
+ /**
9
+ Función para obtener el color de fondo de las paginas por defecto.
10
+ */
11
+ getBackgroundColor?: ({ colorScheme }: {
12
+ colorScheme: ColorSchemeType;
13
+ }) => string;
14
+ /**
15
+ Función para inicializar la sesión.
16
+ @default true
17
+ */
18
+ getSession?: () => Promise<boolean>;
19
+ /**
20
+ Función para renderizar el item cuando está cargando.
21
+ @default LoginSvg (white | black)
22
+ */
23
+ renderItemLoading?: ({ colorScheme }: {
24
+ colorScheme: ColorSchemeType;
25
+ }) => React.ReactNode;
26
+ /**
27
+ Función para ejecutar cuando se realice el cambio de estado de loading a false.
28
+ Se utiliza para redirigir a la página de inicio.
29
+ */
30
+ onLoadingRealsed?: ({ router, hasSession }: {
31
+ router: ImperativeRouter;
32
+ hasSession: boolean;
33
+ }) => void;
34
+ };
35
+ export default Props;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ declare const colors: {
2
+ light: {
3
+ backgroundColor: string;
4
+ };
5
+ dark: {
6
+ backgroundColor: string;
7
+ };
8
+ };
9
+ export { type ColorSchemeType } from "../../libs/constants/colors";
10
+ export default colors;
@@ -0,0 +1,10 @@
1
+ import colorsLib from "../../libs/constants/colors";
2
+ const colors = {
3
+ light: {
4
+ backgroundColor: colorsLib.light.backgroundColor3,
5
+ },
6
+ dark: {
7
+ backgroundColor: colorsLib.dark.backgroundColor3,
8
+ }
9
+ };
10
+ export default colors;
@@ -0,0 +1,2 @@
1
+ export { default } from "./src/components/Wrapper";
2
+ export { default as Provider, useShared } from "./src/context/shared";
@@ -0,0 +1,2 @@
1
+ export { default } from "./src/components/Wrapper";
2
+ export { default as Provider, useShared } from "./src/context/shared";
@@ -0,0 +1,15 @@
1
+ export declare const colors: {
2
+ light: {
3
+ text: string;
4
+ text2: string;
5
+ background: string;
6
+ chip: string;
7
+ };
8
+ dark: {
9
+ text: string;
10
+ text2: string;
11
+ background: string;
12
+ chip: string;
13
+ };
14
+ };
15
+ export default colors;
@@ -0,0 +1,16 @@
1
+ import colorsLib from "../../../libs/constants/colors";
2
+ export const colors = {
3
+ light: {
4
+ text: colorsLib.light.text,
5
+ text2: colorsLib.light.text2Libretas,
6
+ background: colorsLib.light.backgroundColor,
7
+ chip: 'hsl(0, 0%, 93%)',
8
+ },
9
+ dark: {
10
+ text: colorsLib.dark.text,
11
+ text2: colorsLib.dark.text2Libretas,
12
+ background: colorsLib.dark.backgroundColor2,
13
+ chip: 'hsl(0, 0%, 23%)',
14
+ }
15
+ };
16
+ export default colors;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import Props from './types';
3
+ declare const _default: React.MemoExoticComponent<({ isScrollable, onFinishedSelectedIndex, onChangeEqualWidths, widthsShared, widthContainerShared }: Props) => React.JSX.Element>;
4
+ export default _default;
@@ -0,0 +1,79 @@
1
+ import React, { memo } from 'react';
2
+ import { View, StyleSheet } from 'react-native';
3
+ import Animated, { interpolate, useAnimatedStyle, useDerivedValue, useAnimatedReaction } from 'react-native-reanimated';
4
+ import { scheduleOnRN } from 'react-native-worklets';
5
+ import { useApp } from '../../../../../libs/providers/App';
6
+ import { useShared } from '../../context/shared';
7
+ import colors from '../../colors';
8
+ export default memo(({ isScrollable, onFinishedSelectedIndex, onChangeEqualWidths, widthsShared, widthContainerShared }) => {
9
+ // ---------------- Variables ----------------
10
+ const { colorScheme } = useApp();
11
+ const Theme = colors[colorScheme];
12
+ const { selectedIndexShared } = useShared();
13
+ // ---------------- useDerivedValue ----------------
14
+ const equalWidthsShared = useDerivedValue(() => {
15
+ if (!isScrollable)
16
+ return true;
17
+ const widthContainer = widthContainerShared.value;
18
+ const widths = widthsShared.value;
19
+ const sumWidths = widths.reduce((acc, width) => acc + width, 0);
20
+ return sumWidths <= widthContainer;
21
+ });
22
+ const idxInferiorShared = useDerivedValue(() => Math.floor(selectedIndexShared.value));
23
+ const idxSuperiorShared = useDerivedValue(() => Math.ceil(selectedIndexShared.value));
24
+ const leftChipShared = useDerivedValue(() => {
25
+ const widths = widthsShared.value;
26
+ const inferior = idxInferiorShared.value;
27
+ const superior = idxSuperiorShared.value;
28
+ // Los widths son iguales
29
+ if (equalWidthsShared.value) {
30
+ const width = widthContainerShared.value / widths.length;
31
+ const newLeft = interpolate(selectedIndexShared.value, [inferior, superior], [inferior * width, superior * width]);
32
+ return newLeft;
33
+ }
34
+ // Varian los widths
35
+ const leftInferior = widths.slice(0, inferior).reduce((acc, width) => acc + (width || 0), 0);
36
+ const leftSuperior = widths.slice(0, superior).reduce((acc, width) => acc + (width || 0), 0);
37
+ const newLeft = interpolate(selectedIndexShared.value, [inferior, superior], [leftInferior, leftSuperior]);
38
+ return newLeft;
39
+ });
40
+ const widthChipShared = useDerivedValue(() => {
41
+ const widths = widthsShared.value;
42
+ if (equalWidthsShared.value)
43
+ return widthContainerShared.value / widths.length;
44
+ const inferior = idxInferiorShared.value;
45
+ const superior = idxSuperiorShared.value;
46
+ const widthInferior = widths[inferior] || 0;
47
+ const widthSuperior = widths[superior] || 0;
48
+ const newWidth = interpolate(selectedIndexShared.value, [inferior, superior], [widthInferior, widthSuperior]);
49
+ return newWidth;
50
+ });
51
+ // ---------------- useAnimatedReaction ----------------
52
+ useAnimatedReaction(() => selectedIndexShared.value, (value, prev) => {
53
+ if (prev === value)
54
+ return;
55
+ const hasFinished = Number.isInteger(value);
56
+ if (hasFinished && onFinishedSelectedIndex)
57
+ scheduleOnRN(onFinishedSelectedIndex, value);
58
+ });
59
+ useAnimatedReaction(() => equalWidthsShared.value, (value) => {
60
+ onChangeEqualWidths && scheduleOnRN(onChangeEqualWidths, value);
61
+ });
62
+ // ---------------- useAnimatedStyle ----------------
63
+ const animatedStyle = useAnimatedStyle(() => {
64
+ return { width: widthChipShared.value, left: leftChipShared.value };
65
+ });
66
+ return (<Animated.View style={[styles.container, animatedStyle]}>
67
+ <View style={[styles.chip, { backgroundColor: Theme.chip }]}/>
68
+ </Animated.View>);
69
+ });
70
+ const styles = StyleSheet.create({
71
+ container: {
72
+ position: 'absolute',
73
+ height: '100%',
74
+ },
75
+ chip: {
76
+ flex: 1,
77
+ borderRadius: 999,
78
+ },
79
+ });
@@ -0,0 +1,28 @@
1
+ import type { SharedValue } from "react-native-reanimated";
2
+ type Props = {
3
+ /**
4
+ Para ver el ancho del chip.
5
+ */
6
+ isScrollable: boolean;
7
+ /**
8
+ Se ejecuta cuando el index seleccionado ha terminado de animar (selectedIndexShared).
9
+ Está dentro de un useAnimatedReaction. Se ejecuta con scheduleOnRN.
10
+ */
11
+ onFinishedSelectedIndex?: (index: number) => void;
12
+ /**
13
+ Se ejecuta cuando cambia el valor de equalWidthsShared.
14
+ Está dentro de un useAnimatedReaction. Se ejecuta con scheduleOnRN.
15
+ */
16
+ onChangeEqualWidths?: (equalWidths: boolean) => void;
17
+ /**
18
+ Usado en el cálculo de equalWidthsShared, leftChipShared, widthChipShared.
19
+ Se utiliza dentro de useDerivedValue.
20
+ */
21
+ widthsShared: SharedValue<number[]>;
22
+ /**
23
+ Usado en el cálculo de equalWidthsShared, leftChipShared, widthChipShared.
24
+ Se utiliza dentro de useDerivedValue.
25
+ */
26
+ widthContainerShared: SharedValue<number>;
27
+ };
28
+ export default Props;
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import Props from './types';
3
+ declare const _default: React.MemoExoticComponent<({ children, onLayout, style }: Props) => React.JSX.Element>;
4
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import Props from './types';
3
+ declare const _default: React.MemoExoticComponent<({ children, onLayout, style }: Props) => React.JSX.Element>;
4
+ export default _default;
@@ -0,0 +1,15 @@
1
+ import { GlassView } from "expo-glass-effect";
2
+ import React, { memo } from "react";
3
+ import { StyleSheet } from "react-native";
4
+ export default memo(({ children, onLayout, style }) => {
5
+ return (<GlassView glassEffectStyle={'clear'} style={[styles.container, style]} onLayout={onLayout}>
6
+ {children}
7
+ </GlassView>);
8
+ });
9
+ const styles = StyleSheet.create({
10
+ container: {
11
+ borderRadius: 999,
12
+ minHeight: 32,
13
+ overflow: 'hidden',
14
+ }
15
+ });
@@ -0,0 +1,18 @@
1
+ import React, { memo } from "react";
2
+ import { View, StyleSheet } from "react-native";
3
+ import { useApp } from "../../../../../libs/providers/App";
4
+ import colors from "../../colors";
5
+ export default memo(({ children, onLayout, style }) => {
6
+ const { colorScheme } = useApp();
7
+ const Theme = colors[colorScheme];
8
+ return (<View style={[styles.container, { backgroundColor: Theme.background }, style]} onLayout={onLayout}>
9
+ {children}
10
+ </View>);
11
+ });
12
+ const styles = StyleSheet.create({
13
+ container: {
14
+ borderRadius: 999,
15
+ minHeight: 32,
16
+ overflow: 'hidden',
17
+ }
18
+ });
@@ -0,0 +1,16 @@
1
+ import { LayoutChangeEvent, StyleProp, ViewStyle } from "react-native";
2
+ type Props = {
3
+ /**
4
+ Children del componente.
5
+ */
6
+ children: React.ReactNode;
7
+ /**
8
+ Función para obtener el ancho del contenedor.
9
+ */
10
+ onLayout: (event: LayoutChangeEvent) => void;
11
+ /**
12
+ Style del contenedor.
13
+ */
14
+ style?: StyleProp<ViewStyle>;
15
+ };
16
+ export default Props;
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import type Props from "./types";
3
+ declare const _default: React.MemoExoticComponent<({ text, onPress, onLayout, textStyle, }: Props) => React.JSX.Element>;
4
+ export default _default;
@@ -0,0 +1,26 @@
1
+ import React, { memo } from "react";
2
+ import { Pressable, StyleSheet, Text } from "react-native";
3
+ import { useApp } from "../../../../../libs/providers/App";
4
+ import colors from "../../colors";
5
+ export default memo(({ text, onPress, onLayout, textStyle, }) => {
6
+ const { colorScheme } = useApp();
7
+ const Theme = colors[colorScheme];
8
+ return (<Pressable style={styles.pressable} onPress={onPress} onLayout={onLayout}>
9
+ <Text numberOfLines={1} style={[styles.text, { color: Theme.text }, textStyle]}>
10
+ {text}
11
+ </Text>
12
+ </Pressable>);
13
+ });
14
+ const styles = StyleSheet.create({
15
+ pressable: {
16
+ flex: 1,
17
+ alignItems: 'center',
18
+ justifyContent: 'center',
19
+ paddingHorizontal: 15,
20
+ overflow: 'hidden',
21
+ },
22
+ text: {
23
+ fontSize: 13,
24
+ fontWeight: '600',
25
+ }
26
+ });
@@ -0,0 +1,20 @@
1
+ import { LayoutChangeEvent, StyleProp, TextStyle } from "react-native";
2
+ type Props = {
3
+ /**
4
+ Texto del item.
5
+ */
6
+ text: string;
7
+ /**
8
+ onPress del Pressable.
9
+ */
10
+ onPress: () => void;
11
+ /**
12
+ onLayout del Pressable.
13
+ */
14
+ onLayout: (event: LayoutChangeEvent) => void;
15
+ /**
16
+ style del texto.
17
+ */
18
+ textStyle?: StyleProp<TextStyle>;
19
+ };
20
+ 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, setCurrentSelectedIndex, isScrollable, style, contentContainerStyle, ...itemProps }: Props) => React.JSX.Element>;
4
+ export default _default;
@@ -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 Hooks 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
+ Hooks.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 Hooks 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
+ Hooks.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 | null;
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
+ });