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/lib/index.js CHANGED
@@ -6,63 +6,29 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports["default"] = void 0;
8
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"));
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
10
  var _reactDom = _interopRequireDefault(require("react-dom"));
11
+ var _react = _interopRequireDefault(require("react"));
17
12
  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
- /**
21
- * Keeps LiteRenderer mounted once and updates externalEvent through React state.
22
- * Works with React 16 (no createRoot).
23
- */
13
+ 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; }
14
+ 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) { (0, _defineProperty2["default"])(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; }
24
15
  function renderKitchenSimulator(container) {
25
16
  var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
26
- var setExternalEventFn = null;
17
+ var currentProps = props;
27
18
 
28
- // Internal wrapper that exposes a state setter
29
- var Wrapper = /*#__PURE__*/function (_React$Component) {
30
- function Wrapper(p) {
31
- var _this;
32
- (0, _classCallCheck2["default"])(this, Wrapper);
33
- _this = _callSuper(this, Wrapper, [p]);
34
- _this.state = {
35
- externalEvent: p.externalEvent || null
36
- };
37
- setExternalEventFn = _this.setExternalEvent.bind(_this);
38
- return _this;
39
- }
40
- (0, _inherits2["default"])(Wrapper, _React$Component);
41
- return (0, _createClass2["default"])(Wrapper, [{
42
- key: "setExternalEvent",
43
- value: function setExternalEvent(newEvent) {
44
- this.setState({
45
- externalEvent: newEvent
46
- });
47
- }
48
- }, {
49
- key: "render",
50
- value: function render() {
51
- return /*#__PURE__*/_react["default"].createElement(_LiteRenderer["default"], (0, _extends2["default"])({}, this.props, {
52
- externalEvent: this.state.externalEvent
53
- }));
54
- }
55
- }]);
56
- }(_react["default"].Component); // Mount once
57
- _reactDom["default"].render(/*#__PURE__*/_react["default"].createElement(Wrapper, props), container);
19
+ // Initial render
20
+ var root = _reactDom["default"].render(/*#__PURE__*/_react["default"].createElement(_LiteRenderer["default"], props), container);
58
21
  return {
22
+ root: root,
59
23
  updateExternalEvent: function updateExternalEvent(newExternalEvent) {
60
- var _setExternalEventFn;
61
- // Always update allow same event twice
62
- (_setExternalEventFn = setExternalEventFn) === null || _setExternalEventFn === void 0 || _setExternalEventFn(newExternalEvent);
63
- },
64
- unmount: function unmount() {
65
- _reactDom["default"].unmountComponentAtNode(container);
24
+ var prevEvent = currentProps.externalEvent;
25
+ var isSameEvent = prevEvent && newExternalEvent && prevEvent.type === newExternalEvent.type && JSON.stringify(prevEvent.payload) === JSON.stringify(newExternalEvent.payload);
26
+ if (!isSameEvent) {
27
+ currentProps = _objectSpread(_objectSpread({}, currentProps), {}, {
28
+ externalEvent: newExternalEvent
29
+ });
30
+ _reactDom["default"].render(/*#__PURE__*/_react["default"].createElement(_LiteRenderer["default"], currentProps), container);
31
+ }
66
32
  }
67
33
  };
68
34
  }