@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
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ import { useCallback, useRef, useState } from 'react';
4
+ export function useSliderNavigation({
5
+ initialIndex = 0
6
+ }) {
7
+ const [currentIndex, setCurrentIndex] = useState(initialIndex);
8
+ const scrollFnRef = useRef(null);
9
+ const registerScrollFn = useCallback(fn => {
10
+ scrollFnRef.current = fn;
11
+ return () => {
12
+ scrollFnRef.current = null;
13
+ };
14
+ }, []);
15
+ const scrollToIndex = useCallback((index, animated = true) => {
16
+ scrollFnRef.current?.(index, animated);
17
+ }, []);
18
+ return {
19
+ currentIndex,
20
+ setCurrentIndex,
21
+ registerScrollFn,
22
+ scrollToIndex
23
+ };
24
+ }
25
+ //# sourceMappingURL=use-slider-navigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useRef","useState","useSliderNavigation","initialIndex","currentIndex","setCurrentIndex","scrollFnRef","registerScrollFn","fn","current","scrollToIndex","index","animated"],"sourceRoot":"../../../../src","sources":["hooks/slider-state/use-slider-navigation.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAKrD,OAAO,SAASC,mBAAmBA,CAAC;EAChCC,YAAY,GAAG;AAGnB,CAAC,EAAyB;EACtB,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGJ,QAAQ,CAACE,YAAY,CAAC;EAC9D,MAAMG,WAAW,GAAGN,MAAM,CAAyB,IAAI,CAAC;EAExD,MAAMO,gBAAgB,GAAGR,WAAW,CAAES,EAAmB,IAAK;IAC1DF,WAAW,CAACG,OAAO,GAAGD,EAAE;IAExB,OAAO,MAAM;MACTF,WAAW,CAACG,OAAO,GAAG,IAAI;IAC9B,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,aAAa,GAAGX,WAAW,CAAC,CAACY,KAAa,EAAEC,QAAiB,GAAG,IAAI,KAAK;IAC3EN,WAAW,CAACG,OAAO,GAAGE,KAAK,EAAEC,QAAQ,CAAC;EAC1C,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO;IACHR,YAAY;IACZC,eAAe;IACfE,gBAAgB;IAChBG;EACJ,CAAC;AACL","ignoreList":[]}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ import { useMemo } from 'react';
4
+ import { useImage } from 'expo-image';
5
+ const DEFAULT_ASPECT_RATIO = 4 / 3;
6
+
7
+ // 1x1 transparent PNG data URI used as placeholder when aspect ratio detection is not needed
8
+ const PLACEHOLDER_SOURCE = {
9
+ uri: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII='
10
+ };
11
+ function useImageAspectRatio(source, overrideAspectRatio) {
12
+ // If override is provided or source is undefined, don't attempt to load
13
+ const shouldDetect = overrideAspectRatio === undefined && source !== undefined;
14
+
15
+ // useImage returns null while loading, then ImageRef with width/height
16
+ // Use a valid placeholder image when detection is not needed to satisfy the hook signature
17
+ const imageRef = useImage(shouldDetect ? source : PLACEHOLDER_SOURCE);
18
+ const result = useMemo(() => {
19
+ // If override provided, use it immediately
20
+ if (overrideAspectRatio !== undefined) {
21
+ return {
22
+ imageAspectRatio: overrideAspectRatio,
23
+ isAspectRatioLoading: false
24
+ };
25
+ }
26
+
27
+ // If no source, use default
28
+ if (!source) {
29
+ return {
30
+ imageAspectRatio: DEFAULT_ASPECT_RATIO,
31
+ isAspectRatioLoading: false
32
+ };
33
+ }
34
+
35
+ // If still loading
36
+ if (!imageRef) {
37
+ return {
38
+ imageAspectRatio: DEFAULT_ASPECT_RATIO,
39
+ isAspectRatioLoading: true
40
+ };
41
+ }
42
+
43
+ // Compute aspect ratio from detected dimensions
44
+ const {
45
+ width,
46
+ height
47
+ } = imageRef;
48
+ if (width > 0 && height > 0) {
49
+ return {
50
+ imageAspectRatio: width / height,
51
+ isAspectRatioLoading: false
52
+ };
53
+ }
54
+
55
+ // Fallback if dimensions are invalid
56
+ return {
57
+ imageAspectRatio: DEFAULT_ASPECT_RATIO,
58
+ isAspectRatioLoading: false
59
+ };
60
+ }, [overrideAspectRatio, source, imageRef]);
61
+ return result;
62
+ }
63
+ export { useImageAspectRatio, DEFAULT_ASPECT_RATIO };
64
+ //# sourceMappingURL=use-image-aspect-ratio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useMemo","useImage","DEFAULT_ASPECT_RATIO","PLACEHOLDER_SOURCE","uri","useImageAspectRatio","source","overrideAspectRatio","shouldDetect","undefined","imageRef","result","imageAspectRatio","isAspectRatioLoading","width","height"],"sourceRoot":"../../../src","sources":["hooks/use-image-aspect-ratio.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,QAAQ,QAAQ,YAAY;AAIrC,MAAMC,oBAAoB,GAAG,CAAC,GAAG,CAAC;;AAElC;AACA,MAAMC,kBAAkB,GAAG;EACvBC,GAAG,EAAE;AACT,CAAU;AAEV,SAASC,mBAAmBA,CACxBC,MAA+B,EAC/BC,mBAA4B,EACN;EACtB;EACA,MAAMC,YAAY,GAAGD,mBAAmB,KAAKE,SAAS,IAAIH,MAAM,KAAKG,SAAS;;EAE9E;EACA;EACA,MAAMC,QAAQ,GAAGT,QAAQ,CAACO,YAAY,GAAGF,MAAM,GAAGH,kBAAkB,CAAC;EAErE,MAAMQ,MAAM,GAAGX,OAAO,CAAC,MAAM;IACzB;IACA,IAAIO,mBAAmB,KAAKE,SAAS,EAAE;MACnC,OAAO;QAAEG,gBAAgB,EAAEL,mBAAmB;QAAEM,oBAAoB,EAAE;MAAM,CAAC;IACjF;;IAEA;IACA,IAAI,CAACP,MAAM,EAAE;MACT,OAAO;QAAEM,gBAAgB,EAAEV,oBAAoB;QAAEW,oBAAoB,EAAE;MAAM,CAAC;IAClF;;IAEA;IACA,IAAI,CAACH,QAAQ,EAAE;MACX,OAAO;QAAEE,gBAAgB,EAAEV,oBAAoB;QAAEW,oBAAoB,EAAE;MAAK,CAAC;IACjF;;IAEA;IACA,MAAM;MAAEC,KAAK;MAAEC;IAAO,CAAC,GAAGL,QAAQ;IAClC,IAAII,KAAK,GAAG,CAAC,IAAIC,MAAM,GAAG,CAAC,EAAE;MACzB,OAAO;QAAEH,gBAAgB,EAAEE,KAAK,GAAGC,MAAM;QAAEF,oBAAoB,EAAE;MAAM,CAAC;IAC5E;;IAEA;IACA,OAAO;MAAED,gBAAgB,EAAEV,oBAAoB;MAAEW,oBAAoB,EAAE;IAAM,CAAC;EAClF,CAAC,EAAE,CAACN,mBAAmB,EAAED,MAAM,EAAEI,QAAQ,CAAC,CAAC;EAE3C,OAAOC,MAAM;AACjB;AAEA,SAASN,mBAAmB,EAAEH,oBAAoB","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ import { useCallback, useRef } from 'react';
4
+ import { capitalize } from "../utils/capitalize.js";
5
+ function useRegisteredCallback({
6
+ handler: handlerProp,
7
+ name
8
+ }) {
9
+ const handlersRef = useRef(new Set());
10
+ const register = useCallback(handler => {
11
+ handlersRef.current.add(handler);
12
+ return () => {
13
+ handlersRef.current.delete(handler);
14
+ };
15
+ }, []);
16
+ const on = useCallback((...args) => {
17
+ handlerProp?.(...args);
18
+ handlersRef.current.forEach(handler => handler(...args));
19
+ }, [handlerProp]);
20
+ return {
21
+ [`on${capitalize(name)}`]: on,
22
+ [`registerOn${capitalize(name)}`]: register
23
+ };
24
+ }
25
+ export { useRegisteredCallback };
26
+ //# sourceMappingURL=use-registered-callback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useRef","capitalize","useRegisteredCallback","handler","handlerProp","name","handlersRef","Set","register","current","add","delete","on","args","forEach"],"sourceRoot":"../../../src","sources":["hooks/use-registered-callback.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,MAAM,QAAQ,OAAO;AAE3C,SAASC,UAAU,QAAQ,wBAAqB;AAOhD,SAASC,qBAAqBA,CAA+D;EACzFC,OAAO,EAAEC,WAAW;EACpBC;AAC8B,CAAC,EAAyC;EACxE,MAAMC,WAAW,GAAGN,MAAM,CAAsB,IAAIO,GAAG,CAAC,CAAC,CAAC;EAE1D,MAAMC,QAAQ,GAAGT,WAAW,CAAEI,OAAuB,IAAK;IACtDG,WAAW,CAACG,OAAO,CAACC,GAAG,CAACP,OAAO,CAAC;IAEhC,OAAO,MAAM;MACTG,WAAW,CAACG,OAAO,CAACE,MAAM,CAACR,OAAO,CAAC;IACvC,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMS,EAAE,GAAGb,WAAW,CAClB,CAAC,GAAGc,IAAgC,KAAK;IACrCT,WAAW,GAAG,GAAGS,IAAI,CAAC;IACtBP,WAAW,CAACG,OAAO,CAACK,OAAO,CAAEX,OAAO,IAAKA,OAAO,CAAC,GAAGU,IAAI,CAAC,CAAC;EAC9D,CAAC,EACD,CAACT,WAAW,CAChB,CAAC;EAED,OAAO;IACH,CAAC,KAAKH,UAAU,CAACI,IAAI,CAAC,EAAE,GAAGO,EAAE;IAC7B,CAAC,aAAaX,UAAU,CAACI,IAAI,CAAC,EAAE,GAAGG;EACvC,CAAC;AACL;AAEA,SAASN,qBAAqB","ignoreList":[]}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ import { useCallback, useMemo } from 'react';
4
+ import { useImageAspectRatio, useSliderNavigation, useSliderFullScreen, useSliderCallbacks } from "./slider-state/index.js";
5
+ export function useSliderState({
6
+ data,
7
+ initialIndex,
8
+ imageAspectRatio: aspectRatioOverride,
9
+ statusBarStyle = 'auto',
10
+ ...propCallbacks
11
+ }) {
12
+ // Get first image source for aspect ratio detection
13
+ const firstImageSource = data?.[0]?.source;
14
+
15
+ // Compose specialized hooks (callbacks first since it has no dependencies)
16
+ const callbacks = useSliderCallbacks(propCallbacks);
17
+ const aspectRatio = useImageAspectRatio(firstImageSource, aspectRatioOverride);
18
+ const navigation = useSliderNavigation({
19
+ initialIndex
20
+ });
21
+ const fullScreen = useSliderFullScreen();
22
+
23
+ // Destructure stable setState functions and callback dispatchers
24
+ const {
25
+ setCurrentIndex: setCurrentIndexRaw
26
+ } = navigation;
27
+ const {
28
+ setIsFullScreenOpen
29
+ } = fullScreen;
30
+ const {
31
+ onIndexChange: onIndexChangeDispatcher,
32
+ onFullScreenChange: onFullScreenChangeDispatcher
33
+ } = callbacks;
34
+ const totalItems = data?.length ?? 0;
35
+
36
+ // Create wrappers that update state AND dispatch callbacks
37
+ const setCurrentIndex = useCallback(index => {
38
+ if (totalItems === 0) return;
39
+ const clampedIndex = Math.max(0, Math.min(index, totalItems - 1));
40
+ setCurrentIndexRaw(clampedIndex);
41
+ onIndexChangeDispatcher(clampedIndex);
42
+ }, [setCurrentIndexRaw, onIndexChangeDispatcher, totalItems]);
43
+ const openFullScreen = useCallback(() => {
44
+ setIsFullScreenOpen(true);
45
+ onFullScreenChangeDispatcher(true);
46
+ }, [setIsFullScreenOpen, onFullScreenChangeDispatcher]);
47
+ const closeFullScreen = useCallback(() => {
48
+ setIsFullScreenOpen(false);
49
+ onFullScreenChangeDispatcher(false);
50
+ }, [setIsFullScreenOpen, onFullScreenChangeDispatcher]);
51
+ return useMemo(() => ({
52
+ data,
53
+ totalItems,
54
+ ...aspectRatio,
55
+ currentIndex: navigation.currentIndex,
56
+ registerScrollFn: navigation.registerScrollFn,
57
+ scrollToIndex: navigation.scrollToIndex,
58
+ setCurrentIndex,
59
+ isFullScreenOpen: fullScreen.isFullScreenOpen,
60
+ hasFullScreen: fullScreen.hasFullScreen,
61
+ registerFullScreen: fullScreen.registerFullScreen,
62
+ openFullScreen,
63
+ closeFullScreen,
64
+ statusBarStyle,
65
+ ...callbacks
66
+ }), [data, totalItems, aspectRatio, navigation.currentIndex, navigation.registerScrollFn, navigation.scrollToIndex, setCurrentIndex, fullScreen.isFullScreenOpen, fullScreen.hasFullScreen, fullScreen.registerFullScreen, openFullScreen, closeFullScreen, statusBarStyle, callbacks]);
67
+ }
68
+ //# sourceMappingURL=use-slider-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useMemo","useImageAspectRatio","useSliderNavigation","useSliderFullScreen","useSliderCallbacks","useSliderState","data","initialIndex","imageAspectRatio","aspectRatioOverride","statusBarStyle","propCallbacks","firstImageSource","source","callbacks","aspectRatio","navigation","fullScreen","setCurrentIndex","setCurrentIndexRaw","setIsFullScreenOpen","onIndexChange","onIndexChangeDispatcher","onFullScreenChange","onFullScreenChangeDispatcher","totalItems","length","index","clampedIndex","Math","max","min","openFullScreen","closeFullScreen","currentIndex","registerScrollFn","scrollToIndex","isFullScreenOpen","hasFullScreen","registerFullScreen"],"sourceRoot":"../../../src","sources":["hooks/use-slider-state.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,OAAO,QAAQ,OAAO;AAG5C,SACIC,mBAAmB,EACnBC,mBAAmB,EACnBC,mBAAmB,EACnBC,kBAAkB,QACf,yBAAgB;AAEvB,OAAO,SAASC,cAAcA,CAAC;EAC3BC,IAAI;EACJC,YAAY;EACZC,gBAAgB,EAAEC,mBAAmB;EACrCC,cAAc,GAAG,MAAM;EACvB,GAAGC;AACgC,CAAC,EAAe;EACnD;EACA,MAAMC,gBAAgB,GAAGN,IAAI,GAAG,CAAC,CAAC,EAAEO,MAAM;;EAE1C;EACA,MAAMC,SAAS,GAAGV,kBAAkB,CAACO,aAAa,CAAC;EACnD,MAAMI,WAAW,GAAGd,mBAAmB,CAACW,gBAAgB,EAAEH,mBAAmB,CAAC;EAC9E,MAAMO,UAAU,GAAGd,mBAAmB,CAAC;IAAEK;EAAa,CAAC,CAAC;EACxD,MAAMU,UAAU,GAAGd,mBAAmB,CAAC,CAAC;;EAExC;EACA,MAAM;IAAEe,eAAe,EAAEC;EAAmB,CAAC,GAAGH,UAAU;EAC1D,MAAM;IAAEI;EAAoB,CAAC,GAAGH,UAAU;EAC1C,MAAM;IACFI,aAAa,EAAEC,uBAAuB;IACtCC,kBAAkB,EAAEC;EACxB,CAAC,GAAGV,SAAS;EAEb,MAAMW,UAAU,GAAGnB,IAAI,EAAEoB,MAAM,IAAI,CAAC;;EAEpC;EACA,MAAMR,eAAe,GAAGnB,WAAW,CAC9B4B,KAAa,IAAK;IACf,IAAIF,UAAU,KAAK,CAAC,EAAE;IACtB,MAAMG,YAAY,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACE,GAAG,CAACJ,KAAK,EAAEF,UAAU,GAAG,CAAC,CAAC,CAAC;IACjEN,kBAAkB,CAACS,YAAY,CAAC;IAChCN,uBAAuB,CAACM,YAAY,CAAC;EACzC,CAAC,EACD,CAACT,kBAAkB,EAAEG,uBAAuB,EAAEG,UAAU,CAC5D,CAAC;EAED,MAAMO,cAAc,GAAGjC,WAAW,CAAC,MAAM;IACrCqB,mBAAmB,CAAC,IAAI,CAAC;IACzBI,4BAA4B,CAAC,IAAI,CAAC;EACtC,CAAC,EAAE,CAACJ,mBAAmB,EAAEI,4BAA4B,CAAC,CAAC;EAEvD,MAAMS,eAAe,GAAGlC,WAAW,CAAC,MAAM;IACtCqB,mBAAmB,CAAC,KAAK,CAAC;IAC1BI,4BAA4B,CAAC,KAAK,CAAC;EACvC,CAAC,EAAE,CAACJ,mBAAmB,EAAEI,4BAA4B,CAAC,CAAC;EAEvD,OAAOxB,OAAO,CACV,OAAO;IACHM,IAAI;IACJmB,UAAU;IACV,GAAGV,WAAW;IACdmB,YAAY,EAAElB,UAAU,CAACkB,YAAY;IACrCC,gBAAgB,EAAEnB,UAAU,CAACmB,gBAAgB;IAC7CC,aAAa,EAAEpB,UAAU,CAACoB,aAAa;IACvClB,eAAe;IACfmB,gBAAgB,EAAEpB,UAAU,CAACoB,gBAAgB;IAC7CC,aAAa,EAAErB,UAAU,CAACqB,aAAa;IACvCC,kBAAkB,EAAEtB,UAAU,CAACsB,kBAAkB;IACjDP,cAAc;IACdC,eAAe;IACfvB,cAAc;IACd,GAAGI;EACP,CAAC,CAAC,EACF,CACIR,IAAI,EACJmB,UAAU,EACVV,WAAW,EACXC,UAAU,CAACkB,YAAY,EACvBlB,UAAU,CAACmB,gBAAgB,EAC3BnB,UAAU,CAACoB,aAAa,EACxBlB,eAAe,EACfD,UAAU,CAACoB,gBAAgB,EAC3BpB,UAAU,CAACqB,aAAa,EACxBrB,UAAU,CAACsB,kBAAkB,EAC7BP,cAAc,EACdC,eAAe,EACfvB,cAAc,EACdI,SAAS,CAEjB,CAAC;AACL","ignoreList":[]}
@@ -0,0 +1,32 @@
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 /*#__PURE__*/_jsxs(Svg, {
13
+ width: size,
14
+ height: size,
15
+ viewBox: "0 0 24 24",
16
+ strokeWidth: stroke,
17
+ stroke: color,
18
+ fill: "none",
19
+ ...props,
20
+ children: [/*#__PURE__*/_jsx(Path, {
21
+ stroke: "none",
22
+ d: "M0 0h24v24H0z",
23
+ fill: "none"
24
+ }), /*#__PURE__*/_jsx(Path, {
25
+ d: "M18 6l-12 12"
26
+ }), /*#__PURE__*/_jsx(Path, {
27
+ d: "M6 6l12 12"
28
+ })]
29
+ });
30
+ }
31
+ export { IconX };
32
+ //# sourceMappingURL=icon-x.js.map
@@ -0,0 +1 @@
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/icon-x.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,oBACIL,KAAA,CAACL,GAAG;IACAW,KAAK,EAAEJ,IAAK;IACZK,MAAM,EAAEL,IAAK;IACbM,OAAO,EAAC,WAAW;IACnBC,WAAW,EAAEL,MAAO;IACpBA,MAAM,EAAED,KAAM;IACdO,IAAI,EAAC,MAAM;IAAA,GACPL,KAAK;IAAAM,QAAA,gBAETb,IAAA,CAACF,IAAI;MAACQ,MAAM,EAAC,MAAM;MAACQ,CAAC,EAAC,eAAe;MAACF,IAAI,EAAC;IAAM,CAAE,CAAC,eACpDZ,IAAA,CAACF,IAAI;MAACgB,CAAC,EAAC;IAAc,CAAE,CAAC,eACzBd,IAAA,CAACF,IAAI;MAACgB,CAAC,EAAC;IAAY,CAAE,CAAC;EAAA,CACtB,CAAC;AAEd;AAGA,SAASX,KAAK","ignoreList":[]}
@@ -1,10 +1,5 @@
1
1
  "use strict";
