{"version":3,"names":["PopupTriggerMap","constructor","elementsSet","Set","idMap","Map","add","id","element","existingElement","get","undefined","delete","set","hasElement","has","hasMatchingElement","predicate","getById","entries","elements","values","size"],"sources":["popup-trigger-map.ts"],"sourcesContent":["/**\n * Data structure tracking popup trigger elements by ID.\n *\n * Ported 1:1 from Base UI React's `packages/react/src/utils/popups/popupTriggerMap.ts`.\n * Used by `FloatingRootStore` and the click-outside / safe-polygon logic to\n * decide whether a given target is \"inside\" one of the registered triggers.\n */\nexport class PopupTriggerMap {\n\tprivate elementsSet: Set<Element>;\n\tprivate idMap: Map<string, Element>;\n\n\tconstructor() {\n\t\tthis.elementsSet = new Set();\n\t\tthis.idMap = new Map();\n\t}\n\n\tpublic add(id: string, element: Element): void {\n\t\tconst existingElement = this.idMap.get(id);\n\t\tif (existingElement === element) {\n\t\t\treturn;\n\t\t}\n\t\tif (existingElement !== undefined) {\n\t\t\tthis.elementsSet.delete(existingElement);\n\t\t}\n\t\tthis.elementsSet.add(element);\n\t\tthis.idMap.set(id, element);\n\t}\n\n\tpublic delete(id: string): void {\n\t\tconst element = this.idMap.get(id);\n\t\tif (element) {\n\t\t\tthis.elementsSet.delete(element);\n\t\t\tthis.idMap.delete(id);\n\t\t}\n\t}\n\n\tpublic hasElement(element: Element): boolean {\n\t\treturn this.elementsSet.has(element);\n\t}\n\n\tpublic hasMatchingElement(predicate: (el: Element) => boolean): boolean {\n\t\tfor (const element of this.elementsSet) {\n\t\t\tif (predicate(element)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic getById(id: string): Element | undefined {\n\t\treturn this.idMap.get(id);\n\t}\n\n\tpublic entries(): IterableIterator<[string, Element]> {\n\t\treturn this.idMap.entries();\n\t}\n\n\tpublic elements(): IterableIterator<Element> {\n\t\treturn this.elementsSet.values();\n\t}\n\n\tpublic get size(): number {\n\t\treturn this.idMap.size;\n\t}\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,eAAe,CAAC;EAI5BC,WAAWA,CAAA,EAAG;IACb,IAAI,CAACC,WAAW,GAAG,IAAIC,GAAG,CAAC,CAAC;IAC5B,IAAI,CAACC,KAAK,GAAG,IAAIC,GAAG,CAAC,CAAC;EACvB;EAEOC,GAAGA,CAACC,EAAU,EAAEC,OAAgB,EAAQ;IAC9C,MAAMC,eAAe,GAAG,IAAI,CAACL,KAAK,CAACM,GAAG,CAACH,EAAE,CAAC;IAC1C,IAAIE,eAAe,KAAKD,OAAO,EAAE;MAChC;IACD;IACA,IAAIC,eAAe,KAAKE,SAAS,EAAE;MAClC,IAAI,CAACT,WAAW,CAACU,MAAM,CAACH,eAAe,CAAC;IACzC;IACA,IAAI,CAACP,WAAW,CAACI,GAAG,CAACE,OAAO,CAAC;IAC7B,IAAI,CAACJ,KAAK,CAACS,GAAG,CAACN,EAAE,EAAEC,OAAO,CAAC;EAC5B;EAEOI,MAAMA,CAACL,EAAU,EAAQ;IAC/B,MAAMC,OAAO,GAAG,IAAI,CAACJ,KAAK,CAACM,GAAG,CAACH,EAAE,CAAC;IAClC,IAAIC,OAAO,EAAE;MACZ,IAAI,CAACN,WAAW,CAACU,MAAM,CAACJ,OAAO,CAAC;MAChC,IAAI,CAACJ,KAAK,CAACQ,MAAM,CAACL,EAAE,CAAC;IACtB;EACD;EAEOO,UAAUA,CAACN,OAAgB,EAAW;IAC5C,OAAO,IAAI,CAACN,WAAW,CAACa,GAAG,CAACP,OAAO,CAAC;EACrC;EAEOQ,kBAAkBA,CAACC,SAAmC,EAAW;IACvE,KAAK,MAAMT,OAAO,IAAI,IAAI,CAACN,WAAW,EAAE;MACvC,IAAIe,SAAS,CAACT,OAAO,CAAC,EAAE;QACvB,OAAO,IAAI;MACZ;IACD;IACA,OAAO,KAAK;EACb;EAEOU,OAAOA,CAACX,EAAU,EAAuB;IAC/C,OAAO,IAAI,CAACH,KAAK,CAACM,GAAG,CAACH,EAAE,CAAC;EAC1B;EAEOY,OAAOA,CAAA,EAAwC;IACrD,OAAO,IAAI,CAACf,KAAK,CAACe,OAAO,CAAC,CAAC;EAC5B;EAEOC,QAAQA,CAAA,EAA8B;IAC5C,OAAO,IAAI,CAAClB,WAAW,CAACmB,MAAM,CAAC,CAAC;EACjC;EAEA,IAAWC,IAAIA,CAAA,EAAW;IACzB,OAAO,IAAI,CAAClB,KAAK,CAACkB,IAAI;EACvB;AACD","ignoreList":[]}