@thoughtspot/visual-embed-sdk 1.46.4 → 1.46.5
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.
- package/cjs/package.json +3 -3
- package/cjs/src/auth.d.ts +2 -1
- package/cjs/src/auth.d.ts.map +1 -1
- package/cjs/src/auth.js +2 -1
- package/cjs/src/auth.js.map +1 -1
- package/cjs/src/authToken.d.ts.map +1 -1
- package/cjs/src/authToken.js.map +1 -1
- package/cjs/src/css-variables.d.ts +87 -17
- package/cjs/src/css-variables.d.ts.map +1 -1
- package/cjs/src/embed/app.d.ts +41 -1
- package/cjs/src/embed/app.d.ts.map +1 -1
- package/cjs/src/embed/app.js +25 -36
- package/cjs/src/embed/app.js.map +1 -1
- package/cjs/src/embed/app.spec.js +35 -23
- package/cjs/src/embed/app.spec.js.map +1 -1
- package/cjs/src/embed/base.d.ts.map +1 -1
- package/cjs/src/embed/base.js.map +1 -1
- package/cjs/src/embed/base.spec.js.map +1 -1
- package/cjs/src/embed/conversation.d.ts +23 -1
- package/cjs/src/embed/conversation.d.ts.map +1 -1
- package/cjs/src/embed/conversation.js +18 -33
- package/cjs/src/embed/conversation.js.map +1 -1
- package/cjs/src/embed/conversation.spec.js +129 -97
- package/cjs/src/embed/conversation.spec.js.map +1 -1
- package/cjs/src/embed/events.spec.js +72 -0
- package/cjs/src/embed/events.spec.js.map +1 -1
- package/cjs/src/embed/hostEventClient/contracts.d.ts +105 -3
- package/cjs/src/embed/hostEventClient/contracts.d.ts.map +1 -1
- package/cjs/src/embed/hostEventClient/contracts.js +9 -0
- package/cjs/src/embed/hostEventClient/contracts.js.map +1 -1
- package/cjs/src/embed/hostEventClient/host-event-client.d.ts +28 -0
- package/cjs/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
- package/cjs/src/embed/hostEventClient/host-event-client.js +106 -9
- package/cjs/src/embed/hostEventClient/host-event-client.js.map +1 -1
- package/cjs/src/embed/hostEventClient/host-event-client.spec.js +327 -6
- package/cjs/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
- package/cjs/src/embed/hostEventClient/utils.d.ts +22 -0
- package/cjs/src/embed/hostEventClient/utils.d.ts.map +1 -0
- package/cjs/src/embed/hostEventClient/utils.js +51 -0
- package/cjs/src/embed/hostEventClient/utils.js.map +1 -0
- package/cjs/src/embed/hostEventClient/utils.spec.d.ts +2 -0
- package/cjs/src/embed/hostEventClient/utils.spec.d.ts.map +1 -0
- package/cjs/src/embed/hostEventClient/utils.spec.js +115 -0
- package/cjs/src/embed/hostEventClient/utils.spec.js.map +1 -0
- package/cjs/src/embed/liveboard.d.ts +18 -0
- package/cjs/src/embed/liveboard.d.ts.map +1 -1
- package/cjs/src/embed/liveboard.js +10 -3
- package/cjs/src/embed/liveboard.js.map +1 -1
- package/cjs/src/embed/liveboard.spec.js +54 -2
- package/cjs/src/embed/liveboard.spec.js.map +1 -1
- package/cjs/src/embed/sage.d.ts.map +1 -1
- package/cjs/src/embed/sage.js.map +1 -1
- package/cjs/src/embed/search.spec.js.map +1 -1
- package/cjs/src/embed/spotter-utils.d.ts +20 -0
- package/cjs/src/embed/spotter-utils.d.ts.map +1 -0
- package/cjs/src/embed/spotter-utils.js +52 -0
- package/cjs/src/embed/spotter-utils.js.map +1 -0
- package/cjs/src/embed/spotter-utils.spec.d.ts +2 -0
- package/cjs/src/embed/spotter-utils.spec.d.ts.map +1 -0
- package/cjs/src/embed/spotter-utils.spec.js +54 -0
- package/cjs/src/embed/spotter-utils.spec.js.map +1 -0
- package/cjs/src/embed/ts-embed.d.ts +41 -2
- package/cjs/src/embed/ts-embed.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.js +54 -3
- package/cjs/src/embed/ts-embed.js.map +1 -1
- package/cjs/src/errors.d.ts +2 -0
- package/cjs/src/errors.d.ts.map +1 -1
- package/cjs/src/errors.js +2 -0
- package/cjs/src/errors.js.map +1 -1
- package/cjs/src/react/index.d.ts.map +1 -1
- package/cjs/src/react/index.js +58 -53
- package/cjs/src/react/index.js.map +1 -1
- package/cjs/src/types.d.ts +832 -33
- package/cjs/src/types.d.ts.map +1 -1
- package/cjs/src/types.js +835 -3
- package/cjs/src/types.js.map +1 -1
- package/cjs/src/utils/graphql/answerService/answerService.d.ts +4 -2
- package/cjs/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
- package/cjs/src/utils/graphql/answerService/answerService.js +4 -2
- package/cjs/src/utils/graphql/answerService/answerService.js.map +1 -1
- package/cjs/src/utils/graphql/preview-service.d.ts.map +1 -1
- package/cjs/src/utils/graphql/preview-service.js.map +1 -1
- package/cjs/src/utils/processData.d.ts.map +1 -1
- package/cjs/src/utils/processData.js.map +1 -1
- package/cjs/src/utils.d.ts +0 -9
- package/cjs/src/utils.d.ts.map +1 -1
- package/cjs/src/utils.js +1 -10
- package/cjs/src/utils.js.map +1 -1
- package/dist/index-ChNydfIz.js +7371 -0
- package/dist/index-DW2wEHqy.js +7371 -0
- package/dist/src/auth.d.ts +2 -1
- package/dist/src/auth.d.ts.map +1 -1
- package/dist/src/authToken.d.ts.map +1 -1
- package/dist/src/css-variables.d.ts +87 -17
- package/dist/src/css-variables.d.ts.map +1 -1
- package/dist/src/embed/app.d.ts +41 -1
- package/dist/src/embed/app.d.ts.map +1 -1
- package/dist/src/embed/base.d.ts.map +1 -1
- package/dist/src/embed/conversation.d.ts +23 -1
- package/dist/src/embed/conversation.d.ts.map +1 -1
- package/dist/src/embed/hostEventClient/contracts.d.ts +105 -3
- package/dist/src/embed/hostEventClient/contracts.d.ts.map +1 -1
- package/dist/src/embed/hostEventClient/host-event-client.d.ts +28 -0
- package/dist/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
- package/dist/src/embed/hostEventClient/utils.d.ts +22 -0
- package/dist/src/embed/hostEventClient/utils.d.ts.map +1 -0
- package/dist/src/embed/hostEventClient/utils.spec.d.ts +2 -0
- package/dist/src/embed/hostEventClient/utils.spec.d.ts.map +1 -0
- package/dist/src/embed/liveboard.d.ts +18 -0
- package/dist/src/embed/liveboard.d.ts.map +1 -1
- package/dist/src/embed/sage.d.ts.map +1 -1
- package/dist/src/embed/spotter-utils.d.ts +20 -0
- package/dist/src/embed/spotter-utils.d.ts.map +1 -0
- package/dist/src/embed/spotter-utils.spec.d.ts +2 -0
- package/dist/src/embed/spotter-utils.spec.d.ts.map +1 -0
- package/dist/src/embed/ts-embed.d.ts +41 -2
- package/dist/src/embed/ts-embed.d.ts.map +1 -1
- package/dist/src/errors.d.ts +2 -0
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/react/index.d.ts.map +1 -1
- package/dist/src/types.d.ts +832 -33
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/graphql/answerService/answerService.d.ts +4 -2
- package/dist/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
- package/dist/src/utils/graphql/preview-service.d.ts.map +1 -1
- package/dist/src/utils/processData.d.ts.map +1 -1
- package/dist/src/utils.d.ts +0 -9
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/tsembed-react.es.js +1208 -154
- package/dist/tsembed-react.js +1206 -152
- package/dist/tsembed.es.js +1150 -101
- package/dist/tsembed.js +1148 -99
- package/dist/visual-embed-sdk-react-full.d.ts +1156 -55
- package/dist/visual-embed-sdk-react.d.ts +1156 -55
- package/dist/visual-embed-sdk.d.ts +1179 -60
- package/lib/package.json +3 -3
- package/lib/src/auth.d.ts +2 -1
- package/lib/src/auth.d.ts.map +1 -1
- package/lib/src/auth.js +2 -1
- package/lib/src/auth.js.map +1 -1
- package/lib/src/authToken.d.ts.map +1 -1
- package/lib/src/authToken.js.map +1 -1
- package/lib/src/css-variables.d.ts +87 -17
- package/lib/src/css-variables.d.ts.map +1 -1
- package/lib/src/embed/app.d.ts +41 -1
- package/lib/src/embed/app.d.ts.map +1 -1
- package/lib/src/embed/app.js +27 -38
- package/lib/src/embed/app.js.map +1 -1
- package/lib/src/embed/app.spec.js +35 -23
- package/lib/src/embed/app.spec.js.map +1 -1
- package/lib/src/embed/base.d.ts.map +1 -1
- package/lib/src/embed/base.js.map +1 -1
- package/lib/src/embed/base.spec.js.map +1 -1
- package/lib/src/embed/conversation.d.ts +23 -1
- package/lib/src/embed/conversation.d.ts.map +1 -1
- package/lib/src/embed/conversation.js +19 -34
- package/lib/src/embed/conversation.js.map +1 -1
- package/lib/src/embed/conversation.spec.js +131 -99
- package/lib/src/embed/conversation.spec.js.map +1 -1
- package/lib/src/embed/events.spec.js +73 -1
- package/lib/src/embed/events.spec.js.map +1 -1
- package/lib/src/embed/hostEventClient/contracts.d.ts +105 -3
- package/lib/src/embed/hostEventClient/contracts.d.ts.map +1 -1
- package/lib/src/embed/hostEventClient/contracts.js +9 -0
- package/lib/src/embed/hostEventClient/contracts.js.map +1 -1
- package/lib/src/embed/hostEventClient/host-event-client.d.ts +28 -0
- package/lib/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
- package/lib/src/embed/hostEventClient/host-event-client.js +106 -9
- package/lib/src/embed/hostEventClient/host-event-client.js.map +1 -1
- package/lib/src/embed/hostEventClient/host-event-client.spec.js +327 -6
- package/lib/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
- package/lib/src/embed/hostEventClient/utils.d.ts +22 -0
- package/lib/src/embed/hostEventClient/utils.d.ts.map +1 -0
- package/lib/src/embed/hostEventClient/utils.js +43 -0
- package/lib/src/embed/hostEventClient/utils.js.map +1 -0
- package/lib/src/embed/hostEventClient/utils.spec.d.ts +2 -0
- package/lib/src/embed/hostEventClient/utils.spec.d.ts.map +1 -0
- package/lib/src/embed/hostEventClient/utils.spec.js +113 -0
- package/lib/src/embed/hostEventClient/utils.spec.js.map +1 -0
- package/lib/src/embed/liveboard.d.ts +18 -0
- package/lib/src/embed/liveboard.d.ts.map +1 -1
- package/lib/src/embed/liveboard.js +10 -3
- package/lib/src/embed/liveboard.js.map +1 -1
- package/lib/src/embed/liveboard.spec.js +54 -2
- package/lib/src/embed/liveboard.spec.js.map +1 -1
- package/lib/src/embed/sage.d.ts.map +1 -1
- package/lib/src/embed/sage.js.map +1 -1
- package/lib/src/embed/search.spec.js.map +1 -1
- package/lib/src/embed/spotter-utils.d.ts +20 -0
- package/lib/src/embed/spotter-utils.d.ts.map +1 -0
- package/lib/src/embed/spotter-utils.js +47 -0
- package/lib/src/embed/spotter-utils.js.map +1 -0
- package/lib/src/embed/spotter-utils.spec.d.ts +2 -0
- package/lib/src/embed/spotter-utils.spec.d.ts.map +1 -0
- package/lib/src/embed/spotter-utils.spec.js +52 -0
- package/lib/src/embed/spotter-utils.spec.js.map +1 -0
- package/lib/src/embed/ts-embed.d.ts +41 -2
- package/lib/src/embed/ts-embed.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.js +55 -4
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/errors.d.ts +2 -0
- package/lib/src/errors.d.ts.map +1 -1
- package/lib/src/errors.js +2 -0
- package/lib/src/errors.js.map +1 -1
- package/lib/src/react/index.d.ts.map +1 -1
- package/lib/src/react/index.js +58 -53
- package/lib/src/react/index.js.map +1 -1
- package/lib/src/types.d.ts +832 -33
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js +835 -3
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils/graphql/answerService/answerService.d.ts +4 -2
- package/lib/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
- package/lib/src/utils/graphql/answerService/answerService.js +4 -2
- package/lib/src/utils/graphql/answerService/answerService.js.map +1 -1
- package/lib/src/utils/graphql/preview-service.d.ts.map +1 -1
- package/lib/src/utils/graphql/preview-service.js.map +1 -1
- package/lib/src/utils/processData.d.ts.map +1 -1
- package/lib/src/utils/processData.js.map +1 -1
- package/lib/src/utils.d.ts +0 -9
- package/lib/src/utils.d.ts.map +1 -1
- package/lib/src/utils.js +0 -8
- package/lib/src/utils.js.map +1 -1
- package/lib/src/visual-embed-sdk.d.ts +1179 -60
- package/package.json +3 -3
- package/src/auth.spec.ts +1 -1
- package/src/auth.ts +2 -1
- package/src/authToken.ts +0 -1
- package/src/css-variables.ts +96 -17
- package/src/embed/app.spec.ts +48 -30
- package/src/embed/app.ts +59 -54
- package/src/embed/base.spec.ts +1 -2
- package/src/embed/base.ts +1 -4
- package/src/embed/conversation.spec.ts +150 -119
- package/src/embed/conversation.ts +30 -54
- package/src/embed/events.spec.ts +88 -0
- package/src/embed/hostEventClient/contracts.ts +105 -2
- package/src/embed/hostEventClient/host-event-client.spec.ts +504 -6
- package/src/embed/hostEventClient/host-event-client.ts +146 -15
- package/src/embed/hostEventClient/utils.spec.ts +137 -0
- package/src/embed/hostEventClient/utils.ts +61 -0
- package/src/embed/liveboard.spec.ts +71 -2
- package/src/embed/liveboard.ts +29 -2
- package/src/embed/sage.ts +0 -1
- package/src/embed/search.spec.ts +0 -2
- package/src/embed/spotter-utils.spec.ts +56 -0
- package/src/embed/spotter-utils.ts +65 -0
- package/src/embed/ts-embed.ts +58 -4
- package/src/errors.ts +2 -0
- package/src/react/index.tsx +76 -72
- package/src/types.ts +843 -31
- package/src/utils/graphql/answerService/answerService.ts +4 -5
- package/src/utils/graphql/preview-service.ts +0 -1
- package/src/utils/processData.ts +0 -5
- package/src/utils.ts +0 -14
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
import { ContextType, HostEvent } from '../../types';
|
|
1
|
+
import { ContextType, HostEvent, RuntimeFilter } from '../../types';
|
|
2
|
+
import { SessionInterface } from '../../utils/graphql/answerService/answerService';
|
|
3
|
+
export interface LiveboardTab {
|
|
4
|
+
id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
[key: string]: any;
|
|
7
|
+
}
|
|
2
8
|
export declare enum UIPassthroughEvent {
|
|
3
9
|
PinAnswerToLiveboard = "addVizToPinboard",
|
|
4
10
|
SaveAnswer = "saveAnswer",
|
|
@@ -6,7 +12,16 @@ export declare enum UIPassthroughEvent {
|
|
|
6
12
|
GetAvailableUIPassthroughs = "getAvailableUiPassthroughs",
|
|
7
13
|
GetAnswerConfig = "getAnswerPageConfig",
|
|
8
14
|
GetLiveboardConfig = "getPinboardPageConfig",
|
|
9
|
-
GetUnsavedAnswerTML = "getUnsavedAnswerTML"
|
|
15
|
+
GetUnsavedAnswerTML = "getUnsavedAnswerTML",
|
|
16
|
+
UpdateFilters = "updateFilters",
|
|
17
|
+
Drilldown = "drillDown",
|
|
18
|
+
GetAnswerSession = "getAnswerSession",
|
|
19
|
+
GetFilters = "getFilters",
|
|
20
|
+
GetIframeUrl = "getIframeUrl",
|
|
21
|
+
GetParameters = "getParameters",
|
|
22
|
+
GetTML = "getTML",
|
|
23
|
+
GetTabs = "getTabs",
|
|
24
|
+
GetExportRequestForCurrentPinboard = "getExportRequestForCurrentPinboard"
|
|
10
25
|
}
|
|
11
26
|
export type UIPassthroughContractBase = {
|
|
12
27
|
[UIPassthroughEvent.PinAnswerToLiveboard]: {
|
|
@@ -70,17 +85,104 @@ export type UIPassthroughContractBase = {
|
|
|
70
85
|
tml: string;
|
|
71
86
|
};
|
|
72
87
|
};
|
|
88
|
+
[UIPassthroughEvent.GetAnswerSession]: {
|
|
89
|
+
request: {
|
|
90
|
+
vizId?: string;
|
|
91
|
+
};
|
|
92
|
+
response: {
|
|
93
|
+
session: SessionInterface;
|
|
94
|
+
embedAnswerData?: Record<string, any>;
|
|
95
|
+
};
|
|
96
|
+
};
|
|
97
|
+
[UIPassthroughEvent.GetFilters]: {
|
|
98
|
+
request: {
|
|
99
|
+
vizId?: string;
|
|
100
|
+
};
|
|
101
|
+
response: {
|
|
102
|
+
liveboardFilters: Record<string, any>[];
|
|
103
|
+
runtimeFilters: RuntimeFilter[];
|
|
104
|
+
};
|
|
105
|
+
};
|
|
106
|
+
[UIPassthroughEvent.GetIframeUrl]: {
|
|
107
|
+
request: Record<string, never>;
|
|
108
|
+
response: {
|
|
109
|
+
iframeUrl: string;
|
|
110
|
+
};
|
|
111
|
+
};
|
|
112
|
+
[UIPassthroughEvent.GetParameters]: {
|
|
113
|
+
request: Record<string, never>;
|
|
114
|
+
response: {
|
|
115
|
+
parameters: Record<string, any>[];
|
|
116
|
+
};
|
|
117
|
+
};
|
|
118
|
+
[UIPassthroughEvent.GetTML]: {
|
|
119
|
+
request: {
|
|
120
|
+
vizId?: string;
|
|
121
|
+
includeNonExecutedSearchTokens?: boolean;
|
|
122
|
+
};
|
|
123
|
+
response: Record<string, any>;
|
|
124
|
+
};
|
|
125
|
+
[UIPassthroughEvent.GetTabs]: {
|
|
126
|
+
request: Record<string, never>;
|
|
127
|
+
response: {
|
|
128
|
+
orderedTabIds: string[];
|
|
129
|
+
numberOfTabs: number;
|
|
130
|
+
Tabs: LiveboardTab[];
|
|
131
|
+
};
|
|
132
|
+
};
|
|
133
|
+
[UIPassthroughEvent.GetExportRequestForCurrentPinboard]: {
|
|
134
|
+
request: Record<string, never>;
|
|
135
|
+
response: {
|
|
136
|
+
v2Content: string;
|
|
137
|
+
};
|
|
138
|
+
};
|
|
139
|
+
[UIPassthroughEvent.UpdateFilters]: {
|
|
140
|
+
request: {
|
|
141
|
+
filter?: {
|
|
142
|
+
column: string;
|
|
143
|
+
oper: string;
|
|
144
|
+
values: string[];
|
|
145
|
+
type?: string;
|
|
146
|
+
};
|
|
147
|
+
filters?: {
|
|
148
|
+
column: string;
|
|
149
|
+
oper: string;
|
|
150
|
+
values: string[];
|
|
151
|
+
type?: string;
|
|
152
|
+
}[];
|
|
153
|
+
};
|
|
154
|
+
response: unknown;
|
|
155
|
+
};
|
|
156
|
+
[UIPassthroughEvent.Drilldown]: {
|
|
157
|
+
request: {
|
|
158
|
+
points: {
|
|
159
|
+
selectedPoints?: string[];
|
|
160
|
+
clickedPoint?: string;
|
|
161
|
+
};
|
|
162
|
+
columnGuid?: string;
|
|
163
|
+
autoDrillDown?: boolean;
|
|
164
|
+
vizId?: string;
|
|
165
|
+
};
|
|
166
|
+
response: unknown;
|
|
167
|
+
};
|
|
73
168
|
};
|
|
74
169
|
export type UIPassthroughRequest<T extends keyof UIPassthroughContractBase> = UIPassthroughContractBase[T]['request'];
|
|
75
170
|
export type UIPassthroughResponse<T extends keyof UIPassthroughContractBase> = UIPassthroughContractBase[T]['response'];
|
|
76
171
|
export type UIPassthroughArrayResponse<ApiName extends keyof UIPassthroughContractBase> = Array<{
|
|
77
|
-
|
|
172
|
+
refId?: string;
|
|
78
173
|
value?: UIPassthroughResponse<ApiName>;
|
|
79
174
|
error?: any;
|
|
80
175
|
}>;
|
|
81
176
|
export type EmbedApiHostEventMapping = {
|
|
82
177
|
[HostEvent.Pin]: UIPassthroughEvent.PinAnswerToLiveboard;
|
|
83
178
|
[HostEvent.SaveAnswer]: UIPassthroughEvent.SaveAnswer;
|
|
179
|
+
[HostEvent.GetAnswerSession]: UIPassthroughEvent.GetAnswerSession;
|
|
180
|
+
[HostEvent.GetFilters]: UIPassthroughEvent.GetFilters;
|
|
181
|
+
[HostEvent.GetIframeUrl]: UIPassthroughEvent.GetIframeUrl;
|
|
182
|
+
[HostEvent.GetParameters]: UIPassthroughEvent.GetParameters;
|
|
183
|
+
[HostEvent.GetTML]: UIPassthroughEvent.GetTML;
|
|
184
|
+
[HostEvent.GetTabs]: UIPassthroughEvent.GetTabs;
|
|
185
|
+
[HostEvent.getExportRequestForCurrentPinboard]: UIPassthroughEvent.GetExportRequestForCurrentPinboard;
|
|
84
186
|
};
|
|
85
187
|
export type HostEventRequest<HostEventT extends HostEvent> = HostEventT extends keyof EmbedApiHostEventMapping ? UIPassthroughRequest<EmbedApiHostEventMapping[HostEventT]> : any;
|
|
86
188
|
export type HostEventResponse<HostEventT extends HostEvent, ContextT extends ContextType> = HostEventT extends keyof EmbedApiHostEventMapping ? UIPassthroughResponse<EmbedApiHostEventMapping[HostEventT]> : any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../../src/embed/hostEventClient/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../../src/embed/hostEventClient/contracts.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,5 +11,14 @@ var UIPassthroughEvent;
|
|
|
11
11
|
UIPassthroughEvent["GetAnswerConfig"] = "getAnswerPageConfig";
|
|
12
12
|
UIPassthroughEvent["GetLiveboardConfig"] = "getPinboardPageConfig";
|
|
13
13
|
UIPassthroughEvent["GetUnsavedAnswerTML"] = "getUnsavedAnswerTML";
|
|
14
|
+
UIPassthroughEvent["UpdateFilters"] = "updateFilters";
|
|
15
|
+
UIPassthroughEvent["Drilldown"] = "drillDown";
|
|
16
|
+
UIPassthroughEvent["GetAnswerSession"] = "getAnswerSession";
|
|
17
|
+
UIPassthroughEvent["GetFilters"] = "getFilters";
|
|
18
|
+
UIPassthroughEvent["GetIframeUrl"] = "getIframeUrl";
|
|
19
|
+
UIPassthroughEvent["GetParameters"] = "getParameters";
|
|
20
|
+
UIPassthroughEvent["GetTML"] = "getTML";
|
|
21
|
+
UIPassthroughEvent["GetTabs"] = "getTabs";
|
|
22
|
+
UIPassthroughEvent["GetExportRequestForCurrentPinboard"] = "getExportRequestForCurrentPinboard";
|
|
14
23
|
})(UIPassthroughEvent = exports.UIPassthroughEvent || (exports.UIPassthroughEvent = {}));
|
|
15
24
|
//# sourceMappingURL=contracts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../../../src/embed/hostEventClient/contracts.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../../../src/embed/hostEventClient/contracts.ts"],"names":[],"mappings":";;;AAAA,uCAAoE;AASpE,IAAY,kBAiBX;AAjBD,WAAY,kBAAkB;IAC5B,+DAAyC,CAAA;IACzC,+CAAyB,CAAA;IACzB,2EAAqD,CAAA;IACrD,+EAAyD,CAAA;IACzD,6DAAuC,CAAA;IACvC,kEAA4C,CAAA;IAC5C,iEAA2C,CAAA;IAC3C,qDAA+B,CAAA;IAC/B,6CAAuB,CAAA;IACvB,2DAAqC,CAAA;IACrC,+CAAyB,CAAA;IACzB,mDAA6B,CAAA;IAC7B,qDAA+B,CAAA;IAC/B,uCAAiB,CAAA;IACjB,yCAAmB,CAAA;IACnB,+FAAyE,CAAA;AAC3E,CAAC,EAjBW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAiB7B"}
|
|
@@ -2,6 +2,12 @@ import { ContextType, HostEvent } from '../../types';
|
|
|
2
2
|
import { UIPassthroughArrayResponse, UIPassthroughEvent, HostEventRequest, HostEventResponse, UIPassthroughRequest, UIPassthroughResponse, TriggerPayload, TriggerResponse } from './contracts';
|
|
3
3
|
export declare class HostEventClient {
|
|
4
4
|
iFrame: HTMLIFrameElement;
|
|
5
|
+
/** Cached list of available UI passthrough keys from the embedded app */
|
|
6
|
+
private availablePassthroughKeysCache;
|
|
7
|
+
/** Host events with custom handlers
|
|
8
|
+
* (setters or special logic) -
|
|
9
|
+
* bound to instance for protected method access */
|
|
10
|
+
private readonly customHandlers;
|
|
5
11
|
constructor(iFrame?: HTMLIFrameElement);
|
|
6
12
|
/**
|
|
7
13
|
* A wrapper over process trigger to
|
|
@@ -12,14 +18,36 @@ export declare class HostEventClient {
|
|
|
12
18
|
protected processTrigger(message: HostEvent, data: any, context?: ContextType): Promise<any>;
|
|
13
19
|
handleHostEventWithParam<UIPassthroughEventT extends UIPassthroughEvent>(apiName: UIPassthroughEventT, parameters: UIPassthroughRequest<UIPassthroughEventT>, context?: ContextType): Promise<UIPassthroughResponse<UIPassthroughEventT>>;
|
|
14
20
|
hostEventFallback(hostEvent: HostEvent, data: any, context?: ContextType): Promise<any>;
|
|
21
|
+
/**
|
|
22
|
+
* For getter events that return data. Tries UI passthrough first;
|
|
23
|
+
* if the app doesn't support it (no response data), falls back to
|
|
24
|
+
* the legacy host event channel. Real errors are thrown as-is.
|
|
25
|
+
*/
|
|
26
|
+
private getDataWithPassthroughFallback;
|
|
15
27
|
/**
|
|
16
28
|
* Setter for the iframe element used for host events
|
|
17
29
|
* @param {HTMLIFrameElement} iFrame - the iframe element to set
|
|
18
30
|
*/
|
|
19
31
|
setIframeElement(iFrame: HTMLIFrameElement): void;
|
|
32
|
+
/**
|
|
33
|
+
* Fetches the list of available UI passthrough keys from the embedded app.
|
|
34
|
+
* Result is cached for the session. Returns empty array on failure.
|
|
35
|
+
*/
|
|
36
|
+
private getAvailableUIPassthroughKeys;
|
|
20
37
|
triggerUIPassthroughApi<UIPassthroughEventT extends UIPassthroughEvent>(apiName: UIPassthroughEventT, parameters: UIPassthroughRequest<UIPassthroughEventT>, context?: ContextType): Promise<UIPassthroughArrayResponse<UIPassthroughEventT>>;
|
|
21
38
|
protected handlePinEvent(payload: HostEventRequest<HostEvent.Pin>, context?: ContextType): Promise<HostEventResponse<HostEvent.Pin, ContextType>>;
|
|
22
39
|
protected handleSaveAnswerEvent(payload: HostEventRequest<HostEvent.SaveAnswer>, context?: ContextType): Promise<any>;
|
|
40
|
+
protected handleUpdateFiltersEvent(payload: HostEventRequest<HostEvent.UpdateFilters>, context?: ContextType): Promise<any>;
|
|
41
|
+
protected handleDrillDownEvent(payload: HostEventRequest<HostEvent.DrillDown>, context?: ContextType): Promise<any>;
|
|
42
|
+
/**
|
|
43
|
+
* Dispatches a host event using the appropriate channel:
|
|
44
|
+
* 1. If the embedded app supports UI passthrough for this event, use it (custom handler or getter).
|
|
45
|
+
* 2. Otherwise fall back to the legacy host event channel.
|
|
46
|
+
*
|
|
47
|
+
* @param hostEvent - The host event to trigger
|
|
48
|
+
* @param payload - Optional payload for the event
|
|
49
|
+
* @param context - Optional context (e.g. vizId) for scoped operations
|
|
50
|
+
*/
|
|
23
51
|
triggerHostEvent<HostEventT extends HostEvent, PayloadT, ContextT extends ContextType>(hostEvent: HostEventT, payload?: TriggerPayload<PayloadT, HostEventT>, context?: ContextT): Promise<TriggerResponse<PayloadT, HostEventT, ContextType>>;
|
|
24
52
|
}
|
|
25
53
|
//# 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,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"host-event-client.d.ts","sourceRoot":"","sources":["../../../../src/embed/hostEventClient/host-event-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AASrD,OAAO,EACH,0BAA0B,EAC1B,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,eAAe,EAClB,MAAM,aAAa,CAAC;AAuBrB,qBAAa,eAAe;IAC1B,MAAM,EAAE,iBAAiB,CAAC;IAE1B,yEAAyE;IACzE,OAAO,CAAC,6BAA6B,CAAyB;IAE9D;;uDAEmD;IACnD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAE7B;gBAEU,MAAM,CAAC,EAAE,iBAAiB;IAUtC;;;;;OAKG;cACa,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC;IAerF,wBAAwB,CAAC,mBAAmB,SAAS,kBAAkB,EAChF,OAAO,EAAE,mBAAmB,EAC5B,UAAU,EAAE,oBAAoB,CAAC,mBAAmB,CAAC,EACrD,OAAO,CAAC,EAAE,WAAW,GACtB,OAAO,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;IAqBzC,iBAAiB,CAC1B,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,GAAG,EACT,OAAO,CAAC,EAAE,WAAW,GACtB,OAAO,CAAC,GAAG,CAAC;IAIf;;;;OAIG;YACW,8BAA8B;IAyB5C;;;OAGG;IACI,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAIxD;;;OAGG;YACW,6BAA6B;IAiB9B,uBAAuB,CAAC,mBAAmB,SAAS,kBAAkB,EAC/E,OAAO,EAAE,mBAAmB,EAC5B,UAAU,EAAE,oBAAoB,CAAC,mBAAmB,CAAC,EACrD,OAAO,CAAC,EAAE,WAAW,GACtB,OAAO,CAAC,0BAA0B,CAAC,mBAAmB,CAAC,CAAC;cAS3C,cAAc,CAC1B,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,EACxC,OAAO,CAAC,EAAE,WAAW,GACtB,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;cAsBzC,qBAAqB,CACjC,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC,UAAU,CAAC,EAC/C,OAAO,CAAC,EAAE,WAAW,GACtB,OAAO,CAAC,GAAG,CAAC;IAgBf,SAAS,CAAC,wBAAwB,CAChC,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC,aAAa,CAAC,EAClD,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,GAAG,CAAC;IAQf,SAAS,CAAC,oBAAoB,CAC5B,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC,SAAS,CAAC,EAC9C,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,GAAG,CAAC;IAQf;;;;;;;;OAQG;IACU,gBAAgB,CAC3B,UAAU,SAAS,SAAS,EAC5B,QAAQ,EACR,QAAQ,SAAS,WAAW,EAE1B,SAAS,EAAE,UAAU,EACrB,OAAO,CAAC,EAAE,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC,EAC9C,OAAO,CAAC,EAAE,QAAQ,GACnB,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;CAkB/D"}
|
|
@@ -4,10 +4,39 @@ exports.HostEventClient = void 0;
|
|
|
4
4
|
const types_1 = require("../../types");
|
|
5
5
|
const processTrigger_1 = require("../../utils/processTrigger");
|
|
6
6
|
const embedConfig_1 = require("../embedConfig");
|
|
7
|
+
const utils_1 = require("./utils");
|
|
7
8
|
const contracts_1 = require("./contracts");
|
|
9
|
+
/**
|
|
10
|
+
* Maps HostEvent to its corresponding UIPassthroughEvent.
|
|
11
|
+
* Includes both custom-handler events (Pin, SaveAnswer, UpdateFilters, DrillDown)
|
|
12
|
+
* and getter events (GetAnswerSession, GetFilters, etc.) that use getDataWithPassthroughFallback.
|
|
13
|
+
*/
|
|
14
|
+
const PASSTHROUGH_MAP = {
|
|
15
|
+
// Custom handlers (setters with special logic)
|
|
16
|
+
[types_1.HostEvent.Pin]: contracts_1.UIPassthroughEvent.PinAnswerToLiveboard,
|
|
17
|
+
[types_1.HostEvent.SaveAnswer]: contracts_1.UIPassthroughEvent.SaveAnswer,
|
|
18
|
+
[types_1.HostEvent.UpdateFilters]: contracts_1.UIPassthroughEvent.UpdateFilters,
|
|
19
|
+
[types_1.HostEvent.DrillDown]: contracts_1.UIPassthroughEvent.Drilldown,
|
|
20
|
+
// Getters (use getDataWithPassthroughFallback)
|
|
21
|
+
[types_1.HostEvent.GetAnswerSession]: contracts_1.UIPassthroughEvent.GetAnswerSession,
|
|
22
|
+
[types_1.HostEvent.GetFilters]: contracts_1.UIPassthroughEvent.GetFilters,
|
|
23
|
+
[types_1.HostEvent.GetIframeUrl]: contracts_1.UIPassthroughEvent.GetIframeUrl,
|
|
24
|
+
[types_1.HostEvent.GetParameters]: contracts_1.UIPassthroughEvent.GetParameters,
|
|
25
|
+
[types_1.HostEvent.GetTML]: contracts_1.UIPassthroughEvent.GetTML,
|
|
26
|
+
[types_1.HostEvent.GetTabs]: contracts_1.UIPassthroughEvent.GetTabs,
|
|
27
|
+
[types_1.HostEvent.getExportRequestForCurrentPinboard]: contracts_1.UIPassthroughEvent.GetExportRequestForCurrentPinboard,
|
|
28
|
+
};
|
|
8
29
|
class HostEventClient {
|
|
9
30
|
constructor(iFrame) {
|
|
31
|
+
/** Cached list of available UI passthrough keys from the embedded app */
|
|
32
|
+
this.availablePassthroughKeysCache = null;
|
|
10
33
|
this.iFrame = iFrame;
|
|
34
|
+
this.customHandlers = {
|
|
35
|
+
[types_1.HostEvent.Pin]: (p, c) => this.handlePinEvent(p, c),
|
|
36
|
+
[types_1.HostEvent.SaveAnswer]: (p, c) => this.handleSaveAnswerEvent(p, c),
|
|
37
|
+
[types_1.HostEvent.UpdateFilters]: (p, c) => this.handleUpdateFiltersEvent(p, c),
|
|
38
|
+
[types_1.HostEvent.DrillDown]: (p, c) => this.handleDrillDownEvent(p, c),
|
|
39
|
+
};
|
|
11
40
|
}
|
|
12
41
|
/**
|
|
13
42
|
* A wrapper over process trigger to
|
|
@@ -24,7 +53,7 @@ class HostEventClient {
|
|
|
24
53
|
}
|
|
25
54
|
async handleHostEventWithParam(apiName, parameters, context) {
|
|
26
55
|
var _a, _b, _c, _d;
|
|
27
|
-
const response = (_b = (_a = (await this.triggerUIPassthroughApi(apiName, parameters, context))) === null || _a === void 0 ? void 0 : _a.
|
|
56
|
+
const response = (_b = (_a = (await this.triggerUIPassthroughApi(apiName, parameters, context))) === null || _a === void 0 ? void 0 : _a.find) === null || _b === void 0 ? void 0 : _b.call(_a, (r) => r.error || r.value);
|
|
28
57
|
if (!response) {
|
|
29
58
|
const error = `No answer found${parameters.vizId ? ` for vizId: ${parameters.vizId}` : ''}.`;
|
|
30
59
|
throw { error };
|
|
@@ -33,13 +62,35 @@ class HostEventClient {
|
|
|
33
62
|
|| ((_c = response.value) === null || _c === void 0 ? void 0 : _c.errors)
|
|
34
63
|
|| ((_d = response.value) === null || _d === void 0 ? void 0 : _d.error);
|
|
35
64
|
if (errors) {
|
|
36
|
-
|
|
65
|
+
const message = typeof errors === 'string' ? errors : JSON.stringify(errors);
|
|
66
|
+
throw { error: message };
|
|
37
67
|
}
|
|
38
68
|
return { ...response.value };
|
|
39
69
|
}
|
|
40
70
|
async hostEventFallback(hostEvent, data, context) {
|
|
41
71
|
return this.processTrigger(hostEvent, data, context);
|
|
42
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* For getter events that return data. Tries UI passthrough first;
|
|
75
|
+
* if the app doesn't support it (no response data), falls back to
|
|
76
|
+
* the legacy host event channel. Real errors are thrown as-is.
|
|
77
|
+
*/
|
|
78
|
+
async getDataWithPassthroughFallback(passthroughEvent, hostEvent, payload, context) {
|
|
79
|
+
var _a, _b, _c;
|
|
80
|
+
const response = await this.triggerUIPassthroughApi(passthroughEvent, payload || {}, context);
|
|
81
|
+
const matched = (_a = response === null || response === void 0 ? void 0 : response.find) === null || _a === void 0 ? void 0 : _a.call(response, (r) => r.error || r.value);
|
|
82
|
+
if (!matched) {
|
|
83
|
+
return this.hostEventFallback(hostEvent, payload, context);
|
|
84
|
+
}
|
|
85
|
+
const errors = matched.error
|
|
86
|
+
|| ((_b = matched.value) === null || _b === void 0 ? void 0 : _b.errors)
|
|
87
|
+
|| ((_c = matched.value) === null || _c === void 0 ? void 0 : _c.error);
|
|
88
|
+
if (errors) {
|
|
89
|
+
const message = typeof errors === 'string' ? errors : JSON.stringify(errors);
|
|
90
|
+
throw new Error(message);
|
|
91
|
+
}
|
|
92
|
+
return { ...matched.value };
|
|
93
|
+
}
|
|
43
94
|
/**
|
|
44
95
|
* Setter for the iframe element used for host events
|
|
45
96
|
* @param {HTMLIFrameElement} iFrame - the iframe element to set
|
|
@@ -47,6 +98,26 @@ class HostEventClient {
|
|
|
47
98
|
setIframeElement(iFrame) {
|
|
48
99
|
this.iFrame = iFrame;
|
|
49
100
|
}
|
|
101
|
+
/**
|
|
102
|
+
* Fetches the list of available UI passthrough keys from the embedded app.
|
|
103
|
+
* Result is cached for the session. Returns empty array on failure.
|
|
104
|
+
*/
|
|
105
|
+
async getAvailableUIPassthroughKeys(context) {
|
|
106
|
+
var _a, _b;
|
|
107
|
+
if (this.availablePassthroughKeysCache !== null) {
|
|
108
|
+
return this.availablePassthroughKeysCache;
|
|
109
|
+
}
|
|
110
|
+
try {
|
|
111
|
+
const response = await this.triggerUIPassthroughApi(contracts_1.UIPassthroughEvent.GetAvailableUIPassthroughs, {}, context);
|
|
112
|
+
const matched = (_a = response === null || response === void 0 ? void 0 : response.find) === null || _a === void 0 ? void 0 : _a.call(response, (r) => r.value && !r.error);
|
|
113
|
+
const keys = (_b = matched === null || matched === void 0 ? void 0 : matched.value) === null || _b === void 0 ? void 0 : _b.keys;
|
|
114
|
+
this.availablePassthroughKeysCache = Array.isArray(keys) ? keys : [];
|
|
115
|
+
return this.availablePassthroughKeysCache;
|
|
116
|
+
}
|
|
117
|
+
catch {
|
|
118
|
+
return [];
|
|
119
|
+
}
|
|
120
|
+
}
|
|
50
121
|
async triggerUIPassthroughApi(apiName, parameters, context) {
|
|
51
122
|
const res = await this.processTrigger(types_1.HostEvent.UIPassthrough, {
|
|
52
123
|
type: apiName,
|
|
@@ -82,15 +153,41 @@ class HostEventClient {
|
|
|
82
153
|
answerId: (_d = (_c = (_b = (_a = data === null || data === void 0 ? void 0 : data.saveResponse) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.Answer__save) === null || _c === void 0 ? void 0 : _c.answer) === null || _d === void 0 ? void 0 : _d.id,
|
|
83
154
|
};
|
|
84
155
|
}
|
|
156
|
+
handleUpdateFiltersEvent(payload, context) {
|
|
157
|
+
if (!(0, utils_1.isValidUpdateFiltersPayload)(payload)) {
|
|
158
|
+
(0, utils_1.throwUpdateFiltersValidationError)();
|
|
159
|
+
}
|
|
160
|
+
return this.handleHostEventWithParam(contracts_1.UIPassthroughEvent.UpdateFilters, payload, context);
|
|
161
|
+
}
|
|
162
|
+
handleDrillDownEvent(payload, context) {
|
|
163
|
+
if (!(0, utils_1.isValidDrillDownPayload)(payload)) {
|
|
164
|
+
(0, utils_1.throwDrillDownValidationError)();
|
|
165
|
+
}
|
|
166
|
+
return this.handleHostEventWithParam(contracts_1.UIPassthroughEvent.Drilldown, payload, context);
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Dispatches a host event using the appropriate channel:
|
|
170
|
+
* 1. If the embedded app supports UI passthrough for this event, use it (custom handler or getter).
|
|
171
|
+
* 2. Otherwise fall back to the legacy host event channel.
|
|
172
|
+
*
|
|
173
|
+
* @param hostEvent - The host event to trigger
|
|
174
|
+
* @param payload - Optional payload for the event
|
|
175
|
+
* @param context - Optional context (e.g. vizId) for scoped operations
|
|
176
|
+
*/
|
|
85
177
|
async triggerHostEvent(hostEvent, payload, context) {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
return this.hostEventFallback(hostEvent, payload, context);
|
|
178
|
+
const customHandler = this.customHandlers[hostEvent];
|
|
179
|
+
const passthroughEvent = PASSTHROUGH_MAP[hostEvent];
|
|
180
|
+
// If embedded app supports passthrough but not this event, use legacy channel
|
|
181
|
+
const keys = passthroughEvent ? await this.getAvailableUIPassthroughKeys(context) : [];
|
|
182
|
+
if (passthroughEvent && keys.length > 0 && !keys.includes(passthroughEvent)) {
|
|
183
|
+
return this.hostEventFallback(hostEvent, payload, context);
|
|
93
184
|
}
|
|
185
|
+
// Custom handler (setters) > getter passthrough > legacy fallback
|
|
186
|
+
return (customHandler
|
|
187
|
+
? customHandler(payload, context)
|
|
188
|
+
: passthroughEvent
|
|
189
|
+
? this.getDataWithPassthroughFallback(passthroughEvent, hostEvent, payload, context)
|
|
190
|
+
: this.hostEventFallback(hostEvent, payload, context));
|
|
94
191
|
}
|
|
95
192
|
}
|
|
96
193
|
exports.HostEventClient = HostEventClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-event-client.js","sourceRoot":"","sources":["../../../../src/embed/hostEventClient/host-event-client.ts"],"names":[],"mappings":";;;AAAA,uCAAqD;AACrD,+DAAqF;AACrF,gDAAgD;AAChD,
|
|
1
|
+
{"version":3,"file":"host-event-client.js","sourceRoot":"","sources":["../../../../src/embed/hostEventClient/host-event-client.ts"],"names":[],"mappings":"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"}
|