{"version":3,"sources":["../../../src/window/clients/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BO,MAAM,MAAO,CAAA;AAAA,EACT,MAAA;AAAA,EACA,SAAA;AAAA,EACA,iBAAA;AAAA,EACA,gBAAA;AAAA,EACA,cAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,IAAA;AAAA,EACA,SAAA;AAAA,EACA,YAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,UAAA;AAAA,EACA,YAAA;AAAA,EACA,KAAA;AAAA,EAET,YAAY,MAAiB,EAAA;AAC3B,IAAK,IAAA,CAAA,MAAA,GAAS,IAAI,YAAA,CAAa,MAAM,CAAA;AACrC,IAAA,IAAA,CAAK,SAAY,GAAA,IAAI,eAAgB,CAAA,IAAA,CAAK,MAAM,CAAA;AAChD,IAAA,IAAA,CAAK,iBAAoB,GAAA,IAAI,uBAAwB,CAAA,IAAA,CAAK,MAAM,CAAA;AAChE,IAAA,IAAA,CAAK,gBAAmB,GAAA,IAAI,sBAAuB,CAAA,IAAA,CAAK,MAAM,CAAA;AAC9D,IAAA,IAAA,CAAK,cAAiB,GAAA,IAAI,oBAAqB,CAAA,IAAA,CAAK,MAAM,CAAA;AAC1D,IAAA,IAAA,CAAK,OAAU,GAAA,IAAI,aAAc,CAAA,IAAA,CAAK,MAAM,CAAA;AAC5C,IAAA,IAAA,CAAK,QAAW,GAAA,IAAI,cAAe,CAAA,IAAA,CAAK,MAAM,CAAA;AAC9C,IAAA,IAAA,CAAK,IAAO,GAAA,IAAI,UAAW,CAAA,IAAA,CAAK,MAAM,CAAA;AACtC,IAAA,IAAA,CAAK,SAAY,GAAA,IAAI,eAAgB,CAAA,IAAA,CAAK,MAAM,CAAA;AAChD,IAAA,IAAA,CAAK,YAAe,GAAA,IAAI,mBAAoB,CAAA,IAAA,CAAK,MAAM,CAAA;AACvD,IAAA,IAAA,CAAK,MAAS,GAAA,IAAI,YAAa,CAAA,IAAA,CAAK,MAAM,CAAA;AAC1C,IAAA,IAAA,CAAK,QAAW,GAAA,IAAI,cAAe,CAAA,IAAA,CAAK,MAAM,CAAA;AAC9C,IAAA,IAAA,CAAK,UAAa,GAAA,IAAI,gBAAiB,CAAA,IAAA,CAAK,MAAM,CAAA;AAClD,IAAA,IAAA,CAAK,YAAe,GAAA,IAAI,kBAAmB,CAAA,IAAA,CAAK,MAAM,CAAA;AACtD,IAAA,IAAA,CAAK,KAAQ,GAAA,IAAI,WAAY,CAAA,IAAA,CAAK,MAAM,CAAA;AAAA;AAC1C,EAEA,MAAM,UAAa,GAAA;AACjB,IAAM,MAAA,CAAC,YAAc,EAAA,UAAA,EAAY,cAAgB,EAAA,OAAO,IACtD,MAAM,IAAA,CAAK,MAAO,CAAA,IAAA,CAAqD,YAAY,CAAA;AAErF,IAAO,OAAA;AAAA,MACL,YAAA;AAAA,MACA,UAAA;AAAA,MACA,cAAA;AAAA,MACA,OAAA,EAAS,IAAK,CAAA,KAAA,CAAM,OAAO;AAAA,KAC7B;AAAA;AACF,EAEA,MAAM,UAAa,GAAA;AACjB,IAAA,MAAM,CAAC,OAAO,CAAA,GAAI,MAAM,IAAK,CAAA,MAAA,CAAO,KAAgB,YAAY,CAAA;AAChE,IAAO,OAAA,OAAA;AAAA;AACT,EAEA,MAAM,SAAS,GAAa,EAAA;AAC1B,IAAA,MAAM,IAAK,CAAA,MAAA,CAAO,IAAK,CAAA,iBAAA,EAAmB,GAAG,CAAA;AAAA;AAC/C,EAEA,cAAc,OAAgC,EAAA;AAC5C,IAAK,IAAA,CAAA,MAAA,CAAO,EAAG,CAAA,aAAA,EAAe,OAAO,CAAA;AAAA;AAEzC","file":"index.mjs","sourcesContent":["import { Logger } from '@teams.sdk/common';\n\nimport { Context, FrameContext, HostClientType, Theme } from '../types';\nimport { WindowClient } from '../window-client';\nimport { Runtime } from '../runtime';\n\nimport { AppInitializationClient } from './app-initialization';\nimport { AppInstallDialogClient } from './app-install-dialog';\nimport { AuthenticationClient } from './authentication';\nimport { AppEntityClient } from './app-entity';\nimport { BarCodeClient } from './bar-code';\nimport { CalendarClient } from './calendar';\nimport { CallClient } from './call';\nimport { ClipboardClient } from './clipboard';\nimport { ConversationsClient } from './conversation';\nimport { DialogClient } from './dialog';\nimport { LocationClient } from './location';\nimport { PermissionClient } from './permission';\nimport { NotificationClient } from './notification';\nimport { MediaClient } from './media';\n\n/**\n * the window client used to execute\n * functions and receive events from the\n * parent window\n */\nexport class Client {\n  readonly window: WindowClient;\n  readonly appEntity: AppEntityClient;\n  readonly appInitialization: AppInitializationClient;\n  readonly appInstallDialog: AppInstallDialogClient;\n  readonly authentication: AuthenticationClient;\n  readonly barCode: BarCodeClient;\n  readonly calendar: CalendarClient;\n  readonly call: CallClient;\n  readonly clipboard: ClipboardClient;\n  readonly conversation: ConversationsClient;\n  readonly dialog: DialogClient;\n  readonly location: LocationClient;\n  readonly permission: PermissionClient;\n  readonly notification: NotificationClient;\n  readonly media: MediaClient;\n\n  constructor(logger?: Logger) {\n    this.window = new WindowClient(logger);\n    this.appEntity = new AppEntityClient(this.window);\n    this.appInitialization = new AppInitializationClient(this.window);\n    this.appInstallDialog = new AppInstallDialogClient(this.window);\n    this.authentication = new AuthenticationClient(this.window);\n    this.barCode = new BarCodeClient(this.window);\n    this.calendar = new CalendarClient(this.window);\n    this.call = new CallClient(this.window);\n    this.clipboard = new ClipboardClient(this.window);\n    this.conversation = new ConversationsClient(this.window);\n    this.dialog = new DialogClient(this.window);\n    this.location = new LocationClient(this.window);\n    this.permission = new PermissionClient(this.window);\n    this.notification = new NotificationClient(this.window);\n    this.media = new MediaClient(this.window);\n  }\n\n  async initialize() {\n    const [frameContext, clientType, runtimeVersion, runtime] =\n      await this.window.send<[FrameContext, HostClientType, string, string]>('initialize');\n\n    return {\n      frameContext,\n      clientType,\n      runtimeVersion,\n      runtime: JSON.parse(runtime) as Runtime,\n    };\n  }\n\n  async getContext() {\n    const [context] = await this.window.send<[Context]>('getContext');\n    return context;\n  }\n\n  async deepLink(url: string) {\n    await this.window.send('executeDeepLink', url);\n  }\n\n  onThemeChange(handler: (theme: Theme) => any) {\n    this.window.on('themeChange', handler);\n  }\n}\n\nexport * from './app-initialization';\nexport * from './app-install-dialog';\nexport * from './authentication';\nexport * from './app-entity';\nexport * from './bar-code';\nexport * from './calendar';\nexport * from './call';\nexport * from './clipboard';\nexport * from './conversation';\nexport * from './dialog';\nexport * from './location';\nexport * from './permission';\nexport * from './notification';\nexport * from './media';\n"]}