UNPKG

3.7 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../src/index.js"],"names":["getDefaultOptions","window","__lskjs_scroll","setDefaultOptions","options","defaultOptions","offset","scrollTo","id","incomeOptions","debug","console","log","value","anchor","document","querySelector","err","error"],"mappings":";;;;;;;;;;;;AAAA;;;;;;AAEO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,GAAM;AACrC,MAAI,OAAOC,MAAP,KAAkB,WAAtB,EAAmC,OAAO,EAAP;AACnC,SAAOA,MAAM,CAACC,cAAP,IAAyB,EAAhC;AACD,CAHM;;;;AAIA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,GAAkB;AAAA,MAAjBC,OAAiB,uEAAP,EAAO;AACjD,MAAI,OAAOH,MAAP,KAAkB,WAAtB,EAAmC;AACnCA,EAAAA,MAAM,CAACC,cAAP,GAAwBE,OAAxB;AACD,CAHM;;;AAKA,IAAMC,cAAc,GAAG;AAC5BC,EAAAA,MAAM,EAAE,CAAC,GADmB,CAE5B;AACA;AAEA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;;AA9B4B,CAAvB;;AAiCPH,iBAAiB,CAACE,cAAD,CAAjB;;AAEe,SAASE,QAAT,CAAkBC,EAAlB,EAA0C;AAAA,MAApBC,aAAoB,uEAAJ,EAAI;;AACvD,MAAML,OAAO,mCACRJ,iBAAiB,EADT,GAERS,aAFQ,CAAb;;AAKA,MAAI;AACF,QAAIL,OAAO,CAACM,KAAZ,EAAmBC,OAAO,CAACC,GAAR,CAAY,WAAZ,EAAyBJ,EAAzB;AACnB,QAAIK,KAAJ;;AACA,QAAIL,EAAE,IAAI,IAAV,EAAgB;AACd,aAAO,KAAP;AACD;;AACD,QAAI,OAAOA,EAAP,KAAc,QAAlB,EAA4B;AAC1B,UAAMM,MAAM,GAAGC,QAAQ,CAACC,aAAT,CAAuBR,EAAvB,CAAf;AACA,UAAI,CAACM,MAAL,EAAa,OAAO,KAAP;AACbD,MAAAA,KAAK,GAAGC,MAAR;AACD,KAJD,MAIO;AACLD,MAAAA,KAAK,GAAGL,EAAR;AACD;;AACD,sCAAgBK,KAAhB,EAAuBT,OAAvB;AACA,WAAO,IAAP;AACD,GAfD,CAeE,OAAOa,GAAP,EAAY;AACZ,QAAIb,OAAO,CAACM,KAAZ,EAAmBC,OAAO,CAACO,KAAR,CAAc,gBAAd,EAAgCD,GAAhC;AACnB,WAAO,KAAP;AACD;AACF","sourcesContent":["import animateScrollTo from './animated-scroll-to';\n\nexport const getDefaultOptions = () => {\n if (typeof window === 'undefined') return {};\n return window.__lskjs_scroll || {};\n};\nexport const setDefaultOptions = (options = {}) => {\n if (typeof window === 'undefined') return;\n window.__lskjs_scroll = options;\n};\n\nexport const defaultOptions = {\n offset: -200,\n // // duration of the scroll per 1000px, default 500\n // speed: 500,\n\n // // minimum duration of the scroll\n // minDuration: 250,\n\n // // maximum duration of the scroll\n // maxDuration: 1500,\n\n // // DOM element to scroll, default window\n // // Pass a reference to a DOM object\n // // Example: document.querySelector('#element-to-scroll'),\n // // element: window,\n\n // // Additional offset value that gets added to the desiredOffset. This is\n // // useful when passing a DOM object as the desiredOffset and wanting to adjust\n // // for an fixed nav or to add some padding.\n // offset: -300,\n\n // // should animated scroll be canceled on user scroll/keypress\n // // if set to \"false\" user input will be disabled until animated scroll is complete\n // // (when set to false, \"passive\" will be also set to \"false\" to prevent Chrome errors)\n // cancelOnUserAction: true,\n\n // // Set passive event Listeners to be true by default. Stops Chrome from complaining.\n // passive: true,\n\n // // Scroll horizontally rather than vertically (which is the default)\n // horizontal: true,\n};\n\nsetDefaultOptions(defaultOptions);\n\nexport default function scrollTo(id, incomeOptions = {}) {\n const options = {\n ...getDefaultOptions(),\n ...incomeOptions,\n };\n\n try {\n if (options.debug) console.log('scrollTo ', id);\n let value;\n if (id == null) {\n return false;\n }\n if (typeof id === 'string') {\n const anchor = document.querySelector(id);\n if (!anchor) return false;\n value = anchor;\n } else {\n value = id;\n }\n animateScrollTo(value, options);\n return true;\n } catch (err) {\n if (options.debug) console.error('scrollTo error', err);\n return false;\n }\n}\n"],"file":"index.js"}
\No newline at end of file