@thoughtspot/visual-embed-sdk 1.51.2 → 1.52.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 (316) hide show
  1. package/cjs/package.json +9 -1
  2. package/cjs/src/api-intercept.d.ts.map +1 -1
  3. package/cjs/src/api-intercept.js +1 -0
  4. package/cjs/src/api-intercept.js.map +1 -1
  5. package/cjs/src/contracts/contracts.spec.d.ts +2 -0
  6. package/cjs/src/contracts/contracts.spec.d.ts.map +1 -0
  7. package/cjs/src/contracts/contracts.spec.js +345 -0
  8. package/cjs/src/contracts/contracts.spec.js.map +1 -0
  9. package/cjs/src/contracts/embed-event-payloads.d.ts +73 -0
  10. package/cjs/src/contracts/embed-event-payloads.d.ts.map +1 -0
  11. package/cjs/src/contracts/embed-event-payloads.js +3 -0
  12. package/cjs/src/contracts/embed-event-payloads.js.map +1 -0
  13. package/cjs/src/contracts/host-event-contracts.d.ts +378 -0
  14. package/cjs/src/contracts/host-event-contracts.d.ts.map +1 -0
  15. package/cjs/src/contracts/host-event-contracts.js +3 -0
  16. package/cjs/src/contracts/host-event-contracts.js.map +1 -0
  17. package/cjs/src/contracts/index.d.ts +22 -0
  18. package/cjs/src/contracts/index.d.ts.map +1 -0
  19. package/cjs/src/contracts/index.js +33 -0
  20. package/cjs/src/contracts/index.js.map +1 -0
  21. package/cjs/src/contracts/ui-passthrough-contracts.d.ts +277 -0
  22. package/cjs/src/contracts/ui-passthrough-contracts.d.ts.map +1 -0
  23. package/cjs/src/{embed/hostEventClient/contracts.js → contracts/ui-passthrough-contracts.js} +6 -2
  24. package/cjs/src/contracts/ui-passthrough-contracts.js.map +1 -0
  25. package/cjs/src/css-variables.d.ts +1 -1
  26. package/cjs/src/embed/app.d.ts +17 -140
  27. package/cjs/src/embed/app.d.ts.map +1 -1
  28. package/cjs/src/embed/app.js +20 -120
  29. package/cjs/src/embed/app.js.map +1 -1
  30. package/cjs/src/embed/app.spec.js +70 -26
  31. package/cjs/src/embed/app.spec.js.map +1 -1
  32. package/cjs/src/embed/conversation.d.ts +5 -5
  33. package/cjs/src/embed/events.spec.js +12 -2
  34. package/cjs/src/embed/events.spec.js.map +1 -1
  35. package/cjs/src/embed/hostEventClient/host-event-client.d.ts +3 -2
  36. package/cjs/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  37. package/cjs/src/embed/hostEventClient/host-event-client.js +23 -18
  38. package/cjs/src/embed/hostEventClient/host-event-client.js.map +1 -1
  39. package/cjs/src/embed/hostEventClient/host-event-client.spec.js +36 -36
  40. package/cjs/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  41. package/cjs/src/embed/hostEventClient/utils.d.ts +1 -1
  42. package/cjs/src/embed/hostEventClient/utils.d.ts.map +1 -1
  43. package/cjs/src/embed/hostEventClient/utils.js +3 -3
  44. package/cjs/src/embed/hostEventClient/utils.js.map +1 -1
  45. package/cjs/src/embed/liveboard.d.ts +9 -161
  46. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  47. package/cjs/src/embed/liveboard.js +68 -135
  48. package/cjs/src/embed/liveboard.js.map +1 -1
  49. package/cjs/src/embed/liveboard.spec.js +215 -32
  50. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  51. package/cjs/src/embed/search.d.ts +14 -0
  52. package/cjs/src/embed/search.d.ts.map +1 -1
  53. package/cjs/src/embed/search.js +4 -1
  54. package/cjs/src/embed/search.js.map +1 -1
  55. package/cjs/src/embed/search.spec.js +65 -0
  56. package/cjs/src/embed/search.spec.js.map +1 -1
  57. package/cjs/src/embed/ts-embed.d.ts +21 -25
  58. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  59. package/cjs/src/embed/ts-embed.js +105 -72
  60. package/cjs/src/embed/ts-embed.js.map +1 -1
  61. package/cjs/src/embed/ts-embed.spec.d.ts.map +1 -1
  62. package/cjs/src/embed/ts-embed.spec.js +380 -33
  63. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  64. package/cjs/src/full-height.d.ts +137 -0
  65. package/cjs/src/full-height.d.ts.map +1 -0
  66. package/cjs/src/full-height.js +272 -0
  67. package/cjs/src/full-height.js.map +1 -0
  68. package/cjs/src/full-height.spec.d.ts +2 -0
  69. package/cjs/src/full-height.spec.d.ts.map +1 -0
  70. package/cjs/src/full-height.spec.js +835 -0
  71. package/cjs/src/full-height.spec.js.map +1 -0
  72. package/cjs/src/index.d.ts +4 -3
  73. package/cjs/src/index.d.ts.map +1 -1
  74. package/cjs/src/index.js +5 -4
  75. package/cjs/src/index.js.map +1 -1
  76. package/cjs/src/react/all-types-export.d.ts +1 -1
  77. package/cjs/src/react/all-types-export.d.ts.map +1 -1
  78. package/cjs/src/react/all-types-export.js +2 -1
  79. package/cjs/src/react/all-types-export.js.map +1 -1
  80. package/cjs/src/react/all-types-export.parity.spec.js +55 -3
  81. package/cjs/src/react/all-types-export.parity.spec.js.map +1 -1
  82. package/cjs/src/react/index.d.ts +8 -8
  83. package/cjs/src/react/index.d.ts.map +1 -1
  84. package/cjs/src/react/index.js +1 -1
  85. package/cjs/src/react/index.js.map +1 -1
  86. package/cjs/src/react/index.spec.js +7 -7
  87. package/cjs/src/react/index.spec.js.map +1 -1
  88. package/cjs/src/types.d.ts +664 -39
  89. package/cjs/src/types.d.ts.map +1 -1
  90. package/cjs/src/types.js +406 -13
  91. package/cjs/src/types.js.map +1 -1
  92. package/cjs/src/utils/processTrigger.d.ts +3 -1
  93. package/cjs/src/utils/processTrigger.d.ts.map +1 -1
  94. package/cjs/src/utils/processTrigger.js +19 -51
  95. package/cjs/src/utils/processTrigger.js.map +1 -1
  96. package/cjs/src/utils/transport/iframe-transport.d.ts +55 -0
  97. package/cjs/src/utils/transport/iframe-transport.d.ts.map +1 -0
  98. package/cjs/src/utils/transport/iframe-transport.js +108 -0
  99. package/cjs/src/utils/transport/iframe-transport.js.map +1 -0
  100. package/cjs/src/utils/transport/iframe-transport.spec.d.ts +2 -0
  101. package/cjs/src/utils/transport/iframe-transport.spec.d.ts.map +1 -0
  102. package/cjs/src/utils/transport/iframe-transport.spec.js +140 -0
  103. package/cjs/src/utils/transport/iframe-transport.spec.js.map +1 -0
  104. package/cjs/src/utils.d.ts +18 -0
  105. package/cjs/src/utils.d.ts.map +1 -1
  106. package/cjs/src/utils.js +39 -1
  107. package/cjs/src/utils.js.map +1 -1
  108. package/cjs/src/utils.spec.js +62 -0
  109. package/cjs/src/utils.spec.js.map +1 -1
  110. package/dist/{index-D8_Zs-Nr.js → index-C1pmYb5H.js} +1 -1
  111. package/dist/src/api-intercept.d.ts.map +1 -1
  112. package/dist/src/contracts/contracts.spec.d.ts +2 -0
  113. package/dist/src/contracts/contracts.spec.d.ts.map +1 -0
  114. package/dist/src/contracts/embed-event-payloads.d.ts +73 -0
  115. package/dist/src/contracts/embed-event-payloads.d.ts.map +1 -0
  116. package/dist/src/contracts/host-event-contracts.d.ts +378 -0
  117. package/dist/src/contracts/host-event-contracts.d.ts.map +1 -0
  118. package/dist/src/contracts/index.d.ts +22 -0
  119. package/dist/src/contracts/index.d.ts.map +1 -0
  120. package/dist/src/contracts/ui-passthrough-contracts.d.ts +277 -0
  121. package/dist/src/contracts/ui-passthrough-contracts.d.ts.map +1 -0
  122. package/dist/src/css-variables.d.ts +1 -1
  123. package/dist/src/embed/app.d.ts +17 -140
  124. package/dist/src/embed/app.d.ts.map +1 -1
  125. package/dist/src/embed/conversation.d.ts +5 -5
  126. package/dist/src/embed/hostEventClient/host-event-client.d.ts +3 -2
  127. package/dist/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  128. package/dist/src/embed/hostEventClient/utils.d.ts +1 -1
  129. package/dist/src/embed/hostEventClient/utils.d.ts.map +1 -1
  130. package/dist/src/embed/liveboard.d.ts +9 -161
  131. package/dist/src/embed/liveboard.d.ts.map +1 -1
  132. package/dist/src/embed/search.d.ts +14 -0
  133. package/dist/src/embed/search.d.ts.map +1 -1
  134. package/dist/src/embed/ts-embed.d.ts +21 -25
  135. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  136. package/dist/src/embed/ts-embed.spec.d.ts.map +1 -1
  137. package/dist/src/full-height.d.ts +137 -0
  138. package/dist/src/full-height.d.ts.map +1 -0
  139. package/dist/src/full-height.spec.d.ts +2 -0
  140. package/dist/src/full-height.spec.d.ts.map +1 -0
  141. package/dist/src/index.d.ts +4 -3
  142. package/dist/src/index.d.ts.map +1 -1
  143. package/dist/src/react/all-types-export.d.ts +1 -1
  144. package/dist/src/react/all-types-export.d.ts.map +1 -1
  145. package/dist/src/react/index.d.ts +8 -8
  146. package/dist/src/react/index.d.ts.map +1 -1
  147. package/dist/src/types.d.ts +664 -39
  148. package/dist/src/types.d.ts.map +1 -1
  149. package/dist/src/utils/processTrigger.d.ts +3 -1
  150. package/dist/src/utils/processTrigger.d.ts.map +1 -1
  151. package/dist/src/utils/transport/iframe-transport.d.ts +55 -0
  152. package/dist/src/utils/transport/iframe-transport.d.ts.map +1 -0
  153. package/dist/src/utils/transport/iframe-transport.spec.d.ts +2 -0
  154. package/dist/src/utils/transport/iframe-transport.spec.d.ts.map +1 -0
  155. package/dist/src/utils.d.ts +18 -0
  156. package/dist/src/utils.d.ts.map +1 -1
  157. package/dist/tsembed-react.es.js +1031 -392
  158. package/dist/tsembed-react.js +1030 -391
  159. package/dist/tsembed.es.js +1031 -392
  160. package/dist/tsembed.js +1029 -390
  161. package/dist/visual-embed-sdk-react-full.d.ts +1483 -693
  162. package/dist/visual-embed-sdk-react.d.ts +1364 -647
  163. package/dist/visual-embed-sdk.d.ts +1426 -659
  164. package/lib/package.json +9 -1
  165. package/lib/src/api-intercept.d.ts.map +1 -1
  166. package/lib/src/api-intercept.js +2 -1
  167. package/lib/src/api-intercept.js.map +1 -1
  168. package/lib/src/contracts/contracts.spec.d.ts +2 -0
  169. package/lib/src/contracts/contracts.spec.d.ts.map +1 -0
  170. package/lib/src/contracts/contracts.spec.js +342 -0
  171. package/lib/src/contracts/contracts.spec.js.map +1 -0
  172. package/lib/src/contracts/embed-event-payloads.d.ts +73 -0
  173. package/lib/src/contracts/embed-event-payloads.d.ts.map +1 -0
  174. package/lib/src/contracts/embed-event-payloads.js +2 -0
  175. package/lib/src/contracts/embed-event-payloads.js.map +1 -0
  176. package/lib/src/contracts/host-event-contracts.d.ts +378 -0
  177. package/lib/src/contracts/host-event-contracts.d.ts.map +1 -0
  178. package/lib/src/contracts/host-event-contracts.js +2 -0
  179. package/lib/src/contracts/host-event-contracts.js.map +1 -0
  180. package/lib/src/contracts/index.d.ts +22 -0
  181. package/lib/src/contracts/index.d.ts.map +1 -0
  182. package/lib/src/contracts/index.js +22 -0
  183. package/lib/src/contracts/index.js.map +1 -0
  184. package/lib/src/contracts/ui-passthrough-contracts.d.ts +277 -0
  185. package/lib/src/contracts/ui-passthrough-contracts.d.ts.map +1 -0
  186. package/lib/src/{embed/hostEventClient/contracts.js → contracts/ui-passthrough-contracts.js} +6 -2
  187. package/lib/src/contracts/ui-passthrough-contracts.js.map +1 -0
  188. package/lib/src/css-variables.d.ts +1 -1
  189. package/lib/src/embed/app.d.ts +17 -140
  190. package/lib/src/embed/app.d.ts.map +1 -1
  191. package/lib/src/embed/app.js +22 -122
  192. package/lib/src/embed/app.js.map +1 -1
  193. package/lib/src/embed/app.spec.js +70 -26
  194. package/lib/src/embed/app.spec.js.map +1 -1
  195. package/lib/src/embed/conversation.d.ts +5 -5
  196. package/lib/src/embed/events.spec.js +12 -2
  197. package/lib/src/embed/events.spec.js.map +1 -1
  198. package/lib/src/embed/hostEventClient/host-event-client.d.ts +3 -2
  199. package/lib/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  200. package/lib/src/embed/hostEventClient/host-event-client.js +6 -1
  201. package/lib/src/embed/hostEventClient/host-event-client.js.map +1 -1
  202. package/lib/src/embed/hostEventClient/host-event-client.spec.js +1 -1
  203. package/lib/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  204. package/lib/src/embed/hostEventClient/utils.d.ts +1 -1
  205. package/lib/src/embed/hostEventClient/utils.d.ts.map +1 -1
  206. package/lib/src/embed/hostEventClient/utils.js +1 -1
  207. package/lib/src/embed/hostEventClient/utils.js.map +1 -1
  208. package/lib/src/embed/liveboard.d.ts +9 -161
  209. package/lib/src/embed/liveboard.d.ts.map +1 -1
  210. package/lib/src/embed/liveboard.js +70 -137
  211. package/lib/src/embed/liveboard.js.map +1 -1
  212. package/lib/src/embed/liveboard.spec.js +215 -32
  213. package/lib/src/embed/liveboard.spec.js.map +1 -1
  214. package/lib/src/embed/search.d.ts +14 -0
  215. package/lib/src/embed/search.d.ts.map +1 -1
  216. package/lib/src/embed/search.js +4 -1
  217. package/lib/src/embed/search.js.map +1 -1
  218. package/lib/src/embed/search.spec.js +65 -0
  219. package/lib/src/embed/search.spec.js.map +1 -1
  220. package/lib/src/embed/ts-embed.d.ts +21 -25
  221. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  222. package/lib/src/embed/ts-embed.js +106 -73
  223. package/lib/src/embed/ts-embed.js.map +1 -1
  224. package/lib/src/embed/ts-embed.spec.d.ts.map +1 -1
  225. package/lib/src/embed/ts-embed.spec.js +378 -31
  226. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  227. package/lib/src/full-height.d.ts +137 -0
  228. package/lib/src/full-height.d.ts.map +1 -0
  229. package/lib/src/full-height.js +268 -0
  230. package/lib/src/full-height.js.map +1 -0
  231. package/lib/src/full-height.spec.d.ts +2 -0
  232. package/lib/src/full-height.spec.d.ts.map +1 -0
  233. package/lib/src/full-height.spec.js +833 -0
  234. package/lib/src/full-height.spec.js.map +1 -0
  235. package/lib/src/index.d.ts +4 -3
  236. package/lib/src/index.d.ts.map +1 -1
  237. package/lib/src/index.js +3 -3
  238. package/lib/src/index.js.map +1 -1
  239. package/lib/src/react/all-types-export.d.ts +1 -1
  240. package/lib/src/react/all-types-export.d.ts.map +1 -1
  241. package/lib/src/react/all-types-export.js +1 -1
  242. package/lib/src/react/all-types-export.js.map +1 -1
  243. package/lib/src/react/all-types-export.parity.spec.js +55 -3
  244. package/lib/src/react/all-types-export.parity.spec.js.map +1 -1
  245. package/lib/src/react/index.d.ts +8 -8
  246. package/lib/src/react/index.d.ts.map +1 -1
  247. package/lib/src/react/index.js +1 -1
  248. package/lib/src/react/index.js.map +1 -1
  249. package/lib/src/react/index.spec.js +7 -7
  250. package/lib/src/react/index.spec.js.map +1 -1
  251. package/lib/src/types.d.ts +664 -39
  252. package/lib/src/types.d.ts.map +1 -1
  253. package/lib/src/types.js +405 -12
  254. package/lib/src/types.js.map +1 -1
  255. package/lib/src/utils/processTrigger.d.ts +3 -1
  256. package/lib/src/utils/processTrigger.d.ts.map +1 -1
  257. package/lib/src/utils/processTrigger.js +19 -51
  258. package/lib/src/utils/processTrigger.js.map +1 -1
  259. package/lib/src/utils/transport/iframe-transport.d.ts +55 -0
  260. package/lib/src/utils/transport/iframe-transport.d.ts.map +1 -0
  261. package/lib/src/utils/transport/iframe-transport.js +101 -0
  262. package/lib/src/utils/transport/iframe-transport.js.map +1 -0
  263. package/lib/src/utils/transport/iframe-transport.spec.d.ts +2 -0
  264. package/lib/src/utils/transport/iframe-transport.spec.d.ts.map +1 -0
  265. package/lib/src/utils/transport/iframe-transport.spec.js +138 -0
  266. package/lib/src/utils/transport/iframe-transport.spec.js.map +1 -0
  267. package/lib/src/utils.d.ts +18 -0
  268. package/lib/src/utils.d.ts.map +1 -1
  269. package/lib/src/utils.js +37 -0
  270. package/lib/src/utils.js.map +1 -1
  271. package/lib/src/utils.spec.js +63 -1
  272. package/lib/src/utils.spec.js.map +1 -1
  273. package/lib/src/visual-embed-sdk.d.ts +1426 -659
  274. package/package.json +9 -1
  275. package/src/api-intercept.ts +2 -1
  276. package/src/contracts/contracts.spec.ts +392 -0
  277. package/src/contracts/embed-event-payloads.ts +83 -0
  278. package/src/contracts/host-event-contracts.ts +456 -0
  279. package/src/contracts/index.ts +53 -0
  280. package/src/contracts/ui-passthrough-contracts.ts +301 -0
  281. package/src/css-variables.ts +1 -1
  282. package/src/embed/app.spec.ts +86 -34
  283. package/src/embed/app.ts +37 -264
  284. package/src/embed/conversation.ts +5 -5
  285. package/src/embed/events.spec.ts +14 -2
  286. package/src/embed/hostEventClient/host-event-client.spec.ts +2 -2
  287. package/src/embed/hostEventClient/host-event-client.ts +18 -5
  288. package/src/embed/hostEventClient/utils.ts +2 -1
  289. package/src/embed/liveboard.spec.ts +261 -42
  290. package/src/embed/liveboard.ts +78 -297
  291. package/src/embed/search.spec.ts +80 -0
  292. package/src/embed/search.ts +20 -0
  293. package/src/embed/ts-embed.spec.ts +518 -31
  294. package/src/embed/ts-embed.ts +133 -82
  295. package/src/full-height.spec.ts +1008 -0
  296. package/src/full-height.ts +361 -0
  297. package/src/index.ts +95 -5
  298. package/src/react/all-types-export.parity.spec.ts +63 -3
  299. package/src/react/all-types-export.ts +46 -0
  300. package/src/react/index.spec.tsx +7 -7
  301. package/src/react/index.tsx +9 -9
  302. package/src/types.ts +665 -37
  303. package/src/utils/processTrigger.ts +28 -58
  304. package/src/utils/transport/iframe-transport.spec.ts +177 -0
  305. package/src/utils/transport/iframe-transport.ts +122 -0
  306. package/src/utils.spec.ts +71 -0
  307. package/src/utils.ts +38 -0
  308. package/cjs/src/embed/hostEventClient/contracts.d.ts +0 -231
  309. package/cjs/src/embed/hostEventClient/contracts.d.ts.map +0 -1
  310. package/cjs/src/embed/hostEventClient/contracts.js.map +0 -1
  311. package/dist/src/embed/hostEventClient/contracts.d.ts +0 -231
  312. package/dist/src/embed/hostEventClient/contracts.d.ts.map +0 -1
  313. package/lib/src/embed/hostEventClient/contracts.d.ts +0 -231
  314. package/lib/src/embed/hostEventClient/contracts.d.ts.map +0 -1
  315. package/lib/src/embed/hostEventClient/contracts.js.map +0 -1
  316. package/src/embed/hostEventClient/contracts.ts +0 -262
