@thoughtspot/visual-embed-sdk 1.40.1-alpha.2 → 1.40.1-alpha.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 (470) hide show
  1. package/cjs/package.json +7 -6
  2. package/cjs/src/css-variables.d.ts +316 -0
  3. package/cjs/src/css-variables.d.ts.map +1 -1
  4. package/cjs/src/embed/app.d.ts +6 -1
  5. package/cjs/src/embed/app.d.ts.map +1 -1
  6. package/cjs/src/embed/app.js +27 -1
  7. package/cjs/src/embed/app.js.map +1 -1
  8. package/cjs/src/embed/app.spec.js +72 -5
  9. package/cjs/src/embed/app.spec.js.map +1 -1
  10. package/cjs/src/embed/bodyless-conversation.d.ts +0 -1
  11. package/cjs/src/embed/bodyless-conversation.d.ts.map +1 -1
  12. package/cjs/src/embed/bodyless-conversation.js +3 -7
  13. package/cjs/src/embed/bodyless-conversation.js.map +1 -1
  14. package/cjs/src/embed/conversation.d.ts +63 -3
  15. package/cjs/src/embed/conversation.d.ts.map +1 -1
  16. package/cjs/src/embed/conversation.js +11 -8
  17. package/cjs/src/embed/conversation.js.map +1 -1
  18. package/cjs/src/embed/conversation.spec.js +102 -0
  19. package/cjs/src/embed/conversation.spec.js.map +1 -1
  20. package/cjs/src/embed/liveboard.d.ts +11 -3
  21. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  22. package/cjs/src/embed/liveboard.js +25 -34
  23. package/cjs/src/embed/liveboard.js.map +1 -1
  24. package/cjs/src/embed/liveboard.spec.js +204 -29
  25. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  26. package/cjs/src/embed/sage.d.ts +0 -1
  27. package/cjs/src/embed/sage.d.ts.map +1 -1
  28. package/cjs/src/embed/sage.js +6 -10
  29. package/cjs/src/embed/sage.js.map +1 -1
  30. package/cjs/src/embed/search-bar.d.ts +0 -1
  31. package/cjs/src/embed/search-bar.d.ts.map +1 -1
  32. package/cjs/src/embed/search-bar.js +7 -11
  33. package/cjs/src/embed/search-bar.js.map +1 -1
  34. package/cjs/src/embed/search.d.ts +0 -1
  35. package/cjs/src/embed/search.d.ts.map +1 -1
  36. package/cjs/src/embed/search.js +8 -7
  37. package/cjs/src/embed/search.js.map +1 -1
  38. package/cjs/src/embed/ts-embed.d.ts +22 -9
  39. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  40. package/cjs/src/embed/ts-embed.js +77 -60
  41. package/cjs/src/embed/ts-embed.js.map +1 -1
  42. package/cjs/src/embed/ts-embed.spec.js +175 -3
  43. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  44. package/cjs/src/types.d.ts +190 -55
  45. package/cjs/src/types.d.ts.map +1 -1
  46. package/cjs/src/types.js +157 -52
  47. package/cjs/src/types.js.map +1 -1
  48. package/cjs/src/utils/liveboardService/liveboardService.d.ts +21 -6
  49. package/cjs/src/utils/liveboardService/liveboardService.d.ts.map +1 -1
  50. package/cjs/src/utils/liveboardService/liveboardService.js +21 -6
  51. package/cjs/src/utils/liveboardService/liveboardService.js.map +1 -1
  52. package/cjs/src/utils/processData.d.ts.map +1 -1
  53. package/cjs/src/utils/processData.js +10 -0
  54. package/cjs/src/utils/processData.js.map +1 -1
  55. package/cjs/src/utils/processData.spec.js +11 -0
  56. package/cjs/src/utils/processData.spec.js.map +1 -1
  57. package/dist/{index-D1pyb7RG.js → es/index-BwesxE_h.js} +0 -2
  58. package/dist/es/index.js +17539 -0
  59. package/dist/es/react/index.js +24039 -0
  60. package/dist/es/react/src/auth.d.ts +171 -0
  61. package/dist/es/react/src/auth.d.ts.map +1 -0
  62. package/dist/es/react/src/auth.spec.d.ts +15 -0
  63. package/dist/es/react/src/auth.spec.d.ts.map +1 -0
  64. package/dist/es/react/src/authToken.d.ts +17 -0
  65. package/dist/es/react/src/authToken.d.ts.map +1 -0
  66. package/dist/es/react/src/authToken.spec.d.ts +2 -0
  67. package/dist/es/react/src/authToken.spec.d.ts.map +1 -0
  68. package/dist/es/react/src/config.d.ts +21 -0
  69. package/dist/es/react/src/config.d.ts.map +1 -0
  70. package/dist/es/react/src/config.spec.d.ts +5 -0
  71. package/dist/es/react/src/config.spec.d.ts.map +1 -0
  72. package/dist/es/react/src/css-variables.d.ts +384 -0
  73. package/dist/es/react/src/css-variables.d.ts.map +1 -0
  74. package/dist/es/react/src/embed/app.d.ts +478 -0
  75. package/dist/es/react/src/embed/app.d.ts.map +1 -0
  76. package/dist/es/react/src/embed/app.spec.d.ts +2 -0
  77. package/dist/es/react/src/embed/app.spec.d.ts.map +1 -0
  78. package/dist/es/react/src/embed/base.d.ts +136 -0
  79. package/dist/es/react/src/embed/base.d.ts.map +1 -0
  80. package/dist/es/react/src/embed/base.spec.d.ts +2 -0
  81. package/dist/es/react/src/embed/base.spec.d.ts.map +1 -0
  82. package/dist/es/react/src/embed/bodyless-conversation.d.ts +26 -0
  83. package/dist/es/react/src/embed/bodyless-conversation.d.ts.map +1 -0
  84. package/dist/es/react/src/embed/bodyless-conversation.spec.d.ts +2 -0
  85. package/dist/es/react/src/embed/bodyless-conversation.spec.d.ts.map +1 -0
  86. package/dist/es/react/src/embed/conversation.d.ts +43 -0
  87. package/dist/es/react/src/embed/conversation.d.ts.map +1 -0
  88. package/dist/es/react/src/embed/conversation.spec.d.ts +2 -0
  89. package/dist/es/react/src/embed/conversation.spec.d.ts.map +1 -0
  90. package/dist/es/react/src/embed/embed.spec.d.ts +2 -0
  91. package/dist/es/react/src/embed/embed.spec.d.ts.map +1 -0
  92. package/dist/es/react/src/embed/embedConfig.d.ts +17 -0
  93. package/dist/es/react/src/embed/embedConfig.d.ts.map +1 -0
  94. package/dist/es/react/src/embed/events.spec.d.ts +2 -0
  95. package/dist/es/react/src/embed/events.spec.d.ts.map +1 -0
  96. package/dist/es/react/src/embed/liveboard.d.ts +379 -0
  97. package/dist/es/react/src/embed/liveboard.d.ts.map +1 -0
  98. package/dist/es/react/src/embed/liveboard.spec.d.ts +2 -0
  99. package/dist/es/react/src/embed/liveboard.spec.d.ts.map +1 -0
  100. package/dist/es/react/src/embed/pinboard.spec.d.ts +2 -0
  101. package/dist/es/react/src/embed/pinboard.spec.d.ts.map +1 -0
  102. package/dist/es/react/src/embed/sage.d.ts +148 -0
  103. package/dist/es/react/src/embed/sage.d.ts.map +1 -0
  104. package/dist/es/react/src/embed/sage.spec.d.ts +2 -0
  105. package/dist/es/react/src/embed/sage.spec.d.ts.map +1 -0
  106. package/dist/es/react/src/embed/search-bar.d.ts +93 -0
  107. package/dist/es/react/src/embed/search-bar.d.ts.map +1 -0
  108. package/dist/es/react/src/embed/search.d.ts +282 -0
  109. package/dist/es/react/src/embed/search.d.ts.map +1 -0
  110. package/dist/es/react/src/embed/search.spec.d.ts +2 -0
  111. package/dist/es/react/src/embed/search.spec.d.ts.map +1 -0
  112. package/dist/es/react/src/embed/ts-embed-trigger.spec.d.ts +2 -0
  113. package/dist/es/react/src/embed/ts-embed-trigger.spec.d.ts.map +1 -0
  114. package/dist/es/react/src/embed/ts-embed.d.ts +374 -0
  115. package/dist/es/react/src/embed/ts-embed.d.ts.map +1 -0
  116. package/dist/es/react/src/embed/ts-embed.spec.d.ts +2 -0
  117. package/dist/es/react/src/embed/ts-embed.spec.d.ts.map +1 -0
  118. package/dist/es/react/src/errors.d.ts +19 -0
  119. package/dist/es/react/src/errors.d.ts.map +1 -0
  120. package/dist/es/react/src/index.d.ts +29 -0
  121. package/dist/es/react/src/index.d.ts.map +1 -0
  122. package/dist/es/react/src/mixpanel-service.d.ts +35 -0
  123. package/dist/es/react/src/mixpanel-service.d.ts.map +1 -0
  124. package/dist/es/react/src/mixpanel-service.spec.d.ts +2 -0
  125. package/dist/es/react/src/mixpanel-service.spec.d.ts.map +1 -0
  126. package/dist/es/react/src/react/all-types-export.d.ts +3 -0
  127. package/dist/es/react/src/react/all-types-export.d.ts.map +1 -0
  128. package/dist/es/react/src/react/all-types-export.spec.d.ts +2 -0
  129. package/dist/es/react/src/react/all-types-export.spec.d.ts.map +1 -0
  130. package/dist/es/react/src/react/index.d.ts +254 -0
  131. package/dist/es/react/src/react/index.d.ts.map +1 -0
  132. package/dist/es/react/src/react/index.spec.d.ts +3 -0
  133. package/dist/es/react/src/react/index.spec.d.ts.map +1 -0
  134. package/dist/es/react/src/react/util.d.ts +19 -0
  135. package/dist/es/react/src/react/util.d.ts.map +1 -0
  136. package/dist/es/react/src/test/test-utils.d.ts +61 -0
  137. package/dist/es/react/src/test/test-utils.d.ts.map +1 -0
  138. package/dist/es/react/src/tokenizedFetch.d.ts +18 -0
  139. package/dist/es/react/src/tokenizedFetch.d.ts.map +1 -0
  140. package/dist/es/react/src/types.d.ts +4363 -0
  141. package/dist/es/react/src/types.d.ts.map +1 -0
  142. package/dist/es/react/src/utils/authService/authService.d.ts +45 -0
  143. package/dist/es/react/src/utils/authService/authService.d.ts.map +1 -0
  144. package/dist/es/react/src/utils/authService/authService.spec.d.ts +2 -0
  145. package/dist/es/react/src/utils/authService/authService.spec.d.ts.map +1 -0
  146. package/dist/es/react/src/utils/authService/index.d.ts +3 -0
  147. package/dist/es/react/src/utils/authService/index.d.ts.map +1 -0
  148. package/dist/es/react/src/utils/authService/tokenizedAuthService.d.ts +22 -0
  149. package/dist/es/react/src/utils/authService/tokenizedAuthService.d.ts.map +1 -0
  150. package/dist/es/react/src/utils/authService/tokenizedAuthService.spec.d.ts +2 -0
  151. package/dist/es/react/src/utils/authService/tokenizedAuthService.spec.d.ts.map +1 -0
  152. package/dist/es/react/src/utils/global-styles.d.ts +2 -0
  153. package/dist/es/react/src/utils/global-styles.d.ts.map +1 -0
  154. package/dist/es/react/src/utils/global-styles.spec.d.ts +2 -0
  155. package/dist/es/react/src/utils/global-styles.spec.d.ts.map +1 -0
  156. package/dist/es/react/src/utils/graphql/answerService/answer-queries.d.ts +10 -0
  157. package/dist/es/react/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -0
  158. package/dist/es/react/src/utils/graphql/answerService/answerService.d.ts +180 -0
  159. package/dist/es/react/src/utils/graphql/answerService/answerService.d.ts.map +1 -0
  160. package/dist/es/react/src/utils/graphql/answerService/answerService.spec.d.ts +2 -0
  161. package/dist/es/react/src/utils/graphql/answerService/answerService.spec.d.ts.map +1 -0
  162. package/dist/es/react/src/utils/graphql/graphql-request.d.ts +15 -0
  163. package/dist/es/react/src/utils/graphql/graphql-request.d.ts.map +1 -0
  164. package/dist/es/react/src/utils/graphql/graphql-request.spec.d.ts +2 -0
  165. package/dist/es/react/src/utils/graphql/graphql-request.spec.d.ts.map +1 -0
  166. package/dist/es/react/src/utils/graphql/nlsService/conversation-queries.d.ts +3 -0
  167. package/dist/es/react/src/utils/graphql/nlsService/conversation-queries.d.ts.map +1 -0
  168. package/dist/es/react/src/utils/graphql/nlsService/conversation-service.d.ts +12 -0
  169. package/dist/es/react/src/utils/graphql/nlsService/conversation-service.d.ts.map +1 -0
  170. package/dist/es/react/src/utils/graphql/nlsService/nls-answer-queries.d.ts +2 -0
  171. package/dist/es/react/src/utils/graphql/nlsService/nls-answer-queries.d.ts.map +1 -0
  172. package/dist/es/react/src/utils/graphql/nlsService/nls-answer-service.d.ts +17 -0
  173. package/dist/es/react/src/utils/graphql/nlsService/nls-answer-service.d.ts.map +1 -0
  174. package/dist/es/react/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts +2 -0
  175. package/dist/es/react/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts.map +1 -0
  176. package/dist/es/react/src/utils/graphql/preview-service.d.ts +9 -0
  177. package/dist/es/react/src/utils/graphql/preview-service.d.ts.map +1 -0
  178. package/dist/es/react/src/utils/graphql/preview-service.spec.d.ts +2 -0
  179. package/dist/es/react/src/utils/graphql/preview-service.spec.d.ts.map +1 -0
  180. package/dist/es/react/src/utils/graphql/sourceService.d.ts +8 -0
  181. package/dist/es/react/src/utils/graphql/sourceService.d.ts.map +1 -0
  182. package/dist/es/react/src/utils/graphql/sourceService.spec.d.ts +2 -0
  183. package/dist/es/react/src/utils/graphql/sourceService.spec.d.ts.map +1 -0
  184. package/dist/es/react/src/utils/liveboardService/liveboardService.d.ts +16 -0
  185. package/dist/es/react/src/utils/liveboardService/liveboardService.d.ts.map +1 -0
  186. package/dist/es/react/src/utils/liveboardService/liveboardService.spec.d.ts +2 -0
  187. package/dist/es/react/src/utils/liveboardService/liveboardService.spec.d.ts.map +1 -0
  188. package/dist/es/react/src/utils/logger.d.ts +18 -0
  189. package/dist/es/react/src/utils/logger.d.ts.map +1 -0
  190. package/dist/es/react/src/utils/logger.spec.d.ts +25 -0
  191. package/dist/es/react/src/utils/logger.spec.d.ts.map +1 -0
  192. package/dist/es/react/src/utils/processData.d.ts +22 -0
  193. package/dist/es/react/src/utils/processData.d.ts.map +1 -0
  194. package/dist/es/react/src/utils/processData.spec.d.ts +2 -0
  195. package/dist/es/react/src/utils/processData.spec.d.ts.map +1 -0
  196. package/dist/es/react/src/utils/processTrigger.d.ts +16 -0
  197. package/dist/es/react/src/utils/processTrigger.d.ts.map +1 -0
  198. package/dist/es/react/src/utils/processTrigger.spec.d.ts +2 -0
  199. package/dist/es/react/src/utils/processTrigger.spec.d.ts.map +1 -0
  200. package/dist/es/react/src/utils/reporting.d.ts +16 -0
  201. package/dist/es/react/src/utils/reporting.d.ts.map +1 -0
  202. package/dist/es/react/src/utils/reporting.spec.d.ts +2 -0
  203. package/dist/es/react/src/utils/reporting.spec.d.ts.map +1 -0
  204. package/dist/es/react/src/utils/sessionInfoService.d.ts +66 -0
  205. package/dist/es/react/src/utils/sessionInfoService.d.ts.map +1 -0
  206. package/dist/es/react/src/utils.d.ts +104 -0
  207. package/dist/es/react/src/utils.d.ts.map +1 -0
  208. package/dist/es/react/src/utils.spec.d.ts +2 -0
  209. package/dist/es/react/src/utils.spec.d.ts.map +1 -0
  210. package/dist/es/src/auth.d.ts +171 -0
  211. package/dist/es/src/auth.d.ts.map +1 -0
  212. package/dist/es/src/auth.spec.d.ts +15 -0
  213. package/dist/es/src/auth.spec.d.ts.map +1 -0
  214. package/dist/es/src/authToken.d.ts +17 -0
  215. package/dist/es/src/authToken.d.ts.map +1 -0
  216. package/dist/es/src/authToken.spec.d.ts +2 -0
  217. package/dist/es/src/authToken.spec.d.ts.map +1 -0
  218. package/dist/es/src/config.d.ts +21 -0
  219. package/dist/es/src/config.d.ts.map +1 -0
  220. package/dist/es/src/config.spec.d.ts +5 -0
  221. package/dist/es/src/config.spec.d.ts.map +1 -0
  222. package/dist/es/src/css-variables.d.ts +384 -0
  223. package/dist/es/src/css-variables.d.ts.map +1 -0
  224. package/dist/es/src/embed/app.d.ts +478 -0
  225. package/dist/es/src/embed/app.d.ts.map +1 -0
  226. package/dist/es/src/embed/app.spec.d.ts +2 -0
  227. package/dist/es/src/embed/app.spec.d.ts.map +1 -0
  228. package/dist/es/src/embed/base.d.ts +136 -0
  229. package/dist/es/src/embed/base.d.ts.map +1 -0
  230. package/dist/es/src/embed/base.spec.d.ts +2 -0
  231. package/dist/es/src/embed/base.spec.d.ts.map +1 -0
  232. package/dist/es/src/embed/bodyless-conversation.d.ts +26 -0
  233. package/dist/es/src/embed/bodyless-conversation.d.ts.map +1 -0
  234. package/dist/es/src/embed/bodyless-conversation.spec.d.ts +2 -0
  235. package/dist/es/src/embed/bodyless-conversation.spec.d.ts.map +1 -0
  236. package/dist/es/src/embed/conversation.d.ts +43 -0
  237. package/dist/es/src/embed/conversation.d.ts.map +1 -0
  238. package/dist/es/src/embed/conversation.spec.d.ts +2 -0
  239. package/dist/es/src/embed/conversation.spec.d.ts.map +1 -0
  240. package/dist/es/src/embed/embed.spec.d.ts +2 -0
  241. package/dist/es/src/embed/embed.spec.d.ts.map +1 -0
  242. package/dist/es/src/embed/embedConfig.d.ts +17 -0
  243. package/dist/es/src/embed/embedConfig.d.ts.map +1 -0
  244. package/dist/es/src/embed/events.spec.d.ts +2 -0
  245. package/dist/es/src/embed/events.spec.d.ts.map +1 -0
  246. package/dist/es/src/embed/liveboard.d.ts +379 -0
  247. package/dist/es/src/embed/liveboard.d.ts.map +1 -0
  248. package/dist/es/src/embed/liveboard.spec.d.ts +2 -0
  249. package/dist/es/src/embed/liveboard.spec.d.ts.map +1 -0
  250. package/dist/es/src/embed/pinboard.spec.d.ts +2 -0
  251. package/dist/es/src/embed/pinboard.spec.d.ts.map +1 -0
  252. package/dist/es/src/embed/sage.d.ts +148 -0
  253. package/dist/es/src/embed/sage.d.ts.map +1 -0
  254. package/dist/es/src/embed/sage.spec.d.ts +2 -0
  255. package/dist/es/src/embed/sage.spec.d.ts.map +1 -0
  256. package/dist/es/src/embed/search-bar.d.ts +93 -0
  257. package/dist/es/src/embed/search-bar.d.ts.map +1 -0
  258. package/dist/es/src/embed/search.d.ts +282 -0
  259. package/dist/es/src/embed/search.d.ts.map +1 -0
  260. package/dist/es/src/embed/search.spec.d.ts +2 -0
  261. package/dist/es/src/embed/search.spec.d.ts.map +1 -0
  262. package/dist/es/src/embed/ts-embed-trigger.spec.d.ts +2 -0
  263. package/dist/es/src/embed/ts-embed-trigger.spec.d.ts.map +1 -0
  264. package/dist/es/src/embed/ts-embed.d.ts +374 -0
  265. package/dist/es/src/embed/ts-embed.d.ts.map +1 -0
  266. package/dist/es/src/embed/ts-embed.spec.d.ts +2 -0
  267. package/dist/es/src/embed/ts-embed.spec.d.ts.map +1 -0
  268. package/dist/es/src/errors.d.ts +19 -0
  269. package/dist/es/src/errors.d.ts.map +1 -0
  270. package/dist/es/src/index.d.ts +29 -0
  271. package/dist/es/src/index.d.ts.map +1 -0
  272. package/dist/es/src/mixpanel-service.d.ts +35 -0
  273. package/dist/es/src/mixpanel-service.d.ts.map +1 -0
  274. package/dist/es/src/mixpanel-service.spec.d.ts +2 -0
  275. package/dist/es/src/mixpanel-service.spec.d.ts.map +1 -0
  276. package/dist/es/src/react/all-types-export.d.ts +3 -0
  277. package/dist/es/src/react/all-types-export.d.ts.map +1 -0
  278. package/dist/es/src/react/all-types-export.spec.d.ts +2 -0
  279. package/dist/es/src/react/all-types-export.spec.d.ts.map +1 -0
  280. package/dist/es/src/react/index.d.ts +254 -0
  281. package/dist/es/src/react/index.d.ts.map +1 -0
  282. package/dist/es/src/react/index.spec.d.ts +3 -0
  283. package/dist/es/src/react/index.spec.d.ts.map +1 -0
  284. package/dist/es/src/react/util.d.ts +19 -0
  285. package/dist/es/src/react/util.d.ts.map +1 -0
  286. package/dist/es/src/test/test-utils.d.ts +61 -0
  287. package/dist/es/src/test/test-utils.d.ts.map +1 -0
  288. package/dist/es/src/tokenizedFetch.d.ts +18 -0
  289. package/dist/es/src/tokenizedFetch.d.ts.map +1 -0
  290. package/dist/es/src/types.d.ts +4363 -0
  291. package/dist/es/src/types.d.ts.map +1 -0
  292. package/dist/es/src/utils/authService/authService.d.ts +45 -0
  293. package/dist/es/src/utils/authService/authService.d.ts.map +1 -0
  294. package/dist/es/src/utils/authService/authService.spec.d.ts +2 -0
  295. package/dist/es/src/utils/authService/authService.spec.d.ts.map +1 -0
  296. package/dist/es/src/utils/authService/index.d.ts +3 -0
  297. package/dist/es/src/utils/authService/index.d.ts.map +1 -0
  298. package/dist/es/src/utils/authService/tokenizedAuthService.d.ts +22 -0
  299. package/dist/es/src/utils/authService/tokenizedAuthService.d.ts.map +1 -0
  300. package/dist/es/src/utils/authService/tokenizedAuthService.spec.d.ts +2 -0
  301. package/dist/es/src/utils/authService/tokenizedAuthService.spec.d.ts.map +1 -0
  302. package/dist/es/src/utils/global-styles.d.ts +2 -0
  303. package/dist/es/src/utils/global-styles.d.ts.map +1 -0
  304. package/dist/es/src/utils/global-styles.spec.d.ts +2 -0
  305. package/dist/es/src/utils/global-styles.spec.d.ts.map +1 -0
  306. package/dist/es/src/utils/graphql/answerService/answer-queries.d.ts +10 -0
  307. package/dist/es/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -0
  308. package/dist/es/src/utils/graphql/answerService/answerService.d.ts +180 -0
  309. package/dist/es/src/utils/graphql/answerService/answerService.d.ts.map +1 -0
  310. package/dist/es/src/utils/graphql/answerService/answerService.spec.d.ts +2 -0
  311. package/dist/es/src/utils/graphql/answerService/answerService.spec.d.ts.map +1 -0
  312. package/dist/es/src/utils/graphql/graphql-request.d.ts +15 -0
  313. package/dist/es/src/utils/graphql/graphql-request.d.ts.map +1 -0
  314. package/dist/es/src/utils/graphql/graphql-request.spec.d.ts +2 -0
  315. package/dist/es/src/utils/graphql/graphql-request.spec.d.ts.map +1 -0
  316. package/dist/es/src/utils/graphql/nlsService/conversation-queries.d.ts +3 -0
  317. package/dist/es/src/utils/graphql/nlsService/conversation-queries.d.ts.map +1 -0
  318. package/dist/es/src/utils/graphql/nlsService/conversation-service.d.ts +12 -0
  319. package/dist/es/src/utils/graphql/nlsService/conversation-service.d.ts.map +1 -0
  320. package/dist/es/src/utils/graphql/nlsService/nls-answer-queries.d.ts +2 -0
  321. package/dist/es/src/utils/graphql/nlsService/nls-answer-queries.d.ts.map +1 -0
  322. package/dist/es/src/utils/graphql/nlsService/nls-answer-service.d.ts +17 -0
  323. package/dist/es/src/utils/graphql/nlsService/nls-answer-service.d.ts.map +1 -0
  324. package/dist/es/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts +2 -0
  325. package/dist/es/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts.map +1 -0
  326. package/dist/es/src/utils/graphql/preview-service.d.ts +9 -0
  327. package/dist/es/src/utils/graphql/preview-service.d.ts.map +1 -0
  328. package/dist/es/src/utils/graphql/preview-service.spec.d.ts +2 -0
  329. package/dist/es/src/utils/graphql/preview-service.spec.d.ts.map +1 -0
  330. package/dist/es/src/utils/graphql/sourceService.d.ts +8 -0
  331. package/dist/es/src/utils/graphql/sourceService.d.ts.map +1 -0
  332. package/dist/es/src/utils/graphql/sourceService.spec.d.ts +2 -0
  333. package/dist/es/src/utils/graphql/sourceService.spec.d.ts.map +1 -0
  334. package/dist/es/src/utils/liveboardService/liveboardService.d.ts +16 -0
  335. package/dist/es/src/utils/liveboardService/liveboardService.d.ts.map +1 -0
  336. package/dist/es/src/utils/liveboardService/liveboardService.spec.d.ts +2 -0
  337. package/dist/es/src/utils/liveboardService/liveboardService.spec.d.ts.map +1 -0
  338. package/dist/es/src/utils/logger.d.ts +18 -0
  339. package/dist/es/src/utils/logger.d.ts.map +1 -0
  340. package/dist/es/src/utils/logger.spec.d.ts +25 -0
  341. package/dist/es/src/utils/logger.spec.d.ts.map +1 -0
  342. package/dist/es/src/utils/processData.d.ts +22 -0
  343. package/dist/es/src/utils/processData.d.ts.map +1 -0
  344. package/dist/es/src/utils/processData.spec.d.ts +2 -0
  345. package/dist/es/src/utils/processData.spec.d.ts.map +1 -0
  346. package/dist/es/src/utils/processTrigger.d.ts +16 -0
  347. package/dist/es/src/utils/processTrigger.d.ts.map +1 -0
  348. package/dist/es/src/utils/processTrigger.spec.d.ts +2 -0
  349. package/dist/es/src/utils/processTrigger.spec.d.ts.map +1 -0
  350. package/dist/es/src/utils/reporting.d.ts +16 -0
  351. package/dist/es/src/utils/reporting.d.ts.map +1 -0
  352. package/dist/es/src/utils/reporting.spec.d.ts +2 -0
  353. package/dist/es/src/utils/reporting.spec.d.ts.map +1 -0
  354. package/dist/es/src/utils/sessionInfoService.d.ts +66 -0
  355. package/dist/es/src/utils/sessionInfoService.d.ts.map +1 -0
  356. package/dist/es/src/utils.d.ts +104 -0
  357. package/dist/es/src/utils.d.ts.map +1 -0
  358. package/dist/es/src/utils.spec.d.ts +2 -0
  359. package/dist/es/src/utils.spec.d.ts.map +1 -0
  360. package/dist/{index-CmEQfuE3.js → index-B0uCTBbm.js} +1 -1
  361. package/dist/src/css-variables.d.ts +316 -0
  362. package/dist/src/css-variables.d.ts.map +1 -1
  363. package/dist/src/embed/app.d.ts +6 -1
  364. package/dist/src/embed/app.d.ts.map +1 -1
  365. package/dist/src/embed/bodyless-conversation.d.ts +0 -1
  366. package/dist/src/embed/bodyless-conversation.d.ts.map +1 -1
  367. package/dist/src/embed/conversation.d.ts +63 -3
  368. package/dist/src/embed/conversation.d.ts.map +1 -1
  369. package/dist/src/embed/liveboard.d.ts +11 -3
  370. package/dist/src/embed/liveboard.d.ts.map +1 -1
  371. package/dist/src/embed/sage.d.ts +0 -1
  372. package/dist/src/embed/sage.d.ts.map +1 -1
  373. package/dist/src/embed/search-bar.d.ts +0 -1
  374. package/dist/src/embed/search-bar.d.ts.map +1 -1
  375. package/dist/src/embed/search.d.ts +0 -1
  376. package/dist/src/embed/search.d.ts.map +1 -1
  377. package/dist/src/embed/ts-embed.d.ts +22 -9
  378. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  379. package/dist/src/types.d.ts +190 -55
  380. package/dist/src/types.d.ts.map +1 -1
  381. package/dist/src/utils/liveboardService/liveboardService.d.ts +21 -6
  382. package/dist/src/utils/liveboardService/liveboardService.d.ts.map +1 -1
  383. package/dist/src/utils/processData.d.ts.map +1 -1
  384. package/dist/tsembed-react.es.js +333 -193
  385. package/dist/tsembed-react.js +332 -192
  386. package/dist/tsembed.es.js +354 -199
  387. package/dist/tsembed.js +353 -198
  388. package/dist/visual-embed-sdk-react-full.d.ts +619 -77
  389. package/dist/visual-embed-sdk-react.d.ts +619 -77
  390. package/dist/visual-embed-sdk.d.ts +619 -77
  391. package/lib/package.json +7 -6
  392. package/lib/src/css-variables.d.ts +316 -0
  393. package/lib/src/css-variables.d.ts.map +1 -1
  394. package/lib/src/embed/app.d.ts +6 -1
  395. package/lib/src/embed/app.d.ts.map +1 -1
  396. package/lib/src/embed/app.js +27 -1
  397. package/lib/src/embed/app.js.map +1 -1
  398. package/lib/src/embed/app.spec.js +72 -5
  399. package/lib/src/embed/app.spec.js.map +1 -1
  400. package/lib/src/embed/bodyless-conversation.d.ts +0 -1
  401. package/lib/src/embed/bodyless-conversation.d.ts.map +1 -1
  402. package/lib/src/embed/bodyless-conversation.js +3 -7
  403. package/lib/src/embed/bodyless-conversation.js.map +1 -1
  404. package/lib/src/embed/conversation.d.ts +63 -3
  405. package/lib/src/embed/conversation.d.ts.map +1 -1
  406. package/lib/src/embed/conversation.js +12 -9
  407. package/lib/src/embed/conversation.js.map +1 -1
  408. package/lib/src/embed/conversation.spec.js +104 -2
  409. package/lib/src/embed/conversation.spec.js.map +1 -1
  410. package/lib/src/embed/liveboard.d.ts +11 -3
  411. package/lib/src/embed/liveboard.d.ts.map +1 -1
  412. package/lib/src/embed/liveboard.js +25 -34
  413. package/lib/src/embed/liveboard.js.map +1 -1
  414. package/lib/src/embed/liveboard.spec.js +204 -29
  415. package/lib/src/embed/liveboard.spec.js.map +1 -1
  416. package/lib/src/embed/sage.d.ts +0 -1
  417. package/lib/src/embed/sage.d.ts.map +1 -1
  418. package/lib/src/embed/sage.js +6 -10
  419. package/lib/src/embed/sage.js.map +1 -1
  420. package/lib/src/embed/search-bar.d.ts +0 -1
  421. package/lib/src/embed/search-bar.d.ts.map +1 -1
  422. package/lib/src/embed/search-bar.js +7 -11
  423. package/lib/src/embed/search-bar.js.map +1 -1
  424. package/lib/src/embed/search.d.ts +0 -1
  425. package/lib/src/embed/search.d.ts.map +1 -1
  426. package/lib/src/embed/search.js +8 -7
  427. package/lib/src/embed/search.js.map +1 -1
  428. package/lib/src/embed/ts-embed.d.ts +22 -9
  429. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  430. package/lib/src/embed/ts-embed.js +77 -60
  431. package/lib/src/embed/ts-embed.js.map +1 -1
  432. package/lib/src/embed/ts-embed.spec.js +175 -3
  433. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  434. package/lib/src/types.d.ts +190 -55
  435. package/lib/src/types.d.ts.map +1 -1
  436. package/lib/src/types.js +157 -52
  437. package/lib/src/types.js.map +1 -1
  438. package/lib/src/utils/liveboardService/liveboardService.d.ts +21 -6
  439. package/lib/src/utils/liveboardService/liveboardService.d.ts.map +1 -1
  440. package/lib/src/utils/liveboardService/liveboardService.js +21 -6
  441. package/lib/src/utils/liveboardService/liveboardService.js.map +1 -1
  442. package/lib/src/utils/processData.d.ts.map +1 -1
  443. package/lib/src/utils/processData.js +10 -0
  444. package/lib/src/utils/processData.js.map +1 -1
  445. package/lib/src/utils/processData.spec.js +11 -0
  446. package/lib/src/utils/processData.spec.js.map +1 -1
  447. package/lib/src/visual-embed-sdk.d.ts +620 -78
  448. package/package.json +7 -6
  449. package/src/css-variables.ts +396 -1
  450. package/src/embed/app.spec.ts +102 -5
  451. package/src/embed/app.ts +29 -0
  452. package/src/embed/bodyless-conversation.ts +3 -9
  453. package/src/embed/conversation.spec.ts +131 -5
  454. package/src/embed/conversation.ts +87 -23
  455. package/src/embed/liveboard.spec.ts +263 -32
  456. package/src/embed/liveboard.ts +26 -39
  457. package/src/embed/sage.ts +6 -11
  458. package/src/embed/search-bar.tsx +7 -14
  459. package/src/embed/search.ts +7 -18
  460. package/src/embed/ts-embed.spec.ts +346 -114
  461. package/src/embed/ts-embed.ts +83 -71
  462. package/src/types.ts +190 -55
  463. package/src/utils/liveboardService/liveboardService.ts +21 -6
  464. package/src/utils/processData.spec.ts +12 -0
  465. package/src/utils/processData.ts +10 -0
  466. package/dist/index-DeFzsyFF.js +0 -7371
  467. package/dist/index-Dpf0rd6w.js +0 -7371
  468. package/dist/index-UuEbsISo.js +0 -7447
  469. package/dist/index-e3Uw3YFO.js +0 -7371
  470. package/dist/index-k7pkZMhx.js +0 -7371
