@one-am/react-native-simple-image-slider 0.16.1 → 1.0.0-beta.3

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 (334) hide show
  1. package/README.md +616 -19
  2. package/lib/commonjs/constants/layout.js +11 -0
  3. package/lib/commonjs/constants/layout.js.map +1 -0
  4. package/lib/commonjs/context/slider-context.js +47 -0
  5. package/lib/commonjs/context/slider-context.js.map +1 -0
  6. package/lib/commonjs/{utils/renderProp.js → context/slider-full-screen-context.js} +15 -8
  7. package/lib/commonjs/context/slider-full-screen-context.js.map +1 -0
  8. package/lib/commonjs/hooks/index.js +13 -0
  9. package/lib/commonjs/hooks/index.js.map +1 -0
  10. package/lib/commonjs/hooks/slider-state/index.js +40 -0
  11. package/lib/commonjs/hooks/slider-state/index.js.map +1 -0
  12. package/lib/commonjs/hooks/slider-state/use-slider-callbacks.js +63 -0
  13. package/lib/commonjs/hooks/slider-state/use-slider-callbacks.js.map +1 -0
  14. package/lib/commonjs/hooks/slider-state/use-slider-full-screen.js +24 -0
  15. package/lib/commonjs/hooks/slider-state/use-slider-full-screen.js.map +1 -0
  16. package/lib/commonjs/hooks/slider-state/use-slider-navigation.js +29 -0
  17. package/lib/commonjs/hooks/slider-state/use-slider-navigation.js.map +1 -0
  18. package/lib/commonjs/hooks/use-image-aspect-ratio.js +68 -0
  19. package/lib/commonjs/hooks/use-image-aspect-ratio.js.map +1 -0
  20. package/lib/commonjs/hooks/use-registered-callback.js +29 -0
  21. package/lib/commonjs/hooks/use-registered-callback.js.map +1 -0
  22. package/lib/commonjs/hooks/use-slider-state.js +72 -0
  23. package/lib/commonjs/hooks/use-slider-state.js.map +1 -0
  24. package/lib/commonjs/icons/{IconX.js → icon-x.js} +20 -26
  25. package/lib/commonjs/icons/icon-x.js.map +1 -0
  26. package/lib/commonjs/index.js +18 -47
  27. package/lib/commonjs/index.js.map +1 -1
  28. package/lib/commonjs/internal/pinch-to-zoom.js +207 -0
  29. package/lib/commonjs/internal/pinch-to-zoom.js.map +1 -0
  30. package/lib/commonjs/primitives/index.js +62 -0
  31. package/lib/commonjs/primitives/index.js.map +1 -0
  32. package/lib/commonjs/primitives/slider-close-button.js +45 -0
  33. package/lib/commonjs/primitives/slider-close-button.js.map +1 -0
  34. package/lib/commonjs/primitives/slider-content.js +170 -0
  35. package/lib/commonjs/primitives/slider-content.js.map +1 -0
  36. package/lib/commonjs/{AbsoluteComponentContainer.js → primitives/slider-corner.js} +19 -19
  37. package/lib/commonjs/primitives/slider-corner.js.map +1 -0
  38. package/lib/commonjs/{PageCounter.js → primitives/slider-description.js} +22 -31
  39. package/lib/commonjs/primitives/slider-description.js.map +1 -0
  40. package/lib/commonjs/primitives/slider-empty.js +32 -0
  41. package/lib/commonjs/primitives/slider-empty.js.map +1 -0
  42. package/lib/commonjs/primitives/slider-full-screen.js +114 -0
  43. package/lib/commonjs/primitives/slider-full-screen.js.map +1 -0
  44. package/lib/commonjs/primitives/slider-page-counter.js +63 -0
  45. package/lib/commonjs/primitives/slider-page-counter.js.map +1 -0
  46. package/lib/commonjs/primitives/slider.js +31 -0
  47. package/lib/commonjs/primitives/slider.js.map +1 -0
  48. package/lib/{module/@types → commonjs/types}/common.js.map +1 -1
  49. package/lib/commonjs/{@types/slider.js → types/context.js} +1 -1
  50. package/lib/commonjs/{@types/slider.js.map → types/context.js.map} +1 -1
  51. package/lib/{module/@types → commonjs/types}/icons.js.map +1 -1
  52. package/lib/commonjs/types/index.js +2 -0
  53. package/lib/commonjs/types/index.js.map +1 -0
  54. package/lib/commonjs/types/pinch-to-zoom.js.map +1 -0
  55. package/lib/commonjs/types/slider-state.js +6 -0
  56. package/lib/commonjs/types/slider-state.js.map +1 -0
  57. package/lib/commonjs/utils/capitalize.js +10 -0
  58. package/lib/commonjs/utils/capitalize.js.map +1 -0
  59. package/lib/commonjs/utils/clamp.js.map +1 -1
  60. package/lib/module/constants/layout.js +7 -0
  61. package/lib/module/constants/layout.js.map +1 -0
  62. package/lib/module/context/slider-context.js +40 -0
  63. package/lib/module/context/slider-context.js.map +1 -0
  64. package/lib/module/context/slider-full-screen-context.js +19 -0
  65. package/lib/module/context/slider-full-screen-context.js.map +1 -0
  66. package/lib/module/hooks/index.js +4 -0
  67. package/lib/module/hooks/index.js.map +1 -0
  68. package/lib/module/hooks/slider-state/index.js +7 -0
  69. package/lib/module/hooks/slider-state/index.js.map +1 -0
  70. package/lib/module/hooks/slider-state/use-slider-callbacks.js +60 -0
  71. package/lib/module/hooks/slider-state/use-slider-callbacks.js.map +1 -0
  72. package/lib/module/hooks/slider-state/use-slider-full-screen.js +21 -0
  73. package/lib/module/hooks/slider-state/use-slider-full-screen.js.map +1 -0
  74. package/lib/module/hooks/slider-state/use-slider-navigation.js +25 -0
  75. package/lib/module/hooks/slider-state/use-slider-navigation.js.map +1 -0
  76. package/lib/module/hooks/use-image-aspect-ratio.js +64 -0
  77. package/lib/module/hooks/use-image-aspect-ratio.js.map +1 -0
  78. package/lib/module/hooks/use-registered-callback.js +26 -0
  79. package/lib/module/hooks/use-registered-callback.js.map +1 -0
  80. package/lib/module/hooks/use-slider-state.js +68 -0
  81. package/lib/module/hooks/use-slider-state.js.map +1 -0
  82. package/lib/module/icons/icon-x.js +32 -0
  83. package/lib/module/icons/icon-x.js.map +1 -0
  84. package/lib/module/index.js +2 -7
  85. package/lib/module/index.js.map +1 -1
  86. package/lib/module/internal/pinch-to-zoom.js +202 -0
  87. package/lib/module/internal/pinch-to-zoom.js.map +1 -0
  88. package/lib/module/primitives/index.js +11 -0
  89. package/lib/module/primitives/index.js.map +1 -0
  90. package/lib/module/primitives/slider-close-button.js +40 -0
  91. package/lib/module/primitives/slider-close-button.js.map +1 -0
  92. package/lib/module/primitives/slider-content.js +165 -0
  93. package/lib/module/primitives/slider-content.js.map +1 -0
  94. package/lib/module/{AbsoluteComponentContainer.js → primitives/slider-corner.js} +19 -18
  95. package/lib/module/primitives/slider-corner.js.map +1 -0
  96. package/lib/module/primitives/slider-description.js +31 -0
  97. package/lib/module/primitives/slider-description.js.map +1 -0
  98. package/lib/module/primitives/slider-empty.js +28 -0
  99. package/lib/module/primitives/slider-empty.js.map +1 -0
  100. package/lib/module/primitives/slider-full-screen.js +109 -0
  101. package/lib/module/primitives/slider-full-screen.js.map +1 -0
  102. package/lib/module/primitives/slider-page-counter.js +59 -0
  103. package/lib/module/primitives/slider-page-counter.js.map +1 -0
  104. package/lib/module/primitives/slider.js +27 -0
  105. package/lib/module/primitives/slider.js.map +1 -0
  106. package/lib/{commonjs/@types → module/types}/common.js.map +1 -1
  107. package/lib/module/types/context.js +4 -0
  108. package/lib/module/types/context.js.map +1 -0
  109. package/lib/{commonjs/@types → module/types}/icons.js.map +1 -1
  110. package/lib/module/types/index.js +2 -0
  111. package/lib/module/types/index.js.map +1 -0
  112. package/lib/module/types/pinch-to-zoom.js.map +1 -0
  113. package/lib/module/types/slider-state.js +4 -0
  114. package/lib/module/types/slider-state.js.map +1 -0
  115. package/lib/module/utils/capitalize.js +7 -0
  116. package/lib/module/utils/capitalize.js.map +1 -0
  117. package/lib/module/utils/clamp.js +2 -1
  118. package/lib/module/utils/clamp.js.map +1 -1
  119. package/lib/typescript/commonjs/package.json +1 -0
  120. package/lib/typescript/commonjs/src/__tests__/index.test.d.ts +1 -0
  121. package/lib/typescript/commonjs/src/__tests__/index.test.d.ts.map +1 -0
  122. package/lib/typescript/commonjs/src/constants/layout.d.ts +5 -0
  123. package/lib/typescript/commonjs/src/constants/layout.d.ts.map +1 -0
  124. package/lib/typescript/commonjs/src/context/slider-context.d.ts +8 -0
  125. package/lib/typescript/commonjs/src/context/slider-context.d.ts.map +1 -0
  126. package/lib/typescript/commonjs/src/context/slider-full-screen-context.d.ts +6 -0
  127. package/lib/typescript/commonjs/src/context/slider-full-screen-context.d.ts.map +1 -0
  128. package/lib/typescript/commonjs/src/hooks/index.d.ts +2 -0
  129. package/lib/typescript/commonjs/src/hooks/index.d.ts.map +1 -0
  130. package/lib/typescript/commonjs/src/hooks/slider-state/index.d.ts +5 -0
  131. package/lib/typescript/commonjs/src/hooks/slider-state/index.d.ts.map +1 -0
  132. package/lib/typescript/commonjs/src/hooks/slider-state/use-slider-callbacks.d.ts +6 -0
  133. package/lib/typescript/commonjs/src/hooks/slider-state/use-slider-callbacks.d.ts.map +1 -0
  134. package/lib/typescript/commonjs/src/hooks/slider-state/use-slider-full-screen.d.ts +8 -0
  135. package/lib/typescript/commonjs/src/hooks/slider-state/use-slider-full-screen.d.ts.map +1 -0
  136. package/lib/typescript/commonjs/src/hooks/slider-state/use-slider-navigation.d.ts +5 -0
  137. package/lib/typescript/commonjs/src/hooks/slider-state/use-slider-navigation.d.ts.map +1 -0
  138. package/lib/typescript/commonjs/src/hooks/use-image-aspect-ratio.d.ts +6 -0
  139. package/lib/typescript/commonjs/src/hooks/use-image-aspect-ratio.d.ts.map +1 -0
  140. package/lib/typescript/commonjs/src/hooks/use-registered-callback.d.ts +8 -0
  141. package/lib/typescript/commonjs/src/hooks/use-registered-callback.d.ts.map +1 -0
  142. package/lib/typescript/commonjs/src/hooks/use-slider-state.d.ts +4 -0
  143. package/lib/typescript/commonjs/src/hooks/use-slider-state.d.ts.map +1 -0
  144. package/lib/typescript/commonjs/src/icons/icon-x.d.ts +6 -0
  145. package/lib/typescript/commonjs/src/icons/icon-x.d.ts.map +1 -0
  146. package/lib/typescript/commonjs/src/index.d.ts +4 -0
  147. package/lib/typescript/commonjs/src/index.d.ts.map +1 -0
  148. package/lib/typescript/{src/PinchToZoom.d.ts → commonjs/src/internal/pinch-to-zoom.d.ts} +9 -6
  149. package/lib/typescript/commonjs/src/internal/pinch-to-zoom.d.ts.map +1 -0
  150. package/lib/typescript/commonjs/src/primitives/index.d.ts +17 -0
  151. package/lib/typescript/commonjs/src/primitives/index.d.ts.map +1 -0
  152. package/lib/typescript/commonjs/src/primitives/slider-close-button.d.ts +12 -0
  153. package/lib/typescript/commonjs/src/primitives/slider-close-button.d.ts.map +1 -0
  154. package/lib/typescript/commonjs/src/primitives/slider-content.d.ts +15 -0
  155. package/lib/typescript/commonjs/src/primitives/slider-content.d.ts.map +1 -0
  156. package/lib/typescript/commonjs/src/primitives/slider-corner.d.ts +12 -0
  157. package/lib/typescript/commonjs/src/primitives/slider-corner.d.ts.map +1 -0
  158. package/lib/typescript/commonjs/src/primitives/slider-description.d.ts +10 -0
  159. package/lib/typescript/commonjs/src/primitives/slider-description.d.ts.map +1 -0
  160. package/lib/typescript/commonjs/src/primitives/slider-empty.d.ts +10 -0
  161. package/lib/typescript/commonjs/src/primitives/slider-empty.d.ts.map +1 -0
  162. package/lib/typescript/commonjs/src/primitives/slider-full-screen.d.ts +10 -0
  163. package/lib/typescript/commonjs/src/primitives/slider-full-screen.d.ts.map +1 -0
  164. package/lib/typescript/commonjs/src/primitives/slider-page-counter.d.ts +14 -0
  165. package/lib/typescript/commonjs/src/primitives/slider-page-counter.d.ts.map +1 -0
  166. package/lib/typescript/commonjs/src/primitives/slider.d.ts +30 -0
  167. package/lib/typescript/commonjs/src/primitives/slider.d.ts.map +1 -0
  168. package/lib/typescript/commonjs/src/types/common.d.ts +15 -0
  169. package/lib/typescript/commonjs/src/types/common.d.ts.map +1 -0
  170. package/lib/typescript/commonjs/src/types/context.d.ts +25 -0
  171. package/lib/typescript/commonjs/src/types/context.d.ts.map +1 -0
  172. package/lib/typescript/commonjs/src/types/icons.d.ts +8 -0
  173. package/lib/typescript/commonjs/src/types/icons.d.ts.map +1 -0
  174. package/lib/typescript/commonjs/src/types/index.d.ts +6 -0
  175. package/lib/typescript/commonjs/src/types/index.d.ts.map +1 -0
  176. package/lib/typescript/commonjs/src/types/pinch-to-zoom.d.ts +9 -0
  177. package/lib/typescript/commonjs/src/types/pinch-to-zoom.d.ts.map +1 -0
  178. package/lib/typescript/commonjs/src/types/slider-state.d.ts +39 -0
  179. package/lib/typescript/commonjs/src/types/slider-state.d.ts.map +1 -0
  180. package/lib/typescript/commonjs/src/utils/capitalize.d.ts +3 -0
  181. package/lib/typescript/commonjs/src/utils/capitalize.d.ts.map +1 -0
  182. package/lib/typescript/commonjs/src/utils/clamp.d.ts +3 -0
  183. package/lib/typescript/commonjs/src/utils/clamp.d.ts.map +1 -0
  184. package/lib/typescript/module/package.json +1 -0
  185. package/lib/typescript/module/src/__tests__/index.test.d.ts +1 -0
  186. package/lib/typescript/module/src/__tests__/index.test.d.ts.map +1 -0
  187. package/lib/typescript/module/src/constants/layout.d.ts +5 -0
  188. package/lib/typescript/module/src/constants/layout.d.ts.map +1 -0
  189. package/lib/typescript/module/src/context/slider-context.d.ts +8 -0
  190. package/lib/typescript/module/src/context/slider-context.d.ts.map +1 -0
  191. package/lib/typescript/module/src/context/slider-full-screen-context.d.ts +6 -0
  192. package/lib/typescript/module/src/context/slider-full-screen-context.d.ts.map +1 -0
  193. package/lib/typescript/module/src/hooks/index.d.ts +2 -0
  194. package/lib/typescript/module/src/hooks/index.d.ts.map +1 -0
  195. package/lib/typescript/module/src/hooks/slider-state/index.d.ts +5 -0
  196. package/lib/typescript/module/src/hooks/slider-state/index.d.ts.map +1 -0
  197. package/lib/typescript/module/src/hooks/slider-state/use-slider-callbacks.d.ts +6 -0
  198. package/lib/typescript/module/src/hooks/slider-state/use-slider-callbacks.d.ts.map +1 -0
  199. package/lib/typescript/module/src/hooks/slider-state/use-slider-full-screen.d.ts +8 -0
  200. package/lib/typescript/module/src/hooks/slider-state/use-slider-full-screen.d.ts.map +1 -0
  201. package/lib/typescript/module/src/hooks/slider-state/use-slider-navigation.d.ts +5 -0
  202. package/lib/typescript/module/src/hooks/slider-state/use-slider-navigation.d.ts.map +1 -0
  203. package/lib/typescript/module/src/hooks/use-image-aspect-ratio.d.ts +6 -0
  204. package/lib/typescript/module/src/hooks/use-image-aspect-ratio.d.ts.map +1 -0
  205. package/lib/typescript/module/src/hooks/use-registered-callback.d.ts +8 -0
  206. package/lib/typescript/module/src/hooks/use-registered-callback.d.ts.map +1 -0
  207. package/lib/typescript/module/src/hooks/use-slider-state.d.ts +4 -0
  208. package/lib/typescript/module/src/hooks/use-slider-state.d.ts.map +1 -0
  209. package/lib/typescript/module/src/icons/icon-x.d.ts +6 -0
  210. package/lib/typescript/module/src/icons/icon-x.d.ts.map +1 -0
  211. package/lib/typescript/module/src/index.d.ts +4 -0
  212. package/lib/typescript/module/src/index.d.ts.map +1 -0
  213. package/lib/typescript/module/src/internal/pinch-to-zoom.d.ts +51 -0
  214. package/lib/typescript/module/src/internal/pinch-to-zoom.d.ts.map +1 -0
  215. package/lib/typescript/module/src/primitives/index.d.ts +17 -0
  216. package/lib/typescript/module/src/primitives/index.d.ts.map +1 -0
  217. package/lib/typescript/module/src/primitives/slider-close-button.d.ts +12 -0
  218. package/lib/typescript/module/src/primitives/slider-close-button.d.ts.map +1 -0
  219. package/lib/typescript/module/src/primitives/slider-content.d.ts +15 -0
  220. package/lib/typescript/module/src/primitives/slider-content.d.ts.map +1 -0
  221. package/lib/typescript/module/src/primitives/slider-corner.d.ts +12 -0
  222. package/lib/typescript/module/src/primitives/slider-corner.d.ts.map +1 -0
  223. package/lib/typescript/module/src/primitives/slider-description.d.ts +10 -0
  224. package/lib/typescript/module/src/primitives/slider-description.d.ts.map +1 -0
  225. package/lib/typescript/module/src/primitives/slider-empty.d.ts +10 -0
  226. package/lib/typescript/module/src/primitives/slider-empty.d.ts.map +1 -0
  227. package/lib/typescript/module/src/primitives/slider-full-screen.d.ts +10 -0
  228. package/lib/typescript/module/src/primitives/slider-full-screen.d.ts.map +1 -0
  229. package/lib/typescript/module/src/primitives/slider-page-counter.d.ts +14 -0
  230. package/lib/typescript/module/src/primitives/slider-page-counter.d.ts.map +1 -0
  231. package/lib/typescript/module/src/primitives/slider.d.ts +30 -0
  232. package/lib/typescript/module/src/primitives/slider.d.ts.map +1 -0
  233. package/lib/typescript/module/src/types/common.d.ts +15 -0
  234. package/lib/typescript/module/src/types/common.d.ts.map +1 -0
  235. package/lib/typescript/module/src/types/context.d.ts +25 -0
  236. package/lib/typescript/module/src/types/context.d.ts.map +1 -0
  237. package/lib/typescript/module/src/types/icons.d.ts +8 -0
  238. package/lib/typescript/module/src/types/icons.d.ts.map +1 -0
  239. package/lib/typescript/module/src/types/index.d.ts +6 -0
  240. package/lib/typescript/module/src/types/index.d.ts.map +1 -0
  241. package/lib/typescript/module/src/types/pinch-to-zoom.d.ts +9 -0
  242. package/lib/typescript/module/src/types/pinch-to-zoom.d.ts.map +1 -0
  243. package/lib/typescript/module/src/types/slider-state.d.ts +39 -0
  244. package/lib/typescript/module/src/types/slider-state.d.ts.map +1 -0
  245. package/lib/typescript/module/src/utils/capitalize.d.ts +3 -0
  246. package/lib/typescript/module/src/utils/capitalize.d.ts.map +1 -0
  247. package/lib/typescript/module/src/utils/clamp.d.ts +3 -0
  248. package/lib/typescript/module/src/utils/clamp.d.ts.map +1 -0
  249. package/package.json +79 -91
  250. package/lib/commonjs/@types/pinch-to-zoom.js.map +0 -1
  251. package/lib/commonjs/AbsoluteComponentContainer.js.map +0 -1
  252. package/lib/commonjs/BaseSimpleImageSlider.js +0 -209
  253. package/lib/commonjs/BaseSimpleImageSlider.js.map +0 -1
  254. package/lib/commonjs/FullScreenImageSlider.js +0 -132
  255. package/lib/commonjs/FullScreenImageSlider.js.map +0 -1
  256. package/lib/commonjs/PageCounter.js.map +0 -1
  257. package/lib/commonjs/PinchToZoom.js +0 -174
  258. package/lib/commonjs/PinchToZoom.js.map +0 -1
  259. package/lib/commonjs/SimpleImageSlider.js +0 -79
  260. package/lib/commonjs/SimpleImageSlider.js.map +0 -1
  261. package/lib/commonjs/SimpleImageSliderThemeProvider.js +0 -40
  262. package/lib/commonjs/SimpleImageSliderThemeProvider.js.map +0 -1
  263. package/lib/commonjs/icons/IconX.js.map +0 -1
  264. package/lib/commonjs/utils/renderProp.js.map +0 -1
  265. package/lib/module/@types/pinch-to-zoom.js.map +0 -1
  266. package/lib/module/@types/slider.js +0 -4
  267. package/lib/module/@types/slider.js.map +0 -1
  268. package/lib/module/AbsoluteComponentContainer.js.map +0 -1
  269. package/lib/module/BaseSimpleImageSlider.js +0 -202
  270. package/lib/module/BaseSimpleImageSlider.js.map +0 -1
  271. package/lib/module/FullScreenImageSlider.js +0 -125
  272. package/lib/module/FullScreenImageSlider.js.map +0 -1
  273. package/lib/module/PageCounter.js +0 -39
  274. package/lib/module/PageCounter.js.map +0 -1
  275. package/lib/module/PinchToZoom.js +0 -168
  276. package/lib/module/PinchToZoom.js.map +0 -1
  277. package/lib/module/SimpleImageSlider.js +0 -72
  278. package/lib/module/SimpleImageSlider.js.map +0 -1
  279. package/lib/module/SimpleImageSliderThemeProvider.js +0 -33
  280. package/lib/module/SimpleImageSliderThemeProvider.js.map +0 -1
  281. package/lib/module/icons/IconX.js +0 -37
  282. package/lib/module/icons/IconX.js.map +0 -1
  283. package/lib/module/utils/renderProp.js +0 -12
  284. package/lib/module/utils/renderProp.js.map +0 -1
  285. package/lib/typescript/src/@types/common.d.ts +0 -1
  286. package/lib/typescript/src/@types/common.d.ts.map +0 -1
  287. package/lib/typescript/src/@types/icons.d.ts +0 -6
  288. package/lib/typescript/src/@types/icons.d.ts.map +0 -1
  289. package/lib/typescript/src/@types/pinch-to-zoom.d.ts +0 -8
  290. package/lib/typescript/src/@types/pinch-to-zoom.d.ts.map +0 -1
  291. package/lib/typescript/src/@types/slider.d.ts +0 -5
  292. package/lib/typescript/src/@types/slider.d.ts.map +0 -1
  293. package/lib/typescript/src/AbsoluteComponentContainer.d.ts +0 -7
  294. package/lib/typescript/src/AbsoluteComponentContainer.d.ts.map +0 -1
  295. package/lib/typescript/src/BaseSimpleImageSlider.d.ts +0 -126
  296. package/lib/typescript/src/BaseSimpleImageSlider.d.ts.map +0 -1
  297. package/lib/typescript/src/FullScreenImageSlider.d.ts +0 -58
  298. package/lib/typescript/src/FullScreenImageSlider.d.ts.map +0 -1
  299. package/lib/typescript/src/PageCounter.d.ts +0 -22
  300. package/lib/typescript/src/PageCounter.d.ts.map +0 -1
  301. package/lib/typescript/src/PinchToZoom.d.ts.map +0 -1
  302. package/lib/typescript/src/SimpleImageSlider.d.ts +0 -52
  303. package/lib/typescript/src/SimpleImageSlider.d.ts.map +0 -1
  304. package/lib/typescript/src/SimpleImageSliderThemeProvider.d.ts +0 -17
  305. package/lib/typescript/src/SimpleImageSliderThemeProvider.d.ts.map +0 -1
  306. package/lib/typescript/src/icons/IconX.d.ts +0 -5
  307. package/lib/typescript/src/icons/IconX.d.ts.map +0 -1
  308. package/lib/typescript/src/index.d.ts +0 -9
  309. package/lib/typescript/src/index.d.ts.map +0 -1
  310. package/lib/typescript/src/utils/clamp.d.ts +0 -2
  311. package/lib/typescript/src/utils/clamp.d.ts.map +0 -1
  312. package/lib/typescript/src/utils/renderProp.d.ts +0 -4
  313. package/lib/typescript/src/utils/renderProp.d.ts.map +0 -1
  314. package/src/@types/common.ts +0 -0
  315. package/src/@types/icons.ts +0 -6
  316. package/src/@types/pinch-to-zoom.ts +0 -7
  317. package/src/@types/slider.ts +0 -5
  318. package/src/AbsoluteComponentContainer.tsx +0 -30
  319. package/src/BaseSimpleImageSlider.tsx +0 -384
  320. package/src/FullScreenImageSlider.tsx +0 -203
  321. package/src/PageCounter.tsx +0 -67
  322. package/src/PinchToZoom.tsx +0 -345
  323. package/src/SimpleImageSlider.tsx +0 -110
  324. package/src/SimpleImageSliderThemeProvider.tsx +0 -49
  325. package/src/icons/IconX.tsx +0 -24
  326. package/src/index.tsx +0 -29
  327. package/src/utils/clamp.ts +0 -4
  328. package/src/utils/renderProp.tsx +0 -22
  329. /package/lib/commonjs/{@types → types}/common.js +0 -0
  330. /package/lib/commonjs/{@types → types}/icons.js +0 -0
  331. /package/lib/commonjs/{@types → types}/pinch-to-zoom.js +0 -0
  332. /package/lib/module/{@types → types}/common.js +0 -0
  333. /package/lib/module/{@types → types}/icons.js +0 -0
  334. /package/lib/module/{@types → types}/pinch-to-zoom.js +0 -0
