"use strict";exports.__esModule = true;exports.getDOMRect = void 0;

/**
 * Возвращает размер элемента и его позицию относительно viewport
 *
 * @param element - ref элемента или сам элемент
 * @returns - возвращает размер элемента и его позицию относительно viewport
 */
var getDOMRect = exports.getDOMRect = function getDOMRect(element) {
  var defaultValues = {
    width: 0,
    height: 0,
    x: 0,
    y: 0,
    bottom: 0,
    left: 0,
    right: 0,
    top: 0
  };
  if (element && 'current' in element) {
    return getRefRect(defaultValues, element);
  }
  return getElementRect(defaultValues, element);
};
var getElementRect = function getElementRect(defaultValues, element) {
  if (element) {
    return element.getBoundingClientRect();
  }
  return defaultValues;
};
var getRefRect = function getRefRect(defaultValues, ref) {
  if (ref != null && ref.current) {
    return ref.current.getBoundingClientRect();
  }
  return defaultValues;
};