react-native-gesture-image-viewer 2.4.0 → 2.5.1

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 (50) hide show
  1. package/README.md +19 -5
  2. package/lib/module/GestureViewer.js +31 -13
  3. package/lib/module/GestureViewer.js.map +1 -1
  4. package/lib/module/GestureViewerManager.js +43 -14
  5. package/lib/module/GestureViewerManager.js.map +1 -1
  6. package/lib/module/index.js.map +1 -1
  7. package/lib/module/itemDimensions.js +86 -0
  8. package/lib/module/itemDimensions.js.map +1 -0
  9. package/lib/module/useGestureViewer.js +270 -40
  10. package/lib/module/useGestureViewer.js.map +1 -1
  11. package/lib/module/useGestureViewerPaging.js +1 -3
  12. package/lib/module/useGestureViewerPaging.js.map +1 -1
  13. package/lib/module/useGestureViewerPaging.web.js +26 -18
  14. package/lib/module/useGestureViewerPaging.web.js.map +1 -1
  15. package/lib/module/utils/index.js +43 -10
  16. package/lib/module/utils/index.js.map +1 -1
  17. package/lib/module/utils/tapZoom.js +51 -13
  18. package/lib/module/utils/tapZoom.js.map +1 -1
  19. package/lib/typescript/src/GestureViewer.d.ts.map +1 -1
  20. package/lib/typescript/src/GestureViewerManager.d.ts +16 -3
  21. package/lib/typescript/src/GestureViewerManager.d.ts.map +1 -1
  22. package/lib/typescript/src/index.d.ts +1 -1
  23. package/lib/typescript/src/index.d.ts.map +1 -1
  24. package/lib/typescript/src/itemDimensions.d.ts +26 -0
  25. package/lib/typescript/src/itemDimensions.d.ts.map +1 -0
  26. package/lib/typescript/src/types.d.ts +29 -0
  27. package/lib/typescript/src/types.d.ts.map +1 -1
  28. package/lib/typescript/src/useGestureViewer.d.ts +3 -2
  29. package/lib/typescript/src/useGestureViewer.d.ts.map +1 -1
  30. package/lib/typescript/src/useGestureViewerPaging.d.ts.map +1 -1
  31. package/lib/typescript/src/useGestureViewerPaging.types.d.ts +2 -0
  32. package/lib/typescript/src/useGestureViewerPaging.types.d.ts.map +1 -1
  33. package/lib/typescript/src/useGestureViewerPaging.web.d.ts +1 -1
  34. package/lib/typescript/src/useGestureViewerPaging.web.d.ts.map +1 -1
  35. package/lib/typescript/src/utils/index.d.ts +7 -3
  36. package/lib/typescript/src/utils/index.d.ts.map +1 -1
  37. package/lib/typescript/src/utils/tapZoom.d.ts +17 -1
  38. package/lib/typescript/src/utils/tapZoom.d.ts.map +1 -1
  39. package/package.json +1 -1
  40. package/src/GestureViewer.tsx +47 -16
  41. package/src/GestureViewerManager.ts +58 -19
  42. package/src/index.tsx +4 -0
  43. package/src/itemDimensions.ts +162 -0
  44. package/src/types.ts +39 -0
  45. package/src/useGestureViewer.ts +376 -47
  46. package/src/useGestureViewerPaging.ts +1 -3
  47. package/src/useGestureViewerPaging.types.ts +2 -0
  48. package/src/useGestureViewerPaging.web.ts +41 -21
  49. package/src/utils/index.ts +86 -27
  50. package/src/utils/tapZoom.ts +66 -13
package/README.md CHANGED
@@ -59,8 +59,13 @@ import {
59
59
  useGestureViewerState,
60
60
  } from 'react-native-gesture-image-viewer';
61
61
 