@@ -1,125 +0,0 @@
1
- "use strict";
2
-
3
- import React, { forwardRef, useCallback, useEffect, useMemo, useState } from 'react';
4
- import { Modal, StyleSheet, TouchableOpacity, useWindowDimensions, View } from 'react-native';
5
- import IconX from './icons/IconX';
6
- import Animated, { runOnJS, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';
7
- import { setStatusBarStyle } from 'expo-status-bar';
8
- import BaseListImageSlider from './BaseSimpleImageSlider';
9
- import { useSafeAreaInsets } from 'react-native-safe-area-context';
10
- import renderProp from './utils/renderProp';
11
- import { useSimpleImageSliderTheme } from './SimpleImageSliderThemeProvider';
12
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
- /**
14
- * @description A full screen image slider that displays images in a modal.
15
- */
16
- const FullScreenImageSlider = /*#__PURE__*/forwardRef(function FullScreenImageSlider({
17
- CloseButtonIcon,
18
- open,
19
- onRequestClose,
20
- renderDescription,
21
- onViewableItemChange,
22
- onFadeOut,
23
- data,
24
- ...props
25
- }, ref) {
26
- const windowDimensions = useWindowDimensions();
27
- const theme = useSimpleImageSliderTheme();
28
- const safeAreaInsets = useSafeAreaInsets();
29
- const styles = useMemo(() => makeStyles(safeAreaInsets, windowDimensions, theme), [safeAreaInsets, windowDimensions, theme]);
30
- const [internalIndex, setInternalIndex] = useState(0);
31
- const internalOnViewableItemChange = useCallback(index => {
32
- setInternalIndex(index);
33
- onViewableItemChange?.(index);
34
- }, [onViewableItemChange]);
35
- useEffect(() => {
36
- if (open) {
37
- setStatusBarStyle('light');
38
- } else {
39
- setStatusBarStyle('dark');
40
- }
41
- }, [open]);
42
- const backgroundOpacity = useSharedValue(0);
43
- const modalContentStyle = useAnimatedStyle(() => {
44
- return {
45
- backgroundColor: `rgba(0, 0, 0, ${backgroundOpacity.value})`
46
- };
47
- }, []);
48
- const onPinchToZoomStatusChange = useCallback(({
49
- translation,
50
- scale
51
- }) => {
52
- if (scale <= 1) {
53
- if (translation.x === 0 && translation.y === 0) {
54
- runOnJS(setStatusBarStyle)('light');
55
- backgroundOpacity.value = withTiming(1);
56
- } else {
57
- if (onFadeOut) {
58
- runOnJS(onFadeOut)();
59
- }
60
- runOnJS(setStatusBarStyle)('dark');
61
- backgroundOpacity.value = withTiming(0);
62
- }
63
- } else {
64
- backgroundOpacity.value = 1;
65
- }
66
- }, [backgroundOpacity, onFadeOut]);
67
- return /*#__PURE__*/_jsx(Modal, {
68
- animationType: "fade",
69
- onRequestClose: onRequestClose,
70
- transparent: true,
71
- visible: open,
72
- children: /*#__PURE__*/_jsxs(Animated.View, {
73
- style: [styles.modalContent, modalContentStyle],
74
- children: [/*#__PURE__*/_jsx(TouchableOpacity, {
75
- style: styles.closeButton,
76
- onPress: onRequestClose,
77
- children: CloseButtonIcon ? renderProp(CloseButtonIcon) : /*#__PURE__*/_jsx(IconX, {
78
- color: theme.colors.fullScreenCloseButton
79
- })
80
- }), /*#__PURE__*/_jsx(BaseListImageSlider, {
81
- data: data,
82
- enablePinchToZoom: true,
83
- onPinchToZoomStatusChange: onPinchToZoomStatusChange,
84
- onPinchToZoomRequestClose: onRequestClose,
85
- showPageCounter: false,
86
- ...props,
87
- onViewableItemChange: internalOnViewableItemChange,
88
- imageWidth: windowDimensions.width,
89
- ref: ref
90
- }), renderDescription && data[internalIndex] ? /*#__PURE__*/_jsx(View, {
91
- style: styles.descriptionContainer,
92
- children: renderDescription(data[internalIndex], internalIndex)
93
- }) : null]
94
- })
95
- });
96
- });
97
- export default FullScreenImageSlider;
98
- const makeStyles = (safeAreaInsets, windowDimensions, theme) => {
99
- return StyleSheet.create({
100
- closeButton: {
101
- position: 'absolute',
102
- zIndex: 1000,
103
- top: safeAreaInsets.top,
104
- right: safeAreaInsets.right + 20
105
- },
106
- modalContent: {
107
- alignItems: 'center',
108
- justifyContent: 'center',
109
- gap: 16,
110
- height: windowDimensions.height,
111
- width: windowDimensions.width
112
- },
113
- descriptionContainer: {
114
- position: 'absolute',
115
- borderTopWidth: 1,
116
- borderTopColor: theme.colors.descriptionContainerBorder,
117
- width: '100%',
118
- paddingTop: 20,
119
- bottom: safeAreaInsets.bottom + 100,
120
- paddingLeft: safeAreaInsets.left + 20,
121
- paddingRight: safeAreaInsets.right + 20
122
- }
123
- });
124
- };
125
- //# sourceMappingURL=FullScreenImageSlider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","forwardRef","useCallback","useEffect","useMemo","useState","Modal","StyleSheet","TouchableOpacity","useWindowDimensions","View","IconX","Animated","runOnJS","useAnimatedStyle","useSharedValue","withTiming","setStatusBarStyle","BaseListImageSlider","useSafeAreaInsets","renderProp","useSimpleImageSliderTheme","jsx","_jsx","jsxs","_jsxs","FullScreenImageSlider","CloseButtonIcon","open","onRequestClose","renderDescription","onViewableItemChange","onFadeOut","data","props","ref","windowDimensions","theme","safeAreaInsets","styles","makeStyles","internalIndex","setInternalIndex","internalOnViewableItemChange","index","backgroundOpacity","modalContentStyle","backgroundColor","value","onPinchToZoomStatusChange","translation","scale","x","y","animationType","transparent","visible","children","style","modalContent","closeButton","onPress","color","colors","fullScreenCloseButton","enablePinchToZoom","onPinchToZoomRequestClose","showPageCounter","imageWidth","width","descriptionContainer","create","position","zIndex","top","right","alignItems","justifyContent","gap","height","borderTopWidth","borderTopColor","descriptionContainerBorder","paddingTop","bottom","paddingLeft","left","paddingRight"],"sourceRoot":"../../src","sources":["FullScreenImageSlider.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,39 +0,0 @@
1
- "use strict";
2
-
3
- import React, { useMemo } from 'react';
4
- import { StyleSheet, Text, View } from 'react-native';
5
- import { useSimpleImageSliderTheme } from './SimpleImageSliderThemeProvider';
6
- import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
7
- export default function PageCounter({
8
- currentPage,
9
- totalPages,
10
- style,
11
- textStyle
12
- }) {
13
- const theme = useSimpleImageSliderTheme();
14
- const styles = useMemo(() => makeStyles(theme), [theme]);
15
- return /*#__PURE__*/_jsx(View, {
16
- style: [styles.container, style],
17
- children: /*#__PURE__*/_jsxs(Text, {
18
- style: textStyle,
19
- children: [currentPage, " / ", totalPages]
20
- })
21
- });
22
- }
23
- const makeStyles = theme => {
24
- return StyleSheet.create({
25
- container: {
26
- backgroundColor: theme.colors.pageCounterBackground,
27
- borderWidth: 1,
28
- borderColor: theme.colors.pageCounterBorder,
29
- borderRadius: 8,
30
- paddingVertical: 6,
31
- paddingHorizontal: 5,
32
- width: 75,
33
- flexDirection: 'row',
34
- alignItems: 'center',
35
- justifyContent: 'center'
36
- }
37
- });
38
- };
39
- //# sourceMappingURL=PageCounter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","useMemo","StyleSheet","Text","View","useSimpleImageSliderTheme","jsxs","_jsxs","jsx","_jsx","PageCounter","currentPage","totalPages","style","textStyle","theme","styles","makeStyles","container","children","create","backgroundColor","colors","pageCounterBackground","borderWidth","borderColor","pageCounterBorder","borderRadius","paddingVertical","paddingHorizontal","width","flexDirection","alignItems","justifyContent"],"sourceRoot":"../../src","sources":["PageCounter.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAEIC,UAAU,EACVC,IAAI,EAEJC,IAAI,QAED,cAAc;AACrB,SAEIC,yBAAyB,QACtB,kCAAkC;AAAC,SAAAC,IAAA,IAAAC,KAAA,EAAAC,GAAA,IAAAC,IAAA;AAqB1C,eAAe,SAASC,WAAWA,CAAC;EAChCC,WAAW;EACXC,UAAU;EACVC,KAAK;EACLC;AACc,CAAC,EAAE;EACjB,MAAMC,KAAK,GAAGV,yBAAyB,CAAC,CAAC;EACzC,MAAMW,MAAM,GAAGf,OAAO,CAAC,MAAMgB,UAAU,CAACF,KAAK,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAExD,oBACIN,IAAA,CAACL,IAAI;IAACS,KAAK,EAAE,CAACG,MAAM,CAACE,SAAS,EAAEL,KAAK,CAAE;IAAAM,QAAA,eACnCZ,KAAA,CAACJ,IAAI;MAACU,KAAK,EAAEC,SAAU;MAAAK,QAAA,GAClBR,WAAW,EAAC,KAAG,EAACC,UAAU;IAAA,CACzB;EAAC,CACL,CAAC;AAEf;AAEA,MAAMK,UAAU,GAAIF,KAA6B,IAAK;EAClD,OAAOb,UAAU,CAACkB,MAAM,CAAC;IACrBF,SAAS,EAAE;MACPG,eAAe,EAAEN,KAAK,CAACO,MAAM,CAACC,qBAAqB;MACnDC,WAAW,EAAE,CAAC;MACdC,WAAW,EAAEV,KAAK,CAACO,MAAM,CAACI,iBAAiB;MAC3CC,YAAY,EAAE,CAAC;MACfC,eAAe,EAAE,CAAC;MAClBC,iBAAiB,EAAE,CAAC;MACpBC,KAAK,EAAE,EAAE;MACTC,aAAa,EAAE,KAAK;MACpBC,UAAU,EAAE,QAAQ;MACpBC,cAAc,EAAE;IACpB;EACJ,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
@@ -1,168 +0,0 @@
1
- "use strict";
2
-
3
- import React, { useCallback, useMemo } from 'react';
4
- import { useWindowDimensions } from 'react-native';
5
- import Animated, { cancelAnimation, runOnJS, useAnimatedReaction, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';
6
- import { Gesture, GestureDetector } from 'react-native-gesture-handler';
7
- import { clamp } from './utils/clamp';
8
- import * as Haptics from 'expo-haptics';
9
- import { jsx as _jsx } from "react/jsx-runtime";
10
- export default function PinchToZoom({
11
- minimumZoomScale = 1,
12
- maximumZoomScale = 8,
13
- style: propStyle,
14
- disabled,
15
- onLayout,
16
- onStatusChange,
17
- onScaleChange,
18
- onScaleReset,
19
- children,
20
- onDismiss
21
- }) {
22
- const {
23
- height: windowHeight
24
- } = useWindowDimensions();
25
- const translationX = useSharedValue(0);
26
- const translationY = useSharedValue(0);
27
- const originX = useSharedValue(0);
28
- const originY = useSharedValue(0);
29
- const scale = useSharedValue(1);
30
- const isPinching = useSharedValue(false);
31
- const viewHeight = useSharedValue(0);
32
- const viewWidth = useSharedValue(0);
33
- const prevScale = useSharedValue(0);
34
- const offsetScale = useSharedValue(0);
35
- const prevTranslationX = useSharedValue(0);
36
- const prevTranslationY = useSharedValue(0);
37
- const pinchGesture = useMemo(() => Gesture.Pinch().enabled(!disabled).onStart(() => {
38
- cancelAnimation(translationX);
39
- cancelAnimation(translationY);
40
- cancelAnimation(scale);
41
- prevScale.value = scale.value;
42
- offsetScale.value = scale.value;
43
- if (onScaleChange) runOnJS(onScaleChange)();
44
- }).onUpdate(e => {
45
- if (e.numberOfPointers === 2) {
46
- scale.value = Math.min(prevScale.value * e.scale, maximumZoomScale);
47
-
48
- // reset the origin
49
- if (!isPinching.value) {
50
- isPinching.value = true;
51
- originX.value = e.focalX;
52
- originY.value = e.focalY;
53
- prevTranslationX.value = translationX.value;
54
- prevTranslationY.value = translationY.value;
55
- offsetScale.value = scale.value;
56
- }
57
- if (isPinching.value) {
58
- // translate the image to the focal point as we're zooming
59
- translationX.value = clamp(prevTranslationX.value + -1 * ((scale.value - offsetScale.value) * (originX.value - viewWidth.value / 2)), -viewWidth.value * (scale.value - minimumZoomScale) / 2, viewWidth.value * (scale.value - minimumZoomScale) / 2);
60
- translationY.value = clamp(prevTranslationY.value + -1 * ((scale.value - offsetScale.value) * (originY.value - viewHeight.value / 2)), -viewHeight.value * (scale.value - minimumZoomScale) / 2, viewHeight.value * (scale.value - minimumZoomScale) / 2);
61
- }
62
- }
63
- }).onEnd(() => {
64
- isPinching.value = false;
65
- if (scale.value < minimumZoomScale / 2 && prevScale.value <= minimumZoomScale) {
66
- if (onDismiss) {
67
- runOnJS(onDismiss)();
68
- }
69
- } else if (scale.value < minimumZoomScale) {
70
- runOnJS(Haptics.impactAsync)(Haptics.ImpactFeedbackStyle.Light);
71
- translationX.value = withTiming(0);
72
- translationY.value = withTiming(0);
73
- scale.value = withTiming(minimumZoomScale);
74
- if (onScaleReset) {
75
- runOnJS(onScaleReset)();
76
- }
77
- }
78
- prevScale.value = 0;
79
- prevTranslationX.value = translationX.value;
80
- prevTranslationY.value = translationY.value;
81
- }), [disabled, translationX, translationY, scale, prevScale, offsetScale, onScaleChange, maximumZoomScale, isPinching, originX, originY, prevTranslationX, prevTranslationY, viewWidth, viewHeight, minimumZoomScale, onDismiss, onScaleReset]);
82
- const panGesture = useMemo(() => Gesture.Pan().enabled(!disabled).onStart(() => {
83
- cancelAnimation(translationX);
84
- cancelAnimation(translationY);
85
- prevTranslationX.value = translationX.value;
86
- prevTranslationY.value = translationY.value;
87
- }).onUpdate(e => {
88
- if (prevScale.value <= minimumZoomScale) {
89
- translationX.value = prevTranslationX.value + e.translationX;
90
- translationY.value = prevTranslationY.value + e.translationY;
91
- } else {
92
- translationX.value = clamp(prevTranslationX.value + e.translationX, -viewWidth.value * (scale.value - minimumZoomScale) / 2, viewWidth.value * (scale.value - minimumZoomScale) / 2);
93
- translationY.value = clamp(prevTranslationY.value + e.translationY, -viewHeight.value * (scale.value - minimumZoomScale) / 2, viewHeight.value * (scale.value - minimumZoomScale) / 2);
94
- }
95
- }).onEnd(() => {
96
- if (scale.value <= minimumZoomScale && prevScale.value <= minimumZoomScale) {
97
- if (Math.abs(translationX.value) > viewWidth.value / 2 || Math.abs(translationY.value) > viewHeight.value / 2) {
98
- if (onDismiss) {
99
- runOnJS(onDismiss)();
100
- }
101
- } else {
102
- runOnJS(Haptics.impactAsync)(Haptics.ImpactFeedbackStyle.Light);
103
- translationX.value = withTiming(0);
104
- translationY.value = withTiming(0);
105
- }
106
- } else if (viewHeight.value * (scale.value - minimumZoomScale) <= windowHeight) {
107
- translationX.value = withTiming(clamp(translationX.value, -viewWidth.value * (scale.value - minimumZoomScale) / 2, viewWidth.value * (scale.value - minimumZoomScale) / 2));
108
- translationY.value = withTiming(clamp(translationY.value, -viewHeight.value * (scale.value - minimumZoomScale) / 2, viewHeight.value * (scale.value - minimumZoomScale) / 2));
109
- }
110
- }), [disabled, minimumZoomScale, onDismiss, prevScale, prevTranslationX, prevTranslationY, scale, windowHeight, translationX, translationY, viewHeight, viewWidth]);
111
- const tapGesture = useMemo(() => Gesture.Tap().enabled(!disabled).numberOfTaps(2).onStart(() => {
112
- if (scale.value > minimumZoomScale) {
113
- translationX.value = withTiming(0);
114
- translationY.value = withTiming(0);
115
- scale.value = withTiming(minimumZoomScale);
116
- if (onScaleReset) {
117
- runOnJS(onScaleReset)();
118
- }
119
- } else {
120
- scale.value = withTiming(maximumZoomScale / 2);
121
- if (onScaleChange) {
122
- runOnJS(onScaleChange)();
123
- }
124
- }
125
- }), [disabled, maximumZoomScale, minimumZoomScale, onScaleChange, onScaleReset, scale, translationX, translationY]);
126
- const compositeGesture = useMemo(() => {
127
- return Gesture.Exclusive(Gesture.Simultaneous(pinchGesture, panGesture), tapGesture);
128
- }, [panGesture, pinchGesture, tapGesture]);
129
- useAnimatedReaction(() => {
130
- return {
131
- scale: scale.value,
132
- translation: {
133
- x: translationX.value,
134
- y: translationY.value
135
- }
136
- };
137
- }, prepared => {
138
- if (onStatusChange) {
139
- runOnJS(onStatusChange)(prepared);
140
- }
141
- }, [onStatusChange]);
142
- const style = useAnimatedStyle(() => {
143
- return {
144
- transform: [{
145
- translateX: translationX.value
146
- }, {
147
- translateY: translationY.value
148
- }, {
149
- scale: scale.value
150
- }]
151
- };
152
- }, []);
153
- const internalOnLayout = useCallback(e => {
154
- viewHeight.value = e.nativeEvent.layout.height;
155
- viewWidth.value = e.nativeEvent.layout.width;
156
- onLayout?.(e);
157
- }, [viewHeight, viewWidth, onLayout]);
158
- const finalStyle = useMemo(() => [style, propStyle], [style, propStyle]);
159
- return /*#__PURE__*/_jsx(GestureDetector, {
160
- gesture: compositeGesture,
161
- children: /*#__PURE__*/_jsx(Animated.View, {
162
- onLayout: internalOnLayout,
163
- style: finalStyle,
164
- children: children
165
- })
166
- });
167
- }
168
- //# sourceMappingURL=PinchToZoom.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","useCallback","useMemo","useWindowDimensions","Animated","cancelAnimation","runOnJS","useAnimatedReaction","useAnimatedStyle","useSharedValue","withTiming","Gesture","GestureDetector","clamp","Haptics","jsx","_jsx","PinchToZoom","minimumZoomScale","maximumZoomScale","style","propStyle","disabled","onLayout","onStatusChange","onScaleChange","onScaleReset","children","onDismiss","height","windowHeight","translationX","translationY","originX","originY","scale","isPinching","viewHeight","viewWidth","prevScale","offsetScale","prevTranslationX","prevTranslationY","pinchGesture","Pinch","enabled","onStart","value","onUpdate","e","numberOfPointers","Math","min","focalX","focalY","onEnd","impactAsync","ImpactFeedbackStyle","Light","panGesture","Pan","abs","tapGesture","Tap","numberOfTaps","compositeGesture","Exclusive","Simultaneous","translation","x","y","prepared","transform","translateX","translateY","internalOnLayout","nativeEvent","layout","width","finalStyle","gesture","View"],"sourceRoot":"../../src","sources":["PinchToZoom.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,72 +0,0 @@
1
- "use strict";
2
-
3
- import React, { forwardRef, useCallback, useRef, useState } from 'react';
4
- import mergeRefs from 'merge-refs';
5
- import FullScreenImageSlider from './FullScreenImageSlider';
6
- import BaseListImageSlider from './BaseSimpleImageSlider';
7
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
8
- /**
9
- * @description A simple image slider that displays images in a list and can show a {@link FullScreenImageSlider} on press.
10
- */
11
- const SimpleImageSlider = /*#__PURE__*/forwardRef(function ListImageSlider({
12
- data,
13
- fullScreenEnabled = false,
14
- onItemPress,
15
- onViewableItemChange,
16
- FullScreenCloseButtonIcon,
17
- renderFullScreenDescription,
18
- imageAspectRatio,
19
- fullScreenImageAspectRatio,
20
- ...props
21
- }, ref) {
22
- const listRef = useRef(null);
23
- const fullScreenListRef = useRef(null);
24
- const [fullScreen, setFullScreen] = useState(false);
25
- const [currentIndex, setCurrentIndex] = useState(0);
26
- const internalOnViewableItemChange = useCallback(index => {
27
- setCurrentIndex(index);
28
- onViewableItemChange?.(index);
29
- }, [onViewableItemChange]);
30
- const onFullScreenViewableItemChange = useCallback(index => {
31
- setCurrentIndex(index);
32
- }, []);
33
- const openFullScreen = useCallback(() => {
34
- setFullScreen(true);
35
- }, []);
36
- const onRequestClose = useCallback(() => {
37
- listRef.current?.scrollToIndex({
38
- index: currentIndex
39
- });
40
- setFullScreen(false);
41
- }, [currentIndex]);
42
- const onFadeOut = useCallback(() => {
43
- listRef.current?.scrollToIndex({
44
- index: currentIndex
45
- });
46
- }, [currentIndex]);
47
- return /*#__PURE__*/_jsxs(_Fragment, {
48
- children: [/*#__PURE__*/_jsx(BaseListImageSlider, {
49
- ...props,
50
- imageAspectRatio: imageAspectRatio,
51
- data: data,
52
- ref: mergeRefs(ref, listRef),
53
- onItemPress: fullScreenEnabled ? openFullScreen : onItemPress,
54
- onViewableItemChange: internalOnViewableItemChange
55
- }), fullScreenEnabled ? /*#__PURE__*/_jsx(FullScreenImageSlider, {
56
- ...props,
57
- imageAspectRatio: fullScreenImageAspectRatio ?? imageAspectRatio,
58
- ref: fullScreenListRef,
59
- open: fullScreen,
60
- onRequestClose: onRequestClose,
61
- data: data,
62
- showPageCounter: false,
63
- indexOverride: currentIndex,
64
- onViewableItemChange: onFullScreenViewableItemChange,
65
- renderDescription: renderFullScreenDescription,
66
- CloseButtonIcon: FullScreenCloseButtonIcon,
67
- onFadeOut: onFadeOut
68
- }) : null]
69
- });
70
- });
71
- export default SimpleImageSlider;
72
- //# sourceMappingURL=SimpleImageSlider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","forwardRef","useCallback","useRef","useState","mergeRefs","FullScreenImageSlider","BaseListImageSlider","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","SimpleImageSlider","ListImageSlider","data","fullScreenEnabled","onItemPress","onViewableItemChange","FullScreenCloseButtonIcon","renderFullScreenDescription","imageAspectRatio","fullScreenImageAspectRatio","props","ref","listRef","fullScreenListRef","fullScreen","setFullScreen","currentIndex","setCurrentIndex","internalOnViewableItemChange","index","onFullScreenViewableItemChange","openFullScreen","onRequestClose","current","scrollToIndex","onFadeOut","children","open","showPageCounter","indexOverride","renderDescription","CloseButtonIcon"],"sourceRoot":"../../src","sources":["SimpleImageSlider.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,33 +0,0 @@
1
- "use strict";
2
-
3
- import React, { createContext, useContext, useMemo } from 'react';
4
- import { jsx as _jsx } from "react/jsx-runtime";
5
- const defaultTheme = {
6
- colors: {
7
- pageCounterBackground: '#D3D3D3',
8
- pageCounterBorder: '#000000',
9
- fullScreenCloseButton: '#FFFFFF',
10
- descriptionContainerBorder: '#FFFFFF'
11
- }
12
- };
13
- const ThemeContext = /*#__PURE__*/createContext(defaultTheme);
14
- export function useSimpleImageSliderTheme() {
15
- return useContext(ThemeContext);
16
- }
17
- export default function SimpleImageSliderThemeProvider({
18
- overrides,
19
- children
20
- }) {
21
- const theme = useMemo(() => ({
22
- ...defaultTheme,
23
- colors: {
24
- ...defaultTheme.colors,
25
- ...overrides?.colors
26
- }
27
- }), [overrides?.colors]);
28
- return /*#__PURE__*/_jsx(ThemeContext.Provider, {
29
- value: theme,
30
- children: children
31
- });
32
- }
33
- //# sourceMappingURL=SimpleImageSliderThemeProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","createContext","useContext","useMemo","jsx","_jsx","defaultTheme","colors","pageCounterBackground","pageCounterBorder","fullScreenCloseButton","descriptionContainerBorder","ThemeContext","useSimpleImageSliderTheme","SimpleImageSliderThemeProvider","overrides","children","theme","Provider","value"],"sourceRoot":"../../src","sources":["SimpleImageSliderThemeProvider.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,aAAa,EAA0BC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAW1F,MAAMC,YAAoC,GAAG;EACzCC,MAAM,EAAE;IACJC,qBAAqB,EAAE,SAAS;IAChCC,iBAAiB,EAAE,SAAS;IAC5BC,qBAAqB,EAAE,SAAS;IAChCC,0BAA0B,EAAE;EAChC;AACJ,CAAC;AAED,MAAMC,YAAY,gBAAGX,aAAa,CAAyBK,YAAY,CAAC;AAQxE,OAAO,SAASO,yBAAyBA,CAAA,EAAG;EACxC,OAAOX,UAAU,CAACU,YAAY,CAAC;AACnC;AAEA,eAAe,SAASE,8BAA8BA,CAAC;EACnDC,SAAS;EACTC;AACiC,CAAC,EAAE;EACpC,MAAMC,KAA6B,GAAGd,OAAO,CACzC,OAAO;IACH,GAAGG,YAAY;IACfC,MAAM,EAAE;MACJ,GAAGD,YAAY,CAACC,MAAM;MACtB,GAAGQ,SAAS,EAAER;IAClB;EACJ,CAAC,CAAC,EACF,CAACQ,SAAS,EAAER,MAAM,CACtB,CAAC;EAED,oBAAOF,IAAA,CAACO,YAAY,CAACM,QAAQ;IAACC,KAAK,EAAEF,KAAM;IAAAD,QAAA,EAAEA;EAAQ,CAAwB,CAAC;AAClF","ignoreList":[]}
@@ -1,37 +0,0 @@
1
- "use strict";
2
-
3
- import React from 'react';
4
- import Svg, { Path } from 'react-native-svg';
5
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
- function IconX({
7
- size = 24,
8
- color = '#1f2937',
9
- stroke = 2,
10
- ...props
11
- }) {
12
- return (
13
- /*#__PURE__*/
14
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
15
- // @ts-ignore
16
- _jsxs(Svg, {
17
- width: size,
18
- height: size,
19
- viewBox: "0 0 24 24",
20
- strokeWidth: stroke,
21
- stroke: color,
22
- fill: "none",
23
- ...props,
24
- children: [/*#__PURE__*/_jsx(Path, {
25
- stroke: "none",
26
- d: "M0 0h24v24H0z",
27
- fill: "none"
28
- }), /*#__PURE__*/_jsx(Path, {
29
- d: "M18 6l-12 12"
30
- }), /*#__PURE__*/_jsx(Path, {
31
- d: "M6 6l12 12"
32
- })]
33
- })
34
- );
35
- }
36
- export default IconX;
37
- //# sourceMappingURL=IconX.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","Svg","Path","jsx","_jsx","jsxs","_jsxs","IconX","size","color","stroke","props","width","height","viewBox","strokeWidth","fill","children","d"],"sourceRoot":"../../../src","sources":["icons/IconX.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,GAAG,IAAIC,IAAI,QAAQ,kBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAG7C,SAASC,KAAKA,CAAC;EAAEC,IAAI,GAAG,EAAE;EAAEC,KAAK,GAAG,SAAS;EAAEC,MAAM,GAAG,CAAC;EAAE,GAAGC;AAAkB,CAAC,EAAE;EAC/E;IAAA;IACI;IACA;IACAL,KAAA,CAACL,GAAG;MACAW,KAAK,EAAEJ,IAAK;MACZK,MAAM,EAAEL,IAAK;MACbM,OAAO,EAAC,WAAW;MACnBC,WAAW,EAAEL,MAAO;MACpBA,MAAM,EAAED,KAAM;MACdO,IAAI,EAAC,MAAM;MAAA,GACPL,KAAK;MAAAM,QAAA,gBAETb,IAAA,CAACF,IAAI;QAACQ,MAAM,EAAC,MAAM;QAACQ,CAAC,EAAC,eAAe;QAACF,IAAI,EAAC;MAAM,CAAE,CAAC,eACpDZ,IAAA,CAACF,IAAI;QAACgB,CAAC,EAAC;MAAc,CAAE,CAAC,eACzBd,IAAA,CAACF,IAAI;QAACgB,CAAC,EAAC;MAAY,CAAE,CAAC;IAAA,CACtB;EAAC;AAEd;AACA,eAAeX,KAAK","ignoreList":[]}
@@ -1,12 +0,0 @@
1
- "use strict";
2
-
3
- import React, { isValidElement } from 'react';
4
- import { jsx as _jsx } from "react/jsx-runtime";
5
- export default function renderProp(Component) {
6
- return Component ? typeof Component === 'string' ? Component : /*#__PURE__*/isValidElement(Component) ? Component :
7
- /*#__PURE__*/
8
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
9
- // @ts-ignore
10
- _jsx(Component, {}) : null;
11
- }
12
- //# sourceMappingURL=renderProp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","isValidElement","jsx","_jsx","renderProp","Component"],"sourceRoot":"../../../src","sources":["utils/renderProp.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,cAAc,QAAQ,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAS9C,eAAe,SAASC,UAAUA,CAACC,SAAqB,EAAE;EACtD,OAAOA,SAAS,GACZ,OAAOA,SAAS,KAAK,QAAQ,GACzBA,SAAS,GACT,aAAAJ,cAAc,CAACI,SAAS,CAAC,GACzBA,SAAS;EAAA;EAET;EACA;EACAF,IAAA,CAACE,SAAS,IAAE,CACf,GACD,IAAI;AACZ","ignoreList":[]}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=common.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/@types/common.ts"],"names":[],"mappings":""}
@@ -1,6 +0,0 @@
1
- import React from 'react';
2
- export interface IconsProps extends Partial<Omit<React.SVGProps<SVGSVGElement>, 'stroke'>> {
3
- size?: number;
4
- stroke?: number;
5
- }
6
- //# sourceMappingURL=icons.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../../src/@types/icons.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,UAAW,SAAQ,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,CAAC;IACtF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB"}
@@ -1,8 +0,0 @@
1
- export type PinchToZoomStatus = {
2
- scale: number;
3
- translation: {
4
- x: number;
5
- y: number;
6
- };
7
- };
8
- //# sourceMappingURL=pinch-to-zoom.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pinch-to-zoom.d.ts","sourceRoot":"","sources":["../../../../src/@types/pinch-to-zoom.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE;QACT,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;KACb,CAAC;CACL,CAAC"}
@@ -1,5 +0,0 @@
1
- import type { ImageProps } from 'expo-image';
2
- export type SimpleImageSliderItem = ImageProps & {
3
- key: string;
4
- };
5
- //# sourceMappingURL=slider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../../src/@types/slider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG;IAC7C,GAAG,EAAE,MAAM,CAAC;CACf,CAAC"}
@@ -1,7 +0,0 @@
1
- import React from 'react';
2
- import type { PropsWithChildren } from 'react';
3
- export type AbsoluteComponentContainerProps = PropsWithChildren<{
4
- position: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
5
- }>;
6
- export declare function AbsoluteComponentContainer({ position, children, }: AbsoluteComponentContainerProps): React.JSX.Element;
7
- //# sourceMappingURL=AbsoluteComponentContainer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AbsoluteComponentContainer.d.ts","sourceRoot":"","sources":["../../../src/AbsoluteComponentContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAG/C,MAAM,MAAM,+BAA+B,GAAG,iBAAiB,CAAC;IAC5D,QAAQ,EAAE,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,CAAC;CACvE,CAAC,CAAC;AAEH,wBAAgB,0BAA0B,CAAC,EACvC,QAAQ,EACR,QAAQ,GACX,EAAE,+BAA+B,qBAIjC"}