@thoughtspot/visual-embed-sdk 1.50.0 → 1.51.0-test

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 (285) hide show
  1. package/cjs/package.json +1 -1
  2. package/cjs/src/config.d.ts +1 -0
  3. package/cjs/src/config.d.ts.map +1 -1
  4. package/cjs/src/config.js +2 -1
  5. package/cjs/src/config.js.map +1 -1
  6. package/cjs/src/css-variables.d.ts +122 -0
  7. package/cjs/src/css-variables.d.ts.map +1 -1
  8. package/cjs/src/embed/app.d.ts +176 -24
  9. package/cjs/src/embed/app.d.ts.map +1 -1
  10. package/cjs/src/embed/app.js +86 -38
  11. package/cjs/src/embed/app.js.map +1 -1
  12. package/cjs/src/embed/app.spec.js +672 -150
  13. package/cjs/src/embed/app.spec.js.map +1 -1
  14. package/cjs/src/embed/base.d.ts +1 -1
  15. package/cjs/src/embed/base.js +1 -1
  16. package/cjs/src/embed/conversation.d.ts +401 -2
  17. package/cjs/src/embed/conversation.d.ts.map +1 -1
  18. package/cjs/src/embed/conversation.js +32 -16
  19. package/cjs/src/embed/conversation.js.map +1 -1
  20. package/cjs/src/embed/conversation.spec.js +346 -17
  21. package/cjs/src/embed/conversation.spec.js.map +1 -1
  22. package/cjs/src/embed/events.spec.js +638 -0
  23. package/cjs/src/embed/events.spec.js.map +1 -1
  24. package/cjs/src/embed/host-events.spec.js +187 -0
  25. package/cjs/src/embed/host-events.spec.js.map +1 -1
  26. package/cjs/src/embed/hostEventClient/contracts.d.ts +51 -14
  27. package/cjs/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  28. package/cjs/src/embed/hostEventClient/contracts.js +11 -1
  29. package/cjs/src/embed/hostEventClient/contracts.js.map +1 -1
  30. package/cjs/src/embed/hostEventClient/host-event-client.d.ts +2 -1
  31. package/cjs/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  32. package/cjs/src/embed/hostEventClient/host-event-client.js +9 -0
  33. package/cjs/src/embed/hostEventClient/host-event-client.js.map +1 -1
  34. package/cjs/src/embed/hostEventClient/host-event-client.spec.js +236 -0
  35. package/cjs/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  36. package/cjs/src/embed/hostEventClient/utils.d.ts +2 -0
  37. package/cjs/src/embed/hostEventClient/utils.d.ts.map +1 -1
  38. package/cjs/src/embed/hostEventClient/utils.js +32 -2
  39. package/cjs/src/embed/hostEventClient/utils.js.map +1 -1
  40. package/cjs/src/embed/hostEventClient/utils.spec.js +178 -0
  41. package/cjs/src/embed/hostEventClient/utils.spec.js.map +1 -1
  42. package/cjs/src/embed/liveboard.d.ts +81 -13
  43. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  44. package/cjs/src/embed/liveboard.js +50 -9
  45. package/cjs/src/embed/liveboard.js.map +1 -1
  46. package/cjs/src/embed/liveboard.spec.js +432 -4
  47. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  48. package/cjs/src/embed/spotter-utils.d.ts +15 -1
  49. package/cjs/src/embed/spotter-utils.d.ts.map +1 -1
  50. package/cjs/src/embed/spotter-utils.js +28 -1
  51. package/cjs/src/embed/spotter-utils.js.map +1 -1
  52. package/cjs/src/embed/spotter-utils.spec.js +129 -0
  53. package/cjs/src/embed/spotter-utils.spec.js.map +1 -1
  54. package/cjs/src/embed/spotter-viz-utils.d.ts +37 -4
  55. package/cjs/src/embed/spotter-viz-utils.d.ts.map +1 -1
  56. package/cjs/src/embed/spotter-viz-utils.js.map +1 -1
  57. package/cjs/src/embed/spotter-viz-utils.spec.js +17 -0
  58. package/cjs/src/embed/spotter-viz-utils.spec.js.map +1 -1
  59. package/cjs/src/embed/ts-embed.d.ts +16 -8
  60. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  61. package/cjs/src/embed/ts-embed.js +96 -37
  62. package/cjs/src/embed/ts-embed.js.map +1 -1
  63. package/cjs/src/embed/ts-embed.spec.js +683 -3
  64. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  65. package/cjs/src/errors.d.ts +1 -0
  66. package/cjs/src/errors.d.ts.map +1 -1
  67. package/cjs/src/errors.js +1 -0
  68. package/cjs/src/errors.js.map +1 -1
  69. package/cjs/src/index.d.ts +3 -3
  70. package/cjs/src/index.d.ts.map +1 -1
  71. package/cjs/src/index.js +4 -2
  72. package/cjs/src/index.js.map +1 -1
  73. package/cjs/src/mixpanel-service.d.ts +4 -0
  74. package/cjs/src/mixpanel-service.d.ts.map +1 -1
  75. package/cjs/src/mixpanel-service.js +4 -0
  76. package/cjs/src/mixpanel-service.js.map +1 -1
  77. package/cjs/src/react/all-types-export.d.ts +1 -1
  78. package/cjs/src/react/all-types-export.d.ts.map +1 -1
  79. package/cjs/src/react/all-types-export.js +2 -1
  80. package/cjs/src/react/all-types-export.js.map +1 -1
  81. package/cjs/src/react/all-types-export.parity.spec.d.ts +2 -0
  82. package/cjs/src/react/all-types-export.parity.spec.d.ts.map +1 -0
  83. package/cjs/src/react/all-types-export.parity.spec.js +194 -0
  84. package/cjs/src/react/all-types-export.parity.spec.js.map +1 -0
  85. package/cjs/src/react/index.d.ts +66 -32
  86. package/cjs/src/react/index.d.ts.map +1 -1
  87. package/cjs/src/react/index.js +5 -3
  88. package/cjs/src/react/index.js.map +1 -1
  89. package/cjs/src/react/index.spec.js +101 -0
  90. package/cjs/src/react/index.spec.js.map +1 -1
  91. package/cjs/src/react/util.spec.js +251 -0
  92. package/cjs/src/react/util.spec.js.map +1 -1
  93. package/cjs/src/types.d.ts +902 -28
  94. package/cjs/src/types.d.ts.map +1 -1
  95. package/cjs/src/types.js +701 -14
  96. package/cjs/src/types.js.map +1 -1
  97. package/cjs/src/utils/processData.spec.js +93 -0
  98. package/cjs/src/utils/processData.spec.js.map +1 -1
  99. package/cjs/src/utils/processTrigger.spec.js +61 -0
  100. package/cjs/src/utils/processTrigger.spec.js.map +1 -1
  101. package/cjs/src/utils.spec.js +4 -0
  102. package/cjs/src/utils.spec.js.map +1 -1
  103. package/dist/{index-B5xoN6Cp.js → index-Bivg-mDx.js} +1 -1
  104. package/dist/src/config.d.ts +1 -0
  105. package/dist/src/config.d.ts.map +1 -1
  106. package/dist/src/css-variables.d.ts +122 -0
  107. package/dist/src/css-variables.d.ts.map +1 -1
  108. package/dist/src/embed/app.d.ts +176 -24
  109. package/dist/src/embed/app.d.ts.map +1 -1
  110. package/dist/src/embed/base.d.ts +1 -1
  111. package/dist/src/embed/conversation.d.ts +401 -2
  112. package/dist/src/embed/conversation.d.ts.map +1 -1
  113. package/dist/src/embed/hostEventClient/contracts.d.ts +51 -14
  114. package/dist/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  115. package/dist/src/embed/hostEventClient/host-event-client.d.ts +2 -1
  116. package/dist/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  117. package/dist/src/embed/hostEventClient/utils.d.ts +2 -0
  118. package/dist/src/embed/hostEventClient/utils.d.ts.map +1 -1
  119. package/dist/src/embed/liveboard.d.ts +81 -13
  120. package/dist/src/embed/liveboard.d.ts.map +1 -1
  121. package/dist/src/embed/spotter-utils.d.ts +15 -1
  122. package/dist/src/embed/spotter-utils.d.ts.map +1 -1
  123. package/dist/src/embed/spotter-viz-utils.d.ts +37 -4
  124. package/dist/src/embed/spotter-viz-utils.d.ts.map +1 -1
  125. package/dist/src/embed/ts-embed.d.ts +16 -8
  126. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  127. package/dist/src/errors.d.ts +1 -0
  128. package/dist/src/errors.d.ts.map +1 -1
  129. package/dist/src/index.d.ts +3 -3
  130. package/dist/src/index.d.ts.map +1 -1
  131. package/dist/src/mixpanel-service.d.ts +4 -0
  132. package/dist/src/mixpanel-service.d.ts.map +1 -1
  133. package/dist/src/react/all-types-export.d.ts +1 -1
  134. package/dist/src/react/all-types-export.d.ts.map +1 -1
  135. package/dist/src/react/all-types-export.parity.spec.d.ts +2 -0
  136. package/dist/src/react/all-types-export.parity.spec.d.ts.map +1 -0
  137. package/dist/src/react/index.d.ts +66 -32
  138. package/dist/src/react/index.d.ts.map +1 -1
  139. package/dist/src/types.d.ts +902 -28
  140. package/dist/src/types.d.ts.map +1 -1
  141. package/dist/tsembed-react.es.js +1269 -206
  142. package/dist/tsembed-react.js +1268 -205
  143. package/dist/tsembed.es.js +1364 -304
  144. package/dist/tsembed.js +1362 -302
  145. package/dist/visual-embed-sdk-react-full.d.ts +1867 -157
  146. package/dist/visual-embed-sdk-react.d.ts +1872 -161
  147. package/dist/visual-embed-sdk.d.ts +1815 -127
  148. package/lib/package.json +1 -1
  149. package/lib/src/config.d.ts +1 -0
  150. package/lib/src/config.d.ts.map +1 -1
  151. package/lib/src/config.js +1 -0
  152. package/lib/src/config.js.map +1 -1
  153. package/lib/src/css-variables.d.ts +122 -0
  154. package/lib/src/css-variables.d.ts.map +1 -1
  155. package/lib/src/embed/app.d.ts +176 -24
  156. package/lib/src/embed/app.d.ts.map +1 -1
  157. package/lib/src/embed/app.js +87 -39
  158. package/lib/src/embed/app.js.map +1 -1
  159. package/lib/src/embed/app.spec.js +673 -151
  160. package/lib/src/embed/app.spec.js.map +1 -1
  161. package/lib/src/embed/base.d.ts +1 -1
  162. package/lib/src/embed/base.js +1 -1
  163. package/lib/src/embed/conversation.d.ts +401 -2
  164. package/lib/src/embed/conversation.d.ts.map +1 -1
  165. package/lib/src/embed/conversation.js +33 -17
  166. package/lib/src/embed/conversation.js.map +1 -1
  167. package/lib/src/embed/conversation.spec.js +347 -18
  168. package/lib/src/embed/conversation.spec.js.map +1 -1
  169. package/lib/src/embed/events.spec.js +638 -0
  170. package/lib/src/embed/events.spec.js.map +1 -1
  171. package/lib/src/embed/host-events.spec.js +188 -1
  172. package/lib/src/embed/host-events.spec.js.map +1 -1
  173. package/lib/src/embed/hostEventClient/contracts.d.ts +51 -14
  174. package/lib/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  175. package/lib/src/embed/hostEventClient/contracts.js +10 -0
  176. package/lib/src/embed/hostEventClient/contracts.js.map +1 -1
  177. package/lib/src/embed/hostEventClient/host-event-client.d.ts +2 -1
  178. package/lib/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  179. package/lib/src/embed/hostEventClient/host-event-client.js +10 -1
  180. package/lib/src/embed/hostEventClient/host-event-client.js.map +1 -1
  181. package/lib/src/embed/hostEventClient/host-event-client.spec.js +236 -0
  182. package/lib/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  183. package/lib/src/embed/hostEventClient/utils.d.ts +2 -0
  184. package/lib/src/embed/hostEventClient/utils.d.ts.map +1 -1
  185. package/lib/src/embed/hostEventClient/utils.js +28 -1
  186. package/lib/src/embed/hostEventClient/utils.js.map +1 -1
  187. package/lib/src/embed/hostEventClient/utils.spec.js +179 -1
  188. package/lib/src/embed/hostEventClient/utils.spec.js.map +1 -1
  189. package/lib/src/embed/liveboard.d.ts +81 -13
  190. package/lib/src/embed/liveboard.d.ts.map +1 -1
  191. package/lib/src/embed/liveboard.js +50 -9
  192. package/lib/src/embed/liveboard.js.map +1 -1
  193. package/lib/src/embed/liveboard.spec.js +432 -4
  194. package/lib/src/embed/liveboard.spec.js.map +1 -1
  195. package/lib/src/embed/spotter-utils.d.ts +15 -1
  196. package/lib/src/embed/spotter-utils.d.ts.map +1 -1
  197. package/lib/src/embed/spotter-utils.js +25 -0
  198. package/lib/src/embed/spotter-utils.js.map +1 -1
  199. package/lib/src/embed/spotter-utils.spec.js +130 -1
  200. package/lib/src/embed/spotter-utils.spec.js.map +1 -1
  201. package/lib/src/embed/spotter-viz-utils.d.ts +37 -4
  202. package/lib/src/embed/spotter-viz-utils.d.ts.map +1 -1
  203. package/lib/src/embed/spotter-viz-utils.js.map +1 -1
  204. package/lib/src/embed/spotter-viz-utils.spec.js +17 -0
  205. package/lib/src/embed/spotter-viz-utils.spec.js.map +1 -1
  206. package/lib/src/embed/ts-embed.d.ts +16 -8
  207. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  208. package/lib/src/embed/ts-embed.js +96 -37
  209. package/lib/src/embed/ts-embed.js.map +1 -1
  210. package/lib/src/embed/ts-embed.spec.js +683 -3
  211. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  212. package/lib/src/errors.d.ts +1 -0
  213. package/lib/src/errors.d.ts.map +1 -1
  214. package/lib/src/errors.js +1 -0
  215. package/lib/src/errors.js.map +1 -1
  216. package/lib/src/index.d.ts +3 -3
  217. package/lib/src/index.d.ts.map +1 -1
  218. package/lib/src/index.js +3 -3
  219. package/lib/src/index.js.map +1 -1
  220. package/lib/src/mixpanel-service.d.ts +4 -0
  221. package/lib/src/mixpanel-service.d.ts.map +1 -1
  222. package/lib/src/mixpanel-service.js +4 -0
  223. package/lib/src/mixpanel-service.js.map +1 -1
  224. package/lib/src/react/all-types-export.d.ts +1 -1
  225. package/lib/src/react/all-types-export.d.ts.map +1 -1
  226. package/lib/src/react/all-types-export.js +1 -1
  227. package/lib/src/react/all-types-export.js.map +1 -1
  228. package/lib/src/react/all-types-export.parity.spec.d.ts +2 -0
  229. package/lib/src/react/all-types-export.parity.spec.d.ts.map +1 -0
  230. package/lib/src/react/all-types-export.parity.spec.js +191 -0
  231. package/lib/src/react/all-types-export.parity.spec.js.map +1 -0
  232. package/lib/src/react/index.d.ts +66 -32
  233. package/lib/src/react/index.d.ts.map +1 -1
  234. package/lib/src/react/index.js +5 -3
  235. package/lib/src/react/index.js.map +1 -1
  236. package/lib/src/react/index.spec.js +102 -1
  237. package/lib/src/react/index.spec.js.map +1 -1
  238. package/lib/src/react/util.spec.js +251 -0
  239. package/lib/src/react/util.spec.js.map +1 -1
  240. package/lib/src/types.d.ts +902 -28
  241. package/lib/src/types.d.ts.map +1 -1
  242. package/lib/src/types.js +701 -14
  243. package/lib/src/types.js.map +1 -1
  244. package/lib/src/utils/processData.spec.js +93 -0
  245. package/lib/src/utils/processData.spec.js.map +1 -1
  246. package/lib/src/utils/processTrigger.spec.js +61 -0
  247. package/lib/src/utils/processTrigger.spec.js.map +1 -1
  248. package/lib/src/utils.spec.js +4 -0
  249. package/lib/src/utils.spec.js.map +1 -1
  250. package/lib/src/visual-embed-sdk.d.ts +1815 -127
  251. package/package.json +1 -1
  252. package/src/config.ts +1 -0
  253. package/src/css-variables.ts +150 -0
  254. package/src/embed/app.spec.ts +877 -196
  255. package/src/embed/app.ts +276 -75
  256. package/src/embed/base.ts +1 -1
  257. package/src/embed/conversation.spec.ts +411 -21
  258. package/src/embed/conversation.ts +441 -18
  259. package/src/embed/events.spec.ts +761 -1
  260. package/src/embed/host-events.spec.ts +242 -0
  261. package/src/embed/hostEventClient/contracts.ts +57 -14
  262. package/src/embed/hostEventClient/host-event-client.spec.ts +372 -0
  263. package/src/embed/hostEventClient/host-event-client.ts +18 -2
  264. package/src/embed/hostEventClient/utils.spec.ts +204 -0
  265. package/src/embed/hostEventClient/utils.ts +37 -10
  266. package/src/embed/liveboard.spec.ts +565 -4
  267. package/src/embed/liveboard.ts +155 -28
  268. package/src/embed/spotter-utils.spec.ts +140 -1
  269. package/src/embed/spotter-utils.ts +36 -1
  270. package/src/embed/spotter-viz-utils.spec.ts +17 -0
  271. package/src/embed/spotter-viz-utils.ts +37 -4
  272. package/src/embed/ts-embed.spec.ts +885 -3
  273. package/src/embed/ts-embed.ts +111 -39
  274. package/src/errors.ts +1 -0
  275. package/src/index.ts +45 -2
  276. package/src/mixpanel-service.ts +4 -0
  277. package/src/react/all-types-export.parity.spec.ts +208 -0
  278. package/src/react/all-types-export.ts +22 -0
  279. package/src/react/index.spec.tsx +158 -0
  280. package/src/react/index.tsx +70 -33
  281. package/src/react/util.spec.tsx +255 -0
  282. package/src/types.ts +904 -24
  283. package/src/utils/processData.spec.ts +97 -0
  284. package/src/utils/processTrigger.spec.ts +91 -0
  285. package/src/utils.spec.ts +5 -0
