@mantine-bites/lightbox 1.0.0-beta.1 → 1.0.0-beta.10

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 (349) hide show
  1. package/README.md +3 -4
  2. package/dist/cjs/Lightbox.cjs +38 -242
  3. package/dist/cjs/Lightbox.cjs.map +1 -1
  4. package/dist/cjs/Lightbox.context-value.cjs +47 -0
  5. package/dist/cjs/Lightbox.context-value.cjs.map +1 -0
  6. package/dist/cjs/Lightbox.context.cjs.map +1 -1
  7. package/dist/cjs/Lightbox.defaults.cjs +29 -0
  8. package/dist/cjs/Lightbox.defaults.cjs.map +1 -0
  9. package/dist/cjs/Lightbox.module.css.cjs +1 -1
  10. package/dist/cjs/LightboxSlide.cjs +72 -5
  11. package/dist/cjs/LightboxSlide.cjs.map +1 -1
  12. package/dist/cjs/LightboxSlide.context.cjs +12 -0
  13. package/dist/cjs/LightboxSlide.context.cjs.map +1 -0
  14. package/dist/cjs/components/EnterFullscreen.cjs +30 -0
  15. package/dist/cjs/components/EnterFullscreen.cjs.map +1 -0
  16. package/dist/cjs/components/ExitFullscreen.cjs +30 -0
  17. package/dist/cjs/components/ExitFullscreen.cjs.map +1 -0
  18. package/dist/cjs/components/LightboxAutoplayButton.cjs +43 -0
  19. package/dist/cjs/components/LightboxAutoplayButton.cjs.map +1 -0
  20. package/dist/cjs/components/LightboxCarousel.cjs +29 -0
  21. package/dist/cjs/components/LightboxCarousel.cjs.map +1 -0
  22. package/dist/cjs/components/LightboxCarouselSlide.context.cjs +12 -0
  23. package/dist/cjs/components/LightboxCarouselSlide.context.cjs.map +1 -0
  24. package/dist/cjs/components/LightboxCloseButton.cjs +33 -0
  25. package/dist/cjs/components/LightboxCloseButton.cjs.map +1 -0
  26. package/dist/cjs/components/LightboxContent.cjs +38 -0
  27. package/dist/cjs/components/LightboxContent.cjs.map +1 -0
  28. package/dist/cjs/components/LightboxControls.cjs +68 -0
  29. package/dist/cjs/components/LightboxControls.cjs.map +1 -0
  30. package/dist/cjs/components/LightboxCounter.cjs +34 -0
  31. package/dist/cjs/components/LightboxCounter.cjs.map +1 -0
  32. package/dist/cjs/components/LightboxFullscreenButton.cjs +41 -0
  33. package/dist/cjs/components/LightboxFullscreenButton.cjs.map +1 -0
  34. package/dist/cjs/components/LightboxOverlay.cjs +40 -0
  35. package/dist/cjs/components/LightboxOverlay.cjs.map +1 -0
  36. package/dist/cjs/components/LightboxPreset.cjs +32 -0
  37. package/dist/cjs/components/LightboxPreset.cjs.map +1 -0
  38. package/dist/cjs/components/LightboxRoot.cjs +260 -0
  39. package/dist/cjs/components/LightboxRoot.cjs.map +1 -0
  40. package/dist/cjs/components/LightboxSlide.cjs +154 -0
  41. package/dist/cjs/components/LightboxSlide.cjs.map +1 -0
  42. package/dist/cjs/components/LightboxSlide.context.cjs +12 -0
  43. package/dist/cjs/components/LightboxSlide.context.cjs.map +1 -0
  44. package/dist/cjs/components/LightboxSlides.cjs +108 -0
  45. package/dist/cjs/components/LightboxSlides.cjs.map +1 -0
  46. package/dist/cjs/components/LightboxThumbnail.cjs +40 -0
  47. package/dist/cjs/components/LightboxThumbnail.cjs.map +1 -0
  48. package/dist/cjs/components/LightboxThumbnail.context.cjs +12 -0
  49. package/dist/cjs/components/LightboxThumbnail.context.cjs.map +1 -0
  50. package/dist/cjs/components/LightboxThumbnails.cjs +121 -0
  51. package/dist/cjs/components/LightboxThumbnails.cjs.map +1 -0
  52. package/dist/cjs/components/LightboxToolbar.cjs +94 -0
  53. package/dist/cjs/components/LightboxToolbar.cjs.map +1 -0
  54. package/dist/cjs/components/LightboxZoomButton.cjs +39 -0
  55. package/dist/cjs/components/LightboxZoomButton.cjs.map +1 -0
  56. package/dist/cjs/components/Pause.cjs +28 -0
  57. package/dist/cjs/components/Pause.cjs.map +1 -0
  58. package/dist/cjs/components/Play.cjs +22 -0
  59. package/dist/cjs/components/Play.cjs.map +1 -0
  60. package/dist/cjs/components/QuestionMark.cjs +28 -0
  61. package/dist/cjs/components/QuestionMark.cjs.map +1 -0
  62. package/dist/cjs/components/ZoomIn.cjs +30 -0
  63. package/dist/cjs/components/ZoomIn.cjs.map +1 -0
  64. package/dist/cjs/components/ZoomOut.cjs +29 -0
  65. package/dist/cjs/components/ZoomOut.cjs.map +1 -0
  66. package/dist/cjs/components/icons/EnterFullscreen.cjs +30 -0
  67. package/dist/cjs/components/icons/EnterFullscreen.cjs.map +1 -0
  68. package/dist/cjs/components/icons/ExitFullscreen.cjs +30 -0
  69. package/dist/cjs/components/icons/ExitFullscreen.cjs.map +1 -0
  70. package/dist/cjs/components/icons/Pause.cjs +28 -0
  71. package/dist/cjs/components/icons/Pause.cjs.map +1 -0
  72. package/dist/cjs/components/icons/Play.cjs +22 -0
  73. package/dist/cjs/components/icons/Play.cjs.map +1 -0
  74. package/dist/cjs/components/icons/ZoomIn.cjs +30 -0
  75. package/dist/cjs/components/icons/ZoomIn.cjs.map +1 -0
  76. package/dist/cjs/components/icons/ZoomOut.cjs +29 -0
  77. package/dist/cjs/components/icons/ZoomOut.cjs.map +1 -0
  78. package/dist/cjs/context/LightboxContext.cjs +12 -0
  79. package/dist/cjs/context/LightboxContext.cjs.map +1 -0
  80. package/dist/cjs/context/LightboxSlideContext.cjs +12 -0
  81. package/dist/cjs/context/LightboxSlideContext.cjs.map +1 -0
  82. package/dist/cjs/context/LightboxThumbnailContext.cjs +12 -0
  83. package/dist/cjs/context/LightboxThumbnailContext.cjs.map +1 -0
  84. package/dist/cjs/hooks/useAutoPlay.cjs +77 -0
  85. package/dist/cjs/hooks/useAutoPlay.cjs.map +1 -0
  86. package/dist/cjs/hooks/useCarouselOptions.cjs +30 -0
  87. package/dist/cjs/hooks/useCarouselOptions.cjs.map +1 -0
  88. package/dist/cjs/hooks/useFullscreen.cjs +39 -0
  89. package/dist/cjs/hooks/useFullscreen.cjs.map +1 -0
  90. package/dist/cjs/hooks/useKeyboardNavigation.cjs +29 -0
  91. package/dist/cjs/hooks/useKeyboardNavigation.cjs.map +1 -0
  92. package/dist/cjs/hooks/useLightbox.cjs +116 -0
  93. package/dist/cjs/hooks/useLightbox.cjs.map +1 -0
  94. package/dist/cjs/hooks/useLightboxRootOptions.cjs +20 -0
  95. package/dist/cjs/hooks/useLightboxRootOptions.cjs.map +1 -0
  96. package/dist/cjs/hooks/useSlideInteractions.cjs +94 -0
  97. package/dist/cjs/hooks/useSlideInteractions.cjs.map +1 -0
  98. package/dist/cjs/hooks/useThumbnails.cjs +61 -0
  99. package/dist/cjs/hooks/useThumbnails.cjs.map +1 -0
  100. package/dist/cjs/hooks/useZoom.cjs +264 -0
  101. package/dist/cjs/hooks/useZoom.cjs.map +1 -0
  102. package/dist/cjs/index.cjs +26 -2
  103. package/dist/cjs/index.cjs.map +1 -1
  104. package/dist/cjs/styles/Lightbox.module.css.cjs +7 -0
  105. package/dist/cjs/styles/Lightbox.module.css.cjs.map +1 -0
  106. package/dist/cjs/utils/fullscreen.cjs +41 -0
  107. package/dist/cjs/utils/fullscreen.cjs.map +1 -0
  108. package/dist/cjs/utils/pointer.cjs +50 -0
  109. package/dist/cjs/utils/pointer.cjs.map +1 -0
  110. package/dist/cjs/utils/zoom.cjs +91 -0
  111. package/dist/cjs/utils/zoom.cjs.map +1 -0
  112. package/dist/esm/Lightbox.context-value.mjs +45 -0
  113. package/dist/esm/Lightbox.context-value.mjs.map +1 -0
  114. package/dist/esm/Lightbox.context.mjs.map +1 -1
  115. package/dist/esm/Lightbox.defaults.mjs +27 -0
  116. package/dist/esm/Lightbox.defaults.mjs.map +1 -0
  117. package/dist/esm/Lightbox.mjs +40 -244
  118. package/dist/esm/Lightbox.mjs.map +1 -1
  119. package/dist/esm/Lightbox.module.css.mjs +1 -1
  120. package/dist/esm/LightboxSlide.context.mjs +9 -0
  121. package/dist/esm/LightboxSlide.context.mjs.map +1 -0
  122. package/dist/esm/LightboxSlide.mjs +73 -6
  123. package/dist/esm/LightboxSlide.mjs.map +1 -1
  124. package/dist/esm/components/EnterFullscreen.mjs +28 -0
  125. package/dist/esm/components/EnterFullscreen.mjs.map +1 -0
  126. package/dist/esm/components/ExitFullscreen.mjs +28 -0
  127. package/dist/esm/components/ExitFullscreen.mjs.map +1 -0
  128. package/dist/esm/components/LightboxAutoplayButton.mjs +41 -0
  129. package/dist/esm/components/LightboxAutoplayButton.mjs.map +1 -0
  130. package/dist/esm/components/LightboxCarousel.mjs +27 -0
  131. package/dist/esm/components/LightboxCarousel.mjs.map +1 -0
  132. package/dist/esm/components/LightboxCarouselSlide.context.mjs +9 -0
  133. package/dist/esm/components/LightboxCarouselSlide.context.mjs.map +1 -0
  134. package/dist/esm/components/LightboxCloseButton.mjs +31 -0
  135. package/dist/esm/components/LightboxCloseButton.mjs.map +1 -0
  136. package/dist/esm/components/LightboxContent.mjs +36 -0
  137. package/dist/esm/components/LightboxContent.mjs.map +1 -0
  138. package/dist/esm/components/LightboxControls.mjs +66 -0
  139. package/dist/esm/components/LightboxControls.mjs.map +1 -0
  140. package/dist/esm/components/LightboxCounter.mjs +32 -0
  141. package/dist/esm/components/LightboxCounter.mjs.map +1 -0
  142. package/dist/esm/components/LightboxFullscreenButton.mjs +39 -0
  143. package/dist/esm/components/LightboxFullscreenButton.mjs.map +1 -0
  144. package/dist/esm/components/LightboxOverlay.mjs +38 -0
  145. package/dist/esm/components/LightboxOverlay.mjs.map +1 -0
  146. package/dist/esm/components/LightboxPreset.mjs +30 -0
  147. package/dist/esm/components/LightboxPreset.mjs.map +1 -0
  148. package/dist/esm/components/LightboxRoot.mjs +258 -0
  149. package/dist/esm/components/LightboxRoot.mjs.map +1 -0
  150. package/dist/esm/components/LightboxSlide.context.mjs +9 -0
  151. package/dist/esm/components/LightboxSlide.context.mjs.map +1 -0
  152. package/dist/esm/components/LightboxSlide.mjs +152 -0
  153. package/dist/esm/components/LightboxSlide.mjs.map +1 -0
  154. package/dist/esm/components/LightboxSlides.mjs +106 -0
  155. package/dist/esm/components/LightboxSlides.mjs.map +1 -0
  156. package/dist/esm/components/LightboxThumbnail.context.mjs +9 -0
  157. package/dist/esm/components/LightboxThumbnail.context.mjs.map +1 -0
  158. package/dist/esm/components/LightboxThumbnail.mjs +38 -0
  159. package/dist/esm/components/LightboxThumbnail.mjs.map +1 -0
  160. package/dist/esm/components/LightboxThumbnails.mjs +119 -0
  161. package/dist/esm/components/LightboxThumbnails.mjs.map +1 -0
  162. package/dist/esm/components/LightboxToolbar.mjs +92 -0
  163. package/dist/esm/components/LightboxToolbar.mjs.map +1 -0
  164. package/dist/esm/components/LightboxZoomButton.mjs +37 -0
  165. package/dist/esm/components/LightboxZoomButton.mjs.map +1 -0
  166. package/dist/esm/components/Pause.mjs +26 -0
  167. package/dist/esm/components/Pause.mjs.map +1 -0
  168. package/dist/esm/components/Play.mjs +20 -0
  169. package/dist/esm/components/Play.mjs.map +1 -0
  170. package/dist/esm/components/QuestionMark.mjs +26 -0
  171. package/dist/esm/components/QuestionMark.mjs.map +1 -0
  172. package/dist/esm/components/ZoomIn.mjs +28 -0
  173. package/dist/esm/components/ZoomIn.mjs.map +1 -0
  174. package/dist/esm/components/ZoomOut.mjs +27 -0
  175. package/dist/esm/components/ZoomOut.mjs.map +1 -0
  176. package/dist/esm/components/icons/EnterFullscreen.mjs +28 -0
  177. package/dist/esm/components/icons/EnterFullscreen.mjs.map +1 -0
  178. package/dist/esm/components/icons/ExitFullscreen.mjs +28 -0
  179. package/dist/esm/components/icons/ExitFullscreen.mjs.map +1 -0
  180. package/dist/esm/components/icons/Pause.mjs +26 -0
  181. package/dist/esm/components/icons/Pause.mjs.map +1 -0
  182. package/dist/esm/components/icons/Play.mjs +20 -0
  183. package/dist/esm/components/icons/Play.mjs.map +1 -0
  184. package/dist/esm/components/icons/ZoomIn.mjs +28 -0
  185. package/dist/esm/components/icons/ZoomIn.mjs.map +1 -0
  186. package/dist/esm/components/icons/ZoomOut.mjs +27 -0
  187. package/dist/esm/components/icons/ZoomOut.mjs.map +1 -0
  188. package/dist/esm/context/LightboxContext.mjs +9 -0
  189. package/dist/esm/context/LightboxContext.mjs.map +1 -0
  190. package/dist/esm/context/LightboxSlideContext.mjs +9 -0
  191. package/dist/esm/context/LightboxSlideContext.mjs.map +1 -0
  192. package/dist/esm/context/LightboxThumbnailContext.mjs +9 -0
  193. package/dist/esm/context/LightboxThumbnailContext.mjs.map +1 -0
  194. package/dist/esm/hooks/useAutoPlay.mjs +75 -0
  195. package/dist/esm/hooks/useAutoPlay.mjs.map +1 -0
  196. package/dist/esm/hooks/useCarouselOptions.mjs +28 -0
  197. package/dist/esm/hooks/useCarouselOptions.mjs.map +1 -0
  198. package/dist/esm/hooks/useFullscreen.mjs +37 -0
  199. package/dist/esm/hooks/useFullscreen.mjs.map +1 -0
  200. package/dist/esm/hooks/useKeyboardNavigation.mjs +27 -0
  201. package/dist/esm/hooks/useKeyboardNavigation.mjs.map +1 -0
  202. package/dist/esm/hooks/useLightbox.mjs +114 -0
  203. package/dist/esm/hooks/useLightbox.mjs.map +1 -0
  204. package/dist/esm/hooks/useLightboxRootOptions.mjs +18 -0
  205. package/dist/esm/hooks/useLightboxRootOptions.mjs.map +1 -0
  206. package/dist/esm/hooks/useSlideInteractions.mjs +92 -0
  207. package/dist/esm/hooks/useSlideInteractions.mjs.map +1 -0
  208. package/dist/esm/hooks/useThumbnails.mjs +59 -0
  209. package/dist/esm/hooks/useThumbnails.mjs.map +1 -0
  210. package/dist/esm/hooks/useZoom.mjs +262 -0
  211. package/dist/esm/hooks/useZoom.mjs.map +1 -0
  212. package/dist/esm/index.mjs +13 -1
  213. package/dist/esm/index.mjs.map +1 -1
  214. package/dist/esm/styles/Lightbox.module.css.mjs +5 -0
  215. package/dist/esm/styles/Lightbox.module.css.mjs.map +1 -0
  216. package/dist/esm/utils/fullscreen.mjs +36 -0
  217. package/dist/esm/utils/fullscreen.mjs.map +1 -0
  218. package/dist/esm/utils/pointer.mjs +41 -0
  219. package/dist/esm/utils/pointer.mjs.map +1 -0
  220. package/dist/esm/utils/zoom.mjs +82 -0
  221. package/dist/esm/utils/zoom.mjs.map +1 -0
  222. package/dist/styles.css +1 -1
  223. package/dist/styles.layer.css +1 -1
  224. package/dist/types/Lightbox.context-value.d.ts +16 -0
  225. package/dist/types/Lightbox.context-value.d.ts.map +1 -0
  226. package/dist/types/Lightbox.context.d.ts +29 -0
  227. package/dist/types/Lightbox.context.d.ts.map +1 -1
  228. package/dist/types/Lightbox.d.ts +53 -35
  229. package/dist/types/Lightbox.d.ts.map +1 -1
  230. package/dist/types/Lightbox.defaults.d.ts +24 -0
  231. package/dist/types/Lightbox.defaults.d.ts.map +1 -0
  232. package/dist/types/Lightbox.story.d.ts +5 -5
  233. package/dist/types/Lightbox.story.d.ts.map +1 -1
  234. package/dist/types/LightboxSlide.context.d.ts +8 -0
  235. package/dist/types/LightboxSlide.context.d.ts.map +1 -0
  236. package/dist/types/LightboxSlide.d.ts +0 -3
  237. package/dist/types/LightboxSlide.d.ts.map +1 -1
  238. package/dist/types/__tests__/Lightbox.test.d.ts +2 -0
  239. package/dist/types/__tests__/Lightbox.test.d.ts.map +1 -0
  240. package/dist/types/__tests__/LightboxSimple.test.d.ts +2 -0
  241. package/dist/types/__tests__/LightboxSimple.test.d.ts.map +1 -0
  242. package/dist/types/__tests__/pointer.test.d.ts +2 -0
  243. package/dist/types/__tests__/pointer.test.d.ts.map +1 -0
  244. package/dist/types/__tests__/zoom.test.d.ts +2 -0
  245. package/dist/types/__tests__/zoom.test.d.ts.map +1 -0
  246. package/dist/types/components/EnterFullscreen.d.ts +3 -0
  247. package/dist/types/components/EnterFullscreen.d.ts.map +1 -0
  248. package/dist/types/components/ExitFullscreen.d.ts +3 -0
  249. package/dist/types/components/ExitFullscreen.d.ts.map +1 -0
  250. package/dist/types/components/LightboxAutoplayButton.d.ts +17 -0
  251. package/dist/types/components/LightboxAutoplayButton.d.ts.map +1 -0
  252. package/dist/types/components/LightboxCarousel.d.ts +6 -0
  253. package/dist/types/components/LightboxCarousel.d.ts.map +1 -0
  254. package/dist/types/components/LightboxCarouselSlide.context.d.ts +10 -0
  255. package/dist/types/components/LightboxCarouselSlide.context.d.ts.map +1 -0
  256. package/dist/types/components/LightboxCloseButton.d.ts +17 -0
  257. package/dist/types/components/LightboxCloseButton.d.ts.map +1 -0
  258. package/dist/types/components/LightboxContent.d.ts +14 -0
  259. package/dist/types/components/LightboxContent.d.ts.map +1 -0
  260. package/dist/types/components/LightboxControls.d.ts +19 -0
  261. package/dist/types/components/LightboxControls.d.ts.map +1 -0
  262. package/dist/types/components/LightboxCounter.d.ts +19 -0
  263. package/dist/types/components/LightboxCounter.d.ts.map +1 -0
  264. package/dist/types/components/LightboxFullscreenButton.d.ts +17 -0
  265. package/dist/types/components/LightboxFullscreenButton.d.ts.map +1 -0
  266. package/dist/types/components/LightboxOverlay.d.ts +4 -0
  267. package/dist/types/components/LightboxOverlay.d.ts.map +1 -0
  268. package/dist/types/components/LightboxPreset.d.ts +10 -0
  269. package/dist/types/components/LightboxPreset.d.ts.map +1 -0
  270. package/dist/types/components/LightboxRoot.d.ts +80 -0
  271. package/dist/types/components/LightboxRoot.d.ts.map +1 -0
  272. package/dist/types/components/LightboxSlide.context.d.ts +8 -0
  273. package/dist/types/components/LightboxSlide.context.d.ts.map +1 -0
  274. package/dist/types/components/LightboxSlide.d.ts +17 -0
  275. package/dist/types/components/LightboxSlide.d.ts.map +1 -0
  276. package/dist/types/components/LightboxSlides.d.ts +24 -0
  277. package/dist/types/components/LightboxSlides.d.ts.map +1 -0
  278. package/dist/types/components/LightboxThumbnail.context.d.ts +8 -0
  279. package/dist/types/components/LightboxThumbnail.context.d.ts.map +1 -0
  280. package/dist/types/components/LightboxThumbnail.d.ts +17 -0
  281. package/dist/types/components/LightboxThumbnail.d.ts.map +1 -0
  282. package/dist/types/components/LightboxThumbnails.d.ts +20 -0
  283. package/dist/types/components/LightboxThumbnails.d.ts.map +1 -0
  284. package/dist/types/components/LightboxToolbar.d.ts +17 -0
  285. package/dist/types/components/LightboxToolbar.d.ts.map +1 -0
  286. package/dist/types/components/LightboxZoomButton.d.ts +17 -0
  287. package/dist/types/components/LightboxZoomButton.d.ts.map +1 -0
  288. package/dist/types/components/Pause.d.ts +3 -0
  289. package/dist/types/components/Pause.d.ts.map +1 -0
  290. package/dist/types/components/Play.d.ts +3 -0
  291. package/dist/types/components/Play.d.ts.map +1 -0
  292. package/dist/types/components/QuestionMark.d.ts +3 -0
  293. package/dist/types/components/QuestionMark.d.ts.map +1 -0
  294. package/dist/types/components/ZoomIn.d.ts +3 -0
  295. package/dist/types/components/ZoomIn.d.ts.map +1 -0
  296. package/dist/types/components/ZoomOut.d.ts +3 -0
  297. package/dist/types/components/ZoomOut.d.ts.map +1 -0
  298. package/dist/types/components/icons/EnterFullscreen.d.ts +3 -0
  299. package/dist/types/components/icons/EnterFullscreen.d.ts.map +1 -0
  300. package/dist/types/components/icons/ExitFullscreen.d.ts +3 -0
  301. package/dist/types/components/icons/ExitFullscreen.d.ts.map +1 -0
  302. package/dist/types/components/icons/Pause.d.ts +3 -0
  303. package/dist/types/components/icons/Pause.d.ts.map +1 -0
  304. package/dist/types/components/icons/Play.d.ts +3 -0
  305. package/dist/types/components/icons/Play.d.ts.map +1 -0
  306. package/dist/types/components/icons/ZoomIn.d.ts +3 -0
  307. package/dist/types/components/icons/ZoomIn.d.ts.map +1 -0
  308. package/dist/types/components/icons/ZoomOut.d.ts +3 -0
  309. package/dist/types/components/icons/ZoomOut.d.ts.map +1 -0
  310. package/dist/types/context/LightboxContext.d.ts +46 -0
  311. package/dist/types/context/LightboxContext.d.ts.map +1 -0
  312. package/dist/types/context/LightboxSlideContext.d.ts +8 -0
  313. package/dist/types/context/LightboxSlideContext.d.ts.map +1 -0
  314. package/dist/types/context/LightboxThumbnailContext.d.ts +8 -0
  315. package/dist/types/context/LightboxThumbnailContext.d.ts.map +1 -0
  316. package/dist/types/hooks/useAutoPlay.d.ts +11 -0
  317. package/dist/types/hooks/useAutoPlay.d.ts.map +1 -0
  318. package/dist/types/hooks/useAutoPlay.test.d.ts +2 -0
  319. package/dist/types/hooks/useAutoPlay.test.d.ts.map +1 -0
  320. package/dist/types/hooks/useCarouselOptions.d.ts +20 -0
  321. package/dist/types/hooks/useCarouselOptions.d.ts.map +1 -0
  322. package/dist/types/hooks/useFullscreen.d.ts +11 -0
  323. package/dist/types/hooks/useFullscreen.d.ts.map +1 -0
  324. package/dist/types/hooks/useKeyboardNavigation.d.ts +10 -0
  325. package/dist/types/hooks/useKeyboardNavigation.d.ts.map +1 -0
  326. package/dist/types/hooks/useLightbox.d.ts +30 -0
  327. package/dist/types/hooks/useLightbox.d.ts.map +1 -0
  328. package/dist/types/hooks/useLightboxRootOptions.d.ts +12 -0
  329. package/dist/types/hooks/useLightboxRootOptions.d.ts.map +1 -0
  330. package/dist/types/hooks/useSlideInteractions.d.ts +26 -0
  331. package/dist/types/hooks/useSlideInteractions.d.ts.map +1 -0
  332. package/dist/types/hooks/useThumbnails.d.ts +15 -0
  333. package/dist/types/hooks/useThumbnails.d.ts.map +1 -0
  334. package/dist/types/hooks/useZoom.d.ts +24 -0
  335. package/dist/types/hooks/useZoom.d.ts.map +1 -0
  336. package/dist/types/index.d.mts +27 -3
  337. package/dist/types/index.d.ts +27 -3
  338. package/dist/types/index.d.ts.map +1 -1
  339. package/dist/types/stories/Lightbox.story.d.ts +11 -0
  340. package/dist/types/stories/Lightbox.story.d.ts.map +1 -0
  341. package/dist/types/utils/fullscreen.d.ts +21 -0
  342. package/dist/types/utils/fullscreen.d.ts.map +1 -0
  343. package/dist/types/utils/pointer.d.ts +63 -0
  344. package/dist/types/utils/pointer.d.ts.map +1 -0
  345. package/dist/types/utils/zoom.d.ts +69 -0
  346. package/dist/types/utils/zoom.d.ts.map +1 -0
  347. package/dist/types/utils/zoom.test.d.ts +2 -0
  348. package/dist/types/utils/zoom.test.d.ts.map +1 -0
  349. package/package.json +2 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ZoomOut.cjs","sources":["../../../../src/components/icons/ZoomOut.tsx"],"sourcesContent":["import type { SVGProps } from \"react\";\n\nexport const ZoomOut = (props: SVGProps<SVGSVGElement>) => (\n\t<svg\n\t\taria-hidden=\"true\"\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\twidth=\"16\"\n\t\theight=\"16\"\n\t\tviewBox=\"0 0 24 24\"\n\t\tfill=\"none\"\n\t\tstroke=\"currentColor\"\n\t\tstrokeWidth=\"2\"\n\t\tstrokeLinecap=\"round\"\n\t\tstrokeLinejoin=\"round\"\n\t\t{...props}\n\t>\n\t\t<circle cx=\"11\" cy=\"11\" r=\"8\" />\n\t\t<line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\" />\n\t\t<line x1=\"8\" y1=\"11\" x2=\"14\" y2=\"11\" />\n\t</svg>\n);\n"],"names":["jsxs","jsx"],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ var core = require('@mantine/core');
