@one-am/react-native-simple-image-slider 0.16.0 → 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 -212
  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 -205
  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 -390
  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,345 +0,0 @@
1
- import React, { type PropsWithChildren, useCallback, useMemo } from 'react';
2
- import {
3
- type LayoutChangeEvent,
4
- type StyleProp,
5
- useWindowDimensions,
6
- type ViewStyle,
7
- } from 'react-native';
8
- import Animated, {
9
- cancelAnimation,
10
- runOnJS,
11
- useAnimatedReaction,
12
- useAnimatedStyle,
13
- useSharedValue,
14
- withTiming,
15
- } from 'react-native-reanimated';
16
- import { Gesture, GestureDetector } from 'react-native-gesture-handler';
17
- import { clamp } from './utils/clamp';
18
- import * as Haptics from 'expo-haptics';
19
- import type { PinchToZoomStatus } from './@types/pinch-to-zoom';
20
-
21
- export type PinchToZoomProps = PropsWithChildren<{
22
- /**
23
- * @description The minimum zoom scale of the image.
24
- * @default 1
25
- */
26
- minimumZoomScale?: number;
27
- /**
28
- * @description The maximum zoom scale of the image.
29
- * @default 8
30
- */
31
- maximumZoomScale?: number;
32
- /**
33
- * @description Additional styles or styles to override default style of the container View.
34
- */
35
- style?: StyleProp<ViewStyle>;
36
- /**
37
- * @description Whether all gestures should be disabled or not.
38
- * @default false
39
- */
40
- disabled?: boolean;
41
- /**
42
- * @description Callback that is called when the layout of the container changes.
43
- * @param {LayoutChangeEvent} e The layout change event.
44
- */
45
- onLayout?: (e: LayoutChangeEvent) => void;
46
- /**
47
- * @description Callback that is called when the scale of the image changes to a value different from `minimumZoomScale`.
48
- */
49
- onScaleChange?: () => void;
50
- /**
51
- * @description Callback that is called when the scale of the image changes to `minimumZoomScale`.
52
- */
53
- onScaleReset?: () => void;
54
- /**
55
- * @description Callback that is called when either the translation or the scale of the image change.
56
- * @param {PinchToZoomStatus} status The current status.
57
- */
58
- onStatusChange?: (status: PinchToZoomStatus) => void;
59
- /**
60
- * @description Callback that is called when gestures should lead to the item being dismissed.
61
- */
62
- onDismiss?: () => void;
63
- }>;
64
-
65
- export default function PinchToZoom({
66
- minimumZoomScale = 1,
67
- maximumZoomScale = 8,
68
- style: propStyle,
69
- disabled,
70
- onLayout,
71
- onStatusChange,
72
- onScaleChange,
73
- onScaleReset,
74
- children,
75
- onDismiss,
76
- }: PinchToZoomProps) {
77
- const { height: windowHeight } = useWindowDimensions();
78
-
79
- const translationX = useSharedValue(0);
80
- const translationY = useSharedValue(0);
81
- const originX = useSharedValue(0);
82
- const originY = useSharedValue(0);
83
- const scale = useSharedValue(1);
84
- const isPinching = useSharedValue(false);
85
- const viewHeight = useSharedValue(0);
86
- const viewWidth = useSharedValue(0);
87
-
88
- const prevScale = useSharedValue(0);
89
- const offsetScale = useSharedValue(0);
90
- const prevTranslationX = useSharedValue(0);
91
- const prevTranslationY = useSharedValue(0);
92
-
93
- const pinchGesture = useMemo(
94
- () =>
95
- Gesture.Pinch()
96
- .enabled(!disabled)
97
- .onStart(() => {
98
- cancelAnimation(translationX);
99
- cancelAnimation(translationY);
100
- cancelAnimation(scale);
101
- prevScale.value = scale.value;
102
- offsetScale.value = scale.value;
103
- if (onScaleChange) runOnJS(onScaleChange)();
104
- })
105
- .onUpdate((e) => {
106
- if (e.numberOfPointers === 2) {
107
- scale.value = Math.min(prevScale.value * e.scale, maximumZoomScale);
108
-
109
- // reset the origin
110
- if (!isPinching.value) {
111
- isPinching.value = true;
112
- originX.value = e.focalX;
113
- originY.value = e.focalY;
114
- prevTranslationX.value = translationX.value;
115
- prevTranslationY.value = translationY.value;
116
- offsetScale.value = scale.value;
117
- }
118
-
119
- if (isPinching.value) {
120
- // translate the image to the focal point as we're zooming
121
- translationX.value = clamp(
122
- prevTranslationX.value +
123
- -1 *
124
- ((scale.value - offsetScale.value) *
125
- (originX.value - viewWidth.value / 2)),
126
- (-viewWidth.value * (scale.value - minimumZoomScale)) / 2,
127
- (viewWidth.value * (scale.value - minimumZoomScale)) / 2
128
- );
129
-
130
- translationY.value = clamp(
131
- prevTranslationY.value +
132
- -1 *
133
- ((scale.value - offsetScale.value) *
134
- (originY.value - viewHeight.value / 2)),
135
- (-viewHeight.value * (scale.value - minimumZoomScale)) / 2,
136
- (viewHeight.value * (scale.value - minimumZoomScale)) / 2
137
- );
138
- }
139
- }
140
- })
141
- .onEnd(() => {
142
- isPinching.value = false;
143
-
144
- if (scale.value < minimumZoomScale / 2 && prevScale.value <= minimumZoomScale) {
145
- if (onDismiss) {
146
- runOnJS(onDismiss)();
147
- }
148
- } else if (scale.value < minimumZoomScale) {
149
- runOnJS(Haptics.impactAsync)(Haptics.ImpactFeedbackStyle.Light);
150
- translationX.value = withTiming(0);
151
- translationY.value = withTiming(0);
152
- scale.value = withTiming(minimumZoomScale);
153
- if (onScaleReset) {
154
- runOnJS(onScaleReset)();
155
- }
156
- }
157
-
158
- prevScale.value = 0;
159
- prevTranslationX.value = translationX.value;
160
- prevTranslationY.value = translationY.value;
161
- }),
162
-
163
- [
164
- disabled,
165
- translationX,
166
- translationY,
167
- scale,
168
- prevScale,
169
- offsetScale,
170
- onScaleChange,
171
- maximumZoomScale,
172
- isPinching,
173
- originX,
174
- originY,
175
- prevTranslationX,
176
- prevTranslationY,
177
- viewWidth,
178
- viewHeight,
179
- minimumZoomScale,
180
- onDismiss,
181
- onScaleReset,
182
- ]
183
- );
184
-
185
- const panGesture = useMemo(
186
- () =>
187
- Gesture.Pan()
188
- .enabled(!disabled)
189
- .onStart(() => {
190
- cancelAnimation(translationX);
191
- cancelAnimation(translationY);
192
-
193
- prevTranslationX.value = translationX.value;
194
- prevTranslationY.value = translationY.value;
195
- })
196
- .onUpdate((e) => {
197
- if (prevScale.value <= minimumZoomScale) {
198
- translationX.value = prevTranslationX.value + e.translationX;
199
- translationY.value = prevTranslationY.value + e.translationY;
200
- } else {
201
- translationX.value = clamp(
202
- prevTranslationX.value + e.translationX,
203
- (-viewWidth.value * (scale.value - minimumZoomScale)) / 2,
204
- (viewWidth.value * (scale.value - minimumZoomScale)) / 2
205
- );
206
- translationY.value = clamp(
207
- prevTranslationY.value + e.translationY,
208
- (-viewHeight.value * (scale.value - minimumZoomScale)) / 2,
209
- (viewHeight.value * (scale.value - minimumZoomScale)) / 2
210
- );
211
- }
212
- })
213
- .onEnd(() => {
214
- if (scale.value <= minimumZoomScale && prevScale.value <= minimumZoomScale) {
215
- if (
216
- Math.abs(translationX.value) > viewWidth.value / 2 ||
217
- Math.abs(translationY.value) > viewHeight.value / 2
218
- ) {
219
- if (onDismiss) {
220
- runOnJS(onDismiss)();
221
- }
222
- } else {
223
- runOnJS(Haptics.impactAsync)(Haptics.ImpactFeedbackStyle.Light);
224
- translationX.value = withTiming(0);
225
- translationY.value = withTiming(0);
226
- }
227
- } else if (
228
- viewHeight.value * (scale.value - minimumZoomScale) <=
229
- windowHeight
230
- ) {
231
- translationX.value = withTiming(
232
- clamp(
233
- translationX.value,
234
- (-viewWidth.value * (scale.value - minimumZoomScale)) / 2,
235
- (viewWidth.value * (scale.value - minimumZoomScale)) / 2
236
- )
237
- );
238
- translationY.value = withTiming(
239
- clamp(
240
- translationY.value,
241
- (-viewHeight.value * (scale.value - minimumZoomScale)) / 2,
242
- (viewHeight.value * (scale.value - minimumZoomScale)) / 2
243
- )
244
- );
245
- }
246
- }),
247
- [
248
- disabled,
249
- minimumZoomScale,
250
- onDismiss,
251
- prevScale,
252
- prevTranslationX,
253
- prevTranslationY,
254
- scale,
255
- windowHeight,
256
- translationX,
257
- translationY,
258
- viewHeight,
259
- viewWidth,
260
- ]
261
- );
262
-
263
- const tapGesture = useMemo(
264
- () =>
265
- Gesture.Tap()
266
- .enabled(!disabled)
267
- .numberOfTaps(2)
268
- .onStart(() => {
269
- if (scale.value > minimumZoomScale) {
270
- translationX.value = withTiming(0);
271
- translationY.value = withTiming(0);
272
- scale.value = withTiming(minimumZoomScale);
273
- if (onScaleReset) {
274
- runOnJS(onScaleReset)();
275
- }
276
- } else {
277
- scale.value = withTiming(maximumZoomScale / 2);
278
- if (onScaleChange) {
279
- runOnJS(onScaleChange)();
280
- }
281
- }
282
- }),
283
- [
284
- disabled,
285
- maximumZoomScale,
286
- minimumZoomScale,
287
- onScaleChange,
288
- onScaleReset,
289
- scale,
290
- translationX,
291
- translationY,
292
- ]
293
- );
294
-
295
- const compositeGesture = useMemo(() => {
296
- return Gesture.Exclusive(Gesture.Simultaneous(pinchGesture, panGesture), tapGesture);
297
- }, [panGesture, pinchGesture, tapGesture]);
298
-
299
- useAnimatedReaction(
300
- () => {
301
- return {
302
- scale: scale.value,
303
- translation: {
304
- x: translationX.value,
305
- y: translationY.value,
306
- },
307
- };
308
- },
309
- (prepared) => {
310
- if (onStatusChange) {
311
- runOnJS(onStatusChange)(prepared);
312
- }
313
- },
314
- [onStatusChange]
315
- );
316
-
317
- const style = useAnimatedStyle(() => {
318
- return {
319
- transform: [
320
- { translateX: translationX.value },
321
- { translateY: translationY.value },
322
- { scale: scale.value },
323
- ],
324
- };
325
- }, []);
326
-
327
- const internalOnLayout = useCallback(
328
- (e: LayoutChangeEvent) => {
329
- viewHeight.value = e.nativeEvent.layout.height;
330
- viewWidth.value = e.nativeEvent.layout.width;
331
- onLayout?.(e);
332
- },
333
- [viewHeight, viewWidth, onLayout]
334
- );
335
-
336
- const finalStyle = useMemo(() => [style, propStyle], [style, propStyle]);
337
-
338
- return (
339
- <GestureDetector gesture={compositeGesture}>
340
- <Animated.View onLayout={internalOnLayout} style={finalStyle}>
341
- {children}
342
- </Animated.View>
343
- </GestureDetector>
344
- );
345
- }
@@ -1,110 +0,0 @@
1
- import React, { forwardRef, useCallback, useRef, useState } from 'react';
2
- import { FlashList } from '@shopify/flash-list';
3
- import mergeRefs from 'merge-refs';
4
- import FullScreenImageSlider, { type FullScreenImageSliderProps } from './FullScreenImageSlider';
5
- import BaseListImageSlider, { type BaseSimpleImageSliderProps } from './BaseSimpleImageSlider';
6
- import type { SimpleImageSliderItem } from './@types/slider';
7
-
8
- export type SimpleImageSliderProps = BaseSimpleImageSliderProps & {
9
- /**
10
- * @description Whether the full screen mode is enabled or not. **Caution:** when this is enabled, the `onItemPress` prop will be ignored.
11
- * @default false
12
- */
13
- fullScreenEnabled?: boolean;
14
- /**
15
- * @description Passed to the {@link FullScreenImageSlider} component.
16
- */
17
- renderFullScreenDescription?: FullScreenImageSliderProps['renderDescription'];
18
- /**
19
- * @description Passed to the {@link FullScreenImageSlider} component.
20
- */
21
- FullScreenCloseButtonIcon?: FullScreenImageSliderProps['CloseButtonIcon'];
22
- /**
23
- * @description The aspect ratio of the images when full screen.
24
- *
25
- * @default {@link FullScreenImageSliderProps.imageAspectRatio}
26
- */
27
- fullScreenImageAspectRatio?: number;
28
- };
29
-
30
- /**
31
- * @description A simple image slider that displays images in a list and can show a {@link FullScreenImageSlider} on press.
32
- */
33
- const SimpleImageSlider = forwardRef<FlashList<SimpleImageSliderItem>, SimpleImageSliderProps>(
34
- function ListImageSlider(
35
- {
36
- data,
37
- fullScreenEnabled = false,
38
- onItemPress,
39
- onViewableItemChange,
40
- FullScreenCloseButtonIcon,
41
- renderFullScreenDescription,
42
- imageAspectRatio,
43
- fullScreenImageAspectRatio,
44
- ...props
45
- },
46
- ref
47
- ) {
48
- const listRef = useRef<FlashList<SimpleImageSliderItem>>(null);
49
- const fullScreenListRef = useRef<FlashList<SimpleImageSliderItem>>(null);
50
-
51
- const [fullScreen, setFullScreen] = useState(false);
52
- const [currentIndex, setCurrentIndex] = useState(0);
53
-
54
- const internalOnViewableItemChange = useCallback(
55
- (index: number) => {
56
- setCurrentIndex(index);
57
- onViewableItemChange?.(index);
58
- },
59
- [onViewableItemChange]
60
- );
61
-
62
- const onFullScreenViewableItemChange = useCallback((index: number) => {
63
- setCurrentIndex(index);
64
- }, []);
65
-
66
- const openFullScreen = useCallback(() => {
67
- setFullScreen(true);
68
- }, []);
69
-
70
- const onRequestClose = useCallback(() => {
71
- listRef.current?.scrollToIndex({ index: currentIndex });
72
- setFullScreen(false);
73
- }, [currentIndex]);
74
-
75
- const onFadeOut = useCallback(() => {
76
- listRef.current?.scrollToIndex({ index: currentIndex });
77
- }, [currentIndex]);
78
-
79
- return (
80
- <>
81
- <BaseListImageSlider
82
- {...props}
83
- imageAspectRatio={imageAspectRatio}
84
- data={data}
85
- ref={mergeRefs(ref, listRef)}
86
- onItemPress={fullScreenEnabled ? openFullScreen : onItemPress}
87
- onViewableItemChange={internalOnViewableItemChange}
88
- />
89
- {fullScreenEnabled ? (
90
- <FullScreenImageSlider
91
- {...props}
92
- imageAspectRatio={fullScreenImageAspectRatio ?? imageAspectRatio}
93
- ref={fullScreenListRef}
94
- open={fullScreen}
95
- onRequestClose={onRequestClose}
96
- data={data}
97
- showPageCounter={false}
98
- indexOverride={currentIndex}
99
- onViewableItemChange={onFullScreenViewableItemChange}
100
- renderDescription={renderFullScreenDescription}
101
- CloseButtonIcon={FullScreenCloseButtonIcon}
102
- onFadeOut={onFadeOut}
103
- />
104
- ) : null}
105
- </>
106
- );
107
- }
108
- );
109
-
110
- export default SimpleImageSlider;
@@ -1,49 +0,0 @@
1
- import React, { createContext, type PropsWithChildren, useContext, useMemo } from 'react';
2
-
3
- export type SimpleImageSliderTheme = {
4
- colors: {
5
- pageCounterBackground: string;
6
- pageCounterBorder: string;
7
- fullScreenCloseButton: string;
8
- descriptionContainerBorder: string;
9
- };
10
- };
11
-
12
- const defaultTheme: SimpleImageSliderTheme = {
13
- colors: {
14
- pageCounterBackground: '#D3D3D3',
15
- pageCounterBorder: '#000000',
16
- fullScreenCloseButton: '#FFFFFF',
17
- descriptionContainerBorder: '#FFFFFF',
18
- },
19
- };
20
-
21
- const ThemeContext = createContext<SimpleImageSliderTheme>(defaultTheme);
22
-
23
- export type SimpleImageSliderThemeProviderProps = PropsWithChildren<{
24
- overrides?: {
25
- colors: Partial<SimpleImageSliderTheme['colors']>;
26
- };
27
- }>;
28
-
29
- export function useSimpleImageSliderTheme() {
30
- return useContext(ThemeContext);
31
- }
32
-
33
- export default function SimpleImageSliderThemeProvider({
34
- overrides,
35
- children,
36
- }: SimpleImageSliderThemeProviderProps) {
37
- const theme: SimpleImageSliderTheme = useMemo(
38
- () => ({
39
- ...defaultTheme,
40
- colors: {
41
- ...defaultTheme.colors,
42
- ...overrides?.colors,
43
- },
44
- }),
45
- [overrides?.colors]
46
- );
47
-
48
- return <ThemeContext.Provider value={theme}>{children}</ThemeContext.Provider>;
49
- }
@@ -1,24 +0,0 @@
1
- import React from 'react';
2
- import Svg, { Path } from 'react-native-svg';
3
- import type { IconsProps } from '../@types/icons';
4
-
5
- function IconX({ size = 24, color = '#1f2937', stroke = 2, ...props }: IconsProps) {
6
- return (
7
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
8
- // @ts-ignore
9
- <Svg
10
- width={size}
11
- height={size}
12
- viewBox="0 0 24 24"
13
- strokeWidth={stroke}
14
- stroke={color}
15
- fill="none"
16
- {...props}
17
- >
18
- <Path stroke="none" d="M0 0h24v24H0z" fill="none" />
19
- <Path d="M18 6l-12 12" />
20
- <Path d="M6 6l12 12" />
21
- </Svg>
22
- );
23
- }
24
- export default IconX;
package/src/index.tsx DELETED
@@ -1,29 +0,0 @@
1
- import SimpleImageSliderThemeProvider, {
2
- useSimpleImageSliderTheme,
3
- type SimpleImageSliderTheme,
4
- type SimpleImageSliderThemeProviderProps,
5
- } from './SimpleImageSliderThemeProvider';
6
- import BaseListImageSlider, { type BaseSimpleImageSliderProps } from './BaseSimpleImageSlider';
7
- import SimpleImageSlider, { type SimpleImageSliderProps } from './SimpleImageSlider';
8
- import FullScreenImageSlider, { type FullScreenImageSliderProps } from './FullScreenImageSlider';
9
- import PinchToZoom, { type PinchToZoomProps } from './PinchToZoom';
10
- import type { SimpleImageSliderItem } from './@types/slider';
11
- import PageCounter, { type PageCounterProps } from './PageCounter';
12
-
13
- export {
14
- SimpleImageSliderThemeProvider,
15
- useSimpleImageSliderTheme,
16
- type SimpleImageSliderTheme,
17
- type SimpleImageSliderThemeProviderProps,
18
- BaseListImageSlider,
19
- type BaseSimpleImageSliderProps,
20
- SimpleImageSlider,
21
- type SimpleImageSliderProps,
22
- FullScreenImageSlider,
23
- type FullScreenImageSliderProps,
24
- PinchToZoom,
25
- type PinchToZoomProps,
26
- type SimpleImageSliderItem,
27
- PageCounter,
28
- type PageCounterProps,
29
- };
@@ -1,4 +0,0 @@
1
- export const clamp = (value: number, min: number, max: number) => {
2
- 'worklet';
3
- return Math.min(Math.max(value, min), max);
4
- };
@@ -1,22 +0,0 @@
1
- import React, { isValidElement } from 'react';
2
-
3
- export type RenderProp =
4
- | React.ComponentType<unknown>
5
- | React.ReactElement
6
- | string
7
- | undefined
8
- | null;
9
-
10
- export default function renderProp(Component: RenderProp) {
11
- return Component ? (
12
- typeof Component === 'string' ? (
13
- Component
14
- ) : isValidElement(Component) ? (
15
- Component
16
- ) : (
17
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
18
- // @ts-ignore
19
- <Component />
20
- )
21
- ) : null;
22
- }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes