@thoughtspot/visual-embed-sdk 1.48.0 → 1.49.0

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 (201) hide show
  1. package/cjs/package.json +1 -1
  2. package/cjs/src/css-variables.d.ts +140 -0
  3. package/cjs/src/css-variables.d.ts.map +1 -1
  4. package/cjs/src/embed/app.d.ts +62 -1
  5. package/cjs/src/embed/app.d.ts.map +1 -1
  6. package/cjs/src/embed/app.js +57 -6
  7. package/cjs/src/embed/app.js.map +1 -1
  8. package/cjs/src/embed/app.spec.js +191 -1
  9. package/cjs/src/embed/app.spec.js.map +1 -1
  10. package/cjs/src/embed/auto-frame-renderer.js +7 -2
  11. package/cjs/src/embed/auto-frame-renderer.js.map +1 -1
  12. package/cjs/src/embed/auto-frame-renderer.spec.js +385 -6
  13. package/cjs/src/embed/auto-frame-renderer.spec.js.map +1 -1
  14. package/cjs/src/embed/base.d.ts +1 -0
  15. package/cjs/src/embed/base.d.ts.map +1 -1
  16. package/cjs/src/embed/base.js +13 -1
  17. package/cjs/src/embed/base.js.map +1 -1
  18. package/cjs/src/embed/base.spec.js +21 -0
  19. package/cjs/src/embed/base.spec.js.map +1 -1
  20. package/cjs/src/embed/bodyless-conversation.spec.js +86 -0
  21. package/cjs/src/embed/bodyless-conversation.spec.js.map +1 -1
  22. package/cjs/src/embed/conversation.d.ts +16 -1
  23. package/cjs/src/embed/conversation.d.ts.map +1 -1
  24. package/cjs/src/embed/conversation.js +5 -1
  25. package/cjs/src/embed/conversation.js.map +1 -1
  26. package/cjs/src/embed/conversation.spec.js +26 -0
  27. package/cjs/src/embed/conversation.spec.js.map +1 -1
  28. package/cjs/src/embed/liveboard.d.ts +47 -1
  29. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  30. package/cjs/src/embed/liveboard.js +47 -6
  31. package/cjs/src/embed/liveboard.js.map +1 -1
  32. package/cjs/src/embed/liveboard.spec.js +129 -1
  33. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  34. package/cjs/src/embed/spotter-viz-utils.d.ts +85 -0
  35. package/cjs/src/embed/spotter-viz-utils.d.ts.map +1 -0
  36. package/cjs/src/embed/spotter-viz-utils.js +17 -0
  37. package/cjs/src/embed/spotter-viz-utils.js.map +1 -0
  38. package/cjs/src/embed/spotter-viz-utils.spec.d.ts +2 -0
  39. package/cjs/src/embed/spotter-viz-utils.spec.d.ts.map +1 -0
  40. package/cjs/src/embed/spotter-viz-utils.spec.js +31 -0
  41. package/cjs/src/embed/spotter-viz-utils.spec.js.map +1 -0
  42. package/cjs/src/embed/ts-embed.d.ts +58 -38
  43. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  44. package/cjs/src/embed/ts-embed.js +245 -149
  45. package/cjs/src/embed/ts-embed.js.map +1 -1
  46. package/cjs/src/embed/ts-embed.spec.js +369 -123
  47. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  48. package/cjs/src/index.d.ts +2 -1
  49. package/cjs/src/index.d.ts.map +1 -1
  50. package/cjs/src/index.js.map +1 -1
  51. package/cjs/src/react/index.d.ts.map +1 -1
  52. package/cjs/src/react/index.js +3 -0
  53. package/cjs/src/react/index.js.map +1 -1
  54. package/cjs/src/types.d.ts +267 -27
  55. package/cjs/src/types.d.ts.map +1 -1
  56. package/cjs/src/types.js +223 -19
  57. package/cjs/src/types.js.map +1 -1
  58. package/cjs/src/utils/authService/tokenizedAuthService.spec.js +6 -7
  59. package/cjs/src/utils/authService/tokenizedAuthService.spec.js.map +1 -1
  60. package/cjs/src/utils/logger.js +2 -1
  61. package/cjs/src/utils/logger.js.map +1 -1
  62. package/cjs/src/utils/logger.spec.d.ts +1 -0
  63. package/cjs/src/utils/logger.spec.d.ts.map +1 -1
  64. package/cjs/src/utils/logger.spec.js +10 -9
  65. package/cjs/src/utils/logger.spec.js.map +1 -1
  66. package/cjs/src/utils.d.ts +4 -1
  67. package/cjs/src/utils.d.ts.map +1 -1
  68. package/cjs/src/utils.js +107 -10
  69. package/cjs/src/utils.js.map +1 -1
  70. package/cjs/src/utils.spec.js +163 -4
  71. package/cjs/src/utils.spec.js.map +1 -1
  72. package/dist/{index-Ck-r09gt.js → index-_UGCSSDR.js} +1 -1
  73. package/dist/src/css-variables.d.ts +140 -0
  74. package/dist/src/css-variables.d.ts.map +1 -1
  75. package/dist/src/embed/app.d.ts +62 -1
  76. package/dist/src/embed/app.d.ts.map +1 -1
  77. package/dist/src/embed/base.d.ts +1 -0
  78. package/dist/src/embed/base.d.ts.map +1 -1
  79. package/dist/src/embed/conversation.d.ts +16 -1
  80. package/dist/src/embed/conversation.d.ts.map +1 -1
  81. package/dist/src/embed/liveboard.d.ts +47 -1
  82. package/dist/src/embed/liveboard.d.ts.map +1 -1
  83. package/dist/src/embed/spotter-viz-utils.d.ts +85 -0
  84. package/dist/src/embed/spotter-viz-utils.d.ts.map +1 -0
  85. package/dist/src/embed/spotter-viz-utils.spec.d.ts +2 -0
  86. package/dist/src/embed/spotter-viz-utils.spec.d.ts.map +1 -0
  87. package/dist/src/embed/ts-embed.d.ts +58 -38
  88. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  89. package/dist/src/index.d.ts +2 -1
  90. package/dist/src/index.d.ts.map +1 -1
  91. package/dist/src/react/index.d.ts.map +1 -1
  92. package/dist/src/types.d.ts +267 -27
  93. package/dist/src/types.d.ts.map +1 -1
  94. package/dist/src/utils/logger.spec.d.ts +1 -0
  95. package/dist/src/utils/logger.spec.d.ts.map +1 -1
  96. package/dist/src/utils.d.ts +4 -1
  97. package/dist/src/utils.d.ts.map +1 -1
  98. package/dist/tsembed-react.es.js +3708 -3226
  99. package/dist/tsembed-react.js +3358 -2876
  100. package/dist/tsembed.es.js +3713 -3229
  101. package/dist/tsembed.js +3708 -3224
  102. package/dist/visual-embed-sdk-react-full.d.ts +643 -63
  103. package/dist/visual-embed-sdk-react.d.ts +643 -63
  104. package/dist/visual-embed-sdk.d.ts +658 -65
  105. package/lib/package.json +1 -1
  106. package/lib/src/css-variables.d.ts +140 -0
  107. package/lib/src/css-variables.d.ts.map +1 -1
  108. package/lib/src/embed/app.d.ts +62 -1
  109. package/lib/src/embed/app.d.ts.map +1 -1
  110. package/lib/src/embed/app.js +58 -7
  111. package/lib/src/embed/app.js.map +1 -1
  112. package/lib/src/embed/app.spec.js +192 -2
  113. package/lib/src/embed/app.spec.js.map +1 -1
  114. package/lib/src/embed/auto-frame-renderer.js +7 -2
  115. package/lib/src/embed/auto-frame-renderer.js.map +1 -1
  116. package/lib/src/embed/auto-frame-renderer.spec.js +387 -8
  117. package/lib/src/embed/auto-frame-renderer.spec.js.map +1 -1
  118. package/lib/src/embed/base.d.ts +1 -0
  119. package/lib/src/embed/base.d.ts.map +1 -1
  120. package/lib/src/embed/base.js +11 -0
  121. package/lib/src/embed/base.js.map +1 -1
  122. package/lib/src/embed/base.spec.js +22 -1
  123. package/lib/src/embed/base.spec.js.map +1 -1
  124. package/lib/src/embed/bodyless-conversation.spec.js +86 -0
  125. package/lib/src/embed/bodyless-conversation.spec.js.map +1 -1
  126. package/lib/src/embed/conversation.d.ts +16 -1
  127. package/lib/src/embed/conversation.d.ts.map +1 -1
  128. package/lib/src/embed/conversation.js +5 -1
  129. package/lib/src/embed/conversation.js.map +1 -1
  130. package/lib/src/embed/conversation.spec.js +27 -1
  131. package/lib/src/embed/conversation.spec.js.map +1 -1
  132. package/lib/src/embed/liveboard.d.ts +47 -1
  133. package/lib/src/embed/liveboard.d.ts.map +1 -1
  134. package/lib/src/embed/liveboard.js +48 -7
  135. package/lib/src/embed/liveboard.js.map +1 -1
  136. package/lib/src/embed/liveboard.spec.js +129 -1
  137. package/lib/src/embed/liveboard.spec.js.map +1 -1
  138. package/lib/src/embed/spotter-viz-utils.d.ts +85 -0
  139. package/lib/src/embed/spotter-viz-utils.d.ts.map +1 -0
  140. package/lib/src/embed/spotter-viz-utils.js +13 -0
  141. package/lib/src/embed/spotter-viz-utils.js.map +1 -0
  142. package/lib/src/embed/spotter-viz-utils.spec.d.ts +2 -0
  143. package/lib/src/embed/spotter-viz-utils.spec.d.ts.map +1 -0
  144. package/lib/src/embed/spotter-viz-utils.spec.js +29 -0
  145. package/lib/src/embed/spotter-viz-utils.spec.js.map +1 -0
  146. package/lib/src/embed/ts-embed.d.ts +58 -38
  147. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  148. package/lib/src/embed/ts-embed.js +248 -152
  149. package/lib/src/embed/ts-embed.js.map +1 -1
  150. package/lib/src/embed/ts-embed.spec.js +369 -123
  151. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  152. package/lib/src/index.d.ts +2 -1
  153. package/lib/src/index.d.ts.map +1 -1
  154. package/lib/src/index.js.map +1 -1
  155. package/lib/src/react/index.d.ts.map +1 -1
  156. package/lib/src/react/index.js +3 -0
  157. package/lib/src/react/index.js.map +1 -1
  158. package/lib/src/types.d.ts +267 -27
  159. package/lib/src/types.d.ts.map +1 -1
  160. package/lib/src/types.js +223 -19
  161. package/lib/src/types.js.map +1 -1
  162. package/lib/src/utils/authService/tokenizedAuthService.spec.js +6 -7
  163. package/lib/src/utils/authService/tokenizedAuthService.spec.js.map +1 -1
  164. package/lib/src/utils/logger.js +2 -1
  165. package/lib/src/utils/logger.js.map +1 -1
  166. package/lib/src/utils/logger.spec.d.ts +1 -0
  167. package/lib/src/utils/logger.spec.d.ts.map +1 -1
  168. package/lib/src/utils/logger.spec.js +10 -9
  169. package/lib/src/utils/logger.spec.js.map +1 -1
  170. package/lib/src/utils.d.ts +4 -1
  171. package/lib/src/utils.d.ts.map +1 -1
  172. package/lib/src/utils.js +103 -9
  173. package/lib/src/utils.js.map +1 -1
  174. package/lib/src/utils.spec.js +164 -5
  175. package/lib/src/utils.spec.js.map +1 -1
  176. package/lib/src/visual-embed-sdk.d.ts +658 -65
  177. package/package.json +1 -1
  178. package/src/css-variables.ts +175 -1
  179. package/src/embed/app.spec.ts +247 -3
  180. package/src/embed/app.ts +125 -5
  181. package/src/embed/auto-frame-renderer.spec.ts +457 -58
  182. package/src/embed/auto-frame-renderer.ts +7 -2
  183. package/src/embed/base.spec.ts +25 -1
  184. package/src/embed/base.ts +19 -5
  185. package/src/embed/bodyless-conversation.spec.ts +93 -0
  186. package/src/embed/conversation.spec.ts +34 -0
  187. package/src/embed/conversation.ts +22 -1
  188. package/src/embed/liveboard.spec.ts +149 -1
  189. package/src/embed/liveboard.ts +102 -6
  190. package/src/embed/spotter-viz-utils.spec.ts +30 -0
  191. package/src/embed/spotter-viz-utils.ts +94 -0
  192. package/src/embed/ts-embed.spec.ts +532 -234
  193. package/src/embed/ts-embed.ts +383 -257
  194. package/src/index.ts +3 -0
  195. package/src/react/index.tsx +3 -0
  196. package/src/types.ts +284 -23
  197. package/src/utils/authService/tokenizedAuthService.spec.ts +6 -6
  198. package/src/utils/logger.spec.ts +11 -9
  199. package/src/utils/logger.ts +2 -2
  200. package/src/utils.spec.ts +200 -4
  201. package/src/utils.ts +128 -9
