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.
Files changed (128) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +102 -0
  3. package/README.zh-CN.md +102 -0
  4. package/dist/animations/animationParser.d.ts +24 -0
  5. package/dist/animations/composer.d.ts +13 -0
  6. package/dist/animations/presets/blink.d.ts +18 -0
  7. package/dist/animations/presets/blur.d.ts +18 -0
  8. package/dist/animations/presets/bounce.d.ts +18 -0
  9. package/dist/animations/presets/elastic.d.ts +23 -0
  10. package/dist/animations/presets/fade.d.ts +18 -0
  11. package/dist/animations/presets/flip.d.ts +18 -0
  12. package/dist/animations/presets/index.d.ts +38 -0
  13. package/dist/animations/presets/rotate.d.ts +23 -0
  14. package/dist/animations/presets/shake.d.ts +28 -0
  15. package/dist/animations/presets/slide.d.ts +23 -0
  16. package/dist/animations/presets/special.d.ts +38 -0
  17. package/dist/animations/presets/zoom.d.ts +23 -0
  18. package/dist/animations/registry.d.ts +51 -0
  19. package/dist/artifacts.json +40 -0
  20. package/dist/blink-BGmsrTwW.mjs +81 -0
  21. package/dist/blur-CQoB_VWp.mjs +52 -0
  22. package/dist/bounce-B_QJxgOq.mjs +64 -0
  23. package/dist/cineview-dev.css +2 -0
  24. package/dist/cineview-dev.es.mjs +2 -0
  25. package/dist/cineview-drag.umd.js +2 -0
  26. package/dist/cineview-scroll.umd.js +2 -0
  27. package/dist/cineview.es.mjs +2 -0
  28. package/dist/cineview.umd.js +2 -0
  29. package/dist/components/Animate/Animate.d.ts +67 -0
  30. package/dist/components/Animate/AnimateRenderBridge.d.ts +16 -0
  31. package/dist/components/Animate/AnimateVideo.d.ts +59 -0
  32. package/dist/components/Animate/StaggerContainer.d.ts +35 -0
  33. package/dist/components/Animate/__fixtures__/animate-media-public-path.fixture.d.ts +1 -0
  34. package/dist/components/Animate/animateInterpolation.d.ts +41 -0
  35. package/dist/components/Animate/animateRenderState.d.ts +23 -0
  36. package/dist/components/Animate/animateSemantics.d.ts +38 -0
  37. package/dist/components/Animate/animateTimeline.d.ts +14 -0
  38. package/dist/components/Animate/dragVisualState.d.ts +26 -0
  39. package/dist/components/Animate/index.d.ts +6 -0
  40. package/dist/components/Animate/useAnimateArrival.d.ts +35 -0
  41. package/dist/components/Animate/useAnimateDrag.d.ts +34 -0
  42. package/dist/components/Animate/useAnimatePublicTimeline.d.ts +16 -0
  43. package/dist/components/Animate/useAnimateScroll.d.ts +83 -0
  44. package/dist/components/Animate/useAnimatedPropertyLanes.d.ts +30 -0
  45. package/dist/components/Animate/visibilityScheduler.d.ts +12 -0
  46. package/dist/components/Cineview/Cineview.d.ts +46 -0
  47. package/dist/components/Cineview/CineviewDispatch.d.ts +2 -0
  48. package/dist/components/Cineview/DirectScrollCineview.d.ts +8 -0
  49. package/dist/components/Cineview/DragSceneStack.d.ts +55 -0
  50. package/dist/components/Cineview/ScrollSceneSlot.d.ts +42 -0
  51. package/dist/components/Cineview/ScrollSceneStack.d.ts +13 -0
  52. package/dist/components/Cineview/ScrollbarOverlay.d.ts +24 -0
  53. package/dist/components/Cineview/directScrollHelpers.d.ts +77 -0
  54. package/dist/components/Cineview/index.d.ts +5 -0
  55. package/dist/components/Cineview/preloadTargets.d.ts +18 -0
  56. package/dist/components/Cineview/regroupCallbacks.d.ts +10 -0
  57. package/dist/components/Cineview/useCineviewImperativeApi.d.ts +21 -0
  58. package/dist/components/Cineview/useNativeScrollController.d.ts +38 -0
  59. package/dist/components/Cineview/useScrollInputBindings.d.ts +9 -0
  60. package/dist/components/Cineview/useScrollSceneLayout.d.ts +24 -0
  61. package/dist/components/Cineview/useScrollSceneSnapshots.d.ts +32 -0
  62. package/dist/components/Cineview/useScrollViewport.d.ts +20 -0
  63. package/dist/components/Cineview/useScrollZoneRegistry.d.ts +35 -0
  64. package/dist/components/Container/Container.d.ts +2 -0
  65. package/dist/components/Container/index.d.ts +1 -0
  66. package/dist/components/Image/Image.d.ts +12 -0
  67. package/dist/components/Image/index.d.ts +2 -0
  68. package/dist/components/Position/Position.d.ts +13 -0
  69. package/dist/components/Position/index.d.ts +1 -0
  70. package/dist/components/Scene/Scene.d.ts +10 -0
  71. package/dist/components/Scene/SceneFixedLayer.d.ts +14 -0
  72. package/dist/components/Scene/__fixtures__/scene-grouped-public-path.fixture.d.ts +1 -0
  73. package/dist/components/Scene/dragPreparedState.d.ts +49 -0
  74. package/dist/components/Scene/helpers.d.ts +101 -0
  75. package/dist/components/Scene/index.d.ts +1 -0
  76. package/dist/components/Scene/sceneScrollBudget.d.ts +38 -0
  77. package/dist/components/Scene/sceneScrollRuntime.d.ts +65 -0
  78. package/dist/components/Scene/types.d.ts +189 -0
  79. package/dist/components/Scene/useDragSceneEngine.d.ts +67 -0
  80. package/dist/components/Scene/useElementTrack.d.ts +82 -0
  81. package/dist/components/Scene/useNativePointerDrag.d.ts +25 -0
  82. package/dist/components/Scene/useSceneAnimationRegistry.d.ts +56 -0
  83. package/dist/components/Scene/useScenePointerInput.d.ts +28 -0
  84. package/dist/components/Scene/useSceneRuntimeState.d.ts +17 -0
  85. package/dist/components/Scene/useSceneScrollTakeover.d.ts +13 -0
  86. package/dist/components/Scene/useScrollSceneEngine.d.ts +28 -0
  87. package/dist/components/runtime/runtimeContext.d.ts +14 -0
  88. package/dist/components/runtime/scrollExternalStore.d.ts +13 -0
  89. package/dist/components/runtime/scrollSceneFrameStore.d.ts +29 -0
  90. package/dist/context/CineviewContext.d.ts +25 -0
  91. package/dist/dev/PerfPanel.d.ts +16 -0
  92. package/dist/dev/index.d.ts +14 -0
  93. package/dist/dev/usePerfMonitor.d.ts +9 -0
  94. package/dist/drag-scene-engine-y8Wj9ivV.mjs +270 -0
  95. package/dist/elastic-CBP_FdRv.mjs +129 -0
  96. package/dist/element-track-Du10P12_.mjs +316 -0
  97. package/dist/entry-drag.d.ts +14 -0
  98. package/dist/entry-scroll.d.ts +14 -0
  99. package/dist/fade-DXxFsgxR.mjs +22 -0
  100. package/dist/flip-CrCoNIws.mjs +49 -0
  101. package/dist/hooks/imagePreloadCache.d.ts +4 -0
  102. package/dist/hooks/mediaPreloadCache.d.ts +31 -0
  103. package/dist/hooks/useFirstSceneEnter.d.ts +65 -0
  104. package/dist/hooks/useImagePreloader.d.ts +31 -0
  105. package/dist/hooks/usePrefersReducedMotion.d.ts +12 -0
  106. package/dist/hooks/useSceneManager.d.ts +79 -0
  107. package/dist/index.d.ts +17 -0
  108. package/dist/media/VideoFrameRenderer.d.ts +48 -0
  109. package/dist/media/videoPlaybackOwnership.d.ts +63 -0
  110. package/dist/performance-monitor-AlOOwzY_.mjs +73 -0
  111. package/dist/public-api.d.ts +12 -0
  112. package/dist/rotate-BMEBKDk5.mjs +69 -0
  113. package/dist/scene-animation-registry-8b0m_IaZ.mjs +422 -0
  114. package/dist/shake-BV6SdR9O.mjs +171 -0
  115. package/dist/slide-DWmVtj0L.mjs +63 -0
  116. package/dist/special-DDz8BopB.mjs +224 -0
  117. package/dist/types/index.d.ts +552 -0
  118. package/dist/utils/animationHelpers.d.ts +15 -0
  119. package/dist/utils/debounce.d.ts +18 -0
  120. package/dist/utils/devLog.d.ts +16 -0
  121. package/dist/utils/dragTimelineMapping.d.ts +30 -0
  122. package/dist/utils/gestureDetector.d.ts +67 -0
  123. package/dist/utils/performanceMonitor.d.ts +66 -0
  124. package/dist/utils/styleConvert.d.ts +7 -0
  125. package/dist/utils/useIsomorphicLayoutEffect.d.ts +22 -0
  126. package/dist/utils/useStructurallyStableValue.d.ts +5 -0
  127. package/dist/zoom-CuAthpqd.mjs +63 -0
  128. package/package.json +171 -0
