'use strict';

function getMotionName(prefixCls, transitionName, animationName) {
  let motionName = transitionName;
  if (!motionName && animationName)
    motionName = `${prefixCls}-${animationName}`;
  return motionName;
}
let uuid = -1;
function getUUID() {
  uuid += 1;
  return uuid;
}
function getScroll(w, top) {
  let ret = w[`page${top ? "Y" : "X"}Offset`];
  const method = `scroll${top ? "Top" : "Left"}`;
  if (typeof ret !== "number") {
    const d = w.document;
    ret = d.documentElement[method];
    if (typeof ret !== "number")
      ret = d.body[method];
  }
  return ret;
}
function offset(el) {
  const rect = el.getBoundingClientRect();
  const pos = {
    left: rect.left,
    top: rect.top
  };
  const doc = el.ownerDocument;
  const w = doc.defaultView || doc.parentWindow;
  pos.left += getScroll(w);
  pos.top += getScroll(w, true);
  return pos;
}

exports.getMotionName = getMotionName;
exports.getUUID = getUUID;
exports.offset = offset;
//# sourceMappingURL=util.cjs.map