@@ -41,6 +41,42 @@ export interface CustomCssVariables {
41
41
  * Font color of the top navigation panel.
42
42
  */
43
43
  "--ts-var-nav-color"?: string;
44
+ /**
45
+ * Background color of the left navigation panel.
46
+ */
47
+ "--ts-var-left-nav-background"?: string;
48
+ /**
49
+ * Background color of the active tab in the left navigation panel.
50
+ */
51
+ "--ts-var-left-nav-active-tab-background"?: string;
52
+ /**
53
+ * Border color of the active tab in the left navigation panel.
54
+ */
55
+ "--ts-var-left-nav-active-tab-border-color"?: string;
56
+ /**
57
+ * Font color of the section title in the left navigation panel.
58
+ */
59
+ "--ts-var-left-nav-section-title-color"?: string;
60
+ /**
61
+ * Font color of the items in the left navigation panel.
62
+ */
63
+ "--ts-var-left-nav-item-color"?: string;
64
+ /**
65
+ * Font color of the selected item in the left navigation panel.
66
+ */
67
+ "--ts-var-left-nav-item-selection-color"?: string;
68
+ /**
69
+ * Background color of the selected item in the left navigation panel.
70
+ */
71
+ "--ts-var-left-nav-item-selection-background"?: string;
72
+ /**
73
+ * Color of the active tab icon in the left navigation panel.
74
+ */
75
+ "--ts-var-left-nav-tab-icon-active-color"?: string;
76
+ /**
77
+ * Color of the inactive tab icon in the left navigation panel.
78
+ */
79
+ "--ts-var-left-nav-tab-icon-inactive-color"?: string;
44
80
  /**
45
81
  * Background color of the *Search data* button.
46
82
  */
@@ -405,6 +441,13 @@ export interface CustomCssVariables {
405
441
  * Font color of the header in the Liveboard.
406
442
  */
407
443
  "--ts-var-liveboard-header-font-color"?: string;
444
+ /**
445
+ * Left and right margin of the header and the tab/filter section of an
446
+ * embedded Liveboard. Use alongside the `liveboardGutter` view config to
447
+ * keep the header aligned with a custom tile-grid gutter.
448
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
449
+ */
450
+ "--ts-var-liveboard-header-horizontal-margin"?: string;
408
451
  /**
409
452
  * Border color of the tiles in the Liveboard.
410
453
  */
@@ -413,6 +456,26 @@ export interface CustomCssVariables {
413
456
  * Background color of the tiles in the Liveboard.
414
457
  */
415
458
  "--ts-var-liveboard-tile-background"?: string;
459
+ /**
460
+ * Font color of the insight tiles in the Liveboard.
461
+ */
462
+ "--ts-var-liveboard-insight-tile-font-color"?: string;
463
+ /**
464
+ * Background color of the insight tiles in the Liveboard.
465
+ */
466
+ "--ts-var-liveboard-insight-tile-background"?: string;
467
+ /**
468
+ * Icon color of the insight tiles in the Liveboard.
469
+ */
470
+ "--ts-var-liveboard-insight-tile-icon-color"?: string;
471
+ /**
472
+ * Font color of the success text in the insight tiles in the Liveboard.
473
+ */
474
+ "--ts-var-liveboard-insight-tile-success-color"?: string;
475
+ /**
476
+ * Font color of the failure text in the insight tiles in the Liveboard.
477
+ */
478
+ "--ts-var-liveboard-insight-tile-failure-color"?: string;
416
479
  /**
417
480
  * Border radius of the tiles in the Liveboard.
418
481
  */
@@ -633,6 +696,14 @@ export interface CustomCssVariables {
633
696
  * Font color of the parameter chips in the Liveboard on active.
634
697
  */
635
698
  "--ts-var-parameter-chip-active-text-color"?: string;
699
+ /**
700
+ * Color of the dot indicator shown on a filter or parameter chip in the
701
+ * centralized filter modal on a Liveboard. The dot appears when the
702
+ * filter or parameter value has been modified but the changes are not
703
+ * yet applied to the Liveboard.
704
+ * @version SDK: 1.52.0 | ThoughtSpot: 26.10.0.cl
705
+ */
706
+ "--ts-var-unsaved-filter-indicator-color"?: string;
636
707
  /**
637
708
  * Background color of the action button in the Liveboard header.
638
709
  */
@@ -961,6 +1032,10 @@ export interface CustomCssVariables {
961
1032
  * header underline, left panel border, thinking step connector and dots.
962
1033
  */
963
1034
  "--ts-var-spotterviz-border-color"?: string;
1035
+ /**
1036
+ * Expanded user chat message bubble border color in SpotterViz.
1037
+ */
1038
+ "--ts-var-spotterviz-expanded-border-color"?: string;
964
1039
  /**
965
1040
  * Background color of the reference-mode toggle button in the SpotterViz
966
1041
  * chat input when it is unselected and the user hovers over it.
@@ -978,6 +1053,53 @@ export interface CustomCssVariables {
978
1053
  * on each referenced-entity chip in the chat input.
979
1054
  */
980
1055
  "--ts-var-spotterviz-reference-icon-selected-background"?: string;
1056
+ /**
1057
+ * Background color of the shared conversation header (recipient's read-only view).
1058
+ */
1059
+ "--ts-var-shared-conv-header-background"?: string;
1060
+ /**
1061
+ * Border color of the shared conversation header.
1062
+ */
1063
+ "--ts-var-shared-conv-header-border-color"?: string;
1064
+ /**
1065
+ * Font color of the title text in the shared conversation header.
1066
+ */
1067
+ "--ts-var-shared-conv-title-color"?: string;
1068
+ /**
1069
+ * Background gradient color-stop of the share chat header's outer container
1070
+ * (sender's pre-share header). Defaults to transparent.
1071
+ */
1072
+ "--ts-var-share-chat-header-container-background"?: string;
1073
+ /**
1074
+ * Background color of the share chat header's inner title/actions row.
1075
+ * Defaults to transparent.
1076
+ */
1077
+ "--ts-var-share-chat-header-background"?: string;
1078
+ /**
1079
+ * Font color of the title text in the share chat header.
1080
+ */
1081
+ "--ts-var-share-chat-header-title-color"?: string;
1082
+ /**
1083
+ * Font color of the title input field in the share chat header.
1084
+ */
1085
+ "--ts-var-share-chat-header-input-text-color"?: string;
1086
+ /**
1087
+ * Background color of the title input field in the share chat header.
1088
+ */
1089
+ "--ts-var-share-chat-header-input-background"?: string;
1090
+ /**
1091
+ * Border color of the title input field in the share chat header.
1092
+ */
1093
+ "--ts-var-share-chat-header-input-border-color"?: string;
1094
+ /**
1095
+ * Background color of the shimmer loading effect. Also affects the
1096
+ * saved chats sidebar's new-chat shimmer, which shares the same style.
1097
+ */
1098
+ "--ts-var-shimmer-background"?: string;
1099
+ /**
1100
+ * Background color of the shimmer sweep animation's gradient mid-stop.
1101
+ */
1102
+ "--ts-var-shimmer-sweep-background"?: string;
981
1103
  }
982
1104
  export interface SessionInterface {
983
1105
  sessionId: string;
@@ -1351,7 +1473,14 @@ declare enum HomeLeftNavItem {
1351
1473
  * Available in the V3 navigation experience.
1352
1474
  * @version SDK: 1.41.0 | ThoughtSpot: 10.12.0.cl
1353
1475
  */
1354
- Favorites = "favorites"
1476
+ Favorites = "favorites",
1477
+ /**
1478
+ * The *Collections* menu option in
1479
+ * the *Insights* left navigation panel.
1480
+ * Shown when collections are enabled on the cluster.
1481
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
1482
+ */
1483
+ Collections = "collections"
1355
1484
  }
1356
1485
  export type DOMSelector = string | HTMLElement;
1357
1486
  /**
@@ -1967,6 +2096,85 @@ export interface FrameParams {
1967
2096
  */
1968
2097
  [key: string]: string | number | boolean | undefined;
1969
2098
  }
2099
+ /**
2100
+ * Configuration for the pre-render wrapper element.
2101
+ * All properties here mirror the top-level preRender properties on
2102
+ * {@link BaseViewConfig} and take precedence over them when both are set,
2103
+ * so existing top-level usage continues to work without any changes.
2104
+ *
2105
+ * @version SDK: 1.52.0
2106
+ * @example
2107
+ * ```js
2108
+ * init({ thoughtSpotHost: '...', authType: AuthType.None });
2109
+ * const embed = new LiveboardEmbed('#tsEmbed', {
2110
+ * preRenderConfig: {
2111
+ * preRenderId: 'my-liveboard',
2112
+ * preRenderContainer: '#my-scroll-container',
2113
+ * doNotTrackPreRenderSize: false,
2114
+ * zIndex: -10,
2115
+ * },
2116
+ * });
2117
+ * embed.preRender();
2118
+ * embed.showPreRender();
2119
+ * ```
2120
+ */
2121
+ export interface PreRenderConfig {
2122
+ /**
2123
+ * Pre-render ID to identify the pre-render instance.
2124
+ * Takes precedence over the top-level `preRenderId` when both are set.
2125
+ *
2126
+ * Matches the embed warmed by `preRender()` to the one revealed by
2127
+ * `showPreRender()`. Embeds sharing an ID share one loaded frame: reuse the ID for
2128
+ * the same view, and give unrelated views their own or they will collide.
2129
+ * Required by `preRender()`, `showPreRender()`, and `hidePreRender()`, which log
2130
+ * and do nothing without it.
2131
+ *
2132
+ * @default undefined
2133
+ */
2134
+ preRenderId?: string;
2135
+ /**
2136
+ * The DOM element or CSS selector string specifying the container into
2137
+ * which the pre-rendered wrapper is inserted.
2138
+ * Takes precedence over the top-level `preRenderContainer` when both are set.
2139
+ *
2140
+ * Set this when your app scrolls inside an element rather than the page (for
2141
+ * example `<body>` has `overflow: hidden`). Point it at the element that actually
2142
+ * scrolls, keep that element mounted while the embed is warm, and prefer a
2143
+ * selector string — it is re-resolved on reposition and so survives a remount,
2144
+ * while a detached element reference cannot be recovered. An invalid selector is
2145
+ * logged and falls back to `document.body`.
2146
+ * See {@link BaseViewConfig.preRenderContainer} for details, including Shadow DOM.
2147
+ *
2148
+ * @default document.body
2149
+ */
2150
+ preRenderContainer?: string | HTMLElement;
2151
+ /**
2152
+ * Disables the `ResizeObserver` that keeps the wrapper sized to the
2153
+ * placeholder element.
2154
+ * Takes precedence over the top-level `doNotTrackPreRenderSize` when both are set.
2155
+ *
2156
+ * Set this only when you size the embed yourself; you then own alignment and must
2157
+ * call `syncPreRenderStyle()` after any change that moves or resizes it. Tracking
2158
+ * already pauses while hidden, so this is not needed to avoid work then.
2159
+ *
2160
+ * @default false
2161
+ */
2162
+ doNotTrackPreRenderSize?: boolean;
2163
+ /**
2164
+ * CSS `z-index` value applied to the pre-render wrapper when hidden.
2165
+ * Override this when the host page's stacking context does not reach `-1000`
2166
+ * and the hidden wrapper still appears above other elements.
2167
+ *
2168
+ * A page that creates its own stacking context — a positioned app shell, a
2169
+ * transformed wrapper, a modal layer — can clamp `-1000`, and the hidden wrapper
2170
+ * then shows through or swallows clicks meant for your UI. Reach for this when you
2171
+ * see a faint panel behind your content, or clicks landing on nothing in the
2172
+ * region where the embed will eventually appear.
2173
+ *
2174
+ * @default -1000
2175
+ */
2176
+ zIndex?: number;
2177
+ }
1970
2178
  /**
1971
2179
  * The common configuration object for an embedded view.
1972
2180
  */
@@ -2051,7 +2259,7 @@ export interface BaseViewConfig extends ApiInterceptFlags {
2051
2259
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
2052
2260
  * const embed = new <EmbedComponent>('#tsEmbed', {
2053
2261
  * ... // other embed view config
2054
- * hiddenActions: [Action.Download, Action.Export],
2262
+ * hiddenActions: [Action.Download, Action.ExportTML],
2055
2263
  * });
2056
2264
  * ```
2057
2265
  * @important
@@ -2073,7 +2281,7 @@ export interface BaseViewConfig extends ApiInterceptFlags {
2073
2281
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
2074
2282
  * const embed = new <EmbedComponent>('#tsEmbed', {
2075
2283
  * ... // other embed view config
2076
- * visibleActions: [Action.Download, Action.Export],
2284
+ * visibleActions: [Action.Download, Action.ExportTML],
2077
2285
  * });
2078
2286
  * ```
2079
2287
  */
@@ -2158,6 +2366,7 @@ export interface BaseViewConfig extends ApiInterceptFlags {
2158
2366
  *
2159
2367
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`, `SearchEmbed`, `SpotterAgentEmbed`, `SpotterEmbed`, `SearchBarEmbed`
2160
2368
  * @version SDK: 1.25.0 | ThoughtSpot: 9.6.0.cl, 9.8.0.sw
2369
+ * @deprecated Use {@link PreRenderConfig.preRenderId} via `preRenderConfig` instead.
2161
2370
  * @example
2162
2371
  * ```js
2163
2372
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
@@ -2177,6 +2386,7 @@ export interface BaseViewConfig extends ApiInterceptFlags {
2177
2386
  * @type {boolean}
2178
2387
  * @default false
2179
2388
  * @version SDK: 1.24.0 | ThoughtSpot: 9.4.0.cl, 9.4.0.sw
2389
+ * @deprecated Use {@link PreRenderConfig.doNotTrackPreRenderSize} via `preRenderConfig` instead.
2180
2390
  * @example
2181
2391
  * ```js
2182
2392
  * // Disable tracking PreRender size in the configuration
@@ -2218,6 +2428,7 @@ export interface BaseViewConfig extends ApiInterceptFlags {
2218
2428
  *
2219
2429
  * @type {string | HTMLElement}
2220
2430
  * @version SDK: 1.49.2 | ThoughtSpot: *
2431
+ * @deprecated Use {@link PreRenderConfig.preRenderContainer} via `preRenderConfig` instead.
2221
2432
  * @example
2222
2433
  * ```js
2223
2434
  * const embed = new LiveboardEmbed('#tsEmbed', {
@@ -2228,6 +2439,27 @@ export interface BaseViewConfig extends ApiInterceptFlags {
2228
2439
  * ```
2229
2440
  */
2230
2441
  preRenderContainer?: string | HTMLElement;
2442
+ /**
2443
+ * Configuration for the pre-render wrapper element.
2444
+ * All properties here mirror the top-level preRender properties on
2445
+ * `BaseViewConfig` and take precedence over them when both are set,
2446
+ * so existing top-level usage continues to work without any changes.
2447
+ * See {@link PreRenderConfig} for available options.
2448
+ *
2449
+ * @version SDK: 1.52.0
2450
+ * @example
2451
+ * ```js
2452
+ * const embed = new LiveboardEmbed('#tsEmbed', {
2453
+ * preRenderConfig: {
2454
+ * preRenderId: 'my-liveboard',
2455
+ * zIndex: -10,
2456
+ * },
2457
+ * });
2458
+ * embed.preRender();
2459
+ * embed.showPreRender();
2460
+ * ```
2461
+ */
2462
+ preRenderConfig?: PreRenderConfig;
2231
2463
  /**
2232
2464
  * Enable the V2 shell. This can provide performance benefits
2233
2465
  * due to a lighter-weight shell.
@@ -2298,6 +2530,26 @@ export interface BaseViewConfig extends ApiInterceptFlags {
2298
2530
  * ```
2299
2531
  */
2300
2532
  overrideOrgId?: number;
2533
+ /**
2534
+ * Overrides the browser history behavior for embedding application users.
2535
+ * This parameter changes standard history navigation (pushState) into a
2536
+ * state replacement (replaceState), preventing users from getting trapped in
2537
+ * back-button loops inside the embedded iframe environment.
2538
+ * The overrideHistoryState setting is honored only if the
2539
+ * application is running within an embedded context.
2540
+ *
2541
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`, `SearchEmbed`, `SpotterAgentEmbed`, `SpotterEmbed`, `SearchBarEmbed`
2542
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
2543
+ * @example
2544
+ * ```js
2545
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
2546
+ * const embed = new <EmbedComponent>('#tsEmbed', {
2547
+ * // ... other embed view config
2548
+ * overrideHistoryState: true,
2549
+ * });
2550
+ * ```
2551
+ */
2552
+ overrideHistoryState?: boolean;
2301
2553
  /**
2302
2554
  * Flag to override the *Open Link in New Tab* context
2303
2555
  * menu option.
@@ -2631,7 +2883,7 @@ export interface HomePageConfig {
2631
2883
  *
2632
2884
  * const embed = new AppEmbed('#tsEmbed', {
2633
2885
  * ... //other embed view config
2634
- * hiddenListColumns : [ListPageColumns.Favorite,ListPageColumns.Author],
2886
+ * hiddenListColumns : [ListPageColumns.Favorites,ListPageColumns.Author],
2635
2887
  * })
2636
2888
  * ```
2637
2889
  */
@@ -2641,7 +2893,9 @@ export interface HomePageConfig {
2641
2893
  * To specify the modules, import the `HomepageModule` enum.
2642
2894
  * For example: `hiddenHomepageModules = [HomepageModule.MyLibrary]`
2643
2895
  *
2644
- * **Note**: This attribute is not supported in the classic (v1) experience.
2896
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
2897
+ * deprecated. This attribute applies to V3 (ModularWithStylingChanges)
2898
+ * and V4 (Focused) home page experiences.
2645
2899
  *
2646
2900
  * Supported embed types: `AppEmbed`
2647
2901
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl, 10.1.0.sw
@@ -2650,7 +2904,7 @@ export interface HomePageConfig {
2650
2904
  * import { HomepageModule } from '@thoughtspot/visual-embed-sdk';
2651
2905
  *
2652
2906
  * const embed = new AppEmbed('#tsEmbed', {
2653
- * ... // V2/V3 navigation and home page experience attributes
2907
+ * ... // V3 navigation and home page experience attributes
2654
2908
  * hiddenHomepageModules : [HomepageModule.Favorite,HomepageModule.Learning],
2655
2909
  * //...other embed view configuration attributes
2656
2910
  * })
@@ -2661,8 +2915,11 @@ export interface HomePageConfig {
2661
2915
  * Reorder home page modules.
2662
2916
  * To specify the modules, import the `HomepageModule` enum.
2663
2917
  * For example: `reorderedHomepageModules = [HomepageModule.MyLibrary,
2664
- * HomepageModule.Watchlist]` **Note**: This attribute is not supported in the
2665
- * classic (v1) homepage.
2918
+ * HomepageModule.Watchlist]`
2919
+ *
2920
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
2921
+ * deprecated. This attribute applies to V3 (ModularWithStylingChanges)
2922
+ * and V4 (Focused) home page experiences.
2666
2923
  *
2667
2924
  * Supported embed types: `AppEmbed`
2668
2925
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl, 10.1.0.sw
@@ -2671,7 +2928,7 @@ export interface HomePageConfig {
2671
2928
  * import { HomepageModule } from '@thoughtspot/visual-embed-sdk';
2672
2929
  *
2673
2930
  * const embed = new AppEmbed('#tsEmbed', {
2674
- * ...//V2/V3 navigation and home page experience attributes
2931
+ * ...//V3 navigation and home page experience attributes
2675
2932
  * reorderedHomepageModules:[HomepageModule.Favorite,HomepageModule.MyLibrary],
2676
2933
  * //... other embed view configuration attributes
2677
2934
  * })
@@ -2683,7 +2940,9 @@ export interface HomePageConfig {
2683
2940
  * on the home page left navigation panel.
2684
2941
  * To specify the menu items, import the `HomeLeftNavItem` enum.
2685
2942
  *
2686
- * **Note**: This attribute is not supported in the classic (v1) homepage.
2943
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
2944
+ * deprecated. This attribute applies to V3 (ModularWithStylingChanges)
2945
+ * and V4 (Focused) home page experiences.
2687
2946
  *
2688
2947
  * Supported embed types: `AppEmbed`
2689
2948
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl, 10.1.0.sw
@@ -2937,6 +3196,25 @@ export interface LiveboardAppEmbedViewConfig {
2937
3196
  * ```
2938
3197
  */
2939
3198
  enable2ColumnLayout?: boolean;
3199
+ /**
3200
+ * This attribute keeps an embedded Liveboard on the 12-column layout at
3201
+ * every width, instead of switching to the two-column or single-column
3202
+ * layout as the container narrows.
3203
+ *
3204
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`
3205
+ * @type {boolean}
3206
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
3207
+ * @default false
3208
+ * @example
3209
+ * ```js
3210
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
3211
+ * const embed = new <EmbedComponent>('#tsEmbed', {
3212
+ * ... // other embed view config
3213
+ * isLiveboardAlwaysOn12ColLayout: true,
3214
+ * })
3215
+ * ```
3216
+ */
3217
+ isLiveboardAlwaysOn12ColLayout?: boolean;
2940
3218
  /**
2941
3219
  * This flag can be used to enable the compact header in Liveboard
2942
3220
  *
@@ -3041,6 +3319,26 @@ export interface LiveboardAppEmbedViewConfig {
3041
3319
  * ```
3042
3320
  */
3043
3321
  coverAndFilterOptionInPDF?: boolean;
3322
+ /**
3323
+ * Sets the gutter space (in pixels) between the visualization tiles of
3324
+ * an embedded Liveboard grid layout and its outer layout padding.
3325
+ * Accepts a non-negative integer; `0` renders the tiles without any gap
3326
+ * and removes the outer padding. When omitted, the gutter saved in the
3327
+ * Liveboard's styling settings (or the ThoughtSpot default) applies.
3328
+ *
3329
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`
3330
+ * @type {number}
3331
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
3332
+ * @example
3333
+ * ```js
3334
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
3335
+ * const embed = new <EmbedComponent>('#tsEmbed', {
3336
+ * ... // other embed view config
3337
+ * liveboardGutter: 8,
3338
+ * })
3339
+ * ```
3340
+ */
3341
+ liveboardGutter?: number;
3044
3342
  /**
3045
3343
  * This flag is used to enable or disable the new centralized Liveboard filter UX
3046
3344
  * (v2). When enabled, a unified modal is used to manage and update multiple filters
@@ -3059,6 +3357,24 @@ export interface LiveboardAppEmbedViewConfig {
3059
3357
  * ```
3060
3358
  */
3061
3359
  isCentralizedLiveboardFilterUXEnabled?: boolean;
3360
+ /**
3361
+ * This flag is used to enable or disable scoped Liveboard filtering.
3362
+ * When enabled, filters and parameters can be scoped to a group of
3363
+ * visualizations on a Liveboard, in addition to the Liveboard and
3364
+ * tab levels.
3365
+ *
3366
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`
3367
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
3368
+ * @example
3369
+ * ```js
3370
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
3371
+ * const embed = new <EmbedComponent>('#tsEmbed', {
3372
+ * ... // other embed view config
3373
+ * isScopedLiveboardFilteringEnabled: true,
3374
+ * })
3375
+ * ```
3376
+ */
3377
+ isScopedLiveboardFilteringEnabled?: boolean;
3062
3378
  /**
3063
3379
  * This flag is used to enable or disable the link parameters in liveboard.
3064
3380
  *
@@ -3438,7 +3754,7 @@ export declare enum EmbedEvent {
3438
3754
  * @returns nonFilteredColumns - The columns that were not filtered
3439
3755
  * @example
3440
3756
  * ```js
3441
- * searchEmbed.on(EmbedEvent.DrillDown, {
3757
+ * searchEmbed.on(EmbedEvent.Drilldown, {
3442
3758
  * points: {
3443
3759
  * clickedPoint,
3444
3760
  * selectedPoints: selectedPoint
@@ -3499,7 +3815,7 @@ export declare enum EmbedEvent {
3499
3815
  * @version SDK: 1.1.0 | ThoughtSpot: ts7.may.cl, 8.4.1.sw
3500
3816
  * @example
3501
3817
  * ```js
3502
- * appEmbed.on(EmbedEvent.customAction, payload => {
3818
+ * appEmbed.on(EmbedEvent.CustomAction, payload => {
3503
3819
  * const data = payload.data;
3504
3820
  * if (data.id === 'insert Custom Action ID here') {
3505
3821
  * console.log('Custom Action event:', data.embedAnswerData);
@@ -3765,8 +4081,8 @@ export declare enum EmbedEvent {
3765
4081
  *
3766
4082
  * **Note**: This event is deprecated in v1.21.0.
3767
4083
  * To fire an event when a download action is initiated on a chart or table,
3768
- * use `EmbedEvent.DownloadAsPng`, `EmbedEvent.DownloadAsPDF`,
3769
- * `EmbedEvent.DownloadAsCSV`, or `EmbedEvent.DownloadAsXLSX`
4084
+ * use `EmbedEvent.DownloadAsPng`, `EmbedEvent.DownloadAsPdf`,
4085
+ * `EmbedEvent.DownloadAsCsv`, or `EmbedEvent.DownloadAsXlsx`
3770
4086
  * @version SDK: 1.11.0 | ThoughtSpot: 8.3.0.cl, 8.4.1.sw
3771
4087
  * @example
3772
4088
  * ```js
@@ -3816,10 +4132,10 @@ export declare enum EmbedEvent {
3816
4132
  * @example
3817
4133
  * ```js
3818
4134
  * //emit when action starts
3819
- * searchEmbed.on(EmbedEvent.DownloadAsCSV, payload => {
4135
+ * searchEmbed.on(EmbedEvent.DownloadAsCsv, payload => {
3820
4136
  * console.log('download CSV', payload)}, {start: true })
3821
4137
  * //emit when action ends
3822
- * searchEmbed.on(EmbedEvent.DownloadAsCSV, payload => {
4138
+ * searchEmbed.on(EmbedEvent.DownloadAsCsv, payload => {
3823
4139
  * console.log('download CSV', payload)})
3824
4140
  * ```
3825
4141
  */
@@ -4218,11 +4534,19 @@ export declare enum EmbedEvent {
4218
4534
  * Emitted when a user changes any filter on a Liveboard.
4219
4535
  * Returns filter type and name, column name and ID, and runtime
4220
4536
  * filter details.
4537
+ * The payload includes an optional `applicability` attribute indicating the
4538
+ * scope of the changed filter. It contains a `level` (`LIVEBOARD`,
4539
+ * `TAB`, or `GROUP`) and, when `level` is `TAB` or `GROUP`, a
4540
+ * `targetId` with the GUID of the target. At `LIVEBOARD` level there
4541
+ * is no `targetId`, since the filter applies to the whole Liveboard.
4542
+ * The `applicability` attribute is available from SDK: 1.53.0 |
4543
+ * ThoughtSpot: 26.10.0.cl.
4221
4544
  * @example
4222
4545
  *
4223
4546
  * ```js
4224
4547
  * LiveboardEmbed.on(EmbedEvent.FilterChanged, (payload) => {
4225
4548
  * console.log('payload', payload);
4549
+ * // payload.data optionally includes applicability: { level, targetId }
4226
4550
  * })
4227
4551
  * ```
4228
4552
  * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl, 9.5.0.sw
@@ -4414,9 +4738,17 @@ export declare enum EmbedEvent {
4414
4738
  /**
4415
4739
  * Emitted when parameter changes in an Answer
4416
4740
  * or Liveboard.
4741
+ * The payload includes an optional `applicability` attribute indicating the
4742
+ * scope of the changed parameter. It contains a `level` (`LIVEBOARD`,
4743
+ * `TAB`, or `GROUP`) and, when `level` is `TAB` or `GROUP`, a
4744
+ * `targetId` with the GUID of the target. At `LIVEBOARD` level there
4745
+ * is no `targetId`, since the parameter applies to the whole Liveboard.
4746
+ * The `applicability` attribute is available from SDK: 1.53.0 |
4747
+ * ThoughtSpot: 26.10.0.cl.
4417
4748
  * ```js
4418
4749
  * liveboardEmbed.on(EmbedEvent.ParameterChanged, (payload) => {
4419
4750
  * console.log('payload', payload);
4751
+ * // payload.data optionally includes applicability: { level, targetId }
4420
4752
  * })
4421
4753
  * ```
4422
4754
  * @version SDK: 1.29.0 | ThoughtSpot: 10.3.0.cl
@@ -4718,6 +5050,158 @@ export declare enum EmbedEvent {
4718
5050
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
4719
5051
  */
4720
5052
  SpotterConversationDeleted = "spotterConversationDeleted",
5053
+ /**
5054
+ * Emitted when the header Share button is clicked. Fires `Start` then `End`
5055
+ * to bracket the interaction. App→host counterpart of the
5056
+ * `ShareSpotterConversation` host event (user-driven vs programmatic open).
5057
+ * @example
5058
+ * ```js
5059
+ * spotterEmbed.on(EmbedEvent.SpotterShareConversationButtonHeaderClicked, (payload) => {
5060
+ * // payload: { convId: string }
5061
+ * })
5062
+ * ```
5063
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5064
+ */
5065
+ SpotterShareConversationButtonHeaderClicked = "spotterShareConversationButtonHeaderClicked",
5066
+ /**
5067
+ * Emitted when the sidebar Share item is clicked. Fires `Start` then `End`
5068
+ * to bracket the interaction.
5069
+ * @example
5070
+ * ```js
5071
+ * spotterEmbed.on(EmbedEvent.SpotterShareConversationMenuItemSidebarClicked, (payload) => {
5072
+ * // payload: { convId: string }
5073
+ * })
5074
+ * ```
5075
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5076
+ */
5077
+ SpotterShareConversationMenuItemSidebarClicked = "spotterShareConversationMenuItemSidebarClicked",
5078
+ /**
5079
+ * Emitted when a Spotter conversation is shared (recipients added, or a new
5080
+ * share created). The host builds its own link from shareId/convId + its
5081
+ * configured CONVERSATION_URL — no link string is sent. Distinct from
5082
+ * `SpotterShareModalConfirmButtonClicked`, which fires at click time before
5083
+ * the save resolves.
5084
+ * @example
5085
+ * ```js
5086
+ * spotterEmbed.on(EmbedEvent.SpotterConversationShared, (payload) => {
5087
+ * // payload: { convId: string, shareId: string,
5088
+ * // recipientsAdded: string[], recipientsRemoved: string[] }
5089
+ * })
5090
+ * ```
5091
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5092
+ */
5093
+ SpotterConversationShared = "spotterConversationShared",
5094
+ /**
5095
+ * Emitted when access to a shared Spotter conversation is revoked
5096
+ * (recipients removed). `fullyRevoked` is true when the last sharee is removed
5097
+ * and the share is deleted entirely.
5098
+ * @example
5099
+ * ```js
5100
+ * spotterEmbed.on(EmbedEvent.SpotterConversationShareRevoked, (payload) => {
5101
+ * // payload: { convId: string, shareId: string,
5102
+ * // recipientsRemoved: string[], fullyRevoked: boolean }
5103
+ * })
5104
+ * ```
5105
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5106
+ */
5107
+ SpotterConversationShareRevoked = "spotterConversationShareRevoked",
5108
+ /**
5109
+ * Emitted when a recipient opens a shared Spotter conversation (read-only
5110
+ * view). No shareId available viewer-side.
5111
+ * @example
5112
+ * ```js
5113
+ * spotterEmbed.on(EmbedEvent.SpotterSharedConversationViewed, (payload) => {
5114
+ * // payload: { convId: string, sourceConvId: string }
5115
+ * // convId = resolved snapshot conv id; sourceConvId = the shared URL id
5116
+ * })
5117
+ * ```
5118
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5119
+ */
5120
+ SpotterSharedConversationViewed = "spotterSharedConversationViewed",
5121
+ /**
5122
+ * Emitted when the user toggles the share-modal "include new messages since
5123
+ * last shared version" checkbox.
5124
+ * @example
5125
+ * ```js
5126
+ * spotterEmbed.on(EmbedEvent.SpotterShareIncludeNewMessagesCheckboxToggled, (payload) => {
5127
+ * // payload: { convId: string, includeNewMessages: boolean }
5128
+ * })
5129
+ * ```
5130
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5131
+ */
5132
+ SpotterShareIncludeNewMessagesCheckboxToggled = "spotterShareIncludeNewMessagesCheckboxToggled",
5133
+ /**
5134
+ * Emitted when the user dismisses the stale-snapshot info banner via its
5135
+ * cross (distinct from the include-new-messages checkbox toggle).
5136
+ * @example
5137
+ * ```js
5138
+ * spotterEmbed.on(EmbedEvent.SpotterShareStaleInfoBannerDismissed, (payload) => {
5139
+ * // payload: { convId: string }
5140
+ * })
5141
+ * ```
5142
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5143
+ */
5144
+ SpotterShareStaleInfoBannerDismissed = "spotterShareStaleInfoBannerDismissed",
5145
+ /**
5146
+ * Emitted when the modal Share (confirm) button is clicked — fires at click
5147
+ * time, before the save resolves. Distinct from the `SpotterConversationShared`
5148
+ * / `SpotterConversationShareRevoked` result events.
5149
+ * @example
5150
+ * ```js
5151
+ * spotterEmbed.on(EmbedEvent.SpotterShareModalConfirmButtonClicked, (payload) => {
5152
+ * // payload: { convId: string }
5153
+ * })
5154
+ * ```
5155
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5156
+ */
5157
+ SpotterShareModalConfirmButtonClicked = "spotterShareModalConfirmButtonClicked",
5158
+ /**
5159
+ * Emitted when the share modal is dismissed via the Cancel button.
5160
+ * @example
5161
+ * ```js
5162
+ * spotterEmbed.on(EmbedEvent.SpotterShareModalCancelButtonClicked, (payload) => {
5163
+ * // payload: { convId: string }
5164
+ * })
5165
+ * ```
5166
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5167
+ */
5168
+ SpotterShareModalCancelButtonClicked = "spotterShareModalCancelButtonClicked",
5169
+ /**
5170
+ * Emitted when a recipient leaves the read-only shared view via the Exit
5171
+ * button.
5172
+ * @example
5173
+ * ```js
5174
+ * spotterEmbed.on(EmbedEvent.SpotterSharedConversationExitButtonClicked, (payload) => {
5175
+ * // payload: { convId: string }
5176
+ * })
5177
+ * ```
5178
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5179
+ */
5180
+ SpotterSharedConversationExitButtonClicked = "spotterSharedConversationExitButtonClicked",
5181
+ /**
5182
+ * Emitted when a Spotter conversation is pinned.
5183
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
5184
+ * @example
5185
+ * ```js
5186
+ * spotterEmbed.on(EmbedEvent.SpotterConversationPinned, (payload) => {
5187
+ * console.log('Conversation pinned', payload);
5188
+ * // payload: { conversationId: string, pinnedAt: string (ISO 8601) }
5189
+ * })
5190
+ * ```
5191
+ */
5192
+ SpotterConversationPinned = "spotterConversationPinned",
5193
+ /**
5194
+ * Emitted when a Spotter conversation is unpinned.
5195
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
5196
+ * @example
5197
+ * ```js
5198
+ * spotterEmbed.on(EmbedEvent.SpotterConversationUnpinned, (payload) => {
5199
+ * console.log('Conversation unpinned', payload);
5200
+ * // payload: { conversationId: string, unpinnedAt: string (ISO 8601) }
5201
+ * })
5202
+ * ```
5203
+ */
5204
+ SpotterConversationUnpinned = "spotterConversationUnpinned",
4721
5205
  /**
4722
5206
  * Emitted when a Spotter conversation is selected/clicked.
4723
5207
  * @example
@@ -4730,6 +5214,30 @@ export declare enum EmbedEvent {
4730
5214
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
4731
5215
  */
4732
5216
  SpotterConversationSelected = "spotterConversationSelected",
5217
+ /**
5218
+ * Emitted when the Spotter agent finishes streaming/rendering a response.
5219
+ * Includes the conversation and message identifiers so the host app can
5220
+ * fetch the full conversation history via the REST API if needed.
5221
+ *
5222
+ * The payload data has the shape `{ convId: string, messageId: string }`.
5223
+ *
5224
+ * Works with SpotterEmbed as well as AppEmbed (when Spotter is reached
5225
+ * inside the full application).
5226
+ * @example
5227
+ * ```js
5228
+ * spotterEmbed.on(EmbedEvent.SpotterResponseComplete, (payload) => {
5229
+ * console.log('Spotter response complete', payload);
5230
+ * })
5231
+ * ```
5232
+ * @example
5233
+ * ```js
5234
+ * appEmbed.on(EmbedEvent.SpotterResponseComplete, (payload) => {
5235
+ * console.log('Spotter response complete', payload);
5236
+ * })
5237
+ * ```
5238
+ * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.9.0.cl
5239
+ */
5240
+ SpotterResponseComplete = "spotterResponseComplete",
4733
5241
  /**
4734
5242
  * @hidden
4735
5243
  * Emitted when the auth token is about to get expired and needs to be refreshed.
@@ -5083,6 +5591,7 @@ export declare enum HostEvent {
5083
5591
  * const url = await appEmbed.trigger(HostEvent.GetIframeUrl, {}, ContextType.Answer);
5084
5592
  * console.log("iFrameURL", url);
5085
5593
  * ```
5594
+ * @returns iframeUrl - The URL currently loaded in the embedded iframe.
5086
5595
  * @version SDK: 1.35.0 | ThoughtSpot: 10.4.0.cl
5087
5596
  */
5088
5597
  GetIframeUrl = "GetIframeUrl",
@@ -5209,6 +5718,17 @@ export declare enum HostEvent {
5209
5718
  * name: string,
5210
5719
  * type: ATTRIBUTE/MEASURE,
5211
5720
  * dataType: INT64/CHAR/DATE }
5721
+ *
5722
+ * `applicability` - Optional. Scopes the filter to a specific target,
5723
+ * for example, a single Liveboard tab, so the panel for the correct
5724
+ * scoped filter is opened. Available from SDK: 1.53.0 |
5725
+ * ThoughtSpot: 26.10.0.cl. Includes the following attributes:
5726
+ *
5727
+ * - `level`: The scope of the filter: `LIVEBOARD`, `TAB`, or `GROUP`.
5728
+ * - `targetId`: The GUID of the target, for example, the tab GUID.
5729
+ * Required when `level` is `TAB` or `GROUP`. Do not pass it when
5730
+ * `level` is `LIVEBOARD`, since the filter applies to the whole
5731
+ * Liveboard. Omitting `applicability` targets the `LIVEBOARD` level.
5212
5732
  * @example
5213
5733
  * ```js
5214
5734
  * searchEmbed.trigger(HostEvent.OpenFilter,
@@ -5221,6 +5741,14 @@ export declare enum HostEvent {
5221
5741
  * ```
5222
5742
  * @example
5223
5743
  * ```js
5744
+ * // Open a filter scoped to a specific Liveboard tab
5745
+ * liveboardEmbed.trigger(HostEvent.OpenFilter, {
5746
+ * column: { columnId: '<column-GUID>' },
5747
+ * applicability: { level: 'TAB', targetId: '<tab-GUID>' }
5748
+ * });
5749
+ * ```
5750
+ * @example
5751
+ * ```js
5224
5752
  * // Open filter from search context
5225
5753
  * import { ContextType } from '@thoughtspot/visual-embed-sdk';
5226
5754
  * searchEmbed.trigger(HostEvent.OpenFilter, {
@@ -5231,29 +5759,96 @@ export declare enum HostEvent {
5231
5759
  */
5232
5760
  OpenFilter = "openFilter",
5233
5761
  /**
5234
- * Add columns to the current search query.
5235
- * @param - { columnIds: string[] }
5762
+ * Open the add-filter modal of a Liveboard, the same dialog that the
5763
+ * *Add filter* button in the Liveboard edit header opens, so the host
5764
+ * app can start the add-filter flow from its own UI.
5765
+ *
5766
+ * The Liveboard must be in edit mode; the event is ignored otherwise.
5767
+ * Hiding the *Add filter* button with `hiddenActions:
5768
+ * [Action.AddFilter]` does not block this event, but disabling it with
5769
+ * `disabledActions` does.
5770
+ *
5771
+ * Unlike {@link HostEvent.OpenFilter}, which opens the panel of an
5772
+ * existing filter, this event starts the creation of a new filter.
5773
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
5236
5774
  * @example
5237
5775
  * ```js
5238
- * searchEmbed.trigger(HostEvent.AddColumns, { columnIds: ['<column-GUID>','<column-GUID>'] })
5776
+ * liveboardEmbed.trigger(HostEvent.OpenAddFilterModal);
5239
5777
  * ```
5778
+ */
5779
+ OpenAddFilterModal = "openAddFilterModal",
5780
+ /**
5781
+ * Open the add-parameter panel of a Liveboard, the same panel that the
5782
+ * *Add parameter* button in the Liveboard edit header opens.
5783
+ * Mirrors {@link HostEvent.OpenAddFilterModal} for parameters.
5784
+ *
5785
+ * The Liveboard must be in edit mode; the event is ignored otherwise.
5786
+ * Hiding the *Add parameter* button with `hiddenActions:
5787
+ * [Action.AddParameter]` does not block this event, but disabling it
5788
+ * with `disabledActions` does.
5789
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
5240
5790
  * @example
5241
5791
  * ```js
5242
- * // Add columns from search context
5243
- * import { ContextType } from '@thoughtspot/visual-embed-sdk';
5244
- * searchEmbed.trigger(HostEvent.AddColumns, {
5245
- * columnIds: ['col-guid-1', 'col-guid-2']
5246
- * }, ContextType.Search);
5792
+ * liveboardEmbed.trigger(HostEvent.OpenAddParameterModal);
5247
5793
  * ```
5248
- * @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl
5249
5794
  */
5250
- AddColumns = "addColumns",
5795
+ OpenAddParameterModal = "openAddParameterModal",
5251
5796
  /**
5252
- * Remove a column from the current search query.
5253
- * @param - { columnId: string }
5797
+ * Open the parameter panel for a particular parameter on a Liveboard.
5798
+ * Mirrors {@link HostEvent.OpenFilter} for parameters.
5799
+ * @param - Includes the following keys:
5800
+ * - `parameter`: An object identifying the parameter to open, for
5801
+ * example, `{ parameterId: '<parameter-GUID>' }`.
5802
+ * - `applicability`: Optional. Scopes the parameter to a specific target,
5803
+ * for example, a single Liveboard tab, so the panel for the correct
5804
+ * scoped parameter is opened. Includes the following attributes:
5805
+ *
5806
+ * - `level`: The scope of the parameter: `LIVEBOARD`, `TAB`, or `GROUP`.
5807
+ * - `targetId`: The GUID of the target, for example, the tab GUID.
5808
+ * Required when `level` is `TAB` or `GROUP`. Do not pass it when
5809
+ * `level` is `LIVEBOARD`, since the parameter applies to the whole
5810
+ * Liveboard. Omitting `applicability` targets the `LIVEBOARD` level.
5254
5811
  * @example
5255
5812
  * ```js
5256
- * searchEmbed.trigger(HostEvent.RemoveColumn, { columnId: '<column-Guid>' })
5813
+ * liveboardEmbed.trigger(HostEvent.OpenParameter, {
5814
+ * parameter: { parameterId: '<parameter-GUID>' }
5815
+ * });
5816
+ * ```
5817
+ * @example
5818
+ * ```js
5819
+ * // Open a parameter scoped to a specific group
5820
+ * liveboardEmbed.trigger(HostEvent.OpenParameter, {
5821
+ * parameter: { parameterId: '<parameter-GUID>' },
5822
+ * applicability: { level: 'GROUP', targetId: '<group-GUID>' }
5823
+ * });
5824
+ * ```
5825
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
5826
+ */
5827
+ OpenParameter = "openParameter",
5828
+ /**
5829
+ * Add columns to the current search query.
5830
+ * @param - { columnIds: string[] }
5831
+ * @example
5832
+ * ```js
5833
+ * searchEmbed.trigger(HostEvent.AddColumns, { columnIds: ['<column-GUID>','<column-GUID>'] })
5834
+ * ```
5835
+ * @example
5836
+ * ```js
5837
+ * // Add columns from search context
5838
+ * import { ContextType } from '@thoughtspot/visual-embed-sdk';
5839
+ * searchEmbed.trigger(HostEvent.AddColumns, {
5840
+ * columnIds: ['col-guid-1', 'col-guid-2']
5841
+ * }, ContextType.Search);
5842
+ * ```
5843
+ * @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl
5844
+ */
5845
+ AddColumns = "addColumns",
5846
+ /**
5847
+ * Remove a column from the current search query.
5848
+ * @param - { columnId: string }
5849
+ * @example
5850
+ * ```js
5851
+ * searchEmbed.trigger(HostEvent.RemoveColumn, { columnId: '<column-Guid>' })
5257
5852
  * ```
5258
5853
  * @example
5259
5854
  * ```js
@@ -5279,6 +5874,10 @@ export declare enum HostEvent {
5279
5874
  * liveboardEmbed.trigger(HostEvent.getExportRequestForCurrentPinboard).then(
5280
5875
  * data=>console.log(data))
5281
5876
  * ```
5877
+ * @returns data - Object with a `v2Content` string: the export request
5878
+ * payload for the current Liveboard.
5879
+ * @returns type - The passthrough event name,
5880
+ * `getExportRequestForCurrentPinboard`.
5282
5881
  * @version SDK: 1.13.0 | ThoughtSpot: 8.5.0.cl, 8.8.1.sw
5283
5882
  */
5284
5883
  getExportRequestForCurrentPinboard = "getExportRequestForCurrentPinboard",
@@ -5381,6 +5980,9 @@ export declare enum HostEvent {
5381
5980
  * }, ContextType.Spotter);
5382
5981
  * ```
5383
5982
  *
5983
+ * @returns liveboardId - GUID of the Liveboard the Answer was pinned to.
5984
+ * @returns tabId - GUID of the tab within that Liveboard.
5985
+ * @returns vizId - GUID of the newly created visualization.
5384
5986
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
5385
5987
  */
5386
5988
  Pin = "pin",
@@ -5419,13 +6021,13 @@ export declare enum HostEvent {
5419
6021
  * Trigger the **Manage schedule** action on an embedded Liveboard
5420
6022
  * @example
5421
6023
  * ```js
5422
- * liveboardEmbed.trigger(HostEvent.ScheduleList)
6024
+ * liveboardEmbed.trigger(HostEvent.SchedulesList)
5423
6025
  * ```
5424
6026
  * @example
5425
6027
  * ```js
5426
6028
  * // Manage schedules from liveboard context
5427
6029
  * import { ContextType } from '@thoughtspot/visual-embed-sdk';
5428
- * liveboardEmbed.trigger(HostEvent.ScheduleList, {}, ContextType.Liveboard);
6030
+ * liveboardEmbed.trigger(HostEvent.SchedulesList, {}, ContextType.Liveboard);
5429
6031
  * ```
5430
6032
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
5431
6033
  */
@@ -5870,6 +6472,7 @@ export declare enum HostEvent {
5870
6472
  * console.log(tml.answer);
5871
6473
  * });
5872
6474
  * ```
6475
+ * @returns The TML representation of the current Answer, as an object.
5873
6476
  * @version SDK: 1.18.0 | ThoughtSpot: 8.10.0.cl, 9.0.1.sw
5874
6477
  * @important
5875
6478
  */
@@ -6293,6 +6896,14 @@ export declare enum HostEvent {
6293
6896
  /**
6294
6897
  * Get details of filters applied on the Liveboard.
6295
6898
  * Returns arrays containing Liveboard filter and runtime filter elements.
6899
+ * Each Liveboard filter includes an optional `applicability` attribute
6900
+ * indicating the scope of the filter. It contains a `level`
6901
+ * (`LIVEBOARD`, `TAB`, or `GROUP`) and, when `level` is `TAB` or
6902
+ * `GROUP`, a `targetId` with the GUID of the target. At `LIVEBOARD`
6903
+ * level there is no `targetId`, since the filter applies to the
6904
+ * whole Liveboard.
6905
+ * The `applicability` attribute is available from SDK: 1.53.0 |
6906
+ * ThoughtSpot: 26.10.0.cl.
6296
6907
  * @example
6297
6908
  * ```js
6298
6909
  * const data = await liveboardEmbed.trigger(HostEvent.GetFilters);
@@ -6305,6 +6916,8 @@ export declare enum HostEvent {
6305
6916
  * const data = await liveboardEmbed.trigger(HostEvent.GetFilters, {}, ContextType.Liveboard);
6306
6917
  * console.log('filters', data);
6307
6918
  * ```
6919
+ * @returns liveboardFilters - Filters applied on the Liveboard.
6920
+ * @returns runtimeFilters - Runtime filters applied on the Liveboard.
6308
6921
  * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
6309
6922
  */
6310
6923
  GetFilters = "getFilters",
@@ -6332,6 +6945,16 @@ export declare enum HostEvent {
6332
6945
  *
6333
6946
  * `type` - To update filters for date time, specify the date format type.
6334
6947
  * For more information and examples, see link:https://developers.thoughtspot.com/docs/embed-liveboard#_date_filters[Date filters].
6948
+ *
6949
+ * `applicability` - Optional. Scopes the filter to a specific target,
6950
+ * for example, a single Liveboard tab. Available from SDK: 1.53.0 |
6951
+ * ThoughtSpot: 26.10.0.cl. Includes the following attributes:
6952
+ *
6953
+ * - `level`: The scope of the filter: `LIVEBOARD`, `TAB`, or `GROUP`.
6954
+ * - `targetId`: The GUID of the target, for example, the tab GUID.
6955
+ * Required when `level` is `TAB` or `GROUP`. Do not pass it when
6956
+ * `level` is `LIVEBOARD`, since the filter applies to the whole
6957
+ * Liveboard.
6335
6958
  * @example
6336
6959
  * ```js
6337
6960
  *
@@ -6408,6 +7031,21 @@ export declare enum HostEvent {
6408
7031
  * }
6409
7032
  * }, ContextType.Liveboard);
6410
7033
  * ```
7034
+ * @example
7035
+ * ```js
7036
+ * // Scope the filter to a specific Liveboard tab
7037
+ * liveboardEmbed.trigger(HostEvent.UpdateFilters, {
7038
+ * filter: {
7039
+ * column: "item type",
7040
+ * oper: "IN",
7041
+ * values: ["bags", "shirts"],
7042
+ * applicability: {
7043
+ * level: "TAB",
7044
+ * targetId: "e0836cad-4fdf-42d4-bd97-567a6b2a6058"
7045
+ * }
7046
+ * }
7047
+ * });
7048
+ * ```
6411
7049
  * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
6412
7050
  */
6413
7051
  UpdateFilters = "updateFilters",
@@ -6429,9 +7067,37 @@ export declare enum HostEvent {
6429
7067
  * console.log('tabs', tabDetails);
6430
7068
  * });
6431
7069
  * ```
7070
+ * @returns orderedTabIds - Tab GUIDs in the order they appear.
7071
+ * @returns numberOfTabs - Total number of tabs on the Liveboard.
7072
+ * @returns Tabs - Tab details, each with at least `id` and `name`.
6432
7073
  * @version SDK: 1.26.0 | ThoughtSpot: 9.7.0.cl
6433
7074
  */
6434
7075
  GetTabs = "getTabs",
7076
+ /**
7077
+ * Get group details for the current Liveboard.
7078
+ * Mirrors {@link HostEvent.GetTabs} for filter/parameter groups.
7079
+ * @example
7080
+ * ```js
7081
+ * liveboardEmbed.trigger(HostEvent.GetGroups).then((groupDetails) => {
7082
+ * console.log(
7083
+ * groupDetails // GroupDetails of current Liveboard
7084
+ * );
7085
+ * })
7086
+ * ```
7087
+ * @example
7088
+ * ```js
7089
+ * // Get groups from liveboard context
7090
+ * import { ContextType } from '@thoughtspot/visual-embed-sdk';
7091
+ * liveboardEmbed.trigger(HostEvent.GetGroups, {}, ContextType.Liveboard).then((groupDetails) => {
7092
+ * console.log('groups', groupDetails);
7093
+ * });
7094
+ * ```
7095
+ * @returns orderedGroupIds - Group GUIDs in the order they appear.
7096
+ * @returns numberOfGroups - Total number of groups on the Liveboard.
7097
+ * @returns Groups - Group details, each with at least `id` and `name`.
7098
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
7099
+ */
7100
+ GetGroups = "getGroups",
6435
7101
  /**
6436
7102
  * Set the visible tabs on a Liveboard.
6437
7103
  * @param - an array of ids of tabs to show, the IDs not passed
@@ -6503,6 +7169,9 @@ export declare enum HostEvent {
6503
7169
  * // Alternative direct usage (not recommended)
6504
7170
  * const {session} = await embed.trigger( HostEvent.GetAnswerSession )
6505
7171
  * ```
7172
+ * @returns session - Session identifier for the Answer, for use with the
7173
+ * `AnswerService`.
7174
+ * @returns embedAnswerData - Data backing the Answer, when available.
6506
7175
  * @version SDK: 1.26.0 | ThoughtSpot: 9.10.0.cl, 10.1.0.sw
6507
7176
  */
6508
7177
  GetAnswerSession = "getAnswerSession",
@@ -6559,6 +7228,15 @@ export declare enum HostEvent {
6559
7228
  * - `name`: Name of the parameter.
6560
7229
  * - `value`: The value to set for the parameter.
6561
7230
  * - `isVisibleToUser`: Optional. To control the visibility of the parameter chip.
7231
+ * - `applicability`: Optional. Scopes the parameter to a specific target,
7232
+ * for example, a single Liveboard tab. Available from SDK: 1.53.0 |
7233
+ * ThoughtSpot: 26.10.0.cl. Includes the following attributes:
7234
+ *
7235
+ * - `level`: The scope of the parameter: `LIVEBOARD`, `TAB`, or `GROUP`.
7236
+ * - `targetId`: The GUID of the target, for example, the tab GUID.
7237
+ * Required when `level` is `TAB` or `GROUP`. Do not pass it when
7238
+ * `level` is `LIVEBOARD`, since the parameter applies to the whole
7239
+ * Liveboard.
6562
7240
  *
6563
7241
  * @example
6564
7242
  * ```js
@@ -6570,6 +7248,18 @@ export declare enum HostEvent {
6570
7248
  * ```
6571
7249
  * @example
6572
7250
  * ```js
7251
+ * // Scope the parameter to a specific Liveboard tab
7252
+ * liveboardEmbed.trigger(HostEvent.UpdateParameters, [{
7253
+ * name: "Integer Range Param",
7254
+ * value: 10,
7255
+ * applicability: {
7256
+ * level: "TAB",
7257
+ * targetId: "e0836cad-4fdf-42d4-bd97-567a6b2a6058"
7258
+ * }
7259
+ * }])
7260
+ * ```
7261
+ * @example
7262
+ * ```js
6573
7263
  * // Update parameters from liveboard context
6574
7264
  * import { ContextType } from '@thoughtspot/visual-embed-sdk';
6575
7265
  * liveboardEmbed.trigger(HostEvent.UpdateParameters, [{
@@ -6583,6 +7273,14 @@ export declare enum HostEvent {
6583
7273
  UpdateParameters = "UpdateParameters",
6584
7274
  /**
6585
7275
  * Triggers GetParameters to fetch the runtime Parameters.
7276
+ * Each parameter includes an optional `applicability` attribute
7277
+ * indicating the scope of the parameter. It contains a `level`
7278
+ * (`LIVEBOARD`, `TAB`, or `GROUP`) and, when `level` is `TAB` or
7279
+ * `GROUP`, a `targetId` with the GUID of the target. At `LIVEBOARD`
7280
+ * level there is no `targetId`, since the parameter applies to the
7281
+ * whole Liveboard.
7282
+ * The `applicability` attribute is available from SDK: 1.53.0 |
7283
+ * ThoughtSpot: 26.10.0.cl.
6586
7284
  * @param - `vizId` refers to the Answer ID in Spotter embed and is required in Spotter embed.
6587
7285
  * ```js
6588
7286
  * liveboardEmbed.trigger(HostEvent.GetParameters).then((parameter) => {
@@ -6607,12 +7305,16 @@ export declare enum HostEvent {
6607
7305
  * console.log('parameters', parameters);
6608
7306
  * });
6609
7307
  * ```
7308
+ * @returns parameters - Parameters currently applied on the Liveboard.
6610
7309
  * @version SDK: 1.29.0 | ThoughtSpot: 10.1.0.cl, 10.1.0.sw
6611
7310
  */
6612
7311
  GetParameters = "GetParameters",
6613
7312
  /**
6614
7313
  * Triggers an event to update a personalized view of a Liveboard.
6615
- * This event is deprecated. Use {@link HostEvent.UpdatePersonalizedView} instead.
7314
+ * This event is deprecated. Use {@link HostEvent.SelectPersonalizedView} instead,
7315
+ * which additionally accepts a `viewName`, resets to the original view when
7316
+ * called with an empty payload, and reports an error when a named view
7317
+ * cannot be found.
6616
7318
  * ```js
6617
7319
  * liveboardEmbed.trigger(HostEvent.UpdatePersonalisedView, {viewId: '1234'})
6618
7320
  * ```
@@ -6630,10 +7332,15 @@ export declare enum HostEvent {
6630
7332
  UpdatePersonalisedView = "UpdatePersonalisedView",
6631
7333
  /**
6632
7334
  * Triggers an event to update a personalized view of a Liveboard.
7335
+ * This event is deprecated. Use {@link HostEvent.SelectPersonalizedView} instead,
7336
+ * which additionally accepts a `viewName`, resets to the original view when
7337
+ * called with an empty payload, and reports an error when a named view
7338
+ * cannot be found.
6633
7339
  * ```js
6634
7340
  * liveboardEmbed.trigger(HostEvent.UpdatePersonalisedView, {viewId: '1234'})
6635
7341
  * ```
6636
7342
  * @version SDK: 1.48.0 | ThoughtSpot: 26.5.0.cl
7343
+ * @deprecated SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
6637
7344
  */
6638
7345
  UpdatePersonalizedView = "UpdatePersonalisedView",
6639
7346
  /**
@@ -6736,6 +7443,10 @@ export declare enum HostEvent {
6736
7443
  * description: "Generated from Spotter"
6737
7444
  * }, ContextType.Spotter);
6738
7445
  * ```
7446
+ * @returns answerId - GUID of the saved Answer.
7447
+ * @returns saveResponse - Raw response from the save operation.
7448
+ * @returns shareResponse - Raw response from the share operation, when the
7449
+ * Answer was also made discoverable.
6739
7450
  * @version SDK: 1.36.0 | ThoughtSpot: 10.6.0.cl
6740
7451
  */
6741
7452
  SaveAnswer = "saveAnswer",
@@ -6849,6 +7560,36 @@ export declare enum HostEvent {
6849
7560
  * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
6850
7561
  */
6851
7562
  ResetSpotterConversation = "ResetSpotterConversation",
7563
+ /**
7564
+ * Opens the Spotter share-conversation modal for the given conversation.
7565
+ * `conversationId` is **mandatory** — you must pass the id of the
7566
+ * conversation to share. Also no-op when sharing is disabled
7567
+ * (enableShareConversation off) or when already in the read-only shared view.
7568
+ * @example
7569
+ * ```js
7570
+ * spotterEmbed.trigger(HostEvent.ShareSpotterConversation, { conversationId: 'abc' });
7571
+ * ```
7572
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
7573
+ */
7574
+ ShareSpotterConversation = "ShareSpotterConversation",
7575
+ /**
7576
+ * Closes the Spotter share-conversation modal. No-op if none is open.
7577
+ * @example
7578
+ * ```js
7579
+ * spotterEmbed.trigger(HostEvent.CloseSpotterShareConversation);
7580
+ * ```
7581
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
7582
+ */
7583
+ CloseSpotterShareConversation = "CloseSpotterShareConversation",
7584
+ /**
7585
+ * Exits the read-only shared-conversation view.
7586
+ * @example
7587
+ * ```js
7588
+ * spotterEmbed.trigger(HostEvent.ExitSpotterSharedConversation);
7589
+ * ```
7590
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
7591
+ */
7592
+ ExitSpotterSharedConversation = "ExitSpotterSharedConversation",
6852
7593
  /**
6853
7594
  * Deletes the last prompt in spotter embed.
6854
7595
  * @example
@@ -6944,6 +7685,41 @@ export declare enum HostEvent {
6944
7685
  * @version SDK: 1.45.0 | ThoughtSpot: 26.2.0.cl
6945
7686
  */
6946
7687
  StartNewSpotterConversation = "StartNewSpotterConversation",
7688
+ /**
7689
+ * Pins a saved Spotter conversation so it floats to the top of the past
7690
+ * conversations sidebar. The `conversationId` of the conversation to pin is
7691
+ * required.
7692
+ *
7693
+ * This feature is available only when chat history is enabled on your ThoughtSpot
7694
+ * instance. Contact your admin or ThoughtSpot Support to enable chat history on your
7695
+ * instance.
7696
+ *
7697
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
7698
+ * @example
7699
+ * ```js
7700
+ * spotterEmbed.trigger(HostEvent.PinSpotterConversation, {
7701
+ * conversationId: '<conversation-id>',
7702
+ * });
7703
+ * ```
7704
+ */
7705
+ PinSpotterConversation = "PinSpotterConversation",
7706
+ /**
7707
+ * Unpins a previously pinned Spotter conversation. The `conversationId` of the
7708
+ * conversation to unpin is required.
7709
+ *
7710
+ * This feature is available only when chat history is enabled on your ThoughtSpot
7711
+ * instance. Contact your admin or ThoughtSpot Support to enable chat history on your
7712
+ * instance.
7713
+ *
7714
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
7715
+ * @example
7716
+ * ```js
7717
+ * spotterEmbed.trigger(HostEvent.UnpinSpotterConversation, {
7718
+ * conversationId: '<conversation-id>',
7719
+ * });
7720
+ * ```
7721
+ */
7722
+ UnpinSpotterConversation = "UnpinSpotterConversation",
6947
7723
  /**
6948
7724
  * @hidden
6949
7725
  * Get the current context of the embedded page.
@@ -7054,9 +7830,10 @@ export type SpotterFileUploadFileTypes = {
7054
7830
  * ThoughtSpot application pages include actions and menu commands
7055
7831
  * for various user-initiated operations. These actions are represented
7056
7832
  * as enumeration members in the SDK. To control actions in the embedded view:
7057
- * - disabledActions — the action is grayed out and still visible, but non-interactive (user can see but not click).
7058
- * - hiddenActions — the action is completely removed from the UI (user cannot see it at all).
7059
- * - visibleActions — allowlist, only these actions are shown; all others are hidden.
7833
+ * - disabledActions — the action is grayed out and still visible, but non-interactive
7834
+ * (user can see but not click). - hiddenActions — the action is completely removed from
7835
+ * the UI (user cannot see it at all). - visibleActions — allowlist, only these actions
7836
+ * are shown; all others are hidden.
7060
7837
  *
7061
7838
  * Use disabledActions to disable (gray out) an action.
7062
7839
  * Use hiddenActions to hide (fully remove) an action.
@@ -7109,6 +7886,17 @@ export declare enum Action {
7109
7886
  * ```
7110
7887
  */
7111
7888
  SaveAsView = "saveAsView",
7889
+ /**
7890
+ * The **EditInputTable** action on a Liveboard
7891
+ * page. Allows users to edit an input table used in an Answer directly from
7892
+ * a Liveboard.
7893
+ * @example
7894
+ * ```js
7895
+ * disabledActions: [Action.EditInputTable]
7896
+ * ```
7897
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
7898
+ */
7899
+ EditInputTable = "editInputTable",
7112
7900
  /**
7113
7901
  * The **Make a copy** action on a Liveboard or Answer
7114
7902
  * page. Creates a copy of the Liveboard.
@@ -8310,6 +9098,19 @@ export declare enum Action {
8310
9098
  * @version SDK: 1.36.0 | ThoughtSpot Cloud: 10.6.0.cl
8311
9099
  */
8312
9100
  ChangeFilterVisibilityInTab = "changeFilterVisibilityInTab",
9101
+ /**
9102
+ * Action ID to show, hide, or disable all filter surfaces on a Liveboard,
9103
+ * including filter, parameter, and cross-filter chips at the liveboard,
9104
+ * tab, and group levels. Parameter and cross-filter chips are hide-only.
9105
+ *
9106
+ * @example
9107
+ * ```js
9108
+ * hiddenActions: [Action.AllLiveboardFilters]
9109
+ * disabledActions: [Action.AllLiveboardFilters]
9110
+ * ```
9111
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
9112
+ */
9113
+ AllLiveboardFilters = "allLiveboardFilters",
8313
9114
  /**
8314
9115
  * The **Data model instructions** button on the Spotter interface.
8315
9116
  * Allows opening the data model instructions modal.
@@ -8411,6 +9212,10 @@ export declare enum Action {
8411
9212
  * The **Add to Coaching** feature allows adding reference questions and
8412
9213
  * business terms to improve Spotter’s responses. This feature is generally available
8413
9214
  * (GA) from version 26.2.0.cl and enabled by default on embed deployments.
9215
+ *
9216
+ * This action governs both the answer-card **Add to memory** CTA and its
9217
+ * Spotter 3 successor, the response-footer **Remember this** CTA
9218
+ * (they are mutually exclusive).
8414
9219
  * @example
8415
9220
  * ```js
8416
9221
  * hiddenAction: [Action.InConversationTraining]
@@ -8645,6 +9450,89 @@ export declare enum Action {
8645
9450
  * @version SDK: 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl
8646
9451
  */
8647
9452
  SpotterChatRename = "spotterChatRename",
9453
+ /**
9454
+ * Controls visibility and disable state of the Spotter conversation Share
9455
+ * button in the chat header. Only takes effect once sharing is enabled
9456
+ * (enableShareConversation on).
9457
+ * @example
9458
+ * ```js
9459
+ * disabledActions: [Action.SpotterShareConversationButtonHeader]
9460
+ * ```
9461
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9462
+ */
9463
+ SpotterShareConversationButtonHeader = "spotterShareConversationButtonHeader",
9464
+ /**
9465
+ * Controls visibility and disable state of the Share item in the Spotter
9466
+ * conversation history (sidebar) edit menu. Independent of the header button
9467
+ * above, so a host can show Share in one entry point and hide it in the other.
9468
+ * @example
9469
+ * ```js
9470
+ * disabledActions: [Action.SpotterShareConversationMenuItemSidebar]
9471
+ * ```
9472
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9473
+ */
9474
+ SpotterShareConversationMenuItemSidebar = "spotterShareConversationMenuItemSidebar",
9475
+ /**
9476
+ * Controls visibility of the entire read-only shared-conversation data-access
9477
+ * banner shown when a recipient opens a shared view. Hide-only.
9478
+ * @example
9479
+ * ```js
9480
+ * hiddenActions: [Action.SpotterSharedConversationBanner]
9481
+ * ```
9482
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9483
+ */
9484
+ SpotterSharedConversationBanner = "spotterSharedConversationBanner",
9485
+ /**
9486
+ * Controls visibility and disable state of the cross/close button on the
9487
+ * read-only shared-conversation data-access banner (keeps the banner itself).
9488
+ * @example
9489
+ * ```js
9490
+ * hiddenActions: [Action.SpotterSharedConversationBannerDismissButton]
9491
+ * ```
9492
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9493
+ */
9494
+ SpotterSharedConversationBannerDismissButton = "spotterSharedConversationBannerDismissButton",
9495
+ /**
9496
+ * Controls visibility and disable state of the Exit button in the read-only
9497
+ * shared-view header. Hiding it does not disable the ExitSpotterSharedConversation
9498
+ * host event.
9499
+ * @example
9500
+ * ```js
9501
+ * hiddenActions: [Action.SpotterSharedConversationExitButton]
9502
+ * ```
9503
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9504
+ */
9505
+ SpotterSharedConversationExitButton = "spotterSharedConversationExitButton",
9506
+ /**
9507
+ * Controls visibility of the share-modal footer note ("Chat will be shared up
9508
+ * to the current moment…"). Hide-only.
9509
+ * @example
9510
+ * ```js
9511
+ * hiddenActions: [Action.SpotterShareUpToCurrentInfo]
9512
+ * ```
9513
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9514
+ */
9515
+ SpotterShareUpToCurrentInfo = "spotterShareUpToCurrentInfo",
9516
+ /**
9517
+ * Controls visibility and disable state of the share-modal "include new
9518
+ * messages since last shared version" checkbox.
9519
+ * @example
9520
+ * ```js
9521
+ * disabledActions: [Action.SpotterShareIncludeNewMessagesCheckbox]
9522
+ * ```
9523
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9524
+ */
9525
+ SpotterShareIncludeNewMessagesCheckbox = "spotterShareIncludeNewMessagesCheckbox",
9526
+ /**
9527
+ * Controls visibility and disable state of the cross on the share-modal
9528
+ * stale-snapshot info banner.
9529
+ * @example
9530
+ * ```js
9531
+ * hiddenActions: [Action.SpotterShareStaleInfoBannerDismissButton]
9532
+ * ```
9533
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9534
+ */
9535
+ SpotterShareStaleInfoBannerDismissButton = "spotterShareStaleInfoBannerDismissButton",
8648
9536
  /**
8649
9537
  * Controls visibility and disable state of the delete action
8650
9538
  * in the Spotter conversation edit menu.
@@ -8655,6 +9543,16 @@ export declare enum Action {
8655
9543
  * @version SDK: 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl
8656
9544
  */
8657
9545
  SpotterChatDelete = "spotterChatDelete",
9546
+ /**
9547
+ * Controls visibility and disable state of the pin/unpin action
9548
+ * in the Spotter conversation edit menu.
9549
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
9550
+ * @example
9551
+ * ```js
9552
+ * disabledActions: [Action.SpotterChatPin]
9553
+ * ```
9554
+ */
9555
+ SpotterChatPin = "spotterChatPin",
8658
9556
  /**
8659
9557
  * Controls visibility and disable state of the documentation/best practices
8660
9558
  * link in the Spotter sidebar footer.
@@ -8698,6 +9596,56 @@ export declare enum Action {
8698
9596
  * @version SDK: 1.48.0 | ThoughtSpot Cloud: 26.5.0.cl
8699
9597
  */
8700
9598
  SpotterChatModeSwitcher = "spotterChatModeSwitcher",
9599
+ /**
9600
+ * The **Basic Search** starter prompt pill.
9601
+ *
9602
+ * Starter prompt pills are the row of category buttons shown above the
9603
+ * Spotter chat input before a conversation starts. They give a new user
9604
+ * ready-made questions to click instead of typing one from scratch, and
9605
+ * disappear once the conversation begins. There are three, one per action
9606
+ * below.
9607
+ *
9608
+ * Clicking this pill opens a card of suggested simple questions; picking one
9609
+ * submits it to Spotter right away. Visible by default, and hidden along
9610
+ * with the other pills when the surface itself is off (see
9611
+ * {@link SpotterChatViewConfig.starterPrompts}).
9612
+ * @example
9613
+ * ```js
9614
+ * hiddenActions: [Action.QuickSearchPill]
9615
+ * ```
9616
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9617
+ */
9618
+ QuickSearchPill = "quickSearchPill",
9619
+ /**
9620
+ * The **Deep Analysis** starter prompt pill, next to
9621
+ * {@link Action.QuickSearchPill} above the Spotter chat input.
9622
+ *
9623
+ * Clicking it opens a card of suggested investigative questions ("why did
9624
+ * revenue drop?"). Picking one fills the chat input in Deep Analysis mode
9625
+ * rather than submitting immediately, so the user can edit it first.
9626
+ * Visible by default.
9627
+ * @example
9628
+ * ```js
9629
+ * hiddenActions: [Action.DeepAnalysisPill]
9630
+ * ```
9631
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9632
+ */
9633
+ DeepAnalysisPill = "deepAnalysisPill",
9634
+ /**
9635
+ * The **Data Literacy** starter prompt pill, next to
9636
+ * {@link Action.QuickSearchPill} above the Spotter chat input.
9637
+ *
9638
+ * Unlike the other two pills it opens no card: clicking it submits a prompt
9639
+ * that describes the data the model can answer over, helping a user who does
9640
+ * not yet know what is in the data source. The prompt text always comes from
9641
+ * ThoughtSpot, so only its label is customizable. Visible by default.
9642
+ * @example
9643
+ * ```js
9644
+ * hiddenActions: [Action.DataLiteracyPill]
9645
+ * ```
9646
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9647
+ */
9648
+ DataLiteracyPill = "dataLiteracyPill",
8701
9649
  /**
8702
9650
  * The **Include current period** checkbox for date filters.
8703
9651
  * Controls the visibility and availability of the option to include
@@ -8845,7 +9793,39 @@ export declare enum Action {
8845
9793
  * disabledActions: [Action.SpotterAnalystSidebar]
8846
9794
  * ```
8847
9795
  */
8848
- SpotterAnalystSidebar = "spotterAnalystSidebar"
9796
+ SpotterAnalystSidebar = "spotterAnalystSidebar",
9797
+ /**
9798
+ * Controls visibility and disable state of the analyst list
9799
+ * ("Show all") in the Spotter Analyst interface.
9800
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
9801
+ * @example
9802
+ * ```js
9803
+ * hiddenActions: [Action.SpotterAnalystList]
9804
+ * disabledActions: [Action.SpotterAnalystList]
9805
+ * ```
9806
+ */
9807
+ SpotterAnalystList = "spotterAnalystList",
9808
+ /**
9809
+ * Controls visibility and disable state of the default Spotter analyst
9810
+ * entry in the Spotter Analyst interface.
9811
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
9812
+ * @example
9813
+ * ```js
9814
+ * hiddenActions: [Action.SpotterDefaultAnalyst]
9815
+ * disabledActions: [Action.SpotterDefaultAnalyst]
9816
+ * ```
9817
+ */
9818
+ SpotterDefaultAnalyst = "spotterDefaultAnalyst",
9819
+ /**
9820
+ * The **Spotter** button in the Liveboard header.
9821
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
9822
+ * @example
9823
+ * ```js
9824
+ * hiddenActions: [Action.SpotterOnLiveboard]
9825
+ * disabledActions: [Action.SpotterOnLiveboard]
9826
+ * ```
9827
+ */
9828
+ SpotterOnLiveboard = "spotterOnLiveboard"
8849
9829
  }
8850
9830
  export declare enum PrefetchFeatures {
8851
9831
  FullApp = "FullApp",
@@ -9090,7 +10070,9 @@ declare enum EmbedErrorCodes {
9090
10070
  /** UpdateFilters payload is invalid - missing or malformed filter/filters */
9091
10071
  UPDATEFILTERS_INVALID_PAYLOAD = "UPDATEFILTERS_INVALID_PAYLOAD",
9092
10072
  /** DrillDown payload is invalid - missing or malformed points */
9093
- DRILLDOWN_INVALID_PAYLOAD = "DRILLDOWN_INVALID_PAYLOAD"
10073
+ DRILLDOWN_INVALID_PAYLOAD = "DRILLDOWN_INVALID_PAYLOAD",
10074
+ /** UpdateParameters payload is invalid - malformed applicability */
10075
+ UPDATEPARAMETERS_INVALID_PAYLOAD = "UPDATEPARAMETERS_INVALID_PAYLOAD"
9094
10076
  }
9095
10077
  /**
9096
10078
  * Error event object emitted when an error occurs in an embedded component.
@@ -9227,7 +10209,7 @@ export type ApiInterceptFlags = {
9227
10209
  * const embed = new LiveboardEmbed('#embed', {
9228
10210
  * ...viewConfig,
9229
10211
  * enableApiIntercept: true,
9230
- * interceptUrls: [InterceptedApiType.DATA],
10212
+ * interceptUrls: [InterceptedApiType.LiveboardData],
9231
10213
  * })
9232
10214
  * ```
9233
10215
  *
@@ -9853,6 +10835,43 @@ export interface LiveboardTab {
9853
10835
  name: string;
9854
10836
  [key: string]: any;
9855
10837
  }
10838
+ export interface LiveboardGroup {
10839
+ id: string;
10840
+ name: string;
10841
+ [key: string]: any;
10842
+ }
10843
+ /**
10844
+ * Levels at which a filter or parameter can be applied.
10845
+ */
10846
+ export declare enum ApplicabilityLevel {
10847
+ Liveboard = "LIVEBOARD",
10848
+ Tab = "TAB",
10849
+ Group = "GROUP"
10850
+ }
10851
+ /**
10852
+ * Scopes a filter or parameter to a specific target.
10853
+ * At `LIVEBOARD` level the filter applies to the whole Liveboard, so `targetId`
10854
+ * is not required.
10855
+ */
10856
+ export interface Applicability {
10857
+ level: ApplicabilityLevel;
10858
+ targetId?: string;
10859
+ }
10860
+ export interface FilterUpdate {
10861
+ column: string;
10862
+ oper: string;
10863
+ values: string[];
10864
+ type?: string;
10865
+ applicability?: Applicability;
10866
+ }
10867
+ export interface LiveboardFilter {
10868
+ applicability?: Applicability;
10869
+ [key: string]: any;
10870
+ }
10871
+ export interface LiveboardParameter {
10872
+ applicability?: Applicability;
10873
+ [key: string]: any;
10874
+ }
9856
10875
  export declare enum UIPassthroughEvent {
9857
10876
  PinAnswerToLiveboard = "addVizToPinboard",
9858
10877
  SaveAnswer = "saveAnswer",
@@ -9869,6 +10888,7 @@ export declare enum UIPassthroughEvent {
9869
10888
  GetParameters = "getParameters",
9870
10889
  GetTML = "getTML",
9871
10890
  GetTabs = "getTabs",
10891
+ GetGroups = "getGroups",
9872
10892
  GetExportRequestForCurrentPinboard = "getExportRequestForCurrentPinboard"
9873
10893
  }
9874
10894
  export type UIPassthroughContractBase = {
@@ -9947,7 +10967,7 @@ export type UIPassthroughContractBase = {
9947
10967
  vizId?: string;
9948
10968
  };
9949
10969
  response: {
9950
- liveboardFilters: Record<string, any>[];
10970
+ liveboardFilters: LiveboardFilter[];
9951
10971
  runtimeFilters: RuntimeFilter[];
9952
10972
  };
9953
10973
  };
@@ -9960,7 +10980,7 @@ export type UIPassthroughContractBase = {
9960
10980
  [UIPassthroughEvent.GetParameters]: {
9961
10981
  request: Record<string, never>;
9962
10982
  response: {
9963
- parameters: Record<string, any>[];
10983
+ parameters: LiveboardParameter[];
9964
10984
  };
9965
10985
  };
9966
10986
  [UIPassthroughEvent.GetTML]: {
@@ -9978,6 +10998,14 @@ export type UIPassthroughContractBase = {
9978
10998
  Tabs: LiveboardTab[];
9979
10999
  };
9980
11000
  };
11001
+ [UIPassthroughEvent.GetGroups]: {
11002
+ request: Record<string, never>;
11003
+ response: {
11004
+ orderedGroupIds: string[];
11005
+ numberOfGroups: number;
11006
+ Groups: LiveboardGroup[];
11007
+ };
11008
+ };
9981
11009
  [UIPassthroughEvent.GetExportRequestForCurrentPinboard]: {
9982
11010
  request: Record<string, never>;
9983
11011
  response: {
@@ -9989,18 +11017,8 @@ export type UIPassthroughContractBase = {
9989
11017
  };
9990
11018
  [UIPassthroughEvent.UpdateFilters]: {
9991
11019
  request: {
9992
- filter?: {
9993
- column: string;
9994
- oper: string;
9995
- values: string[];
9996
- type?: string;
9997
- };
9998
- filters?: {
9999
- column: string;
10000
- oper: string;
10001
- values: string[];
10002
- type?: string;
10003
- }[];
11020
+ filter?: FilterUpdate;
11021
+ filters?: FilterUpdate[];
10004
11022
  };
10005
11023
  response: unknown;
10006
11024
  };
@@ -10033,6 +11051,7 @@ export type EmbedApiHostEventMapping = {
10033
11051
  [HostEvent.GetParameters]: UIPassthroughEvent.GetParameters;
10034
11052
  [HostEvent.GetTML]: UIPassthroughEvent.GetTML;
10035
11053
  [HostEvent.GetTabs]: UIPassthroughEvent.GetTabs;
11054
+ [HostEvent.GetGroups]: UIPassthroughEvent.GetGroups;
10036
11055
  [HostEvent.getExportRequestForCurrentPinboard]: UIPassthroughEvent.GetExportRequestForCurrentPinboard;
10037
11056
  };
10038
11057
  export type HostEventRequest<HostEventT extends HostEvent> = HostEventT extends keyof EmbedApiHostEventMapping ? UIPassthroughRequest<EmbedApiHostEventMapping[HostEventT]> : any;
@@ -10077,6 +11096,7 @@ declare class HostEventClient {
10077
11096
  protected handlePinEvent(payload: HostEventRequest<HostEvent.Pin>, context?: ContextType): Promise<HostEventResponse<HostEvent.Pin, ContextType>>;
10078
11097
  protected handleSaveAnswerEvent(payload: HostEventRequest<HostEvent.SaveAnswer>, context?: ContextType): Promise<any>;
10079
11098
  protected handleUpdateFiltersEvent(payload: HostEventRequest<HostEvent.UpdateFilters>, context?: ContextType): Promise<any>;
11099
+ protected handleUpdateParametersEvent(payload: HostEventRequest<HostEvent.UpdateParameters>, context?: ContextType): Promise<any>;
10080
11100
  protected handleDrillDownEvent(payload: HostEventRequest<HostEvent.DrillDown>, context?: ContextType): Promise<any>;
10081
11101
  /**
10082
11102
  * Dispatches a host event using the appropriate channel:
@@ -10087,7 +11107,7 @@ declare class HostEventClient {
10087
11107
  * @param payload - Optional payload for the event
10088
11108
  * @param context - Optional context (e.g. vizId) for scoped operations
10089
11109
  */
10090
- triggerHostEvent<HostEventT extends HostEvent, PayloadT, ContextT extends ContextType>(hostEvent: HostEventT, payload?: TriggerPayload<PayloadT, HostEventT>, context?: ContextT): Promise<TriggerResponse<PayloadT, HostEventT, ContextType>>;
11110
+ triggerHostEvent<HostEventT extends HostEvent, PayloadT = HostEventRequest<HostEventT>, ContextT extends ContextType = ContextType>(hostEvent: HostEventT, payload?: TriggerPayload<PayloadT, HostEventT>, context?: ContextT): Promise<TriggerResponse<PayloadT, HostEventT, ContextType>>;
10091
11111
  }
10092
11112
  declare class TsEmbed {
10093
11113
  /**
@@ -10292,6 +11312,12 @@ declare class TsEmbed {
10292
11312
  protected getEmbedParamsObject(): Record<any, any>;
10293
11313
  protected getRootIframeSrc(): string;
10294
11314
  protected createIframeEl(frameSrc: string): HTMLIFrameElement;
11315
+ /**
11316
+ * Returns a merged {@link PreRenderConfig} object where each shared key
11317
+ * prefers `preRenderConfig.key` over the top-level `viewConfig.key` for
11318
+ * backward compatibility.
11319
+ */
11320
+ protected getPreRenderConfig(): PreRenderConfig;
10295
11321
  /**
10296
11322
  * Returns true if this embed instance is configured for pre-rendering.
10297
11323
  */
@@ -10330,12 +11356,14 @@ declare class TsEmbed {
10330
11356
  * fresh element; an element passed directly cannot be re-resolved.
10331
11357
  */
10332
11358
  private resolvePreRenderContainerTarget;
11359
+ private inheritPreRenderContainer;
11360
+ private getCustomPreRenderContainer;
10333
11361
  /**
10334
- * Makes the container a positioning context for the absolutely positioned
10335
- * wrapper, stashing the original inline `position` on the element (once) so
10336
- * destroy() can restore it exactly, leaving no trace. Recording it on the
10337
- * element rather than per-instance lets the override be reverted even when
10338
- * embeds share the same container.
11362
+ * Makes the resolved container a positioning context for the absolutely
11363
+ * positioned wrapper, stashing the original inline `position` on the element
11364
+ * (once) so destroy() can restore it exactly, leaving no trace. Recording it
11365
+ * on the element rather than per-instance lets the override be reverted even
11366
+ * when embeds share the same container.
10339
11367
  */
10340
11368
  private applyPreRenderContainerPositioning;
10341
11369
  /**
@@ -10483,7 +11511,7 @@ declare class TsEmbed {
10483
11511
  * ```
10484
11512
  * @version SDK: 1.45.2 | ThoughtSpot: 26.3.0.cl (for context parameter)
10485
11513
  */
10486
- trigger<HostEventT extends HostEvent, PayloadT, ContextT extends ContextType>(messageType: HostEventT, data?: TriggerPayload<PayloadT, HostEventT>, context?: ContextT): Promise<TriggerResponse<PayloadT, HostEventT, ContextT>>;
11514
+ trigger<HostEventT extends HostEvent, PayloadT = HostEventRequest<HostEventT>, ContextT extends ContextType = ContextType>(messageType: HostEventT, data?: TriggerPayload<PayloadT, HostEventT>, context?: ContextT): Promise<TriggerResponse<PayloadT, HostEventT, ContextT>>;
10487
11515
  /**
10488
11516
  * Triggers an event to the embedded app, skipping the UI flow.
10489
11517
  * @param {UIPassthroughEvent} apiName - The name of the API to be triggered.
@@ -11133,6 +12161,41 @@ interface SearchOptions$1 {
11133
12161
  */
11134
12162
  searchQuery: string;
11135
12163
  }
12164
+ declare enum SpotterQueryMode {
12165
+ FAST_SEARCH = "fastSearch",
12166
+ RESEARCH = "research"
12167
+ }
12168
+ /**
12169
+ * Configuration for the pin/unpin conversation feature in the Spotter sidebar.
12170
+ * Grouped into one object because pin exposes several related settings
12171
+ * (enable + label overrides), unlike single-item actions like rename or
12172
+ * delete.
12173
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
12174
+ */
12175
+ export interface SpotterChatPinConfig {
12176
+ /**
12177
+ * Enables the pin/unpin conversation feature in embedded Spotter. Disabled
12178
+ * by default — hosts must opt in. When off, the Pin/Unpin menu entry and
12179
+ * the pin glyph are hidden and the PinSpotterConversation /
12180
+ * UnpinSpotterConversation host events are no-ops. Native (non-embedded)
12181
+ * Spotter is unaffected and ships pin enabled.
12182
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
12183
+ * @default false
12184
+ */
12185
+ enabled?: boolean;
12186
+ /**
12187
+ * Custom label text for the pin action in the conversation edit menu.
12188
+ * Defaults to translated "Pin" text.
12189
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
12190
+ */
12191
+ pinLabel?: string;
12192
+ /**
12193
+ * Custom label text for the unpin action in the conversation edit menu.
12194
+ * Defaults to translated "Unpin" text.
12195
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
12196
+ */
12197
+ unpinLabel?: string;
12198
+ }
11136
12199
  /**
11137
12200
  * Configuration for the Spotter sidebar.
11138
12201
  * Can be used in SpotterEmbed and AppEmbed.
@@ -11170,6 +12233,12 @@ export interface SpotterSidebarViewConfig {
11170
12233
  * @version SDK: 1.47.0 | ThoughtSpot: 26.4.0.cl
11171
12234
  */
11172
12235
  spotterChatDeleteLabel?: string;
12236
+ /**
12237
+ * Pin/unpin conversation feature config (enable + label overrides).
12238
+ * Off by default in embed — hosts opt in via `enabled`.
12239
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
12240
+ */
12241
+ spotterChatPinConfig?: SpotterChatPinConfig;
11173
12242
  /**
11174
12243
  * Custom title text for the delete conversation confirmation modal.
11175
12244
  * Defaults to translated "Delete chat" text.
@@ -11221,50 +12290,281 @@ export interface SpotterSidebarViewConfig {
11221
12290
  spotterAnalystsLabel?: string;
11222
12291
  }
11223
12292
  /**
11224
- * Configuration for customizing Spotter chat UI branding.
11225
- * @version SDK: 1.46.0 | ThoughtSpot: 26.4.0.cl
12293
+ * Configuration for the Spotter conversation sharing feature.
12294
+ * Can be used in SpotterEmbed and AppEmbed.
12295
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11226
12296
  * @group Embed components
11227
12297
  */
11228
- export interface SpotterChatViewConfig {
12298
+ export interface SpotterShareConversationConfig {
11229
12299
  /**
11230
- * Hides the ThoughtSpot logo/icon in tool response
11231
- * cards. The branding label prefix is controlled
11232
- * separately via `toolResponseCardBrandingLabel`.
11233
- * External MCP tool branding is not affected.
12300
+ * Enables sharing of the conversation.
12301
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11234
12302
  * @default false
11235
12303
  */
11236
- hideToolResponseCardBranding?: boolean;
12304
+ enableShareConversation?: boolean;
11237
12305
  /**
11238
- * Custom label to replace the "ThoughtSpot" prefix
11239
- * in tool response cards. Set to an empty string
11240
- * `''` to hide the prefix entirely. Works
11241
- * independently of `hideToolResponseCardBranding`.
11242
- * External MCP tool branding is not affected.
12306
+ * Header Share button + sidebar Share item label.
12307
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12308
+ * @default "Share"
11243
12309
  */
11244
- toolResponseCardBrandingLabel?: string;
12310
+ spotterShareLabel?: string;
11245
12311
  /**
11246
- * Enables file upload in the Spotter chat interface.
11247
- *
11248
- * Supported embed types: `SpotterEmbed`, `LiveboardEmbed`, `AppEmbed`
11249
- * @version SDK: 1.49.0 | ThoughtSpot: 26.6.0.cl
11250
- * @default false
12312
+ * Share modal title.
12313
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11251
12314
  */
11252
- spotterFileUploadEnabled?: boolean;
12315
+ spotterShareModalTitle?: string;
11253
12316
  /**
11254
- * Restricts the allowed file types for Spotter file upload.
11255
- *
11256
- * Supported embed types: `SpotterEmbed`, `LiveboardEmbed`, `AppEmbed`
11257
- * @version SDK: 1.49.0 | ThoughtSpot: 26.6.0.cl
12317
+ * Modal confirm button label.
12318
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12319
+ * @default "Share"
11258
12320
  */
11259
- spotterFileUploadFileTypes?: SpotterFileUploadFileTypes;
12321
+ spotterShareConfirmLabel?: string;
11260
12322
  /**
11261
- * Enables starter prompts in the Spotter chat interface.
11262
- *
11263
- * Supported embed types: SpotterEmbed, LiveboardEmbed, AppEmbed
12323
+ * Modal cancel button label.
12324
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12325
+ * @default "Cancel"
12326
+ */
12327
+ spotterShareCancelLabel?: string;
12328
+ /**
12329
+ * "Add users or groups" label.
12330
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12331
+ */
12332
+ spotterShareAddUsersLabel?: string;
12333
+ /**
12334
+ * Empty-state title ("No users added yet").
12335
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12336
+ */
12337
+ spotterShareEmptyTitle?: string;
12338
+ /**
12339
+ * Empty-state subtitle ("Not shared with any user").
12340
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12341
+ */
12342
+ spotterShareEmptySubtitle?: string;
12343
+ /**
12344
+ * "Include new messages since last shared version" checkbox label.
12345
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12346
+ */
12347
+ spotterShareIncludeNewMessagesLabel?: string;
12348
+ /**
12349
+ * Footer note when the snapshot is current ("…up to the current moment…").
12350
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12351
+ */
12352
+ spotterShareUpToCurrentLabel?: string;
12353
+ /**
12354
+ * Stale-snapshot info banner text ("All added users and groups will receive…").
12355
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12356
+ */
12357
+ spotterShareStaleInfoLabel?: string;
12358
+ /**
12359
+ * Read-only shared-view data-access banner message.
12360
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12361
+ */
12362
+ spotterSharedConversationBannerMessage?: string;
12363
+ /**
12364
+ * Read-only shared-view Exit button label.
12365
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12366
+ * @default "Exit"
12367
+ */
12368
+ spotterSharedConversationExitLabel?: string;
12369
+ }
12370
+ /**
12371
+ * A single starter prompt question shown under a category pill.
12372
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12373
+ * @group Embed components
12374
+ */
12375
+ export interface StarterPromptQuestion {
12376
+ /**
12377
+ * Short label shown as a clickable suggestion. Falls back to `prompt` when
12378
+ * omitted. ThoughtSpot truncates it beyond 80 characters.
12379
+ */
12380
+ label?: string;
12381
+ /**
12382
+ * Prompt text sent to Spotter on click. ThoughtSpot truncates it beyond
12383
+ * 300 characters.
12384
+ */
12385
+ prompt: string;
12386
+ }
12387
+ /**
12388
+ * Configuration for a starter prompt category with questions
12389
+ * (`quick` and `research`).
12390
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12391
+ * @group Embed components
12392
+ */
12393
+ export interface StarterPromptCategory {
12394
+ /**
12395
+ * Overrides the default category pill label. ThoughtSpot truncates it
12396
+ * beyond 30 characters.
12397
+ */
12398
+ label?: string;
12399
+ /**
12400
+ * Replaces the backend-generated prompts. ThoughtSpot renders the first 4
12401
+ * and drops any entry without a `prompt`.
12402
+ */
12403
+ questions?: StarterPromptQuestion[];
12404
+ }
12405
+ /**
12406
+ * Configuration for the Data Literacy starter prompt category.
12407
+ * Only the label is customizable; the prompt text comes from the backend.
12408
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12409
+ * @group Embed components
12410
+ */
12411
+ export interface StarterPreviewDataCategory {
12412
+ /**
12413
+ * Overrides the default category pill label. ThoughtSpot truncates it
12414
+ * beyond 30 characters.
12415
+ */
12416
+ label?: string;
12417
+ }
12418
+ /**
12419
+ * Content configuration for the Spotter starter prompts.
12420
+ * Keys are fixed: `quick` (Basic Search), `research` (Deep Analysis),
12421
+ * `previewData` (Data Literacy) and `liveboard` (Liveboard chat panel).
12422
+ *
12423
+ * Note: this controls the Spotter chat interface only. The starter prompts on
12424
+ * the Liveboard SpotterViz surface are configured separately through
12425
+ * {@link SpotterVizConfig.customStarterPrompts}.
12426
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12427
+ * @group Embed components
12428
+ */
12429
+ export interface StarterPromptsConfig {
12430
+ /**
12431
+ * Turns the starter prompts surface on. Must be set explicitly, an
12432
+ * unset flag leaves the surface off.
12433
+ *
12434
+ * Either this or `enableStarterPrompts` turns the surface on, so `false`
12435
+ * here does not switch it off while `enableStarterPrompts` is `true`.
12436
+ * @default false
12437
+ */
12438
+ enable?: boolean;
12439
+ /** Basic Search category configuration. */
12440
+ quick?: StarterPromptCategory;
12441
+ /** Deep Analysis category configuration. */
12442
+ research?: StarterPromptCategory;
12443
+ /** Data Literacy category configuration. */
12444
+ previewData?: StarterPreviewDataCategory;
12445
+ /**
12446
+ * Starter prompts for the Spotter chat panel on a Liveboard.
12447
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
12448
+ */
12449
+ liveboard?: StarterPromptQuestion[];
12450
+ }
12451
+ /**
12452
+ * Configuration for customizing Spotter chat UI branding.
12453
+ * @version SDK: 1.46.0 | ThoughtSpot: 26.4.0.cl
12454
+ * @group Embed components
12455
+ */
12456
+ export interface SpotterChatViewConfig {
12457
+ /**
12458
+ * Hides the ThoughtSpot logo/icon in tool response
12459
+ * cards. The branding label prefix is controlled
12460
+ * separately via `toolResponseCardBrandingLabel`.
12461
+ * External MCP tool branding is not affected.
12462
+ * @default false
12463
+ */
12464
+ hideToolResponseCardBranding?: boolean;
12465
+ /**
12466
+ * Custom label to replace the "ThoughtSpot" prefix
12467
+ * in tool response cards. Set to an empty string
12468
+ * `''` to hide the prefix entirely. Works
12469
+ * independently of `hideToolResponseCardBranding`.
12470
+ * External MCP tool branding is not affected.
12471
+ */
12472
+ toolResponseCardBrandingLabel?: string;
12473
+ /**
12474
+ * Enables file upload in the Spotter chat interface.
12475
+ *
12476
+ * Supported embed types: `SpotterEmbed`, `LiveboardEmbed`, `AppEmbed`
12477
+ * @version SDK: 1.49.0 | ThoughtSpot: 26.6.0.cl
12478
+ * @default false
12479
+ */
12480
+ spotterFileUploadEnabled?: boolean;
12481
+ /**
12482
+ * Restricts the allowed file types for Spotter file upload.
12483
+ *
12484
+ * Supported embed types: `SpotterEmbed`, `LiveboardEmbed`, `AppEmbed`
12485
+ * @version SDK: 1.49.0 | ThoughtSpot: 26.6.0.cl
12486
+ */
12487
+ spotterFileUploadFileTypes?: SpotterFileUploadFileTypes;
12488
+ /**
12489
+ * Enables starter prompts in the Spotter chat interface.
12490
+ *
12491
+ * Either this or `starterPrompts.enable` turns the surface on, so it stays
12492
+ * on while this is `true` even if `starterPrompts.enable` is `false`.
12493
+ *
12494
+ * Supported embed types: `SpotterEmbed`, `LiveboardEmbed`, `AppEmbed`
11264
12495
  * @version SDK: 1.51.0 | ThoughtSpot: 26.8.0.cl
11265
12496
  * @default false
11266
12497
  */
11267
12498
  enableStarterPrompts?: boolean;
12499
+ /**
12500
+ * Customizes the labels and questions of the Spotter starter prompts.
12501
+ * Individual pills are hidden or shown with `hiddenActions` /
12502
+ * `visibleActions` using `Action.QuickSearchPill`,
12503
+ * `Action.DeepAnalysisPill` and `Action.DataLiteracyPill`.
12504
+ *
12505
+ * Supported embed types: `SpotterEmbed`, `LiveboardEmbed`, `AppEmbed`
12506
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12507
+ * @example
12508
+ * ```js
12509
+ * const embed = new SpotterEmbed('#tsEmbed', {
12510
+ * worksheetId: 'worksheet-id',
12511
+ * hiddenActions: [Action.DeepAnalysisPill],
12512
+ * spotterChatConfig: {
12513
+ * starterPrompts: {
12514
+ * enable: true,
12515
+ * quick: {
12516
+ * label: 'Quick questions',
12517
+ * questions: [
12518
+ * { label: 'Top products', prompt: 'What are the top products by revenue?' },
12519
+ * ],
12520
+ * },
12521
+ * previewData: { label: 'Explore your data' },
12522
+ * },
12523
+ * },
12524
+ * })
12525
+ * ```
12526
+ */
12527
+ starterPrompts?: StarterPromptsConfig;
12528
+ /**
12529
+ * Opens the Spotter chat panel when the Liveboard loads.
12530
+ *
12531
+ * Supported embed types: `LiveboardEmbed`, `AppEmbed`
12532
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
12533
+ * @default true
12534
+ * @example
12535
+ * ```js
12536
+ * const embed = new LiveboardEmbed('#tsEmbed', {
12537
+ * liveboardId: 'liveboard-id',
12538
+ * spotterChatConfig: {
12539
+ * openSpotterOnLiveboardByDefault: false,
12540
+ * },
12541
+ * })
12542
+ * ```
12543
+ */
12544
+ openSpotterOnLiveboardByDefault?: boolean;
12545
+ }
12546
+ /**
12547
+ * Configuration for the Spotter Analyst experience.
12548
+ * Can be used in SpotterEmbed.
12549
+ * @group Embed components
12550
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
12551
+ * @example
12552
+ * ```js
12553
+ * const embed = new SpotterEmbed('#tsEmbed', {
12554
+ * ... //other embed view config
12555
+ * spotterAnalystConfig: {
12556
+ * analystId: 'analyst-id-1234',
12557
+ * },
12558
+ * })
12559
+ * ```
12560
+ */
12561
+ export interface SpotterAnalystConfig {
12562
+ /**
12563
+ * Pins the embed to a single spotter analyst. Implies no default Spotter
12564
+ * and no "Show all".
12565
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
12566
+ */
12567
+ analystId?: string;
11268
12568
  }
11269
12569
  /**
11270
12570
  * The configuration for the embedded spotterEmbed options.
@@ -11274,8 +12574,43 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, "primaryAct
11274
12574
  /**
11275
12575
  * The ID of the data source object. For example, Model, View, or Table. Spotter uses
11276
12576
  * this object to query data and generate Answers.
12577
+ * This field is optional. If not provided, Spotter loads using the
12578
+ * previously selected user data source.
11277
12579
  */
11278
- worksheetId: string;
12580
+ worksheetId?: string;
12581
+ /**
12582
+ * The array of data source GUIDs to set on load. Spotter uses
12583
+ * these GUIDs to query data and generate Answers.
12584
+ * dataSources is preferred over worksheetId if both are provided.
12585
+ * The feature is currently behind a feature flag.
12586
+ *
12587
+ * Supported embed types: `SpotterEmbed`
12588
+ * @example
12589
+ * ```js
12590
+ * const embed = new SpotterEmbed('#tsEmbed', {
12591
+ * // ...other embed view config
12592
+ * dataSources: ['id-2345', 'id-2345'],
12593
+ * });
12594
+ * ```
12595
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12596
+ */
12597
+ dataSources?: string[];
12598
+ /**
12599
+ * Configuration for the Spotter Analyst experience.
12600
+ *
12601
+ * Supported embed types: `SpotterEmbed`
12602
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
12603
+ * @example
12604
+ * ```js
12605
+ * const embed = new SpotterEmbed('#tsEmbed', {
12606
+ * ... //other embed view config
12607
+ * spotterAnalystConfig: {
12608
+ * analystId: 'analyst-id-1234',
12609
+ * },
12610
+ * })
12611
+ * ```
12612
+ */
12613
+ spotterAnalystConfig?: SpotterAnalystConfig;
11279
12614
  /**
11280
12615
  * Ability to pass a starting search query to the conversation.
11281
12616
  */
@@ -11435,6 +12770,39 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, "primaryAct
11435
12770
  * ```
11436
12771
  */
11437
12772
  updatedSpotterChatPrompt?: boolean;
12773
+ /**
12774
+ * showSpotterRadiance : Controls the radiance on the Spotter page.
12775
+ *
12776
+ * Supported embed types: `SpotterEmbed`
12777
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12778
+ * @default false
12779
+ * @example
12780
+ * ```js
12781
+ * const embed = new SpotterEmbed('#tsEmbed', {
12782
+ * ... //other embed view config
12783
+ * showSpotterRadiance : true,
12784
+ * })
12785
+ * ```
12786
+ */
12787
+ showSpotterRadiance?: boolean;
12788
+ /**
12789
+ * Sets the default query mode when Spotter loads — Fast Search or
12790
+ * Research Mode. Applies fresh on every new session for this embed
12791
+ * instance only; it does not persist as a user preference and does
12792
+ * not affect other embeds or native ThoughtSpot usage.
12793
+ *
12794
+ * Supported embed types: `SpotterEmbed`, `AppEmbed`
12795
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12796
+ * @default SpotterQueryMode.FAST_SEARCH
12797
+ * @example
12798
+ * ```js
12799
+ * const embed = new SpotterEmbed('#tsEmbed', {
12800
+ * ... //other embed view config
12801
+ * defaultQueryMode: SpotterQueryMode.RESEARCH,
12802
+ * })
12803
+ * ```
12804
+ */
12805
+ defaultQueryMode?: SpotterQueryMode;
11438
12806
  /**
11439
12807
  * Enables the stop answer generation button in the Spotter embed UI,
11440
12808
  * allowing users to interrupt an ongoing answer generation.
@@ -11493,6 +12861,59 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, "primaryAct
11493
12861
  * ```
11494
12862
  */
11495
12863
  spotterChatConfig?: SpotterChatViewConfig;
12864
+ /**
12865
+ * Configuration for the Spotter conversation sharing feature.
12866
+ *
12867
+ * Supported embed types: `SpotterEmbed`, `AppEmbed`
12868
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12869
+ * @example
12870
+ * ```js
12871
+ * const embed = new SpotterEmbed('#tsEmbed', {
12872
+ * ... //other embed view config
12873
+ * spotterShareConversationConfig: {
12874
+ * enableShareConversation: true,
12875
+ * },
12876
+ * })
12877
+ * ```
12878
+ */
12879
+ spotterShareConversationConfig?: SpotterShareConversationConfig;
12880
+ /**
12881
+ * The ID of a shared Spotter conversation to open directly in the read-only
12882
+ * reader view. Use this to land a share recipient in the shared conversation
12883
+ * when they open a host-configured `CONVERSATION_URL` share link: read the
12884
+ * `{conversation-id}` from your page URL and pass it here.
12885
+ *
12886
+ * Requires the Spotter conversation-sharing feature to be enabled
12887
+ * (`spotterShareConversationConfig.enableShareConversation`). The recipient
12888
+ * must be an authorized sharee — the server returns access-denied otherwise.
12889
+ *
12890
+ * Supported embed types: `SpotterEmbed`
12891
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12892
+ * @example
12893
+ * ```js
12894
+ * const convId = new URLSearchParams(window.location.search).get('conversation-id');
12895
+ * const embed = new SpotterEmbed('#tsEmbed', {
12896
+ * ... //other embed view config
12897
+ * sharedConversationId: convId,
12898
+ * })
12899
+ * ```
12900
+ */
12901
+ sharedConversationId?: string;
12902
+ /**
12903
+ * updatedSpotterExperience : Controls the updated Spotter experience.
12904
+ *
12905
+ * Supported embed types: `SpotterEmbed`
12906
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12907
+ * @default false
12908
+ * @example
12909
+ * ```js
12910
+ * const embed = new SpotterEmbed('#tsEmbed', {
12911
+ * ... //other embed view config
12912
+ * updatedSpotterExperience : true,
12913
+ * })
12914
+ * ```
12915
+ */
12916
+ updatedSpotterExperience?: boolean;
11496
12917
  }
11497
12918
  /**
11498
12919
  * The configuration for the embedded spotterEmbed options.
@@ -11509,7 +12930,9 @@ export interface ConversationViewConfig extends SpotterEmbedViewConfig {
11509
12930
  export interface SpotterAppInitData extends DefaultAppInitData {
11510
12931
  embedParams?: {
11511
12932
  spotterSidebarConfig?: SpotterSidebarViewConfig;
12933
+ spotterShareConversationConfig?: SpotterShareConversationConfig;
11512
12934
  visualOverridesParams?: VisualizationOverrides | null;
12935
+ starterPrompts?: StarterPromptsConfig;
11513
12936
  };
11514
12937
  }
11515
12938
  declare class SpotterEmbed extends TsEmbed {
@@ -11567,12 +12990,17 @@ export interface SpotterVizStarterPrompt {
11567
12990
  * customStarterPrompts: [
11568
12991
  * { id: '1', displayText: 'Top products', fullPrompt: 'What are the top products by revenue?' }
11569
12992
  * ],
11570
- * // loaderHeadline and loaderTips require SDK: 1.51.0 | ThoughtSpot Cloud: 26.8.0.cl
12993
+ * // The options below require SDK: 1.51.0
11571
12994
  * loaderHeadline: 'Crunching the numbers...',
11572
12995
  * loaderTips: [
11573
12996
  * { label: 'Tip', text: 'try asking about revenue by region' },
11574
12997
  * { label: 'Tip', text: 'use natural language' },
11575
12998
  * ],
12999
+ * liveboardBrandName: 'Reports',
13000
+ * spotterBrandName: 'Analyst',
13001
+ * insightTileBrandName: 'Insight card',
13002
+ * insightTileViewPlanLabel: 'View plan',
13003
+ * insightTileLoaderText: 'Generating insight',
11576
13004
  * },
11577
13005
  * })
11578
13006
  * ```
@@ -11620,19 +13048,47 @@ export interface SpotterVizConfig {
11620
13048
  /**
11621
13049
  * Custom headline text shown in the SpotterViz loading state.
11622
13050
  * Replaces the default loading headline.
11623
- * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.8.0.cl
13051
+ * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.7.0.cl
11624
13052
  */
11625
13053
  loaderHeadline?: string;
11626
13054
  /**
11627
13055
  * Custom tips shown in the SpotterViz loading state.
11628
13056
  * Replaces the default loading tips with the provided list.
11629
- * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.8.0.cl
13057
+ * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.7.0.cl
11630
13058
  */
11631
13059
  loaderTips?: SpotterVizLoaderTip[];
13060
+ /**
13061
+ * Custom term used to replace "Liveboard" in the agent's responses.
13062
+ * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.7.0.cl
13063
+ * @default ''
13064
+ */
13065
+ liveboardBrandName?: string;
13066
+ /**
13067
+ * Custom term used to replace "Spotter" in the agent's responses.
13068
+ * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.7.0.cl
13069
+ * @default ''
13070
+ */
13071
+ spotterBrandName?: string;
13072
+ /**
13073
+ * Custom term used to replace "Insight tile" in the UI and in the agent's responses.
13074
+ * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.7.0.cl
13075
+ * @default ''
13076
+ */
13077
+ insightTileBrandName?: string;
13078
+ /**
13079
+ * Custom term used to replace "View plan" in the insight tile menu.
13080
+ * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.7.0.cl
13081
+ */
13082
+ insightTileViewPlanLabel?: string;
13083
+ /**
13084
+ * Custom loader text shown on the insight tile.
13085
+ * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.7.0.cl
13086
+ */
13087
+ insightTileLoaderText?: string;
11632
13088
  }
11633
13089
  /**
11634
13090
  * A single tip shown in the SpotterViz loading state.
11635
- * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.8.0.cl
13091
+ * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.7.0.cl
11636
13092
  * @group Embed components
11637
13093
  */
11638
13094
  export interface SpotterVizLoaderTip {
@@ -11676,7 +13132,15 @@ export declare enum Page {
11676
13132
  /**
11677
13133
  * Monitor Alerts Page
11678
13134
  */
11679
- Monitor = "monitor"
13135
+ Monitor = "monitor",
13136
+ /**
13137
+ * Collections listing page
13138
+ */
13139
+ Collections = "collections",
13140
+ /**
13141
+ * Liveboard schedules listing page
13142
+ */
13143
+ LiveboardSchedules = "liveboard-schedules"
11680
13144
  }
11681
13145
  /**
11682
13146
  * Define the initial state of column custom group accordions
@@ -11713,6 +13177,9 @@ declare enum HomePage {
11713
13177
  /**
11714
13178
  * Modular (v2) introduces the updated Modular Home Experience.
11715
13179
  * It serves as the foundational version of the home page.
13180
+ * Use {@link HomePage.ModularWithStylingChanges} (V3) or
13181
+ * {@link HomePage.Focused} (V4) instead.
13182
+ * @deprecated V1 and V2 home page experiences are deprecated.
11716
13183
  */
11717
13184
  Modular = "v2",
11718
13185
  /**
@@ -11782,13 +13249,14 @@ export interface AppViewConfig extends AllEmbedViewConfig {
11782
13249
  showPrimaryNavbar?: boolean;
11783
13250
  /**
11784
13251
  * Control the visibility of the left navigation panel on the home page
11785
- * in the V2 and V3 navigation and home page experience.
13252
+ * in the V3 and V4 navigation and home page experience.
11786
13253
  * If `showPrimaryNavbar` is true, that is, if the Global and Homepage
11787
13254
  * navigation bars are visible, this flag will only hide the left navigation bar
11788
13255
  * on the home page.
11789
13256
  * The `showPrimaryNavbar` flag takes precedence over the `hideHomepageLeftNav`.
11790
13257
  *
11791
- * **Note**: This attribute is not supported in the classic (V1) experience.
13258
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
13259
+ * deprecated. This attribute applies to V3 and V4 home page experiences.
11792
13260
  *
11793
13261
  * Supported embed types: `AppEmbed`
11794
13262
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl
@@ -11854,11 +13322,10 @@ export interface AppViewConfig extends AllEmbedViewConfig {
11854
13322
  hideHamburger?: boolean;
11855
13323
  /**
11856
13324
  * Control the visibility of the object search
11857
- * on the top navigation bar in the
11858
- * V2 and V3 navigation experience.
13325
+ * on the top navigation bar in the V3 navigation experience.
11859
13326
  *
11860
- * **Note**: This attribute is not supported
11861
- * in the classic (V1) experience.
13327
+ * **Note**: The classic (V1) and V2 navigation experiences are
13328
+ * deprecated. This attribute applies to the V3 navigation experience.
11862
13329
  *
11863
13330
  * Supported embed types: `AppEmbed`
11864
13331
  * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
@@ -11876,8 +13343,8 @@ export interface AppViewConfig extends AllEmbedViewConfig {
11876
13343
  * Control the visibility of the notification icon
11877
13344
  * on the top navigation bar in V3 navigation experience.
11878
13345
  *
11879
- * **Note**: This attribute is not supported
11880
- * in the classic (V1) and V2 experience modes.
13346
+ * **Note**: The classic (V1) and V2 experience modes are deprecated.
13347
+ * This attribute applies to the V3 experience.
11881
13348
  *
11882
13349
  * Supported embed types: `AppEmbed`
11883
13350
  * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
@@ -11892,14 +13359,14 @@ export interface AppViewConfig extends AllEmbedViewConfig {
11892
13359
  */
11893
13360
  hideNotification?: boolean;
11894
13361
  /**
11895
- * Control the visibility of the application selection menu
11896
- * in the top navigation bar in the V2 experience.
13362
+ * Control the visibility of the application selection menu.
11897
13363
  * In the V3 experience, it shows or hides application selection
11898
13364
  * icons on the left navigation panel.
11899
13365
  * By default, the application selection menu and icons are
11900
13366
  * shown in the UI.
11901
13367
  *
11902
- * **Note**: This attribute is not supported in the classic (V1) experience.
13368
+ * **Note**: The classic (V1) and V2 experiences are deprecated.
13369
+ * This attribute applies to the V3 experience.
11903
13370
  *
11904
13371
  * Supported embed types: `AppEmbed`
11905
13372
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl
@@ -11917,7 +13384,8 @@ export interface AppViewConfig extends AllEmbedViewConfig {
11917
13384
  * Control the visibility of the Org switcher button on the nav-bar.
11918
13385
  * By default, the Org switcher button is shown.
11919
13386
  *
11920
- * **Note**: This attribute is not supported in the classic (V1) experience.
13387
+ * **Note**: The classic (V1) experience is deprecated. This attribute
13388
+ * applies to V2 (deprecated), V3 and V4 experiences.
11921
13389
  *
11922
13390
  * Supported embed types: `AppEmbed`
11923
13391
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl
@@ -12058,6 +13526,11 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12058
13526
  * `false` fetches visualizations incrementally as
12059
13527
  * users scroll the page to view the charts and tables.
12060
13528
  *
13529
+ * From SDK 1.52.0, enabling `fullHeight` also turns on
13530
+ * {@link lazyLoadingForFullHeight} and
13531
+ * {@link enableScrollableContainerLazyLoading}, so visualizations load as
13532
+ * they scroll into view. Set either flag to `false` to opt out.
13533
+ *
12061
13534
  * Supported embed types: `AppEmbed`
12062
13535
  * @version SDK: 1.21.0 | ThoughtSpot: 9.4.0.cl, 9.4.0-sw
12063
13536
  * @example
@@ -12076,6 +13549,10 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12076
13549
  * Supported embed types: `AppEmbed`
12077
13550
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl
12078
13551
  * @default false
13552
+ * Use the discoveryExperience.homePage option with
13553
+ * {@link HomePage.ModularWithStylingChanges} (V3) or
13554
+ * {@link HomePage.Focused} (V4) instead.
13555
+ * @deprecated The V1 and V2 home page experiences are deprecated.
12079
13556
  * @example
12080
13557
  * ```js
12081
13558
  * const embed = new AppEmbed('#tsEmbed', {
@@ -12207,11 +13684,12 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12207
13684
  /**
12208
13685
  * Enables the 'what you see is what you get' PDF export for Liveboards. Each tab is rendered on a single page
12209
13686
  * following the exact UI layout, instead of splitting visualizations across multiple A4 pages.
12210
- * This feature is GA from version 26.5.0.cl. It is disabled by default in embed deployments.
13687
+ * This feature is GA from SDK version 1.51.0 and ThoughtSpot version 26.8.0.cl.
12211
13688
  *
12212
13689
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
12213
13690
  * @type {boolean}
12214
13691
  * @version SDK: 1.48.0 | ThoughtSpot: 26.5.0.cl
13692
+ * @default true
12215
13693
  * @example
12216
13694
  * ```js
12217
13695
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -12224,10 +13702,12 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12224
13702
  isContinuousLiveboardPDFEnabled?: boolean;
12225
13703
  /**
12226
13704
  * This flag is used to enable/disable the XLSX/CSV download option for Liveboards
13705
+ * This feature is GA from SDK version 1.51.0 and ThoughtSpot version 26.6.0.cl
12227
13706
  *
12228
13707
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
12229
13708
  * @type {boolean}
12230
13709
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
13710
+ * @default true
12231
13711
  * @example
12232
13712
  * ```js
12233
13713
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -12240,10 +13720,12 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12240
13720
  isLiveboardXLSXCSVDownloadEnabled?: boolean;
12241
13721
  /**
12242
13722
  * This flag is used to enable/disable the granular XLSX/CSV schedules feature
13723
+ * This feature is GA from SDK version 1.51.0 and ThoughtSpot version 26.6.0.cl
12243
13724
  *
12244
13725
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
12245
13726
  * @type {boolean}
12246
13727
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
13728
+ * @default true
12247
13729
  * @example
12248
13730
  * ```js
12249
13731
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -12255,11 +13737,17 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12255
13737
  */
12256
13738
  isGranularXLSXCSVSchedulesEnabled?: boolean;
12257
13739
  /**
12258
- * This flag is used to enable the full height lazy load data.
13740
+ * Loads visualizations only as they scroll into the viewport, instead of
13741
+ * loading the whole full-height Liveboard at once.
13742
+ *
13743
+ * From SDK 1.52.0 this is enabled automatically whenever `fullHeight` is
13744
+ * `true`. On SDK 1.51.0 and earlier it defaulted to `false` and had to be
13745
+ * set explicitly. Set it to `false` to load every visualization upfront.
13746
+ * The flag has no effect unless `fullHeight` is enabled.
12259
13747
  *
12260
13748
  * @type {boolean}
12261
13749
  * @version SDK: 1.40.0 | ThoughtSpot: 10.12.0.cl
12262
- * @default false
13750
+ * @default true when `fullHeight` is enabled, from SDK 1.52.0
12263
13751
  * @example
12264
13752
  * ```js
12265
13753
  * const embed = new AppEmbed('#embed-container', {
@@ -12271,27 +13759,43 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12271
13759
  */
12272
13760
  lazyLoadingForFullHeight?: boolean;
12273
13761
  /**
12274
- * This flag is used to enable container-aware full height lazy loading.
13762
+ * Computes the visible region of the embed against its scrollable and
13763
+ * clipping ancestors, instead of treating the browser window as the only
13764
+ * viewport, and tracks scroll and resize on those ancestors.
12275
13765
  *
12276
- * Use this when the embed is rendered inside a scrollable or clipping
12277
- * container instead of relying on the browser window as the only viewport.
13766
+ * From SDK 1.52.0 this is enabled automatically whenever `fullHeight` is
13767
+ * `true`. On SDK 1.51.0 and earlier it defaulted to `false` and had to be
13768
+ * set explicitly. Set it to `false` when the page scrolls with the window
13769
+ * and the embed has no clipping ancestor, to skip the extra ancestor
13770
+ * tracking.
12278
13771
  *
12279
13772
  * @type {boolean}
12280
- * @default false
13773
+ * @default true when `fullHeight` is enabled, from SDK 1.52.0
12281
13774
  * @hidden
12282
13775
  */
12283
13776
  enableScrollableContainerLazyLoading?: boolean;
12284
13777
  /**
12285
- * The margin to be used for lazy loading.
13778
+ * How far outside the viewport a visualization starts loading, when
13779
+ * {@link lazyLoadingForFullHeight} is enabled.
12286
13780
  *
12287
13781
  * For example, if the margin is set to '10px',
12288
13782
  * the visualization will be loaded 10px before its top edge is visible in the
12289
13783
  * viewport.
12290
13784
  *
12291
- * The format is similar to CSS margin.
13785
+ * The format is similar to CSS margin, so `'500px 0px'` extends the
13786
+ * prefetch 500px above and below the viewport and not sideways. Accepted
13787
+ * units are `px`, `em`, `rem`, `%`, `vh` and `vw`, plus bare `0` and
13788
+ * `auto`; an invalid value is logged and ignored.
13789
+ *
13790
+ * From SDK 1.52.0 this defaults to `'500px 0px'` — roughly one
13791
+ * visualization ahead of the scroll position, so a chart has usually
13792
+ * finished loading by the time it scrolls into view. Use a smaller margin
13793
+ * to cut warehouse queries further, or `'0px'` to load a visualization
13794
+ * only once it is actually visible.
12292
13795
  *
12293
13796
  * @type {string}
12294
13797
  * @version SDK: 1.40.0 | ThoughtSpot: 10.12.0.cl
13798
+ * @default '500px 0px' when `fullHeight` is enabled, from SDK 1.52.0
12295
13799
  * @example
12296
13800
  * ```js
12297
13801
  * const embed = new AppEmbed('#embed-container', {
@@ -12319,6 +13823,40 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12319
13823
  * ```
12320
13824
  */
12321
13825
  updatedSpotterChatPrompt?: boolean;
13826
+ /**
13827
+ * showSpotterRadiance : Controls the radiance on the Spotter page.
13828
+ *
13829
+ * Supported embed types: `AppEmbed`
13830
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
13831
+ * @default false
13832
+ * @example
13833
+ * ```js
13834
+ * const embed = new AppEmbed('#tsEmbed', {
13835
+ * ... //other embed view config
13836
+ * showSpotterRadiance : true,
13837
+ * })
13838
+ * ```
13839
+ */
13840
+ showSpotterRadiance?: boolean;
13841
+ /**
13842
+ * Sets the default query mode when Spotter loads — Fast Search or
13843
+ * Research Mode. Applies fresh on every new session for this embed
13844
+ * instance only; it does not persist as a user preference and does
13845
+ * not affect other embeds or native ThoughtSpot usage.
13846
+ * Only applicable when navigating to Spotter within the app.
13847
+ *
13848
+ * Supported embed types: `AppEmbed`
13849
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
13850
+ * @default SpotterQueryMode.FAST_SEARCH
13851
+ * @example
13852
+ * ```js
13853
+ * const embed = new AppEmbed('#tsEmbed', {
13854
+ * ... //other embed view config
13855
+ * defaultQueryMode: SpotterQueryMode.RESEARCH,
13856
+ * })
13857
+ * ```
13858
+ */
13859
+ defaultQueryMode?: SpotterQueryMode;
12322
13860
  /**
12323
13861
  * Controls the visibility of the past conversations sidebar.
12324
13862
  *
@@ -12344,6 +13882,10 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12344
13882
  * spotterSidebarConfig: {
12345
13883
  * enablePastConversationsSidebar: true,
12346
13884
  * spotterSidebarTitle: 'My Conversations',
13885
+ * // Opt in to pin/unpin conversations in embedded Spotter
13886
+ * spotterChatPinConfig: {
13887
+ * enabled: true,
13888
+ * },
12347
13889
  * },
12348
13890
  * })
12349
13891
  * ```
@@ -12367,6 +13909,49 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12367
13909
  * ```
12368
13910
  */
12369
13911
  spotterChatConfig?: SpotterChatViewConfig;
13912
+ /**
13913
+ * Configuration for the Spotter conversation sharing feature.
13914
+ *
13915
+ * Supported embed types: `AppEmbed`
13916
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
13917
+ * @example
13918
+ * ```js
13919
+ * const embed = new AppEmbed('#tsEmbed', {
13920
+ * ... //other embed view config
13921
+ * spotterShareConversationConfig: {
13922
+ * enableShareConversation: true,
13923
+ * },
13924
+ * })
13925
+ * ```
13926
+ */
13927
+ spotterShareConversationConfig?: SpotterShareConversationConfig;
13928
+ /**
13929
+ * Sets the default data sources (Models) for the Spotter experience shown on
13930
+ * the home page of the full app embed. Accepts a list of Model GUIDs to
13931
+ * preselect the data sources available to Spotter, or the literal
13932
+ * `'auto_mode'` sentinel to load Spotter with the "Auto" model selected by
13933
+ * default. This is consistent with how `worksheetId: 'auto_mode'` enables
13934
+ * Auto mode in `SpotterEmbed`.
13935
+ *
13936
+ * **Note**: If `'auto_mode'` is included alongside one or more Model GUIDs,
13937
+ * `'auto_mode'` takes precedence and is selected by default.
13938
+ *
13939
+ * **Note**: `'auto_mode'` requires the Spotter 3 experience with data source
13940
+ * discovery enabled on your instance, and a Spotter-enabled home page (for
13941
+ * example, `discoveryExperience.homePage: HomePage.Focused`).
13942
+ *
13943
+ * Supported embed types: `AppEmbed`
13944
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.10.0.cl
13945
+ * @example
13946
+ * ```js
13947
+ * const embed = new AppEmbed('#tsEmbed', {
13948
+ * ... // other embed view config
13949
+ * discoveryExperience: { homePage: HomePage.Focused },
13950
+ * spotterDataSources: ['model-guid-1', 'model-guid-2'], // or ['auto_mode']
13951
+ * })
13952
+ * ```
13953
+ */
13954
+ spotterDataSources?: string[];
12370
13955
  /**
12371
13956
  * Configuration for the SpotterViz interface shown on the Liveboard.
12372
13957
  * Customize the brand name, description, chat input placeholder,
@@ -12385,12 +13970,17 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12385
13970
  * inputChatPlaceholder: 'Ask a question...',
12386
13971
  * hideStarterPrompts: false,
12387
13972
  * customStarterPrompts: [{ id: '1', displayText: 'Top products', fullPrompt: 'What are the top products by revenue?' }],
12388
- * // loaderHeadline and loaderTips require SDK: 1.51.0 | ThoughtSpot Cloud: 26.8.0.cl
13973
+ * // The options below require SDK: 1.51.0
12389
13974
  * loaderHeadline: 'Crunching the numbers...',
12390
13975
  * loaderTips: [
12391
13976
  * { label: 'Tip', text: 'try asking about revenue by region' },
12392
13977
  * { label: 'Tip', text: 'use natural language' },
12393
13978
  * ],
13979
+ * liveboardBrandName: 'Reports',
13980
+ * spotterBrandName: 'Analyst',
13981
+ * insightTileBrandName: 'Insight card',
13982
+ * insightTileViewPlanLabel: 'View plan',
13983
+ * insightTileLoaderText: 'Generating insight',
12394
13984
  * },
12395
13985
  * })
12396
13986
  * ```
@@ -12456,6 +14046,21 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12456
14046
  * @version SDK: 1.49.0 | ThoughtSpot: 26.6.0.cl
12457
14047
  */
12458
14048
  visualOverrides?: VisualizationOverrides;
14049
+ /**
14050
+ * updatedSpotterExperience : Controls the updated Spotter experience.
14051
+ *
14052
+ * Supported embed types: `AppEmbed`
14053
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
14054
+ * @default false
14055
+ * @example
14056
+ * ```js
14057
+ * const embed = new AppEmbed('#tsEmbed', {
14058
+ * ... //other embed view config
14059
+ * updatedSpotterExperience : true,
14060
+ * })
14061
+ * ```
14062
+ */
14063
+ updatedSpotterExperience?: boolean;
12459
14064
  }
12460
14065
  /**
12461
14066
  * APP_INIT data shape for AppEmbed.
@@ -12465,6 +14070,8 @@ export interface AppEmbedAppInitData extends DefaultAppInitData {
12465
14070
  embedParams?: {
12466
14071
  spotterSidebarConfig?: SpotterSidebarViewConfig;
12467
14072
  spotterVizConfig?: SpotterVizConfig;
14073
+ spotterShareConversationConfig?: SpotterShareConversationConfig;
14074
+ starterPrompts?: StarterPromptsConfig;
12468
14075
  };
12469
14076
  }
12470
14077
  declare class AppEmbed extends V1Embed {
@@ -12491,6 +14098,7 @@ declare class AppEmbed extends V1Embed {
12491
14098
  * embedded Liveboard or visualization.
12492
14099
  */
12493
14100
  protected getEmbedParams(): string;
14101
+ protected getEmbedParamsObject(): any;
12494
14102
  private sendFullHeightLazyLoadData;
12495
14103
  /**
12496
14104
  * This is a handler for the RequestVisibleEmbedCoordinates event.
@@ -12558,6 +14166,7 @@ declare class AppEmbed extends V1Embed {
12558
14166
  export interface LiveboardEmbedAppInitData extends DefaultAppInitData {
12559
14167
  embedParams?: {
12560
14168
  spotterVizConfig?: SpotterVizConfig;
14169
+ starterPrompts?: StarterPromptsConfig;
12561
14170
  };
12562
14171
  }
12563
14172
  /**
@@ -12576,6 +14185,11 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
12576
14185
  * Setting `fullHeight` to `false` fetches visualizations
12577
14186
  * incrementally as users scroll the page to view the charts and tables.
12578
14187
  *
14188
+ * From SDK 1.52.0, enabling `fullHeight` also turns on
14189
+ * {@link lazyLoadingForFullHeight} and
14190
+ * {@link enableScrollableContainerLazyLoading}, so visualizations load as
14191
+ * they scroll into view. Set either flag to `false` to opt out.
14192
+ *
12579
14193
  *
12580
14194
  * Supported embed types: `LiveboardEmbed`
12581
14195
  * @version SDK: 1.1.0 | ThoughtSpot: ts7.may.cl, 7.2.1
@@ -12915,11 +14529,12 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
12915
14529
  /**
12916
14530
  * Enables the 'what you see is what you get' PDF export for Liveboards. Each tab is rendered on a single page
12917
14531
  * following the exact UI layout, instead of splitting visualizations across multiple A4 pages.
12918
- * This feature is GA from version 26.5.0.cl. It is disabled by default in embed deployments.
14532
+ * This feature is GA from SDK version 1.51.0 and ThoughtSpot version 26.8.0.cl.
12919
14533
  *
12920
14534
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
12921
14535
  * @type {boolean}
12922
14536
  * @version SDK: 1.48.0 | ThoughtSpot: 26.5.0.cl
14537
+ * @default true
12923
14538
  * @example
12924
14539
  * ```js
12925
14540
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -12932,10 +14547,12 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
12932
14547
  isContinuousLiveboardPDFEnabled?: boolean;
12933
14548
  /**
12934
14549
  * This flag is used to enable/disable the XLSX/CSV download option for Liveboards
14550
+ * This feature is GA from SDK version 1.51.0 and ThoughtSpot version 26.6.0.cl.
12935
14551
  *
12936
14552
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
12937
14553
  * @type {boolean}
12938
14554
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
14555
+ * @default true
12939
14556
  * @example
12940
14557
  * ```js
12941
14558
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -12948,10 +14565,12 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
12948
14565
  isLiveboardXLSXCSVDownloadEnabled?: boolean;
12949
14566
  /**
12950
14567
  * This flag is used to enable/disable the granular XLSX/CSV schedules feature
14568
+ * This feature is GA from SDK version 1.51.0 and ThoughtSpot version 26.6.0.cl.
12951
14569
  *
12952
14570
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
12953
14571
  * @type {boolean}
12954
14572
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
14573
+ * @default true
12955
14574
  * @example
12956
14575
  * ```js
12957
14576
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -12963,11 +14582,17 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
12963
14582
  */
12964
14583
  isGranularXLSXCSVSchedulesEnabled?: boolean;
12965
14584
  /**
12966
- * This flag is used to enable the full height lazy load data.
14585
+ * Loads visualizations only as they scroll into the viewport, instead of
14586
+ * loading the whole full-height Liveboard at once.
14587
+ *
14588
+ * From SDK 1.52.0 this is enabled automatically whenever `fullHeight` is
14589
+ * `true`. On SDK 1.51.0 and earlier it defaulted to `false` and had to be
14590
+ * set explicitly. Set it to `false` to load every visualization upfront.
14591
+ * The flag has no effect unless `fullHeight` is enabled.
12967
14592
  *
12968
14593
  * @type {boolean}
12969
14594
  * @version SDK: 1.40.0 | ThoughtSpot: 10.12.0.cl
12970
- * @default false
14595
+ * @default true when `fullHeight` is enabled, from SDK 1.52.0
12971
14596
  * @example
12972
14597
  * ```js
12973
14598
  * const embed = new LiveboardEmbed('#embed-container', {
@@ -12979,26 +14604,42 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
12979
14604
  */
12980
14605
  lazyLoadingForFullHeight?: boolean;
12981
14606
  /**
12982
- * This flag is used to enable container-aware full height lazy loading.
14607
+ * Computes the visible region of the embed against its scrollable and
14608
+ * clipping ancestors, instead of treating the browser window as the only
14609
+ * viewport, and tracks scroll and resize on those ancestors.
12983
14610
  *
12984
- * Use this when the embed is rendered inside a scrollable or clipping
12985
- * container instead of relying on the browser window as the only viewport.
14611
+ * From SDK 1.52.0 this is enabled automatically whenever `fullHeight` is
14612
+ * `true`. On SDK 1.51.0 and earlier it defaulted to `false` and had to be
14613
+ * set explicitly. Set it to `false` when the page scrolls with the window
14614
+ * and the embed has no clipping ancestor, to skip the extra ancestor
14615
+ * tracking.
12986
14616
  *
12987
14617
  * @type {boolean}
12988
- * @default false
14618
+ * @default true when `fullHeight` is enabled, from SDK 1.52.0
12989
14619
  */
12990
14620
  enableScrollableContainerLazyLoading?: boolean;
12991
14621
  /**
12992
- * The margin to be used for lazy loading.
14622
+ * How far outside the viewport a visualization starts loading, when
14623
+ * {@link lazyLoadingForFullHeight} is enabled.
12993
14624
  *
12994
14625
  * For example, if the margin is set to '10px',
12995
14626
  * the visualization will be loaded 10px before its top edge is visible in the
12996
14627
  * viewport.
12997
14628
  *
12998
- * The format is similar to CSS margin.
14629
+ * The format is similar to CSS margin, so `'500px 0px'` extends the
14630
+ * prefetch 500px above and below the viewport and not sideways. Accepted
14631
+ * units are `px`, `em`, `rem`, `%`, `vh` and `vw`, plus bare `0` and
14632
+ * `auto`; an invalid value is logged and ignored.
14633
+ *
14634
+ * From SDK 1.52.0 this defaults to `'500px 0px'` — roughly one
14635
+ * visualization ahead of the scroll position, so a chart has usually
14636
+ * finished loading by the time it scrolls into view. Use a smaller margin
14637
+ * to cut warehouse queries further, or `'0px'` to load a visualization
14638
+ * only once it is actually visible.
12999
14639
  *
13000
14640
  * @type {string}
13001
14641
  * @version SDK: 1.40.0 | ThoughtSpot: 10.12.0.cl
14642
+ * @default '500px 0px' when `fullHeight` is enabled, from SDK 1.52.0
13002
14643
  * @example
13003
14644
  * ```js
13004
14645
  * const embed = new LiveboardEmbed('#embed-container', {
@@ -13042,6 +14683,21 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
13042
14683
  * ```
13043
14684
  */
13044
14685
  updatedSpotterChatPrompt?: boolean;
14686
+ /**
14687
+ * showSpotterRadiance : Controls the radiance on the Spotter page.
14688
+ *
14689
+ * Supported embed types: `LiveboardEmbed`
14690
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
14691
+ * @default false
14692
+ * @example
14693
+ * ```js
14694
+ * const embed = new LiveboardEmbed('#tsEmbed', {
14695
+ * ... //other embed view config
14696
+ * showSpotterRadiance : true,
14697
+ * })
14698
+ * ```
14699
+ */
14700
+ showSpotterRadiance?: boolean;
13045
14701
  /**
13046
14702
  * Enables the stop answer generation button in the Spotter embed UI,
13047
14703
  * allowing users to interrupt an ongoing answer generation.
@@ -13087,12 +14743,17 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
13087
14743
  * inputChatPlaceholder: 'Ask a question...',
13088
14744
  * hideStarterPrompts: false,
13089
14745
  * customStarterPrompts: [{ id: '1', displayText: 'Top products', fullPrompt: 'What are the top products by revenue?' }],
13090
- * // loaderHeadline and loaderTips require SDK: 1.51.0 | ThoughtSpot Cloud: 26.8.0.cl
14746
+ * // The options below require SDK: 1.51.0
13091
14747
  * loaderHeadline: 'Crunching the numbers...',
13092
14748
  * loaderTips: [
13093
14749
  * { label: 'Tip', text: 'try asking about revenue by region' },
13094
14750
  * { label: 'Tip', text: 'use natural language' },
13095
14751
  * ],
14752
+ * liveboardBrandName: 'Reports',
14753
+ * spotterBrandName: 'Analyst',
14754
+ * insightTileBrandName: 'Insight card',
14755
+ * insightTileViewPlanLabel: 'View plan',
14756
+ * insightTileLoaderText: 'Generating insight',
13096
14757
  * },
13097
14758
  * })
13098
14759
  * ```
@@ -13111,6 +14772,21 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
13111
14772
  * ```
13112
14773
  */
13113
14774
  enableLiveboardDataCache?: boolean;
14775
+ /**
14776
+ * updatedSpotterExperience : Controls the updated Spotter experience.
14777
+ *
14778
+ * Supported embed types: `LiveboardEmbed`
14779
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
14780
+ * @default false
14781
+ * @example
14782
+ * ```js
14783
+ * const embed = new LiveboardEmbed('#tsEmbed', {
14784
+ * ... //other embed view config
14785
+ * updatedSpotterExperience : true,
14786
+ * })
14787
+ * ```
14788
+ */
14789
+ updatedSpotterExperience?: boolean;
13114
14790
  }
13115
14791
  declare class LiveboardEmbed extends V1Embed {
13116
14792
  protected viewConfig: LiveboardViewConfig;
@@ -13168,7 +14844,7 @@ declare class LiveboardEmbed extends V1Embed {
13168
14844
  * @param {any} data The payload to send with the message
13169
14845
  * @returns A promise that resolves with the response from the embedded app
13170
14846
  */
13171
- trigger<HostEventT extends HostEvent, PayloadT, ContextT extends ContextType>(messageType: HostEventT, data?: TriggerPayload<PayloadT, HostEventT>, context?: ContextT): Promise<TriggerResponse<PayloadT, HostEventT, ContextT>>;
14847
+ trigger<HostEventT extends HostEvent, PayloadT = HostEventRequest<HostEventT>, ContextT extends ContextType = ContextType>(messageType: HostEventT, data?: TriggerPayload<PayloadT, HostEventT>, context?: ContextT): Promise<TriggerResponse<PayloadT, HostEventT, ContextT>>;
13172
14848
  /**
13173
14849
  * Destroys the ThoughtSpot embed, and remove any nodes from the DOM.
13174
14850
  * @version SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
@@ -13246,7 +14922,7 @@ export declare const prefetch: (url?: string, prefetchFeatures?: PrefetchFeature
13246
14922
  /**
13247
14923
  * Initializes the Visual Embed SDK globally and perform
13248
14924
  * authentication if applicable. This function needs to be called before any ThoughtSpot
13249
- * component like Liveboard etc can be embedded. But need not wait for AuthEvent.SUCCESS
14925
+ * component like Liveboard etc can be embedded. But need not wait for AuthStatus.SUCCESS
13250
14926
  * to actually embed. That is handled internally.
13251
14927
  * @param embedConfig The configuration object containing ThoughtSpot host,
13252
14928
  * authentication mechanism and so on.
@@ -13377,35 +15053,69 @@ export declare function uploadMixpanelEvent(eventId: string, eventProps?: {}): v
13377
15053
  export declare const resetCachedAuthToken: () => void;
13378
15054
  export interface SearchProps extends EmbedProps, SearchViewConfig {
13379
15055
  }
13380
- export interface PreRenderProps {
15056
+ /**
15057
+ * The PreRendered components require a preRender id. It can be supplied either
15058
+ * through `preRenderConfig.preRenderId` (SDK: 1.52.0 and later) or through the
15059
+ * top-level `preRenderId` prop (SDK: 1.25.0 and later, now deprecated).
15060
+ * `preRenderConfig.preRenderId` takes precedence when both are set.
15061
+ *
15062
+ * Use PreRender to render the embed in the background and then
15063
+ * show or hide the rendered embed using showPreRender or hidePreRender respectively.
15064
+ * @example
15065
+ * ```tsx
15066
+ * // Preferred, SDK: 1.52.0 and later.
15067
+ * function LandingPageComponent() {
15068
+ * return <PreRenderedLiveboardEmbed
15069
+ * preRenderConfig={{ preRenderId: "someId" }}
15070
+ * liveboardId="libId"
15071
+ * />
15072
+ * }
15073
+ *
15074
+ * function MyComponent() {
15075
+ * return <LiveboardEmbed
15076
+ * preRenderConfig={{ preRenderId: "someId" }}
15077
+ * liveboardId="libId"
15078
+ * />
15079
+ * }
15080
+ * ```
15081
+ * @example
15082
+ * ```tsx
15083
+ * // Deprecated top-level preRenderId, still supported.
15084
+ * function LandingPageComponent() {
15085
+ * return <PreRenderedLiveboardEmbed preRenderId="someId" liveboardId="libId" />
15086
+ * }
15087
+ * ```
15088
+ */
15089
+ export type PreRenderProps = {
13381
15090
  /**
13382
15091
  * PreRender id to be used for PreRendering the embed.
13383
- * Use PreRender to render the embed in the background and then
13384
- * show or hide the rendered embed using showPreRender or hidePreRender respectively.
13385
- *
13386
- * Use PreRendered react component for pre rendering embed components.
13387
15092
  * @version SDK: 1.25.0 | ThoughtSpot: 9.6.0.cl
13388
- * @example
13389
- * ```js
13390
- * const embed = new LiveboardEmbed('#embed', {
13391
- * ... // other liveboard view config
13392
- * preRenderId: "preRenderId-123"
13393
- * });
13394
- * embed.showPreRender();
13395
- * ```
13396
- * @example
13397
- * ```tsx
13398
- * function LandingPageComponent() {
13399
- * return <PreRenderedLiveboardEmbed preRenderId="someId" liveboardId="libId" />
13400
- * }
13401
- * ```
13402
- * function MyComponent() {
13403
- * return <LiveboardEmbed preRenderId="someId" liveboardId="libId" />
13404
- * }
13405
- * ```
15093
+ * @deprecated Use `preRenderConfig.preRenderId` instead.
13406
15094
  */
13407
15095
  preRenderId: string;
13408
- }
15096
+ /**
15097
+ * Configuration for the pre-render wrapper element.
15098
+ * See {@link PreRenderConfig} for available options.
15099
+ * @version SDK: 1.52.0
15100
+ */
15101
+ preRenderConfig?: PreRenderConfig;
15102
+ } | {
15103
+ /**
15104
+ * PreRender id to be used for PreRendering the embed.
15105
+ * @version SDK: 1.25.0 | ThoughtSpot: 9.6.0.cl
15106
+ * @deprecated Use `preRenderConfig.preRenderId` instead.
15107
+ */
15108
+ preRenderId?: string;
15109
+ /**
15110
+ * Configuration for the pre-render wrapper element. `preRenderId` is
15111
+ * required here when the top-level `preRenderId` prop is not passed.
15112
+ * See {@link PreRenderConfig} for available options.
15113
+ * @version SDK: 1.52.0
15114
+ */
15115
+ preRenderConfig: PreRenderConfig & {
15116
+ preRenderId: string;
15117
+ };
15118
+ };
13409
15119
  /**
13410
15120
  * React component for Search Embed.
13411
15121
  * @example
@@ -13419,7 +15129,7 @@ export interface PreRenderProps {
13419
15129
  * ```
13420
15130
  */
13421
15131
  declare const SearchEmbed$1: React$1.ForwardRefExoticComponent<SearchProps & React$1.RefAttributes<SearchEmbed>>;
13422
- export declare const PreRenderedSearchEmbed: React$1.ForwardRefExoticComponent<SearchProps & PreRenderProps & React$1.RefAttributes<SearchEmbed>>;
15132
+ export declare const PreRenderedSearchEmbed: React$1.ForwardRefExoticComponent<(SearchProps & PreRenderProps) & React$1.RefAttributes<SearchEmbed>>;
13423
15133
  export interface AppProps extends EmbedProps, AppViewConfig {
13424
15134
  }
13425
15135
  /**
@@ -13454,7 +15164,7 @@ declare const AppEmbed$1: React$1.ForwardRefExoticComponent<AppProps & React$1.R
13454
15164
  * }
13455
15165
  * ```
13456
15166
  */
13457
- export declare const PreRenderedAppEmbed: React$1.ForwardRefExoticComponent<AppProps & PreRenderProps & React$1.RefAttributes<AppEmbed>>;
15167
+ export declare const PreRenderedAppEmbed: React$1.ForwardRefExoticComponent<(AppProps & PreRenderProps) & React$1.RefAttributes<AppEmbed>>;
13458
15168
  export interface LiveboardProps extends EmbedProps, LiveboardViewConfig {
13459
15169
  }
13460
15170
  /**
@@ -13493,7 +15203,7 @@ declare const LiveboardEmbed$1: React$1.ForwardRefExoticComponent<LiveboardProps
13493
15203
  * }
13494
15204
  * ```
13495
15205
  */
13496
- export declare const PreRenderedLiveboardEmbed: React$1.ForwardRefExoticComponent<LiveboardProps & PreRenderProps & React$1.RefAttributes<LiveboardEmbed>>;
15206
+ export declare const PreRenderedLiveboardEmbed: React$1.ForwardRefExoticComponent<(LiveboardProps & PreRenderProps) & React$1.RefAttributes<LiveboardEmbed>>;
13497
15207
  export interface SearchBarEmbedProps extends EmbedProps, SearchBarViewConfig {
13498
15208
  }
13499
15209
  /**
@@ -13527,7 +15237,7 @@ declare const SearchBarEmbed$1: React$1.ForwardRefExoticComponent<SearchBarEmbed
13527
15237
  * }
13528
15238
  * ```
13529
15239
  */
13530
- export declare const PreRenderedSearchBarEmbed: React$1.ForwardRefExoticComponent<SearchBarEmbedProps & PreRenderProps & React$1.RefAttributes<SearchBarEmbed>>;
15240
+ export declare const PreRenderedSearchBarEmbed: React$1.ForwardRefExoticComponent<(SearchBarEmbedProps & PreRenderProps) & React$1.RefAttributes<SearchBarEmbed>>;
13531
15241
  export interface SpotterEmbedProps extends EmbedProps, SpotterEmbedViewConfig {
13532
15242
  }
13533
15243
  export interface ConversationEmbedProps extends EmbedProps, ConversationViewConfig {
@@ -13620,7 +15330,7 @@ export declare const SpotterMessage: React$1.ForwardRefExoticComponent<{
13620
15330
  * }
13621
15331
  * ```
13622
15332
  */
13623
- export declare const PreRenderedConversationEmbed: React$1.ForwardRefExoticComponent<SpotterEmbedProps & PreRenderProps & React$1.RefAttributes<SpotterEmbed>>;
15333
+ export declare const PreRenderedConversationEmbed: React$1.ForwardRefExoticComponent<(SpotterEmbedProps & PreRenderProps) & React$1.RefAttributes<SpotterEmbed>>;
13624
15334
  export type EmbedComponent = typeof SearchEmbed$1 | typeof AppEmbed$1 | typeof LiveboardEmbed$1 | typeof SearchBarEmbed$1 | typeof ConversationMessage$1 | typeof SpotterMessage | typeof SpotterEmbed$1 | typeof ConversationEmbed$1;
13625
15335
  /**
13626
15336
  * Get a reference to the embed component to trigger events on the component.
@@ -13630,7 +15340,7 @@ export type EmbedComponent = typeof SearchEmbed$1 | typeof AppEmbed$1 | typeof L
13630
15340
  * const ref = useEmbedRef();
13631
15341
  * useEffect(() => {
13632
15342
  * ref.current.trigger(
13633
- * EmbedEvent.UpdateRuntimeFilter,
15343
+ * HostEvent.UpdateRuntimeFilters,
13634
15344
  * [{ columnName: 'name', operator: 'EQ', values: ['value']}]);
13635
15345
  * }, [])
13636
15346
  * return <LiveboardEmbed ref={ref} liveboardId={<id>} />