@editframe/react 0.7.0-beta.8 → 0.8.0-beta.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/dist/elements/EFTimegroup.d.ts +3 -0
- package/dist/gui/EFPreview.d.ts +3 -0
- package/dist/gui/EFPreview.js +11 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.js +2 -0
- package/package.json +6 -8
- package/src/elements/EFTimegroup.ts +1 -1
- package/src/gui/EFPreview.ts +9 -0
- package/dist/create-component.cjs +0 -128
- package/dist/elements/EFAudio.cjs +0 -11
- package/dist/elements/EFCaptions.cjs +0 -17
- package/dist/elements/EFImage.cjs +0 -11
- package/dist/elements/EFTimegroup.cjs +0 -11
- package/dist/elements/EFVideo.cjs +0 -11
- package/dist/elements/EFWaveform.cjs +0 -11
- package/dist/gui/EFFilmstrip.cjs +0 -11
- package/dist/gui/EFWorkbench.cjs +0 -11
- package/dist/hooks/useTimingInfo.cjs +0 -35
- package/dist/index.cjs +0 -21
- package/dist/packages/react/src/elements/EFTimegroup.d.ts +0 -3
- package/dist/packages/react/src/index.d.ts +0 -9
- /package/dist/{packages/react/src/create-component.d.ts → create-component.d.ts} +0 -0
- /package/dist/{packages/react/src/elements → elements}/EFAudio.d.ts +0 -0
- /package/dist/{packages/react/src/elements → elements}/EFCaptions.d.ts +0 -0
- /package/dist/{packages/react/src/elements → elements}/EFImage.d.ts +0 -0
- /package/dist/{packages/react/src/elements → elements}/EFVideo.d.ts +0 -0
- /package/dist/{packages/react/src/elements → elements}/EFWaveform.d.ts +0 -0
- /package/dist/{packages/react/src/gui → gui}/EFFilmstrip.d.ts +0 -0
- /package/dist/{packages/react/src/gui → gui}/EFWorkbench.d.ts +0 -0
- /package/dist/{packages/react/src/hooks → hooks}/useTimingInfo.d.ts +0 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { createComponent } from "@lit/react";
|
|
3
|
+
import { EFPreview as EFPreview$1 } from "@editframe/elements";
|
|
4
|
+
const EFPreview = createComponent({
|
|
5
|
+
tagName: "ef-preview",
|
|
6
|
+
elementClass: EFPreview$1,
|
|
7
|
+
react: React
|
|
8
|
+
});
|
|
9
|
+
export {
|
|
10
|
+
EFPreview
|
|
11
|
+
};
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { EFAudio } from './elements/EFAudio.ts';
|
|
2
|
+
export { EFCaptions, EFCaptionsActiveWord } from './elements/EFCaptions.ts';
|
|
3
|
+
export { EFImage } from './elements/EFImage.ts';
|
|
4
|
+
export { EFTimegroup } from './elements/EFTimegroup.ts';
|
|
5
|
+
export { EFVideo } from './elements/EFVideo.ts';
|
|
6
|
+
export { EFWaveform } from './elements/EFWaveform.ts';
|
|
7
|
+
export { EFWorkbench } from './gui/EFWorkbench.ts';
|
|
8
|
+
export { EFFilmstrip } from './gui/EFFilmstrip.ts';
|
|
9
|
+
export { EFPreview } from './gui/EFPreview.ts';
|
|
10
|
+
export { useTimingInfo } from './hooks/useTimingInfo.ts';
|
package/dist/index.js
CHANGED
|
@@ -6,6 +6,7 @@ import { EFVideo } from "./elements/EFVideo.js";
|
|
|
6
6
|
import { EFWaveform } from "./elements/EFWaveform.js";
|
|
7
7
|
import { EFWorkbench } from "./gui/EFWorkbench.js";
|
|
8
8
|
import { EFFilmstrip } from "./gui/EFFilmstrip.js";
|
|
9
|
+
import { EFPreview } from "./gui/EFPreview.js";
|
|
9
10
|
import { useTimingInfo } from "./hooks/useTimingInfo.js";
|
|
10
11
|
export {
|
|
11
12
|
EFAudio,
|
|
@@ -13,6 +14,7 @@ export {
|
|
|
13
14
|
EFCaptionsActiveWord,
|
|
14
15
|
EFFilmstrip,
|
|
15
16
|
EFImage,
|
|
17
|
+
EFPreview,
|
|
16
18
|
EFTimegroup,
|
|
17
19
|
EFVideo,
|
|
18
20
|
EFWaveform,
|
package/package.json
CHANGED
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@editframe/react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0-beta.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
7
7
|
"import": {
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
},
|
|
11
|
-
"require": {
|
|
12
|
-
"default": "./dist/index.cjs",
|
|
13
|
-
"types": "./dist/packages/react/src/index.d.ts"
|
|
8
|
+
"types": "./dist/packages/react/src/index.d.ts",
|
|
9
|
+
"default": "./dist/index.js"
|
|
14
10
|
}
|
|
15
11
|
}
|
|
16
12
|
},
|
|
@@ -23,16 +19,18 @@
|
|
|
23
19
|
"author": "",
|
|
24
20
|
"license": "UNLICENSED",
|
|
25
21
|
"dependencies": {
|
|
26
|
-
"@editframe/elements": "0.
|
|
22
|
+
"@editframe/elements": "0.8.0-beta.1",
|
|
27
23
|
"@lit/react": "^1.0.5",
|
|
28
24
|
"debug": "^4.3.5",
|
|
29
25
|
"react": "^18.3.0",
|
|
30
26
|
"react-dom": "^18.3.0"
|
|
31
27
|
},
|
|
32
28
|
"devDependencies": {
|
|
29
|
+
"@types/node": "^22.0.0",
|
|
33
30
|
"@types/react": "^18.3.0",
|
|
34
31
|
"@types/react-dom": "^18.3.0",
|
|
35
32
|
"rollup-plugin-tsconfig-paths": "^1.5.2",
|
|
33
|
+
"typescript": "^5.5.4",
|
|
36
34
|
"vite-plugin-dts": "^3.9.1",
|
|
37
35
|
"vite-tsconfig-paths": "^4.3.2"
|
|
38
36
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { createComponent } from "@lit/react";
|
|
3
|
+
import { EFPreview as EFPreviewElement } from "@editframe/elements";
|
|
4
|
+
|
|
5
|
+
export const EFPreview = createComponent({
|
|
6
|
+
tagName: "ef-preview",
|
|
7
|
+
elementClass: EFPreviewElement,
|
|
8
|
+
react: React,
|
|
9
|
+
});
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
/**
|
|
4
|
-
* @license
|
|
5
|
-
* Copyright 2018 Google LLC
|
|
6
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
7
|
-
*/
|
|
8
|
-
const reservedReactProperties = /* @__PURE__ */ new Set([
|
|
9
|
-
"id",
|
|
10
|
-
"children",
|
|
11
|
-
"localName",
|
|
12
|
-
"ref",
|
|
13
|
-
"style",
|
|
14
|
-
"className"
|
|
15
|
-
]);
|
|
16
|
-
const listenedEvents = /* @__PURE__ */ new WeakMap();
|
|
17
|
-
const addOrUpdateEventListener = (node, event, listener) => {
|
|
18
|
-
let events = listenedEvents.get(node);
|
|
19
|
-
if (events === void 0) {
|
|
20
|
-
listenedEvents.set(node, events = /* @__PURE__ */ new Map());
|
|
21
|
-
}
|
|
22
|
-
let handler = events.get(event);
|
|
23
|
-
if (listener !== void 0) {
|
|
24
|
-
if (handler === void 0) {
|
|
25
|
-
events.set(event, handler = { handleEvent: listener });
|
|
26
|
-
node.addEventListener(event, handler);
|
|
27
|
-
} else {
|
|
28
|
-
handler.handleEvent = listener;
|
|
29
|
-
}
|
|
30
|
-
} else if (handler !== void 0) {
|
|
31
|
-
events.delete(event);
|
|
32
|
-
node.removeEventListener(event, handler);
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
const setProperty = (node, name, value, old, events) => {
|
|
36
|
-
const event = events?.[name];
|
|
37
|
-
if (event !== void 0) {
|
|
38
|
-
if (value !== old) {
|
|
39
|
-
addOrUpdateEventListener(node, event, value);
|
|
40
|
-
}
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
node[name] = value;
|
|
44
|
-
if ((value === void 0 || value === null) && name in HTMLElement.prototype) {
|
|
45
|
-
node.removeAttribute(name);
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
const createComponent = ({
|
|
49
|
-
react: React,
|
|
50
|
-
tagName,
|
|
51
|
-
elementClass,
|
|
52
|
-
events,
|
|
53
|
-
displayName
|
|
54
|
-
}) => {
|
|
55
|
-
const eventProps = new Set(Object.keys(events ?? {}));
|
|
56
|
-
{
|
|
57
|
-
for (const p of reservedReactProperties) {
|
|
58
|
-
if (p in elementClass.prototype && !(p in HTMLElement.prototype)) {
|
|
59
|
-
console.warn(
|
|
60
|
-
`${tagName} contains property ${p} which is a React reserved property. It will be used by React and not set on the element.`
|
|
61
|
-
);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
const ReactComponent = React.forwardRef((props, ref) => {
|
|
66
|
-
const prevElemPropsRef = React.useRef(/* @__PURE__ */ new Map());
|
|
67
|
-
const elementRef = React.useRef(null);
|
|
68
|
-
const reactProps = {};
|
|
69
|
-
const elementProps = {};
|
|
70
|
-
for (const [k, v] of Object.entries(props)) {
|
|
71
|
-
if (reservedReactProperties.has(k)) {
|
|
72
|
-
reactProps[k === "className" ? "class" : k] = v;
|
|
73
|
-
continue;
|
|
74
|
-
}
|
|
75
|
-
if (eventProps.has(k) || k in elementClass.prototype) {
|
|
76
|
-
elementProps[k] = v;
|
|
77
|
-
continue;
|
|
78
|
-
}
|
|
79
|
-
reactProps[k] = v;
|
|
80
|
-
}
|
|
81
|
-
{
|
|
82
|
-
React.useLayoutEffect(() => {
|
|
83
|
-
if (elementRef.current === null) {
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
const newElemProps = /* @__PURE__ */ new Map();
|
|
87
|
-
for (const key in elementProps) {
|
|
88
|
-
setProperty(
|
|
89
|
-
elementRef.current,
|
|
90
|
-
key,
|
|
91
|
-
props[key],
|
|
92
|
-
prevElemPropsRef.current.get(key),
|
|
93
|
-
events
|
|
94
|
-
);
|
|
95
|
-
prevElemPropsRef.current.delete(key);
|
|
96
|
-
newElemProps.set(key, props[key]);
|
|
97
|
-
}
|
|
98
|
-
for (const [key, value] of prevElemPropsRef.current) {
|
|
99
|
-
setProperty(elementRef.current, key, void 0, value, events);
|
|
100
|
-
}
|
|
101
|
-
prevElemPropsRef.current = newElemProps;
|
|
102
|
-
});
|
|
103
|
-
React.useLayoutEffect(() => {
|
|
104
|
-
elementRef.current?.removeAttribute("defer-hydration");
|
|
105
|
-
}, []);
|
|
106
|
-
}
|
|
107
|
-
{
|
|
108
|
-
reactProps.suppressHydrationWarning = true;
|
|
109
|
-
}
|
|
110
|
-
return React.createElement(tagName, {
|
|
111
|
-
...reactProps,
|
|
112
|
-
ref: React.useCallback(
|
|
113
|
-
(node) => {
|
|
114
|
-
elementRef.current = node;
|
|
115
|
-
if (typeof ref === "function") {
|
|
116
|
-
ref(node);
|
|
117
|
-
} else if (ref !== null) {
|
|
118
|
-
ref.current = node;
|
|
119
|
-
}
|
|
120
|
-
},
|
|
121
|
-
[ref]
|
|
122
|
-
)
|
|
123
|
-
});
|
|
124
|
-
});
|
|
125
|
-
ReactComponent.displayName = displayName ?? elementClass.name;
|
|
126
|
-
return ReactComponent;
|
|
127
|
-
};
|
|
128
|
-
exports.createComponent = createComponent;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const React = require("react");
|
|
4
|
-
const react = require("@lit/react");
|
|
5
|
-
const elements = require("@editframe/elements");
|
|
6
|
-
const EFAudio = react.createComponent({
|
|
7
|
-
tagName: "ef-audio",
|
|
8
|
-
elementClass: elements.EFAudio,
|
|
9
|
-
react: React
|
|
10
|
-
});
|
|
11
|
-
exports.EFAudio = EFAudio;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const React = require("react");
|
|
4
|
-
const react = require("@lit/react");
|
|
5
|
-
const elements = require("@editframe/elements");
|
|
6
|
-
const EFCaptions = react.createComponent({
|
|
7
|
-
tagName: "ef-captions",
|
|
8
|
-
elementClass: elements.EFCaptions,
|
|
9
|
-
react: React
|
|
10
|
-
});
|
|
11
|
-
const EFCaptionsActiveWord = react.createComponent({
|
|
12
|
-
tagName: "ef-captions-active-word",
|
|
13
|
-
elementClass: elements.EFCaptionsActiveWord,
|
|
14
|
-
react: React
|
|
15
|
-
});
|
|
16
|
-
exports.EFCaptions = EFCaptions;
|
|
17
|
-
exports.EFCaptionsActiveWord = EFCaptionsActiveWord;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const React = require("react");
|
|
4
|
-
const react = require("@lit/react");
|
|
5
|
-
const elements = require("@editframe/elements");
|
|
6
|
-
const EFImage = react.createComponent({
|
|
7
|
-
tagName: "ef-image",
|
|
8
|
-
elementClass: elements.EFImage,
|
|
9
|
-
react: React
|
|
10
|
-
});
|
|
11
|
-
exports.EFImage = EFImage;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const React = require("react");
|
|
4
|
-
const createComponent = require("../create-component.cjs");
|
|
5
|
-
const elements = require("@editframe/elements");
|
|
6
|
-
const EFTimegroup = createComponent.createComponent({
|
|
7
|
-
tagName: "ef-timegroup",
|
|
8
|
-
elementClass: elements.EFTimegroup,
|
|
9
|
-
react: React
|
|
10
|
-
});
|
|
11
|
-
exports.EFTimegroup = EFTimegroup;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const React = require("react");
|
|
4
|
-
const react = require("@lit/react");
|
|
5
|
-
const elements = require("@editframe/elements");
|
|
6
|
-
const EFVideo = react.createComponent({
|
|
7
|
-
tagName: "ef-video",
|
|
8
|
-
elementClass: elements.EFVideo,
|
|
9
|
-
react: React
|
|
10
|
-
});
|
|
11
|
-
exports.EFVideo = EFVideo;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const React = require("react");
|
|
4
|
-
const react = require("@lit/react");
|
|
5
|
-
const elements = require("@editframe/elements");
|
|
6
|
-
const EFWaveform = react.createComponent({
|
|
7
|
-
tagName: "ef-waveform",
|
|
8
|
-
elementClass: elements.EFWaveform,
|
|
9
|
-
react: React
|
|
10
|
-
});
|
|
11
|
-
exports.EFWaveform = EFWaveform;
|
package/dist/gui/EFFilmstrip.cjs
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const React = require("react");
|
|
4
|
-
const react = require("@lit/react");
|
|
5
|
-
const elements = require("@editframe/elements");
|
|
6
|
-
const EFFilmstrip = react.createComponent({
|
|
7
|
-
tagName: "ef-filmstrip",
|
|
8
|
-
elementClass: elements.EFFilmstrip,
|
|
9
|
-
react: React
|
|
10
|
-
});
|
|
11
|
-
exports.EFFilmstrip = EFFilmstrip;
|
package/dist/gui/EFWorkbench.cjs
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const React = require("react");
|
|
4
|
-
const react = require("@lit/react");
|
|
5
|
-
const elements = require("@editframe/elements");
|
|
6
|
-
const EFWorkbench = react.createComponent({
|
|
7
|
-
tagName: "ef-workbench",
|
|
8
|
-
elementClass: elements.EFWorkbench,
|
|
9
|
-
react: React
|
|
10
|
-
});
|
|
11
|
-
exports.EFWorkbench = EFWorkbench;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const React = require("react");
|
|
4
|
-
class CurrentTimeController {
|
|
5
|
-
constructor(host, setCurrentTime) {
|
|
6
|
-
this.host = host;
|
|
7
|
-
this.setCurrentTime = setCurrentTime;
|
|
8
|
-
this.host.addController(this);
|
|
9
|
-
}
|
|
10
|
-
hostDisconnected() {
|
|
11
|
-
this.host.removeController(this);
|
|
12
|
-
}
|
|
13
|
-
hostUpdated() {
|
|
14
|
-
this.setCurrentTime({
|
|
15
|
-
ownCurrentTimeMs: this.host.ownCurrentTimeMs,
|
|
16
|
-
durationMs: this.host.durationMs,
|
|
17
|
-
percentComplete: this.host.ownCurrentTimeMs / this.host.durationMs
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
const useTimingInfo = (timegroupRef = React.useRef(null)) => {
|
|
22
|
-
const [timeInfo, setTimeInfo] = React.useState({
|
|
23
|
-
ownCurrentTimeMs: 0,
|
|
24
|
-
durationMs: 0,
|
|
25
|
-
percentComplete: 0
|
|
26
|
-
});
|
|
27
|
-
React.useEffect(() => {
|
|
28
|
-
if (!timegroupRef.current) {
|
|
29
|
-
throw new Error("Timegroup ref not set");
|
|
30
|
-
}
|
|
31
|
-
new CurrentTimeController(timegroupRef.current, setTimeInfo);
|
|
32
|
-
}, [timegroupRef.current]);
|
|
33
|
-
return { ...timeInfo, ref: timegroupRef };
|
|
34
|
-
};
|
|
35
|
-
exports.useTimingInfo = useTimingInfo;
|
package/dist/index.cjs
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const EFAudio = require("./elements/EFAudio.cjs");
|
|
4
|
-
const EFCaptions = require("./elements/EFCaptions.cjs");
|
|
5
|
-
const EFImage = require("./elements/EFImage.cjs");
|
|
6
|
-
const EFTimegroup = require("./elements/EFTimegroup.cjs");
|
|
7
|
-
const EFVideo = require("./elements/EFVideo.cjs");
|
|
8
|
-
const EFWaveform = require("./elements/EFWaveform.cjs");
|
|
9
|
-
const EFWorkbench = require("./gui/EFWorkbench.cjs");
|
|
10
|
-
const EFFilmstrip = require("./gui/EFFilmstrip.cjs");
|
|
11
|
-
const useTimingInfo = require("./hooks/useTimingInfo.cjs");
|
|
12
|
-
exports.EFAudio = EFAudio.EFAudio;
|
|
13
|
-
exports.EFCaptions = EFCaptions.EFCaptions;
|
|
14
|
-
exports.EFCaptionsActiveWord = EFCaptions.EFCaptionsActiveWord;
|
|
15
|
-
exports.EFImage = EFImage.EFImage;
|
|
16
|
-
exports.EFTimegroup = EFTimegroup.EFTimegroup;
|
|
17
|
-
exports.EFVideo = EFVideo.EFVideo;
|
|
18
|
-
exports.EFWaveform = EFWaveform.EFWaveform;
|
|
19
|
-
exports.EFWorkbench = EFWorkbench.EFWorkbench;
|
|
20
|
-
exports.EFFilmstrip = EFFilmstrip.EFFilmstrip;
|
|
21
|
-
exports.useTimingInfo = useTimingInfo.useTimingInfo;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export { EFAudio } from './elements/EFAudio';
|
|
2
|
-
export { EFCaptions, EFCaptionsActiveWord } from './elements/EFCaptions';
|
|
3
|
-
export { EFImage } from './elements/EFImage';
|
|
4
|
-
export { EFTimegroup } from './elements/EFTimegroup';
|
|
5
|
-
export { EFVideo } from './elements/EFVideo';
|
|
6
|
-
export { EFWaveform } from './elements/EFWaveform';
|
|
7
|
-
export { EFWorkbench } from './gui/EFWorkbench';
|
|
8
|
-
export { EFFilmstrip } from './gui/EFFilmstrip';
|
|
9
|
-
export { useTimingInfo } from './hooks/useTimingInfo';
|
|
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
|