@mantine-bites/lightbox 1.0.0-beta.9 → 1.0.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 +7 -8
  2. package/dist/cjs/Lightbox.cjs +41 -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 +97 -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 +43 -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 +98 -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 +56 -97
  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 +11 -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,220 +1,60 @@
1
1
  'use client';
2
- import { jsx, jsxs } from 'react/jsx-runtime';
3
- import { Carousel } from '@mantine/carousel';
4
- import { createVarsResolver, factory, useProps, useStyles, OptionalPortal, Transition, RemoveScroll, Overlay, Box, Text } from '@mantine/core';
2
+ import { jsxs, jsx } from 'react/jsx-runtime';
3
+ import { factory, useProps } from '@mantine/core';
4
+ import { LightboxAutoplayButton } from './components/LightboxAutoplayButton.mjs';
5
+ import { LightboxCloseButton } from './components/LightboxCloseButton.mjs';
6
+ import { LightboxControls } from './components/LightboxControls.mjs';
7
+ import { LightboxCounter } from './components/LightboxCounter.mjs';
8
+ import { LightboxFullscreenButton } from './components/LightboxFullscreenButton.mjs';
9
+ import { LightboxRoot } from './components/LightboxRoot.mjs';
10
+ import { LightboxSlide } from './components/LightboxSlide.mjs';
5
11
  import { LightboxSlides } from './components/LightboxSlides.mjs';
12
+ import { LightboxThumbnail } from './components/LightboxThumbnail.mjs';
6
13
  import { LightboxThumbnails } from './components/LightboxThumbnails.mjs';
7
14
  import { LightboxToolbar } from './components/LightboxToolbar.mjs';
8
- import { useLightbox } from './hooks/useLightbox.mjs';
9
- import { LightboxProvider } from './Lightbox.context.mjs';
10
- import { LIGHTBOX_DEFAULT_PROPS } from './Lightbox.defaults.mjs';
11
- import classes from './Lightbox.module.css.mjs';
12
- import { LightboxSlide } from './LightboxSlide.mjs';
15
+ import { LightboxZoomButton } from './components/LightboxZoomButton.mjs';
13
16
 
14
- const defaultProps = LIGHTBOX_DEFAULT_PROPS;
15
- const varsResolver = createVarsResolver(
16
- (_, { overlayProps }) => ({
17
- root: {
18
- "--lightbox-z-index": String(
19
- overlayProps?.zIndex ?? LIGHTBOX_DEFAULT_PROPS.overlayProps.zIndex
20
- )
21
- },
22
- overlay: {
23
- "--lightbox-z-index": String(
24
- overlayProps?.zIndex ?? LIGHTBOX_DEFAULT_PROPS.overlayProps.zIndex
25
- ),
26
- "--overlay-z-index": "var(--lightbox-z-index)"
27
- }
28
- })
29
- );
17
+ const defaultProps = {
18
+ withToolbar: true,
19
+ withControls: true,
20
+ withThumbnails: true,
21
+ withCounter: true
22
+ };
30
23
  const Lightbox = factory((_props, ref) => {
31
24
  const props = useProps("Lightbox", defaultProps, _props);
32
25
  const {
33
- opened,
34
- onClose,
35
- closeOnClickOutside,
36
- classNames,
37
- className,
38
- style,
39
- styles,
40
- unstyled,
41
- vars,
42
- children,
26
+ images,
27
+ withToolbar,
28
+ withControls,
43
29
  withThumbnails,
44
30
  withCounter,
45
- withFullscreen,
46
- withZoom,
47
- counterFormatter,
48
- carouselOptions,
49
- thumbnailEmblaOptions,
50
- overlayProps,
51
- transitionProps,
52
- keepMounted,
53
- trapFocus,
54
- lockScroll,
55
- returnFocus,
56
- withinPortal,
57
- portalProps
31
+ slidesProps,
32
+ thumbnailsProps,
33
+ controlsProps,
34
+ counterProps,
35
+ ...rootProps
58
36
  } = props;
59
- const getStyles = useStyles({
60
- name: "Lightbox",
61
- classes,
62
- props,
63
- varsResolver,
64
- className,
65
- style,
66
- classNames,
67
- styles,
68
- unstyled,
69
- vars
70
- });
71
- const _carouselOptions = {
72
- ...LIGHTBOX_DEFAULT_PROPS.carouselOptions,
73
- ...carouselOptions
74
- };
75
- const _thumbnailEmblaOptions = {
76
- ...LIGHTBOX_DEFAULT_PROPS.thumbnailEmblaOptions,
77
- ...thumbnailEmblaOptions
78
- };
79
- const _overlayProps = {
80
- ...LIGHTBOX_DEFAULT_PROPS.overlayProps,
81
- ...overlayProps
82
- };
83
- const _transitionProps = {
84
- ...LIGHTBOX_DEFAULT_PROPS.transitionProps,
85
- ...transitionProps
86
- };
87
- const {
88
- mergedRef,
89
- slides,
90
- currentIndex,
91
- counterText,
92
- isFullscreen,
93
- canUseFullscreen,
94
- toggleFullscreen,
95
- isZoomed,
96
- isDraggingZoom,
97
- zoomOffset,
98
- zoomScale,
99
- canZoomCurrent,
100
- activeZoomContainerRef,
101
- toggleZoom,
102
- updateCanZoomAvailability,
103
- handleZoomPointerDown,
104
- handleZoomPointerMove,
105
- handleZoomPointerEnd,
106
- handleEmblaApi,
107
- handleThumbnailsEmblaApi,
108
- handleSlideChange,
109
- handleThumbnailClick,
110
- handleOutsideClick,
111
- isPlaying,
112
- canUseAutoPlay,
113
- toggleAutoPlay,
114
- mergedCarouselOptions,
115
- mergedThumbnailEmblaOptions
116
- } = useLightbox({
117
- ref,
118
- opened,
119
- withZoom,
120
- onClose,
121
- closeOnClickOutside,
122
- trapFocus,
123
- returnFocus,
124
- children,
125
- carouselOptions: _carouselOptions,
126
- thumbnailEmblaOptions: _thumbnailEmblaOptions,
127
- counterFormatter
128
- });
129
- return /* @__PURE__ */ jsx(OptionalPortal, { ...portalProps, withinPortal, children: /* @__PURE__ */ jsx(
130
- Transition,
131
- {
132
- ..._transitionProps,
133
- mounted: opened,
134
- keepMounted,
135
- children: (transitionStyles) => /* @__PURE__ */ jsxs(RemoveScroll, { enabled: lockScroll, children: [
136
- /* @__PURE__ */ jsx(
137
- Overlay,
138
- {
139
- ..._overlayProps,
140
- ...getStyles("overlay", {
141
- className: _overlayProps.className,
142
- style: [transitionStyles, overlayProps?.style]
143
- })
144
- }
145
- ),
146
- /* @__PURE__ */ jsx(
147
- LightboxProvider,
148
- {
149
- value: {
150
- getStyles,
151
- slides,
152
- currentIndex,
153
- withFullscreen,
154
- withZoom,
155
- isFullscreen,
156
- canUseFullscreen,
157
- onToggleFullscreen: toggleFullscreen,
158
- onToggleZoom: toggleZoom,
159
- isZoomed,
160
- isDraggingZoom,
161
- canZoomCurrent,
162
- zoomOffset,
163
- zoomScale,
164
- activeZoomContainerRef,
165
- updateCanZoomAvailability,
166
- handleZoomPointerDown,
167
- handleZoomPointerMove,
168
- handleZoomPointerEnd,
169
- onClose,
170
- handleOutsideClick,
171
- onThumbnailClick: handleThumbnailClick,
172
- canUseAutoPlay,
173
- isPlaying,
174
- onToggleAutoPlay: toggleAutoPlay
175
- },
176
- children: /* @__PURE__ */ jsxs(
177
- Box,
178
- {
179
- ref: mergedRef,
180
- ...getStyles("root", { style: transitionStyles }),
181
- children: [
182
- /* @__PURE__ */ jsx(LightboxToolbar, {}),
183
- withCounter && /* @__PURE__ */ jsx(Text, { size: "sm", ...getStyles("counter"), children: counterText }),
184
- /* @__PURE__ */ jsx(
185
- Carousel,
186
- {
187
- includeGapInSize: false,
188
- slideSize: "100%",
189
- height: "100%",
190
- ...mergedCarouselOptions,
191
- ...getStyles("slides"),
192
- withIndicators: false,
193
- withKeyboardEvents: false,
194
- onSlideChange: handleSlideChange,
195
- getEmblaApi: handleEmblaApi,
196
- children: /* @__PURE__ */ jsx(LightboxSlides, {})
197
- }
198
- ),
199
- withThumbnails && /* @__PURE__ */ jsx(
200
- LightboxThumbnails,
201
- {
202
- emblaOptions: mergedThumbnailEmblaOptions,
203
- onEmblaApi: handleThumbnailsEmblaApi
204
- }
205
- )
206
- ]
207
- }
208
- )
209
- }
210
- )
211
- ] })
212
- }
213
- ) });
37
+ return /* @__PURE__ */ jsxs(LightboxRoot, { ref, ...rootProps, children: [
38
+ withToolbar && /* @__PURE__ */ jsx(LightboxToolbar, {}),
39
+ withCounter && /* @__PURE__ */ jsx(LightboxCounter, { ...counterProps }),
40
+ withControls && /* @__PURE__ */ jsx(LightboxControls, { ...controlsProps }),
41
+ /* @__PURE__ */ jsx(LightboxSlides, { ...slidesProps, children: images.map((img) => /* @__PURE__ */ jsx(LightboxSlide, { children: /* @__PURE__ */ jsx("img", { src: img.src, alt: img.alt }) }, img.src)) }),
42
+ withThumbnails && /* @__PURE__ */ jsx(LightboxThumbnails, { ...thumbnailsProps, children: images.map((img) => /* @__PURE__ */ jsx(LightboxThumbnail, { children: /* @__PURE__ */ jsx("img", { src: img.src, alt: img.alt }) }, img.src)) })
43
+ ] });
214
44
  });
