{"_id":"@financial-times/o-viewport","_rev":"44-77faf662a0355686a4d6ee83519eed4e","name":"@financial-times/o-viewport","dist-tags":{"prerelease":"5.0.0-beta.0","latest":"5.1.2"},"versions":{"3.2.0":{"name":"@financial-times/o-viewport","version":"3.2.0","_id":"@financial-times/o-viewport@3.2.0","maintainers":[{"name":"chee","email":"chee@snoot.club"},{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"the-ft","email":"strategic.products+npm@ft.com"},{"name":"quarterto","email":"matt@153.io"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"i-like-robots","email":"matt+npm@maketea.co.uk"},{"name":"aendrew","email":"aendrew@aendrew.com"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"}],"dist":{"shasum":"146d20bda3b9e3763b5fe93d8102a089b8ecb58c","tarball":"https://registry.npmjs.org/@financial-times/o-viewport/-/o-viewport-3.2.0.tgz","fileCount":8,"integrity":"sha512-mgcmZO5KYT9kPKnUUQbuF/uceSN5onDrm5+yknheBJ7WzA4jgtz/RtrFiUEuOkWDg1HVsTdDiwobPVrY1Ff2mA==","signatures":[{"sig":"MEYCIQDGE3ox4sNSR9gcS1egIaSsdMr8+fFM34AHABwcNg9CDAIhAKChraLY9l1yu+DqI6P68Of6Wj86aG2T8QS7zhD7eC1c","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21027,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcYvVkCRA9TVsSAnZWagAAcncP/3azLwB2N5RpVEepX+D1\nGkilQNPT5p1r4GoiN1y55rFdlIaHuybO/6joTi1rxX21vPzL8d3/wDA3l9XA\nISRXhH1Q/e22cntkzbCfAO9WTxisG6Wabp69+/NTXPAOEwLKW6O4H/RehPuj\nqdetPmdWfgFEE8YSPXcbnfBan94mCdcjKzswJZiXj14349BVrBUPzajSNdgV\nM+IQsWtx4VkmEbv3IORckXXHumBonpjQOPQZ2fwwNYzDhg2Wbw2hJFjZg9j2\n29cj696x+qQN2cac6YVLGDPsjHtnVEl/RVoeIjKSXNBqetTY7ROX9aBpJz/B\nHWocNdFBUU0VE+z/DsPmLnsgPVUtCr2J6EHRnOApg41fBZdMvl0JpIh7r7NE\niYSDHc2PLHuE6sp8RNm6mcw+980h7ulGcXVAzXRB0p3j4BgiRFMuDRjNAC2Q\nfyMPPyVqYbKnTcU7gLpVkxj662yVFFrn/BGAmQgURmjT7je9iEALk4Dm6JAW\nmyylR8bHLFpWqkHkQNzbhcBDiA5rrAUyHpmM/hqjAM++8ZqgJ90cuZef0iFs\nVo0OycfWqQhfxKf9c73kJpQS3tclmq2BIQSFQOz3AP7f6/u1qYZ8pU4F4qUP\nDx1YFYZhqTOIEt9etCmkMSoAdRjVNyYmHIqawQETWxX0wM1HTkA/Tv5sZ2rQ\nR3kx\r\n=0TvN\r\n-----END PGP SIGNATURE-----\r\n"},"browser":"browser.js","gitHead":"4dd77dda77b0b8b40468490ad68c16d7ad798fd5","_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"component":"o-viewport","_npmVersion":"6.4.1","description":"Utility for moderating listeners for browser events on window","directories":{},"_nodeVersion":"10.15.1","dependencies":{"@financial-times/o-utils":"^1.0.0"},"eslintIgnore":["browser.js","dist/"],"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/o-viewport_3.2.0_1549989219601_0.8710873206751053","host":"s3://npm-registry-packages"}},"3.3.0":{"name":"@financial-times/o-viewport","version":"3.3.0","keywords":["origami","component","ft"],"_id":"@financial-times/o-viewport@3.3.0","maintainers":[{"name":"aendrew","email":"aendrew@aendrew.com"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"chee","email":"chee@snoot.club"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"},{"name":"i-like-robots","email":"matt+npm@maketea.co.uk"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"quarterto","email":"matt@153.io"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"the-ft","email":"strategic.products+npm@ft.com"}],"dist":{"shasum":"ff5463d622b27795472060fb8fd4e1a641392a24","tarball":"https://registry.npmjs.org/@financial-times/o-viewport/-/o-viewport-3.3.0.tgz","fileCount":5,"integrity":"sha512-7IzWGty/uis5x20+v5imJjH3VmB7PtBDy2JSfFoMWGeMZJJRn0uF1WillbgOVhfJME92mZ/9zeUwKxgIunqAkA==","signatures":[{"sig":"MEUCIQDL7O4EnjMC1Sp12ucOlVlJ4Z5YsJV19RWCaI5cBepFgwIgMCBFGupBegrQq4VfOIkYuMi89D6xJGHQHaLAZEAWXC8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13723,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcfma2CRA9TVsSAnZWagAAwpEP/2y++rIQgVSoc/FHXojt\nP5Ng0oFTOc5aj4rNbBDnE6kbS9uqQdWejOaspJ7iJ8+RHj8USBaPrhvsVOMo\n5aL1UWg3zogBj+9sMpDK2zEhzb7DfREuomk2trt+oryt99esfrW7rNp/2cfC\n6T3Dpj9jKMd0UZENJDZkpokxweJzlOWkHySAxRL6v7jxcs3ieOJxYajsRLwy\n5gdt3VbTtDRwL9LRLQJ1qguOCy2hb9Z6ZhqloE2pX056vw1cMx23gr6agHPQ\nL8V90+5y4Nf6ew2OBeA3EBrBJxuTa4syJ1R7Yle5Lc0et4I4TsBZDZyvbPO0\nybUj3ZhOiP9yqv6Ugkp9R+3pUzX3r93Bwxrs1AabW9IsZrySfPrF7NSgROYC\n3Iz8ns7jN9WXIo1skeQ5YbTFDQkJx+b0XSp03b1f6wzqu/cvVWf+reAoskaP\n1ce7LYutDH4dktK5O84K48uZs/Ui2pqPUVoE1kgXL7cA2UQ314EhJeNlyTmU\n5TqJXgs4CP5+BUgVQvI7ie6tGuaZpDC2NJp94F5BYrw2J4MOJLgwAmI1O92r\n6truK/9uiIoqouBe8LAn+1M59DqAOSn7YZkZW6DuL9DhSFLijvzjzCBlwyTC\nCbzDoxZsqd6wlHSSnK0+nDs4RnQ+Zw2SYN6PVtGt3RNY/tn0axrpbMDfgnPT\n+GFN\r\n=jVf1\r\n-----END PGP SIGNATURE-----\r\n"},"browser":"browser.js","gitHead":"6b29d9868a7fdf4be6e822796a31e40c7e1242cc","scripts":{},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"component":"o-viewport","_npmVersion":"6.4.1","description":"Utility for moderating listeners for browser events on window","directories":{},"_nodeVersion":"10.15.2","dependencies":{"@financial-times/o-utils":"^1.0.0"},"eslintIgnore":["browser.js","dist/"],"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/o-viewport_3.3.0_1551787701643_0.13895362655530907","host":"s3://npm-registry-packages"}},"3.3.1":{"name":"@financial-times/o-viewport","version":"3.3.1","keywords":["origami","component","ft"],"_id":"@financial-times/o-viewport@3.3.1","maintainers":[{"name":"aendrew","email":"aendrew@aendrew.com"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"chee","email":"chee@snoot.club"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"},{"name":"i-like-robots","email":"matt+npm@maketea.co.uk"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"quarterto","email":"matt@153.io"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"the-ft","email":"strategic.products+npm@ft.com"}],"dist":{"shasum":"17b063ab4404a8d06fc6359fe293f93932a69d76","tarball":"https://registry.npmjs.org/@financial-times/o-viewport/-/o-viewport-3.3.1.tgz","fileCount":5,"integrity":"sha512-PuWH8Czu2IZRfG0hIOhiSwL/hzcMDAlu2kDKK0isFcIUrAu0LJKtlGMthGQqSsYTCRynzwXEdZTsoPjSrpmY3g==","signatures":[{"sig":"MEUCIQD8lQpZell8DIQpRvMNSriP6sKjDVeoBRBi4LUBgT4GtQIgGyQ2vqkLt0Vap54SJgCnPwLRGzN1zz01q6u8LrvGkRE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJchlrnCRA9TVsSAnZWagAABp8P/3f55kOHFGeUx2PoQp5E\nU6vFrid32Tji1BEJOB1YMbCirbgBLHVZoUxA8P+xkCldig+Y66xzaucu3HrL\nweiQxYAixmWbAszn/CbSlxERmCWoMFpYhAIyFA5m7AR4EXVCQvzWlpm1UQli\ni5qmTewQa9/C6s074U6AxrnEbp4+wgjlfJp8U7xlmrNsAXsp/4iTgX99KQMz\nUBo1uM4oBFHz05YZyw18wfqzJ0/PsdQ/VNEW7CgfwbjhxRvaZXW7jYDy2PNP\nnlECf7EeMcMBVVTrcGjDTCM4dL5qRLO6wq7AbFHOEIb/gwW5t/ioN/K/98K1\nz5qXAP8gFsDg8WxmAo4MkNlQNDSG/bU+k8kR01kNJtUMc1140hIBtaOanr4r\nFwzp9yKDN79QKEieDMYEiT0CbqCAB63j1j2YGKI3tUz+SnZh8+HElSRwBULZ\nJ3ydrXsUtUpYAxVM/UTNSl9AG41/VuuOIbKvlTTeDeJsMtaL+bvRRnboF+Aj\ngc32QaBwsXnmoljf1cQ3v788VBmjHq6r0acIFlr49Gw34xss2zckQRSjWdPN\nbxQadYxM8eG09vAezJtMBEA+PjMTkqhHi8qlV2BOEwu6nOQ7dAJ+vMzPY2ib\n8WS23kqv6QudX3i91GKxK3yY2CHtcMuXSikMg6tmEA9HMyFD3xQvFXMzdjjS\noeua\r\n=ISAR\r\n-----END PGP SIGNATURE-----\r\n"},"browser":"browser.js","gitHead":"ceb35768860607ce7362b69be83b4610e5a31826","scripts":{},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"component":"o-viewport","_npmVersion":"6.4.1","description":"Utility for moderating listeners for browser events on window","directories":{},"_nodeVersion":"10.15.2","dependencies":{"@financial-times/o-utils":"^1.0.0"},"eslintIgnore":["browser.js","dist/"],"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/o-viewport_3.3.1_1552308966539_0.8852298283965074","host":"s3://npm-registry-packages"}},"3.3.2":{"name":"@financial-times/o-viewport","version":"3.3.2","keywords":["origami","component","ft"],"_id":"@financial-times/o-viewport@3.3.2","maintainers":[{"name":"aendrew","email":"aendrew@aendrew.com"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"chee","email":"chee@snoot.club"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"},{"name":"i-like-robots","email":"matt+npm@maketea.co.uk"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"quarterto","email":"matt@153.io"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"the-ft","email":"strategic.products+npm@ft.com"}],"dist":{"shasum":"50333f9587c1c01addcdc4861221328993554ba6","tarball":"https://registry.npmjs.org/@financial-times/o-viewport/-/o-viewport-3.3.2.tgz","fileCount":5,"integrity":"sha512-yStplbOQDY0T8y3a3sIeHL4W+YHwIfcHO8rHlj0IHnSbFPaSxR5oaFyCC6GZWdTAcDPdaM3yuM0hGBmOC4svyA==","signatures":[{"sig":"MEQCIF2KO5HImefCX64ZKyot14zlcgIP7ZYClf4lnmJfTsKuAiAk9sHWv7jHcP/pYBfTYViw7V1tsm62EYXKDyCqzRte/Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11824,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJchmB9CRA9TVsSAnZWagAAJ/AP/R9mg0bywSg5VHCzU/6R\nzgmUuDPXxo5igh+OHvkFac6UoeijqwxxZnd7Xbo2/PX6aKJKA7yblfarLhCE\nv030voFoxNdMvf6X3F1LILdkYDL649Oraa/+IAD2aVNpzsL7Tz5Owr0F4vmn\n6u55HwtNMsL5ZEaJUS9eH1WsFPEGDEjN7t8n7S7LWCszIb6B3Yht2bpQsOuE\nxJlnvpFdqG9Yhj0mDOos5+2sUJmsbChN/Kwwefm0oe8oOnEmYLHv+gCw9wTz\nj6FzXPbx7q3us4fucu6OZgXPE+PeIjzJJWUZzFL31wVZDn+JqUjF5Ex9Ba/a\n60mmyaSzwcTsMAAPcsOtCVy+cwnRN96OGQTxbprmSYVgG30EErUOPsY3cQU3\n2oRgKbPjfQlwVa8OSTif6CrCvd/6oUy9jv76xEZFmGsv7787KAzkUwMV3+eu\nyojARFiIC0V07nxUv9FdkL/5L6ySrWnFqzUxmqo+95DI2+LTxHjAPwbNpjs5\nsu3HCUlePOf+7n7wPaRzvhrxB+HnLcnipIMCjbxPyPazaJyDx55rW+jB+kya\n5YizzoJdhM0WPVWXo3E1eFz0/R/3w4EGRDx0k0GcEbX1VfVif2X6Hr8UrxzB\nhzZC0i4rbXkQZqsxmKvF2cYvT5VZ8EVrK18vtaC/o8uGhhpCT5BNDFPP6w4V\nAx8E\r\n=e4dD\r\n-----END PGP SIGNATURE-----\r\n"},"browser":"browser.js","gitHead":"57d9118dd9093d005a3ceb8a58df8addc213588f","scripts":{},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"component":"o-viewport","_npmVersion":"6.4.1","description":"Utility for moderating listeners for browser events on window","directories":{},"_nodeVersion":"10.15.2","dependencies":{"@financial-times/o-utils":"^1.0.0"},"eslintIgnore":["browser.js","dist/"],"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/o-viewport_3.3.2_1552310397072_0.32575442388168585","host":"s3://npm-registry-packages"}},"3.3.3":{"name":"@financial-times/o-viewport","version":"3.3.3","keywords":["origami","component","ft"],"_id":"@financial-times/o-viewport@3.3.3","maintainers":[{"name":"aendrew","email":"aendrew@aendrew.com"},{"name":"axgy","email":"a@ax.gy"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"chee","email":"chee@snoot.club"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"},{"name":"i-like-robots","email":"matt+npm@maketea.co.uk"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"notlee","email":"lee@leemoody.co.uk"},{"name":"quarterto","email":"bren@153.io"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"the-ft","email":"strategic.products+npm@ft.com"}],"dist":{"shasum":"3ca7f69d009597caf099df228f94c5ab75afd177","tarball":"https://registry.npmjs.org/@financial-times/o-viewport/-/o-viewport-3.3.3.tgz","fileCount":5,"integrity":"sha512-GIHTIFdszKKbzLJoSsDrVEnlnnFYv+PEChCAg/JUEa6tDi6eYOAUKF6Cn/nFp9Fg7TW28ZrnUygUZ6MhXjQtDg==","signatures":[{"sig":"MEUCIQD1/8d+6LV9B3Dx2Q9TctlqOjRyoDeD9NeKjE/Fm/4f4QIgaCO1D22oBIEtjoQSZaLDG39S4IQarDAOjy55FP3xjxk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11915,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc2Vx6CRA9TVsSAnZWagAAdM8P/2Se5zlyloZj2JL9lm3O\n/LXebOKmh9edi+2J+tIuv9kNTPuXC4wEDTgwVUovo9r/KEpfUrCf8sHV+qjc\naqnMvR/AyBAVI3UzHHOU9NueCmfjWiwaUqMN4eb56AqQKgLs504rRIzytLVf\nHf/eOnclod/ePDhUoXIbUxv2jJwaydPBcytMiLpD7h39K4HeWFe/0EP7yM/S\nMQLQn78zODaZijcCRQtov04EkUmdfJ5MUCe5RAS4hVzGELAz5sQZy/JiAV6b\nbAOuotc9BJIGzcjn8Vw7oENxy+St0c7CaiCV3PmErLmhz12Z+3OoxvCUu3S1\nLMNn5jQ56PXxN06+OB/S1lnfYzLA81mLECqAYu0v6pYv8QPmkhw+8AkeEao2\n6doFR5Ibu43/pIhLcOHlRaxOQG09TgRSSYZx1Avlc0AdQ9Lb1Bid57YH2IY4\ncKD9vb8EiBKQs9NeC0NMTdIQwCFRaPHE1PULPWwXqRvbLu81k5JR5vApLgsf\n0bEbMNACqS7plMcd7aOF2tOwW3TMwqFENojml0XEb4H3/oN+zt7nVJ0brUIh\nQ3pT7O2QaFvROqp5FnPjm3r/hsJp/qI4e2Fq3wHzzu6uOK3pu3X5nb3qfZ+c\nN1HXfBeZSAZVaLCw4z40uCZP+shp0Zn0//sTwz5M8soumuYJhAQM1mntwrzg\ne86x\r\n=wdMU\r\n-----END PGP SIGNATURE-----\r\n"},"browser":"browser.js","gitHead":"3db90cb8b9e5ccf044f3e6d72ee0805c15d9ead0","scripts":{},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"component":"o-viewport","_npmVersion":"6.4.1","description":"Utility for moderating listeners for browser events on window","directories":{},"_nodeVersion":"10.15.3","dependencies":{"@financial-times/o-utils":"^1.0.0"},"eslintIgnore":["browser.js","dist/"],"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/o-viewport_3.3.3_1557748857170_0.9923736793288174","host":"s3://npm-registry-packages"}},"4.0.0-beta.1":{"name":"@financial-times/o-viewport","version":"4.0.0-beta.1","keywords":["origami","component","ft"],"_id":"@financial-times/o-viewport@4.0.0-beta.1","maintainers":[{"name":"aendrew","email":"aendrew@aendrew.com"},{"name":"axgy","email":"a@ax.gy"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"chee","email":"chee@snoot.club"},{"name":"conor-mullen","email":"conor.mullen@ft.com"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"},{"name":"i-like-robots","email":"matt+npm@maketea.co.uk"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"notlee","email":"lee@leemoody.co.uk"},{"name":"quarterto","email":"bren@153.io"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"tatiana.stantonian","email":"tatiana.stantonian@ft.com"},{"name":"the-ft","email":"strategic.products+npm@ft.com"}],"dist":{"shasum":"7416e5afe8395efedc07e99cb3acd53c662d97b7","tarball":"https://registry.npmjs.org/@financial-times/o-viewport/-/o-viewport-4.0.0-beta.1.tgz","fileCount":6,"integrity":"sha512-85fK9BoJPjT8h5QgfKvf4/VVDjU1XvmmSGL7pUUrEnlo9pO5O/CN2iO5shl8OgvSTxw2SGeoeYcZnIdkuppUMQ==","signatures":[{"sig":"MEUCIEE0NcEuUmg1NDR1fbKH6Ydraisx+GzcQH7BriQk5LgrAiEAzZCQNqSFfPBiZOd98WNaHh+VQV5cHKM1rgZZ0GrJ6vc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19508,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdy/ENCRA9TVsSAnZWagAARxMP/RWKmRfBADj+WE5v1eM5\nRCECFp2OKmb6sY3zLfxTORrw3e1fJhtrI2hN9iZML1oq1hj3ruZEXPR3qvp6\nXvCLYkn3FI4nnCXSj1lu692vZ8cfTZUVamQDwVSTcyfNw8qPAZh2CZp5piPi\n24Sp52XScwCB+HcOvqqIVpYvSMgfmQW/4vtjLZhiyTHqv+Brv3J3c+/TNG9y\nk4zCf9JPvMoQP58WRBduJQNu12LOCPvZI4RWcMksNr6vt0yu1n7RKmXekS2G\ngO0nV7JJBNopXdUh4B2jILlmZXZIOrJ5X943/H49v3e6f0WKYwZhWQkwJXKM\nQfxzOZaLbeM2sAWici5d+edgLNlXLaTlhURbwXaMOQ4XwYnuOvezMQGiWanr\nHvoYp1CVGGq8bXznZjpNsw/wPT3ZVn1qxD6XdLR6nM1YEe+QXfhGDFyfL7q5\n/WrREcTHtEoH9THW8lAvscmUagT54DDw78BtgB7+e2ExePUtZZpDW/a/jY45\nQJFigocn2fJdlkudzRG+84wKsI/p2mUDmNRImGN6Z2t5nWbFQjhcrO89fsEk\n2v6V7kUohDTLEnriBvmobV5jKShSJLHV15ZRNUlcDnRPPNIXa5ENaPdQr8GR\nZ/Gr+aiy3r9JGAIP8GNDtO9P6QO0vKFb2h+I5QzaxRqpf0NGGIAnviInH6dP\nKHnV\r\n=yIFh\r\n-----END PGP SIGNATURE-----\r\n"},"browser":"browser.js","gitHead":"ae0d6369ba3d8d7992214511a9b025902d76ae7b","scripts":{},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"component":"o-viewport","_npmVersion":"6.11.3","description":"Utility for moderating listeners for browser events on window","directories":{},"_nodeVersion":"10.17.0","dependencies":{"@financial-times/o-utils":"^1.0.0"},"eslintIgnore":["browser.js","dist/"],"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/o-viewport_4.0.0-beta.1_1573646605342_0.7662478465655203","host":"s3://npm-registry-packages"}},"4.0.0":{"name":"@financial-times/o-viewport","version":"4.0.0","keywords":["origami","component","ft"],"_id":"@financial-times/o-viewport@4.0.0","maintainers":[{"name":"aendrew","email":"aendrew@aendrew.com"},{"name":"axgy","email":"a@ax.gy"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"chee","email":"chee@snoot.club"},{"name":"conor-mullen","email":"conor.mullen@ft.com"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"},{"name":"i-like-robots","email":"matt+npm@maketea.co.uk"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"notlee","email":"lee@leemoody.co.uk"},{"name":"quarterto","email":"bren@153.io"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"tatiana.stantonian","email":"tatiana.stantonian@ft.com"},{"name":"the-ft","email":"strategic.products+npm@ft.com"}],"dist":{"shasum":"6f7202980367c7b6acc14b9bfd53e21dd438d9d9","tarball":"https://registry.npmjs.org/@financial-times/o-viewport/-/o-viewport-4.0.0.tgz","fileCount":6,"integrity":"sha512-NAGk4JXuvi2zhQcAIhi6zA85p+xIy0hCR+Q4jVxFxfR8v2iHMDXkpdNz0cnbL3Bi13ih0JWCxdtMCbRr+XIUAw==","signatures":[{"sig":"MEYCIQCRSv/06Vxq4jE8WKb2S5gBQYztLedrQvd5EjXUalML5QIhAPdPH+ujPHXYFM80+VAlQqp8nK58EnPQOuc7kfzp+Utx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19534,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd1p9+CRA9TVsSAnZWagAA1CcP/0jCjWq3pG0RoYQK0iOM\nhFnBNgZWBoSG3RvNUh39vEgNF6jhfPSF+pO+eCtTTeJZReEz9TtQnF+KkWi+\ntJOFjHiR6VJAZzVRFfgOn1CMa5+thgrfPxUz2SI2cGhHOBXcML8U9NoLmm6s\n8RsiKZQbwAzKF15gKL+UsxQJL8OV4yV9g+dy1zCMgJCF65kf+G70o9yS7S/Z\n3T2Ukv8JETQPQZgejxsy+IhvCWylEIlNfflq+CH/kTm1oLE40rBvO5CWBCGX\nkcgY7Kzvz85TbPMLU5iP9lzfPZ7pspEM8QJaWjYJNgGTl/6PUn6MnOMCuF7f\nAG0uNpy/I9ZtxEKL2QMaoa/U/Ee0hRsDOTSRdCEo7XBAwu7G2DKZutaeWzul\n4tY+o07QwOAsd8h4jl4mDg8Ye8HsLBauU3d2n7VhSbLmJ10bkA9HJG9XnSrI\nlxM/sIhzQKwGhygVF5q8dAmxwsaOY7Hc9vmlG0gKfFNV5R6serAqwllow0Xb\nty+QBmplwk52Tc0TvN1gJIkDWNKyVq+YAlr44ItxssbpjpnAJW0XA0N8EWM7\n3b7taLIfIb+EomjilBWYrOoZeAsDV5BmQX53wOKBrEU+1QAIaFcP+xHmu3/q\n5DBz2gQP3GmeVajPHedEcIQUEz4ak7YJelPMVzsI1kskFy1Xsc4ZjbbAe46/\nR76i\r\n=ADdD\r\n-----END PGP SIGNATURE-----\r\n"},"browser":"browser.js","gitHead":"db27b231eaac0368531a4ace801db87c29e85168","scripts":{},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"component":"o-viewport","_npmVersion":"6.11.3","description":"Utility for moderating listeners for browser events on window","directories":{},"_nodeVersion":"10.17.0","dependencies":{"@financial-times/o-utils":"^1.0.0"},"eslintIgnore":["browser.js","dist/"],"_hasShrinkwrap":false,"devDependencies":{"origami-ci-tools":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/o-viewport_4.0.0_1574346621670_0.7380532104191557","host":"s3://npm-registry-packages"}},"4.0.1":{"name":"@financial-times/o-viewport","version":"4.0.1","keywords":["origami","component","ft"],"_id":"@financial-times/o-viewport@4.0.1","maintainers":[{"name":"aendrew","email":"aendrew@aendrew.com"},{"name":"axgy","email":"a@ax.gy"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"chee","email":"chee@snoot.club"},{"name":"conor-mullen","email":"conor.mullen@ft.com"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"},{"name":"i-like-robots","email":"matt+npm@maketea.co.uk"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"notlee","email":"lee@leemoody.co.uk"},{"name":"quarterto","email":"bren@153.io"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"tatiana.stantonian","email":"tatiana.stantonian@ft.com"},{"name":"the-ft","email":"strategic.products+npm@ft.com"}],"homepage":"https://github.com/Financial-Times/o-viewport#readme","bugs":{"url":"https://github.com/Financial-Times/o-viewport/issues"},"dist":{"shasum":"6d096a7dfe643c7168a2ef878d8fd334039c08b8","tarball":"https://registry.npmjs.org/@financial-times/o-viewport/-/o-viewport-4.0.1.tgz","fileCount":7,"integrity":"sha512-6T0NC2rls1GNNdD4vjCh+g84zuEh3slGRrBBLdrCz1j/ohMdLeo/+SJJNfHb3ZMIGYHnQrkWxWJiuJf5k/0f1A==","signatures":[{"sig":"MEQCIEXFyNS/xBJ3ddNfORg/JEygeIVWP/JBkcegGKBhf7kUAiAqwStqZ3qkz+2dAwbYLICs/3Z4zMQDC7B0BFdT3CPL9Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19735,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeees7CRA9TVsSAnZWagAAfsoP/065/lWT2IyLYbFcRSML\n6BsWGOTlbxdp17oA2ZmsCFr7/KXeMoCwWBu1mjyNa8BAo4TX1lmkOUV6tDMf\nkTdouPFoiQKiN6//JAuhk6oKyh5m2nAs65D/zjtU7MGutI38jyi0Fss9qRnv\n1Ycb6oXppOh6Xp0c4ocG81BpeBJ10Vkbwl5zyokHSh2L61D96ehvts6I9jOS\no+Qunk/at+MQskTsZWy+LGoHRm4PGp5dvQo0plHYG1XnquvaAUsOa0wC3e9d\nml6FjEY3i/BUmWqI1VYR3Eg/ICaX57laK98lVODHL4Ba2awYb+O0liNE9uAk\nW0v87phYV2PIrgwWWqy5OsFAWArb0nq5G5r+c9V8aGL91LtLyJPKnzrAAWg6\nw0wol22ifgtTTWTI6VhKq2c+8RBR7RUfCIIlkhCmnHGsqW7hs2FKNiGG33H4\nxlRt0SjYjrzPhpI1nwkqMHxbUzQCO4nfNWvt6CSj2LGIvPg+awIIdhAYcGFL\nXyorBeEB7cZghAWNENk5qubNO7pcxVZmTeLARHF/VrI+7bA88oKsW64/47Jv\nDL0agWBpa0gIDxNvIS0XalQE/9VwScClICEZdds4otP3WkCyyEoSdAhi1CDB\nfTkhdv6+JVYlBJIWPhb5sSNcp+N3Kdvma5rgIX/5VAa/tu+w6sNHOgNTGE2R\nVVSw\r\n=R04h\r\n-----END PGP SIGNATURE-----\r\n"},"browser":"browser.js","gitHead":"8801cdee0c7f2c24cb53c0ef2c6ad1ca3c17787d","scripts":{},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"component":"o-viewport","repository":{"url":"git+ssh://git@github.com/Financial-Times/o-viewport.git","type":"git"},"_npmVersion":"6.13.4","description":"Utility for moderating listeners for browser events on window","directories":{},"_nodeVersion":"10.19.0","dependencies":{"@financial-times/o-utils":"^1.0.0"},"eslintIgnore":["browser.js","dist/"],"_hasShrinkwrap":false,"devDependencies":{"origami-ci-tools":"^1.0.0","eslint-config-origami-component":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/o-viewport_4.0.1_1585048378992_0.5341837791167054","host":"s3://npm-registry-packages"}},"4.0.2":{"name":"@financial-times/o-viewport","version":"4.0.2","keywords":["origami","component","ft"],"_id":"@financial-times/o-viewport@4.0.2","maintainers":[{"name":"aendrew","email":"aendrew@aendrew.com"},{"name":"axgy","email":"a@ax.gy"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"chee","email":"chee@snoot.club"},{"name":"conor-mullen","email":"conor.mullen@ft.com"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"},{"name":"i-like-robots","email":"matt+npm@maketea.co.uk"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"notlee","email":"lee@leemoody.co.uk"},{"name":"quarterto","email":"bren@153.io"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"tatiana.stantonian","email":"tatiana.stantonian@ft.com"},{"name":"the-ft","email":"strategic.products+npm@ft.com"}],"dist":{"shasum":"9fec40b565c8ac574cda6564e4f35c1048f6102a","tarball":"https://registry.npmjs.org/@financial-times/o-viewport/-/o-viewport-4.0.2.tgz","fileCount":7,"integrity":"sha512-ujOPF0UvxK7S6iko8HbGghp2RiZiUY5mOoqNlP+V/GZxyGBsf35ezIgFtaCNBPAa+5h/zpasYu6WIDGc9wYaYg==","signatures":[{"sig":"MEUCIFDpO2Uh/hbLaQcFGmIzvT4AEMnEThR0oq5rLtzC+FI/AiEApasWLdIYFg29N2eSBuFmsk5zwIYSQcO9hUGlwXBrcZI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19640,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJejycQCRA9TVsSAnZWagAAQLgP/3RLPgpeKogS8DZArtcE\n00lCC/MMSw7dcm4iZcIbBKgmSvpTskvf7dhWsZNBYhrB0bDCh5/P8DpZclPY\nuO8LMV31pF0+KFnl+VpI7dmdxhOUmKZkQU4pbzm2b3uze6p42ayfIEy89Rxm\n9AmREH1das5DmoaIDM5Y9cbeCJxIwyoKS4JdUIUhj1c3zak3k9XG6AXHNgsn\nzXd2Yo0a5QMrTd/E1kT+lNIUecesy83VyOQ+v4bFkvopiv+f4LJ7+SqEbSdd\nqviCcCxrXkFwghLOlstDnMUZRXII6zI1fMcZzWmNRcrKRIsRD4UKgdqM6Glg\nF2IC+yLuUVLOeOL8uoiqXaImNeS4JMMcaw6oHg3vF0EnUIdR3MrdDDfK6suz\nd6J/ispgCGUzUm2AHoat5E0k4bWftwdzaeHPfVLAxxfjQAOCYV+OBfHctkdl\nIIarWxE9W/NOXFaIo2NzgyGhzili1vXs6WZeo1zr9cJWq6YcMecKgc1mBLt1\nQy4LYwepRAq4jLeK6DRGvB7wnzRhsGIKlJFiSnHT4JoAAAoRkRYPi+TSATL+\n6Gm0De8aimyJNIS0W1iJHcoe46x+1RrPEmjfsdbqgVHIImEfyhYMoIwWBOOy\npw+4T/F04E/4F9/Fg88unQhfYXGbsKuWOWyJ3oh7IddUyJHQ1ke3WbrDeO5F\n70kN\r\n=MZHs\r\n-----END PGP SIGNATURE-----\r\n"},"browser":"browser.js","gitHead":"e17a68f21680229d46dd253b5532a2edd81c02b0","scripts":{},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"component":"o-viewport","_npmVersion":"6.14.4","description":"Utility for moderating listeners for browser events on window","directories":{},"_nodeVersion":"12.16.2","dependencies":{"@financial-times/o-utils":"^1.0.0"},"eslintIgnore":["browser.js","dist/"],"_hasShrinkwrap":false,"devDependencies":{"origami-ci-tools":"^1.3.8","eslint-config-origami-component":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/o-viewport_4.0.2_1586439952450_0.4087686041314378","host":"s3://npm-registry-packages"}},"4.0.3":{"name":"@financial-times/o-viewport","version":"4.0.3","keywords":["origami","component","ft"],"_id":"@financial-times/o-viewport@4.0.3","maintainers":[{"name":"aendrew","email":"aendrew@aendrew.com"},{"name":"axgy","email":"a@ax.gy"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"chee","email":"chee@snoot.club"},{"name":"conor-mullen","email":"conor.mullen@ft.com"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"},{"name":"i-like-robots","email":"matt+npm@maketea.co.uk"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"notlee","email":"lee@leemoody.co.uk"},{"name":"quarterto","email":"bren@153.io"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"tatiana.stantonian","email":"tatiana.stantonian@ft.com"},{"name":"the-ft","email":"strategic.products+npm@ft.com"}],"dist":{"shasum":"a6cbebcd231e0e756d30228624a2e7bbf9afc8a2","tarball":"https://registry.npmjs.org/@financial-times/o-viewport/-/o-viewport-4.0.3.tgz","fileCount":8,"integrity":"sha512-6yqUe73b3/W/q+b+9Ol9sBILMQ5eG3LcgAWHPEh6wP2fQhwBJBcuWcYMnlahN3IaFgjRfWCo/V8Omme6CDhVjg==","signatures":[{"sig":"MEUCIEUrVhPfg+jPTLuQFIfC43H6CAY5m5sVerCszdamLHtKAiEA/JE49mjeV+6OYE3SeH7+CoMcqgxvFEkRjlcpFTvNA+8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19631,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJesqQ7CRA9TVsSAnZWagAAC8kP/0Wf/BUORrkHS8NwHAkm\nYy1Ml1xJ+Ar781yiLfJQnWKkU2WfltEVvQ/hBdN2LnZiMrWJxDBCwPH/uSaT\n6Yu015n0rZ4QGyJtPPhE3lx7GZLZvQbWnDeV3idhkOyUPY6E0I3GfvbeIvxE\nYPNzz3OhgOXQkYKfYDpQk8I7w8Pte9QFUzoFYXRYetMWjJciuHN3hE5Z7slm\nDQl8aPQ0t/6LcELe0U5zzI5Y+p1pVbYBDe6v9UQjnqGb/p1lBDQu0hlM+p1U\n9rjEStE6J2owo6A3igYG6ow5+CFx5gd8em9YL7dleUB9Bxx+76GUutRv/RMR\nZT0bTQRKfdFMBrXw3T9Bpgjh95dILfcyolba/Mg1Vl3PyRgHW/mQonbJy8IE\niGEqK1tVxekImnkvNibv5wkgbcrT5skT3BO3n2SEhAWr/k7c9DmzTQsW/xsb\nXsVckBJZv1rL9mw7T8t1H0Tw+XrdOZMlfXHEZyMT6V6JkPxtyQCY1UAoae5G\nx5owcZ2/oNHIimhmX9yQxCUKNjyNcaj8fB1HvKnSB1GREtA9IS5nCY+nFO8j\nRxBLaUgly7SWIOLTOA58sBqZEZ95Dau2iLwvluXV7ss8cM6RY2q+06Vn8n7U\nYIHM5ZxmswBVWoAOuaE9qYJMU2Uh0qnb8T3aWYp/azZI13ZDHnGsfDbYUUHi\n6Y34\r\n=AHaJ\r\n-----END PGP SIGNATURE-----\r\n"},"browser":"browser.js","gitHead":"96e9ee6e867ec6d4520247d21692d153a35b0e98","scripts":{},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"component":"o-viewport","_npmVersion":"6.14.4","description":"Utility for moderating listeners for browser events on window","directories":{},"_nodeVersion":"12.16.3","dependencies":{"@financial-times/o-utils":"^1.0.0"},"eslintIgnore":["browser.js","dist/"],"_hasShrinkwrap":false,"devDependencies":{"origami-ci-tools":"^2.0.0","eslint-config-origami-component":"^2.0.1","stylelint-config-origami-component":"^1.0.2"},"_npmOperationalInternal":{"tmp":"tmp/o-viewport_4.0.3_1588765755040_0.9478702124397558","host":"s3://npm-registry-packages"}},"4.0.4":{"name":"@financial-times/o-viewport","version":"4.0.4","keywords":["origami","component","ft"],"_id":"@financial-times/o-viewport@4.0.4","maintainers":[{"name":"aendrew","email":"aendrew@aendrew.com"},{"name":"alexwilson","email":"a@ax.gy"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"chee","email":"chee@snoot.club"},{"name":"conor-mullen","email":"conor.mullen@ft.com"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"},{"name":"i-like-robots","email":"matt+npm@maketea.co.uk"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"notlee","email":"lee@leemoody.co.uk"},{"name":"quarterto","email":"kara@153.io"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"tatiana.stantonian","email":"tatiana.stantonian@ft.com"},{"name":"the-ft","email":"strategic.products+npm@ft.com"}],"dist":{"shasum":"ee4c1b3c2ce8e18cd819e65fbc7d33217853d1ff","tarball":"https://registry.npmjs.org/@financial-times/o-viewport/-/o-viewport-4.0.4.tgz","fileCount":8,"integrity":"sha512-unKYtKFJvqLc2wNkiH4ph4wSoSAVFAqewcvWu49186xgYApkXnsV4wx31jAgm7EF2SMUDsbES+NUZfr0o3eWvw==","signatures":[{"sig":"MEUCIBqHiNv8W58bpPleUDhb19hGX6aRHqx3ZrSDeWfd1+x7AiEA/si24FKIQQqVLWEGQDgTIUP2poEkW/e4MdudohHeOhQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19824,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfLYT6CRA9TVsSAnZWagAAiV8P/ioE97e3U5TNXe5ot5P3\nsfeQieKDhw1ehIjqqO/dh4/SjEAw5odQORBchHFYNIEHmKjYqtBdObo9RMre\n5/pFy8hMxBbwJs3JBLsKzQRZkAJdpdiXQr1qAGxg12JjS/jqyTsaTMtWcBMW\n6lzlqkxkL9o7+tdE+9x6Y6vzq9bvpA07AEmd5lz4hZpzTC36+PvbycvR4UI8\nbGtep1X7plBbw5pCasKE40lQA7wgcD8PeLb61zSQzRIMeR090tE70kN7jiMG\nWLiFAi8Sabd9Ig/8LGMKYTrpPh7yum5+cYYEM1wJPjGHb2dqPJ0l5X0KTbm1\ndOKepf43tq6btn7Wdrq48QP2oCcUzgMKoJdaGd0ukVIM6q2C46x77y+Lpk6Y\nCzm+Yzn8NTGaM45BFX83bOG5jTuc9WeC/Qcixj3auvQx4U3ndFfi5PebXQPr\n6qh6exeU69LwxGJndgxw2xP4sG8pbtx6+ScZHC3Gocl5x30pP0KXNMoOjQ94\nIeCOBIDiHVwldyivXUesyiqWUbUZMr+pjz6BPC8p14lriy4uP0KcoP/SOqDQ\n7QA50G/Y1Dofmp327DDSXdgDdHUNTU04HY5ta//y3uOnsW3Nju71r1HAdJt9\nimOc3DmAfILyee+xWSaC5r4wIxgrL/TR/3XV/j1dWMiwhGXLIzT8VtG7GZzc\n0z9r\r\n=BHd8\r\n-----END PGP SIGNATURE-----\r\n"},"browser":"browser.js","gitHead":"8dde374492e07ea32018d57598f44ecf1f2f2f35","scripts":{},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"component":"o-viewport","_npmVersion":"6.14.6","description":"Utility for moderating listeners for browser events on window","directories":{},"_nodeVersion":"12.18.3","dependencies":{"@financial-times/o-utils":"^1.0.0"},"eslintIgnore":["browser.js","dist/"],"_hasShrinkwrap":false,"devDependencies":{"origami-ci-tools":"^2.0.0","eslint-config-origami-component":"^2.0.1","stylelint-config-origami-component":"^1.0.2"},"_npmOperationalInternal":{"tmp":"tmp/o-viewport_4.0.4_1596818681819_0.12189740913549207","host":"s3://npm-registry-packages"}},"4.0.5":{"name":"@financial-times/o-viewport","version":"4.0.5","keywords":["origami","component","ft"],"_id":"@financial-times/o-viewport@4.0.5","maintainers":[{"name":"aendrew","email":"aendrew@aendrew.com"},{"name":"alexwilson","email":"a@ax.gy"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"chee","email":"chee@snoot.club"},{"name":"conor-mullen","email":"conor.mullen@ft.com"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"},{"name":"i-like-robots","email":"matt+npm@maketea.co.uk"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"notlee","email":"lee@leemoody.co.uk"},{"name":"quarterto","email":"kara@153.io"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"tatiana.stantonian","email":"tatiana.stantonian@ft.com"},{"name":"the-ft","email":"strategic.products+npm@ft.com"}],"dist":{"shasum":"ac60555b6f8c5782a637b74f9c02b366dfa7988c","tarball":"https://registry.npmjs.org/@financial-times/o-viewport/-/o-viewport-4.0.5.tgz","fileCount":8,"integrity":"sha512-dNB52EYnrfujG6V6B1foxCRWjgklsDc7KIEC0LOoUmXBIPXW258efzXMOKeK8ElVo3P2REjK+VOcTxJXnKuP+A==","signatures":[{"sig":"MEYCIQCgrRSinsnwMCL0Ui6yD6y8W3p9+LeRj5mE1QvD2rwu6QIhANqcE+nQjFTuod+2TlntVkPK85PmAOSkQ5ZATUQEGvZT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19759,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfVhRnCRA9TVsSAnZWagAADboP/R3v6paXlVvsMycBlDH3\nwehIXEvmUWcg2T9kqoD6XCstB7Fvk+xM0+fUifssKlHq0Bq9cjjOF+jGrdRA\ngH08kvMOUdw+nmEOcNM5YbLPwLTRcxHzZf4Rt1Ss7dh7Pk/E5szT1guoOwbB\neISE7onPPQyILKYJKsx+FTAZHppVZkGVl0+Yv555+uG+7Wcc0O+1JnHFK4iF\nHdhYUEscFt4Dzw4648Kam+6Km9ixh1lp4+wXH/7OUukSMHHOJkLPw1ioH26n\nemBs9g+Qvy6+NXWCxqoIDdfh7n3ArvbovRA6zMEs/XKbkGSuRywIdNR+TNbe\niar/gSG029G7BmqZJiordhKmGbTlxVPGT9L2Q7LvHYEGLCXDM8IZ38FicYjj\nuVj1oLVL9KWUvHUoJY66+EmGPRrdqYfJzKw3QPMCcIVNBNMDOppcN1nvIuhi\ndrCk+sik3xseCU2El6XdJHsWt2Xyg/AkbzKZfCUCa13uaO1DUzsu2PZ807jW\nvO/LgT/ArVYHWXWHkiyn/b1dSeXTFOJIY+2lILD1ighvj1gpzI96WafLv54o\nqlnDdqBi+swMmUQMnKu11lnxTbSO8cBo0vkNrBx0F3/2m72H813sTMLw3r8C\nxoEMNcBXq6LzPytzaNClER1ymBwZBgMyYQCAO3oDcE+MCcblLrWluKkua16m\nUbeA\r\n=0Pdo\r\n-----END PGP SIGNATURE-----\r\n"},"browser":"browser.js","gitHead":"22cc4acfa97860650050f913aa8c83cedf948f03","scripts":{},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"component":"o-viewport","_npmVersion":"6.14.6","description":"Utility for moderating listeners for browser events on window","directories":{},"_nodeVersion":"12.18.3","dependencies":{"@financial-times/o-utils":"^1.0.0"},"eslintIgnore":["browser.js","dist/"],"_hasShrinkwrap":false,"devDependencies":{"eslint":"^7.8.1","origami-ci-tools":"^2.0.2","eslint-config-origami-component":"^2.1.0","stylelint-config-origami-component":"^1.0.4"},"_npmOperationalInternal":{"tmp":"tmp/o-viewport_4.0.5_1599476839265_0.16665142431499103","host":"s3://npm-registry-packages"}},"5.0.0-0":{"name":"@financial-times/o-viewport","version":"5.0.0-0","keywords":["debounce","listen","event"],"license":"MIT","_id":"@financial-times/o-viewport@5.0.0-0","maintainers":[{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"the-ft","email":"strategic.products+npm@ft.com"},{"name":"quarterto","email":"kara@153.io"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"i-like-robots","email":"matt+npm@maketea.co.uk"},{"name":"aendrew","email":"aendrew@aendrew.com"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"},{"name":"chee","email":"chee@snoot.club"},{"name":"notlee","email":"lee@leemoody.co.uk"},{"name":"tatiana.stantonian","email":"tatiana.stantonian@ft.com"},{"name":"conor-mullen","email":"conor.mullen@ft.com"},{"name":"alexwilson","email":"a@ax.gy"}],"homepage":"https://registry.origami.ft.com/components/o-viewport","bugs":{"url":"https://registry.origami.ft.com/components/o-viewport"},"dist":{"shasum":"345fe7169c4440ef63631e4b4211279b0a251920","tarball":"https://registry.npmjs.org/@financial-times/o-viewport/-/o-viewport-5.0.0-0.tgz","fileCount":12,"integrity":"sha512-+O2WgwBFWGIBC5tnP+z0tLuzDVkSstWiEHHucgPn5Ub5Fz7/dzSdt1tNYlq1pJggHB4TKuzumCHqSNujb7OysQ==","signatures":[{"sig":"MEUCIAJGwhPM3sPlTb+P0fny2QAqkpVUjHm9tRNcu82RwJDiAiEAnJNYFAkRizH8o3JbwvpuZJXJGWdGP9ETpw+2Gqr/dsE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17385,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggZTSCRA9TVsSAnZWagAAuS8P+wfZ4H5D6vIkOmtgDVpp\nZsEHt0Ks22IURfsMXUk4ST0XWTv7G8Dsy40u5V9jDMdYEe5kHYYj9NCO45aA\nAFq7U8jucYSNW/rsa+rzweFw2nlEC4z1gxBraw+jyBcXXcfPGb+xxqvBw2gu\nQkOTbwpP0iaS9oQy/+ReP/ph5F5SOl1MR5DEU7SVRgfM/GnYRvCFbNMILGNR\n2l0RYBjVuJtvCEsGK/S7EHqQ8fhiQ92J8nLgtRd65PWk4bo4Z3bkJlxuG8Y9\nDWpf4RKVDtAk5Q6C1MTsmul8/fUNbR/oLMkA50j7dKxnmzTW2b3lNm/JG70a\nSJqYFX8oPacs1GLS5KxH9hx7sG5nihYzJisq+q5jCc7GlSpiwnPA7IZRlzdG\nMAVbonl/ecgIQM1VaixvBKrZCIj8YHpU4JF/y9L1mVoz73xuDPuFoqXi0c/S\nxLe1rxFBNlb8psB4qSV5y0LNxXjkRUIydbrbHsM50nWHnqhT3rO/g3z2g6lj\n0V1qrTQ442S8c2nE1912+Y6ATMLWFlJTmlPQA4bh+62OhJVtCJ46jIrwDdAY\n4EyCUwjcfYRWYMqAeR0pTtJTiOkJFExOmQvGtMYv0sIOQwsxmj0EXnR7h48+\nzFxot1mQiCucmWylr3CyT2UwsgmV9t9Qu5xk3OAVykhyrF+zp+gqw8+NuA8+\nrJik\r\n=pt26\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","volta":{"npm":"7.10.0","node":"14.16.1"},"readme":"# o-viewport [![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](#licence)\n\nUtility for attaching debounced listeners to resize, scroll, orientation and visibility events on `window`.\n\n## Usage\n\nCheck out [how to include Origami components in your project](https://origami.ft.com/docs/components/#including-origami-components-in-your-project) to get started with `o-viewport`.\n\n_Note: within the component's API and in the documentation below `orientation` and `visibility` are used instead of `orientationchange` or `visibilitychange`, but the actual browser event listened to is `orientationchange` or `visibilitychange`_\n\n## Methods\n\n### `o-viewport#listenTo(eventType)`\nAttaches a debounced/throttled (as appropriate) listener to events on window \\[`resize`, `scroll`, `orientation`, `visibility` or `all`\\] which in turn fires events within the `oViewport` namespace (see **Events** below).\n\n_Note: all will enable all o-viewport events._\n\n```js\nimport oViewport from '@financial-times/o-viewport';\n\n// Fire for orientation events.\noViewport.listenTo('orientation');\n\n// Listener for debounced orientation events via o-viewport.\ndocument.body.addEventListener('oViewport.orientation', function(event) {\n\tconsole.log(event.type); // oViewport.orientation\n\tconsole.log(event.viewport); // { height, width }\n\tconsole.log(event.orientation); // 'portrait' or 'landscape'\n\tconsole.log(event.originalEvent); // the original browser event\n});\n```\n\nSee [events](#events) for more examples.\n\n### `o-viewport#stopListeningTo(eventType)`\nRemove the attached listener from the window for the named event \\[`resize`, `scroll`, `orientation`, `visibility` or `all`\\].\n\n_Note: all will disable all o-viewport events._\n\n```js\n// Stop listening to the orientation event.\noViewport.stopListeningTo('orientation');\n```\n\n### `o-viewport#getOrientation()`\nProvides a reasonably reliable way (more so than `window.orientation`) of obtaining the current orientation of the viewport.\n\n```js\noViewport.getOrientation(); // 'portrait' or 'landscape'\n```\n\n### `o-viewport#getVisibility()`\nProvides a reasonably reliable way of obtaining the current visibility of the viewport.\n\n```js\noViewport.getVisibility(); // boolean, true if visible\n```\n\n### `o-viewport#getSize(ignoreScrollbars)`\nProvides a reliable way of obtaining the current dimensions of the browser window. Returns an object with the properties `width` and `height`.\n\nBy default or if no parameters are passed the method will return the size of the viewport inclusive of the scrollbars. However in certain cases (e.g. adverts) you may want to get the size of the viewport without the scroll bars. In such case pass `true` to the method in order to ignore the scrollbars.\n\n```js\noViewport.getSize(); // {width: 100, height: 100} without scrollbars\noViewport.getSize(true); // {width: 108, height: 100} including scrollbar width\n```\n\n### `o-viewport#getScrollPosition()`\nProvides a reliable way of obtaining the current scroll position of the viewport. returns an object with the properties `width`, `height`, `left` and `top`\n\n```js\noViewport.getScrollPosition(); // {width: 100, height: 100, left: 0, top: 10}\n```\n\n### `o-viewport#setThrottleInterval(eventType, interval)` _Product use only_\nSets the debounce/throttle interval for a given event \\[`scroll`, `resize` or `orientation`\\].\nAs a shorthand, calling `setThrottleInterval` with 1 - 3 numbers will set the intervals for `scroll`, `resize` and `orientation` in that order e.g. `setThrottleInterval(100, undefined, 300)` is equivalent to:\n\n```js\nsetThrottleInterval('scroll', 100)\nsetThrottleInterval('resize') // which does nothing\nsetThrottleInterval('orientation', 300)\nsetThrottleInterval('visibility', 30)\n```\n\nThe default value for each of these is 100ms\n\n### `o-viewport#debug()`\nTurns on debug mode (logging event details to the console).\n\n## Events\nEach of these custom events are fired on `document.body`. For each custom event `event.detail.originalEvent` contains a reference to the original browser event and `event.detail.viewport` the result of `o-viewport#getSize()`. For example:\n\n```js\nimport oViewport from '@financial-times/o-viewport';\n\n// Fire for all viewport events.\noViewport.listenTo('all');\n\n// Listener for debounced visibility events via o-viewport.\ndocument.body.addEventListener('oViewport.visibility', function(event) {\n\tconsole.log(event.type); // oViewport.resize\n\tconsole.log(event.detail.viewport); // { height, width }\n\tconsole.log(event.detail.hidden); // boolean\n});\n```\n\nNote `event.detail.hidden` is unique to the `oViewport.visibility` event. Additional unique properties for `o-viewport` events are detailed below.\n\n### `oViewport.resize`\n\n-   No additional properties.\n\n### `oViewport.orientation`\n\n-   data.orientation: 'portrait' or 'landscape'\n\n### `oViewport.visibility`\n\n-   data.hidden: true or false\n\n### `oViewport.scroll`\n\n-   data.scrollLeft: unitless px value of scroll position\n-   data.scrollTop: unitless px value of scroll position\n-   data.scrollHeight: unitless px value of scroll height\n-   data.scrollWidth: unitless px value of scroll width\n\n## Throttling\n\n-   `oViewport.resize`, `oViewport.orientation` and  `oViewport.visibility` are debounced i.e. if the native event fires several times in quick succession the custom event will fire only once `n` milliseconds after the last event, where `n` is the throttle interval\n-   `oViewport.scroll` is throttled i.e. if the native `scroll` event fires several times in quick succession the custom event will fire at most once every `n` milliseconds, where `n` is the throttle interval\n\nUse the [setThrottleInterval](#o-viewportsetthrottleintervaleventtype-interval-product-use-only) method to customise throttling.\n\n## Migration\n\nState | Major Version | Last Minor Release | Migration guide |\n:---: | :---: | :---: | :---:\n✨ active | 4 | N/A | [migrate to v4](MIGRATION.md#migrating-from-v3-to-v4) |\n⚠ maintained | 3 | 3.3 | [migrate to v3](MIGRATION.md#migrating-from-v2-to-v3) |\n╳ deprecated | 2 | 2.3 | [migrate to v2](MIGRATION.md#migrating-from-v1-to-v2) |\n╳ deprecated | 1 | 1.5 | N/A |\n\n***\n\n## Licence\n\nCopyright (c) 2016 Financial Times Ltd. All rights reserved.\n\nThis software is published under the [MIT licence](http://opensource.org/licenses/MIT).\n","browser":"main.js","engines":{"npm":"^7"},"gitHead":"60b9c7dc51b518423f7753865a8f7e9e5d632b06","scripts":{"build":"npm_config_yes=true npx \"origami-build-tools@prerelease\" install && npm_config_yes=true npx \"origami-build-tools@prerelease\" demo","start":"npx serve ./demos/local"},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"_npmVersion":"7.10.0","description":"Utility for attaching debounced listeners to resize, scroll, orientation and visibility events on window","directories":{},"_nodeVersion":"14.16.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"eslint":"^7.24.0","remark":"^13.0.0","stylelint":"^13.12.0","remark-lint":"^7.0.1","eslint-config-origami-component":"^2.1.1","stylelint-config-origami-component":"^1.0.4","remark-preset-lint-origami-component":"prerelease"},"peerDependencies":{"@financial-times/o-utils":"prerelease"},"_npmOperationalInternal":{"tmp":"tmp/o-viewport_5.0.0-0_1619104977847_0.6957308195655458","host":"s3://npm-registry-packages"}},"5.0.0-beta.0":{"name":"@financial-times/o-viewport","version":"5.0.0-beta.0","keywords":["debounce","listen","event"],"license":"MIT","_id":"@financial-times/o-viewport@5.0.0-beta.0","maintainers":[{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"the-ft","email":"strategic.products+npm@ft.com"},{"name":"quarterto","email":"kara@153.io"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"i-like-robots","email":"matt+npm@maketea.co.uk"},{"name":"aendrew","email":"aendrew@aendrew.com"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"},{"name":"chee","email":"chee@snoot.club"},{"name":"notlee","email":"lee@leemoody.co.uk"},{"name":"tatiana.stantonian","email":"tatiana.stantonian@ft.com"},{"name":"conor-mullen","email":"conor.mullen@ft.com"},{"name":"alexwilson","email":"a@ax.gy"}],"homepage":"https://registry.origami.ft.com/components/o-viewport","bugs":{"url":"https://registry.origami.ft.com/components/o-viewport"},"dist":{"shasum":"b16cd30f01ada07f0ef985a312c84eae81404eae","tarball":"https://registry.npmjs.org/@financial-times/o-viewport/-/o-viewport-5.0.0-beta.0.tgz","fileCount":9,"integrity":"sha512-iV1Y4mOB2XzyxpD5NjIbvaFQPZz733Hb6v8j5q5XP6jc+Aw8ONRcbwhsCneh/Nzdci4vTC0AlVUtfK3Dn8hw/w==","signatures":[{"sig":"MEUCIEoDtNZ73so4JHO+iJaE/GkXo/ov3cgsaq9xcuQpivgOAiEAtVDZOWnt2FCWtjSMNwC2W6iRXl3gctscj9YEPKqEolE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17188,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgisx9CRA9TVsSAnZWagAAXHUQAKAtydb+/jjeKQUbKNsR\n4YeQhK63O4fFEo/kKrqx37FgxSQwtvMPgkT0RpYdNjuy7Uk86dHWr667COAD\ngBvmB+rMR9rsUkfmX6ik7/0gpgcKFbCxqGWSYhdhosDsU2uniJDL9QFTgJbn\nTIvoq5UyK4fr27h8SCHTry9omsg0nlS17vX/HGR5sSl/POY5OZ0bHlOtdAa1\nZ2XUMwqM2BXbRjjTGZiTQo74S6vYeZP59YwhNnr9qLyn/bhFWa2scA8W22df\n/LBEXqwLEvm72jJ7N2PsZ8ovBvM7ivolV9MbmYkhwBI5cKX1I/AbQOscUFJ1\nuQx8UJdDryTqSzSGEkx3W1ANx9ZG8TC4eIW2VHcPbyYx2EjhDui8YPUA+UMT\nP+6p4C2AZC3A23c5WCyMbNwG4ICFcrzSZMrVB+5qz1TWyY2ClAwGL9IRwWHZ\nIGWybtonIpQH3oO/teeyJkf4RzoCUNY99QnxFF0vr7PTJ4Pv8h+PYaeEYgmN\n+J07di05MwK/rozopShQLIvc//1DarYohdNz7zjqQknew6nn2LdFoHSkeTkK\ndZ4zWb8tfu5SQOSj0iR9u/4fi3KHWuO+CWzXUhR4ONLtbsj1kvnB1jJTDSDc\naQt1HTovtAdOt0Sn0whhsdCEs8xtn4l6oTwnaVezPMJm+nuEjMDr4vlRCbpR\neiL7\r\n=CywU\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","volta":{"npm":"7.11.1","node":"14.16.1"},"readme":"# o-viewport [![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](#licence)\n\nUtility for attaching debounced listeners to resize, scroll, orientation and visibility events on `window`.\n\n## Usage\n\nCheck out [how to include Origami components in your project](https://origami.ft.com/docs/components/#including-origami-components-in-your-project) to get started with `o-viewport`.\n\n_Note: within the component's API and in the documentation below `orientation` and `visibility` are used instead of `orientationchange` or `visibilitychange`, but the actual browser event listened to is `orientationchange` or `visibilitychange`_\n\n## Methods\n\n### `o-viewport#listenTo(eventType)`\nAttaches a debounced/throttled (as appropriate) listener to events on window \\[`resize`, `scroll`, `orientation`, `visibility` or `all`\\] which in turn fires events within the `oViewport` namespace (see **Events** below).\n\n_Note: all will enable all o-viewport events._\n\n```js\nimport oViewport from '@financial-times/o-viewport';\n\n// Fire for orientation events.\noViewport.listenTo('orientation');\n\n// Listener for debounced orientation events via o-viewport.\ndocument.body.addEventListener('oViewport.orientation', function(event) {\n\tconsole.log(event.type); // oViewport.orientation\n\tconsole.log(event.viewport); // { height, width }\n\tconsole.log(event.orientation); // 'portrait' or 'landscape'\n\tconsole.log(event.originalEvent); // the original browser event\n});\n```\n\nSee [events](#events) for more examples.\n\n### `o-viewport#stopListeningTo(eventType)`\nRemove the attached listener from the window for the named event \\[`resize`, `scroll`, `orientation`, `visibility` or `all`\\].\n\n_Note: all will disable all o-viewport events._\n\n```js\n// Stop listening to the orientation event.\noViewport.stopListeningTo('orientation');\n```\n\n### `o-viewport#getOrientation()`\nProvides a reasonably reliable way (more so than `window.orientation`) of obtaining the current orientation of the viewport.\n\n```js\noViewport.getOrientation(); // 'portrait' or 'landscape'\n```\n\n### `o-viewport#getVisibility()`\nProvides a reasonably reliable way of obtaining the current visibility of the viewport.\n\n```js\noViewport.getVisibility(); // boolean, true if visible\n```\n\n### `o-viewport#getSize(ignoreScrollbars)`\nProvides a reliable way of obtaining the current dimensions of the browser window. Returns an object with the properties `width` and `height`.\n\nBy default or if no parameters are passed the method will return the size of the viewport inclusive of the scrollbars. However in certain cases (e.g. adverts) you may want to get the size of the viewport without the scroll bars. In such case pass `true` to the method in order to ignore the scrollbars.\n\n```js\noViewport.getSize(); // {width: 100, height: 100} without scrollbars\noViewport.getSize(true); // {width: 108, height: 100} including scrollbar width\n```\n\n### `o-viewport#getScrollPosition()`\nProvides a reliable way of obtaining the current scroll position of the viewport. returns an object with the properties `width`, `height`, `left` and `top`\n\n```js\noViewport.getScrollPosition(); // {width: 100, height: 100, left: 0, top: 10}\n```\n\n### `o-viewport#setThrottleInterval(eventType, interval)` _Product use only_\nSets the debounce/throttle interval for a given event \\[`scroll`, `resize` or `orientation`\\].\nAs a shorthand, calling `setThrottleInterval` with 1 - 3 numbers will set the intervals for `scroll`, `resize` and `orientation` in that order e.g. `setThrottleInterval(100, undefined, 300)` is equivalent to:\n\n```js\nsetThrottleInterval('scroll', 100)\nsetThrottleInterval('resize') // which does nothing\nsetThrottleInterval('orientation', 300)\nsetThrottleInterval('visibility', 30)\n```\n\nThe default value for each of these is 100ms\n\n### `o-viewport#debug()`\nTurns on debug mode (logging event details to the console).\n\n## Events\nEach of these custom events are fired on `document.body`. For each custom event `event.detail.originalEvent` contains a reference to the original browser event and `event.detail.viewport` the result of `o-viewport#getSize()`. For example:\n\n```js\nimport oViewport from '@financial-times/o-viewport';\n\n// Fire for all viewport events.\noViewport.listenTo('all');\n\n// Listener for debounced visibility events via o-viewport.\ndocument.body.addEventListener('oViewport.visibility', function(event) {\n\tconsole.log(event.type); // oViewport.resize\n\tconsole.log(event.detail.viewport); // { height, width }\n\tconsole.log(event.detail.hidden); // boolean\n});\n```\n\nNote `event.detail.hidden` is unique to the `oViewport.visibility` event. Additional unique properties for `o-viewport` events are detailed below.\n\n### `oViewport.resize`\n\n-   No additional properties.\n\n### `oViewport.orientation`\n\n-   data.orientation: 'portrait' or 'landscape'\n\n### `oViewport.visibility`\n\n-   data.hidden: true or false\n\n### `oViewport.scroll`\n\n-   data.scrollLeft: unitless px value of scroll position\n-   data.scrollTop: unitless px value of scroll position\n-   data.scrollHeight: unitless px value of scroll height\n-   data.scrollWidth: unitless px value of scroll width\n\n## Throttling\n\n-   `oViewport.resize`, `oViewport.orientation` and  `oViewport.visibility` are debounced i.e. if the native event fires several times in quick succession the custom event will fire only once `n` milliseconds after the last event, where `n` is the throttle interval\n-   `oViewport.scroll` is throttled i.e. if the native `scroll` event fires several times in quick succession the custom event will fire at most once every `n` milliseconds, where `n` is the throttle interval\n\nUse the [setThrottleInterval](#o-viewportsetthrottleintervaleventtype-interval-product-use-only) method to customise throttling.\n\n## Migration\n\nState | Major Version | Last Minor Release | Migration guide |\n:---: | :---: | :---: | :---:\n✨ active | 4 | N/A | [migrate to v4](MIGRATION.md#migrating-from-v3-to-v4) |\n⚠ maintained | 3 | 3.3 | [migrate to v3](MIGRATION.md#migrating-from-v2-to-v3) |\n╳ deprecated | 2 | 2.3 | [migrate to v2](MIGRATION.md#migrating-from-v1-to-v2) |\n╳ deprecated | 1 | 1.5 | N/A |\n\n***\n\n## Licence\n\nCopyright (c) 2016 Financial Times Ltd. All rights reserved.\n\nThis software is published under the [MIT licence](http://opensource.org/licenses/MIT).\n","browser":"main.js","engines":{"npm":"^7"},"gitHead":"da1c3564d4bd6f70bf43f70a9b8afcb485e0570d","scripts":{"build":"npm_config_yes=true npx \"origami-build-tools@prerelease\" install && npm_config_yes=true npx \"origami-build-tools@prerelease\" demo","start":"npx serve ./demos/local"},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"_npmVersion":"6.14.12","description":"Utility for attaching debounced listeners to resize, scroll, orientation and visibility events on window","directories":{},"_nodeVersion":"14.16.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"eslint":"^7.25.0","remark":"^13.0.0","stylelint":"^13.12.0","remark-lint":"^7.0.1","eslint-config-origami-component":"^2.1.1","stylelint-config-origami-component":"^1.0.4","remark-preset-lint-origami-component":"prerelease"},"peerDependencies":{"@financial-times/o-utils":"prerelease"},"_npmOperationalInternal":{"tmp":"tmp/o-viewport_5.0.0-beta.0_1619709052711_0.2913469396423143","host":"s3://npm-registry-packages"}},"5.0.0":{"name":"@financial-times/o-viewport","version":"5.0.0","keywords":["debounce","listen","event"],"license":"MIT","_id":"@financial-times/o-viewport@5.0.0","maintainers":[{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"the-ft","email":"strategic.products+npm@ft.com"},{"name":"quarterto","email":"kara@153.io"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"i-like-robots","email":"matt+npm@maketea.co.uk"},{"name":"aendrew","email":"aendrew@aendrew.com"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"},{"name":"chee","email":"chee@snoot.club"},{"name":"notlee","email":"lee@leemoody.co.uk"},{"name":"tatiana.stantonian","email":"tatiana.stantonian@ft.com"},{"name":"conor-mullen","email":"conor.mullen@ft.com"},{"name":"alexwilson","email":"a@ax.gy"}],"homepage":"https://registry.origami.ft.com/components/o-viewport","bugs":{"url":"https://registry.origami.ft.com/components/o-viewport"},"dist":{"shasum":"ba471bac9944c57974850f1515ba6815af14c072","tarball":"https://registry.npmjs.org/@financial-times/o-viewport/-/o-viewport-5.0.0.tgz","fileCount":9,"integrity":"sha512-40h69xlINtUMjWZ4pIqkncjkW82fNdVZegPAfs1WRFGARvR0MZoDzd6FCRhznW4/zwQp61/9j30eqrV7WnzfTQ==","signatures":[{"sig":"MEUCIQD3OW4VdZKjuHgsUGZp1UTWngij9qO5Lk4WpATqRf1YRAIgXxBciLb/zLFnSXu4JF+VImVPctvpFoPgODY2N2c2I1w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17461,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg0MPOCRA9TVsSAnZWagAA25IP/0QiHOJTYescJIFGSm7o\n+7FuIq3K9vwOs17Pol/zHjhOLBCxL13rZNaM9W01aZOe5SLAGvujcZAQm52L\n8qZJ9fwASIUJfLvrRzhv02vj8YxsQm6M273NdSLYDF02g/khQYgOdYcLNiFN\nnuXqhFkshTF/5PLKqyRuRcThUfmo2lskVUcaSzN9SANedRb8UOZsKp8NsfIf\nQDJD0eyTKYMQb3/gOKsjz+70lbuCPe8JAZTxS8rFlEN0tnZyDPvQqY/ploof\np5z14B2PU/aHdMq3Su7RzlURvcnB+u7lddzPfQm5Bm81OAzm01Dtq9wfhMb4\nbWBf73GzudiyTFZXyO42oQ1otHH5ORsGBbTqAoQWXGMgPge5cgETjReg4VUy\nQlhCP6ObiJHhWOnMNusoFjjd68v1souXbJ2By9NzTnPfnmNFQvYpm7QQa3Jq\njkEQVaxXSV9Jt18Qgc4ykFEUTOLX7uJxBXJSBTNyky+3+AdbCKRsnu8OVdm4\njkYr5cSNPDpVTWdkwZyU8QjAoSxxSdTNtzhv6o4UFTU8hrZZwFlopmk6kuZa\nMnouAoggSXZ3iIWPRXi4s5nCN+UqK/4WEPzMCRdYB9BiZfe4kg/4GeEIRzul\n8XG6qIIIy+F7a3iLX74DYaPek5JESkh1r+JPMkfQq5pwb0DxN/YDXLPV0EtY\nZPPu\r\n=A7bp\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","volta":{"npm":"7.11.1","node":"14.16.1"},"browser":"main.js","engines":{"npm":"^7"},"gitHead":"490fc377da2d3f30ea3411808ddd2a2f78f3c2dd","scripts":{"build":"npm_config_yes=true npx \"origami-build-tools@^11\" install && npm_config_yes=true npx \"origami-build-tools@^11\" demo","start":"npx serve ./demos/local"},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"_npmVersion":"6.14.13","description":"Utility for attaching debounced listeners to resize, scroll, orientation and visibility events on window","directories":{},"_nodeVersion":"14.17.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^7.25.0","remark":"^13.0.0","stylelint":"^13.12.0","remark-lint":"^7.0.1","eslint-config-origami-component":"^2.1.1","stylelint-config-origami-component":"^1.0.4","remark-preset-lint-origami-component":"^2.0.0"},"peerDependencies":{"@financial-times/o-utils":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/o-viewport_5.0.0_1624294349651_0.8464308233629261","host":"s3://npm-registry-packages"}},"5.0.1":{"name":"@financial-times/o-viewport","version":"5.0.1","keywords":["debounce","listen","event"],"license":"MIT","_id":"@financial-times/o-viewport@5.0.1","maintainers":[{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"the-ft","email":"strategic.products+npm@ft.com"},{"name":"quarterto","email":"kara@153.io"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"aendrew","email":"aendrew@aendrew.com"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"},{"name":"chee","email":"chee@snoot.club"},{"name":"notlee","email":"lee@leemoody.co.uk"},{"name":"tatiana.stantonian","email":"tatiana.stantonian@ft.com"},{"name":"conor-mullen","email":"conor.mullen@ft.com"},{"name":"alexwilson","email":"a@ax.gy"}],"homepage":"https://registry.origami.ft.com/components/o-viewport","bugs":{"url":"https://github.com/Financial-Times/origami/issues/new?labels=o-viewport,components","email":"origami.support@ft.com"},"dist":{"shasum":"634c3750e4714cb7677061b811f40b680562c6ef","tarball":"https://registry.npmjs.org/@financial-times/o-viewport/-/o-viewport-5.0.1.tgz","fileCount":10,"integrity":"sha512-tPF3Hm+EAVQoTEeBEuqHOmvnaINAZ0Cz5GS9jmCsh35eFiurlczvPAd+9K3WyoLfpOl3457x1YDRwa9gEc4gtQ==","signatures":[{"sig":"MEYCIQC6AOnp5zqjbrq/1npbHFuXWAZ/NsDvjC/gju8u34vX7gIhANQrJVADg0uE4NQpa1VSIZZBbdF3uSlyXdH0YaHJt47k","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17902},"type":"module","volta":{"npm":"7.11.1","node":"14.16.1"},"browser":"main.js","engines":{"npm":"^7"},"scripts":{"build":"npm_config_yes=true npx \"origami-build-tools@^11\" install && npm_config_yes=true npx \"origami-build-tools@^11\" demo","start":"npx serve ./demos/local"},"_npmUser":{"name":"chee","email":"chee@snoot.club"},"_npmVersion":"7.21.0","description":"Utility for attaching debounced listeners to resize, scroll, orientation and visibility events on window","directories":{},"_nodeVersion":"16.8.0","_hasShrinkwrap":false,"peerDependencies":{"@financial-times/o-utils":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/o-viewport_5.0.1_1632220247561_0.6027024951446449","host":"s3://npm-registry-packages"}},"5.1.0":{"name":"@financial-times/o-viewport","version":"5.1.0","keywords":["debounce","listen","event"],"license":"MIT","_id":"@financial-times/o-viewport@5.1.0","maintainers":[{"name":"emmalewis","email":"emma.lewis@ft.com"},{"name":"aendra","email":"howdy@aendra.com"},{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"the-ft","email":"strategic.products+npm@ft.com"},{"name":"quarterto","email":"kara@153.io"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"},{"name":"chee","email":"chee@snoot.club"},{"name":"notlee","email":"lee@leemoody.co.uk"},{"name":"tatiana.stantonian","email":"tatiana.stantonian@ft.com"},{"name":"conor-mullen","email":"conor.mullen@ft.com"},{"name":"alexwilson","email":"a@ax.gy"}],"homepage":"https://registry.origami.ft.com/components/o-viewport","bugs":{"url":"https://github.com/Financial-Times/origami/issues/new?labels=o-viewport,components","email":"origami.support@ft.com"},"dist":{"shasum":"fd7c3db12373870a15a95fba9e940f2dc3a277d1","tarball":"https://registry.npmjs.org/@financial-times/o-viewport/-/o-viewport-5.1.0.tgz","fileCount":10,"integrity":"sha512-X7A6kA4jeSzZMLDI0bwDLpGou5UIdWj+0FzWhzfsT/ImN9kSMPotKa7T0QPc45OjbquYkWOr5ysq3TXKS2YQkw==","signatures":[{"sig":"MEUCIEy88ELy/J8UA9yDN8bMAQDAp0hyMrbktk7YKlqluZKcAiEAlQWY5/yHHyJRHClU/di/bXEIB25fE7KiI3wb28f5U+k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18540,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhnn+RCRA9TVsSAnZWagAAjXAP/RRi0l7fGXSBzHV79L0C\noZ8eRoG0Qkypx3JYaIfEC42nm0MmBhWbHQO+2v0Fb6zZue5NrmvM53cuahSB\nCp7RDpJ2onZYN1LKlJ3pa3KHSxR7ss2ZJBH6JB1waunh/u9hcoh6MtEAsvps\nUr7m3a+D86/bzXWi2RYQmGqJaWbYl9CgRvBRowXrW7lTRHX9tkAhhroBbuYE\nJJFAFkyB7j4zp4kha64hI0sZF4nNdbXloo9LRZ6LkFN3hmu//h912M0REE+Q\ndMzmGsXSQ5boXByL+Ey3X55DpNOqHHbmSZxb+AC9cnEKTVdFb8fEVsfNX5qF\nFe10YeJk9ona3cm7ZSZ6qKNfQVKbHOfiJDbOAJ4JGoDIv7K3lJ87vMEhHtw5\ndeByrQ6Z6sEQBKOat//vzRG6usLTArVJlmihPkzPzMMkVOW/cidCR48iLqNo\nmrchDxKnTsEX6JQSdLB+VYJPbzT+BZxtFbdakC0hpR796yCHSI3JcSQkO3GN\nDXUss/iBz7PAPWg5CxvU6YMTpyPReQb0Vjyl1srNScd9eLSB8mRxzuM97BuS\nKom4dpEhvn8pPfdGjRnLzpez97t2zc+vk6oeMzuhsuCyHEZE05/6/zM00cHJ\nw6jyEXQP/d75uNK/bfk98OAJaXli/z8A/sfs2WfPp14ltc/XCEcTIOvh+OXf\naMjr\r\n=KW/x\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","percy":true,"volta":{"npm":"7.11.1","node":"14.16.1"},"browser":"main.js","engines":{"npm":"^7 || ^8"},"gitHead":"bf9bc05e229683de74de11ee1ea8e1fcf435e34b","private":false,"scripts":{"lint":"bash ../../scripts/component/lint.bash","test":"bash ../../scripts/component/test.bash","build":"bash ../../scripts/component/build.bash","start":"npx serve ./demos/local"},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"_npmVersion":"7.24.2","description":"Utility for attaching debounced listeners to resize, scroll, orientation and visibility events on window","directories":{},"_nodeVersion":"16.13.0","_hasShrinkwrap":false,"peerDependencies":{"@financial-times/o-utils":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/o-viewport_5.1.0_1637777297215_0.6730902921246695","host":"s3://npm-registry-packages"}},"5.1.1":{"name":"@financial-times/o-viewport","version":"5.1.1","keywords":["debounce","listen","event"],"license":"MIT","_id":"@financial-times/o-viewport@5.1.1","maintainers":[{"name":"emmalewis","email":"emma.lewis@ft.com"},{"name":"aendra","email":"howdy@aendra.com"},{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"the-ft","email":"strategic.products+npm@ft.com"},{"name":"quarterto","email":"kara@153.io"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"},{"name":"chee","email":"chee@snoot.club"},{"name":"notlee","email":"lee@leemoody.co.uk"},{"name":"tatiana.stantonian","email":"tatiana.stantonian@ft.com"},{"name":"conor-mullen","email":"conor.mullen@ft.com"},{"name":"alexwilson","email":"a@ax.gy"}],"homepage":"https://registry.origami.ft.com/components/o-viewport","bugs":{"url":"https://github.com/Financial-Times/origami/issues/new?labels=o-viewport,components","email":"origami.support@ft.com"},"dist":{"shasum":"2ff3c7eeb384456e67e0354ff708c2d90db7894e","tarball":"https://registry.npmjs.org/@financial-times/o-viewport/-/o-viewport-5.1.1.tgz","fileCount":10,"integrity":"sha512-9v4R2a291ZFhyFalEx3MOMUTHaJ3TDKWJNfgiPtXHtjTR33xsrrnb+DH74jYOzn9L2ixxakOdUTHHPfpJMWwOA==","signatures":[{"sig":"MEQCIHOmmGemGB11xSLVIlTFj0DVVX5sdyKm/jKE4dRDuR8oAiA0WAyDZv1j6myvOMw56QTJwcXg/CWn/W4RcKkbq+oBng==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18846,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh4Cf2CRA9TVsSAnZWagAAkDsP/2aWSfXcqAOjiNT3oduo\nKg8sVMR03bmG1DgqvjExlH4VfHVxuUfOEdokKZmn+2jIGe4q8kxMbjU0VjBX\nY3gS7zo2EIsx9GTVV+GoUuI6/pxjzS/Y2skMJHiau/pZw+HDYD275BpjIAGk\nwNtdkSSMBmmH5Cq2Mn7GvqI3R05Hblnus+0TZXOIYZHTOftFHWc59S9mtNyh\njOWk5kj3BsRBbqe8vUyzCM8c84zHIwu3F7UA0ONetXM4UWdo2xyuBkCGt1O6\ndZJyncmKqFKtTM4SaFnTj4q/km7zEamaPxtgJUpbDc2u2DXvLt/Kv7/4q/R4\nQ2g5BVACfJo41tf425QAJ0t8sXcne1aeAFaMV+0GsAu4b2N77haWr7H6htRd\nB6QO3TrCWWhYhLCYSkCpg+Y1+T+3TisyWII2c0pTTaXfdSIoAG/NeLgSzBmD\nn2TTYfcwE63G0TeggKytYOOOa4SNf65UzUWgKlkh7jvl0seoXDGiEb7QdI4h\nlN+7Fz8rWvx2cWxHCos/2cwtK6CRbx5A9omecNM8K44cO/ODMGg8YCZbkxdz\ncjcN3+HHvOr6uf62fxeJPG9x6ez5xYUnRzpDR+JB+x+9ucqRZ3mBZTMsFG0m\n86LzNNwZIdC5AETn7XNkuHlI1XjUP9qrv/KIBdzqb+etAZ1CKwxKOtxmmNIQ\nePD2\r\n=sUfD\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","percy":true,"volta":{"npm":"7.11.1","node":"14.16.1"},"browser":"main.js","engines":{"npm":"^7 || ^8"},"gitHead":"a4d4b745da06235623b03293f1ac1de1ca65116d","private":false,"scripts":{"lint":"bash ../../scripts/component/lint.bash","test":"bash ../../scripts/component/test.bash","build":"bash ../../scripts/component/build.bash","start":"npx serve ./demos/local"},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"_npmVersion":"7.24.2","description":"Utility for attaching debounced listeners to resize, scroll, orientation and visibility events on window","directories":{},"_nodeVersion":"16.13.2","_hasShrinkwrap":false,"peerDependencies":{"@financial-times/o-utils":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/o-viewport_5.1.1_1642080246587_0.9270196635296597","host":"s3://npm-registry-packages"}},"5.1.2":{"name":"@financial-times/o-viewport","version":"5.1.2","keywords":["debounce","listen","event"],"license":"MIT","_id":"@financial-times/o-viewport@5.1.2","maintainers":[{"name":"robertboulton","email":"robert.boulton@ft.com"},{"name":"seraph2000","email":"seraphina.anderson.consultant@ft.com"},{"name":"hamza.samih","email":"hamza.samih@ft.com"},{"name":"notlee","email":"lee@leemoody.co.uk"},{"name":"emmalewis","email":"emma.lewis@ft.com"},{"name":"aendra","email":"howdy@aendra.com"},{"name":"the-ft","email":"code.management@ft.com"},{"name":"rowanmanning","email":"info+npm@rowanmanning.com"},{"name":"chee","email":"yay@chee.party"},{"name":"alexwilson","email":"a@ax.gy"}],"homepage":"https://registry.origami.ft.com/components/o-viewport","bugs":{"url":"https://github.com/Financial-Times/origami/issues/new?labels=o-viewport,components","email":"origami.support@ft.com"},"dist":{"shasum":"e719690a4f6f7d427c75febc6c39e733d385c204","tarball":"https://registry.npmjs.org/@financial-times/o-viewport/-/o-viewport-5.1.2.tgz","fileCount":7,"integrity":"sha512-zPTmI6cscK0quu395ND+hbsYlN1bktQB31z7ZdJ0pfl4wv9G7NTc0vAlPBANhxbJ1XJfLfQh+symrlybp/Krig==","signatures":[{"sig":"MEUCICL1ua6VzQmFsYZVebI/PHtntHNxasFOkqPSlOQ27IZJAiEAg0ggRvDC0Su6JQY0iSDOLK+b9PZTxRWM/+KDgR6XqVo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18953},"type":"module","browser":"main.js","engines":{"npm":">7"},"gitHead":"6953dc3e96a31283a897218c93dc4b1be4741f93","private":false,"scripts":{"lint":"bash ../../scripts/component/lint.bash","test":"bash ../../scripts/component/test.bash","build":"bash ../../scripts/component/build.bash","start":"npx serve ./demos/local","watch":"bash ../../scripts/component/watch.bash","debug:js":"bash ../../scripts/component/debug-js.bash"},"_npmUser":{"name":"notlee","email":"lee@leemoody.co.uk"},"_npmVersion":"10.2.1","description":"Utility for attaching debounced listeners to resize, scroll, orientation and visibility events on window","directories":{},"_nodeVersion":"18.18.2","_hasShrinkwrap":false,"peerDependencies":{"@financial-times/o-utils":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/o-viewport_5.1.2_1698419681412_0.3164321132568859","host":"s3://npm-registry-packages"}}},"time":{"created":"2019-02-12T16:33:39.391Z","modified":"2026-06-23T15:54:11.861Z","3.2.0":"2019-02-12T16:33:39.715Z","3.3.0":"2019-03-05T12:08:21.805Z","3.3.1":"2019-03-11T12:56:06.718Z","3.3.2":"2019-03-11T13:19:57.188Z","3.3.3":"2019-05-13T12:00:57.495Z","4.0.0-beta.1":"2019-11-13T12:03:25.545Z","4.0.0":"2019-11-21T14:30:21.774Z","4.0.1":"2020-03-24T11:12:59.142Z","4.0.2":"2020-04-09T13:45:52.575Z","4.0.3":"2020-05-06T11:49:15.152Z","4.0.4":"2020-08-07T16:44:41.948Z","4.0.5":"2020-09-07T11:07:19.379Z","5.0.0-0":"2021-04-22T15:22:57.967Z","5.0.0-beta.0":"2021-04-29T15:10:52.858Z","5.0.0":"2021-06-21T16:52:29.754Z","5.0.1":"2021-09-21T10:30:47.683Z","5.1.0":"2021-11-24T18:08:17.351Z","5.1.1":"2022-01-13T13:24:06.772Z","5.1.2":"2023-10-27T15:14:41.648Z"},"bugs":{"url":"https://github.com/Financial-Times/origami/issues/new?labels=o-viewport,components","email":"origami.support@ft.com"},"license":"MIT","homepage":"https://registry.origami.ft.com/components/o-viewport","keywords":["debounce","listen","event"],"description":"Utility for attaching debounced listeners to resize, scroll, orientation and visibility events on window","maintainers":[{"email":"code.management@ft.com","name":"the-ft"},{"email":"info+npm@rowanmanning.com","name":"rowanmanning"},{"email":"yay@chee.party","name":"chee"},{"email":"a@ax.gy","name":"alexwilson"},{"email":"howdy@aendra.com","name":"aendra"},{"email":"emma.lewis@ft.com","name":"emmalewis"},{"email":"lee@leemoody.co.uk","name":"notlee"},{"email":"hamza.samih@ft.com","name":"hamza.samih"},{"email":"robert.boulton@ft.com","name":"robertboulton"},{"email":"leila.micollier@ft.com","name":"leila.micollier"},{"email":"rob.godfrey@ft.com","name":"robgodfrey"}],"readme":"# o-viewport [![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](#licence)\n\nUtility for attaching debounced listeners to resize, scroll, orientation and visibility events on `window`.\n\n## Usage\n\nCheck out [how to include Origami components in your project](https://origami.ft.com/documentation/components/#including-origami-components-in-your-project) to get started with `o-viewport`.\n\n_Note: within the component's API and in the documentation below `orientation` and `visibility` are used instead of `orientationchange` or `visibilitychange`, but the actual browser event listened to is `orientationchange` or `visibilitychange`_\n\n## Methods\n\n### `o-viewport#listenTo(eventType)`\nAttaches a debounced/throttled (as appropriate) listener to events on window \\[`resize`, `scroll`, `orientation`, `visibility` or `all`\\] which in turn fires events within the `oViewport` namespace (see **Events** below).\n\n_Note: all will enable all o-viewport events._\n\n```js\nimport oViewport from '@financial-times/o-viewport';\n\n// Fire for orientation events.\noViewport.listenTo('orientation');\n\n// Listener for debounced orientation events via o-viewport.\ndocument.body.addEventListener('oViewport.orientation', function(event) {\n\tconsole.log(event.type); // oViewport.orientation\n\tconsole.log(event.viewport); // { height, width }\n\tconsole.log(event.orientation); // 'portrait' or 'landscape'\n\tconsole.log(event.originalEvent); // the original browser event\n});\n```\n\nSee [events](#events) for more examples.\n\n### `o-viewport#stopListeningTo(eventType)`\nRemove the attached listener from the window for the named event \\[`resize`, `scroll`, `orientation`, `visibility` or `all`\\].\n\n_Note: all will disable all o-viewport events._\n\n```js\n// Stop listening to the orientation event.\noViewport.stopListeningTo('orientation');\n```\n\n### `o-viewport#getOrientation()`\nProvides a reasonably reliable way (more so than `window.orientation`) of obtaining the current orientation of the viewport.\n\n```js\noViewport.getOrientation(); // 'portrait' or 'landscape'\n```\n\n### `o-viewport#getVisibility()`\nProvides a reasonably reliable way of obtaining the current visibility of the viewport.\n\n```js\noViewport.getVisibility(); // boolean, true if visible\n```\n\n### `o-viewport#getSize(ignoreScrollbars)`\nProvides a reliable way of obtaining the current dimensions of the browser window. Returns an object with the properties `width` and `height`.\n\nBy default or if no parameters are passed the method will return the size of the viewport inclusive of the scrollbars. However in certain cases (e.g. adverts) you may want to get the size of the viewport without the scroll bars. In such case pass `true` to the method in order to ignore the scrollbars.\n\n```js\noViewport.getSize(); // {width: 108, height: 100} including scrollbar width\noViewport.getSize(true); // {width: 100, height: 100} without scrollbars\n```\n\n### `o-viewport#getScrollPosition()`\nProvides a reliable way of obtaining the current scroll position of the viewport. returns an object with the properties `width`, `height`, `left` and `top`\n\n```js\noViewport.getScrollPosition(); // {width: 100, height: 100, left: 0, top: 10}\n```\n\n### `o-viewport#setThrottleInterval(eventType, interval)` _Product use only_\nSets the debounce/throttle interval for a given event \\[`scroll`, `resize` or `orientation`\\].\nAs a shorthand, calling `setThrottleInterval` with 1 - 3 numbers will set the intervals for `scroll`, `resize` and `orientation` in that order e.g. `setThrottleInterval(100, undefined, 300)` is equivalent to:\n\n```js\nsetThrottleInterval('scroll', 100)\nsetThrottleInterval('resize') // which does nothing\nsetThrottleInterval('orientation', 300)\nsetThrottleInterval('visibility', 30)\n```\n\nThe default value for each of these is 100ms\n\n### `o-viewport#debug()`\nTurns on debug mode (logging event details to the console).\n\n## Events\nEach of these custom events are fired on `document.body`. For each custom event `event.detail.originalEvent` contains a reference to the original browser event and `event.detail.viewport` the result of `o-viewport#getSize()`. For example:\n\n```js\nimport oViewport from '@financial-times/o-viewport';\n\n// Fire for all viewport events.\noViewport.listenTo('all');\n\n// Listener for debounced visibility events via o-viewport.\ndocument.body.addEventListener('oViewport.visibility', function(event) {\n\tconsole.log(event.type); // oViewport.resize\n\tconsole.log(event.detail.viewport); // { height, width }\n\tconsole.log(event.detail.hidden); // boolean\n});\n```\n\nNote `event.detail.hidden` is unique to the `oViewport.visibility` event. Additional unique properties for `o-viewport` events are detailed below.\n\n### `oViewport.resize`\n\n-   No additional properties.\n\n### `oViewport.orientation`\n\n-   data.orientation: 'portrait' or 'landscape'\n\n### `oViewport.visibility`\n\n-   data.hidden: true or false\n\n### `oViewport.scroll`\n\n-   data.scrollLeft: unitless px value of scroll position\n-   data.scrollTop: unitless px value of scroll position\n-   data.scrollHeight: unitless px value of scroll height\n-   data.scrollWidth: unitless px value of scroll width\n\n## Throttling\n\n-   `oViewport.resize`, `oViewport.orientation` and  `oViewport.visibility` are debounced i.e. if the native event fires several times in quick succession the custom event will fire only once `n` milliseconds after the last event, where `n` is the throttle interval\n-   `oViewport.scroll` is throttled i.e. if the native `scroll` event fires several times in quick succession the custom event will fire at most once every `n` milliseconds, where `n` is the throttle interval\n\nUse the [setThrottleInterval](#o-viewportsetthrottleintervaleventtype-interval-product-use-only) method to customise throttling.\n\n## Migration\n\nState | Major Version | Last Minor Release | Migration guide |\n:---: | :---: | :---: | :---:\n✨ active | 5 | N/A | [migrate to v5](MIGRATION.md#migrating-from-v4-to-v5) |\n⚠ maintained | 4 | 4.0.5 | [migrate to v4](MIGRATION.md#migrating-from-v3-to-v4) |\n╳ deprecated | 3 | 3.3 | [migrate to v3](MIGRATION.md#migrating-from-v2-to-v3) |\n╳ deprecated | 2 | 2.3 | [migrate to v2](MIGRATION.md#migrating-from-v1-to-v2) |\n╳ deprecated | 1 | 1.5 | N/A |\n\n***\n\n## Licence\n\nCopyright (c) 2016 Financial Times Ltd. All rights reserved.\n\nThis software is published under the [MIT licence](http://opensource.org/licenses/MIT).\n","readmeFilename":"README.md"}