@chem-po/react-native 0.0.8 → 0.0.10

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 (355) hide show
  1. package/lib/commonjs/components/box/Center.js +4 -3
  2. package/lib/commonjs/components/box/Center.js.map +1 -1
  3. package/lib/commonjs/components/box/CollapseHorizontal.js +3 -2
  4. package/lib/commonjs/components/box/CollapseHorizontal.js.map +1 -1
  5. package/lib/commonjs/components/box/ContentBox.js +3 -2
  6. package/lib/commonjs/components/box/ContentBox.js.map +1 -1
  7. package/lib/commonjs/components/box/DropShadow.js +3 -1
  8. package/lib/commonjs/components/box/DropShadow.js.map +1 -1
  9. package/lib/commonjs/components/box/ExpandOnMount.js +4 -3
  10. package/lib/commonjs/components/box/ExpandOnMount.js.map +1 -1
  11. package/lib/commonjs/components/box/Expandable.js +10 -10
  12. package/lib/commonjs/components/box/Expandable.js.map +1 -1
  13. package/lib/commonjs/components/box/FullSizeContainer.js +9 -8
  14. package/lib/commonjs/components/box/FullSizeContainer.js.map +1 -1
  15. package/lib/commonjs/components/button/DeleteButton.js +1 -1
  16. package/lib/commonjs/components/button/DeleteButton.js.map +1 -1
  17. package/lib/commonjs/components/button/Toggle.js +6 -5
  18. package/lib/commonjs/components/button/Toggle.js.map +1 -1
  19. package/lib/commonjs/components/feed/FeedContentPane.js +3 -2
  20. package/lib/commonjs/components/feed/FeedContentPane.js.map +1 -1
  21. package/lib/commonjs/components/feed/MediaFeedRefresh.js +8 -7
  22. package/lib/commonjs/components/feed/MediaFeedRefresh.js.map +1 -1
  23. package/lib/commonjs/components/feed/context.js +3 -2
  24. package/lib/commonjs/components/feed/context.js.map +1 -1
  25. package/lib/commonjs/components/form/Condition.js +3 -2
  26. package/lib/commonjs/components/form/Condition.js.map +1 -1
  27. package/lib/commonjs/components/form/Field.js +4 -3
  28. package/lib/commonjs/components/form/Field.js.map +1 -1
  29. package/lib/commonjs/components/form/Form.js +62 -59
  30. package/lib/commonjs/components/form/Form.js.map +1 -1
  31. package/lib/commonjs/components/form/FormFooter.js +16 -15
  32. package/lib/commonjs/components/form/FormFooter.js.map +1 -1
  33. package/lib/commonjs/components/form/UploadProgress/index.js +7 -6
  34. package/lib/commonjs/components/form/UploadProgress/index.js.map +1 -1
  35. package/lib/commonjs/components/form/input/Editable.js +89 -31
  36. package/lib/commonjs/components/form/input/Editable.js.map +1 -1
  37. package/lib/commonjs/components/form/input/InputSlider.js +6 -5
  38. package/lib/commonjs/components/form/input/InputSlider.js.map +1 -1
  39. package/lib/commonjs/components/form/input/OptionalTag.js +4 -3
  40. package/lib/commonjs/components/form/input/OptionalTag.js.map +1 -1
  41. package/lib/commonjs/components/form/input/StandaloneInput.js +3 -2
  42. package/lib/commonjs/components/form/input/StandaloneInput.js.map +1 -1
  43. package/lib/commonjs/components/form/input/boolean/index.js +10 -9
  44. package/lib/commonjs/components/form/input/boolean/index.js.map +1 -1
  45. package/lib/commonjs/components/form/input/color/index.js +11 -10
  46. package/lib/commonjs/components/form/input/color/index.js.map +1 -1
  47. package/lib/commonjs/components/form/input/common/InputClearButton.js +5 -3
  48. package/lib/commonjs/components/form/input/common/InputClearButton.js.map +1 -1
  49. package/lib/commonjs/components/form/input/date/index.js +11 -12
  50. package/lib/commonjs/components/form/input/date/index.js.map +1 -1
  51. package/lib/commonjs/components/form/input/datetime/index.js +13 -14
  52. package/lib/commonjs/components/form/input/datetime/index.js.map +1 -1
  53. package/lib/commonjs/components/form/input/file/index.js +15 -14
  54. package/lib/commonjs/components/form/input/file/index.js.map +1 -1
  55. package/lib/commonjs/components/form/input/input.js +12 -10
  56. package/lib/commonjs/components/form/input/input.js.map +1 -1
  57. package/lib/commonjs/components/form/input/multipleSelect/index.js +12 -7
  58. package/lib/commonjs/components/form/input/multipleSelect/index.js.map +1 -1
  59. package/lib/commonjs/components/form/input/number/index.js +11 -23
  60. package/lib/commonjs/components/form/input/number/index.js.map +1 -1
  61. package/lib/commonjs/components/form/input/select/index.js +35 -26
  62. package/lib/commonjs/components/form/input/select/index.js.map +1 -1
  63. package/lib/commonjs/components/form/input/socialMedia/index.js +20 -19
  64. package/lib/commonjs/components/form/input/socialMedia/index.js.map +1 -1
  65. package/lib/commonjs/components/form/input/styles.js +17 -0
  66. package/lib/commonjs/components/form/input/styles.js.map +1 -0
  67. package/lib/commonjs/components/form/input/text/index.js +19 -20
  68. package/lib/commonjs/components/form/input/text/index.js.map +1 -1
  69. package/lib/commonjs/components/form/input/text/textarea.js +3 -2
  70. package/lib/commonjs/components/form/input/text/textarea.js.map +1 -1
  71. package/lib/commonjs/components/form/input/time/index.js +11 -12
  72. package/lib/commonjs/components/form/input/time/index.js.map +1 -1
  73. package/lib/commonjs/components/form/view/file.js +7 -6
  74. package/lib/commonjs/components/form/view/file.js.map +1 -1
  75. package/lib/commonjs/components/form/view/index.js +15 -11
  76. package/lib/commonjs/components/form/view/index.js.map +1 -1
  77. package/lib/commonjs/components/form/view/multipleSelect.js +15 -9
  78. package/lib/commonjs/components/form/view/multipleSelect.js.map +1 -1
  79. package/lib/commonjs/components/form/view/select.js +15 -7
  80. package/lib/commonjs/components/form/view/select.js.map +1 -1
  81. package/lib/commonjs/components/icons/index.js +8 -6
  82. package/lib/commonjs/components/icons/index.js.map +1 -1
  83. package/lib/commonjs/components/loading/CircularProgress.js +5 -4
  84. package/lib/commonjs/components/loading/CircularProgress.js.map +1 -1
  85. package/lib/commonjs/components/loading/Loading.js +39 -18
  86. package/lib/commonjs/components/loading/Loading.js.map +1 -1
  87. package/lib/commonjs/components/loading/LoadingImage.js +10 -9
  88. package/lib/commonjs/components/loading/LoadingImage.js.map +1 -1
  89. package/lib/commonjs/components/loading/LoadingSwitch.js +8 -7
  90. package/lib/commonjs/components/loading/LoadingSwitch.js.map +1 -1
  91. package/lib/commonjs/components/overlay/ImageViewOverlay.js +11 -10
  92. package/lib/commonjs/components/overlay/ImageViewOverlay.js.map +1 -1
  93. package/lib/commonjs/components/text/AnimatedText.js +3 -2
  94. package/lib/commonjs/components/text/AnimatedText.js.map +1 -1
  95. package/lib/commonjs/components/text/Txt.js +3 -1
  96. package/lib/commonjs/components/text/Txt.js.map +1 -1
  97. package/lib/commonjs/components/theme/colorMode/DarkModeToggle.js +6 -4
  98. package/lib/commonjs/components/theme/colorMode/DarkModeToggle.js.map +1 -1
  99. package/lib/commonjs/contexts/root.js +3 -2
  100. package/lib/commonjs/contexts/root.js.map +1 -1
  101. package/lib/module/components/box/Center.js +1 -1
  102. package/lib/module/components/box/Center.js.map +1 -1
  103. package/lib/module/components/box/CollapseHorizontal.js +1 -1
  104. package/lib/module/components/box/CollapseHorizontal.js.map +1 -1
  105. package/lib/module/components/box/ContentBox.js +1 -1
  106. package/lib/module/components/box/ContentBox.js.map +1 -1
  107. package/lib/module/components/box/DropShadow.js +1 -0
  108. package/lib/module/components/box/DropShadow.js.map +1 -1
  109. package/lib/module/components/box/ExpandOnMount.js +1 -1
  110. package/lib/module/components/box/ExpandOnMount.js.map +1 -1
  111. package/lib/module/components/box/Expandable.js +10 -10
  112. package/lib/module/components/box/Expandable.js.map +1 -1
  113. package/lib/module/components/box/FullSizeContainer.js +5 -5
  114. package/lib/module/components/box/FullSizeContainer.js.map +1 -1
  115. package/lib/module/components/button/DeleteButton.js +1 -1
  116. package/lib/module/components/button/DeleteButton.js.map +1 -1
  117. package/lib/module/components/button/Toggle.js +1 -1
  118. package/lib/module/components/button/Toggle.js.map +1 -1
  119. package/lib/module/components/feed/FeedContentPane.js +1 -1
  120. package/lib/module/components/feed/FeedContentPane.js.map +1 -1
  121. package/lib/module/components/feed/MediaFeedRefresh.js +1 -1
  122. package/lib/module/components/feed/MediaFeedRefresh.js.map +1 -1
  123. package/lib/module/components/feed/context.js +1 -1
  124. package/lib/module/components/feed/context.js.map +1 -1
  125. package/lib/module/components/form/Condition.js +1 -1
  126. package/lib/module/components/form/Condition.js.map +1 -1
  127. package/lib/module/components/form/Field.js +1 -1
  128. package/lib/module/components/form/Field.js.map +1 -1
  129. package/lib/module/components/form/Form.js +14 -12
  130. package/lib/module/components/form/Form.js.map +1 -1
  131. package/lib/module/components/form/FormFooter.js +3 -3
  132. package/lib/module/components/form/FormFooter.js.map +1 -1
  133. package/lib/module/components/form/UploadProgress/index.js +1 -1
  134. package/lib/module/components/form/UploadProgress/index.js.map +1 -1
  135. package/lib/module/components/form/input/Editable.js +78 -21
  136. package/lib/module/components/form/input/Editable.js.map +1 -1
  137. package/lib/module/components/form/input/InputSlider.js +1 -0
  138. package/lib/module/components/form/input/InputSlider.js.map +1 -1
  139. package/lib/module/components/form/input/OptionalTag.js +1 -1
  140. package/lib/module/components/form/input/OptionalTag.js.map +1 -1
  141. package/lib/module/components/form/input/StandaloneInput.js +1 -1
  142. package/lib/module/components/form/input/StandaloneInput.js.map +1 -1
  143. package/lib/module/components/form/input/boolean/index.js +1 -1
  144. package/lib/module/components/form/input/boolean/index.js.map +1 -1
  145. package/lib/module/components/form/input/color/index.js +1 -1
  146. package/lib/module/components/form/input/color/index.js.map +1 -1
  147. package/lib/module/components/form/input/common/InputClearButton.js +1 -0
  148. package/lib/module/components/form/input/common/InputClearButton.js.map +1 -1
  149. package/lib/module/components/form/input/date/index.js +4 -6
  150. package/lib/module/components/form/input/date/index.js.map +1 -1
  151. package/lib/module/components/form/input/datetime/index.js +4 -6
  152. package/lib/module/components/form/input/datetime/index.js.map +1 -1
  153. package/lib/module/components/form/input/file/index.js +3 -2
  154. package/lib/module/components/form/input/file/index.js.map +1 -1
  155. package/lib/module/components/form/input/input.js +7 -6
  156. package/lib/module/components/form/input/input.js.map +1 -1
  157. package/lib/module/components/form/input/multipleSelect/index.js +7 -3
  158. package/lib/module/components/form/input/multipleSelect/index.js.map +1 -1
  159. package/lib/module/components/form/input/number/index.js +5 -18
  160. package/lib/module/components/form/input/number/index.js.map +1 -1
  161. package/lib/module/components/form/input/select/index.js +23 -15
  162. package/lib/module/components/form/input/select/index.js.map +1 -1
  163. package/lib/module/components/form/input/socialMedia/index.js +1 -1
  164. package/lib/module/components/form/input/socialMedia/index.js.map +1 -1
  165. package/lib/module/components/form/input/styles.js +11 -0
  166. package/lib/module/components/form/input/styles.js.map +1 -0
  167. package/lib/module/components/form/input/text/index.js +13 -15
  168. package/lib/module/components/form/input/text/index.js.map +1 -1
  169. package/lib/module/components/form/input/text/textarea.js +1 -1
  170. package/lib/module/components/form/input/text/textarea.js.map +1 -1
  171. package/lib/module/components/form/input/time/index.js +4 -6
  172. package/lib/module/components/form/input/time/index.js.map +1 -1
  173. package/lib/module/components/form/view/file.js +1 -1
  174. package/lib/module/components/form/view/file.js.map +1 -1
  175. package/lib/module/components/form/view/index.js +10 -7
  176. package/lib/module/components/form/view/index.js.map +1 -1
  177. package/lib/module/components/form/view/multipleSelect.js +12 -7
  178. package/lib/module/components/form/view/multipleSelect.js.map +1 -1
  179. package/lib/module/components/form/view/select.js +13 -6
  180. package/lib/module/components/form/view/select.js.map +1 -1
  181. package/lib/module/components/icons/index.js +1 -0
  182. package/lib/module/components/icons/index.js.map +1 -1
  183. package/lib/module/components/loading/CircularProgress.js +1 -1
  184. package/lib/module/components/loading/CircularProgress.js.map +1 -1
  185. package/lib/module/components/loading/Loading.js +26 -6
  186. package/lib/module/components/loading/Loading.js.map +1 -1
  187. package/lib/module/components/loading/LoadingImage.js +1 -1
  188. package/lib/module/components/loading/LoadingImage.js.map +1 -1
  189. package/lib/module/components/loading/LoadingSwitch.js +1 -1
  190. package/lib/module/components/loading/LoadingSwitch.js.map +1 -1
  191. package/lib/module/components/overlay/ImageViewOverlay.js +1 -1
  192. package/lib/module/components/overlay/ImageViewOverlay.js.map +1 -1
  193. package/lib/module/components/text/AnimatedText.js +1 -1
  194. package/lib/module/components/text/AnimatedText.js.map +1 -1
  195. package/lib/module/components/text/Txt.js +1 -0
  196. package/lib/module/components/text/Txt.js.map +1 -1
  197. package/lib/module/components/theme/colorMode/DarkModeToggle.js +1 -0
  198. package/lib/module/components/theme/colorMode/DarkModeToggle.js.map +1 -1
  199. package/lib/module/contexts/root.js +1 -1
  200. package/lib/module/contexts/root.js.map +1 -1
  201. package/lib/typescript/components/box/Center.d.ts +3 -2
  202. package/lib/typescript/components/box/Center.d.ts.map +1 -1
  203. package/lib/typescript/components/box/CollapseHorizontal.d.ts +2 -1
  204. package/lib/typescript/components/box/CollapseHorizontal.d.ts.map +1 -1
  205. package/lib/typescript/components/box/ContentBox.d.ts +2 -1
  206. package/lib/typescript/components/box/ContentBox.d.ts.map +1 -1
  207. package/lib/typescript/components/box/DropShadow.d.ts +2 -2
  208. package/lib/typescript/components/box/DropShadow.d.ts.map +1 -1
  209. package/lib/typescript/components/box/ExpandOnMount.d.ts.map +1 -1
  210. package/lib/typescript/components/box/Expandable.d.ts +2 -2
  211. package/lib/typescript/components/box/Expandable.d.ts.map +1 -1
  212. package/lib/typescript/components/box/FullSizeContainer.d.ts +4 -4
  213. package/lib/typescript/components/box/FullSizeContainer.d.ts.map +1 -1
  214. package/lib/typescript/components/button/DeleteButton.d.ts +1 -1
  215. package/lib/typescript/components/button/DeleteButton.d.ts.map +1 -1
  216. package/lib/typescript/components/button/Toggle.d.ts +1 -1
  217. package/lib/typescript/components/button/Toggle.d.ts.map +1 -1
  218. package/lib/typescript/components/feed/FeedContentPane.d.ts +1 -1
  219. package/lib/typescript/components/feed/FeedContentPane.d.ts.map +1 -1
  220. package/lib/typescript/components/feed/MediaFeed.d.ts +2 -2
  221. package/lib/typescript/components/feed/MediaFeed.d.ts.map +1 -1
  222. package/lib/typescript/components/feed/MediaFeedBackground.d.ts +2 -1
  223. package/lib/typescript/components/feed/MediaFeedBackground.d.ts.map +1 -1
  224. package/lib/typescript/components/feed/MediaFeedRefresh.d.ts +2 -1
  225. package/lib/typescript/components/feed/MediaFeedRefresh.d.ts.map +1 -1
  226. package/lib/typescript/components/feed/context.d.ts +3 -3
  227. package/lib/typescript/components/feed/context.d.ts.map +1 -1
  228. package/lib/typescript/components/form/Condition.d.ts +2 -2
  229. package/lib/typescript/components/form/Condition.d.ts.map +1 -1
  230. package/lib/typescript/components/form/Field.d.ts +3 -2
  231. package/lib/typescript/components/form/Field.d.ts.map +1 -1
  232. package/lib/typescript/components/form/Form.d.ts +6 -6
  233. package/lib/typescript/components/form/Form.d.ts.map +1 -1
  234. package/lib/typescript/components/form/FormFooter.d.ts +2 -2
  235. package/lib/typescript/components/form/FormFooter.d.ts.map +1 -1
  236. package/lib/typescript/components/form/UploadProgress/index.d.ts +2 -1
  237. package/lib/typescript/components/form/UploadProgress/index.d.ts.map +1 -1
  238. package/lib/typescript/components/form/input/Editable.d.ts +2 -1
  239. package/lib/typescript/components/form/input/Editable.d.ts.map +1 -1
  240. package/lib/typescript/components/form/input/InputSlider.d.ts +2 -1
  241. package/lib/typescript/components/form/input/InputSlider.d.ts.map +1 -1
  242. package/lib/typescript/components/form/input/OptionalTag.d.ts +2 -1
  243. package/lib/typescript/components/form/input/OptionalTag.d.ts.map +1 -1
  244. package/lib/typescript/components/form/input/StandaloneInput.d.ts +2 -1
  245. package/lib/typescript/components/form/input/StandaloneInput.d.ts.map +1 -1
  246. package/lib/typescript/components/form/input/boolean/index.d.ts +2 -1
  247. package/lib/typescript/components/form/input/boolean/index.d.ts.map +1 -1
  248. package/lib/typescript/components/form/input/color/index.d.ts +2 -1
  249. package/lib/typescript/components/form/input/color/index.d.ts.map +1 -1
  250. package/lib/typescript/components/form/input/common/InputClearButton.d.ts +3 -2
  251. package/lib/typescript/components/form/input/common/InputClearButton.d.ts.map +1 -1
  252. package/lib/typescript/components/form/input/date/index.d.ts +2 -1
  253. package/lib/typescript/components/form/input/date/index.d.ts.map +1 -1
  254. package/lib/typescript/components/form/input/datetime/index.d.ts +2 -1
  255. package/lib/typescript/components/form/input/datetime/index.d.ts.map +1 -1
  256. package/lib/typescript/components/form/input/file/index.d.ts +3 -2
  257. package/lib/typescript/components/form/input/file/index.d.ts.map +1 -1
  258. package/lib/typescript/components/form/input/hooks/useInputImperativeHandle.d.ts +1 -1
  259. package/lib/typescript/components/form/input/hooks/useInputImperativeHandle.d.ts.map +1 -1
  260. package/lib/typescript/components/form/input/input.d.ts +2 -2
  261. package/lib/typescript/components/form/input/input.d.ts.map +1 -1
  262. package/lib/typescript/components/form/input/multipleSelect/index.d.ts +2 -1
  263. package/lib/typescript/components/form/input/multipleSelect/index.d.ts.map +1 -1
  264. package/lib/typescript/components/form/input/number/index.d.ts +4 -3
  265. package/lib/typescript/components/form/input/number/index.d.ts.map +1 -1
  266. package/lib/typescript/components/form/input/select/index.d.ts +2 -1
  267. package/lib/typescript/components/form/input/select/index.d.ts.map +1 -1
  268. package/lib/typescript/components/form/input/socialMedia/index.d.ts +2 -1
  269. package/lib/typescript/components/form/input/socialMedia/index.d.ts.map +1 -1
  270. package/lib/typescript/components/form/input/styles.d.ts +10 -0
  271. package/lib/typescript/components/form/input/styles.d.ts.map +1 -0
  272. package/lib/typescript/components/form/input/text/index.d.ts +2 -1
  273. package/lib/typescript/components/form/input/text/index.d.ts.map +1 -1
  274. package/lib/typescript/components/form/input/text/textarea.d.ts +2 -1
  275. package/lib/typescript/components/form/input/text/textarea.d.ts.map +1 -1
  276. package/lib/typescript/components/form/input/time/index.d.ts +2 -1
  277. package/lib/typescript/components/form/input/time/index.d.ts.map +1 -1
  278. package/lib/typescript/components/form/view/file.d.ts +2 -1
  279. package/lib/typescript/components/form/view/file.d.ts.map +1 -1
  280. package/lib/typescript/components/form/view/index.d.ts +2 -1
  281. package/lib/typescript/components/form/view/index.d.ts.map +1 -1
  282. package/lib/typescript/components/form/view/multipleSelect.d.ts +1 -1
  283. package/lib/typescript/components/form/view/multipleSelect.d.ts.map +1 -1
  284. package/lib/typescript/components/form/view/select.d.ts +2 -1
  285. package/lib/typescript/components/form/view/select.d.ts.map +1 -1
  286. package/lib/typescript/components/icons/index.d.ts.map +1 -1
  287. package/lib/typescript/components/loading/CircularProgress.d.ts +2 -1
  288. package/lib/typescript/components/loading/CircularProgress.d.ts.map +1 -1
  289. package/lib/typescript/components/loading/Loading.d.ts +5 -4
  290. package/lib/typescript/components/loading/Loading.d.ts.map +1 -1
  291. package/lib/typescript/components/loading/LoadingImage.d.ts +2 -1
  292. package/lib/typescript/components/loading/LoadingImage.d.ts.map +1 -1
  293. package/lib/typescript/components/loading/LoadingSwitch.d.ts +2 -1
  294. package/lib/typescript/components/loading/LoadingSwitch.d.ts.map +1 -1
  295. package/lib/typescript/components/overlay/ImageViewOverlay.d.ts +2 -1
  296. package/lib/typescript/components/overlay/ImageViewOverlay.d.ts.map +1 -1
  297. package/lib/typescript/components/text/AnimatedText.d.ts +2 -2
  298. package/lib/typescript/components/text/AnimatedText.d.ts.map +1 -1
  299. package/lib/typescript/components/text/Txt.d.ts +2 -1
  300. package/lib/typescript/components/text/Txt.d.ts.map +1 -1
  301. package/lib/typescript/components/theme/colorMode/DarkModeToggle.d.ts +3 -2
  302. package/lib/typescript/components/theme/colorMode/DarkModeToggle.d.ts.map +1 -1
  303. package/lib/typescript/contexts/root.d.ts +2 -2
  304. package/lib/typescript/contexts/root.d.ts.map +1 -1
  305. package/package.json +29 -40
  306. package/src/components/box/Center.tsx +1 -1
  307. package/src/components/box/CollapseHorizontal.tsx +1 -1
  308. package/src/components/box/ContentBox.tsx +1 -1
  309. package/src/components/box/DropShadow.tsx +1 -1
  310. package/src/components/box/ExpandOnMount.tsx +1 -1
  311. package/src/components/box/Expandable.tsx +6 -6
  312. package/src/components/box/FullSizeContainer.tsx +3 -3
  313. package/src/components/button/DeleteButton.tsx +1 -1
  314. package/src/components/button/Toggle.tsx +1 -1
  315. package/src/components/feed/FeedContentPane.tsx +1 -1
  316. package/src/components/feed/MediaFeedRefresh.tsx +1 -1
  317. package/src/components/feed/context.tsx +1 -1
  318. package/src/components/form/Condition.tsx +1 -1
  319. package/src/components/form/Field.tsx +1 -1
  320. package/src/components/form/Form.tsx +14 -8
  321. package/src/components/form/FormFooter.tsx +4 -4
  322. package/src/components/form/UploadProgress/index.tsx +1 -1
  323. package/src/components/form/input/Editable.tsx +108 -38
  324. package/src/components/form/input/InputSlider.tsx +1 -0
  325. package/src/components/form/input/OptionalTag.tsx +1 -1
  326. package/src/components/form/input/StandaloneInput.tsx +1 -1
  327. package/src/components/form/input/boolean/index.tsx +1 -1
  328. package/src/components/form/input/color/index.tsx +1 -1
  329. package/src/components/form/input/common/InputClearButton.tsx +1 -0
  330. package/src/components/form/input/date/index.tsx +3 -5
  331. package/src/components/form/input/datetime/index.tsx +3 -5
  332. package/src/components/form/input/file/index.tsx +4 -2
  333. package/src/components/form/input/input.tsx +27 -12
  334. package/src/components/form/input/multipleSelect/index.tsx +3 -3
  335. package/src/components/form/input/number/index.tsx +4 -13
  336. package/src/components/form/input/select/index.tsx +22 -16
  337. package/src/components/form/input/socialMedia/index.tsx +1 -1
  338. package/src/components/form/input/styles.ts +11 -0
  339. package/src/components/form/input/text/index.tsx +11 -15
  340. package/src/components/form/input/text/textarea.tsx +1 -1
  341. package/src/components/form/input/time/index.tsx +3 -5
  342. package/src/components/form/view/file.tsx +1 -1
  343. package/src/components/form/view/index.tsx +7 -6
  344. package/src/components/form/view/multipleSelect.tsx +8 -6
  345. package/src/components/form/view/select.tsx +14 -6
  346. package/src/components/icons/index.tsx +1 -1
  347. package/src/components/loading/CircularProgress.tsx +1 -1
  348. package/src/components/loading/Loading.tsx +35 -5
  349. package/src/components/loading/LoadingImage.tsx +1 -1
  350. package/src/components/loading/LoadingSwitch.tsx +1 -1
  351. package/src/components/overlay/ImageViewOverlay.tsx +1 -1
  352. package/src/components/text/AnimatedText.tsx +1 -1
  353. package/src/components/text/Txt.tsx +1 -0
  354. package/src/components/theme/colorMode/DarkModeToggle.tsx +1 -0
  355. package/src/contexts/root.tsx +1 -1