215
45
  Lightbox.displayName = "Lightbox";
216
- Lightbox.classes = classes;
46
+ Lightbox.Root = LightboxRoot;
47
+ Lightbox.Toolbar = LightboxToolbar;
48
+ Lightbox.Counter = LightboxCounter;
49
+ Lightbox.Controls = LightboxControls;
50
+ Lightbox.Slides = LightboxSlides;
217
51
  Lightbox.Slide = LightboxSlide;
52
+ Lightbox.Thumbnails = LightboxThumbnails;
53
+ Lightbox.Thumbnail = LightboxThumbnail;
54
+ Lightbox.CloseButton = LightboxCloseButton;
55
+ Lightbox.ZoomButton = LightboxZoomButton;
56
+ Lightbox.FullscreenButton = LightboxFullscreenButton;
57
+ Lightbox.AutoplayButton = LightboxAutoplayButton;
218
58
 
219
59
  export { Lightbox };
220
60
  //# sourceMappingURL=Lightbox.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Lightbox.mjs","sources":["../../src/Lightbox.tsx"],"sourcesContent":["import { Carousel, type CarouselProps } from \"@mantine/carousel\";\nimport {\n\tBox,\n\ttype BoxProps,\n\tcreateVarsResolver,\n\ttype ElementProps,\n\ttype Factory,\n\tfactory,\n\tOptionalPortal,\n\tOverlay,\n\ttype OverlayProps,\n\ttype PortalProps,\n\tRemoveScroll,\n\ttype StylesApiProps,\n\tText,\n\tTransition,\n\ttype TransitionProps,\n\tuseProps,\n\tuseStyles,\n} from \"@mantine/core\";\nimport type { EmblaOptionsType } from \"embla-carousel\";\nimport { LightboxSlides } from \"./components/LightboxSlides.js\";\nimport { LightboxThumbnails } from \"./components/LightboxThumbnails.js\";\nimport { LightboxToolbar } from \"./components/LightboxToolbar.js\";\nimport { useLightbox } from \"./hooks/useLightbox.js\";\nimport { LightboxProvider } from \"./Lightbox.context.js\";\nimport { LIGHTBOX_DEFAULT_PROPS } from \"./Lightbox.defaults.js\";\nimport classes from \"./Lightbox.module.css\";\nimport { LightboxSlide } from \"./LightboxSlide.js\";\n\nexport type LightboxCssVariables = {\n\troot: \"--lightbox-z-index\";\n\toverlay: \"--lightbox-z-index\" | \"--overlay-z-index\";\n};\n\nexport type LightboxStylesNames =\n\t| \"root\"\n\t| \"overlay\"\n\t| \"slides\"\n\t| \"slide\"\n\t| \"zoomContainer\"\n\t| \"zoomContent\"\n\t| \"toolbar\"\n\t| \"fullscreenButton\"\n\t| \"zoomButton\"\n\t| \"closeButton\"\n\t| \"autoplayButton\"\n\t| \"counter\"\n\t| \"thumbnails\"\n\t| \"thumbnailsViewport\"\n\t| \"thumbnailsContainer\"\n\t| \"thumbnailSlide\"\n\t| \"thumbnailButton\"\n\t| \"thumbnailPlaceholder\";\n\nexport type LightboxCarouselOptions = Omit<\n\tCarouselProps,\n\t\"withKeyboardEvents\" | \"withIndicators\"\n>;\n\nexport type LightboxThumbnailEmblaOptions = EmblaOptionsType;\n\nexport interface LightboxProps\n\textends BoxProps,\n\t\tStylesApiProps<LightboxFactory>,\n\t\tElementProps<\"div\"> {\n\t/**\n\t * Controls whether the lightbox is visible.\n\t */\n\topened: boolean;\n\n\t/**\n\t * Callback invoked when the lightbox requests to close.\n\t */\n\tonClose: () => void;\n\n\t/**\n\t * Keeps the lightbox mounted in the DOM when it is not visible.\n\t * @default false\n\t */\n\tkeepMounted?: boolean;\n\n\t/**\n\t * Closes the lightbox when a pointer interaction occurs outside its content area.\n\t * @default true\n\t */\n\tcloseOnClickOutside?: boolean;\n\n\t/**\n\t * Constrains keyboard focus to elements within the lightbox while it is open.\n\t * @default true\n\t */\n\ttrapFocus?: boolean;\n\n\t/**\n\t * Restores focus to the previously focused element after the lightbox closes.\n\t * @default true\n\t */\n\treturnFocus?: boolean;\n\n\t/**\n\t * Prevents background document scrolling while the lightbox is open.\n\t * @default true\n\t */\n\tlockScroll?: boolean;\n\n\t/**\n\t * Renders thumbnail previews for navigating between slides.\n\t * @default true\n\t */\n\twithThumbnails?: boolean;\n\n\t/**\n\t * Displays the current slide index and total slide count.\n\t * @default true\n\t */\n\twithCounter?: boolean;\n\n\t/**\n\t * Shows a control that toggles fullscreen mode for the lightbox.\n\t * @default true\n\t */\n\twithFullscreen?: boolean;\n\n\t/**\n\t * Shows a control that toggles zoom functionality for the active slide.\n\t * @default true\n\t */\n\twithZoom?: boolean;\n\n\t/**\n\t * Formats the slide counter output based on the current index and total count.\n\t * @default (index, total) => `${index + 1} / ${total}`\n\t */\n\tcounterFormatter?: (index: number, total: number) => string;\n\n\t/**\n\t * Configuration options forwarded to the underlying Carousel instance.\n\t */\n\tcarouselOptions?: LightboxCarouselOptions;\n\n\t/**\n\t * Configuration options used by the thumbnail strip Embla instance.\n\t */\n\tthumbnailEmblaOptions?: LightboxThumbnailEmblaOptions;\n\n\t/**\n\t * Props forwarded to the Overlay component that renders the backdrop.\n\t */\n\toverlayProps?: OverlayProps;\n\n\t/**\n\t * Transition configuration applied to the lightbox content container.\n\t */\n\ttransitionProps?: Omit<\n\t\tTransitionProps,\n\t\t\"mounted\" | \"keepMounted\" | \"children\"\n\t>;\n\n\t/**\n\t * Renders the lightbox inside a React Portal instead of the current DOM hierarchy.\n\t * @default true\n\t */\n\twithinPortal?: boolean;\n\n\t/**\n\t * Props forwarded to the Portal component when portal rendering is enabled.\n\t */\n\tportalProps?: Omit<PortalProps, \"withinPortal\" | \"children\">;\n}\n\nexport type LightboxFactory = Factory<{\n\tprops: LightboxProps;\n\tref: HTMLDivElement;\n\tstylesNames: LightboxStylesNames;\n\tvars: LightboxCssVariables;\n\tstaticComponents: {\n\t\tSlide: typeof LightboxSlide;\n\t};\n}>;\n\nconst defaultProps: Partial<LightboxProps> = LIGHTBOX_DEFAULT_PROPS;\n\nconst varsResolver = createVarsResolver<LightboxFactory>(\n\t(_, { overlayProps }) => ({\n\t\troot: {\n\t\t\t\"--lightbox-z-index\": String(\n\t\t\t\toverlayProps?.zIndex ?? LIGHTBOX_DEFAULT_PROPS.overlayProps.zIndex,\n\t\t\t),\n\t\t},\n\t\toverlay: {\n\t\t\t\"--lightbox-z-index\": String(\n\t\t\t\toverlayProps?.zIndex ?? LIGHTBOX_DEFAULT_PROPS.overlayProps.zIndex,\n\t\t\t),\n\t\t\t\"--overlay-z-index\": \"var(--lightbox-z-index)\",\n\t\t},\n\t}),\n);\n\nexport const Lightbox = factory<LightboxFactory>((_props, ref) => {\n\tconst props = useProps(\"Lightbox\", defaultProps, _props);\n\n\tconst {\n\t\topened,\n\t\tonClose,\n\t\tcloseOnClickOutside,\n\t\tclassNames,\n\t\tclassName,\n\t\tstyle,\n\t\tstyles,\n\t\tunstyled,\n\t\tvars,\n\t\tchildren,\n\t\twithThumbnails,\n\t\twithCounter,\n\t\twithFullscreen,\n\t\twithZoom,\n\t\tcounterFormatter,\n\t\tcarouselOptions,\n\t\tthumbnailEmblaOptions,\n\t\toverlayProps,\n\t\ttransitionProps,\n\t\tkeepMounted,\n\t\ttrapFocus,\n\t\tlockScroll,\n\t\treturnFocus,\n\t\twithinPortal,\n\t\tportalProps,\n\t} = props;\n\n\tconst getStyles = useStyles<LightboxFactory>({\n\t\tname: \"Lightbox\",\n\t\tclasses,\n\t\tprops,\n\t\tvarsResolver,\n\t\tclassName,\n\t\tstyle,\n\t\tclassNames,\n\t\tstyles,\n\t\tunstyled,\n\t\tvars,\n\t});\n\n\tconst _carouselOptions = {\n\t\t...LIGHTBOX_DEFAULT_PROPS.carouselOptions,\n\t\t...carouselOptions,\n\t};\n\n\tconst _thumbnailEmblaOptions = {\n\t\t...LIGHTBOX_DEFAULT_PROPS.thumbnailEmblaOptions,\n\t\t...thumbnailEmblaOptions,\n\t};\n\n\tconst _overlayProps = {\n\t\t...LIGHTBOX_DEFAULT_PROPS.overlayProps,\n\t\t...overlayProps,\n\t};\n\n\tconst _transitionProps = {\n\t\t...LIGHTBOX_DEFAULT_PROPS.transitionProps,\n\t\t...transitionProps,\n\t};\n\n\tconst {\n\t\tmergedRef,\n\t\tslides,\n\t\tcurrentIndex,\n\t\tcounterText,\n\t\tisFullscreen,\n\t\tcanUseFullscreen,\n\t\ttoggleFullscreen,\n\t\tisZoomed,\n\t\tisDraggingZoom,\n\t\tzoomOffset,\n\t\tzoomScale,\n\t\tcanZoomCurrent,\n\t\tactiveZoomContainerRef,\n\t\ttoggleZoom,\n\t\tupdateCanZoomAvailability,\n\t\thandleZoomPointerDown,\n\t\thandleZoomPointerMove,\n\t\thandleZoomPointerEnd,\n\t\thandleEmblaApi,\n\t\thandleThumbnailsEmblaApi,\n\t\thandleSlideChange,\n\t\thandleThumbnailClick,\n\t\thandleOutsideClick,\n\t\tisPlaying,\n\t\tcanUseAutoPlay,\n\t\ttoggleAutoPlay,\n\t\tmergedCarouselOptions,\n\t\tmergedThumbnailEmblaOptions,\n\t} = useLightbox({\n\t\tref,\n\t\topened,\n\t\twithZoom,\n\t\tonClose,\n\t\tcloseOnClickOutside,\n\t\ttrapFocus,\n\t\treturnFocus,\n\t\tchildren,\n\t\tcarouselOptions: _carouselOptions,\n\t\tthumbnailEmblaOptions: _thumbnailEmblaOptions,\n\t\tcounterFormatter,\n\t});\n\n\treturn (\n\t\t<OptionalPortal {...portalProps} withinPortal={withinPortal}>\n\t\t\t<Transition\n\t\t\t\t{..._transitionProps}\n\t\t\t\tmounted={opened}\n\t\t\t\tkeepMounted={keepMounted}\n\t\t\t>\n\t\t\t\t{(transitionStyles) => (\n\t\t\t\t\t<RemoveScroll enabled={lockScroll}>\n\t\t\t\t\t\t<Overlay\n\t\t\t\t\t\t\t{..._overlayProps}\n\t\t\t\t\t\t\t{...getStyles(\"overlay\", {\n\t\t\t\t\t\t\t\tclassName: _overlayProps.className,\n\t\t\t\t\t\t\t\tstyle: [transitionStyles, overlayProps?.style],\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<LightboxProvider\n\t\t\t\t\t\t\tvalue={{\n\t\t\t\t\t\t\t\tgetStyles,\n\t\t\t\t\t\t\t\tslides,\n\t\t\t\t\t\t\t\tcurrentIndex,\n\t\t\t\t\t\t\t\twithFullscreen,\n\t\t\t\t\t\t\t\twithZoom,\n\t\t\t\t\t\t\t\tisFullscreen,\n\t\t\t\t\t\t\t\tcanUseFullscreen,\n\t\t\t\t\t\t\t\tonToggleFullscreen: toggleFullscreen,\n\t\t\t\t\t\t\t\tonToggleZoom: toggleZoom,\n\t\t\t\t\t\t\t\tisZoomed,\n\t\t\t\t\t\t\t\tisDraggingZoom,\n\t\t\t\t\t\t\t\tcanZoomCurrent,\n\t\t\t\t\t\t\t\tzoomOffset,\n\t\t\t\t\t\t\t\tzoomScale,\n\t\t\t\t\t\t\t\tactiveZoomContainerRef,\n\t\t\t\t\t\t\t\tupdateCanZoomAvailability,\n\t\t\t\t\t\t\t\thandleZoomPointerDown,\n\t\t\t\t\t\t\t\thandleZoomPointerMove,\n\t\t\t\t\t\t\t\thandleZoomPointerEnd,\n\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\thandleOutsideClick,\n\t\t\t\t\t\t\t\tonThumbnailClick: handleThumbnailClick,\n\t\t\t\t\t\t\t\tcanUseAutoPlay,\n\t\t\t\t\t\t\t\tisPlaying,\n\t\t\t\t\t\t\t\tonToggleAutoPlay: toggleAutoPlay,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Box\n\t\t\t\t\t\t\t\tref={mergedRef}\n\t\t\t\t\t\t\t\t{...getStyles(\"root\", { style: transitionStyles })}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<LightboxToolbar />\n\n\t\t\t\t\t\t\t\t{withCounter && (\n\t\t\t\t\t\t\t\t\t<Text size=\"sm\" {...getStyles(\"counter\")}>\n\t\t\t\t\t\t\t\t\t\t{counterText}\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t<Carousel\n\t\t\t\t\t\t\t\t\tincludeGapInSize={false}\n\t\t\t\t\t\t\t\t\tslideSize=\"100%\"\n\t\t\t\t\t\t\t\t\theight=\"100%\"\n\t\t\t\t\t\t\t\t\t{...mergedCarouselOptions}\n\t\t\t\t\t\t\t\t\t{...getStyles(\"slides\")}\n\t\t\t\t\t\t\t\t\twithIndicators={false}\n\t\t\t\t\t\t\t\t\twithKeyboardEvents={false}\n\t\t\t\t\t\t\t\t\tonSlideChange={handleSlideChange}\n\t\t\t\t\t\t\t\t\tgetEmblaApi={handleEmblaApi}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<LightboxSlides />\n\t\t\t\t\t\t\t\t</Carousel>\n\n\t\t\t\t\t\t\t\t{withThumbnails && (\n\t\t\t\t\t\t\t\t\t<LightboxThumbnails\n\t\t\t\t\t\t\t\t\t\temblaOptions={mergedThumbnailEmblaOptions}\n\t\t\t\t\t\t\t\t\t\tonEmblaApi={handleThumbnailsEmblaApi}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Box>\n\t\t\t\t\t\t</LightboxProvider>\n\t\t\t\t\t</RemoveScroll>\n\t\t\t\t)}\n\t\t\t</Transition>\n\t\t</OptionalPortal>\n\t);\n});\n\nLightbox.displayName = \"Lightbox\";\n\nLightbox.classes = classes;\n\nLightbox.Slide = LightboxSlide;\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Lightbox.mjs","sources":["../../src/Lightbox.tsx"],"sourcesContent":["import { type Factory, factory, useProps } from \"@mantine/core\";\nimport { LightboxAutoplayButton } from \"./components/LightboxAutoplayButton.js\";\nimport { LightboxCloseButton } from \"./components/LightboxCloseButton.js\";\nimport {\n\tLightboxControls,\n\ttype LightboxControlsProps,\n} from \"./components/LightboxControls.js\";\nimport {\n\tLightboxCounter,\n\ttype LightboxCounterProps,\n} from \"./components/LightboxCounter.js\";\nimport { LightboxFullscreenButton } from \"./components/LightboxFullscreenButton.js\";\nimport {\n\tLightboxRoot,\n\ttype LightboxRootProps,\n} from \"./components/LightboxRoot.js\";\nimport { LightboxSlide } from \"./components/LightboxSlide.js\";\nimport {\n\tLightboxSlides,\n\ttype LightboxSlidesProps,\n} from \"./components/LightboxSlides.js\";\nimport { LightboxThumbnail } from \"./components/LightboxThumbnail.js\";\nimport {\n\tLightboxThumbnails,\n\ttype LightboxThumbnailsProps,\n} from \"./components/LightboxThumbnails.js\";\nimport { LightboxToolbar } from \"./components/LightboxToolbar.js\";\nimport { LightboxZoomButton } from \"./components/LightboxZoomButton.js\";\n\nexport interface LightboxImageData {\n\tsrc: string;\n\talt?: string;\n}\n\nexport interface LightboxProps extends Omit<LightboxRootProps, \"children\"> {\n\t/** Array of images to display */\n\timages: LightboxImageData[];\n\t/** Show toolbar (zoom, fullscreen, close buttons), `true` by default */\n\twithToolbar?: boolean;\n\t/** Show prev/next navigation controls, `true` by default */\n\twithControls?: boolean;\n\t/** Show thumbnail strip, `true` by default */\n\twithThumbnails?: boolean;\n\t/** Show slide counter, `true` by default */\n\twithCounter?: boolean;\n\t/** Props passed to the slides carousel (`LightboxSlides`) */\n\tslidesProps?: Pick<\n\t\tLightboxSlidesProps,\n\t\t\"initialSlide\" | \"emblaOptions\" | \"emblaPlugins\"\n\t>;\n\t/** Props passed to the thumbnails carousel (`LightboxThumbnails`) */\n\tthumbnailsProps?: Pick<LightboxThumbnailsProps, \"emblaOptions\">;\n\t/** Props passed to the prev/next controls (`LightboxControls`) */\n\tcontrolsProps?: Pick<LightboxControlsProps, \"size\">;\n\t/** Props passed to the slide counter (`LightboxCounter`) */\n\tcounterProps?: Pick<LightboxCounterProps, \"formatter\">;\n}\n\nexport type LightboxFactory = Factory<{\n\tprops: LightboxProps;\n\tref: HTMLDivElement;\n\tstaticComponents: {\n\t\tRoot: typeof LightboxRoot;\n\t\tToolbar: typeof LightboxToolbar;\n\t\tCounter: typeof LightboxCounter;\n\t\tControls: typeof LightboxControls;\n\t\tSlides: typeof LightboxSlides;\n\t\tSlide: typeof LightboxSlide;\n\t\tThumbnails: typeof LightboxThumbnails;\n\t\tThumbnail: typeof LightboxThumbnail;\n\t\tCloseButton: typeof LightboxCloseButton;\n\t\tZoomButton: typeof LightboxZoomButton;\n\t\tFullscreenButton: typeof LightboxFullscreenButton;\n\t\tAutoplayButton: typeof LightboxAutoplayButton;\n\t};\n}>;\n\nconst defaultProps = {\n\twithToolbar: true,\n\twithControls: true,\n\twithThumbnails: true,\n\twithCounter: true,\n} satisfies Partial<LightboxProps>;\n\nexport const Lightbox = factory<LightboxFactory>((_props, ref) => {\n\tconst props = useProps(\"Lightbox\", defaultProps, _props);\n\n\tconst {\n\t\timages,\n\t\twithToolbar,\n\t\twithControls,\n\t\twithThumbnails,\n\t\twithCounter,\n\t\tslidesProps,\n\t\tthumbnailsProps,\n\t\tcontrolsProps,\n\t\tcounterProps,\n\t\t...rootProps\n\t} = props;\n\n\treturn (\n\t\t<LightboxRoot ref={ref} {...rootProps}>\n\t\t\t{withToolbar && <LightboxToolbar />}\n\t\t\t{withCounter && <LightboxCounter {...counterProps} />}\n\t\t\t{withControls && <LightboxControls {...controlsProps} />}\n\t\t\t<LightboxSlides {...slidesProps}>\n\t\t\t\t{images.map((img) => (\n\t\t\t\t\t<LightboxSlide key={img.src}>\n\t\t\t\t\t\t<img src={img.src} alt={img.alt} />\n\t\t\t\t\t</LightboxSlide>\n\t\t\t\t))}\n\t\t\t</LightboxSlides>\n\t\t\t{withThumbnails && (\n\t\t\t\t<LightboxThumbnails {...thumbnailsProps}>\n\t\t\t\t\t{images.map((img) => (\n\t\t\t\t\t\t<LightboxThumbnail key={img.src}>\n\t\t\t\t\t\t\t<img src={img.src} alt={img.alt} />\n\t\t\t\t\t\t</LightboxThumbnail>\n\t\t\t\t\t))}\n\t\t\t\t</LightboxThumbnails>\n\t\t\t)}\n\t\t</LightboxRoot>\n\t);\n});\n\nLightbox.displayName = \"Lightbox\";\n\nLightbox.Root = LightboxRoot;\nLightbox.Toolbar = LightboxToolbar;\nLightbox.Counter = LightboxCounter;\nLightbox.Controls = LightboxControls;\nLightbox.Slides = LightboxSlides;\nLightbox.Slide = LightboxSlide;\nLightbox.Thumbnails = LightboxThumbnails;\nLightbox.Thumbnail = LightboxThumbnail;\nLightbox.CloseButton = LightboxCloseButton;\nLightbox.ZoomButton = LightboxZoomButton;\nLightbox.FullscreenButton = LightboxFullscreenButton;\nLightbox.AutoplayButton = LightboxAutoplayButton;\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- var classes = {"root":"me_4f1afa9a","overlay":"me_143cf98","slides":"me_f5ce649a","slide":"me_9450faf9","thumbnails":"me_411d1cbf","thumbnailsViewport":"me_3a7e4a85","thumbnailsContainer":"me_59a13682","thumbnailSlide":"me_fe2263dd","thumbnailButton":"me_a9abc686","thumbnailPlaceholder":"me_ff615a9f","zoomContainer":"me_dfd5db36","zoomContent":"me_2ed9ec6e","toolbar":"me_fe5b16c3","counter":"me_7b66e144"};