2
2
 
3
- import SimpleImageSliderThemeProvider, { useSimpleImageSliderTheme } from './SimpleImageSliderThemeProvider';
4
- import BaseListImageSlider from './BaseSimpleImageSlider';
5
- import SimpleImageSlider from './SimpleImageSlider';
6
- import FullScreenImageSlider from './FullScreenImageSlider';
7
- import PinchToZoom from './PinchToZoom';
8
- import PageCounter from './PageCounter';
9
- export { SimpleImageSliderThemeProvider, useSimpleImageSliderTheme, BaseListImageSlider, SimpleImageSlider, FullScreenImageSlider, PinchToZoom, PageCounter };
3
+ export * from "./primitives/index.js";
4
+ export { useSlider } from "./context/slider-context.js";
10
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["SimpleImageSliderThemeProvider","useSimpleImageSliderTheme","BaseListImageSlider","SimpleImageSlider","FullScreenImageSlider","PinchToZoom","PageCounter"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,OAAOA,8BAA8B,IACjCC,yBAAyB,QAGtB,kCAAkC;AACzC,OAAOC,mBAAmB,MAA2C,yBAAyB;AAC9F,OAAOC,iBAAiB,MAAuC,qBAAqB;AACpF,OAAOC,qBAAqB,MAA2C,yBAAyB;AAChG,OAAOC,WAAW,MAAiC,eAAe;AAElE,OAAOC,WAAW,MAAiC,eAAe;AAElE,SACIN,8BAA8B,EAC9BC,yBAAyB,EAGzBC,mBAAmB,EAEnBC,iBAAiB,EAEjBC,qBAAqB,EAErBC,WAAW,EAGXC,WAAW","ignoreList":[]}
1
+ {"version":3,"names":["useSlider"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,cAAc,uBAAc;AAE5B,SAASA,SAAS,QAAQ,6BAA0B","ignoreList":[]}
@@ -0,0 +1,202 @@
1
+ "use strict";
2
+
3
+ import React, { useCallback, useMemo } from 'react';
4
+ import { useWindowDimensions } from 'react-native';
5
+ import Animated, { cancelAnimation, useAnimatedReaction, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';
6
+ import { scheduleOnRN } from 'react-native-worklets';
7
+ import { Gesture, GestureDetector } from 'react-native-gesture-handler';
8
+ import * as Haptics from 'expo-haptics';
9
+ import { clamp } from "../utils/clamp.js";
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ const THROTTLE_MS = 50; // ~3 frames at 60fps
12
+
13
+ function PinchToZoom({
14
+ minimumZoomScale = 1,
15
+ maximumZoomScale = 8,
16
+ style: propStyle,
17
+ disabled,
18
+ onLayout,
19
+ onStatusChange,
20
+ onScaleChange,
21
+ onScaleReset,
22
+ children,
23
+ onDismiss
24
+ }) {
25
+ const {
26
+ height: windowHeight
27
+ } = useWindowDimensions();
28
+ const translationX = useSharedValue(0);
29
+ const translationY = useSharedValue(0);
30
+ const originX = useSharedValue(0);
31
+ const originY = useSharedValue(0);
32
+ const scale = useSharedValue(1);
33
+ const isPinching = useSharedValue(false);
34
+ const viewHeight = useSharedValue(0);
35
+ const viewWidth = useSharedValue(0);
36
+ const prevScale = useSharedValue(0);
37
+ const offsetScale = useSharedValue(0);
38
+ const prevTranslationX = useSharedValue(0);
39
+ const prevTranslationY = useSharedValue(0);
40
+ const isZoomedValue = useSharedValue(false);
41
+ const lastStatusUpdateTime = useSharedValue(0);
42
+ const pinchGesture = useMemo(() => {
43
+ let gesture = Gesture.Pinch().enabled(!disabled).onStart(() => {
44
+ 'worklet';
45
+
46
+ cancelAnimation(translationX);
47
+ cancelAnimation(translationY);
48
+ cancelAnimation(scale);
49
+ prevScale.value = scale.value;
50
+ offsetScale.value = scale.value;
51
+ isZoomedValue.value = true;
52
+ if (onScaleChange) scheduleOnRN(onScaleChange);
53
+ }).onUpdate(e => {
54
+ 'worklet';
55
+
56
+ if (e.numberOfPointers === 2) {
57
+ scale.value = Math.min(prevScale.value * e.scale, maximumZoomScale);
58
+
59
+ // reset the origin
60
+ if (!isPinching.value) {
61
+ isPinching.value = true;
62
+ originX.value = e.focalX;
63
+ originY.value = e.focalY;
64
+ prevTranslationX.value = translationX.value;
65
+ prevTranslationY.value = translationY.value;
66
+ offsetScale.value = scale.value;
67
+ }
68
+ if (isPinching.value) {
69
+ // translate the image to the focal point as we're zooming
70
+ 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);
71
+ 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);
72
+ }
73
+ }
74
+ }).onEnd(() => {
75
+ 'worklet';
76
+
77
+ isPinching.value = false;
78
+ if (scale.value < minimumZoomScale / 2 && prevScale.value <= minimumZoomScale) {
79
+ if (onDismiss) {
80
+ scheduleOnRN(onDismiss);
81
+ }
82
+ } else if (scale.value < minimumZoomScale) {
83
+ scheduleOnRN(Haptics.impactAsync, Haptics.ImpactFeedbackStyle.Light);
84
+ translationX.value = withTiming(0);
85
+ translationY.value = withTiming(0);
86
+ scale.value = withTiming(minimumZoomScale);
87
+ isZoomedValue.value = false;
88
+ if (onScaleReset) {
89
+ scheduleOnRN(onScaleReset);
90
+ }
91
+ }
92
+ prevScale.value = scale.value;
93
+ prevTranslationX.value = translationX.value;
94
+ prevTranslationY.value = translationY.value;
95
+ });
96
+ return gesture;
97
+ }, [disabled, translationX, translationY, scale, prevScale, offsetScale, onScaleChange, maximumZoomScale, isPinching, originX, originY, prevTranslationX, prevTranslationY, viewWidth, viewHeight, minimumZoomScale, onDismiss, onScaleReset, isZoomedValue]);
98
+ const panGesture = useMemo(() => {
99
+ return Gesture.Pan().enabled(!disabled).onStart(() => {
100
+ 'worklet';
101
+
102
+ cancelAnimation(translationX);
103
+ cancelAnimation(translationY);
104
+ prevTranslationX.value = translationX.value;
105
+ prevTranslationY.value = translationY.value;
106
+ }).onUpdate(e => {
107
+ 'worklet';
108
+
109
+ if (prevScale.value <= minimumZoomScale) {
110
+ translationX.value = prevTranslationX.value + e.translationX;
111
+ translationY.value = prevTranslationY.value + e.translationY;
112
+ } else {
113
+ translationX.value = clamp(prevTranslationX.value + e.translationX, -viewWidth.value * (scale.value - minimumZoomScale) / 2, viewWidth.value * (scale.value - minimumZoomScale) / 2);
114
+ translationY.value = clamp(prevTranslationY.value + e.translationY, -viewHeight.value * (scale.value - minimumZoomScale) / 2, viewHeight.value * (scale.value - minimumZoomScale) / 2);
115
+ }
116
+ }).onEnd(() => {
117
+ 'worklet';
118
+
119
+ if (scale.value <= minimumZoomScale && prevScale.value <= minimumZoomScale) {
120
+ if (Math.abs(translationX.value) > viewWidth.value / 2 || Math.abs(translationY.value) > viewHeight.value / 2) {
121
+ if (onDismiss) {
122
+ scheduleOnRN(onDismiss);
123
+ }
124
+ } else {
125
+ scheduleOnRN(Haptics.impactAsync, Haptics.ImpactFeedbackStyle.Light);
126
+ translationX.value = withTiming(0);
127
+ translationY.value = withTiming(0);
128
+ }
129
+ } else if (viewHeight.value * (scale.value - minimumZoomScale) <= windowHeight) {
130
+ translationX.value = withTiming(clamp(translationX.value, -viewWidth.value * (scale.value - minimumZoomScale) / 2, viewWidth.value * (scale.value - minimumZoomScale) / 2));
131
+ translationY.value = withTiming(clamp(translationY.value, -viewHeight.value * (scale.value - minimumZoomScale) / 2, viewHeight.value * (scale.value - minimumZoomScale) / 2));
132
+ }
133
+ });
134
+ }, [disabled, minimumZoomScale, onDismiss, prevScale, prevTranslationX, prevTranslationY, scale, windowHeight, translationX, translationY, viewHeight, viewWidth]);
135
+ const tapGesture = useMemo(() => Gesture.Tap().enabled(!disabled).numberOfTaps(2).onStart(() => {
136
+ 'worklet';
137
+
138
+ if (scale.value > minimumZoomScale) {
139
+ translationX.value = withTiming(0);
140
+ translationY.value = withTiming(0);
141
+ scale.value = withTiming(minimumZoomScale);
142
+ isZoomedValue.value = false;
143
+ if (onScaleReset) {
144
+ scheduleOnRN(onScaleReset);
145
+ }
146
+ } else {
147
+ scale.value = withTiming(maximumZoomScale / 2);
148
+ isZoomedValue.value = true;
149
+ if (onScaleChange) {
150
+ scheduleOnRN(onScaleChange);
151
+ }
152
+ }
153
+ }), [disabled, maximumZoomScale, minimumZoomScale, onScaleChange, onScaleReset, scale, translationX, translationY, isZoomedValue]);
154
+ const compositeGesture = useMemo(() => {
155
+ return Gesture.Exclusive(Gesture.Simultaneous(pinchGesture, panGesture), tapGesture);
156
+ }, [panGesture, pinchGesture, tapGesture]);
157
+ useAnimatedReaction(() => ({
158
+ scale: scale.value,
159
+ translationX: translationX.value,
160
+ translationY: translationY.value
161
+ }), current => {
162
+ 'worklet';
163
+
164
+ const now = Date.now();
165
+ if (onStatusChange && now - lastStatusUpdateTime.value >= THROTTLE_MS) {
166
+ lastStatusUpdateTime.value = now;
167
+ scheduleOnRN(onStatusChange, {
168
+ scale: current.scale,
169
+ translation: {
170
+ x: current.translationX,
171
+ y: current.translationY
172
+ }
173
+ });
174
+ }
175
+ }, [onStatusChange]);
176
+ const style = useAnimatedStyle(() => {
177
+ return {
178
+ transform: [{
179
+ translateX: translationX.value
180
+ }, {
181
+ translateY: translationY.value
182
+ }, {
183
+ scale: scale.value
184
+ }]
185
+ };
186
+ }, []);
187
+ const internalOnLayout = useCallback(e => {
188
+ viewHeight.value = e.nativeEvent.layout.height;
189
+ viewWidth.value = e.nativeEvent.layout.width;
190
+ onLayout?.(e);
191
+ }, [viewHeight, viewWidth, onLayout]);
192
+ return /*#__PURE__*/_jsx(GestureDetector, {
193
+ gesture: compositeGesture,
194
+ children: /*#__PURE__*/_jsx(Animated.View, {
195
+ onLayout: internalOnLayout,
196
+ style: [style, propStyle],
197
+ children: children
198
+ })
199
+ });
200
+ }
201
+ export { PinchToZoom };
202
+ //# sourceMappingURL=pinch-to-zoom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useCallback","useMemo","useWindowDimensions","Animated","cancelAnimation","useAnimatedReaction","useAnimatedStyle","useSharedValue","withTiming","scheduleOnRN","Gesture","GestureDetector","Haptics","clamp","jsx","_jsx","THROTTLE_MS","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","isZoomedValue","lastStatusUpdateTime","pinchGesture","gesture","Pinch","enabled","onStart","value","onUpdate","e","numberOfPointers","Math","min","focalX","focalY","onEnd","impactAsync","ImpactFeedbackStyle","Light","panGesture","Pan","abs","tapGesture","Tap","numberOfTaps","compositeGesture","Exclusive","Simultaneous","current","now","Date","translation","x","y","transform","translateX","translateY","internalOnLayout","nativeEvent","layout","width","View"],"sourceRoot":"../../../src","sources":["internal/pinch-to-zoom.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ export { Slider } from "./slider.js";
4
+ export { SliderContent } from "./slider-content.js";
5
+ export { SliderPageCounter } from "./slider-page-counter.js";
6
+ export { SliderCorner } from "./slider-corner.js";
7
+ export { SliderFullScreen } from "./slider-full-screen.js";
8
+ export { SliderCloseButton } from "./slider-close-button.js";
9
+ export { SliderDescription } from "./slider-description.js";
10
+ export { SliderEmpty } from "./slider-empty.js";
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Slider","SliderContent","SliderPageCounter","SliderCorner","SliderFullScreen","SliderCloseButton","SliderDescription","SliderEmpty"],"sourceRoot":"../../../src","sources":["primitives/index.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,aAAU;AACjC,SAASC,aAAa,QAAQ,qBAAkB;AAChD,SAASC,iBAAiB,QAAQ,0BAAuB;AACzD,SAASC,YAAY,QAAQ,oBAAiB;AAC9C,SAASC,gBAAgB,QAAQ,yBAAsB;AACvD,SAASC,iBAAiB,QAAQ,0BAAuB;AACzD,SAASC,iBAAiB,QAAQ,yBAAsB;AACxD,SAASC,WAAW,QAAQ,mBAAgB","ignoreList":[]}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ import React, { useMemo } from 'react';
4
+ import { StyleSheet, TouchableOpacity } from 'react-native';
5
+ import { useSafeAreaInsets } from 'react-native-safe-area-context';
6
+ import { useSliderContext } from "../context/slider-context.js";
7
+ import { IconX } from "../icons/icon-x.js";
8
+ import { Z_INDEX_OVERLAY, SAFE_AREA_OFFSET } from "../constants/layout.js";
9
+ import { jsx as _jsx } from "react/jsx-runtime";
10
+ function SliderCloseButton({
11
+ children,
12
+ style,
13
+ accessibilityLabel = 'Close full screen',
14
+ accessibilityHint = 'Closes the full screen view'
15
+ }) {
16
+ const {
17
+ closeFullScreen
18
+ } = useSliderContext();
19
+ const safeAreaInsets = useSafeAreaInsets();
20
+ const positionStyles = useMemo(() => StyleSheet.create({
21
+ closeButton: {
22
+ position: 'absolute',
23
+ zIndex: Z_INDEX_OVERLAY,
24
+ top: safeAreaInsets.top,
25
+ right: safeAreaInsets.right + SAFE_AREA_OFFSET
26
+ }
27
+ }), [safeAreaInsets.right, safeAreaInsets.top]);
28
+ return /*#__PURE__*/_jsx(TouchableOpacity, {
29
+ style: [positionStyles.closeButton, style],
30
+ onPress: closeFullScreen,
31
+ accessibilityRole: "button",
32
+ accessibilityLabel: accessibilityLabel,
33
+ accessibilityHint: accessibilityHint,
34
+ children: children ?? /*#__PURE__*/_jsx(IconX, {
35
+ color: "#FFFFFF"
36
+ })
37
+ });
38
+ }
39
+ export { SliderCloseButton };
40
+ //# sourceMappingURL=slider-close-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useMemo","StyleSheet","TouchableOpacity","useSafeAreaInsets","useSliderContext","IconX","Z_INDEX_OVERLAY","SAFE_AREA_OFFSET","jsx","_jsx","SliderCloseButton","children","style","accessibilityLabel","accessibilityHint","closeFullScreen","safeAreaInsets","positionStyles","create","closeButton","position","zIndex","top","right","onPress","accessibilityRole","color"],"sourceRoot":"../../../src","sources":["primitives/slider-close-button.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAASC,UAAU,EAAEC,gBAAgB,QAAQ,cAAc;AAE3D,SAASC,iBAAiB,QAAQ,gCAAgC;AAClE,SAASC,gBAAgB,QAAQ,8BAA2B;AAC5D,SAASC,KAAK,QAAQ,oBAAiB;AACvC,SAASC,eAAe,EAAEC,gBAAgB,QAAQ,wBAAqB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AASxE,SAASC,iBAAiBA,CAAC;EACvBC,QAAQ;EACRC,KAAK;EACLC,kBAAkB,GAAG,mBAAmB;EACxCC,iBAAiB,GAAG;AACA,CAAC,EAAE;EACvB,MAAM;IAAEC;EAAgB,CAAC,GAAGX,gBAAgB,CAAC,CAAC;EAC9C,MAAMY,cAAc,GAAGb,iBAAiB,CAAC,CAAC;EAE1C,MAAMc,cAAc,GAAGjB,OAAO,CAC1B,MACIC,UAAU,CAACiB,MAAM,CAAC;IACdC,WAAW,EAAE;MACTC,QAAQ,EAAE,UAAU;MACpBC,MAAM,EAAEf,eAAe;MACvBgB,GAAG,EAAEN,cAAc,CAACM,GAAG;MACvBC,KAAK,EAAEP,cAAc,CAACO,KAAK,GAAGhB;IAClC;EACJ,CAAC,CAAC,EACN,CAACS,cAAc,CAACO,KAAK,EAAEP,cAAc,CAACM,GAAG,CAC7C,CAAC;EAED,oBACIb,IAAA,CAACP,gBAAgB;IACbU,KAAK,EAAE,CAACK,cAAc,CAACE,WAAW,EAAEP,KAAK,CAAE;IAC3CY,OAAO,EAAET,eAAgB;IACzBU,iBAAiB,EAAC,QAAQ;IAC1BZ,kBAAkB,EAAEA,kBAAmB;IACvCC,iBAAiB,EAAEA,iBAAkB;IAAAH,QAAA,EAEpCA,QAAQ,iBAAIF,IAAA,CAACJ,KAAK;MAACqB,KAAK,EAAC;IAAS,CAAE;EAAC,CACxB,CAAC;AAE3B;AAGA,SAAShB,iBAAiB","ignoreList":[]}