@embeddable.com/sdk-react 0.0.6 → 0.0.7
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/.turbo/turbo-build.log +5 -5
- package/CHANGELOG.md +6 -0
- package/lib/embedEditor.d.ts +8 -4
- package/lib/index.cjs.js +14 -10
- package/lib/index.esm.js +14 -10
- package/lib/index.umd.js +14 -10
- package/package.json +1 -1
- package/scripts/build.js +4 -4
- package/src/embedEditor.tsx +19 -10
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
|
|
2
|
-
> @embeddable-
|
|
2
|
+
> @embeddable.com/sdk-react@0.0.7 build
|
|
3
3
|
> rollup -c
|
|
4
4
|
|
|
5
|
-
(node:
|
|
5
|
+
(node:1857) ExperimentalWarning: Import assertions are not a stable feature of the JavaScript language. Avoid relying on their current behavior and syntax as those might change in a future version of Node.js.
|
|
6
6
|
(Use `node --trace-warnings ...` to show where the warning was created)
|
|
7
|
-
(node:
|
|
7
|
+
(node:1857) ExperimentalWarning: Importing JSON modules is an experimental feature and might change at any time
|
|
8
8
|
[36m
|
|
9
9
|
[1m./src/index.ts[22m → [1mlib/index.umd.js[22m...[39m
|
|
10
10
|
[1m[33m(!) Plugin typescript: @rollup/plugin-typescript: Rollup 'sourcemap' option must be set to generate source maps.[39m[22m
|
|
11
|
-
[32mcreated [1mlib/index.umd.js[22m in [
|
|
11
|
+
[32mcreated [1mlib/index.umd.js[22m in [1m2.4s[22m[39m
|
|
12
12
|
[36m
|
|
13
13
|
[1m./src/index.ts[22m → [1mlib/index.cjs.js, lib/index.esm.js[22m...[39m
|
|
14
14
|
[1m[33m(!) Plugin typescript: @rollup/plugin-typescript: Rollup 'sourcemap' option must be set to generate source maps.[39m[22m
|
|
15
|
-
[32mcreated [1mlib/index.cjs.js, lib/index.esm.js[22m in [
|
|
15
|
+
[32mcreated [1mlib/index.cjs.js, lib/index.esm.js[22m in [1m1.5s[22m[39m
|
package/CHANGELOG.md
CHANGED
package/lib/embedEditor.d.ts
CHANGED
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
export type Config<T> = {
|
|
3
|
-
initialState: T;
|
|
4
3
|
inputs: any;
|
|
5
|
-
events: Record<string,
|
|
4
|
+
events: Record<string, EmbeddableEventHandler<T>>;
|
|
5
|
+
};
|
|
6
|
+
export type EmbeddableEventHandler<T> = (value: T, setter: Setter<T>) => void;
|
|
7
|
+
export type EmbeddableEvent<T> = {
|
|
8
|
+
editorId: string;
|
|
9
|
+
value: T;
|
|
6
10
|
};
|
|
7
|
-
export type EmbeddableEvent<T> = (value: T, setter: Setter<T>) => void;
|
|
8
11
|
type Setter<T> = (value: T) => void;
|
|
9
12
|
export declare function embedEditor<T>(InnerComponent: React.ComponentType, config: Config<T>): {
|
|
10
|
-
({ editorId }: {
|
|
13
|
+
({ editorId, initialValue }: {
|
|
11
14
|
editorId: any;
|
|
15
|
+
initialValue: any;
|
|
12
16
|
}): React.JSX.Element;
|
|
13
17
|
displayName: string;
|
|
14
18
|
};
|
package/lib/index.cjs.js
CHANGED
|
@@ -66,7 +66,7 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
|
|
|
66
66
|
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
67
67
|
};
|
|
68
68
|
|
|
69
|
-
var EVENT_NAME = 'embeddable-event:update-props';
|
|
69
|
+
var EVENT_NAME$1 = 'embeddable-event:update-props';
|
|
70
70
|
function embedComponent(InnerComponent, config) {
|
|
71
71
|
var _a;
|
|
72
72
|
function EmbeddableWrapper(_a) {
|
|
@@ -77,8 +77,8 @@ function embedComponent(InnerComponent, config) {
|
|
|
77
77
|
return setProps(detail);
|
|
78
78
|
};
|
|
79
79
|
React__namespace.useEffect(function () {
|
|
80
|
-
propsUpdateListener.addEventListener(EVENT_NAME, propsUpdateEventHandler);
|
|
81
|
-
return function () { return propsUpdateListener.removeEventListener(EVENT_NAME, propsUpdateEventHandler); };
|
|
80
|
+
propsUpdateListener.addEventListener(EVENT_NAME$1, propsUpdateEventHandler);
|
|
81
|
+
return function () { return propsUpdateListener.removeEventListener(EVENT_NAME$1, propsUpdateEventHandler); };
|
|
82
82
|
}, []);
|
|
83
83
|
var extendedProps = React__namespace.useMemo(function () { var _a; return (_a = config === null || config === void 0 ? void 0 : config.extendedProps) === null || _a === void 0 ? void 0 : _a.call(config, propsProxy); }, [propsProxy, config === null || config === void 0 ? void 0 : config.extendedProps]);
|
|
84
84
|
return React__namespace.createElement(InnerComponent, __assign({}, propsProxy, extendedProps));
|
|
@@ -87,15 +87,19 @@ function embedComponent(InnerComponent, config) {
|
|
|
87
87
|
return EmbeddableWrapper;
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
+
var EVENT_NAME = "embeddable:editor:changed";
|
|
90
91
|
function embedEditor(InnerComponent, config) {
|
|
91
92
|
var _a;
|
|
92
93
|
function EmbeddableWrapper(_a) {
|
|
93
|
-
var editorId = _a.editorId;
|
|
94
|
-
var _b = React__namespace.useState(
|
|
95
|
-
var createEvent = function (value
|
|
96
|
-
var event = new CustomEvent(
|
|
94
|
+
var editorId = _a.editorId, initialValue = _a.initialValue;
|
|
95
|
+
var _b = React__namespace.useState(initialValue), componentState = _b[0], setComponentState = _b[1];
|
|
96
|
+
var createEvent = function (value) {
|
|
97
|
+
var event = new CustomEvent(EVENT_NAME, {
|
|
97
98
|
bubbles: false,
|
|
98
|
-
detail:
|
|
99
|
+
detail: {
|
|
100
|
+
editorId: editorId,
|
|
101
|
+
value: value
|
|
102
|
+
},
|
|
99
103
|
});
|
|
100
104
|
window.dispatchEvent(event);
|
|
101
105
|
};
|
|
@@ -106,14 +110,14 @@ function embedEditor(InnerComponent, config) {
|
|
|
106
110
|
var eventFunction_1 = events[event_1];
|
|
107
111
|
eventProps[event_1] = function (value) {
|
|
108
112
|
eventFunction_1(value, setComponentState);
|
|
109
|
-
createEvent(value
|
|
113
|
+
createEvent(value);
|
|
110
114
|
};
|
|
111
115
|
}
|
|
112
116
|
};
|
|
113
117
|
for (var event_1 in events) {
|
|
114
118
|
_loop_1(event_1);
|
|
115
119
|
}
|
|
116
|
-
return React__namespace.createElement(InnerComponent, __assign({}, eventProps,
|
|
120
|
+
return React__namespace.createElement(InnerComponent, __assign({}, eventProps, config.inputs(componentState)));
|
|
117
121
|
}
|
|
118
122
|
EmbeddableWrapper.displayName = "embedded(".concat((_a = InnerComponent.displayName) !== null && _a !== void 0 ? _a : 'Editor', ")");
|
|
119
123
|
return EmbeddableWrapper;
|
package/lib/index.esm.js
CHANGED
|
@@ -45,7 +45,7 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
|
|
|
45
45
|
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
46
46
|
};
|
|
47
47
|
|
|
48
|
-
var EVENT_NAME = 'embeddable-event:update-props';
|
|
48
|
+
var EVENT_NAME$1 = 'embeddable-event:update-props';
|
|
49
49
|
function embedComponent(InnerComponent, config) {
|
|
50
50
|
var _a;
|
|
51
51
|
function EmbeddableWrapper(_a) {
|
|
@@ -56,8 +56,8 @@ function embedComponent(InnerComponent, config) {
|
|
|
56
56
|
return setProps(detail);
|
|
57
57
|
};
|
|
58
58
|
React.useEffect(function () {
|
|
59
|
-
propsUpdateListener.addEventListener(EVENT_NAME, propsUpdateEventHandler);
|
|
60
|
-
return function () { return propsUpdateListener.removeEventListener(EVENT_NAME, propsUpdateEventHandler); };
|
|
59
|
+
propsUpdateListener.addEventListener(EVENT_NAME$1, propsUpdateEventHandler);
|
|
60
|
+
return function () { return propsUpdateListener.removeEventListener(EVENT_NAME$1, propsUpdateEventHandler); };
|
|
61
61
|
}, []);
|
|
62
62
|
var extendedProps = React.useMemo(function () { var _a; return (_a = config === null || config === void 0 ? void 0 : config.extendedProps) === null || _a === void 0 ? void 0 : _a.call(config, propsProxy); }, [propsProxy, config === null || config === void 0 ? void 0 : config.extendedProps]);
|
|
63
63
|
return React.createElement(InnerComponent, __assign({}, propsProxy, extendedProps));
|
|
@@ -66,15 +66,19 @@ function embedComponent(InnerComponent, config) {
|
|
|
66
66
|
return EmbeddableWrapper;
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
+
var EVENT_NAME = "embeddable:editor:changed";
|
|
69
70
|
function embedEditor(InnerComponent, config) {
|
|
70
71
|
var _a;
|
|
71
72
|
function EmbeddableWrapper(_a) {
|
|
72
|
-
var editorId = _a.editorId;
|
|
73
|
-
var _b = React.useState(
|
|
74
|
-
var createEvent = function (value
|
|
75
|
-
var event = new CustomEvent(
|
|
73
|
+
var editorId = _a.editorId, initialValue = _a.initialValue;
|
|
74
|
+
var _b = React.useState(initialValue), componentState = _b[0], setComponentState = _b[1];
|
|
75
|
+
var createEvent = function (value) {
|
|
76
|
+
var event = new CustomEvent(EVENT_NAME, {
|
|
76
77
|
bubbles: false,
|
|
77
|
-
detail:
|
|
78
|
+
detail: {
|
|
79
|
+
editorId: editorId,
|
|
80
|
+
value: value
|
|
81
|
+
},
|
|
78
82
|
});
|
|
79
83
|
window.dispatchEvent(event);
|
|
80
84
|
};
|
|
@@ -85,14 +89,14 @@ function embedEditor(InnerComponent, config) {
|
|
|
85
89
|
var eventFunction_1 = events[event_1];
|
|
86
90
|
eventProps[event_1] = function (value) {
|
|
87
91
|
eventFunction_1(value, setComponentState);
|
|
88
|
-
createEvent(value
|
|
92
|
+
createEvent(value);
|
|
89
93
|
};
|
|
90
94
|
}
|
|
91
95
|
};
|
|
92
96
|
for (var event_1 in events) {
|
|
93
97
|
_loop_1(event_1);
|
|
94
98
|
}
|
|
95
|
-
return React.createElement(InnerComponent, __assign({}, eventProps,
|
|
99
|
+
return React.createElement(InnerComponent, __assign({}, eventProps, config.inputs(componentState)));
|
|
96
100
|
}
|
|
97
101
|
EmbeddableWrapper.displayName = "embedded(".concat((_a = InnerComponent.displayName) !== null && _a !== void 0 ? _a : 'Editor', ")");
|
|
98
102
|
return EmbeddableWrapper;
|
package/lib/index.umd.js
CHANGED
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
|
|
87
87
|
var reactExports = react.exports;
|
|
88
88
|
|
|
89
|
-
var EVENT_NAME = 'embeddable-event:update-props';
|
|
89
|
+
var EVENT_NAME$1 = 'embeddable-event:update-props';
|
|
90
90
|
function embedComponent(InnerComponent, config) {
|
|
91
91
|
var _a;
|
|
92
92
|
function EmbeddableWrapper(_a) {
|
|
@@ -97,8 +97,8 @@
|
|
|
97
97
|
return setProps(detail);
|
|
98
98
|
};
|
|
99
99
|
reactExports.useEffect(function () {
|
|
100
|
-
propsUpdateListener.addEventListener(EVENT_NAME, propsUpdateEventHandler);
|
|
101
|
-
return function () { return propsUpdateListener.removeEventListener(EVENT_NAME, propsUpdateEventHandler); };
|
|
100
|
+
propsUpdateListener.addEventListener(EVENT_NAME$1, propsUpdateEventHandler);
|
|
101
|
+
return function () { return propsUpdateListener.removeEventListener(EVENT_NAME$1, propsUpdateEventHandler); };
|
|
102
102
|
}, []);
|
|
103
103
|
var extendedProps = reactExports.useMemo(function () { var _a; return (_a = config === null || config === void 0 ? void 0 : config.extendedProps) === null || _a === void 0 ? void 0 : _a.call(config, propsProxy); }, [propsProxy, config === null || config === void 0 ? void 0 : config.extendedProps]);
|
|
104
104
|
return reactExports.createElement(InnerComponent, __assign({}, propsProxy, extendedProps));
|
|
@@ -107,15 +107,19 @@
|
|
|
107
107
|
return EmbeddableWrapper;
|
|
108
108
|
}
|
|
109
109
|
|
|
110
|
+
var EVENT_NAME = "embeddable:editor:changed";
|
|
110
111
|
function embedEditor(InnerComponent, config) {
|
|
111
112
|
var _a;
|
|
112
113
|
function EmbeddableWrapper(_a) {
|
|
113
|
-
var editorId = _a.editorId;
|
|
114
|
-
var _b = reactExports.useState(
|
|
115
|
-
var createEvent = function (value
|
|
116
|
-
var event = new CustomEvent(
|
|
114
|
+
var editorId = _a.editorId, initialValue = _a.initialValue;
|
|
115
|
+
var _b = reactExports.useState(initialValue), componentState = _b[0], setComponentState = _b[1];
|
|
116
|
+
var createEvent = function (value) {
|
|
117
|
+
var event = new CustomEvent(EVENT_NAME, {
|
|
117
118
|
bubbles: false,
|
|
118
|
-
detail:
|
|
119
|
+
detail: {
|
|
120
|
+
editorId: editorId,
|
|
121
|
+
value: value
|
|
122
|
+
},
|
|
119
123
|
});
|
|
120
124
|
window.dispatchEvent(event);
|
|
121
125
|
};
|
|
@@ -126,14 +130,14 @@
|
|
|
126
130
|
var eventFunction_1 = events[event_1];
|
|
127
131
|
eventProps[event_1] = function (value) {
|
|
128
132
|
eventFunction_1(value, setComponentState);
|
|
129
|
-
createEvent(value
|
|
133
|
+
createEvent(value);
|
|
130
134
|
};
|
|
131
135
|
}
|
|
132
136
|
};
|
|
133
137
|
for (var event_1 in events) {
|
|
134
138
|
_loop_1(event_1);
|
|
135
139
|
}
|
|
136
|
-
return reactExports.createElement(InnerComponent, __assign({}, eventProps,
|
|
140
|
+
return reactExports.createElement(InnerComponent, __assign({}, eventProps, config.inputs(componentState)));
|
|
137
141
|
}
|
|
138
142
|
EmbeddableWrapper.displayName = "embedded(".concat((_a = InnerComponent.displayName) !== null && _a !== void 0 ? _a : 'Editor', ")");
|
|
139
143
|
return EmbeddableWrapper;
|
package/package.json
CHANGED
package/scripts/build.js
CHANGED
|
@@ -11,21 +11,21 @@ const generateFork = fork(path.resolve(__dirname, 'generate.js'), [], { silent:
|
|
|
11
11
|
async function build() {
|
|
12
12
|
const ora = (await oraP).default; // TODO: migrate cli to modules/ts and bundle.
|
|
13
13
|
|
|
14
|
-
const spinnerPrepare = ora("
|
|
14
|
+
const spinnerPrepare = ora("preparing...").start();
|
|
15
15
|
|
|
16
16
|
const ctx = createContext(path.resolve(__dirname, '..'), process.cwd());
|
|
17
17
|
|
|
18
18
|
await validationEmulation();
|
|
19
19
|
await prepare(ctx);
|
|
20
|
-
spinnerPrepare.succeed();
|
|
20
|
+
spinnerPrepare.succeed("preparation competed");
|
|
21
21
|
|
|
22
|
-
const spinnerBuild = ora("
|
|
22
|
+
const spinnerBuild = ora("building...").start();
|
|
23
23
|
|
|
24
24
|
generateFork.send({ ctx });
|
|
25
25
|
|
|
26
26
|
generateFork.on('exit', async () => {
|
|
27
27
|
await cleanup(ctx);
|
|
28
|
-
spinnerBuild.succeed();
|
|
28
|
+
spinnerBuild.succeed("build completed");
|
|
29
29
|
})
|
|
30
30
|
|
|
31
31
|
}
|
package/src/embedEditor.tsx
CHANGED
|
@@ -1,26 +1,35 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
|
|
3
3
|
export type Config<T> = {
|
|
4
|
-
initialState: T
|
|
5
4
|
inputs: any;
|
|
6
|
-
events: Record<string,
|
|
5
|
+
events: Record<string, EmbeddableEventHandler<T>>
|
|
7
6
|
};
|
|
8
7
|
|
|
9
|
-
export type
|
|
8
|
+
export type EmbeddableEventHandler<T> = (value: T, setter: Setter<T>) => void;
|
|
9
|
+
|
|
10
|
+
export type EmbeddableEvent<T> = {
|
|
11
|
+
editorId: string;
|
|
12
|
+
value: T;
|
|
13
|
+
}
|
|
10
14
|
|
|
11
15
|
type Setter<T> = (value: T) => void;
|
|
12
16
|
|
|
17
|
+
const EVENT_NAME = "embeddable:editor:changed";
|
|
18
|
+
|
|
13
19
|
export function embedEditor<T>(InnerComponent: React.ComponentType, config: Config<T>) {
|
|
14
20
|
|
|
15
|
-
function EmbeddableWrapper({editorId}) {
|
|
21
|
+
function EmbeddableWrapper({editorId, initialValue}) {
|
|
16
22
|
|
|
17
|
-
const [componentState, setComponentState] = React.useState(
|
|
23
|
+
const [componentState, setComponentState] = React.useState(initialValue);
|
|
18
24
|
|
|
19
|
-
const createEvent = (value: T
|
|
25
|
+
const createEvent = (value: T) => {
|
|
20
26
|
|
|
21
|
-
const event = new CustomEvent(
|
|
27
|
+
const event = new CustomEvent<EmbeddableEvent<T>>(EVENT_NAME, {
|
|
22
28
|
bubbles: false,
|
|
23
|
-
detail:
|
|
29
|
+
detail: {
|
|
30
|
+
editorId,
|
|
31
|
+
value
|
|
32
|
+
},
|
|
24
33
|
});
|
|
25
34
|
window.dispatchEvent(event);
|
|
26
35
|
}
|
|
@@ -33,12 +42,12 @@ export function embedEditor<T>(InnerComponent: React.ComponentType, config: Conf
|
|
|
33
42
|
let eventFunction = events[event];
|
|
34
43
|
eventProps[event] = (value: T) => {
|
|
35
44
|
eventFunction(value, setComponentState)
|
|
36
|
-
createEvent(value
|
|
45
|
+
createEvent(value)
|
|
37
46
|
}
|
|
38
47
|
}
|
|
39
48
|
}
|
|
40
49
|
|
|
41
|
-
return <InnerComponent {...eventProps}
|
|
50
|
+
return <InnerComponent {...eventProps} {...config.inputs(componentState)} />;
|
|
42
51
|
}
|
|
43
52
|
|
|
44
53
|
EmbeddableWrapper.displayName = `embedded(${InnerComponent.displayName ?? 'Editor'})`;
|