@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":"zoom.mjs","sources":["../../../src/utils/zoom.ts"],"sourcesContent":["/** Pixel offset representing a translation applied to a zoomed image. */\nexport interface ZoomOffset {\n\t/** Horizontal translation in pixels. */\n\tx: number;\n\t/** Vertical translation in pixels. */\n\ty: number;\n}\n\n/** Default zoom scale applied when zooming in on an image. */\nexport const DEFAULT_ZOOM_SCALE = 2;\n\n/** Zero-offset value representing no translation on a zoomed image. */\nexport const ZERO_ZOOM_OFFSET: ZoomOffset = { x: 0, y: 0 };\n\ninterface ClampZoomOffsetInput {\n\tcontainerWidth: number;\n\tcontainerHeight: number;\n\timageWidth: number;\n\timageHeight: number;\n\tzoomScale: number;\n\tnextX: number;\n\tnextY: number;\n}\n\ninterface InitialZoomOffsetInput {\n\tcontainerRect: DOMRect;\n\timageRect: DOMRect;\n\tzoomScale: number;\n\tpointerClientX: number;\n\tpointerClientY: number;\n}\n\n/**\n * Clamps a proposed zoom pan offset so the image cannot be panned beyond its\n * edges relative to the container at the given zoom scale.\n */\nexport const clampZoomOffset = ({\n\tcontainerWidth,\n\tcontainerHeight,\n\timageWidth,\n\timageHeight,\n\tzoomScale,\n\tnextX,\n\tnextY,\n}: ClampZoomOffsetInput): ZoomOffset => {\n\tconst scaledWidth = imageWidth * zoomScale;\n\tconst scaledHeight = imageHeight * zoomScale;\n\tconst maxX = Math.max(0, (scaledWidth - containerWidth) / 2);\n\tconst maxY = Math.max(0, (scaledHeight - containerHeight) / 2);\n\n\treturn {\n\t\tx: Math.min(Math.max(nextX, -maxX), maxX),\n\t\ty: Math.min(Math.max(nextY, -maxY), maxY),\n\t};\n};\n\n/**\n * Calculates the initial pan offset when zooming so the clicked/tapped point\n * moves toward the viewport center, then clamps it to valid pan bounds.\n */\nexport const getInitialZoomOffset = ({\n\tcontainerRect,\n\timageRect,\n\tzoomScale,\n\tpointerClientX,\n\tpointerClientY,\n}: InitialZoomOffsetInput): ZoomOffset => {\n\tconst centerX = containerRect.left + containerRect.width / 2;\n\tconst centerY = containerRect.top + containerRect.height / 2;\n\tconst rawOffsetX = -(pointerClientX - centerX) * zoomScale;\n\tconst rawOffsetY = -(pointerClientY - centerY) * zoomScale;\n\n\treturn clampZoomOffset({\n\t\tcontainerWidth: containerRect.width,\n\t\tcontainerHeight: containerRect.height,\n\t\timageWidth: imageRect.width,\n\t\timageHeight: imageRect.height,\n\t\tzoomScale,\n\t\tnextX: rawOffsetX,\n\t\tnextY: rawOffsetY,\n\t});\n};\n\n/**\n * Returns a CSS `transform` string that applies the zoom pan offset and scale.\n * When not zoomed, returns identity values regardless of the stored offset.\n */\nexport const getZoomTransform = ({\n\tisZoomed,\n\toffset,\n\tscale,\n}: {\n\tisZoomed: boolean;\n\toffset: ZoomOffset;\n\tscale: number;\n}) =>\n\t`translate(${isZoomed ? offset.x : 0}px, ${isZoomed ? offset.y : 0}px) scale(${\n\t\tisZoomed ? scale : 1\n\t})`;\n\nconst RESOLUTION_EPSILON = 1.01;\n\nconst getImageMeasurements = (image: HTMLImageElement) => {\n\tconst rect = image.getBoundingClientRect();\n\treturn {\n\t\tnaturalWidth: image.naturalWidth,\n\t\tnaturalHeight: image.naturalHeight,\n\t\trenderedWidth: rect.width,\n\t\trenderedHeight: rect.height,\n\t};\n};\n\n/**\n * Returns the maximum zoom scale at which the image would still be rendered at\n * its native resolution (1:1 pixel ratio). Falls back to `DEFAULT_ZOOM_SCALE`\n * when image dimensions are unavailable.\n */\nexport const getImageMaxZoomScale = (image: HTMLImageElement) => {\n\tconst { naturalWidth, naturalHeight, renderedWidth, renderedHeight } =\n\t\tgetImageMeasurements(image);\n\n\tif (!naturalWidth || !naturalHeight || !renderedWidth || !renderedHeight) {\n\t\treturn DEFAULT_ZOOM_SCALE;\n\t}\n\n\treturn Math.min(naturalWidth / renderedWidth, naturalHeight / renderedHeight);\n};\n\n/**\n * Calculates the zoom scale that should be applied when the user triggers a\n * zoom action. Prefers a scale that fills the container viewport; falls back to\n * the native-resolution scale or `DEFAULT_ZOOM_SCALE` when the image is small.\n */\nexport const getTargetZoomScale = ({\n\timage,\n\tcontainerWidth,\n\tcontainerHeight,\n}: {\n\timage: HTMLImageElement;\n\tcontainerWidth: number;\n\tcontainerHeight: number;\n}) => {\n\tconst { renderedWidth, renderedHeight } = getImageMeasurements(image);\n\tconst fillWidthScale =\n\t\trenderedWidth > 0 ? containerWidth / renderedWidth : DEFAULT_ZOOM_SCALE;\n\tconst fillHeightScale =\n\t\trenderedHeight > 0 ? containerHeight / renderedHeight : DEFAULT_ZOOM_SCALE;\n\tconst fillViewportScale = Math.max(fillWidthScale, fillHeightScale);\n\tconst maxZoomScale = getImageMaxZoomScale(image);\n\tconst fallbackStepScale = Math.min(maxZoomScale, DEFAULT_ZOOM_SCALE);\n\tconst targetScale =\n\t\tfillViewportScale > 1 ? fillViewportScale : fallbackStepScale;\n\n\treturn Math.max(1, Math.min(maxZoomScale, targetScale));\n};\n\n/**\n * Returns `true` if the image has sufficient resolution to be meaningfully\n * zoomed (i.e. its max zoom scale exceeds the resolution epsilon threshold).\n */\nexport const canZoomImageElement = (image: HTMLImageElement) =>\n\tgetImageMaxZoomScale(image) > RESOLUTION_EPSILON;\n"],"names":[],"mappings":"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"}
package/dist/styles.css CHANGED
@@ -1 +1 @@
1
- .me_4f1afa9a{color:var(--lightbox-color);display:flex;flex-direction:column;height:100vh;position:relative;width:100vw}.me_f5ce649a{flex:1;min-height:0;overflow:hidden}.me_9450faf9{align-items:center;display:flex;height:100%;justify-content:center;line-height:1}.me_9450faf9 img{max-height:100%;max-width:100%;object-fit:contain}.me_fe5b16c3{right:var(--mantine-spacing-md)}.me_7b66e144,.me_fe5b16c3{position:absolute;top:var(--mantine-spacing-md);z-index:1}.me_7b66e144{font-weight:500;left:var(--mantine-spacing-md);user-select:none}.me_7b06f0a5,.me_7b66e144{color:var(--lightbox-color)}.me_7b06f0a5{bottom:0;height:fit-content;margin:auto;position:absolute;top:0;z-index:1}.me_7b06f0a5[data-position=previous]{left:var(--mantine-spacing-md)}.me_7b06f0a5[data-position=next]{right:var(--mantine-spacing-md)}.me_411d1cbf{display:flex;gap:var(--mantine-spacing-xs);justify-content:center;overflow-x:auto;padding:var(--mantine-spacing-md)}.me_a9abc686{border:2px solid transparent;border-radius:var(--lightbox-thumbnail-radius);cursor:pointer;flex-shrink:0;font-size:0;height:var(--lightbox-thumbnail-size);line-height:1;opacity:.5;overflow:hidden;transition:opacity .15s ease,border-color .15s ease;width:var(--lightbox-thumbnail-size)}.me_a9abc686 img{display:block;height:100%;object-fit:cover;width:100%}.me_a9abc686[data-active]{border-color:var(--lightbox-thumbnail-highlight);opacity:1}.me_ff615a9f{align-items:center;background-color:var(--mantine-color-dark-4);color:var(--mantine-color-dark-1);display:flex;height:100%;justify-content:center;width:100%}
1
+ .me_4f1afa9a{color:var(--mantine-color-white);display:flex;flex-direction:column;height:100dvh;inset:0;position:fixed;width:100dvw;z-index:200}.me_f5ce649a{flex:1;min-height:0;overflow:hidden;position:relative}.me_7f838760{height:100%;overflow:hidden}.me_b5439507{display:flex;height:100%}.me_4f1afa9a[data-orientation=vertical] .me_b5439507{flex-direction:column}.me_7b06f0a5{align-items:center;background-color:var(--mantine-color-white);border-radius:var(--lightbox-control-size);display:flex;justify-content:center;min-height:var(--lightbox-control-size);min-width:var(--lightbox-control-size);pointer-events:all;position:absolute;top:calc(50% - var(--lightbox-thumbnails-height, 0px)/2);transform:translateY(-50%);z-index:1}[data-mantine-color-scheme=dark] .me_7b06f0a5{background-color:var(--mantine-color-dark-5)}.me_7b06f0a5{color:var(--mantine-color-black)}[data-mantine-color-scheme=dark] .me_7b06f0a5{color:var(--mantine-color-white)}.me_7b06f0a5{border:1px solid var(--mantine-color-gray-3);box-shadow:var(--mantine-shadow-md)}[data-mantine-color-scheme=dark] .me_7b06f0a5{border:1px solid var(--mantine-color-dark-4)}.me_7b06f0a5{transition:background-color .1s ease,border-color .1s ease}@media (hover:hover){.me_7b06f0a5:hover{background-color:var(--mantine-color-gray-1)}[data-mantine-color-scheme=dark] .me_7b06f0a5:hover{background-color:var(--mantine-color-dark-4)}.me_7b06f0a5:hover{border-color:var(--mantine-color-gray-4)}[data-mantine-color-scheme=dark] .me_7b06f0a5:hover{border-color:var(--mantine-color-dark-3)}}@media (hover:none){.me_7b06f0a5:active{background-color:var(--mantine-color-gray-1)}[data-mantine-color-scheme=dark] .me_7b06f0a5:active{background-color:var(--mantine-color-dark-4)}.me_7b06f0a5:active{border-color:var(--mantine-color-gray-4)}[data-mantine-color-scheme=dark] .me_7b06f0a5:active{border-color:var(--mantine-color-dark-3)}}.me_7b06f0a5[data-direction=prev]{left:var(--mantine-spacing-md)}.me_7b06f0a5[data-direction=next]{right:var(--mantine-spacing-md)}.me_4f1afa9a[data-orientation=vertical] .me_7b06f0a5[data-direction=prev]{left:50%;right:auto;top:var(--mantine-spacing-md);transform:translateX(-50%)}.me_4f1afa9a[data-orientation=vertical] .me_7b06f0a5[data-direction=next]{inset:auto auto calc(var(--mantine-spacing-md) + var(--lightbox-thumbnails-height, 0px)) 50%;transform:translateX(-50%)}.me_9450faf9{flex:0 0 100%;height:100%;line-height:1}.me_411d1cbf{max-width:100%;padding:var(--mantine-spacing-md)}.me_3a7e4a85{overflow:hidden;width:100%}.me_59a13682{align-items:stretch;display:flex;justify-content:center}.me_59a13682[data-overflow]{justify-content:flex-start}.me_3be82a34{flex:0 0 auto;margin-right:var(--mantine-spacing-xs)}.me_3be82a34:last-child{margin-right:0}.me_a9abc686{border:2px solid transparent;border-radius:var(--mantine-radius-sm);cursor:pointer;flex-shrink:0;font-size:0;height:76px;line-height:1;opacity:.5;overflow:hidden;position:relative;transition:opacity .15s ease,border-color .15s ease;width:94px}.me_a9abc686 img{height:100%;max-height:100%;max-width:100%;object-fit:cover;width:100%}.me_a9abc686[aria-current]{border-color:var(--mantine-primary-color-filled);opacity:1}.me_dfd5db36{align-items:center;display:flex;height:100%;justify-content:center;line-height:1;overflow:hidden;width:100%}.me_dfd5db36 img{height:auto;max-height:100%;max-width:100%;object-fit:contain;width:auto}.me_dfd5db36[data-zoom-enabled] img{cursor:zoom-in}.me_dfd5db36[data-zoom-enabled][data-zoomed] img{cursor:zoom-out}.me_dfd5db36[data-zoom-enabled][data-can-zoom=false] img{cursor:default}.me_2ed9ec6e{align-items:center;display:flex;height:100%;justify-content:center;transform-origin:center;transition:transform .15s ease;width:100%;will-change:transform}.me_dfd5db36[data-dragging] .me_2ed9ec6e{transition:none}.me_fe5b16c3{right:var(--mantine-spacing-md)}.me_7b66e144,.me_fe5b16c3{position:absolute;top:var(--mantine-spacing-md);z-index:1}.me_7b66e144{color:var(--mantine-color-white);font-weight:500;left:var(--mantine-spacing-md);user-select:none}
@@ -1 +1 @@
1
- @layer mantine {.me_4f1afa9a{color:var(--lightbox-color);display:flex;flex-direction:column;height:100vh;position:relative;width:100vw}.me_f5ce649a{flex:1;min-height:0;overflow:hidden}.me_9450faf9{align-items:center;display:flex;height:100%;justify-content:center;line-height:1}.me_9450faf9 img{max-height:100%;max-width:100%;object-fit:contain}.me_fe5b16c3{right:var(--mantine-spacing-md)}.me_7b66e144,.me_fe5b16c3{position:absolute;top:var(--mantine-spacing-md);z-index:1}.me_7b66e144{font-weight:500;left:var(--mantine-spacing-md);user-select:none}.me_7b06f0a5,.me_7b66e144{color:var(--lightbox-color)}.me_7b06f0a5{bottom:0;height:fit-content;margin:auto;position:absolute;top:0;z-index:1}.me_7b06f0a5[data-position=previous]{left:var(--mantine-spacing-md)}.me_7b06f0a5[data-position=next]{right:var(--mantine-spacing-md)}.me_411d1cbf{display:flex;gap:var(--mantine-spacing-xs);justify-content:center;overflow-x:auto;padding:var(--mantine-spacing-md)}.me_a9abc686{border:2px solid transparent;border-radius:var(--lightbox-thumbnail-radius);cursor:pointer;flex-shrink:0;font-size:0;height:var(--lightbox-thumbnail-size);line-height:1;opacity:.5;overflow:hidden;transition:opacity .15s ease,border-color .15s ease;width:var(--lightbox-thumbnail-size)}.me_a9abc686 img{display:block;height:100%;object-fit:cover;width:100%}.me_a9abc686[data-active]{border-color:var(--lightbox-thumbnail-highlight);opacity:1}.me_ff615a9f{align-items:center;background-color:var(--mantine-color-dark-4);color:var(--mantine-color-dark-1);display:flex;height:100%;justify-content:center;width:100%}}
1
+ @layer mantine {.me_4f1afa9a{color:var(--mantine-color-white);display:flex;flex-direction:column;height:100dvh;inset:0;position:fixed;width:100dvw;z-index:200}.me_f5ce649a{flex:1;min-height:0;overflow:hidden;position:relative}.me_7f838760{height:100%;overflow:hidden}.me_b5439507{display:flex;height:100%}.me_4f1afa9a[data-orientation=vertical] .me_b5439507{flex-direction:column}.me_7b06f0a5{align-items:center;background-color:var(--mantine-color-white);border-radius:var(--lightbox-control-size);display:flex;justify-content:center;min-height:var(--lightbox-control-size);min-width:var(--lightbox-control-size);pointer-events:all;position:absolute;top:calc(50% - var(--lightbox-thumbnails-height, 0px)/2);transform:translateY(-50%);z-index:1}[data-mantine-color-scheme=dark] .me_7b06f0a5{background-color:var(--mantine-color-dark-5)}.me_7b06f0a5{color:var(--mantine-color-black)}[data-mantine-color-scheme=dark] .me_7b06f0a5{color:var(--mantine-color-white)}.me_7b06f0a5{border:1px solid var(--mantine-color-gray-3);box-shadow:var(--mantine-shadow-md)}[data-mantine-color-scheme=dark] .me_7b06f0a5{border:1px solid var(--mantine-color-dark-4)}.me_7b06f0a5{transition:background-color .1s ease,border-color .1s ease}@media (hover:hover){.me_7b06f0a5:hover{background-color:var(--mantine-color-gray-1)}[data-mantine-color-scheme=dark] .me_7b06f0a5:hover{background-color:var(--mantine-color-dark-4)}.me_7b06f0a5:hover{border-color:var(--mantine-color-gray-4)}[data-mantine-color-scheme=dark] .me_7b06f0a5:hover{border-color:var(--mantine-color-dark-3)}}@media (hover:none){.me_7b06f0a5:active{background-color:var(--mantine-color-gray-1)}[data-mantine-color-scheme=dark] .me_7b06f0a5:active{background-color:var(--mantine-color-dark-4)}.me_7b06f0a5:active{border-color:var(--mantine-color-gray-4)}[data-mantine-color-scheme=dark] .me_7b06f0a5:active{border-color:var(--mantine-color-dark-3)}}.me_7b06f0a5[data-direction=prev]{left:var(--mantine-spacing-md)}.me_7b06f0a5[data-direction=next]{right:var(--mantine-spacing-md)}.me_4f1afa9a[data-orientation=vertical] .me_7b06f0a5[data-direction=prev]{left:50%;right:auto;top:var(--mantine-spacing-md);transform:translateX(-50%)}.me_4f1afa9a[data-orientation=vertical] .me_7b06f0a5[data-direction=next]{inset:auto auto calc(var(--mantine-spacing-md) + var(--lightbox-thumbnails-height, 0px)) 50%;transform:translateX(-50%)}.me_9450faf9{flex:0 0 100%;height:100%;line-height:1}.me_411d1cbf{max-width:100%;padding:var(--mantine-spacing-md)}.me_3a7e4a85{overflow:hidden;width:100%}.me_59a13682{align-items:stretch;display:flex;justify-content:center}.me_59a13682[data-overflow]{justify-content:flex-start}.me_3be82a34{flex:0 0 auto;margin-right:var(--mantine-spacing-xs)}.me_3be82a34:last-child{margin-right:0}.me_a9abc686{border:2px solid transparent;border-radius:var(--mantine-radius-sm);cursor:pointer;flex-shrink:0;font-size:0;height:76px;line-height:1;opacity:.5;overflow:hidden;position:relative;transition:opacity .15s ease,border-color .15s ease;width:94px}.me_a9abc686 img{height:100%;max-height:100%;max-width:100%;object-fit:cover;width:100%}.me_a9abc686[aria-current]{border-color:var(--mantine-primary-color-filled);opacity:1}.me_dfd5db36{align-items:center;display:flex;height:100%;justify-content:center;line-height:1;overflow:hidden;width:100%}.me_dfd5db36 img{height:auto;max-height:100%;max-width:100%;object-fit:contain;width:auto}.me_dfd5db36[data-zoom-enabled] img{cursor:zoom-in}.me_dfd5db36[data-zoom-enabled][data-zoomed] img{cursor:zoom-out}.me_dfd5db36[data-zoom-enabled][data-can-zoom=false] img{cursor:default}.me_2ed9ec6e{align-items:center;display:flex;height:100%;justify-content:center;transform-origin:center;transition:transform .15s ease;width:100%;will-change:transform}.me_dfd5db36[data-dragging] .me_2ed9ec6e{transition:none}.me_fe5b16c3{right:var(--mantine-spacing-md)}.me_7b66e144,.me_fe5b16c3{position:absolute;top:var(--mantine-spacing-md);z-index:1}.me_7b66e144{color:var(--mantine-color-white);font-weight:500;left:var(--mantine-spacing-md);user-select:none}}
@@ -0,0 +1,16 @@
1
+ import type { GetStylesApi, OverlayProps } from "@mantine/core";
2
+ import type { CSSProperties } from "react";
3
+ import type { UseLightboxOutput } from "./hooks/useLightbox.js";
4
+ import type { LightboxContext } from "./Lightbox.context.js";
5
+ import type { LightboxFactory } from "./Lightbox.js";
6
+ interface BuildLightboxContextValueInput {
7
+ getStyles: GetStylesApi<LightboxFactory>;
8
+ transitionStyles: CSSProperties;
9
+ overlayProps: OverlayProps;
10
+ onClose: () => void;
11
+ withZoom: boolean | undefined;
12
+ lightbox: UseLightboxOutput;
13
+ }
14
+ export declare function buildLightboxContextValue({ getStyles, transitionStyles, overlayProps, onClose, withZoom, lightbox, }: BuildLightboxContextValueInput): LightboxContext;
15
+ export {};
16
+ //# sourceMappingURL=Lightbox.context-value.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Lightbox.context-value.d.ts","sourceRoot":"","sources":["../../src/Lightbox.context-value.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,UAAU,8BAA8B;IACvC,SAAS,EAAE,YAAY,CAAC,eAAe,CAAC,CAAC;IACzC,gBAAgB,EAAE,aAAa,CAAC;IAChC,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,QAAQ,EAAE,iBAAiB,CAAC;CAC5B;AAED,wBAAgB,yBAAyB,CAAC,EACzC,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,QAAQ,GACR,EAAE,8BAA8B,GAAG,eAAe,CAiClD"}
@@ -1,7 +1,36 @@
1
1
  import { type GetStylesApi } from "@mantine/core";
