@mantine-bites/lightbox 1.0.0-beta.9 → 1.1.0

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 (278) hide show
  1. package/README.md +8 -8
  2. package/dist/cjs/Lightbox.cjs +63 -201
  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 +3 -8
  8. package/dist/cjs/Lightbox.defaults.cjs.map +1 -1
  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/LightboxAutoplayButton.cjs +43 -0
  15. package/dist/cjs/components/LightboxAutoplayButton.cjs.map +1 -0
  16. package/dist/cjs/components/LightboxCarousel.cjs +29 -0
  17. package/dist/cjs/components/LightboxCarousel.cjs.map +1 -0
  18. package/dist/cjs/components/LightboxCarouselSlide.context.cjs +12 -0
  19. package/dist/cjs/components/LightboxCarouselSlide.context.cjs.map +1 -0
  20. package/dist/cjs/components/LightboxCloseButton.cjs +33 -0
  21. package/dist/cjs/components/LightboxCloseButton.cjs.map +1 -0
  22. package/dist/cjs/components/LightboxContent.cjs +38 -0
  23. package/dist/cjs/components/LightboxContent.cjs.map +1 -0
  24. package/dist/cjs/components/LightboxControls.cjs +68 -0
  25. package/dist/cjs/components/LightboxControls.cjs.map +1 -0
  26. package/dist/cjs/components/LightboxCounter.cjs +34 -0
  27. package/dist/cjs/components/LightboxCounter.cjs.map +1 -0
  28. package/dist/cjs/components/LightboxFullscreenButton.cjs +41 -0
  29. package/dist/cjs/components/LightboxFullscreenButton.cjs.map +1 -0
  30. package/dist/cjs/components/LightboxOverlay.cjs +40 -0
  31. package/dist/cjs/components/LightboxOverlay.cjs.map +1 -0
  32. package/dist/cjs/components/LightboxPreset.cjs +32 -0
  33. package/dist/cjs/components/LightboxPreset.cjs.map +1 -0
  34. package/dist/cjs/components/LightboxRoot.cjs +260 -0
  35. package/dist/cjs/components/LightboxRoot.cjs.map +1 -0
  36. package/dist/cjs/components/LightboxSlide.cjs +154 -0
  37. package/dist/cjs/components/LightboxSlide.cjs.map +1 -0
  38. package/dist/cjs/components/LightboxSlide.context.cjs +12 -0
  39. package/dist/cjs/components/LightboxSlide.context.cjs.map +1 -0
  40. package/dist/cjs/components/LightboxSlides.cjs +99 -77
  41. package/dist/cjs/components/LightboxSlides.cjs.map +1 -1
  42. package/dist/cjs/components/LightboxThumbnail.cjs +40 -0
  43. package/dist/cjs/components/LightboxThumbnail.cjs.map +1 -0
  44. package/dist/cjs/components/LightboxThumbnail.context.cjs +12 -0
  45. package/dist/cjs/components/LightboxThumbnail.context.cjs.map +1 -0
  46. package/dist/cjs/components/LightboxThumbnails.cjs +110 -32
  47. package/dist/cjs/components/LightboxThumbnails.cjs.map +1 -1
  48. package/dist/cjs/components/LightboxToolbar.cjs +83 -70
  49. package/dist/cjs/components/LightboxToolbar.cjs.map +1 -1
  50. package/dist/cjs/components/LightboxZoomButton.cjs +39 -0
  51. package/dist/cjs/components/LightboxZoomButton.cjs.map +1 -0
  52. package/dist/cjs/components/icons/EnterFullscreen.cjs +30 -0
  53. package/dist/cjs/components/icons/EnterFullscreen.cjs.map +1 -0
  54. package/dist/cjs/components/icons/ExitFullscreen.cjs +30 -0
  55. package/dist/cjs/components/icons/ExitFullscreen.cjs.map +1 -0
  56. package/dist/cjs/components/icons/Pause.cjs +28 -0
  57. package/dist/cjs/components/icons/Pause.cjs.map +1 -0
  58. package/dist/cjs/components/icons/Play.cjs +22 -0
  59. package/dist/cjs/components/icons/Play.cjs.map +1 -0
  60. package/dist/cjs/components/icons/ZoomIn.cjs +30 -0
  61. package/dist/cjs/components/icons/ZoomIn.cjs.map +1 -0
  62. package/dist/cjs/components/icons/ZoomOut.cjs +29 -0
  63. package/dist/cjs/components/icons/ZoomOut.cjs.map +1 -0
  64. package/dist/cjs/context/LightboxContext.cjs +12 -0
  65. package/dist/cjs/context/LightboxContext.cjs.map +1 -0
  66. package/dist/cjs/context/LightboxSlideContext.cjs +12 -0
  67. package/dist/cjs/context/LightboxSlideContext.cjs.map +1 -0
  68. package/dist/cjs/context/LightboxThumbnailContext.cjs +12 -0
  69. package/dist/cjs/context/LightboxThumbnailContext.cjs.map +1 -0
  70. package/dist/cjs/hooks/useAutoPlay.cjs +30 -15
  71. package/dist/cjs/hooks/useAutoPlay.cjs.map +1 -1
  72. package/dist/cjs/hooks/useLightbox.cjs +62 -117
  73. package/dist/cjs/hooks/useLightbox.cjs.map +1 -1
  74. package/dist/cjs/hooks/useLightboxRootOptions.cjs +20 -0
  75. package/dist/cjs/hooks/useLightboxRootOptions.cjs.map +1 -0
  76. package/dist/cjs/hooks/useSlideInteractions.cjs +13 -13
  77. package/dist/cjs/hooks/useSlideInteractions.cjs.map +1 -1
  78. package/dist/cjs/hooks/useThumbnails.cjs +14 -11
  79. package/dist/cjs/hooks/useThumbnails.cjs.map +1 -1
  80. package/dist/cjs/hooks/useZoom.cjs +37 -38
  81. package/dist/cjs/hooks/useZoom.cjs.map +1 -1
  82. package/dist/cjs/index.cjs +26 -2
  83. package/dist/cjs/index.cjs.map +1 -1
  84. package/dist/cjs/styles/Lightbox.module.css.cjs +7 -0
  85. package/dist/cjs/styles/Lightbox.module.css.cjs.map +1 -0
  86. package/dist/cjs/utils/pointer.cjs +50 -0
  87. package/dist/cjs/utils/pointer.cjs.map +1 -0
  88. package/dist/cjs/utils/zoom.cjs +2 -51
  89. package/dist/cjs/utils/zoom.cjs.map +1 -1
  90. package/dist/esm/Lightbox.context-value.mjs +45 -0
  91. package/dist/esm/Lightbox.context-value.mjs.map +1 -0
  92. package/dist/esm/Lightbox.context.mjs.map +1 -1
  93. package/dist/esm/Lightbox.defaults.mjs +3 -8
  94. package/dist/esm/Lightbox.defaults.mjs.map +1 -1
  95. package/dist/esm/Lightbox.mjs +65 -203
  96. package/dist/esm/Lightbox.mjs.map +1 -1
  97. package/dist/esm/Lightbox.module.css.mjs +1 -1
  98. package/dist/esm/LightboxSlide.context.mjs +9 -0
  99. package/dist/esm/LightboxSlide.context.mjs.map +1 -0
  100. package/dist/esm/LightboxSlide.mjs +73 -6
  101. package/dist/esm/LightboxSlide.mjs.map +1 -1
  102. package/dist/esm/components/LightboxAutoplayButton.mjs +41 -0
  103. package/dist/esm/components/LightboxAutoplayButton.mjs.map +1 -0
  104. package/dist/esm/components/LightboxCarousel.mjs +27 -0
  105. package/dist/esm/components/LightboxCarousel.mjs.map +1 -0
  106. package/dist/esm/components/LightboxCarouselSlide.context.mjs +9 -0
  107. package/dist/esm/components/LightboxCarouselSlide.context.mjs.map +1 -0
  108. package/dist/esm/components/LightboxCloseButton.mjs +31 -0
  109. package/dist/esm/components/LightboxCloseButton.mjs.map +1 -0
  110. package/dist/esm/components/LightboxContent.mjs +36 -0
  111. package/dist/esm/components/LightboxContent.mjs.map +1 -0
  112. package/dist/esm/components/LightboxControls.mjs +66 -0
  113. package/dist/esm/components/LightboxControls.mjs.map +1 -0
  114. package/dist/esm/components/LightboxCounter.mjs +32 -0
  115. package/dist/esm/components/LightboxCounter.mjs.map +1 -0
  116. package/dist/esm/components/LightboxFullscreenButton.mjs +39 -0
  117. package/dist/esm/components/LightboxFullscreenButton.mjs.map +1 -0
  118. package/dist/esm/components/LightboxOverlay.mjs +38 -0
  119. package/dist/esm/components/LightboxOverlay.mjs.map +1 -0
  120. package/dist/esm/components/LightboxPreset.mjs +30 -0
  121. package/dist/esm/components/LightboxPreset.mjs.map +1 -0
  122. package/dist/esm/components/LightboxRoot.mjs +258 -0
  123. package/dist/esm/components/LightboxRoot.mjs.map +1 -0
  124. package/dist/esm/components/LightboxSlide.context.mjs +9 -0
  125. package/dist/esm/components/LightboxSlide.context.mjs.map +1 -0
  126. package/dist/esm/components/LightboxSlide.mjs +152 -0
  127. package/dist/esm/components/LightboxSlide.mjs.map +1 -0
  128. package/dist/esm/components/LightboxSlides.mjs +100 -78
  129. package/dist/esm/components/LightboxSlides.mjs.map +1 -1
  130. package/dist/esm/components/LightboxThumbnail.context.mjs +9 -0
  131. package/dist/esm/components/LightboxThumbnail.context.mjs.map +1 -0
  132. package/dist/esm/components/LightboxThumbnail.mjs +38 -0
  133. package/dist/esm/components/LightboxThumbnail.mjs.map +1 -0
  134. package/dist/esm/components/LightboxThumbnails.mjs +111 -33
  135. package/dist/esm/components/LightboxThumbnails.mjs.map +1 -1
  136. package/dist/esm/components/LightboxToolbar.mjs +85 -72
  137. package/dist/esm/components/LightboxToolbar.mjs.map +1 -1
  138. package/dist/esm/components/LightboxZoomButton.mjs +37 -0
  139. package/dist/esm/components/LightboxZoomButton.mjs.map +1 -0
  140. package/dist/esm/components/icons/EnterFullscreen.mjs +28 -0
  141. package/dist/esm/components/icons/EnterFullscreen.mjs.map +1 -0
  142. package/dist/esm/components/icons/ExitFullscreen.mjs +28 -0
  143. package/dist/esm/components/icons/ExitFullscreen.mjs.map +1 -0
  144. package/dist/esm/components/icons/Pause.mjs +26 -0
  145. package/dist/esm/components/icons/Pause.mjs.map +1 -0
  146. package/dist/esm/components/icons/Play.mjs +20 -0
  147. package/dist/esm/components/icons/Play.mjs.map +1 -0
  148. package/dist/esm/components/icons/ZoomIn.mjs +28 -0
  149. package/dist/esm/components/icons/ZoomIn.mjs.map +1 -0
  150. package/dist/esm/components/icons/ZoomOut.mjs +27 -0
  151. package/dist/esm/components/icons/ZoomOut.mjs.map +1 -0
  152. package/dist/esm/context/LightboxContext.mjs +9 -0
  153. package/dist/esm/context/LightboxContext.mjs.map +1 -0
  154. package/dist/esm/context/LightboxSlideContext.mjs +9 -0
  155. package/dist/esm/context/LightboxSlideContext.mjs.map +1 -0
  156. package/dist/esm/context/LightboxThumbnailContext.mjs +9 -0
  157. package/dist/esm/context/LightboxThumbnailContext.mjs.map +1 -0
  158. package/dist/esm/hooks/useAutoPlay.mjs +22 -7
  159. package/dist/esm/hooks/useAutoPlay.mjs.map +1 -1
  160. package/dist/esm/hooks/useLightbox.mjs +58 -113
  161. package/dist/esm/hooks/useLightbox.mjs.map +1 -1
  162. package/dist/esm/hooks/useLightboxRootOptions.mjs +18 -0
  163. package/dist/esm/hooks/useLightboxRootOptions.mjs.map +1 -0
  164. package/dist/esm/hooks/useSlideInteractions.mjs +1 -1
  165. package/dist/esm/hooks/useSlideInteractions.mjs.map +1 -1
  166. package/dist/esm/hooks/useThumbnails.mjs +7 -4
  167. package/dist/esm/hooks/useThumbnails.mjs.map +1 -1
  168. package/dist/esm/hooks/useZoom.mjs +6 -7
  169. package/dist/esm/hooks/useZoom.mjs.map +1 -1
  170. package/dist/esm/index.mjs +13 -1
  171. package/dist/esm/index.mjs.map +1 -1
  172. package/dist/esm/styles/Lightbox.module.css.mjs +5 -0
  173. package/dist/esm/styles/Lightbox.module.css.mjs.map +1 -0
  174. package/dist/esm/utils/pointer.mjs +41 -0
  175. package/dist/esm/utils/pointer.mjs.map +1 -0
  176. package/dist/esm/utils/zoom.mjs +3 -44
  177. package/dist/esm/utils/zoom.mjs.map +1 -1
  178. package/dist/styles.css +1 -1
  179. package/dist/styles.layer.css +1 -1
  180. package/dist/types/Lightbox.context-value.d.ts +16 -0
  181. package/dist/types/Lightbox.context-value.d.ts.map +1 -0
  182. package/dist/types/Lightbox.context.d.ts +17 -15
  183. package/dist/types/Lightbox.context.d.ts.map +1 -1
  184. package/dist/types/Lightbox.d.ts +79 -96
  185. package/dist/types/Lightbox.d.ts.map +1 -1
  186. package/dist/types/Lightbox.defaults.d.ts +3 -8
  187. package/dist/types/Lightbox.defaults.d.ts.map +1 -1
  188. package/dist/types/Lightbox.story.d.ts +2 -2
  189. package/dist/types/Lightbox.story.d.ts.map +1 -1
  190. package/dist/types/LightboxSlide.context.d.ts +8 -0
  191. package/dist/types/LightboxSlide.context.d.ts.map +1 -0
  192. package/dist/types/LightboxSlide.d.ts +0 -3
  193. package/dist/types/LightboxSlide.d.ts.map +1 -1
  194. package/dist/types/__tests__/Lightbox.test.d.ts +2 -0
  195. package/dist/types/__tests__/Lightbox.test.d.ts.map +1 -0
  196. package/dist/types/__tests__/LightboxSimple.test.d.ts +2 -0
  197. package/dist/types/__tests__/LightboxSimple.test.d.ts.map +1 -0
  198. package/dist/types/__tests__/pointer.test.d.ts +2 -0
  199. package/dist/types/__tests__/pointer.test.d.ts.map +1 -0
  200. package/dist/types/__tests__/zoom.test.d.ts +2 -0
  201. package/dist/types/__tests__/zoom.test.d.ts.map +1 -0
  202. package/dist/types/components/LightboxAutoplayButton.d.ts +17 -0
  203. package/dist/types/components/LightboxAutoplayButton.d.ts.map +1 -0
  204. package/dist/types/components/LightboxCarousel.d.ts +6 -0
  205. package/dist/types/components/LightboxCarousel.d.ts.map +1 -0
  206. package/dist/types/components/LightboxCarouselSlide.context.d.ts +10 -0
  207. package/dist/types/components/LightboxCarouselSlide.context.d.ts.map +1 -0
  208. package/dist/types/components/LightboxCloseButton.d.ts +17 -0
  209. package/dist/types/components/LightboxCloseButton.d.ts.map +1 -0
  210. package/dist/types/components/LightboxContent.d.ts +14 -0
  211. package/dist/types/components/LightboxContent.d.ts.map +1 -0
  212. package/dist/types/components/LightboxControls.d.ts +19 -0
  213. package/dist/types/components/LightboxControls.d.ts.map +1 -0
  214. package/dist/types/components/LightboxCounter.d.ts +19 -0
  215. package/dist/types/components/LightboxCounter.d.ts.map +1 -0
  216. package/dist/types/components/LightboxFullscreenButton.d.ts +17 -0
  217. package/dist/types/components/LightboxFullscreenButton.d.ts.map +1 -0
  218. package/dist/types/components/LightboxOverlay.d.ts +4 -0
  219. package/dist/types/components/LightboxOverlay.d.ts.map +1 -0
  220. package/dist/types/components/LightboxPreset.d.ts +10 -0
  221. package/dist/types/components/LightboxPreset.d.ts.map +1 -0
  222. package/dist/types/components/LightboxRoot.d.ts +80 -0
  223. package/dist/types/components/LightboxRoot.d.ts.map +1 -0
  224. package/dist/types/components/LightboxSlide.context.d.ts +8 -0
  225. package/dist/types/components/LightboxSlide.context.d.ts.map +1 -0
  226. package/dist/types/components/LightboxSlide.d.ts +17 -0
  227. package/dist/types/components/LightboxSlide.d.ts.map +1 -0
  228. package/dist/types/components/LightboxSlides.d.ts +23 -1
  229. package/dist/types/components/LightboxSlides.d.ts.map +1 -1
  230. package/dist/types/components/LightboxThumbnail.context.d.ts +8 -0
  231. package/dist/types/components/LightboxThumbnail.context.d.ts.map +1 -0
  232. package/dist/types/components/LightboxThumbnail.d.ts +17 -0
  233. package/dist/types/components/LightboxThumbnail.d.ts.map +1 -0
  234. package/dist/types/components/LightboxThumbnails.d.ts +18 -6
  235. package/dist/types/components/LightboxThumbnails.d.ts.map +1 -1
  236. package/dist/types/components/LightboxToolbar.d.ts +16 -1
  237. package/dist/types/components/LightboxToolbar.d.ts.map +1 -1
  238. package/dist/types/components/LightboxZoomButton.d.ts +17 -0
  239. package/dist/types/components/LightboxZoomButton.d.ts.map +1 -0
  240. package/dist/types/components/icons/EnterFullscreen.d.ts +3 -0
  241. package/dist/types/components/icons/EnterFullscreen.d.ts.map +1 -0
  242. package/dist/types/components/icons/ExitFullscreen.d.ts +3 -0
  243. package/dist/types/components/icons/ExitFullscreen.d.ts.map +1 -0
  244. package/dist/types/components/icons/Pause.d.ts +3 -0
  245. package/dist/types/components/icons/Pause.d.ts.map +1 -0
  246. package/dist/types/components/icons/Play.d.ts +3 -0
  247. package/dist/types/components/icons/Play.d.ts.map +1 -0
  248. package/dist/types/components/icons/ZoomIn.d.ts +3 -0
  249. package/dist/types/components/icons/ZoomIn.d.ts.map +1 -0
  250. package/dist/types/components/icons/ZoomOut.d.ts +3 -0
  251. package/dist/types/components/icons/ZoomOut.d.ts.map +1 -0
  252. package/dist/types/context/LightboxContext.d.ts +46 -0
  253. package/dist/types/context/LightboxContext.d.ts.map +1 -0
  254. package/dist/types/context/LightboxSlideContext.d.ts +8 -0
  255. package/dist/types/context/LightboxSlideContext.d.ts.map +1 -0
  256. package/dist/types/context/LightboxThumbnailContext.d.ts +8 -0
  257. package/dist/types/context/LightboxThumbnailContext.d.ts.map +1 -0
  258. package/dist/types/hooks/useAutoPlay.d.ts +1 -1
  259. package/dist/types/hooks/useAutoPlay.d.ts.map +1 -1
  260. package/dist/types/hooks/useLightbox.d.ts +5 -28
  261. package/dist/types/hooks/useLightbox.d.ts.map +1 -1
  262. package/dist/types/hooks/useLightboxRootOptions.d.ts +12 -0
  263. package/dist/types/hooks/useLightboxRootOptions.d.ts.map +1 -0
  264. package/dist/types/hooks/useSlideInteractions.d.ts +3 -3
  265. package/dist/types/hooks/useThumbnails.d.ts +5 -4
  266. package/dist/types/hooks/useThumbnails.d.ts.map +1 -1
  267. package/dist/types/hooks/useZoom.d.ts +2 -9
  268. package/dist/types/hooks/useZoom.d.ts.map +1 -1
  269. package/dist/types/index.d.mts +27 -3
  270. package/dist/types/index.d.ts +27 -3
  271. package/dist/types/index.d.ts.map +1 -1
  272. package/dist/types/stories/Lightbox.story.d.ts +120 -0
  273. package/dist/types/stories/Lightbox.story.d.ts.map +1 -0
  274. package/dist/types/utils/pointer.d.ts +63 -0
  275. package/dist/types/utils/pointer.d.ts.map +1 -0
  276. package/dist/types/utils/zoom.d.ts +0 -62
  277. package/dist/types/utils/zoom.d.ts.map +1 -1
  278. package/package.json +2 -4
