{"version":3,"file":"./block-editor/blocks/card-grid/view-script.js","mappings":"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","sources":["webpack://wdg/webpack/bootstrap","webpack://wdg/webpack/runtime/define property getters","webpack://wdg/webpack/runtime/hasOwnProperty shorthand","webpack://wdg/webpack/runtime/make namespace object","webpack://wdg/./block-editor/blocks/card-grid/view-script.js"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = function(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 = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(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};","export function init(node, config = {}) {\n\tconfig = {\n\t\twrap: \".card-grid__items\",\n\t\tnext: \".card-grid__next\",\n\t\tprev: \".card-grid__prev\",\n\t\titems: \".card-grid__items .card\",\n\t\t...config,\n\t};\n\n\tconst wrap = node.querySelector(config.wrap);\n\tconst items = Array.from(node.querySelectorAll(config.items));\n\tconst next = node.querySelector(config.next);\n\tconst prev = node.querySelector(config.prev);\n\n\tif (!wrap || !items || (!prev && !next)) {\n\t\treturn;\n\t}\n\t\n\tconst allImages = node\n\t\t.querySelector(config.items)\n\t\t.querySelectorAll('[loading=\"lazy\"]');\n\tconst cardGrid = wrap.closest(config.wrap);\n\tconst isSlider = cardGrid.classList.contains(\"is-slider-mobile\");\n\n\n\tlet interval = null;\n\n\tif (items.length > 3 && isSlider) {\n\t\tcardGrid.classList.add(\"has-slider-nav\");\n\t}\n\n\tconst getCurrentScrollIndex = () => {\n\t\treturn items\n\t\t\t.map((item) => Math.abs(item.offsetLeft - wrap.scrollLeft))\n\t\t\t.reduce((closest, left, i, lefts) => {\n\t\t\t\treturn left < lefts[closest] ? i : closest;\n\t\t\t}, items.length - 1);\n\t};\n\n\tconst setScrollIndex = (index, behavior = \"smooth\") => {\n\t\tconst viewable = getComputedStyle(wrap).getPropertyValue(\"--viewable\");\n\n\t\tif (index <= items.length - viewable) {\n\t\t\twrap.scrollTo({\n\t\t\t\tleft: items[index].offsetLeft,\n\t\t\t\ttop: 0,\n\t\t\t\tbehavior,\n\t\t\t});\n\t\t} else if (interval > 0) {\n\t\t\tclearInterval(interval);\n\t\t\tinterval = null;\n\t\t}\n\t};\n\n\tconst setState = () => {\n\t\t// the last item is in view\n\t\tif (\n\t\t\titems[items.length - 1].offsetLeft - wrap.scrollLeft < wrap.offsetWidth && \n next\n\t\t) {\n\t\t\tnext.disabled = true;\n\t\t} else if ( next ) {\n\t\t\tnext.removeAttribute(\"disabled\");\n\t\t}\n\n\t\t// first item is is view\n\t\tif ( items[0].offsetLeft - wrap.scrollLeft >= 0 && prev ) {\n\t\t\tprev.disabled = true;\n\t\t} else if ( prev ) {\n\t\t\tprev.removeAttribute(\"disabled\");\n\t\t}\n\t};\n\n\tconst scrollPrev = () => {\n\t\tconst index = Math.round(Math.max(getCurrentScrollIndex() - 1, 0));\n\t\tsetScrollIndex(index);\n\n\t\tif (interval && index <= 0) {\n\t\t\tclearInterval(interval);\n\t\t\tinterval = null;\n\t\t}\n\t};\n\n\tconst scrollNext = () => {\n\t\tconst index = Math.round(\n\t\t\tMath.min(getCurrentScrollIndex() + 1, items.length - 1)\n\t\t);\n\t\tsetScrollIndex(index);\n\n\t\tif (interval !== null && index === items.length - 1) {\n\t\t\tclearInterval(interval);\n\t\t\tinterval = null;\n\t\t}\n\t};\n\n\tconst mouseout = function () {\n\t\tthis.removeEventListener(\"mouseout\", mouseout);\n\t};\n\n\tconst mousedown = function (cb, delay = 200) {\n\t\tif (null !== interval) {\n\t\t\tclearInterval(interval);\n\t\t}\n\n\t\tinterval = setInterval(cb, delay);\n\t\tthis.addEventListener(\"mouseup\", mouseup);\n\t\tthis.addEventListener(\"mouseout\", mouseout);\n\t};\n\n\tconst mouseup = function () {\n\t\tthis.removeEventListener(\"mouseup\", mouseup);\n\t\twindow.clearInterval(interval);\n\t\tinterval = null;\n\t};\n\n\tif (prev) {\n\t\tprev.addEventListener(\"mousedown\", () => mousedown.call(prev, scrollPrev));\n\t\tprev.addEventListener(\"click\", scrollPrev);\n\t}\n\n\tif (next) {\n\t\tnext.addEventListener(\"mousedown\", () => mousedown.call(next, scrollNext));\n\t\tnext.addEventListener(\"click\", scrollNext);\n\t}\n\n\twrap.addEventListener(\"scroll\", setState);\n\t//switch to Eager loading due to image loading issues\n\tallImages.forEach((img) => {\n\t\timg.setAttribute(\"loading\", \"eager\");\n\t});\n\tsetScrollIndex(0);\n\tsetState();\n\n\tconst matchMedia = window.matchMedia(\"(max-width: 600px)\");\n\n\tmatchMedia.addEventListener(\"change\", (query) => {\n\t\tif (query.matches) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tsetState();\n\t\t\t}, 100);\n\t\t}\n\t});\n\n\treturn node;\n}\n\nexport const instances = Array.from(\n\tdocument.querySelectorAll(\".card-grid\")\n).map(init);\n"],"names":["init","node","config","arguments","length","undefined","wrap","next","prev","items","querySelector","Array","from","querySelectorAll","allImages","cardGrid","closest","isSlider","classList","contains","interval","add","getCurrentScrollIndex","map","item","Math","abs","offsetLeft","scrollLeft","reduce","left","i","lefts","setScrollIndex","index","behavior","viewable","getComputedStyle","getPropertyValue","scrollTo","top","clearInterval","setState","offsetWidth","disabled","removeAttribute","scrollPrev","round","max","scrollNext","min","mouseout","removeEventListener","mousedown","cb","delay","setInterval","addEventListener","mouseup","window","call","forEach","img","setAttribute","matchMedia","query","matches","setTimeout","instances","document"],"sourceRoot":""}