@@ -445,7 +445,7 @@ export interface CustomCssVariables {
445
445
  * Left and right margin of the header and the tab/filter section of an
446
446
  * embedded Liveboard. Use alongside the `liveboardGutter` view config to
447
447
  * keep the header aligned with a custom tile-grid gutter.
448
- * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
448
+ * @version SDK: 1.51.1 | ThoughtSpot Cloud: 26.8.0.cl
449
449
  */
450
450
  "--ts-var-liveboard-header-horizontal-margin"?: string;
451
451
  /**
@@ -1250,6 +1250,277 @@ declare class AnswerService {
1250
1250
  addDisplayedVizToLiveboard(liveboardId: string): Promise<any>;
1251
1251
  setTMLOverride(override: any): void;
1252
1252
  }
1253
+ export interface LiveboardTab {
1254
+ id: string;
1255
+ name: string;
1256
+ [key: string]: any;
1257
+ }
1258
+ export interface LiveboardGroup {
1259
+ id: string;
1260
+ name: string;
1261
+ [key: string]: any;
1262
+ }
1263
+ declare enum ApplicabilityLevel {
1264
+ Liveboard = "LIVEBOARD",
1265
+ Tab = "TAB",
1266
+ Group = "GROUP"
1267
+ }
1268
+ /**
1269
+ * Scopes a filter or parameter to a specific target.
1270
+ * At `LIVEBOARD` level the filter applies to the whole Liveboard, so `targetId`
1271
+ * is not required. `level` accepts the enum or its string value, e.g. `'TAB'`.
1272
+ */
1273
+ export interface Applicability {
1274
+ level: ApplicabilityLevel | `${ApplicabilityLevel}`;
1275
+ targetId?: string;
1276
+ }
1277
+ export interface FilterUpdate {
1278
+ column: string;
1279
+ oper: string;
1280
+ values: string[];
1281
+ type?: string;
1282
+ applicability?: Applicability;
1283
+ }
1284
+ export interface LiveboardFilter {
1285
+ applicability?: Applicability;
1286
+ [key: string]: any;
1287
+ }
1288
+ export interface LiveboardParameter {
1289
+ applicability?: Applicability;
1290
+ [key: string]: any;
1291
+ }
1292
+ declare enum UIPassthroughEvent {
1293
+ PinAnswerToLiveboard = "addVizToPinboard",
1294
+ SaveAnswer = "saveAnswer",
1295
+ GetDiscoverabilityStatus = "getDiscoverabilityStatus",
1296
+ GetAvailableUIPassthroughs = "getAvailableUiPassthroughs",
1297
+ GetAnswerConfig = "getAnswerPageConfig",
1298
+ GetLiveboardConfig = "getPinboardPageConfig",
1299
+ GetUnsavedAnswerTML = "getUnsavedAnswerTML",
1300
+ UpdateFilters = "updateFilters",
1301
+ Drilldown = "drillDown",
1302
+ GetAnswerSession = "getAnswerSession",
1303
+ GetFilters = "getFilters",
1304
+ GetIframeUrl = "getIframeUrl",
1305
+ GetParameters = "getParameters",
1306
+ GetTML = "getTML",
1307
+ GetTabs = "getTabs",
1308
+ GetGroups = "getGroups",
1309
+ GetExportRequestForCurrentPinboard = "getExportRequestForCurrentPinboard"
1310
+ }
1311
+ /**
1312
+ * UI passthrough contract. Each event's request/response is a named interface so it
1313
+ * documents and imports cleanly; `UIPassthroughContractBase` maps events to the pairs.
1314
+ */
1315
+ /** Request for {@link UIPassthroughEvent.PinAnswerToLiveboard}. */
1316
+ export interface PinAnswerToLiveboardRequest {
1317
+ vizId?: string;
1318
+ newVizName: string;
1319
+ newVizDescription?: string;
1320
+ liveboardId?: string;
1321
+ tabId?: string;
1322
+ newLiveboardName?: string;
1323
+ newTabName?: string;
1324
+ }
1325
+ /** Response for {@link UIPassthroughEvent.PinAnswerToLiveboard}. */
1326
+ export interface PinAnswerToLiveboardResponse {
1327
+ liveboardId: string;
1328
+ tabId: string;
1329
+ vizId: string;
1330
+ }
1331
+ /** Request for {@link UIPassthroughEvent.SaveAnswer}. */
1332
+ export interface SaveAnswerRequest {
1333
+ name: string;
1334
+ description: string;
1335
+ vizId?: string;
1336
+ isDiscoverable?: boolean;
1337
+ }
1338
+ /** Response for {@link UIPassthroughEvent.SaveAnswer}. */
1339
+ export interface SaveAnswerResponse {
1340
+ answerId: string;
1341
+ saveResponse?: any;
1342
+ shareResponse?: any;
1343
+ }
1344
+ /** Response for {@link UIPassthroughEvent.GetDiscoverabilityStatus}. */
1345
+ export interface GetDiscoverabilityStatusResponse {
1346
+ shouldShowDiscoverability: boolean;
1347
+ isDiscoverabilityCheckboxUnselectedPerOrg: boolean;
1348
+ }
1349
+ /** Response for {@link UIPassthroughEvent.GetAvailableUIPassthroughs}. */
1350
+ export interface GetAvailableUIPassthroughsResponse {
1351
+ keys: string[];
1352
+ }
1353
+ /** Request for {@link UIPassthroughEvent.GetAnswerConfig}. */
1354
+ export interface GetAnswerConfigRequest {
1355
+ vizId?: string;
1356
+ }
1357
+ /** Request for {@link UIPassthroughEvent.GetUnsavedAnswerTML}. */
1358
+ export interface GetUnsavedAnswerTMLRequest {
1359
+ sessionId?: string;
1360
+ vizId?: string;
1361
+ }
1362
+ /** Response for {@link UIPassthroughEvent.GetUnsavedAnswerTML}. */
1363
+ export interface GetUnsavedAnswerTMLResponse {
1364
+ tml: string;
1365
+ }
1366
+ /** Request for {@link UIPassthroughEvent.GetAnswerSession}. */
1367
+ export interface GetAnswerSessionRequest {
1368
+ vizId?: string;
1369
+ }
1370
+ /** Response for {@link UIPassthroughEvent.GetAnswerSession}. */
1371
+ export interface GetAnswerSessionResponse {
1372
+ session: SessionInterface;
1373
+ embedAnswerData?: Record<string, any>;
1374
+ }
1375
+ /** Request for {@link UIPassthroughEvent.GetFilters}. */
1376
+ export interface GetFiltersRequest {
1377
+ vizId?: string;
1378
+ }
1379
+ /** Response for {@link UIPassthroughEvent.GetFilters}. */
1380
+ export interface GetFiltersResponse {
1381
+ liveboardFilters: LiveboardFilter[];
1382
+ runtimeFilters: RuntimeFilter[];
1383
+ }
1384
+ /** Response for {@link UIPassthroughEvent.GetIframeUrl}. */
1385
+ export interface GetIframeUrlResponse {
1386
+ iframeUrl: string;
1387
+ }
1388
+ /** Response for {@link UIPassthroughEvent.GetParameters}. */
1389
+ export interface GetParametersResponse {
1390
+ parameters: LiveboardParameter[];
1391
+ }
1392
+ /** Request for {@link UIPassthroughEvent.GetTML}. */
1393
+ export interface GetTMLRequest {
1394
+ vizId?: string;
1395
+ includeNonExecutedSearchTokens?: boolean;
1396
+ }
1397
+ /** Response for {@link UIPassthroughEvent.GetTabs}. */
1398
+ export interface GetTabsResponse {
1399
+ orderedTabIds: string[];
1400
+ numberOfTabs: number;
1401
+ Tabs: LiveboardTab[];
1402
+ }
1403
+ /** Response for {@link UIPassthroughEvent.GetGroups}. */
1404
+ export interface GetGroupsResponse {
1405
+ orderedGroupIds: string[];
1406
+ numberOfGroups: number;
1407
+ Groups: LiveboardGroup[];
1408
+ }
1409
+ /** Response for {@link UIPassthroughEvent.GetExportRequestForCurrentPinboard}. */
1410
+ export interface GetExportRequestForCurrentPinboardResponse {
1411
+ data: {
1412
+ v2Content: string;
1413
+ };
1414
+ type: UIPassthroughEvent.GetExportRequestForCurrentPinboard;
1415
+ }
1416
+ /**
1417
+ * Request for {@link UIPassthroughEvent.UpdateFilters}. Not the host-event
1418
+ * `UpdateFiltersRequest` (host-event-contracts.ts), which has a different shape.
1419
+ */
1420
+ export interface UpdateFiltersPassthroughRequest {
1421
+ filter?: FilterUpdate;
1422
+ filters?: FilterUpdate[];
1423
+ }
1424
+ /** Request for {@link UIPassthroughEvent.Drilldown}. */
1425
+ export interface DrilldownRequest {
1426
+ points: {
1427
+ selectedPoints?: string[];
1428
+ clickedPoint?: string;
1429
+ };
1430
+ columnGuid?: string;
1431
+ autoDrillDown?: boolean;
1432
+ vizId?: string;
1433
+ }
1434
+ /** Maps each UI passthrough event to its request/response pair. */
1435
+ export type UIPassthroughContractBase = {
1436
+ [UIPassthroughEvent.PinAnswerToLiveboard]: {
1437
+ request: PinAnswerToLiveboardRequest;
1438
+ response: PinAnswerToLiveboardResponse;
1439
+ };
1440
+ [UIPassthroughEvent.SaveAnswer]: {
1441
+ request: SaveAnswerRequest;
1442
+ response: SaveAnswerResponse;
1443
+ };
1444
+ [UIPassthroughEvent.GetDiscoverabilityStatus]: {
1445
+ request: any;
1446
+ response: GetDiscoverabilityStatusResponse;
1447
+ };
1448
+ [UIPassthroughEvent.GetAvailableUIPassthroughs]: {
1449
+ request: any;
1450
+ response: GetAvailableUIPassthroughsResponse;
1451
+ };
1452
+ [UIPassthroughEvent.GetAnswerConfig]: {
1453
+ request: GetAnswerConfigRequest;
1454
+ response: any;
1455
+ };
1456
+ [UIPassthroughEvent.GetLiveboardConfig]: {
1457
+ request: any;
1458
+ response: any;
1459
+ };
1460
+ [UIPassthroughEvent.GetUnsavedAnswerTML]: {
1461
+ request: GetUnsavedAnswerTMLRequest;
1462
+ response: GetUnsavedAnswerTMLResponse;
1463
+ };
1464
+ [UIPassthroughEvent.GetAnswerSession]: {
1465
+ request: GetAnswerSessionRequest;
1466
+ response: GetAnswerSessionResponse;
1467
+ };
1468
+ [UIPassthroughEvent.GetFilters]: {
1469
+ request: GetFiltersRequest;
1470
+ response: GetFiltersResponse;
1471
+ };
1472
+ [UIPassthroughEvent.GetIframeUrl]: {
1473
+ request: Record<string, never>;
1474
+ response: GetIframeUrlResponse;
1475
+ };
1476
+ [UIPassthroughEvent.GetParameters]: {
1477
+ request: Record<string, never>;
1478
+ response: GetParametersResponse;
1479
+ };
1480
+ [UIPassthroughEvent.GetTML]: {
1481
+ request: GetTMLRequest;
1482
+ response: Record<string, any>;
1483
+ };
1484
+ [UIPassthroughEvent.GetTabs]: {
1485
+ request: Record<string, never>;
1486
+ response: GetTabsResponse;
1487
+ };
1488
+ [UIPassthroughEvent.GetGroups]: {
1489
+ request: Record<string, never>;
1490
+ response: GetGroupsResponse;
1491
+ };
1492
+ [UIPassthroughEvent.GetExportRequestForCurrentPinboard]: {
1493
+ request: Record<string, never>;
1494
+ response: GetExportRequestForCurrentPinboardResponse;
1495
+ };
1496
+ [UIPassthroughEvent.UpdateFilters]: {
1497
+ request: UpdateFiltersPassthroughRequest;
1498
+ response: unknown;
1499
+ };
1500
+ [UIPassthroughEvent.Drilldown]: {
1501
+ request: DrilldownRequest;
1502
+ response: unknown;
1503
+ };
1504
+ };
1505
+ export type UIPassthroughRequest<T extends keyof UIPassthroughContractBase> = UIPassthroughContractBase[T]["request"];
1506
+ export type UIPassthroughResponse<T extends keyof UIPassthroughContractBase> = UIPassthroughContractBase[T]["response"];
1507
+ export type UIPassthroughArrayResponse<ApiName extends keyof UIPassthroughContractBase> = Array<{
1508
+ refId?: string;
1509
+ value?: UIPassthroughResponse<ApiName>;
1510
+ error?: any;
1511
+ }>;
1512
+ export type EmbedApiHostEventMapping = {
1513
+ [HostEvent.Pin]: UIPassthroughEvent.PinAnswerToLiveboard;
1514
+ [HostEvent.SaveAnswer]: UIPassthroughEvent.SaveAnswer;
1515
+ [HostEvent.GetAnswerSession]: UIPassthroughEvent.GetAnswerSession;
1516
+ [HostEvent.GetFilters]: UIPassthroughEvent.GetFilters;
1517
+ [HostEvent.GetIframeUrl]: UIPassthroughEvent.GetIframeUrl;
1518
+ [HostEvent.GetParameters]: UIPassthroughEvent.GetParameters;
1519
+ [HostEvent.GetTML]: UIPassthroughEvent.GetTML;
1520
+ [HostEvent.GetTabs]: UIPassthroughEvent.GetTabs;
1521
+ [HostEvent.GetGroups]: UIPassthroughEvent.GetGroups;
1522
+ [HostEvent.getExportRequestForCurrentPinboard]: UIPassthroughEvent.GetExportRequestForCurrentPinboard;
1523
+ };
1253
1524
  declare enum AuthType {
1254
1525
  /**
1255
1526
  * No authentication on the SDK. Pass-through to the embedded App. Alias for
@@ -2100,9 +2371,11 @@ export interface FrameParams {
2100
2371
  }
2101
2372
  /**
2102
2373
  * Configuration for the pre-render wrapper element.
2103
- * All properties here mirror the top-level preRender properties on
2104
- * {@link BaseViewConfig} and take precedence over them when both are set,
2105
- * so existing top-level usage continues to work without any changes.
2374
+ * Each property here supersedes its deprecated top-level counterpart on
2375
+ * {@link BaseViewConfig} — `id` over `preRenderId`, `containerSelector` over
2376
+ * `preRenderContainer` and `doNotTrackSize` over `doNotTrackPreRenderSize` —
2377
+ * and takes precedence when both are set, so existing top-level usage continues
2378
+ * to work without any changes.
2106
2379
  *
2107
2380
  * @version SDK: 1.52.0
2108
2381
  * @example
@@ -2110,9 +2383,9 @@ export interface FrameParams {
2110
2383
  * init({ thoughtSpotHost: '...', authType: AuthType.None });
2111
2384
  * const embed = new LiveboardEmbed('#tsEmbed', {
2112
2385
  * preRenderConfig: {
2113
- * preRenderId: 'my-liveboard',
2114
- * preRenderContainer: '#my-scroll-container',
2115
- * doNotTrackPreRenderSize: false,
2386
+ * id: 'my-liveboard',
2387
+ * containerSelector: '#my-scroll-container',
2388
+ * doNotTrackSize: false,
2116
2389
  * zIndex: -10,
2117
2390
  * },
2118
2391
  * });
@@ -2133,7 +2406,7 @@ export interface PreRenderConfig {
2133
2406
  *
2134
2407
  * @default undefined
2135
2408
  */
2136
- preRenderId?: string;
2409
+ id?: string;
2137
2410
  /**
2138
2411
  * The DOM element or CSS selector string specifying the container into
2139
2412
  * which the pre-rendered wrapper is inserted.
@@ -2149,7 +2422,7 @@ export interface PreRenderConfig {
2149
2422
  *
2150
2423
  * @default document.body
2151
2424
  */
2152
- preRenderContainer?: string | HTMLElement;
2425
+ containerSelector?: string | HTMLElement;
2153
2426
  /**
2154
2427
  * Disables the `ResizeObserver` that keeps the wrapper sized to the
2155
2428
  * placeholder element.
@@ -2161,7 +2434,7 @@ export interface PreRenderConfig {
2161
2434
  *
2162
2435
  * @default false
2163
2436
  */
2164
- doNotTrackPreRenderSize?: boolean;
2437
+ doNotTrackSize?: boolean;
2165
2438
  /**
2166
2439
  * CSS `z-index` value applied to the pre-render wrapper when hidden.
2167
2440
  * Override this when the host page's stacking context does not reach `-1000`
@@ -2368,7 +2641,7 @@ export interface BaseViewConfig extends ApiInterceptFlags {
2368
2641
  *
2369
2642
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`, `SearchEmbed`, `SpotterAgentEmbed`, `SpotterEmbed`, `SearchBarEmbed`
2370
2643
  * @version SDK: 1.25.0 | ThoughtSpot: 9.6.0.cl, 9.8.0.sw
2371
- * @deprecated Use {@link PreRenderConfig.preRenderId} via `preRenderConfig` instead.
2644
+ * @deprecated Use {@link PreRenderConfig.id} via `preRenderConfig` instead.
2372
2645
  * @example
2373
2646
  * ```js
2374
2647
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
@@ -2388,7 +2661,7 @@ export interface BaseViewConfig extends ApiInterceptFlags {
2388
2661
  * @type {boolean}
2389
2662
  * @default false
2390
2663
  * @version SDK: 1.24.0 | ThoughtSpot: 9.4.0.cl, 9.4.0.sw
2391
- * @deprecated Use {@link PreRenderConfig.doNotTrackPreRenderSize} via `preRenderConfig` instead.
2664
+ * @deprecated Use {@link PreRenderConfig.doNotTrackSize} via `preRenderConfig` instead.
2392
2665
  * @example
2393
2666
  * ```js
2394
2667
  * // Disable tracking PreRender size in the configuration
@@ -2430,7 +2703,7 @@ export interface BaseViewConfig extends ApiInterceptFlags {
2430
2703
  *
2431
2704
  * @type {string | HTMLElement}
2432
2705
  * @version SDK: 1.49.2 | ThoughtSpot: *
2433
- * @deprecated Use {@link PreRenderConfig.preRenderContainer} via `preRenderConfig` instead.
2706
+ * @deprecated Use {@link PreRenderConfig.containerSelector} via `preRenderConfig` instead.
2434
2707
  * @example
2435
2708
  * ```js
2436
2709
  * const embed = new LiveboardEmbed('#tsEmbed', {
@@ -2443,9 +2716,11 @@ export interface BaseViewConfig extends ApiInterceptFlags {
2443
2716
  preRenderContainer?: string | HTMLElement;
2444
2717
  /**
2445
2718
  * Configuration for the pre-render wrapper element.
2446
- * All properties here mirror the top-level preRender properties on
2447
- * `BaseViewConfig` and take precedence over them when both are set,
2448
- * so existing top-level usage continues to work without any changes.
2719
+ * Each property here supersedes its deprecated top-level counterpart on
2720
+ * `BaseViewConfig` — `id` over `preRenderId`, `containerSelector` over
2721
+ * `preRenderContainer` and `doNotTrackSize` over `doNotTrackPreRenderSize` —
2722
+ * and takes precedence when both are set, so existing top-level usage
2723
+ * continues to work without any changes.
2449
2724
  * See {@link PreRenderConfig} for available options.
2450
2725
  *
2451
2726
  * @version SDK: 1.52.0
@@ -2453,7 +2728,7 @@ export interface BaseViewConfig extends ApiInterceptFlags {
2453
2728
  * ```js
2454
2729
  * const embed = new LiveboardEmbed('#tsEmbed', {
2455
2730
  * preRenderConfig: {
2456
- * preRenderId: 'my-liveboard',
2731
+ * id: 'my-liveboard',
2457
2732
  * zIndex: -10,
2458
2733
  * },
2459
2734
  * });
@@ -3205,7 +3480,7 @@ export interface LiveboardAppEmbedViewConfig {
3205
3480
  *
3206
3481
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
3207
3482
  * @type {boolean}
3208
- * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
3483
+ * @version SDK: 1.51.1 | ThoughtSpot Cloud: 26.8.0.cl
3209
3484
  * @default false
3210
3485
  * @example
3211
3486
  * ```js
@@ -3330,7 +3605,7 @@ export interface LiveboardAppEmbedViewConfig {
3330
3605
  *
3331
3606
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
3332
3607
  * @type {number}
3333
- * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
3608
+ * @version SDK: 1.51.1 | ThoughtSpot Cloud: 26.8.0.cl
3334
3609
  * @example
3335
3610
  * ```js
3336
3611
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -3660,6 +3935,15 @@ export interface RuntimeParameter {
3660
3935
  * Values
3661
3936
  */
3662
3937
  value: number | boolean | string;
3938
+ /**
3939
+ * Whether the parameter is visible to the user (`UpdateParameters` only).
3940
+ */
3941
+ isVisibleToUser?: boolean;
3942
+ /**
3943
+ * Scope of the update (`UpdateParameters` only). Omitting it, or `level`,
3944
+ * targets the Liveboard level.
3945
+ */
3946
+ applicability?: Applicability;
3663
3947
  }
3664
3948
  /**
3665
3949
  * Event types emitted by the embedded ThoughtSpot application.
@@ -4111,6 +4395,9 @@ export declare enum EmbedEvent {
4111
4395
  Download = "download",
4112
4396
  /**
4113
4397
  * Emitted when the download action is triggered on an Answer.
4398
+ * Payload varies by context: {@link VizScopedRequest} (Search, Answer,
4399
+ * Liveboard), {@link RequiredVizRequest} (Spotter, vizId required). trigger()
4400
+ * accepts the union now; per-context enforced next release.
4114
4401
  * Use start:true to subscribe to when download is initiated, or end:true to
4115
4402
  * subscribe to when download is completed. Default is end:true.
4116
4403
  * @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl, 9.4.0.sw
@@ -4127,6 +4414,9 @@ export declare enum EmbedEvent {
4127
4414
  DownloadAsPng = "downloadAsPng",
4128
4415
  /**
4129
4416
  * Emitted when the Download as PDF action is triggered on an Answer
4417
+ * Payload varies by context: {@link VizScopedRequest} (Search, Answer; plus
4418
+ * liveboardId on Liveboard), {@link RequiredVizRequest} (Spotter). trigger()
4419
+ * accepts the union now; per-context enforced next release.
4130
4420
  * Use start:true to subscribe to when download as PDF is initiated, or end:true to
4131
4421
  * subscribe to when download as PDF is completed. Default is end:true.
4132
4422
  * @version SDK: 1.11.0 | ThoughtSpot: 8.3.0.cl, 8.4.1.sw
@@ -4143,6 +4433,9 @@ export declare enum EmbedEvent {
4143
4433
  DownloadAsPdf = "downloadAsPdf",
4144
4434
  /**
4145
4435
  * Emitted when the Download as CSV action is triggered on an Answer.
4436
+ * Payload varies by context: {@link VizScopedRequest} (Search, Answer,
4437
+ * Liveboard), {@link RequiredVizRequest} (Spotter, vizId required). trigger()
4438
+ * accepts the union now; per-context enforced next release.
4146
4439
  * Use start:true to subscribe to when download as CSV is initiated, or end:true to
4147
4440
  * subscribe to when download as CSV is completed. Default is end:true.
4148
4441
  * @version SDK: 1.11.0 | ThoughtSpot: 8.3.0.cl, 8.4.1.sw
@@ -4159,6 +4452,9 @@ export declare enum EmbedEvent {
4159
4452
  DownloadAsCsv = "downloadAsCsv",
4160
4453
  /**
4161
4454
  * Emitted when the Download as XLSX action is triggered on an Answer.
4455
+ * Payload varies by context: {@link VizScopedRequest} (Search, Answer,
4456
+ * Liveboard), {@link RequiredVizRequest} (Spotter, vizId required). trigger()
4457
+ * accepts the union now; per-context enforced next release.
4162
4458
  * Use start:true to subscribe to when download as XLSX is initiated, or end:true to
4163
4459
  * subscribe to when download as XLSX is completed. Default is end:true.
4164
4460
  * @version SDK: 1.11.0 | ThoughtSpot: 8.3.0.cl, 8.4.1.sw
@@ -4437,6 +4733,9 @@ export declare enum EmbedEvent {
4437
4733
  Schedule = "subscription",
4438
4734
  /**
4439
4735
  * Emitted when a user clicks **Edit** on a Liveboard or visualization
4736
+ * Payload varies by context: {@link VizScopedRequest} (Liveboard),
4737
+ * {@link RequiredVizRequest} (Spotter, vizId required). trigger() accepts the
4738
+ * union now; per-context enforced next release.
4440
4739
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
4441
4740
  * @example
4442
4741
  * ```js
@@ -4978,7 +5277,32 @@ export declare enum EmbedEvent {
4978
5277
  */
4979
5278
  OrgSwitched = "orgSwitched",
4980
5279
  /**
4981
- * Emitted when the user intercepts a URL.
5280
+ * Emitted before the embedded ThoughtSpot app sends a network request whose
5281
+ * fully resolved URL matches one of the `interceptUrls` in the view config.
5282
+ * The request is held until you call `responder`, which decides whether the
5283
+ * real request goes out or a response you supply is used in its place.
5284
+ *
5285
+ * Setting `interceptUrls` is what enables this; there is no separate enable
5286
+ * flag. If `responder` is not called within `interceptTimeout` (30000 ms by
5287
+ * default) the request fails and `EmbedEvent.Error` is emitted.
5288
+ *
5289
+ * The payload is `{ input, init, urlType }`, where `input` is the request
5290
+ * URL and `init` is the `fetch` init object, with `init.body` parsed into an
5291
+ * object when it is valid JSON. `urlType` is the matching
5292
+ * `InterceptedApiType`; it is `InterceptedApiType.ALL` for any URL outside
5293
+ * the recognized API groups.
5294
+ *
5295
+ * Interception wraps the outermost layer of `fetch`, so `init` holds the
5296
+ * request as the application composed it, before ThoughtSpot attaches its
5297
+ * authentication headers. Those headers, and any token refresh and retry,
5298
+ * are applied afterwards and only when you pass `execute: true`. Only
5299
+ * requests made through `fetch` are intercepted.
5300
+ *
5301
+ * Pass `execute: true` to let the original request proceed untouched, in
5302
+ * which case any `response` you supply alongside it is ignored. With
5303
+ * `execute: false` the request is never sent, and your `response.body` is
5304
+ * returned to the app as JSON, defaulting to status 200 and a
5305
+ * `Content-Type: application/json` header.
4982
5306
  *
4983
5307
  * Supported on all embed types.
4984
5308
  *
@@ -5490,6 +5814,7 @@ export declare enum HostEvent {
5490
5814
  * the search query string.
5491
5815
  * Supported in `AppEmbed` and `SearchEmbed` deployments.
5492
5816
  * Includes the following properties:
5817
+ * Payload: {@link SearchRequest}.
5493
5818
  * @param - Includes the following keys:
5494
5819
  * - `searchQuery`: Query string with search tokens.
5495
5820
  * - `dataSources`: Data source GUID to search on.
@@ -5517,6 +5842,9 @@ export declare enum HostEvent {
5517
5842
  Search = "search",
5518
5843
  /**
5519
5844
  * Triggers a drill on certain points of the specified column
5845
+ * Payload: {@link DrillDownRequest}; in Liveboard context vizId is required
5846
+ * ({@link RequiredVizRequest}). trigger() accepts the union now; per-context
5847
+ * enforced next release.
5520
5848
  * Includes the following properties:
5521
5849
  * @param - Includes the following keys:
5522
5850
  * - `points`: An object containing `selectedPoints` and/or `clickedPoint`
@@ -5596,6 +5924,8 @@ export declare enum HostEvent {
5596
5924
  Reload = "reload",
5597
5925
  /**
5598
5926
  * Get iframe URL for the current embed view.
5927
+ * Payload: none.
5928
+ * Response: {@link GetIframeUrlResponse}.
5599
5929
  * @example
5600
5930
  * ```js
5601
5931
  * const url = embed.trigger(HostEvent.GetIframeUrl);
@@ -5614,6 +5944,7 @@ export declare enum HostEvent {
5614
5944
  GetIframeUrl = "GetIframeUrl",
5615
5945
  /**
5616
5946
  * Display specific visualizations on a Liveboard.
5947
+ * Payload: `string[]`.
5617
5948
  * @param - An array of GUIDs of the visualization to show. The visualization IDs not passed
5618
5949
  * in this parameter will be hidden.
5619
5950
  * @example
@@ -5636,6 +5967,7 @@ export declare enum HostEvent {
5636
5967
  SetVisibleVizs = "SetPinboardVisibleVizs",
5637
5968
  /**
5638
5969
  * Set a Liveboard tab as an active tab.
5970
+ * Payload: {@link SetActiveTabRequest}.
5639
5971
  * @param - tabId - string of id of Tab to show
5640
5972
  * @example
5641
5973
  * ```js
@@ -5663,6 +5995,7 @@ export declare enum HostEvent {
5663
5995
  * and `AppEmbed` only. In full application embedding, this event updates
5664
5996
  * the runtime filters applied on the Liveboard and saved Answer objects.
5665
5997
  *
5998
+ * Payload: {@link RuntimeFilter}[].
5666
5999
  * @param - Array of {@link RuntimeFilter} objects. Each item includes:
5667
6000
  * - `columnName`: Name of the column to filter on.
5668
6001
  * - `operator`: {@link RuntimeFilterOp} to apply. For more information, see
@@ -5704,6 +6037,7 @@ export declare enum HostEvent {
5704
6037
  * Accepts either a plain value or an object with `path`
5705
6038
  * and an optional `replace` flag.
5706
6039
  *
6040
+ * Payload: `string` | `number` | {@link NavigateRequest}.
5707
6041
  * @param data - A string path, a numeric history delta, or an object
5708
6042
  * `{ path: string | number, replace?: boolean }`.
5709
6043
  * - `path` — the route to navigate to, or a history delta such as `1`
@@ -5731,6 +6065,9 @@ export declare enum HostEvent {
5731
6065
  /**
5732
6066
  * Open the filter panel for a particular column.
5733
6067
  * Works with Search and Liveboard embed.
6068
+ * Payload: {@link OpenFilterRequest} (the cross-context superset). The
6069
+ * accepted fields vary by context: {@link OpenFilterLiveboardRequest},
6070
+ * {@link OpenFilterSpotterRequest}, {@link OpenFilterSearchRequest}.
5734
6071
  * @param - { columnId: string,
5735
6072
  * name: string,
5736
6073
  * type: ATTRIBUTE/MEASURE,
@@ -5787,7 +6124,7 @@ export declare enum HostEvent {
5787
6124
  *
5788
6125
  * Unlike {@link HostEvent.OpenFilter}, which opens the panel of an
5789
6126
  * existing filter, this event starts the creation of a new filter.
5790
- * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
6127
+ * @version SDK: 1.51.1 | ThoughtSpot Cloud: 26.8.0.cl
5791
6128
  * @example
5792
6129
  * ```js
5793
6130
  * liveboardEmbed.trigger(HostEvent.OpenAddFilterModal);
@@ -5803,7 +6140,7 @@ export declare enum HostEvent {
5803
6140
  * Hiding the *Add parameter* button with `hiddenActions:
5804
6141
  * [Action.AddParameter]` does not block this event, but disabling it
5805
6142
  * with `disabledActions` does.
5806
- * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
6143
+ * @version SDK: 1.51.1 | ThoughtSpot Cloud: 26.8.0.cl
5807
6144
  * @example
5808
6145
  * ```js
5809
6146
  * liveboardEmbed.trigger(HostEvent.OpenAddParameterModal);
@@ -5813,6 +6150,7 @@ export declare enum HostEvent {
5813
6150
  /**
5814
6151
  * Open the parameter panel for a particular parameter on a Liveboard.
5815
6152
  * Mirrors {@link HostEvent.OpenFilter} for parameters.
6153
+ * Payload: {@link OpenParameterRequest}.
5816
6154
  * @param - Includes the following keys:
5817
6155
  * - `parameter`: An object identifying the parameter to open, for
5818
6156
  * example, `{ parameterId: '<parameter-GUID>' }`.
@@ -5844,6 +6182,7 @@ export declare enum HostEvent {
5844
6182
  OpenParameter = "openParameter",
5845
6183
  /**
5846
6184
  * Add columns to the current search query.
6185
+ * Payload: `{ columnIds: string[] }`.
5847
6186
  * @param - { columnIds: string[] }
5848
6187
  * @example
5849
6188
  * ```js
@@ -5862,6 +6201,7 @@ export declare enum HostEvent {
5862
6201
  AddColumns = "addColumns",
5863
6202
  /**
5864
6203
  * Remove a column from the current search query.
6204
+ * Payload: `{ columnId: string }`.
5865
6205
  * @param - { columnId: string }
5866
6206
  * @example
5867
6207
  * ```js
@@ -5886,6 +6226,8 @@ export declare enum HostEvent {
5886
6226
  * sorting, toggling of legends, and data drill down.
5887
6227
  * For more information, see
5888
6228
  * link:https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#transient-lb-content[Liveboard data with unsaved changes].
6229
+ * Payload: none.
6230
+ * Response: {@link GetExportRequestForCurrentPinboardResponse}.
5889
6231
  * @example
5890
6232
  * ```js
5891
6233
  * liveboardEmbed.trigger(HostEvent.getExportRequestForCurrentPinboard).then(
@@ -5907,6 +6249,8 @@ export declare enum HostEvent {
5907
6249
  * requiring additional user input via the *Pin to Liveboard* modal, define
5908
6250
  * the following parameters:
5909
6251
  *
6252
+ * Payload: {@link PinAnswerToLiveboardRequest}.
6253
+ * Response: {@link PinAnswerToLiveboardResponse}.
5910
6254
  * @param - Includes the following keys:
5911
6255
  * - `vizId`: GUID of the saved Answer or Spotter visualization ID to pin to a
5912
6256
  * Liveboard.
@@ -6021,6 +6365,7 @@ export declare enum HostEvent {
6021
6365
  LiveboardInfo = "pinboardInfo",
6022
6366
  /**
6023
6367
  * Trigger the **Schedule** action on an embedded Liveboard.
6368
+ * Payload: {@link VizScopedRequest}.
6024
6369
  * @example
6025
6370
  * ```js
6026
6371
  * liveboardEmbed.trigger(HostEvent.Schedule)
@@ -6036,6 +6381,7 @@ export declare enum HostEvent {
6036
6381
  Schedule = "subscription",
6037
6382
  /**
6038
6383
  * Trigger the **Manage schedule** action on an embedded Liveboard
6384
+ * Payload: {@link VizScopedRequest}.
6039
6385
  * @example
6040
6386
  * ```js
6041
6387
  * liveboardEmbed.trigger(HostEvent.SchedulesList)
@@ -6052,6 +6398,7 @@ export declare enum HostEvent {
6052
6398
  /**
6053
6399
  * Trigger the **Export TML** action on an embedded Liveboard or
6054
6400
  * Answer.
6401
+ * Payload: {@link VizScopedRequest}.
6055
6402
  * @example
6056
6403
  * ```js
6057
6404
  * liveboardEmbed.trigger(HostEvent.ExportTML)
@@ -6074,6 +6421,7 @@ export declare enum HostEvent {
6074
6421
  /**
6075
6422
  * Trigger the **Edit TML** action on an embedded Liveboard or
6076
6423
  * saved Answers in the full application embedding.
6424
+ * Payload: {@link VizScopedRequest}.
6077
6425
  * @example
6078
6426
  * ```js
6079
6427
  * liveboardEmbed.trigger(HostEvent.EditTML)
@@ -6095,6 +6443,7 @@ export declare enum HostEvent {
6095
6443
  EditTML = "editTSL",
6096
6444
  /**
6097
6445
  * Trigger the **Update TML** action on an embedded Liveboard.
6446
+ * Payload: {@link VizScopedRequest}.
6098
6447
  * @example
6099
6448
  * ```js
6100
6449
  * liveboardEmbed.trigger(HostEvent.UpdateTML)
@@ -6112,6 +6461,7 @@ export declare enum HostEvent {
6112
6461
  * Trigger the **Download PDF** action on an embedded Liveboard,
6113
6462
  * visualization or Answer.
6114
6463
  *
6464
+ * Payload: {@link VizScopedRequest} plus optional `liveboardId`.
6115
6465
  * @param - `vizId` refers to the Answer ID in Spotter embed and is required in Spotter embed.
6116
6466
  *
6117
6467
  * **NOTE**: The **Download** > **PDF** action is available on
@@ -6162,6 +6512,7 @@ export declare enum HostEvent {
6162
6512
  /**
6163
6513
  * Trigger the **AI Highlights** action on an embedded Liveboard
6164
6514
  *
6515
+ * Payload: none.
6165
6516
  * @example
6166
6517
  * ```js
6167
6518
  * liveboardEmbed.trigger(HostEvent.AIHighlights)
@@ -6216,6 +6567,9 @@ export declare enum HostEvent {
6216
6567
  MakeACopy = "makeACopy",
6217
6568
  /**
6218
6569
  * Trigger the **Delete** action for a Liveboard.
6570
+ * Payload varies by context: {@link RequiredVizRequest} (Liveboard, vizId
6571
+ * required), {@link VizScopedRequest} (Search). trigger() accepts the union
6572
+ * now; per-context enforced next release.
6219
6573
  * @example
6220
6574
  * ```js
6221
6575
  * appEmbed.trigger(HostEvent.Remove)
@@ -6230,6 +6584,7 @@ export declare enum HostEvent {
6230
6584
  Remove = "delete",
6231
6585
  /**
6232
6586
  * Trigger the **Explore** action on a visualization.
6587
+ * Payload: {@link RequiredVizRequest}.
6233
6588
  * @param - an object with `vizId` as a key
6234
6589
  * @example
6235
6590
  * ```js
@@ -6249,6 +6604,7 @@ export declare enum HostEvent {
6249
6604
  /**
6250
6605
  * Trigger the **Create alert** action on a KPI chart
6251
6606
  * in a Liveboard or saved Answer.
6607
+ * Payload: {@link VizScopedRequest}.
6252
6608
  * @param - an object with `vizId` as a key
6253
6609
  * @example
6254
6610
  * ```js
@@ -6280,6 +6636,7 @@ export declare enum HostEvent {
6280
6636
  /**
6281
6637
  * Trigger the **Manage alerts** action on a KPI chart
6282
6638
  * in a visualization or saved Answer.
6639
+ * Payload: {@link VizScopedRequest}.
6283
6640
  * @param - an object with `vizId` as a key
6284
6641
  * @example
6285
6642
  * ```js
@@ -6317,6 +6674,7 @@ export declare enum HostEvent {
6317
6674
  * on a Liveboard.
6318
6675
  *
6319
6676
  * This event is not supported in visualization embed and search embed.
6677
+ * Payload: {@link VizScopedRequest}.
6320
6678
  * @param - Object parameter. Includes the following keys:
6321
6679
  * - `vizId`: To trigger the action for a specific visualization in Liveboard embed,
6322
6680
  * pass in `vizId` as a key. In Spotter embed, `vizId` refers to the Answer ID and
@@ -6359,6 +6717,7 @@ export declare enum HostEvent {
6359
6717
  Edit = "edit",
6360
6718
  /**
6361
6719
  * Trigger the **Copy link** action on a Liveboard or visualization
6720
+ * Payload: {@link VizScopedRequest}.
6362
6721
  * @param - object - to trigger the action for a
6363
6722
  * specific visualization in Liveboard embed, pass in `vizId` as a key
6364
6723
  * @example
@@ -6404,6 +6763,7 @@ export declare enum HostEvent {
6404
6763
  CopyLink = "embedDocument",
6405
6764
  /**
6406
6765
  * Trigger the **Present** action on a Liveboard or visualization
6766
+ * Payload: {@link VizScopedRequest}.
6407
6767
  * @param - object - to trigger the action for a specific visualization
6408
6768
  * in Liveboard embed, pass in `vizId` as a key
6409
6769
  * @example
@@ -6449,6 +6809,8 @@ export declare enum HostEvent {
6449
6809
  Present = "present",
6450
6810
  /**
6451
6811
  * Get TML for the current search.
6812
+ * Payload: {@link GetTMLRequest}.
6813
+ * Response: `Record<string, any>`.
6452
6814
  * @example
6453
6815
  * ```js
6454
6816
  * searchEmbed.trigger(HostEvent.GetTML).then((tml) => {
@@ -6498,6 +6860,7 @@ export declare enum HostEvent {
6498
6860
  * Trigger the **Show underlying data** action on a
6499
6861
  * chart or table.
6500
6862
  *
6863
+ * Payload: {@link VizScopedRequest}.
6501
6864
  * @param - an object with vizId as a key
6502
6865
  * @example
6503
6866
  * ```js
@@ -6531,6 +6894,7 @@ export declare enum HostEvent {
6531
6894
  * Trigger the **Delete** action for a visualization
6532
6895
  * in an embedded Liveboard, or a chart or table
6533
6896
  * generated from Search.
6897
+ * Payload: {@link VizScopedRequest}.
6534
6898
  * @param - Liveboard embed takes an object with `vizId` as a key.
6535
6899
  * Can be left empty if embedding Search or visualization.
6536
6900
  * @example
@@ -6559,6 +6923,7 @@ export declare enum HostEvent {
6559
6923
  /**
6560
6924
  * Trigger the **SpotIQ analyze** action on a
6561
6925
  * chart or table.
6926
+ * Payload: {@link VizScopedRequest}.
6562
6927
  * @param - Liveboard embed takes `vizId` as a
6563
6928
  * key. Can be left undefined when embedding Search or
6564
6929
  * visualization.
@@ -6621,6 +6986,7 @@ export declare enum HostEvent {
6621
6986
  /**
6622
6987
  * Trigger the **Download** > **PNG** action on
6623
6988
  * charts in the embedded view.
6989
+ * Payload: {@link VizScopedRequest}.
6624
6990
  * @example
6625
6991
  * ```js
6626
6992
  * liveboardEmbed.trigger(HostEvent.DownloadAsPng,
@@ -6651,6 +7017,7 @@ export declare enum HostEvent {
6651
7017
  /**
6652
7018
  * Trigger the **Download** > **CSV** action on tables in
6653
7019
  * the embedded view.
7020
+ * Payload: {@link VizScopedRequest}.
6654
7021
  * @param - `vizId` refers to the Visualization ID in Spotter embed and is required in Spotter embed.
6655
7022
  * @example
6656
7023
  * ```js
@@ -6690,6 +7057,7 @@ export declare enum HostEvent {
6690
7057
  /**
6691
7058
  * Trigger the **Download** > **XLSX** action on tables
6692
7059
  * in the embedded view.
7060
+ * Payload: {@link VizScopedRequest}.
6693
7061
  * @param - `vizId` refers to the Visualization ID in Spotter embed and is required in Spotter embed.
6694
7062
  * @example
6695
7063
  * ```js
@@ -6729,6 +7097,7 @@ export declare enum HostEvent {
6729
7097
  /**
6730
7098
  * Trigger the **Share** action on an embedded
6731
7099
  * Liveboard or Answer.
7100
+ * Payload: {@link VizScopedRequest}.
6732
7101
  * @example
6733
7102
  * ```js
6734
7103
  * liveboardEmbed.trigger(HostEvent.Share)
@@ -6755,6 +7124,7 @@ export declare enum HostEvent {
6755
7124
  * Trigger the **Save** action on a Liveboard, Answer, or Spotter.
6756
7125
  * Saves the changes.
6757
7126
  *
7127
+ * Payload: {@link VizScopedRequest}.
6758
7128
  * @param - `vizId` refers to the Spotter Visualization Id used in Spotter embed.
6759
7129
  * It is required and can be retrieved from the data embed event.
6760
7130
  *
@@ -6806,6 +7176,7 @@ export declare enum HostEvent {
6806
7176
  /**
6807
7177
  * Trigger the **Sync to Sheets** action on an embedded visualization or Answer
6808
7178
  * Sends data from an Answer or Liveboard visualization to a Google sheet.
7179
+ * Payload: {@link VizScopedRequest}.
6809
7180
  * @param - an object with `vizId` as a key
6810
7181
  * @example
6811
7182
  * ```js
@@ -6836,6 +7207,7 @@ export declare enum HostEvent {
6836
7207
  * Trigger the **Sync to Other Apps** action on an embedded visualization or Answer
6837
7208
  * Sends data from an Answer or Liveboard visualization to third-party apps such
6838
7209
  * as Slack, Salesforce, Microsoft Teams, ServiceNow and so on.
7210
+ * Payload: {@link VizScopedRequest}.
6839
7211
  * @param - an object with vizId as a key
6840
7212
  * @example
6841
7213
  * ```js
@@ -6866,6 +7238,7 @@ export declare enum HostEvent {
6866
7238
  * Trigger the **Manage pipelines** action on an embedded
6867
7239
  * visualization or Answer.
6868
7240
  * Allows users to manage ThoughtSpot Sync pipelines.
7241
+ * Payload: {@link VizScopedRequest}.
6869
7242
  * @param - an object with `vizId` as a key
6870
7243
  * @example
6871
7244
  * ```js
@@ -6894,6 +7267,7 @@ export declare enum HostEvent {
6894
7267
  ManagePipelines = "manage-pipeline",
6895
7268
  /**
6896
7269
  * Reset search operation on the Search or Answer page.
7270
+ * Payload: none.
6897
7271
  * @example
6898
7272
  * ```js
6899
7273
  * searchEmbed.trigger(HostEvent.ResetSearch)
@@ -6921,6 +7295,8 @@ export declare enum HostEvent {
6921
7295
  * whole Liveboard.
6922
7296
  * The `applicability` attribute is available from SDK: 1.53.0 |
6923
7297
  * ThoughtSpot: 26.10.0.cl.
7298
+ * Payload: {@link GetFiltersRequest}.
7299
+ * Response: {@link GetFiltersResponse}.
6924
7300
  * @example
6925
7301
  * ```js
6926
7302
  * const data = await liveboardEmbed.trigger(HostEvent.GetFilters);
@@ -6940,6 +7316,7 @@ export declare enum HostEvent {
6940
7316
  GetFilters = "getFilters",
6941
7317
  /**
6942
7318
  * Update one or several filters applied on a Liveboard.
7319
+ * Payload: {@link UpdateFiltersRequest}.
6943
7320
  * @param - Includes the following keys:
6944
7321
  * - `filter`: A single filter object containing column name, filter operator, and
6945
7322
  * values.
@@ -7068,6 +7445,8 @@ export declare enum HostEvent {
7068
7445
  UpdateFilters = "updateFilters",
7069
7446
  /**
7070
7447
  * Get tab details for the current Liveboard.
7448
+ * Payload: none.
7449
+ * Response: {@link GetTabsResponse}.
7071
7450
  * @example
7072
7451
  * ```js
7073
7452
  * liveboardEmbed.trigger(HostEvent.GetTabs).then((tabDetails) => {
@@ -7093,6 +7472,8 @@ export declare enum HostEvent {
7093
7472
  /**
7094
7473
  * Get group details for the current Liveboard.
7095
7474
  * Mirrors {@link HostEvent.GetTabs} for filter/parameter groups.
7475
+ * Payload: none.
7476
+ * Response: {@link GetGroupsResponse}.
7096
7477
  * @example
7097
7478
  * ```js
7098
7479
  * liveboardEmbed.trigger(HostEvent.GetGroups).then((groupDetails) => {
@@ -7117,6 +7498,7 @@ export declare enum HostEvent {
7117
7498
  GetGroups = "getGroups",
7118
7499
  /**
7119
7500
  * Set the visible tabs on a Liveboard.
7501
+ * Payload: `string[]`.
7120
7502
  * @param - an array of ids of tabs to show, the IDs not passed
7121
7503
  * will be hidden.
7122
7504
  * @example
@@ -7139,6 +7521,7 @@ export declare enum HostEvent {
7139
7521
  SetVisibleTabs = "SetPinboardVisibleTabs",
7140
7522
  /**
7141
7523
  * Set the hidden tabs on a Liveboard.
7524
+ * Payload: `string[]`.
7142
7525
  * @param - an array of the IDs of the tabs to hide.
7143
7526
  * The IDs not passed will be shown.
7144
7527
  * @example
@@ -7167,6 +7550,8 @@ export declare enum HostEvent {
7167
7550
  * `getAnswerService()` method on the embed instance to get an AnswerService
7168
7551
  * object that provides a more convenient interface for working with answers.
7169
7552
  *
7553
+ * Payload: {@link GetAnswerSessionRequest}.
7554
+ * Response: {@link GetAnswerSessionResponse}.
7170
7555
  * @example
7171
7556
  * ```js
7172
7557
  * // Preferred way to get an AnswerService
@@ -7194,6 +7579,7 @@ export declare enum HostEvent {
7194
7579
  GetAnswerSession = "getAnswerSession",
7195
7580
  /**
7196
7581
  * Trigger the *Ask Sage* action for visualizations
7582
+ * Payload: {@link RequiredVizRequest}.
7197
7583
  * @example
7198
7584
  * ```js
7199
7585
  * liveboardEmbed.trigger(HostEvent.AskSage,
@@ -7205,6 +7591,7 @@ export declare enum HostEvent {
7205
7591
  /**
7206
7592
  * Trigger cross filter update action on a Liveboard.
7207
7593
  *
7594
+ * Payload: {@link UpdateCrossFilterRequest}.
7208
7595
  * @example
7209
7596
  * ```js
7210
7597
  * liveboardEmbed.trigger(HostEvent.UpdateCrossFilter, {
@@ -7220,7 +7607,9 @@ export declare enum HostEvent {
7220
7607
  UpdateCrossFilter = "UpdateCrossFilter",
7221
7608
  /**
7222
7609
  * Trigger reset action for a personalized Liveboard view.
7223
- * This event is deprecated. Use {@link HostEvent.ResetLiveboardPersonalizedView} instead.
7610
+ * This event is deprecated.
7611
+ * Use {@link HostEvent.ResetLiveboardPersonalizedView} instead.
7612
+ * Payload: none.
7224
7613
  * @example
7225
7614
  * ```js
7226
7615
  * liveboardEmbed.trigger(HostEvent.ResetLiveboardPersonalisedView);
@@ -7241,6 +7630,7 @@ export declare enum HostEvent {
7241
7630
  /**
7242
7631
  * Triggers an action to update Parameter values on embedded
7243
7632
  * Answers, Liveboard, and Spotter answer in Edit mode.
7633
+ * Payload: {@link RuntimeParameter}[].
7244
7634
  * @param - Includes the following keys for each item:
7245
7635
  * - `name`: Name of the parameter.
7246
7636
  * - `value`: The value to set for the parameter.
@@ -7298,6 +7688,8 @@ export declare enum HostEvent {
7298
7688
  * whole Liveboard.
7299
7689
  * The `applicability` attribute is available from SDK: 1.53.0 |
7300
7690
  * ThoughtSpot: 26.10.0.cl.
7691
+ * Payload: none.
7692
+ * Response: {@link GetParametersResponse}.
7301
7693
  * @param - `vizId` refers to the Answer ID in Spotter embed and is required in Spotter embed.
7302
7694
  * ```js
7303
7695
  * liveboardEmbed.trigger(HostEvent.GetParameters).then((parameter) => {
@@ -7335,6 +7727,7 @@ export declare enum HostEvent {
7335
7727
  * ```js
7336
7728
  * liveboardEmbed.trigger(HostEvent.UpdatePersonalisedView, {viewId: '1234'})
7337
7729
  * ```
7730
+ * Payload: {@link PersonalisedViewRequest} (`viewId` only).
7338
7731
  * @example
7339
7732
  * ```js
7340
7733
  * // Update personalized view from liveboard context
@@ -7367,6 +7760,7 @@ export declare enum HostEvent {
7367
7760
  * If neither is provided, the Liveboard resets to the original/default view.
7368
7761
  * When a `viewName` is provided and multiple views share
7369
7762
  * the same name, the first match is selected.
7763
+ * Payload: {@link PersonalisedViewRequest}.
7370
7764
  * @example
7371
7765
  * ```js
7372
7766
  * liveboardEmbed.trigger(
@@ -7410,6 +7804,8 @@ export declare enum HostEvent {
7410
7804
  * If no parameters are specified, the save action is
7411
7805
  * triggered with a modal to prompt users to
7412
7806
  * add a name and description for the Answer.
7807
+ * Payload: {@link SaveAnswerRequest}.
7808
+ * Response: {@link SaveAnswerResponse}.
7413
7809
  * @param - Includes the following keys:
7414
7810
  * - `vizId`: Refers to the Answer ID in Spotter embed and is **required** in Spotter
7415
7811
  * embed.
@@ -7495,6 +7891,7 @@ export declare enum HostEvent {
7495
7891
  /**
7496
7892
  * Triggers a search operation with the search tokens specified in
7497
7893
  * the search query string in spotter embed.
7894
+ * Payload: {@link SpotterSearchRequest}.
7498
7895
  * @param - Includes the following keys:
7499
7896
  * - `query`: Text string in Natural Language format.
7500
7897
  * - `executeSearch`: Boolean to execute search and update search query.
@@ -7519,6 +7916,7 @@ export declare enum HostEvent {
7519
7916
  SpotterSearch = "SpotterSearch",
7520
7917
  /**
7521
7918
  * Edits the last prompt in spotter embed.
7919
+ * Payload: `string`.
7522
7920
  * @param - `query`: Text string
7523
7921
  * @example
7524
7922
  * ```js
@@ -7535,6 +7933,7 @@ export declare enum HostEvent {
7535
7933
  EditLastPrompt = "EditLastPrompt",
7536
7934
  /**
7537
7935
  * Opens the data source preview modal in Spotter Embed.
7936
+ * Payload: none.
7538
7937
  * @example
7539
7938
  * ```js
7540
7939
  * spotterEmbed.trigger(HostEvent.PreviewSpotterData);
@@ -7570,6 +7969,7 @@ export declare enum HostEvent {
7570
7969
  DataModelInstructions = "DataModelInstructions",
7571
7970
  /**
7572
7971
  * Resets the Spotter Embed Conversation.
7972
+ * Payload: none.
7573
7973
  * @example
7574
7974
  * ```js
7575
7975
  * spotterEmbed.trigger(HostEvent.ResetSpotterConversation);
@@ -7582,6 +7982,7 @@ export declare enum HostEvent {
7582
7982
  * `conversationId` is **mandatory** — you must pass the id of the
7583
7983
  * conversation to share. Also no-op when sharing is disabled
7584
7984
  * (enableShareConversation off) or when already in the read-only shared view.
7985
+ * Payload: {@link ConversationScopedRequest}.
7585
7986
  * @example
7586
7987
  * ```js
7587
7988
  * spotterEmbed.trigger(HostEvent.ShareSpotterConversation, { conversationId: 'abc' });
@@ -7591,6 +7992,7 @@ export declare enum HostEvent {
7591
7992
  ShareSpotterConversation = "ShareSpotterConversation",
7592
7993
  /**
7593
7994
  * Closes the Spotter share-conversation modal. No-op if none is open.
7995
+ * Payload: none.
7594
7996
  * @example
7595
7997
  * ```js
7596
7998
  * spotterEmbed.trigger(HostEvent.CloseSpotterShareConversation);
@@ -7600,6 +8002,7 @@ export declare enum HostEvent {
7600
8002
  CloseSpotterShareConversation = "CloseSpotterShareConversation",
7601
8003
  /**
7602
8004
  * Exits the read-only shared-conversation view.
8005
+ * Payload: none.
7603
8006
  * @example
7604
8007
  * ```js
7605
8008
  * spotterEmbed.trigger(HostEvent.ExitSpotterSharedConversation);
@@ -7609,6 +8012,7 @@ export declare enum HostEvent {
7609
8012
  ExitSpotterSharedConversation = "ExitSpotterSharedConversation",
7610
8013
  /**
7611
8014
  * Deletes the last prompt in spotter embed.
8015
+ * Payload: none.
7612
8016
  * @example
7613
8017
  * ```js
7614
8018
  * spotterEmbed.trigger(HostEvent.DeleteLastPrompt);
@@ -7618,6 +8022,7 @@ export declare enum HostEvent {
7618
8022
  DeleteLastPrompt = "DeleteLastPrompt",
7619
8023
  /**
7620
8024
  * Toggle the visualization to chart or table view.
8025
+ * Payload: {@link RequiredVizRequest}.
7621
8026
  * @param - `vizId ` refers to the Visualization ID in Spotter embed and is required.
7622
8027
  * @example
7623
8028
  * ```js
@@ -7656,6 +8061,7 @@ export declare enum HostEvent {
7656
8061
  VisibleEmbedCoordinates = "visibleEmbedCoordinates",
7657
8062
  /**
7658
8063
  * Trigger the *Spotter* action for visualizations present on the liveboard's vizzes.
8064
+ * Payload: {@link RequiredVizRequest}.
7659
8065
  * @param - `vizId` refers to the Visualization ID in Spotter embed and is required.
7660
8066
  * @example
7661
8067
  * ```js
@@ -7680,7 +8086,13 @@ export declare enum HostEvent {
7680
8086
  */
7681
8087
  UpdateEmbedParams = "updateEmbedParams",
7682
8088
  /**
7683
- * Triggered when the embed needs to be destroyed. This is used to clean up any embed-related resources internally.
8089
+ * Notifies the embedded ThoughtSpot app that the embed is being torn down, so that
8090
+ * it can release any resources it holds before the iframe is removed from the DOM.
8091
+ *
8092
+ * This is triggered for you by `embed.destroy()`; you rarely need to trigger it
8093
+ * directly. If `waitForCleanupOnDestroy` is set in the embed config, `destroy()`
8094
+ * waits for the app to acknowledge this event (up to `cleanupTimeout`) before
8095
+ * removing the iframe.
7684
8096
  * @example
7685
8097
  * ```js
7686
8098
  * liveboardEmbed.trigger(HostEvent.DestroyEmbed);
@@ -7711,6 +8123,7 @@ export declare enum HostEvent {
7711
8123
  * instance. Contact your admin or ThoughtSpot Support to enable chat history on your
7712
8124
  * instance.
7713
8125
  *
8126
+ * Payload: {@link ConversationScopedRequest}.
7714
8127
  * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
7715
8128
  * @example
7716
8129
  * ```js
@@ -7728,6 +8141,7 @@ export declare enum HostEvent {
7728
8141
  * instance. Contact your admin or ThoughtSpot Support to enable chat history on your
7729
8142
  * instance.
7730
8143
  *
8144
+ * Payload: {@link ConversationScopedRequest}.
7731
8145
  * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
7732
8146
  * @example
7733
8147
  * ```js
@@ -7752,6 +8166,7 @@ export declare enum HostEvent {
7752
8166
  * Trigger the **Send Test Email** action in the Liveboard schedule modal.
7753
8167
  * Sends a test schedule email to self or all recipients.
7754
8168
  * Requires `isSendNowLiveboardSchedulingEnabled` to be enabled.
8169
+ * Payload: {@link ScheduleEmailRequest}.
7755
8170
  * @example
7756
8171
  * ```js
7757
8172
  * liveboardEmbed.trigger(HostEvent.SendTestScheduleEmail, {
@@ -7770,6 +8185,7 @@ export declare enum HostEvent {
7770
8185
  SendTestScheduleEmail = "sendTestScheduleEmail",
7771
8186
  /**
7772
8187
  * Sends a user message (prompt) to the SpotterViz panel programmatically.
8188
+ * Payload: `{ query: string }`.
7773
8189
  * @version SDK: 1.50.0 | ThoughtSpot Cloud: 26.7.0.cl
7774
8190
  * @param query - the prompt text to send.
7775
8191
  * @example
@@ -7782,6 +8198,7 @@ export declare enum HostEvent {
7782
8198
  SpotterVizSendUserMessage = "SpotterVizSendUserMessage",
7783
8199
  /**
7784
8200
  * Initializes a new SpotterViz conversation.
8201
+ * Payload: none.
7785
8202
  * @version SDK: 1.50.0 | ThoughtSpot Cloud: 26.7.0.cl
7786
8203
  * @example
7787
8204
  * ```js
@@ -7791,6 +8208,7 @@ export declare enum HostEvent {
7791
8208
  InitSpotterVizConversation = "InitSpotterVizConversation",
7792
8209
  /**
7793
8210
  * Opens the SpotterViz panel.
8211
+ * Payload: none.
7794
8212
  * @version SDK: 1.50.0 | ThoughtSpot Cloud: 26.7.0.cl
7795
8213
  * @example
7796
8214
  * ```js
@@ -7800,6 +8218,7 @@ export declare enum HostEvent {
7800
8218
  OpenSpotterVizPanel = "OpenSpotterVizPanel",
7801
8219
  /**
7802
8220
  * Closes the SpotterViz panel.
8221
+ * Payload: none.
7803
8222
  * @version SDK: 1.50.0 | ThoughtSpot Cloud: 26.7.0.cl
7804
8223
  * @example
7805
8224
  * ```js
@@ -7810,6 +8229,7 @@ export declare enum HostEvent {
7810
8229
  /**
7811
8230
  * Clears browser cache and fetches new data for liveboard ChartViz Containers.
7812
8231
  * Requires `enableLiveboardDataCache` to be enabled.
8232
+ * Payload: {@link ScheduleEmailRequest}.
7813
8233
  * @example
7814
8234
  * ```js
7815
8235
  * liveboardEmbed.trigger(HostEvent.RefreshLiveboardBrowserCache);
@@ -9612,7 +10032,7 @@ export declare enum Action {
9612
10032
  * ```js
9613
10033
  * hiddenActions: [Action.QuickSearchPill]
9614
10034
  * ```
9615
- * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
10035
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
9616
10036
  */
9617
10037
  QuickSearchPill = "quickSearchPill",
9618
10038
  /**
@@ -9627,7 +10047,7 @@ export declare enum Action {
9627
10047
  * ```js
9628
10048
  * hiddenActions: [Action.DeepAnalysisPill]
9629
10049
  * ```
9630
- * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
10050
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
9631
10051
  */
9632
10052
  DeepAnalysisPill = "deepAnalysisPill",
9633
10053
  /**
@@ -9642,7 +10062,7 @@ export declare enum Action {
9642
10062
  * ```js
9643
10063
  * hiddenActions: [Action.DataLiteracyPill]
9644
10064
  * ```
9645
- * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
10065
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
9646
10066
  */
9647
10067
  DataLiteracyPill = "dataLiteracyPill",
9648
10068
  /**
@@ -9824,80 +10244,364 @@ export declare enum Action {
9824
10244
  * disabledActions: [Action.SpotterOnLiveboard]
9825
10245
  * ```
9826
10246
  */
9827
- SpotterOnLiveboard = "spotterOnLiveboard"
9828
- }
9829
- declare enum ContextMenuTriggerOptions {
9830
- LEFT_CLICK = "left-click",
9831
- RIGHT_CLICK = "right-click",
9832
- BOTH_CLICKS = "both-clicks"
9833
- }
9834
- export interface ColumnValue {
9835
- column: {
9836
- id: string;
9837
- name: string;
9838
- dataType: string;
9839
- [key: string]: any;
9840
- };
9841
- value: string | number | boolean | {
9842
- v: {
9843
- s: number;
9844
- e: number;
9845
- };
9846
- };
9847
- }
9848
- export interface VizPoint {
9849
- selectedAttributes: ColumnValue[];
9850
- selectedMeasures: ColumnValue[];
9851
- }
9852
- export interface CustomAction {
9853
- name: string;
9854
- id: string;
9855
- position: CustomActionsPosition;
9856
- target: CustomActionTarget;
9857
- metadataIds?: {
9858
- answerIds?: string[];
9859
- liveboardIds?: string[];
9860
- vizIds?: string[];
9861
- };
9862
- dataModelIds?: {
9863
- modelIds?: string[];
9864
- modelColumnNames?: string[];
9865
- };
9866
- orgIds?: string[];
9867
- groupIds?: string[];
9868
- }
9869
- /**
9870
- * Enum options to show custom actions at different
9871
- * positions in the application.
9872
- */
9873
- export declare enum CustomActionsPosition {
10247
+ SpotterOnLiveboard = "spotterOnLiveboard",
9874
10248
  /**
9875
- * Shows the action as a primary button
9876
- * in the toolbar area of the embed.
10249
+ * Controls the visibility and disabled state of the "Chart Type" menu item
10250
+ * in Chart Settings V2.
10251
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
10252
+ * @example
10253
+ * ```js
10254
+ * {
10255
+ * hiddenActions: [Action.ChartTypeSettings],
10256
+ * disabledActions: [Action.ChartTypeSettings],
10257
+ * }
10258
+ * ```
9877
10259
  */
9878
- PRIMARY = "PRIMARY",
10260
+ ChartTypeSettings = "CHART_TYPE",
9879
10261
  /**
9880
- * Shows the action inside the "More" menu
9881
- * (three-dot overflow menu).
10262
+ * Controls the visibility and disabled state of the "Layout" menu item
10263
+ * in Chart Settings V2.
10264
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
10265
+ * @example
10266
+ * ```js
10267
+ * {
10268
+ * hiddenActions: [Action.LayoutSettings],
10269
+ * disabledActions: [Action.LayoutSettings],
10270
+ * }
10271
+ * ```
9882
10272
  */
9883
- MENU = "MENU",
10273
+ LayoutSettings = "LAYOUT",
9884
10274
  /**
9885
- * Shows the action in the right-click
9886
- * context menu. Only supported for
9887
- * {@link CustomActionTarget.VIZ},
9888
- * {@link CustomActionTarget.ANSWER}, and
9889
- * {@link CustomActionTarget.SPOTTER} targets.
10275
+ * Controls the visibility and disabled state of the "Column" menu item
10276
+ * in Chart Settings V2.
10277
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
10278
+ * @example
10279
+ * ```js
10280
+ * {
10281
+ * hiddenActions: [Action.ColumnSettings],
10282
+ * disabledActions: [Action.ColumnSettings],
10283
+ * }
10284
+ * ```
9890
10285
  */
9891
- CONTEXTMENU = "CONTEXTMENU"
9892
- }
9893
- declare enum CustomActionTarget {
10286
+ ColumnSettings = "COLUMN",
9894
10287
  /**
9895
- * Action applies at the Liveboard level.
9896
- * Supported positions:
9897
- * {@link CustomActionsPosition.PRIMARY},
9898
- * {@link CustomActionsPosition.MENU}.
9899
- * Can be scoped with
9900
- * `metadataIds.liveboardIds`,
10288
+ * Controls the visibility and disabled state of the "Axis" menu item
10289
+ * in Chart Settings V2.
10290
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
10291
+ * @example
10292
+ * ```js
10293
+ * {
10294
+ * hiddenActions: [Action.AxisSettings],
10295
+ * disabledActions: [Action.AxisSettings],
10296
+ * }
10297
+ * ```
10298
+ */
10299
+ AxisSettings = "AXIS",
10300
+ /**
10301
+ * Controls the visibility and disabled state of the "Data Label" menu item
10302
+ * in Chart Settings V2.
10303
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
10304
+ * @example
10305
+ * ```js
10306
+ * {
10307
+ * hiddenActions: [Action.DataLabelSettings],
10308
+ * disabledActions: [Action.DataLabelSettings],
10309
+ * }
10310
+ * ```
10311
+ */
10312
+ DataLabelSettings = "DATA_LABEL",
10313
+ /**
10314
+ * Controls the visibility and disabled state of the "Tooltip" menu item
10315
+ * in Chart Settings V2.
10316
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
10317
+ * @example
10318
+ * ```js
10319
+ * {
10320
+ * hiddenActions: [Action.TooltipSettings],
10321
+ * disabledActions: [Action.TooltipSettings],
10322
+ * }
10323
+ * ```
10324
+ */
10325
+ TooltipSettings = "TOOLTIP",
10326
+ /**
10327
+ * Controls the visibility and disabled state of the "Legend" menu item
10328
+ * in Chart Settings V2.
10329
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
10330
+ * @example
10331
+ * ```js
10332
+ * {
10333
+ * hiddenActions: [Action.LegendSettings],
10334
+ * disabledActions: [Action.LegendSettings],
10335
+ * }
10336
+ * ```
10337
+ */
10338
+ LegendSettings = "LEGEND",
10339
+ /**
10340
+ * Controls the visibility and disabled state of the "Display" menu item
10341
+ * in Chart Settings V2.
10342
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
10343
+ * @example
10344
+ * ```js
10345
+ * {
10346
+ * hiddenActions: [Action.DisplaySettings],
10347
+ * disabledActions: [Action.DisplaySettings],
10348
+ * }
10349
+ * ```
10350
+ */
10351
+ DisplaySettings = "DISPLAY",
10352
+ /**
10353
+ * Controls the visibility and disabled state of the "Query Details" menu
10354
+ * item in Chart Settings V2.
10355
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
10356
+ * @example
10357
+ * ```js
10358
+ * {
10359
+ * hiddenActions: [Action.QuerySettings],
10360
+ * disabledActions: [Action.QuerySettings],
10361
+ * }
10362
+ * ```
10363
+ */
10364
+ QuerySettings = "QUERY_DETAILS",
10365
+ /**
10366
+ * Controls the visibility and disabled state of the "Custom Action" menu
10367
+ * item in Chart Settings V2.
10368
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
10369
+ * @example
10370
+ * ```js
10371
+ * {
10372
+ * hiddenActions: [Action.CustomSettings],
10373
+ * disabledActions: [Action.CustomSettings],
10374
+ * }
10375
+ * ```
10376
+ */
10377
+ CustomSettings = "CUSTOM_ACTION",
10378
+ /**
10379
+ * Controls the visibility and disabled state of the "Muze AI" menu item
10380
+ * in Chart Settings V2.
10381
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
10382
+ * @example
10383
+ * ```js
10384
+ * {
10385
+ * hiddenActions: [Action.MuzeAiSettings],
10386
+ * disabledActions: [Action.MuzeAiSettings],
10387
+ * }
10388
+ * ```
10389
+ */
10390
+ MuzeAiSettings = "MUZE_AI",
10391
+ /**
10392
+ * Controls the visibility and disabled state of the "R Analysis" menu item
10393
+ * in Chart Settings V2.
10394
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
10395
+ * @example
10396
+ * ```js
10397
+ * {
10398
+ * hiddenActions: [Action.RAnalysisSettings],
10399
+ * disabledActions: [Action.RAnalysisSettings],
10400
+ * }
10401
+ * ```
10402
+ */
10403
+ RAnalysisSettings = "R_ANALYSIS",
10404
+ /**
10405
+ * Controls the visibility and disabled state of the "Add to Collection" menu item.
10406
+ * @version SDK: 1.52.1 | ThoughtSpot Cloud: 26.5.0.cl
10407
+ * @example
10408
+ * ```js
10409
+ * {
10410
+ * hiddenActions: [Action.AddToCollection],
10411
+ * disabledActions: [Action.AddToCollection],
10412
+ * }
10413
+ * ```
10414
+ */
10415
+ AddToCollection = "addToCollection",
10416
+ /**
10417
+ * Controls the visibility and disabled state of the "Create Collection" button.
10418
+ * @version SDK: 1.52.1 | ThoughtSpot Cloud: 26.5.0.cl
10419
+ * @example
10420
+ * ```js
10421
+ * {
10422
+ * hiddenActions: [Action.CreateCollection],
10423
+ * disabledActions: [Action.CreateCollection],
10424
+ * }
10425
+ * ```
10426
+ */
10427
+ CreateCollection = "createCollection",
10428
+ /**
10429
+ * Controls the visibility and disabled state of the "Move" menu item in a
10430
+ * Collection.
10431
+ * @version SDK: 1.52.1 | ThoughtSpot Cloud: 26.5.0.cl
10432
+ * @example
10433
+ * ```js
10434
+ * {
10435
+ * hiddenActions: [Action.MoveToCollection],
10436
+ * disabledActions: [Action.MoveToCollection],
10437
+ * }
10438
+ * ```
10439
+ */
10440
+ MoveToCollection = "moveToCollection",
10441
+ /**
10442
+ * Controls the visibility and disabled state of the "Remove" menu item in a
10443
+ * Collection.
10444
+ * @version SDK: 1.52.1 | ThoughtSpot Cloud: 26.5.0.cl
10445
+ * @example
10446
+ * ```js
10447
+ * {
10448
+ * hiddenActions: [Action.RemoveFromCollection],
10449
+ * disabledActions: [Action.RemoveFromCollection],
10450
+ * }
10451
+ * ```
10452
+ */
10453
+ RemoveFromCollection = "removeFromCollection",
10454
+ /**
10455
+ * Controls the visibility and disabled state of the "Delete" menu item for a
10456
+ * Collection.
10457
+ * @version SDK: 1.52.1 | ThoughtSpot Cloud: 26.5.0.cl
10458
+ * @example
10459
+ * ```js
10460
+ * {
10461
+ * hiddenActions: [Action.DeleteCollection],
10462
+ * disabledActions: [Action.DeleteCollection],
10463
+ * }
10464
+ * ```
10465
+ */
10466
+ DeleteCollection = "deleteCollection"
10467
+ }
10468
+ declare enum ContextMenuTriggerOptions {
10469
+ LEFT_CLICK = "left-click",
10470
+ RIGHT_CLICK = "right-click",
10471
+ BOTH_CLICKS = "both-clicks"
10472
+ }
10473
+ export interface ColumnValue {
10474
+ column: {
10475
+ id: string;
10476
+ name: string;
10477
+ dataType: string;
10478
+ [key: string]: any;
10479
+ };
10480
+ value: string | number | boolean | {
10481
+ v: {
10482
+ s: number;
10483
+ e: number;
10484
+ };
10485
+ };
10486
+ }
10487
+ export interface VizPoint {
10488
+ selectedAttributes: ColumnValue[];
10489
+ selectedMeasures: ColumnValue[];
10490
+ }
10491
+ /**
10492
+ * @group Events
10493
+ */
10494
+ export interface CustomActionPayload {
10495
+ /**
10496
+ * Id of the custom action that was triggered. Matches the `id` you set on
10497
+ * the {@link CustomAction}. Omitted on Liveboard-level code-based actions.
10498
+ */
10499
+ id?: string;
10500
+ contextMenuPoints?: {
10501
+ clickedPoint: VizPoint;
10502
+ selectedPoints: VizPoint[];
10503
+ };
10504
+ embedAnswerData: {
10505
+ name: string;
10506
+ id: string;
10507
+ sources: {
10508
+ header: {
10509
+ guid: string;
10510
+ };
10511
+ };
10512
+ columns: any[];
10513
+ data: any[];
10514
+ [key: string]: any;
10515
+ };
10516
+ session: SessionInterface;
10517
+ vizId?: string;
10518
+ }
10519
+ /**
10520
+ * A code-based custom action to inject into the embedded ThoughtSpot UI.
10521
+ * Pass an array of these as `customActions` in the embed view config. When a
10522
+ * user invokes the action, the host emits {@link EmbedEvent.CustomAction} with
10523
+ * a {@link CustomActionPayload} carrying the same `id`.
10524
+ */
10525
+ export interface CustomAction {
10526
+ /**
10527
+ * Display label shown on the action's button or menu item.
10528
+ */
10529
+ name: string;
10530
+ /**
10531
+ * Unique identifier for the action. Echoed back as `id` on the
10532
+ * {@link CustomActionPayload} when the action is invoked.
10533
+ */
10534
+ id: string;
10535
+ /**
10536
+ * Where the action appears: a primary button, the "More" menu, or the
10537
+ * right-click context menu. See {@link CustomActionsPosition}.
10538
+ */
10539
+ position: CustomActionsPosition;
10540
+ /**
10541
+ * The surface the action applies to (Liveboard, visualization, Answer, or
10542
+ * Spotter). See {@link CustomActionTarget}. The allowed `position` values
10543
+ * and scoping keys depend on the target.
10544
+ */
10545
+ target: CustomActionTarget;
10546
+ /**
10547
+ * Scope the action to specific objects by GUID. Which keys are allowed
10548
+ * depends on `target` (for example, a `VIZ` action may use `answerIds`,
10549
+ * `liveboardIds`, and `vizIds`).
10550
+ */
10551
+ metadataIds?: {
10552
+ answerIds?: string[];
10553
+ liveboardIds?: string[];
10554
+ vizIds?: string[];
10555
+ };
10556
+ /**
10557
+ * Scope the action by data model, using model GUIDs or column names.
10558
+ * Allowed for `VIZ`, `ANSWER`, and `SPOTTER` targets.
10559
+ */
10560
+ dataModelIds?: {
10561
+ modelIds?: string[];
10562
+ modelColumnNames?: string[];
10563
+ };
10564
+ /**
10565
+ * Restrict the action to specific organizations by ID.
10566
+ */
10567
+ orgIds?: string[];
10568
+ /**
10569
+ * Restrict the action to specific user groups by ID.
10570
+ */
10571
+ groupIds?: string[];
10572
+ }
10573
+ /**
10574
+ * Enum options to show custom actions at different
10575
+ * positions in the application.
10576
+ */
10577
+ export declare enum CustomActionsPosition {
10578
+ /**
10579
+ * Shows the action as a primary button
10580
+ * in the toolbar area of the embed.
10581
+ */
10582
+ PRIMARY = "PRIMARY",
10583
+ /**
10584
+ * Shows the action inside the "More" menu
10585
+ * (three-dot overflow menu).
10586
+ */
10587
+ MENU = "MENU",
10588
+ /**
10589
+ * Shows the action in the right-click
10590
+ * context menu. Only supported for
10591
+ * {@link CustomActionTarget.VIZ},
10592
+ * {@link CustomActionTarget.ANSWER}, and
10593
+ * {@link CustomActionTarget.SPOTTER} targets.
10594
+ */
10595
+ CONTEXTMENU = "CONTEXTMENU"
10596
+ }
10597
+ declare enum CustomActionTarget {
10598
+ /**
10599
+ * Action applies at the Liveboard level.
10600
+ * Supported positions:
10601
+ * {@link CustomActionsPosition.PRIMARY},
10602
+ * {@link CustomActionsPosition.MENU}.
10603
+ * Can be scoped with
10604
+ * `metadataIds.liveboardIds`,
9901
10605
  * `orgIds`, and `groupIds`.
9902
10606
  */
9903
10607
  LIVEBOARD = "LIVEBOARD",
@@ -10124,9 +10828,19 @@ export interface EmbedErrorDetailsEvent {
10124
10828
  message: string | string[];
10125
10829
  /** Machine-readable error code for programmatic error handling */
10126
10830
  code: EmbedErrorCodes;
10831
+ /** How badly the embed is affected. Defaults to {@link EmbedErrorSeverity.SEV3}. */
10832
+ severity?: EmbedErrorSeverity;
10127
10833
  /** Additional context-specific for backward compatibility */
10128
10834
  [key: string]: any;
10129
10835
  }
10836
+ declare enum EmbedErrorSeverity {
10837
+ /** The embed cannot render. Nothing usable is on screen. */
10838
+ SEV1 = 1,
10839
+ /** Something is degraded but the embed still works. */
10840
+ SEV2 = 2,
10841
+ /** Everything else, including validation of the embedder's own input. */
10842
+ SEV3 = 3
10843
+ }
10130
10844
  declare enum ContextType {
10131
10845
  /**
10132
10846
  * Search answer context for search page or edit viz dialog on liveboard page.
@@ -10169,21 +10883,34 @@ export interface DefaultAppInitData {
10169
10883
  }
10170
10884
  declare enum InterceptedApiType {
10171
10885
  /**
10172
- * The apis that are use to get the data for the embed
10886
+ * The APIs that fetch the data backing an Answer, including its chart,
10887
+ * table, and headline data.
10173
10888
  */
10174
10889
  AnswerData = "AnswerData",
10175
10890
  /**
10176
- * This will intercept all the apis
10891
+ * Intercepts every `fetch` request the embedded application makes, not only
10892
+ * the data APIs. This includes authentication, session, and metadata calls,
10893
+ * so the handler must respond to requests it does not recognize by passing
10894
+ * `execute: true`. Listing this alongside other entries in `interceptUrls`
10895
+ * supersedes them.
10177
10896
  */
10178
10897
  ALL = "ALL",
10179
10898
  /**
10180
- * The apis that are use to get the data for the liveboard
10899
+ * The APIs that fetch the data backing a Liveboard.
10181
10900
  */
10182
10901
  LiveboardData = "LiveboardData"
10183
10902
  }
10184
10903
  export type ApiInterceptFlags = {
10185
10904
  /**
10186
- * Flag that allows using `EmbedEvent.OnBeforeGetVizDataIntercept`.
10905
+ * Emits `EmbedEvent.OnBeforeGetVizDataIntercept` before the Answer data
10906
+ * APIs are called. This is the earlier, narrower form of interception, kept
10907
+ * for backward compatibility and implemented on top of
10908
+ * `EmbedEvent.ApiIntercept`. Prefer `interceptUrls` with
10909
+ * `InterceptedApiType.AnswerData` in new code.
10910
+ *
10911
+ * Setting this also intercepts the Answer data APIs, so both
10912
+ * `EmbedEvent.OnBeforeGetVizDataIntercept` and `EmbedEvent.ApiIntercept`
10913
+ * are emitted for those requests.
10187
10914
  *
10188
10915
  * Can be used for Search and App Embed from SDK 1.29.0
10189
10916
  *
@@ -10191,14 +10918,21 @@ export type ApiInterceptFlags = {
10191
10918
  */
10192
10919
  isOnBeforeGetVizDataInterceptEnabled?: boolean;
10193
10920
  /**
10194
- * This allows to intercept the urls passed, once intercepted the api will only
10195
- * run based on the response from the responder of ApiIntercept event.
10921
+ * The requests to intercept, given as `InterceptedApiType` groups, absolute
10922
+ * URLs, or paths beginning with `/` that are resolved against the
10923
+ * ThoughtSpot host. Setting this is what turns interception on.
10924
+ *
10925
+ * A URL matches only on exact equality with the request's fully resolved
10926
+ * URL, query string included, so prefer an `InterceptedApiType` group where
10927
+ * one covers the API you need.
10928
+ *
10929
+ * Each intercepted request pauses and emits `EmbedEvent.ApiIntercept`, then
10930
+ * proceeds according to the response passed to that event's responder.
10196
10931
  *
10197
10932
  * @example
10198
10933
  * ```js
10199
10934
  * const embed = new LiveboardEmbed('#embed', {
10200
10935
  * ...viewConfig,
10201
- * enableApiIntercept: true,
10202
10936
  * interceptUrls: [InterceptedApiType.LiveboardData],
10203
10937
  * })
10204
10938
  * ```
@@ -10207,14 +10941,14 @@ export type ApiInterceptFlags = {
10207
10941
  */
10208
10942
  interceptUrls?: (string | InterceptedApiType)[];
10209
10943
  /**
10210
- * The timeout for the intercept, default is 30000ms
10211
- * the api will error out if the timeout is reached
10944
+ * How long, in milliseconds, an intercepted request waits for the
10945
+ * `EmbedEvent.ApiIntercept` responder before it is abandoned. Defaults to
10946
+ * 30000. On timeout the request fails and `EmbedEvent.Error` is emitted.
10212
10947
  *
10213
10948
  * @example
10214
10949
  * ```js
10215
10950
  * const embed = new LiveboardEmbed('#embed', {
10216
10951
  * ...viewConfig,
10217
- * enableApiIntercept: true,
10218
10952
  * interceptUrls: [InterceptedApiType.ALL],
10219
10953
  * interceptTimeout: 1000,
10220
10954
  * })
@@ -10659,6 +11393,166 @@ export interface VisualizationOverrides {
10659
11393
  /** Table visualization overrides */
10660
11394
  table?: TableOverrides;
10661
11395
  }
11396
+ /**
11397
+ * The configuration object for the full-height behavior shared by the
11398
+ * Liveboard and app embeds.
11399
+ *
11400
+ * When `fullHeight` is enabled the SDK resizes the embed container to match the
11401
+ * height reported by the ThoughtSpot app, and — when lazy loading is also
11402
+ * enabled — keeps the app informed of the portion of the embed that is
11403
+ * currently visible so that visualizations load on demand.
11404
+ */
11405
+ export interface FullHeightViewConfig {
11406
+ /**
11407
+ * If set to true, the embedded object container dynamically resizes
11408
+ * according to the height of the Liveboard.
11409
+ *
11410
+ * **Note**: Using fullHeight loads all visualizations on the
11411
+ * Liveboard simultaneously, which results in multiple warehouse
11412
+ * queries and potentially a longer wait for the topmost
11413
+ * visualizations to display on the screen.
11414
+ * Setting `fullHeight` to `false` fetches visualizations
11415
+ * incrementally as users scroll the page to view the charts and tables.
11416
+ *
11417
+ * From SDK 1.52.0, enabling `fullHeight` also turns on
11418
+ * {@link lazyLoadingForFullHeight} and
11419
+ * {@link enableScrollableContainerLazyLoading}, so visualizations load as
11420
+ * they scroll into view. Set either flag to `false` to opt out.
11421
+ *
11422
+ * Supported embed types: `LiveboardEmbed`, `AppEmbed`
11423
+ * @version SDK: 1.1.0 | ThoughtSpot: ts7.may.cl, 7.2.1
11424
+ * @example
11425
+ * ```js
11426
+ * // Replace <EmbedComponent> with the embed component name.
11427
+ * // For example, AppEmbed or LiveboardEmbed
11428
+ * const embed = new <EmbedComponent>('#embed', {
11429
+ * ... // other view config
11430
+ * fullHeight: true,
11431
+ * });
11432
+ * ```
11433
+ */
11434
+ fullHeight?: boolean;
11435
+ /**
11436
+ * This is the minimum height (in pixels) for a full-height Liveboard.
11437
+ * Setting this height helps resolve issues with empty Liveboards and
11438
+ * other screens navigable from a Liveboard.
11439
+ *
11440
+ * Supported embed types: `LiveboardEmbed`, `AppEmbed`
11441
+ * @version SDK: 1.44.2 | ThoughtSpot: 10.15.0.cl
11442
+ * @default 500
11443
+ * @example
11444
+ * ```js
11445
+ * // Replace <EmbedComponent> with the embed component name.
11446
+ * // For example, AppEmbed or LiveboardEmbed
11447
+ * const embed = new <EmbedComponent>('#embed', {
11448
+ * ... // other view config
11449
+ * fullHeight: true,
11450
+ * minimumHeight: 600,
11451
+ * });
11452
+ * ```
11453
+ */
11454
+ minimumHeight?: number;
11455
+ /**
11456
+ * This is the minimum height (in pixels) for a full-height Liveboard.
11457
+ * Setting this height helps resolve issues with empty Liveboards and
11458
+ * other screens navigable from a Liveboard.
11459
+ *
11460
+ * Supported embed types: `LiveboardEmbed`, `AppEmbed`
11461
+ * @version SDK: 1.5.0 | ThoughtSpot: ts7.oct.cl, 7.2.1
11462
+ * @deprecated Use `minimumHeight` instead.
11463
+ * @default 500
11464
+ * @example
11465
+ * ```js
11466
+ * // Replace <EmbedComponent> with the embed component name.
11467
+ * // For example, AppEmbed or LiveboardEmbed
11468
+ * const embed = new <EmbedComponent>('#embed', {
11469
+ * ... // other view config
11470
+ * fullHeight: true,
11471
+ * defaultHeight: 600,
11472
+ * });
11473
+ * ```
11474
+ */
11475
+ defaultHeight?: number;
11476
+ /**
11477
+ * Loads visualizations only as they scroll into the viewport, instead of
11478
+ * loading the whole full-height Liveboard at once.
11479
+ *
11480
+ * From SDK 1.52.0 this is enabled automatically whenever `fullHeight` is
11481
+ * `true`. On SDK 1.51.0 and earlier it defaulted to `false` and had to be
11482
+ * set explicitly. Set it to `false` to load every visualization upfront.
11483
+ * The flag has no effect unless `fullHeight` is enabled.
11484
+ *
11485
+ * Supported embed types: `LiveboardEmbed`, `AppEmbed`
11486
+ * @type {boolean}
11487
+ * @version SDK: 1.40.0 | ThoughtSpot: 10.12.0.cl
11488
+ * @default true when `fullHeight` is enabled, from SDK 1.52.0
11489
+ * @example
11490
+ * ```js
11491
+ * // Replace <EmbedComponent> with the embed component name.
11492
+ * // For example, AppEmbed or LiveboardEmbed
11493
+ * const embed = new <EmbedComponent>('#embed-container', {
11494
+ * // ...other options
11495
+ * fullHeight: true,
11496
+ * lazyLoadingForFullHeight: true,
11497
+ * })
11498
+ * ```
11499
+ */
11500
+ lazyLoadingForFullHeight?: boolean;
11501
+ /**
11502
+ * How far outside the viewport a visualization starts loading, when
11503
+ * {@link lazyLoadingForFullHeight} is enabled.
11504
+ *
11505
+ * For example, if the margin is set to '10px',
11506
+ * the visualization will be loaded 10px before its top edge is visible in the
11507
+ * viewport.
11508
+ *
11509
+ * The format is similar to CSS margin, so `'500px 0px'` extends the
11510
+ * prefetch 500px above and below the viewport and not sideways. Accepted
11511
+ * units are `px`, `em`, `rem`, `%`, `vh` and `vw`, plus bare `0` and
11512
+ * `auto`; an invalid value is logged and ignored.
11513
+ *
11514
+ * From SDK 1.52.0 this defaults to `'500px 0px'` — roughly one
11515
+ * visualization ahead of the scroll position, so a chart has usually
11516
+ * finished loading by the time it scrolls into view. Use a smaller margin
11517
+ * to cut warehouse queries further, or `'0px'` to load a visualization
11518
+ * only once it is actually visible.
11519
+ *
11520
+ * Supported embed types: `LiveboardEmbed`, `AppEmbed`
11521
+ * @type {string}
11522
+ * @version SDK: 1.40.0 | ThoughtSpot: 10.12.0.cl
11523
+ * @default '500px 0px' when `fullHeight` is enabled, from SDK 1.52.0
11524
+ * @example
11525
+ * ```js
11526
+ * // Replace <EmbedComponent> with the embed component name.
11527
+ * // For example, AppEmbed or LiveboardEmbed
11528
+ * const embed = new <EmbedComponent>('#embed-container', {
11529
+ * // ...other options
11530
+ * fullHeight: true,
11531
+ * lazyLoadingForFullHeight: true,
11532
+ * // With 0px, the visualization only starts loading once it is
11533
+ * // visible in the viewport.
11534
+ * lazyLoadingMargin: '0px',
11535
+ * })
11536
+ * ```
11537
+ */
11538
+ lazyLoadingMargin?: string;
11539
+ /**
11540
+ * Computes the visible region of the embed against its scrollable and
11541
+ * clipping ancestors, instead of treating the browser window as the only
11542
+ * viewport, and tracks scroll and resize on those ancestors.
11543
+ *
11544
+ * From SDK 1.52.0 this is enabled automatically whenever `fullHeight` is
11545
+ * `true`. On SDK 1.51.0 and earlier it defaulted to `false` and had to be
11546
+ * set explicitly. Set it to `false` when the page scrolls with the window
11547
+ * and the embed has no clipping ancestor, to skip the extra ancestor
11548
+ * tracking.
11549
+ *
11550
+ * Supported embed types: `LiveboardEmbed`, `AppEmbed`
11551
+ * @type {boolean}
11552
+ * @default true when `fullHeight` is enabled, from SDK 1.52.0
11553
+ */
11554
+ enableScrollableContainerLazyLoading?: boolean;
11555
+ }
10662
11556
  declare enum AuthFailureType {
10663
11557
  /**
10664
11558
  * Authentication failed in the SDK authentication flow.
@@ -10807,231 +11701,321 @@ declare enum AuthEvent {
10807
11701
  */
10808
11702
  TRIGGER_SSO_POPUP = "TRIGGER_SSO_POPUP"
10809
11703
  }
10810
- export interface LiveboardTab {
10811
- id: string;
10812
- name: string;
10813
- [key: string]: any;
10814
- }
10815
- export interface LiveboardGroup {
10816
- id: string;
10817
- name: string;
10818
- [key: string]: any;
11704
+ /**
11705
+ * Request for host events that MAY target a specific visualization.
11706
+ * Omitting vizId targets the current answer/liveboard as a whole.
11707
+ * (In some contexts, e.g. Spotter, the app requires vizId at runtime.)
11708
+ */
11709
+ export interface VizScopedRequest {
11710
+ vizId?: string;
10819
11711
  }
10820
- declare enum ApplicabilityLevel {
10821
- Liveboard = "LIVEBOARD",
10822
- Tab = "TAB",
10823
- Group = "GROUP"
11712
+ /**
11713
+ * Request for host events that MUST target a specific visualization.
11714
+ */
11715
+ export interface RequiredVizRequest {
11716
+ vizId: string;
10824
11717
  }
10825
11718
  /**
10826
- * Scopes a filter or parameter to a specific target.
10827
- * At `LIVEBOARD` level the filter applies to the whole Liveboard, so `targetId`
10828
- * is not required.
11719
+ * Request for Spotter conversation-scoped host events.
10829
11720
  */
10830
- export interface Applicability {
10831
- level: ApplicabilityLevel;
10832
- targetId?: string;
11721
+ export interface ConversationScopedRequest {
11722
+ conversationId: string;
10833
11723
  }
10834
- export interface FilterUpdate {
10835
- column: string;
10836
- oper: string;
10837
- values: string[];
10838
- type?: string;
11724
+ /**
11725
+ * Request payload for {@link HostEvent.OpenFilter}. Field requirements
11726
+ * vary by context (Search requires columnId/type/dataType/name); the
11727
+ * contract is the cross-context superset — the app validates per context
11728
+ * at runtime. Per-context views: {@link OpenFilterLiveboardRequest},
11729
+ * {@link OpenFilterSpotterRequest}, {@link OpenFilterSearchRequest}.
11730
+ */
11731
+ export interface OpenFilterRequest {
11732
+ column: {
11733
+ columnId?: string;
11734
+ columnName?: string;
11735
+ type?: string;
11736
+ dataType?: string;
11737
+ name?: string;
11738
+ isStrictDateColumn?: boolean;
11739
+ };
10839
11740
  applicability?: Applicability;
11741
+ visualizationId?: string;
11742
+ liveboardId?: string;
10840
11743
  }
10841
- export interface LiveboardFilter {
11744
+ /**
11745
+ * Request payload for {@link HostEvent.OpenParameter}. One of parameterId
11746
+ * or parameterName must be provided (validated at runtime).
11747
+ */
11748
+ export interface OpenParameterRequest {
11749
+ parameter: {
11750
+ parameterId?: string;
11751
+ parameterName?: string;
11752
+ };
10842
11753
  applicability?: Applicability;
10843
- [key: string]: any;
10844
11754
  }
10845
- export interface LiveboardParameter {
11755
+ /**
11756
+ * Request payload for {@link HostEvent.Search}.
11757
+ */
11758
+ export interface SearchRequest {
11759
+ searchQuery: string;
11760
+ dataSources: string[];
11761
+ execute?: boolean;
11762
+ }
11763
+ /**
11764
+ * Request payload for {@link HostEvent.SpotterSearch}.
11765
+ */
11766
+ export interface SpotterSearchRequest {
11767
+ query: string;
11768
+ executeSearch: boolean;
11769
+ }
11770
+ /**
11771
+ * A single cross-filter condition for {@link HostEvent.UpdateCrossFilter}.
11772
+ */
11773
+ export interface CrossFilterCondition {
11774
+ columnName?: string;
11775
+ operator?: string;
11776
+ values: Array<string | number | boolean>;
11777
+ }
11778
+ /**
11779
+ * Request payload for {@link HostEvent.UpdateCrossFilter}.
11780
+ */
11781
+ export interface UpdateCrossFilterRequest {
11782
+ vizId: string;
11783
+ conditions: CrossFilterCondition[];
11784
+ }
11785
+ /**
11786
+ * A single filter entry for {@link HostEvent.UpdateFilters}. Supports both
11787
+ * the current (columnName/operator) and legacy (column/oper) field names.
11788
+ */
11789
+ export interface HostFilterUpdate {
11790
+ columnName?: string;
11791
+ columnId?: string;
11792
+ operator?: string;
11793
+ values: Array<string | number | boolean>;
11794
+ type?: string;
11795
+ datePeriod?: string;
11796
+ negate?: boolean;
11797
+ /** Legacy field name for columnName. */
11798
+ column?: string;
11799
+ /** Legacy field name for operator. */
11800
+ oper?: string;
10846
11801
  applicability?: Applicability;
10847
- [key: string]: any;
10848
11802
  }
10849
- declare enum UIPassthroughEvent {
10850
- PinAnswerToLiveboard = "addVizToPinboard",
10851
- SaveAnswer = "saveAnswer",
10852
- GetDiscoverabilityStatus = "getDiscoverabilityStatus",
10853
- GetAvailableUIPassthroughs = "getAvailableUiPassthroughs",
10854
- GetAnswerConfig = "getAnswerPageConfig",
10855
- GetLiveboardConfig = "getPinboardPageConfig",
10856
- GetUnsavedAnswerTML = "getUnsavedAnswerTML",
10857
- UpdateFilters = "updateFilters",
10858
- Drilldown = "drillDown",
10859
- GetAnswerSession = "getAnswerSession",
10860
- GetFilters = "getFilters",
10861
- GetIframeUrl = "getIframeUrl",
10862
- GetParameters = "getParameters",
10863
- GetTML = "getTML",
10864
- GetTabs = "getTabs",
10865
- GetGroups = "getGroups",
10866
- GetExportRequestForCurrentPinboard = "getExportRequestForCurrentPinboard"
11803
+ /**
11804
+ * Request payload for {@link HostEvent.UpdateFilters} (singular or plural
11805
+ * form).
11806
+ */
11807
+ export interface UpdateFiltersRequest {
11808
+ filter?: HostFilterUpdate;
11809
+ filters?: HostFilterUpdate[];
11810
+ /**
11811
+ * Scope the update to a specific visualization on a Liveboard.
11812
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11813
+ */
11814
+ visualizationId?: string;
11815
+ /**
11816
+ * Scope the update to a specific Liveboard.
11817
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11818
+ */
11819
+ liveboardId?: string;
10867
11820
  }
10868
- export type UIPassthroughContractBase = {
10869
- [UIPassthroughEvent.PinAnswerToLiveboard]: {
10870
- request: {
10871
- vizId?: string;
10872
- newVizName: string;
10873
- newVizDescription?: string;
10874
- liveboardId?: string;
10875
- tabId?: string;
10876
- newLiveboardName?: string;
10877
- newTabName?: string;
10878
- };
10879
- response: {
10880
- liveboardId: string;
10881
- tabId: string;
10882
- vizId: string;
10883
- };
10884
- };
10885
- [UIPassthroughEvent.SaveAnswer]: {
10886
- request: {
10887
- name: string;
10888
- description: string;
10889
- vizId?: string;
10890
- isDiscoverable?: boolean;
10891
- };
10892
- response: {
10893
- answerId: string;
10894
- saveResponse?: any;
10895
- shareResponse?: any;
10896
- };
10897
- };
10898
- [UIPassthroughEvent.GetDiscoverabilityStatus]: {
10899
- request: any;
10900
- response: {
10901
- shouldShowDiscoverability: boolean;
10902
- isDiscoverabilityCheckboxUnselectedPerOrg: boolean;
10903
- };
10904
- };
10905
- [UIPassthroughEvent.GetAvailableUIPassthroughs]: {
10906
- request: any;
10907
- response: {
10908
- keys: string[];
10909
- };
10910
- };
10911
- [UIPassthroughEvent.GetAnswerConfig]: {
10912
- request: {
10913
- vizId?: string;
10914
- };
10915
- response: any;
10916
- };
10917
- [UIPassthroughEvent.GetLiveboardConfig]: {
10918
- request: any;
10919
- response: any;
10920
- };
10921
- [UIPassthroughEvent.GetUnsavedAnswerTML]: {
10922
- request: {
10923
- sessionId?: string;
10924
- vizId?: string;
10925
- };
10926
- response: {
10927
- tml: string;
10928
- };
10929
- };
10930
- [UIPassthroughEvent.GetAnswerSession]: {
10931
- request: {
10932
- vizId?: string;
10933
- };
10934
- response: {
10935
- session: SessionInterface;
10936
- embedAnswerData?: Record<string, any>;
10937
- };
10938
- };
10939
- [UIPassthroughEvent.GetFilters]: {
10940
- request: {
10941
- vizId?: string;
10942
- };
10943
- response: {
10944
- liveboardFilters: LiveboardFilter[];
10945
- runtimeFilters: RuntimeFilter[];
10946
- };
10947
- };
10948
- [UIPassthroughEvent.GetIframeUrl]: {
10949
- request: Record<string, never>;
10950
- response: {
10951
- iframeUrl: string;
10952
- };
10953
- };
10954
- [UIPassthroughEvent.GetParameters]: {
10955
- request: Record<string, never>;
10956
- response: {
10957
- parameters: LiveboardParameter[];
10958
- };
10959
- };
10960
- [UIPassthroughEvent.GetTML]: {
10961
- request: {
10962
- vizId?: string;
10963
- includeNonExecutedSearchTokens?: boolean;
10964
- };
10965
- response: Record<string, any>;
10966
- };
10967
- [UIPassthroughEvent.GetTabs]: {
10968
- request: Record<string, never>;
10969
- response: {
10970
- orderedTabIds: string[];
10971
- numberOfTabs: number;
10972
- Tabs: LiveboardTab[];
10973
- };
11821
+ /**
11822
+ * Request payload for personalised-view host events.
11823
+ */
11824
+ export interface PersonalisedViewRequest {
11825
+ viewId?: string;
11826
+ viewName?: string;
11827
+ }
11828
+ /**
11829
+ * Request payload for schedule-email related host events.
11830
+ */
11831
+ export interface ScheduleEmailRequest {
11832
+ sendToSelf?: boolean;
11833
+ }
11834
+ /**
11835
+ * Object form of the {@link HostEvent.Navigate} payload.
11836
+ */
11837
+ export interface NavigateRequest {
11838
+ /**
11839
+ * Route to navigate to, or a history delta such as `1` or `-1`.
11840
+ */
11841
+ path: string | number;
11842
+ /**
11843
+ * When `true`, replaces the current history entry instead of pushing.
11844
+ */
11845
+ replace?: boolean;
11846
+ }
11847
+ /**
11848
+ * Request payload for {@link HostEvent.SetActiveTab}.
11849
+ */
11850
+ export interface SetActiveTabRequest {
11851
+ /**
11852
+ * Id of the liveboard tab to make active.
11853
+ */
11854
+ tabId: string;
11855
+ }
11856
+ /**
11857
+ * Typed request payloads for host events that do not go through the UI
11858
+ * passthrough pipeline (`HostEvent` member → request type; `void` = no payload).
11859
+ *
11860
+ * Shapes are transcribed from the host's runtime validation schemas
11861
+ * (embed-util HostEventContract) — what the ThoughtSpot app actually enforces —
11862
+ * flattened across contexts to the permissive superset (context-specific
11863
+ * requirements are validated at runtime).
11864
+ *
11865
+ * Responses are typed only for UI-passthrough-backed events today (see
11866
+ * {@link HostEventResponse}). Add a response map alongside this one when the
11867
+ * first explicit response shape is specified; tightening later is additive.
11868
+ *
11869
+ * Deliberately absent (do not add without an audit):
11870
+ * - DrillDown: the runtime schema (object-shaped points) and the UI
11871
+ * passthrough contract (string-shaped points) disagree — resolve the
11872
+ * drift first.
11873
+ * - GetAnswerSession/GetParameters/GetTML: typed via the UI passthrough
11874
+ * mapping; their Spotter-context vizId requirement is runtime-only.
11875
+ */
11876
+ export interface HostEventRequestMap {
11877
+ [HostEvent.UpdateRuntimeFilters]: RuntimeFilter[];
11878
+ [HostEvent.UpdateParameters]: RuntimeParameter[];
11879
+ [HostEvent.UpdateFilters]: UpdateFiltersRequest;
11880
+ [HostEvent.UpdateCrossFilter]: UpdateCrossFilterRequest;
11881
+ [HostEvent.OpenFilter]: OpenFilterRequest;
11882
+ [HostEvent.OpenParameter]: OpenParameterRequest;
11883
+ [HostEvent.SetVisibleVizs]: string[];
11884
+ [HostEvent.SetVisibleTabs]: string[];
11885
+ [HostEvent.SetHiddenTabs]: string[];
11886
+ [HostEvent.SetActiveTab]: SetActiveTabRequest;
11887
+ [HostEvent.Navigate]: string | number | NavigateRequest;
11888
+ [HostEvent.Search]: SearchRequest;
11889
+ [HostEvent.ResetSearch]: void;
11890
+ [HostEvent.AddColumns]: {
11891
+ columnIds: string[];
10974
11892
  };
10975
- [UIPassthroughEvent.GetGroups]: {
10976
- request: Record<string, never>;
10977
- response: {
10978
- orderedGroupIds: string[];
10979
- numberOfGroups: number;
10980
- Groups: LiveboardGroup[];
10981
- };
11893
+ [HostEvent.RemoveColumn]: {
11894
+ columnId: string;
10982
11895
  };
10983
- [UIPassthroughEvent.GetExportRequestForCurrentPinboard]: {
10984
- request: Record<string, never>;
10985
- response: {
10986
- data: {
10987
- v2Content: string;
10988
- };
10989
- type: UIPassthroughEvent.GetExportRequestForCurrentPinboard;
10990
- };
11896
+ [HostEvent.Edit]: VizScopedRequest;
11897
+ [HostEvent.Save]: VizScopedRequest;
11898
+ [HostEvent.Delete]: VizScopedRequest;
11899
+ [HostEvent.Share]: VizScopedRequest;
11900
+ [HostEvent.Present]: VizScopedRequest;
11901
+ [HostEvent.CopyLink]: VizScopedRequest;
11902
+ [HostEvent.ExportTML]: VizScopedRequest;
11903
+ [HostEvent.EditTML]: VizScopedRequest;
11904
+ [HostEvent.UpdateTML]: VizScopedRequest;
11905
+ [HostEvent.SchedulesList]: VizScopedRequest;
11906
+ [HostEvent.Schedule]: VizScopedRequest;
11907
+ [HostEvent.SpotIQAnalyze]: VizScopedRequest;
11908
+ [HostEvent.ShowUnderlyingData]: VizScopedRequest;
11909
+ [HostEvent.CreateMonitor]: VizScopedRequest;
11910
+ [HostEvent.ManageMonitor]: VizScopedRequest;
11911
+ [HostEvent.SyncToSheets]: VizScopedRequest;
11912
+ [HostEvent.SyncToOtherApps]: VizScopedRequest;
11913
+ [HostEvent.ManagePipelines]: VizScopedRequest;
11914
+ [HostEvent.DownloadAsPng]: VizScopedRequest;
11915
+ [HostEvent.DownloadAsCsv]: VizScopedRequest;
11916
+ [HostEvent.DownloadAsXlsx]: VizScopedRequest;
11917
+ [HostEvent.DownloadAsPdf]: VizScopedRequest & {
11918
+ liveboardId?: string;
10991
11919
  };
10992
- [UIPassthroughEvent.UpdateFilters]: {
10993
- request: {
10994
- filter?: FilterUpdate;
10995
- filters?: FilterUpdate[];
10996
- };
10997
- response: unknown;
11920
+ [HostEvent.Explore]: RequiredVizRequest;
11921
+ [HostEvent.AskSage]: RequiredVizRequest;
11922
+ [HostEvent.AskSpotter]: RequiredVizRequest;
11923
+ [HostEvent.AnswerChartSwitcher]: RequiredVizRequest;
11924
+ [HostEvent.UpdatePersonalisedView]: Pick<PersonalisedViewRequest, "viewId">;
11925
+ [HostEvent.SelectPersonalizedView]: PersonalisedViewRequest;
11926
+ [HostEvent.ResetLiveboardPersonalisedView]: void;
11927
+ [HostEvent.AIHighlights]: void;
11928
+ [HostEvent.SendTestScheduleEmail]: ScheduleEmailRequest;
11929
+ [HostEvent.RefreshLiveboardBrowserCache]: ScheduleEmailRequest;
11930
+ [HostEvent.SpotterSearch]: SpotterSearchRequest;
11931
+ [HostEvent.ResetSpotterConversation]: void;
11932
+ [HostEvent.ShareSpotterConversation]: ConversationScopedRequest;
11933
+ [HostEvent.CloseSpotterShareConversation]: void;
11934
+ [HostEvent.ExitSpotterSharedConversation]: void;
11935
+ [HostEvent.PinSpotterConversation]: ConversationScopedRequest;
11936
+ [HostEvent.UnpinSpotterConversation]: ConversationScopedRequest;
11937
+ [HostEvent.EditLastPrompt]: string;
11938
+ [HostEvent.DeleteLastPrompt]: void;
11939
+ [HostEvent.PreviewSpotterData]: void;
11940
+ [HostEvent.SpotterVizSendUserMessage]: {
11941
+ query: string;
10998
11942
  };
10999
- [UIPassthroughEvent.Drilldown]: {
11000
- request: {
11001
- points: {
11002
- selectedPoints?: string[];
11003
- clickedPoint?: string;
11004
- };
11005
- columnGuid?: string;
11006
- autoDrillDown?: boolean;
11007
- vizId?: string;
11008
- };
11009
- response: unknown;
11943
+ [HostEvent.InitSpotterVizConversation]: void;
11944
+ [HostEvent.OpenSpotterVizPanel]: void;
11945
+ [HostEvent.CloseSpotterVizPanel]: void;
11946
+ }
11947
+ /**
11948
+ * Per-context request shapes for events whose payload varies by
11949
+ /**
11950
+ * Resolves the typed request payload for a host event.
11951
+ * Resolution order:
11952
+ * 1. Explicitly typed request in {@link HostEventRequestMap}
11953
+ * 2. UI passthrough backed contract ({@link EmbedApiHostEventMapping})
11954
+ * 3. `any` (event not audited/typed yet — backward compatible)
11955
+ *
11956
+ * Requests are the cross-context superset today. The per-context `*Request`
11957
+ * interfaces (e.g. {@link OpenFilterLiveboardRequest}) document how the shape
11958
+ * narrows by context; a later release may thread the caller's context to
11959
+ * enforce it.
11960
+ */
11961
+ export type HostEventRequest<HostEventT extends HostEvent> = HostEventT extends keyof HostEventRequestMap ? HostEventRequestMap[HostEventT] : HostEventT extends keyof EmbedApiHostEventMapping ? UIPassthroughRequest<EmbedApiHostEventMapping[HostEventT]> : any;
11962
+ /**
11963
+ * Resolves the typed response payload for a host event. Only UI passthrough
11964
+ * backed events have typed responses today; everything else resolves to `any`.
11965
+ */
11966
+ export type HostEventResponse<HostEventT extends HostEvent, ContextT extends ContextType = ContextType> = HostEventT extends keyof EmbedApiHostEventMapping ? UIPassthroughResponse<EmbedApiHostEventMapping[HostEventT]> : any;
11967
+ /**
11968
+ * Payload type accepted by `embed.trigger()`. Keeps the historical
11969
+ * `PayloadT` escape hatch so untyped existing call sites keep compiling.
11970
+ */
11971
+ export type TriggerPayload<PayloadT, HostEventT extends HostEvent> = PayloadT | HostEventRequest<HostEventT>;
11972
+ /**
11973
+ * Deep `Partial` of a request type: every field optional at every depth, with no
11974
+ * index signature — so object literals carrying unknown fields are flagged.
11975
+ */
11976
+ export type DeepPartial<T> = T extends (infer U)[] ? DeepPartial<U>[] : T extends object ? {
11977
+ [K in keyof T]?: DeepPartial<T[K]>;
11978
+ } : T;
11979
+ /**
11980
+ * `trigger()`'s `data` type: an all-optional view of the event's request type.
11981
+ * See {@link HostEventRequest} and the `*Request` interfaces, e.g. {@link SearchRequest}.
11982
+ * No-payload events take `{}`. SDK 1.54.0 makes this strict (required fields enforced).
11983
+ */
11984
+ export type TriggerData<HostEventT extends HostEvent> = HostEventRequest<HostEventT> extends void ? Record<string, never> : DeepPartial<HostEventRequest<HostEventT>>;
11985
+ /**
11986
+ * Response type returned by `embed.trigger()`.
11987
+ */
11988
+ export type TriggerResponse<PayloadT, HostEventT extends HostEvent, ContextT extends ContextType = ContextType> = PayloadT extends HostEventRequest<HostEventT> ? HostEventResponse<HostEventT, ContextT> : any;
11989
+ /**
11990
+ * Typed `data` field per embed event. Seed with audited events only.
11991
+ */
11992
+ export interface EmbedEventDataExtension {
11993
+ [EmbedEvent.AuthInit]: {
11994
+ /**
11995
+ * Whether authentication was successful.
11996
+ */
11997
+ isLoggedIn?: boolean;
11998
+ [key: string]: any;
11010
11999
  };
12000
+ [EmbedEvent.EmbedListenerReady]: Record<string, any>;
12001
+ /**
12002
+ * Fired when a callback-type custom action is triggered. Use
12003
+ * `payload.data.id` to identify which action fired.
12004
+ */
12005
+ [EmbedEvent.CustomAction]: CustomActionPayload;
12006
+ }
12007
+ /**
12008
+ * Resolves the typed `data` payload for an embed event; `any` when the
12009
+ * event has not been audited/typed yet.
12010
+ */
12011
+ export type EmbedEventData<EmbedEventT extends EmbedEvent> = EmbedEventT extends keyof EmbedEventDataExtension ? EmbedEventDataExtension[EmbedEventT] : any;
12012
+ /**
12013
+ * Full envelope delivered to `embed.on()` callbacks for a given event:
12014
+ * the wire fields (`type`, `status`) plus the typed `data`.
12015
+ */
12016
+ export type EmbedEventPayload<EmbedEventT extends EmbedEvent> = Omit<MessagePayload, "data"> & {
12017
+ data: EmbedEventData<EmbedEventT>;
11011
12018
  };
11012
- export type UIPassthroughRequest<T extends keyof UIPassthroughContractBase> = UIPassthroughContractBase[T]["request"];
11013
- export type UIPassthroughResponse<T extends keyof UIPassthroughContractBase> = UIPassthroughContractBase[T]["response"];
11014
- export type UIPassthroughArrayResponse<ApiName extends keyof UIPassthroughContractBase> = Array<{
11015
- refId?: string;
11016
- value?: UIPassthroughResponse<ApiName>;
11017
- error?: any;
11018
- }>;
11019
- export type EmbedApiHostEventMapping = {
11020
- [HostEvent.Pin]: UIPassthroughEvent.PinAnswerToLiveboard;
11021
- [HostEvent.SaveAnswer]: UIPassthroughEvent.SaveAnswer;
11022
- [HostEvent.GetAnswerSession]: UIPassthroughEvent.GetAnswerSession;
11023
- [HostEvent.GetFilters]: UIPassthroughEvent.GetFilters;
11024
- [HostEvent.GetIframeUrl]: UIPassthroughEvent.GetIframeUrl;
11025
- [HostEvent.GetParameters]: UIPassthroughEvent.GetParameters;
11026
- [HostEvent.GetTML]: UIPassthroughEvent.GetTML;
11027
- [HostEvent.GetTabs]: UIPassthroughEvent.GetTabs;
11028
- [HostEvent.GetGroups]: UIPassthroughEvent.GetGroups;
11029
- [HostEvent.getExportRequestForCurrentPinboard]: UIPassthroughEvent.GetExportRequestForCurrentPinboard;
11030
- };
11031
- export type HostEventRequest<HostEventT extends HostEvent> = HostEventT extends keyof EmbedApiHostEventMapping ? UIPassthroughRequest<EmbedApiHostEventMapping[HostEventT]> : any;
11032
- export type HostEventResponse<HostEventT extends HostEvent, ContextT extends ContextType> = HostEventT extends keyof EmbedApiHostEventMapping ? UIPassthroughResponse<EmbedApiHostEventMapping[HostEventT]> : any;
11033
- export type TriggerPayload<PayloadT, HostEventT extends HostEvent> = PayloadT | HostEventRequest<HostEventT>;
11034
- export type TriggerResponse<PayloadT, HostEventT extends HostEvent, ContextT extends ContextType> = PayloadT extends HostEventRequest<HostEventT> ? HostEventResponse<HostEventT, ContextT> : any;
11035
12019
  declare class HostEventClient {
11036
12020
  iFrame: HTMLIFrameElement;
11037
12021
  /** Cached list of available UI passthrough keys from the embedded app */
@@ -11081,7 +12065,7 @@ declare class HostEventClient {
11081
12065
  * @param payload - Optional payload for the event
11082
12066
  * @param context - Optional context (e.g. vizId) for scoped operations
11083
12067
  */
11084
- triggerHostEvent<HostEventT extends HostEvent, PayloadT = HostEventRequest<HostEventT>, ContextT extends ContextType = ContextType>(hostEvent: HostEventT, payload?: TriggerPayload<PayloadT, HostEventT>, context?: ContextT): Promise<TriggerResponse<PayloadT, HostEventT, ContextType>>;
12068
+ triggerHostEvent<HostEventT extends HostEvent, PayloadT = HostEventRequest<HostEventT>, ContextT extends ContextType = ContextType>(hostEvent: HostEventT, payload?: TriggerPayload<PayloadT, HostEventT>, context?: ContextT): Promise<TriggerResponse<PayloadT, HostEventT, ContextT>>;
11085
12069
  }
11086
12070
  declare class TsEmbed {
11087
12071
  /**
@@ -11099,6 +12083,7 @@ declare class TsEmbed {
11099
12083
  * The key to store the embed instance in the DOM node
11100
12084
  */
11101
12085
  protected embedNodeKey: string;
12086
+ protected embedContainerLoadedKey: string;
11102
12087
  protected isAppInitialized: boolean;
11103
12088
  /**
11104
12089
  * A reference to the iframe within which the ThoughtSpot app
@@ -11268,10 +12253,10 @@ declare class TsEmbed {
11268
12253
  */
11269
12254
  protected getEmbedBasePath(query: string): string;
11270
12255
  protected getUpdateEmbedParamsObject(): Promise<{
11271
- customisations: CustomisationsInterface;
11272
- authToken: string;
11273
12256
  runtimeFilterParams: string;
11274
12257
  runtimeParameterParams: string;
12258
+ customisations: CustomisationsInterface;
12259
+ authToken: string;
11275
12260
  hiddenHomepageModules: HomepageModule[];
11276
12261
  reorderedHomepageModules: string[];
11277
12262
  hostConfig: Record<string, any>;
@@ -11367,9 +12352,10 @@ declare class TsEmbed {
11367
12352
  protected getRootIframeSrc(): string;
11368
12353
  protected createIframeEl(frameSrc: string): HTMLIFrameElement;
11369
12354
  /**
11370
- * Returns a merged {@link PreRenderConfig} object where each shared key
11371
- * prefers `preRenderConfig.key` over the top-level `viewConfig.key` for
11372
- * backward compatibility.
12355
+ * Returns a merged {@link PreRenderConfig} object where each key prefers the
12356
+ * value from `preRenderConfig` over its deprecated top-level `viewConfig`
12357
+ * counterpart (`id`/`preRenderId`, `containerSelector`/`preRenderContainer`,
12358
+ * `doNotTrackSize`/`doNotTrackPreRenderSize`) for backward compatibility.
11373
12359
  */
11374
12360
  protected getPreRenderConfig(): PreRenderConfig;
11375
12361
  /**
@@ -11463,21 +12449,6 @@ declare class TsEmbed {
11463
12449
  * or else the v2 event type itself
11464
12450
  */
11465
12451
  protected getCompatibleEventType(eventType: EmbedEvent): EmbedEvent;
11466
- /**
11467
- * Calculates the iframe center for the current visible viewPort
11468
- * of iframe using Scroll position of Host App, offsetTop for iframe
11469
- * in Host app. ViewPort height of the tab.
11470
- * @returns iframe Center in visible viewport,
11471
- * Iframe height,
11472
- * View port height.
11473
- */
11474
- protected getIframeCenter(): {
11475
- iframeCenter: number;
11476
- iframeScrolled: number;
11477
- iframeHeight: number;
11478
- viewPortHeight: number;
11479
- iframeVisibleViewPort: number;
11480
- };
11481
12452
  /**
11482
12453
  * Registers an event listener to trigger an alert when the ThoughtSpot app
11483
12454
  * sends an event of a particular message type to the host application.
@@ -11501,7 +12472,7 @@ declare class TsEmbed {
11501
12472
  * });
11502
12473
  * ```
11503
12474
  */
11504
- on(messageType: EmbedEvent, callback: MessageCallback, options?: MessageOptions, isRegisteredBySDK?: boolean): typeof TsEmbed.prototype;
12475
+ on<EmbedEventT extends EmbedEvent>(messageType: EmbedEventT, callback: (payload: EmbedEventPayload<EmbedEventT>, responder?: (data: any) => void) => void, options?: MessageOptions, isRegisteredBySDK?: boolean): typeof TsEmbed.prototype;
11505
12476
  /**
11506
12477
  * Removes an event listener for a particular event type.
11507
12478
  * @param messageType The message type
@@ -11537,6 +12508,8 @@ declare class TsEmbed {
11537
12508
  */
11538
12509
  private embedContainerReadyCallbacks;
11539
12510
  protected getPreRenderObj<T extends TsEmbed>(): T;
12511
+ protected takeOverPreRender(): void;
12512
+ private markEmbedContainerLoaded;
11540
12513
  private checkEmbedContainerLoaded;
11541
12514
  private executeEmbedContainerReadyCallbacks;
11542
12515
  /**
@@ -11547,8 +12520,12 @@ declare class TsEmbed {
11547
12520
  protected createEmbedContainerHandler: (source: EmbedEvent.AuthInit | EmbedEvent.EmbedListenerReady) => () => void;
11548
12521
  /**
11549
12522
  * Triggers an event to the embedded app
12523
+ *
12524
+ * Payload typing: from SDK 1.52.0 (ThoughtSpot Cloud 26.9.0.cl), unknown fields
12525
+ * on a known event's payload fail to compile. From SDK 1.54.0 (26.11.0.cl) the
12526
+ * payload is checked strictly against the event contract — update call sites now.
11550
12527
  * @param {HostEvent} messageType The event type
11551
- * @param {any} data The payload to send with the message
12528
+ * @param {TriggerData} data The payload, typed against the event's contract
11552
12529
  * @param {ContextType} context Optional context type to specify the context from which the event is triggered.
11553
12530
  * Use ContextType.Search for search answer context, ContextType.Answer for answer/explore context,
11554
12531
  * ContextType.Liveboard for liveboard context, or ContextType.Spotter for spotter context.
@@ -11565,7 +12542,7 @@ declare class TsEmbed {
11565
12542
  * ```
11566
12543
  * @version SDK: 1.45.2 | ThoughtSpot: 26.3.0.cl (for context parameter)
11567
12544
  */
11568
- trigger<HostEventT extends HostEvent, PayloadT = HostEventRequest<HostEventT>, ContextT extends ContextType = ContextType>(messageType: HostEventT, data?: TriggerPayload<PayloadT, HostEventT>, context?: ContextT): Promise<TriggerResponse<PayloadT, HostEventT, ContextT>>;
12545
+ trigger<HostEventT extends HostEvent, PayloadT = HostEventRequest<HostEventT>, ContextT extends ContextType = ContextType>(messageType: HostEventT, data?: TriggerData<HostEventT>, context?: ContextT): Promise<TriggerResponse<PayloadT, HostEventT, ContextT>>;
11569
12546
  /**
11570
12547
  * Triggers an event to the embedded app, skipping the UI flow.
11571
12548
  * @param {UIPassthroughEvent} apiName - The name of the API to be triggered.
@@ -11667,6 +12644,7 @@ declare class TsEmbed {
11667
12644
  * @returns
11668
12645
  */
11669
12646
  prerenderGeneric(): Promise<any>;
12647
+ protected preRenderParamsApplied: Promise<void>;
11670
12648
  protected beforePrerenderVisible(): void;
11671
12649
  /**
11672
12650
  * Displays the pre-rendered component inside the host element.
@@ -11745,7 +12723,7 @@ declare class V1Embed extends TsEmbed {
11745
12723
  * });
11746
12724
  * ```
11747
12725
  */
11748
- on(messageType: EmbedEvent, callback: MessageCallback, options?: MessageOptions): typeof TsEmbed.prototype;
12726
+ on<EmbedEventT extends EmbedEvent>(messageType: EmbedEventT, callback: (payload: EmbedEventPayload<EmbedEventT>, responder?: (data: any) => void) => void, options?: MessageOptions): typeof TsEmbed.prototype;
11749
12727
  /**
11750
12728
  * Only for testing purposes.
11751
12729
  * @hidden
@@ -11907,6 +12885,20 @@ export interface SearchViewConfig extends SearchLiveboardCommonViewConfig, Omit<
11907
12885
  * ```
11908
12886
  */
11909
12887
  dataSource?: string;
12888
+ /**
12889
+ * If set to `true`, the answer edit panel is hidden.
12890
+ *
12891
+ * Supported embed types: `SearchEmbed`
12892
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
12893
+ * @example
12894
+ * ```js
12895
+ * const embed = new SearchEmbed('#tsEmbed', {
12896
+ * ... // other embed view config
12897
+ * hideAnswerEditPanel: true,
12898
+ * })
12899
+ * ```
12900
+ */
12901
+ hideAnswerEditPanel?: boolean;
11910
12902
  /**
11911
12903
  * The initial search query to load the answer with.
11912
12904
  * Use {@link searchOptions} instead.
@@ -12423,7 +13415,7 @@ export interface SpotterShareConversationConfig {
12423
13415
  }
12424
13416
  /**
12425
13417
  * A single starter prompt question shown under a category pill.
12426
- * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
13418
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
12427
13419
  * @group Embed components
12428
13420
  */
12429
13421
  export interface StarterPromptQuestion {
@@ -12441,7 +13433,7 @@ export interface StarterPromptQuestion {
12441
13433
  /**
12442
13434
  * Configuration for a starter prompt category with questions
12443
13435
  * (`quick` and `research`).
12444
- * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
13436
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
12445
13437
  * @group Embed components
12446
13438
  */
12447
13439
  export interface StarterPromptCategory {
@@ -12459,7 +13451,7 @@ export interface StarterPromptCategory {
12459
13451
  /**
12460
13452
  * Configuration for the Data Literacy starter prompt category.
12461
13453
  * Only the label is customizable; the prompt text comes from the backend.
12462
- * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
13454
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
12463
13455
  * @group Embed components
12464
13456
  */
12465
13457
  export interface StarterPreviewDataCategory {
@@ -12477,7 +13469,7 @@ export interface StarterPreviewDataCategory {
12477
13469
  * Note: this controls the Spotter chat interface only. The starter prompts on
12478
13470
  * the Liveboard SpotterViz surface are configured separately through
12479
13471
  * {@link SpotterVizConfig.customStarterPrompts}.
12480
- * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
13472
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
12481
13473
  * @group Embed components
12482
13474
  */
12483
13475
  export interface StarterPromptsConfig {
@@ -12557,7 +13549,7 @@ export interface SpotterChatViewConfig {
12557
13549
  * `Action.DeepAnalysisPill` and `Action.DataLiteracyPill`.
12558
13550
  *
12559
13551
  * Supported embed types: `SpotterEmbed`, `LiveboardEmbed`, `AppEmbed`
12560
- * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
13552
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
12561
13553
  * @example
12562
13554
  * ```js
12563
13555
  * const embed = new SpotterEmbed('#tsEmbed', {
@@ -13279,7 +14271,7 @@ export interface DiscoveryExperience {
13279
14271
  * The view configuration for full app embedding.
13280
14272
  * @group Embed components
13281
14273
  */
13282
- export interface AppViewConfig extends AllEmbedViewConfig {
14274
+ export interface AppViewConfig extends AllEmbedViewConfig, FullHeightViewConfig {
13283
14275
  /**
13284
14276
  * If true, the top navigation bar within the ThoughtSpot app
13285
14277
  * is displayed. By default, the navigation bar is hidden.
@@ -13564,34 +14556,6 @@ export interface AppViewConfig extends AllEmbedViewConfig {
13564
14556
  * ```
13565
14557
  */
13566
14558
  enableSearchAssist?: boolean;
13567
- /**
13568
- * If set to true, the Liveboard container dynamically resizes
13569
- * according to the height of the Liveboard.
13570
- *
13571
- * **Note**: Using fullHeight loads all visualizations
13572
- * on the Liveboard simultaneously, which results in
13573
- * multiple warehouse queries and potentially a
13574
- * longer wait for the topmost visualizations to
13575
- * display on the screen. Setting fullHeight to
13576
- * `false` fetches visualizations incrementally as
13577
- * users scroll the page to view the charts and tables.
13578
- *
13579
- * From SDK 1.52.0, enabling `fullHeight` also turns on
13580
- * {@link lazyLoadingForFullHeight} and
13581
- * {@link enableScrollableContainerLazyLoading}, so visualizations load as
13582
- * they scroll into view. Set either flag to `false` to opt out.
13583
- *
13584
- * Supported embed types: `AppEmbed`
13585
- * @version SDK: 1.21.0 | ThoughtSpot: 9.4.0.cl, 9.4.0-sw
13586
- * @example
13587
- * ```js
13588
- * const embed = new AppEmbed('#tsEmbed', {
13589
- * ... // other embed view config
13590
- * fullHeight: true,
13591
- * })
13592
- * ```
13593
- */
13594
- fullHeight?: boolean;
13595
14559
  /**
13596
14560
  * Enables the V2 navigation and modular home page experience.
13597
14561
  * For more information,
@@ -13786,78 +14750,6 @@ export interface AppViewConfig extends AllEmbedViewConfig {
13786
14750
  * ```
13787
14751
  */
13788
14752
  isGranularXLSXCSVSchedulesEnabled?: boolean;
13789
- /**
13790
- * Loads visualizations only as they scroll into the viewport, instead of
13791
- * loading the whole full-height Liveboard at once.
13792
- *
13793
- * From SDK 1.52.0 this is enabled automatically whenever `fullHeight` is
13794
- * `true`. On SDK 1.51.0 and earlier it defaulted to `false` and had to be
13795
- * set explicitly. Set it to `false` to load every visualization upfront.
13796
- * The flag has no effect unless `fullHeight` is enabled.
13797
- *
13798
- * @type {boolean}
13799
- * @version SDK: 1.40.0 | ThoughtSpot: 10.12.0.cl
13800
- * @default true when `fullHeight` is enabled, from SDK 1.52.0
13801
- * @example
13802
- * ```js
13803
- * const embed = new AppEmbed('#embed-container', {
13804
- * // ...other options
13805
- * fullHeight: true,
13806
- * lazyLoadingForFullHeight: true,
13807
- * })
13808
- * ```
13809
- */
13810
- lazyLoadingForFullHeight?: boolean;
13811
- /**
13812
- * Computes the visible region of the embed against its scrollable and
13813
- * clipping ancestors, instead of treating the browser window as the only
13814
- * viewport, and tracks scroll and resize on those ancestors.
13815
- *
13816
- * From SDK 1.52.0 this is enabled automatically whenever `fullHeight` is
13817
- * `true`. On SDK 1.51.0 and earlier it defaulted to `false` and had to be
13818
- * set explicitly. Set it to `false` when the page scrolls with the window
13819
- * and the embed has no clipping ancestor, to skip the extra ancestor
13820
- * tracking.
13821
- *
13822
- * @type {boolean}
13823
- * @default true when `fullHeight` is enabled, from SDK 1.52.0
13824
- * @hidden
13825
- */
13826
- enableScrollableContainerLazyLoading?: boolean;
13827
- /**
13828
- * How far outside the viewport a visualization starts loading, when
13829
- * {@link lazyLoadingForFullHeight} is enabled.
13830
- *
13831
- * For example, if the margin is set to '10px',
13832
- * the visualization will be loaded 10px before its top edge is visible in the
13833
- * viewport.
13834
- *
13835
- * The format is similar to CSS margin, so `'500px 0px'` extends the
13836
- * prefetch 500px above and below the viewport and not sideways. Accepted
13837
- * units are `px`, `em`, `rem`, `%`, `vh` and `vw`, plus bare `0` and
13838
- * `auto`; an invalid value is logged and ignored.
13839
- *
13840
- * From SDK 1.52.0 this defaults to `'500px 0px'` — roughly one
13841
- * visualization ahead of the scroll position, so a chart has usually
13842
- * finished loading by the time it scrolls into view. Use a smaller margin
13843
- * to cut warehouse queries further, or `'0px'` to load a visualization
13844
- * only once it is actually visible.
13845
- *
13846
- * @type {string}
13847
- * @version SDK: 1.40.0 | ThoughtSpot: 10.12.0.cl
13848
- * @default '500px 0px' when `fullHeight` is enabled, from SDK 1.52.0
13849
- * @example
13850
- * ```js
13851
- * const embed = new AppEmbed('#embed-container', {
13852
- * // ...other options
13853
- * fullHeight: true,
13854
- * lazyLoadingForFullHeight: true,
13855
- * // Using 0px, the visualization will be only loaded when it's visible in the viewport.
13856
- * lazyLoadingMargin: '0px',
13857
- * })
13858
- * ```
13859
- */
13860
- lazyLoadingMargin?: string;
13861
14753
  /**
13862
14754
  * updatedSpotterChatPrompt : Controls the updated spotter chat prompt.
13863
14755
  *
@@ -14045,23 +14937,6 @@ export interface AppViewConfig extends AllEmbedViewConfig {
14045
14937
  * @default false
14046
14938
  */
14047
14939
  enableStopAnswerGenerationEmbed?: boolean;
14048
- /**
14049
- * This is the minimum height (in pixels) for a full-height App.
14050
- * Setting this height helps resolve issues with empty Apps and
14051
- * other screens navigable from an App.
14052
- *
14053
- * @version SDK: 1.44.2 | ThoughtSpot: 10.15.0.cl
14054
- * @default 500
14055
- * @example
14056
- * ```js
14057
- * const embed = new AppEmbed('#embed', {
14058
- * ... // other app view config
14059
- * fullHeight: true,
14060
- * minimumHeight: 600,
14061
- * });
14062
- * ```
14063
- */
14064
- minimumHeight?: number;
14065
14940
  /**
14066
14941
  * To enable the homepage announcement banner.
14067
14942
  * Controls the visibility of the announcement section
@@ -14111,6 +14986,20 @@ export interface AppViewConfig extends AllEmbedViewConfig {
14111
14986
  * ```
14112
14987
  */
14113
14988
  updatedSpotterExperience?: boolean;
14989
+ /**
14990
+ * If set to `true`, the answer edit panel is hidden.
14991
+ *
14992
+ * Supported embed types: `AppEmbed`
14993
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
14994
+ * @example
14995
+ * ```js
14996
+ * const embed = new AppEmbed('#tsEmbed', {
14997
+ * ... // other embed view config
14998
+ * hideAnswerEditPanel: true,
14999
+ * })
15000
+ * ```
15001
+ */
15002
+ hideAnswerEditPanel?: boolean;
14114
15003
  }
14115
15004
  /**
14116
15005
  * APP_INIT data shape for AppEmbed.
@@ -14126,9 +15015,7 @@ export interface AppEmbedAppInitData extends DefaultAppInitData {
14126
15015
  }
14127
15016
  declare class AppEmbed extends V1Embed {
14128
15017
  protected viewConfig: AppViewConfig;
14129
- private defaultHeight;
14130
- private lazyLoadScrollContainers;
14131
- private lazyLoadResizeObserver;
15018
+ private readonly fullHeightController?;
14132
15019
  constructor(domSelector: DOMSelector, viewConfig: AppViewConfig);
14133
15020
  /**
14134
15021
  * Extends the default APP_INIT payload with `embedParams.spotterSidebarConfig`
@@ -14149,27 +15036,11 @@ declare class AppEmbed extends V1Embed {
14149
15036
  */
14150
15037
  protected getEmbedParams(): string;
14151
15038
  protected getEmbedParamsObject(): any;
14152
- private sendFullHeightLazyLoadData;
14153
- /**
14154
- * This is a handler for the RequestVisibleEmbedCoordinates event.
14155
- * It is used to send the visible coordinates data to the host application.
14156
- * @param data The event payload
14157
- * @param responder The responder function
14158
- */
14159
- private requestVisibleEmbedCoordinatesHandler;
14160
15039
  /**
14161
15040
  * Constructs the URL of the ThoughtSpot app page to be rendered.
14162
15041
  * @param pageId The ID of the page to be embedded.
14163
15042
  */
14164
15043
  getIFrameSrc(): string;
14165
- /**
14166
- * Set the iframe height as per the computed height received
14167
- * from the ThoughtSpot app.
14168
- * @param data The event payload
14169
- */
14170
- protected updateIFrameHeight: (data: MessagePayload) => void;
14171
- private embedIframeCenter;
14172
- private setIframeHeightForNonEmbedLiveboard;
14173
15044
  /**
14174
15045
  * Gets the ThoughtSpot route of the page for a particular page ID.
14175
15046
  * @param pageId The identifier for a page in the ThoughtSpot app.
@@ -14200,8 +15071,6 @@ declare class AppEmbed extends V1Embed {
14200
15071
  */
14201
15072
  destroy(): void;
14202
15073
  private postRender;
14203
- private registerLazyLoadEvents;
14204
- private unregisterLazyLoadEvents;
14205
15074
  /**
14206
15075
  * Renders the embedded application pages in the ThoughtSpot app.
14207
15076
  * @param renderOptions An object containing the page ID
@@ -14223,71 +15092,7 @@ export interface LiveboardEmbedAppInitData extends DefaultAppInitData {
14223
15092
  * The configuration for the embedded Liveboard or visualization page view.
14224
15093
  * @group Embed components
14225
15094
  */
14226
- export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardCommonViewConfig, LiveboardAppEmbedViewConfig {
14227
- /**
14228
- * If set to true, the embedded object container dynamically resizes
14229
- * according to the height of the Liveboard.
14230
- *
14231
- * **Note**: Using fullHeight loads all visualizations on the
14232
- * Liveboard simultaneously, which results in multiple warehouse
14233
- * queries and potentially a longer wait for the topmost
14234
- * visualizations to display on the screen.
14235
- * Setting `fullHeight` to `false` fetches visualizations
14236
- * incrementally as users scroll the page to view the charts and tables.
14237
- *
14238
- * From SDK 1.52.0, enabling `fullHeight` also turns on
14239
- * {@link lazyLoadingForFullHeight} and
14240
- * {@link enableScrollableContainerLazyLoading}, so visualizations load as
14241
- * they scroll into view. Set either flag to `false` to opt out.
14242
- *
14243
- *
14244
- * Supported embed types: `LiveboardEmbed`
14245
- * @version SDK: 1.1.0 | ThoughtSpot: ts7.may.cl, 7.2.1
14246
- * @example
14247
- * ```js
14248
- * const embed = new LiveboardEmbed('#embed', {
14249
- * ... // other liveboard view config
14250
- * fullHeight: true,
14251
- * });
14252
- * ```
14253
- */
14254
- fullHeight?: boolean;
14255
- /**
14256
- * This is the minimum height (in pixels) for a full-height Liveboard.
14257
- * Setting this height helps resolve issues with empty Liveboards and
14258
- * other screens navigable from a Liveboard.
14259
- *
14260
- * Supported embed types: `LiveboardEmbed`
14261
- * @version SDK: 1.5.0 | ThoughtSpot: ts7.oct.cl, 7.2.1
14262
- * @deprecated Use `minimumHeight` instead.
14263
- * @default 500
14264
- * @example
14265
- * ```js
14266
- * const embed = new LiveboardEmbed('#embed', {
14267
- * ... // other liveboard view config
14268
- * fullHeight: true,
14269
- * defaultHeight: 600,
14270
- * });
14271
- * ```
14272
- */
14273
- defaultHeight?: number;
14274
- /**
14275
- * This is the minimum height (in pixels) for a full-height Liveboard.
14276
- * Setting this height helps resolve issues with empty Liveboards and
14277
- * other screens navigable from a Liveboard.
14278
- *
14279
- * @version SDK: 1.44.2 | ThoughtSpot: 10.15.0.cl
14280
- * @default 500
14281
- * @example
14282
- * ```js
14283
- * const embed = new LiveboardEmbed('#embed', {
14284
- * ... // other liveboard view config
14285
- * fullHeight: true,
14286
- * minimumHeight: 600,
14287
- * });
14288
- * ```
14289
- */
14290
- minimumHeight?: number;
15095
+ export interface LiveboardViewConfig extends BaseViewConfig, FullHeightViewConfig, SearchLiveboardCommonViewConfig, LiveboardAppEmbedViewConfig {
14291
15096
  /**
14292
15097
  * If set to true, the context menu in visualizations will be enabled.
14293
15098
  * @version SDK: 1.1.0 | ThoughtSpot: 8.1.0.sw
@@ -14631,77 +15436,6 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
14631
15436
  * ```
14632
15437
  */
14633
15438
  isGranularXLSXCSVSchedulesEnabled?: boolean;
14634
- /**
14635
- * Loads visualizations only as they scroll into the viewport, instead of
14636
- * loading the whole full-height Liveboard at once.
14637
- *
14638
- * From SDK 1.52.0 this is enabled automatically whenever `fullHeight` is
14639
- * `true`. On SDK 1.51.0 and earlier it defaulted to `false` and had to be
14640
- * set explicitly. Set it to `false` to load every visualization upfront.
14641
- * The flag has no effect unless `fullHeight` is enabled.
14642
- *
14643
- * @type {boolean}
14644
- * @version SDK: 1.40.0 | ThoughtSpot: 10.12.0.cl
14645
- * @default true when `fullHeight` is enabled, from SDK 1.52.0
14646
- * @example
14647
- * ```js
14648
- * const embed = new LiveboardEmbed('#embed-container', {
14649
- * // ...other options
14650
- * fullHeight: true,
14651
- * lazyLoadingForFullHeight: true,
14652
- * })
14653
- * ```
14654
- */
14655
- lazyLoadingForFullHeight?: boolean;
14656
- /**
14657
- * Computes the visible region of the embed against its scrollable and
14658
- * clipping ancestors, instead of treating the browser window as the only
14659
- * viewport, and tracks scroll and resize on those ancestors.
14660
- *
14661
- * From SDK 1.52.0 this is enabled automatically whenever `fullHeight` is
14662
- * `true`. On SDK 1.51.0 and earlier it defaulted to `false` and had to be
14663
- * set explicitly. Set it to `false` when the page scrolls with the window
14664
- * and the embed has no clipping ancestor, to skip the extra ancestor
14665
- * tracking.
14666
- *
14667
- * @type {boolean}
14668
- * @default true when `fullHeight` is enabled, from SDK 1.52.0
14669
- */
14670
- enableScrollableContainerLazyLoading?: boolean;
14671
- /**
14672
- * How far outside the viewport a visualization starts loading, when
14673
- * {@link lazyLoadingForFullHeight} is enabled.
14674
- *
14675
- * For example, if the margin is set to '10px',
14676
- * the visualization will be loaded 10px before its top edge is visible in the
14677
- * viewport.
14678
- *
14679
- * The format is similar to CSS margin, so `'500px 0px'` extends the
14680
- * prefetch 500px above and below the viewport and not sideways. Accepted
14681
- * units are `px`, `em`, `rem`, `%`, `vh` and `vw`, plus bare `0` and
14682
- * `auto`; an invalid value is logged and ignored.
14683
- *
14684
- * From SDK 1.52.0 this defaults to `'500px 0px'` — roughly one
14685
- * visualization ahead of the scroll position, so a chart has usually
14686
- * finished loading by the time it scrolls into view. Use a smaller margin
14687
- * to cut warehouse queries further, or `'0px'` to load a visualization
14688
- * only once it is actually visible.
14689
- *
14690
- * @type {string}
14691
- * @version SDK: 1.40.0 | ThoughtSpot: 10.12.0.cl
14692
- * @default '500px 0px' when `fullHeight` is enabled, from SDK 1.52.0
14693
- * @example
14694
- * ```js
14695
- * const embed = new LiveboardEmbed('#embed-container', {
14696
- * // ...other options
14697
- * fullHeight: true,
14698
- * lazyLoadingForFullHeight: true,
14699
- * // Using 0px, the visualization will be only loaded when it's visible in the viewport.
14700
- * lazyLoadingMargin: '0px',
14701
- * })
14702
- * ```
14703
- */
14704
- lazyLoadingMargin?: string;
14705
15439
  /**
14706
15440
  * showSpotterLimitations : show limitation text
14707
15441
  * of the spotter underneath the chat input.
@@ -14840,9 +15574,7 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
14840
15574
  }
14841
15575
  declare class LiveboardEmbed extends V1Embed {
14842
15576
  protected viewConfig: LiveboardViewConfig;
14843
- private defaultHeight;
14844
- private lazyLoadScrollContainers;
14845
- private lazyLoadResizeObserver;
15577
+ private readonly fullHeightController?;
14846
15578
  constructor(domSelector: DOMSelector, viewConfig: LiveboardViewConfig);
14847
15579
  protected getAppInitData(): Promise<LiveboardEmbedAppInitData>;
14848
15580
  /**
@@ -14852,27 +15584,11 @@ declare class LiveboardEmbed extends V1Embed {
14852
15584
  protected getEmbedParams(): string;
14853
15585
  protected getEmbedParamsObject(): any;
14854
15586
  private getIframeSuffixSrc;
14855
- private sendFullHeightLazyLoadData;
14856
- /**
14857
- * This is a handler for the RequestVisibleEmbedCoordinates event.
14858
- * It is used to send the visible coordinates data to the host application.
14859
- * @param data The event payload
14860
- * @param responder The responder function
14861
- */
14862
- private requestVisibleEmbedCoordinatesHandler;
14863
15587
  /**
14864
15588
  * Construct the URL of the embedded ThoughtSpot Liveboard or visualization
14865
15589
  * to be loaded within the iFrame.
14866
15590
  */
14867
15591
  private getIFrameSrc;
14868
- /**
14869
- * Set the iframe height as per the computed height received
14870
- * from the ThoughtSpot app.
14871
- * @param data The event payload
14872
- */
14873
- private updateIFrameHeight;
14874
- private embedIframeCenter;
14875
- private setIframeHeightForNonEmbedLiveboard;
14876
15592
  private setActiveTab;
14877
15593
  private showPreviewLoader;
14878
15594
  /**
@@ -14887,22 +15603,23 @@ declare class LiveboardEmbed extends V1Embed {
14887
15603
  personalizedViewId: string;
14888
15604
  };
14889
15605
  protected beforePrerenderVisible(): void;
15606
+ private isShowingLiveboardRoute;
14890
15607
  protected handleRenderForPrerender(): Promise<TsEmbed>;
14891
15608
  /**
14892
15609
  * Triggers an event to the embedded app
15610
+ * Payload typing follows {@link TsEmbed.trigger}: unknown fields fail to compile
15611
+ * from SDK 1.52.0; strict contract checks land in SDK 1.54.0.
14893
15612
  * @param {HostEvent} messageType The event type
14894
- * @param {any} data The payload to send with the message
15613
+ * @param {TriggerData} data The payload, typed against the event's contract
14895
15614
  * @returns A promise that resolves with the response from the embedded app
14896
15615
  */
14897
- trigger<HostEventT extends HostEvent, PayloadT = HostEventRequest<HostEventT>, ContextT extends ContextType = ContextType>(messageType: HostEventT, data?: TriggerPayload<PayloadT, HostEventT>, context?: ContextT): Promise<TriggerResponse<PayloadT, HostEventT, ContextT>>;
15616
+ trigger<HostEventT extends HostEvent, PayloadT = HostEventRequest<HostEventT>, ContextT extends ContextType = ContextType>(messageType: HostEventT, data?: TriggerData<HostEventT>, context?: ContextT): Promise<TriggerResponse<PayloadT, HostEventT, ContextT>>;
14898
15617
  /**
14899
15618
  * Destroys the ThoughtSpot embed, and remove any nodes from the DOM.
14900
15619
  * @version SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
14901
15620
  */
14902
15621
  destroy(): void;
14903
15622
  private postRender;
14904
- private registerLazyLoadEvents;
14905
- private unregisterLazyLoadEvents;
14906
15623
  /**
14907
15624
  * Render an embedded ThoughtSpot Liveboard or visualization
14908
15625
  * @param renderOptions An object specifying the Liveboard ID,
@@ -14979,9 +15696,9 @@ export interface SearchProps extends EmbedProps, SearchViewConfig {
14979
15696
  }
14980
15697
  /**
14981
15698
  * The PreRendered components require a preRender id. It can be supplied either
14982
- * through `preRenderConfig.preRenderId` (SDK: 1.52.0 and later) or through the
15699
+ * through `preRenderConfig.id` (SDK: 1.52.0 and later) or through the
14983
15700
  * top-level `preRenderId` prop (SDK: 1.25.0 and later, now deprecated).
14984
- * `preRenderConfig.preRenderId` takes precedence when both are set.
15701
+ * `preRenderConfig.id` takes precedence when both are set.
14985
15702
  *
14986
15703
  * Use PreRender to render the embed in the background and then
14987
15704
  * show or hide the rendered embed using showPreRender or hidePreRender respectively.
@@ -14990,14 +15707,14 @@ export interface SearchProps extends EmbedProps, SearchViewConfig {
14990
15707
  * // Preferred, SDK: 1.52.0 and later.
14991
15708
  * function LandingPageComponent() {
14992
15709
  * return <PreRenderedLiveboardEmbed
14993
- * preRenderConfig={{ preRenderId: "someId" }}
15710
+ * preRenderConfig={{ id: "someId" }}
14994
15711
  * liveboardId="libId"
14995
15712
  * />
14996
15713
  * }
14997
15714
  *
14998
15715
  * function MyComponent() {
14999
15716
  * return <LiveboardEmbed
15000
- * preRenderConfig={{ preRenderId: "someId" }}
15717
+ * preRenderConfig={{ id: "someId" }}
15001
15718
  * liveboardId="libId"
15002
15719
  * />
15003
15720
  * }
@@ -15014,7 +15731,7 @@ export type PreRenderProps = {
15014
15731
  /**
15015
15732
  * PreRender id to be used for PreRendering the embed.
15016
15733
  * @version SDK: 1.25.0 | ThoughtSpot: 9.6.0.cl
15017
- * @deprecated Use `preRenderConfig.preRenderId` instead.
15734
+ * @deprecated Use `preRenderConfig.id` instead.
15018
15735
  */
15019
15736
  preRenderId: string;
15020
15737
  /**
@@ -15027,17 +15744,17 @@ export type PreRenderProps = {
15027
15744
  /**
15028
15745
  * PreRender id to be used for PreRendering the embed.
15029
15746
  * @version SDK: 1.25.0 | ThoughtSpot: 9.6.0.cl
15030
- * @deprecated Use `preRenderConfig.preRenderId` instead.
15747
+ * @deprecated Use `preRenderConfig.id` instead.
15031
15748
  */
15032
15749
  preRenderId?: string;
15033
15750
  /**
15034
- * Configuration for the pre-render wrapper element. `preRenderId` is
15751
+ * Configuration for the pre-render wrapper element. `id` is
15035
15752
  * required here when the top-level `preRenderId` prop is not passed.
15036
15753
  * See {@link PreRenderConfig} for available options.
15037
15754
  * @version SDK: 1.52.0
15038
15755
  */
15039
15756
  preRenderConfig: PreRenderConfig & {
15040
- preRenderId: string;
15757
+ id: string;
15041
15758
  };
15042
15759
  };
15043
15760
  /**