@@ -1 +1 @@
1
- @layer mantine {.me_4f1afa9a{color:var(--mantine-color-white);display:flex;flex-direction:column;height:100dvh;inset:0;position:fixed;width:100dvw}.me_143cf98,.me_4f1afa9a{z-index:var(--lightbox-z-index)}.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_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_fe2263dd{flex:0 0 auto;margin-right:var(--mantine-spacing-xs)}.me_fe2263dd: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[data-active]{border-color:var(--mantine-primary-color-filled);opacity:1}.me_a9abc686 img{height:100%;max-height:100%;max-width:100%;object-fit:cover;width:100%}.me_ff615a9f{background-color:var(--mantine-color-dark-4);color:var(--mantine-color-dark-1);position:relative}.me_dfd5db36,.me_ff615a9f{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.me_dfd5db36{line-height:1;overflow:hidden}.me_dfd5db36 img{cursor:zoom-in;height:auto;max-height:100%;max-width:100%;object-fit:contain;width:auto}.me_dfd5db36[data-zoomed] img{cursor:zoom-out}.me_dfd5db36[data-can-zoom=false] img{cursor:default}.me_2ed9ec6e{align-items:center;display:flex;height:100%;justify-content:center;min-height:0;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
+ @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,34 +1,36 @@
1
1
  import { type GetStylesApi } from "@mantine/core";
2
- import type { ReactElement, PointerEvent as ReactPointerEvent, RefObject } from "react";
2
+ import type { EmblaCarouselType } from "embla-carousel";
3
+ import type { PointerEvent as ReactPointerEvent, RefObject } from "react";
3
4
  import type { LightboxFactory } from "./Lightbox.js";
4
- import type { LightboxSlideProps } from "./LightboxSlide.js";
5
5
  import type { ZoomOffset } from "./utils/zoom.js";
6
6
  export interface LightboxContext {
7
7
  getStyles: GetStylesApi<LightboxFactory>;
8
- slides: ReactElement<Pick<LightboxSlideProps, "children" | "thumbnail">>[];
8
+ opened: boolean;
9
9
  currentIndex: number;
10
- withFullscreen: boolean | undefined;
11
- withZoom: boolean | undefined;
12
- isFullscreen: boolean;
13
- canUseFullscreen: boolean;
14
- onToggleFullscreen: () => void;
15
- canUseAutoPlay: boolean;
16
- isPlaying: boolean;
17
- onToggleAutoPlay: () => void;
18
- onToggleZoom: () => void;
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;
19
22
  isZoomed: boolean;
23
+ isZoomedRef: RefObject<boolean>;
20
24
  isDraggingZoom: boolean;
21
25
  canZoomCurrent: boolean;
22
26
  zoomOffset: ZoomOffset;
23
27
  zoomScale: number;
24
28
  activeZoomContainerRef: RefObject<HTMLDivElement | null>;
29
+ toggleZoom: () => void;
25
30
  updateCanZoomAvailability: () => void;
26
31
  handleZoomPointerDown: (event: ReactPointerEvent<HTMLDivElement>) => void;
27
32
  handleZoomPointerMove: (event: ReactPointerEvent<HTMLDivElement>) => void;
28
33
  handleZoomPointerEnd: (event: ReactPointerEvent<HTMLDivElement>) => void;
29
- onClose: () => void;
30
- handleOutsideClick: () => void;
31
- onThumbnailClick: (index: number) => void;
32
34
  }
33
35
  export declare const LightboxProvider: ({ children, value }: {
34
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,EACX,YAAY,EACZ,YAAY,IAAI,iBAAiB,EACjC,SAAS,EACT,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,WAAW,eAAe;IAC/B,SAAS,EAAE,YAAY,CAAC,eAAe,CAAC,CAAC;IAEzC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,kBAAkB,EAAE,UAAU,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC;IAC3E,YAAY,EAAE,MAAM,CAAC;IAErB,cAAc,EAAE,OAAO,GAAG,SAAS,CAAC;IACpC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAE9B,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAE/B,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,IAAI,CAAC;IAEzB,QAAQ,EAAE,OAAO,CAAC;IAClB,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,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;IAEzE,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C;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,115 +1,98 @@
1
- import { type CarouselProps } from "@mantine/carousel";
2
- import { type BoxProps, type ElementProps, type Factory, type OverlayProps, type PortalProps, type StylesApiProps, type TransitionProps } from "@mantine/core";
3
- import type { EmblaOptionsType } from "embla-carousel";
4
- import { LightboxSlide } from "./LightboxSlide.js";
5
- export type LightboxCssVariables = {
6
- root: "--lightbox-z-index";
7
- overlay: "--lightbox-z-index" | "--overlay-z-index";
1
+ import { type Factory, type ImageProps } 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
+ type LightboxImageBaseProps = Omit<ImageProps, "src" | "fallbackSrc" | "fit" | "w" | "width" | "h" | "height" | "miw" | "minWidth" | "mih" | "minHeight" | "maw" | "maxWidth" | "mah" | "maxHeight">;
15
+ export type LightboxImageProps = LightboxImageBaseProps & {
16
+ component?: any;
17
+ renderRoot?: (props: any) => React.ReactNode;
8
18
  };
9
- export type LightboxStylesNames = "root" | "overlay" | "slides" | "slide" | "zoomContainer" | "zoomContent" | "toolbar" | "fullscreenButton" | "zoomButton" | "closeButton" | "autoplayButton" | "counter" | "thumbnails" | "thumbnailsViewport" | "thumbnailsContainer" | "thumbnailSlide" | "thumbnailButton" | "thumbnailPlaceholder";
10
- export type LightboxCarouselOptions = Omit<CarouselProps, "withKeyboardEvents" | "withIndicators">;
11
- export type LightboxThumbnailEmblaOptions = EmblaOptionsType;
12
- export interface LightboxProps extends BoxProps, StylesApiProps<LightboxFactory>, ElementProps<"div"> {
13
- /**
14
- * Controls whether the lightbox is visible.
15
- */
16
- opened: boolean;
17
- /**
18
- * Callback invoked when the lightbox requests to close.
19
- */
20
- onClose: () => void;
21
- /**
22
- * Keeps the lightbox mounted in the DOM when it is not visible.
23
- * @default false
24
- */
25
- keepMounted?: boolean;
26
- /**
27
- * Closes the lightbox when a pointer interaction occurs outside its content area.
28
- * @default true
29
- */
30
- closeOnClickOutside?: boolean;
31
- /**
32
- * Constrains keyboard focus to elements within the lightbox while it is open.
33
- * @default true
34
- */
35
- trapFocus?: boolean;
36
- /**
37
- * Restores focus to the previously focused element after the lightbox closes.
38
- * @default true
39
- */
40
- returnFocus?: boolean;
41
- /**
42
- * Prevents background document scrolling while the lightbox is open.
43
- * @default true
44
- */
45
- lockScroll?: boolean;
46
- /**
47
- * Renders thumbnail previews for navigating between slides.
48
- * @default true
49
- */
19
+ export interface LightboxImageData {
20
+ /** URL for the slide image */
21
+ src: string;
22
+ /** URL used as a fallback if the slide image cannot be loaded */
23
+ fallbackSrc?: string;
24
+ /** Alt text for the slide image */
25
+ alt?: string;
26
+ /** URL for the thumbnail image, falls back to `src` if omitted */
27
+ thumbnailSrc?: string;
28
+ /** URL used as a fallback if the thumbnail image cannot be loaded */
29
+ fallbackThumbnailSrc?: string;
30
+ /** Alt text for the thumbnail image, falls back to `alt` if omitted */
31
+ thumbnailAlt?: string;
32
+ /** Pre-defined width of the image, only applicable when using next/image */
33
+ width?: number;
34
+ /** Pre-defined height of the image, only applicable when using next/image */
35
+ height?: number;
36
+ }
37
+ export interface LightboxProps extends Omit<LightboxRootProps, "children"> {
38
+ /** Array of images to display */
39
+ images: LightboxImageData[];
40
+ /** Show toolbar (zoom, fullscreen, close buttons), `true` by default */
41
+ withToolbar?: boolean;
42
+ /** Show prev/next navigation controls, `true` by default */
43
+ withControls?: boolean;
44
+ /** Show thumbnail strip, `true` by default */
50
45
  withThumbnails?: boolean;
51
- /**
52
- * Displays the current slide index and total slide count.
53
- * @default true
54
- */
46
+ /** Show slide counter, `true` by default */
55
47
  withCounter?: boolean;
56
- /**
57
- * Shows a control that toggles fullscreen mode for the lightbox.
58
- * @default true
59
- */
60
- withFullscreen?: boolean;
61
- /**
62
- * Shows a control that toggles zoom functionality for the active slide.
63
- * @default true
64
- */
65
- withZoom?: boolean;
66
- /**
67
- * Formats the slide counter output based on the current index and total count.
68
- * @default (index, total) => `${index + 1} / ${total}`
69
- */
70
- counterFormatter?: (index: number, total: number) => string;
71
- /**
72
- * Configuration options forwarded to the underlying Carousel instance.
73
- */
74
- carouselOptions?: LightboxCarouselOptions;
75
- /**
76
- * Configuration options used by the thumbnail strip Embla instance.
77
- */
78
- thumbnailEmblaOptions?: LightboxThumbnailEmblaOptions;
79
- /**
80
- * Props forwarded to the Overlay component that renders the backdrop.
81
- */
82
- overlayProps?: OverlayProps;
83
- /**
84
- * Transition configuration applied to the lightbox content container.
85
- */
86
- transitionProps?: Omit<TransitionProps, "mounted" | "keepMounted" | "children">;
87
- /**
88
- * Renders the lightbox inside a React Portal instead of the current DOM hierarchy.
89
- * @default true
90
- */
91
- withinPortal?: boolean;
92
- /**
93
- * Props forwarded to the Portal component when portal rendering is enabled.
94
- */
95
- portalProps?: Omit<PortalProps, "withinPortal" | "children">;
48
+ /** Props passed to the slides carousel (`LightboxSlides`) */
49
+ slidesProps?: Pick<LightboxSlidesProps, "initialSlide" | "emblaOptions" | "emblaPlugins">;
50
+ /** Props passed to the thumbnails carousel (`LightboxThumbnails`) */
51
+ thumbnailsProps?: Pick<LightboxThumbnailsProps, "emblaOptions">;
52
+ /** Props passed to the prev/next controls (`LightboxControls`) */
53
+ controlsProps?: Pick<LightboxControlsProps, "size">;
54
+ /** Props passed to the slide counter (`LightboxCounter`) */
55
+ counterProps?: Pick<LightboxCounterProps, "formatter">;
56
+ /** Props passed to the slide `Image` component */
57
+ slideImageProps?: LightboxImageProps;
58
+ /** Props passed to the thumbnail `Image` component */
59
+ thumbnailImageProps?: LightboxImageProps;
96
60
  }
97
61
  export type LightboxFactory = Factory<{
98
62
  props: LightboxProps;
99
63
  ref: HTMLDivElement;
100
- stylesNames: LightboxStylesNames;
101
- vars: LightboxCssVariables;
102
64
  staticComponents: {
65
+ Root: typeof LightboxRoot;
66
+ Toolbar: typeof LightboxToolbar;
67
+ Counter: typeof LightboxCounter;
68
+ Controls: typeof LightboxControls;
69
+ Slides: typeof LightboxSlides;
103
70
  Slide: typeof LightboxSlide;
71
+ Thumbnails: typeof LightboxThumbnails;
72
+ Thumbnail: typeof LightboxThumbnail;
73
+ CloseButton: typeof LightboxCloseButton;
74
+ ZoomButton: typeof LightboxZoomButton;
75
+ FullscreenButton: typeof LightboxFullscreenButton;
76
+ AutoplayButton: typeof LightboxAutoplayButton;
104
77
  };
105
78
  }>;
106
79
  export declare const Lightbox: import("@mantine/core").MantineComponent<{
107
80
  props: LightboxProps;
108
81
  ref: HTMLDivElement;
109
- stylesNames: LightboxStylesNames;
110
- vars: LightboxCssVariables;
111
82
  staticComponents: {
83
+ Root: typeof LightboxRoot;
84
+ Toolbar: typeof LightboxToolbar;
85
+ Counter: typeof LightboxCounter;
86
+ Controls: typeof LightboxControls;
87
+ Slides: typeof LightboxSlides;
112
88
  Slide: typeof LightboxSlide;
89
+ Thumbnails: typeof LightboxThumbnails;
90
+ Thumbnail: typeof LightboxThumbnail;
91
+ CloseButton: typeof LightboxCloseButton;
92
+ ZoomButton: typeof LightboxZoomButton;
93
+ FullscreenButton: typeof LightboxFullscreenButton;
94
+ AutoplayButton: typeof LightboxAutoplayButton;
113
95
  };
114
96
  }>;
97
+ export {};
115
98
  //# sourceMappingURL=Lightbox.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Lightbox.d.ts","sourceRoot":"","sources":["../../src/Lightbox.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Lightbox.d.ts","sourceRoot":"","sources":["../../src/Lightbox.tsx"],"names":[],"mappings":"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"}
@@ -1,18 +1,13 @@
1
1
  export declare const LIGHTBOX_DEFAULT_PROPS: {
2
2
  readonly closeOnClickOutside: true;
3
- readonly withThumbnails: true;
4
- readonly withCounter: true;
5
- readonly withFullscreen: true;
6
- readonly withZoom: true;
7
3
  readonly keepMounted: false;
8
4
  readonly trapFocus: true;
9
5
  readonly lockScroll: true;
10
6
  readonly returnFocus: true;
11
7
  readonly withinPortal: true;
12
- readonly carouselOptions: {
13
- readonly controlSize: 36;
14
- };
15
- readonly thumbnailEmblaOptions: {
8
+ readonly controlSize: 36;
9
+ readonly carouselOptions: {};
10
+ readonly thumbnailCarouselOptions: {
16
11
  readonly dragFree: true;
17
12
  };
18
13
  readonly overlayProps: {
@@ -1 +1 @@
1
- {"version":3,"file":"Lightbox.defaults.d.ts","sourceRoot":"","sources":["../../src/Lightbox.defaults.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BzB,CAAC"}
1
+ {"version":3,"file":"Lightbox.defaults.d.ts","sourceRoot":"","sources":["../../src/Lightbox.defaults.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;CAsBzB,CAAC"}
@@ -4,7 +4,7 @@ declare const _default: {
4
4
  export default _default;
5
5
  export declare const Default: () => import("react/jsx-runtime").JSX.Element;
6
6
  export declare const WithLoop: () => import("react/jsx-runtime").JSX.Element;
7
- export declare const WithPlaceholderThumbnails: () => import("react/jsx-runtime").JSX.Element;
8
7
  export declare const WithCustomCounter: () => import("react/jsx-runtime").JSX.Element;
9
- export declare const WithAutoPlay: () => 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":";;;AAYA,wBAAqC;AA6ErC,eAAO,MAAM,OAAO,+CAqBnB,CAAC;AAEF,eAAO,MAAM,QAAQ,+CA6BpB,CAAC;AAEF,eAAO,MAAM,yBAAyB,+CA2ErC,CAAC;AAEF,eAAO,MAAM,iBAAiB,+CAyB7B,CAAC;AAEF,eAAO,MAAM,YAAY,+CAgCxB,CAAC"}
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
- /** Content rendered as the slide thumbnail in the lightbox navigation, or a default 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,+GAA+G;IAC/G,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,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