kitchen-simulator 1.0.0-clark.55 → 1.0.0-clark.56

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/index.js CHANGED
@@ -1,61 +1,26 @@
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';
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
10
4
  import ReactDOM from 'react-dom';
5
+ import React from 'react';
11
6
  import LiteRenderer from "./LiteRenderer";
12
-
13
- /**
14
- * Keeps LiteRenderer mounted once and updates externalEvent through React state.
15
- * Works with React 16 (no createRoot).
16
- */
17
7
  export function renderKitchenSimulator(container) {
18
8
  var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
19
- var setExternalEventFn = null;
9
+ var currentProps = props;
20
10
 
21
- // Internal wrapper that exposes a state setter
22
- var Wrapper = /*#__PURE__*/function (_React$Component) {
23
- function Wrapper(p) {
24
- var _this;
25
- _classCallCheck(this, Wrapper);
26
- _this = _callSuper(this, Wrapper, [p]);
27
- _this.state = {
28
- externalEvent: p.externalEvent || null
29
- };
30
- setExternalEventFn = _this.setExternalEvent.bind(_this);
31
- return _this;
32
- }
33
- _inherits(Wrapper, _React$Component);
34
- return _createClass(Wrapper, [{
35
- key: "setExternalEvent",
36
- value: function setExternalEvent(newEvent) {
37
- this.setState({
38
- externalEvent: newEvent
39
- });
40
- }
41
- }, {
42
- key: "render",
43
- value: function render() {
44
- return /*#__PURE__*/React.createElement(LiteRenderer, _extends({}, this.props, {
45
- externalEvent: this.state.externalEvent
46
- }));
47
- }
48
- }]);
49
- }(React.Component); // Mount once
50
- ReactDOM.render(/*#__PURE__*/React.createElement(Wrapper, props), container);
11
+ // Initial render
12
+ var root = ReactDOM.render(/*#__PURE__*/React.createElement(LiteRenderer, props), container);
51
13
  return {
14
+ root: root,
52
15
  updateExternalEvent: function updateExternalEvent(newExternalEvent) {
53
- var _setExternalEventFn;
54
- // Always update allow same event twice
55
- (_setExternalEventFn = setExternalEventFn) === null || _setExternalEventFn === void 0 || _setExternalEventFn(newExternalEvent);
56
- },
57
- unmount: function unmount() {
58
- ReactDOM.unmountComponentAtNode(container);
16
+ var prevEvent = currentProps.externalEvent;
17
+ var isSameEvent = prevEvent && newExternalEvent && prevEvent.type === newExternalEvent.type && JSON.stringify(prevEvent.payload) === JSON.stringify(newExternalEvent.payload);
18
+ if (!isSameEvent) {
19
+ currentProps = _objectSpread(_objectSpread({}, currentProps), {}, {
20
+ externalEvent: newExternalEvent
21
+ });
22
+ ReactDOM.render(/*#__PURE__*/React.createElement(LiteRenderer, currentProps), container);
23
+ }
59
24
  }
60
25
  };
61
26
  }