62
+ const images = [
63
+ 'https://picsum.photos/400/200',
64
+ 'https://picsum.photos/200/400',
65
+ 'https://picsum.photos/300/300',
66
+ ];
67
+
62
68
  function App() {
63
- const images = [...];
64
69
  const [visible, setVisible] = useState(false);
65
70
  const [selectedIndex, setSelectedIndex] = useState(0);
66
71
 
@@ -74,7 +79,13 @@ function App() {
74
79
  };
75
80
 
76
81
  const renderImage = useCallback((imageUrl: string) => {
77
- return <Image source={{ uri: imageUrl }} style={{ width: '100%', height: '100%' }} resizeMode="contain" />;
82
+ return (
83
+ <Image
84
+ source={{ uri: imageUrl }}
85
+ style={{ width: '100%', height: '100%' }}
86
+ resizeMode="contain"
87
+ />
88
+ );
78
89
  }, []);
79
90
 
80
91
  useGestureViewerEvent('zoomChange', (data) => {
@@ -83,10 +94,10 @@ function App() {
83
94
 
84
95
  return (
85
96
  <View>
86
- {images.map((uri, index) => (
87
- <GestureTrigger key={uri} onPress={() => openModal(index)}>
97
+ {images.map((imageUrl, index) => (
98
+ <GestureTrigger key={imageUrl} onPress={() => openModal(index)}>
88
99
  <Pressable>
89
- <Image source={{ uri }} />
100
+ <Image source={{ uri: imageUrl }} />
90
101
  </Pressable>
91
102
  </GestureTrigger>
92
103
  ))}
@@ -110,6 +121,9 @@ function App() {
110
121
  }
111
122
  ```
112
123
 
124
+ For accurate pan bounds with `contain`-fitted content, see the
125
+ [Content Dimensions guide](https://react-native-gesture-image-viewer.pages.dev/guide/usage/custom-components#content-dimensions).
126
+
113
127
  ## Contributing
114
128
 
115
129
  For details on how to contribute to the project and set up the development environment, please refer to the [Contributing Guide](CONTRIBUTING.md).
@@ -1,14 +1,29 @@
1
1
  "use strict";
2
2
 
3
- import { useCallback, useEffect, useMemo, useRef } from 'react';
3
+ import { useCallback, useEffect, useMemo } from 'react';
4
4
  import { Platform, StyleSheet, useWindowDimensions, View } from 'react-native';
5
5
  import { Gesture, GestureDetector, GestureHandlerRootView } from 'react-native-gesture-handler';
6
6
  import Animated from 'react-native-reanimated';
7
7
  import { registry } from "./GestureViewerRegistry.js";
8
8
  import { useGestureViewer } from "./useGestureViewer.js";
9
- import { createLoopData, isFlashListLike, isFlatListLike, isScrollViewLike, shouldUseNativeScrollGesture } from "./utils/index.js";
9
+ import { clampIndex, createLoopData, getLoopPhysicalIndex, isFlashListLike, isFlatListLike, isScrollViewLike, shouldUseNativeScrollGesture } from "./utils/index.js";
10
10
  import WebPagingFixStyle from "./WebPagingFixStyle.js";
11
11
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
+ function GestureViewerItemCell({
13
+ item,
14
+ index,
15
+ isActive,
16
+ renderItem,
17
+ setItemDimensions
18
+ }) {
19
+ const registerItemDimensions = dimensions => {
20
+ setItemDimensions(index, item, dimensions);
21
+ };
22
+ return renderItem(item, index, {
23
+ isActive,
24
+ setItemDimensions: registerItemDimensions
25
+ });
26
+ }
12
27
  export function GestureViewer({
13
28
  id = 'default',
14
29
  data,
@@ -27,14 +42,15 @@ export function GestureViewer({
27
42
  ...props
28
43
  }) {
29
44
  const Component = ListComponent;
30
- const dataRef = useRef(data);
31
45
  const {
32
46
  width: screenWidth,
33
47
  height: screenHeight
34
48
  } = useWindowDimensions();
35
49
  const width = customWidth || screenWidth;
36
50
  const height = customHeight || screenHeight;
37
- const loopData = useMemo(() => createLoopData(dataRef, enableLoop), [enableLoop]);
51
+ const normalizedInitialIndex = clampIndex(initialIndex, data.length);
52
+ const initialListIndex = getLoopPhysicalIndex(normalizedInitialIndex, data.length, enableLoop);
53
+ const loopData = useMemo(() => createLoopData(data, enableLoop), [data, enableLoop]);
38
54
  const isScrollView = isScrollViewLike(Component);
39
55
  const isFlashList = isFlashListLike(Component);
40
56
  const {
@@ -52,13 +68,14 @@ export function GestureViewer({
52
68
  onScrollBeginDrag,
53
69
  animatedStyle,
54
70
  backdropStyle,
55
- handleDismiss
71
+ handleDismiss,
72
+ setItemDimensions
56
73
  } = useGestureViewer({
57
74
  id,
58
75
  data,
59
76
  width,
60
77
  height,
61
- initialIndex,
78
+ initialIndex: normalizedInitialIndex,
62
79
  itemSpacing,
63
80
  enableLoop,
64
81
  ...props
@@ -81,11 +98,15 @@ export function GestureViewer({
81
98
  height,
82
99
  marginHorizontal: itemSpacing / 2
83
100
  }, styles.item],
84
- children: renderItemProp(item, index, {
85
- isActive: index === activeListIndex && isFlashListCell
101
+ children: /*#__PURE__*/_jsx(GestureViewerItemCell, {
102
+ index: index,
103
+ isActive: index === activeListIndex && isFlashListCell,
104
+ item: item,
105
+ renderItem: renderItemProp,
106
+ setItemDimensions: setItemDimensions
86
107
  })
87
108
  }, isScrollView ? keyExtractor(item, index) : undefined);
88
- }, [activeListIndex, width, itemSpacing, renderItemProp, keyExtractor, isScrollView, isFlashList, height]);
109
+ }, [activeListIndex, width, itemSpacing, renderItemProp, keyExtractor, isScrollView, isFlashList, height, setItemDimensions]);
89
110
  const getItemLayout = useCallback((_, index) => ({
90
111
  length: width + itemSpacing,
91
112
  offset: (width + itemSpacing) * index,
@@ -94,9 +115,6 @@ export function GestureViewer({
94
115
  const gesture = useMemo(() => {
95
116
  return Gesture.Race(dismissGesture, zoomGesture);
96
117
  }, [zoomGesture, dismissGesture]);
97
- useEffect(() => {
98
- dataRef.current = data;
99
- }, [data]);
100
118
  useEffect(() => {
101
119
  registry.createManager(id);
102
120
  return () => registry.deleteManager(id);
@@ -164,7 +182,7 @@ export function GestureViewer({
164
182
  ...commonProps,
165
183
  data: loopData,
166
184
  renderItem: renderItem,
167
- initialScrollIndex: enableLoop && data.length > 1 ? initialIndex + 1 : initialIndex,
185
+ initialScrollIndex: initialListIndex,
168
186
  keyExtractor: keyExtractor,
169
187
  ...(isFlashList ?
170
188
  // NOTE - Deprecated estimatedItemSize for FlashList V2 (https://shopify.github.io/flash-list/docs/v2-changes#deprecated)
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useMemo","useRef","Platform","StyleSheet","useWindowDimensions","View","Gesture","GestureDetector","GestureHandlerRootView","Animated","registry","useGestureViewer","createLoopData","isFlashListLike","isFlatListLike","isScrollViewLike","shouldUseNativeScrollGesture","WebPagingFixStyle","jsx","_jsx","jsxs","_jsxs","GestureViewer","id","data","renderItem","renderItemProp","renderContainer","ListComponent","width","customWidth","height","customHeight","listProps","backdropStyle","backdropStyleProps","containerStyle","initialIndex","itemSpacing","enableSnapMode","enableLoop","props","Component","dataRef","screenWidth","screenHeight","loopData","isScrollView","isFlashList","activeListIndex","listRef","isZoomed","isRotated","isPinching","dismissGesture","zoomGesture","nativeScrollGesture","onWebClick","onMomentumScrollEnd","onScroll","onScrollBeginDrag","animatedStyle","handleDismiss","keyExtractor","item","index","target","isFlashListCell","undefined","style","marginHorizontal","styles","children","isActive","getItemLayout","_","length","offset","gesture","Race","current","createManager","deleteManager","commonProps","horizontal","scrollEnabled","showsHorizontalScrollIndicator","snapToInterval","snapToAlignment","decelerationRate","pagingEnabled","scrollEventThrottle","removeClippedSubviews","control","dismiss","shouldWrapScrollableWithNativeGesture","OS","maybeWrapWithNativeScrollGesture","listComponent","background","content","onClick","dataSet","ref","map","initialScrollIndex","estimatedItemSize","windowSize","maxToRenderPerBatch","create","flex","justifyContent","alignItems","position","top","left","right","bottom","backgroundColor"],"sourceRoot":"../../src","sources":["GestureViewer.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useMemo","Platform","StyleSheet","useWindowDimensions","View","Gesture","GestureDetector","GestureHandlerRootView","Animated","registry","useGestureViewer","clampIndex","createLoopData","getLoopPhysicalIndex","isFlashListLike","isFlatListLike","isScrollViewLike","shouldUseNativeScrollGesture","WebPagingFixStyle","jsx","_jsx","jsxs","_jsxs","GestureViewerItemCell","item","index","isActive","renderItem","setItemDimensions","registerItemDimensions","dimensions","GestureViewer","id","data","renderItemProp","renderContainer","ListComponent","width","customWidth","height","customHeight","listProps","backdropStyle","backdropStyleProps","containerStyle","initialIndex","itemSpacing","enableSnapMode","enableLoop","props","Component","screenWidth","screenHeight","normalizedInitialIndex","length","initialListIndex","loopData","isScrollView","isFlashList","activeListIndex","listRef","isZoomed","isRotated","isPinching","dismissGesture","zoomGesture","nativeScrollGesture","onWebClick","onMomentumScrollEnd","onScroll","onScrollBeginDrag","animatedStyle","handleDismiss","keyExtractor","target","isFlashListCell","undefined","style","marginHorizontal","styles","children","getItemLayout","_","offset","gesture","Race","createManager","deleteManager","commonProps","horizontal","scrollEnabled","showsHorizontalScrollIndicator","snapToInterval","snapToAlignment","decelerationRate","pagingEnabled","scrollEventThrottle","removeClippedSubviews","control","dismiss","shouldWrapScrollableWithNativeGesture","OS","maybeWrapWithNativeScrollGesture","listComponent","background","content","onClick","dataSet","ref","map","initialScrollIndex","estimatedItemSize","windowSize","maxToRenderPerBatch","create","flex","justifyContent","alignItems","position","top","left","right","bottom","backgroundColor"],"sourceRoot":"../../src","sources":["GestureViewer.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  import { withTiming } from 'react-native-reanimated';
4
- import { createBoundsConstraint, createScrollAction } from "./utils/index.js";
4
+ import { clampTranslationToBounds, createScrollAction } from "./utils/index.js";
5
5
  class GestureViewerManager {
6
6
  currentIndex = 0;
7
7
  dataLength = 0;
8
- width = 0;
8
+ pagingStride = 0;
9
+ viewportWidth = 0;
9
10
  height = 0;
10
11
  maxZoomScale = 2;
11
12
  enableHorizontalSwipe = true;
@@ -15,6 +16,8 @@ class GestureViewerManager {
15
16
  rotation = null;
16
17
  translateX = null;
17
18
  translateY = null;
19
+ contentWidth = null;
20
+ contentHeight = null;
18
21
  resetTransformCallback = null;
19
22
  loopCallback = null;
20
23
  programmaticScrollVersion = 0;
@@ -78,8 +81,11 @@ class GestureViewerManager {
78
81
  setEnableLoop(enabled) {
79
82
  this.enableLoop = enabled;
80
83
  }
81
- setWidth(width) {
82
- this.width = width;
84
+ setPagingStride(pagingStride) {
85
+ this.pagingStride = pagingStride;
86
+ }
87
+ setViewportWidth(width) {
88
+ this.viewportWidth = width;
83
89
  }
84
90
  setHeight(height) {
85
91
  this.height = height;
@@ -98,11 +104,20 @@ class GestureViewerManager {
98
104
  this.currentIndex = index;
99
105
  }
100
106
  }
101
- setZoomSharedValues(scale, translateX, translateY, maxZoomScale) {
107
+ setZoomSharedValues({
108
+ scale,
109
+ translateX,
110
+ translateY,
111
+ maxZoomScale,
112
+ contentWidth,
113
+ contentHeight
114
+ }) {
102
115
  this.scale = scale;
103
116
  this.translateX = translateX;
104
117
  this.translateY = translateY;
105
118
  this.maxZoomScale = maxZoomScale;
119
+ this.contentWidth = contentWidth ?? null;
120
+ this.contentHeight = contentHeight ?? null;
106
121
  }
107
122
  setResetTransformCallback(callback) {
108
123
  this.resetTransformCallback = callback;
@@ -140,10 +155,7 @@ class GestureViewerManager {
140
155
  const {
141
156
  translateX,
142
157
  translateY
143
- } = createBoundsConstraint({
144
- width: this.width,
145
- height: this.height
146
- })({
158
+ } = this.constrainZoomTranslation({
147
159
  translateX: this.translateX.get(),
148
160
  translateY: this.translateY.get(),
149
161
  scale: nextScale
@@ -165,10 +177,7 @@ class GestureViewerManager {
165
177
  const {
166
178
  translateX,
167
179
  translateY
168
- } = createBoundsConstraint({
169
- width: this.width,
170
- height: this.height
171
- })({
180
+ } = this.constrainZoomTranslation({
172
181
  translateX: this.translateX.get(),
173
182
  translateY: this.translateY.get(),
174
183
  scale: nextScale
@@ -191,7 +200,7 @@ class GestureViewerManager {
191
200
  this.cancelPendingLoopTransition();
192
201
  const {
193
202
  scrollTo
194
- } = createScrollAction(this.listRef, this.width);
203
+ } = createScrollAction(this.listRef, this.pagingStride || this.viewportWidth);
195
204
  if (this.enableLoop && this.dataLength > 1) {
196
205
  if (index < 0) {
197
206
  this.loopCallback = () => {
@@ -260,9 +269,14 @@ class GestureViewerManager {
260
269
  this.currentIndex = 0;
261
270
  this.dataLength = 0;
262
271
  this.maxZoomScale = 2;
272
+ this.pagingStride = 0;
273
+ this.viewportWidth = 0;
274
+ this.height = 0;
263
275
  this.scale = null;
264
276
  this.translateX = null;
265
277
  this.translateY = null;
278
+ this.contentWidth = null;
279
+ this.contentHeight = null;
266
280
  this.rotation = null;
267
281
  this.resetTransformCallback = null;
268
282
  this.eventListeners.clear();
@@ -271,6 +285,21 @@ class GestureViewerManager {
271
285
  this.currentIndex = targetIndex;
272
286
  this.notifyListeners();
273
287
  };
288
+ constrainZoomTranslation = ({
289
+ scale,
290
+ translateX,
291
+ translateY
292
+ }) => {
293
+ return clampTranslationToBounds({
294
+ contentHeight: this.contentHeight?.get(),
295
+ contentWidth: this.contentWidth?.get(),
296
+ height: this.height,
297
+ scale,
298
+ translateX,
299
+ translateY,
300
+ width: this.viewportWidth || this.pagingStride
301
+ });
302
+ };
274
303
  }
275
304
  export default GestureViewerManager;
276
305
  //# sourceMappingURL=GestureViewerManager.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["withTiming","createBoundsConstraint","createScrollAction","GestureViewerManager","currentIndex","dataLength","width","height","maxZoomScale","enableHorizontalSwipe","enableLoop","listRef","scale","rotation","translateX","translateY","resetTransformCallback","loopCallback","programmaticScrollVersion","listeners","Set","eventListeners","Map","notifyListeners","state","getState","forEach","listener","subscribe","add","delete","addEventListener","eventType","callback","has","set","get","size","emitEvent","data","emitZoomChange","previousScale","emitRotationChange","previousRotation","emitTap","totalCount","getProgrammaticScrollVersion","setEnableLoop","enabled","setWidth","setHeight","setListRef","ref","setDataLength","length","setEnableHorizontalSwipe","setCurrentIndex","index","setZoomSharedValues","setResetTransformCallback","notifyStateChange","setRotation","rotate","angle","clockwise","MAX_ANGLE","currentRotation","undefined","nextAngle","Math","floor","zoomIn","multiplier","nextScale","min","zoomOut","max","resetZoom","goToIndex","cancelPendingLoopTransition","scrollTo","updateCurrentIndex","handleMomentumScrollEnd","scrollIndex","handleScrollBeginDrag","goToPrevious","goToNext","cleanUp","clear","targetIndex"],"sourceRoot":"../../src","sources":["GestureViewerManager.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["withTiming","clampTranslationToBounds","createScrollAction","GestureViewerManager","currentIndex","dataLength","pagingStride","viewportWidth","height","maxZoomScale","enableHorizontalSwipe","enableLoop","listRef","scale","rotation","translateX","translateY","contentWidth","contentHeight","resetTransformCallback","loopCallback","programmaticScrollVersion","listeners","Set","eventListeners","Map","notifyListeners","state","getState","forEach","listener","subscribe","add","delete","addEventListener","eventType","callback","has","set","get","size","emitEvent","data","emitZoomChange","previousScale","emitRotationChange","previousRotation","emitTap","totalCount","getProgrammaticScrollVersion","setEnableLoop","enabled","setPagingStride","setViewportWidth","width","setHeight","setListRef","ref","setDataLength","length","setEnableHorizontalSwipe","setCurrentIndex","index","setZoomSharedValues","setResetTransformCallback","notifyStateChange","setRotation","rotate","angle","clockwise","MAX_ANGLE","currentRotation","undefined","nextAngle","Math","floor","zoomIn","multiplier","nextScale","min","constrainZoomTranslation","zoomOut","max","resetZoom","goToIndex","cancelPendingLoopTransition","scrollTo","updateCurrentIndex","handleMomentumScrollEnd","scrollIndex","handleScrollBeginDrag","goToPrevious","goToNext","cleanUp","clear","targetIndex"],"sourceRoot":"../../src","sources":["GestureViewerManager.ts"],"mappings":";;AAAA,SAA2BA,UAAU,QAAQ,yBAAyB;AAQtE,SAASC,wBAAwB,EAAEC,kBAAkB,QAAQ,kBAAS;AAWtE,MAAMC,oBAAoB,CAAC;EACjBC,YAAY,GAAG,CAAC;EAChBC,UAAU,GAAG,CAAC;EACdC,YAAY,GAAG,CAAC;EAChBC,aAAa,GAAG,CAAC;EACjBC,MAAM,GAAG,CAAC;EACVC,YAAY,GAAG,CAAC;EAChBC,qBAAqB,GAAG,IAAI;EAC5BC,UAAU,GAAG,KAAK;EAClBC,OAAO,GAAe,IAAI;EAE1BC,KAAK,GAA+B,IAAI;EACxCC,QAAQ,GAA+B,IAAI;EAC3CC,UAAU,GAA+B,IAAI;EAC7CC,UAAU,GAA+B,IAAI;EAC7CC,YAAY,GAA+B,IAAI;EAC/CC,aAAa,GAA+B,IAAI;EAChDC,sBAAsB,GAAwB,IAAI;EAElDC,YAAY,GAAwB,IAAI;EACxCC,yBAAyB,GAAG,CAAC;EAE7BC,SAAS,GAAG,IAAIC,GAAG,CAAsC,CAAC;EAC1DC,cAAc,GAAG,IAAIC,GAAG,CAAmD,CAAC;EAE5EC,eAAeA,CAAA,EAAG;IACxB,MAAMC,KAAK,GAAG,IAAI,CAACC,QAAQ,CAAC,CAAC;IAE7B,IAAI,CAACN,SAAS,CAACO,OAAO,CAAEC,QAAQ,IAAKA,QAAQ,CAACH,KAAK,CAAC,CAAC;EACvD;EAEAI,SAASA,CAACD,QAA6C,EAAE;IACvD,IAAI,CAACR,SAAS,CAACU,GAAG,CAACF,QAAQ,CAAC;IAE5B,OAAO,MAAM;MACX,IAAI,CAACR,SAAS,CAACW,MAAM,CAACH,QAAQ,CAAC;IACjC,CAAC;EACH;EAEAI,gBAAgBA,CACdC,SAAY,EACZC,QAAuC,EACvC;IACA,IAAI,CAAC,IAAI,CAACZ,cAAc,CAACa,GAAG,CAACF,SAAS,CAAC,EAAE;MACvC,IAAI,CAACX,cAAc,CAACc,GAAG,CAACH,SAAS,EAAE,IAAIZ,GAAG,CAAC,CAAC,CAAC;IAC/C;IAEA,IAAI,CAACC,cAAc,CAACe,GAAG,CAACJ,SAAS,CAAC,EAAEH,GAAG,CAACI,QAAQ,CAAC;IAEjD,OAAO,MAAM;MACX,MAAMd,SAAS,GAAG,IAAI,CAACE,cAAc,CAACe,GAAG,CAACJ,SAAS,CAAC;MAEpD,IAAIb,SAAS,EAAE;QACbA,SAAS,CAACW,MAAM,CAACG,QAAQ,CAAC;QAE1B,IAAId,SAAS,CAACkB,IAAI,KAAK,CAAC,EAAE;UACxB,IAAI,CAAChB,cAAc,CAACS,MAAM,CAACE,SAAS,CAAC;QACvC;MACF;IACF,CAAC;EACH;EAEQM,SAASA,CACfN,SAAY,EACZO,IAA+B,EAC/B;IACA,MAAMpB,SAAS,GAAG,IAAI,CAACE,cAAc,CAACe,GAAG,CAACJ,SAAS,CAAC;IAEpD,IAAIb,SAAS,EAAE;MACbA,SAAS,CAACO,OAAO,CAAEO,QAAQ,IAAKA,QAAQ,CAACM,IAAI,CAAC,CAAC;IACjD;EACF;EAEAC,cAAc,GAAGA,CAAC9B,KAAa,EAAE+B,aAA4B,KAAK;IAChE,IAAI,CAACH,SAAS,CAAC,YAAY,EAAE;MAAE5B,KAAK;MAAE+B;IAAc,CAAC,CAAC;EACxD,CAAC;EAEDC,kBAAkB,GAAGA,CAAC/B,QAAgB,EAAEgC,gBAA+B,KAAK;IAC1E,IAAI,CAACL,SAAS,CAAC,gBAAgB,EAAE;MAAE3B,QAAQ;MAAEgC;IAAiB,CAAC,CAAC;EAClE,CAAC;EAEDC,OAAO,GAAIL,IAAmC,IAAK;IACjD,IAAI,CAACD,SAAS,CAAC,KAAK,EAAEC,IAAI,CAAC;EAC7B,CAAC;EAEDd,QAAQA,CAAA,EAAuB;IAC7B,OAAO;MACLxB,YAAY,EAAE,IAAI,CAACA,YAAY;MAC/B4C,UAAU,EAAE,IAAI,CAAC3C;IACnB,CAAC;EACH;EAEA4C,4BAA4BA,CAAA,EAAG;IAC7B,OAAO,IAAI,CAAC5B,yBAAyB;EACvC;EAEA6B,aAAaA,CAACC,OAAgB,EAAE;IAC9B,IAAI,CAACxC,UAAU,GAAGwC,OAAO;EAC3B;EAEAC,eAAeA,CAAC9C,YAAoB,EAAE;IACpC,IAAI,CAACA,YAAY,GAAGA,YAAY;EAClC;EAEA+C,gBAAgBA,CAACC,KAAa,EAAE;IAC9B,IAAI,CAAC/C,aAAa,GAAG+C,KAAK;EAC5B;EAEAC,SAASA,CAAC/C,MAAc,EAAE;IACxB,IAAI,CAACA,MAAM,GAAGA,MAAM;EACtB;EAEAgD,UAAUA,CAACC,GAAQ,EAAE;IACnB,IAAI,CAAC7C,OAAO,GAAG6C,GAAG;EACpB;EAEAC,aAAaA,CAACC,MAAc,EAAE;IAC5B,IAAI,CAACtD,UAAU,GAAGsD,MAAM;EAC1B;EAEAC,wBAAwBA,CAACT,OAAgB,EAAE;IACzC,IAAI,CAACzC,qBAAqB,GAAGyC,OAAO;EACtC;EAEAU,eAAeA,CAACC,KAAa,EAAE;IAC7B,IAAIA,KAAK,KAAK,IAAI,CAAC1D,YAAY,EAAE;MAC/B,IAAI,CAACA,YAAY,GAAG0D,KAAK;IAC3B;EACF;EAEAC,mBAAmBA,CAAC;IAClBlD,KAAK;IACLE,UAAU;IACVC,UAAU;IACVP,YAAY;IACZQ,YAAY;IACZC;EACuB,CAAC,EAAE;IAC1B,IAAI,CAACL,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACE,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACC,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACP,YAAY,GAAGA,YAAY;IAChC,IAAI,CAACQ,YAAY,GAAGA,YAAY,IAAI,IAAI;IACxC,IAAI,CAACC,aAAa,GAAGA,aAAa,IAAI,IAAI;EAC5C;EAEA8C,yBAAyBA,CAAC5B,QAA6B,EAAE;IACvD,IAAI,CAACjB,sBAAsB,GAAGiB,QAAQ;EACxC;EAEA6B,iBAAiBA,CAAA,EAAG;IAClB,IAAI,CAACvC,eAAe,CAAC,CAAC;EACxB;EAEAwC,WAAWA,CAACpD,QAA6B,EAAE;IACzC,IAAI,CAACA,QAAQ,GAAGA,QAAQ;EAC1B;EAEAqD,MAAM,GAAGA,CAACC,KAA+B,GAAG,EAAE,EAAEC,SAAS,GAAG,IAAI,KAAK;IACnE,MAAMC,SAAS,GAAG,GAAG;IAErB,MAAMC,eAAe,GAAG,IAAI,CAACzD,QAAQ,EAAEyB,GAAG,CAAC,CAAC;IAE5C,IACEgC,eAAe,KAAKC,SAAS,IAC7BJ,KAAK,GAAG,CAAC,IACTA,KAAK,GAAGE,SAAS,IAChBF,KAAK,KAAK,CAAC,IAAIG,eAAe,GAAGH,KAAK,KAAK,CAAC,IAAIA,KAAK,KAAK,GAAI,EAC/D;MACA;IACF;IAEA,IAAIA,KAAK,KAAK,CAAC,EAAE;MACf,MAAMK,SAAS,GAAGC,IAAI,CAACC,KAAK,CAACJ,eAAe,GAAGD,SAAS,CAAC,GAAGA,SAAS;MAErE,IAAI,CAACxD,QAAQ,EAAEwB,GAAG,CAACtC,UAAU,CAACqE,SAAS,GAAGI,SAAS,GAAGA,SAAS,GAAGH,SAAS,CAAC,CAAC;MAC7E;IACF;IAEA,IAAIF,KAAK,KAAK,GAAG,EAAE;MACjB,IAAI,CAACtD,QAAQ,EAAEwB,GAAG,CAChBtC,UAAU,CAACqE,SAAS,GAAGE,eAAe,GAAGD,SAAS,GAAGC,eAAe,GAAGD,SAAS,CAClF,CAAC;MACD;IACF;IAEA,MAAMG,SAAS,GAAGJ,SAAS,GAAGE,eAAe,GAAGH,KAAK,GAAGG,eAAe,GAAGH,KAAK;IAE/E,IAAI,CAACtD,QAAQ,EAAEwB,GAAG,CAACtC,UAAU,CAACyE,SAAS,CAAC,CAAC;EAC3C,CAAC;EAEDG,MAAM,GAAGA,CAACC,UAAU,GAAG,IAAI,KAAK;IAC9B,IACE,CAAC,IAAI,CAAChE,KAAK,IACX,CAAC,IAAI,CAACE,UAAU,IAChB,CAAC,IAAI,CAACC,UAAU,IAChB6D,UAAU,GAAG,IAAI,IACjBA,UAAU,GAAG,CAAC,EACd;MACA;IACF;IAEA,MAAMC,SAAS,GAAGJ,IAAI,CAACK,GAAG,CAAC,IAAI,CAAClE,KAAK,CAAC0B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAGsC,UAAU,CAAC,EAAE,IAAI,CAACpE,YAAY,CAAC;IAElF,IAAI,CAACI,KAAK,CAACyB,GAAG,CAACtC,UAAU,CAAC8E,SAAS,CAAC,CAAC;IAErC,MAAM;MAAE/D,UAAU;MAAEC;IAAW,CAAC,GAAG,IAAI,CAACgE,wBAAwB,CAAC;MAC/DjE,UAAU,EAAE,IAAI,CAACA,UAAU,CAACwB,GAAG,CAAC,CAAC;MACjCvB,UAAU,EAAE,IAAI,CAACA,UAAU,CAACuB,GAAG,CAAC,CAAC;MACjC1B,KAAK,EAAEiE;IACT,CAAC,CAAC;IAEF,IAAI,CAAC/D,UAAU,CAACuB,GAAG,CAACtC,UAAU,CAACe,UAAU,CAAC,CAAC;IAC3C,IAAI,CAACC,UAAU,CAACsB,GAAG,CAACtC,UAAU,CAACgB,UAAU,CAAC,CAAC;EAC7C,CAAC;EAEDiE,OAAO,GAAGA,CAACJ,UAAU,GAAG,IAAI,KAAK;IAC/B,IACE,CAAC,IAAI,CAAChE,KAAK,IACX,CAAC,IAAI,CAACE,UAAU,IAChB,CAAC,IAAI,CAACC,UAAU,IAChB6D,UAAU,GAAG,IAAI,IACjBA,UAAU,GAAG,CAAC,EACd;MACA;IACF;IAEA,MAAMC,SAAS,GAAGJ,IAAI,CAACQ,GAAG,CAAC,IAAI,CAACrE,KAAK,CAAC0B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAGsC,UAAU,CAAC,EAAE,CAAC,CAAC;IAElE,IAAI,CAAChE,KAAK,CAACyB,GAAG,CAACtC,UAAU,CAAC8E,SAAS,CAAC,CAAC;IAErC,IAAIA,SAAS,KAAK,CAAC,EAAE;MACnB,IAAI,CAAC/D,UAAU,CAACuB,GAAG,CAACtC,UAAU,CAAC,CAAC,CAAC,CAAC;MAClC,IAAI,CAACgB,UAAU,CAACsB,GAAG,CAACtC,UAAU,CAAC,CAAC,CAAC,CAAC;MAClC;IACF;IAEA,MAAM;MAAEe,UAAU;MAAEC;IAAW,CAAC,GAAG,IAAI,CAACgE,wBAAwB,CAAC;MAC/DjE,UAAU,EAAE,IAAI,CAACA,UAAU,CAACwB,GAAG,CAAC,CAAC;MACjCvB,UAAU,EAAE,IAAI,CAACA,UAAU,CAACuB,GAAG,CAAC,CAAC;MACjC1B,KAAK,EAAEiE;IACT,CAAC,CAAC;IAEF,IAAI,CAAC/D,UAAU,CAACuB,GAAG,CAACtC,UAAU,CAACe,UAAU,CAAC,CAAC;IAC3C,IAAI,CAACC,UAAU,CAACsB,GAAG,CAACtC,UAAU,CAACgB,UAAU,CAAC,CAAC;EAC7C,CAAC;EAEDmE,SAAS,GAAGA,CAACtE,KAAK,GAAG,CAAC,KAAK;IACzB,IACE,CAAC,IAAI,CAACA,KAAK,IACX,CAAC,IAAI,CAACE,UAAU,IAChB,CAAC,IAAI,CAACC,UAAU,IAChBH,KAAK,IAAI,CAAC,IACVA,KAAK,GAAG,IAAI,CAACJ,YAAY,EACzB;MACA;IACF;IAEA,IAAI,CAACI,KAAK,CAACyB,GAAG,CAACtC,UAAU,CAACa,KAAK,CAAC,CAAC;IACjC,IAAI,CAACE,UAAU,CAACuB,GAAG,CAACtC,UAAU,CAAC,CAAC,CAAC,CAAC;IAClC,IAAI,CAACgB,UAAU,CAACsB,GAAG,CAACtC,UAAU,CAAC,CAAC,CAAC,CAAC;EACpC,CAAC;EAEDoF,SAAS,GAAItB,KAAa,IAAK;IAC7B,IAAI,CAAC,IAAI,CAACpD,qBAAqB,IAAI,CAAC,IAAI,CAACE,OAAO,EAAE;MAChD;IACF;IAEA,IAAI,CAACyE,2BAA2B,CAAC,CAAC;IAElC,MAAM;MAAEC;IAAS,CAAC,GAAGpF,kBAAkB,CAAC,IAAI,CAACU,OAAO,EAAE,IAAI,CAACN,YAAY,IAAI,IAAI,CAACC,aAAa,CAAC;IAE9F,IAAI,IAAI,CAACI,UAAU,IAAI,IAAI,CAACN,UAAU,GAAG,CAAC,EAAE;MAC1C,IAAIyD,KAAK,GAAG,CAAC,EAAE;QACb,IAAI,CAAC1C,YAAY,GAAG,MAAM;UACxBkE,QAAQ,CAAC,IAAI,CAACjF,UAAU,EAAE,KAAK,CAAC;UAChC,IAAI,CAACkF,kBAAkB,CAAC,IAAI,CAAClF,UAAU,GAAG,CAAC,CAAC;UAC5C,IAAI,CAACgF,2BAA2B,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,CAAClE,sBAAsB,GAAG,CAAC;QAC/B,IAAI,CAACE,yBAAyB,IAAI,CAAC;QACnCiE,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC;QACjB;MACF;MAEA,IAAIxB,KAAK,IAAI,IAAI,CAACzD,UAAU,EAAE;QAC5B,IAAI,CAACe,YAAY,GAAG,MAAM;UACxBkE,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC;UAClB,IAAI,CAACC,kBAAkB,CAAC,CAAC,CAAC;UAC1B,IAAI,CAACF,2BAA2B,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,CAAClE,sBAAsB,GAAG,CAAC;QAC/B,IAAI,CAACE,yBAAyB,IAAI,CAAC;QACnCiE,QAAQ,CAAC,IAAI,CAACjF,UAAU,GAAG,CAAC,EAAE,IAAI,CAAC;QACnC;MACF;MAEA,IAAI,CAACc,sBAAsB,GAAG,CAAC;MAC/B,IAAI,CAACE,yBAAyB,IAAI,CAAC;MACnCiE,QAAQ,CAACxB,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC;MACzB,IAAI,CAACyB,kBAAkB,CAACzB,KAAK,CAAC;MAE9B;IACF;IAEA,IAAIA,KAAK,GAAG,CAAC,IAAIA,KAAK,IAAI,IAAI,CAACzD,UAAU,EAAE;MACzC;IACF;IAEA,IAAI,CAACc,sBAAsB,GAAG,CAAC;IAC/B,IAAI,CAACE,yBAAyB,IAAI,CAAC;IACnCiE,QAAQ,CAACxB,KAAK,EAAE,IAAI,CAAC;IACrB,IAAI,CAACyB,kBAAkB,CAACzB,KAAK,CAAC;EAChC,CAAC;EAED0B,uBAAuB,GAAIC,WAAmB,IAAK;IACjD,IAAI,CAAC,IAAI,CAACrE,YAAY,EAAE;MACtB,OAAO,KAAK;IACd;IAEA,IAAIqE,WAAW,KAAK,CAAC,IAAIA,WAAW,KAAK,IAAI,CAACpF,UAAU,GAAG,CAAC,EAAE;MAC5D,IAAI,CAACe,YAAY,CAAC,CAAC;MACnB,OAAO,IAAI;IACb;IAEA,IAAI,CAACiE,2BAA2B,CAAC,CAAC;IAClC,OAAO,IAAI;EACb,CAAC;EAEDA,2BAA2B,GAAGA,CAAA,KAAM;IAClC,IAAI,CAACjE,YAAY,GAAG,IAAI;EAC1B,CAAC;EAEDsE,qBAAqB,GAAGA,CAAA,KAAM;IAC5B,IAAI,CAACL,2BAA2B,CAAC,CAAC;EACpC,CAAC;EAEDM,YAAY,GAAGA,CAAA,KAAM;IACnB,IAAI,CAACP,SAAS,CAAC,IAAI,CAAChF,YAAY,GAAG,CAAC,CAAC;EACvC,CAAC;EAEDwF,QAAQ,GAAGA,CAAA,KAAM;IACf,IAAI,CAACR,SAAS,CAAC,IAAI,CAAChF,YAAY,GAAG,CAAC,CAAC;EACvC,CAAC;EAEDyF,OAAOA,CAAA,EAAG;IACR,IAAI,CAACR,2BAA2B,CAAC,CAAC;IAClC,IAAI,CAAC/D,SAAS,CAACwE,KAAK,CAAC,CAAC;IACtB,IAAI,CAAClF,OAAO,GAAG,IAAI;IACnB,IAAI,CAACF,qBAAqB,GAAG,IAAI;IACjC,IAAI,CAACN,YAAY,GAAG,CAAC;IACrB,IAAI,CAACC,UAAU,GAAG,CAAC;IACnB,IAAI,CAACI,YAAY,GAAG,CAAC;IACrB,IAAI,CAACH,YAAY,GAAG,CAAC;IACrB,IAAI,CAACC,aAAa,GAAG,CAAC;IACtB,IAAI,CAACC,MAAM,GAAG,CAAC;IACf,IAAI,CAACK,KAAK,GAAG,IAAI;IACjB,IAAI,CAACE,UAAU,GAAG,IAAI;IACtB,IAAI,CAACC,UAAU,GAAG,IAAI;IACtB,IAAI,CAACC,YAAY,GAAG,IAAI;IACxB,IAAI,CAACC,aAAa,GAAG,IAAI;IACzB,IAAI,CAACJ,QAAQ,GAAG,IAAI;IACpB,IAAI,CAACK,sBAAsB,GAAG,IAAI;IAClC,IAAI,CAACK,cAAc,CAACsE,KAAK,CAAC,CAAC;EAC7B;EAEQP,kBAAkB,GAAIQ,WAAmB,IAAK;IACpD,IAAI,CAAC3F,YAAY,GAAG2F,WAAW;IAC/B,IAAI,CAACrE,eAAe,CAAC,CAAC;EACxB,CAAC;EAEOsD,wBAAwB,GAAGA,CAAC;IAClCnE,KAAK;IACLE,UAAU;IACVC;EAKF,CAAC,KAAK;IACJ,OAAOf,wBAAwB,CAAC;MAC9BiB,aAAa,EAAE,IAAI,CAACA,aAAa,EAAEqB,GAAG,CAAC,CAAC;MACxCtB,YAAY,EAAE,IAAI,CAACA,YAAY,EAAEsB,GAAG,CAAC,CAAC;MACtC/B,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBK,KAAK;MACLE,UAAU;MACVC,UAAU;MACVsC,KAAK,EAAE,IAAI,CAAC/C,aAAa,IAAI,IAAI,CAACD;IACpC,CAAC,CAAC;EACJ,CAAC;AACH;AAEA,eAAeH,oBAAoB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["GestureTrigger","GestureViewer","useGestureViewerController","useGestureViewerEvent","useGestureViewerState"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AACA,SAASA,cAAc,QAAQ,qBAAkB;AACjD,SAASC,aAAa,QAAQ,oBAAiB;AAW/C,SAASC,0BAA0B,QAAQ,iCAA8B;AACzE,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SAASC,qBAAqB,QAAQ,4BAAyB","ignoreList":[]}
1
+ {"version":3,"names":["GestureTrigger","GestureViewer","useGestureViewerController","useGestureViewerEvent","useGestureViewerState"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AACA,SAASA,cAAc,QAAQ,qBAAkB;AACjD,SAASC,aAAa,QAAQ,oBAAiB;AAe/C,SAASC,0BAA0B,QAAQ,iCAA8B;AACzE,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SAASC,qBAAqB,QAAQ,4BAAyB","ignoreList":[]}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+
3
+ export const isValidItemDimensions = dimensions => {
4
+ return dimensions !== null && dimensions !== undefined && Number.isFinite(dimensions.width) && Number.isFinite(dimensions.height) && dimensions.width > 0 && dimensions.height > 0;
5
+ };
6
+ const resolveItemKey = (getItemKey, item, index) => {
7
+ const itemKey = getItemKey?.(item, index);
8
+ if (typeof itemKey === 'string') {
9
+ return itemKey;
10
+ }
11
+ return typeof itemKey === 'number' && Number.isFinite(itemKey) ? itemKey : undefined;
12
+ };
13
+ const doesEntryMatchItem = (entry, item, itemKey) => {
14
+ if (itemKey !== undefined && entry.itemKey !== undefined) {
15
+ return entry.itemKey === itemKey;
16
+ }
17
+ return Object.is(entry.item, item);
18
+ };
19
+ export const pruneItemDimensionsRegistry = (registry, dataLength) => {
20
+ for (const index of registry.keys()) {
21
+ if (index < 0 || index >= dataLength) {
22
+ registry.delete(index);
23
+ }
24
+ }
25
+ };
26
+ export const resolveItemDimensions = ({
27
+ registry,
28
+ data,
29
+ index,
30
+ getItemDimensions,
31
+ getItemKey
32
+ }) => {
33
+ if (index < 0 || index >= data.length) {
34
+ return undefined;
35
+ }
36
+
37
+ // `as ItemT` restores the viewer's dense-list invariant, which TypeScript cannot infer from
38
+ // generic indexed access when `noUncheckedIndexedAccess` is enabled.
39
+ const item = data[index];
40
+ const registered = registry.get(index);
41
+ const itemKey = registered ? resolveItemKey(getItemKey, item, index) : undefined;
42
+ if (registered && doesEntryMatchItem(registered, item, itemKey) && isValidItemDimensions(registered.dimensions)) {
43
+ return registered.dimensions;
44
+ }
45
+ const resolved = getItemDimensions?.(item, index);
46
+ if (isValidItemDimensions(resolved)) {
47
+ return resolved;
48
+ }
49
+ return undefined;
50
+ };
51
+ export const registerItemDimensions = ({
52
+ registry,
53
+ data,
54
+ index,
55
+ item,
56
+ dimensions,
57
+ getItemKey
58
+ }) => {
59
+ if (index < 0 || index >= data.length || !isValidItemDimensions(dimensions)) {
60
+ return false;
61
+ }
62
+
63
+ // `as ItemT` restores the viewer's dense-list invariant, which TypeScript cannot infer from
64
+ // generic indexed access when `noUncheckedIndexedAccess` is enabled.
65
+ const currentItem = data[index];
66
+ const currentItemKey = resolveItemKey(getItemKey, currentItem, index);
67
+ const reportedItemKey = Object.is(currentItem, item) ? currentItemKey : resolveItemKey(getItemKey, item, index);
68
+ const hasMatchingKey = currentItemKey !== undefined && reportedItemKey !== undefined && currentItemKey === reportedItemKey;
69
+ if (!Object.is(currentItem, item) && !hasMatchingKey) {
70
+ return false;
71
+ }
72
+ const registered = registry.get(index);
73
+ if (registered && doesEntryMatchItem(registered, currentItem, currentItemKey) && registered.dimensions.width === dimensions.width && registered.dimensions.height === dimensions.height) {
74
+ return false;
75
+ }
76
+ registry.set(index, {
77
+ item: currentItem,
78
+ itemKey: currentItemKey,
79
+ dimensions: {
80
+ height: dimensions.height,
81
+ width: dimensions.width
82
+ }
83
+ });
84
+ return true;
85
+ };
86
+ //# sourceMappingURL=itemDimensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isValidItemDimensions","dimensions","undefined","Number","isFinite","width","height","resolveItemKey","getItemKey","item","index","itemKey","doesEntryMatchItem","entry","Object","is","pruneItemDimensionsRegistry","registry","dataLength","keys","delete","resolveItemDimensions","data","getItemDimensions","length","registered","get","resolved","registerItemDimensions","currentItem","currentItemKey","reportedItemKey","hasMatchingKey","set"],"sourceRoot":"../../src","sources":["itemDimensions.ts"],"mappings":"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","ignoreList":[]}