@bylqwjc/react-video-editor 1.0.3
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 +85 -0
- package/dist/react.d.ts +50 -0
- package/dist/react.mjs +1421 -0
- package/dist/styles.css +2 -0
- package/dist/web-component.d.ts +35 -0
- package/dist/web-component.mjs +1496 -0
- package/package.json +154 -0
package/README.md
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<a href="https://github.com/designcombo/react-video-editor">
|
|
3
|
+
<img width="150px" height="150px" src="https://cdn.designcombo.dev/combo-logo-black.png"/>
|
|
4
|
+
</a>
|
|
5
|
+
</p>
|
|
6
|
+
<h1 align="center">React Video Editor</h1>
|
|
7
|
+
|
|
8
|
+
<div align="center">
|
|
9
|
+
|
|
10
|
+
Video Editor application using React and TypeScript.
|
|
11
|
+
|
|
12
|
+
<p align="center">
|
|
13
|
+
<a href="https://designcombo.dev/">Combo</a>
|
|
14
|
+
ยท
|
|
15
|
+
<a href="https://discord.gg/jrZs3wZyM5">Discord</a>
|
|
16
|
+
ยท
|
|
17
|
+
<a href="https://github.com/designcombo/react-video-editor">X</a>
|
|
18
|
+
</p>
|
|
19
|
+
</div>
|
|
20
|
+
|
|
21
|
+
[](https://github.com/designcombo/react-video-editor)
|
|
22
|
+
|
|
23
|
+
## โจ Features
|
|
24
|
+
|
|
25
|
+
- ๐ฌ Timeline Editing: Arrange and trim media on a visual timeline.
|
|
26
|
+
- ๐ Effects and Transitions: Apply visual effects, filters, and transitions.
|
|
27
|
+
- ๐ Multi-track Support: Edit multiple video and audio tracks simultaneously.
|
|
28
|
+
- ๐ค Export Options: Save videos in various resolutions and formats.
|
|
29
|
+
- ๐ Real-time Preview: See immediate previews of edits.
|
|
30
|
+
|
|
31
|
+
## ๐ See It in Action
|
|
32
|
+
|
|
33
|
+
Check out the deployed version here: [React Video Editor Live Demo](https://video.designcombo.dev/)
|
|
34
|
+
|
|
35
|
+
## Package Usage
|
|
36
|
+
|
|
37
|
+
Install the package:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
npm install @bylqwjc/react-video-editor
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Import the React entry when the host project already uses React:
|
|
44
|
+
|
|
45
|
+
```tsx
|
|
46
|
+
import { VideoEditorLauncher } from "@bylqwjc/react-video-editor";
|
|
47
|
+
import "@bylqwjc/react-video-editor/styles.css";
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Import the web component entry for Vue or other non-React hosts:
|
|
51
|
+
|
|
52
|
+
```ts
|
|
53
|
+
import "@bylqwjc/react-video-editor/styles.css";
|
|
54
|
+
import {
|
|
55
|
+
openVideoEditor,
|
|
56
|
+
registerVideoEditorElement,
|
|
57
|
+
} from "@bylqwjc/react-video-editor/web-component";
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
The `web-component` bundle is published as a self-contained browser build, so consumers do not need to rebundle `framer-motion`, `next-themes`, or React internals just to open the editor.
|
|
61
|
+
|
|
62
|
+
## โจ๏ธ Development
|
|
63
|
+
|
|
64
|
+
### Environment Variables
|
|
65
|
+
|
|
66
|
+
Create a `.env` file in the project root and add the following:
|
|
67
|
+
|
|
68
|
+
```env
|
|
69
|
+
PEXELS_API_KEY=""
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Clone locally:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
git clone git@github.com:designcombo/react-video-editor.git
|
|
76
|
+
cd react-video-editor
|
|
77
|
+
pnpm install
|
|
78
|
+
pnpm dev
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Open your browser and visit http://localhost:3000 , see more at [Development](https://github.com/designcombo/react-video-editor).
|
|
82
|
+
|
|
83
|
+
## ๐ License
|
|
84
|
+
|
|
85
|
+
Copyright ยฉ 2025 [DesignCombo](https://designcombo.dev/).
|
package/dist/react.d.ts
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { JSX, ReactNode } from "react";
|
|
2
|
+
|
|
3
|
+
export interface EditorProps {
|
|
4
|
+
tempId?: string;
|
|
5
|
+
id?: string;
|
|
6
|
+
embedded?: boolean;
|
|
7
|
+
showNavbar?: boolean;
|
|
8
|
+
className?: string;
|
|
9
|
+
onClose?: () => void;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
declare const Editor: (props: EditorProps) => JSX.Element;
|
|
13
|
+
export default Editor;
|
|
14
|
+
export { Editor };
|
|
15
|
+
|
|
16
|
+
export interface VideoEditorProviderProps {
|
|
17
|
+
children: ReactNode;
|
|
18
|
+
defaultTheme?: "light" | "dark" | "system";
|
|
19
|
+
withToaster?: boolean;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export declare function VideoEditorProvider(
|
|
23
|
+
props: VideoEditorProviderProps,
|
|
24
|
+
): JSX.Element;
|
|
25
|
+
|
|
26
|
+
export interface VideoEditorModalProps
|
|
27
|
+
extends Pick<EditorProps, "tempId" | "id" | "showNavbar"> {
|
|
28
|
+
trigger?: ReactNode;
|
|
29
|
+
open?: boolean;
|
|
30
|
+
defaultOpen?: boolean;
|
|
31
|
+
onOpenChange?: (open: boolean) => void;
|
|
32
|
+
contentClassName?: string;
|
|
33
|
+
editorClassName?: string;
|
|
34
|
+
defaultTheme?: "light" | "dark" | "system";
|
|
35
|
+
withToaster?: boolean;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export declare function VideoEditorModal(
|
|
39
|
+
props: VideoEditorModalProps,
|
|
40
|
+
): JSX.Element;
|
|
41
|
+
|
|
42
|
+
export interface VideoEditorLauncherProps
|
|
43
|
+
extends Omit<VideoEditorModalProps, "trigger"> {
|
|
44
|
+
buttonText?: string;
|
|
45
|
+
buttonClassName?: string;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export declare function VideoEditorLauncher(
|
|
49
|
+
props: VideoEditorLauncherProps,
|
|
50
|
+
): JSX.Element;
|