@@ -6,7 +6,13 @@ import {
6
6
  usePlaceholderColor,
7
7
  useThemeValue,
8
8
  } from '@chem-po/react'
9
- import { ForwardedRef, forwardRef, ForwardRefExoticComponent, useEffect, useMemo } from 'react'
9
+ import React, {
10
+ ForwardedRef,
11
+ forwardRef,
12
+ ForwardRefExoticComponent,
13
+ useEffect,
14
+ useMemo,
15
+ } from 'react'
10
16
  import { Animated, StyleSheet, Text, View, ViewStyle } from 'react-native'
11
17
  import { AnimatedText } from '../../text/AnimatedText'
12
18
  import { FieldProps } from '../types'
@@ -46,6 +52,7 @@ const InputBase = <T extends Field>(props: FieldProps<T>, ref: ForwardedRef<Inpu
46
52
  meta: { error, active, touched },
47
53
  input,
48
54
  inEditable,
55
+ style,
49
56
  } = props
50
57
 
51
58
  const { value } = input
@@ -78,7 +85,7 @@ const InputBase = <T extends Field>(props: FieldProps<T>, ref: ForwardedRef<Inpu
78
85
  outputRange: [placeholderColor, shadowColor],
79
86
  })
80
87
 
81
- const { _type, label } = field
88
+ const { _type, label: Label } = field
82
89
  const showPlaceholder = useMemo(
83
90
  () => _type === 'multipleSelect' || (!!value && _type !== 'file' && _type !== 'boolean'),
84
91
  [value, _type],
@@ -112,16 +119,24 @@ const InputBase = <T extends Field>(props: FieldProps<T>, ref: ForwardedRef<Inpu
112
119
  const Component = useMemo(() => Components[_type] as ComponentType<T>, [_type])
113
120
 
114
121
  return (
115
- <View style={[staticStyles.container]}>
116
- {label && !inEditable ? <Text style={staticStyles.label}>{label}</Text> : null}
117
- <AnimatedText
118
- style={staticStyles.placeholder}
119
- show={showPlaceholder}
120
- color={placeholderColor}
121
- height={16}
122
- marginBottom={6}>
123
- {field.placeholder ?? ''}
124
- </AnimatedText>
122
+ <View style={[staticStyles.container, style]}>
123
+ {Label && !inEditable ? (
124
+ typeof Label === 'string' ? (
125
+ <Text style={staticStyles.label}>{Label}</Text>
126
+ ) : (
127
+ <Label />
128
+ )
129
+ ) : null}
130
+ {inEditable ? null : (
131
+ <AnimatedText
132
+ style={staticStyles.placeholder}
133
+ show={showPlaceholder}
134
+ color={placeholderColor}
135
+ height={16}
136
+ marginBottom={6}>
137
+ {field.placeholder ?? ''}
138
+ </AnimatedText>
139
+ )}
125
140
  <Animated.View style={[staticStyles.inputContainer, animatedStyles]}>
126
141
  <Component ref={ref} {...props} />
127
142
  </Animated.View>
@@ -1,12 +1,12 @@
1
1
  import { InputRef } from '@chem-po/core'
2
2
  import { MultipleSelectField, useColorMode, usePlaceholderColor } from '@chem-po/react'
3
- import { forwardRef, useImperativeHandle } from 'react'
3
+ import React, { forwardRef, useImperativeHandle } from 'react'
4
4
  import { StyleSheet, Text, TouchableOpacity, View } from 'react-native'
5
5
  import { FieldProps } from '../../types'
6
6
 
7
7
  export const MultipleSelectComponent = forwardRef<InputRef, FieldProps<MultipleSelectField>>(
8
8
  ({ field, input, inEditable }, ref) => {
9
- const { options, renderOption, getOptionKey } = field
9
+ const { options, renderOption: RenderOption, getOptionKey } = field
10
10
  const { onChange, value, onFocus, onBlur } = input
11
11
  const colorMode = useColorMode()
12
12
 
@@ -34,7 +34,7 @@ export const MultipleSelectComponent = forwardRef<InputRef, FieldProps<MultipleS
34
34
  key={getOptionKey ? getOptionKey(o) : o}
35
35
  style={[styles.option, value?.includes(o) && styles.selectedOption]}
36
36
  onPress={() => handleOptionPress(o)}>
37
- {renderOption(o, colorMode, !!value?.includes(o))}
37
+ <RenderOption value={o} colorMode={colorMode} isSelected={!!value?.includes(o)} />
38
38
  </TouchableOpacity>
39
39
  ))}
40
40
  </View>
@@ -1,17 +1,16 @@
1
1
  import { InputRef } from '@chem-po/core'
2
2
  import { CurrencyAmountField, NumberField, usePlaceholderColor, useTextColor } from '@chem-po/react'
3
- import { ForwardedRef, forwardRef, useImperativeHandle, useRef, useState } from 'react'
3
+ import React, { ForwardedRef, forwardRef, useImperativeHandle, useRef, useState } from 'react'
4
4
  import { StyleSheet, Text, TextInput, View } from 'react-native'
5
5
  import { FieldProps } from '../../types'
6
6
  import { InputSlider } from '../InputSlider'
7
7
  import { useInputImperativeHandle } from '../hooks/useInputImperativeHandle'
8
- import { useInputStyle } from '../hooks/useInputStyle'
8
+ import { inputStyles } from '../styles'
9
9
 
10
10
  export const NumberComponent = forwardRef<InputRef, FieldProps<NumberField> & { prefix?: string }>(
11
- ({ input: { onChange, value, ...input }, field, size, prefix, inEditable: _, ...props }, ref) => {
11
+ ({ input: { onChange, value, ...input }, field, prefix, inEditable: _, style }, ref) => {
12
12
  const { type, defaultValue, placeholder } = field
13
13
  const color = useTextColor()
14
- const { style } = useInputStyle(size)
15
14
  const inputRef = useInputImperativeHandle(ref)
16
15
  const [endsWith, setEndsWith] = useState('')
17
16
  const displayed = typeof value === 'number' && !Number.isNaN(value) ? `${value}${endsWith}` : ''
@@ -34,8 +33,7 @@ export const NumberComponent = forwardRef<InputRef, FieldProps<NumberField> & {
34
33
  {prefix && <Text style={styles.prefix}>{prefix}</Text>}
35
34
  <TextInput
36
35
  ref={inputRef}
37
- style={[styles.input, style, { color }]}
38
- // style={styles.input}
36
+ style={[inputStyles.input, { color }, style]}
39
37
  placeholder={field.placeholder}
40
38
  placeholderTextColor={placeholderColor}
41
39
  keyboardType="numeric"
@@ -86,13 +84,6 @@ const styles = StyleSheet.create({
86
84
  alignItems: 'center',
87
85
  width: '100%',
88
86
  },
89
- input: {
90
- flex: 1,
91
- height: 40,
92
- paddingHorizontal: 12,
93
- paddingVertical: 8,
94
- backgroundColor: 'transparent',
95
- },
96
87
  prefix: {
97
88
  marginRight: 4,
98
89
  fontSize: 16,
@@ -1,4 +1,4 @@
1
- import { InputRef } from '@chem-po/core'
1
+ import { InputRef, RenderSelectOptionProps } from '@chem-po/core'
2
2
  import {
3
3
  SelectField,
4
4
  useBackgroundColor,
@@ -7,11 +7,19 @@ import {
7
7
  usePlaceholderColor,
8
8
  } from '@chem-po/react'
9
9
  import { Ionicons } from '@expo/vector-icons'
10
- import { ForwardedRef, forwardRef, useImperativeHandle, useMemo, useRef, useState } from 'react'
10
+ import React, {
11
+ ForwardedRef,
12
+ forwardRef,
13
+ useImperativeHandle,
14
+ useMemo,
15
+ useRef,
16
+ useState,
17
+ } from 'react'
11
18
  import { Modal, ScrollView, StyleSheet, Text, TouchableOpacity, View } from 'react-native'
12
19
  import { Txt } from '../../../text/Txt'
13
20
  import { FieldProps } from '../../types'
14
21
  import { InputClearButton } from '../common/InputClearButton'
22
+ import { inputStyles } from '../styles'
15
23
 
16
24
  type SelectOption<T extends SelectField> = T['options'][number]
17
25
 
@@ -19,7 +27,7 @@ const BaseSelectComponent = <T extends SelectField>(
19
27
  { field, input, meta }: FieldProps<T>,
20
28
  ref: ForwardedRef<InputRef>,
21
29
  ) => {
22
- const { placeholder, options, renderOption, getOptionKey, optional } = field
30
+ const { placeholder, options, renderOption: RenderOption, getOptionKey, optional } = field
23
31
  const { onChange, value, onFocus, onBlur } = input
24
32
  const { active } = meta
25
33
  const [buttonLayout, setButtonLayout] = useState({ x: 0, y: 0, width: 0, height: 0 })
@@ -54,14 +62,14 @@ const BaseSelectComponent = <T extends SelectField>(
54
62
  })
55
63
  }
56
64
 
57
- const renderOptionText = (option: T['options'][number], isSelected: boolean) => {
58
- if (typeof renderOption === 'function') {
59
- return renderOption(option, 'light', isSelected)
65
+ const RenderOptionText = (props: RenderSelectOptionProps<T['defaultValue']>) => {
66
+ if (typeof RenderOption === 'function') {
67
+ return RenderOption({ ...props, value: props.value ?? '' })
60
68
  }
61
- if (typeof option === 'object') {
62
- return <Txt>{JSON.stringify(option)}</Txt>
69
+ if (typeof props.value === 'object') {
70
+ return <Txt>{JSON.stringify(props.value)}</Txt>
63
71
  }
64
- return <Txt>{String(option)}</Txt>
72
+ return <Txt>{String(props.value)}</Txt>
65
73
  }
66
74
 
67
75
  const getKey = (option: SelectOption<T>): string => {
@@ -87,7 +95,7 @@ const BaseSelectComponent = <T extends SelectField>(
87
95
  <View style={styles.wrapper}>
88
96
  <View ref={buttonRef} onLayout={handleButtonLayout} style={styles.container}>
89
97
  <TouchableOpacity
90
- style={[styles.button]}
98
+ style={[styles.button, inputStyles.input]}
91
99
  onPress={() => {
92
100
  if (active) {
93
101
  onBlur()
@@ -97,7 +105,7 @@ const BaseSelectComponent = <T extends SelectField>(
97
105
  }}>
98
106
  <View style={styles.buttonTextContainer}>
99
107
  {selected ? (
100
- renderOptionText(selected, true)
108
+ <RenderOptionText value={selected} colorMode="light" isSelected={true} />
101
109
  ) : (
102
110
  <Text style={[styles.placeholder, { color: placeholderColor }]}>{placeholder}</Text>
103
111
  )}
@@ -140,7 +148,9 @@ const BaseSelectComponent = <T extends SelectField>(
140
148
  isSelected && { backgroundColor: selectedOptionBg },
141
149
  ]}
142
150
  onPress={() => handleOptionPress(option)}>
143
- <View>{renderOptionText(option, isSelected)}</View>
151
+ <View>
152
+ <RenderOptionText value={option} colorMode="light" isSelected={isSelected} />
153
+ </View>
144
154
  </TouchableOpacity>
145
155
  )
146
156
  })}
@@ -165,10 +175,6 @@ const styles = StyleSheet.create({
165
175
  flexDirection: 'row',
166
176
  alignItems: 'center',
167
177
  justifyContent: 'space-between',
168
- width: '100%',
169
- height: 40,
170
- paddingHorizontal: 12,
171
- paddingVertical: 8,
172
178
  backgroundColor: 'transparent',
173
179
  borderRadius: 4,
174
180
  },
@@ -1,6 +1,6 @@
1
1
  import { getHandle, InputRef, SocialMediaSites } from '@chem-po/core'
2
2
  import { SocialMediaField } from '@chem-po/react'
3
- import {
3
+ import React, {
4
4
  FC,
5
5
  ForwardedRef,
6
6
  forwardRef,
@@ -0,0 +1,11 @@
1
+ import { StyleSheet } from 'react-native'
2
+
3
+ export const inputStyles = StyleSheet.create({
4
+ input: {
5
+ width: '100%',
6
+ paddingHorizontal: 6,
7
+ fontSize: 16,
8
+ paddingVertical: 4,
9
+ outlineWidth: 0,
10
+ },
11
+ })
@@ -1,13 +1,14 @@
1
1
  import { InputRef } from '@chem-po/core'
2
2
  import { TextField, usePlaceholderColor, useTextColor } from '@chem-po/react'
3
3
  import { Ionicons } from '@expo/vector-icons'
4
- import { forwardRef, useImperativeHandle, useRef, useState } from 'react'
4
+ import React, { forwardRef, useImperativeHandle, useRef, useState } from 'react'
5
5
  import { StyleSheet, TextInput, TouchableOpacity, View } from 'react-native'
6
6
  import { FieldProps } from '../../types'
7
+ import { inputStyles } from '../styles'
7
8
  import { TextAreaComponent } from './textarea'
8
9
 
9
10
  export const TextComponent = forwardRef<InputRef, FieldProps<TextField>>(
10
- ({ input, inEditable, meta, field }, ref) => {
11
+ ({ input, inEditable, meta, field, style }, ref) => {
11
12
  const { placeholder, type } = field
12
13
  const [isHidden, setIsHidden] = useState(type === 'password')
13
14
  const { value, onChange, ...inputProps } = input
@@ -31,10 +32,11 @@ export const TextComponent = forwardRef<InputRef, FieldProps<TextField>>(
31
32
  <TextInput
32
33
  ref={inputRef}
33
34
  style={[
34
- styles.input,
35
- inEditable && styles.inEditable,
35
+ inputStyles.input,
36
+ // inEditable && styles.inEditable,
36
37
  type === 'password' && styles.passwordInput,
37
38
  { color },
39
+ style,
38
40
  ]}
39
41
  secureTextEntry={isHidden}
40
42
  placeholderTextColor={placeholderColor}
@@ -61,17 +63,11 @@ export const TextComponent = forwardRef<InputRef, FieldProps<TextField>>(
61
63
  TextComponent.displayName = 'TextComponent'
62
64
 
63
65
  const styles = StyleSheet.create({
64
- input: {
65
- width: '100%',
66
- height: 40,
67
- paddingHorizontal: 12,
68
- paddingVertical: 8,
69
- },
70
- inEditable: {
71
- paddingHorizontal: 0,
72
- paddingVertical: 0,
73
- height: 'auto',
74
- },
66
+ // inEditable: {
67
+ // paddingHorizontal: 0,
68
+ // paddingVertical: 0,
69
+ // height: 'auto',
70
+ // },
75
71
  passwordInput: {
76
72
  paddingRight: 40,
77
73
  },
@@ -1,6 +1,6 @@
1
1
  import { InputRef } from '@chem-po/core'
2
2
  import { TextField, usePlaceholderColor, useTextColor } from '@chem-po/react'
3
- import { forwardRef, useImperativeHandle, useRef } from 'react'
3
+ import React, { forwardRef, useImperativeHandle, useRef } from 'react'
4
4
  import { StyleSheet, TextInput } from 'react-native'
5
5
  import { FieldProps } from '../../types'
6
6
 
@@ -1,13 +1,14 @@
1
1
  import { InputRef, padZeros } from '@chem-po/core'
2
2
  import { TimeField, useIconColor } from '@chem-po/react'
3
3
  import { Ionicons } from '@expo/vector-icons'
4
- import { forwardRef, useImperativeHandle, useMemo, useState } from 'react'
4
+ import React, { forwardRef, useImperativeHandle, useMemo, useState } from 'react'
5
5
  import { StyleSheet, Text, TouchableOpacity, View } from 'react-native'
6
6
  import { Portal } from 'react-native-paper'
7
7
  import { TimePickerModal } from 'react-native-paper-dates'
8
8
  import { FieldProps } from '../../types'
9
9
  import { DateInputClearButton } from '../common/InputClearButton'
10
10
  import { useInputColor } from '../hooks/useInputColor'
11
+ import { inputStyles } from '../styles'
11
12
 
12
13
  export const TimeInput = forwardRef<InputRef, FieldProps<TimeField>>(
13
14
  ({ input: { onChange, value, onFocus, onBlur }, field: { placeholder, optional } }, ref) => {
@@ -56,7 +57,7 @@ export const TimeInput = forwardRef<InputRef, FieldProps<TimeField>>(
56
57
  return (
57
58
  <View style={styles.container}>
58
59
  <TouchableOpacity
59
- style={styles.button}
60
+ style={[styles.button, inputStyles.input]}
60
61
  onPress={() => {
61
62
  setVisible(true)
62
63
  onFocus()
@@ -92,9 +93,6 @@ const styles = StyleSheet.create({
92
93
  alignItems: 'center',
93
94
  justifyContent: 'space-between',
94
95
  width: '100%',
95
- height: 40,
96
- paddingHorizontal: 12,
97
- paddingVertical: 8,
98
96
  },
99
97
  text: {
100
98
  fontSize: 16,
@@ -1,6 +1,6 @@
1
1
  import { ImageViewOptions } from '@chem-po/core'
2
2
  import { FileField } from '@chem-po/react'
3
- import { useMemo } from 'react'
3
+ import React, { useMemo } from 'react'
4
4
  import { StyleSheet, Text, View, ViewStyle } from 'react-native'
5
5
  import { FileView } from '../input/file'
6
6
 
@@ -1,7 +1,8 @@
1
1
  import { formatField } from '@chem-po/core'
2
2
  import { Field } from '@chem-po/react'
3
- import { useMemo } from 'react'
4
- import { StyleSheet, Text, View, ViewStyle } from 'react-native'
3
+ import React, { useMemo } from 'react'
4
+ import { StyleSheet, View, ViewStyle } from 'react-native'
5
+ import { Txt } from '../../text'
5
6
  import { FileFieldView } from './file'
6
7
  import { MultipleSelectFieldView } from './multipleSelect'
7
8
  import { SelectFieldView } from './select'
@@ -18,9 +19,11 @@ const styles = StyleSheet.create({
18
19
  },
19
20
  value: {
20
21
  opacity: 1,
22
+ fontSize: 16,
21
23
  },
22
24
  valueEmpty: {
23
25
  opacity: 0.6,
26
+ fontSize: 16,
24
27
  },
25
28
  })
26
29
 
@@ -45,10 +48,8 @@ const DefaultFieldView = ({
45
48
 
46
49
  return (
47
50
  <View style={[styles.container, style]}>
48
- {!noLabel && <Text style={styles.label}>{placeholder}</Text>}
49
- <Text style={value !== undefined && value !== null ? styles.value : styles.valueEmpty}>
50
- {formatted ?? 'None'}
51
- </Text>
51
+ {!noLabel && <Txt style={styles.label}>{placeholder}</Txt>}
52
+ <Txt style={value ? styles.value : styles.valueEmpty}>{formatted ?? 'None'}</Txt>
52
53
  </View>
53
54
  )
54
55
  }
@@ -1,5 +1,5 @@
1
- import { MultipleSelectField } from '@chem-po/react'
2
- import { StyleSheet, Text, useColorScheme, View, ViewStyle } from 'react-native'
1
+ import { MultipleSelectField, useColorMode } from '@chem-po/react'
2
+ import React, { StyleSheet, Text, View, ViewStyle } from 'react-native'
3
3
 
4
4
  const styles = StyleSheet.create({
5
5
  container: {
@@ -32,16 +32,18 @@ export const MultipleSelectFieldView = ({
32
32
  noLabel?: boolean
33
33
  style?: ViewStyle
34
34
  }) => {
35
- const { placeholder, renderOption, getOptionKey } = field
36
- const colorScheme = useColorScheme() ?? 'light'
35
+ const { placeholder, renderOption: RenderOption } = field
36
+ const colorMode = useColorMode()
37
37
 
38
38
  return (
39
39
  <View style={[styles.container, style]}>
40
40
  {!noLabel && <Text style={styles.label}>{placeholder}</Text>}
41
41
  {value ? (
42
42
  value.map((v: any) => (
43
- <View key={getOptionKey ? getOptionKey(v) : v} style={styles.optionContainer}>
44
- {renderOption(v, colorScheme, true)}
43
+ <View
44
+ // key={getOptionKey ? getOptionKey(v) : v}
45
+ style={styles.optionContainer}>
46
+ <RenderOption value={v} colorMode={colorMode} isSelected={true} />
45
47
  </View>
46
48
  ))
47
49
  ) : (
@@ -1,5 +1,7 @@
1
- import { SelectField, usePlaceholderColor } from '@chem-po/react'
2
- import { StyleSheet, Text, useColorScheme, View, ViewStyle } from 'react-native'
1
+ import { RenderSelectOptionProps } from '@chem-po/core'
2
+ import { SelectField, useColorMode, usePlaceholderColor } from '@chem-po/react'
3
+ import React from 'react'
4
+ import { StyleSheet, Text, View, ViewStyle } from 'react-native'
3
5
  import { Txt } from '../../text'
4
6
 
5
7
  const styles = StyleSheet.create({
@@ -13,7 +15,9 @@ const styles = StyleSheet.create({
13
15
  },
14
16
  })
15
17
 
16
- const DefaultRenderOption = (value: any) => {
18
+ const DefaultRenderOption = <T extends SelectField>({
19
+ value,
20
+ }: RenderSelectOptionProps<T['defaultValue']>) => {
17
21
  return <Txt>{typeof value === 'string' ? value : JSON.stringify(value)}</Txt>
18
22
  }
19
23
 
@@ -29,13 +33,17 @@ export const SelectFieldView = ({
29
33
  style?: ViewStyle
30
34
  }) => {
31
35
  const { placeholder, renderOption: customRender } = field
32
- const colorScheme = useColorScheme() ?? 'light'
36
+ const colorMode = useColorMode()
33
37
  const placeholderColor = usePlaceholderColor()
34
- const renderOption = customRender ?? DefaultRenderOption
38
+ const RenderOption = customRender ?? DefaultRenderOption
35
39
  return (
36
40
  <View style={[styles.container, style]}>
37
41
  {!noLabel && <Text style={[styles.label, { color: placeholderColor }]}>{placeholder}</Text>}
38
- {value ? renderOption(value, colorScheme, true) : 'None'}
42
+ <RenderOption
43
+ value={value && value !== '' ? value : 'None'}
44
+ colorMode={colorMode}
45
+ isSelected={true}
46
+ />
39
47
  </View>
40
48
  )
41
49
  }
@@ -1,4 +1,4 @@
1
- import { FC } from 'react'
1
+ import React, { FC } from 'react'
2
2
  import { Path, Svg } from 'react-native-svg'
3
3
 
4
4
  interface IconProps {
@@ -1,5 +1,5 @@
1
1
  import { useColorModeValue } from '@chem-po/react'
2
- import { useEffect, useRef } from 'react'
2
+ import React, { useEffect, useRef } from 'react'
3
3
  import {
4
4
  ActivityIndicator,
5
5
  ActivityIndicatorProps,
@@ -1,7 +1,7 @@
1
1
  import { ThemedAsset, useAppAssets, useTheme } from '@chem-po/react'
2
2
  import LottieView from 'lottie-react-native'
3
- import { useMemo } from 'react'
4
- import { Image, StyleSheet, Text, View, ViewStyle } from 'react-native'
3
+ import React, { useEffect, useMemo, useState } from 'react'
4
+ import { Animated, Image, StyleSheet, Text, View, ViewStyle } from 'react-native'
5
5
 
6
6
  export const LottieLoadingLogo = ({
7
7
  size = 30,
@@ -137,16 +137,46 @@ export const LoadingOverlay = ({
137
137
  }) => {
138
138
  const { colorMode } = useTheme()
139
139
  const bgColor = colorMode === 'dark' ? 'rgba(0, 0, 0, 0.53)' : 'rgba(255, 255, 255, 0.67)'
140
+ const opacity = useMemo(() => new Animated.Value(0), [])
141
+ const [isAnimating, setIsAnimating] = useState(false)
142
+
143
+ useEffect(() => {
144
+ if (isLoading) {
145
+ setIsAnimating(true)
146
+ Animated.timing(opacity, {
147
+ toValue: 1,
148
+ duration: 200,
149
+ useNativeDriver: true,
150
+ }).start()
151
+ } else {
152
+ Animated.timing(opacity, {
153
+ toValue: 0,
154
+ duration: 200,
155
+ useNativeDriver: true,
156
+ }).start(() => {
157
+ setIsAnimating(false)
158
+ })
159
+ }
160
+ }, [isLoading, opacity])
161
+
162
+ if (!isLoading && !isAnimating) return null
140
163
 
141
164
  return (
142
- <View
143
- style={[styles.overlay, { backgroundColor: bgColor }, { opacity: isLoading ? 1 : 0 }, style]}>
165
+ <Animated.View
166
+ style={[
167
+ styles.overlay,
168
+ {
169
+ backgroundColor: bgColor,
170
+ opacity,
171
+ },
172
+ style,
173
+ ]}>
144
174
  {!text ? (
145
175
  <LoadingLogo inFeed={inFeed} size={100} isLoading={isLoading} />
146
176
  ) : (
147
177
  <Loading text={text} />
148
178
  )}
149
- </View>
179
+ </Animated.View>
150
180
  )
151
181
  }
152
182
 
@@ -1,6 +1,6 @@
1
1
  import { useMounted } from '@chem-po/react'
2
2
  import { Ionicons } from '@expo/vector-icons'
3
- import { useCallback, useEffect, useMemo, useRef, useState } from 'react'
3
+ import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'
4
4
  import { DimensionValue, Image, StyleSheet, TouchableOpacity, View, ViewStyle } from 'react-native'
5
5
  import { ImageViewOverlay } from '../overlay/ImageViewOverlay'
6
6
  import { LoadingLogo } from './Loading'
@@ -1,4 +1,4 @@
1
- import { useCallback, useState } from 'react'
1
+ import React, { useCallback, useState } from 'react'
2
2
  import { Animated, StyleSheet, Switch, Text, View } from 'react-native'
3
3
  import { Loading } from './Loading'
4
4
 
@@ -1,6 +1,6 @@
1
1
  import { useScreen } from '@chem-po/react'
2
2
  import { Ionicons } from '@expo/vector-icons'
3
- import { useCallback, useMemo, useState } from 'react'
3
+ import React, { useCallback, useMemo, useState } from 'react'
4
4
  import { Image, Modal, StyleSheet, TouchableOpacity, View } from 'react-native'
5
5
  import { LoadingLogo } from '../loading/Loading'
6
6
 
@@ -1,4 +1,4 @@
1
- import { PropsWithChildren, useEffect, useMemo, useRef } from 'react'
1
+ import React, { PropsWithChildren, useEffect, useMemo, useRef } from 'react'
2
2
  import { Animated, StyleProp, TextStyle } from 'react-native'
3
3
 
4
4
  export interface AnimatedTextProps {
@@ -1,4 +1,5 @@
1
1
  import { useTextColor } from '@chem-po/react'
2
+ import React from 'react'
2
3
  import { Text, TextProps } from 'react-native'
3
4
 
4
5
  export const Txt = ({ children, ...props }: TextProps) => {
@@ -1,5 +1,6 @@
1
1
  import { useBackgroundColor, useIconColor, useTheme } from '@chem-po/react'
2
2
  import { Ionicons } from '@expo/vector-icons'
3
+ import React from 'react'
3
4
  import { StyleSheet, TouchableOpacity, View } from 'react-native'
4
5
 
5
6
  export const DarkModeToggle = () => {
@@ -1,6 +1,6 @@
1
1
  import { BackendAdapterInterface, ColorMode, Theme } from '@chem-po/core'
2
2
  import { ChempoProps, ChempoProvider } from '@chem-po/react'
3
- import { PropsWithChildren, useMemo } from 'react'
3
+ import React, { PropsWithChildren, useMemo } from 'react'
4
4
  import { NotifierWrapper } from 'react-native-notifier'
5
5
  import { en, registerTranslation } from 'react-native-paper-dates'
6
6
  import { nativeToast } from '../constants/toast'