@@ -368,6 +368,36 @@ describe('Liveboard/viz embed tests', () => {
368
368
  });
369
369
  });
370
370
 
371
+ test('should add liveboardXLSXCSVDownload flag and set value to true to the iframe src', async () => {
372
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
373
+ ...defaultViewConfig,
374
+ liveboardId,
375
+ liveboardXLSXCSVDownload: true,
376
+ } as LiveboardViewConfig);
377
+ liveboardEmbed.render();
378
+ await executeAfterWait(() => {
379
+ expectUrlMatchesWithParams(
380
+ getIFrameSrc(),
381
+ `http://${thoughtSpotHost}/?embedApp=true${defaultParams}&isLiveboardXLSXCSVDownloadEnabled=true${prefixParams}#/embed/viz/${liveboardId}`,
382
+ );
383
+ });
384
+ });
385
+
386
+ test('should add liveboardXLSXCSVDownload flag and set value to false to the iframe src', async () => {
387
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
388
+ ...defaultViewConfig,
389
+ liveboardId,
390
+ liveboardXLSXCSVDownload: false,
391
+ } as LiveboardViewConfig);
392
+ liveboardEmbed.render();
393
+ await executeAfterWait(() => {
394
+ expectUrlMatchesWithParams(
395
+ getIFrameSrc(),
396
+ `http://${thoughtSpotHost}/?embedApp=true${defaultParams}&isLiveboardXLSXCSVDownloadEnabled=false&${prefixParams}#/embed/viz/${liveboardId}`,
397
+ );
398
+ });
399
+ });
400
+
371
401
  test('should not append runtime filters in URL if excludeRuntimeFiltersfromURL is true', async () => {
372
402
  const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
373
403
  ...defaultViewConfig,
@@ -601,14 +631,6 @@ describe('Liveboard/viz embed tests', () => {
601
631
 
602
632
  test('navigateToLiveboard should trigger the navigate event with the correct path', async (done) => {
603
633
  mockMessageChannel();
604
- // mock getSessionInfo
605
- jest.spyOn(SessionInfoService, 'getSessionInfo').mockResolvedValue({
606
- releaseVersion: '1.0.0',
607
- userGUID: '1234567890',
608
- currentOrgId: 1,
609
- privileges: [],
610
- mixpanelToken: '1234567890',
611
- });
612
634
  const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
613
635
  ...defaultViewConfig,
614
636
  } as LiveboardViewConfig);
@@ -619,30 +641,16 @@ describe('Liveboard/viz embed tests', () => {
619
641
  postMessageToParent(iframe.contentWindow, {
620
642
  type: EmbedEvent.APP_INIT,
621
643
  });
622
- postMessageToParent(iframe.contentWindow, {
623
- type: EmbedEvent.AuthInit,
624
- });
625
- liveboardEmbed.navigateToLiveboard('lb1', 'viz1');
626
644
  });
627
-
628
645
  executeAfterWait(() => {
646
+ liveboardEmbed.navigateToLiveboard('lb1', 'viz1');
629
647
  expect(onSpy).toHaveBeenCalledWith(HostEvent.Navigate, 'embed/viz/lb1/viz1');
630
648
  done();
631
- }, 1002);
649
+ });
632
650
  });
