@thoughtspot/visual-embed-sdk 1.35.5-hostEvent.6 → 1.35.5-hostEvent.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/cjs/package.json +1 -1
  2. package/cjs/src/embed/hostEventClient/contracts.d.ts +26 -30
  3. package/cjs/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  4. package/cjs/src/embed/hostEventClient/contracts.js +10 -10
  5. package/cjs/src/embed/hostEventClient/contracts.js.map +1 -1
  6. package/cjs/src/embed/hostEventClient/host-event-client.d.ts +21 -7
  7. package/cjs/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  8. package/cjs/src/embed/hostEventClient/host-event-client.js +61 -27
  9. package/cjs/src/embed/hostEventClient/host-event-client.js.map +1 -1
  10. package/cjs/src/embed/hostEventClient/host-event-client.spec.js +43 -39
  11. package/cjs/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  12. package/cjs/src/embed/liveboard.spec.js +4 -2
  13. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  14. package/cjs/src/embed/ts-embed.d.ts +13 -8
  15. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  16. package/cjs/src/embed/ts-embed.js +22 -14
  17. package/cjs/src/embed/ts-embed.js.map +1 -1
  18. package/cjs/src/embed/ts-embed.spec.js +4 -4
  19. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  20. package/cjs/src/index.d.ts +2 -2
  21. package/cjs/src/index.js +2 -2
  22. package/cjs/src/react/all-types-export.d.ts +1 -1
  23. package/cjs/src/react/all-types-export.js +2 -2
  24. package/cjs/src/types.d.ts +1 -1
  25. package/cjs/src/types.js +1 -1
  26. package/dist/index-DaLHJaLd.js +7370 -0
  27. package/dist/src/embed/hostEventClient/contracts.d.ts +26 -30
  28. package/dist/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  29. package/dist/src/embed/hostEventClient/host-event-client.d.ts +21 -7
  30. package/dist/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  31. package/dist/src/embed/ts-embed.d.ts +13 -8
  32. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  33. package/dist/src/index.d.ts +2 -2
  34. package/dist/src/react/all-types-export.d.ts +1 -1
  35. package/dist/src/types.d.ts +1 -1
  36. package/dist/tsembed-react.es.js +95 -54
  37. package/dist/tsembed-react.js +94 -53
  38. package/dist/tsembed.es.js +96 -55
  39. package/dist/tsembed.js +94 -53
  40. package/dist/visual-embed-sdk-react-full.d.ts +60 -45
  41. package/dist/visual-embed-sdk-react.d.ts +60 -45
  42. package/dist/visual-embed-sdk.d.ts +60 -45
  43. package/lib/package.json +1 -1
  44. package/lib/src/embed/hostEventClient/contracts.d.ts +26 -30
  45. package/lib/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  46. package/lib/src/embed/hostEventClient/contracts.js +9 -9
  47. package/lib/src/embed/hostEventClient/contracts.js.map +1 -1
  48. package/lib/src/embed/hostEventClient/host-event-client.d.ts +21 -7
  49. package/lib/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  50. package/lib/src/embed/hostEventClient/host-event-client.js +63 -29
  51. package/lib/src/embed/hostEventClient/host-event-client.js.map +1 -1
  52. package/lib/src/embed/hostEventClient/host-event-client.spec.js +43 -40
  53. package/lib/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  54. package/lib/src/embed/liveboard.spec.js +4 -2
  55. package/lib/src/embed/liveboard.spec.js.map +1 -1
  56. package/lib/src/embed/ts-embed.d.ts +13 -8
  57. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  58. package/lib/src/embed/ts-embed.js +22 -14
  59. package/lib/src/embed/ts-embed.js.map +1 -1
  60. package/lib/src/embed/ts-embed.spec.js +5 -5
  61. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  62. package/lib/src/index.d.ts +2 -2
  63. package/lib/src/index.js +2 -2
  64. package/lib/src/react/all-types-export.d.ts +1 -1
  65. package/lib/src/react/all-types-export.js +1 -1
  66. package/lib/src/types.d.ts +1 -1
  67. package/lib/src/types.js +1 -1
  68. package/lib/src/visual-embed-sdk.d.ts +63 -48
  69. package/package.json +1 -1
  70. package/src/embed/hostEventClient/contracts.ts +43 -32
  71. package/src/embed/hostEventClient/host-event-client.spec.ts +58 -54
  72. package/src/embed/hostEventClient/host-event-client.ts +109 -47
  73. package/src/embed/liveboard.spec.ts +4 -2
  74. package/src/embed/ts-embed.spec.ts +6 -6
  75. package/src/embed/ts-embed.ts +38 -27
  76. package/src/index.ts +2 -2
  77. package/src/react/all-types-export.ts +1 -1
  78. package/src/types.ts +1 -1
@@ -1744,7 +1744,7 @@ export declare class ConversationEmbed extends TsEmbed {
1744
1744
  * @summary ThoughtSpot Visual Embed SDK
1745
1745
  * @author Ayon Ghosh <ayon.ghosh@thoughtspot.com>
1746
1746
  */
1747
- export { init, logout, prefetch, executeTML, exportTML, executeTMLInput, exportTMLInput, getEmbedConfig as getInitConfig, getSessionInfo, tokenizedFetch, getAnswerFromQuery, createLiveboardWithAnswers, SearchEmbed, SearchBarEmbed, PinboardEmbed, LiveboardEmbed, SageEmbed, AppEmbed, BodylessConversation, BodylessConversationViewConfig, ConversationEmbed, ConversationViewConfig, AuthFailureType, AuthStatus, AuthEvent, AuthEventEmitter, AnswerService, SessionInterface, UnderlyingDataPoint, Page, AuthType, RuntimeFilter, RuntimeFilterOp, EmbedEvent, HostEvent, DataSourceVisualMode, Action, ContextMenuTriggerOptions, EmbedConfig, SearchViewConfig, SearchBarViewConfig, LiveboardViewConfig, SageViewConfig, AppViewConfig, PrefetchFeatures, FrameParams, HomeLeftNavItem, HomepageModule, DOMSelector, MessageOptions, MessageCallback, MessagePayload, CustomisationsInterface, CustomStyles, customCssInterface, CustomCssVariables, RuntimeParameter, LogLevel, uploadMixpanelEvent, MIXPANEL_EVENT, HomePageSearchBarMode, VizPoint, CustomActionPayload, UiPassthroughEvent, };
1747
+ export { init, logout, prefetch, executeTML, exportTML, executeTMLInput, exportTMLInput, getEmbedConfig as getInitConfig, getSessionInfo, tokenizedFetch, getAnswerFromQuery, createLiveboardWithAnswers, SearchEmbed, SearchBarEmbed, PinboardEmbed, LiveboardEmbed, SageEmbed, AppEmbed, BodylessConversation, BodylessConversationViewConfig, ConversationEmbed, ConversationViewConfig, AuthFailureType, AuthStatus, AuthEvent, AuthEventEmitter, AnswerService, SessionInterface, UnderlyingDataPoint, Page, AuthType, RuntimeFilter, RuntimeFilterOp, EmbedEvent, HostEvent, DataSourceVisualMode, Action, ContextMenuTriggerOptions, EmbedConfig, SearchViewConfig, SearchBarViewConfig, LiveboardViewConfig, SageViewConfig, AppViewConfig, PrefetchFeatures, FrameParams, HomeLeftNavItem, HomepageModule, DOMSelector, MessageOptions, MessageCallback, MessagePayload, CustomisationsInterface, CustomStyles, customCssInterface, CustomCssVariables, RuntimeParameter, LogLevel, uploadMixpanelEvent, MIXPANEL_EVENT, HomePageSearchBarMode, VizPoint, CustomActionPayload, UIPassthroughEvent, };
1748
1748
 
1749
1749
  /**
1750
1750
  * Copyright (c) 2023
@@ -4905,7 +4905,7 @@ export declare enum HostEvent {
4905
4905
  * EmbedApi
4906
4906
  * @hidden
4907
4907
  */
4908
- UiPassthrough = "UiPassthrough"
4908
+ UIPassthrough = "UiPassthrough"
4909
4909
  }
