@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;
@@ -1285,7 +1407,9 @@ declare enum AuthType {
1285
1407
  }
1286
1408
  /**
1287
1409
  *
1288
- * **Note**: This attribute is not supported in the classic (V1) homepage experience.
1410
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
1411
+ * deprecated. This attribute applies to V3 (ModularWithStylingChanges) and
1412
+ * V4 (Focused) home page experiences.
1289
1413
  *
1290
1414
  */
1291
1415
  export declare enum HomeLeftNavItem {
@@ -1351,7 +1475,14 @@ export declare enum HomeLeftNavItem {
1351
1475
  * Available in the V3 navigation experience.
1352
1476
  * @version SDK: 1.41.0 | ThoughtSpot: 10.12.0.cl
1353
1477
  */
1354
- Favorites = "favorites"
1478
+ Favorites = "favorites",
1479
+ /**
1480
+ * The *Collections* menu option in
1481
+ * the *Insights* left navigation panel.
1482
+ * Shown when collections are enabled on the cluster.
1483
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
1484
+ */
1485
+ Collections = "collections"
1355
1486
  }
1356
1487
  export type DOMSelector = string | HTMLElement;
1357
1488
  /**
@@ -1967,6 +2098,85 @@ export interface FrameParams {
1967
2098
  */
1968
2099
  [key: string]: string | number | boolean | undefined;
1969
2100
  }
2101
+ /**
2102
+ * Configuration for the pre-render wrapper element.
2103
+ * All properties here mirror the top-level preRender properties on
2104
+ * {@link BaseViewConfig} and take precedence over them when both are set,
2105
+ * so existing top-level usage continues to work without any changes.
2106
+ *
2107
+ * @version SDK: 1.52.0
2108
+ * @example
2109
+ * ```js
2110
+ * init({ thoughtSpotHost: '...', authType: AuthType.None });
2111
+ * const embed = new LiveboardEmbed('#tsEmbed', {
2112
+ * preRenderConfig: {
2113
+ * preRenderId: 'my-liveboard',
2114
+ * preRenderContainer: '#my-scroll-container',
2115
+ * doNotTrackPreRenderSize: false,
2116
+ * zIndex: -10,
2117
+ * },
2118
+ * });
2119
+ * embed.preRender();
2120
+ * embed.showPreRender();
2121
+ * ```
2122
+ */
2123
+ export interface PreRenderConfig {
2124
+ /**
2125
+ * Pre-render ID to identify the pre-render instance.
2126
+ * Takes precedence over the top-level `preRenderId` when both are set.
2127
+ *
2128
+ * Matches the embed warmed by `preRender()` to the one revealed by
2129
+ * `showPreRender()`. Embeds sharing an ID share one loaded frame: reuse the ID for
2130
+ * the same view, and give unrelated views their own or they will collide.
2131
+ * Required by `preRender()`, `showPreRender()`, and `hidePreRender()`, which log
2132
+ * and do nothing without it.
2133
+ *
2134
+ * @default undefined
2135
+ */
2136
+ preRenderId?: string;
2137
+ /**
2138
+ * The DOM element or CSS selector string specifying the container into
2139
+ * which the pre-rendered wrapper is inserted.
2140
+ * Takes precedence over the top-level `preRenderContainer` when both are set.
2141
+ *
2142
+ * Set this when your app scrolls inside an element rather than the page (for
2143
+ * example `<body>` has `overflow: hidden`). Point it at the element that actually
2144
+ * scrolls, keep that element mounted while the embed is warm, and prefer a
2145
+ * selector string — it is re-resolved on reposition and so survives a remount,
2146
+ * while a detached element reference cannot be recovered. An invalid selector is
2147
+ * logged and falls back to `document.body`.
2148
+ * See {@link BaseViewConfig.preRenderContainer} for details, including Shadow DOM.
2149
+ *
2150
+ * @default document.body
2151
+ */
2152
+ preRenderContainer?: string | HTMLElement;
2153
+ /**
2154
+ * Disables the `ResizeObserver` that keeps the wrapper sized to the
2155
+ * placeholder element.
2156
+ * Takes precedence over the top-level `doNotTrackPreRenderSize` when both are set.
2157
+ *
2158
+ * Set this only when you size the embed yourself; you then own alignment and must
2159
+ * call `syncPreRenderStyle()` after any change that moves or resizes it. Tracking
2160
+ * already pauses while hidden, so this is not needed to avoid work then.
2161
+ *
2162
+ * @default false
2163
+ */
2164
+ doNotTrackPreRenderSize?: boolean;
2165
+ /**
2166
+ * CSS `z-index` value applied to the pre-render wrapper when hidden.
2167
+ * Override this when the host page's stacking context does not reach `-1000`
2168
+ * and the hidden wrapper still appears above other elements.
2169
+ *
2170
+ * A page that creates its own stacking context — a positioned app shell, a
2171
+ * transformed wrapper, a modal layer — can clamp `-1000`, and the hidden wrapper
2172
+ * then shows through or swallows clicks meant for your UI. Reach for this when you
2173
+ * see a faint panel behind your content, or clicks landing on nothing in the
2174
+ * region where the embed will eventually appear.
2175
+ *
2176
+ * @default -1000
2177
+ */
2178
+ zIndex?: number;
2179
+ }
1970
2180
  /**
1971
2181
  * The common configuration object for an embedded view.
1972
2182
  */
