@thoughtspot/visual-embed-sdk 1.51.0 → 1.51.2

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 (228) hide show
  1. package/cjs/package.json +1 -1
  2. package/cjs/src/config.d.ts +1 -0
  3. package/cjs/src/config.d.ts.map +1 -1
  4. package/cjs/src/config.js +2 -1
  5. package/cjs/src/config.js.map +1 -1
  6. package/cjs/src/css-variables.d.ts +27 -0
  7. package/cjs/src/css-variables.d.ts.map +1 -1
  8. package/cjs/src/embed/app.d.ts +43 -12
  9. package/cjs/src/embed/app.d.ts.map +1 -1
  10. package/cjs/src/embed/app.js +29 -3
  11. package/cjs/src/embed/app.js.map +1 -1
  12. package/cjs/src/embed/app.spec.js +253 -1
  13. package/cjs/src/embed/app.spec.js.map +1 -1
  14. package/cjs/src/embed/base.d.ts +1 -1
  15. package/cjs/src/embed/base.js +1 -1
  16. package/cjs/src/embed/conversation.d.ts +171 -1
  17. package/cjs/src/embed/conversation.d.ts.map +1 -1
  18. package/cjs/src/embed/conversation.js +4 -2
  19. package/cjs/src/embed/conversation.js.map +1 -1
  20. package/cjs/src/embed/conversation.spec.js +125 -0
  21. package/cjs/src/embed/conversation.spec.js.map +1 -1
  22. package/cjs/src/embed/events.spec.js +3 -0
  23. package/cjs/src/embed/events.spec.js.map +1 -1
  24. package/cjs/src/embed/host-events.spec.js +36 -0
  25. package/cjs/src/embed/host-events.spec.js.map +1 -1
  26. package/cjs/src/embed/hostEventClient/host-event-client.d.ts +1 -1
  27. package/cjs/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  28. package/cjs/src/embed/hostEventClient/host-event-client.spec.js +18 -0
  29. package/cjs/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  30. package/cjs/src/embed/liveboard.d.ts +40 -13
  31. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  32. package/cjs/src/embed/liveboard.js +25 -4
  33. package/cjs/src/embed/liveboard.js.map +1 -1
  34. package/cjs/src/embed/liveboard.spec.js +349 -2
  35. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  36. package/cjs/src/embed/search.spec.js +28 -0
  37. package/cjs/src/embed/search.spec.js.map +1 -1
  38. package/cjs/src/embed/spotter-utils.d.ts +8 -1
  39. package/cjs/src/embed/spotter-utils.d.ts.map +1 -1
  40. package/cjs/src/embed/spotter-utils.js +15 -1
  41. package/cjs/src/embed/spotter-utils.js.map +1 -1
  42. package/cjs/src/embed/spotter-utils.spec.js +68 -0
  43. package/cjs/src/embed/spotter-utils.spec.js.map +1 -1
  44. package/cjs/src/embed/spotter-viz-utils.d.ts +9 -10
  45. package/cjs/src/embed/spotter-viz-utils.d.ts.map +1 -1
  46. package/cjs/src/embed/spotter-viz-utils.js.map +1 -1
  47. package/cjs/src/embed/ts-embed.d.ts +97 -9
  48. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  49. package/cjs/src/embed/ts-embed.js +76 -35
  50. package/cjs/src/embed/ts-embed.js.map +1 -1
  51. package/cjs/src/embed/ts-embed.spec.js +537 -3
  52. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  53. package/cjs/src/index.d.ts +3 -3
  54. package/cjs/src/index.d.ts.map +1 -1
  55. package/cjs/src/index.js +3 -2
  56. package/cjs/src/index.js.map +1 -1
  57. package/cjs/src/react/all-types-export.d.ts +1 -1
  58. package/cjs/src/react/all-types-export.d.ts.map +1 -1
  59. package/cjs/src/react/all-types-export.js +2 -1
  60. package/cjs/src/react/all-types-export.js.map +1 -1
  61. package/cjs/src/react/all-types-export.parity.spec.d.ts +2 -0
  62. package/cjs/src/react/all-types-export.parity.spec.d.ts.map +1 -0
  63. package/cjs/src/react/all-types-export.parity.spec.js +194 -0
  64. package/cjs/src/react/all-types-export.parity.spec.js.map +1 -0
  65. package/cjs/src/react/index.d.ts +66 -32
  66. package/cjs/src/react/index.d.ts.map +1 -1
  67. package/cjs/src/react/index.js +5 -3
  68. package/cjs/src/react/index.js.map +1 -1
  69. package/cjs/src/react/index.spec.js +101 -0
  70. package/cjs/src/react/index.spec.js.map +1 -1
  71. package/cjs/src/types.d.ts +330 -18
  72. package/cjs/src/types.d.ts.map +1 -1
  73. package/cjs/src/types.js +182 -12
  74. package/cjs/src/types.js.map +1 -1
  75. package/cjs/src/utils.d.ts +5 -0
  76. package/cjs/src/utils.d.ts.map +1 -1
  77. package/cjs/src/utils.js +19 -1
  78. package/cjs/src/utils.js.map +1 -1
  79. package/cjs/src/utils.spec.js +37 -0
  80. package/cjs/src/utils.spec.js.map +1 -1
  81. package/dist/{index-aBzH5ZwF.js → index-D8_Zs-Nr.js} +1 -1
  82. package/dist/src/config.d.ts +1 -0
  83. package/dist/src/config.d.ts.map +1 -1
  84. package/dist/src/css-variables.d.ts +27 -0
  85. package/dist/src/css-variables.d.ts.map +1 -1
  86. package/dist/src/embed/app.d.ts +43 -12
  87. package/dist/src/embed/app.d.ts.map +1 -1
  88. package/dist/src/embed/base.d.ts +1 -1
  89. package/dist/src/embed/conversation.d.ts +171 -1
  90. package/dist/src/embed/conversation.d.ts.map +1 -1
  91. package/dist/src/embed/hostEventClient/host-event-client.d.ts +1 -1
  92. package/dist/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  93. package/dist/src/embed/liveboard.d.ts +40 -13
  94. package/dist/src/embed/liveboard.d.ts.map +1 -1
  95. package/dist/src/embed/spotter-utils.d.ts +8 -1
  96. package/dist/src/embed/spotter-utils.d.ts.map +1 -1
  97. package/dist/src/embed/spotter-viz-utils.d.ts +9 -10
  98. package/dist/src/embed/spotter-viz-utils.d.ts.map +1 -1
  99. package/dist/src/embed/ts-embed.d.ts +97 -9
  100. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  101. package/dist/src/index.d.ts +3 -3
  102. package/dist/src/index.d.ts.map +1 -1
  103. package/dist/src/react/all-types-export.d.ts +1 -1
  104. package/dist/src/react/all-types-export.d.ts.map +1 -1
  105. package/dist/src/react/all-types-export.parity.spec.d.ts +2 -0
  106. package/dist/src/react/all-types-export.parity.spec.d.ts.map +1 -0
  107. package/dist/src/react/index.d.ts +66 -32
  108. package/dist/src/react/index.d.ts.map +1 -1
  109. package/dist/src/types.d.ts +330 -18
  110. package/dist/src/types.d.ts.map +1 -1
  111. package/dist/src/utils.d.ts +5 -0
  112. package/dist/src/utils.d.ts.map +1 -1
  113. package/dist/tsembed-react.es.js +354 -64
  114. package/dist/tsembed-react.js +353 -63
  115. package/dist/tsembed.es.js +414 -126
  116. package/dist/tsembed.js +416 -128
  117. package/dist/visual-embed-sdk-react-full.d.ts +777 -90
  118. package/dist/visual-embed-sdk-react.d.ts +773 -89
  119. package/dist/visual-embed-sdk.d.ts +713 -60
  120. package/lib/package.json +1 -1
  121. package/lib/src/config.d.ts +1 -0
  122. package/lib/src/config.d.ts.map +1 -1
  123. package/lib/src/config.js +1 -0
  124. package/lib/src/config.js.map +1 -1
  125. package/lib/src/css-variables.d.ts +27 -0
  126. package/lib/src/css-variables.d.ts.map +1 -1
  127. package/lib/src/embed/app.d.ts +43 -12
  128. package/lib/src/embed/app.d.ts.map +1 -1
  129. package/lib/src/embed/app.js +30 -4
  130. package/lib/src/embed/app.js.map +1 -1
  131. package/lib/src/embed/app.spec.js +253 -1
  132. package/lib/src/embed/app.spec.js.map +1 -1
  133. package/lib/src/embed/base.d.ts +1 -1
  134. package/lib/src/embed/base.js +1 -1
  135. package/lib/src/embed/conversation.d.ts +171 -1
  136. package/lib/src/embed/conversation.d.ts.map +1 -1
  137. package/lib/src/embed/conversation.js +5 -3
  138. package/lib/src/embed/conversation.js.map +1 -1
  139. package/lib/src/embed/conversation.spec.js +125 -0
  140. package/lib/src/embed/conversation.spec.js.map +1 -1
  141. package/lib/src/embed/events.spec.js +3 -0
  142. package/lib/src/embed/events.spec.js.map +1 -1
  143. package/lib/src/embed/host-events.spec.js +36 -0
  144. package/lib/src/embed/host-events.spec.js.map +1 -1
  145. package/lib/src/embed/hostEventClient/host-event-client.d.ts +1 -1
  146. package/lib/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  147. package/lib/src/embed/hostEventClient/host-event-client.spec.js +18 -0
  148. package/lib/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  149. package/lib/src/embed/liveboard.d.ts +40 -13
  150. package/lib/src/embed/liveboard.d.ts.map +1 -1
  151. package/lib/src/embed/liveboard.js +25 -4
  152. package/lib/src/embed/liveboard.js.map +1 -1
  153. package/lib/src/embed/liveboard.spec.js +349 -2
  154. package/lib/src/embed/liveboard.spec.js.map +1 -1
  155. package/lib/src/embed/search.spec.js +28 -0
  156. package/lib/src/embed/search.spec.js.map +1 -1
  157. package/lib/src/embed/spotter-utils.d.ts +8 -1
  158. package/lib/src/embed/spotter-utils.d.ts.map +1 -1
  159. package/lib/src/embed/spotter-utils.js +13 -0
  160. package/lib/src/embed/spotter-utils.js.map +1 -1
  161. package/lib/src/embed/spotter-utils.spec.js +69 -1
  162. package/lib/src/embed/spotter-utils.spec.js.map +1 -1
  163. package/lib/src/embed/spotter-viz-utils.d.ts +9 -10
  164. package/lib/src/embed/spotter-viz-utils.d.ts.map +1 -1
  165. package/lib/src/embed/spotter-viz-utils.js.map +1 -1
  166. package/lib/src/embed/ts-embed.d.ts +97 -9
  167. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  168. package/lib/src/embed/ts-embed.js +77 -36
  169. package/lib/src/embed/ts-embed.js.map +1 -1
  170. package/lib/src/embed/ts-embed.spec.js +537 -3
  171. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  172. package/lib/src/index.d.ts +3 -3
  173. package/lib/src/index.d.ts.map +1 -1
  174. package/lib/src/index.js +2 -2
  175. package/lib/src/index.js.map +1 -1
  176. package/lib/src/react/all-types-export.d.ts +1 -1
  177. package/lib/src/react/all-types-export.d.ts.map +1 -1
  178. package/lib/src/react/all-types-export.js +1 -1
  179. package/lib/src/react/all-types-export.js.map +1 -1
  180. package/lib/src/react/all-types-export.parity.spec.d.ts +2 -0
  181. package/lib/src/react/all-types-export.parity.spec.d.ts.map +1 -0
  182. package/lib/src/react/all-types-export.parity.spec.js +191 -0
  183. package/lib/src/react/all-types-export.parity.spec.js.map +1 -0
  184. package/lib/src/react/index.d.ts +66 -32
  185. package/lib/src/react/index.d.ts.map +1 -1
  186. package/lib/src/react/index.js +5 -3
  187. package/lib/src/react/index.js.map +1 -1
  188. package/lib/src/react/index.spec.js +102 -1
  189. package/lib/src/react/index.spec.js.map +1 -1
  190. package/lib/src/types.d.ts +330 -18
  191. package/lib/src/types.d.ts.map +1 -1
  192. package/lib/src/types.js +182 -12
  193. package/lib/src/types.js.map +1 -1
  194. package/lib/src/utils.d.ts +5 -0
  195. package/lib/src/utils.d.ts.map +1 -1
  196. package/lib/src/utils.js +17 -0
  197. package/lib/src/utils.js.map +1 -1
  198. package/lib/src/utils.spec.js +38 -1
  199. package/lib/src/utils.spec.js.map +1 -1
  200. package/lib/src/visual-embed-sdk.d.ts +713 -60
  201. package/package.json +1 -1
  202. package/src/config.ts +1 -0
  203. package/src/css-variables.ts +32 -0
  204. package/src/embed/app.spec.ts +335 -1
  205. package/src/embed/app.ts +71 -13
  206. package/src/embed/base.ts +1 -1
  207. package/src/embed/conversation.spec.ts +136 -0
  208. package/src/embed/conversation.ts +181 -3
  209. package/src/embed/events.spec.ts +4 -0
  210. package/src/embed/host-events.spec.ts +48 -0
  211. package/src/embed/hostEventClient/host-event-client.spec.ts +34 -0
  212. package/src/embed/hostEventClient/host-event-client.ts +2 -2
  213. package/src/embed/liveboard.spec.ts +457 -2
  214. package/src/embed/liveboard.ts +74 -15
  215. package/src/embed/search.spec.ts +31 -0
  216. package/src/embed/spotter-utils.spec.ts +72 -0
  217. package/src/embed/spotter-utils.ts +21 -1
  218. package/src/embed/spotter-viz-utils.ts +9 -10
  219. package/src/embed/ts-embed.spec.ts +699 -3
  220. package/src/embed/ts-embed.ts +91 -41
  221. package/src/index.ts +43 -2
  222. package/src/react/all-types-export.parity.spec.ts +208 -0
  223. package/src/react/all-types-export.ts +22 -0
  224. package/src/react/index.spec.tsx +158 -0
  225. package/src/react/index.tsx +70 -33
  226. package/src/types.ts +329 -16
  227. package/src/utils.spec.ts +49 -0
  228. package/src/utils.ts +16 -0
