@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,26 @@
|
|
|
1
|
+
import type { PointerEvent as ReactPointerEvent, SyntheticEvent } from "react";
|
|
2
|
+
interface UseSlideInteractionsProps {
|
|
3
|
+
onClose: () => void;
|
|
4
|
+
onZoomPointerDown: (event: ReactPointerEvent<HTMLDivElement>) => void;
|
|
5
|
+
onZoomPointerMove: (event: ReactPointerEvent<HTMLDivElement>) => void;
|
|
6
|
+
onZoomPointerEnd: (event: ReactPointerEvent<HTMLDivElement>) => void;
|
|
7
|
+
updateCanZoomAvailability: () => void;
|
|
8
|
+
}
|
|
9
|
+
interface UseSlideInteractionsReturn {
|
|
10
|
+
handleSlidePointerDown: (event: ReactPointerEvent<HTMLDivElement>) => void;
|
|
11
|
+
handleSlidePointerMove: (event: ReactPointerEvent<HTMLDivElement>) => void;
|
|
12
|
+
handleSlidePointerUp: (event: ReactPointerEvent<HTMLDivElement>) => void;
|
|
13
|
+
handleSlidePointerCancel: (event: ReactPointerEvent<HTMLDivElement>) => void;
|
|
14
|
+
handleSlideLoadCapture: (event: SyntheticEvent<HTMLDivElement>) => void;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Combines outside-content close detection with zoom pointer event delegation
|
|
18
|
+
* for a single lightbox slide element.
|
|
19
|
+
*
|
|
20
|
+
* Tracks whether each pointer press originated outside `[data-lightbox-slide-content]`
|
|
21
|
+
* and closes the lightbox on release if the pointer did not drag. Zoom pointer
|
|
22
|
+
* events are forwarded to the provided zoom handlers throughout.
|
|
23
|
+
*/
|
|
24
|
+
export declare function useSlideInteractions(props: UseSlideInteractionsProps): UseSlideInteractionsReturn;
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=useSlideInteractions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSlideInteractions.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSlideInteractions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,IAAI,iBAAiB,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAU/E,UAAU,yBAAyB;IAClC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,iBAAiB,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IACtE,iBAAiB,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IACtE,gBAAgB,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IACrE,yBAAyB,EAAE,MAAM,IAAI,CAAC;CACtC;AAED,UAAU,0BAA0B;IACnC,sBAAsB,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IAC3E,sBAAsB,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IAC3E,oBAAoB,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IACzE,wBAAwB,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IAC7E,sBAAsB,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;CACxE;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CACnC,KAAK,EAAE,yBAAyB,GAC9B,0BAA0B,CA0G5B"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { EmblaCarouselType, EmblaOptionsType } from "embla-carousel";
|
|
2
|
+
import { type RefObject } from "react";
|
|
3
|
+
interface UseThumbnailsProps {
|
|
4
|
+
emblaOptions: EmblaOptionsType | undefined;
|
|
5
|
+
thumbnailsEmblaRef: RefObject<EmblaCarouselType | null>;
|
|
6
|
+
initialIndex: number;
|
|
7
|
+
}
|
|
8
|
+
interface UseThumbnailsReturn {
|
|
9
|
+
setViewportRef: (node: HTMLDivElement | null) => void;
|
|
10
|
+
containerRef: RefObject<HTMLDivElement | null>;
|
|
11
|
+
hasOverflow: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare function useThumbnails(props: UseThumbnailsProps): UseThumbnailsReturn;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=useThumbnails.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useThumbnails.d.ts","sourceRoot":"","sources":["../../../src/hooks/useThumbnails.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE1E,OAAO,EACN,KAAK,SAAS,EAKd,MAAM,OAAO,CAAC;AAEf,UAAU,kBAAkB;IAC3B,YAAY,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC3C,kBAAkB,EAAE,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IACxD,YAAY,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,mBAAmB;IAC5B,cAAc,EAAE,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;IACtD,YAAY,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC/C,WAAW,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,mBAAmB,CAwE5E"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { PointerEvent as ReactPointerEvent, RefObject } from "react";
|
|
2
|
+
import { type ZoomOffset } from "../utils/zoom.js";
|
|
3
|
+
interface UseZoomInput {
|
|
4
|
+
opened: boolean;
|
|
5
|
+
withZoom: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface UseZoomOutput {
|
|
8
|
+
isZoomed: boolean;
|
|
9
|
+
isZoomedRef: RefObject<boolean>;
|
|
10
|
+
isDraggingZoom: boolean;
|
|
11
|
+
zoomOffset: ZoomOffset;
|
|
12
|
+
zoomScale: number;
|
|
13
|
+
canZoomCurrent: boolean;
|
|
14
|
+
activeZoomContainerRef: RefObject<HTMLDivElement | null>;
|
|
15
|
+
resetZoom: () => void;
|
|
16
|
+
toggleZoom: () => void;
|
|
17
|
+
updateCanZoomAvailability: () => void;
|
|
18
|
+
handleZoomPointerDown: (event: ReactPointerEvent<HTMLDivElement>) => void;
|
|
19
|
+
handleZoomPointerMove: (event: ReactPointerEvent<HTMLDivElement>) => void;
|
|
20
|
+
handleZoomPointerEnd: (event: ReactPointerEvent<HTMLDivElement>) => void;
|
|
21
|
+
}
|
|
22
|
+
export declare function useZoom(props: UseZoomInput): UseZoomOutput;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=useZoom.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useZoom.d.ts","sourceRoot":"","sources":["../../../src/hooks/useZoom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,IAAI,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAO1E,OAAO,EAQN,KAAK,UAAU,EACf,MAAM,kBAAkB,CAAC;AAE1B,UAAU,YAAY;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAChC,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,sBAAsB,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACzD,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,yBAAyB,EAAE,MAAM,IAAI,CAAC;IACtC,qBAAqB,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IAC1E,qBAAqB,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IAC1E,oBAAoB,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;CACzE;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,aAAa,CAoU1D"}
|
package/dist/types/index.d.mts
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
|
-
export type {
|
|
1
|
+
export type { LightboxAutoplayButtonFactory, LightboxAutoplayButtonProps, LightboxAutoplayButtonStylesNames, } from "./components/LightboxAutoplayButton.js";
|
|
2
|
+
export { LightboxAutoplayButton } from "./components/LightboxAutoplayButton.js";
|
|
3
|
+
export type { LightboxCloseButtonFactory, LightboxCloseButtonProps, LightboxCloseButtonStylesNames, } from "./components/LightboxCloseButton.js";
|
|
4
|
+
export { LightboxCloseButton } from "./components/LightboxCloseButton.js";
|
|
5
|
+
export type { LightboxControlsFactory, LightboxControlsProps, LightboxControlsStylesNames, } from "./components/LightboxControls.js";
|
|
6
|
+
export { LightboxControls } from "./components/LightboxControls.js";
|
|
7
|
+
export type { LightboxCounterFactory, LightboxCounterProps, LightboxCounterStylesNames, } from "./components/LightboxCounter.js";
|
|
8
|
+
export { LightboxCounter } from "./components/LightboxCounter.js";
|
|
9
|
+
export type { LightboxFullscreenButtonFactory, LightboxFullscreenButtonProps, LightboxFullscreenButtonStylesNames, } from "./components/LightboxFullscreenButton.js";
|
|
10
|
+
export { LightboxFullscreenButton } from "./components/LightboxFullscreenButton.js";
|
|
11
|
+
export type { LightboxRootFactory, LightboxRootProps, LightboxRootStylesNames, } from "./components/LightboxRoot.js";
|
|
12
|
+
export { LightboxRoot } from "./components/LightboxRoot.js";
|
|
13
|
+
export type { LightboxSlideFactory, LightboxSlideProps, LightboxSlideStylesNames, } from "./components/LightboxSlide.js";
|
|
14
|
+
export { LightboxSlide } from "./components/LightboxSlide.js";
|
|
15
|
+
export type { LightboxSlidesFactory, LightboxSlidesProps, LightboxSlidesStylesNames, } from "./components/LightboxSlides.js";
|
|
16
|
+
export { LightboxSlides } from "./components/LightboxSlides.js";
|
|
17
|
+
export type { LightboxThumbnailFactory, LightboxThumbnailProps, LightboxThumbnailStylesNames, } from "./components/LightboxThumbnail.js";
|
|
18
|
+
export { LightboxThumbnail } from "./components/LightboxThumbnail.js";
|
|
19
|
+
export type { LightboxThumbnailsFactory, LightboxThumbnailsProps, LightboxThumbnailsStylesNames, } from "./components/LightboxThumbnails.js";
|
|
20
|
+
export { LightboxThumbnails } from "./components/LightboxThumbnails.js";
|
|
21
|
+
export type { LightboxToolbarFactory, LightboxToolbarProps, LightboxToolbarStylesNames, } from "./components/LightboxToolbar.js";
|
|
22
|
+
export { LightboxToolbar } from "./components/LightboxToolbar.js";
|
|
23
|
+
export type { LightboxZoomButtonFactory, LightboxZoomButtonProps, LightboxZoomButtonStylesNames, } from "./components/LightboxZoomButton.js";
|
|
24
|
+
export { LightboxZoomButton } from "./components/LightboxZoomButton.js";
|
|
25
|
+
export type { LightboxContext } from "./context/LightboxContext.js";
|
|
26
|
+
export { useLightboxContext } from "./context/LightboxContext.js";
|
|
27
|
+
export type { LightboxFactory, LightboxImageData, LightboxProps, } from "./Lightbox.js";
|
|
2
28
|
export { Lightbox } from "./Lightbox.js";
|
|
3
|
-
export type { LightboxSlideFactory, LightboxSlideProps, LightboxSlideStylesNames, } from "./LightboxSlide.js";
|
|
4
|
-
export { LightboxSlide } from "./LightboxSlide.js";
|
|
5
29
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
|
-
export type {
|
|
1
|
+
export type { LightboxAutoplayButtonFactory, LightboxAutoplayButtonProps, LightboxAutoplayButtonStylesNames, } from "./components/LightboxAutoplayButton.js";
|
|
2
|
+
export { LightboxAutoplayButton } from "./components/LightboxAutoplayButton.js";
|
|
3
|
+
export type { LightboxCloseButtonFactory, LightboxCloseButtonProps, LightboxCloseButtonStylesNames, } from "./components/LightboxCloseButton.js";
|
|
4
|
+
export { LightboxCloseButton } from "./components/LightboxCloseButton.js";
|
|
5
|
+
export type { LightboxControlsFactory, LightboxControlsProps, LightboxControlsStylesNames, } from "./components/LightboxControls.js";
|
|
6
|
+
export { LightboxControls } from "./components/LightboxControls.js";
|
|
7
|
+
export type { LightboxCounterFactory, LightboxCounterProps, LightboxCounterStylesNames, } from "./components/LightboxCounter.js";
|
|
8
|
+
export { LightboxCounter } from "./components/LightboxCounter.js";
|
|
9
|
+
export type { LightboxFullscreenButtonFactory, LightboxFullscreenButtonProps, LightboxFullscreenButtonStylesNames, } from "./components/LightboxFullscreenButton.js";
|
|
10
|
+
export { LightboxFullscreenButton } from "./components/LightboxFullscreenButton.js";
|
|
11
|
+
export type { LightboxRootFactory, LightboxRootProps, LightboxRootStylesNames, } from "./components/LightboxRoot.js";
|
|
12
|
+
export { LightboxRoot } from "./components/LightboxRoot.js";
|
|
13
|
+
export type { LightboxSlideFactory, LightboxSlideProps, LightboxSlideStylesNames, } from "./components/LightboxSlide.js";
|
|
14
|
+
export { LightboxSlide } from "./components/LightboxSlide.js";
|
|
15
|
+
export type { LightboxSlidesFactory, LightboxSlidesProps, LightboxSlidesStylesNames, } from "./components/LightboxSlides.js";
|
|
16
|
+
export { LightboxSlides } from "./components/LightboxSlides.js";
|
|
17
|
+
export type { LightboxThumbnailFactory, LightboxThumbnailProps, LightboxThumbnailStylesNames, } from "./components/LightboxThumbnail.js";
|
|
18
|
+
export { LightboxThumbnail } from "./components/LightboxThumbnail.js";
|
|
19
|
+
export type { LightboxThumbnailsFactory, LightboxThumbnailsProps, LightboxThumbnailsStylesNames, } from "./components/LightboxThumbnails.js";
|
|
20
|
+
export { LightboxThumbnails } from "./components/LightboxThumbnails.js";
|
|
21
|
+
export type { LightboxToolbarFactory, LightboxToolbarProps, LightboxToolbarStylesNames, } from "./components/LightboxToolbar.js";
|
|
22
|
+
export { LightboxToolbar } from "./components/LightboxToolbar.js";
|
|
23
|
+
export type { LightboxZoomButtonFactory, LightboxZoomButtonProps, LightboxZoomButtonStylesNames, } from "./components/LightboxZoomButton.js";
|
|
24
|
+
export { LightboxZoomButton } from "./components/LightboxZoomButton.js";
|
|
25
|
+
export type { LightboxContext } from "./context/LightboxContext.js";
|
|
26
|
+
export { useLightboxContext } from "./context/LightboxContext.js";
|
|
27
|
+
export type { LightboxFactory, LightboxImageData, LightboxProps, } from "./Lightbox.js";
|
|
2
28
|
export { Lightbox } from "./Lightbox.js";
|
|
3
|
-
export type { LightboxSlideFactory, LightboxSlideProps, LightboxSlideStylesNames, } from "./LightboxSlide.js";
|
|
4
|
-
export { LightboxSlide } from "./LightboxSlide.js";
|
|
5
29
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,oBAAoB,EACpB,eAAe,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,6BAA6B,EAC7B,2BAA2B,EAC3B,iCAAiC,GACjC,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,YAAY,EACX,0BAA0B,EAC1B,wBAAwB,EACxB,8BAA8B,GAC9B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,YAAY,EACX,uBAAuB,EACvB,qBAAqB,EACrB,2BAA2B,GAC3B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,YAAY,EACX,sBAAsB,EACtB,oBAAoB,EACpB,0BAA0B,GAC1B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,YAAY,EACX,+BAA+B,EAC/B,6BAA6B,EAC7B,mCAAmC,GACnC,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,YAAY,EACX,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,GACvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,YAAY,EACX,oBAAoB,EACpB,kBAAkB,EAClB,wBAAwB,GACxB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,YAAY,EACX,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,GACzB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,YAAY,EACX,wBAAwB,EACxB,sBAAsB,EACtB,4BAA4B,GAC5B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,YAAY,EACX,yBAAyB,EACzB,uBAAuB,EACvB,6BAA6B,GAC7B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,YAAY,EACX,sBAAsB,EACtB,oBAAoB,EACpB,0BAA0B,GAC1B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,YAAY,EACX,yBAAyB,EACzB,uBAAuB,EACvB,6BAA6B,GAC7B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,YAAY,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,YAAY,EACX,eAAe,EACf,iBAAiB,EACjB,aAAa,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
title: string;
|
|
3
|
+
};
|
|
4
|
+
export default _default;
|
|
5
|
+
export declare const Default: () => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export declare const WithLoop: () => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export declare const WithCustomCounter: () => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export declare const Vertical: () => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export declare const WithAutoplay: () => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare const Simple: () => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
//# sourceMappingURL=Lightbox.story.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Lightbox.story.d.ts","sourceRoot":"","sources":["../../../src/stories/Lightbox.story.tsx"],"names":[],"mappings":";;;AAWA,wBAAqC;AAgErC,eAAO,MAAM,OAAO,+CAenB,CAAC;AAEF,eAAO,MAAM,QAAQ,+CAiBpB,CAAC;AAEF,eAAO,MAAM,iBAAiB,+CAe7B,CAAC;AAEF,eAAO,MAAM,QAAQ,+CAepB,CAAC;AAEF,eAAO,MAAM,YAAY,+CAwBxB,CAAC;AAEF,eAAO,MAAM,MAAM,+CASlB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns `true` if the browser supports the Fullscreen API and fullscreen
|
|
3
|
+
* can be requested on the document element.
|
|
4
|
+
*/
|
|
5
|
+
export declare const canToggleBrowserFullscreen: () => boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Returns `true` if the document root element is currently in fullscreen mode.
|
|
8
|
+
*/
|
|
9
|
+
export declare const isBrowserFullscreen: () => boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Toggles the browser's fullscreen mode on the document root element.
|
|
12
|
+
* Exits fullscreen if it is currently active, otherwise requests it.
|
|
13
|
+
* No-ops in environments where the Fullscreen API is unavailable.
|
|
14
|
+
*/
|
|
15
|
+
export declare const toggleBrowserFullscreen: () => Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* Exits fullscreen only if the document root element currently owns fullscreen.
|
|
18
|
+
* Avoids interfering with other fullscreen targets (e.g. `<video>` elements).
|
|
19
|
+
*/
|
|
20
|
+
export declare const exitBrowserFullscreenIfActive: () => Promise<void>;
|
|
21
|
+
//# sourceMappingURL=fullscreen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fullscreen.d.ts","sourceRoot":"","sources":["../../../src/utils/fullscreen.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,eAAO,MAAM,0BAA0B,eAOtC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,eAO/B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,qBAmBnC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,6BAA6B,qBAUzC,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/** Minimum pointer movement in pixels before a gesture is considered a drag. */
|
|
2
|
+
export declare const POINTER_MOVE_THRESHOLD = 2;
|
|
3
|
+
/** Tracks the state of a pointer used to detect outside-content close gestures. */
|
|
4
|
+
export interface OutsideClosePointerState {
|
|
5
|
+
/** Identifier of the tracked pointer. */
|
|
6
|
+
pointerId: number;
|
|
7
|
+
/** Horizontal position where the pointer was initially pressed. */
|
|
8
|
+
startX: number;
|
|
9
|
+
/** Vertical position where the pointer was initially pressed. */
|
|
10
|
+
startY: number;
|
|
11
|
+
/** Whether the pointer press originated outside the slide content area. */
|
|
12
|
+
startedOutsideContent: boolean;
|
|
13
|
+
/** Whether the pointer has moved beyond the drag threshold since pressing. */
|
|
14
|
+
moved: boolean;
|
|
15
|
+
}
|
|
16
|
+
interface CreateOutsideClosePointerStateInput {
|
|
17
|
+
pointerId: number;
|
|
18
|
+
clientX: number;
|
|
19
|
+
clientY: number;
|
|
20
|
+
startedOutsideContent: boolean;
|
|
21
|
+
}
|
|
22
|
+
interface PointerMoveInput {
|
|
23
|
+
startX: number;
|
|
24
|
+
startY: number;
|
|
25
|
+
endX: number;
|
|
26
|
+
endY: number;
|
|
27
|
+
threshold?: number;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Returns `true` if the event target is an element (or descendant) matching
|
|
31
|
+
* the given CSS selector.
|
|
32
|
+
*/
|
|
33
|
+
export declare const isEventTargetWithinSelector: (target: EventTarget | null, selector: string) => boolean;
|
|
34
|
+
/** Returns `true` if the event target is or is inside an `<img>` element. */
|
|
35
|
+
export declare const isImageTarget: (target: EventTarget | null) => boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Returns `value` if it is a finite number, otherwise returns `fallback`.
|
|
38
|
+
* Useful for sanitising pointer coordinates that may be `NaN` or `Infinity`.
|
|
39
|
+
*/
|
|
40
|
+
export declare const getPointerCoordinate: (value: number, fallback: number) => number;
|
|
41
|
+
/**
|
|
42
|
+
* Returns `true` if the pointer has moved more than `threshold` pixels in
|
|
43
|
+
* either axis between the start and end positions.
|
|
44
|
+
*/
|
|
45
|
+
export declare const hasPointerMoved: ({ startX, startY, endX, endY, threshold, }: PointerMoveInput) => boolean;
|
|
46
|
+
/** Creates the initial tracking state for an outside-close pointer gesture. */
|
|
47
|
+
export declare const createOutsideClosePointerState: ({ pointerId, clientX, clientY, startedOutsideContent, }: CreateOutsideClosePointerStateInput) => OutsideClosePointerState;
|
|
48
|
+
/**
|
|
49
|
+
* Returns an updated copy of the pointer state after a pointer move event.
|
|
50
|
+
* Sets `moved` to `true` once the pointer has exceeded the drag threshold.
|
|
51
|
+
*/
|
|
52
|
+
export declare const updateOutsideClosePointerState: (state: OutsideClosePointerState, { clientX, clientY }: {
|
|
53
|
+
clientX: number;
|
|
54
|
+
clientY: number;
|
|
55
|
+
}) => OutsideClosePointerState;
|
|
56
|
+
/**
|
|
57
|
+
* Returns `true` if the pointer gesture should trigger a close action.
|
|
58
|
+
* The action triggers when the press started outside the content and the
|
|
59
|
+
* pointer did not drag.
|
|
60
|
+
*/
|
|
61
|
+
export declare const shouldCloseFromOutsidePointerState: (state: OutsideClosePointerState) => boolean;
|
|
62
|
+
export {};
|
|
63
|
+
//# sourceMappingURL=pointer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pointer.d.ts","sourceRoot":"","sources":["../../../src/utils/pointer.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,mFAAmF;AACnF,MAAM,WAAW,wBAAwB;IACxC,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,MAAM,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,qBAAqB,EAAE,OAAO,CAAC;IAC/B,8EAA8E;IAC9E,KAAK,EAAE,OAAO,CAAC;CACf;AAED,UAAU,mCAAmC;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB,EAAE,OAAO,CAAC;CAC/B;AAED,UAAU,gBAAgB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,eAAO,MAAM,2BAA2B,GACvC,QAAQ,WAAW,GAAG,IAAI,EAC1B,UAAU,MAAM,YACsD,CAAC;AAExE,6EAA6E;AAC7E,eAAO,MAAM,aAAa,GAAI,QAAQ,WAAW,GAAG,IAAI,YACb,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAI,OAAO,MAAM,EAAE,UAAU,MAAM,WAC1B,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,4CAM7B,gBAAgB,YACwD,CAAC;AAE5E,+EAA+E;AAC/E,eAAO,MAAM,8BAA8B,GAAI,yDAK5C,mCAAmC,KAAG,wBAMvC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,8BAA8B,GAC1C,OAAO,wBAAwB,EAC/B,sBAAsB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,KACxD,wBAiBF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kCAAkC,GAC9C,OAAO,wBAAwB,YACgB,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/** Pixel offset representing a translation applied to a zoomed image. */
|
|
2
|
+
export interface ZoomOffset {
|
|
3
|
+
/** Horizontal translation in pixels. */
|
|
4
|
+
x: number;
|
|
5
|
+
/** Vertical translation in pixels. */
|
|
6
|
+
y: number;
|
|
7
|
+
}
|
|
8
|
+
/** Default zoom scale applied when zooming in on an image. */
|
|
9
|
+
export declare const DEFAULT_ZOOM_SCALE = 2;
|
|
10
|
+
/** Zero-offset value representing no translation on a zoomed image. */
|
|
11
|
+
export declare const ZERO_ZOOM_OFFSET: ZoomOffset;
|
|
12
|
+
interface ClampZoomOffsetInput {
|
|
13
|
+
containerWidth: number;
|
|
14
|
+
containerHeight: number;
|
|
15
|
+
imageWidth: number;
|
|
16
|
+
imageHeight: number;
|
|
17
|
+
zoomScale: number;
|
|
18
|
+
nextX: number;
|
|
19
|
+
nextY: number;
|
|
20
|
+
}
|
|
21
|
+
interface InitialZoomOffsetInput {
|
|
22
|
+
containerRect: DOMRect;
|
|
23
|
+
imageRect: DOMRect;
|
|
24
|
+
zoomScale: number;
|
|
25
|
+
pointerClientX: number;
|
|
26
|
+
pointerClientY: number;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Clamps a proposed zoom pan offset so the image cannot be panned beyond its
|
|
30
|
+
* edges relative to the container at the given zoom scale.
|
|
31
|
+
*/
|
|
32
|
+
export declare const clampZoomOffset: ({ containerWidth, containerHeight, imageWidth, imageHeight, zoomScale, nextX, nextY, }: ClampZoomOffsetInput) => ZoomOffset;
|
|
33
|
+
/**
|
|
34
|
+
* Calculates the initial pan offset when zooming so the clicked/tapped point
|
|
35
|
+
* moves toward the viewport center, then clamps it to valid pan bounds.
|
|
36
|
+
*/
|
|
37
|
+
export declare const getInitialZoomOffset: ({ containerRect, imageRect, zoomScale, pointerClientX, pointerClientY, }: InitialZoomOffsetInput) => ZoomOffset;
|
|
38
|
+
/**
|
|
39
|
+
* Returns a CSS `transform` string that applies the zoom pan offset and scale.
|
|
40
|
+
* When not zoomed, returns identity values regardless of the stored offset.
|
|
41
|
+
*/
|
|
42
|
+
export declare const getZoomTransform: ({ isZoomed, offset, scale, }: {
|
|
43
|
+
isZoomed: boolean;
|
|
44
|
+
offset: ZoomOffset;
|
|
45
|
+
scale: number;
|
|
46
|
+
}) => string;
|
|
47
|
+
/**
|
|
48
|
+
* Returns the maximum zoom scale at which the image would still be rendered at
|
|
49
|
+
* its native resolution (1:1 pixel ratio). Falls back to `DEFAULT_ZOOM_SCALE`
|
|
50
|
+
* when image dimensions are unavailable.
|
|
51
|
+
*/
|
|
52
|
+
export declare const getImageMaxZoomScale: (image: HTMLImageElement) => number;
|
|
53
|
+
/**
|
|
54
|
+
* Calculates the zoom scale that should be applied when the user triggers a
|
|
55
|
+
* zoom action. Prefers a scale that fills the container viewport; falls back to
|
|
56
|
+
* the native-resolution scale or `DEFAULT_ZOOM_SCALE` when the image is small.
|
|
57
|
+
*/
|
|
58
|
+
export declare const getTargetZoomScale: ({ image, containerWidth, containerHeight, }: {
|
|
59
|
+
image: HTMLImageElement;
|
|
60
|
+
containerWidth: number;
|
|
61
|
+
containerHeight: number;
|
|
62
|
+
}) => number;
|
|
63
|
+
/**
|
|
64
|
+
* Returns `true` if the image has sufficient resolution to be meaningfully
|
|
65
|
+
* zoomed (i.e. its max zoom scale exceeds the resolution epsilon threshold).
|
|
66
|
+
*/
|
|
67
|
+
export declare const canZoomImageElement: (image: HTMLImageElement) => boolean;
|
|
68
|
+
export {};
|
|
69
|
+
//# sourceMappingURL=zoom.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zoom.d.ts","sourceRoot":"","sources":["../../../src/utils/zoom.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,MAAM,WAAW,UAAU;IAC1B,wCAAwC;IACxC,CAAC,EAAE,MAAM,CAAC;IACV,sCAAsC;IACtC,CAAC,EAAE,MAAM,CAAC;CACV;AAED,8DAA8D;AAC9D,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC,uEAAuE;AACvE,eAAO,MAAM,gBAAgB,EAAE,UAA2B,CAAC;AAE3D,UAAU,oBAAoB;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACd;AAED,UAAU,sBAAsB;IAC/B,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,wFAQ7B,oBAAoB,KAAG,UAUzB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAI,0EAMlC,sBAAsB,KAAG,UAe3B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,8BAI9B;IACF,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACd,WAGG,CAAC;AAcL;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,OAAO,gBAAgB,WAS3D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,6CAIhC;IACF,KAAK,EAAE,gBAAgB,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;CACxB,WAaA,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAAI,OAAO,gBAAgB,YACV,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zoom.test.d.ts","sourceRoot":"","sources":["../../../src/utils/zoom.test.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mantine-bites/lightbox",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.10",
|
|
4
4
|
"description": "full-screen image lightbox with thumbnails, controls, and carousel navigation",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -29,7 +29,6 @@
|
|
|
29
29
|
"dist"
|
|
30
30
|
],
|
|
31
31
|
"peerDependencies": {
|
|
32
|
-
"@mantine/carousel": ">=8.0.0",
|
|
33
32
|
"@mantine/core": ">=8.0.0",
|
|
34
33
|
"@mantine/hooks": ">=8.0.0",
|
|
35
34
|
"embla-carousel": ">=8.0.0",
|
|
@@ -38,10 +37,10 @@
|
|
|
38
37
|
"react-dom": "^18.x || ^19.x"
|
|
39
38
|
},
|
|
40
39
|
"devDependencies": {
|
|
40
|
+
"embla-carousel-autoplay": "^8.5.2",
|
|
41
41
|
"@mantine-bites/rollup-config": "workspace:*",
|
|
42
42
|
"@mantine-bites/typescript-config": "workspace:*",
|
|
43
43
|
"@mantine-tests/core": "^2.0.0",
|
|
44
|
-
"@mantine/carousel": "^8.3.14",
|
|
45
44
|
"@mantine/core": "^8.3.14",
|
|
46
45
|
"@mantine/hooks": "^8.3.14",
|
|
47
46
|
"embla-carousel": "^8.5.2",
|