633
651
 
634
652
  test('navigateToLiveboard with preRender', async (done) => {
635
653
  mockMessageChannel();
636
-
637
- // mock getSessionInfo
638
- jest.spyOn(SessionInfoService, 'getSessionInfo').mockResolvedValue({
639
- releaseVersion: '1.0.0',
640
- userGUID: '1234567890',
641
- currentOrgId: 1,
642
- privileges: [],
643
- mixpanelToken: '1234567890',
644
- });
645
-
646
654
  const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
647
655
  ...defaultViewConfig,
648
656
  preRenderId: 'test',
@@ -654,15 +662,12 @@ describe('Liveboard/viz embed tests', () => {
654
662
  postMessageToParent(iframe.contentWindow, {
655
663
  type: EmbedEvent.APP_INIT,
656
664
  });
657
- postMessageToParent(iframe.contentWindow, {
658
- type: EmbedEvent.AuthInit,
659
- });
660
665
  });
661
666
  executeAfterWait(() => {
662
667
  liveboardEmbed.navigateToLiveboard('lb1', 'viz1');
663
668
  expect(onSpy).toHaveBeenCalledWith(HostEvent.Navigate, 'embed/viz/lb1/viz1');
664
669
  done();
665
- }, 1002);
670
+ });
666
671
  });