2
+ var classes = {"root":"me_4f1afa9a","slides":"me_f5ce649a","slidesViewport":"me_7f838760","slidesContainer":"me_b5439507","control":"me_7b06f0a5","slide":"me_9450faf9","thumbnails":"me_411d1cbf","thumbnailsViewport":"me_3a7e4a85","thumbnailsContainer":"me_59a13682","thumbnail":"me_3be82a34","thumbnailButton":"me_a9abc686","zoomContainer":"me_dfd5db36","zoomContent":"me_2ed9ec6e","toolbar":"me_fe5b16c3","counter":"me_7b66e144"};
3
3
 
4
4
  export { classes as default };
5
5
  //# sourceMappingURL=Lightbox.module.css.mjs.map
@@ -0,0 +1,9 @@
1
+ 'use client';
2
+ import { createSafeContext } from '@mantine/core';
3
+
4
+ const [LightboxSlideProvider, useLightboxSlideContext] = createSafeContext(
5
+ "LightboxSlide component was not found in the tree"
6
+ );
7
+
8
+ export { LightboxSlideProvider, useLightboxSlideContext };
9
+ //# sourceMappingURL=LightboxSlide.context.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LightboxSlide.context.mjs","sources":["../../src/LightboxSlide.context.ts"],"sourcesContent":["import { createSafeContext } from \"@mantine/core\";\n\nexport interface LightboxSlideContext {\n\tindex: number;\n}\n\nexport const [LightboxSlideProvider, useLightboxSlideContext] =\n\tcreateSafeContext<LightboxSlideContext>(\n\t\t\"LightboxSlide component was not found in the tree\",\n\t);\n"],"names":[],"mappings":";;;AAEY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB,CAAC,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAA;AACjF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAA,CAAA;;"}
@@ -1,19 +1,86 @@
1
1
  'use client';
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { Carousel } from '@mantine/carousel';
4
- import { factory, useProps } from '@mantine/core';
4
+ import { factory, useProps, Box } from '@mantine/core';
5
+ import { useSlideInteractions } from './hooks/useSlideInteractions.mjs';
5
6
  import { useLightboxContext } from './Lightbox.context.mjs';