@@ -0,0 +1,67 @@
1
+ import { GestureType } from '../types';
2
+ /**
3
+ * Gesture detection configuration
4
+ */
5
+ interface GestureConfig {
6
+ minSwipeDistance?: number;
7
+ maxSwipeTime?: number;
8
+ direction?: 'x' | 'y' | 'both';
9
+ }
10
+ /**
11
+ * Gesture detector class
12
+ */
13
+ export declare class GestureDetector {
14
+ private startPos;
15
+ private config;
16
+ constructor(config?: GestureConfig);
17
+ /**
18
+ * Handle touch or mouse start event
19
+ */
20
+ handleStart(event: TouchEvent | MouseEvent): void;
21
+ /**
22
+ * Handle touch or mouse end event
23
+ * @returns Detected gesture type
24
+ */
25
+ handleEnd(event: TouchEvent | MouseEvent): GestureType;
26
+ /**
27
+ * Get current drag progress (0-1)
28
+ * @param event - Current event
29
+ * @param containerSize - Container size (width or height)
30
+ * @returns Drag progress
31
+ */
32
+ getDragProgress(event: TouchEvent | MouseEvent, containerSize: number): number;
33
+ /**
34
+ * Reset gesture detector
35
+ */
36
+ reset(): void;
37
+ /**
38
+ * Extract position from event
39
+ */
40
+ private getPosition;
41
+ }
42
+ /**
43
+ * Create gesture detector
44
+ * @param config - Gesture detection configuration
45
+ * @returns Gesture detector instance
46
+ */
47
+ export declare function createGestureDetector(config?: GestureConfig): GestureDetector;
48
+ /**
49
+ * Detect if device supports touch
50
+ */
51
+ export declare function isTouchDevice(): boolean;
52
+ /**
53
+ * Simple gesture detection function
54
+ * @param start - Start position
55
+ * @param end - End position
56
+ * @param direction - Detection direction
57
+ * @param minDistance - Minimum swipe distance
58
+ * @returns Gesture type
59
+ */
60
+ export declare function detectGesture(start: {
61
+ x: number;
62
+ y: number;
63
+ }, end: {
64
+ x: number;
65
+ y: number;
66
+ }, direction?: 'x' | 'y', minDistance?: number): GestureType;
67
+ export {};
@@ -0,0 +1,66 @@
1
+ import { PerformanceMetrics } from '../types';
2
+ export type { PerformanceMetrics };
3
+ export declare class PerformanceMonitor {
4
+ private frameCount;
5
+ private lastTime;
6
+ private frameTimes;
7
+ private memorySamples;
8
+ private lastMemorySampleTime;
9
+ private cachedMemoryUsage;
10
+ private cachedBundleSizeKb;
11
+ private rafId;
12
+ private isMonitoring;
13
+ private measure;
14
+ constructor();
15
+ /**
16
+ * Start performance monitoring
17
+ */
18
+ start(): void;
19
+ /**
20
+ * Stop performance monitoring
21
+ */
22
+ stop(): void;
23
+ /**
24
+ * Get current performance metrics
25
+ */
26
+ getMetrics(): PerformanceMetrics;
27
+ /**
28
+ * Calculate average frame time
29
+ */
30
+ private calculateAvgFrameTime;
31
+ /**
32
+ * Get memory usage (if browser supports it)
33
+ * @returns Memory usage in MB
34
+ */
35
+ private getMemoryUsage;
36
+ private sampleMemory;
37
+ private getBundleSizeKb;
38
+ private estimateBundleSizeKb;
39
+ }
40
+ /**
41
+ * Create performance monitor instance
42
+ */
43
+ export declare const createPerformanceMonitor: () => PerformanceMonitor;
44
+ export declare const performanceMonitor: PerformanceMonitor;
45
+ /**
46
+ * Acquire page-level performance monitoring for a mounted Cineview instance.
47
+ * First lease starts monitoring, stops only after last lease is released; release is idempotent.
48
+ */
49
+ export declare const acquirePerformanceMonitoring: () => (() => void);
50
+ /**
51
+ * Start performance monitoring (using singleton)
52
+ */
53
+ export declare const startPerformanceMonitoring: () => void;
54
+ /**
55
+ * Stop performance monitoring (using singleton)
56
+ */
57
+ export declare const stopPerformanceMonitoring: () => void;
58
+ /**
59
+ * Get performance metrics (using singleton)
60
+ */
61
+ export declare const getPerformanceMetrics: () => PerformanceMetrics;
62
+ /**
63
+ * Get global performance monitor instance
64
+ * @deprecated Use performanceMonitor singleton instead
65
+ */
66
+ export declare const getGlobalPerformanceMonitor: () => PerformanceMonitor;
@@ -0,0 +1,7 @@
1
+ import { CSSProperties } from 'react';
2
+ /** Single-ruler converter interface (avoids circular dependency on context). */
3
+ export interface ScaleConverter {
4
+ convert: (value: number) => number;
5
+ }
6
+ export declare const convertNumericStyleValue: (key: string, value: unknown, context: ScaleConverter | null) => unknown;
7
+ export declare const convertStyle: (style: CSSProperties | undefined, context: ScaleConverter | null) => CSSProperties | undefined;
@@ -0,0 +1,22 @@
1
+ import { useEffect } from 'react';
2
+ /**
3
+ * SSR-safe `useLayoutEffect`.
4
+ *
5
+ * Background: `useLayoutEffect` does not execute during server-side rendering,
6
+ * causing React to emit "useLayoutEffect does nothing on the server" warnings.
7
+ * For a library, this warning appears directly in the consumer's (Next.js / Remix, etc.)
8
+ * server console, even though the library itself has no layout measurements to perform.
9
+ *
10
+ * The fix is a standard community pattern: fall back to `useEffect` when DOM is absent.
11
+ * Neither hook executes on the server, so **client-side behavior is unchanged** — this
12
+ * only suppresses the meaningless server-side warning.
13
+ *
14
+ * Detection uses `typeof document !== 'undefined'` rather than `window`: both are absent
15
+ * in SSR scenarios, but `document` is the actual dependency for layout measurements,
16
+ * making it semantically more precise.
17
+ *
18
+ * Note: this constant is evaluated once at module load time. The library's entire output
19
+ * runs in either browser or server environment for its full lifecycle — there is no
20
+ * mid-execution DOM acquisition, so re-checking on every render is unnecessary.
21
+ */
22
+ export declare const useIsomorphicLayoutEffect: typeof useEffect;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Keeps JSON-like authoring objects stable across renders when only their object
3
+ * identity changed. Functions and non-plain objects remain identity-sensitive.
4
+ */
5
+ export declare function useStructurallyStableValue<T>(value: T): T;
@@ -0,0 +1,63 @@
1
+ var a = {
2
+ "zoom-in": {
3
+ initial: {
4
+ scale: 0,
5
+ opacity: 0
6
+ },
7
+ animate: {
8
+ scale: 1,
9
+ opacity: 1
10
+ },
11
+ exit: {
12
+ scale: 0,
13
+ opacity: 0
14
+ }
15
+ },
16
+ "zoom-out": {
17
+ initial: {
18
+ scale: 1.5,
19
+ opacity: 0
20
+ },
21
+ animate: {
22
+ scale: 1,
23
+ opacity: 1
24
+ },
25
+ exit: {
26
+ scale: 1.5,
27
+ opacity: 0
28
+ }
29
+ },
30
+ "scale-up": {
31
+ initial: {
32
+ scale: 0.5,
33
+ opacity: 0
34
+ },
35
+ animate: {
36
+ scale: 1,
37
+ opacity: 1
38
+ },
39
+ exit: {
40
+ scale: 1.5,
41
+ opacity: 0
42
+ }
43
+ },
44
+ "scale-down": {
45
+ initial: {
46
+ scale: 1.5,
47
+ opacity: 0
48
+ },
49
+ animate: {
50
+ scale: 1,
51
+ opacity: 1
52
+ },
53
+ exit: {
54
+ scale: 0.5,
55
+ opacity: 0
56
+ }
57
+ }
58
+ };
59
+ export {
60
+ a as zoomAnimations
61
+ };
62
+
63
+ //# sourceMappingURL=zoom-CuAthpqd.mjs.map
package/package.json ADDED
@@ -0,0 +1,171 @@
1
+ {
2
+ "name": "cineview",
3
+ "version": "0.0.1-beta",
4
+ "description": "React UI framework for creating cinematic full-screen sliding pages",
5
+ "main": "dist/cineview.umd.js",
6
+ "module": "dist/cineview.es.mjs",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/cineview.es.mjs",
12
+ "require": "./dist/cineview.umd.js"
13
+ },
14
+ "./drag": {
15
+ "types": "./dist/entry-drag.d.ts",
16
+ "require": "./dist/cineview-drag.umd.js"
17
+ },
18
+ "./scroll": {
19
+ "types": "./dist/entry-scroll.d.ts",
20
+ "require": "./dist/cineview-scroll.umd.js"
21
+ },
22
+ "./dev": {
23
+ "types": "./dist/dev/index.d.ts",
24
+ "import": "./dist/cineview-dev.es.mjs"
25
+ },
26
+ "./dev/style.css": "./dist/cineview-dev.css"
27
+ },
28
+ "sideEffects": [
29
+ "**/*.css"
30
+ ],
31
+ "files": [
32
+ "dist/**/*.js",
33
+ "dist/**/*.mjs",
34
+ "dist/**/*.d.ts",
35
+ "dist/**/*.css",
36
+ "dist/artifacts.json"
37
+ ],
38
+ "scripts": {
39
+ "dev": "vite",
40
+ "build": "node scripts/build-all.mjs && node scripts/minify-library-entries.mjs",
41
+ "build:verify": "pnpm run build && node scripts/verify-build.js",
42
+ "preview": "vite preview",
43
+ "test": "jest",
44
+ "test:examples": "jest --runInBand src/__tests__/site/acceptanceFixtures.test.ts && pnpm --dir examples/minimal build",
45
+ "test:site-contracts": "jest --runInBand src/__tests__/site",
46
+ "test:browser": "pnpm build && pnpm --dir site acceptance:browser",
47
+ "quality:duplicates": "jscpd --config .jscpd.json src",
48
+ "verify:failure-injection": "node scripts/verify-failure-injection.js",
49
+ "verify:browser-failure-injection": "pnpm --dir site acceptance:failure-injection",
50
+ "test:watch": "jest --watch",
51
+ "test:coverage": "jest --coverage",
52
+ "test:coverage:framework": "jest --config jest.framework.config.js --coverage --runInBand && node scripts/write-coverage-badge.mjs",
53
+ "test:coverage:watch": "jest --coverage --watch",
54
+ "lint": "eslint src",
55
+ "lint:fix": "eslint src --fix",
56
+ "format": "pnpm format:framework && pnpm format:site",
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
+ "format:check": "pnpm format:check:framework && pnpm format:check:site",
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
+ "type-check": "tsc --noEmit",
63
+ "type-check:framework": "tsc -p tsconfig.framework.json --noEmit",
64
+ "type-check:site": "pnpm --dir site type-check",
65
+ "type-check:examples": "pnpm --dir examples/minimal type-check",
66
+ "prepublishOnly": "pnpm verify:framework:static",
67
+ "prepare": "husky",
68
+ "analyze": "vite build && open stats.html",
69
+ "lighthouse": "lighthouse http://localhost:3000 --view",
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",
72
+ "verify:framework": "pnpm verify:framework:static && pnpm test:browser && pnpm verify:browser-failure-injection",
73
+ "docs:style:static": "pnpm --dir site exec node tools/docs-style-probe.mjs --static",
74
+ "docs:style": "pnpm --dir site exec node tools/docs-style-probe.mjs",
75
+ "a11y:probe": "pnpm --dir site exec node tools/a11y-probe.mjs",
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",
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"
81
+ },
82
+ "peerDependencies": {
83
+ "framer-motion": "^13.0.0",
84
+ "react": "^19.0.0",
85
+ "react-dom": "^19.0.0"
86
+ },
87
+ "devDependencies": {
88
+ "@eslint/js": "^10.0.1",
89
+ "@fast-check/jest": "^2.2.0",
90
+ "@testing-library/dom": "^10.4.1",
91
+ "@testing-library/jest-dom": "^7.0.1",
92
+ "@testing-library/react": "^16.3.3",
93
+ "@testing-library/user-event": "^14.0.0",
94
+ "@types/jest": "^30.0.0",
95
+ "@types/node": "^26.4.1",
96
+ "@types/react": "^19.0.0",
97
+ "@types/react-dom": "^19.0.0",
98
+ "@typescript-eslint/eslint-plugin": "^8.69.0",
99
+ "@typescript-eslint/parser": "^8.69.0",
100
+ "@vitejs/plugin-react": "^6.1.1",
101
+ "esbuild": "^0.28.2",
102
+ "eslint": "^10.9.1",
103
+ "eslint-config-prettier": "^10.1.8",
104
+ "eslint-plugin-react": "^7.0.0",
105
+ "eslint-plugin-react-hooks": "^7.1.1",
106
+ "fast-check": "^4.6.0",
107
+ "framer-motion": "^13.2.0",
108
+ "globals": "^16.5.0",
109
+ "husky": "^9.1.7",
110
+ "jest": "^30.5.1",
111
+ "jest-environment-jsdom": "^30.5.1",
112
+ "jscpd": "5.1.1",
113
+ "lint-staged": "^17.4.1",
114
+ "playwright": "^1.63.0",
115
+ "prettier": "^3.0.0",
116
+ "react": "^19.2.8",
117
+ "react-dom": "^19.2.8",
118
+ "rollup-plugin-visualizer": "^7.1.1",
119
+ "terser": "5.46.1",
120
+ "ts-jest": "^29.4.12",
121
+ "ts-prune": "^0.10.3",
122
+ "typescript": "^5.9.3",
123
+ "typescript-eslint": "^8.69.0",
124
+ "vite": "^8.2.2",
125
+ "vite-plugin-compression": "^0.5.0",
126
+ "vite-plugin-dts": "^5.1.0"
127
+ },
128
+ "keywords": [
129
+ "react",
130
+ "ui",
131
+ "framework",
132
+ "animation",
133
+ "fullscreen",
134
+ "slider",
135
+ "cinematic"
136
+ ],
137
+ "author": "Alien.mu",
138
+ "license": "MIT",
139
+ "repository": {
140
+ "type": "git",
141
+ "url": "https://github.com/AlienMu/cineview.git"
142
+ },
143
+ "homepage": "https://cineview.pages.dev",
144
+ "bugs": {
145
+ "url": "https://github.com/AlienMu/cineview/issues"
146
+ },
147
+ "packageManager": "pnpm@10.22.0",
148
+ "browserslist": [
149
+ "chrome >= 85",
150
+ "edge >= 85",
151
+ "firefox >= 79",
152
+ "safari >= 14",
153
+ "ios_saf >= 14",
154
+ "not dead"
155
+ ],
156
+ "engines": {
157
+ "node": ">=18.0.0"
158
+ },
159
+ "pnpm": {
160
+ "overrides": {
161
+ "minimatch": ">=3.1.3"
162
+ }
163
+ },
164
+ "devEngines": {
165
+ "runtime": {
166
+ "name": "node",
167
+ "version": "^22.22.1 || >=24.0.0",
168
+ "onFail": "error"
169
+ }
170
+ }
171
+ }