@thoughtspot/visual-embed-sdk 1.52.2-beta.1 → 1.53.0

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 (237) hide show
  1. package/cjs/package.json +1 -1
  2. package/cjs/src/css-variables.d.ts +373 -5
  3. package/cjs/src/css-variables.d.ts.map +1 -1
  4. package/cjs/src/embed/app.d.ts +14 -0
  5. package/cjs/src/embed/app.d.ts.map +1 -1
  6. package/cjs/src/embed/app.js +6 -3
  7. package/cjs/src/embed/app.js.map +1 -1
  8. package/cjs/src/embed/app.spec.js +28 -0
  9. package/cjs/src/embed/app.spec.js.map +1 -1
  10. package/cjs/src/embed/auto-frame-renderer.d.ts.map +1 -1
  11. package/cjs/src/embed/auto-frame-renderer.js +244 -4
  12. package/cjs/src/embed/auto-frame-renderer.js.map +1 -1
  13. package/cjs/src/embed/auto-frame-renderer.spec.js +389 -0
  14. package/cjs/src/embed/auto-frame-renderer.spec.js.map +1 -1
  15. package/cjs/src/embed/bodyless-conversation.js +1 -1
  16. package/cjs/src/embed/bodyless-conversation.js.map +1 -1
  17. package/cjs/src/embed/conversation.d.ts +15 -0
  18. package/cjs/src/embed/conversation.d.ts.map +1 -1
  19. package/cjs/src/embed/conversation.js +7 -3
  20. package/cjs/src/embed/conversation.js.map +1 -1
  21. package/cjs/src/embed/conversation.spec.js +66 -0
  22. package/cjs/src/embed/conversation.spec.js.map +1 -1
  23. package/cjs/src/embed/liveboard-override-utils.d.ts +59 -0
  24. package/cjs/src/embed/liveboard-override-utils.d.ts.map +1 -0
  25. package/cjs/src/embed/liveboard-override-utils.js +19 -0
  26. package/cjs/src/embed/liveboard-override-utils.js.map +1 -0
  27. package/cjs/src/embed/liveboard-override-utils.spec.d.ts +2 -0
  28. package/cjs/src/embed/liveboard-override-utils.spec.d.ts.map +1 -0
  29. package/cjs/src/embed/liveboard-override-utils.spec.js +34 -0
  30. package/cjs/src/embed/liveboard-override-utils.spec.js.map +1 -0
  31. package/cjs/src/embed/liveboard.d.ts +43 -1
  32. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  33. package/cjs/src/embed/liveboard.js +11 -18
  34. package/cjs/src/embed/liveboard.js.map +1 -1
  35. package/cjs/src/embed/liveboard.spec.js +104 -54
  36. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  37. package/cjs/src/embed/search-bar.js +1 -1
  38. package/cjs/src/embed/search-bar.js.map +1 -1
  39. package/cjs/src/embed/search.js +1 -1
  40. package/cjs/src/embed/search.js.map +1 -1
  41. package/cjs/src/embed/search.spec.js +20 -0
  42. package/cjs/src/embed/search.spec.js.map +1 -1
  43. package/cjs/src/embed/spotter-utils.d.ts +11 -0
  44. package/cjs/src/embed/spotter-utils.d.ts.map +1 -1
  45. package/cjs/src/embed/spotter-utils.js +13 -1
  46. package/cjs/src/embed/spotter-utils.js.map +1 -1
  47. package/cjs/src/embed/spotter-viz-utils.d.ts +15 -0
  48. package/cjs/src/embed/spotter-viz-utils.d.ts.map +1 -1
  49. package/cjs/src/embed/spotter-viz-utils.js.map +1 -1
  50. package/cjs/src/embed/spotter-viz-utils.spec.js +11 -0
  51. package/cjs/src/embed/spotter-viz-utils.spec.js.map +1 -1
  52. package/cjs/src/embed/ts-embed.d.ts +27 -34
  53. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  54. package/cjs/src/embed/ts-embed.js +224 -102
  55. package/cjs/src/embed/ts-embed.js.map +1 -1
  56. package/cjs/src/embed/ts-embed.spec.d.ts.map +1 -1
  57. package/cjs/src/embed/ts-embed.spec.js +543 -171
  58. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  59. package/cjs/src/index.d.ts +4 -2
  60. package/cjs/src/index.d.ts.map +1 -1
  61. package/cjs/src/index.js +4 -2
  62. package/cjs/src/index.js.map +1 -1
  63. package/cjs/src/mixpanel-service.d.ts +1 -0
  64. package/cjs/src/mixpanel-service.d.ts.map +1 -1
  65. package/cjs/src/mixpanel-service.js +1 -0
  66. package/cjs/src/mixpanel-service.js.map +1 -1
  67. package/cjs/src/react/all-types-export.d.ts +1 -1
  68. package/cjs/src/react/all-types-export.d.ts.map +1 -1
  69. package/cjs/src/react/all-types-export.js +2 -1
  70. package/cjs/src/react/all-types-export.js.map +1 -1
  71. package/cjs/src/types.d.ts +182 -2
  72. package/cjs/src/types.d.ts.map +1 -1
  73. package/cjs/src/types.js +109 -0
  74. package/cjs/src/types.js.map +1 -1
  75. package/cjs/src/utils/graphql/answerService/answer-queries.d.ts +1 -0
  76. package/cjs/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
  77. package/cjs/src/utils/graphql/answerService/answer-queries.js +8 -1
  78. package/cjs/src/utils/graphql/answerService/answer-queries.js.map +1 -1
  79. package/cjs/src/utils/graphql/answerService/answerService.d.ts +28 -4
  80. package/cjs/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  81. package/cjs/src/utils/graphql/answerService/answerService.js +39 -4
  82. package/cjs/src/utils/graphql/answerService/answerService.js.map +1 -1
  83. package/cjs/src/utils/graphql/answerService/answerService.spec.js +124 -0
  84. package/cjs/src/utils/graphql/answerService/answerService.spec.js.map +1 -1
  85. package/dist/{index-Bt56pC82.js → index-CyDR8j_0.js} +1 -1
  86. package/dist/src/css-variables.d.ts +373 -5
  87. package/dist/src/css-variables.d.ts.map +1 -1
  88. package/dist/src/embed/app.d.ts +14 -0
  89. package/dist/src/embed/app.d.ts.map +1 -1
  90. package/dist/src/embed/auto-frame-renderer.d.ts.map +1 -1
  91. package/dist/src/embed/conversation.d.ts +15 -0
  92. package/dist/src/embed/conversation.d.ts.map +1 -1
  93. package/dist/src/embed/liveboard-override-utils.d.ts +59 -0
  94. package/dist/src/embed/liveboard-override-utils.d.ts.map +1 -0
  95. package/dist/src/embed/liveboard-override-utils.spec.d.ts +2 -0
  96. package/dist/src/embed/liveboard-override-utils.spec.d.ts.map +1 -0
  97. package/dist/src/embed/liveboard.d.ts +43 -1
  98. package/dist/src/embed/liveboard.d.ts.map +1 -1
  99. package/dist/src/embed/spotter-utils.d.ts +11 -0
  100. package/dist/src/embed/spotter-utils.d.ts.map +1 -1
  101. package/dist/src/embed/spotter-viz-utils.d.ts +15 -0
  102. package/dist/src/embed/spotter-viz-utils.d.ts.map +1 -1
  103. package/dist/src/embed/ts-embed.d.ts +27 -34
  104. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  105. package/dist/src/embed/ts-embed.spec.d.ts.map +1 -1
  106. package/dist/src/index.d.ts +4 -2
  107. package/dist/src/index.d.ts.map +1 -1
  108. package/dist/src/mixpanel-service.d.ts +1 -0
  109. package/dist/src/mixpanel-service.d.ts.map +1 -1
  110. package/dist/src/react/all-types-export.d.ts +1 -1
  111. package/dist/src/react/all-types-export.d.ts.map +1 -1
  112. package/dist/src/types.d.ts +182 -2
  113. package/dist/src/types.d.ts.map +1 -1
  114. package/dist/src/utils/graphql/answerService/answer-queries.d.ts +1 -0
  115. package/dist/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
  116. package/dist/src/utils/graphql/answerService/answerService.d.ts +28 -4
  117. package/dist/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  118. package/dist/tsembed-react.es.js +437 -175
  119. package/dist/tsembed-react.js +436 -174
  120. package/dist/tsembed.es.js +680 -180
  121. package/dist/tsembed.js +678 -178
  122. package/dist/visual-embed-sdk-react-full.d.ts +702 -44
  123. package/dist/visual-embed-sdk-react.d.ts +697 -44
  124. package/dist/visual-embed-sdk.d.ts +729 -45
  125. package/lib/package.json +1 -1
  126. package/lib/src/css-variables.d.ts +373 -5
  127. package/lib/src/css-variables.d.ts.map +1 -1
  128. package/lib/src/embed/app.d.ts +14 -0
  129. package/lib/src/embed/app.d.ts.map +1 -1
  130. package/lib/src/embed/app.js +7 -4
  131. package/lib/src/embed/app.js.map +1 -1
  132. package/lib/src/embed/app.spec.js +28 -0
  133. package/lib/src/embed/app.spec.js.map +1 -1
  134. package/lib/src/embed/auto-frame-renderer.d.ts.map +1 -1
  135. package/lib/src/embed/auto-frame-renderer.js +244 -4
  136. package/lib/src/embed/auto-frame-renderer.js.map +1 -1
  137. package/lib/src/embed/auto-frame-renderer.spec.js +389 -0
  138. package/lib/src/embed/auto-frame-renderer.spec.js.map +1 -1
  139. package/lib/src/embed/bodyless-conversation.js +1 -1
  140. package/lib/src/embed/bodyless-conversation.js.map +1 -1
  141. package/lib/src/embed/conversation.d.ts +15 -0
  142. package/lib/src/embed/conversation.d.ts.map +1 -1
  143. package/lib/src/embed/conversation.js +8 -4
  144. package/lib/src/embed/conversation.js.map +1 -1
  145. package/lib/src/embed/conversation.spec.js +67 -1
  146. package/lib/src/embed/conversation.spec.js.map +1 -1
  147. package/lib/src/embed/liveboard-override-utils.d.ts +59 -0
  148. package/lib/src/embed/liveboard-override-utils.d.ts.map +1 -0
  149. package/lib/src/embed/liveboard-override-utils.js +15 -0
  150. package/lib/src/embed/liveboard-override-utils.js.map +1 -0
  151. package/lib/src/embed/liveboard-override-utils.spec.d.ts +2 -0
  152. package/lib/src/embed/liveboard-override-utils.spec.d.ts.map +1 -0
  153. package/lib/src/embed/liveboard-override-utils.spec.js +32 -0
  154. package/lib/src/embed/liveboard-override-utils.spec.js.map +1 -0
  155. package/lib/src/embed/liveboard.d.ts +43 -1
  156. package/lib/src/embed/liveboard.d.ts.map +1 -1
  157. package/lib/src/embed/liveboard.js +11 -17
  158. package/lib/src/embed/liveboard.js.map +1 -1
  159. package/lib/src/embed/liveboard.spec.js +104 -54
  160. package/lib/src/embed/liveboard.spec.js.map +1 -1
  161. package/lib/src/embed/search-bar.js +1 -1
  162. package/lib/src/embed/search-bar.js.map +1 -1
  163. package/lib/src/embed/search.js +1 -1
  164. package/lib/src/embed/search.js.map +1 -1
  165. package/lib/src/embed/search.spec.js +20 -0
  166. package/lib/src/embed/search.spec.js.map +1 -1
  167. package/lib/src/embed/spotter-utils.d.ts +11 -0
  168. package/lib/src/embed/spotter-utils.d.ts.map +1 -1
  169. package/lib/src/embed/spotter-utils.js +12 -0
  170. package/lib/src/embed/spotter-utils.js.map +1 -1
  171. package/lib/src/embed/spotter-viz-utils.d.ts +15 -0
  172. package/lib/src/embed/spotter-viz-utils.d.ts.map +1 -1
  173. package/lib/src/embed/spotter-viz-utils.js.map +1 -1
  174. package/lib/src/embed/spotter-viz-utils.spec.js +11 -0
  175. package/lib/src/embed/spotter-viz-utils.spec.js.map +1 -1
  176. package/lib/src/embed/ts-embed.d.ts +27 -34
  177. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  178. package/lib/src/embed/ts-embed.js +224 -102
  179. package/lib/src/embed/ts-embed.js.map +1 -1
  180. package/lib/src/embed/ts-embed.spec.d.ts.map +1 -1
  181. package/lib/src/embed/ts-embed.spec.js +544 -172
  182. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  183. package/lib/src/index.d.ts +4 -2
  184. package/lib/src/index.d.ts.map +1 -1
  185. package/lib/src/index.js +3 -2
  186. package/lib/src/index.js.map +1 -1
  187. package/lib/src/mixpanel-service.d.ts +1 -0
  188. package/lib/src/mixpanel-service.d.ts.map +1 -1
  189. package/lib/src/mixpanel-service.js +1 -0
  190. package/lib/src/mixpanel-service.js.map +1 -1
  191. package/lib/src/react/all-types-export.d.ts +1 -1
  192. package/lib/src/react/all-types-export.d.ts.map +1 -1
  193. package/lib/src/react/all-types-export.js +1 -1
  194. package/lib/src/react/all-types-export.js.map +1 -1
  195. package/lib/src/types.d.ts +182 -2
  196. package/lib/src/types.d.ts.map +1 -1
  197. package/lib/src/types.js +109 -0
  198. package/lib/src/types.js.map +1 -1
  199. package/lib/src/utils/graphql/answerService/answer-queries.d.ts +1 -0
  200. package/lib/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
  201. package/lib/src/utils/graphql/answerService/answer-queries.js +7 -0
  202. package/lib/src/utils/graphql/answerService/answer-queries.js.map +1 -1
  203. package/lib/src/utils/graphql/answerService/answerService.d.ts +28 -4
  204. package/lib/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  205. package/lib/src/utils/graphql/answerService/answerService.js +39 -4
  206. package/lib/src/utils/graphql/answerService/answerService.js.map +1 -1
  207. package/lib/src/utils/graphql/answerService/answerService.spec.js +125 -1
  208. package/lib/src/utils/graphql/answerService/answerService.spec.js.map +1 -1
  209. package/lib/src/visual-embed-sdk.d.ts +729 -45
  210. package/package.json +1 -1
  211. package/src/css-variables.ts +475 -26
  212. package/src/embed/app.spec.ts +32 -0
  213. package/src/embed/app.ts +28 -4
  214. package/src/embed/auto-frame-renderer.spec.ts +464 -0
  215. package/src/embed/auto-frame-renderer.ts +305 -6
  216. package/src/embed/bodyless-conversation.ts +1 -1
  217. package/src/embed/conversation.spec.ts +94 -1
  218. package/src/embed/conversation.ts +28 -3
  219. package/src/embed/liveboard-override-utils.spec.ts +38 -0
  220. package/src/embed/liveboard-override-utils.ts +71 -0
  221. package/src/embed/liveboard.spec.ts +119 -62
  222. package/src/embed/liveboard.ts +56 -21
  223. package/src/embed/search-bar.tsx +1 -1
  224. package/src/embed/search.spec.ts +23 -0
  225. package/src/embed/search.ts +1 -1
  226. package/src/embed/spotter-utils.ts +12 -0
  227. package/src/embed/spotter-viz-utils.spec.ts +11 -0
  228. package/src/embed/spotter-viz-utils.ts +15 -0
  229. package/src/embed/ts-embed.spec.ts +684 -213
  230. package/src/embed/ts-embed.ts +227 -97
  231. package/src/index.ts +16 -1
  232. package/src/mixpanel-service.ts +1 -0
  233. package/src/react/all-types-export.ts +6 -0
  234. package/src/types.ts +186 -5
  235. package/src/utils/graphql/answerService/answer-queries.ts +8 -0
  236. package/src/utils/graphql/answerService/answerService.spec.ts +145 -1
  237. package/src/utils/graphql/answerService/answerService.ts +65 -3
