@react-native-aria/overlays 0.3.10 → 0.3.11-alpha.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 (97) hide show
  1. package/lib/commonjs/Portal.js +17 -37
  2. package/lib/commonjs/Portal.js.map +1 -1
  3. package/lib/commonjs/index.js +0 -10
  4. package/lib/commonjs/index.js.map +1 -1
  5. package/lib/commonjs/index.web.js +0 -10
  6. package/lib/commonjs/index.web.js.map +1 -1
  7. package/lib/commonjs/useOverlay.js +0 -1
  8. package/lib/commonjs/useOverlay.js.map +1 -1
  9. package/lib/commonjs/useOverlay.web.js +9 -11
  10. package/lib/commonjs/useOverlay.web.js.map +1 -1
  11. package/lib/commonjs/useOverlayPosition.js +54 -69
  12. package/lib/commonjs/useOverlayPosition.js.map +1 -1
  13. package/lib/commonjs/useOverlayPosition.web.js +0 -1
  14. package/lib/commonjs/useOverlayPosition.web.js.map +1 -1
  15. package/lib/commonjs/useOverlayTrigger.js +0 -1
  16. package/lib/commonjs/useOverlayTrigger.js.map +1 -1
  17. package/lib/commonjs/useOverlayTrigger.web.js +0 -1
  18. package/lib/commonjs/useOverlayTrigger.web.js.map +1 -1
  19. package/lib/commonjs/usePreventScroll.js +0 -2
  20. package/lib/commonjs/usePreventScroll.js.map +1 -1
  21. package/lib/commonjs/usePreventScroll.web.js +0 -1
  22. package/lib/commonjs/usePreventScroll.web.js.map +1 -1
  23. package/lib/commonjs/utils.js +8 -8
  24. package/lib/commonjs/utils.js.map +1 -1
  25. package/lib/commonjs/web/overlays/index.js +0 -2
  26. package/lib/commonjs/web/overlays/index.js.map +1 -1
  27. package/lib/commonjs/web/overlays/src/calculatePosition.js +35 -68
  28. package/lib/commonjs/web/overlays/src/calculatePosition.js.map +1 -1
  29. package/lib/commonjs/web/overlays/src/index.js +0 -2
  30. package/lib/commonjs/web/overlays/src/index.js.map +1 -1
  31. package/lib/commonjs/web/overlays/src/useCloseOnScroll.js +3 -12
  32. package/lib/commonjs/web/overlays/src/useCloseOnScroll.js.map +1 -1
  33. package/lib/commonjs/web/overlays/src/useOverlayPosition.js +19 -23
  34. package/lib/commonjs/web/overlays/src/useOverlayPosition.js.map +1 -1
  35. package/lib/module/Portal.js +13 -20
  36. package/lib/module/Portal.js.map +1 -1
  37. package/lib/module/index.js.map +1 -1
  38. package/lib/module/index.web.js.map +1 -1
  39. package/lib/module/useOverlay.js.map +1 -1
  40. package/lib/module/useOverlay.web.js +9 -8
  41. package/lib/module/useOverlay.web.js.map +1 -1
  42. package/lib/module/useOverlayPosition.js +55 -60
  43. package/lib/module/useOverlayPosition.js.map +1 -1
  44. package/lib/module/useOverlayPosition.web.js.map +1 -1
  45. package/lib/module/useOverlayTrigger.js.map +1 -1
  46. package/lib/module/useOverlayTrigger.web.js.map +1 -1
  47. package/lib/module/usePreventScroll.js.map +1 -1
  48. package/lib/module/usePreventScroll.web.js.map +1 -1
  49. package/lib/module/utils.js +8 -4
  50. package/lib/module/utils.js.map +1 -1
  51. package/lib/module/web/overlays/index.js +1 -0
  52. package/lib/module/web/overlays/index.js.map +1 -1
  53. package/lib/module/web/overlays/src/calculatePosition.js +34 -57
  54. package/lib/module/web/overlays/src/calculatePosition.js.map +1 -1
  55. package/lib/module/web/overlays/src/index.js +1 -0
  56. package/lib/module/web/overlays/src/index.js.map +1 -1
  57. package/lib/module/web/overlays/src/useCloseOnScroll.js +4 -9
  58. package/lib/module/web/overlays/src/useCloseOnScroll.js.map +1 -1
  59. package/lib/module/web/overlays/src/useOverlayPosition.js +19 -18
  60. package/lib/module/web/overlays/src/useOverlayPosition.js.map +1 -1
  61. package/lib/typescript/Portal.d.ts +4 -2
  62. package/lib/typescript/Portal.d.ts.map +1 -0
  63. package/lib/typescript/index.d.ts +1 -0
  64. package/lib/typescript/index.d.ts.map +1 -0
  65. package/lib/typescript/index.web.d.ts +1 -0
  66. package/lib/typescript/index.web.d.ts.map +1 -0
  67. package/lib/typescript/useOverlay.d.ts +1 -0
  68. package/lib/typescript/useOverlay.d.ts.map +1 -0
  69. package/lib/typescript/useOverlay.web.d.ts +1 -0
  70. package/lib/typescript/useOverlay.web.d.ts.map +1 -0
  71. package/lib/typescript/useOverlayPosition.d.ts +1 -0
  72. package/lib/typescript/useOverlayPosition.d.ts.map +1 -0
  73. package/lib/typescript/useOverlayPosition.web.d.ts +1 -0
  74. package/lib/typescript/useOverlayPosition.web.d.ts.map +1 -0
  75. package/lib/typescript/useOverlayTrigger.d.ts +1 -0
  76. package/lib/typescript/useOverlayTrigger.d.ts.map +1 -0
  77. package/lib/typescript/useOverlayTrigger.web.d.ts +1 -0
  78. package/lib/typescript/useOverlayTrigger.web.d.ts.map +1 -0
  79. package/lib/typescript/usePreventScroll.d.ts +1 -0
  80. package/lib/typescript/usePreventScroll.d.ts.map +1 -0
  81. package/lib/typescript/usePreventScroll.web.d.ts +1 -0
  82. package/lib/typescript/usePreventScroll.web.d.ts.map +1 -0
  83. package/lib/typescript/utils.d.ts +1 -0
  84. package/lib/typescript/utils.d.ts.map +1 -0
  85. package/lib/typescript/web/overlays/index.d.ts +1 -0
  86. package/lib/typescript/web/overlays/index.d.ts.map +1 -0
  87. package/lib/typescript/web/overlays/src/calculatePosition.d.ts +1 -0
  88. package/lib/typescript/web/overlays/src/calculatePosition.d.ts.map +1 -0
  89. package/lib/typescript/web/overlays/src/index.d.ts +1 -0
  90. package/lib/typescript/web/overlays/src/index.d.ts.map +1 -0
  91. package/lib/typescript/web/overlays/src/useCloseOnScroll.d.ts +1 -0
  92. package/lib/typescript/web/overlays/src/useCloseOnScroll.d.ts.map +1 -0
  93. package/lib/typescript/web/overlays/src/useOverlayPosition.d.ts +1 -0
  94. package/lib/typescript/web/overlays/src/useOverlayPosition.d.ts.map +1 -0
  95. package/package.json +2 -1
  96. package/src/useOverlayPosition.ts +37 -17
  97. package/src/utils.ts +1 -0
