@grafana/ui
Version:
Grafana Components Library
1 lines • 1.85 kB
Source Map (JSON)
{"version":3,"file":"scrollbar.mjs","sources":["../../../src/utils/scrollbar.ts"],"sourcesContent":["// Slightly modified, but without dependancies:\n// https://raw.githubusercontent.com/malte-wessel/react-custom-scrollbars/master/src/utils/getScrollbarWidth.js\nlet scrollbarWidth: number | null = null;\n\nexport function getScrollbarWidth() {\n if (scrollbarWidth !== null) {\n return scrollbarWidth;\n }\n\n if (typeof document !== 'undefined') {\n const div = document.createElement('div');\n const newStyles = {\n width: '100px',\n height: '100px',\n position: 'absolute',\n top: '-9999px',\n overflow: 'scroll',\n MsOverflowStyle: 'scrollbar',\n };\n\n Object.keys(newStyles).map((style) => {\n // @ts-ignore\n div.style[style] = newStyles[style];\n });\n\n document.body.appendChild(div);\n scrollbarWidth = div.offsetWidth - div.clientWidth;\n document.body.removeChild(div);\n } else {\n scrollbarWidth = 0;\n }\n\n return scrollbarWidth || 0;\n}\n"],"names":[],"mappings":";AAEA,IAAI,cAAA,GAAgC,IAAA;AAE7B,SAAS,iBAAA,GAAoB;AAClC,EAAA,IAAI,mBAAmB,IAAA,EAAM;AAC3B,IAAA,OAAO,cAAA;AAAA,EACT;AAEA,EAAA,IAAI,OAAO,aAAa,WAAA,EAAa;AACnC,IAAA,MAAM,GAAA,GAAM,QAAA,CAAS,aAAA,CAAc,KAAK,CAAA;AACxC,IAAA,MAAM,SAAA,GAAY;AAAA,MAChB,KAAA,EAAO,OAAA;AAAA,MACP,MAAA,EAAQ,OAAA;AAAA,MACR,QAAA,EAAU,UAAA;AAAA,MACV,GAAA,EAAK,SAAA;AAAA,MACL,QAAA,EAAU,QAAA;AAAA,MACV,eAAA,EAAiB;AAAA,KACnB;AAEA,IAAA,MAAA,CAAO,IAAA,CAAK,SAAS,CAAA,CAAE,GAAA,CAAI,CAAC,KAAA,KAAU;AAEpC,MAAA,GAAA,CAAI,KAAA,CAAM,KAAK,CAAA,GAAI,SAAA,CAAU,KAAK,CAAA;AAAA,IACpC,CAAC,CAAA;AAED,IAAA,QAAA,CAAS,IAAA,CAAK,YAAY,GAAG,CAAA;AAC7B,IAAA,cAAA,GAAiB,GAAA,CAAI,cAAc,GAAA,CAAI,WAAA;AACvC,IAAA,QAAA,CAAS,IAAA,CAAK,YAAY,GAAG,CAAA;AAAA,EAC/B,CAAA,MAAO;AACL,IAAA,cAAA,GAAiB,CAAA;AAAA,EACnB;AAEA,EAAA,OAAO,cAAA,IAAkB,CAAA;AAC3B;;;;"}