@thoughtspot/visual-embed-sdk 1.52.2-beta.2 → 1.53.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (281) hide show
  1. package/cjs/package.json +1 -1
  2. package/cjs/src/contracts/contracts.spec.js +4 -0
  3. package/cjs/src/contracts/contracts.spec.js.map +1 -1
  4. package/cjs/src/contracts/host-event-contracts.d.ts +10 -0
  5. package/cjs/src/contracts/host-event-contracts.d.ts.map +1 -1
  6. package/cjs/src/css-variables.d.ts +373 -5
  7. package/cjs/src/css-variables.d.ts.map +1 -1
  8. package/cjs/src/embed/app.d.ts +15 -0
  9. package/cjs/src/embed/app.d.ts.map +1 -1
  10. package/cjs/src/embed/app.js +6 -3
  11. package/cjs/src/embed/app.js.map +1 -1
  12. package/cjs/src/embed/app.spec.js +28 -0
  13. package/cjs/src/embed/app.spec.js.map +1 -1
  14. package/cjs/src/embed/auto-frame-renderer.d.ts.map +1 -1
  15. package/cjs/src/embed/auto-frame-renderer.js +244 -4
  16. package/cjs/src/embed/auto-frame-renderer.js.map +1 -1
  17. package/cjs/src/embed/auto-frame-renderer.spec.js +389 -0
  18. package/cjs/src/embed/auto-frame-renderer.spec.js.map +1 -1
  19. package/cjs/src/embed/bodyless-conversation.js +1 -1
  20. package/cjs/src/embed/bodyless-conversation.js.map +1 -1
  21. package/cjs/src/embed/conversation.d.ts +29 -0
  22. package/cjs/src/embed/conversation.d.ts.map +1 -1
  23. package/cjs/src/embed/conversation.js +7 -3
  24. package/cjs/src/embed/conversation.js.map +1 -1
  25. package/cjs/src/embed/conversation.spec.js +88 -0
  26. package/cjs/src/embed/conversation.spec.js.map +1 -1
  27. package/cjs/src/embed/host-events.spec.js +32 -0
  28. package/cjs/src/embed/host-events.spec.js.map +1 -1
  29. package/cjs/src/embed/liveboard-override-utils.d.ts +59 -0
  30. package/cjs/src/embed/liveboard-override-utils.d.ts.map +1 -0
  31. package/cjs/src/embed/liveboard-override-utils.js +19 -0
  32. package/cjs/src/embed/liveboard-override-utils.js.map +1 -0
  33. package/cjs/src/embed/liveboard-override-utils.spec.d.ts +2 -0
  34. package/cjs/src/embed/liveboard-override-utils.spec.d.ts.map +1 -0
  35. package/cjs/src/embed/liveboard-override-utils.spec.js +34 -0
  36. package/cjs/src/embed/liveboard-override-utils.spec.js.map +1 -0
  37. package/cjs/src/embed/liveboard.d.ts +44 -13
  38. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  39. package/cjs/src/embed/liveboard.js +19 -23
  40. package/cjs/src/embed/liveboard.js.map +1 -1
  41. package/cjs/src/embed/liveboard.spec.js +122 -0
  42. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  43. package/cjs/src/embed/search-bar.js +1 -1
  44. package/cjs/src/embed/search-bar.js.map +1 -1
  45. package/cjs/src/embed/search.js +1 -1
  46. package/cjs/src/embed/search.js.map +1 -1
  47. package/cjs/src/embed/search.spec.js +20 -0
  48. package/cjs/src/embed/search.spec.js.map +1 -1
  49. package/cjs/src/embed/spotter-utils.d.ts +12 -0
  50. package/cjs/src/embed/spotter-utils.d.ts.map +1 -1
  51. package/cjs/src/embed/spotter-utils.js +20 -2
  52. package/cjs/src/embed/spotter-utils.js.map +1 -1
  53. package/cjs/src/embed/spotter-utils.spec.js +19 -0
  54. package/cjs/src/embed/spotter-utils.spec.js.map +1 -1
  55. package/cjs/src/embed/spotter-viz-utils.d.ts +15 -0
  56. package/cjs/src/embed/spotter-viz-utils.d.ts.map +1 -1
  57. package/cjs/src/embed/spotter-viz-utils.js.map +1 -1
  58. package/cjs/src/embed/spotter-viz-utils.spec.js +11 -0
  59. package/cjs/src/embed/spotter-viz-utils.spec.js.map +1 -1
  60. package/cjs/src/embed/ts-embed.d.ts +18 -20
  61. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  62. package/cjs/src/embed/ts-embed.js +181 -45
  63. package/cjs/src/embed/ts-embed.js.map +1 -1
  64. package/cjs/src/embed/ts-embed.spec.d.ts.map +1 -1
  65. package/cjs/src/embed/ts-embed.spec.js +610 -0
  66. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  67. package/cjs/src/index.d.ts +5 -3
  68. package/cjs/src/index.d.ts.map +1 -1
  69. package/cjs/src/index.js +4 -2
  70. package/cjs/src/index.js.map +1 -1
  71. package/cjs/src/mixpanel-service.d.ts +1 -0
  72. package/cjs/src/mixpanel-service.d.ts.map +1 -1
  73. package/cjs/src/mixpanel-service.js +1 -0
  74. package/cjs/src/mixpanel-service.js.map +1 -1
  75. package/cjs/src/react/all-types-export.d.ts +1 -1
  76. package/cjs/src/react/all-types-export.d.ts.map +1 -1
  77. package/cjs/src/react/all-types-export.js +2 -1
  78. package/cjs/src/react/all-types-export.js.map +1 -1
  79. package/cjs/src/types.d.ts +251 -4
  80. package/cjs/src/types.d.ts.map +1 -1
  81. package/cjs/src/types.js +176 -0
  82. package/cjs/src/types.js.map +1 -1
  83. package/cjs/src/utils/graphql/answerService/answer-queries.d.ts +1 -0
  84. package/cjs/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
  85. package/cjs/src/utils/graphql/answerService/answer-queries.js +8 -1
  86. package/cjs/src/utils/graphql/answerService/answer-queries.js.map +1 -1
  87. package/cjs/src/utils/graphql/answerService/answerService.d.ts +28 -4
  88. package/cjs/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  89. package/cjs/src/utils/graphql/answerService/answerService.js +39 -4
  90. package/cjs/src/utils/graphql/answerService/answerService.js.map +1 -1
  91. package/cjs/src/utils/graphql/answerService/answerService.spec.js +124 -0
  92. package/cjs/src/utils/graphql/answerService/answerService.spec.js.map +1 -1
  93. package/cjs/src/utils/runtimeTelemetry.d.ts +11 -0
  94. package/cjs/src/utils/runtimeTelemetry.d.ts.map +1 -0
  95. package/cjs/src/utils/runtimeTelemetry.js +34 -0
  96. package/cjs/src/utils/runtimeTelemetry.js.map +1 -0
  97. package/cjs/src/utils/runtimeTelemetry.spec.d.ts +2 -0
  98. package/cjs/src/utils/runtimeTelemetry.spec.d.ts.map +1 -0
  99. package/cjs/src/utils/runtimeTelemetry.spec.js +124 -0
  100. package/cjs/src/utils/runtimeTelemetry.spec.js.map +1 -0
  101. package/dist/{index-CnHREfvN.js → index-CrBnZBZv.js} +1 -1
  102. package/dist/src/contracts/host-event-contracts.d.ts +10 -0
  103. package/dist/src/contracts/host-event-contracts.d.ts.map +1 -1
  104. package/dist/src/css-variables.d.ts +373 -5
  105. package/dist/src/css-variables.d.ts.map +1 -1
  106. package/dist/src/embed/app.d.ts +15 -0
  107. package/dist/src/embed/app.d.ts.map +1 -1
  108. package/dist/src/embed/auto-frame-renderer.d.ts.map +1 -1
  109. package/dist/src/embed/conversation.d.ts +29 -0
  110. package/dist/src/embed/conversation.d.ts.map +1 -1
  111. package/dist/src/embed/liveboard-override-utils.d.ts +59 -0
  112. package/dist/src/embed/liveboard-override-utils.d.ts.map +1 -0
  113. package/dist/src/embed/liveboard-override-utils.spec.d.ts +2 -0
  114. package/dist/src/embed/liveboard-override-utils.spec.d.ts.map +1 -0
  115. package/dist/src/embed/liveboard.d.ts +44 -13
  116. package/dist/src/embed/liveboard.d.ts.map +1 -1
  117. package/dist/src/embed/spotter-utils.d.ts +12 -0
  118. package/dist/src/embed/spotter-utils.d.ts.map +1 -1
  119. package/dist/src/embed/spotter-viz-utils.d.ts +15 -0
  120. package/dist/src/embed/spotter-viz-utils.d.ts.map +1 -1
  121. package/dist/src/embed/ts-embed.d.ts +18 -20
  122. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  123. package/dist/src/embed/ts-embed.spec.d.ts.map +1 -1
  124. package/dist/src/index.d.ts +5 -3
  125. package/dist/src/index.d.ts.map +1 -1
  126. package/dist/src/mixpanel-service.d.ts +1 -0
  127. package/dist/src/mixpanel-service.d.ts.map +1 -1
  128. package/dist/src/react/all-types-export.d.ts +1 -1
  129. package/dist/src/react/all-types-export.d.ts.map +1 -1
  130. package/dist/src/types.d.ts +251 -4
  131. package/dist/src/types.d.ts.map +1 -1
  132. package/dist/src/utils/graphql/answerService/answer-queries.d.ts +1 -0
  133. package/dist/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
  134. package/dist/src/utils/graphql/answerService/answerService.d.ts +28 -4
  135. package/dist/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  136. package/dist/src/utils/runtimeTelemetry.d.ts +11 -0
  137. package/dist/src/utils/runtimeTelemetry.d.ts.map +1 -0
  138. package/dist/src/utils/runtimeTelemetry.spec.d.ts +2 -0
  139. package/dist/src/utils/runtimeTelemetry.spec.d.ts.map +1 -0
  140. package/dist/tsembed-react.es.js +500 -85
  141. package/dist/tsembed-react.js +499 -84
  142. package/dist/tsembed.es.js +743 -90
  143. package/dist/tsembed.js +741 -88
  144. package/dist/visual-embed-sdk-react-full.d.ts +788 -44
  145. package/dist/visual-embed-sdk-react.d.ts +783 -44
  146. package/dist/visual-embed-sdk.d.ts +815 -45
  147. package/lib/package.json +1 -1
  148. package/lib/src/contracts/contracts.spec.js +4 -0
  149. package/lib/src/contracts/contracts.spec.js.map +1 -1
  150. package/lib/src/contracts/host-event-contracts.d.ts +10 -0
  151. package/lib/src/contracts/host-event-contracts.d.ts.map +1 -1
  152. package/lib/src/css-variables.d.ts +373 -5
  153. package/lib/src/css-variables.d.ts.map +1 -1
  154. package/lib/src/embed/app.d.ts +15 -0
  155. package/lib/src/embed/app.d.ts.map +1 -1
  156. package/lib/src/embed/app.js +7 -4
  157. package/lib/src/embed/app.js.map +1 -1
  158. package/lib/src/embed/app.spec.js +28 -0
  159. package/lib/src/embed/app.spec.js.map +1 -1
  160. package/lib/src/embed/auto-frame-renderer.d.ts.map +1 -1
  161. package/lib/src/embed/auto-frame-renderer.js +244 -4
  162. package/lib/src/embed/auto-frame-renderer.js.map +1 -1
  163. package/lib/src/embed/auto-frame-renderer.spec.js +389 -0
  164. package/lib/src/embed/auto-frame-renderer.spec.js.map +1 -1
  165. package/lib/src/embed/bodyless-conversation.js +1 -1
  166. package/lib/src/embed/bodyless-conversation.js.map +1 -1
  167. package/lib/src/embed/conversation.d.ts +29 -0
  168. package/lib/src/embed/conversation.d.ts.map +1 -1
  169. package/lib/src/embed/conversation.js +8 -4
  170. package/lib/src/embed/conversation.js.map +1 -1
  171. package/lib/src/embed/conversation.spec.js +89 -1
  172. package/lib/src/embed/conversation.spec.js.map +1 -1
  173. package/lib/src/embed/host-events.spec.js +32 -0
  174. package/lib/src/embed/host-events.spec.js.map +1 -1
  175. package/lib/src/embed/liveboard-override-utils.d.ts +59 -0
  176. package/lib/src/embed/liveboard-override-utils.d.ts.map +1 -0
  177. package/lib/src/embed/liveboard-override-utils.js +15 -0
  178. package/lib/src/embed/liveboard-override-utils.js.map +1 -0
  179. package/lib/src/embed/liveboard-override-utils.spec.d.ts +2 -0
  180. package/lib/src/embed/liveboard-override-utils.spec.d.ts.map +1 -0
  181. package/lib/src/embed/liveboard-override-utils.spec.js +32 -0
  182. package/lib/src/embed/liveboard-override-utils.spec.js.map +1 -0
  183. package/lib/src/embed/liveboard.d.ts +44 -13
  184. package/lib/src/embed/liveboard.d.ts.map +1 -1
  185. package/lib/src/embed/liveboard.js +19 -23
  186. package/lib/src/embed/liveboard.js.map +1 -1
  187. package/lib/src/embed/liveboard.spec.js +122 -0
  188. package/lib/src/embed/liveboard.spec.js.map +1 -1
  189. package/lib/src/embed/search-bar.js +1 -1
  190. package/lib/src/embed/search-bar.js.map +1 -1
  191. package/lib/src/embed/search.js +1 -1
  192. package/lib/src/embed/search.js.map +1 -1
  193. package/lib/src/embed/search.spec.js +20 -0
  194. package/lib/src/embed/search.spec.js.map +1 -1
  195. package/lib/src/embed/spotter-utils.d.ts +12 -0
  196. package/lib/src/embed/spotter-utils.d.ts.map +1 -1
  197. package/lib/src/embed/spotter-utils.js +19 -1
  198. package/lib/src/embed/spotter-utils.js.map +1 -1
  199. package/lib/src/embed/spotter-utils.spec.js +19 -0
  200. package/lib/src/embed/spotter-utils.spec.js.map +1 -1
  201. package/lib/src/embed/spotter-viz-utils.d.ts +15 -0
  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 +11 -0
  205. package/lib/src/embed/spotter-viz-utils.spec.js.map +1 -1
  206. package/lib/src/embed/ts-embed.d.ts +18 -20
  207. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  208. package/lib/src/embed/ts-embed.js +181 -45
  209. package/lib/src/embed/ts-embed.js.map +1 -1
  210. package/lib/src/embed/ts-embed.spec.d.ts.map +1 -1
  211. package/lib/src/embed/ts-embed.spec.js +611 -1
  212. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  213. package/lib/src/index.d.ts +5 -3
  214. package/lib/src/index.d.ts.map +1 -1
  215. package/lib/src/index.js +3 -2
  216. package/lib/src/index.js.map +1 -1
  217. package/lib/src/mixpanel-service.d.ts +1 -0
  218. package/lib/src/mixpanel-service.d.ts.map +1 -1
  219. package/lib/src/mixpanel-service.js +1 -0
  220. package/lib/src/mixpanel-service.js.map +1 -1
  221. package/lib/src/react/all-types-export.d.ts +1 -1
  222. package/lib/src/react/all-types-export.d.ts.map +1 -1
  223. package/lib/src/react/all-types-export.js +1 -1
  224. package/lib/src/react/all-types-export.js.map +1 -1
  225. package/lib/src/types.d.ts +251 -4
  226. package/lib/src/types.d.ts.map +1 -1
  227. package/lib/src/types.js +176 -0
  228. package/lib/src/types.js.map +1 -1
  229. package/lib/src/utils/graphql/answerService/answer-queries.d.ts +1 -0
  230. package/lib/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
  231. package/lib/src/utils/graphql/answerService/answer-queries.js +7 -0
  232. package/lib/src/utils/graphql/answerService/answer-queries.js.map +1 -1
  233. package/lib/src/utils/graphql/answerService/answerService.d.ts +28 -4
  234. package/lib/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  235. package/lib/src/utils/graphql/answerService/answerService.js +39 -4
  236. package/lib/src/utils/graphql/answerService/answerService.js.map +1 -1
  237. package/lib/src/utils/graphql/answerService/answerService.spec.js +125 -1
  238. package/lib/src/utils/graphql/answerService/answerService.spec.js.map +1 -1
  239. package/lib/src/utils/runtimeTelemetry.d.ts +11 -0
  240. package/lib/src/utils/runtimeTelemetry.d.ts.map +1 -0
  241. package/lib/src/utils/runtimeTelemetry.js +28 -0
  242. package/lib/src/utils/runtimeTelemetry.js.map +1 -0
  243. package/lib/src/utils/runtimeTelemetry.spec.d.ts +2 -0
  244. package/lib/src/utils/runtimeTelemetry.spec.d.ts.map +1 -0
  245. package/lib/src/utils/runtimeTelemetry.spec.js +122 -0
  246. package/lib/src/utils/runtimeTelemetry.spec.js.map +1 -0
  247. package/lib/src/visual-embed-sdk.d.ts +815 -45
  248. package/package.json +1 -1
  249. package/src/contracts/contracts.spec.ts +4 -0
  250. package/src/contracts/host-event-contracts.ts +13 -0
  251. package/src/css-variables.ts +475 -26
  252. package/src/embed/app.spec.ts +32 -0
  253. package/src/embed/app.ts +29 -4
  254. package/src/embed/auto-frame-renderer.spec.ts +464 -0
  255. package/src/embed/auto-frame-renderer.ts +305 -6
  256. package/src/embed/bodyless-conversation.ts +1 -1
  257. package/src/embed/conversation.spec.ts +118 -1
  258. package/src/embed/conversation.ts +42 -3
  259. package/src/embed/host-events.spec.ts +44 -0
  260. package/src/embed/liveboard-override-utils.spec.ts +38 -0
  261. package/src/embed/liveboard-override-utils.ts +71 -0
  262. package/src/embed/liveboard.spec.ts +138 -0
  263. package/src/embed/liveboard.ts +64 -24
  264. package/src/embed/search-bar.tsx +1 -1
  265. package/src/embed/search.spec.ts +23 -0
  266. package/src/embed/search.ts +1 -1
  267. package/src/embed/spotter-utils.spec.ts +20 -0
  268. package/src/embed/spotter-utils.ts +24 -1
  269. package/src/embed/spotter-viz-utils.spec.ts +11 -0
  270. package/src/embed/spotter-viz-utils.ts +15 -0
  271. package/src/embed/ts-embed.spec.ts +767 -0
  272. package/src/embed/ts-embed.ts +186 -41
  273. package/src/index.ts +18 -1
  274. package/src/mixpanel-service.ts +1 -0
  275. package/src/react/all-types-export.ts +7 -0
  276. package/src/types.ts +254 -5
  277. package/src/utils/graphql/answerService/answer-queries.ts +8 -0
  278. package/src/utils/graphql/answerService/answerService.spec.ts +145 -1
  279. package/src/utils/graphql/answerService/answerService.ts +65 -3
  280. package/src/utils/runtimeTelemetry.spec.ts +148 -0
  281. package/src/utils/runtimeTelemetry.ts +50 -0
