kitchen-simulator 4.0.4-react-18 → 4.0.6-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.
@@ -317,7 +317,9 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
317
317
  onInternalEvent = _this$props.onInternalEvent;
318
318
 
319
319
  // handle external events
320
- if (prevProps.externalEvent !== externalEvent) {
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);
@@ -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: externalEvent,
301
+ externalEvent: normalizedExternalEvent,
295
302
  onInternalEvent: onInternalEvent
296
303
  }, passThrough))));
297
304
  }
package/es/index.js CHANGED
@@ -1,65 +1 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
3
- import _createClass from "@babel/runtime/helpers/esm/createClass";
4
- import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
5
- import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
6
- import _inherits from "@babel/runtime/helpers/esm/inherits";
7
- function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
8
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
9
- import React from 'react';
10
- import { createRoot } from 'react-dom/client';
11
- import LiteRenderer from "./LiteRenderer";
12
- export function renderKitchenSimulator(container) {
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
- var setExternalEventFn = null;
23
- var Wrapper = /*#__PURE__*/function (_React$Component) {
24
- function Wrapper(p) {
25
- var _this;
26
- _classCallCheck(this, Wrapper);
27
- _this = _callSuper(this, Wrapper, [p]);
28
- _this.state = {
29
- externalEvent: p.externalEvent || null
30
- };
31
- setExternalEventFn = _this.setExternalEvent.bind(_this);
32
- return _this;
33
- }
34
- _inherits(Wrapper, _React$Component);
35
- return _createClass(Wrapper, [{
36
- key: "setExternalEvent",
37
- value: function setExternalEvent(newEvent) {
38
- this.setState({
39
- externalEvent: newEvent
40
- });
41
- }
42
- }, {
43
- key: "render",
44
- value: function render() {
45
- return /*#__PURE__*/React.createElement(LiteRenderer, _extends({}, this.props, {
46
- externalEvent: this.state.externalEvent
47
- }));
48
- }
49
- }]);
50
- }(React.Component);
51
- container.__kitchenRoot.render(/*#__PURE__*/React.createElement(Wrapper, props));
52
- return {
53
- updateExternalEvent: function updateExternalEvent(newExternalEvent) {
54
- setExternalEventFn && setExternalEventFn(newExternalEvent);
55
- },
56
- unmount: function unmount() {
57
- if (container.__kitchenRoot) {
58
- container.__kitchenRoot.unmount();
59
- container.__kitchenRoot = null;
60
- }
61
- setExternalEventFn = null;
62
- }
63
- };
64
- }
65
- export default renderKitchenSimulator;
1
+ export { default as LiteRenderer } from "./LiteRenderer";
@@ -326,7 +326,9 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
326
326
  onInternalEvent = _this$props.onInternalEvent;
327
327
 
328
328
  // handle external events
329
- if (prevProps.externalEvent !== externalEvent) {
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);
@@ -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: externalEvent,
310
+ externalEvent: normalizedExternalEvent,
304
311
  onInternalEvent: onInternalEvent
305
312
  }, passThrough))));
306
313
  }
package/lib/index.js CHANGED
@@ -4,70 +4,10 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports["default"] = void 0;
8
- exports.renderKitchenSimulator = renderKitchenSimulator;
9
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
- var _react = _interopRequireDefault(require("react"));
16
- var _client = require("react-dom/client");
17
- var _LiteRenderer = _interopRequireDefault(require("./LiteRenderer"));
18
- function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
19
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
20
- function renderKitchenSimulator(container) {
21
- var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
22
- if (!container) {
23
- throw new Error('renderKitchenSimulator: container is required');
7
+ Object.defineProperty(exports, "LiteRenderer", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _LiteRenderer["default"];
24
11
  }
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
- var setExternalEventFn = null;
31
- var Wrapper = /*#__PURE__*/function (_React$Component) {
32
- function Wrapper(p) {
33
- var _this;
34
- (0, _classCallCheck2["default"])(this, Wrapper);
35
- _this = _callSuper(this, Wrapper, [p]);
36
- _this.state = {
37
- externalEvent: p.externalEvent || null
38
- };
39
- setExternalEventFn = _this.setExternalEvent.bind(_this);
40
- return _this;
41
- }
42
- (0, _inherits2["default"])(Wrapper, _React$Component);
43
- return (0, _createClass2["default"])(Wrapper, [{
44
- key: "setExternalEvent",
45
- value: function setExternalEvent(newEvent) {
46
- this.setState({
47
- externalEvent: newEvent
48
- });
49
- }
50
- }, {
51
- key: "render",
52
- value: function render() {
53
- return /*#__PURE__*/_react["default"].createElement(_LiteRenderer["default"], (0, _extends2["default"])({}, this.props, {
54
- externalEvent: this.state.externalEvent
55
- }));
56
- }
57
- }]);
58
- }(_react["default"].Component);
59
- container.__kitchenRoot.render(/*#__PURE__*/_react["default"].createElement(Wrapper, props));
60
- return {
61
- updateExternalEvent: function updateExternalEvent(newExternalEvent) {
62
- setExternalEventFn && setExternalEventFn(newExternalEvent);
63
- },
64
- unmount: function unmount() {
65
- if (container.__kitchenRoot) {
66
- container.__kitchenRoot.unmount();
67
- container.__kitchenRoot = null;
68
- }
69
- setExternalEventFn = null;
70
- }
71
- };
72
- }
73
- var _default = exports["default"] = renderKitchenSimulator;
12
+ });
13
+ var _LiteRenderer = _interopRequireDefault(require("./LiteRenderer"));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kitchen-simulator",
3
- "version": "4.0.4-react-18",
3
+ "version": "4.0.6-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",