@thoughtspot/visual-embed-sdk 1.33.0-alpha.2 → 1.33.0-dc.1

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 (516) hide show
  1. package/cjs/package.json +12 -28
  2. package/cjs/src/auth.d.ts +0 -1
  3. package/cjs/src/auth.d.ts.map +1 -1
  4. package/cjs/src/auth.js +1 -2
  5. package/cjs/src/auth.js.map +1 -1
  6. package/cjs/src/auth.spec.d.ts +1 -11
  7. package/cjs/src/auth.spec.d.ts.map +1 -1
  8. package/cjs/src/auth.spec.js +5 -14
  9. package/cjs/src/auth.spec.js.map +1 -1
  10. package/cjs/src/authToken.d.ts +4 -0
  11. package/cjs/src/authToken.d.ts.map +1 -1
  12. package/cjs/src/authToken.js +4 -0
  13. package/cjs/src/authToken.js.map +1 -1
  14. package/cjs/src/css-variables.d.ts +46 -3
  15. package/cjs/src/css-variables.d.ts.map +1 -1
  16. package/cjs/src/embed/app.d.ts +47 -14
  17. package/cjs/src/embed/app.d.ts.map +1 -1
  18. package/cjs/src/embed/app.js +10 -1
  19. package/cjs/src/embed/app.js.map +1 -1
  20. package/cjs/src/embed/app.spec.js +32 -0
  21. package/cjs/src/embed/app.spec.js.map +1 -1
  22. package/cjs/src/embed/base.d.ts +35 -33
  23. package/cjs/src/embed/base.d.ts.map +1 -1
  24. package/cjs/src/embed/base.js +35 -33
  25. package/cjs/src/embed/base.js.map +1 -1
  26. package/cjs/src/embed/bodyless-conversation.d.ts +26 -0
  27. package/cjs/src/embed/bodyless-conversation.d.ts.map +1 -0
  28. package/cjs/src/embed/bodyless-conversation.js +70 -0
  29. package/cjs/src/embed/bodyless-conversation.js.map +1 -0
  30. package/cjs/src/embed/bodyless-conversation.spec.d.ts +2 -0
  31. package/cjs/src/embed/bodyless-conversation.spec.d.ts.map +1 -0
  32. package/cjs/src/embed/bodyless-conversation.spec.js +125 -0
  33. package/cjs/src/embed/bodyless-conversation.spec.js.map +1 -0
  34. package/cjs/src/embed/conversation.d.ts +28 -0
  35. package/cjs/src/embed/conversation.d.ts.map +1 -0
  36. package/cjs/src/embed/conversation.js +34 -0
  37. package/cjs/src/embed/conversation.js.map +1 -0
  38. package/cjs/src/embed/conversation.spec.d.ts +2 -0
  39. package/cjs/src/embed/conversation.spec.d.ts.map +1 -0
  40. package/cjs/src/embed/conversation.spec.js +32 -0
  41. package/cjs/src/embed/conversation.spec.js.map +1 -0
  42. package/cjs/src/embed/embed.spec.js +0 -19
  43. package/cjs/src/embed/embed.spec.js.map +1 -1
  44. package/cjs/src/embed/liveboard.d.ts +49 -0
  45. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  46. package/cjs/src/embed/liveboard.js +21 -1
  47. package/cjs/src/embed/liveboard.js.map +1 -1
  48. package/cjs/src/embed/liveboard.spec.js +43 -0
  49. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  50. package/cjs/src/embed/search.d.ts +0 -13
  51. package/cjs/src/embed/search.d.ts.map +1 -1
  52. package/cjs/src/embed/search.js.map +1 -1
  53. package/cjs/src/embed/ts-embed.d.ts +3 -2
  54. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  55. package/cjs/src/embed/ts-embed.js +10 -13
  56. package/cjs/src/embed/ts-embed.js.map +1 -1
  57. package/cjs/src/embed/ts-embed.spec.js +0 -9
  58. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  59. package/cjs/src/index.d.ts +4 -1
  60. package/cjs/src/index.d.ts.map +1 -1
  61. package/cjs/src/index.js +7 -1
  62. package/cjs/src/index.js.map +1 -1
  63. package/cjs/src/mixpanel-service.d.ts +4 -0
  64. package/cjs/src/mixpanel-service.d.ts.map +1 -1
  65. package/cjs/src/mixpanel-service.js +4 -0
  66. package/cjs/src/mixpanel-service.js.map +1 -1
  67. package/cjs/src/react/index.d.ts +39 -1
  68. package/cjs/src/react/index.d.ts.map +1 -1
  69. package/cjs/src/react/index.js +37 -1
  70. package/cjs/src/react/index.js.map +1 -1
  71. package/cjs/src/test/test-utils.d.ts +13 -0
  72. package/cjs/src/test/test-utils.d.ts.map +1 -1
  73. package/cjs/src/test/test-utils.js +41 -4
  74. package/cjs/src/test/test-utils.js.map +1 -1
  75. package/cjs/src/tokenizedFetch.d.ts.map +1 -1
  76. package/cjs/src/tokenizedFetch.js +5 -1
  77. package/cjs/src/tokenizedFetch.js.map +1 -1
  78. package/cjs/src/types.d.ts +166 -22
  79. package/cjs/src/types.d.ts.map +1 -1
  80. package/cjs/src/types.js +143 -12
  81. package/cjs/src/types.js.map +1 -1
  82. package/cjs/src/utils/answerService/answerService.d.ts +34 -0
  83. package/cjs/src/utils/answerService/answerService.d.ts.map +1 -0
  84. package/cjs/src/utils/answerService/answerService.js +142 -0
  85. package/cjs/src/utils/answerService/answerService.js.map +1 -0
  86. package/cjs/src/utils/answerService/answerService.spec.d.ts +1 -0
  87. package/cjs/src/utils/answerService/answerService.spec.d.ts.map +1 -0
  88. package/cjs/src/utils/answerService/answerService.spec.js +1 -0
  89. package/cjs/src/utils/answerService/answerService.spec.js.map +1 -0
  90. package/cjs/src/utils/answerService/graphql-queries.d.ts +6 -0
  91. package/cjs/src/utils/answerService/graphql-queries.d.ts.map +1 -0
  92. package/cjs/src/utils/answerService/graphql-queries.js +123 -0
  93. package/cjs/src/utils/answerService/graphql-queries.js.map +1 -0
  94. package/cjs/src/utils/answerService.d.ts +10 -0
  95. package/cjs/src/utils/answerService.d.ts.map +1 -0
  96. package/cjs/src/utils/answerService.js +61 -0
  97. package/cjs/src/utils/answerService.js.map +1 -0
  98. package/cjs/src/utils/answerService.spec.d.ts +2 -0
  99. package/cjs/src/utils/answerService.spec.d.ts.map +1 -0
  100. package/cjs/src/utils/answerService.spec.js +31 -0
  101. package/cjs/src/utils/answerService.spec.js.map +1 -0
  102. package/cjs/src/utils/authService/authService.spec.js +11 -2
  103. package/cjs/src/utils/authService/authService.spec.js.map +1 -1
  104. package/cjs/src/utils/authService/tokenizedAuthService.d.ts +0 -2
  105. package/cjs/src/utils/authService/tokenizedAuthService.d.ts.map +1 -1
  106. package/cjs/src/utils/authService/tokenizedAuthService.js +0 -2
  107. package/cjs/src/utils/authService/tokenizedAuthService.js.map +1 -1
  108. package/cjs/src/utils/authService.d.ts +37 -0
  109. package/cjs/src/utils/authService.d.ts.map +1 -0
  110. package/cjs/src/utils/authService.js +106 -0
  111. package/cjs/src/utils/authService.js.map +1 -0
  112. package/cjs/src/utils/authService.spec.d.ts +2 -0
  113. package/cjs/src/utils/authService.spec.d.ts.map +1 -0
  114. package/cjs/src/utils/authService.spec.js +72 -0
  115. package/cjs/src/utils/authService.spec.js.map +1 -0
  116. package/cjs/src/utils/global-styles.spec.d.ts +2 -0
  117. package/cjs/src/utils/global-styles.spec.d.ts.map +1 -0
  118. package/cjs/src/utils/global-styles.spec.js +21 -0
  119. package/cjs/src/utils/global-styles.spec.js.map +1 -0
  120. package/cjs/src/utils/graphql/answerService/answer-queries.d.ts +2 -0
  121. package/cjs/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
  122. package/cjs/src/utils/graphql/answerService/answer-queries.js +32 -2
  123. package/cjs/src/utils/graphql/answerService/answer-queries.js.map +1 -1
  124. package/cjs/src/utils/graphql/answerService/answerService.d.ts +23 -0
  125. package/cjs/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  126. package/cjs/src/utils/graphql/answerService/answerService.js +76 -8
  127. package/cjs/src/utils/graphql/answerService/answerService.js.map +1 -1
  128. package/cjs/src/utils/graphql/answerService/answerService.spec.js +109 -0
  129. package/cjs/src/utils/graphql/answerService/answerService.spec.js.map +1 -1
  130. package/cjs/src/utils/graphql/answerService/graphql-queries.d.ts +5 -0
  131. package/cjs/src/utils/graphql/answerService/graphql-queries.d.ts.map +1 -0
  132. package/cjs/src/utils/graphql/answerService/graphql-queries.js +80 -0
  133. package/cjs/src/utils/graphql/answerService/graphql-queries.js.map +1 -0
  134. package/cjs/src/utils/graphql/conversationService/conversation-queries.d.ts +3 -0
  135. package/cjs/src/utils/graphql/conversationService/conversation-queries.d.ts.map +1 -0
  136. package/cjs/src/utils/graphql/conversationService/conversation-queries.js +318 -0
  137. package/cjs/src/utils/graphql/conversationService/conversation-queries.js.map +1 -0
  138. package/cjs/src/utils/graphql/conversationService/conversation-service.d.ts +12 -0
  139. package/cjs/src/utils/graphql/conversationService/conversation-service.d.ts.map +1 -0
  140. package/cjs/src/utils/graphql/conversationService/conversation-service.js +89 -0
  141. package/cjs/src/utils/graphql/conversationService/conversation-service.js.map +1 -0
  142. package/cjs/src/utils/graphql/graphql-request.d.ts.map +1 -1
  143. package/cjs/src/utils/graphql/graphql-request.spec.d.ts +2 -0
  144. package/cjs/src/utils/graphql/graphql-request.spec.d.ts.map +1 -0
  145. package/cjs/src/utils/graphql/graphql-request.spec.js +48 -0
  146. package/cjs/src/utils/graphql/graphql-request.spec.js.map +1 -0
  147. package/cjs/src/utils/graphql/nlsService/conversation-queries.d.ts +3 -0
  148. package/cjs/src/utils/graphql/nlsService/conversation-queries.d.ts.map +1 -0
  149. package/cjs/src/utils/graphql/nlsService/conversation-queries.js +313 -0
  150. package/cjs/src/utils/graphql/nlsService/conversation-queries.js.map +1 -0
  151. package/cjs/src/utils/graphql/nlsService/conversation-service.d.ts +12 -0
  152. package/cjs/src/utils/graphql/nlsService/conversation-service.d.ts.map +1 -0
  153. package/cjs/src/utils/graphql/nlsService/conversation-service.js +75 -0
  154. package/cjs/src/utils/graphql/nlsService/conversation-service.js.map +1 -0
  155. package/cjs/src/utils/graphql/nlsService/nls-answer-queries.d.ts +2 -0
  156. package/cjs/src/utils/graphql/nlsService/nls-answer-queries.d.ts.map +1 -0
  157. package/cjs/src/utils/graphql/nlsService/nls-answer-queries.js +403 -0
  158. package/cjs/src/utils/graphql/nlsService/nls-answer-queries.js.map +1 -0
  159. package/cjs/src/utils/graphql/nlsService/nls-answer-service.d.ts +12 -0
  160. package/cjs/src/utils/graphql/nlsService/nls-answer-service.d.ts.map +1 -0
  161. package/cjs/src/utils/graphql/nlsService/nls-answer-service.js +55 -0
  162. package/cjs/src/utils/graphql/nlsService/nls-answer-service.js.map +1 -0
  163. package/cjs/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts +2 -0
  164. package/cjs/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts.map +1 -0
  165. package/cjs/src/utils/graphql/nlsService/nls-answer-service.spec.js +33 -0
  166. package/cjs/src/utils/graphql/nlsService/nls-answer-service.spec.js.map +1 -0
  167. package/cjs/src/utils/graphql/preview-service.d.ts +6 -0
  168. package/cjs/src/utils/graphql/preview-service.d.ts.map +1 -1
  169. package/cjs/src/utils/graphql/preview-service.js +6 -0
  170. package/cjs/src/utils/graphql/preview-service.js.map +1 -1
  171. package/cjs/src/utils/graphql/preview-service.spec.d.ts +2 -0
  172. package/cjs/src/utils/graphql/preview-service.spec.d.ts.map +1 -0
  173. package/cjs/src/utils/graphql/preview-service.spec.js +20 -0
  174. package/cjs/src/utils/graphql/preview-service.spec.js.map +1 -0
  175. package/cjs/src/utils/graphql/spotterService/conversation-queries.d.ts +3 -0
  176. package/cjs/src/utils/graphql/spotterService/conversation-queries.d.ts.map +1 -0
  177. package/cjs/src/utils/graphql/spotterService/conversation-queries.js +318 -0
  178. package/cjs/src/utils/graphql/spotterService/conversation-queries.js.map +1 -0
  179. package/cjs/src/utils/graphql/spotterService/conversation-service.d.ts +12 -0
  180. package/cjs/src/utils/graphql/spotterService/conversation-service.d.ts.map +1 -0
  181. package/cjs/src/utils/graphql/spotterService/conversation-service.js +89 -0
  182. package/cjs/src/utils/graphql/spotterService/conversation-service.js.map +1 -0
  183. package/cjs/src/utils/graphql/spotterService/nls-answer-queries.d.ts +2 -0
  184. package/cjs/src/utils/graphql/spotterService/nls-answer-queries.d.ts.map +1 -0
  185. package/cjs/src/utils/graphql/spotterService/nls-answer-queries.js +403 -0
  186. package/cjs/src/utils/graphql/spotterService/nls-answer-queries.js.map +1 -0
  187. package/cjs/src/utils/graphql/spotterService/nls-answer-service.d.ts +12 -0
  188. package/cjs/src/utils/graphql/spotterService/nls-answer-service.d.ts.map +1 -0
  189. package/cjs/src/utils/graphql/spotterService/nls-answer-service.js +55 -0
  190. package/cjs/src/utils/graphql/spotterService/nls-answer-service.js.map +1 -0
  191. package/cjs/src/utils/liveboardService/liveboardService.d.ts +3 -0
  192. package/cjs/src/utils/liveboardService/liveboardService.d.ts.map +1 -0
  193. package/cjs/src/utils/liveboardService/liveboardService.js +50 -0
  194. package/cjs/src/utils/liveboardService/liveboardService.js.map +1 -0
  195. package/cjs/src/utils/liveboardService/liveboardService.spec.d.ts +2 -0
  196. package/cjs/src/utils/liveboardService/liveboardService.spec.d.ts.map +1 -0
  197. package/cjs/src/utils/liveboardService/liveboardService.spec.js +64 -0
  198. package/cjs/src/utils/liveboardService/liveboardService.spec.js.map +1 -0
  199. package/cjs/src/utils/processData.js +2 -2
  200. package/cjs/src/utils/processData.js.map +1 -1
  201. package/cjs/src/utils/processData.spec.js +15 -0
  202. package/cjs/src/utils/processData.spec.js.map +1 -1
  203. package/cjs/src/utils/processTrigger.d.ts +1 -0
  204. package/cjs/src/utils/processTrigger.d.ts.map +1 -1
  205. package/cjs/src/utils/processTrigger.js +3 -3
  206. package/cjs/src/utils/processTrigger.js.map +1 -1
  207. package/cjs/src/utils/processTrigger.spec.js +10 -0
  208. package/cjs/src/utils/processTrigger.spec.js.map +1 -1
  209. package/cjs/src/utils.d.ts.map +1 -1
  210. package/cjs/src/utils.js +1 -3
  211. package/cjs/src/utils.js.map +1 -1
  212. package/dist/src/auth.d.ts +0 -1
  213. package/dist/src/auth.d.ts.map +1 -1
  214. package/dist/src/auth.spec.d.ts +1 -11
  215. package/dist/src/auth.spec.d.ts.map +1 -1
  216. package/dist/src/authToken.d.ts +4 -0
  217. package/dist/src/authToken.d.ts.map +1 -1
  218. package/dist/src/css-variables.d.ts +46 -3
  219. package/dist/src/css-variables.d.ts.map +1 -1
  220. package/dist/src/embed/app.d.ts +47 -14
  221. package/dist/src/embed/app.d.ts.map +1 -1
  222. package/dist/src/embed/base.d.ts +35 -33
  223. package/dist/src/embed/base.d.ts.map +1 -1
  224. package/dist/src/embed/bodyless-conversation.d.ts +26 -0
  225. package/dist/src/embed/bodyless-conversation.d.ts.map +1 -0
  226. package/dist/src/embed/bodyless-conversation.spec.d.ts +2 -0
  227. package/dist/src/embed/bodyless-conversation.spec.d.ts.map +1 -0
  228. package/dist/src/embed/conversation.d.ts +28 -0
  229. package/dist/src/embed/conversation.d.ts.map +1 -0
  230. package/dist/src/embed/conversation.spec.d.ts +2 -0
  231. package/dist/src/embed/conversation.spec.d.ts.map +1 -0
  232. package/dist/src/embed/liveboard.d.ts +49 -0
  233. package/dist/src/embed/liveboard.d.ts.map +1 -1
  234. package/dist/src/embed/search.d.ts +0 -13
  235. package/dist/src/embed/search.d.ts.map +1 -1
  236. package/dist/src/embed/ts-embed.d.ts +3 -2
  237. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  238. package/dist/src/index.d.ts +4 -1
  239. package/dist/src/index.d.ts.map +1 -1
  240. package/dist/src/mixpanel-service.d.ts +4 -0
  241. package/dist/src/mixpanel-service.d.ts.map +1 -1
  242. package/dist/src/react/index.d.ts +39 -1
  243. package/dist/src/react/index.d.ts.map +1 -1
  244. package/dist/src/test/test-utils.d.ts +13 -0
  245. package/dist/src/test/test-utils.d.ts.map +1 -1
  246. package/dist/src/tokenizedFetch.d.ts.map +1 -1
  247. package/dist/src/types.d.ts +166 -22
  248. package/dist/src/types.d.ts.map +1 -1
  249. package/dist/src/utils/authService/tokenizedAuthService.d.ts +0 -2
  250. package/dist/src/utils/authService/tokenizedAuthService.d.ts.map +1 -1
  251. package/dist/src/utils/global-styles.spec.d.ts +2 -0
  252. package/dist/src/utils/global-styles.spec.d.ts.map +1 -0
  253. package/dist/src/utils/graphql/answerService/answer-queries.d.ts +2 -0
  254. package/dist/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
  255. package/dist/src/utils/graphql/answerService/answerService.d.ts +23 -0
  256. package/dist/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  257. package/dist/src/utils/graphql/graphql-request.d.ts.map +1 -1
  258. package/dist/src/utils/graphql/graphql-request.spec.d.ts +2 -0
  259. package/dist/src/utils/graphql/graphql-request.spec.d.ts.map +1 -0
  260. package/dist/src/utils/graphql/nlsService/conversation-queries.d.ts +3 -0
  261. package/dist/src/utils/graphql/nlsService/conversation-queries.d.ts.map +1 -0
  262. package/dist/src/utils/graphql/nlsService/conversation-service.d.ts +12 -0
  263. package/dist/src/utils/graphql/nlsService/conversation-service.d.ts.map +1 -0
  264. package/dist/src/utils/graphql/nlsService/nls-answer-queries.d.ts +2 -0
  265. package/dist/src/utils/graphql/nlsService/nls-answer-queries.d.ts.map +1 -0
  266. package/dist/src/utils/graphql/nlsService/nls-answer-service.d.ts +12 -0
  267. package/dist/src/utils/graphql/nlsService/nls-answer-service.d.ts.map +1 -0
  268. package/dist/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts +2 -0
  269. package/dist/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts.map +1 -0
  270. package/dist/src/utils/graphql/preview-service.d.ts +6 -0
  271. package/dist/src/utils/graphql/preview-service.d.ts.map +1 -1
  272. package/dist/src/utils/graphql/preview-service.spec.d.ts +2 -0
  273. package/dist/src/utils/graphql/preview-service.spec.d.ts.map +1 -0
  274. package/dist/src/utils/liveboardService/liveboardService.d.ts +3 -0
  275. package/dist/src/utils/liveboardService/liveboardService.d.ts.map +1 -0
  276. package/dist/src/utils/liveboardService/liveboardService.spec.d.ts +2 -0
  277. package/dist/src/utils/liveboardService/liveboardService.spec.d.ts.map +1 -0
  278. package/dist/src/utils/processTrigger.d.ts +1 -0
  279. package/dist/src/utils/processTrigger.d.ts.map +1 -1
  280. package/dist/src/utils.d.ts.map +1 -1
  281. package/dist/tsembed-react.es.js +8087 -175
  282. package/dist/tsembed-react.js +8028 -170
  283. package/dist/tsembed.es.js +8981 -202
  284. package/dist/tsembed.js +8947 -221
  285. package/dist/visual-embed-sdk-react-full.d.ts +485 -98
  286. package/dist/visual-embed-sdk-react.d.ts +485 -98
  287. package/dist/visual-embed-sdk.d.ts +421 -97
  288. package/lib/package.json +12 -28
  289. package/lib/src/auth.d.ts +0 -1
  290. package/lib/src/auth.d.ts.map +1 -1
  291. package/lib/src/auth.js +1 -2
  292. package/lib/src/auth.js.map +1 -1
  293. package/lib/src/auth.spec.d.ts +1 -11
  294. package/lib/src/auth.spec.d.ts.map +1 -1
  295. package/lib/src/auth.spec.js +3 -12
  296. package/lib/src/auth.spec.js.map +1 -1
  297. package/lib/src/authToken.d.ts +4 -0
  298. package/lib/src/authToken.d.ts.map +1 -1
  299. package/lib/src/authToken.js +4 -0
  300. package/lib/src/authToken.js.map +1 -1
  301. package/lib/src/css-variables.d.ts +46 -3
  302. package/lib/src/css-variables.d.ts.map +1 -1
  303. package/lib/src/embed/app.d.ts +47 -14
  304. package/lib/src/embed/app.d.ts.map +1 -1
  305. package/lib/src/embed/app.js +10 -1
  306. package/lib/src/embed/app.js.map +1 -1
  307. package/lib/src/embed/app.spec.js +32 -0
  308. package/lib/src/embed/app.spec.js.map +1 -1
  309. package/lib/src/embed/base.d.ts +35 -33
  310. package/lib/src/embed/base.d.ts.map +1 -1
  311. package/lib/src/embed/base.js +35 -33
  312. package/lib/src/embed/base.js.map +1 -1
  313. package/lib/src/embed/bodyless-conversation.d.ts +26 -0
  314. package/lib/src/embed/bodyless-conversation.d.ts.map +1 -0
  315. package/lib/src/embed/bodyless-conversation.js +66 -0
  316. package/lib/src/embed/bodyless-conversation.js.map +1 -0
  317. package/lib/src/embed/bodyless-conversation.spec.d.ts +2 -0
  318. package/lib/src/embed/bodyless-conversation.spec.d.ts.map +1 -0
  319. package/lib/src/embed/bodyless-conversation.spec.js +122 -0
  320. package/lib/src/embed/bodyless-conversation.spec.js.map +1 -0
  321. package/lib/src/embed/conversation.d.ts +28 -0
  322. package/lib/src/embed/conversation.d.ts.map +1 -0
  323. package/lib/src/embed/conversation.js +30 -0
  324. package/lib/src/embed/conversation.js.map +1 -0
  325. package/lib/src/embed/conversation.spec.d.ts +2 -0
  326. package/lib/src/embed/conversation.spec.d.ts.map +1 -0
  327. package/lib/src/embed/conversation.spec.js +29 -0
  328. package/lib/src/embed/conversation.spec.js.map +1 -0
  329. package/lib/src/embed/embed.spec.js +0 -19
  330. package/lib/src/embed/embed.spec.js.map +1 -1
  331. package/lib/src/embed/liveboard.d.ts +49 -0
  332. package/lib/src/embed/liveboard.d.ts.map +1 -1
  333. package/lib/src/embed/liveboard.js +21 -1
  334. package/lib/src/embed/liveboard.js.map +1 -1
  335. package/lib/src/embed/liveboard.spec.js +43 -0
  336. package/lib/src/embed/liveboard.spec.js.map +1 -1
  337. package/lib/src/embed/search.d.ts +0 -13
  338. package/lib/src/embed/search.d.ts.map +1 -1
  339. package/lib/src/embed/search.js.map +1 -1
  340. package/lib/src/embed/ts-embed.d.ts +3 -2
  341. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  342. package/lib/src/embed/ts-embed.js +10 -13
  343. package/lib/src/embed/ts-embed.js.map +1 -1
  344. package/lib/src/embed/ts-embed.spec.js +0 -9
  345. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  346. package/lib/src/index.d.ts +4 -1
  347. package/lib/src/index.d.ts.map +1 -1
  348. package/lib/src/index.js +4 -1
  349. package/lib/src/index.js.map +1 -1
  350. package/lib/src/mixpanel-service.d.ts +4 -0
  351. package/lib/src/mixpanel-service.d.ts.map +1 -1
  352. package/lib/src/mixpanel-service.js +4 -0
  353. package/lib/src/mixpanel-service.js.map +1 -1
  354. package/lib/src/react/index.d.ts +39 -1
  355. package/lib/src/react/index.d.ts.map +1 -1
  356. package/lib/src/react/index.js +36 -0
  357. package/lib/src/react/index.js.map +1 -1
  358. package/lib/src/test/test-utils.d.ts +13 -0
  359. package/lib/src/test/test-utils.d.ts.map +1 -1
  360. package/lib/src/test/test-utils.js +38 -3
  361. package/lib/src/test/test-utils.js.map +1 -1
  362. package/lib/src/tokenizedFetch.d.ts.map +1 -1
  363. package/lib/src/tokenizedFetch.js +5 -1
  364. package/lib/src/tokenizedFetch.js.map +1 -1
  365. package/lib/src/types.d.ts +166 -22
  366. package/lib/src/types.d.ts.map +1 -1
  367. package/lib/src/types.js +143 -12
  368. package/lib/src/types.js.map +1 -1
  369. package/lib/src/utils/authService/authService.spec.js +11 -2
  370. package/lib/src/utils/authService/authService.spec.js.map +1 -1
  371. package/lib/src/utils/authService/tokenizedAuthService.d.ts +0 -2
  372. package/lib/src/utils/authService/tokenizedAuthService.d.ts.map +1 -1
  373. package/lib/src/utils/authService/tokenizedAuthService.js +0 -2
  374. package/lib/src/utils/authService/tokenizedAuthService.js.map +1 -1
  375. package/lib/src/utils/global-styles.spec.d.ts +2 -0
  376. package/lib/src/utils/global-styles.spec.d.ts.map +1 -0
  377. package/lib/src/utils/global-styles.spec.js +19 -0
  378. package/lib/src/utils/global-styles.spec.js.map +1 -0
  379. package/lib/src/utils/graphql/answerService/answer-queries.d.ts +2 -0
  380. package/lib/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
  381. package/lib/src/utils/graphql/answerService/answer-queries.js +31 -1
  382. package/lib/src/utils/graphql/answerService/answer-queries.js.map +1 -1
  383. package/lib/src/utils/graphql/answerService/answerService.d.ts +23 -0
  384. package/lib/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  385. package/lib/src/utils/graphql/answerService/answerService.js +76 -8
  386. package/lib/src/utils/graphql/answerService/answerService.js.map +1 -1
  387. package/lib/src/utils/graphql/answerService/answerService.spec.js +110 -1
  388. package/lib/src/utils/graphql/answerService/answerService.spec.js.map +1 -1
  389. package/lib/src/utils/graphql/conversationService/conversation-queries.d.ts +3 -0
  390. package/lib/src/utils/graphql/conversationService/conversation-queries.d.ts.map +1 -0
  391. package/lib/src/utils/graphql/conversationService/conversation-queries.js +315 -0
  392. package/lib/src/utils/graphql/conversationService/conversation-queries.js.map +1 -0
  393. package/lib/src/utils/graphql/conversationService/conversation-service.d.ts +12 -0
  394. package/lib/src/utils/graphql/conversationService/conversation-service.d.ts.map +1 -0
  395. package/lib/src/utils/graphql/conversationService/conversation-service.js +84 -0
  396. package/lib/src/utils/graphql/conversationService/conversation-service.js.map +1 -0
  397. package/lib/src/utils/graphql/graphql-request.d.ts.map +1 -1
  398. package/lib/src/utils/graphql/graphql-request.spec.d.ts +2 -0
  399. package/lib/src/utils/graphql/graphql-request.spec.d.ts.map +1 -0
  400. package/lib/src/utils/graphql/graphql-request.spec.js +45 -0
  401. package/lib/src/utils/graphql/graphql-request.spec.js.map +1 -0
  402. package/lib/src/utils/graphql/nlsService/conversation-queries.d.ts +3 -0
  403. package/lib/src/utils/graphql/nlsService/conversation-queries.d.ts.map +1 -0
  404. package/lib/src/utils/graphql/nlsService/conversation-queries.js +310 -0
  405. package/lib/src/utils/graphql/nlsService/conversation-queries.js.map +1 -0
  406. package/lib/src/utils/graphql/nlsService/conversation-service.d.ts +12 -0
  407. package/lib/src/utils/graphql/nlsService/conversation-service.d.ts.map +1 -0
  408. package/lib/src/utils/graphql/nlsService/conversation-service.js +70 -0
  409. package/lib/src/utils/graphql/nlsService/conversation-service.js.map +1 -0
  410. package/lib/src/utils/graphql/nlsService/nls-answer-queries.d.ts +2 -0
  411. package/lib/src/utils/graphql/nlsService/nls-answer-queries.d.ts.map +1 -0
  412. package/lib/src/utils/graphql/nlsService/nls-answer-queries.js +400 -0
  413. package/lib/src/utils/graphql/nlsService/nls-answer-queries.js.map +1 -0
  414. package/lib/src/utils/graphql/nlsService/nls-answer-service.d.ts +12 -0
  415. package/lib/src/utils/graphql/nlsService/nls-answer-service.d.ts.map +1 -0
  416. package/lib/src/utils/graphql/nlsService/nls-answer-service.js +50 -0
  417. package/lib/src/utils/graphql/nlsService/nls-answer-service.js.map +1 -0
  418. package/lib/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts +2 -0
  419. package/lib/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts.map +1 -0
  420. package/lib/src/utils/graphql/nlsService/nls-answer-service.spec.js +31 -0
  421. package/lib/src/utils/graphql/nlsService/nls-answer-service.spec.js.map +1 -0
  422. package/lib/src/utils/graphql/preview-service.d.ts +6 -0
  423. package/lib/src/utils/graphql/preview-service.d.ts.map +1 -1
  424. package/lib/src/utils/graphql/preview-service.js +6 -0
  425. package/lib/src/utils/graphql/preview-service.js.map +1 -1
  426. package/lib/src/utils/graphql/preview-service.spec.d.ts +2 -0
  427. package/lib/src/utils/graphql/preview-service.spec.d.ts.map +1 -0
  428. package/lib/src/utils/graphql/preview-service.spec.js +18 -0
  429. package/lib/src/utils/graphql/preview-service.spec.js.map +1 -0
  430. package/lib/src/utils/graphql/spotterService/conversation-queries.d.ts +3 -0
  431. package/lib/src/utils/graphql/spotterService/conversation-queries.d.ts.map +1 -0
  432. package/lib/src/utils/graphql/spotterService/conversation-queries.js +315 -0
  433. package/lib/src/utils/graphql/spotterService/conversation-queries.js.map +1 -0
  434. package/lib/src/utils/graphql/spotterService/conversation-service.d.ts +12 -0
  435. package/lib/src/utils/graphql/spotterService/conversation-service.d.ts.map +1 -0
  436. package/lib/src/utils/graphql/spotterService/conversation-service.js +84 -0
  437. package/lib/src/utils/graphql/spotterService/conversation-service.js.map +1 -0
  438. package/lib/src/utils/graphql/spotterService/nls-answer-queries.d.ts +2 -0
  439. package/lib/src/utils/graphql/spotterService/nls-answer-queries.d.ts.map +1 -0
  440. package/lib/src/utils/graphql/spotterService/nls-answer-queries.js +400 -0
  441. package/lib/src/utils/graphql/spotterService/nls-answer-queries.js.map +1 -0
  442. package/lib/src/utils/graphql/spotterService/nls-answer-service.d.ts +12 -0
  443. package/lib/src/utils/graphql/spotterService/nls-answer-service.d.ts.map +1 -0
  444. package/lib/src/utils/graphql/spotterService/nls-answer-service.js +50 -0
  445. package/lib/src/utils/graphql/spotterService/nls-answer-service.js.map +1 -0
  446. package/lib/src/utils/liveboardService/liveboardService.d.ts +3 -0
  447. package/lib/src/utils/liveboardService/liveboardService.d.ts.map +1 -0
  448. package/lib/src/utils/liveboardService/liveboardService.js +46 -0
  449. package/lib/src/utils/liveboardService/liveboardService.js.map +1 -0
  450. package/lib/src/utils/liveboardService/liveboardService.spec.d.ts +2 -0
  451. package/lib/src/utils/liveboardService/liveboardService.spec.d.ts.map +1 -0
  452. package/lib/src/utils/liveboardService/liveboardService.spec.js +61 -0
  453. package/lib/src/utils/liveboardService/liveboardService.spec.js.map +1 -0
  454. package/lib/src/utils/processData.js +2 -2
  455. package/lib/src/utils/processData.js.map +1 -1
  456. package/lib/src/utils/processData.spec.js +15 -0
  457. package/lib/src/utils/processData.spec.js.map +1 -1
  458. package/lib/src/utils/processTrigger.d.ts +1 -0
  459. package/lib/src/utils/processTrigger.d.ts.map +1 -1
  460. package/lib/src/utils/processTrigger.js +1 -1
  461. package/lib/src/utils/processTrigger.js.map +1 -1
  462. package/lib/src/utils/processTrigger.spec.js +10 -0
  463. package/lib/src/utils/processTrigger.spec.js.map +1 -1
  464. package/lib/src/utils.d.ts.map +1 -1
  465. package/lib/src/utils.js +1 -3
  466. package/lib/src/utils.js.map +1 -1
  467. package/lib/src/visual-embed-sdk.d.ts +433 -97
  468. package/package.json +12 -28
  469. package/src/auth.spec.ts +3 -12
  470. package/src/auth.ts +1 -2
  471. package/src/authToken.ts +4 -0
  472. package/src/css-variables.ts +49 -3
  473. package/src/embed/app.spec.ts +47 -0
  474. package/src/embed/app.ts +54 -13
  475. package/src/embed/base.ts +35 -33
  476. package/src/embed/bodyless-conversation.spec.ts +141 -0
  477. package/src/embed/bodyless-conversation.ts +95 -0
  478. package/src/embed/conversation.spec.ts +46 -0
  479. package/src/embed/conversation.ts +58 -0
  480. package/src/embed/embed.spec.ts +0 -22
  481. package/src/embed/liveboard.spec.ts +62 -0
  482. package/src/embed/liveboard.ts +69 -0
  483. package/src/embed/search.ts +0 -13
  484. package/src/embed/ts-embed.spec.ts +0 -11
  485. package/src/embed/ts-embed.ts +13 -13
  486. package/src/index.ts +7 -0
  487. package/src/mixpanel-service.ts +4 -0
  488. package/src/react/index.tsx +89 -41
  489. package/src/test/test-utils.ts +46 -3
  490. package/src/tokenizedFetch.ts +5 -1
  491. package/src/types.ts +167 -21
  492. package/src/utils/authService/authService.spec.ts +11 -2
  493. package/src/utils/authService/tokenizedAuthService.ts +0 -2
  494. package/src/utils/global-styles.spec.ts +20 -0
  495. package/src/utils/graphql/answerService/answer-queries.ts +33 -1
  496. package/src/utils/graphql/answerService/answerService.spec.ts +131 -0
  497. package/src/utils/graphql/answerService/answerService.ts +102 -10
  498. package/src/utils/graphql/graphql-request.spec.ts +51 -0
  499. package/src/utils/graphql/graphql-request.ts +1 -1
  500. package/src/utils/graphql/nlsService/conversation-queries.ts +310 -0
  501. package/src/utils/graphql/nlsService/conversation-service.ts +81 -0
  502. package/src/utils/graphql/nlsService/nls-answer-queries.ts +399 -0
  503. package/src/utils/graphql/nlsService/nls-answer-service.spec.ts +35 -0
  504. package/src/utils/graphql/nlsService/nls-answer-service.ts +58 -0
  505. package/src/utils/graphql/preview-service.spec.ts +20 -0
  506. package/src/utils/graphql/preview-service.ts +6 -0
  507. package/src/utils/liveboardService/liveboardService.spec.ts +63 -0
  508. package/src/utils/liveboardService/liveboardService.ts +55 -0
  509. package/src/utils/processData.spec.ts +17 -0
  510. package/src/utils/processData.ts +2 -2
  511. package/src/utils/processTrigger.spec.ts +19 -0
  512. package/src/utils/processTrigger.ts +1 -1
  513. package/src/utils.ts +1 -3
  514. package/dist/src/embed/searchEmbed-basic-auth.spec.d.ts +0 -2
  515. package/dist/src/embed/searchEmbed-basic-auth.spec.d.ts.map +0 -1
  516. package/src/embed/searchEmbed-basic-auth.spec.ts +0 -110
