@mantine-bites/lightbox 1.0.0-beta.1 → 1.0.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -4
- package/dist/cjs/Lightbox.cjs +38 -242
- package/dist/cjs/Lightbox.cjs.map +1 -1
- package/dist/cjs/Lightbox.context-value.cjs +47 -0
- package/dist/cjs/Lightbox.context-value.cjs.map +1 -0
- package/dist/cjs/Lightbox.context.cjs.map +1 -1
- package/dist/cjs/Lightbox.defaults.cjs +29 -0
- package/dist/cjs/Lightbox.defaults.cjs.map +1 -0
- package/dist/cjs/Lightbox.module.css.cjs +1 -1
- package/dist/cjs/LightboxSlide.cjs +72 -5
- package/dist/cjs/LightboxSlide.cjs.map +1 -1
- package/dist/cjs/LightboxSlide.context.cjs +12 -0
- package/dist/cjs/LightboxSlide.context.cjs.map +1 -0
- package/dist/cjs/components/EnterFullscreen.cjs +30 -0
- package/dist/cjs/components/EnterFullscreen.cjs.map +1 -0
- package/dist/cjs/components/ExitFullscreen.cjs +30 -0
- package/dist/cjs/components/ExitFullscreen.cjs.map +1 -0
- package/dist/cjs/components/LightboxAutoplayButton.cjs +43 -0
- package/dist/cjs/components/LightboxAutoplayButton.cjs.map +1 -0
- package/dist/cjs/components/LightboxCarousel.cjs +29 -0
- package/dist/cjs/components/LightboxCarousel.cjs.map +1 -0
- package/dist/cjs/components/LightboxCarouselSlide.context.cjs +12 -0
- package/dist/cjs/components/LightboxCarouselSlide.context.cjs.map +1 -0
- package/dist/cjs/components/LightboxCloseButton.cjs +33 -0
- package/dist/cjs/components/LightboxCloseButton.cjs.map +1 -0
- package/dist/cjs/components/LightboxContent.cjs +38 -0
- package/dist/cjs/components/LightboxContent.cjs.map +1 -0
- package/dist/cjs/components/LightboxControls.cjs +68 -0
- package/dist/cjs/components/LightboxControls.cjs.map +1 -0
- package/dist/cjs/components/LightboxCounter.cjs +34 -0
- package/dist/cjs/components/LightboxCounter.cjs.map +1 -0
- package/dist/cjs/components/LightboxFullscreenButton.cjs +41 -0
- package/dist/cjs/components/LightboxFullscreenButton.cjs.map +1 -0
- package/dist/cjs/components/LightboxOverlay.cjs +40 -0
- package/dist/cjs/components/LightboxOverlay.cjs.map +1 -0
- package/dist/cjs/components/LightboxPreset.cjs +32 -0
- package/dist/cjs/components/LightboxPreset.cjs.map +1 -0
- package/dist/cjs/components/LightboxRoot.cjs +260 -0
- package/dist/cjs/components/LightboxRoot.cjs.map +1 -0
- package/dist/cjs/components/LightboxSlide.cjs +154 -0
- package/dist/cjs/components/LightboxSlide.cjs.map +1 -0
- package/dist/cjs/components/LightboxSlide.context.cjs +12 -0
- package/dist/cjs/components/LightboxSlide.context.cjs.map +1 -0
- package/dist/cjs/components/LightboxSlides.cjs +108 -0
- package/dist/cjs/components/LightboxSlides.cjs.map +1 -0
- package/dist/cjs/components/LightboxThumbnail.cjs +40 -0
- package/dist/cjs/components/LightboxThumbnail.cjs.map +1 -0
- package/dist/cjs/components/LightboxThumbnail.context.cjs +12 -0
- package/dist/cjs/components/LightboxThumbnail.context.cjs.map +1 -0
- package/dist/cjs/components/LightboxThumbnails.cjs +121 -0
- package/dist/cjs/components/LightboxThumbnails.cjs.map +1 -0
- package/dist/cjs/components/LightboxToolbar.cjs +94 -0
- package/dist/cjs/components/LightboxToolbar.cjs.map +1 -0
- package/dist/cjs/components/LightboxZoomButton.cjs +39 -0
- package/dist/cjs/components/LightboxZoomButton.cjs.map +1 -0
- package/dist/cjs/components/Pause.cjs +28 -0
- package/dist/cjs/components/Pause.cjs.map +1 -0
- package/dist/cjs/components/Play.cjs +22 -0
- package/dist/cjs/components/Play.cjs.map +1 -0
- package/dist/cjs/components/QuestionMark.cjs +28 -0
- package/dist/cjs/components/QuestionMark.cjs.map +1 -0
- package/dist/cjs/components/ZoomIn.cjs +30 -0
- package/dist/cjs/components/ZoomIn.cjs.map +1 -0
- package/dist/cjs/components/ZoomOut.cjs +29 -0
- package/dist/cjs/components/ZoomOut.cjs.map +1 -0
- package/dist/cjs/components/icons/EnterFullscreen.cjs +30 -0
- package/dist/cjs/components/icons/EnterFullscreen.cjs.map +1 -0
- package/dist/cjs/components/icons/ExitFullscreen.cjs +30 -0
- package/dist/cjs/components/icons/ExitFullscreen.cjs.map +1 -0
- package/dist/cjs/components/icons/Pause.cjs +28 -0
- package/dist/cjs/components/icons/Pause.cjs.map +1 -0
- package/dist/cjs/components/icons/Play.cjs +22 -0
- package/dist/cjs/components/icons/Play.cjs.map +1 -0
- package/dist/cjs/components/icons/ZoomIn.cjs +30 -0
- package/dist/cjs/components/icons/ZoomIn.cjs.map +1 -0
- package/dist/cjs/components/icons/ZoomOut.cjs +29 -0
- package/dist/cjs/components/icons/ZoomOut.cjs.map +1 -0
- package/dist/cjs/context/LightboxContext.cjs +12 -0
- package/dist/cjs/context/LightboxContext.cjs.map +1 -0
- package/dist/cjs/context/LightboxSlideContext.cjs +12 -0
- package/dist/cjs/context/LightboxSlideContext.cjs.map +1 -0
- package/dist/cjs/context/LightboxThumbnailContext.cjs +12 -0
- package/dist/cjs/context/LightboxThumbnailContext.cjs.map +1 -0
- package/dist/cjs/hooks/useAutoPlay.cjs +77 -0
- package/dist/cjs/hooks/useAutoPlay.cjs.map +1 -0
- package/dist/cjs/hooks/useCarouselOptions.cjs +30 -0
- package/dist/cjs/hooks/useCarouselOptions.cjs.map +1 -0
- package/dist/cjs/hooks/useFullscreen.cjs +39 -0
- package/dist/cjs/hooks/useFullscreen.cjs.map +1 -0
- package/dist/cjs/hooks/useKeyboardNavigation.cjs +29 -0
- package/dist/cjs/hooks/useKeyboardNavigation.cjs.map +1 -0
- package/dist/cjs/hooks/useLightbox.cjs +116 -0
- package/dist/cjs/hooks/useLightbox.cjs.map +1 -0
- package/dist/cjs/hooks/useLightboxRootOptions.cjs +20 -0
- package/dist/cjs/hooks/useLightboxRootOptions.cjs.map +1 -0
- package/dist/cjs/hooks/useSlideInteractions.cjs +94 -0
- package/dist/cjs/hooks/useSlideInteractions.cjs.map +1 -0
- package/dist/cjs/hooks/useThumbnails.cjs +61 -0
- package/dist/cjs/hooks/useThumbnails.cjs.map +1 -0
- package/dist/cjs/hooks/useZoom.cjs +264 -0
- package/dist/cjs/hooks/useZoom.cjs.map +1 -0
- package/dist/cjs/index.cjs +26 -2
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/styles/Lightbox.module.css.cjs +7 -0
- package/dist/cjs/styles/Lightbox.module.css.cjs.map +1 -0
- package/dist/cjs/utils/fullscreen.cjs +41 -0
- package/dist/cjs/utils/fullscreen.cjs.map +1 -0
- package/dist/cjs/utils/pointer.cjs +50 -0
- package/dist/cjs/utils/pointer.cjs.map +1 -0
- package/dist/cjs/utils/zoom.cjs +91 -0
- package/dist/cjs/utils/zoom.cjs.map +1 -0
- package/dist/esm/Lightbox.context-value.mjs +45 -0
- package/dist/esm/Lightbox.context-value.mjs.map +1 -0
- package/dist/esm/Lightbox.context.mjs.map +1 -1
- package/dist/esm/Lightbox.defaults.mjs +27 -0
- package/dist/esm/Lightbox.defaults.mjs.map +1 -0
- package/dist/esm/Lightbox.mjs +40 -244
- package/dist/esm/Lightbox.mjs.map +1 -1
- package/dist/esm/Lightbox.module.css.mjs +1 -1
- package/dist/esm/LightboxSlide.context.mjs +9 -0
- package/dist/esm/LightboxSlide.context.mjs.map +1 -0
- package/dist/esm/LightboxSlide.mjs +73 -6
- package/dist/esm/LightboxSlide.mjs.map +1 -1
- package/dist/esm/components/EnterFullscreen.mjs +28 -0
- package/dist/esm/components/EnterFullscreen.mjs.map +1 -0
- package/dist/esm/components/ExitFullscreen.mjs +28 -0
- package/dist/esm/components/ExitFullscreen.mjs.map +1 -0
- package/dist/esm/components/LightboxAutoplayButton.mjs +41 -0
- package/dist/esm/components/LightboxAutoplayButton.mjs.map +1 -0
- package/dist/esm/components/LightboxCarousel.mjs +27 -0
- package/dist/esm/components/LightboxCarousel.mjs.map +1 -0
- package/dist/esm/components/LightboxCarouselSlide.context.mjs +9 -0
- package/dist/esm/components/LightboxCarouselSlide.context.mjs.map +1 -0
- package/dist/esm/components/LightboxCloseButton.mjs +31 -0
- package/dist/esm/components/LightboxCloseButton.mjs.map +1 -0
- package/dist/esm/components/LightboxContent.mjs +36 -0
- package/dist/esm/components/LightboxContent.mjs.map +1 -0
- package/dist/esm/components/LightboxControls.mjs +66 -0
- package/dist/esm/components/LightboxControls.mjs.map +1 -0
- package/dist/esm/components/LightboxCounter.mjs +32 -0
- package/dist/esm/components/LightboxCounter.mjs.map +1 -0
- package/dist/esm/components/LightboxFullscreenButton.mjs +39 -0
- package/dist/esm/components/LightboxFullscreenButton.mjs.map +1 -0
- package/dist/esm/components/LightboxOverlay.mjs +38 -0
- package/dist/esm/components/LightboxOverlay.mjs.map +1 -0
- package/dist/esm/components/LightboxPreset.mjs +30 -0
- package/dist/esm/components/LightboxPreset.mjs.map +1 -0
- package/dist/esm/components/LightboxRoot.mjs +258 -0
- package/dist/esm/components/LightboxRoot.mjs.map +1 -0
- package/dist/esm/components/LightboxSlide.context.mjs +9 -0
- package/dist/esm/components/LightboxSlide.context.mjs.map +1 -0
- package/dist/esm/components/LightboxSlide.mjs +152 -0
- package/dist/esm/components/LightboxSlide.mjs.map +1 -0
- package/dist/esm/components/LightboxSlides.mjs +106 -0
- package/dist/esm/components/LightboxSlides.mjs.map +1 -0
- package/dist/esm/components/LightboxThumbnail.context.mjs +9 -0
- package/dist/esm/components/LightboxThumbnail.context.mjs.map +1 -0
- package/dist/esm/components/LightboxThumbnail.mjs +38 -0
- package/dist/esm/components/LightboxThumbnail.mjs.map +1 -0
- package/dist/esm/components/LightboxThumbnails.mjs +119 -0
- package/dist/esm/components/LightboxThumbnails.mjs.map +1 -0
- package/dist/esm/components/LightboxToolbar.mjs +92 -0
- package/dist/esm/components/LightboxToolbar.mjs.map +1 -0
- package/dist/esm/components/LightboxZoomButton.mjs +37 -0
- package/dist/esm/components/LightboxZoomButton.mjs.map +1 -0
- package/dist/esm/components/Pause.mjs +26 -0
- package/dist/esm/components/Pause.mjs.map +1 -0
- package/dist/esm/components/Play.mjs +20 -0
- package/dist/esm/components/Play.mjs.map +1 -0
- package/dist/esm/components/QuestionMark.mjs +26 -0
- package/dist/esm/components/QuestionMark.mjs.map +1 -0
- package/dist/esm/components/ZoomIn.mjs +28 -0
- package/dist/esm/components/ZoomIn.mjs.map +1 -0
- package/dist/esm/components/ZoomOut.mjs +27 -0
- package/dist/esm/components/ZoomOut.mjs.map +1 -0
- package/dist/esm/components/icons/EnterFullscreen.mjs +28 -0
- package/dist/esm/components/icons/EnterFullscreen.mjs.map +1 -0
- package/dist/esm/components/icons/ExitFullscreen.mjs +28 -0
- package/dist/esm/components/icons/ExitFullscreen.mjs.map +1 -0
- package/dist/esm/components/icons/Pause.mjs +26 -0
- package/dist/esm/components/icons/Pause.mjs.map +1 -0
- package/dist/esm/components/icons/Play.mjs +20 -0
- package/dist/esm/components/icons/Play.mjs.map +1 -0
- package/dist/esm/components/icons/ZoomIn.mjs +28 -0
- package/dist/esm/components/icons/ZoomIn.mjs.map +1 -0
- package/dist/esm/components/icons/ZoomOut.mjs +27 -0
- package/dist/esm/components/icons/ZoomOut.mjs.map +1 -0
- package/dist/esm/context/LightboxContext.mjs +9 -0
- package/dist/esm/context/LightboxContext.mjs.map +1 -0
- package/dist/esm/context/LightboxSlideContext.mjs +9 -0
- package/dist/esm/context/LightboxSlideContext.mjs.map +1 -0
- package/dist/esm/context/LightboxThumbnailContext.mjs +9 -0
- package/dist/esm/context/LightboxThumbnailContext.mjs.map +1 -0
- package/dist/esm/hooks/useAutoPlay.mjs +75 -0
- package/dist/esm/hooks/useAutoPlay.mjs.map +1 -0
- package/dist/esm/hooks/useCarouselOptions.mjs +28 -0
- package/dist/esm/hooks/useCarouselOptions.mjs.map +1 -0
- package/dist/esm/hooks/useFullscreen.mjs +37 -0
- package/dist/esm/hooks/useFullscreen.mjs.map +1 -0
- package/dist/esm/hooks/useKeyboardNavigation.mjs +27 -0
- package/dist/esm/hooks/useKeyboardNavigation.mjs.map +1 -0
- package/dist/esm/hooks/useLightbox.mjs +114 -0
- package/dist/esm/hooks/useLightbox.mjs.map +1 -0
- package/dist/esm/hooks/useLightboxRootOptions.mjs +18 -0
- package/dist/esm/hooks/useLightboxRootOptions.mjs.map +1 -0
- package/dist/esm/hooks/useSlideInteractions.mjs +92 -0
- package/dist/esm/hooks/useSlideInteractions.mjs.map +1 -0
- package/dist/esm/hooks/useThumbnails.mjs +59 -0
- package/dist/esm/hooks/useThumbnails.mjs.map +1 -0
- package/dist/esm/hooks/useZoom.mjs +262 -0
- package/dist/esm/hooks/useZoom.mjs.map +1 -0
- package/dist/esm/index.mjs +13 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/styles/Lightbox.module.css.mjs +5 -0
- package/dist/esm/styles/Lightbox.module.css.mjs.map +1 -0
- package/dist/esm/utils/fullscreen.mjs +36 -0
- package/dist/esm/utils/fullscreen.mjs.map +1 -0
- package/dist/esm/utils/pointer.mjs +41 -0
- package/dist/esm/utils/pointer.mjs.map +1 -0
- package/dist/esm/utils/zoom.mjs +82 -0
- package/dist/esm/utils/zoom.mjs.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/styles.layer.css +1 -1
- package/dist/types/Lightbox.context-value.d.ts +16 -0
- package/dist/types/Lightbox.context-value.d.ts.map +1 -0
- package/dist/types/Lightbox.context.d.ts +29 -0
- package/dist/types/Lightbox.context.d.ts.map +1 -1
- package/dist/types/Lightbox.d.ts +53 -35
- package/dist/types/Lightbox.d.ts.map +1 -1
- package/dist/types/Lightbox.defaults.d.ts +24 -0
- package/dist/types/Lightbox.defaults.d.ts.map +1 -0
- package/dist/types/Lightbox.story.d.ts +5 -5
- package/dist/types/Lightbox.story.d.ts.map +1 -1
- package/dist/types/LightboxSlide.context.d.ts +8 -0
- package/dist/types/LightboxSlide.context.d.ts.map +1 -0
- package/dist/types/LightboxSlide.d.ts +0 -3
- package/dist/types/LightboxSlide.d.ts.map +1 -1
- package/dist/types/__tests__/Lightbox.test.d.ts +2 -0
- package/dist/types/__tests__/Lightbox.test.d.ts.map +1 -0
- package/dist/types/__tests__/LightboxSimple.test.d.ts +2 -0
- package/dist/types/__tests__/LightboxSimple.test.d.ts.map +1 -0
- package/dist/types/__tests__/pointer.test.d.ts +2 -0
- package/dist/types/__tests__/pointer.test.d.ts.map +1 -0
- package/dist/types/__tests__/zoom.test.d.ts +2 -0
- package/dist/types/__tests__/zoom.test.d.ts.map +1 -0
- package/dist/types/components/EnterFullscreen.d.ts +3 -0
- package/dist/types/components/EnterFullscreen.d.ts.map +1 -0
- package/dist/types/components/ExitFullscreen.d.ts +3 -0
- package/dist/types/components/ExitFullscreen.d.ts.map +1 -0
- package/dist/types/components/LightboxAutoplayButton.d.ts +17 -0
- package/dist/types/components/LightboxAutoplayButton.d.ts.map +1 -0
- package/dist/types/components/LightboxCarousel.d.ts +6 -0
- package/dist/types/components/LightboxCarousel.d.ts.map +1 -0
- package/dist/types/components/LightboxCarouselSlide.context.d.ts +10 -0
- package/dist/types/components/LightboxCarouselSlide.context.d.ts.map +1 -0
- package/dist/types/components/LightboxCloseButton.d.ts +17 -0
- package/dist/types/components/LightboxCloseButton.d.ts.map +1 -0
- package/dist/types/components/LightboxContent.d.ts +14 -0
- package/dist/types/components/LightboxContent.d.ts.map +1 -0
- package/dist/types/components/LightboxControls.d.ts +19 -0
- package/dist/types/components/LightboxControls.d.ts.map +1 -0
- package/dist/types/components/LightboxCounter.d.ts +19 -0
- package/dist/types/components/LightboxCounter.d.ts.map +1 -0
- package/dist/types/components/LightboxFullscreenButton.d.ts +17 -0
- package/dist/types/components/LightboxFullscreenButton.d.ts.map +1 -0
- package/dist/types/components/LightboxOverlay.d.ts +4 -0
- package/dist/types/components/LightboxOverlay.d.ts.map +1 -0
- package/dist/types/components/LightboxPreset.d.ts +10 -0
- package/dist/types/components/LightboxPreset.d.ts.map +1 -0
- package/dist/types/components/LightboxRoot.d.ts +80 -0
- package/dist/types/components/LightboxRoot.d.ts.map +1 -0
- package/dist/types/components/LightboxSlide.context.d.ts +8 -0
- package/dist/types/components/LightboxSlide.context.d.ts.map +1 -0
- package/dist/types/components/LightboxSlide.d.ts +17 -0
- package/dist/types/components/LightboxSlide.d.ts.map +1 -0
- package/dist/types/components/LightboxSlides.d.ts +24 -0
- package/dist/types/components/LightboxSlides.d.ts.map +1 -0
- package/dist/types/components/LightboxThumbnail.context.d.ts +8 -0
- package/dist/types/components/LightboxThumbnail.context.d.ts.map +1 -0
- package/dist/types/components/LightboxThumbnail.d.ts +17 -0
- package/dist/types/components/LightboxThumbnail.d.ts.map +1 -0
- package/dist/types/components/LightboxThumbnails.d.ts +20 -0
- package/dist/types/components/LightboxThumbnails.d.ts.map +1 -0
- package/dist/types/components/LightboxToolbar.d.ts +17 -0
- package/dist/types/components/LightboxToolbar.d.ts.map +1 -0
- package/dist/types/components/LightboxZoomButton.d.ts +17 -0
- package/dist/types/components/LightboxZoomButton.d.ts.map +1 -0
- package/dist/types/components/Pause.d.ts +3 -0
- package/dist/types/components/Pause.d.ts.map +1 -0
- package/dist/types/components/Play.d.ts +3 -0
- package/dist/types/components/Play.d.ts.map +1 -0
- package/dist/types/components/QuestionMark.d.ts +3 -0
- package/dist/types/components/QuestionMark.d.ts.map +1 -0
- package/dist/types/components/ZoomIn.d.ts +3 -0
- package/dist/types/components/ZoomIn.d.ts.map +1 -0
- package/dist/types/components/ZoomOut.d.ts +3 -0
- package/dist/types/components/ZoomOut.d.ts.map +1 -0
- package/dist/types/components/icons/EnterFullscreen.d.ts +3 -0
- package/dist/types/components/icons/EnterFullscreen.d.ts.map +1 -0
- package/dist/types/components/icons/ExitFullscreen.d.ts +3 -0
- package/dist/types/components/icons/ExitFullscreen.d.ts.map +1 -0
- package/dist/types/components/icons/Pause.d.ts +3 -0
- package/dist/types/components/icons/Pause.d.ts.map +1 -0
- package/dist/types/components/icons/Play.d.ts +3 -0
- package/dist/types/components/icons/Play.d.ts.map +1 -0
- package/dist/types/components/icons/ZoomIn.d.ts +3 -0
- package/dist/types/components/icons/ZoomIn.d.ts.map +1 -0
- package/dist/types/components/icons/ZoomOut.d.ts +3 -0
- package/dist/types/components/icons/ZoomOut.d.ts.map +1 -0
- package/dist/types/context/LightboxContext.d.ts +46 -0
- package/dist/types/context/LightboxContext.d.ts.map +1 -0
- package/dist/types/context/LightboxSlideContext.d.ts +8 -0
- package/dist/types/context/LightboxSlideContext.d.ts.map +1 -0
- package/dist/types/context/LightboxThumbnailContext.d.ts +8 -0
- package/dist/types/context/LightboxThumbnailContext.d.ts.map +1 -0
- package/dist/types/hooks/useAutoPlay.d.ts +11 -0
- package/dist/types/hooks/useAutoPlay.d.ts.map +1 -0
- package/dist/types/hooks/useAutoPlay.test.d.ts +2 -0
- package/dist/types/hooks/useAutoPlay.test.d.ts.map +1 -0
- package/dist/types/hooks/useCarouselOptions.d.ts +20 -0
- package/dist/types/hooks/useCarouselOptions.d.ts.map +1 -0
- package/dist/types/hooks/useFullscreen.d.ts +11 -0
- package/dist/types/hooks/useFullscreen.d.ts.map +1 -0
- package/dist/types/hooks/useKeyboardNavigation.d.ts +10 -0
- package/dist/types/hooks/useKeyboardNavigation.d.ts.map +1 -0
- package/dist/types/hooks/useLightbox.d.ts +30 -0
- package/dist/types/hooks/useLightbox.d.ts.map +1 -0
- package/dist/types/hooks/useLightboxRootOptions.d.ts +12 -0
- package/dist/types/hooks/useLightboxRootOptions.d.ts.map +1 -0
- package/dist/types/hooks/useSlideInteractions.d.ts +26 -0
- package/dist/types/hooks/useSlideInteractions.d.ts.map +1 -0
- package/dist/types/hooks/useThumbnails.d.ts +15 -0
- package/dist/types/hooks/useThumbnails.d.ts.map +1 -0
- package/dist/types/hooks/useZoom.d.ts +24 -0
- package/dist/types/hooks/useZoom.d.ts.map +1 -0
- package/dist/types/index.d.mts +27 -3
- package/dist/types/index.d.ts +27 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/stories/Lightbox.story.d.ts +11 -0
- package/dist/types/stories/Lightbox.story.d.ts.map +1 -0
- package/dist/types/utils/fullscreen.d.ts +21 -0
- package/dist/types/utils/fullscreen.d.ts.map +1 -0
- package/dist/types/utils/pointer.d.ts +63 -0
- package/dist/types/utils/pointer.d.ts.map +1 -0
- package/dist/types/utils/zoom.d.ts +69 -0
- package/dist/types/utils/zoom.d.ts.map +1 -0
- package/dist/types/utils/zoom.test.d.ts +2 -0
- package/dist/types/utils/zoom.test.d.ts.map +1 -0
- package/package.json +2 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ZoomOut.cjs","sources":["../../../../src/components/icons/ZoomOut.tsx"],"sourcesContent":["import type { SVGProps } from \"react\";\n\nexport const ZoomOut = (props: SVGProps<SVGSVGElement>) => (\n\t<svg\n\t\taria-hidden=\"true\"\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\twidth=\"16\"\n\t\theight=\"16\"\n\t\tviewBox=\"0 0 24 24\"\n\t\tfill=\"none\"\n\t\tstroke=\"currentColor\"\n\t\tstrokeWidth=\"2\"\n\t\tstrokeLinecap=\"round\"\n\t\tstrokeLinejoin=\"round\"\n\t\t{...props}\n\t>\n\t\t<circle cx=\"11\" cy=\"11\" r=\"8\" />\n\t\t<line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\" />\n\t\t<line x1=\"8\" y1=\"11\" x2=\"14\" y2=\"11\" />\n\t</svg>\n);\n"],"names":["jsxs","jsx"],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var core = require('@mantine/core');
|
|
5
|
+
|
|
6
|
+
const [LightboxProvider, useLightboxContext] = core.createSafeContext(
|
|
7
|
+
"Lightbox component was not found in the tree"
|
|
8
|
+
);
|
|
9
|
+
|
|
10
|
+
exports.LightboxProvider = LightboxProvider;
|
|
11
|
+
exports.useLightboxContext = useLightboxContext;
|
|
12
|
+
//# sourceMappingURL=LightboxContext.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LightboxContext.cjs","sources":["../../../src/context/LightboxContext.ts"],"sourcesContent":["import { createSafeContext, type GetStylesApi } from \"@mantine/core\";\nimport type { EmblaCarouselType } from \"embla-carousel\";\nimport type { PointerEvent as ReactPointerEvent, RefObject } from \"react\";\nimport type { LightboxRootFactory } from \"../components/LightboxRoot.js\";\nimport type { ZoomOffset } from \"../utils/zoom.js\";\n\nexport interface LightboxContext {\n\tgetStyles: GetStylesApi<LightboxRootFactory>;\n\topened: boolean;\n\tcurrentIndex: number;\n\tslideCount: number | null;\n\tslidesEmblaRef: RefObject<EmblaCarouselType | null>;\n\tthumbnailsEmblaRef: RefObject<EmblaCarouselType | null>;\n\tsetCurrentIndex: (index: number) => void;\n\tsetSlideCount: (count: number | null) => void;\n\tonClose: () => void;\n\tonOutsideClick: () => void;\n\tonThumbnailClick: (index: number) => void;\n\tonScrollPrev: () => void;\n\tonScrollNext: () => void;\n\torientation: \"horizontal\" | \"vertical\";\n\t// AutoPlay\n\tcanAutoPlay: boolean;\n\tisPlaying: boolean;\n\ttoggleAutoPlay: () => void;\n\tonSlidesEmblaApi: (embla: EmblaCarouselType) => void;\n\t// Fullscreen\n\twithFullscreen: boolean;\n\tisFullscreen: boolean;\n\ttoggleFullscreen: () => void;\n\t// Zoom\n\twithZoom: boolean;\n\tisZoomed: boolean;\n\tisZoomedRef: RefObject<boolean>;\n\tisDraggingZoom: boolean;\n\tcanZoomCurrent: boolean;\n\tzoomOffset: ZoomOffset;\n\tzoomScale: number;\n\tactiveZoomContainerRef: RefObject<HTMLDivElement | null>;\n\ttoggleZoom: () => void;\n\tupdateCanZoomAvailability: () => void;\n\thandleZoomPointerDown: (event: ReactPointerEvent<HTMLDivElement>) => void;\n\thandleZoomPointerMove: (event: ReactPointerEvent<HTMLDivElement>) => void;\n\thandleZoomPointerEnd: (event: ReactPointerEvent<HTMLDivElement>) => void;\n}\n\nexport const [LightboxProvider, useLightboxContext] =\n\tcreateSafeContext<LightboxContext>(\n\t\t\"Lightbox component was not found in the tree\",\n\t);\n"],"names":["createSafeContext"],"mappings":";;;;;AAEY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,GAAGA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAiB,CAAA;AACvE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAA,CAAA;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var core = require('@mantine/core');
|
|
5
|
+
|
|
6
|
+
const [LightboxSlideProvider, useLightboxSlideContext] = core.createSafeContext(
|
|
7
|
+
"LightboxSlide component was not found in the tree"
|
|
8
|
+
);
|
|
9
|
+
|
|
10
|
+
exports.LightboxSlideProvider = LightboxSlideProvider;
|
|
11
|
+
exports.useLightboxSlideContext = useLightboxSlideContext;
|
|
12
|
+
//# sourceMappingURL=LightboxSlideContext.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LightboxSlideContext.cjs","sources":["../../../src/context/LightboxSlideContext.ts"],"sourcesContent":["import { createSafeContext } from \"@mantine/core\";\n\nexport interface LightboxSlideContext {\n\tindex: number;\n}\n\nexport const [LightboxSlideProvider, useLightboxSlideContext] =\n\tcreateSafeContext<LightboxSlideContext>(\n\t\t\"LightboxSlide component was not found in the tree\",\n\t);\n"],"names":["createSafeContext"],"mappings":";;;;;AAEY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB,CAAC,GAAGA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAiB,CAAA;AACjF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAA,CAAA;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var core = require('@mantine/core');
|
|
5
|
+
|
|
6
|
+
const [LightboxThumbnailProvider, useLightboxThumbnailContext] = core.createSafeContext(
|
|
7
|
+
"LightboxThumbnail component was not found in the tree"
|
|
8
|
+
);
|
|
9
|
+
|
|
10
|
+
exports.LightboxThumbnailProvider = LightboxThumbnailProvider;
|
|
11
|
+
exports.useLightboxThumbnailContext = useLightboxThumbnailContext;
|
|
12
|
+
//# sourceMappingURL=LightboxThumbnailContext.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LightboxThumbnailContext.cjs","sources":["../../../src/context/LightboxThumbnailContext.ts"],"sourcesContent":["import { createSafeContext } from \"@mantine/core\";\n\nexport interface LightboxThumbnailContext {\n\tindex: number;\n}\n\nexport const [LightboxThumbnailProvider, useLightboxThumbnailContext] =\n\tcreateSafeContext<LightboxThumbnailContext>(\n\t\t\"LightboxThumbnail component was not found in the tree\",\n\t);\n"],"names":["createSafeContext"],"mappings":";;;;;AAEY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2B,CAAC,GAAGA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAiB,CAAA;AACzF,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAA,CAAA;;;"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var React = require('react');
|
|
5
|
+
|
|
6
|
+
function useAutoPlay() {
|
|
7
|
+
const autoplayPluginRef = React.useRef(null);
|
|
8
|
+
const emblaInstanceRef = React.useRef(null);
|
|
9
|
+
const autoplayShouldRunRef = React.useRef(false);
|
|
10
|
+
const [canAutoPlay, setCanAutoPlay] = React.useState(false);
|
|
11
|
+
const [isPlaying, setIsPlaying] = React.useState(false);
|
|
12
|
+
const onAutoPlayPlay = React.useCallback(() => {
|
|
13
|
+
setIsPlaying(true);
|
|
14
|
+
}, []);
|
|
15
|
+
const onAutoPlayStop = React.useCallback(() => setIsPlaying(false), []);
|
|
16
|
+
const onEmblaPointerUp = React.useCallback(() => {
|
|
17
|
+
if (!autoplayShouldRunRef.current) {
|
|
18
|
+
autoplayPluginRef.current?.stop();
|
|
19
|
+
}
|
|
20
|
+
}, []);
|
|
21
|
+
const handleEmblaApiForAutoPlay = React.useCallback(
|
|
22
|
+
(embla) => {
|
|
23
|
+
const plugin = embla.plugins()?.autoplay;
|
|
24
|
+
if (!plugin || typeof plugin !== "object" || typeof plugin.play !== "function") {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const prevEmbla = emblaInstanceRef.current;
|
|
28
|
+
if (prevEmbla) {
|
|
29
|
+
prevEmbla.off("autoplay:play", onAutoPlayPlay);
|
|
30
|
+
prevEmbla.off("autoplay:stop", onAutoPlayStop);
|
|
31
|
+
prevEmbla.off("pointerUp", onEmblaPointerUp);
|
|
32
|
+
}
|
|
33
|
+
emblaInstanceRef.current = embla;
|
|
34
|
+
autoplayPluginRef.current = plugin;
|
|
35
|
+
embla.on("autoplay:play", onAutoPlayPlay);
|
|
36
|
+
embla.on("autoplay:stop", onAutoPlayStop);
|
|
37
|
+
embla.on("pointerUp", onEmblaPointerUp);
|
|
38
|
+
const playing = plugin.isPlaying();
|
|
39
|
+
setCanAutoPlay(true);
|
|
40
|
+
setIsPlaying(playing);
|
|
41
|
+
autoplayShouldRunRef.current = playing;
|
|
42
|
+
},
|
|
43
|
+
[onAutoPlayPlay, onAutoPlayStop, onEmblaPointerUp]
|
|
44
|
+
);
|
|
45
|
+
const toggleAutoPlay = React.useCallback(() => {
|
|
46
|
+
const plugin = autoplayPluginRef.current;
|
|
47
|
+
if (!plugin) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if (isPlaying) {
|
|
51
|
+
autoplayShouldRunRef.current = false;
|
|
52
|
+
plugin.stop();
|
|
53
|
+
} else {
|
|
54
|
+
autoplayShouldRunRef.current = true;
|
|
55
|
+
plugin.play();
|
|
56
|
+
}
|
|
57
|
+
}, [isPlaying]);
|
|
58
|
+
const notifyAutoPlayInteraction = React.useCallback(() => {
|
|
59
|
+
const embla = emblaInstanceRef.current;
|
|
60
|
+
const plugin = autoplayPluginRef.current;
|
|
61
|
+
if (!embla || !plugin?.isPlaying()) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
embla.emit("pointerDown");
|
|
65
|
+
embla.emit("pointerUp");
|
|
66
|
+
}, []);
|
|
67
|
+
return {
|
|
68
|
+
canAutoPlay,
|
|
69
|
+
isPlaying,
|
|
70
|
+
toggleAutoPlay,
|
|
71
|
+
notifyAutoPlayInteraction,
|
|
72
|
+
handleEmblaApiForAutoPlay
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
exports.useAutoPlay = useAutoPlay;
|
|
77
|
+
//# sourceMappingURL=useAutoPlay.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAutoPlay.cjs","sources":["../../../src/hooks/useAutoPlay.ts"],"sourcesContent":["import type { EmblaCarouselType } from \"embla-carousel\";\nimport type { AutoplayType } from \"embla-carousel-autoplay\";\nimport { useCallback, useRef, useState } from \"react\";\n\ninterface UseAutoPlayOutput {\n\tcanAutoPlay: boolean;\n\tisPlaying: boolean;\n\ttoggleAutoPlay: () => void;\n\tnotifyAutoPlayInteraction: () => void;\n\thandleEmblaApiForAutoPlay: (embla: EmblaCarouselType) => void;\n}\n\nexport function useAutoPlay(): UseAutoPlayOutput {\n\tconst autoplayPluginRef = useRef<AutoplayType | null>(null);\n\tconst emblaInstanceRef = useRef<EmblaCarouselType | null>(null);\n\tconst autoplayShouldRunRef = useRef(false);\n\n\tconst [canAutoPlay, setCanAutoPlay] = useState(false);\n\tconst [isPlaying, setIsPlaying] = useState(false);\n\n\tconst onAutoPlayPlay = useCallback(() => {\n\t\tsetIsPlaying(true);\n\t}, []);\n\n\tconst onAutoPlayStop = useCallback(() => setIsPlaying(false), []);\n\n\tconst onEmblaPointerUp = useCallback(() => {\n\t\tif (!autoplayShouldRunRef.current) {\n\t\t\tautoplayPluginRef.current?.stop();\n\t\t}\n\t}, []);\n\n\tconst handleEmblaApiForAutoPlay = useCallback(\n\t\t(embla: EmblaCarouselType) => {\n\t\t\tconst plugin = embla.plugins()?.autoplay;\n\n\t\t\tif (\n\t\t\t\t!plugin ||\n\t\t\t\ttypeof plugin !== \"object\" ||\n\t\t\t\ttypeof plugin.play !== \"function\"\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst prevEmbla = emblaInstanceRef.current;\n\n\t\t\tif (prevEmbla) {\n\t\t\t\tprevEmbla.off(\"autoplay:play\", onAutoPlayPlay);\n\t\t\t\tprevEmbla.off(\"autoplay:stop\", onAutoPlayStop);\n\t\t\t\tprevEmbla.off(\"pointerUp\", onEmblaPointerUp);\n\t\t\t}\n\n\t\t\temblaInstanceRef.current = embla;\n\t\t\tautoplayPluginRef.current = plugin;\n\n\t\t\tembla.on(\"autoplay:play\", onAutoPlayPlay);\n\t\t\tembla.on(\"autoplay:stop\", onAutoPlayStop);\n\t\t\tembla.on(\"pointerUp\", onEmblaPointerUp);\n\n\t\t\tconst playing = plugin.isPlaying();\n\t\t\tsetCanAutoPlay(true);\n\t\t\tsetIsPlaying(playing);\n\t\t\tautoplayShouldRunRef.current = playing;\n\t\t},\n\t\t[onAutoPlayPlay, onAutoPlayStop, onEmblaPointerUp],\n\t);\n\n\tconst toggleAutoPlay = useCallback(() => {\n\t\tconst plugin = autoplayPluginRef.current;\n\n\t\tif (!plugin) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isPlaying) {\n\t\t\tautoplayShouldRunRef.current = false;\n\t\t\tplugin.stop();\n\t\t} else {\n\t\t\tautoplayShouldRunRef.current = true;\n\t\t\tplugin.play();\n\t\t}\n\t}, [isPlaying]);\n\n\tconst notifyAutoPlayInteraction = useCallback(() => {\n\t\tconst embla = emblaInstanceRef.current;\n\t\tconst plugin = autoplayPluginRef.current;\n\n\t\tif (!embla || !plugin?.isPlaying()) {\n\t\t\treturn;\n\t\t}\n\n\t\tembla.emit(\"pointerDown\");\n\t\tembla.emit(\"pointerUp\");\n\t}, []);\n\n\treturn {\n\t\tcanAutoPlay,\n\t\tisPlaying,\n\t\ttoggleAutoPlay,\n\t\tnotifyAutoPlayInteraction,\n\t\thandleEmblaApiForAutoPlay,\n\t};\n}\n"],"names":["useRef","useState","useCallback"],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var react = require('react');
|
|
5
|
+
|
|
6
|
+
function useCarouselOptions(props) {
|
|
7
|
+
const { carouselOptions, isZoomedRef } = props;
|
|
8
|
+
return react.useMemo(
|
|
9
|
+
() => ({
|
|
10
|
+
...carouselOptions,
|
|
11
|
+
emblaOptions: {
|
|
12
|
+
...carouselOptions?.emblaOptions,
|
|
13
|
+
watchDrag: (emblaApi, event) => {
|
|
14
|
+
if (isZoomedRef.current) {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
const configuredWatchDrag = carouselOptions?.emblaOptions?.watchDrag;
|
|
18
|
+
if (typeof configuredWatchDrag === "function") {
|
|
19
|
+
return configuredWatchDrag(emblaApi, event);
|
|
20
|
+
}
|
|
21
|
+
return configuredWatchDrag ?? true;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}),
|
|
25
|
+
[carouselOptions, isZoomedRef]
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
exports.useCarouselOptions = useCarouselOptions;
|
|
30
|
+
//# sourceMappingURL=useCarouselOptions.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCarouselOptions.cjs","sources":["../../../src/hooks/useCarouselOptions.ts"],"sourcesContent":["import type { EmblaCarouselType } from \"embla-carousel\";\nimport type { RefObject } from \"react\";\nimport { useMemo } from \"react\";\nimport type { LightboxCarouselOptions } from \"../Lightbox.js\";\n\ninterface UseCarouselOptionsInput {\n\tcarouselOptions: LightboxCarouselOptions | undefined;\n\tisZoomedRef: RefObject<boolean>;\n}\n\nexport type UseCarouselOptionsOutput = LightboxCarouselOptions & {\n\temblaOptions: NonNullable<LightboxCarouselOptions[\"emblaOptions\"]>;\n};\n\n/**\n * Merges consumer-supplied carousel options with lightbox-internal overrides.\n *\n * Injects a `watchDrag` guard that disables Embla's drag when the lightbox is\n * zoomed. Uses `isZoomedRef` (not `isZoomed` state) so that the returned\n * options object stays stable across zoom state changes, preventing Embla from\n * being re-initialised on every zoom toggle.\n */\nexport function useCarouselOptions(\n\tprops: UseCarouselOptionsInput,\n): UseCarouselOptionsOutput {\n\tconst { carouselOptions, isZoomedRef } = props;\n\n\treturn useMemo(\n\t\t() => ({\n\t\t\t...carouselOptions,\n\t\t\temblaOptions: {\n\t\t\t\t...carouselOptions?.emblaOptions,\n\t\t\t\twatchDrag: (\n\t\t\t\t\temblaApi: EmblaCarouselType,\n\t\t\t\t\tevent: MouseEvent | TouchEvent,\n\t\t\t\t) => {\n\t\t\t\t\tif (isZoomedRef.current) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst configuredWatchDrag = carouselOptions?.emblaOptions?.watchDrag;\n\n\t\t\t\t\tif (typeof configuredWatchDrag === \"function\") {\n\t\t\t\t\t\treturn configuredWatchDrag(emblaApi, event);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn configuredWatchDrag ?? true;\n\t\t\t\t},\n\t\t\t},\n\t\t}),\n\t\t[carouselOptions, isZoomedRef],\n\t);\n}\n"],"names":["useMemo"],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var react = require('react');
|
|
5
|
+
var fullscreen = require('../utils/fullscreen.cjs');
|
|
6
|
+
|
|
7
|
+
function useFullscreen(props) {
|
|
8
|
+
const { opened } = props;
|
|
9
|
+
const [isFullscreen, setIsFullscreen] = react.useState(fullscreen.isBrowserFullscreen);
|
|
10
|
+
const canUseFullscreen = fullscreen.canToggleBrowserFullscreen();
|
|
11
|
+
const toggleFullscreen = react.useCallback(async () => {
|
|
12
|
+
if (!canUseFullscreen) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
await fullscreen.toggleBrowserFullscreen();
|
|
16
|
+
}, [canUseFullscreen]);
|
|
17
|
+
react.useEffect(() => {
|
|
18
|
+
const handleFullscreenChange = () => {
|
|
19
|
+
setIsFullscreen(fullscreen.isBrowserFullscreen());
|
|
20
|
+
};
|
|
21
|
+
document.addEventListener("fullscreenchange", handleFullscreenChange);
|
|
22
|
+
return () => {
|
|
23
|
+
document.removeEventListener("fullscreenchange", handleFullscreenChange);
|
|
24
|
+
};
|
|
25
|
+
}, []);
|
|
26
|
+
react.useEffect(() => {
|
|
27
|
+
if (!opened) {
|
|
28
|
+
void fullscreen.exitBrowserFullscreenIfActive();
|
|
29
|
+
}
|
|
30
|
+
}, [opened]);
|
|
31
|
+
return {
|
|
32
|
+
isFullscreen,
|
|
33
|
+
canUseFullscreen,
|
|
34
|
+
toggleFullscreen
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
exports.useFullscreen = useFullscreen;
|
|
39
|
+
//# sourceMappingURL=useFullscreen.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFullscreen.cjs","sources":["../../../src/hooks/useFullscreen.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from \"react\";\nimport {\n\tcanToggleBrowserFullscreen,\n\texitBrowserFullscreenIfActive,\n\tisBrowserFullscreen,\n\ttoggleBrowserFullscreen,\n} from \"../utils/fullscreen.js\";\n\ninterface UseFullscreenInput {\n\topened: boolean;\n}\n\ninterface UseFullscreenOutput {\n\tisFullscreen: boolean;\n\tcanUseFullscreen: boolean;\n\ttoggleFullscreen: () => void;\n}\n\nexport function useFullscreen(props: UseFullscreenInput): UseFullscreenOutput {\n\tconst { opened } = props;\n\n\tconst [isFullscreen, setIsFullscreen] = useState(isBrowserFullscreen);\n\n\tconst canUseFullscreen = canToggleBrowserFullscreen();\n\n\tconst toggleFullscreen = useCallback(async () => {\n\t\tif (!canUseFullscreen) {\n\t\t\treturn;\n\t\t}\n\n\t\tawait toggleBrowserFullscreen();\n\t}, [canUseFullscreen]);\n\n\tuseEffect(() => {\n\t\tconst handleFullscreenChange = () => {\n\t\t\tsetIsFullscreen(isBrowserFullscreen());\n\t\t};\n\n\t\tdocument.addEventListener(\"fullscreenchange\", handleFullscreenChange);\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(\"fullscreenchange\", handleFullscreenChange);\n\t\t};\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (!opened) {\n\t\t\tvoid exitBrowserFullscreenIfActive();\n\t\t}\n\t}, [opened]);\n\n\treturn {\n\t\tisFullscreen,\n\t\tcanUseFullscreen,\n\t\ttoggleFullscreen,\n\t};\n}\n"],"names":["useState","isBrowserFullscreen","canToggleBrowserFullscreen","useCallback","toggleBrowserFullscreen","useEffect","exitBrowserFullscreenIfActive"],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var react = require('react');
|
|
5
|
+
|
|
6
|
+
function useKeyboardNavigation(props) {
|
|
7
|
+
const { opened, emblaRef, onClose } = props;
|
|
8
|
+
react.useEffect(() => {
|
|
9
|
+
if (!opened) {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
const handleKeyDown = (event) => {
|
|
13
|
+
if (event.key === "Escape") {
|
|
14
|
+
onClose();
|
|
15
|
+
} else if (event.key === "ArrowLeft") {
|
|
16
|
+
emblaRef.current?.scrollPrev();
|
|
17
|
+
} else if (event.key === "ArrowRight") {
|
|
18
|
+
emblaRef.current?.scrollNext();
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
document.addEventListener("keydown", handleKeyDown);
|
|
22
|
+
return () => {
|
|
23
|
+
document.removeEventListener("keydown", handleKeyDown);
|
|
24
|
+
};
|
|
25
|
+
}, [opened, emblaRef, onClose]);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
exports.useKeyboardNavigation = useKeyboardNavigation;
|
|
29
|
+
//# sourceMappingURL=useKeyboardNavigation.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useKeyboardNavigation.cjs","sources":["../../../src/hooks/useKeyboardNavigation.ts"],"sourcesContent":["import type { EmblaCarouselType } from \"embla-carousel\";\nimport type { RefObject } from \"react\";\nimport { useEffect } from \"react\";\n\ninterface UseKeyboardNavigationInput {\n\topened: boolean;\n\temblaRef: RefObject<EmblaCarouselType | null>;\n\tonClose: () => void;\n}\n\nexport function useKeyboardNavigation(props: UseKeyboardNavigationInput): void {\n\tconst { opened, emblaRef, onClose } = props;\n\n\tuseEffect(() => {\n\t\tif (!opened) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst handleKeyDown = (event: KeyboardEvent) => {\n\t\t\tif (event.key === \"Escape\") {\n\t\t\t\tonClose();\n\t\t\t} else if (event.key === \"ArrowLeft\") {\n\t\t\t\temblaRef.current?.scrollPrev();\n\t\t\t} else if (event.key === \"ArrowRight\") {\n\t\t\t\temblaRef.current?.scrollNext();\n\t\t\t}\n\t\t};\n\n\t\tdocument.addEventListener(\"keydown\", handleKeyDown);\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(\"keydown\", handleKeyDown);\n\t\t};\n\t}, [opened, emblaRef, onClose]);\n}\n"],"names":["useEffect"],"mappings":"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"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var hooks = require('@mantine/hooks');
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var Lightbox_defaults = require('../Lightbox.defaults.cjs');
|
|
7
|
+
|
|
8
|
+
function useLightbox(props) {
|
|
9
|
+
const {
|
|
10
|
+
ref,
|
|
11
|
+
opened,
|
|
12
|
+
initialSlide,
|
|
13
|
+
onClose,
|
|
14
|
+
closeOnClickOutside,
|
|
15
|
+
trapFocus,
|
|
16
|
+
returnFocus,
|
|
17
|
+
carouselOptions,
|
|
18
|
+
thumbnailEmblaOptions,
|
|
19
|
+
counterFormatter
|
|
20
|
+
} = props;
|
|
21
|
+
const shouldCloseOnClickOutside = closeOnClickOutside ?? Lightbox_defaults.LIGHTBOX_DEFAULT_PROPS.closeOnClickOutside;
|
|
22
|
+
const shouldTrapFocus = trapFocus ?? Lightbox_defaults.LIGHTBOX_DEFAULT_PROPS.trapFocus;
|
|
23
|
+
const shouldReturnFocus = returnFocus ?? Lightbox_defaults.LIGHTBOX_DEFAULT_PROPS.returnFocus;
|
|
24
|
+
const mergedBaseCarouselOptions = React.useMemo(
|
|
25
|
+
() => ({
|
|
26
|
+
...Lightbox_defaults.LIGHTBOX_DEFAULT_PROPS.carouselOptions,
|
|
27
|
+
...carouselOptions,
|
|
28
|
+
initialSlide
|
|
29
|
+
}),
|
|
30
|
+
[carouselOptions, initialSlide]
|
|
31
|
+
);
|
|
32
|
+
const mergedThumbnailEmblaOptions = React.useMemo(
|
|
33
|
+
() => ({
|
|
34
|
+
...Lightbox_defaults.LIGHTBOX_DEFAULT_PROPS.thumbnailEmblaOptions,
|
|
35
|
+
...thumbnailEmblaOptions
|
|
36
|
+
}),
|
|
37
|
+
[thumbnailEmblaOptions]
|
|
38
|
+
);
|
|
39
|
+
const focusTrapRef = hooks.useFocusTrap(opened && shouldTrapFocus);
|
|
40
|
+
const mergedRef = hooks.useMergedRef(ref, focusTrapRef);
|
|
41
|
+
hooks.useFocusReturn({ opened, shouldReturnFocus });
|
|
42
|
+
const slidesEmblaRef = React.useRef(null);
|
|
43
|
+
const thumbnailsEmblaRef = React.useRef(null);
|
|
44
|
+
const [currentIndex, setCurrentIndex] = React.useState(
|
|
45
|
+
mergedBaseCarouselOptions?.initialSlide ?? 0
|
|
46
|
+
);
|
|
47
|
+
const [total, setTotal] = React.useState(null);
|
|
48
|
+
hooks.useHotkeys([
|
|
49
|
+
["ArrowLeft", () => opened && slidesEmblaRef.current?.scrollPrev()],
|
|
50
|
+
["ArrowRight", () => opened && slidesEmblaRef.current?.scrollNext()],
|
|
51
|
+
["Escape", () => opened && onClose()]
|
|
52
|
+
]);
|
|
53
|
+
const counterText = React.useMemo(() => {
|
|
54
|
+
if (total === null) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
if (counterFormatter) {
|
|
58
|
+
return counterFormatter(currentIndex, total);
|
|
59
|
+
}
|
|
60
|
+
return `${currentIndex + 1} / ${total}`;
|
|
61
|
+
}, [counterFormatter, currentIndex, total]);
|
|
62
|
+
const handleEmblaApi = React.useCallback(
|
|
63
|
+
(embla) => {
|
|
64
|
+
slidesEmblaRef.current = embla;
|
|
65
|
+
const onInit = (api) => {
|
|
66
|
+
setTotal(api.slideNodes().length);
|
|
67
|
+
mergedBaseCarouselOptions.getEmblaApi?.(api);
|
|
68
|
+
};
|
|
69
|
+
const onSelect = (api) => {
|
|
70
|
+
setCurrentIndex(api.selectedScrollSnap());
|
|
71
|
+
thumbnailsEmblaRef.current?.scrollTo(api.selectedScrollSnap());
|
|
72
|
+
};
|
|
73
|
+
const onDestroy = () => {
|
|
74
|
+
setCurrentIndex(mergedBaseCarouselOptions?.initialSlide ?? 0);
|
|
75
|
+
setTotal(null);
|
|
76
|
+
thumbnailsEmblaRef.current = null;
|
|
77
|
+
slidesEmblaRef.current = null;
|
|
78
|
+
};
|
|
79
|
+
onInit(embla);
|
|
80
|
+
embla.on("select", onSelect);
|
|
81
|
+
embla.on("destroy", onDestroy);
|
|
82
|
+
},
|
|
83
|
+
[mergedBaseCarouselOptions]
|
|
84
|
+
);
|
|
85
|
+
const handleThumbnailsEmblaApi = React.useCallback(
|
|
86
|
+
(embla) => {
|
|
87
|
+
thumbnailsEmblaRef.current = embla;
|
|
88
|
+
embla.scrollTo(currentIndex);
|
|
89
|
+
},
|
|
90
|
+
[currentIndex]
|
|
91
|
+
);
|
|
92
|
+
const handleThumbnailClick = React.useCallback((index) => {
|
|
93
|
+
slidesEmblaRef.current?.scrollTo(index);
|
|
94
|
+
}, []);
|
|
95
|
+
const handleOutsideClick = React.useCallback(() => {
|
|
96
|
+
if (!shouldCloseOnClickOutside) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
onClose();
|
|
100
|
+
}, [shouldCloseOnClickOutside, onClose]);
|
|
101
|
+
const mergedCarouselOptions = mergedBaseCarouselOptions;
|
|
102
|
+
return {
|
|
103
|
+
mergedRef,
|
|
104
|
+
currentIndex,
|
|
105
|
+
counterText,
|
|
106
|
+
handleEmblaApi,
|
|
107
|
+
handleThumbnailsEmblaApi,
|
|
108
|
+
handleThumbnailClick,
|
|
109
|
+
handleOutsideClick,
|
|
110
|
+
mergedCarouselOptions,
|
|
111
|
+
mergedThumbnailEmblaOptions
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
exports.useLightbox = useLightbox;
|
|
116
|
+
//# sourceMappingURL=useLightbox.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLightbox.cjs","sources":["../../../src/hooks/useLightbox.ts"],"sourcesContent":["import type { CarouselProps } from \"@mantine/carousel\";\nimport {\n\tuseFocusReturn,\n\tuseFocusTrap,\n\tuseHotkeys,\n\tuseMergedRef,\n} from \"@mantine/hooks\";\nimport type { EmblaCarouselType } from \"embla-carousel\";\nimport {\n\ttype ForwardedRef,\n\tuseCallback,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from \"react\";\nimport { LIGHTBOX_DEFAULT_PROPS } from \"../Lightbox.defaults.js\";\nimport type {\n\tLightboxCarouselOptions,\n\tLightboxThumbnailEmblaOptions,\n} from \"../Lightbox.js\";\n\ninterface UseLightboxInput {\n\tref: ForwardedRef<HTMLDivElement>;\n\topened: boolean;\n\tinitialSlide: number | undefined;\n\tonClose: () => void;\n\tcloseOnClickOutside: boolean | undefined;\n\ttrapFocus: boolean | undefined;\n\treturnFocus: boolean | undefined;\n\tcarouselOptions: LightboxCarouselOptions | undefined;\n\tthumbnailEmblaOptions: LightboxThumbnailEmblaOptions | undefined;\n\tcounterFormatter: ((index: number, total: number) => string) | undefined;\n}\n\nexport interface UseLightboxOutput {\n\tmergedRef: (node: HTMLDivElement | null) => void;\n\tcurrentIndex: number;\n\tcounterText: string | null;\n\thandleEmblaApi: CarouselProps[\"getEmblaApi\"];\n\thandleThumbnailsEmblaApi: (embla: EmblaCarouselType) => void;\n\thandleThumbnailClick: (index: number) => void;\n\thandleOutsideClick: () => void;\n\tmergedCarouselOptions: LightboxCarouselOptions;\n\tmergedThumbnailEmblaOptions: LightboxThumbnailEmblaOptions;\n}\n\nexport function useLightbox(props: UseLightboxInput): UseLightboxOutput {\n\tconst {\n\t\tref,\n\t\topened,\n\t\tinitialSlide,\n\t\tonClose,\n\t\tcloseOnClickOutside,\n\t\ttrapFocus,\n\t\treturnFocus,\n\t\tcarouselOptions,\n\t\tthumbnailEmblaOptions,\n\t\tcounterFormatter,\n\t} = props;\n\n\tconst shouldCloseOnClickOutside =\n\t\tcloseOnClickOutside ?? LIGHTBOX_DEFAULT_PROPS.closeOnClickOutside;\n\n\tconst shouldTrapFocus = trapFocus ?? LIGHTBOX_DEFAULT_PROPS.trapFocus;\n\n\tconst shouldReturnFocus = returnFocus ?? LIGHTBOX_DEFAULT_PROPS.returnFocus;\n\n\tconst mergedBaseCarouselOptions = useMemo<LightboxCarouselOptions>(\n\t\t() => ({\n\t\t\t...LIGHTBOX_DEFAULT_PROPS.carouselOptions,\n\t\t\t...carouselOptions,\n\t\t\tinitialSlide,\n\t\t}),\n\t\t[carouselOptions, initialSlide],\n\t);\n\n\tconst mergedThumbnailEmblaOptions = useMemo<LightboxThumbnailEmblaOptions>(\n\t\t() => ({\n\t\t\t...LIGHTBOX_DEFAULT_PROPS.thumbnailEmblaOptions,\n\t\t\t...thumbnailEmblaOptions,\n\t\t}),\n\t\t[thumbnailEmblaOptions],\n\t);\n\n\tconst focusTrapRef = useFocusTrap(opened && shouldTrapFocus);\n\n\tconst mergedRef = useMergedRef(ref, focusTrapRef);\n\n\tuseFocusReturn({ opened, shouldReturnFocus });\n\n\tconst slidesEmblaRef = useRef<EmblaCarouselType | null>(null);\n\tconst thumbnailsEmblaRef = useRef<EmblaCarouselType | null>(null);\n\n\tconst [currentIndex, setCurrentIndex] = useState(\n\t\tmergedBaseCarouselOptions?.initialSlide ?? 0,\n\t);\n\tconst [total, setTotal] = useState<number | null>(null);\n\n\tuseHotkeys([\n\t\t[\"ArrowLeft\", () => opened && slidesEmblaRef.current?.scrollPrev()],\n\t\t[\"ArrowRight\", () => opened && slidesEmblaRef.current?.scrollNext()],\n\t\t[\"Escape\", () => opened && onClose()],\n\t]);\n\n\tconst counterText = useMemo(() => {\n\t\tif (total === null) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (counterFormatter) {\n\t\t\treturn counterFormatter(currentIndex, total);\n\t\t}\n\n\t\treturn `${currentIndex + 1} / ${total}`;\n\t}, [counterFormatter, currentIndex, total]);\n\n\tconst handleEmblaApi = useCallback(\n\t\t(embla: EmblaCarouselType) => {\n\t\t\tslidesEmblaRef.current = embla;\n\n\t\t\tconst onInit = (api: EmblaCarouselType) => {\n\t\t\t\tsetTotal(api.slideNodes().length);\n\t\t\t\tmergedBaseCarouselOptions.getEmblaApi?.(api);\n\t\t\t};\n\n\t\t\tconst onSelect = (api: EmblaCarouselType) => {\n\t\t\t\tsetCurrentIndex(api.selectedScrollSnap());\n\t\t\t\tthumbnailsEmblaRef.current?.scrollTo(api.selectedScrollSnap());\n\t\t\t};\n\n\t\t\tconst onDestroy = () => {\n\t\t\t\tsetCurrentIndex(mergedBaseCarouselOptions?.initialSlide ?? 0);\n\t\t\t\tsetTotal(null);\n\t\t\t\tthumbnailsEmblaRef.current = null;\n\t\t\t\tslidesEmblaRef.current = null;\n\t\t\t};\n\n\t\t\tonInit(embla);\n\n\t\t\tembla.on(\"select\", onSelect);\n\t\t\tembla.on(\"destroy\", onDestroy);\n\t\t},\n\t\t[mergedBaseCarouselOptions],\n\t);\n\n\tconst handleThumbnailsEmblaApi = useCallback(\n\t\t(embla: EmblaCarouselType) => {\n\t\t\tthumbnailsEmblaRef.current = embla;\n\n\t\t\tembla.scrollTo(currentIndex);\n\t\t},\n\t\t[currentIndex],\n\t);\n\n\tconst handleThumbnailClick = useCallback((index: number) => {\n\t\tslidesEmblaRef.current?.scrollTo(index);\n\t}, []);\n\n\tconst handleOutsideClick = useCallback(() => {\n\t\tif (!shouldCloseOnClickOutside) {\n\t\t\treturn;\n\t\t}\n\n\t\tonClose();\n\t}, [shouldCloseOnClickOutside, onClose]);\n\n\tconst mergedCarouselOptions = mergedBaseCarouselOptions;\n\n\treturn {\n\t\tmergedRef,\n\t\tcurrentIndex,\n\t\tcounterText,\n\t\thandleEmblaApi,\n\t\thandleThumbnailsEmblaApi,\n\t\thandleThumbnailClick,\n\t\thandleOutsideClick,\n\t\tmergedCarouselOptions,\n\t\tmergedThumbnailEmblaOptions,\n\t};\n}\n"],"names":["LIGHTBOX_DEFAULT_PROPS","useMemo","useFocusTrap","useMergedRef","useFocusReturn","useRef","useState","useHotkeys","useCallback"],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var Lightbox_defaults = require('../Lightbox.defaults.cjs');
|
|
5
|
+
|
|
6
|
+
function useLightboxRootOptions(props) {
|
|
7
|
+
return {
|
|
8
|
+
overlayProps: {
|
|
9
|
+
...Lightbox_defaults.LIGHTBOX_DEFAULT_PROPS.overlayProps,
|
|
10
|
+
...props.overlayProps
|
|
11
|
+
},
|
|
12
|
+
transitionProps: {
|
|
13
|
+
...Lightbox_defaults.LIGHTBOX_DEFAULT_PROPS.transitionProps,
|
|
14
|
+
...props.transitionProps
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
exports.useLightboxRootOptions = useLightboxRootOptions;
|
|
20
|
+
//# sourceMappingURL=useLightboxRootOptions.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLightboxRootOptions.cjs","sources":["../../../src/hooks/useLightboxRootOptions.ts"],"sourcesContent":["import type { OverlayProps, TransitionOverride } from \"@mantine/core\";\nimport { LIGHTBOX_DEFAULT_PROPS } from \"../Lightbox.defaults.js\";\n\ninterface UseLightboxRootOptionsInput {\n\toverlayProps: OverlayProps | undefined;\n\ttransitionProps: TransitionOverride | undefined;\n}\n\ninterface UseLightboxRootOptionsOutput {\n\toverlayProps: OverlayProps;\n\ttransitionProps: TransitionOverride;\n}\n\nexport function useLightboxRootOptions(\n\tprops: UseLightboxRootOptionsInput,\n): UseLightboxRootOptionsOutput {\n\treturn {\n\t\toverlayProps: {\n\t\t\t...LIGHTBOX_DEFAULT_PROPS.overlayProps,\n\t\t\t...props.overlayProps,\n\t\t},\n\t\ttransitionProps: {\n\t\t\t...LIGHTBOX_DEFAULT_PROPS.transitionProps,\n\t\t\t...props.transitionProps,\n\t\t},\n\t};\n}\n"],"names":["LIGHTBOX_DEFAULT_PROPS"],"mappings":";;;;;AAEO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA;AAC9C,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA;AACT,CAAA,CAAA,CAAA,CAAI,YAAY,CAAA,CAAE,CAAA;AAClB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAGA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAsB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA;AAC5C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,KAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACf,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA;AACL,CAAA,CAAA,CAAA,CAAI,eAAe,CAAA,CAAE,CAAA;AACrB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAGA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAsB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA;AAC/C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,KAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACf,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAG,CAAA;AACH,CAAA;;"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var pointer = require('../utils/pointer.cjs');
|
|
6
|
+
|
|
7
|
+
function useSlideInteractions(props) {
|
|
8
|
+
const {
|
|
9
|
+
onClose,
|
|
10
|
+
onZoomPointerDown,
|
|
11
|
+
onZoomPointerMove,
|
|
12
|
+
onZoomPointerEnd,
|
|
13
|
+
updateCanZoomAvailability
|
|
14
|
+
} = props;
|
|
15
|
+
const outsideClosePointerRef = React.useRef(null);
|
|
16
|
+
const handleSlidePointerDown = React.useCallback(
|
|
17
|
+
(event) => {
|
|
18
|
+
const startedInsideContent = pointer.isEventTargetWithinSelector(
|
|
19
|
+
event.target,
|
|
20
|
+
"[data-lightbox-slide-content]"
|
|
21
|
+
);
|
|
22
|
+
outsideClosePointerRef.current = pointer.createOutsideClosePointerState({
|
|
23
|
+
pointerId: event.pointerId,
|
|
24
|
+
clientX: event.clientX,
|
|
25
|
+
clientY: event.clientY,
|
|
26
|
+
startedOutsideContent: !startedInsideContent
|
|
27
|
+
});
|
|
28
|
+
onZoomPointerDown(event);
|
|
29
|
+
},
|
|
30
|
+
[onZoomPointerDown]
|
|
31
|
+
);
|
|
32
|
+
const handleSlidePointerMove = React.useCallback(
|
|
33
|
+
(event) => {
|
|
34
|
+
const outsideClosePointer = outsideClosePointerRef.current;
|
|
35
|
+
if (outsideClosePointer && outsideClosePointer.pointerId === event.pointerId) {
|
|
36
|
+
outsideClosePointerRef.current = pointer.updateOutsideClosePointerState(
|
|
37
|
+
outsideClosePointer,
|
|
38
|
+
{
|
|
39
|
+
clientX: event.clientX,
|
|
40
|
+
clientY: event.clientY
|
|
41
|
+
}
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
onZoomPointerMove(event);
|
|
45
|
+
},
|
|
46
|
+
[onZoomPointerMove]
|
|
47
|
+
);
|
|
48
|
+
const handleSlidePointerUp = React.useCallback(
|
|
49
|
+
(event) => {
|
|
50
|
+
onZoomPointerEnd(event);
|
|
51
|
+
const outsideClosePointer = outsideClosePointerRef.current;
|
|
52
|
+
if (!outsideClosePointer || outsideClosePointer.pointerId !== event.pointerId) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const finalizedPointer = pointer.updateOutsideClosePointerState(
|
|
56
|
+
outsideClosePointer,
|
|
57
|
+
{
|
|
58
|
+
clientX: event.clientX,
|
|
59
|
+
clientY: event.clientY
|
|
60
|
+
}
|
|
61
|
+
);
|
|
62
|
+
outsideClosePointerRef.current = null;
|
|
63
|
+
if (pointer.shouldCloseFromOutsidePointerState(finalizedPointer)) {
|
|
64
|
+
onClose();
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
[onClose, onZoomPointerEnd]
|
|
68
|
+
);
|
|
69
|
+
const handleSlidePointerCancel = React.useCallback(
|
|
70
|
+
(event) => {
|
|
71
|
+
outsideClosePointerRef.current = null;
|
|
72
|
+
onZoomPointerEnd(event);
|
|
73
|
+
},
|
|
74
|
+
[onZoomPointerEnd]
|
|
75
|
+
);
|
|
76
|
+
const handleSlideLoadCapture = React.useCallback(
|
|
77
|
+
(event) => {
|
|
78
|
+
if (event.target instanceof HTMLImageElement) {
|
|
79
|
+
updateCanZoomAvailability();
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
[updateCanZoomAvailability]
|
|
83
|
+
);
|
|
84
|
+
return {
|
|
85
|
+
handleSlidePointerDown,
|
|
86
|
+
handleSlidePointerMove,
|
|
87
|
+
handleSlidePointerUp,
|
|
88
|
+
handleSlidePointerCancel,
|
|
89
|
+
handleSlideLoadCapture
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
exports.useSlideInteractions = useSlideInteractions;
|
|
94
|
+
//# sourceMappingURL=useSlideInteractions.cjs.map
|