@thoughtspot/visual-embed-sdk 1.46.1 → 1.46.3

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 (257) hide show
  1. package/cjs/package.json +1 -1
  2. package/cjs/src/auth.d.ts +29 -4
  3. package/cjs/src/auth.d.ts.map +1 -1
  4. package/cjs/src/auth.js +29 -7
  5. package/cjs/src/auth.js.map +1 -1
  6. package/cjs/src/auth.spec.js +1 -3
  7. package/cjs/src/auth.spec.js.map +1 -1
  8. package/cjs/src/authToken.js +0 -1
  9. package/cjs/src/authToken.js.map +1 -1
  10. package/cjs/src/authToken.spec.js +2 -1
  11. package/cjs/src/authToken.spec.js.map +1 -1
  12. package/cjs/src/css-variables.d.ts +17 -17
  13. package/cjs/src/embed/app.d.ts +62 -33
  14. package/cjs/src/embed/app.d.ts.map +1 -1
  15. package/cjs/src/embed/app.js +10 -3
  16. package/cjs/src/embed/app.js.map +1 -1
  17. package/cjs/src/embed/app.spec.js +34 -1
  18. package/cjs/src/embed/app.spec.js.map +1 -1
  19. package/cjs/src/embed/auto-frame-renderer.d.ts +41 -0
  20. package/cjs/src/embed/auto-frame-renderer.d.ts.map +1 -0
  21. package/cjs/src/embed/auto-frame-renderer.js +145 -0
  22. package/cjs/src/embed/auto-frame-renderer.js.map +1 -0
  23. package/cjs/src/embed/auto-frame-renderer.spec.d.ts +2 -0
  24. package/cjs/src/embed/auto-frame-renderer.spec.d.ts.map +1 -0
  25. package/cjs/src/embed/auto-frame-renderer.spec.js +195 -0
  26. package/cjs/src/embed/auto-frame-renderer.spec.js.map +1 -0
  27. package/cjs/src/embed/base.d.ts +2 -2
  28. package/cjs/src/embed/base.d.ts.map +1 -1
  29. package/cjs/src/embed/base.js +6 -9
  30. package/cjs/src/embed/base.js.map +1 -1
  31. package/cjs/src/embed/bodyless-conversation.d.ts +5 -5
  32. package/cjs/src/embed/bodyless-conversation.js +4 -4
  33. package/cjs/src/embed/conversation.d.ts +43 -30
  34. package/cjs/src/embed/conversation.d.ts.map +1 -1
  35. package/cjs/src/embed/conversation.js +10 -11
  36. package/cjs/src/embed/conversation.js.map +1 -1
  37. package/cjs/src/embed/conversation.spec.js +27 -0
  38. package/cjs/src/embed/conversation.spec.js.map +1 -1
  39. package/cjs/src/embed/hostEventClient/host-event-client.js +0 -2
  40. package/cjs/src/embed/hostEventClient/host-event-client.js.map +1 -1
  41. package/cjs/src/embed/liveboard.d.ts +42 -35
  42. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  43. package/cjs/src/embed/liveboard.js +6 -4
  44. package/cjs/src/embed/liveboard.js.map +1 -1
  45. package/cjs/src/embed/liveboard.spec.js +5 -3
  46. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  47. package/cjs/src/embed/sage.d.ts +5 -5
  48. package/cjs/src/embed/sage.js +1 -2
  49. package/cjs/src/embed/sage.js.map +1 -1
  50. package/cjs/src/embed/search-bar.d.ts +7 -7
  51. package/cjs/src/embed/search-bar.js +1 -1
  52. package/cjs/src/embed/search.d.ts +13 -12
  53. package/cjs/src/embed/search.d.ts.map +1 -1
  54. package/cjs/src/embed/search.js.map +1 -1
  55. package/cjs/src/embed/search.spec.js +0 -2
  56. package/cjs/src/embed/search.spec.js.map +1 -1
  57. package/cjs/src/embed/ts-embed.d.ts +3 -3
  58. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  59. package/cjs/src/embed/ts-embed.js +15 -9
  60. package/cjs/src/embed/ts-embed.js.map +1 -1
  61. package/cjs/src/embed/ts-embed.spec.js +37 -1
  62. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  63. package/cjs/src/index.d.ts +3 -2
  64. package/cjs/src/index.d.ts.map +1 -1
  65. package/cjs/src/index.js +3 -1
  66. package/cjs/src/index.js.map +1 -1
  67. package/cjs/src/react/index.d.ts +15 -15
  68. package/cjs/src/react/index.js +12 -13
  69. package/cjs/src/react/index.js.map +1 -1
  70. package/cjs/src/react/index.spec.js +6 -3
  71. package/cjs/src/react/index.spec.js.map +1 -1
  72. package/cjs/src/tokenizedFetch.d.ts +1 -1
  73. package/cjs/src/tokenizedFetch.js +1 -1
  74. package/cjs/src/types.d.ts +350 -287
  75. package/cjs/src/types.d.ts.map +1 -1
  76. package/cjs/src/types.js +240 -218
  77. package/cjs/src/types.js.map +1 -1
  78. package/cjs/src/utils/graphql/answerService/answerService.d.ts +9 -6
  79. package/cjs/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  80. package/cjs/src/utils/graphql/answerService/answerService.js +13 -15
  81. package/cjs/src/utils/graphql/answerService/answerService.js.map +1 -1
  82. package/cjs/src/utils/graphql/answerService/answerService.spec.js +55 -0
  83. package/cjs/src/utils/graphql/answerService/answerService.spec.js.map +1 -1
  84. package/cjs/src/utils/graphql/preview-service.js +0 -1
  85. package/cjs/src/utils/graphql/preview-service.js.map +1 -1
  86. package/cjs/src/utils/processData.js +0 -5
  87. package/cjs/src/utils/processData.js.map +1 -1
  88. package/cjs/src/utils.d.ts +9 -0
  89. package/cjs/src/utils.d.ts.map +1 -1
  90. package/cjs/src/utils.js +10 -1
  91. package/cjs/src/utils.js.map +1 -1
  92. package/dist/{index-Vyh6Ha5f.js → index-DyX-x6uN.js} +1 -1
  93. package/dist/src/auth.d.ts +29 -4
  94. package/dist/src/auth.d.ts.map +1 -1
  95. package/dist/src/css-variables.d.ts +17 -17
  96. package/dist/src/embed/app.d.ts +62 -33
  97. package/dist/src/embed/app.d.ts.map +1 -1
  98. package/dist/src/embed/auto-frame-renderer.d.ts +41 -0
  99. package/dist/src/embed/auto-frame-renderer.d.ts.map +1 -0
  100. package/dist/src/embed/auto-frame-renderer.spec.d.ts +2 -0
  101. package/dist/src/embed/auto-frame-renderer.spec.d.ts.map +1 -0
  102. package/dist/src/embed/base.d.ts +2 -2
  103. package/dist/src/embed/base.d.ts.map +1 -1
  104. package/dist/src/embed/bodyless-conversation.d.ts +5 -5
  105. package/dist/src/embed/conversation.d.ts +43 -30
  106. package/dist/src/embed/conversation.d.ts.map +1 -1
  107. package/dist/src/embed/liveboard.d.ts +42 -35
  108. package/dist/src/embed/liveboard.d.ts.map +1 -1
  109. package/dist/src/embed/sage.d.ts +5 -5
  110. package/dist/src/embed/search-bar.d.ts +7 -7
  111. package/dist/src/embed/search.d.ts +13 -12
  112. package/dist/src/embed/search.d.ts.map +1 -1
  113. package/dist/src/embed/ts-embed.d.ts +3 -3
  114. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  115. package/dist/src/index.d.ts +3 -2
  116. package/dist/src/index.d.ts.map +1 -1
  117. package/dist/src/react/index.d.ts +15 -15
  118. package/dist/src/tokenizedFetch.d.ts +1 -1
  119. package/dist/src/types.d.ts +350 -287
  120. package/dist/src/types.d.ts.map +1 -1
  121. package/dist/src/utils/graphql/answerService/answerService.d.ts +9 -6
  122. package/dist/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  123. package/dist/src/utils.d.ts +9 -0
  124. package/dist/src/utils.d.ts.map +1 -1
  125. package/dist/tsembed-react.es.js +359 -329
  126. package/dist/tsembed-react.js +358 -328
  127. package/dist/tsembed.es.js +490 -321
  128. package/dist/tsembed.js +489 -319
  129. package/dist/visual-embed-sdk-react-full.d.ts +574 -442
  130. package/dist/visual-embed-sdk-react.d.ts +572 -440
  131. package/dist/visual-embed-sdk.d.ts +622 -446
  132. package/lib/package.json +1 -1
  133. package/lib/src/auth.d.ts +29 -4
  134. package/lib/src/auth.d.ts.map +1 -1
  135. package/lib/src/auth.js +29 -7
  136. package/lib/src/auth.js.map +1 -1
  137. package/lib/src/auth.spec.js +1 -3
  138. package/lib/src/auth.spec.js.map +1 -1
  139. package/lib/src/authToken.js +0 -1
  140. package/lib/src/authToken.js.map +1 -1
  141. package/lib/src/authToken.spec.js +2 -1
  142. package/lib/src/authToken.spec.js.map +1 -1
  143. package/lib/src/css-variables.d.ts +17 -17
  144. package/lib/src/embed/app.d.ts +62 -33
  145. package/lib/src/embed/app.d.ts.map +1 -1
  146. package/lib/src/embed/app.js +11 -4
  147. package/lib/src/embed/app.js.map +1 -1
  148. package/lib/src/embed/app.spec.js +34 -1
  149. package/lib/src/embed/app.spec.js.map +1 -1
  150. package/lib/src/embed/auto-frame-renderer.d.ts +41 -0
  151. package/lib/src/embed/auto-frame-renderer.d.ts.map +1 -0
  152. package/lib/src/embed/auto-frame-renderer.js +141 -0
  153. package/lib/src/embed/auto-frame-renderer.js.map +1 -0
  154. package/lib/src/embed/auto-frame-renderer.spec.d.ts +2 -0
  155. package/lib/src/embed/auto-frame-renderer.spec.d.ts.map +1 -0
  156. package/lib/src/embed/auto-frame-renderer.spec.js +192 -0
  157. package/lib/src/embed/auto-frame-renderer.spec.js.map +1 -0
  158. package/lib/src/embed/base.d.ts +2 -2
  159. package/lib/src/embed/base.d.ts.map +1 -1
  160. package/lib/src/embed/base.js +6 -9
  161. package/lib/src/embed/base.js.map +1 -1
  162. package/lib/src/embed/bodyless-conversation.d.ts +5 -5
  163. package/lib/src/embed/bodyless-conversation.js +4 -4
  164. package/lib/src/embed/conversation.d.ts +43 -30
  165. package/lib/src/embed/conversation.d.ts.map +1 -1
  166. package/lib/src/embed/conversation.js +11 -11
  167. package/lib/src/embed/conversation.js.map +1 -1
  168. package/lib/src/embed/conversation.spec.js +27 -0
  169. package/lib/src/embed/conversation.spec.js.map +1 -1
  170. package/lib/src/embed/hostEventClient/host-event-client.js +0 -2
  171. package/lib/src/embed/hostEventClient/host-event-client.js.map +1 -1
  172. package/lib/src/embed/liveboard.d.ts +42 -35
  173. package/lib/src/embed/liveboard.d.ts.map +1 -1
  174. package/lib/src/embed/liveboard.js +6 -4
  175. package/lib/src/embed/liveboard.js.map +1 -1
  176. package/lib/src/embed/liveboard.spec.js +5 -3
  177. package/lib/src/embed/liveboard.spec.js.map +1 -1
  178. package/lib/src/embed/sage.d.ts +5 -5
  179. package/lib/src/embed/sage.js +1 -2
  180. package/lib/src/embed/sage.js.map +1 -1
  181. package/lib/src/embed/search-bar.d.ts +7 -7
  182. package/lib/src/embed/search-bar.js +1 -1
  183. package/lib/src/embed/search.d.ts +13 -12
  184. package/lib/src/embed/search.d.ts.map +1 -1
  185. package/lib/src/embed/search.js.map +1 -1
  186. package/lib/src/embed/search.spec.js +0 -2
  187. package/lib/src/embed/search.spec.js.map +1 -1
  188. package/lib/src/embed/ts-embed.d.ts +3 -3
  189. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  190. package/lib/src/embed/ts-embed.js +15 -9
  191. package/lib/src/embed/ts-embed.js.map +1 -1
  192. package/lib/src/embed/ts-embed.spec.js +37 -1
  193. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  194. package/lib/src/index.d.ts +3 -2
  195. package/lib/src/index.d.ts.map +1 -1
  196. package/lib/src/index.js +1 -0
  197. package/lib/src/index.js.map +1 -1
  198. package/lib/src/react/index.d.ts +15 -15
  199. package/lib/src/react/index.js +12 -13
  200. package/lib/src/react/index.js.map +1 -1
  201. package/lib/src/react/index.spec.js +6 -3
  202. package/lib/src/react/index.spec.js.map +1 -1
  203. package/lib/src/tokenizedFetch.d.ts +1 -1
  204. package/lib/src/tokenizedFetch.js +1 -1
  205. package/lib/src/types.d.ts +350 -287
  206. package/lib/src/types.d.ts.map +1 -1
  207. package/lib/src/types.js +240 -218
  208. package/lib/src/types.js.map +1 -1
  209. package/lib/src/utils/graphql/answerService/answerService.d.ts +9 -6
  210. package/lib/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  211. package/lib/src/utils/graphql/answerService/answerService.js +12 -14
  212. package/lib/src/utils/graphql/answerService/answerService.js.map +1 -1
  213. package/lib/src/utils/graphql/answerService/answerService.spec.js +55 -0
  214. package/lib/src/utils/graphql/answerService/answerService.spec.js.map +1 -1
  215. package/lib/src/utils/graphql/preview-service.js +0 -1
  216. package/lib/src/utils/graphql/preview-service.js.map +1 -1
  217. package/lib/src/utils/processData.js +0 -5
  218. package/lib/src/utils/processData.js.map +1 -1
  219. package/lib/src/utils.d.ts +9 -0
  220. package/lib/src/utils.d.ts.map +1 -1
  221. package/lib/src/utils.js +8 -0
  222. package/lib/src/utils.js.map +1 -1
  223. package/lib/src/visual-embed-sdk.d.ts +11466 -0
  224. package/package.json +1 -1
  225. package/src/auth.spec.ts +1 -1
  226. package/src/auth.ts +32 -7
  227. package/src/authToken.spec.ts +2 -1
  228. package/src/authToken.ts +1 -1
  229. package/src/css-variables.ts +17 -17
  230. package/src/embed/app.spec.ts +46 -1
  231. package/src/embed/app.ts +74 -36
  232. package/src/embed/auto-frame-renderer.spec.ts +266 -0
  233. package/src/embed/auto-frame-renderer.ts +152 -0
  234. package/src/embed/base.spec.ts +1 -1
  235. package/src/embed/base.ts +9 -10
  236. package/src/embed/bodyless-conversation.ts +5 -5
  237. package/src/embed/conversation.spec.ts +37 -0
  238. package/src/embed/conversation.ts +55 -38
  239. package/src/embed/hostEventClient/host-event-client.ts +2 -2
  240. package/src/embed/liveboard.spec.ts +5 -3
  241. package/src/embed/liveboard.ts +47 -38
  242. package/src/embed/sage.ts +6 -6
  243. package/src/embed/search-bar.tsx +7 -7
  244. package/src/embed/search.spec.ts +2 -2
  245. package/src/embed/search.ts +13 -12
  246. package/src/embed/ts-embed.spec.ts +44 -1
  247. package/src/embed/ts-embed.ts +14 -9
  248. package/src/index.ts +3 -0
  249. package/src/react/index.spec.tsx +6 -3
  250. package/src/react/index.tsx +16 -16
  251. package/src/tokenizedFetch.ts +1 -1
  252. package/src/types.ts +350 -286
  253. package/src/utils/graphql/answerService/answerService.spec.ts +62 -0
  254. package/src/utils/graphql/answerService/answerService.ts +14 -10
  255. package/src/utils/graphql/preview-service.ts +1 -1
  256. package/src/utils/processData.ts +5 -5
  257. package/src/utils.ts +14 -0
