{"version":3,"names":["createEventEmitter","map","Map","emit","event","data","get","forEach","listener","on","has","set","Set","add","off","delete"],"sources":["create-event-emitter.ts"],"sourcesContent":["import type { FloatingEvents } from \"../types\";\n\n/**\n * Minimal typed pub/sub emitter used by `FloatingContext.events`.\n * Ported verbatim from the React source — no framework coupling, just a\n * topic-keyed `Map<string, Set<listener>>`.\n */\nexport function createEventEmitter(): FloatingEvents {\n\t// biome-ignore lint/suspicious/noExplicitAny: emitter payloads are type-erased.\n\tconst map = new Map<string, Set<(data: any) => void>>();\n\treturn {\n\t\temit(event, data) {\n\t\t\tmap.get(event)?.forEach((listener) => {\n\t\t\t\tlistener(data);\n\t\t\t});\n\t\t},\n\t\ton(event, listener) {\n\t\t\tif (!map.has(event)) {\n\t\t\t\tmap.set(event, new Set());\n\t\t\t}\n\t\t\t// biome-ignore lint/style/noNonNullAssertion: just set it above.\n\t\t\tmap.get(event)!.add(listener);\n\t\t},\n\t\toff(event, listener) {\n\t\t\tmap.get(event)?.delete(listener);\n\t\t},\n\t};\n}\n"],"mappings":"AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,kBAAkBA,CAAA,EAAmB;EACpD;EACA,MAAMC,GAAG,GAAG,IAAIC,GAAG,CAAmC,CAAC;EACvD,OAAO;IACNC,IAAIA,CAACC,KAAK,EAAEC,IAAI,EAAE;MACjBJ,GAAG,CAACK,GAAG,CAACF,KAAK,CAAC,EAAEG,OAAO,CAAEC,QAAQ,IAAK;QACrCA,QAAQ,CAACH,IAAI,CAAC;MACf,CAAC,CAAC;IACH,CAAC;IACDI,EAAEA,CAACL,KAAK,EAAEI,QAAQ,EAAE;MACnB,IAAI,CAACP,GAAG,CAACS,GAAG,CAACN,KAAK,CAAC,EAAE;QACpBH,GAAG,CAACU,GAAG,CAACP,KAAK,EAAE,IAAIQ,GAAG,CAAC,CAAC,CAAC;MAC1B;MACA;MACAX,GAAG,CAACK,GAAG,CAACF,KAAK,CAAC,CAAES,GAAG,CAACL,QAAQ,CAAC;IAC9B,CAAC;IACDM,GAAGA,CAACV,KAAK,EAAEI,QAAQ,EAAE;MACpBP,GAAG,CAACK,GAAG,CAACF,KAAK,CAAC,EAAEW,MAAM,CAACP,QAAQ,CAAC;IACjC;EACD,CAAC;AACF","ignoreList":[]}