@chem-po/react-native 0.0.5 → 0.0.7

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 (561) hide show
  1. package/lib/commonjs/components/box/Center.js +35 -0
  2. package/lib/commonjs/components/box/Center.js.map +1 -0
  3. package/lib/commonjs/components/box/CollapseHorizontal.js +44 -0
  4. package/lib/commonjs/components/box/CollapseHorizontal.js.map +1 -0
  5. package/lib/commonjs/components/box/ContentBox.js +32 -0
  6. package/lib/commonjs/components/box/ContentBox.js.map +1 -0
  7. package/lib/commonjs/components/box/DropShadow.js +31 -0
  8. package/lib/commonjs/components/box/DropShadow.js.map +1 -0
  9. package/lib/commonjs/components/box/ExpandOnMount.js +71 -0
  10. package/lib/commonjs/components/box/ExpandOnMount.js.map +1 -0
  11. package/lib/commonjs/components/box/Expandable.js +125 -0
  12. package/lib/commonjs/components/box/Expandable.js.map +1 -0
  13. package/lib/commonjs/components/box/FullSizeContainer.js +79 -0
  14. package/lib/commonjs/components/box/FullSizeContainer.js.map +1 -0
  15. package/lib/commonjs/components/box/index.js +83 -0
  16. package/lib/commonjs/components/box/index.js.map +1 -0
  17. package/lib/commonjs/components/button/DeleteButton.js +279 -0
  18. package/lib/commonjs/components/button/DeleteButton.js.map +1 -0
  19. package/lib/commonjs/components/button/LoadingButton.js +132 -0
  20. package/lib/commonjs/components/button/LoadingButton.js.map +1 -0
  21. package/lib/commonjs/components/button/Toggle.js +89 -0
  22. package/lib/commonjs/components/button/Toggle.js.map +1 -0
  23. package/lib/commonjs/components/button/index.js +39 -0
  24. package/lib/commonjs/components/button/index.js.map +1 -0
  25. package/lib/commonjs/components/feed/FeedContentPane.js +105 -0
  26. package/lib/commonjs/components/feed/FeedContentPane.js.map +1 -0
  27. package/lib/commonjs/components/feed/MediaFeed.js +178 -0
  28. package/lib/commonjs/components/feed/MediaFeed.js.map +1 -0
  29. package/lib/commonjs/components/feed/MediaFeedBackground.js +126 -0
  30. package/lib/commonjs/components/feed/MediaFeedBackground.js.map +1 -0
  31. package/lib/commonjs/components/feed/MediaFeedRefresh.js +113 -0
  32. package/lib/commonjs/components/feed/MediaFeedRefresh.js.map +1 -0
  33. package/lib/commonjs/components/feed/constants.js +9 -0
  34. package/lib/commonjs/components/feed/constants.js.map +1 -0
  35. package/lib/commonjs/components/feed/context.js +23 -0
  36. package/lib/commonjs/components/feed/context.js.map +1 -0
  37. package/lib/commonjs/components/feed/hooks.js +262 -0
  38. package/lib/commonjs/components/feed/hooks.js.map +1 -0
  39. package/lib/commonjs/components/feed/index.js +28 -0
  40. package/lib/commonjs/components/feed/index.js.map +1 -0
  41. package/lib/commonjs/components/form/Condition.js +29 -0
  42. package/lib/commonjs/components/form/Condition.js.map +1 -0
  43. package/lib/commonjs/components/form/Field.js +57 -0
  44. package/lib/commonjs/components/form/Field.js.map +1 -0
  45. package/lib/commonjs/components/form/Form.js +387 -0
  46. package/lib/commonjs/components/form/Form.js.map +1 -0
  47. package/lib/commonjs/components/form/FormFooter.js +173 -0
  48. package/lib/commonjs/components/form/FormFooter.js.map +1 -0
  49. package/lib/commonjs/components/form/UploadProgress/index.js +66 -0
  50. package/lib/commonjs/components/form/UploadProgress/index.js.map +1 -0
  51. package/lib/commonjs/components/form/index.js +40 -0
  52. package/lib/commonjs/components/form/index.js.map +1 -0
  53. package/lib/commonjs/components/form/input/Editable.js +153 -0
  54. package/lib/commonjs/components/form/input/Editable.js.map +1 -0
  55. package/lib/commonjs/components/form/input/InputSlider.js +59 -0
  56. package/lib/commonjs/components/form/input/InputSlider.js.map +1 -0
  57. package/lib/commonjs/components/form/input/OptionalTag.js +46 -0
  58. package/lib/commonjs/components/form/input/OptionalTag.js.map +1 -0
  59. package/lib/commonjs/components/form/input/StandaloneInput.js +33 -0
  60. package/lib/commonjs/components/form/input/StandaloneInput.js.map +1 -0
  61. package/lib/commonjs/components/form/input/boolean/index.js +83 -0
  62. package/lib/commonjs/components/form/input/boolean/index.js.map +1 -0
  63. package/lib/commonjs/components/form/input/color/index.js +147 -0
  64. package/lib/commonjs/components/form/input/color/index.js.map +1 -0
  65. package/lib/commonjs/components/form/input/common/InputClearButton.js +63 -0
  66. package/lib/commonjs/components/form/input/common/InputClearButton.js.map +1 -0
  67. package/lib/commonjs/components/form/input/date/index.js +111 -0
  68. package/lib/commonjs/components/form/input/date/index.js.map +1 -0
  69. package/lib/commonjs/components/form/input/datetime/index.js +155 -0
  70. package/lib/commonjs/components/form/input/datetime/index.js.map +1 -0
  71. package/lib/commonjs/components/form/input/file/index.js +229 -0
  72. package/lib/commonjs/components/form/input/file/index.js.map +1 -0
  73. package/lib/commonjs/components/form/input/hooks/index.js +28 -0
  74. package/lib/commonjs/components/form/input/hooks/index.js.map +1 -0
  75. package/lib/commonjs/components/form/input/hooks/useInputColor.js +14 -0
  76. package/lib/commonjs/components/form/input/hooks/useInputColor.js.map +1 -0
  77. package/lib/commonjs/components/form/input/hooks/useInputImperativeHandle.js +23 -0
  78. package/lib/commonjs/components/form/input/hooks/useInputImperativeHandle.js.map +1 -0
  79. package/lib/commonjs/components/form/input/hooks/useInputStyle.js +50 -0
  80. package/lib/commonjs/components/form/input/hooks/useInputStyle.js.map +1 -0
  81. package/lib/commonjs/components/form/input/index.js +28 -0
  82. package/lib/commonjs/components/form/input/index.js.map +1 -0
  83. package/lib/commonjs/components/form/input/input.js +159 -0
  84. package/lib/commonjs/components/form/input/input.js.map +1 -0
  85. package/lib/commonjs/components/form/input/multipleSelect/index.js +80 -0
  86. package/lib/commonjs/components/form/input/multipleSelect/index.js.map +1 -0
  87. package/lib/commonjs/components/form/input/number/index.js +117 -0
  88. package/lib/commonjs/components/form/input/number/index.js.map +1 -0
  89. package/lib/commonjs/components/form/input/select/index.js +225 -0
  90. package/lib/commonjs/components/form/input/select/index.js.map +1 -0
  91. package/lib/commonjs/components/form/input/socialMedia/index.js +219 -0
  92. package/lib/commonjs/components/form/input/socialMedia/index.js.map +1 -0
  93. package/lib/commonjs/components/form/input/text/index.js +97 -0
  94. package/lib/commonjs/components/form/input/text/index.js.map +1 -0
  95. package/lib/commonjs/components/form/input/text/textarea.js +63 -0
  96. package/lib/commonjs/components/form/input/text/textarea.js.map +1 -0
  97. package/lib/commonjs/components/form/input/time/index.js +125 -0
  98. package/lib/commonjs/components/form/input/time/index.js.map +1 -0
  99. package/lib/commonjs/components/form/types.js +6 -0
  100. package/lib/commonjs/components/form/types.js.map +1 -0
  101. package/lib/commonjs/components/form/view/file.js +57 -0
  102. package/lib/commonjs/components/form/view/file.js.map +1 -0
  103. package/lib/commonjs/components/form/view/index.js +90 -0
  104. package/lib/commonjs/components/form/view/index.js.map +1 -0
  105. package/lib/commonjs/components/form/view/multipleSelect.js +51 -0
  106. package/lib/commonjs/components/form/view/multipleSelect.js.map +1 -0
  107. package/lib/commonjs/components/form/view/select.js +45 -0
  108. package/lib/commonjs/components/form/view/select.js.map +1 -0
  109. package/lib/commonjs/components/icons/index.js +47 -0
  110. package/lib/commonjs/components/icons/index.js.map +1 -0
  111. package/lib/commonjs/components/index.js +94 -0
  112. package/lib/commonjs/components/index.js.map +1 -0
  113. package/lib/commonjs/components/loading/CircularProgress.js +49 -0
  114. package/lib/commonjs/components/loading/CircularProgress.js.map +1 -0
  115. package/lib/commonjs/components/loading/Loading.js +174 -0
  116. package/lib/commonjs/components/loading/Loading.js.map +1 -0
  117. package/lib/commonjs/components/loading/LoadingImage.js +115 -0
  118. package/lib/commonjs/components/loading/LoadingImage.js.map +1 -0
  119. package/lib/commonjs/components/loading/LoadingSwitch.js +100 -0
  120. package/lib/commonjs/components/loading/LoadingSwitch.js.map +1 -0
  121. package/lib/commonjs/components/loading/index.js +50 -0
  122. package/lib/commonjs/components/loading/index.js.map +1 -0
  123. package/lib/commonjs/components/overlay/ImageViewOverlay.js +126 -0
  124. package/lib/commonjs/components/overlay/ImageViewOverlay.js.map +1 -0
  125. package/lib/commonjs/components/overlay/index.js +17 -0
  126. package/lib/commonjs/components/overlay/index.js.map +1 -0
  127. package/lib/commonjs/components/text/AnimatedText.js +63 -0
  128. package/lib/commonjs/components/text/AnimatedText.js.map +1 -0
  129. package/lib/commonjs/components/text/Txt.js +22 -0
  130. package/lib/commonjs/components/text/Txt.js.map +1 -0
  131. package/lib/commonjs/components/text/index.js +17 -0
  132. package/lib/commonjs/components/text/index.js.map +1 -0
  133. package/lib/commonjs/components/theme/colorMode/DarkModeToggle.js +49 -0
  134. package/lib/commonjs/components/theme/colorMode/DarkModeToggle.js.map +1 -0
  135. package/lib/commonjs/components/theme/colorMode/index.js +17 -0
  136. package/lib/commonjs/components/theme/colorMode/index.js.map +1 -0
  137. package/lib/commonjs/components/theme/index.js +17 -0
  138. package/lib/commonjs/components/theme/index.js.map +1 -0
  139. package/lib/commonjs/constants/index.js +17 -0
  140. package/lib/commonjs/constants/index.js.map +1 -0
  141. package/lib/commonjs/constants/toast.js +31 -0
  142. package/lib/commonjs/constants/toast.js.map +1 -0
  143. package/lib/commonjs/contexts/index.js +17 -0
  144. package/lib/commonjs/contexts/index.js.map +1 -0
  145. package/lib/commonjs/contexts/root.js +33 -0
  146. package/lib/commonjs/contexts/root.js.map +1 -0
  147. package/lib/commonjs/hooks/index.js +17 -0
  148. package/lib/commonjs/hooks/index.js.map +1 -0
  149. package/lib/commonjs/hooks/useThemeState.js +21 -0
  150. package/lib/commonjs/hooks/useThemeState.js.map +1 -0
  151. package/lib/commonjs/index.js +61 -0
  152. package/lib/commonjs/index.js.map +1 -0
  153. package/lib/commonjs/store/index.js +17 -0
  154. package/lib/commonjs/store/index.js.map +1 -0
  155. package/lib/commonjs/store/useScreen.js +36 -0
  156. package/lib/commonjs/store/useScreen.js.map +1 -0
  157. package/lib/commonjs/styles/fill.js +25 -0
  158. package/lib/commonjs/styles/fill.js.map +1 -0
  159. package/lib/module/components/box/Center.js +29 -0
  160. package/lib/module/components/box/Center.js.map +1 -0
  161. package/lib/module/components/box/CollapseHorizontal.js +37 -0
  162. package/lib/module/components/box/CollapseHorizontal.js.map +1 -0
  163. package/lib/module/components/box/ContentBox.js +26 -0
  164. package/lib/module/components/box/ContentBox.js.map +1 -0
  165. package/lib/module/components/box/DropShadow.js +25 -0
  166. package/lib/module/components/box/DropShadow.js.map +1 -0
  167. package/lib/module/components/box/ExpandOnMount.js +64 -0
  168. package/lib/module/components/box/ExpandOnMount.js.map +1 -0
  169. package/lib/module/components/box/Expandable.js +117 -0
  170. package/lib/module/components/box/Expandable.js.map +1 -0
  171. package/lib/module/components/box/FullSizeContainer.js +70 -0
  172. package/lib/module/components/box/FullSizeContainer.js.map +1 -0
  173. package/lib/module/components/box/index.js +8 -0
  174. package/lib/module/components/box/index.js.map +1 -0
  175. package/lib/module/components/button/DeleteButton.js +270 -0
  176. package/lib/module/components/button/DeleteButton.js.map +1 -0
  177. package/lib/module/components/button/LoadingButton.js +124 -0
  178. package/lib/module/components/button/LoadingButton.js.map +1 -0
  179. package/lib/module/components/button/Toggle.js +82 -0
  180. package/lib/module/components/button/Toggle.js.map +1 -0
  181. package/lib/module/components/button/index.js +4 -0
  182. package/lib/module/components/button/index.js.map +1 -0
  183. package/lib/module/components/feed/FeedContentPane.js +97 -0
  184. package/lib/module/components/feed/FeedContentPane.js.map +1 -0
  185. package/lib/module/components/feed/MediaFeed.js +170 -0
  186. package/lib/module/components/feed/MediaFeed.js.map +1 -0
  187. package/lib/module/components/feed/MediaFeedBackground.js +118 -0
  188. package/lib/module/components/feed/MediaFeedBackground.js.map +1 -0
  189. package/lib/module/components/feed/MediaFeedRefresh.js +103 -0
  190. package/lib/module/components/feed/MediaFeedRefresh.js.map +1 -0
  191. package/lib/module/components/feed/constants.js +3 -0
  192. package/lib/module/components/feed/constants.js.map +1 -0
  193. package/lib/module/components/feed/context.js +15 -0
  194. package/lib/module/components/feed/context.js.map +1 -0
  195. package/lib/module/components/feed/hooks.js +255 -0
  196. package/lib/module/components/feed/hooks.js.map +1 -0
  197. package/lib/module/components/feed/index.js +3 -0
  198. package/lib/module/components/feed/index.js.map +1 -0
  199. package/lib/module/components/form/Condition.js +22 -0
  200. package/lib/module/components/form/Condition.js.map +1 -0
  201. package/lib/module/components/form/Field.js +51 -0
  202. package/lib/module/components/form/Field.js.map +1 -0
  203. package/lib/module/components/form/Form.js +375 -0
  204. package/lib/module/components/form/Form.js.map +1 -0
  205. package/lib/module/components/form/FormFooter.js +165 -0
  206. package/lib/module/components/form/FormFooter.js.map +1 -0
  207. package/lib/module/components/form/UploadProgress/index.js +59 -0
  208. package/lib/module/components/form/UploadProgress/index.js.map +1 -0
  209. package/lib/module/components/form/index.js +4 -0
  210. package/lib/module/components/form/index.js.map +1 -0
  211. package/lib/module/components/form/input/Editable.js +146 -0
  212. package/lib/module/components/form/input/Editable.js.map +1 -0
  213. package/lib/module/components/form/input/InputSlider.js +51 -0
  214. package/lib/module/components/form/input/InputSlider.js.map +1 -0
  215. package/lib/module/components/form/input/OptionalTag.js +39 -0
  216. package/lib/module/components/form/input/OptionalTag.js.map +1 -0
  217. package/lib/module/components/form/input/StandaloneInput.js +27 -0
  218. package/lib/module/components/form/input/StandaloneInput.js.map +1 -0
  219. package/lib/module/components/form/input/boolean/index.js +77 -0
  220. package/lib/module/components/form/input/boolean/index.js.map +1 -0
  221. package/lib/module/components/form/input/color/index.js +141 -0
  222. package/lib/module/components/form/input/color/index.js.map +1 -0
  223. package/lib/module/components/form/input/common/InputClearButton.js +55 -0
  224. package/lib/module/components/form/input/common/InputClearButton.js.map +1 -0
  225. package/lib/module/components/form/input/date/index.js +106 -0
  226. package/lib/module/components/form/input/date/index.js.map +1 -0
  227. package/lib/module/components/form/input/datetime/index.js +149 -0
  228. package/lib/module/components/form/input/datetime/index.js.map +1 -0
  229. package/lib/module/components/form/input/file/index.js +221 -0
  230. package/lib/module/components/form/input/file/index.js.map +1 -0
  231. package/lib/module/components/form/input/hooks/index.js +3 -0
  232. package/lib/module/components/form/input/hooks/index.js.map +1 -0
  233. package/lib/module/components/form/input/hooks/useInputColor.js +7 -0
  234. package/lib/module/components/form/input/hooks/useInputColor.js.map +1 -0
  235. package/lib/module/components/form/input/hooks/useInputImperativeHandle.js +16 -0
  236. package/lib/module/components/form/input/hooks/useInputImperativeHandle.js.map +1 -0
  237. package/lib/module/components/form/input/hooks/useInputStyle.js +43 -0
  238. package/lib/module/components/form/input/hooks/useInputStyle.js.map +1 -0
  239. package/lib/module/components/form/input/index.js +3 -0
  240. package/lib/module/components/form/input/index.js.map +1 -0
  241. package/lib/module/components/form/input/input.js +153 -0
  242. package/lib/module/components/form/input/input.js.map +1 -0
  243. package/lib/module/components/form/input/multipleSelect/index.js +74 -0
  244. package/lib/module/components/form/input/multipleSelect/index.js.map +1 -0
  245. package/lib/module/components/form/input/number/index.js +111 -0
  246. package/lib/module/components/form/input/number/index.js.map +1 -0
  247. package/lib/module/components/form/input/select/index.js +219 -0
  248. package/lib/module/components/form/input/select/index.js.map +1 -0
  249. package/lib/module/components/form/input/socialMedia/index.js +213 -0
  250. package/lib/module/components/form/input/socialMedia/index.js.map +1 -0
  251. package/lib/module/components/form/input/text/index.js +91 -0
  252. package/lib/module/components/form/input/text/index.js.map +1 -0
  253. package/lib/module/components/form/input/text/textarea.js +57 -0
  254. package/lib/module/components/form/input/text/textarea.js.map +1 -0
  255. package/lib/module/components/form/input/time/index.js +119 -0
  256. package/lib/module/components/form/input/time/index.js.map +1 -0
  257. package/lib/module/components/form/types.js +2 -0
  258. package/lib/module/components/form/types.js.map +1 -0
  259. package/lib/module/components/form/view/file.js +50 -0
  260. package/lib/module/components/form/view/file.js.map +1 -0
  261. package/lib/module/components/form/view/index.js +83 -0
  262. package/lib/module/components/form/view/index.js.map +1 -0
  263. package/lib/module/components/form/view/multipleSelect.js +44 -0
  264. package/lib/module/components/form/view/multipleSelect.js.map +1 -0
  265. package/lib/module/components/form/view/select.js +38 -0
  266. package/lib/module/components/form/view/select.js.map +1 -0
  267. package/lib/module/components/icons/index.js +38 -0
  268. package/lib/module/components/icons/index.js.map +1 -0
  269. package/lib/module/components/index.js +9 -0
  270. package/lib/module/components/index.js.map +1 -0
  271. package/lib/module/components/loading/CircularProgress.js +42 -0
  272. package/lib/module/components/loading/CircularProgress.js.map +1 -0
  273. package/lib/module/components/loading/Loading.js +163 -0
  274. package/lib/module/components/loading/Loading.js.map +1 -0
  275. package/lib/module/components/loading/LoadingImage.js +108 -0
  276. package/lib/module/components/loading/LoadingImage.js.map +1 -0
  277. package/lib/module/components/loading/LoadingSwitch.js +93 -0
  278. package/lib/module/components/loading/LoadingSwitch.js.map +1 -0
  279. package/lib/module/components/loading/index.js +5 -0
  280. package/lib/module/components/loading/index.js.map +1 -0
  281. package/lib/module/components/overlay/ImageViewOverlay.js +119 -0
  282. package/lib/module/components/overlay/ImageViewOverlay.js.map +1 -0
  283. package/lib/module/components/overlay/index.js +2 -0
  284. package/lib/module/components/overlay/index.js.map +1 -0
  285. package/lib/module/components/text/AnimatedText.js +56 -0
  286. package/lib/module/components/text/AnimatedText.js.map +1 -0
  287. package/lib/module/components/text/Txt.js +15 -0
  288. package/lib/module/components/text/Txt.js.map +1 -0
  289. package/lib/module/components/text/index.js +2 -0
  290. package/lib/module/components/text/index.js.map +1 -0
  291. package/lib/module/components/theme/colorMode/DarkModeToggle.js +41 -0
  292. package/lib/module/components/theme/colorMode/DarkModeToggle.js.map +1 -0
  293. package/lib/module/components/theme/colorMode/index.js +2 -0
  294. package/lib/module/components/theme/colorMode/index.js.map +1 -0
  295. package/lib/module/components/theme/index.js +2 -0
  296. package/lib/module/components/theme/index.js.map +1 -0
  297. package/lib/module/constants/index.js +2 -0
  298. package/lib/module/constants/index.js.map +1 -0
  299. package/lib/module/constants/toast.js +25 -0
  300. package/lib/module/constants/toast.js.map +1 -0
  301. package/lib/module/contexts/index.js +2 -0
  302. package/lib/module/contexts/index.js.map +1 -0
  303. package/lib/module/contexts/root.js +26 -0
  304. package/lib/module/contexts/root.js.map +1 -0
  305. package/lib/module/hooks/index.js +2 -0
  306. package/lib/module/hooks/index.js.map +1 -0
  307. package/lib/module/hooks/useThemeState.js +14 -0
  308. package/lib/module/hooks/useThemeState.js.map +1 -0
  309. package/lib/module/index.js +6 -0
  310. package/lib/module/index.js.map +1 -0
  311. package/lib/module/store/index.js +2 -0
  312. package/lib/module/store/index.js.map +1 -0
  313. package/lib/module/store/useScreen.js +29 -0
  314. package/lib/module/store/useScreen.js.map +1 -0
  315. package/lib/module/styles/fill.js +19 -0
  316. package/lib/module/styles/fill.js.map +1 -0
  317. package/lib/typescript/src/components/box/Center.d.ts +5 -0
  318. package/lib/typescript/src/components/box/Center.d.ts.map +1 -0
  319. package/lib/typescript/src/components/box/CollapseHorizontal.d.ts +7 -0
  320. package/lib/typescript/src/components/box/CollapseHorizontal.d.ts.map +1 -0
  321. package/lib/typescript/src/components/box/ContentBox.d.ts +3 -0
  322. package/lib/typescript/src/components/box/ContentBox.d.ts.map +1 -0
  323. package/lib/typescript/src/components/box/DropShadow.d.ts +6 -0
  324. package/lib/typescript/src/components/box/DropShadow.d.ts.map +1 -0
  325. package/lib/typescript/src/components/box/ExpandOnMount.d.ts +9 -0
  326. package/lib/typescript/src/components/box/ExpandOnMount.d.ts.map +1 -0
  327. package/lib/typescript/src/components/box/Expandable.d.ts +23 -0
  328. package/lib/typescript/src/components/box/Expandable.d.ts.map +1 -0
  329. package/lib/typescript/src/components/box/FullSizeContainer.d.ts +16 -0
  330. package/lib/typescript/src/components/box/FullSizeContainer.d.ts.map +1 -0
  331. package/lib/typescript/src/components/box/index.d.ts +8 -0
  332. package/lib/typescript/src/components/box/index.d.ts.map +1 -0
  333. package/lib/typescript/src/components/button/DeleteButton.d.ts +21 -0
  334. package/lib/typescript/src/components/button/DeleteButton.d.ts.map +1 -0
  335. package/lib/typescript/src/components/button/LoadingButton.d.ts +17 -0
  336. package/lib/typescript/src/components/button/LoadingButton.d.ts.map +1 -0
  337. package/lib/typescript/src/components/button/Toggle.d.ts +14 -0
  338. package/lib/typescript/src/components/button/Toggle.d.ts.map +1 -0
  339. package/lib/typescript/src/components/button/index.d.ts +4 -0
  340. package/lib/typescript/src/components/button/index.d.ts.map +1 -0
  341. package/lib/typescript/src/components/feed/FeedContentPane.d.ts +16 -0
  342. package/lib/typescript/src/components/feed/FeedContentPane.d.ts.map +1 -0
  343. package/lib/typescript/src/components/feed/MediaFeed.d.ts +5 -0
  344. package/lib/typescript/src/components/feed/MediaFeed.d.ts.map +1 -0
  345. package/lib/typescript/src/components/feed/MediaFeedBackground.d.ts +19 -0
  346. package/lib/typescript/src/components/feed/MediaFeedBackground.d.ts.map +1 -0
  347. package/lib/typescript/src/components/feed/MediaFeedRefresh.d.ts +7 -0
  348. package/lib/typescript/src/components/feed/MediaFeedRefresh.d.ts.map +1 -0
  349. package/lib/typescript/src/components/feed/constants.d.ts +3 -0
  350. package/lib/typescript/src/components/feed/constants.d.ts.map +1 -0
  351. package/lib/typescript/src/components/feed/context.d.ts +12 -0
  352. package/lib/typescript/src/components/feed/context.d.ts.map +1 -0
  353. package/lib/typescript/src/components/feed/hooks.d.ts +16 -0
  354. package/lib/typescript/src/components/feed/hooks.d.ts.map +1 -0
  355. package/lib/typescript/src/components/feed/index.d.ts +3 -0
  356. package/lib/typescript/src/components/feed/index.d.ts.map +1 -0
  357. package/lib/typescript/src/components/form/Condition.d.ts +6 -0
  358. package/lib/typescript/src/components/form/Condition.d.ts.map +1 -0
  359. package/lib/typescript/src/components/form/Field.d.ts +8 -0
  360. package/lib/typescript/src/components/form/Field.d.ts.map +1 -0
  361. package/lib/typescript/src/components/form/Form.d.ts +18 -0
  362. package/lib/typescript/src/components/form/Form.d.ts.map +1 -0
  363. package/lib/typescript/src/components/form/FormFooter.d.ts +9 -0
  364. package/lib/typescript/src/components/form/FormFooter.d.ts.map +1 -0
  365. package/lib/typescript/src/components/form/UploadProgress/index.d.ts +5 -0
  366. package/lib/typescript/src/components/form/UploadProgress/index.d.ts.map +1 -0
  367. package/lib/typescript/src/components/form/index.d.ts +4 -0
  368. package/lib/typescript/src/components/form/index.d.ts.map +1 -0
  369. package/lib/typescript/src/components/form/input/Editable.d.ts +4 -0
  370. package/lib/typescript/src/components/form/input/Editable.d.ts.map +1 -0
  371. package/lib/typescript/src/components/form/input/InputSlider.d.ts +9 -0
  372. package/lib/typescript/src/components/form/input/InputSlider.d.ts.map +1 -0
  373. package/lib/typescript/src/components/form/input/OptionalTag.d.ts +6 -0
  374. package/lib/typescript/src/components/form/input/OptionalTag.d.ts.map +1 -0
  375. package/lib/typescript/src/components/form/input/StandaloneInput.d.ts +16 -0
  376. package/lib/typescript/src/components/form/input/StandaloneInput.d.ts.map +1 -0
  377. package/lib/typescript/src/components/form/input/boolean/index.d.ts +5 -0
  378. package/lib/typescript/src/components/form/input/boolean/index.d.ts.map +1 -0
  379. package/lib/typescript/src/components/form/input/color/index.d.ts +5 -0
  380. package/lib/typescript/src/components/form/input/color/index.d.ts.map +1 -0
  381. package/lib/typescript/src/components/form/input/common/InputClearButton.d.ts +10 -0
  382. package/lib/typescript/src/components/form/input/common/InputClearButton.d.ts.map +1 -0
  383. package/lib/typescript/src/components/form/input/date/index.d.ts +5 -0
  384. package/lib/typescript/src/components/form/input/date/index.d.ts.map +1 -0
  385. package/lib/typescript/src/components/form/input/datetime/index.d.ts +5 -0
  386. package/lib/typescript/src/components/form/input/datetime/index.d.ts.map +1 -0
  387. package/lib/typescript/src/components/form/input/file/index.d.ts +10 -0
  388. package/lib/typescript/src/components/form/input/file/index.d.ts.map +1 -0
  389. package/lib/typescript/src/components/form/input/hooks/index.d.ts +3 -0
  390. package/lib/typescript/src/components/form/input/hooks/index.d.ts.map +1 -0
  391. package/lib/typescript/src/components/form/input/hooks/useInputColor.d.ts +2 -0
  392. package/lib/typescript/src/components/form/input/hooks/useInputColor.d.ts.map +1 -0
  393. package/lib/typescript/src/components/form/input/hooks/useInputImperativeHandle.d.ts +5 -0
  394. package/lib/typescript/src/components/form/input/hooks/useInputImperativeHandle.d.ts.map +1 -0
  395. package/lib/typescript/src/components/form/input/hooks/useInputStyle.d.ts +9 -0
  396. package/lib/typescript/src/components/form/input/hooks/useInputStyle.d.ts.map +1 -0
  397. package/lib/typescript/src/components/form/input/index.d.ts +3 -0
  398. package/lib/typescript/src/components/form/input/index.d.ts.map +1 -0
  399. package/lib/typescript/src/components/form/input/input.d.ts +6 -0
  400. package/lib/typescript/src/components/form/input/input.d.ts.map +1 -0
  401. package/lib/typescript/src/components/form/input/multipleSelect/index.d.ts +5 -0
  402. package/lib/typescript/src/components/form/input/multipleSelect/index.d.ts.map +1 -0
  403. package/lib/typescript/src/components/form/input/number/index.d.ts +8 -0
  404. package/lib/typescript/src/components/form/input/number/index.d.ts.map +1 -0
  405. package/lib/typescript/src/components/form/input/select/index.d.ts +5 -0
  406. package/lib/typescript/src/components/form/input/select/index.d.ts.map +1 -0
  407. package/lib/typescript/src/components/form/input/socialMedia/index.d.ts +5 -0
  408. package/lib/typescript/src/components/form/input/socialMedia/index.d.ts.map +1 -0
  409. package/lib/typescript/src/components/form/input/text/index.d.ts +5 -0
  410. package/lib/typescript/src/components/form/input/text/index.d.ts.map +1 -0
  411. package/lib/typescript/src/components/form/input/text/textarea.d.ts +5 -0
  412. package/lib/typescript/src/components/form/input/text/textarea.d.ts.map +1 -0
  413. package/lib/typescript/src/components/form/input/time/index.d.ts +5 -0
  414. package/lib/typescript/src/components/form/input/time/index.d.ts.map +1 -0
  415. package/lib/typescript/src/components/form/types.d.ts +4 -0
  416. package/lib/typescript/src/components/form/types.d.ts.map +1 -0
  417. package/lib/typescript/src/components/form/view/file.d.ts +9 -0
  418. package/lib/typescript/src/components/form/view/file.d.ts.map +1 -0
  419. package/lib/typescript/src/components/form/view/index.d.ts +9 -0
  420. package/lib/typescript/src/components/form/view/index.d.ts.map +1 -0
  421. package/lib/typescript/src/components/form/view/multipleSelect.d.ts +9 -0
  422. package/lib/typescript/src/components/form/view/multipleSelect.d.ts.map +1 -0
  423. package/lib/typescript/src/components/form/view/select.d.ts +9 -0
  424. package/lib/typescript/src/components/form/view/select.d.ts.map +1 -0
  425. package/lib/typescript/src/components/icons/index.d.ts +10 -0
  426. package/lib/typescript/src/components/icons/index.d.ts.map +1 -0
  427. package/lib/typescript/src/components/index.d.ts +9 -0
  428. package/lib/typescript/src/components/index.d.ts.map +1 -0
  429. package/lib/typescript/src/components/loading/CircularProgress.d.ts +7 -0
  430. package/lib/typescript/src/components/loading/CircularProgress.d.ts.map +1 -0
  431. package/lib/typescript/src/components/loading/Loading.d.ts +27 -0
  432. package/lib/typescript/src/components/loading/Loading.d.ts.map +1 -0
  433. package/lib/typescript/src/components/loading/LoadingImage.d.ts +13 -0
  434. package/lib/typescript/src/components/loading/LoadingImage.d.ts.map +1 -0
  435. package/lib/typescript/src/components/loading/LoadingSwitch.d.ts +6 -0
  436. package/lib/typescript/src/components/loading/LoadingSwitch.d.ts.map +1 -0
  437. package/lib/typescript/src/components/loading/index.d.ts +5 -0
  438. package/lib/typescript/src/components/loading/index.d.ts.map +1 -0
  439. package/lib/typescript/src/components/overlay/ImageViewOverlay.d.ts +5 -0
  440. package/lib/typescript/src/components/overlay/ImageViewOverlay.d.ts.map +1 -0
  441. package/lib/typescript/src/components/overlay/index.d.ts +2 -0
  442. package/lib/typescript/src/components/overlay/index.d.ts.map +1 -0
  443. package/lib/typescript/src/components/text/AnimatedText.d.ts +11 -0
  444. package/lib/typescript/src/components/text/AnimatedText.d.ts.map +1 -0
  445. package/lib/typescript/src/components/text/Txt.d.ts +3 -0
  446. package/lib/typescript/src/components/text/Txt.d.ts.map +1 -0
  447. package/lib/typescript/src/components/text/index.d.ts +2 -0
  448. package/lib/typescript/src/components/text/index.d.ts.map +1 -0
  449. package/lib/typescript/src/components/theme/colorMode/DarkModeToggle.d.ts +3 -0
  450. package/lib/typescript/src/components/theme/colorMode/DarkModeToggle.d.ts.map +1 -0
  451. package/lib/typescript/src/components/theme/colorMode/index.d.ts +2 -0
  452. package/lib/typescript/src/components/theme/colorMode/index.d.ts.map +1 -0
  453. package/lib/typescript/src/components/theme/index.d.ts +2 -0
  454. package/lib/typescript/src/components/theme/index.d.ts.map +1 -0
  455. package/lib/typescript/src/constants/index.d.ts +2 -0
  456. package/lib/typescript/src/constants/index.d.ts.map +1 -0
  457. package/lib/typescript/src/constants/toast.d.ts +3 -0
  458. package/lib/typescript/src/constants/toast.d.ts.map +1 -0
  459. package/lib/typescript/src/contexts/index.d.ts +2 -0
  460. package/lib/typescript/src/contexts/index.d.ts.map +1 -0
  461. package/lib/typescript/src/contexts/root.d.ts +9 -0
  462. package/lib/typescript/src/contexts/root.d.ts.map +1 -0
  463. package/lib/typescript/src/hooks/index.d.ts +2 -0
  464. package/lib/typescript/src/hooks/index.d.ts.map +1 -0
  465. package/lib/typescript/src/hooks/useThemeState.d.ts +8 -0
  466. package/lib/typescript/src/hooks/useThemeState.d.ts.map +1 -0
  467. package/lib/typescript/src/index.d.ts +6 -0
  468. package/lib/typescript/src/index.d.ts.map +1 -0
  469. package/lib/typescript/src/store/index.d.ts +2 -0
  470. package/lib/typescript/src/store/index.d.ts.map +1 -0
  471. package/lib/typescript/src/store/useScreen.d.ts +2 -0
  472. package/lib/typescript/src/store/useScreen.d.ts.map +1 -0
  473. package/lib/typescript/src/styles/fill.d.ts +269 -0
  474. package/lib/typescript/src/styles/fill.d.ts.map +1 -0
  475. package/lib/typescript/tsup.config.d.ts +3 -0
  476. package/lib/typescript/tsup.config.d.ts.map +1 -0
  477. package/package.json +47 -11
  478. package/src/components/box/Center.tsx +19 -0
  479. package/src/components/box/CollapseHorizontal.tsx +44 -0
  480. package/src/components/box/ContentBox.tsx +24 -0
  481. package/src/components/box/DropShadow.tsx +28 -0
  482. package/src/components/box/ExpandOnMount.tsx +74 -0
  483. package/src/components/box/Expandable.tsx +143 -0
  484. package/src/components/box/FullSizeContainer.tsx +64 -0
  485. package/src/components/box/index.ts +7 -0
  486. package/src/components/button/DeleteButton.tsx +294 -0
  487. package/src/components/button/LoadingButton.tsx +155 -0
  488. package/src/components/button/Toggle.tsx +104 -0
  489. package/src/components/button/index.ts +3 -0
  490. package/src/components/feed/FeedContentPane.tsx +97 -0
  491. package/src/components/feed/MediaFeed.tsx +199 -0
  492. package/src/components/feed/MediaFeedBackground.tsx +136 -0
  493. package/src/components/feed/MediaFeedRefresh.tsx +113 -0
  494. package/src/components/feed/constants.ts +2 -0
  495. package/src/components/feed/context.tsx +19 -0
  496. package/src/components/feed/hooks.ts +279 -0
  497. package/src/components/feed/index.ts +2 -0
  498. package/src/components/form/Condition.tsx +27 -0
  499. package/src/components/form/Field.tsx +43 -0
  500. package/src/components/form/Form.tsx +393 -0
  501. package/src/components/form/FormFooter.tsx +163 -0
  502. package/src/components/form/UploadProgress/index.tsx +62 -0
  503. package/src/components/form/index.ts +3 -0
  504. package/src/components/form/input/Editable.tsx +167 -0
  505. package/src/components/form/input/InputSlider.tsx +70 -0
  506. package/src/components/form/input/OptionalTag.tsx +43 -0
  507. package/src/components/form/input/StandaloneInput.tsx +36 -0
  508. package/src/components/form/input/boolean/index.tsx +56 -0
  509. package/src/components/form/input/color/index.tsx +145 -0
  510. package/src/components/form/input/common/InputClearButton.tsx +47 -0
  511. package/src/components/form/input/date/index.tsx +103 -0
  512. package/src/components/form/input/datetime/index.tsx +143 -0
  513. package/src/components/form/input/file/index.tsx +226 -0
  514. package/src/components/form/input/hooks/index.ts +2 -0
  515. package/src/components/form/input/hooks/useInputColor.ts +7 -0
  516. package/src/components/form/input/hooks/useInputImperativeHandle.ts +22 -0
  517. package/src/components/form/input/hooks/useInputStyle.ts +40 -0
  518. package/src/components/form/input/index.ts +2 -0
  519. package/src/components/form/input/input.tsx +174 -0
  520. package/src/components/form/input/multipleSelect/index.tsx +79 -0
  521. package/src/components/form/input/number/index.tsx +100 -0
  522. package/src/components/form/input/select/index.tsx +215 -0
  523. package/src/components/form/input/socialMedia/index.tsx +234 -0
  524. package/src/components/form/input/text/index.tsx +89 -0
  525. package/src/components/form/input/text/textarea.tsx +56 -0
  526. package/src/components/form/input/time/index.tsx +106 -0
  527. package/src/components/form/types.ts +4 -0
  528. package/src/components/form/view/file.tsx +59 -0
  529. package/src/components/form/view/index.tsx +77 -0
  530. package/src/components/form/view/multipleSelect.tsx +52 -0
  531. package/src/components/form/view/select.tsx +41 -0
  532. package/src/components/icons/index.tsx +28 -0
  533. package/src/components/index.ts +8 -0
  534. package/src/components/loading/CircularProgress.tsx +53 -0
  535. package/src/components/loading/Loading.tsx +181 -0
  536. package/src/components/loading/LoadingImage.tsx +144 -0
  537. package/src/components/loading/LoadingSwitch.tsx +110 -0
  538. package/src/components/loading/index.ts +4 -0
  539. package/src/components/overlay/ImageViewOverlay.tsx +104 -0
  540. package/src/components/overlay/index.ts +1 -0
  541. package/src/components/text/AnimatedText.tsx +66 -0
  542. package/src/components/text/Txt.tsx +11 -0
  543. package/src/components/text/index.ts +1 -0
  544. package/src/components/theme/colorMode/DarkModeToggle.tsx +45 -0
  545. package/src/components/theme/colorMode/index.ts +1 -0
  546. package/src/components/theme/index.ts +1 -0
  547. package/src/constants/index.ts +1 -0
  548. package/src/constants/toast.ts +23 -0
  549. package/src/contexts/index.ts +1 -0
  550. package/src/contexts/root.tsx +39 -0
  551. package/src/hooks/index.ts +1 -0
  552. package/src/hooks/useThemeState.ts +18 -0
  553. package/src/store/index.ts +1 -0
  554. package/src/store/useScreen.ts +25 -0
  555. package/src/styles/fill.ts +19 -0
  556. package/dist/index.d.mts +0 -228
  557. package/dist/index.d.ts +0 -228
  558. package/dist/index.js +0 -2
  559. package/dist/index.js.map +0 -1
  560. package/dist/index.mjs +0 -2
  561. package/dist/index.mjs.map +0 -1
