{"version":3,"sources":["jsdelivr-header.js","/npm/@iddan/react-spreadsheet@0.1.18/dist/SpreadsheetStateProvider.js"],"names":[],"mappings":"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","file":"/npm/@iddan/react-spreadsheet@0.1.18/dist/SpreadsheetStateProvider.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@iddan/react-spreadsheet@0.1.18/dist/SpreadsheetStateProvider.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport React, { Component } from \"react\";\nimport shallowEqual from \"fbjs/lib/shallowEqual\";\nimport createStore from \"unistore\";\nimport devtools from \"unistore/devtools\";\nimport { Provider } from \"unistore/react\";\nimport * as Types from \"./types\";\nimport * as PointSet from \"./point-set\";\nimport * as PointMap from \"./point-map\";\nimport * as Matrix from \"./matrix\";\nimport Spreadsheet from \"./Spreadsheet\";\nvar initialState = {\n  selected: PointSet.from([]),\n  copied: PointMap.from([]),\n  active: null,\n  mode: \"view\",\n  cellDimensions: PointMap.from([])\n};\n\nvar SpreadsheetStateProvider =\n/*#__PURE__*/\nfunction (_Component) {\n  _inherits(SpreadsheetStateProvider, _Component);\n\n  function SpreadsheetStateProvider(props) {\n    var _this;\n\n    _classCallCheck(this, SpreadsheetStateProvider);\n\n    _this = _possibleConstructorReturn(this, (SpreadsheetStateProvider.__proto__ || Object.getPrototypeOf(SpreadsheetStateProvider)).call(this, props));\n    _this.store = void 0;\n    _this.unsubscribe = void 0;\n    _this.prevState = void 0;\n\n    var state = _objectSpread({}, initialState, {\n      data: _this.props.data\n    });\n\n    _this.store = process.env.NODE_ENV === \"production\" ? createStore(state) : devtools(createStore(state));\n    _this.prevState = state;\n    return _this;\n  }\n\n  _createClass(SpreadsheetStateProvider, [{\n    key: \"shouldComponentUpdate\",\n    value: function shouldComponentUpdate(nextProps) {\n      var _this$props = this.props,\n          data = _this$props.data,\n          rest = _objectWithoutProperties(_this$props, [\"data\"]);\n\n      var nextData = nextProps.data,\n          nextRest = _objectWithoutProperties(nextProps, [\"data\"]);\n\n      return !shallowEqual(rest, nextRest) || nextData !== this.prevState.data;\n    }\n  }, {\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      var _this2 = this;\n\n      var _this$props2 = this.props,\n          onChange = _this$props2.onChange,\n          onModeChange = _this$props2.onModeChange,\n          onSelect = _this$props2.onSelect,\n          onActivate = _this$props2.onActivate;\n      this.unsubscribe = this.store.subscribe(function (state) {\n        var prevState = _this2.prevState;\n\n        if (state.data !== prevState.data && state.data !== _this2.props.data) {\n          onChange(state.data);\n        }\n\n        if (state.mode !== prevState.mode) {\n          onModeChange(state.mode);\n        }\n\n        if (state.selected !== prevState.selected) {\n          onSelect(PointSet.toArray(state.selected));\n        }\n\n        if (state.active !== prevState.active && state.active) {\n          onActivate(state.active);\n        }\n\n        _this2.prevState = state;\n      });\n    }\n  }, {\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate(prevProps) {\n      if (this.props.data !== this.prevState.data) {\n        this.store.setState({\n          data: this.props.data\n        });\n      }\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      this.unsubscribe();\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this$props3 = this.props,\n          data = _this$props3.data,\n          rest = _objectWithoutProperties(_this$props3, [\"data\"]);\n\n      return React.createElement(Provider, {\n        store: this.store\n      }, React.createElement(Spreadsheet, Object.assign({}, rest, {\n        store: this.store\n      })));\n    }\n  }]);\n\n  return SpreadsheetStateProvider;\n}(Component);\n\nSpreadsheetStateProvider.defaultProps = {\n  onChange: function onChange() {},\n  onModeChange: function onModeChange() {},\n  onSelect: function onSelect() {},\n  onActivate: function onActivate() {}\n};\nexport { SpreadsheetStateProvider as default };"]}