kitchen-simulator 4.0.4-react-18 → 4.0.7-react-18
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/es/LiteKitchenConfigurator.js +3 -1
- package/es/LiteRenderer.js +8 -1
- package/es/index.js +8 -15
- package/lib/LiteKitchenConfigurator.js +3 -1
- package/lib/LiteRenderer.js +8 -1
- package/lib/index.js +8 -15
- package/package.json +7 -3
|
@@ -317,7 +317,9 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
|
|
|
317
317
|
onInternalEvent = _this$props.onInternalEvent;
|
|
318
318
|
|
|
319
319
|
// handle external events
|
|
320
|
-
|
|
320
|
+
var prevId = prevProps.externalEvent && prevProps.externalEvent.id;
|
|
321
|
+
var nextId = externalEvent && externalEvent.id;
|
|
322
|
+
if (nextId != null && prevId !== nextId) {
|
|
321
323
|
handleExternalEvent(this.props);
|
|
322
324
|
}
|
|
323
325
|
var plannerState = stateExtractor(state);
|
package/es/LiteRenderer.js
CHANGED
|
@@ -145,6 +145,13 @@ export default function LiteRenderer(props) {
|
|
|
145
145
|
onInternalEvent = props.onInternalEvent,
|
|
146
146
|
onError = props.onError,
|
|
147
147
|
passThrough = _objectWithoutProperties(props, _excluded);
|
|
148
|
+
var normalizedExternalEvent = React.useMemo(function () {
|
|
149
|
+
if (!externalEvent) return null;
|
|
150
|
+
if (externalEvent.id != null) return externalEvent;
|
|
151
|
+
return _objectSpread(_objectSpread({}, externalEvent), {}, {
|
|
152
|
+
id: "".concat(Date.now(), "-").concat(Math.random())
|
|
153
|
+
});
|
|
154
|
+
}, [externalEvent]);
|
|
148
155
|
|
|
149
156
|
/* ---------- track last external event ---------- */
|
|
150
157
|
var lastExternalEventRef = useRef(null);
|
|
@@ -291,7 +298,7 @@ export default function LiteRenderer(props) {
|
|
|
291
298
|
return state.get('KitchenConfigurator');
|
|
292
299
|
},
|
|
293
300
|
configData: configData,
|
|
294
|
-
externalEvent:
|
|
301
|
+
externalEvent: normalizedExternalEvent,
|
|
295
302
|
onInternalEvent: onInternalEvent
|
|
296
303
|
}, passThrough))));
|
|
297
304
|
}
|
package/es/index.js
CHANGED
|
@@ -11,15 +11,9 @@ import { createRoot } from 'react-dom/client';
|
|
|
11
11
|
import LiteRenderer from "./LiteRenderer";
|
|
12
12
|
export function renderKitchenSimulator(container) {
|
|
13
13
|
var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
14
|
-
if (!container) {
|
|
15
|
-
throw new Error('renderKitchenSimulator: container is required');
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
// cache the root on the container so we never call createRoot twice
|
|
19
|
-
if (!container.__kitchenRoot) {
|
|
20
|
-
container.__kitchenRoot = createRoot(container);
|
|
21
|
-
}
|
|
22
14
|
var setExternalEventFn = null;
|
|
15
|
+
|
|
16
|
+
// Internal wrapper that exposes a state setter
|
|
23
17
|
var Wrapper = /*#__PURE__*/function (_React$Component) {
|
|
24
18
|
function Wrapper(p) {
|
|
25
19
|
var _this;
|
|
@@ -47,17 +41,16 @@ export function renderKitchenSimulator(container) {
|
|
|
47
41
|
}));
|
|
48
42
|
}
|
|
49
43
|
}]);
|
|
50
|
-
}(React.Component);
|
|
51
|
-
container
|
|
44
|
+
}(React.Component); // React 18 root
|
|
45
|
+
var root = createRoot(container);
|
|
46
|
+
root.render(/*#__PURE__*/React.createElement(Wrapper, props));
|
|
52
47
|
return {
|
|
53
48
|
updateExternalEvent: function updateExternalEvent(newExternalEvent) {
|
|
54
|
-
|
|
49
|
+
var _setExternalEventFn;
|
|
50
|
+
(_setExternalEventFn = setExternalEventFn) === null || _setExternalEventFn === void 0 || _setExternalEventFn(newExternalEvent);
|
|
55
51
|
},
|
|
56
52
|
unmount: function unmount() {
|
|
57
|
-
|
|
58
|
-
container.__kitchenRoot.unmount();
|
|
59
|
-
container.__kitchenRoot = null;
|
|
60
|
-
}
|
|
53
|
+
root.unmount();
|
|
61
54
|
setExternalEventFn = null;
|
|
62
55
|
}
|
|
63
56
|
};
|
|
@@ -326,7 +326,9 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
|
|
|
326
326
|
onInternalEvent = _this$props.onInternalEvent;
|
|
327
327
|
|
|
328
328
|
// handle external events
|
|
329
|
-
|
|
329
|
+
var prevId = prevProps.externalEvent && prevProps.externalEvent.id;
|
|
330
|
+
var nextId = externalEvent && externalEvent.id;
|
|
331
|
+
if (nextId != null && prevId !== nextId) {
|
|
330
332
|
(0, _isolateEventHandler.handleExternalEvent)(this.props);
|
|
331
333
|
}
|
|
332
334
|
var plannerState = stateExtractor(state);
|
package/lib/LiteRenderer.js
CHANGED
|
@@ -154,6 +154,13 @@ function LiteRenderer(props) {
|
|
|
154
154
|
onInternalEvent = props.onInternalEvent,
|
|
155
155
|
onError = props.onError,
|
|
156
156
|
passThrough = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
|
157
|
+
var normalizedExternalEvent = _react["default"].useMemo(function () {
|
|
158
|
+
if (!externalEvent) return null;
|
|
159
|
+
if (externalEvent.id != null) return externalEvent;
|
|
160
|
+
return _objectSpread(_objectSpread({}, externalEvent), {}, {
|
|
161
|
+
id: "".concat(Date.now(), "-").concat(Math.random())
|
|
162
|
+
});
|
|
163
|
+
}, [externalEvent]);
|
|
157
164
|
|
|
158
165
|
/* ---------- track last external event ---------- */
|
|
159
166
|
var lastExternalEventRef = (0, _react.useRef)(null);
|
|
@@ -300,7 +307,7 @@ function LiteRenderer(props) {
|
|
|
300
307
|
return state.get('KitchenConfigurator');
|
|
301
308
|
},
|
|
302
309
|
configData: configData,
|
|
303
|
-
externalEvent:
|
|
310
|
+
externalEvent: normalizedExternalEvent,
|
|
304
311
|
onInternalEvent: onInternalEvent
|
|
305
312
|
}, passThrough))));
|
|
306
313
|
}
|
package/lib/index.js
CHANGED
|
@@ -19,15 +19,9 @@ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (
|
|
|
19
19
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
20
20
|
function renderKitchenSimulator(container) {
|
|
21
21
|
var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
22
|
-
if (!container) {
|
|
23
|
-
throw new Error('renderKitchenSimulator: container is required');
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
// cache the root on the container so we never call createRoot twice
|
|
27
|
-
if (!container.__kitchenRoot) {
|
|
28
|
-
container.__kitchenRoot = (0, _client.createRoot)(container);
|
|
29
|
-
}
|
|
30
22
|
var setExternalEventFn = null;
|
|
23
|
+
|
|
24
|
+
// Internal wrapper that exposes a state setter
|
|
31
25
|
var Wrapper = /*#__PURE__*/function (_React$Component) {
|
|
32
26
|
function Wrapper(p) {
|
|
33
27
|
var _this;
|
|
@@ -55,17 +49,16 @@ function renderKitchenSimulator(container) {
|
|
|
55
49
|
}));
|
|
56
50
|
}
|
|
57
51
|
}]);
|
|
58
|
-
}(_react["default"].Component);
|
|
59
|
-
|
|
52
|
+
}(_react["default"].Component); // React 18 root
|
|
53
|
+
var root = (0, _client.createRoot)(container);
|
|
54
|
+
root.render(/*#__PURE__*/_react["default"].createElement(Wrapper, props));
|
|
60
55
|
return {
|
|
61
56
|
updateExternalEvent: function updateExternalEvent(newExternalEvent) {
|
|
62
|
-
|
|
57
|
+
var _setExternalEventFn;
|
|
58
|
+
(_setExternalEventFn = setExternalEventFn) === null || _setExternalEventFn === void 0 || _setExternalEventFn(newExternalEvent);
|
|
63
59
|
},
|
|
64
60
|
unmount: function unmount() {
|
|
65
|
-
|
|
66
|
-
container.__kitchenRoot.unmount();
|
|
67
|
-
container.__kitchenRoot = null;
|
|
68
|
-
}
|
|
61
|
+
root.unmount();
|
|
69
62
|
setExternalEventFn = null;
|
|
70
63
|
}
|
|
71
64
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kitchen-simulator",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.7-react-18",
|
|
4
4
|
"description": "It is a kitchen simulator (self-contained micro-frontend).",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -78,8 +78,6 @@
|
|
|
78
78
|
"polylabel": "1.0.2",
|
|
79
79
|
"posthog-js": "^1.271.0",
|
|
80
80
|
"prop-types": "^15.8.1",
|
|
81
|
-
"react": "^18.3.1",
|
|
82
|
-
"react-dom": "^18.3.1",
|
|
83
81
|
"react-ga4": "^1.4.1",
|
|
84
82
|
"react-hotjar": "^1.0.11",
|
|
85
83
|
"react-icons": "3.5.0",
|
|
@@ -89,7 +87,13 @@
|
|
|
89
87
|
"redux": "^5.0.1",
|
|
90
88
|
"three": "0.166.0"
|
|
91
89
|
},
|
|
90
|
+
"peerDependencies": {
|
|
91
|
+
"react": ">=18",
|
|
92
|
+
"react-dom": ">=18"
|
|
93
|
+
},
|
|
92
94
|
"devDependencies": {
|
|
95
|
+
"react": "^18.3.1",
|
|
96
|
+
"react-dom": "^18.3.1",
|
|
93
97
|
"@babel/cli": "^7.28.3",
|
|
94
98
|
"@babel/core": "^7.28.4",
|
|
95
99
|
"@babel/plugin-transform-modules-commonjs": "^7.27.1",
|