6
7
  import classes from './Lightbox.module.css.mjs';
8
+ import { useLightboxSlideContext } from './LightboxSlide.context.mjs';
9
+ import { getZoomTransform } from './utils/zoom.mjs';
7
10
 
8
- const LightboxSlide = factory((props, ref) => {
9
- const { classNames, className, style, styles, vars, thumbnail, ...others } = useProps("LightboxSlide", null, props);
10
- const ctx = useLightboxContext();
11
+ const LightboxSlide = factory((_props, ref) => {
12
+ const props = useProps("LightboxSlide", null, _props);
13
+ const { className, style, classNames, styles, children, ...others } = props;
14
+ const {
15
+ activeZoomContainerRef,
16
+ currentIndex,
17
+ isZoomed,
18
+ canZoomCurrent,
19
+ isDraggingZoom,
20
+ zoomOffset,
21
+ zoomScale,
22
+ getStyles,
23
+ handleOutsideClick,
24
+ handleZoomPointerDown,
25
+ handleZoomPointerMove,
26
+ handleZoomPointerEnd,
27
+ updateCanZoomAvailability
28
+ } = useLightboxContext();
29
+ const { index } = useLightboxSlideContext();
30
+ const {
31
+ handleSlidePointerDown,
32
+ handleSlidePointerMove,
33
+ handleSlidePointerUp,
34
+ handleSlidePointerCancel,
35
+ handleSlideLoadCapture
36
+ } = useSlideInteractions({
37
+ onClose: handleOutsideClick,
38
+ onZoomPointerDown: handleZoomPointerDown,
39
+ onZoomPointerMove: handleZoomPointerMove,
40
+ onZoomPointerEnd: handleZoomPointerEnd,
41
+ updateCanZoomAvailability
42
+ });
11
43
  return /* @__PURE__ */ jsx(
12
44
  Carousel.Slide,
13
45
  {
14
46
  ref,
15
- ...ctx.getStyles("slide", { className, style, classNames, styles }),
16
- ...others
47
+ ...getStyles("slide", {
48
+ className,
49
+ style,
50
+ classNames,
51
+ styles
52
+ }),
53
+ ...others,
54
+ children: /* @__PURE__ */ jsx(
55
+ Box,
56
+ {
57
+ ref: activeZoomContainerRef,
58
+ ...getStyles("zoomContainer"),
59
+ "data-active": currentIndex === index || void 0,
60
+ "data-zoomed": isZoomed || void 0,
61
+ "data-can-zoom": canZoomCurrent || void 0,
62
+ "data-dragging": isDraggingZoom && isZoomed || void 0,
63
+ onPointerDown: handleSlidePointerDown,
64
+ onPointerMove: handleSlidePointerMove,
65
+ onPointerUp: handleSlidePointerUp,
66
+ onPointerCancel: handleSlidePointerCancel,
67
+ onLoadCapture: handleSlideLoadCapture,
68
+ children: /* @__PURE__ */ jsx(
69
+ Box,
70
+ {
71
+ ...getStyles("zoomContent"),
72
+ style: {
73
+ transform: getZoomTransform({
74
+ isZoomed,
75
+ offset: zoomOffset,
76
+ scale: zoomScale
77
+ })
78
+ },
79
+ children: /* @__PURE__ */ jsx(Box, { style: { display: "contents" }, "data-lightbox-slide-content": true, children })
80
+ }
81
+ )
82
+ }
83
+ )
17
84
  }
18
85
  );
19
86
  });
@@ -1 +1 @@
1
- {"version":3,"file":"LightboxSlide.mjs","sources":["../../src/LightboxSlide.tsx"],"sourcesContent":["import { Carousel } from \"@mantine/carousel\";\nimport {\n\ttype BoxProps,\n\ttype CompoundStylesApiProps,\n\ttype ElementProps,\n\ttype Factory,\n\tfactory,\n\tuseProps,\n} from \"@mantine/core\";\nimport type { ReactNode } from \"react\";\nimport { useLightboxContext } from \"./Lightbox.context.js\";\nimport classes from \"./Lightbox.module.css\";\n\nexport type LightboxSlideStylesNames = \"slide\";\n\nexport interface LightboxSlideProps\n\textends BoxProps,\n\t\tCompoundStylesApiProps<LightboxSlideFactory>,\n\t\tElementProps<\"div\"> {\n\t/** Content rendered as the slide thumbnail in the lightbox navigation, or a default placeholder if omitted. */\n\tthumbnail?: ReactNode;\n}\n\nexport type LightboxSlideFactory = Factory<{\n\tprops: LightboxSlideProps;\n\tref: HTMLDivElement;\n\tstylesNames: LightboxSlideStylesNames;\n\tcompound: true;\n}>;\n\nexport const LightboxSlide = factory<LightboxSlideFactory>((props, ref) => {\n\tconst { classNames, className, style, styles, vars, thumbnail, ...others } =\n\t\tuseProps(\"LightboxSlide\", null, props);\n\n\tconst ctx = useLightboxContext();\n\n\treturn (\n\t\t<Carousel.Slide\n\t\t\tref={ref}\n\t\t\t{...ctx.getStyles(\"slide\", { className, style, classNames, styles })}\n\t\t\t{...others}\n\t\t/>\n\t);\n});\n\nLightboxSlide.classes = classes;\n\nLightboxSlide.displayName = \"LightboxSlide\";\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LightboxSlide.mjs","sources":["../../src/LightboxSlide.tsx"],"sourcesContent":["import { Carousel } from \"@mantine/carousel\";\nimport {\n\tBox,\n\ttype BoxProps,\n\ttype CompoundStylesApiProps,\n\ttype ElementProps,\n\ttype Factory,\n\tfactory,\n\tuseProps,\n} from \"@mantine/core\";\nimport { useSlideInteractions } from \"./hooks/useSlideInteractions.js\";\nimport { useLightboxContext } from \"./Lightbox.context.js\";\nimport classes from \"./Lightbox.module.css\";\nimport { useLightboxSlideContext } from \"./LightboxSlide.context.js\";\nimport { getZoomTransform } from \"./utils/zoom.js\";\n\nexport type LightboxSlideStylesNames = \"slide\";\n\nexport interface LightboxSlideProps\n\textends BoxProps,\n\t\tCompoundStylesApiProps<LightboxSlideFactory>,\n\t\tElementProps<\"div\"> {}\n\nexport type LightboxSlideFactory = Factory<{\n\tprops: LightboxSlideProps;\n\tref: HTMLDivElement;\n\tstylesNames: LightboxSlideStylesNames;\n\tcompound: true;\n}>;\n\nexport const LightboxSlide = factory<LightboxSlideFactory>((_props, ref) => {\n\tconst props = useProps(\"LightboxSlide\", null, _props);\n\n\tconst { className, style, classNames, styles, children, ...others } = props;\n\n\tconst {\n\t\tactiveZoomContainerRef,\n\t\tcurrentIndex,\n\t\tisZoomed,\n\t\tcanZoomCurrent,\n\t\tisDraggingZoom,\n\t\tzoomOffset,\n\t\tzoomScale,\n\t\tgetStyles,\n\t\thandleOutsideClick,\n\t\thandleZoomPointerDown,\n\t\thandleZoomPointerMove,\n\t\thandleZoomPointerEnd,\n\t\tupdateCanZoomAvailability,\n\t} = useLightboxContext();\n\n\tconst { index } = useLightboxSlideContext();\n\n\tconst {\n\t\thandleSlidePointerDown,\n\t\thandleSlidePointerMove,\n\t\thandleSlidePointerUp,\n\t\thandleSlidePointerCancel,\n\t\thandleSlideLoadCapture,\n\t} = useSlideInteractions({\n\t\tonClose: handleOutsideClick,\n\t\tonZoomPointerDown: handleZoomPointerDown,\n\t\tonZoomPointerMove: handleZoomPointerMove,\n\t\tonZoomPointerEnd: handleZoomPointerEnd,\n\t\tupdateCanZoomAvailability: updateCanZoomAvailability,\n\t});\n\n\treturn (\n\t\t<Carousel.Slide\n\t\t\tref={ref}\n\t\t\t{...getStyles(\"slide\", {\n\t\t\t\tclassName,\n\t\t\t\tstyle,\n\t\t\t\tclassNames,\n\t\t\t\tstyles,\n\t\t\t})}\n\t\t\t{...others}\n\t\t>\n\t\t\t<Box\n\t\t\t\tref={activeZoomContainerRef}\n\t\t\t\t{...getStyles(\"zoomContainer\")}\n\t\t\t\tdata-active={currentIndex === index || undefined}\n\t\t\t\tdata-zoomed={isZoomed || undefined}\n\t\t\t\tdata-can-zoom={canZoomCurrent || undefined}\n\t\t\t\tdata-dragging={(isDraggingZoom && isZoomed) || undefined}\n\t\t\t\tonPointerDown={handleSlidePointerDown}\n\t\t\t\tonPointerMove={handleSlidePointerMove}\n\t\t\t\tonPointerUp={handleSlidePointerUp}\n\t\t\t\tonPointerCancel={handleSlidePointerCancel}\n\t\t\t\tonLoadCapture={handleSlideLoadCapture}\n\t\t\t>\n\t\t\t\t<Box\n\t\t\t\t\t{...getStyles(\"zoomContent\")}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\ttransform: getZoomTransform({\n\t\t\t\t\t\t\tisZoomed: isZoomed,\n\t\t\t\t\t\t\toffset: zoomOffset,\n\t\t\t\t\t\t\tscale: zoomScale,\n\t\t\t\t\t\t}),\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<Box style={{ display: \"contents\" }} data-lightbox-slide-content>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</Box>\n\t\t\t\t</Box>\n\t\t\t</Box>\n\t\t</Carousel.Slide>\n\t);\n});\n\nLightboxSlide.classes = classes;\n\nLightboxSlide.displayName = \"LightboxSlide\";\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { factory, useProps, ActionIcon } from '@mantine/core';
4
+ import { useLightboxContext } from '../context/LightboxContext.mjs';
5
+ import classes from '../styles/Lightbox.module.css.mjs';
6
+ import { Pause } from './icons/Pause.mjs';
7
+ import { Play } from './icons/Play.mjs';
8
+
9
+ const LightboxAutoplayButton = factory(
10
+ (_props, ref) => {
11
+ const props = useProps("LightboxAutoplayButton", null, _props);
12
+ const { classNames, className, style, styles, vars, ...others } = props;
13
+ const { canAutoPlay, isPlaying, toggleAutoPlay, getStyles } = useLightboxContext();
14
+ if (!canAutoPlay) {
15
+ return null;
16
+ }
17
+ return /* @__PURE__ */ jsx(
18
+ ActionIcon,
19
+ {
20
+ ref,
21
+ variant: "default",
22
+ size: "lg",
23
+ onClick: toggleAutoPlay,
24
+ "aria-label": isPlaying ? "Pause autoplay" : "Play autoplay",
25
+ ...getStyles("autoplayButton", {
26
+ className,
27
+ style,
28
+ classNames,
29
+ styles
30
+ }),
31
+ ...others,
32
+ children: isPlaying ? /* @__PURE__ */ jsx(Pause, {}) : /* @__PURE__ */ jsx(Play, {})
33
+ }
34
+ );
35
+ }
36
+ );
37
+ LightboxAutoplayButton.classes = classes;
38
+ LightboxAutoplayButton.displayName = "LightboxAutoplayButton";
39
+
40
+ export { LightboxAutoplayButton };
41
+ //# sourceMappingURL=LightboxAutoplayButton.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LightboxAutoplayButton.mjs","sources":["../../../src/components/LightboxAutoplayButton.tsx"],"sourcesContent":["import {\n\tActionIcon,\n\ttype BoxProps,\n\ttype CompoundStylesApiProps,\n\ttype ElementProps,\n\ttype Factory,\n\tfactory,\n\tuseProps,\n} from \"@mantine/core\";\nimport { useLightboxContext } from \"../context/LightboxContext.js\";\nimport classes from \"../styles/Lightbox.module.css\";\nimport { Pause } from \"./icons/Pause.js\";\nimport { Play } from \"./icons/Play.js\";\n\nexport type LightboxAutoplayButtonStylesNames = \"autoplayButton\";\n\nexport interface LightboxAutoplayButtonProps\n\textends BoxProps,\n\t\tCompoundStylesApiProps<LightboxAutoplayButtonFactory>,\n\t\tElementProps<\"button\"> {}\n\nexport type LightboxAutoplayButtonFactory = Factory<{\n\tprops: LightboxAutoplayButtonProps;\n\tref: HTMLButtonElement;\n\tstylesNames: LightboxAutoplayButtonStylesNames;\n\tcompound: true;\n}>;\n\nexport const LightboxAutoplayButton = factory<LightboxAutoplayButtonFactory>(\n\t(_props, ref) => {\n\t\tconst props = useProps(\"LightboxAutoplayButton\", null, _props);\n\n\t\tconst { classNames, className, style, styles, vars, ...others } = props;\n\n\t\tconst { canAutoPlay, isPlaying, toggleAutoPlay, getStyles } =\n\t\t\tuseLightboxContext();\n\n\t\tif (!canAutoPlay) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<ActionIcon\n\t\t\t\tref={ref}\n\t\t\t\tvariant=\"default\"\n\t\t\t\tsize=\"lg\"\n\t\t\t\tonClick={toggleAutoPlay}\n\t\t\t\taria-label={isPlaying ? \"Pause autoplay\" : \"Play autoplay\"}\n\t\t\t\t{...getStyles(\"autoplayButton\", {\n\t\t\t\t\tclassName,\n\t\t\t\t\tstyle,\n\t\t\t\t\tclassNames,\n\t\t\t\t\tstyles,\n\t\t\t\t})}\n\t\t\t\t{...others}\n\t\t\t>\n\t\t\t\t{isPlaying ? <Pause /> : <Play />}\n\t\t\t</ActionIcon>\n\t\t);\n\t},\n);\n\nLightboxAutoplayButton.classes = classes;\n\nLightboxAutoplayButton.displayName = \"LightboxAutoplayButton\";\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { Carousel } from '@mantine/carousel';
4
+ import { useLightboxContext } from '../Lightbox.context.mjs';
5
+
6
+ function LightboxCarousel(props) {
7
+ const { children: _children } = props;
8
+ const ctx = useLightboxContext();
9
+ return /* @__PURE__ */ jsx(
10
+ Carousel,
11
+ {
12
+ includeGapInSize: false,
13
+ slideSize: "100%",
14
+ height: "100%",
15
+ ...ctx.mergedCarouselOptions,
16
+ ...ctx.getStyles("slides"),
17
+ withIndicators: false,
18
+ withKeyboardEvents: false,
19
+ onSlideChange: ctx.onSlideChange,
20
+ getEmblaApi: ctx.onCarouselEmblaApi,
21
+ children: ctx.slides
22
+ }
23
+ );
24
+ }
25
+
26
+ export { LightboxCarousel };
27
+ //# sourceMappingURL=LightboxCarousel.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LightboxCarousel.mjs","sources":["../../../src/components/LightboxCarousel.tsx"],"sourcesContent":["import { Carousel } from \"@mantine/carousel\";\nimport type { ReactNode } from \"react\";\nimport { useLightboxContext } from \"../Lightbox.context.js\";\n\nexport interface LightboxCarouselProps {\n\tchildren?: ReactNode;\n}\n\nexport function LightboxCarousel(props: LightboxCarouselProps) {\n\tconst { children: _children } = props;\n\n\tconst ctx = useLightboxContext();\n\n\treturn (\n\t\t<Carousel\n\t\t\tincludeGapInSize={false}\n\t\t\tslideSize=\"100%\"\n\t\t\theight=\"100%\"\n\t\t\t{...ctx.mergedCarouselOptions}\n\t\t\t{...ctx.getStyles(\"slides\")}\n\t\t\twithIndicators={false}\n\t\t\twithKeyboardEvents={false}\n\t\t\tonSlideChange={ctx.onSlideChange}\n\t\t\tgetEmblaApi={ctx.onCarouselEmblaApi}\n\t\t>\n\t\t\t{ctx.slides}\n\t\t</Carousel>\n\t);\n}\n"],"names":[],"mappings":"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"}