cineview 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +87 -251
- package/README.zh-CN.md +87 -251
- package/dist/animations/presets/index.d.ts +1 -1
- package/dist/artifacts.json +2 -2
- package/dist/cineview-dev.es.mjs +1 -1
- package/dist/cineview-drag.umd.js +1 -1
- package/dist/cineview-scroll.umd.js +1 -1
- package/dist/cineview.es.mjs +1 -1
- package/dist/cineview.umd.js +1 -1
- package/dist/components/Animate/animateSemantics.d.ts +0 -1
- package/dist/components/{CineView/CineView.d.ts → Cineview/Cineview.d.ts} +3 -5
- package/dist/components/Cineview/CineviewDispatch.d.ts +2 -0
- package/dist/components/Cineview/DirectScrollCineview.d.ts +8 -0
- package/dist/components/{CineView → Cineview}/directScrollHelpers.d.ts +4 -2
- package/dist/components/Cineview/index.d.ts +5 -0
- package/dist/components/{CineView → Cineview}/preloadTargets.d.ts +2 -2
- package/dist/components/{CineView → Cineview}/regroupCallbacks.d.ts +5 -5
- package/dist/components/{CineView/useCineViewImperativeApi.d.ts → Cineview/useCineviewImperativeApi.d.ts} +3 -3
- package/dist/components/{CineView → Cineview}/useScrollZoneRegistry.d.ts +3 -2
- package/dist/components/Scene/sceneScrollBudget.d.ts +2 -0
- package/dist/components/Scene/sceneScrollRuntime.d.ts +0 -1
- package/dist/components/Scene/useSceneAnimationRegistry.d.ts +2 -2
- package/dist/components/Scene/useSceneScrollTakeover.d.ts +0 -1
- package/dist/components/runtime/runtimeContext.d.ts +3 -3
- package/dist/components/runtime/scrollSceneFrameStore.d.ts +1 -1
- package/dist/context/{CineViewContext.d.ts → CineviewContext.d.ts} +8 -8
- package/dist/dev/PerfPanel.d.ts +1 -1
- package/dist/dev/usePerfMonitor.d.ts +4 -4
- package/dist/entry-drag.d.ts +5 -5
- package/dist/entry-scroll.d.ts +5 -5
- package/dist/hooks/useFirstSceneEnter.d.ts +3 -3
- package/dist/hooks/usePrefersReducedMotion.d.ts +1 -1
- package/dist/hooks/useSceneManager.d.ts +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/public-api.d.ts +1 -1
- package/dist/types/index.d.ts +39 -42
- package/dist/utils/animationHelpers.d.ts +2 -2
- package/dist/utils/devLog.d.ts +1 -1
- package/dist/utils/performanceMonitor.d.ts +1 -1
- package/package.json +17 -13
- package/dist/components/CineView/CineViewDispatch.d.ts +0 -2
- package/dist/components/CineView/DirectScrollCineView.d.ts +0 -5
- package/dist/components/CineView/index.d.ts +0 -5
- /package/dist/components/{CineView → Cineview}/DragSceneStack.d.ts +0 -0
- /package/dist/components/{CineView → Cineview}/ScrollSceneSlot.d.ts +0 -0
- /package/dist/components/{CineView → Cineview}/ScrollSceneStack.d.ts +0 -0
- /package/dist/components/{CineView → Cineview}/ScrollbarOverlay.d.ts +0 -0
- /package/dist/components/{CineView → Cineview}/useNativeScrollController.d.ts +0 -0
- /package/dist/components/{CineView → Cineview}/useScrollInputBindings.d.ts +0 -0
- /package/dist/components/{CineView → Cineview}/useScrollSceneLayout.d.ts +0 -0
- /package/dist/components/{CineView → Cineview}/useScrollSceneSnapshots.d.ts +0 -0
- /package/dist/components/{CineView → Cineview}/useScrollViewport.d.ts +0 -0
package/dist/types/index.d.ts
CHANGED
|
@@ -39,10 +39,7 @@ export interface DragModeConfig {
|
|
|
39
39
|
}
|
|
40
40
|
export interface ScrollModeConfig {
|
|
41
41
|
direction?: SlideDirection;
|
|
42
|
-
zoneTrigger?: 'center-lock';
|
|
43
42
|
sceneSizing?: 'content' | 'screen';
|
|
44
|
-
/** Enable runtime parameter diagnostics for scroll layout and zone geometry. */
|
|
45
|
-
debug?: boolean;
|
|
46
43
|
enterMargin?: number;
|
|
47
44
|
exitMargin?: number;
|
|
48
45
|
}
|
|
@@ -58,7 +55,7 @@ export interface ScrollModeConfig {
|
|
|
58
55
|
export interface A11yConfig {
|
|
59
56
|
/**
|
|
60
57
|
* Accessible name for the drag root container (`aria-label`). Defaults to `'Scenes'`.
|
|
61
|
-
* When multiple
|
|
58
|
+
* When multiple Cineview instances exist on one page, each must have a unique label
|
|
62
59
|
* so they can be distinguished in screen reader landmark lists.
|
|
63
60
|
*/
|
|
64
61
|
label?: string;
|
|
@@ -71,6 +68,7 @@ export interface ScrollbarConfig {
|
|
|
71
68
|
inset?: number;
|
|
72
69
|
trackColor?: string;
|
|
73
70
|
thumbColor?: string;
|
|
71
|
+
/** Thumb fill on pointer hover. Defaults to `thumbColor`; does not add a border. */
|
|
74
72
|
thumbHoverColor?: string;
|
|
75
73
|
autoHide?: boolean;
|
|
76
74
|
}
|
|
@@ -83,19 +81,19 @@ export interface SceneChangeDetail {
|
|
|
83
81
|
* Error codes emitted by the framework at runtime. Consumers can switch on `code`
|
|
84
82
|
* in `onError` to get autocomplete and exhaustiveness checking (no longer a bare string).
|
|
85
83
|
*
|
|
86
|
-
* - `EMPTY_SCENES`:
|
|
84
|
+
* - `EMPTY_SCENES`: Cineview has no Scene children (`context.scope` is default),
|
|
87
85
|
* or a Scene has no children (`context.scope === 'scene'`, includes `sceneIndex`).
|
|
88
86
|
* - `IMAGE_LOAD_FAILED`: Image preload failed.
|
|
89
87
|
* - `FIRST_SCENE_TIMEOUT`: First-screen priority resource wait timed out (recoverable, includes preventDefault).
|
|
90
|
-
* - `INVALID_ANIMATION`:
|
|
88
|
+
* - `INVALID_ANIMATION`: An animation dependency, control, or scroll phase is invalid.
|
|
91
89
|
* - `CIRCULAR_DEPENDENCY`: Animate's after chain contains a cycle.
|
|
92
90
|
* - `INVALID_COMPONENT_HIERARCHY`: Duplicate animateId or authored scroll zone identity in component tree.
|
|
93
91
|
* - `INVALID_DRAG_CONFIG`: Drag unit / scale / enabled config is invalid (recoverable).
|
|
94
92
|
* - `ANIMATION_ASSET_LOAD_FAILED`: Animation preset asset load failed (retryable).
|
|
95
93
|
*/
|
|
96
|
-
export type
|
|
97
|
-
export interface
|
|
98
|
-
code:
|
|
94
|
+
export type CineviewErrorCode = 'EMPTY_SCENES' | 'IMAGE_LOAD_FAILED' | 'FIRST_SCENE_TIMEOUT' | 'INVALID_ANIMATION' | 'CIRCULAR_DEPENDENCY' | 'INVALID_COMPONENT_HIERARCHY' | 'INVALID_DRAG_CONFIG' | 'ANIMATION_ASSET_LOAD_FAILED';
|
|
95
|
+
export interface CineviewErrorDetail {
|
|
96
|
+
code: CineviewErrorCode;
|
|
99
97
|
message: string;
|
|
100
98
|
context?: Record<string, unknown>;
|
|
101
99
|
preventDefault?: () => void;
|
|
@@ -130,14 +128,14 @@ export interface SceneVisibilityDetail {
|
|
|
130
128
|
visible: boolean;
|
|
131
129
|
progress: number;
|
|
132
130
|
}
|
|
133
|
-
export interface
|
|
134
|
-
onReady?: (api:
|
|
131
|
+
export interface CineviewCommonCallbacks {
|
|
132
|
+
onReady?: (api: CineviewRef) => void;
|
|
135
133
|
onLoadProgress?: (progress: number) => void;
|
|
136
134
|
onSceneEnter?: (detail: SceneChangeDetail) => void;
|
|
137
135
|
onSceneLeave?: (detail: SceneChangeDetail) => void;
|
|
138
|
-
onError?: (detail:
|
|
136
|
+
onError?: (detail: CineviewErrorDetail) => void;
|
|
139
137
|
}
|
|
140
|
-
export interface
|
|
138
|
+
export interface CineviewDragCallbacks {
|
|
141
139
|
/** Fires only after the first direction-qualified move acquires drag ownership. */
|
|
142
140
|
onDragStart?: (detail: DragStartDetail) => void;
|
|
143
141
|
onDragProgress?: (detail: DragDetail) => void;
|
|
@@ -145,7 +143,7 @@ export interface CineViewDragCallbacks {
|
|
|
145
143
|
onDragEnd?: (detail: DragEndDetail) => void;
|
|
146
144
|
onDragCancel?: (detail: DragDetail) => void;
|
|
147
145
|
}
|
|
148
|
-
export interface
|
|
146
|
+
export interface CineviewScrollCallbacks {
|
|
149
147
|
onZoneEnter?: (detail: ZoneDetail) => void;
|
|
150
148
|
onZoneLeave?: (detail: ZoneDetail) => void;
|
|
151
149
|
onZoneProgress?: (detail: ZoneProgressDetail) => void;
|
|
@@ -154,7 +152,7 @@ export interface CineViewScrollCallbacks {
|
|
|
154
152
|
/**
|
|
155
153
|
* Flat callbacks accepted in drag mode (mode="drag" or omitted).
|
|
156
154
|
*
|
|
157
|
-
* The `[K in keyof
|
|
155
|
+
* The `[K in keyof CineviewScrollCallbacks]?: never` cross-exclusion closes a
|
|
158
156
|
* discrimination hole: without it, TS's excess-property check only rejects
|
|
159
157
|
* wrong-mode callbacks written as an INLINE object literal. A caller who first
|
|
160
158
|
* extracts callbacks into a variable that mixes a valid drag callback with a
|
|
@@ -164,12 +162,12 @@ export interface CineViewScrollCallbacks {
|
|
|
164
162
|
* key as optional-`never` makes assigning a real function to it a type error on
|
|
165
163
|
* both the inline and the extracted-variable paths.
|
|
166
164
|
*/
|
|
167
|
-
export type DragModeCallbacks =
|
|
168
|
-
[K in keyof
|
|
165
|
+
export type DragModeCallbacks = CineviewCommonCallbacks & CineviewDragCallbacks & {
|
|
166
|
+
[K in keyof CineviewScrollCallbacks]?: never;
|
|
169
167
|
};
|
|
170
168
|
/** Flat callbacks accepted in scroll mode (mode="scroll"). Mirror cross-exclusion of drag-only keys — see DragModeCallbacks. */
|
|
171
|
-
export type ScrollModeCallbacks =
|
|
172
|
-
[K in keyof
|
|
169
|
+
export type ScrollModeCallbacks = CineviewCommonCallbacks & CineviewScrollCallbacks & {
|
|
170
|
+
[K in keyof CineviewDragCallbacks]?: never;
|
|
173
171
|
};
|
|
174
172
|
/**
|
|
175
173
|
* Back-compat alias. The shape changed from the old nested
|
|
@@ -177,7 +175,7 @@ export type ScrollModeCallbacks = CineViewCommonCallbacks & CineViewScrollCallba
|
|
|
177
175
|
* change at the value level, but the NAME is preserved to avoid breaking
|
|
178
176
|
* type-only imports.
|
|
179
177
|
*/
|
|
180
|
-
export type
|
|
178
|
+
export type CineviewCallbacks = DragModeCallbacks | ScrollModeCallbacks;
|
|
181
179
|
export type PresetAnimation = 'fade' | 'fade-in' | 'fade-out' | 'slide-up' | 'slide-down' | 'slide-left' | 'slide-right' | 'zoom-in' | 'zoom-out' | 'scale-up' | 'scale-down' | 'rotate' | 'rotate-in' | 'rotate-out' | 'spin' | 'flip' | 'flip-x' | 'flip-y' | 'bounce' | 'bounce-in' | 'bounce-out' | 'blink' | 'flash' | 'pulse' | 'shake' | 'shake-x' | 'shake-y' | 'vibrate' | 'jello' | 'blur-in' | 'blur-out' | 'focus-in' | 'elastic' | 'rubber-band' | 'wobble' | 'swing' | 'heartbeat' | 'tada' | 'wave' | 'roll-in' | 'roll-out' | 'hinge' | 'jack-in-the-box';
|
|
182
180
|
export interface ParsedAnimationVariant {
|
|
183
181
|
initial: Record<string, unknown>;
|
|
@@ -196,12 +194,12 @@ export interface ComposedAnimation {
|
|
|
196
194
|
}
|
|
197
195
|
export type AnimationType = PresetAnimation | CustomAnimation | ComposedAnimation;
|
|
198
196
|
/**
|
|
199
|
-
* Shared
|
|
197
|
+
* Shared Cineview props, independent of `mode`. Mode-specific fields are added
|
|
200
198
|
* by the per-mode branches below; the `mode`/`callbacks` pair closes the
|
|
201
199
|
* discriminated union so both the callback surface and the mode-specific config
|
|
202
200
|
* fields are constrained by the active mode.
|
|
203
201
|
*/
|
|
204
|
-
export interface
|
|
202
|
+
export interface CineviewBaseProps {
|
|
205
203
|
/**
|
|
206
204
|
* Design viewport width baseline (design px). The single site-wide conversion
|
|
207
205
|
* ruler: `scale = viewportWidth / designWidth`. All design lengths (Position
|
|
@@ -218,41 +216,43 @@ export interface CineViewBaseProps {
|
|
|
218
216
|
designWidth?: number;
|
|
219
217
|
scrollbar?: false | ScrollbarConfig;
|
|
220
218
|
monitor?: boolean;
|
|
219
|
+
/** Expose scroll layout diagnostics. Use `monitor` to sample performance and render `PerfPanel` explicitly. */
|
|
220
|
+
debug?: boolean;
|
|
221
221
|
a11y?: A11yConfig;
|
|
222
222
|
children: ReactNode;
|
|
223
223
|
}
|
|
224
224
|
/** Drag-branch-only config keys cannot appear on scroll root (and vice versa) — same cross-exclusion as callbacks. */
|
|
225
|
-
type ScrollOnlyConfigKeys = '
|
|
225
|
+
type ScrollOnlyConfigKeys = 'sceneSizing' | 'enterMargin' | 'exitMargin';
|
|
226
226
|
type DragOnlyConfigKeys = 'transitionDuration' | 'threshold' | 'unit' | 'scale' | 'firstSceneTimeout';
|
|
227
227
|
/**
|
|
228
|
-
*
|
|
228
|
+
* Cineview drag branch Props: `mode` defaults to drag. Mode-specific fields are
|
|
229
229
|
* flattened at root level (no `modes.drag` wrapper); scroll-specific fields are
|
|
230
230
|
* excluded as `never`.
|
|
231
231
|
*/
|
|
232
|
-
export type
|
|
232
|
+
export type CineviewDragModeProps = CineviewBaseProps & DragModeConfig & {
|
|
233
233
|
mode?: 'drag';
|
|
234
234
|
callbacks?: DragModeCallbacks;
|
|
235
235
|
} & {
|
|
236
236
|
[K in ScrollOnlyConfigKeys]?: never;
|
|
237
237
|
};
|
|
238
238
|
/**
|
|
239
|
-
*
|
|
239
|
+
* Cineview scroll branch Props: scroll-specific fields are flattened at root
|
|
240
240
|
* level (no `modes.scroll` wrapper); drag-specific fields are excluded as `never`.
|
|
241
241
|
*/
|
|
242
|
-
export type
|
|
242
|
+
export type CineviewScrollModeProps = CineviewBaseProps & ScrollModeConfig & {
|
|
243
243
|
mode: 'scroll';
|
|
244
244
|
callbacks?: ScrollModeCallbacks;
|
|
245
245
|
} & {
|
|
246
246
|
[K in DragOnlyConfigKeys]?: never;
|
|
247
247
|
};
|
|
248
248
|
/**
|
|
249
|
-
*
|
|
249
|
+
* Cineview component Props — discriminated on `mode`. Drag mode (the default when
|
|
250
250
|
* `mode` is omitted) accepts common + drag callbacks and flat drag config
|
|
251
251
|
* fields; scroll mode accepts common + scroll callbacks and flat scroll config
|
|
252
252
|
* fields. Passing a callback or config field from the wrong mode is a type
|
|
253
253
|
* error (TS excess-property check on the flat objects).
|
|
254
254
|
*/
|
|
255
|
-
export type
|
|
255
|
+
export type CineviewProps = CineviewDragModeProps | CineviewScrollModeProps;
|
|
256
256
|
/**
|
|
257
257
|
* Performance metrics for monitoring runtime behavior.
|
|
258
258
|
*/
|
|
@@ -267,34 +267,32 @@ export interface PerformanceMetrics {
|
|
|
267
267
|
* - number: zero-based scene index
|
|
268
268
|
* - string: Scene.sceneId; in scroll mode it can also match Scene.scroll.zoneId
|
|
269
269
|
*/
|
|
270
|
-
export type
|
|
270
|
+
export type CineviewPreloadTarget = number | string;
|
|
271
271
|
/**
|
|
272
|
-
*
|
|
272
|
+
* Cineview Ref methods.
|
|
273
273
|
*
|
|
274
274
|
* These 5 methods exist in both drag and scroll modes, so they are required —
|
|
275
275
|
* call sites no longer need `ref.current?.refreshLayout?.()` per-method null checks.
|
|
276
276
|
* `goToZone` is scroll-mode-only (drag mode has no zone concept), so it remains optional;
|
|
277
|
-
* scroll consumers can switch to {@link
|
|
277
|
+
* scroll consumers can switch to {@link CineviewScrollRef} for a view with `goToZone` required.
|
|
278
278
|
*/
|
|
279
|
-
export interface
|
|
279
|
+
export interface CineviewRef {
|
|
280
280
|
goToScene: (index: number, animated?: boolean) => void;
|
|
281
281
|
refreshLayout: () => void;
|
|
282
|
-
preload: (targets?:
|
|
282
|
+
preload: (targets?: CineviewPreloadTarget[]) => Promise<void>;
|
|
283
283
|
getCurrentIndex: () => number;
|
|
284
284
|
getPerformanceMetrics: () => PerformanceMetrics;
|
|
285
285
|
/** Scroll mode only: jump to specified zone. Not available in drag mode. */
|
|
286
286
|
goToZone?: (zoneId: string, options?: {
|
|
287
|
-
align?: 'center';
|
|
288
287
|
animated?: boolean;
|
|
289
288
|
}) => void;
|
|
290
289
|
}
|
|
291
290
|
/**
|
|
292
|
-
*
|
|
293
|
-
* Usage: `const ref = useRef<
|
|
291
|
+
* Cineview Ref in scroll mode — `goToZone` is required here.
|
|
292
|
+
* Usage: `const ref = useRef<CineviewScrollRef>(null)`, with `mode="scroll"`.
|
|
294
293
|
*/
|
|
295
|
-
export interface
|
|
294
|
+
export interface CineviewScrollRef extends CineviewRef {
|
|
296
295
|
goToZone: (zoneId: string, options?: {
|
|
297
|
-
align?: 'center';
|
|
298
296
|
animated?: boolean;
|
|
299
297
|
}) => void;
|
|
300
298
|
}
|
|
@@ -305,6 +303,7 @@ export interface SceneProps extends Omit<HTMLAttributes<HTMLDivElement>, 'childr
|
|
|
305
303
|
sceneId?: string;
|
|
306
304
|
layout?: {
|
|
307
305
|
width?: number | string;
|
|
306
|
+
/** Content-box CSS height; drag navigation remains fixed at one viewport. */
|
|
308
307
|
height?: number | string;
|
|
309
308
|
anchor?: SceneAnchor;
|
|
310
309
|
overflow?: 'hidden' | 'visible' | 'clip';
|
|
@@ -328,7 +327,6 @@ export interface SceneProps extends Omit<HTMLAttributes<HTMLDivElement>, 'childr
|
|
|
328
327
|
drag?: SceneDragConfig;
|
|
329
328
|
scroll?: {
|
|
330
329
|
zoneId?: string;
|
|
331
|
-
trigger?: 'center-lock';
|
|
332
330
|
};
|
|
333
331
|
callbacks?: {
|
|
334
332
|
onVisibilityChange?: (detail: SceneVisibilityDetail) => void;
|
|
@@ -360,9 +358,8 @@ interface AnimateBaseProps {
|
|
|
360
358
|
*/
|
|
361
359
|
driver?: 'scene' | 'clock';
|
|
362
360
|
delay?: number;
|
|
363
|
-
/**
|
|
361
|
+
/** Start after the referenced animateId finishes entering, then apply delay. */
|
|
364
362
|
after?: string;
|
|
365
|
-
zoneId?: string;
|
|
366
363
|
phase?: {
|
|
367
364
|
start?: number;
|
|
368
365
|
end?: number;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CineviewErrorCode, ParsedAnimationVariant, CustomAnimation, ComposedAnimation } from '../types';
|
|
2
2
|
import { PresetAnimation } from '../animations/presets';
|
|
3
3
|
export interface AnimationParseFailure {
|
|
4
|
-
code: Extract<
|
|
4
|
+
code: Extract<CineviewErrorCode, 'INVALID_ANIMATION' | 'ANIMATION_ASSET_LOAD_FAILED'>;
|
|
5
5
|
message: string;
|
|
6
6
|
context: Record<string, unknown>;
|
|
7
7
|
}
|
package/dist/utils/devLog.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* dev builds and SSR scenarios that depend on the library source still log. This utility centralizes
|
|
7
7
|
* the gate, aligning with existing guard patterns in context/Scene modules.
|
|
8
8
|
*
|
|
9
|
-
* Uniform prefix `[
|
|
9
|
+
* Uniform prefix `[Cineview]` for consistency with other developer-facing diagnostic messages.
|
|
10
10
|
*/
|
|
11
11
|
export declare function devWarn(...args: unknown[]): void;
|
|
12
12
|
export declare function devError(...args: unknown[]): void;
|
|
@@ -43,7 +43,7 @@ export declare class PerformanceMonitor {
|
|
|
43
43
|
export declare const createPerformanceMonitor: () => PerformanceMonitor;
|
|
44
44
|
export declare const performanceMonitor: PerformanceMonitor;
|
|
45
45
|
/**
|
|
46
|
-
* Acquire page-level performance monitoring for a mounted
|
|
46
|
+
* Acquire page-level performance monitoring for a mounted Cineview instance.
|
|
47
47
|
* First lease starts monitoring, stops only after last lease is released; release is idempotent.
|
|
48
48
|
*/
|
|
49
49
|
export declare const acquirePerformanceMonitoring: () => (() => void);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cineview",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "React UI framework for creating cinematic full-screen sliding pages",
|
|
5
5
|
"main": "dist/cineview.umd.js",
|
|
6
6
|
"module": "dist/cineview.es.mjs",
|
|
@@ -41,39 +41,43 @@
|
|
|
41
41
|
"build:verify": "pnpm run build && node scripts/verify-build.js",
|
|
42
42
|
"preview": "vite preview",
|
|
43
43
|
"test": "jest",
|
|
44
|
-
"test:examples": "pnpm --dir examples/
|
|
44
|
+
"test:examples": "jest --runInBand src/__tests__/site/acceptanceFixtures.test.ts && pnpm --dir examples/minimal build",
|
|
45
45
|
"test:site-contracts": "jest --runInBand src/__tests__/site",
|
|
46
|
-
"test:browser": "pnpm build && pnpm --dir
|
|
46
|
+
"test:browser": "pnpm build && pnpm --dir site acceptance:browser",
|
|
47
47
|
"quality:duplicates": "jscpd --config .jscpd.json src",
|
|
48
48
|
"verify:failure-injection": "node scripts/verify-failure-injection.js",
|
|
49
|
-
"verify:browser-failure-injection": "pnpm --dir
|
|
49
|
+
"verify:browser-failure-injection": "pnpm --dir site acceptance:failure-injection",
|
|
50
50
|
"test:watch": "jest --watch",
|
|
51
51
|
"test:coverage": "jest --coverage",
|
|
52
|
-
"test:coverage:framework": "jest --config jest.framework.config.js --coverage --runInBand",
|
|
52
|
+
"test:coverage:framework": "jest --config jest.framework.config.js --coverage --runInBand && node scripts/write-coverage-badge.mjs",
|
|
53
53
|
"test:coverage:watch": "jest --coverage --watch",
|
|
54
54
|
"lint": "eslint src",
|
|
55
55
|
"lint:fix": "eslint src --fix",
|
|
56
56
|
"format": "pnpm format:framework && pnpm format:site",
|
|
57
|
-
"format:framework": "prettier --write \"src/**/*.{ts,tsx}\" \"examples/
|
|
58
|
-
"format:site": "prettier --write \"site/src/**/*.{ts,tsx,css}\" \"site/*.{ts,json,html}\"",
|
|
57
|
+
"format:framework": "prettier --write \"src/**/*.{ts,tsx}\" \"examples/minimal/src/**/*.{ts,tsx}\" \".github/**/*.{yml,yaml}\" \"*.{ts,js,json,md}\" \"scripts/*.{js,mjs}\"",
|
|
58
|
+
"format:site": "prettier --write \"site/src/**/*.{ts,tsx,css}\" \"site/*.{ts,json,html}\" \"site/tools/{acceptance-drag,acceptance-scroll,profile-production,verify-browser-failure-injection}.mjs\"",
|
|
59
59
|
"format:check": "pnpm format:check:framework && pnpm format:check:site",
|
|
60
|
-
"format:check:framework": "prettier --check \"src/**/*.{ts,tsx}\" \"examples/
|
|
61
|
-
"format:check:site": "prettier --check \"site/src/**/*.{ts,tsx,css}\" \"site/*.{ts,json,html}\"",
|
|
60
|
+
"format:check:framework": "prettier --check \"src/**/*.{ts,tsx}\" \"examples/minimal/src/**/*.{ts,tsx}\" \".github/**/*.{yml,yaml}\" \"*.{ts,js,json,md}\" \"scripts/*.{js,mjs}\"",
|
|
61
|
+
"format:check:site": "prettier --check \"site/src/**/*.{ts,tsx,css}\" \"site/*.{ts,json,html}\" \"site/tools/{acceptance-drag,acceptance-scroll,profile-production,verify-browser-failure-injection}.mjs\"",
|
|
62
62
|
"type-check": "tsc --noEmit",
|
|
63
63
|
"type-check:framework": "tsc -p tsconfig.framework.json --noEmit",
|
|
64
64
|
"type-check:site": "pnpm --dir site type-check",
|
|
65
|
-
"type-check:examples": "pnpm --dir examples/minimal type-check
|
|
65
|
+
"type-check:examples": "pnpm --dir examples/minimal type-check",
|
|
66
66
|
"prepublishOnly": "pnpm verify:framework:static",
|
|
67
67
|
"prepare": "husky",
|
|
68
68
|
"analyze": "vite build && open stats.html",
|
|
69
69
|
"lighthouse": "lighthouse http://localhost:3000 --view",
|
|
70
|
-
"verify:
|
|
70
|
+
"verify:repository": "node scripts/verify-repository.mjs",
|
|
71
|
+
"verify:framework:static": "pnpm verify:repository && pnpm format:check:framework && pnpm type-check:framework && pnpm type-check:examples && pnpm lint && pnpm test:coverage:framework && pnpm test:examples && pnpm quality:duplicates && pnpm build:verify && pnpm verify:failure-injection",
|
|
71
72
|
"verify:framework": "pnpm verify:framework:static && pnpm test:browser && pnpm verify:browser-failure-injection",
|
|
72
73
|
"docs:style:static": "pnpm --dir site exec node tools/docs-style-probe.mjs --static",
|
|
73
74
|
"docs:style": "pnpm --dir site exec node tools/docs-style-probe.mjs",
|
|
74
75
|
"a11y:probe": "pnpm --dir site exec node tools/a11y-probe.mjs",
|
|
75
76
|
"verify:all": "pnpm verify:framework && pnpm format:check:site && pnpm type-check && pnpm type-check:site && pnpm test:site-contracts && pnpm docs:style:static",
|
|
76
|
-
"verify": "pnpm verify:all"
|
|
77
|
+
"verify": "pnpm verify:all",
|
|
78
|
+
"docs:links": "node scripts/verify-documentation.mjs",
|
|
79
|
+
"audit:all": "node scripts/audit-all.mjs",
|
|
80
|
+
"profile:browser": "pnpm --dir site profile:browser"
|
|
77
81
|
},
|
|
78
82
|
"peerDependencies": {
|
|
79
83
|
"framer-motion": "^13.0.0",
|
|
@@ -136,7 +140,7 @@
|
|
|
136
140
|
"type": "git",
|
|
137
141
|
"url": "https://github.com/AlienMu/cineview.git"
|
|
138
142
|
},
|
|
139
|
-
"homepage": "https://
|
|
143
|
+
"homepage": "https://cineview.pages.dev",
|
|
140
144
|
"bugs": {
|
|
141
145
|
"url": "https://github.com/AlienMu/cineview/issues"
|
|
142
146
|
},
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
|
-
import { CineViewRef, CineViewScrollModeProps } from '../../types';
|
|
3
|
-
export declare const DirectScrollCineView: React.ForwardRefExoticComponent<Omit<CineViewScrollModeProps, "mode"> & {
|
|
4
|
-
mode?: "scroll";
|
|
5
|
-
} & React.RefAttributes<CineViewRef>>;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|