@oxyhq/bloom 0.33.1 → 0.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/lib/commonjs/zoomable-image-gallery/ZoomableImageGallery.js +375 -20
  2. package/lib/commonjs/zoomable-image-gallery/ZoomableImageGallery.js.map +1 -1
  3. package/lib/commonjs/zoomable-image-gallery/constants.js +16 -1
  4. package/lib/commonjs/zoomable-image-gallery/constants.js.map +1 -1
  5. package/lib/commonjs/zoomable-image-gallery/index.js +15 -0
  6. package/lib/commonjs/zoomable-image-gallery/index.js.map +1 -1
  7. package/lib/module/zoomable-image-gallery/ZoomableImageGallery.js +368 -13
  8. package/lib/module/zoomable-image-gallery/ZoomableImageGallery.js.map +1 -1
  9. package/lib/module/zoomable-image-gallery/constants.js +15 -0
  10. package/lib/module/zoomable-image-gallery/constants.js.map +1 -1
  11. package/lib/module/zoomable-image-gallery/index.js +1 -0
  12. package/lib/module/zoomable-image-gallery/index.js.map +1 -1
  13. package/lib/typescript/commonjs/zoomable-image-gallery/ZoomableImageGallery.d.ts.map +1 -1
  14. package/lib/typescript/commonjs/zoomable-image-gallery/constants.d.ts +14 -0
  15. package/lib/typescript/commonjs/zoomable-image-gallery/constants.d.ts.map +1 -1
  16. package/lib/typescript/commonjs/zoomable-image-gallery/index.d.ts +1 -0
  17. package/lib/typescript/commonjs/zoomable-image-gallery/index.d.ts.map +1 -1
  18. package/lib/typescript/commonjs/zoomable-image-gallery/types.d.ts +6 -0
  19. package/lib/typescript/commonjs/zoomable-image-gallery/types.d.ts.map +1 -1
  20. package/lib/typescript/module/zoomable-image-gallery/ZoomableImageGallery.d.ts.map +1 -1
  21. package/lib/typescript/module/zoomable-image-gallery/constants.d.ts +14 -0
  22. package/lib/typescript/module/zoomable-image-gallery/constants.d.ts.map +1 -1
  23. package/lib/typescript/module/zoomable-image-gallery/index.d.ts +1 -0
  24. package/lib/typescript/module/zoomable-image-gallery/index.d.ts.map +1 -1
  25. package/lib/typescript/module/zoomable-image-gallery/types.d.ts +6 -0
  26. package/lib/typescript/module/zoomable-image-gallery/types.d.ts.map +1 -1
  27. package/package.json +1 -1
  28. package/src/zoomable-image-gallery/ZoomableImageGallery.tsx +420 -19
  29. package/src/zoomable-image-gallery/constants.ts +15 -0
  30. package/src/zoomable-image-gallery/index.ts +1 -0
  31. package/src/zoomable-image-gallery/types.ts +6 -0
@@ -1,16 +1,18 @@
1
1
  "use strict";
2
2
 
3
- import React, { useCallback, useMemo, useRef, useState } from 'react';
4
- import { View, Text, StyleSheet, Pressable, Platform, ScrollView, useWindowDimensions } from 'react-native';
3
+ import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
4
+ import { View, Text, StyleSheet, Pressable, Platform, ScrollView, Share, useWindowDimensions } from 'react-native';
5
5
  import { Image } from 'expo-image';
6
6
  import { BlurView } from 'expo-blur';
7
7
  import Animated, { useSharedValue, useAnimatedStyle, withSpring, withTiming, runOnJS, Easing } from 'react-native-reanimated';
8
8
  import { GestureHandlerRootView, Gesture, GestureDetector } from 'react-native-gesture-handler';
9
9
  import { useTheme } from "../theme/use-theme.js";
10
10
  import { Portal } from '../portal';
11
+ import { PressableWithHover } from "../pressable-with-hover/index.js";
12
+ import { ArrowLeft_Stroke2_Corner0_Rounded, ArrowRight_Stroke2_Corner0_Rounded, ArrowOutOfBox_Stroke2_Corner0_Rounded } from "../icons/index.js";
11
13
  import { Z_INDEX } from "../styles/z-index.js";
12
14
  import { getAspectRatio, fetchAspectRatio, DEFAULT_ASPECT_RATIO } from "../image-aspect-ratio-cache/index.js";
13
- import { FIT_FRACTION, MAX_DRAG_FRACTION, SCALE_DRAG_FRACTION, MIN_DRAG_SCALE, DISMISS_FRACTION, AXIS_DECISION_OFFSET, OPEN_DURATION_WEB, CLOSE_DURATION_WEB, OPACITY_DURATION, OPEN_SPRING, CLOSE_SPRING, SNAP_BACK_SPRING, DEFAULT_CORNER_RADIUS } from "./constants.js";
15
+ import { FIT_FRACTION, MAX_DRAG_FRACTION, SCALE_DRAG_FRACTION, MIN_DRAG_SCALE, DISMISS_FRACTION, AXIS_DECISION_OFFSET, OPEN_DURATION_WEB, CLOSE_DURATION_WEB, OPACITY_DURATION, OPEN_SPRING, CLOSE_SPRING, SNAP_BACK_SPRING, DEFAULT_CORNER_RADIUS, MIN_ZOOM_SCALE, MAX_ZOOM_SCALE, ZOOM_SNAP_THRESHOLD, DOUBLE_TAP_ZOOM_SCALE, ZOOM_PAN_DAMPING, ZOOM_PAN_MAX_BASE, THUMBNAIL_STRIP_TILE_SIZE } from "./constants.js";
14
16
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
15
17
  const AnimatedBlurView = Animated.createAnimatedComponent(BlurView);