@@ -2051,7 +2261,7 @@ export interface BaseViewConfig extends ApiInterceptFlags {
2051
2261
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
2052
2262
  * const embed = new <EmbedComponent>('#tsEmbed', {
2053
2263
  * ... // other embed view config
2054
- * hiddenActions: [Action.Download, Action.Export],
2264
+ * hiddenActions: [Action.Download, Action.ExportTML],
2055
2265
  * });
2056
2266
  * ```
2057
2267
  * @important
@@ -2073,7 +2283,7 @@ export interface BaseViewConfig extends ApiInterceptFlags {
2073
2283
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
2074
2284
  * const embed = new <EmbedComponent>('#tsEmbed', {
2075
2285
  * ... // other embed view config
2076
- * visibleActions: [Action.Download, Action.Export],
2286
+ * visibleActions: [Action.Download, Action.ExportTML],
2077
2287
  * });
2078
2288
  * ```
2079
2289
  */
@@ -2158,6 +2368,7 @@ export interface BaseViewConfig extends ApiInterceptFlags {
2158
2368
  *
2159
2369
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`, `SearchEmbed`, `SpotterAgentEmbed`, `SpotterEmbed`, `SearchBarEmbed`
2160
2370
  * @version SDK: 1.25.0 | ThoughtSpot: 9.6.0.cl, 9.8.0.sw
2371
+ * @deprecated Use {@link PreRenderConfig.preRenderId} via `preRenderConfig` instead.
2161
2372
  * @example
2162
2373
  * ```js
2163
2374
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
@@ -2177,6 +2388,7 @@ export interface BaseViewConfig extends ApiInterceptFlags {
2177
2388
  * @type {boolean}
2178
2389
  * @default false
2179
2390
  * @version SDK: 1.24.0 | ThoughtSpot: 9.4.0.cl, 9.4.0.sw
2391
+ * @deprecated Use {@link PreRenderConfig.doNotTrackPreRenderSize} via `preRenderConfig` instead.
2180
2392
  * @example
2181
2393
  * ```js
2182
2394
  * // Disable tracking PreRender size in the configuration
@@ -2218,6 +2430,7 @@ export interface BaseViewConfig extends ApiInterceptFlags {
2218
2430
  *
2219
2431
  * @type {string | HTMLElement}
2220
2432
  * @version SDK: 1.49.2 | ThoughtSpot: *
2433
+ * @deprecated Use {@link PreRenderConfig.preRenderContainer} via `preRenderConfig` instead.
2221
2434
  * @example
2222
2435
  * ```js
2223
2436
  * const embed = new LiveboardEmbed('#tsEmbed', {
@@ -2228,6 +2441,27 @@ export interface BaseViewConfig extends ApiInterceptFlags {
2228
2441
  * ```
2229
2442
  */
2230
2443
  preRenderContainer?: string | HTMLElement;
2444
+ /**
2445
+ * Configuration for the pre-render wrapper element.
2446
+ * All properties here mirror the top-level preRender properties on
2447
+ * `BaseViewConfig` and take precedence over them when both are set,
2448
+ * so existing top-level usage continues to work without any changes.
2449
+ * See {@link PreRenderConfig} for available options.
2450
+ *
2451
+ * @version SDK: 1.52.0
2452
+ * @example
2453
+ * ```js
2454
+ * const embed = new LiveboardEmbed('#tsEmbed', {
2455
+ * preRenderConfig: {
2456
+ * preRenderId: 'my-liveboard',
2457
+ * zIndex: -10,
2458
+ * },
2459
+ * });
2460
+ * embed.preRender();
2461
+ * embed.showPreRender();
2462
+ * ```
2463
+ */
2464
+ preRenderConfig?: PreRenderConfig;
2231
2465
  /**
2232
2466
  * Enable the V2 shell. This can provide performance benefits
2233
2467
  * due to a lighter-weight shell.
@@ -2298,6 +2532,26 @@ export interface BaseViewConfig extends ApiInterceptFlags {
2298
2532
  * ```
2299
2533
  */
2300
2534
  overrideOrgId?: number;
2535
+ /**
2536
+ * Overrides the browser history behavior for embedding application users.
2537
+ * This parameter changes standard history navigation (pushState) into a
2538
+ * state replacement (replaceState), preventing users from getting trapped in
2539
+ * back-button loops inside the embedded iframe environment.
2540
+ * The overrideHistoryState setting is honored only if the
2541
+ * application is running within an embedded context.
2542
+ *
2543
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`, `SearchEmbed`, `SpotterAgentEmbed`, `SpotterEmbed`, `SearchBarEmbed`
2544
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
2545
+ * @example
2546
+ * ```js
2547
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
2548
+ * const embed = new <EmbedComponent>('#tsEmbed', {
2549
+ * // ... other embed view config
2550
+ * overrideHistoryState: true,
2551
+ * });
2552
+ * ```
2553
+ */
2554
+ overrideHistoryState?: boolean;
2301
2555
  /**
2302
2556
  * Flag to override the *Open Link in New Tab* context
2303
2557
  * menu option.
@@ -2631,7 +2885,7 @@ export interface HomePageConfig {
2631
2885
  *
2632
2886
  * const embed = new AppEmbed('#tsEmbed', {
2633
2887
  * ... //other embed view config
2634
- * hiddenListColumns : [ListPageColumns.Favorite,ListPageColumns.Author],
2888
+ * hiddenListColumns : [ListPageColumns.Favorites,ListPageColumns.Author],
2635
2889
  * })
2636
2890
  * ```
2637
2891
  */
@@ -2641,7 +2895,9 @@ export interface HomePageConfig {
2641
2895
  * To specify the modules, import the `HomepageModule` enum.
2642
2896
  * For example: `hiddenHomepageModules = [HomepageModule.MyLibrary]`
2643
2897
  *
2644
- * **Note**: This attribute is not supported in the classic (v1) experience.
2898
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
2899
+ * deprecated. This attribute applies to V3 (ModularWithStylingChanges)
2900
+ * and V4 (Focused) home page experiences.
2645
2901
  *
2646
2902
  * Supported embed types: `AppEmbed`
2647
2903
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl, 10.1.0.sw
@@ -2650,7 +2906,7 @@ export interface HomePageConfig {
2650
2906
  * import { HomepageModule } from '@thoughtspot/visual-embed-sdk';
2651
2907
  *
2652
2908
  * const embed = new AppEmbed('#tsEmbed', {
2653
- * ... // V2/V3 navigation and home page experience attributes
2909
+ * ... // V3 navigation and home page experience attributes
2654
2910
  * hiddenHomepageModules : [HomepageModule.Favorite,HomepageModule.Learning],
2655
2911
  * //...other embed view configuration attributes
2656
2912
  * })
@@ -2661,8 +2917,11 @@ export interface HomePageConfig {
2661
2917
  * Reorder home page modules.
2662
2918
  * To specify the modules, import the `HomepageModule` enum.
2663
2919
  * For example: `reorderedHomepageModules = [HomepageModule.MyLibrary,
2664
- * HomepageModule.Watchlist]` **Note**: This attribute is not supported in the
2665
- * classic (v1) homepage.
2920
+ * HomepageModule.Watchlist]`
2921
+ *
2922
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
2923
+ * deprecated. This attribute applies to V3 (ModularWithStylingChanges)
2924
+ * and V4 (Focused) home page experiences.
2666
2925
  *
2667
2926
  * Supported embed types: `AppEmbed`
2668
2927
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl, 10.1.0.sw
@@ -2671,7 +2930,7 @@ export interface HomePageConfig {
2671
2930
  * import { HomepageModule } from '@thoughtspot/visual-embed-sdk';
2672
2931
  *
2673
2932
  * const embed = new AppEmbed('#tsEmbed', {
2674
- * ...//V2/V3 navigation and home page experience attributes
2933
+ * ...//V3 navigation and home page experience attributes
2675
2934
  * reorderedHomepageModules:[HomepageModule.Favorite,HomepageModule.MyLibrary],
2676
2935
  * //... other embed view configuration attributes
2677
2936
  * })
@@ -2683,7 +2942,9 @@ export interface HomePageConfig {
2683
2942
  * on the home page left navigation panel.
2684
2943
  * To specify the menu items, import the `HomeLeftNavItem` enum.
2685
2944
  *
2686
- * **Note**: This attribute is not supported in the classic (v1) homepage.
2945
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
2946
+ * deprecated. This attribute applies to V3 (ModularWithStylingChanges)
2947
+ * and V4 (Focused) home page experiences.
2687
2948
  *
2688
2949
  * Supported embed types: `AppEmbed`
2689
2950
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl, 10.1.0.sw
@@ -2937,6 +3198,25 @@ export interface LiveboardAppEmbedViewConfig {
2937
3198
  * ```
2938
3199
  */
2939
3200
  enable2ColumnLayout?: boolean;
3201
+ /**
3202
+ * This attribute keeps an embedded Liveboard on the 12-column layout at
3203
+ * every width, instead of switching to the two-column or single-column
3204
+ * layout as the container narrows.
3205
+ *
3206
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`
3207
+ * @type {boolean}
3208
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
3209
+ * @default false
3210
+ * @example
3211
+ * ```js
3212
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
3213
+ * const embed = new <EmbedComponent>('#tsEmbed', {
3214
+ * ... // other embed view config
3215
+ * isLiveboardAlwaysOn12ColLayout: true,
3216
+ * })
3217
+ * ```
3218
+ */
3219
+ isLiveboardAlwaysOn12ColLayout?: boolean;
2940
3220
  /**
2941
3221
  * This flag can be used to enable the compact header in Liveboard
2942
3222
  *
@@ -3041,6 +3321,26 @@ export interface LiveboardAppEmbedViewConfig {
3041
3321
  * ```
3042
3322
  */
3043
3323
  coverAndFilterOptionInPDF?: boolean;
3324
+ /**
3325
+ * Sets the gutter space (in pixels) between the visualization tiles of
3326
+ * an embedded Liveboard grid layout and its outer layout padding.
3327
+ * Accepts a non-negative integer; `0` renders the tiles without any gap
3328
+ * and removes the outer padding. When omitted, the gutter saved in the
3329
+ * Liveboard's styling settings (or the ThoughtSpot default) applies.
3330
+ *
3331
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`
3332
+ * @type {number}
3333
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
3334
+ * @example
3335
+ * ```js
3336
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
3337
+ * const embed = new <EmbedComponent>('#tsEmbed', {
3338
+ * ... // other embed view config
3339
+ * liveboardGutter: 8,
3340
+ * })
3341
+ * ```
3342
+ */
3343
+ liveboardGutter?: number;
3044
3344
  /**
3045
3345
  * This flag is used to enable or disable the new centralized Liveboard filter UX
3046
3346
  * (v2). When enabled, a unified modal is used to manage and update multiple filters
@@ -3059,6 +3359,24 @@ export interface LiveboardAppEmbedViewConfig {
3059
3359
  * ```
3060
3360
  */
3061
3361
  isCentralizedLiveboardFilterUXEnabled?: boolean;
3362
+ /**
3363
+ * This flag is used to enable or disable scoped Liveboard filtering.
3364
+ * When enabled, filters and parameters can be scoped to a group of
3365
+ * visualizations on a Liveboard, in addition to the Liveboard and
3366
+ * tab levels.
3367
+ *
3368
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`
3369
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
3370
+ * @example
3371
+ * ```js
3372
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
3373
+ * const embed = new <EmbedComponent>('#tsEmbed', {
3374
+ * ... // other embed view config
3375
+ * isScopedLiveboardFilteringEnabled: true,
3376
+ * })
3377
+ * ```
3378
+ */
3379
+ isScopedLiveboardFilteringEnabled?: boolean;
3062
3380
  /**
3063
3381
  * This flag is used to enable or disable the link parameters in liveboard.
3064
3382
  *
@@ -3242,7 +3560,9 @@ export declare enum RuntimeFilterOp {
3242
3560
  * via `hiddenHomepageModules` and reordered via
3243
3561
  * `reorderedHomepageModules`.
3244
3562
  *
3245
- * **Note**: This option is not supported in the classic (v1) experience.
3563
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
3564
+ * deprecated. These modules apply to V3 (ModularWithStylingChanges) and
3565
+ * V4 (Focused) home page experiences.
3246
3566
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl, 10.1.0.sw
3247
3567
  */
3248
3568
  export declare enum HomepageModule {
@@ -3451,7 +3771,7 @@ export declare enum EmbedEvent {
3451
3771
  * @returns nonFilteredColumns - The columns that were not filtered
3452
3772
  * @example
3453
3773
  * ```js
3454
- * searchEmbed.on(EmbedEvent.DrillDown, {
3774
+ * searchEmbed.on(EmbedEvent.Drilldown, {
3455
3775
  * points: {
3456
3776
  * clickedPoint,
3457
3777
  * selectedPoints: selectedPoint
@@ -3512,7 +3832,7 @@ export declare enum EmbedEvent {
3512
3832
  * @version SDK: 1.1.0 | ThoughtSpot: ts7.may.cl, 8.4.1.sw
3513
3833
  * @example
3514
3834
  * ```js
3515
- * appEmbed.on(EmbedEvent.customAction, payload => {
3835
+ * appEmbed.on(EmbedEvent.CustomAction, payload => {
3516
3836
  * const data = payload.data;
3517
3837
  * if (data.id === 'insert Custom Action ID here') {
3518
3838
  * console.log('Custom Action event:', data.embedAnswerData);
@@ -3778,8 +4098,8 @@ export declare enum EmbedEvent {
3778
4098
  *
3779
4099
  * **Note**: This event is deprecated in v1.21.0.
3780
4100
  * To fire an event when a download action is initiated on a chart or table,
3781
- * use `EmbedEvent.DownloadAsPng`, `EmbedEvent.DownloadAsPDF`,
3782
- * `EmbedEvent.DownloadAsCSV`, or `EmbedEvent.DownloadAsXLSX`
4101
+ * use `EmbedEvent.DownloadAsPng`, `EmbedEvent.DownloadAsPdf`,
4102
+ * `EmbedEvent.DownloadAsCsv`, or `EmbedEvent.DownloadAsXlsx`
3783
4103
  * @version SDK: 1.11.0 | ThoughtSpot: 8.3.0.cl, 8.4.1.sw
3784
4104
  * @example
3785
4105
  * ```js
@@ -3829,10 +4149,10 @@ export declare enum EmbedEvent {
3829
4149
  * @example
3830
4150
  * ```js
3831
4151
  * //emit when action starts
3832
- * searchEmbed.on(EmbedEvent.DownloadAsCSV, payload => {
4152
+ * searchEmbed.on(EmbedEvent.DownloadAsCsv, payload => {
3833
4153
  * console.log('download CSV', payload)}, {start: true })
3834
4154
  * //emit when action ends
3835
- * searchEmbed.on(EmbedEvent.DownloadAsCSV, payload => {
4155
+ * searchEmbed.on(EmbedEvent.DownloadAsCsv, payload => {
3836
4156
  * console.log('download CSV', payload)})
3837
4157
  * ```
3838
4158
  */
@@ -4231,11 +4551,19 @@ export declare enum EmbedEvent {
4231
4551
  * Emitted when a user changes any filter on a Liveboard.
4232
4552
  * Returns filter type and name, column name and ID, and runtime
4233
4553
  * filter details.
4554
+ * The payload includes an optional `applicability` attribute indicating the
4555
+ * scope of the changed filter. It contains a `level` (`LIVEBOARD`,
4556
+ * `TAB`, or `GROUP`) and, when `level` is `TAB` or `GROUP`, a
4557
+ * `targetId` with the GUID of the target. At `LIVEBOARD` level there
4558
+ * is no `targetId`, since the filter applies to the whole Liveboard.
4559
+ * The `applicability` attribute is available from SDK: 1.53.0 |
4560
+ * ThoughtSpot: 26.10.0.cl.
4234
4561
  * @example
4235
4562
  *
4236
4563
  * ```js
4237
4564
  * LiveboardEmbed.on(EmbedEvent.FilterChanged, (payload) => {
4238
4565
  * console.log('payload', payload);
4566
+ * // payload.data optionally includes applicability: { level, targetId }
4239
4567
  * })
4240
4568
  * ```
4241
4569
  * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl, 9.5.0.sw
@@ -4427,9 +4755,17 @@ export declare enum EmbedEvent {
4427
4755
  /**
4428
4756
  * Emitted when parameter changes in an Answer
4429
4757
  * or Liveboard.
4758
+ * The payload includes an optional `applicability` attribute indicating the
4759
+ * scope of the changed parameter. It contains a `level` (`LIVEBOARD`,
4760
+ * `TAB`, or `GROUP`) and, when `level` is `TAB` or `GROUP`, a
4761
+ * `targetId` with the GUID of the target. At `LIVEBOARD` level there
4762
+ * is no `targetId`, since the parameter applies to the whole Liveboard.
4763
+ * The `applicability` attribute is available from SDK: 1.53.0 |
4764
+ * ThoughtSpot: 26.10.0.cl.
4430
4765
  * ```js
4431
4766
  * liveboardEmbed.on(EmbedEvent.ParameterChanged, (payload) => {
4432
4767
  * console.log('payload', payload);
4768
+ * // payload.data optionally includes applicability: { level, targetId }
4433
4769
  * })
4434
4770
  * ```
4435
4771
  * @version SDK: 1.29.0 | ThoughtSpot: 10.3.0.cl
@@ -4731,6 +5067,158 @@ export declare enum EmbedEvent {
4731
5067
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
4732
5068
  */
4733
5069
  SpotterConversationDeleted = "spotterConversationDeleted",
5070
+ /**
5071
+ * Emitted when the header Share button is clicked. Fires `Start` then `End`
5072
+ * to bracket the interaction. App→host counterpart of the
5073
+ * `ShareSpotterConversation` host event (user-driven vs programmatic open).
5074
+ * @example
5075
+ * ```js
5076
+ * spotterEmbed.on(EmbedEvent.SpotterShareConversationButtonHeaderClicked, (payload) => {
5077
+ * // payload: { convId: string }
5078
+ * })
5079
+ * ```
5080
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5081
+ */
5082
+ SpotterShareConversationButtonHeaderClicked = "spotterShareConversationButtonHeaderClicked",
5083
+ /**
5084
+ * Emitted when the sidebar Share item is clicked. Fires `Start` then `End`
5085
+ * to bracket the interaction.
5086
+ * @example
5087
+ * ```js
5088
+ * spotterEmbed.on(EmbedEvent.SpotterShareConversationMenuItemSidebarClicked, (payload) => {
5089
+ * // payload: { convId: string }
5090
+ * })
5091
+ * ```
5092
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5093
+ */
5094
+ SpotterShareConversationMenuItemSidebarClicked = "spotterShareConversationMenuItemSidebarClicked",
5095
+ /**
5096
+ * Emitted when a Spotter conversation is shared (recipients added, or a new
5097
+ * share created). The host builds its own link from shareId/convId + its
5098
+ * configured CONVERSATION_URL — no link string is sent. Distinct from
5099
+ * `SpotterShareModalConfirmButtonClicked`, which fires at click time before
5100
+ * the save resolves.
5101
+ * @example
5102
+ * ```js
5103
+ * spotterEmbed.on(EmbedEvent.SpotterConversationShared, (payload) => {
5104
+ * // payload: { convId: string, shareId: string,
5105
+ * // recipientsAdded: string[], recipientsRemoved: string[] }
5106
+ * })
5107
+ * ```
5108
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5109
+ */
5110
+ SpotterConversationShared = "spotterConversationShared",
5111
+ /**
5112
+ * Emitted when access to a shared Spotter conversation is revoked
5113
+ * (recipients removed). `fullyRevoked` is true when the last sharee is removed
5114
+ * and the share is deleted entirely.
5115
+ * @example
5116
+ * ```js
5117
+ * spotterEmbed.on(EmbedEvent.SpotterConversationShareRevoked, (payload) => {
5118
+ * // payload: { convId: string, shareId: string,
5119
+ * // recipientsRemoved: string[], fullyRevoked: boolean }
5120
+ * })
5121
+ * ```
5122
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5123
+ */
5124
+ SpotterConversationShareRevoked = "spotterConversationShareRevoked",
5125
+ /**
5126
+ * Emitted when a recipient opens a shared Spotter conversation (read-only
5127
+ * view). No shareId available viewer-side.
5128
+ * @example
5129
+ * ```js
5130
+ * spotterEmbed.on(EmbedEvent.SpotterSharedConversationViewed, (payload) => {
5131
+ * // payload: { convId: string, sourceConvId: string }
5132
+ * // convId = resolved snapshot conv id; sourceConvId = the shared URL id
5133
+ * })
5134
+ * ```
5135
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5136
+ */
5137
+ SpotterSharedConversationViewed = "spotterSharedConversationViewed",
5138
+ /**
5139
+ * Emitted when the user toggles the share-modal "include new messages since
5140
+ * last shared version" checkbox.
5141
+ * @example
5142
+ * ```js
5143
+ * spotterEmbed.on(EmbedEvent.SpotterShareIncludeNewMessagesCheckboxToggled, (payload) => {
5144
+ * // payload: { convId: string, includeNewMessages: boolean }
5145
+ * })
5146
+ * ```
5147
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5148
+ */
5149
+ SpotterShareIncludeNewMessagesCheckboxToggled = "spotterShareIncludeNewMessagesCheckboxToggled",
5150
+ /**
5151
+ * Emitted when the user dismisses the stale-snapshot info banner via its
5152
+ * cross (distinct from the include-new-messages checkbox toggle).
5153
+ * @example
5154
+ * ```js
5155
+ * spotterEmbed.on(EmbedEvent.SpotterShareStaleInfoBannerDismissed, (payload) => {
5156
+ * // payload: { convId: string }
5157
+ * })
5158
+ * ```
5159
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5160
+ */
5161
+ SpotterShareStaleInfoBannerDismissed = "spotterShareStaleInfoBannerDismissed",
5162
+ /**
5163
+ * Emitted when the modal Share (confirm) button is clicked — fires at click
5164
+ * time, before the save resolves. Distinct from the `SpotterConversationShared`
5165
+ * / `SpotterConversationShareRevoked` result events.
5166
+ * @example
5167
+ * ```js
5168
+ * spotterEmbed.on(EmbedEvent.SpotterShareModalConfirmButtonClicked, (payload) => {
5169
+ * // payload: { convId: string }
5170
+ * })
5171
+ * ```
5172
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5173
+ */
5174
+ SpotterShareModalConfirmButtonClicked = "spotterShareModalConfirmButtonClicked",
5175
+ /**
5176
+ * Emitted when the share modal is dismissed via the Cancel button.
5177
+ * @example
5178
+ * ```js
5179
+ * spotterEmbed.on(EmbedEvent.SpotterShareModalCancelButtonClicked, (payload) => {
5180
+ * // payload: { convId: string }
5181
+ * })
5182
+ * ```
5183
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5184
+ */
5185
+ SpotterShareModalCancelButtonClicked = "spotterShareModalCancelButtonClicked",
5186
+ /**
5187
+ * Emitted when a recipient leaves the read-only shared view via the Exit
5188
+ * button.
5189
+ * @example
5190
+ * ```js
5191
+ * spotterEmbed.on(EmbedEvent.SpotterSharedConversationExitButtonClicked, (payload) => {
5192
+ * // payload: { convId: string }
5193
+ * })
5194
+ * ```
5195
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
5196
+ */
5197
+ SpotterSharedConversationExitButtonClicked = "spotterSharedConversationExitButtonClicked",
5198
+ /**
5199
+ * Emitted when a Spotter conversation is pinned.
5200
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
5201
+ * @example
5202
+ * ```js
5203
+ * spotterEmbed.on(EmbedEvent.SpotterConversationPinned, (payload) => {
5204
+ * console.log('Conversation pinned', payload);
5205
+ * // payload: { conversationId: string, pinnedAt: string (ISO 8601) }
5206
+ * })
5207
+ * ```
5208
+ */
5209
+ SpotterConversationPinned = "spotterConversationPinned",
5210
+ /**
5211
+ * Emitted when a Spotter conversation is unpinned.
5212
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
5213
+ * @example
5214
+ * ```js
5215
+ * spotterEmbed.on(EmbedEvent.SpotterConversationUnpinned, (payload) => {
5216
+ * console.log('Conversation unpinned', payload);
5217
+ * // payload: { conversationId: string, unpinnedAt: string (ISO 8601) }
5218
+ * })
5219
+ * ```
5220
+ */
5221
+ SpotterConversationUnpinned = "spotterConversationUnpinned",
4734
5222
  /**
4735
5223
  * Emitted when a Spotter conversation is selected/clicked.
4736
5224
  * @example
@@ -4743,6 +5231,30 @@ export declare enum EmbedEvent {
4743
5231
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
4744
5232
  */
4745
5233
  SpotterConversationSelected = "spotterConversationSelected",
5234
+ /**
5235
+ * Emitted when the Spotter agent finishes streaming/rendering a response.
5236
+ * Includes the conversation and message identifiers so the host app can
5237
+ * fetch the full conversation history via the REST API if needed.
5238
+ *
5239
+ * The payload data has the shape `{ convId: string, messageId: string }`.
5240
+ *
5241
+ * Works with SpotterEmbed as well as AppEmbed (when Spotter is reached
5242
+ * inside the full application).
5243
+ * @example
5244
+ * ```js
5245
+ * spotterEmbed.on(EmbedEvent.SpotterResponseComplete, (payload) => {
5246
+ * console.log('Spotter response complete', payload);
5247
+ * })
5248
+ * ```
5249
+ * @example
5250
+ * ```js
5251
+ * appEmbed.on(EmbedEvent.SpotterResponseComplete, (payload) => {
5252
+ * console.log('Spotter response complete', payload);
5253
+ * })
5254
+ * ```
5255
+ * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.9.0.cl
5256
+ */
5257
+ SpotterResponseComplete = "spotterResponseComplete",
4746
5258
  /**
4747
5259
  * @hidden
4748
5260
  * Emitted when the auth token is about to get expired and needs to be refreshed.
@@ -5096,6 +5608,7 @@ export declare enum HostEvent {
5096
5608
  * const url = await appEmbed.trigger(HostEvent.GetIframeUrl, {}, ContextType.Answer);
5097
5609
  * console.log("iFrameURL", url);
5098
5610
  * ```
5611
+ * @returns iframeUrl - The URL currently loaded in the embedded iframe.
5099
5612
  * @version SDK: 1.35.0 | ThoughtSpot: 10.4.0.cl
5100
5613
  */
5101
5614
  GetIframeUrl = "GetIframeUrl",
@@ -5222,6 +5735,17 @@ export declare enum HostEvent {
5222
5735
  * name: string,
5223
5736
  * type: ATTRIBUTE/MEASURE,
5224
5737
  * dataType: INT64/CHAR/DATE }
5738
+ *
5739
+ * `applicability` - Optional. Scopes the filter to a specific target,
5740
+ * for example, a single Liveboard tab, so the panel for the correct
5741
+ * scoped filter is opened. Available from SDK: 1.53.0 |
5742
+ * ThoughtSpot: 26.10.0.cl. Includes the following attributes:
5743
+ *
5744
+ * - `level`: The scope of the filter: `LIVEBOARD`, `TAB`, or `GROUP`.
5745
+ * - `targetId`: The GUID of the target, for example, the tab GUID.
5746
+ * Required when `level` is `TAB` or `GROUP`. Do not pass it when
5747
+ * `level` is `LIVEBOARD`, since the filter applies to the whole
5748
+ * Liveboard. Omitting `applicability` targets the `LIVEBOARD` level.
5225
5749
  * @example
5226
5750
  * ```js
5227
5751
  * searchEmbed.trigger(HostEvent.OpenFilter,
@@ -5234,6 +5758,14 @@ export declare enum HostEvent {
5234
5758
  * ```
5235
5759
  * @example
5236
5760
  * ```js
5761
+ * // Open a filter scoped to a specific Liveboard tab
5762
+ * liveboardEmbed.trigger(HostEvent.OpenFilter, {
5763
+ * column: { columnId: '<column-GUID>' },
5764
+ * applicability: { level: 'TAB', targetId: '<tab-GUID>' }
5765
+ * });
5766
+ * ```
5767
+ * @example
5768
+ * ```js
5237
5769
  * // Open filter from search context
5238
5770
  * import { ContextType } from '@thoughtspot/visual-embed-sdk';
5239
5771
  * searchEmbed.trigger(HostEvent.OpenFilter, {
@@ -5244,29 +5776,96 @@ export declare enum HostEvent {
5244
5776
  */
5245
5777
  OpenFilter = "openFilter",
5246
5778
  /**
5247
- * Add columns to the current search query.
5248
- * @param - { columnIds: string[] }
5779
+ * Open the add-filter modal of a Liveboard, the same dialog that the
5780
+ * *Add filter* button in the Liveboard edit header opens, so the host
5781
+ * app can start the add-filter flow from its own UI.
5782
+ *
5783
+ * The Liveboard must be in edit mode; the event is ignored otherwise.
5784
+ * Hiding the *Add filter* button with `hiddenActions:
5785
+ * [Action.AddFilter]` does not block this event, but disabling it with
5786
+ * `disabledActions` does.
5787
+ *
5788
+ * Unlike {@link HostEvent.OpenFilter}, which opens the panel of an
5789
+ * existing filter, this event starts the creation of a new filter.
5790
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
5249
5791
  * @example
5250
5792
  * ```js
5251
- * searchEmbed.trigger(HostEvent.AddColumns, { columnIds: ['<column-GUID>','<column-GUID>'] })
5793
+ * liveboardEmbed.trigger(HostEvent.OpenAddFilterModal);
5252
5794
  * ```
5795
+ */
5796
+ OpenAddFilterModal = "openAddFilterModal",
5797
+ /**
5798
+ * Open the add-parameter panel of a Liveboard, the same panel that the
5799
+ * *Add parameter* button in the Liveboard edit header opens.
5800
+ * Mirrors {@link HostEvent.OpenAddFilterModal} for parameters.
5801
+ *
5802
+ * The Liveboard must be in edit mode; the event is ignored otherwise.
5803
+ * Hiding the *Add parameter* button with `hiddenActions:
5804
+ * [Action.AddParameter]` does not block this event, but disabling it
5805
+ * with `disabledActions` does.
5806
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
5253
5807
  * @example
5254
5808
  * ```js
5255
- * // Add columns from search context
5256
- * import { ContextType } from '@thoughtspot/visual-embed-sdk';
5257
- * searchEmbed.trigger(HostEvent.AddColumns, {
5258
- * columnIds: ['col-guid-1', 'col-guid-2']
5259
- * }, ContextType.Search);
5809
+ * liveboardEmbed.trigger(HostEvent.OpenAddParameterModal);
5260
5810
  * ```
5261
- * @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl
5262
5811
  */
5263
- AddColumns = "addColumns",
5812
+ OpenAddParameterModal = "openAddParameterModal",
5264
5813
  /**
5265
- * Remove a column from the current search query.
5266
- * @param - { columnId: string }
5814
+ * Open the parameter panel for a particular parameter on a Liveboard.
5815
+ * Mirrors {@link HostEvent.OpenFilter} for parameters.
5816
+ * @param - Includes the following keys:
5817
+ * - `parameter`: An object identifying the parameter to open, for
5818
+ * example, `{ parameterId: '<parameter-GUID>' }`.
5819
+ * - `applicability`: Optional. Scopes the parameter to a specific target,
5820
+ * for example, a single Liveboard tab, so the panel for the correct
5821
+ * scoped parameter is opened. Includes the following attributes:
5822
+ *
5823
+ * - `level`: The scope of the parameter: `LIVEBOARD`, `TAB`, or `GROUP`.
5824
+ * - `targetId`: The GUID of the target, for example, the tab GUID.
5825
+ * Required when `level` is `TAB` or `GROUP`. Do not pass it when
5826
+ * `level` is `LIVEBOARD`, since the parameter applies to the whole
5827
+ * Liveboard. Omitting `applicability` targets the `LIVEBOARD` level.
5267
5828
  * @example
5268
5829
  * ```js
5269
- * searchEmbed.trigger(HostEvent.RemoveColumn, { columnId: '<column-Guid>' })
5830
+ * liveboardEmbed.trigger(HostEvent.OpenParameter, {
5831
+ * parameter: { parameterId: '<parameter-GUID>' }
5832
+ * });
5833
+ * ```
5834
+ * @example
5835
+ * ```js
5836
+ * // Open a parameter scoped to a specific group
5837
+ * liveboardEmbed.trigger(HostEvent.OpenParameter, {
5838
+ * parameter: { parameterId: '<parameter-GUID>' },
5839
+ * applicability: { level: 'GROUP', targetId: '<group-GUID>' }
5840
+ * });
5841
+ * ```
5842
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
5843
+ */
5844
+ OpenParameter = "openParameter",
5845
+ /**
5846
+ * Add columns to the current search query.
5847
+ * @param - { columnIds: string[] }
5848
+ * @example
5849
+ * ```js
5850
+ * searchEmbed.trigger(HostEvent.AddColumns, { columnIds: ['<column-GUID>','<column-GUID>'] })
5851
+ * ```
5852
+ * @example
5853
+ * ```js
5854
+ * // Add columns from search context
5855
+ * import { ContextType } from '@thoughtspot/visual-embed-sdk';
5856
+ * searchEmbed.trigger(HostEvent.AddColumns, {
5857
+ * columnIds: ['col-guid-1', 'col-guid-2']
5858
+ * }, ContextType.Search);
5859
+ * ```
5860
+ * @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl
5861
+ */
5862
+ AddColumns = "addColumns",
5863
+ /**
5864
+ * Remove a column from the current search query.
5865
+ * @param - { columnId: string }
5866
+ * @example
5867
+ * ```js
5868
+ * searchEmbed.trigger(HostEvent.RemoveColumn, { columnId: '<column-Guid>' })
5270
5869
  * ```
5271
5870
  * @example
5272
5871
  * ```js
@@ -5292,6 +5891,10 @@ export declare enum HostEvent {
5292
5891
  * liveboardEmbed.trigger(HostEvent.getExportRequestForCurrentPinboard).then(
5293
5892
  * data=>console.log(data))
5294
5893
  * ```
5894
+ * @returns data - Object with a `v2Content` string: the export request
5895
+ * payload for the current Liveboard.
5896
+ * @returns type - The passthrough event name,
5897
+ * `getExportRequestForCurrentPinboard`.
5295
5898
  * @version SDK: 1.13.0 | ThoughtSpot: 8.5.0.cl, 8.8.1.sw
5296
5899
  */
5297
5900
  getExportRequestForCurrentPinboard = "getExportRequestForCurrentPinboard",
@@ -5394,6 +5997,9 @@ export declare enum HostEvent {
5394
5997
  * }, ContextType.Spotter);
5395
5998
  * ```
5396
5999
  *
6000
+ * @returns liveboardId - GUID of the Liveboard the Answer was pinned to.
6001
+ * @returns tabId - GUID of the tab within that Liveboard.
6002
+ * @returns vizId - GUID of the newly created visualization.
5397
6003
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
5398
6004
  */
5399
6005
  Pin = "pin",
@@ -5432,13 +6038,13 @@ export declare enum HostEvent {
5432
6038
  * Trigger the **Manage schedule** action on an embedded Liveboard
5433
6039
  * @example
5434
6040
  * ```js
5435
- * liveboardEmbed.trigger(HostEvent.ScheduleList)
6041
+ * liveboardEmbed.trigger(HostEvent.SchedulesList)
5436
6042
  * ```
5437
6043
  * @example
5438
6044
  * ```js
5439
6045
  * // Manage schedules from liveboard context
5440
6046
  * import { ContextType } from '@thoughtspot/visual-embed-sdk';
5441
- * liveboardEmbed.trigger(HostEvent.ScheduleList, {}, ContextType.Liveboard);
6047
+ * liveboardEmbed.trigger(HostEvent.SchedulesList, {}, ContextType.Liveboard);
5442
6048
  * ```
5443
6049
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
5444
6050
  */
@@ -5883,6 +6489,7 @@ export declare enum HostEvent {
5883
6489
  * console.log(tml.answer);
5884
6490
  * });
5885
6491
  * ```
6492
+ * @returns The TML representation of the current Answer, as an object.
5886
6493
  * @version SDK: 1.18.0 | ThoughtSpot: 8.10.0.cl, 9.0.1.sw
5887
6494
  * @important
5888
6495
  */
@@ -6306,6 +6913,14 @@ export declare enum HostEvent {
6306
6913
  /**
6307
6914
  * Get details of filters applied on the Liveboard.
6308
6915
  * Returns arrays containing Liveboard filter and runtime filter elements.
6916
+ * Each Liveboard filter includes an optional `applicability` attribute
6917
+ * indicating the scope of the filter. It contains a `level`
6918
+ * (`LIVEBOARD`, `TAB`, or `GROUP`) and, when `level` is `TAB` or
6919
+ * `GROUP`, a `targetId` with the GUID of the target. At `LIVEBOARD`
6920
+ * level there is no `targetId`, since the filter applies to the
6921
+ * whole Liveboard.
6922
+ * The `applicability` attribute is available from SDK: 1.53.0 |
6923
+ * ThoughtSpot: 26.10.0.cl.
6309
6924
  * @example
6310
6925
  * ```js
6311
6926
  * const data = await liveboardEmbed.trigger(HostEvent.GetFilters);
@@ -6318,6 +6933,8 @@ export declare enum HostEvent {
6318
6933
  * const data = await liveboardEmbed.trigger(HostEvent.GetFilters, {}, ContextType.Liveboard);
6319
6934
  * console.log('filters', data);
6320
6935
  * ```
6936
+ * @returns liveboardFilters - Filters applied on the Liveboard.
6937
+ * @returns runtimeFilters - Runtime filters applied on the Liveboard.
6321
6938
  * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
6322
6939
  */
6323
6940
  GetFilters = "getFilters",
@@ -6345,6 +6962,16 @@ export declare enum HostEvent {
6345
6962
  *
6346
6963
  * `type` - To update filters for date time, specify the date format type.
6347
6964
  * For more information and examples, see link:https://developers.thoughtspot.com/docs/embed-liveboard#_date_filters[Date filters].
6965
+ *
6966
+ * `applicability` - Optional. Scopes the filter to a specific target,
6967
+ * for example, a single Liveboard tab. Available from SDK: 1.53.0 |
6968
+ * ThoughtSpot: 26.10.0.cl. Includes the following attributes:
6969
+ *
6970
+ * - `level`: The scope of the filter: `LIVEBOARD`, `TAB`, or `GROUP`.
6971
+ * - `targetId`: The GUID of the target, for example, the tab GUID.
6972
+ * Required when `level` is `TAB` or `GROUP`. Do not pass it when
6973
+ * `level` is `LIVEBOARD`, since the filter applies to the whole
6974
+ * Liveboard.
6348
6975
  * @example
6349
6976
  * ```js
6350
6977
  *
@@ -6421,6 +7048,21 @@ export declare enum HostEvent {
6421
7048
  * }
6422
7049
  * }, ContextType.Liveboard);
6423
7050
  * ```
7051
+ * @example
7052
+ * ```js
7053
+ * // Scope the filter to a specific Liveboard tab
7054
+ * liveboardEmbed.trigger(HostEvent.UpdateFilters, {
7055
+ * filter: {
7056
+ * column: "item type",
7057
+ * oper: "IN",
7058
+ * values: ["bags", "shirts"],
7059
+ * applicability: {
7060
+ * level: "TAB",
7061
+ * targetId: "e0836cad-4fdf-42d4-bd97-567a6b2a6058"
7062
+ * }
7063
+ * }
7064
+ * });
7065
+ * ```
6424
7066
  * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
6425
7067
  */
6426
7068
  UpdateFilters = "updateFilters",
@@ -6442,9 +7084,37 @@ export declare enum HostEvent {
6442
7084
  * console.log('tabs', tabDetails);
6443
7085
  * });
6444
7086
  * ```
7087
+ * @returns orderedTabIds - Tab GUIDs in the order they appear.
7088
+ * @returns numberOfTabs - Total number of tabs on the Liveboard.
7089
+ * @returns Tabs - Tab details, each with at least `id` and `name`.
6445
7090
  * @version SDK: 1.26.0 | ThoughtSpot: 9.7.0.cl
6446
7091
  */
6447
7092
  GetTabs = "getTabs",
7093
+ /**
7094
+ * Get group details for the current Liveboard.
7095
+ * Mirrors {@link HostEvent.GetTabs} for filter/parameter groups.
7096
+ * @example
7097
+ * ```js
7098
+ * liveboardEmbed.trigger(HostEvent.GetGroups).then((groupDetails) => {
7099
+ * console.log(
7100
+ * groupDetails // GroupDetails of current Liveboard
7101
+ * );
7102
+ * })
7103
+ * ```
7104
+ * @example
7105
+ * ```js
7106
+ * // Get groups from liveboard context
7107
+ * import { ContextType } from '@thoughtspot/visual-embed-sdk';
7108
+ * liveboardEmbed.trigger(HostEvent.GetGroups, {}, ContextType.Liveboard).then((groupDetails) => {
7109
+ * console.log('groups', groupDetails);
7110
+ * });
7111
+ * ```
7112
+ * @returns orderedGroupIds - Group GUIDs in the order they appear.
7113
+ * @returns numberOfGroups - Total number of groups on the Liveboard.
7114
+ * @returns Groups - Group details, each with at least `id` and `name`.
7115
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
7116
+ */
7117
+ GetGroups = "getGroups",
6448
7118
  /**
6449
7119
  * Set the visible tabs on a Liveboard.
6450
7120
  * @param - an array of ids of tabs to show, the IDs not passed
@@ -6516,6 +7186,9 @@ export declare enum HostEvent {
6516
7186
  * // Alternative direct usage (not recommended)
6517
7187
  * const {session} = await embed.trigger( HostEvent.GetAnswerSession )
6518
7188
  * ```
7189
+ * @returns session - Session identifier for the Answer, for use with the
7190
+ * `AnswerService`.
7191
+ * @returns embedAnswerData - Data backing the Answer, when available.
6519
7192
  * @version SDK: 1.26.0 | ThoughtSpot: 9.10.0.cl, 10.1.0.sw
6520
7193
  */
6521
7194
  GetAnswerSession = "getAnswerSession",
@@ -6572,6 +7245,15 @@ export declare enum HostEvent {
6572
7245
  * - `name`: Name of the parameter.
6573
7246
  * - `value`: The value to set for the parameter.
6574
7247
  * - `isVisibleToUser`: Optional. To control the visibility of the parameter chip.
7248
+ * - `applicability`: Optional. Scopes the parameter to a specific target,
7249
+ * for example, a single Liveboard tab. Available from SDK: 1.53.0 |
7250
+ * ThoughtSpot: 26.10.0.cl. Includes the following attributes:
7251
+ *
7252
+ * - `level`: The scope of the parameter: `LIVEBOARD`, `TAB`, or `GROUP`.
7253
+ * - `targetId`: The GUID of the target, for example, the tab GUID.
7254
+ * Required when `level` is `TAB` or `GROUP`. Do not pass it when
7255
+ * `level` is `LIVEBOARD`, since the parameter applies to the whole
7256
+ * Liveboard.
6575
7257
  *
6576
7258
  * @example
6577
7259
  * ```js
@@ -6583,6 +7265,18 @@ export declare enum HostEvent {
6583
7265
  * ```
6584
7266
  * @example
6585
7267
  * ```js
7268
+ * // Scope the parameter to a specific Liveboard tab
7269
+ * liveboardEmbed.trigger(HostEvent.UpdateParameters, [{
7270
+ * name: "Integer Range Param",
7271
+ * value: 10,
7272
+ * applicability: {
7273
+ * level: "TAB",
7274
+ * targetId: "e0836cad-4fdf-42d4-bd97-567a6b2a6058"
7275
+ * }
7276
+ * }])
7277
+ * ```
7278
+ * @example
7279
+ * ```js
6586
7280
  * // Update parameters from liveboard context
6587
7281
  * import { ContextType } from '@thoughtspot/visual-embed-sdk';
6588
7282
  * liveboardEmbed.trigger(HostEvent.UpdateParameters, [{
@@ -6596,6 +7290,14 @@ export declare enum HostEvent {
6596
7290
  UpdateParameters = "UpdateParameters",
6597
7291
  /**
6598
7292
  * Triggers GetParameters to fetch the runtime Parameters.
7293
+ * Each parameter includes an optional `applicability` attribute
7294
+ * indicating the scope of the parameter. It contains a `level`
7295
+ * (`LIVEBOARD`, `TAB`, or `GROUP`) and, when `level` is `TAB` or
7296
+ * `GROUP`, a `targetId` with the GUID of the target. At `LIVEBOARD`
7297
+ * level there is no `targetId`, since the parameter applies to the
7298
+ * whole Liveboard.
7299
+ * The `applicability` attribute is available from SDK: 1.53.0 |
7300
+ * ThoughtSpot: 26.10.0.cl.
6599
7301
  * @param - `vizId` refers to the Answer ID in Spotter embed and is required in Spotter embed.
6600
7302
  * ```js
6601
7303
  * liveboardEmbed.trigger(HostEvent.GetParameters).then((parameter) => {
@@ -6620,12 +7322,16 @@ export declare enum HostEvent {
6620
7322
  * console.log('parameters', parameters);
6621
7323
  * });
6622
7324
  * ```
7325
+ * @returns parameters - Parameters currently applied on the Liveboard.
6623
7326
  * @version SDK: 1.29.0 | ThoughtSpot: 10.1.0.cl, 10.1.0.sw
6624
7327
  */
6625
7328
  GetParameters = "GetParameters",
6626
7329
  /**
6627
7330
  * Triggers an event to update a personalized view of a Liveboard.
6628
- * This event is deprecated. Use {@link HostEvent.UpdatePersonalizedView} instead.
7331
+ * This event is deprecated. Use {@link HostEvent.SelectPersonalizedView} instead,
7332
+ * which additionally accepts a `viewName`, resets to the original view when
7333
+ * called with an empty payload, and reports an error when a named view
7334
+ * cannot be found.
6629
7335
  * ```js
6630
7336
  * liveboardEmbed.trigger(HostEvent.UpdatePersonalisedView, {viewId: '1234'})
6631
7337
  * ```
@@ -6643,10 +7349,15 @@ export declare enum HostEvent {
6643
7349
  UpdatePersonalisedView = "UpdatePersonalisedView",
6644
7350
  /**
6645
7351
  * Triggers an event to update a personalized view of a Liveboard.
7352
+ * This event is deprecated. Use {@link HostEvent.SelectPersonalizedView} instead,
7353
+ * which additionally accepts a `viewName`, resets to the original view when
7354
+ * called with an empty payload, and reports an error when a named view
7355
+ * cannot be found.
6646
7356
  * ```js
6647
7357
  * liveboardEmbed.trigger(HostEvent.UpdatePersonalisedView, {viewId: '1234'})
6648
7358
  * ```
6649
7359
  * @version SDK: 1.48.0 | ThoughtSpot: 26.5.0.cl
7360
+ * @deprecated SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
6650
7361
  */
6651
7362
  UpdatePersonalizedView = "UpdatePersonalisedView",
6652
7363
  /**
@@ -6749,6 +7460,10 @@ export declare enum HostEvent {
6749
7460
  * description: "Generated from Spotter"
6750
7461
  * }, ContextType.Spotter);
6751
7462
  * ```
7463
+ * @returns answerId - GUID of the saved Answer.
7464
+ * @returns saveResponse - Raw response from the save operation.
7465
+ * @returns shareResponse - Raw response from the share operation, when the
7466
+ * Answer was also made discoverable.
6752
7467
  * @version SDK: 1.36.0 | ThoughtSpot: 10.6.0.cl
6753
7468
  */
6754
7469
  SaveAnswer = "saveAnswer",
@@ -6862,6 +7577,36 @@ export declare enum HostEvent {
6862
7577
  * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
6863
7578
  */
6864
7579
  ResetSpotterConversation = "ResetSpotterConversation",
7580
+ /**
7581
+ * Opens the Spotter share-conversation modal for the given conversation.
7582
+ * `conversationId` is **mandatory** — you must pass the id of the
7583
+ * conversation to share. Also no-op when sharing is disabled
7584
+ * (enableShareConversation off) or when already in the read-only shared view.
7585
+ * @example
7586
+ * ```js
7587
+ * spotterEmbed.trigger(HostEvent.ShareSpotterConversation, { conversationId: 'abc' });
7588
+ * ```
7589
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
7590
+ */
7591
+ ShareSpotterConversation = "ShareSpotterConversation",
7592
+ /**
7593
+ * Closes the Spotter share-conversation modal. No-op if none is open.
7594
+ * @example
7595
+ * ```js
7596
+ * spotterEmbed.trigger(HostEvent.CloseSpotterShareConversation);
7597
+ * ```
7598
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
7599
+ */
7600
+ CloseSpotterShareConversation = "CloseSpotterShareConversation",
7601
+ /**
7602
+ * Exits the read-only shared-conversation view.
7603
+ * @example
7604
+ * ```js
7605
+ * spotterEmbed.trigger(HostEvent.ExitSpotterSharedConversation);
7606
+ * ```
7607
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
7608
+ */
7609
+ ExitSpotterSharedConversation = "ExitSpotterSharedConversation",
6865
7610
  /**
6866
7611
  * Deletes the last prompt in spotter embed.
6867
7612
  * @example
@@ -6957,6 +7702,41 @@ export declare enum HostEvent {
6957
7702
  * @version SDK: 1.45.0 | ThoughtSpot: 26.2.0.cl
6958
7703
  */
6959
7704
  StartNewSpotterConversation = "StartNewSpotterConversation",
7705
+ /**
7706
+ * Pins a saved Spotter conversation so it floats to the top of the past
7707
+ * conversations sidebar. The `conversationId` of the conversation to pin is
7708
+ * 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.PinSpotterConversation, {
7718
+ * conversationId: '<conversation-id>',
7719
+ * });
7720
+ * ```
7721
+ */
7722
+ PinSpotterConversation = "PinSpotterConversation",
7723
+ /**
7724
+ * Unpins a previously pinned Spotter conversation. The `conversationId` of the
7725
+ * conversation to unpin is required.
7726
+ *
7727
+ * This feature is available only when chat history is enabled on your ThoughtSpot
7728
+ * instance. Contact your admin or ThoughtSpot Support to enable chat history on your
7729
+ * instance.
7730
+ *
7731
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
7732
+ * @example
7733
+ * ```js
7734
+ * spotterEmbed.trigger(HostEvent.UnpinSpotterConversation, {
7735
+ * conversationId: '<conversation-id>',
7736
+ * });
7737
+ * ```
7738
+ */
7739
+ UnpinSpotterConversation = "UnpinSpotterConversation",
6960
7740
  /**
6961
7741
  * @hidden
6962
7742
  * Get the current context of the embedded page.
@@ -7049,9 +7829,10 @@ export type SpotterFileUploadFileTypes = {
7049
7829
  * ThoughtSpot application pages include actions and menu commands
7050
7830
  * for various user-initiated operations. These actions are represented
7051
7831
  * as enumeration members in the SDK. To control actions in the embedded view:
7052
- * - disabledActions — the action is grayed out and still visible, but non-interactive (user can see but not click).
7053
- * - hiddenActions — the action is completely removed from the UI (user cannot see it at all).
7054
- * - visibleActions — allowlist, only these actions are shown; all others are hidden.
7832
+ * - disabledActions — the action is grayed out and still visible, but non-interactive
7833
+ * (user can see but not click). - hiddenActions — the action is completely removed from
7834
+ * the UI (user cannot see it at all). - visibleActions — allowlist, only these actions
7835
+ * are shown; all others are hidden.
7055
7836
  *
7056
7837
  * Use disabledActions to disable (gray out) an action.
7057
7838
  * Use hiddenActions to hide (fully remove) an action.
@@ -7104,6 +7885,17 @@ export declare enum Action {
7104
7885
  * ```
7105
7886
  */
7106
7887
  SaveAsView = "saveAsView",
7888
+ /**
7889
+ * The **EditInputTable** action on a Liveboard
7890
+ * page. Allows users to edit an input table used in an Answer directly from
7891
+ * a Liveboard.
7892
+ * @example
7893
+ * ```js
7894
+ * disabledActions: [Action.EditInputTable]
7895
+ * ```
7896
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
7897
+ */
7898
+ EditInputTable = "editInputTable",
7107
7899
  /**
7108
7900
  * The **Make a copy** action on a Liveboard or Answer
7109
7901
  * page. Creates a copy of the Liveboard.
@@ -8305,6 +9097,19 @@ export declare enum Action {
8305
9097
  * @version SDK: 1.36.0 | ThoughtSpot Cloud: 10.6.0.cl
8306
9098
  */
8307
9099
  ChangeFilterVisibilityInTab = "changeFilterVisibilityInTab",
9100
+ /**
9101
+ * Action ID to show, hide, or disable all filter surfaces on a Liveboard,
9102
+ * including filter, parameter, and cross-filter chips at the liveboard,
9103
+ * tab, and group levels. Parameter and cross-filter chips are hide-only.
9104
+ *
9105
+ * @example
9106
+ * ```js
9107
+ * hiddenActions: [Action.AllLiveboardFilters]
9108
+ * disabledActions: [Action.AllLiveboardFilters]
9109
+ * ```
9110
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
9111
+ */
9112
+ AllLiveboardFilters = "allLiveboardFilters",
8308
9113
  /**
8309
9114
  * The **Data model instructions** button on the Spotter interface.
8310
9115
  * Allows opening the data model instructions modal.
@@ -8406,6 +9211,10 @@ export declare enum Action {
8406
9211
  * The **Add to Coaching** feature allows adding reference questions and
8407
9212
  * business terms to improve Spotter’s responses. This feature is generally available
8408
9213
  * (GA) from version 26.2.0.cl and enabled by default on embed deployments.
9214
+ *
9215
+ * This action governs both the answer-card **Add to memory** CTA and its
9216
+ * Spotter 3 successor, the response-footer **Remember this** CTA
9217
+ * (they are mutually exclusive).
8409
9218
  * @example
8410
9219
  * ```js
8411
9220
  * hiddenAction: [Action.InConversationTraining]
@@ -8640,6 +9449,89 @@ export declare enum Action {
8640
9449
  * @version SDK: 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl
8641
9450
  */
8642
9451
  SpotterChatRename = "spotterChatRename",
9452
+ /**
9453
+ * Controls visibility and disable state of the Spotter conversation Share
9454
+ * button in the chat header. Only takes effect once sharing is enabled
9455
+ * (enableShareConversation on).
9456
+ * @example
9457
+ * ```js
9458
+ * disabledActions: [Action.SpotterShareConversationButtonHeader]
9459
+ * ```
9460
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9461
+ */
9462
+ SpotterShareConversationButtonHeader = "spotterShareConversationButtonHeader",
9463
+ /**
9464
+ * Controls visibility and disable state of the Share item in the Spotter
9465
+ * conversation history (sidebar) edit menu. Independent of the header button
9466
+ * above, so a host can show Share in one entry point and hide it in the other.
9467
+ * @example
9468
+ * ```js
9469
+ * disabledActions: [Action.SpotterShareConversationMenuItemSidebar]
9470
+ * ```
9471
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9472
+ */
9473
+ SpotterShareConversationMenuItemSidebar = "spotterShareConversationMenuItemSidebar",
9474
+ /**
9475
+ * Controls visibility of the entire read-only shared-conversation data-access
9476
+ * banner shown when a recipient opens a shared view. Hide-only.
9477
+ * @example
9478
+ * ```js
9479
+ * hiddenActions: [Action.SpotterSharedConversationBanner]
9480
+ * ```
9481
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9482
+ */
9483
+ SpotterSharedConversationBanner = "spotterSharedConversationBanner",
9484
+ /**
9485
+ * Controls visibility and disable state of the cross/close button on the
9486
+ * read-only shared-conversation data-access banner (keeps the banner itself).
9487
+ * @example
9488
+ * ```js
9489
+ * hiddenActions: [Action.SpotterSharedConversationBannerDismissButton]
9490
+ * ```
9491
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9492
+ */
9493
+ SpotterSharedConversationBannerDismissButton = "spotterSharedConversationBannerDismissButton",
9494
+ /**
9495
+ * Controls visibility and disable state of the Exit button in the read-only
9496
+ * shared-view header. Hiding it does not disable the ExitSpotterSharedConversation
9497
+ * host event.
9498
+ * @example
9499
+ * ```js
9500
+ * hiddenActions: [Action.SpotterSharedConversationExitButton]
9501
+ * ```
9502
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9503
+ */
9504
+ SpotterSharedConversationExitButton = "spotterSharedConversationExitButton",
9505
+ /**
9506
+ * Controls visibility of the share-modal footer note ("Chat will be shared up
9507
+ * to the current moment…"). Hide-only.
9508
+ * @example
9509
+ * ```js
9510
+ * hiddenActions: [Action.SpotterShareUpToCurrentInfo]
9511
+ * ```
9512
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9513
+ */
9514
+ SpotterShareUpToCurrentInfo = "spotterShareUpToCurrentInfo",
9515
+ /**
9516
+ * Controls visibility and disable state of the share-modal "include new
9517
+ * messages since last shared version" checkbox.
9518
+ * @example
9519
+ * ```js
9520
+ * disabledActions: [Action.SpotterShareIncludeNewMessagesCheckbox]
9521
+ * ```
9522
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9523
+ */
9524
+ SpotterShareIncludeNewMessagesCheckbox = "spotterShareIncludeNewMessagesCheckbox",
9525
+ /**
9526
+ * Controls visibility and disable state of the cross on the share-modal
9527
+ * stale-snapshot info banner.
9528
+ * @example
9529
+ * ```js
9530
+ * hiddenActions: [Action.SpotterShareStaleInfoBannerDismissButton]
9531
+ * ```
9532
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9533
+ */
9534
+ SpotterShareStaleInfoBannerDismissButton = "spotterShareStaleInfoBannerDismissButton",
8643
9535
  /**
8644
9536
  * Controls visibility and disable state of the delete action
8645
9537
  * in the Spotter conversation edit menu.
@@ -8650,6 +9542,16 @@ export declare enum Action {
8650
9542
  * @version SDK: 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl
8651
9543
  */
8652
9544
  SpotterChatDelete = "spotterChatDelete",
9545
+ /**
9546
+ * Controls visibility and disable state of the pin/unpin action
9547
+ * in the Spotter conversation edit menu.
9548
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
9549
+ * @example
9550
+ * ```js
9551
+ * disabledActions: [Action.SpotterChatPin]
9552
+ * ```
9553
+ */
9554
+ SpotterChatPin = "spotterChatPin",
8653
9555
  /**
8654
9556
  * Controls visibility and disable state of the documentation/best practices
8655
9557
  * link in the Spotter sidebar footer.
@@ -8693,6 +9595,56 @@ export declare enum Action {
8693
9595
  * @version SDK: 1.48.0 | ThoughtSpot Cloud: 26.5.0.cl
8694
9596
  */
8695
9597
  SpotterChatModeSwitcher = "spotterChatModeSwitcher",
9598
+ /**
9599
+ * The **Basic Search** starter prompt pill.
9600
+ *
9601
+ * Starter prompt pills are the row of category buttons shown above the
9602
+ * Spotter chat input before a conversation starts. They give a new user
9603
+ * ready-made questions to click instead of typing one from scratch, and
9604
+ * disappear once the conversation begins. There are three, one per action
9605
+ * below.
9606
+ *
9607
+ * Clicking this pill opens a card of suggested simple questions; picking one
9608
+ * submits it to Spotter right away. Visible by default, and hidden along
9609
+ * with the other pills when the surface itself is off (see
9610
+ * {@link SpotterChatViewConfig.starterPrompts}).
9611
+ * @example
9612
+ * ```js
9613
+ * hiddenActions: [Action.QuickSearchPill]
9614
+ * ```
9615
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9616
+ */
9617
+ QuickSearchPill = "quickSearchPill",
9618
+ /**
9619
+ * The **Deep Analysis** starter prompt pill, next to
9620
+ * {@link Action.QuickSearchPill} above the Spotter chat input.
9621
+ *
9622
+ * Clicking it opens a card of suggested investigative questions ("why did
9623
+ * revenue drop?"). Picking one fills the chat input in Deep Analysis mode
9624
+ * rather than submitting immediately, so the user can edit it first.
9625
+ * Visible by default.
9626
+ * @example
9627
+ * ```js
9628
+ * hiddenActions: [Action.DeepAnalysisPill]
9629
+ * ```
9630
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9631
+ */
9632
+ DeepAnalysisPill = "deepAnalysisPill",
9633
+ /**
9634
+ * The **Data Literacy** starter prompt pill, next to
9635
+ * {@link Action.QuickSearchPill} above the Spotter chat input.
9636
+ *
9637
+ * Unlike the other two pills it opens no card: clicking it submits a prompt
9638
+ * that describes the data the model can answer over, helping a user who does
9639
+ * not yet know what is in the data source. The prompt text always comes from
9640
+ * ThoughtSpot, so only its label is customizable. Visible by default.
9641
+ * @example
9642
+ * ```js
9643
+ * hiddenActions: [Action.DataLiteracyPill]
9644
+ * ```
9645
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9646
+ */
9647
+ DataLiteracyPill = "dataLiteracyPill",
8696
9648
  /**
8697
9649
  * The **Include current period** checkbox for date filters.
8698
9650
  * Controls the visibility and availability of the option to include
@@ -8840,7 +9792,39 @@ export declare enum Action {
8840
9792
  * disabledActions: [Action.SpotterAnalystSidebar]
8841
9793
  * ```
8842
9794
  */
8843
- SpotterAnalystSidebar = "spotterAnalystSidebar"
9795
+ SpotterAnalystSidebar = "spotterAnalystSidebar",
9796
+ /**
9797
+ * Controls visibility and disable state of the analyst list
9798
+ * ("Show all") in the Spotter Analyst interface.
9799
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
9800
+ * @example
9801
+ * ```js
9802
+ * hiddenActions: [Action.SpotterAnalystList]
9803
+ * disabledActions: [Action.SpotterAnalystList]
9804
+ * ```
9805
+ */
9806
+ SpotterAnalystList = "spotterAnalystList",
9807
+ /**
9808
+ * Controls visibility and disable state of the default Spotter analyst
9809
+ * entry in the Spotter Analyst interface.
9810
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
9811
+ * @example
9812
+ * ```js
9813
+ * hiddenActions: [Action.SpotterDefaultAnalyst]
9814
+ * disabledActions: [Action.SpotterDefaultAnalyst]
9815
+ * ```
9816
+ */
9817
+ SpotterDefaultAnalyst = "spotterDefaultAnalyst",
9818
+ /**
9819
+ * The **Spotter** button in the Liveboard header.
9820
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
9821
+ * @example
9822
+ * ```js
9823
+ * hiddenActions: [Action.SpotterOnLiveboard]
9824
+ * disabledActions: [Action.SpotterOnLiveboard]
9825
+ * ```
9826
+ */
9827
+ SpotterOnLiveboard = "spotterOnLiveboard"
8844
9828
  }
8845
9829
  declare enum ContextMenuTriggerOptions {
8846
9830
  LEFT_CLICK = "left-click",
@@ -9079,7 +10063,9 @@ declare enum EmbedErrorCodes {
9079
10063
  /** UpdateFilters payload is invalid - missing or malformed filter/filters */
9080
10064
  UPDATEFILTERS_INVALID_PAYLOAD = "UPDATEFILTERS_INVALID_PAYLOAD",
9081
10065
  /** DrillDown payload is invalid - missing or malformed points */
9082
- DRILLDOWN_INVALID_PAYLOAD = "DRILLDOWN_INVALID_PAYLOAD"
10066
+ DRILLDOWN_INVALID_PAYLOAD = "DRILLDOWN_INVALID_PAYLOAD",
10067
+ /** UpdateParameters payload is invalid - malformed applicability */
10068
+ UPDATEPARAMETERS_INVALID_PAYLOAD = "UPDATEPARAMETERS_INVALID_PAYLOAD"
9083
10069
  }
9084
10070
  /**
9085
10071
  * Error event object emitted when an error occurs in an embedded component.
@@ -9213,7 +10199,7 @@ export type ApiInterceptFlags = {
9213
10199
  * const embed = new LiveboardEmbed('#embed', {
9214
10200
  * ...viewConfig,
9215
10201
  * enableApiIntercept: true,
9216
- * interceptUrls: [InterceptedApiType.DATA],
10202
+ * interceptUrls: [InterceptedApiType.LiveboardData],
9217
10203
  * })
9218
10204
  * ```
9219
10205
  *
@@ -9826,6 +10812,40 @@ export interface LiveboardTab {
9826
10812
  name: string;
9827
10813
  [key: string]: any;
9828
10814
  }
10815
+ export interface LiveboardGroup {
10816
+ id: string;
10817
+ name: string;
10818
+ [key: string]: any;
10819
+ }
10820
+ declare enum ApplicabilityLevel {
10821
+ Liveboard = "LIVEBOARD",
10822
+ Tab = "TAB",
10823
+ Group = "GROUP"
10824
+ }
10825
+ /**
10826
+ * Scopes a filter or parameter to a specific target.
10827
+ * At `LIVEBOARD` level the filter applies to the whole Liveboard, so `targetId`
10828
+ * is not required.
10829
+ */
10830
+ export interface Applicability {
10831
+ level: ApplicabilityLevel;
10832
+ targetId?: string;
10833
+ }
10834
+ export interface FilterUpdate {
10835
+ column: string;
10836
+ oper: string;
10837
+ values: string[];
10838
+ type?: string;
10839
+ applicability?: Applicability;
10840
+ }
10841
+ export interface LiveboardFilter {
10842
+ applicability?: Applicability;
10843
+ [key: string]: any;
10844
+ }
10845
+ export interface LiveboardParameter {
10846
+ applicability?: Applicability;
10847
+ [key: string]: any;
10848
+ }
9829
10849
  declare enum UIPassthroughEvent {
9830
10850
  PinAnswerToLiveboard = "addVizToPinboard",
9831
10851
  SaveAnswer = "saveAnswer",
@@ -9842,6 +10862,7 @@ declare enum UIPassthroughEvent {
9842
10862
  GetParameters = "getParameters",
9843
10863
  GetTML = "getTML",
9844
10864
  GetTabs = "getTabs",
10865
+ GetGroups = "getGroups",
9845
10866
  GetExportRequestForCurrentPinboard = "getExportRequestForCurrentPinboard"
9846
10867
  }
9847
10868
  export type UIPassthroughContractBase = {
@@ -9920,7 +10941,7 @@ export type UIPassthroughContractBase = {
9920
10941
  vizId?: string;
9921
10942
  };
9922
10943
  response: {
9923
- liveboardFilters: Record<string, any>[];
10944
+ liveboardFilters: LiveboardFilter[];
9924
10945
  runtimeFilters: RuntimeFilter[];
9925
10946
  };
9926
10947
  };
@@ -9933,7 +10954,7 @@ export type UIPassthroughContractBase = {
9933
10954
  [UIPassthroughEvent.GetParameters]: {
9934
10955
  request: Record<string, never>;
9935
10956
  response: {
9936
- parameters: Record<string, any>[];
10957
+ parameters: LiveboardParameter[];
9937
10958
  };
9938
10959
  };
9939
10960
  [UIPassthroughEvent.GetTML]: {
@@ -9951,6 +10972,14 @@ export type UIPassthroughContractBase = {
9951
10972
  Tabs: LiveboardTab[];
9952
10973
  };
9953
10974
  };
10975
+ [UIPassthroughEvent.GetGroups]: {
10976
+ request: Record<string, never>;
10977
+ response: {
10978
+ orderedGroupIds: string[];
10979
+ numberOfGroups: number;
10980
+ Groups: LiveboardGroup[];
10981
+ };
10982
+ };
9954
10983
  [UIPassthroughEvent.GetExportRequestForCurrentPinboard]: {
9955
10984
  request: Record<string, never>;
9956
10985
  response: {
@@ -9962,18 +10991,8 @@ export type UIPassthroughContractBase = {
9962
10991
  };
9963
10992
  [UIPassthroughEvent.UpdateFilters]: {
9964
10993
  request: {
9965
- filter?: {
9966
- column: string;
9967
- oper: string;
9968
- values: string[];
9969
- type?: string;
9970
- };
9971
- filters?: {
9972
- column: string;
9973
- oper: string;
9974
- values: string[];
9975
- type?: string;
9976
- }[];
10994
+ filter?: FilterUpdate;
10995
+ filters?: FilterUpdate[];
9977
10996
  };
9978
10997
  response: unknown;
9979
10998
  };
@@ -10006,6 +11025,7 @@ export type EmbedApiHostEventMapping = {
10006
11025
  [HostEvent.GetParameters]: UIPassthroughEvent.GetParameters;
10007
11026
  [HostEvent.GetTML]: UIPassthroughEvent.GetTML;
10008
11027
  [HostEvent.GetTabs]: UIPassthroughEvent.GetTabs;
11028
+ [HostEvent.GetGroups]: UIPassthroughEvent.GetGroups;
10009
11029
  [HostEvent.getExportRequestForCurrentPinboard]: UIPassthroughEvent.GetExportRequestForCurrentPinboard;
10010
11030
  };
10011
11031
  export type HostEventRequest<HostEventT extends HostEvent> = HostEventT extends keyof EmbedApiHostEventMapping ? UIPassthroughRequest<EmbedApiHostEventMapping[HostEventT]> : any;
@@ -10050,6 +11070,7 @@ declare class HostEventClient {
10050
11070
  protected handlePinEvent(payload: HostEventRequest<HostEvent.Pin>, context?: ContextType): Promise<HostEventResponse<HostEvent.Pin, ContextType>>;
10051
11071
  protected handleSaveAnswerEvent(payload: HostEventRequest<HostEvent.SaveAnswer>, context?: ContextType): Promise<any>;
10052
11072
  protected handleUpdateFiltersEvent(payload: HostEventRequest<HostEvent.UpdateFilters>, context?: ContextType): Promise<any>;
11073
+ protected handleUpdateParametersEvent(payload: HostEventRequest<HostEvent.UpdateParameters>, context?: ContextType): Promise<any>;
10053
11074
  protected handleDrillDownEvent(payload: HostEventRequest<HostEvent.DrillDown>, context?: ContextType): Promise<any>;
10054
11075
  /**
10055
11076
  * Dispatches a host event using the appropriate channel:
@@ -10060,7 +11081,7 @@ declare class HostEventClient {
10060
11081
  * @param payload - Optional payload for the event
10061
11082
  * @param context - Optional context (e.g. vizId) for scoped operations
10062
11083
  */
10063
- triggerHostEvent<HostEventT extends HostEvent, PayloadT, ContextT extends ContextType>(hostEvent: HostEventT, payload?: TriggerPayload<PayloadT, HostEventT>, context?: ContextT): Promise<TriggerResponse<PayloadT, HostEventT, ContextType>>;
11084
+ triggerHostEvent<HostEventT extends HostEvent, PayloadT = HostEventRequest<HostEventT>, ContextT extends ContextType = ContextType>(hostEvent: HostEventT, payload?: TriggerPayload<PayloadT, HostEventT>, context?: ContextT): Promise<TriggerResponse<PayloadT, HostEventT, ContextType>>;
10064
11085
  }
10065
11086
  declare class TsEmbed {
10066
11087
  /**
@@ -10265,6 +11286,12 @@ declare class TsEmbed {
10265
11286
  protected getEmbedParamsObject(): Record<any, any>;
10266
11287
  protected getRootIframeSrc(): string;
10267
11288
  protected createIframeEl(frameSrc: string): HTMLIFrameElement;
11289
+ /**
11290
+ * Returns a merged {@link PreRenderConfig} object where each shared key
11291
+ * prefers `preRenderConfig.key` over the top-level `viewConfig.key` for
11292
+ * backward compatibility.
11293
+ */
11294
+ protected getPreRenderConfig(): PreRenderConfig;
10268
11295
  /**
10269
11296
  * Returns true if this embed instance is configured for pre-rendering.
10270
11297
  */
@@ -10303,12 +11330,14 @@ declare class TsEmbed {
10303
11330
  * fresh element; an element passed directly cannot be re-resolved.
10304
11331
  */
10305
11332
  private resolvePreRenderContainerTarget;
11333
+ private inheritPreRenderContainer;
11334
+ private getCustomPreRenderContainer;
10306
11335
  /**
10307
- * Makes the container a positioning context for the absolutely positioned
10308
- * wrapper, stashing the original inline `position` on the element (once) so
10309
- * destroy() can restore it exactly, leaving no trace. Recording it on the
10310
- * element rather than per-instance lets the override be reverted even when
10311
- * embeds share the same container.
11336
+ * Makes the resolved container a positioning context for the absolutely
11337
+ * positioned wrapper, stashing the original inline `position` on the element
11338
+ * (once) so destroy() can restore it exactly, leaving no trace. Recording it
11339
+ * on the element rather than per-instance lets the override be reverted even
11340
+ * when embeds share the same container.
10312
11341
  */
10313
11342
  private applyPreRenderContainerPositioning;
10314
11343
  /**
@@ -10456,7 +11485,7 @@ declare class TsEmbed {
10456
11485
  * ```
10457
11486
  * @version SDK: 1.45.2 | ThoughtSpot: 26.3.0.cl (for context parameter)
10458
11487
  */
10459
- trigger<HostEventT extends HostEvent, PayloadT, ContextT extends ContextType>(messageType: HostEventT, data?: TriggerPayload<PayloadT, HostEventT>, context?: ContextT): Promise<TriggerResponse<PayloadT, HostEventT, ContextT>>;
11488
+ trigger<HostEventT extends HostEvent, PayloadT = HostEventRequest<HostEventT>, ContextT extends ContextType = ContextType>(messageType: HostEventT, data?: TriggerPayload<PayloadT, HostEventT>, context?: ContextT): Promise<TriggerResponse<PayloadT, HostEventT, ContextT>>;
10460
11489
  /**
10461
11490
  * Triggers an event to the embedded app, skipping the UI flow.
10462
11491
  * @param {UIPassthroughEvent} apiName - The name of the API to be triggered.
@@ -11106,6 +12135,41 @@ interface SearchOptions$1 {
11106
12135
  */
11107
12136
  searchQuery: string;
11108
12137
  }
12138
+ declare enum SpotterQueryMode {
12139
+ FAST_SEARCH = "fastSearch",
12140
+ RESEARCH = "research"
12141
+ }
12142
+ /**
12143
+ * Configuration for the pin/unpin conversation feature in the Spotter sidebar.
12144
+ * Grouped into one object because pin exposes several related settings
12145
+ * (enable + label overrides), unlike single-item actions like rename or
12146
+ * delete.
12147
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
12148
+ */
12149
+ export interface SpotterChatPinConfig {
12150
+ /**
12151
+ * Enables the pin/unpin conversation feature in embedded Spotter. Disabled
12152
+ * by default — hosts must opt in. When off, the Pin/Unpin menu entry and
12153
+ * the pin glyph are hidden and the PinSpotterConversation /
12154
+ * UnpinSpotterConversation host events are no-ops. Native (non-embedded)
12155
+ * Spotter is unaffected and ships pin enabled.
12156
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
12157
+ * @default false
12158
+ */
12159
+ enabled?: boolean;
12160
+ /**
12161
+ * Custom label text for the pin action in the conversation edit menu.
12162
+ * Defaults to translated "Pin" text.
12163
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
12164
+ */
12165
+ pinLabel?: string;
12166
+ /**
12167
+ * Custom label text for the unpin action in the conversation edit menu.
12168
+ * Defaults to translated "Unpin" text.
12169
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
12170
+ */
12171
+ unpinLabel?: string;
12172
+ }
11109
12173
  /**
11110
12174
  * Configuration for the Spotter sidebar.
11111
12175
  * Can be used in SpotterEmbed and AppEmbed.
@@ -11143,6 +12207,12 @@ export interface SpotterSidebarViewConfig {
11143
12207
  * @version SDK: 1.47.0 | ThoughtSpot: 26.4.0.cl
11144
12208
  */
11145
12209
  spotterChatDeleteLabel?: string;
12210
+ /**
12211
+ * Pin/unpin conversation feature config (enable + label overrides).
12212
+ * Off by default in embed — hosts opt in via `enabled`.
12213
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
12214
+ */
12215
+ spotterChatPinConfig?: SpotterChatPinConfig;
11146
12216
  /**
11147
12217
  * Custom title text for the delete conversation confirmation modal.
11148
12218
  * Defaults to translated "Delete chat" text.
@@ -11194,50 +12264,281 @@ export interface SpotterSidebarViewConfig {
11194
12264
  spotterAnalystsLabel?: string;
11195
12265
  }
11196
12266
  /**
11197
- * Configuration for customizing Spotter chat UI branding.
11198
- * @version SDK: 1.46.0 | ThoughtSpot: 26.4.0.cl
12267
+ * Configuration for the Spotter conversation sharing feature.
12268
+ * Can be used in SpotterEmbed and AppEmbed.
12269
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11199
12270
  * @group Embed components
11200
12271
  */
11201
- export interface SpotterChatViewConfig {
12272
+ export interface SpotterShareConversationConfig {
11202
12273
  /**
11203
- * Hides the ThoughtSpot logo/icon in tool response
11204
- * cards. The branding label prefix is controlled
11205
- * separately via `toolResponseCardBrandingLabel`.
11206
- * External MCP tool branding is not affected.
12274
+ * Enables sharing of the conversation.
12275
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11207
12276
  * @default false
11208
12277
  */
11209
- hideToolResponseCardBranding?: boolean;
12278
+ enableShareConversation?: boolean;
11210
12279
  /**
11211
- * Custom label to replace the "ThoughtSpot" prefix
11212
- * in tool response cards. Set to an empty string
11213
- * `''` to hide the prefix entirely. Works
11214
- * independently of `hideToolResponseCardBranding`.
11215
- * External MCP tool branding is not affected.
12280
+ * Header Share button + sidebar Share item label.
12281
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12282
+ * @default "Share"
11216
12283
  */
11217
- toolResponseCardBrandingLabel?: string;
12284
+ spotterShareLabel?: string;
11218
12285
  /**
11219
- * Enables file upload in the Spotter chat interface.
11220
- *
11221
- * Supported embed types: `SpotterEmbed`, `LiveboardEmbed`, `AppEmbed`
11222
- * @version SDK: 1.49.0 | ThoughtSpot: 26.6.0.cl
11223
- * @default false
12286
+ * Share modal title.
12287
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
11224
12288
  */
11225
- spotterFileUploadEnabled?: boolean;
12289
+ spotterShareModalTitle?: string;
11226
12290
  /**
11227
- * Restricts the allowed file types for Spotter file upload.
11228
- *
11229
- * Supported embed types: `SpotterEmbed`, `LiveboardEmbed`, `AppEmbed`
11230
- * @version SDK: 1.49.0 | ThoughtSpot: 26.6.0.cl
12291
+ * Modal confirm button label.
12292
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12293
+ * @default "Share"
11231
12294
  */
11232
- spotterFileUploadFileTypes?: SpotterFileUploadFileTypes;
12295
+ spotterShareConfirmLabel?: string;
11233
12296
  /**
11234
- * Enables starter prompts in the Spotter chat interface.
11235
- *
11236
- * Supported embed types: SpotterEmbed, LiveboardEmbed, AppEmbed
11237
- * @version SDK: 1.51.0 | ThoughtSpot: 26.8.0.cl
11238
- * @default false
12297
+ * Modal cancel button label.
12298
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12299
+ * @default "Cancel"
12300
+ */
12301
+ spotterShareCancelLabel?: string;
12302
+ /**
12303
+ * "Add users or groups" label.
12304
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12305
+ */
12306
+ spotterShareAddUsersLabel?: string;
12307
+ /**
12308
+ * Empty-state title ("No users added yet").
12309
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12310
+ */
12311
+ spotterShareEmptyTitle?: string;
12312
+ /**
12313
+ * Empty-state subtitle ("Not shared with any user").
12314
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12315
+ */
12316
+ spotterShareEmptySubtitle?: string;
12317
+ /**
12318
+ * "Include new messages since last shared version" checkbox label.
12319
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12320
+ */
12321
+ spotterShareIncludeNewMessagesLabel?: string;
12322
+ /**
12323
+ * Footer note when the snapshot is current ("…up to the current moment…").
12324
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12325
+ */
12326
+ spotterShareUpToCurrentLabel?: string;
12327
+ /**
12328
+ * Stale-snapshot info banner text ("All added users and groups will receive…").
12329
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12330
+ */
12331
+ spotterShareStaleInfoLabel?: string;
12332
+ /**
12333
+ * Read-only shared-view data-access banner message.
12334
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12335
+ */
12336
+ spotterSharedConversationBannerMessage?: string;
12337
+ /**
12338
+ * Read-only shared-view Exit button label.
12339
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12340
+ * @default "Exit"
12341
+ */
12342
+ spotterSharedConversationExitLabel?: string;
12343
+ }
12344
+ /**
12345
+ * A single starter prompt question shown under a category pill.
12346
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12347
+ * @group Embed components
12348
+ */
12349
+ export interface StarterPromptQuestion {
12350
+ /**
12351
+ * Short label shown as a clickable suggestion. Falls back to `prompt` when
12352
+ * omitted. ThoughtSpot truncates it beyond 80 characters.
12353
+ */
12354
+ label?: string;
12355
+ /**
12356
+ * Prompt text sent to Spotter on click. ThoughtSpot truncates it beyond
12357
+ * 300 characters.
12358
+ */
12359
+ prompt: string;
12360
+ }
12361
+ /**
12362
+ * Configuration for a starter prompt category with questions
12363
+ * (`quick` and `research`).
12364
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12365
+ * @group Embed components
12366
+ */
12367
+ export interface StarterPromptCategory {
12368
+ /**
12369
+ * Overrides the default category pill label. ThoughtSpot truncates it
12370
+ * beyond 30 characters.
12371
+ */
12372
+ label?: string;
12373
+ /**
12374
+ * Replaces the backend-generated prompts. ThoughtSpot renders the first 4
12375
+ * and drops any entry without a `prompt`.
12376
+ */
12377
+ questions?: StarterPromptQuestion[];
12378
+ }
12379
+ /**
12380
+ * Configuration for the Data Literacy starter prompt category.
12381
+ * Only the label is customizable; the prompt text comes from the backend.
12382
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12383
+ * @group Embed components
12384
+ */
12385
+ export interface StarterPreviewDataCategory {
12386
+ /**
12387
+ * Overrides the default category pill label. ThoughtSpot truncates it
12388
+ * beyond 30 characters.
12389
+ */
12390
+ label?: string;
12391
+ }
12392
+ /**
12393
+ * Content configuration for the Spotter starter prompts.
12394
+ * Keys are fixed: `quick` (Basic Search), `research` (Deep Analysis),
12395
+ * `previewData` (Data Literacy) and `liveboard` (Liveboard chat panel).
12396
+ *
12397
+ * Note: this controls the Spotter chat interface only. The starter prompts on
12398
+ * the Liveboard SpotterViz surface are configured separately through
12399
+ * {@link SpotterVizConfig.customStarterPrompts}.
12400
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12401
+ * @group Embed components
12402
+ */
12403
+ export interface StarterPromptsConfig {
12404
+ /**
12405
+ * Turns the starter prompts surface on. Must be set explicitly, an
12406
+ * unset flag leaves the surface off.
12407
+ *
12408
+ * Either this or `enableStarterPrompts` turns the surface on, so `false`
12409
+ * here does not switch it off while `enableStarterPrompts` is `true`.
12410
+ * @default false
12411
+ */
12412
+ enable?: boolean;
12413
+ /** Basic Search category configuration. */
12414
+ quick?: StarterPromptCategory;
12415
+ /** Deep Analysis category configuration. */
12416
+ research?: StarterPromptCategory;
12417
+ /** Data Literacy category configuration. */
12418
+ previewData?: StarterPreviewDataCategory;
12419
+ /**
12420
+ * Starter prompts for the Spotter chat panel on a Liveboard.
12421
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
12422
+ */
12423
+ liveboard?: StarterPromptQuestion[];
12424
+ }
12425
+ /**
12426
+ * Configuration for customizing Spotter chat UI branding.
12427
+ * @version SDK: 1.46.0 | ThoughtSpot: 26.4.0.cl
12428
+ * @group Embed components
12429
+ */
12430
+ export interface SpotterChatViewConfig {
12431
+ /**
12432
+ * Hides the ThoughtSpot logo/icon in tool response
12433
+ * cards. The branding label prefix is controlled
12434
+ * separately via `toolResponseCardBrandingLabel`.
12435
+ * External MCP tool branding is not affected.
12436
+ * @default false
12437
+ */
12438
+ hideToolResponseCardBranding?: boolean;
12439
+ /**
12440
+ * Custom label to replace the "ThoughtSpot" prefix
12441
+ * in tool response cards. Set to an empty string
12442
+ * `''` to hide the prefix entirely. Works
12443
+ * independently of `hideToolResponseCardBranding`.
12444
+ * External MCP tool branding is not affected.
12445
+ */
12446
+ toolResponseCardBrandingLabel?: string;
12447
+ /**
12448
+ * Enables file upload in the Spotter chat interface.
12449
+ *
12450
+ * Supported embed types: `SpotterEmbed`, `LiveboardEmbed`, `AppEmbed`
12451
+ * @version SDK: 1.49.0 | ThoughtSpot: 26.6.0.cl
12452
+ * @default false
12453
+ */
12454
+ spotterFileUploadEnabled?: boolean;
12455
+ /**
12456
+ * Restricts the allowed file types for Spotter file upload.
12457
+ *
12458
+ * Supported embed types: `SpotterEmbed`, `LiveboardEmbed`, `AppEmbed`
12459
+ * @version SDK: 1.49.0 | ThoughtSpot: 26.6.0.cl
12460
+ */
12461
+ spotterFileUploadFileTypes?: SpotterFileUploadFileTypes;
12462
+ /**
12463
+ * Enables starter prompts in the Spotter chat interface.
12464
+ *
12465
+ * Either this or `starterPrompts.enable` turns the surface on, so it stays
12466
+ * on while this is `true` even if `starterPrompts.enable` is `false`.
12467
+ *
12468
+ * Supported embed types: `SpotterEmbed`, `LiveboardEmbed`, `AppEmbed`
12469
+ * @version SDK: 1.51.0 | ThoughtSpot: 26.8.0.cl
12470
+ * @default false
11239
12471
  */
11240
12472
  enableStarterPrompts?: boolean;
12473
+ /**
12474
+ * Customizes the labels and questions of the Spotter starter prompts.
12475
+ * Individual pills are hidden or shown with `hiddenActions` /
12476
+ * `visibleActions` using `Action.QuickSearchPill`,
12477
+ * `Action.DeepAnalysisPill` and `Action.DataLiteracyPill`.
12478
+ *
12479
+ * Supported embed types: `SpotterEmbed`, `LiveboardEmbed`, `AppEmbed`
12480
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12481
+ * @example
12482
+ * ```js
12483
+ * const embed = new SpotterEmbed('#tsEmbed', {
12484
+ * worksheetId: 'worksheet-id',
12485
+ * hiddenActions: [Action.DeepAnalysisPill],
12486
+ * spotterChatConfig: {
12487
+ * starterPrompts: {
12488
+ * enable: true,
12489
+ * quick: {
12490
+ * label: 'Quick questions',
12491
+ * questions: [
12492
+ * { label: 'Top products', prompt: 'What are the top products by revenue?' },
12493
+ * ],
12494
+ * },
12495
+ * previewData: { label: 'Explore your data' },
12496
+ * },
12497
+ * },
12498
+ * })
12499
+ * ```
12500
+ */
12501
+ starterPrompts?: StarterPromptsConfig;
12502
+ /**
12503
+ * Opens the Spotter chat panel when the Liveboard loads.
12504
+ *
12505
+ * Supported embed types: `LiveboardEmbed`, `AppEmbed`
12506
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
12507
+ * @default true
12508
+ * @example
12509
+ * ```js
12510
+ * const embed = new LiveboardEmbed('#tsEmbed', {
12511
+ * liveboardId: 'liveboard-id',
12512
+ * spotterChatConfig: {
12513
+ * openSpotterOnLiveboardByDefault: false,
12514
+ * },
12515
+ * })
12516
+ * ```
12517
+ */
12518
+ openSpotterOnLiveboardByDefault?: boolean;
12519
+ }
12520
+ /**
12521
+ * Configuration for the Spotter Analyst experience.
12522
+ * Can be used in SpotterEmbed.
12523
+ * @group Embed components
12524
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
12525
+ * @example
12526
+ * ```js
12527
+ * const embed = new SpotterEmbed('#tsEmbed', {
12528
+ * ... //other embed view config
12529
+ * spotterAnalystConfig: {
12530
+ * analystId: 'analyst-id-1234',
12531
+ * },
12532
+ * })
12533
+ * ```
12534
+ */
12535
+ export interface SpotterAnalystConfig {
12536
+ /**
12537
+ * Pins the embed to a single spotter analyst. Implies no default Spotter
12538
+ * and no "Show all".
12539
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
12540
+ */
12541
+ analystId?: string;
11241
12542
  }
11242
12543
  /**
11243
12544
  * The configuration for the embedded spotterEmbed options.
@@ -11247,8 +12548,43 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, "primaryAct
11247
12548
  /**
11248
12549
  * The ID of the data source object. For example, Model, View, or Table. Spotter uses
11249
12550
  * this object to query data and generate Answers.
12551
+ * This field is optional. If not provided, Spotter loads using the
12552
+ * previously selected user data source.
11250
12553
  */
11251
- worksheetId: string;
12554
+ worksheetId?: string;
12555
+ /**
12556
+ * The array of data source GUIDs to set on load. Spotter uses
12557
+ * these GUIDs to query data and generate Answers.
12558
+ * dataSources is preferred over worksheetId if both are provided.
12559
+ * The feature is currently behind a feature flag.
12560
+ *
12561
+ * Supported embed types: `SpotterEmbed`
12562
+ * @example
12563
+ * ```js
12564
+ * const embed = new SpotterEmbed('#tsEmbed', {
12565
+ * // ...other embed view config
12566
+ * dataSources: ['id-2345', 'id-2345'],
12567
+ * });
12568
+ * ```
12569
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12570
+ */
12571
+ dataSources?: string[];
12572
+ /**
12573
+ * Configuration for the Spotter Analyst experience.
12574
+ *
12575
+ * Supported embed types: `SpotterEmbed`
12576
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
12577
+ * @example
12578
+ * ```js
12579
+ * const embed = new SpotterEmbed('#tsEmbed', {
12580
+ * ... //other embed view config
12581
+ * spotterAnalystConfig: {
12582
+ * analystId: 'analyst-id-1234',
12583
+ * },
12584
+ * })
12585
+ * ```
12586
+ */
12587
+ spotterAnalystConfig?: SpotterAnalystConfig;
11252
12588
  /**
11253
12589
  * Ability to pass a starting search query to the conversation.
11254
12590
  */
@@ -11408,6 +12744,39 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, "primaryAct
11408
12744
  * ```
11409
12745
  */
11410
12746
  updatedSpotterChatPrompt?: boolean;
12747
+ /**
12748
+ * showSpotterRadiance : Controls the radiance on the Spotter page.
12749
+ *
12750
+ * Supported embed types: `SpotterEmbed`
12751
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12752
+ * @default false
12753
+ * @example
12754
+ * ```js
12755
+ * const embed = new SpotterEmbed('#tsEmbed', {
12756
+ * ... //other embed view config
12757
+ * showSpotterRadiance : true,
12758
+ * })
12759
+ * ```
12760
+ */
12761
+ showSpotterRadiance?: boolean;
12762
+ /**
12763
+ * Sets the default query mode when Spotter loads — Fast Search or
12764
+ * Research Mode. Applies fresh on every new session for this embed
12765
+ * instance only; it does not persist as a user preference and does
12766
+ * not affect other embeds or native ThoughtSpot usage.
12767
+ *
12768
+ * Supported embed types: `SpotterEmbed`, `AppEmbed`
12769
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12770
+ * @default SpotterQueryMode.FAST_SEARCH
12771
+ * @example
12772
+ * ```js
12773
+ * const embed = new SpotterEmbed('#tsEmbed', {
12774
+ * ... //other embed view config
12775
+ * defaultQueryMode: SpotterQueryMode.RESEARCH,
12776
+ * })
12777
+ * ```
12778
+ */
12779
+ defaultQueryMode?: SpotterQueryMode;
11411
12780
  /**
11412
12781
  * Enables the stop answer generation button in the Spotter embed UI,
11413
12782
  * allowing users to interrupt an ongoing answer generation.
@@ -11466,6 +12835,59 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, "primaryAct
11466
12835
  * ```
11467
12836
  */
11468
12837
  spotterChatConfig?: SpotterChatViewConfig;
12838
+ /**
12839
+ * Configuration for the Spotter conversation sharing feature.
12840
+ *
12841
+ * Supported embed types: `SpotterEmbed`, `AppEmbed`
12842
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12843
+ * @example
12844
+ * ```js
12845
+ * const embed = new SpotterEmbed('#tsEmbed', {
12846
+ * ... //other embed view config
12847
+ * spotterShareConversationConfig: {
12848
+ * enableShareConversation: true,
12849
+ * },
12850
+ * })
12851
+ * ```
12852
+ */
12853
+ spotterShareConversationConfig?: SpotterShareConversationConfig;
12854
+ /**
12855
+ * The ID of a shared Spotter conversation to open directly in the read-only
12856
+ * reader view. Use this to land a share recipient in the shared conversation
12857
+ * when they open a host-configured `CONVERSATION_URL` share link: read the
12858
+ * `{conversation-id}` from your page URL and pass it here.
12859
+ *
12860
+ * Requires the Spotter conversation-sharing feature to be enabled
12861
+ * (`spotterShareConversationConfig.enableShareConversation`). The recipient
12862
+ * must be an authorized sharee — the server returns access-denied otherwise.
12863
+ *
12864
+ * Supported embed types: `SpotterEmbed`
12865
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12866
+ * @example
12867
+ * ```js
12868
+ * const convId = new URLSearchParams(window.location.search).get('conversation-id');
12869
+ * const embed = new SpotterEmbed('#tsEmbed', {
12870
+ * ... //other embed view config
12871
+ * sharedConversationId: convId,
12872
+ * })
12873
+ * ```
12874
+ */
12875
+ sharedConversationId?: string;
12876
+ /**
12877
+ * updatedSpotterExperience : Controls the updated Spotter experience.
12878
+ *
12879
+ * Supported embed types: `SpotterEmbed`
12880
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12881
+ * @default false
12882
+ * @example
12883
+ * ```js
12884
+ * const embed = new SpotterEmbed('#tsEmbed', {
12885
+ * ... //other embed view config
12886
+ * updatedSpotterExperience : true,
12887
+ * })
12888
+ * ```
12889
+ */
12890
+ updatedSpotterExperience?: boolean;
11469
12891
  }
11470
12892
  /**
11471
12893
  * The configuration for the embedded spotterEmbed options.
@@ -11482,7 +12904,9 @@ export interface ConversationViewConfig extends SpotterEmbedViewConfig {
11482
12904
  export interface SpotterAppInitData extends DefaultAppInitData {
11483
12905
  embedParams?: {
11484
12906
  spotterSidebarConfig?: SpotterSidebarViewConfig;
12907
+ spotterShareConversationConfig?: SpotterShareConversationConfig;
11485
12908
  visualOverridesParams?: VisualizationOverrides | null;
12909
+ starterPrompts?: StarterPromptsConfig;
11486
12910
  };
11487
12911
  }
11488
12912
  declare class SpotterEmbed extends TsEmbed {
@@ -11540,12 +12964,17 @@ export interface SpotterVizStarterPrompt {
11540
12964
  * customStarterPrompts: [
11541
12965
  * { id: '1', displayText: 'Top products', fullPrompt: 'What are the top products by revenue?' }
11542
12966
  * ],
11543
- * // loaderHeadline and loaderTips require SDK: 1.51.0 | ThoughtSpot Cloud: 26.8.0.cl
12967
+ * // The options below require SDK: 1.51.0
11544
12968
  * loaderHeadline: 'Crunching the numbers...',
11545
12969
  * loaderTips: [
11546
12970
  * { label: 'Tip', text: 'try asking about revenue by region' },
11547
12971
  * { label: 'Tip', text: 'use natural language' },
11548
12972
  * ],
12973
+ * liveboardBrandName: 'Reports',
12974
+ * spotterBrandName: 'Analyst',
12975
+ * insightTileBrandName: 'Insight card',
12976
+ * insightTileViewPlanLabel: 'View plan',
12977
+ * insightTileLoaderText: 'Generating insight',
11549
12978
  * },
11550
12979
  * })
11551
12980
  * ```
@@ -11593,19 +13022,47 @@ export interface SpotterVizConfig {
11593
13022
  /**
11594
13023
  * Custom headline text shown in the SpotterViz loading state.
11595
13024
  * Replaces the default loading headline.
11596
- * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.8.0.cl
13025
+ * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.7.0.cl
11597
13026
  */
11598
13027
  loaderHeadline?: string;
11599
13028
  /**
11600
13029
  * Custom tips shown in the SpotterViz loading state.
11601
13030
  * Replaces the default loading tips with the provided list.
11602
- * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.8.0.cl
13031
+ * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.7.0.cl
11603
13032
  */
11604
13033
  loaderTips?: SpotterVizLoaderTip[];
13034
+ /**
13035
+ * Custom term used to replace "Liveboard" in the agent's responses.
13036
+ * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.7.0.cl
13037
+ * @default ''
13038
+ */
13039
+ liveboardBrandName?: string;
13040
+ /**
13041
+ * Custom term used to replace "Spotter" in the agent's responses.
13042
+ * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.7.0.cl
13043
+ * @default ''
13044
+ */
13045
+ spotterBrandName?: string;
13046
+ /**
13047
+ * Custom term used to replace "Insight tile" in the UI and in the agent's responses.
13048
+ * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.7.0.cl
13049
+ * @default ''
13050
+ */
13051
+ insightTileBrandName?: string;
13052
+ /**
13053
+ * Custom term used to replace "View plan" in the insight tile menu.
13054
+ * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.7.0.cl
13055
+ */
13056
+ insightTileViewPlanLabel?: string;
13057
+ /**
13058
+ * Custom loader text shown on the insight tile.
13059
+ * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.7.0.cl
13060
+ */
13061
+ insightTileLoaderText?: string;
11605
13062
  }
11606
13063
  /**
11607
13064
  * A single tip shown in the SpotterViz loading state.
11608
- * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.8.0.cl
13065
+ * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.7.0.cl
11609
13066
  * @group Embed components
11610
13067
  */
11611
13068
  export interface SpotterVizLoaderTip {
@@ -11649,7 +13106,15 @@ export declare enum Page {
11649
13106
  /**
11650
13107
  * Monitor Alerts Page
11651
13108
  */
11652
- Monitor = "monitor"
13109
+ Monitor = "monitor",
13110
+ /**
13111
+ * Collections listing page
13112
+ */
13113
+ Collections = "collections",
13114
+ /**
13115
+ * Liveboard schedules listing page
13116
+ */
13117
+ LiveboardSchedules = "liveboard-schedules"
11653
13118
  }
11654
13119
  declare enum DataPanelCustomColumnGroupsAccordionState$1 {
11655
13120
  /**
@@ -11682,6 +13147,9 @@ declare enum HomePage {
11682
13147
  /**
11683
13148
  * Modular (v2) introduces the updated Modular Home Experience.
11684
13149
  * It serves as the foundational version of the home page.
13150
+ * Use {@link HomePage.ModularWithStylingChanges} (V3) or
13151
+ * {@link HomePage.Focused} (V4) instead.
13152
+ * @deprecated V1 and V2 home page experiences are deprecated.
11685
13153
  */
11686
13154
  Modular = "v2",
11687
13155
  /**
@@ -11751,13 +13219,14 @@ export interface AppViewConfig extends AllEmbedViewConfig {
11751
13219
  showPrimaryNavbar?: boolean;
11752
13220
  /**
11753
13221
  * Control the visibility of the left navigation panel on the home page
11754
- * in the V2 and V3 navigation and home page experience.
13222
+ * in the V3 and V4 navigation and home page experience.
11755
13223
  * If `showPrimaryNavbar` is true, that is, if the Global and Homepage
11756
13224
  * navigation bars are visible, this flag will only hide the left navigation bar
11757
13225
  * on the home page.
11758
13226
  * The `showPrimaryNavbar` flag takes precedence over the `hideHomepageLeftNav`.
11759
13227
  *
11760
- * **Note**: This attribute is not supported in the classic (V1) experience.
13228
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
13229
+ * deprecated. This attribute applies to V3 and V4 home page experiences.
11761
13230
  *
11762
13231
  * Supported embed types: `AppEmbed`
11763
13232
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl
@@ -11823,11 +13292,10 @@ export interface AppViewConfig extends AllEmbedViewConfig {
11823
13292
  hideHamburger?: boolean;
11824
13293
  /**
11825
13294
  * Control the visibility of the object search
11826
- * on the top navigation bar in the
11827
- * V2 and V3 navigation experience.
13295
+ * on the top navigation bar in the V3 navigation experience.
11828
13296
  *
11829
- * **Note**: This attribute is not supported
11830
- * in the classic (V1) experience.
13297
+ * **Note**: The classic (V1) and V2 navigation experiences are
13298
+ * deprecated. This attribute applies to the V3 navigation experience.
11831
13299
  *
11832
13300
  * Supported embed types: `AppEmbed`
11833
13301
  * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
@@ -11845,8 +13313,8 @@ export interface AppViewConfig extends AllEmbedViewConfig {
11845
13313
  * Control the visibility of the notification icon
11846
13314
  * on the top navigation bar in V3 navigation experience.
11847
13315
  *
11848
- * **Note**: This attribute is not supported
11849
- * in the classic (V1) and V2 experience modes.
13316
+ * **Note**: The classic (V1) and V2 experience modes are deprecated.
13317
+ * This attribute applies to the V3 experience.
11850
13318
  *
11851
13319
  * Supported embed types: `AppEmbed`
11852
13320
  * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
@@ -11861,14 +13329,14 @@ export interface AppViewConfig extends AllEmbedViewConfig {
11861
13329
  */
11862
13330
  hideNotification?: boolean;
11863
13331
  /**
11864
- * Control the visibility of the application selection menu
11865
- * in the top navigation bar in the V2 experience.
13332
+ * Control the visibility of the application selection menu.
11866
13333
  * In the V3 experience, it shows or hides application selection
11867
13334
  * icons on the left navigation panel.
11868
13335
  * By default, the application selection menu and icons are
11869
13336
  * shown in the UI.
11870
13337
  *
11871
- * **Note**: This attribute is not supported in the classic (V1) experience.
13338
+ * **Note**: The classic (V1) and V2 experiences are deprecated.
13339
+ * This attribute applies to the V3 experience.
11872
13340
  *
11873
13341
  * Supported embed types: `AppEmbed`
11874
13342
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl
@@ -11886,7 +13354,8 @@ export interface AppViewConfig extends AllEmbedViewConfig {
11886
13354
  * Control the visibility of the Org switcher button on the nav-bar.
11887
13355
  * By default, the Org switcher button is shown.
11888
13356
  *
11889
- * **Note**: This attribute is not supported in the classic (V1) experience.
13357
+ * **Note**: The classic (V1) experience is deprecated. This attribute
13358
+ * applies to V2 (deprecated), V3 and V4 experiences.
11890
13359
  *
11891
13360
  * Supported embed types: `AppEmbed`
11892
13361
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl
@@ -12027,6 +13496,11 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12027
13496
  * `false` fetches visualizations incrementally as
12028
13497
  * users scroll the page to view the charts and tables.
12029
13498
  *
13499
+ * From SDK 1.52.0, enabling `fullHeight` also turns on
13500
+ * {@link lazyLoadingForFullHeight} and
13501
+ * {@link enableScrollableContainerLazyLoading}, so visualizations load as
13502
+ * they scroll into view. Set either flag to `false` to opt out.
13503
+ *
12030
13504
  * Supported embed types: `AppEmbed`
12031
13505
  * @version SDK: 1.21.0 | ThoughtSpot: 9.4.0.cl, 9.4.0-sw
12032
13506
  * @example
@@ -12045,6 +13519,10 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12045
13519
  * Supported embed types: `AppEmbed`
12046
13520
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl
12047
13521
  * @default false
13522
+ * Use the discoveryExperience.homePage option with
13523
+ * {@link HomePage.ModularWithStylingChanges} (V3) or
13524
+ * {@link HomePage.Focused} (V4) instead.
13525
+ * @deprecated The V1 and V2 home page experiences are deprecated.
12048
13526
  * @example
12049
13527
  * ```js
12050
13528
  * const embed = new AppEmbed('#tsEmbed', {
@@ -12176,11 +13654,12 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12176
13654
  /**
12177
13655
  * Enables the 'what you see is what you get' PDF export for Liveboards. Each tab is rendered on a single page
12178
13656
  * following the exact UI layout, instead of splitting visualizations across multiple A4 pages.
12179
- * This feature is GA from version 26.5.0.cl. It is disabled by default in embed deployments.
13657
+ * This feature is GA from SDK version 1.51.0 and ThoughtSpot version 26.8.0.cl.
12180
13658
  *
12181
13659
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
12182
13660
  * @type {boolean}
12183
13661
  * @version SDK: 1.48.0 | ThoughtSpot: 26.5.0.cl
13662
+ * @default true
12184
13663
  * @example
12185
13664
  * ```js
12186
13665
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -12193,10 +13672,12 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12193
13672
  isContinuousLiveboardPDFEnabled?: boolean;
12194
13673
  /**
12195
13674
  * This flag is used to enable/disable the XLSX/CSV download option for Liveboards
13675
+ * This feature is GA from SDK version 1.51.0 and ThoughtSpot version 26.6.0.cl
12196
13676
  *
12197
13677
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
12198
13678
  * @type {boolean}
12199
13679
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
13680
+ * @default true
12200
13681
  * @example
12201
13682
  * ```js
12202
13683
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -12209,10 +13690,12 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12209
13690
  isLiveboardXLSXCSVDownloadEnabled?: boolean;
12210
13691
  /**
12211
13692
  * This flag is used to enable/disable the granular XLSX/CSV schedules feature
13693
+ * This feature is GA from SDK version 1.51.0 and ThoughtSpot version 26.6.0.cl
12212
13694
  *
12213
13695
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
12214
13696
  * @type {boolean}
12215
13697
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
13698
+ * @default true
12216
13699
  * @example
12217
13700
  * ```js
12218
13701
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -12224,11 +13707,17 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12224
13707
  */
12225
13708
  isGranularXLSXCSVSchedulesEnabled?: boolean;
12226
13709
  /**
12227
- * This flag is used to enable the full height lazy load data.
13710
+ * Loads visualizations only as they scroll into the viewport, instead of
13711
+ * loading the whole full-height Liveboard at once.
13712
+ *
13713
+ * From SDK 1.52.0 this is enabled automatically whenever `fullHeight` is
13714
+ * `true`. On SDK 1.51.0 and earlier it defaulted to `false` and had to be
13715
+ * set explicitly. Set it to `false` to load every visualization upfront.
13716
+ * The flag has no effect unless `fullHeight` is enabled.
12228
13717
  *
12229
13718
  * @type {boolean}
12230
13719
  * @version SDK: 1.40.0 | ThoughtSpot: 10.12.0.cl
12231
- * @default false
13720
+ * @default true when `fullHeight` is enabled, from SDK 1.52.0
12232
13721
  * @example
12233
13722
  * ```js
12234
13723
  * const embed = new AppEmbed('#embed-container', {
@@ -12240,27 +13729,43 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12240
13729
  */
12241
13730
  lazyLoadingForFullHeight?: boolean;
12242
13731
  /**
12243
- * This flag is used to enable container-aware full height lazy loading.
13732
+ * Computes the visible region of the embed against its scrollable and
13733
+ * clipping ancestors, instead of treating the browser window as the only
13734
+ * viewport, and tracks scroll and resize on those ancestors.
12244
13735
  *
12245
- * Use this when the embed is rendered inside a scrollable or clipping
12246
- * container instead of relying on the browser window as the only viewport.
13736
+ * From SDK 1.52.0 this is enabled automatically whenever `fullHeight` is
13737
+ * `true`. On SDK 1.51.0 and earlier it defaulted to `false` and had to be
13738
+ * set explicitly. Set it to `false` when the page scrolls with the window
13739
+ * and the embed has no clipping ancestor, to skip the extra ancestor
13740
+ * tracking.
12247
13741
  *
12248
13742
  * @type {boolean}
12249
- * @default false
13743
+ * @default true when `fullHeight` is enabled, from SDK 1.52.0
12250
13744
  * @hidden
12251
13745
  */
12252
13746
  enableScrollableContainerLazyLoading?: boolean;
12253
13747
  /**
12254
- * The margin to be used for lazy loading.
13748
+ * How far outside the viewport a visualization starts loading, when
13749
+ * {@link lazyLoadingForFullHeight} is enabled.
12255
13750
  *
12256
13751
  * For example, if the margin is set to '10px',
12257
13752
  * the visualization will be loaded 10px before its top edge is visible in the
12258
13753
  * viewport.
12259
13754
  *
12260
- * The format is similar to CSS margin.
13755
+ * The format is similar to CSS margin, so `'500px 0px'` extends the
13756
+ * prefetch 500px above and below the viewport and not sideways. Accepted
13757
+ * units are `px`, `em`, `rem`, `%`, `vh` and `vw`, plus bare `0` and
13758
+ * `auto`; an invalid value is logged and ignored.
13759
+ *
13760
+ * From SDK 1.52.0 this defaults to `'500px 0px'` — roughly one
13761
+ * visualization ahead of the scroll position, so a chart has usually
13762
+ * finished loading by the time it scrolls into view. Use a smaller margin
13763
+ * to cut warehouse queries further, or `'0px'` to load a visualization
13764
+ * only once it is actually visible.
12261
13765
  *
12262
13766
  * @type {string}
12263
13767
  * @version SDK: 1.40.0 | ThoughtSpot: 10.12.0.cl
13768
+ * @default '500px 0px' when `fullHeight` is enabled, from SDK 1.52.0
12264
13769
  * @example
12265
13770
  * ```js
12266
13771
  * const embed = new AppEmbed('#embed-container', {
@@ -12288,6 +13793,40 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12288
13793
  * ```
12289
13794
  */
12290
13795
  updatedSpotterChatPrompt?: boolean;
13796
+ /**
13797
+ * showSpotterRadiance : Controls the radiance on the Spotter page.
13798
+ *
13799
+ * Supported embed types: `AppEmbed`
13800
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
13801
+ * @default false
13802
+ * @example
13803
+ * ```js
13804
+ * const embed = new AppEmbed('#tsEmbed', {
13805
+ * ... //other embed view config
13806
+ * showSpotterRadiance : true,
13807
+ * })
13808
+ * ```
13809
+ */
13810
+ showSpotterRadiance?: boolean;
13811
+ /**
13812
+ * Sets the default query mode when Spotter loads — Fast Search or
13813
+ * Research Mode. Applies fresh on every new session for this embed
13814
+ * instance only; it does not persist as a user preference and does
13815
+ * not affect other embeds or native ThoughtSpot usage.
13816
+ * Only applicable when navigating to Spotter within the app.
13817
+ *
13818
+ * Supported embed types: `AppEmbed`
13819
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
13820
+ * @default SpotterQueryMode.FAST_SEARCH
13821
+ * @example
13822
+ * ```js
13823
+ * const embed = new AppEmbed('#tsEmbed', {
13824
+ * ... //other embed view config
13825
+ * defaultQueryMode: SpotterQueryMode.RESEARCH,
13826
+ * })
13827
+ * ```
13828
+ */
13829
+ defaultQueryMode?: SpotterQueryMode;
12291
13830
  /**
12292
13831
  * Controls the visibility of the past conversations sidebar.
12293
13832
  *
@@ -12313,6 +13852,10 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12313
13852
  * spotterSidebarConfig: {
12314
13853
  * enablePastConversationsSidebar: true,
12315
13854
  * spotterSidebarTitle: 'My Conversations',
13855
+ * // Opt in to pin/unpin conversations in embedded Spotter
13856
+ * spotterChatPinConfig: {
13857
+ * enabled: true,
13858
+ * },
12316
13859
  * },
12317
13860
  * })
12318
13861
  * ```
@@ -12336,6 +13879,49 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12336
13879
  * ```
12337
13880
  */
12338
13881
  spotterChatConfig?: SpotterChatViewConfig;
13882
+ /**
13883
+ * Configuration for the Spotter conversation sharing feature.
13884
+ *
13885
+ * Supported embed types: `AppEmbed`
13886
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
13887
+ * @example
13888
+ * ```js
13889
+ * const embed = new AppEmbed('#tsEmbed', {
13890
+ * ... //other embed view config
13891
+ * spotterShareConversationConfig: {
13892
+ * enableShareConversation: true,
13893
+ * },
13894
+ * })
13895
+ * ```
13896
+ */
13897
+ spotterShareConversationConfig?: SpotterShareConversationConfig;
13898
+ /**
13899
+ * Sets the default data sources (Models) for the Spotter experience shown on
13900
+ * the home page of the full app embed. Accepts a list of Model GUIDs to
13901
+ * preselect the data sources available to Spotter, or the literal
13902
+ * `'auto_mode'` sentinel to load Spotter with the "Auto" model selected by
13903
+ * default. This is consistent with how `worksheetId: 'auto_mode'` enables
13904
+ * Auto mode in `SpotterEmbed`.
13905
+ *
13906
+ * **Note**: If `'auto_mode'` is included alongside one or more Model GUIDs,
13907
+ * `'auto_mode'` takes precedence and is selected by default.
13908
+ *
13909
+ * **Note**: `'auto_mode'` requires the Spotter 3 experience with data source
13910
+ * discovery enabled on your instance, and a Spotter-enabled home page (for
13911
+ * example, `discoveryExperience.homePage: HomePage.Focused`).
13912
+ *
13913
+ * Supported embed types: `AppEmbed`
13914
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.10.0.cl
13915
+ * @example
13916
+ * ```js
13917
+ * const embed = new AppEmbed('#tsEmbed', {
13918
+ * ... // other embed view config
13919
+ * discoveryExperience: { homePage: HomePage.Focused },
13920
+ * spotterDataSources: ['model-guid-1', 'model-guid-2'], // or ['auto_mode']
13921
+ * })
13922
+ * ```
13923
+ */
13924
+ spotterDataSources?: string[];
12339
13925
  /**
12340
13926
  * Configuration for the SpotterViz interface shown on the Liveboard.
12341
13927
  * Customize the brand name, description, chat input placeholder,
@@ -12354,12 +13940,17 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12354
13940
  * inputChatPlaceholder: 'Ask a question...',
12355
13941
  * hideStarterPrompts: false,
12356
13942
  * customStarterPrompts: [{ id: '1', displayText: 'Top products', fullPrompt: 'What are the top products by revenue?' }],
12357
- * // loaderHeadline and loaderTips require SDK: 1.51.0 | ThoughtSpot Cloud: 26.8.0.cl
13943
+ * // The options below require SDK: 1.51.0
12358
13944
  * loaderHeadline: 'Crunching the numbers...',
12359
13945
  * loaderTips: [
12360
13946
  * { label: 'Tip', text: 'try asking about revenue by region' },
12361
13947
  * { label: 'Tip', text: 'use natural language' },
12362
13948
  * ],
13949
+ * liveboardBrandName: 'Reports',
13950
+ * spotterBrandName: 'Analyst',
13951
+ * insightTileBrandName: 'Insight card',
13952
+ * insightTileViewPlanLabel: 'View plan',
13953
+ * insightTileLoaderText: 'Generating insight',
12363
13954
  * },
12364
13955
  * })
12365
13956
  * ```
@@ -12425,6 +14016,21 @@ export interface AppViewConfig extends AllEmbedViewConfig {
12425
14016
  * @version SDK: 1.49.0 | ThoughtSpot: 26.6.0.cl
12426
14017
  */
12427
14018
  visualOverrides?: VisualizationOverrides;
14019
+ /**
14020
+ * updatedSpotterExperience : Controls the updated Spotter experience.
14021
+ *
14022
+ * Supported embed types: `AppEmbed`
14023
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
14024
+ * @default false
14025
+ * @example
14026
+ * ```js
14027
+ * const embed = new AppEmbed('#tsEmbed', {
14028
+ * ... //other embed view config
14029
+ * updatedSpotterExperience : true,
14030
+ * })
14031
+ * ```
14032
+ */
14033
+ updatedSpotterExperience?: boolean;
12428
14034
  }
12429
14035
  /**
12430
14036
  * APP_INIT data shape for AppEmbed.
@@ -12434,6 +14040,8 @@ export interface AppEmbedAppInitData extends DefaultAppInitData {
12434
14040
  embedParams?: {
12435
14041
  spotterSidebarConfig?: SpotterSidebarViewConfig;
12436
14042
  spotterVizConfig?: SpotterVizConfig;
14043
+ spotterShareConversationConfig?: SpotterShareConversationConfig;
14044
+ starterPrompts?: StarterPromptsConfig;
12437
14045
  };
12438
14046
  }
12439
14047
  declare class AppEmbed extends V1Embed {
@@ -12460,6 +14068,7 @@ declare class AppEmbed extends V1Embed {
12460
14068
  * embedded Liveboard or visualization.
12461
14069
  */
12462
14070
  protected getEmbedParams(): string;
14071
+ protected getEmbedParamsObject(): any;
12463
14072
  private sendFullHeightLazyLoadData;
12464
14073
  /**
12465
14074
  * This is a handler for the RequestVisibleEmbedCoordinates event.
@@ -12527,6 +14136,7 @@ declare class AppEmbed extends V1Embed {
12527
14136
  export interface LiveboardEmbedAppInitData extends DefaultAppInitData {
12528
14137
  embedParams?: {
12529
14138
  spotterVizConfig?: SpotterVizConfig;
14139
+ starterPrompts?: StarterPromptsConfig;
12530
14140
  };
12531
14141
  }
12532
14142
  /**
@@ -12545,6 +14155,11 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
12545
14155
  * Setting `fullHeight` to `false` fetches visualizations
12546
14156
  * incrementally as users scroll the page to view the charts and tables.
12547
14157
  *
14158
+ * From SDK 1.52.0, enabling `fullHeight` also turns on
14159
+ * {@link lazyLoadingForFullHeight} and
14160
+ * {@link enableScrollableContainerLazyLoading}, so visualizations load as
14161
+ * they scroll into view. Set either flag to `false` to opt out.
14162
+ *
12548
14163
  *
12549
14164
  * Supported embed types: `LiveboardEmbed`
12550
14165
  * @version SDK: 1.1.0 | ThoughtSpot: ts7.may.cl, 7.2.1
@@ -12884,11 +14499,12 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
12884
14499
  /**
12885
14500
  * Enables the 'what you see is what you get' PDF export for Liveboards. Each tab is rendered on a single page
12886
14501
  * following the exact UI layout, instead of splitting visualizations across multiple A4 pages.
12887
- * This feature is GA from version 26.5.0.cl. It is disabled by default in embed deployments.
14502
+ * This feature is GA from SDK version 1.51.0 and ThoughtSpot version 26.8.0.cl.
12888
14503
  *
12889
14504
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
12890
14505
  * @type {boolean}
12891
14506
  * @version SDK: 1.48.0 | ThoughtSpot: 26.5.0.cl
14507
+ * @default true
12892
14508
  * @example
12893
14509
  * ```js
12894
14510
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -12901,10 +14517,12 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
12901
14517
  isContinuousLiveboardPDFEnabled?: boolean;
12902
14518
  /**
12903
14519
  * This flag is used to enable/disable the XLSX/CSV download option for Liveboards
14520
+ * This feature is GA from SDK version 1.51.0 and ThoughtSpot version 26.6.0.cl.
12904
14521
  *
12905
14522
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
12906
14523
  * @type {boolean}
12907
14524
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
14525
+ * @default true
12908
14526
  * @example
12909
14527
  * ```js
12910
14528
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -12917,10 +14535,12 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
12917
14535
  isLiveboardXLSXCSVDownloadEnabled?: boolean;
12918
14536
  /**
12919
14537
  * This flag is used to enable/disable the granular XLSX/CSV schedules feature
14538
+ * This feature is GA from SDK version 1.51.0 and ThoughtSpot version 26.6.0.cl.
12920
14539
  *
12921
14540
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
12922
14541
  * @type {boolean}
12923
14542
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
14543
+ * @default true
12924
14544
  * @example
12925
14545
  * ```js
12926
14546
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -12932,11 +14552,17 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
12932
14552
  */
12933
14553
  isGranularXLSXCSVSchedulesEnabled?: boolean;
12934
14554
  /**
12935
- * This flag is used to enable the full height lazy load data.
14555
+ * Loads visualizations only as they scroll into the viewport, instead of
14556
+ * loading the whole full-height Liveboard at once.
14557
+ *
14558
+ * From SDK 1.52.0 this is enabled automatically whenever `fullHeight` is
14559
+ * `true`. On SDK 1.51.0 and earlier it defaulted to `false` and had to be
14560
+ * set explicitly. Set it to `false` to load every visualization upfront.
14561
+ * The flag has no effect unless `fullHeight` is enabled.
12936
14562
  *
12937
14563
  * @type {boolean}
12938
14564
  * @version SDK: 1.40.0 | ThoughtSpot: 10.12.0.cl
12939
- * @default false
14565
+ * @default true when `fullHeight` is enabled, from SDK 1.52.0
12940
14566
  * @example
12941
14567
  * ```js
12942
14568
  * const embed = new LiveboardEmbed('#embed-container', {
@@ -12948,26 +14574,42 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
12948
14574
  */
12949
14575
  lazyLoadingForFullHeight?: boolean;
12950
14576
  /**
12951
- * This flag is used to enable container-aware full height lazy loading.
14577
+ * Computes the visible region of the embed against its scrollable and
14578
+ * clipping ancestors, instead of treating the browser window as the only
14579
+ * viewport, and tracks scroll and resize on those ancestors.
12952
14580
  *
12953
- * Use this when the embed is rendered inside a scrollable or clipping
12954
- * container instead of relying on the browser window as the only viewport.
14581
+ * From SDK 1.52.0 this is enabled automatically whenever `fullHeight` is
14582
+ * `true`. On SDK 1.51.0 and earlier it defaulted to `false` and had to be
14583
+ * set explicitly. Set it to `false` when the page scrolls with the window
14584
+ * and the embed has no clipping ancestor, to skip the extra ancestor
14585
+ * tracking.
12955
14586
  *
12956
14587
  * @type {boolean}
12957
- * @default false
14588
+ * @default true when `fullHeight` is enabled, from SDK 1.52.0
12958
14589
  */
12959
14590
  enableScrollableContainerLazyLoading?: boolean;
12960
14591
  /**
12961
- * The margin to be used for lazy loading.
14592
+ * How far outside the viewport a visualization starts loading, when
14593
+ * {@link lazyLoadingForFullHeight} is enabled.
12962
14594
  *
12963
14595
  * For example, if the margin is set to '10px',
12964
14596
  * the visualization will be loaded 10px before its top edge is visible in the
12965
14597
  * viewport.
12966
14598
  *
12967
- * The format is similar to CSS margin.
14599
+ * The format is similar to CSS margin, so `'500px 0px'` extends the
14600
+ * prefetch 500px above and below the viewport and not sideways. Accepted
14601
+ * units are `px`, `em`, `rem`, `%`, `vh` and `vw`, plus bare `0` and
14602
+ * `auto`; an invalid value is logged and ignored.
14603
+ *
14604
+ * From SDK 1.52.0 this defaults to `'500px 0px'` — roughly one
14605
+ * visualization ahead of the scroll position, so a chart has usually
14606
+ * finished loading by the time it scrolls into view. Use a smaller margin
14607
+ * to cut warehouse queries further, or `'0px'` to load a visualization
14608
+ * only once it is actually visible.
12968
14609
  *
12969
14610
  * @type {string}
12970
14611
  * @version SDK: 1.40.0 | ThoughtSpot: 10.12.0.cl
14612
+ * @default '500px 0px' when `fullHeight` is enabled, from SDK 1.52.0
12971
14613
  * @example
12972
14614
  * ```js
12973
14615
  * const embed = new LiveboardEmbed('#embed-container', {
@@ -13011,6 +14653,21 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
13011
14653
  * ```
13012
14654
  */
13013
14655
  updatedSpotterChatPrompt?: boolean;
14656
+ /**
14657
+ * showSpotterRadiance : Controls the radiance on the Spotter page.
14658
+ *
14659
+ * Supported embed types: `LiveboardEmbed`
14660
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
14661
+ * @default false
14662
+ * @example
14663
+ * ```js
14664
+ * const embed = new LiveboardEmbed('#tsEmbed', {
14665
+ * ... //other embed view config
14666
+ * showSpotterRadiance : true,
14667
+ * })
14668
+ * ```
14669
+ */
14670
+ showSpotterRadiance?: boolean;
13014
14671
  /**
13015
14672
  * Enables the stop answer generation button in the Spotter embed UI,
13016
14673
  * allowing users to interrupt an ongoing answer generation.
@@ -13056,12 +14713,17 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
13056
14713
  * inputChatPlaceholder: 'Ask a question...',
13057
14714
  * hideStarterPrompts: false,
13058
14715
  * customStarterPrompts: [{ id: '1', displayText: 'Top products', fullPrompt: 'What are the top products by revenue?' }],
13059
- * // loaderHeadline and loaderTips require SDK: 1.51.0 | ThoughtSpot Cloud: 26.8.0.cl
14716
+ * // The options below require SDK: 1.51.0
13060
14717
  * loaderHeadline: 'Crunching the numbers...',
13061
14718
  * loaderTips: [
13062
14719
  * { label: 'Tip', text: 'try asking about revenue by region' },
13063
14720
  * { label: 'Tip', text: 'use natural language' },
13064
14721
  * ],
14722
+ * liveboardBrandName: 'Reports',
14723
+ * spotterBrandName: 'Analyst',
14724
+ * insightTileBrandName: 'Insight card',
14725
+ * insightTileViewPlanLabel: 'View plan',
14726
+ * insightTileLoaderText: 'Generating insight',
13065
14727
  * },
13066
14728
  * })
13067
14729
  * ```
@@ -13080,6 +14742,21 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
13080
14742
  * ```
13081
14743
  */
13082
14744
  enableLiveboardDataCache?: boolean;
14745
+ /**
14746
+ * updatedSpotterExperience : Controls the updated Spotter experience.
14747
+ *
14748
+ * Supported embed types: `LiveboardEmbed`
14749
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
14750
+ * @default false
14751
+ * @example
14752
+ * ```js
14753
+ * const embed = new LiveboardEmbed('#tsEmbed', {
14754
+ * ... //other embed view config
14755
+ * updatedSpotterExperience : true,
14756
+ * })
14757
+ * ```
14758
+ */
14759
+ updatedSpotterExperience?: boolean;
13083
14760
  }
13084
14761
  declare class LiveboardEmbed extends V1Embed {
13085
14762
  protected viewConfig: LiveboardViewConfig;
@@ -13137,7 +14814,7 @@ declare class LiveboardEmbed extends V1Embed {
13137
14814
  * @param {any} data The payload to send with the message
13138
14815
  * @returns A promise that resolves with the response from the embedded app
13139
14816
  */
13140
- trigger<HostEventT extends HostEvent, PayloadT, ContextT extends ContextType>(messageType: HostEventT, data?: TriggerPayload<PayloadT, HostEventT>, context?: ContextT): Promise<TriggerResponse<PayloadT, HostEventT, ContextT>>;
14817
+ trigger<HostEventT extends HostEvent, PayloadT = HostEventRequest<HostEventT>, ContextT extends ContextType = ContextType>(messageType: HostEventT, data?: TriggerPayload<PayloadT, HostEventT>, context?: ContextT): Promise<TriggerResponse<PayloadT, HostEventT, ContextT>>;
13141
14818
  /**
13142
14819
  * Destroys the ThoughtSpot embed, and remove any nodes from the DOM.
13143
14820
  * @version SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
@@ -13220,35 +14897,69 @@ export type SessionInfo = {
13220
14897
  export declare function getSessionInfo(): Promise<SessionInfo>;
13221
14898
  export interface SearchProps extends EmbedProps, SearchViewConfig {
13222
14899
  }
13223
- export interface PreRenderProps {
14900
+ /**
14901
+ * The PreRendered components require a preRender id. It can be supplied either
14902
+ * through `preRenderConfig.preRenderId` (SDK: 1.52.0 and later) or through the
14903
+ * top-level `preRenderId` prop (SDK: 1.25.0 and later, now deprecated).
14904
+ * `preRenderConfig.preRenderId` takes precedence when both are set.
14905
+ *
14906
+ * Use PreRender to render the embed in the background and then
14907
+ * show or hide the rendered embed using showPreRender or hidePreRender respectively.
14908
+ * @example
14909
+ * ```tsx
14910
+ * // Preferred, SDK: 1.52.0 and later.
14911
+ * function LandingPageComponent() {
14912
+ * return <PreRenderedLiveboardEmbed
14913
+ * preRenderConfig={{ preRenderId: "someId" }}
14914
+ * liveboardId="libId"
14915
+ * />
14916
+ * }
14917
+ *
14918
+ * function MyComponent() {
14919
+ * return <LiveboardEmbed
14920
+ * preRenderConfig={{ preRenderId: "someId" }}
14921
+ * liveboardId="libId"
14922
+ * />
14923
+ * }
14924
+ * ```
14925
+ * @example
14926
+ * ```tsx
14927
+ * // Deprecated top-level preRenderId, still supported.
14928
+ * function LandingPageComponent() {
14929
+ * return <PreRenderedLiveboardEmbed preRenderId="someId" liveboardId="libId" />
14930
+ * }
14931
+ * ```
14932
+ */
14933
+ export type PreRenderProps = {
13224
14934
  /**
13225
14935
  * PreRender id to be used for PreRendering the embed.
13226
- * Use PreRender to render the embed in the background and then
13227
- * show or hide the rendered embed using showPreRender or hidePreRender respectively.
13228
- *
13229
- * Use PreRendered react component for pre rendering embed components.
13230
14936
  * @version SDK: 1.25.0 | ThoughtSpot: 9.6.0.cl
13231
- * @example
13232
- * ```js
13233
- * const embed = new LiveboardEmbed('#embed', {
13234
- * ... // other liveboard view config
13235
- * preRenderId: "preRenderId-123"
13236
- * });
13237
- * embed.showPreRender();
13238
- * ```
13239
- * @example
13240
- * ```tsx
13241
- * function LandingPageComponent() {
13242
- * return <PreRenderedLiveboardEmbed preRenderId="someId" liveboardId="libId" />
13243
- * }
13244
- * ```
13245
- * function MyComponent() {
13246
- * return <LiveboardEmbed preRenderId="someId" liveboardId="libId" />
13247
- * }
13248
- * ```
14937
+ * @deprecated Use `preRenderConfig.preRenderId` instead.
13249
14938
  */
13250
14939
  preRenderId: string;
13251
- }
14940
+ /**
14941
+ * Configuration for the pre-render wrapper element.
14942
+ * See {@link PreRenderConfig} for available options.
14943
+ * @version SDK: 1.52.0
14944
+ */
14945
+ preRenderConfig?: PreRenderConfig;
14946
+ } | {
14947
+ /**
14948
+ * PreRender id to be used for PreRendering the embed.
14949
+ * @version SDK: 1.25.0 | ThoughtSpot: 9.6.0.cl
14950
+ * @deprecated Use `preRenderConfig.preRenderId` instead.
14951
+ */
14952
+ preRenderId?: string;
14953
+ /**
14954
+ * Configuration for the pre-render wrapper element. `preRenderId` is
14955
+ * required here when the top-level `preRenderId` prop is not passed.
14956
+ * See {@link PreRenderConfig} for available options.
14957
+ * @version SDK: 1.52.0
14958
+ */
14959
+ preRenderConfig: PreRenderConfig & {
14960
+ preRenderId: string;
14961
+ };
14962
+ };
13252
14963
  /**
13253
14964
  * React component for Search Embed.
13254
14965
  * @example
@@ -13262,7 +14973,7 @@ export interface PreRenderProps {
13262
14973
  * ```
13263
14974
  */
13264
14975
  declare const SearchEmbed$1: React$1.ForwardRefExoticComponent<SearchProps & React$1.RefAttributes<SearchEmbed>>;
13265
- export declare const PreRenderedSearchEmbed: React$1.ForwardRefExoticComponent<SearchProps & PreRenderProps & React$1.RefAttributes<SearchEmbed>>;
14976
+ export declare const PreRenderedSearchEmbed: React$1.ForwardRefExoticComponent<(SearchProps & PreRenderProps) & React$1.RefAttributes<SearchEmbed>>;
13266
14977
  export interface AppProps extends EmbedProps, AppViewConfig {
13267
14978
  }
13268
14979
  /**
@@ -13297,7 +15008,7 @@ declare const AppEmbed$1: React$1.ForwardRefExoticComponent<AppProps & React$1.R
13297
15008
  * }
13298
15009
  * ```
13299
15010
  */
13300
- export declare const PreRenderedAppEmbed: React$1.ForwardRefExoticComponent<AppProps & PreRenderProps & React$1.RefAttributes<AppEmbed>>;
15011
+ export declare const PreRenderedAppEmbed: React$1.ForwardRefExoticComponent<(AppProps & PreRenderProps) & React$1.RefAttributes<AppEmbed>>;
13301
15012
  export interface LiveboardProps extends EmbedProps, LiveboardViewConfig {
13302
15013
  }
13303
15014
  /**
@@ -13337,8 +15048,8 @@ export declare const PinboardEmbed: React$1.ForwardRefExoticComponent<LiveboardP
13337
15048
  * }
13338
15049
  * ```
13339
15050
  */
13340
- export declare const PreRenderedLiveboardEmbed: React$1.ForwardRefExoticComponent<LiveboardProps & PreRenderProps & React$1.RefAttributes<LiveboardEmbed>>;
13341
- export declare const PreRenderedPinboardEmbed: React$1.ForwardRefExoticComponent<LiveboardProps & PreRenderProps & React$1.RefAttributes<LiveboardEmbed>>;
15051
+ export declare const PreRenderedLiveboardEmbed: React$1.ForwardRefExoticComponent<(LiveboardProps & PreRenderProps) & React$1.RefAttributes<LiveboardEmbed>>;
15052
+ export declare const PreRenderedPinboardEmbed: React$1.ForwardRefExoticComponent<(LiveboardProps & PreRenderProps) & React$1.RefAttributes<LiveboardEmbed>>;
13342
15053
  export interface SearchBarEmbedProps extends EmbedProps, SearchBarViewConfig {
13343
15054
  }
13344
15055
  /**
@@ -13372,7 +15083,7 @@ declare const SearchBarEmbed$1: React$1.ForwardRefExoticComponent<SearchBarEmbed
13372
15083
  * }
13373
15084
  * ```
13374
15085
  */
13375
- export declare const PreRenderedSearchBarEmbed: React$1.ForwardRefExoticComponent<SearchBarEmbedProps & PreRenderProps & React$1.RefAttributes<SearchBarEmbed>>;
15086
+ export declare const PreRenderedSearchBarEmbed: React$1.ForwardRefExoticComponent<(SearchBarEmbedProps & PreRenderProps) & React$1.RefAttributes<SearchBarEmbed>>;
13376
15087
  export interface SpotterEmbedProps extends EmbedProps, SpotterEmbedViewConfig {
13377
15088
  }
13378
15089
  export interface ConversationEmbedProps extends EmbedProps, ConversationViewConfig {
@@ -13465,7 +15176,7 @@ export declare const SpotterMessage: React$1.ForwardRefExoticComponent<{
13465
15176
  * }
13466
15177
  * ```
13467
15178
  */
13468
- export declare const PreRenderedConversationEmbed: React$1.ForwardRefExoticComponent<SpotterEmbedProps & PreRenderProps & React$1.RefAttributes<SpotterEmbed>>;
15179
+ export declare const PreRenderedConversationEmbed: React$1.ForwardRefExoticComponent<(SpotterEmbedProps & PreRenderProps) & React$1.RefAttributes<SpotterEmbed>>;
13469
15180
  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;
13470
15181
  /**
13471
15182
  * Get a reference to the embed component to trigger events on the component.
@@ -13475,7 +15186,7 @@ export type EmbedComponent = typeof SearchEmbed$1 | typeof AppEmbed$1 | typeof L
13475
15186
  * const ref = useEmbedRef();
13476
15187
  * useEffect(() => {
13477
15188
  * ref.current.trigger(
13478
- * EmbedEvent.UpdateRuntimeFilter,
15189
+ * HostEvent.UpdateRuntimeFilters,
13479
15190
  * [{ columnName: 'name', operator: 'EQ', values: ['value']}]);
13480
15191
  * }, [])
13481
15192
  * return <LiveboardEmbed ref={ref} liveboardId={<id>} />