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.
Files changed (52) hide show
  1. package/README.md +87 -251
  2. package/README.zh-CN.md +87 -251
  3. package/dist/animations/presets/index.d.ts +1 -1
  4. package/dist/artifacts.json +2 -2
  5. package/dist/cineview-dev.es.mjs +1 -1
  6. package/dist/cineview-drag.umd.js +1 -1
  7. package/dist/cineview-scroll.umd.js +1 -1
  8. package/dist/cineview.es.mjs +1 -1
  9. package/dist/cineview.umd.js +1 -1
  10. package/dist/components/Animate/animateSemantics.d.ts +0 -1
  11. package/dist/components/{CineView/CineView.d.ts → Cineview/Cineview.d.ts} +3 -5
  12. package/dist/components/Cineview/CineviewDispatch.d.ts +2 -0
  13. package/dist/components/Cineview/DirectScrollCineview.d.ts +8 -0
  14. package/dist/components/{CineView → Cineview}/directScrollHelpers.d.ts +4 -2
  15. package/dist/components/Cineview/index.d.ts +5 -0
  16. package/dist/components/{CineView → Cineview}/preloadTargets.d.ts +2 -2
  17. package/dist/components/{CineView → Cineview}/regroupCallbacks.d.ts +5 -5
  18. package/dist/components/{CineView/useCineViewImperativeApi.d.ts → Cineview/useCineviewImperativeApi.d.ts} +3 -3
  19. package/dist/components/{CineView → Cineview}/useScrollZoneRegistry.d.ts +3 -2
  20. package/dist/components/Scene/sceneScrollBudget.d.ts +2 -0
  21. package/dist/components/Scene/sceneScrollRuntime.d.ts +0 -1
  22. package/dist/components/Scene/useSceneAnimationRegistry.d.ts +2 -2
  23. package/dist/components/Scene/useSceneScrollTakeover.d.ts +0 -1
  24. package/dist/components/runtime/runtimeContext.d.ts +3 -3
  25. package/dist/components/runtime/scrollSceneFrameStore.d.ts +1 -1
  26. package/dist/context/{CineViewContext.d.ts → CineviewContext.d.ts} +8 -8
  27. package/dist/dev/PerfPanel.d.ts +1 -1
  28. package/dist/dev/usePerfMonitor.d.ts +4 -4
  29. package/dist/entry-drag.d.ts +5 -5
  30. package/dist/entry-scroll.d.ts +5 -5
  31. package/dist/hooks/useFirstSceneEnter.d.ts +3 -3
  32. package/dist/hooks/usePrefersReducedMotion.d.ts +1 -1
  33. package/dist/hooks/useSceneManager.d.ts +1 -0
  34. package/dist/index.d.ts +1 -1
  35. package/dist/public-api.d.ts +1 -1
  36. package/dist/types/index.d.ts +39 -42
  37. package/dist/utils/animationHelpers.d.ts +2 -2
  38. package/dist/utils/devLog.d.ts +1 -1
  39. package/dist/utils/performanceMonitor.d.ts +1 -1
  40. package/package.json +17 -13
  41. package/dist/components/CineView/CineViewDispatch.d.ts +0 -2
  42. package/dist/components/CineView/DirectScrollCineView.d.ts +0 -5
  43. package/dist/components/CineView/index.d.ts +0 -5
  44. /package/dist/components/{CineView → Cineview}/DragSceneStack.d.ts +0 -0
  45. /package/dist/components/{CineView → Cineview}/ScrollSceneSlot.d.ts +0 -0
  46. /package/dist/components/{CineView → Cineview}/ScrollSceneStack.d.ts +0 -0
  47. /package/dist/components/{CineView → Cineview}/ScrollbarOverlay.d.ts +0 -0
  48. /package/dist/components/{CineView → Cineview}/useNativeScrollController.d.ts +0 -0
  49. /package/dist/components/{CineView → Cineview}/useScrollInputBindings.d.ts +0 -0
  50. /package/dist/components/{CineView → Cineview}/useScrollSceneLayout.d.ts +0 -0
  51. /package/dist/components/{CineView → Cineview}/useScrollSceneSnapshots.d.ts +0 -0
  52. /package/dist/components/{CineView → Cineview}/useScrollViewport.d.ts +0 -0
@@ -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 CineView instances exist on one page, each must have a unique label
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`: CineView has no Scene children (`context.scope` is default),
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`: Animate's after points to a nonexistent component.
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 CineViewErrorCode = 'EMPTY_SCENES' | 'IMAGE_LOAD_FAILED' | 'FIRST_SCENE_TIMEOUT' | 'INVALID_ANIMATION' | 'CIRCULAR_DEPENDENCY' | 'INVALID_COMPONENT_HIERARCHY' | 'INVALID_DRAG_CONFIG' | 'ANIMATION_ASSET_LOAD_FAILED';
97
- export interface CineViewErrorDetail {
98
- code: CineViewErrorCode;
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 CineViewCommonCallbacks {
134
- onReady?: (api: CineViewRef) => void;
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: CineViewErrorDetail) => void;
136
+ onError?: (detail: CineviewErrorDetail) => void;
139
137
  }
