UNPKG

react-key-handler

Version:

React component to handle keyboard events

1 lines 29.1 kB
{"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":{}}}