@react-aria/virtualizer 4.0.4 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/types.d.ts CHANGED
@@ -9,7 +9,7 @@ interface IVirtualizer {
9
9
  updateItemSize(key: Key, size: Size): void;
10
10
  }
11
11
  export interface VirtualizerItemOptions {
12
- layoutInfo: LayoutInfo;
12
+ layoutInfo: LayoutInfo | null;
13
13
  virtualizer: IVirtualizer;
14
14
  ref: RefObject<HTMLElement | null>;
15
15
  }
@@ -25,7 +25,7 @@ interface ScrollViewProps extends HTMLAttributes<HTMLElement> {
25
25
  onScrollEnd?: () => void;
26
26
  scrollDirection?: 'horizontal' | 'vertical' | 'both';
27
27
  }
28
- export const ScrollView: React.ForwardRefExoticComponent<ScrollViewProps & React.RefAttributes<HTMLDivElement>>;
28
+ export const ScrollView: React.ForwardRefExoticComponent<ScrollViewProps & React.RefAttributes<HTMLDivElement | null>>;
29
29
  export function useScrollView(props: ScrollViewProps, ref: _RefObject1<HTMLElement | null>): {
30
30
  scrollViewProps: {
31
31
  style: React.CSSProperties;
@@ -137,174 +137,174 @@ export function useScrollView(props: ScrollViewProps, ref: _RefObject1<HTMLEleme
137
137
  dangerouslySetInnerHTML?: {
138
138
  __html: string | TrustedHTML;
139
139
  } | undefined;
140
- onCopy?: React.ClipboardEventHandler<HTMLElement>;
141
- onCopyCapture?: React.ClipboardEventHandler<HTMLElement>;
142
- onCut?: React.ClipboardEventHandler<HTMLElement>;
143
- onCutCapture?: React.ClipboardEventHandler<HTMLElement>;
144
- onPaste?: React.ClipboardEventHandler<HTMLElement>;
145
- onPasteCapture?: React.ClipboardEventHandler<HTMLElement>;
146
- onCompositionEnd?: React.CompositionEventHandler<HTMLElement>;
147
- onCompositionEndCapture?: React.CompositionEventHandler<HTMLElement>;
148
- onCompositionStart?: React.CompositionEventHandler<HTMLElement>;
149
- onCompositionStartCapture?: React.CompositionEventHandler<HTMLElement>;
150
- onCompositionUpdate?: React.CompositionEventHandler<HTMLElement>;
151
- onCompositionUpdateCapture?: React.CompositionEventHandler<HTMLElement>;
152
- onFocus?: React.FocusEventHandler<HTMLElement>;
153
- onFocusCapture?: React.FocusEventHandler<HTMLElement>;
154
- onBlur?: React.FocusEventHandler<HTMLElement>;
155
- onBlurCapture?: React.FocusEventHandler<HTMLElement>;
156
- onChange?: React.FormEventHandler<HTMLElement>;
157
- onChangeCapture?: React.FormEventHandler<HTMLElement>;
158
- onBeforeInput?: React.FormEventHandler<HTMLElement>;
159
- onBeforeInputCapture?: React.FormEventHandler<HTMLElement>;
160
- onInput?: React.FormEventHandler<HTMLElement>;
161
- onInputCapture?: React.FormEventHandler<HTMLElement>;
162
- onReset?: React.FormEventHandler<HTMLElement>;
163
- onResetCapture?: React.FormEventHandler<HTMLElement>;
164
- onSubmit?: React.FormEventHandler<HTMLElement>;
165
- onSubmitCapture?: React.FormEventHandler<HTMLElement>;
166
- onInvalid?: React.FormEventHandler<HTMLElement>;
167
- onInvalidCapture?: React.FormEventHandler<HTMLElement>;
168
- onLoad?: React.ReactEventHandler<HTMLElement>;
169
- onLoadCapture?: React.ReactEventHandler<HTMLElement>;
170
- onError?: React.ReactEventHandler<HTMLElement>;
171
- onErrorCapture?: React.ReactEventHandler<HTMLElement>;
172
- onKeyDown?: React.KeyboardEventHandler<HTMLElement>;
173
- onKeyDownCapture?: React.KeyboardEventHandler<HTMLElement>;
174
- onKeyPress?: React.KeyboardEventHandler<HTMLElement>;
175
- onKeyPressCapture?: React.KeyboardEventHandler<HTMLElement>;
176
- onKeyUp?: React.KeyboardEventHandler<HTMLElement>;
177
- onKeyUpCapture?: React.KeyboardEventHandler<HTMLElement>;
178
- onAbort?: React.ReactEventHandler<HTMLElement>;
179
- onAbortCapture?: React.ReactEventHandler<HTMLElement>;
180
- onCanPlay?: React.ReactEventHandler<HTMLElement>;
181
- onCanPlayCapture?: React.ReactEventHandler<HTMLElement>;
182
- onCanPlayThrough?: React.ReactEventHandler<HTMLElement>;
183
- onCanPlayThroughCapture?: React.ReactEventHandler<HTMLElement>;
184
- onDurationChange?: React.ReactEventHandler<HTMLElement>;
185
- onDurationChangeCapture?: React.ReactEventHandler<HTMLElement>;
186
- onEmptied?: React.ReactEventHandler<HTMLElement>;
187
- onEmptiedCapture?: React.ReactEventHandler<HTMLElement>;
188
- onEncrypted?: React.ReactEventHandler<HTMLElement>;
189
- onEncryptedCapture?: React.ReactEventHandler<HTMLElement>;
190
- onEnded?: React.ReactEventHandler<HTMLElement>;
191
- onEndedCapture?: React.ReactEventHandler<HTMLElement>;
192
- onLoadedData?: React.ReactEventHandler<HTMLElement>;
193
- onLoadedDataCapture?: React.ReactEventHandler<HTMLElement>;
194
- onLoadedMetadata?: React.ReactEventHandler<HTMLElement>;
195
- onLoadedMetadataCapture?: React.ReactEventHandler<HTMLElement>;
196
- onLoadStart?: React.ReactEventHandler<HTMLElement>;
197
- onLoadStartCapture?: React.ReactEventHandler<HTMLElement>;
198
- onPause?: React.ReactEventHandler<HTMLElement>;
199
- onPauseCapture?: React.ReactEventHandler<HTMLElement>;
200
- onPlay?: React.ReactEventHandler<HTMLElement>;
201
- onPlayCapture?: React.ReactEventHandler<HTMLElement>;
202
- onPlaying?: React.ReactEventHandler<HTMLElement>;
203
- onPlayingCapture?: React.ReactEventHandler<HTMLElement>;
204
- onProgress?: React.ReactEventHandler<HTMLElement>;
205
- onProgressCapture?: React.ReactEventHandler<HTMLElement>;
206
- onRateChange?: React.ReactEventHandler<HTMLElement>;
207
- onRateChangeCapture?: React.ReactEventHandler<HTMLElement>;
208
- onResize?: React.ReactEventHandler<HTMLElement>;
209
- onResizeCapture?: React.ReactEventHandler<HTMLElement>;
210
- onSeeked?: React.ReactEventHandler<HTMLElement>;
211
- onSeekedCapture?: React.ReactEventHandler<HTMLElement>;
212
- onSeeking?: React.ReactEventHandler<HTMLElement>;
213
- onSeekingCapture?: React.ReactEventHandler<HTMLElement>;
214
- onStalled?: React.ReactEventHandler<HTMLElement>;
215
- onStalledCapture?: React.ReactEventHandler<HTMLElement>;
216
- onSuspend?: React.ReactEventHandler<HTMLElement>;
217
- onSuspendCapture?: React.ReactEventHandler<HTMLElement>;
218
- onTimeUpdate?: React.ReactEventHandler<HTMLElement>;
219
- onTimeUpdateCapture?: React.ReactEventHandler<HTMLElement>;
220
- onVolumeChange?: React.ReactEventHandler<HTMLElement>;
221
- onVolumeChangeCapture?: React.ReactEventHandler<HTMLElement>;
222
- onWaiting?: React.ReactEventHandler<HTMLElement>;
223
- onWaitingCapture?: React.ReactEventHandler<HTMLElement>;
224
- onAuxClick?: React.MouseEventHandler<HTMLElement>;
225
- onAuxClickCapture?: React.MouseEventHandler<HTMLElement>;
226
- onClick?: React.MouseEventHandler<HTMLElement>;
227
- onClickCapture?: React.MouseEventHandler<HTMLElement>;
228
- onContextMenu?: React.MouseEventHandler<HTMLElement>;
229
- onContextMenuCapture?: React.MouseEventHandler<HTMLElement>;
230
- onDoubleClick?: React.MouseEventHandler<HTMLElement>;
231
- onDoubleClickCapture?: React.MouseEventHandler<HTMLElement>;
232
- onDrag?: React.DragEventHandler<HTMLElement>;
233
- onDragCapture?: React.DragEventHandler<HTMLElement>;
234
- onDragEnd?: React.DragEventHandler<HTMLElement>;
235
- onDragEndCapture?: React.DragEventHandler<HTMLElement>;
236
- onDragEnter?: React.DragEventHandler<HTMLElement>;
237
- onDragEnterCapture?: React.DragEventHandler<HTMLElement>;
238
- onDragExit?: React.DragEventHandler<HTMLElement>;
239
- onDragExitCapture?: React.DragEventHandler<HTMLElement>;
240
- onDragLeave?: React.DragEventHandler<HTMLElement>;
241
- onDragLeaveCapture?: React.DragEventHandler<HTMLElement>;
242
- onDragOver?: React.DragEventHandler<HTMLElement>;
243
- onDragOverCapture?: React.DragEventHandler<HTMLElement>;
244
- onDragStart?: React.DragEventHandler<HTMLElement>;
245
- onDragStartCapture?: React.DragEventHandler<HTMLElement>;
246
- onDrop?: React.DragEventHandler<HTMLElement>;
247
- onDropCapture?: React.DragEventHandler<HTMLElement>;
248
- onMouseDown?: React.MouseEventHandler<HTMLElement>;
249
- onMouseDownCapture?: React.MouseEventHandler<HTMLElement>;
250
- onMouseEnter?: React.MouseEventHandler<HTMLElement>;
251
- onMouseLeave?: React.MouseEventHandler<HTMLElement>;
252
- onMouseMove?: React.MouseEventHandler<HTMLElement>;
253
- onMouseMoveCapture?: React.MouseEventHandler<HTMLElement>;
254
- onMouseOut?: React.MouseEventHandler<HTMLElement>;
255
- onMouseOutCapture?: React.MouseEventHandler<HTMLElement>;
256
- onMouseOver?: React.MouseEventHandler<HTMLElement>;
257
- onMouseOverCapture?: React.MouseEventHandler<HTMLElement>;
258
- onMouseUp?: React.MouseEventHandler<HTMLElement>;
259
- onMouseUpCapture?: React.MouseEventHandler<HTMLElement>;
260
- onSelect?: React.ReactEventHandler<HTMLElement>;
261
- onSelectCapture?: React.ReactEventHandler<HTMLElement>;
262
- onTouchCancel?: React.TouchEventHandler<HTMLElement>;
263
- onTouchCancelCapture?: React.TouchEventHandler<HTMLElement>;
264
- onTouchEnd?: React.TouchEventHandler<HTMLElement>;
265
- onTouchEndCapture?: React.TouchEventHandler<HTMLElement>;
266
- onTouchMove?: React.TouchEventHandler<HTMLElement>;
267
- onTouchMoveCapture?: React.TouchEventHandler<HTMLElement>;
268
- onTouchStart?: React.TouchEventHandler<HTMLElement>;
269
- onTouchStartCapture?: React.TouchEventHandler<HTMLElement>;
270
- onPointerDown?: React.PointerEventHandler<HTMLElement>;
271
- onPointerDownCapture?: React.PointerEventHandler<HTMLElement>;
272
- onPointerMove?: React.PointerEventHandler<HTMLElement>;
273
- onPointerMoveCapture?: React.PointerEventHandler<HTMLElement>;
274
- onPointerUp?: React.PointerEventHandler<HTMLElement>;
275
- onPointerUpCapture?: React.PointerEventHandler<HTMLElement>;
276
- onPointerCancel?: React.PointerEventHandler<HTMLElement>;
277
- onPointerCancelCapture?: React.PointerEventHandler<HTMLElement>;
278
- onPointerEnter?: React.PointerEventHandler<HTMLElement>;
279
- onPointerLeave?: React.PointerEventHandler<HTMLElement>;
280
- onPointerOver?: React.PointerEventHandler<HTMLElement>;
281
- onPointerOverCapture?: React.PointerEventHandler<HTMLElement>;
282
- onPointerOut?: React.PointerEventHandler<HTMLElement>;
283
- onPointerOutCapture?: React.PointerEventHandler<HTMLElement>;
284
- onGotPointerCapture?: React.PointerEventHandler<HTMLElement>;
285
- onGotPointerCaptureCapture?: React.PointerEventHandler<HTMLElement>;
286
- onLostPointerCapture?: React.PointerEventHandler<HTMLElement>;
287
- onLostPointerCaptureCapture?: React.PointerEventHandler<HTMLElement>;
288
- onScroll?: React.UIEventHandler<HTMLElement>;
289
- onScrollCapture?: React.UIEventHandler<HTMLElement>;
290
- onWheel?: React.WheelEventHandler<HTMLElement>;
291
- onWheelCapture?: React.WheelEventHandler<HTMLElement>;
292
- onAnimationStart?: React.AnimationEventHandler<HTMLElement>;
293
- onAnimationStartCapture?: React.AnimationEventHandler<HTMLElement>;
294
- onAnimationEnd?: React.AnimationEventHandler<HTMLElement>;
295
- onAnimationEndCapture?: React.AnimationEventHandler<HTMLElement>;
296
- onAnimationIteration?: React.AnimationEventHandler<HTMLElement>;
297
- onAnimationIterationCapture?: React.AnimationEventHandler<HTMLElement>;
298
- onToggle?: React.ToggleEventHandler<HTMLElement>;
299
- onBeforeToggle?: React.ToggleEventHandler<HTMLElement>;
300
- onTransitionCancel?: React.TransitionEventHandler<HTMLElement>;
301
- onTransitionCancelCapture?: React.TransitionEventHandler<HTMLElement>;
302
- onTransitionEnd?: React.TransitionEventHandler<HTMLElement>;
303
- onTransitionEndCapture?: React.TransitionEventHandler<HTMLElement>;
304
- onTransitionRun?: React.TransitionEventHandler<HTMLElement>;
305
- onTransitionRunCapture?: React.TransitionEventHandler<HTMLElement>;
306
- onTransitionStart?: React.TransitionEventHandler<HTMLElement>;
307
- onTransitionStartCapture?: React.TransitionEventHandler<HTMLElement>;
140
+ onCopy?: React.ClipboardEventHandler<HTMLElement> | undefined;
141
+ onCopyCapture?: React.ClipboardEventHandler<HTMLElement> | undefined;
142
+ onCut?: React.ClipboardEventHandler<HTMLElement> | undefined;
143
+ onCutCapture?: React.ClipboardEventHandler<HTMLElement> | undefined;
144
+ onPaste?: React.ClipboardEventHandler<HTMLElement> | undefined;
145
+ onPasteCapture?: React.ClipboardEventHandler<HTMLElement> | undefined;
146
+ onCompositionEnd?: React.CompositionEventHandler<HTMLElement> | undefined;
147
+ onCompositionEndCapture?: React.CompositionEventHandler<HTMLElement> | undefined;
148
+ onCompositionStart?: React.CompositionEventHandler<HTMLElement> | undefined;
149
+ onCompositionStartCapture?: React.CompositionEventHandler<HTMLElement> | undefined;
150
+ onCompositionUpdate?: React.CompositionEventHandler<HTMLElement> | undefined;
151
+ onCompositionUpdateCapture?: React.CompositionEventHandler<HTMLElement> | undefined;
152
+ onFocus?: React.FocusEventHandler<HTMLElement> | undefined;
153
+ onFocusCapture?: React.FocusEventHandler<HTMLElement> | undefined;
154
+ onBlur?: React.FocusEventHandler<HTMLElement> | undefined;
155
+ onBlurCapture?: React.FocusEventHandler<HTMLElement> | undefined;
156
+ onChange?: React.FormEventHandler<HTMLElement> | undefined;
157
+ onChangeCapture?: React.FormEventHandler<HTMLElement> | undefined;
158
+ onBeforeInput?: React.FormEventHandler<HTMLElement> | undefined;
159
+ onBeforeInputCapture?: React.FormEventHandler<HTMLElement> | undefined;
160
+ onInput?: React.FormEventHandler<HTMLElement> | undefined;
161
+ onInputCapture?: React.FormEventHandler<HTMLElement> | undefined;
162
+ onReset?: React.FormEventHandler<HTMLElement> | undefined;
163
+ onResetCapture?: React.FormEventHandler<HTMLElement> | undefined;
164
+ onSubmit?: React.FormEventHandler<HTMLElement> | undefined;
165
+ onSubmitCapture?: React.FormEventHandler<HTMLElement> | undefined;
166
+ onInvalid?: React.FormEventHandler<HTMLElement> | undefined;
167
+ onInvalidCapture?: React.FormEventHandler<HTMLElement> | undefined;
168
+ onLoad?: React.ReactEventHandler<HTMLElement> | undefined;
169
+ onLoadCapture?: React.ReactEventHandler<HTMLElement> | undefined;
170
+ onError?: React.ReactEventHandler<HTMLElement> | undefined;
171
+ onErrorCapture?: React.ReactEventHandler<HTMLElement> | undefined;
172
+ onKeyDown?: React.KeyboardEventHandler<HTMLElement> | undefined;
173
+ onKeyDownCapture?: React.KeyboardEventHandler<HTMLElement> | undefined;
174
+ onKeyPress?: React.KeyboardEventHandler<HTMLElement> | undefined;
175
+ onKeyPressCapture?: React.KeyboardEventHandler<HTMLElement> | undefined;
176
+ onKeyUp?: React.KeyboardEventHandler<HTMLElement> | undefined;
177
+ onKeyUpCapture?: React.KeyboardEventHandler<HTMLElement> | undefined;
178
+ onAbort?: React.ReactEventHandler<HTMLElement> | undefined;
179
+ onAbortCapture?: React.ReactEventHandler<HTMLElement> | undefined;
180
+ onCanPlay?: React.ReactEventHandler<HTMLElement> | undefined;
181
+ onCanPlayCapture?: React.ReactEventHandler<HTMLElement> | undefined;
182
+ onCanPlayThrough?: React.ReactEventHandler<HTMLElement> | undefined;
183
+ onCanPlayThroughCapture?: React.ReactEventHandler<HTMLElement> | undefined;
184
+ onDurationChange?: React.ReactEventHandler<HTMLElement> | undefined;
185
+ onDurationChangeCapture?: React.ReactEventHandler<HTMLElement> | undefined;
186
+ onEmptied?: React.ReactEventHandler<HTMLElement> | undefined;
187
+ onEmptiedCapture?: React.ReactEventHandler<HTMLElement> | undefined;
188
+ onEncrypted?: React.ReactEventHandler<HTMLElement> | undefined;
189
+ onEncryptedCapture?: React.ReactEventHandler<HTMLElement> | undefined;
190
+ onEnded?: React.ReactEventHandler<HTMLElement> | undefined;
191
+ onEndedCapture?: React.ReactEventHandler<HTMLElement> | undefined;
192
+ onLoadedData?: React.ReactEventHandler<HTMLElement> | undefined;
193
+ onLoadedDataCapture?: React.ReactEventHandler<HTMLElement> | undefined;
194
+ onLoadedMetadata?: React.ReactEventHandler<HTMLElement> | undefined;
195
+ onLoadedMetadataCapture?: React.ReactEventHandler<HTMLElement> | undefined;
196
+ onLoadStart?: React.ReactEventHandler<HTMLElement> | undefined;
197
+ onLoadStartCapture?: React.ReactEventHandler<HTMLElement> | undefined;
198
+ onPause?: React.ReactEventHandler<HTMLElement> | undefined;
199
+ onPauseCapture?: React.ReactEventHandler<HTMLElement> | undefined;
200
+ onPlay?: React.ReactEventHandler<HTMLElement> | undefined;
201
+ onPlayCapture?: React.ReactEventHandler<HTMLElement> | undefined;
202
+ onPlaying?: React.ReactEventHandler<HTMLElement> | undefined;
203
+ onPlayingCapture?: React.ReactEventHandler<HTMLElement> | undefined;
204
+ onProgress?: React.ReactEventHandler<HTMLElement> | undefined;
205
+ onProgressCapture?: React.ReactEventHandler<HTMLElement> | undefined;
206
+ onRateChange?: React.ReactEventHandler<HTMLElement> | undefined;
207
+ onRateChangeCapture?: React.ReactEventHandler<HTMLElement> | undefined;
208
+ onResize?: React.ReactEventHandler<HTMLElement> | undefined;
209
+ onResizeCapture?: React.ReactEventHandler<HTMLElement> | undefined;
210
+ onSeeked?: React.ReactEventHandler<HTMLElement> | undefined;
211
+ onSeekedCapture?: React.ReactEventHandler<HTMLElement> | undefined;
212
+ onSeeking?: React.ReactEventHandler<HTMLElement> | undefined;
213
+ onSeekingCapture?: React.ReactEventHandler<HTMLElement> | undefined;
214
+ onStalled?: React.ReactEventHandler<HTMLElement> | undefined;
215
+ onStalledCapture?: React.ReactEventHandler<HTMLElement> | undefined;
216
+ onSuspend?: React.ReactEventHandler<HTMLElement> | undefined;
217
+ onSuspendCapture?: React.ReactEventHandler<HTMLElement> | undefined;
218
+ onTimeUpdate?: React.ReactEventHandler<HTMLElement> | undefined;
219
+ onTimeUpdateCapture?: React.ReactEventHandler<HTMLElement> | undefined;
220
+ onVolumeChange?: React.ReactEventHandler<HTMLElement> | undefined;
221
+ onVolumeChangeCapture?: React.ReactEventHandler<HTMLElement> | undefined;
222
+ onWaiting?: React.ReactEventHandler<HTMLElement> | undefined;
223
+ onWaitingCapture?: React.ReactEventHandler<HTMLElement> | undefined;
224
+ onAuxClick?: React.MouseEventHandler<HTMLElement> | undefined;
225
+ onAuxClickCapture?: React.MouseEventHandler<HTMLElement> | undefined;
226
+ onClick?: React.MouseEventHandler<HTMLElement> | undefined;
227
+ onClickCapture?: React.MouseEventHandler<HTMLElement> | undefined;
228
+ onContextMenu?: React.MouseEventHandler<HTMLElement> | undefined;
229
+ onContextMenuCapture?: React.MouseEventHandler<HTMLElement> | undefined;
230
+ onDoubleClick?: React.MouseEventHandler<HTMLElement> | undefined;
231
+ onDoubleClickCapture?: React.MouseEventHandler<HTMLElement> | undefined;
232
+ onDrag?: React.DragEventHandler<HTMLElement> | undefined;
233
+ onDragCapture?: React.DragEventHandler<HTMLElement> | undefined;
234
+ onDragEnd?: React.DragEventHandler<HTMLElement> | undefined;
235
+ onDragEndCapture?: React.DragEventHandler<HTMLElement> | undefined;
236
+ onDragEnter?: React.DragEventHandler<HTMLElement> | undefined;
237
+ onDragEnterCapture?: React.DragEventHandler<HTMLElement> | undefined;
238
+ onDragExit?: React.DragEventHandler<HTMLElement> | undefined;
239
+ onDragExitCapture?: React.DragEventHandler<HTMLElement> | undefined;
240
+ onDragLeave?: React.DragEventHandler<HTMLElement> | undefined;
241
+ onDragLeaveCapture?: React.DragEventHandler<HTMLElement> | undefined;
242
+ onDragOver?: React.DragEventHandler<HTMLElement> | undefined;
243
+ onDragOverCapture?: React.DragEventHandler<HTMLElement> | undefined;
244
+ onDragStart?: React.DragEventHandler<HTMLElement> | undefined;
245
+ onDragStartCapture?: React.DragEventHandler<HTMLElement> | undefined;
246
+ onDrop?: React.DragEventHandler<HTMLElement> | undefined;
247
+ onDropCapture?: React.DragEventHandler<HTMLElement> | undefined;
248
+ onMouseDown?: React.MouseEventHandler<HTMLElement> | undefined;
249
+ onMouseDownCapture?: React.MouseEventHandler<HTMLElement> | undefined;
250
+ onMouseEnter?: React.MouseEventHandler<HTMLElement> | undefined;
251
+ onMouseLeave?: React.MouseEventHandler<HTMLElement> | undefined;
252
+ onMouseMove?: React.MouseEventHandler<HTMLElement> | undefined;
253
+ onMouseMoveCapture?: React.MouseEventHandler<HTMLElement> | undefined;
254
+ onMouseOut?: React.MouseEventHandler<HTMLElement> | undefined;
255
+ onMouseOutCapture?: React.MouseEventHandler<HTMLElement> | undefined;
256
+ onMouseOver?: React.MouseEventHandler<HTMLElement> | undefined;
257
+ onMouseOverCapture?: React.MouseEventHandler<HTMLElement> | undefined;
258
+ onMouseUp?: React.MouseEventHandler<HTMLElement> | undefined;
259
+ onMouseUpCapture?: React.MouseEventHandler<HTMLElement> | undefined;
260
+ onSelect?: React.ReactEventHandler<HTMLElement> | undefined;
261
+ onSelectCapture?: React.ReactEventHandler<HTMLElement> | undefined;
262
+ onTouchCancel?: React.TouchEventHandler<HTMLElement> | undefined;
263
+ onTouchCancelCapture?: React.TouchEventHandler<HTMLElement> | undefined;
264
+ onTouchEnd?: React.TouchEventHandler<HTMLElement> | undefined;
265
+ onTouchEndCapture?: React.TouchEventHandler<HTMLElement> | undefined;
266
+ onTouchMove?: React.TouchEventHandler<HTMLElement> | undefined;
267
+ onTouchMoveCapture?: React.TouchEventHandler<HTMLElement> | undefined;
268
+ onTouchStart?: React.TouchEventHandler<HTMLElement> | undefined;
269
+ onTouchStartCapture?: React.TouchEventHandler<HTMLElement> | undefined;
270
+ onPointerDown?: React.PointerEventHandler<HTMLElement> | undefined;
271
+ onPointerDownCapture?: React.PointerEventHandler<HTMLElement> | undefined;
272
+ onPointerMove?: React.PointerEventHandler<HTMLElement> | undefined;
273
+ onPointerMoveCapture?: React.PointerEventHandler<HTMLElement> | undefined;
274
+ onPointerUp?: React.PointerEventHandler<HTMLElement> | undefined;
275
+ onPointerUpCapture?: React.PointerEventHandler<HTMLElement> | undefined;
276
+ onPointerCancel?: React.PointerEventHandler<HTMLElement> | undefined;
277
+ onPointerCancelCapture?: React.PointerEventHandler<HTMLElement> | undefined;
278
+ onPointerEnter?: React.PointerEventHandler<HTMLElement> | undefined;
279
+ onPointerLeave?: React.PointerEventHandler<HTMLElement> | undefined;
280
+ onPointerOver?: React.PointerEventHandler<HTMLElement> | undefined;
281
+ onPointerOverCapture?: React.PointerEventHandler<HTMLElement> | undefined;
282
+ onPointerOut?: React.PointerEventHandler<HTMLElement> | undefined;
283
+ onPointerOutCapture?: React.PointerEventHandler<HTMLElement> | undefined;
284
+ onGotPointerCapture?: React.PointerEventHandler<HTMLElement> | undefined;
285
+ onGotPointerCaptureCapture?: React.PointerEventHandler<HTMLElement> | undefined;
286
+ onLostPointerCapture?: React.PointerEventHandler<HTMLElement> | undefined;
287
+ onLostPointerCaptureCapture?: React.PointerEventHandler<HTMLElement> | undefined;
288
+ onScroll?: React.UIEventHandler<HTMLElement> | undefined;
289
+ onScrollCapture?: React.UIEventHandler<HTMLElement> | undefined;
290
+ onWheel?: React.WheelEventHandler<HTMLElement> | undefined;
291
+ onWheelCapture?: React.WheelEventHandler<HTMLElement> | undefined;
292
+ onAnimationStart?: React.AnimationEventHandler<HTMLElement> | undefined;
293
+ onAnimationStartCapture?: React.AnimationEventHandler<HTMLElement> | undefined;
294
+ onAnimationEnd?: React.AnimationEventHandler<HTMLElement> | undefined;
295
+ onAnimationEndCapture?: React.AnimationEventHandler<HTMLElement> | undefined;
296
+ onAnimationIteration?: React.AnimationEventHandler<HTMLElement> | undefined;
297
+ onAnimationIterationCapture?: React.AnimationEventHandler<HTMLElement> | undefined;
298
+ onToggle?: React.ToggleEventHandler<HTMLElement> | undefined;
299
+ onBeforeToggle?: React.ToggleEventHandler<HTMLElement> | undefined;
300
+ onTransitionCancel?: React.TransitionEventHandler<HTMLElement> | undefined;
301
+ onTransitionCancelCapture?: React.TransitionEventHandler<HTMLElement> | undefined;
302
+ onTransitionEnd?: React.TransitionEventHandler<HTMLElement> | undefined;
303
+ onTransitionEndCapture?: React.TransitionEventHandler<HTMLElement> | undefined;
304
+ onTransitionRun?: React.TransitionEventHandler<HTMLElement> | undefined;
305
+ onTransitionRunCapture?: React.TransitionEventHandler<HTMLElement> | undefined;
306
+ onTransitionStart?: React.TransitionEventHandler<HTMLElement> | undefined;
307
+ onTransitionStartCapture?: React.TransitionEventHandler<HTMLElement> | undefined;
308
308
  };
309
309
  contentProps: {
310
310
  role: string;
@@ -312,6 +312,7 @@ export function useScrollView(props: ScrollViewProps, ref: _RefObject1<HTMLEleme
312
312
  };
313
313
  };
314
314
  interface VirtualizerItemProps extends Omit<VirtualizerItemOptions, 'ref'> {
315
+ layoutInfo: LayoutInfo;
315
316
  parent?: LayoutInfo | null;
316
317
  style?: CSSProperties;
317
318
  className?: string;
@@ -319,7 +320,7 @@ interface VirtualizerItemProps extends Omit<VirtualizerItemOptions, 'ref'> {
319
320
  }
320
321
  export function VirtualizerItem(props: VirtualizerItemProps): React.JSX.Element;
321
322
  export function layoutInfoToStyle(layoutInfo: LayoutInfo, dir: Direction, parent?: LayoutInfo | null): CSSProperties;
322
- type RenderWrapper<T extends object, V> = (parent: ReusableView<T, V> | null, reusableView: ReusableView<T, V>, children: ReusableView<T, V>[], renderChildren: (views: ReusableView<T, V>[]) => ReactElement[]) => ReactElement;
323
+ type RenderWrapper<T extends object, V> = (parent: ReusableView<T, V> | null, reusableView: ReusableView<T, V>, children: ReusableView<T, V>[], renderChildren: (views: ReusableView<T, V>[]) => ReactElement[]) => ReactElement | null;
323
324
  interface VirtualizerProps<T extends object, V, O> extends Omit<HTMLAttributes<HTMLElement>, 'children'> {
324
325
  children: (type: string, content: T) => V;
325
326
  renderWrapper?: RenderWrapper<T, V>;
@@ -1 +1 @@
1
- {"mappings":";;;AAcA,4BACI,UAAU,GACV,qBAAqB,GACrB,oBAAoB,CAAC;AAezB,iCAAiC,WAAW,GAAE,OAAe,GAAG,aAAa,CAmC5E;AAED,8BAA8B,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM,CAkBzE;AAED,8BAA8B,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,QAiBpF;ACzFD;IACE,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;CAC3C;AAED;IACE,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,YAAY,CAAC;IAC1B,GAAG,EAAE,UAAU,WAAW,GAAG,IAAI,CAAC,CAAA;CACnC;AAED,mCAAmC,OAAO,EAAE,sBAAsB;;EAiBjE;ACdD,yBAA0B,SAAQ,eAAe,WAAW,CAAC;IAC3D,WAAW,EAAE,IAAI,CAAC;IAClB,mBAAmB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC1C,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,eAAe,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,MAAM,CAAA;CACrD;AAeD,OAAA,MAAM,kGAAmD,CAAC;AAG1D,8BAA8B,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,YAAU,WAAW,GAAG,IAAI,CAAC;;;mBAvB3E,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6NrB;AC5OD,8BAA+B,SAAQ,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAC;IACxE,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,gCAAgC,KAAK,EAAE,oBAAoB,qBAe1D;AAGD,kCAAkC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,GAAG,aAAa,CAgDnH;ACxED,mBAAmB,CAAC,SAAS,MAAM,EAAE,CAAC,IAAI,CACxC,MAAM,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EACjC,YAAY,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,EAChC,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,EAC9B,cAAc,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,YAAY,EAAE,KAC5D,YAAY,CAAC;AAElB,2BAA2B,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC,CAAE,SAAQ,IAAI,CAAC,eAAe,WAAW,CAAC,EAAE,UAAU,CAAC;IACtG,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;IAC1C,aAAa,CAAC,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;IACpC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IACrB,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;IAC1B,aAAa,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAChC,eAAe,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,MAAM,CAAC;IACrD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,aAAa,CAAC,EAAE,CAAC,CAAA;CAClB;AAqDD,OAAA,MAAM,aAAgD,CAAC,CAAgB,SAAN,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG;IAAC,GAAG,CAAC,EAAE,UAAU,cAAc,GAAG,IAAI,CAAC,CAAA;CAAC,KAAK,YAAY,CAAC","sources":["packages/@react-aria/virtualizer/src/packages/@react-aria/virtualizer/src/utils.ts","packages/@react-aria/virtualizer/src/packages/@react-aria/virtualizer/src/useVirtualizerItem.ts","packages/@react-aria/virtualizer/src/packages/@react-aria/virtualizer/src/ScrollView.tsx","packages/@react-aria/virtualizer/src/packages/@react-aria/virtualizer/src/VirtualizerItem.tsx","packages/@react-aria/virtualizer/src/packages/@react-aria/virtualizer/src/Virtualizer.tsx","packages/@react-aria/virtualizer/src/packages/@react-aria/virtualizer/src/index.ts","packages/@react-aria/virtualizer/src/index.ts"],"sourcesContent":[null,null,null,null,null,null,"/*\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 type {RTLOffsetType} from './utils';\nexport type {VirtualizerItemOptions} from './useVirtualizerItem';\nexport {Virtualizer} from './Virtualizer';\nexport {useVirtualizerItem} from './useVirtualizerItem';\nexport {VirtualizerItem, layoutInfoToStyle} from './VirtualizerItem';\nexport {ScrollView, useScrollView} from './ScrollView';\nexport {getRTLOffsetType, getScrollLeft, setScrollLeft} from './utils';\n"],"names":[],"version":3,"file":"types.d.ts.map"}
1
+ {"mappings":"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","sources":["packages/@react-aria/virtualizer/src/packages/@react-aria/virtualizer/src/utils.ts","packages/@react-aria/virtualizer/src/packages/@react-aria/virtualizer/src/useVirtualizerItem.ts","packages/@react-aria/virtualizer/src/packages/@react-aria/virtualizer/src/ScrollView.tsx","packages/@react-aria/virtualizer/src/packages/@react-aria/virtualizer/src/VirtualizerItem.tsx","packages/@react-aria/virtualizer/src/packages/@react-aria/virtualizer/src/Virtualizer.tsx","packages/@react-aria/virtualizer/src/packages/@react-aria/virtualizer/src/index.ts","packages/@react-aria/virtualizer/src/index.ts"],"sourcesContent":[null,null,null,null,null,null,"/*\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 type {RTLOffsetType} from './utils';\nexport type {VirtualizerItemOptions} from './useVirtualizerItem';\nexport {Virtualizer} from './Virtualizer';\nexport {useVirtualizerItem} from './useVirtualizerItem';\nexport {VirtualizerItem, layoutInfoToStyle} from './VirtualizerItem';\nexport {ScrollView, useScrollView} from './ScrollView';\nexport {getRTLOffsetType, getScrollLeft, setScrollLeft} from './utils';\n"],"names":[],"version":3,"file":"types.d.ts.map"}
@@ -23,14 +23,15 @@ $parcel$export(module.exports, "useVirtualizerItem", () => $7d70e069fceb2deb$exp
23
23
 
24
24
  function $7d70e069fceb2deb$export$1da781778207e0a2(options) {
25
25
  let { layoutInfo: layoutInfo, virtualizer: virtualizer, ref: ref } = options;
26
+ let key = layoutInfo === null || layoutInfo === void 0 ? void 0 : layoutInfo.key;
26
27
  let updateSize = (0, $64doO$react.useCallback)(()=>{
27
- if (layoutInfo) {
28
+ if (key != null && ref.current) {
28
29
  let size = $7d70e069fceb2deb$var$getSize(ref.current);
29
- virtualizer.updateItemSize(layoutInfo.key, size);
30
+ virtualizer.updateItemSize(key, size);
30
31
  }
31
32
  }, [
32
33
  virtualizer,
33
- layoutInfo === null || layoutInfo === void 0 ? void 0 : layoutInfo.key,
34
+ key,
34
35
  ref
35
36
  ]);
36
37
  (0, $64doO$reactariautils.useLayoutEffect)(()=>{
@@ -1 +1 @@
1
- {"mappings":";;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;AAiBM,SAAS,0CAAmB,OAA+B;IAChE,IAAI,cAAC,UAAU,eAAE,WAAW,OAAE,GAAG,EAAC,GAAG;IAErC,IAAI,aAAa,CAAA,GAAA,wBAAU,EAAE;QAC3B,IAAI,YAAY;YACd,IAAI,OAAO,8BAAQ,IAAI,OAAO;YAC9B,YAAY,cAAc,CAAC,WAAW,GAAG,EAAE;QAC7C;IACF,GAAG;QAAC;QAAa,uBAAA,iCAAA,WAAY,GAAG;QAAE;KAAI;IAEtC,CAAA,GAAA,qCAAc,EAAE;QACd,IAAI,uBAAA,iCAAA,WAAY,aAAa,EAC3B;IAEJ;IAEA,OAAO;oBAAC;IAAU;AACpB;AAEA,SAAS,8BAAQ,IAAiB;IAChC,6DAA6D;IAC7D,IAAI,SAAS,KAAK,KAAK,CAAC,MAAM;IAC9B,KAAK,KAAK,CAAC,MAAM,GAAG;IACpB,IAAI,OAAO,IAAI,CAAA,GAAA,mCAAG,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY;IACvD,KAAK,KAAK,CAAC,MAAM,GAAG;IACpB,OAAO;AACT","sources":["packages/@react-aria/virtualizer/src/useVirtualizerItem.ts"],"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 {Key, RefObject} from '@react-types/shared';\nimport {LayoutInfo, Size} from '@react-stately/virtualizer';\nimport {useCallback} from 'react';\nimport {useLayoutEffect} from '@react-aria/utils';\n\ninterface IVirtualizer {\n updateItemSize(key: Key, size: Size): void\n}\n\nexport interface VirtualizerItemOptions {\n layoutInfo: LayoutInfo,\n virtualizer: IVirtualizer,\n ref: RefObject<HTMLElement | null>\n}\n\nexport function useVirtualizerItem(options: VirtualizerItemOptions) {\n let {layoutInfo, virtualizer, ref} = options;\n\n let updateSize = useCallback(() => {\n if (layoutInfo) {\n let size = getSize(ref.current);\n virtualizer.updateItemSize(layoutInfo.key, size);\n }\n }, [virtualizer, layoutInfo?.key, ref]);\n\n useLayoutEffect(() => {\n if (layoutInfo?.estimatedSize) {\n updateSize();\n }\n });\n\n return {updateSize};\n}\n\nfunction getSize(node: HTMLElement) {\n // Reset height before measuring so we get the intrinsic size\n let height = node.style.height;\n node.style.height = '';\n let size = new Size(node.scrollWidth, node.scrollHeight);\n node.style.height = height;\n return size;\n}\n"],"names":[],"version":3,"file":"useVirtualizerItem.main.js.map"}
1
+ {"mappings":";;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;AAiBM,SAAS,0CAAmB,OAA+B;IAChE,IAAI,cAAC,UAAU,eAAE,WAAW,OAAE,GAAG,EAAC,GAAG;IACrC,IAAI,MAAM,uBAAA,iCAAA,WAAY,GAAG;IAEzB,IAAI,aAAa,CAAA,GAAA,wBAAU,EAAE;QAC3B,IAAI,OAAO,QAAQ,IAAI,OAAO,EAAE;YAC9B,IAAI,OAAO,8BAAQ,IAAI,OAAO;YAC9B,YAAY,cAAc,CAAC,KAAK;QAClC;IACF,GAAG;QAAC;QAAa;QAAK;KAAI;IAE1B,CAAA,GAAA,qCAAc,EAAE;QACd,IAAI,uBAAA,iCAAA,WAAY,aAAa,EAC3B;IAEJ;IAEA,OAAO;oBAAC;IAAU;AACpB;AAEA,SAAS,8BAAQ,IAAiB;IAChC,6DAA6D;IAC7D,IAAI,SAAS,KAAK,KAAK,CAAC,MAAM;IAC9B,KAAK,KAAK,CAAC,MAAM,GAAG;IACpB,IAAI,OAAO,IAAI,CAAA,GAAA,mCAAG,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY;IACvD,KAAK,KAAK,CAAC,MAAM,GAAG;IACpB,OAAO;AACT","sources":["packages/@react-aria/virtualizer/src/useVirtualizerItem.ts"],"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 {Key, RefObject} from '@react-types/shared';\nimport {LayoutInfo, Size} from '@react-stately/virtualizer';\nimport {useCallback} from 'react';\nimport {useLayoutEffect} from '@react-aria/utils';\n\ninterface IVirtualizer {\n updateItemSize(key: Key, size: Size): void\n}\n\nexport interface VirtualizerItemOptions {\n layoutInfo: LayoutInfo | null,\n virtualizer: IVirtualizer,\n ref: RefObject<HTMLElement | null>\n}\n\nexport function useVirtualizerItem(options: VirtualizerItemOptions) {\n let {layoutInfo, virtualizer, ref} = options;\n let key = layoutInfo?.key;\n\n let updateSize = useCallback(() => {\n if (key != null && ref.current) {\n let size = getSize(ref.current);\n virtualizer.updateItemSize(key, size);\n }\n }, [virtualizer, key, ref]);\n\n useLayoutEffect(() => {\n if (layoutInfo?.estimatedSize) {\n updateSize();\n }\n });\n\n return {updateSize};\n}\n\nfunction getSize(node: HTMLElement) {\n // Reset height before measuring so we get the intrinsic size\n let height = node.style.height;\n node.style.height = '';\n let size = new Size(node.scrollWidth, node.scrollHeight);\n node.style.height = height;\n return size;\n}\n"],"names":[],"version":3,"file":"useVirtualizerItem.main.js.map"}
@@ -17,14 +17,15 @@ import {useLayoutEffect as $uBoVA$useLayoutEffect} from "@react-aria/utils";
17
17
 
18
18
  function $47736c1e63ba1c6d$export$1da781778207e0a2(options) {
19
19
  let { layoutInfo: layoutInfo, virtualizer: virtualizer, ref: ref } = options;
20
+ let key = layoutInfo === null || layoutInfo === void 0 ? void 0 : layoutInfo.key;
20
21
  let updateSize = (0, $uBoVA$useCallback)(()=>{
21
- if (layoutInfo) {
22
+ if (key != null && ref.current) {
22
23
  let size = $47736c1e63ba1c6d$var$getSize(ref.current);
23
- virtualizer.updateItemSize(layoutInfo.key, size);
24
+ virtualizer.updateItemSize(key, size);
24
25
  }
25
26
  }, [
26
27
  virtualizer,
27
- layoutInfo === null || layoutInfo === void 0 ? void 0 : layoutInfo.key,
28
+ key,
28
29
  ref
29
30
  ]);
30
31
  (0, $uBoVA$useLayoutEffect)(()=>{
@@ -17,14 +17,15 @@ import {useLayoutEffect as $uBoVA$useLayoutEffect} from "@react-aria/utils";
17
17
 
18
18
  function $47736c1e63ba1c6d$export$1da781778207e0a2(options) {
19
19
  let { layoutInfo: layoutInfo, virtualizer: virtualizer, ref: ref } = options;
20
+ let key = layoutInfo === null || layoutInfo === void 0 ? void 0 : layoutInfo.key;
20
21
  let updateSize = (0, $uBoVA$useCallback)(()=>{
21
- if (layoutInfo) {
22
+ if (key != null && ref.current) {
22
23
  let size = $47736c1e63ba1c6d$var$getSize(ref.current);
23
- virtualizer.updateItemSize(layoutInfo.key, size);
24
+ virtualizer.updateItemSize(key, size);
24
25
  }
25
26
  }, [
26
27
  virtualizer,
27
- layoutInfo === null || layoutInfo === void 0 ? void 0 : layoutInfo.key,
28
+ key,
28
29
  ref
29
30
  ]);
30
31
  (0, $uBoVA$useLayoutEffect)(()=>{
@@ -1 +1 @@
1
- {"mappings":";;;;AAAA;;;;;;;;;;CAUC;;;AAiBM,SAAS,0CAAmB,OAA+B;IAChE,IAAI,cAAC,UAAU,eAAE,WAAW,OAAE,GAAG,EAAC,GAAG;IAErC,IAAI,aAAa,CAAA,GAAA,kBAAU,EAAE;QAC3B,IAAI,YAAY;YACd,IAAI,OAAO,8BAAQ,IAAI,OAAO;YAC9B,YAAY,cAAc,CAAC,WAAW,GAAG,EAAE;QAC7C;IACF,GAAG;QAAC;QAAa,uBAAA,iCAAA,WAAY,GAAG;QAAE;KAAI;IAEtC,CAAA,GAAA,sBAAc,EAAE;QACd,IAAI,uBAAA,iCAAA,WAAY,aAAa,EAC3B;IAEJ;IAEA,OAAO;oBAAC;IAAU;AACpB;AAEA,SAAS,8BAAQ,IAAiB;IAChC,6DAA6D;IAC7D,IAAI,SAAS,KAAK,KAAK,CAAC,MAAM;IAC9B,KAAK,KAAK,CAAC,MAAM,GAAG;IACpB,IAAI,OAAO,IAAI,CAAA,GAAA,WAAG,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY;IACvD,KAAK,KAAK,CAAC,MAAM,GAAG;IACpB,OAAO;AACT","sources":["packages/@react-aria/virtualizer/src/useVirtualizerItem.ts"],"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 {Key, RefObject} from '@react-types/shared';\nimport {LayoutInfo, Size} from '@react-stately/virtualizer';\nimport {useCallback} from 'react';\nimport {useLayoutEffect} from '@react-aria/utils';\n\ninterface IVirtualizer {\n updateItemSize(key: Key, size: Size): void\n}\n\nexport interface VirtualizerItemOptions {\n layoutInfo: LayoutInfo,\n virtualizer: IVirtualizer,\n ref: RefObject<HTMLElement | null>\n}\n\nexport function useVirtualizerItem(options: VirtualizerItemOptions) {\n let {layoutInfo, virtualizer, ref} = options;\n\n let updateSize = useCallback(() => {\n if (layoutInfo) {\n let size = getSize(ref.current);\n virtualizer.updateItemSize(layoutInfo.key, size);\n }\n }, [virtualizer, layoutInfo?.key, ref]);\n\n useLayoutEffect(() => {\n if (layoutInfo?.estimatedSize) {\n updateSize();\n }\n });\n\n return {updateSize};\n}\n\nfunction getSize(node: HTMLElement) {\n // Reset height before measuring so we get the intrinsic size\n let height = node.style.height;\n node.style.height = '';\n let size = new Size(node.scrollWidth, node.scrollHeight);\n node.style.height = height;\n return size;\n}\n"],"names":[],"version":3,"file":"useVirtualizerItem.module.js.map"}
1
+ {"mappings":";;;;AAAA;;;;;;;;;;CAUC;;;AAiBM,SAAS,0CAAmB,OAA+B;IAChE,IAAI,cAAC,UAAU,eAAE,WAAW,OAAE,GAAG,EAAC,GAAG;IACrC,IAAI,MAAM,uBAAA,iCAAA,WAAY,GAAG;IAEzB,IAAI,aAAa,CAAA,GAAA,kBAAU,EAAE;QAC3B,IAAI,OAAO,QAAQ,IAAI,OAAO,EAAE;YAC9B,IAAI,OAAO,8BAAQ,IAAI,OAAO;YAC9B,YAAY,cAAc,CAAC,KAAK;QAClC;IACF,GAAG;QAAC;QAAa;QAAK;KAAI;IAE1B,CAAA,GAAA,sBAAc,EAAE;QACd,IAAI,uBAAA,iCAAA,WAAY,aAAa,EAC3B;IAEJ;IAEA,OAAO;oBAAC;IAAU;AACpB;AAEA,SAAS,8BAAQ,IAAiB;IAChC,6DAA6D;IAC7D,IAAI,SAAS,KAAK,KAAK,CAAC,MAAM;IAC9B,KAAK,KAAK,CAAC,MAAM,GAAG;IACpB,IAAI,OAAO,IAAI,CAAA,GAAA,WAAG,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY;IACvD,KAAK,KAAK,CAAC,MAAM,GAAG;IACpB,OAAO;AACT","sources":["packages/@react-aria/virtualizer/src/useVirtualizerItem.ts"],"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 {Key, RefObject} from '@react-types/shared';\nimport {LayoutInfo, Size} from '@react-stately/virtualizer';\nimport {useCallback} from 'react';\nimport {useLayoutEffect} from '@react-aria/utils';\n\ninterface IVirtualizer {\n updateItemSize(key: Key, size: Size): void\n}\n\nexport interface VirtualizerItemOptions {\n layoutInfo: LayoutInfo | null,\n virtualizer: IVirtualizer,\n ref: RefObject<HTMLElement | null>\n}\n\nexport function useVirtualizerItem(options: VirtualizerItemOptions) {\n let {layoutInfo, virtualizer, ref} = options;\n let key = layoutInfo?.key;\n\n let updateSize = useCallback(() => {\n if (key != null && ref.current) {\n let size = getSize(ref.current);\n virtualizer.updateItemSize(key, size);\n }\n }, [virtualizer, key, ref]);\n\n useLayoutEffect(() => {\n if (layoutInfo?.estimatedSize) {\n updateSize();\n }\n });\n\n return {updateSize};\n}\n\nfunction getSize(node: HTMLElement) {\n // Reset height before measuring so we get the intrinsic size\n let height = node.style.height;\n node.style.height = '';\n let size = new Size(node.scrollWidth, node.scrollHeight);\n node.style.height = height;\n return size;\n}\n"],"names":[],"version":3,"file":"useVirtualizerItem.module.js.map"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-aria/virtualizer",
3
- "version": "4.0.4",
3
+ "version": "4.1.0",
4
4
  "description": "Spectrum UI components in React",
5
5
  "license": "Apache-2.0",
6
6
  "main": "dist/main.js",
@@ -22,19 +22,19 @@
22
22
  "url": "https://github.com/adobe/react-spectrum"
23
23
  },
24
24
  "dependencies": {
25
- "@react-aria/i18n": "^3.12.3",
26
- "@react-aria/interactions": "^3.22.4",
27
- "@react-aria/utils": "^3.25.3",
28
- "@react-stately/virtualizer": "^4.1.0",
29
- "@react-types/shared": "^3.25.0",
25
+ "@react-aria/i18n": "^3.12.4",
26
+ "@react-aria/interactions": "^3.22.5",
27
+ "@react-aria/utils": "^3.26.0",
28
+ "@react-stately/virtualizer": "^4.2.0",
29
+ "@react-types/shared": "^3.26.0",
30
30
  "@swc/helpers": "^0.5.0"
31
31
  },
32
32
  "peerDependencies": {
33
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
34
- "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
33
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
34
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
35
35
  },
36
36
  "publishConfig": {
37
37
  "access": "public"
38
38
  },
39
- "gitHead": "8e0a28d188cdbdbd2b32296fa034b1b02ddde229"
39
+ "gitHead": "71f0ef23053f9e03ee7e97df736e8b083e006849"
40
40
  }
@@ -44,7 +44,7 @@ function ScrollView(props: ScrollViewProps, ref: ForwardedRef<HTMLDivElement | n
44
44
 
45
45
  return (
46
46
  <div role="presentation" {...scrollViewProps} ref={ref}>
47
- <div role="presentation" {...contentProps}>
47
+ <div {...contentProps}>
48
48
  {props.children}
49
49
  </div>
50
50
  </div>
@@ -69,7 +69,7 @@ export function useScrollView(props: ScrollViewProps, ref: RefObject<HTMLElement
69
69
  scrollTop: 0,
70
70
  scrollLeft: 0,
71
71
  scrollEndTime: 0,
72
- scrollTimeout: null,
72
+ scrollTimeout: null as ReturnType<typeof setTimeout> | null,
73
73
  width: 0,
74
74
  height: 0,
75
75
  isScrolling: false
@@ -114,7 +114,10 @@ export function useScrollView(props: ScrollViewProps, ref: RefObject<HTMLElement
114
114
  if (state.scrollEndTime <= now + 50) {
115
115
  state.scrollEndTime = now + 300;
116
116
 
117
- clearTimeout(state.scrollTimeout);
117
+ if (state.scrollTimeout != null) {
118
+ clearTimeout(state.scrollTimeout);
119
+ }
120
+
118
121
  state.scrollTimeout = setTimeout(() => {
119
122
  state.isScrolling = false;
120
123
  setScrolling(false);
@@ -132,10 +135,13 @@ export function useScrollView(props: ScrollViewProps, ref: RefObject<HTMLElement
132
135
  // Attach event directly to ref so RAC Virtualizer doesn't need to send props upward.
133
136
  useEvent(ref, 'scroll', onScroll);
134
137
 
135
- // eslint-disable-next-line arrow-body-style
138
+
136
139
  useEffect(() => {
137
140
  return () => {
138
- clearTimeout(state.scrollTimeout);
141
+ if (state.scrollTimeout != null) {
142
+ clearTimeout(state.scrollTimeout);
143
+ }
144
+
139
145
  if (state.isScrolling) {
140
146
  window.dispatchEvent(new Event('tk.connect-observer'));
141
147
  }
@@ -146,7 +152,7 @@ export function useScrollView(props: ScrollViewProps, ref: RefObject<HTMLElement
146
152
  let isUpdatingSize = useRef(false);
147
153
  let updateSize = useEffectEvent((flush: typeof flushSync) => {
148
154
  let dom = ref.current;
149
- if (!dom && !isUpdatingSize.current) {
155
+ if (!dom || isUpdatingSize.current) {
150
156
  return;
151
157
  }
152
158