@@ -6,8 +6,10 @@ const types_1 = require("../types");
6
6
  const index_1 = require("../index");
7
7
  const authInstance = tslib_1.__importStar(require("../auth"));
8
8
  const ts_embed_1 = require("./ts-embed");
9
+ const liveboard_1 = require("./liveboard");
9
10
  const test_utils_1 = require("../test/test-utils");
10
11
  const thoughtSpotHost = 'tshost';
12
+ const TSMCP_SRC = `https://${thoughtSpotHost}/v2/?${types_1.Param.Tsmcp}=true#/embed/viz/lb1`;
11
13
  describe('startAutoMCPFrameRenderer', () => {
12
14
  let renderIFrameSpy;
13
15
  let getEmbedBasePathSpy;
@@ -22,7 +24,7 @@ describe('startAutoMCPFrameRenderer', () => {
22
24
  beforeEach(() => {
23
25
  document.body.innerHTML = (0, test_utils_1.getDocumentBody)();
24
26
  getEmbedBasePathSpy = jest.spyOn(ts_embed_1.TsEmbed.prototype, 'getEmbedBasePath').mockImplementation(function (query) {
25
- return `http://${thoughtSpotHost}/?${query}#`;
27
+ return `http://${thoughtSpotHost}/${query}#`;
26
28
  });
27
29
  renderIFrameSpy = jest.spyOn(ts_embed_1.TsEmbed.prototype, 'renderIFrame').mockResolvedValue(undefined);
28
30
  });
@@ -30,6 +32,52 @@ describe('startAutoMCPFrameRenderer', () => {
30
32
  renderIFrameSpy.mockRestore();
31
33
  getEmbedBasePathSpy.mockRestore();
32
34
  });
35
+ // ─── helpers ──────────────────────────────────────────────────────────────
36
+ /** Capture the src passed to renderIFrame for the first tsmcp iframe added */
37
+ async function captureRenderedSrc(viewConfig = {}) {
38
+ let capturedSrc = '';
39
+ renderIFrameSpy.mockRestore();
40
+ renderIFrameSpy = jest.spyOn(ts_embed_1.TsEmbed.prototype, 'renderIFrame')
41
+ .mockImplementation(async function (src) {
42
+ capturedSrc = src;
43
+ });
44
+ const observer = (0, auto_frame_renderer_1.startAutoMCPFrameRenderer)(viewConfig);
45
+ const iframe = document.createElement('iframe');
46
+ iframe.src = TSMCP_SRC;
47
+ document.body.appendChild(iframe);
48
+ await new Promise((r) => setTimeout(r, 50));
49
+ observer.disconnect();
50
+ return capturedSrc;
51
+ }
52
+ /**
53
+ * Trigger a full APP_INIT cycle via the actual TsEmbed message infrastructure.
54
+ * Renders the replacement iframe into DOM so subscribeToMessageEvents fires,
55
+ * then fires APP_INIT and returns the port.postMessage response payload.
56
+ */
57
+ async function getAppInitResponse(viewConfig = {}) {
58
+ var _a;
59
+ renderIFrameSpy.mockRestore();
60
+ renderIFrameSpy = jest.spyOn(ts_embed_1.TsEmbed.prototype, 'renderIFrame')
61
+ .mockImplementation(async function (src) {
62
+ const iframe = document.createElement('iframe');
63
+ iframe.src = src;
64
+ this.setIframeElement(iframe);
65
+ this.handleInsertionIntoDOM(iframe);
66
+ this.subscribeToMessageEvents();
67
+ });
68
+ const observer = (0, auto_frame_renderer_1.startAutoMCPFrameRenderer)(viewConfig);
69
+ const tsmcpIframe = document.createElement('iframe');
70
+ tsmcpIframe.src = TSMCP_SRC;
71
+ document.body.appendChild(tsmcpIframe);
72
+ await new Promise((r) => setTimeout(r, 50));
73
+ const embeddedIframe = document.querySelector('iframe');
74
+ const mockPort = { postMessage: jest.fn() };
75
+ (0, test_utils_1.postMessageToParent)(embeddedIframe.contentWindow, { type: types_1.EmbedEvent.APP_INIT, data: {} }, mockPort);
76
+ await new Promise((r) => setTimeout(r, 50));
77
+ observer.disconnect();
78
+ return (_a = mockPort.postMessage.mock.calls[0]) === null || _a === void 0 ? void 0 : _a[0];
79
+ }
80
+ // ─── MutationObserver setup ───────────────────────────────────────────────
33
81
  describe('MutationObserver setup', () => {
34
82
  test('should return a MutationObserver', () => {
35
83
  const observer = (0, auto_frame_renderer_1.startAutoMCPFrameRenderer)();
@@ -47,6 +95,7 @@ describe('startAutoMCPFrameRenderer', () => {
47
95
  observeSpy.mockRestore();
48
96
  });
49
97
  });
98
+ // ─── iframe detection via tsmcp param ─────────────────────────────────────
50
99
  describe('iframe detection via tsmcp param', () => {
51
100
  test('should process directly-added iframes with tsmcp=true', async () => {
52
101
  const observer = (0, auto_frame_renderer_1.startAutoMCPFrameRenderer)();
@@ -129,11 +178,13 @@ describe('startAutoMCPFrameRenderer', () => {
129
178
  observer.disconnect();
130
179
  });
131
180
  });
181
+ // ─── handleInsertionIntoDOM override ──────────────────────────────────────
132
182
  describe('handleInsertionIntoDOM override', () => {
133
183
  test('should replace the original iframe when renderIFrame inserts DOM', async () => {
134
184
  renderIFrameSpy.mockRestore();
135
185
  const replaceSpy = jest.fn();
136
- renderIFrameSpy = jest.spyOn(ts_embed_1.TsEmbed.prototype, 'renderIFrame').mockImplementation(async function () {
186
+ renderIFrameSpy = jest.spyOn(ts_embed_1.TsEmbed.prototype, 'renderIFrame')
187
+ .mockImplementation(async function () {
137
188
  const newIframe = document.createElement('iframe');
138
189
  newIframe.src = 'https://replaced.example.com';
139
190
  this.frameToReplace.replaceWith = replaceSpy;
@@ -148,23 +199,260 @@ describe('startAutoMCPFrameRenderer', () => {
148
199
  observer.disconnect();
149
200
  });
150
201
  });
151
- describe('viewConfig forwarding', () => {
202
+ // ─── URL params forwarding ────────────────────────────────────────────────
203
+ describe('URL params forwarding', () => {
152
204
  test('should accept empty viewConfig', () => {
153
205
  const observer = (0, auto_frame_renderer_1.startAutoMCPFrameRenderer)({});
154
206
  expect(observer).toBeInstanceOf(MutationObserver);
155
207
  observer.disconnect();
156
208
  });
157
- test('should accept no arguments (default empty config)', () => {
209
+ test('should accept no arguments', () => {
158
210
  const observer = (0, auto_frame_renderer_1.startAutoMCPFrameRenderer)();
159
211
  expect(observer).toBeInstanceOf(MutationObserver);
160
212
  observer.disconnect();
161
213
  });
214
+ test('disabledActions → disableAction in rendered src', async () => {
215
+ const src = await captureRenderedSrc({ disabledActions: [types_1.Action.Pin] });
216
+ expect(src).toContain('disableAction');
217
+ });
218
+ test('disabledActionReason → disableHint in rendered src', async () => {
219
+ const src = await captureRenderedSrc({
220
+ disabledActions: [types_1.Action.Pin],
221
+ disabledActionReason: 'Upgrade required',
222
+ });
223
+ expect(src).toContain('disableHint');
224
+ });
225
+ test('hiddenActions → hideAction in rendered src as JSON array', async () => {
226
+ const src = await captureRenderedSrc({ hiddenActions: [types_1.Action.Pin] });
227
+ expect(src).toContain(`hideAction=${JSON.stringify([types_1.Action.ReportError, types_1.Action.Pin])}`);
228
+ });
229
+ test('visibleActions → visibleAction in rendered src', async () => {
230
+ const src = await captureRenderedSrc({ visibleActions: [types_1.Action.Download] });
231
+ expect(src).toContain('visibleAction');
232
+ });
233
+ test('locale → locale param in rendered src', async () => {
234
+ const src = await captureRenderedSrc({ locale: 'fr-FR' });
235
+ expect(src).toContain('locale=fr-FR');
236
+ });
237
+ test('showAlerts → showAlerts param in rendered src', async () => {
238
+ const src = await captureRenderedSrc({ showAlerts: true });
239
+ expect(src).toContain('showAlerts=true');
240
+ });
241
+ test('exposeTranslationIDs → exposeTranslationIDs in rendered src', async () => {
242
+ const src = await captureRenderedSrc({ exposeTranslationIDs: true });
243
+ expect(src).toContain('exposeTranslationIDs=true');
244
+ });
245
+ test('disableRedirectionLinksInNewTab → param in rendered src', async () => {
246
+ const src = await captureRenderedSrc({ disableRedirectionLinksInNewTab: true });
247
+ expect(src).toContain('disableRedirectionLinksInNewTab=true');
248
+ });
249
+ test('overrideOrgId → orgId param in rendered src', async () => {
250
+ const src = await captureRenderedSrc({ overrideOrgId: 42 });
251
+ expect(src).toContain('orgId=42');
252
+ });
253
+ test('linkOverride (V1) auto-upgrades to V2 in rendered src', async () => {
254
+ const src = await captureRenderedSrc({ linkOverride: true });
255
+ expect(src).toContain('linkOverride=true');
256
+ expect(src).toContain('enableLinkOverridesV2=true');
257
+ });
258
+ test('enableLinkOverridesV2 → enableLinkOverridesV2 + linkOverride in rendered src', async () => {
259
+ const src = await captureRenderedSrc({ enableLinkOverridesV2: true });
260
+ expect(src).toContain('enableLinkOverridesV2=true');
261
+ expect(src).toContain('linkOverride=true');
262
+ });
263
+ test('disableRedirectionLinksInNewTab auto-disables V2 link overrides', async () => {
264
+ const src = await captureRenderedSrc({
265
+ enableLinkOverridesV2: true,
266
+ disableRedirectionLinksInNewTab: true,
267
+ });
268
+ expect(src).not.toContain('enableLinkOverridesV2=true');
269
+ expect(src).not.toContain('linkOverride=true');
270
+ expect(src).toContain('disableRedirectionLinksInNewTab=true');
271
+ });
272
+ test('disableRedirectionLinksInNewTab auto-disables V1 link override', async () => {
273
+ const src = await captureRenderedSrc({
274
+ linkOverride: true,
275
+ disableRedirectionLinksInNewTab: true,
276
+ });
277
+ expect(src).not.toContain('linkOverride=true');
278
+ expect(src).toContain('disableRedirectionLinksInNewTab=true');
279
+ });
280
+ test('additionalFlags → merged into rendered src', async () => {
281
+ const src = await captureRenderedSrc({ additionalFlags: { myFlag: 'hello', anotherFlag: 1 } });
282
+ expect(src).toContain('myFlag=hello');
283
+ expect(src).toContain('anotherFlag=1');
284
+ });
285
+ test('additionalFlags from viewConfig override those from init', async () => {
286
+ const src = await captureRenderedSrc({ additionalFlags: { overrideFlag: 'view' } });
287
+ expect(src).toContain('overrideFlag=view');
288
+ });
289
+ test('insertInToSlide → insertInToSlide param in rendered src', async () => {
290
+ const src = await captureRenderedSrc({ insertInToSlide: true });
291
+ expect(src).toContain('insertInToSlide=true');
292
+ });
293
+ test('customizations.iconSpriteUrl → iconSprite param in rendered src', async () => {
294
+ const src = await captureRenderedSrc({
295
+ customizations: { iconSpriteUrl: 'https://cdn.example.com/icons.svg' },
296
+ });
297
+ expect(src).toContain('iconSprite=cdn.example.com/icons.svg');
298
+ });
299
+ test('customizations.content.stringIDsUrl → overrideStringIDsUrl param in rendered src', async () => {
300
+ const src = await captureRenderedSrc({
301
+ customizations: { content: { stringIDsUrl: 'https://cdn.example.com/strings.json' } },
302
+ });
303
+ expect(src).toContain('overrideStringIDsUrl=');
304
+ });
305
+ test('multiple disabledActions → all actions serialised in rendered src', async () => {
306
+ const src = await captureRenderedSrc({
307
+ disabledActions: [types_1.Action.Pin, types_1.Action.Download, types_1.Action.Save],
308
+ });
309
+ expect(src).toContain('disableAction');
310
+ expect(src).toContain(types_1.Action.Pin);
311
+ expect(src).toContain(types_1.Action.Download);
312
+ expect(src).toContain(types_1.Action.Save);
313
+ });
314
+ test('multiple hiddenActions → all actions serialised in rendered src', async () => {
315
+ var _a, _b;
316
+ const src = await captureRenderedSrc({
317
+ hiddenActions: [types_1.Action.Pin, types_1.Action.Download],
318
+ });
319
+ const hideParam = decodeURIComponent((_b = (_a = src.split('hideAction=')[1]) === null || _a === void 0 ? void 0 : _a.split('&')[0]) !== null && _b !== void 0 ? _b : '');
320
+ const parsed = JSON.parse(hideParam);
321
+ expect(parsed).toContain(types_1.Action.Pin);
322
+ expect(parsed).toContain(types_1.Action.Download);
323
+ });
324
+ test('multiple visibleActions → all actions serialised in rendered src', async () => {
325
+ var _a, _b;
326
+ const src = await captureRenderedSrc({
327
+ visibleActions: [types_1.Action.Download, types_1.Action.Save, types_1.Action.Pin],
328
+ });
329
+ const visibleParam = decodeURIComponent((_b = (_a = src.split('visibleAction=')[1]) === null || _a === void 0 ? void 0 : _a.split('&')[0]) !== null && _b !== void 0 ? _b : '');
330
+ const parsed = JSON.parse(visibleParam);
331
+ expect(parsed).toContain(types_1.Action.Download);
332
+ expect(parsed).toContain(types_1.Action.Save);
333
+ expect(parsed).toContain(types_1.Action.Pin);
334
+ });
335
+ test('rendered src always contains a query string before the hash', async () => {
336
+ const src = await captureRenderedSrc();
337
+ expect(src).toMatch(/\?[^#]+#/);
338
+ });
339
+ });
340
+ // ─── frameParams forwarding ───────────────────────────────────────────────
341
+ describe('frameParams forwarding', () => {
342
+ test('frameParams.height and .width applied to the replacement iframe element', async () => {
343
+ var _a, _b, _c;
344
+ renderIFrameSpy.mockRestore();
345
+ renderIFrameSpy = jest.spyOn(ts_embed_1.TsEmbed.prototype, 'renderIFrame')
346
+ .mockResolvedValue(undefined);
347
+ const createIframeElSpy = jest.spyOn(ts_embed_1.TsEmbed.prototype, 'createIframeEl');
348
+ const observer = (0, auto_frame_renderer_1.startAutoMCPFrameRenderer)({ frameParams: { height: '600px', width: '100%' } });
349
+ const iframe = document.createElement('iframe');
350
+ iframe.src = TSMCP_SRC;
351
+ document.body.appendChild(iframe);
352
+ await new Promise((r) => setTimeout(r, 50));
353
+ if (createIframeElSpy.mock.calls.length > 0) {
354
+ const created = (_a = createIframeElSpy.mock.results[0]) === null || _a === void 0 ? void 0 : _a.value;
355
+ expect((_b = created === null || created === void 0 ? void 0 : created.style) === null || _b === void 0 ? void 0 : _b.height).toBe('600px');
356
+ expect((_c = created === null || created === void 0 ? void 0 : created.style) === null || _c === void 0 ? void 0 : _c.width).toBe('100%');
357
+ }
358
+ createIframeElSpy.mockRestore();
359
+ observer.disconnect();
360
+ });
361
+ test('frameParams custom HTML attributes applied to the iframe element', async () => {
362
+ var _a;
363
+ renderIFrameSpy.mockRestore();
364
+ renderIFrameSpy = jest.spyOn(ts_embed_1.TsEmbed.prototype, 'renderIFrame')
365
+ .mockResolvedValue(undefined);
366
+ const createIframeElSpy = jest.spyOn(ts_embed_1.TsEmbed.prototype, 'createIframeEl');
367
+ const observer = (0, auto_frame_renderer_1.startAutoMCPFrameRenderer)({
368
+ frameParams: { height: '400px', width: '800px', 'data-testid': 'my-embed' },
369
+ });
370
+ const iframe = document.createElement('iframe');
371
+ iframe.src = TSMCP_SRC;
372
+ document.body.appendChild(iframe);
373
+ await new Promise((r) => setTimeout(r, 50));
374
+ if (createIframeElSpy.mock.calls.length > 0) {
375
+ const created = (_a = createIframeElSpy.mock.results[0]) === null || _a === void 0 ? void 0 : _a.value;
376
+ expect(created === null || created === void 0 ? void 0 : created.getAttribute('data-testid')).toBe('my-embed');
377
+ }
378
+ createIframeElSpy.mockRestore();
379
+ observer.disconnect();
380
+ });
381
+ });
382
+ // ─── APP_INIT postMessage params forwarding ───────────────────────────────
383
+ //
384
+ // These params are not in the iframe src URL — they travel via the APP_INIT
385
+ // postMessage channel. AutoFrameRenderer inherits the TsEmbed APP_INIT
386
+ // handler, so the full round-trip is tested here.
387
+ describe('APP_INIT params forwarding', () => {
388
+ test('customizations.style.customCSS included in APP_INIT response', async () => {
389
+ var _a, _b, _c;
390
+ const customizations = {
391
+ style: { customCSS: { variables: { '--ts-var-root-background': '#fff' } } },
392
+ };
393
+ const response = await getAppInitResponse({ customizations });
394
+ expect((_c = (_b = (_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.customisations) === null || _b === void 0 ? void 0 : _b.style) === null || _c === void 0 ? void 0 : _c.customCSS).toEqual(customizations.style.customCSS);
395
+ });
396
+ test('customizations.content.strings included in APP_INIT response', async () => {
397
+ var _a, _b, _c, _d;
398
+ const customizations = {
399
+ content: { strings: { DATA: 'Data' } },
400
+ };
401
+ const response = await getAppInitResponse({ customizations });
402
+ expect((_d = (_c = (_b = (_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.customisations) === null || _b === void 0 ? void 0 : _b.content) === null || _c === void 0 ? void 0 : _c.strings) === null || _d === void 0 ? void 0 : _d.DATA).toBe('Data');
403
+ });
404
+ test('customActions included in APP_INIT response', async () => {
405
+ var _a;
406
+ const customActions = [
407
+ {
408
+ id: 'my-action',
409
+ name: 'My Action',
410
+ position: 'PRIMARY',
411
+ target: 'ANSWER',
412
+ },
413
+ ];
414
+ const response = await getAppInitResponse({ customActions });
415
+ expect((_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.customActions).toEqual(expect.arrayContaining([expect.objectContaining({ id: 'my-action' })]));
416
+ });
417
+ test('shouldBypassPayloadValidation forwarded via APP_INIT', async () => {
418
+ var _a;
419
+ const response = await getAppInitResponse({ shouldBypassPayloadValidation: true });
420
+ expect((_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.shouldBypassPayloadValidation).toBe(true);
421
+ });
422
+ test('useHostEventsV2 forwarded via APP_INIT', async () => {
423
+ var _a;
424
+ const response = await getAppInitResponse({ useHostEventsV2: true });
425
+ expect((_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.useHostEventsV2).toBe(true);
426
+ });
427
+ test('refreshAuthTokenOnNearExpiry forwarded as embedExpiryInAuthToken', async () => {
428
+ var _a;
429
+ const response = await getAppInitResponse({ refreshAuthTokenOnNearExpiry: true });
430
+ expect((_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.embedExpiryInAuthToken).toBe(true);
431
+ });
432
+ test('interceptUrls forwarded via APP_INIT', async () => {
433
+ var _a, _b;
434
+ // The SDK expands InterceptedApiType enum values into resolved prism endpoint URLs.
435
+ // Assert that the interceptUrls array is non-empty (i.e. the config was forwarded
436
+ // and processed) rather than checking the resolved strings directly.
437
+ const response = await getAppInitResponse({
438
+ interceptUrls: [types_1.InterceptedApiType.AnswerData],
439
+ });
440
+ expect((_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.interceptUrls).toBeInstanceOf(Array);
441
+ expect((_b = response === null || response === void 0 ? void 0 : response.data) === null || _b === void 0 ? void 0 : _b.interceptUrls.length).toBeGreaterThan(0);
442
+ });
443
+ test('interceptTimeout forwarded via APP_INIT', async () => {
444
+ var _a;
445
+ const response = await getAppInitResponse({ interceptTimeout: 5000 });
446
+ expect((_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.interceptTimeout).toBe(5000);
447
+ });
162
448
  });
449
+ // ─── getMCPIframeSrc URL construction ─────────────────────────────────────
163
450
  describe('getMCPIframeSrc URL construction', () => {
164
451
  test('should strip tsmcp param and merge embed params into rendered src', async () => {
165
452
  let capturedSrc = '';
166
453
  renderIFrameSpy.mockRestore();
167
- renderIFrameSpy = jest.spyOn(ts_embed_1.TsEmbed.prototype, 'renderIFrame').mockImplementation(async function (src) {
454
+ renderIFrameSpy = jest.spyOn(ts_embed_1.TsEmbed.prototype, 'renderIFrame')
455
+ .mockImplementation(async function (src) {
168
456
  capturedSrc = src;
169
457
  });
170
458
  const observer = (0, auto_frame_renderer_1.startAutoMCPFrameRenderer)();
@@ -174,12 +462,14 @@ describe('startAutoMCPFrameRenderer', () => {
174
462
  await new Promise((r) => setTimeout(r, 50));
175
463
  expect(capturedSrc).not.toContain(`${types_1.Param.Tsmcp}=true`);
176
464
  expect(capturedSrc).toContain('customParam=hello');
465
+ expect(capturedSrc).toMatch(/\?[^#]+#/);
177
466
  observer.disconnect();
178
467
  });
179
468
  test('should preserve hash from original iframe src', async () => {
180
469
  let capturedSrc = '';
181
470
  renderIFrameSpy.mockRestore();
182
- renderIFrameSpy = jest.spyOn(ts_embed_1.TsEmbed.prototype, 'renderIFrame').mockImplementation(async function (src) {
471
+ renderIFrameSpy = jest.spyOn(ts_embed_1.TsEmbed.prototype, 'renderIFrame')
472
+ .mockImplementation(async function (src) {
183
473
  capturedSrc = src;
184
474
  });
185
475
  const observer = (0, auto_frame_renderer_1.startAutoMCPFrameRenderer)();
@@ -190,6 +480,95 @@ describe('startAutoMCPFrameRenderer', () => {
190
480
  expect(capturedSrc).toContain('/embed/viz/lb123');
191
481
  observer.disconnect();
192
482
  });
483
+ test('should produce empty query string when no embed params and no source params', async () => {
484
+ let capturedSrc = '';
485
+ renderIFrameSpy.mockRestore();
486
+ renderIFrameSpy = jest.spyOn(ts_embed_1.TsEmbed.prototype, 'renderIFrame')
487
+ .mockImplementation(async function (src) {
488
+ capturedSrc = src;
489
+ });
490
+ const observer = (0, auto_frame_renderer_1.startAutoMCPFrameRenderer)();
491
+ const iframe = document.createElement('iframe');
492
+ // Only tsmcp (stripped) — no other params
493
+ iframe.src = `https://${thoughtSpotHost}/?${types_1.Param.Tsmcp}=true`;
494
+ document.body.appendChild(iframe);
495
+ await new Promise((r) => setTimeout(r, 50));
496
+ // At minimum the base embed params (hostAppUrl, sdkVersion, etc.) are always present
497
+ expect(capturedSrc).toMatch(/\?[^#]+#/);
498
+ observer.disconnect();
499
+ });
500
+ test('source params take precedence over viewConfig params for the same key', async () => {
501
+ let capturedSrc = '';
502
+ renderIFrameSpy.mockRestore();
503
+ renderIFrameSpy = jest.spyOn(ts_embed_1.TsEmbed.prototype, 'renderIFrame')
504
+ .mockImplementation(async function (src) {
505
+ capturedSrc = src;
506
+ });
507
+ const observer = (0, auto_frame_renderer_1.startAutoMCPFrameRenderer)({ additionalFlags: { locale: 'en-US' } });
508
+ const iframe = document.createElement('iframe');
509
+ // Source overrides with de-DE
510
+ iframe.src = `https://${thoughtSpotHost}/v2/?${types_1.Param.Tsmcp}=true&locale=de-DE#/embed/viz`;
511
+ document.body.appendChild(iframe);
512
+ await new Promise((r) => setTimeout(r, 50));
513
+ expect(capturedSrc).toContain('locale=de-DE');
514
+ observer.disconnect();
515
+ });
516
+ });
517
+ // ─── URL serialization parity with normal embeds ──────────────────────────
518
+ //
519
+ // These tests verify that array-typed params (hideAction, disableAction,
520
+ // visibleAction) are serialized identically by startAutoMCPFrameRenderer
521
+ // and by a standard LiveboardEmbed. Both must emit JSON arrays
522
+ // (e.g. ["pin"]) not CSV (e.g. pin) so ThoughtSpot's app honours them.
523
+ describe('URL serialization parity with LiveboardEmbed', () => {
524
+ async function captureLiveboardSrc(viewConfig) {
525
+ let capturedSrc = '';
526
+ renderIFrameSpy.mockRestore();
527
+ renderIFrameSpy = jest.spyOn(ts_embed_1.TsEmbed.prototype, 'renderIFrame')
528
+ .mockImplementation(async function (src) {
529
+ capturedSrc = src;
530
+ });
531
+ const embed = new liveboard_1.LiveboardEmbed((0, test_utils_1.getRootEl)(), {
532
+ liveboardId: 'test-lb',
533
+ ...viewConfig,
534
+ });
535
+ embed.render();
536
+ await new Promise((r) => setTimeout(r, 50));
537
+ return capturedSrc;
538
+ }
539
+ function getQueryParam(url, param) {
540
+ const qIdx = url.indexOf('?');
541
+ const hIdx = url.indexOf('#');
542
+ if (qIdx === -1)
543
+ return null;
544
+ const qs = hIdx === -1 ? url.slice(qIdx + 1) : url.slice(qIdx + 1, hIdx);
545
+ return new URLSearchParams(qs).get(param);
546
+ }
547
+ test.each([
548
+ ['hiddenActions', { hiddenActions: [types_1.Action.Pin] }, 'hideAction'],
549
+ ['disabledActions', { disabledActions: [types_1.Action.Pin] }, 'disableAction'],
550
+ ['visibleActions', { visibleActions: [types_1.Action.Download] }, 'visibleAction'],
551
+ ])('%s: auto-renderer and LiveboardEmbed produce identical param format', async (_, viewConfig, paramName) => {
552
+ const liveboardSrc = await captureLiveboardSrc(viewConfig);
553
+ const autoSrc = await captureRenderedSrc(viewConfig);
554
+ const liveboardValue = getQueryParam(liveboardSrc, paramName);
555
+ const autoValue = getQueryParam(autoSrc, paramName);
556
+ expect(autoValue).not.toBeNull();
557
+ expect(liveboardValue).not.toBeNull();
558
+ expect(autoValue).toBe(liveboardValue);
559
+ });
560
+ test('hideAction value is a JSON array, not CSV', async () => {
561
+ const autoSrc = await captureRenderedSrc({ hiddenActions: [types_1.Action.Pin] });
562
+ const liveboardSrc = await captureLiveboardSrc({ hiddenActions: [types_1.Action.Pin] });
563
+ const autoValue = getQueryParam(autoSrc, 'hideAction');
564
+ const liveboardValue = getQueryParam(liveboardSrc, 'hideAction');
565
+ // Both must parse as a JSON array — not CSV like "reportError,pin"
566
+ expect(() => JSON.parse(autoValue)).not.toThrow();
567
+ expect(() => JSON.parse(liveboardValue)).not.toThrow();
568
+ expect(Array.isArray(JSON.parse(autoValue))).toBe(true);
569
+ expect(Array.isArray(JSON.parse(liveboardValue))).toBe(true);
570
+ expect(JSON.parse(autoValue)).toEqual(JSON.parse(liveboardValue));
571
+ });
193
572
  });
194
573
  });
195
574
  //# sourceMappingURL=auto-frame-renderer.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auto-frame-renderer.spec.js","sourceRoot":"","sources":["../../../src/embed/auto-frame-renderer.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto-frame-renderer.spec.js","sourceRoot":"","sources":["../../../src/embed/auto-frame-renderer.spec.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,7 @@ export declare const prefetch: (url?: string, prefetchFeatures?: PrefetchFeature
37
37
  }) => void;
38
38
  export declare const createAndSetInitPromise: () => void;
39
39
  export declare const getInitPromise: () => Promise<ReturnType<typeof init>>;
40
+ export declare const getIsInitCompleted: () => boolean;
40
41
  export declare const getIsInitCalled: () => boolean;
41
42
  /**
42
43
  * Initializes the Visual Embed SDK globally and perform
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/embed/base.ts"],"names":[],"mappings":"AAaA,OAAO,EACO,WAAW,EAAmB,gBAAgB,EAC3D,MAAM,UAAU,CAAC;AAClB,OAAO,EAMH,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,YAAY,EAEZ,gBAAgB,EAEnB,MAAM,SAAS,CAAC;AACjB,OAAO,kCAAkC,CAAC;AAgB1C,MAAM,WAAW,eAAe;IAC5B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,eAAe,CAAC;IAC5D,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE;QACN,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,eAAe,GAAG,YAAY,CAAC;KAClE,EAAE,CAAC;IACJ,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACjC;AAED,eAAO,IAAI,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AAEzC,eAAO,MAAM,cAAc,QAAO,QAAQ,OAAO,CAAgB,CAAC;AAElE,OAAO,EACH,iBAAiB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,YAAY,GAC3E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,QAAO,QAAQ,OAAO,CAiB5C,CAAC;AASF;;;;;;;;;GASG;AACH,eAAO,MAAM,QAAQ,SACX,MAAM,qBACO,gBAAgB,EAAE;;MAEtC,IAyCF,CAAC;AAoCF,eAAO,MAAM,uBAAuB,QAAO,IAiB1C,CAAC;AAIF,eAAO,MAAM,cAAc,QACvB,QACE,WAAW,WAAW,CAAC,CACuC,CAAC;AAErE,eAAO,MAAM,eAAe,QAAO,OAA0D,CAAC;AAE9F;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,IAAI,gBAAiB,WAAW,KAAG,gBAAgB,GAAG,IAuClE,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,MAAM,uCAAoC,QAAQ,OAAO,CAQrE,CAAC;AAIF;;;;GAIG;AACH,eAAO,MAAM,aAAa,sBAAuB,GAAG,KAAK,IAAI,KAAK,QAAQ,GAAG,CAAC,KAAG,QAAQ,GAAG,CAQ3F,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,UAAU,SAAgB,eAAe,KAAG,QAAQ,GAAG,CAmCnE,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,SAAS,SAAgB,cAAc,KAAG,QAAQ,GAAG,CAoCjE,CAAC;AAGF;;GAEG;AACH,wBAAgB,KAAK,IAAI,IAAI,CAI5B;AAED;;;;;GAKG;AACH,eAAO,MAAM,YAAY,WAAY,iBAAiB,SAMrD,CAAC"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/embed/base.ts"],"names":[],"mappings":"AAaA,OAAO,EACO,WAAW,EAAmB,gBAAgB,EAC3D,MAAM,UAAU,CAAC;AAClB,OAAO,EAMH,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,YAAY,EAEZ,gBAAgB,EAEnB,MAAM,SAAS,CAAC;AACjB,OAAO,kCAAkC,CAAC;AAgB1C,MAAM,WAAW,eAAe;IAC5B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,eAAe,CAAC;IAC5D,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE;QACN,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,eAAe,GAAG,YAAY,CAAC;KAClE,EAAE,CAAC;IACJ,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACjC;AAED,eAAO,IAAI,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AAEzC,eAAO,MAAM,cAAc,QAAO,QAAQ,OAAO,CAAgB,CAAC;AAElE,OAAO,EACH,iBAAiB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,YAAY,GAC3E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,QAAO,QAAQ,OAAO,CAiB5C,CAAC;AASF;;;;;;;;;GASG;AACH,eAAO,MAAM,QAAQ,SACX,MAAM,qBACO,gBAAgB,EAAE;;MAEtC,IAyCF,CAAC;AAqCF,eAAO,MAAM,uBAAuB,QAAO,IA2B1C,CAAC;AAIF,eAAO,MAAM,cAAc,QACvB,QACI,WAAW,WAAW,CAAC,CACqC,CAAC;AAErE,eAAO,MAAM,kBAAkB,QAAO,OAC+B,CAAC;AAEtE,eAAO,MAAM,eAAe,QAAO,OAA0D,CAAC;AAE9F;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,IAAI,gBAAiB,WAAW,KAAG,gBAAgB,GAAG,IAuClE,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,MAAM,uCAAoC,QAAQ,OAAO,CAQrE,CAAC;AAIF;;;;GAIG;AACH,eAAO,MAAM,aAAa,sBAAuB,GAAG,KAAK,IAAI,KAAK,QAAQ,GAAG,CAAC,KAAG,QAAQ,GAAG,CAQ3F,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,UAAU,SAAgB,eAAe,KAAG,QAAQ,GAAG,CAmCnE,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,SAAS,SAAgB,cAAc,KAAG,QAAQ,GAAG,CAoCjE,CAAC;AAGF;;GAEG;AACH,wBAAgB,KAAK,IAAI,IAAI,CAI5B;AAED;;;;;GAKG;AACH,eAAO,MAAM,YAAY,WAAY,iBAAiB,SAMrD,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.reloadIframe = exports.reset = exports.exportTML = exports.executeTML = exports.renderInQueue = exports.logout = exports.disableAutoLogin = exports.init = exports.getIsInitCalled = exports.getInitPromise = exports.createAndSetInitPromise = exports.prefetch = exports.handleAuth = exports.notifyLogout = exports.notifyAuthSuccess = exports.notifyAuthSDKSuccess = exports.notifyAuthFailure = exports.getAuthPromise = exports.authPromise = void 0;
3
+ exports.reloadIframe = exports.reset = exports.exportTML = exports.executeTML = exports.renderInQueue = exports.logout = exports.disableAutoLogin = exports.init = exports.getIsInitCalled = exports.getIsInitCompleted = exports.getInitPromise = exports.createAndSetInitPromise = exports.prefetch = exports.handleAuth = exports.notifyLogout = exports.notifyAuthSuccess = exports.notifyAuthSDKSuccess = exports.notifyAuthFailure = exports.getAuthPromise = exports.authPromise = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  /**
6
6
  * Copyright (c) 2022
@@ -145,17 +145,29 @@ const createAndSetInitPromise = () => {
145
145
  const initFlagStore = {
146
146
  initPromise,
147
147
  isInitCalled: false,
148
+ isInitCompleted: false,
148
149
  initPromiseResolve,
149
150
  };
150
151
  (0, utils_1.storeValueInWindow)(initFlagKey, initFlagStore, {
151
152
  // In case of diff imports the promise might be already set
152
153
  ignoreIfAlreadyExists: true,
153
154
  });
155
+ initPromise.finally(() => {
156
+ const curVal = (0, utils_1.getValueFromWindow)(initFlagKey);
157
+ if (!curVal) {
158
+ logger_1.logger.error('initFlagStore missing when marking init complete');
159
+ return;
160
+ }
161
+ curVal.isInitCompleted = true;
162
+ (0, utils_1.storeValueInWindow)(initFlagKey, curVal);
163
+ });
154
164
  };
155
165
  exports.createAndSetInitPromise = createAndSetInitPromise;
156
166
  (0, exports.createAndSetInitPromise)();
157
167
  const getInitPromise = () => { var _a; return (_a = (0, utils_1.getValueFromWindow)(initFlagKey)) === null || _a === void 0 ? void 0 : _a.initPromise; };
158
168
  exports.getInitPromise = getInitPromise;
169
+ const getIsInitCompleted = () => { var _a; return !!((_a = (0, utils_1.getValueFromWindow)(initFlagKey)) === null || _a === void 0 ? void 0 : _a.isInitCompleted); };
170
+ exports.getIsInitCompleted = getIsInitCompleted;
159
171
  const getIsInitCalled = () => { var _a; return !!((_a = (0, utils_1.getValueFromWindow)(initFlagKey)) === null || _a === void 0 ? void 0 : _a.isInitCalled); };
160
172
  exports.getIsInitCalled = getIsInitCalled;
161
173
  /**