5
+
6
+ const [LightboxProvider, useLightboxContext] = core.createSafeContext(
7
+ "Lightbox component was not found in the tree"
8
+ );
9
+
10
+ exports.LightboxProvider = LightboxProvider;
11
+ exports.useLightboxContext = useLightboxContext;
12
+ //# sourceMappingURL=LightboxContext.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LightboxContext.cjs","sources":["../../../src/context/LightboxContext.ts"],"sourcesContent":["import { createSafeContext, type GetStylesApi } from \"@mantine/core\";\nimport type { EmblaCarouselType } from \"embla-carousel\";\nimport type { PointerEvent as ReactPointerEvent, RefObject } from \"react\";\nimport type { LightboxRootFactory } from \"../components/LightboxRoot.js\";\nimport type { ZoomOffset } from \"../utils/zoom.js\";\n\nexport interface LightboxContext {\n\tgetStyles: GetStylesApi<LightboxRootFactory>;\n\topened: boolean;\n\tcurrentIndex: number;\n\tslideCount: number | null;\n\tslidesEmblaRef: RefObject<EmblaCarouselType | null>;\n\tthumbnailsEmblaRef: RefObject<EmblaCarouselType | null>;\n\tsetCurrentIndex: (index: number) => void;\n\tsetSlideCount: (count: number | null) => void;\n\tonClose: () => void;\n\tonOutsideClick: () => void;\n\tonThumbnailClick: (index: number) => void;\n\tonScrollPrev: () => void;\n\tonScrollNext: () => void;\n\torientation: \"horizontal\" | \"vertical\";\n\t// AutoPlay\n\tcanAutoPlay: boolean;\n\tisPlaying: boolean;\n\ttoggleAutoPlay: () => void;\n\tonSlidesEmblaApi: (embla: EmblaCarouselType) => void;\n\t// Fullscreen\n\twithFullscreen: boolean;\n\tisFullscreen: boolean;\n\ttoggleFullscreen: () => void;\n\t// Zoom\n\twithZoom: boolean;\n\tisZoomed: boolean;\n\tisZoomedRef: RefObject<boolean>;\n\tisDraggingZoom: boolean;\n\tcanZoomCurrent: boolean;\n\tzoomOffset: ZoomOffset;\n\tzoomScale: number;\n\tactiveZoomContainerRef: RefObject<HTMLDivElement | null>;\n\ttoggleZoom: () => void;\n\tupdateCanZoomAvailability: () => void;\n\thandleZoomPointerDown: (event: ReactPointerEvent<HTMLDivElement>) => void;\n\thandleZoomPointerMove: (event: ReactPointerEvent<HTMLDivElement>) => void;\n\thandleZoomPointerEnd: (event: ReactPointerEvent<HTMLDivElement>) => void;\n}\n\nexport const [LightboxProvider, useLightboxContext] =\n\tcreateSafeContext<LightboxContext>(\n\t\t\"Lightbox component was not found in the tree\",\n\t);\n"],"names":["createSafeContext"],"mappings":";;;;;AAEY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,GAAGA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAiB,CAAA;AACvE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAA,CAAA;;;"}
@@ -0,0 +1,12 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ var core = require('@mantine/core');
5
+
6
+ const [LightboxSlideProvider, useLightboxSlideContext] = core.createSafeContext(
7
+ "LightboxSlide component was not found in the tree"
8
+ );
9
+
10
+ exports.LightboxSlideProvider = LightboxSlideProvider;
11
+ exports.useLightboxSlideContext = useLightboxSlideContext;
12
+ //# sourceMappingURL=LightboxSlideContext.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LightboxSlideContext.cjs","sources":["../../../src/context/LightboxSlideContext.ts"],"sourcesContent":["import { createSafeContext } from \"@mantine/core\";\n\nexport interface LightboxSlideContext {\n\tindex: number;\n}\n\nexport const [LightboxSlideProvider, useLightboxSlideContext] =\n\tcreateSafeContext<LightboxSlideContext>(\n\t\t\"LightboxSlide component was not found in the tree\",\n\t);\n"],"names":["createSafeContext"],"mappings":";;;;;AAEY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB,CAAC,GAAGA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAiB,CAAA;AACjF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAA,CAAA;;;"}
@@ -0,0 +1,12 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ var core = require('@mantine/core');
5
+
6
+ const [LightboxThumbnailProvider, useLightboxThumbnailContext] = core.createSafeContext(
7
+ "LightboxThumbnail component was not found in the tree"
8
+ );
9
+
10
+ exports.LightboxThumbnailProvider = LightboxThumbnailProvider;
11
+ exports.useLightboxThumbnailContext = useLightboxThumbnailContext;
12
+ //# sourceMappingURL=LightboxThumbnailContext.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LightboxThumbnailContext.cjs","sources":["../../../src/context/LightboxThumbnailContext.ts"],"sourcesContent":["import { createSafeContext } from \"@mantine/core\";\n\nexport interface LightboxThumbnailContext {\n\tindex: number;\n}\n\nexport const [LightboxThumbnailProvider, useLightboxThumbnailContext] =\n\tcreateSafeContext<LightboxThumbnailContext>(\n\t\t\"LightboxThumbnail component was not found in the tree\",\n\t);\n"],"names":["createSafeContext"],"mappings":";;;;;AAEY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2B,CAAC,GAAGA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAiB,CAAA;AACzF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAA,CAAA;;;"}
@@ -0,0 +1,77 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ var React = require('react');
5
+
6
+ function useAutoPlay() {
7
+ const autoplayPluginRef = React.useRef(null);
8
+ const emblaInstanceRef = React.useRef(null);
9
+ const autoplayShouldRunRef = React.useRef(false);
10
+ const [canAutoPlay, setCanAutoPlay] = React.useState(false);
11
+ const [isPlaying, setIsPlaying] = React.useState(false);
12
+ const onAutoPlayPlay = React.useCallback(() => {
13
+ setIsPlaying(true);
14
+ }, []);
15
+ const onAutoPlayStop = React.useCallback(() => setIsPlaying(false), []);
16
+ const onEmblaPointerUp = React.useCallback(() => {
17
+ if (!autoplayShouldRunRef.current) {
18
+ autoplayPluginRef.current?.stop();
19
+ }
20
+ }, []);
21
+ const handleEmblaApiForAutoPlay = React.useCallback(
22
+ (embla) => {
23
+ const plugin = embla.plugins()?.autoplay;
24
+ if (!plugin || typeof plugin !== "object" || typeof plugin.play !== "function") {
25
+ return;
26
+ }
27
+ const prevEmbla = emblaInstanceRef.current;
28
+ if (prevEmbla) {
29
+ prevEmbla.off("autoplay:play", onAutoPlayPlay);
30
+ prevEmbla.off("autoplay:stop", onAutoPlayStop);
31
+ prevEmbla.off("pointerUp", onEmblaPointerUp);
32
+ }
33
+ emblaInstanceRef.current = embla;
34
+ autoplayPluginRef.current = plugin;
35
+ embla.on("autoplay:play", onAutoPlayPlay);
36
+ embla.on("autoplay:stop", onAutoPlayStop);
37
+ embla.on("pointerUp", onEmblaPointerUp);
38
+ const playing = plugin.isPlaying();
39
+ setCanAutoPlay(true);
40
+ setIsPlaying(playing);
41
+ autoplayShouldRunRef.current = playing;
42
+ },
43
+ [onAutoPlayPlay, onAutoPlayStop, onEmblaPointerUp]
44
+ );
45
+ const toggleAutoPlay = React.useCallback(() => {
46
+ const plugin = autoplayPluginRef.current;
47
+ if (!plugin) {
48
+ return;
49
+ }
50
+ if (isPlaying) {
51
+ autoplayShouldRunRef.current = false;
52
+ plugin.stop();
53
+ } else {
54
+ autoplayShouldRunRef.current = true;
55
+ plugin.play();
56
+ }
57
+ }, [isPlaying]);
58
+ const notifyAutoPlayInteraction = React.useCallback(() => {
59
+ const embla = emblaInstanceRef.current;
60
+ const plugin = autoplayPluginRef.current;
61
+ if (!embla || !plugin?.isPlaying()) {
62
+ return;
63
+ }
64
+ embla.emit("pointerDown");
65
+ embla.emit("pointerUp");
66
+ }, []);
67
+ return {
68
+ canAutoPlay,
69
+ isPlaying,
70
+ toggleAutoPlay,
71
+ notifyAutoPlayInteraction,
72
+ handleEmblaApiForAutoPlay
73
+ };
74
+ }
75
+
76
+ exports.useAutoPlay = useAutoPlay;
77
+ //# sourceMappingURL=useAutoPlay.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAutoPlay.cjs","sources":["../../../src/hooks/useAutoPlay.ts"],"sourcesContent":["import type { EmblaCarouselType } from \"embla-carousel\";\nimport type { AutoplayType } from \"embla-carousel-autoplay\";\nimport { useCallback, useRef, useState } from \"react\";\n\ninterface UseAutoPlayOutput {\n\tcanAutoPlay: boolean;\n\tisPlaying: boolean;\n\ttoggleAutoPlay: () => void;\n\tnotifyAutoPlayInteraction: () => void;\n\thandleEmblaApiForAutoPlay: (embla: EmblaCarouselType) => void;\n}\n\nexport function useAutoPlay(): UseAutoPlayOutput {\n\tconst autoplayPluginRef = useRef<AutoplayType | null>(null);\n\tconst emblaInstanceRef = useRef<EmblaCarouselType | null>(null);\n\tconst autoplayShouldRunRef = useRef(false);\n\n\tconst [canAutoPlay, setCanAutoPlay] = useState(false);\n\tconst [isPlaying, setIsPlaying] = useState(false);\n\n\tconst onAutoPlayPlay = useCallback(() => {\n\t\tsetIsPlaying(true);\n\t}, []);\n\n\tconst onAutoPlayStop = useCallback(() => setIsPlaying(false), []);\n\n\tconst onEmblaPointerUp = useCallback(() => {\n\t\tif (!autoplayShouldRunRef.current) {\n\t\t\tautoplayPluginRef.current?.stop();\n\t\t}\n\t}, []);\n\n\tconst handleEmblaApiForAutoPlay = useCallback(\n\t\t(embla: EmblaCarouselType) => {\n\t\t\tconst plugin = embla.plugins()?.autoplay;\n\n\t\t\tif (\n\t\t\t\t!plugin ||\n\t\t\t\ttypeof plugin !== \"object\" ||\n\t\t\t\ttypeof plugin.play !== \"function\"\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst prevEmbla = emblaInstanceRef.current;\n\n\t\t\tif (prevEmbla) {\n\t\t\t\tprevEmbla.off(\"autoplay:play\", onAutoPlayPlay);\n\t\t\t\tprevEmbla.off(\"autoplay:stop\", onAutoPlayStop);\n\t\t\t\tprevEmbla.off(\"pointerUp\", onEmblaPointerUp);\n\t\t\t}\n\n\t\t\temblaInstanceRef.current = embla;\n\t\t\tautoplayPluginRef.current = plugin;\n\n\t\t\tembla.on(\"autoplay:play\", onAutoPlayPlay);\n\t\t\tembla.on(\"autoplay:stop\", onAutoPlayStop);\n\t\t\tembla.on(\"pointerUp\", onEmblaPointerUp);\n\n\t\t\tconst playing = plugin.isPlaying();\n\t\t\tsetCanAutoPlay(true);\n\t\t\tsetIsPlaying(playing);\n\t\t\tautoplayShouldRunRef.current = playing;\n\t\t},\n\t\t[onAutoPlayPlay, onAutoPlayStop, onEmblaPointerUp],\n\t);\n\n\tconst toggleAutoPlay = useCallback(() => {\n\t\tconst plugin = autoplayPluginRef.current;\n\n\t\tif (!plugin) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isPlaying) {\n\t\t\tautoplayShouldRunRef.current = false;\n\t\t\tplugin.stop();\n\t\t} else {\n\t\t\tautoplayShouldRunRef.current = true;\n\t\t\tplugin.play();\n\t\t}\n\t}, [isPlaying]);\n\n\tconst notifyAutoPlayInteraction = useCallback(() => {\n\t\tconst embla = emblaInstanceRef.current;\n\t\tconst plugin = autoplayPluginRef.current;\n\n\t\tif (!embla || !plugin?.isPlaying()) {\n\t\t\treturn;\n\t\t}\n\n\t\tembla.emit(\"pointerDown\");\n\t\tembla.emit(\"pointerUp\");\n\t}, []);\n\n\treturn {\n\t\tcanAutoPlay,\n\t\tisPlaying,\n\t\ttoggleAutoPlay,\n\t\tnotifyAutoPlayInteraction,\n\t\thandleEmblaApiForAutoPlay,\n\t};\n}\n"],"names":["useRef","useState","useCallback"],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ var react = require('react');
5
+
6
+ function useCarouselOptions(props) {
7
+ const { carouselOptions, isZoomedRef } = props;
8
+ return react.useMemo(
9
+ () => ({
10
+ ...carouselOptions,
11
+ emblaOptions: {
12
+ ...carouselOptions?.emblaOptions,
13
+ watchDrag: (emblaApi, event) => {
14
+ if (isZoomedRef.current) {
15
+ return false;
16
+ }
17
+ const configuredWatchDrag = carouselOptions?.emblaOptions?.watchDrag;
18
+ if (typeof configuredWatchDrag === "function") {
19
+ return configuredWatchDrag(emblaApi, event);
20
+ }
21
+ return configuredWatchDrag ?? true;
22
+ }
23
+ }
24
+ }),
25
+ [carouselOptions, isZoomedRef]
26
+ );
27
+ }
28
+
29
+ exports.useCarouselOptions = useCarouselOptions;
30
+ //# sourceMappingURL=useCarouselOptions.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCarouselOptions.cjs","sources":["../../../src/hooks/useCarouselOptions.ts"],"sourcesContent":["import type { EmblaCarouselType } from \"embla-carousel\";\nimport type { RefObject } from \"react\";\nimport { useMemo } from \"react\";\nimport type { LightboxCarouselOptions } from \"../Lightbox.js\";\n\ninterface UseCarouselOptionsInput {\n\tcarouselOptions: LightboxCarouselOptions | undefined;\n\tisZoomedRef: RefObject<boolean>;\n}\n\nexport type UseCarouselOptionsOutput = LightboxCarouselOptions & {\n\temblaOptions: NonNullable<LightboxCarouselOptions[\"emblaOptions\"]>;\n};\n\n/**\n * Merges consumer-supplied carousel options with lightbox-internal overrides.\n *\n * Injects a `watchDrag` guard that disables Embla's drag when the lightbox is\n * zoomed. Uses `isZoomedRef` (not `isZoomed` state) so that the returned\n * options object stays stable across zoom state changes, preventing Embla from\n * being re-initialised on every zoom toggle.\n */\nexport function useCarouselOptions(\n\tprops: UseCarouselOptionsInput,\n): UseCarouselOptionsOutput {\n\tconst { carouselOptions, isZoomedRef } = props;\n\n\treturn useMemo(\n\t\t() => ({\n\t\t\t...carouselOptions,\n\t\t\temblaOptions: {\n\t\t\t\t...carouselOptions?.emblaOptions,\n\t\t\t\twatchDrag: (\n\t\t\t\t\temblaApi: EmblaCarouselType,\n\t\t\t\t\tevent: MouseEvent | TouchEvent,\n\t\t\t\t) => {\n\t\t\t\t\tif (isZoomedRef.current) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst configuredWatchDrag = carouselOptions?.emblaOptions?.watchDrag;\n\n\t\t\t\t\tif (typeof configuredWatchDrag === \"function\") {\n\t\t\t\t\t\treturn configuredWatchDrag(emblaApi, event);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn configuredWatchDrag ?? true;\n\t\t\t\t},\n\t\t\t},\n\t\t}),\n\t\t[carouselOptions, isZoomedRef],\n\t);\n}\n"],"names":["useMemo"],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ var react = require('react');
5
+ var fullscreen = require('../utils/fullscreen.cjs');
6
+
7
+ function useFullscreen(props) {
8
+ const { opened } = props;
9
+ const [isFullscreen, setIsFullscreen] = react.useState(fullscreen.isBrowserFullscreen);
10
+ const canUseFullscreen = fullscreen.canToggleBrowserFullscreen();
11
+ const toggleFullscreen = react.useCallback(async () => {
12
+ if (!canUseFullscreen) {
13
+ return;
14
+ }
15
+ await fullscreen.toggleBrowserFullscreen();
16
+ }, [canUseFullscreen]);
17
+ react.useEffect(() => {
18
+ const handleFullscreenChange = () => {
19
+ setIsFullscreen(fullscreen.isBrowserFullscreen());
20
+ };
21
+ document.addEventListener("fullscreenchange", handleFullscreenChange);
22
+ return () => {
23
+ document.removeEventListener("fullscreenchange", handleFullscreenChange);
24
+ };
25
+ }, []);
26
+ react.useEffect(() => {
27
+ if (!opened) {
28
+ void fullscreen.exitBrowserFullscreenIfActive();
29
+ }
30
+ }, [opened]);
31
+ return {
32
+ isFullscreen,
33
+ canUseFullscreen,
34
+ toggleFullscreen
35
+ };
36
+ }
37
+
38
+ exports.useFullscreen = useFullscreen;
39
+ //# sourceMappingURL=useFullscreen.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFullscreen.cjs","sources":["../../../src/hooks/useFullscreen.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from \"react\";\nimport {\n\tcanToggleBrowserFullscreen,\n\texitBrowserFullscreenIfActive,\n\tisBrowserFullscreen,\n\ttoggleBrowserFullscreen,\n} from \"../utils/fullscreen.js\";\n\ninterface UseFullscreenInput {\n\topened: boolean;\n}\n\ninterface UseFullscreenOutput {\n\tisFullscreen: boolean;\n\tcanUseFullscreen: boolean;\n\ttoggleFullscreen: () => void;\n}\n\nexport function useFullscreen(props: UseFullscreenInput): UseFullscreenOutput {\n\tconst { opened } = props;\n\n\tconst [isFullscreen, setIsFullscreen] = useState(isBrowserFullscreen);\n\n\tconst canUseFullscreen = canToggleBrowserFullscreen();\n\n\tconst toggleFullscreen = useCallback(async () => {\n\t\tif (!canUseFullscreen) {\n\t\t\treturn;\n\t\t}\n\n\t\tawait toggleBrowserFullscreen();\n\t}, [canUseFullscreen]);\n\n\tuseEffect(() => {\n\t\tconst handleFullscreenChange = () => {\n\t\t\tsetIsFullscreen(isBrowserFullscreen());\n\t\t};\n\n\t\tdocument.addEventListener(\"fullscreenchange\", handleFullscreenChange);\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(\"fullscreenchange\", handleFullscreenChange);\n\t\t};\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (!opened) {\n\t\t\tvoid exitBrowserFullscreenIfActive();\n\t\t}\n\t}, [opened]);\n\n\treturn {\n\t\tisFullscreen,\n\t\tcanUseFullscreen,\n\t\ttoggleFullscreen,\n\t};\n}\n"],"names":["useState","isBrowserFullscreen","canToggleBrowserFullscreen","useCallback","toggleBrowserFullscreen","useEffect","exitBrowserFullscreenIfActive"],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ var react = require('react');
5
+
6
+ function useKeyboardNavigation(props) {
7
+ const { opened, emblaRef, onClose } = props;
8
+ react.useEffect(() => {
9
+ if (!opened) {
10
+ return;
11
+ }
12
+ const handleKeyDown = (event) => {
13
+ if (event.key === "Escape") {
14
+ onClose();
15
+ } else if (event.key === "ArrowLeft") {
16
+ emblaRef.current?.scrollPrev();
17
+ } else if (event.key === "ArrowRight") {
18
+ emblaRef.current?.scrollNext();
19
+ }
20
+ };
21
+ document.addEventListener("keydown", handleKeyDown);
22
+ return () => {
23
+ document.removeEventListener("keydown", handleKeyDown);
24
+ };
25
+ }, [opened, emblaRef, onClose]);
26
+ }
27
+
28
+ exports.useKeyboardNavigation = useKeyboardNavigation;
29
+ //# sourceMappingURL=useKeyboardNavigation.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useKeyboardNavigation.cjs","sources":["../../../src/hooks/useKeyboardNavigation.ts"],"sourcesContent":["import type { EmblaCarouselType } from \"embla-carousel\";\nimport type { RefObject } from \"react\";\nimport { useEffect } from \"react\";\n\ninterface UseKeyboardNavigationInput {\n\topened: boolean;\n\temblaRef: RefObject<EmblaCarouselType | null>;\n\tonClose: () => void;\n}\n\nexport function useKeyboardNavigation(props: UseKeyboardNavigationInput): void {\n\tconst { opened, emblaRef, onClose } = props;\n\n\tuseEffect(() => {\n\t\tif (!opened) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst handleKeyDown = (event: KeyboardEvent) => {\n\t\t\tif (event.key === \"Escape\") {\n\t\t\t\tonClose();\n\t\t\t} else if (event.key === \"ArrowLeft\") {\n\t\t\t\temblaRef.current?.scrollPrev();\n\t\t\t} else if (event.key === \"ArrowRight\") {\n\t\t\t\temblaRef.current?.scrollNext();\n\t\t\t}\n\t\t};\n\n\t\tdocument.addEventListener(\"keydown\", handleKeyDown);\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(\"keydown\", handleKeyDown);\n\t\t};\n\t}, [opened, emblaRef, onClose]);\n}\n"],"names":["useEffect"],"mappings":"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"}
@@ -0,0 +1,116 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ var hooks = require('@mantine/hooks');
5
+ var React = require('react');
6
+ var Lightbox_defaults = require('../Lightbox.defaults.cjs');
7
+
8
+ function useLightbox(props) {
9
+ const {
10
+ ref,
11
+ opened,
12
+ initialSlide,
13
+ onClose,
14
+ closeOnClickOutside,
15
+ trapFocus,
16
+ returnFocus,
17
+ carouselOptions,
18
+ thumbnailEmblaOptions,
19
+ counterFormatter
20
+ } = props;
21
+ const shouldCloseOnClickOutside = closeOnClickOutside ?? Lightbox_defaults.LIGHTBOX_DEFAULT_PROPS.closeOnClickOutside;
22
+ const shouldTrapFocus = trapFocus ?? Lightbox_defaults.LIGHTBOX_DEFAULT_PROPS.trapFocus;
23
+ const shouldReturnFocus = returnFocus ?? Lightbox_defaults.LIGHTBOX_DEFAULT_PROPS.returnFocus;
24
+ const mergedBaseCarouselOptions = React.useMemo(
25
+ () => ({
26
+ ...Lightbox_defaults.LIGHTBOX_DEFAULT_PROPS.carouselOptions,
27
+ ...carouselOptions,
28
+ initialSlide
29
+ }),
30
+ [carouselOptions, initialSlide]
31
+ );
32
+ const mergedThumbnailEmblaOptions = React.useMemo(
33
+ () => ({
34
+ ...Lightbox_defaults.LIGHTBOX_DEFAULT_PROPS.thumbnailEmblaOptions,
35
+ ...thumbnailEmblaOptions
36
+ }),
37
+ [thumbnailEmblaOptions]
38
+ );
39
+ const focusTrapRef = hooks.useFocusTrap(opened && shouldTrapFocus);
40
+ const mergedRef = hooks.useMergedRef(ref, focusTrapRef);
41
+ hooks.useFocusReturn({ opened, shouldReturnFocus });
42
+ const slidesEmblaRef = React.useRef(null);
43
+ const thumbnailsEmblaRef = React.useRef(null);
44
+ const [currentIndex, setCurrentIndex] = React.useState(
45
+ mergedBaseCarouselOptions?.initialSlide ?? 0
46
+ );
47
+ const [total, setTotal] = React.useState(null);
48
+ hooks.useHotkeys([
49
+ ["ArrowLeft", () => opened && slidesEmblaRef.current?.scrollPrev()],
50
+ ["ArrowRight", () => opened && slidesEmblaRef.current?.scrollNext()],
51
+ ["Escape", () => opened && onClose()]
52
+ ]);
53
+ const counterText = React.useMemo(() => {
54
+ if (total === null) {
55
+ return null;
56
+ }
57
+ if (counterFormatter) {
58
+ return counterFormatter(currentIndex, total);
59
+ }
60
+ return `${currentIndex + 1} / ${total}`;
61
+ }, [counterFormatter, currentIndex, total]);
62
+ const handleEmblaApi = React.useCallback(
63
+ (embla) => {
64
+ slidesEmblaRef.current = embla;
65
+ const onInit = (api) => {
66
+ setTotal(api.slideNodes().length);
67
+ mergedBaseCarouselOptions.getEmblaApi?.(api);
68
+ };
69
+ const onSelect = (api) => {
70
+ setCurrentIndex(api.selectedScrollSnap());
71
+ thumbnailsEmblaRef.current?.scrollTo(api.selectedScrollSnap());
72
+ };
73
+ const onDestroy = () => {
74
+ setCurrentIndex(mergedBaseCarouselOptions?.initialSlide ?? 0);
75
+ setTotal(null);
76
+ thumbnailsEmblaRef.current = null;
77
+ slidesEmblaRef.current = null;
78
+ };
79
+ onInit(embla);
80
+ embla.on("select", onSelect);
81
+ embla.on("destroy", onDestroy);
82
+ },
83
+ [mergedBaseCarouselOptions]
84
+ );
85
+ const handleThumbnailsEmblaApi = React.useCallback(
86
+ (embla) => {
87
+ thumbnailsEmblaRef.current = embla;
88
+ embla.scrollTo(currentIndex);
89
+ },
90
+ [currentIndex]
91
+ );
92
+ const handleThumbnailClick = React.useCallback((index) => {
93
+ slidesEmblaRef.current?.scrollTo(index);
94
+ }, []);
95
+ const handleOutsideClick = React.useCallback(() => {
96
+ if (!shouldCloseOnClickOutside) {
97
+ return;
98
+ }
99
+ onClose();
100
+ }, [shouldCloseOnClickOutside, onClose]);
101
+ const mergedCarouselOptions = mergedBaseCarouselOptions;
102
+ return {
103
+ mergedRef,
104
+ currentIndex,
105
+ counterText,
106
+ handleEmblaApi,
107
+ handleThumbnailsEmblaApi,
108
+ handleThumbnailClick,
109
+ handleOutsideClick,
110
+ mergedCarouselOptions,
111
+ mergedThumbnailEmblaOptions
112
+ };
113
+ }
114
+
115
+ exports.useLightbox = useLightbox;
116
+ //# sourceMappingURL=useLightbox.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLightbox.cjs","sources":["../../../src/hooks/useLightbox.ts"],"sourcesContent":["import type { CarouselProps } from \"@mantine/carousel\";\nimport {\n\tuseFocusReturn,\n\tuseFocusTrap,\n\tuseHotkeys,\n\tuseMergedRef,\n} from \"@mantine/hooks\";\nimport type { EmblaCarouselType } from \"embla-carousel\";\nimport {\n\ttype ForwardedRef,\n\tuseCallback,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from \"react\";\nimport { LIGHTBOX_DEFAULT_PROPS } from \"../Lightbox.defaults.js\";\nimport type {\n\tLightboxCarouselOptions,\n\tLightboxThumbnailEmblaOptions,\n} from \"../Lightbox.js\";\n\ninterface UseLightboxInput {\n\tref: ForwardedRef<HTMLDivElement>;\n\topened: boolean;\n\tinitialSlide: number | undefined;\n\tonClose: () => void;\n\tcloseOnClickOutside: boolean | undefined;\n\ttrapFocus: boolean | undefined;\n\treturnFocus: boolean | undefined;\n\tcarouselOptions: LightboxCarouselOptions | undefined;\n\tthumbnailEmblaOptions: LightboxThumbnailEmblaOptions | undefined;\n\tcounterFormatter: ((index: number, total: number) => string) | undefined;\n}\n\nexport interface UseLightboxOutput {\n\tmergedRef: (node: HTMLDivElement | null) => void;\n\tcurrentIndex: number;\n\tcounterText: string | null;\n\thandleEmblaApi: CarouselProps[\"getEmblaApi\"];\n\thandleThumbnailsEmblaApi: (embla: EmblaCarouselType) => void;\n\thandleThumbnailClick: (index: number) => void;\n\thandleOutsideClick: () => void;\n\tmergedCarouselOptions: LightboxCarouselOptions;\n\tmergedThumbnailEmblaOptions: LightboxThumbnailEmblaOptions;\n}\n\nexport function useLightbox(props: UseLightboxInput): UseLightboxOutput {\n\tconst {\n\t\tref,\n\t\topened,\n\t\tinitialSlide,\n\t\tonClose,\n\t\tcloseOnClickOutside,\n\t\ttrapFocus,\n\t\treturnFocus,\n\t\tcarouselOptions,\n\t\tthumbnailEmblaOptions,\n\t\tcounterFormatter,\n\t} = props;\n\n\tconst shouldCloseOnClickOutside =\n\t\tcloseOnClickOutside ?? LIGHTBOX_DEFAULT_PROPS.closeOnClickOutside;\n\n\tconst shouldTrapFocus = trapFocus ?? LIGHTBOX_DEFAULT_PROPS.trapFocus;\n\n\tconst shouldReturnFocus = returnFocus ?? LIGHTBOX_DEFAULT_PROPS.returnFocus;\n\n\tconst mergedBaseCarouselOptions = useMemo<LightboxCarouselOptions>(\n\t\t() => ({\n\t\t\t...LIGHTBOX_DEFAULT_PROPS.carouselOptions,\n\t\t\t...carouselOptions,\n\t\t\tinitialSlide,\n\t\t}),\n\t\t[carouselOptions, initialSlide],\n\t);\n\n\tconst mergedThumbnailEmblaOptions = useMemo<LightboxThumbnailEmblaOptions>(\n\t\t() => ({\n\t\t\t...LIGHTBOX_DEFAULT_PROPS.thumbnailEmblaOptions,\n\t\t\t...thumbnailEmblaOptions,\n\t\t}),\n\t\t[thumbnailEmblaOptions],\n\t);\n\n\tconst focusTrapRef = useFocusTrap(opened && shouldTrapFocus);\n\n\tconst mergedRef = useMergedRef(ref, focusTrapRef);\n\n\tuseFocusReturn({ opened, shouldReturnFocus });\n\n\tconst slidesEmblaRef = useRef<EmblaCarouselType | null>(null);\n\tconst thumbnailsEmblaRef = useRef<EmblaCarouselType | null>(null);\n\n\tconst [currentIndex, setCurrentIndex] = useState(\n\t\tmergedBaseCarouselOptions?.initialSlide ?? 0,\n\t);\n\tconst [total, setTotal] = useState<number | null>(null);\n\n\tuseHotkeys([\n\t\t[\"ArrowLeft\", () => opened && slidesEmblaRef.current?.scrollPrev()],\n\t\t[\"ArrowRight\", () => opened && slidesEmblaRef.current?.scrollNext()],\n\t\t[\"Escape\", () => opened && onClose()],\n\t]);\n\n\tconst counterText = useMemo(() => {\n\t\tif (total === null) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (counterFormatter) {\n\t\t\treturn counterFormatter(currentIndex, total);\n\t\t}\n\n\t\treturn `${currentIndex + 1} / ${total}`;\n\t}, [counterFormatter, currentIndex, total]);\n\n\tconst handleEmblaApi = useCallback(\n\t\t(embla: EmblaCarouselType) => {\n\t\t\tslidesEmblaRef.current = embla;\n\n\t\t\tconst onInit = (api: EmblaCarouselType) => {\n\t\t\t\tsetTotal(api.slideNodes().length);\n\t\t\t\tmergedBaseCarouselOptions.getEmblaApi?.(api);\n\t\t\t};\n\n\t\t\tconst onSelect = (api: EmblaCarouselType) => {\n\t\t\t\tsetCurrentIndex(api.selectedScrollSnap());\n\t\t\t\tthumbnailsEmblaRef.current?.scrollTo(api.selectedScrollSnap());\n\t\t\t};\n\n\t\t\tconst onDestroy = () => {\n\t\t\t\tsetCurrentIndex(mergedBaseCarouselOptions?.initialSlide ?? 0);\n\t\t\t\tsetTotal(null);\n\t\t\t\tthumbnailsEmblaRef.current = null;\n\t\t\t\tslidesEmblaRef.current = null;\n\t\t\t};\n\n\t\t\tonInit(embla);\n\n\t\t\tembla.on(\"select\", onSelect);\n\t\t\tembla.on(\"destroy\", onDestroy);\n\t\t},\n\t\t[mergedBaseCarouselOptions],\n\t);\n\n\tconst handleThumbnailsEmblaApi = useCallback(\n\t\t(embla: EmblaCarouselType) => {\n\t\t\tthumbnailsEmblaRef.current = embla;\n\n\t\t\tembla.scrollTo(currentIndex);\n\t\t},\n\t\t[currentIndex],\n\t);\n\n\tconst handleThumbnailClick = useCallback((index: number) => {\n\t\tslidesEmblaRef.current?.scrollTo(index);\n\t}, []);\n\n\tconst handleOutsideClick = useCallback(() => {\n\t\tif (!shouldCloseOnClickOutside) {\n\t\t\treturn;\n\t\t}\n\n\t\tonClose();\n\t}, [shouldCloseOnClickOutside, onClose]);\n\n\tconst mergedCarouselOptions = mergedBaseCarouselOptions;\n\n\treturn {\n\t\tmergedRef,\n\t\tcurrentIndex,\n\t\tcounterText,\n\t\thandleEmblaApi,\n\t\thandleThumbnailsEmblaApi,\n\t\thandleThumbnailClick,\n\t\thandleOutsideClick,\n\t\tmergedCarouselOptions,\n\t\tmergedThumbnailEmblaOptions,\n\t};\n}\n"],"names":["LIGHTBOX_DEFAULT_PROPS","useMemo","useFocusTrap","useMergedRef","useFocusReturn","useRef","useState","useHotkeys","useCallback"],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ var Lightbox_defaults = require('../Lightbox.defaults.cjs');
5
+
6
+ function useLightboxRootOptions(props) {
7
+ return {
8
+ overlayProps: {
9
+ ...Lightbox_defaults.LIGHTBOX_DEFAULT_PROPS.overlayProps,
10
+ ...props.overlayProps
11
+ },
12
+ transitionProps: {
13
+ ...Lightbox_defaults.LIGHTBOX_DEFAULT_PROPS.transitionProps,
14
+ ...props.transitionProps
15
+ }
16
+ };
17
+ }
18
+
19
+ exports.useLightboxRootOptions = useLightboxRootOptions;
20
+ //# sourceMappingURL=useLightboxRootOptions.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLightboxRootOptions.cjs","sources":["../../../src/hooks/useLightboxRootOptions.ts"],"sourcesContent":["import type { OverlayProps, TransitionOverride } from \"@mantine/core\";\nimport { LIGHTBOX_DEFAULT_PROPS } from \"../Lightbox.defaults.js\";\n\ninterface UseLightboxRootOptionsInput {\n\toverlayProps: OverlayProps | undefined;\n\ttransitionProps: TransitionOverride | undefined;\n}\n\ninterface UseLightboxRootOptionsOutput {\n\toverlayProps: OverlayProps;\n\ttransitionProps: TransitionOverride;\n}\n\nexport function useLightboxRootOptions(\n\tprops: UseLightboxRootOptionsInput,\n): UseLightboxRootOptionsOutput {\n\treturn {\n\t\toverlayProps: {\n\t\t\t...LIGHTBOX_DEFAULT_PROPS.overlayProps,\n\t\t\t...props.overlayProps,\n\t\t},\n\t\ttransitionProps: {\n\t\t\t...LIGHTBOX_DEFAULT_PROPS.transitionProps,\n\t\t\t...props.transitionProps,\n\t\t},\n\t};\n}\n"],"names":["LIGHTBOX_DEFAULT_PROPS"],"mappings":";;;;;AAEO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA;AAC9C,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA;AACT,CAAA,CAAA,CAAA,CAAI,YAAY,CAAA,CAAE,CAAA;AAClB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAGA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAsB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA;AAC5C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,KAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACf,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA;AACL,CAAA,CAAA,CAAA,CAAI,eAAe,CAAA,CAAE,CAAA;AACrB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAGA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAsB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA;AAC/C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,KAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACf,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAG,CAAA;AACH,CAAA;;"}
@@ -0,0 +1,94 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ var React = require('react');
5
+ var pointer = require('../utils/pointer.cjs');
6
+
7
+ function useSlideInteractions(props) {
8
+ const {
9
+ onClose,
10
+ onZoomPointerDown,
11
+ onZoomPointerMove,
12
+ onZoomPointerEnd,
13
+ updateCanZoomAvailability
14
+ } = props;
15
+ const outsideClosePointerRef = React.useRef(null);
16
+ const handleSlidePointerDown = React.useCallback(
17
+ (event) => {
18
+ const startedInsideContent = pointer.isEventTargetWithinSelector(
19
+ event.target,
20
+ "[data-lightbox-slide-content]"
21
+ );
22
+ outsideClosePointerRef.current = pointer.createOutsideClosePointerState({
23
+ pointerId: event.pointerId,
24
+ clientX: event.clientX,
25
+ clientY: event.clientY,
26
+ startedOutsideContent: !startedInsideContent
27
+ });
28
+ onZoomPointerDown(event);
29
+ },
30
+ [onZoomPointerDown]
31
+ );
32
+ const handleSlidePointerMove = React.useCallback(
33
+ (event) => {
34
+ const outsideClosePointer = outsideClosePointerRef.current;
35
+ if (outsideClosePointer && outsideClosePointer.pointerId === event.pointerId) {
36
+ outsideClosePointerRef.current = pointer.updateOutsideClosePointerState(
37
+ outsideClosePointer,
38
+ {
39
+ clientX: event.clientX,
40
+ clientY: event.clientY
41
+ }
42
+ );
43
+ }
44
+ onZoomPointerMove(event);
45
+ },
46
+ [onZoomPointerMove]
47
+ );
48
+ const handleSlidePointerUp = React.useCallback(
49
+ (event) => {
50
+ onZoomPointerEnd(event);
51
+ const outsideClosePointer = outsideClosePointerRef.current;
52
+ if (!outsideClosePointer || outsideClosePointer.pointerId !== event.pointerId) {
53
+ return;
54
+ }
55
+ const finalizedPointer = pointer.updateOutsideClosePointerState(
56
+ outsideClosePointer,
57
+ {
58
+ clientX: event.clientX,
59
+ clientY: event.clientY
60
+ }
61
+ );
62
+ outsideClosePointerRef.current = null;
63
+ if (pointer.shouldCloseFromOutsidePointerState(finalizedPointer)) {
64
+ onClose();
65
+ }
66
+ },
67
+ [onClose, onZoomPointerEnd]
68
+ );
69
+ const handleSlidePointerCancel = React.useCallback(
70
+ (event) => {
71
+ outsideClosePointerRef.current = null;
72
+ onZoomPointerEnd(event);
73
+ },
74
+ [onZoomPointerEnd]
75
+ );
76
+ const handleSlideLoadCapture = React.useCallback(
77
+ (event) => {
78
+ if (event.target instanceof HTMLImageElement) {
79
+ updateCanZoomAvailability();
80
+ }
81
+ },
82
+ [updateCanZoomAvailability]
83
+ );
84
+ return {
85
+ handleSlidePointerDown,
86
+ handleSlidePointerMove,
87
+ handleSlidePointerUp,
88
+ handleSlidePointerCancel,
89
+ handleSlideLoadCapture
90
+ };
91
+ }
92
+
93
+ exports.useSlideInteractions = useSlideInteractions;
94
+ //# sourceMappingURL=useSlideInteractions.cjs.map