// Keep these types in sync with the Embed project types /** * Messages that we send down to the iframe */ export enum EmbeddedHostMessageTypes { Init = 'komo:init', } export type EmbedExperienceStates = 'loading' | 'ready' | 'complete'; export type EmbedClientMessages = | { message: EmbeddedClientMessageTypes.RequestInit; embedId?: string } | { message: EmbeddedClientMessageTypes.CloseModal; embedId?: string } | { message: EmbeddedClientMessageTypes.ExperienceStateChange; value: EmbedExperienceStates; embedId?: string; } | { message: EmbeddedClientMessageTypes.HeightUpdated; height: number; embedId?: string; } | { message: EmbeddedClientMessageTypes.ShowHeader; showHeader: boolean; embedId?: string; } | { message: EmbeddedClientMessageTypes.WindowMessage; payload: any; embedId?: string; }; /** * Messages that come out from the iframe */ export enum EmbeddedClientMessageTypes { RequestInit = 'komo:requestInit', CloseModal = 'komo:closeModal', HeightUpdated = 'komo:heightUpdated', ShowHeader = 'komo:showHeader', ExperienceStateChange = 'komo:experienceStateChange', WindowMessage = 'komo:windowMessage', }