@@ -121,6 +121,33 @@ export interface CustomCssVariables {
121
121
  * Background color of the search suggestion block on hover.
122
122
  */
123
123
  "--ts-var-search-bar-auto-complete-hover-background"?: string;
124
+ /**
125
+ * Background color of the submit (*Go*) button in the search box.
126
+ */
127
+ "--ts-var-search-submit-button-background"?: string;
128
+ /**
129
+ * Color of the label and icon on the submit (*Go*) button in the search box.
130
+ */
131
+ "--ts-var-search-submit-button-color"?: string;
132
+ /**
133
+ * Background color of the submit (*Go*) button in the search box on hover.
134
+ * Defaults to the background color set for the non-hover state.
135
+ */
136
+ "--ts-var-search-submit-button--hover-background"?: string;
137
+ /**
138
+ * Border radius of the submit (*Go*) button in the search box. Default: `40px`.
139
+ */
140
+ "--ts-var-search-submit-button-border-radius"?: string;
141
+ /**
142
+ * Border width of the submit (*Go*) button in the search box. Default: `0`.
143
+ * The button has a fixed size, so a border reduces its inner area.
144
+ */
145
+ "--ts-var-search-submit-button-border-width"?: string;
146
+ /**
147
+ * Border color of the submit (*Go*) button in the search box.
148
+ * Visible only when `--ts-var-search-submit-button-border-width` is set.
149
+ */
150
+ "--ts-var-search-submit-button-border-color"?: string;
124
151
  /**
125
152
  * Font color of the text in the search suggestion panel.
126
153
  */
@@ -224,6 +251,194 @@ export interface CustomCssVariables {
224
251
  * Backgroud color of the tertiary buttons when active.
225
252
  */
226
253
  "--ts-var-button--tertiary--active-background"?: string;
254
+ /**
255
+ * Font family specification for the text on the tertiary buttons.
256
+ * Defaults to the inherited font.
257
+ */
258
+ "--ts-var-button--tertiary--font-family"?: string;
259
+ /**
260
+ * Padding of buttons with text, for example, `6px 16px`. Applies to all button
261
+ * sizes and variants.
262
+ */
263
+ "--ts-var-button-padding"?: string;
264
+ /**
265
+ * Minimum width of buttons with text. Applies to all button sizes and variants.
266
+ */
267
+ "--ts-var-button-min-width"?: string;
268
+ /**
269
+ * Space between the icon and the label in a button. Default: `8px`.
270
+ */
271
+ "--ts-var-button-gap"?: string;
272
+ /**
273
+ * Height of buttons. Icon-only buttons remain square when this is set.
274
+ */
275
+ "--ts-var-button-height"?: string;
276
+ /**
277
+ * Font size of the button label. The line height scales proportionally.
278
+ */
279
+ "--ts-var-button-font-size"?: string;
280
+ /**
281
+ * Font weight of the button label. Default: `400`.
282
+ */
283
+ "--ts-var-button-font-weight"?: string;
284
+ /**
285
+ * Border width of buttons. Default: `0`. To show a border on a button variant,
286
+ * also set its border color, for example, `--ts-var-button--primary-border-color`.
287
+ */
288
+ "--ts-var-button-border-width"?: string;
289
+ /**
290
+ * Padding of the primary buttons with text.
291
+ * Overrides `--ts-var-button-padding` for primary buttons.
292
+ */
293
+ "--ts-var-button--primary-padding"?: string;
294
+ /**
295
+ * Minimum width of the primary buttons with text.
296
+ * Overrides `--ts-var-button-min-width` for primary buttons.
297
+ */
298
+ "--ts-var-button--primary-min-width"?: string;
299
+ /**
300
+ * Space between the icon and the label in the primary buttons.
301
+ * Overrides `--ts-var-button-gap` for primary buttons.
302
+ */
303
+ "--ts-var-button--primary-gap"?: string;
304
+ /**
305
+ * Font weight of the text on the primary buttons.
306
+ * Overrides `--ts-var-button-font-weight` for primary buttons.
307
+ */
308
+ "--ts-var-button--primary-font-weight"?: string;
309
+ /**
310
+ * Border color of the primary buttons.
311
+ * Visible only when `--ts-var-button-border-width` is set.
312
+ */
313
+ "--ts-var-button--primary-border-color"?: string;
314
+ /**
315
+ * Padding of the secondary buttons with text.
316
+ * Overrides `--ts-var-button-padding` for secondary buttons.
317
+ */
318
+ "--ts-var-button--secondary-padding"?: string;
319
+ /**
320
+ * Minimum width of the secondary buttons with text.
321
+ * Overrides `--ts-var-button-min-width` for secondary buttons.
322
+ */
323
+ "--ts-var-button--secondary-min-width"?: string;
324
+ /**
325
+ * Space between the icon and the label in the secondary buttons.
326
+ * Overrides `--ts-var-button-gap` for secondary buttons.
327
+ */
328
+ "--ts-var-button--secondary-gap"?: string;
329
+ /**
330
+ * Font weight of the text on the secondary buttons.
331
+ * Overrides `--ts-var-button-font-weight` for secondary buttons.
332
+ */
333
+ "--ts-var-button--secondary-font-weight"?: string;
334
+ /**
335
+ * Border color of the secondary buttons.
336
+ * Visible only when `--ts-var-button-border-width` is set.
337
+ */
338
+ "--ts-var-button--secondary-border-color"?: string;
339
+ /**
340
+ * Padding of the tertiary buttons with text.
341
+ * Overrides `--ts-var-button-padding` for tertiary buttons.
342
+ */
343
+ "--ts-var-button--tertiary-padding"?: string;
344
+ /**
345
+ * Minimum width of the tertiary buttons with text.
346
+ * Overrides `--ts-var-button-min-width` for tertiary buttons.
347
+ */
348
+ "--ts-var-button--tertiary-min-width"?: string;
349
+ /**
350
+ * Space between the icon and the label in the tertiary buttons.
351
+ * Overrides `--ts-var-button-gap` for tertiary buttons.
352
+ */
353
+ "--ts-var-button--tertiary-gap"?: string;
354
+ /**
355
+ * Font weight of the text on the tertiary buttons.
356
+ * Overrides `--ts-var-button-font-weight` for tertiary buttons.
357
+ */
358
+ "--ts-var-button--tertiary-font-weight"?: string;
359
+ /**
360
+ * Border color of the tertiary buttons.
361
+ * Visible only when `--ts-var-button-border-width` is set.
362
+ */
363
+ "--ts-var-button--tertiary-border-color"?: string;
364
+ /**
365
+ * Font color of the tab labels.
366
+ */
367
+ "--ts-var-tab-color"?: string;
368
+ /**
369
+ * Background color of the tabs.
370
+ */
371
+ "--ts-var-tab-background"?: string;
372
+ /**
373
+ * Font family specification for the tab labels.
374
+ */
375
+ "--ts-var-tab-font-family"?: string;
376
+ /**
377
+ * Font size of the tab labels.
378
+ */
379
+ "--ts-var-tab-font-size"?: string;
380
+ /**
381
+ * Font weight of the tab labels.
382
+ */
383
+ "--ts-var-tab-font-weight"?: string;
384
+ /**
385
+ * Padding of the tab items.
386
+ */
387
+ "--ts-var-tab-padding"?: string;
388
+ /**
389
+ * Height of the tab items.
390
+ */
391
+ "--ts-var-tab-height"?: string;
392
+ /**
393
+ * Border radius of the tab items.
394
+ */
395
+ "--ts-var-tab-border-radius"?: string;
396
+ /**
397
+ * Font color of the tab labels on hover.
398
+ */
399
+ "--ts-var-tab--hover-color"?: string;
400
+ /**
401
+ * Background color of the tab items on hover.
402
+ */
403
+ "--ts-var-tab--hover-background"?: string;
404
+ /**
405
+ * Font color of the selected tab label.
406
+ */
407
+ "--ts-var-tab--selected-color"?: string;
408
+ /**
409
+ * Background color of the selected tab item.
410
+ */
411
+ "--ts-var-tab--selected-background"?: string;
412
+ /**
413
+ * Font weight of the selected tab label.
414
+ */
415
+ "--ts-var-tab--selected-font-weight"?: string;
416
+ /**
417
+ * Color of the underline indicator on the selected tab, in the horizontal tab layout.
418
+ */
419
+ "--ts-var-tab--selected-indicator-color"?: string;
420
+ /**
421
+ * Thickness of the underline indicator on the selected tab, in the horizontal tab
422
+ * layout.
423
+ */
424
+ "--ts-var-tab--selected-indicator-height"?: string;
425
+ /**
426
+ * Border color of the divider below the horizontal tab strip.
427
+ */
428
+ "--ts-var-tab-list-border-color"?: string;
429
+ /**
430
+ * Color of the side rail indicator on the selected tab, in the vertical tab layout.
431
+ */
432
+ "--ts-var-tab--vertical--selected-indicator-color"?: string;
433
+ /**
434
+ * Thickness of the side rail indicator on the selected tab, in the vertical tab
435
+ * layout.
436
+ */
437
+ "--ts-var-tab--vertical--selected-indicator-width"?: string;
438
+ /**
439
+ * Border color of the divider beside the vertical tab strip.
440
+ */
441
+ "--ts-var-tab--vertical-list-border-color"?: string;
227
442
  /**
228
443
  * Font color of the title text of a visualization or Answer.
229
444
  */
@@ -311,6 +526,104 @@ export interface CustomCssVariables {
311
526
  * Font family specification for the text on filter chips.
312
527
  */
313
528
  "--ts-var-chip-title-font-family"?: string;
529
+ /**
530
+ * Background color of attribute chips, such as attribute tokens in the search bar
531
+ * and attribute columns in the data panel.
532
+ * In chip components, `--ts-var-chip-background` takes precedence when set.
533
+ */
534
+ "--ts-var-chip--attribute-background"?: string;
535
+ /**
536
+ * Background color of attribute chips on hover.
537
+ */
538
+ "--ts-var-chip--attribute--hover-background"?: string;
539
+ /**
540
+ * Border color of attribute chips.
541
+ * Defaults to `--ts-var-chip--attribute-background`.
542
+ */
543
+ "--ts-var-chip--attribute-border-color"?: string;
544
+ /**
545
+ * Border color of attribute chips on hover.
546
+ * Defaults to `--ts-var-chip--attribute--hover-background`.
547
+ */
548
+ "--ts-var-chip--attribute--hover-border-color"?: string;
549
+ /**
550
+ * Background color of measure chips, such as measure tokens in the search bar
551
+ * and measure columns in the data panel.
552
+ * In chip components, `--ts-var-chip-background` takes precedence when set.
553
+ */
554
+ "--ts-var-chip--measure-background"?: string;
555
+ /**
556
+ * Background color of measure chips on hover.
557
+ */
558
+ "--ts-var-chip--measure--hover-background"?: string;
559
+ /**
560
+ * Border color of measure chips.
561
+ * Defaults to `--ts-var-chip--measure-background`.
562
+ */
563
+ "--ts-var-chip--measure-border-color"?: string;
564
+ /**
565
+ * Border color of measure chips on hover.
566
+ * Defaults to `--ts-var-chip--measure--hover-background`.
567
+ */
568
+ "--ts-var-chip--measure--hover-border-color"?: string;
569
+ /**
570
+ * Background color of date chips, such as date tokens in the search bar
571
+ * and date columns in the data panel.
572
+ * In chip components, `--ts-var-chip-background` takes precedence when set.
573
+ */
574
+ "--ts-var-chip--date-background"?: string;
575
+ /**
576
+ * Background color of date chips on hover.
577
+ */
578
+ "--ts-var-chip--date--hover-background"?: string;
579
+ /**
580
+ * Border color of date chips.
581
+ * Defaults to `--ts-var-chip--date-background`.
582
+ */
583
+ "--ts-var-chip--date-border-color"?: string;
584
+ /**
585
+ * Border color of date chips on hover.
586
+ * Defaults to `--ts-var-chip--date--hover-background`.
587
+ */
588
+ "--ts-var-chip--date--hover-border-color"?: string;
589
+ /**
590
+ * Background color of filter chips, such as filter tokens in the search bar.
591
+ * Also applies to neutral column chips, such as formula and set columns.
592
+ * In chip components, `--ts-var-chip-background` takes precedence when set.
593
+ */
594
+ "--ts-var-chip--filter-background"?: string;
595
+ /**
596
+ * Background color of filter chips on hover.
597
+ */
598
+ "--ts-var-chip--filter--hover-background"?: string;
599
+ /**
600
+ * Border color of filter chips.
601
+ * Defaults to `--ts-var-chip--filter-background`.
602
+ */
603
+ "--ts-var-chip--filter-border-color"?: string;
604
+ /**
605
+ * Border color of filter chips on hover.
606
+ * Defaults to `--ts-var-chip--filter--hover-background`.
607
+ */
608
+ "--ts-var-chip--filter--hover-border-color"?: string;
609
+ /**
610
+ * Background color of unrecognized tokens in the search bar.
611
+ */
612
+ "--ts-var-chip--unrecognized-background"?: string;
613
+ /**
614
+ * Background color of unrecognized tokens in the search bar on hover.
615
+ */
616
+ "--ts-var-chip--unrecognized--hover-background"?: string;
617
+ /**
618
+ * Border color of unrecognized tokens in the search bar.
619
+ * Defaults to `--ts-var-chip--unrecognized-background`.
620
+ */
621
+ "--ts-var-chip--unrecognized-border-color"?: string;
622
+ /**
623
+ * Border color of unrecognized tokens in the search bar on hover.
624
+ * Defaults to `--ts-var-chip--unrecognized--hover-background`.
625
+ */
626
+ "--ts-var-chip--unrecognized--hover-border-color"?: string;
314
627
  /**
315
628
  * Font color of axis title on charts.
316
629
  */
@@ -662,6 +975,54 @@ export interface CustomCssVariables {
662
975
  * Font color of the hover tab in the Liveboard.
663
976
  */
664
977
  "--ts-var-liveboard-tab-hover-color"?: string;
978
+ /**
979
+ * Font color of the tab labels in the Liveboard.
980
+ */
981
+ "--ts-var-liveboard-tab-color"?: string;
982
+ /**
983
+ * Background color of the tab items in the Liveboard.
984
+ */
985
+ "--ts-var-liveboard-tab-background"?: string;
986
+ /**
987
+ * Font family specification for the tab labels in the Liveboard.
988
+ */
989
+ "--ts-var-liveboard-tab-font-family"?: string;
990
+ /**
991
+ * Font size of the tab labels in the Liveboard.
992
+ */
993
+ "--ts-var-liveboard-tab-font-size"?: string;
994
+ /**
995
+ * Font weight of the tab labels in the Liveboard.
996
+ */
997
+ "--ts-var-liveboard-tab-font-weight"?: string;
998
+ /**
999
+ * Border radius of the tab items in the Liveboard.
1000
+ */
1001
+ "--ts-var-liveboard-tab-border-radius"?: string;
1002
+ /**
1003
+ * Background color of the tab items in the Liveboard on hover.
1004
+ */
1005
+ "--ts-var-liveboard-tab-hover-background"?: string;
1006
+ /**
1007
+ * Font color of the selected tab label in the Liveboard.
1008
+ */
1009
+ "--ts-var-liveboard-tab-selected-color"?: string;
1010
+ /**
1011
+ * Background color of the selected tab item in the Liveboard.
1012
+ */
1013
+ "--ts-var-liveboard-tab-selected-background"?: string;
1014
+ /**
1015
+ * Font weight of the selected tab label in the Liveboard.
1016
+ */
1017
+ "--ts-var-liveboard-tab-selected-font-weight"?: string;
1018
+ /**
1019
+ * Thickness of the underline indicator on the selected tab in the Liveboard.
1020
+ */
1021
+ "--ts-var-liveboard-tab-selected-indicator-height"?: string;
1022
+ /**
1023
+ * Border color of the divider above the tab strip in the Liveboard.
1024
+ */
1025
+ "--ts-var-liveboard-tab-list-border-color"?: string;
665
1026
  /**
666
1027
  * Font size of the title of the tiles in the Liveboard.
667
1028
  */
@@ -1027,7 +1388,8 @@ export interface CustomCssVariables {
1027
1388
  "--ts-var-spotterviz-footer-text-color"?: string;
1028
1389
  /**
1029
1390
  * Shared border color used throughout SpotterViz: input box, user message,
1030
- * header underline, left panel border, thinking step connector and dots.
1391
+ * header underline, left panel border, thinking step connector and dots,
1392
+ * and the attached-file upload card.
1031
1393
  */
1032
1394
  "--ts-var-spotterviz-border-color"?: string;
1033
1395
  /**
@@ -1041,16 +1403,22 @@ export interface CustomCssVariables {
1041
1403
  "--ts-var-spotterviz-reference-icon-hover-background"?: string;
1042
1404
  /**
1043
1405
  * Icon color for the reference-mode selected state — applies to
1044
- * both the toggle button when active and the icon badge on each
1045
- * referenced-entity chip in the chat input.
1406
+ * the toggle button when active and the icon badge on each
1407
+ * referenced-entity chip and the attached-file chip in the chat input.
1046
1408
  */
1047
1409
  "--ts-var-spotterviz-reference-icon-selected-color"?: string;
1048
1410
  /**
1049
1411
  * Background color for the reference-mode selected state — applies to
1050
- * both the reference mode toggle button when active and the icon badge
1051
- * on each referenced-entity chip in the chat input.
1412
+ * the reference mode toggle button when active and the icon badge on
1413
+ * each referenced-entity chip and the attached-file chip in the chat
1414
+ * input.
1052
1415
  */
1053
1416
  "--ts-var-spotterviz-reference-icon-selected-background"?: string;
1417
+ /**
1418
+ * Background color of the file-type thumbnail on the attached-file card
1419
+ * in the SpotterViz chat input.
1420
+ */
1421
+ "--ts-var-spotterviz-upload-card-thumbnail-background"?: string;
1054
1422
  /**
1055
1423
  * Background color of the shared conversation header (recipient's read-only view).
1056
1424
  */
@@ -1111,6 +1479,21 @@ export interface UnderlyingDataPoint {
1111
1479
  columnId: string;
1112
1480
  dataValue: any;
1113
1481
  }
1482
+ /**
1483
+ * Describes how to sort a column when fetching data. Pass an array of these to
1484
+ * sort by multiple columns, in priority order.
1485
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.12.0.cl
1486
+ */
1487
+ export interface SortOptions {
1488
+ /**
1489
+ * Name of the column to sort by. The column must exist in the data source.
1490
+ */
1491
+ columnName: string;
1492
+ /**
1493
+ * Sort direction. `true` sorts ascending, `false` sorts descending.
1494
+ */
1495
+ ascending: boolean;
1496
+ }
1114
1497
  /**
1115
1498
  * AnswerService provides a simple way to work with ThoughtSpot Answers.
1116
1499
  *
@@ -1218,6 +1601,12 @@ export declare class AnswerService {
1218
1601
  * @returns
1219
1602
  */
1220
1603
  addFilter(columnName: string, operator: RuntimeFilterOp, values: RuntimeFilter["values"]): Promise<any>;
1604
+ /**
1605
+ * Adapt the sort options into the `updateSort` payload and send it.
1606
+ * @param sortOptions Columns to sort by, each with a direction.
1607
+ * @param sourceDetail
1608
+ */
1609
+ private adaptSorting;
1221
1610
  updateDisplayMode(displayMode?: string): Promise<any>;
1222
1611
  getSQLQuery(fetchSQLWithAllColumns?: boolean): Promise<string>;
1223
1612
  /**
@@ -1270,18 +1659,21 @@ export declare class AnswerService {
1270
1659
  * automatically passed.
1271
1660
  * @param outputColumnNames
1272
1661
  * @param selectedPoints
1662
+ * @param sortOptions Optional columns to sort the underlying data by.
1273
1663
  * @example
1274
1664
  * ```js
1275
1665
  * embed.on(EmbedEvent.CustomAction, e => {
1276
- * const underlying = await e.answerService.getUnderlyingDataForPoint([
1277
- * 'col name 1' // The column should exist in the data source.
1278
- * ]);
1666
+ * const underlying = await e.answerService.getUnderlyingDataForPoint(
1667
+ * ['col name 1'], // The column should exist in the data source.
1668
+ * undefined,
1669
+ * [{ columnName: 'col name 1', ascending: true }],
1670
+ * );
1279
1671
  * const data = await underlying.fetchData(0, 100);
1280
1672
  * })
1281
1673
  * ```
1282
1674
  * @version SDK: 1.25.0 | ThoughtSpot: 9.10.0.cl
1283
1675
  */
1284
- getUnderlyingDataForPoint(outputColumnNames: string[], selectedPoints?: UnderlyingDataPoint[]): Promise<AnswerService>;
1676
+ getUnderlyingDataForPoint(outputColumnNames: string[], selectedPoints?: UnderlyingDataPoint[], sortOptions?: SortOptions[]): Promise<AnswerService>;
1285
1677
  /**
1286
1678
  * Execute a custom graphql query in the context of the answer.
1287
1679
  * @param query graphql query
@@ -2094,6 +2486,27 @@ export interface EmbedConfig {
2094
2486
  * @default true
2095
2487
  */
2096
2488
  blockNonEmbedFullAppAccess?: boolean;
2489
+ /**
2490
+ * Render the embedded application in dark appearance when `true`, and in
2491
+ * its default appearance when `false` or unset.
2492
+ *
2493
+ * The host application owns the appearance of an embed, so this overrides
2494
+ * the appearance preference of the signed-in user and the color scheme of
2495
+ * their operating system. If your application has light and dark themes,
2496
+ * pass `true` while it shows the dark theme and `false` while it shows
2497
+ * the light theme.
2498
+ * @version SDK: 1.55.0 | ThoughtSpot Cloud: 26.12.0.cl
2499
+ * @example
2500
+ * ```js
2501
+ * // Your application's current theme, 'light' or 'dark'
2502
+ * const appTheme = 'dark';
2503
+ * init({
2504
+ * ...embedConfig,
2505
+ * isDarkMode: appTheme === 'dark',
2506
+ * });
2507
+ * ```
2508
+ */
2509
+ isDarkMode?: boolean;
2097
2510
  /**
2098
2511
  * Host config in case embedded app is inside TS app itself
2099
2512
  * @hidden
@@ -2666,6 +3079,31 @@ export interface BaseViewConfig extends ApiInterceptFlags {
2666
3079
  * @default ''
2667
3080
  */
2668
3081
  customizations?: CustomisationsInterface;
3082
+ /**
3083
+ * Render this embed in dark appearance when `true`, and in its default
3084
+ * appearance when `false`, overriding the `isDarkMode` value passed to
3085
+ * `init`.
3086
+ *
3087
+ * The host application owns the appearance of an embed, so this overrides
3088
+ * the appearance preference of the signed-in user and the color scheme of
3089
+ * their operating system. If your application has light and dark themes,
3090
+ * pass `true` while it shows the dark theme and `false` while it shows
3091
+ * the light theme. Leave it unset to inherit the `init` value.
3092
+ *
3093
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`, `SearchEmbed`, `SpotterAgentEmbed`, `SpotterEmbed`, `SearchBarEmbed`
3094
+ * @version SDK: 1.55.0 | ThoughtSpot Cloud: 26.12.0.cl
3095
+ * @example
3096
+ * ```js
3097
+ * // Your application's current theme, 'light' or 'dark'
3098
+ * const appTheme = 'dark';
3099
+ * // Replace AppEmbed with a specific embed component like SearchEmbed or LiveboardEmbed
3100
+ * const embed = new AppEmbed('#tsEmbed', {
3101
+ * ... // other embed view config
3102
+ * isDarkMode: appTheme === 'dark',
3103
+ * });
3104
+ * ```
3105
+ */
3106
+ isDarkMode?: boolean;
2669
3107
  /**
2670
3108
  * Insert as a sibling of the target container, instead of appending to a
2671
3109
  * child inside it.
@@ -3209,7 +3647,32 @@ export interface BaseViewConfig extends ApiInterceptFlags {
3209
3647
  * - `enableV2Shell_experimental` — the renderer always uses the v2 URL format;
3210
3648
  * this flag has no effect.
3211
3649
  */
3212
- export type AutoMCPFrameRendererViewConfig = Omit<BaseViewConfig, "preRenderId" | "usePrerenderedIfAvailable" | "doNotTrackPreRenderSize" | "insertAsSibling" | "primaryAction" | "enableV2Shell_experimental">;
3650
+ export type AutoMCPFrameRendererViewConfig = Omit<BaseViewConfig, "preRenderId" | "usePrerenderedIfAvailable" | "doNotTrackPreRenderSize" | "insertAsSibling" | "primaryAction" | "enableV2Shell_experimental"> & {
3651
+ /**
3652
+ * Suppress the notice shown on answers re-resolved from a stored
3653
+ * conversation. Those answers are re-run against current data, so by
3654
+ * default the renderer marks them with a tooltip explaining that the
3655
+ * numbers may differ from what the user originally saw. Set this to
3656
+ * `true` to render them without any notice.
3657
+ *
3658
+ * Only affects frames carrying {@link Param.TsmcpConversationId}; frames
3659
+ * that already contain their own session parameters are never marked.
3660
+ * @default false
3661
+ * @version SDK: 1.51.3
3662
+ * @example
3663
+ * ```js
3664
+ * startAutoMCPFrameRenderer({ suppressStaleAnswerNotice: true });
3665
+ * ```
3666
+ */
3667
+ suppressStaleAnswerNotice?: boolean;
3668
+ /**
3669
+ * Text of the notice described in {@link suppressStaleAnswerNotice}.
3670
+ * Override it to translate the message or match your own product voice.
3671
+ * @default 'This data may have changed since the last time you had a chat.'
3672
+ * @version SDK: 1.51.3
3673
+ */
3674
+ staleAnswerNoticeText?: string;
3675
+ };
3213
3676
  /**
3214
3677
  * The configuration object for Home page embeds configs.
3215
3678
  */
@@ -4817,6 +5280,36 @@ export declare enum EmbedEvent {
4817
5280
  * ```
4818
5281
  */
4819
5282
  Edit = "edit",
5283
+ /**
5284
+ * Emitted when a user clicks **Edit** on a Liveboard.
5285
+ *
5286
+ * Fired alongside {@link EmbedEvent.Edit} for backward compatibility;
5287
+ * listen to this instead of `Edit` to target the Liveboard surface only.
5288
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
5289
+ * @example
5290
+ * ```js
5291
+ * liveboardEmbed.on(EmbedEvent.EditLiveboard, payload => {
5292
+ * console.log('Liveboard edit', payload);
5293
+ * })
5294
+ * ```
5295
+ */
5296
+ EditLiveboard = "editLiveboard",
5297
+ /**
5298
+ * Emitted when a user clicks **Edit** on a visualization inside a
5299
+ * Liveboard.
5300
+ *
5301
+ * Fired alongside {@link EmbedEvent.Edit} for backward compatibility;
5302
+ * listen to this instead of `Edit` to target the visualization surface
5303
+ * only.
5304
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
5305
+ * @example
5306
+ * ```js
5307
+ * liveboardEmbed.on(EmbedEvent.EditVisualization, payload => {
5308
+ * console.log('visualization edit', payload);
5309
+ * })
5310
+ * ```
5311
+ */
5312
+ EditVisualization = "editVisualization",
4820
5313
  /**
4821
5314
  * Emitted when a user clicks *Make a copy* on a Liveboard
4822
5315
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
@@ -6787,6 +7280,46 @@ export declare enum HostEvent {
6787
7280
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
6788
7281
  */
6789
7282
  Edit = "edit",
7283
+ /**
7284
+ * Trigger the **Edit** action on a Liveboard only — does not affect a
7285
+ * visualization's edit surface.
7286
+ *
7287
+ * Behaves like {@link HostEvent.Edit} restricted to the Liveboard
7288
+ * surface. Use {@link HostEvent.EditVisualization} to target a
7289
+ * visualization instead, or `HostEvent.Edit` to control whichever
7290
+ * surface applies contextually (unchanged, existing behavior).
7291
+ * @example
7292
+ * ```js
7293
+ * liveboardEmbed.trigger(HostEvent.EditLiveboard)
7294
+ * ```
7295
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
7296
+ */
7297
+ EditLiveboard = "editLiveboard",
7298
+ /**
7299
+ * Trigger the **Edit** action on a specific visualization inside a
7300
+ * Liveboard only — does not affect the Liveboard-level edit surface.
7301
+ * @param - Object parameter. Includes the following keys:
7302
+ * - `vizId`: **Required.** The visualization to edit.
7303
+ *
7304
+ * @example
7305
+ * ```js
7306
+ * liveboardEmbed.trigger(HostEvent.EditVisualization, {vizId:
7307
+ * '730496d6-6903-4601-937e-2c691821af3c'})
7308
+ * ```
7309
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
7310
+ */
7311
+ EditVisualization = "editVisualization",
7312
+ /**
7313
+ * Exits Liveboard edit mode , equivalent to clicking the
7314
+ * *Cancel* button in the Liveboard edit header. The Liveboard returns to
7315
+ * view mode and the embedded app emits the {@link EmbedEvent.Cancel} event.
7316
+ * @version SDK: 1.55.0 | ThoughtSpot Cloud: 26.12.0.cl
7317
+ * @example
7318
+ * ```js
7319
+ * liveboardEmbed.trigger(HostEvent.ExitEditMode);
7320
+ * ```
7321
+ */
7322
+ ExitEditMode = "exitEditMode",
6790
7323
  /**
6791
7324
  * Trigger the **Copy link** action on a Liveboard or visualization
6792
7325
  * Payload: {@link VizScopedRequest}.
@@ -8320,7 +8853,40 @@ export declare enum HostEvent {
8320
8853
  * ```
8321
8854
  * @version SDK: 1.49.0 | ThoughtSpot Cloud: 26.6.0.cl
8322
8855
  */
8323
- RefreshLiveboardBrowserCache = "refreshLiveboardBrowserCache"
8856
+ RefreshLiveboardBrowserCache = "refreshLiveboardBrowserCache",
8857
+ /**
8858
+ * Switch the embed between dark appearance and its default appearance
8859
+ * while it is open, without reloading it.
8860
+ * Payload: {@link UpdateThemeRequest}.
8861
+ *
8862
+ * Use it to keep the embed in step with a theme switch in your
8863
+ * application; the appearance the embed loads with is set by `isDarkMode`.
8864
+ * The event resolves with the applied value, such as `{ isDarkMode: true }`.
8865
+ * When dark appearance is not available in the embed, the embed does not
8866
+ * change and the event rejects with an error message instead.
8867
+ * @version SDK: 1.55.0 | ThoughtSpot Cloud: 26.12.0.cl
8868
+ * @param - `isDarkMode` - `true` for dark appearance, `false` for the
8869
+ * default appearance.
8870
+ * @example
8871
+ * ```js
8872
+ * appEmbed.trigger(HostEvent.UpdateTheme, { isDarkMode: true });
8873
+ * ```
8874
+ * @example
8875
+ * ```js
8876
+ * // Follow a theme switch in your application
8877
+ * const themeSwitch = document.querySelector('#theme-switch');
8878
+ * themeSwitch.addEventListener('change', async (event) => {
8879
+ * try {
8880
+ * await appEmbed.trigger(HostEvent.UpdateTheme, {
8881
+ * isDarkMode: event.target.checked,
8882
+ * });
8883
+ * } catch (error) {
8884
+ * console.warn(error);
8885
+ * }
8886
+ * });
8887
+ * ```
8888
+ */
8889
+ UpdateTheme = "UpdateTheme"
8324
8890
  }
8325
8891
  /**
8326
8892
  * The different visual modes that the data sources panel within
@@ -8799,12 +9365,43 @@ export declare enum Action {
8799
9365
  * The *Edit* action on the Liveboard page and in the
8800
9366
  * visualization menu.
8801
9367
  * Opens a Liveboard or visualization in edit mode.
9368
+ *
9369
+ * Controls both surfaces together. To target one surface only, use
9370
+ * {@link Action.EditLiveboard} or {@link Action.EditVisualization}.
8802
9371
  * @example
8803
9372
  * ```js
8804
9373
  * disabledActions: [Action.Edit]
8805
9374
  * ```
8806
9375
  */
8807
9376
  Edit = "edit",
9377
+ /**
9378
+ * The *Edit* action on the Liveboard page only.
9379
+ * Opens a Liveboard in edit mode.
9380
+ *
9381
+ * Does not affect the *Edit* action in the visualization menu; use
9382
+ * {@link Action.EditVisualization} for that, or {@link Action.Edit} to
9383
+ * control both surfaces together.
9384
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
9385
+ * @example
9386
+ * ```js
9387
+ * disabledActions: [Action.EditLiveboard]
9388
+ * ```
9389
+ */
9390
+ EditLiveboard = "editLiveboard",
9391
+ /**
9392
+ * The *Edit* action in the visualization `...` menu only.
9393
+ * Opens a visualization in the editor.
9394
+ *
9395
+ * Does not affect the *Edit* action on the Liveboard page; use
9396
+ * {@link Action.EditLiveboard} for that, or {@link Action.Edit} to
9397
+ * control both surfaces together.
9398
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
9399
+ * @example
9400
+ * ```js
9401
+ * disabledActions: [Action.EditVisualization]
9402
+ * ```
9403
+ */
9404
+ EditVisualization = "editVisualization",
8808
9405
  /**
8809
9406
  * The text edit option for Liveboard and visualization titles.
8810
9407
  * @example
@@ -10577,7 +11174,30 @@ export declare enum Action {
10577
11174
  * }
10578
11175
  * ```
10579
11176
  */
10580
- CustomizeHomepage = "customizeHomepage"
11177
+ CustomizeHomepage = "customizeHomepage",
11178
+ /**
11179
+ * Controls the visibility and disabled state of the *Cancel* button in the
11180
+ * Liveboard edit header, the button that discards the changes made in edit
11181
+ * mode and returns the Liveboard to view mode. The button is shown only
11182
+ * while the Liveboard is in edit mode.
11183
+ * @version SDK: 1.55.0 | ThoughtSpot Cloud: 26.12.0.cl
11184
+ * @example
11185
+ * ```js
11186
+ * const liveboardEmbed = new LiveboardEmbed('#tsEmbed', {
11187
+ * ... // other embed view config
11188
+ * hiddenActions: [Action.Cancel],
11189
+ * });
11190
+ * ```
11191
+ * @example
11192
+ * ```js
11193
+ * const liveboardEmbed = new LiveboardEmbed('#tsEmbed', {
11194
+ * ... // other embed view config
11195
+ * disabledActions: [Action.Cancel],
11196
+ * disabledActionReason: 'Save your changes to leave edit mode',
11197
+ * });
11198
+ * ```
11199
+ */
11200
+ Cancel = "cancel"
10581
11201
  }
10582
11202
  export declare enum PrefetchFeatures {
10583
11203
  FullApp = "FullApp",
@@ -12053,6 +12673,15 @@ export interface SetActiveTabRequest {
12053
12673
  */
12054
12674
  tabId: string;
12055
12675
  }
12676
+ /**
12677
+ * Request payload for {@link HostEvent.UpdateTheme}.
12678
+ */
12679
+ export interface UpdateThemeRequest {
12680
+ /**
12681
+ * `true` for dark appearance, `false` for the default appearance.
12682
+ */
12683
+ isDarkMode: boolean;
12684
+ }
12056
12685
  /**
12057
12686
  * Typed request payloads for host events that do not go through the UI
12058
12687
  * passthrough pipeline (`HostEvent` member → request type; `void` = no payload).
@@ -12143,6 +12772,7 @@ export interface HostEventRequestMap {
12143
12772
  [HostEvent.InitSpotterVizConversation]: void;
12144
12773
  [HostEvent.OpenSpotterVizPanel]: void;
12145
12774
  [HostEvent.CloseSpotterVizPanel]: void;
12775
+ [HostEvent.UpdateTheme]: UpdateThemeRequest;
12146
12776
  }
12147
12777
  /**
12148
12778
  * Per-context request shapes for events whose payload varies by
@@ -12285,6 +12915,7 @@ declare class TsEmbed {
12285
12915
  protected embedNodeKey: string;
12286
12916
  protected embedContainerLoadedKey: string;
12287
12917
  protected isAppInitialized: boolean;
12918
+ private initDataParams;
12288
12919
  /**
12289
12920
  * A reference to the iframe within which the ThoughtSpot app
12290
12921
  * will be rendered.
@@ -12410,6 +13041,7 @@ declare class TsEmbed {
12410
13041
  protected getAuthTokenForCookielessInit(): Promise<string>;
12411
13042
  protected getDefaultAppInitData(): Promise<DefaultAppInitData>;
12412
13043
  protected getAppInitData(): Promise<DefaultAppInitData>;
13044
+ private withInitDataParams;
12413
13045
  /**
12414
13046
  * Send Custom style as part of payload of APP_INIT
12415
13047
  * @param _
@@ -12482,6 +13114,7 @@ declare class TsEmbed {
12482
13114
  [key: string]: string | number | boolean;
12483
13115
  };
12484
13116
  customizations?: CustomisationsInterface;
13117
+ isDarkMode?: boolean;
12485
13118
  insertAsSibling?: boolean;
12486
13119
  usePrerenderedIfAvailable?: boolean;
12487
13120
  preRenderId?: string;
@@ -12549,6 +13182,7 @@ declare class TsEmbed {
12549
13182
  protected getV1EmbedBasePath(queryString: string): string;
12550
13183
  protected getEmbedParams(): string;
12551
13184
  protected getEmbedParamsObject(): Record<any, any>;
13185
+ protected getUrlQueryParamsObject(): Record<any, any>;
12552
13186
  protected getRootIframeSrc(): string;
12553
13187
  protected createIframeEl(frameSrc: string): HTMLIFrameElement;
12554
13188
  /**
@@ -12590,26 +13224,12 @@ declare class TsEmbed {
12590
13224
  */
12591
13225
  private createPreRenderPlaceholder;
12592
13226
  /**
12593
- * Resolves the configured preRenderContainer to a live element. A string
12594
- * selector is re-queried on every call so a remounted container (E.g.: React
12595
- * replacing the node) resolves to the fresh element; an element passed
12596
- * directly cannot be re-resolved.
12597
- *
12598
- * With nothing configured the frame goes into the host element's nearest
12599
- * scrolling ancestor, falling back to `document.body`.
12600
- *
12601
- * The wrapper is absolutely positioned, so it follows the page for free —
12602
- * but only while it sits inside whatever scrolls. `document.body` is right
12603
- * only when the document itself is the scroller; an app that scrolls an
12604
- * inner element instead left the frame pinned to the viewport while the page
12605
- * moved under it (SCAL-338563). Being inside the scroller also lets wheel
12606
- * events chain out of the frame into it, which they cannot do from
12607
- * `document.body`.
12608
- *
12609
- * A scrolling ancestor is layout chrome rather than route content, so it
12610
- * outlives the embed in practice; and if it does go, the host element goes
12611
- * with it and this instance is remounting anyway.
12612
- * `reconcilePreRenderContainer` re-runs this on a detached container.
13227
+ * Resolves the configured preRenderContainer, or defaults to the host's
13228
+ * nearest scrolling ancestor (document.body if none). The absolutely
13229
+ * positioned wrapper only follows the page while it sits inside what
13230
+ * scrolls, so body is right only when the document itself scrolls — an inner
13231
+ * scroller left the frame pinned to the viewport (SCAL-338563). A string
13232
+ * selector is re-queried each call so a remounted container resolves fresh.
12613
13233
  */
12614
13234
  private resolvePreRenderContainerTarget;
12615
13235
  private inheritPreRenderContainer;
@@ -12870,6 +13490,8 @@ declare class TsEmbed {
12870
13490
  */
12871
13491
  prerenderGeneric(): Promise<any>;
12872
13492
  protected preRenderParamsApplied: Promise<void>;
13493
+ protected isConfigExcludedFromUrl(): boolean;
13494
+ protected triggerUpdateEmbedParams(): Promise<void>;
12873
13495
  protected beforePrerenderVisible(): void;
12874
13496
  /**
12875
13497
  * Displays the pre-rendered component inside the host element.
@@ -12955,6 +13577,17 @@ declare class V1Embed extends TsEmbed {
12955
13577
  */
12956
13578
  test__executeCallbacks: (eventType: EmbedEvent, data: any, eventPort?: void | MessagePort) => void;
12957
13579
  }
13580
+ /**
13581
+ * The Spotter experience version to load in the embedded view.
13582
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.11.0.cl
13583
+ * @group Embed components
13584
+ */
13585
+ export declare enum SpotterExperienceVersion {
13586
+ /**
13587
+ * The Spotter experience version introduced in ThoughtSpot 26.11.
13588
+ */
13589
+ SPOTTER_2026_11 = "spotter_2026_11"
13590
+ }
12958
13591
  /**
12959
13592
  * Configuration for search options
12960
13593
  */
@@ -13095,6 +13728,19 @@ export interface SpotterSidebarViewConfig {
13095
13728
  * @default Analysts
13096
13729
  */
13097
13730
  spotterAnalystsLabel?: string;
13731
+ /**
13732
+ * Shows the connector marketplace option in the settings menu of the
13733
+ * Spotter sidebar footer. When not set, the cluster setting applies.
13734
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
13735
+ */
13736
+ enableConnectorMarketplace?: boolean;
13737
+ /**
13738
+ * Shows the Spotter instructions and more settings options in the
13739
+ * settings menu of the Spotter sidebar footer.
13740
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
13741
+ * @default false
13742
+ */
13743
+ enableSpotterInstructionAndMoreSettings?: boolean;
13098
13744
  }
13099
13745
  /**
13100
13746
  * Configuration for the Spotter conversation sharing feature.
@@ -13378,6 +14024,20 @@ export interface SpotterAnalystConfig {
13378
14024
  * @group Embed components
13379
14025
  */
13380
14026
  export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, "primaryAction"> {
14027
+ /**
14028
+ * The Spotter experience version to load. When set to
14029
+ * `SpotterExperienceVersion.SPOTTER_2026_11`, the embed loads the updated Spotter
14030
+ * surface instead of the default conversation surface.
14031
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.11.0.cl
14032
+ * @example
14033
+ * ```js
14034
+ * const embed = new SpotterEmbed('#tsEmbed', {
14035
+ * ... // other options
14036
+ * spotterExperienceVersion: SpotterExperienceVersion.SPOTTER_2026_11,
14037
+ * });
14038
+ * ```
14039
+ */
14040
+ spotterExperienceVersion?: SpotterExperienceVersion;
13381
14041
  /**
13382
14042
  * The ID of the data source object. For example, Model, View, or Table. Spotter uses
13383
14043
  * this object to query data and generate Answers.
@@ -13741,6 +14401,7 @@ export interface SpotterAppInitData extends DefaultAppInitData {
13741
14401
  visualOverridesParams?: VisualizationOverrides | null;
13742
14402
  starterPrompts?: StarterPromptsConfig;
13743
14403
  spotterAnalystConfig?: SpotterAnalystConfig;
14404
+ enableSpotterInstructionAndMoreSettings?: boolean;
13744
14405
  };
13745
14406
  }
13746
14407
  /**
@@ -13925,6 +14586,21 @@ export interface SpotterVizConfig {
13925
14586
  * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.7.0.cl
13926
14587
  */
13927
14588
  insightTileLoaderText?: string;
14589
+ /**
14590
+ * Set to `false` to hide the file upload feature in the SpotterViz chat
14591
+ * input on a cluster where the feature is available.
14592
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
14593
+ * @default true
14594
+ */
14595
+ fileUploadEnabled?: boolean;
14596
+ /**
14597
+ * Restricts the allowed file types for SpotterViz file upload to a
14598
+ * subset of the types SpotterViz supports, e.g. `['csv', 'pdf']`.
14599
+ * Entries are file extensions (with or without the leading dot); types
14600
+ * SpotterViz does not support are ignored, as are empty lists.
14601
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
14602
+ */
14603
+ fileUploadFileTypes?: string[];
13928
14604
  }
13929
14605
  /**
13930
14606
  * A single tip shown in the SpotterViz loading state.
@@ -14811,6 +15487,19 @@ export interface AppViewConfig extends AllEmbedViewConfig, FullHeightViewConfig
14811
15487
  * ```
14812
15488
  */
14813
15489
  hideAnswerEditPanel?: boolean;
15490
+ /**
15491
+ * The Spotter experience version to load for the Spotter surface shown within
15492
+ * this embed.
15493
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.11.0.cl
15494
+ * @example
15495
+ * ```js
15496
+ * const embed = new AppEmbed('#tsEmbed', {
15497
+ * ... // other options
15498
+ * spotterExperienceVersion: SpotterExperienceVersion.SPOTTER_2026_11,
15499
+ * });
15500
+ * ```
15501
+ */
15502
+ spotterExperienceVersion?: SpotterExperienceVersion;
14814
15503
  }
14815
15504
  /**
14816
15505
  * APP_INIT data shape for AppEmbed.
@@ -14822,6 +15511,7 @@ export interface AppEmbedAppInitData extends DefaultAppInitData {
14822
15511
  spotterVizConfig?: SpotterVizConfig;
14823
15512
  spotterShareConversationConfig?: SpotterShareConversationConfig;
14824
15513
  starterPrompts?: StarterPromptsConfig;
15514
+ enableSpotterInstructionAndMoreSettings?: boolean;
14825
15515
  };
14826
15516
  }
14827
15517
  /**
@@ -15176,6 +15866,56 @@ export declare const exportTML: (data: exportTMLInput) => Promise<any>;
15176
15866
  * @group Global methods
15177
15867
  */
15178
15868
  export declare const reloadIframe: (iFrame: HTMLIFrameElement) => void;
15869
+ /**
15870
+ * A filter to apply to a Liveboard when it loads.
15871
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
15872
+ * @group Embed components
15873
+ */
15874
+ export interface LiveboardFilterQuery {
15875
+ /** Name of the Liveboard tab the filter applies to. */
15876
+ tabName?: string;
15877
+ /** Name of the group within the tab that the filter applies to. */
15878
+ groupName?: string;
15879
+ /**
15880
+ * The filter condition, in search sentence form. For example, `color = red`.
15881
+ */
15882
+ filterQueryToken: string;
15883
+ }
15884
+ /**
15885
+ * A Parameter value to apply to a Liveboard when it loads.
15886
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
15887
+ * @group Embed components
15888
+ */
15889
+ export interface LiveboardParameterQuery {
15890
+ /** Name of the Liveboard tab the Parameter applies to. */
15891
+ tabName?: string;
15892
+ /** Name of the group within the tab that the Parameter applies to. */
15893
+ groupName?: string;
15894
+ /** The Parameter assignment. */
15895
+ parameterQueryToken: string;
15896
+ }
15897
+ /**
15898
+ * Filter and Parameter overrides for one data source on the Liveboard.
15899
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
15900
+ * @group Embed components
15901
+ */
15902
+ export interface LiveboardDataSourceOverride {
15903
+ /** The data source (Model) the overrides apply to. */
15904
+ dataSourceIdentifier?: string;
15905
+ /** Filters to apply for this data source. */
15906
+ filterQuery?: LiveboardFilterQuery[];
15907
+ /** Parameter values to apply for this data source. */
15908
+ parameterQuery?: LiveboardParameterQuery[];
15909
+ }
15910
+ /**
15911
+ * Filter and Parameter overrides applied to a Liveboard when it loads.
15912
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
15913
+ * @group Embed components
15914
+ */
15915
+ export interface LiveboardOverride {
15916
+ /** One entry per data source to override. */
15917
+ dataSourceOverride: LiveboardDataSourceOverride[];
15918
+ }
15179
15919
  /**
15180
15920
  * APP_INIT data shape for LiveboardEmbed.
15181
15921
  * @internal
@@ -15184,6 +15924,7 @@ export interface LiveboardEmbedAppInitData extends DefaultAppInitData {
15184
15924
  embedParams?: {
15185
15925
  spotterVizConfig?: SpotterVizConfig;
15186
15926
  starterPrompts?: StarterPromptsConfig;
15927
+ liveboardOverride?: LiveboardOverride;
15187
15928
  };
15188
15929
  }
15189
15930
  /**
@@ -15670,6 +16411,46 @@ export interface LiveboardViewConfig extends BaseViewConfig, FullHeightViewConfi
15670
16411
  * ```
15671
16412
  */
15672
16413
  updatedSpotterExperience?: boolean;
16414
+ /**
16415
+ * Filters and Parameters to apply to the Liveboard when it loads.
16416
+ *
16417
+ * In an embedded Liveboard, this is the only way to set these overrides.
16418
+ * The `filter` and `parameter` URL query params are ignored.
16419
+ * Clauses without a query token are dropped.
16420
+ *
16421
+ * Supported embed types: `LiveboardEmbed`
16422
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
16423
+ * @example
16424
+ * ```js
16425
+ * const embed = new LiveboardEmbed('#tsEmbed', {
16426
+ * ... // other embed view config
16427
+ * liveboardOverride: {
16428
+ * dataSourceOverride: [{
16429
+ * dataSourceIdentifier: '<model-guid>',
16430
+ * filterQuery: [{
16431
+ * tabName: 'Sales',
16432
+ * groupName: 'Region',
16433
+ * filterQueryToken: 'color = red',
16434
+ * }],
16435
+ * }],
16436
+ * },
16437
+ * })
16438
+ * ```
16439
+ */
16440
+ liveboardOverride?: LiveboardOverride;
16441
+ /**
16442
+ * The Spotter experience version to load for the Spotter surface shown within
16443
+ * this embed.
16444
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.11.0.cl
16445
+ * @example
16446
+ * ```js
16447
+ * const embed = new LiveboardEmbed('#tsEmbed', {
16448
+ * ... // other options
16449
+ * spotterExperienceVersion: SpotterExperienceVersion.SPOTTER_2026_11,
16450
+ * });
16451
+ * ```
16452
+ */
16453
+ spotterExperienceVersion?: SpotterExperienceVersion;
15673
16454
  }
15674
16455
  export declare class LiveboardEmbed extends V1Embed {
15675
16456
  protected viewConfig: LiveboardViewConfig;
@@ -15702,20 +16483,8 @@ export declare class LiveboardEmbed extends V1Embed {
15702
16483
  personalizedViewId: string;
15703
16484
  };
15704
16485
  protected beforePrerenderVisible(): void;
15705
- /**
15706
- * Whether `previous` was showing what this instance is about to show.
15707
- *
15708
- * Undefined-valued keys are dropped before comparing. `navigateToLiveboard`
15709
- * assigns `vizId`, `activeTabId` and `personalizedViewId` unconditionally,
15710
- * so an instance that has been shown once carries those keys as `undefined`
15711
- * while a freshly constructed one does not have them at all. `isEqual`
15712
- * counts own keys, so without this the comparison can never be true after
15713
- * the first show — which is the whole case this exists for.
15714
- *
15715
- * Callbacks compare as equal: React passes a fresh closure per render.
15716
- */
15717
16486
  private isSameEmbedConfig;
15718
- private isShowingLiveboardRoute;
16487
+ private isAlreadyOnSameRoute;
15719
16488
  protected handleRenderForPrerender(): Promise<TsEmbed>;
15720
16489
  /**
15721
16490
  * Triggers an event to the embedded app
@@ -16418,6 +17187,7 @@ declare const getEmbedConfig: () => EmbedConfig;
16418
17187
  export declare const MIXPANEL_EVENT: {
16419
17188
  VISUAL_SDK_RENDER_START: string;
16420
17189
  VISUAL_SDK_CALLED_INIT: string;
17190
+ VISUAL_SDK_INIT_ACTIONS: string;
16421
17191
  VISUAL_SDK_RENDER_COMPLETE: string;
16422
17192
  VISUAL_SDK_RENDER_FAILED: string;
16423
17193
  VISUAL_SDK_TRIGGER: string;