{
  "version": 3,
  "sources": ["../src/modules/idle.js"],
  "sourcesContent": ["// zelvior-runtime/idle -- requestIdleCallback with a real fallback chain.\n// Plain window.requestIdleCallback is absent on Safari (all versions) and\n// on IE/old Edge; this falls back to setTimeout(0) rather than assuming\n// the API exists. ESM source of truth; bundled by build.mjs.\n\nvar hasRic = typeof window !== 'undefined' && typeof window.requestIdleCallback === 'function';\nvar SHIM_BUDGET_MS = 8;\n\nfunction shimDeadline(start, timeoutHit) {\n  return {\n    didTimeout: !!timeoutHit,\n    timeRemaining: function () {\n      var left = SHIM_BUDGET_MS - (Date.now() - start);\n      return left > 0 ? left : 0;\n    }\n  };\n}\n\n/** requestIdleCallback with a setTimeout-based fallback. Returns a cancel function. */\nexport function onIdle(fn, opts) {\n  if (hasRic) {\n    var id = requestIdleCallback(fn, opts || { timeout: 200 });\n    return function cancel() { cancelIdleCallback(id); };\n  }\n  var start = Date.now();\n  var timer = setTimeout(function () { fn(shimDeadline(start, true)); }, 1);\n  return function cancel() { clearTimeout(timer); };\n}\n\n/**\n * Run `work(item, index)` over `items` in idle-time chunks, never blocking\n * the main thread past the available idle budget. Calls `onDone()` when\n * every item has been processed.\n */\nexport function idleEach(items, work, onDone) {\n  var i = 0, n = items.length;\n  function step(deadline) {\n    var t = deadline && deadline.timeRemaining ? deadline.timeRemaining() : SHIM_BUDGET_MS;\n    while (i < n && t > 1) {\n      work(items[i], i);\n      i++;\n      t = deadline && deadline.timeRemaining ? deadline.timeRemaining() : t - 1;\n    }\n    if (i < n) onIdle(step, { timeout: 300 });\n    else if (onDone) onDone();\n  }\n  onIdle(step);\n}\n\nexport var supported = hasRic;\n"],
  "mappings": ";4ZAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,cAAAE,EAAA,WAAAC,EAAA,cAAAC,IAAA,eAAAC,EAAAL,GAKA,IAAIM,EAAS,OAAO,QAAW,aAAe,OAAO,OAAO,qBAAwB,WAChFC,EAAiB,EAErB,SAASC,EAAaC,EAAOC,EAAY,CACvC,MAAO,CACL,WAAY,CAAC,CAACA,EACd,cAAe,UAAY,CACzB,IAAIC,EAAOJ,GAAkB,KAAK,IAAI,EAAIE,GAC1C,OAAOE,EAAO,EAAIA,EAAO,CAC3B,CACF,CACF,CAGO,SAASR,EAAOS,EAAIC,EAAM,CAC/B,GAAIP,EAAQ,CACV,IAAIQ,EAAK,oBAAoBF,EAAIC,GAAQ,CAAE,QAAS,GAAI,CAAC,EACzD,OAAO,UAAkB,CAAE,mBAAmBC,CAAE,CAAG,CACrD,CACA,IAAIL,EAAQ,KAAK,IAAI,EACjBM,EAAQ,WAAW,UAAY,CAAEH,EAAGJ,EAAaC,EAAO,EAAI,CAAC,CAAG,EAAG,CAAC,EACxE,OAAO,UAAkB,CAAE,aAAaM,CAAK,CAAG,CAClD,CAOO,SAASb,EAASc,EAAOC,EAAMC,EAAQ,CAC5C,IAAIC,EAAI,EAAGC,EAAIJ,EAAM,OACrB,SAASK,EAAKC,EAAU,CAEtB,QADIC,EAAID,GAAYA,EAAS,cAAgBA,EAAS,cAAc,EAAIf,EACjEY,EAAIC,GAAKG,EAAI,GAClBN,EAAKD,EAAMG,CAAC,EAAGA,CAAC,EAChBA,IACAI,EAAID,GAAYA,EAAS,cAAgBA,EAAS,cAAc,EAAIC,EAAI,EAEtEJ,EAAIC,EAAGjB,EAAOkB,EAAM,CAAE,QAAS,GAAI,CAAC,EAC/BH,GAAQA,EAAO,CAC1B,CACAf,EAAOkB,CAAI,CACb,CAEO,IAAIjB,EAAYE",
  "names": ["idle_exports", "__export", "idleEach", "onIdle", "supported", "__toCommonJS", "hasRic", "SHIM_BUDGET_MS", "shimDeadline", "start", "timeoutHit", "left", "fn", "opts", "id", "timer", "items", "work", "onDone", "i", "n", "step", "deadline", "t"]
}
