getVisibleElementsAndBBoxes = (parent) => {
  if (!parent) {
    const svgContent = svgCanvas.getSvgContent()
    parent = svgContent.children // Prevent layers from being included
  }
  const contentElems = []
  const elements = parent.children
  Array.from(elements).forEach((elem) => {
    if (elem.getBBox) {
      contentElems.push({ elem, bbox: getStrokedBBoxDefaultVisible([elem]) })
    }
  })
  return contentElems.reverse()
}
Get all elements that have a BBox (excludes `<defs>`, `<title>`, etc).
Note that 0-opacity, off-screen etc elements are still considered "visible"
for this function.
@function module:svgcanvas.SvgCanvas#getVisibleElementsAndBBoxes
@param {Element} parent - The parent DOM element to search within
@returns {ElementAndBBox[]} An array with objects that include: