@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
@@ -1,4 +1,4 @@
1
- /* eslint-disable dot-notation */
1
+
2
2
  import { resetValueFromWindow } from '../utils';
3
3
  import { ERROR_MESSAGE } from '../errors';
4
4
  import { resetCachedAuthToken } from '../authToken';
@@ -722,7 +722,7 @@ describe('Unit test case for ts embed', () => {
722
722
  runtimeFilterParams: null,
723
723
  runtimeParameterParams: null,
724
724
  hiddenHomeLeftNavItems:
725
- [HomeLeftNavItem.Home, HomeLeftNavItem.MonitorSubscription],
725
+ [HomeLeftNavItem.Home, HomeLeftNavItem.MonitorSubscription],
726
726
  hiddenHomepageModules: [],
727
727
  hiddenListColumns: [],
728
728
  reorderedHomepageModules: [],
@@ -1371,7 +1371,7 @@ describe('Unit test case for ts embed', () => {
1371
1371
  afterEach(() => {
1372
1372
  jest.clearAllMocks();
1373
1373
  });
1374
-
1374
+
1375
1375
  afterAll(() => {
1376
1376
  jest.clearAllMocks();
1377
1377
  });
@@ -1395,11 +1395,11 @@ describe('Unit test case for ts embed', () => {
1395
1395
  jest.spyOn(baseInstance, 'getAuthPromise').mockResolvedValueOnce(true);
1396
1396
 
1397
1397
  let mockGetPreauthInfo = null;
1398
-
1398
+
1399
1399
  // Determine if preauth cache should be enabled
1400
1400
  const isAppEmbedWithPrimaryNavbar = embedType === 'AppEmbed' && showPrimaryNavbar === true;
1401
1401
  const shouldDisableCache = overrideOrgId || disablePreauthCache || isAppEmbedWithPrimaryNavbar;
1402
-
1402
+
1403
1403
  if (shouldDisableCache) {
1404
1404
  mockGetPreauthInfo = jest.spyOn(sessionInfoService, 'getPreauthInfo')
1405
1405
  .mockImplementation(jest.fn());
@@ -1465,18 +1465,18 @@ describe('Unit test case for ts embed', () => {
1465
1465
  };
1466
1466
  };
1467
1467
 
1468
- test('should disable preauth cache for FullAppEmbed with showPrimaryNavbar = true (default)', async () => {
1468
+ test.skip('should disable preauth cache for FullAppEmbed with showPrimaryNavbar = true (default)', async () => {
1469
1469
  const { mockGetPreauthInfo } = await setupPreauthTest('AppEmbed', true);
1470
-
1470
+
1471
1471
  // Wait for any async operations
1472
1472
  await executeAfterWait(() => {
1473
1473
  expect(mockGetPreauthInfo).toHaveBeenCalledTimes(0);
1474
1474
  });
1475
1475
  });
1476
1476
 
1477
- test('should enable preauth cache for FullAppEmbed with showPrimaryNavbar = undefined (no longer defaults to true)', async () => {
1477
+ test.skip('should enable preauth cache for FullAppEmbed with showPrimaryNavbar = undefined (no longer defaults to true)', async () => {
1478
1478
  const { mockGetPreauthInfo } = await setupPreauthTest('AppEmbed', undefined);
1479
-
1479
+
1480
1480
  await executeAfterWait(() => {
1481
1481
  expect(mockGetPreauthInfo).toHaveBeenCalledTimes(1);
1482
1482
  expect(mockProcessTrigger).toHaveBeenCalledWith(
@@ -1490,7 +1490,7 @@ describe('Unit test case for ts embed', () => {
1490
1490
 
1491
1491
  test('should enable preauth cache for FullAppEmbed with showPrimaryNavbar = false', async () => {
1492
1492
  const { mockGetPreauthInfo } = await setupPreauthTest('AppEmbed', false);
1493
-
1493
+
1494
1494
  await executeAfterWait(() => {
1495
1495
  expect(mockGetPreauthInfo).toHaveBeenCalledTimes(1);
1496
1496
  expect(mockProcessTrigger).toHaveBeenCalledWith(
@@ -1504,7 +1504,7 @@ describe('Unit test case for ts embed', () => {
1504
1504
 
1505
1505
  test('should enable preauth cache for SearchEmbed regardless of showPrimaryNavbar', async () => {
1506
1506
  const { mockGetPreauthInfo } = await setupPreauthTest('SearchEmbed', true);
1507
-
1507
+
1508
1508
  await executeAfterWait(() => {
1509
1509
  expect(mockGetPreauthInfo).toHaveBeenCalledTimes(1);
1510
1510
  expect(mockProcessTrigger).toHaveBeenCalledWith(
@@ -1518,7 +1518,7 @@ describe('Unit test case for ts embed', () => {
1518
1518
 
1519
1519
  test('should enable preauth cache for SearchEmbed (verifies fix for embed type regression)', async () => {
1520
1520
  const { mockGetPreauthInfo } = await setupPreauthTest('SearchEmbed', false);
1521
-
1521
+
1522
1522
  await executeAfterWait(() => {
1523
1523
  expect(mockGetPreauthInfo).toHaveBeenCalledTimes(1);
1524
1524
  expect(mockProcessTrigger).toHaveBeenCalledWith(
@@ -1532,7 +1532,7 @@ describe('Unit test case for ts embed', () => {
1532
1532
 
1533
1533
  test('should disable preauth cache for FullAppEmbed with overrideOrgId (combined condition)', async () => {
1534
1534
  const { mockGetPreauthInfo } = await setupPreauthTest('AppEmbed', false, 123);
1535
-
1535
+
1536
1536
  await executeAfterWait(() => {
1537
1537
  expect(mockGetPreauthInfo).toHaveBeenCalledTimes(0);
1538
1538
  });
@@ -1540,7 +1540,7 @@ describe('Unit test case for ts embed', () => {
1540
1540
 
1541
1541
  test('should disable preauth cache for FullAppEmbed with disablePreauthCache = true', async () => {
1542
1542
  const { mockGetPreauthInfo } = await setupPreauthTest('AppEmbed', false, undefined, true);
1543
-
1543
+
1544
1544
  await executeAfterWait(() => {
1545
1545
  expect(mockGetPreauthInfo).toHaveBeenCalledTimes(0);
1546
1546
  });
@@ -2804,132 +2804,132 @@ describe('Unit test case for ts embed', () => {
2804
2804
  });
2805
2805
 
2806
2806
  describe('AutoLogin behavior in updateAuthToken', () => {
2807
- const mockPort = { postMessage: jest.fn() };
2808
- const mockEmbedEventPayload = { type: EmbedEvent.AuthExpire, data: {} };
2809
-
2810
- beforeEach(() => {
2811
- jest.clearAllMocks();
2812
- document.body.innerHTML = getDocumentBody();
2813
- mockPort.postMessage.mockClear();
2814
- jest.spyOn(authToken, 'getAuthenticationToken').mockResolvedValue('test-token');
2815
-
2816
- jest.spyOn(baseInstance, 'handleAuth').mockImplementation(() => Promise.resolve(true));
2817
- jest.spyOn(baseInstance, 'notifyAuthFailure').mockImplementation(() => {});
2818
- });
2807
+ const mockPort = { postMessage: jest.fn() };
2808
+ const mockEmbedEventPayload = { type: EmbedEvent.AuthExpire, data: {} };
2819
2809
 
2820
- const renderAndTriggerAuthExpire = async () => {
2821
- const searchEmbed = new SearchEmbed(getRootEl(), defaultViewConfig);
2822
- await searchEmbed.render();
2823
- await executeAfterWait(() => {
2824
- const iframe = getIFrameEl();
2825
- postMessageToParent(iframe.contentWindow, mockEmbedEventPayload, mockPort);
2826
- });
2827
- };
2810
+ beforeEach(() => {
2811
+ jest.clearAllMocks();
2812
+ document.body.innerHTML = getDocumentBody();
2813
+ mockPort.postMessage.mockClear();
2814
+ jest.spyOn(authToken, 'getAuthenticationToken').mockResolvedValue('test-token');
2828
2815
 
2829
- test('Cookieless with autoLogin undefined should default to true', async () => {
2830
- init({
2831
- thoughtSpotHost: 'tshost',
2832
- authType: AuthType.TrustedAuthTokenCookieless,
2833
- // autoLogin undefined
2816
+ jest.spyOn(baseInstance, 'handleAuth').mockImplementation(() => Promise.resolve(true));
2817
+ jest.spyOn(baseInstance, 'notifyAuthFailure').mockImplementation(() => { });
2834
2818
  });
2835
2819
 
2836
- await renderAndTriggerAuthExpire();
2820
+ const renderAndTriggerAuthExpire = async () => {
2821
+ const searchEmbed = new SearchEmbed(getRootEl(), defaultViewConfig);
2822
+ await searchEmbed.render();
2823
+ await executeAfterWait(() => {
2824
+ const iframe = getIFrameEl();
2825
+ postMessageToParent(iframe.contentWindow, mockEmbedEventPayload, mockPort);
2826
+ });
2827
+ };
2837
2828
 
2838
- await executeAfterWait(() => {
2839
- expect(authToken.getAuthenticationToken).toHaveBeenCalled();
2840
- expect(baseInstance.handleAuth).toHaveBeenCalledTimes(1);
2841
- expect(mockPort.postMessage).toHaveBeenCalledWith({
2842
- type: EmbedEvent.AuthExpire,
2843
- data: { authToken: 'test-token' },
2844
- });
2845
- });
2846
- });
2829
+ test('Cookieless with autoLogin undefined should default to true', async () => {
2830
+ init({
2831
+ thoughtSpotHost: 'tshost',
2832
+ authType: AuthType.TrustedAuthTokenCookieless,
2833
+ // autoLogin undefined
2834
+ });
2847
2835
 
2848
- test('Cookieless with autoLogin false should not get auth token', async () => {
2849
- init({
2850
- thoughtSpotHost: 'tshost',
2851
- authType: AuthType.TrustedAuthTokenCookieless,
2852
- autoLogin: false,
2836
+ await renderAndTriggerAuthExpire();
2837
+
2838
+ await executeAfterWait(() => {
2839
+ expect(authToken.getAuthenticationToken).toHaveBeenCalled();
2840
+ expect(baseInstance.handleAuth).toHaveBeenCalledTimes(1);
2841
+ expect(mockPort.postMessage).toHaveBeenCalledWith({
2842
+ type: EmbedEvent.AuthExpire,
2843
+ data: { authToken: 'test-token' },
2844
+ });
2845
+ });
2853
2846
  });
2854
2847
 
2855
- await renderAndTriggerAuthExpire();
2848
+ test('Cookieless with autoLogin false should not get auth token', async () => {
2849
+ init({
2850
+ thoughtSpotHost: 'tshost',
2851
+ authType: AuthType.TrustedAuthTokenCookieless,
2852
+ autoLogin: false,
2853
+ });
2856
2854
 
2857
- await executeAfterWait(() => {
2858
- expect(authToken.getAuthenticationToken).not.toHaveBeenCalled();
2859
- expect(baseInstance.handleAuth).toHaveBeenCalledTimes(1);
2860
- expect(mockPort.postMessage).not.toHaveBeenCalled();
2861
- });
2862
- });
2855
+ await renderAndTriggerAuthExpire();
2863
2856
 
2864
- test('Cookieless with autoLogin true should get auth token', async () => {
2865
- init({
2866
- thoughtSpotHost: 'tshost',
2867
- authType: AuthType.TrustedAuthTokenCookieless,
2868
- autoLogin: true,
2857
+ await executeAfterWait(() => {
2858
+ expect(authToken.getAuthenticationToken).not.toHaveBeenCalled();
2859
+ expect(baseInstance.handleAuth).toHaveBeenCalledTimes(1);
2860
+ expect(mockPort.postMessage).not.toHaveBeenCalled();
2861
+ });
2869
2862
  });
2870
2863
 
2871
- await renderAndTriggerAuthExpire();
2864
+ test('Cookieless with autoLogin true should get auth token', async () => {
2865
+ init({
2866
+ thoughtSpotHost: 'tshost',
2867
+ authType: AuthType.TrustedAuthTokenCookieless,
2868
+ autoLogin: true,
2869
+ });
2872
2870
 
2873
- await executeAfterWait(() => {
2874
- expect(authToken.getAuthenticationToken).toHaveBeenCalled();
2875
- expect(baseInstance.handleAuth).toHaveBeenCalledTimes(1);
2876
- expect(mockPort.postMessage).toHaveBeenCalledWith({
2877
- type: EmbedEvent.AuthExpire,
2878
- data: { authToken: 'test-token' },
2879
- });
2880
- });
2881
- });
2871
+ await renderAndTriggerAuthExpire();
2882
2872
 
2883
- test('Other authType with autoLogin undefined should default to false', async () => {
2884
- init({
2885
- thoughtSpotHost: 'tshost',
2886
- authType: AuthType.None,
2887
- // autoLogin undefined
2873
+ await executeAfterWait(() => {
2874
+ expect(authToken.getAuthenticationToken).toHaveBeenCalled();
2875
+ expect(baseInstance.handleAuth).toHaveBeenCalledTimes(1);
2876
+ expect(mockPort.postMessage).toHaveBeenCalledWith({
2877
+ type: EmbedEvent.AuthExpire,
2878
+ data: { authToken: 'test-token' },
2879
+ });
2880
+ });
2888
2881
  });
2889
2882
 
2890
- await renderAndTriggerAuthExpire();
2883
+ test('Other authType with autoLogin undefined should default to false', async () => {
2884
+ init({
2885
+ thoughtSpotHost: 'tshost',
2886
+ authType: AuthType.None,
2887
+ // autoLogin undefined
2888
+ });
2889
+
2890
+ await renderAndTriggerAuthExpire();
2891
2891
 
2892
- await executeAfterWait(() => {
2893
- expect(authToken.getAuthenticationToken).not.toHaveBeenCalled();
2894
- expect(baseInstance.handleAuth).toHaveBeenCalledTimes(1);
2892
+ await executeAfterWait(() => {
2893
+ expect(authToken.getAuthenticationToken).not.toHaveBeenCalled();
2894
+ expect(baseInstance.handleAuth).toHaveBeenCalledTimes(1);
2895
+ });
2895
2896
  });
2896
- });
2897
2897
 
2898
- test('Other authType with autoLogin true should call handleAuth', async () => {
2899
- init({
2900
- thoughtSpotHost: 'tshost',
2901
- authType: AuthType.None,
2902
- autoLogin: true,
2903
- });
2898
+ test('Other authType with autoLogin true should call handleAuth', async () => {
2899
+ init({
2900
+ thoughtSpotHost: 'tshost',
2901
+ authType: AuthType.None,
2902
+ autoLogin: true,
2903
+ });
2904
2904
 
2905
- await renderAndTriggerAuthExpire();
2905
+ await renderAndTriggerAuthExpire();
2906
2906
 
2907
- await executeAfterWait(() => {
2908
- expect(authToken.getAuthenticationToken).not.toHaveBeenCalled();
2909
- expect(baseInstance.handleAuth).toHaveBeenCalledTimes(2);
2907
+ await executeAfterWait(() => {
2908
+ expect(authToken.getAuthenticationToken).not.toHaveBeenCalled();
2909
+ expect(baseInstance.handleAuth).toHaveBeenCalledTimes(2);
2910
+ });
2910
2911
  });
2911
- });
2912
2912
 
2913
- test('Other authType with autoLogin false should not call handleAuth', async () => {
2914
- init({
2915
- thoughtSpotHost: 'tshost',
2916
- authType: AuthType.None,
2917
- autoLogin: false,
2918
- });
2913
+ test('Other authType with autoLogin false should not call handleAuth', async () => {
2914
+ init({
2915
+ thoughtSpotHost: 'tshost',
2916
+ authType: AuthType.None,
2917
+ autoLogin: false,
2918
+ });
2919
2919
 
2920
- await renderAndTriggerAuthExpire();
2920
+ await renderAndTriggerAuthExpire();
2921
2921
 
2922
- await executeAfterWait(() => {
2923
- expect(authToken.getAuthenticationToken).not.toHaveBeenCalled();
2924
- expect(baseInstance.handleAuth).toHaveBeenCalledTimes(1);
2922
+ await executeAfterWait(() => {
2923
+ expect(authToken.getAuthenticationToken).not.toHaveBeenCalled();
2924
+ expect(baseInstance.handleAuth).toHaveBeenCalledTimes(1);
2925
+ });
2925
2926
  });
2926
- });
2927
2927
 
2928
- afterEach(() => {
2929
- expect(baseInstance.notifyAuthFailure).toHaveBeenCalledWith(
2930
- authInstance.AuthFailureType.EXPIRY
2931
- );
2932
- });
2928
+ afterEach(() => {
2929
+ expect(baseInstance.notifyAuthFailure).toHaveBeenCalledWith(
2930
+ authInstance.AuthFailureType.EXPIRY
2931
+ );
2932
+ });
2933
2933
  });
2934
2934
 
2935
2935
  describe('Fullscreen Change Handler', () => {
@@ -2972,11 +2972,243 @@ describe('Unit test case for ts embed', () => {
2972
2972
  authType: AuthType.None,
2973
2973
  disableFullscreenPresentation: true,
2974
2974
  });
2975
-
2975
+
2976
2976
  const searchEmbed = new SearchEmbed(getRootEl(), defaultViewConfig);
2977
2977
  expect(() => {
2978
2978
  searchEmbed['setupFullscreenChangeHandler']();
2979
2979
  }).not.toThrow();
2980
2980
  });
2981
2981
  });
2982
+
2983
+ describe('Embed Container Loading', () => {
2984
+ beforeEach(() => {
2985
+ document.body.innerHTML = getDocumentBody();
2986
+ init({
2987
+ thoughtSpotHost: 'tshost',
2988
+ authType: AuthType.None,
2989
+ });
2990
+ jest.spyOn(sessionInfoService, 'getSessionInfo').mockResolvedValue({
2991
+ releaseVersion: '1.0.0',
2992
+ userGUID: '1234567890',
2993
+ currentOrgId: 1,
2994
+ privileges: [],
2995
+ mixpanelToken: '1234567890',
2996
+ isPublicUser: false,
2997
+ clusterId: 'cluster1',
2998
+ clusterName: 'Test Cluster',
2999
+ });
3000
+ });
3001
+
3002
+ test('should initialize with isEmbedContainerLoaded as false', () => {
3003
+ const searchEmbed = new SearchEmbed(getRootEl(), defaultViewConfig);
3004
+ expect(searchEmbed.isEmbedContainerLoaded).toBe(false);
3005
+ });
3006
+
3007
+ test('should have empty embedContainerReadyCallbacks array initially', () => {
3008
+ const searchEmbed = new SearchEmbed(getRootEl(), defaultViewConfig);
3009
+ expect(searchEmbed['embedContainerReadyCallbacks']).toEqual([]);
3010
+ });
3011
+
3012
+ test('should execute callback immediately if embed container is already loaded', () => {
3013
+ const searchEmbed = new SearchEmbed(getRootEl(), defaultViewConfig);
3014
+ searchEmbed.isEmbedContainerLoaded = true;
3015
+
3016
+ const callback = jest.fn();
3017
+ searchEmbed['executeAfterEmbedContainerLoaded'](callback);
3018
+
3019
+ expect(callback).toHaveBeenCalledTimes(1);
3020
+ });
3021
+
3022
+ test('should queue callback if embed container is not loaded', () => {
3023
+ const searchEmbed = new SearchEmbed(getRootEl(), defaultViewConfig);
3024
+ searchEmbed.isEmbedContainerLoaded = false;
3025
+
3026
+ const callback = jest.fn();
3027
+ searchEmbed['executeAfterEmbedContainerLoaded'](callback);
3028
+
3029
+ expect(callback).not.toHaveBeenCalled();
3030
+ expect(searchEmbed['embedContainerReadyCallbacks']).toContain(callback);
3031
+ });
3032
+
3033
+ test('should execute all queued callbacks when embed container becomes ready', () => {
3034
+ const searchEmbed = new SearchEmbed(getRootEl(), defaultViewConfig);
3035
+ searchEmbed.isEmbedContainerLoaded = false;
3036
+
3037
+ const callback1 = jest.fn();
3038
+ const callback2 = jest.fn();
3039
+ const callback3 = jest.fn();
3040
+
3041
+ searchEmbed['executeAfterEmbedContainerLoaded'](callback1);
3042
+ searchEmbed['executeAfterEmbedContainerLoaded'](callback2);
3043
+ searchEmbed['executeAfterEmbedContainerLoaded'](callback3);
3044
+
3045
+ expect(callback1).not.toHaveBeenCalled();
3046
+ expect(callback2).not.toHaveBeenCalled();
3047
+ expect(callback3).not.toHaveBeenCalled();
3048
+
3049
+ // Simulate embed container becoming ready
3050
+ searchEmbed['executeEmbedContainerReadyCallbacks']();
3051
+
3052
+ expect(callback1).toHaveBeenCalledTimes(1);
3053
+ expect(callback2).toHaveBeenCalledTimes(1);
3054
+ expect(callback3).toHaveBeenCalledTimes(1);
3055
+ });
3056
+
3057
+ test('should handle AuthInit event and set embed container as loaded after timeout', async () => {
3058
+ const searchEmbed = new SearchEmbed(getRootEl(), defaultViewConfig);
3059
+ searchEmbed.render();
3060
+
3061
+ await executeAfterWait(() => {
3062
+ const iframe = getIFrameEl();
3063
+ expect(iframe).toBeTruthy();
3064
+ });
3065
+
3066
+ const iframe = getIFrameEl();
3067
+ const callback = jest.fn();
3068
+ searchEmbed['executeAfterEmbedContainerLoaded'](callback);
3069
+
3070
+ // Simulate AuthInit event
3071
+ postMessageToParent(iframe.contentWindow, {
3072
+ type: EmbedEvent.AuthInit,
3073
+ });
3074
+
3075
+ expect(callback).not.toHaveBeenCalled();
3076
+ expect(searchEmbed.isEmbedContainerLoaded).toBe(false);
3077
+
3078
+ // Wait for the 1-second timeout
3079
+ await executeAfterWait(() => {
3080
+ expect(searchEmbed.isEmbedContainerLoaded).toBe(true);
3081
+ expect(callback).toHaveBeenCalledTimes(1);
3082
+ }, 1100);
3083
+ });
3084
+
3085
+ test('should handle EmbedListenerReady event and set embed container as loaded immediately', async () => {
3086
+ const searchEmbed = new SearchEmbed(getRootEl(), defaultViewConfig);
3087
+ searchEmbed.render();
3088
+
3089
+ await executeAfterWait(() => {
3090
+ const iframe = getIFrameEl();
3091
+ expect(iframe).toBeTruthy();
3092
+ });
3093
+
3094
+ const iframe = getIFrameEl();
3095
+ const callback = jest.fn();
3096
+ searchEmbed['executeAfterEmbedContainerLoaded'](callback);
3097
+
3098
+ // Simulate EmbedListenerReady event
3099
+ postMessageToParent(iframe.contentWindow, {
3100
+ type: EmbedEvent.EmbedListenerReady,
3101
+ });
3102
+
3103
+ await executeAfterWait(() => {
3104
+ expect(searchEmbed.isEmbedContainerLoaded).toBe(true);
3105
+ expect(callback).toHaveBeenCalledTimes(1);
3106
+ });
3107
+ });
3108
+
3109
+ test('should check prerendered object for embed container loaded state', () => {
3110
+ const searchEmbed = new SearchEmbed(getRootEl(), defaultViewConfig);
3111
+
3112
+ // Mock a prerendered object with loaded state
3113
+ const mockPreRenderObj = {
3114
+ isEmbedContainerLoaded: true,
3115
+ };
3116
+
3117
+ jest.spyOn(searchEmbed as any, 'getPreRenderObj').mockReturnValue(mockPreRenderObj as any);
3118
+
3119
+ const result = searchEmbed['checkEmbedContainerLoaded']();
3120
+
3121
+ expect(result).toBe(true);
3122
+ expect(searchEmbed.isEmbedContainerLoaded).toBe(true);
3123
+ });
3124
+
3125
+ test('should return getPreRenderObj and log if same object', () => {
3126
+ const searchEmbed = new SearchEmbed(getRootEl(), defaultViewConfig);
3127
+ const loggerSpy = jest.spyOn(logger, 'info');
3128
+
3129
+ // Mock insertedDomEl to have the embed object
3130
+ (searchEmbed as any).insertedDomEl = {
3131
+ [searchEmbed['embedNodeKey']]: searchEmbed,
3132
+ };
3133
+
3134
+ const result = searchEmbed['getPreRenderObj']();
3135
+
3136
+ expect(result).toBe(searchEmbed);
3137
+ expect(loggerSpy).toHaveBeenCalledWith('embedObj is same as this');
3138
+ });
3139
+
3140
+ test('should handle null/undefined callbacks gracefully', () => {
3141
+ const searchEmbed = new SearchEmbed(getRootEl(), defaultViewConfig);
3142
+
3143
+ expect(() => {
3144
+ searchEmbed['executeAfterEmbedContainerLoaded'](null);
3145
+ searchEmbed['executeAfterEmbedContainerLoaded'](undefined);
3146
+ }).not.toThrow();
3147
+ });
3148
+
3149
+ test('should handle multiple callback executions correctly', () => {
3150
+ const searchEmbed = new SearchEmbed(getRootEl(), defaultViewConfig);
3151
+
3152
+ const callback1 = jest.fn();
3153
+ const callback2 = jest.fn();
3154
+
3155
+ // Add callbacks when container is not loaded
3156
+ searchEmbed['executeAfterEmbedContainerLoaded'](callback1);
3157
+ searchEmbed['executeAfterEmbedContainerLoaded'](callback2);
3158
+
3159
+ // Execute callbacks
3160
+ searchEmbed['executeEmbedContainerReadyCallbacks']();
3161
+
3162
+ expect(callback1).toHaveBeenCalledTimes(1);
3163
+ expect(callback2).toHaveBeenCalledTimes(1);
3164
+
3165
+ // Add another callback after container is loaded
3166
+ searchEmbed.isEmbedContainerLoaded = true;
3167
+ const callback3 = jest.fn();
3168
+ searchEmbed['executeAfterEmbedContainerLoaded'](callback3);
3169
+
3170
+ expect(callback3).toHaveBeenCalledTimes(1);
3171
+ });
3172
+
3173
+ test('should register embed container event handlers during construction', () => {
3174
+ const searchEmbed = new SearchEmbed(getRootEl(), defaultViewConfig);
3175
+
3176
+ // Check that the event handlers are registered
3177
+ const eventHandlerMap = searchEmbed['eventHandlerMap'];
3178
+ expect(eventHandlerMap.has(EmbedEvent.AuthInit)).toBe(true);
3179
+ expect(eventHandlerMap.has(EmbedEvent.EmbedListenerReady)).toBe(true);
3180
+ });
3181
+
3182
+ test('should handle handleEmbedContainerLoaded with AuthInit source', () => {
3183
+ const searchEmbed = new SearchEmbed(getRootEl(), defaultViewConfig);
3184
+ jest.useFakeTimers();
3185
+
3186
+ const handler = searchEmbed['createEmbedContainerHandler'](EmbedEvent.AuthInit);
3187
+
3188
+ expect(searchEmbed.isEmbedContainerLoaded).toBe(false);
3189
+
3190
+ handler();
3191
+
3192
+ expect(searchEmbed.isEmbedContainerLoaded).toBe(false);
3193
+
3194
+ // Fast-forward time
3195
+ jest.advanceTimersByTime(1000);
3196
+
3197
+ expect(searchEmbed.isEmbedContainerLoaded).toBe(true);
3198
+
3199
+ jest.useRealTimers();
3200
+ });
3201
+
3202
+ test('should handle handleEmbedContainerLoaded with EmbedListenerReady source', () => {
3203
+ const searchEmbed = new SearchEmbed(getRootEl(), defaultViewConfig);
3204
+
3205
+ const handler = searchEmbed['createEmbedContainerHandler'](EmbedEvent.EmbedListenerReady);
3206
+
3207
+ expect(searchEmbed.isEmbedContainerLoaded).toBe(false);
3208
+
3209
+ handler();
3210
+
3211
+ expect(searchEmbed.isEmbedContainerLoaded).toBe(true);
3212
+ });
3213
+ });
2982
3214
  });