140
- export interface CineViewDragCallbacks {
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 CineViewScrollCallbacks {
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 CineViewScrollCallbacks]?: never` cross-exclusion closes a
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 = CineViewCommonCallbacks & CineViewDragCallbacks & {
168
- [K in keyof CineViewScrollCallbacks]?: never;
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 = CineViewCommonCallbacks & CineViewScrollCallbacks & {
172
- [K in keyof CineViewDragCallbacks]?: never;
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 CineViewCallbacks = DragModeCallbacks | ScrollModeCallbacks;
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 CineView props, independent of `mode`. Mode-specific fields are added
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 CineViewBaseProps {
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 = 'zoneTrigger' | 'sceneSizing' | 'enterMargin' | 'exitMargin' | 'debug';
225
+ type ScrollOnlyConfigKeys = 'sceneSizing' | 'enterMargin' | 'exitMargin';
226
226
  type DragOnlyConfigKeys = 'transitionDuration' | 'threshold' | 'unit' | 'scale' | 'firstSceneTimeout';
227
227
  /**
228
- * CineView drag branch Props: `mode` defaults to drag. Mode-specific fields are
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 CineViewDragModeProps = CineViewBaseProps & DragModeConfig & {
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
- * CineView scroll branch Props: scroll-specific fields are flattened at root
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 CineViewScrollModeProps = CineViewBaseProps & ScrollModeConfig & {
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
- * CineView component Props — discriminated on `mode`. Drag mode (the default when
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 CineViewProps = CineViewDragModeProps | CineViewScrollModeProps;
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 CineViewPreloadTarget = number | string;
270
+ export type CineviewPreloadTarget = number | string;
271
271
  /**
272
- * CineView Ref methods.
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 CineViewScrollRef} for a view with `goToZone` required.
277
+ * scroll consumers can switch to {@link CineviewScrollRef} for a view with `goToZone` required.
278
278
  */
279
- export interface CineViewRef {
279
+ export interface CineviewRef {
280
280
  goToScene: (index: number, animated?: boolean) => void;
281
281
  refreshLayout: () => void;
282
- preload: (targets?: CineViewPreloadTarget[]) => Promise<void>;
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
- * CineView Ref in scroll mode — `goToZone` is required here.
293
- * Usage: `const ref = useRef<CineViewScrollRef>(null)`, with `mode="scroll"`.
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 CineViewScrollRef extends CineViewRef {
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
- /** Wait for a specific animateId to finish before entering. */
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 { CineViewErrorCode, ParsedAnimationVariant, CustomAnimation, ComposedAnimation } from '../types';
1
+ import { CineviewErrorCode, ParsedAnimationVariant, CustomAnimation, ComposedAnimation } from '../types';
2
2
  import { PresetAnimation } from '../animations/presets';
3
3
  export interface AnimationParseFailure {
4
- code: Extract<CineViewErrorCode, 'INVALID_ANIMATION' | 'ANIMATION_ASSET_LOAD_FAILED'>;
4
+ code: Extract<CineviewErrorCode, 'INVALID_ANIMATION' | 'ANIMATION_ASSET_LOAD_FAILED'>;
5
5
  message: string;
6
6
  context: Record<string, unknown>;
7
7
  }
@@ -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 `[CineView]` for consistency with other developer-facing diagnostic messages.
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 CineView instance.
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.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/performance-test test",
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 examples/performance-test acceptance:browser",
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 examples/performance-test acceptance:failure-injection",
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/performance-test/**/*.{ts,tsx,js,mjs,json}\" \".github/**/*.{yml,yaml}\" \"*.{ts,js,json,md}\" \"scripts/*.{js,mjs}\"",
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/performance-test/**/*.{ts,tsx,js,mjs,json}\" \".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}\"",
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 && pnpm --dir examples/performance-test 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:framework:static": "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",
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://github.com/AlienMu/cineview#readme",
143
+ "homepage": "https://cineview.pages.dev",
140
144
  "bugs": {
141
145
  "url": "https://github.com/AlienMu/cineview/issues"
142
146
  },
@@ -1,2 +0,0 @@
1
- import { CineViewProps, CineViewRef } from '../../types';
2
- export declare const CineView: import('react').ForwardRefExoticComponent<CineViewProps & import('react').RefAttributes<CineViewRef>>;
@@ -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>>;
@@ -1,5 +0,0 @@
1
- /**
2
- * CineView component exports
3
- */
4
- export { CineView } from './CineViewDispatch';
5
- export type { CineViewPreloadTarget, CineViewProps, CineViewRef } from '../../types';