{
  "version": 3,
  "sources": ["/cdn/shop/t/5/assets/plant-news-areas.js?cachebust=20260822a"],
  "sourcesContent": ["/**\n * plant-news-areas.js\n * MY AREA(\u30D5\u30A9\u30ED\u30FC\u30A8\u30EA\u30A2\u8A2D\u5B9A)\u30DA\u30FC\u30B8\u3002user-region-follows Worker\u304B\u3089\u73FE\u5728\u306E\u30D5\u30A9\u30ED\u30FC\u72B6\u614B\u3092\n * \u53D6\u5F97\u3057\u3001\u30C1\u30A7\u30C3\u30AF\u64CD\u4F5C\u3092\u53CD\u6620\u3001\u4FDD\u5B58\u30DC\u30BF\u30F3\u3067POST\u3059\u308B\u3002\n */\n(function () {\n  \"use strict\";\n\n  var FOLLOWS_BASE_URL = window.LEAFLA_USER_REGION_FOLLOWS_URL;\n  var CUSTOMER_EMAIL = window.LEAFLA_CUSTOMER_EMAIL || \"\";\n  var CODE_LABELS = window.LEAFLA_PLANT_NEWS_CODE_LABELS || {};\n\n  var state = { followed: {}, saved: true, loaded: false };\n\n  function qs(sel, root) { return (root || document).querySelector(sel); }\n  function qsa(sel, root) { return Array.prototype.slice.call((root || document).querySelectorAll(sel)); }\n  function escapeHtml(s) {\n    return String(s == null ? \"\" : s).replace(/[&<>\"']/g, function (c) {\n      return { \"&\": \"&amp;\", \"<\": \"&lt;\", \">\": \"&gt;\", '\"': \"&quot;\", \"'\": \"&#39;\" }[c];\n    });\n  }\n\n  function renderChips() {\n    var row = qs(\"#pnaChipRow\");\n    var empty = qs(\"#pnaChipEmpty\");\n    if (!row || !empty) return;\n    var codes = Object.keys(state.followed);\n    if (codes.length === 0) {\n      row.style.display = \"none\";\n      empty.style.display = \"\";\n      row.innerHTML = \"\";\n      return;\n    }\n    row.style.display = \"\";\n    empty.style.display = \"none\";\n    row.innerHTML = codes.map(function (code) {\n      return '<li><button type=\"button\" class=\"pna-chip\" data-action=\"remove-code\" data-code=\"' + escapeHtml(code) + '\">' +\n        '<span>' + escapeHtml(CODE_LABELS[code] || code) + '</span>' +\n        '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"></line><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"></line></svg>' +\n        '</button></li>';\n    }).join(\"\");\n  }\n\n  function syncCheckboxes() {\n    qsa(\"[data-code]\").forEach(function (el) {\n      if (el.tagName !== \"INPUT\") return;\n      el.checked = !!state.followed[el.getAttribute(\"data-code\")];\n    });\n  }\n\n  function updateGroupCounts() {\n    qsa(\".pna-group\").forEach(function (groupEl) {\n      var groupCode = groupEl.getAttribute(\"data-group-code\");\n      var countEl = groupEl.querySelector(\".pna-group-head-count\");\n      if (!countEl) return;\n      var count = 0;\n      if (state.followed[groupCode]) count++;\n      qsa('input[data-code]', groupEl).forEach(function (cb) {\n        if (cb.getAttribute(\"data-code\") !== groupCode && state.followed[cb.getAttribute(\"data-code\")]) count++;\n      });\n      countEl.textContent = count > 0 ? count + \"\u4EF6\u9078\u629E\u4E2D\" : \"\";\n    });\n  }\n\n  function setSaved(saved) {\n    state.saved = saved;\n    var btn = qs(\"#pnaSaveBtn\");\n    var note = qs(\"#pnaSaveNote\");\n    if (note) note.textContent = saved ? \"\u4FDD\u5B58\u6E08\u307F\u3067\u3059\" : \"\u672A\u4FDD\u5B58\u306E\u5909\u66F4\u304C\u3042\u308A\u307E\u3059\";\n    if (btn) btn.disabled = false;\n  }\n\n  function toggleCode(code) {\n    if (state.followed[code]) {\n      delete state.followed[code];\n    } else {\n      state.followed[code] = true;\n    }\n    renderChips();\n    syncCheckboxes();\n    updateGroupCounts();\n    setSaved(false);\n  }\n\n  function loadFollows() {\n    if (!CUSTOMER_EMAIL) {\n      var note = qs(\"#pnaSaveNote\");\n      if (note) note.textContent = \"\u30ED\u30B0\u30A4\u30F3\u3059\u308B\u3068\u30DE\u30A4\u30A8\u30EA\u30A2\u3092\u4FDD\u5B58\u3067\u304D\u307E\u3059\";\n      var btn = qs(\"#pnaSaveBtn\");\n      if (btn) btn.disabled = true;\n      return;\n    }\n    fetch(FOLLOWS_BASE_URL + encodeURIComponent(CUSTOMER_EMAIL), { credentials: \"omit\" }).then(function (res) {\n      if (!res.ok) throw new Error(\"http \" + res.status);\n      return res.json();\n    }).then(function (data) {\n      var followed = {};\n      (data.regions || []).forEach(function (code) { followed[code] = true; });\n      state.followed = followed;\n      state.loaded = true;\n      renderChips();\n      syncCheckboxes();\n      updateGroupCounts();\n      setSaved(true);\n    }).catch(function (err) {\n      console.error(\"[plant-news-areas] load failed\", err);\n      var noteEl = qs(\"#pnaSaveNote\");\n      if (noteEl) noteEl.textContent = \"\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u6642\u9593\u3092\u304A\u3044\u3066\u518D\u5EA6\u304A\u8A66\u3057\u304F\u3060\u3055\u3044\u3002\";\n    });\n  }\n\n  function save() {\n    if (!CUSTOMER_EMAIL) return;\n    var btn = qs(\"#pnaSaveBtn\");\n    var note = qs(\"#pnaSaveNote\");\n    if (btn) btn.disabled = true;\n    if (note) note.textContent = \"\u4FDD\u5B58\u4E2D...\";\n    fetch(FOLLOWS_BASE_URL + encodeURIComponent(CUSTOMER_EMAIL), {\n      method: \"POST\",\n      credentials: \"omit\",\n      headers: { \"Content-Type\": \"application/json\" },\n      body: JSON.stringify({ regions: Object.keys(state.followed) })\n    }).then(function (res) {\n      if (!res.ok) throw new Error(\"http \" + res.status);\n      return res.json();\n    }).then(function () {\n      setSaved(true);\n    }).catch(function (err) {\n      console.error(\"[plant-news-areas] save failed\", err);\n      if (note) note.textContent = \"\u4FDD\u5B58\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u6642\u9593\u3092\u304A\u3044\u3066\u518D\u5EA6\u304A\u8A66\u3057\u304F\u3060\u3055\u3044\u3002\";\n      if (btn) btn.disabled = false;\n    });\n  }\n\n  function initEvents() {\n    document.addEventListener(\"click\", function (e) {\n      var groupHead = e.target.closest(\"[data-action='toggle-group-open']\");\n      if (groupHead) {\n        var body = groupHead.parentElement.querySelector(\".pna-group-body\");\n        var chevron = groupHead.querySelector(\".pna-chevron\");\n        var open = body.style.display !== \"none\";\n        body.style.display = open ? \"none\" : \"\";\n        if (chevron) chevron.classList.toggle(\"pna-chevron--open\", !open);\n        return;\n      }\n      var chipBtn = e.target.closest(\"[data-action='remove-code']\");\n      if (chipBtn) { toggleCode(chipBtn.getAttribute(\"data-code\")); return; }\n      var saveBtn = e.target.closest(\"#pnaSaveBtn\");\n      if (saveBtn && !saveBtn.disabled) { save(); }\n    });\n    document.addEventListener(\"change\", function (e) {\n      var cb = e.target.closest(\"input[type='checkbox'][data-code]\");\n      if (cb) toggleCode(cb.getAttribute(\"data-code\"));\n    });\n  }\n\n  document.addEventListener(\"DOMContentLoaded\", function () {\n    initEvents();\n    loadFollows();\n  });\n})();\n"],
  "mappings": "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",
  "names": []
}
