{"_id":"response.js","_rev":"37-f25c9f70b097abb46c14922d0a505204","name":"response.js","description":"Responsive design toolkit","dist-tags":{"latest":"0.10.1"},"versions":{"0.7.1":{"name":"response.js","description":"responsive design toolkit","version":"0.7.1","homepage":"http://responsejs.com","author":{"name":"Ryan Van Etten","email":"@ryanve"},"keywords":["responsive","jquery","javascript","js"],"main":"./response.js","repository":{"type":"git","url":"git://github.com/ryanve/response.js.git"},"_npmUser":{"name":"ryanve","email":"ryanve@gmail.com"},"_id":"response.js@0.7.1","dependencies":{},"devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.4","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"7ebd56fb54833d575b5237630db9ffa17b69ca61","tarball":"https://registry.npmjs.org/response.js/-/response.js-0.7.1.tgz","integrity":"sha512-dFhdIWVXLU50O/4uaTEm995nTwXeObTbwE2XJoDYq/KjgnYdjy6PpC/6aHHRsPfQnwupPxW/z+Hpx3Vz1dEt7g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIALCCa9IzhfP6x2AGmaHA7kZO5Doj1xMy+EKaw4yFIppAiAIY0/2bzXKgMaYcrQKKx2j+75lhpJ2pNZFhQvk7d8WVA=="}]},"maintainers":[{"name":"ryanve","email":"ryanve@gmail.com"}],"directories":{}},"0.7.8":{"name":"response.js","description":"responsive design toolkit","version":"0.7.8","homepage":"http://responsejs.com","author":{"name":"Ryan Van Etten","email":"@ryanve"},"keywords":["responsive","jquery","javascript","js"],"main":"./response.js","repository":{"type":"git","url":"https://github.com/ryanve/response.js.git"},"_id":"response.js@0.7.8","dist":{"shasum":"0ae10b4a460e835869d984671b48299c2e340dfe","tarball":"https://registry.npmjs.org/response.js/-/response.js-0.7.8.tgz","integrity":"sha512-UDX/EADbz/wT0fycJtRACQUQp5tFr2fSLilDVCpdvFXxgfbFtnaBh7rwNRAcnb8WhqreZ0VGskBC1+0Oz7HSsQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDFrIKGg72vvv81I27M1kBiaFSLRrznI6Iwazn34gd9VgIgK09EnvpF/ScllnjEtWQv3IYvbJgHDBVzb3ABTu9aSJ8="}]},"_npmVersion":"1.1.62","_npmUser":{"name":"ryanve","email":"ryanve@gmail.com"},"maintainers":[{"name":"ryanve","email":"ryanve@gmail.com"}],"directories":{}},"0.7.9":{"name":"response.js","description":"responsive design toolkit","version":"0.7.9","homepage":"http://responsejs.com","license":"MIT","author":{"name":"Ryan Van Etten"},"keywords":["responsive","breakpoint","breakpoints","browser"],"main":"./response.js","repository":{"type":"git","url":"https://github.com/ryanve/response.js.git"},"bugs":{"url":"https://github.com/ryanve/response.js/issues"},"_id":"response.js@0.7.9","dist":{"shasum":"2a98b837b02027506ab5e8d86063a6ee33659644","tarball":"https://registry.npmjs.org/response.js/-/response.js-0.7.9.tgz","integrity":"sha512-/jwXW/66ivq+t1VgBhO7tTNaRUYdTUynwSCVbx8OUifY5YvxfSDIIMNy3Jc1abOboXztlzW7/B0H9CibFz2hfQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCl1mnevGDqlt7wWOoNXH3RagW/YjyYTsc6lCbmfyoOngIhAKCQCeEaWK0ytdd9BBaC4hYp+fGqppGu3xvekNirptas"}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"ryanve","email":"ryanve@gmail.com"},"maintainers":[{"name":"ryanve","email":"ryanve@gmail.com"}],"directories":{}},"0.7.10":{"name":"response.js","description":"responsive design toolkit","version":"0.7.10","homepage":"http://responsejs.com","license":"MIT","author":{"name":"Ryan Van Etten"},"keywords":["responsive","breakpoint","breakpoints","browser"],"main":"./response.js","repository":{"type":"git","url":"https://github.com/ryanve/response.js.git"},"bugs":{"url":"https://github.com/ryanve/response.js/issues"},"_id":"response.js@0.7.10","dist":{"shasum":"e3922991bdbd3000aee49b3040f497ea7608c092","tarball":"https://registry.npmjs.org/response.js/-/response.js-0.7.10.tgz","integrity":"sha512-0VHjym+0s3OYT2GI0ACfdUwuqTKpx8CUEFLk5Ut2fmBALwO9nly3KB9PJg8i9YhmQ7r07WaoRY0uB0PWXdWKCQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEe7npaIFYrk/MaRnn6GhIK74AfnyelKtId03rhDLEQdAiBViI6W6IIStio3kIi21REARfMLb8AvV5VxlkjmHF0B+A=="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"ryanve","email":"ryanve@gmail.com"},"maintainers":[{"name":"ryanve","email":"ryanve@gmail.com"}],"directories":{}},"0.7.11":{"name":"response.js","description":"responsive design toolkit","version":"0.7.11","homepage":"http://responsejs.com","license":"MIT","author":{"name":"Ryan Van Etten"},"keywords":["responsive","breakpoint","breakpoints","browser"],"main":"./response.js","repository":{"type":"git","url":"https://github.com/ryanve/response.js.git"},"bugs":{"url":"https://github.com/ryanve/response.js/issues"},"_id":"response.js@0.7.11","dist":{"shasum":"dd96d93a9ae3b728d6249d92c1a5a40fc609cbac","tarball":"https://registry.npmjs.org/response.js/-/response.js-0.7.11.tgz","integrity":"sha512-a49kCUzMO1BAfYg1qgPpJfi7PjAbk+iCKI4+v5zxvdsjr8HBqaeqwhYNi7+wqxJ7ZfNFzyDiEK+fb+vivUJfPg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCtd1D2UZbzEIu8YPdkWhXMvkaitEw5THzhjnezbv3GUgIhAK5eVXoEmmMLFH/jVnmQYrj/A26gZeeAcEmTErW4u6q5"}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"ryanve","email":"ryanve@gmail.com"},"maintainers":[{"name":"ryanve","email":"ryanve@gmail.com"}],"directories":{}},"0.7.12":{"name":"response.js","description":"responsive design toolkit","version":"0.7.12","homepage":"http://responsejs.com","license":"MIT","author":{"name":"Ryan Van Etten"},"keywords":["responsive","breakpoint","breakpoints","browser"],"main":"./response.js","repository":{"type":"git","url":"https://github.com/ryanve/response.js.git"},"bugs":{"url":"https://github.com/ryanve/response.js/issues"},"_id":"response.js@0.7.12","dist":{"shasum":"fc5f5188c118cad2dad40a6d0465cd30678f44f2","tarball":"https://registry.npmjs.org/response.js/-/response.js-0.7.12.tgz","integrity":"sha512-cgs86piyS2cvpVeKBsLPmXs8HZrFTC1IGQprkJtQnP0MrZHUohqcYfYIev9Xeks5JDrDPFOWLnuTE/rvSQrYNg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFHY/Q2vFFqBcWvIqdJvQ06xELUP/9c9K1PslxCGBmVrAiEA4qwb3S9PhVEHftqWgWmfHVtXSYW1BAF0R3Xx+vpv504="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"ryanve","email":"ryanve@gmail.com"},"maintainers":[{"name":"ryanve","email":"ryanve@gmail.com"}],"directories":{}},"0.7.13":{"name":"response.js","description":"responsive design toolkit","version":"0.7.13","homepage":"http://responsejs.com","license":"MIT","author":{"name":"Ryan Van Etten"},"keywords":["responsive","breakpoint","breakpoints","browser"],"main":"./response.js","repository":{"type":"git","url":"https://github.com/ryanve/response.js.git"},"bugs":{"url":"https://github.com/ryanve/response.js/issues"},"_id":"response.js@0.7.13","dist":{"shasum":"99ee270a65f94aa8d30eef6361a2613733be77ef","tarball":"https://registry.npmjs.org/response.js/-/response.js-0.7.13.tgz","integrity":"sha512-Tv2kG0eOXdc/lGTvb66oS52znvNsHMxif9gGOTMCE7oJ+VQ8ty5qTZ3vDD13i9qgpe93b+6HHGnqeKscDJiwiA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA1hnbMHteQlIb8S6UXfmhftLO3YnSE6uaXWgoQkrJNQAiEAhP+l5eya1j+FIGqaxzSrQjoGZaPy20Y/ZfO3kEK7HWQ="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"ryanve","email":"ryanve@gmail.com"},"maintainers":[{"name":"ryanve","email":"ryanve@gmail.com"}],"directories":{}},"0.8.0":{"name":"response.js","description":"responsive design toolkit","version":"0.8.0","homepage":"https://github.com/ryanve/response.js","license":"MIT","author":{"name":"Ryan Van Etten"},"keywords":["responsive","breakpoint","breakpoints","browser"],"main":"./response.js","repository":{"type":"git","url":"https://github.com/ryanve/response.js.git"},"devDependencies":{"grunt":"~0.4.4","grunt-contrib-uglify":"~0.3.0","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.8.0"},"bugs":{"url":"https://github.com/ryanve/response.js/issues"},"_id":"response.js@0.8.0","dist":{"shasum":"0fa2d91c9e3fe6c1f986fae46d24ceabd9009424","tarball":"https://registry.npmjs.org/response.js/-/response.js-0.8.0.tgz","integrity":"sha512-HhjmRgw3agywBByirdrnz7DKkkkaU//F3wso5ar8q4OXgWfFnMxd5AmYrkxRxJKdkfmelXhXQP/LEPIZqACSbQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCY6N7G/BqizGCEy2s6jVJZn0LumSvqcS+bQyi3uuAmpAIgUGpvWRn6jr8vs3pE6lmKWH3qLD+Ec71S5vcmqR5wPSM="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"ryanve","email":"ryanve@gmail.com"},"maintainers":[{"name":"ryanve","email":"ryanve@gmail.com"}],"directories":{}},"0.9.0":{"name":"response.js","description":"responsive design toolkit","version":"0.9.0","homepage":"https://github.com/ryanve/response.js","license":"MIT","author":{"name":"Ryan Van Etten"},"keywords":["responsive","breakpoint","breakpoints","browser"],"main":"./response.js","repository":{"type":"git","url":"https://github.com/ryanve/response.js.git"},"devDependencies":{"grunt":"~0.4.4","grunt-contrib-uglify":"~0.3.0","grunt-contrib-concat":"~0.3.0","grunt-contrib-jshint":"~0.8.0"},"bugs":{"url":"https://github.com/ryanve/response.js/issues"},"_id":"response.js@0.9.0","dist":{"shasum":"e2888eae37804dc62f84676f040820ac9906337b","tarball":"https://registry.npmjs.org/response.js/-/response.js-0.9.0.tgz","integrity":"sha512-GkQq8OnNTdKWOVoGJONJQtK3KnNrSuyjMoVfeO0SR0xuFvqsQNzMEwTJGY5mvEkWWJSLOKzRgnxDDL34cqGeiQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID6GlNSq09ZkpzxXyFFjWaOPMCz6SWds+8i2yy2NMcNeAiEA+5ZKBoyLOrEu6YjrOZsOeAG9RaridgSUimBjum/5opA="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"ryanve","email":"ryanve@gmail.com"},"maintainers":[{"name":"ryanve","email":"ryanve@gmail.com"}],"directories":{}},"0.9.1":{"name":"response.js","description":"responsive design toolkit","version":"0.9.1","homepage":"https://github.com/ryanve/response.js","license":"MIT","author":{"name":"Ryan Van Etten"},"keywords":["responsive","breakpoint","breakpoints","browser"],"main":"./response.js","repository":{"type":"git","url":"https://github.com/ryanve/response.js.git"},"devDependencies":{"grunt-contrib-uglify":"~0.6.0","grunt-contrib-concat":"~0.4.0","grunt-contrib-jshint":"~0.10.0"},"bugs":{"url":"https://github.com/ryanve/response.js/issues"},"_id":"response.js@0.9.1","dist":{"shasum":"919ea388cad86ea574825453e0b801ba7d51b46a","tarball":"https://registry.npmjs.org/response.js/-/response.js-0.9.1.tgz","integrity":"sha512-s5kCp59nUYjrGihHK/az4FzGdjEgy3FbkoieyTtKYkAofqvE2W7WwBQfsVSSRmx0T/zXe0OTDysJFHjOyLiX3Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDHWJR/r8iVoRmDxH4azyY4licJwTEH1TAKLbOm5ephIAiEAlGmXj714XHxCYnLj5GpBPM1H+Lt+cPT8QXgfZXiBbo0="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"ryanve","email":"ryanve@gmail.com"},"maintainers":[{"name":"ryanve","email":"ryanve@gmail.com"}],"directories":{}},"0.10.0":{"name":"response.js","description":"Responsive design toolkit","version":"0.10.0","license":"CC0-1.0","author":{"name":"Ryan Van Etten"},"main":"response.js","scripts":{"min":"uglifyjs response.js -o response.min.js --comments","test":"eslint ."},"homepage":"https://github.com/ryanve/response.js","repository":{"type":"git","url":"git+https://github.com/ryanve/response.js.git"},"devDependencies":{"eslint":"^4.10.0","uglify-js":"^3.1.6"},"keywords":["responsive","breakpoint","breakpoints","browser"],"gitHead":"79c4dcf78f908f6da5ad2912f7b27e0a0649ea6d","bugs":{"url":"https://github.com/ryanve/response.js/issues"},"_id":"response.js@0.10.0","_npmVersion":"5.5.1","_nodeVersion":"8.3.0","_npmUser":{"name":"ryanve","email":"ryanve@gmail.com"},"dist":{"integrity":"sha512-AzUJ9OOAvukLRn3N/YApX9qWJmcfDX9q+9ezruBF/pmTrZrNMOZ5/2VXK/ZAbRHwnrgV3Rs6goozcFn8e5mVzQ==","shasum":"a25ebff3718901fbe167c33a30e7dc310c62595e","tarball":"https://registry.npmjs.org/response.js/-/response.js-0.10.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD252/ZiOwA+YRfZg8iEddH0gso6AerJr2a+bNR8Vr+3AIhAIhahJ4PIUxWb5EAFrn46pp0G5r5T9C3q4LKJD7b/gxF"}]},"maintainers":[{"name":"ryanve","email":"ryanve@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/response.js-0.10.0.tgz_1509835382089_0.8455297709442675"},"directories":{}},"0.10.1":{"name":"response.js","description":"Responsive design toolkit","version":"0.10.1","license":"CC0-1.0","author":{"name":"Ryan Van Etten"},"main":"response.js","scripts":{"min":"uglifyjs response.js -o response.min.js --comments","test":"eslint ."},"homepage":"https://github.com/ryanve/response.js","repository":{"type":"git","url":"git+https://github.com/ryanve/response.js.git"},"devDependencies":{"eslint":"^4.10.0","uglify-js":"^3.1.6"},"keywords":["responsive","breakpoint","breakpoints","browser"],"gitHead":"81dc7bf9a632cd370c4eea5ee1900c157c8e96f9","bugs":{"url":"https://github.com/ryanve/response.js/issues"},"_id":"response.js@0.10.1","_npmVersion":"6.0.0","_nodeVersion":"10.0.0","_npmUser":{"name":"ryanve","email":"ryanve@gmail.com"},"dist":{"integrity":"sha512-Y9fj1V9uA0gbMljwlrP+S7TeJiiUEprQ9t85JIZ69cRjXKLWASzD3X0moAanN83ETA+T5QIJFBkC3inu7Z5Tpg==","shasum":"6f7fc4a7db1fc328e2f503907613a309fb0cda10","tarball":"https://registry.npmjs.org/response.js/-/response.js-0.10.1.tgz","fileCount":14,"unpackedSize":220777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdN+MOCRA9TVsSAnZWagAAqQgP/jOR2ZrXRwp/B2RjBr3d\nyYJSG8C1YulErl3Q7nWRV91tXwEkNdw/tqbbW+icvd/IfLUP2zci684mWs2D\nxJCvPzhV0bKj+cUBHgtH8hZAYOB9FOYfLTjB7I16Y9jCgn0/Ti+VoZVcUlgb\nlRhAenK/lEtdkZby4a/MHnu1z08TlQ82Agus5MMJVKnUMaWT9Cv8LgVkcQCW\nrEFvbpZawxYH99Ps4EmEbf1W5lLWJexfE9hGskmbNbeUS7vLHGSV68t3tKAU\nyPwkzqowBZTeXG2/h+dKCm9VxZbFnyb8t94DXyzwCDPPu7vIHZsYXN3VzOo7\n5+0HmAWNP7zVpfcvcZ1XvlmVJHUggz63VCpwCxpB4hZfzXNz65zfDHpwLI8H\nc4pHJjT29emwUSKmf0nl3xhrOLod1PueAfZv7W1DEJ2QYhESs4aFTM4oQ/xt\nXuXv/Z2E4PGuQPkTyXyMctpty6AedUrm2muHycqeor6qt4t+cKm6O0ho5kXr\nkGN0CbtKT/Bb+hz/RuDE6E1K+otFb2tURHqMzLpp7lM5pqAv80d5rVNAaNd2\ndEWRePuipB/V3oIBVD0YmUR9sIqHNhWaOvLxJTa13hm0l0u48JPLrHMts8xh\nebGhu4hTT6izHU4tGJtgC848scVIPIgDpJsYeZN93+Yo1xXaotpqDxfmseFi\nJ/8H\r\n=lz0z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA3DqZ9v1krWQ0sWEqZ9NAfn5dUW+hBXGBIARZjiiRXxAiAz3XvEVi8/xk34xg+hvaiCpX+W4EuZHSvUhCjf85T0gg=="}]},"maintainers":[{"name":"ryanve","email":"ryanve@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/response.js_0.10.1_1563943693231_0.3554295682948385"},"_hasShrinkwrap":false}},"readme":"# Response\r\nResponse is an experimental [jQuery](http://jquery.com)/[Ender](https://github.com/ender-js/Ender)/[Zepto](http://zeptojs.com) plugin that gives web designers tools for building responsive websites. It can dynamically swap content based on [breakpoints](#breakpoint-sets) and data attributes. (<b>npm</b>: [response.js](https://www.npmjs.org/package/response.js))\r\n\r\n## API [(0.10)](../../releases)\r\n### Breakpoint sets\r\n\r\nResponse's main feature is its breakpoint sets. They offer the ability to serve different content via breakpoint-based data attributes. They are best applied with a mobile-first approach. Devs can choose custom breakpoints to create exactly data attributes they need. By default none are setup.\r\n\r\n#### [Creating breakpoint sets](../../wiki/how-to-create-breakpoint-sets)\r\n\r\nSets are created either by calling [Response.create(options)](http://responsejs.com/#create) directly, or automatically via JSON stored in a `body[data-responsejs]`.\r\nThe <var>options</var> can be a plain object or an array of them.\r\n\r\n```js\r\nResponse.create({\r\n    prop: \"width\"  // \"width\" \"device-width\" \"height\" \"device-height\" or \"device-pixel-ratio\"\r\n  , prefix: \"min-width- r src\"  // the prefix(es) for your data attributes (aliases are optional)\r\n  , breakpoints: [1281,1025,961,641,481,320,0] // min breakpoints (defaults for width/device-width)\r\n  , lazy: true // optional param - data attr contents lazyload rather than whole page at once\r\n});\r\n```\r\n\r\n#### OR\r\n\r\n```html\r\n<body data-responsejs='{\r\n  \"create\": [\r\n    { \"prop\": \"width\"\r\n    , \"prefix\": \"min-width- r src\"\r\n    , \"lazy\": true\r\n    , \"breakpoints\": [1281,1025,961,641,481,320,0] }\r\n  ]}'\r\n>\r\n```\r\n\r\n##### To write markup like\r\n\r\n```html\r\n<div data-min-width-481=\"markup @ 481px+\" data-min-width-961=\"markup @ 961px+\">\r\n  default markup for 480px- or no-js\r\n</div>\r\n```\r\n\r\n### Extending\r\n#### Define a custom [breakpoint set](#breakpoint-sets) that uses a custom test\r\n\r\n```js\r\n/**\r\n * @param {string} prop custom property name (or an existing prop to override)\r\n * @param {Function} test callback to test min breakpoints for the prop\r\n */\r\nResponse.addTest('viewport-area', function(min) {\r\n  return min >= Response.viewportW() * Response.viewportH();\r\n}).create({\r\n    prop: 'viewport-area' // custom prop name\r\n  , breakpoints: [100000, 1000000, 10000000] // custom breakpoints\r\n  , dynamic: true // set this to true if prop needs to be tested on resize\r\n});\r\n```\r\n\r\n<a name=\"dimensions\"></a>\r\n### Methods from [verge](https://github.com/ryanve/verge/tree/1.9.1)\r\n\r\n```js\r\nResponse.viewportW() // CSS viewport width\r\nResponse.viewportH() // CSS viewport height\r\nResponse.mq(mediaQuery) // => boolean\r\nResponse.inViewport(elem, cushion?) // => boolean\r\nResponse.inX(elem, cushion?) // => boolean\r\nResponse.inY(elem, cushion?) // => boolean\r\nResponse.scrollX() // => number\r\nResponse.scrollY() // => number\r\n```\r\n\r\n### Device size\r\n```js\r\nResponse.deviceW() // device width\r\nResponse.deviceH() // device height\r\nResponse.deviceMax() // calculated Math.max(deviceW, deviceH)\r\nResponse.deviceMin() // calculated Math.min(deviceW, deviceH)\r\n```\r\n\r\n### `devicePixelRatio`\r\n\r\n```js\r\nResponse.dpr(1.5) // true when device-pixel-ratio is 1.5+\r\nResponse.dpr(2) // true when device-pixel-ratio is 2+\r\nResponse.dpr() // get device-pixel-ratio - returns integer or float (0 if undetectable)\r\n```\r\n\r\n### Viewport size ranges\r\n\r\n```js\r\nResponse.band(481) // true in viewports 481px wide and up.\r\nResponse.band(0, 480) // true in viewports 0-480px wide.\r\nResponse.wave(641) // true in viewport 641px high and up.\r\nResponse.wave(0, 640) // true in viewports 0-640px high.\r\n```\r\n\r\n### Device size ranges\r\n\r\n```js\r\nResponse.device.band(481) // true for devices 481px wide and up\r\nResponse.device.band(0, 480) // true for devices 0-480px wide.\r\nResponse.device.wave(641) // true for devices 641px high and up.\r\nResponse.device.wave(0, 640) // true for devices 0-640px high.\r\n```\r\n\r\n### Events\r\n#### Call a function on [breakpoint set](#breakpoint-sets) crossovers\r\n\r\n```js\r\nResponse.crossover('width', function() {\r\n  // runs when 'width' breakpoints are crossed\r\n})\r\n\r\nResponse.crossover(function() {\r\n  // runs when any defined breakpoint is crossed\r\n})\r\n```\r\n\r\n#### [`@deprecated`](../../issues/51) event utils\r\n\r\n```js\r\nResponse.ready(fn) // call fn on ready\r\nResponse.resize(fn) // call fn on resize\r\nResponse.action(fn|fns) // call fn(s) on ready *and* on resize\r\n```\r\n\r\n<a name=\"html5-dataset\"></a>\r\n<a name=\"data-utils\"></a>\r\n### [`@deprecated`](../../issues/51) dataset utils\r\n\r\n```js\r\nResponse.dataset(elem, key) // get\r\nResponse.dataset(elem, [key]) // get and render (See Response.render)\r\nResponse.dataset(elem, key, value) // set\r\nResponse.dataset(elem, atts) // set multiple data atts at once\r\nResponse.deletes(elem, keys) // delete one or more data atts\r\nResponse.dataset(document.body, \"pulpFiction\", 5) // sets <body data-pulp-fiction=\"5\">\r\nResponse.dataset(document.body, \"pulpFiction\") // -> \"5\"\r\nResponse.dataset(document.body, [\"pulpFiction\"]) // -> 5\r\n\r\nResponse.render(str) // convert stringified primitives to correct value e.g. \"true\" to true\r\nResponse.camelize(str) // convert 'pulp-fiction' or 'data-pulp-fiction' to pulpFiction\r\nResponse.datatize(str) // convert 'pulpFiction' to 'data-pulp-fiction'\r\nResponse.target(keys) // convert keys like \"a b c\" or [\"a\",\"b\",\"c\"] to $(\"[data-a],[data-b],[data-c]\")\r\nResponse.access(keys) // access an array of dataset values that correspond to an array of dataset keys\r\nResponse.store($elems, key, attrToReadFrom?) // store init content of each elem to data key\r\n```\r\n\r\n<a name=\"objectsarrays\"></a>\r\n### [`@deprecated`](../../issues/51) object utils\r\n\r\n```js\r\nResponse.affix(stack, prefix?, suffix?) // create array w/ prefix|suffix added to each stack value\r\nResponse.each(stack, fn, scope?) // call fn for each item in stack\r\nResponse.map(stack, fn, scope?) // map stack into a new array\r\nResponse.merge(target, source) // merge source's defined values into target\r\nResponse.object(parent) // create a new object that inherits parent (via Object.create where possible)\r\nResponse.route(stack|other, fn, scope?) // call fn on each stack value or on a non-stack\r\nResponse.sift(stack, fn?, scope|invert?) // like _.compact, [].filter, and jQuery.grep\r\n```\r\n\r\n### `.noConflict()`\r\n\r\n```js\r\nResponse.noConflict() // remove the global `Response`\r\nResponse.noConflict(function(Response) {\r\n  // Remove the global and get safe reference to `Response` in here\r\n})\r\n```\r\n\r\n### [AMD](https://github.com/amdjs/amdjs-api/wiki/AMD) usage\r\n\r\n```js\r\ndefine(['jquery'], Response.noConflict);  // define module and destroy global\r\n```\r\n\r\n## Resources\r\n\r\n- [Issues](../../issues)\r\n- [Wiki](../../wiki)\r\n\r\n#### Related Modules\r\n\r\n- [verge](https://github.com/ryanve/verge) - viewport utilities\r\n- [actual](https://github.com/ryanve/actual) - `@media` detector\r\n- [dope](https://github.com/ryanve/dope) - dataset abstraction\r\n- [res](https://github.com/ryanve/res) - resolution utilities\r\n","maintainers":[{"name":"ryanve","email":"ryanve@gmail.com"}],"time":{"modified":"2022-06-26T11:59:10.697Z","created":"2012-09-09T14:11:13.648Z","0.7.1":"2012-09-09T14:11:14.753Z","0.7.8":"2013-04-06T20:16:50.246Z","0.7.9":"2014-01-20T21:38:44.421Z","0.7.10":"2014-01-23T19:51:36.607Z","0.7.11":"2014-01-25T02:28:39.104Z","0.7.12":"2014-02-14T08:34:32.304Z","0.7.13":"2014-03-15T12:26:57.747Z","0.8.0":"2014-03-15T20:36:44.294Z","0.9.0":"2014-04-09T19:35:50.358Z","0.9.1":"2014-10-31T10:56:33.635Z","0.10.0":"2017-11-04T22:43:02.317Z","0.10.1":"2019-07-24T04:48:13.433Z"},"author":{"name":"Ryan Van Etten"},"repository":{"type":"git","url":"git+https://github.com/ryanve/response.js.git"},"readmeFilename":"README.md","homepage":"https://github.com/ryanve/response.js","keywords":["responsive","breakpoint","breakpoints","browser"],"bugs":{"url":"https://github.com/ryanve/response.js/issues"},"license":"CC0-1.0","users":{"dongguangming":true}}