cineview 0.0.1-beta
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/LICENSE +21 -0
- package/README.md +102 -0
- package/README.zh-CN.md +102 -0
- package/dist/animations/animationParser.d.ts +24 -0
- package/dist/animations/composer.d.ts +13 -0
- package/dist/animations/presets/blink.d.ts +18 -0
- package/dist/animations/presets/blur.d.ts +18 -0
- package/dist/animations/presets/bounce.d.ts +18 -0
- package/dist/animations/presets/elastic.d.ts +23 -0
- package/dist/animations/presets/fade.d.ts +18 -0
- package/dist/animations/presets/flip.d.ts +18 -0
- package/dist/animations/presets/index.d.ts +38 -0
- package/dist/animations/presets/rotate.d.ts +23 -0
- package/dist/animations/presets/shake.d.ts +28 -0
- package/dist/animations/presets/slide.d.ts +23 -0
- package/dist/animations/presets/special.d.ts +38 -0
- package/dist/animations/presets/zoom.d.ts +23 -0
- package/dist/animations/registry.d.ts +51 -0
- package/dist/artifacts.json +40 -0
- package/dist/blink-BGmsrTwW.mjs +81 -0
- package/dist/blur-CQoB_VWp.mjs +52 -0
- package/dist/bounce-B_QJxgOq.mjs +64 -0
- package/dist/cineview-dev.css +2 -0
- package/dist/cineview-dev.es.mjs +2 -0
- package/dist/cineview-drag.umd.js +2 -0
- package/dist/cineview-scroll.umd.js +2 -0
- package/dist/cineview.es.mjs +2 -0
- package/dist/cineview.umd.js +2 -0
- package/dist/components/Animate/Animate.d.ts +67 -0
- package/dist/components/Animate/AnimateRenderBridge.d.ts +16 -0
- package/dist/components/Animate/AnimateVideo.d.ts +59 -0
- package/dist/components/Animate/StaggerContainer.d.ts +35 -0
- package/dist/components/Animate/__fixtures__/animate-media-public-path.fixture.d.ts +1 -0
- package/dist/components/Animate/animateInterpolation.d.ts +41 -0
- package/dist/components/Animate/animateRenderState.d.ts +23 -0
- package/dist/components/Animate/animateSemantics.d.ts +38 -0
- package/dist/components/Animate/animateTimeline.d.ts +14 -0
- package/dist/components/Animate/dragVisualState.d.ts +26 -0
- package/dist/components/Animate/index.d.ts +6 -0
- package/dist/components/Animate/useAnimateArrival.d.ts +35 -0
- package/dist/components/Animate/useAnimateDrag.d.ts +34 -0
- package/dist/components/Animate/useAnimatePublicTimeline.d.ts +16 -0
- package/dist/components/Animate/useAnimateScroll.d.ts +83 -0
- package/dist/components/Animate/useAnimatedPropertyLanes.d.ts +30 -0
- package/dist/components/Animate/visibilityScheduler.d.ts +12 -0
- package/dist/components/Cineview/Cineview.d.ts +46 -0
- package/dist/components/Cineview/CineviewDispatch.d.ts +2 -0
- package/dist/components/Cineview/DirectScrollCineview.d.ts +8 -0
- package/dist/components/Cineview/DragSceneStack.d.ts +55 -0
- package/dist/components/Cineview/ScrollSceneSlot.d.ts +42 -0
- package/dist/components/Cineview/ScrollSceneStack.d.ts +13 -0
- package/dist/components/Cineview/ScrollbarOverlay.d.ts +24 -0
- package/dist/components/Cineview/directScrollHelpers.d.ts +77 -0
- package/dist/components/Cineview/index.d.ts +5 -0
- package/dist/components/Cineview/preloadTargets.d.ts +18 -0
- package/dist/components/Cineview/regroupCallbacks.d.ts +10 -0
- package/dist/components/Cineview/useCineviewImperativeApi.d.ts +21 -0
- package/dist/components/Cineview/useNativeScrollController.d.ts +38 -0
- package/dist/components/Cineview/useScrollInputBindings.d.ts +9 -0
- package/dist/components/Cineview/useScrollSceneLayout.d.ts +24 -0
- package/dist/components/Cineview/useScrollSceneSnapshots.d.ts +32 -0
- package/dist/components/Cineview/useScrollViewport.d.ts +20 -0
- package/dist/components/Cineview/useScrollZoneRegistry.d.ts +35 -0
- package/dist/components/Container/Container.d.ts +2 -0
- package/dist/components/Container/index.d.ts +1 -0
- package/dist/components/Image/Image.d.ts +12 -0
- package/dist/components/Image/index.d.ts +2 -0
- package/dist/components/Position/Position.d.ts +13 -0
- package/dist/components/Position/index.d.ts +1 -0
- package/dist/components/Scene/Scene.d.ts +10 -0
- package/dist/components/Scene/SceneFixedLayer.d.ts +14 -0
- package/dist/components/Scene/__fixtures__/scene-grouped-public-path.fixture.d.ts +1 -0
- package/dist/components/Scene/dragPreparedState.d.ts +49 -0
- package/dist/components/Scene/helpers.d.ts +101 -0
- package/dist/components/Scene/index.d.ts +1 -0
- package/dist/components/Scene/sceneScrollBudget.d.ts +38 -0
- package/dist/components/Scene/sceneScrollRuntime.d.ts +65 -0
- package/dist/components/Scene/types.d.ts +189 -0
- package/dist/components/Scene/useDragSceneEngine.d.ts +67 -0
- package/dist/components/Scene/useElementTrack.d.ts +82 -0
- package/dist/components/Scene/useNativePointerDrag.d.ts +25 -0
- package/dist/components/Scene/useSceneAnimationRegistry.d.ts +56 -0
- package/dist/components/Scene/useScenePointerInput.d.ts +28 -0
- package/dist/components/Scene/useSceneRuntimeState.d.ts +17 -0
- package/dist/components/Scene/useSceneScrollTakeover.d.ts +13 -0
- package/dist/components/Scene/useScrollSceneEngine.d.ts +28 -0
- package/dist/components/runtime/runtimeContext.d.ts +14 -0
- package/dist/components/runtime/scrollExternalStore.d.ts +13 -0
- package/dist/components/runtime/scrollSceneFrameStore.d.ts +29 -0
- package/dist/context/CineviewContext.d.ts +25 -0
- package/dist/dev/PerfPanel.d.ts +16 -0
- package/dist/dev/index.d.ts +14 -0
- package/dist/dev/usePerfMonitor.d.ts +9 -0
- package/dist/drag-scene-engine-y8Wj9ivV.mjs +270 -0
- package/dist/elastic-CBP_FdRv.mjs +129 -0
- package/dist/element-track-Du10P12_.mjs +316 -0
- package/dist/entry-drag.d.ts +14 -0
- package/dist/entry-scroll.d.ts +14 -0
- package/dist/fade-DXxFsgxR.mjs +22 -0
- package/dist/flip-CrCoNIws.mjs +49 -0
- package/dist/hooks/imagePreloadCache.d.ts +4 -0
- package/dist/hooks/mediaPreloadCache.d.ts +31 -0
- package/dist/hooks/useFirstSceneEnter.d.ts +65 -0
- package/dist/hooks/useImagePreloader.d.ts +31 -0
- package/dist/hooks/usePrefersReducedMotion.d.ts +12 -0
- package/dist/hooks/useSceneManager.d.ts +79 -0
- package/dist/index.d.ts +17 -0
- package/dist/media/VideoFrameRenderer.d.ts +48 -0
- package/dist/media/videoPlaybackOwnership.d.ts +63 -0
- package/dist/performance-monitor-AlOOwzY_.mjs +73 -0
- package/dist/public-api.d.ts +12 -0
- package/dist/rotate-BMEBKDk5.mjs +69 -0
- package/dist/scene-animation-registry-8b0m_IaZ.mjs +422 -0
- package/dist/shake-BV6SdR9O.mjs +171 -0
- package/dist/slide-DWmVtj0L.mjs +63 -0
- package/dist/special-DDz8BopB.mjs +224 -0
- package/dist/types/index.d.ts +552 -0
- package/dist/utils/animationHelpers.d.ts +15 -0
- package/dist/utils/debounce.d.ts +18 -0
- package/dist/utils/devLog.d.ts +16 -0
- package/dist/utils/dragTimelineMapping.d.ts +30 -0
- package/dist/utils/gestureDetector.d.ts +67 -0
- package/dist/utils/performanceMonitor.d.ts +66 -0
- package/dist/utils/styleConvert.d.ts +7 -0
- package/dist/utils/useIsomorphicLayoutEffect.d.ts +22 -0
- package/dist/utils/useStructurallyStableValue.d.ts +5 -0
- package/dist/zoom-CuAthpqd.mjs +63 -0
- package/package.json +171 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { buildSceneTimelineState, SceneAuthoringCompatProps, SceneLayoutInfo, ScrollInputDirection } from './directScrollHelpers';
|
|
3
|
+
import { ScrollModeConfig } from '../../types';
|
|
4
|
+
import { GroupedCallbacks } from './regroupCallbacks';
|
|
5
|
+
import { SceneScrollTimelineState } from '../Scene/sceneScrollRuntime';
|
|
6
|
+
import { KeyedScrollExternalStore } from '../runtime/scrollExternalStore';
|
|
7
|
+
import { ScrollSceneFrameStore } from '../runtime/scrollSceneFrameStore';
|
|
8
|
+
export interface ScrollSceneRenderSnapshot {
|
|
9
|
+
sceneLayout: SceneLayoutInfo | null;
|
|
10
|
+
sceneZoneState: SceneScrollTimelineState | null;
|
|
11
|
+
sceneTimelineState: ReturnType<typeof buildSceneTimelineState> | null;
|
|
12
|
+
isCurrent: boolean;
|
|
13
|
+
isBackdropActive: boolean;
|
|
14
|
+
visualViewportOffset: number;
|
|
15
|
+
isScrolling: boolean;
|
|
16
|
+
scrollDirection: ScrollInputDirection | null;
|
|
17
|
+
activeSceneIndex: number;
|
|
18
|
+
viewportWidth: number;
|
|
19
|
+
viewportHeight: number;
|
|
20
|
+
firstSceneEnterGateKnown: boolean;
|
|
21
|
+
firstSceneEnterActive: boolean;
|
|
22
|
+
firstSceneEnterReady: boolean;
|
|
23
|
+
direction: 'x' | 'y';
|
|
24
|
+
sceneCount: number;
|
|
25
|
+
sceneSizing: ScrollModeConfig['sceneSizing'];
|
|
26
|
+
exposeTakeoverDebugData: boolean;
|
|
27
|
+
takeoverSceneSpan: number | null;
|
|
28
|
+
}
|
|
29
|
+
export declare const EMPTY_SCROLL_SCENE_SNAPSHOT: ScrollSceneRenderSnapshot;
|
|
30
|
+
export type ScrollSceneSnapshotList = readonly (ScrollSceneRenderSnapshot | undefined)[];
|
|
31
|
+
export type ScrollSceneSnapshotStore = KeyedScrollExternalStore<ScrollSceneSnapshotList, number, ScrollSceneRenderSnapshot>;
|
|
32
|
+
interface ScrollSceneSlotProps {
|
|
33
|
+
child: React.ReactElement<SceneAuthoringCompatProps>;
|
|
34
|
+
store: ScrollSceneSnapshotStore;
|
|
35
|
+
frameStore?: ScrollSceneFrameStore;
|
|
36
|
+
sceneIndex: number;
|
|
37
|
+
setWrapperRef: (sceneIndex: number, node: HTMLDivElement | null) => void;
|
|
38
|
+
scrollCallbacks?: GroupedCallbacks['scroll'];
|
|
39
|
+
}
|
|
40
|
+
export declare function areScrollSceneRenderSnapshotsEqual(previous: ScrollSceneRenderSnapshot, next: ScrollSceneRenderSnapshot): boolean;
|
|
41
|
+
export declare const ScrollSceneSlot: React.NamedExoticComponent<ScrollSceneSlotProps>;
|
|
42
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { GroupedCallbacks } from './regroupCallbacks';
|
|
3
|
+
import { ScrollSceneSnapshotStore } from './ScrollSceneSlot';
|
|
4
|
+
import { ScrollSceneFrameStore } from '../runtime/scrollSceneFrameStore';
|
|
5
|
+
interface ScrollSceneStackProps {
|
|
6
|
+
childrenArray: React.ReactNode[];
|
|
7
|
+
store: ScrollSceneSnapshotStore;
|
|
8
|
+
frameStore?: ScrollSceneFrameStore;
|
|
9
|
+
setWrapperRef: (sceneIndex: number, node: HTMLDivElement | null) => void;
|
|
10
|
+
scrollCallbacks?: GroupedCallbacks['scroll'];
|
|
11
|
+
}
|
|
12
|
+
export declare function ScrollSceneStack({ childrenArray, store, frameStore, setWrapperRef, scrollCallbacks, }: ScrollSceneStackProps): React.JSX.Element;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { ScrollExternalStore } from '../runtime/scrollExternalStore';
|
|
3
|
+
import { ScrollbarConfig, SlideDirection } from '../../types';
|
|
4
|
+
export interface ScrollbarOverlayProps {
|
|
5
|
+
direction: SlideDirection;
|
|
6
|
+
/** Main-axis viewport span (width when direction==='x', height otherwise). */
|
|
7
|
+
viewportSpan: number;
|
|
8
|
+
/** Total scrollable content span. */
|
|
9
|
+
scrollContentSpan: number;
|
|
10
|
+
/** Current native scroll offset (unclamped, component clamps to scrollable range). */
|
|
11
|
+
scrollOffset: number;
|
|
12
|
+
/** Optional live offset store; keeps the root scroll component out of the frame loop. */
|
|
13
|
+
scrollOffsetStore?: ScrollExternalStore<number>;
|
|
14
|
+
/** Whether currently scrolling (drives autoHide fade in/out). */
|
|
15
|
+
isScrolling: boolean;
|
|
16
|
+
/** Resolved scrollbar config object (width/inset/colors/autoHide). */
|
|
17
|
+
config: ScrollbarConfig;
|
|
18
|
+
/** On drag/track click, sends target native offset back to parent to write real scroll state. */
|
|
19
|
+
onScrollToOffset: (targetOffset: number) => void;
|
|
20
|
+
}
|
|
21
|
+
export declare function ScrollbarOverlay({ direction, viewportSpan, scrollContentSpan, scrollOffset: initialScrollOffset, scrollOffsetStore, isScrolling, config, onScrollToOffset, }: ScrollbarOverlayProps): React.JSX.Element | null;
|
|
22
|
+
export declare namespace ScrollbarOverlay {
|
|
23
|
+
var displayName: string;
|
|
24
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { AnimationType, CineviewBaseProps, ScrollTimelineState, SceneProps } from '../../types';
|
|
3
|
+
export type SceneAuthoringCompatProps = SceneProps & {
|
|
4
|
+
sceneId?: string;
|
|
5
|
+
sceneHeight?: number | string;
|
|
6
|
+
sceneWidth?: number | string;
|
|
7
|
+
sceneZIndex?: number;
|
|
8
|
+
sceneTransitionDuration?: number;
|
|
9
|
+
enterAnimation?: AnimationType;
|
|
10
|
+
exitAnimation?: AnimationType;
|
|
11
|
+
exitDuration?: number;
|
|
12
|
+
scrollEnterLength?: number;
|
|
13
|
+
scrollExitLength?: number;
|
|
14
|
+
};
|
|
15
|
+
export interface SceneLayoutInfo {
|
|
16
|
+
sceneStart: number;
|
|
17
|
+
sceneEnd: number;
|
|
18
|
+
visualSpan: number;
|
|
19
|
+
flowSpan: number;
|
|
20
|
+
timelineDistancePx: number;
|
|
21
|
+
centerLockOffset: number;
|
|
22
|
+
segmentStart: number;
|
|
23
|
+
segmentEnd: number;
|
|
24
|
+
enterLength: number;
|
|
25
|
+
exitLength: number;
|
|
26
|
+
stackMode: 'replace' | 'cover';
|
|
27
|
+
}
|
|
28
|
+
export interface CenterLockSegment {
|
|
29
|
+
segmentStart: number;
|
|
30
|
+
segmentEnd: number;
|
|
31
|
+
}
|
|
32
|
+
export type ScrollInputDirection = 'forward' | 'backward';
|
|
33
|
+
export declare const TAKEOVER_PROGRESS_SNAP_EPSILON_PX = 0.01;
|
|
34
|
+
export declare const CENTER_LOCK_BOUNDARY_EPSILON_PX = 0.5;
|
|
35
|
+
export declare function isScrollDebugEnabled(explicit?: boolean): boolean;
|
|
36
|
+
export declare function clamp(value: number, min: number, max: number): number;
|
|
37
|
+
/** Keep authored Scene identity independent of its current position in the list. */
|
|
38
|
+
export declare function getSceneIdentity(scene: React.ReactElement, index: number): string;
|
|
39
|
+
export declare function normalizeWheelDeltaPx(delta: number, deltaMode: number, viewportSpan: number): number;
|
|
40
|
+
export declare function normalizeTouchDeltaPx(delta: number): number;
|
|
41
|
+
export declare function shouldDeferToNestedScrollable(target: EventTarget | null, root: HTMLElement, direction: 'x' | 'y', deltaPx: number): boolean;
|
|
42
|
+
export declare function normalizeKeyboardDeltaPx(key: string, shiftKey: boolean, viewportSpan: number): number;
|
|
43
|
+
export declare function resolveScrollIntentOffset({ currentOffset, deltaPx, maxNativeOffset, segments, }: {
|
|
44
|
+
currentOffset: number;
|
|
45
|
+
deltaPx: number;
|
|
46
|
+
maxNativeOffset: number;
|
|
47
|
+
segments?: CenterLockSegment[];
|
|
48
|
+
}): number;
|
|
49
|
+
/**
|
|
50
|
+
* Scroll keyboard input must never hijack editable or interactive targets:
|
|
51
|
+
* all keys are released to input/textarea/select/contentEditable (typing),
|
|
52
|
+
* and Space is released to button/summary/link-like targets (activation).
|
|
53
|
+
* Shared by the window-level global handler (which additionally requires
|
|
54
|
+
* activeElement === body) and the container's onKeyDownCapture handler
|
|
55
|
+
* (where focus legitimately lives inside the container).
|
|
56
|
+
*/
|
|
57
|
+
export declare function isEditableOrInteractiveScrollKeyTarget(target: EventTarget | null, key: string): boolean;
|
|
58
|
+
export declare function shouldIgnoreGlobalScrollKey(event: KeyboardEvent): boolean;
|
|
59
|
+
export declare function isSceneElement(node: React.ReactNode): node is React.ReactElement<SceneAuthoringCompatProps>;
|
|
60
|
+
export declare function isLegacyDisplayNameSceneElement(node: React.ReactNode): boolean;
|
|
61
|
+
export declare function resolveDesignDimensions(designWidth: CineviewBaseProps['designWidth'] | undefined): {
|
|
62
|
+
designSize: number;
|
|
63
|
+
};
|
|
64
|
+
export declare function getSceneTransitionConfig(sceneProps: SceneAuthoringCompatProps): {
|
|
65
|
+
enterAnimation?: SceneAuthoringCompatProps['enterAnimation'];
|
|
66
|
+
exitAnimation?: SceneAuthoringCompatProps['exitAnimation'];
|
|
67
|
+
transitionDurationMs: number;
|
|
68
|
+
scrollEnterLength?: number;
|
|
69
|
+
scrollExitLength?: number;
|
|
70
|
+
};
|
|
71
|
+
export declare function resolveRootSceneStackMode(sceneProps: SceneAuthoringCompatProps): 'replace' | 'cover';
|
|
72
|
+
export declare function resolveScrollSceneDeclaredSpan(sceneProps: SceneAuthoringCompatProps, direction: 'x' | 'y', viewportWidth: number, viewportHeight: number): number | null;
|
|
73
|
+
export declare function resolveTakeoverSceneSpan(rawSize: number | string | undefined, viewportWidth: number, viewportHeight: number): number | null;
|
|
74
|
+
export declare function getRelativeOffset(element: HTMLElement, root: HTMLElement, direction: 'x' | 'y'): number;
|
|
75
|
+
export declare function buildSceneTimelineState(layout: SceneLayoutInfo | null, scrollOffset: number, viewportSpan: number): ScrollTimelineState | null;
|
|
76
|
+
export declare function areSceneLayoutsEqual(currentLayouts: SceneLayoutInfo[], nextLayouts: SceneLayoutInfo[]): boolean;
|
|
77
|
+
export declare function createScrollbarCss(): string;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { CineviewPreloadTarget } from '../../types';
|
|
2
|
+
interface ScenePreloadTargetProps {
|
|
3
|
+
sceneId?: string;
|
|
4
|
+
scroll?: {
|
|
5
|
+
zoneId?: string;
|
|
6
|
+
};
|
|
7
|
+
assets?: {
|
|
8
|
+
preloadImages?: string[];
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
interface ScenePreloadSceneLike {
|
|
12
|
+
props: ScenePreloadTargetProps;
|
|
13
|
+
}
|
|
14
|
+
export declare function getScenePreloadImages(sceneProps: ScenePreloadTargetProps): string[];
|
|
15
|
+
export declare function resolveScenePreloadTargetImages(scenes: ScenePreloadSceneLike[], targets?: CineviewPreloadTarget[], options?: {
|
|
16
|
+
includeZoneIds?: boolean;
|
|
17
|
+
}): string[];
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CineviewCommonCallbacks, CineviewDragCallbacks, CineviewScrollCallbacks } from '../../types';
|
|
2
|
+
/** Superset of every flat callback key a consumer might pass (any mode). */
|
|
3
|
+
export type FlatCallbacks = CineviewCommonCallbacks & CineviewDragCallbacks & CineviewScrollCallbacks;
|
|
4
|
+
/** Internal grouped shape the runtime reads from. */
|
|
5
|
+
export interface GroupedCallbacks {
|
|
6
|
+
common?: CineviewCommonCallbacks;
|
|
7
|
+
drag?: CineviewDragCallbacks;
|
|
8
|
+
scroll?: CineviewScrollCallbacks;
|
|
9
|
+
}
|
|
10
|
+
export declare function regroupCallbacks(flat: FlatCallbacks | undefined): GroupedCallbacks;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ForwardedRef, MutableRefObject } from 'react';
|
|
2
|
+
import { CineviewRef } from '../../types';
|
|
3
|
+
import { GroupedCallbacks } from './regroupCallbacks';
|
|
4
|
+
interface SceneActionsPort {
|
|
5
|
+
goToScene: (index: number, animated?: boolean) => void;
|
|
6
|
+
}
|
|
7
|
+
interface PreloadActionsPort {
|
|
8
|
+
addUrls: (urls: string[], priority?: boolean) => void;
|
|
9
|
+
startPreload: () => Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
interface UseCineViewImperativeApiParams {
|
|
12
|
+
ref: ForwardedRef<CineviewRef>;
|
|
13
|
+
currentSceneRef: MutableRefObject<number>;
|
|
14
|
+
scenesRef: MutableRefObject<React.ReactElement[]>;
|
|
15
|
+
sceneActionsRef: MutableRefObject<SceneActionsPort>;
|
|
16
|
+
preloadActionsRef: MutableRefObject<PreloadActionsPort>;
|
|
17
|
+
measureViewportRef: MutableRefObject<(() => void) | null>;
|
|
18
|
+
resolvedCallbacksRef: MutableRefObject<GroupedCallbacks>;
|
|
19
|
+
}
|
|
20
|
+
export declare function useCineviewImperativeApi({ ref, currentSceneRef, scenesRef, sceneActionsRef, preloadActionsRef, measureViewportRef, resolvedCallbacksRef, }: UseCineViewImperativeApiParams): CineviewRef;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { MutableRefObject, RefObject } from 'react';
|
|
2
|
+
import { SlideDirection } from '../../types';
|
|
3
|
+
import { SceneLayoutInfo, ScrollInputDirection } from './directScrollHelpers';
|
|
4
|
+
import { GroupedCallbacks } from './regroupCallbacks';
|
|
5
|
+
import { ScrollExternalStore } from '../runtime/scrollExternalStore';
|
|
6
|
+
import { ScrollTimelineStore, ScrollZoneRegistryRef, ScrollZoneStatesRef } from './useScrollZoneRegistry';
|
|
7
|
+
interface UseNativeScrollControllerParams {
|
|
8
|
+
rootRef: RefObject<HTMLDivElement | null>;
|
|
9
|
+
direction: SlideDirection;
|
|
10
|
+
getViewportSpan: () => number;
|
|
11
|
+
updateViewportMetrics: () => void;
|
|
12
|
+
measureSceneLayouts: () => SceneLayoutInfo[];
|
|
13
|
+
sceneLayoutsRef: MutableRefObject<SceneLayoutInfo[]>;
|
|
14
|
+
zoneRegistryRef: ScrollZoneRegistryRef;
|
|
15
|
+
zoneStatesRef: ScrollZoneStatesRef;
|
|
16
|
+
timelineStoreRef: MutableRefObject<ScrollTimelineStore>;
|
|
17
|
+
scrollOffsetRef: MutableRefObject<number>;
|
|
18
|
+
scrollOffsetStore: ScrollExternalStore<number>;
|
|
19
|
+
activeSceneIndexRef: MutableRefObject<number>;
|
|
20
|
+
scrollDirectionRef: MutableRefObject<ScrollInputDirection | null>;
|
|
21
|
+
isScrollingStateRef: MutableRefObject<boolean>;
|
|
22
|
+
updateSceneRenderSnapshotsRef: MutableRefObject<(nativeOffset: number) => void>;
|
|
23
|
+
callbacks: GroupedCallbacks;
|
|
24
|
+
zoneRuntimeVersion: number;
|
|
25
|
+
}
|
|
26
|
+
export interface NativeScrollControllerPort {
|
|
27
|
+
isScrolling: boolean;
|
|
28
|
+
scrollContentSpan: number;
|
|
29
|
+
syncNativeScrollState: (fromGesture?: boolean) => void;
|
|
30
|
+
applyNativeScrollDelta: (deltaPx: number) => boolean;
|
|
31
|
+
applyNativeScrollbarOffset: (targetOffset: number) => void;
|
|
32
|
+
goToScrollZone: (zoneId: string, options?: {
|
|
33
|
+
animated?: boolean;
|
|
34
|
+
}) => void;
|
|
35
|
+
beginProgrammaticScroll: (targetOffset: number) => void;
|
|
36
|
+
}
|
|
37
|
+
export declare function useNativeScrollController({ rootRef, direction, getViewportSpan, updateViewportMetrics, measureSceneLayouts, sceneLayoutsRef, zoneRegistryRef, zoneStatesRef, timelineStoreRef, scrollOffsetRef, scrollOffsetStore, activeSceneIndexRef, scrollDirectionRef, isScrollingStateRef, updateSceneRenderSnapshotsRef, callbacks, zoneRuntimeVersion, }: UseNativeScrollControllerParams): NativeScrollControllerPort;
|
|
38
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
interface UseScrollInputBindingsParams {
|
|
3
|
+
rootRef: RefObject<HTMLDivElement | null>;
|
|
4
|
+
direction: 'x' | 'y';
|
|
5
|
+
getViewportSpan: () => number;
|
|
6
|
+
applyNativeScrollDelta: (deltaPx: number) => boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare function useScrollInputBindings({ rootRef, direction, getViewportSpan, applyNativeScrollDelta, }: UseScrollInputBindingsParams): void;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { MutableRefObject, RefObject } from 'react';
|
|
2
|
+
import { ScrollModeConfig, SlideDirection } from '../../types';
|
|
3
|
+
import { SceneAuthoringCompatProps, SceneLayoutInfo } from './directScrollHelpers';
|
|
4
|
+
import { ScrollZoneRegistryRef } from './useScrollZoneRegistry';
|
|
5
|
+
interface UseScrollSceneLayoutParams {
|
|
6
|
+
rootRef: RefObject<HTMLDivElement | null>;
|
|
7
|
+
direction: SlideDirection;
|
|
8
|
+
scenes: React.ReactElement<SceneAuthoringCompatProps>[];
|
|
9
|
+
sceneSizing: ScrollModeConfig['sceneSizing'];
|
|
10
|
+
getViewportSpan: () => number;
|
|
11
|
+
getZoneIdForScene: (sceneIndex: number) => string | null;
|
|
12
|
+
getZoneDistance: (sceneIndex: number) => number;
|
|
13
|
+
zoneRegistryRef: ScrollZoneRegistryRef;
|
|
14
|
+
scrollOffsetRef: MutableRefObject<number>;
|
|
15
|
+
updateSceneRenderSnapshotsRef: MutableRefObject<(nativeOffset: number) => void>;
|
|
16
|
+
}
|
|
17
|
+
export interface ScrollSceneLayoutPort {
|
|
18
|
+
sceneLayoutsRef: MutableRefObject<SceneLayoutInfo[]>;
|
|
19
|
+
sceneWrapperRefs: MutableRefObject<Array<HTMLDivElement | null>>;
|
|
20
|
+
measureSceneLayouts: () => SceneLayoutInfo[];
|
|
21
|
+
setSceneWrapperRef: (sceneIndex: number, node: HTMLDivElement | null) => void;
|
|
22
|
+
}
|
|
23
|
+
export declare function useScrollSceneLayout({ rootRef, direction, scenes, sceneSizing, getViewportSpan, getZoneIdForScene, getZoneDistance, zoneRegistryRef, scrollOffsetRef, updateSceneRenderSnapshotsRef, }: UseScrollSceneLayoutParams): ScrollSceneLayoutPort;
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { MutableRefObject } from 'react';
|
|
2
|
+
import { ScrollModeConfig, SlideDirection } from '../../types';
|
|
3
|
+
import { SceneAuthoringCompatProps, SceneLayoutInfo, ScrollInputDirection } from './directScrollHelpers';
|
|
4
|
+
import { ScrollSceneSnapshotStore } from './ScrollSceneSlot';
|
|
5
|
+
import { ScrollSceneFrameStore } from '../runtime/scrollSceneFrameStore';
|
|
6
|
+
import { ScrollTimelineStore } from './useScrollZoneRegistry';
|
|
7
|
+
interface UseScrollSceneSnapshotsParams {
|
|
8
|
+
scenes: React.ReactElement<SceneAuthoringCompatProps>[];
|
|
9
|
+
sceneLayoutsRef: MutableRefObject<SceneLayoutInfo[]>;
|
|
10
|
+
timelineStoreRef: MutableRefObject<ScrollTimelineStore>;
|
|
11
|
+
viewportSizeRef: MutableRefObject<{
|
|
12
|
+
width: number;
|
|
13
|
+
height: number;
|
|
14
|
+
}>;
|
|
15
|
+
activeSceneIndexRef: MutableRefObject<number>;
|
|
16
|
+
scrollDirectionRef: MutableRefObject<ScrollInputDirection | null>;
|
|
17
|
+
isScrollingStateRef: MutableRefObject<boolean>;
|
|
18
|
+
direction: SlideDirection;
|
|
19
|
+
sceneSizing: ScrollModeConfig['sceneSizing'];
|
|
20
|
+
firstSceneEnterActive: boolean;
|
|
21
|
+
firstSceneEnterReady: boolean;
|
|
22
|
+
exposeTakeoverDebugData: boolean;
|
|
23
|
+
scrollOffsetRef: MutableRefObject<number>;
|
|
24
|
+
updateSceneRenderSnapshotsRef: MutableRefObject<(nativeOffset: number) => void>;
|
|
25
|
+
}
|
|
26
|
+
export interface ScrollSceneSnapshotsPort {
|
|
27
|
+
store: ScrollSceneSnapshotStore;
|
|
28
|
+
frameStore: ScrollSceneFrameStore;
|
|
29
|
+
updateSceneRenderSnapshots: (nativeOffset: number) => void;
|
|
30
|
+
}
|
|
31
|
+
export declare function useScrollSceneSnapshots({ scenes, sceneLayoutsRef, timelineStoreRef, viewportSizeRef, activeSceneIndexRef, scrollDirectionRef, isScrollingStateRef, direction, sceneSizing, firstSceneEnterActive, firstSceneEnterReady, exposeTakeoverDebugData, scrollOffsetRef, updateSceneRenderSnapshotsRef, }: UseScrollSceneSnapshotsParams): ScrollSceneSnapshotsPort;
|
|
32
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
import { SlideDirection } from '../../types';
|
|
3
|
+
interface UseScrollViewportParams {
|
|
4
|
+
rootRef: RefObject<HTMLDivElement | null>;
|
|
5
|
+
direction: SlideDirection;
|
|
6
|
+
}
|
|
7
|
+
export interface ScrollViewportPort {
|
|
8
|
+
viewportSize: {
|
|
9
|
+
width: number;
|
|
10
|
+
height: number;
|
|
11
|
+
};
|
|
12
|
+
viewportSizeRef: React.MutableRefObject<{
|
|
13
|
+
width: number;
|
|
14
|
+
height: number;
|
|
15
|
+
}>;
|
|
16
|
+
getViewportSpan: () => number;
|
|
17
|
+
updateViewportMetrics: () => void;
|
|
18
|
+
}
|
|
19
|
+
export declare function useScrollViewport({ rootRef, direction, }: UseScrollViewportParams): ScrollViewportPort;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { MutableRefObject } from 'react';
|
|
2
|
+
import { SceneScrollRuntimeContextValue, SceneScrollTimelineState, SceneScrollTimelineStore } from '../Scene/sceneScrollRuntime';
|
|
3
|
+
import { SceneScrollAnimationRegistration } from '../Scene/sceneScrollBudget';
|
|
4
|
+
import { CineviewErrorDetail } from '../../types';
|
|
5
|
+
export interface ScrollZoneRegistration {
|
|
6
|
+
sceneIndex: number;
|
|
7
|
+
element: HTMLElement | null;
|
|
8
|
+
}
|
|
9
|
+
export type ScrollZoneRegistryRef = MutableRefObject<Map<string, ScrollZoneRegistration>>;
|
|
10
|
+
export type ScrollZoneAnimationsRef = MutableRefObject<Map<string, Map<string, SceneScrollAnimationRegistration>>>;
|
|
11
|
+
export type ScrollZoneStatesRef = MutableRefObject<Record<string, SceneScrollTimelineState>>;
|
|
12
|
+
export type ScrollTimelineStore = SceneScrollTimelineStore;
|
|
13
|
+
interface UseScrollZoneRegistryParams {
|
|
14
|
+
scrollOffsetRef: MutableRefObject<number>;
|
|
15
|
+
measureSceneLayoutsRef: MutableRefObject<(() => void) | null>;
|
|
16
|
+
updateSceneRenderSnapshotsRef: MutableRefObject<(nativeOffset: number) => void>;
|
|
17
|
+
onError?: (detail: CineviewErrorDetail) => void;
|
|
18
|
+
}
|
|
19
|
+
export interface ScrollZoneRegistryPort {
|
|
20
|
+
zoneRegistryRef: ScrollZoneRegistryRef;
|
|
21
|
+
zoneAnimationsRef: ScrollZoneAnimationsRef;
|
|
22
|
+
zoneStatesRef: ScrollZoneStatesRef;
|
|
23
|
+
timelineStoreRef: MutableRefObject<ScrollTimelineStore>;
|
|
24
|
+
zoneRuntimeVersion: number;
|
|
25
|
+
getZoneIdForScene: (sceneIndex: number) => string | null;
|
|
26
|
+
getZoneDistance: (sceneIndex: number) => number;
|
|
27
|
+
syncZoneState: (zoneId: string, updater: (current: SceneScrollTimelineState | undefined) => SceneScrollTimelineState | null) => void;
|
|
28
|
+
recomputeZoneSequence: (zoneId: string) => void;
|
|
29
|
+
zoneRuntimeValue: SceneScrollRuntimeContextValue;
|
|
30
|
+
zoneTimelineValue: {
|
|
31
|
+
store: ScrollTimelineStore;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export declare function useScrollZoneRegistry({ scrollOffsetRef, measureSceneLayoutsRef, updateSceneRenderSnapshotsRef, onError, }: UseScrollZoneRegistryParams): ScrollZoneRegistryPort;
|
|
35
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Container } from './Container';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CSSProperties, ImgHTMLAttributes } from 'react';
|
|
2
|
+
type NativeImageProps = Omit<ImgHTMLAttributes<HTMLImageElement>, 'src' | 'alt' | 'width' | 'height' | 'style'>;
|
|
3
|
+
export interface ImageProps extends NativeImageProps {
|
|
4
|
+
src: string;
|
|
5
|
+
alt: string;
|
|
6
|
+
width?: number | string;
|
|
7
|
+
height?: number | string;
|
|
8
|
+
style?: CSSProperties;
|
|
9
|
+
preload?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare const Image: import('react').ForwardRefExoticComponent<ImageProps & import('react').RefAttributes<HTMLImageElement>>;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { PositionProps } from '../../types';
|
|
3
|
+
interface PositionLegacyCompatProps {
|
|
4
|
+
x?: number;
|
|
5
|
+
y?: number;
|
|
6
|
+
offsetX?: number;
|
|
7
|
+
offsetY?: number;
|
|
8
|
+
fixed?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export type PositionInternalProps = PositionProps & PositionLegacyCompatProps;
|
|
11
|
+
export declare const SceneFixedLayerContext: React.Context<HTMLElement | null>;
|
|
12
|
+
export declare const Position: React.ForwardRefExoticComponent<PositionProps & PositionLegacyCompatProps & React.RefAttributes<HTMLDivElement>>;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Position } from './Position';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { SceneInternalProps } from './types';
|
|
3
|
+
export declare const SceneIdentityContext: React.Context<number | null>;
|
|
4
|
+
export declare const Scene: React.ForwardRefExoticComponent<SceneInternalProps & React.RefAttributes<HTMLDivElement>> & {
|
|
5
|
+
cineViewScene: true;
|
|
6
|
+
};
|
|
7
|
+
export declare const SceneInternal: React.ForwardRefExoticComponent<SceneInternalProps & React.RefAttributes<HTMLDivElement>> & {
|
|
8
|
+
cineViewScene: true;
|
|
9
|
+
};
|
|
10
|
+
export default Scene;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { RefCallback } from 'react';
|
|
2
|
+
import { FixedLayerMetrics } from './helpers';
|
|
3
|
+
import { ScrollSceneFrameStore } from '../runtime/scrollSceneFrameStore';
|
|
4
|
+
interface SceneFixedLayerProps {
|
|
5
|
+
sceneIndex: number;
|
|
6
|
+
metrics: FixedLayerMetrics;
|
|
7
|
+
setHostRef: RefCallback<HTMLDivElement>;
|
|
8
|
+
frameStore?: ScrollSceneFrameStore;
|
|
9
|
+
direction?: 'x' | 'y';
|
|
10
|
+
viewportWidth?: number;
|
|
11
|
+
viewportHeight?: number;
|
|
12
|
+
}
|
|
13
|
+
export declare function SceneFixedLayer({ sceneIndex, metrics, setHostRef, frameStore, direction, viewportWidth, viewportHeight, }: SceneFixedLayerProps): React.JSX.Element;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function GroupedPublicPathFixture(): React.JSX.Element;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { ParsedAnimationVariant } from '../../types';
|
|
2
|
+
import { FrozenAnimationRegistrySnapshot } from '../../animations/registry';
|
|
3
|
+
import { ResolvedDragTimelineConfig } from '../../utils/dragTimelineMapping';
|
|
4
|
+
export interface PreparedSceneSnapshot {
|
|
5
|
+
readonly sceneIndex: number;
|
|
6
|
+
readonly instanceId: symbol;
|
|
7
|
+
readonly revision: number;
|
|
8
|
+
readonly enabled: boolean;
|
|
9
|
+
readonly mapping: Readonly<ResolvedDragTimelineConfig>;
|
|
10
|
+
readonly registrySnapshot: FrozenAnimationRegistrySnapshot;
|
|
11
|
+
readonly enterVariantsByAnimateId: ReadonlyMap<string, ParsedAnimationVariant>;
|
|
12
|
+
}
|
|
13
|
+
export type DragSceneTransactionPhase = 'driving' | 'settling' | 'bouncing' | 'programmatic';
|
|
14
|
+
export interface DragSceneTransaction {
|
|
15
|
+
readonly transactionId: symbol;
|
|
16
|
+
readonly targetSceneIndex: number;
|
|
17
|
+
readonly targetInstanceId: symbol;
|
|
18
|
+
readonly targetRevision: number;
|
|
19
|
+
readonly phase: DragSceneTransactionPhase;
|
|
20
|
+
readonly mapping: Readonly<ResolvedDragTimelineConfig>;
|
|
21
|
+
readonly registrySnapshot: FrozenAnimationRegistrySnapshot;
|
|
22
|
+
readonly enterVariantsByAnimateId: ReadonlyMap<string, ParsedAnimationVariant>;
|
|
23
|
+
readonly releaseSeed: Readonly<{
|
|
24
|
+
progressRatio: number;
|
|
25
|
+
elapsedMs: number;
|
|
26
|
+
}>;
|
|
27
|
+
}
|
|
28
|
+
export interface PreparedSceneInvalidation {
|
|
29
|
+
readonly sceneIndex: number;
|
|
30
|
+
readonly instanceId: symbol;
|
|
31
|
+
readonly revision: number;
|
|
32
|
+
}
|
|
33
|
+
export declare function createPreparedSceneSnapshot(snapshot: PreparedSceneSnapshot): PreparedSceneSnapshot;
|
|
34
|
+
export declare function createDragSceneTransaction(snapshot: PreparedSceneSnapshot, phase: DragSceneTransactionPhase, progressRatio: number): DragSceneTransaction;
|
|
35
|
+
/** CineView-owned prepared-scene and cross-commit transaction store. */
|
|
36
|
+
export declare class DragPreparedSceneStore {
|
|
37
|
+
private readonly preparedScenes;
|
|
38
|
+
private readonly activeTransactions;
|
|
39
|
+
private readonly transactionIdsByTarget;
|
|
40
|
+
constructor();
|
|
41
|
+
publishPrepared(snapshot: PreparedSceneSnapshot): void;
|
|
42
|
+
invalidatePrepared(invalidation: PreparedSceneInvalidation): void;
|
|
43
|
+
getPrepared(sceneIndex: number): PreparedSceneSnapshot | null;
|
|
44
|
+
beginTransaction(targetSceneIndex: number, phase: DragSceneTransactionPhase, progressRatio: number): DragSceneTransaction | null;
|
|
45
|
+
getTransaction(transactionId: symbol): DragSceneTransaction | null;
|
|
46
|
+
getTransactionForTarget(targetSceneIndex: number): DragSceneTransaction | null;
|
|
47
|
+
releaseTransaction(transactionId: symbol): void;
|
|
48
|
+
clear(): void;
|
|
49
|
+
}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { SceneAnchor, SceneVisibilityDetail, ScrollMode } from '../../types';
|
|
3
|
+
import { SceneInternalProps } from './types';
|
|
4
|
+
export declare function resolveSceneAnchor(anchor: SceneAnchor): React.CSSProperties;
|
|
5
|
+
export declare function resolveScrollSceneAnchor(anchor: SceneAnchor): React.CSSProperties;
|
|
6
|
+
export declare function resolveDragTouchAction(mode: ScrollMode, direction: 'x' | 'y'): React.CSSProperties['touchAction'];
|
|
7
|
+
export interface NormalizedSceneProps {
|
|
8
|
+
effectiveMode: ScrollMode;
|
|
9
|
+
effectiveDirection: 'x' | 'y';
|
|
10
|
+
isActive: boolean;
|
|
11
|
+
sceneIndex: number;
|
|
12
|
+
totalScenes: number;
|
|
13
|
+
currentSceneIndex: number;
|
|
14
|
+
globalDirection: 'forward' | 'backward' | null;
|
|
15
|
+
globalIsSceneAnimating: boolean;
|
|
16
|
+
globalSharedTimelineDurationMs: number;
|
|
17
|
+
globalActivationToken: number;
|
|
18
|
+
globalActivationKind: NonNullable<SceneInternalProps['sceneRuntime']>['activationKind'] | null;
|
|
19
|
+
globalFirstSceneEnterGateKnown: boolean;
|
|
20
|
+
globalFirstSceneEnterActive: boolean;
|
|
21
|
+
globalFirstSceneEnterReady: boolean;
|
|
22
|
+
globalViewportWidth: number;
|
|
23
|
+
globalViewportHeight: number;
|
|
24
|
+
globalDragProgress: number;
|
|
25
|
+
globalRenderProgress: number;
|
|
26
|
+
globalDragTimelineProgress: number;
|
|
27
|
+
globalIsDragging: boolean;
|
|
28
|
+
globalDragRelease: Exclude<NonNullable<SceneInternalProps['dragRuntime']>['release'], undefined> | null;
|
|
29
|
+
globalScrollProgress: number;
|
|
30
|
+
globalIsScrolling: boolean;
|
|
31
|
+
globalScrollDirection: 'forward' | 'backward' | null;
|
|
32
|
+
globalScrollTransitionSnapshot: Exclude<NonNullable<SceneInternalProps['scrollRuntime']>['transitionSnapshot'], undefined> | null;
|
|
33
|
+
globalScrollBackdropActive: boolean;
|
|
34
|
+
globalScrollTimelineState: Exclude<NonNullable<SceneInternalProps['scrollRuntime']>['timelineState'], undefined> | null;
|
|
35
|
+
globalScrollActiveSceneIndex: number;
|
|
36
|
+
globalScrollViewportOffset: number;
|
|
37
|
+
resolvedSceneWidth: NonNullable<SceneInternalProps['layout']>['width'] | number | string;
|
|
38
|
+
resolvedSceneHeight: NonNullable<SceneInternalProps['layout']>['height'] | number | string;
|
|
39
|
+
resolvedSceneAnchor: SceneAnchor;
|
|
40
|
+
resolvedSceneOverflow: NonNullable<SceneInternalProps['layout']>['overflow'] | 'hidden' | 'visible';
|
|
41
|
+
resolvedSceneZIndex: number | undefined;
|
|
42
|
+
effectiveSceneStackMode: 'replace' | 'cover';
|
|
43
|
+
resolvedSceneTransitionDuration: number;
|
|
44
|
+
resolvedEnterAnimation: SceneInternalProps['enterAnimation'];
|
|
45
|
+
resolvedExitAnimation: SceneInternalProps['exitAnimation'];
|
|
46
|
+
sceneVisibilityCallback?: NonNullable<NonNullable<SceneInternalProps['callbacks']>['onVisibilityChange']>;
|
|
47
|
+
onVisibilityChange: SceneInternalProps['onVisibilityChange'];
|
|
48
|
+
onSceneChange: SceneInternalProps['onSceneChange'];
|
|
49
|
+
scrollCommitThreshold: number;
|
|
50
|
+
scrollReleaseDuration: number;
|
|
51
|
+
scrollLockToSingleScene: boolean;
|
|
52
|
+
scrollRuntime: SceneInternalProps['scrollRuntime'];
|
|
53
|
+
dragRuntime: SceneInternalProps['dragRuntime'];
|
|
54
|
+
onActivationComplete: SceneInternalProps['onActivationComplete'];
|
|
55
|
+
onDragProgressChange: SceneInternalProps['onDragProgressChange'];
|
|
56
|
+
onRenderProgressChange: SceneInternalProps['onRenderProgressChange'];
|
|
57
|
+
onDragTimelineProgressChange: SceneInternalProps['onDragTimelineProgressChange'];
|
|
58
|
+
onSharedElapsedMsChange: SceneInternalProps['onSharedElapsedMsChange'];
|
|
59
|
+
onDraggingChange: SceneInternalProps['onDraggingChange'];
|
|
60
|
+
onSharedTimelineDurationChange: SceneInternalProps['onSharedTimelineDurationChange'];
|
|
61
|
+
onDragRelease: SceneInternalProps['onDragRelease'];
|
|
62
|
+
onDragGestureEnd: SceneInternalProps['onDragGestureEnd'];
|
|
63
|
+
onDragReset: SceneInternalProps['onDragReset'];
|
|
64
|
+
onScrollProgressChange: SceneInternalProps['onScrollProgressChange'];
|
|
65
|
+
onScrollDirectionChange: SceneInternalProps['onScrollDirectionChange'];
|
|
66
|
+
onScrollingChange: SceneInternalProps['onScrollingChange'];
|
|
67
|
+
onScrollCommit: SceneInternalProps['onScrollCommit'];
|
|
68
|
+
onScrollReset: SceneInternalProps['onScrollReset'];
|
|
69
|
+
slideDuration: number;
|
|
70
|
+
compatFields: unknown[];
|
|
71
|
+
}
|
|
72
|
+
export declare function normalizeSceneProps(props: SceneInternalProps): NormalizedSceneProps;
|
|
73
|
+
export declare function getSceneVisibilityProgress({ effectiveMode, isActive, globalScrollTimelineState, hasExitAnimation, }: {
|
|
74
|
+
effectiveMode: ScrollMode;
|
|
75
|
+
isActive: boolean;
|
|
76
|
+
globalScrollTimelineState: NormalizedSceneProps['globalScrollTimelineState'];
|
|
77
|
+
hasExitAnimation: boolean;
|
|
78
|
+
}): number;
|
|
79
|
+
export declare function emitSceneVisibility({ onVisibilityChange, sceneVisibilityCallback, sceneIndex, visible, progress, }: {
|
|
80
|
+
onVisibilityChange?: (visible: boolean, progress: number) => void;
|
|
81
|
+
sceneVisibilityCallback?: (detail: SceneVisibilityDetail) => void;
|
|
82
|
+
sceneIndex: number;
|
|
83
|
+
visible: boolean;
|
|
84
|
+
progress: number;
|
|
85
|
+
}): void;
|
|
86
|
+
export interface FixedLayerMetrics {
|
|
87
|
+
visible: boolean;
|
|
88
|
+
isHorizontal: boolean;
|
|
89
|
+
hostOffset: number;
|
|
90
|
+
hostSpan: number;
|
|
91
|
+
clipWidth: number;
|
|
92
|
+
clipHeight: number;
|
|
93
|
+
}
|
|
94
|
+
export declare function getFixedLayerMetrics({ effectiveMode, effectiveDirection, globalScrollTimelineState, globalScrollViewportOffset, globalViewportWidth, globalViewportHeight, }: {
|
|
95
|
+
effectiveMode: ScrollMode;
|
|
96
|
+
effectiveDirection: 'x' | 'y';
|
|
97
|
+
globalScrollTimelineState: NormalizedSceneProps['globalScrollTimelineState'];
|
|
98
|
+
globalScrollViewportOffset: number;
|
|
99
|
+
globalViewportWidth: number;
|
|
100
|
+
globalViewportHeight: number;
|
|
101
|
+
}): FixedLayerMetrics;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Scene } from './Scene';
|