{"_id":"@financial-times/o-element-visibility","_rev":"31-aebb4849e4a88ce7a8954c73a8107753","name":"@financial-times/o-element-visibility","dist-tags":{"latest":"2.3.3"},"versions":{"2.2.22":{"name":"@financial-times/o-element-visibility","version":"2.2.22","_id":"@financial-times/o-element-visibility@2.2.22","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":"492f3879173513775f837bf410b1fe44c595c347","tarball":"https://registry.npmjs.org/@financial-times/o-element-visibility/-/o-element-visibility-2.2.22.tgz","fileCount":8,"integrity":"sha512-8suPx6tnLTkQ6phQHhEF9ioFdch17TZOuYhWXzmA9MbqQ2Yv33uhEm0URU7BFXBivvUKZ/LLQXUgXQj7fu8o+w==","signatures":[{"sig":"MEYCIQD0eGOLKFKDYnqc4O7WZUu8YahAoXfSxG5I97832NeWyQIhAPtuglNkjHcsYjd0GNoLPaskP1P1OwvzYzN5Mnp/uNaP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19080,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcYwWyCRA9TVsSAnZWagAArNUP/imdyUdK24vIcMdJOYlf\n8BMU59h3vU1VgwD8mCqohPw7+DAFBjgq63gi5xHbKCXVWJC/HC7PQGf//aDq\n0LoPAjOMdcMWUzLKga0sgASIxWjo6aEV8uuWeBYWg+Ndq1htHib7S3kK71it\nO+McdOVgxJ3YCtuo0VqaHWV0Nsd3HayMcprTcGOmEvkhXOmXF3m0vUqKwmB4\nwUYddJjZCsj5P3lKqT9M68XLhHcHpj71cWB+Teix29yaFXKUvnFQSJvmfnSe\nuGKIxwgcHXTk/UlSUD3mPpbBBZqSAMBPjLFAJHkmTF22Hlq/cxaOW+hYMnTJ\nUgHlGp6ux4VZtuSrQQ7CBfOJ1WLc1bL+kLC0FaTpObpPeoBmnd81fYJVkqYT\nCJD2ZmxMbTm9O8qAjDxpVP4dLyukz7KPCMzxfCIpLLylo1sqole2GHGrsreM\nvwizm5hCXxJx+/Uy3GNznrUuxP0cYZfTXewP/IkQ6xCXaSddGgHKND9Q1Z9p\nlE+JiGl1PEkEVkaEoNem8cJax1YZY0G4CLQuM85MOyjZyj/DIlFbMNOJbm8g\nLbrDlahVDuthulD9AZWlkJ8fbAABbu1n05RO2zI+lDUVL41MGjeWRjCEzd+h\n1TnIlPkL81tvBMFCa1lu2o/N3sllL7BqT7TmG/Ev+Eup0/lGm0+2qQr4SwpO\n6Ato\r\n=ejoz\r\n-----END PGP SIGNATURE-----\r\n"},"browser":"browser.js","gitHead":"c88208733d19d307ae560d59dfa62bbc6248ab8d","_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"component":"o-element-visibility","deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","_npmVersion":"6.4.1","description":"Utility for monitoring elements visibility within the viewport","directories":{},"_nodeVersion":"10.15.1","dependencies":{"@financial-times/o-viewport":">=1.5.0 < 4"},"eslintIgnore":["browser.js","dist/"],"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/o-element-visibility_2.2.22_1549993393593_0.620454737686255","host":"s3://npm-registry-packages"}},"2.3.0":{"name":"@financial-times/o-element-visibility","version":"2.3.0","keywords":["origami","component","ft"],"_id":"@financial-times/o-element-visibility@2.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":"4baff4ded8da1cdf8789295a2b1227d2d606e1cf","tarball":"https://registry.npmjs.org/@financial-times/o-element-visibility/-/o-element-visibility-2.3.0.tgz","fileCount":5,"integrity":"sha512-5V6FG2U3ghHSfgvO+Q+A3A4scXs+YF6pUk/xIOUz78rQDyTXxb3NLWXS/mUXScFULAfso/wiDJvBu3/I2x6aFA==","signatures":[{"sig":"MEUCIQDL0ky3vNBI5+8WxGLa/lA+rmL/UFWPdZEZIxgHa+aWzQIgZY9WFHVdriit2G1RxpQpEdoWb4x9HObooDLqcnatcKc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11426,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcf+KyCRA9TVsSAnZWagAAql4P/3+jhkSjmhFE8zb00vks\nRldhR6CabUygBHh83/nMxZP2Sfp06iRKh0f7Lkda4K3kbs/PCSPLFvZLyicN\n4XgRRoemNAFtjNlBKf4sE5JHfSOxAwmf+4yS+m1pHwwIdutJdf88LAOzJ4n/\nW19J928KSfuO8l/URN8FSSCxC01fBmMlu+CX5YPxRSd+5uGIxbkwOxbOnj0a\nUsuljtHegcJT9836566svQIc1zdPf2xIqhq4TJdF02ahvGXyanRwb/bDCVj3\nVUgGDym30Y0gQSSutrjI14DILc/i37DhT8xDVsAbHFjW7GDlPXvAFeRr4FT5\nIJW5J1IfFmkoE+i2AH+77GncXdzYJH+2itHB5WfJfWdI70NpoyWwsCM3qBYF\nAN9eaCg5iXEej43aKA/ohDQhW6bHbc3gzirCnZLHIrrzBcVPzfChTvDMEo7+\nBrCw4pifhIZQRUq5RkUDr6FmMHuaCk6oRsY/FSeRXkZJjdl+pnAqWO58RR80\neSbfyJ/XCJc1uB3UvnwT2iY9gbEV943DoqdvLBCNClQ48L1iOWAhPKdY+P/p\n1afw/Mw6hebIjX0ODvh2V5GI5Uh1JB7OJofBsbLKv7i1PwUQ3KIBmixyIVZl\nopBwJYG1FQCLu/gI+cEEq5GTbObOBVgyToBg5Dkmb0VlIj54BJCFs14swWsw\npIuO\r\n=YYUX\r\n-----END PGP SIGNATURE-----\r\n"},"browser":"browser.js","gitHead":"82f0bd64a9020afaccbebae4fe3e4f591291048c","scripts":{},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"component":"o-element-visibility","deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","_npmVersion":"6.4.1","description":"Utility for monitoring elements visibility within the viewport","directories":{},"_nodeVersion":"10.15.2","dependencies":{"@financial-times/o-viewport":">=1.5.0 < 4"},"eslintIgnore":["browser.js","dist/"],"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/o-element-visibility_2.3.0_1551884977197_0.708777455543512","host":"s3://npm-registry-packages"}},"2.3.1":{"name":"@financial-times/o-element-visibility","version":"2.3.1","keywords":["origami","component","ft"],"_id":"@financial-times/o-element-visibility@2.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":"c7920fac76dbda07872d81d5e4c1a9cc1c3ae8dd","tarball":"https://registry.npmjs.org/@financial-times/o-element-visibility/-/o-element-visibility-2.3.1.tgz","fileCount":5,"integrity":"sha512-8pfbAS+0Mh4vk0xDswaIkjQDmFQWEJMwwJhLeILeeMrZ8onCmO/RD5pvAmZ1QMTYgTJa7awt9D9JnWQlYky7gw==","signatures":[{"sig":"MEYCIQDp4Qk3s/Vlove+iZVpf1my8Z0lAX1P7aawMdotyrwIlQIhAIQ6oUhEB+zV3hIt6imRAjoTx0q8pbaO0AtKZwYbtFJr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10690,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcgSGRCRA9TVsSAnZWagAACsMP/j8Y/5rFT8eqkwC734Bz\nq9W/GD4lQ7RQY4xUchZKF4IhTXrfajTSBm8AltcHfqgkCsag1gBqEDlJ9e6z\n7qNN1vIy1od5tld5PjLViuxvGlnkv/eq5g1jM90bqDH/XOqHTWmCNny/BKQ6\n4+iuhednrEaeS48UfJUEAWiqBekn/to5tf51K2Pg2q7NOr5HiqcDbIYWdvvT\nm5H5qA/0ilm33hguh8n/n5YJWXkxLYcVXlrwYwY23uPZqM8xeg6hVJa/8sFp\nYfS0OxVWqPUqU0TuQV8EReflzY5muGSOk1dL2ksPp9nUUOAi7hWhp7vB0z1f\nVHRqQ3ejT7sa7b+kWVF+axjlQLTGCgKYk0xfa6p0b1LTDk2Bex1zZv7roCfF\nP1lJlNy6l7ABt4ZY8ImkOnLddZbjCEg1PrY8tA65m2+WxX62bk9voLoLLfvQ\ncPAIFpUtJ64Qa1JELTsY2nAu4P+ezVG7rm6hZAyMr1xxhuXFiFmPSlWC/b/Q\ncb1egiood0eunwFnsEVFwXlzQ40eOM7Dnn6n2fdsT61eYegFexVyu4CsnHAX\nNQYvJVNI2p6758MQVZwR3UdaF76ZyXUhKNa/TJxNZxKtZCBwR7hcSCaujEbM\n14iJHF5G/+r+4R/5Ujv1e9rjt/AOUS+Bgo2bMunmyI1iYkLp7Q5pJgVm1vI2\n3br2\r\n=4xBP\r\n-----END PGP SIGNATURE-----\r\n"},"browser":"browser.js","gitHead":"259ca6844f4ccd0130e8bd07c3a36d30cd418ec5","scripts":{},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"component":"o-element-visibility","deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","_npmVersion":"6.4.1","description":"Utility for monitoring elements visibility within the viewport","directories":{},"_nodeVersion":"10.15.2","dependencies":{"@financial-times/o-viewport":">=1.5.0 < 4"},"eslintIgnore":["browser.js","dist/"],"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/o-element-visibility_2.3.1_1551966608669_0.617170256937176","host":"s3://npm-registry-packages"}},"2.3.2":{"name":"@financial-times/o-element-visibility","version":"2.3.2","keywords":["origami","component","ft"],"_id":"@financial-times/o-element-visibility@2.3.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":"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":"816ca49df7295cfd0fcf8b4dd6e1047c6d56ba4f","tarball":"https://registry.npmjs.org/@financial-times/o-element-visibility/-/o-element-visibility-2.3.2.tgz","fileCount":5,"integrity":"sha512-yDuenaVbDWBnI5SJX491pZlrvyIBPXA1nrI/RucCNwXUF5+hRRNjY25e6OiK8VuPXnu/YvV9SzJ5g+Ak47ROig==","signatures":[{"sig":"MEQCIFBv/sB1N6HgynlcQXwUcu7TBk6S0fhCoE7vfQNzwTK0AiAoJjMudEZMm4Vc+9L6VsmplqMgcr+kcPmzO5VOhB6Mug==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10793,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc2VoeCRA9TVsSAnZWagAAeLgQAIyr/vVk1T7OWyBl5FCQ\nVyJnYWiNRDHaS6U9UP/oO4yzgtgC1x8GCdk9uz8jQ4MscBG4nOid0/eellXw\nIySt0fRAYpRFTWnK65n5HPbJpsxahyvECpg9+qsItHxVZhDpFQ46WNvfBlWH\nzzdb18A5ZJIGGiQbZvHWjCpaWSAt+W7sIuOiRA79pkovXHdISeBtswkXgrdW\nu2JlMDU49weJ8edhEqTXnwif9CjicIn0sj/uWiqMDxFWwj1x9+FrTiritjYU\nkvJvCBhQsYADlO0f0oB89b2iAgo1vVgn78JYyqKRKHoeL1sKirhkWDBZwcP3\nvmbB1pCMOz67uU5whm34KVhm7Wka6BJ0lrQzMvGBRG277+sUocszhWu7FGDz\n6RPYQea/eiBvBTVp3UzhJJId8XinMg52yLDZ1HMmDRDXq+prBXaC4N5wBajt\nQx0v5ru0IJUebqPvZwscwYvHJDZYE/LKKbY1m0A1X661yobO5ECA50mBMlGc\n7L5aXwfduTbqfIBEUTHy/pARA0qIvHu58umzNP833kSl4qc4WuWqcGdU8qm1\nUNbgHIunTLCIovtMVGZ3smi8+4QcOYSyrIpywgDQeO1Fdw5SflZaBggCmoTm\noKmVfcP8MlukKECYQcaXjZZFJ5SyKj9OLGOMkjdAewI6joPmCEqahPokb7lK\n1zXF\r\n=MEgf\r\n-----END PGP SIGNATURE-----\r\n"},"browser":"browser.js","gitHead":"b16e29dd3c07c9979c024c529e8411acec1ec780","scripts":{},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"component":"o-element-visibility","deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","_npmVersion":"6.4.1","description":"Utility for monitoring elements visibility within the viewport","directories":{},"_nodeVersion":"10.15.3","dependencies":{"@financial-times/o-viewport":">=1.5.0 < 4"},"eslintIgnore":["browser.js","dist/"],"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/o-element-visibility_2.3.2_1557748254000_0.9761923917396547","host":"s3://npm-registry-packages"}},"2.3.3":{"name":"@financial-times/o-element-visibility","version":"2.3.3","keywords":["origami","component","ft"],"_id":"@financial-times/o-element-visibility@2.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":"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":"6616eea9f6eb42d097d13c0cce8b91e75b7a0e70","tarball":"https://registry.npmjs.org/@financial-times/o-element-visibility/-/o-element-visibility-2.3.3.tgz","fileCount":6,"integrity":"sha512-oKl1ksizXnR4W1ZXxDdI0qq+YMn3e3LdmpHRAN0UY4G6zLmVrWxRmeuUu/8hDOC8VFlVCcMVUBAv6LjoTXhLMA==","signatures":[{"sig":"MEUCIQCim8DFobK5shtFAqpdknwt/P5ShE3SUgx7ciJab+xpnQIgDLkgU1mrJfLTb17lcCxMPbQga+6pkGWVfq/8C9hQntU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13928,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2HHiCRA9TVsSAnZWagAAkEgP/jeXn8iTvevABjw8rPiE\nQnVCAoPsx3s+sxErwkyLBgZfH2cScSQ+wnSvDFXOoTyIqx+3CP8BSLEn+wny\nKZiys/G/5bE/lrl7Zxva16fWe9z8aQJd1DPIbJhZRM7LInf7XsoR0RZeVJY8\nnwZ02PD4a1R9gD7bsP3L6jhVEYUw8WR1CM7tei0HWnp4q0sTpdnw4Yzzm3VA\nCxxRkSeiYgBfJULo6MFH0AIgl+gNStjU17vRUbwlfVdKMc7AMzbMKWpdD4pD\nl5XhUHNolNsd07mydbDvu+hb8V4B5TTvKR41p2GG5vEdZCFOFbp0hPR/NHYy\n41sQOeY2rzTkKaxlq7bQXhJjePpbJmsvVk0U1sd3INaq9EVRpEkbkv+BVWBi\nBh8khPLne9o0hB7nwNs/bTdU8aXCdjG9KNJwZtfcV9FkgICZzIH28VsFyVSk\nHcPZsGXJBAm9wPidczSM69ICecb4e3hitPBRlJvhd8fK7s5+Ox2Doi7nRybk\nx8/EFE4HiCMBYGVAMIafemSNpaVp7ganzzCEjMQUZPpaWUirSuEFM5TugST/\nDitf9tzXsj9G23rCsRBmKUeo3yOlO8Ix4LeFTDUt93RLiKowuOCTi/w7cmW5\n4/0WKesTnc+FY5yblFWzRCkSlWaqQjh2szIshtBUfWUJGfzcbr1P/BcweQp2\nxkhI\r\n=2Yod\r\n-----END PGP SIGNATURE-----\r\n"},"browser":"browser.js","gitHead":"49ec04151d2e33cf3c9f95708dba72c80880a55c","scripts":{},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"component":"o-element-visibility","deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","_npmVersion":"6.11.3","description":"Utility for monitoring elements visibility within the viewport","directories":{},"_nodeVersion":"10.17.0","dependencies":{"@financial-times/o-viewport":">=1.5.0 < 4"},"eslintIgnore":["browser.js","dist/"],"_hasShrinkwrap":false,"devDependencies":{"origami-ci-tools":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/o-element-visibility_2.3.3_1575477539268_0.4256123629492401","host":"s3://npm-registry-packages"}}},"time":{"created":"2019-02-12T17:43:13.438Z","modified":"2026-06-23T16:03:19.768Z","2.2.22":"2019-02-12T17:43:13.718Z","2.3.0":"2019-03-06T15:09:37.313Z","2.3.1":"2019-03-07T13:50:08.794Z","2.3.2":"2019-05-13T11:50:54.118Z","2.3.3":"2019-12-04T16:38:59.413Z"},"keywords":["origami","component","ft"],"description":"Utility for monitoring elements visibility within the viewport","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-element-visibility [![CircleCI](https://circleci.com/gh/Financial-Times/o-element-visibility.png?style=shield&circle-token=2955907e904827f0d42c1541e4996d863f34973b)](https://circleci.com/gh/Financial-Times/o-element-visibility) [![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](#licence)\n\nUtility for tracking element visibility within the viewport.\n\n**o-element-visibility is deprecated. Instead use [Intersection Observer](https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserver) with a [polyfill](http://polyfill.io/) to support browsers without Intersection Observer.**\n\n## Methods\n\n### `o-element-visibility#init(selector)`\nTracks the selected elements and reports the percentage of the element currently on the screen, changes to the percentage in view will fire events within the `oVisibility` namespace (see **Events** below).\n\nIf the selector argument is omitted `[data-o-element-visibility-track]` is used.\n\n*Note: Enabling element tracking will also attach all o-viewport events.*\n\n### `o-element-visibility#destroy()`\nStop tracking all currently tracked elements.\n\n*Note: This will not stop listening to all the oViewport events.*\n\n### `o-element-visibility#track(element)`\nPass an element to be tracked, returns a TrackedElement (see below).\n\n### `o-element-visibility#updatePositions(force)`\nThe position of an element is cached when we begin tracking, this will recache those values for every element currently being tracked.\n\nForce will force an event to fire even if no change is detected.\n\n*Note: During scrolling this method is not run but is run on resize or orientation change*\n\n### `o-element-visibility#update(force)`\nUpdates the current visibility status of all elements and fires events if change are detected.\n\nForce will force an event to fire even if no change is detected.\n\n## Properties\n### `o-element-visibility#tracked`\nAn array of the currently tracked elements\n\n## TrackedElement\nAn instance of TrackedElement is returned by the track method. The instance contains information about the position of the element in the page and methods to calculate it's visibility:\n\n```js\ninview: Boolean // the elements current visibility within the viewport\npercentage: Number // the percentage of the element in view\nrect: Object // the result of the last getBoundingClientRect run on this element\nwidth: Number // the width of the element\nheight: Number // the height of the element\ntop: Number // the absolute top of the element\nleft: Number // the absolute left of the element\nbottom: Number // the absolute bottom of the element\nright: Number // the absolute right of the element\narea: Number // the area of the element\n```\n\n### updatePosition(force)\n```js\nreturns this\n```\nSame as above but for this TrackedElement only.\nForce will force an event to fire even if no change is detected.\n\n### update(force)\n```js\nreturns this\n```\nSame as above but for this TrackedElement only.\nForce will force an event to fire even if no change is detected.\n\n### inViewport()\n```js\nreturns this\n```\nTest if the element is currently in the viewport\n\n### percentInViewport()\n```js\nreturns this\n```\nCalculate the percentage of the element in the viewport\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.\n\nAdditional properties in `event.detail` are detailed below:\n\n### `oVisibility.visible`\n```js\nelement: HTMLElement // or Node in < ie10\ninviewport: Boolean // if the element is in the viewport\ntype: ['visibility', 'percentage', 'update'] // the reason the event fired, either because of visibility or percentage change, update means the function was run with force\npercentInView: Number //  the percentage of the element that is visible\n```\n\n*Note: inviewport can be true while percentage is 0, this means the element has a width or height of 0 but is within the viewport*\n","readmeFilename":"README.md"}