{"version":3,"file":"/etc.clientlibs/corp-aem-sherwin/clientlibs/utils~site-contentcarousel/utils~site-contentcarousel.186a08ec0e9886e65bdf.js","mappings":"wIAEA,IAAIA,EAAc,EACdC,EAAc,EACdC,EAAY,EACZC,EAAY,EA2DhB,QAjCA,SACEC,EACAC,GAMAD,EAAaE,iBACX,aACCC,IAECP,EAAcO,EAAMC,eAAe,GAAGC,QACtCR,EAAcM,EAAMC,eAAe,GAAGE,UAExC,GAGFN,EAAaE,iBACX,WACCC,IAECL,EAAYK,EAAMC,eAAe,GAAGC,QACpCN,EAAYI,EAAMC,eAAe,GAAGE,QAEpC,MAAMC,EAjDZ,WACE,MAAMC,EAAuB,CAC3BC,SAAS,EACTC,UAAW,KACXC,cAAeC,KAAKC,IAAIjB,EAAcE,GACtCgB,cAAeF,KAAKC,IAAIhB,EAAcE,IAElCgB,EAAcP,EAAYG,cAAgBH,EAAYM,cAa5D,OAXkC,IAA9BN,EAAYG,eAAqD,IAA9BH,EAAYM,eACjDN,EAAYC,SAAU,EACtBD,EAAYE,UAAY,MACfK,GACTP,EAAYC,SAAU,EACtBD,EAAYE,UAAYZ,EAAYF,EAAc,OAAS,SACjDmB,IACVP,EAAYC,SAAU,EACtBD,EAAYE,UAAYX,EAAYF,EAAc,KAAO,QAGpDW,CACT,CA4BsBQ,GAEhBf,EAAcM,KAEhB,EAEJ,C","sources":["webpack://aem-maven-archetype/./src/scripts/utils/swipeEventHelper.ts"],"sourcesContent":["import {Gesture} from '../interfaces/index';\n\nlet touchstartX = 0;\nlet touchstartY = 0;\nlet touchendX = 0;\nlet touchendY = 0;\n\nfunction processGesture() {\n  const gestureData: Gesture = {\n    isSwipe: false,\n    direction: null,\n    absoluteDiffX: Math.abs(touchstartX - touchendX),\n    absoluteDiffY: Math.abs(touchstartY - touchendY),\n  };\n  const isSideSwipe = gestureData.absoluteDiffX > gestureData.absoluteDiffY;\n\n  if (gestureData.absoluteDiffX === 0 && gestureData.absoluteDiffY === 0) {\n    gestureData.isSwipe = false;\n    gestureData.direction = null;\n  } else if (isSideSwipe) {\n    gestureData.isSwipe = true;\n    gestureData.direction = touchendX < touchstartX ? 'left' : 'right';\n  } else if (!isSideSwipe) {\n    gestureData.isSwipe = true;\n    gestureData.direction = touchendY < touchstartY ? 'up' : 'down';\n  }\n\n  return gestureData;\n}\n\ntype GestureCallback = (g: Gesture) => void;\nfunction swipeEventHelper(\n  swipeElement: HTMLElement,\n  swipeCallback: GestureCallback\n): void {\n  //\n  // EVENT LISTENERS\n  // ------------------------------\n\n  swipeElement.addEventListener(\n    'touchstart',\n    (event: TouchEvent): void => {\n      // record start position\n      touchstartX = event.changedTouches[0].screenX;\n      touchstartY = event.changedTouches[0].screenY;\n    },\n    false\n  );\n\n  swipeElement.addEventListener(\n    'touchend',\n    (event: TouchEvent): void => {\n      // record end position\n      touchendX = event.changedTouches[0].screenX;\n      touchendY = event.changedTouches[0].screenY;\n\n      const gesture = processGesture();\n\n      swipeCallback(gesture);\n    },\n    false\n  );\n}\n\nexport default swipeEventHelper;\n"],"names":["touchstartX","touchstartY","touchendX","touchendY","swipeElement","swipeCallback","addEventListener","event","changedTouches","screenX","screenY","gesture","gestureData","isSwipe","direction","absoluteDiffX","Math","abs","absoluteDiffY","isSideSwipe","processGesture"],"sourceRoot":""}