{"version":3,"names":["GROUPS","ORDERED_IDS","STORAGE_KEY","scheduled","observerStarted","readState","JSON","parse","window","localStorage","getItem","writeState","state","setItem","stringify","wrapperFor","categoryId","document","querySelector","categoryWrappers","section","Array","from","querySelectorAll","directWrapperParent","first","parentNode","reorderSidebar","parent","availableIds","filter","wrapper","currentIds","map","dataset","slice","length","join","marker","createComment","insertBefore","forEach","remove","hasActiveChild","group","childIds","some","childId","child","setGroupExpanded","expanded","parentId","classList","add","toggle","parentLink","setAttribute","createElement","type","className","appendChild","addEventListener","event","preventDefault","stopPropagation","toggleGroup","button","link","currentExpanded","getAttribute","contains","nextExpanded","enhanceSidebar","savedState","scheduleEnhance","requestAnimationFrame","startObserver","body","observer","MutationObserver","observe","attributes","attributeFilter","childList","subtree","init","setTimeout","readyState","once"],"sources":["theme-3-inline-common-head_tag.js"],"sourcesContent":["\n  (() => {\n    const GROUPS = [{\"parentId\":\"72\",\"childIds\":[\"4\",\"73\",\"77\",\"79\",\"81\",\"83\",\"85\",\"87\",\"89\"]}];\n    const ORDERED_IDS = [\"12\",\"94\",\"72\",\"73\",\"77\",\"79\",\"81\",\"83\",\"85\",\"87\",\"89\",\"4\",\"9\",\"74\",\"78\",\"80\",\"82\",\"84\",\"86\",\"88\",\"90\",\"5\",\"10\"];\n    const STORAGE_KEY = \"hiwonder-sidebar-collapsed-categories-v2\";\n    let scheduled = false;\n    let observerStarted = false;\n\n    function readState() {\n      try {\n        return JSON.parse(window.localStorage.getItem(STORAGE_KEY) || \"{}\");\n      } catch {\n        return {};\n      }\n    }\n\n    function writeState(state) {\n      try {\n        window.localStorage.setItem(STORAGE_KEY, JSON.stringify(state));\n      } catch {\n      }\n    }\n\n    function wrapperFor(categoryId) {\n      return document.querySelector(\n        `.sidebar-section[data-section-name=\"categories\"] .sidebar-section-link-wrapper[data-category-id=\"${categoryId}\"]`\n      );\n    }\n\n    function categoryWrappers(section) {\n      return Array.from(\n        section.querySelectorAll(\".sidebar-section-link-wrapper[data-category-id]\")\n      );\n    }\n\n    function directWrapperParent(section) {\n      const first = categoryWrappers(section)[0];\n      return first?.parentNode || null;\n    }\n\n    function reorderSidebar(section) {\n      const parent = directWrapperParent(section);\n\n      if (!parent) {\n        return;\n      }\n\n      const availableIds = ORDERED_IDS.filter((categoryId) => {\n        const wrapper = wrapperFor(categoryId);\n        return wrapper && wrapper.parentNode === parent;\n      });\n      const currentIds = Array.from(parent.querySelectorAll(\":scope > .sidebar-section-link-wrapper[data-category-id]\"))\n        .map((wrapper) => wrapper.dataset.categoryId);\n\n      if (currentIds.slice(0, availableIds.length).join(\"|\") === availableIds.join(\"|\")) {\n        return;\n      }\n\n      const marker = document.createComment(\"hiwonder-sidebar-order\");\n      const first = parent.querySelector(\":scope > .sidebar-section-link-wrapper[data-category-id]\");\n      parent.insertBefore(marker, first);\n\n      availableIds.forEach((categoryId) => {\n        const wrapper = wrapperFor(categoryId);\n\n        if (wrapper && wrapper.parentNode === parent) {\n          parent.insertBefore(wrapper, marker);\n        }\n      });\n\n      marker.remove();\n    }\n\n    function hasActiveChild(group) {\n      return group.childIds.some((childId) => {\n        const child = wrapperFor(childId);\n        return child?.querySelector(\".sidebar-section-link.active, .sidebar-section-link.exact-url-match\");\n      });\n    }\n\n    function setGroupExpanded(group, expanded) {\n      const parent = wrapperFor(group.parentId);\n\n      if (!parent) {\n        return;\n      }\n\n      parent.classList.add(\"hw-sidebar-parent-category\");\n      parent.classList.toggle(\"is-expanded\", expanded);\n      parent.classList.toggle(\"is-collapsed\", !expanded);\n\n      const parentLink = parent.querySelector(\":scope > .sidebar-section-link\");\n      if (parentLink) {\n        parentLink.setAttribute(\"aria-expanded\", expanded ? \"true\" : \"false\");\n        // 父分类链接保持可正常点击导航；展开/折叠只由右侧箭头按钮 .hw-sidebar-collapse-toggle 控制。\n        // (原实现会 removeAttribute(\"href\") 并在捕获阶段吞掉点击，导致父分类对所有人都点不进去)\n      }\n\n      let toggle = parent.querySelector(\":scope > .hw-sidebar-collapse-toggle\");\n      if (!toggle) {\n        toggle = document.createElement(\"button\");\n        toggle.type = \"button\";\n        toggle.className = \"hw-sidebar-collapse-toggle\";\n        toggle.setAttribute(\"aria-label\", \"Toggle subcategories\");\n        parent.appendChild(toggle);\n        toggle.addEventListener(\"click\", (event) => {\n          event.preventDefault();\n          event.stopPropagation();\n          toggleGroup(group, parent);\n        });\n      }\n\n      toggle.setAttribute(\"aria-expanded\", expanded ? \"true\" : \"false\");\n\n      group.childIds.forEach((childId) => {\n        const child = wrapperFor(childId);\n\n        if (child) {\n          child.classList.add(\"hw-sidebar-subcategory\");\n          child.classList.toggle(\"hw-sidebar-subcategory-hidden\", !expanded);\n        }\n      });\n    }\n\n    function toggleGroup(group, parent) {\n      const state = readState();\n      const button = parent.querySelector(\":scope > .hw-sidebar-collapse-toggle\");\n      const link = parent.querySelector(\":scope > .sidebar-section-link\");\n      const currentExpanded =\n        button?.getAttribute(\"aria-expanded\") === \"true\" ||\n        link?.getAttribute(\"aria-expanded\") === \"true\" ||\n        parent.classList.contains(\"is-expanded\");\n      const nextExpanded = !currentExpanded;\n\n      state[group.parentId] = nextExpanded ? \"expanded\" : \"collapsed\";\n      writeState(state);\n      setGroupExpanded(group, nextExpanded);\n    }\n\n    function enhanceSidebar() {\n      const section = document.querySelector('.sidebar-section[data-section-name=\"categories\"]');\n\n      if (!section) {\n        return;\n      }\n\n      reorderSidebar(section);\n\n      const state = readState();\n      GROUPS.forEach((group) => {\n        const savedState = state[group.parentId];\n        const expanded =\n          savedState === \"expanded\" || hasActiveChild(group);\n        setGroupExpanded(group, expanded);\n      });\n    }\n\n    function scheduleEnhance() {\n      if (scheduled) {\n        return;\n      }\n\n      scheduled = true;\n      window.requestAnimationFrame(() => {\n        scheduled = false;\n        enhanceSidebar();\n      });\n    }\n\n    function startObserver() {\n      if (observerStarted || !document.body) {\n        return;\n      }\n\n      observerStarted = true;\n      const observer = new MutationObserver(scheduleEnhance);\n      observer.observe(document.body, {\n        attributes: true,\n        attributeFilter: [\"class\", \"href\"],\n        childList: true,\n        subtree: true,\n      });\n    }\n\n    function init() {\n      scheduleEnhance();\n      startObserver();\n      window.setTimeout(scheduleEnhance, 100);\n      window.setTimeout(scheduleEnhance, 300);\n      window.setTimeout(scheduleEnhance, 750);\n      window.setTimeout(scheduleEnhance, 1500);\n      document.addEventListener(\"click\", () => window.setTimeout(scheduleEnhance, 50), true);\n      window.addEventListener(\"popstate\", scheduleEnhance);\n      window.addEventListener(\"hashchange\", scheduleEnhance);\n    }\n\n    if (document.readyState === \"loading\") {\n      document.addEventListener(\"DOMContentLoaded\", init, { once: true });\n    } else {\n      init();\n    }\n  })();\n"],"mappings":"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","ignoreList":[]}