@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
@@ -123,6 +123,33 @@ export interface CustomCssVariables {
123
123
  * Background color of the search suggestion block on hover.
124
124
  */
125
125
  "--ts-var-search-bar-auto-complete-hover-background"?: string;
126
+ /**
127
+ * Background color of the submit (*Go*) button in the search box.
128
+ */
129
+ "--ts-var-search-submit-button-background"?: string;
130
+ /**
131
+ * Color of the label and icon on the submit (*Go*) button in the search box.
132
+ */
133
+ "--ts-var-search-submit-button-color"?: string;
134
+ /**
135
+ * Background color of the submit (*Go*) button in the search box on hover.
136
+ * Defaults to the background color set for the non-hover state.
137
+ */
138
+ "--ts-var-search-submit-button--hover-background"?: string;
139
+ /**
140
+ * Border radius of the submit (*Go*) button in the search box. Default: `40px`.
141
+ */
142
+ "--ts-var-search-submit-button-border-radius"?: string;
143
+ /**
144
+ * Border width of the submit (*Go*) button in the search box. Default: `0`.
145
+ * The button has a fixed size, so a border reduces its inner area.
146
+ */
147
+ "--ts-var-search-submit-button-border-width"?: string;
148
+ /**
149
+ * Border color of the submit (*Go*) button in the search box.
150
+ * Visible only when `--ts-var-search-submit-button-border-width` is set.
151
+ */
152
+ "--ts-var-search-submit-button-border-color"?: string;
126
153
  /**
127
154
  * Font color of the text in the search suggestion panel.
128
155
  */
@@ -226,6 +253,194 @@ export interface CustomCssVariables {
226
253
  * Backgroud color of the tertiary buttons when active.
227
254
  */
228
255
  "--ts-var-button--tertiary--active-background"?: string;
256
+ /**
257
+ * Font family specification for the text on the tertiary buttons.
258
+ * Defaults to the inherited font.
259
+ */
260
+ "--ts-var-button--tertiary--font-family"?: string;
261
+ /**
262
+ * Padding of buttons with text, for example, `6px 16px`. Applies to all button
263
+ * sizes and variants.
264
+ */
265
+ "--ts-var-button-padding"?: string;
266
+ /**
267
+ * Minimum width of buttons with text. Applies to all button sizes and variants.
268
+ */
269
+ "--ts-var-button-min-width"?: string;
270
+ /**
271
+ * Space between the icon and the label in a button. Default: `8px`.
272
+ */
273
+ "--ts-var-button-gap"?: string;
274
+ /**
275
+ * Height of buttons. Icon-only buttons remain square when this is set.
276
+ */
277
+ "--ts-var-button-height"?: string;
278
+ /**
279
+ * Font size of the button label. The line height scales proportionally.
280
+ */
281
+ "--ts-var-button-font-size"?: string;
282
+ /**
283
+ * Font weight of the button label. Default: `400`.
284
+ */
285
+ "--ts-var-button-font-weight"?: string;
286
+ /**
287
+ * Border width of buttons. Default: `0`. To show a border on a button variant,
288
+ * also set its border color, for example, `--ts-var-button--primary-border-color`.
289
+ */
290
+ "--ts-var-button-border-width"?: string;
291
+ /**
292
+ * Padding of the primary buttons with text.
293
+ * Overrides `--ts-var-button-padding` for primary buttons.
294
+ */
295
+ "--ts-var-button--primary-padding"?: string;
296
+ /**
297
+ * Minimum width of the primary buttons with text.
298
+ * Overrides `--ts-var-button-min-width` for primary buttons.
299
+ */
300
+ "--ts-var-button--primary-min-width"?: string;
301
+ /**
302
+ * Space between the icon and the label in the primary buttons.
303
+ * Overrides `--ts-var-button-gap` for primary buttons.
304
+ */
305
+ "--ts-var-button--primary-gap"?: string;
306
+ /**
307
+ * Font weight of the text on the primary buttons.
308
+ * Overrides `--ts-var-button-font-weight` for primary buttons.
309
+ */
310
+ "--ts-var-button--primary-font-weight"?: string;
311
+ /**
312
+ * Border color of the primary buttons.
313
+ * Visible only when `--ts-var-button-border-width` is set.
314
+ */
315
+ "--ts-var-button--primary-border-color"?: string;
316
+ /**
317
+ * Padding of the secondary buttons with text.
318
+ * Overrides `--ts-var-button-padding` for secondary buttons.
319
+ */
320
+ "--ts-var-button--secondary-padding"?: string;
321
+ /**
322
+ * Minimum width of the secondary buttons with text.
323
+ * Overrides `--ts-var-button-min-width` for secondary buttons.
324
+ */
325
+ "--ts-var-button--secondary-min-width"?: string;
326
+ /**
327
+ * Space between the icon and the label in the secondary buttons.
328
+ * Overrides `--ts-var-button-gap` for secondary buttons.
329
+ */
330
+ "--ts-var-button--secondary-gap"?: string;
331
+ /**
332
+ * Font weight of the text on the secondary buttons.
333
+ * Overrides `--ts-var-button-font-weight` for secondary buttons.
334
+ */
335
+ "--ts-var-button--secondary-font-weight"?: string;
336
+ /**
337
+ * Border color of the secondary buttons.
338
+ * Visible only when `--ts-var-button-border-width` is set.
339
+ */
340
+ "--ts-var-button--secondary-border-color"?: string;
341
+ /**
342
+ * Padding of the tertiary buttons with text.
343
+ * Overrides `--ts-var-button-padding` for tertiary buttons.
344
+ */
345
+ "--ts-var-button--tertiary-padding"?: string;
346
+ /**
347
+ * Minimum width of the tertiary buttons with text.
348
+ * Overrides `--ts-var-button-min-width` for tertiary buttons.
349
+ */
350
+ "--ts-var-button--tertiary-min-width"?: string;
351
+ /**
352
+ * Space between the icon and the label in the tertiary buttons.
353
+ * Overrides `--ts-var-button-gap` for tertiary buttons.
354
+ */
355
+ "--ts-var-button--tertiary-gap"?: string;
356
+ /**
357
+ * Font weight of the text on the tertiary buttons.
358
+ * Overrides `--ts-var-button-font-weight` for tertiary buttons.
359
+ */
360
+ "--ts-var-button--tertiary-font-weight"?: string;
361
+ /**
362
+ * Border color of the tertiary buttons.
363
+ * Visible only when `--ts-var-button-border-width` is set.
364
+ */
365
+ "--ts-var-button--tertiary-border-color"?: string;
366
+ /**
367
+ * Font color of the tab labels.
368
+ */
369
+ "--ts-var-tab-color"?: string;
370
+ /**
371
+ * Background color of the tabs.
372
+ */
373
+ "--ts-var-tab-background"?: string;
374
+ /**
375
+ * Font family specification for the tab labels.
376
+ */
377
+ "--ts-var-tab-font-family"?: string;
378
+ /**
379
+ * Font size of the tab labels.
380
+ */
381
+ "--ts-var-tab-font-size"?: string;
382
+ /**
383
+ * Font weight of the tab labels.
384
+ */
385
+ "--ts-var-tab-font-weight"?: string;
386
+ /**
387
+ * Padding of the tab items.
388
+ */
389
+ "--ts-var-tab-padding"?: string;
390
+ /**
391
+ * Height of the tab items.
392
+ */
393
+ "--ts-var-tab-height"?: string;
394
+ /**
395
+ * Border radius of the tab items.
396
+ */
397
+ "--ts-var-tab-border-radius"?: string;
398
+ /**
399
+ * Font color of the tab labels on hover.
400
+ */
401
+ "--ts-var-tab--hover-color"?: string;
402
+ /**
403
+ * Background color of the tab items on hover.
404
+ */
405
+ "--ts-var-tab--hover-background"?: string;
406
+ /**
407
+ * Font color of the selected tab label.
408
+ */
409
+ "--ts-var-tab--selected-color"?: string;
410
+ /**
411
+ * Background color of the selected tab item.
412
+ */
413
+ "--ts-var-tab--selected-background"?: string;
414
+ /**
415
+ * Font weight of the selected tab label.
416
+ */
417
+ "--ts-var-tab--selected-font-weight"?: string;
418
+ /**
419
+ * Color of the underline indicator on the selected tab, in the horizontal tab layout.
420
+ */
421
+ "--ts-var-tab--selected-indicator-color"?: string;
422
+ /**
423
+ * Thickness of the underline indicator on the selected tab, in the horizontal tab
424
+ * layout.
425
+ */
426
+ "--ts-var-tab--selected-indicator-height"?: string;
427
+ /**
428
+ * Border color of the divider below the horizontal tab strip.
429
+ */
430
+ "--ts-var-tab-list-border-color"?: string;
431
+ /**
432
+ * Color of the side rail indicator on the selected tab, in the vertical tab layout.
433
+ */
434
+ "--ts-var-tab--vertical--selected-indicator-color"?: string;
435
+ /**
436
+ * Thickness of the side rail indicator on the selected tab, in the vertical tab
437
+ * layout.
438
+ */
439
+ "--ts-var-tab--vertical--selected-indicator-width"?: string;
440
+ /**
441
+ * Border color of the divider beside the vertical tab strip.
442
+ */
443
+ "--ts-var-tab--vertical-list-border-color"?: string;
229
444
  /**
230
445
  * Font color of the title text of a visualization or Answer.
231
446
  */
@@ -313,6 +528,104 @@ export interface CustomCssVariables {
313
528
  * Font family specification for the text on filter chips.
314
529
  */
315
530
  "--ts-var-chip-title-font-family"?: string;
531
+ /**
532
+ * Background color of attribute chips, such as attribute tokens in the search bar
533
+ * and attribute columns in the data panel.
534
+ * In chip components, `--ts-var-chip-background` takes precedence when set.
535
+ */
536
+ "--ts-var-chip--attribute-background"?: string;
537
+ /**
538
+ * Background color of attribute chips on hover.
539
+ */
540
+ "--ts-var-chip--attribute--hover-background"?: string;
541
+ /**
542
+ * Border color of attribute chips.
543
+ * Defaults to `--ts-var-chip--attribute-background`.
544
+ */
545
+ "--ts-var-chip--attribute-border-color"?: string;
546
+ /**
547
+ * Border color of attribute chips on hover.
548
+ * Defaults to `--ts-var-chip--attribute--hover-background`.
549
+ */
550
+ "--ts-var-chip--attribute--hover-border-color"?: string;
551
+ /**
552
+ * Background color of measure chips, such as measure tokens in the search bar
553
+ * and measure columns in the data panel.
554
+ * In chip components, `--ts-var-chip-background` takes precedence when set.
555
+ */
556
+ "--ts-var-chip--measure-background"?: string;
557
+ /**
558
+ * Background color of measure chips on hover.
559
+ */
560
+ "--ts-var-chip--measure--hover-background"?: string;
561
+ /**
562
+ * Border color of measure chips.
563
+ * Defaults to `--ts-var-chip--measure-background`.
564
+ */
565
+ "--ts-var-chip--measure-border-color"?: string;
566
+ /**
567
+ * Border color of measure chips on hover.
568
+ * Defaults to `--ts-var-chip--measure--hover-background`.
569
+ */
570
+ "--ts-var-chip--measure--hover-border-color"?: string;
571
+ /**
572
+ * Background color of date chips, such as date tokens in the search bar
573
+ * and date columns in the data panel.
574
+ * In chip components, `--ts-var-chip-background` takes precedence when set.
575
+ */
576
+ "--ts-var-chip--date-background"?: string;
577
+ /**
578
+ * Background color of date chips on hover.
579
+ */
580
+ "--ts-var-chip--date--hover-background"?: string;
581
+ /**
582
+ * Border color of date chips.
583
+ * Defaults to `--ts-var-chip--date-background`.
584
+ */
585
+ "--ts-var-chip--date-border-color"?: string;
586
+ /**
587
+ * Border color of date chips on hover.
588
+ * Defaults to `--ts-var-chip--date--hover-background`.
589
+ */
590
+ "--ts-var-chip--date--hover-border-color"?: string;
591
+ /**
592
+ * Background color of filter chips, such as filter tokens in the search bar.
593
+ * Also applies to neutral column chips, such as formula and set columns.
594
+ * In chip components, `--ts-var-chip-background` takes precedence when set.
595
+ */
596
+ "--ts-var-chip--filter-background"?: string;
597
+ /**
598
+ * Background color of filter chips on hover.
599
+ */
600
+ "--ts-var-chip--filter--hover-background"?: string;
601
+ /**
602
+ * Border color of filter chips.
603
+ * Defaults to `--ts-var-chip--filter-background`.
604
+ */
605
+ "--ts-var-chip--filter-border-color"?: string;
606
+ /**
607
+ * Border color of filter chips on hover.
608
+ * Defaults to `--ts-var-chip--filter--hover-background`.
609
+ */
610
+ "--ts-var-chip--filter--hover-border-color"?: string;
611
+ /**
612
+ * Background color of unrecognized tokens in the search bar.
613
+ */
614
+ "--ts-var-chip--unrecognized-background"?: string;
615
+ /**
616
+ * Background color of unrecognized tokens in the search bar on hover.
617
+ */
618
+ "--ts-var-chip--unrecognized--hover-background"?: string;
619
+ /**
620
+ * Border color of unrecognized tokens in the search bar.
621
+ * Defaults to `--ts-var-chip--unrecognized-background`.
622
+ */
623
+ "--ts-var-chip--unrecognized-border-color"?: string;
624
+ /**
625
+ * Border color of unrecognized tokens in the search bar on hover.
626
+ * Defaults to `--ts-var-chip--unrecognized--hover-background`.
627
+ */
628
+ "--ts-var-chip--unrecognized--hover-border-color"?: string;
316
629
  /**
317
630
  * Font color of axis title on charts.
318
631
  */
@@ -664,6 +977,54 @@ export interface CustomCssVariables {
664
977
  * Font color of the hover tab in the Liveboard.
665
978
  */
666
979
  "--ts-var-liveboard-tab-hover-color"?: string;
980
+ /**
981
+ * Font color of the tab labels in the Liveboard.
982
+ */
983
+ "--ts-var-liveboard-tab-color"?: string;
984
+ /**
985
+ * Background color of the tab items in the Liveboard.
986
+ */
987
+ "--ts-var-liveboard-tab-background"?: string;
988
+ /**
989
+ * Font family specification for the tab labels in the Liveboard.
990
+ */
991
+ "--ts-var-liveboard-tab-font-family"?: string;
992
+ /**
993
+ * Font size of the tab labels in the Liveboard.
994
+ */
995
+ "--ts-var-liveboard-tab-font-size"?: string;
996
+ /**
997
+ * Font weight of the tab labels in the Liveboard.
998
+ */
999
+ "--ts-var-liveboard-tab-font-weight"?: string;
1000
+ /**
1001
+ * Border radius of the tab items in the Liveboard.
1002
+ */
1003
+ "--ts-var-liveboard-tab-border-radius"?: string;
1004
+ /**
1005
+ * Background color of the tab items in the Liveboard on hover.
1006
+ */
1007
+ "--ts-var-liveboard-tab-hover-background"?: string;
1008
+ /**
1009
+ * Font color of the selected tab label in the Liveboard.
1010
+ */
1011
+ "--ts-var-liveboard-tab-selected-color"?: string;
1012
+ /**
1013
+ * Background color of the selected tab item in the Liveboard.
1014
+ */
1015
+ "--ts-var-liveboard-tab-selected-background"?: string;
1016
+ /**
1017
+ * Font weight of the selected tab label in the Liveboard.
1018
+ */
1019
+ "--ts-var-liveboard-tab-selected-font-weight"?: string;
1020
+ /**
1021
+ * Thickness of the underline indicator on the selected tab in the Liveboard.
1022
+ */
1023
+ "--ts-var-liveboard-tab-selected-indicator-height"?: string;
1024
+ /**
1025
+ * Border color of the divider above the tab strip in the Liveboard.
1026
+ */
1027
+ "--ts-var-liveboard-tab-list-border-color"?: string;
667
1028
  /**
668
1029
  * Font size of the title of the tiles in the Liveboard.
669
1030
  */
@@ -1029,7 +1390,8 @@ export interface CustomCssVariables {
1029
1390
  "--ts-var-spotterviz-footer-text-color"?: string;
1030
1391
  /**
1031
1392
  * Shared border color used throughout SpotterViz: input box, user message,
1032
- * header underline, left panel border, thinking step connector and dots.
1393
+ * header underline, left panel border, thinking step connector and dots,
1394
+ * and the attached-file upload card.
1033
1395
  */
1034
1396
  "--ts-var-spotterviz-border-color"?: string;
1035
1397
  /**
@@ -1043,16 +1405,22 @@ export interface CustomCssVariables {
1043
1405
  "--ts-var-spotterviz-reference-icon-hover-background"?: string;
1044
1406
  /**
1045
1407
  * Icon color for the reference-mode selected state — applies to
1046
- * both the toggle button when active and the icon badge on each
1047
- * referenced-entity chip in the chat input.
1408
+ * the toggle button when active and the icon badge on each
1409
+ * referenced-entity chip and the attached-file chip in the chat input.
1048
1410
  */
1049
1411
  "--ts-var-spotterviz-reference-icon-selected-color"?: string;
1050
1412
  /**
1051
1413
  * Background color for the reference-mode selected state — applies to
1052
- * both the reference mode toggle button when active and the icon badge
1053
- * on each referenced-entity chip in the chat input.
1414
+ * the reference mode toggle button when active and the icon badge on
1415
+ * each referenced-entity chip and the attached-file chip in the chat
1416
+ * input.
1054
1417
  */
1055
1418
  "--ts-var-spotterviz-reference-icon-selected-background"?: string;
1419
+ /**
1420
+ * Background color of the file-type thumbnail on the attached-file card
1421
+ * in the SpotterViz chat input.
1422
+ */
1423
+ "--ts-var-spotterviz-upload-card-thumbnail-background"?: string;
1056
1424
  /**
1057
1425
  * Background color of the shared conversation header (recipient's read-only view).
1058
1426
  */
@@ -1113,6 +1481,21 @@ export interface UnderlyingDataPoint {
1113
1481
  columnId: string;
1114
1482
  dataValue: any;
1115
1483
  }
1484
+ /**
1485
+ * Describes how to sort a column when fetching data. Pass an array of these to
1486
+ * sort by multiple columns, in priority order.
1487
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.12.0.cl
1488
+ */
1489
+ export interface SortOptions {
1490
+ /**
1491
+ * Name of the column to sort by. The column must exist in the data source.
1492
+ */
1493
+ columnName: string;
1494
+ /**
1495
+ * Sort direction. `true` sorts ascending, `false` sorts descending.
1496
+ */
1497
+ ascending: boolean;
1498
+ }
1116
1499
  declare class AnswerService {
1117
1500
  private session;
1118
1501
  private thoughtSpotHost;
@@ -1169,6 +1552,12 @@ declare class AnswerService {
1169
1552
  * @returns
1170
1553
  */
1171
1554
  addFilter(columnName: string, operator: RuntimeFilterOp, values: RuntimeFilter["values"]): Promise<any>;
1555
+ /**
1556
+ * Adapt the sort options into the `updateSort` payload and send it.
1557
+ * @param sortOptions Columns to sort by, each with a direction.
1558
+ * @param sourceDetail
1559
+ */
1560
+ private adaptSorting;
1172
1561
  updateDisplayMode(displayMode?: string): Promise<any>;
1173
1562
  getSQLQuery(fetchSQLWithAllColumns?: boolean): Promise<string>;
1174
1563
  /**
@@ -1221,18 +1610,21 @@ declare class AnswerService {
1221
1610
  * automatically passed.
1222
1611
  * @param outputColumnNames
1223
1612
  * @param selectedPoints
1613
+ * @param sortOptions Optional columns to sort the underlying data by.
1224
1614
  * @example
1225
1615
  * ```js
1226
1616
  * embed.on(EmbedEvent.CustomAction, e => {
1227
- * const underlying = await e.answerService.getUnderlyingDataForPoint([
1228
- * 'col name 1' // The column should exist in the data source.
1229
- * ]);
1617
+ * const underlying = await e.answerService.getUnderlyingDataForPoint(
1618
+ * ['col name 1'], // The column should exist in the data source.
1619
+ * undefined,
1620
+ * [{ columnName: 'col name 1', ascending: true }],
1621
+ * );
1230
1622
  * const data = await underlying.fetchData(0, 100);
1231
1623
  * })
1232
1624
  * ```
1233
1625
  * @version SDK: 1.25.0 | ThoughtSpot: 9.10.0.cl
1234
1626
  */
1235
- getUnderlyingDataForPoint(outputColumnNames: string[], selectedPoints?: UnderlyingDataPoint[]): Promise<AnswerService>;
1627
+ getUnderlyingDataForPoint(outputColumnNames: string[], selectedPoints?: UnderlyingDataPoint[], sortOptions?: SortOptions[]): Promise<AnswerService>;
1236
1628
  /**
1237
1629
  * Execute a custom graphql query in the context of the answer.
1238
1630
  * @param query graphql query
@@ -2038,6 +2430,27 @@ export interface EmbedConfig {
2038
2430
  * @default true
2039
2431
  */
2040
2432
  blockNonEmbedFullAppAccess?: boolean;
2433
+ /**
2434
+ * Render the embedded application in dark appearance when `true`, and in
2435
+ * its default appearance when `false` or unset.
2436
+ *
2437
+ * The host application owns the appearance of an embed, so this overrides
2438
+ * the appearance preference of the signed-in user and the color scheme of
2439
+ * their operating system. If your application has light and dark themes,
2440
+ * pass `true` while it shows the dark theme and `false` while it shows
2441
+ * the light theme.
2442
+ * @version SDK: 1.55.0 | ThoughtSpot Cloud: 26.12.0.cl
2443
+ * @example
2444
+ * ```js
2445
+ * // Your application's current theme, 'light' or 'dark'
2446
+ * const appTheme = 'dark';
2447
+ * init({
2448
+ * ...embedConfig,
2449
+ * isDarkMode: appTheme === 'dark',
2450
+ * });
2451
+ * ```
2452
+ */
2453
+ isDarkMode?: boolean;
2041
2454
  /**
2042
2455
  * Host config in case embedded app is inside TS app itself
2043
2456
  * @hidden
@@ -2610,6 +3023,31 @@ export interface BaseViewConfig extends ApiInterceptFlags {
2610
3023
  * @default ''
2611
3024
  */
2612
3025
  customizations?: CustomisationsInterface;
3026
+ /**
3027
+ * Render this embed in dark appearance when `true`, and in its default
3028
+ * appearance when `false`, overriding the `isDarkMode` value passed to
3029
+ * `init`.
3030
+ *
3031
+ * The host application owns the appearance of an embed, so this overrides
3032
+ * the appearance preference of the signed-in user and the color scheme of
3033
+ * their operating system. If your application has light and dark themes,
3034
+ * pass `true` while it shows the dark theme and `false` while it shows
3035
+ * the light theme. Leave it unset to inherit the `init` value.
3036
+ *
3037
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`, `SearchEmbed`, `SpotterAgentEmbed`, `SpotterEmbed`, `SearchBarEmbed`
3038
+ * @version SDK: 1.55.0 | ThoughtSpot Cloud: 26.12.0.cl
3039
+ * @example
3040
+ * ```js
3041
+ * // Your application's current theme, 'light' or 'dark'
3042
+ * const appTheme = 'dark';
3043
+ * // Replace AppEmbed with a specific embed component like SearchEmbed or LiveboardEmbed
3044
+ * const embed = new AppEmbed('#tsEmbed', {
3045
+ * ... // other embed view config
3046
+ * isDarkMode: appTheme === 'dark',
3047
+ * });
3048
+ * ```
3049
+ */
3050
+ isDarkMode?: boolean;
2613
3051
  /**
2614
3052
  * Insert as a sibling of the target container, instead of appending to a
2615
3053
  * child inside it.
@@ -4731,6 +5169,36 @@ export declare enum EmbedEvent {
4731
5169
  * ```
4732
5170
  */
4733
5171
  Edit = "edit",
5172
+ /**
5173
+ * Emitted when a user clicks **Edit** on a Liveboard.
5174
+ *
5175
+ * Fired alongside {@link EmbedEvent.Edit} for backward compatibility;
5176
+ * listen to this instead of `Edit` to target the Liveboard surface only.
5177
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
5178
+ * @example
5179
+ * ```js
5180
+ * liveboardEmbed.on(EmbedEvent.EditLiveboard, payload => {
5181
+ * console.log('Liveboard edit', payload);
5182
+ * })
5183
+ * ```
5184
+ */
5185
+ EditLiveboard = "editLiveboard",
5186
+ /**
5187
+ * Emitted when a user clicks **Edit** on a visualization inside a
5188
+ * Liveboard.
5189
+ *
5190
+ * Fired alongside {@link EmbedEvent.Edit} for backward compatibility;
5191
+ * listen to this instead of `Edit` to target the visualization surface
5192
+ * only.
5193
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
5194
+ * @example
5195
+ * ```js
5196
+ * liveboardEmbed.on(EmbedEvent.EditVisualization, payload => {
5197
+ * console.log('visualization edit', payload);
5198
+ * })
5199
+ * ```
5200
+ */
5201
+ EditVisualization = "editVisualization",
4734
5202
  /**
4735
5203
  * Emitted when a user clicks *Make a copy* on a Liveboard
4736
5204
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
@@ -6701,6 +7169,46 @@ export declare enum HostEvent {
6701
7169
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
6702
7170
  */
6703
7171
  Edit = "edit",
7172
+ /**
7173
+ * Trigger the **Edit** action on a Liveboard only — does not affect a
7174
+ * visualization's edit surface.
7175
+ *
7176
+ * Behaves like {@link HostEvent.Edit} restricted to the Liveboard
7177
+ * surface. Use {@link HostEvent.EditVisualization} to target a
7178
+ * visualization instead, or `HostEvent.Edit` to control whichever
7179
+ * surface applies contextually (unchanged, existing behavior).
7180
+ * @example
7181
+ * ```js
7182
+ * liveboardEmbed.trigger(HostEvent.EditLiveboard)
7183
+ * ```
7184
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
7185
+ */
7186
+ EditLiveboard = "editLiveboard",
7187
+ /**
7188
+ * Trigger the **Edit** action on a specific visualization inside a
7189
+ * Liveboard only — does not affect the Liveboard-level edit surface.
7190
+ * @param - Object parameter. Includes the following keys:
7191
+ * - `vizId`: **Required.** The visualization to edit.
7192
+ *
7193
+ * @example
7194
+ * ```js
7195
+ * liveboardEmbed.trigger(HostEvent.EditVisualization, {vizId:
7196
+ * '730496d6-6903-4601-937e-2c691821af3c'})
7197
+ * ```
7198
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
7199
+ */
7200
+ EditVisualization = "editVisualization",
7201
+ /**
7202
+ * Exits Liveboard edit mode , equivalent to clicking the
7203
+ * *Cancel* button in the Liveboard edit header. The Liveboard returns to
7204
+ * view mode and the embedded app emits the {@link EmbedEvent.Cancel} event.
7205
+ * @version SDK: 1.55.0 | ThoughtSpot Cloud: 26.12.0.cl
7206
+ * @example
7207
+ * ```js
7208
+ * liveboardEmbed.trigger(HostEvent.ExitEditMode);
7209
+ * ```
7210
+ */
7211
+ ExitEditMode = "exitEditMode",
6704
7212
  /**
6705
7213
  * Trigger the **Copy link** action on a Liveboard or visualization
6706
7214
  * Payload: {@link VizScopedRequest}.
@@ -8234,7 +8742,40 @@ export declare enum HostEvent {
8234
8742
  * ```
8235
8743
  * @version SDK: 1.49.0 | ThoughtSpot Cloud: 26.6.0.cl
8236
8744
  */
8237
- RefreshLiveboardBrowserCache = "refreshLiveboardBrowserCache"
8745
+ RefreshLiveboardBrowserCache = "refreshLiveboardBrowserCache",
8746
+ /**
8747
+ * Switch the embed between dark appearance and its default appearance
8748
+ * while it is open, without reloading it.
8749
+ * Payload: {@link UpdateThemeRequest}.
8750
+ *
8751
+ * Use it to keep the embed in step with a theme switch in your
8752
+ * application; the appearance the embed loads with is set by `isDarkMode`.
8753
+ * The event resolves with the applied value, such as `{ isDarkMode: true }`.
8754
+ * When dark appearance is not available in the embed, the embed does not
8755
+ * change and the event rejects with an error message instead.
8756
+ * @version SDK: 1.55.0 | ThoughtSpot Cloud: 26.12.0.cl
8757
+ * @param - `isDarkMode` - `true` for dark appearance, `false` for the
8758
+ * default appearance.
8759
+ * @example
8760
+ * ```js
8761
+ * appEmbed.trigger(HostEvent.UpdateTheme, { isDarkMode: true });
8762
+ * ```
8763
+ * @example
8764
+ * ```js
8765
+ * // Follow a theme switch in your application
8766
+ * const themeSwitch = document.querySelector('#theme-switch');
8767
+ * themeSwitch.addEventListener('change', async (event) => {
8768
+ * try {
8769
+ * await appEmbed.trigger(HostEvent.UpdateTheme, {
8770
+ * isDarkMode: event.target.checked,
8771
+ * });
8772
+ * } catch (error) {
8773
+ * console.warn(error);
8774
+ * }
8775
+ * });
8776
+ * ```
8777
+ */
8778
+ UpdateTheme = "UpdateTheme"
8238
8779
  }
8239
8780
  /**
8240
8781
  * The different visual modes that the data sources panel within
@@ -8713,12 +9254,43 @@ export declare enum Action {
8713
9254
  * The *Edit* action on the Liveboard page and in the
8714
9255
  * visualization menu.
8715
9256
  * Opens a Liveboard or visualization in edit mode.
9257
+ *
9258
+ * Controls both surfaces together. To target one surface only, use
9259
+ * {@link Action.EditLiveboard} or {@link Action.EditVisualization}.
8716
9260
  * @example
8717
9261
  * ```js
8718
9262
  * disabledActions: [Action.Edit]
8719
9263
  * ```
8720
9264
  */
8721
9265
  Edit = "edit",
9266
+ /**
9267
+ * The *Edit* action on the Liveboard page only.
9268
+ * Opens a Liveboard in edit mode.
9269
+ *
9270
+ * Does not affect the *Edit* action in the visualization menu; use
9271
+ * {@link Action.EditVisualization} for that, or {@link Action.Edit} to
9272
+ * control both surfaces together.
9273
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
9274
+ * @example
9275
+ * ```js
9276
+ * disabledActions: [Action.EditLiveboard]
9277
+ * ```
9278
+ */
9279
+ EditLiveboard = "editLiveboard",
9280
+ /**
9281
+ * The *Edit* action in the visualization `...` menu only.
9282
+ * Opens a visualization in the editor.
9283
+ *
9284
+ * Does not affect the *Edit* action on the Liveboard page; use
9285
+ * {@link Action.EditLiveboard} for that, or {@link Action.Edit} to
9286
+ * control both surfaces together.
9287
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
9288
+ * @example
9289
+ * ```js
9290
+ * disabledActions: [Action.EditVisualization]
9291
+ * ```
9292
+ */
9293
+ EditVisualization = "editVisualization",
8722
9294
  /**
8723
9295
  * The text edit option for Liveboard and visualization titles.
8724
9296
  * @example
@@ -10491,7 +11063,30 @@ export declare enum Action {
10491
11063
  * }
10492
11064
  * ```
10493
11065
  */
10494
- CustomizeHomepage = "customizeHomepage"
11066
+ CustomizeHomepage = "customizeHomepage",
11067
+ /**
11068
+ * Controls the visibility and disabled state of the *Cancel* button in the
11069
+ * Liveboard edit header, the button that discards the changes made in edit
11070
+ * mode and returns the Liveboard to view mode. The button is shown only
11071
+ * while the Liveboard is in edit mode.
11072
+ * @version SDK: 1.55.0 | ThoughtSpot Cloud: 26.12.0.cl
11073
+ * @example
11074
+ * ```js
11075
+ * const liveboardEmbed = new LiveboardEmbed('#tsEmbed', {
11076
+ * ... // other embed view config
11077
+ * hiddenActions: [Action.Cancel],
11078
+ * });
11079
+ * ```
11080
+ * @example
11081
+ * ```js
11082
+ * const liveboardEmbed = new LiveboardEmbed('#tsEmbed', {
11083
+ * ... // other embed view config
11084
+ * disabledActions: [Action.Cancel],
11085
+ * disabledActionReason: 'Save your changes to leave edit mode',
11086
+ * });
11087
+ * ```
11088
+ */
11089
+ Cancel = "cancel"
10495
11090
  }
10496
11091
  export declare enum PrefetchFeatures {
10497
11092
  FullApp = "FullApp",
@@ -12014,6 +12609,15 @@ export interface SetActiveTabRequest {
12014
12609
  */
12015
12610
  tabId: string;
12016
12611
  }
12612
+ /**
12613
+ * Request payload for {@link HostEvent.UpdateTheme}.
12614
+ */
12615
+ export interface UpdateThemeRequest {
12616
+ /**
12617
+ * `true` for dark appearance, `false` for the default appearance.
12618
+ */
12619
+ isDarkMode: boolean;
12620
+ }
12017
12621
  /**
12018
12622
  * Typed request payloads for host events that do not go through the UI
12019
12623
  * passthrough pipeline (`HostEvent` member → request type; `void` = no payload).
@@ -12104,6 +12708,7 @@ export interface HostEventRequestMap {
12104
12708
  [HostEvent.InitSpotterVizConversation]: void;
12105
12709
  [HostEvent.OpenSpotterVizPanel]: void;
12106
12710
  [HostEvent.CloseSpotterVizPanel]: void;
12711
+ [HostEvent.UpdateTheme]: UpdateThemeRequest;
12107
12712
  }
12108
12713
  /**
12109
12714
  * Per-context request shapes for events whose payload varies by
@@ -12246,6 +12851,7 @@ declare class TsEmbed {
12246
12851
  protected embedNodeKey: string;
12247
12852
  protected embedContainerLoadedKey: string;
12248
12853
  protected isAppInitialized: boolean;
12854
+ private initDataParams;
12249
12855
  /**
12250
12856
  * A reference to the iframe within which the ThoughtSpot app
12251
12857
  * will be rendered.
@@ -12371,6 +12977,7 @@ declare class TsEmbed {
12371
12977
  protected getAuthTokenForCookielessInit(): Promise<string>;
12372
12978
  protected getDefaultAppInitData(): Promise<DefaultAppInitData>;
12373
12979
  protected getAppInitData(): Promise<DefaultAppInitData>;
12980
+ private withInitDataParams;
12374
12981
  /**
12375
12982
  * Send Custom style as part of payload of APP_INIT
12376
12983
  * @param _
@@ -12443,6 +13050,7 @@ declare class TsEmbed {
12443
13050
  [key: string]: string | number | boolean;
12444
13051
  };
12445
13052
  customizations?: CustomisationsInterface;
13053
+ isDarkMode?: boolean;
12446
13054
  insertAsSibling?: boolean;
12447
13055
  usePrerenderedIfAvailable?: boolean;
12448
13056
  preRenderId?: string;
@@ -12510,6 +13118,7 @@ declare class TsEmbed {
12510
13118
  protected getV1EmbedBasePath(queryString: string): string;
12511
13119
  protected getEmbedParams(): string;
12512
13120
  protected getEmbedParamsObject(): Record<any, any>;
13121
+ protected getUrlQueryParamsObject(): Record<any, any>;
12513
13122
  protected getRootIframeSrc(): string;
12514
13123
  protected createIframeEl(frameSrc: string): HTMLIFrameElement;
12515
13124
  /**
@@ -12551,26 +13160,12 @@ declare class TsEmbed {
12551
13160
  */
12552
13161
  private createPreRenderPlaceholder;
12553
13162
  /**
12554
- * Resolves the configured preRenderContainer to a live element. A string
12555
- * selector is re-queried on every call so a remounted container (E.g.: React
12556
- * replacing the node) resolves to the fresh element; an element passed
12557
- * directly cannot be re-resolved.
12558
- *
12559
- * With nothing configured the frame goes into the host element's nearest
12560
- * scrolling ancestor, falling back to `document.body`.
12561
- *
12562
- * The wrapper is absolutely positioned, so it follows the page for free —
12563
- * but only while it sits inside whatever scrolls. `document.body` is right
12564
- * only when the document itself is the scroller; an app that scrolls an
12565
- * inner element instead left the frame pinned to the viewport while the page
12566
- * moved under it (SCAL-338563). Being inside the scroller also lets wheel
12567
- * events chain out of the frame into it, which they cannot do from
12568
- * `document.body`.
12569
- *
12570
- * A scrolling ancestor is layout chrome rather than route content, so it
12571
- * outlives the embed in practice; and if it does go, the host element goes
12572
- * with it and this instance is remounting anyway.
12573
- * `reconcilePreRenderContainer` re-runs this on a detached container.
13163
+ * Resolves the configured preRenderContainer, or defaults to the host's
13164
+ * nearest scrolling ancestor (document.body if none). The absolutely
13165
+ * positioned wrapper only follows the page while it sits inside what
13166
+ * scrolls, so body is right only when the document itself scrolls — an inner
13167
+ * scroller left the frame pinned to the viewport (SCAL-338563). A string
13168
+ * selector is re-queried each call so a remounted container resolves fresh.
12574
13169
  */
12575
13170
  private resolvePreRenderContainerTarget;
12576
13171
  private inheritPreRenderContainer;
@@ -12831,6 +13426,8 @@ declare class TsEmbed {
12831
13426
  */
12832
13427
  prerenderGeneric(): Promise<any>;
12833
13428
  protected preRenderParamsApplied: Promise<void>;
13429
+ protected isConfigExcludedFromUrl(): boolean;
13430
+ protected triggerUpdateEmbedParams(): Promise<void>;
12834
13431
  protected beforePrerenderVisible(): void;
12835
13432
  /**
12836
13433
  * Displays the pre-rendered component inside the host element.
@@ -13387,6 +13984,17 @@ declare class SearchBarEmbed extends TsEmbed {
13387
13984
  };
13388
13985
  protected getAppInitData(): Promise<SearchAppInitData$1>;
13389
13986
  }
13987
+ /**
13988
+ * The Spotter experience version to load in the embedded view.
13989
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.11.0.cl
13990
+ * @group Embed components
13991
+ */
13992
+ export declare enum SpotterExperienceVersion {
13993
+ /**
13994
+ * The Spotter experience version introduced in ThoughtSpot 26.11.
13995
+ */
13996
+ SPOTTER_2026_11 = "spotter_2026_11"
13997
+ }
13390
13998
  interface SearchOptions$1 {
13391
13999
  /**
13392
14000
  * The query string to pass to start the Conversation.
@@ -13520,6 +14128,19 @@ export interface SpotterSidebarViewConfig {
13520
14128
  * @default Analysts
13521
14129
  */
13522
14130
  spotterAnalystsLabel?: string;
14131
+ /**
14132
+ * Shows the connector marketplace option in the settings menu of the
14133
+ * Spotter sidebar footer. When not set, the cluster setting applies.
14134
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
14135
+ */
14136
+ enableConnectorMarketplace?: boolean;
14137
+ /**
14138
+ * Shows the Spotter instructions and more settings options in the
14139
+ * settings menu of the Spotter sidebar footer.
14140
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
14141
+ * @default false
14142
+ */
14143
+ enableSpotterInstructionAndMoreSettings?: boolean;
13523
14144
  }
13524
14145
  /**
13525
14146
  * Configuration for the Spotter conversation sharing feature.
@@ -13803,6 +14424,20 @@ export interface SpotterAnalystConfig {
13803
14424
  * @group Embed components
13804
14425
  */
13805
14426
  export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, "primaryAction"> {
14427
+ /**
14428
+ * The Spotter experience version to load. When set to
14429
+ * `SpotterExperienceVersion.SPOTTER_2026_11`, the embed loads the updated Spotter
14430
+ * surface instead of the default conversation surface.
14431
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.11.0.cl
14432
+ * @example
14433
+ * ```js
14434
+ * const embed = new SpotterEmbed('#tsEmbed', {
14435
+ * ... // other options
14436
+ * spotterExperienceVersion: SpotterExperienceVersion.SPOTTER_2026_11,
14437
+ * });
14438
+ * ```
14439
+ */
14440
+ spotterExperienceVersion?: SpotterExperienceVersion;
13806
14441
  /**
13807
14442
  * The ID of the data source object. For example, Model, View, or Table. Spotter uses
13808
14443
  * this object to query data and generate Answers.
@@ -14166,6 +14801,7 @@ export interface SpotterAppInitData extends DefaultAppInitData {
14166
14801
  visualOverridesParams?: VisualizationOverrides | null;
14167
14802
  starterPrompts?: StarterPromptsConfig;
14168
14803
  spotterAnalystConfig?: SpotterAnalystConfig;
14804
+ enableSpotterInstructionAndMoreSettings?: boolean;
14169
14805
  };
14170
14806
  }
14171
14807
  declare class SpotterEmbed extends TsEmbed {
@@ -14318,6 +14954,21 @@ export interface SpotterVizConfig {
14318
14954
  * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.7.0.cl
14319
14955
  */
14320
14956
  insightTileLoaderText?: string;
14957
+ /**
14958
+ * Set to `false` to hide the file upload feature in the SpotterViz chat
14959
+ * input on a cluster where the feature is available.
14960
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
14961
+ * @default true
14962
+ */
14963
+ fileUploadEnabled?: boolean;
14964
+ /**
14965
+ * Restricts the allowed file types for SpotterViz file upload to a
14966
+ * subset of the types SpotterViz supports, e.g. `['csv', 'pdf']`.
14967
+ * Entries are file extensions (with or without the leading dot); types
14968
+ * SpotterViz does not support are ignored, as are empty lists.
14969
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
14970
+ */
14971
+ fileUploadFileTypes?: string[];
14321
14972
  }
14322
14973
  /**
14323
14974
  * A single tip shown in the SpotterViz loading state.
@@ -15192,6 +15843,19 @@ export interface AppViewConfig extends AllEmbedViewConfig, FullHeightViewConfig
15192
15843
  * ```
15193
15844
  */
15194
15845
  hideAnswerEditPanel?: boolean;
15846
+ /**
15847
+ * The Spotter experience version to load for the Spotter surface shown within
15848
+ * this embed.
15849
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.11.0.cl
15850
+ * @example
15851
+ * ```js
15852
+ * const embed = new AppEmbed('#tsEmbed', {
15853
+ * ... // other options
15854
+ * spotterExperienceVersion: SpotterExperienceVersion.SPOTTER_2026_11,
15855
+ * });
15856
+ * ```
15857
+ */
15858
+ spotterExperienceVersion?: SpotterExperienceVersion;
15195
15859
  }
15196
15860
  /**
15197
15861
  * APP_INIT data shape for AppEmbed.
@@ -15203,6 +15867,7 @@ export interface AppEmbedAppInitData extends DefaultAppInitData {
15203
15867
  spotterVizConfig?: SpotterVizConfig;
15204
15868
  spotterShareConversationConfig?: SpotterShareConversationConfig;
15205
15869
  starterPrompts?: StarterPromptsConfig;
15870
+ enableSpotterInstructionAndMoreSettings?: boolean;
15206
15871
  };
15207
15872
  }
15208
15873
  declare class AppEmbed extends V1Embed {
@@ -15270,6 +15935,56 @@ declare class AppEmbed extends V1Embed {
15270
15935
  */
15271
15936
  render(): Promise<AppEmbed>;
15272
15937
  }
15938
+ /**
15939
+ * A filter to apply to a Liveboard when it loads.
15940
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
15941
+ * @group Embed components
15942
+ */
15943
+ export interface LiveboardFilterQuery {
15944
+ /** Name of the Liveboard tab the filter applies to. */
15945
+ tabName?: string;
15946
+ /** Name of the group within the tab that the filter applies to. */
15947
+ groupName?: string;
15948
+ /**
15949
+ * The filter condition, in search sentence form. For example, `color = red`.
15950
+ */
15951
+ filterQueryToken: string;
15952
+ }
15953
+ /**
15954
+ * A Parameter value to apply to a Liveboard when it loads.
15955
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
15956
+ * @group Embed components
15957
+ */
15958
+ export interface LiveboardParameterQuery {
15959
+ /** Name of the Liveboard tab the Parameter applies to. */
15960
+ tabName?: string;
15961
+ /** Name of the group within the tab that the Parameter applies to. */
15962
+ groupName?: string;
15963
+ /** The Parameter assignment. */
15964
+ parameterQueryToken: string;
15965
+ }
15966
+ /**
15967
+ * Filter and Parameter overrides for one data source on the Liveboard.
15968
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
15969
+ * @group Embed components
15970
+ */
15971
+ export interface LiveboardDataSourceOverride {
15972
+ /** The data source (Model) the overrides apply to. */
15973
+ dataSourceIdentifier?: string;
15974
+ /** Filters to apply for this data source. */
15975
+ filterQuery?: LiveboardFilterQuery[];
15976
+ /** Parameter values to apply for this data source. */
15977
+ parameterQuery?: LiveboardParameterQuery[];
15978
+ }
15979
+ /**
15980
+ * Filter and Parameter overrides applied to a Liveboard when it loads.
15981
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
15982
+ * @group Embed components
15983
+ */
15984
+ export interface LiveboardOverride {
15985
+ /** One entry per data source to override. */
15986
+ dataSourceOverride: LiveboardDataSourceOverride[];
15987
+ }
15273
15988
  /**
15274
15989
  * APP_INIT data shape for LiveboardEmbed.
15275
15990
  * @internal
@@ -15278,6 +15993,7 @@ export interface LiveboardEmbedAppInitData extends DefaultAppInitData {
15278
15993
  embedParams?: {
15279
15994
  spotterVizConfig?: SpotterVizConfig;
15280
15995
  starterPrompts?: StarterPromptsConfig;
15996
+ liveboardOverride?: LiveboardOverride;
15281
15997
  };
15282
15998
  }
15283
15999
  /**
@@ -15764,6 +16480,46 @@ export interface LiveboardViewConfig extends BaseViewConfig, FullHeightViewConfi
15764
16480
  * ```
15765
16481
  */
15766
16482
  updatedSpotterExperience?: boolean;
16483
+ /**
16484
+ * Filters and Parameters to apply to the Liveboard when it loads.
16485
+ *
16486
+ * In an embedded Liveboard, this is the only way to set these overrides.
16487
+ * The `filter` and `parameter` URL query params are ignored.
16488
+ * Clauses without a query token are dropped.
16489
+ *
16490
+ * Supported embed types: `LiveboardEmbed`
16491
+ * @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
16492
+ * @example
16493
+ * ```js
16494
+ * const embed = new LiveboardEmbed('#tsEmbed', {
16495
+ * ... // other embed view config
16496
+ * liveboardOverride: {
16497
+ * dataSourceOverride: [{
16498
+ * dataSourceIdentifier: '<model-guid>',
16499
+ * filterQuery: [{
16500
+ * tabName: 'Sales',
16501
+ * groupName: 'Region',
16502
+ * filterQueryToken: 'color = red',
16503
+ * }],
16504
+ * }],
16505
+ * },
16506
+ * })
16507
+ * ```
16508
+ */
16509
+ liveboardOverride?: LiveboardOverride;
16510
+ /**
16511
+ * The Spotter experience version to load for the Spotter surface shown within
16512
+ * this embed.
16513
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.11.0.cl
16514
+ * @example
16515
+ * ```js
16516
+ * const embed = new LiveboardEmbed('#tsEmbed', {
16517
+ * ... // other options
16518
+ * spotterExperienceVersion: SpotterExperienceVersion.SPOTTER_2026_11,
16519
+ * });
16520
+ * ```
16521
+ */
16522
+ spotterExperienceVersion?: SpotterExperienceVersion;
15767
16523
  }
15768
16524
  declare class LiveboardEmbed extends V1Embed {
15769
16525
  protected viewConfig: LiveboardViewConfig;
@@ -15796,20 +16552,8 @@ declare class LiveboardEmbed extends V1Embed {
15796
16552
  personalizedViewId: string;
15797
16553
  };
15798
16554
  protected beforePrerenderVisible(): void;
15799
- /**
15800
- * Whether `previous` was showing what this instance is about to show.
15801
- *
15802
- * Undefined-valued keys are dropped before comparing. `navigateToLiveboard`
15803
- * assigns `vizId`, `activeTabId` and `personalizedViewId` unconditionally,
15804
- * so an instance that has been shown once carries those keys as `undefined`
15805
- * while a freshly constructed one does not have them at all. `isEqual`
15806
- * counts own keys, so without this the comparison can never be true after
15807
- * the first show — which is the whole case this exists for.
15808
- *
15809
- * Callbacks compare as equal: React passes a fresh closure per render.
15810
- */
15811
16555
  private isSameEmbedConfig;
15812
- private isShowingLiveboardRoute;
16556
+ private isAlreadyOnSameRoute;
15813
16557
  protected handleRenderForPrerender(): Promise<TsEmbed>;
15814
16558
  /**
15815
16559
  * Triggers an event to the embedded app