{
  "version": 3,
  "sources": ["../src/modules/resize.js"],
  "sourcesContent": ["// zelvior-runtime/resize -- one shared ResizeObserver fanning out to many\n// callbacks, instead of one ResizeObserver instance per watched element.\n// Falls back to a throttled window 'resize' listener + manual rects when\n// ResizeObserver is unavailable (old Safari, old Firefox, IE, XP-era browsers).\n// ESM source of truth; bundled by build.mjs.\n\nvar hasRO = typeof window !== 'undefined' && typeof window.ResizeObserver === 'function';\n\nvar observer = null;\nvar callbacks = (typeof WeakMap === 'function') ? new WeakMap() : null;\nvar fallbackEls = [];\n\nfunction handleEntries(entries) {\n  for (var i = 0; i < entries.length; i++) {\n    var e = entries[i];\n    var cbs = callbacks && callbacks.get(e.target);\n    if (cbs) for (var j = 0; j < cbs.length; j++) { try { cbs[j](e); } catch (err) {} }\n  }\n}\n\nfunction ensureObserver() {\n  if (!hasRO || observer) return;\n  observer = new ResizeObserver(handleEntries);\n}\n\nvar fallbackTimer = null;\nfunction fallbackCheck() {\n  fallbackTimer = null;\n  for (var i = 0; i < fallbackEls.length; i++) {\n    var el = fallbackEls[i];\n    var rect = el.getBoundingClientRect();\n    var cbs = callbacks && callbacks.get(el);\n    if (cbs) for (var j = 0; j < cbs.length; j++) { try { cbs[j]({ target: el, contentRect: rect }); } catch (err) {} }\n  }\n}\nfunction scheduleFallback() {\n  if (fallbackTimer) return;\n  fallbackTimer = setTimeout(fallbackCheck, 100);\n}\n\n/** Watch `el` for size changes; `cb(entry)` may be called many times, shared across watchers of the same element. Returns an unwatch function. */\nexport function onResize(el, cb) {\n  if (!callbacks) callbacks = new WeakMap();\n  var cbs = callbacks.get(el);\n  if (!cbs) { cbs = []; callbacks.set(el, cbs); }\n  cbs.push(cb);\n\n  if (hasRO) {\n    ensureObserver();\n    observer.observe(el);\n  } else {\n    if (fallbackEls.indexOf(el) === -1) fallbackEls.push(el);\n    if (typeof window !== 'undefined') {\n      if (!window.__zelvior_resize_fallback__) {\n        window.__zelvior_resize_fallback__ = true;\n        window.addEventListener('resize', scheduleFallback, { passive: true });\n      }\n    }\n    scheduleFallback();\n  }\n\n  return function unwatch() {\n    var arr = callbacks.get(el);\n    if (arr) {\n      var idx = arr.indexOf(cb);\n      if (idx > -1) arr.splice(idx, 1);\n      if (!arr.length) {\n        callbacks['delete'] ? callbacks['delete'](el) : null;\n        if (hasRO && observer) observer.unobserve(el);\n        var fi = fallbackEls.indexOf(el);\n        if (fi > -1) fallbackEls.splice(fi, 1);\n      }\n    }\n  };\n}\n\nexport var supported = hasRO;\n"],
  "mappings": ";4ZAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,cAAAE,EAAA,cAAAC,IAAA,eAAAC,EAAAJ,GAMA,IAAIK,EAAQ,OAAO,QAAW,aAAe,OAAO,OAAO,gBAAmB,WAE1EC,EAAW,KACXC,EAAa,OAAO,SAAY,WAAc,IAAI,QAAY,KAC9DC,EAAc,CAAC,EAEnB,SAASC,EAAcC,EAAS,CAC9B,QAASC,EAAI,EAAGA,EAAID,EAAQ,OAAQC,IAAK,CACvC,IAAIC,EAAIF,EAAQC,CAAC,EACbE,EAAMN,GAAaA,EAAU,IAAIK,EAAE,MAAM,EAC7C,GAAIC,EAAK,QAASC,EAAI,EAAGA,EAAID,EAAI,OAAQC,IAAO,GAAI,CAAED,EAAIC,CAAC,EAAEF,CAAC,CAAG,OAASG,EAAK,CAAC,CAClF,CACF,CAEA,SAASC,GAAiB,CACpB,CAACX,GAASC,IACdA,EAAW,IAAI,eAAeG,CAAa,EAC7C,CAEA,IAAIQ,EAAgB,KACpB,SAASC,GAAgB,CACvBD,EAAgB,KAChB,QAASN,EAAI,EAAGA,EAAIH,EAAY,OAAQG,IAAK,CAC3C,IAAIQ,EAAKX,EAAYG,CAAC,EAClBS,EAAOD,EAAG,sBAAsB,EAChCN,EAAMN,GAAaA,EAAU,IAAIY,CAAE,EACvC,GAAIN,EAAK,QAASC,EAAI,EAAGA,EAAID,EAAI,OAAQC,IAAO,GAAI,CAAED,EAAIC,CAAC,EAAE,CAAE,OAAQK,EAAI,YAAaC,CAAK,CAAC,CAAG,OAASL,EAAK,CAAC,CAClH,CACF,CACA,SAASM,GAAmB,CACtBJ,IACJA,EAAgB,WAAWC,EAAe,GAAG,EAC/C,CAGO,SAAShB,EAASiB,EAAIG,EAAI,CAC1Bf,IAAWA,EAAY,IAAI,SAChC,IAAIM,EAAMN,EAAU,IAAIY,CAAE,EAC1B,OAAKN,IAAOA,EAAM,CAAC,EAAGN,EAAU,IAAIY,EAAIN,CAAG,GAC3CA,EAAI,KAAKS,CAAE,EAEPjB,GACFW,EAAe,EACfV,EAAS,QAAQa,CAAE,IAEfX,EAAY,QAAQW,CAAE,IAAM,IAAIX,EAAY,KAAKW,CAAE,EACnD,OAAO,QAAW,cACf,OAAO,8BACV,OAAO,4BAA8B,GACrC,OAAO,iBAAiB,SAAUE,EAAkB,CAAE,QAAS,EAAK,CAAC,IAGzEA,EAAiB,GAGZ,UAAmB,CACxB,IAAIE,EAAMhB,EAAU,IAAIY,CAAE,EAC1B,GAAII,EAAK,CACP,IAAIC,EAAMD,EAAI,QAAQD,CAAE,EAExB,GADIE,EAAM,IAAID,EAAI,OAAOC,EAAK,CAAC,EAC3B,CAACD,EAAI,OAAQ,CACfhB,EAAU,QAAYA,EAAU,OAAUY,CAAE,EACxCd,GAASC,GAAUA,EAAS,UAAUa,CAAE,EAC5C,IAAIM,EAAKjB,EAAY,QAAQW,CAAE,EAC3BM,EAAK,IAAIjB,EAAY,OAAOiB,EAAI,CAAC,CACvC,CACF,CACF,CACF,CAEO,IAAItB,EAAYE",
  "names": ["resize_exports", "__export", "onResize", "supported", "__toCommonJS", "hasRO", "observer", "callbacks", "fallbackEls", "handleEntries", "entries", "i", "e", "cbs", "j", "err", "ensureObserver", "fallbackTimer", "fallbackCheck", "el", "rect", "scheduleFallback", "cb", "arr", "idx", "fi"]
}