4910
4910
  /**
4911
4911
  * The different visual modes that the data sources panel within
@@ -6300,6 +6300,11 @@ export declare class TsEmbed {
6300
6300
  * will be rendered.
6301
6301
  */
6302
6302
  protected iFrame: HTMLIFrameElement;
6303
+ /**
6304
+ * Setter for the iframe element
6305
+ * @param {HTMLIFrameElement} iFrame HTMLIFrameElement
6306
+ */
6307
+ protected setIframeElement(iFrame: HTMLIFrameElement): void;
6303
6308
  protected viewConfig: ViewConfig;
6304
6309
  protected embedConfig: EmbedConfig;
6305
6310
  /**
@@ -6431,19 +6436,19 @@ export declare class TsEmbed {
6431
6436
  off(messageType: EmbedEvent, callback: MessageCallback): typeof TsEmbed.prototype;
6432
6437
  /**
6433
6438
  * Triggers an event to the embedded app
6434
- * @param messageType The event type
6435
- * @param data The payload to send with the message
6439
+ * @param {HostEvent} messageType The event type
6440
+ * @param {any} data The payload to send with the message
6436
6441
  * @returns A promise that resolves with the response from the embedded app
6437
6442
  */
6438
- trigger<HostEventT extends HostEvent>(messageType: HostEventT, data?: HostEventRequest<HostEventT>): Promise<HostEventResponse<HostEventT>>;
6443
+ trigger<HostEventT extends HostEvent, PayloadT>(messageType: HostEventT, data?: TriggerPayload<PayloadT, HostEventT>): Promise<TriggerResponse<PayloadT, HostEventT>>;
6439
6444
  /**
6440
6445
  * Triggers an event to the embedded app, skipping the UI flow.
6441
- * @param {UiPassthroughEvent} apiName - The name of the API to be triggered.
6442
- * @param {UiPassthroughRequest} parameters - The parameters to be passed to the API.
6443
- * @returns {Promise<UiPassthroughRequest>} - A promise that resolves with the response
6446
+ * @param {UIPassthroughEvent} apiName - The name of the API to be triggered.
6447
+ * @param {UIPassthroughRequest} parameters - The parameters to be passed to the API.
6448
+ * @returns {Promise<UIPassthroughRequest>} - A promise that resolves with the response
6444
6449
  * from the embedded app.
6445
6450
  */
