{"ast":null,"code":"\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports[\"default\"] = initializeBuildWatcher;\n\nvar _router = _interopRequireDefault(require(\"../router\"));\n\nfunction initializeBuildWatcher() {\n  var shadowHost = document.createElement('div');\n  shadowHost.id = '__next-prerender-indicator'; // Make sure container is fixed and on a high zIndex so it shows\n\n  shadowHost.style.position = 'fixed';\n  shadowHost.style.bottom = '20px';\n  shadowHost.style.right = '10px';\n  shadowHost.style.width = 0;\n  shadowHost.style.height = 0;\n  shadowHost.style.zIndex = 99998;\n  shadowHost.style.transition = 'all 100ms ease';\n  document.body.appendChild(shadowHost);\n  var shadowRoot;\n  var prefix = '';\n\n  if (shadowHost.attachShadow) {\n    shadowRoot = shadowHost.attachShadow({\n      mode: 'open'\n    });\n  } else {\n    // If attachShadow is undefined then the browser does not support\n    // the Shadow DOM, we need to prefix all the names so there\n    // will be no conflicts\n    shadowRoot = shadowHost;\n    prefix = '__next-prerender-indicator-';\n  } // Container\n\n\n  var container = createContainer(prefix);\n  shadowRoot.appendChild(container); // CSS\n\n  var css = createCss(prefix);\n  shadowRoot.appendChild(css);\n  var expandEl = container.querySelector('a');\n  var closeEl = container.querySelector(\"#\".concat(prefix, \"close\")); // State\n\n  var dismissKey = '__NEXT_DISMISS_PRERENDER_INDICATOR';\n  var dismissUntil = parseInt(window.localStorage.getItem(dismissKey), 10);\n  var dismissed = dismissUntil > new Date().getTime();\n  var isVisible = !dismissed && window.__NEXT_DATA__.nextExport;\n\n  function updateContainer() {\n    if (isVisible) {\n      container.classList.add(\"\".concat(prefix, \"visible\"));\n    } else {\n      container.classList.remove(\"\".concat(prefix, \"visible\"));\n    }\n  }\n\n  var expandedClass = \"\".concat(prefix, \"expanded\");\n  var toggleTimeout;\n\n  var toggleExpand = function toggleExpand() {\n    var expand = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n    clearTimeout(toggleTimeout);\n    toggleTimeout = setTimeout(function () {\n      if (expand) {\n        expandEl.classList.add(expandedClass);\n        closeEl.style.display = 'flex';\n      } else {\n        expandEl.classList.remove(expandedClass);\n        closeEl.style.display = 'none';\n      }\n    }, 50);\n  };\n\n  closeEl.addEventListener('click', function () {\n    var oneHourAway = new Date().getTime() + 1 * 60 * 60 * 1000;\n    window.localStorage.setItem(dismissKey, oneHourAway + '');\n    isVisible = false;\n    updateContainer();\n  });\n  closeEl.addEventListener('mouseenter', function () {\n    return toggleExpand();\n  });\n  closeEl.addEventListener('mouseleave', function () {\n    return toggleExpand(false);\n  });\n  expandEl.addEventListener('mouseenter', function () {\n    return toggleExpand();\n  });\n  expandEl.addEventListener('mouseleave', function () {\n    return toggleExpand(false);\n  });\n\n  _router[\"default\"].events.on('routeChangeComplete', function () {\n    isVisible = window.next.isPrerendered;\n    updateContainer();\n  });\n\n  updateContainer();\n}\n\nfunction createContainer(prefix) {\n  var container = document.createElement('div');\n  container.id = \"\".concat(prefix, \"container\");\n  container.innerHTML = \"\\n    <button id=\\\"\".concat(prefix, \"close\\\" title=\\\"Hide indicator for session\\\">\\n      <span>\\xD7</span>\\n    </button>\\n    <a href=\\\"https://nextjs.org/docs#automatic-static-optimization-indicator\\\" target=\\\"_blank\\\" rel=\\\"noreferrer\\\">\\n      <div id=\\\"\").concat(prefix, \"icon-wrapper\\\">\\n          <svg width=\\\"15\\\" height=\\\"20\\\" viewBox=\\\"0 0 60 80\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n          <path d=\\\"M36 3L30.74 41H8L36 3Z\\\" fill=\\\"black\\\"/>\\n          <path d=\\\"M25 77L30.26 39H53L25 77Z\\\" fill=\\\"black\\\"/>\\n          <path d=\\\"M13.5 33.5L53 39L47.5 46.5L7 41.25L13.5 33.5Z\\\" fill=\\\"black\\\"/>\\n          </svg>\\n          Prerendered Page\\n      </div>\\n    </a>\\n  \");\n  return container;\n}\n\nfunction createCss(prefix) {\n  var css = document.createElement('style');\n  css.textContent = \"\\n    #\".concat(prefix, \"container {\\n      position: absolute;\\n      display: none;\\n      bottom: 10px;\\n      right: 15px;\\n    }\\n\\n    #\").concat(prefix, \"close {\\n      top: -10px;\\n      right: -10px;\\n      border: none;\\n      width: 18px;\\n      height: 18px;\\n      color: #333333;\\n      font-size: 16px;\\n      cursor: pointer;\\n      display: none;\\n      position: absolute;\\n      background: #ffffff;\\n      border-radius: 100%;\\n      align-items: center;\\n      flex-direction: column;\\n      justify-content: center;\\n    }\\n\\n    #\").concat(prefix, \"container a {\\n      color: inherit;\\n      text-decoration: none;\\n      width: 15px;\\n      height: 23px;\\n      overflow: hidden;\\n\\n      border-radius: 3px;\\n      background: #fff;\\n      color: #000;\\n      font: initial;\\n      cursor: pointer;\\n      letter-spacing: initial;\\n      text-shadow: initial;\\n      text-transform: initial;\\n      visibility: initial;\\n      font-size: 14px;\\n      font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;\\n\\n      padding: 4px 2px;\\n      align-items: center;\\n      box-shadow: 0 11px 40px 0 rgba(0, 0, 0, 0.25), 0 2px 10px 0 rgba(0, 0, 0, 0.12);\\n\\n      display: flex;\\n      transition: opacity 0.1s ease, bottom 0.1s ease, width 0.3s ease;\\n      animation: \").concat(prefix, \"fade-in 0.1s ease-in-out;\\n    }\\n\\n    #\").concat(prefix, \"icon-wrapper {\\n      width: 140px;\\n      height: 20px;\\n      display: flex;\\n      flex-shrink: 0;\\n      align-items: center;\\n      position: relative;\\n    }\\n\\n    #\").concat(prefix, \"icon-wrapper svg {\\n      flex-shrink: 0;\\n      margin-right: 3px;\\n    }\\n\\n    #\").concat(prefix, \"container a.\").concat(prefix, \"expanded {\\n      width: 135px;\\n    }\\n\\n    #\").concat(prefix, \"container.\").concat(prefix, \"visible {\\n      display: flex;\\n      bottom: 10px;\\n      opacity: 1;\\n    }\\n\\n    @keyframes \").concat(prefix, \"fade-in {\\n      from {\\n        bottom: 0px;\\n        opacity: 0;\\n      }\\n      to {\\n        bottom: 10px;\\n        opacity: 1;\\n      }\\n    }\\n  \");\n  return css;\n}","map":{"version":3,"sources":["../../../client/dev/prerender-indicator.js"],"names":["shadowHost","document","prefix","shadowRoot","mode","container","createContainer","css","createCss","expandEl","closeEl","dismissKey","dismissUntil","parseInt","window","dismissed","isVisible","expandedClass","toggleExpand","expand","clearTimeout","toggleTimeout","setTimeout","oneHourAway","updateContainer","Router"],"mappings":"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","sourcesContent":["import Router from '../router'\n\nexport default function initializeBuildWatcher() {\n  const shadowHost = document.createElement('div')\n  shadowHost.id = '__next-prerender-indicator'\n  // Make sure container is fixed and on a high zIndex so it shows\n  shadowHost.style.position = 'fixed'\n  shadowHost.style.bottom = '20px'\n  shadowHost.style.right = '10px'\n  shadowHost.style.width = 0\n  shadowHost.style.height = 0\n  shadowHost.style.zIndex = 99998\n  shadowHost.style.transition = 'all 100ms ease'\n\n  document.body.appendChild(shadowHost)\n\n  let shadowRoot\n  let prefix = ''\n\n  if (shadowHost.attachShadow) {\n    shadowRoot = shadowHost.attachShadow({ mode: 'open' })\n  } else {\n    // If attachShadow is undefined then the browser does not support\n    // the Shadow DOM, we need to prefix all the names so there\n    // will be no conflicts\n    shadowRoot = shadowHost\n    prefix = '__next-prerender-indicator-'\n  }\n\n  // Container\n  const container = createContainer(prefix)\n  shadowRoot.appendChild(container)\n\n  // CSS\n  const css = createCss(prefix)\n  shadowRoot.appendChild(css)\n\n  const expandEl = container.querySelector('a')\n  const closeEl = container.querySelector(`#${prefix}close`)\n\n  // State\n  const dismissKey = '__NEXT_DISMISS_PRERENDER_INDICATOR'\n  const dismissUntil = parseInt(window.localStorage.getItem(dismissKey), 10)\n  const dismissed = dismissUntil > new Date().getTime()\n\n  let isVisible = !dismissed && window.__NEXT_DATA__.nextExport\n\n  function updateContainer() {\n    if (isVisible) {\n      container.classList.add(`${prefix}visible`)\n    } else {\n      container.classList.remove(`${prefix}visible`)\n    }\n  }\n  const expandedClass = `${prefix}expanded`\n  let toggleTimeout\n\n  const toggleExpand = (expand = true) => {\n    clearTimeout(toggleTimeout)\n\n    toggleTimeout = setTimeout(() => {\n      if (expand) {\n        expandEl.classList.add(expandedClass)\n        closeEl.style.display = 'flex'\n      } else {\n        expandEl.classList.remove(expandedClass)\n        closeEl.style.display = 'none'\n      }\n    }, 50)\n  }\n\n  closeEl.addEventListener('click', () => {\n    const oneHourAway = new Date().getTime() + 1 * 60 * 60 * 1000\n    window.localStorage.setItem(dismissKey, oneHourAway + '')\n    isVisible = false\n    updateContainer()\n  })\n  closeEl.addEventListener('mouseenter', () => toggleExpand())\n  closeEl.addEventListener('mouseleave', () => toggleExpand(false))\n  expandEl.addEventListener('mouseenter', () => toggleExpand())\n  expandEl.addEventListener('mouseleave', () => toggleExpand(false))\n\n  Router.events.on('routeChangeComplete', () => {\n    isVisible = window.next.isPrerendered\n    updateContainer()\n  })\n  updateContainer()\n}\n\nfunction createContainer(prefix) {\n  const container = document.createElement('div')\n  container.id = `${prefix}container`\n  container.innerHTML = `\n    <button id=\"${prefix}close\" title=\"Hide indicator for session\">\n      <span>×</span>\n    </button>\n    <a href=\"https://nextjs.org/docs#automatic-static-optimization-indicator\" target=\"_blank\" rel=\"noreferrer\">\n      <div id=\"${prefix}icon-wrapper\">\n          <svg width=\"15\" height=\"20\" viewBox=\"0 0 60 80\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n          <path d=\"M36 3L30.74 41H8L36 3Z\" fill=\"black\"/>\n          <path d=\"M25 77L30.26 39H53L25 77Z\" fill=\"black\"/>\n          <path d=\"M13.5 33.5L53 39L47.5 46.5L7 41.25L13.5 33.5Z\" fill=\"black\"/>\n          </svg>\n          Prerendered Page\n      </div>\n    </a>\n  `\n  return container\n}\n\nfunction createCss(prefix) {\n  const css = document.createElement('style')\n  css.textContent = `\n    #${prefix}container {\n      position: absolute;\n      display: none;\n      bottom: 10px;\n      right: 15px;\n    }\n\n    #${prefix}close {\n      top: -10px;\n      right: -10px;\n      border: none;\n      width: 18px;\n      height: 18px;\n      color: #333333;\n      font-size: 16px;\n      cursor: pointer;\n      display: none;\n      position: absolute;\n      background: #ffffff;\n      border-radius: 100%;\n      align-items: center;\n      flex-direction: column;\n      justify-content: center;\n    }\n\n    #${prefix}container a {\n      color: inherit;\n      text-decoration: none;\n      width: 15px;\n      height: 23px;\n      overflow: hidden;\n\n      border-radius: 3px;\n      background: #fff;\n      color: #000;\n      font: initial;\n      cursor: pointer;\n      letter-spacing: initial;\n      text-shadow: initial;\n      text-transform: initial;\n      visibility: initial;\n      font-size: 14px;\n      font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;\n\n      padding: 4px 2px;\n      align-items: center;\n      box-shadow: 0 11px 40px 0 rgba(0, 0, 0, 0.25), 0 2px 10px 0 rgba(0, 0, 0, 0.12);\n\n      display: flex;\n      transition: opacity 0.1s ease, bottom 0.1s ease, width 0.3s ease;\n      animation: ${prefix}fade-in 0.1s ease-in-out;\n    }\n\n    #${prefix}icon-wrapper {\n      width: 140px;\n      height: 20px;\n      display: flex;\n      flex-shrink: 0;\n      align-items: center;\n      position: relative;\n    }\n\n    #${prefix}icon-wrapper svg {\n      flex-shrink: 0;\n      margin-right: 3px;\n    }\n\n    #${prefix}container a.${prefix}expanded {\n      width: 135px;\n    }\n\n    #${prefix}container.${prefix}visible {\n      display: flex;\n      bottom: 10px;\n      opacity: 1;\n    }\n\n    @keyframes ${prefix}fade-in {\n      from {\n        bottom: 0px;\n        opacity: 0;\n      }\n      to {\n        bottom: 10px;\n        opacity: 1;\n      }\n    }\n  `\n\n  return css\n}\n"]},"metadata":{},"sourceType":"script"}