OverlayScrollbars — это JavaScript-библиотека, предназначенная для замены нативных полос прокрутки на настраиваемые наложенные полосы, сохраняя при этом оригинальное поведение и доступность. Библиотека разработана с целью предоставить разработчикам возможность стилизовать полосы прокрутки, не нарушая стандартного взаимодействия с пользователем, включая поддержку клавиатуры, мыши и сенсорного ввода.
Проект был создан разработчиком под псевдонимом KingSora, который стремился решить проблему громоздких и некрасивых стандартных полос прокрутки, предлагая при этом высококачественное решение с простым API, хорошей документацией и широкой поддержкой браузеров. Библиотека написана на TypeScript и не имеет внешних зависимостей, что способствует её компактности и независимости от сторонних библиотек.
- Скрытие нативных полос прокрутки — позволяет скрыть стандартные полосы прокрутки браузера, заменяя их на наложенные элементы.
 - Полная настройка внешнего вида — предоставляет возможность стилизовать полосы прокрутки с использованием CSS-переменных, обеспечивая гибкость в дизайне.
 - Поддержка нативного поведения — сохраняет стандартное поведение прокрутки, включая поддержку колесика мыши, сенсорного ввода и клавиатуры.
 - Высокая совместимость с браузерами — поддерживает современные версии Firefox, Chrome, Opera, Edge и Safari.
 - Поддержка серверного рендеринга — совместима с Node.js, Deno и Bun, что позволяет использовать её в серверных приложениях.
 - Поддержка различных устройств — протестирована на мобильных устройствах, планшетах и десктопах, обеспечивая стабильную работу на разных платформах.
 - Поддержка различных типов ввода — обеспечивает корректную работу с мышью, сенсорным экраном и стилусом.
 - Поддержка фреймворков — предоставляет официальные обёртки для React, Vue, Angular, Svelte и Solid, а также может использоваться как плагин для jQuery.
 - Поддержка SSR — совместима с серверным рендерингом, поддерживая Server-Side Rendering (SSR), Static Site Generation (SSG) и Incremental Static Regeneration (ISR).
 - Автоматическое обновление — автоматически обнаруживает изменения контента и размера без необходимости постоянного опроса.
 - Поддержка элемента body — позволяет применять стилизацию полос прокрутки непосредственно к элементу body.
 - Минимальный размер — благодаря отсутствию внешних зависимостей и использованию tree-shaking, размер библиотеки минимален.
 - Поддержка TypeScript — полностью написана на TypeScript, обеспечивая строгую типизацию и улучшенную поддержку разработчиков.