6446
- triggerUiPassThrough<UiPassthroughEventT extends UiPassthroughEvent>(apiName: UiPassthroughEventT, parameters: UiPassthroughRequest<UiPassthroughEventT>): UiPassthroughArrayResponse<UiPassthroughEventT>;
6451
+ triggerUIPassThrough<UIPassthroughEventT extends UIPassthroughEvent>(apiName: UIPassthroughEventT, parameters: UIPassthroughRequest<UIPassthroughEventT>): Promise<UIPassthroughArrayResponse<UIPassthroughEventT>>;
6447
6452
  /**
6448
6453
  * Marks the ThoughtSpot object to have been rendered
6449
6454
  * Needs to be overridden by subclasses to do the actual
@@ -6562,16 +6567,16 @@ export declare class V1Embed extends TsEmbed {
6562
6567
  test__executeCallbacks: (eventType: EmbedEvent, data: any, eventPort?: void | MessagePort) => void;
6563
6568
  }
6564
6569
 
6565
- export declare enum UiPassthroughEvent {
6566
- addVizToPinboard = "addVizToPinboard",
6567
- saveAnswer = "saveAnswer",
6568
- getDiscoverabilityStatus = "getDiscoverabilityStatus",
6569
- getAvailableUiPassthroughs = "getAvailableUiPassthroughs",
6570
- getAnswerPageConfig = "getAnswerPageConfig",
6571
- getPinboardPageConfig = "getPinboardPageConfig"
6570
+ export declare enum UIPassthroughEvent {
6571
+ PinAnswerToLiveboard = "addVizToPinboard",
6572
+ SaveAnswer = "saveAnswer",
6573
+ GetDiscoverabilityStatus = "getDiscoverabilityStatus",
6574
+ GetAvailableUIPassthroughs = "getAvailableUIPassthroughs",
6575
+ GetAnswerConfig = "getAnswerPageConfig",
6576
+ GetLiveboardConfig = "getPinboardPageConfig"
6572
6577
  }
6573
- export type UiPassthroughContractBase = {
6574
- [UiPassthroughEvent.addVizToPinboard]: {
6578
+ export type UIPassthroughContractBase = {
6579
+ [UIPassthroughEvent.PinAnswerToLiveboard]: {
6575
6580
  request: {
6576
6581
  vizId?: string;
6577
6582
  newVizName: string;
@@ -6587,7 +6592,7 @@ export type UiPassthroughContractBase = {
6587
6592
  vizId: string;
6588
6593
  };
6589
6594
  };
6590
- [UiPassthroughEvent.saveAnswer]: {
6595
+ [UIPassthroughEvent.SaveAnswer]: {
6591
6596
  request: {
6592
6597
  name: string;
6593
6598
  description: string;
@@ -6596,53 +6601,49 @@ export type UiPassthroughContractBase = {
6596
6601
  };
6597
6602
  response: {
6598
6603
  answerId: string;
6599
- saveResponse: any;
6604
+ saveResponse?: any;
6600
6605
  shareResponse?: any;
6601
- errors?: any;
6602
6606
  };
6603
6607
  };
6604
- [UiPassthroughEvent.getDiscoverabilityStatus]: {
6608
+ [UIPassthroughEvent.GetDiscoverabilityStatus]: {
6605
6609
  request: any;
6606
6610
  response: {
6607
6611
  shouldShowDiscoverability: boolean;
6608
6612
  isDiscoverabilityCheckboxUnselectedPerOrg: boolean;
6609
6613
  };
6610
6614
  };
6611
- [UiPassthroughEvent.getAvailableUiPassthroughs]: {
6615
+ [UIPassthroughEvent.GetAvailableUIPassthroughs]: {
6612
6616
  request: any;
6613
6617
  response: {
6614
6618
  keys: string[];
6615
6619
  };
6616
6620
  };
6617
- [UiPassthroughEvent.getAnswerPageConfig]: {
6621
+ [UIPassthroughEvent.GetAnswerConfig]: {
6618
6622
  request: {
6619
6623
  vizId?: string;
6620
6624
  };
6621
6625
  response: any;
6622
6626
  };
6623
- [UiPassthroughEvent.getPinboardPageConfig]: {
6627
+ [UIPassthroughEvent.GetLiveboardConfig]: {
6624
6628
  request: any;
6625
6629
  response: any;
6626
6630
  };
6627
6631
  };
6628
- export type FlattenType<T> = T extends infer R ? {
6629
- [K in keyof R]: R[K];
6630
- } : never;
6631
- export type UiPassthroughRequest<T extends keyof UiPassthroughContractBase> = FlattenType<UiPassthroughContractBase[T]['request']>;
6632
- export type UiPassthroughResponse<T extends keyof UiPassthroughContractBase> = FlattenType<UiPassthroughContractBase[T]['response']>;
6633
- export type UiPassthroughArrayResponse<ApiName extends keyof UiPassthroughContractBase> = Promise<Array<{
6632
+ export type UIPassthroughRequest<T extends keyof UIPassthroughContractBase> = UIPassthroughContractBase[T]['request'];
6633
+ export type UIPassthroughResponse<T extends keyof UIPassthroughContractBase> = UIPassthroughContractBase[T]['response'];
6634
+ export type UIPassthroughArrayResponse<ApiName extends keyof UIPassthroughContractBase> = Array<{
6634
6635
  redId?: string;
6635
- value?: UiPassthroughResponse<ApiName>;
6636
+ value?: UIPassthroughResponse<ApiName>;
6636
6637
  error?: any;
6637
- }>>;
6638
+ }>;
6638
6639
  export type EmbedApiHostEventMapping = {
6639
- [HostEvent.Pin]: UiPassthroughEvent.addVizToPinboard;
6640
- [HostEvent.SaveAnswer]: UiPassthroughEvent.saveAnswer;
6640
+ [HostEvent.Pin]: UIPassthroughEvent.PinAnswerToLiveboard;
6641
+ [HostEvent.SaveAnswer]: UIPassthroughEvent.SaveAnswer;
6641
6642
  };
6642
- export type HostEventRequest<HostEventT extends HostEvent> = HostEventT extends keyof EmbedApiHostEventMapping ? FlattenType<UiPassthroughRequest<EmbedApiHostEventMapping[HostEventT]>> : any;
6643
- export type HostEventResponse<HostEventT extends HostEvent> = HostEventT extends keyof EmbedApiHostEventMapping ? {
6644
- value?: UiPassthroughResponse<EmbedApiHostEventMapping[HostEventT]>;
6645
- } : any;
6643
+ export type HostEventRequest<HostEventT extends HostEvent> = HostEventT extends keyof EmbedApiHostEventMapping ? UIPassthroughRequest<EmbedApiHostEventMapping[HostEventT]> : any;
6644
+ export type HostEventResponse<HostEventT extends HostEvent> = HostEventT extends keyof EmbedApiHostEventMapping ? UIPassthroughResponse<EmbedApiHostEventMapping[HostEventT]> : any;
6645
+ export type TriggerPayload<PayloadT, HostEventT extends HostEvent> = PayloadT | HostEventRequest<HostEventT>;
6646
+ export type TriggerResponse<PayloadT, HostEventT extends HostEvent> = PayloadT extends HostEventRequest<HostEventT> ? HostEventResponse<HostEventT> : any;
6646
6647
 
6647
6648
  export interface executeTMLInput {
6648
6649
  metadata_tmls: string[];
@@ -7725,11 +7726,25 @@ export declare function getAuthenticationToken(embedConfig: EmbedConfig): Promis
7725
7726
  export declare const resetCachedAuthToken: () => void;
7726
7727
 
7727
7728
  export declare class HostEventClient {
7728
- thoughtSpotHost: string;
7729
- constructor(thoughtSpotHost: string);
7730
- executeUiPassthroughApi<UiPassthroughEventT extends UiPassthroughEvent>(iFrame: HTMLIFrameElement, apiName: UiPassthroughEventT, parameters: UiPassthroughRequest<UiPassthroughEventT>): UiPassthroughArrayResponse<UiPassthroughEventT>;
7731
- handleUiPassthroughForHostEvent<UiPassthroughEventT extends UiPassthroughEvent>(iFrame: HTMLIFrameElement, apiName: UiPassthroughEventT, parameters: UiPassthroughRequest<UiPassthroughEventT>): Promise<UiPassthroughResponse<UiPassthroughEventT>>;
7732
- hostEventFallback(iFrame: HTMLIFrameElement, hostEvent: HostEvent, data: any): Promise<any>;
7733
- executeHostEvent<T extends HostEvent>(iFrame: HTMLIFrameElement, hostEvent: HostEvent, payload?: HostEventRequest<T>): Promise<HostEventResponse<HostEvent>>;
7729
+ iFrame: HTMLIFrameElement;
7730
+ constructor(iFrame?: HTMLIFrameElement);
7731
+ /**
7732
+ * A wrapper over process trigger to
7733
+ * @param {HostEvent} message Host event to send
7734
+ * @param {any} data Data to send with the host event
7735
+ * @returns {Promise<any>} - the response from the process trigger
7736
+ */
7737
+ protected processTrigger(message: HostEvent, data: any): Promise<any>;
7738
+ handleHostEventWithParam<UIPassthroughEventT extends UIPassthroughEvent>(apiName: UIPassthroughEventT, parameters: UIPassthroughRequest<UIPassthroughEventT>): Promise<UIPassthroughResponse<UIPassthroughEventT>>;
7739
+ hostEventFallback(hostEvent: HostEvent, data: any): Promise<any>;
7740
+ /**
7741
+ * Setter for the iframe element used for host events
7742
+ * @param {HTMLIFrameElement} iFrame - the iframe element to set
7743
+ */
7744
+ setIframeElement(iFrame: HTMLIFrameElement): void;
7745
+ triggerUIPassthroughApi<UIPassthroughEventT extends UIPassthroughEvent>(apiName: UIPassthroughEventT, parameters: UIPassthroughRequest<UIPassthroughEventT>): Promise<UIPassthroughArrayResponse<UIPassthroughEventT>>;
7746
+ protected handlePinEvent(payload: HostEventRequest<HostEvent.Pin>): Promise<HostEventResponse<HostEvent.Pin>>;
7747
+ protected handleSaveAnswerEvent(payload: HostEventRequest<HostEvent.SaveAnswer>): Promise<any>;
7748
+ triggerHostEvent<HostEventT extends HostEvent, PayloadT>(hostEvent: HostEventT, payload?: TriggerPayload<PayloadT, HostEventT>): Promise<TriggerResponse<PayloadT, HostEventT>>;
7734
7749
  }
