@grafana/ui
Version:
Grafana Components Library
1 lines • 1.83 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,cAAgC,GAAA,IAAA;AAE7B,SAAS,iBAAoB,GAAA;AAClC,EAAA,IAAI,mBAAmB,IAAM,EAAA;AAC3B,IAAO,OAAA,cAAA;AAAA;AAGT,EAAI,IAAA,OAAO,aAAa,WAAa,EAAA;AACnC,IAAM,MAAA,GAAA,GAAM,QAAS,CAAA,aAAA,CAAc,KAAK,CAAA;AACxC,IAAA,MAAM,SAAY,GAAA;AAAA,MAChB,KAAO,EAAA,OAAA;AAAA,MACP,MAAQ,EAAA,OAAA;AAAA,MACR,QAAU,EAAA,UAAA;AAAA,MACV,GAAK,EAAA,SAAA;AAAA,MACL,QAAU,EAAA,QAAA;AAAA,MACV,eAAiB,EAAA;AAAA,KACnB;AAEA,IAAA,MAAA,CAAO,IAAK,CAAA,SAAS,CAAE,CAAA,GAAA,CAAI,CAAC,KAAU,KAAA;AAEpC,MAAA,GAAA,CAAI,KAAM,CAAA,KAAK,CAAI,GAAA,SAAA,CAAU,KAAK,CAAA;AAAA,KACnC,CAAA;AAED,IAAS,QAAA,CAAA,IAAA,CAAK,YAAY,GAAG,CAAA;AAC7B,IAAiB,cAAA,GAAA,GAAA,CAAI,cAAc,GAAI,CAAA,WAAA;AACvC,IAAS,QAAA,CAAA,IAAA,CAAK,YAAY,GAAG,CAAA;AAAA,GACxB,MAAA;AACL,IAAiB,cAAA,GAAA,CAAA;AAAA;AAGnB,EAAA,OAAO,cAAkB,IAAA,CAAA;AAC3B;;;;"}