{"version":3,"sources":["jsdelivr-header.js","/npm/@alpinejs/intersect@3.14.9/dist/module.esm.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACLA,SAAS,EAAY,EAAQ,CAC3B,EAAO,UAAU,YAAa,EAAO,gBAAgB,CAAC,EAAI,CAAE,MAAA,EAAO,WAAA,EAAY,UAAA,CAAS,EAAI,CAAE,cAAA,EAAe,QAAA,CAAO,IAAO,CACzH,IAAI,EAAW,EAAc,CAAU,EACnC,EAAU,CACZ,WAAY,EAAc,CAAS,EACnC,UAAW,EAAa,CAAS,CACvC,EACQ,EAAW,IAAI,qBAAsB,GAAY,CACnD,EAAQ,QAAS,GAAU,CACrB,EAAM,kBAAoB,IAAU,WAExC,EAAQ,EACR,EAAU,SAAS,MAAM,GAAK,EAAS,WAAU,EACnD,CAAC,CACH,EAAG,CAAO,EACV,EAAS,QAAQ,CAAE,EACnB,EAAQ,IAAM,CACZ,EAAS,WAAU,CACrB,CAAC,CACH,CAAC,CAAC,CACJ,CACA,SAAS,EAAa,EAAW,CAC/B,GAAI,EAAU,SAAS,MAAM,EAC3B,MAAO,KACT,GAAI,EAAU,SAAS,MAAM,EAC3B,MAAO,IACT,GAAI,CAAC,EAAU,SAAS,WAAW,EACjC,MAAO,GACT,IAAI,EAAY,EAAU,EAAU,QAAQ,WAAW,EAAI,CAAC,EAC5D,OAAI,IAAc,MACT,EACL,IAAc,IACT,EACF,CAAO,IAAI,CAAS,EAC7B,CACA,SAAS,EAAe,EAAU,CAChC,IAAI,EAAQ,EAAS,MAAM,qBAAqB,EAChD,OAAO,EAAQ,EAAM,CAAC,GAAK,EAAM,CAAC,GAAK,MAAQ,MACjD,CACA,SAAS,EAAc,EAAW,CAChC,MAAM,EAAM,SACN,EAAW,kBACX,EAAQ,EAAU,QAAQ,CAAG,EACnC,GAAI,IAAU,GACZ,OAAO,EACT,IAAI,EAAS,CAAA,EACb,QAAS,EAAI,EAAG,EAAI,EAAG,IACrB,EAAO,KAAK,EAAe,EAAU,EAAQ,CAAC,GAAK,EAAE,CAAC,EAExD,OAAA,EAAS,EAAO,OAAQ,GAAM,IAAM,MAAM,EACnC,EAAO,OAAS,EAAO,KAAK,GAAG,EAAE,KAAI,EAAK,CACnD,CAGG,IAAC,EAAiB","file":"/npm/@alpinejs/intersect@3.14.9/dist/module.esm.js/+esm","sourceRoot":"","sourcesContent":["/**\n * Bundled by jsDelivr using Rollup v4.62.2 and esbuild v0.28.1.\n * Original file: /npm/@alpinejs/intersect@3.14.9/dist/module.esm.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","// packages/intersect/src/index.js\nfunction src_default(Alpine) {\n  Alpine.directive(\"intersect\", Alpine.skipDuringClone((el, { value, expression, modifiers }, { evaluateLater, cleanup }) => {\n    let evaluate = evaluateLater(expression);\n    let options = {\n      rootMargin: getRootMargin(modifiers),\n      threshold: getThreshold(modifiers)\n    };\n    let observer = new IntersectionObserver((entries) => {\n      entries.forEach((entry) => {\n        if (entry.isIntersecting === (value === \"leave\"))\n          return;\n        evaluate();\n        modifiers.includes(\"once\") && observer.disconnect();\n      });\n    }, options);\n    observer.observe(el);\n    cleanup(() => {\n      observer.disconnect();\n    });\n  }));\n}\nfunction getThreshold(modifiers) {\n  if (modifiers.includes(\"full\"))\n    return 0.99;\n  if (modifiers.includes(\"half\"))\n    return 0.5;\n  if (!modifiers.includes(\"threshold\"))\n    return 0;\n  let threshold = modifiers[modifiers.indexOf(\"threshold\") + 1];\n  if (threshold === \"100\")\n    return 1;\n  if (threshold === \"0\")\n    return 0;\n  return Number(`.${threshold}`);\n}\nfunction getLengthValue(rawValue) {\n  let match = rawValue.match(/^(-?[0-9]+)(px|%)?$/);\n  return match ? match[1] + (match[2] || \"px\") : void 0;\n}\nfunction getRootMargin(modifiers) {\n  const key = \"margin\";\n  const fallback = \"0px 0px 0px 0px\";\n  const index = modifiers.indexOf(key);\n  if (index === -1)\n    return fallback;\n  let values = [];\n  for (let i = 1; i < 5; i++) {\n    values.push(getLengthValue(modifiers[index + i] || \"\"));\n  }\n  values = values.filter((v) => v !== void 0);\n  return values.length ? values.join(\" \").trim() : fallback;\n}\n\n// packages/intersect/builds/module.js\nvar module_default = src_default;\nexport {\n  module_default as default,\n  src_default as intersect\n};\n"]}