{"_id":"stacking-order","_rev":"7-dff10c45af89a0234a8134e42c5d14b6","name":"stacking-order","description":"Determine which of two elements is in front of the other","dist-tags":{"latest":"2.0.0"},"versions":{"1.0.0":{"name":"stacking-order","description":"Determine which of two elements is in front of the other","version":"1.0.0","author":{"name":"Rich Harris"},"main":"dist/stacking-order.umd.js","jsnext:main":"dist/stacking-order.es6.js","repository":{"type":"git","url":"git+https://gitlab.com/Rich-Harris/stacking-order.git"},"license":"MIT","devDependencies":{"babel-cli":"^6.4.5","babel-preset-es2015":"^6.3.13","babel-preset-es2015-rollup":"^1.1.1","chalk":"^1.1.1","eslint":"^1.10.3","nightmare":"^2.1.4","rollup":"^0.25.1","rollup-plugin-babel":"^2.3.9"},"files":["src","dist","README.md"],"scripts":{"build":"npm run build:umd && npm run build:es6","build:umd":"rollup -c -f umd -o dist/stacking-order.umd.js","build:es6":"rollup -c -f es6 -o dist/stacking-order.es6.js","prepublish":"npm run lint && rm -rf dist && npm test && npm run build:es6","pretest":"npm run build:umd","test":"babel-node test/test.js","lint":"eslint src"},"gitHead":"bf0f506b91f97fc6ad3056da5c7f2a5911cce554","bugs":{"url":"https://gitlab.com/Rich-Harris/stacking-order/issues"},"homepage":"https://gitlab.com/Rich-Harris/stacking-order#README","_id":"stacking-order@1.0.0","_shasum":"1c7facf276d824c545663ccc17a5cbfda48417d9","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.1","_npmUser":{"name":"rich_harris","email":"richard.a.harris@gmail.com"},"dist":{"shasum":"1c7facf276d824c545663ccc17a5cbfda48417d9","tarball":"https://registry.npmjs.org/stacking-order/-/stacking-order-1.0.0.tgz","integrity":"sha512-aa/U/p5o6GoEPV1FUFSEhsK6SYI0lq97AQRi8jwIUBGNhKXEbW2tkOdUFplmg7GAJdPqKNuKOhBXHDvfiNDeBg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICmiGKLSxMfDY71dPj/pzXBlUr6RdL6E1cNRwqbzVfcpAiArs57d+EH9Eylitmc9NcPoKelDrnXjJWZEFXA7+rx0Bw=="}]},"maintainers":[{"name":"rich_harris","email":"richard.a.harris@gmail.com"}],"directories":{}},"1.0.1":{"name":"stacking-order","description":"Determine which of two elements is in front of the other","version":"1.0.1","author":{"name":"Rich Harris"},"main":"dist/stacking-order.umd.js","jsnext:main":"dist/stacking-order.es6.js","repository":{"type":"git","url":"git+https://gitlab.com/Rich-Harris/stacking-order.git"},"license":"MIT","devDependencies":{"babel-cli":"^6.4.5","babel-preset-es2015":"^6.3.13","chalk":"^1.1.1","eslint":"^1.10.3","rollup":"^0.25.1","rollup-plugin-buble":"^0.4.0"},"scripts":{"build":"npm run build:umd && npm run build:es6","build:umd":"rollup -c -f umd -o dist/stacking-order.umd.js","build:es6":"rollup -c -f es6 -o dist/stacking-order.es6.js","prepublish":"npm run lint && rm -rf dist && npm test && npm run build:es6","pretest":"npm run build:umd","test":"node test/test.js","lint":"eslint src"},"gitHead":"eb9ad371ba75827e6f4e0f0ee423df6af69695d9","bugs":{"url":"https://gitlab.com/Rich-Harris/stacking-order/issues"},"homepage":"https://gitlab.com/Rich-Harris/stacking-order#readme","_id":"stacking-order@1.0.1","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-IxD2jw+DDiQ3FaXr6QcvSt5uE2vDWBYcC7bbCWfI5R9kEoj8Zgi4rFwPXALOjTtE96iIdZjcJFLQVr7r7xIdAA==","shasum":"dd362c9390e53f38f1e3cb172cd4374a011f4d1f","tarball":"https://registry.npmjs.org/stacking-order/-/stacking-order-1.0.1.tgz","fileCount":12,"unpackedSize":25435,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCiJz0XXnUCXZJCSuGC7ON66akSVLeGTbIvJkeFHvYewgIhAKeW+2pWkENk7DlLlmGbNic1Dk+tvezjZb+McnPC7i/O"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjergFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqItA//e9oIQMdwBKwpIK2ecJFGBrizEtfVn+rvpbdFTEOPr7cVmsFE\r\n3pRs3N5xe+bg86J4kPWDI99zvd/lvIk84WjcD/ocbzSX4OgVeh+3uHsh2XdV\r\nzD/TDneaN37VN4DAcXKHlGnTCM/DoAKz59RVQCDc97yc7TVDQdvVFmR/Qt9t\r\nE7mxubaG/ipukDEzyptpd+vpAS29ckcego3Wn+W4M56Ct4knYBw9oyAmxZQl\r\n3eONgajkLItRUH6XiOxbyONAWmbIxo4+f2SNY70LkQrjalQDxY53o6zgFgvK\r\nHOtVE8FBp8lwafvHVP5AdQLSUzOB+40O1dVsXPkNU0YPJ4Sop9fmF66N4FJX\r\n4X7bfqMc59mRqn+z0Pf+qJR9ISWiGA8N1aFBSS2WUflz7Q/KO7TCCkSfWuti\r\nDQ7GDQHLwTOQ9WWSFn1UwZD60Dny8uJjEmHccxCeuvm6aWYrbAutL4uwzYYY\r\n3TRLhWE/Rw13PmlToW/fdfnPw3x3m0utSojD9K+D+sEZ9fy6Mdsx8JtXZbuN\r\nQ12CvCzqOewcpIsc6hlxzr04KdzIxPvIoTHTZt/DquXVMrBZfURUui3wC1GR\r\nVjbZruNUFvhsriY9xyU32btjHcLnjEErX+4bMneBWSsOqGrpFsqbwIzU8esI\r\nTAkpUsvjW53vYw3Hc1sUNiRm5x3Bpd99E9s=\r\n=6EAs\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"rich_harris","email":"richard.a.harris@gmail.com"},"directories":{},"maintainers":[{"name":"rich_harris","email":"richard.a.harris@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stacking-order_1.0.1_1668986885364_0.46545073887559907"},"_hasShrinkwrap":false},"2.0.0":{"name":"stacking-order","description":"Determine which of two elements is in front of the other","version":"2.0.0","author":{"name":"Rich Harris"},"type":"module","main":"index.js","repository":{"type":"git","url":"git+https://github.com/Rich-Harris/stacking-order.git"},"license":"MIT","devDependencies":{"kleur":"^4.1.5","playwright":"^1.28.0","typescript":"^4.9.3"},"exports":{".":{"types":"./types/index.d.ts","import":"./index.js","default":"./index.js"}},"scripts":{"prepublishOnly":"npm test && tsc","test":"node test/test.js"},"gitHead":"4ac30371ddad979460f250a744f782692e091fc5","bugs":{"url":"https://github.com/Rich-Harris/stacking-order/issues"},"homepage":"https://github.com/Rich-Harris/stacking-order#readme","_id":"stacking-order@2.0.0","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-nnv68iFGwrKXYlmXJKD5qBuH8D49BEv6zAgesXoKeGqMmMit6/Hyvb6R0BG9odpjqQm35YjlTsZUyB0ffbFDrg==","shasum":"90e78ca977527f03762591ce1ecbc7f6abf24ed0","tarball":"https://registry.npmjs.org/stacking-order/-/stacking-order-2.0.0.tgz","fileCount":3,"unpackedSize":5126,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIErJ4Z91shyaXvY5paRDgJajo79VtNq4doupowWm/qr4AiEA4dzJ3eC/kIrVbib9V2/EF+v5a2L5XYRobdSjWwXXr3w="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjes7WACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmolDw/+J0WaKj8Hb+6XdlaeBASqGwcWC6yvrWjpTiHopvSfQz0v2ooy\r\n2mLhWWGo4gxUcLZWFbBZlgV8j96sPZhSTrpsA1UYtEJZCL7vdODDJD3tMDq+\r\nM9zP4ZyhkQWTDrr9SI3qx3/4saQpfimtqbL4/So19WxWehHse8eaBeR7I8km\r\nJBcdtqOrI4lHeHy/dVHfJK1Zkase69pZHfjzK3kDl4f9ruRkxVVSHk0PWYXQ\r\nP4MOKo9CJxJdZMwcvg+LMm77XVuzzMmTdrSKqVtNF7XO/X8qOgxmK5AsyLD9\r\nFFQV9Z23mWAg3OIZHVE39QcpQahwYXD8G8MIoiZM2F9zYCkoFp/SyG2yhd2S\r\nAO5H1bJ6jc2tu9BfynltIJgySDQaoJg557JE5Hp140p7JQclWSB8C7H4GmDg\r\nl/+sYbQVEWz4Rvhjr8MOcYKhYbC7vTAXht+b0MDxjjsl2Aityzu7gqMrW29/\r\nLoiU8GvCX2LUcQ9CUGTOcKI8grooA24aY4BxPuwkteDlD4OaE4STW9sh6S2V\r\n/ct2Kyb15gmCftuGi8quahmx0PBPZCRPOcJ/Wwm+xNp50qKF/Vyt9jfvjKk6\r\nkNuqEcV99ltvERVqQf+PcB5f/lCdNCNaN7NZ55PxhVGMjKP3P1P5rSAff9Je\r\naoygDOf9c1yg008+GrE0OJDR91zc9iyVH3M=\r\n=6KXd\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"rich_harris","email":"richard.a.harris@gmail.com"},"directories":{},"maintainers":[{"name":"rich_harris","email":"richard.a.harris@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/stacking-order_2.0.0_1668992726483_0.7333919713544053"},"_hasShrinkwrap":false}},"readme":"# stacking-order\n\nDetermine which of two nodes appears in front of the other.\n\n## Why?\n\nThe [stacking order rules](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Positioning/Understanding_z_index/The_stacking_context) are fairly complex. Determining whether node A will render in front of node B involves much more than comparing the `z-index` of the two nodes – you have to consider their parents, and which of them create new _stacking contexts_, which in turn depends on CSS properties like `opacity`, `transform`, `mix-blend-mode` and various others that you probably hadn't considered.\n\nThe tie-breaker, if that doesn't yield a conclusive answer, is the position in the document (with later nodes rendering in front of earlier nodes).\n\n## Installation\n\n```bash\nnpm install --save stacking-order\n```\n\n...or grab a copy from [npmcdn.com/stacking-order](https://npmcdn.com/stacking-order).\n\n## Usage\n\n```js\nimport { compare } from 'stacking-order';\n\nconst a = document.querySelector('.a');\nconst b = document.querySelector('.b');\n\nconst order = compare(a, b);\n// -> `1` if a is in front of b, `-1` otherwise\n```\n\n## Bugs\n\nIt's entirely possible that the algorithm used here doesn't exactly match the spec. If you find a bug, please [raise an issue](https://github.com/Rich-Harris/stacking-order/issues) after reading [CONTRIBUTING.md](CONTRIBUTING.md). Thanks!\n\n## License\n\nMIT\n\n---\n\nmade by [@rich_harris](https://twitter.com/rich_harris)\n","maintainers":[{"name":"rich_harris","email":"richard.a.harris@gmail.com"}],"time":{"modified":"2022-11-21T01:05:26.738Z","created":"2016-01-30T20:43:13.625Z","1.0.0":"2016-01-30T20:43:13.625Z","1.0.1":"2022-11-20T23:28:05.540Z","2.0.0":"2022-11-21T01:05:26.622Z"},"homepage":"https://github.com/Rich-Harris/stacking-order#readme","repository":{"type":"git","url":"git+https://github.com/Rich-Harris/stacking-order.git"},"author":{"name":"Rich Harris"},"bugs":{"url":"https://github.com/Rich-Harris/stacking-order/issues"},"license":"MIT","readmeFilename":"README.md","users":{}}