{"version":3,"file":"reading-progress-block/view.js","mappings":";;;;;;;;;AAAA;;;;;;SCAA;SACA;;SAEA;SACA;SACA;SACA;SACA;SACA;SACA;SACA;SACA;SACA;SACA;SACA;SACA;;SAEA;SACA;;SAEA;SACA;SACA;;;;;UCtBA;UACA;UACA;UACA,uDAAuD,iBAAiB;UACxE;UACA,gDAAgD,aAAa;UAC7D;;;;;;;;;;;;ACN6D;AAU7D,MAAM;EAAEE;AAAM,CAAC,GAAGF,+DAAK,CAAC,yBAAyB,EAAE;EAClDE,KAAK,EAAE,CAAC,CAAW;EACnBC,OAAO,EAAE;IACRC,iBAAiB,EAAEA,CAAA,KAAM;MACxBC,MAAM,CAACC,QAAQ,CAAC;QAAEC,GAAG,EAAE,CAAC;QAAEC,QAAQ,EAAE;MAAS,CAAC,CAAC;IAChD;EACD,CAAC;EACDC,SAAS,EAAE;IACVC,UAAU,EAAEA,CAAA,KAAM;MACjB,MAAMC,OAAO,GAAGV,oEAAU,CAAW,CAAC;MACtC,MAAMW,QAAQ,GAAGD,OAAO,CAACC,QAAQ;MAEjC,MAAMC,MAAM,GAAGC,QAAQ,CAACC,aAAa,CAAiBH,QAAQ,CAAC;MAC/D,IAAI,CAACA,QAAQ,IAAI,CAACC,MAAM,EAAE;QACzBG,OAAO,CAACC,GAAG,CAAC,qBAAqB,CAAC;QAClC;MACD;;MAEA;MACA,MAAMC,uBAAuB,GAAGA,CAAA,KAAM;QACrC,MAAMC,YAAY,GAAGN,MAAM;QAC3B,MAAMO,WAAW,GAAGD,YAAY,CAACE,SAAS,GAAGF,YAAY,CAACG,YAAY;QACtE,IAAIC,SAAS,GACZT,QAAQ,CAACU,IAAI,CAACC,SAAS,IAAIX,QAAQ,CAACY,eAAe,CAACD,SAAS;QAE9D,IAAIE,QAAQ,GAAGP,WAAW,GAAIG,SAAS,GAAGH,WAAW,GAAI,GAAG,GAAG,CAAC;QAChET,OAAO,CAACiB,YAAY,GAAGD,QAAQ,CAACE,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG;QAEhD,IAAIF,QAAQ,IAAI,GAAG,EAAE;UACpBhB,OAAO,CAACmB,iBAAiB,GAAG,IAAI;QACjC,CAAC,MAAM;UACNnB,OAAO,CAACmB,iBAAiB,GAAG,KAAK;QAClC;MACD,CAAC;;MAED;MACAZ,uBAAuB,CAAC,CAAC;MACzB,MAAMa,iCAAiC,GAAGA,CAAA,KAAM;QAC/C1B,MAAM,EAAE2B,qBAAqB,CAACd,uBAAuB,CAAC;MACvD,CAAC;MACDb,MAAM,EAAE4B,gBAAgB,CAAC,QAAQ,EAAEF,iCAAiC,CAAC;MACrE;IACD;EACD;AACD,CAAC,CAAC,C","sources":["webpack://ncmaz-fse-core/external module \"@wordpress/interactivity\"","webpack://ncmaz-fse-core/webpack/bootstrap","webpack://ncmaz-fse-core/webpack/runtime/make namespace object","webpack://ncmaz-fse-core/./src/reading-progress-block/view.ts"],"sourcesContent":["module.exports = __WEBPACK_EXTERNAL_MODULE__wordpress_interactivity_8e89b257__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { store, getContext } from \"@wordpress/interactivity\";\n\ninterface TContext {\n\tselector: string;\n\tisShowScrollToTop: boolean;\n\tprogressText: string;\n}\n\ninterface TState {}\n\nconst { state } = store(\"ncmfse/reading-progress\", {\n\tstate: {} as TState,\n\tactions: {\n\t\thandleScrollToTop: () => {\n\t\t\twindow.scrollTo({ top: 0, behavior: \"smooth\" });\n\t\t},\n\t},\n\tcallbacks: {\n\t\thandleInit: () => {\n\t\t\tconst context = getContext();\n\t\t\tconst selector = context.selector;\n\n\t\t\tconst target = document.querySelector(selector);\n\t\t\tif (!selector || !target) {\n\t\t\t\tconsole.log(\"Selector not found!\");\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// --------------------\n\t\t\tconst handleProgressIndicator = () => {\n\t\t\t\tconst entryContent = target;\n\t\t\t\tconst totalEntryH = entryContent.offsetTop + entryContent.offsetHeight;\n\t\t\t\tlet winScroll =\n\t\t\t\t\tdocument.body.scrollTop || document.documentElement.scrollTop;\n\n\t\t\t\tlet scrolled = totalEntryH ? (winScroll / totalEntryH) * 100 : 0;\n\t\t\t\tcontext.progressText = scrolled.toFixed(0) + \"%\";\n\n\t\t\t\tif (scrolled >= 100) {\n\t\t\t\t\tcontext.isShowScrollToTop = true;\n\t\t\t\t} else {\n\t\t\t\t\tcontext.isShowScrollToTop = false;\n\t\t\t\t}\n\t\t\t};\n\n\t\t\t//\n\t\t\thandleProgressIndicator();\n\t\t\tconst handleProgressIndicatorHeadeEvent = () => {\n\t\t\t\twindow?.requestAnimationFrame(handleProgressIndicator);\n\t\t\t};\n\t\t\twindow?.addEventListener(\"scroll\", handleProgressIndicatorHeadeEvent);\n\t\t\t// --------------------\n\t\t},\n\t},\n});\n"],"names":["store","getContext","state","actions","handleScrollToTop","window","scrollTo","top","behavior","callbacks","handleInit","context","selector","target","document","querySelector","console","log","handleProgressIndicator","entryContent","totalEntryH","offsetTop","offsetHeight","winScroll","body","scrollTop","documentElement","scrolled","progressText","toFixed","isShowScrollToTop","handleProgressIndicatorHeadeEvent","requestAnimationFrame","addEventListener"],"sourceRoot":""}