16
18
  const AnimatedImage = Animated.createAnimatedComponent(Image);
@@ -51,7 +53,8 @@ const webUserSelectNoneStyle = Platform.select({
51
53
  */
52
54
  const ZoomableImageGalleryInner = /*#__PURE__*/React.forwardRef(({
53
55
  measureThumb,
54
- cornerRadius = DEFAULT_CORNER_RADIUS
56
+ cornerRadius = DEFAULT_CORNER_RADIUS,
57
+ indicatorVariant = 'dots'
55
58
  }, ref) => {
56
59
  const theme = useTheme();
57
60
  const {
@@ -63,15 +66,37 @@ const ZoomableImageGalleryInner = /*#__PURE__*/React.forwardRef(({
63
66
  const [pagerReady, setPagerReady] = useState(false);
64
67
  const [images, setImages] = useState([]);
65
68
  const [activeIndex, setActiveIndex] = useState(0);
69
+ // Whether the active image is currently pinched/double-tapped past its base
70
+ // size. Drives the pan-while-zoomed gesture, disables the pager's horizontal
71
+ // paging + the dismiss drag so a pan moves the zoomed image instead.
72
+ const [isZoomed, setIsZoomed] = useState(false);
66
73
  // Aspect ratio of the OPENING image (drives the open-animation fit box).
67
74
  const [openRatio, setOpenRatio] = useState(DEFAULT_ASPECT_RATIO);
68
75
  // Per-image aspect ratios for the pager pages (index-aligned with `images`).
69
76
  const [pageRatios, setPageRatios] = useState({});
77
+
78
+ // Native `Share` is always available; web exposes a share button only when the
79
+ // browser implements `navigator.share`. Computed once (capability is static).
80
+ const [canShare] = useState(() => {
81
+ if (Platform.OS !== 'web') return true;
82
+ return typeof navigator !== 'undefined' && typeof navigator.share === 'function';
83
+ });
70
84
  const scale = useSharedValue(1);
71
85
  const translateX = useSharedValue(0);
72
86
  const translateY = useSharedValue(0);
73
87
  const opacity = useSharedValue(0);
74
88
 
89
+ // Zoom transform of the active image, kept SEPARATE from the open/close +
90
+ // dismiss-drag transform above (reusing those would collide two meanings).
91
+ // `zoom*` are the live/persisted values; `baseZoomScale` is captured at pinch
92
+ // start and `savedZoomTranslate*` at pan start for incremental bookkeeping.
93
+ const zoomScale = useSharedValue(1);
94
+ const zoomTranslateX = useSharedValue(0);
95
+ const zoomTranslateY = useSharedValue(0);
96
+ const baseZoomScale = useSharedValue(1);
97
+ const savedZoomTranslateX = useSharedValue(0);
98
+ const savedZoomTranslateY = useSharedValue(0);
99
+
75
100
  // Origin (offset from screen center) of the tapped image.
76
101
  const originX = useSharedValue(0);
77
102
  const originY = useSharedValue(0);
@@ -98,6 +123,19 @@ const ZoomableImageGalleryInner = /*#__PURE__*/React.forwardRef(({
98
123
  setActiveIndex(prev => prev === next ? prev : next);
99
124
  }, []);
100
125
 
126
+ // Snap the active image back to its un-zoomed baseline (no animation) and clear
127
+ // all zoom bookkeeping. Called on every path that changes the active page so a
128
+ // freshly-viewed image always starts un-zoomed.
129
+ const resetZoom = useCallback(() => {
130
+ zoomScale.value = 1;
131
+ zoomTranslateX.value = 0;
132
+ zoomTranslateY.value = 0;
133
+ savedZoomTranslateX.value = 0;
134
+ savedZoomTranslateY.value = 0;
135
+ baseZoomScale.value = 1;
136
+ setIsZoomed(false);
137
+ }, [baseZoomScale, savedZoomTranslateX, savedZoomTranslateY, zoomScale, zoomTranslateX, zoomTranslateY]);
138
+
101
139
  // Box the fitted image must fit inside.
102
140
  const fitBox = useMemo(() => ({
103
141
  width: SCREEN_WIDTH * FIT_FRACTION,
@@ -341,7 +379,10 @@ const ZoomableImageGalleryInner = /*#__PURE__*/React.forwardRef(({
341
379
  React.useImperativeHandle(ref, () => ({
342
380
  open
343
381
  }), [open]);
344
- const panGesture = useMemo(() => Gesture.Pan().enabled(isOpen)
382
+ const panGesture = useMemo(() => Gesture.Pan()
383
+ // Disabled while zoomed so a drag pans the zoomed image (via the
384
+ // per-page pan gesture) instead of trying to dismiss the whole viewer.
385
+ .enabled(isOpen && !isZoomed)
345
386
  // Only claim drags that are decided to be vertical; horizontal drags
346
387
  // fall through to the pager's ScrollView so swiping changes pages.
347
388
  .activeOffsetY([-AXIS_DECISION_OFFSET, AXIS_DECISION_OFFSET]).failOffsetX([-AXIS_DECISION_OFFSET, AXIS_DECISION_OFFSET]).onStart(() => {
@@ -368,7 +409,7 @@ const ZoomableImageGalleryInner = /*#__PURE__*/React.forwardRef(({
368
409
  duration: OPACITY_DURATION
369
410
  });
370
411
  }
371
- }), [handleDismiss, isOpen, SCREEN_HEIGHT, opacity, scale, startScale, startX, startY, translateX, translateY]);
412
+ }), [handleDismiss, isOpen, isZoomed, SCREEN_HEIGHT, opacity, scale, startScale, startX, startY, translateX, translateY]);
372
413
  const backdropStyle = useAnimatedStyle(() => ({
373
414
  opacity: opacity.value
374
415
  }));
@@ -396,6 +437,18 @@ const ZoomableImageGalleryInner = /*#__PURE__*/React.forwardRef(({
396
437
  }]
397
438
  }));
398
439
 
440
+ // Pinch/double-tap zoom transform, layered on TOP of the active page image's
441
+ // `fit`-based sizing (composed, never replacing it).
442
+ const zoomImageStyle = useAnimatedStyle(() => ({
443
+ transform: [{
444
+ scale: zoomScale.value
445
+ }, {
446
+ translateX: zoomTranslateX.value
447
+ }, {
448
+ translateY: zoomTranslateY.value
449
+ }]
450
+ }));
451
+
399
452
  // Derive the current page from the scroll offset, clamp into range, and update
400
453
  // `activeIndex` only when it actually changes (drives the live indicator + the
401
454
  // close fly-back target). Shared by `onMomentumScrollEnd` (native) and `onScroll`
@@ -405,10 +458,29 @@ const ZoomableImageGalleryInner = /*#__PURE__*/React.forwardRef(({
405
458
  if (lastIndex < 0) return;
406
459
  const next = Math.min(Math.max(Math.round(offsetX / SCREEN_WIDTH), 0), lastIndex);
407
460
  if (next === activeIndexRef.current) return;
461
+ // Swiping to a new page always starts it un-zoomed (and clears the zoom on
462
+ // the page scrolling away).
463
+ resetZoom();
408
464
  setActiveIndexBoth(next);
409
465
  const img = images[next];
410
466
  if (img) ensureRatio(next, img.uri);
411
- }, [ensureRatio, images, setActiveIndexBoth, SCREEN_WIDTH]);
467
+ }, [ensureRatio, images, resetZoom, setActiveIndexBoth, SCREEN_WIDTH]);
468
+
469
+ // Programmatically page to `index` (arrow buttons, keyboard, thumbnail taps).
470
+ // Clamps into range and lets the existing scroll handlers own the index/ratio
471
+ // state-sync — this only triggers the scroll. No-op until the pager is mounted.
472
+ const pageTo = useCallback(index => {
473
+ if (!pagerReady) return;
474
+ const lastIndex = images.length - 1;
475
+ if (lastIndex < 0) return;
476
+ const clamped = Math.min(Math.max(index, 0), lastIndex);
477
+ resetZoom();
478
+ pagerRef.current?.scrollTo({
479
+ x: clamped * SCREEN_WIDTH,
480
+ y: 0,
481
+ animated: true
482
+ });
483
+ }, [images.length, pagerReady, resetZoom, SCREEN_WIDTH]);
412
484
  const onPagerScroll = useCallback(event => {
413
485
  updateIndexFromOffset(event.nativeEvent.contentOffset.x);
414
486
  }, [updateIndexFromOffset]);
@@ -424,6 +496,124 @@ const ZoomableImageGalleryInner = /*#__PURE__*/React.forwardRef(({
424
496
  });
425
497
  }
426
498
  }, [SCREEN_WIDTH]);
499
+
500
+ // Double-tap toggles zoom: reset when already zoomed, else zoom to the tapped
501
+ // point (biased toward it, clamped near the image center). `x`/`y` are local
502
+ // to the active image, so its own fitted box gives the center + clamp bounds.
503
+ const zoomToPoint = useCallback((x, y) => {
504
+ if (zoomScale.value > 1) {
505
+ resetZoom();
506
+ return;
507
+ }
508
+ const centerX = activeFit.width / 2;
509
+ const centerY = activeFit.height / 2;
510
+ const maxOffset = Math.max(activeFit.width, activeFit.height) * 0.2;
511
+ const offsetX = Math.max(-maxOffset, Math.min(maxOffset, (centerX - x) * 0.5));
512
+ const offsetY = Math.max(-maxOffset, Math.min(maxOffset, (centerY - y) * 0.5));
513
+ zoomScale.value = withSpring(DOUBLE_TAP_ZOOM_SCALE);
514
+ zoomTranslateX.value = withSpring(offsetX);
515
+ zoomTranslateY.value = withSpring(offsetY);
516
+ savedZoomTranslateX.value = offsetX;
517
+ savedZoomTranslateY.value = offsetY;
518
+ baseZoomScale.value = DOUBLE_TAP_ZOOM_SCALE;
519
+ setIsZoomed(true);
520
+ }, [activeFit, baseZoomScale, resetZoom, savedZoomTranslateX, savedZoomTranslateY, zoomScale, zoomTranslateX, zoomTranslateY]);
521
+ const doubleTapGesture = useMemo(() => Gesture.Tap().numberOfTaps(2).onEnd(event => {
522
+ runOnJS(zoomToPoint)(event.x, event.y);
523
+ }), [zoomToPoint]);
524
+
525
+ // Single tap dismisses — but only when un-zoomed (a tap while zoomed is inert;
526
+ // double-tap/pinch own un-zooming). Made exclusive with the double-tap below so
527
+ // the first tap of a double-tap never dismisses.
528
+ const singleTapDismissGesture = useMemo(() => Gesture.Tap().numberOfTaps(1).onEnd(() => {
529
+ if (zoomScale.value > 1) return;
530
+ runOnJS(handleDismiss)();
531
+ }), [handleDismiss, zoomScale]);
532
+ const pinchGesture = useMemo(() => Gesture.Pinch().onStart(() => {
533
+ baseZoomScale.value = zoomScale.value;
534
+ runOnJS(setIsZoomed)(true);
535
+ }).onUpdate(event => {
536
+ zoomScale.value = Math.max(MIN_ZOOM_SCALE, Math.min(MAX_ZOOM_SCALE, baseZoomScale.value * (event.scale || 1)));
537
+ }).onEnd(() => {
538
+ if (zoomScale.value < ZOOM_SNAP_THRESHOLD) {
539
+ zoomScale.value = withSpring(1);
540
+ zoomTranslateX.value = withSpring(0);
541
+ zoomTranslateY.value = withSpring(0);
542
+ savedZoomTranslateX.value = 0;
543
+ savedZoomTranslateY.value = 0;
544
+ baseZoomScale.value = 1;
545
+ runOnJS(setIsZoomed)(false);
546
+ } else {
547
+ runOnJS(setIsZoomed)(true);
548
+ }
549
+ }), [baseZoomScale, savedZoomTranslateX, savedZoomTranslateY, zoomScale, zoomTranslateX, zoomTranslateY]);
550
+ const panWhileZoomedGesture = useMemo(() => Gesture.Pan().enabled(isZoomed).minPointers(1).maxPointers(1).onStart(() => {
551
+ if (zoomScale.value <= 1) return;
552
+ savedZoomTranslateX.value = zoomTranslateX.value;
553
+ savedZoomTranslateY.value = zoomTranslateY.value;
554
+ }).onUpdate(event => {
555
+ if (zoomScale.value <= 1) return;
556
+ const nextX = savedZoomTranslateX.value + event.translationX * ZOOM_PAN_DAMPING;
557
+ const nextY = savedZoomTranslateY.value + event.translationY * ZOOM_PAN_DAMPING;
558
+ const maxTranslation = ZOOM_PAN_MAX_BASE * zoomScale.value;
559
+ zoomTranslateX.value = Math.max(-maxTranslation, Math.min(maxTranslation, nextX));
560
+ zoomTranslateY.value = Math.max(-maxTranslation, Math.min(maxTranslation, nextY));
561
+ }).onEnd(() => {
562
+ if (zoomScale.value <= 1) return;
563
+ savedZoomTranslateX.value = zoomTranslateX.value;
564
+ savedZoomTranslateY.value = zoomTranslateY.value;
565
+ }), [isZoomed, savedZoomTranslateX, savedZoomTranslateY, zoomScale, zoomTranslateX, zoomTranslateY]);
566
+
567
+ // Active page gesture: double-tap zoom + single-tap dismiss are mutually
568
+ // exclusive (single waits for the double to fail); both run simultaneously
569
+ // with pinch + pan-while-zoomed.
570
+ const activePageGesture = useMemo(() => Gesture.Simultaneous(Gesture.Exclusive(doubleTapGesture, singleTapDismissGesture), pinchGesture, panWhileZoomedGesture), [doubleTapGesture, singleTapDismissGesture, pinchGesture, panWhileZoomedGesture]);
571
+
572
+ // Share the active image's URI: the OS share sheet on native; the Web Share API
573
+ // on supporting browsers (the button is only rendered where it exists).
574
+ const handleShare = useCallback(async () => {
575
+ const uri = images[activeIndexRef.current]?.uri;
576
+ if (!uri) return;
577
+ try {
578
+ if (Platform.OS === 'web') {
579
+ if (typeof navigator !== 'undefined' && typeof navigator.share === 'function') {
580
+ await navigator.share({
581
+ url: uri
582
+ });
583
+ }
584
+ return;
585
+ }
586
+ await Share.share({
587
+ url: uri
588
+ });
589
+ } catch (err) {
590
+ // A user-cancelled share sheet rejects (AbortError on web) — that's
591
+ // expected, not a failure. Anything else is a real error worth surfacing.
592
+ if (err instanceof Error && err.name === 'AbortError') return;
593
+ if (typeof console !== 'undefined' && console.error) console.error('Image share failed:', err);
594
+ }
595
+ }, [images]);
596
+
597
+ // Keyboard navigation (web only), scoped to the open lifetime like Dialog.web's
598
+ // Escape handler. Reads the live index from the ref so it need not re-subscribe
599
+ // on every page change. Escape flies back via `handleDismiss` (not a raw close).
600
+ useEffect(() => {
601
+ if (!isOpen || Platform.OS !== 'web' || typeof document === 'undefined') return;
602
+ const handler = e => {
603
+ if (e.key === 'Escape') {
604
+ e.stopPropagation();
605
+ handleDismiss();
606
+ } else if (e.key === 'ArrowLeft') {
607
+ e.stopPropagation();
608
+ pageTo(activeIndexRef.current - 1);
609
+ } else if (e.key === 'ArrowRight') {
610
+ e.stopPropagation();
611
+ pageTo(activeIndexRef.current + 1);
612
+ }
613
+ };
614
+ document.addEventListener('keydown', handler);
615
+ return () => document.removeEventListener('keydown', handler);
616
+ }, [handleDismiss, isOpen, pageTo]);
427
617
  const renderContent = () => /*#__PURE__*/_jsxs(GestureHandlerRootView, {
428
618
  style: styles.modalContainer,
429
619
  children: [/*#__PURE__*/_jsx(Pressable, {
@@ -472,7 +662,11 @@ const ZoomableImageGalleryInner = /*#__PURE__*/React.forwardRef(({
472
662
  children: /*#__PURE__*/_jsx(ScrollView, {
473
663
  ref: pagerRef,
474
664
  horizontal: true,
475
- pagingEnabled: true,
665
+ pagingEnabled: true
666
+ // Frozen while zoomed so a horizontal drag pans the zoomed image
667
+ // instead of paging away from it.
668
+ ,
669
+ scrollEnabled: !isZoomed,
476
670
  showsHorizontalScrollIndicator: false,
477
671
  contentOffset: {
478
672
  x: pendingIndexRef.current * SCREEN_WIDTH,
@@ -488,12 +682,41 @@ const ZoomableImageGalleryInner = /*#__PURE__*/React.forwardRef(({
488
682
  children: images.map((img, idx) => {
489
683
  const ratio = pageRatios[idx] ?? getAspectRatio(img.uri) ?? DEFAULT_ASPECT_RATIO;
490
684
  const fit = fitForRatio(ratio);
491
- return /*#__PURE__*/_jsx(Pressable, {
492
- onPress: handleDismiss,
685
+ // Only the active page is zoomable + gesture-wrapped (double-tap
686
+ // / single-tap dismiss / pinch / pan). Off-screen pages stay a
687
+ // plain image; the active image handles its own tap-to-dismiss
688
+ // through the gesture, so it isn't wrapped in a Pressable.
689
+ if (idx === activeIndex) {
690
+ return /*#__PURE__*/_jsx(View, {
691
+ style: [styles.page, {
692
+ width: SCREEN_WIDTH,
693
+ height: SCREEN_HEIGHT
694
+ }, webPointerStyle],
695
+ children: /*#__PURE__*/_jsx(GestureDetector, {
696
+ gesture: activePageGesture,
697
+ children: /*#__PURE__*/_jsx(AnimatedImage, {
698
+ source: {
699
+ uri: img.uri
700
+ },
701
+ contentFit: "contain",
702
+ style: [{
703
+ width: fit.width,
704
+ height: fit.height,
705
+ borderRadius: cornerRadius
706
+ }, zoomImageStyle],
707
+ transition: 0,
708
+ ...(Platform.OS === 'web' ? {
709
+ draggable: false
710
+ } : {})
711
+ })
712
+ })
713
+ }, `${img.uri}-${idx}`);
714
+ }
715
+ return /*#__PURE__*/_jsx(View, {
493
716
  style: [styles.page, {
494
717
  width: SCREEN_WIDTH,
495
718
  height: SCREEN_HEIGHT
496
- }, webPointerStyle],
719
+ }],
497
720
  children: /*#__PURE__*/_jsx(Image, {
498
721
  source: {
499
722
  uri: img.uri
@@ -514,19 +737,75 @@ const ZoomableImageGalleryInner = /*#__PURE__*/React.forwardRef(({
514
737
  })
515
738
  }), pagerReady && images.length > 1 && /*#__PURE__*/_jsxs(Animated.View, {
516
739
  style: [styles.indicatorWrap, backdropStyle],
517
- pointerEvents: "none",
740
+ pointerEvents: "box-none",
518
741
  children: [/*#__PURE__*/_jsx(View, {
519
742
  style: styles.counterPill,
743
+ pointerEvents: "none",
520
744
  children: /*#__PURE__*/_jsx(Text, {
521
745
  style: styles.counterText,
522
746
  children: `${activeIndex + 1} / ${images.length}`
523
747
  })
524
- }), /*#__PURE__*/_jsx(View, {
748
+ }), indicatorVariant === 'thumbnails' ? /*#__PURE__*/_jsx(ScrollView, {
749
+ horizontal: true,
750
+ showsHorizontalScrollIndicator: false,
751
+ style: styles.thumbStripScroll,
752
+ contentContainerStyle: styles.thumbStripContent,
753
+ children: images.map((img, idx) => /*#__PURE__*/_jsx(Pressable, {
754
+ onPress: () => pageTo(idx),
755
+ accessibilityRole: "button",
756
+ accessibilityLabel: `Go to image ${idx + 1} of ${images.length}`,
757
+ style: [styles.thumbTile, idx === activeIndex ? styles.thumbTileActive : styles.thumbTileInactive, webPointerStyle],
758
+ children: /*#__PURE__*/_jsx(Image, {
759
+ source: {
760
+ uri: img.uri
761
+ },
762
+ contentFit: "cover",
763
+ style: styles.thumbTileImage,
764
+ transition: 0,
765
+ ...(Platform.OS === 'web' ? {
766
+ draggable: false
767
+ } : {})
768
+ })
769
+ }, `thumb-${img.uri}-${idx}`))
770
+ }) : /*#__PURE__*/_jsx(View, {
525
771
  style: styles.dotsRow,
772
+ pointerEvents: "none",
526
773
  children: images.map((img, idx) => /*#__PURE__*/_jsx(View, {
527
774
  style: [styles.dot, idx === activeIndex ? styles.dotActive : styles.dotInactive]
528
775
  }, `dot-${img.uri}-${idx}`))
529
776
  })]
777
+ }), Platform.OS === 'web' && pagerReady && images.length > 1 && activeIndex > 0 && /*#__PURE__*/_jsx(PressableWithHover, {
778
+ onPress: () => pageTo(activeIndex - 1),
779
+ accessibilityRole: "button",
780
+ accessibilityLabel: "Previous image",
781
+ hitSlop: 8,
782
+ style: [styles.navArrow, styles.navArrowLeft, webPointerStyle],
783
+ hoverStyle: styles.navArrowHoverLeft,
784
+ children: /*#__PURE__*/_jsx(ArrowLeft_Stroke2_Corner0_Rounded, {
785
+ fill: "#fff",
786
+ size: "lg"
787
+ })
788
+ }), Platform.OS === 'web' && pagerReady && images.length > 1 && activeIndex < images.length - 1 && /*#__PURE__*/_jsx(PressableWithHover, {
789
+ onPress: () => pageTo(activeIndex + 1),
790
+ accessibilityRole: "button",
791
+ accessibilityLabel: "Next image",
792
+ hitSlop: 8,
793
+ style: [styles.navArrow, styles.navArrowRight, webPointerStyle],
794
+ hoverStyle: styles.navArrowHoverRight,
795
+ children: /*#__PURE__*/_jsx(ArrowRight_Stroke2_Corner0_Rounded, {
796
+ fill: "#fff",
797
+ size: "lg"
798
+ })
799
+ }), canShare && pagerReady && /*#__PURE__*/_jsx(Pressable, {
800
+ onPress: handleShare,
801
+ accessibilityRole: "button",
802
+ accessibilityLabel: "Share image",
803
+ hitSlop: 8,
804
+ style: [styles.shareButton, webPointerStyle],
805
+ children: /*#__PURE__*/_jsx(ArrowOutOfBox_Stroke2_Corner0_Rounded, {
806
+ fill: "#fff",
807
+ size: "md"
808
+ })
530
809
  }), activeAlt ? /*#__PURE__*/_jsx(Animated.View, {
531
810
  style: [styles.altCaptionWrap, images.length > 1 && styles.altCaptionWrapWithIndicator, backdropStyle],
532
811
  pointerEvents: "none",
@@ -630,6 +909,82 @@ const styles = StyleSheet.create({
630
909
  dotInactive: {
631
910
  backgroundColor: 'rgba(255,255,255,0.4)'
632
911
  },
912
+ thumbStripScroll: {
913
+ maxWidth: '100%',
914
+ flexGrow: 0
915
+ },
916
+ // Centers the tiles when they don't fill the width, scrolls when they overflow.
917
+ thumbStripContent: {
918
+ flexGrow: 1,
919
+ justifyContent: 'center',
920
+ alignItems: 'center',
921
+ gap: 8,
922
+ paddingHorizontal: 16
923
+ },
924
+ thumbTile: {
925
+ width: THUMBNAIL_STRIP_TILE_SIZE,
926
+ height: THUMBNAIL_STRIP_TILE_SIZE,
927
+ borderRadius: 8,
928
+ overflow: 'hidden',
929
+ borderWidth: 2
930
+ },
931
+ thumbTileActive: {
932
+ borderColor: '#fff'
933
+ },
934
+ thumbTileInactive: {
935
+ borderColor: 'rgba(255,255,255,0.25)'
936
+ },
937
+ thumbTileImage: {
938
+ width: '100%',
939
+ height: '100%'
940
+ },
941
+ navArrow: {
942
+ position: 'absolute',
943
+ top: '50%',
944
+ width: 44,
945
+ height: 44,
946
+ borderRadius: 999,
947
+ alignItems: 'center',
948
+ justifyContent: 'center',
949
+ backgroundColor: 'rgba(0,0,0,0.45)',
950
+ transform: [{
951
+ translateY: -22
952
+ }]
953
+ },
954
+ navArrowLeft: {
955
+ left: 16
956
+ },
957
+ navArrowRight: {
958
+ right: 16
959
+ },
960
+ // Hover styles fully replace the base `transform`, so they repeat `translateY`.
961
+ navArrowHoverLeft: {
962
+ backgroundColor: 'rgba(0,0,0,0.7)',
963
+ transform: [{
964
+ translateY: -22
965
+ }, {
966
+ scale: 1.08
967
+ }]
968
+ },
969
+ navArrowHoverRight: {
970
+ backgroundColor: 'rgba(0,0,0,0.7)',
971
+ transform: [{
972
+ translateY: -22
973
+ }, {
974
+ scale: 1.08
975
+ }]
976
+ },
977
+ shareButton: {
978
+ position: 'absolute',
979
+ top: 16,
980
+ right: 16,
981
+ width: 40,
982
+ height: 40,
983
+ borderRadius: 999,
984
+ alignItems: 'center',
985
+ justifyContent: 'center',
986
+ backgroundColor: 'rgba(0,0,0,0.45)'
987
+ },
633
988
  altCaptionWrap: {
634
989
  position: 'absolute',
635
990
  bottom: 48,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useMemo","useRef","useState","View","Text","StyleSheet","Pressable","Platform","ScrollView","useWindowDimensions","Image","BlurView","Animated","useSharedValue","useAnimatedStyle","withSpring","withTiming","runOnJS","Easing","GestureHandlerRootView","Gesture","GestureDetector","useTheme","Portal","Z_INDEX","getAspectRatio","fetchAspectRatio","DEFAULT_ASPECT_RATIO","FIT_FRACTION","MAX_DRAG_FRACTION","SCALE_DRAG_FRACTION","MIN_DRAG_SCALE","DISMISS_FRACTION","AXIS_DECISION_OFFSET","OPEN_DURATION_WEB","CLOSE_DURATION_WEB","OPACITY_DURATION","OPEN_SPRING","CLOSE_SPRING","SNAP_BACK_SPRING","DEFAULT_CORNER_RADIUS","jsx","_jsx","jsxs","_jsxs","AnimatedBlurView","createAnimatedComponent","AnimatedImage","webPointerStyle","select","web","userSelect","cursor","default","undefined","webUserSelectNoneStyle","ZoomableImageGalleryInner","forwardRef","measureThumb","cornerRadius","ref","theme","width","SCREEN_WIDTH","height","SCREEN_HEIGHT","isOpen","setIsOpen","pagerReady","setPagerReady","images","setImages","activeIndex","setActiveIndex","openRatio","setOpenRatio","pageRatios","setPageRatios","scale","translateX","translateY","opacity","originX","originY","startX","startY","startScale","originScale","pagerRef","pendingIndexRef","activeIndexRef","setActiveIndexBoth","next","current","prev","fitBox","fitForRatio","ratio","safeRatio","Number","isFinite","activeRatio","activeFit","activeAlt","alt","trim","ensureRatio","index","uri","cached","then","finalizeDismiss","value","flyBackTo","target","OS","duration","easing","in","cubic","x","y","setTimeout","fadeOutCenter","handleDismiss","centerX","centerY","rect","revealPager","open","nextImages","length","safeIndex","Math","min","max","knownRatio","aspectRatio","initialRatios","forEach","img","i","r","resolved","fitted","requestAnimationFrame","out","useImperativeHandle","panGesture","Pan","enabled","activeOffsetY","failOffsetX","onStart","onUpdate","event","translationX","translationY","dragDistance","sqrt","maxDrag","scaleReduction","onEnd","backdropStyle","openImageStyle","transform","pagerContainerStyle","updateIndexFromOffset","offsetX","lastIndex","round","onPagerScroll","nativeEvent","contentOffset","onPagerLayout","idx","scrollTo","animated","renderContent","style","styles","modalContainer","children","absoluteFill","onPress","hitSlop","intensity","tint","isDark","experimentalBlurMethod","backgroundColor","colors","overlay","gesture","zoomContainer","pointerEvents","source","contentFit","borderRadius","transition","draggable","horizontal","pagingEnabled","showsHorizontalScrollIndicator","onLayout","onMomentumScrollEnd","onScroll","scrollEventThrottle","map","fit","page","indicatorWrap","counterPill","counterText","dotsRow","dot","dotActive","dotInactive","altCaptionWrap","altCaptionWrapWithIndicator","altCaptionPill","altCaptionText","numberOfLines","displayName","ZoomableImageGallery","create","justifyContent","alignItems","position","top","left","right","bottom","zIndex","fullscreen","gap","paddingHorizontal","paddingVertical","color","fontSize","fontWeight","flexDirection","maxWidth","lineHeight"],"sourceRoot":"../../../src","sources":["zoomable-image-gallery/ZoomableImageGallery.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","View","Text","StyleSheet","Pressable","Platform","ScrollView","Share","useWindowDimensions","Image","BlurView","Animated","useSharedValue","useAnimatedStyle","withSpring","withTiming","runOnJS","Easing","GestureHandlerRootView","Gesture","GestureDetector","useTheme","Portal","PressableWithHover","ArrowLeft_Stroke2_Corner0_Rounded","ArrowRight_Stroke2_Corner0_Rounded","ArrowOutOfBox_Stroke2_Corner0_Rounded","Z_INDEX","getAspectRatio","fetchAspectRatio","DEFAULT_ASPECT_RATIO","FIT_FRACTION","MAX_DRAG_FRACTION","SCALE_DRAG_FRACTION","MIN_DRAG_SCALE","DISMISS_FRACTION","AXIS_DECISION_OFFSET","OPEN_DURATION_WEB","CLOSE_DURATION_WEB","OPACITY_DURATION","OPEN_SPRING","CLOSE_SPRING","SNAP_BACK_SPRING","DEFAULT_CORNER_RADIUS","MIN_ZOOM_SCALE","MAX_ZOOM_SCALE","ZOOM_SNAP_THRESHOLD","DOUBLE_TAP_ZOOM_SCALE","ZOOM_PAN_DAMPING","ZOOM_PAN_MAX_BASE","THUMBNAIL_STRIP_TILE_SIZE","jsx","_jsx","jsxs","_jsxs","AnimatedBlurView","createAnimatedComponent","AnimatedImage","webPointerStyle","select","web","userSelect","cursor","default","undefined","webUserSelectNoneStyle","ZoomableImageGalleryInner","forwardRef","measureThumb","cornerRadius","indicatorVariant","ref","theme","width","SCREEN_WIDTH","height","SCREEN_HEIGHT","isOpen","setIsOpen","pagerReady","setPagerReady","images","setImages","activeIndex","setActiveIndex","isZoomed","setIsZoomed","openRatio","setOpenRatio","pageRatios","setPageRatios","canShare","OS","navigator","share","scale","translateX","translateY","opacity","zoomScale","zoomTranslateX","zoomTranslateY","baseZoomScale","savedZoomTranslateX","savedZoomTranslateY","originX","originY","startX","startY","startScale","originScale","pagerRef","pendingIndexRef","activeIndexRef","setActiveIndexBoth","next","current","prev","resetZoom","value","fitBox","fitForRatio","ratio","safeRatio","Number","isFinite","activeRatio","activeFit","activeAlt","alt","trim","ensureRatio","index","uri","cached","then","finalizeDismiss","flyBackTo","target","duration","easing","in","cubic","x","y","setTimeout","fadeOutCenter","handleDismiss","centerX","centerY","rect","revealPager","open","nextImages","length","safeIndex","Math","min","max","knownRatio","aspectRatio","initialRatios","forEach","img","i","r","resolved","fitted","requestAnimationFrame","out","useImperativeHandle","panGesture","Pan","enabled","activeOffsetY","failOffsetX","onStart","onUpdate","event","translationX","translationY","dragDistance","sqrt","maxDrag","scaleReduction","onEnd","backdropStyle","openImageStyle","transform","pagerContainerStyle","zoomImageStyle","updateIndexFromOffset","offsetX","lastIndex","round","pageTo","clamped","scrollTo","animated","onPagerScroll","nativeEvent","contentOffset","onPagerLayout","idx","zoomToPoint","maxOffset","offsetY","doubleTapGesture","Tap","numberOfTaps","singleTapDismissGesture","pinchGesture","Pinch","panWhileZoomedGesture","minPointers","maxPointers","nextX","nextY","maxTranslation","activePageGesture","Simultaneous","Exclusive","handleShare","url","err","Error","name","console","error","document","handler","e","key","stopPropagation","addEventListener","removeEventListener","renderContent","style","styles","modalContainer","children","absoluteFill","onPress","hitSlop","intensity","tint","isDark","experimentalBlurMethod","backgroundColor","colors","overlay","gesture","zoomContainer","pointerEvents","source","contentFit","borderRadius","transition","draggable","horizontal","pagingEnabled","scrollEnabled","showsHorizontalScrollIndicator","onLayout","onMomentumScrollEnd","onScroll","scrollEventThrottle","map","fit","page","indicatorWrap","counterPill","counterText","thumbStripScroll","contentContainerStyle","thumbStripContent","accessibilityRole","accessibilityLabel","thumbTile","thumbTileActive","thumbTileInactive","thumbTileImage","dotsRow","dot","dotActive","dotInactive","navArrow","navArrowLeft","hoverStyle","navArrowHoverLeft","fill","size","navArrowRight","navArrowHoverRight","shareButton","altCaptionWrap","altCaptionWrapWithIndicator","altCaptionPill","altCaptionText","numberOfLines","displayName","ZoomableImageGallery","create","justifyContent","alignItems","position","top","left","right","bottom","zIndex","fullscreen","gap","paddingHorizontal","paddingVertical","color","fontSize","fontWeight","flexDirection","maxWidth","flexGrow","overflow","borderWidth","borderColor","lineHeight"],"sourceRoot":"../../../src","sources":["zoomable-image-gallery/ZoomableImageGallery.tsx"],"mappings":"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","ignoreList":[]}