@legendapp/list 3.0.0-beta.43 → 3.0.0-beta.44

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.
@@ -422,11 +422,6 @@ interface LegendListSpecificProps<ItemT, TItemType extends string | undefined> {
422
422
  * Pairs of viewability configs and their callbacks for tracking visibility.
423
423
  */
424
424
  viewabilityConfigCallbackPairs?: ViewabilityConfigCallbackPairs<ItemT> | undefined;
425
- /**
426
- * If true, delays rendering until initial layout is complete.
427
- * @default false
428
- */
429
- waitForInitialLayout?: boolean;
430
425
  onLoad?: (info: {
431
426
  elapsedTimeInMs: number;
432
427
  }) => void;
@@ -525,6 +520,43 @@ interface ScrollTarget {
525
520
  viewOffset?: number;
526
521
  viewPosition?: number;
527
522
  }
523
+ type BootstrapInitialScrollSession = {
524
+ frameHandle?: number;
525
+ mountFrameCount: number;
526
+ passCount: number;
527
+ previousResolvedOffset?: number;
528
+ scroll: number;
529
+ seedContentOffset: number;
530
+ targetIndexSeed?: number;
531
+ visibleIndices?: readonly number[];
532
+ };
533
+ type InternalScrollTarget = ScrollTarget & {
534
+ waitForInitialScrollCompletionFrame?: boolean;
535
+ };
536
+ type InitialScrollSessionCompletion = {
537
+ didDispatchNativeScroll?: boolean;
538
+ didRetrySilentInitialScroll?: boolean;
539
+ watchdog?: {
540
+ startScroll: number;
541
+ targetOffset: number;
542
+ };
543
+ };
544
+ interface InternalInitialScrollTarget extends ScrollIndexWithOffsetAndContentOffset {
545
+ preserveForBottomPadding?: boolean;
546
+ preserveForFooterLayout?: boolean;
547
+ }
548
+ type InternalInitialScrollSessionBase = {
549
+ completion?: InitialScrollSessionCompletion;
550
+ previousDataLength: number;
551
+ };
552
+ type OffsetInitialScrollSession = InternalInitialScrollSessionBase & {
553
+ kind: "offset";
554
+ };
555
+ type BootstrapOwnedInitialScrollSession = InternalInitialScrollSessionBase & {
556
+ bootstrap?: BootstrapInitialScrollSession;
557
+ kind: "bootstrap";
558
+ };
559
+ type InternalInitialScrollSession = OffsetInitialScrollSession | BootstrapOwnedInitialScrollSession;
528
560
  interface InternalState {
529
561
  activeStickyIndex: number | undefined;
530
562
  adjustingFromInitialMount?: number;
@@ -539,6 +571,7 @@ interface InternalState {
539
571
  containerItemTypes: Map<number, string>;
540
572
  dataChangeEpoch: number;
541
573
  dataChangeNeedsScrollUpdate: boolean;
574
+ deferredPublicOnScrollEvent?: NativeSyntheticEvent<NativeScrollEvent>;
542
575
  didColumnsChange?: boolean;
543
576
  didDataChange?: boolean;
544
577
  didFinishInitialScroll?: boolean;
@@ -558,19 +591,8 @@ interface InternalState {
558
591
  ignoreScrollFromMVCPIgnored?: boolean;
559
592
  ignoreScrollFromMVCPTimeout?: any;
560
593
  indexByKey: Map<string, number>;
561
- initialAnchor?: InitialScrollAnchor;
562
- initialNativeScrollWatchdog?: {
563
- startScroll: number;
564
- targetOffset: number;
565
- };
566
- initialScrollLastDidFinish: boolean;
567
- initialScrollLastTarget: ScrollIndexWithOffsetAndContentOffset | undefined;
568
- initialScrollLastTargetUsesOffset: boolean;
569
- initialScrollPreviousDataLength: number;
570
- initialScrollRetryLastLength: number | undefined;
571
- initialScrollRetryWindowUntil: number;
572
- initialScroll: ScrollIndexWithOffsetAndContentOffset | undefined;
573
- initialScrollUsesOffset: boolean;
594
+ initialScrollSession?: InternalInitialScrollSession;
595
+ initialScroll: InternalInitialScrollTarget | undefined;
574
596
  isAtEnd: boolean;
575
597
  isAtStart: boolean;
576
598
  isEndReached: boolean | null;
@@ -608,6 +630,7 @@ interface InternalState {
608
630
  queuedCalculateItemsInView: number | undefined;
609
631
  queuedMVCPRecalculate?: number;
610
632
  queuedInitialLayout?: boolean | undefined;
633
+ reprocessCurrentScroll?: () => void;
611
634
  refScroller: React.RefObject<LegendListScrollerRef | null>;
612
635
  scroll: number;
613
636
  scrollAdjustHandler: ScrollAdjustHandler;
@@ -619,7 +642,7 @@ interface InternalState {
619
642
  scroll: number;
620
643
  time: number;
621
644
  }>;
622
- scrollingTo?: ScrollTarget | undefined;
645
+ scrollingTo?: InternalScrollTarget | undefined;
623
646
  scrollLastCalculate?: number;
624
647
  scrollLength: number;
625
648
  scrollPending: number;
@@ -920,6 +943,7 @@ interface ScrollIndexWithOffsetPosition extends ScrollIndexWithOffset {
920
943
  interface ScrollIndexWithOffsetAndContentOffset extends ScrollIndexWithOffsetPosition {
921
944
  contentOffset?: number;
922
945
  }
946
+ /** @deprecated Kept for backwards compatibility. Use `ScrollIndexWithOffsetPosition`. */
923
947
  interface InitialScrollAnchor extends ScrollIndexWithOffsetPosition {
924
948
  attempts?: number;
925
949
  lastDelta?: number;