zkit-ui 2.0.5 → 2.0.7

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 (80) hide show
  1. package/README.md +1 -1
  2. package/android/src/main/java/cn/fontree/zkit/ui/preview/{GalleryLayoutSupport.java → NativeImagePreviewLayoutSupport.java} +12 -12
  3. package/android/src/main/java/cn/fontree/zkit/ui/preview/{GalleryMediaItem.java → NativeImagePreviewMediaItem.java} +2 -2
  4. package/android/src/main/java/cn/fontree/zkit/ui/preview/NativeImagePreviewModule.kt +43 -0
  5. package/android/src/main/java/cn/fontree/zkit/ui/preview/{GalleryPagerAdapter.java → NativeImagePreviewPagerAdapter.java} +18 -18
  6. package/android/src/main/java/cn/fontree/zkit/ui/preview/{GallerySharedElementGeometry.java → NativeImagePreviewSharedElementGeometry.java} +2 -2
  7. package/android/src/main/java/cn/fontree/zkit/ui/preview/NativeImagePreviewSharedElementNames.java +39 -0
  8. package/android/src/main/java/cn/fontree/zkit/ui/preview/{GallerySharedElementState.java → NativeImagePreviewSharedElementState.java} +4 -4
  9. package/android/src/main/java/cn/fontree/zkit/ui/preview/{GallerySourceViewRegistry.java → NativeImagePreviewSourceViewRegistry.java} +2 -2
  10. package/android/src/main/java/cn/fontree/zkit/ui/preview/{GalleryTransitionSnapshotView.java → NativeImagePreviewTransitionSnapshotView.java} +3 -3
  11. package/android/src/main/java/cn/fontree/zkit/ui/preview/{GalleryVideoPlayerView.java → NativeImagePreviewVideoPlayerView.java} +7 -7
  12. package/android/src/main/java/cn/fontree/zkit/ui/preview/{GaleriaView.kt → NativeImagePreviewView.kt} +18 -18
  13. package/android/src/main/java/cn/fontree/zkit/ui/preview/{GalleryViewerOverlayView.java → NativeImagePreviewViewerOverlayView.java} +49 -49
  14. package/android/src/main/java/cn/fontree/zkit/ui/preview/{GalleryViewerPageView.java → NativeImagePreviewViewerPageView.java} +27 -27
  15. package/android/src/main/java/cn/fontree/zkit/ui/preview/{GalleryViewerTransitionController.java → NativeImagePreviewViewerTransitionController.java} +22 -22
  16. package/dist/ui/Button/index.d.ts +1 -1
  17. package/dist/ui/Button/index.d.ts.map +1 -1
  18. package/dist/ui/Button/index.js +18 -3
  19. package/dist/ui/NativeImagePreview/NativeImagePreview.js +6 -6
  20. package/dist/ui/NativeImagePreview/NativeImagePreview.web.d.ts +1 -0
  21. package/dist/ui/NativeImagePreview/NativeImagePreview.web.d.ts.map +1 -1
  22. package/dist/ui/NativeImagePreview/NativeImagePreview.web.js +105 -11
  23. package/dist/ui/NativeImagePreview/context.d.ts +1 -1
  24. package/dist/ui/NativeImagePreview/context.d.ts.map +1 -1
  25. package/dist/ui/NativeImagePreview/types.d.ts +3 -1
  26. package/dist/ui/NativeImagePreview/types.d.ts.map +1 -1
  27. package/dist/ui/NativeImagePreview/utils.d.ts.map +1 -1
  28. package/dist/ui/NativeImagePreview/utils.js +1 -0
  29. package/dist/ui/NativeImagePreview/web/geometry.d.ts +20 -0
  30. package/dist/ui/NativeImagePreview/web/geometry.d.ts.map +1 -0
  31. package/dist/ui/NativeImagePreview/web/geometry.js +121 -0
  32. package/dist/ui/NativeImagePreview/web/media.d.ts +6 -0
  33. package/dist/ui/NativeImagePreview/web/media.d.ts.map +1 -0
  34. package/dist/ui/NativeImagePreview/web/media.js +90 -0
  35. package/dist/ui/NativeImagePreview/web/styles.css +137 -0
  36. package/dist/ui/NativeImagePreview/web/transition.d.ts +15 -0
  37. package/dist/ui/NativeImagePreview/web/transition.d.ts.map +1 -0
  38. package/dist/ui/NativeImagePreview/web/transition.js +77 -0
  39. package/dist/ui/NativeImagePreview/web/types.d.ts +74 -0
  40. package/dist/ui/NativeImagePreview/web/types.d.ts.map +1 -0
  41. package/dist/ui/NativeImagePreview/web/types.js +3 -0
  42. package/dist/ui/NativeImagePreview/web/viewer.d.ts +104 -0
  43. package/dist/ui/NativeImagePreview/web/viewer.d.ts.map +1 -0
  44. package/dist/ui/NativeImagePreview/web/viewer.js +894 -0
  45. package/expo-module.config.json +2 -2
  46. package/ios/{GalleryViewer/GaleriaImageLoader.swift → NativeImagePreview/NativeImagePreviewImageLoader.swift} +7 -7
  47. package/ios/NativeImagePreview/NativeImagePreviewImageViewInteraction.swift +245 -0
  48. package/ios/{GalleryViewer/GaleriaLayoutSupport.swift → NativeImagePreview/NativeImagePreviewLayoutSupport.swift} +19 -19
  49. package/ios/NativeImagePreview/NativeImagePreviewMedia.swift +28 -0
  50. package/ios/NativeImagePreview/NativeImagePreviewSourceViewRegistry.swift +80 -0
  51. package/ios/{GalleryViewer/GaleriaVideoPlayerView.swift → NativeImagePreview/NativeImagePreviewVideoPlayerView.swift} +1 -1
  52. package/ios/{GalleryViewer/GaleriaViewerConfiguration.swift → NativeImagePreview/NativeImagePreviewViewerConfiguration.swift} +7 -7
  53. package/ios/{GalleryViewer/GaleriaViewerController.swift → NativeImagePreview/NativeImagePreviewViewerController.swift} +36 -36
  54. package/ios/{GalleryViewer/GaleriaViewerPageView.swift → NativeImagePreview/NativeImagePreviewViewerPageView.swift} +33 -33
  55. package/ios/{GalleryViewer/GaleriaViewerTransitionCoordinator.swift → NativeImagePreview/NativeImagePreviewViewerTransitionCoordinator.swift} +16 -16
  56. package/ios/{GaleriaModule.swift → NativeImagePreviewModule.swift} +4 -4
  57. package/ios/{GaleriaView.swift → NativeImagePreviewView.swift} +26 -27
  58. package/package.json +18 -12
  59. package/src/services/ImagePreviewService/README.md +1 -1
  60. package/src/types.d.ts +1 -0
  61. package/src/ui/Button/README.md +1 -1
  62. package/src/ui/Button/index.tsx +27 -7
  63. package/src/ui/NativeImagePreview/NativeImagePreview.tsx +7 -7
  64. package/src/ui/NativeImagePreview/NativeImagePreview.web.tsx +175 -11
  65. package/src/ui/NativeImagePreview/README.md +3 -3
  66. package/src/ui/NativeImagePreview/context.tsx +1 -1
  67. package/src/ui/NativeImagePreview/types.ts +3 -1
  68. package/src/ui/NativeImagePreview/utils.ts +1 -0
  69. package/src/ui/NativeImagePreview/web/geometry.ts +134 -0
  70. package/src/ui/NativeImagePreview/web/media.ts +91 -0
  71. package/src/ui/NativeImagePreview/web/styles.css +137 -0
  72. package/src/ui/NativeImagePreview/web/transition.ts +111 -0
  73. package/src/ui/NativeImagePreview/web/types.ts +88 -0
  74. package/src/ui/NativeImagePreview/web/viewer.ts +1024 -0
  75. package/android/src/main/java/cn/fontree/zkit/ui/preview/GaleriaModule.kt +0 -43
  76. package/android/src/main/java/cn/fontree/zkit/ui/preview/GallerySharedElementNames.java +0 -39
  77. package/ios/GalleryViewer/GaleriaImageViewInteraction.swift +0 -245
  78. package/ios/GalleryViewer/GaleriaMedia.swift +0 -28
  79. package/ios/GalleryViewer/GaleriaSourceViewRegistry.swift +0 -80
  80. /package/android/src/main/res/layout/{galeria_player_view.xml → native_image_preview_player_view.xml} +0 -0