package/dist/index.d.mts DELETED
@@ -1,228 +0,0 @@
1
- import * as react from 'react';
2
- import react__default, { PropsWithChildren, FC, ReactNode, JSX } from 'react';
3
- import { ViewProps, View, StyleProp, ViewStyle, TextStyle, ActivityIndicatorProps, DimensionValue, TextProps } from 'react-native';
4
- import * as react_jsx_runtime from 'react/jsx-runtime';
5
- import { Ionicons } from '@expo/vector-icons';
6
- import { AnyObject, WithId, InputRef, FileValue, BackendAdapterInterface, Theme, ColorMode } from '@chem-po/core';
7
- import { MediaFeedProps, ListField, IFormElement, DataViewProps, FieldMap, FieldMapFormProps, Field, FieldFormProps, FormProps, EditableProps, ThemedAsset, ToastProviderProps, ChempoProps, ThemeProps } from '@chem-po/react';
8
-
9
- type CenterProps = ViewProps;
10
- declare const Center: react.ForwardRefExoticComponent<ViewProps & react.RefAttributes<View>>;
11
- declare const AnimatedCenter: react.ForwardRefExoticComponent<ViewProps & react.RefAttributes<View>>;
12
-
13
- declare const CollapseHorizontal: ({ width, children, active, duration, style: styleProp, ...props }: CenterProps & {
14
- width: number;
15
- active: boolean;
16
- duration?: number;
17
- }) => react_jsx_runtime.JSX.Element;
18
-
19
- declare const ContentBox: react.ForwardRefExoticComponent<ViewProps & react.RefAttributes<View>>;
20
-
21
- declare const DropShadow: ({ children, style, }: PropsWithChildren<{
22
- style: StyleProp<ViewStyle>;
23
- }>) => react_jsx_runtime.JSX.Element;
24
-
25
- type ExpandableProps = PropsWithChildren<{
26
- header: string | FC<{
27
- isOpen: boolean;
28
- onClose: () => void;
29
- }>;
30
- footer?: FC<{
31
- isOpen: boolean;
32
- onClose: () => void;
33
- }>;
34
- nested?: boolean;
35
- alwaysExpanded?: boolean;
36
- initExpanded?: boolean;
37
- isOpen?: boolean;
38
- onClose?: () => void;
39
- iconColor?: string;
40
- onOpen?: () => void;
41
- style?: ViewStyle;
42
- }>;
43
- declare const Expandable: ({ header, children, initExpanded, nested, alwaysExpanded, iconColor, footer, isOpen: isOpenProp, onClose: onCloseProp, onOpen: onOpenProp, style, }: ExpandableProps) => react_jsx_runtime.JSX.Element;
44
-
45
- declare const ExpandOnMount: FC<ViewProps & {
46
- in?: boolean;
47
- animateOpacity?: boolean;
48
- duration?: number;
49
- onExited?: () => void;
50
- }>;
51
-
52
- declare const FullSizeContainer: ({ children, ...props }: Omit<ViewProps, "children"> & {
53
- children: FC<{
54
- width: number;
55
- height: number;
56
- }>;
57
- }) => react_jsx_runtime.JSX.Element;
58
- interface FullSizeContextType {
59
- width: number;
60
- height: number;
61
- }
62
- declare const FullSizeProvider: ({ children, ...props }: ViewProps) => react_jsx_runtime.JSX.Element;
63
- declare const useFullSize: () => FullSizeContextType;
64
-
65
- declare const DeleteConfirmAlert: ({ confirmActive, onCancel, onConfirm, body, actionName, actionLoading, itemName, }: {
66
- confirmActive: boolean;
67
- onCancel: () => void;
68
- onConfirm: () => void;
69
- body?: string | ReactNode;
70
- actionLoading?: boolean;
71
- actionName?: string;
72
- itemName: string;
73
- }) => react_jsx_runtime.JSX.Element;
74
- declare const DeleteButton: react__default.FC<{
75
- onDelete: (() => Promise<any>) | (() => void);
76
- itemName: string;
77
- actionName?: string;
78
- noConfirm?: boolean;
79
- text?: string;
80
- alertBody?: string | ReactNode;
81
- style?: ViewStyle;
82
- }>;
83
-
84
- interface LoadingButtonProps {
85
- onPress: (() => Promise<any>) | (() => void);
86
- children: ReactNode;
87
- style?: ViewStyle;
88
- textStyle?: TextStyle;
89
- color?: string;
90
- icon?: {
91
- name: react__default.ComponentProps<typeof Ionicons>['name'];
92
- size?: number;
93
- };
94
- disabled?: boolean;
95
- }
96
- declare const LoadingButton: react__default.FC<LoadingButtonProps>;
97
-
98
- interface ToggleOption<Option extends string = string> {
99
- id: Option;
100
- disabledMessage?: string;
101
- Render: (selected: boolean) => JSX.Element;
102
- }
103
- interface ToggleProps<Option extends string> {
104
- options: ToggleOption<Option>[];
105
- value: Option;
106
- size?: number;
107
- onChange: (value: Option) => Promise<void> | void;
108
- }
109
- declare const Toggle: <Option extends string>({ value, onChange, size, options, }: ToggleProps<Option>) => react_jsx_runtime.JSX.Element;
110
-
111
- interface MediaFeedContextValue<T extends AnyObject = AnyObject> {
112
- curr: WithId<T> | null;
113
- }
114
- declare const useMediaFeed: <T extends AnyObject = AnyObject>() => MediaFeedContextValue<T>;
115
-
116
- declare const MediaFeed: <T extends AnyObject = AnyObject>({ fetch, collection: collectionPath, RenderItem, authRequired, getBackgroundUrl, getBackgroundValue, limit, defaultBackground, swipeDisabled, children, }: PropsWithChildren<MediaFeedProps<T>>) => react_jsx_runtime.JSX.Element;
117
-
118
- declare const ListFieldInput: FC<{
119
- field: ListField;
120
- name: string;
121
- }>;
122
- declare const FormElement: ({ field, name }: {
123
- field: IFormElement;
124
- name: string;
125
- }) => react_jsx_runtime.JSX.Element;
126
- declare const DataView: ({ field, value, onClose, onDelete, onSubmit, itemName, storagePath, path, }: DataViewProps & {
127
- path?: string;
128
- }) => react_jsx_runtime.JSX.Element;
129
- declare const FieldMapForm: <F extends FieldMap>({ onSubmit: onSubmitProp, onBack, field, value, buttonText, renderFooter, storagePath, }: FieldMapFormProps<F>) => react_jsx_runtime.JSX.Element;
130
- declare const FieldForm: <F extends Field | ListField>({ onSubmit, field, value, ...props }: FieldFormProps<F>) => react_jsx_runtime.JSX.Element;
131
- declare const Form: <F extends IFormElement>({ field, ...props }: FormProps<F>) => react_jsx_runtime.JSX.Element;
132
-
133
- declare const Editable: <T extends Field>({ value: initValue, field, onSubmit, storagePath, style, onEditClose, onEditOpen, }: EditableProps<ViewStyle, T>) => react_jsx_runtime.JSX.Element;
134
-
135
- interface StandaloneInputProps {
136
- onChange: (v?: any) => void;
137
- value?: any;
138
- field: Field;
139
- onBlur?: () => void;
140
- onFocus?: () => void;
141
- theme?: 'basic' | 'detailed';
142
- inEditable?: boolean;
143
- style?: StyleProp<ViewStyle>;
144
- }
145
- declare const StandaloneInput: react.ForwardRefExoticComponent<StandaloneInputProps & react.RefAttributes<InputRef>>;
146
-
147
- declare const FileView: ({ value, hasUpload, imageOptions, }: {
148
- value?: FileValue | null;
149
- hasUpload?: boolean;
150
- imageOptions?: any;
151
- }) => react_jsx_runtime.JSX.Element;
152
-
153
- declare const CircularProgress: ({ color, trackColor, animating, visible, viewStyle, ...props }: ActivityIndicatorProps & {
154
- trackColor?: string;
155
- viewStyle?: StyleProp<ViewStyle>;
156
- visible?: boolean;
157
- }) => react_jsx_runtime.JSX.Element;
158
-
159
- declare const LottieLoadingLogo: ({ size, isLoading, speed, inFeed, asset, }: {
160
- size?: number;
161
- color?: string;
162
- isLoading: boolean;
163
- asset: ThemedAsset;
164
- inFeed?: boolean;
165
- speed?: number;
166
- }) => react_jsx_runtime.JSX.Element;
167
- declare const LoadingLogo: ({ isLoading, size, inFeed, }: {
168
- isLoading: boolean;
169
- size?: number;
170
- inFeed?: boolean;
171
- }) => react_jsx_runtime.JSX.Element;
172
- declare const Loading: ({ text, inBox, containerStyle, }: {
173
- text?: string;
174
- inBox?: boolean;
175
- containerStyle?: ViewStyle;
176
- }) => react_jsx_runtime.JSX.Element;
177
- declare const LoadingOverlay: ({ isLoading, text, inFeed, style, }: {
178
- isLoading: boolean;
179
- text?: string;
180
- inFeed?: boolean;
181
- style?: ViewStyle;
182
- }) => react_jsx_runtime.JSX.Element;
183
-
184
- interface LoadingImageProps {
185
- src?: string | null;
186
- loadingOverride?: boolean;
187
- onLoad?: (e: any) => void;
188
- noFullView?: boolean;
189
- buttonFullView?: boolean;
190
- style?: ViewStyle;
191
- width?: DimensionValue;
192
- height?: DimensionValue;
193
- }
194
- declare const LoadingImage: ({ src, loadingOverride, onLoad, width, height, noFullView, buttonFullView, style, }: LoadingImageProps) => react_jsx_runtime.JSX.Element;
195
-
196
- declare const LoadingSwitch: ({ value, label, onChange, }: {
197
- value: boolean;
198
- label: string;
199
- onChange: (updated: boolean) => Promise<void>;
200
- }) => react_jsx_runtime.JSX.Element;
201
-
202
- declare const ImageViewOverlay: ({ src, onClose }: {
203
- src: string;
204
- onClose: () => void;
205
- }) => react_jsx_runtime.JSX.Element;
206
-
207
- declare const Txt: ({ children, ...props }: TextProps) => react_jsx_runtime.JSX.Element;
208
-
209
- declare const DarkModeToggle: () => react_jsx_runtime.JSX.Element;
210
- declare const AbsoluteDarkModeToggle: () => react_jsx_runtime.JSX.Element;
211
-
212
- declare const nativeToast: ToastProviderProps;
213
-
214
- interface ChempoNativeProviderProps extends PropsWithChildren<Pick<ChempoProps<BackendAdapterInterface>, 'backendAdapter' | 'assets'>> {
215
- theme?: Theme;
216
- initialColorMode?: ColorMode;
217
- }
218
- declare const ChempoNativeProvider: ({ theme: themeProp, initialColorMode, ...props }: ChempoNativeProviderProps) => react_jsx_runtime.JSX.Element;
219
-
220
- interface UseThemeProps {
221
- initialColorMode?: ColorMode;
222
- theme?: Theme;
223
- }
224
- declare const useThemeState: (props?: UseThemeProps) => ThemeProps;
225
-
226
- declare const initializeScreen: () => () => void;
227
-
228
- export { AbsoluteDarkModeToggle, AnimatedCenter, Center, type CenterProps, ChempoNativeProvider, type ChempoNativeProviderProps, CircularProgress, CollapseHorizontal, ContentBox, DarkModeToggle, DataView, DeleteButton, DeleteConfirmAlert, DropShadow, Editable, ExpandOnMount, Expandable, FieldForm, FieldMapForm, FileView, Form, FormElement, FullSizeContainer, FullSizeProvider, ImageViewOverlay, ListFieldInput, Loading, LoadingButton, type LoadingButtonProps, LoadingImage, type LoadingImageProps, LoadingLogo, LoadingOverlay, LoadingSwitch, LottieLoadingLogo, MediaFeed, StandaloneInput, Toggle, type ToggleOption, type ToggleProps, Txt, type UseThemeProps, initializeScreen, nativeToast, useFullSize, useMediaFeed, useThemeState };
package/dist/index.d.ts DELETED
@@ -1,228 +0,0 @@
1
- import * as react from 'react';
2
- import react__default, { PropsWithChildren, FC, ReactNode, JSX } from 'react';
3
- import { ViewProps, View, StyleProp, ViewStyle, TextStyle, ActivityIndicatorProps, DimensionValue, TextProps } from 'react-native';
4
- import * as react_jsx_runtime from 'react/jsx-runtime';
5
- import { Ionicons } from '@expo/vector-icons';
6
- import { AnyObject, WithId, InputRef, FileValue, BackendAdapterInterface, Theme, ColorMode } from '@chem-po/core';
7
- import { MediaFeedProps, ListField, IFormElement, DataViewProps, FieldMap, FieldMapFormProps, Field, FieldFormProps, FormProps, EditableProps, ThemedAsset, ToastProviderProps, ChempoProps, ThemeProps } from '@chem-po/react';
8
-
9
- type CenterProps = ViewProps;
10
- declare const Center: react.ForwardRefExoticComponent<ViewProps & react.RefAttributes<View>>;
11
- declare const AnimatedCenter: react.ForwardRefExoticComponent<ViewProps & react.RefAttributes<View>>;
12
-
13
- declare const CollapseHorizontal: ({ width, children, active, duration, style: styleProp, ...props }: CenterProps & {
14
- width: number;
15
- active: boolean;
16
- duration?: number;
17
- }) => react_jsx_runtime.JSX.Element;
18
-
19
- declare const ContentBox: react.ForwardRefExoticComponent<ViewProps & react.RefAttributes<View>>;
20
-
21
- declare const DropShadow: ({ children, style, }: PropsWithChildren<{
22
- style: StyleProp<ViewStyle>;
23
- }>) => react_jsx_runtime.JSX.Element;
24
-
25
- type ExpandableProps = PropsWithChildren<{
26
- header: string | FC<{
27
- isOpen: boolean;
28
- onClose: () => void;
29
- }>;
30
- footer?: FC<{
31
- isOpen: boolean;
32
- onClose: () => void;
33
- }>;
34
- nested?: boolean;
35
- alwaysExpanded?: boolean;
36
- initExpanded?: boolean;
37
- isOpen?: boolean;
38
- onClose?: () => void;
39
- iconColor?: string;
40
- onOpen?: () => void;
41
- style?: ViewStyle;
42
- }>;
43
- declare const Expandable: ({ header, children, initExpanded, nested, alwaysExpanded, iconColor, footer, isOpen: isOpenProp, onClose: onCloseProp, onOpen: onOpenProp, style, }: ExpandableProps) => react_jsx_runtime.JSX.Element;
44
-
45
- declare const ExpandOnMount: FC<ViewProps & {
46
- in?: boolean;
47
- animateOpacity?: boolean;
48
- duration?: number;
49
- onExited?: () => void;
50
- }>;
51
-
52
- declare const FullSizeContainer: ({ children, ...props }: Omit<ViewProps, "children"> & {
53
- children: FC<{
54
- width: number;
55
- height: number;
56
- }>;
57
- }) => react_jsx_runtime.JSX.Element;
58
- interface FullSizeContextType {
59
- width: number;
60
- height: number;
61
- }
62
- declare const FullSizeProvider: ({ children, ...props }: ViewProps) => react_jsx_runtime.JSX.Element;
63
- declare const useFullSize: () => FullSizeContextType;
64
-
65
- declare const DeleteConfirmAlert: ({ confirmActive, onCancel, onConfirm, body, actionName, actionLoading, itemName, }: {
66
- confirmActive: boolean;
67
- onCancel: () => void;
68
- onConfirm: () => void;
69
- body?: string | ReactNode;
70
- actionLoading?: boolean;
71
- actionName?: string;
72
- itemName: string;
73
- }) => react_jsx_runtime.JSX.Element;
74
- declare const DeleteButton: react__default.FC<{
75
- onDelete: (() => Promise<any>) | (() => void);
76
- itemName: string;
77
- actionName?: string;
78
- noConfirm?: boolean;
79
- text?: string;
80
- alertBody?: string | ReactNode;
81
- style?: ViewStyle;
82
- }>;
83
-
84
- interface LoadingButtonProps {
85
- onPress: (() => Promise<any>) | (() => void);
86
- children: ReactNode;
87
- style?: ViewStyle;
88
- textStyle?: TextStyle;
89
- color?: string;
90
- icon?: {
91
- name: react__default.ComponentProps<typeof Ionicons>['name'];
92
- size?: number;
93
- };
94
- disabled?: boolean;
95
- }
96
- declare const LoadingButton: react__default.FC<LoadingButtonProps>;
97
-
98
- interface ToggleOption<Option extends string = string> {
99
- id: Option;
100
- disabledMessage?: string;
101
- Render: (selected: boolean) => JSX.Element;
102
- }
103
- interface ToggleProps<Option extends string> {
104
- options: ToggleOption<Option>[];
105
- value: Option;
106
- size?: number;
107
- onChange: (value: Option) => Promise<void> | void;
108
- }
109
- declare const Toggle: <Option extends string>({ value, onChange, size, options, }: ToggleProps<Option>) => react_jsx_runtime.JSX.Element;
110
-
111
- interface MediaFeedContextValue<T extends AnyObject = AnyObject> {
112
- curr: WithId<T> | null;
113
- }
114
- declare const useMediaFeed: <T extends AnyObject = AnyObject>() => MediaFeedContextValue<T>;
115
-
116
- declare const MediaFeed: <T extends AnyObject = AnyObject>({ fetch, collection: collectionPath, RenderItem, authRequired, getBackgroundUrl, getBackgroundValue, limit, defaultBackground, swipeDisabled, children, }: PropsWithChildren<MediaFeedProps<T>>) => react_jsx_runtime.JSX.Element;
117
-
118
- declare const ListFieldInput: FC<{
119
- field: ListField;
120
- name: string;
121
- }>;
122
- declare const FormElement: ({ field, name }: {
123
- field: IFormElement;
124
- name: string;
125
- }) => react_jsx_runtime.JSX.Element;
126
- declare const DataView: ({ field, value, onClose, onDelete, onSubmit, itemName, storagePath, path, }: DataViewProps & {
127
- path?: string;
128
- }) => react_jsx_runtime.JSX.Element;
129
- declare const FieldMapForm: <F extends FieldMap>({ onSubmit: onSubmitProp, onBack, field, value, buttonText, renderFooter, storagePath, }: FieldMapFormProps<F>) => react_jsx_runtime.JSX.Element;
130
- declare const FieldForm: <F extends Field | ListField>({ onSubmit, field, value, ...props }: FieldFormProps<F>) => react_jsx_runtime.JSX.Element;
131
- declare const Form: <F extends IFormElement>({ field, ...props }: FormProps<F>) => react_jsx_runtime.JSX.Element;
132
-
133
- declare const Editable: <T extends Field>({ value: initValue, field, onSubmit, storagePath, style, onEditClose, onEditOpen, }: EditableProps<ViewStyle, T>) => react_jsx_runtime.JSX.Element;
134
-
135
- interface StandaloneInputProps {
136
- onChange: (v?: any) => void;
137
- value?: any;
138
- field: Field;
139
- onBlur?: () => void;
140
- onFocus?: () => void;
141
- theme?: 'basic' | 'detailed';
142
- inEditable?: boolean;
143
- style?: StyleProp<ViewStyle>;
144
- }
145
- declare const StandaloneInput: react.ForwardRefExoticComponent<StandaloneInputProps & react.RefAttributes<InputRef>>;
146
-
147
- declare const FileView: ({ value, hasUpload, imageOptions, }: {
148
- value?: FileValue | null;
149
- hasUpload?: boolean;
150
- imageOptions?: any;
151
- }) => react_jsx_runtime.JSX.Element;
152
-
153
- declare const CircularProgress: ({ color, trackColor, animating, visible, viewStyle, ...props }: ActivityIndicatorProps & {
154
- trackColor?: string;
155
- viewStyle?: StyleProp<ViewStyle>;
156
- visible?: boolean;
157
- }) => react_jsx_runtime.JSX.Element;
158
-
159
- declare const LottieLoadingLogo: ({ size, isLoading, speed, inFeed, asset, }: {
160
- size?: number;
161
- color?: string;
162
- isLoading: boolean;
163
- asset: ThemedAsset;
164
- inFeed?: boolean;
165
- speed?: number;
166
- }) => react_jsx_runtime.JSX.Element;
167
- declare const LoadingLogo: ({ isLoading, size, inFeed, }: {
168
- isLoading: boolean;
169
- size?: number;
170
- inFeed?: boolean;
171
- }) => react_jsx_runtime.JSX.Element;
172
- declare const Loading: ({ text, inBox, containerStyle, }: {
173
- text?: string;
174
- inBox?: boolean;
175
- containerStyle?: ViewStyle;
176
- }) => react_jsx_runtime.JSX.Element;
177
- declare const LoadingOverlay: ({ isLoading, text, inFeed, style, }: {
178
- isLoading: boolean;
179
- text?: string;
180
- inFeed?: boolean;
181
- style?: ViewStyle;
182
- }) => react_jsx_runtime.JSX.Element;
183
-
184
- interface LoadingImageProps {
185
- src?: string | null;
186
- loadingOverride?: boolean;
187
- onLoad?: (e: any) => void;
188
- noFullView?: boolean;
189
- buttonFullView?: boolean;
190
- style?: ViewStyle;
191
- width?: DimensionValue;
192
- height?: DimensionValue;
193
- }
194
- declare const LoadingImage: ({ src, loadingOverride, onLoad, width, height, noFullView, buttonFullView, style, }: LoadingImageProps) => react_jsx_runtime.JSX.Element;
195
-
196
- declare const LoadingSwitch: ({ value, label, onChange, }: {
197
- value: boolean;
198
- label: string;
199
- onChange: (updated: boolean) => Promise<void>;
200
- }) => react_jsx_runtime.JSX.Element;
201
-
202
- declare const ImageViewOverlay: ({ src, onClose }: {
203
- src: string;
204
- onClose: () => void;
205
- }) => react_jsx_runtime.JSX.Element;
206
-
207
- declare const Txt: ({ children, ...props }: TextProps) => react_jsx_runtime.JSX.Element;
208
-
209
- declare const DarkModeToggle: () => react_jsx_runtime.JSX.Element;
210
- declare const AbsoluteDarkModeToggle: () => react_jsx_runtime.JSX.Element;
211
-
212
- declare const nativeToast: ToastProviderProps;
213
-
214
- interface ChempoNativeProviderProps extends PropsWithChildren<Pick<ChempoProps<BackendAdapterInterface>, 'backendAdapter' | 'assets'>> {
215
- theme?: Theme;
216
- initialColorMode?: ColorMode;
217
- }
218
- declare const ChempoNativeProvider: ({ theme: themeProp, initialColorMode, ...props }: ChempoNativeProviderProps) => react_jsx_runtime.JSX.Element;
219
-
220
- interface UseThemeProps {
221
- initialColorMode?: ColorMode;
222
- theme?: Theme;
223
- }
224
- declare const useThemeState: (props?: UseThemeProps) => ThemeProps;
225
-
226
- declare const initializeScreen: () => () => void;
227
-
228
- export { AbsoluteDarkModeToggle, AnimatedCenter, Center, type CenterProps, ChempoNativeProvider, type ChempoNativeProviderProps, CircularProgress, CollapseHorizontal, ContentBox, DarkModeToggle, DataView, DeleteButton, DeleteConfirmAlert, DropShadow, Editable, ExpandOnMount, Expandable, FieldForm, FieldMapForm, FileView, Form, FormElement, FullSizeContainer, FullSizeProvider, ImageViewOverlay, ListFieldInput, Loading, LoadingButton, type LoadingButtonProps, LoadingImage, type LoadingImageProps, LoadingLogo, LoadingOverlay, LoadingSwitch, LottieLoadingLogo, MediaFeed, StandaloneInput, Toggle, type ToggleOption, type ToggleProps, Txt, type UseThemeProps, initializeScreen, nativeToast, useFullSize, useMediaFeed, useThemeState };
package/dist/index.js DELETED
@@ -1,2 +0,0 @@
1
- 'use strict';var Pi=require('react'),reactNative=require('react-native'),jsxRuntime=require('react/jsx-runtime'),react=require('@chem-po/react'),vectorIcons=require('@expo/vector-icons'),reactNativeGestureHandler=require('react-native-gesture-handler'),da=require('lottie-react-native'),tl=require('@expo/vector-icons/MaterialCommunityIcons'),core=require('@chem-po/core'),reactHookForm=require('react-hook-form'),Ol=require('@react-native-community/slider'),reactNativePaper=require('react-native-paper'),reactNativePaperDates=require('react-native-paper-dates'),fr=require('expo-document-picker'),gr=require('expo-image-picker'),reactNativeNotifier=require('react-native-notifier');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var Pi__default=/*#__PURE__*/_interopDefault(Pi);var da__default=/*#__PURE__*/_interopDefault(da);var tl__default=/*#__PURE__*/_interopDefault(tl);var Ol__default=/*#__PURE__*/_interopDefault(Ol);var fr__namespace=/*#__PURE__*/_interopNamespace(fr);var gr__namespace=/*#__PURE__*/_interopNamespace(gr);var de=Pi.forwardRef(({style:e,...t},o)=>jsxRuntime.jsx(reactNative.View,{ref:o,style:[$o.center,e],...t})),lt=Pi.forwardRef(({style:e,...t},o)=>jsxRuntime.jsx(reactNative.Animated.View,{ref:o,style:[$o.center,e],...t})),$o=reactNative.StyleSheet.create({center:{flex:1,justifyContent:"center",alignItems:"center"}});var _u=({width:e,children:t,active:o,duration:n=400,style:r,...i})=>{let a=Pi.useRef(new reactNative.Animated.Value(o?e:0)).current,s=Pi.useRef(new reactNative.Animated.Value(o?1:0)).current;Pi.useEffect(()=>{reactNative.Animated.parallel([reactNative.Animated.timing(a,{toValue:o?e:0,duration:n,useNativeDriver:false}),reactNative.Animated.timing(s,{toValue:o?1:0,duration:n,useNativeDriver:true})]).start();},[o,a,s,e,n]);let l=Pi.useMemo(()=>({width:a,opacity:s,overflow:"hidden"}),[a,s]);return jsxRuntime.jsx(lt,{style:[l,r],...i,children:t})};var wi=(e,t)=>jsxRuntime.jsx(reactNative.View,{ref:t,style:[bi.container,e.style],...e}),bi=reactNative.StyleSheet.create({container:{backgroundColor:"#FFFFFF",padding:12,borderRadius:6,shadowColor:"#000000",shadowOffset:{width:1,height:1},shadowOpacity:.4,shadowRadius:4,elevation:4}}),Zu=Pi.forwardRef(wi);var Gt=({children:e,style:t})=>jsxRuntime.jsx(reactNative.View,{style:[{...reactNative.Platform.select({ios:{shadowColor:"#000",shadowOffset:{width:0,height:2},shadowOpacity:.25,shadowRadius:3.84},android:{elevation:5}})},t],children:e});var Y=({children:e,...t})=>{let o=react.useTextColor();return jsxRuntime.jsx(reactNative.Text,{...t,style:[{color:o},t.style],children:e})};var _t=({header:e,children:t,initExpanded:o=false,nested:n,alwaysExpanded:r,iconColor:i="#000",footer:a,isOpen:s,onClose:l,onOpen:u,style:p})=>{let[d,c]=Pi__default.default.useState(r??o),f=Pi.useRef(new reactNative.Animated.Value(0)).current,h=Pi.useRef(new reactNative.Animated.Value(0)).current;Pi.useEffect(()=>{typeof s<"u"&&c(s);},[s]);let m=Pi.useCallback(()=>{c(false),l?.();},[l]),g=Pi.useCallback(()=>{c(true),u?.();},[u]),y=Pi.useCallback(()=>{r||(d?m():g());},[r,g,m,d]);Pi.useEffect(()=>{reactNative.Animated.parallel([reactNative.Animated.timing(f,{toValue:d?1:0,duration:300,useNativeDriver:false}),reactNative.Animated.timing(h,{toValue:d?1:0,duration:300,useNativeDriver:true})]).start();},[d,f,h]);let b=h.interpolate({inputRange:[0,1],outputRange:["0deg","180deg"]});return jsxRuntime.jsxs(reactNative.View,{style:[ue.container,p],children:[jsxRuntime.jsxs(reactNative.Pressable,{onPress:y,style:ue.header,children:[jsxRuntime.jsx(reactNative.View,{style:ue.headerContent,children:typeof e=="string"?jsxRuntime.jsx(Y,{style:ue.headerText,children:e}):e({isOpen:d,onClose:m})}),!r&&jsxRuntime.jsx(reactNative.Animated.Text,{style:[ue.arrow,{transform:[{rotate:b}],color:i}],children:"\u25BC"})]}),jsxRuntime.jsx(lt,{style:[ue.content,n&&ue.nested,{maxHeight:f.interpolate({inputRange:[0,1],outputRange:[0,1e3]})}],children:t}),a?.({isOpen:d,onClose:m})]})},ue=reactNative.StyleSheet.create({container:{width:"100%"},header:{flexDirection:"row",padding:8,alignItems:"center"},headerContent:{flex:1},headerText:{fontWeight:"600",color:"#666"},arrow:{fontSize:12,marginLeft:8},content:{width:"100%",overflow:"hidden"},nested:{borderLeftWidth:4,borderLeftColor:"rgba(0,0,0,0.2)"}});var Fp=({animateOpacity:e,duration:t=300,children:o,in:n=true,onExited:r,style:i,...a})=>{let[s,l]=Pi.useState(false);Pi.useEffect(()=>{l(true);},[]);let[u,p]=Pi.useState(0),d=Pi.useRef(null),c=Pi.useMemo(()=>s&&n,[n,s]),f=Pi.useRef(new reactNative.Animated.Value(0)).current,h=Pi.useRef(new reactNative.Animated.Value(0)).current;return Pi.useEffect(()=>{d.current&&d.current.measure((m,g,y,b)=>{p(b);});},[o]),Pi.useEffect(()=>{let m=[reactNative.Animated.timing(f,{toValue:c?u:0,duration:t,useNativeDriver:false})];e&&m.push(reactNative.Animated.timing(h,{toValue:c?1:0,duration:t,delay:c?t:0,useNativeDriver:true})),reactNative.Animated.parallel(m).start(()=>{!c&&r&&r();});},[c,u,t,f,h,e,r]),jsxRuntime.jsx(reactNative.Animated.View,{style:[{overflow:"hidden",width:"100%",height:f},i],...a,children:jsxRuntime.jsx(reactNative.View,{ref:d,style:[{width:"100%"},e&&{opacity:h},i],...a,children:o})})};var kp=({children:e,...t})=>{let[o,n]=Pi.useState(0),[r,i]=Pi.useState(0),a=Pi.useRef(null),s=Pi.useCallback(l=>{let{width:u,height:p}=l.nativeEvent.layout;n(u),i(p);},[]);return jsxRuntime.jsx(reactNative.View,{ref:a,...t,style:[{width:"100%",height:"100%"},t.style],onLayout:s,children:e({width:o,height:r})})},tn=Pi.createContext({width:0,height:0}),Dp=({children:e,...t})=>{let[o,n]=Pi.useState(0),[r,i]=Pi.useState(0),a=Pi.useRef(null),s=Pi.useCallback(u=>{let{width:p,height:d}=u.nativeEvent.layout;n(p),i(d);},[]),l=Pi.useMemo(()=>({width:o,height:r}),[o,r]);return jsxRuntime.jsx(reactNative.View,{ref:a,...t,style:[{width:"100%",height:"100%"},t.style],onLayout:s,children:jsxRuntime.jsx(tn.Provider,{value:l,children:e})})},Bp=()=>Pi.useContext(tn);var Hi="Are you sure? You can't undo this action afterwards.",Ni=({confirmActive:e,onCancel:t,onConfirm:o,body:n=Hi,actionName:r="Delete",actionLoading:i,itemName:a})=>jsxRuntime.jsx(reactNative.Modal,{transparent:true,visible:e,onRequestClose:t,animationType:"fade",children:jsxRuntime.jsx(reactNative.View,{style:O.overlay,children:jsxRuntime.jsxs(reactNative.View,{style:O.alertContainer,children:[jsxRuntime.jsxs(Y,{style:O.alertTitle,children:[r," ",a,"?"]}),typeof n=="string"?jsxRuntime.jsx(Y,{style:O.alertBody,children:n}):n,jsxRuntime.jsxs(reactNative.View,{style:O.buttonContainer,children:[jsxRuntime.jsx(reactNative.TouchableOpacity,{style:O.cancelButton,onPress:t,children:jsxRuntime.jsx(Y,{style:O.cancelText,children:"Cancel"})}),jsxRuntime.jsx(reactNative.TouchableOpacity,{style:O.confirmButton,onPress:o,disabled:i,children:i?jsxRuntime.jsx(reactNative.ActivityIndicator,{color:"#fff"}):jsxRuntime.jsx(Y,{style:[O.buttonText,O.confirmButtonText],children:r})})]})]})})}),Qt=({onDelete:e,itemName:t,noConfirm:o,alertBody:n,text:r,actionName:i="Delete",style:a})=>{let{showError:s}=react.useToast(),[l,u]=Pi.useState(false),[p,d]=Pi.useState(false),c=Pi.useRef(),f=Pi.useRef(true),h=Pi.useRef(new reactNative.Animated.Value(1)).current,m=Pi.useRef(new reactNative.Animated.Value(0)).current;Pi.useEffect(()=>(f.current=true,()=>{f.current=false;}),[]);let g=Pi.useCallback(b=>{reactNative.Animated.parallel([reactNative.Animated.timing(h,{toValue:b?0:1,duration:200,useNativeDriver:true}),reactNative.Animated.timing(m,{toValue:b?1:0,duration:200,useNativeDriver:true})]).start();},[h,m]),y=Pi.useCallback(async()=>{if(c.current&&clearTimeout(c.current),d(false),e){u(true),g(true);try{await e();}catch(b){console.error(b),s(b.message??"An error occurred");}f.current&&(u(false),g(false));}else console.error("No delete function");},[e,g]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[r?jsxRuntime.jsx(reactNative.TouchableOpacity,{style:[O.button,a],onPress:b=>{b.stopPropagation(),o?y():d(true);},disabled:l,children:jsxRuntime.jsxs(reactNative.View,{style:O.buttonContent,children:[jsxRuntime.jsxs(reactNative.Animated.View,{style:[O.contentContainer,{opacity:h}],children:[jsxRuntime.jsx(vectorIcons.Ionicons,{name:"trash",size:20,color:"red"}),jsxRuntime.jsx(reactNative.Text,{style:O.buttonText,children:r})]}),jsxRuntime.jsx(reactNative.Animated.View,{style:[O.loaderContainer,{opacity:m}],children:jsxRuntime.jsx(reactNative.ActivityIndicator,{color:"#ff0000",size:"small"})})]})}):jsxRuntime.jsx(reactNative.TouchableOpacity,{style:[O.iconButton,a],onPress:b=>{b.stopPropagation(),o?y():d(true);},disabled:l,children:jsxRuntime.jsxs(reactNative.View,{style:O.buttonContent,children:[jsxRuntime.jsx(reactNative.Animated.View,{style:[O.contentContainer,{opacity:h}],children:jsxRuntime.jsx(vectorIcons.Ionicons,{name:"trash",size:24,color:"#ee0000"})}),jsxRuntime.jsx(reactNative.Animated.View,{style:[O.loaderContainer,{opacity:m}],children:jsxRuntime.jsx(reactNative.ActivityIndicator,{color:"#ff0000",size:"small"})})]})}),o?null:jsxRuntime.jsx(Ni,{confirmActive:p,onCancel:()=>d(false),actionLoading:l,onConfirm:()=>{y();},actionName:i,body:n,itemName:t})]})},O=reactNative.StyleSheet.create({overlay:{flex:1,justifyContent:"center",alignItems:"center",backgroundColor:"rgba(0, 0, 0, 0.5)"},alertContainer:{width:"80%",maxWidth:400,backgroundColor:"white",borderRadius:10,padding:20,alignItems:"center"},alertTitle:{fontSize:18,fontWeight:"bold",marginBottom:10},alertBody:{fontSize:16,marginBottom:20},buttonContainer:{flexDirection:"row",justifyContent:"space-between",width:"100%"},cancelButton:{padding:10,borderColor:"gray",borderWidth:1,borderRadius:5,flex:1,marginRight:5,alignItems:"center"},cancelText:{color:"gray",fontWeight:"bold"},confirmButton:{padding:10,backgroundColor:"red",borderRadius:5,flex:1,marginLeft:5,alignItems:"center"},buttonText:{color:"red",fontWeight:"bold"},confirmButtonText:{color:"white",textShadowColor:"rgba(0, 0, 0, 0.5)",textShadowOffset:{width:1,height:1},textShadowRadius:3},button:{flexDirection:"row",alignItems:"center",padding:10,backgroundColor:"transparent"},buttonContent:{flexDirection:"row",gap:3,borderWidth:1,borderColor:"red",paddingHorizontal:13,paddingVertical:5,borderRadius:4,alignItems:"center",justifyContent:"center",minHeight:34,position:"relative"},contentContainer:{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:3},loaderContainer:{...reactNative.StyleSheet.absoluteFillObject,alignItems:"center",justifyContent:"center"},iconButton:{padding:10,backgroundColor:"transparent"},loading:{position:"absolute",top:0,left:0,justifyContent:"center",alignItems:"center",height:24,width:24}});var tm=({onPress:e,children:t,style:o,textStyle:n,color:r,icon:i,disabled:a=false})=>{let[s,l]=Pi.useState(false),u=Pi.useRef(true),p=Pi.useRef(new reactNative.Animated.Value(1)).current,d=Pi.useRef(new reactNative.Animated.Value(0)).current,{showError:c}=react.useToast();Pi.useEffect(()=>(u.current=true,()=>{u.current=false;}),[]);let f=Pi.useCallback(y=>{reactNative.Animated.parallel([reactNative.Animated.timing(p,{toValue:y?0:1,duration:200,useNativeDriver:true}),reactNative.Animated.timing(d,{toValue:y?1:0,duration:200,useNativeDriver:true})]).start();},[p,d]),h=Pi.useCallback(async()=>{if(e){l(true),f(true);try{await e();}catch(y){console.error(y),c(y.message??"An error occurred");}u.current&&(l(false),f(false));}},[e,f,c]),m=react.useTextColor(),g=Pi.useMemo(()=>r??m,[r,m]);return jsxRuntime.jsx(reactNative.TouchableOpacity,{style:[Le.button,{borderColor:g,backgroundColor:a?"#f0f0f0":"transparent"},o],onPress:y=>{y.stopPropagation(),h();},disabled:s||a,children:jsxRuntime.jsxs(reactNative.View,{style:[Le.buttonContent,{borderColor:a?"#ccc":g}],children:[jsxRuntime.jsxs(reactNative.Animated.View,{style:[Le.contentContainer,{opacity:p}],children:[i&&jsxRuntime.jsx(vectorIcons.Ionicons,{name:i.name,size:i.size??20,color:a?"#ccc":g}),typeof t=="string"?jsxRuntime.jsx(reactNative.Text,{style:[Le.buttonText,{color:a?"#ccc":g},n],children:t}):t]}),jsxRuntime.jsx(reactNative.Animated.View,{style:[Le.loaderContainer,{opacity:d}],children:jsxRuntime.jsx(reactNative.ActivityIndicator,{color:g,size:"small"})})]})})},Le=reactNative.StyleSheet.create({button:{flexDirection:"row",alignItems:"center",backgroundColor:"transparent"},buttonContent:{flexDirection:"row",gap:8,borderWidth:1,paddingHorizontal:16,paddingVertical:8,borderRadius:4,alignItems:"center",justifyContent:"center",minHeight:40,position:"relative"},contentContainer:{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:8},loaderContainer:{...reactNative.StyleSheet.absoluteFillObject,alignItems:"center",justifyContent:"center"},buttonText:{fontWeight:"bold"}});var na=({selected:e,option:{Render:t,disabledMessage:o},size:n,onPress:r})=>{let{showError:i}=react.useToast(),a=Pi.useCallback(()=>{o?i(o):r();},[r,o,i]);return jsxRuntime.jsx(reactNative.View,{style:[eo.buttonContainer,{width:n,height:n,opacity:o?.6:1}],children:jsxRuntime.jsx(reactNative.TouchableOpacity,{style:[eo.button,{backgroundColor:e?"rgba(255, 255, 255, 0.5)":"rgba(0, 0, 0, 0.1)",pointerEvents:e?"none":"auto"}],onPress:a,disabled:!!o,children:t(e)})})},sm=({value:e,onChange:t,size:o=28,options:n})=>{let{theme:{colors:{background:r}}}=react.useTheme();return jsxRuntime.jsx(reactNative.View,{style:[eo.container,{borderColor:r[300]}],children:n.map(i=>jsxRuntime.jsx(na,{onPress:()=>{t(i.id);},option:i,size:o,selected:i.id===e},i.id))})},eo=reactNative.StyleSheet.create({container:{flexDirection:"row",borderWidth:1,borderRadius:3},buttonContainer:{justifyContent:"center",alignItems:"center"},button:{justifyContent:"center",alignItems:"center",borderRadius:3}});var un=Pi.createContext({}),pn=({curr:e,children:t})=>{let o=Pi.useMemo(()=>({curr:e}),[e]);return jsxRuntime.jsx(un.Provider,{value:o,children:t})},la=()=>Pi.useContext(un);var mn={top:0,left:0,right:0,bottom:0,display:"flex"},ie=reactNative.StyleSheet.create({absolute:{...mn,position:"absolute"},relative:{...mn,position:"relative"}});var hn=({size:e=30,isLoading:t,speed:o=2,inFeed:n,asset:r})=>{let{colorMode:i}=react.useTheme(),a=Pi.useMemo(()=>n||i==="dark"?r.dark??r.default:r.default,[r,n,i]),s=Pi.useMemo(()=>({width:e,height:e,opacity:t?.85:0}),[e,t]);return jsxRuntime.jsx(da__default.default,{source:a,autoPlay:t,loop:true,speed:o,style:s})},yn=({size:e=30,isLoading:t,asset:o,inFeed:n})=>{let{colorMode:r}=react.useTheme(),i=Pi.useMemo(()=>n||r==="dark"?o.dark??o.default:o.default,[o,n,r]),a=Pi.useMemo(()=>({width:e,height:e,opacity:t?.85:0}),[e,t]);return jsxRuntime.jsx(reactNative.Image,{source:{uri:i},style:a})},ma=({isLoading:e,size:t})=>{let{loading:o}=react.useAppAssets();return o.lottieJson?jsxRuntime.jsx(hn,{isLoading:e,size:t,asset:o.lottieJson}):o.svg?jsxRuntime.jsx(yn,{isLoading:e,size:t,asset:o.svg}):null},fe=({isLoading:e,size:t,inFeed:o})=>{let{loading:n}=react.useAppAssets();return n.lottieJson?jsxRuntime.jsx(hn,{inFeed:o,isLoading:e,size:t,asset:n.lottieJson}):n.svg?jsxRuntime.jsx(yn,{inFeed:o,isLoading:e,size:t,asset:n.svg}):jsxRuntime.jsx(reactNative.Text,{style:Ne.errorText,children:"ERROR: No loading animation found"})},no=({text:e="Loading...",inBox:t,containerStyle:o})=>{let n=jsxRuntime.jsxs(reactNative.View,{style:[Ne.loadingContainer,o],children:[jsxRuntime.jsx(ma,{isLoading:true}),jsxRuntime.jsx(reactNative.Text,{style:Ne.loadingText,children:e})]});return t?jsxRuntime.jsx(reactNative.View,{style:Ne.boxContainer,children:n}):n},ft=({isLoading:e,text:t,inFeed:o,style:n})=>{let{colorMode:r}=react.useTheme(),i=r==="dark"?"rgba(0, 0, 0, 0.53)":"rgba(255, 255, 255, 0.67)";return jsxRuntime.jsx(reactNative.View,{style:[Ne.overlay,{backgroundColor:i},{opacity:e?1:0},n],children:t?jsxRuntime.jsx(no,{text:t}):jsxRuntime.jsx(fe,{inFeed:o,size:100,isLoading:e})})},Ne=reactNative.StyleSheet.create({loadingContainer:{flexDirection:"row",alignItems:"center",padding:8},loadingText:{opacity:.8,fontSize:14,marginLeft:8},boxContainer:{padding:16,borderRadius:8,backgroundColor:"rgba(0, 0, 0, 0.05)"},overlay:{position:"absolute",top:0,left:0,right:0,bottom:0,justifyContent:"center",alignItems:"center"},errorText:{color:"red"}});var wa=e=>e==="current"?1:0,Cn=(e,t)=>{let{height:o}=t;return e==="current"?0:e==="next"?o*1.1:e==="prev"?-o*1.1:0},xn=({id:e,collectionPath:t,onItemLoad:o,RenderItem:n,status:r,offsetY:i,enterStatus:a})=>{let{height:s,width:l}=react.useScreen(),u=Pi.useMemo(()=>({height:s,width:l}),[s,l]),p=Pi.useRef(new reactNative.Animated.Value(0)).current,d=Pi.useRef(new reactNative.Animated.Value(Cn(a??"next",u))).current,c=reactNative.Animated.add(d,i),f=Pi.useMemo(()=>`${t}/${e}`,[t,e]),{data:h}=react.useDocument(f,o);return Pi.useEffect(()=>{let m=wa(r),g=Cn(r,u);d.setValue(g),p.setValue(m);},[r,d,p,u]),jsxRuntime.jsx(reactNative.Animated.View,{style:{position:"absolute",top:0,left:0,transform:[{translateY:c},{scale:p}],display:"flex",alignItems:"center",justifyContent:"center",height:"100%",opacity:p,width:"100%"},children:h?n(h):null})};var Va=10,Vn=(e,t,o=Va,n=false)=>{let[r,i]=Pi.useState([null,null,null]),[a,s]=Pi.useState(0),l=react.useAuth(V=>V.user),[u,p]=Pi.useState(false),[d,c]=Pi.useState(false),[f,h]=Pi.useState(null),[m,g]=Pi.useState(false),[y,b]=Pi.useState(null),T=Pi.useRef(null),C=Pi.useRef({prev:null,curr:null,next:null}),{showInfo:D,showError:B}=react.useToast(),I=Pi.useCallback(V=>{V&&(C.current.prev===V&&(C.current.prev=null),C.current.next===V&&(C.current.next=null)),C.current.curr=V,t({...C.current});},[t]),M=Pi.useCallback(V=>{V&&(C.current.prev===V&&(C.current.prev=null),C.current.curr===V&&(C.current.curr=null)),C.current.next=V,t({...C.current});},[t]),E=Pi.useCallback(V=>{V&&(C.current.curr===V&&(C.current.curr=null),C.current.next===V&&(C.current.next=null)),C.current.prev=V,t({...C.current});},[t]),P=Pi.useCallback(async(V,v,k)=>{if(!l&&n)return [];k||p(true);try{let S=await e({limit:o,startAfter:v,startBefore:V});if(k)v?i(x=>[x[0],x[1],S.ids]):V&&i(x=>[S.ids,x[1],x[2]]);else {let x=S.ids[0],_=S.ids[1]||null;I(x),M(_),E(v),i(v?W=>[W[1],S.ids,null]:V?W=>[null,S.ids,W[1]]:[null,S.ids,null]);let N=S.ids[S.ids.length-1];N&&P(null,N,!0);}return p(!1),S.ids||[]}catch(S){h(S.message),B("Error fetching feed");}return p(false),[]},[e,l,n,I,M,E,o,B]),F=Pi.useCallback(async(V,v)=>{let k=r[1]??[],S=r[2]??[],x=V+1;if(x<k.length)return {id:k[x],idx:x};if(S[0]){let W=S[S.length-1];return v||(i(Me=>[Me[1],Me[2],null]),P(null,W,true)),{id:S[0],idx:0}}let N=(await P(null,k[k.length-1],v))[0];return N?{id:N,idx:0}:null},[r,P]),z=Pi.useCallback(async(V,v)=>{let k=r[1]??[],S=r[0]??[],x=V-1;if(x>=0)return {id:k[x],idx:x};if(S[S.length-1]){let W=S[0];return v||(i([null,r[0],r[1]]),P(W,null,true)),{id:S[S.length-1],idx:S.length-1}}let _=await P(k[0],null,v),N=_[_.length-1];return N?{id:N,idx:_.length-1}:null},[r,P]),H=Pi.useCallback(async()=>{if(m)return;let V=C.current.curr;g(true);let v=await F(a,false);if(b("next"),v){let{id:k,idx:S}=v;T.current=k,s(S),I(k),M(null),E(V),F(S,true).then(x=>M(x?.id??null));}else D("No more items");g(false);},[a,F,I,M,E,m,D]),Q=Pi.useCallback(async()=>{if(m)return;let V=C.current.curr;b("prev"),g(true);let v=await z(a,false);if(v){let{id:k,idx:S}=v;T.current=k,s(S),I(k),E(null),M(V),z(S,true).then(x=>E(x?.id??null));}else D("No more items");g(false);},[a,z,I,M,E,m,D]),Ce=Pi.useCallback(async()=>{p(true),c(true),i([null,null,null]),I(null),M(null),E(null),b(null),s(0),await P(null,null,false),c(false);},[P,I,M,E]),[xe]=Pi.useState(()=>P);Pi.useEffect(()=>{xe(null,null,false);},[xe]);let it=Pi.useMemo(()=>a>0&&!!r[1]?.length||!!r[0]?.length,[r,a]),at=Pi.useMemo(()=>(r[1]&&a<r[1].length)??!!r[2]?.length,[r,a]);return Pi.useMemo(()=>({ids:r,goNext:H,goPrev:Q,error:f,refresh:Ce,refreshing:d,loading:u,canGoNext:at,direction:y,canGoPrev:it,itemLoading:m}),[r,H,Q,u,f,m,at,it,Ce,d,y])};var Pn=({color:e,trackColor:t,animating:o,visible:n=true,viewStyle:r,...i})=>{let a=react.useColorModeValue("#959595","#575757"),s=Pi.useRef(new reactNative.Animated.Value(n?1:0)).current;return Pi.useEffect(()=>{reactNative.Animated.timing(s,{toValue:n?1:0,duration:300,useNativeDriver:true}).start();},[n,s]),jsxRuntime.jsxs(reactNative.Animated.View,{style:[Pa.container,{opacity:s},r],children:[jsxRuntime.jsx(reactNative.ActivityIndicator,{color:t??a,style:reactNative.StyleSheet.absoluteFill,animating:false,...i}),jsxRuntime.jsx(reactNative.ActivityIndicator,{animating:o,color:e??"#575757",...i})]})},Pa=reactNative.StyleSheet.create({container:{alignItems:"center",justifyContent:"center"}});var kn=({src:e,onClose:t})=>{let[o,n]=Pi.useState(true),r=react.useScreen(c=>c.width),i=react.useScreen(c=>c.height),[a,s]=Pi.useState({width:r/2,height:i/2}),{height:l,width:u}=Pi.useMemo(()=>{if(o)return a;let c=a.width/a.height,f=Math.min(a.height,i*.9),h=f*c;return h>r*.9&&(h=Math.min(a.width,r*.9),f=h/c),{height:f,width:h}},[i,r,a,o]),p=Pi.useCallback(()=>n(true),[]),d=Pi.useCallback(c=>{let{width:f,height:h}=c.nativeEvent.source;s({width:f,height:h}),n(false);},[]);return jsxRuntime.jsx(reactNative.Modal,{visible:true,transparent:true,animationType:"fade",onRequestClose:t,children:jsxRuntime.jsx(reactNative.View,{style:Te.modalOverlay,children:jsxRuntime.jsxs(reactNative.View,{style:Te.contentContainer,children:[jsxRuntime.jsx(reactNative.View,{style:[Te.imageContainer,{width:u,height:l,opacity:o?0:1}],children:jsxRuntime.jsx(reactNative.Image,{source:{uri:e},style:Te.image,onLoadStart:p,onLoad:d,resizeMode:"contain"})}),jsxRuntime.jsx(reactNative.TouchableOpacity,{style:Te.closeButton,onPress:t,children:jsxRuntime.jsx(vectorIcons.Ionicons,{name:"close",size:24,color:"white"})}),o&&jsxRuntime.jsx(reactNative.View,{style:Te.loadingContainer,children:jsxRuntime.jsx(fe,{isLoading:o,size:70})})]})})})},Te=reactNative.StyleSheet.create({modalOverlay:{flex:1,backgroundColor:"rgba(0, 0, 0, 0.7)"},contentContainer:{flex:1,justifyContent:"center",alignItems:"center",padding:16},imageContainer:{overflow:"hidden",borderRadius:4},image:{width:"100%",height:"100%"},closeButton:{position:"absolute",top:16,right:16,width:40,height:40,borderRadius:20,backgroundColor:"rgba(0, 0, 0, 0.5)",justifyContent:"center",alignItems:"center"},loadingContainer:{...reactNative.StyleSheet.absoluteFillObject,justifyContent:"center",alignItems:"center"}});var En="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkAAIAAAoAAv/lxKUAAAAASUVORK5CYII=",zn=({src:e,loadingOverride:t,onLoad:o,width:n,height:r,noFullView:i,buttonFullView:a,style:s})=>{let[l,u]=Pi.useState(!!e),p=Pi.useRef(null),[d,c]=Pi.useState(false),f=react.useMounted(100),h=Pi.useCallback(T=>{o&&o(T);},[o]),[m,g]=Pi.useState(e);Pi.useEffect(()=>{e&&g(e);},[e,m]);let y=Pi.useMemo(()=>l||!!t,[l,t]),b=jsxRuntime.jsx(reactNative.Image,{ref:p,source:{uri:e??En},style:[Fe.image,{opacity:e&&!y?1:0}],onLoadEnd:()=>u(false),onLoad:h,resizeMode:e?"cover":"contain"});return jsxRuntime.jsxs(reactNative.View,{style:[Fe.container,{width:n??"100%",height:r??"100%",opacity:f?1:0},s],children:[i||a?b:jsxRuntime.jsx(reactNative.TouchableOpacity,{activeOpacity:.9,onPress:()=>c(true),style:Fe.imageContainer,children:b}),a&&jsxRuntime.jsx(reactNative.TouchableOpacity,{style:Fe.fullViewButton,onPress:()=>c(true),activeOpacity:.7,children:jsxRuntime.jsx(vectorIcons.Ionicons,{name:"expand",size:20,color:"white",style:Fe.fullViewIcon})}),jsxRuntime.jsx(reactNative.View,{style:[Fe.loadingContainer,{opacity:y?1:0}],children:jsxRuntime.jsx(fe,{isLoading:y,size:10})}),d&&jsxRuntime.jsx(kn,{src:e??En,onClose:()=>c(false)})]})},Fe=reactNative.StyleSheet.create({container:{overflow:"hidden",position:"relative"},imageContainer:{width:"100%",height:"100%"},image:{width:"100%",height:"100%"},loadingContainer:{...reactNative.StyleSheet.absoluteFillObject,justifyContent:"center",alignItems:"center"},fullViewButton:{position:"absolute",top:8,right:8,width:28,height:28,borderRadius:14,backgroundColor:"rgba(0, 0, 0, 0.5)",justifyContent:"center",alignItems:"center"},fullViewIcon:{opacity:.8}});var mf=({value:e,label:t,onChange:o})=>{let[n,r]=Pi.useState(false),i=Pi.useState(new reactNative.Animated.Value(1))[0],a=Pi.useCallback(l=>{let u=Math.max(0,1e3-(Date.now()-l));setTimeout(()=>{r(false),reactNative.Animated.timing(i,{toValue:1,duration:300,useNativeDriver:true}).start();},u);},[i]),s=l=>{r(true),reactNative.Animated.timing(i,{toValue:0,duration:300,useNativeDriver:true}).start();let u=Date.now();o(l).catch(p=>{console.error(p);}),a(u);};return jsxRuntime.jsxs(reactNative.View,{style:wt.container,children:[jsxRuntime.jsxs(reactNative.Animated.View,{style:[wt.content,{opacity:i}],children:[jsxRuntime.jsx(reactNative.Text,{style:wt.label,children:t}),jsxRuntime.jsx(reactNative.Switch,{value:e,onValueChange:s})]}),n&&jsxRuntime.jsx(reactNative.View,{style:wt.loadingContainer,children:jsxRuntime.jsx(no,{})})]})},wt=reactNative.StyleSheet.create({container:{paddingVertical:4,paddingHorizontal:12,backgroundColor:"#2D3748",borderRadius:12,shadowColor:"#000",shadowOffset:{width:0,height:0},shadowOpacity:.25,shadowRadius:4,elevation:5,position:"relative",flexDirection:"row",alignItems:"center"},content:{flexDirection:"row",alignItems:"center",gap:8},label:{fontSize:20,height:24,color:"#FFFFFF"},loadingContainer:{position:"absolute",top:"-10%",left:"-10%",width:"120%",height:"120%",borderRadius:8,padding:4,justifyContent:"center",alignItems:"center"}});var Xa="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkAAIAAAoAAv/lxKUAAAAASUVORK5CYII=",Qa=reactNative.StyleSheet.create({imageBackground:{flex:1,transform:[{scale:1.075}]}}),Ct=({background:e,opacity:t=.7,style:o,...n})=>jsxRuntime.jsx(reactNative.View,{style:[ie.absolute,o],...n,children:jsxRuntime.jsx(reactNative.ImageBackground,{source:{uri:e??Xa},style:[Qa.imageBackground,{opacity:t}],resizeMode:"cover"})}),Za=({getBackgroundValue:e,item:t})=>{let o=Pi.useMemo(()=>t?e(t):null,[e,t]),{loading:n,url:r}=react.useObjectUrl(o),i=Pi.useRef(0),[a,s]=Pi.useState(0),[l,u]=Pi.useState(null),[p,d]=Pi.useState(null);return Pi.useEffect(()=>{i.current===0?(u(r),i.current=1,s(0)):(d(r),i.current=0,s(1));},[r]),jsxRuntime.jsxs(de,{style:ie.absolute,children:[jsxRuntime.jsx(Ct,{opacity:a===0?1:0,background:l}),jsxRuntime.jsx(Ct,{opacity:a===1?1:0,background:p}),jsxRuntime.jsx(fe,{isLoading:n})]})},el=({getBackgroundUrl:e,item:t})=>{let o=Pi.useMemo(()=>t?e(t):null,[e,t]),n=Pi.useRef(0),[r,i]=Pi.useState(0),[a,s]=Pi.useState(null),[l,u]=Pi.useState(null);return Pi.useEffect(()=>{o&&(n.current===0?(s(o),n.current=1,i(0)):(u(o),n.current=0,i(1)));},[o]),jsxRuntime.jsxs(de,{style:ie.absolute,children:[jsxRuntime.jsx(Ct,{opacity:r===0?1:0,background:a}),jsxRuntime.jsx(Ct,{opacity:r===1?1:0,background:l})]})},jn=({getBackgroundValue:e,getBackgroundUrl:t,...o})=>e?jsxRuntime.jsx(Za,{getBackgroundValue:e,...o}):t?jsxRuntime.jsx(el,{getBackgroundUrl:t,...o}):null;var rl=25,Kn=({offsetY:e,refreshing:t,canRefresh:o})=>{let n=Pi.useRef(new reactNative.Animated.Value(0)).current,r=Pi.useRef(new reactNative.Animated.Value(0)).current,i=reactNative.Animated.subtract(e,75),a=reactNative.Animated.divide(i,rl),s=reactNative.Animated.diffClamp(a,0,1);Pi.useEffect(()=>{reactNative.Animated.spring(n,{toValue:t?50:0,useNativeDriver:true}).start();},[t,n]),Pi.useEffect(()=>{reactNative.Animated.spring(r,{toValue:o?1:0,useNativeDriver:true}).start();},[o,r]);let l=s.interpolate({inputRange:[0,1],outputRange:[0,Math.sqrt(1)*20]}),p=reactNative.Animated.add(n,l).interpolate({inputRange:[0,20],outputRange:[0,20],extrapolate:"clamp"}),d=reactNative.Animated.multiply(r,p),c=d.interpolate({inputRange:[0,30],outputRange:[0,1],extrapolate:"clamp"}),f=reactNative.Animated.multiply(r,c),h=s.interpolate({inputRange:[0,1],outputRange:["0deg","180deg"]});return jsxRuntime.jsx(reactNative.Animated.View,{style:[Jn.container,{opacity:f,transform:[{translateY:d},{scale:f},{rotate:h}]}],children:jsxRuntime.jsxs(reactNative.View,{style:Jn.centerContainer,children:[jsxRuntime.jsx(Gt,{style:[{opacity:t?0:1}],children:jsxRuntime.jsx(tl__default.default,{name:"refresh",size:32,color:"white"})}),jsxRuntime.jsx(Gt,{style:{opacity:t?1:0},children:jsxRuntime.jsx(Pn,{animating:true,size:"large",color:"white"})})]})})},Jn=reactNative.StyleSheet.create({container:{position:"absolute",top:0,left:0,right:0,pointerEvents:"none"},centerContainer:{alignItems:"center",justifyContent:"center",width:"100%"}});var fl=e=>Pi.useCallback(t=>{let o=[];t.prev&&o.push({status:"prev",id:t.prev}),t.curr&&o.push({status:"current",id:t.curr}),t.next&&o.push({status:"next",id:t.next}),e(o);},[e]),rg=({fetch:e,collection:t,RenderItem:o,authRequired:n,getBackgroundUrl:r,getBackgroundValue:i,limit:a,defaultBackground:s,swipeDisabled:l,children:u})=>{let{width:p,height:d}=react.useScreen(),{theme:c}=react.useTheme(),f=Pi.useRef(null),h=Pi.useRef(null),[m,g]=Pi.useState(null),[y,b]=Pi.useState([]),T=Pi.useRef(new reactNative.Animated.Value(0)).current,C=fl(b),D=Pi.useRef(null),{goNext:B,goPrev:I,loading:M,canGoNext:E,canGoPrev:P,refresh:F,refreshing:z}=Vn(e,C,a,n),H=Pi.useRef(false),Q=Pi.useRef({x:0,y:0}),Ce=Pi.useCallback(x=>{l||(H.current=true,Q.current={x:x.x,y:x.y});},[l]),xe=Pi.useCallback(x=>{if(!H.current)return;let _=P?75:100,N=E?-75:-100,W=Math.max(N,Math.min(_,x.y-Q.current.y));E&&W<-65?(g("next"),B()):P&&W>65?(g("prev"),I()):(W>90||W<-90)&&(F(),D.current&&D.current.onNewData(null)),T.setValue(0),H.current=false;},[T,B,I,E,P,F]),it=Pi.useCallback(x=>{if(!H.current)return;let _=Math.max(-10,Math.min(10,x.x-Q.current.x)),N=P?75:100,W=E?-75:-100,Me=Math.max(W,Math.min(N,x.y-Q.current.y));Math.sqrt(_**2+Me**2)>10&&f.current,T.setValue(Me);},[T,E,P]),at=reactNativeGestureHandler.Gesture.Pan().onStart(Ce).onUpdate(it).onEnd(xe),V=Pi.useMemo(()=>({height:d,width:p,overflow:"hidden",pointerEvents:l?"none":"auto"}),[p,d,l]),[v,k]=Pi.useState(null),S=Pi.useCallback(x=>{y.find(N=>N.status==="current")?.id===x?._id&&k(x);},[y]);return jsxRuntime.jsx(pn,{curr:v,children:jsxRuntime.jsx(reactNativeGestureHandler.GestureDetector,{gesture:at,children:jsxRuntime.jsxs(de,{style:[gl.container,{backgroundColor:s??c.colors.background[100]}],children:[jsxRuntime.jsx(jn,{item:v,getBackgroundValue:i,getBackgroundUrl:r}),jsxRuntime.jsx(reactNative.View,{style:V,ref:h,children:jsxRuntime.jsx(de,{style:ie.relative,ref:f,children:y.map(x=>jsxRuntime.jsx(xn,{id:x.id,collectionPath:t,RenderItem:o,onItemLoad:S,status:x.status,enterStatus:m,offsetY:T},x.id))})}),jsxRuntime.jsx(Kn,{canRefresh:!P,refreshing:z,offsetY:T}),jsxRuntime.jsx(ft,{inFeed:true,isLoading:M}),u?jsxRuntime.jsx(de,{style:[ie.absolute,{zIndex:3}],children:u}):null]})})})},gl=reactNative.StyleSheet.create({container:{...ie.relative,overflow:"hidden"}});var xt=({path:e,condition:t,children:o})=>{let n=reactHookForm.useWatch({exact:true,name:e});return Pi.useMemo(()=>t(n),[n,t])?jsxRuntime.jsx(reactNative.Animated.View,{style:{paddingVertical:3,opacity:1},children:o}):null};var Tl=(e,t,o,n)=>{let r=Pi.useRef(new reactNative.Animated.Value(0)).current;return Pi.useEffect(()=>{reactNative.Animated.timing(r,{toValue:e?1:0,duration:200,useNativeDriver:false}).start();},[e,r]),Pi.useMemo(()=>({opacity:r,color:t,transform:[{scale:r.interpolate({inputRange:[0,1],outputRange:[.8,1]})}],height:r.interpolate({inputRange:[0,1],outputRange:[0,o]}),marginBottom:r.interpolate({inputRange:[0,1],outputRange:[0,n]})}),[t,o,n,r])},co=({show:e,color:t,height:o,marginBottom:n,style:r,children:i})=>{let{opacity:a,color:s,transform:l,height:u,marginBottom:p}=Tl(e,t,o,n);return jsxRuntime.jsx(reactNative.Animated.Text,{style:[r,{opacity:a,color:s,transform:l,height:u,marginBottom:p}],children:i})};var Il=({field:e,input:{onChange:t,value:o,...n}},r)=>{let{placeholder:i}=e;return Pi.useImperativeHandle(r,()=>({focus:()=>{},blur:()=>{}})),jsxRuntime.jsxs(reactNative.View,{style:{flexDirection:"row",alignItems:"center"},children:[jsxRuntime.jsx(reactNative.Switch,{value:o,onValueChange:t,...n}),jsxRuntime.jsx(reactNative.Text,{style:{marginLeft:8,fontWeight:"600",opacity:o?.9:.6},children:i})]})},Pl=Pi.forwardRef(Il),Rl=({field:e,input:{onChange:t,value:o,...n}},r)=>{let{placeholder:i}=e;return Pi.useImperativeHandle(r,()=>({focus:()=>{},blur:()=>{}})),jsxRuntime.jsxs(reactNative.View,{style:{flexDirection:"row",alignItems:"center"},children:[jsxRuntime.jsx(reactNative.Switch,{value:o,onValueChange:t,...n}),jsxRuntime.jsx(reactNative.Text,{style:{marginLeft:8,fontWeight:"600",opacity:o?.9:.6},children:i})]})},vl=Pi.forwardRef(Rl),Al=(e,t)=>e.field.type==="switch"?jsxRuntime.jsx(vl,{ref:t,...e}):jsxRuntime.jsx(Pl,{ref:t,...e}),er=Pi.forwardRef(Al);var Vt=({gradient:e,value:t,minimumValue:o,maximumValue:n,...r})=>jsxRuntime.jsx(reactNative.View,{style:[ye.container,{opacity:t!==void 0?1:.5}],children:jsxRuntime.jsxs(reactNative.View,{style:ye.sliderContainer,children:[o!==void 0?jsxRuntime.jsx(reactNative.Text,{style:[ye.label,e?ye.gradientText:null],children:typeof o=="number"?o.toFixed((r?.step??1)<1?2:0):""}):null,jsxRuntime.jsx(Ol__default.default,{style:ye.slider,minimumValue:o,maximumValue:n,step:1,...r}),n!==void 0?jsxRuntime.jsx(reactNative.Text,{style:[ye.label,e?ye.gradientText:null],children:typeof n=="number"?n.toFixed((r?.step??1)<1?2:0):""}):null]})}),ye=reactNative.StyleSheet.create({container:{width:"100%",paddingVertical:8},sliderContainer:{flexDirection:"row",alignItems:"center",width:"100%"},slider:{flex:1,height:40},label:{fontSize:14,marginHorizontal:8},gradientText:{color:"#007AFF"}});var Tt=e=>{let t=Pi.useRef(null);return Pi.useImperativeHandle(e,()=>({focus:()=>{t.current?.focus();},blur:()=>{t.current?.blur();}}),[]),t};var It=({label:e,gradient:t,value:o,...n})=>jsxRuntime.jsx(Vt,{label:e,value:o,minimumValue:0,maximumValue:255,step:1,gradient:t,...n}),ar=Pi.forwardRef(({input:{onChange:e,value:t},field:o,meta:n},r)=>{let{withAlpha:i,defaultValue:a}=o,{active:s}=n||{};Tt(r);let l=Pi.useCallback((d,c)=>{e(i?{r:0,g:0,b:0,a:1,...t,[d]:c}:{r:0,g:0,b:0,...t,[d]:c});},[t,e,i]),u=Pi.useMemo(()=>({...a,...t}),[a,t]),p=Pi.useMemo(()=>core.colorValueToHex(!!i,u),[u,i]);return jsxRuntime.jsxs(reactNative.View,{style:$e.container,children:[jsxRuntime.jsx(reactNative.View,{style:[$e.colorPreview,{backgroundColor:p}],children:jsxRuntime.jsx(reactNative.Text,{style:$e.hexText,children:p})}),jsxRuntime.jsxs(reactNative.View,{style:[$e.slidersContainer,s&&$e.activeContainer],children:[jsxRuntime.jsx(It,{label:"R",gradient:core.gradients.red,value:t?.r,onValueChange:d=>l("r",d)}),jsxRuntime.jsx(It,{label:"G",gradient:core.gradients.green,value:t?.g,onValueChange:d=>l("g",d)}),jsxRuntime.jsx(It,{label:"B",gradient:core.gradients.blue,value:t?.b,onValueChange:d=>l("b",d)}),i?jsxRuntime.jsx(It,{label:"A",gradient:core.gradients.midnight,value:t?.a,onValueChange:d=>l("a",d)}):null]})]})}),$e=reactNative.StyleSheet.create({container:{width:"100%",flexDirection:"row",alignItems:"center",gap:8},colorPreview:{width:80,height:80,borderRadius:40,justifyContent:"center",alignItems:"center",shadowColor:"#000",shadowOffset:{width:0,height:2},shadowOpacity:.25,shadowRadius:3.84,elevation:5},hexText:{fontSize:16,color:"#fff",textShadowColor:"rgba(0, 0, 0, 0.75)",textShadowOffset:{width:0,height:1},textShadowRadius:2},slidersContainer:{flex:1,padding:8,borderRadius:6},activeContainer:{shadowColor:"#fff",shadowOffset:{width:0,height:0},shadowOpacity:.5,shadowRadius:5,elevation:5}});var fo=({onPress:e,isActive:t,marginRight:o})=>{let n=react.useIconColor(),r=react.useBorderColor();return jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:e,style:[Yl.closeButton,{opacity:t?1:0,marginRight:o,borderColor:r}],hitSlop:{top:10,bottom:10,left:10,right:10},disabled:!t,children:jsxRuntime.jsx(vectorIcons.Ionicons,{name:"close",size:14,color:n,style:{alignSelf:"center"}})})},Ae=({onPress:e,isActive:t})=>jsxRuntime.jsx(fo,{marginRight:0,onPress:e,isActive:t}),Yl=reactNative.StyleSheet.create({closeButton:{padding:3,borderRadius:100,display:"flex",alignItems:"center",justifyContent:"center",borderWidth:1}});var Oe=e=>{let t=react.useTextColor(),o=react.usePlaceholderColor();return e!=null&&e!==""?t:o};var go=Pi.forwardRef(({input:{onChange:e,value:t,onFocus:o,onBlur:n},field:{placeholder:r,minDate:i,maxDate:a,optional:s},meta:{active:l}},u)=>{let p=Pi.useMemo(()=>t?new Date(`${t}T00:00:00.000`):void 0,[t]);Pi.useImperativeHandle(u,()=>({focus:()=>{o();},blur:()=>{n();}}));let d=()=>{o();},c=react.useIconColor(),f=Oe(t),h=i==="now"?new Date:i?new Date(i):void 0,m=a==="now"?new Date:a?new Date(a):void 0;return jsxRuntime.jsxs(reactNative.View,{style:Pt.container,children:[jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:Pt.button,onPress:d,children:[jsxRuntime.jsx(reactNative.Text,{style:[Pt.text,{color:f}],children:t?core.getDateString(t,"short"):r}),jsxRuntime.jsx(vectorIcons.Ionicons,{name:"calendar",size:20,color:c,style:Pt.icon}),s&&t?jsxRuntime.jsx(Ae,{onPress:()=>e(null),isActive:true}):null]}),jsxRuntime.jsx(reactNativePaper.Portal,{children:jsxRuntime.jsx(reactNativePaperDates.DatePickerModal,{locale:"en",label:"Date",date:p,startYear:h?.getFullYear(),endYear:m?.getFullYear(),mode:"single",onConfirm:g=>{e(g?.date?.toISOString()?.split("T")[0]??null),n();},onDismiss:n,visible:l})})]})});go.displayName="DateInput";var Pt=reactNative.StyleSheet.create({container:{width:"100%"},button:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",width:"100%",height:40,paddingHorizontal:12,paddingVertical:8},text:{fontSize:16,flex:1},icon:{marginRight:10}});var wo=Pi.forwardRef(({input:{value:e,onBlur:t,onChange:o,onFocus:n},field:r,meta:{active:i}},a)=>{let{placeholder:s,optional:l}=r,[u,p]=Pi.useState(true),[d,c]=Pi.useState(false),f=Pi.useMemo(()=>e?new Date(e):new Date,[e]);Pi.useImperativeHandle(a,()=>({focus:()=>{n();},blur:()=>{t();}}));let h=Pi.useCallback(B=>{if(B){let I=new Date(B);o(I.toISOString()),c(true);}else t();p(false);},[o,t]),m=Pi.useCallback(({hours:B,minutes:I})=>{let M=f?new Date(f):new Date;M.setHours(B),M.setMinutes(I),o(M.toISOString()),c(false),t();},[o,t,f]),g=Pi.useCallback(()=>{p(true),c(false),t();},[t]),y=Pi.useMemo(()=>e?new Date(e):void 0,[e]),b=Pi.useMemo(()=>e?core.getDateTimeString(e):null,[e]),T=Pi.useMemo(()=>y?{hours:y.getHours(),minutes:y.getMinutes()}:{hours:0,minutes:0},[y]),C=react.useIconColor(),D=Oe(e);return jsxRuntime.jsxs(reactNative.View,{style:Ge.container,children:[jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:Ge.button,onPress:()=>{p(true),n();},children:[jsxRuntime.jsx(reactNative.Text,{style:[Ge.text,{color:D}],children:b??s}),jsxRuntime.jsx(vectorIcons.Ionicons,{name:"calendar",size:20,color:C,style:Ge.icon}),jsxRuntime.jsx(vectorIcons.Ionicons,{name:"time",size:20,color:C,style:Ge.icon}),l&&e?jsxRuntime.jsx(Ae,{onPress:()=>o(null),isActive:!!e}):null]}),jsxRuntime.jsxs(reactNativePaper.Portal,{children:[u&&jsxRuntime.jsx(reactNativePaperDates.DatePickerModal,{locale:"en",label:"Date",date:y,mode:"single",onConfirm:B=>{h(B?.date?.toISOString()?.split("T")[0]??null);},onDismiss:g,visible:i&&u}),d&&jsxRuntime.jsx(reactNativePaperDates.TimePickerModal,{visible:i&&d,onDismiss:g,locale:"en-US",onConfirm:m,hours:T.hours,minutes:T.minutes})]})]})});wo.displayName="DateTimeInput";var Ge=reactNative.StyleSheet.create({container:{width:"100%"},button:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",width:"100%",height:40,paddingHorizontal:12,paddingVertical:8},text:{fontSize:16,flex:1},icon:{marginRight:10}});var Fs=e=>{if(!e.accept)return;let t=[];return e.accept.includes("image")&&t.push("image/jpg","image/jpeg","image/png","image/svg","image/gif"),e.accept.includes("pdf")&&t.push("application/pdf"),e.accept.includes("audio")&&t.push("audio/mp3","audio/wav","audio/x-wav","audio/webm","audio/ogg"),t.join(",")},Is=({hasUpload:e})=>{let t=react.useTextColor(),o=react.useIconColor(),n=react.useBorderColor();return jsxRuntime.jsxs(reactNative.View,{style:[se.noFileContainer,{borderColor:n}],children:[jsxRuntime.jsx(reactNative.Text,{style:[se.noFileText,{color:t}],children:e?"Tap to upload file":"No file uploaded"}),jsxRuntime.jsx(vectorIcons.Ionicons,{name:"cloud-upload",size:24,color:o})]})},vt=({value:e,hasUpload:t,imageOptions:o})=>{let{storagePath:n,dataUrl:r}=e??{},i=!r&&!n,a=react.useIconColor(),s=react.useTextColor(),l=react.useBorderColor();return !e||i?jsxRuntime.jsx(Is,{hasUpload:t}):e.type?.startsWith("image/")?jsxRuntime.jsx(zn,{src:r,width:o?.width??120,height:o?.height??120,style:se.image}):jsxRuntime.jsxs(reactNative.View,{style:[se.fileContainer,{borderColor:l}],children:[jsxRuntime.jsx(vectorIcons.Ionicons,{name:"document",size:24,color:a}),jsxRuntime.jsx(reactNative.Text,{style:[se.filename,{color:s}],children:e.filename})]})},So=Pi.forwardRef(({input:{value:e,onChange:t},field:o},n)=>{let[r,i]=Pi.useState(false),{imageOptions:a}=o||{},s=Pi.useCallback(async()=>{try{i(!0);let c;if(o.accept?.includes("image")){if(c=await gr__namespace.launchImageLibraryAsync({mediaTypes:["images"],allowsEditing:!0,quality:1,base64:!0}),!c.canceled&&c.assets[0]){let f=c.assets[0],h=f.uri.split(".").pop()??"jpeg",m=f.uri.split("/").pop()??"image";t({...e,dataUrl:f.uri,type:`image/${h}`,filename:m});}}else c=await fr__namespace.getDocumentAsync({type:Fs(o)}),c.canceled||t({...e,dataUrl:c.assets[0].uri,type:c.assets[0].mimeType,filename:c.assets[0].name});}catch(c){c instanceof Error&&console.error("Error picking file:",c.message);}finally{i(false);}},[o,t,e]);Pi.useImperativeHandle(n,()=>({focus:()=>{s();},blur:()=>{}}));let l=Pi.useMemo(()=>o.accept&&o.accept.length===1&&o.accept[0]==="image",[o]),u=Pi.useMemo(()=>l||e?.type?.startsWith("image/")?{height:120,...a}:void 0,[a,l,e]),p=react.usePlaceholderColor(),d=react.useBorderColor();return jsxRuntime.jsxs(reactNative.View,{style:[se.container,{borderColor:d}],children:[jsxRuntime.jsx(reactNative.Text,{style:[se.placeholder,{color:p}],children:o.placeholder}),jsxRuntime.jsx(reactNative.TouchableOpacity,{style:se.contentContainer,onPress:()=>void s(),disabled:r,children:jsxRuntime.jsx(vt,{hasUpload:true,imageOptions:u,value:e})})]})});So.displayName="FileComponent";var se=reactNative.StyleSheet.create({container:{width:"100%",alignItems:"center",justifyContent:"center"},placeholder:{fontSize:14,opacity:.8,marginBottom:4},contentContainer:{width:"100%",position:"relative",alignItems:"center",justifyContent:"center",padding:8,overflow:"hidden"},noFileContainer:{flexDirection:"row",alignItems:"center",justifyContent:"center",padding:16,borderWidth:1,borderRadius:4,borderStyle:"dashed"},noFileText:{fontSize:14,textAlign:"center",opacity:.8,marginRight:10},fileContainer:{flexDirection:"row",alignItems:"center",padding:8,borderWidth:1,borderRadius:4},filename:{fontSize:14,marginLeft:8},image:{borderRadius:4,overflow:"hidden"}});var yr=Pi.forwardRef(({field:e,input:t,inEditable:o},n)=>{let{options:r,renderOption:i,getOptionKey:a}=e,{onChange:s,value:l,onFocus:u,onBlur:p}=t,d=react.useColorMode(),c=react.usePlaceholderColor();Pi.useImperativeHandle(n,()=>({focus:()=>{u();},blur:()=>{p();}}));let f=m=>{s(l?.includes(m)?l.filter(g=>g!==m):[...l??[],m]);},h=jsxRuntime.jsx(reactNative.View,{style:Ye.container,children:r.map(m=>jsxRuntime.jsx(reactNative.TouchableOpacity,{style:[Ye.option,l?.includes(m)&&Ye.selectedOption],onPress:()=>f(m),children:i(m,d,!!l?.includes(m))},a?a(m):m))});return o?jsxRuntime.jsxs(reactNative.View,{style:Ye.editableContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[Ye.placeholder,{color:c}],children:e.placeholder}),h]}):h}),Ye=reactNative.StyleSheet.create({container:{width:"100%",flexDirection:"row",flexWrap:"wrap",gap:4},editableContainer:{width:"100%",paddingVertical:2},placeholder:{fontSize:14,fontWeight:"600",opacity:.8,paddingHorizontal:8,marginBottom:4},option:{padding:4,opacity:.7},selectedOption:{opacity:1}});var zs={xs:4,sm:6,md:8,lg:8,xl:8},Ls={xs:8,sm:12,md:12,lg:12,xl:12},Hs={xs:12,sm:14,md:16,lg:18,xl:20},wr=e=>Pi.useMemo(()=>reactNative.StyleSheet.create({style:{paddingVertical:zs[e??"md"],paddingHorizontal:Ls[e??"md"],fontSize:Hs[e??"md"]}}),[e]);var Io=Pi.forwardRef(({input:{onChange:e,value:t,...o},field:n,size:r,prefix:i,inEditable:a,...s},l)=>{let{type:u,defaultValue:p,placeholder:d}=n,c=react.useTextColor(),{style:f}=wr(r),h=Tt(l),[m,g]=Pi.useState(""),y=typeof t=="number"&&!Number.isNaN(t)?`${t}${m}`:"",b=react.usePlaceholderColor();return u==="slider"?jsxRuntime.jsx(Vt,{label:d,onValueChange:e,value:t,minimumValue:p}):jsxRuntime.jsxs(reactNative.View,{style:Fo.container,children:[i&&jsxRuntime.jsx(reactNative.Text,{style:Fo.prefix,children:i}),jsxRuntime.jsx(reactNative.TextInput,{ref:h,style:[Fo.input,f,{color:c}],placeholder:n.placeholder,placeholderTextColor:b,keyboardType:"numeric",value:y,onChangeText:T=>{T.endsWith(".")?g("."):T.includes(".")&&T.endsWith("0")?g("0"):g("");let C=parseFloat(T);e(isNaN(C)?void 0:C);},...o})]})}),Ks=({field:e,...t},o)=>{let n=Pi.useRef(null);return Pi.useImperativeHandle(o,()=>({focus:()=>{n.current?.focus();},blur:()=>{n.current?.blur();}})),jsxRuntime.jsx(Io,{prefix:"$",field:{...e,_type:"number"},...t})},Cr=Pi.forwardRef(Ks),Fo=reactNative.StyleSheet.create({container:{flexDirection:"row",alignItems:"center",width:"100%"},input:{flex:1,height:40,paddingHorizontal:12,paddingVertical:8,backgroundColor:"transparent"},prefix:{marginRight:4,fontSize:16}});var dc=({field:e,input:t,meta:o},n)=>{let{placeholder:r,options:i,renderOption:a,getOptionKey:s,optional:l}=e,{onChange:u,value:p,onFocus:d,onBlur:c}=t,{active:f}=o,[h,m]=Pi.useState({x:0,y:0,width:0,height:0}),g=Pi.useRef(null),y=Pi.useMemo(()=>{if(p)return i.find(F=>{if(s){let z=s(F),H=s(p);return z===H}return F===p})},[p,i,s]);Pi.useImperativeHandle(n,()=>({focus:()=>{d();},blur:()=>{c();}}));let b=()=>{g.current?.measure((F,z,H,Q,Ce,xe)=>{m({x:Ce,y:xe,width:H,height:Q});});},T=(F,z)=>typeof a=="function"?a(F,"light",z):typeof F=="object"?jsxRuntime.jsx(Y,{children:JSON.stringify(F)}):jsxRuntime.jsx(Y,{children:String(F)}),C=F=>{if(s){let z=s(F);return typeof z=="object"?JSON.stringify(z):String(z)}return typeof F=="object"?JSON.stringify(F):String(F)},D=F=>{u(F),c();},B=react.useIconColor(),I=react.usePlaceholderColor(),M=react.useBackgroundColor(100),E=react.useBackgroundColor(50),P=react.useBorderColor();return jsxRuntime.jsxs(reactNative.View,{style:q.wrapper,children:[jsxRuntime.jsx(reactNative.View,{ref:g,onLayout:b,style:q.container,children:jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:[q.button],onPress:()=>{f?c():d();},children:[jsxRuntime.jsx(reactNative.View,{style:q.buttonTextContainer,children:y?T(y,true):jsxRuntime.jsx(reactNative.Text,{style:[q.placeholder,{color:I}],children:r})}),jsxRuntime.jsx(vectorIcons.Ionicons,{name:f?"chevron-up":"chevron-down",size:20,color:B,style:q.icon}),l&&p?jsxRuntime.jsx(fo,{onPress:()=>u(null),isActive:!!p}):null]})}),jsxRuntime.jsx(reactNative.Modal,{visible:f,transparent:true,animationType:"fade",onRequestClose:()=>c(),children:jsxRuntime.jsx(reactNative.TouchableOpacity,{style:q.modalOverlay,activeOpacity:1,onPress:()=>c(),children:jsxRuntime.jsx(reactNative.View,{style:[q.dropdownContainer,{position:"absolute",top:h.y+h.height+4,left:h.x,width:h.width,backgroundColor:M,borderColor:P}],children:jsxRuntime.jsx(reactNative.ScrollView,{style:q.dropdown,children:i.map(F=>{let z=C(F),H=F===y;return jsxRuntime.jsx(reactNative.TouchableOpacity,{style:[q.option,{borderColor:P},H&&{backgroundColor:E}],onPress:()=>D(F),children:jsxRuntime.jsx(reactNative.View,{children:T(F,H)})},z)})})})})})]})},Vr=Pi.forwardRef(dc),q=reactNative.StyleSheet.create({wrapper:{width:"100%"},container:{width:"100%"},button:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",width:"100%",height:40,paddingHorizontal:12,paddingVertical:8,backgroundColor:"transparent",borderRadius:4},buttonTextContainer:{flex:1},buttonText:{fontSize:16},modalOverlay:{flex:1,backgroundColor:"rgba(0, 0, 0, 0.5)"},dropdownContainer:{backgroundColor:"white",borderWidth:1,borderColor:"#ddd",borderRadius:4,maxHeight:200,elevation:3,shadowColor:"#000",shadowOffset:{width:0,height:2},shadowOpacity:.1,shadowRadius:2,padding:0},dropdown:{maxHeight:200},option:{paddingVertical:12,paddingHorizontal:16,borderBottomWidth:1},optionText:{fontSize:16},placeholder:{color:"#666"},icon:{marginRight:10}});var bc={facebook:"facebook",instagram:"instagram",twitter:"twitter",youtube:"youtube",soundcloud:"soundcloud"},Je=({site:e,value:t,onChange:o,isModalVisible:n,onModalClose:r})=>{let{handle:i,error:a}=Pi.useMemo(()=>{try{return {handle:core.getHandle(e,t)}}catch(l){return {error:l?.message??"Error parsing handle"}}},[t,e]),s=Pi.useMemo(()=>i?`${e.toUpperCase()}: ${i}`:e.toUpperCase(),[e,i]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(reactNative.TouchableOpacity,{style:[j.iconButton,!i&&j.iconButtonInactive],onPress:()=>r(),children:jsxRuntime.jsx(reactNative.Text,{style:j.iconText,children:bc[e]})}),jsxRuntime.jsx(reactNative.Modal,{visible:n,transparent:true,animationType:"slide",onRequestClose:r,children:jsxRuntime.jsx(reactNative.View,{style:j.modalContainer,children:jsxRuntime.jsxs(reactNative.View,{style:j.modalContent,children:[jsxRuntime.jsx(reactNative.Text,{style:j.modalTitle,children:s}),a&&jsxRuntime.jsx(reactNative.Text,{style:j.errorText,children:a}),jsxRuntime.jsx(reactNative.TextInput,{style:j.modalInput,onChangeText:o,placeholder:"Handle or URL",value:t,autoCapitalize:"none",autoCorrect:false}),jsxRuntime.jsx(reactNative.TouchableOpacity,{style:j.closeButton,onPress:r,children:jsxRuntime.jsx(reactNative.Text,{style:j.closeButtonText,children:"Close"})})]})})})]})},Ir=Pi.forwardRef((e,t)=>{let{input:{value:o,onChange:n},field:{sites:r}}=e,[i,a]=Pi.useState(null),s=Pi.useCallback((l,u)=>{let{[l]:p,...d}=o??{};!u&&Object.keys(d).length===0&&n({target:{value:void 0}}),u||n(d),n({...d,[l]:u});},[n,o]);return Pi.useImperativeHandle(t,()=>({blur:()=>{},focus:()=>{}})),jsxRuntime.jsxs(reactNative.View,{style:j.container,children:[jsxRuntime.jsx(reactNative.Text,{style:j.title,children:"Links"}),jsxRuntime.jsxs(reactNative.View,{style:j.iconsContainer,children:[(!r||r.facebook)&&jsxRuntime.jsx(Je,{onChange:l=>s("facebook",l),site:"facebook",value:o?.facebook,isModalVisible:i==="facebook",onModalClose:()=>a(null)}),(!r||r.instagram)&&jsxRuntime.jsx(Je,{onChange:l=>s("instagram",l),site:"instagram",value:o?.instagram,isModalVisible:i==="instagram",onModalClose:()=>a(null)}),(!r||r.twitter)&&jsxRuntime.jsx(Je,{onChange:l=>s("twitter",l),site:"twitter",value:o?.twitter,isModalVisible:i==="twitter",onModalClose:()=>a(null)}),(!r||r.youtube)&&jsxRuntime.jsx(Je,{onChange:l=>s("youtube",l),site:"youtube",value:o?.youtube,isModalVisible:i==="youtube",onModalClose:()=>a(null)}),(!r||r.soundcloud)&&jsxRuntime.jsx(Je,{onChange:l=>s("soundcloud",l),site:"soundcloud",value:o?.soundcloud,isModalVisible:i==="soundcloud",onModalClose:()=>a(null)})]})]})}),j=reactNative.StyleSheet.create({container:{flex:1,padding:8},title:{fontSize:16,fontWeight:"bold",marginBottom:8,color:"#1A202C"},iconsContainer:{flexDirection:"row",flexWrap:"wrap",gap:8},iconButton:{width:34,height:34,borderRadius:17,backgroundColor:"#EDF2F7",justifyContent:"center",alignItems:"center"},iconButtonInactive:{opacity:.6},iconText:{fontSize:12,color:"#1A202C"},modalContainer:{flex:1,justifyContent:"center",alignItems:"center",backgroundColor:"rgba(0, 0, 0, 0.5)"},modalContent:{backgroundColor:"white",borderRadius:8,padding:16,width:"80%",maxWidth:300},modalTitle:{fontSize:16,fontWeight:"bold",marginBottom:8,color:"#1A202C"},errorText:{color:"#E53E3E",fontSize:14,marginBottom:8,padding:4,backgroundColor:"#FFF5F5"},modalInput:{borderWidth:1,borderColor:"#E2E8F0",borderRadius:4,padding:8,marginBottom:16,fontSize:16},closeButton:{backgroundColor:"#EDF2F7",padding:8,borderRadius:4,alignItems:"center"},closeButtonText:{color:"#1A202C",fontSize:16}});var Ro=Pi.forwardRef(({input:e,field:t,inEditable:o},n)=>{let r=Pi.useRef(null),{value:i,onChange:a,...s}=e;Pi.useImperativeHandle(n,()=>({focus:()=>{r.current?.focus();},blur:()=>{r.current?.blur();}}));let l=react.usePlaceholderColor(),u=react.useTextColor();return jsxRuntime.jsx(reactNative.TextInput,{ref:r,style:[Pr.textarea,o&&Pr.inEditable,{color:u}],placeholder:t.placeholder,placeholderTextColor:l,multiline:true,maxLength:200,textAlignVertical:"top",value:i??"",onChangeText:a,...s})});Ro.displayName="TextAreaComponent";var Pr=reactNative.StyleSheet.create({textarea:{width:"100%",minHeight:80,paddingHorizontal:12,paddingVertical:8,backgroundColor:"transparent",textAlignVertical:"top"},inEditable:{paddingHorizontal:0,paddingVertical:0}});var vo=Pi.forwardRef(({input:e,inEditable:t,meta:o,field:n},r)=>{let{placeholder:i,type:a}=n,[s,l]=Pi.useState(a==="password"),{value:u,onChange:p,...d}=e,c=Pi.useRef(null);Pi.useImperativeHandle(r,()=>({focus:()=>{c.current?.focus();},blur:()=>{c.current?.blur();}}));let f=react.usePlaceholderColor(),h=react.useTextColor(),m=a==="textarea"?jsxRuntime.jsx(Ro,{inEditable:t,field:n,input:e,meta:o}):jsxRuntime.jsx(reactNative.TextInput,{ref:c,style:[qe.input,t&&qe.inEditable,a==="password"&&qe.passwordInput,{color:h}],secureTextEntry:s,placeholderTextColor:f,placeholder:i,value:u??"",onChangeText:p,...d});return a==="password"?jsxRuntime.jsxs(reactNative.View,{style:qe.passwordContainer,children:[m,jsxRuntime.jsx(reactNative.TouchableOpacity,{style:qe.eyeIcon,onPress:()=>l(!s),children:jsxRuntime.jsx(vectorIcons.Ionicons,{name:s?"eye":"eye-off",size:20,color:"#666"})})]}):m});vo.displayName="TextComponent";var qe=reactNative.StyleSheet.create({input:{width:"100%",height:40,paddingHorizontal:12,paddingVertical:8},inEditable:{paddingHorizontal:0,paddingVertical:0,height:"auto"},passwordInput:{paddingRight:40},passwordContainer:{width:"100%",flexDirection:"row",alignItems:"center",position:"relative"},eyeIcon:{position:"absolute",right:12,padding:4}});var Oo=Pi.forwardRef(({input:{onChange:e,value:t,onFocus:o,onBlur:n},field:{placeholder:r,optional:i}},a)=>{let[s,l]=Pi.useState(false);Pi.useImperativeHandle(a,()=>({focus:()=>{l(true),o();},blur:()=>{l(false),n();}}));let u=({hours:g,minutes:y})=>{l(false);let b=`${core.padZeros(g)}:${core.padZeros(y)}`;e(b),n();},p=()=>{l(false),n();},d=Pi.useMemo(()=>{if(!t)return null;let[g,y]=t.split(":").map(Number),b=g>=12?"PM":"AM";return `${g%12===0?12:g%12}:${core.padZeros(y)} ${b}`},[t]),{hours:c,minutes:f}=Pi.useMemo(()=>{if(!t)return {hours:0,minutes:0};let[g,y]=t.split(":").map(Number);return {hours:g,minutes:y}},[t]),h=react.useIconColor(),m=Oe(t);return jsxRuntime.jsxs(reactNative.View,{style:Bt.container,children:[jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:Bt.button,onPress:()=>{l(true),o();},children:[jsxRuntime.jsx(reactNative.Text,{style:[Bt.text,{color:m}],children:d??r}),jsxRuntime.jsx(vectorIcons.Ionicons,{name:"time",size:20,color:h,style:Bt.icon}),i&&t?jsxRuntime.jsx(Ae,{onPress:()=>e(null),isActive:!!t}):null]}),jsxRuntime.jsx(reactNativePaper.Portal,{children:jsxRuntime.jsx(reactNativePaperDates.TimePickerModal,{visible:s,onDismiss:p,onConfirm:u,hours:c,minutes:f})})]})});Oo.displayName="TimeInput";var Bt=reactNative.StyleSheet.create({container:{width:"100%"},button:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",width:"100%",height:40,paddingHorizontal:12,paddingVertical:8},text:{fontSize:16,flex:1},icon:{marginRight:10}});var id={text:vo,file:So,boolean:er,select:Vr,multipleSelect:yr,currency:Cr,number:Io,date:go,datetime:wo,time:Oo,socialMedia:Ir,color:ar},ad=(e,t)=>{let{field:o,meta:{error:n,active:r,touched:i},input:a,inEditable:s}=e,{value:l}=a,u=react.usePlaceholderColor(),p=react.useThemeValue("colors.accent.400"),d=react.useThemeValue("colors.error.400"),c=Pi.useMemo(()=>new reactNative.Animated.Value(0),[]),f=Pi.useMemo(()=>n&&i?n:null,[n,i]),h=Pi.useMemo(()=>f?d:p,[f,p,d]);Pi.useEffect(()=>{reactNative.Animated.timing(c,{toValue:r||f?1:0,duration:300,useNativeDriver:false}).start();},[r,f,c]);let m=c.interpolate({inputRange:[0,1],outputRange:[u,h]}),{_type:g,label:y}=o,b=Pi.useMemo(()=>g==="multipleSelect"||!!l&&g!=="file"&&g!=="boolean",[l,g]),T=react.useBackgroundColor(150),C=Pi.useMemo(()=>{if(s)return {};switch(g){case "text":case "number":case "currency":case "select":case "datetime":case "date":case "time":return {shadowColor:m,shadowOffset:{width:0,height:0},shadowOpacity:1,shadowRadius:4,elevation:5,backgroundColor:T};default:return {}}},[g,m,s,T]),D=Pi.useMemo(()=>id[g],[g]);return jsxRuntime.jsxs(reactNative.View,{style:[Qe.container],children:[y&&!s?jsxRuntime.jsx(reactNative.Text,{style:Qe.label,children:y}):null,jsxRuntime.jsx(co,{style:Qe.placeholder,show:b,color:u,height:16,marginBottom:6,children:o.placeholder??""}),jsxRuntime.jsx(reactNative.Animated.View,{style:[Qe.inputContainer,C],children:jsxRuntime.jsx(D,{ref:t,...e})}),!s&&jsxRuntime.jsx(co,{style:Qe.errorText,show:!!f,color:d,height:18,marginBottom:0,children:f})]})},Qe=reactNative.StyleSheet.create({container:{position:"relative",width:"100%",paddingHorizontal:4},label:{color:"#1A202C",fontSize:14,paddingHorizontal:8},inputContainer:{width:"100%",borderRadius:4,paddingVertical:1,overflow:"hidden"},errorText:{fontSize:14,paddingHorizontal:4,fontWeight:500},placeholder:{fontSize:14,paddingHorizontal:4,overflow:"hidden"}}),Mt=Pi.forwardRef(ad);var md=({field:e,name:t},o)=>{let{control:n,getOnChange:r,meta:i,onFocus:a,onBlur:s}=react.useField(t,e),l=Pi.useMemo(()=>e.validate??core.getFieldValidate(e),[e]);return jsxRuntime.jsx(reactHookForm.Controller,{control:n,rules:{validate:l},name:t,render:({field:{name:u,ref:p,onBlur:d,...c}})=>jsxRuntime.jsx(Mt,{ref:o,field:e,input:{...c,onFocus:a,onBlur:()=>{s(),d();},onChange:r(c.onChange)},meta:i})})},kr=Pi.forwardRef(md);var et=reactNative.StyleSheet.create({container:{width:"100%",flexDirection:"column"},progressContainer:{paddingHorizontal:8,height:26,width:"100%",justifyContent:"center",alignItems:"center"},progressBar:{height:"100%",width:"100%",borderRadius:13,backgroundColor:"rgba(0, 0, 0, 0.1)",overflow:"hidden"},progressFill:{height:"100%",backgroundColor:"#3182CE"},label:{position:"absolute",color:"white",fontSize:12,fontWeight:"500",textTransform:"uppercase",textShadowColor:"rgba(0, 0, 0, 0.67)",textShadowOffset:{width:1,height:1},textShadowRadius:3}}),zt=({uploads:e})=>{let t=Pi.useMemo(()=>Object.values(e),[e]);return jsxRuntime.jsx(reactNative.View,{style:et.container,children:t.map(o=>jsxRuntime.jsxs(reactNative.Animated.View,{style:et.progressContainer,children:[jsxRuntime.jsx(reactNative.View,{style:et.progressBar,children:jsxRuntime.jsx(reactNative.Animated.View,{style:[et.progressFill,{width:`${o.percent*100}%`}]})}),jsxRuntime.jsx(reactNative.Text,{style:et.label,children:o.label})]},o.label))})};var Eo="#ffffff",re=reactNative.StyleSheet.create({container:{width:"100%"},progressContainer:{height:5,width:"100%"},footerContainer:{flexDirection:"column",paddingVertical:8,gap:5,borderTopWidth:1,paddingHorizontal:12,width:"100%"},buttonsContainer:{flexDirection:"row",justifyContent:"space-between",gap:10},cancelButton:{flex:1,paddingVertical:6,borderRadius:4,borderWidth:1},cancelButtonText:{color:Eo,fontSize:16,fontWeight:"500",textAlign:"center"},submitButtonContainer:{flex:1,borderRadius:4},submitButton:{paddingVertical:6},submitButtonText:{color:Eo,fontSize:16,fontWeight:"500",textShadowOffset:{width:.5,height:.5},textShadowRadius:5,textAlign:"center"},errorText:{color:"red",fontSize:16,paddingVertical:4}}),Pd=({onBack:e,children:t,submitting:o})=>{let n=react.usePlaceholderColor(),r=react.useBorderColor();return jsxRuntime.jsx(reactNative.TouchableOpacity,{disabled:o,style:[re.cancelButton,{borderColor:r}],onPress:e,children:jsxRuntime.jsx(reactNative.Text,{style:[re.cancelButtonText,{color:n}],children:t})})},Rd=({onSubmitClick:e,submitting:t,children:o,valid:n})=>{let r=Pi.useRef(new reactNative.Animated.Value(1)).current,i=Pi.useMemo(()=>t||!n?"rgba(0, 0, 0, 0.0)":"rgba(0, 0, 0, 0.5)",[t,n]);Pi.useEffect(()=>{reactNative.Animated.timing(r,{toValue:t||!n?.5:1,duration:200,useNativeDriver:true}).start();},[t,n,r]);let a=react.useButtonColor();return jsxRuntime.jsx(reactNative.Animated.View,{style:[re.submitButtonContainer,{opacity:r,backgroundColor:a}],children:jsxRuntime.jsx(reactNative.TouchableOpacity,{style:re.submitButton,onPress:()=>{e();},disabled:t,children:t?jsxRuntime.jsx(reactNative.ActivityIndicator,{color:Eo}):jsxRuntime.jsx(reactNative.Text,{style:[re.submitButtonText,{textShadowColor:i}],children:o})})})},vd=()=>{let{formState:e}=reactHookForm.useFormContext();return e.errors.root?jsxRuntime.jsx(reactNative.Text,{style:re.errorText,children:e.errors.root.message}):null},zr=({renderFooter:e,...t})=>{let{uploads:o,onSubmit:n,onBack:r,buttonText:i}=t,a=react.useBorderColor(),{isSubmitting:s,isValid:l}=reactHookForm.useFormState();return jsxRuntime.jsxs(reactNative.View,{style:re.container,children:[jsxRuntime.jsx(zt,{uploads:o}),e?e(t):jsxRuntime.jsxs(reactNative.View,{style:[re.footerContainer,{borderColor:a}],children:[jsxRuntime.jsx(vd,{}),jsxRuntime.jsxs(reactNative.View,{style:re.buttonsContainer,children:[r&&jsxRuntime.jsx(Pd,{submitting:s,onBack:r,children:"Cancel"}),jsxRuntime.jsx(Rd,{onSubmitClick:n,submitting:s,valid:l,children:i})]})]})]})};var tt=reactNative.StyleSheet.create({container:{flexDirection:"column"},rowContainer:{flexDirection:"row"},label:{paddingRight:8,opacity:.7,fontWeight:"600"},emptyText:{opacity:.7},fileContainer:{padding:4}}),Nr=({field:e,value:t,noLabel:o,style:n})=>{let{imageOptions:r,placeholder:i}=e,a=Pi.useMemo(()=>({height:150,...r}),[r]);return jsxRuntime.jsxs(reactNative.View,{style:[t?tt.container:tt.rowContainer,n],children:[!o&&jsxRuntime.jsx(reactNative.Text,{style:tt.label,children:i}),t?jsxRuntime.jsx(reactNative.View,{style:tt.fileContainer,children:jsxRuntime.jsx(vt,{imageOptions:a,value:t})}):jsxRuntime.jsx(reactNative.Text,{style:tt.emptyText,children:"None"})]})};var Ht=reactNative.StyleSheet.create({container:{flexDirection:"row",flexWrap:"wrap",alignItems:"center",maxWidth:"100%"},label:{paddingRight:8,opacity:.7,fontWeight:"600"},optionContainer:{padding:2},emptyText:{opacity:.6}}),$r=({field:e,value:t,noLabel:o,style:n})=>{let{placeholder:r,renderOption:i,getOptionKey:a}=e,s=reactNative.useColorScheme()??"light";return jsxRuntime.jsxs(reactNative.View,{style:[Ht.container,n],children:[!o&&jsxRuntime.jsx(reactNative.Text,{style:Ht.label,children:r}),t?t.map(l=>jsxRuntime.jsx(reactNative.View,{style:Ht.optionContainer,children:i(l,s,true)},a?a(l):l)):jsxRuntime.jsx(reactNative.Text,{style:Ht.emptyText,children:"None"})]})};var jr=reactNative.StyleSheet.create({container:{flexDirection:"row",alignItems:"center"},label:{paddingRight:10,fontWeight:"600"}}),Wd=e=>jsxRuntime.jsx(Y,{children:typeof e=="string"?e:JSON.stringify(e)}),Gr=({field:e,value:t,noLabel:o,style:n})=>{let{placeholder:r,renderOption:i}=e,a=reactNative.useColorScheme()??"light",s=react.usePlaceholderColor(),l=i??Wd;return jsxRuntime.jsxs(reactNative.View,{style:[jr.container,n],children:[!o&&jsxRuntime.jsx(reactNative.Text,{style:[jr.label,{color:s}],children:r}),t?l(t,a,true):"None"]})};var Nt=reactNative.StyleSheet.create({container:{flexDirection:"row",alignItems:"center"},label:{paddingRight:8,opacity:.7,fontWeight:"600"},value:{opacity:1},valueEmpty:{opacity:.6}}),_d=({field:e,value:t,noLabel:o,style:n})=>{let{placeholder:r}=e,i=Pi.useMemo(()=>{let a=core.formatField[e._type];return a?a(e,t):t},[t,e]);return jsxRuntime.jsxs(reactNative.View,{style:[Nt.container,n],children:[!o&&jsxRuntime.jsx(reactNative.Text,{style:Nt.label,children:r}),jsxRuntime.jsx(reactNative.Text,{style:t!=null?Nt.value:Nt.valueEmpty,children:i??"None"})]})},Wt=({field:e,value:t,noLabel:o,style:n})=>{switch(e._type){case "select":return jsxRuntime.jsx(Gr,{style:n,field:e,value:t,noLabel:o});case "multipleSelect":return jsxRuntime.jsx($r,{style:n,field:e,value:t,noLabel:o});case "file":return jsxRuntime.jsx(Nr,{style:n,field:e,value:t,noLabel:o});default:return jsxRuntime.jsx(_d,{style:n,field:e,value:t,noLabel:o})}};var Xd=({onChange:e,value:t,field:o,onBlur:n,inEditable:r,onFocus:i,style:a},s)=>{let{inputProps:l,meta:u}=react.useStandaloneInput(o,t,e,i,n);return jsxRuntime.jsx(Mt,{ref:s,field:o,inEditable:r,style:a,input:l,meta:u})},Jr=Pi.forwardRef(Xd);var Qr=({value:e,field:t,onSubmit:o,storagePath:n,style:r,onEditClose:i,onEditOpen:a})=>{let{formattedValue:s,inputRef:l,setValue:u,isLoading:p,uploads:d,editHovered:c,handleEditOpen:f,handleEditClose:h,isEditing:m,value:g,setEditHovered:y,submitValue:b,submit:T,parse:C}=react.useEditable({value:e,field:t,onSubmit:o,storagePath:n,onEditOpen:a,onEditClose:i}),D=Pi.useMemo(()=>t._type==="file"||t._type==="boolean",[t]);Pi.useEffect(()=>{m&&l.current?.focus();},[m,l]);let B=react.useColorModeValue("#00000055","#ffffff55");return jsxRuntime.jsxs(reactNative.View,{style:[be.container,{borderColor:c&&!m?B:"transparent"},r],children:[jsxRuntime.jsxs(reactNative.View,{style:be.contentContainer,children:[jsxRuntime.jsx(reactNative.View,{style:[be.inputContainer,{opacity:p?0:1,borderColor:m?B:"transparent"}],children:m||D?jsxRuntime.jsx(Jr,{ref:l,value:s,inEditable:true,field:t,style:[be.input,r],onChange:D?I=>b(C(I)):I=>u(C(I))}):jsxRuntime.jsx(Wt,{style:r,field:t,value:g})}),!D&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(reactNative.TouchableOpacity,{style:be.editButton,onPress:()=>{m?(u(g),h()):f();},onPressIn:()=>y(true),onPressOut:()=>y(false),children:jsxRuntime.jsx(vectorIcons.Ionicons,{name:m?"close":"create-outline",size:20,color:core.palette.gray.medium})}),jsxRuntime.jsx(reactNative.View,{style:[be.submitButtonContainer,{width:m?30:0,opacity:m?1:0}],children:jsxRuntime.jsx(reactNative.TouchableOpacity,{style:[be.submitButton,{backgroundColor:core.palette.cyan.light}],onPress:()=>{T();},children:jsxRuntime.jsx(vectorIcons.Ionicons,{name:"checkmark",size:20,color:"#fff"})})})]}),jsxRuntime.jsx(ft,{isLoading:p})]}),jsxRuntime.jsx(zt,{uploads:d})]})},be=reactNative.StyleSheet.create({container:{borderRadius:4,borderWidth:1,borderStyle:"dashed",width:"100%"},contentContainer:{flexDirection:"row",alignItems:"center",paddingHorizontal:4,position:"relative",width:"100%"},inputContainer:{flex:1,minWidth:0,borderWidth:1,borderStyle:"dashed"},input:{padding:0},editButton:{padding:4,marginLeft:4},submitButtonContainer:{justifyContent:"flex-end",overflow:"hidden"},submitButton:{padding:4,borderRadius:4}});var R=reactNative.StyleSheet.create({container:{width:"100%"},listContainer:{width:"100%",paddingHorizontal:8,paddingVertical:4,gap:8},listHeader:{fontSize:14,opacity:.7,lineHeight:1},listContent:{gap:8,paddingVertical:4,minHeight:30},listItem:{paddingTop:8,paddingHorizontal:8,borderWidth:1,borderColor:"#e2e8f0",borderRadius:4},listItemContent:{flexDirection:"row",alignItems:"center",gap:4,width:"100%"},listItemInput:{flex:1,minWidth:0},emptyListText:{fontSize:14,opacity:.7,paddingVertical:4,paddingHorizontal:8},newButton:{alignSelf:"flex-start",paddingVertical:4,paddingHorizontal:8,borderRadius:4},newButtonText:{fontSize:14,color:"#4a5568"},formElementContainer:{width:"100%",gap:5},dataViewHeader:{flexDirection:"row",alignItems:"center",paddingHorizontal:8,width:"100%"},dataViewTitle:{fontSize:18,fontFamily:"System",paddingVertical:8},dataViewActions:{flexDirection:"row",alignItems:"center",gap:8,marginLeft:"auto"},dataViewContent:{paddingHorizontal:16,paddingVertical:8}}),fu=({field:e,name:t})=>{let o=Pi.useMemo(()=>core.isField(e.itemField)?"":core.isListField(e.itemField)?[]:{},[e]),n=react.useButtonColor(),{control:r}=reactHookForm.useFormContext(),{fields:i,append:a,remove:s}=reactHookForm.useFieldArray({control:r,name:t});return jsxRuntime.jsxs(reactNative.View,{style:R.listContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:R.listHeader,children:e.placeholder}),jsxRuntime.jsx(reactNative.View,{style:R.listContent,children:i.length?i.map((l,u)=>jsxRuntime.jsx(reactNative.View,{style:R.listItem,children:jsxRuntime.jsxs(reactNative.View,{style:R.listItemContent,children:[jsxRuntime.jsx(reactNative.View,{style:R.listItemInput,children:jsxRuntime.jsx(Wo,{name:l.id,field:e.itemField})}),jsxRuntime.jsx(Qt,{onDelete:()=>s(u),itemName:`${e.placeholder} ${u+1}`})]})},l.id)):jsxRuntime.jsx(reactNative.Text,{style:R.emptyListText,children:"No items"})}),jsxRuntime.jsx(reactNative.TouchableOpacity,{style:[R.newButton,{backgroundColor:n}],onPress:()=>a(o),children:jsxRuntime.jsx(reactNative.Text,{style:R.newButtonText,children:"+ NEW"})})]})},Wo=({field:e,name:t})=>{let o=Pi.useMemo(()=>core.isField(e)||core.isListField(e)?[{name:"value",field:e}]:Object.entries(e.children).map(([n,r])=>({name:`${t?`${t}.`:""}${n}`,field:r})),[e,t]);return jsxRuntime.jsx(reactNative.View,{style:R.formElementContainer,children:o.map(n=>{if(core.isListField(n.field)){let i=jsxRuntime.jsx(fu,{name:n.name,field:n.field},n.name);return n.field.condition?jsxRuntime.jsx(xt,{path:t,condition:n.field.condition,children:i},n.name):i}if(core.isField(n.field)){let i=jsxRuntime.jsx(kr,{name:n.name,field:n.field},n.name);return n.field.condition?jsxRuntime.jsx(xt,{path:t,condition:n.field.condition,children:i},n.name):i}let r=jsxRuntime.jsx(Wo,{name:n.name,field:n.field},n.name);return n.field.condition?jsxRuntime.jsx(xt,{path:t,condition:n.field.condition,children:r},n.name):r})})},gu=({field:e,value:t,path:o})=>{let{itemField:n,placeholder:r}=e;return jsxRuntime.jsx(reactNative.View,{style:R.listContainer,children:jsxRuntime.jsx(_t,{header:()=>jsxRuntime.jsx(reactNative.Text,{style:R.listHeader,children:r}),initExpanded:true,children:jsxRuntime.jsx(reactNative.View,{style:R.listContent,children:t?.length?t.map((i,a)=>jsxRuntime.jsx(reactNative.View,{style:R.listItem,children:jsxRuntime.jsx(Zr,{path:`${o}.${a}`,field:{...n,placeholder:`${r} ${a+1}`},value:i})},`${o}.${a}`)):jsxRuntime.jsx(reactNative.Text,{style:R.emptyListText,children:"No items"})})})})},Zr=({field:e,value:t,path:o,storagePath:n})=>{let{updateField:r}=react.useDataView();return core.isField(e)?r?jsxRuntime.jsx(Qr,{storagePath:n,field:e,value:t,onSubmit:i=>r(o,i)}):jsxRuntime.jsx(Wt,{field:e,value:t}):core.isListField(e)?jsxRuntime.jsx(gu,{path:o,field:e,value:t}):jsxRuntime.jsx(hu,{storagePath:n?`${n}.${o}`:void 0,path:o,field:e})},hu=({field:e,value:t,onClose:o,onDelete:n,onSubmit:r,itemName:i,storagePath:a,path:s=""})=>{let{name:l,children:u}=e,[p,d]=Pi.useState(false);return jsxRuntime.jsx(react.DataViewProvider,{value:t,onSubmit:r,children:jsxRuntime.jsx(_t,{alwaysExpanded:true,header:()=>jsxRuntime.jsxs(reactNative.View,{style:R.dataViewHeader,children:[jsxRuntime.jsx(reactNative.Text,{style:R.dataViewTitle,children:l}),jsxRuntime.jsxs(reactNative.View,{style:R.dataViewActions,children:[n&&jsxRuntime.jsx(Qt,{onDelete:n,itemName:i??"item"}),r&&jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:()=>d(true),children:jsxRuntime.jsx(reactNative.Text,{children:"Edit"})}),o&&jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:o,children:jsxRuntime.jsx(reactNative.Text,{children:"Close"})})]})]}),children:p&&r?jsxRuntime.jsx(wu,{storagePath:a,field:e,value:t,onSubmit:r,onBack:()=>d(false)}):jsxRuntime.jsx(reactNative.View,{style:R.dataViewContent,children:Object.entries(u).map(([c,f])=>jsxRuntime.jsx(Zr,{storagePath:a?`${a}/${c}`:void 0,path:s?`${s}.${c}`:c,field:f,value:t?.[c]},c))})})})},ei=({onSubmit:e,onBack:t,field:o,value:n,buttonText:r="SUBMIT",renderFooter:i,storagePath:a})=>{let s=Pi.useMemo(()=>({field:o,value:n,submit:e,storagePath:a}),[o,n,e,a]),{onSubmit:l,uploads:u}=react.useFormSubmit(s);return jsxRuntime.jsxs(reactNative.View,{style:R.container,children:[jsxRuntime.jsx(Wo,{name:"",field:o}),jsxRuntime.jsx(zr,{uploads:u,onSubmit:l,renderFooter:i,onBack:t,buttonText:r})]})},yu=({onSubmit:e,field:t,value:o,...n})=>{let r=Pi.useMemo(()=>({children:{value:t}}),[t]);return jsxRuntime.jsx(ei,{field:r,value:{value:o},onSubmit:i=>e(i?.value),...n})},wu=({field:e,...t})=>{let o=core.isField(e)||core.isListField(e)?jsxRuntime.jsx(yu,{field:e,...t}):jsxRuntime.jsx(ei,{field:e,...t});return jsxRuntime.jsx(react.ChempoFormProvider,{children:o})};var Iu=()=>{let{colorMode:e,toggleColorMode:t}=react.useTheme(),o=e==="dark",n=react.useIconColor(),r=o?"moon":"sunny",i=react.useBackgroundColor(100);return jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:t,style:[ti.button,{backgroundColor:i}],children:jsxRuntime.jsx(vectorIcons.Ionicons,{name:r,size:16,color:n})})},lb=()=>jsxRuntime.jsx(reactNative.View,{style:ti.container,children:jsxRuntime.jsx(Iu,{})}),ti=reactNative.StyleSheet.create({container:{position:"absolute",bottom:12,right:12},button:{width:25,height:25,borderRadius:16,justifyContent:"center",alignItems:"center"}});var ri={closeMessage:()=>reactNativeNotifier.Notifier.hideNotification(),showMessage:({title:e,type:t,duration:o,message:n})=>{let r=t==="info"?reactNativeNotifier.NotifierComponents.Notification:reactNativeNotifier.NotifierComponents.Alert,i={alertType:t==="error"?"error":"success"};return reactNativeNotifier.Notifier.showNotification({title:e,description:n,duration:o,Component:r,componentProps:i}),"root"}};var ii=e=>{let{initialColorMode:t,theme:o}=e??{},[n,r]=Pi.useState(t??"light");return Pi.useMemo(()=>({colorMode:n,setColorMode:r,theme:o}),[n,r,o])};var li=()=>{let e=()=>{let{width:o,height:n}=reactNative.Dimensions.get("window");react.useScreen.setState({width:o,height:n,isMobile:true,isPortrait:o<n});};e();let t=reactNative.Dimensions.addEventListener("change",e);return ()=>{t.remove();}};reactNativePaperDates.registerTranslation("en",reactNativePaperDates.en);var Ib=({theme:e,initialColorMode:t,...o})=>{let n=Pi.useMemo(()=>({theme:e,initialColorMode:t}),[e,t]),r=ii(n);return jsxRuntime.jsx(reactNativeNotifier.NotifierWrapper,{children:jsxRuntime.jsx(react.ChempoProvider,{toast:ri,theme:r,initializeScreen:li,...o})})};exports.AbsoluteDarkModeToggle=lb;exports.AnimatedCenter=lt;exports.Center=de;exports.ChempoNativeProvider=Ib;exports.CircularProgress=Pn;exports.CollapseHorizontal=_u;exports.ContentBox=Zu;exports.DarkModeToggle=Iu;exports.DataView=hu;exports.DeleteButton=Qt;exports.DeleteConfirmAlert=Ni;exports.DropShadow=Gt;exports.Editable=Qr;exports.ExpandOnMount=Fp;exports.Expandable=_t;exports.FieldForm=yu;exports.FieldMapForm=ei;exports.FileView=vt;exports.Form=wu;exports.FormElement=Wo;exports.FullSizeContainer=kp;exports.FullSizeProvider=Dp;exports.ImageViewOverlay=kn;exports.ListFieldInput=fu;exports.Loading=no;exports.LoadingButton=tm;exports.LoadingImage=zn;exports.LoadingLogo=fe;exports.LoadingOverlay=ft;exports.LoadingSwitch=mf;exports.LottieLoadingLogo=hn;exports.MediaFeed=rg;exports.StandaloneInput=Jr;exports.Toggle=sm;exports.Txt=Y;exports.initializeScreen=li;exports.nativeToast=ri;exports.useFullSize=Bp;exports.useMediaFeed=la;exports.useThemeState=ii;//# sourceMappingURL=index.js.map
2
- //# sourceMappingURL=index.js.map