@mantine-bites/lightbox 1.0.0-beta.9 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -8
- package/dist/cjs/Lightbox.cjs +63 -201
- 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 +3 -8
- package/dist/cjs/Lightbox.defaults.cjs.map +1 -1
- 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/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 +99 -77
- package/dist/cjs/components/LightboxSlides.cjs.map +1 -1
- 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 +110 -32
- package/dist/cjs/components/LightboxThumbnails.cjs.map +1 -1
- package/dist/cjs/components/LightboxToolbar.cjs +83 -70
- package/dist/cjs/components/LightboxToolbar.cjs.map +1 -1
- package/dist/cjs/components/LightboxZoomButton.cjs +39 -0
- package/dist/cjs/components/LightboxZoomButton.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 +30 -15
- package/dist/cjs/hooks/useAutoPlay.cjs.map +1 -1
- package/dist/cjs/hooks/useLightbox.cjs +62 -117
- package/dist/cjs/hooks/useLightbox.cjs.map +1 -1
- package/dist/cjs/hooks/useLightboxRootOptions.cjs +20 -0
- package/dist/cjs/hooks/useLightboxRootOptions.cjs.map +1 -0
- package/dist/cjs/hooks/useSlideInteractions.cjs +13 -13
- package/dist/cjs/hooks/useSlideInteractions.cjs.map +1 -1
- package/dist/cjs/hooks/useThumbnails.cjs +14 -11
- package/dist/cjs/hooks/useThumbnails.cjs.map +1 -1
- package/dist/cjs/hooks/useZoom.cjs +37 -38
- package/dist/cjs/hooks/useZoom.cjs.map +1 -1
- 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/pointer.cjs +50 -0
- package/dist/cjs/utils/pointer.cjs.map +1 -0
- package/dist/cjs/utils/zoom.cjs +2 -51
- package/dist/cjs/utils/zoom.cjs.map +1 -1
- 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 +3 -8
- package/dist/esm/Lightbox.defaults.mjs.map +1 -1
- package/dist/esm/Lightbox.mjs +65 -203
- 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/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 +100 -78
- package/dist/esm/components/LightboxSlides.mjs.map +1 -1
- 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 +111 -33
- package/dist/esm/components/LightboxThumbnails.mjs.map +1 -1
- package/dist/esm/components/LightboxToolbar.mjs +85 -72
- package/dist/esm/components/LightboxToolbar.mjs.map +1 -1
- package/dist/esm/components/LightboxZoomButton.mjs +37 -0
- package/dist/esm/components/LightboxZoomButton.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 +22 -7
- package/dist/esm/hooks/useAutoPlay.mjs.map +1 -1
- package/dist/esm/hooks/useLightbox.mjs +58 -113
- package/dist/esm/hooks/useLightbox.mjs.map +1 -1
- package/dist/esm/hooks/useLightboxRootOptions.mjs +18 -0
- package/dist/esm/hooks/useLightboxRootOptions.mjs.map +1 -0
- package/dist/esm/hooks/useSlideInteractions.mjs +1 -1
- package/dist/esm/hooks/useSlideInteractions.mjs.map +1 -1
- package/dist/esm/hooks/useThumbnails.mjs +7 -4
- package/dist/esm/hooks/useThumbnails.mjs.map +1 -1
- package/dist/esm/hooks/useZoom.mjs +6 -7
- package/dist/esm/hooks/useZoom.mjs.map +1 -1
- 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/pointer.mjs +41 -0
- package/dist/esm/utils/pointer.mjs.map +1 -0
- package/dist/esm/utils/zoom.mjs +3 -44
- package/dist/esm/utils/zoom.mjs.map +1 -1
- 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 +17 -15
- package/dist/types/Lightbox.context.d.ts.map +1 -1
- package/dist/types/Lightbox.d.ts +79 -96
- package/dist/types/Lightbox.d.ts.map +1 -1
- package/dist/types/Lightbox.defaults.d.ts +3 -8
- package/dist/types/Lightbox.defaults.d.ts.map +1 -1
- package/dist/types/Lightbox.story.d.ts +2 -2
- 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/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 +23 -1
- package/dist/types/components/LightboxSlides.d.ts.map +1 -1
- 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 +18 -6
- package/dist/types/components/LightboxThumbnails.d.ts.map +1 -1
- package/dist/types/components/LightboxToolbar.d.ts +16 -1
- package/dist/types/components/LightboxToolbar.d.ts.map +1 -1
- package/dist/types/components/LightboxZoomButton.d.ts +17 -0
- package/dist/types/components/LightboxZoomButton.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 +1 -1
- package/dist/types/hooks/useAutoPlay.d.ts.map +1 -1
- package/dist/types/hooks/useLightbox.d.ts +5 -28
- package/dist/types/hooks/useLightbox.d.ts.map +1 -1
- 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 +3 -3
- package/dist/types/hooks/useThumbnails.d.ts +5 -4
- package/dist/types/hooks/useThumbnails.d.ts.map +1 -1
- package/dist/types/hooks/useZoom.d.ts +2 -9
- package/dist/types/hooks/useZoom.d.ts.map +1 -1
- 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 +120 -0
- package/dist/types/stories/Lightbox.story.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 +0 -62
- package/dist/types/utils/zoom.d.ts.map +1 -1
- package/package.json +2 -4
|
@@ -4,13 +4,13 @@ interface UseZoomInput {
|
|
|
4
4
|
opened: boolean;
|
|
5
5
|
withZoom: boolean;
|
|
6
6
|
}
|
|
7
|
-
interface UseZoomOutput {
|
|
7
|
+
export interface UseZoomOutput {
|
|
8
8
|
isZoomed: boolean;
|
|
9
|
+
isZoomedRef: RefObject<boolean>;
|
|
9
10
|
isDraggingZoom: boolean;
|
|
10
11
|
zoomOffset: ZoomOffset;
|
|
11
12
|
zoomScale: number;
|
|
12
13
|
canZoomCurrent: boolean;
|
|
13
|
-
isZoomedRef: RefObject<boolean>;
|
|
14
14
|
activeZoomContainerRef: RefObject<HTMLDivElement | null>;
|
|
15
15
|
resetZoom: () => void;
|
|
16
16
|
toggleZoom: () => void;
|
|
@@ -19,13 +19,6 @@ interface UseZoomOutput {
|
|
|
19
19
|
handleZoomPointerMove: (event: ReactPointerEvent<HTMLDivElement>) => void;
|
|
20
20
|
handleZoomPointerEnd: (event: ReactPointerEvent<HTMLDivElement>) => void;
|
|
21
21
|
}
|
|
22
|
-
/**
|
|
23
|
-
* Manages all zoom and pan state for the lightbox.
|
|
24
|
-
*
|
|
25
|
-
* Handles pointer capture for smooth panning, tap-to-toggle zoom, offset
|
|
26
|
-
* clamping within container bounds, and automatic reset on slide change or
|
|
27
|
-
* window resize.
|
|
28
|
-
*/
|
|
29
22
|
export declare function useZoom(props: UseZoomInput): UseZoomOutput;
|
|
30
23
|
export {};
|
|
31
24
|
//# sourceMappingURL=useZoom.d.ts.map
|
|
@@ -1 +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;
|
|
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, LightboxImageProps, 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, LightboxImageProps, 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,uBAAuB,EACvB,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,kBAAkB,EAClB,aAAa,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
title: string;
|
|
3
|
+
argTypes: {
|
|
4
|
+
orientation: {
|
|
5
|
+
control: string;
|
|
6
|
+
options: string[];
|
|
7
|
+
table: {
|
|
8
|
+
category: string;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
loop: {
|
|
12
|
+
control: string;
|
|
13
|
+
table: {
|
|
14
|
+
category: string;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
enableAutoplay: {
|
|
18
|
+
control: string;
|
|
19
|
+
table: {
|
|
20
|
+
category: string;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
autoplayDelay: {
|
|
24
|
+
control: {
|
|
25
|
+
type: string;
|
|
26
|
+
min: number;
|
|
27
|
+
max: number;
|
|
28
|
+
step: number;
|
|
29
|
+
};
|
|
30
|
+
table: {
|
|
31
|
+
category: string;
|
|
32
|
+
};
|
|
33
|
+
if: {
|
|
34
|
+
arg: string;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
withZoom: {
|
|
38
|
+
control: string;
|
|
39
|
+
table: {
|
|
40
|
+
category: string;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
withFullscreen: {
|
|
44
|
+
control: string;
|
|
45
|
+
table: {
|
|
46
|
+
category: string;
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
withToolbar: {
|
|
50
|
+
control: string;
|
|
51
|
+
table: {
|
|
52
|
+
category: string;
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
withControls: {
|
|
56
|
+
control: string;
|
|
57
|
+
table: {
|
|
58
|
+
category: string;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
withThumbnails: {
|
|
62
|
+
control: string;
|
|
63
|
+
table: {
|
|
64
|
+
category: string;
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
withCounter: {
|
|
68
|
+
control: string;
|
|
69
|
+
table: {
|
|
70
|
+
category: string;
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
closeOnClickOutside: {
|
|
74
|
+
control: string;
|
|
75
|
+
table: {
|
|
76
|
+
category: string;
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
counterFormat: {
|
|
80
|
+
control: string;
|
|
81
|
+
options: string[];
|
|
82
|
+
table: {
|
|
83
|
+
category: string;
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
export default _default;
|
|
89
|
+
interface PlaygroundArgs {
|
|
90
|
+
orientation: "horizontal" | "vertical";
|
|
91
|
+
loop: boolean;
|
|
92
|
+
enableAutoplay: boolean;
|
|
93
|
+
autoplayDelay: number;
|
|
94
|
+
withZoom: boolean;
|
|
95
|
+
withFullscreen: boolean;
|
|
96
|
+
withToolbar: boolean;
|
|
97
|
+
withControls: boolean;
|
|
98
|
+
withThumbnails: boolean;
|
|
99
|
+
withCounter: boolean;
|
|
100
|
+
closeOnClickOutside: boolean;
|
|
101
|
+
counterFormat: "default" | "verbose";
|
|
102
|
+
}
|
|
103
|
+
export declare const Playground: {
|
|
104
|
+
args: {
|
|
105
|
+
orientation: "horizontal";
|
|
106
|
+
loop: false;
|
|
107
|
+
enableAutoplay: false;
|
|
108
|
+
autoplayDelay: number;
|
|
109
|
+
withZoom: true;
|
|
110
|
+
withFullscreen: true;
|
|
111
|
+
withToolbar: true;
|
|
112
|
+
withControls: true;
|
|
113
|
+
withThumbnails: true;
|
|
114
|
+
withCounter: true;
|
|
115
|
+
closeOnClickOutside: true;
|
|
116
|
+
counterFormat: "default";
|
|
117
|
+
};
|
|
118
|
+
render: (args: PlaygroundArgs) => import("react/jsx-runtime").JSX.Element;
|
|
119
|
+
};
|
|
120
|
+
//# 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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+DA,wBAuDE;AAEF,UAAU,cAAc;IACvB,WAAW,EAAE,YAAY,GAAG,UAAU,CAAC;IACvC,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,aAAa,EAAE,SAAS,GAAG,SAAS,CAAC;CACrC;AAED,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;mBAeP,cAAc;CAqD7B,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"}
|
|
@@ -7,36 +7,8 @@ export interface ZoomOffset {
|
|
|
7
7
|
}
|
|
8
8
|
/** Default zoom scale applied when zooming in on an image. */
|
|
9
9
|
export declare const DEFAULT_ZOOM_SCALE = 2;
|
|
10
|
-
/** Minimum pointer movement in pixels before a gesture is considered a drag. */
|
|
11
|
-
export declare const POINTER_MOVE_THRESHOLD = 2;
|
|
12
10
|
/** Zero-offset value representing no translation on a zoomed image. */
|
|
13
11
|
export declare const ZERO_ZOOM_OFFSET: ZoomOffset;
|
|
14
|
-
/** Tracks the state of a pointer used to detect outside-content close gestures. */
|
|
15
|
-
export interface OutsideClosePointerState {
|
|
16
|
-
/** Identifier of the tracked pointer. */
|
|
17
|
-
pointerId: number;
|
|
18
|
-
/** Horizontal position where the pointer was initially pressed. */
|
|
19
|
-
startX: number;
|
|
20
|
-
/** Vertical position where the pointer was initially pressed. */
|
|
21
|
-
startY: number;
|
|
22
|
-
/** Whether the pointer press originated outside the slide content area. */
|
|
23
|
-
startedOutsideContent: boolean;
|
|
24
|
-
/** Whether the pointer has moved beyond the drag threshold since pressing. */
|
|
25
|
-
moved: boolean;
|
|
26
|
-
}
|
|
27
|
-
interface CreateOutsideClosePointerStateInput {
|
|
28
|
-
pointerId: number;
|
|
29
|
-
clientX: number;
|
|
30
|
-
clientY: number;
|
|
31
|
-
startedOutsideContent: boolean;
|
|
32
|
-
}
|
|
33
|
-
interface PointerMoveInput {
|
|
34
|
-
startX: number;
|
|
35
|
-
startY: number;
|
|
36
|
-
endX: number;
|
|
37
|
-
endY: number;
|
|
38
|
-
threshold?: number;
|
|
39
|
-
}
|
|
40
12
|
interface ClampZoomOffsetInput {
|
|
41
13
|
containerWidth: number;
|
|
42
14
|
containerHeight: number;
|
|
@@ -72,39 +44,6 @@ export declare const getZoomTransform: ({ isZoomed, offset, scale, }: {
|
|
|
72
44
|
offset: ZoomOffset;
|
|
73
45
|
scale: number;
|
|
74
46
|
}) => string;
|
|
75
|
-
/**
|
|
76
|
-
* Returns `true` if the event target is an element (or descendant) matching
|
|
77
|
-
* the given CSS selector.
|
|
78
|
-
*/
|
|
79
|
-
export declare const isEventTargetWithinSelector: (target: EventTarget | null, selector: string) => boolean;
|
|
80
|
-
/** Returns `true` if the event target is or is inside an `<img>` element. */
|
|
81
|
-
export declare const isImageTarget: (target: EventTarget | null) => boolean;
|
|
82
|
-
/**
|
|
83
|
-
* Returns `value` if it is a finite number, otherwise returns `fallback`.
|
|
84
|
-
* Useful for sanitising pointer coordinates that may be `NaN` or `Infinity`.
|
|
85
|
-
*/
|
|
86
|
-
export declare const getPointerCoordinate: (value: number, fallback: number) => number;
|
|
87
|
-
/**
|
|
88
|
-
* Returns `true` if the pointer has moved more than `threshold` pixels in
|
|
89
|
-
* either axis between the start and end positions.
|
|
90
|
-
*/
|
|
91
|
-
export declare const hasPointerMoved: ({ startX, startY, endX, endY, threshold, }: PointerMoveInput) => boolean;
|
|
92
|
-
/** Creates the initial tracking state for an outside-close pointer gesture. */
|
|
93
|
-
export declare const createOutsideClosePointerState: ({ pointerId, clientX, clientY, startedOutsideContent, }: CreateOutsideClosePointerStateInput) => OutsideClosePointerState;
|
|
94
|
-
/**
|
|
95
|
-
* Returns an updated copy of the pointer state after a pointer move event.
|
|
96
|
-
* Sets `moved` to `true` once the pointer has exceeded the drag threshold.
|
|
97
|
-
*/
|
|
98
|
-
export declare const updateOutsideClosePointerState: (state: OutsideClosePointerState, { clientX, clientY }: {
|
|
99
|
-
clientX: number;
|
|
100
|
-
clientY: number;
|
|
101
|
-
}) => OutsideClosePointerState;
|
|
102
|
-
/**
|
|
103
|
-
* Returns `true` if the pointer gesture should trigger the lightbox to close.
|
|
104
|
-
* The lightbox closes when the press started outside the content and the
|
|
105
|
-
* pointer did not drag.
|
|
106
|
-
*/
|
|
107
|
-
export declare const shouldCloseFromOutsidePointerState: (state: OutsideClosePointerState) => boolean;
|
|
108
47
|
/**
|
|
109
48
|
* Returns the maximum zoom scale at which the image would still be rendered at
|
|
110
49
|
* its native resolution (1:1 pixel ratio). Falls back to `DEFAULT_ZOOM_SCALE`
|
|
@@ -115,7 +54,6 @@ export declare const getImageMaxZoomScale: (image: HTMLImageElement) => number;
|
|
|
115
54
|
* Calculates the zoom scale that should be applied when the user triggers a
|
|
116
55
|
* zoom action. Prefers a scale that fills the container viewport; falls back to
|
|
117
56
|
* the native-resolution scale or `DEFAULT_ZOOM_SCALE` when the image is small.
|
|
118
|
-
* The returned value is always at least `1` and at most the max zoom scale.
|
|
119
57
|
*/
|
|
120
58
|
export declare const getTargetZoomScale: ({ image, containerWidth, containerHeight, }: {
|
|
121
59
|
image: HTMLImageElement;
|
|
@@ -1 +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,
|
|
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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mantine-bites/lightbox",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
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,14 +37,13 @@
|
|
|
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",
|
|
48
|
-
"embla-carousel-autoplay": "^8.5.2",
|
|
49
47
|
"embla-carousel-react": "^8.5.2",
|
|
50
48
|
"@testing-library/dom": "^10.4.0",
|
|
51
49
|
"@testing-library/jest-dom": "^6.6.3",
|