@@ -1,12 +1,12 @@
1
1
  import UIKit
2
2
 
3
- final class GaleriaViewerController: UIViewController {
4
- private weak var dataSource: GaleriaDataSource?
3
+ final class NativeImagePreviewViewerController: UIViewController {
4
+ private weak var dataSource: NativeImagePreviewDataSource?
5
5
  private weak var initialSourceView: UIImageView?
6
- private let imageLoader: GaleriaImageLoading
7
- private let galleryId: String?
6
+ private let imageLoader: NativeImagePreviewImageLoading
7
+ private let previewGroupId: String?
8
8
  private let initialIndex: Int
9
- private let configuration: GaleriaViewerConfiguration
9
+ private let configuration: NativeImagePreviewViewerConfiguration
10
10
 
11
11
  private let backgroundView = UIView()
12
12
  private let contentView = UIView()
@@ -14,7 +14,7 @@ final class GaleriaViewerController: UIViewController {
14
14
  private let navigationBar = UINavigationBar(frame: .zero)
15
15
  private let navigationItemRef = UINavigationItem()
16
16
 
17
- private var transitionCoordinatorRef: GaleriaViewerTransitionCoordinator?
17
+ private var transitionCoordinatorRef: NativeImagePreviewViewerTransitionCoordinator?
18
18
  private var hasPerformedOpenTransition = false
19
19
  private var pendingDismissal = false
20
20
  private var pendingInitialScroll = false
@@ -33,7 +33,7 @@ final class GaleriaViewerController: UIViewController {
33
33
  private var isDraggingToDismiss = false
34
34
  private var dragStartPoint = CGPoint.zero
35
35
  private var dragTargetView: UIView?
36
- private weak var dragPageView: GaleriaViewerPageView?
36
+ private weak var dragPageView: NativeImagePreviewViewerPageView?
37
37
  private weak var hiddenActiveSourceView: UIImageView?
38
38
  private var hiddenActiveSourcePreviousAlpha: CGFloat = 1
39
39
 
@@ -70,18 +70,18 @@ final class GaleriaViewerController: UIViewController {
70
70
 
71
71
  init(
72
72
  sourceView: UIImageView,
73
- dataSource: GaleriaDataSource?,
74
- imageLoader: GaleriaImageLoading,
75
- configuration: GaleriaViewerConfiguration = GaleriaViewerConfiguration(),
73
+ dataSource: NativeImagePreviewDataSource?,
74
+ imageLoader: NativeImagePreviewImageLoading,
75
+ configuration: NativeImagePreviewViewerConfiguration = NativeImagePreviewViewerConfiguration(),
76
76
  initialIndex: Int = 0,
77
- galleryId: String? = nil
77
+ previewGroupId: String? = nil
78
78
  ) {
79
79
  self.initialSourceView = sourceView
80
80
  self.dataSource = dataSource
81
81
  self.imageLoader = imageLoader
82
82
  self.configuration = configuration
83
83
  self.initialIndex = initialIndex
84
- self.galleryId = galleryId
84
+ self.previewGroupId = previewGroupId
85
85
 
86
86
  let layout = UICollectionViewFlowLayout()
87
87
  layout.scrollDirection = .horizontal
@@ -130,7 +130,7 @@ final class GaleriaViewerController: UIViewController {
130
130
  if hasPerformedOpenTransition == false {
131
131
  hasPerformedOpenTransition = true
132
132
  scrollToIndex(currentIndex, animated: false)
133
- transitionCoordinatorRef = GaleriaViewerTransitionCoordinator(containerView: view)
133
+ transitionCoordinatorRef = NativeImagePreviewViewerTransitionCoordinator(containerView: view)
134
134
  performOpenTransition()
135
135
  }
136
136
  }
@@ -147,7 +147,7 @@ final class GaleriaViewerController: UIViewController {
147
147
  restoreHiddenActiveSourceView()
148
148
  }
149
149
 
150
- private var currentPageView: GaleriaViewerPageView? {
150
+ private var currentPageView: NativeImagePreviewViewerPageView? {
151
151
  pageView(at: currentIndex)
152
152
  }
153
153
 
@@ -182,7 +182,7 @@ final class GaleriaViewerController: UIViewController {
182
182
  collectionView.contentInsetAdjustmentBehavior = .never
183
183
  collectionView.delegate = self
184
184
  collectionView.dataSource = self
185
- collectionView.register(GaleriaViewerPageCell.self, forCellWithReuseIdentifier: GaleriaViewerPageCell.reuseIdentifier)
185
+ collectionView.register(NativeImagePreviewViewerPageCell.self, forCellWithReuseIdentifier: NativeImagePreviewViewerPageCell.reuseIdentifier)
186
186
  contentView.addSubview(collectionView)
187
187
  collectionView.pinToSuperviewEdges()
188
188
  collectionView.addGestureRecognizer(panGestureRecognizer)
@@ -267,8 +267,8 @@ final class GaleriaViewerController: UIViewController {
267
267
  }
268
268
 
269
269
  private func anchorView(for index: Int) -> UIImageView? {
270
- if let galleryId = galleryId,
271
- let sourceView = GaleriaSourceViewRegistry.shared.sourceView(for: galleryId, index: index) {
270
+ if let previewGroupId = previewGroupId,
271
+ let sourceView = NativeImagePreviewSourceViewRegistry.shared.sourceView(for: previewGroupId, index: index) {
272
272
  return sourceView
273
273
  }
274
274
  if index == initialIndex {
@@ -283,9 +283,9 @@ final class GaleriaViewerController: UIViewController {
283
283
  return min(max(index, 0), count - 1)
284
284
  }
285
285
 
286
- private func pageView(at index: Int) -> GaleriaViewerPageView? {
286
+ private func pageView(at index: Int) -> NativeImagePreviewViewerPageView? {
287
287
  let indexPath = IndexPath(item: index, section: 0)
288
- return collectionView.cellForItem(at: indexPath).flatMap { $0 as? GaleriaViewerPageCell }?.pageView
288
+ return collectionView.cellForItem(at: indexPath).flatMap { $0 as? NativeImagePreviewViewerPageCell }?.pageView
289
289
  }
290
290
 
291
291
  private func hideActiveSourceViewForCurrentIndex() {
@@ -342,7 +342,7 @@ final class GaleriaViewerController: UIViewController {
342
342
 
343
343
  private func updateVisiblePageStates() {
344
344
  for cell in collectionView.visibleCells {
345
- guard let pageCell = cell as? GaleriaViewerPageCell else { continue }
345
+ guard let pageCell = cell as? NativeImagePreviewViewerPageCell else { continue }
346
346
  let index = collectionView.indexPath(for: pageCell)?.item ?? -1
347
347
  pageCell.pageView.setActive(index == currentIndex)
348
348
  pageCell.pageView.setVideoRevealAllowed(index == currentIndex && hasPerformedOpenTransition)
@@ -357,7 +357,7 @@ final class GaleriaViewerController: UIViewController {
357
357
 
358
358
  private func setVideoRevealAllowedForVisiblePages(_ allowed: Bool) {
359
359
  for cell in collectionView.visibleCells {
360
- guard let pageCell = cell as? GaleriaViewerPageCell else { continue }
360
+ guard let pageCell = cell as? NativeImagePreviewViewerPageCell else { continue }
361
361
  let index = collectionView.indexPath(for: pageCell)?.item ?? -1
362
362
  pageCell.pageView.setVideoRevealAllowed(allowed && index == currentIndex)
363
363
  }
@@ -599,7 +599,7 @@ final class GaleriaViewerController: UIViewController {
599
599
  }
600
600
  }
601
601
 
602
- extension GaleriaViewerController: UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout {
602
+ extension NativeImagePreviewViewerController: UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout {
603
603
  func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
604
604
  pageCount = dataSource?.numberOfItems() ?? 0
605
605
  return pageCount
@@ -607,9 +607,9 @@ extension GaleriaViewerController: UICollectionViewDataSource, UICollectionViewD
607
607
 
608
608
  func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
609
609
  guard let cell = collectionView.dequeueReusableCell(
610
- withReuseIdentifier: GaleriaViewerPageCell.reuseIdentifier,
610
+ withReuseIdentifier: NativeImagePreviewViewerPageCell.reuseIdentifier,
611
611
  for: indexPath
612
- ) as? GaleriaViewerPageCell else {
612
+ ) as? NativeImagePreviewViewerPageCell else {
613
613
  return UICollectionViewCell()
614
614
  }
615
615
 
@@ -630,13 +630,13 @@ extension GaleriaViewerController: UICollectionViewDataSource, UICollectionViewD
630
630
  }
631
631
 
632
632
  func collectionView(_ collectionView: UICollectionView, willDisplay cell: UICollectionViewCell, forItemAt indexPath: IndexPath) {
633
- guard let pageCell = cell as? GaleriaViewerPageCell else { return }
633
+ guard let pageCell = cell as? NativeImagePreviewViewerPageCell else { return }
634
634
  pageCell.pageView.setActive(indexPath.item == currentIndex)
635
635
  pageCell.pageView.setVideoRevealAllowed(hasPerformedOpenTransition && indexPath.item == currentIndex)
636
636
  }
637
637
 
638
638
  func collectionView(_ collectionView: UICollectionView, didEndDisplaying cell: UICollectionViewCell, forItemAt indexPath: IndexPath) {
639
- guard let pageCell = cell as? GaleriaViewerPageCell else { return }
639
+ guard let pageCell = cell as? NativeImagePreviewViewerPageCell else { return }
640
640
  pageCell.pageView.setActive(false)
641
641
  pageCell.pageView.setVideoRevealAllowed(false)
642
642
  }
@@ -656,7 +656,7 @@ extension GaleriaViewerController: UICollectionViewDataSource, UICollectionViewD
656
656
  }
657
657
  }
658
658
 
659
- extension GaleriaViewerController: UIGestureRecognizerDelegate {
659
+ extension NativeImagePreviewViewerController: UIGestureRecognizerDelegate {
660
660
  func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
661
661
  if gestureRecognizer === panGestureRecognizer {
662
662
  recalculateHorizontalPagingEnabled()
@@ -681,24 +681,24 @@ extension GaleriaViewerController: UIGestureRecognizerDelegate {
681
681
  }
682
682
  }
683
683
 
684
- extension GaleriaViewerController: GaleriaViewerPageViewDelegate {
685
- func galeriaViewerPageViewDidRequestDismiss(_ pageView: GaleriaViewerPageView) {
684
+ extension NativeImagePreviewViewerController: NativeImagePreviewViewerPageViewDelegate {
685
+ func nativeImagePreviewViewerPageViewDidRequestDismiss(_ pageView: NativeImagePreviewViewerPageView) {
686
686
  guard pageView.index == currentIndex else { return }
687
687
  performDismissTransition()
688
688
  }
689
689
 
690
- func galeriaViewerPageViewDidToggleVideoChrome(_ pageView: GaleriaViewerPageView) {
690
+ func nativeImagePreviewViewerPageViewDidToggleVideoChrome(_ pageView: NativeImagePreviewViewerPageView) {
691
691
  guard pageView.index == currentIndex else { return }
692
692
  _ = pageView.toggleVideoControls()
693
693
  setNavigationBarHidden(shouldHideNavigationBarForCurrentPage, animated: true)
694
694
  }
695
695
 
696
- func galeriaViewerPageView(_ pageView: GaleriaViewerPageView, setHorizontalPagingEnabled enabled: Bool) {
696
+ func nativeImagePreviewViewerPageView(_ pageView: NativeImagePreviewViewerPageView, setHorizontalPagingEnabled enabled: Bool) {
697
697
  guard pageView.index == currentIndex else { return }
698
698
  recalculateHorizontalPagingEnabled()
699
699
  }
700
700
 
701
- func galeriaViewerPageViewDidBeginMultiTouch(_ pageView: GaleriaViewerPageView) {
701
+ func nativeImagePreviewViewerPageViewDidBeginMultiTouch(_ pageView: NativeImagePreviewViewerPageView) {
702
702
  guard pageView.index == currentIndex else { return }
703
703
  verticalDismissLocked = true
704
704
  verticalDismissNeedsReanchor = false
@@ -708,7 +708,7 @@ extension GaleriaViewerController: GaleriaViewerPageViewDelegate {
708
708
  recalculateHorizontalPagingEnabled()
709
709
  }
710
710
 
711
- func galeriaViewerPageViewDidEndMultiTouch(_ pageView: GaleriaViewerPageView) {
711
+ func nativeImagePreviewViewerPageViewDidEndMultiTouch(_ pageView: NativeImagePreviewViewerPageView) {
712
712
  guard pageView.index == currentIndex else { return }
713
713
  verticalDismissLocked = false
714
714
  verticalDismissNeedsReanchor = true
@@ -716,10 +716,10 @@ extension GaleriaViewerController: GaleriaViewerPageViewDelegate {
716
716
  }
717
717
  }
718
718
 
719
- private final class GaleriaViewerPageCell: UICollectionViewCell {
720
- static let reuseIdentifier = "GaleriaViewerPageCell"
719
+ private final class NativeImagePreviewViewerPageCell: UICollectionViewCell {
720
+ static let reuseIdentifier = "NativeImagePreviewViewerPageCell"
721
721
 
722
- let pageView = GaleriaViewerPageView()
722
+ let pageView = NativeImagePreviewViewerPageView()
723
723
 
724
724
  override init(frame: CGRect) {
725
725
  super.init(frame: frame)
@@ -1,18 +1,18 @@
1
1
  import UIKit
2
2
 
3
- protocol GaleriaViewerPageViewDelegate: AnyObject {
4
- func galeriaViewerPageViewDidRequestDismiss(_ pageView: GaleriaViewerPageView)
5
- func galeriaViewerPageViewDidToggleVideoChrome(_ pageView: GaleriaViewerPageView)
6
- func galeriaViewerPageView(_ pageView: GaleriaViewerPageView, setHorizontalPagingEnabled enabled: Bool)
7
- func galeriaViewerPageViewDidBeginMultiTouch(_ pageView: GaleriaViewerPageView)
8
- func galeriaViewerPageViewDidEndMultiTouch(_ pageView: GaleriaViewerPageView)
3
+ protocol NativeImagePreviewViewerPageViewDelegate: AnyObject {
4
+ func nativeImagePreviewViewerPageViewDidRequestDismiss(_ pageView: NativeImagePreviewViewerPageView)
5
+ func nativeImagePreviewViewerPageViewDidToggleVideoChrome(_ pageView: NativeImagePreviewViewerPageView)
6
+ func nativeImagePreviewViewerPageView(_ pageView: NativeImagePreviewViewerPageView, setHorizontalPagingEnabled enabled: Bool)
7
+ func nativeImagePreviewViewerPageViewDidBeginMultiTouch(_ pageView: NativeImagePreviewViewerPageView)
8
+ func nativeImagePreviewViewerPageViewDidEndMultiTouch(_ pageView: NativeImagePreviewViewerPageView)
9
9
  }
10
10
 
11
- final class GaleriaViewerPageView: UIView {
12
- weak var delegate: GaleriaViewerPageViewDelegate?
11
+ final class NativeImagePreviewViewerPageView: UIView {
12
+ weak var delegate: NativeImagePreviewViewerPageViewDelegate?
13
13
 
14
14
  private(set) var index: Int = 0
15
- private(set) var item: GaleriaMediaItem?
15
+ private(set) var item: NativeImagePreviewMediaItem?
16
16
 
17
17
  private let mediaContainer = UIView()
18
18
  private let activityIndicator = UIActivityIndicatorView(style: .large)
@@ -23,9 +23,9 @@ final class GaleriaViewerPageView: UIView {
23
23
 
24
24
  private let videoContainer = UIView()
25
25
  private let posterImageView = UIImageView()
26
- private let videoPlayerView = GaleriaVideoPlayerView(frame: .zero)
26
+ private let videoPlayerView = NativeImagePreviewVideoPlayerView(frame: .zero)
27
27
 
28
- private var imageLoader: GaleriaImageLoading?
28
+ private var imageLoader: NativeImagePreviewImageLoading?
29
29
  private var mediaContentMode: UIView.ContentMode = .scaleAspectFit
30
30
  private var loadGeneration = 0
31
31
 
@@ -104,8 +104,8 @@ final class GaleriaViewerPageView: UIView {
104
104
 
105
105
  func configure(
106
106
  index: Int,
107
- item: GaleriaMediaItem,
108
- imageLoader: GaleriaImageLoading,
107
+ item: NativeImagePreviewMediaItem,
108
+ imageLoader: NativeImagePreviewImageLoading,
109
109
  mediaContentMode: UIView.ContentMode,
110
110
  sourcePreviewImage: UIImage? = nil
111
111
  ) {
@@ -222,20 +222,20 @@ final class GaleriaViewerPageView: UIView {
222
222
  mediaContainer.alpha = hidden ? 0 : 1
223
223
  }
224
224
 
225
- func sharedElementState() -> GaleriaSharedElementState? {
225
+ func sharedElementState() -> NativeImagePreviewSharedElementState? {
226
226
  if isVideoPage {
227
- return posterImageView.galeriaSharedElementState()
227
+ return posterImageView.nativeImagePreviewSharedElementState()
228
228
  }
229
- return imageView.galeriaSharedElementState(clippingFrameInWindow: imageScrollView.frameInWindow())
229
+ return imageView.nativeImagePreviewSharedElementState(clippingFrameInWindow: imageScrollView.frameInWindow())
230
230
  }
231
231
 
232
- func defaultTransitionGeometry(in windowBounds: CGRect) -> GaleriaSharedElementGeometry {
232
+ func defaultTransitionGeometry(in windowBounds: CGRect) -> NativeImagePreviewSharedElementGeometry {
233
233
  let imageSize = sharedElementView?.image?.size
234
234
  ?? imageView.image?.size
235
235
  ?? posterImageView.image?.size
236
236
  ?? CGSize(width: max(windowBounds.width * 0.72, 1), height: max(windowBounds.height * 0.42, 1))
237
- let visibleFrame = GaleriaViewerTransitionCoordinator.aspectFitRect(for: imageSize, in: windowBounds)
238
- return GaleriaSharedElementGeometry(
237
+ let visibleFrame = NativeImagePreviewViewerTransitionCoordinator.aspectFitRect(for: imageSize, in: windowBounds)
238
+ return NativeImagePreviewSharedElementGeometry(
239
239
  visibleFrameInWindow: visibleFrame,
240
240
  contentFrameInVisibleBounds: CGRect(origin: .zero, size: visibleFrame.size),
241
241
  cornerRadius: 0
@@ -337,11 +337,11 @@ final class GaleriaViewerPageView: UIView {
337
337
  }
338
338
  videoPlayerView.onControlsInteractStart = { [weak self] in
339
339
  guard let self = self else { return }
340
- self.delegate?.galeriaViewerPageView(self, setHorizontalPagingEnabled: false)
340
+ self.delegate?.nativeImagePreviewViewerPageView(self, setHorizontalPagingEnabled: false)
341
341
  }
342
342
  videoPlayerView.onControlsInteractEnd = { [weak self] in
343
343
  guard let self = self else { return }
344
- self.delegate?.galeriaViewerPageView(self, setHorizontalPagingEnabled: self.canPageHorizontally)
344
+ self.delegate?.nativeImagePreviewViewerPageView(self, setHorizontalPagingEnabled: self.canPageHorizontally)
345
345
  }
346
346
 
347
347
  posterImageView.backgroundColor = .clear
@@ -373,7 +373,7 @@ final class GaleriaViewerPageView: UIView {
373
373
  } else {
374
374
  showLoading()
375
375
  }
376
- delegate?.galeriaViewerPageView(self, setHorizontalPagingEnabled: canPageHorizontally)
376
+ delegate?.nativeImagePreviewViewerPageView(self, setHorizontalPagingEnabled: canPageHorizontally)
377
377
  }
378
378
 
379
379
  private func configureVideoPage(url: URL, poster: URL?) {
@@ -395,7 +395,7 @@ final class GaleriaViewerPageView: UIView {
395
395
  posterImageView.image = nil
396
396
  }
397
397
 
398
- delegate?.galeriaViewerPageView(self, setHorizontalPagingEnabled: true)
398
+ delegate?.nativeImagePreviewViewerPageView(self, setHorizontalPagingEnabled: true)
399
399
  updateVideoPlaybackIfNeeded()
400
400
  }
401
401
 
@@ -413,7 +413,7 @@ final class GaleriaViewerPageView: UIView {
413
413
  self.hideSourcePreview()
414
414
  }
415
415
  self.layoutImageIfNeeded(resetZoom: true)
416
- self.delegate?.galeriaViewerPageView(self, setHorizontalPagingEnabled: self.canPageHorizontally)
416
+ self.delegate?.nativeImagePreviewViewerPageView(self, setHorizontalPagingEnabled: self.canPageHorizontally)
417
417
  }
418
418
  }
419
419
  }
@@ -558,7 +558,7 @@ final class GaleriaViewerPageView: UIView {
558
558
 
559
559
  @objc
560
560
  private func handleImageSingleTap(_ recognizer: UITapGestureRecognizer) {
561
- delegate?.galeriaViewerPageViewDidRequestDismiss(self)
561
+ delegate?.nativeImagePreviewViewerPageViewDidRequestDismiss(self)
562
562
  }
563
563
 
564
564
  @objc
@@ -578,7 +578,7 @@ final class GaleriaViewerPageView: UIView {
578
578
 
579
579
  @objc
580
580
  private func handleVideoSingleTap(_ recognizer: UITapGestureRecognizer) {
581
- delegate?.galeriaViewerPageViewDidToggleVideoChrome(self)
581
+ delegate?.nativeImagePreviewViewerPageViewDidToggleVideoChrome(self)
582
582
  }
583
583
 
584
584
  @objc
@@ -586,12 +586,12 @@ final class GaleriaViewerPageView: UIView {
586
586
  switch recognizer.state {
587
587
  case .began:
588
588
  pinchInProgress = true
589
- delegate?.galeriaViewerPageViewDidBeginMultiTouch(self)
589
+ delegate?.nativeImagePreviewViewerPageViewDidBeginMultiTouch(self)
590
590
  case .cancelled, .ended, .failed:
591
591
  if pinchInProgress {
592
592
  pinchInProgress = false
593
- delegate?.galeriaViewerPageViewDidEndMultiTouch(self)
594
- delegate?.galeriaViewerPageView(self, setHorizontalPagingEnabled: canPageHorizontally)
593
+ delegate?.nativeImagePreviewViewerPageViewDidEndMultiTouch(self)
594
+ delegate?.nativeImagePreviewViewerPageView(self, setHorizontalPagingEnabled: canPageHorizontally)
595
595
  }
596
596
  default:
597
597
  break
@@ -599,22 +599,22 @@ final class GaleriaViewerPageView: UIView {
599
599
  }
600
600
  }
601
601
 
602
- extension GaleriaViewerPageView: UIScrollViewDelegate {
602
+ extension NativeImagePreviewViewerPageView: UIScrollViewDelegate {
603
603
  func viewForZooming(in scrollView: UIScrollView) -> UIView? {
604
604
  isVideoPage ? nil : imageView
605
605
  }
606
606
 
607
607
  func scrollViewDidZoom(_ scrollView: UIScrollView) {
608
608
  layoutImageIfNeeded(resetZoom: false)
609
- delegate?.galeriaViewerPageView(self, setHorizontalPagingEnabled: canPageHorizontally)
609
+ delegate?.nativeImagePreviewViewerPageView(self, setHorizontalPagingEnabled: canPageHorizontally)
610
610
  }
611
611
 
612
612
  func scrollViewDidEndZooming(_ scrollView: UIScrollView, with view: UIView?, atScale scale: CGFloat) {
613
- delegate?.galeriaViewerPageView(self, setHorizontalPagingEnabled: canPageHorizontally)
613
+ delegate?.nativeImagePreviewViewerPageView(self, setHorizontalPagingEnabled: canPageHorizontally)
614
614
  }
615
615
  }
616
616
 
617
- extension GaleriaViewerPageView: UIGestureRecognizerDelegate {
617
+ extension NativeImagePreviewViewerPageView: UIGestureRecognizerDelegate {
618
618
  func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool {
619
619
  guard gestureRecognizer === videoSingleTapGesture else { return true }
620
620
  let location = touch.location(in: videoPlayerView)
@@ -1,6 +1,6 @@
1
1
  import UIKit
2
2
 
3
- private final class GaleriaTransitionSnapshotView: UIView {
3
+ private final class NativeImagePreviewTransitionSnapshotView: UIView {
4
4
  private let imageView = UIImageView()
5
5
 
6
6
  init(image: UIImage) {
@@ -28,10 +28,10 @@ private final class GaleriaTransitionSnapshotView: UIView {
28
28
  }
29
29
  }
30
30
 
31
- final class GaleriaViewerTransitionCoordinator {
31
+ final class NativeImagePreviewViewerTransitionCoordinator {
32
32
  private weak var containerView: UIView?
33
33
  private weak var hiddenAnchorView: UIView?
34
- private weak var hiddenPageView: GaleriaViewerPageView?
34
+ private weak var hiddenPageView: NativeImagePreviewViewerPageView?
35
35
  private var activeSnapshotView: UIView?
36
36
 
37
37
  init(containerView: UIView) {
@@ -59,7 +59,7 @@ final class GaleriaViewerTransitionCoordinator {
59
59
 
60
60
  func performOpenTransition(
61
61
  from sourceView: UIImageView?,
62
- to pageView: GaleriaViewerPageView?,
62
+ to pageView: NativeImagePreviewViewerPageView?,
63
63
  backgroundView: UIView,
64
64
  contentView: UIView,
65
65
  completion: @escaping () -> Void
@@ -77,7 +77,7 @@ final class GaleriaViewerTransitionCoordinator {
77
77
  contentView.alpha = 0
78
78
 
79
79
  flushLayoutForSharedElementSampling(of: sourceView)
80
- guard let sourceView = sourceView, let sourceState = sourceView.galeriaSharedElementState() else {
80
+ guard let sourceView = sourceView, let sourceState = sourceView.nativeImagePreviewSharedElementState() else {
81
81
  animateSimpleAppearance(
82
82
  backgroundView: backgroundView,
83
83
  contentView: contentView,
@@ -103,7 +103,7 @@ final class GaleriaViewerTransitionCoordinator {
103
103
  }
104
104
 
105
105
  let windowBounds = containerView.window?.bounds ?? UIScreen.main.bounds
106
- let targetGeometry: GaleriaSharedElementGeometry
106
+ let targetGeometry: NativeImagePreviewSharedElementGeometry
107
107
  if isReady, let pageState = pageView?.sharedElementState() {
108
108
  targetGeometry = pageState.geometry
109
109
  } else if let pageView = pageView {
@@ -141,7 +141,7 @@ final class GaleriaViewerTransitionCoordinator {
141
141
  }
142
142
 
143
143
  func performCloseTransition(
144
- from pageView: GaleriaViewerPageView?,
144
+ from pageView: NativeImagePreviewViewerPageView?,
145
145
  to anchorView: UIImageView?,
146
146
  backgroundView: UIView,
147
147
  contentView: UIView,
@@ -176,9 +176,9 @@ final class GaleriaViewerTransitionCoordinator {
176
176
  hiddenPageView = pageView
177
177
  pageView.setMediaHidden(true)
178
178
 
179
- var targetGeometry: GaleriaSharedElementGeometry?
179
+ var targetGeometry: NativeImagePreviewSharedElementGeometry?
180
180
  flushLayoutForSharedElementSampling(of: anchorView)
181
- if let anchorView = anchorView, let anchorState = anchorView.galeriaSharedElementState() {
181
+ if let anchorView = anchorView, let anchorState = anchorView.nativeImagePreviewSharedElementState() {
182
182
  hiddenAnchorView = anchorView
183
183
  anchorView.alpha = 0
184
184
  targetGeometry = anchorState.geometry
@@ -240,12 +240,12 @@ final class GaleriaViewerTransitionCoordinator {
240
240
  }
241
241
 
242
242
  private func waitUntilReady(
243
- pageView: GaleriaViewerPageView,
243
+ pageView: NativeImagePreviewViewerPageView,
244
244
  timeout: TimeInterval,
245
245
  completion: @escaping (Bool) -> Void
246
246
  ) {
247
247
  let deadline = CACurrentMediaTime() + timeout
248
- var lastStableState: GaleriaSharedElementState?
248
+ var lastStableState: NativeImagePreviewSharedElementState?
249
249
  var stableFrameCount = 0
250
250
 
251
251
  func poll() {
@@ -284,19 +284,19 @@ final class GaleriaViewerTransitionCoordinator {
284
284
  containerView?.layoutIfNeeded()
285
285
  }
286
286
 
287
- private func makeSnapshot(from state: GaleriaSharedElementState) -> GaleriaTransitionSnapshotView {
288
- GaleriaTransitionSnapshotView(image: state.image)
287
+ private func makeSnapshot(from state: NativeImagePreviewSharedElementState) -> NativeImagePreviewTransitionSnapshotView {
288
+ NativeImagePreviewTransitionSnapshotView(image: state.image)
289
289
  }
290
290
 
291
- private func apply(_ geometry: GaleriaSharedElementGeometry, to snapshotView: GaleriaTransitionSnapshotView) {
291
+ private func apply(_ geometry: NativeImagePreviewSharedElementGeometry, to snapshotView: NativeImagePreviewTransitionSnapshotView) {
292
292
  snapshotView.frame = frameInContainer(fromWindowFrame: geometry.visibleFrameInWindow)
293
293
  snapshotView.applyContentFrame(geometry.contentFrameInVisibleBounds)
294
294
  snapshotView.layer.cornerRadius = geometry.cornerRadius
295
295
  }
296
296
 
297
- private func defaultGeometry(for imageSize: CGSize, in windowBounds: CGRect) -> GaleriaSharedElementGeometry {
297
+ private func defaultGeometry(for imageSize: CGSize, in windowBounds: CGRect) -> NativeImagePreviewSharedElementGeometry {
298
298
  let visibleFrame = Self.aspectFitRect(for: imageSize, in: windowBounds)
299
- return GaleriaSharedElementGeometry(
299
+ return NativeImagePreviewSharedElementGeometry(
300
300
  visibleFrameInWindow: visibleFrame,
301
301
  contentFrameInVisibleBounds: CGRect(origin: .zero, size: visibleFrame.size),
302
302
  cornerRadius: 0
@@ -1,10 +1,10 @@
1
1
  import ExpoModulesCore
2
2
 
3
- public class GaleriaModule: Module {
3
+ public class NativeImagePreviewModule: Module {
4
4
  public func definition() -> ModuleDefinition {
5
5
  Name("ZKitNativeImagePreview")
6
6
 
7
- View(GaleriaView.self) {
7
+ View(NativeImagePreviewView.self) {
8
8
  Events("onIndexChange")
9
9
 
10
10
  OnViewDidUpdateProps { (view) in
@@ -23,8 +23,8 @@ public class GaleriaModule: Module {
23
23
  view.initialIndex = index
24
24
  }
25
25
 
26
- Prop("galleryId") { (view, galleryId: String?) in
27
- view.galleryId = galleryId
26
+ Prop("previewGroupId") { (view, previewGroupId: String?) in
27
+ view.previewGroupId = previewGroupId
28
28
  }
29
29
 
30
30
  Prop("theme") { (view, theme: Theme?) in