@chem-po/react-native 0.0.4 → 0.0.6

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 +70 -45
  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
@@ -0,0 +1,124 @@
1
+ import { useTextColor, useToast } from '@chem-po/react';
2
+ import { Ionicons } from '@expo/vector-icons';
3
+ import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
4
+ import { ActivityIndicator, Animated, StyleSheet, Text, TouchableOpacity, View } from 'react-native';
5
+ export const LoadingButton = ({
6
+ onPress,
7
+ children,
8
+ style,
9
+ textStyle,
10
+ color: colorProp,
11
+ icon,
12
+ disabled = false
13
+ }) => {
14
+ const [loading, setLoading] = useState(false);
15
+ const isMounted = useRef(true);
16
+ const contentOpacity = useRef(new Animated.Value(1)).current;
17
+ const loaderOpacity = useRef(new Animated.Value(0)).current;
18
+ const {
19
+ showError
20
+ } = useToast();
21
+ useEffect(() => {
22
+ isMounted.current = true;
23
+ return () => {
24
+ isMounted.current = false;
25
+ };
26
+ }, []);
27
+ const animateLoading = useCallback(isLoading => {
28
+ Animated.parallel([Animated.timing(contentOpacity, {
29
+ toValue: isLoading ? 0 : 1,
30
+ duration: 200,
31
+ useNativeDriver: true
32
+ }), Animated.timing(loaderOpacity, {
33
+ toValue: isLoading ? 1 : 0,
34
+ duration: 200,
35
+ useNativeDriver: true
36
+ })]).start();
37
+ }, [contentOpacity, loaderOpacity]);
38
+ const handlePress = useCallback(async () => {
39
+ if (onPress) {
40
+ setLoading(true);
41
+ animateLoading(true);
42
+ try {
43
+ await onPress();
44
+ } catch (err) {
45
+ console.error(err);
46
+ showError(err.message ?? 'An error occurred');
47
+ }
48
+ if (isMounted.current) {
49
+ setLoading(false);
50
+ animateLoading(false);
51
+ }
52
+ }
53
+ }, [onPress, animateLoading, showError]);
54
+ const fallbackColor = useTextColor();
55
+ const color = useMemo(() => colorProp ?? fallbackColor, [colorProp, fallbackColor]);
56
+ return /*#__PURE__*/React.createElement(TouchableOpacity, {
57
+ style: [styles.button, {
58
+ borderColor: color,
59
+ backgroundColor: disabled ? '#f0f0f0' : 'transparent'
60
+ }, style],
61
+ onPress: e => {
62
+ e.stopPropagation();
63
+ handlePress();
64
+ },
65
+ disabled: loading || disabled
66
+ }, /*#__PURE__*/React.createElement(View, {
67
+ style: [styles.buttonContent, {
68
+ borderColor: disabled ? '#ccc' : color
69
+ }]
70
+ }, /*#__PURE__*/React.createElement(Animated.View, {
71
+ style: [styles.contentContainer, {
72
+ opacity: contentOpacity
73
+ }]
74
+ }, icon && /*#__PURE__*/React.createElement(Ionicons, {
75
+ name: icon.name,
76
+ size: icon.size ?? 20,
77
+ color: disabled ? '#ccc' : color
78
+ }), typeof children === 'string' ? /*#__PURE__*/React.createElement(Text, {
79
+ style: [styles.buttonText, {
80
+ color: disabled ? '#ccc' : color
81
+ }, textStyle]
82
+ }, children) : children), /*#__PURE__*/React.createElement(Animated.View, {
83
+ style: [styles.loaderContainer, {
84
+ opacity: loaderOpacity
85
+ }]
86
+ }, /*#__PURE__*/React.createElement(ActivityIndicator, {
87
+ color: color,
88
+ size: "small"
89
+ }))));
90
+ };
91
+ const styles = StyleSheet.create({
92
+ button: {
93
+ flexDirection: 'row',
94
+ alignItems: 'center',
95
+ backgroundColor: 'transparent'
96
+ },
97
+ buttonContent: {
98
+ flexDirection: 'row',
99
+ gap: 8,
100
+ borderWidth: 1,
101
+ paddingHorizontal: 16,
102
+ paddingVertical: 8,
103
+ borderRadius: 4,
104
+ alignItems: 'center',
105
+ justifyContent: 'center',
106
+ minHeight: 40,
107
+ position: 'relative'
108
+ },
109
+ contentContainer: {
110
+ flexDirection: 'row',
111
+ alignItems: 'center',
112
+ justifyContent: 'center',
113
+ gap: 8
114
+ },
115
+ loaderContainer: {
116
+ ...StyleSheet.absoluteFillObject,
117
+ alignItems: 'center',
118
+ justifyContent: 'center'
119
+ },
120
+ buttonText: {
121
+ fontWeight: 'bold'
122
+ }
123
+ });
124
+ //# sourceMappingURL=LoadingButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useTextColor","useToast","Ionicons","React","useCallback","useEffect","useMemo","useRef","useState","ActivityIndicator","Animated","StyleSheet","Text","TouchableOpacity","View","LoadingButton","onPress","children","style","textStyle","color","colorProp","icon","disabled","loading","setLoading","isMounted","contentOpacity","Value","current","loaderOpacity","showError","animateLoading","isLoading","parallel","timing","toValue","duration","useNativeDriver","start","handlePress","err","console","error","message","fallbackColor","createElement","styles","button","borderColor","backgroundColor","e","stopPropagation","buttonContent","contentContainer","opacity","name","size","buttonText","loaderContainer","create","flexDirection","alignItems","gap","borderWidth","paddingHorizontal","paddingVertical","borderRadius","justifyContent","minHeight","position","absoluteFillObject","fontWeight"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/button/LoadingButton.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,82 @@
1
+ import { useTheme, useToast } from '@chem-po/react';
2
+ import { useCallback } from 'react';
3
+ import { StyleSheet, TouchableOpacity, View } from 'react-native';
4
+ const ToggleButton = ({
5
+ selected,
6
+ option: {
7
+ Render,
8
+ disabledMessage
9
+ },
10
+ size,
11
+ onPress
12
+ }) => {
13
+ const {
14
+ showError
15
+ } = useToast();
16
+ const handlePress = useCallback(() => {
17
+ if (!disabledMessage) {
18
+ onPress();
19
+ } else {
20
+ showError(disabledMessage);
21
+ }
22
+ }, [onPress, disabledMessage, showError]);
23
+ const body = /*#__PURE__*/React.createElement(View, {
24
+ style: [styles.buttonContainer, {
25
+ width: size,
26
+ height: size,
27
+ opacity: !disabledMessage ? 1 : 0.6
28
+ }]
29
+ }, /*#__PURE__*/React.createElement(TouchableOpacity, {
30
+ style: [styles.button, {
31
+ backgroundColor: selected ? 'rgba(255, 255, 255, 0.5)' : 'rgba(0, 0, 0, 0.1)',
32
+ pointerEvents: selected ? 'none' : 'auto'
33
+ }],
34
+ onPress: handlePress,
35
+ disabled: !!disabledMessage
36
+ }, Render(selected)));
37
+ return body;
38
+ };
39
+ export const Toggle = ({
40
+ value,
41
+ onChange,
42
+ size = 28,
43
+ options
44
+ }) => {
45
+ const {
46
+ theme: {
47
+ colors: {
48
+ background
49
+ }
50
+ }
51
+ } = useTheme();
52
+ return /*#__PURE__*/React.createElement(View, {
53
+ style: [styles.container, {
54
+ borderColor: background[300]
55
+ }]
56
+ }, options.map(option => /*#__PURE__*/React.createElement(ToggleButton, {
57
+ key: option.id,
58
+ onPress: () => {
59
+ onChange(option.id);
60
+ },
61
+ option: option,
62
+ size: size,
63
+ selected: option.id === value
64
+ })));
65
+ };
66
+ const styles = StyleSheet.create({
67
+ container: {
68
+ flexDirection: 'row',
69
+ borderWidth: 1,
70
+ borderRadius: 3
71
+ },
72
+ buttonContainer: {
73
+ justifyContent: 'center',
74
+ alignItems: 'center'
75
+ },
76
+ button: {
77
+ justifyContent: 'center',
78
+ alignItems: 'center',
79
+ borderRadius: 3
80
+ }
81
+ });
82
+ //# sourceMappingURL=Toggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useTheme","useToast","useCallback","StyleSheet","TouchableOpacity","View","ToggleButton","selected","option","Render","disabledMessage","size","onPress","showError","handlePress","body","React","createElement","style","styles","buttonContainer","width","height","opacity","button","backgroundColor","pointerEvents","disabled","Toggle","value","onChange","options","theme","colors","background","container","borderColor","map","key","id","create","flexDirection","borderWidth","borderRadius","justifyContent","alignItems"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/button/Toggle.tsx"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,QAAQ,QAAQ,gBAAgB;AACnD,SAAcC,WAAW,QAAQ,OAAO;AACxC,SAASC,UAAU,EAAEC,gBAAgB,EAAEC,IAAI,QAAQ,cAAc;AAejE,MAAMC,YAAY,GAAGA,CAAwB;EAC3CC,QAAQ;EACRC,MAAM,EAAE;IAAEC,MAAM;IAAEC;EAAgB,CAAC;EACnCC,IAAI;EACJC;AAMF,CAAC,KAAK;EACJ,MAAM;IAAEC;EAAU,CAAC,GAAGZ,QAAQ,CAAC,CAAC;EAChC,MAAMa,WAAW,GAAGZ,WAAW,CAAC,MAAM;IACpC,IAAI,CAACQ,eAAe,EAAE;MACpBE,OAAO,CAAC,CAAC;IACX,CAAC,MAAM;MACLC,SAAS,CAACH,eAAe,CAAC;IAC5B;EACF,CAAC,EAAE,CAACE,OAAO,EAAEF,eAAe,EAAEG,SAAS,CAAC,CAAC;EACzC,MAAME,IAAI,gBACRC,KAAA,CAAAC,aAAA,CAACZ,IAAI;IACHa,KAAK,EAAE,CACLC,MAAM,CAACC,eAAe,EACtB;MAAEC,KAAK,EAAEV,IAAI;MAAEW,MAAM,EAAEX,IAAI;MAAEY,OAAO,EAAE,CAACb,eAAe,GAAG,CAAC,GAAG;IAAI,CAAC;EAClE,gBACFM,KAAA,CAAAC,aAAA,CAACb,gBAAgB;IACfc,KAAK,EAAE,CACLC,MAAM,CAACK,MAAM,EACb;MACEC,eAAe,EAAElB,QAAQ,GAAG,0BAA0B,GAAG,oBAAoB;MAC7EmB,aAAa,EAAEnB,QAAQ,GAAG,MAAM,GAAG;IACrC,CAAC,CACD;IACFK,OAAO,EAAEE,WAAY;IACrBa,QAAQ,EAAE,CAAC,CAACjB;EAAgB,GAC3BD,MAAM,CAACF,QAAQ,CACA,CACd,CACP;EAED,OAAOQ,IAAI;AACb,CAAC;AAED,OAAO,MAAMa,MAAM,GAAGA,CAAwB;EAC5CC,KAAK;EACLC,QAAQ;EACRnB,IAAI,GAAG,EAAE;EACToB;AACmB,CAAC,KAAK;EACzB,MAAM;IACJC,KAAK,EAAE;MACLC,MAAM,EAAE;QAAEC;MAAW;IACvB;EACF,CAAC,GAAGlC,QAAQ,CAAC,CAAC;EACd,oBACEgB,KAAA,CAAAC,aAAA,CAACZ,IAAI;IAACa,KAAK,EAAE,CAACC,MAAM,CAACgB,SAAS,EAAE;MAAEC,WAAW,EAAEF,UAAU,CAAC,GAAG;IAAE,CAAC;EAAE,GAC/DH,OAAO,CAACM,GAAG,CAAC7B,MAAM,iBACjBQ,KAAA,CAAAC,aAAA,CAACX,YAAY;IACXgC,GAAG,EAAE9B,MAAM,CAAC+B,EAAG;IACf3B,OAAO,EAAEA,CAAA,KAAM;MACbkB,QAAQ,CAACtB,MAAM,CAAC+B,EAAE,CAAC;IACrB,CAAE;IACF/B,MAAM,EAAEA,MAAO;IACfG,IAAI,EAAEA,IAAK;IACXJ,QAAQ,EAAEC,MAAM,CAAC+B,EAAE,KAAKV;EAAM,CAC/B,CACF,CACG,CAAC;AAEX,CAAC;AAED,MAAMV,MAAM,GAAGhB,UAAU,CAACqC,MAAM,CAAC;EAC/BL,SAAS,EAAE;IACTM,aAAa,EAAE,KAAK;IACpBC,WAAW,EAAE,CAAC;IACdC,YAAY,EAAE;EAChB,CAAC;EACDvB,eAAe,EAAE;IACfwB,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EACd,CAAC;EACDrB,MAAM,EAAE;IACNoB,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBF,YAAY,EAAE;EAChB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ export * from './DeleteButton';
2
+ export * from './LoadingButton';
3
+ export * from './Toggle';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/button/index.ts"],"mappings":"AAAA,cAAc,gBAAgB;AAC9B,cAAc,iBAAiB;AAC/B,cAAc,UAAU","ignoreList":[]}
@@ -0,0 +1,97 @@
1
+ import { useDocument, useScreen } from '@chem-po/react';
2
+ import { useEffect, useMemo, useRef } from 'react';
3
+ // import { motion, MotionValue, useMotionValue, useSpring, useTransform } from 'framer-motion'
4
+ import { Animated } from 'react-native';
5
+ const getContentScale = status => {
6
+ // if (status === 'current') return 1
7
+ if (status === 'current') return 1;
8
+ return 0;
9
+ };
10
+ // const getContentX = (status: PanelStatus, contentSize: { width: number; height: number }) => {
11
+ // const { width: cWidth } = contentSize
12
+ // if (status === 'current') return 0
13
+ // if (status === 'next') return cWidth
14
+ // if (status === 'prev') return -cWidth
15
+ // return 0
16
+ // }
17
+
18
+ const getContentY = (status, contentSize) => {
19
+ const {
20
+ height: cHeight
21
+ } = contentSize;
22
+ if (status === 'current') return 0;
23
+ if (status === 'next') return cHeight * 1.1;
24
+ if (status === 'prev') return -cHeight * 1.1;
25
+ return 0;
26
+ };
27
+ export const FeedContentPane = ({
28
+ id,
29
+ collectionPath,
30
+ onItemLoad,
31
+ RenderItem,
32
+ status,
33
+ offsetY,
34
+ enterStatus
35
+ }) => {
36
+ const {
37
+ height,
38
+ width
39
+ } = useScreen();
40
+ const contentSize = useMemo(() => ({
41
+ height,
42
+ width
43
+ }), [height, width]);
44
+ const scale = useRef(new Animated.Value(0)).current;
45
+ const baseY = useRef(new Animated.Value(getContentY(enterStatus ?? 'next', contentSize))).current;
46
+ const y = Animated.add(baseY, offsetY);
47
+ const docPath = useMemo(() => `${collectionPath}/${id}`, [collectionPath, id]);
48
+ const {
49
+ data: item
50
+ } = useDocument(docPath, onItemLoad);
51
+
52
+ // const init = useRef<{
53
+ // status: PanelStatus
54
+ // contentSize: Size
55
+ // y: number
56
+ // scale: number
57
+ // }>({
58
+ // contentSize,
59
+ // status: enterStatus ?? status,
60
+ // // x: getContentX(fromStatus || status, contentSize),
61
+ // y: getContentY(enterStatus ?? status, contentSize),
62
+ // scale: getContentScale(enterStatus ?? status),
63
+ // })
64
+
65
+ useEffect(() => {
66
+ const newScale = getContentScale(status);
67
+ const updatedY = getContentY(status, contentSize);
68
+ baseY.setValue(updatedY);
69
+ scale.setValue(newScale);
70
+ // baseY.set(updatedY)
71
+ // scale.set(newScale)
72
+ }, [status, baseY, scale, contentSize]);
73
+ return (
74
+ /*#__PURE__*/
75
+ // <AnimatePresence>
76
+ React.createElement(Animated.View, {
77
+ style: {
78
+ position: 'absolute',
79
+ top: 0,
80
+ left: 0,
81
+ transform: [{
82
+ translateY: y
83
+ }, {
84
+ scale
85
+ }],
86
+ display: 'flex',
87
+ alignItems: 'center',
88
+ justifyContent: 'center',
89
+ height: '100%',
90
+ opacity: scale,
91
+ width: '100%'
92
+ }
93
+ }, item ? RenderItem(item) : null)
94
+ // </AnimatePresence>
95
+ );
96
+ };
97
+ //# sourceMappingURL=FeedContentPane.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useDocument","useScreen","useEffect","useMemo","useRef","Animated","getContentScale","status","getContentY","contentSize","height","cHeight","FeedContentPane","id","collectionPath","onItemLoad","RenderItem","offsetY","enterStatus","width","scale","Value","current","baseY","y","add","docPath","data","item","newScale","updatedY","setValue","React","createElement","View","style","position","top","left","transform","translateY","display","alignItems","justifyContent","opacity"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/feed/FeedContentPane.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,170 @@
1
+ import { useScreen, useTheme } from '@chem-po/react';
2
+ import React, { useCallback, useMemo, useRef, useState } from 'react';
3
+ import { Animated, StyleSheet, View } from 'react-native';
4
+ import { Gesture, GestureDetector } from 'react-native-gesture-handler';
5
+ import { fill } from '../../styles/fill';
6
+ import { Center } from '../box/Center';
7
+ import { LoadingOverlay } from '../loading/Loading';
8
+ import { REFRESH_THRESHOLD, SWIPE_THRESHOLD } from './constants';
9
+ import { MediaFeedProvider } from './context';
10
+ import { FeedContentPane } from './FeedContentPane';
11
+ import { useMediaFeed } from './hooks';
12
+ import { MediaFeedBackground } from './MediaFeedBackground';
13
+ import { MediaFeedRefresh } from './MediaFeedRefresh';
14
+ const useUpdatePanels = setItems => useCallback(data => {
15
+ const updated = [];
16
+ if (data.prev) updated.push({
17
+ status: 'prev',
18
+ id: data.prev
19
+ });
20
+ if (data.curr) {
21
+ updated.push({
22
+ status: 'current',
23
+ id: data.curr
24
+ });
25
+ }
26
+ if (data.next) updated.push({
27
+ status: 'next',
28
+ id: data.next
29
+ });
30
+ setItems(updated);
31
+ }, [setItems]);
32
+ export const MediaFeed = ({
33
+ fetch,
34
+ collection: collectionPath,
35
+ RenderItem,
36
+ authRequired,
37
+ getBackgroundUrl,
38
+ getBackgroundValue,
39
+ limit,
40
+ defaultBackground,
41
+ swipeDisabled,
42
+ children
43
+ }) => {
44
+ const {
45
+ width,
46
+ height
47
+ } = useScreen();
48
+ const {
49
+ theme
50
+ } = useTheme();
51
+ const contentRef = useRef(null);
52
+ const containerRef = useRef(null);
53
+ // const panels = useRef<Array<FeedContentPaneRef>>([])
54
+ const [direction, setDirection] = useState(null);
55
+ const [panels, setPanels] = useState([]);
56
+ const offsetY = useRef(new Animated.Value(0)).current;
57
+ const onNewData = useUpdatePanels(setPanels);
58
+ const backgroundRef = useRef(null);
59
+ const {
60
+ goNext,
61
+ goPrev,
62
+ loading,
63
+ canGoNext,
64
+ canGoPrev,
65
+ refresh,
66
+ refreshing
67
+ } = useMediaFeed(fetch, onNewData, limit, authRequired);
68
+ const pointerDown = useRef(false);
69
+ const dragStart = useRef({
70
+ x: 0,
71
+ y: 0
72
+ });
73
+ const onDragStart = useCallback(e => {
74
+ if (swipeDisabled) return;
75
+ pointerDown.current = true;
76
+ dragStart.current = {
77
+ x: e.x,
78
+ y: e.y
79
+ };
80
+ }, [swipeDisabled]);
81
+ const onDragEnd = useCallback(e => {
82
+ if (!pointerDown.current) return;
83
+ const maxY = canGoPrev ? SWIPE_THRESHOLD : REFRESH_THRESHOLD;
84
+ const minY = canGoNext ? -SWIPE_THRESHOLD : -REFRESH_THRESHOLD;
85
+ const oY = Math.max(minY, Math.min(maxY, e.y - dragStart.current.y));
86
+ if (canGoNext && oY < -(SWIPE_THRESHOLD - 10)) {
87
+ setDirection('next');
88
+ goNext();
89
+ } else if (canGoPrev && oY > SWIPE_THRESHOLD - 10) {
90
+ setDirection('prev');
91
+ goPrev();
92
+ } else if (oY > REFRESH_THRESHOLD - 10 || oY < -(REFRESH_THRESHOLD - 10)) {
93
+ refresh();
94
+ if (backgroundRef.current) backgroundRef.current.onNewData(null);
95
+ }
96
+ offsetY.setValue(0);
97
+ pointerDown.current = false;
98
+ }, [offsetY, goNext, goPrev, canGoNext, canGoPrev, refresh]);
99
+ const onDragMove = useCallback(e => {
100
+ if (!pointerDown.current) return;
101
+ const oX = Math.max(-10, Math.min(10, e.x - dragStart.current.x));
102
+ const maxY = canGoPrev ? SWIPE_THRESHOLD : REFRESH_THRESHOLD;
103
+ const minY = canGoNext ? -SWIPE_THRESHOLD : -REFRESH_THRESHOLD;
104
+ const oY = Math.max(minY, Math.min(maxY, e.y - dragStart.current.y));
105
+ const dist = Math.sqrt(oX ** 2 + oY ** 2);
106
+ if (dist > 10 && contentRef.current) {
107
+ // contentRef.current.style.setProperty('pointer-events', 'none')
108
+ }
109
+ offsetY.setValue(oY);
110
+ }, [offsetY, canGoNext, canGoPrev]);
111
+ const panGesture = Gesture.Pan().onStart(onDragStart).onUpdate(onDragMove).onEnd(onDragEnd);
112
+ const containerStyle = useMemo(() => ({
113
+ height,
114
+ width,
115
+ overflow: 'hidden',
116
+ pointerEvents: swipeDisabled ? 'none' : 'auto'
117
+ }), [width, height, swipeDisabled]);
118
+ const [curr, setCurr] = useState(null);
119
+ const handleItemLoad = useCallback(data => {
120
+ var _panels$find;
121
+ const isCurr = ((_panels$find = panels.find(p => p.status === 'current')) === null || _panels$find === void 0 ? void 0 : _panels$find.id) === (data === null || data === void 0 ? void 0 : data._id);
122
+ if (isCurr) setCurr(data);
123
+ }, [panels]);
124
+ return /*#__PURE__*/React.createElement(MediaFeedProvider, {
125
+ curr: curr
126
+ }, /*#__PURE__*/React.createElement(GestureDetector, {
127
+ gesture: panGesture
128
+ }, /*#__PURE__*/React.createElement(Center, {
129
+ style: [styles.container, {
130
+ backgroundColor: defaultBackground ?? theme.colors.background[100]
131
+ }]
132
+ }, /*#__PURE__*/React.createElement(MediaFeedBackground, {
133
+ item: curr,
134
+ getBackgroundValue: getBackgroundValue,
135
+ getBackgroundUrl: getBackgroundUrl
136
+ }), /*#__PURE__*/React.createElement(View, {
137
+ style: containerStyle,
138
+ ref: containerRef
139
+ }, /*#__PURE__*/React.createElement(Center, {
140
+ style: fill.relative,
141
+ ref: contentRef
142
+ }, panels.map(panel => /*#__PURE__*/React.createElement(FeedContentPane, {
143
+ key: panel.id,
144
+ id: panel.id,
145
+ collectionPath: collectionPath,
146
+ RenderItem: RenderItem,
147
+ onItemLoad: handleItemLoad,
148
+ status: panel.status,
149
+ enterStatus: direction,
150
+ offsetY: offsetY
151
+ })))), /*#__PURE__*/React.createElement(MediaFeedRefresh, {
152
+ canRefresh: !canGoPrev,
153
+ refreshing: refreshing,
154
+ offsetY: offsetY
155
+ }), /*#__PURE__*/React.createElement(LoadingOverlay, {
156
+ inFeed: true,
157
+ isLoading: loading
158
+ }), children ? /*#__PURE__*/React.createElement(Center, {
159
+ style: [fill.absolute, {
160
+ zIndex: 3
161
+ }]
162
+ }, children) : null)));
163
+ };
164
+ const styles = StyleSheet.create({
165
+ container: {
166
+ ...fill.relative,
167
+ overflow: 'hidden'
168
+ }
169
+ });
170
+ //# sourceMappingURL=MediaFeed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useScreen","useTheme","React","useCallback","useMemo","useRef","useState","Animated","StyleSheet","View","Gesture","GestureDetector","fill","Center","LoadingOverlay","REFRESH_THRESHOLD","SWIPE_THRESHOLD","MediaFeedProvider","FeedContentPane","useMediaFeed","MediaFeedBackground","MediaFeedRefresh","useUpdatePanels","setItems","data","updated","prev","push","status","id","curr","next","MediaFeed","fetch","collection","collectionPath","RenderItem","authRequired","getBackgroundUrl","getBackgroundValue","limit","defaultBackground","swipeDisabled","children","width","height","theme","contentRef","containerRef","direction","setDirection","panels","setPanels","offsetY","Value","current","onNewData","backgroundRef","goNext","goPrev","loading","canGoNext","canGoPrev","refresh","refreshing","pointerDown","dragStart","x","y","onDragStart","e","onDragEnd","maxY","minY","oY","Math","max","min","setValue","onDragMove","oX","dist","sqrt","panGesture","Pan","onStart","onUpdate","onEnd","containerStyle","overflow","pointerEvents","setCurr","handleItemLoad","_panels$find","isCurr","find","p","_id","createElement","gesture","style","styles","container","backgroundColor","colors","background","item","ref","relative","map","panel","key","onItemLoad","enterStatus","canRefresh","inFeed","isLoading","absolute","zIndex","create"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/feed/MediaFeed.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,118 @@
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ import { useObjectUrl } from '@chem-po/react';
3
+ import React, { useEffect, useMemo, useRef, useState } from 'react';
4
+ import { ImageBackground, StyleSheet, View } from 'react-native';
5
+ import { fill } from '../../styles/fill';
6
+ import { Center } from '../box/Center';
7
+ import { LoadingLogo } from '../loading';
8
+ const emptyPng = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkAAIAAAoAAv/lxKUAAAAASUVORK5CYII=';
9
+ export const backgroundStyle = StyleSheet.create({
10
+ imageBackground: {
11
+ flex: 1,
12
+ transform: [{
13
+ scale: 1.075
14
+ }]
15
+ }
16
+ });
17
+ const FillBackground = ({
18
+ background,
19
+ opacity = 0.7,
20
+ style,
21
+ ...props
22
+ }) => /*#__PURE__*/React.createElement(View, _extends({
23
+ style: [fill.absolute, style]
24
+ }, props), /*#__PURE__*/React.createElement(ImageBackground, {
25
+ source: {
26
+ uri: background ?? emptyPng
27
+ },
28
+ style: [backgroundStyle.imageBackground, {
29
+ opacity
30
+ }],
31
+ resizeMode: "cover"
32
+ }));
33
+ const FileValueBackground = ({
34
+ getBackgroundValue,
35
+ item
36
+ }) => {
37
+ const background = useMemo(() => item ? getBackgroundValue(item) : null, [getBackgroundValue, item]);
38
+ const {
39
+ loading,
40
+ url
41
+ } = useObjectUrl(background);
42
+ const usedIndex = useRef(0);
43
+ const [index, setIndex] = useState(0);
44
+ const [url1, setUrl1] = useState(null);
45
+ const [url2, setUrl2] = useState(null);
46
+ useEffect(() => {
47
+ const usedIdx = usedIndex.current;
48
+ if (usedIdx === 0) {
49
+ setUrl1(url);
50
+ usedIndex.current = 1;
51
+ setIndex(0);
52
+ } else {
53
+ setUrl2(url);
54
+ usedIndex.current = 0;
55
+ setIndex(1);
56
+ }
57
+ }, [url]);
58
+ return /*#__PURE__*/React.createElement(Center, {
59
+ style: fill.absolute
60
+ }, /*#__PURE__*/React.createElement(FillBackground, {
61
+ opacity: index === 0 ? 1 : 0,
62
+ background: url1
63
+ }), /*#__PURE__*/React.createElement(FillBackground, {
64
+ opacity: index === 1 ? 1 : 0,
65
+ background: url2
66
+ }), /*#__PURE__*/React.createElement(LoadingLogo, {
67
+ isLoading: loading
68
+ }));
69
+ };
70
+ const UrlBackground = ({
71
+ getBackgroundUrl,
72
+ item
73
+ }) => {
74
+ const background = useMemo(() => item ? getBackgroundUrl(item) : null, [getBackgroundUrl, item]);
75
+ const usedIndex = useRef(0);
76
+ const [index, setIndex] = useState(0);
77
+ const [url1, setUrl1] = useState(null);
78
+ const [url2, setUrl2] = useState(null);
79
+ useEffect(() => {
80
+ if (!background) return;
81
+ if (usedIndex.current === 0) {
82
+ setUrl1(background);
83
+ usedIndex.current = 1;
84
+ setIndex(0);
85
+ } else {
86
+ setUrl2(background);
87
+ usedIndex.current = 0;
88
+ setIndex(1);
89
+ }
90
+ }, [background]);
91
+ return /*#__PURE__*/React.createElement(Center, {
92
+ style: fill.absolute
93
+ }, /*#__PURE__*/React.createElement(FillBackground
94
+ //filter={filter}
95
+ , {
96
+ opacity: index === 0 ? 1 : 0,
97
+ background: url1
98
+ }), /*#__PURE__*/React.createElement(FillBackground
99
+ //filter={filter}
100
+ , {
101
+ opacity: index === 1 ? 1 : 0,
102
+ background: url2
103
+ }));
104
+ };
105
+ export const MediaFeedBackground = ({
106
+ getBackgroundValue,
107
+ getBackgroundUrl,
108
+ ...props
109
+ }) => {
110
+ if (getBackgroundValue) return /*#__PURE__*/React.createElement(FileValueBackground, _extends({
111
+ getBackgroundValue: getBackgroundValue
112
+ }, props));
113
+ if (getBackgroundUrl) return /*#__PURE__*/React.createElement(UrlBackground, _extends({
114
+ getBackgroundUrl: getBackgroundUrl
115
+ }, props));
116
+ return null;
117
+ };
118
+ //# sourceMappingURL=MediaFeedBackground.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useObjectUrl","React","useEffect","useMemo","useRef","useState","ImageBackground","StyleSheet","View","fill","Center","LoadingLogo","emptyPng","backgroundStyle","create","imageBackground","flex","transform","scale","FillBackground","background","opacity","style","props","createElement","_extends","absolute","source","uri","resizeMode","FileValueBackground","getBackgroundValue","item","loading","url","usedIndex","index","setIndex","url1","setUrl1","url2","setUrl2","usedIdx","current","isLoading","UrlBackground","getBackgroundUrl","MediaFeedBackground"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/feed/MediaFeedBackground.tsx"],"mappings":"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","ignoreList":[]}