{"_id":"layout-zoom","_rev":"30-d7d708d84b98af37273ea5eeb98dc0e3","name":"layout-zoom","dist-tags":{"latest":"0.2.2","snapshot":"0.2.2-snapshot.202607300754.2e9ebff8"},"versions":{"0.0.1":{"name":"layout-zoom","version":"0.0.1","keywords":["zoom","layout-zoom"],"license":"MIT","_id":"layout-zoom@0.0.1","maintainers":[{"name":"reekystive","email":"reekystive@gmail.com"}],"homepage":"https://github.com/lennondotw/zoom-box#readme","bugs":{"url":"https://github.com/lennondotw/zoom-box/issues"},"dist":{"shasum":"e34d4fe22e90a94473193b02fe1fa730917456b2","tarball":"https://registry.npmjs.org/layout-zoom/-/layout-zoom-0.0.1.tgz","fileCount":5,"integrity":"sha512-zeCXBhudSA6K+h2FK/DKuxuK5vZLrQh4zNp4DIDzQ5qPaPJJLFkiP/Mk0zvGuzWk2hfHu3OCzEoZ+ph4nNJrBA==","signatures":[{"sig":"MEUCIHWEfQlEgUIZ9S6s3S0gVxJO3nuovix6XPkRl1Ii/PJsAiEA7WQBJNlbuh9ADrxZWDXi0nVQ3oLWJiwGcSa21sD3lqU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1890},"type":"module","types":"./index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./index.d.ts","default":"./index.js"}},"gitHead":"1f11cb1dfc8be992effd70fc7233e647b3d690fd","_npmUser":{"name":"reekystive","email":"reekystive@gmail.com"},"deprecated":"Placeholder. Use 0.1.0 or later.","repository":{"url":"git+https://github.com/lennondotw/zoom-box.git","type":"git"},"_npmVersion":"11.12.1","description":"Placeholder. Name reserved.","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/layout-zoom_0.0.1_1785257496841_0.42047474466657064","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-snapshot.202607281705.87e25ba9":{"name":"layout-zoom","version":"0.1.0-snapshot.202607281705.87e25ba9","keywords":["css-zoom","layout","polyfill","react","safari","scale","transform","webkit","zoom"],"author":{"name":"lennondotw"},"license":"MIT","_id":"layout-zoom@0.1.0-snapshot.202607281705.87e25ba9","maintainers":[{"name":"reekystive","email":"reekystive@gmail.com"}],"homepage":"https://github.com/lennondotw/layout-zoom#readme","bugs":{"url":"https://github.com/lennondotw/layout-zoom/issues"},"dist":{"shasum":"d4d5269420dcc2637b6a6569f77c44ba8b651b61","tarball":"https://registry.npmjs.org/layout-zoom/-/layout-zoom-0.1.0-snapshot.202607281705.87e25ba9.tgz","fileCount":12,"integrity":"sha512-AzXBf0iASje4G5j3r4dEksuddaFI6bT3iAhtcy/a+g9y2HR1EyNlVQ4++riBUUIldICE60TmNfC1GrENGmmYtw==","signatures":[{"sig":"MEQCIH4cynKUjoZ9Z1V3QpyYi25z6YE9U2gK8cKGrjIewmAxAiAtw6T6mS/RXeoCQscJQGtGAYt5VzTI5Sje8ozgGHaMAQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26260},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles.css":"./styles.css"},"gitHead":"87e25ba9e47c15ab5779b7674528618f6feea1ba","scripts":{"lint":"NODE_OPTIONS='--experimental-strip-types' oxlint --max-warnings=0","test":"vitest run","build":"tsc --build tsconfig.build.json --pretty","check":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm run test","format":"oxfmt --write .","prepare":"husky","test:e2e":"playwright test","changeset":"changeset","storybook":"storybook dev -p 6006 --no-open","typecheck":"tsc --build --pretty","test:watch":"vitest","format:check":"oxfmt --check .","prepublishOnly":"pnpm run build","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bdc1b859-f1a5-45e1-8f9c-1dfb2f4953cf"}},"repository":{"url":"git+https://github.com/lennondotw/layout-zoom.git","type":"git"},"_npmVersion":"11.11.0","description":"Scale content down and have it actually affect layout — transform: scale() inside a sized, clipping wrapper. CSS zoom semantics without WebKit's zoom font-metric bugs.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.10.0","readmeFilename":"README.md","devDependencies":{"vite":"^8.0.9","husky":"^9.1.7","oxfmt":"^0.60.0","react":"^19.2.6","oxlint":"^1.61.0","vitest":"^4.1.6","happy-dom":"^20.9.0","react-dom":"^19.2.6","storybook":"^10.3.5","typescript":"^7.0.2","@types/node":"^26.1.1","tailwindcss":"^4.3.3","@types/react":"^19.2.14","@changesets/cli":"^2.31.0","@commitlint/cli":"^21.0.2","@playwright/test":"^1.62.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.3","@vitejs/plugin-react":"^6.0.1","@storybook/react-vite":"^10.3.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@changesets/changelog-github":"^0.7.0","@commitlint/config-conventional":"^21.0.2"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/layout-zoom_0.1.0-snapshot.202607281705.87e25ba9_1785258335072_0.3146996452460824","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-snapshot.202607281712.a34c9af5":{"name":"layout-zoom","version":"0.1.0-snapshot.202607281712.a34c9af5","keywords":["css-zoom","layout","polyfill","react","safari","scale","transform","webkit","zoom"],"author":{"name":"lennondotw"},"license":"MIT","_id":"layout-zoom@0.1.0-snapshot.202607281712.a34c9af5","maintainers":[{"name":"reekystive","email":"reekystive@gmail.com"}],"homepage":"https://github.com/lennondotw/layout-zoom#readme","bugs":{"url":"https://github.com/lennondotw/layout-zoom/issues"},"dist":{"shasum":"5c8950757bf62e127ff7f00d067933f657a381b1","tarball":"https://registry.npmjs.org/layout-zoom/-/layout-zoom-0.1.0-snapshot.202607281712.a34c9af5.tgz","fileCount":13,"integrity":"sha512-6+vU1Y5gd7j12uzDU2nBcPQHDWu2EpntspQrMC+28ABJZ2M0+EzSQj8I2+lS97DX8mbimRADAvEkwbEn3izyzQ==","signatures":[{"sig":"MEYCIQDQQ8eBojw8LfDt6SvFfWNI5qXmcgOkzT3guV967KlIiAIhAMgqE/XDval65sQWRT790t/WQhiF+QGtiolBz3KTuoB+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27487},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles.css":"./styles.css"},"gitHead":"a34c9af5f0525aa9aa5c72931c7640bcc5f5b8ca","scripts":{"lint":"NODE_OPTIONS='--experimental-strip-types' oxlint --max-warnings=0","test":"vitest run","build":"tsc --build tsconfig.build.json --pretty","check":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm run test","format":"oxfmt --write .","prepare":"husky","test:e2e":"playwright test","changeset":"changeset","storybook":"storybook dev -p 6006 --no-open","typecheck":"tsc --build --pretty","test:watch":"vitest","format:check":"oxfmt --check .","prepublishOnly":"pnpm run build","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bdc1b859-f1a5-45e1-8f9c-1dfb2f4953cf"}},"repository":{"url":"git+https://github.com/lennondotw/layout-zoom.git","type":"git"},"_npmVersion":"11.11.0","description":"Scale content down and have it actually affect layout — transform: scale() inside a sized, clipping wrapper. CSS zoom semantics without WebKit's zoom font-metric bugs.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.10.0","readmeFilename":"README.md","devDependencies":{"vite":"^8.0.9","husky":"^9.1.7","oxfmt":"^0.60.0","react":"^19.2.6","oxlint":"^1.61.0","vitest":"^4.1.6","happy-dom":"^20.9.0","react-dom":"^19.2.6","storybook":"^10.3.5","typescript":"^7.0.2","@types/node":"^26.1.1","tailwindcss":"^4.3.3","@types/react":"^19.2.14","@changesets/cli":"^2.31.0","@commitlint/cli":"^21.0.2","@playwright/test":"^1.62.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.3","@vitejs/plugin-react":"^6.0.1","@storybook/react-vite":"^10.3.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@changesets/changelog-github":"^0.7.0","@commitlint/config-conventional":"^21.0.2"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/layout-zoom_0.1.0-snapshot.202607281712.a34c9af5_1785258754807_0.007357113707343155","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"layout-zoom","version":"0.1.0","keywords":["css-zoom","layout","polyfill","react","safari","scale","transform","webkit","zoom"],"author":{"name":"lennondotw"},"license":"MIT","_id":"layout-zoom@0.1.0","maintainers":[{"name":"reekystive","email":"reekystive@gmail.com"}],"homepage":"https://github.com/lennondotw/layout-zoom#readme","bugs":{"url":"https://github.com/lennondotw/layout-zoom/issues"},"dist":{"shasum":"a4aa03d51a35e09a0e943713b8dede27a9d7be87","tarball":"https://registry.npmjs.org/layout-zoom/-/layout-zoom-0.1.0.tgz","fileCount":13,"integrity":"sha512-6fisvthq20TxKRNjgB4XMmJ6VN5A1NX2OPj2Zt7vcX7tDFbnOyFmIuwxU5iyx0WhBGL0o5GIpDxMZ9G+73k9qw==","signatures":[{"sig":"MEUCIF8EceauBVvfJybcpwi3TwLP82qGFnyOVO3gYcLzfsblAiEAlJyG7NcWrJhumvYDtUn8cYrfqAhzpJTw4xUekEjVO1I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27456},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles.css":"./styles.css"},"gitHead":"a34c9af5f0525aa9aa5c72931c7640bcc5f5b8ca","scripts":{"lint":"NODE_OPTIONS='--experimental-strip-types' oxlint --max-warnings=0","test":"vitest run","build":"tsc --build tsconfig.build.json --pretty","check":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm run test","format":"oxfmt --write .","prepare":"husky","test:e2e":"playwright test","changeset":"changeset","storybook":"storybook dev -p 6006 --no-open","typecheck":"tsc --build --pretty","test:watch":"vitest","format:check":"oxfmt --check .","prepublishOnly":"pnpm run build","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bdc1b859-f1a5-45e1-8f9c-1dfb2f4953cf"}},"repository":{"url":"git+https://github.com/lennondotw/layout-zoom.git","type":"git"},"_npmVersion":"11.11.0","description":"Scale content down and have it actually affect layout — transform: scale() inside a sized, clipping wrapper. CSS zoom semantics without WebKit's zoom font-metric bugs.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.10.0","devDependencies":{"vite":"^8.0.9","husky":"^9.1.7","oxfmt":"^0.60.0","react":"^19.2.6","oxlint":"^1.61.0","vitest":"^4.1.6","happy-dom":"^20.9.0","react-dom":"^19.2.6","storybook":"^10.3.5","typescript":"^7.0.2","@types/node":"^26.1.1","tailwindcss":"^4.3.3","@types/react":"^19.2.14","@changesets/cli":"^2.31.0","@commitlint/cli":"^21.0.2","@playwright/test":"^1.62.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.3","@vitejs/plugin-react":"^6.0.1","@storybook/react-vite":"^10.3.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@changesets/changelog-github":"^0.7.0","@commitlint/config-conventional":"^21.0.2"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/layout-zoom_0.1.0_1785260009327_0.6706922104820081","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-snapshot.202607281827.61526871":{"name":"layout-zoom","version":"0.1.0-snapshot.202607281827.61526871","keywords":["css-zoom","layout","polyfill","react","safari","scale","transform","webkit","zoom"],"author":{"name":"lennondotw"},"license":"MIT","_id":"layout-zoom@0.1.0-snapshot.202607281827.61526871","maintainers":[{"name":"reekystive","email":"reekystive@gmail.com"}],"homepage":"https://github.com/lennondotw/layout-zoom#readme","bugs":{"url":"https://github.com/lennondotw/layout-zoom/issues"},"dist":{"shasum":"ce69daab72edcdbdff503d8b9cfa61d9625b793d","tarball":"https://registry.npmjs.org/layout-zoom/-/layout-zoom-0.1.0-snapshot.202607281827.61526871.tgz","fileCount":13,"integrity":"sha512-bKv3AUtccMVADP5COgTXDYeodYFAPYh8Mymtfl7YRz2X2ZfeucAB42Am8qS233zhT6v+E/ugvggoIpCgzowYqw==","signatures":[{"sig":"MEQCICqzlKjBvMflbc+D949yEtXQDVJ8/Bmq27p/neGn/PcNAiBCu8NVWq6FVAHIUADAFeH1LATDWFvCFcuPlzEI7s44yA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29294},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles.css":"./styles.css","./package.json":"./package.json"},"gitHead":"61526871fdf1458e8999ba7a7af0a557b40f40c4","scripts":{"lint":"NODE_OPTIONS='--experimental-strip-types' oxlint --max-warnings=0","test":"vitest run","build":"tsc --build tsconfig.build.json --pretty","check":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm run test","format":"oxfmt --write .","prepare":"husky","test:e2e":"playwright test","changeset":"changeset","storybook":"storybook dev -p 6006 --no-open","typecheck":"tsc --build --pretty","test:watch":"vitest","format:check":"oxfmt --check .","prepublishOnly":"pnpm run build","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bdc1b859-f1a5-45e1-8f9c-1dfb2f4953cf"}},"repository":{"url":"git+https://github.com/lennondotw/layout-zoom.git","type":"git"},"_npmVersion":"11.11.0","description":"Scale content down and have it actually affect layout — transform: scale() inside a sized, clipping wrapper. CSS zoom semantics without WebKit's zoom font-metric bugs.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.10.0","readmeFilename":"README.md","devDependencies":{"vite":"^8.0.9","husky":"^9.1.7","oxfmt":"^0.60.0","react":"^19.2.6","motion":"^12.42.2","oxlint":"^1.61.0","vitest":"^4.1.6","happy-dom":"^20.9.0","react-dom":"^19.2.6","storybook":"^10.3.5","typescript":"^7.0.2","@types/node":"^26.1.1","tailwindcss":"^4.3.3","@types/react":"^19.2.14","@changesets/cli":"^2.31.0","@commitlint/cli":"^21.0.2","@playwright/test":"^1.62.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.3","@vitejs/plugin-react":"^6.0.1","@storybook/react-vite":"^10.3.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@changesets/changelog-github":"^0.7.0","@commitlint/config-conventional":"^21.0.2"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/layout-zoom_0.1.0-snapshot.202607281827.61526871_1785263260581_0.6958961877636562","host":"s3://npm-registry-packages-npm-production"}},"0.1.1-snapshot.202607281828.ae8d07dc":{"name":"layout-zoom","version":"0.1.1-snapshot.202607281828.ae8d07dc","keywords":["css-zoom","layout","polyfill","react","safari","scale","transform","webkit","zoom"],"author":{"name":"lennondotw"},"license":"MIT","_id":"layout-zoom@0.1.1-snapshot.202607281828.ae8d07dc","maintainers":[{"name":"reekystive","email":"reekystive@gmail.com"}],"homepage":"https://github.com/lennondotw/layout-zoom#readme","bugs":{"url":"https://github.com/lennondotw/layout-zoom/issues"},"dist":{"shasum":"edbe6f1e094703bb1a41671fb258bd74e1b3fd6d","tarball":"https://registry.npmjs.org/layout-zoom/-/layout-zoom-0.1.1-snapshot.202607281828.ae8d07dc.tgz","fileCount":13,"integrity":"sha512-AnPS0E7GkjM33PGwZAHBuUov6je1KHzF/GXZQCzMcLEAzGwS5vU3QFcW+Q519O10zDb1UayRojLo85BpNzDTUQ==","signatures":[{"sig":"MEQCIHxIE72WFfidjdyx1qbygscbjYuu0JVriP+o3zqDV5fDAiAmDeNU6l6QYpgkf9bf6gL2Fe58jelf3+9ZqLNbZIwnyw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29799},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles.css":"./styles.css","./package.json":"./package.json"},"gitHead":"ae8d07dc31c116def84e412321dd6d4e1b8d4157","scripts":{"lint":"NODE_OPTIONS='--experimental-strip-types' oxlint --max-warnings=0","test":"vitest run","build":"tsc --build tsconfig.build.json --pretty","check":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm run test","format":"oxfmt --write .","prepare":"husky","test:e2e":"playwright test","changeset":"changeset","storybook":"storybook dev -p 6006 --no-open","typecheck":"tsc --build --pretty","test:watch":"vitest","format:check":"oxfmt --check .","prepublishOnly":"pnpm run build","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bdc1b859-f1a5-45e1-8f9c-1dfb2f4953cf"}},"repository":{"url":"git+https://github.com/lennondotw/layout-zoom.git","type":"git"},"_npmVersion":"11.11.0","description":"Scale content down and have it actually affect layout — transform: scale() inside a sized, clipping wrapper. CSS zoom semantics without WebKit's zoom font-metric bugs.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.10.0","readmeFilename":"README.md","devDependencies":{"vite":"^8.0.9","husky":"^9.1.7","oxfmt":"^0.60.0","react":"^19.2.6","motion":"^12.42.2","oxlint":"^1.61.0","vitest":"^4.1.6","happy-dom":"^20.9.0","react-dom":"^19.2.6","storybook":"^10.3.5","typescript":"^7.0.2","@types/node":"^26.1.1","tailwindcss":"^4.3.3","@types/react":"^19.2.14","@changesets/cli":"^2.31.0","@commitlint/cli":"^21.0.2","@playwright/test":"^1.62.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.3","@vitejs/plugin-react":"^6.0.1","@storybook/react-vite":"^10.3.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@changesets/changelog-github":"^0.7.0","@commitlint/config-conventional":"^21.0.2"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/layout-zoom_0.1.1-snapshot.202607281828.ae8d07dc_1785263312883_0.3576208655570081","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"layout-zoom","version":"0.1.1","keywords":["css-zoom","layout","polyfill","react","safari","scale","transform","webkit","zoom"],"author":{"name":"lennondotw"},"license":"MIT","_id":"layout-zoom@0.1.1","maintainers":[{"name":"reekystive","email":"reekystive@gmail.com"}],"homepage":"https://github.com/lennondotw/layout-zoom#readme","bugs":{"url":"https://github.com/lennondotw/layout-zoom/issues"},"dist":{"shasum":"c32df3266a0e280a0050a5d4a14adedd5ad97f1e","tarball":"https://registry.npmjs.org/layout-zoom/-/layout-zoom-0.1.1.tgz","fileCount":13,"integrity":"sha512-rS55wZN/KtHewDT2pSUefMzrNMrHlHzsvZegSi88jCfPS6OaomcHmNEXDW/LJ5pJ2hVjMJPCizxVg+jwC99+lQ==","signatures":[{"sig":"MEQCIEo4f2cZVgf0Kgb1WuHQlcLEqJoVuO8KX6KQ25gSBcMxAiAgdSfxBY4jy5qCxlbKSKhMjNrAm1IL4GhGoleZLsrAqA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29768},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles.css":"./styles.css","./package.json":"./package.json"},"gitHead":"ae8d07dc31c116def84e412321dd6d4e1b8d4157","scripts":{"lint":"NODE_OPTIONS='--experimental-strip-types' oxlint --max-warnings=0","test":"vitest run","build":"tsc --build tsconfig.build.json --pretty","check":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm run test","format":"oxfmt --write .","prepare":"husky","test:e2e":"playwright test","changeset":"changeset","storybook":"storybook dev -p 6006 --no-open","typecheck":"tsc --build --pretty","test:watch":"vitest","format:check":"oxfmt --check .","prepublishOnly":"pnpm run build","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bdc1b859-f1a5-45e1-8f9c-1dfb2f4953cf"}},"repository":{"url":"git+https://github.com/lennondotw/layout-zoom.git","type":"git"},"_npmVersion":"11.11.0","description":"Scale content down and have it actually affect layout — transform: scale() inside a sized, clipping wrapper. CSS zoom semantics without WebKit's zoom font-metric bugs.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.10.0","devDependencies":{"vite":"^8.0.9","husky":"^9.1.7","oxfmt":"^0.60.0","react":"^19.2.6","motion":"^12.42.2","oxlint":"^1.61.0","vitest":"^4.1.6","happy-dom":"^20.9.0","react-dom":"^19.2.6","storybook":"^10.3.5","typescript":"^7.0.2","@types/node":"^26.1.1","tailwindcss":"^4.3.3","@types/react":"^19.2.14","@changesets/cli":"^2.31.0","@commitlint/cli":"^21.0.2","@playwright/test":"^1.62.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.3","@vitejs/plugin-react":"^6.0.1","@storybook/react-vite":"^10.3.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@changesets/changelog-github":"^0.7.0","@commitlint/config-conventional":"^21.0.2"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/layout-zoom_0.1.1_1785263328072_0.9866004947592764","host":"s3://npm-registry-packages-npm-production"}},"0.1.1-snapshot.202607281834.ef961968":{"name":"layout-zoom","version":"0.1.1-snapshot.202607281834.ef961968","keywords":["aspect-ratio","css-zoom","layout","polyfill","react","safari","scale","transform","webkit","zoom"],"author":{"name":"lennondotw"},"license":"MIT","_id":"layout-zoom@0.1.1-snapshot.202607281834.ef961968","maintainers":[{"name":"reekystive","email":"reekystive@gmail.com"}],"homepage":"https://github.com/lennondotw/layout-zoom#readme","bugs":{"url":"https://github.com/lennondotw/layout-zoom/issues"},"dist":{"shasum":"9290ab11337839f23c850c3fff78e91fbe2a6711","tarball":"https://registry.npmjs.org/layout-zoom/-/layout-zoom-0.1.1-snapshot.202607281834.ef961968.tgz","fileCount":13,"integrity":"sha512-wz5CzmMcl9FcbYpZVsJZ4nr6rfZ+kXvMDQiRH/ycWUt5mcLlYrP/7Ca9zIQMRpxR6N5JRmUfK0+zGgtz4rcrxw==","signatures":[{"sig":"MEYCIQCeetPl58EA1SO0IYCNGHrfCwgmxL6Mq5DZ35woPrdbzAIhALkT/oTWsLX7jLfA9ERG6VbKDzlKvgI5Ucx/hSLW1n9v","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29828},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles.css":"./styles.css","./package.json":"./package.json"},"gitHead":"ef961968bf7ae80595f365815167359a854ac286","scripts":{"lint":"NODE_OPTIONS='--experimental-strip-types' oxlint --max-warnings=0","test":"vitest run","build":"tsc --build tsconfig.build.json --pretty","check":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm run test","format":"oxfmt --write .","prepare":"husky","test:e2e":"playwright test","changeset":"changeset","storybook":"storybook dev -p 6006 --no-open","typecheck":"tsc --build --pretty","test:watch":"vitest","format:check":"oxfmt --check .","prepublishOnly":"pnpm run build","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bdc1b859-f1a5-45e1-8f9c-1dfb2f4953cf"}},"repository":{"url":"git+https://github.com/lennondotw/layout-zoom.git","type":"git"},"_npmVersion":"11.11.0","description":"Scale content up or down and have it actually affect layout — CSS zoom semantics from transform: scale() in an explicitly sized wrapper, without WebKit's zoom font-metric bugs.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.10.0","readmeFilename":"README.md","devDependencies":{"vite":"^8.0.9","husky":"^9.1.7","oxfmt":"^0.60.0","react":"^19.2.6","motion":"^12.42.2","oxlint":"^1.61.0","vitest":"^4.1.6","happy-dom":"^20.9.0","react-dom":"^19.2.6","storybook":"^10.3.5","typescript":"^7.0.2","@types/node":"^26.1.1","tailwindcss":"^4.3.3","@types/react":"^19.2.14","@changesets/cli":"^2.31.0","@commitlint/cli":"^21.0.2","@playwright/test":"^1.62.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.3","@vitejs/plugin-react":"^6.0.1","@storybook/react-vite":"^10.3.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@changesets/changelog-github":"^0.7.0","@commitlint/config-conventional":"^21.0.2"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/layout-zoom_0.1.1-snapshot.202607281834.ef961968_1785263669147_0.834751827385606","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"layout-zoom","version":"0.1.2","keywords":["aspect-ratio","css-zoom","layout","polyfill","react","safari","scale","transform","webkit","zoom"],"author":{"name":"lennondotw"},"license":"MIT","_id":"layout-zoom@0.1.2","maintainers":[{"name":"reekystive","email":"reekystive@gmail.com"}],"homepage":"https://github.com/lennondotw/layout-zoom#readme","bugs":{"url":"https://github.com/lennondotw/layout-zoom/issues"},"dist":{"shasum":"f1941ce3f888ca1528693edd7e9b42bd86790e38","tarball":"https://registry.npmjs.org/layout-zoom/-/layout-zoom-0.1.2.tgz","fileCount":13,"integrity":"sha512-PbJQYq8QUGKAs9d5pLreDdyrx7xJhB2vXeXYCXd0WQc1dwfjWQqKC2xuvWWctRqUNc1asCzulYMBfXClgzz4cg==","signatures":[{"sig":"MEUCIEa9NtKkAdPIAkdLjVcb8ntz9GiZ0lW2PUnd/dKqS5p4AiEA9Ydjl51wbrO7JYfiD1nYuh7h/1rCsdggxzVsmemifgU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30712},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles.css":"./styles.css","./package.json":"./package.json"},"gitHead":"85d4bc75dad55bf90291e3e766c606de6e462233","scripts":{"lint":"NODE_OPTIONS='--experimental-strip-types' oxlint --max-warnings=0","test":"vitest run","build":"tsc --build tsconfig.build.json --pretty","check":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm run test","format":"oxfmt --write .","prepare":"husky","test:e2e":"playwright test","changeset":"changeset","storybook":"storybook dev -p 6006 --no-open","typecheck":"tsc --build --pretty","test:watch":"vitest","format:check":"oxfmt --check .","prepublishOnly":"pnpm run build","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bdc1b859-f1a5-45e1-8f9c-1dfb2f4953cf"}},"repository":{"url":"git+https://github.com/lennondotw/layout-zoom.git","type":"git"},"_npmVersion":"11.11.0","description":"React component that scales content up or down and has it actually affect layout — CSS zoom semantics from transform: scale() in an explicitly sized wrapper, without WebKit's zoom font-metric bugs.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.10.0","devDependencies":{"vite":"^8.0.9","husky":"^9.1.7","oxfmt":"^0.60.0","react":"^19.2.6","motion":"^12.42.2","oxlint":"^1.61.0","vitest":"^4.1.6","happy-dom":"^20.9.0","react-dom":"^19.2.6","storybook":"^10.3.5","typescript":"^7.0.2","@types/node":"^26.1.1","tailwindcss":"^4.3.3","@types/react":"^19.2.14","@changesets/cli":"^2.31.0","@commitlint/cli":"^21.0.2","@playwright/test":"^1.62.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.3","@vitejs/plugin-react":"^6.0.1","@storybook/react-vite":"^10.3.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@changesets/changelog-github":"^0.7.0","@commitlint/config-conventional":"^21.0.2"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/layout-zoom_0.1.2_1785263763558_0.8715129275058549","host":"s3://npm-registry-packages-npm-production"}},"0.1.2-snapshot.202607281837.85d4bc75":{"name":"layout-zoom","version":"0.1.2-snapshot.202607281837.85d4bc75","keywords":["aspect-ratio","css-zoom","layout","polyfill","react","safari","scale","transform","webkit","zoom"],"author":{"name":"lennondotw"},"license":"MIT","_id":"layout-zoom@0.1.2-snapshot.202607281837.85d4bc75","maintainers":[{"name":"reekystive","email":"reekystive@gmail.com"}],"homepage":"https://github.com/lennondotw/layout-zoom#readme","bugs":{"url":"https://github.com/lennondotw/layout-zoom/issues"},"dist":{"shasum":"c54ae55f590102f4b0f70284d18769f2b380cf9b","tarball":"https://registry.npmjs.org/layout-zoom/-/layout-zoom-0.1.2-snapshot.202607281837.85d4bc75.tgz","fileCount":13,"integrity":"sha512-m2pCk64XDfVfkRmna+V1lBHfbCOnO92MM3rUKYzsW23xEGT36hs6sivt1XKqTcXVI9n+/VCH01E9IbcVgsFy5Q==","signatures":[{"sig":"MEQCIAVkJnTrvR31Jo8yFkn2fnFmAoAJnRUs66fysNMpO0FEAiA/VYMkS652hFVQQPia4xn4wEJJ6XRYx6vTPNRQWfem0A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30743},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles.css":"./styles.css","./package.json":"./package.json"},"gitHead":"85d4bc75dad55bf90291e3e766c606de6e462233","scripts":{"lint":"NODE_OPTIONS='--experimental-strip-types' oxlint --max-warnings=0","test":"vitest run","build":"tsc --build tsconfig.build.json --pretty","check":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm run test","format":"oxfmt --write .","prepare":"husky","test:e2e":"playwright test","changeset":"changeset","storybook":"storybook dev -p 6006 --no-open","typecheck":"tsc --build --pretty","test:watch":"vitest","format:check":"oxfmt --check .","prepublishOnly":"pnpm run build","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bdc1b859-f1a5-45e1-8f9c-1dfb2f4953cf"}},"repository":{"url":"git+https://github.com/lennondotw/layout-zoom.git","type":"git"},"_npmVersion":"11.11.0","description":"React component that scales content up or down and has it actually affect layout — CSS zoom semantics from transform: scale() in an explicitly sized wrapper, without WebKit's zoom font-metric bugs.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.10.0","readmeFilename":"README.md","devDependencies":{"vite":"^8.0.9","husky":"^9.1.7","oxfmt":"^0.60.0","react":"^19.2.6","motion":"^12.42.2","oxlint":"^1.61.0","vitest":"^4.1.6","happy-dom":"^20.9.0","react-dom":"^19.2.6","storybook":"^10.3.5","typescript":"^7.0.2","@types/node":"^26.1.1","tailwindcss":"^4.3.3","@types/react":"^19.2.14","@changesets/cli":"^2.31.0","@commitlint/cli":"^21.0.2","@playwright/test":"^1.62.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.3","@vitejs/plugin-react":"^6.0.1","@storybook/react-vite":"^10.3.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@changesets/changelog-github":"^0.7.0","@commitlint/config-conventional":"^21.0.2"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/layout-zoom_0.1.2-snapshot.202607281837.85d4bc75_1785263831383_0.06280039225486544","host":"s3://npm-registry-packages-npm-production"}},"0.1.2-snapshot.202607281840.7ec2e2d0":{"name":"layout-zoom","version":"0.1.2-snapshot.202607281840.7ec2e2d0","keywords":["aspect-ratio","css-zoom","layout","polyfill","react","safari","scale","transform","webkit","zoom"],"author":{"name":"lennondotw"},"license":"MIT","_id":"layout-zoom@0.1.2-snapshot.202607281840.7ec2e2d0","maintainers":[{"name":"reekystive","email":"reekystive@gmail.com"}],"homepage":"https://github.com/lennondotw/layout-zoom#readme","bugs":{"url":"https://github.com/lennondotw/layout-zoom/issues"},"dist":{"shasum":"62107417dad1d514babf8831a551b7ca5935736f","tarball":"https://registry.npmjs.org/layout-zoom/-/layout-zoom-0.1.2-snapshot.202607281840.7ec2e2d0.tgz","fileCount":13,"integrity":"sha512-Sdkdd56me4khcE6xXeQCeNQqzMYmcwLb7b4JlfMxM264LYK3ZDjbP2gpyBMD2478+47JoIedsB/E4MPXMclQvQ==","signatures":[{"sig":"MEUCIQC9cpr8L1sV7hsDM3S6oi3ebpIQhucb/sBhYqF6xkISxgIgCInxiK6K2iawib/RBRKwGgqf6jvEzX1SPq1vkKA7+do=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31071},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles.css":"./styles.css","./package.json":"./package.json"},"gitHead":"7ec2e2d0a12ba286617bf81ff14d6ab104f8d9db","scripts":{"lint":"NODE_OPTIONS='--experimental-strip-types' oxlint --max-warnings=0","test":"vitest run","build":"tsc --build tsconfig.build.json --pretty","check":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm run test","format":"oxfmt --write .","prepare":"husky","test:e2e":"playwright test","changeset":"changeset","storybook":"storybook dev -p 6006 --no-open","typecheck":"tsc --build --pretty","test:watch":"vitest","format:check":"oxfmt --check .","prepublishOnly":"pnpm run build","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bdc1b859-f1a5-45e1-8f9c-1dfb2f4953cf"}},"repository":{"url":"git+https://github.com/lennondotw/layout-zoom.git","type":"git"},"_npmVersion":"11.11.0","description":"React component that scales content up or down and has it actually affect layout — CSS zoom semantics from transform: scale() in an explicitly sized wrapper, without WebKit's zoom font-metric bugs.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.10.0","readmeFilename":"README.md","devDependencies":{"vite":"^8.0.9","husky":"^9.1.7","oxfmt":"^0.60.0","react":"^19.2.6","motion":"^12.42.2","oxlint":"^1.61.0","vitest":"^4.1.6","happy-dom":"^20.9.0","react-dom":"^19.2.6","storybook":"^10.3.5","typescript":"^7.0.2","@types/node":"^26.1.1","tailwindcss":"^4.3.3","@types/react":"^19.2.14","@changesets/cli":"^2.31.0","@commitlint/cli":"^21.0.2","@playwright/test":"^1.62.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.3","@vitejs/plugin-react":"^6.0.1","@storybook/react-vite":"^10.3.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@changesets/changelog-github":"^0.7.0","@commitlint/config-conventional":"^21.0.2"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/layout-zoom_0.1.2-snapshot.202607281840.7ec2e2d0_1785264013144_0.6990923291348958","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"layout-zoom","version":"0.1.3","keywords":["aspect-ratio","css-zoom","layout","polyfill","react","safari","scale","transform","webkit","zoom"],"author":{"name":"lennondotw"},"license":"MIT","_id":"layout-zoom@0.1.3","maintainers":[{"name":"reekystive","email":"reekystive@gmail.com"}],"homepage":"https://github.com/lennondotw/layout-zoom#readme","bugs":{"url":"https://github.com/lennondotw/layout-zoom/issues"},"dist":{"shasum":"f22538857b85c37e909e926fa6d344a36ba43243","tarball":"https://registry.npmjs.org/layout-zoom/-/layout-zoom-0.1.3.tgz","fileCount":13,"integrity":"sha512-6LyhtJ89kNLsgp77bNJTucoeOa+MaM+7uMqQ2NVNHTb+Fiaa6RrpQPYSOK10jt9hjcNRmNf/n+LQtX2lRjcQgg==","signatures":[{"sig":"MEYCIQDosboi3zkNJ6Fvrb4Y/rHqe/sCwlqgNmx0FqJvWpC+dgIhAKMhEFHBCmdxNdVaBjlWKaetfPI7mDgLC8edvMSqelln","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31933},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles.css":"./styles.css","./package.json":"./package.json"},"gitHead":"22c21a5debbacad6fc3295f3c26c07024686bebf","scripts":{"lint":"NODE_OPTIONS='--experimental-strip-types' oxlint --max-warnings=0","test":"vitest run","build":"tsc --build tsconfig.build.json --pretty","check":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm run test","format":"oxfmt --write .","prepare":"husky","test:e2e":"playwright test","changeset":"changeset","storybook":"storybook dev -p 6006 --no-open","typecheck":"tsc --build --pretty","test:watch":"vitest","format:check":"oxfmt --check .","prepublishOnly":"pnpm run build","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bdc1b859-f1a5-45e1-8f9c-1dfb2f4953cf"}},"repository":{"url":"git+https://github.com/lennondotw/layout-zoom.git","type":"git"},"_npmVersion":"11.11.0","description":"React component that scales content up or down and has it actually affect layout — CSS zoom semantics from transform: scale() in an explicitly sized wrapper, without WebKit's zoom font-metric bugs.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.10.0","devDependencies":{"vite":"^8.0.9","husky":"^9.1.7","oxfmt":"^0.60.0","react":"^19.2.6","motion":"^12.42.2","oxlint":"^1.61.0","vitest":"^4.1.6","happy-dom":"^20.9.0","react-dom":"^19.2.6","storybook":"^10.3.5","typescript":"^7.0.2","@types/node":"^26.1.1","tailwindcss":"^4.3.3","@types/react":"^19.2.14","@changesets/cli":"^2.31.0","@commitlint/cli":"^21.0.2","@playwright/test":"^1.62.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.3","@vitejs/plugin-react":"^6.0.1","@storybook/react-vite":"^10.3.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@changesets/changelog-github":"^0.7.0","@commitlint/config-conventional":"^21.0.2"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/layout-zoom_0.1.3_1785264094820_0.7057357658455023","host":"s3://npm-registry-packages-npm-production"}},"0.1.3-snapshot.202607281841.22c21a5d":{"name":"layout-zoom","version":"0.1.3-snapshot.202607281841.22c21a5d","keywords":["aspect-ratio","css-zoom","layout","polyfill","react","safari","scale","transform","webkit","zoom"],"author":{"name":"lennondotw"},"license":"MIT","_id":"layout-zoom@0.1.3-snapshot.202607281841.22c21a5d","maintainers":[{"name":"reekystive","email":"reekystive@gmail.com"}],"homepage":"https://github.com/lennondotw/layout-zoom#readme","bugs":{"url":"https://github.com/lennondotw/layout-zoom/issues"},"dist":{"shasum":"9b344951eac7d47e2e7e02d6da0b0646f30e28e2","tarball":"https://registry.npmjs.org/layout-zoom/-/layout-zoom-0.1.3-snapshot.202607281841.22c21a5d.tgz","fileCount":13,"integrity":"sha512-MBG7MAEKTx5EcDjI9pgpHkTZ3ECScz5bbTN+0l0IpMV2KnDxEdw38kosMPzqNv2sNvslP+qmD/kVFqtFhwLQHA==","signatures":[{"sig":"MEYCIQDZP7qwNpYQMvks5ZuuIFNltf0TgCgFaHpOpyR7Yzpe9gIhANhFUhT29enz95SFwU5FAOcW0zCfIPdrpkRUOn/41doJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31964},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles.css":"./styles.css","./package.json":"./package.json"},"gitHead":"22c21a5debbacad6fc3295f3c26c07024686bebf","scripts":{"lint":"NODE_OPTIONS='--experimental-strip-types' oxlint --max-warnings=0","test":"vitest run","build":"tsc --build tsconfig.build.json --pretty","check":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm run test","format":"oxfmt --write .","prepare":"husky","test:e2e":"playwright test","changeset":"changeset","storybook":"storybook dev -p 6006 --no-open","typecheck":"tsc --build --pretty","test:watch":"vitest","format:check":"oxfmt --check .","prepublishOnly":"pnpm run build","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bdc1b859-f1a5-45e1-8f9c-1dfb2f4953cf"}},"repository":{"url":"git+https://github.com/lennondotw/layout-zoom.git","type":"git"},"_npmVersion":"11.11.0","description":"React component that scales content up or down and has it actually affect layout — CSS zoom semantics from transform: scale() in an explicitly sized wrapper, without WebKit's zoom font-metric bugs.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.10.0","readmeFilename":"README.md","devDependencies":{"vite":"^8.0.9","husky":"^9.1.7","oxfmt":"^0.60.0","react":"^19.2.6","motion":"^12.42.2","oxlint":"^1.61.0","vitest":"^4.1.6","happy-dom":"^20.9.0","react-dom":"^19.2.6","storybook":"^10.3.5","typescript":"^7.0.2","@types/node":"^26.1.1","tailwindcss":"^4.3.3","@types/react":"^19.2.14","@changesets/cli":"^2.31.0","@commitlint/cli":"^21.0.2","@playwright/test":"^1.62.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.3","@vitejs/plugin-react":"^6.0.1","@storybook/react-vite":"^10.3.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@changesets/changelog-github":"^0.7.0","@commitlint/config-conventional":"^21.0.2"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/layout-zoom_0.1.3-snapshot.202607281841.22c21a5d_1785264100410_0.12957984553978164","host":"s3://npm-registry-packages-npm-production"}},"0.1.3-snapshot.202607290509.2214bfc0":{"name":"layout-zoom","version":"0.1.3-snapshot.202607290509.2214bfc0","keywords":["aspect-ratio","css-zoom","layout","polyfill","react","safari","scale","transform","webkit","zoom"],"author":{"name":"lennondotw"},"license":"MIT","_id":"layout-zoom@0.1.3-snapshot.202607290509.2214bfc0","maintainers":[{"name":"reekystive","email":"reekystive@gmail.com"}],"homepage":"https://github.com/lennondotw/layout-zoom#readme","bugs":{"url":"https://github.com/lennondotw/layout-zoom/issues"},"dist":{"shasum":"2d44241080320cc3fade91aac4dcf41acb22e101","tarball":"https://registry.npmjs.org/layout-zoom/-/layout-zoom-0.1.3-snapshot.202607290509.2214bfc0.tgz","fileCount":17,"integrity":"sha512-fd+zCacNVtuedNtLFNNGe+Gubf+COQmnjtERD032uGrfCuiXgrnVptPeDxnmXOYslFt084BMmGJpVbkPuzUY2A==","signatures":[{"sig":"MEYCIQDnu0jpWHYSyLSW65B++wSlqRB8ECuawzUczGZfdAeBJAIhAMorql6F1cW9XweOhc5mnheukp1TvouxbRy9XMYjCBXX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39996},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles.css":"./styles.css","./package.json":"./package.json"},"gitHead":"2214bfc0be79c9b82c229ab67329bcd26e0cfa14","scripts":{"lint":"NODE_OPTIONS='--experimental-strip-types' oxlint --max-warnings=0","test":"vitest run","build":"tsc --build tsconfig.build.json --pretty","check":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm run build && pnpm run test","format":"oxfmt --write .","prepare":"husky","test:e2e":"playwright test","changeset":"changeset","storybook":"storybook dev -p 6006 --no-open","typecheck":"tsc --build --pretty","test:watch":"vitest","format:check":"oxfmt --check .","prepublishOnly":"pnpm run build","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bdc1b859-f1a5-45e1-8f9c-1dfb2f4953cf"}},"repository":{"url":"git+https://github.com/lennondotw/layout-zoom.git","type":"git"},"_npmVersion":"11.11.0","description":"React component that scales content up or down and has it actually affect layout — CSS zoom semantics from transform: scale() in an explicitly sized wrapper, without WebKit's zoom font-metric bugs.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.10.0","readmeFilename":"README.md","devDependencies":{"vite":"^8.0.9","husky":"^9.1.7","oxfmt":"^0.60.0","react":"^19.2.6","motion":"^12.42.2","oxlint":"^1.61.0","vitest":"^4.1.6","happy-dom":"^20.9.0","react-dom":"^19.2.6","storybook":"^10.3.5","typescript":"^7.0.2","@types/node":"^26.1.1","tailwindcss":"^4.3.3","@types/react":"^19.2.14","@changesets/cli":"^2.31.0","@commitlint/cli":"^21.0.2","@playwright/test":"^1.62.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.3","@vitejs/plugin-react":"^6.0.1","@storybook/react-vite":"^10.3.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@changesets/changelog-github":"^0.7.0","@commitlint/config-conventional":"^21.0.2"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/layout-zoom_0.1.3-snapshot.202607290509.2214bfc0_1785301801024_0.2315386996523081","host":"s3://npm-registry-packages-npm-production"}},"0.1.3-snapshot.202607290521.8e2a3c54":{"name":"layout-zoom","version":"0.1.3-snapshot.202607290521.8e2a3c54","keywords":["aspect-ratio","css-zoom","layout","polyfill","react","safari","scale","transform","webkit","zoom"],"author":{"name":"lennondotw"},"license":"MIT","_id":"layout-zoom@0.1.3-snapshot.202607290521.8e2a3c54","maintainers":[{"name":"reekystive","email":"reekystive@gmail.com"}],"homepage":"https://github.com/lennondotw/layout-zoom#readme","bugs":{"url":"https://github.com/lennondotw/layout-zoom/issues"},"dist":{"shasum":"376a666e149d68b376d6984355f059cf7c25c443","tarball":"https://registry.npmjs.org/layout-zoom/-/layout-zoom-0.1.3-snapshot.202607290521.8e2a3c54.tgz","fileCount":17,"integrity":"sha512-4DsqoWqph+5zyQ5X6vsOBRi/7mvN2imjeMaUFbYXN0qpiV32QZxoLLqeFwuDJPv3gws6jrMsq1sBI7RwB5uuGA==","signatures":[{"sig":"MEUCIQCJrJU+Wg1dzl986epvYTknNc815TJflPX2++s2FRxsCAIgecTvnKNozZYEGAZKeL8ToyrAl9YnuaRX5Fjk+6lr7oI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39996},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles.css":"./styles.css","./package.json":"./package.json"},"gitHead":"8e2a3c5447acf7f6cf49174e6a9989d98ec64431","scripts":{"lint":"NODE_OPTIONS='--experimental-strip-types' oxlint --max-warnings=0","test":"vitest run","build":"tsc --build tsconfig.build.json --pretty","check":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm run build && pnpm run test","format":"oxfmt --write .","prepare":"husky","test:e2e":"playwright test","changeset":"changeset","storybook":"storybook dev -p 6006 --no-open","typecheck":"tsc --build --pretty","test:watch":"vitest","format:check":"oxfmt --check .","prepublishOnly":"pnpm run build","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bdc1b859-f1a5-45e1-8f9c-1dfb2f4953cf"}},"repository":{"url":"git+https://github.com/lennondotw/layout-zoom.git","type":"git"},"_npmVersion":"11.11.0","description":"React component that scales content up or down and has it actually affect layout — CSS zoom semantics from transform: scale() in an explicitly sized wrapper, without WebKit's zoom font-metric bugs.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.10.0","readmeFilename":"README.md","devDependencies":{"vite":"^8.0.9","husky":"^9.1.7","oxfmt":"^0.60.0","react":"^19.2.6","motion":"^12.42.2","oxlint":"^1.61.0","vitest":"^4.1.6","happy-dom":"^20.9.0","react-dom":"^19.2.6","storybook":"^10.3.5","typescript":"^7.0.2","@types/node":"^26.1.1","tailwindcss":"^4.3.3","@types/react":"^19.2.14","@changesets/cli":"^2.31.0","@commitlint/cli":"^21.0.2","@playwright/test":"^1.62.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.3","@vitejs/plugin-react":"^6.0.1","@storybook/react-vite":"^10.3.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@changesets/changelog-github":"^0.7.0","@commitlint/config-conventional":"^21.0.2"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/layout-zoom_0.1.3-snapshot.202607290521.8e2a3c54_1785302501563_0.6774868290876119","host":"s3://npm-registry-packages-npm-production"}},"0.1.3-snapshot.202607290527.4e0da530":{"name":"layout-zoom","version":"0.1.3-snapshot.202607290527.4e0da530","keywords":["aspect-ratio","css-zoom","layout","polyfill","react","safari","scale","transform","webkit","zoom"],"author":{"name":"lennondotw"},"license":"MIT","_id":"layout-zoom@0.1.3-snapshot.202607290527.4e0da530","maintainers":[{"name":"reekystive","email":"reekystive@gmail.com"}],"homepage":"https://github.com/lennondotw/layout-zoom#readme","bugs":{"url":"https://github.com/lennondotw/layout-zoom/issues"},"dist":{"shasum":"807a4d14aa891f8c23fb45adc6fc5201f0e9b918","tarball":"https://registry.npmjs.org/layout-zoom/-/layout-zoom-0.1.3-snapshot.202607290527.4e0da530.tgz","fileCount":17,"integrity":"sha512-ARJHpHxKwHYYFA2J2SEsNZ4R2IjD9PktysVHYZ+oyjsrlFJfUkMajhYBpC1Hzpp5ICW7j+5/uN7RKSeg/tpE0w==","signatures":[{"sig":"MEYCIQCks1syiY8E1JMqelkkpO6vp5P9z0aAXtNYiPDkJ9xljwIhALsr3EV/vJiksITpOXwBxpr59EWtpwLrc90GrcQmbT0h","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39996},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles.css":"./styles.css","./package.json":"./package.json"},"gitHead":"4e0da53056446d858bdca692bfd47d44884ea26c","scripts":{"lint":"NODE_OPTIONS='--experimental-strip-types' oxlint --max-warnings=0","test":"vitest run","build":"tsc --build tsconfig.build.json --pretty","check":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm run build && pnpm run test","format":"oxfmt --write .","prepare":"husky","test:e2e":"playwright test","changeset":"changeset","storybook":"storybook dev -p 6006 --no-open","typecheck":"tsc --build --pretty","test:watch":"vitest","format:check":"oxfmt --check .","prepublishOnly":"pnpm run build","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bdc1b859-f1a5-45e1-8f9c-1dfb2f4953cf"}},"repository":{"url":"git+https://github.com/lennondotw/layout-zoom.git","type":"git"},"_npmVersion":"11.11.0","description":"React component that scales content up or down and has it actually affect layout — CSS zoom semantics from transform: scale() in an explicitly sized wrapper, without WebKit's zoom font-metric bugs.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.10.0","readmeFilename":"README.md","devDependencies":{"vite":"^8.0.9","husky":"^9.1.7","oxfmt":"^0.60.0","react":"^19.2.6","motion":"^12.42.2","oxlint":"^1.61.0","vitest":"^4.1.6","happy-dom":"^20.9.0","react-dom":"^19.2.6","storybook":"^10.3.5","typescript":"^7.0.2","@types/node":"^26.1.1","tailwindcss":"^4.3.3","@types/react":"^19.2.14","@changesets/cli":"^2.31.0","@commitlint/cli":"^21.0.2","@playwright/test":"^1.62.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.3","@vitejs/plugin-react":"^6.0.1","@storybook/react-vite":"^10.3.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@changesets/changelog-github":"^0.7.0","@commitlint/config-conventional":"^21.0.2"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/layout-zoom_0.1.3-snapshot.202607290527.4e0da530_1785302875156_0.4090421116669578","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"layout-zoom","version":"0.2.0","keywords":["aspect-ratio","css-zoom","layout","polyfill","react","safari","scale","transform","webkit","zoom"],"author":{"name":"lennondotw"},"license":"MIT","_id":"layout-zoom@0.2.0","maintainers":[{"name":"reekystive","email":"reekystive@gmail.com"}],"homepage":"https://github.com/lennondotw/layout-zoom#readme","bugs":{"url":"https://github.com/lennondotw/layout-zoom/issues"},"dist":{"shasum":"4166280f7e1f4383c92a46c66dafae0d0a0113c3","tarball":"https://registry.npmjs.org/layout-zoom/-/layout-zoom-0.2.0.tgz","fileCount":17,"integrity":"sha512-Zbj2OZGQR82HcgKh1utDVfkh2I9j1FbBEnjuLh4bZUwDbF09cYh5xggIPTBU0C+8OZbGK3o1l9D0Scks+TyfRQ==","signatures":[{"sig":"MEYCIQD6P5EjyUXiRIiJqgRQMb3+RVgsGmFFbxXBo7wSmVAKRAIhAKaJmBUbTkf25ce2bhfGqGglNEtfIT9oLGqd6Oo0futh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41260},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles.css":"./styles.css","./package.json":"./package.json"},"gitHead":"96b697964c330e52f095414bbe5e18827a152518","scripts":{"lint":"NODE_OPTIONS='--experimental-strip-types' oxlint --max-warnings=0","test":"vitest run","build":"tsc --build tsconfig.build.json --pretty","check":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm run build && pnpm run test","format":"oxfmt --write .","prepare":"husky","test:e2e":"playwright test","changeset":"changeset","storybook":"storybook dev -p 6006 --no-open","typecheck":"tsc --build --pretty","test:watch":"vitest","format:check":"oxfmt --check .","prepublishOnly":"pnpm run build","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bdc1b859-f1a5-45e1-8f9c-1dfb2f4953cf"}},"repository":{"url":"git+https://github.com/lennondotw/layout-zoom.git","type":"git"},"_npmVersion":"11.11.0","description":"React component that scales content up or down and has it actually affect layout — CSS zoom semantics from transform: scale() in an explicitly sized wrapper, without WebKit's zoom font-metric bugs.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.10.0","devDependencies":{"vite":"^8.0.9","husky":"^9.1.7","oxfmt":"^0.60.0","react":"^19.2.6","motion":"^12.42.2","oxlint":"^1.61.0","vitest":"^4.1.6","happy-dom":"^20.9.0","react-dom":"^19.2.6","storybook":"^10.3.5","typescript":"^7.0.2","@types/node":"^26.1.1","tailwindcss":"^4.3.3","@types/react":"^19.2.14","@changesets/cli":"^2.31.0","@commitlint/cli":"^21.0.2","@playwright/test":"^1.62.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.3","@vitejs/plugin-react":"^6.0.1","@storybook/react-vite":"^10.3.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@changesets/changelog-github":"^0.7.0","@commitlint/config-conventional":"^21.0.2"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/layout-zoom_0.2.0_1785303027409_0.5271763616859866","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-snapshot.202607290530.96b69796":{"name":"layout-zoom","version":"0.2.0-snapshot.202607290530.96b69796","keywords":["aspect-ratio","css-zoom","layout","polyfill","react","safari","scale","transform","webkit","zoom"],"author":{"name":"lennondotw"},"license":"MIT","_id":"layout-zoom@0.2.0-snapshot.202607290530.96b69796","maintainers":[{"name":"reekystive","email":"reekystive@gmail.com"}],"homepage":"https://github.com/lennondotw/layout-zoom#readme","bugs":{"url":"https://github.com/lennondotw/layout-zoom/issues"},"dist":{"shasum":"a9509eb6ed6c020631747454dd0d1c67e95fbd38","tarball":"https://registry.npmjs.org/layout-zoom/-/layout-zoom-0.2.0-snapshot.202607290530.96b69796.tgz","fileCount":17,"integrity":"sha512-o5z9nKnD7fk9sNBkvnbfngJlguvbDkPjK/qGLA7LbwuQC+a1rAjFowzdzKUh/ncEONwrdGq5ohvr8jAq1sgZ8g==","signatures":[{"sig":"MEUCIQDAkQKgp3o/5ohg75gvsrTFBir0gGEKNP7wLaYbM1A01AIgPQLehbtSkWZu/pCKMTyE8kLaK9uJCh1+9B/G36W44qE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41291},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles.css":"./styles.css","./package.json":"./package.json"},"gitHead":"96b697964c330e52f095414bbe5e18827a152518","scripts":{"lint":"NODE_OPTIONS='--experimental-strip-types' oxlint --max-warnings=0","test":"vitest run","build":"tsc --build tsconfig.build.json --pretty","check":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm run build && pnpm run test","format":"oxfmt --write .","prepare":"husky","test:e2e":"playwright test","changeset":"changeset","storybook":"storybook dev -p 6006 --no-open","typecheck":"tsc --build --pretty","test:watch":"vitest","format:check":"oxfmt --check .","prepublishOnly":"pnpm run build","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bdc1b859-f1a5-45e1-8f9c-1dfb2f4953cf"}},"repository":{"url":"git+https://github.com/lennondotw/layout-zoom.git","type":"git"},"_npmVersion":"11.11.0","description":"React component that scales content up or down and has it actually affect layout — CSS zoom semantics from transform: scale() in an explicitly sized wrapper, without WebKit's zoom font-metric bugs.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.10.0","readmeFilename":"README.md","devDependencies":{"vite":"^8.0.9","husky":"^9.1.7","oxfmt":"^0.60.0","react":"^19.2.6","motion":"^12.42.2","oxlint":"^1.61.0","vitest":"^4.1.6","happy-dom":"^20.9.0","react-dom":"^19.2.6","storybook":"^10.3.5","typescript":"^7.0.2","@types/node":"^26.1.1","tailwindcss":"^4.3.3","@types/react":"^19.2.14","@changesets/cli":"^2.31.0","@commitlint/cli":"^21.0.2","@playwright/test":"^1.62.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.3","@vitejs/plugin-react":"^6.0.1","@storybook/react-vite":"^10.3.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@changesets/changelog-github":"^0.7.0","@commitlint/config-conventional":"^21.0.2"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/layout-zoom_0.2.0-snapshot.202607290530.96b69796_1785303028847_0.009488480529466603","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-snapshot.202607290536.38439a0b":{"name":"layout-zoom","version":"0.2.0-snapshot.202607290536.38439a0b","keywords":["aspect-ratio","css-zoom","layout","polyfill","react","safari","scale","transform","webkit","zoom"],"author":{"name":"lennondotw"},"license":"MIT","_id":"layout-zoom@0.2.0-snapshot.202607290536.38439a0b","maintainers":[{"name":"reekystive","email":"reekystive@gmail.com"}],"homepage":"https://github.com/lennondotw/layout-zoom#readme","bugs":{"url":"https://github.com/lennondotw/layout-zoom/issues"},"dist":{"shasum":"661c990e9688fa46ef289fa026cbdc0c3a0fee0f","tarball":"https://registry.npmjs.org/layout-zoom/-/layout-zoom-0.2.0-snapshot.202607290536.38439a0b.tgz","fileCount":17,"integrity":"sha512-KOK8IcTLfte65oPCGWFYmVBlESJ9Zw1fHafSlDJFknFTIWKAeAX01mS1qeVPFIpZkDUmIhnIp+N8Y5y7TtWFQg==","signatures":[{"sig":"MEQCICyCjYhaCqbzUanzmDpXpze1W06SUP9SIpD3C9PGTQ1ZAiAtc+BxAA7bWKnSUUOerOASycdzrulHe+TkCVVa02o6Bw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41291},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles.css":"./styles.css","./package.json":"./package.json"},"gitHead":"38439a0b79b5a3c91125f71dcc581c26a667eb49","scripts":{"lint":"NODE_OPTIONS='--experimental-strip-types' oxlint --max-warnings=0","test":"vitest run","build":"tsc --build tsconfig.build.json --pretty","check":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm run build && pnpm run test","format":"oxfmt --write .","prepare":"husky","test:e2e":"playwright test","changeset":"changeset","storybook":"storybook dev -p 6006 --no-open","typecheck":"tsc --build --pretty","test:watch":"vitest","format:check":"oxfmt --check .","prepublishOnly":"pnpm run build","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bdc1b859-f1a5-45e1-8f9c-1dfb2f4953cf"}},"repository":{"url":"git+https://github.com/lennondotw/layout-zoom.git","type":"git"},"_npmVersion":"11.11.0","description":"React component that scales content up or down and has it actually affect layout — CSS zoom semantics from transform: scale() in an explicitly sized wrapper, without WebKit's zoom font-metric bugs.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.10.0","readmeFilename":"README.md","devDependencies":{"vite":"^8.0.9","husky":"^9.1.7","oxfmt":"^0.60.0","react":"^19.2.6","motion":"^12.42.2","oxlint":"^1.61.0","vitest":"^4.1.6","happy-dom":"^20.9.0","react-dom":"^19.2.6","storybook":"^10.3.5","typescript":"^7.0.2","@types/node":"^26.1.1","tailwindcss":"^4.3.3","@types/react":"^19.2.14","@changesets/cli":"^2.31.0","@commitlint/cli":"^21.0.2","@playwright/test":"^1.62.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.3","@vitejs/plugin-react":"^6.0.1","@storybook/react-vite":"^10.3.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@changesets/changelog-github":"^0.7.0","@commitlint/config-conventional":"^21.0.2"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/layout-zoom_0.2.0-snapshot.202607290536.38439a0b_1785303396396_0.13494194796831205","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-snapshot.202607290553.3f813302":{"name":"layout-zoom","version":"0.2.0-snapshot.202607290553.3f813302","keywords":["aspect-ratio","css-zoom","layout","polyfill","react","safari","scale","transform","webkit","zoom"],"author":{"name":"lennondotw"},"license":"MIT","_id":"layout-zoom@0.2.0-snapshot.202607290553.3f813302","maintainers":[{"name":"reekystive","email":"reekystive@gmail.com"}],"homepage":"https://github.com/lennondotw/layout-zoom#readme","bugs":{"url":"https://github.com/lennondotw/layout-zoom/issues"},"dist":{"shasum":"3bd7656e9643f4a1d741ebc78fd9ebf3dd6cfddd","tarball":"https://registry.npmjs.org/layout-zoom/-/layout-zoom-0.2.0-snapshot.202607290553.3f813302.tgz","fileCount":17,"integrity":"sha512-G3uEmHFblUswdxIH9gjHb064vW+D/x/Y9j0zgft4Xqg/8CMn0jt6cNG36L8TXHDbo3YDUWpMC41a5QwL9h4FvA==","signatures":[{"sig":"MEUCIQCsHZ45BgErtfTnjQf0WcyxBHC9bnM5Xrd7yyRC6VwdOAIgFv1/7pGae7I4+9gS4NVxy34HNtHJyUMjHL1LJNdD+Eg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42019},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles.css":"./styles.css","./package.json":"./package.json"},"gitHead":"3f813302e5ee1767f9294dfcde5b049dd1fe9fb3","scripts":{"lint":"NODE_OPTIONS='--experimental-strip-types' oxlint --max-warnings=0","test":"vitest run","build":"tsc --build tsconfig.build.json --pretty","check":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm run build && pnpm run test","format":"oxfmt --write .","prepare":"husky","test:e2e":"playwright test","changeset":"changeset","storybook":"storybook dev -p 6006 --no-open","typecheck":"tsc --build --pretty","test:watch":"vitest","format:check":"oxfmt --check .","prepublishOnly":"pnpm run build","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bdc1b859-f1a5-45e1-8f9c-1dfb2f4953cf"}},"repository":{"url":"git+https://github.com/lennondotw/layout-zoom.git","type":"git"},"_npmVersion":"11.11.0","description":"React component that scales content up or down and has it actually affect layout — CSS zoom semantics from transform: scale() in an explicitly sized wrapper, without WebKit's zoom font-metric bugs.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.10.0","readmeFilename":"README.md","devDependencies":{"vite":"^8.0.9","husky":"^9.1.7","oxfmt":"^0.60.0","react":"^19.2.6","motion":"^12.42.2","oxlint":"^1.61.0","vitest":"^4.1.6","happy-dom":"^20.9.0","react-dom":"^19.2.6","storybook":"^10.3.5","typescript":"^7.0.2","@types/node":"^26.1.1","tailwindcss":"^4.3.3","@types/react":"^19.2.14","@changesets/cli":"^2.31.0","@commitlint/cli":"^21.0.2","@playwright/test":"^1.62.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.3","@vitejs/plugin-react":"^6.0.1","@storybook/react-vite":"^10.3.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@changesets/changelog-github":"^0.7.0","@commitlint/config-conventional":"^21.0.2"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/layout-zoom_0.2.0-snapshot.202607290553.3f813302_1785304427311_0.20270112746542734","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-snapshot.202607290554.9efacc4a":{"name":"layout-zoom","version":"0.2.0-snapshot.202607290554.9efacc4a","keywords":["aspect-ratio","css-zoom","layout","polyfill","react","safari","scale","transform","webkit","zoom"],"author":{"name":"lennondotw"},"license":"MIT","_id":"layout-zoom@0.2.0-snapshot.202607290554.9efacc4a","maintainers":[{"name":"reekystive","email":"reekystive@gmail.com"}],"homepage":"https://github.com/lennondotw/layout-zoom#readme","bugs":{"url":"https://github.com/lennondotw/layout-zoom/issues"},"dist":{"shasum":"bb45809062c898cb70e4179dcf2dbdac87618a59","tarball":"https://registry.npmjs.org/layout-zoom/-/layout-zoom-0.2.0-snapshot.202607290554.9efacc4a.tgz","fileCount":17,"integrity":"sha512-Xr+WTksaMUpJvwRF4Z+fDvxBdOc6H1QbnKS8spBn+WsB6NDji9S+ge+sxeuDpFHwhGfsCo4LNKzH7kJ166LYaA==","signatures":[{"sig":"MEYCIQCBefsFITTWjBAtZNukHzAP2Cwt/hyoWYL1MBLZwC8cPQIhAI4quqSPhvU1MK1d8b8OqVZYOre8lakw/ESo1dbg+U7D","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42019},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles.css":"./styles.css","./package.json":"./package.json"},"gitHead":"9efacc4ab280a62442b49124603b384f4f9eecb2","scripts":{"lint":"NODE_OPTIONS='--experimental-strip-types' oxlint --max-warnings=0","test":"vitest run","build":"tsc --build tsconfig.build.json --pretty","check":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm run build && pnpm run test","format":"oxfmt --write .","prepare":"husky","test:e2e":"playwright test","changeset":"changeset","storybook":"storybook dev -p 6006 --no-open","typecheck":"tsc --build --pretty","test:watch":"vitest","format:check":"oxfmt --check .","prepublishOnly":"pnpm run build","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bdc1b859-f1a5-45e1-8f9c-1dfb2f4953cf"}},"repository":{"url":"git+https://github.com/lennondotw/layout-zoom.git","type":"git"},"_npmVersion":"11.11.0","description":"React component that scales content up or down and has it actually affect layout — CSS zoom semantics from transform: scale() in an explicitly sized wrapper, without WebKit's zoom font-metric bugs.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.10.0","readmeFilename":"README.md","devDependencies":{"vite":"^8.0.9","husky":"^9.1.7","oxfmt":"^0.60.0","react":"^19.2.6","motion":"^12.42.2","oxlint":"^1.61.0","vitest":"^4.1.6","happy-dom":"^20.9.0","react-dom":"^19.2.6","storybook":"^10.3.5","typescript":"^7.0.2","@types/node":"^26.1.1","tailwindcss":"^4.3.3","@types/react":"^19.2.14","@changesets/cli":"^2.31.0","@commitlint/cli":"^21.0.2","@playwright/test":"^1.62.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.3","@vitejs/plugin-react":"^6.0.1","@storybook/react-vite":"^10.3.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@changesets/changelog-github":"^0.7.0","@commitlint/config-conventional":"^21.0.2"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/layout-zoom_0.2.0-snapshot.202607290554.9efacc4a_1785304469708_0.6492364123159298","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-snapshot.202607290558.28c4e3e9":{"name":"layout-zoom","version":"0.2.0-snapshot.202607290558.28c4e3e9","keywords":["aspect-ratio","css-zoom","layout","polyfill","react","safari","scale","transform","webkit","zoom"],"author":{"name":"lennondotw"},"license":"MIT","_id":"layout-zoom@0.2.0-snapshot.202607290558.28c4e3e9","maintainers":[{"name":"reekystive","email":"reekystive@gmail.com"}],"homepage":"https://github.com/lennondotw/layout-zoom#readme","bugs":{"url":"https://github.com/lennondotw/layout-zoom/issues"},"dist":{"shasum":"3a7ee485b3981d0bde097fecb67a9386e65b3955","tarball":"https://registry.npmjs.org/layout-zoom/-/layout-zoom-0.2.0-snapshot.202607290558.28c4e3e9.tgz","fileCount":17,"integrity":"sha512-/BhEDCgvLBQI+2CB3VURstUMqkkwqutiBA5ZgYiK1yTl83vJFsy5u1uRK34kO0TscDAvxFjawSPnFtaVPvGhzw==","signatures":[{"sig":"MEQCIEo8PqfKgBuyBqrZR95LWqWu0Snj5Yt+eBPqT9L/3029AiBFGP5cKjH3afhr0K3z9NsrkFs/aAkZwC6tkk7TrDXHuQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42780},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles.css":"./styles.css","./package.json":"./package.json"},"gitHead":"28c4e3e93e2f8d38c192b7c5118151293ba1c374","scripts":{"lint":"NODE_OPTIONS='--experimental-strip-types' oxlint --max-warnings=0","test":"vitest run","build":"tsc --build tsconfig.build.json --pretty","check":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm run build && pnpm run test","format":"oxfmt --write .","prepare":"husky","test:e2e":"playwright test","changeset":"changeset","storybook":"storybook dev -p 6006 --no-open","typecheck":"tsc --build --pretty","test:watch":"vitest","format:check":"oxfmt --check .","prepublishOnly":"pnpm run build","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bdc1b859-f1a5-45e1-8f9c-1dfb2f4953cf"}},"repository":{"url":"git+https://github.com/lennondotw/layout-zoom.git","type":"git"},"_npmVersion":"11.11.0","description":"React component that scales content up or down and has it actually affect layout — CSS zoom semantics from transform: scale() in an explicitly sized wrapper, without WebKit's zoom font-metric bugs.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.10.0","readmeFilename":"README.md","devDependencies":{"vite":"^8.0.9","husky":"^9.1.7","oxfmt":"^0.60.0","react":"^19.2.6","motion":"^12.42.2","oxlint":"^1.61.0","vitest":"^4.1.6","happy-dom":"^20.9.0","react-dom":"^19.2.6","storybook":"^10.3.5","typescript":"^7.0.2","@types/node":"^26.1.1","tailwindcss":"^4.3.3","@types/react":"^19.2.14","@changesets/cli":"^2.31.0","@commitlint/cli":"^21.0.2","@playwright/test":"^1.62.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.3","@vitejs/plugin-react":"^6.0.1","@storybook/react-vite":"^10.3.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@changesets/changelog-github":"^0.7.0","@commitlint/config-conventional":"^21.0.2"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/layout-zoom_0.2.0-snapshot.202607290558.28c4e3e9_1785304710990_0.046342053714724774","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-snapshot.202607290604.aee9f7a3":{"name":"layout-zoom","version":"0.2.0-snapshot.202607290604.aee9f7a3","keywords":["aspect-ratio","css-zoom","layout","polyfill","react","safari","scale","transform","webkit","zoom"],"author":{"name":"lennondotw"},"license":"MIT","_id":"layout-zoom@0.2.0-snapshot.202607290604.aee9f7a3","maintainers":[{"name":"reekystive","email":"reekystive@gmail.com"}],"homepage":"https://github.com/lennondotw/layout-zoom#readme","bugs":{"url":"https://github.com/lennondotw/layout-zoom/issues"},"dist":{"shasum":"b24e70afe1b14631d9bf0124d11dc89fceedf6b6","tarball":"https://registry.npmjs.org/layout-zoom/-/layout-zoom-0.2.0-snapshot.202607290604.aee9f7a3.tgz","fileCount":17,"integrity":"sha512-dRV6n5szsBrQm/qOdHs5X6PyqFYU3hFfbaNqG/WjHp10Cz/42G9RPwjkgmtlRRU7/ms6HhIAJ+q4t5xFbY0YmA==","signatures":[{"sig":"MEUCIQD1jzyrdV4mqsLr8p3lBVx3PDciPYCnOu7aZVWDO6srhgIgGhfGJrvVT4PqHD3JPm7I4MlRL6x2A0aB+vvI+9FyZko=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42373},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles.css":"./styles.css","./package.json":"./package.json"},"gitHead":"aee9f7a3d89c89c33bb0ec9757cdbfd41c8eba0c","scripts":{"lint":"NODE_OPTIONS='--experimental-strip-types' oxlint --max-warnings=0","test":"vitest run","build":"tsc --build tsconfig.build.json --pretty","check":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm run build && pnpm run test","format":"oxfmt --write .","prepare":"husky","test:e2e":"playwright test","changeset":"changeset","storybook":"storybook dev -p 6006 --no-open","typecheck":"tsc --build --pretty","test:watch":"vitest","format:check":"oxfmt --check .","prepublishOnly":"pnpm run build","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bdc1b859-f1a5-45e1-8f9c-1dfb2f4953cf"}},"repository":{"url":"git+https://github.com/lennondotw/layout-zoom.git","type":"git"},"_npmVersion":"11.11.0","description":"React component that scales content up or down and has it actually affect layout — CSS zoom semantics from transform: scale() in an explicitly sized wrapper, without WebKit's zoom font-metric bugs.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.10.0","readmeFilename":"README.md","devDependencies":{"vite":"^8.0.9","husky":"^9.1.7","oxfmt":"^0.60.0","react":"^19.2.6","motion":"^12.42.2","oxlint":"^1.61.0","vitest":"^4.1.6","happy-dom":"^20.9.0","react-dom":"^19.2.6","storybook":"^10.3.5","typescript":"^7.0.2","@types/node":"^26.1.1","tailwindcss":"^4.3.3","@types/react":"^19.2.14","@changesets/cli":"^2.31.0","@commitlint/cli":"^21.0.2","@playwright/test":"^1.62.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.3","@vitejs/plugin-react":"^6.0.1","@storybook/react-vite":"^10.3.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@changesets/changelog-github":"^0.7.0","@commitlint/config-conventional":"^21.0.2"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/layout-zoom_0.2.0-snapshot.202607290604.aee9f7a3_1785305054094_0.9731994082861051","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-snapshot.202607290614.07a6bcbd":{"name":"layout-zoom","version":"0.2.0-snapshot.202607290614.07a6bcbd","keywords":["aspect-ratio","css-zoom","layout","polyfill","react","safari","scale","transform","webkit","zoom"],"author":{"name":"lennondotw"},"license":"MIT","_id":"layout-zoom@0.2.0-snapshot.202607290614.07a6bcbd","maintainers":[{"name":"reekystive","email":"reekystive@gmail.com"}],"homepage":"https://github.com/lennondotw/layout-zoom#readme","bugs":{"url":"https://github.com/lennondotw/layout-zoom/issues"},"dist":{"shasum":"a8a63dca54129739ee6e76eaf42cb1f1272ccb99","tarball":"https://registry.npmjs.org/layout-zoom/-/layout-zoom-0.2.0-snapshot.202607290614.07a6bcbd.tgz","fileCount":17,"integrity":"sha512-TxYjPEBVx63S4GxIdUdVfYqXR4oUmTVJF2PVDjBsb3kqtmHucOfeRBdsJU6WFTm41++XHQ5KsuScKk2erynZHg==","signatures":[{"sig":"MEUCIQCFxnbvJgRlJOiZ5Jb/p/sHIuiTatG3u8YfwfO5gFHYzAIgPOqpRwM46Tov0ERgqzHPbBcZ/Py6W3nHtDQ+5OJuTVA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42604},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles.css":"./styles.css","./package.json":"./package.json"},"gitHead":"07a6bcbda4ea77998e11b658ba9e422d2ec63a2b","scripts":{"lint":"NODE_OPTIONS='--experimental-strip-types' oxlint --max-warnings=0","size":"node scripts/measure-size.mjs","test":"vitest run","build":"tsc --build tsconfig.build.json --pretty","check":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm run build && pnpm run test","format":"oxfmt --write .","prepare":"husky","test:e2e":"playwright test","changeset":"changeset","storybook":"storybook dev -p 6006 --no-open","typecheck":"tsc --build --pretty","test:watch":"vitest","format:check":"oxfmt --check .","prepublishOnly":"pnpm run build","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bdc1b859-f1a5-45e1-8f9c-1dfb2f4953cf"}},"repository":{"url":"git+https://github.com/lennondotw/layout-zoom.git","type":"git"},"_npmVersion":"11.11.0","description":"React component that scales content up or down and has it actually affect layout — CSS zoom semantics from transform: scale() in an explicitly sized wrapper, without WebKit's zoom font-metric bugs.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.10.0","readmeFilename":"README.md","devDependencies":{"vite":"^8.0.9","husky":"^9.1.7","oxfmt":"^0.60.0","react":"^19.2.6","motion":"^12.42.2","oxlint":"^1.61.0","vitest":"^4.1.6","esbuild":"^0.28.1","happy-dom":"^20.9.0","react-dom":"^19.2.6","storybook":"^10.3.5","typescript":"^7.0.2","@types/node":"^26.1.1","tailwindcss":"^4.3.3","@types/react":"^19.2.14","@changesets/cli":"^2.31.0","@commitlint/cli":"^21.0.2","@playwright/test":"^1.62.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.3","@vitejs/plugin-react":"^6.0.1","@storybook/react-vite":"^10.3.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@changesets/changelog-github":"^0.7.0","@commitlint/config-conventional":"^21.0.2"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/layout-zoom_0.2.0-snapshot.202607290614.07a6bcbd_1785305703094_0.7408849472382366","host":"s3://npm-registry-packages-npm-production"}},"0.2.1-snapshot.202607290811.1a5ef3ba":{"name":"layout-zoom","version":"0.2.1-snapshot.202607290811.1a5ef3ba","keywords":["aspect-ratio","css-zoom","layout","polyfill","react","safari","scale","transform","webkit","zoom"],"author":{"name":"lennondotw"},"license":"MIT","_id":"layout-zoom@0.2.1-snapshot.202607290811.1a5ef3ba","maintainers":[{"name":"reekystive","email":"reekystive@gmail.com"}],"homepage":"https://github.com/lennondotw/layout-zoom#readme","bugs":{"url":"https://github.com/lennondotw/layout-zoom/issues"},"dist":{"shasum":"ee00bacdbb936abbfd6959fa92627e1d30e8bb66","tarball":"https://registry.npmjs.org/layout-zoom/-/layout-zoom-0.2.1-snapshot.202607290811.1a5ef3ba.tgz","fileCount":17,"integrity":"sha512-QH4Vn1jiKVlqVBNm6GJUlG6nCx8M9G66WdPi17dh07K75WWmAZw1YgYWBAUzEjgPcKXfcYit0EWh1mzl7KDAVg==","signatures":[{"sig":"MEQCIDhgPalEjcix8UCG3tiRFsLGqyCaKRYqPa7TlbawhmrAAiAH/nGtMiE9XWJkVQz0GxhtQINVRhDwVmrKqqbLlCk3OA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43979},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles.css":"./styles.css","./package.json":"./package.json"},"gitHead":"1a5ef3ba5bb157caf3e249eac14ddf1a51c94e49","scripts":{"lint":"NODE_OPTIONS='--experimental-strip-types' oxlint --max-warnings=0","size":"node scripts/measure-size.mjs","test":"vitest run","build":"tsc --build tsconfig.build.json --pretty","check":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm run build && pnpm run test","format":"oxfmt --write .","prepare":"husky","test:e2e":"playwright test","changeset":"changeset","storybook":"storybook dev -p 6006 --no-open","typecheck":"tsc --build --pretty","test:watch":"vitest","format:check":"oxfmt --check .","prepublishOnly":"pnpm run build","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bdc1b859-f1a5-45e1-8f9c-1dfb2f4953cf"}},"repository":{"url":"git+https://github.com/lennondotw/layout-zoom.git","type":"git"},"_npmVersion":"11.11.0","description":"React component that scales content up or down and has it actually affect layout — CSS zoom semantics from transform: scale() in an explicitly sized wrapper, without WebKit's zoom font-metric bugs.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.10.0","readmeFilename":"README.md","devDependencies":{"vite":"^8.0.9","husky":"^9.1.7","oxfmt":"^0.60.0","react":"^19.2.6","motion":"^12.42.2","oxlint":"^1.61.0","vitest":"^4.1.6","esbuild":"^0.28.1","happy-dom":"^20.9.0","react-dom":"^19.2.6","storybook":"^10.3.5","typescript":"^7.0.2","@types/node":"^26.1.1","tailwindcss":"^4.3.3","@types/react":"^19.2.14","@changesets/cli":"^2.31.0","@commitlint/cli":"^21.0.2","@playwright/test":"^1.62.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.3","@vitejs/plugin-react":"^6.0.1","@storybook/react-vite":"^10.3.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@changesets/changelog-github":"^0.7.0","@commitlint/config-conventional":"^21.0.2"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/layout-zoom_0.2.1-snapshot.202607290811.1a5ef3ba_1785312684546_0.7598970097862567","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"layout-zoom","version":"0.2.1","keywords":["aspect-ratio","css-zoom","layout","polyfill","react","safari","scale","transform","webkit","zoom"],"author":{"name":"lennondotw"},"license":"MIT","_id":"layout-zoom@0.2.1","maintainers":[{"name":"reekystive","email":"reekystive@gmail.com"}],"homepage":"https://github.com/lennondotw/layout-zoom#readme","bugs":{"url":"https://github.com/lennondotw/layout-zoom/issues"},"dist":{"shasum":"208e47f9aef903d1f8fb3dbc0af5a67e998d9d1b","tarball":"https://registry.npmjs.org/layout-zoom/-/layout-zoom-0.2.1.tgz","fileCount":17,"integrity":"sha512-L/HbdGmAT3sb1XdOt8ob9fdO7ajfplfkXy3jWFh95zaw0G+RdGSVJu0qEr7OQ1QF1tVCr4yyP0o0Aev82OWF9Q==","signatures":[{"sig":"MEUCIQDZsG6wWqAnTDFnhjLOZjXi99/fhADOE5yXs2vowkhPKAIgVGuBZbWVOCL9PXdMYzyJ3ipDDOWMNUa7I8OIZpokc5E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43948},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles.css":"./styles.css","./package.json":"./package.json"},"gitHead":"1a5ef3ba5bb157caf3e249eac14ddf1a51c94e49","scripts":{"lint":"NODE_OPTIONS='--experimental-strip-types' oxlint --max-warnings=0","size":"node scripts/measure-size.mjs","test":"vitest run","build":"tsc --build tsconfig.build.json --pretty","check":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm run build && pnpm run test","format":"oxfmt --write .","prepare":"husky","test:e2e":"playwright test","changeset":"changeset","storybook":"storybook dev -p 6006 --no-open","typecheck":"tsc --build --pretty","test:watch":"vitest","format:check":"oxfmt --check .","prepublishOnly":"pnpm run build","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bdc1b859-f1a5-45e1-8f9c-1dfb2f4953cf"}},"repository":{"url":"git+https://github.com/lennondotw/layout-zoom.git","type":"git"},"_npmVersion":"11.11.0","description":"React component that scales content up or down and has it actually affect layout — CSS zoom semantics from transform: scale() in an explicitly sized wrapper, without WebKit's zoom font-metric bugs.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.10.0","devDependencies":{"vite":"^8.0.9","husky":"^9.1.7","oxfmt":"^0.60.0","react":"^19.2.6","motion":"^12.42.2","oxlint":"^1.61.0","vitest":"^4.1.6","esbuild":"^0.28.1","happy-dom":"^20.9.0","react-dom":"^19.2.6","storybook":"^10.3.5","typescript":"^7.0.2","@types/node":"^26.1.1","tailwindcss":"^4.3.3","@types/react":"^19.2.14","@changesets/cli":"^2.31.0","@commitlint/cli":"^21.0.2","@playwright/test":"^1.62.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.3","@vitejs/plugin-react":"^6.0.1","@storybook/react-vite":"^10.3.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@changesets/changelog-github":"^0.7.0","@commitlint/config-conventional":"^21.0.2"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/layout-zoom_0.2.1_1785312702326_0.8249688200722289","host":"s3://npm-registry-packages-npm-production"}},"0.2.1-snapshot.202607290919.73bd3f7f":{"name":"layout-zoom","version":"0.2.1-snapshot.202607290919.73bd3f7f","keywords":["aspect-ratio","css-zoom","layout","polyfill","react","safari","scale","transform","webkit","zoom"],"author":{"name":"lennondotw"},"license":"MIT","_id":"layout-zoom@0.2.1-snapshot.202607290919.73bd3f7f","maintainers":[{"name":"reekystive","email":"reekystive@gmail.com"}],"homepage":"https://github.com/lennondotw/layout-zoom#readme","bugs":{"url":"https://github.com/lennondotw/layout-zoom/issues"},"dist":{"shasum":"753c535efff4be65daff499eadf990a4c40b1e19","tarball":"https://registry.npmjs.org/layout-zoom/-/layout-zoom-0.2.1-snapshot.202607290919.73bd3f7f.tgz","fileCount":17,"integrity":"sha512-jhIbQQeEIImR0FtUN7o7Rr/8Wt6/eM/OP2OZ+Skm+zrhnKrLJyUaJwWZckLNNls1xYqkqelwAF+oWbPG9zXZ3Q==","signatures":[{"sig":"MEYCIQCzFKYf6uJ/5WXRV7sItQN++KTm0IQD8mu7F6K15ZJ+xwIhAM4XfgJV9Zbp1x2Vj52PmaM5GVwaSwNY+o1jNMo4Zzc6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44089},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles.css":"./styles.css","./package.json":"./package.json"},"gitHead":"73bd3f7f8c7ea40957a1c9494da3e33babcab2b6","scripts":{"lint":"NODE_OPTIONS='--experimental-strip-types' oxlint --max-warnings=0","size":"node scripts/measure-size.mjs","test":"vitest run","build":"tsc --build tsconfig.build.json --pretty","check":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm run build && pnpm run test","format":"oxfmt --write .","prepare":"husky","test:e2e":"playwright test","changeset":"changeset","storybook":"storybook dev -p 6006 --no-open","typecheck":"tsc --build --pretty","test:watch":"vitest","format:check":"oxfmt --check .","prepublishOnly":"pnpm run build","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bdc1b859-f1a5-45e1-8f9c-1dfb2f4953cf"}},"repository":{"url":"git+https://github.com/lennondotw/layout-zoom.git","type":"git"},"_npmVersion":"11.11.0","description":"React component that scales content up or down and has it actually affect layout — CSS zoom semantics from transform: scale() in an explicitly sized wrapper, without WebKit's zoom font-metric bugs.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.10.0","readmeFilename":"README.md","devDependencies":{"vite":"^8.0.9","husky":"^9.1.7","oxfmt":"^0.60.0","react":"^19.2.6","motion":"^12.42.2","oxlint":"^1.61.0","vitest":"^4.1.6","esbuild":"^0.28.1","happy-dom":"^20.9.0","react-dom":"^19.2.6","storybook":"^10.3.5","typescript":"^7.0.2","@types/node":"^26.1.1","tailwindcss":"^4.3.3","@types/react":"^19.2.14","@changesets/cli":"^2.31.0","@commitlint/cli":"^21.0.2","@playwright/test":"^1.62.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.3","@vitejs/plugin-react":"^6.0.1","@storybook/react-vite":"^10.3.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@changesets/changelog-github":"^0.7.0","@commitlint/config-conventional":"^21.0.2"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/layout-zoom_0.2.1-snapshot.202607290919.73bd3f7f_1785316803030_0.9490461749611778","host":"s3://npm-registry-packages-npm-production"}},"0.2.2-snapshot.202607300754.2e9ebff8":{"name":"layout-zoom","version":"0.2.2-snapshot.202607300754.2e9ebff8","keywords":["aspect-ratio","css-zoom","layout","polyfill","react","safari","scale","transform","webkit","zoom"],"author":{"name":"lennondotw"},"license":"MIT","_id":"layout-zoom@0.2.2-snapshot.202607300754.2e9ebff8","maintainers":[{"name":"reekystive","email":"reekystive@gmail.com"}],"homepage":"https://github.com/lennondotw/layout-zoom#readme","bugs":{"url":"https://github.com/lennondotw/layout-zoom/issues"},"dist":{"shasum":"2adb68bb954018ac6d40dd19bbb7e6749c557ec3","tarball":"https://registry.npmjs.org/layout-zoom/-/layout-zoom-0.2.2-snapshot.202607300754.2e9ebff8.tgz","fileCount":17,"integrity":"sha512-qRIsuYUemu905nFNXQ08+cPkOoglVtGhZ2l9eznrZSg+wA4A84HhJ5C9gIQoJ4TyJXF8ARMTzmeCFwERZPBItg==","signatures":[{"sig":"MEYCIQDBwqwKTw1DGoFDAESSjOZz4+L2k3HZtp8bkMl0spv/CAIhANImJinUI+9awaVMIhtTZ9q7+/+QBeMt72SPcGR9HtDJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44662},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles.css":"./styles.css","./package.json":"./package.json"},"gitHead":"2e9ebff844bca019d309c9f735a35b4f4092e886","scripts":{"lint":"NODE_OPTIONS='--experimental-strip-types' oxlint --max-warnings=0","size":"node scripts/measure-size.mjs","test":"vitest run","build":"tsc --build tsconfig.build.json --pretty","check":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm run build && pnpm run test","format":"oxfmt --write .","prepare":"husky","test:e2e":"playwright test","changeset":"changeset","storybook":"storybook dev -p 6006 --no-open","typecheck":"tsc --build --pretty","test:watch":"vitest","format:check":"oxfmt --check .","prepublishOnly":"pnpm run build","build-storybook":"storybook build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bdc1b859-f1a5-45e1-8f9c-1dfb2f4953cf"}},"repository":{"url":"git+https://github.com/lennondotw/layout-zoom.git","type":"git"},"_npmVersion":"11.11.0","description":"React component that scales content up or down and has it actually affect layout — CSS zoom semantics from transform: scale() in an explicitly sized wrapper, without WebKit's zoom font-metric bugs.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.10.0","readmeFilename":"README.md","devDependencies":{"vite":"^8.0.9","husky":"^9.1.7","oxfmt":"^0.60.0","react":"^19.2.6","motion":"^12.42.2","oxlint":"^1.61.0","vitest":"^4.1.6","esbuild":"^0.28.1","happy-dom":"^20.9.0","react-dom":"^19.2.6","storybook":"^10.3.5","typescript":"^7.0.2","@types/node":"^26.1.1","tailwindcss":"^4.3.3","@types/react":"^19.2.14","@changesets/cli":"^2.31.0","@commitlint/cli":"^21.0.2","@playwright/test":"^1.62.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.3","@vitejs/plugin-react":"^6.0.1","@storybook/react-vite":"^10.3.5","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@changesets/changelog-github":"^0.7.0","@commitlint/config-conventional":"^21.0.2"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/layout-zoom_0.2.2-snapshot.202607300754.2e9ebff8_1785398081341_0.20944736272507258","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"layout-zoom","version":"0.2.2","description":"React component that scales content up or down and has it actually affect layout — CSS zoom semantics from transform: scale() in an explicitly sized wrapper, without WebKit's zoom font-metric bugs.","keywords":["aspect-ratio","css-zoom","layout","polyfill","react","safari","scale","transform","webkit","zoom"],"homepage":"https://github.com/lennondotw/layout-zoom#readme","bugs":{"url":"https://github.com/lennondotw/layout-zoom/issues"},"license":"MIT","author":{"name":"lennondotw"},"repository":{"type":"git","url":"git+https://github.com/lennondotw/layout-zoom.git"},"type":"module","sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles.css":"./styles.css","./package.json":"./package.json"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"scripts":{"build":"tsc --build tsconfig.build.json --pretty","build-storybook":"storybook build","changeset":"changeset","check":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm run build && pnpm run test","format":"oxfmt --write .","format:check":"oxfmt --check .","lint":"NODE_OPTIONS='--experimental-strip-types' oxlint --max-warnings=0","prepare":"husky","prepublishOnly":"pnpm run build","size":"node scripts/measure-size.mjs","storybook":"storybook dev -p 6006 --no-open","test":"vitest run","test:e2e":"playwright test","test:watch":"vitest","typecheck":"tsc --build --pretty"},"devDependencies":{"@changesets/changelog-github":"^0.7.0","@changesets/cli":"^2.31.0","@commitlint/cli":"^21.0.2","@commitlint/config-conventional":"^21.0.2","@playwright/test":"^1.62.0","@storybook/react-vite":"^10.3.5","@tailwindcss/vite":"^4.3.3","@testing-library/jest-dom":"^7.0.0","@testing-library/react":"^16.3.2","@types/node":"^26.1.1","@types/react":"^19.2.14","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1","esbuild":"^0.28.1","happy-dom":"^20.9.0","husky":"^9.1.7","motion":"^12.42.2","oxfmt":"^0.60.0","oxlint":"^1.61.0","react":"^19.2.6","react-dom":"^19.2.6","storybook":"^10.3.5","tailwindcss":"^4.3.3","typescript":"^7.0.2","vite":"^8.0.9","vitest":"^4.1.6"},"peerDependencies":{"react":"^19.0.0"},"packageManager":"pnpm@11.10.0","gitHead":"2e9ebff844bca019d309c9f735a35b4f4092e886","_id":"layout-zoom@0.2.2","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-6nlbdnoqciZsLqBgV45F9YMnb9QpkjesMQi9lf0eNyH7iN58BcOXrVNWAM4m3ponM0l3gomRV0wS36D+cMiehQ==","shasum":"223488f41f923ce0565ad946ac1a1dc60bbd7ea8","tarball":"https://registry.npmjs.org/layout-zoom/-/layout-zoom-0.2.2.tgz","fileCount":17,"unpackedSize":44631,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAxzALZD3DIjx2Tu2qDxkNq4PWNascXwhzyHq9oKFx+WAiBKVLDjly7+5awX1FNXLAE3P+PdoRDg8t7uQFQcpXTcoA=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bdc1b859-f1a5-45e1-8f9c-1dfb2f4953cf"}},"directories":{},"maintainers":[{"name":"reekystive","email":"reekystive@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/layout-zoom_0.2.2_1785398096381_0.8570643667397857"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-28T16:51:36.763Z","modified":"2026-07-30T07:54:56.674Z","0.0.1":"2026-07-28T16:51:36.969Z","0.1.0-snapshot.202607281705.87e25ba9":"2026-07-28T17:05:35.202Z","0.1.0-snapshot.202607281712.a34c9af5":"2026-07-28T17:12:34.949Z","0.1.0":"2026-07-28T17:33:29.468Z","0.1.0-snapshot.202607281827.61526871":"2026-07-28T18:27:40.739Z","0.1.1-snapshot.202607281828.ae8d07dc":"2026-07-28T18:28:33.036Z","0.1.1":"2026-07-28T18:28:48.232Z","0.1.1-snapshot.202607281834.ef961968":"2026-07-28T18:34:29.271Z","0.1.2":"2026-07-28T18:36:03.694Z","0.1.2-snapshot.202607281837.85d4bc75":"2026-07-28T18:37:11.526Z","0.1.2-snapshot.202607281840.7ec2e2d0":"2026-07-28T18:40:13.305Z","0.1.3":"2026-07-28T18:41:34.970Z","0.1.3-snapshot.202607281841.22c21a5d":"2026-07-28T18:41:40.535Z","0.1.3-snapshot.202607290509.2214bfc0":"2026-07-29T05:10:01.186Z","0.1.3-snapshot.202607290521.8e2a3c54":"2026-07-29T05:21:41.709Z","0.1.3-snapshot.202607290527.4e0da530":"2026-07-29T05:27:55.290Z","0.2.0":"2026-07-29T05:30:27.556Z","0.2.0-snapshot.202607290530.96b69796":"2026-07-29T05:30:29.036Z","0.2.0-snapshot.202607290536.38439a0b":"2026-07-29T05:36:36.526Z","0.2.0-snapshot.202607290553.3f813302":"2026-07-29T05:53:47.448Z","0.2.0-snapshot.202607290554.9efacc4a":"2026-07-29T05:54:29.851Z","0.2.0-snapshot.202607290558.28c4e3e9":"2026-07-29T05:58:31.162Z","0.2.0-snapshot.202607290604.aee9f7a3":"2026-07-29T06:04:14.285Z","0.2.0-snapshot.202607290614.07a6bcbd":"2026-07-29T06:15:03.282Z","0.2.1-snapshot.202607290811.1a5ef3ba":"2026-07-29T08:11:24.693Z","0.2.1":"2026-07-29T08:11:42.491Z","0.2.1-snapshot.202607290919.73bd3f7f":"2026-07-29T09:20:03.173Z","0.2.2-snapshot.202607300754.2e9ebff8":"2026-07-30T07:54:41.474Z","0.2.2":"2026-07-30T07:54:56.526Z"},"bugs":{"url":"https://github.com/lennondotw/layout-zoom/issues"},"author":{"name":"lennondotw"},"license":"MIT","homepage":"https://github.com/lennondotw/layout-zoom#readme","keywords":["aspect-ratio","css-zoom","layout","polyfill","react","safari","scale","transform","webkit","zoom"],"repository":{"type":"git","url":"git+https://github.com/lennondotw/layout-zoom.git"},"description":"React component that scales content up or down and has it actually affect layout — CSS zoom semantics from transform: scale() in an explicitly sized wrapper, without WebKit's zoom font-metric bugs.","maintainers":[{"name":"reekystive","email":"reekystive@gmail.com"}],"readme":"# layout-zoom\n\nA React component that scales content up or down and has it actually affect\nlayout.\n\n## Why\n\n`transform: scale()` resizes content but leaves a full-size hole in the layout.\nSiblings keep their distance as if nothing changed, because transforms are a\npaint-time operation — they never touch layout.\n\nCSS [`zoom`][mdn] resizes content _and_ participates in layout. That is what you\nactually want for previews, thumbnails, and magnified detail views: a card\nrendered at half size should occupy half the space, and one rendered at double\nsize should claim twice as much.\n\nSo why not just write `zoom: 0.5`? Two reasons, below.\n\n[mdn]: https://developer.mozilla.org/en-US/docs/Web/CSS/zoom\n\n## Background\n\n### 1. `zoom`'s compatibility floor is higher than it looks\n\n`zoom` is old — Chrome 4, Safari 4, Edge 12, Samsung Internet 4, Opera 15. But\nit was a non-standard Internet Explorer invention for most of its life, and\nFirefox refused to ship it until **Firefox 126 (May 2024)**, when it was\nfinally standardized in [CSS Viewport Module Level 1][spec].\n\nThat makes `zoom` [Baseline 2024 — Newly available][baseline], with roughly\n96% global support. Fine for most projects, but \"newly available\" is a much\nweaker guarantee than the Chrome-4 number suggests, and anything targeting\npre-May-2024 Firefox has no `zoom` at all.\n\n[spec]: https://drafts.csswg.org/css-viewport/#zoom-property\n[baseline]: https://developer.mozilla.org/en-US/docs/Web/CSS/zoom#browser_compatibility\n\n### 2. WebKit miscomputed font metrics under `zoom` for six years\n\nThis is the real problem, and it is worse than a rounding error — for a long\nstretch, iPadOS scaled font sizes in the **wrong direction**.\n\n| Date       | Event                                                                                                                                                                                                             |\n| ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Nov 2019   | First public report on the [Apple Developer Forums][forum]: on iPadOS 13, `zoom: 50%` applied to `font-size: 20px` produced a _computed_ `40px` instead of `10px`. Inverted. Not reproducible on iPhone or macOS. |\n| Apr 2024   | [WebKit #272339][b1] filed — `zoom` fails to scale `font-size` when combined with `-webkit-text-size-adjust: none` and an explicit `font-size`. iOS 17 / Safari 17. Chrome and desktop Safari unaffected.         |\n| May 2025   | [WebKit #293617][b2] filed — the broader iPad case: `zoom` interacts incorrectly with explicit `font-size`, `font-weight: bold`, `font-variant: small-caps`, and `font-style: italic`.                            |\n| 2026-05-07 | #272339 closed as a duplicate of #293617.                                                                                                                                                                         |\n| 2026-05-09 | Fix lands: [`312944@main`][fix] (`d221d71a6a56`, [PR #64504][pr]), plus `305413.862@safari-7624-branch` for the Safari branch.                                                                                    |\n| 2026-07-27 | Ships in [Safari 26.6][sr].                                                                                                                                                                                       |\n\n[forum]: https://developer.apple.com/forums/thread/126189\n[b1]: https://bugs.webkit.org/show_bug.cgi?id=272339\n[b2]: https://bugs.webkit.org/show_bug.cgi?id=293617\n[fix]: https://commits.webkit.org/312944@main\n[pr]: https://github.com/WebKit/WebKit/pull/64504\n[sr]: https://webkit.org/blog/18178/webkit-features-for-safari-26-6/\n\nSafari 26.6's release notes put it plainly, under CSS → Bug fixes:\n\n> Fixed an issue where CSS `zoom` interacted incorrectly with `font-size`,\n> `font-weight`, `font-variant`, and `font-style` on iPad when requesting the\n> desktop website. (176647969)\n\n#### Root cause\n\nSimon Fraser's [comment on #272339][b1] names the setup — one CSS property that\nmeans two different things depending on which platform you are on:\n\n> `-webkit-text-size-adjust` was added independently for macOS and iOS. On macOS\n> it means just this: don't scale the font size with zoom. On iOS it means\n> something different: don't apply font boosting logic.\n\nThe [fixing PR][pr] shows where those divergent semantics actually collided.\n`updateFontForTextSizeAdjust()` computed font sizes without accounting for the\nelement's zoom factor. When zoom was inherited from an ancestor, the\n`updateFontForZoomChange()` pass that ran afterwards then failed to recalculate\ncorrectly — and since font metrics were already wrong by that point, everything\nderived from them (`font-variant`, `font-weight`, `font-style`) rendered wrong\ntoo.\n\nThe fix, in `StyleBuilderState.cpp`, computes the zoom factor inside\n`updateFontForTextSizeAdjust()` — deliberately bypassing the minimum-font-size\nclamp, which should never apply to an author-specified `text-size-adjust` — and\nadds an early return to `updateFontForZoomChange()` so it stops overwriting\nsizes that were already correctly zoomed.\n\nIn other words: two passes over font size, each assuming the other had not run.\n\n#### Why the fix doesn't close the case\n\nThe trigger — **iPad requesting the desktop website** — sounds narrow, but iPad\nserves desktop sites by default for a large fraction of traffic, so in practice\nthis fires on ordinary page loads.\n\nMore importantly, the fix shipped on **2026-07-27**. Every iPad that has not\ntaken the 26.6 update still has the bug, and OS-update adoption curves are\nmeasured in quarters. If you ship to iPads today, you are shipping to a\nmeaningful population where native `zoom` mangles text.\n\n## How layout-zoom works\n\n`zoom` semantics, without `zoom`:\n\n- `transform: scale()` on the content, from `transform-origin: top left`\n- inside a wrapper explicitly sized to the **scaled** footprint\n\nThe wrapper is what restores layout participation — it is a real box of real\ndimensions, so siblings position against it correctly. The transform does the\nvisual scaling without ever consulting WebKit's font-size resolution, which is\nwhere all the bugs live.\n\nNothing is clipped, and no containment is applied. The scaled content exactly\nfills the wrapper, so there is nothing to clip but whatever a consumer paints\noutside its own box — focus rings, shadows, popovers — and native `zoom` would\nleave those alone too. If you want them clipped, `overflow: hidden` on your own\nclass does it.\n\n### The trade-off\n\nNative `zoom` re-runs layout at the target size, so glyphs are hinted and\nrasterized at the size you finally see. `transform` scales a box that was laid\nout at its unscaled size. In practice browsers re-rasterize a statically\ntransformed layer at its effective scale, so static text generally stays sharp —\nbut while a transform is _animating_, the compositor usually rasterizes once and\nscales the result, which softens text for the duration. Scaling up is where you\nnotice it most, since you are enlarging rather than shrinking that raster.\n\nThat is the price of correctness here, and it is the right trade: a softer\ntransition beats correct text on most platforms and wrong-sized text on iPad.\n\n## Install\n\n```bash\npnpm add layout-zoom\n```\n\nESM only. `react ^19` is a peer dependency, and the only one — nothing else is\nimported at runtime.\n\n### Size\n\n<!-- size:start -->\n\n**803 bytes** over the wire, once your bundler has done its usual work.\n\n|                                 |           |\n| ------------------------------- | --------- |\n| Published source, comments kept | 8290 B    |\n| Minified, comments stripped     | 2130 B    |\n| Minified + gzip                 | 953 B     |\n| **Minified + brotli**           | **803 B** |\n\n<!-- size:end -->\n\nThe published files are deliberately unminified and keep their comments: the\nbuild is `tsc`, not a bundler, so what ships is readable in `node_modules` and\nseveral of those comments explain why a line that looks removable is not. Your\nbundler minifies it along with everything else, so the readable copy costs your\nusers nothing.\n\nThose numbers are generated, not typed — `pnpm size --write` measures the built\noutput and rewrites the table above.\n\n## Usage\n\n```tsx\nimport { LayoutZoom } from 'layout-zoom'\n\nexport const Thumbnail = () => (\n  <LayoutZoom zoom={0.5} width={320} height={180}>\n    <Card />\n  </LayoutZoom>\n)\n```\n\nRenders a `160 × 90` box in the layout, containing `<Card />` drawn at its\nnatural `320 × 180` and scaled to half size. `zoom={2}` would instead claim\n`640 × 360`.\n\n### Sizing modes\n\nGive both axes, or either one with a ratio:\n\n```tsx\n<LayoutZoom zoom={0.5} width={320} height={180} />\n<LayoutZoom zoom={0.5} width={320} aspectRatio='16 / 9' />\n<LayoutZoom zoom={0.5} height={180} aspectRatio='16 / 9' />\n```\n\nAll three produce the same `160 × 90` footprint. The derived axis is resolved by\nthe layout engine rather than computed here, so it keeps working when a query\noverrides one of the properties.\n\nSupplying all three is harmless — with both axes definite the ratio is ignored,\nwhich is plain CSS behaviour rather than a rule this component invents.\n\n### Driving it from CSS\n\nSizing reads three custom properties. Props are a convenience that writes them\ninto inline style — anything you can express in CSS works too:\n\n| Property                     | Meaning                          | Default |\n| ---------------------------- | -------------------------------- | ------- |\n| `--layout-zoom-zoom`         | scale factor                     | `1`     |\n| `--layout-zoom-width`        | unscaled physical width          | —       |\n| `--layout-zoom-height`       | unscaled physical height         | —       |\n| `--layout-zoom-aspect-ratio` | derives whichever axis is absent | —       |\n\nThe arithmetic lives in `calc()`, not in JS, so overriding a property re-runs it\nin the layout engine with no React render involved. That buys you the thing\nprops cannot express — zoom that responds to a media or container query:\n\n```tsx\n<LayoutZoom className='thumb' width={320} height={180}>\n  <Card />\n</LayoutZoom>\n```\n\n```css\n.thumb {\n  --layout-zoom-zoom: 0.5;\n}\n\n@container (max-width: 400px) {\n  .thumb {\n    --layout-zoom-zoom: 0.25;\n  }\n}\n```\n\nA `zoom` prop, being inline style, always wins over a stylesheet value.\n\n### Writing modes\n\nSizing is physical, not flow-relative, and the scaled content is pinned to the\nphysical top-left. The box therefore keeps its orientation and geometry under\n`writing-mode: vertical-rl` — a thumbnail should not turn on its side because\nthe text around it does.\n\nThis is deliberate rather than an oversight about logical properties. `transform`\nand `transform-origin` have no flow-relative form in CSS, so a scaler built on\nthem cannot honestly follow the writing mode: sizing the box with `inline-size`\nwhile scaling from a physical origin is precisely what breaks it, leaving the\ncontent anchored to the flow start corner and clipped away entirely.\n\n### Animating the zoom\n\nImport the optional stylesheet to register `--layout-zoom-zoom` via `@property`:\n\n```ts\nimport 'layout-zoom/styles.css'\n```\n\n```css\n.thumb {\n  transition: --layout-zoom-zoom 200ms ease;\n}\n.thumb:hover {\n  --layout-zoom-zoom: 0.75;\n}\n```\n\nUnregistered custom properties are untyped token streams and cannot be\ninterpolated, so `transition` is a no-op without this. Note that native CSS\n`zoom` is [not animatable][mdn] at all — this is capability the property being\npolyfilled here does not have.\n\nEverything else works without the import.\n\n### Element props and refs\n\n`LayoutZoom` extends `ComponentPropsWithRef<'div'>`. Unrecognised props spread onto\nthe outer element, and `ref` points at it:\n\n```tsx\n<LayoutZoom ref={ref} zoom={0.5} width={320} height={180} onClick={open} data-id='card' />\n```\n\n`style` merges over the component's own layout styles and under the values\nderived from `zoom` / `width` / `height`.\n\n### Using Motion (previously Framer Motion)\n\n**Layout animations do not work inside a zoomed box.** If a subtree contains\n`layout` or `layoutId`, do not scale it with this component.\n\nMotion measures layout in painted space and applies its correction in the\nelement's local space, compensating only for transforms it applied itself —\n`treeScale` accumulates along its own projection nodes, and a plain CSS\n`transform` ancestor is not one. Inside a `zoom` of `1.5` the two spaces differ\nby exactly that factor, so every delta is applied 1.5× too far.\n\nIt is not subtle. In a segmented control whose indicator moves with `layoutId`,\nthe indicator leaves the control entirely — measured at 112px outside the range\nit should stay within, travelling in the wrong direction first.\n\nEverything else about Motion is fine: `animate`, gestures, `AnimatePresence`,\nand any transform- or opacity-based animation all behave normally, because none\nof them measure the page. This applies specifically to layout animation.\n\nThe workarounds do not work either — `layoutRoot`, and having Motion apply the\nscale, were both measured and both fail. What works is not scaling that\nsubtree: give it `zoom: 1` and author it at its final size. The full write-up,\nwith line-level references into Motion's source, is in\n[`archive/2026-07-motion-layout-animation`](./archive/2026-07-motion-layout-animation/README.md),\nand the `Shared layout animation` story demonstrates the failure.\n\n#### `MotionValue` does work\n\nEverything above is about layout animation. Driving the zoom itself from a\n`MotionValue` is fine, and needs nothing from this component — set the custom\nproperty on any ancestor and leave the `zoom` prop unset:\n\n```tsx\nexport const Zoomable = () => {\n  const zoom = useMotionValue(1)\n\n  return (\n    <motion.div style={{ '--layout-zoom-zoom': zoom }}>\n      <LayoutZoom width={320} height={180}>\n        <Card />\n      </LayoutZoom>\n    </motion.div>\n  )\n}\n```\n\nThe property inherits, so the box picks it up, and the footprint tracks it\nframe by frame — siblings reflow as it animates, which is the whole point.\n`motion.create(LayoutZoom)` works too, if you would rather not add a wrapper.\n\nDo **not** pass a `MotionValue` to the `zoom` prop. Props are written into\ninline style, which can only hold a string, so the box is sized from\n`[object Object]` and collapses. TypeScript rejects it, and a development-time\nwarning names the ancestor route if you get past the types.\n\nLeaving `zoom` unset is required for the ancestor route, not incidental: a prop\nlands in inline style and outranks the inherited value.\n\nOne unrelated trap while you are here: Motion only rewrites `borderRadius` to\nundo scale distortion when it is set in `px` or `%`. An `em` radius is returned\nuncorrected and the corners go square mid-animation.\n\n## Limitations\n\n- **A size is required**, from either props or custom properties. The wrapper\n  has to know the unscaled size to compute the scaled footprint. Native `zoom`\n  gets this for free from layout; a paint-stage polyfill cannot.\n- **Text softens while animating.** See the trade-off above.\n- **Motion layout animations break inside the box.** See above.\n- **Fractional footprints.** `width * zoom` can land on a subpixel value; that\n  is intentional — rounding introduces drift when boxes nest.\n\n## Development\n\n```bash\npnpm install\npnpm storybook   # play with the component\npnpm check       # lint + format + typecheck + test\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}