7735
7750
 
@@ -12,7 +12,7 @@ import EventEmitter from 'eventemitter3';
12
12
  * @summary ThoughtSpot Visual Embed SDK
13
13
  * @author Ayon Ghosh <ayon.ghosh@thoughtspot.com>
14
14
  */
15
- export { init, logout, prefetch, executeTML, exportTML, executeTMLInput, exportTMLInput, getEmbedConfig as getInitConfig, getSessionInfo, tokenizedFetch, getAnswerFromQuery, createLiveboardWithAnswers, SearchEmbed, SearchBarEmbed, PinboardEmbed, LiveboardEmbed, SageEmbed, AppEmbed, BodylessConversation, BodylessConversationViewConfig, ConversationEmbed, ConversationViewConfig, AuthFailureType, AuthStatus, AuthEvent, AuthEventEmitter, AnswerService, SessionInterface, UnderlyingDataPoint, Page, AuthType, RuntimeFilter, RuntimeFilterOp, EmbedEvent, HostEvent, DataSourceVisualMode, Action, ContextMenuTriggerOptions, EmbedConfig, SearchViewConfig, SearchBarViewConfig, LiveboardViewConfig, SageViewConfig, AppViewConfig, PrefetchFeatures, FrameParams, HomeLeftNavItem, HomepageModule, DOMSelector, MessageOptions, MessageCallback, MessagePayload, CustomisationsInterface, CustomStyles, customCssInterface, CustomCssVariables, RuntimeParameter, LogLevel, uploadMixpanelEvent, MIXPANEL_EVENT, HomePageSearchBarMode, VizPoint, CustomActionPayload, UiPassthroughEvent, };
15
+ export { init, logout, prefetch, executeTML, exportTML, executeTMLInput, exportTMLInput, getEmbedConfig as getInitConfig, getSessionInfo, tokenizedFetch, getAnswerFromQuery, createLiveboardWithAnswers, SearchEmbed, SearchBarEmbed, PinboardEmbed, LiveboardEmbed, SageEmbed, AppEmbed, BodylessConversation, BodylessConversationViewConfig, ConversationEmbed, ConversationViewConfig, AuthFailureType, AuthStatus, AuthEvent, AuthEventEmitter, AnswerService, SessionInterface, UnderlyingDataPoint, Page, AuthType, RuntimeFilter, RuntimeFilterOp, EmbedEvent, HostEvent, DataSourceVisualMode, Action, ContextMenuTriggerOptions, EmbedConfig, SearchViewConfig, SearchBarViewConfig, LiveboardViewConfig, SageViewConfig, AppViewConfig, PrefetchFeatures, FrameParams, HomeLeftNavItem, HomepageModule, DOMSelector, MessageOptions, MessageCallback, MessagePayload, CustomisationsInterface, CustomStyles, customCssInterface, CustomCssVariables, RuntimeParameter, LogLevel, uploadMixpanelEvent, MIXPANEL_EVENT, HomePageSearchBarMode, VizPoint, CustomActionPayload, UIPassthroughEvent, };
16
16
 
17
17
  /**
18
18
  * Copyright (c) 2022
@@ -4902,7 +4902,7 @@ export enum HostEvent {
4902
4902
  * EmbedApi
4903
4903
  * @hidden
4904
4904
  */
4905
- UiPassthrough = "UiPassthrough"
4905
+ UIPassthrough = "UiPassthrough"
4906
4906
  }
4907
4907
  /**
4908
4908
  * The different visual modes that the data sources panel within
@@ -7061,16 +7061,16 @@ export const getAnswerFromQuery: (query: string, worksheetId: string) => Promise
7061
7061
  */
7062
7062
  export const createLiveboardWithAnswers: (answers: AnswerService[], name: string) => Promise<any>;
7063
7063
 