@@ -860,6 +860,85 @@ export interface FrameParams {
860
860
  */
861
861
  [key: string]: string | number | boolean | undefined;
862
862
  }
863
+ /**
864
+ * Configuration for the pre-render wrapper element.
865
+ * All properties here mirror the top-level preRender properties on
866
+ * {@link BaseViewConfig} and take precedence over them when both are set,
867
+ * so existing top-level usage continues to work without any changes.
868
+ *
869
+ * @version SDK: 1.52.0
870
+ * @example
871
+ * ```js
872
+ * init({ thoughtSpotHost: '...', authType: AuthType.None });
873
+ * const embed = new LiveboardEmbed('#tsEmbed', {
874
+ * preRenderConfig: {
875
+ * preRenderId: 'my-liveboard',
876
+ * preRenderContainer: '#my-scroll-container',
877
+ * doNotTrackPreRenderSize: false,
878
+ * zIndex: -10,
879
+ * },
880
+ * });
881
+ * embed.preRender();
882
+ * embed.showPreRender();
883
+ * ```
884
+ */
885
+ export interface PreRenderConfig {
886
+ /**
887
+ * Pre-render ID to identify the pre-render instance.
888
+ * Takes precedence over the top-level `preRenderId` when both are set.
889
+ *
890
+ * Matches the embed warmed by `preRender()` to the one revealed by
891
+ * `showPreRender()`. Embeds sharing an ID share one loaded frame: reuse the ID for
892
+ * the same view, and give unrelated views their own or they will collide.
893
+ * Required by `preRender()`, `showPreRender()`, and `hidePreRender()`, which log
894
+ * and do nothing without it.
895
+ *
896
+ * @default undefined
897
+ */
898
+ preRenderId?: string;
899
+ /**
900
+ * The DOM element or CSS selector string specifying the container into
901
+ * which the pre-rendered wrapper is inserted.
902
+ * Takes precedence over the top-level `preRenderContainer` when both are set.
903
+ *
904
+ * Set this when your app scrolls inside an element rather than the page (for
905
+ * example `<body>` has `overflow: hidden`). Point it at the element that actually
906
+ * scrolls, keep that element mounted while the embed is warm, and prefer a
907
+ * selector string — it is re-resolved on reposition and so survives a remount,
908
+ * while a detached element reference cannot be recovered. An invalid selector is
909
+ * logged and falls back to `document.body`.
910
+ * See {@link BaseViewConfig.preRenderContainer} for details, including Shadow DOM.
911
+ *
912
+ * @default document.body
913
+ */
914
+ preRenderContainer?: string | HTMLElement;
915
+ /**
916
+ * Disables the `ResizeObserver` that keeps the wrapper sized to the
917
+ * placeholder element.
918
+ * Takes precedence over the top-level `doNotTrackPreRenderSize` when both are set.
919
+ *
920
+ * Set this only when you size the embed yourself; you then own alignment and must
921
+ * call `syncPreRenderStyle()` after any change that moves or resizes it. Tracking
922
+ * already pauses while hidden, so this is not needed to avoid work then.
923
+ *
924
+ * @default false
925
+ */
926
+ doNotTrackPreRenderSize?: boolean;
927
+ /**
928
+ * CSS `z-index` value applied to the pre-render wrapper when hidden.
929
+ * Override this when the host page's stacking context does not reach `-1000`
930
+ * and the hidden wrapper still appears above other elements.
931
+ *
932
+ * A page that creates its own stacking context — a positioned app shell, a
933
+ * transformed wrapper, a modal layer — can clamp `-1000`, and the hidden wrapper
934
+ * then shows through or swallows clicks meant for your UI. Reach for this when you
935
+ * see a faint panel behind your content, or clicks landing on nothing in the
936
+ * region where the embed will eventually appear.
937
+ *
938
+ * @default -1000
939
+ */
940
+ zIndex?: number;
941
+ }
863
942
  /**
864
943
  * The common configuration object for an embedded view.
865
944
  */
