{"_id":"ink-scroll-view","_rev":"17-9f627e9d1b45bf3420cb2c3c26ef1e27","name":"ink-scroll-view","dist-tags":{"latest":"0.4.0"},"versions":{"0.0.1":{"name":"ink-scroll-view","version":"0.0.1","keywords":["react","ink","cli","terminal","scrollview","component","ui"],"author":{"name":"ByteLand Technology","email":"github@byteland.app"},"license":"MIT","_id":"ink-scroll-view@0.0.1","maintainers":[{"name":"byteland-technology","email":"npm@byteland.app"}],"homepage":"https://www.byteland.app/opensource/ink-scroll-view","bugs":{"url":"https://github.com/ByteLandTechnology/ink-scroll-view/issues"},"dist":{"shasum":"a82e98863d15a38557bcf525f088afdcf1dbc336","tarball":"https://registry.npmjs.org/ink-scroll-view/-/ink-scroll-view-0.0.1.tgz","fileCount":14,"integrity":"sha512-BQSmyLUkJEN1CDaRovIkXI7WUP3lQuF+MDfLsk5PfbLcAcw5zvkc9OiNnTefRgpV22V6gLqPq0dx+R/DNTPccQ==","signatures":[{"sig":"MEQCICHosYoMz5wUOKdbfd7+jB8JSQkHKWQL698E8RTQQf3rAiA7pJsw5S7uXpouWc4rsPHdYF2Ip1bm+mZlDDs8MImorA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47850},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","source":"src/index.tsx","gitHead":"44e52c04815c85d2c8c817ae1b493153a0ffd17f","scripts":{"docs":"typedoc","test":"vitest run","build":"tsc","prepare":"husky"},"_npmUser":{"name":"byteland-technology","email":"npm@byteland.app"},"repository":{"url":"git+https://github.com/ByteLandTechnology/ink-scroll-view.git","type":"git"},"_npmVersion":"11.6.0","description":"A ScrollView component for Ink CLI applications","directories":{},"_nodeVersion":"24.10.0","_hasShrinkwrap":false,"devDependencies":{"ink":"^6.5.1","husky":"^9.1.7","react":"^19.2.1","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ink":"^0.5.2","typescript":"^5.9.3","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@commitlint/cli":"^20.2.0","@sindresorhus/tsconfig":"^8.1.0","typedoc-plugin-markdown":"^4.9.0","@commitlint/config-conventional":"^20.2.0"},"peerDependencies":{"ink":"^4.0.0","react":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ink-scroll-view_0.0.1_1764992413553_0.27407595569207177","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"ink-scroll-view","version":"0.0.2","keywords":["react","ink","cli","terminal","scrollview","component","ui"],"author":{"name":"ByteLand Technology","email":"github@byteland.app"},"license":"MIT","_id":"ink-scroll-view@0.0.2","maintainers":[{"name":"byteland-technology","email":"npm@byteland.app"}],"homepage":"https://www.byteland.app/opensource/ink-scroll-view","bugs":{"url":"https://github.com/ByteLandTechnology/ink-scroll-view/issues"},"dist":{"shasum":"20caf2406884d960ef602944bd436f6902b319cd","tarball":"https://registry.npmjs.org/ink-scroll-view/-/ink-scroll-view-0.0.2.tgz","fileCount":14,"integrity":"sha512-J58KJtlowfwYXJneQOfUy6sbt0zAYEbKQTcIMxMcJRkBtD02Jbb5ldR7HhNH0zhulJeDNuQIAeqedxvGyLbEQA==","signatures":[{"sig":"MEQCIC8V5S9jvLnFpXsTkazgPT/FibEMUUAnZHhZRnr7smRCAiB2xw4a3eay9uyfw/x1XJMU2s0Nea6+K/njLS4BswuMFg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51166},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","source":"src/index.tsx","gitHead":"10931eb50f7a73d385e9c886306c3e64f317039b","scripts":{"docs":"typedoc","test":"vitest run","build":"tsc","prepare":"husky"},"_npmUser":{"name":"byteland-technology","email":"npm@byteland.app"},"repository":{"url":"git+https://github.com/ByteLandTechnology/ink-scroll-view.git","type":"git"},"_npmVersion":"11.6.0","description":"A ScrollView component for Ink CLI applications","directories":{},"_nodeVersion":"24.10.0","_hasShrinkwrap":false,"devDependencies":{"ink":"^6.5.1","husky":"^9.1.7","react":"^19.2.1","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ink":"^0.5.2","typescript":"^5.9.3","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@commitlint/cli":"^20.2.0","@sindresorhus/tsconfig":"^8.1.0","typedoc-plugin-markdown":"^4.9.0","@commitlint/config-conventional":"^20.2.0"},"peerDependencies":{"ink":"^4.0.0","react":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ink-scroll-view_0.0.2_1764997153177_0.9746930205671211","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"ink-scroll-view","version":"0.0.3","keywords":["react","ink","cli","terminal","scrollview","component","ui"],"author":{"name":"ByteLand Technology","email":"github@byteland.app"},"license":"MIT","_id":"ink-scroll-view@0.0.3","maintainers":[{"name":"byteland-technology","email":"npm@byteland.app"}],"homepage":"https://www.byteland.app/opensource/ink-scroll-view","bugs":{"url":"https://github.com/ByteLandTechnology/ink-scroll-view/issues"},"dist":{"shasum":"f0fadc4abbbbea77fe2e1c9c0e9b5da75ca3897e","tarball":"https://registry.npmjs.org/ink-scroll-view/-/ink-scroll-view-0.0.3.tgz","fileCount":14,"integrity":"sha512-BqLlHJbWoOQ5IUlIlvSnlt4CModzaHbGde6KbGlo+8OWhlNm3zMf4HwEc2jY7TZrPPw1gt/we3Y+R9/eY85AZA==","signatures":[{"sig":"MEUCIF1AqBjeLvtX0wVS1PRWmy8hKEO9qvtT1ZDBfli/POacAiEA2Rg7ho6ZqmTOpNt9rkxNGG81cHCS/zuLdTvjAU+BPaQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51160},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","source":"src/index.tsx","gitHead":"12af00d7d0cac27fcb69810c3be63029f8262eed","scripts":{"docs":"typedoc","test":"vitest run","build":"tsc","prepare":"husky"},"_npmUser":{"name":"byteland-technology","email":"npm@byteland.app"},"repository":{"url":"git+https://github.com/ByteLandTechnology/ink-scroll-view.git","type":"git"},"_npmVersion":"11.6.0","description":"A ScrollView component for Ink CLI applications","directories":{},"_nodeVersion":"24.10.0","_hasShrinkwrap":false,"devDependencies":{"ink":"^6.5.1","husky":"^9.1.7","react":"^19.2.1","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ink":"^0.5.2","typescript":"^5.9.3","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@commitlint/cli":"^20.2.0","@sindresorhus/tsconfig":"^8.1.0","typedoc-plugin-markdown":"^4.9.0","@commitlint/config-conventional":"^20.2.0"},"peerDependencies":{"ink":">=6","react":">=19"},"_npmOperationalInternal":{"tmp":"tmp/ink-scroll-view_0.0.3_1764997949931_0.7429168397417967","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"ink-scroll-view","version":"0.0.4","keywords":["react","ink","cli","terminal","scrollview","component","ui"],"author":{"name":"ByteLand Technology","email":"github@byteland.app"},"license":"MIT","_id":"ink-scroll-view@0.0.4","maintainers":[{"name":"byteland-technology","email":"npm@byteland.app"}],"homepage":"https://www.byteland.app/opensource/ink-scroll-view","bugs":{"url":"https://github.com/ByteLandTechnology/ink-scroll-view/issues"},"dist":{"shasum":"6f00152faa6231c7f12cee9b8617ed8028ddd607","tarball":"https://registry.npmjs.org/ink-scroll-view/-/ink-scroll-view-0.0.4.tgz","fileCount":5,"integrity":"sha512-E/GSYdGPuW03CAMcWuhv0b8BIFG5B7IJHlbcJjwTz/+ANaMkL9zJgNm4ok17o/tEhABmf1ZQnm4kTDJPXOhSDQ==","signatures":[{"sig":"MEQCIGkl3mPezyFOcgLfxtmRkxhbos+vmJjDJHjAYQimM9oHAiBq3mwAjo7lMsIt5bODmFHiNK5FD1PTQSDKbTMTxI/tvQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67023},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","source":"src/index.tsx","gitHead":"e9b5263b73aedb583cc5b8454b214ff951d28842","scripts":{"docs":"typedoc","test":"vitest run","build":"tsup","prepare":"husky"},"_npmUser":{"name":"byteland-technology","email":"npm@byteland.app"},"repository":{"url":"git+https://github.com/ByteLandTechnology/ink-scroll-view.git","type":"git"},"_npmVersion":"11.6.0","description":"A ScrollView component for Ink CLI applications","directories":{},"_nodeVersion":"24.10.0","_hasShrinkwrap":false,"devDependencies":{"ink":"^6.5.1","tsup":"^8.5.1","husky":"^9.1.7","react":"^19.2.1","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ink":"^0.5.2","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@commitlint/cli":"^20.2.0","@sindresorhus/tsconfig":"^8.1.0","typedoc-plugin-markdown":"^4.9.0","@commitlint/config-conventional":"^20.2.0"},"peerDependencies":{"ink":">=6","react":">=19"},"_npmOperationalInternal":{"tmp":"tmp/ink-scroll-view_0.0.4_1765001062010_0.6932504872583916","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"ink-scroll-view","version":"0.0.5","keywords":["react","ink","cli","terminal","scrollview","component","ui"],"author":{"name":"ByteLand Technology","email":"github@byteland.app"},"license":"MIT","_id":"ink-scroll-view@0.0.5","maintainers":[{"name":"byteland-technology","email":"npm@byteland.app"}],"homepage":"https://www.byteland.app/opensource/ink-scroll-view","bugs":{"url":"https://github.com/ByteLandTechnology/ink-scroll-view/issues"},"dist":{"shasum":"3567df3ecde40ed9bea4deab93f2951bc52759bf","tarball":"https://registry.npmjs.org/ink-scroll-view/-/ink-scroll-view-0.0.5.tgz","fileCount":5,"integrity":"sha512-CE3pCmg+8vRSBpqL9Wf7X6L13pWITUCv40SB5ty4il9YinVaWj6Soq8BjjSMJ/0jHpXXo5WXxVR0n9LIEuBS3w==","signatures":[{"sig":"MEYCIQCamBdPyQwdMcw6BYkugm3eZ6tPdh/S2nm5Z074Ir8BoAIhAOafb6oj6Mlx017chNyC0xWObgQKgZLd0NuxWAT7lRk/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67007},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","source":"src/index.tsx","gitHead":"b7bf65f7229e3c1f54defb5b5b5b1daf30fe07ee","scripts":{"docs":"typedoc && prettier --write docs/api","test":"vitest run","build":"tsup","prepare":"husky"},"_npmUser":{"name":"byteland-technology","email":"npm@byteland.app"},"repository":{"url":"git+https://github.com/ByteLandTechnology/ink-scroll-view.git","type":"git"},"_npmVersion":"11.6.0","description":"A ScrollView component for Ink CLI applications","directories":{},"_nodeVersion":"24.10.0","_hasShrinkwrap":false,"devDependencies":{"ink":"^6.5.1","tsup":"^8.5.1","husky":"^9.1.7","react":"^19.2.1","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ink":"^0.5.2","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@commitlint/cli":"^20.2.0","@sindresorhus/tsconfig":"^8.1.0","typedoc-plugin-markdown":"^4.9.0","@commitlint/config-conventional":"^20.2.0"},"peerDependencies":{"ink":">=6","react":">=19"},"_npmOperationalInternal":{"tmp":"tmp/ink-scroll-view_0.0.5_1765012160471_0.00499953926945973","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"ink-scroll-view","version":"0.0.6","keywords":["react","ink","cli","terminal","scrollview","component","ui"],"author":{"name":"ByteLand Technology","email":"github@byteland.app"},"license":"MIT","_id":"ink-scroll-view@0.0.6","maintainers":[{"name":"byteland-technology","email":"npm@byteland.app"}],"homepage":"https://www.byteland.app/opensource/ink-scroll-view","bugs":{"url":"https://github.com/ByteLandTechnology/ink-scroll-view/issues"},"dist":{"shasum":"dbf892483e03b1af3e11f034f423e51c78690342","tarball":"https://registry.npmjs.org/ink-scroll-view/-/ink-scroll-view-0.0.6.tgz","fileCount":5,"integrity":"sha512-PR1Y2tqhvmOyHIJpaHChAlHh2hUDlI+LjZPbtQpNbf5NL4fuTi4B6r322k2+QA76YyOD8h5IX35RhYdTToGLaA==","signatures":[{"sig":"MEUCIQDr+oHf0UU+ifwUP9TRZSNyBex3gpqewJAxoAXbh76+swIgfpG4pVRBuI2gsgUSVoM+fey+SjazhuXPe+qk18+ACKI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75191},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","source":"src/index.tsx","gitHead":"a9fab89baf358dc549df2f055e02d14807ca7eb8","scripts":{"docs":"typedoc && prettier --write docs/api","test":"vitest run","build":"tsup","prepare":"husky"},"_npmUser":{"name":"byteland-technology","email":"npm@byteland.app"},"repository":{"url":"git+https://github.com/ByteLandTechnology/ink-scroll-view.git","type":"git"},"_npmVersion":"11.6.0","description":"A ScrollView component for Ink CLI applications","directories":{},"_nodeVersion":"24.10.0","_hasShrinkwrap":false,"devDependencies":{"ink":"^6.5.1","tsup":"^8.5.1","husky":"^9.1.7","react":"^19.2.1","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ink":"^0.5.2","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@commitlint/cli":"^20.2.0","@sindresorhus/tsconfig":"^8.1.0","typedoc-plugin-markdown":"^4.9.0","@commitlint/config-conventional":"^20.2.0"},"peerDependencies":{"ink":">=6","react":">=19"},"_npmOperationalInternal":{"tmp":"tmp/ink-scroll-view_0.0.6_1765020646292_0.283950374309071","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"ink-scroll-view","version":"0.1.0","keywords":["react","ink","cli","terminal","scrollview","component","ui"],"author":{"name":"ByteLand Technology","email":"github@byteland.app"},"license":"MIT","_id":"ink-scroll-view@0.1.0","maintainers":[{"name":"byteland-technology","email":"npm@byteland.app"}],"homepage":"https://www.byteland.app/opensource/ink-scroll-view","bugs":{"url":"https://github.com/ByteLandTechnology/ink-scroll-view/issues"},"dist":{"shasum":"1af3bc94671d66e594ca7c5a349607b0e1d03f65","tarball":"https://registry.npmjs.org/ink-scroll-view/-/ink-scroll-view-0.1.0.tgz","fileCount":5,"integrity":"sha512-PfF/qGp5u9yBER3y2iEC9/Y17o8re1a7gGQg5tC2IQRsH/sebb52is4rB+UJKTLb4HMRBl99B0jI786w+uWflQ==","signatures":[{"sig":"MEQCIChs9U++yHXjXBnHmhG+ZlPfvTbjhnW0OLdTmVJ43iN6AiAZ7uSn/XP7Y+p7YNJH8JmzG5eqCsdRzqaYU9QujaUTNQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48294},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","source":"src/index.tsx","gitHead":"ef8d0b80b6133718d3247daa08b91a5263dec69b","scripts":{"docs":"typedoc && prettier --write docs/api","test":"vitest run","build":"tsup","prepare":"husky"},"_npmUser":{"name":"byteland-technology","email":"npm@byteland.app"},"repository":{"url":"git+https://github.com/ByteLandTechnology/ink-scroll-view.git","type":"git"},"_npmVersion":"11.6.0","description":"A ScrollView component for Ink CLI applications","directories":{},"_nodeVersion":"24.10.0","_hasShrinkwrap":false,"devDependencies":{"ink":"^6.5.1","tsup":"^8.5.1","husky":"^9.1.7","react":"^19.2.1","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ink":"^0.5.2","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@commitlint/cli":"^20.2.0","@sindresorhus/tsconfig":"^8.1.0","typedoc-plugin-markdown":"^4.9.0","@commitlint/config-conventional":"^20.2.0"},"peerDependencies":{"ink":">=6","react":">=19"},"_npmOperationalInternal":{"tmp":"tmp/ink-scroll-view_0.1.0_1765023622457_0.7506694709136135","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"ink-scroll-view","version":"0.2.0","keywords":["react","ink","cli","terminal","scrollview","component","ui"],"author":{"name":"ByteLand Technology","email":"github@byteland.app"},"license":"MIT","_id":"ink-scroll-view@0.2.0","maintainers":[{"name":"byteland-technology","email":"npm@byteland.app"}],"homepage":"https://www.byteland.app/opensource/ink-scroll-view","bugs":{"url":"https://github.com/ByteLandTechnology/ink-scroll-view/issues"},"dist":{"shasum":"e6397d68917e2ed018343e0699b25ce83111d1e4","tarball":"https://registry.npmjs.org/ink-scroll-view/-/ink-scroll-view-0.2.0.tgz","fileCount":5,"integrity":"sha512-3EZSYlcPLfTl0KJ7HqoDzh6GzGJMZRm4sFGk1S1KFDRtIlg5jXt+arRb4iqcDCkjB+H5UWrAvB1kKF+sNzeHfQ==","signatures":[{"sig":"MEUCIF7AmVslEo8CnmObiAi4XwVqUilWdnzZpwi3NvmdOUWLAiEA+jN/rQxGo147Bxd8r6L8jEFBwhRsSpuCzhJ5rT0n+/0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44064},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","source":"src/index.tsx","gitHead":"bc36dbce617da81c58fefd14ca61df8dcdc900f8","scripts":{"docs":"typedoc && prettier --write docs/api","test":"vitest run","build":"tsup","prepare":"husky"},"_npmUser":{"name":"byteland-technology","email":"npm@byteland.app"},"repository":{"url":"git+https://github.com/ByteLandTechnology/ink-scroll-view.git","type":"git"},"_npmVersion":"11.6.0","description":"A ScrollView component for Ink CLI applications","directories":{},"_nodeVersion":"24.10.0","_hasShrinkwrap":false,"devDependencies":{"ink":"^6.5.1","tsup":"^8.5.1","husky":"^9.1.7","react":"^19.2.1","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ink":"^0.5.2","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@commitlint/cli":"^20.2.0","@sindresorhus/tsconfig":"^8.1.0","typedoc-plugin-markdown":"^4.9.0","@commitlint/config-conventional":"^20.2.0"},"peerDependencies":{"ink":">=6","react":">=19"},"_npmOperationalInternal":{"tmp":"tmp/ink-scroll-view_0.2.0_1765119051166_0.21673250488541385","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"ink-scroll-view","version":"0.3.0","keywords":["react","ink","cli","terminal","scrollview","component","ui"],"author":{"name":"ByteLand Technology","email":"github@byteland.app"},"license":"MIT","_id":"ink-scroll-view@0.3.0","maintainers":[{"name":"byteland-technology","email":"npm@byteland.app"}],"homepage":"https://www.byteland.app/opensource/ink-scroll-view","bugs":{"url":"https://github.com/ByteLandTechnology/ink-scroll-view/issues"},"dist":{"shasum":"feccbf7d24c8f5fb3ce75aab24883f8815278626","tarball":"https://registry.npmjs.org/ink-scroll-view/-/ink-scroll-view-0.3.0.tgz","fileCount":5,"integrity":"sha512-3U84CBOBl3XlZ1YUoimI/EegDPCUfeed3fuX/LjAw4BesgLDsKFXyXreg+CZqLq78Px5l9K2UfQ4DpW1Jx9uig==","signatures":[{"sig":"MEUCIAfvhBZA7/ksTdVqFNPjpJXLrRuj3ZuM7MbDqePXh6u6AiEAruL9j6rjKsRttdZcAPvW5j9mss9c7xrNW3PX9w+9JpQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48305},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","source":"src/index.tsx","gitHead":"f40b4ae77e60b769866346d1aae87078994c910f","scripts":{"docs":"typedoc && prettier --write docs/api","test":"vitest run","build":"tsup","prepare":"husky"},"_npmUser":{"name":"byteland-technology","email":"npm@byteland.app"},"repository":{"url":"git+https://github.com/ByteLandTechnology/ink-scroll-view.git","type":"git"},"_npmVersion":"11.6.2","description":"A ScrollView component for Ink CLI applications","directories":{},"_nodeVersion":"25.2.0","_hasShrinkwrap":false,"devDependencies":{"ink":"^6.5.1","tsup":"^8.5.1","husky":"^9.1.7","react":"^19.2.1","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ink":"^0.5.2","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@commitlint/cli":"^20.2.0","@sindresorhus/tsconfig":"^8.1.0","typedoc-plugin-markdown":"^4.9.0","@commitlint/config-conventional":"^20.2.0"},"peerDependencies":{"ink":">=6","react":">=19"},"_npmOperationalInternal":{"tmp":"tmp/ink-scroll-view_0.3.0_1765173663004_0.9607000637684353","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"ink-scroll-view","version":"0.3.1","keywords":["react","ink","cli","terminal","scrollview","component","ui"],"author":{"name":"ByteLand Technology","email":"github@byteland.app"},"license":"MIT","_id":"ink-scroll-view@0.3.1","maintainers":[{"name":"byteland-technology","email":"npm@byteland.app"}],"homepage":"https://www.byteland.app/opensource/ink-scroll-view","bugs":{"url":"https://github.com/ByteLandTechnology/ink-scroll-view/issues"},"dist":{"shasum":"851edb0c28223f2ccf33fd4b2e897ca1f3bb0649","tarball":"https://registry.npmjs.org/ink-scroll-view/-/ink-scroll-view-0.3.1.tgz","fileCount":15,"integrity":"sha512-YZMH0pbCLXchMKwTz+Q6/STaUjhPKIUecjwGwjZcJb5oQLn2Q1sBrdZP9K9w+diaOddofQq+7NCRPxyiGrso7w==","signatures":[{"sig":"MEQCID2hmlUMpcTYPjQiRJCFEZheOxeshrN7coziDijSR3COAiB+dbMVCi2wRxlVY2gEVMsG/3+8qrmfu24nGPBAMqtU7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":439591},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","source":"src/index.tsx","gitHead":"4adc297e0ff817e67597fe088c3df17df93baffc","scripts":{"docs":"typedoc && prettier --write docs/api","test":"vitest run","build":"tsup","prepare":"husky"},"_npmUser":{"name":"byteland-technology","email":"npm@byteland.app"},"repository":{"url":"git+https://github.com/ByteLandTechnology/ink-scroll-view.git","type":"git"},"_npmVersion":"11.6.2","description":"A ScrollView component for Ink CLI applications","directories":{},"_nodeVersion":"25.2.0","_hasShrinkwrap":false,"devDependencies":{"ink":"^6.5.1","tsup":"^8.5.1","husky":"^9.1.7","react":"^19.2.1","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ink":"^0.5.2","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@commitlint/cli":"^20.2.0","@sindresorhus/tsconfig":"^8.1.0","typedoc-plugin-markdown":"^4.9.0","@commitlint/config-conventional":"^20.2.0"},"peerDependencies":{"ink":">=6","react":">=19"},"_npmOperationalInternal":{"tmp":"tmp/ink-scroll-view_0.3.1_1765422145732_0.39126577089971315","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"ink-scroll-view","version":"0.3.2","keywords":["react","ink","cli","terminal","scrollview","component","ui"],"author":{"name":"ByteLand Technology","email":"github@byteland.app"},"license":"MIT","_id":"ink-scroll-view@0.3.2","maintainers":[{"name":"byteland-technology","email":"npm@byteland.app"}],"homepage":"https://www.byteland.app/opensource/ink-scroll-view","bugs":{"url":"https://github.com/ByteLandTechnology/ink-scroll-view/issues"},"dist":{"shasum":"2ff4f82c3c78b6d358edd6688fd916a38d3a7e0f","tarball":"https://registry.npmjs.org/ink-scroll-view/-/ink-scroll-view-0.3.2.tgz","fileCount":15,"integrity":"sha512-+8JQpxMVzmOb3uwQy3StblqqJzIbEelzI5NIhUepe9ETh3GiPw4WDTV1fyH8LF5JzXmH4/8baY8VapI21p3ozw==","signatures":[{"sig":"MEYCIQDR4CXF6QL5t+XXM1wVHvKkh03FeADmJNbjVubvtWbiSwIhAIiI+NedIDDdvwM7q8sjdc8pzui2UbRLoladLI8vqGiO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":440963},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","source":"src/index.tsx","gitHead":"55b75a4f96933f3af01a5f5cb52e124592919afb","scripts":{"docs":"typedoc && prettier --write docs/api","test":"vitest run","build":"tsup","prepare":"husky"},"_npmUser":{"name":"byteland-technology","email":"npm@byteland.app"},"repository":{"url":"git+https://github.com/ByteLandTechnology/ink-scroll-view.git","type":"git"},"_npmVersion":"11.6.2","description":"A ScrollView component for Ink CLI applications","directories":{},"_nodeVersion":"25.2.0","_hasShrinkwrap":false,"devDependencies":{"ink":"^6.5.1","tsup":"^8.5.1","husky":"^9.1.7","react":"^19.2.1","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ink":"^0.5.2","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@commitlint/cli":"^20.2.0","@sindresorhus/tsconfig":"^8.1.0","typedoc-plugin-markdown":"^4.9.0","@commitlint/config-conventional":"^20.2.0"},"peerDependencies":{"ink":">=6","react":">=19"},"_npmOperationalInternal":{"tmp":"tmp/ink-scroll-view_0.3.2_1765776351312_0.11629435342898198","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"ink-scroll-view","version":"0.3.3","keywords":["react","ink","cli","terminal","scrollview","component","ui"],"author":{"name":"ByteLand Technology","email":"github@byteland.app"},"license":"MIT","_id":"ink-scroll-view@0.3.3","maintainers":[{"name":"byteland-technology","email":"npm@byteland.app"}],"homepage":"https://www.byteland.app/opensource/ink-scroll-view","bugs":{"url":"https://github.com/ByteLandTechnology/ink-scroll-view/issues"},"dist":{"shasum":"e809f7e229553112611ee3a51ef43a59d7d37e6c","tarball":"https://registry.npmjs.org/ink-scroll-view/-/ink-scroll-view-0.3.3.tgz","fileCount":15,"integrity":"sha512-pq3iJvQOu6Rt6WUDI59ZjXR/3e2pT7VnPL6q+FipgjK0JRrAsQATwI9RopwlNIHI/IQ1YvXsHEU+39LFJ77+VQ==","signatures":[{"sig":"MEYCIQDkbWu5plineOULJeXvDL/3KJLfAITYS7JjBJdbxQxZugIhAMY4hV3lzxcEa65bjmePARrYdexC5vuDRZbRzeViFWGR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":437816},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","source":"src/index.tsx","gitHead":"a5039e65e9c7f6ad564f512fa7e0134c37833aa6","scripts":{"docs":"typedoc && prettier --write docs/api","test":"vitest run","build":"tsup","prepare":"husky"},"_npmUser":{"name":"byteland-technology","email":"npm@byteland.app"},"repository":{"url":"git+https://github.com/ByteLandTechnology/ink-scroll-view.git","type":"git"},"_npmVersion":"11.6.2","description":"A ScrollView component for Ink CLI applications","directories":{},"_nodeVersion":"25.2.0","_hasShrinkwrap":false,"devDependencies":{"ink":"^6.5.1","tsup":"^8.5.1","husky":"^9.1.7","react":"^19.2.1","vitest":"^4.0.16","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ink":"^0.5.2","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@commitlint/cli":"^20.2.0","@sindresorhus/tsconfig":"^8.1.0","typedoc-plugin-markdown":"^4.9.0","@commitlint/config-conventional":"^20.2.0"},"peerDependencies":{"ink":">=6","react":">=19"},"_npmOperationalInternal":{"tmp":"tmp/ink-scroll-view_0.3.3_1767012037213_0.5157529809977921","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"ink-scroll-view","version":"0.3.4","keywords":["react","ink","cli","terminal","scrollview","component","ui"],"author":{"name":"ByteLand Technology","email":"github@byteland.app"},"license":"MIT","_id":"ink-scroll-view@0.3.4","maintainers":[{"name":"byteland-technology","email":"npm@byteland.app"}],"homepage":"https://www.byteland.app/opensource/ink-scroll-view","bugs":{"url":"https://github.com/ByteLandTechnology/ink-scroll-view/issues"},"dist":{"shasum":"c2ed1993195bbc96bacdf93772684abde0a42900","tarball":"https://registry.npmjs.org/ink-scroll-view/-/ink-scroll-view-0.3.4.tgz","fileCount":15,"integrity":"sha512-QgB7+Nfh/BZdi2VqkAu7m8Dl0offl4CofvVgcp67AUdY+MhQbj5PinD79xy2lAyprxDOsQmlMO4j5Bl8M3y7eQ==","signatures":[{"sig":"MEUCIFf4zxNs7lYbwWW9IwhuNbXOdZVtIq243uUqLN+c3EjDAiEApJPkPBpuFLX2SXS/Y6YnooyYzYOu3jNakyaZA3gvmP8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":438250},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","source":"src/index.tsx","gitHead":"3641a6b823e35b76ba2798346012242bf9d7907e","scripts":{"docs":"typedoc && prettier --write docs/api","test":"vitest run","build":"tsup","prepare":"husky"},"_npmUser":{"name":"byteland-technology","email":"npm@byteland.app"},"repository":{"url":"git+https://github.com/ByteLandTechnology/ink-scroll-view.git","type":"git"},"_npmVersion":"11.6.2","description":"A ScrollView component for Ink CLI applications","directories":{},"_nodeVersion":"25.2.0","_hasShrinkwrap":false,"devDependencies":{"ink":"^6.5.1","tsup":"^8.5.1","husky":"^9.1.7","react":"^19.2.1","vitest":"^4.0.16","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ink":"^0.5.2","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@commitlint/cli":"^20.2.0","@sindresorhus/tsconfig":"^8.1.0","typedoc-plugin-markdown":"^4.9.0","@commitlint/config-conventional":"^20.2.0"},"peerDependencies":{"ink":">=6","react":">=19"},"_npmOperationalInternal":{"tmp":"tmp/ink-scroll-view_0.3.4_1767165409415_0.0907541427783023","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"ink-scroll-view","version":"0.3.5","keywords":["react","ink","cli","terminal","scrollview","component","ui"],"author":{"name":"ByteLand Technology","email":"github@byteland.app"},"license":"MIT","_id":"ink-scroll-view@0.3.5","maintainers":[{"name":"byteland-technology","email":"npm@byteland.app"}],"homepage":"https://www.byteland.app/opensource/ink-scroll-view","bugs":{"url":"https://github.com/ByteLandTechnology/ink-scroll-view/issues"},"dist":{"shasum":"ce0d589f0dd3e411a984ca7a46a1930545137033","tarball":"https://registry.npmjs.org/ink-scroll-view/-/ink-scroll-view-0.3.5.tgz","fileCount":18,"integrity":"sha512-NDCKQz0DDvcLQEboXf25oGQ4g2VpoO3NojMC/eG+eaqEz9PDiGJyg7Y+HTa4QaCjogvME6A+IwGyV+yTLCGdaw==","signatures":[{"sig":"MEUCIQChzJE0qsuXwlqJyT9P3vSbAGpS1sV86iwe+q8C/xXzJwIgKlRx6aRZRdH0j98VPWfEopfYpa+QO79rr+JKy1uqoCw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":469592},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","source":"src/index.tsx","gitHead":"3b9eaf3b16f16b6c4a275e3724f443708ab236e2","scripts":{"docs":"typedoc && prettier --write docs/api","test":"vitest run","build":"tsup","prepare":"husky"},"_npmUser":{"name":"byteland-technology","email":"npm@byteland.app"},"repository":{"url":"git+https://github.com/ByteLandTechnology/ink-scroll-view.git","type":"git"},"_npmVersion":"11.6.2","description":"A ScrollView component for Ink CLI applications","directories":{},"_nodeVersion":"25.2.0","_hasShrinkwrap":false,"devDependencies":{"ink":"^6.5.1","tsup":"^8.5.1","husky":"^9.1.7","react":"^19.2.1","vitest":"^4.0.16","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ink":"^0.5.2","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@commitlint/cli":"^20.2.0","@sindresorhus/tsconfig":"^8.1.0","typedoc-plugin-markdown":"^4.9.0","@commitlint/config-conventional":"^20.2.0"},"peerDependencies":{"ink":">=6","react":">=19"},"_npmOperationalInternal":{"tmp":"tmp/ink-scroll-view_0.3.5_1767404127721_0.6945604647811361","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"ink-scroll-view","version":"0.3.6","keywords":["react","ink","cli","terminal","scrollview","component","ui"],"author":{"name":"ByteLand Technology","email":"github@byteland.app"},"license":"MIT","_id":"ink-scroll-view@0.3.6","maintainers":[{"name":"byteland-technology","email":"npm@byteland.app"}],"homepage":"https://www.byteland.app/opensource/ink-scroll-view","bugs":{"url":"https://github.com/ByteLandTechnology/ink-scroll-view/issues"},"dist":{"shasum":"057949458ab9879760f07532ecdd5724cc151318","tarball":"https://registry.npmjs.org/ink-scroll-view/-/ink-scroll-view-0.3.6.tgz","fileCount":18,"integrity":"sha512-XqLkmFFCA5Ow2lVyvv7q0aVHzB78XojIM8gZMQ3//lvy8ZDpJsXWtTRwsCEsdQHnwvMCDCnKCzgF4xkkzoN8mQ==","signatures":[{"sig":"MEQCIHATgIaF6dIrQMwFK52B9pxrtdW0QIsB08N+E7E1UWvoAiBbxe/3tFX/8PTFTQAPHGBJjeY9GYXgt9oP5LkLxObtBQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":469603},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","source":"src/index.tsx","gitHead":"ad3d42148505bac9db265164c6766f773abaabc7","scripts":{"docs":"typedoc && prettier --write docs/api","test":"vitest run","build":"tsup","prepare":"husky"},"_npmUser":{"name":"byteland-technology","email":"npm@byteland.app"},"repository":{"url":"git+https://github.com/ByteLandTechnology/ink-scroll-view.git","type":"git"},"_npmVersion":"11.8.0","description":"A ScrollView component for Ink CLI applications","directories":{},"_nodeVersion":"25.5.0","_hasShrinkwrap":false,"devDependencies":{"ink":"^6.5.1","tsup":"^8.5.1","husky":"^9.1.7","react":"^19.2.1","vitest":"^4.0.16","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ink":"^0.5.2","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@commitlint/cli":"^20.2.0","@sindresorhus/tsconfig":"^8.1.0","typedoc-plugin-markdown":"^4.9.0","@commitlint/config-conventional":"^20.2.0"},"peerDependencies":{"ink":"^5 || ^6","react":"^18 || ^19"},"_npmOperationalInternal":{"tmp":"tmp/ink-scroll-view_0.3.6_1770863653382_0.9740407160868667","host":"s3://npm-registry-packages-npm-production"}},"0.3.7":{"name":"ink-scroll-view","version":"0.3.7","keywords":["react","ink","cli","terminal","scrollview","component","ui"],"author":{"name":"ByteLand Technology","email":"github@byteland.app"},"license":"MIT","_id":"ink-scroll-view@0.3.7","maintainers":[{"name":"byteland-technology","email":"npm@byteland.app"}],"homepage":"https://www.byteland.app/opensource/ink-scroll-view","bugs":{"url":"https://github.com/ByteLandTechnology/ink-scroll-view/issues"},"dist":{"shasum":"8aa0bc1b40e88406978e640533ab31b769e7078c","tarball":"https://registry.npmjs.org/ink-scroll-view/-/ink-scroll-view-0.3.7.tgz","fileCount":18,"integrity":"sha512-lUBLxSbVry/+UtJhuvRu6wumP43+ScVp69J7e+hmYwz1kTkahWfkVwWOu7Mn1DMPb8AU8bnsmEsr6kvSJvnaRw==","signatures":[{"sig":"MEQCICjXEmmmMIp7T5dth56OmYY83FuZB+cK7ys+ArdyiBHpAiBHVa+tYiG63qrjf+TtEPZ5U7BlAghBELafltZ69cd0kQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":469581},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","source":"src/index.tsx","gitHead":"b8d0c5c1c9f9230b214d689bc1baf160ebb76261","scripts":{"docs":"typedoc && prettier --write docs/api","test":"vitest run","build":"tsup","prepare":"husky"},"_npmUser":{"name":"byteland-technology","email":"npm@byteland.app"},"repository":{"url":"git+https://github.com/ByteLandTechnology/ink-scroll-view.git","type":"git"},"_npmVersion":"11.13.0","description":"A ScrollView component for Ink CLI applications","directories":{},"_nodeVersion":"25.9.0","_hasShrinkwrap":false,"devDependencies":{"ink":"^7.0.1","tsup":"^8.5.1","husky":"^9.1.7","react":"^19.2.1","vitest":"^4.0.16","typedoc":"^0.28.15","prettier":"^3.7.4","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@commitlint/cli":"^20.2.0","@sindresorhus/tsconfig":"^8.1.0","typedoc-plugin-markdown":"^4.9.0","@commitlint/config-conventional":"^20.2.0"},"peerDependencies":{"ink":"^5 || ^6 || ^7","react":"^18 || ^19"},"_npmOperationalInternal":{"tmp":"tmp/ink-scroll-view_0.3.7_1778234502197_0.16543141549295814","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"ink-scroll-view","version":"0.4.0","description":"A ScrollView component for Ink CLI applications","keywords":["react","ink","cli","terminal","scrollview","component","ui"],"homepage":"https://www.byteland.app/opensource/ink-scroll-view","bugs":{"url":"https://github.com/ByteLandTechnology/ink-scroll-view/issues"},"repository":{"type":"git","url":"git+https://github.com/ByteLandTechnology/ink-scroll-view.git"},"license":"MIT","author":{"name":"ByteLand Technology","email":"github@byteland.app"},"type":"module","main":"dist/index.js","types":"dist/index.d.ts","source":"src/index.tsx","scripts":{"test":"vitest run","typecheck":"tsc --noEmit","prepare":"husky","build":"tsup","docs":"typedoc && prettier --write docs/api"},"peerDependencies":{"ink":"^7","react":">=19.2.0"},"devDependencies":{"@commitlint/cli":"^20.2.0","@commitlint/config-conventional":"^20.2.0","@sindresorhus/tsconfig":"^8.1.0","@types/node":"^24.10.1","@types/react":"^19.2.7","husky":"^9.1.7","ink":"^7.0.1","lint-staged":"^16.2.7","prettier":"^3.7.4","react":"^19.2.1","tsup":"^8.5.1","typedoc":"^0.28.15","typedoc-plugin-markdown":"^4.9.0","vitest":"^4.0.16"},"gitHead":"83a6ed9f302690074c38a03b2f9eeccb96ba8f01","_id":"ink-scroll-view@0.4.0","_nodeVersion":"26.8.1","_npmVersion":"11.13.0","dist":{"integrity":"sha512-MRUurhUNzQkZzA2D2q8hPb+JzOiD67x14WKlcoqmBLTukrUeKOp+5NOq8gKNubRG5v8r01sMGw5yyryCp1EGug==","shasum":"38fb45a75bb27ce0dd73f2feca5a06eaeaa7fc66","tarball":"https://registry.npmjs.org/ink-scroll-view/-/ink-scroll-view-0.4.0.tgz","fileCount":18,"unpackedSize":478233,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCsggaC5dRFQI8sd+bPU5JPHIiXS2CCx8qNj2ITjfr0ywIhAJl00QhIvTVjbcx2wsnE8FYeMAztt5RkRD5roTyIm4GI"}]},"_npmUser":{"name":"byteland-technology","email":"npm@byteland.app"},"directories":{},"maintainers":[{"name":"byteland-technology","email":"npm@byteland.app"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ink-scroll-view_0.4.0_1788949124331_0.4085270703652526"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-06T03:40:13.489Z","modified":"2026-09-09T10:18:44.652Z","0.0.1":"2025-12-06T03:40:13.689Z","0.0.2":"2025-12-06T04:59:13.334Z","0.0.3":"2025-12-06T05:12:30.107Z","0.0.4":"2025-12-06T06:04:22.161Z","0.0.5":"2025-12-06T09:09:20.630Z","0.0.6":"2025-12-06T11:30:46.442Z","0.1.0":"2025-12-06T12:20:22.613Z","0.2.0":"2025-12-07T14:50:51.323Z","0.3.0":"2025-12-08T06:01:03.137Z","0.3.1":"2025-12-11T03:02:25.909Z","0.3.2":"2025-12-15T05:25:51.447Z","0.3.3":"2025-12-29T12:40:37.375Z","0.3.4":"2025-12-31T07:16:49.582Z","0.3.5":"2026-01-03T01:35:27.920Z","0.3.6":"2026-02-12T02:34:13.542Z","0.3.7":"2026-05-08T10:01:42.429Z","0.4.0":"2026-09-09T10:18:44.509Z"},"bugs":{"url":"https://github.com/ByteLandTechnology/ink-scroll-view/issues"},"author":{"name":"ByteLand Technology","email":"github@byteland.app"},"license":"MIT","homepage":"https://www.byteland.app/opensource/ink-scroll-view","keywords":["react","ink","cli","terminal","scrollview","component","ui"],"repository":{"type":"git","url":"git+https://github.com/ByteLandTechnology/ink-scroll-view.git"},"description":"A ScrollView component for Ink CLI applications","maintainers":[{"name":"byteland-technology","email":"npm@byteland.app"}],"readme":"# ink-scroll-view\n\nA robust, performance-optimized ScrollView component for [Ink](https://github.com/vadimdemedes/ink) CLI applications.\n\n![License](https://img.shields.io/npm/l/ink-scroll-view?style=flat-square) ![Version](https://img.shields.io/npm/v/ink-scroll-view?style=flat-square) ![Downloads](https://img.shields.io/npm/d18m/ink-scroll-view?style=flat-square)\n\nVisit the [**Project Website**](https://ink-scroll-view.byteland.app).\n\n## 📘 Documentation\n\nRead the [**Documentation**](https://ink-scroll-view.byteland.app/docs).\n\n## ✨ Features\n\n- **📦 Flexible Container**: Handles content larger than the visible terminal viewport.\n- **⚡ Performance First**:\n  - **Optimistic Updates**: Immediate state updates for smoother interaction.\n  - **Efficient Re-rendering**: Renders all children but strictly manages visibility via `overflow` and offsets, ensuring correct layout without layout thrashing.\n- **📏 Auto-Measurement**: Automatically measures child heights using a virtually rendered DOM.\n- **🔁 Dynamic Content**: Supports adding, removing, and expanding/collapsing items on the fly.\n- **⚓️ Layout Stability**: Includes logic to maintain scroll position context when content changes.\n\n## 🎬 Demos\n\nTry the interactive [**Showcase**](https://ink-scroll-view.byteland.app/showcase).\n\n### Scrolling\n\n![Scrolling Demo](docs/_media/scroll.svg)\n\n### Dynamic Items\n\n![Dynamic Items Demo](docs/_media/items.svg)\n\n### Expand/Collapse\n\n![Expand Demo](docs/_media/expand.svg)\n\n### Resize\n\n![Resize Demo](docs/_media/resize.svg)\n\n### Dynamic Width\n\n![Width Demo](docs/_media/width.svg)\n\n## 📦 Installation\n\n```bash\nnpm install ink-scroll-view\n# Peer dependencies\nnpm install ink react\n```\n\n## ✅ Compatibility\n\n| `ink-scroll-view` | Ink  | React    | Node  |\n| ----------------- | ---- | -------- | ----- |\n| `0.4.x`           | 7    | >= 19.2  | >= 22 |\n| `0.3.x`           | 5, 6 | 18 or 19 | >= 18 |\n\n**Using Ink 5 or 6?** Install the previous line instead:\n\n```bash\nnpm install ink-scroll-view@0.3.7\n```\n\nInk 5 requires React 18, while Ink 6 and 7 require React 19 — the two are not\ninterchangeable. `0.3.x` is no longer maintained.\n\n## 🚀 Usage\n\n`ScrollView` is a layout primitive. It **does not** capture user input automatically. You must control it programmatically using React `refs` and Ink's `useInput`.\n\n```tsx\nimport React, { useRef } from \"react\";\nimport { render, Text, Box, useInput } from \"ink\";\nimport { ScrollView, ScrollViewRef } from \"ink-scroll-view\";\n\nconst App = () => {\n  const scrollRef = useRef<ScrollViewRef>(null);\n\n  // Terminal resizes are handled automatically — just handle keyboard input.\n  useInput((input, key) => {\n    if (key.upArrow) {\n      scrollRef.current?.scrollBy(-1); // Scroll up 1 line\n    }\n    if (key.downArrow) {\n      scrollRef.current?.scrollBy(1); // Scroll down 1 line\n    }\n    if (key.pageUp) {\n      // Scroll up by viewport height\n      const height = scrollRef.current?.getViewportHeight() || 1;\n      scrollRef.current?.scrollBy(-height);\n    }\n    if (key.pageDown) {\n      const height = scrollRef.current?.getViewportHeight() || 1;\n      scrollRef.current?.scrollBy(height);\n    }\n  });\n\n  return (\n    <Box\n      height={10}\n      width=\"100%\"\n      borderStyle=\"single\"\n      borderColor=\"green\"\n      flexDirection=\"column\"\n    >\n      <ScrollView ref={scrollRef}>\n        {Array.from({ length: 50 }).map((_, i) => (\n          <Text key={i}>Item {i + 1} - content with variable length...</Text>\n        ))}\n      </ScrollView>\n    </Box>\n  );\n};\n\nrender(<App />);\n```\n\n## 📐 How it Works\n\nThe component renders all children into a container but shifts the content vertically using `marginTop`. The parent box with `overflow=\"hidden\"` acts as the \"viewport\".\n\n```\n┌─────────────────────────┐\n│  (hidden content)       │ ← Content above viewport\n│  ...                    │\n├─────────────────────────┤ ← scrollOffset (distance from top)\n│  ┌───────────────────┐  │\n│  │ Visible Viewport  │  │ ← What user sees\n│  │                   │  │\n│  └───────────────────┘  │\n├─────────────────────────┤\n│  (hidden content)       │ ← Content below viewport\n│  ...                    │\n└─────────────────────────┘\n```\n\n## 📚 API Reference\n\nFor detailed API documentation, see [API Reference](docs/api/README.md).\n\n### Props (`ScrollViewProps`)\n\nInherits standard `BoxProps` from Ink.\n\n| Prop                    | Type                                      | Description                                                                                |\n| :---------------------- | :---------------------------------------- | :----------------------------------------------------------------------------------------- |\n| `children`              | `ReactNode`                               | Optional. List of child elements. **Must use unique `key`s** (strings/numbers).            |\n| `onScroll`              | `(offset: number) => void`                | Called when scroll position changes.                                                       |\n| `onViewportSizeChange`  | `(layout: { width, height }) => void`     | Called when the **viewport** dimensions change.                                            |\n| `onContentHeightChange` | `(height: number) => void`                | Called when the total content height changes.                                              |\n| `onItemHeightChange`    | `(index, height, previousHeight) => void` | Called when an individual item's height changes.                                           |\n| `debug`                 | `boolean`                                 | Optional. If `true`, overflows content instead of hiding it (useful for debugging layout). |\n| ...                     | `BoxProps`                                | Any other prop accepted by Ink's `Box`.                                                    |\n\n### Ref Methods (`ScrollViewRef`)\n\nAccess these via `ref.current`.\n\n| Method              | Signature                            | Description                                                                                                                |\n| :------------------ | :----------------------------------- | :------------------------------------------------------------------------------------------------------------------------- |\n| `scrollTo`          | `(offset: number) => void`           | Scrolls to an absolute Y offset from the top.                                                                              |\n| `scrollBy`          | `(delta: number) => void`            | Scrolls by a relative amount (negative = up, positive = down).                                                             |\n| `scrollToTop`       | `() => void`                         | Helper to scroll to offset 0.                                                                                              |\n| `scrollToBottom`    | `() => void`                         | Helper to scroll to the maximum possible offset (`contentHeight - viewportHeight`).                                        |\n| `getScrollOffset`   | `() => number`                       | Returns the current scroll offset.                                                                                         |\n| `getContentHeight`  | `() => number`                       | Returns the total height of all content items.                                                                             |\n| `getViewportHeight` | `() => number`                       | Returns the current height of the visible area.                                                                            |\n| `getBottomOffset`   | `() => number`                       | Returns the scroll offset when scrolled to the bottom (`contentHeight - viewportHeight`).                                  |\n| `getItemHeight`     | `(index: number) => number`          | Returns the measured height of a specific item by its index.                                                               |\n| `getItemPosition`   | `(index: number) => { top, height }` | Returns the position (top offset) and height of a specific item.                                                           |\n| `remeasure`         | `() => void`                         | Re-checks viewport dimensions. Rarely needed — layout changes are tracked automatically.                                   |\n| `remeasureItem`     | `(index: number) => void`            | Forces a specific child to re-measure. Useful for dynamic content (expand/collapse) that doesn't trigger a full re-render. |\n\n### Controlled Component (`ControlledScrollView`)\n\nFor advanced use cases where you need full control over the scroll state (e.g., synchronizing multiple views, animating transitions), you can use `ControlledScrollView`.\n\nIt accepts a `scrollOffset` prop instead of managing it internally.\n\n```tsx\nimport { ControlledScrollView } from \"ink-scroll-view\";\n\n// ...\nconst [offset, setOffset] = useState(0);\n\nreturn (\n  <ControlledScrollView\n    scrollOffset={offset}\n    // ... other props\n  >\n    {children}\n  </ControlledScrollView>\n);\n```\n\n## 💡 Tips\n\n1.  **Unique Keys**: Always provide stable, unique `key` props (strings or numbers) to your children. This allows `ScrollView` to accurately track height changes even when items are re-ordered or removed.\n2.  **Resizing**: Handled for you. The viewport re-measures on every Ink layout commit, so terminal resizes, parent resizes and sibling resizes are all picked up automatically — even when the ScrollView sits in a memoized subtree that never re-renders. `remeasure()` remains available as an escape hatch.\n3.  **Dynamic Content**: If you have an item that expands (e.g., \"See more\"), calling `remeasureItem(index)` is more efficient than forcing a full update.\n\n## 🔗 Related Packages\n\nThis package is part of a family of Ink scroll components:\n\n| Package                                                                  | Description                                                                                          |\n| :----------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------- |\n| [ink-scroll-view](https://github.com/ByteLandTechnology/ink-scroll-view) | Core scroll container component (this package)                                                       |\n| [ink-scroll-list](https://github.com/ByteLandTechnology/ink-scroll-list) | A scrollable list component built on top of ink-scroll-view with focus management and item selection |\n| [ink-scroll-bar](https://github.com/ByteLandTechnology/ink-scroll-bar)   | A standalone scrollbar component that can be used with any scroll container                          |\n\n## License\n\nMIT\n","readmeFilename":"README.md"}