667
672
  test('should set runtime parametere values in url params', async () => {
668
673
  const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
@@ -787,7 +792,7 @@ describe('Liveboard/viz embed tests', () => {
787
792
  });
788
793
  });
789
794
 
790
- test('it should navigateToLiveboard with liveboard id is not passed', async (done) => {
795
+ test('it should navigateToLiveboard with liveboard id is not passed with EmbedListenerReady event', async (done) => {
791
796
  mockMessageChannel();
792
797
  const consoleSpy = jest.spyOn(console, 'error');
793
798
  const testPreRenderId = 'testPreRender';
@@ -816,12 +821,19 @@ describe('Liveboard/viz embed tests', () => {
816
821
  libEmbed,
817
822
  );
818
823
 
824
+ await executeAfterWait(() => {
825
+ const iframe = getIFrameEl();
826
+ postMessageToParent(iframe.contentWindow, {
827
+ type: EmbedEvent.EmbedListenerReady,
828
+ });
829
+ });
830
+
819
831
  const testLiveboardId = 'testLiveboardId';
820
832
  const newLibEmbed = new LiveboardEmbed(getRootEl(), {
821
833
  preRenderId: testPreRenderId,
822
834
  liveboardId: testLiveboardId,
823
- activeTabId: 'tab1',
824
- vizId: 'viz1',
835
+ vizId: 'testVizId',
836
+ activeTabId: 'testActiveTabId',
825
837
  });
826
838
  const navigateToLiveboardSpy = jest.spyOn(newLibEmbed, 'navigateToLiveboard');
827
839
  await newLibEmbed.showPreRender();
@@ -832,7 +844,7 @@ describe('Liveboard/viz embed tests', () => {
832
844
  ) as HTMLIFrameElement;
833
845
 
834
846
  // should render the generic link
835
- expect(navigateToLiveboardSpy).toHaveBeenCalledWith(testLiveboardId, 'viz1', 'tab1', expect.any(Function));
847
+ expect(navigateToLiveboardSpy).toHaveBeenCalledWith(testLiveboardId, 'testVizId', 'testActiveTabId');
836
848
  expect(iFrame.src).toMatch(/http:\/\/tshost\/.*&isLiveboardEmbed=true.*#$/);
837
849
 
838
850
  expect(consoleSpy).toHaveBeenCalledTimes(0);
@@ -840,6 +852,72 @@ describe('Liveboard/viz embed tests', () => {
840
852
  done();
841
853
  });
842
854
  });
855
+
856
+ test('it should navigateToLiveboard with liveboard id is not passed with AuthInit event', async (done) => {
857
+ mockMessageChannel();
858
+ const consoleSpy = jest.spyOn(console, 'error');
859
+ const testPreRenderId = 'testPreRender';
860
+ const libEmbed = new LiveboardEmbed(getRootEl(), {
861
+ preRenderId: testPreRenderId,
862
+ });
863
+
864
+ jest.spyOn(SessionInfoService, 'getSessionInfo').mockResolvedValue({
865
+ releaseVersion: '1.0.0',
866
+ userGUID: '1234567890',
867
+ currentOrgId: 1,
868
+ privileges: [],
869
+ mixpanelToken: '1234567890',
870
+ });
871
+ let resizeObserverCb: any;
872
+ (window as any).ResizeObserver =
873
+ window.ResizeObserver ||
874
+ jest.fn().mockImplementation((resizeObserverCbParam: any) => {
875
+ resizeObserverCb = resizeObserverCbParam;
876
+ return {
877
+ disconnect: jest.fn(),
878
+ observe: jest.fn(),
879
+ unobserve: jest.fn(),
880
+ };
881
+ });
882
+ await libEmbed.preRender();
883
+ await waitFor(() => !!getIFrameEl());
884
+ const ts = '__tsEmbed';
885
+ expect((document.getElementById(libEmbed.getPreRenderIds().wrapper) as any)[ts]).toEqual(
886
+ libEmbed,
887
+ );
888
+ const testLiveboardId = 'testLiveboardId';
889
+ const newLibEmbed = new LiveboardEmbed(getRootEl(), {
890
+ preRenderId: testPreRenderId,
891
+ liveboardId: testLiveboardId,
892
+ vizId: 'testVizId',
893
+ activeTabId: 'testActiveTabId',
894
+ });
895
+ const navigateToLiveboardSpy = jest.spyOn(newLibEmbed, 'navigateToLiveboard');
896
+
897
+ await newLibEmbed.showPreRender();
898
+
899
+ await executeAfterWait(() => {
900
+ const iFrame = document.getElementById(
901
+ newLibEmbed.getPreRenderIds().child,
902
+ ) as HTMLIFrameElement;
903
+ postMessageToParent(iFrame.contentWindow, {
904
+ type: EmbedEvent.AuthInit,
905
+ });
906
+ });
907
+
908
+
909
+ await executeAfterWait(() => {
910
+ const iFrame = document.getElementById(
911
+ libEmbed.getPreRenderIds().child,
912
+ ) as HTMLIFrameElement;
913
+ // should render the generic link
914
+ expect(navigateToLiveboardSpy).toHaveBeenCalledWith(testLiveboardId, 'testVizId', 'testActiveTabId');
915
+ expect(iFrame.src).toMatch(/http:\/\/tshost\/.*&isLiveboardEmbed=true.*#$/);
916
+ expect(consoleSpy).toHaveBeenCalledTimes(0);
917
+ done();
918
+ }, 1005);
919
+ });
920
+
843
921
  });
844
922
 
845
923
  describe('LazyLoadingForFullHeight functionality', () => {
@@ -1113,4 +1191,157 @@ describe('Liveboard/viz embed tests', () => {
1113
1191
  });
1114
1192
  });
1115
1193
  });
1194
+
1195
+ describe('Liveboard Embed Container Loading and PreRender', () => {
1196
+ beforeEach(() => {
1197
+ document.body.innerHTML = getDocumentBody();
1198
+ });
1199
+
1200
+ test('should call navigateToLiveboard after embed container is loaded in beforePrerenderVisible', async () => {
1201
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
1202
+ liveboardId,
1203
+ vizId,
1204
+ activeTabId,
1205
+ ...defaultViewConfig,
1206
+ });
1207
+
1208
+ const navigateToLiveboardSpy = jest.spyOn(liveboardEmbed, 'navigateToLiveboard').mockResolvedValue(undefined);
1209
+
1210
+ // Mock embed container as not loaded initially
1211
+ liveboardEmbed.isEmbedContainerLoaded = false;
1212
+
1213
+ // Call beforePrerenderVisible
1214
+ liveboardEmbed['beforePrerenderVisible']();
1215
+
1216
+ // navigateToLiveboard should not be called immediately
1217
+ expect(navigateToLiveboardSpy).not.toHaveBeenCalled();
1218
+
1219
+ // Simulate embed container becoming ready
1220
+ liveboardEmbed.isEmbedContainerLoaded = true;
1221
+ liveboardEmbed['executeEmbedContainerReadyCallbacks']();
1222
+
1223
+ // Now navigateToLiveboard should be called
1224
+ expect(navigateToLiveboardSpy).toHaveBeenCalledWith(liveboardId, vizId, activeTabId);
1225
+ });
1226
+
1227
+ test('should update currentLiveboardState for prerender object when embed container loads', async () => {
1228
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
1229
+ liveboardId,
1230
+ vizId,
1231
+ activeTabId,
1232
+ ...defaultViewConfig,
1233
+ });
1234
+
1235
+ const mockPreRenderObj = {
1236
+ currentLiveboardState: {},
1237
+ };
1238
+
1239
+ jest.spyOn(liveboardEmbed as any, 'getPreRenderObj').mockReturnValue(mockPreRenderObj as any);
1240
+ jest.spyOn(liveboardEmbed, 'navigateToLiveboard').mockResolvedValue(undefined);
1241
+
1242
+ // Mock embed container as not loaded initially
1243
+ liveboardEmbed.isEmbedContainerLoaded = false;
1244
+
1245
+ // Call beforePrerenderVisible
1246
+ liveboardEmbed['beforePrerenderVisible']();
1247
+
1248
+ // Simulate embed container becoming ready
1249
+ liveboardEmbed.isEmbedContainerLoaded = true;
1250
+ liveboardEmbed['executeEmbedContainerReadyCallbacks']();
1251
+
1252
+ // Check that currentLiveboardState was updated
1253
+ expect(mockPreRenderObj.currentLiveboardState).toEqual({
1254
+ liveboardId,
1255
+ vizId,
1256
+ activeTabId,
1257
+ });
1258
+ });
1259
+
1260
+ test('should handle beforePrerenderVisible when embed container is already loaded', async () => {
1261
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
1262
+ liveboardId,
1263
+ vizId,
1264
+ activeTabId,
1265
+ ...defaultViewConfig,
1266
+ });
1267
+
1268
+ const navigateToLiveboardSpy = jest.spyOn(liveboardEmbed, 'navigateToLiveboard').mockResolvedValue(undefined);
1269
+
1270
+ // Mock embed container as already loaded
1271
+ liveboardEmbed.isEmbedContainerLoaded = true;
1272
+
1273
+ // Call beforePrerenderVisible
1274
+ liveboardEmbed['beforePrerenderVisible']();
1275
+
1276
+ // navigateToLiveboard should be called immediately
1277
+ expect(navigateToLiveboardSpy).toHaveBeenCalledWith(liveboardId, vizId, activeTabId);
1278
+ });
1279
+
1280
+ test('should handle beforePrerenderVisible without prerender object', async () => {
1281
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
1282
+ liveboardId,
1283
+ vizId,
1284
+ activeTabId,
1285
+ ...defaultViewConfig,
1286
+ });
1287
+
1288
+ jest.spyOn(liveboardEmbed as any, 'getPreRenderObj').mockReturnValue(null);
1289
+ const navigateToLiveboardSpy = jest.spyOn(liveboardEmbed, 'navigateToLiveboard').mockResolvedValue(undefined);
1290
+
1291
+ // Mock embed container as not loaded initially
1292
+ liveboardEmbed.isEmbedContainerLoaded = false;
1293
+
1294
+ // Call beforePrerenderVisible
1295
+ liveboardEmbed['beforePrerenderVisible']();
1296
+
1297
+ // Simulate embed container becoming ready
1298
+ liveboardEmbed.isEmbedContainerLoaded = true;
1299
+ liveboardEmbed['executeEmbedContainerReadyCallbacks']();
1300
+
1301
+ // navigateToLiveboard should still be called
1302
+ expect(navigateToLiveboardSpy).toHaveBeenCalledWith(liveboardId, vizId, activeTabId);
1303
+ });
1304
+
1305
+ test('should work with all liveboard parameters', async () => {
1306
+ const customLiveboardId = 'custom-liveboard-id';
1307
+ const customVizId = 'custom-viz-id';
1308
+ const customActiveTabId = 'custom-active-tab-id';
1309
+
1310
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
1311
+ liveboardId: customLiveboardId,
1312
+ vizId: customVizId,
1313
+ activeTabId: customActiveTabId,
1314
+ ...defaultViewConfig,
1315
+ });
1316
+
1317
+ const navigateToLiveboardSpy = jest.spyOn(liveboardEmbed, 'navigateToLiveboard').mockResolvedValue(undefined);
1318
+
1319
+ // Mock embed container as already loaded
1320
+ liveboardEmbed.isEmbedContainerLoaded = true;
1321
+
1322
+ // Call beforePrerenderVisible
1323
+ liveboardEmbed['beforePrerenderVisible']();
1324
+
1325
+ // Check that all parameters are passed correctly
1326
+ expect(navigateToLiveboardSpy).toHaveBeenCalledWith(customLiveboardId, customVizId, customActiveTabId);
1327
+ });
1328
+
1329
+ test('should work with minimal liveboard parameters', async () => {
1330
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
1331
+ liveboardId,
1332
+ ...defaultViewConfig,
1333
+ });
1334
+
1335
+ const navigateToLiveboardSpy = jest.spyOn(liveboardEmbed, 'navigateToLiveboard').mockResolvedValue(undefined);
1336
+
1337
+ // Mock embed container as already loaded
1338
+ liveboardEmbed.isEmbedContainerLoaded = true;
1339
+
1340
+ // Call beforePrerenderVisible
1341
+ liveboardEmbed['beforePrerenderVisible']();
1342
+
1343
+ // Check that undefined parameters are passed correctly
1344
+ expect(navigateToLiveboardSpy).toHaveBeenCalledWith(liveboardId, undefined, undefined);
1345
+ });
1346
+ });
1116
1347
  });
