@embeddable.com/sdk-react 0.0.6 → 0.0.8

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.
@@ -1,15 +1,15 @@
1
1
 
2
- > @embeddable-sdk/react@0.0.1 build
2
+ > @embeddable.com/sdk-react@0.0.8 build
3
3
  > rollup -c
4
4
 
5
- (node:41139) 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.
5
+ (node:1832) 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:41139) ExperimentalWarning: Importing JSON modules is an experimental feature and might change at any time
7
+ (node:1832) ExperimentalWarning: Importing JSON modules is an experimental feature and might change at any time
8
8
  
9
9
  ./src/index.ts → lib/index.umd.js...
10
10
  (!) Plugin typescript: @rollup/plugin-typescript: Rollup 'sourcemap' option must be set to generate source maps.
11
- created lib/index.umd.js in 732ms
11
+ created lib/index.umd.js in 2.3s
12
12
  
13
13
  ./src/index.ts → lib/index.cjs.js, lib/index.esm.js...
14
14
  (!) Plugin typescript: @rollup/plugin-typescript: Rollup 'sourcemap' option must be set to generate source maps.
15
- created lib/index.cjs.js, lib/index.esm.js in 366ms
15
+ created lib/index.cjs.js, lib/index.esm.js in 1.2s
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @embeddable.com/sdk-react
2
2
 
3
+ ## 0.0.8
4
+
5
+ ### Patch Changes
6
+
7
+ - ce832b1: Add package description and keywords.
8
+ - Updated dependencies [ce832b1]
9
+ - @embeddable.com/sdk-core@0.0.3
10
+
11
+ ## 0.0.7
12
+
13
+ ### Patch Changes
14
+
15
+ - 8a627a6: Adjust cli messages.
16
+
3
17
  ## 0.0.6
4
18
 
5
19
  ### Patch Changes
@@ -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, EmbeddableEvent<T>>;
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(config.initialState), componentState = _b[0], setComponentState = _b[1];
95
- var createEvent = function (value, eventName) {
96
- var event = new CustomEvent("".concat(editorId, ":").concat(eventName), {
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: value,
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, event_1);
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, { state: componentState }, config.inputs));
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(config.initialState), componentState = _b[0], setComponentState = _b[1];
74
- var createEvent = function (value, eventName) {
75
- var event = new CustomEvent("".concat(editorId, ":").concat(eventName), {
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: value,
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, event_1);
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, { state: componentState }, config.inputs));
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(config.initialState), componentState = _b[0], setComponentState = _b[1];
115
- var createEvent = function (value, eventName) {
116
- var event = new CustomEvent("".concat(editorId, ":").concat(eventName), {
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: value,
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, event_1);
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, { state: componentState }, config.inputs));
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
@@ -1,7 +1,12 @@
1
1
  {
2
2
  "name": "@embeddable.com/sdk-react",
3
- "version": "0.0.6",
4
- "description": "TODO.",
3
+ "version": "0.0.8",
4
+ "description": "Embeddable SDK React plugin/module responsible for React components bundling.",
5
+ "keywords": [
6
+ "embeddable",
7
+ "sdk",
8
+ "react"
9
+ ],
5
10
  "main": "lib/index.cjs.js",
6
11
  "module": "lib/index.esm.js",
7
12
  "browser": "lib/index.umd.js",
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("preparation").start();
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("build").start();
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
  }
@@ -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, EmbeddableEvent<T>>
5
+ events: Record<string, EmbeddableEventHandler<T>>
7
6
  };
8
7
 
9
- export type EmbeddableEvent<T> = (value: T, setter: Setter<T>) => void;
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(config.initialState);
23
+ const [componentState, setComponentState] = React.useState(initialValue);
18
24
 
19
- const createEvent = (value: T, eventName) => {
25
+ const createEvent = (value: T) => {
20
26
 
21
- const event = new CustomEvent(`${editorId}:${eventName}`, {
27
+ const event = new CustomEvent<EmbeddableEvent<T>>(EVENT_NAME, {
22
28
  bubbles: false,
23
- detail: value,
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, event)
45
+ createEvent(value)
37
46
  }
38
47
  }
39
48
  }
40
49
 
41
- return <InnerComponent {...eventProps} state={componentState} {...config.inputs} />;
50
+ return <InnerComponent {...eventProps} {...config.inputs(componentState)} />;
42
51
  }
43
52
 
44
53
  EmbeddableWrapper.displayName = `embedded(${InnerComponent.displayName ?? 'Editor'})`;