{"version":3,"sources":["jsdelivr-header.js","/npm/hexo-theme-solitude@3.0.21/source/js/covercolor/local.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,MAAM,WAAa,CAAC,GAAQ,KACxB,GAAI,EAAO,CACP,IAAI,EAAY,SAAS,cAAc,2BAA2B,MAAM,gBACxE,MAAM,EAAiB,mBAAmB,KAAK,IAC/C,EAAY,EAAiB,EAAe,GAAK,KAE7C,WAAW,EAAU,EAE7B,KACK,CACD,MAAM,EAAY,YAAY,OAAS,SAAS,eAAe,eAAe,IAC1E,EACA,WAAW,GAEX,uBAER,GAGE,sBAAwB,KAO1B,OAAO,QANW,CACd,aAAc,mBACd,gBAAiB,sBACjB,qBAAsB,2BACtB,kBAAmB,0BAEG,SAAQ,EAAE,EAAK,MACrC,SAAS,gBAAgB,MAAM,YAAY,EAAK,EAAM,IAE1D,gBAAgB,EAGd,WAAa,CAAC,EAAM,GAAQ,KAC9B,MAAM,EAAa,IAAI,WACjB,EAAM,IAAI,MAChB,EAAI,YAAc,YAClB,EAAI,OAAS,KACT,MAAM,EAAQ,EAAW,SAAS,GAC/B,EACC,cAAc,SAAS,IAGvB,eAAe,SAAS,MAAW,EACvC,EAEJ,EAAI,QAAU,IAAM,QAAQ,MAAM,eAClC,EAAI,IAAM,CAAI,EAGZ,SAAW,EAAE,EAAG,EAAG,KACd,IAAM,CAAC,EAAG,EAAG,GAAG,KAAI,GAAK,KAAK,MAAU,GAAJ,GAAS,SAAS,IAAI,SAAS,EAAG,OAAM,KAAK,IAGtF,cAAiB,IACnB,IAAK,EAAO,OAAO,wBACN,SAAS,cAAc,cAC/B,MAAM,YAAY,cAAe,EAAM,EAI1C,eAAiB,CAAC,EAAO,EAAI,KAAM,EAAI,KAAM,EAAI,QACnD,IAAK,EAAO,OAAO,wBAEnB,MAAM,EAAc,CAChB,aAAc,EACd,gBAAiB,EAAQ,KACzB,qBAAsB,EAAQ,KAC9B,kBAAmB,EAAQ,MAO/B,GAJA,OAAO,QAAQ,GAAa,SAAQ,EAAE,EAAK,MACvC,SAAS,gBAAgB,MAAM,YAAY,EAAK,EAAM,IAGhD,OAAN,GAAoB,OAAN,GAAoB,OAAN,EAAY,CACrB,KAAK,OAAY,IAAJ,EAAgB,IAAJ,EAAgB,IAAJ,GAAY,KACnD,MACb,mBACA,EAAQ,mBAAmB,EAAO,IAClC,eAAe,GAEvB,CAEA,SAAS,eAAe,YAAY,UAAU,IAAI,UAClD,gBAAgB,EAGd,mBAAqB,CAAC,EAAK,KAC7B,IAAI,GAAW,EACA,MAAX,EAAI,KACJ,EAAM,EAAI,MAAM,GAChB,GAAW,GAEf,IAAI,EAAM,SAAS,EAAK,IACpB,GAAK,GAAO,IAAM,EAClB,GAAM,GAAO,EAAK,KAAU,EAC5B,GAAW,IAAN,GAAkB,EAM3B,OAJA,EAAI,KAAK,IAAI,KAAK,IAAI,EAAG,KAAM,GAC/B,EAAI,KAAK,IAAI,KAAK,IAAI,EAAG,KAAM,GAC/B,EAAI,KAAK,IAAI,KAAK,IAAI,EAAG,KAAM,IAEvB,EAAW,IAAM,MAAQ,GAAK,KAAO,GAAK,KAAO,GAAK,GAAK,GAAG,SAAS,IAAI,MAAM,EAAE,EAGzF,iBAAmB,KACA,SAAS,iBAAiB,iBAClC,SAAQ,IACjB,EAAK,MAAM,YAAY,gBAAiB,mBAAmB,IAG5C,SAAS,iBAAiB,UAClC,SAAQ,IACf,EAAK,MAAM,YAAY,aAAc,uBACrC,EAAK,MAAM,YAAY,QAAS,mBAAmB,GACrD","file":"/npm/hexo-theme-solitude@3.0.21/source/js/covercolor/local.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/hexo-theme-solitude@3.0.21/source/js/covercolor/local.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","const coverColor = (music = false) => {\n    if (music) {\n        var coverPath = document.querySelector(\"#nav-music .aplayer-pic\").style.backgroundImage;\n        const coverPathMatch = /url\\(\"([^\"]+)\"\\)/.exec(coverPath);\n        coverPath = coverPathMatch ? coverPathMatch[1] : '';\n        if (coverPath) {\n            localColor(coverPath,music);\n        }\n    }\n    else {\n        const pageColor = PAGE_CONFIG.color || document.getElementById(\"post-cover\")?.src;\n        if (pageColor) {\n            localColor(pageColor);\n        } else {\n            setDefaultThemeColors();\n        }\n    }\n}\n\nconst setDefaultThemeColors = () => {\n    const themeVars = {\n        '--efu-main': 'var(--efu-theme)',\n        '--efu-main-op': 'var(--efu-theme-op)',\n        '--efu-main-op-deep': 'var(--efu-theme-op-deep)',\n        '--efu-main-none': 'var(--efu-theme-none)'\n    };\n    Object.entries(themeVars).forEach(([key, value]) => {\n        document.documentElement.style.setProperty(key, value);\n    });\n    initThemeColor();\n}\n\nconst localColor = (path, music = false) => {\n    const colorThief = new ColorThief();\n    const img = new Image();\n    img.crossOrigin = \"Anonymous\";\n    img.onload = () => {\n        const color = colorThief.getColor(img);\n        if(music) {\n            setMusicColor(rgbToHex(color));\n        }\n        else{\n            setThemeColors(rgbToHex(color), ...color);\n        }\n    };\n    img.onerror = () => console.error('Image Error');\n    img.src = path;\n}\n\nconst rgbToHex = ([r, g, b]) => {\n    return '#' + [r, g, b].map(x => Math.floor(x * 0.8).toString(16).padStart(2, '0')).join('');\n}\n\nconst setMusicColor = (value) => {\n    if (!value) return setDefaultThemeColors();\n    const item = document.querySelector(\"#nav-music\")\n    item.style.setProperty('--efu-music', value);\n}\n\n\nconst setThemeColors = (value, r = null, g = null, b = null) => {\n    if (!value) return setDefaultThemeColors();\n\n    const themeColors = {\n        '--efu-main': value,\n        '--efu-main-op': value + '23',\n        '--efu-main-op-deep': value + 'dd',\n        '--efu-main-none': value + '00'\n    };\n    \n    Object.entries(themeColors).forEach(([key, color]) => {\n        document.documentElement.style.setProperty(key, color);\n    });\n\n    if (r !== null && g !== null && b !== null) {\n        const brightness = Math.round(((r * 299) + (g * 587) + (b * 114)) / 1000);\n        if (brightness < 125) {\n            adjustCardStyles();\n            value = LightenDarkenColor(value, 50);\n            setThemeColors(value);\n        }\n    }\n\n    document.getElementById(\"coverdiv\").classList.add(\"loaded\");\n    initThemeColor();\n}\n\nconst LightenDarkenColor = (col, amt) => {\n    let usePound = false;\n    if (col[0] === \"#\") {\n        col = col.slice(1);\n        usePound = true;\n    }\n    let num = parseInt(col, 16);\n    let r = (num >> 16) + amt;\n    let g = ((num >> 8) & 0x00FF) + amt;\n    let b = (num & 0x0000FF) + amt;\n\n    r = Math.max(Math.min(r, 255), 0);\n    g = Math.max(Math.min(g, 255), 0);\n    b = Math.max(Math.min(b, 255), 0);\n\n    return (usePound ? \"#\" : \"\") + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\n}\n\nconst adjustCardStyles = () => {\n    const cardContents = document.querySelectorAll('.card-content');\n    cardContents.forEach(item => {\n        item.style.setProperty('--efu-card-bg', 'var(--efu-white)');\n    });\n\n    const authorInfo = document.querySelectorAll('.sayhi');\n    authorInfo.forEach(item => {\n        item.style.setProperty('background', 'var(--efu-white-op)');\n        item.style.setProperty('color', 'var(--efu-white)');\n    });\n}\n"]}