@@ -49,9 +49,9 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
49
49
  * Setting `fullHeight` to `false` fetches visualizations
50
50
  * incrementally as users scroll the page to view the charts and tables.
51
51
  *
52
- * @version SDK: 1.1.0 | ThoughtSpot: ts7.may.cl, 7.2.1
53
52
  *
54
53
  * Supported embed types: `LiveboardEmbed`
54
+ * @version SDK: 1.1.0 | ThoughtSpot: ts7.may.cl, 7.2.1
55
55
  * @example
56
56
  * ```js
57
57
  * const embed = new LiveboardEmbed('#embed', {
@@ -62,14 +62,14 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
62
62
  */
63
63
  fullHeight?: boolean;
64
64
  /**
65
- * This is the minimum height(in pixels) for a full-height Liveboard.
65
+ * This is the minimum height (in pixels) for a full-height Liveboard.
66
66
  * Setting this height helps resolve issues with empty Liveboards and
67
67
  * other screens navigable from a Liveboard.
68
68
  *
69
69
  * Supported embed types: `LiveboardEmbed`
70
70
  * @version SDK: 1.5.0 | ThoughtSpot: ts7.oct.cl, 7.2.1
71
- * @default 500
72
71
  * @deprecated Use `minimumHeight` instead.
72
+ * @default 500
73
73
  * @example
74
74
  * ```js
