{"_id":"babel-plugin-jsx-event-modifiers","_rev":"11-c9914b8c172e58bf4373aeaf08153247","name":"babel-plugin-jsx-event-modifiers","description":"JSX Syntactic Sugar Plugin for Event Modifiers","dist-tags":{"latest":"2.0.5"},"versions":{"1.0.2":{"name":"babel-plugin-jsx-event-modifiers","version":"1.0.2","description":"JSX Syntactic Sugar Plugin for Event Modifiers","main":"index.js","repository":{"type":"git","url":"git+https://github.com/nickmessing/babel-plugin-jsx-event-modifiers.git"},"author":{"name":"Nicolai Moraru","email":"dot.nick.dot.messing@gmail.com"},"license":"MIT","devDependencies":{"ava":"^0.18.2","babel-core":"^6.24.0","babel-plugin-syntax-jsx":"^6.18.0","eslint":"^3.18.0","eslint-config-standard":"^7.1.0","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^2.1.1"},"scripts":{"lint":"eslint .","test":"ava"},"gitHead":"955e9fa21b4662a637558287959a6196370da8c1","bugs":{"url":"https://github.com/nickmessing/babel-plugin-jsx-event-modifiers/issues"},"homepage":"https://github.com/nickmessing/babel-plugin-jsx-event-modifiers#readme","_id":"babel-plugin-jsx-event-modifiers@1.0.2","_shasum":"287f774bd0dfda9abc125a0f01aeb51eaff49806","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.9.0","_npmUser":{"name":"nickmessing","email":"dot.nick.dot.messing@gmail.com"},"dist":{"shasum":"287f774bd0dfda9abc125a0f01aeb51eaff49806","tarball":"https://registry.npmjs.org/babel-plugin-jsx-event-modifiers/-/babel-plugin-jsx-event-modifiers-1.0.2.tgz","integrity":"sha512-lEX29lC51VeETf/wl8sDBb4oNL37PqREz0nZMi2VTQTZTyZkYgTxVQKM3whmD1ovrlx6k/tEkRvWsZuaoncEJg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDGDGwvqsYkVKxtzvUcKylhXYGLa5sRhS1w3N+l7OqIWAiANWWHXv0oXRK44Ao506bnoMZdkO9NwZOEH+cy4mFxxdw=="}]},"maintainers":[{"name":"nickmessing","email":"dot.nick.dot.messing@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/babel-plugin-jsx-event-modifiers-1.0.2.tgz_1493711967641_0.34630129183642566"}},"1.0.3":{"name":"babel-plugin-jsx-event-modifiers","version":"1.0.3","description":"JSX Syntactic Sugar Plugin for Event Modifiers","main":"index.js","repository":{"type":"git","url":"git+https://github.com/nickmessing/babel-plugin-jsx-event-modifiers.git"},"author":{"name":"Nicolai Moraru","email":"dot.nick.dot.messing@gmail.com"},"license":"MIT","devDependencies":{"ava":"^0.18.2","babel-core":"^6.24.0","babel-plugin-syntax-jsx":"^6.18.0","eslint":"^3.18.0","eslint-config-standard":"^7.1.0","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^2.1.1"},"scripts":{"lint":"eslint .","test":"ava"},"gitHead":"c0c3f3e23a94074d4a677106b44406dbb54cef3c","bugs":{"url":"https://github.com/nickmessing/babel-plugin-jsx-event-modifiers/issues"},"homepage":"https://github.com/nickmessing/babel-plugin-jsx-event-modifiers#readme","_id":"babel-plugin-jsx-event-modifiers@1.0.3","_npmVersion":"5.3.0","_nodeVersion":"8.2.1","_npmUser":{"name":"nickmessing","email":"dot.nick.dot.messing@gmail.com"},"dist":{"integrity":"sha512-TGYZX/TDkHGPMJeENWxNbnwqcSMgfTqdNPN3CcPhH442oLyZywDzXUMsnidIy8d36wXpbmTKTmDOxWo4PqAgqA==","shasum":"a5e75518840ed77846dcee35e1979a1a64f19dff","tarball":"https://registry.npmjs.org/babel-plugin-jsx-event-modifiers/-/babel-plugin-jsx-event-modifiers-1.0.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFECMONZdeCU97XakxIyAUsAHj3L8+jCW/gXcjyoszqnAiBQf5QeMIyFM2loURTU1iragIaHFEj5YQDTRIl1TpfOkQ=="}]},"maintainers":[{"name":"nickmessing","email":"dot.nick.dot.messing@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/babel-plugin-jsx-event-modifiers-1.0.3.tgz_1503049552392_0.6519085553009063"}},"2.0.0":{"name":"babel-plugin-jsx-event-modifiers","version":"2.0.0","description":"JSX Syntactic Sugar Plugin for Event Modifiers","main":"dist/bundle.js","repository":{"type":"git","url":"git+https://github.com/nickmessing/babel-plugin-jsx-event-modifiers.git"},"author":{"name":"Nicolai Moraru","email":"dot.nick.dot.messing@gmail.com"},"license":"MIT","devDependencies":{"ava":"^0.22.0","babel-core":"^6.26.0","babel-plugin-istanbul":"^4.1.4","babel-plugin-syntax-jsx":"^6.18.0","babel-preset-env":"^1.6.0","eslint":"^4.5.0","eslint-config-prettier":"^2.3.0","eslint-config-standard":"^10.2.1","eslint-plugin-import":"^2.7.0","eslint-plugin-node":"^5.1.1","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","nyc":"^11.1.0","prettier":"^1.5.3","rollup":"^0.47.6","rollup-plugin-babel":"^3.0.2"},"scripts":{"lint":"eslint .","pretest":"NODE_ENV=test npm run build","test":"nyc --reporter=html --reporter=text ava","build":"rollup --config build.js","prepublish":"npm run build"},"nyc":{"include":["src"]},"gitHead":"86d54da598edb8f68a844982d9586f34cf56dabc","bugs":{"url":"https://github.com/nickmessing/babel-plugin-jsx-event-modifiers/issues"},"homepage":"https://github.com/nickmessing/babel-plugin-jsx-event-modifiers#readme","_id":"babel-plugin-jsx-event-modifiers@2.0.0","_npmVersion":"5.3.0","_nodeVersion":"8.2.1","_npmUser":{"name":"nickmessing","email":"dot.nick.dot.messing@gmail.com"},"dist":{"integrity":"sha512-0bpAk2N65Qo4J1cOL3bYe5igLPT2sMDw2MNVyKpXKJeaCm/ZbSCfL8mLfwtXsECC9XtlHMeBUfMcpedNKiiUqQ==","shasum":"99e368dc3ce2a4bdeaab2982d26035662e44ff90","tarball":"https://registry.npmjs.org/babel-plugin-jsx-event-modifiers/-/babel-plugin-jsx-event-modifiers-2.0.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID6iIRYuSw437+3jcfK6eAy7Ffqe6xF36TEmCyX5Anh0AiBnVbJslzcIwsCn1LJsfRmOe+RLgYjrRanDs57AQmwTzA=="}]},"maintainers":[{"name":"nickmessing","email":"dot.nick.dot.messing@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/babel-plugin-jsx-event-modifiers-2.0.0.tgz_1503227637285_0.8342983189504594"}},"2.0.1":{"name":"babel-plugin-jsx-event-modifiers","version":"2.0.1","description":"JSX Syntactic Sugar Plugin for Event Modifiers","main":"dist/bundle.js","repository":{"type":"git","url":"git+https://github.com/nickmessing/babel-plugin-jsx-event-modifiers.git"},"author":{"name":"Nicolai Moraru","email":"dot.nick.dot.messing@gmail.com"},"license":"MIT","devDependencies":{"ava":"^0.22.0","babel-core":"^6.26.0","babel-plugin-istanbul":"^4.1.4","babel-plugin-syntax-jsx":"^6.18.0","babel-preset-env":"^1.6.0","eslint":"^4.5.0","eslint-config-prettier":"^2.3.0","eslint-config-standard":"^10.2.1","eslint-plugin-import":"^2.7.0","eslint-plugin-node":"^5.1.1","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","nyc":"^11.1.0","prettier":"^1.5.3","rollup":"^0.47.6","rollup-plugin-babel":"^3.0.2"},"scripts":{"lint":"eslint .","pretest":"NODE_ENV=test npm run build","test":"nyc --reporter=html --reporter=text ava","build":"rollup --config build.js","prepare":"npm run build"},"nyc":{"include":["src"]},"gitHead":"33d682649cb018befcf2e029668f2c587adebdd3","bugs":{"url":"https://github.com/nickmessing/babel-plugin-jsx-event-modifiers/issues"},"homepage":"https://github.com/nickmessing/babel-plugin-jsx-event-modifiers#readme","_id":"babel-plugin-jsx-event-modifiers@2.0.1","_npmVersion":"5.3.0","_nodeVersion":"8.2.1","_npmUser":{"name":"nickmessing","email":"dot.nick.dot.messing@gmail.com"},"dist":{"integrity":"sha512-DZ28aK93pRKsv19nNaVRmtlvLIIEFKbUDGR+Ai0CN1d699oF1y/88HulNZ2IFseLBc35w2PfFVNIuOeFzxfEfA==","shasum":"39d9eae1edc4b0898c22438f1c15b10ad3865827","tarball":"https://registry.npmjs.org/babel-plugin-jsx-event-modifiers/-/babel-plugin-jsx-event-modifiers-2.0.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG4nLiHjRGI1mXcTKyCJr42hfaVXgupx+n2RDtsRZtcVAiEAj6XFz+gXRW2wRQKA3pW/Eldel4eKwxs8oRJR566xrDM="}]},"maintainers":[{"name":"nickmessing","email":"dot.nick.dot.messing@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/babel-plugin-jsx-event-modifiers-2.0.1.tgz_1503228045300_0.7220260102767497"}},"2.0.2":{"name":"babel-plugin-jsx-event-modifiers","version":"2.0.2","description":"JSX Syntactic Sugar Plugin for Event Modifiers","main":"dist/bundle.js","repository":{"type":"git","url":"git+https://github.com/nickmessing/babel-plugin-jsx-event-modifiers.git"},"author":{"name":"Nicolai Moraru","email":"dot.nick.dot.messing@gmail.com"},"license":"MIT","files":["dist"],"devDependencies":{"ava":"^0.22.0","babel-core":"^6.26.0","babel-plugin-istanbul":"^4.1.4","babel-plugin-syntax-jsx":"^6.18.0","babel-preset-env":"^1.6.0","eslint":"^4.5.0","eslint-config-prettier":"^2.3.0","eslint-config-standard":"^10.2.1","eslint-plugin-import":"^2.7.0","eslint-plugin-node":"^5.1.1","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","nyc":"^11.1.0","prettier":"^1.5.3","rollup":"^0.47.6","rollup-plugin-babel":"^3.0.2"},"scripts":{"lint":"eslint .","pretest":"NODE_ENV=test npm run build","test":"nyc --reporter=html --reporter=text ava","build":"rollup --config build.js","prepare":"npm run build"},"nyc":{"include":["src"]},"gitHead":"ed19dc1264140372871fb3fe7e4e02b5ce4c236d","bugs":{"url":"https://github.com/nickmessing/babel-plugin-jsx-event-modifiers/issues"},"homepage":"https://github.com/nickmessing/babel-plugin-jsx-event-modifiers#readme","_id":"babel-plugin-jsx-event-modifiers@2.0.2","_npmVersion":"5.3.0","_nodeVersion":"8.2.1","_npmUser":{"name":"nickmessing","email":"dot.nick.dot.messing@gmail.com"},"dist":{"integrity":"sha512-3QgoIR2nGAX1GuCPr/22+DFbQEhsUx3e/72xy6V9jBWX5LPM1O1Yrh8sDSypXxlGDU+qT0P9Vy+BG4SpE4rc9Q==","shasum":"c2832ada05be8ab958c5871b569ea0c0bb49bbfa","tarball":"https://registry.npmjs.org/babel-plugin-jsx-event-modifiers/-/babel-plugin-jsx-event-modifiers-2.0.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD608mMGlS7181DBQS/xonP8/cP6O20v6KRwCSG+FDoggIgCoqUpMTFoFuUU5OV2jqpFdZjWqys4WTNVecEDiOy5q4="}]},"maintainers":[{"name":"nickmessing","email":"dot.nick.dot.messing@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/babel-plugin-jsx-event-modifiers-2.0.2.tgz_1503285634321_0.6479342223610729"}},"2.0.3":{"name":"babel-plugin-jsx-event-modifiers","version":"2.0.3","description":"JSX Syntactic Sugar Plugin for Event Modifiers","main":"dist/bundle.js","repository":{"type":"git","url":"git+https://github.com/nickmessing/babel-plugin-jsx-event-modifiers.git"},"author":{"name":"Nicolai Moraru","email":"dot.nick.dot.messing@gmail.com"},"license":"MIT","files":["dist"],"devDependencies":{"ava":"^0.22.0","babel-core":"^6.26.0","babel-plugin-istanbul":"^4.1.4","babel-plugin-syntax-jsx":"^6.18.0","babel-preset-env":"^1.6.0","eslint":"^4.5.0","eslint-config-prettier":"^2.3.0","eslint-config-standard":"^10.2.1","eslint-plugin-import":"^2.7.0","eslint-plugin-node":"^5.1.1","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","nyc":"^11.1.0","prettier":"^1.5.3","rollup":"^0.47.6","rollup-plugin-babel":"^3.0.2"},"scripts":{"lint":"eslint .","pretest":"NODE_ENV=test npm run build","test":"nyc --reporter=html --reporter=text ava","build":"rollup --config build.js","prepare":"npm run build"},"nyc":{"include":["src"]},"gitHead":"830917f2fe20f174b4c057c70233198a6c90add9","bugs":{"url":"https://github.com/nickmessing/babel-plugin-jsx-event-modifiers/issues"},"homepage":"https://github.com/nickmessing/babel-plugin-jsx-event-modifiers#readme","_id":"babel-plugin-jsx-event-modifiers@2.0.3","_npmVersion":"5.3.0","_nodeVersion":"8.2.1","_npmUser":{"name":"nickmessing","email":"dot.nick.dot.messing@gmail.com"},"dist":{"integrity":"sha512-gYK4bGxVs9761PxsQqW+bwekjc6wdGiZpkGiGSVVq7kmwbR1S39jErefuiQa95OOK6L62xwGAhnk4Qq6HnzwxA==","shasum":"471cb56ed781a77aad56880048c7226566c1ed74","tarball":"https://registry.npmjs.org/babel-plugin-jsx-event-modifiers/-/babel-plugin-jsx-event-modifiers-2.0.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDWCeViA/1ql4RjYzvtvL1Jc3HOMuifsFNJq4A/qpbLbAiEA3XfB8dRC6gZGel8jDNB14DxEh1AJUy55pPDfCSvFaXc="}]},"maintainers":[{"name":"nickmessing","email":"dot.nick.dot.messing@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/babel-plugin-jsx-event-modifiers-2.0.3.tgz_1503614771726_0.35748375323601067"}},"2.0.5":{"name":"babel-plugin-jsx-event-modifiers","version":"2.0.5","description":"JSX Syntactic Sugar Plugin for Event Modifiers","main":"dist/bundle.js","repository":{"type":"git","url":"git+https://github.com/nickmessing/babel-plugin-jsx-event-modifiers.git"},"author":{"name":"Nicolai Moraru","email":"dot.nick.dot.messing@gmail.com"},"license":"MIT","files":["dist"],"devDependencies":{"ava":"^0.22.0","babel-core":"^6.26.0","babel-plugin-istanbul":"^4.1.4","babel-plugin-syntax-jsx":"^6.18.0","babel-preset-env":"^1.6.0","eslint":"^4.5.0","eslint-config-prettier":"^2.3.0","eslint-config-standard":"^10.2.1","eslint-plugin-import":"^2.7.0","eslint-plugin-node":"^5.1.1","eslint-plugin-promise":"^3.5.0","eslint-plugin-standard":"^3.0.1","nyc":"^11.1.0","prettier":"^1.5.3","rollup":"^0.47.6","rollup-plugin-babel":"^3.0.2"},"scripts":{"lint":"eslint .","pretest":"NODE_ENV=test npm run build","test":"nyc --reporter=html --reporter=text ava","build":"rollup --config build.js","prepare":"npm run build"},"nyc":{"include":["src"]},"gitHead":"8ac01e76787eade6d7dc7a537c4cde0674ebeda8","bugs":{"url":"https://github.com/nickmessing/babel-plugin-jsx-event-modifiers/issues"},"homepage":"https://github.com/nickmessing/babel-plugin-jsx-event-modifiers#readme","_id":"babel-plugin-jsx-event-modifiers@2.0.5","_npmVersion":"5.3.0","_nodeVersion":"8.2.1","_npmUser":{"name":"nickmessing","email":"dot.nick.dot.messing@gmail.com"},"dist":{"integrity":"sha512-tWGnCk0whZ+nZcj9tYLw4+y08tPJXqaEjIxRJZS6DkUUae72Kz4BsoGpxt/Kow7mmgQJpvFCw8IPLSNh5rkZCg==","shasum":"93e6ebb5d7553bb08f9fedbf7a0bee3af09a0472","tarball":"https://registry.npmjs.org/babel-plugin-jsx-event-modifiers/-/babel-plugin-jsx-event-modifiers-2.0.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCYGVi66TWDkyKqMnzj4RPBpbfWtwj9/rJdiikDNUlTSwIgdqSR76aHloAcKiNxAgMudH3XAEDEJ3UF6J4pEC57knY="}]},"maintainers":[{"name":"nickmessing","email":"dot.nick.dot.messing@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/babel-plugin-jsx-event-modifiers-2.0.5.tgz_1503869938404_0.4136798938270658"}}},"readme":"## Event Modifiers for JSX\n\nThis babel plugin adds some syntactic sugar to JSX.\n\n### Usage:\n\n```bash\nnpm i babel-plugin-jsx-event-modifiers -D\n```\nor\n```bash\nyarn add babel-plugin-jsx-event-modifiers -D\n```\n\nThen add `jsx-event-modifiers` to your `.babelrc` file under `plugins`\n\nexample .babelrc:\n```json\n{\n  \"presets\": [\"es2015\"],\n  \"plugins\": [\"jsx-event-modifiers\", \"transform-vue-jsx\"]\n}\n```\n\n#### Event Modifiers\n\nExample:\n```js\nexport default {\n  render () {\n    return (\n      <input\n        onKeyup:up={this.methodForPressingUp}\n        onKeyup:down={this.methodForPressingDown}\n        onKeyup:bare-shift-enter={this.methodOnlyOnShiftEnter}\n        onKeyup:bare-alt-enter={this.methodOnlyOnAltEnter}\n      />\n    )\n  }\n}\n```\nwill be transpiled into:\n```js\nexport default {\n  render() {\n    return (\n      <input\n        {...{\n          on: {\n            keyup: [\n              $event => {\n                if (!('button' in $event) && this._k($event.keyCode, 'up', 38)) return null\n\n                this.methodForPressingUp($event)\n              },\n              $event => {\n                if (!('button' in $event) && this._k($event.keyCode, 'down', 40)) return null\n\n                this.methodForPressingDown($event)\n              },\n              $event => {\n                if (\n                  ($event.ctrlKey && $event.altKey && $event.metaKey) ||\n                  !$event.shiftKey ||\n                  (!('button' in $event) && this._k($event.keyCode, 'enter', 13))\n                )\n                  return null\n\n                this.methodOnlyOnShiftEnter($event)\n              },\n              $event => {\n                if (\n                  ($event.ctrlKey && $event.shiftKey && $event.metaKey) ||\n                  !$event.altKey ||\n                  (!('button' in $event) && this._k($event.keyCode, 'enter', 13))\n                )\n                  return null\n\n                this.methodOnlyOnAltEnter($event)\n              },\n            ],\n          },\n        }}\n      />\n    )\n  },\n}\n\n\n```\n\n#### We try to keep API and behaviour as close to [Vue Event Modifiers](https://vuejs.org/v2/guide/events.html#Event-Modifiers) as we can. The only difference today is support for [bare](https://github.com/vuejs/vue/pull/5977) modifier and syntax.\n\n##### Example:\n\nVue template:\n```html\n<input\n  @keyup.up=\"methodForPressingUp\"\n  @keyup.down=\"methodForPressingDown\"\n  @keyup.bare.shift.enter=\"methodOnlyOnShiftEnter\"\n  @keyup.bare.alt.enter=\"methodOnlyOnAltEnter\"\n  @keyup.120=\"onPressKey120('some', 'arguments')\"\n>\n```\nJSX:\n```js\n<input\n  onKeyup:up={this.methodForPressingUp}\n  onKeyup:down={this.methodForPressingDown}\n  onKeyup:bare-shift-enter={this.methodOnlyOnShiftEnter}\n  onKeyup:bare-alt-enter={this.methodOnlyOnAltEnter}\n  onKeyup:k120={() => this.onPressKey120('some', 'arguments')}\n/>\n```\n\n##### Notable differences:\n\n * Modifiers are prefixed by `:` and separated by `-` (in vue: prefixed by `.` and separated by `.`)\n * Key codes are prefixed by `k`\n * Call expression should be wrapped in arrow functions\n","maintainers":[{"name":"nickmessing","email":"dot.nick.dot.messing@gmail.com"}],"time":{"modified":"2022-06-13T04:01:54.757Z","created":"2017-05-02T07:59:29.451Z","1.0.2":"2017-05-02T07:59:29.451Z","1.0.3":"2017-08-18T09:45:52.527Z","2.0.0":"2017-08-20T11:13:57.415Z","2.0.1":"2017-08-20T11:20:45.438Z","2.0.2":"2017-08-21T03:20:34.387Z","2.0.3":"2017-08-24T22:46:11.887Z","2.0.4":"2017-08-27T21:35:45.370Z","2.0.5":"2017-08-27T21:38:58.534Z"},"homepage":"https://github.com/nickmessing/babel-plugin-jsx-event-modifiers#readme","repository":{"type":"git","url":"git+https://github.com/nickmessing/babel-plugin-jsx-event-modifiers.git"},"author":{"name":"Nicolai Moraru","email":"dot.nick.dot.messing@gmail.com"},"bugs":{"url":"https://github.com/nickmessing/babel-plugin-jsx-event-modifiers/issues"},"license":"MIT","readmeFilename":"README.md"}