2
+ import type { EmblaCarouselType } from "embla-carousel";
3
+ import type { PointerEvent as ReactPointerEvent, RefObject } from "react";
2
4
  import type { LightboxFactory } from "./Lightbox.js";
5
+ import type { ZoomOffset } from "./utils/zoom.js";
3
6
  export interface LightboxContext {
4
7
  getStyles: GetStylesApi<LightboxFactory>;
8
+ opened: boolean;
9
+ currentIndex: number;
10
+ slideCount: number | null;
11
+ slidesEmblaRef: RefObject<EmblaCarouselType | null>;
12
+ thumbnailsEmblaRef: RefObject<EmblaCarouselType | null>;
13
+ setCurrentIndex: (index: number) => void;
14
+ setSlideCount: (count: number | null) => void;
15
+ onClose: () => void;
16
+ onOutsideClick: () => void;
17
+ onThumbnailClick: (index: number) => void;
18
+ onScrollPrev: () => void;
19
+ onScrollNext: () => void;
20
+ orientation: "horizontal" | "vertical";
21
+ withZoom: boolean;
22
+ isZoomed: boolean;
23
+ isZoomedRef: RefObject<boolean>;
24
+ isDraggingZoom: boolean;
25
+ canZoomCurrent: boolean;
26
+ zoomOffset: ZoomOffset;
27
+ zoomScale: number;
28
+ activeZoomContainerRef: RefObject<HTMLDivElement | null>;
29
+ toggleZoom: () => void;
30
+ updateCanZoomAvailability: () => void;
31
+ handleZoomPointerDown: (event: ReactPointerEvent<HTMLDivElement>) => void;
32
+ handleZoomPointerMove: (event: ReactPointerEvent<HTMLDivElement>) => void;
33
+ handleZoomPointerEnd: (event: ReactPointerEvent<HTMLDivElement>) => void;
5
34
  }
