{"version":3,"file":"draggable.mjs","sources":["../../src/helpers/draggable.ts"],"sourcesContent":["// Get {x, y} positions from event.\nexport function getControlPosition(e: MouseEvent) {\n  return offsetXYFromParentOf(e)\n}\n\n// Get from offsetParent\nexport function offsetXYFromParentOf(evt: MouseEvent) {\n  const offsetParent = (evt.target as HTMLElement)?.offsetParent || document.body\n  const offsetParentRect =\n    (evt as any).offsetParent === document.body\n      ? { left: 0, top: 0 }\n      : offsetParent.getBoundingClientRect()\n\n  const x = evt.clientX + offsetParent.scrollLeft - offsetParentRect.left\n  const y = evt.clientY + offsetParent.scrollTop - offsetParentRect.top\n\n  /* const x = Math.round(evt.clientX + offsetParent.scrollLeft - offsetParentRect.left);\n  const y = Math.round(evt.clientY + offsetParent.scrollTop - offsetParentRect.top); */\n\n  return { x, y }\n}\n\n// Create an data object exposed by <DraggableCore>'s events\nexport function createCoreData(lastX: number, lastY: number, x: number, y: number) {\n  // State changes are often (but not always!) async. We want the latest value.\n  const isStart = !isNum(lastX)\n\n  if (isStart) {\n    // If this is our first move, use the x and y as last coords.\n    return {\n      deltaX: 0,\n      deltaY: 0,\n      lastX: x,\n      lastY: y,\n      x,\n      y,\n    }\n  } else {\n    // Otherwise calculate proper values.\n    return {\n      deltaX: x - lastX,\n      deltaY: y - lastY,\n      lastX,\n      lastY,\n      x,\n      y,\n    }\n  }\n}\n\nfunction isNum(num: unknown): num is number {\n  return typeof num === 'number' && !Number.isNaN(num)\n}\n"],"names":["getControlPosition","e","offsetXYFromParentOf","evt","_a","offsetParent","offsetParentRect","x","y","createCoreData","lastX","lastY","isNum","num"],"mappings":"AACO,SAASA,EAAmBC,GAAe;AAChD,SAAOC,EAAqBD,CAAC;AAC/B;AAGO,SAASC,EAAqBC,GAAiB;AAL/C,MAAAC;AAML,QAAMC,MAAgBD,IAAAD,EAAI,WAAJ,gBAAAC,EAA4B,iBAAgB,SAAS,MACrEE,IACHH,EAAY,iBAAiB,SAAS,OACnC,EAAE,MAAM,GAAG,KAAK,MAChBE,EAAa,sBAAsB,GAEnCE,IAAIJ,EAAI,UAAUE,EAAa,aAAaC,EAAiB,MAC7DE,IAAIL,EAAI,UAAUE,EAAa,YAAYC,EAAiB;AAK3D,SAAA,EAAE,GAAAC,GAAG,GAAAC,EAAE;AAChB;AAGO,SAASC,EAAeC,GAAeC,GAAeJ,GAAWC,GAAW;AAIjF,SAFiBI,EAAMF,CAAK,IAcnB;AAAA,IACL,QAAQH,IAAIG;AAAA,IACZ,QAAQF,IAAIG;AAAA,IACZ,OAAAD;AAAA,IACA,OAAAC;AAAA,IACA,GAAAJ;AAAA,IACA,GAAAC;AAAA,EACF,IAjBO;AAAA,IACL,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,OAAOD;AAAA,IACP,OAAOC;AAAA,IACP,GAAAD;AAAA,IACA,GAAAC;AAAA,EACF;AAYJ;AAEA,SAASI,EAAMC,GAA6B;AAC1C,SAAO,OAAOA,KAAQ,YAAY,CAAC,OAAO,MAAMA,CAAG;AACrD;"}