{
  "version": 3,
  "sources": ["lcp-beacon.js"],
  "sourcesContent": ["(() => {\n  // src/LcpBeacon.js\n  var LcpBeacon = class {\n    constructor(config) {\n      this.config = config;\n      this.performanceImages = [];\n      this.errorCode = \"\";\n      this.scriptTimer = /* @__PURE__ */ new Date();\n      this.infiniteLoopId = null;\n    }\n    async init() {\n      if (!await this._isValidPreconditions()) {\n        this._finalize();\n        return;\n      }\n      this.infiniteLoopId = setTimeout(() => {\n        this._handleInfiniteLoop();\n      }, 1e4);\n      try {\n        const above_the_fold_images = this._generateLcpCandidates(Infinity);\n        if (above_the_fold_images) {\n          this._initWithFirstElementWithInfo(above_the_fold_images);\n          this._fillATFWithoutDuplications(above_the_fold_images);\n        }\n      } catch (err) {\n        this.errorCode = \"script_error\";\n        this._logMessage(\"Script Error: \" + err);\n      }\n      this._saveFinalResultIntoDB();\n    }\n    async _isValidPreconditions() {\n      if (this._isNotValidScreensize()) {\n        this._logMessage(\"Bailing out because screen size is not acceptable\");\n        return false;\n      }\n      if (this._isPageCached() && await this._isGeneratedBefore()) {\n        this._logMessage(\"Bailing out because data is already available\");\n        return false;\n      }\n      return true;\n    }\n    _isPageCached() {\n      const signature = document.documentElement.nextSibling && document.documentElement.nextSibling.data ? document.documentElement.nextSibling.data : \"\";\n      return signature && signature.includes(\"Debug: cached\");\n    }\n    async _isGeneratedBefore() {\n      let data_check = new FormData();\n      data_check.append(\"action\", \"rocket_check_lcp\");\n      data_check.append(\"rocket_lcp_nonce\", this.config.nonce);\n      data_check.append(\"url\", this.config.url);\n      data_check.append(\"is_mobile\", this.config.is_mobile);\n      const lcp_data_response = await fetch(this.config.ajax_url, {\n        method: \"POST\",\n        credentials: \"same-origin\",\n        body: data_check\n      }).then((data) => data.json());\n      return lcp_data_response.success;\n    }\n    _isNotValidScreensize() {\n      const screenWidth = window.innerWidth || document.documentElement.clientWidth;\n      const screenHeight = window.innerHeight || document.documentElement.clientHeight;\n      const isNotValidForMobile = this.config.is_mobile && (screenWidth > this.config.width_threshold || screenHeight > this.config.height_threshold);\n      const isNotValidForDesktop = !this.config.is_mobile && (screenWidth < this.config.width_threshold || screenHeight < this.config.height_threshold);\n      return isNotValidForMobile || isNotValidForDesktop;\n    }\n    _generateLcpCandidates(count) {\n      const lcpElements = document.querySelectorAll(this.config.elements);\n      if (lcpElements.length <= 0) {\n        return [];\n      }\n      const potentialCandidates = Array.from(lcpElements);\n      const topCandidates = potentialCandidates.map((element) => {\n        if (\"img\" === element.nodeName.toLowerCase() && \"picture\" === element.parentElement.nodeName.toLowerCase()) {\n          return null;\n        }\n        let rect;\n        if (\"picture\" === element.nodeName.toLowerCase()) {\n          const imgElement = element.querySelector(\"img\");\n          if (imgElement) {\n            rect = imgElement.getBoundingClientRect();\n          } else {\n            return null;\n          }\n        } else {\n          rect = element.getBoundingClientRect();\n        }\n        return {\n          element,\n          rect\n        };\n      }).filter((item) => item !== null).filter((item) => {\n        return item.rect.width > 0 && item.rect.height > 0 && this._isIntersecting(item.rect);\n      }).map((item) => ({\n        item,\n        area: this._getElementArea(item.rect),\n        elementInfo: this._getElementInfo(item.element)\n      })).sort((a, b) => b.area - a.area).slice(0, count);\n      return topCandidates.map((candidate) => ({\n        element: candidate.item.element,\n        elementInfo: candidate.elementInfo\n      }));\n    }\n    _isIntersecting(rect) {\n      return rect.bottom >= 0 && rect.right >= 0 && rect.top <= (window.innerHeight || document.documentElement.clientHeight) && rect.left <= (window.innerWidth || document.documentElement.clientWidth);\n    }\n    _getElementArea(rect) {\n      const visibleWidth = Math.min(rect.width, (window.innerWidth || document.documentElement.clientWidth) - rect.left);\n      const visibleHeight = Math.min(rect.height, (window.innerHeight || document.documentElement.clientHeight) - rect.top);\n      return visibleWidth * visibleHeight;\n    }\n    _getElementInfo(element) {\n      const nodeName = element.nodeName.toLowerCase();\n      const element_info = {\n        type: \"\",\n        src: \"\",\n        srcset: \"\",\n        sizes: \"\",\n        sources: [],\n        bg_set: [],\n        current_src: \"\"\n      };\n      const css_bg_url_rgx = /url\\(\\s*?['\"]?\\s*?(.+?)\\s*?[\"']?\\s*?\\)/ig;\n      if (nodeName === \"img\" && element.srcset) {\n        element_info.type = \"img-srcset\";\n        element_info.src = element.src;\n        element_info.srcset = element.srcset;\n        element_info.sizes = element.sizes;\n        element_info.current_src = element.currentSrc;\n      } else if (nodeName === \"img\") {\n        element_info.type = \"img\";\n        element_info.src = element.src;\n        element_info.current_src = element.currentSrc;\n      } else if (nodeName === \"video\") {\n        element_info.type = \"img\";\n        const source = element.querySelector(\"source\");\n        element_info.src = element.poster || (source ? source.src : \"\");\n        element_info.current_src = element_info.src;\n      } else if (nodeName === \"svg\") {\n        const imageElement = element.querySelector(\"image\");\n        if (imageElement) {\n          element_info.type = \"img\";\n          element_info.src = imageElement.getAttribute(\"href\") || \"\";\n          element_info.current_src = element_info.src;\n        }\n      } else if (nodeName === \"picture\") {\n        element_info.type = \"picture\";\n        const img = element.querySelector(\"img\");\n        element_info.src = img ? img.src : \"\";\n        element_info.sources = Array.from(element.querySelectorAll(\"source\")).map((source) => ({\n          srcset: source.srcset || \"\",\n          media: source.media || \"\",\n          type: source.type || \"\",\n          sizes: source.sizes || \"\"\n        }));\n      } else {\n        const computed_style = window.getComputedStyle(element, null);\n        const bg_props = [\n          computed_style.getPropertyValue(\"background-image\"),\n          getComputedStyle(element, \":after\").getPropertyValue(\"background-image\"),\n          getComputedStyle(element, \":before\").getPropertyValue(\"background-image\")\n        ].filter((prop) => prop !== \"none\");\n        if (bg_props.length === 0) {\n          return null;\n        }\n        const full_bg_prop = bg_props[0];\n        element_info.type = \"bg-img\";\n        if (full_bg_prop.includes(\"image-set(\")) {\n          element_info.type = \"bg-img-set\";\n        }\n        if (!full_bg_prop || full_bg_prop === \"\" || full_bg_prop.includes(\"data:image\")) {\n          return null;\n        }\n        const matches = [...full_bg_prop.matchAll(css_bg_url_rgx)];\n        element_info.bg_set = matches.map((m) => m[1] ? { src: m[1].trim() + (m[2] ? \" \" + m[2].trim() : \"\") } : {});\n        if (element_info.bg_set.every((item) => item.src === \"\")) {\n          element_info.bg_set = matches.map((m) => m[1] ? { src: m[1].trim() } : {});\n        }\n        if (element_info.bg_set.length > 0) {\n          element_info.src = element_info.bg_set[0].src;\n          if (element_info.type === \"bg-img-set\") {\n            element_info.src = element_info.bg_set;\n          }\n        }\n      }\n      return element_info;\n    }\n    _initWithFirstElementWithInfo(elements) {\n      const firstElementWithInfo = elements.find((item) => item.elementInfo !== null);\n      if (!firstElementWithInfo) {\n        this._logMessage(\"No LCP candidate found.\");\n        this.performanceImages = [];\n        return;\n      }\n      this.performanceImages = [{\n        ...firstElementWithInfo.elementInfo,\n        label: \"lcp\"\n      }];\n    }\n    _fillATFWithoutDuplications(elements) {\n      elements.forEach(({ element, elementInfo }) => {\n        if (this._isDuplicateImage(element) || !elementInfo) {\n          return;\n        }\n        this.performanceImages.push({ ...elementInfo, label: \"above-the-fold\" });\n      });\n    }\n    _isDuplicateImage(image) {\n      const elementInfo = this._getElementInfo(image);\n      if (elementInfo === null) {\n        return false;\n      }\n      const isImageOrVideo = elementInfo.type === \"img\" || elementInfo.type === \"img-srcset\" || elementInfo.type === \"video\";\n      const isBgImageOrPicture = elementInfo.type === \"bg-img\" || elementInfo.type === \"bg-img-set\" || elementInfo.type === \"picture\";\n      return (isImageOrVideo || isBgImageOrPicture) && this.performanceImages.some((item) => item.src === elementInfo.src);\n    }\n    _getFinalStatus() {\n      if (\"\" !== this.errorCode) {\n        return this.errorCode;\n      }\n      const scriptTime = (/* @__PURE__ */ new Date() - this.scriptTimer) / 1e3;\n      if (10 <= scriptTime) {\n        return \"timeout\";\n      }\n      return \"success\";\n    }\n    _saveFinalResultIntoDB() {\n      const data = new FormData();\n      data.append(\"action\", \"rocket_lcp\");\n      data.append(\"rocket_lcp_nonce\", this.config.nonce);\n      data.append(\"url\", this.config.url);\n      data.append(\"is_mobile\", this.config.is_mobile);\n      data.append(\"images\", JSON.stringify(this.performanceImages));\n      data.append(\"status\", this._getFinalStatus());\n      fetch(this.config.ajax_url, {\n        method: \"POST\",\n        credentials: \"same-origin\",\n        body: data,\n        headers: {\n          \"wpr-saas-no-intercept\": true\n        }\n      }).then((response) => response.json()).then((data2) => {\n        this._logMessage(data2);\n      }).catch((error) => {\n        this._logMessage(error);\n      }).finally(() => {\n        this._finalize();\n      });\n    }\n    _handleInfiniteLoop() {\n      this._saveFinalResultIntoDB();\n    }\n    _finalize() {\n      const beaconscript = document.querySelector('[data-name=\"wpr-lcp-beacon\"]');\n      beaconscript.setAttribute(\"beacon-completed\", \"true\");\n      clearTimeout(this.infiniteLoopId);\n    }\n    _logMessage(msg) {\n      if (!this.config.debug) {\n        return;\n      }\n      console.log(msg);\n    }\n  };\n  var LcpBeacon_default = LcpBeacon;\n\n  // src/rocketLcpBeacon.js\n  ((rocket_lcp_data) => {\n    if (!rocket_lcp_data) {\n      return;\n    }\n    const instance = new LcpBeacon_default(rocket_lcp_data);\n    if (document.readyState !== \"loading\") {\n      setTimeout(() => {\n        instance.init();\n      }, rocket_lcp_data.delay);\n      return;\n    }\n    document.addEventListener(\"DOMContentLoaded\", () => {\n      setTimeout(() => {\n        instance.init();\n      }, rocket_lcp_data.delay);\n    });\n  })(window.rocket_lcp_data);\n})();\n"],
  "mappings": "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",
  "names": ["LcpBeacon", "config", "above_the_fold_images", "err", "signature", "data_check", "data", "screenWidth", "screenHeight", "isNotValidForMobile", "isNotValidForDesktop", "count", "lcpElements", "element", "rect", "imgElement", "item", "a", "b", "candidate", "visibleWidth", "visibleHeight", "nodeName", "element_info", "css_bg_url_rgx", "source", "imageElement", "img", "bg_props", "prop", "full_bg_prop", "matches", "m", "elements", "firstElementWithInfo", "elementInfo", "image", "isImageOrVideo", "isBgImageOrPicture", "response", "data2", "error", "msg", "LcpBeacon_default", "rocket_lcp_data", "instance"]
}