6
35
  export declare const LightboxProvider: ({ children, value }: {
7
36
  value: LightboxContext;
@@ -1 +1 @@
1
- {"version":3,"file":"Lightbox.context.d.ts","sourceRoot":"","sources":["../../src/Lightbox.context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,MAAM,WAAW,eAAe;IAC/B,SAAS,EAAE,YAAY,CAAC,eAAe,CAAC,CAAC;CACzC;AAED,eAAO,MAAO,gBAAgB;;;+CAAE,kBAAkB,uBAGhD,CAAC"}
1
+ {"version":3,"file":"Lightbox.context.d.ts","sourceRoot":"","sources":["../../src/Lightbox.context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,IAAI,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,WAAW,eAAe;IAC/B,SAAS,EAAE,YAAY,CAAC,eAAe,CAAC,CAAC;IACzC,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,EAAE,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IACpD,kBAAkB,EAAE,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IACxD,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,WAAW,EAAE,YAAY,GAAG,UAAU,CAAC;IAEvC,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAChC,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACzD,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,yBAAyB,EAAE,MAAM,IAAI,CAAC;IACtC,qBAAqB,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IAC1E,qBAAqB,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IAC1E,oBAAoB,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;CACzE;AAED,eAAO,MAAO,gBAAgB;;;+CAAE,kBAAkB,uBAGhD,CAAC"}
@@ -1,56 +1,74 @@
1
- import { type BoxProps, type ElementProps, type Factory, type StylesApiProps } from "@mantine/core";
2
- import { type ReactNode } from "react";
3
- import { LightboxSlide } from "./LightboxSlide.js";
4
- export type LightboxStylesNames = "root" | "slides" | "slide" | "toolbar" | "closeButton" | "control" | "counter" | "thumbnails" | "thumbnailButton" | "thumbnailPlaceholder";
5
- export type LightboxCssVariables = {
6
- root: "--lightbox-color" | "--lightbox-thumbnail-size" | "--lightbox-thumbnail-radius" | "--lightbox-thumbnail-highlight";
7
- };
8
- export interface LightboxProps extends BoxProps, StylesApiProps<LightboxFactory>, ElementProps<"div", "onChange"> {
9
- /** Controls lightbox visibility */
10
- opened: boolean;
11
- /** Called when lightbox should close */
12
- onClose: () => void;
13
- /** Initial slide index, `0` by default */
14
- initialSlide?: number;
15
- /** Called when active slide changes */
16
- onSlideChange?: (index: number) => void;
17
- /** Whether navigation wraps around, `true` by default */
18
- loop?: boolean;
19
- /** Show prev/next arrow controls, `true` by default */
1
+ import { type Factory } from "@mantine/core";
2
+ import { LightboxAutoplayButton } from "./components/LightboxAutoplayButton.js";
3
+ import { LightboxCloseButton } from "./components/LightboxCloseButton.js";
4
+ import { LightboxControls, type LightboxControlsProps } from "./components/LightboxControls.js";
5
+ import { LightboxCounter, type LightboxCounterProps } from "./components/LightboxCounter.js";
6
+ import { LightboxFullscreenButton } from "./components/LightboxFullscreenButton.js";
7
+ import { LightboxRoot, type LightboxRootProps } from "./components/LightboxRoot.js";
8
+ import { LightboxSlide } from "./components/LightboxSlide.js";
9
+ import { LightboxSlides, type LightboxSlidesProps } from "./components/LightboxSlides.js";
10
+ import { LightboxThumbnail } from "./components/LightboxThumbnail.js";
11
+ import { LightboxThumbnails, type LightboxThumbnailsProps } from "./components/LightboxThumbnails.js";
12
+ import { LightboxToolbar } from "./components/LightboxToolbar.js";
13
+ import { LightboxZoomButton } from "./components/LightboxZoomButton.js";
14
+ export interface LightboxImageData {
15
+ src: string;
16
+ alt?: string;
17
+ }
18
+ export interface LightboxProps extends Omit<LightboxRootProps, "children"> {
19
+ /** Array of images to display */
20
+ images: LightboxImageData[];
21
+ /** Show toolbar (zoom, fullscreen, close buttons), `true` by default */
22
+ withToolbar?: boolean;
23
+ /** Show prev/next navigation controls, `true` by default */
20
24
  withControls?: boolean;
21
25
  /** Show thumbnail strip, `true` by default */
22
26
  withThumbnails?: boolean;
23
27
  /** Show slide counter, `true` by default */
24
28
  withCounter?: boolean;
25
- /** Enable zoom (WIP), `true` by default */
26
- withZoom?: boolean;
27
- /** Enable fullscreen (WIP), `true` by default */
28
- withFullscreen?: boolean;
29
- /** Enable autoplay (WIP), `true` by default */
30
- withAutoPlay?: boolean;
31
- /** Custom counter format function, default: `"1 / 3"` */
32
- counterFormatter?: (index: number, total: number) => string;
33
- /** Custom previous control icon */
34
- previousControlIcon?: ReactNode;
35
- /** Custom next control icon */
36
- nextControlIcon?: ReactNode;
29
+ /** Props passed to the slides carousel (`LightboxSlides`) */
30
+ slidesProps?: Pick<LightboxSlidesProps, "initialSlide" | "emblaOptions" | "emblaPlugins">;
31
+ /** Props passed to the thumbnails carousel (`LightboxThumbnails`) */
32
+ thumbnailsProps?: Pick<LightboxThumbnailsProps, "emblaOptions">;
33
+ /** Props passed to the prev/next controls (`LightboxControls`) */
34
+ controlsProps?: Pick<LightboxControlsProps, "size">;
35
+ /** Props passed to the slide counter (`LightboxCounter`) */
36
+ counterProps?: Pick<LightboxCounterProps, "formatter">;
37
37
  }
38
38
  export type LightboxFactory = Factory<{
39
39
  props: LightboxProps;
40
40
  ref: HTMLDivElement;
41
- stylesNames: LightboxStylesNames;
42
- vars: LightboxCssVariables;
43
41
  staticComponents: {
42
+ Root: typeof LightboxRoot;
43
+ Toolbar: typeof LightboxToolbar;
44
+ Counter: typeof LightboxCounter;
45
+ Controls: typeof LightboxControls;
46
+ Slides: typeof LightboxSlides;
44
47
  Slide: typeof LightboxSlide;
48
+ Thumbnails: typeof LightboxThumbnails;
49
+ Thumbnail: typeof LightboxThumbnail;
50
+ CloseButton: typeof LightboxCloseButton;
51
+ ZoomButton: typeof LightboxZoomButton;
52
+ FullscreenButton: typeof LightboxFullscreenButton;
53
+ AutoplayButton: typeof LightboxAutoplayButton;
45
54
  };
46
55
  }>;
47
56
  export declare const Lightbox: import("@mantine/core").MantineComponent<{
48
57
  props: LightboxProps;
49
58
  ref: HTMLDivElement;
50
- stylesNames: LightboxStylesNames;
51
- vars: LightboxCssVariables;
52
59
  staticComponents: {
60
+ Root: typeof LightboxRoot;
61
+ Toolbar: typeof LightboxToolbar;
62
+ Counter: typeof LightboxCounter;
63
+ Controls: typeof LightboxControls;
64
+ Slides: typeof LightboxSlides;
53
65
  Slide: typeof LightboxSlide;
66
+ Thumbnails: typeof LightboxThumbnails;
67
+ Thumbnail: typeof LightboxThumbnail;
68
+ CloseButton: typeof LightboxCloseButton;
69
+ ZoomButton: typeof LightboxZoomButton;
70
+ FullscreenButton: typeof LightboxFullscreenButton;
71
+ AutoplayButton: typeof LightboxAutoplayButton;
54
72
  };
55
73
  }>;
56
74
  //# sourceMappingURL=Lightbox.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Lightbox.d.ts","sourceRoot":"","sources":["../../src/Lightbox.tsx"],"names":[],"mappings":"AACA,OAAO,EAGN,KAAK,QAAQ,EAGb,KAAK,YAAY,EACjB,KAAK,OAAO,EAGZ,KAAK,cAAc,EAKnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAGN,KAAK,SAAS,EAKd,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,MAAM,mBAAmB,GAC5B,MAAM,GACN,QAAQ,GACR,OAAO,GACP,SAAS,GACT,aAAa,GACb,SAAS,GACT,SAAS,GACT,YAAY,GACZ,iBAAiB,GACjB,sBAAsB,CAAC;AAE1B,MAAM,MAAM,oBAAoB,GAAG;IAClC,IAAI,EACD,kBAAkB,GAClB,2BAA2B,GAC3B,6BAA6B,GAC7B,gCAAgC,CAAC;CACpC,CAAC;AAEF,MAAM,WAAW,aAChB,SAAQ,QAAQ,EACf,cAAc,CAAC,eAAe,CAAC,EAC/B,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC;IAChC,mCAAmC;IACnC,MAAM,EAAE,OAAO,CAAC;IAEhB,wCAAwC;IACxC,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,uCAAuC;IACvC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAExC,yDAAyD;IACzD,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,uDAAuD;IACvD,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,8CAA8C;IAC9C,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,iDAAiD;IACjD,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,yDAAyD;IACzD,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAE5D,mCAAmC;IACnC,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAEhC,+BAA+B;IAC/B,eAAe,CAAC,EAAE,SAAS,CAAC;CAC5B;AAED,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC;IACrC,KAAK,EAAE,aAAa,CAAC;IACrB,GAAG,EAAE,cAAc,CAAC;IACpB,WAAW,EAAE,mBAAmB,CAAC;IACjC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,gBAAgB,EAAE;QACjB,KAAK,EAAE,OAAO,aAAa,CAAC;KAC5B,CAAC;CACF,CAAC,CAAC;AAsEH,eAAO,MAAM,QAAQ;WA7Eb,aAAa;SACf,cAAc;iBACN,mBAAmB;UAC1B,oBAAoB;sBACR;QACjB,KAAK,EAAE,OAAO,aAAa,CAAC;KAC5B;EAiSA,CAAC"}
1
+ {"version":3,"file":"Lightbox.d.ts","sourceRoot":"","sources":["../../src/Lightbox.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAqB,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EACN,gBAAgB,EAChB,KAAK,qBAAqB,EAC1B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACN,eAAe,EACf,KAAK,oBAAoB,EACzB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EACN,YAAY,EACZ,KAAK,iBAAiB,EACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EACN,cAAc,EACd,KAAK,mBAAmB,EACxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EACN,kBAAkB,EAClB,KAAK,uBAAuB,EAC5B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE,MAAM,WAAW,iBAAiB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC;IACzE,iCAAiC;IACjC,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,wEAAwE;IACxE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,4DAA4D;IAC5D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,8CAA8C;IAC9C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,IAAI,CACjB,mBAAmB,EACnB,cAAc,GAAG,cAAc,GAAG,cAAc,CAChD,CAAC;IACF,qEAAqE;IACrE,eAAe,CAAC,EAAE,IAAI,CAAC,uBAAuB,EAAE,cAAc,CAAC,CAAC;IAChE,kEAAkE;IAClE,aAAa,CAAC,EAAE,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IACpD,4DAA4D;IAC5D,YAAY,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;CACvD;AAED,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC;IACrC,KAAK,EAAE,aAAa,CAAC;IACrB,GAAG,EAAE,cAAc,CAAC;IACpB,gBAAgB,EAAE;QACjB,IAAI,EAAE,OAAO,YAAY,CAAC;QAC1B,OAAO,EAAE,OAAO,eAAe,CAAC;QAChC,OAAO,EAAE,OAAO,eAAe,CAAC;QAChC,QAAQ,EAAE,OAAO,gBAAgB,CAAC;QAClC,MAAM,EAAE,OAAO,cAAc,CAAC;QAC9B,KAAK,EAAE,OAAO,aAAa,CAAC;QAC5B,UAAU,EAAE,OAAO,kBAAkB,CAAC;QACtC,SAAS,EAAE,OAAO,iBAAiB,CAAC;QACpC,WAAW,EAAE,OAAO,mBAAmB,CAAC;QACxC,UAAU,EAAE,OAAO,kBAAkB,CAAC;QACtC,gBAAgB,EAAE,OAAO,wBAAwB,CAAC;QAClD,cAAc,EAAE,OAAO,sBAAsB,CAAC;KAC9C,CAAC;CACF,CAAC,CAAC;AASH,eAAO,MAAM,QAAQ;WAzBb,aAAa;SACf,cAAc;sBACD;QACjB,IAAI,EAAE,OAAO,YAAY,CAAC;QAC1B,OAAO,EAAE,OAAO,eAAe,CAAC;QAChC,OAAO,EAAE,OAAO,eAAe,CAAC;QAChC,QAAQ,EAAE,OAAO,gBAAgB,CAAC;QAClC,MAAM,EAAE,OAAO,cAAc,CAAC;QAC9B,KAAK,EAAE,OAAO,aAAa,CAAC;QAC5B,UAAU,EAAE,OAAO,kBAAkB,CAAC;QACtC,SAAS,EAAE,OAAO,iBAAiB,CAAC;QACpC,WAAW,EAAE,OAAO,mBAAmB,CAAC;QACxC,UAAU,EAAE,OAAO,kBAAkB,CAAC;QACtC,gBAAgB,EAAE,OAAO,wBAAwB,CAAC;QAClD,cAAc,EAAE,OAAO,sBAAsB,CAAC;KAC9C;EAiDA,CAAC"}
@@ -0,0 +1,24 @@
1
+ export declare const LIGHTBOX_DEFAULT_PROPS: {
2
+ readonly closeOnClickOutside: true;
3
+ readonly keepMounted: false;
4
+ readonly trapFocus: true;
5
+ readonly lockScroll: true;
6
+ readonly returnFocus: true;
7
+ readonly withinPortal: true;
8
+ readonly controlSize: 36;
9
+ readonly carouselOptions: {};
10
+ readonly thumbnailCarouselOptions: {
11
+ readonly dragFree: true;
12
+ };
13
+ readonly overlayProps: {
14
+ readonly fixed: true;
15
+ readonly backgroundOpacity: 0.9;
16
+ readonly color: "#18181B";
17
+ readonly zIndex: 200;
18
+ };
19
+ readonly transitionProps: {
20
+ readonly transition: "fade";
21
+ readonly duration: 250;
22
+ };
23
+ };
24
+ //# sourceMappingURL=Lightbox.defaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Lightbox.defaults.d.ts","sourceRoot":"","sources":["../../src/Lightbox.defaults.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;CAsBzB,CAAC"}
@@ -2,9 +2,9 @@ declare const _default: {
2
2
  title: string;
3
3
  };
4
4
  export default _default;
5
- export declare function FullExample(): import("react/jsx-runtime").JSX.Element;
6
- export declare function WithoutLoop(): import("react/jsx-runtime").JSX.Element;
7
- export declare function Minimal(): import("react/jsx-runtime").JSX.Element;
8
- export declare function WithPlaceholderThumbnails(): import("react/jsx-runtime").JSX.Element;
9
- export declare function WithCustomCounter(): import("react/jsx-runtime").JSX.Element;
5
+ export declare const Default: () => import("react/jsx-runtime").JSX.Element;
6
+ export declare const WithLoop: () => import("react/jsx-runtime").JSX.Element;
7
+ export declare const WithCustomCounter: () => import("react/jsx-runtime").JSX.Element;
8
+ export declare const Vertical: () => import("react/jsx-runtime").JSX.Element;
9
+ export declare const WithAutoplay: () => import("react/jsx-runtime").JSX.Element;
10
10
  //# sourceMappingURL=Lightbox.story.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Lightbox.story.d.ts","sourceRoot":"","sources":["../../src/Lightbox.story.tsx"],"names":[],"mappings":";;;AAIA,wBAAqC;AAUrC,wBAAgB,WAAW,4CAmB1B;AAED,wBAAgB,WAAW,4CAmB1B;AAED,wBAAgB,OAAO,4CA0BtB;AAED,wBAAgB,yBAAyB,4CAiDxC;AAED,wBAAgB,iBAAiB,4CAuBhC"}
1
+ {"version":3,"file":"Lightbox.story.d.ts","sourceRoot":"","sources":["../../src/Lightbox.story.tsx"],"names":[],"mappings":";;;AAWA,wBAAqC;AAgErC,eAAO,MAAM,OAAO,+CAenB,CAAC;AAEF,eAAO,MAAM,QAAQ,+CAiBpB,CAAC;AAEF,eAAO,MAAM,iBAAiB,+CAe7B,CAAC;AAEF,eAAO,MAAM,QAAQ,+CAepB,CAAC;AAEF,eAAO,MAAM,YAAY,+CAwBxB,CAAC"}
@@ -0,0 +1,8 @@
1
+ export interface LightboxSlideContext {
2
+ index: number;
3
+ }
4
+ export declare const LightboxSlideProvider: ({ children, value }: {
5
+ value: LightboxSlideContext;
6
+ children: React.ReactNode;
7
+ }) => import("react/jsx-runtime").JSX.Element, useLightboxSlideContext: () => LightboxSlideContext;
8
+ //# sourceMappingURL=LightboxSlide.context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LightboxSlide.context.d.ts","sourceRoot":"","sources":["../../src/LightboxSlide.context.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,oBAAoB;IACpC,KAAK,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAO,qBAAqB;;;+CAAE,uBAAuB,4BAG1D,CAAC"}
@@ -1,9 +1,6 @@
1
1
  import { type BoxProps, type CompoundStylesApiProps, type ElementProps, type Factory } from "@mantine/core";
2
- import type { ReactNode } from "react";
3
2
  export type LightboxSlideStylesNames = "slide";
4
3
  export interface LightboxSlideProps extends BoxProps, CompoundStylesApiProps<LightboxSlideFactory>, ElementProps<"div"> {
5
- /** Thumbnail content for this slide, shows a placeholder if omitted */
6
- thumbnail?: ReactNode;
7
4
  }
8
5
  export type LightboxSlideFactory = Factory<{
9
6
  props: LightboxSlideProps;
@@ -1 +1 @@
1
- {"version":3,"file":"LightboxSlide.d.ts","sourceRoot":"","sources":["../../src/LightboxSlide.tsx"],"names":[],"mappings":"AACA,OAAO,EACN,KAAK,QAAQ,EACb,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EACjB,KAAK,OAAO,EAGZ,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAAC;AAE/C,MAAM,WAAW,kBAChB,SAAQ,QAAQ,EACf,sBAAsB,CAAC,oBAAoB,CAAC,EAC5C,YAAY,CAAC,KAAK,CAAC;IACpB,uEAAuE;IACvE,SAAS,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC;IAC1C,KAAK,EAAE,kBAAkB,CAAC;IAC1B,GAAG,EAAE,cAAc,CAAC;IACpB,WAAW,EAAE,wBAAwB,CAAC;IACtC,QAAQ,EAAE,IAAI,CAAC;CACf,CAAC,CAAC;AAEH,eAAO,MAAM,aAAa;WANlB,kBAAkB;SACpB,cAAc;iBACN,wBAAwB;cAC3B,IAAI;EAgBb,CAAC"}
1
+ {"version":3,"file":"LightboxSlide.d.ts","sourceRoot":"","sources":["../../src/LightboxSlide.tsx"],"names":[],"mappings":"AACA,OAAO,EAEN,KAAK,QAAQ,EACb,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EACjB,KAAK,OAAO,EAGZ,MAAM,eAAe,CAAC;AAOvB,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAAC;AAE/C,MAAM,WAAW,kBAChB,SAAQ,QAAQ,EACf,sBAAsB,CAAC,oBAAoB,CAAC,EAC5C,YAAY,CAAC,KAAK,CAAC;CAAG;AAExB,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC;IAC1C,KAAK,EAAE,kBAAkB,CAAC;IAC1B,GAAG,EAAE,cAAc,CAAC;IACpB,WAAW,EAAE,wBAAwB,CAAC;IACtC,QAAQ,EAAE,IAAI,CAAC;CACf,CAAC,CAAC;AAEH,eAAO,MAAM,aAAa;WANlB,kBAAkB;SACpB,cAAc;iBACN,wBAAwB;cAC3B,IAAI;EAiFb,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Lightbox.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Lightbox.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/Lightbox.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=LightboxSimple.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LightboxSimple.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/LightboxSimple.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pointer.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pointer.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/pointer.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=zoom.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zoom.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/zoom.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import type { SVGProps } from "react";
2
+ export declare const EnterFullscreen: (props: SVGProps<SVGSVGElement>) => import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=EnterFullscreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnterFullscreen.d.ts","sourceRoot":"","sources":["../../../src/components/EnterFullscreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEtC,eAAO,MAAM,eAAe,GAAI,OAAO,QAAQ,CAAC,aAAa,CAAC,4CAmB7D,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { SVGProps } from "react";
2
+ export declare const ExitFullscreen: (props: SVGProps<SVGSVGElement>) => import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=ExitFullscreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExitFullscreen.d.ts","sourceRoot":"","sources":["../../../src/components/ExitFullscreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEtC,eAAO,MAAM,cAAc,GAAI,OAAO,QAAQ,CAAC,aAAa,CAAC,4CAmB5D,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { type BoxProps, type CompoundStylesApiProps, type ElementProps, type Factory } from "@mantine/core";
2
+ export type LightboxAutoplayButtonStylesNames = "autoplayButton";
3
+ export interface LightboxAutoplayButtonProps extends BoxProps, CompoundStylesApiProps<LightboxAutoplayButtonFactory>, ElementProps<"button"> {
4
+ }
5
+ export type LightboxAutoplayButtonFactory = Factory<{
6
+ props: LightboxAutoplayButtonProps;
7
+ ref: HTMLButtonElement;
8
+ stylesNames: LightboxAutoplayButtonStylesNames;
9
+ compound: true;
10
+ }>;
11
+ export declare const LightboxAutoplayButton: import("@mantine/core").MantineComponent<{
12
+ props: LightboxAutoplayButtonProps;
13
+ ref: HTMLButtonElement;
14
+ stylesNames: LightboxAutoplayButtonStylesNames;
15
+ compound: true;
16
+ }>;
17
+ //# sourceMappingURL=LightboxAutoplayButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LightboxAutoplayButton.d.ts","sourceRoot":"","sources":["../../../src/components/LightboxAutoplayButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,QAAQ,EACb,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EACjB,KAAK,OAAO,EAGZ,MAAM,eAAe,CAAC;AAMvB,MAAM,MAAM,iCAAiC,GAAG,gBAAgB,CAAC;AAEjE,MAAM,WAAW,2BAChB,SAAQ,QAAQ,EACf,sBAAsB,CAAC,6BAA6B,CAAC,EACrD,YAAY,CAAC,QAAQ,CAAC;CAAG;AAE3B,MAAM,MAAM,6BAA6B,GAAG,OAAO,CAAC;IACnD,KAAK,EAAE,2BAA2B,CAAC;IACnC,GAAG,EAAE,iBAAiB,CAAC;IACvB,WAAW,EAAE,iCAAiC,CAAC;IAC/C,QAAQ,EAAE,IAAI,CAAC;CACf,CAAC,CAAC;AAEH,eAAO,MAAM,sBAAsB;WAN3B,2BAA2B;SAC7B,iBAAiB;iBACT,iCAAiC;cACpC,IAAI;EAmCd,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { ReactNode } from "react";
2
+ export interface LightboxCarouselProps {
3
+ children?: ReactNode;
4
+ }
5
+ export declare function LightboxCarousel(props: LightboxCarouselProps): import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=LightboxCarousel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LightboxCarousel.d.ts","sourceRoot":"","sources":["../../../src/components/LightboxCarousel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,2CAoB5D"}
@@ -0,0 +1,10 @@
1
+ interface LightboxCarouselSlideContextValue {
2
+ index: number;
3
+ isActive: boolean;
4
+ }
5
+ export declare const LightboxCarouselSlideProvider: ({ children, value }: {
6
+ value: LightboxCarouselSlideContextValue;
7
+ children: React.ReactNode;
8
+ }) => import("react/jsx-runtime").JSX.Element, useLightboxCarouselSlideContext: () => LightboxCarouselSlideContextValue;
9
+ export {};
10
+ //# sourceMappingURL=LightboxCarouselSlide.context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LightboxCarouselSlide.context.d.ts","sourceRoot":"","sources":["../../../src/components/LightboxCarouselSlide.context.ts"],"names":[],"mappings":"AAEA,UAAU,iCAAiC;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;CAClB;AAED,eAAO,MAAO,6BAA6B;;;+CAAE,+BAA+B,yCAG1E,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { type BoxProps, type CompoundStylesApiProps, type ElementProps, type Factory } from "@mantine/core";
2
+ export type LightboxCloseButtonStylesNames = "closeButton";
3
+ export interface LightboxCloseButtonProps extends BoxProps, CompoundStylesApiProps<LightboxCloseButtonFactory>, ElementProps<"button"> {
4
+ }
5
+ export type LightboxCloseButtonFactory = Factory<{
6
+ props: LightboxCloseButtonProps;
7
+ ref: HTMLButtonElement;
8
+ stylesNames: LightboxCloseButtonStylesNames;
9
+ compound: true;
10
+ }>;
11
+ export declare const LightboxCloseButton: import("@mantine/core").MantineComponent<{
12
+ props: LightboxCloseButtonProps;
13
+ ref: HTMLButtonElement;
14
+ stylesNames: LightboxCloseButtonStylesNames;
15
+ compound: true;
16
+ }>;
17
+ //# sourceMappingURL=LightboxCloseButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LightboxCloseButton.d.ts","sourceRoot":"","sources":["../../../src/components/LightboxCloseButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,QAAQ,EAEb,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EACjB,KAAK,OAAO,EAGZ,MAAM,eAAe,CAAC;AAIvB,MAAM,MAAM,8BAA8B,GAAG,aAAa,CAAC;AAE3D,MAAM,WAAW,wBAChB,SAAQ,QAAQ,EACf,sBAAsB,CAAC,0BAA0B,CAAC,EAClD,YAAY,CAAC,QAAQ,CAAC;CAAG;AAE3B,MAAM,MAAM,0BAA0B,GAAG,OAAO,CAAC;IAChD,KAAK,EAAE,wBAAwB,CAAC;IAChC,GAAG,EAAE,iBAAiB,CAAC;IACvB,WAAW,EAAE,8BAA8B,CAAC;IAC5C,QAAQ,EAAE,IAAI,CAAC;CACf,CAAC,CAAC;AAEH,eAAO,MAAM,mBAAmB;WANxB,wBAAwB;SAC1B,iBAAiB;iBACT,8BAA8B;cACjC,IAAI;EAyBd,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { type BoxProps, type ElementProps, type TransitionOverride } from "@mantine/core";
2
+ import type { ReactNode } from "react";
3
+ export interface LightboxContentProps extends BoxProps, ElementProps<"div"> {
4
+ /**
5
+ * Transition applied to the content panel, merged with
6
+ * `{ transition: 'fade', duration: 250 }` by default.
7
+ * Note: `mounted` and `keepMounted` within `transitionProps` have no effect —
8
+ * they are controlled by `LightboxRoot`.
9
+ */
10
+ transitionProps?: TransitionOverride;
11
+ children?: ReactNode;
12
+ }
13
+ export declare function LightboxContent(_props: LightboxContentProps): import("react/jsx-runtime").JSX.Element;
14
+ //# sourceMappingURL=LightboxContent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LightboxContent.d.ts","sourceRoot":"","sources":["../../../src/components/LightboxContent.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,QAAQ,EACb,KAAK,YAAY,EAEjB,KAAK,kBAAkB,EAEvB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,MAAM,WAAW,oBAAqB,SAAQ,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC;IAC1E;;;;;OAKG;IACH,eAAe,CAAC,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACrB;AAMD,wBAAgB,eAAe,CAAC,MAAM,EAAE,oBAAoB,2CA4B3D"}
@@ -0,0 +1,19 @@
1
+ import { type CompoundStylesApiProps, type Factory } from "@mantine/core";
2
+ export type LightboxControlsStylesNames = "control";
3
+ export interface LightboxControlsProps extends CompoundStylesApiProps<LightboxControlsFactory> {
4
+ /** Size of the prev/next navigation buttons in px, `36` by default */
5
+ size?: number;
6
+ }
7
+ export type LightboxControlsFactory = Factory<{
8
+ props: LightboxControlsProps;
9
+ ref: HTMLElement;
10
+ stylesNames: LightboxControlsStylesNames;
11
+ compound: true;
12
+ }>;
13
+ export declare const LightboxControls: import("@mantine/core").MantineComponent<{
14
+ props: LightboxControlsProps;
15
+ ref: HTMLElement;
16
+ stylesNames: LightboxControlsStylesNames;
17
+ compound: true;
18
+ }>;
19
+ //# sourceMappingURL=LightboxControls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LightboxControls.d.ts","sourceRoot":"","sources":["../../../src/components/LightboxControls.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,sBAAsB,EAC3B,KAAK,OAAO,EAMZ,MAAM,eAAe,CAAC;AAIvB,MAAM,MAAM,2BAA2B,GAAG,SAAS,CAAC;AAEpD,MAAM,WAAW,qBAChB,SAAQ,sBAAsB,CAAC,uBAAuB,CAAC;IACvD,sEAAsE;IACtE,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAMD,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC;IAC7C,KAAK,EAAE,qBAAqB,CAAC;IAC7B,GAAG,EAAE,WAAW,CAAC;IACjB,WAAW,EAAE,2BAA2B,CAAC;IACzC,QAAQ,EAAE,IAAI,CAAC;CACf,CAAC,CAAC;AAEH,eAAO,MAAM,gBAAgB;WANrB,qBAAqB;SACvB,WAAW;iBACH,2BAA2B;cAC9B,IAAI;EAsDd,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { type BoxProps, type CompoundStylesApiProps, type Factory } from "@mantine/core";
2
+ export type LightboxCounterStylesNames = "counter";
3
+ export interface LightboxCounterProps extends BoxProps, CompoundStylesApiProps<LightboxCounterFactory> {
4
+ /** Custom formatter for the counter label, `(i, t) => \`${i + 1} / ${t}\`` by default */
5
+ formatter?: (index: number, total: number) => string;
6
+ }
7
+ export type LightboxCounterFactory = Factory<{
8
+ props: LightboxCounterProps;
9
+ ref: HTMLParagraphElement;
10
+ stylesNames: LightboxCounterStylesNames;
11
+ compound: true;
12
+ }>;
13
+ export declare const LightboxCounter: import("@mantine/core").MantineComponent<{
14
+ props: LightboxCounterProps;
15
+ ref: HTMLParagraphElement;
16
+ stylesNames: LightboxCounterStylesNames;
17
+ compound: true;
18
+ }>;
19
+ //# sourceMappingURL=LightboxCounter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LightboxCounter.d.ts","sourceRoot":"","sources":["../../../src/components/LightboxCounter.tsx"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,QAAQ,EACb,KAAK,sBAAsB,EAC3B,KAAK,OAAO,EAIZ,MAAM,eAAe,CAAC;AAIvB,MAAM,MAAM,0BAA0B,GAAG,SAAS,CAAC;AAEnD,MAAM,WAAW,oBAChB,SAAQ,QAAQ,EACf,sBAAsB,CAAC,sBAAsB,CAAC;IAC/C,yFAAyF;IACzF,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACrD;AAED,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAAC;IAC5C,KAAK,EAAE,oBAAoB,CAAC;IAC5B,GAAG,EAAE,oBAAoB,CAAC;IAC1B,WAAW,EAAE,0BAA0B,CAAC;IACxC,QAAQ,EAAE,IAAI,CAAC;CACf,CAAC,CAAC;AAEH,eAAO,MAAM,eAAe;WANpB,oBAAoB;SACtB,oBAAoB;iBACZ,0BAA0B;cAC7B,IAAI;EA+Bd,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { type BoxProps, type CompoundStylesApiProps, type ElementProps, type Factory } from "@mantine/core";
2
+ export type LightboxFullscreenButtonStylesNames = "fullscreenButton";
3
+ export interface LightboxFullscreenButtonProps extends BoxProps, CompoundStylesApiProps<LightboxFullscreenButtonFactory>, ElementProps<"button"> {
4
+ }
5
+ export type LightboxFullscreenButtonFactory = Factory<{
6
+ props: LightboxFullscreenButtonProps;
7
+ ref: HTMLButtonElement;
8
+ stylesNames: LightboxFullscreenButtonStylesNames;
9
+ compound: true;
10
+ }>;
11
+ export declare const LightboxFullscreenButton: import("@mantine/core").MantineComponent<{
12
+ props: LightboxFullscreenButtonProps;
13
+ ref: HTMLButtonElement;
14
+ stylesNames: LightboxFullscreenButtonStylesNames;
15
+ compound: true;
16
+ }>;
17
+ //# sourceMappingURL=LightboxFullscreenButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LightboxFullscreenButton.d.ts","sourceRoot":"","sources":["../../../src/components/LightboxFullscreenButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,QAAQ,EACb,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EACjB,KAAK,OAAO,EAGZ,MAAM,eAAe,CAAC;AAMvB,MAAM,MAAM,mCAAmC,GAAG,kBAAkB,CAAC;AAErE,MAAM,WAAW,6BAChB,SAAQ,QAAQ,EACf,sBAAsB,CAAC,+BAA+B,CAAC,EACvD,YAAY,CAAC,QAAQ,CAAC;CAAG;AAE3B,MAAM,MAAM,+BAA+B,GAAG,OAAO,CAAC;IACrD,KAAK,EAAE,6BAA6B,CAAC;IACrC,GAAG,EAAE,iBAAiB,CAAC;IACvB,WAAW,EAAE,mCAAmC,CAAC;IACjD,QAAQ,EAAE,IAAI,CAAC;CACf,CAAC,CAAC;AAEH,eAAO,MAAM,wBAAwB;WAN7B,6BAA6B;SAC/B,iBAAiB;iBACT,mCAAmC;cACtC,IAAI;EAkCZ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type OverlayProps } from "@mantine/core";
2
+ export type LightboxOverlayProps = OverlayProps;
3
+ export declare function LightboxOverlay(_props: LightboxOverlayProps): import("react/jsx-runtime").JSX.Element;
4
+ //# sourceMappingURL=LightboxOverlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LightboxOverlay.d.ts","sourceRoot":"","sources":["../../../src/components/LightboxOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,YAAY,EAGjB,MAAM,eAAe,CAAC;AAGvB,MAAM,MAAM,oBAAoB,GAAG,YAAY,CAAC;AAShD,wBAAgB,eAAe,CAAC,MAAM,EAAE,oBAAoB,2CAwB3D"}