{"_id":"receptor","_rev":"18-516fed593ded7ec053adfd5438a5b4c0","name":"receptor","description":"A better way to manage DOM event delegation and handling","dist-tags":{"latest":"2.2.1"},"versions":{"0.1.1":{"name":"receptor","version":"0.1.1","description":"A better way to manage DOM event delegation and handling","repository":{"type":"git","url":"git+https://github.com/shawnbot/receptor.git"},"author":{"name":"Shawn Allen","email":"shawn.allen@gsa.gov"},"license":"CC0-1.0","main":"lib/index.js","scripts":{"test":"mocha test/unit"},"keywords":["dom","event","delegation","behavior","keyboard"],"dependencies":{"keyboardevent-key-polyfill":"^1.0.2","matches-selector":"^1.0.0","object-assign":"^4.1.0"},"devDependencies":{"jsdom":"^9.3.0","jsdom-global":"^2.0.0","mocha":"^2.5.3"},"gitHead":"6040291c2f6f89ed5a01d5e1027e3c1733902bdf","bugs":{"url":"https://github.com/shawnbot/receptor/issues"},"homepage":"https://github.com/shawnbot/receptor#readme","_id":"receptor@0.1.1","_shasum":"9c1e303233385cf586e9befb29edc802afc53cb3","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"dist":{"shasum":"9c1e303233385cf586e9befb29edc802afc53cb3","tarball":"https://registry.npmjs.org/receptor/-/receptor-0.1.1.tgz","integrity":"sha512-HCDc6IVhUPxhOM6IxS1+SUVaRnnvChjonP+usU0YFqtTSI0+4uSmF6ulqZ4zUfiEetN7h0G/r3wlubsS8eCxGQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCF2fU2KfVm7zi4O6XP9K7CMrIqZ+5tjO7BFIbbp+6lEgIgMuq0UNe0pK9foDeTeMSQ2rFUdroYmSfAGHR+Y8Yk2tg="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/receptor-0.1.1.tgz_1467262408642_0.41395570570603013"},"directories":{}},"0.1.2":{"name":"receptor","version":"0.1.2","description":"A better way to manage DOM event delegation and handling","repository":{"type":"git","url":"git+https://github.com/shawnbot/receptor.git"},"author":{"name":"Shawn Allen","email":"shawn.allen@gsa.gov"},"license":"CC0-1.0","main":"lib/index.js","scripts":{"test":"mocha test/unit"},"keywords":["dom","event","delegation","behavior","keyboard"],"dependencies":{"keyboardevent-key-polyfill":"^1.0.2","matches-selector":"^1.0.0","object-assign":"^4.1.0"},"devDependencies":{"jsdom":"^9.3.0","jsdom-global":"^2.0.0","mocha":"^2.5.3"},"gitHead":"fbc007b49f89cf32d79196f3420e7cda01904545","bugs":{"url":"https://github.com/shawnbot/receptor/issues"},"homepage":"https://github.com/shawnbot/receptor#readme","_id":"receptor@0.1.2","_shasum":"0e470c4462483ff784b650e87a86c351938f54f8","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"dist":{"shasum":"0e470c4462483ff784b650e87a86c351938f54f8","tarball":"https://registry.npmjs.org/receptor/-/receptor-0.1.2.tgz","integrity":"sha512-XSQyMJ1xisb73fX/XLsdpMugkI6/gojRPm2ffHazts468NpJW7qDKDRoF/jy1REK49sOKAO6KCMdoFh1MNh4IQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGgKZCKKuAfP9T6O6xj/fjdc3tDjcSMZfWgIt1OJx9UXAiEA91AuPUCIZDUHiaYap0BtCpuoKAWSbCH7fxsjmEQubY8="}]},"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/receptor-0.1.2.tgz_1467262941277_0.37690109270624816"},"directories":{}},"0.1.3":{"name":"receptor","version":"0.1.3","description":"A better way to manage DOM event delegation and handling","repository":{"type":"git","url":"git+https://github.com/shawnbot/receptor.git"},"author":{"name":"Shawn Allen","email":"shawn.allen@gsa.gov"},"license":"CC0-1.0","main":"lib/index.js","scripts":{"test":"mocha test/unit"},"keywords":["dom","event","delegation","behavior","keyboard"],"dependencies":{"keyboardevent-key-polyfill":"^1.0.2","matches-selector":"^1.0.0","object-assign":"^4.1.0"},"devDependencies":{"jsdom":"^9.3.0","jsdom-global":"^2.0.0","mocha":"^2.5.3"},"gitHead":"61964df3f349d0fad9aa5063dc2b752808ff6523","bugs":{"url":"https://github.com/shawnbot/receptor/issues"},"homepage":"https://github.com/shawnbot/receptor#readme","_id":"receptor@0.1.3","_shasum":"da88a65f065ea31c7b25d5887a34c461aa88c96f","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"dist":{"shasum":"da88a65f065ea31c7b25d5887a34c461aa88c96f","tarball":"https://registry.npmjs.org/receptor/-/receptor-0.1.3.tgz","integrity":"sha512-fe5HEysv8PTBlFbsdp2MTJFNGEmE2II2X9XgGjPx347F+WRiSbbn6sS5zBWlsgBwtHh6oszjmIdTGI8B34JFlw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIET6eGpGBoemufEUUsioMc8ybsQOiz+ZpMK0g8FQYdE7AiB6an03A7ztHg1eQajbr3G4iDLNcmxB9maQj79sMXaBLg=="}]},"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/receptor-0.1.3.tgz_1467264028248_0.9439882824663073"},"directories":{}},"0.1.4":{"name":"receptor","version":"0.1.4","description":"A better way to manage DOM event delegation and handling","repository":{"type":"git","url":"git+https://github.com/shawnbot/receptor.git"},"author":{"name":"Shawn Allen","email":"shawn.allen@gsa.gov"},"license":"CC0-1.0","main":"lib/index.js","scripts":{"test":"mocha test/unit"},"keywords":["dom","event","delegation","behavior","keyboard"],"dependencies":{"keyboardevent-key-polyfill":"^1.0.2","matches-selector":"^1.0.0","object-assign":"^4.1.0"},"devDependencies":{"jsdom":"^9.3.0","jsdom-global":"^2.0.0","mocha":"^2.5.3"},"gitHead":"afd459851f7643bf809626b0cd515036e2e84800","bugs":{"url":"https://github.com/shawnbot/receptor/issues"},"homepage":"https://github.com/shawnbot/receptor#readme","_id":"receptor@0.1.4","_shasum":"a7c62e36d6b8c3bbf16f5861ff676884334ea9f1","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"dist":{"shasum":"a7c62e36d6b8c3bbf16f5861ff676884334ea9f1","tarball":"https://registry.npmjs.org/receptor/-/receptor-0.1.4.tgz","integrity":"sha512-JQc35T4eDkN0VOzUfbHPo+mqiIeLjUouy28c/mUg8Eq5Z3F2AfN5rSTLb70PU4EOV0/ntOUQ7Iu//3dGKYWh/A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFdVGBbEh8nhHO9tGGz+KHrXG/lCgXHI3eFWOnMF+jTOAiEA6ApcWWZyNA1I0rwz3f4TF8xNT7dDcIpow1oZwUBq0Cc="}]},"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/receptor-0.1.4.tgz_1467309961229_0.1697481283918023"},"directories":{}},"0.1.5":{"name":"receptor","version":"0.1.5","description":"A better way to manage DOM event delegation and handling","repository":{"type":"git","url":"git+https://github.com/shawnbot/receptor.git"},"author":{"name":"Shawn Allen","email":"shawn.allen@gsa.gov"},"license":"CC0-1.0","main":"lib/index.js","scripts":{"test":"mocha test/unit"},"keywords":["dom","event","delegation","behavior","keyboard"],"dependencies":{"keyboardevent-key-polyfill":"^1.0.2","matches-selector":"^1.0.0","object-assign":"^4.1.0"},"devDependencies":{"jsdom":"^9.3.0","jsdom-global":"^2.0.0","mocha":"^2.5.3"},"gitHead":"965079742d1b56879687d5da062ca451d00f7158","bugs":{"url":"https://github.com/shawnbot/receptor/issues"},"homepage":"https://github.com/shawnbot/receptor#readme","_id":"receptor@0.1.5","_shasum":"6ca80e203c7542a6fe7095d054d2a496337cf520","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"dist":{"shasum":"6ca80e203c7542a6fe7095d054d2a496337cf520","tarball":"https://registry.npmjs.org/receptor/-/receptor-0.1.5.tgz","integrity":"sha512-+9FWgF+9XRekl3DLWt1mcfrAjHOYZ5i5vSUHuKGiXmbZE+Ww9mgmEK5XDY5rw7IyBtkzd5DBK3nrfIt7/PO7YA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE5Dx4ESkGafbkPe9LA05HcFrZe00ooJRFcLcUiCyLpHAiEAz6ib+ByT/Y8FYmTEpIYbl4TD0UW/tP8xZcgOeIraFhQ="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/receptor-0.1.5.tgz_1467310295467_0.09239598456770182"},"directories":{}},"0.2.0":{"name":"receptor","version":"0.2.0","description":"A better way to manage DOM event delegation and handling","repository":{"type":"git","url":"git+https://github.com/shawnbot/receptor.git"},"author":{"name":"Shawn Allen","email":"shawn.allen@gsa.gov"},"license":"CC0-1.0","main":"lib/index.js","scripts":{"test":"mocha test/unit"},"keywords":["dom","event","delegation","behavior","keyboard"],"dependencies":{"keyboardevent-key-polyfill":"^1.0.2","matches-selector":"^1.0.0","object-assign":"^4.1.0"},"devDependencies":{"jsdom":"^9.3.0","jsdom-global":"^2.0.0","mocha":"^2.5.3"},"gitHead":"7f951f661e45e9ddc2e58db9c9ae308d6d896adf","bugs":{"url":"https://github.com/shawnbot/receptor/issues"},"homepage":"https://github.com/shawnbot/receptor#readme","_id":"receptor@0.2.0","_shasum":"ac3663549f6f75f16d53fdf4ffcce429685033c7","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"dist":{"shasum":"ac3663549f6f75f16d53fdf4ffcce429685033c7","tarball":"https://registry.npmjs.org/receptor/-/receptor-0.2.0.tgz","integrity":"sha512-xJKWA60GhaRRB8mlvH48CiLOJ2GlBdi1fD/neZHKUJOX/v4+/mDb02WEdjfm64PAkZQKvwdmr4HL3sgV0/ucZA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDQ12zA9Wh8A8jzCb8QqkiEvD3CtIT6d4BJgYL0JuEk7AIhANfI+EjCTtaN8DFMPWF2bnvESCTxSIvpJIZcb/n8asxH"}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/receptor-0.2.0.tgz_1467313963046_0.09053469100035727"},"directories":{}},"0.2.1":{"name":"receptor","version":"0.2.1","description":"A better way to manage DOM event delegation and handling","repository":{"type":"git","url":"git+https://github.com/shawnbot/receptor.git"},"author":{"name":"Shawn Allen","email":"shawn.allen@gsa.gov"},"license":"CC0-1.0","main":"lib/index.js","scripts":{"test":"mocha test/unit"},"keywords":["dom","event","delegation","behavior","keyboard"],"dependencies":{"keyboardevent-key-polyfill":"^1.0.2","matches-selector":"^1.0.0","object-assign":"^4.1.0"},"devDependencies":{"jsdom":"^9.3.0","jsdom-global":"^2.0.0","mocha":"^2.5.3"},"gitHead":"a62da56923fca282cfc5da699cb771270bf6b8c4","bugs":{"url":"https://github.com/shawnbot/receptor/issues"},"homepage":"https://github.com/shawnbot/receptor#readme","_id":"receptor@0.2.1","_shasum":"4ff46f69a6582c3514d895635a9cf3adf6654306","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"dist":{"shasum":"4ff46f69a6582c3514d895635a9cf3adf6654306","tarball":"https://registry.npmjs.org/receptor/-/receptor-0.2.1.tgz","integrity":"sha512-PYveZfRzyO/rgwEoRWgz6KhjMiE43zID8MgRxov3JWwkLVyiHL/F9vvnMPugP80Q5Qoimb7YWr/MLh07yIV9Sg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCSy0Iolf1eByFStlZbgM5MjBIufKuquSOIOjgR7U8L3AIgdehkASRcKenlWxrPlIx4Tr3BXYAl2RJDAEGd9QlLvAU="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/receptor-0.2.1.tgz_1467314059495_0.09077643696218729"},"directories":{}},"0.3.0":{"name":"receptor","version":"0.3.0","description":"A better way to manage DOM event delegation and handling","repository":{"type":"git","url":"git+https://github.com/shawnbot/receptor.git"},"author":{"name":"Shawn Allen","email":"shawn.allen@gsa.gov"},"license":"CC0-1.0","main":"lib/index.js","scripts":{"test":"mocha test/unit","build":"browserify lib/index.js > dist/receptor.js","minify":"uglifyjs dist/receptor.js > dist/receptor.min.js","preversion":"npm run build && npm run minify"},"keywords":["dom","event","delegation","behavior","keyboard"],"dependencies":{"keyboardevent-key-polyfill":"^1.0.2","matches-selector":"^1.0.0","object-assign":"^4.1.0"},"devDependencies":{"jsdom":"^9.3.0","jsdom-global":"^2.0.0","mocha":"^2.5.3"},"gitHead":"570f567c6d63f294aa09931d19dedc6e2094839b","bugs":{"url":"https://github.com/shawnbot/receptor/issues"},"homepage":"https://github.com/shawnbot/receptor#readme","_id":"receptor@0.3.0","_shasum":"d0c5a8f2f281e11d3850bccc4bf434064a05f78d","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"dist":{"shasum":"d0c5a8f2f281e11d3850bccc4bf434064a05f78d","tarball":"https://registry.npmjs.org/receptor/-/receptor-0.3.0.tgz","integrity":"sha512-3Re/doedqFuIP5japn1WXqwSt8f3JmmcZlpU7t0Ki7/FgQhh+uk8OT2WGnSqXWO6PaoUDjdX1WsCEFPyVMNfOQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD/NocgMh2qKzy2bU1EcQa4vxXtz2JKoXYqEO0DZxtj0wIhAMXxICbBXvKmnhIEcrqqW6m+jflLDHIkrLoeakdhNjA4"}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/receptor-0.3.0.tgz_1467314495748_0.4969425720628351"},"directories":{}},"0.3.1":{"name":"receptor","version":"0.3.1","description":"A better way to manage DOM event delegation and handling","repository":{"type":"git","url":"git+https://github.com/shawnbot/receptor.git"},"author":{"name":"Shawn Allen","email":"shawn.allen@gsa.gov"},"license":"CC0-1.0","main":"lib/index.js","scripts":{"test":"mocha test/unit","build":"browserify lib/index.js > dist/receptor.js","minify":"uglifyjs dist/receptor.js > dist/receptor.min.js","preversion":"npm run build && npm run minify"},"keywords":["dom","event","delegation","behavior","keyboard"],"dependencies":{"keyboardevent-key-polyfill":"^1.0.2","matches-selector":"^1.0.0","object-assign":"^4.1.0"},"devDependencies":{"jsdom":"^9.3.0","jsdom-global":"^2.0.0","mocha":"^2.5.3"},"gitHead":"53c67b74abbc50c255e5f82c7494d8f60a88bf47","bugs":{"url":"https://github.com/shawnbot/receptor/issues"},"homepage":"https://github.com/shawnbot/receptor#readme","_id":"receptor@0.3.1","_shasum":"a004f0ee2429dc9b1f8491f9ef08cab6d45a1eee","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"dist":{"shasum":"a004f0ee2429dc9b1f8491f9ef08cab6d45a1eee","tarball":"https://registry.npmjs.org/receptor/-/receptor-0.3.1.tgz","integrity":"sha512-5Ccgu198rwt30nA7oWKS8lWqwfQY8Lx2fRBwfuqpIdkA5Z4wTso3x2tyv2cHZ9jSYVcSnF/Ls64XtZ3EtBpKLg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID8glQnIpc0QFMe5SiUFbLZPSk+qiCeoydbSI5QlTwWlAiBGLM6g+gOgot5z8LqJe+fmOa6MTRiFSHXUstCMeH56Ow=="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/receptor-0.3.1.tgz_1467314744930_0.5390124837867916"},"directories":{}},"0.4.0":{"name":"receptor","version":"0.4.0","description":"A better way to manage DOM event delegation and handling","repository":{"type":"git","url":"git+https://github.com/shawnbot/receptor.git"},"author":{"name":"Shawn Allen","email":"shawn.allen@gsa.gov"},"license":"CC0-1.0","main":"lib/index.js","scripts":{"test":"mocha test/unit","build":"browserify lib/index.js > dist/receptor.js","minify":"uglifyjs dist/receptor.js > dist/receptor.min.js","preversion":"npm run build && npm run minify"},"keywords":["dom","event","delegation","behavior","keyboard"],"dependencies":{"keyboardevent-key-polyfill":"^1.0.2","matches-selector":"^1.0.0","object-assign":"^4.1.0"},"devDependencies":{"jsdom":"^9.3.0","jsdom-global":"^2.0.0","mocha":"^2.5.3"},"gitHead":"76f94e8d80cf028afc0c0ca14c8359a30b541ba0","bugs":{"url":"https://github.com/shawnbot/receptor/issues"},"homepage":"https://github.com/shawnbot/receptor#readme","_id":"receptor@0.4.0","_shasum":"c29181a61810c96ceba5ff507b6cde2a35c31638","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"dist":{"shasum":"c29181a61810c96ceba5ff507b6cde2a35c31638","tarball":"https://registry.npmjs.org/receptor/-/receptor-0.4.0.tgz","integrity":"sha512-SRXFVwseR+q5Iw2C8POJL/TBkiUyVCa5gRbiXKn0EJrbLCrqq5rH6xDmoVf80bmV8XV1Gq+v2/er3cZVFwIAjg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC2wR2MX12uIm10Z9+b/8FEQ/T0Dx3f6ZIToG2zEbDoVgIhAKttxRRAcI0fvON3Vcy1PcqICwdvAC9tyLTg18urz/uJ"}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/receptor-0.4.0.tgz_1468279052271_0.9455595617182553"},"directories":{}},"0.5.1":{"name":"receptor","version":"0.5.1","description":"A better way to manage DOM event delegation and handling","repository":{"type":"git","url":"git+https://github.com/shawnbot/receptor.git"},"author":{"name":"Shawn Allen","email":"shawn.allen@gsa.gov"},"license":"CC0-1.0","main":"lib/index.js","scripts":{"test":"mocha test/unit","build":"browserify lib/index.js > dist/receptor.js","minify":"uglifyjs dist/receptor.js > dist/receptor.min.js","preversion":"npm run build && npm run minify"},"keywords":["dom","event","delegation","behavior","keyboard"],"dependencies":{"element-closest":"^2.0.1","keyboardevent-key-polyfill":"^1.0.2","matches-selector":"^1.0.0","object-assign":"^4.1.0"},"devDependencies":{"jsdom":"^9.3.0","jsdom-global":"^2.0.0","mocha":"^2.5.3"},"gitHead":"cd547db6d458b62902b2df870cfd1108197a787f","bugs":{"url":"https://github.com/shawnbot/receptor/issues"},"homepage":"https://github.com/shawnbot/receptor#readme","_id":"receptor@0.5.1","_shasum":"bf14c63ad452b0c5d20c210f1768cd5fc65ef3c1","_from":".","_npmVersion":"3.8.6","_nodeVersion":"5.12.0","_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"dist":{"shasum":"bf14c63ad452b0c5d20c210f1768cd5fc65ef3c1","tarball":"https://registry.npmjs.org/receptor/-/receptor-0.5.1.tgz","integrity":"sha512-+sq5YXtSZQNUKXcbtgegA4tfh6VvuNFLrS+xVR2jUz+ULa4HtWaTPFROPLHYn5fSFwVKEA5hOGaxkgeM95kfPw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCYQezsKp+87xC2lvp2/dxvB4PJ+FBrdkGEPDcJ+7xu+QIhAIibgi9bXUt4I/OxAnARvz7S9XSyD/SgEV5wjpCoXs+2"}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/receptor-0.5.1.tgz_1470179662646_0.9267023131251335"},"directories":{}},"1.0.0":{"name":"receptor","version":"1.0.0","description":"A better way to manage DOM event delegation and handling","repository":{"type":"git","url":"git+https://github.com/shawnbot/receptor.git"},"author":{"name":"Shawn Allen","email":"shawn.allen@gsa.gov"},"license":"CC0-1.0","main":"index.js","scripts":{"test":"mocha test/unit","build":"browserify --debug -t babelify -g uglifyify -p mapstraction index.js -o dist/receptor.js","preversion":"npm run build"},"babel":{"presets":["es2015"]},"keywords":["dom","event","delegation","behavior","keyboard"],"dependencies":{"element-closest":"^2.0.1","keyboardevent-key-polyfill":"^1.0.2","matches-selector":"^1.0.0","object-assign":"^4.1.0"},"devDependencies":{"babel-preset-es2015":"^6.24.1","babelify":"^7.3.0","jsdom":"^9.3.0","jsdom-global":"^2.0.0","mapstraction":"^1.0.1","mocha":"^2.5.3","uglifyify":"^3.0.4"},"gitHead":"1359c81c9a56ca4f7ddd9b98a08308cb697ba1b6","bugs":{"url":"https://github.com/shawnbot/receptor/issues"},"homepage":"https://github.com/shawnbot/receptor#readme","_id":"receptor@1.0.0","_shasum":"bf54477e0387e44bebf3855120bbda5adea08f8b","_from":".","_npmVersion":"3.8.6","_nodeVersion":"5.12.0","_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"dist":{"shasum":"bf54477e0387e44bebf3855120bbda5adea08f8b","tarball":"https://registry.npmjs.org/receptor/-/receptor-1.0.0.tgz","integrity":"sha512-yvVEqVQDNzEmGkluCkEdbKSXqZb3WGxotI/VukXIQ+4/BXEeXVjWtmC6jWaR1BIsmEAGYQy3OTaNgDj2Svr01w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH907LUQFUYoTDXskoz5qG5wiUIfoE726z9k1ZSPgx6NAiEAkJcRsq36ebq1o/LcMTVoH6hNosrWefyQzeUqGylE+AE="}]},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/receptor-1.0.0.tgz_1491970919545_0.05494703561998904"},"directories":{}},"2.0.0":{"name":"receptor","version":"2.0.0","description":"A better way to manage DOM event delegation and handling","repository":{"type":"git","url":"git+https://github.com/shawnbot/receptor.git"},"author":{"name":"Shawn Allen","email":"shawn.allen@github.com"},"license":"CC0-1.0","main":"index.js","scripts":{"mocha":"mocha -r babel-register -r jsdom-global/register","test":"npm run mocha -- test/unit","lint":"eslint .","build":"NODE_ENV=production webpack index.js -o dist/receptor.js","preversion":"npm run build"},"babel":{"presets":["env"]},"keywords":["dom","event","delegation","behavior","keyboard"],"dependencies":{"element-closest":"^2.0.1","keyboardevent-key-polyfill":"^1.0.2","matches-selector":"^1.0.0","object-assign":"^4.1.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-preset-env":"^1.6.1","babel-register":"^6.26.0","eslint":"^4.19.1","eslint-plugin-github":"^0.24.1","jsdom":"^11.7.0","jsdom-global":"^3.0.2","mocha":"^5.0.5","prettier":"^1.11.1","webpack":"^4.5.0","webpack-cli":"^2.0.14"},"gitHead":"89a5387e3feb8b840b02d70a5c3063f28f0d1594","bugs":{"url":"https://github.com/shawnbot/receptor/issues"},"homepage":"https://github.com/shawnbot/receptor#readme","_id":"receptor@2.0.0","_shasum":"63455cbd7c8158646cab9671851f9c81e1f27cfc","_from":".","_npmVersion":"4.6.1","_nodeVersion":"7.10.1","_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"dist":{"shasum":"63455cbd7c8158646cab9671851f9c81e1f27cfc","tarball":"https://registry.npmjs.org/receptor/-/receptor-2.0.0.tgz","fileCount":30,"unpackedSize":53622,"integrity":"sha512-jz4izVaTvL7RV39O+SvHE/g9xw0nWDnMMBVvxYde2VvDskybph+9hrqyBB9d9qtI1O2NYnF++A6VmXW3SAIpzQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCkaWkT4zXKzijMQMHda/3jJBi7GS5S5lt/K3EvRGbnUwIhAP75985kilY9YZRoV+0baR5FIn9opFJpDLXNvNm4bl/v"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/receptor_2.0.0_1523388519401_0.8009495351272065"},"_hasShrinkwrap":false},"2.1.0":{"name":"receptor","version":"2.1.0","description":"A better way to manage DOM event delegation and handling","repository":{"type":"git","url":"git+https://github.com/shawnbot/receptor.git"},"author":{"name":"Shawn Allen","email":"shawn.allen@github.com"},"license":"CC0-1.0","main":"index.js","scripts":{"mocha":"mocha -r babel-register -r jsdom-global/register","test":"npm run mocha -- test/unit","lint":"eslint .","build":"NODE_ENV=production webpack index.js -o dist/receptor.js","preversion":"npm run build"},"babel":{"presets":["env"]},"keywords":["dom","event","delegation","behavior","keyboard"],"dependencies":{"element-closest":"^2.0.1","keyboardevent-key-polyfill":"^1.0.2","matches-selector":"^1.0.0","object-assign":"^4.1.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-preset-env":"^1.6.1","babel-register":"^6.26.0","eslint":"^4.19.1","eslint-plugin-github":"^0.24.1","jsdom":"^11.7.0","jsdom-global":"^3.0.2","mocha":"^5.0.5","prettier":"^1.11.1","webpack":"^4.5.0","webpack-cli":"^2.0.14"},"gitHead":"a289fab44b3ed22ce4f490f30517ab8f74a46063","bugs":{"url":"https://github.com/shawnbot/receptor/issues"},"homepage":"https://github.com/shawnbot/receptor#readme","_id":"receptor@2.1.0","_shasum":"50dc0dad49b07d384d2997cffafb222ca650805d","_from":".","_npmVersion":"4.6.1","_nodeVersion":"7.10.1","_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"dist":{"shasum":"50dc0dad49b07d384d2997cffafb222ca650805d","tarball":"https://registry.npmjs.org/receptor/-/receptor-2.1.0.tgz","fileCount":28,"unpackedSize":50429,"integrity":"sha512-2nFilca5TW5KP93csoFIF6S0p/eZCYa8HKamRYvSp9YVrNJRAchNFnR6BN91xysBXhGT1z4YT+GdYuQ4FDcWCA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQClPbyAiP7Ycf47PZZBOKG1GdbbhLDLY+/UHwnXu4ck3wIhANORb7wb+h2pQh9TxsSACnuX0UVE9TnhMkzzMcxXNuhE"}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/receptor_2.1.0_1523388835275_0.06885446483915802"},"_hasShrinkwrap":false},"2.2.0":{"name":"receptor","version":"2.2.0","description":"A better way to manage DOM event delegation and handling","repository":{"type":"git","url":"git+https://github.com/shawnbot/receptor.git"},"author":{"name":"Shawn Allen","email":"shawn.allen@github.com"},"license":"CC0-1.0","main":"index.js","scripts":{"mocha":"mocha -r babel-register -r jsdom-global/register","test":"npm run mocha -- test/unit","lint":"eslint .","build":"NODE_ENV=production webpack index.js -o dist/receptor.js","preversion":"npm run build"},"babel":{"presets":["env"]},"keywords":["dom","event","delegation","behavior","keyboard"],"dependencies":{"element-closest":"^2.0.1","keyboardevent-key-polyfill":"^1.0.2","matches-selector":"^1.0.0","object-assign":"^4.1.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-preset-env":"^1.6.1","babel-register":"^6.26.0","eslint":"^4.19.1","eslint-plugin-github":"^0.24.1","jsdom":"^11.7.0","jsdom-global":"^3.0.2","mocha":"^5.0.5","prettier":"^1.11.1","webpack":"^4.5.0","webpack-cli":"^2.0.14"},"gitHead":"ef45c1db2ed1ab728092e884850419c5ba7faba8","bugs":{"url":"https://github.com/shawnbot/receptor/issues"},"homepage":"https://github.com/shawnbot/receptor#readme","_id":"receptor@2.2.0","_shasum":"5e3f7aef2a6bb7742d70eb7481bb42745b314cb9","_from":".","_npmVersion":"4.6.1","_nodeVersion":"7.10.1","_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"dist":{"shasum":"5e3f7aef2a6bb7742d70eb7481bb42745b314cb9","tarball":"https://registry.npmjs.org/receptor/-/receptor-2.2.0.tgz","fileCount":28,"unpackedSize":50379,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa6KboCRA9TVsSAnZWagAA+58P/160ATzJqUrDbtFJLhAs\n3dPcXmK5nS+3/tn70rri3e95ATpn9Fc+53AmAUItzL9M2E7bhWKzf4+Dwt0+\nS8mNS4wVQzzqzylymKC6cOVrKz4MTJgbTDl+BHvt+CLC7J2TFoSg4IVwqyHg\nHqxbbOt7tBOU2hQJ3V1a+Zhj6KrjRG/7KbI/hf2ieZ6kDylf2IYkQ0gFm1gP\n9G3xoF/7/Pn3bA1fxykhcRK728SZ9wpUm5C7lTn3O0mJvV9xgjc+U5FzML2D\n1vnwwIEbUJKWZ7KH6CUM/mwYoNwVPl4aSqliuDBO2BrrpUK4ihpuHVIM1FgS\ni3FyqDJ/dDGSjCNe1gzEDsfyLBURuGRk4JUbtniXq2cYjVqwXXN2ZVpGp8Fa\nu97OiNnxPt9zewr3aZSHl900kQ3KBYD51VkXNoyg530H6u8mE8Qcs35luiI8\n0Hk9T1fEx72lSpINPRNxPM3pyohjGEoavGXP2vkWIwg2SgUqa+S2Jl12CJIJ\n8XxDdBIXpBEj0eXsjoD3n71r3EZnhuZu2VK/JPcPSISEFLjv0/BkpgClWUIl\nMSqqr5UQw79Zf6qlQXIQByrluOhPm+KmmGBHqIsmmDSLgFLIujJPjqDNtD/r\nHBxd6mFqz3wKPMA3uFq/+JSi9cGXnEcbHa8aCt1eHTYf6kxbYSpVfYDvyR7A\nGkxj\r\n=E7tQ\r\n-----END PGP SIGNATURE-----\r\n","integrity":"sha512-3NjaEBUAMBvSkao/1mk80yaYEtAEBU21AHTsxclW36W1UlA9mgZDekUx+WIUD8gyjF+/XnqPR3yFYgsDPT6m7w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICK6LXNtQkcI4+yE7IhM8JwwUweXjoDpDX7cABxjgsflAiBmz9KCp/kF5t7vNNh0l9qfbWy3qw41heBlh6RW9XrAXg=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/receptor_2.2.0_1525196519443_0.5089352591145069"},"_hasShrinkwrap":false},"2.2.1":{"name":"receptor","version":"2.2.1","description":"A better way to manage DOM event delegation and handling","repository":{"type":"git","url":"git+https://github.com/shawnbot/receptor.git"},"author":{"name":"Shawn Allen","email":"shawn.allen@github.com"},"license":"CC0-1.0","main":"index.js","scripts":{"mocha":"mocha -r babel-register -r jsdom-global/register","test":"npm run mocha -- test/unit","lint":"eslint .","build":"NODE_ENV=production webpack index.js -o dist/receptor.js","preversion":"npm run build"},"babel":{"presets":["env"]},"keywords":["dom","event","delegation","behavior","keyboard"],"dependencies":{"element-closest":"^2.0.1","keyboardevent-key-polyfill":"^1.0.2","matches-selector":"^1.0.0","object-assign":"^4.1.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-preset-env":"^1.6.1","babel-register":"^6.26.0","eslint":"^4.19.1","eslint-plugin-github":"^0.24.1","jsdom":"^11.7.0","jsdom-global":"^3.0.2","mocha":"^5.0.5","prettier":"^1.11.1","webpack":"^4.5.0","webpack-cli":"^2.0.14"},"gitHead":"2ed497c6c3b6b73e2681815e7e4bec606bd0e25c","bugs":{"url":"https://github.com/shawnbot/receptor/issues"},"homepage":"https://github.com/shawnbot/receptor#readme","_id":"receptor@2.2.1","_shasum":"85b335d36e412ce74c4f045b50997479a632112a","_from":".","_npmVersion":"4.6.1","_nodeVersion":"7.10.1","_npmUser":{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"},"dist":{"shasum":"85b335d36e412ce74c4f045b50997479a632112a","tarball":"https://registry.npmjs.org/receptor/-/receptor-2.2.1.tgz","fileCount":28,"unpackedSize":50379,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa6KcjCRA9TVsSAnZWagAA21QP/3N3UJ4nNw/3gv8nhXEP\n3GRTlW+bIfOHtuGroMgozP1E/RlF4Ojm4JOOdNPKdkBDXiScrkP7958lenuo\n4s3wD6MOv7bFo2p04wWk/max0EsNS+Pw/rmcYTyQN2V2oT1I7JIjlY0EQvMt\nDTOiMscB6gS3BWqh47R86NV2kgQU5GC3Ml52d9NTWqUr8VHh4sYLHSmaOjlJ\nNmO4iq2tQOK1G16w/wijy8ZVcw5BF2va6kcwlEeMmsyw1E+UTymjn8U1fY5I\n1nYQDld1Fhgm2uxIm3qFsZWJ47vaHmSnuvJ/CFMdVl+z45L6yJHIZkv3oY97\n8a87JDCRfZ1Bzn0UuxxFeAqSFLeFk4aQL9zXHXDG3+ukNfUq10weYDpbSAkS\nW/rljVWLB9Hron19RlkO2cjemOmeRzqSjVxjkCKkF17SHrtO5rENjFkYLTcq\nWfacvT/as7USiKzO70owHaVycWqcQqqCvGSNHr1MY6Pn9EspkGsqkjLSLwRN\ns6W7+3PhOg/SlwWQfo4MnTwGgCx1JWsTL+u65ls4NBY55E2wky3ECJ2w9EHe\nbuPf7oyUxqlkUe76yifmXK00cH1BZLkA+kbmeZetmZ5EpZY4StIy6MhKbyiJ\n1Kh/+zOytx1NSrYZ3ETZoVbiKkg5zxQXdButZ5y1qStLBTWARmcpDYQNiNHT\nkSty\r\n=sAxw\r\n-----END PGP SIGNATURE-----\r\n","integrity":"sha512-qKCdPDMIOLU+w2JQcv/CTgqnBM/q6R9Oy+Yt8agu6FuCFUBcGan3y03KT82O+v+JSMQGESQLJiuHo/MfOvnjKg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEw80DxWorbpSz5dmRFWfqalIh7bUSwgYoV26Plh5XapAiB2y/ebTgnnEifViFocoCDcZ0zpBnkff5ZS6hQgDe0FoA=="}]},"maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/receptor_2.2.1_1525196579050_0.5306614962591132"},"_hasShrinkwrap":false}},"readme":"# receptor\nYes, it's another DOM event delegation toolkit! If you're new to event\ndelegation, here's the gist:\n\n> Event delegation is a method for listening for events that bubble to\n> a higher level in the DOM and applying a function only if the event's\n> target meets some criteria (typically that it matches a given CSS\n> selector). The primary advantage over adding event listeners to\n> specific elements is that **you don't need to know what's in the DOM\n> to listen for events from certain elements.** In other words, you can\n> modify the DOM willy-nilly without having to juggle adding and\n> removing \"direct\" event listeners whenever certain elements are\n> added and removed.\n\nThere are [lots of different tools][other tools] that do delegation.\nThe technique is even baked into [jQuery](http://api.jquery.com/on/),\nwhich behaves \"correctly\" in the sense that delegated functions match\nCSS selectors both for the target element _and its ancestors_.\n\n💥 The big difference between receptor and other tools is that it offers\n**functional, declarative methods** for \"routing\" events via different\n[selectors](#delegateAll) and [keyboard keys](#keymap),\n[ignoring](#ignore) subtrees of the DOM, adding [one-off](#once)\nlisteners, and crafting reuseable [behaviors](#behavior).\n\n## Installation\n\n### Node\nYou can install receptor as a Node module with:\n\n```sh\nnpm install receptor\n```\n\nIn CommonJS environments, you may either require the module and access its\n[API](#API) via the top-level export:\n\n```js\nconst receptor = require('receptor');\nconst click = receptor.delegate('click', 'button', function(e) {\n  // ...\n});\n```\n\n...or, if you're using ES2015 and/or [tree-shaking], you can import the\ntop-level API methods directly:\n\n```js\nimport {behavior, delegateAll} from 'receptor';\n// etc.\n```\n\n### Browser\nTo use receptor in the browser, you can either bundle it with your CommonJS\ntool of choice ([webpack], [rollup], [browserify], etc.) or grab the\nbrowser-ready build from the [dist directory](dist/).\n\n## API\n\n### <a name=\"delegate\" href=\"#delegate\">#</a> `receptor.delegate(selector, fn)`\nReturns a delegated function that only calls the `fn` callback if\nthe event target matches the given CSS `selector`, _or if it is\ncontained by an element that does_. The callback is called with the\nmatching element as `this`.\n\n**Why?** Because many delegation tools only handle the case in which\nthe event's `target` matches the given selector, which breaks down\nas soon as you want to delegate to elements with children.\n\n```html\n<button>hi</button>\n<button>hi <i>there</i></button>\n<script>\ndocument.body.addEventListener(\n  'click',\n  receptor.delegate('button', function(event) {\n    console.log('clicked button:', this);\n  })\n);\n</script>\n```\n\n### <a name=\"delegateAll\" href=\"#delegateAll\">#</a> `receptor.delegateAll(selectors)`\nReturns a delegated function that treats each key in the `selectors`\nmap as a CSS selector to match _a la_ `receptor.delegate()`, and can either\ndelegate events to multiple callbacks with matching selectors or\nshort-circuit delegation to later selectors by returning `false`:\n\n```html\n<button>some button</button>\n<button aria-controls=\"other\">another button</button>\n<script>\ndocument.body.addEventListener(\n  'click',\n  receptor.delegateAll({\n    'button[aria-controls]': function(event) {\n      console.log('clicked controller:', this);\n      return false; // no other delegates will be called\n    },\n    'button': function(event) {\n      console.log('clicked other button:', this);\n    }\n  })\n);\n```\n\n### <a name=\"ignore\" href=\"#ignore\">#</a> `receptor.ignore(element, callback)`\nReturns a delegated function that only calls the `callback` if the\nevent's `target` isn't _contained_ by the provided `element`. This\nis useful for creating event handlers that only fire if the user\ninteracts with something outside of a given UI element.\n\n### <a name=\"once\" href=\"#once\">#</a> `receptor.once(callback [, options])`\nReturns a wrapped function that removes itself as an event listener\nas soon as it's called, then calls the `callback` function with the\nsame arugments. If you provide [listener options][addEventListener],\nthose will also be passed to `removeEventListener()`.\n\n### <a name=\"keymap\" href=\"#keymap\">#</a> `receptor.keymap(keys)`\nReturns a delegated function in which each key in the `keys` object\nis treated as a [key name] or _combination_ with modifier keys:\n\n```js\ndocument.body.addEventListener('keydown', receptor.keymap({\n  'ArrowLeft':        moveLeft,\n  'ArrowRight':       moveRight,\n  'Shift+ArrowLeft':  moveLeftMore,\n  'Shift+ArrowRight': moveRightMore\n}));\n```\n\nIn other words, this is a more declarative alternative to a single\nevent handler with potentially messy key detection logic. Supported\nmodifier keys are <kbd>Alt</kbd>, <kbd>Control</kbd> (or\n<kbd>Ctrl</kbd>), and <kbd>Shift</kbd>.\n\n### <a name=\"behavior\" href=\"#behavior\">#</a> `receptor.behavior(listeners [, properties])`\nReturns a _behavior_ object defined by one or more delegated\nlisteners, which exposes `add()` and `remove()` methods for\nattaching and removing all delegates. Other `properties` will be\nmerged if provided.\n\nEach key in `listeners` should be one of either:\n\n1. One or more event types, such as `click`, `keydown`, or\n   `mousedown touchstart` (multiple types are separated by spaces),\n   in which case the value can either be a function or an object\n   suitable for `receptor.delegateAll()`; or\n1. A string in the form `types:delegate(selector)`, where `types` can\n   be one or more event types separated with spaces, and `selector`\n   is a CSS selector.\n\nThis is the primary building block for developing rich, declarative\ninteractions:\n\n```html\n<button role=\"menubutton\" aria-controls=\"menu\">toggle menu</button>\n<menu id=\"menu\" aria-hidden=\"true\">\n  <!-- stuff -->\n</menu>\n<script>\nconst MenuButton = receptor.behavior({\n  'click': {\n    '[role=menubutton]': function(event) {\n      let pressed = MenuButton.toggle(this);\n      if (pressed) {\n        const close = MenuButton.getCloseListener(this);\n        window.addEventListener('click', close);\n      }\n    }\n  }\n}, {\n  toggle: function(button, pressed) {\n    if (typeof pressed !== 'boolean') {\n      pressed = button.getAttribute('aria-pressed') !== 'true';\n    }\n    button.setAttribute('aria-pressed', pressed);\n    MenuButton.getMenu(button).setAttribute('aria-hidden', !pressed);\n    return pressed;\n  },\n\n  getMenu: function(button) {\n    const id = button.getAttribute('aria-controls');\n    return document.getElementById(id);\n  },\n\n  getCloseListener: function(button) {\n    return receptor.ignore(button, receptor.once(function() {\n      MenuButton.toggle(button, false);\n    }));\n  }\n});\n\n// enable the interaction on any [role=menubutton]\nMenuButton.add(document.body);\n// later...\n// MenuButton.remove(document.body);\n</script>\n```\n\n[key name]: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key\n[other tools]: https://www.npmjs.com/search?q=delegate\n[addEventListener]: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener\n[webpack]: https://webpack.github.io/\n[browserify]: http://browserify.org/\n[rollup]: https://rollupjs.org/\n[tree-shaking]: https://webpack.js.org/guides/tree-shaking/\n","maintainers":[{"name":"shawnbot","email":"shawnbot-npm@nym.hush.com"}],"time":{"modified":"2022-06-26T09:30:08.266Z","created":"2016-06-30T04:53:29.062Z","0.1.1":"2016-06-30T04:53:29.062Z","0.1.2":"2016-06-30T05:02:24.042Z","0.1.3":"2016-06-30T05:20:30.814Z","0.1.4":"2016-06-30T18:06:04.326Z","0.1.5":"2016-06-30T18:11:35.873Z","0.2.0":"2016-06-30T19:12:45.471Z","0.2.1":"2016-06-30T19:14:19.929Z","0.3.0":"2016-06-30T19:21:36.227Z","0.3.1":"2016-06-30T19:25:47.168Z","0.4.0":"2016-07-11T23:17:32.740Z","0.5.1":"2016-08-02T23:14:22.887Z","1.0.0":"2017-04-12T04:22:01.415Z","2.0.0":"2018-04-10T19:28:39.469Z","2.1.0":"2018-04-10T19:33:55.348Z","2.2.0":"2018-05-01T17:41:59.526Z","2.2.1":"2018-05-01T17:42:59.144Z"},"homepage":"https://github.com/shawnbot/receptor#readme","keywords":["dom","event","delegation","behavior","keyboard"],"repository":{"type":"git","url":"git+https://github.com/shawnbot/receptor.git"},"author":{"name":"Shawn Allen","email":"shawn.allen@github.com"},"bugs":{"url":"https://github.com/shawnbot/receptor/issues"},"license":"CC0-1.0","readmeFilename":"README.md"}