{"version":3,"sources":["jsdelivr-header.js","/npm/hexo-theme-next@8.27.0/source/js/bookmark.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACJA,SAAS,iBAAiB,oBAAoB,KAC5C,aAEA,MAAM,EAAe,KACnB,aAAa,QAAQ,WAAa,SAAS,SAAU,OAAO,QAAQ,EAGhE,EAAe,KACnB,IAAI,EAAM,aAAa,QAAQ,WAAa,SAAS,UACrD,EAAM,OAAO,GAER,MAAM,IAA0B,KAAlB,SAAS,MAE1B,OAAO,MAAM,CACX,QAAW,SAAS,iBACpB,SAAW,IACX,OAAW,SACX,UAAW,GAEf,GAGW,SAAS,GAEpB,MAAM,EAAO,SAAS,cAAc,mBAEpC,OAAO,iBAAiB,UAAU,IAAM,EAAK,UAAU,OAAO,uBAA2C,IAAnB,OAAO,UAAgB,CAAE,SAAS,IAExG,SAAZ,IAEF,OAAO,iBAAiB,eAAgB,GACxC,SAAS,iBAAiB,YAAa,IAGzC,EAAK,iBAAiB,SAAS,KAC7B,IACA,OAAO,MAAM,CACX,QAAU,EACV,SAAU,IACV,OAAU,SACV,KAAW,GACX,SAAU,KACR,YAAW,KACT,EAAK,MAAM,IAAM,EAAE,GAClB,IAAI,GAET,IAEJ,IACA,SAAS,iBAAiB,eAAgB,EAC5C,CAEA,CAAK,OAAO,SAAS,KAAK","file":"/npm/hexo-theme-next@8.27.0/source/js/bookmark.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/hexo-theme-next@8.27.0/source/js/bookmark.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","/* global CONFIG */\n\ndocument.addEventListener('DOMContentLoaded', () => {\n  'use strict';\n\n  const doSaveScroll = () => {\n    localStorage.setItem('bookmark' + location.pathname, window.scrollY);\n  };\n\n  const scrollToMark = () => {\n    let top = localStorage.getItem('bookmark' + location.pathname);\n    top = Number(top);\n    // If the page opens with a specific hash, just jump out\n    if (!isNaN(top) && location.hash === '') {\n      // Auto scroll to the position\n      window.anime({\n        targets  : document.scrollingElement,\n        duration : 200,\n        easing   : 'linear',\n        scrollTop: top\n      });\n    }\n  };\n  // Register everything\n  const init = function(trigger) {\n    // Create a link element\n    const link = document.querySelector('.book-mark-link');\n    // Scroll event\n    window.addEventListener('scroll', () => link.classList.toggle('book-mark-link-fixed', window.scrollY === 0), { passive: true });\n    // Register beforeunload event when the trigger is auto\n    if (trigger === 'auto') {\n      // Register beforeunload event\n      window.addEventListener('beforeunload', doSaveScroll);\n      document.addEventListener('pjax:send', doSaveScroll);\n    }\n    // Save the position by clicking the icon\n    link.addEventListener('click', () => {\n      doSaveScroll();\n      window.anime({\n        targets : link,\n        duration: 200,\n        easing  : 'linear',\n        top     : -30,\n        complete: () => {\n          setTimeout(() => {\n            link.style.top = '';\n          }, 400);\n        }\n      });\n    });\n    scrollToMark();\n    document.addEventListener('pjax:success', scrollToMark);\n  };\n\n  init(CONFIG.bookmark.save);\n});\n"]}