@@ -122,6 +122,33 @@ export interface CustomCssVariables {
122
122
  * Background color of the search suggestion block on hover.
123
123
  */
124
124
  "--ts-var-search-bar-auto-complete-hover-background"?: string;
125
+ /**
126
+ * Background color of the submit (*Go*) button in the search box.
127
+ */
128
+ "--ts-var-search-submit-button-background"?: string;
129
+ /**
130
+ * Color of the label and icon on the submit (*Go*) button in the search box.
131
+ */
132
+ "--ts-var-search-submit-button-color"?: string;
133
+ /**
134
+ * Background color of the submit (*Go*) button in the search box on hover.
135
+ * Defaults to the background color set for the non-hover state.
136
+ */
137
+ "--ts-var-search-submit-button--hover-background"?: string;
138
+ /**
139
+ * Border radius of the submit (*Go*) button in the search box. Default: `40px`.
140
+ */
141
+ "--ts-var-search-submit-button-border-radius"?: string;
142
+ /**
143
+ * Border width of the submit (*Go*) button in the search box. Default: `0`.
144
+ * The button has a fixed size, so a border reduces its inner area.
145
+ */
146
+ "--ts-var-search-submit-button-border-width"?: string;
147
+ /**
148
+ * Border color of the submit (*Go*) button in the search box.
149
+ * Visible only when `--ts-var-search-submit-button-border-width` is set.
150
+ */
151
+ "--ts-var-search-submit-button-border-color"?: string;
125
152
  /**
126
153
  * Font color of the text in the search suggestion panel.
127
154
  */
@@ -225,6 +252,194 @@ export interface CustomCssVariables {
225
252
  * Backgroud color of the tertiary buttons when active.
226
253
  */
227
254
  "--ts-var-button--tertiary--active-background"?: string;
255
+ /**
256
+ * Font family specification for the text on the tertiary buttons.
257
+ * Defaults to the inherited font.
258
+ */
259
+ "--ts-var-button--tertiary--font-family"?: string;
260
+ /**
261
+ * Padding of buttons with text, for example, `6px 16px`. Applies to all button
262
+ * sizes and variants.
263
+ */
264
+ "--ts-var-button-padding"?: string;
265
+ /**
266
+ * Minimum width of buttons with text. Applies to all button sizes and variants.
267
+ */
268
+ "--ts-var-button-min-width"?: string;
269
+ /**
270
+ * Space between the icon and the label in a button. Default: `8px`.
271
+ */
272
+ "--ts-var-button-gap"?: string;
273
+ /**
274
+ * Height of buttons. Icon-only buttons remain square when this is set.
275
+ */
276
+ "--ts-var-button-height"?: string;
277
+ /**
278
+ * Font size of the button label. The line height scales proportionally.
279
+ */
280
+ "--ts-var-button-font-size"?: string;
281
+ /**
282
+ * Font weight of the button label. Default: `400`.
283
+ */
284
+ "--ts-var-button-font-weight"?: string;
285
+ /**
286
+ * Border width of buttons. Default: `0`. To show a border on a button variant,
287
+ * also set its border color, for example, `--ts-var-button--primary-border-color`.
288
+ */
289
+ "--ts-var-button-border-width"?: string;
290
+ /**
291
+ * Padding of the primary buttons with text.
292
+ * Overrides `--ts-var-button-padding` for primary buttons.
293
+ */
294
+ "--ts-var-button--primary-padding"?: string;
295
+ /**
296
+ * Minimum width of the primary buttons with text.
297
+ * Overrides `--ts-var-button-min-width` for primary buttons.
298
+ */
299
+ "--ts-var-button--primary-min-width"?: string;
300
+ /**
301
+ * Space between the icon and the label in the primary buttons.
302
+ * Overrides `--ts-var-button-gap` for primary buttons.
303
+ */
304
+ "--ts-var-button--primary-gap"?: string;
305
+ /**
306
+ * Font weight of the text on the primary buttons.
307
+ * Overrides `--ts-var-button-font-weight` for primary buttons.
308
+ */
309
+ "--ts-var-button--primary-font-weight"?: string;
310
+ /**
311
+ * Border color of the primary buttons.
312
+ * Visible only when `--ts-var-button-border-width` is set.
313
+ */
314
+ "--ts-var-button--primary-border-color"?: string;
315
+ /**
316
+ * Padding of the secondary buttons with text.
317
+ * Overrides `--ts-var-button-padding` for secondary buttons.
318
+ */
319
+ "--ts-var-button--secondary-padding"?: string;
320
+ /**
321
+ * Minimum width of the secondary buttons with text.
322
+ * Overrides `--ts-var-button-min-width` for secondary buttons.
323
+ */
324
+ "--ts-var-button--secondary-min-width"?: string;
325
+ /**
326
+ * Space between the icon and the label in the secondary buttons.
327
+ * Overrides `--ts-var-button-gap` for secondary buttons.
328
+ */
329
+ "--ts-var-button--secondary-gap"?: string;
330
+ /**
331
+ * Font weight of the text on the secondary buttons.
332
+ * Overrides `--ts-var-button-font-weight` for secondary buttons.
333
+ */
334
+ "--ts-var-button--secondary-font-weight"?: string;
335
+ /**
336
+ * Border color of the secondary buttons.
337
+ * Visible only when `--ts-var-button-border-width` is set.
338
+ */
339
+ "--ts-var-button--secondary-border-color"?: string;
340
+ /**
341
+ * Padding of the tertiary buttons with text.
342
+ * Overrides `--ts-var-button-padding` for tertiary buttons.
343
+ */
344
+ "--ts-var-button--tertiary-padding"?: string;
345
+ /**
346
+ * Minimum width of the tertiary buttons with text.
347
+ * Overrides `--ts-var-button-min-width` for tertiary buttons.
348
+ */
349
+ "--ts-var-button--tertiary-min-width"?: string;
350
+ /**
351
+ * Space between the icon and the label in the tertiary buttons.
352
+ * Overrides `--ts-var-button-gap` for tertiary buttons.
353
+ */
354
+ "--ts-var-button--tertiary-gap"?: string;
355
+ /**
356
+ * Font weight of the text on the tertiary buttons.
357
+ * Overrides `--ts-var-button-font-weight` for tertiary buttons.
358
+ */
359
+ "--ts-var-button--tertiary-font-weight"?: string;
360
+ /**
361
+ * Border color of the tertiary buttons.
362
+ * Visible only when `--ts-var-button-border-width` is set.
363
+ */
364
+ "--ts-var-button--tertiary-border-color"?: string;
365
+ /**
366
+ * Font color of the tab labels.
367
+ */
368
+ "--ts-var-tab-color"?: string;
369
+ /**
370
+ * Background color of the tabs.
371
+ */
372
+ "--ts-var-tab-background"?: string;
373
+ /**
374
+ * Font family specification for the tab labels.
375
+ */
376
+ "--ts-var-tab-font-family"?: string;
377
+ /**
378
+ * Font size of the tab labels.
379
+ */
380
+ "--ts-var-tab-font-size"?: string;
381
+ /**
382
+ * Font weight of the tab labels.
383
+ */
384
+ "--ts-var-tab-font-weight"?: string;
385
+ /**
386
+ * Padding of the tab items.
387
+ */
388
+ "--ts-var-tab-padding"?: string;
389
+ /**
390
+ * Height of the tab items.
391
+ */
392
+ "--ts-var-tab-height"?: string;
393
+ /**
394
+ * Border radius of the tab items.
395
+ */
396
+ "--ts-var-tab-border-radius"?: string;
397
+ /**
398
+ * Font color of the tab labels on hover.
399
+ */
400
+ "--ts-var-tab--hover-color"?: string;
401
+ /**
402
+ * Background color of the tab items on hover.
403
+ */
404
+ "--ts-var-tab--hover-background"?: string;
405
+ /**
406
+ * Font color of the selected tab label.
407
+ */
408
+ "--ts-var-tab--selected-color"?: string;
409
+ /**
410
+ * Background color of the selected tab item.
411
+ */
412
+ "--ts-var-tab--selected-background"?: string;
413
+ /**
414
+ * Font weight of the selected tab label.
415
+ */
416
+ "--ts-var-tab--selected-font-weight"?: string;
417
+ /**
418
+ * Color of the underline indicator on the selected tab, in the horizontal tab layout.
419
+ */
420
+ "--ts-var-tab--selected-indicator-color"?: string;
421
+ /**
422
+ * Thickness of the underline indicator on the selected tab, in the horizontal tab
423
+ * layout.
424
+ */
425
+ "--ts-var-tab--selected-indicator-height"?: string;
426
+ /**
427
+ * Border color of the divider below the horizontal tab strip.
428
+ */
429
+ "--ts-var-tab-list-border-color"?: string;
430
+ /**
431
+ * Color of the side rail indicator on the selected tab, in the vertical tab layout.
432
+ */
433
+ "--ts-var-tab--vertical--selected-indicator-color"?: string;
434
+ /**
435
+ * Thickness of the side rail indicator on the selected tab, in the vertical tab
436
+ * layout.
437
+ */
438
+ "--ts-var-tab--vertical--selected-indicator-width"?: string;
439
+ /**
440
+ * Border color of the divider beside the vertical tab strip.
441
+ */
442
+ "--ts-var-tab--vertical-list-border-color"?: string;
228
443
  /**
229
444
  * Font color of the title text of a visualization or Answer.
230
445
  */
@@ -312,6 +527,104 @@ export interface CustomCssVariables {
312
527
  * Font family specification for the text on filter chips.
313
528
  */
314
529
  "--ts-var-chip-title-font-family"?: string;
530
+ /**
531
+ * Background color of attribute chips, such as attribute tokens in the search bar
532
+ * and attribute columns in the data panel.
533
+ * In chip components, `--ts-var-chip-background` takes precedence when set.
534
+ */
535
+ "--ts-var-chip--attribute-background"?: string;
536
+ /**
537
+ * Background color of attribute chips on hover.
538
+ */
539
+ "--ts-var-chip--attribute--hover-background"?: string;
540
+ /**
541
+ * Border color of attribute chips.
542
+ * Defaults to `--ts-var-chip--attribute-background`.
543
+ */
544
+ "--ts-var-chip--attribute-border-color"?: string;
545
+ /**
546
+ * Border color of attribute chips on hover.
547
+ * Defaults to `--ts-var-chip--attribute--hover-background`.
548
+ */
549
+ "--ts-var-chip--attribute--hover-border-color"?: string;
550
+ /**
551
+ * Background color of measure chips, such as measure tokens in the search bar
552
+ * and measure columns in the data panel.
553
+ * In chip components, `--ts-var-chip-background` takes precedence when set.
554
+ */
555
+ "--ts-var-chip--measure-background"?: string;
556
+ /**
557
+ * Background color of measure chips on hover.
558
+ */
559
+ "--ts-var-chip--measure--hover-background"?: string;
560
+ /**
561
+ * Border color of measure chips.
562
+ * Defaults to `--ts-var-chip--measure-background`.
563
+ */
564
+ "--ts-var-chip--measure-border-color"?: string;
565
+ /**
566
+ * Border color of measure chips on hover.
567
+ * Defaults to `--ts-var-chip--measure--hover-background`.
568
+ */
569
+ "--ts-var-chip--measure--hover-border-color"?: string;
570
+ /**
571
+ * Background color of date chips, such as date tokens in the search bar
572
+ * and date columns in the data panel.
573
+ * In chip components, `--ts-var-chip-background` takes precedence when set.
574
+ */
575
+ "--ts-var-chip--date-background"?: string;
576
+ /**
577
+ * Background color of date chips on hover.
578
+ */
579
+ "--ts-var-chip--date--hover-background"?: string;
580
+ /**
581
+ * Border color of date chips.
582
+ * Defaults to `--ts-var-chip--date-background`.
583
+ */
584
+ "--ts-var-chip--date-border-color"?: string;
585
+ /**
586
+ * Border color of date chips on hover.
587
+ * Defaults to `--ts-var-chip--date--hover-background`.
588
+ */
589
+ "--ts-var-chip--date--hover-border-color"?: string;
590
+ /**
591
+ * Background color of filter chips, such as filter tokens in the search bar.
592
+ * Also applies to neutral column chips, such as formula and set columns.
593
+ * In chip components, `--ts-var-chip-background` takes precedence when set.
594
+ */
595
+ "--ts-var-chip--filter-background"?: string;
596
+ /**
597
+ * Background color of filter chips on hover.
598
+ */
599
+ "--ts-var-chip--filter--hover-background"?: string;
600
+ /**
601
+ * Border color of filter chips.
602
+ * Defaults to `--ts-var-chip--filter-background`.
603
+ */
604
+ "--ts-var-chip--filter-border-color"?: string;
605
+ /**
606
+ * Border color of filter chips on hover.
607
+ * Defaults to `--ts-var-chip--filter--hover-background`.
608
+ */
609
+ "--ts-var-chip--filter--hover-border-color"?: string;
610
+ /**
611
+ * Background color of unrecognized tokens in the search bar.
612
+ */
613
+ "--ts-var-chip--unrecognized-background"?: string;
614
+ /**
615
+ * Background color of unrecognized tokens in the search bar on hover.
616
+ */
617
+ "--ts-var-chip--unrecognized--hover-background"?: string;
618
+ /**
619
+ * Border color of unrecognized tokens in the search bar.
620
+ * Defaults to `--ts-var-chip--unrecognized-background`.
621
+ */
622
+ "--ts-var-chip--unrecognized-border-color"?: string;
623
+ /**
624
+ * Border color of unrecognized tokens in the search bar on hover.
625
+ * Defaults to `--ts-var-chip--unrecognized--hover-background`.
626
+ */
627
+ "--ts-var-chip--unrecognized--hover-border-color"?: string;
315
628
  /**
316
629
  * Font color of axis title on charts.
317
630
  */
@@ -663,6 +976,54 @@ export interface CustomCssVariables {
663
976
  * Font color of the hover tab in the Liveboard.
664
977
  */
665
978
  "--ts-var-liveboard-tab-hover-color"?: string;
979
+ /**
980
+ * Font color of the tab labels in the Liveboard.
981
+ */
982
+ "--ts-var-liveboard-tab-color"?: string;
983
+ /**
984
+ * Background color of the tab items in the Liveboard.
985
+ */
986
+ "--ts-var-liveboard-tab-background"?: string;
987
+ /**
988
+ * Font family specification for the tab labels in the Liveboard.
989
+ */
990
+ "--ts-var-liveboard-tab-font-family"?: string;
991
+ /**
992
+ * Font size of the tab labels in the Liveboard.
993
+ */
994
+ "--ts-var-liveboard-tab-font-size"?: string;
995
+ /**
996
+ * Font weight of the tab labels in the Liveboard.
997
+ */
998
+ "--ts-var-liveboard-tab-font-weight"?: string;
999
+ /**
1000
+ * Border radius of the tab items in the Liveboard.
1001
+ */
1002
+ "--ts-var-liveboard-tab-border-radius"?: string;
1003
+ /**
1004
+ * Background color of the tab items in the Liveboard on hover.
1005
+ */
1006
+ "--ts-var-liveboard-tab-hover-background"?: string;
1007
+ /**
1008
+ * Font color of the selected tab label in the Liveboard.
1009
+ */
1010
+ "--ts-var-liveboard-tab-selected-color"?: string;
1011
+ /**
1012
+ * Background color of the selected tab item in the Liveboard.
1013
+ */
1014
+ "--ts-var-liveboard-tab-selected-background"?: string;
1015
+ /**
1016
+ * Font weight of the selected tab label in the Liveboard.
1017
+ */
1018
+ "--ts-var-liveboard-tab-selected-font-weight"?: string;
1019
+ /**
1020
+ * Thickness of the underline indicator on the selected tab in the Liveboard.
1021
+ */
1022
+ "--ts-var-liveboard-tab-selected-indicator-height"?: string;
1023
+ /**
1024
+ * Border color of the divider above the tab strip in the Liveboard.
1025
+ */
1026
+ "--ts-var-liveboard-tab-list-border-color"?: string;
666
1027
  /**
667
1028
  * Font size of the title of the tiles in the Liveboard.
668
1029
  */
@@ -1028,7 +1389,8 @@ export interface CustomCssVariables {
1028
1389
  "--ts-var-spotterviz-footer-text-color"?: string;
1029
1390
  /**
1030
1391
  * Shared border color used throughout SpotterViz: input box, user message,
1031
- * header underline, left panel border, thinking step connector and dots.
1392
+ * header underline, left panel border, thinking step connector and dots,
1393
+ * and the attached-file upload card.
1032
1394
  */
1033
1395
  "--ts-var-spotterviz-border-color"?: string;
1034
1396
  /**
@@ -1042,16 +1404,22 @@ export interface CustomCssVariables {
1042
1404
  "--ts-var-spotterviz-reference-icon-hover-background"?: string;
1043
1405
  /**
1044
1406
  * Icon color for the reference-mode selected state — applies to
1045
- * both the toggle button when active and the icon badge on each
1046
- * referenced-entity chip in the chat input.
1407
+ * the toggle button when active and the icon badge on each
1408
+ * referenced-entity chip and the attached-file chip in the chat input.
1047
1409
  */
1048
1410
  "--ts-var-spotterviz-reference-icon-selected-color"?: string;
1049
1411
  /**
1050
1412
  * Background color for the reference-mode selected state — applies to
1051
- * both the reference mode toggle button when active and the icon badge
1052
- * on each referenced-entity chip in the chat input.
1413
+ * the reference mode toggle button when active and the icon badge on
1414
+ * each referenced-entity chip and the attached-file chip in the chat
1415
+ * input.
1053
1416
  */
1054
1417
  "--ts-var-spotterviz-reference-icon-selected-background"?: string;
1418
+ /**
1419
+ * Background color of the file-type thumbnail on the attached-file card
1420
+ * in the SpotterViz chat input.
1421
+ */
1422
+ "--ts-var-spotterviz-upload-card-thumbnail-background"?: string;
1055
1423
  /**
1056
1424
  * Background color of the shared conversation header (recipient's read-only view).
1057
1425
  */
@@ -1112,6 +1480,21 @@ export interface UnderlyingDataPoint {
1112
1480
  columnId: string;
1113
1481
  dataValue: any;
1114
1482
  }
1483
+ /**
1484
+ * Describes how to sort a column when fetching data. Pass an array of these to
1485
+ * sort by multiple columns, in priority order.
1486
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.12.0.cl
1487
+ */
1488
+ export interface SortOptions {
1489
+ /**
1490
+ * Name of the column to sort by. The column must exist in the data source.
1491
+ */
1492
+ columnName: string;
1493
+ /**
1494
+ * Sort direction. `true` sorts ascending, `false` sorts descending.
1495
+ */
1496
+ ascending: boolean;
1497
+ }
1115
1498
  /**
1116
1499
  * AnswerService provides a simple way to work with ThoughtSpot Answers.
1117
1500
  *
@@ -1219,6 +1602,12 @@ export class AnswerService {
1219
1602
  * @returns
1220
1603
  */
1221
1604
  addFilter(columnName: string, operator: RuntimeFilterOp, values: RuntimeFilter["values"]): Promise<any>;
1605
+ /**
1606
+ * Adapt the sort options into the `updateSort` payload and send it.
1607
+ * @param sortOptions Columns to sort by, each with a direction.
1608
+ * @param sourceDetail
1609
+ */
1610
+ private adaptSorting;
1222
1611
  updateDisplayMode(displayMode?: string): Promise<any>;
1223
1612
  getSQLQuery(fetchSQLWithAllColumns?: boolean): Promise<string>;
1224
1613
  /**
@@ -1271,18 +1660,21 @@ export class AnswerService {
1271
1660
  * automatically passed.
1272
1661
  * @param outputColumnNames
1273
1662
  * @param selectedPoints
1663
+ * @param sortOptions Optional columns to sort the underlying data by.
1274
1664
  * @example
1275
1665
  * ```js
1276
1666
  * embed.on(EmbedEvent.CustomAction, e => {
1277
- * const underlying = await e.answerService.getUnderlyingDataForPoint([
1278
- * 'col name 1' // The column should exist in the data source.
1279
- * ]);
1667
+ * const underlying = await e.answerService.getUnderlyingDataForPoint(
1668
+ * ['col name 1'], // The column should exist in the data source.
1669
+ * undefined,
1670
+ * [{ columnName: 'col name 1', ascending: true }],
1671
+ * );
1280
1672
  * const data = await underlying.fetchData(0, 100);
1281
1673
  * })
1282
1674
  * ```
1283
1675
  * @version SDK: 1.25.0 | ThoughtSpot: 9.10.0.cl
1284
1676
  */
1285
- getUnderlyingDataForPoint(outputColumnNames: string[], selectedPoints?: UnderlyingDataPoint[]): Promise<AnswerService>;
1677
+ getUnderlyingDataForPoint(outputColumnNames: string[], selectedPoints?: UnderlyingDataPoint[], sortOptions?: SortOptions[]): Promise<AnswerService>;
1286
1678
  /**
1287
1679
  * Execute a custom graphql query in the context of the answer.
1288
1680
  * @param query graphql query
@@ -2095,6 +2487,27 @@ export interface EmbedConfig {
2095
2487
  * @default true
2096
2488
  */
2097
2489
  blockNonEmbedFullAppAccess?: boolean;
2490
+ /**
2491
+ * Render the embedded application in dark appearance when `true`, and in
2492
+ * its default appearance when `false` or unset.
2493
+ *
2494
+ * The host application owns the appearance of an embed, so this overrides
2495
+ * the appearance preference of the signed-in user and the color scheme of
2496
+ * their operating system. If your application has light and dark themes,
2497
+ * pass `true` while it shows the dark theme and `false` while it shows
2498
+ * the light theme.
2499
+ * @version SDK: 1.55.0 | ThoughtSpot Cloud: 26.12.0.cl
2500
+ * @example
2501
+ * ```js
2502
+ * // Your application's current theme, 'light' or 'dark'
2503
+ * const appTheme = 'dark';
2504
+ * init({
2505
+ * ...embedConfig,
2506
+ * isDarkMode: appTheme === 'dark',
2507
+ * });
2508
+ * ```
2509
+ */
2510
+ isDarkMode?: boolean;
2098
2511
  /**
2099
2512
  * Host config in case embedded app is inside TS app itself
2100
2513
  * @hidden
@@ -2667,6 +3080,31 @@ export interface BaseViewConfig extends ApiInterceptFlags {
2667
3080
  * @default ''
2668
3081
  */
2669
3082
  customizations?: CustomisationsInterface;
3083
+ /**
3084
+ * Render this embed in dark appearance when `true`, and in its default
3085
+ * appearance when `false`, overriding the `isDarkMode` value passed to
3086
+ * `init`.
3087
+ *
3088
+ * The host application owns the appearance of an embed, so this overrides
3089
+ * the appearance preference of the signed-in user and the color scheme of
3090
+ * their operating system. If your application has light and dark themes,
3091
+ * pass `true` while it shows the dark theme and `false` while it shows
3092
+ * the light theme. Leave it unset to inherit the `init` value.
3093
+ *
3094
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`, `SearchEmbed`, `SpotterAgentEmbed`, `SpotterEmbed`, `SearchBarEmbed`
3095
+ * @version SDK: 1.55.0 | ThoughtSpot Cloud: 26.12.0.cl
3096
+ * @example
3097
+ * ```js
3098
+ * // Your application's current theme, 'light' or 'dark'
3099
+ * const appTheme = 'dark';
3100
+ * // Replace AppEmbed with a specific embed component like SearchEmbed or LiveboardEmbed
3101
+ * const embed = new AppEmbed('#tsEmbed', {
3102
+ * ... // other embed view config
3103
+ * isDarkMode: appTheme === 'dark',
3104
+ * });
3105
+ * ```
3106
+ */
3107
+ isDarkMode?: boolean;
2670
3108
  /**
2671
3109
  * Insert as a sibling of the target container, instead of appending to a
2672
3110
  * child inside it.
@@ -3210,7 +3648,32 @@ export interface BaseViewConfig extends ApiInterceptFlags {
3210
3648
  * - `enableV2Shell_experimental` — the renderer always uses the v2 URL format;
3211
3649
  * this flag has no effect.
3212
3650
  */
3213
- export type AutoMCPFrameRendererViewConfig = Omit<BaseViewConfig, "preRenderId" | "usePrerenderedIfAvailable" | "doNotTrackPreRenderSize" | "insertAsSibling" | "primaryAction" | "enableV2Shell_experimental">;
3651
+ export type AutoMCPFrameRendererViewConfig = Omit<BaseViewConfig, "preRenderId" | "usePrerenderedIfAvailable" | "doNotTrackPreRenderSize" | "insertAsSibling" | "primaryAction" | "enableV2Shell_experimental"> & {
3652
+ /**
3653
+ * Suppress the notice shown on answers re-resolved from a stored
3654
+ * conversation. Those answers are re-run against current data, so by
3655
+ * default the renderer marks them with a tooltip explaining that the
3656
+ * numbers may differ from what the user originally saw. Set this to
3657
+ * `true` to render them without any notice.
3658
+ *
3659
+ * Only affects frames carrying {@link Param.TsmcpConversationId}; frames
3660
+ * that already contain their own session parameters are never marked.
3661
+ * @default false
3662
+ * @version SDK: 1.51.3
3663
+ * @example
3664
+ * ```js
3665
+ * startAutoMCPFrameRenderer({ suppressStaleAnswerNotice: true });
3666
+ * ```
3667
+ */
3668
+ suppressStaleAnswerNotice?: boolean;
3669
+ /**
3670
+ * Text of the notice described in {@link suppressStaleAnswerNotice}.
3671
+ * Override it to translate the message or match your own product voice.
3672
+ * @default 'This data may have changed since the last time you had a chat.'
3673
+ * @version SDK: 1.51.3
3674
+ */
3675
+ staleAnswerNoticeText?: string;
3676
+ };
3214
3677
  /**
3215
3678
  * The configuration object for Home page embeds configs.
3216
3679
  */
@@ -4818,6 +5281,36 @@ export enum EmbedEvent {
4818
5281
  * ```
4819
5282
  */
4820
5283
  Edit = "edit",
5284
+ /**
5285
+ * Emitted when a user clicks **Edit** on a Liveboard.
5286
+ *
5287
+ * Fired alongside {@link EmbedEvent.Edit} for backward compatibility;
5288
+ * listen to this instead of `Edit` to target the Liveboard surface only.
5289
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
5290
+ * @example
5291
+ * ```js
5292
+ * liveboardEmbed.on(EmbedEvent.EditLiveboard, payload => {
5293
+ * console.log('Liveboard edit', payload);
5294
+ * })
5295
+ * ```
5296
+ */
5297
+ EditLiveboard = "editLiveboard",
5298
+ /**
5299
+ * Emitted when a user clicks **Edit** on a visualization inside a
5300
+ * Liveboard.
5301
+ *
5302
+ * Fired alongside {@link EmbedEvent.Edit} for backward compatibility;
5303
+ * listen to this instead of `Edit` to target the visualization surface
5304
+ * only.
5305
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
5306
+ * @example
5307
+ * ```js
5308
+ * liveboardEmbed.on(EmbedEvent.EditVisualization, payload => {
5309
+ * console.log('visualization edit', payload);
5310
+ * })
5311
+ * ```
5312
+ */
5313
+ EditVisualization = "editVisualization",
4821
5314
  /**
4822
5315
  * Emitted when a user clicks *Make a copy* on a Liveboard
4823
5316
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
@@ -6788,6 +7281,35 @@ export enum HostEvent {
6788
7281
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
6789
7282
  */
6790
7283
  Edit = "edit",
7284
+ /**
7285
+ * Trigger the **Edit** action on a Liveboard only — does not affect a
7286
+ * visualization's edit surface.
7287
+ *
7288
+ * Behaves like {@link HostEvent.Edit} restricted to the Liveboard
7289
+ * surface. Use {@link HostEvent.EditVisualization} to target a
7290
+ * visualization instead, or `HostEvent.Edit` to control whichever
7291
+ * surface applies contextually (unchanged, existing behavior).
7292
+ * @example
7293
+ * ```js
7294
+ * liveboardEmbed.trigger(HostEvent.EditLiveboard)
7295
+ * ```
7296
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
7297
+ */
7298
+ EditLiveboard = "editLiveboard",
7299
+ /**
7300
+ * Trigger the **Edit** action on a specific visualization inside a
7301
+ * Liveboard only — does not affect the Liveboard-level edit surface.
7302
+ * @param - Object parameter. Includes the following keys:
7303
+ * - `vizId`: **Required.** The visualization to edit.
7304
+ *
7305
+ * @example
7306
+ * ```js
7307
+ * liveboardEmbed.trigger(HostEvent.EditVisualization, {vizId:
7308
+ * '730496d6-6903-4601-937e-2c691821af3c'})
7309
+ * ```
7310
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
7311
+ */
7312
+ EditVisualization = "editVisualization",
6791
7313
  /**
6792
7314
  * Trigger the **Copy link** action on a Liveboard or visualization
6793
7315
  * Payload: {@link VizScopedRequest}.
@@ -8800,12 +9322,43 @@ export enum Action {
8800
9322
  * The *Edit* action on the Liveboard page and in the
8801
9323
  * visualization menu.
8802
9324
  * Opens a Liveboard or visualization in edit mode.
9325
+ *
9326
+ * Controls both surfaces together. To target one surface only, use
9327
+ * {@link Action.EditLiveboard} or {@link Action.EditVisualization}.
8803
9328
  * @example
8804
9329
  * ```js
8805
9330
  * disabledActions: [Action.Edit]
8806
9331
  * ```
8807
9332
  */
8808
9333
  Edit = "edit",
9334
+ /**
9335
+ * The *Edit* action on the Liveboard page only.
9336
+ * Opens a Liveboard in edit mode.
9337
+ *
9338
+ * Does not affect the *Edit* action in the visualization menu; use
9339
+ * {@link Action.EditVisualization} for that, or {@link Action.Edit} to
9340
+ * control both surfaces together.
9341
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
9342
+ * @example
9343
+ * ```js
9344
+ * disabledActions: [Action.EditLiveboard]
9345
+ * ```
9346
+ */
9347
+ EditLiveboard = "editLiveboard",
9348
+ /**
9349
+ * The *Edit* action in the visualization `...` menu only.
9350
+ * Opens a visualization in the editor.
9351
+ *
9352
+ * Does not affect the *Edit* action on the Liveboard page; use
9353
+ * {@link Action.EditLiveboard} for that, or {@link Action.Edit} to
9354
+ * control both surfaces together.
9355
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
9356
+ * @example
9357
+ * ```js
9358
+ * disabledActions: [Action.EditVisualization]
9359
+ * ```
9360
+ */
9361
+ EditVisualization = "editVisualization",
8809
9362
  /**
8810
9363
  * The text edit option for Liveboard and visualization titles.
8811
9364
  * @example
@@ -12286,6 +12839,7 @@ class TsEmbed {
12286
12839
  protected embedNodeKey: string;
12287
12840
  protected embedContainerLoadedKey: string;
12288
12841
  protected isAppInitialized: boolean;
12842
+ private initDataParams;
12289
12843
  /**
12290
12844
  * A reference to the iframe within which the ThoughtSpot app
12291
12845
  * will be rendered.
@@ -12335,7 +12889,7 @@ class TsEmbed {
12335
12889
  private defaultHiddenActions;
12336
12890
  private resizeObserver;
12337
12891
  private preRenderContainerEl;
12338
- /** Last height the embedded app reported, once fullHeight has measured one. */
12892
+ private containerScrollListener;
12339
12893
  protected hostEventClient: HostEventClient;
12340
12894
  protected isReadyForRenderPromise: Promise<void>;
12341
12895
  protected shouldWaitForRenderPromise: boolean;
@@ -12411,6 +12965,7 @@ class TsEmbed {
12411
12965
  protected getAuthTokenForCookielessInit(): Promise<string>;
12412
12966
  protected getDefaultAppInitData(): Promise<DefaultAppInitData>;
12413
12967
  protected getAppInitData(): Promise<DefaultAppInitData>;
12968
+ private withInitDataParams;
12414
12969
  /**
12415
12970
  * Send Custom style as part of payload of APP_INIT
12416
12971
  * @param _
@@ -12483,6 +13038,7 @@ class TsEmbed {
12483
13038
  [key: string]: string | number | boolean;
12484
13039
  };
12485
13040
  customizations?: CustomisationsInterface;
13041
+ isDarkMode?: boolean;
12486
13042
  insertAsSibling?: boolean;
12487
13043
  usePrerenderedIfAvailable?: boolean;
12488
13044
  preRenderId?: string;
@@ -12513,6 +13069,12 @@ class TsEmbed {
12513
13069
  isThisPeriodInDateFiltersEnabled?: boolean;
12514
13070
  hideLiveboardHeader?: boolean;
12515
13071
  showLiveboardTitle?: boolean;
13072
+ /**
13073
+ * Get the Post Url Params for THOUGHTSPOT from the current
13074
+ * host app URL.
13075
+ * THOUGHTSPOT URL params starts with a prefix "ts-"
13076
+ * @version SDK: 1.14.0 | ThoughtSpot: 8.4.0.cl, 8.4.1-sw
13077
+ */
12516
13078
  showLiveboardDescription?: boolean;
12517
13079
  isLiveboardHeaderSticky?: boolean;
12518
13080
  enable2ColumnLayout?: boolean;
@@ -12550,6 +13112,7 @@ class TsEmbed {
12550
13112
  protected getV1EmbedBasePath(queryString: string): string;
12551
13113
  protected getEmbedParams(): string;
12552
13114
  protected getEmbedParamsObject(): Record<any, any>;
13115
+ protected getUrlQueryParamsObject(): Record<any, any>;
12553
13116
  protected getRootIframeSrc(): string;
12554
13117
  protected createIframeEl(frameSrc: string): HTMLIFrameElement;
12555
13118
  /**
@@ -12591,26 +13154,10 @@ class TsEmbed {
12591
13154
  */
12592
13155
  private createPreRenderPlaceholder;
12593
13156
  /**
12594
- * Resolves the configured preRenderContainer to a live element. A string
12595
- * selector is re-queried on every call so a remounted container (E.g.: React
12596
- * replacing the node) resolves to the fresh element; an element passed
12597
- * directly cannot be re-resolved.
12598
- *
12599
- * With nothing configured the frame goes into the host element's nearest
12600
- * scrolling ancestor, falling back to `document.body`.
12601
- *
12602
- * The wrapper is absolutely positioned, so it follows the page for free —
12603
- * but only while it sits inside whatever scrolls. `document.body` is right
12604
- * only when the document itself is the scroller; an app that scrolls an
12605
- * inner element instead left the frame pinned to the viewport while the page
12606
- * moved under it (SCAL-338563). Being inside the scroller also lets wheel
12607
- * events chain out of the frame into it, which they cannot do from
12608
- * `document.body`.
12609
- *
12610
- * A scrolling ancestor is layout chrome rather than route content, so it
12611
- * outlives the embed in practice; and if it does go, the host element goes
12612
- * with it and this instance is remounting anyway.
12613
- * `reconcilePreRenderContainer` re-runs this on a detached container.
13157
+ * Resolves the configured preRenderContainer to a live element, falling
13158
+ * back to `document.body`. A string selector is re-queried on every call so
13159
+ * a remounted container (E.g.: React replacing the node) resolves to the
13160
+ * fresh element; an element passed directly cannot be re-resolved.
12614
13161
  */
12615
13162
  private resolvePreRenderContainerTarget;
12616
13163
  private inheritPreRenderContainer;
@@ -12627,9 +13174,8 @@ class TsEmbed {
12627
13174
  * Re-attaches the wrapper to a live container when the previously resolved
12628
13175
  * one has been detached or no longer holds the wrapper — e.g. the host app
12629
13176
  * remounted a custom preRenderContainer, which would otherwise leave a stale
12630
- * reference and collapse the wrapper. Selectors and the auto-resolved
12631
- * scrolling ancestor are both re-resolved; a container passed as an element
12632
- * is left untouched, as there is nothing to re-query.
13177
+ * reference and collapse the wrapper. Only string selectors can be
13178
+ * re-resolved; a container passed as an element is left untouched.
12633
13179
  */
12634
13180
  private reconcilePreRenderContainer;
12635
13181
  protected insertIntoDOMForPreRender(child: string | Node): void;
@@ -12845,17 +13391,9 @@ class TsEmbed {
12845
13391
  */
12846
13392
  private restorePreRenderContainerPosition;
12847
13393
  /**
12848
- * Re-sizes the wrapper when its placeholder changes size.
12849
- *
12850
- * Position deliberately has no equivalent. An absolutely positioned wrapper
12851
- * follows its containing block for free, so a correctly placed frame is the
12852
- * browser's job and costs nothing; repositioning it on scroll would mean a
12853
- * layout read and a style write per frame to compensate for placing it in
12854
- * the wrong box. Size is the one thing the browser will not do for us: the
12855
- * placeholder grows when the embedded app reports a new height, and the
12856
- * wrapper has to be told.
13394
+ * Detaches and clears the container scroll listener, if one is attached.
12857
13395
  */
12858
- private observePreRenderSize;
13396
+ private removeContainerScrollListener;
12859
13397
  /**
12860
13398
  * Destroys the ThoughtSpot embed, and remove any nodes from the DOM.
12861
13399
  * @version SDK: 1.19.1 | ThoughtSpot: *
@@ -12871,6 +13409,8 @@ class TsEmbed {
12871
13409
  */
12872
13410
  prerenderGeneric(): Promise<any>;
12873
13411
  protected preRenderParamsApplied: Promise<void>;
13412
+ protected isConfigExcludedFromUrl(): boolean;
13413
+ protected triggerUpdateEmbedParams(): Promise<void>;
12874
13414
  protected beforePrerenderVisible(): void;
12875
13415
  /**
12876
13416
  * Displays the pre-rendered component inside the host element.
@@ -12956,6 +13496,17 @@ class V1Embed extends TsEmbed {
12956
13496
  */
12957
13497
  test__executeCallbacks: (eventType: EmbedEvent, data: any, eventPort?: void | MessagePort) => void;
12958
13498
  }
13499
+ /**
13500
+ * The Spotter experience version to load in the embedded view.
13501
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.11.0.cl
13502
+ * @group Embed components
13503
+ */
13504
+ export enum SpotterExperienceVersion {
13505
+ /**
13506
+ * The Spotter experience version introduced in ThoughtSpot 26.11.
13507
+ */
13508
+ SPOTTER_2026_11 = "spotter_2026_11"
13509
+ }
12959
13510
  /**
12960
13511
  * Configuration for search options
12961
13512
  */
@@ -13379,6 +13930,20 @@ export interface SpotterAnalystConfig {
13379
13930
  * @group Embed components
13380
13931
  */
13381
13932
  export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, "primaryAction"> {
13933
+ /**
13934
+ * The Spotter experience version to load. When set to
13935
+ * `SpotterExperienceVersion.SPOTTER_2026_11`, the embed loads the updated Spotter
13936
+ * surface instead of the default conversation surface.
13937
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.11.0.cl
13938
+ * @example
13939
+ * ```js
13940
+ * const embed = new SpotterEmbed('#tsEmbed', {
13941
+ * ... // other options
13942
+ * spotterExperienceVersion: SpotterExperienceVersion.SPOTTER_2026_11,
13943
+ * });
13944
+ * ```
13945
+ */
13946
+ spotterExperienceVersion?: SpotterExperienceVersion;
13382
13947
  /**
13383
13948
  * The ID of the data source object. For example, Model, View, or Table. Spotter uses
13384
13949
  * this object to query data and generate Answers.
@@ -13926,6 +14491,21 @@ export interface SpotterVizConfig {
13926
14491
  * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.7.0.cl
13927
14492
  */
13928
14493
  insightTileLoaderText?: string;
14494
+ /**
14495
+ * Set to `false` to hide the file upload feature in the SpotterViz chat
14496
+ * input on a cluster where the feature is available.
14497
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
14498
+ * @default true
14499
+ */
14500
+ fileUploadEnabled?: boolean;
14501
+ /**
14502
+ * Restricts the allowed file types for SpotterViz file upload to a
14503
+ * subset of the types SpotterViz supports, e.g. `['csv', 'pdf']`.
14504
+ * Entries are file extensions (with or without the leading dot); types
14505
+ * SpotterViz does not support are ignored, as are empty lists.
14506
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
14507
+ */
14508
+ fileUploadFileTypes?: string[];
13929
14509
  }
13930
14510
  /**
13931
14511
  * A single tip shown in the SpotterViz loading state.
@@ -14812,6 +15392,19 @@ export interface AppViewConfig extends AllEmbedViewConfig, FullHeightViewConfig
14812
15392
  * ```
14813
15393
  */
14814
15394
  hideAnswerEditPanel?: boolean;
15395
+ /**
15396
+ * The Spotter experience version to load for the Spotter surface shown within
15397
+ * this embed.
15398
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.11.0.cl
15399
+ * @example
15400
+ * ```js
15401
+ * const embed = new AppEmbed('#tsEmbed', {
15402
+ * ... // other options
15403
+ * spotterExperienceVersion: SpotterExperienceVersion.SPOTTER_2026_11,
15404
+ * });
15405
+ * ```
15406
+ */
15407
+ spotterExperienceVersion?: SpotterExperienceVersion;
14815
15408
  }
14816
15409
  /**
14817
15410
  * APP_INIT data shape for AppEmbed.
@@ -15177,6 +15770,56 @@ export const exportTML: (data: exportTMLInput) => Promise<any>;
15177
15770
  * @group Global methods
15178
15771
  */
15179
15772
  export const reloadIframe: (iFrame: HTMLIFrameElement) => void;
15773
+ /**
15774
+ * A filter to apply to a Liveboard when it loads.
15775
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
15776
+ * @group Embed components
15777
+ */
15778
+ export interface LiveboardFilterQuery {
15779
+ /** Name of the Liveboard tab the filter applies to. */
15780
+ tabName?: string;
15781
+ /** Name of the group within the tab that the filter applies to. */
15782
+ groupName?: string;
15783
+ /**
15784
+ * The filter condition, in search sentence form. For example, `color = red`.
15785
+ */
15786
+ filterQueryToken: string;
15787
+ }
15788
+ /**
15789
+ * A Parameter value to apply to a Liveboard when it loads.
15790
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
15791
+ * @group Embed components
15792
+ */
15793
+ export interface LiveboardParameterQuery {
15794
+ /** Name of the Liveboard tab the Parameter applies to. */
15795
+ tabName?: string;
15796
+ /** Name of the group within the tab that the Parameter applies to. */
15797
+ groupName?: string;
15798
+ /** The Parameter assignment. */
15799
+ parameterQueryToken: string;
15800
+ }
15801
+ /**
15802
+ * Filter and Parameter overrides for one data source on the Liveboard.
15803
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
15804
+ * @group Embed components
15805
+ */
15806
+ export interface LiveboardDataSourceOverride {
15807
+ /** The data source (Model) the overrides apply to. */
15808
+ dataSourceIdentifier?: string;
15809
+ /** Filters to apply for this data source. */
15810
+ filterQuery?: LiveboardFilterQuery[];
15811
+ /** Parameter values to apply for this data source. */
15812
+ parameterQuery?: LiveboardParameterQuery[];
15813
+ }
15814
+ /**
15815
+ * Filter and Parameter overrides applied to a Liveboard when it loads.
15816
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
15817
+ * @group Embed components
15818
+ */
15819
+ export interface LiveboardOverride {
15820
+ /** One entry per data source to override. */
15821
+ dataSourceOverride: LiveboardDataSourceOverride[];
15822
+ }
15180
15823
  /**
15181
15824
  * APP_INIT data shape for LiveboardEmbed.
15182
15825
  * @internal
@@ -15185,6 +15828,7 @@ export interface LiveboardEmbedAppInitData extends DefaultAppInitData {
15185
15828
  embedParams?: {
15186
15829
  spotterVizConfig?: SpotterVizConfig;
15187
15830
  starterPrompts?: StarterPromptsConfig;
15831
+ liveboardOverride?: LiveboardOverride;
15188
15832
  };
15189
15833
  }
15190
15834
  /**
@@ -15671,6 +16315,46 @@ export interface LiveboardViewConfig extends BaseViewConfig, FullHeightViewConfi
15671
16315
  * ```
15672
16316
  */
15673
16317
  updatedSpotterExperience?: boolean;
16318
+ /**
16319
+ * Filters and Parameters to apply to the Liveboard when it loads.
16320
+ *
16321
+ * In an embedded Liveboard, this is the only way to set these overrides.
16322
+ * The `filter` and `parameter` URL query params are ignored.
16323
+ * Clauses without a query token are dropped.
16324
+ *
16325
+ * Supported embed types: `LiveboardEmbed`
16326
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
16327
+ * @example
16328
+ * ```js
16329
+ * const embed = new LiveboardEmbed('#tsEmbed', {
16330
+ * ... // other embed view config
16331
+ * liveboardOverride: {
16332
+ * dataSourceOverride: [{
16333
+ * dataSourceIdentifier: '<model-guid>',
16334
+ * filterQuery: [{
16335
+ * tabName: 'Sales',
16336
+ * groupName: 'Region',
16337
+ * filterQueryToken: 'color = red',
16338
+ * }],
16339
+ * }],
16340
+ * },
16341
+ * })
16342
+ * ```
16343
+ */
16344
+ liveboardOverride?: LiveboardOverride;
16345
+ /**
16346
+ * The Spotter experience version to load for the Spotter surface shown within
16347
+ * this embed.
16348
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.11.0.cl
16349
+ * @example
16350
+ * ```js
16351
+ * const embed = new LiveboardEmbed('#tsEmbed', {
16352
+ * ... // other options
16353
+ * spotterExperienceVersion: SpotterExperienceVersion.SPOTTER_2026_11,
16354
+ * });
16355
+ * ```
16356
+ */
16357
+ spotterExperienceVersion?: SpotterExperienceVersion;
15674
16358
  }
15675
16359
  /**
15676
16360
  * Embed a ThoughtSpot Liveboard or visualization. When rendered it already
@@ -15718,7 +16402,6 @@ export class LiveboardEmbed extends V1Embed {
15718
16402
  personalizedViewId: string;
15719
16403
  };
15720
16404
  protected beforePrerenderVisible(): void;
15721
- private isSameEmbedConfig;
15722
16405
  private isShowingLiveboardRoute;
15723
16406
  protected handleRenderForPrerender(): Promise<TsEmbed>;
15724
16407
  /**
@@ -16422,6 +17105,7 @@ const getEmbedConfig: () => EmbedConfig;
16422
17105
  export const MIXPANEL_EVENT: {
16423
17106
  VISUAL_SDK_RENDER_START: string;
16424
17107
  VISUAL_SDK_CALLED_INIT: string;
17108
+ VISUAL_SDK_INIT_ACTIONS: string;
16425
17109
  VISUAL_SDK_RENDER_COMPLETE: string;
16426
17110
  VISUAL_SDK_RENDER_FAILED: string;
16427
17111
  VISUAL_SDK_TRIGGER: string;