@@ -408,12 +408,6 @@ export class LiveboardEmbed extends V1Embed {
408
408
  * embedded Liveboard or visualization.
409
409
  */
410
410
  protected getEmbedParams() {
411
- const params = this.getEmbedParamsObject();
412
- const queryParams = getQueryParamString(params, true);
413
- return queryParams;
414
- }
415
-
416
- protected getEmbedParamsObject() {
417
411
  let params: any = {};
418
412
  params = this.getBaseQueryParams(params);
419
413
  const {
@@ -441,6 +435,7 @@ export class LiveboardEmbed extends V1Embed {
441
435
  isForceRedirect,
442
436
  dataSourceId,
443
437
  coverAndFilterOptionInPDF = false,
438
+ liveboardXLSXCSVDownload = false,
444
439
  isLiveboardStylingAndGroupingEnabled,
445
440
  } = this.viewConfig;
446
441
 
@@ -517,33 +512,10 @@ export class LiveboardEmbed extends V1Embed {
517
512
  params[Param.DataPanelV2Enabled] = dataPanelV2;
518
513
  params[Param.EnableCustomColumnGroups] = enableCustomColumnGroups;
519
514
  params[Param.CoverAndFilterOptionInPDF] = coverAndFilterOptionInPDF;
515
+ params[Param.LiveboardXLSXCSVDownload] = !!liveboardXLSXCSVDownload;
516
+ const queryParams = getQueryParamString(params, true);
520
517
 
521
- if (oAuthPollingInterval !== undefined) {
522
- params[Param.OauthPollingInterval] = oAuthPollingInterval;
523
- }
524
-
525
- if (isForceRedirect) {
526
- params[Param.IsForceRedirect] = isForceRedirect;
527
- }
528
-
529
- if (dataSourceId !== undefined) {
530
- params[Param.DataSourceId] = dataSourceId;
531
- }
532
-
533
-
534
- if (isLiveboardStylingAndGroupingEnabled !== undefined) {
535
- params[Param.IsLiveboardStylingAndGroupingEnabled] = isLiveboardStylingAndGroupingEnabled;
536
- }
537
-
538
- params[Param.LiveboardHeaderSticky] = isLiveboardHeaderSticky;
539
- params[Param.LiveboardHeaderV2] = isLiveboardCompactHeaderEnabled;
540
- params[Param.ShowLiveboardVerifiedBadge] = showLiveboardVerifiedBadge;
541
- params[Param.ShowLiveboardReverifyBanner] = showLiveboardReverifyBanner;
542
- params[Param.HideIrrelevantFiltersInTab] = hideIrrelevantChipsInLiveboardTabs;
543
- params[Param.DataPanelV2Enabled] = dataPanelV2;
544
- params[Param.EnableCustomColumnGroups] = enableCustomColumnGroups;
545
- params[Param.CoverAndFilterOptionInPDF] = coverAndFilterOptionInPDF;
546
- return params;
518
+ return queryParams;
547
519
  }
548
520
 
549
521
  private getIframeSuffixSrc(liveboardId: string, vizId: string, activeTabId: string) {
@@ -674,12 +646,29 @@ export class LiveboardEmbed extends V1Embed {
674
646
  }
675
647
  }
676
648
 
649
+ /**
650
+ * @hidden
651
+ * Internal state to track the current liveboard id.
652
+ * This is used to navigate to the correct liveboard when the prerender is visible.
653
+ */
654
+ public currentLiveboardState = {
655
+ liveboardId: this.viewConfig.liveboardId,
656
+ vizId: this.viewConfig.vizId,
657
+ activeTabId: this.viewConfig.activeTabId,
658
+ };
659
+
677
660
  protected beforePrerenderVisible(): void {
678
661
  const embedObj = this.getPreRenderObj<LiveboardEmbed>();
679
662
 
680
- const libId = this.currentLiveboardId;
681
- this.navigateToLiveboard(libId, this.viewConfig.vizId, this.viewConfig.activeTabId, () => {
682
- if (embedObj) embedObj.currentLiveboardId = libId;
663
+ this.executeAfterEmbedContainerLoaded(() => {
664
+ this.navigateToLiveboard(this.viewConfig.liveboardId, this.viewConfig.vizId, this.viewConfig.activeTabId);
665
+ if (embedObj) {
666
+ embedObj.currentLiveboardState = {
667
+ liveboardId: this.viewConfig.liveboardId,
668
+ vizId: this.viewConfig.vizId,
669
+ activeTabId: this.viewConfig.activeTabId,
670
+ };
671
+ }
683
672
  });
684
673
  }
685
674
 
@@ -754,15 +743,13 @@ export class LiveboardEmbed extends V1Embed {
754
743
  return this;
755
744
  }
756
745
 
757
- public currentLiveboardId: string = this.viewConfig.liveboardId;
758
-
759
- public navigateToLiveboard(liveboardId: string, vizId?: string, activeTabId?: string, onNavigateCalled?: () => void) {
746
+ public navigateToLiveboard(liveboardId: string, vizId?: string, activeTabId?: string) {
760
747
  const path = this.getIframeSuffixSrc(liveboardId, vizId, activeTabId);
761
748
  this.viewConfig.liveboardId = liveboardId;
762
749
  this.viewConfig.activeTabId = activeTabId;
763
750
  this.viewConfig.vizId = vizId;
764
751
  if (this.isRendered) {
765
- this.triggerAfterLoad(HostEvent.Navigate, path.substring(1), onNavigateCalled);
752
+ this.trigger(HostEvent.Navigate, path.substring(1));
766
753
  } else if (this.viewConfig.preRenderId) {
767
754
  this.preRender(true);
768
755
  } else {
package/src/embed/sage.ts CHANGED
@@ -153,7 +153,12 @@ export class SageEmbed extends V1Embed {
153
153
  super(domSelector, viewConfig);
154
154
  }
155
155
 
156
- protected getEmbedParamsObject() {
156
+ /**
157
+ * Constructs a map of parameters to be passed on to the
158
+ * embedded Eureka or Sage search page.
159
+ * @returns {string} query string
160
+ */
161
+ protected getEmbedParams(): string {
157
162
  const {
158
163
  disableWorksheetChange,
159
164
  hideWorksheetSelector,
@@ -179,16 +184,6 @@ export class SageEmbed extends V1Embed {
179
184
  params[Param.IsProductTour] = !!isProductTour;
180
185
  params[Param.HideSageAnswerHeader] = !!hideSageAnswerHeader;
181
186
 
182
- return params;
183
- }
184
-
185
- /**
186
- * Constructs a map of parameters to be passed on to the
187
- * embedded Eureka or Sage search page.
188
- * @returns {string} query string
189
- */
190
- protected getEmbedParams(): string {
191
- const params = this.getEmbedParamsObject();
192
187
  return getQueryParamString(params, true);
193
188
  }
194
189
 
@@ -118,7 +118,12 @@ export class SearchBarEmbed extends TsEmbed {
118
118
  this.viewConfig = viewConfig;
119
119
  }
120
120
 
121
- protected getEmbedParamsObject() {
121
+ /**
122
+ * Construct the URL of the embedded ThoughtSpot search to be
123
+ * loaded in the iframe
124
+ * @param dataSources A list of data source GUIDs
125
+ */
126
+ private getIFrameSrc() {
122
127
  const {
123
128
  searchOptions,
124
129
  dataSource,
@@ -126,6 +131,7 @@ export class SearchBarEmbed extends TsEmbed {
126
131
  useLastSelectedSources = false,
127
132
  excludeSearchTokenStringFromURL,
128
133
  } = this.viewConfig;
134
+ const path = 'search-bar-embed';
129
135
  const queryParams = this.getBaseQueryParams();
130
136
 
131
137
  queryParams[Param.HideActions] = [...(queryParams[Param.HideActions] ?? [])];
@@ -153,19 +159,6 @@ export class SearchBarEmbed extends TsEmbed {
153
159
  queryParams[Param.UseLastSelectedDataSource] = false;
154
160
  }
155
161
  queryParams[Param.searchEmbed] = true;
156
-
157
- return queryParams;
158
- }
159
-
160
- /**
161
- * Construct the URL of the embedded ThoughtSpot search to be
162
- * loaded in the iframe
163
- * @param dataSources A list of data source GUIDs
164
- */
165
- private getIFrameSrc() {
166
- const queryParams = this.getEmbedParamsObject();
167
- const path = 'search-bar-embed';
168
-
169
162
  let query = '';
170
163
  const queryParamsString = getQueryParamString(queryParams, true);
171
164
  if (queryParamsString) {
@@ -331,7 +331,7 @@ export const HiddenActionItemByDefaultForSearchEmbed = [
331
331
  ];
332
332
 
333
333
  export interface SearchAppInitData extends DefaultAppInitData {
334
- searchOptions?: SearchOptions;
334
+ searchOptions?: SearchOptions;
335
335
  }
336
336
 
337
337
  /**
@@ -381,7 +381,7 @@ export class SearchEmbed extends TsEmbed {
381
381
  return { ...defaultAppInitData, ...this.getSearchInitData() };
382
382
  }
383
383
 
384
- protected getEmbedParamsObject() {
384
+ protected getEmbedParams(): string {
385
385
  const {
386
386
  hideResults,
387
387
  enableSearchAssist,
@@ -398,7 +398,7 @@ export class SearchEmbed extends TsEmbed {
398
398
  collapseSearchBarInitially = false,
399
399
  enableCustomColumnGroups = false,
400
400
  isOnBeforeGetVizDataInterceptEnabled = false,
401
-
401
+ /* eslint-disable-next-line max-len */
402
402
  dataPanelCustomGroupsAccordionInitialState = DataPanelCustomColumnGroupsAccordionState.EXPAND_ALL,
403
403
  focusSearchBarOnRender = true,
404
404
  excludeRuntimeParametersfromURL,
@@ -443,7 +443,7 @@ export class SearchEmbed extends TsEmbed {
443
443
  }
444
444
 
445
445
  if (isOnBeforeGetVizDataInterceptEnabled) {
446
-
446
+ /* eslint-disable-next-line max-len */
447
447
  queryParams[Param.IsOnBeforeGetVizDataInterceptEnabled] = isOnBeforeGetVizDataInterceptEnabled;
448
448
  }
449
449
 
@@ -460,7 +460,7 @@ export class SearchEmbed extends TsEmbed {
460
460
  }
461
461
 
462
462
  queryParams[Param.searchEmbed] = true;
463
-
463
+ /* eslint-disable-next-line max-len */
464
464
  queryParams[Param.CollapseSearchBarInitially] = collapseSearchBarInitially || collapseSearchBar;
465
465
  queryParams[Param.EnableCustomColumnGroups] = enableCustomColumnGroups;
466
466
  if (dataPanelCustomGroupsAccordionInitialState
@@ -468,23 +468,12 @@ export class SearchEmbed extends TsEmbed {
468
468
  || dataPanelCustomGroupsAccordionInitialState
469
469
  === DataPanelCustomColumnGroupsAccordionState.EXPAND_FIRST
470
470
  ) {
471
-
471
+ /* eslint-disable-next-line max-len */
472
472
  queryParams[Param.DataPanelCustomGroupsAccordionInitialState] = dataPanelCustomGroupsAccordionInitialState;
473
473
  } else {
474
-
474
+ /* eslint-disable-next-line max-len */
475
475
  queryParams[Param.DataPanelCustomGroupsAccordionInitialState] = DataPanelCustomColumnGroupsAccordionState.EXPAND_ALL;
476
476
  }
477
- return queryParams;
478
- }
479
-
480
- protected getEmbedParams() {
481
- const {
482
- runtimeParameters,
483
- runtimeFilters,
484
- excludeRuntimeParametersfromURL,
485
- excludeRuntimeFiltersfromURL,
486
- } = this.viewConfig;
487
- const queryParams = this.getEmbedParamsObject();
488
477
  let query = '';
489
478
  const queryParamsString = getQueryParamString(queryParams, true);
490
479
  if (queryParamsString) {