{"version":3,"file":"snap-scroll-arrows-block/view.js","mappings":";;;;;;;;;;;;;AAAA;AACO,SAASA,QAAQA,CAACC,IAAc,EAAEC,IAAY,EAAEC,SAAS,GAAG,KAAK,EAAE;EACzE,IAAIC,OAAY;EAChB,OAAO,YAAqB;IAC3B,MAAMC,OAAO,GAAG,IAAI;IACpB,MAAMC,IAAI,GAAGC,SAAS;IACtB,MAAMC,KAAK,GAAG,SAAAA,CAAA,EAAY;MACzBJ,OAAO,GAAG,IAAI;MACd,IAAI,CAACD,SAAS,EAAEF,IAAI,CAACQ,KAAK,CAACJ,OAAO,EAAEC,IAAI,CAAC;IAC1C,CAAC;IACD,MAAMI,OAAO,GAAGP,SAAS,IAAI,CAACC,OAAO;IACrCO,YAAY,CAACP,OAAO,CAAC;IACrBA,OAAO,GAAGQ,UAAU,CAACJ,KAAK,EAAEN,IAAI,CAAC;IACjC,IAAIQ,OAAO,EAAET,IAAI,CAACQ,KAAK,CAACJ,OAAO,EAAEC,IAAI,CAAC;EACvC,CAAC;AACF;;;;;;;;;;ACfA;;;;;;SCAA;SACA;;SAEA;SACA;SACA;SACA;SACA;SACA;SACA;SACA;SACA;SACA;SACA;SACA;SACA;;SAEA;SACA;;SAEA;SACA;SACA;;;;;UCtBA;UACA;UACA;UACA;UACA,yCAAyC,wCAAwC;UACjF;UACA;UACA;;;;;UCPA;;;;;UCAA;UACA;UACA;UACA,uDAAuD,iBAAiB;UACxE;UACA,gDAAgD,aAAa;UAC7D;;;;;;;;;;;;;ACN6D;AACnB;AAQ1C,MAAMS,YAAY,GAAGA,CAACC,OAAe,EAAEC,YAAqB,KAAK;EAChE,MAAMC,gBAAgB,GAAGD,YAAY,CAACE,iBAAiB;EACvD,IAAI,CAACD,gBAAgB,EAAE;IACtB;EACD;EAEA,MAAME,sBAAsB,GAAGH,YAAY,CAACI,UAAU;EACtD,MAAMC,uBAAuB,GAAGL,YAAY,CAACM,WAAW;;EAExD;EACA,MAAMC,yBAAyB,GAAGC,QAAQ,CAACC,aAAa,CACvD,4CAA4CV,OAAO,IACpD,CAAC;;EAED;EACA,MAAMW,qBAAqB,GAAGF,QAAQ,CAACC,aAAa,CACnD,wCAAwCV,OAAO,IAChD,CAAC;EAED,IAAI,CAACW,qBAAqB,IAAI,CAACH,yBAAyB,EAAE;IACzD;EACD;EAEA,IAAIJ,sBAAsB,IAAI,CAAC,EAAE;IAChCI,yBAAyB,EAAEI,SAAS,CAACC,GAAG,CAAC,aAAa,CAAC;IACvDL,yBAAyB,EAAEM,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC;EACxD,CAAC,MAAM;IACNN,yBAAyB,EAAEI,SAAS,CAACG,MAAM,CAAC,aAAa,CAAC;IAC1DP,yBAAyB,EAAEQ,eAAe,CAAC,UAAU,CAAC;EACvD;EAEA,IACCZ,sBAAsB,GAAGH,YAAY,CAACgB,WAAW,IACjDX,uBAAuB,EACtB;IACDK,qBAAqB,EAAEC,SAAS,CAACC,GAAG,CAAC,aAAa,CAAC;IACnDF,qBAAqB,EAAEG,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC;EACpD,CAAC,MAAM;IACNH,qBAAqB,EAAEC,SAAS,CAACG,MAAM,CAAC,aAAa,CAAC;IACtDJ,qBAAqB,EAAEK,eAAe,CAAC,UAAU,CAAC;EACnD;AACD,CAAC;AAED,MAAM;EAAEE;AAAM,CAAC,GAAGrB,+DAAK,CAAC,2BAA2B,EAAE;EACpDqB,KAAK,EAAE,CAAC,CAAW;EACnBC,OAAO,EAAE,CAAC,CAAC;EACXC,SAAS,EAAE;IACVC,UAAU,EAAEA,CAAA,KAAM;MACjB,MAAM;QAAErB;MAAQ,CAAC,GAAGF,oEAAU,CAAW,CAAC;;MAE1C;MACA,MAAMG,YAAY,GAAGQ,QAAQ,CAACC,aAAa,CAC1C,gCAAgCV,OAAO,IACxC,CAAC;MACD,IAAI,CAACC,YAAY,EAAE;QAClB;MACD;;MAEA;MACAA,YAAY,CAACqB,gBAAgB,CAC5B,QAAQ,EACRtC,sDAAQ,CAAC,MAAM;QACde,YAAY,CAACC,OAAO,EAAEC,YAAY,CAAC;MACpC,CAAC,EAAE,GAAG,CACP,CAAC;IACF;EACD;AACD,CAAC,CAAC,C","sources":["webpack://ncmaz-fse-core/./src/utils/utils.ts","webpack://ncmaz-fse-core/external module \"@wordpress/interactivity\"","webpack://ncmaz-fse-core/webpack/bootstrap","webpack://ncmaz-fse-core/webpack/runtime/define property getters","webpack://ncmaz-fse-core/webpack/runtime/hasOwnProperty shorthand","webpack://ncmaz-fse-core/webpack/runtime/make namespace object","webpack://ncmaz-fse-core/./src/snap-scroll-arrows-block/view.ts"],"sourcesContent":["// Make a debounce typescript function\nexport function debounce(func: Function, wait: number, immediate = false) {\n\tlet timeout: any;\n\treturn function (this: any) {\n\t\tconst context = this;\n\t\tconst args = arguments;\n\t\tconst later = function () {\n\t\t\ttimeout = null;\n\t\t\tif (!immediate) func.apply(context, args);\n\t\t};\n\t\tconst callNow = immediate && !timeout;\n\t\tclearTimeout(timeout);\n\t\ttimeout = setTimeout(later, wait);\n\t\tif (callNow) func.apply(context, args);\n\t};\n}\n","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 getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// 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\";\nimport { debounce } from \"../utils/utils\";\n\ninterface TContext {\n\tqueryId: string;\n}\n\ninterface TState {}\n\nconst handleScroll = (queryId: string, snapScrollEl: Element) => {\n\tconst snapScrollItemEl = snapScrollEl.firstElementChild;\n\tif (!snapScrollItemEl) {\n\t\treturn;\n\t}\n\n\tconst snapScrollElScrollLeft = snapScrollEl.scrollLeft;\n\tconst snapScrollElScrollWidth = snapScrollEl.scrollWidth;\n\n\t// get snap scroll arrow previous element\n\tconst snapScrollArrowPreviousEl = document.querySelector(\n\t\t`[data-ncmfse-snap-scroll-arrow-previous=\"${queryId}\"]`,\n\t);\n\n\t// get snap scroll arrow next element\n\tconst snapScrollArrowNextEl = document.querySelector(\n\t\t`[data-ncmfse-snap-scroll-arrow-next=\"${queryId}\"]`,\n\t);\n\n\tif (!snapScrollArrowNextEl && !snapScrollArrowPreviousEl) {\n\t\treturn;\n\t}\n\n\tif (snapScrollElScrollLeft <= 0) {\n\t\tsnapScrollArrowPreviousEl?.classList.add(\"is-disabled\");\n\t\tsnapScrollArrowPreviousEl?.setAttribute(\"disabled\", \"\");\n\t} else {\n\t\tsnapScrollArrowPreviousEl?.classList.remove(\"is-disabled\");\n\t\tsnapScrollArrowPreviousEl?.removeAttribute(\"disabled\");\n\t}\n\n\tif (\n\t\tsnapScrollElScrollLeft + snapScrollEl.clientWidth >=\n\t\tsnapScrollElScrollWidth\n\t) {\n\t\tsnapScrollArrowNextEl?.classList.add(\"is-disabled\");\n\t\tsnapScrollArrowNextEl?.setAttribute(\"disabled\", \"\");\n\t} else {\n\t\tsnapScrollArrowNextEl?.classList.remove(\"is-disabled\");\n\t\tsnapScrollArrowNextEl?.removeAttribute(\"disabled\");\n\t}\n};\n\nconst { state } = store(\"ncmfse/snap-scroll-arrows\", {\n\tstate: {} as TState,\n\tactions: {},\n\tcallbacks: {\n\t\thandleInit: () => {\n\t\t\tconst { queryId } = getContext();\n\n\t\t\t// get selector element co attr data-ncmfse-snap-scroll-id = queryId\n\t\t\tconst snapScrollEl = document.querySelector(\n\t\t\t\t`[data-ncmfse-snap-scroll-id=\"${queryId}\"]`,\n\t\t\t);\n\t\t\tif (!snapScrollEl) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// add event listener for snapScrollEl\n\t\t\tsnapScrollEl.addEventListener(\n\t\t\t\t\"scroll\",\n\t\t\t\tdebounce(() => {\n\t\t\t\t\thandleScroll(queryId, snapScrollEl);\n\t\t\t\t}, 500),\n\t\t\t);\n\t\t},\n\t},\n});\n"],"names":["debounce","func","wait","immediate","timeout","context","args","arguments","later","apply","callNow","clearTimeout","setTimeout","store","getContext","handleScroll","queryId","snapScrollEl","snapScrollItemEl","firstElementChild","snapScrollElScrollLeft","scrollLeft","snapScrollElScrollWidth","scrollWidth","snapScrollArrowPreviousEl","document","querySelector","snapScrollArrowNextEl","classList","add","setAttribute","remove","removeAttribute","clientWidth","state","actions","callbacks","handleInit","addEventListener"],"sourceRoot":""}