@@ -4,18 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.useOverlayPosition = useOverlayPosition;
7
-
8
7
  var _react = _interopRequireDefault(require("react"));
9
-
10
8
  var _reactNative = require("react-native");
11
-
12
9
  var _utils = require("@react-native-aria/utils");
13
-
14
10
  var _utils2 = require("./utils");
15
-
16
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
12
  //@ts-ignore
13
+
19
14
  const measureOffset = ref => new Promise(resolve => {
20
15
  if (ref.current) {
21
16
  ref.current.measureInWindow((x, y, width, height) => {
@@ -28,10 +23,25 @@ const measureOffset = ref => new Promise(resolve => {
28
23
  });
29
24
  }
30
25
  });
31
-
26
+ const getArrowPropsWithStatusBarHeight = ({
27
+ top,
28
+ left
29
+ }) => {
30
+ let topWithStatusBarHeight = top;
31
+ if (typeof top !== 'undefined' && typeof _utils2.APPROX_STATUSBAR_HEIGHT !== 'undefined') {
32
+ topWithStatusBarHeight = top + _utils2.APPROX_STATUSBAR_HEIGHT;
33
+ } else {
34
+ topWithStatusBarHeight = undefined;
35
+ }
36
+ return {
37
+ style: {
38
+ left: left,
39
+ top: topWithStatusBarHeight
40
+ }
41
+ };
42
+ };
32
43
  function useOverlayPosition(props) {
33
44
  var _position$position, _position$position2;
34
-
35
45
  let {
36
46
  targetRef,
37
47
  overlayRef,
@@ -42,31 +52,28 @@ function useOverlayPosition(props) {
42
52
  shouldFlip = true,
43
53
  shouldOverlapWithTrigger = false
44
54
  } = props;
45
-
46
55
  let [position, setPosition] = _react.default.useState({
47
56
  position: {},
48
57
  arrowOffsetLeft: undefined,
49
58
  arrowOffsetTop: undefined,
50
59
  maxHeight: undefined,
51
60
  placement: undefined
52
- }); // Layout measurement happens asynchronously in RN. This causes initial flickr. Using opacity and setting it to 1 post calculation prevents that.
53
-
61
+ });
54
62
 
63
+ // Layout measurement happens asynchronously in RN. This causes initial flickr. Using opacity and setting it to 1 post calculation prevents that.
55
64
  let [rendered, setRendered] = _react.default.useState(false);
56
-
57
65
  let updatePosition = async () => {
58
- const [overlayOffset, triggerOffset] = await Promise.all([measureOffset(overlayRef), measureOffset(targetRef)]); // Sometimes measure returns height/width 0. Best solution would be to use onLayout callback, but that might diverege from React Aria's useOverlayPosition API. Decide later, this works for now
66
+ const [overlayOffset, triggerOffset] = await Promise.all([measureOffset(overlayRef), measureOffset(targetRef)]);
59
67
 
68
+ // Sometimes measure returns height/width 0. Best solution would be to use onLayout callback, but that might diverege from React Aria's useOverlayPosition API. Decide later, this works for now
60
69
  if (!overlayOffset.width || !overlayOffset.height || !triggerOffset.width || !triggerOffset.height) {
61
70
  requestAnimationFrame(updatePosition);
62
71
  return;
63
72
  }
64
-
65
73
  const {
66
74
  height: windowHeight,
67
75
  width: windowWidth
68
76
  } = _reactNative.Dimensions.get('window');
69
-
70
77
  const positions = calculatePosition({
71
78
  placement: translateRTL(placement),
72
79
  targetNode: triggerOffset,
@@ -87,57 +94,47 @@ function useOverlayPosition(props) {
87
94
  setPosition(positions);
88
95
  setRendered(true);
89
96
  };
90
-
91
97
  _react.default.useEffect(() => {
92
98
  return () => {
93
99
  setRendered(false);
94
100
  };
95
101
  }, []);
96
-
97
102
  _react.default.useLayoutEffect(() => {
98
103
  updatePosition();
104
+ // eslint-disable-next-line react-hooks/exhaustive-deps
99
105
  }, [placement, isOpen, offset, shouldFlip, crossOffset, shouldOverlapWithTrigger]);
100
-
101
- const style = { ...position.position
106
+ const style = {
107
+ ...position.position
102
108
  };
103
-
104
- if (position !== null && position !== void 0 && (_position$position = position.position) !== null && _position$position !== void 0 && _position$position.top || (position === null || position === void 0 ? void 0 : (_position$position2 = position.position) === null || _position$position2 === void 0 ? void 0 : _position$position2.top) === 0) {
109
+ if (position !== null && position !== void 0 && (_position$position = position.position) !== null && _position$position !== void 0 && _position$position.top || (position === null || position === void 0 || (_position$position2 = position.position) === null || _position$position2 === void 0 ? void 0 : _position$position2.top) === 0) {
105
110
  var _position$position3;
106
-
107
- style.top = ((position === null || position === void 0 ? void 0 : (_position$position3 = position.position) === null || _position$position3 === void 0 ? void 0 : _position$position3.top) || 0) + (_utils2.APPROX_STATUSBAR_HEIGHT || 0);
111
+ style.top = ((position === null || position === void 0 || (_position$position3 = position.position) === null || _position$position3 === void 0 ? void 0 : _position$position3.top) || 0) + (_utils2.APPROX_STATUSBAR_HEIGHT || 0);
108
112
  }
109
-
113
+ const arrowPropsWithStatusBarHeight = getArrowPropsWithStatusBarHeight({
114
+ left: position === null || position === void 0 ? void 0 : position.arrowOffsetLeft,
115
+ top: position === null || position === void 0 ? void 0 : position.arrowOffsetTop
116
+ });
110
117
  const returnProps = {
111
118
  rendered,
112
119
  overlayProps: {
113
120
  style
114
121
  },
115
122
  placement: position.placement,
116
- arrowProps: {
117
- style: {
118
- left: position.arrowOffsetLeft,
119
- top: ((position === null || position === void 0 ? void 0 : position.arrowOffsetTop) || 0) + (_utils2.APPROX_STATUSBAR_HEIGHT || 0)
120
- }
121
- },
123
+ arrowProps: arrowPropsWithStatusBarHeight,
122
124
  updatePosition
123
125
  };
124
-
125
126
  if (position.maxHeight !== undefined) {
126
127
  //@ts-ignore
127
128
  returnProps.overlayProps.style.maxHeight = position.maxHeight;
128
129
  }
129
-
130
130
  return returnProps;
131
131
  }
132
-
133
132
  function translateRTL(position) {
134
133
  if ((0, _utils.isRTL)()) {
135
134
  return position.replace('start', 'right').replace('end', 'left');
136
135
  }
137
-
138
136
  return position.replace('start', 'left').replace('end', 'right');
139
137
  }
140
-
141
138
  const calculatePosition = opts => {
142
139
  let {
143
140
  placement,
@@ -165,7 +162,6 @@ const calculatePosition = opts => {
165
162
  let containerOffsetWithBoundary = overlayNode;
166
163
  return calculatePositionInternal(placement, childOffset, overlaySize, scrollSize, margins, padding, shouldFlip, boundaryDimensions, containerOffsetWithBoundary, offset, crossOffset, isContainerPositioned, shouldOverlapWithTrigger);
167
164
  };
168
-
169
165
  function calculatePositionInternal(placementInput, childOffset, overlaySize, scrollSize, margins, padding, flip, boundaryDimensions, containerOffsetWithBoundary, offset, crossOffset, isContainerPositioned, shouldOverlapWithTrigger) {
170
166
  let placementInfo = parsePlacement(placementInput);
171
167
  let {
@@ -178,19 +174,18 @@ function calculatePositionInternal(placementInput, childOffset, overlaySize, scr
178
174
  let position = computePosition(childOffset, boundaryDimensions, overlaySize, placementInfo, offset, crossOffset, containerOffsetWithBoundary, isContainerPositioned);
179
175
  let normalizedOffset = offset;
180
176
  let space = getAvailableSpace(boundaryDimensions, containerOffsetWithBoundary, childOffset, margins, padding + offset, placementInfo);
181
-
182
177
  if (flip && scrollSize[size] > space) {
183
178
  let flippedPlacementInfo = parsePlacement(`${FLIPPED_DIRECTION[placement]} ${crossPlacement}`);
184
179
  let flippedPosition = computePosition(childOffset, boundaryDimensions, overlaySize, flippedPlacementInfo, offset, crossOffset, containerOffsetWithBoundary, isContainerPositioned);
185
- let flippedSpace = getAvailableSpace(boundaryDimensions, containerOffsetWithBoundary, childOffset, margins, padding + offset, flippedPlacementInfo); // If the available space for the flipped position is greater than the original available space, flip.
180
+ let flippedSpace = getAvailableSpace(boundaryDimensions, containerOffsetWithBoundary, childOffset, margins, padding + offset, flippedPlacementInfo);
186
181
 
182
+ // If the available space for the flipped position is greater than the original available space, flip.
187
183
  if (flippedSpace > space) {
188
184
  placementInfo = flippedPlacementInfo;
189
185
  position = flippedPosition;
190
186
  normalizedOffset = offset;
191
187
  }
192
188
  }
193
-
194
189
  let delta = getDelta(crossAxis, position[crossAxis], overlaySize[crossSize], boundaryDimensions, padding);
195
190
  position[crossAxis] += delta;
196
191
  let maxHeight = getMaxHeight(position, boundaryDimensions, containerOffsetWithBoundary, childOffset, margins, padding);
@@ -200,11 +195,9 @@ function calculatePositionInternal(placementInput, childOffset, overlaySize, scr
200
195
  position[crossAxis] += delta;
201
196
  let arrowPosition = {};
202
197
  arrowPosition[crossAxis] = childOffset[crossAxis] - position[crossAxis] + childOffset[crossSize] / 2;
203
-
204
198
  if (shouldOverlapWithTrigger) {
205
199
  position[FLIPPED_DIRECTION[placementInfo.placement]] = position[FLIPPED_DIRECTION[placementInfo.placement]] - childOffset[size];
206
200
  }
207
-
208
201
  return {
209
202
  position,
210
203
  maxHeight,
@@ -213,15 +206,13 @@ function calculatePositionInternal(placementInput, childOffset, overlaySize, scr
213
206
  placement: placementInfo.placement
214
207
  };
215
208
  }
216
-
217
209
  function getDelta(axis, offset, size, containerDimensions, padding) {
218
210
  //@ts-ignore
219
- let containerScroll = containerDimensions[axis]; //@ts-ignore
220
-
211
+ let containerScroll = containerDimensions[axis];
212
+ //@ts-ignore
221
213
  let containerHeight = containerDimensions[AXIS_SIZE[axis]];
222
214
  let startEdgeOffset = offset - padding - containerScroll;
223
215
  let endEdgeOffset = offset + padding - containerScroll + size;
224
-
225
216
  if (startEdgeOffset < 0) {
226
217
  return -startEdgeOffset;
227
218
  } else if (endEdgeOffset > containerHeight) {
@@ -230,17 +221,19 @@ function getDelta(axis, offset, size, containerDimensions, padding) {
230
221
  return 0;
231
222
  }
232
223
  }
233
-
234
224
  function getMaxHeight(position, boundaryDimensions, _containerOffsetWithBoundary, childOffset, _margins, _padding) {
235
- return position.top != null ? // We want the distance between the top of the overlay to the bottom of the boundary
236
- Math.max(0, boundaryDimensions.height - // this is the bottom of the boundary
225
+ return position.top != null ?
226
+ // We want the distance between the top of the overlay to the bottom of the boundary
227
+ Math.max(0, boundaryDimensions.height -
228
+ // this is the bottom of the boundary
237
229
  position.top // this is the top of the overlay
238
- ) : // We want the distance between the top of the trigger to the top of the boundary
239
- Math.max(0, childOffset.top - // this is the top of the trigger
230
+ ) :
231
+ // We want the distance between the top of the trigger to the top of the boundary
232
+ Math.max(0, childOffset.top -
233
+ // this is the top of the trigger
240
234
  0 // this is the top of the boundary
241
235
  );
242
236
  }
243
-
244
237
  function computePosition(childOffset, boundaryDimensions, overlaySize, placementInfo, offset, crossOffset, _containerOffsetWithBoundary, _isContainerPositioned) {
245
238
  let {
246
239
  placement,
@@ -250,24 +243,25 @@ function computePosition(childOffset, boundaryDimensions, overlaySize, placement
250
243
  size,
251
244
  crossSize
252
245
  } = placementInfo;
253
- let position = {}; //@ts-ignore
254
-
246
+ let position = {};
247
+ //@ts-ignore
255
248
  position[crossAxis] = childOffset[crossAxis];
256
-
257
249
  if (crossPlacement === 'center') {
258
250
  position[crossAxis] += (childOffset[crossSize] - overlaySize[crossSize]) / 2;
259
251
  } else if (crossPlacement !== crossAxis) {
260
252
  position[crossAxis] += childOffset[crossSize] - overlaySize[crossSize];
261
253
  }
254
+ position[crossAxis] += crossOffset;
262
255
 
263
- position[crossAxis] += crossOffset; // this is button center position - the overlay size + half of the button to align bottom of overlay with button center
264
-
265
- let minViablePosition = childOffset[crossAxis] + childOffset[crossSize] / 2 - overlaySize[crossSize]; // this is button position of center, aligns top of overlay with button center
256
+ // this is button center position - the overlay size + half of the button to align bottom of overlay with button center
257
+ let minViablePosition = childOffset[crossAxis] + childOffset[crossSize] / 2 - overlaySize[crossSize];
258
+ // this is button position of center, aligns top of overlay with button center
259
+ let maxViablePosition = childOffset[crossAxis] + childOffset[crossSize] / 2;
266
260
 
267
- let maxViablePosition = childOffset[crossAxis] + childOffset[crossSize] / 2; // clamp it into the range of the min/max positions
268
-
269
- position[crossAxis] = Math.min(Math.max(minViablePosition, position[crossAxis]), maxViablePosition); // Floor these so the position isn't placed on a partial pixel, only whole pixels. Shouldn't matter if it was floored or ceiled, so chose one.
261
+ // clamp it into the range of the min/max positions
262
+ position[crossAxis] = Math.min(Math.max(minViablePosition, position[crossAxis]), maxViablePosition);
270
263
 
264
+ // Floor these so the position isn't placed on a partial pixel, only whole pixels. Shouldn't matter if it was floored or ceiled, so chose one.
271
265
  if (placement === axis) {
272
266
  // If the container is positioned (non-static), then we use the container's actual
273
267
  // height, as `bottom` will be relative to this height. But if the container is static,
@@ -278,24 +272,19 @@ function computePosition(childOffset, boundaryDimensions, overlaySize, placement
278
272
  } else {
279
273
  position[axis] = Math.floor(childOffset[axis] + childOffset[size] + offset);
280
274
  }
281
-
282
275
  return position;
283
276
  }
284
-
285
277
  function getAvailableSpace(boundaryDimensions, _containerOffsetWithBoundary, childOffset, _margins, padding, placementInfo) {
286
278
  let {
287
279
  placement,
288
280
  axis,
289
281
  size
290
282
  } = placementInfo;
291
-
292
283
  if (placement === axis) {
293
284
  return Math.max(0, childOffset[axis] - padding);
294
285
  }
295
-
296
286
  return Math.max(0, boundaryDimensions[size] - childOffset[axis] - childOffset[size] - padding);
297
287
  }
298
-
299
288
  const AXIS = {
300
289
  top: 'top',
301
290
  bottom: 'top',
@@ -317,20 +306,16 @@ const AXIS_SIZE = {
317
306
  left: 'width'
318
307
  };
319
308
  const PARSED_PLACEMENT_CACHE = {};
320
-
321
309
  function parsePlacement(input) {
322
310
  if (PARSED_PLACEMENT_CACHE[input]) {
323
311
  return PARSED_PLACEMENT_CACHE[input];
324
312
  }
325
-
326
313
  let [placement, crossPlacement] = input.split(' ');
327
314
  let axis = AXIS[placement] || 'right';
328
315
  let crossAxis = CROSS_AXIS[axis];
329
-
330
316
  if (!AXIS[crossPlacement]) {
331
317
  crossPlacement = 'center';
332
318
  }
333
-
334
319
  let size = AXIS_SIZE[axis];
335
320
  let crossSize = AXIS_SIZE[crossAxis];
336
321
  PARSED_PLACEMENT_CACHE[input] = {
@@ -1 +1 @@
1
- {"version":3,"sources":["useOverlayPosition.ts"],"names":["measureOffset","ref","Promise","resolve","current","measureInWindow","x","y","width","height","top","left","useOverlayPosition","props","targetRef","overlayRef","placement","offset","crossOffset","isOpen","shouldFlip","shouldOverlapWithTrigger","position","setPosition","React","useState","arrowOffsetLeft","undefined","arrowOffsetTop","maxHeight","rendered","setRendered","updatePosition","overlayOffset","triggerOffset","all","requestAnimationFrame","windowHeight","windowWidth","Dimensions","get","positions","calculatePosition","translateRTL","targetNode","overlayNode","scrollNode","padding","boundaryElement","useEffect","useLayoutEffect","style","APPROX_STATUSBAR_HEIGHT","returnProps","overlayProps","arrowProps","replace","opts","childOffset","isContainerPositioned","overlaySize","margins","bottom","right","scrollSize","boundaryDimensions","containerOffsetWithBoundary","calculatePositionInternal","placementInput","flip","placementInfo","parsePlacement","size","crossAxis","crossSize","crossPlacement","computePosition","normalizedOffset","space","getAvailableSpace","flippedPlacementInfo","FLIPPED_DIRECTION","flippedPosition","flippedSpace","delta","getDelta","getMaxHeight","Math","min","arrowPosition","axis","containerDimensions","containerScroll","containerHeight","AXIS_SIZE","startEdgeOffset","endEdgeOffset","max","_containerOffsetWithBoundary","_margins","_padding","_isContainerPositioned","minViablePosition","maxViablePosition","floor","AXIS","CROSS_AXIS","PARSED_PLACEMENT_CACHE","input","split"],"mappings":"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","sourcesContent":["import type { PlacementAxis } from '@react-types/overlays';\nimport React, { RefObject } from 'react';\nimport type { Axis, SizeAxis } from '@react-types/overlays';\nimport {\n //@ts-ignore\n Dimensions,\n} from 'react-native';\nimport type { Placement, PositionProps } from '@react-types/overlays';\n//@ts-ignore\nimport { isRTL } from '@react-native-aria/utils';\n\nimport { APPROX_STATUSBAR_HEIGHT } from './utils';\nconst measureOffset = (ref: RefObject<any>) =>\n new Promise<IMeasureResult>((resolve) => {\n if (ref.current) {\n ref.current.measureInWindow(\n (x: number, y: number, width: number, height: number) => {\n resolve({ top: y, left: x, width, height });\n }\n );\n }\n });\n\ninterface ParsedPlacement {\n placement: PlacementAxis;\n crossPlacement: PlacementAxis;\n axis: Axis;\n crossAxis: Axis;\n size: SizeAxis;\n crossSize: SizeAxis;\n}\ninterface AriaPositionProps extends PositionProps {\n /**\n * Element that that serves as the positioning boundary.\n * @default document.body\n */\n boundaryElement?: any;\n /**\n * The ref for the element which the overlay positions itself with respect to.\n */\n targetRef: RefObject<any>;\n /**\n * The ref for the overlay element.\n */\n overlayRef: RefObject<any>;\n /**\n * A ref for the scrollable region within the overlay.\n * @default overlayRef\n */\n scrollRef?: RefObject<any>;\n /**\n * Whether the overlay should update its position automatically.\n * @default true\n */\n shouldUpdatePosition?: boolean;\n /** Handler that is called when the overlay should close. */\n onClose?: () => void;\n /** Determines whether the overlay should overlap with the trigger */\n shouldOverlapWithTrigger?: boolean;\n}\n\ntype IMeasureResult = {\n top: number;\n left: number;\n height: number;\n width: number;\n};\n\nexport function useOverlayPosition(props: AriaPositionProps) {\n let {\n targetRef,\n overlayRef,\n placement = 'bottom' as Placement,\n offset = 0,\n crossOffset = 0,\n isOpen = true,\n shouldFlip = true,\n shouldOverlapWithTrigger = false,\n } = props;\n\n let [position, setPosition] = React.useState<PositionResult>({\n position: {},\n arrowOffsetLeft: undefined,\n arrowOffsetTop: undefined,\n maxHeight: undefined,\n placement: undefined,\n });\n\n // Layout measurement happens asynchronously in RN. This causes initial flickr. Using opacity and setting it to 1 post calculation prevents that.\n let [rendered, setRendered] = React.useState(false);\n\n let updatePosition = async () => {\n const [overlayOffset, triggerOffset] = await Promise.all([\n measureOffset(overlayRef),\n measureOffset(targetRef),\n ]);\n\n // Sometimes measure returns height/width 0. Best solution would be to use onLayout callback, but that might diverege from React Aria's useOverlayPosition API. Decide later, this works for now\n if (\n !overlayOffset.width ||\n !overlayOffset.height ||\n !triggerOffset.width ||\n !triggerOffset.height\n ) {\n requestAnimationFrame(updatePosition);\n return;\n }\n\n const { height: windowHeight, width: windowWidth } = Dimensions.get(\n 'window'\n );\n\n const positions = calculatePosition({\n placement: translateRTL(placement),\n targetNode: triggerOffset,\n overlayNode: overlayOffset,\n scrollNode: overlayOffset,\n padding: 0,\n shouldFlip,\n boundaryElement: {\n top: 0,\n left: 0,\n width: windowWidth,\n height: windowHeight,\n },\n offset,\n crossOffset,\n shouldOverlapWithTrigger,\n });\n setPosition(positions);\n setRendered(true);\n };\n React.useEffect(() => {\n return () => {\n setRendered(false);\n };\n }, []);\n\n React.useLayoutEffect(() => {\n updatePosition();\n }, [\n placement,\n isOpen,\n offset,\n shouldFlip,\n crossOffset,\n shouldOverlapWithTrigger,\n ]);\n\n const style = {\n ...position.position,\n };\n\n if (position?.position?.top || position?.position?.top === 0) {\n style.top = (position?.position?.top || 0) + (APPROX_STATUSBAR_HEIGHT || 0);\n }\n\n const returnProps = {\n rendered,\n overlayProps: {\n style,\n },\n placement: position.placement,\n arrowProps: {\n style: {\n left: position.arrowOffsetLeft,\n top: (position?.arrowOffsetTop || 0) + (APPROX_STATUSBAR_HEIGHT || 0),\n },\n },\n updatePosition,\n };\n\n if (position.maxHeight !== undefined) {\n //@ts-ignore\n returnProps.overlayProps.style.maxHeight = position.maxHeight;\n }\n\n return returnProps;\n}\n\nfunction translateRTL(position: any) {\n if (isRTL()) {\n return position.replace('start', 'right').replace('end', 'left');\n }\n return position.replace('start', 'left').replace('end', 'right');\n}\n\ninterface Position {\n top?: number;\n left?: number;\n bottom?: number;\n right?: number;\n}\n\ninterface Dimensions {\n width: number;\n height: number;\n top: number;\n left: number;\n scroll: Position;\n}\n\ninterface Offset {\n top: number;\n left: number;\n width: number;\n height: number;\n}\n\nexport interface PositionResult {\n position?: Position;\n arrowOffsetLeft?: number;\n arrowOffsetTop?: number;\n maxHeight?: number;\n placement: PlacementAxis | undefined;\n}\n\nconst calculatePosition = (opts: any): PositionResult => {\n let {\n placement,\n targetNode,\n overlayNode,\n scrollNode,\n padding,\n shouldFlip,\n boundaryElement,\n offset,\n crossOffset,\n shouldOverlapWithTrigger,\n } = opts;\n\n let childOffset: Offset = targetNode;\n let isContainerPositioned = false;\n let overlaySize: Offset = overlayNode;\n let margins = { top: 0, bottom: 0, left: 0, right: 0 };\n let scrollSize = scrollNode;\n let boundaryDimensions = boundaryElement;\n\n let containerOffsetWithBoundary: Offset = overlayNode;\n\n return calculatePositionInternal(\n placement,\n childOffset,\n overlaySize,\n scrollSize,\n margins,\n padding,\n shouldFlip,\n boundaryDimensions,\n containerOffsetWithBoundary,\n offset,\n crossOffset,\n isContainerPositioned,\n shouldOverlapWithTrigger\n );\n};\n\nfunction calculatePositionInternal(\n placementInput: Placement,\n childOffset: any,\n overlaySize: Offset,\n scrollSize: Offset,\n margins: Position,\n padding: number,\n flip: boolean,\n boundaryDimensions: Dimensions,\n containerOffsetWithBoundary: Offset,\n offset: number,\n crossOffset: number,\n isContainerPositioned: boolean,\n shouldOverlapWithTrigger: boolean\n): PositionResult {\n let placementInfo = parsePlacement(placementInput);\n let { size, crossAxis, crossSize, placement, crossPlacement } = placementInfo;\n let position = computePosition(\n childOffset,\n boundaryDimensions,\n overlaySize,\n placementInfo,\n offset,\n crossOffset,\n containerOffsetWithBoundary,\n isContainerPositioned\n );\n let normalizedOffset = offset;\n let space = getAvailableSpace(\n boundaryDimensions,\n containerOffsetWithBoundary,\n childOffset,\n margins,\n padding + offset,\n placementInfo\n );\n\n if (flip && scrollSize[size] > space) {\n let flippedPlacementInfo = parsePlacement(\n `${FLIPPED_DIRECTION[placement]} ${crossPlacement}` as Placement\n );\n let flippedPosition = computePosition(\n childOffset,\n boundaryDimensions,\n overlaySize,\n flippedPlacementInfo,\n offset,\n crossOffset,\n containerOffsetWithBoundary,\n isContainerPositioned\n );\n let flippedSpace = getAvailableSpace(\n boundaryDimensions,\n containerOffsetWithBoundary,\n childOffset,\n margins,\n padding + offset,\n flippedPlacementInfo\n );\n\n // If the available space for the flipped position is greater than the original available space, flip.\n if (flippedSpace > space) {\n placementInfo = flippedPlacementInfo;\n position = flippedPosition;\n normalizedOffset = offset;\n }\n }\n\n let delta = getDelta(\n crossAxis,\n position[crossAxis],\n overlaySize[crossSize],\n boundaryDimensions,\n padding\n );\n position[crossAxis] += delta;\n\n let maxHeight = getMaxHeight(\n position,\n boundaryDimensions,\n containerOffsetWithBoundary,\n childOffset,\n margins,\n padding\n );\n\n overlaySize.height = Math.min(overlaySize.height, maxHeight);\n\n position = computePosition(\n childOffset,\n boundaryDimensions,\n overlaySize,\n placementInfo,\n normalizedOffset,\n crossOffset,\n containerOffsetWithBoundary,\n isContainerPositioned\n );\n\n delta = getDelta(\n crossAxis,\n position[crossAxis],\n overlaySize[crossSize],\n boundaryDimensions,\n padding\n );\n position[crossAxis] += delta;\n\n let arrowPosition: Position = {};\n arrowPosition[crossAxis] =\n childOffset[crossAxis] - position[crossAxis] + childOffset[crossSize] / 2;\n\n if (shouldOverlapWithTrigger) {\n position[FLIPPED_DIRECTION[placementInfo.placement]] =\n position[FLIPPED_DIRECTION[placementInfo.placement]] - childOffset[size];\n }\n\n return {\n position,\n maxHeight,\n arrowOffsetLeft: arrowPosition.left,\n arrowOffsetTop: arrowPosition.top,\n placement: placementInfo.placement,\n };\n}\n\nfunction getDelta(\n axis: Axis,\n offset: number,\n size: number,\n containerDimensions: Dimensions,\n padding: number\n) {\n //@ts-ignore\n let containerScroll = containerDimensions[axis];\n //@ts-ignore\n let containerHeight = containerDimensions[AXIS_SIZE[axis]];\n\n let startEdgeOffset = offset - padding - containerScroll;\n let endEdgeOffset = offset + padding - containerScroll + size;\n\n if (startEdgeOffset < 0) {\n return -startEdgeOffset;\n } else if (endEdgeOffset > containerHeight) {\n return Math.max(containerHeight - endEdgeOffset, -startEdgeOffset);\n } else {\n return 0;\n }\n}\n\nfunction getMaxHeight(\n position: Position,\n boundaryDimensions: Dimensions,\n _containerOffsetWithBoundary: Offset,\n childOffset: Offset,\n _margins: Position,\n _padding: number\n) {\n return position.top != null\n ? // We want the distance between the top of the overlay to the bottom of the boundary\n Math.max(\n 0,\n boundaryDimensions.height - // this is the bottom of the boundary\n position.top // this is the top of the overlay\n )\n : // We want the distance between the top of the trigger to the top of the boundary\n Math.max(\n 0,\n childOffset.top - // this is the top of the trigger\n 0 // this is the top of the boundary\n );\n}\n\nfunction computePosition(\n childOffset: any,\n boundaryDimensions: Dimensions,\n overlaySize: Offset,\n placementInfo: ParsedPlacement,\n offset: number,\n crossOffset: number,\n _containerOffsetWithBoundary: Offset,\n _isContainerPositioned: boolean\n) {\n let {\n placement,\n crossPlacement,\n axis,\n crossAxis,\n size,\n crossSize,\n } = placementInfo;\n let position: any = {};\n //@ts-ignore\n position[crossAxis] = childOffset[crossAxis];\n\n if (crossPlacement === 'center') {\n position[crossAxis] +=\n (childOffset[crossSize] - overlaySize[crossSize]) / 2;\n } else if (crossPlacement !== crossAxis) {\n position[crossAxis] += childOffset[crossSize] - overlaySize[crossSize];\n }\n\n position[crossAxis] += crossOffset;\n\n // this is button center position - the overlay size + half of the button to align bottom of overlay with button center\n let minViablePosition =\n childOffset[crossAxis] +\n childOffset[crossSize] / 2 -\n overlaySize[crossSize];\n // this is button position of center, aligns top of overlay with button center\n let maxViablePosition = childOffset[crossAxis] + childOffset[crossSize] / 2;\n\n // clamp it into the range of the min/max positions\n position[crossAxis] = Math.min(\n Math.max(minViablePosition, position[crossAxis]),\n maxViablePosition\n );\n\n // Floor these so the position isn't placed on a partial pixel, only whole pixels. Shouldn't matter if it was floored or ceiled, so chose one.\n if (placement === axis) {\n // If the container is positioned (non-static), then we use the container's actual\n // height, as `bottom` will be relative to this height. But if the container is static,\n // then it can only be the `document.body`, and `bottom` will be relative to _its_\n // container, which should be as large as boundaryDimensions.\n const containerHeight = boundaryDimensions[size];\n position[FLIPPED_DIRECTION[axis]] = Math.floor(\n containerHeight - childOffset[axis] + offset\n );\n } else {\n position[axis] = Math.floor(childOffset[axis] + childOffset[size] + offset);\n }\n\n return position;\n}\n\nfunction getAvailableSpace(\n boundaryDimensions: Dimensions,\n _containerOffsetWithBoundary: Offset,\n childOffset: any,\n _margins: Position,\n padding: number,\n placementInfo: ParsedPlacement\n) {\n let { placement, axis, size } = placementInfo;\n if (placement === axis) {\n return Math.max(0, childOffset[axis] - padding);\n }\n\n return Math.max(\n 0,\n boundaryDimensions[size] - childOffset[axis] - childOffset[size] - padding\n );\n}\n\nconst AXIS: any = {\n top: 'top',\n bottom: 'top',\n left: 'left',\n right: 'left',\n};\n\nconst FLIPPED_DIRECTION: any = {\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left',\n};\n\nconst CROSS_AXIS: any = {\n top: 'left',\n left: 'top',\n};\n\nconst AXIS_SIZE: any = {\n top: 'height',\n left: 'width',\n};\n\ninterface Position {\n top?: number;\n left?: number;\n bottom?: number;\n right?: number;\n}\n\ninterface Dimensions {\n width: number;\n height: number;\n top: number;\n left: number;\n scroll: Position;\n}\n\ninterface Offset {\n top: number;\n left: number;\n width: number;\n height: number;\n}\n\nconst PARSED_PLACEMENT_CACHE: any = {};\n\nfunction parsePlacement(input: Placement): ParsedPlacement {\n if (PARSED_PLACEMENT_CACHE[input]) {\n return PARSED_PLACEMENT_CACHE[input];\n }\n\n let [placement, crossPlacement] = input.split(' ');\n let axis: Axis = AXIS[placement] || 'right';\n let crossAxis: Axis = CROSS_AXIS[axis];\n\n if (!AXIS[crossPlacement]) {\n crossPlacement = 'center';\n }\n\n let size = AXIS_SIZE[axis];\n let crossSize = AXIS_SIZE[crossAxis];\n PARSED_PLACEMENT_CACHE[input] = {\n placement,\n crossPlacement,\n axis,\n crossAxis,\n size,\n crossSize,\n };\n return PARSED_PLACEMENT_CACHE[input];\n}\n"]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_utils","_utils2","obj","__esModule","default","measureOffset","ref","Promise","resolve","current","measureInWindow","x","y","width","height","top","left","getArrowPropsWithStatusBarHeight","topWithStatusBarHeight","APPROX_STATUSBAR_HEIGHT","undefined","style","useOverlayPosition","props","_position$position","_position$position2","targetRef","overlayRef","placement","offset","crossOffset","isOpen","shouldFlip","shouldOverlapWithTrigger","position","setPosition","React","useState","arrowOffsetLeft","arrowOffsetTop","maxHeight","rendered","setRendered","updatePosition","overlayOffset","triggerOffset","all","requestAnimationFrame","windowHeight","windowWidth","Dimensions","get","positions","calculatePosition","translateRTL","targetNode","overlayNode","scrollNode","padding","boundaryElement","useEffect","useLayoutEffect","_position$position3","arrowPropsWithStatusBarHeight","returnProps","overlayProps","arrowProps","isRTL","replace","opts","childOffset","isContainerPositioned","overlaySize","margins","bottom","right","scrollSize","boundaryDimensions","containerOffsetWithBoundary","calculatePositionInternal","placementInput","flip","placementInfo","parsePlacement","size","crossAxis","crossSize","crossPlacement","computePosition","normalizedOffset","space","getAvailableSpace","flippedPlacementInfo","FLIPPED_DIRECTION","flippedPosition","flippedSpace","delta","getDelta","getMaxHeight","Math","min","arrowPosition","axis","containerDimensions","containerScroll","containerHeight","AXIS_SIZE","startEdgeOffset","endEdgeOffset","max","_containerOffsetWithBoundary","_margins","_padding","_isContainerPositioned","minViablePosition","maxViablePosition","floor","AXIS","CROSS_AXIS","PARSED_PLACEMENT_CACHE","input","split"],"sourceRoot":"../../src","sources":["useOverlayPosition.ts"],"mappings":"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"}
@@ -9,6 +9,5 @@ Object.defineProperty(exports, "useOverlayPosition", {
9
9
  return _useOverlayPosition.useOverlayPosition;
10
10
  }
11
11
  });
12
-
13
12
  var _useOverlayPosition = require("./web/overlays/src/useOverlayPosition");
14
13
  //# sourceMappingURL=useOverlayPosition.web.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["useOverlayPosition.web.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA","sourcesContent":["export { useOverlayPosition } from './web/overlays/src/useOverlayPosition';\n"]}
1
+ {"version":3,"names":["_useOverlayPosition","require"],"sourceRoot":"../../src","sources":["useOverlayPosition.web.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA"}
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.useOverlayTrigger = useOverlayTrigger;
7
-
8
7
  /*
9
8
  * Copyright 2020 Adobe. All rights reserved.
10
9
  * This file is licensed to you under the Apache License, Version 2.0 (the "License");
@@ -1 +1 @@
1
- {"version":3,"sources":["useOverlayTrigger.ts"],"names":["useOverlayTrigger","_props","state","_ref","triggerProps","isOpen","overlayProps"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAkBA;AACA;AACA;AACA;AACO,SAASA,iBAAT,CACLC,MADK,EAELC,KAFK,EAGLC,IAHK,EAIe;AACpB,SAAO;AACLC,IAAAA,YAAY,EAAE;AACZ,uBAAiBF,KAAK,CAACG;AADX,KADT;AAILC,IAAAA,YAAY,EAAE;AAJT,GAAP;AAMD","sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { HTMLAttributes, RefObject } from 'react';\nimport { OverlayTriggerState } from '@react-stately/overlays';\n\ninterface OverlayTriggerProps {\n /** Type of overlay that is opened by the trigger. */\n type: 'dialog' | 'menu' | 'listbox' | 'tree' | 'grid';\n}\n\ninterface OverlayTriggerAria {\n /** Props for the trigger element. */\n triggerProps: any;\n\n /** Props for the overlay container element. */\n overlayProps: HTMLAttributes<HTMLElement>;\n}\n\n/**\n * Handles the behavior and accessibility for an overlay trigger, e.g. a button\n * that opens a popover, menu, or other overlay that is positioned relative to the trigger.\n */\nexport function useOverlayTrigger(\n _props: OverlayTriggerProps,\n state: OverlayTriggerState,\n _ref: RefObject<HTMLElement>\n): OverlayTriggerAria {\n return {\n triggerProps: {\n 'aria-expanded': state.isOpen,\n },\n overlayProps: {},\n };\n}\n"]}
1
+ {"version":3,"names":["useOverlayTrigger","_props","state","_ref","triggerProps","isOpen","overlayProps"],"sourceRoot":"../../src","sources":["useOverlayTrigger.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAkBA;AACA;AACA;AACA;AACO,SAASA,iBAAiBA,CAC/BC,MAA2B,EAC3BC,KAA0B,EAC1BC,IAA4B,EACR;EACpB,OAAO;IACLC,YAAY,EAAE;MACZ,eAAe,EAAEF,KAAK,CAACG;IACzB,CAAC;IACDC,YAAY,EAAE,CAAC;EACjB,CAAC;AACH"}
@@ -9,6 +9,5 @@ Object.defineProperty(exports, "useOverlayTrigger", {
9
9
  return _overlays.useOverlayTrigger;
10
10
  }
11
11
  });
12
-
13
12
  var _overlays = require("@react-aria/overlays");
14
13
  //# sourceMappingURL=useOverlayTrigger.web.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["useOverlayTrigger.web.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA","sourcesContent":["export { useOverlayTrigger } from '@react-aria/overlays';\n"]}
1
+ {"version":3,"names":["_overlays","require"],"sourceRoot":"../../src","sources":["useOverlayTrigger.web.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA"}
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.usePreventScroll = void 0;
7
-
8
7
  // Polyfill
9
8
  const usePreventScroll = (_options = {}) => {};
10
-
11
9
  exports.usePreventScroll = usePreventScroll;
12
10
  //# sourceMappingURL=usePreventScroll.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["usePreventScroll.ts"],"names":["usePreventScroll","_options"],"mappings":";;;;;;;AAKA;AACO,MAAMA,gBAAgB,GAAG,CAACC,QAA8B,GAAG,EAAlC,KAAyC,CAAE,CAApE","sourcesContent":["interface PreventScrollOptions {\n /** Whether the scroll lock is disabled. */\n isDisabled?: boolean;\n}\n\n// Polyfill\nexport const usePreventScroll = (_options: PreventScrollOptions = {}) => {};\n"]}
1
+ {"version":3,"names":["usePreventScroll","_options","exports"],"sourceRoot":"../../src","sources":["usePreventScroll.ts"],"mappings":";;;;;;AAKA;AACO,MAAMA,gBAAgB,GAAGA,CAACC,QAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;AAACC,OAAA,CAAAF,gBAAA,GAAAA,gBAAA"}
@@ -9,6 +9,5 @@ Object.defineProperty(exports, "usePreventScroll", {
9
9
  return _overlays.usePreventScroll;
10
10
  }
11
11
  });
12
-
13
12
  var _overlays = require("@react-aria/overlays");
14
13
  //# sourceMappingURL=usePreventScroll.web.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["usePreventScroll.web.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA","sourcesContent":["export { usePreventScroll } from '@react-aria/overlays';\n"]}
1
+ {"version":3,"names":["_overlays","require"],"sourceRoot":"../../src","sources":["usePreventScroll.web.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA"}
@@ -4,21 +4,21 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.APPROX_STATUSBAR_HEIGHT = void 0;
7
-
8
7
  var _reactNative = require("react-native");
9
-
10
8
  // import Constants from 'expo-constants';
11
9
  // @ts-ignore
12
10
  // const expo = global.__expo;
11
+
13
12
  const IOS_STATUS_BAR_HEIGHT = 20;
14
- const DEFAULT_STATUSBAR_HEIGHT_EXPO = 0; // https://docs.expo.io/versions/latest/sdk/constants/
13
+ const DEFAULT_STATUSBAR_HEIGHT_EXPO = 0;
14
+
15
+ // https://docs.expo.io/versions/latest/sdk/constants/
15
16
  // Try to get height from expo if app is using expo env
16
17
  // IOS >= 11 is handled using SafeAreaView
17
-
18
- const APPROX_STATUSBAR_HEIGHT = _reactNative.Platform.select({
18
+ const APPROX_STATUSBAR_HEIGHT = exports.APPROX_STATUSBAR_HEIGHT = _reactNative.Platform.select({
19
19
  android: DEFAULT_STATUSBAR_HEIGHT_EXPO ? DEFAULT_STATUSBAR_HEIGHT_EXPO : _reactNative.StatusBar.currentHeight,
20
- ios: _reactNative.Platform.Version < 11 ? DEFAULT_STATUSBAR_HEIGHT_EXPO ? DEFAULT_STATUSBAR_HEIGHT_EXPO : IOS_STATUS_BAR_HEIGHT : 0
20
+ ios:
21
+ // @ts-ignore
22
+ _reactNative.Platform.Version < 11 ? DEFAULT_STATUSBAR_HEIGHT_EXPO ? DEFAULT_STATUSBAR_HEIGHT_EXPO : IOS_STATUS_BAR_HEIGHT : 0
21
23
  });
22
-
23
- exports.APPROX_STATUSBAR_HEIGHT = APPROX_STATUSBAR_HEIGHT;
24
24
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["utils.ts"],"names":["IOS_STATUS_BAR_HEIGHT","DEFAULT_STATUSBAR_HEIGHT_EXPO","APPROX_STATUSBAR_HEIGHT","Platform","select","android","StatusBar","currentHeight","ios","Version"],"mappings":";;;;;;;AAAA;;AACA;AACA;AACA;AAEA,MAAMA,qBAAqB,GAAG,EAA9B;AAEA,MAAMC,6BAA6B,GAAG,CAAtC,C,CAEA;AACA;AACA;;AACO,MAAMC,uBAAuB,GAAGC,sBAASC,MAAT,CAAgB;AACrDC,EAAAA,OAAO,EAAEJ,6BAA6B,GAClCA,6BADkC,GAElCK,uBAAUC,aAHuC;AAIrDC,EAAAA,GAAG,EACDL,sBAASM,OAAT,GAAmB,EAAnB,GACIR,6BAA6B,GAC3BA,6BAD2B,GAE3BD,qBAHN,GAII;AAT+C,CAAhB,CAAhC","sourcesContent":["import { Platform, StatusBar } from 'react-native';\n// import Constants from 'expo-constants';\n// @ts-ignore\n// const expo = global.__expo;\n\nconst IOS_STATUS_BAR_HEIGHT = 20;\n\nconst DEFAULT_STATUSBAR_HEIGHT_EXPO = 0;\n\n// https://docs.expo.io/versions/latest/sdk/constants/\n// Try to get height from expo if app is using expo env\n// IOS >= 11 is handled using SafeAreaView\nexport const APPROX_STATUSBAR_HEIGHT = Platform.select({\n android: DEFAULT_STATUSBAR_HEIGHT_EXPO\n ? DEFAULT_STATUSBAR_HEIGHT_EXPO\n : StatusBar.currentHeight,\n ios:\n Platform.Version < 11\n ? DEFAULT_STATUSBAR_HEIGHT_EXPO\n ? DEFAULT_STATUSBAR_HEIGHT_EXPO\n : IOS_STATUS_BAR_HEIGHT\n : 0,\n});\n"]}
1
+ {"version":3,"names":["_reactNative","require","IOS_STATUS_BAR_HEIGHT","DEFAULT_STATUSBAR_HEIGHT_EXPO","APPROX_STATUSBAR_HEIGHT","exports","Platform","select","android","StatusBar","currentHeight","ios","Version"],"sourceRoot":"../../src","sources":["utils.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA;AACA;AACA;;AAEA,MAAMC,qBAAqB,GAAG,EAAE;AAEhC,MAAMC,6BAA6B,GAAG,CAAC;;AAEvC;AACA;AACA;AACO,MAAMC,uBAAuB,GAAAC,OAAA,CAAAD,uBAAA,GAAGE,qBAAQ,CAACC,MAAM,CAAC;EACrDC,OAAO,EAAEL,6BAA6B,GAClCA,6BAA6B,GAC7BM,sBAAS,CAACC,aAAa;EAC3BC,GAAG;EACD;EACAL,qBAAQ,CAACM,OAAO,GAAG,EAAE,GACjBT,6BAA6B,GAC3BA,6BAA6B,GAC7BD,qBAAqB,GACvB;AACR,CAAC,CAAC"}
@@ -3,9 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
-
7
6
  var _src = require("./src");
8
-
9
7
  Object.keys(_src).forEach(function (key) {
10
8
  if (key === "default" || key === "__esModule") return;
11
9
  if (key in exports && exports[key] === _src[key]) return;
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;AAYA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nexport * from './src';\n"]}
1
+ {"version":3,"names":["_src","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sourceRoot":"../../../../src","sources":["web/overlays/index.ts"],"mappings":";;;;;AAYA,IAAAA,IAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,IAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,IAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,IAAA,CAAAK,GAAA;IAAA;EAAA;AAAA"}