npm install @xobotyi/scrollbar-width
# or via yarn
yarn add @xobotyi/scrollbar-width
INSTALLATION NOTE:
This lib is written in TypeScript and delivered with both, transpiled and untranspiled ES versions:
main
field of package.json is pointing to transpiled ES5-compatible version with CJS modules resolution;module
field is pointing to transpiled ES5-compatible version with ES modules resolution;esnext
field is pointing to the ESnext version with ES modules resolution;
OR
you can add it directly to your site via the <script />
with help of UNPKG:
<script src="https://unpkg.com/@xobotyi/scrollbar-width/dist/index.min.js"/>
After that you will be able to use the function as xobotyi.scrollbarWidth()
import { scrollbarWidth } from '@xobotyi/scrollbar-width';
scrollbarWidth(); // for most browsers will return 17 and 0 for SSR environment
// or undefined if to call it too early [read below]
This function caches the value to avoid increased resources usage. In case you want to get re-calculated value - pass true
as first call parameter.
NOTE:
Function will returnundefined
in case being called before the DOM is ready.
This function has inner cache due to scrollbars width is not intended to be changed since initial call, but it can in case you toggle the device emulation.
If you need function to recalculate the width call it with true
parameter and get new value or set scrollbarWidth.__cache
to undefined
and next call will return the fresh value.
- react-scrollbars-custom — The best React custom scrollbars component. Allows you to customise scrollbars as you like it, crossbrowser!
- zoom-level — A comprehensive cross-browser package that allow you to determine page's and element's zoom level.
- @xobotyi/should-reverse-rtl-scroll — A tool detecting if RTL scroll value should be negative.