/
FRS-hide-scrollbar.js.map
1 lines (1 loc) · 4.2 KB
/
FRS-hide-scrollbar.js.map
1
{"version":3,"file":"FRS-hide-scrollbar.js","sources":["../src/scripts/FRSHideScrollbar.mjs"],"sourcesContent":["const windowFRSHideScrollbar = window.FRSHideScrollbar && window.FRSHideScrollbar.FRSHideScrollbar\nconst CONFIG = Object.assign(\n {\n className: 'frs-hide-scroll',\n wrapperClassName: 'frs-hide-scroll-wrapper',\n autoInit: true\n },\n (windowFRSHideScrollbar && windowFRSHideScrollbar.config) || {}\n)\nexport const FRSHideScrollbar = {\n refreshScrollWidth,\n update,\n config: CONFIG\n}\nCONFIG.styleElement = CONFIG.styleElement || createNewChild('style', document.head)\nlet CONFIG_OLD = { ...CONFIG }\n\nif (CONFIG.autoInit) {\n initHandlers()\n}\n\n//\n\nfunction initHandlers () {\n const refreshScrollWidth = function () { return FRSHideScrollbar.refreshScrollWidth() }\n if (!document.readyState || document.readyState === 'loading') {\n window.addEventListener('load', refreshScrollWidth, { passive: true })\n } else {\n refreshScrollWidth()\n }\n\n window.addEventListener('resize', refreshScrollWidth, { passive: true })\n}\n\nfunction refreshScrollWidth () {\n const _el = createNewChild('div', document.body)\n _el.style.position = 'absolute'\n _el.style['z-index'] = '-1'\n _el.style.width = '100px'\n _el.style.overflow = 'scroll'\n\n const scrollWidth = _el.offsetWidth - _el.clientWidth\n\n document.body.removeChild(_el)\n\n if (scrollWidth !== CONFIG.scrollWidth) {\n CONFIG.scrollWidth = scrollWidth\n FRSHideScrollbar.update()\n }\n}\n\nfunction createNewChild (_tagName, _parent) {\n return _parent.appendChild(document.createElement(_tagName))\n}\n\nfunction update (config = CONFIG, cfgOld = CONFIG_OLD) {\n if (cfgOld) {\n const styleElementOld = cfgOld.styleElement\n const lio = styleElementOld.textContent\n .lastIndexOf('.' + cfgOld.wrapperClassName + '{overflow:hidden;height:100%}')\n\n styleElementOld.textContent = styleElementOld.textContent.substring(0, lio)\n }\n\n Object.assign(CONFIG, config)\n\n let elementStyle = 'height:'\n const scrollWidth = CONFIG.scrollWidth\n\n if (scrollWidth === 0) {\n elementStyle += '100%'\n } else {\n elementStyle += 'calc(100% + ' + scrollWidth + 'px);' +\n 'margin-right:-' +\n // additional 0.5px because of chrome rounding bug\n (scrollWidth + 0.5) + 'px'\n }\n\n CONFIG_OLD = { ...CONFIG } // copying the current CONFIG object\n CONFIG.styleElement.textContent +=\n '.' + CONFIG.wrapperClassName +\n '{overflow:hidden;height:100%}' +\n '.' + CONFIG.className +\n '{overflow:scroll;' + elementStyle + '}'\n}\n"],"names":["windowFRSHideScrollbar","window","FRSHideScrollbar","CONFIG","Object","assign","className","wrapperClassName","autoInit","config","refreshScrollWidth","_el","createNewChild","document","body","style","position","width","overflow","scrollWidth","offsetWidth","clientWidth","removeChild","update","cfgOld","CONFIG_OLD","styleElementOld","styleElement","lio","textContent","lastIndexOf","substring","elementStyle","head","_tagName","_parent","appendChild","createElement","readyState","addEventListener","passive"],"mappings":"+MAAA,IAAMA,EAAyBC,OAAOC,kBAAoBD,OAAOC,iBAAiBA,iBAC5EC,EAASC,OAAOC,OACpB,CACEC,UAAW,kBACXC,iBAAkB,0BAClBC,UAAU,GAEXR,GAA0BA,EAAuBS,QAAW,IAElDP,EAAmB,CAC9BQ,mBAwBF,WACE,IAAMC,EAAMC,EAAe,MAAOC,SAASC,MAC3CH,EAAII,MAAMC,SAAW,WACrBL,EAAII,MAAM,WAAa,KACvBJ,EAAII,MAAME,MAAQ,QAClBN,EAAII,MAAMG,SAAW,SAErB,IAAMC,EAAcR,EAAIS,YAAcT,EAAIU,YAE1CR,SAASC,KAAKQ,YAAYX,GAEtBQ,IAAgBhB,EAAOgB,cACzBhB,EAAOgB,YAAcA,EACrBjB,EAAiBqB,WApCnBA,OA4CF,SAAiBd,EAAiBe,GAChC,YADef,IAAAA,EAASN,YAAQqB,IAAAA,EAASC,GACrCD,EAAQ,CACV,IAAME,EAAkBF,EAAOG,aACzBC,EAAMF,EAAgBG,YACzBC,YAAY,IAAMN,EAAOjB,iBAAmB,iCAE/CmB,EAAgBG,YAAcH,EAAgBG,YAAYE,UAAU,EAAGH,GAGzExB,OAAOC,OAAOF,EAAQM,GAEtB,IAAIuB,EAAe,UACbb,EAAchB,EAAOgB,YAGzBa,GADkB,IAAhBb,EACc,OAEA,eAAiBA,EAAjB,sBAGfA,EAAc,IAAO,KAGxBM,OAAkBtB,GAClBA,EAAOwB,aAAaE,aACpB,IAAM1B,EAAOI,iBAAb,iCAEMJ,EAAOG,UACX,oBAAsB0B,EAAe,KAvEvCvB,OAAQN,GAEVA,EAAOwB,aAAexB,EAAOwB,cAAgBf,EAAe,QAASC,SAASoB,MAC9E,IASQvB,EATJe,OAAkBtB,GAoCtB,SAASS,EAAgBsB,EAAUC,GACjC,OAAOA,EAAQC,YAAYvB,SAASwB,cAAcH,IAnChD/B,EAAOK,WAOHE,EAAqB,WAAc,OAAOR,EAAiBQ,sBAC5DG,SAASyB,YAAsC,YAAxBzB,SAASyB,WAGnC5B,IAFAT,OAAOsC,iBAAiB,OAAQ7B,EAAoB,CAAE8B,SAAS,IAKjEvC,OAAOsC,iBAAiB,SAAU7B,EAAoB,CAAE8B,SAAS"}