7064
- export enum UiPassthroughEvent {
7065
- addVizToPinboard = "addVizToPinboard",
7066
- saveAnswer = "saveAnswer",
7067
- getDiscoverabilityStatus = "getDiscoverabilityStatus",
7068
- getAvailableUiPassthroughs = "getAvailableUiPassthroughs",
7069
- getAnswerPageConfig = "getAnswerPageConfig",
7070
- getPinboardPageConfig = "getPinboardPageConfig"
7064
+ export enum UIPassthroughEvent {
7065
+ PinAnswerToLiveboard = "addVizToPinboard",
7066
+ SaveAnswer = "saveAnswer",
7067
+ GetDiscoverabilityStatus = "getDiscoverabilityStatus",
7068
+ GetAvailableUIPassthroughs = "getAvailableUIPassthroughs",
7069
+ GetAnswerConfig = "getAnswerPageConfig",
7070
+ GetLiveboardConfig = "getPinboardPageConfig"
7071
7071
  }
7072
- export type UiPassthroughContractBase = {
7073
- [UiPassthroughEvent.addVizToPinboard]: {
7072
+ export type UIPassthroughContractBase = {
7073
+ [UIPassthroughEvent.PinAnswerToLiveboard]: {
7074
7074
  request: {
7075
7075
  vizId?: string;
7076
7076
  newVizName: string;
@@ -7086,7 +7086,7 @@ export type UiPassthroughContractBase = {
7086
7086
  vizId: string;
7087
7087
  };
7088
7088
  };
7089
- [UiPassthroughEvent.saveAnswer]: {
7089
+ [UIPassthroughEvent.SaveAnswer]: {
7090
7090
  request: {
7091
7091
  name: string;
7092
7092
  description: string;
@@ -7095,53 +7095,49 @@ export type UiPassthroughContractBase = {
7095
7095
  };
7096
7096
  response: {
7097
7097
  answerId: string;
7098
- saveResponse: any;
7098
+ saveResponse?: any;
7099
7099
  shareResponse?: any;
7100
- errors?: any;
7101
7100
  };
7102
7101
  };
7103
- [UiPassthroughEvent.getDiscoverabilityStatus]: {
7102
+ [UIPassthroughEvent.GetDiscoverabilityStatus]: {
7104
7103
  request: any;
7105
7104
  response: {
7106
7105
  shouldShowDiscoverability: boolean;
7107
7106
  isDiscoverabilityCheckboxUnselectedPerOrg: boolean;
7108
7107
  };
7109
7108
  };
7110
- [UiPassthroughEvent.getAvailableUiPassthroughs]: {
7109
+ [UIPassthroughEvent.GetAvailableUIPassthroughs]: {
7111
7110
  request: any;
7112
7111
  response: {
7113
7112
  keys: string[];
7114
7113
  };
7115
7114
  };
7116
- [UiPassthroughEvent.getAnswerPageConfig]: {
7115
+ [UIPassthroughEvent.GetAnswerConfig]: {
7117
7116
  request: {
7118
7117
  vizId?: string;
7119
7118
  };
7120
7119
  response: any;
7121
7120
  };
7122
- [UiPassthroughEvent.getPinboardPageConfig]: {
7121
+ [UIPassthroughEvent.GetLiveboardConfig]: {
7123
7122
  request: any;
7124
7123
  response: any;
7125
7124
  };
7126
7125
  };
7127
- export type FlattenType<T> = T extends infer R ? {
7128
- [K in keyof R]: R[K];
7129
- } : never;
7130
- export type UiPassthroughRequest<T extends keyof UiPassthroughContractBase> = FlattenType<UiPassthroughContractBase[T]['request']>;
7131
- export type UiPassthroughResponse<T extends keyof UiPassthroughContractBase> = FlattenType<UiPassthroughContractBase[T]['response']>;
7132
- export type UiPassthroughArrayResponse<ApiName extends keyof UiPassthroughContractBase> = Promise<Array<{
7126
+ export type UIPassthroughRequest<T extends keyof UIPassthroughContractBase> = UIPassthroughContractBase[T]['request'];
7127
+ export type UIPassthroughResponse<T extends keyof UIPassthroughContractBase> = UIPassthroughContractBase[T]['response'];
7128
+ export type UIPassthroughArrayResponse<ApiName extends keyof UIPassthroughContractBase> = Array<{
7133
7129
  redId?: string;
7134
- value?: UiPassthroughResponse<ApiName>;
7130
+ value?: UIPassthroughResponse<ApiName>;
7135
7131
  error?: any;
7136
- }>>;
7132
+ }>;
7137
7133
  export type EmbedApiHostEventMapping = {
7138
- [HostEvent.Pin]: UiPassthroughEvent.addVizToPinboard;
7139
- [HostEvent.SaveAnswer]: UiPassthroughEvent.saveAnswer;
7134
+ [HostEvent.Pin]: UIPassthroughEvent.PinAnswerToLiveboard;
7135
+ [HostEvent.SaveAnswer]: UIPassthroughEvent.SaveAnswer;
7140
7136
  };
7141
- export type HostEventRequest<HostEventT extends HostEvent> = HostEventT extends keyof EmbedApiHostEventMapping ? FlattenType<UiPassthroughRequest<EmbedApiHostEventMapping[HostEventT]>> : any;
7142
- export type HostEventResponse<HostEventT extends HostEvent> = HostEventT extends keyof EmbedApiHostEventMapping ? {
7143
- value?: UiPassthroughResponse<EmbedApiHostEventMapping[HostEventT]>;
7144
- } : any;
7137
+ export type HostEventRequest<HostEventT extends HostEvent> = HostEventT extends keyof EmbedApiHostEventMapping ? UIPassthroughRequest<EmbedApiHostEventMapping[HostEventT]> : any;
7138
+ export type HostEventResponse<HostEventT extends HostEvent> = HostEventT extends keyof EmbedApiHostEventMapping ? UIPassthroughResponse<EmbedApiHostEventMapping[HostEventT]> : any;
7139
+ export type TriggerPayload<PayloadT, HostEventT extends HostEvent> = PayloadT | HostEventRequest<HostEventT>;
7140
+ export type TriggerResponse<PayloadT, HostEventT extends HostEvent> = PayloadT extends HostEventRequest<HostEventT> ? HostEventResponse<HostEventT> : any;
7145
7141
 
7146
7142
  /**
7147
7143
  *
@@ -7197,6 +7193,11 @@ export class TsEmbed {
7197
7193
  * will be rendered.
7198
7194
  */
7199
7195
  protected iFrame: HTMLIFrameElement;
7196
+ /**
7197
+ * Setter for the iframe element
7198
+ * @param {HTMLIFrameElement} iFrame HTMLIFrameElement
7199
+ */
7200
+ protected setIframeElement(iFrame: HTMLIFrameElement): void;
7200
7201
  protected viewConfig: ViewConfig;
7201
7202
  protected embedConfig: EmbedConfig;
7202
7203
  /**
@@ -7328,19 +7329,19 @@ export class TsEmbed {
7328
7329
  off(messageType: EmbedEvent, callback: MessageCallback): typeof TsEmbed.prototype;
7329
7330
  /**
7330
7331
  * Triggers an event to the embedded app
7331
- * @param messageType The event type
7332
- * @param data The payload to send with the message
7332
+ * @param {HostEvent} messageType The event type
7333
+ * @param {any} data The payload to send with the message
7333
7334
  * @returns A promise that resolves with the response from the embedded app
7334
7335
  */
7335
- trigger<HostEventT extends HostEvent>(messageType: HostEventT, data?: HostEventRequest<HostEventT>): Promise<HostEventResponse<HostEventT>>;
7336
+ trigger<HostEventT extends HostEvent, PayloadT>(messageType: HostEventT, data?: TriggerPayload<PayloadT, HostEventT>): Promise<TriggerResponse<PayloadT, HostEventT>>;
7336
7337
  /**
7337
7338
  * Triggers an event to the embedded app, skipping the UI flow.
7338
- * @param {UiPassthroughEvent} apiName - The name of the API to be triggered.
7339
- * @param {UiPassthroughRequest} parameters - The parameters to be passed to the API.
7340
- * @returns {Promise<UiPassthroughRequest>} - A promise that resolves with the response
7339
+ * @param {UIPassthroughEvent} apiName - The name of the API to be triggered.
7340
+ * @param {UIPassthroughRequest} parameters - The parameters to be passed to the API.
7341
+ * @returns {Promise<UIPassthroughRequest>} - A promise that resolves with the response
7341
7342
  * from the embedded app.
7342
7343
  */
7343
- triggerUiPassThrough<UiPassthroughEventT extends UiPassthroughEvent>(apiName: UiPassthroughEventT, parameters: UiPassthroughRequest<UiPassthroughEventT>): UiPassthroughArrayResponse<UiPassthroughEventT>;
7344
+ triggerUIPassThrough<UIPassthroughEventT extends UIPassthroughEvent>(apiName: UIPassthroughEventT, parameters: UIPassthroughRequest<UIPassthroughEventT>): Promise<UIPassthroughArrayResponse<UIPassthroughEventT>>;
7344
7345
  /**
7345
7346
  * Marks the ThoughtSpot object to have been rendered
7346
7347
  * Needs to be overridden by subclasses to do the actual
@@ -7460,11 +7461,25 @@ export class V1Embed extends TsEmbed {
7460
7461
  }
7461
7462
 
7462
7463
  export class HostEventClient {
7463
- thoughtSpotHost: string;
7464
- constructor(thoughtSpotHost: string);
7465
- executeUiPassthroughApi<UiPassthroughEventT extends UiPassthroughEvent>(iFrame: HTMLIFrameElement, apiName: UiPassthroughEventT, parameters: UiPassthroughRequest<UiPassthroughEventT>): UiPassthroughArrayResponse<UiPassthroughEventT>;
7466
- handleUiPassthroughForHostEvent<UiPassthroughEventT extends UiPassthroughEvent>(iFrame: HTMLIFrameElement, apiName: UiPassthroughEventT, parameters: UiPassthroughRequest<UiPassthroughEventT>): Promise<UiPassthroughResponse<UiPassthroughEventT>>;
7467
- hostEventFallback(iFrame: HTMLIFrameElement, hostEvent: HostEvent, data: any): Promise<any>;
7468
- executeHostEvent<T extends HostEvent>(iFrame: HTMLIFrameElement, hostEvent: HostEvent, payload?: HostEventRequest<T>): Promise<HostEventResponse<HostEvent>>;
7464
+ iFrame: HTMLIFrameElement;
7465
+ constructor(iFrame?: HTMLIFrameElement);
7466
+ /**
7467
+ * A wrapper over process trigger to
7468
+ * @param {HostEvent} message Host event to send
7469
+ * @param {any} data Data to send with the host event
7470
+ * @returns {Promise<any>} - the response from the process trigger
7471
+ */
7472
+ protected processTrigger(message: HostEvent, data: any): Promise<any>;
7473
+ handleHostEventWithParam<UIPassthroughEventT extends UIPassthroughEvent>(apiName: UIPassthroughEventT, parameters: UIPassthroughRequest<UIPassthroughEventT>): Promise<UIPassthroughResponse<UIPassthroughEventT>>;
7474
+ hostEventFallback(hostEvent: HostEvent, data: any): Promise<any>;
7475
+ /**
7476
+ * Setter for the iframe element used for host events
7477
+ * @param {HTMLIFrameElement} iFrame - the iframe element to set
7478
+ */
7479
+ setIframeElement(iFrame: HTMLIFrameElement): void;
7480
+ triggerUIPassthroughApi<UIPassthroughEventT extends UIPassthroughEvent>(apiName: UIPassthroughEventT, parameters: UIPassthroughRequest<UIPassthroughEventT>): Promise<UIPassthroughArrayResponse<UIPassthroughEventT>>;
7481
+ protected handlePinEvent(payload: HostEventRequest<HostEvent.Pin>): Promise<HostEventResponse<HostEvent.Pin>>;
7482
+ protected handleSaveAnswerEvent(payload: HostEventRequest<HostEvent.SaveAnswer>): Promise<any>;
7483
+ triggerHostEvent<HostEventT extends HostEvent, PayloadT>(hostEvent: HostEventT, payload?: TriggerPayload<PayloadT, HostEventT>): Promise<TriggerResponse<PayloadT, HostEventT>>;
7469
7484
  }
7470
7485
 
package/lib/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thoughtspot/visual-embed-sdk",
3
- "version": "1.35.5-hostEvent.6",
3
+ "version": "1.35.5-hostEvent.7",
4
4
  "description": "ThoughtSpot Embed SDK",
5
5
  "module": "lib/src/index.js",
6
6
  "main": "dist/tsembed.js",
@@ -1,14 +1,14 @@
1
1
  import { HostEvent } from '../../types';
2
- export declare enum UiPassthroughEvent {
3
- addVizToPinboard = "addVizToPinboard",
4
- saveAnswer = "saveAnswer",
5
- getDiscoverabilityStatus = "getDiscoverabilityStatus",
6
- getAvailableUiPassthroughs = "getAvailableUiPassthroughs",
7
- getAnswerPageConfig = "getAnswerPageConfig",
8
- getPinboardPageConfig = "getPinboardPageConfig"
2
+ export declare enum UIPassthroughEvent {
3
+ PinAnswerToLiveboard = "addVizToPinboard",
4
+ SaveAnswer = "saveAnswer",
5
+ GetDiscoverabilityStatus = "getDiscoverabilityStatus",
6
+ GetAvailableUIPassthroughs = "getAvailableUIPassthroughs",
7
+ GetAnswerConfig = "getAnswerPageConfig",
8
+ GetLiveboardConfig = "getPinboardPageConfig"
9
9
  }
10
- export type UiPassthroughContractBase = {
11
- [UiPassthroughEvent.addVizToPinboard]: {
10
+ export type UIPassthroughContractBase = {
11
+ [UIPassthroughEvent.PinAnswerToLiveboard]: {
12
12
  request: {
13
13
  vizId?: string;
14
14
  newVizName: string;
@@ -24,7 +24,7 @@ export type UiPassthroughContractBase = {
24
24
  vizId: string;
25
25
  };
26
26
  };
27
- [UiPassthroughEvent.saveAnswer]: {
27
+ [UIPassthroughEvent.SaveAnswer]: {
28
28
  request: {
29
29
  name: string;
30
30
  description: string;
@@ -33,51 +33,47 @@ export type UiPassthroughContractBase = {
33
33
  };
34
34
  response: {
35
35
  answerId: string;
36
- saveResponse: any;
36
+ saveResponse?: any;
37
37
  shareResponse?: any;
38
- errors?: any;
39
38
  };
40
39
  };
41
- [UiPassthroughEvent.getDiscoverabilityStatus]: {
40
+ [UIPassthroughEvent.GetDiscoverabilityStatus]: {
42
41
  request: any;
43
42
  response: {
44
43
  shouldShowDiscoverability: boolean;
45
44
  isDiscoverabilityCheckboxUnselectedPerOrg: boolean;
46
45
  };
47
46
  };
48
- [UiPassthroughEvent.getAvailableUiPassthroughs]: {
47
+ [UIPassthroughEvent.GetAvailableUIPassthroughs]: {
49
48
  request: any;
50
49
  response: {
51
50
  keys: string[];
52
51
  };
53
52
  };
54
- [UiPassthroughEvent.getAnswerPageConfig]: {
53
+ [UIPassthroughEvent.GetAnswerConfig]: {
55
54
  request: {
56
55
  vizId?: string;
57
56
  };
58
57
  response: any;
59
58
  };
60
- [UiPassthroughEvent.getPinboardPageConfig]: {
59
+ [UIPassthroughEvent.GetLiveboardConfig]: {
61
60
  request: any;
62
61
  response: any;
63
62
  };
64
63
  };
65
- export type FlattenType<T> = T extends infer R ? {
66
- [K in keyof R]: R[K];
67
- } : never;
68
- export type UiPassthroughRequest<T extends keyof UiPassthroughContractBase> = FlattenType<UiPassthroughContractBase[T]['request']>;
69
- export type UiPassthroughResponse<T extends keyof UiPassthroughContractBase> = FlattenType<UiPassthroughContractBase[T]['response']>;
70
- export type UiPassthroughArrayResponse<ApiName extends keyof UiPassthroughContractBase> = Promise<Array<{
64
+ export type UIPassthroughRequest<T extends keyof UIPassthroughContractBase> = UIPassthroughContractBase[T]['request'];
65
+ export type UIPassthroughResponse<T extends keyof UIPassthroughContractBase> = UIPassthroughContractBase[T]['response'];
66
+ export type UIPassthroughArrayResponse<ApiName extends keyof UIPassthroughContractBase> = Array<{
71
67
  redId?: string;
72
- value?: UiPassthroughResponse<ApiName>;
68
+ value?: UIPassthroughResponse<ApiName>;
73
69
  error?: any;
74
- }>>;
70
+ }>;
75
71
  export type EmbedApiHostEventMapping = {
76
- [HostEvent.Pin]: UiPassthroughEvent.addVizToPinboard;
77
- [HostEvent.SaveAnswer]: UiPassthroughEvent.saveAnswer;
72
+ [HostEvent.Pin]: UIPassthroughEvent.PinAnswerToLiveboard;
73
+ [HostEvent.SaveAnswer]: UIPassthroughEvent.SaveAnswer;
78
74
  };
79
- export type HostEventRequest<HostEventT extends HostEvent> = HostEventT extends keyof EmbedApiHostEventMapping ? FlattenType<UiPassthroughRequest<EmbedApiHostEventMapping[HostEventT]>> : any;
80
- export type HostEventResponse<HostEventT extends HostEvent> = HostEventT extends keyof EmbedApiHostEventMapping ? {
81
- value?: UiPassthroughResponse<EmbedApiHostEventMapping[HostEventT]>;
82
- } : any;
75
+ export type HostEventRequest<HostEventT extends HostEvent> = HostEventT extends keyof EmbedApiHostEventMapping ? UIPassthroughRequest<EmbedApiHostEventMapping[HostEventT]> : any;
76
+ export type HostEventResponse<HostEventT extends HostEvent> = HostEventT extends keyof EmbedApiHostEventMapping ? UIPassthroughResponse<EmbedApiHostEventMapping[HostEventT]> : any;
77
+ export type TriggerPayload<PayloadT, HostEventT extends HostEvent> = PayloadT | HostEventRequest<HostEventT>;
78
+ export type TriggerResponse<PayloadT, HostEventT extends HostEvent> = PayloadT extends HostEventRequest<HostEventT> ? HostEventResponse<HostEventT> : any;
83
79
  //# sourceMappingURL=contracts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../../src/embed/hostEventClient/contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../../src/embed/hostEventClient/contracts.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { HostEvent } from '../../types';
2
- export var UiPassthroughEvent;
3
- (function (UiPassthroughEvent) {
4
- UiPassthroughEvent["addVizToPinboard"] = "addVizToPinboard";
5
- UiPassthroughEvent["saveAnswer"] = "saveAnswer";
6
- UiPassthroughEvent["getDiscoverabilityStatus"] = "getDiscoverabilityStatus";
7
- UiPassthroughEvent["getAvailableUiPassthroughs"] = "getAvailableUiPassthroughs";
8
- UiPassthroughEvent["getAnswerPageConfig"] = "getAnswerPageConfig";
9
- UiPassthroughEvent["getPinboardPageConfig"] = "getPinboardPageConfig";
10
- })(UiPassthroughEvent || (UiPassthroughEvent = {}));
2
+ export var UIPassthroughEvent;
3
+ (function (UIPassthroughEvent) {
4
+ UIPassthroughEvent["PinAnswerToLiveboard"] = "addVizToPinboard";
5
+ UIPassthroughEvent["SaveAnswer"] = "saveAnswer";
6
+ UIPassthroughEvent["GetDiscoverabilityStatus"] = "getDiscoverabilityStatus";
7
+ UIPassthroughEvent["GetAvailableUIPassthroughs"] = "getAvailableUIPassthroughs";
8
+ UIPassthroughEvent["GetAnswerConfig"] = "getAnswerPageConfig";
9
+ UIPassthroughEvent["GetLiveboardConfig"] = "getPinboardPageConfig";
10
+ })(UIPassthroughEvent || (UIPassthroughEvent = {}));
11
11
  //# sourceMappingURL=contracts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../../../src/embed/hostEventClient/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,CAAN,IAAY,kBAOX;AAPD,WAAY,kBAAkB;IAC5B,2DAAqC,CAAA;IACrC,+CAAyB,CAAA;IACzB,2EAAqD,CAAA;IACrD,+EAAyD,CAAA;IACzD,iEAA2C,CAAA;IAC3C,qEAA+C,CAAA;AACjD,CAAC,EAPW,kBAAkB,KAAlB,kBAAkB,QAO7B"}
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../../../src/embed/hostEventClient/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,CAAN,IAAY,kBAOX;AAPD,WAAY,kBAAkB;IAC5B,+DAAyC,CAAA;IACzC,+CAAyB,CAAA;IACzB,2EAAqD,CAAA;IACrD,+EAAyD,CAAA;IACzD,6DAAuC,CAAA;IACvC,kEAA4C,CAAA;AAC9C,CAAC,EAPW,kBAAkB,KAAlB,kBAAkB,QAO7B"}
@@ -1,11 +1,25 @@
1
1
  import { HostEvent } from '../../types';
2
- import { UiPassthroughArrayResponse, UiPassthroughEvent, HostEventRequest, HostEventResponse, UiPassthroughRequest, UiPassthroughResponse } from './contracts';
2
+ import { UIPassthroughArrayResponse, UIPassthroughEvent, HostEventRequest, HostEventResponse, UIPassthroughRequest, UIPassthroughResponse, TriggerPayload, TriggerResponse } from './contracts';
3
3
  export declare class HostEventClient {
4
- thoughtSpotHost: string;
5
- constructor(thoughtSpotHost: string);
6
- executeUiPassthroughApi<UiPassthroughEventT extends UiPassthroughEvent>(iFrame: HTMLIFrameElement, apiName: UiPassthroughEventT, parameters: UiPassthroughRequest<UiPassthroughEventT>): UiPassthroughArrayResponse<UiPassthroughEventT>;
7
- handleUiPassthroughForHostEvent<UiPassthroughEventT extends UiPassthroughEvent>(iFrame: HTMLIFrameElement, apiName: UiPassthroughEventT, parameters: UiPassthroughRequest<UiPassthroughEventT>): Promise<UiPassthroughResponse<UiPassthroughEventT>>;
8
- hostEventFallback(iFrame: HTMLIFrameElement, hostEvent: HostEvent, data: any): Promise<any>;
9
- executeHostEvent<T extends HostEvent>(iFrame: HTMLIFrameElement, hostEvent: HostEvent, payload?: HostEventRequest<T>): Promise<HostEventResponse<HostEvent>>;
4
+ iFrame: HTMLIFrameElement;
5
+ constructor(iFrame?: HTMLIFrameElement);
6
+ /**
7
+ * A wrapper over process trigger to
8
+ * @param {HostEvent} message Host event to send
9
+ * @param {any} data Data to send with the host event
10
+ * @returns {Promise<any>} - the response from the process trigger
11
+ */
12
+ protected processTrigger(message: HostEvent, data: any): Promise<any>;
13
+ handleHostEventWithParam<UIPassthroughEventT extends UIPassthroughEvent>(apiName: UIPassthroughEventT, parameters: UIPassthroughRequest<UIPassthroughEventT>): Promise<UIPassthroughResponse<UIPassthroughEventT>>;
14
+ hostEventFallback(hostEvent: HostEvent, data: any): Promise<any>;
15
+ /**
16
+ * Setter for the iframe element used for host events
17
+ * @param {HTMLIFrameElement} iFrame - the iframe element to set
18
+ */
19
+ setIframeElement(iFrame: HTMLIFrameElement): void;
20
+ triggerUIPassthroughApi<UIPassthroughEventT extends UIPassthroughEvent>(apiName: UIPassthroughEventT, parameters: UIPassthroughRequest<UIPassthroughEventT>): Promise<UIPassthroughArrayResponse<UIPassthroughEventT>>;
21
+ protected handlePinEvent(payload: HostEventRequest<HostEvent.Pin>): Promise<HostEventResponse<HostEvent.Pin>>;
22
+ protected handleSaveAnswerEvent(payload: HostEventRequest<HostEvent.SaveAnswer>): Promise<any>;
23
+ triggerHostEvent<HostEventT extends HostEvent, PayloadT>(hostEvent: HostEventT, payload?: TriggerPayload<PayloadT, HostEventT>): Promise<TriggerResponse<PayloadT, HostEventT>>;
10
24
  }
11
25
  //# sourceMappingURL=host-event-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"host-event-client.d.ts","sourceRoot":"","sources":["../../../../src/embed/hostEventClient/host-event-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EACH,0BAA0B,EAC1B,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB,EACvD,oBAAoB,EACpB,qBAAqB,EACxB,MAAM,aAAa,CAAC;AAErB,qBAAa,eAAe;IAC1B,eAAe,EAAE,MAAM,CAAC;gBAEZ,eAAe,EAAE,MAAM;IAItB,uBAAuB,CAAC,mBAAmB,SAAS,kBAAkB,EAC/E,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,mBAAmB,EAC5B,UAAU,EAAE,oBAAoB,CAAC,mBAAmB,CAAC,GACtD,0BAA0B,CAAC,mBAAmB,CAAC;IASrC,+BAA+B,CAAC,mBAAmB,SAAS,kBAAkB,EACvF,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,mBAAmB,EAC5B,UAAU,EAAE,oBAAoB,CAAC,mBAAmB,CAAC,GACtD,OAAO,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;IAmBzC,iBAAiB,CAC1B,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,GAC3D,OAAO,CAAC,GAAG,CAAC;IAIF,gBAAgB,CAAC,CAAC,SAAS,SAAS,EAC7C,MAAM,EAAE,iBAAiB,EACzB,SAAS,EAAE,SAAS,EACpB,OAAO,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAC9B,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;CAmBzC"}
1
+ {"version":3,"file":"host-event-client.d.ts","sourceRoot":"","sources":["../../../../src/embed/hostEventClient/host-event-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,EACH,0BAA0B,EAC1B,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB,EACvD,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,eAAe,EAClB,MAAM,aAAa,CAAC;AAOrB,qBAAa,eAAe;IAC1B,MAAM,EAAE,iBAAiB,CAAC;gBAEd,MAAM,CAAC,EAAE,iBAAiB;IAItC;;;;;OAKG;cACa,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAc9D,wBAAwB,CAAC,mBAAmB,SAAS,kBAAkB,EAChF,OAAO,EAAE,mBAAmB,EAC5B,UAAU,EAAE,oBAAoB,CAAC,mBAAmB,CAAC,GACtD,OAAO,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;IAsBzC,iBAAiB,CAC1B,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,GAAG,GACV,OAAO,CAAC,GAAG,CAAC;IAIf;;;OAGG;IACI,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAI3C,uBAAuB,CAAC,mBAAmB,SAAS,kBAAkB,EAC/E,OAAO,EAAE,mBAAmB,EAC5B,UAAU,EAAE,oBAAoB,CAAC,mBAAmB,CAAC,GACtD,OAAO,CAAC,0BAA0B,CAAC,mBAAmB,CAAC,CAAC;cAS3C,cAAc,CAC1B,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,GACzC,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;cAU5B,qBAAqB,CACjC,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC,UAAU,CAAC,GAChD,OAAO,CAAC,GAAG,CAAC;IAeF,gBAAgB,CAC3B,UAAU,SAAS,SAAS,EAC5B,QAAQ,EAEN,SAAS,EAAE,UAAU,EACrB,OAAO,CAAC,EAAE,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC,GAC/C,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;CAYlD"}