{"id":"../lib/key-handle-decorator.js","dependencies":[{"name":"/Users/adc/Developer/ayrton/react-key-handler/package.json","includedInParent":true,"mtime":1535648238901},{"name":"/Users/adc/Developer/ayrton/react-key-handler/.babelrc","includedInParent":true,"mtime":1535642334213},{"name":"react","loc":{"line":3,"column":18},"parent":"/Users/adc/Developer/ayrton/react-key-handler/lib/key-handle-decorator.js","resolved":"/Users/adc/Developer/ayrton/react-key-handler/node_modules/react/index.js"},{"name":"./key-handler","loc":{"line":5,"column":23},"parent":"/Users/adc/Developer/ayrton/react-key-handler/lib/key-handle-decorator.js","resolved":"/Users/adc/Developer/ayrton/react-key-handler/lib/key-handler.js"},{"name":"./constants","loc":{"line":6,"column":34},"parent":"/Users/adc/Developer/ayrton/react-key-handler/lib/key-handle-decorator.js","resolved":"/Users/adc/Developer/ayrton/react-key-handler/lib/constants.js"},{"name":"./utils","loc":{"line":7,"column":47},"parent":"/Users/adc/Developer/ayrton/react-key-handler/lib/key-handle-decorator.js","resolved":"/Users/adc/Developer/ayrton/react-key-handler/lib/utils.js"},{"name":"./types","loc":{"line":8,"column":38},"parent":"/Users/adc/Developer/ayrton/react-key-handler/lib/key-handle-decorator.js","resolved":"/Users/adc/Developer/ayrton/react-key-handler/lib/types.js"}],"generated":{"js":"'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.keyToggleHandler = exports.keyHandler = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = keyHandleDecorator;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _keyHandler = require('./key-handler');\n\nvar _keyHandler2 = _interopRequireDefault(_keyHandler);\n\nrequire('./constants');\n\nvar _utils = require('./utils');\n\nrequire('./types');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction keyHandleDecorator(matcher) {\n  return function (props) {\n    var _ref = props || {},\n        keyValue = _ref.keyValue,\n        keyCode = _ref.keyCode,\n        code = _ref.code,\n        keyEventName = _ref.keyEventName;\n\n    return function (Component) {\n      return function (_React$Component) {\n        _inherits(KeyHandleDecorator, _React$Component);\n\n        function KeyHandleDecorator() {\n          var _ref2;\n\n          var _temp, _this, _ret;\n\n          _classCallCheck(this, KeyHandleDecorator);\n\n          for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n            args[_key] = arguments[_key];\n          }\n\n          return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref2 = KeyHandleDecorator.__proto__ || Object.getPrototypeOf(KeyHandleDecorator)).call.apply(_ref2, [this].concat(args))), _this), _this.state = {\n            keyCode: null,\n            keyValue: null,\n            code: null\n          }, _this.handleKey = function (event) {\n            if (matcher && matcher(event, _this.state)) {\n              _this.setState({ keyValue: null, keyCode: null });\n              return;\n            }\n\n            _this.setState({ keyValue: (0, _utils.eventKey)(event), keyCode: event.keyCode });\n          }, _temp), _possibleConstructorReturn(_this, _ret);\n        }\n\n        _createClass(KeyHandleDecorator, [{\n          key: 'render',\n          value: function render() {\n            return _react2.default.createElement(\n              _react2.default.Fragment,\n              null,\n              _react2.default.createElement(_keyHandler2.default, {\n                keyValue: keyValue,\n                keyCode: keyCode,\n                code: code,\n                keyEventName: keyEventName,\n                onKeyHandle: this.handleKey\n              }),\n              _react2.default.createElement(Component, _extends({}, this.props, this.state))\n            );\n          }\n        }]);\n\n        return KeyHandleDecorator;\n      }(_react2.default.Component);\n    };\n  };\n}\n\nvar keyHandler = exports.keyHandler = keyHandleDecorator();\nvar keyToggleHandler = exports.keyToggleHandler = keyHandleDecorator(_utils.matchesKeyboardEvent);","map":{"mappings":[{"name":"keyHandleDecorator","generated":{"line":12,"column":18},"source":"../lib/key-handle-decorator.js","original":{"line":23,"column":24}},{"generated":{"line":14,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":3,"column":0}},{"generated":{"line":18,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":5,"column":0}},{"generated":{"line":22,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":6,"column":0}},{"generated":{"line":24,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":7,"column":0}},{"generated":{"line":26,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":8,"column":0}},{"generated":{"line":36,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":23,"column":15}},{"name":"keyHandleDecorator","generated":{"line":36,"column":9},"source":"../lib/key-handle-decorator.js","original":{"line":23,"column":24}},{"generated":{"line":36,"column":27},"source":"../lib/key-handle-decorator.js","original":{"line":23,"column":15}},{"name":"matcher","generated":{"line":36,"column":28},"source":"../lib/key-handle-decorator.js","original":{"line":24,"column":2}},{"generated":{"line":36,"column":35},"source":"../lib/key-handle-decorator.js","original":{"line":23,"column":15}},{"generated":{"line":36,"column":37},"source":"../lib/key-handle-decorator.js","original":{"line":25,"column":12}},{"generated":{"line":37,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":26,"column":2}},{"generated":{"line":37,"column":9},"source":"../lib/key-handle-decorator.js","original":{"line":26,"column":9}},{"name":"props","generated":{"line":37,"column":19},"source":"../lib/key-handle-decorator.js","original":{"line":26,"column":10}},{"generated":{"line":37,"column":24},"source":"../lib/key-handle-decorator.js","original":{"line":26,"column":9}},{"generated":{"line":37,"column":26},"source":"../lib/key-handle-decorator.js","original":{"line":26,"column":51}},{"generated":{"line":38,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":26,"column":51}},{"name":"props","generated":{"line":38,"column":15},"source":"../lib/key-handle-decorator.js","original":{"line":27,"column":54}},{"generated":{"line":38,"column":24},"source":"../lib/key-handle-decorator.js","original":{"line":27,"column":63}},{"generated":{"line":38,"column":26},"source":"../lib/key-handle-decorator.js","original":{"line":26,"column":51}},{"generated":{"line":39,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":26,"column":51}},{"name":"keyValue","generated":{"line":39,"column":8},"source":"../lib/key-handle-decorator.js","original":{"line":27,"column":12}},{"generated":{"line":39,"column":16},"source":"../lib/key-handle-decorator.js","original":{"line":26,"column":51}},{"name":"keyValue","generated":{"line":39,"column":24},"source":"../lib/key-handle-decorator.js","original":{"line":27,"column":12}},{"generated":{"line":39,"column":32},"source":"../lib/key-handle-decorator.js","original":{"line":26,"column":51}},{"generated":{"line":40,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":26,"column":51}},{"name":"keyCode","generated":{"line":40,"column":8},"source":"../lib/key-handle-decorator.js","original":{"line":27,"column":22}},{"generated":{"line":40,"column":15},"source":"../lib/key-handle-decorator.js","original":{"line":26,"column":51}},{"name":"keyCode","generated":{"line":40,"column":23},"source":"../lib/key-handle-decorator.js","original":{"line":27,"column":22}},{"generated":{"line":40,"column":30},"source":"../lib/key-handle-decorator.js","original":{"line":26,"column":51}},{"generated":{"line":41,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":26,"column":51}},{"name":"code","generated":{"line":41,"column":8},"source":"../lib/key-handle-decorator.js","original":{"line":27,"column":31}},{"generated":{"line":41,"column":12},"source":"../lib/key-handle-decorator.js","original":{"line":26,"column":51}},{"name":"code","generated":{"line":41,"column":20},"source":"../lib/key-handle-decorator.js","original":{"line":27,"column":31}},{"generated":{"line":41,"column":24},"source":"../lib/key-handle-decorator.js","original":{"line":26,"column":51}},{"generated":{"line":42,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":26,"column":51}},{"name":"keyEventName","generated":{"line":42,"column":8},"source":"../lib/key-handle-decorator.js","original":{"line":27,"column":37}},{"generated":{"line":42,"column":20},"source":"../lib/key-handle-decorator.js","original":{"line":26,"column":51}},{"name":"keyEventName","generated":{"line":42,"column":28},"source":"../lib/key-handle-decorator.js","original":{"line":27,"column":37}},{"generated":{"line":42,"column":40},"source":"../lib/key-handle-decorator.js","original":{"line":26,"column":51}},{"generated":{"line":44,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":29,"column":4}},{"generated":{"line":44,"column":11},"source":"../lib/key-handle-decorator.js","original":{"line":29,"column":11}},{"generated":{"line":45,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":29,"column":11}},{"generated":{"line":46,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":29,"column":11}},{"generated":{"line":48,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":29,"column":11}},{"generated":{"line":49,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":29,"column":11}},{"generated":{"line":51,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":29,"column":11}},{"generated":{"line":53,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":29,"column":11}},{"generated":{"line":55,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":29,"column":11}},{"generated":{"line":56,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":29,"column":11}},{"generated":{"line":57,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":29,"column":11}},{"generated":{"line":59,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":29,"column":11}},{"name":"state","generated":{"line":59,"column":214},"source":"../lib/key-handle-decorator.js","original":{"line":34,"column":8}},{"generated":{"line":59,"column":219},"source":"../lib/key-handle-decorator.js","original":{"line":29,"column":11}},{"generated":{"line":59,"column":222},"source":"../lib/key-handle-decorator.js","original":{"line":34,"column":41}},{"name":"keyCode","generated":{"line":60,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":35,"column":10}},{"generated":{"line":60,"column":21},"source":"../lib/key-handle-decorator.js","original":{"line":35,"column":19}},{"generated":{"line":60,"column":25},"source":"../lib/key-handle-decorator.js","original":{"line":34,"column":41}},{"name":"keyValue","generated":{"line":61,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":36,"column":10}},{"generated":{"line":61,"column":22},"source":"../lib/key-handle-decorator.js","original":{"line":36,"column":20}},{"generated":{"line":61,"column":26},"source":"../lib/key-handle-decorator.js","original":{"line":34,"column":41}},{"name":"code","generated":{"line":62,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":37,"column":10}},{"generated":{"line":62,"column":18},"source":"../lib/key-handle-decorator.js","original":{"line":37,"column":16}},{"generated":{"line":63,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":34,"column":41}},{"generated":{"line":63,"column":11},"source":"../lib/key-handle-decorator.js","original":{"line":29,"column":11}},{"name":"handleKey","generated":{"line":63,"column":19},"source":"../lib/key-handle-decorator.js","original":{"line":55,"column":8}},{"generated":{"line":63,"column":28},"source":"../lib/key-handle-decorator.js","original":{"line":29,"column":11}},{"generated":{"line":63,"column":31},"source":"../lib/key-handle-decorator.js","original":{"line":55,"column":20}},{"name":"event","generated":{"line":63,"column":41},"source":"../lib/key-handle-decorator.js","original":{"line":55,"column":21}},{"generated":{"line":63,"column":46},"source":"../lib/key-handle-decorator.js","original":{"line":55,"column":20}},{"generated":{"line":63,"column":48},"source":"../lib/key-handle-decorator.js","original":{"line":55,"column":52}},{"generated":{"line":64,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":56,"column":10}},{"name":"matcher","generated":{"line":64,"column":16},"source":"../lib/key-handle-decorator.js","original":{"line":56,"column":14}},{"name":"matcher","generated":{"line":64,"column":27},"source":"../lib/key-handle-decorator.js","original":{"line":56,"column":25}},{"name":"event","generated":{"line":64,"column":35},"source":"../lib/key-handle-decorator.js","original":{"line":56,"column":33}},{"generated":{"line":64,"column":40},"source":"../lib/key-handle-decorator.js","original":{"line":56,"column":25}},{"generated":{"line":64,"column":42},"source":"../lib/key-handle-decorator.js","original":{"line":56,"column":40}},{"name":"state","generated":{"line":64,"column":48},"source":"../lib/key-handle-decorator.js","original":{"line":56,"column":45}},{"generated":{"line":64,"column":53},"source":"../lib/key-handle-decorator.js","original":{"line":56,"column":25}},{"generated":{"line":64,"column":54},"source":"../lib/key-handle-decorator.js","original":{"line":56,"column":10}},{"generated":{"line":64,"column":56},"source":"../lib/key-handle-decorator.js","original":{"line":56,"column":53}},{"generated":{"line":65,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":57,"column":12}},{"name":"setState","generated":{"line":65,"column":20},"source":"../lib/key-handle-decorator.js","original":{"line":57,"column":17}},{"generated":{"line":65,"column":28},"source":"../lib/key-handle-decorator.js","original":{"line":57,"column":12}},{"generated":{"line":65,"column":29},"source":"../lib/key-handle-decorator.js","original":{"line":57,"column":26}},{"name":"keyValue","generated":{"line":65,"column":31},"source":"../lib/key-handle-decorator.js","original":{"line":57,"column":28}},{"generated":{"line":65,"column":41},"source":"../lib/key-handle-decorator.js","original":{"line":57,"column":38}},{"generated":{"line":65,"column":45},"source":"../lib/key-handle-decorator.js","original":{"line":57,"column":26}},{"name":"keyCode","generated":{"line":65,"column":47},"source":"../lib/key-handle-decorator.js","original":{"line":57,"column":44}},{"generated":{"line":65,"column":56},"source":"../lib/key-handle-decorator.js","original":{"line":57,"column":53}},{"generated":{"line":65,"column":60},"source":"../lib/key-handle-decorator.js","original":{"line":57,"column":26}},{"generated":{"line":65,"column":62},"source":"../lib/key-handle-decorator.js","original":{"line":57,"column":12}},{"generated":{"line":66,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":58,"column":12}},{"generated":{"line":67,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":59,"column":11}},{"generated":{"line":69,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":61,"column":10}},{"name":"setState","generated":{"line":69,"column":18},"source":"../lib/key-handle-decorator.js","original":{"line":61,"column":15}},{"generated":{"line":69,"column":26},"source":"../lib/key-handle-decorator.js","original":{"line":61,"column":10}},{"generated":{"line":69,"column":27},"source":"../lib/key-handle-decorator.js","original":{"line":61,"column":24}},{"name":"keyValue","generated":{"line":69,"column":29},"source":"../lib/key-handle-decorator.js","original":{"line":61,"column":26}},{"generated":{"line":69,"column":39},"source":"../lib/key-handle-decorator.js","original":{"line":61,"column":36}},{"name":"event","generated":{"line":69,"column":60},"source":"../lib/key-handle-decorator.js","original":{"line":61,"column":45}},{"generated":{"line":69,"column":65},"source":"../lib/key-handle-decorator.js","original":{"line":61,"column":36}},{"generated":{"line":69,"column":66},"source":"../lib/key-handle-decorator.js","original":{"line":61,"column":24}},{"name":"keyCode","generated":{"line":69,"column":68},"source":"../lib/key-handle-decorator.js","original":{"line":61,"column":53}},{"name":"event","generated":{"line":69,"column":77},"source":"../lib/key-handle-decorator.js","original":{"line":61,"column":62}},{"name":"keyCode","generated":{"line":69,"column":83},"source":"../lib/key-handle-decorator.js","original":{"line":61,"column":68}},{"generated":{"line":69,"column":90},"source":"../lib/key-handle-decorator.js","original":{"line":61,"column":24}},{"generated":{"line":69,"column":92},"source":"../lib/key-handle-decorator.js","original":{"line":61,"column":10}},{"generated":{"line":70,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":62,"column":9}},{"generated":{"line":70,"column":11},"source":"../lib/key-handle-decorator.js","original":{"line":29,"column":11}},{"generated":{"line":71,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":29,"column":11}},{"generated":{"line":73,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":29,"column":11}},{"generated":{"line":74,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":29,"column":11}},{"generated":{"line":75,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":29,"column":11}},{"generated":{"line":75,"column":35},"source":"../lib/key-handle-decorator.js","original":{"line":40,"column":17}},{"generated":{"line":76,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":41,"column":10}},{"generated":{"line":76,"column":19},"source":"../lib/key-handle-decorator.js","original":{"line":42,"column":12}},{"generated":{"line":77,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":42,"column":13}},{"generated":{"line":77,"column":29},"source":"../lib/key-handle-decorator.js","original":{"line":42,"column":12}},{"generated":{"line":77,"column":30},"source":"../lib/key-handle-decorator.js","original":{"line":42,"column":19}},{"generated":{"line":77,"column":38},"source":"../lib/key-handle-decorator.js","original":{"line":42,"column":12}},{"generated":{"line":78,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":42,"column":12}},{"generated":{"line":79,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":43,"column":14}},{"generated":{"line":79,"column":44},"source":"../lib/key-handle-decorator.js","original":{"line":43,"column":15}},{"generated":{"line":79,"column":64},"source":"../lib/key-handle-decorator.js","original":{"line":43,"column":14}},{"generated":{"line":80,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":44,"column":16}},{"name":"keyValue","generated":{"line":80,"column":26},"source":"../lib/key-handle-decorator.js","original":{"line":44,"column":26}},{"generated":{"line":80,"column":34},"source":"../lib/key-handle-decorator.js","original":{"line":43,"column":14}},{"generated":{"line":81,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":45,"column":16}},{"name":"keyCode","generated":{"line":81,"column":25},"source":"../lib/key-handle-decorator.js","original":{"line":45,"column":25}},{"generated":{"line":81,"column":32},"source":"../lib/key-handle-decorator.js","original":{"line":43,"column":14}},{"generated":{"line":82,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":46,"column":16}},{"name":"code","generated":{"line":82,"column":22},"source":"../lib/key-handle-decorator.js","original":{"line":46,"column":22}},{"generated":{"line":82,"column":26},"source":"../lib/key-handle-decorator.js","original":{"line":43,"column":14}},{"generated":{"line":83,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":47,"column":16}},{"name":"keyEventName","generated":{"line":83,"column":30},"source":"../lib/key-handle-decorator.js","original":{"line":47,"column":30}},{"generated":{"line":83,"column":42},"source":"../lib/key-handle-decorator.js","original":{"line":43,"column":14}},{"generated":{"line":84,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":48,"column":16}},{"generated":{"line":84,"column":29},"source":"../lib/key-handle-decorator.js","original":{"line":48,"column":29}},{"name":"handleKey","generated":{"line":84,"column":34},"source":"../lib/key-handle-decorator.js","original":{"line":48,"column":34}},{"generated":{"line":85,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":43,"column":14}},{"generated":{"line":85,"column":16},"source":"../lib/key-handle-decorator.js","original":{"line":42,"column":12}},{"generated":{"line":86,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":50,"column":14}},{"generated":{"line":86,"column":44},"source":"../lib/key-handle-decorator.js","original":{"line":50,"column":15}},{"generated":{"line":86,"column":53},"source":"../lib/key-handle-decorator.js","original":{"line":50,"column":14}},{"generated":{"line":86,"column":68},"source":"../lib/key-handle-decorator.js","original":{"line":50,"column":29}},{"name":"props","generated":{"line":86,"column":73},"source":"../lib/key-handle-decorator.js","original":{"line":50,"column":34}},{"generated":{"line":86,"column":78},"source":"../lib/key-handle-decorator.js","original":{"line":50,"column":14}},{"generated":{"line":86,"column":80},"source":"../lib/key-handle-decorator.js","original":{"line":50,"column":45}},{"name":"state","generated":{"line":86,"column":85},"source":"../lib/key-handle-decorator.js","original":{"line":50,"column":50}},{"generated":{"line":86,"column":90},"source":"../lib/key-handle-decorator.js","original":{"line":50,"column":14}},{"generated":{"line":87,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":42,"column":12}},{"generated":{"line":87,"column":13},"source":"../lib/key-handle-decorator.js","original":{"line":41,"column":10}},{"generated":{"line":88,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":53,"column":9}},{"generated":{"line":89,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":29,"column":11}},{"generated":{"line":91,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":29,"column":11}},{"generated":{"line":92,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":29,"column":11}},{"name":"React","generated":{"line":92,"column":8},"source":"../lib/key-handle-decorator.js","original":{"line":30,"column":39}},{"name":"Component","generated":{"line":92,"column":24},"source":"../lib/key-handle-decorator.js","original":{"line":30,"column":45}},{"generated":{"line":92,"column":33},"source":"../lib/key-handle-decorator.js","original":{"line":29,"column":11}},{"generated":{"line":93,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":29,"column":11}},{"generated":{"line":93,"column":5},"source":"../lib/key-handle-decorator.js","original":{"line":29,"column":4}},{"generated":{"line":94,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":64,"column":3}},{"generated":{"line":94,"column":3},"source":"../lib/key-handle-decorator.js","original":{"line":26,"column":2}},{"generated":{"line":95,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":65,"column":1}},{"generated":{"line":97,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":67,"column":7}},{"name":"keyHandler","generated":{"line":97,"column":4},"source":"../lib/key-handle-decorator.js","original":{"line":67,"column":13}},{"name":"keyHandleDecorator","generated":{"line":97,"column":38},"source":"../lib/key-handle-decorator.js","original":{"line":67,"column":26}},{"generated":{"line":97,"column":58},"source":"../lib/key-handle-decorator.js","original":{"line":67,"column":7}},{"generated":{"line":98,"column":0},"source":"../lib/key-handle-decorator.js","original":{"line":68,"column":7}},{"name":"keyToggleHandler","generated":{"line":98,"column":4},"source":"../lib/key-handle-decorator.js","original":{"line":68,"column":13}},{"name":"keyHandleDecorator","generated":{"line":98,"column":50},"source":"../lib/key-handle-decorator.js","original":{"line":68,"column":32}},{"name":"matchesKeyboardEvent","generated":{"line":98,"column":69},"source":"../lib/key-handle-decorator.js","original":{"line":68,"column":51}},{"generated":{"line":98,"column":96},"source":"../lib/key-handle-decorator.js","original":{"line":68,"column":32}},{"generated":{"line":98,"column":97},"source":"../lib/key-handle-decorator.js","original":{"line":68,"column":7}}],"sources":{"../lib/key-handle-decorator.js":"/* @flow */\n\nimport React from 'react';\n\nimport KeyHandler from './key-handler';\nimport { type KeyConstants } from './constants';\nimport { matchesKeyboardEvent, eventKey } from './utils';\nimport { type primitiveOrArray } from './types';\n\nexport type KeyhandleDecoratorState = {|\n  keyValue?: ?primitiveOrArray<string>,\n  keyCode: ?primitiveOrArray<number>,\n  code: ?primitiveOrArray<string>,\n|};\n\nexport type DecoratorProps = {|\n  keyValue: ?primitiveOrArray<string>,\n  keyCode: ?primitiveOrArray<number>,\n  code: ?primitiveOrArray<string>,\n  keyEventName?: KeyConstants,\n|};\n\nexport default function keyHandleDecorator<T>(\n  matcher?: typeof matchesKeyboardEvent,\n): Function {\n  return (props?: DecoratorProps & T): Function => {\n    const { keyValue, keyCode, code, keyEventName } = props || {};\n\n    return Component =>\n      class KeyHandleDecorator extends React.Component<\n        T,\n        KeyhandleDecoratorState,\n      > {\n        state: KeyhandleDecoratorState = {\n          keyCode: null,\n          keyValue: null,\n          code: null,\n        };\n\n        render() {\n          return (\n            <React.Fragment>\n              <KeyHandler\n                keyValue={keyValue}\n                keyCode={keyCode}\n                code={code}\n                keyEventName={keyEventName}\n                onKeyHandle={this.handleKey}\n              />\n              <Component {...this.props} {...this.state} />\n            </React.Fragment>\n          );\n        }\n\n        handleKey = (event: KeyboardEvent): void => {\n          if (matcher && matcher(event, this.state)) {\n            this.setState({ keyValue: null, keyCode: null });\n            return;\n          }\n\n          this.setState({ keyValue: eventKey(event), keyCode: event.keyCode });\n        };\n      };\n  };\n}\n\nexport const keyHandler = keyHandleDecorator();\nexport const keyToggleHandler = keyHandleDecorator(matchesKeyboardEvent);\n"},"lineCount":null}},"hash":"ce8bdcb862b0bf8135e4262cf1b95960","cacheData":{"env":{}}}