@@ -10,6 +10,7 @@ import { TsEmbed } from '../embed/ts-embed';
10
10
 
11
11
  import { EmbedEvent, ViewConfig } from '../types';
12
12
  import { EmbedProps, getViewPropsAndListeners } from './util';
13
+ import { ConversationEmbed as _ConversationEmbed, ConversationViewConfig } from '../embed/conversation';
13
14
 
14
15
  const componentFactory = <T extends typeof TsEmbed, U extends EmbedProps, V extends ViewConfig>(
15
16
  EmbedConstructor: T,
@@ -39,11 +40,11 @@ const componentFactory = <T extends typeof TsEmbed, U extends EmbedProps, V exte
39
40
  tsEmbed.destroy();
40
41
  };
41
42
 
42
- const handlePreRenderRendering = (tsEmbed : InstanceType<T>) => {
43
+ const handlePreRenderRendering = (tsEmbed: InstanceType<T>) => {
43
44
  tsEmbed.preRender();
44
45
  };
45
46
 
46
- const handleDefaultRendering = (tsEmbed : InstanceType<T>) => {
47
+ const handleDefaultRendering = (tsEmbed: InstanceType<T>) => {
47
48
  // if component is connected to a preRendered component
48
49
  if (props.preRenderId) {
49
50
  tsEmbed.showPreRender();
@@ -53,7 +54,7 @@ const componentFactory = <T extends typeof TsEmbed, U extends EmbedProps, V exte
53
54
  tsEmbed.render();
54
55
  };
55
56
 
56
- const handleRendering = (tsEmbed : InstanceType<T>) => {
57
+ const handleRendering = (tsEmbed: InstanceType<T>) => {
57
58
  if (isPreRenderedComponent) {
58
59
  handlePreRenderRendering(tsEmbed);
59
60
  return;
@@ -63,16 +64,16 @@ const componentFactory = <T extends typeof TsEmbed, U extends EmbedProps, V exte
63
64
 
64
65
  useDeepCompareEffect(() => {
65
66
  const tsEmbed = new EmbedConstructor(
66
- ref!.current,
67
- deepMerge(
68
- {
69
- insertAsSibling: viewConfig.insertAsSibling,
70
- frameParams: {
71
- class: viewConfig.insertAsSibling ? className || '' : '',
72
- },
67
+ ref!.current,
68
+ deepMerge(
69
+ {
70
+ insertAsSibling: viewConfig.insertAsSibling,
71
+ frameParams: {
72
+ class: viewConfig.insertAsSibling ? className || '' : '',
73
73
  },
74
- viewConfig,
75
- ),
74
+ },
75
+ viewConfig,
76
+ ),
76
77
  ) as InstanceType<T>;
77
78
  Object.keys(listeners).forEach((eventName) => {
78
79
  tsEmbed.on(eventName as EmbedEvent, listeners[eventName as EmbedEvent]);
@@ -98,33 +99,33 @@ const componentFactory = <T extends typeof TsEmbed, U extends EmbedProps, V exte
98
99
  interface SearchProps extends EmbedProps, SearchViewConfig { }
99
100
 
100
101
  interface PreRenderProps {
101
- /**
102
- * PreRender id to be used for PreRendering the embed.
103
- * Use PreRender to render the embed in the background and then
104
- * show or hide the rendered embed using showPreRender or hidePreRender respectively.
105
- * @example
106
- * ```js
107
- * const embed = new LiveboardEmbed('#embed', {
108
- * ... // other liveboard view config
109
- * preRenderId: "preRenderId-123"
110
- * });
111
- * embed.showPreRender();
112
- * ```
113
- *
114
- * Use PreRendered react component for pre rendering embed components.
115
- * @example
116
- * ```tsx
117
- * function LandingPageComponent() {
118
- * return <PreRenderedLiveboardEmbed preRenderId="someId" liveboardId="libId" />
119
- * }
120
- * ```
121
- * function MyComponent() {
122
- * return <LiveboardEmbed preRenderId="someId" liveboardId="libId" />
123
- * }
124
- * ```
125
- * @version SDK: 1.25.0 | Thoughtspot: 9.6.0.cl
126
- */
127
- preRenderId: string;
102
+ /**
103
+ * PreRender id to be used for PreRendering the embed.
104
+ * Use PreRender to render the embed in the background and then
105
+ * show or hide the rendered embed using showPreRender or hidePreRender respectively.
106
+ * @example
107
+ * ```js
108
+ * const embed = new LiveboardEmbed('#embed', {
109
+ * ... // other liveboard view config
110
+ * preRenderId: "preRenderId-123"
111
+ * });
112
+ * embed.showPreRender();
113
+ * ```
114
+ *
115
+ * Use PreRendered react component for pre rendering embed components.
116
+ * @example
117
+ * ```tsx
118
+ * function LandingPageComponent() {
119
+ * return <PreRenderedLiveboardEmbed preRenderId="someId" liveboardId="libId" />
120
+ * }
121
+ * ```
122
+ * function MyComponent() {
123
+ * return <LiveboardEmbed preRenderId="someId" liveboardId="libId" />
124
+ * }
125
+ * ```
126
+ * @version SDK: 1.25.0 | Thoughtspot: 9.6.0.cl
127
+ */
128
+ preRenderId: string;
128
129
  }
129
130
 
130
131
  /**
@@ -329,11 +330,58 @@ export const PreRenderedSageEmbed = componentFactory<
329
330
  SageViewConfig
330
331
  >(_SageEmbed, true);
331
332
 
333
+ interface ConversationEmbedProps extends EmbedProps, ConversationViewConfig { }
334
+
335
+ /**
336
+ * React component for LLM based conversation BI.
337
+ * @example
338
+ * ```tsx
339
+ * function Sage() {
340
+ * return <ConversationEmbed
341
+ * worksheetId="<worksheet-id-here>"
342
+ * searchOptions={{
343
+ * searchQuery: "<search query to start with>"
344
+ * }}
345
+ * ... other view config props or event listeners.
346
+ * />
347
+ * }
348
+ * ```
349
+ */
350
+ export const ConversationEmbed = componentFactory<
351
+ typeof _ConversationEmbed, ConversationEmbedProps, ConversationViewConfig>(
352
+ _ConversationEmbed,
353
+ );
354
+
355
+ /**
356
+ * React component for PreRendered Conversation embed.
357
+ *
358
+ * PreRenderedConversationEmbed will preRender the ConversationEmbed and will be hidden by
359
+ * default.
360
+ *
361
+ * SageEmbed with preRenderId passed will call showPreRender on the embed.
362
+ * @example
363
+ * ```tsx
364
+ * function LandingPageComponent() {
365
+ * return <PreRenderedConversationEmbed preRenderId="someId" worksheetId={"id-"} />
366
+ * }
367
+ * ```
368
+ * function MyComponent() {
369
+ * return <ConversationEmbed preRenderId="someId" worksheetId="id" />
370
+ * }
371
+ * ```
372
+ */
373
+ export const PreRenderedConversationEmbed = componentFactory<
374
+ typeof _ConversationEmbed,
375
+ SageEmbedProps & PreRenderProps,
376
+ ConversationViewConfig
377
+ >(_ConversationEmbed, true);
378
+
332
379
  type EmbedComponent = typeof SearchEmbed
333
380
  | typeof AppEmbed
334
381
  | typeof LiveboardEmbed
335
382
  | typeof SearchBarEmbed
336
- | typeof SageEmbed;
383
+ | typeof SageEmbed
384
+ | typeof ConversationEmbed;
337
385
 
338
386
  /**
339
387
  * Get a reference to the embed component to trigger events on the component.
@@ -352,7 +400,7 @@ type EmbedComponent = typeof SearchEmbed
352
400
  * @returns {React.MutableRefObject<T extends TsEmbed>} ref
353
401
  */
354
402
  export function useEmbedRef<T extends EmbedComponent>():
355
- React.MutableRefObject<React.ComponentRef<T>> {
403
+ React.MutableRefObject<React.ComponentRef<T>> {
356
404
  return React.useRef<React.ComponentRef<T>>(null);
357
405
  }
358
406
 
@@ -1,12 +1,16 @@
1
+ import { has } from 'lodash';
1
2
  import { version } from '../../package.json';
2
3
  import { Action, AuthType } from '../types';
3
4
 
4
5
  /**
5
6
  Initialises fetch to the global object
6
7
  */
7
- global.fetch = jest.fn(() => Promise.resolve({
8
- json: () => ({ mixpanelAccessToken: '' }),
9
- }));
8
+ if (!(global.fetch as any).mockResponse) {
9
+ console.log('mocking fetch');
10
+ global.fetch = jest.fn(() => Promise.resolve({
11
+ json: () => ({ mixpanelAccessToken: '' }),
12
+ }));
13
+ }
10
14
 
11
15
  export const defaultParamsWithoutHiddenActions = `hostAppUrl=local-host&viewPortHeight=768&viewPortWidth=1024&sdkVersion=${version}&authType=${AuthType.None}&blockNonEmbedFullAppAccess=true`;
12
16
  export const defaultParams = `&${defaultParamsWithoutHiddenActions}&hideAction=[%22${Action.ReportError}%22]`;
@@ -106,6 +110,27 @@ export const expectUrlMatchesWithParams = (source: string, target: string) => {
106
110
  const sourceParamsObj = Object.fromEntries(sourceUrl.searchParams);
107
111
  const targetParamsObj = Object.fromEntries(targetUrl.searchParams);
108
112
  expect(sourceParamsObj).toMatchObject(targetParamsObj);
113
+
114
+ const sourceHashParams = getHashQueryParams(sourceUrl.hash);
115
+ const targetHashParams = getHashQueryParams(targetUrl.hash);
116
+ expect(sourceHashParams).toMatchObject(targetHashParams);
117
+ };
118
+
119
+ export const expectUrlToHaveParamsWithValues = (
120
+ url: string, paramsWithValues: Record<string, any>,
121
+ ) => {
122
+ const urlObj = new URL(url);
123
+ const urlParams = Object.fromEntries(urlObj.searchParams);
124
+
125
+ const sourceHashParams = getHashQueryParams(urlObj.hash);
126
+ const sourceParams = {
127
+ ...urlParams, ...sourceHashParams,
128
+ };
129
+
130
+ Object.entries(paramsWithValues).forEach(([key, value]) => {
131
+ expect(has(sourceParams, key)).toBeTruthy();
132
+ expect(`${sourceParams[key]}`).toBe(`${value}`);
133
+ });
109
134
  };
110
135
 
111
136
  export const expectUrlMatch = (source: string, target: string) => {
@@ -123,3 +148,21 @@ export const createRootEleForEmbed = () => {
123
148
  rootEle.appendChild(tsEmbedDiv);
124
149
  document.body.appendChild(rootEle);
125
150
  };
151
+
152
+ export const getHashQueryParams = (hash: string): any => {
153
+ const params = hash.split('?')[1];
154
+ const hashParams = new URLSearchParams(params);
155
+ return Object.fromEntries(hashParams);
156
+ };
157
+
158
+ export const mockSessionInfo = {
159
+ userGUID: '1234',
160
+ mixpanelToken: 'abc123',
161
+ isPublicUser: false,
162
+ sessionId: '6588e7d9-710c-453e-a7b4-535fb3a8cbb2',
163
+ genNo: 3,
164
+ acSession: {
165
+ sessionId: 'cb202c48-b14b-4466-8a70-899ea666d46q',
166
+ genNo: 5,
167
+ },
168
+ };
@@ -22,7 +22,11 @@ import { AuthType } from './types';
22
22
  export const tokenizedFetch: typeof fetch = async (input, init): Promise<Response> => {
23
23
  const embedConfig = getEmbedConfig();
24
24
  if (embedConfig.authType !== AuthType.TrustedAuthTokenCookieless) {
25
- return fetch(input, init);
25
+ return fetch(input, {
26
+ // ensure cookies are included for the non cookie-less api calls.
27
+ credentials: 'include',
28
+ ...init,
29
+ });
26
30
  }
27
31
 
28
32
  const req = new Request(input, init);
package/src/types.ts CHANGED
@@ -449,13 +449,6 @@ export interface EmbedConfig {
449
449
  */
450
450
  queueMultiRenders?: boolean;
451
451
 
452
- /**
453
- * Dynamic CSS URL to be injected in the loaded application.
454
- * You would also need to set `style-src` in the CSP settings.
455
- * @version SDK: 1.6.0 | ThoughtSpot: ts8.nov.cl, 8.4.1.sw
456
- * @default ''
457
- */
458
- customCssUrl?: string;
459
452
  /**
460
453
  * [AuthServer|Basic] Detect if third-party party cookies are enabled by doing an
461
454
  * additional call. This is slower and should be avoided. Listen to the
@@ -589,6 +582,13 @@ export interface EmbedConfig {
589
582
  * @version SDK: 1.28.5 | Thoughtspot: *
590
583
  */
591
584
  disableTokenVerification?: boolean;
585
+
586
+ /**
587
+ * This flag is used to disable showing the login failure page in the embedded app.
588
+ *
589
+ * @version SDK 1.32.3 | Thoughtspot: *
590
+ */
591
+ disableLoginFailurePage?: boolean;
592
592
  }
593
593
 
594
594
  // eslint-disable-next-line @typescript-eslint/no-empty-interface
@@ -715,11 +715,12 @@ export interface ViewConfig {
715
715
  */
716
716
  visibleActions?: Action[];
717
717
  /**
718
- * Show alert messages and toast messages in the embedded view.
718
+ * Show alert messages and toast messages in the embedded
719
+ * view in full app embed.
719
720
  * @version SDK: 1.11.0 | ThoughtSpot: 8.3.0.cl, 8.4.1.sw
720
721
  * @example
721
722
  * ```js
722
- * const embed = new LiveboardEmbed('#embed-container', {
723
+ * const embed = new AppEmbed('#embed-container', {
723
724
  * ... // other options
724
725
  * showAlerts:true,
725
726
  * })
@@ -1040,6 +1041,19 @@ export interface ViewConfig {
1040
1041
  * @version SDK: 1.32.1 | ThoughtSpot: 10.3.0.cl
1041
1042
  */
1042
1043
  disableRedirectionLinksInNewTab?: boolean;
1044
+ /**
1045
+ * Flag to control Data panel experience
1046
+ * @default true
1047
+ * @version SDK: 1.34.0 | Thoughtspot: 10.3.0.cl
1048
+ * @example
1049
+ * ```js
1050
+ * const embed = new AppEmbed('#tsEmbed', {
1051
+ * ... // other options
1052
+ * dataPanelV2: true,
1053
+ * })
1054
+ * ```
1055
+ */
1056
+ dataPanelV2?: boolean;
1043
1057
  }
1044
1058
 
1045
1059
  /**
@@ -1252,6 +1266,28 @@ export interface RuntimeParameter {
1252
1266
  * console.log('Drilldown event', drilldown);
1253
1267
  * }));
1254
1268
  * ```
1269
+ *
1270
+ * If you are using React components for embedding, you can register to any
1271
+ * events from the `EmbedEvent` list by using the `on<EventName>` convention.
1272
+ * For example,`onAlert`, `onCopyToClipboard` and so on.
1273
+ *
1274
+ * @example
1275
+ * ```js
1276
+ * // ...
1277
+ * const MyComponent = ({ dataSources }) => {
1278
+ * const onLoad = () => {
1279
+ * console.log(EmbedEvent.Load, {});
1280
+ * };
1281
+ *
1282
+ * return (
1283
+ * <SearchEmbed
1284
+ * dataSources={dataSources}
1285
+ * onLoad = {logEvent("Load")}
1286
+ * />
1287
+ * );
1288
+ * };
1289
+ * ```
1290
+ *
1255
1291
  * @group Events
1256
1292
  */
1257
1293
  // eslint-disable-next-line no-shadow
@@ -2121,21 +2157,61 @@ export enum EmbedEvent {
2121
2157
  */
2122
2158
  Rename = 'rename',
2123
2159
  /**
2124
- * Emitted when user wants to intercept the search execution
2160
+ * Emitted if the user wants to intercept the search execution
2161
+ * and implement logic to decide whether to run the search or not
2125
2162
  *
2126
- * Set IsOnBeforeGetVizDataInterceptEnabled : true to use
2127
- * this embed event
2163
+ * Prerequisite: Set isOnBeforeGetVizDataInterceptEnabled : true
2164
+ * for this embed event to get emitted.
2128
2165
  *
2166
+ * @param: payload
2167
+ * @param: responder
2168
+ * Contains elements that lets developers define whether ThoughtSpot
2169
+ * will run the search or not, and if not, which error message to provide.
2170
+ *
2171
+ * execute: When execute returns true, the search will be run.
2172
+ * When execute returns false, the search will not be executed.
2173
+ *
2174
+ * error: Developers can customize the user facing message when execute is
2175
+ * set to false using the error parameter in responder
2176
+ *
2177
+ * @version SDK : 1.29.0 | Thoughtspot : 10.2.0.cl
2178
+ *
2179
+ * @example
2129
2180
  *```js
2130
- * searchEmbed.on(EmbedEvent.OnBeforeGetVizDataIntercept,
2181
+ * .on(EmbedEvent.OnBeforeGetVizDataIntercept,
2131
2182
  * (payload, responder) => {
2132
2183
  * responder({
2133
2184
  * data: {
2134
- * execute: true,
2135
- * }})
2185
+ * execute:false,
2186
+ * error: {
2187
+ * //Provide a custom error message to explain to your end user
2188
+ * //why their search did not run
2189
+ * errorText: "This search query cannot be run.
2190
+ * Please contact your administrator for more details."
2191
+ * }
2192
+ * }})
2193
+ * })
2194
+ * ```
2195
+ *
2196
+ *```js
2197
+ * .on(EmbedEvent.OnBeforeGetVizDataIntercept,
2198
+ * (payload, responder) => {
2199
+ * const query = payload.data.data.answer.search_query
2200
+ * responder({
2201
+ * data: {
2202
+ * // returns true as long as the query does not include
2203
+ * // both the 'sales' AND the 'county' column
2204
+ * execute: !(query.includes("sales")&&query.includes("county")),
2205
+ * error: {
2206
+ * //Provide a custom error message to explain to your end user
2207
+ * // why their search did not run, and which searches are accepted by your custom logic.
2208
+ * errorText: "You can't use this query :" + query + ".
2209
+ * The 'sales' measures can never be used at the 'county' level.
2210
+ * Please try another measure, or remove 'county' from your search."
2211
+ * }
2212
+ * }})
2136
2213
  * })
2137
2214
  *```
2138
- * @version SDK : 1.29.0 | Thoughtspot : 10.2.0.cl
2139
2215
  */
2140
2216
  OnBeforeGetVizDataIntercept = 'onBeforeGetVizDataIntercept',
2141
2217
  /**
@@ -2154,7 +2230,7 @@ export enum EmbedEvent {
2154
2230
 
2155
2231
  /**
2156
2232
  * Event types that can be triggered by the host application
2157
- * to the embedded ThoughtSpot app
2233
+ * to the embedded ThoughtSpot app.
2158
2234
  *
2159
2235
  * To trigger an event use the corresponding
2160
2236
  * {@link LiveboardEmbed.trigger} or {@link AppEmbed.trigger} or {@link
@@ -2171,6 +2247,40 @@ export enum EmbedEvent {
2171
2247
  * { columnName: 'state, operator: RuntimeFilterOp.EQ, values: ['california']}
2172
2248
  * ]);
2173
2249
  * ```
2250
+ * @example
2251
+ * If using React components to embed, use the format shown in this example:
2252
+ *
2253
+ * ```js
2254
+ * const selectVizs = () => {
2255
+ * embedRef.current.trigger(HostEvent.SetVisibleVizs, [
2256
+ * "715e4613-c891-4884-be44-aa8d13701c06",
2257
+ * "3f84d633-e325-44b2-be25-c6650e5a49cf"
2258
+ * ]);
2259
+ * };
2260
+ * ```
2261
+ *
2262
+ *
2263
+ * You can also attach an Embed event to a Host event to trigger
2264
+ * a specific action as shown in this example:
2265
+ *
2266
+ * @example
2267
+ * ```js
2268
+ * const EmbeddedComponent = () => {
2269
+ * const embedRef = useRef(null); // import { useRef } from react
2270
+ * const onLiveboardRendered = () => {
2271
+ * embedRef.current.trigger(HostEvent.SetVisibleVizs, ['viz1', 'viz2']);
2272
+ * };
2273
+ *
2274
+ * return (
2275
+ * <LiveboardEmbed
2276
+ * ref={embedRef}
2277
+ * liveboardId="<liveboard-guid>"
2278
+ * onLiveboardRendered={onLiveboardRendered}
2279
+ * />
2280
+ * );
2281
+ * }
2282
+ * ```
2283
+ *
2174
2284
  * @group Events
2175
2285
  */
2176
2286
  // eslint-disable-next-line no-shadow
@@ -2255,6 +2365,15 @@ export enum HostEvent {
2255
2365
  * @hidden
2256
2366
  */
2257
2367
  Reload = 'reload',
2368
+ /**
2369
+ * Get current iframe src
2370
+ * @example
2371
+ * ```js
2372
+ * const frameUrl = AppEmbed.trigger(HostEvent.GetIframeUrl)
2373
+ * ```
2374
+ * @version SDK: 1.35.0 | Thoughtspot: 10.4.0.cl
2375
+ */
2376
+ GetIframeUrl = 'GetIframeUrl',
2258
2377
  /**
2259
2378
  * Display specific visualizations on a Liveboard.
2260
2379
  * @param - An array of GUIDs of the visualization to show. The visualization IDs not passed
@@ -2856,10 +2975,23 @@ export enum HostEvent {
2856
2975
  * filter: {
2857
2976
  * column: "item type",
2858
2977
  * oper: "IN",
2859
- * values: ["bags","shirts"],
2978
+ * values: ["bags","shirts"]
2979
+ * }
2980
+ * });
2981
+ * ```
2982
+ * @example
2983
+ * ```js
2984
+ *
2985
+ * liveboardEmbed.trigger(HostEvent.UpdateFilters, {
2986
+ * filter: {
2987
+ * column: "date",
2988
+ * oper: "EQ",
2989
+ * values: ["JULY","2023"],
2990
+ * type: "MONTH_YEAR"
2860
2991
  * }
2861
2992
  * });
2862
2993
  * ```
2994
+ *
2863
2995
  * @example
2864
2996
  *
2865
2997
  * ```js
@@ -2877,7 +3009,8 @@ export enum HostEvent {
2877
3009
  * {
2878
3010
  * column: "Date",
2879
3011
  * oper: 'EQ',
2880
- * values: ["1656680400"]
3012
+ * values: ["2023-07-31"],
3013
+ * types: "EXACT_DATE"
2881
3014
  * }]
2882
3015
  * });
2883
3016
  * ```
@@ -3067,7 +3200,6 @@ export enum Param {
3067
3200
  ViewPortHeight = 'viewPortHeight',
3068
3201
  ViewPortWidth = 'viewPortWidth',
3069
3202
  VisibleActions = 'visibleAction',
3070
- CustomCSSUrl = 'customCssUrl',
3071
3203
  DisableLoginRedirect = 'disableLoginRedirect',
3072
3204
  visibleVizs = 'pinboardVisibleVizs',
3073
3205
  LiveboardV2Enabled = 'isPinboardV2Enabled',
@@ -3126,6 +3258,9 @@ export enum Param {
3126
3258
  FocusSearchBarOnRender = 'focusSearchBarOnRender',
3127
3259
  DisableRedirectionLinksInNewTab = 'disableRedirectionLinksInNewTab',
3128
3260
  HomePageSearchBarMode = 'homePageSearchBarMode',
3261
+ ShowLiveboardVerifiedBadge = 'showLiveboardVerifiedBadge',
3262
+ ShowLiveboardReverifyBanner = 'showLiveboardReverifyBanner',
3263
+ LiveboardHeaderV2 = 'isLiveboardHeaderV2Enabled',
3129
3264
  }
3130
3265
 
3131
3266
  /**
@@ -4052,7 +4187,7 @@ export enum Action {
4052
4187
  *
4053
4188
  * @version SDK: 1.32.0 | Thoughtspot: 10.1.0.cl
4054
4189
  */
4055
- CreateLiveboard = 'CreateLiveboard',
4190
+ CreateLiveboard = 'createLiveboard',
4056
4191
 
4057
4192
  /**
4058
4193
  * Action ID for to hide Verified Liveboard Banner
@@ -4154,6 +4289,17 @@ export enum Action {
4154
4289
  */
4155
4290
  UnsubscribeScheduleHomepage = 'unsubscribeScheduleHomepage',
4156
4291
 
4292
+ /**
4293
+ * The **Manage Tags** action on Homepage Favourite Module.
4294
+ *
4295
+ * @example
4296
+ * ```js
4297
+ * disabledActions: [Action.ManageTags]
4298
+ * ```
4299
+ * @version SDK : 1.34.0 | Thoughtspot: 10.3.0.cl
4300
+ */
4301
+ ManageTags = 'manageTags',
4302
+
4157
4303
  /**
4158
4304
  * Action ID for delete schedule action on schedule on homepage
4159
4305
  * @example
@@ -29,7 +29,9 @@ describe('Unit test for authService', () => {
29
29
  const response = await fetchSessionInfoService(thoughtSpotHost);
30
30
  expect(response.success).toBe(true);
31
31
  expect(fetch).toHaveBeenCalledTimes(1);
32
- expect(fetch).toBeCalledWith(`${thoughtSpotHost}${EndPoints.SESSION_INFO}`, {});
32
+ expect(fetch).toBeCalledWith(`${thoughtSpotHost}${EndPoints.SESSION_INFO}`, {
33
+ credentials: 'include',
34
+ });
33
35
  });
34
36
 
35
37
  test('fetchAuthTokenService', async () => {
@@ -112,9 +114,16 @@ describe('Unit test for authService', () => {
112
114
  try {
113
115
  await fetchSessionInfoService(authVerificationUrl);
114
116
  } catch (e) {
115
- expect(e.message).toContain('Failed to fetch session info');
117
+ //
116
118
  }
117
119
  expect(logger.error).toHaveBeenCalledWith('Failed to fetch http://localhost:3000/callosum/v1/session/info', 'error');
120
+
121
+ try {
122
+ await fetchBasicAuthService(thoughtSpotHost, username, password);
123
+ } catch (e) {
124
+ expect(e.message).toContain('Failed to fetch session info');
125
+ }
126
+ expect(logger.error).toHaveBeenCalledWith('Failure', 'error');
118
127
  });
119
128
 
120
129
  test('verifyTokenService if token api works', async () => {
@@ -18,7 +18,6 @@ function tokenizedFailureLoggedFetch(url: string, options: RequestInit = {}): Pr
18
18
 
19
19
  /**
20
20
  * Fetches the session info from the ThoughtSpot server.
21
- *
22
21
  * @param thoughtspotHost
23
22
  * @returns {Promise<any>}
24
23
  * @example
@@ -52,7 +51,6 @@ export async function fetchLogoutService(thoughtSpotHost: string): Promise<any>
52
51
 
53
52
  /**
54
53
  * Is active service to check if the user is logged in.
55
- *
56
54
  * @param thoughtSpotHost
57
55
  * @version SDK: 1.28.4 | ThoughtSpot: *
58
56
  */
@@ -0,0 +1,20 @@
1
+ import { getDocumentBody } from '../test/test-utils';
2
+ import { addPreviewStylesIfNotPresent } from './global-styles';
3
+
4
+ describe('addPreviewStylesIfNotPresent', () => {
5
+ afterEach(() => {
6
+ document.body.innerHTML = getDocumentBody();
7
+ });
8
+ it('should not add preview styles if present', () => {
9
+ document.body.innerHTML = '<div id="ts-preview-style">test</div>';
10
+ addPreviewStylesIfNotPresent();
11
+ const styleEl = document.getElementById('ts-preview-style');
12
+ expect(styleEl.innerHTML).toBe('test');
13
+ });
14
+
15
+ it('should add preview styles if not present', () => {
16
+ addPreviewStylesIfNotPresent();
17
+ const styleEl = document.getElementById('ts-preview-style');
18
+ expect(styleEl).not.toBeNull();
19
+ });
20
+ });
@@ -101,10 +101,10 @@ export const getAnswer = `
101
101
  isDiscoverable
102
102
  isHidden
103
103
  modifiedAt
104
- tags
105
104
  }
106
105
  visualizations {
107
106
  ... on TableViz {
107
+ id
108
108
  columns {
109
109
  column {
110
110
  id
@@ -116,6 +116,9 @@ export const getAnswer = `
116
116
  }
117
117
  }
118
118
  }
119
+ ... on ChartViz {
120
+ id
121
+ }
119
122
  }
120
123
  }
121
124
  }
@@ -164,3 +167,32 @@ export const addVizToLiveboard = `
164
167
  }
165
168
  }
166
169
  `;
170
+
171
+ export const getSQLQuery = `
172
+ mutation GetSQLQuery($session: BachSessionIdInput!) {
173
+ Answer__getQuery(session: $session) {
174
+ ${bachSessionId}
175
+ sql
176
+ }
177
+ }
178
+ `;
179
+
180
+ export const getAnswerTML = `
181
+ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies: Boolean, $formatType: EDocFormatType, $exportPermissions: Boolean, $exportFqn: Boolean) {
182
+ UnsavedAnswer_getTML(
183
+ session: $session
184
+ exportDependencies: $exportDependencies
185
+ formatType: $formatType
186
+ exportPermissions: $exportPermissions
187
+ exportFqn: $exportFqn
188
+ ) {
189
+ zipFile
190
+ object {
191
+ edoc
192
+ name
193
+ type
194
+ __typename
195
+ }
196
+ __typename
197
+ }
198
+ }`;