@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
@@ -16,13 +16,13 @@ type ExpandableProps = PropsWithChildren<{
16
16
  }>
17
17
 
18
18
  export const Expandable = ({
19
- header,
19
+ header: Header,
20
20
  children,
21
21
  initExpanded = false,
22
22
  nested,
23
23
  alwaysExpanded,
24
24
  iconColor = '#000',
25
- footer,
25
+ footer: Footer,
26
26
  isOpen: isOpenProp,
27
27
  onClose: onCloseProp,
28
28
  onOpen: onOpenProp,
@@ -81,10 +81,10 @@ export const Expandable = ({
81
81
  <View style={[styles.container, style]}>
82
82
  <Pressable onPress={handleOpenClick} style={styles.header}>
83
83
  <View style={styles.headerContent}>
84
- {typeof header === 'string' ? (
85
- <Txt style={styles.headerText}>{header}</Txt>
84
+ {typeof Header === 'string' ? (
85
+ <Txt style={styles.headerText}>{Header}</Txt>
86
86
  ) : (
87
- header({ isOpen, onClose })
87
+ <Header isOpen={isOpen} onClose={onClose} />
88
88
  )}
89
89
  </View>
90
90
  {!alwaysExpanded && (
@@ -108,7 +108,7 @@ export const Expandable = ({
108
108
  {children}
109
109
  </AnimatedCenter>
110
110
 
111
- {footer?.({ isOpen, onClose })}
111
+ {Footer ? <Footer isOpen={isOpen} onClose={onClose} /> : null}
112
112
  </View>
113
113
  )
114
114
  }
@@ -1,8 +1,8 @@
1
- import { createContext, FC, useCallback, useContext, useMemo, useRef, useState } from 'react'
1
+ import React, { createContext, FC, useCallback, useContext, useMemo, useRef, useState } from 'react'
2
2
  import { View, ViewProps } from 'react-native'
3
3
 
4
4
  export const FullSizeContainer = ({
5
- children,
5
+ children: Children,
6
6
  ...props
7
7
  }: Omit<ViewProps, 'children'> & { children: FC<{ width: number; height: number }> }) => {
8
8
  const [width, setWidth] = useState(0)
@@ -21,7 +21,7 @@ export const FullSizeContainer = ({
21
21
  {...props}
22
22
  style={[{ width: '100%', height: '100%' }, props.style]}
23
23
  onLayout={handleLayout}>
24
- {children({ width, height })}
24
+ <Children width={width} height={height} />
25
25
  </View>
26
26
  )
27
27
  }
@@ -77,7 +77,7 @@ export const DeleteButton: React.FC<{
77
77
  const { showError } = useToast()
78
78
  const [deleteLoading, setDeleteLoading] = useState(false)
79
79
  const [confirmActive, setConfirmActive] = useState(false)
80
- const confirmTimer = useRef<any>()
80
+ const confirmTimer = useRef<ReturnType<typeof setTimeout> | null>(null)
81
81
  const isMounted = useRef(true)
82
82
  const contentOpacity = useRef(new Animated.Value(1)).current
83
83
  const loaderOpacity = useRef(new Animated.Value(0)).current
@@ -1,5 +1,5 @@
1
1
  import { useTheme, useToast } from '@chem-po/react'
2
- import { JSX, useCallback } from 'react'
2
+ import React, { JSX, useCallback } from 'react'
3
3
  import { StyleSheet, TouchableOpacity, View } from 'react-native'
4
4
 
5
5
  export interface ToggleOption<Option extends string = string> {
@@ -1,6 +1,6 @@
1
1
  import { AnyObject, WithId } from '@chem-po/core'
2
2
  import { PanelStatus, useDocument, useScreen } from '@chem-po/react'
3
- import { JSX, useEffect, useMemo, useRef } from 'react'
3
+ import React, { JSX, useEffect, useMemo, useRef } from 'react'
4
4
  // import { motion, MotionValue, useMotionValue, useSpring, useTransform } from 'framer-motion'
5
5
  import { Animated } from 'react-native'
6
6
 
@@ -1,5 +1,5 @@
1
1
  import Icon from '@expo/vector-icons/MaterialCommunityIcons' // or your preferred icon set
2
- import { useEffect, useRef } from 'react'
2
+ import React, { useEffect, useRef } from 'react'
3
3
  import { Animated, StyleSheet, View } from 'react-native'
4
4
  import { DropShadow } from '../box/DropShadow'
5
5
  import { CircularProgress } from '../loading'
@@ -1,5 +1,5 @@
1
1
  import { AnyObject, WithId } from '@chem-po/core'
2
- import { createContext, PropsWithChildren, useContext, useMemo } from 'react'
2
+ import React, { createContext, PropsWithChildren, useContext, useMemo } from 'react'
3
3
 
4
4
  interface MediaFeedContextValue<T extends AnyObject = AnyObject> {
5
5
  curr: WithId<T> | null
@@ -1,4 +1,4 @@
1
- import { PropsWithChildren, useMemo } from 'react'
1
+ import React, { PropsWithChildren, useMemo } from 'react'
2
2
  import { useWatch } from 'react-hook-form'
3
3
  import { Animated } from 'react-native'
4
4
 
@@ -1,6 +1,6 @@
1
1
  import { InputRef, getFieldValidate } from '@chem-po/core'
2
2
  import { Field, useField } from '@chem-po/react'
3
- import { ForwardedRef, forwardRef, useMemo } from 'react'
3
+ import React, { ForwardedRef, forwardRef, useMemo } from 'react'
4
4
  import { ChangeHandler, Controller } from 'react-hook-form'
5
5
  import { Input } from './input/input'
6
6
 
@@ -7,6 +7,8 @@ import {
7
7
  FieldFormProps,
8
8
  FieldMap,
9
9
  FieldMapFormProps,
10
+ FieldMapValue,
11
+ FormOnSubmit,
10
12
  FormProps,
11
13
  IFormElement,
12
14
  ListField,
@@ -14,8 +16,9 @@ import {
14
16
  useDataView,
15
17
  useFormSubmit,
16
18
  UseFormSubmitProps,
19
+ useGetItemField,
17
20
  } from '@chem-po/react'
18
- import { FC, useMemo, useState } from 'react'
21
+ import React, { FC, useMemo, useState } from 'react'
19
22
  import { useFieldArray, useFormContext } from 'react-hook-form'
20
23
  import { StyleSheet, Text, TouchableOpacity, View } from 'react-native'
21
24
  import { Expandable } from '../box/Expandable'
@@ -81,6 +84,7 @@ const styles = StyleSheet.create({
81
84
  },
82
85
  formElementContainer: {
83
86
  width: '100%',
87
+ paddingVertical: 5,
84
88
  gap: 5,
85
89
  },
86
90
  dataViewHeader: {
@@ -207,7 +211,8 @@ const ListFieldView = ({
207
211
  value: any[]
208
212
  path: string
209
213
  }) => {
210
- const { itemField, placeholder } = field
214
+ const { placeholder } = field
215
+ const getItemField = useGetItemField(field)
211
216
  return (
212
217
  <View style={styles.listContainer}>
213
218
  <Expandable header={() => <Text style={styles.listHeader}>{placeholder}</Text>} initExpanded>
@@ -217,7 +222,7 @@ const ListFieldView = ({
217
222
  <View key={`${path}.${index}`} style={styles.listItem}>
218
223
  <FormElementView
219
224
  path={`${path}.${index}`}
220
- field={{ ...itemField, placeholder: `${placeholder} ${index + 1}` }}
225
+ field={getItemField(index)}
221
226
  value={item}
222
227
  />
223
228
  </View>
@@ -341,7 +346,7 @@ export const FieldMapForm = <F extends FieldMap>({
341
346
  () => ({
342
347
  field,
343
348
  value,
344
- submit: onSubmitProp,
349
+ submit: onSubmitProp as FormOnSubmit<FieldMap>,
345
350
  storagePath,
346
351
  }),
347
352
  [field, value, onSubmitProp, storagePath],
@@ -369,22 +374,23 @@ export const FieldForm = <F extends Field | ListField>({
369
374
  ...props
370
375
  }: FieldFormProps<F>) => {
371
376
  const fieldMap = useMemo<FieldMap>(() => ({ children: { value: field } }), [field])
377
+ const fieldMapValue = useMemo<FieldMapValue<FieldMap>>(() => ({ value }), [value])
372
378
  return (
373
379
  <FieldMapForm
374
380
  field={fieldMap}
375
- value={{ value }}
381
+ value={fieldMapValue}
376
382
  onSubmit={data => onSubmit(data?.value)}
377
383
  {...props}
378
384
  />
379
385
  )
380
386
  }
381
387
 
382
- export const Form = <F extends IFormElement>({ field, ...props }: FormProps<F>) => {
388
+ export const Form = <F extends IFormElement>({ field, onSubmit, ...props }: FormProps<F>) => {
383
389
  const body =
384
390
  isField(field) || isListField(field) ? (
385
- <FieldForm field={field} {...props} />
391
+ <FieldForm field={field} onSubmit={onSubmit as FormOnSubmit<Field | ListField>} {...props} />
386
392
  ) : (
387
- <FieldMapForm field={field} {...props} />
393
+ <FieldMapForm field={field} onSubmit={onSubmit as FormOnSubmit<FieldMap>} {...props} />
388
394
  )
389
395
 
390
396
  return <ChempoFormProvider>{body}</ChempoFormProvider>
@@ -5,7 +5,7 @@ import {
5
5
  useButtonColor,
6
6
  usePlaceholderColor,
7
7
  } from '@chem-po/react'
8
- import { FC, PropsWithChildren, useEffect, useMemo, useRef } from 'react'
8
+ import React, { FC, PropsWithChildren, useEffect, useMemo, useRef } from 'react'
9
9
  import { useFormContext, useFormState } from 'react-hook-form'
10
10
  import { ActivityIndicator, Animated, StyleSheet, Text, TouchableOpacity, View } from 'react-native'
11
11
  import { UploadProgress } from './UploadProgress'
@@ -132,7 +132,7 @@ const FormErrorView = () => {
132
132
  }
133
133
 
134
134
  export const FormFooter = <F extends IFormElement>({
135
- renderFooter,
135
+ renderFooter: RenderFooter,
136
136
  ...props
137
137
  }: FormFooterProps<F>) => {
138
138
  const { uploads, onSubmit, onBack, buttonText } = props
@@ -141,8 +141,8 @@ export const FormFooter = <F extends IFormElement>({
141
141
  return (
142
142
  <View style={styles.container}>
143
143
  <UploadProgress uploads={uploads} />
144
- {renderFooter ? (
145
- renderFooter(props)
144
+ {RenderFooter ? (
145
+ <RenderFooter {...props} />
146
146
  ) : (
147
147
  <View style={[styles.footerContainer, { borderColor }]}>
148
148
  <FormErrorView />
@@ -1,5 +1,5 @@
1
1
  import { UploadsState } from '@chem-po/core'
2
- import { useMemo } from 'react'
2
+ import React, { useMemo } from 'react'
3
3
  import { Animated, StyleSheet, Text, View } from 'react-native'
4
4
 
5
5
  const styles = StyleSheet.create({
@@ -1,7 +1,13 @@
1
- import { palette } from '@chem-po/core'
2
- import { EditableProps, Field, useColorModeValue, useEditable } from '@chem-po/react'
1
+ import {
2
+ EditableProps,
3
+ Field,
4
+ useColorModeValue,
5
+ useEditable,
6
+ useIconColor,
7
+ useThemeValue,
8
+ } from '@chem-po/react'
3
9
  import { Ionicons } from '@expo/vector-icons'
4
- import { useEffect, useMemo } from 'react'
10
+ import React, { useCallback, useEffect, useMemo } from 'react'
5
11
  import { StyleSheet, TouchableOpacity, View, ViewStyle } from 'react-native'
6
12
  import { LoadingOverlay } from '../../loading/Loading'
7
13
  import { UploadProgress } from '../UploadProgress'
@@ -16,6 +22,7 @@ export const Editable = <T extends Field>({
16
22
  style,
17
23
  onEditClose,
18
24
  onEditOpen,
25
+ containerStyle,
19
26
  }: EditableProps<ViewStyle, T>) => {
20
27
  const {
21
28
  formattedValue,
@@ -41,7 +48,38 @@ export const Editable = <T extends Field>({
41
48
  onEditClose,
42
49
  })
43
50
 
44
- const alwaysEditing = useMemo(() => field._type === 'file' || field._type === 'boolean', [field])
51
+ const alwaysEditing = useMemo(() => {
52
+ switch (field._type) {
53
+ case 'file':
54
+ case 'boolean':
55
+ return true
56
+ default:
57
+ return false
58
+ }
59
+ }, [field])
60
+
61
+ const shouldSubmitOnChange = useMemo(() => {
62
+ if (alwaysEditing) return true
63
+ switch (field._type) {
64
+ case 'select':
65
+ case 'date':
66
+ case 'time':
67
+ case 'datetime':
68
+ return true
69
+ default:
70
+ return false
71
+ }
72
+ }, [field, alwaysEditing])
73
+
74
+ const noCloseButton = useMemo(() => {
75
+ if (alwaysEditing) return true
76
+ switch (field._type) {
77
+ case 'select':
78
+ return true
79
+ default:
80
+ return false
81
+ }
82
+ }, [field, alwaysEditing])
45
83
 
46
84
  useEffect(() => {
47
85
  if (isEditing) {
@@ -49,7 +87,31 @@ export const Editable = <T extends Field>({
49
87
  }
50
88
  }, [isEditing, inputRef])
51
89
 
90
+ const iconColor = useIconColor()
91
+
52
92
  const editingBorderColor = useColorModeValue('#00000055', '#ffffff55')
93
+ const submitColor = useThemeValue('colors.accent.200')
94
+
95
+ const handleBlur = useCallback(() => {
96
+ switch (field._type) {
97
+ case 'select':
98
+ case 'date':
99
+ case 'time':
100
+ case 'datetime':
101
+ handleEditClose()
102
+ break
103
+ default:
104
+ break
105
+ }
106
+ }, [field, handleEditClose])
107
+
108
+ const editableField = useMemo(
109
+ () => ({
110
+ ...field,
111
+ optional: false,
112
+ }),
113
+ [field],
114
+ )
53
115
 
54
116
  return (
55
117
  <View
@@ -58,7 +120,7 @@ export const Editable = <T extends Field>({
58
120
  {
59
121
  borderColor: editHovered && !isEditing ? editingBorderColor : 'transparent',
60
122
  },
61
- style,
123
+ containerStyle,
62
124
  ]}>
63
125
  <View style={styles.contentContainer}>
64
126
  <View
@@ -74,53 +136,55 @@ export const Editable = <T extends Field>({
74
136
  ref={inputRef}
75
137
  value={formattedValue}
76
138
  inEditable
77
- field={field}
78
- style={[styles.input, style]}
79
- onChange={alwaysEditing ? v => submitValue(parse(v)) : v => setValue(parse(v))}
139
+ field={editableField}
140
+ style={style}
141
+ onChange={shouldSubmitOnChange ? v => submitValue(parse(v)) : v => setValue(parse(v))}
142
+ onBlur={handleBlur}
80
143
  />
81
144
  ) : (
82
- <FieldView style={style} field={field} value={value} />
145
+ <FieldView noLabel style={style} field={field} value={value} />
83
146
  )}
84
147
  </View>
85
148
 
86
149
  {!alwaysEditing && (
87
- <>
88
- <TouchableOpacity
89
- style={styles.editButton}
90
- onPress={() => {
91
- if (isEditing) {
92
- setValue(value)
93
- handleEditClose()
94
- } else {
95
- handleEditOpen()
96
- }
97
- }}
98
- onPressIn={() => setEditHovered(true)}
99
- onPressOut={() => setEditHovered(false)}>
100
- <Ionicons
101
- name={isEditing ? 'close' : 'create-outline'}
102
- size={20}
103
- color={palette.gray.medium}
104
- />
105
- </TouchableOpacity>
106
-
150
+ <View style={styles.buttonsContainer}>
151
+ {noCloseButton && isEditing ? null : (
152
+ <TouchableOpacity
153
+ style={styles.editButton}
154
+ onPress={() => {
155
+ if (isEditing) {
156
+ setValue(value)
157
+ handleEditClose()
158
+ } else {
159
+ handleEditOpen()
160
+ }
161
+ }}
162
+ onPressIn={() => setEditHovered(true)}
163
+ onPressOut={() => setEditHovered(false)}>
164
+ <Ionicons
165
+ name={isEditing ? 'close' : 'create-outline'}
166
+ size={20}
167
+ color={iconColor}
168
+ />
169
+ </TouchableOpacity>
170
+ )}
107
171
  <View
108
172
  style={[
109
173
  styles.submitButtonContainer,
110
174
  {
111
- width: isEditing ? 30 : 0,
175
+ width: isEditing ? 26 : 0,
112
176
  opacity: isEditing ? 1 : 0,
113
177
  },
114
178
  ]}>
115
179
  <TouchableOpacity
116
- style={[styles.submitButton, { backgroundColor: palette.cyan.light }]}
180
+ style={[styles.submitButton, { backgroundColor: submitColor }]}
117
181
  onPress={() => {
118
182
  submit()
119
183
  }}>
120
184
  <Ionicons name="checkmark" size={20} color="#fff" />
121
185
  </TouchableOpacity>
122
186
  </View>
123
- </>
187
+ </View>
124
188
  )}
125
189
  <LoadingOverlay isLoading={isLoading} />
126
190
  </View>
@@ -136,6 +200,12 @@ const styles = StyleSheet.create({
136
200
  borderStyle: 'dashed',
137
201
  width: '100%',
138
202
  },
203
+ buttonsContainer: {
204
+ flexDirection: 'row',
205
+ alignItems: 'center',
206
+ gap: 4,
207
+ marginLeft: 5,
208
+ },
139
209
  contentContainer: {
140
210
  flexDirection: 'row',
141
211
  alignItems: 'center',
@@ -149,19 +219,19 @@ const styles = StyleSheet.create({
149
219
  borderWidth: 1,
150
220
  borderStyle: 'dashed',
151
221
  },
152
- input: {
153
- padding: 0,
154
- },
155
222
  editButton: {
156
223
  padding: 4,
157
- marginLeft: 4,
158
224
  },
159
225
  submitButtonContainer: {
160
- justifyContent: 'flex-end',
226
+ justifyContent: 'center',
227
+ alignItems: 'center',
161
228
  overflow: 'hidden',
162
229
  },
163
230
  submitButton: {
164
- padding: 4,
231
+ width: 24,
232
+ height: 24,
165
233
  borderRadius: 4,
234
+ alignItems: 'center',
235
+ justifyContent: 'center',
166
236
  },
167
237
  })
@@ -1,5 +1,6 @@
1
1
  import { Gradient } from '@chem-po/core'
2
2
  import Slider from '@react-native-community/slider'
3
+ import React from 'react'
3
4
  import { StyleSheet, Text, View } from 'react-native'
4
5
 
5
6
  type SliderProps = React.ComponentProps<typeof Slider>
@@ -1,5 +1,5 @@
1
1
  import { Field } from '@chem-po/react'
2
- import { useMemo } from 'react'
2
+ import React, { useMemo } from 'react'
3
3
  import { StyleSheet, Text, View } from 'react-native'
4
4
 
5
5
  export const OptionalTag = <T extends Field>({
@@ -1,6 +1,6 @@
1
1
  import { InputRef } from '@chem-po/core'
2
2
  import { Field, useStandaloneInput } from '@chem-po/react'
3
- import { ForwardedRef, forwardRef } from 'react'
3
+ import React, { ForwardedRef, forwardRef } from 'react'
4
4
  import { StyleProp, ViewStyle } from 'react-native'
5
5
  import { Input } from './input'
6
6
 
@@ -1,6 +1,6 @@
1
1
  import { InputRef } from '@chem-po/core'
2
2
  import { BooleanField } from '@chem-po/react'
3
- import { ForwardedRef, forwardRef, useImperativeHandle } from 'react'
3
+ import React, { ForwardedRef, forwardRef, useImperativeHandle } from 'react'
4
4
  import { Switch, Text, View } from 'react-native'
5
5
  import { FieldProps } from '../../types'
6
6
 
@@ -1,6 +1,6 @@
1
1
  import { colorValueToHex, Gradient, gradients, InputRef } from '@chem-po/core'
2
2
  import { ColorField } from '@chem-po/react'
3
- import { forwardRef, useCallback, useMemo } from 'react'
3
+ import React, { forwardRef, useCallback, useMemo } from 'react'
4
4
  import { StyleSheet, Text, View } from 'react-native'
5
5
  import { FieldProps } from '../../types'
6
6
  import { InputSlider } from '../InputSlider'
@@ -1,5 +1,6 @@
1
1
  import { useBorderColor, useIconColor } from '@chem-po/react'
2
2
  import { Ionicons } from '@expo/vector-icons'
3
+ import React from 'react'
3
4
  import { StyleSheet, TouchableOpacity } from 'react-native'
4
5
 
5
6
  export const InputClearButton = ({
@@ -1,13 +1,14 @@
1
1
  import { getDateString, InputRef } from '@chem-po/core'
2
2
  import { DateField, useIconColor } from '@chem-po/react'
3
3
  import { Ionicons } from '@expo/vector-icons'
4
- import { forwardRef, useImperativeHandle, useMemo } from 'react'
4
+ import React, { forwardRef, useImperativeHandle, useMemo } from 'react'
5
5
  import { StyleSheet, Text, TouchableOpacity, View } from 'react-native'
6
6
  import { Portal } from 'react-native-paper'
7
7
  import { DatePickerModal } 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
  // const parseDate = (date?: Date) =>
13
14
  // date
@@ -48,7 +49,7 @@ export const DateInput = forwardRef<InputRef, FieldProps<DateField>>(
48
49
 
49
50
  return (
50
51
  <View style={styles.container}>
51
- <TouchableOpacity style={styles.button} onPress={showDialog}>
52
+ <TouchableOpacity style={[styles.button, inputStyles.input]} onPress={showDialog}>
52
53
  <Text style={[styles.text, { color: inputColor }]}>
53
54
  {value ? getDateString(value, 'short') : placeholder}
54
55
  </Text>
@@ -89,9 +90,6 @@ const styles = StyleSheet.create({
89
90
  alignItems: 'center',
90
91
  justifyContent: 'space-between',
91
92
  width: '100%',
92
- height: 40,
93
- paddingHorizontal: 12,
94
- paddingVertical: 8,
95
93
  },
96
94
  text: {
97
95
  fontSize: 16,
@@ -1,13 +1,14 @@
1
1
  import { getDateTimeString, InputRef } from '@chem-po/core'
2
2
  import { DateTimeField, useIconColor } from '@chem-po/react'
3
3
  import { Ionicons } from '@expo/vector-icons'
4
- import { forwardRef, useCallback, useImperativeHandle, useMemo, useState } from 'react'
4
+ import React, { forwardRef, useCallback, 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 { DatePickerModal, 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 DateTimeInput = forwardRef<InputRef, FieldProps<DateTimeField>>(
13
14
  ({ input: { value, onBlur, onChange, onFocus }, field, meta: { active } }, ref) => {
@@ -76,7 +77,7 @@ export const DateTimeInput = forwardRef<InputRef, FieldProps<DateTimeField>>(
76
77
  return (
77
78
  <View style={styles.container}>
78
79
  <TouchableOpacity
79
- style={styles.button}
80
+ style={[styles.button, inputStyles.input]}
80
81
  onPress={() => {
81
82
  setShowDatePicker(true)
82
83
  onFocus()
@@ -129,9 +130,6 @@ const styles = StyleSheet.create({
129
130
  alignItems: 'center',
130
131
  justifyContent: 'space-between',
131
132
  width: '100%',
132
- height: 40,
133
- paddingHorizontal: 12,
134
- paddingVertical: 8,
135
133
  },
136
134
  text: {
137
135
  fontSize: 16,
@@ -9,13 +9,15 @@ import {
9
9
  import { Ionicons } from '@expo/vector-icons'
10
10
  import * as DocumentPicker from 'expo-document-picker'
11
11
  import * as ImagePicker from 'expo-image-picker'
12
- import { forwardRef, useCallback, useImperativeHandle, useMemo, useState } from 'react'
12
+ import React, { forwardRef, useCallback, useImperativeHandle, useMemo, useState } from 'react'
13
13
  import { StyleSheet, Text, TouchableOpacity, View } from 'react-native'
14
14
  import { LoadingImage } from '../../../loading/LoadingImage'
15
15
  import { FieldProps } from '../../types'
16
16
 
17
+ const fallbackAccept =
18
+ 'image/jpg,image/jpeg,image/png,image/svg,image/gif,application/pdf,audio/mp3,audio/wav,audio/x-wav,audio/webm,audio/ogg'
17
19
  const generateAccept = (field: FileField) => {
18
- if (!field.accept) return undefined
20
+ if (!field.accept) return fallbackAccept
19
21
  const accept: string[] = []
20
22
  if (field.accept.includes('image')) {
21
23
  accept.push('image/jpg', 'image/jpeg', 'image/png', 'image/svg', 'image/gif')