@@ -944,7 +1023,7 @@ export interface BaseViewConfig extends ApiInterceptFlags {
944
1023
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
945
1024
  * const embed = new <EmbedComponent>('#tsEmbed', {
946
1025
  * ... // other embed view config
947
- * hiddenActions: [Action.Download, Action.Export],
1026
+ * hiddenActions: [Action.Download, Action.ExportTML],
948
1027
  * });
949
1028
  * ```
950
1029
  * @important
@@ -966,7 +1045,7 @@ export interface BaseViewConfig extends ApiInterceptFlags {
966
1045
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
967
1046
  * const embed = new <EmbedComponent>('#tsEmbed', {
968
1047
  * ... // other embed view config
969
- * visibleActions: [Action.Download, Action.Export],
1048
+ * visibleActions: [Action.Download, Action.ExportTML],
970
1049
  * });
971
1050
  * ```
972
1051
  */
@@ -1051,6 +1130,7 @@ export interface BaseViewConfig extends ApiInterceptFlags {
1051
1130
  *
1052
1131
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`, `SearchEmbed`, `SpotterAgentEmbed`, `SpotterEmbed`, `SearchBarEmbed`
1053
1132
  * @version SDK: 1.25.0 | ThoughtSpot: 9.6.0.cl, 9.8.0.sw
1133
+ * @deprecated Use {@link PreRenderConfig.preRenderId} via `preRenderConfig` instead.
1054
1134
  * @example
1055
1135
  * ```js
1056
1136
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
@@ -1070,6 +1150,7 @@ export interface BaseViewConfig extends ApiInterceptFlags {
1070
1150
  * @type {boolean}
1071
1151
  * @default false
1072
1152
  * @version SDK: 1.24.0 | ThoughtSpot: 9.4.0.cl, 9.4.0.sw
1153
+ * @deprecated Use {@link PreRenderConfig.doNotTrackPreRenderSize} via `preRenderConfig` instead.
1073
1154
  * @example
1074
1155
  * ```js
1075
1156
  * // Disable tracking PreRender size in the configuration
@@ -1111,6 +1192,7 @@ export interface BaseViewConfig extends ApiInterceptFlags {
1111
1192
  *
1112
1193
  * @type {string | HTMLElement}
1113
1194
  * @version SDK: 1.49.2 | ThoughtSpot: *
1195
+ * @deprecated Use {@link PreRenderConfig.preRenderContainer} via `preRenderConfig` instead.
1114
1196
  * @example
1115
1197
  * ```js
1116
1198
  * const embed = new LiveboardEmbed('#tsEmbed', {
@@ -1121,6 +1203,27 @@ export interface BaseViewConfig extends ApiInterceptFlags {
1121
1203
  * ```
1122
1204
  */
1123
1205
  preRenderContainer?: string | HTMLElement;
1206
+ /**
1207
+ * Configuration for the pre-render wrapper element.
1208
+ * All properties here mirror the top-level preRender properties on
1209
+ * `BaseViewConfig` and take precedence over them when both are set,
1210
+ * so existing top-level usage continues to work without any changes.
1211
+ * See {@link PreRenderConfig} for available options.
1212
+ *
1213
+ * @version SDK: 1.52.0
1214
+ * @example
1215
+ * ```js
1216
+ * const embed = new LiveboardEmbed('#tsEmbed', {
1217
+ * preRenderConfig: {
1218
+ * preRenderId: 'my-liveboard',
1219
+ * zIndex: -10,
1220
+ * },
1221
+ * });
1222
+ * embed.preRender();
1223
+ * embed.showPreRender();
1224
+ * ```
1225
+ */
1226
+ preRenderConfig?: PreRenderConfig;
1124
1227
  /**
1125
1228
  * Enable the V2 shell. This can provide performance benefits
1126
1229
  * due to a lighter-weight shell.
@@ -1559,7 +1662,7 @@ export interface HomePageConfig {
1559
1662
  *
1560
1663
  * const embed = new AppEmbed('#tsEmbed', {
1561
1664
  * ... //other embed view config
1562
- * hiddenListColumns : [ListPageColumns.Favorite,ListPageColumns.Author],
1665
+ * hiddenListColumns : [ListPageColumns.Favorites,ListPageColumns.Author],
1563
1666
  * })
1564
1667
  * ```
1565
1668
  */
@@ -1872,6 +1975,25 @@ export interface LiveboardAppEmbedViewConfig {
1872
1975
  * ```
1873
1976
  */
1874
1977
  enable2ColumnLayout?: boolean;
1978
+ /**
1979
+ * This attribute keeps an embedded Liveboard on the 12-column layout at
1980
+ * every width, instead of switching to the two-column or single-column
1981
+ * layout as the container narrows.
1982
+ *
1983
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`
1984
+ * @type {boolean}
1985
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
1986
+ * @default false
1987
+ * @example
1988
+ * ```js
1989
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
1990
+ * const embed = new <EmbedComponent>('#tsEmbed', {
1991
+ * ... // other embed view config
1992
+ * isLiveboardAlwaysOn12ColLayout: true,
1993
+ * })
1994
+ * ```
1995
+ */
1996
+ isLiveboardAlwaysOn12ColLayout?: boolean;
1875
1997
  /**
1876
1998
  * This flag can be used to enable the compact header in Liveboard
1877
1999
  *
@@ -1976,6 +2098,26 @@ export interface LiveboardAppEmbedViewConfig {
1976
2098
  * ```
1977
2099
  */
1978
2100
  coverAndFilterOptionInPDF?: boolean;
2101
+ /**
2102
+ * Sets the gutter space (in pixels) between the visualization tiles of
2103
+ * an embedded Liveboard grid layout and its outer layout padding.
2104
+ * Accepts a non-negative integer; `0` renders the tiles without any gap
2105
+ * and removes the outer padding. When omitted, the gutter saved in the
2106
+ * Liveboard's styling settings (or the ThoughtSpot default) applies.
2107
+ *
2108
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`
2109
+ * @type {number}
2110
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
2111
+ * @example
2112
+ * ```js
2113
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
2114
+ * const embed = new <EmbedComponent>('#tsEmbed', {
2115
+ * ... // other embed view config
2116
+ * liveboardGutter: 8,
2117
+ * })
2118
+ * ```
2119
+ */
2120
+ liveboardGutter?: number;
1979
2121
  /**
1980
2122
  * This flag is used to enable or disable the new centralized Liveboard filter UX
1981
2123
  * (v2). When enabled, a unified modal is used to manage and update multiple filters
@@ -2421,7 +2563,7 @@ export declare enum EmbedEvent {
2421
2563
  * @returns nonFilteredColumns - The columns that were not filtered
2422
2564
  * @example
2423
2565
  * ```js
2424
- * searchEmbed.on(EmbedEvent.DrillDown, {
2566
+ * searchEmbed.on(EmbedEvent.Drilldown, {
2425
2567
  * points: {
2426
2568
  * clickedPoint,
2427
2569
  * selectedPoints: selectedPoint
@@ -2482,7 +2624,7 @@ export declare enum EmbedEvent {
2482
2624
  * @version SDK: 1.1.0 | ThoughtSpot: ts7.may.cl, 8.4.1.sw
2483
2625
  * @example
2484
2626
  * ```js
2485
- * appEmbed.on(EmbedEvent.customAction, payload => {
2627
+ * appEmbed.on(EmbedEvent.CustomAction, payload => {
2486
2628
  * const data = payload.data;
2487
2629
  * if (data.id === 'insert Custom Action ID here') {
2488
2630
  * console.log('Custom Action event:', data.embedAnswerData);
@@ -2748,8 +2890,8 @@ export declare enum EmbedEvent {
2748
2890
  *
2749
2891
  * **Note**: This event is deprecated in v1.21.0.
2750
2892
  * To fire an event when a download action is initiated on a chart or table,
2751
- * use `EmbedEvent.DownloadAsPng`, `EmbedEvent.DownloadAsPDF`,
2752
- * `EmbedEvent.DownloadAsCSV`, or `EmbedEvent.DownloadAsXLSX`
2893
+ * use `EmbedEvent.DownloadAsPng`, `EmbedEvent.DownloadAsPdf`,
2894
+ * `EmbedEvent.DownloadAsCsv`, or `EmbedEvent.DownloadAsXlsx`
2753
2895
  * @version SDK: 1.11.0 | ThoughtSpot: 8.3.0.cl, 8.4.1.sw
2754
2896
  * @example
2755
2897
  * ```js
@@ -2799,10 +2941,10 @@ export declare enum EmbedEvent {
2799
2941
  * @example
2800
2942
  * ```js
2801
2943
  * //emit when action starts
2802
- * searchEmbed.on(EmbedEvent.DownloadAsCSV, payload => {
2944
+ * searchEmbed.on(EmbedEvent.DownloadAsCsv, payload => {
2803
2945
  * console.log('download CSV', payload)}, {start: true })
2804
2946
  * //emit when action ends
2805
- * searchEmbed.on(EmbedEvent.DownloadAsCSV, payload => {
2947
+ * searchEmbed.on(EmbedEvent.DownloadAsCsv, payload => {
2806
2948
  * console.log('download CSV', payload)})
2807
2949
  * ```
2808
2950
  */
@@ -4258,6 +4400,7 @@ export declare enum HostEvent {
4258
4400
  * const url = await appEmbed.trigger(HostEvent.GetIframeUrl, {}, ContextType.Answer);
4259
4401
  * console.log("iFrameURL", url);
4260
4402
  * ```
4403
+ * @returns iframeUrl - The URL currently loaded in the embedded iframe.
4261
4404
  * @version SDK: 1.35.0 | ThoughtSpot: 10.4.0.cl
4262
4405
  */
4263
4406
  GetIframeUrl = "GetIframeUrl",
@@ -4424,6 +4567,41 @@ export declare enum HostEvent {
4424
4567
  * @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl
4425
4568
  */
4426
4569
  OpenFilter = "openFilter",
4570
+ /**
4571
+ * Open the add-filter modal of a Liveboard, the same dialog that the
4572
+ * *Add filter* button in the Liveboard edit header opens, so the host
4573
+ * app can start the add-filter flow from its own UI.
4574
+ *
4575
+ * The Liveboard must be in edit mode; the event is ignored otherwise.
4576
+ * Hiding the *Add filter* button with `hiddenActions:
4577
+ * [Action.AddFilter]` does not block this event, but disabling it with
4578
+ * `disabledActions` does.
4579
+ *
4580
+ * Unlike {@link HostEvent.OpenFilter}, which opens the panel of an
4581
+ * existing filter, this event starts the creation of a new filter.
4582
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
4583
+ * @example
4584
+ * ```js
4585
+ * liveboardEmbed.trigger(HostEvent.OpenAddFilterModal);
4586
+ * ```
4587
+ */
4588
+ OpenAddFilterModal = "openAddFilterModal",
4589
+ /**
4590
+ * Open the add-parameter panel of a Liveboard, the same panel that the
4591
+ * *Add parameter* button in the Liveboard edit header opens.
4592
+ * Mirrors {@link HostEvent.OpenAddFilterModal} for parameters.
4593
+ *
4594
+ * The Liveboard must be in edit mode; the event is ignored otherwise.
4595
+ * Hiding the *Add parameter* button with `hiddenActions:
4596
+ * [Action.AddParameter]` does not block this event, but disabling it
4597
+ * with `disabledActions` does.
4598
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
4599
+ * @example
4600
+ * ```js
4601
+ * liveboardEmbed.trigger(HostEvent.OpenAddParameterModal);
4602
+ * ```
4603
+ */
4604
+ OpenAddParameterModal = "openAddParameterModal",
4427
4605
  /**
4428
4606
  * Open the parameter panel for a particular parameter on a Liveboard.
4429
4607
  * Mirrors {@link HostEvent.OpenFilter} for parameters.
@@ -4505,6 +4683,10 @@ export declare enum HostEvent {
4505
4683
  * liveboardEmbed.trigger(HostEvent.getExportRequestForCurrentPinboard).then(
4506
4684
  * data=>console.log(data))
4507
4685
  * ```
4686
+ * @returns data - Object with a `v2Content` string: the export request
4687
+ * payload for the current Liveboard.
4688
+ * @returns type - The passthrough event name,
4689
+ * `getExportRequestForCurrentPinboard`.
4508
4690
  * @version SDK: 1.13.0 | ThoughtSpot: 8.5.0.cl, 8.8.1.sw
4509
4691
  */
4510
4692
  getExportRequestForCurrentPinboard = "getExportRequestForCurrentPinboard",
@@ -4607,6 +4789,9 @@ export declare enum HostEvent {
4607
4789
  * }, ContextType.Spotter);
4608
4790
  * ```
4609
4791
  *
4792
+ * @returns liveboardId - GUID of the Liveboard the Answer was pinned to.
4793
+ * @returns tabId - GUID of the tab within that Liveboard.
4794
+ * @returns vizId - GUID of the newly created visualization.
4610
4795
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
4611
4796
  */
4612
4797
  Pin = "pin",
@@ -4645,13 +4830,13 @@ export declare enum HostEvent {
4645
4830
  * Trigger the **Manage schedule** action on an embedded Liveboard
4646
4831
  * @example
4647
4832
  * ```js
4648
- * liveboardEmbed.trigger(HostEvent.ScheduleList)
4833
+ * liveboardEmbed.trigger(HostEvent.SchedulesList)
4649
4834
  * ```
4650
4835
  * @example
4651
4836
  * ```js
4652
4837
  * // Manage schedules from liveboard context
4653
4838
  * import { ContextType } from '@thoughtspot/visual-embed-sdk';
4654
- * liveboardEmbed.trigger(HostEvent.ScheduleList, {}, ContextType.Liveboard);
4839
+ * liveboardEmbed.trigger(HostEvent.SchedulesList, {}, ContextType.Liveboard);
4655
4840
  * ```
4656
4841
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
4657
4842
  */
@@ -5096,6 +5281,7 @@ export declare enum HostEvent {
5096
5281
  * console.log(tml.answer);
5097
5282
  * });
5098
5283
  * ```
5284
+ * @returns The TML representation of the current Answer, as an object.
5099
5285
  * @version SDK: 1.18.0 | ThoughtSpot: 8.10.0.cl, 9.0.1.sw
5100
5286
  * @important
5101
5287
  */
@@ -5539,6 +5725,8 @@ export declare enum HostEvent {
5539
5725
  * const data = await liveboardEmbed.trigger(HostEvent.GetFilters, {}, ContextType.Liveboard);
5540
5726
  * console.log('filters', data);
5541
5727
  * ```
5728
+ * @returns liveboardFilters - Filters applied on the Liveboard.
5729
+ * @returns runtimeFilters - Runtime filters applied on the Liveboard.
5542
5730
  * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
5543
5731
  */
5544
5732
  GetFilters = "getFilters",
@@ -5688,6 +5876,9 @@ export declare enum HostEvent {
5688
5876
  * console.log('tabs', tabDetails);
5689
5877
  * });
5690
5878
  * ```
5879
+ * @returns orderedTabIds - Tab GUIDs in the order they appear.
5880
+ * @returns numberOfTabs - Total number of tabs on the Liveboard.
5881
+ * @returns Tabs - Tab details, each with at least `id` and `name`.
5691
5882
  * @version SDK: 1.26.0 | ThoughtSpot: 9.7.0.cl
5692
5883
  */
5693
5884
  GetTabs = "getTabs",
@@ -5710,6 +5901,9 @@ export declare enum HostEvent {
5710
5901
  * console.log('groups', groupDetails);
5711
5902
  * });
5712
5903
  * ```
5904
+ * @returns orderedGroupIds - Group GUIDs in the order they appear.
5905
+ * @returns numberOfGroups - Total number of groups on the Liveboard.
5906
+ * @returns Groups - Group details, each with at least `id` and `name`.
5713
5907
  * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
5714
5908
  */
5715
5909
  GetGroups = "getGroups",
@@ -5784,6 +5978,9 @@ export declare enum HostEvent {
5784
5978
  * // Alternative direct usage (not recommended)
5785
5979
  * const {session} = await embed.trigger( HostEvent.GetAnswerSession )
5786
5980
  * ```
5981
+ * @returns session - Session identifier for the Answer, for use with the
5982
+ * `AnswerService`.
5983
+ * @returns embedAnswerData - Data backing the Answer, when available.
5787
5984
  * @version SDK: 1.26.0 | ThoughtSpot: 9.10.0.cl, 10.1.0.sw
5788
5985
  */
5789
5986
  GetAnswerSession = "getAnswerSession",
@@ -5917,12 +6114,16 @@ export declare enum HostEvent {
5917
6114
  * console.log('parameters', parameters);
5918
6115
  * });
5919
6116
  * ```
6117
+ * @returns parameters - Parameters currently applied on the Liveboard.
5920
6118
  * @version SDK: 1.29.0 | ThoughtSpot: 10.1.0.cl, 10.1.0.sw
5921
6119
  */
5922
6120
  GetParameters = "GetParameters",
5923
6121
  /**
5924
6122
  * Triggers an event to update a personalized view of a Liveboard.
5925
- * This event is deprecated. Use {@link HostEvent.UpdatePersonalizedView} instead.
6123
+ * This event is deprecated. Use {@link HostEvent.SelectPersonalizedView} instead,
6124
+ * which additionally accepts a `viewName`, resets to the original view when
6125
+ * called with an empty payload, and reports an error when a named view
6126
+ * cannot be found.
5926
6127
  * ```js
5927
6128
  * liveboardEmbed.trigger(HostEvent.UpdatePersonalisedView, {viewId: '1234'})
5928
6129
  * ```
@@ -5940,10 +6141,15 @@ export declare enum HostEvent {
5940
6141
  UpdatePersonalisedView = "UpdatePersonalisedView",
5941
6142
  /**
5942
6143
  * Triggers an event to update a personalized view of a Liveboard.
6144
+ * This event is deprecated. Use {@link HostEvent.SelectPersonalizedView} instead,
6145
+ * which additionally accepts a `viewName`, resets to the original view when
6146
+ * called with an empty payload, and reports an error when a named view
6147
+ * cannot be found.
5943
6148
  * ```js
5944
6149
  * liveboardEmbed.trigger(HostEvent.UpdatePersonalisedView, {viewId: '1234'})
5945
6150
  * ```
5946
6151
  * @version SDK: 1.48.0 | ThoughtSpot: 26.5.0.cl
6152
+ * @deprecated SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
5947
6153
  */
5948
6154
  UpdatePersonalizedView = "UpdatePersonalisedView",
5949
6155
  /**
@@ -6046,6 +6252,10 @@ export declare enum HostEvent {
6046
6252
  * description: "Generated from Spotter"
6047
6253
  * }, ContextType.Spotter);
6048
6254
  * ```
6255
+ * @returns answerId - GUID of the saved Answer.
6256
+ * @returns saveResponse - Raw response from the save operation.
6257
+ * @returns shareResponse - Raw response from the share operation, when the
6258
+ * Answer was also made discoverable.
6049
6259
  * @version SDK: 1.36.0 | ThoughtSpot: 10.6.0.cl
6050
6260
  */
6051
6261
  SaveAnswer = "saveAnswer",
@@ -6519,6 +6729,7 @@ export declare enum Param {
6519
6729
  NumberFormatLocale = "numberFormatLocale",
6520
6730
  CurrencyFormat = "currencyFormat",
6521
6731
  Enable2ColumnLayout = "enable2ColumnLayout",
6732
+ IsLiveboardAlwaysOn12ColLayout = "isLiveboardAlwaysOn12ColLayout",
6522
6733
  IsFullAppEmbed = "isFullAppEmbed",
6523
6734
  IsOnBeforeGetVizDataInterceptEnabled = "isOnBeforeGetVizDataInterceptEnabled",
6524
6735
  FocusSearchBarOnRender = "focusSearchBarOnRender",
@@ -6542,6 +6753,7 @@ export declare enum Param {
6542
6753
  PrimaryAction = "primaryAction",
6543
6754
  isSpotterAgentEmbed = "isSpotterAgentEmbed",
6544
6755
  IsLiveboardStylingAndGroupingEnabled = "isLiveboardStylingAndGroupingEnabled",
6756
+ LiveboardGutter = "liveboardGutter",
6545
6757
  IsLazyLoadingForEmbedEnabled = "isLazyLoadingForEmbedEnabled",
6546
6758
  RootMarginForLazyLoad = "rootMarginForLazyLoad",
6547
6759
  isPNGInScheduledEmailsEnabled = "isPNGInScheduledEmailsEnabled",
@@ -6576,7 +6788,9 @@ export declare enum Param {
6576
6788
  SpotterFileUploadFileTypes = "spotterFileUploadFileTypes",
6577
6789
  IsStarterPromptsEnabled = "enableStarterPrompts",
6578
6790
  UpdatedSpotterExperience = "updatedSpotterExperience",
6579
- SpotterDataSources = "spotterDataSources"
6791
+ SpotterDataSources = "spotterDataSources",
6792
+ AnalystId = "analystId",
6793
+ OpenSpotterOnLiveboardByDefault = "openSpotterOnLiveboardByDefault"
6580
6794
  }
6581
6795
  /**
6582
6796
  * Configuration for allowed file types in Spotter file upload.
@@ -6589,9 +6803,10 @@ export type SpotterFileUploadFileTypes = {
6589
6803
  * ThoughtSpot application pages include actions and menu commands
6590
6804
  * for various user-initiated operations. These actions are represented
6591
6805
  * as enumeration members in the SDK. To control actions in the embedded view:
6592
- * - disabledActions — the action is grayed out and still visible, but non-interactive (user can see but not click).
6593
- * - hiddenActions — the action is completely removed from the UI (user cannot see it at all).
6594
- * - visibleActions — allowlist, only these actions are shown; all others are hidden.
6806
+ * - disabledActions — the action is grayed out and still visible, but non-interactive
6807
+ * (user can see but not click). - hiddenActions — the action is completely removed from
6808
+ * the UI (user cannot see it at all). - visibleActions — allowlist, only these actions
6809
+ * are shown; all others are hidden.
6595
6810
  *
6596
6811
  * Use disabledActions to disable (gray out) an action.
6597
6812
  * Use hiddenActions to hide (fully remove) an action.
@@ -6644,6 +6859,17 @@ export declare enum Action {
6644
6859
  * ```
6645
6860
  */
6646
6861
  SaveAsView = "saveAsView",
6862
+ /**
6863
+ * The **EditInputTable** action on a Liveboard
6864
+ * page. Allows users to edit an input table used in an Answer directly from
6865
+ * a Liveboard.
6866
+ * @example
6867
+ * ```js
6868
+ * disabledActions: [Action.EditInputTable]
6869
+ * ```
6870
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
6871
+ */
6872
+ EditInputTable = "editInputTable",
6647
6873
  /**
6648
6874
  * The **Make a copy** action on a Liveboard or Answer
6649
6875
  * page. Creates a copy of the Liveboard.
@@ -7959,6 +8185,10 @@ export declare enum Action {
7959
8185
  * The **Add to Coaching** feature allows adding reference questions and
7960
8186
  * business terms to improve Spotter’s responses. This feature is generally available
7961
8187
  * (GA) from version 26.2.0.cl and enabled by default on embed deployments.
8188
+ *
8189
+ * This action governs both the answer-card **Add to memory** CTA and its
8190
+ * Spotter 3 successor, the response-footer **Remember this** CTA
8191
+ * (they are mutually exclusive).
7962
8192
  * @example
7963
8193
  * ```js
7964
8194
  * hiddenAction: [Action.InConversationTraining]
@@ -8339,6 +8569,56 @@ export declare enum Action {
8339
8569
  * @version SDK: 1.48.0 | ThoughtSpot Cloud: 26.5.0.cl
8340
8570
  */
8341
8571
  SpotterChatModeSwitcher = "spotterChatModeSwitcher",
8572
+ /**
8573
+ * The **Basic Search** starter prompt pill.
8574
+ *
8575
+ * Starter prompt pills are the row of category buttons shown above the
8576
+ * Spotter chat input before a conversation starts. They give a new user
8577
+ * ready-made questions to click instead of typing one from scratch, and
8578
+ * disappear once the conversation begins. There are three, one per action
8579
+ * below.
8580
+ *
8581
+ * Clicking this pill opens a card of suggested simple questions; picking one
8582
+ * submits it to Spotter right away. Visible by default, and hidden along
8583
+ * with the other pills when the surface itself is off (see
8584
+ * {@link SpotterChatViewConfig.starterPrompts}).
8585
+ * @example
8586
+ * ```js
8587
+ * hiddenActions: [Action.QuickSearchPill]
8588
+ * ```
8589
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
8590
+ */
8591
+ QuickSearchPill = "quickSearchPill",
8592
+ /**
8593
+ * The **Deep Analysis** starter prompt pill, next to
8594
+ * {@link Action.QuickSearchPill} above the Spotter chat input.
8595
+ *
8596
+ * Clicking it opens a card of suggested investigative questions ("why did
8597
+ * revenue drop?"). Picking one fills the chat input in Deep Analysis mode
8598
+ * rather than submitting immediately, so the user can edit it first.
8599
+ * Visible by default.
8600
+ * @example
8601
+ * ```js
8602
+ * hiddenActions: [Action.DeepAnalysisPill]
8603
+ * ```
8604
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
8605
+ */
8606
+ DeepAnalysisPill = "deepAnalysisPill",
8607
+ /**
8608
+ * The **Data Literacy** starter prompt pill, next to
8609
+ * {@link Action.QuickSearchPill} above the Spotter chat input.
8610
+ *
8611
+ * Unlike the other two pills it opens no card: clicking it submits a prompt
8612
+ * that describes the data the model can answer over, helping a user who does
8613
+ * not yet know what is in the data source. The prompt text always comes from
8614
+ * ThoughtSpot, so only its label is customizable. Visible by default.
8615
+ * @example
8616
+ * ```js
8617
+ * hiddenActions: [Action.DataLiteracyPill]
8618
+ * ```
8619
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
8620
+ */
8621
+ DataLiteracyPill = "dataLiteracyPill",
8342
8622
  /**
8343
8623
  * The **Include current period** checkbox for date filters.
8344
8624
  * Controls the visibility and availability of the option to include
@@ -8486,7 +8766,39 @@ export declare enum Action {
8486
8766
  * disabledActions: [Action.SpotterAnalystSidebar]
8487
8767
  * ```
8488
8768
  */
8489
- SpotterAnalystSidebar = "spotterAnalystSidebar"
8769
+ SpotterAnalystSidebar = "spotterAnalystSidebar",
8770
+ /**
8771
+ * Controls visibility and disable state of the analyst list
8772
+ * ("Show all") in the Spotter Analyst interface.
8773
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
8774
+ * @example
8775
+ * ```js
8776
+ * hiddenActions: [Action.SpotterAnalystList]
8777
+ * disabledActions: [Action.SpotterAnalystList]
8778
+ * ```
8779
+ */
8780
+ SpotterAnalystList = "spotterAnalystList",
8781
+ /**
8782
+ * Controls visibility and disable state of the default Spotter analyst
8783
+ * entry in the Spotter Analyst interface.
8784
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
8785
+ * @example
8786
+ * ```js
8787
+ * hiddenActions: [Action.SpotterDefaultAnalyst]
8788
+ * disabledActions: [Action.SpotterDefaultAnalyst]
8789
+ * ```
8790
+ */
8791
+ SpotterDefaultAnalyst = "spotterDefaultAnalyst",
8792
+ /**
8793
+ * The **Spotter** button in the Liveboard header.
8794
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
8795
+ * @example
8796
+ * ```js
8797
+ * hiddenActions: [Action.SpotterOnLiveboard]
8798
+ * disabledActions: [Action.SpotterOnLiveboard]
8799
+ * ```
8800
+ */
8801
+ SpotterOnLiveboard = "spotterOnLiveboard"
8490
8802
  }
8491
8803
  export interface AnswerServiceType {
8492
8804
  getAnswer?: (offset: number, batchSize: number) => any;
@@ -8982,7 +9294,7 @@ export type ApiInterceptFlags = {
8982
9294
  * const embed = new LiveboardEmbed('#embed', {
8983
9295
  * ...viewConfig,
8984
9296
  * enableApiIntercept: true,
8985
- * interceptUrls: [InterceptedApiType.DATA],
9297
+ * interceptUrls: [InterceptedApiType.LiveboardData],
8986
9298
  * })
8987
9299
  * ```
8988
9300
  *