75
75
  * const embed = new LiveboardEmbed('#embed', {
@@ -98,7 +98,9 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
98
98
  */
99
99
  minimumHeight?: number;
100
100
  /**
101
- * @Deprecated If set to true, the context menu in visualizations will be enabled.
101
+ * If set to true, the context menu in visualizations will be enabled.
102
+ * @version SDK: 1.1.0 | ThoughtSpot: 8.1.0.sw
103
+ * @deprecated this option is deprecated.
102
104
  * @example
103
105
  * ```js
104
106
  * const embed = new LiveboardEmbed('#tsEmbed', {
@@ -106,7 +108,6 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
106
108
  * enableVizTransformations:true,
107
109
  * })
108
110
  * ```
109
- * @version: SDK: 1.1.0 | ThoughtSpot: 8.1.0.sw
110
111
  */
111
112
  enableVizTransformations?: boolean;
112
113
  /**
@@ -119,8 +120,9 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
119
120
  * ```js
120
121
  * const embed = new LiveboardEmbed('#tsEmbed', {
121
122
  * ... //other embed view config
122
- * liveboardId:id of liveboard,
123
+ * liveboardId:'id of liveboard',
123
124
  * })
125
+ * ```
124
126
  */
125
127
  liveboardId?: string;
126
128
  /**
@@ -173,6 +175,7 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
173
175
  * 'f547ec54-2a37-4516-a222-2b06719af726'
174
176
  * ]
175
177
  * })
178
+ * ```
176
179
  */
177
180
  visibleVizs?: string[];
178
181
  /**
@@ -200,6 +203,7 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
200
203
  * Specify the tab ID.
201
204
  *
202
205
  * Supported embed types: `LiveboardEmbed`
206
+ * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1-sw
203
207
  * @example
204
208
  * ```js
205
209
  * const embed = new LiveboardEmbed('#tsEmbed', {
@@ -207,7 +211,6 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
207
211
  * activeTabId:'id-1234',
208
212
  * })
209
213
  * ```
210
- * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1-sw
211
214
  */
212
215
  activeTabId?: string;
213
216
  /**
@@ -216,6 +219,7 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
216
219
  * that includes specific filter selections.
217
220
  *
218
221
  * Supported embed types: `LiveboardEmbed`
222
+ * @version SDK: 1.46.0 | ThoughtSpot: 26.4.0.cl
219
223
  * @example
220
224
  * ```js
221
225
  * const embed = new LiveboardEmbed('#tsEmbed', {
@@ -224,7 +228,6 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
224
228
  * activeTabId: 'tab-guid',
225
229
  * })
226
230
  * ```
227
- * @version SDK: 1.46.0 | ThoughtSpot: 26.4.0.cl
228
231
  */
229
232
  personalizedViewId?: string;
230
233
  /**
@@ -245,13 +248,14 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
245
248
  * Show a preview image of the visualization before the visualization loads.
246
249
  * Only works for visualizations embeds with a viz id.
247
250
  *
248
- * Also, viz snashot should be enabled in the ThoughtSpot instance.
251
+ * Also, viz snapshot should be enabled in the ThoughtSpot instance.
249
252
  * Contact ThoughtSpot support to enable this feature.
250
253
  *
251
- * Since, this will show preview images, be careful that it may show
254
+ * Since this will show preview images, be careful that it may show
252
255
  * undesired data to the user when using row level security.
253
256
  *
254
257
  * Supported embed types: `LiveboardEmbed`
258
+ * @version SDK: 1.32.0 | ThoughtSpot: 10.0.0.cl
255
259
  * @example
256
260
  * ```js
257
261
  * const embed = new LiveboardEmbed('#tsEmbed', {
@@ -261,7 +265,6 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
261
265
  * });
262
266
  * embed.render();
263
267
  * ```
264
- * @version SDK: 1.32.0 | ThoughtSpot: 10.0.0.cl
265
268
  */
266
269
  showPreviewLoader?: boolean;
267
270
  /**
@@ -269,13 +272,14 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
269
272
  *
270
273
  * Supported embed types: `LiveboardEmbed`
271
274
  * @hidden
272
- * @version SDK: 1.35.0 | ThoughtSpot:10.6.0.cl
275
+ * @version SDK: 1.35.0 | ThoughtSpot: 10.6.0.cl
273
276
  * @example
274
277
  * ```js
275
278
  * const embed = new LiveboardEmbed('#tsEmbed', {
276
279
  * ... //other embed view config
277
- * oAuthPollingInterval: value in milliseconds,
280
+ * oAuthPollingInterval: 30000,
278
281
  * })
282
+ * ```
279
283
  */
280
284
  oAuthPollingInterval?: number;
281
285
 
@@ -284,36 +288,39 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
284
288
  *
285
289
  * Supported embed types: `LiveboardEmbed`
286
290
  * @hidden
287
- * @version SDK: 1.35.0 | ThoughtSpot:10.6.0.cl
291
+ * @version SDK: 1.35.0 | ThoughtSpot: 10.6.0.cl
288
292
  * @example
289
293
  * ```js
290
294
  * const embed = new LiveboardEmbed('#tsEmbed', {
291
295
  * ... //other embed view config
292
296
  * isForceRedirect: false,
293
297
  * })
298
+ * ```
294
299
  */
295
300
  isForceRedirect?: boolean;
296
301
 
297
302
  /**
298
303
  * The source connection ID for authentication.
299
- * @hidden
300
- * @version SDK: 1.35.0 | ThoughtSpot:10.6.0.cl
301
304
  *
302
305
  * Supported embed types: `LiveboardEmbed`
306
+ * @hidden
307
+ * @version SDK: 1.35.0 | ThoughtSpot: 10.6.0.cl
303
308
  * @example
304
309
  * ```js
305
310
  * const embed = new LiveboardEmbed('#tsEmbed', {
306
311
  * ... //other embed view config
307
312
  * dataSourceId: '',
308
313
  * })
314
+ * ```
309
315
  */
310
316
  dataSourceId?: string;
311
317
  /**
312
- * The list of tab IDs to hide from the embedded.
313
- * This Tabs will be hidden from their respective LBs.
314
- * Use this to hide an tabID.
318
+ * The list of tab IDs to hide from the embedded Liveboard.
319
+ * These tabs will be hidden from their respective Liveboards.
320
+ * Use this to hide a tab ID.
315
321
  *
316
322
  * Supported embed types: `LiveboardEmbed`
323
+ * @version SDK: 1.26.0 | ThoughtSpot: 9.7.0.cl, 10.1.0.sw
317
324
  * @example
318
325
  * ```js
319
326
  * const embed = new LiveboardEmbed('#tsEmbed', {
@@ -324,7 +331,6 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
324
331
  * ]
325
332
  * });
326
333
  * ```
327
- * @version SDK: 1.26.0 | ThoughtSpot: 9.7.0.cl, 10.1.0.sw
328
334
  */
329
335
  hiddenTabs?: string[];
330
336
  /**
@@ -348,7 +354,8 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
348
354
  */
349
355
  visibleTabs?: string[];
350
356
  /**
351
- * This flag is used to enable/disable the styling and grouping in a Liveboard
357
+ * This flag is used to enable/disable the styling and grouping in a Liveboard. Use {@link isLiveboardMasterpiecesEnabled} instead.
358
+ * @deprecated This flag is deprecated.
352
359
  *
353
360
  * Supported embed types: `LiveboardEmbed`, `AppEmbed`
354
361
  * @type {boolean}
@@ -364,7 +371,8 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
364
371
  */
365
372
  isLiveboardStylingAndGroupingEnabled?: boolean;
366
373
  /**
367
- * This flag is used to enable/disable the png embedding of liveboard in scheduled mails
374
+ * This flag is used to enable/disable the png embedding of liveboard in scheduled
375
+ * mails
368
376
  *
369
377
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
370
378
  * @type {boolean}
@@ -414,6 +422,9 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
414
422
  /**
415
423
  * This flag is used to enable the full height lazy load data.
416
424
  *
425
+ * @type {boolean}
426
+ * @version SDK: 1.40.0 | ThoughtSpot: 10.12.0.cl
427
+ * @default false
417
428
  * @example
418
429
  * ```js
419
430
  * const embed = new LiveboardEmbed('#embed-container', {
@@ -422,33 +433,29 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
422
433
  * lazyLoadingForFullHeight: true,
423
434
  * })
424
435
  * ```
425
- *
426
- * @type {boolean}
427
- * @default false
428
- * @version SDK: 1.40.0 | ThoughtSpot:10.12.0.cl
429
436
  */
430
437
  lazyLoadingForFullHeight?: boolean;
431
438
  /**
432
439
  * The margin to be used for lazy loading.
433
440
  *
434
441
  * For example, if the margin is set to '10px',
435
- * the visualization will be loaded 10px before the its top edge is visible in the
442
+ * the visualization will be loaded 10px before its top edge is visible in the
436
443
  * viewport.
437
444
  *
438
445
  * The format is similar to CSS margin.
439
446
  *
447
+ * @type {string}
448
+ * @version SDK: 1.40.0 | ThoughtSpot: 10.12.0.cl
440
449
  * @example
441
450
  * ```js
442
451
  * const embed = new LiveboardEmbed('#embed-container', {
443
452
  * // ...other options
444
453
  * fullHeight: true,
445
454
  * lazyLoadingForFullHeight: true,
446
- * // Using 0px, the visualization will be only loaded when its visible in the viewport.
455
+ * // Using 0px, the visualization will be only loaded when it's visible in the viewport.
447
456
  * lazyLoadingMargin: '0px',
448
457
  * })
449
458
  * ```
450
- * @type {string}
451
- * @version SDK: 1.40.0 | ThoughtSpot:10.12.0.cl
452
459
  */
453
460
  lazyLoadingMargin?: string;
454
461
  /**
@@ -456,6 +463,8 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
456
463
  * of the spotter underneath the chat input.
457
464
  * default is false.
458
465
  *
466
+ * @type {boolean}
467
+ * @version SDK: 1.41.1 | ThoughtSpot: 10.5.0.cl
459
468
  * @example
460
469
  * ```js
461
470
  * const embed = new LiveboardEmbed('#embed-container', {
@@ -463,14 +472,13 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
463
472
  * showSpotterLimitations: true,
464
473
  * })
465
474
  * ```
466
- * @type {boolean}
467
- * @version SDK: 1.41.1 | ThoughtSpot: 10.5.0.cl
468
475
  */
469
476
  showSpotterLimitations?: boolean;
470
477
  /**
471
478
  * updatedSpotterChatPrompt : Controls the updated spotter chat prompt.
472
479
  *
473
480
  * Supported embed types: `LiveboardEmbed`
481
+ * @version SDK: 1.45.0 | ThoughtSpot: 26.2.0.cl
474
482
  * @default false
475
483
  * @example
476
484
  * ```js
@@ -479,7 +487,6 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
479
487
  * updatedSpotterChatPrompt : true,
480
488
  * })
481
489
  * ```
482
- * @version SDK: 1.45.0 | ThoughtSpot: 26.2.0.cl
483
490
  */
484
491
  updatedSpotterChatPrompt?: boolean;
485
492
  /**
@@ -487,6 +494,7 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
487
494
  * branding in tool response cards.
488
495
  *
489
496
  * Supported embed types: `LiveboardEmbed`
497
+ * @version SDK: 1.46.0 | ThoughtSpot: 26.4.0.cl
490
498
  * @example
491
499
  * ```js
492
500
  * const embed = new LiveboardEmbed('#tsEmbed', {
@@ -497,7 +505,6 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
497
505
  * },
498
506
  * })
499
507
  * ```
500
- * @version SDK: 1.46.0 | ThoughtSpot: 26.4.0.cl
501
508
  */
502
509
  spotterChatConfig?: SpotterChatViewConfig;
503
510
  }
@@ -506,6 +513,7 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
506
513
  * Embed a ThoughtSpot Liveboard or visualization. When rendered it already
507
514
  * waits for the authentication to complete, so you need not wait for
508
515
  * `AuthStatus.SUCCESS`.
516
+ * @group Embed components
509
517
  * @example
510
518
  * ```js
511
519
  * import { .. } from '@thoughtspot/visual-embed-sdk';
@@ -515,7 +523,6 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
515
523
  * // .. other params here.
516
524
  * })
517
525
  * ```
518
- * @group Embed components
519
526
  */
520
527
  export class LiveboardEmbed extends V1Embed {
521
528
  protected viewConfig: LiveboardViewConfig;
@@ -724,8 +731,9 @@ export class LiveboardEmbed extends V1Embed {
724
731
  activeTabId: string,
725
732
  personalizedViewId?: string,
726
733
  ) {
727
- // Extract view from liveboardId if passed along with it (legacy approach)
728
- // View must be appended as query param at the end, not embedded in path
734
+ // Extract view from liveboardId if passed along with it (legacy
735
+ // approach) View must be appended as query param at the end, not
736
+ // embedded in path
729
737
  let liveboardGuid = liveboardId;
730
738
  let legacyViewId: string | undefined;
731
739
 
@@ -736,7 +744,8 @@ export class LiveboardEmbed extends V1Embed {
736
744
  legacyViewId = params.get('view') || undefined;
737
745
  }
738
746
 
739
- // personalizedViewId takes precedence over legacyViewId (when passed as part of liveboardId)
747
+ // personalizedViewId takes precedence over legacyViewId (when passed
748
+ // as part of liveboardId)
740
749
  const effectiveViewId = personalizedViewId || legacyViewId;
741
750
 
742
751
  let suffix = `/embed/viz/${liveboardGuid}`;
package/src/embed/sage.ts CHANGED
@@ -30,7 +30,7 @@ export interface SearchOptions {
30
30
  /**
31
31
  * The configuration attributes for the embedded Natural language search view. Based on
32
32
  * GPT and LLM.
33
- * @version: SDK: 1.23.0 | ThoughtSpot: 9.8.0.cl, 9.8.0.sw
33
+ * @version SDK: 1.23.0 | ThoughtSpot: 9.8.0.cl, 9.8.0.sw
34
34
  *
35
35
  * Note: This embed will be deprecated from SDK: 1.40.0 | ThoughtSpot: 10.13.0.cl
36
36
  * @group Embed components
@@ -85,14 +85,14 @@ export interface SageViewConfig
85
85
  hideAutocompleteSuggestions?: boolean;
86
86
  /**
87
87
  * Show or hide autocomplete suggestions for the search query string.
88
+ * You can use {@link hideAutocompleteSuggestions} instead.
88
89
  * @deprecated
89
90
  * Currently, the object suggestions will not be shown for Natural Language Search.
90
- * You can use {@link hideAutocompleteSuggestions} instead.
91
91
  */
92
92
  showObjectSuggestions?: boolean;
93
93
  /**
94
94
  * Show or hide sample questions.
95
- * The sample questions are autogenerated based on the data Model.
95
+ * The sample questions are autogenerated based on the data model
96
96
  * selected for the search operation.
97
97
  *
98
98
  * Supported embed types: `SageEmbed`
@@ -122,6 +122,7 @@ export interface SageViewConfig
122
122
  * the token string in the search bar.
123
123
  *
124
124
  * Supported embed types: `SageEmbed`
125
+ * @version SDK: 1.26.0 | ThoughtSpot: 9.8.0.cl, 9.8.0.sw
125
126
  * @example
126
127
  * ```js
127
128
  * searchOptions: {
@@ -129,13 +130,12 @@ export interface SageViewConfig
129
130
  * executeSearch: true,
130
131
  * }
131
132
  * ```
132
- * @version SDK: 1.26.0 | ThoughtSpot: 9.8.0.cl, 9.8.0.sw
133
133
  */
134
134
  searchOptions?: SearchOptions;
135
135
  }
136
136
  /**
137
137
  * Embed ThoughtSpot LLM and GPT-based Natural Language Search component.
138
- * @version: SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl, 9.5.1-sw
138
+ * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl, 9.5.1-sw
139
139
  *
140
140
  * Note: This embed will be deprecated from SDK: 1.40.0 | ThoughtSpot: 10.13.0.cl
141
141
  * @group Embed components
@@ -147,7 +147,7 @@ export class SageEmbed extends V1Embed {
147
147
  */
148
148
  protected viewConfig: SageViewConfig;
149
149
 
150
- // eslint-disable-next-line no-useless-constructor
150
+
151
151
  constructor(domSelector: DOMSelector, viewConfig: SageViewConfig) {
152
152
  viewConfig.embedComponentType = 'SageEmbed';
153
153
  super(domSelector, viewConfig);
@@ -12,8 +12,8 @@ export interface SearchBarViewConfig extends BaseViewConfig, SearchLiveboardComm
12
12
  * Only a single data source is supported currently.
13
13
  *
14
14
  * Supported embed types: `SearchBarEmbed`
15
+ * @version SDK: 1.1.0 | ThoughtSpot: 8.1.1-sw
15
16
  * @deprecated Use `dataSource` instead
16
- * @version: SDK: 1.1.0 | ThoughtSpot: 8.1.1-sw
17
17
  * @example
18
18
  * ```js
19
19
  * const embed = new SearchBarEmbed('#tsEmbed', {
@@ -27,7 +27,7 @@ export interface SearchBarViewConfig extends BaseViewConfig, SearchLiveboardComm
27
27
  * Pass the ID of the source to be selected.
28
28
  *
29
29
  * Supported embed types: `SearchBarEmbed`
30
- * @version: SDK: 1.19.0, ThoughtSpot 9.0.0.cl, 9.0.1.sw
30
+ * @version SDK: 1.19.0 | ThoughtSpot: 9.0.0.cl, 9.0.1.sw
31
31
  * @example
32
32
  * ```js
33
33
  * const embed = new SearchBarEmbed('#tsEmbed', {
@@ -41,7 +41,7 @@ export interface SearchBarViewConfig extends BaseViewConfig, SearchLiveboardComm
41
41
  * Boolean to define if the last selected data source should be used
42
42
  *
43
43
  * Supported embed types: `SearchBarEmbed`
44
- * @version: SDK: 1.24.0, ThoughtSpot 9.5.0.cl, 9.5.0.sw
44
+ * @version SDK: 1.24.0 | ThoughtSpot: 9.5.0.cl, 9.5.0.sw
45
45
  * @example
46
46
  * ```js
47
47
  * const embed = new SearchBarEmbed('#tsEmbed', {
@@ -63,7 +63,7 @@ export interface SearchBarViewConfig extends BaseViewConfig, SearchLiveboardComm
63
63
  * the token string in the search bar.
64
64
  *
65
65
  * Supported embed types: `SearchBarEmbed`
66
- * @version: SDK: 1.2.0 | ThoughtSpot: 9.4.0.sw
66
+ * @version SDK: 1.2.0 | ThoughtSpot: 9.4.0.sw
67
67
  * @example
68
68
  * ```js
69
69
  * const embed = new SearchBarEmbed('#tsEmbed', {
@@ -81,10 +81,10 @@ export interface SearchBarViewConfig extends BaseViewConfig, SearchLiveboardComm
81
81
  * If set to true, the search token string is not appended to the URL.
82
82
  *
83
83
  * Supported embed types: `SearchBarEmbed`
84
- * @version: SDK: 1.35.7 | ThoughtSpot: 10.8.0.cl
84
+ * @version SDK: 1.35.7 | ThoughtSpot: 10.8.0.cl
85
85
  * @example
86
86
  * ```js
87
- * const embed = new SearchEmbed('#tsEmbed', {
87
+ * const embed = new SearchBarEmbed('#tsEmbed', {
88
88
  * searchOptions: {
89
89
  * searchTokenString: '[quantity purchased] [region]',
90
90
  * executeSearch: true,
@@ -102,7 +102,7 @@ export interface SearchAppInitData extends DefaultAppInitData {
102
102
 
103
103
  /**
104
104
  * Embed ThoughtSpot search bar
105
- * @version: SDK: 1.18.0 | ThoughtSpot: 8.10.0.cl, 9.0.1-sw
105
+ * @version SDK: 1.18.0 | ThoughtSpot: 8.10.0.cl, 9.0.1-sw
106
106
  * @group Embed components
107
107
  */
108
108
  export class SearchBarEmbed extends TsEmbed {
@@ -527,7 +527,7 @@ describe('Search embed tests', () => {
527
527
  test('should set dataPanelCustomGroupsAccordionInitialState to EXPAND_FIRST when passed', async () => {
528
528
  const searchEmbed = new SearchBarEmbed(getRootEl() as any, {
529
529
  ...defaultViewConfig,
530
- // eslint-disable-next-line max-len
530
+
531
531
  });
532
532
  searchEmbed.render();
533
533
  await executeAfterWait(() => {
@@ -541,7 +541,7 @@ describe('Search embed tests', () => {
541
541
  test('should set dataPanelCustomGroupsAccordionInitialState to EXPAND_FIRST when passed', async () => {
542
542
  const searchEmbed = new SearchEmbed(getRootEl(), {
543
543
  ...defaultViewConfig,
544
- // eslint-disable-next-line max-len
544
+
545
545
  dataPanelCustomGroupsAccordionInitialState:
546
546
  DataPanelCustomColumnGroupsAccordionState.EXPAND_FIRST,
547
547
  });
@@ -77,7 +77,7 @@ export interface SearchViewConfig
77
77
  * but can be expanded manually.
78
78
  *
79
79
  * Supported embed types: `SearchEmbed`
80
- * @version: SDK: 1.1.0 | ThoughtSpot: 8.1.0.sw
80
+ * @version SDK: 1.1.0 | ThoughtSpot: 8.1.0.sw
81
81
  * @example
82
82
  * ```js
83
83
  * const embed = new SearchEmbed('#tsEmbed', {
@@ -92,7 +92,7 @@ export interface SearchViewConfig
92
92
  * but can be expanded manually.
93
93
  *
94
94
  * Supported embed types: `SearchEmbed`
95
- * @version: SDK: 1.34.0 | ThoughtSpot: 10.3.0.cl
95
+ * @version SDK: 1.34.0 | ThoughtSpot: 10.3.0.cl
96
96
  * @example
97
97
  * ```js
98
98
  * const embed = new SearchEmbed('#tsEmbed', {
@@ -106,7 +106,7 @@ export interface SearchViewConfig
106
106
  * Show or hide the data sources panel.
107
107
  *
108
108
  * Supported embed types: `SearchEmbed`
109
- * @version: SDK: 1.2.0 | ThoughtSpot: 9.1.0.sw
109
+ * @version SDK: 1.2.0 | ThoughtSpot: 9.1.0.sw
110
110
  * @example
111
111
  * ```js
112
112
  * const embed = new SearchEmbed('#tsEmbed', {
@@ -122,7 +122,7 @@ export interface SearchViewConfig
122
122
  * using raw answer data.
123
123
  *
124
124
  * Supported embed types: `SearchEmbed`
125
- * @version: SDK: 1.2.0 | ThoughtSpot: 9.1.0.sw
125
+ * @version SDK: 1.2.0 | ThoughtSpot: 9.1.0.sw
126
126
  * @example
127
127
  * ```js
128
128
  * const embed = new SearchEmbed('#tsEmbed', {
@@ -151,7 +151,7 @@ export interface SearchViewConfig
151
151
  * format for presenting search data.
152
152
  *
153
153
  * Supported embed types: `SearchEmbed`
154
- * @version: SDK: 1.1.0 | ThoughtSpot: 8.1.0.sw
154
+ * @version SDK: 1.1.0 | ThoughtSpot: 8.1.0.sw
155
155
  * @example
156
156
  * ```js
157
157
  * const embed = new SearchEmbed('#tsEmbed', {
@@ -164,6 +164,7 @@ export interface SearchViewConfig
164
164
  /**
165
165
  * The array of data source GUIDs to set on load.
166
166
  * Only a single data source is supported currently.
167
+ * Use {@link dataSource} instead.
167
168
  * @deprecated Use `dataSource` instead.
168
169
  *
169
170
  * Supported embed types: `SearchEmbed`
@@ -177,10 +178,10 @@ export interface SearchViewConfig
177
178
  */
178
179
  dataSources?: string[];
179
180
  /**
180
- * The array of data source GUIDs to set on load.
181
+ * The data source GUID to set on load.
181
182
  *
182
183
  * Supported embed types: `SearchEmbed`
183
- * @version: SDK: 1.19.0
184
+ * @version SDK: 1.19.0
184
185
  * @example
185
186
  * ```js
186
187
  * const embed = new SearchEmbed('#tsEmbed', {
@@ -192,9 +193,9 @@ export interface SearchViewConfig
192
193
  dataSource?: string;
193
194
  /**
194
195
  * The initial search query to load the answer with.
196
+ * Use {@link searchOptions} instead.
195
197
  * @deprecated
196
198
  *
197
- * Use {@link searchOptions} instead.
198
199
  */
199
200
  searchQuery?: string;
200
201
  /**
@@ -223,7 +224,7 @@ export interface SearchViewConfig
223
224
  * If set to true, the search token string is not appended to the URL.
224
225
  *
225
226
  * Supported embed types: `SearchEmbed`
226
- * @version: SDK: 1.35.7 | ThoughtSpot: 10.8.0.cl
227
+ * @version SDK: 1.35.7 | ThoughtSpot: 10.8.0.cl
227
228
  * @example
228
229
  * ```js
229
230
  * const embed = new SearchEmbed('#tsEmbed', {
@@ -240,7 +241,7 @@ export interface SearchViewConfig
240
241
  * The GUID of a saved answer to load initially.
241
242
  *
242
243
  * Supported embed types: `SearchEmbed`
243
- * @version: SDK: 1.1.0 | ThoughtSpot: 8.1.0.sw
244
+ * @version SDK: 1.1.0 | ThoughtSpot: 8.1.0.sw
244
245
  * @example
245
246
  * ```js
246
247
  * const embed = new SearchEmbed('#tsEmbed', {
@@ -269,14 +270,14 @@ export interface SearchViewConfig
269
270
  * Flag to set if last selected dataSource should be used
270
271
  *
271
272
  * Supported embed types: `SearchEmbed`
272
- * @version: SDK: 1.24.0
273
+ * @version SDK: 1.24.0
273
274
  */
274
275
  useLastSelectedSources?: boolean;
275
276
  /**
276
277
  * To set the initial state of the search bar in case of saved-answers.
277
- * @default false
278
278
  * @version SDK: 1.32.0 | ThoughtSpot: 10.0.0.cl
279
279
  * @deprecated Use {@link collapseSearchBar} instead
280
+ * @default false
280
281
  */
281
282
  collapseSearchBarInitially?: boolean;
282
283
  /**
@@ -2034,6 +2034,36 @@ describe('Unit test case for ts embed', () => {
2034
2034
  + `&locale=ja-JP${defaultParamsPost}#/home`,
2035
2035
  );
2036
2036
  });
2037
+ it('Sets both params when enableLinkOverridesV2 is set', async () => {
2038
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
2039
+ frameParams: {
2040
+ width: '100%',
2041
+ height: '100%',
2042
+ },
2043
+ liveboardId: 'test-lb',
2044
+ enableLinkOverridesV2: true,
2045
+ });
2046
+ await liveboardEmbed.render();
2047
+ expectUrlMatchesWithParams(
2048
+ getIFrameSrc(),
2049
+ `http://${thoughtSpotHost}/?embedApp=true&${defaultParamsForPinboardEmbed}&enableLinkOverridesV2=true&linkOverride=true${defaultParamsPost}#/embed/viz/test-lb`,
2050
+ );
2051
+ });
2052
+ it('Sets only linkOverride when enableLinkOverridesV2 is not set', async () => {
2053
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
2054
+ frameParams: {
2055
+ width: '100%',
2056
+ height: '100%',
2057
+ },
2058
+ liveboardId: 'test-lb',
2059
+ linkOverride: true,
2060
+ });
2061
+ await liveboardEmbed.render();
2062
+ expectUrlMatchesWithParams(
2063
+ getIFrameSrc(),
2064
+ `http://${thoughtSpotHost}/?embedApp=true&${defaultParamsForPinboardEmbed}&linkOverride=true${defaultParamsPost}#/embed/viz/test-lb`,
2065
+ );
2066
+ });
2037
2067
  it('Sets the iconSprite url', async () => {
2038
2068
  const appEmbed = new AppEmbed(getRootEl(), {
2039
2069
  frameParams: {
@@ -3026,7 +3056,8 @@ describe('Unit test case for ts embed', () => {
3026
3056
  expect.any(Object),
3027
3057
  true
3028
3058
  );
3029
- // Check that logger.error was called with the token refresh error
3059
+ // Check that logger.error was called with the token refresh
3060
+ // error
3030
3061
  const errorCalls = (logger.error as jest.Mock).mock.calls.filter(
3031
3062
  (call) => call[0]?.includes(ERROR_MESSAGE.INVALID_TOKEN_ERROR) && call[0]?.includes('Token fetch failed')
3032
3063
  );
@@ -4513,4 +4544,16 @@ describe('ShowPreRender with UpdateEmbedParams', () => {
4513
4544
 
4514
4545
  handleErrorSpy.mockRestore();
4515
4546
  });
4547
+
4548
+ test('should set allow "local-network-access" correctly on the iframe', async () => {
4549
+ const appEmbed = new AppEmbed(getRootEl(), {
4550
+ frameParams: { width: '100%', height: '100%' },
4551
+ });
4552
+ await appEmbed.render();
4553
+ const iframe = getIFrameEl();
4554
+ expect(iframe.allow).toContain('local-network-access');
4555
+ expect(iframe.allow).toContain('fullscreen');
4556
+ expect(iframe.allow).toContain('clipboard-read');
4557
+ expect(iframe.allow).toContain('clipboard-write');
4558
+ });
4516
4559
  });