{"version":3,"sources":["../../../packages/core/copilot/copilot-iframe/iframe-child-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;;;;;GAMG;AACH,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,eAAe,CAA4C;;IAM5D,mBAAmB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAIjD,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,GAAG,IAAI;IAIjE,OAAO,CAAC,aAAa;CAIxB","file":"iframe-child-service.d.ts","sourcesContent":["import { IFrameMessage } from \"./iframe-message\";\r\n\r\n/**\r\n* Usage example\r\n* const iframeChildService = new IFrameChildService();\r\n* iframeChildService.onMessage(message => {\r\n*     console.log('IFrameMessage received from parent:', message);\r\n* });\r\n */\r\nexport class IFrameChildService {\r\n    private messageHandlers: ((message: IFrameMessage) => void)[] = [];\r\n\r\n    constructor() {\r\n        window.addEventListener('message', this.handleMessage.bind(this));\r\n    }\r\n\r\n    public sendMessageToParent(message: IFrameMessage): void {\r\n        window.parent.postMessage(message, '*');\r\n    }\r\n\r\n    public onMessage(handler: (message: IFrameMessage) => void): void {\r\n        this.messageHandlers.push(handler);\r\n    }\r\n\r\n    private handleMessage(event: MessageEvent): void {\r\n        const message: IFrameMessage = event.data;\r\n        this.messageHandlers.forEach(handler => handler(message));\r\n    }\r\n}\r\n"]}