@thoughtspot/visual-embed-sdk 1.51.1 → 1.52.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/cjs/package.json +1 -1
  2. package/cjs/src/api-intercept.d.ts.map +1 -1
  3. package/cjs/src/api-intercept.js +1 -0
  4. package/cjs/src/api-intercept.js.map +1 -1
  5. package/cjs/src/css-variables.d.ts +1 -1
  6. package/cjs/src/embed/conversation.d.ts +5 -5
  7. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  8. package/cjs/src/embed/liveboard.js +2 -1
  9. package/cjs/src/embed/liveboard.js.map +1 -1
  10. package/cjs/src/embed/liveboard.spec.js +4 -4
  11. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  12. package/cjs/src/embed/search.spec.js +28 -0
  13. package/cjs/src/embed/search.spec.js.map +1 -1
  14. package/cjs/src/embed/ts-embed.d.ts +86 -5
  15. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  16. package/cjs/src/embed/ts-embed.js +30 -19
  17. package/cjs/src/embed/ts-embed.js.map +1 -1
  18. package/cjs/src/embed/ts-embed.spec.d.ts.map +1 -1
  19. package/cjs/src/embed/ts-embed.spec.js +55 -16
  20. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  21. package/cjs/src/index.d.ts +2 -2
  22. package/cjs/src/index.d.ts.map +1 -1
  23. package/cjs/src/index.js +2 -1
  24. package/cjs/src/index.js.map +1 -1
  25. package/cjs/src/react/all-types-export.d.ts +1 -1
  26. package/cjs/src/react/all-types-export.d.ts.map +1 -1
  27. package/cjs/src/react/all-types-export.js +2 -1
  28. package/cjs/src/react/all-types-export.js.map +1 -1
  29. package/cjs/src/react/index.d.ts +8 -8
  30. package/cjs/src/react/index.d.ts.map +1 -1
  31. package/cjs/src/react/index.js +1 -1
  32. package/cjs/src/react/index.js.map +1 -1
  33. package/cjs/src/react/index.spec.js +7 -7
  34. package/cjs/src/react/index.spec.js.map +1 -1
  35. package/cjs/src/types.d.ts +124 -36
  36. package/cjs/src/types.d.ts.map +1 -1
  37. package/cjs/src/types.js +80 -12
  38. package/cjs/src/types.js.map +1 -1
  39. package/cjs/src/utils.d.ts +5 -0
  40. package/cjs/src/utils.d.ts.map +1 -1
  41. package/cjs/src/utils.js +19 -1
  42. package/cjs/src/utils.js.map +1 -1
  43. package/cjs/src/utils.spec.js +33 -0
  44. package/cjs/src/utils.spec.js.map +1 -1
  45. package/dist/{index-DxLfQxoT.js → index-BMppCU63.js} +1 -1
  46. package/dist/src/api-intercept.d.ts.map +1 -1
  47. package/dist/src/css-variables.d.ts +1 -1
  48. package/dist/src/embed/conversation.d.ts +5 -5
  49. package/dist/src/embed/liveboard.d.ts.map +1 -1
  50. package/dist/src/embed/ts-embed.d.ts +86 -5
  51. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  52. package/dist/src/embed/ts-embed.spec.d.ts.map +1 -1
  53. package/dist/src/index.d.ts +2 -2
  54. package/dist/src/index.d.ts.map +1 -1
  55. package/dist/src/react/all-types-export.d.ts +1 -1
  56. package/dist/src/react/all-types-export.d.ts.map +1 -1
  57. package/dist/src/react/index.d.ts +8 -8
  58. package/dist/src/react/index.d.ts.map +1 -1
  59. package/dist/src/types.d.ts +124 -36
  60. package/dist/src/types.d.ts.map +1 -1
  61. package/dist/src/utils.d.ts +5 -0
  62. package/dist/src/utils.d.ts.map +1 -1
  63. package/dist/tsembed-react.es.js +133 -35
  64. package/dist/tsembed-react.js +132 -34
  65. package/dist/tsembed.es.js +133 -35
  66. package/dist/tsembed.js +131 -33
  67. package/dist/visual-embed-sdk-react-full.d.ts +223 -54
  68. package/dist/visual-embed-sdk-react.d.ts +199 -53
  69. package/dist/visual-embed-sdk.d.ts +215 -46
  70. package/lib/package.json +1 -1
  71. package/lib/src/api-intercept.d.ts.map +1 -1
  72. package/lib/src/api-intercept.js +2 -1
  73. package/lib/src/api-intercept.js.map +1 -1
  74. package/lib/src/css-variables.d.ts +1 -1
  75. package/lib/src/embed/conversation.d.ts +5 -5
  76. package/lib/src/embed/liveboard.d.ts.map +1 -1
  77. package/lib/src/embed/liveboard.js +3 -2
  78. package/lib/src/embed/liveboard.js.map +1 -1
  79. package/lib/src/embed/liveboard.spec.js +4 -4
  80. package/lib/src/embed/liveboard.spec.js.map +1 -1
  81. package/lib/src/embed/search.spec.js +28 -0
  82. package/lib/src/embed/search.spec.js.map +1 -1
  83. package/lib/src/embed/ts-embed.d.ts +86 -5
  84. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  85. package/lib/src/embed/ts-embed.js +32 -21
  86. package/lib/src/embed/ts-embed.js.map +1 -1
  87. package/lib/src/embed/ts-embed.spec.d.ts.map +1 -1
  88. package/lib/src/embed/ts-embed.spec.js +56 -17
  89. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  90. package/lib/src/index.d.ts +2 -2
  91. package/lib/src/index.d.ts.map +1 -1
  92. package/lib/src/index.js +2 -2
  93. package/lib/src/index.js.map +1 -1
  94. package/lib/src/react/all-types-export.d.ts +1 -1
  95. package/lib/src/react/all-types-export.d.ts.map +1 -1
  96. package/lib/src/react/all-types-export.js +1 -1
  97. package/lib/src/react/all-types-export.js.map +1 -1
  98. package/lib/src/react/index.d.ts +8 -8
  99. package/lib/src/react/index.d.ts.map +1 -1
  100. package/lib/src/react/index.js +1 -1
  101. package/lib/src/react/index.js.map +1 -1
  102. package/lib/src/react/index.spec.js +7 -7
  103. package/lib/src/react/index.spec.js.map +1 -1
  104. package/lib/src/types.d.ts +124 -36
  105. package/lib/src/types.d.ts.map +1 -1
  106. package/lib/src/types.js +79 -11
  107. package/lib/src/types.js.map +1 -1
  108. package/lib/src/utils.d.ts +5 -0
  109. package/lib/src/utils.d.ts.map +1 -1
  110. package/lib/src/utils.js +17 -0
  111. package/lib/src/utils.js.map +1 -1
  112. package/lib/src/utils.spec.js +34 -1
  113. package/lib/src/utils.spec.js.map +1 -1
  114. package/lib/src/visual-embed-sdk.d.ts +215 -46
  115. package/package.json +1 -1
  116. package/src/api-intercept.ts +2 -1
  117. package/src/css-variables.ts +1 -1
  118. package/src/embed/conversation.ts +5 -5
  119. package/src/embed/liveboard.spec.ts +4 -4
  120. package/src/embed/liveboard.ts +3 -1
  121. package/src/embed/search.spec.ts +31 -0
  122. package/src/embed/ts-embed.spec.ts +70 -16
  123. package/src/embed/ts-embed.ts +32 -20
  124. package/src/index.ts +2 -0
  125. package/src/react/all-types-export.ts +1 -0
  126. package/src/react/index.spec.tsx +7 -7
  127. package/src/react/index.tsx +9 -9
  128. package/src/types.ts +125 -36
  129. package/src/utils.spec.ts +44 -0
  130. package/src/utils.ts +16 -0
@@ -445,7 +445,7 @@ export interface CustomCssVariables {
445
445
  * Left and right margin of the header and the tab/filter section of an
446
446
  * embedded Liveboard. Use alongside the `liveboardGutter` view config to
447
447
  * keep the header aligned with a custom tile-grid gutter.
448
- * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
448
+ * @version SDK: 1.51.1 | ThoughtSpot Cloud: 26.8.0.cl
449
449
  */
450
450
  "--ts-var-liveboard-header-horizontal-margin"?: string;
451
451
  /**
@@ -2100,9 +2100,11 @@ export interface FrameParams {
2100
2100
  }
2101
2101
  /**
2102
2102
  * Configuration for the pre-render wrapper element.
2103
- * All properties here mirror the top-level preRender properties on
2104
- * {@link BaseViewConfig} and take precedence over them when both are set,
2105
- * so existing top-level usage continues to work without any changes.
2103
+ * Each property here supersedes its deprecated top-level counterpart on
2104
+ * {@link BaseViewConfig} `id` over `preRenderId`, `containerSelector` over
2105
+ * `preRenderContainer` and `doNotTrackSize` over `doNotTrackPreRenderSize`
2106
+ * and takes precedence when both are set, so existing top-level usage continues
2107
+ * to work without any changes.
2106
2108
  *
2107
2109
  * @version SDK: 1.52.0
2108
2110
  * @example
@@ -2110,9 +2112,9 @@ export interface FrameParams {
2110
2112
  * init({ thoughtSpotHost: '...', authType: AuthType.None });
2111
2113
  * const embed = new LiveboardEmbed('#tsEmbed', {
2112
2114
  * preRenderConfig: {
2113
- * preRenderId: 'my-liveboard',
2114
- * preRenderContainer: '#my-scroll-container',
2115
- * doNotTrackPreRenderSize: false,
2115
+ * id: 'my-liveboard',
2116
+ * containerSelector: '#my-scroll-container',
2117
+ * doNotTrackSize: false,
2116
2118
  * zIndex: -10,
2117
2119
  * },
2118
2120
  * });
@@ -2133,7 +2135,7 @@ export interface PreRenderConfig {
2133
2135
  *
2134
2136
  * @default undefined
2135
2137
  */
2136
- preRenderId?: string;
2138
+ id?: string;
2137
2139
  /**
2138
2140
  * The DOM element or CSS selector string specifying the container into
2139
2141
  * which the pre-rendered wrapper is inserted.
@@ -2149,7 +2151,7 @@ export interface PreRenderConfig {
2149
2151
  *
2150
2152
  * @default document.body
2151
2153
  */
2152
- preRenderContainer?: string | HTMLElement;
2154
+ containerSelector?: string | HTMLElement;
2153
2155
  /**
2154
2156
  * Disables the `ResizeObserver` that keeps the wrapper sized to the
2155
2157
  * placeholder element.
@@ -2161,7 +2163,7 @@ export interface PreRenderConfig {
2161
2163
  *
2162
2164
  * @default false
2163
2165
  */
2164
- doNotTrackPreRenderSize?: boolean;
2166
+ doNotTrackSize?: boolean;
2165
2167
  /**
2166
2168
  * CSS `z-index` value applied to the pre-render wrapper when hidden.
2167
2169
  * Override this when the host page's stacking context does not reach `-1000`
@@ -2368,7 +2370,7 @@ export interface BaseViewConfig extends ApiInterceptFlags {
2368
2370
  *
2369
2371
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`, `SearchEmbed`, `SpotterAgentEmbed`, `SpotterEmbed`, `SearchBarEmbed`
2370
2372
  * @version SDK: 1.25.0 | ThoughtSpot: 9.6.0.cl, 9.8.0.sw
2371
- * @deprecated Use {@link PreRenderConfig.preRenderId} via `preRenderConfig` instead.
2373
+ * @deprecated Use {@link PreRenderConfig.id} via `preRenderConfig` instead.
2372
2374
  * @example
2373
2375
  * ```js
2374
2376
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
@@ -2388,7 +2390,7 @@ export interface BaseViewConfig extends ApiInterceptFlags {
2388
2390
  * @type {boolean}
2389
2391
  * @default false
2390
2392
  * @version SDK: 1.24.0 | ThoughtSpot: 9.4.0.cl, 9.4.0.sw
2391
- * @deprecated Use {@link PreRenderConfig.doNotTrackPreRenderSize} via `preRenderConfig` instead.
2393
+ * @deprecated Use {@link PreRenderConfig.doNotTrackSize} via `preRenderConfig` instead.
2392
2394
  * @example
2393
2395
  * ```js
2394
2396
  * // Disable tracking PreRender size in the configuration
@@ -2430,7 +2432,7 @@ export interface BaseViewConfig extends ApiInterceptFlags {
2430
2432
  *
2431
2433
  * @type {string | HTMLElement}
2432
2434
  * @version SDK: 1.49.2 | ThoughtSpot: *
2433
- * @deprecated Use {@link PreRenderConfig.preRenderContainer} via `preRenderConfig` instead.
2435
+ * @deprecated Use {@link PreRenderConfig.containerSelector} via `preRenderConfig` instead.
2434
2436
  * @example
2435
2437
  * ```js
2436
2438
  * const embed = new LiveboardEmbed('#tsEmbed', {
@@ -2443,9 +2445,11 @@ export interface BaseViewConfig extends ApiInterceptFlags {
2443
2445
  preRenderContainer?: string | HTMLElement;
2444
2446
  /**
2445
2447
  * Configuration for the pre-render wrapper element.
2446
- * All properties here mirror the top-level preRender properties on
2447
- * `BaseViewConfig` and take precedence over them when both are set,
2448
- * so existing top-level usage continues to work without any changes.
2448
+ * Each property here supersedes its deprecated top-level counterpart on
2449
+ * `BaseViewConfig` `id` over `preRenderId`, `containerSelector` over
2450
+ * `preRenderContainer` and `doNotTrackSize` over `doNotTrackPreRenderSize`
2451
+ * and takes precedence when both are set, so existing top-level usage
2452
+ * continues to work without any changes.
2449
2453
  * See {@link PreRenderConfig} for available options.
2450
2454
  *
2451
2455
  * @version SDK: 1.52.0
@@ -2453,7 +2457,7 @@ export interface BaseViewConfig extends ApiInterceptFlags {
2453
2457
  * ```js
2454
2458
  * const embed = new LiveboardEmbed('#tsEmbed', {
2455
2459
  * preRenderConfig: {
2456
- * preRenderId: 'my-liveboard',
2460
+ * id: 'my-liveboard',
2457
2461
  * zIndex: -10,
2458
2462
  * },
2459
2463
  * });
@@ -3205,7 +3209,7 @@ export interface LiveboardAppEmbedViewConfig {
3205
3209
  *
3206
3210
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
3207
3211
  * @type {boolean}
3208
- * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
3212
+ * @version SDK: 1.51.1 | ThoughtSpot Cloud: 26.8.0.cl
3209
3213
  * @default false
3210
3214
  * @example
3211
3215
  * ```js
@@ -3330,7 +3334,7 @@ export interface LiveboardAppEmbedViewConfig {
3330
3334
  *
3331
3335
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
3332
3336
  * @type {number}
3333
- * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
3337
+ * @version SDK: 1.51.1 | ThoughtSpot Cloud: 26.8.0.cl
3334
3338
  * @example
3335
3339
  * ```js
3336
3340
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
@@ -4978,7 +4982,32 @@ export declare enum EmbedEvent {
4978
4982
  */
4979
4983
  OrgSwitched = "orgSwitched",
4980
4984
  /**
4981
- * Emitted when the user intercepts a URL.
4985
+ * Emitted before the embedded ThoughtSpot app sends a network request whose
4986
+ * fully resolved URL matches one of the `interceptUrls` in the view config.
4987
+ * The request is held until you call `responder`, which decides whether the
4988
+ * real request goes out or a response you supply is used in its place.
4989
+ *
4990
+ * Setting `interceptUrls` is what enables this; there is no separate enable
4991
+ * flag. If `responder` is not called within `interceptTimeout` (30000 ms by
4992
+ * default) the request fails and `EmbedEvent.Error` is emitted.
4993
+ *
4994
+ * The payload is `{ input, init, urlType }`, where `input` is the request
4995
+ * URL and `init` is the `fetch` init object, with `init.body` parsed into an
4996
+ * object when it is valid JSON. `urlType` is the matching
4997
+ * `InterceptedApiType`; it is `InterceptedApiType.ALL` for any URL outside
4998
+ * the recognized API groups.
4999
+ *
5000
+ * Interception wraps the outermost layer of `fetch`, so `init` holds the
5001
+ * request as the application composed it, before ThoughtSpot attaches its
5002
+ * authentication headers. Those headers, and any token refresh and retry,
5003
+ * are applied afterwards and only when you pass `execute: true`. Only
5004
+ * requests made through `fetch` are intercepted.
5005
+ *
5006
+ * Pass `execute: true` to let the original request proceed untouched, in
5007
+ * which case any `response` you supply alongside it is ignored. With
5008
+ * `execute: false` the request is never sent, and your `response.body` is
5009
+ * returned to the app as JSON, defaulting to status 200 and a
5010
+ * `Content-Type: application/json` header.
4982
5011
  *
4983
5012
  * Supported on all embed types.
4984
5013
  *
@@ -5787,7 +5816,7 @@ export declare enum HostEvent {
5787
5816
  *
5788
5817
  * Unlike {@link HostEvent.OpenFilter}, which opens the panel of an
5789
5818
  * existing filter, this event starts the creation of a new filter.
5790
- * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
5819
+ * @version SDK: 1.51.1 | ThoughtSpot Cloud: 26.8.0.cl
5791
5820
  * @example
5792
5821
  * ```js
5793
5822
  * liveboardEmbed.trigger(HostEvent.OpenAddFilterModal);
@@ -5803,7 +5832,7 @@ export declare enum HostEvent {
5803
5832
  * Hiding the *Add parameter* button with `hiddenActions:
5804
5833
  * [Action.AddParameter]` does not block this event, but disabling it
5805
5834
  * with `disabledActions` does.
5806
- * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
5835
+ * @version SDK: 1.51.1 | ThoughtSpot Cloud: 26.8.0.cl
5807
5836
  * @example
5808
5837
  * ```js
5809
5838
  * liveboardEmbed.trigger(HostEvent.OpenAddParameterModal);
@@ -7680,7 +7709,13 @@ export declare enum HostEvent {
7680
7709
  */
7681
7710
  UpdateEmbedParams = "updateEmbedParams",
7682
7711
  /**
7683
- * Triggered when the embed needs to be destroyed. This is used to clean up any embed-related resources internally.
7712
+ * Notifies the embedded ThoughtSpot app that the embed is being torn down, so that
7713
+ * it can release any resources it holds before the iframe is removed from the DOM.
7714
+ *
7715
+ * This is triggered for you by `embed.destroy()`; you rarely need to trigger it
7716
+ * directly. If `waitForCleanupOnDestroy` is set in the embed config, `destroy()`
7717
+ * waits for the app to acknowledge this event (up to `cleanupTimeout`) before
7718
+ * removing the iframe.
7684
7719
  * @example
7685
7720
  * ```js
7686
7721
  * liveboardEmbed.trigger(HostEvent.DestroyEmbed);
@@ -9612,7 +9647,7 @@ export declare enum Action {
9612
9647
  * ```js
9613
9648
  * hiddenActions: [Action.QuickSearchPill]
9614
9649
  * ```
9615
- * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9650
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
9616
9651
  */
9617
9652
  QuickSearchPill = "quickSearchPill",
9618
9653
  /**
@@ -9627,7 +9662,7 @@ export declare enum Action {
9627
9662
  * ```js
9628
9663
  * hiddenActions: [Action.DeepAnalysisPill]
9629
9664
  * ```
9630
- * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9665
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
9631
9666
  */
9632
9667
  DeepAnalysisPill = "deepAnalysisPill",
9633
9668
  /**
@@ -9642,7 +9677,7 @@ export declare enum Action {
9642
9677
  * ```js
9643
9678
  * hiddenActions: [Action.DataLiteracyPill]
9644
9679
  * ```
9645
- * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
9680
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
9646
9681
  */
9647
9682
  DataLiteracyPill = "dataLiteracyPill",
9648
9683
  /**
@@ -10124,9 +10159,19 @@ export interface EmbedErrorDetailsEvent {
10124
10159
  message: string | string[];
10125
10160
  /** Machine-readable error code for programmatic error handling */
10126
10161
  code: EmbedErrorCodes;
10162
+ /** How badly the embed is affected. Defaults to {@link EmbedErrorSeverity.SEV3}. */
10163
+ severity?: EmbedErrorSeverity;
10127
10164
  /** Additional context-specific for backward compatibility */
10128
10165
  [key: string]: any;
10129
10166
  }
10167
+ declare enum EmbedErrorSeverity {
10168
+ /** The embed cannot render. Nothing usable is on screen. */
10169
+ SEV1 = 1,
10170
+ /** Something is degraded but the embed still works. */
10171
+ SEV2 = 2,
10172
+ /** Everything else, including validation of the embedder's own input. */
10173
+ SEV3 = 3
10174
+ }
10130
10175
  declare enum ContextType {
10131
10176
  /**
10132
10177
  * Search answer context for search page or edit viz dialog on liveboard page.
@@ -10169,21 +10214,34 @@ export interface DefaultAppInitData {
10169
10214
  }
10170
10215
  declare enum InterceptedApiType {
10171
10216
  /**
10172
- * The apis that are use to get the data for the embed
10217
+ * The APIs that fetch the data backing an Answer, including its chart,
10218
+ * table, and headline data.
10173
10219
  */
10174
10220
  AnswerData = "AnswerData",
10175
10221
  /**
10176
- * This will intercept all the apis
10222
+ * Intercepts every `fetch` request the embedded application makes, not only
10223
+ * the data APIs. This includes authentication, session, and metadata calls,
10224
+ * so the handler must respond to requests it does not recognize by passing
10225
+ * `execute: true`. Listing this alongside other entries in `interceptUrls`
10226
+ * supersedes them.
10177
10227
  */
10178
10228
  ALL = "ALL",
10179
10229
  /**
10180
- * The apis that are use to get the data for the liveboard
10230
+ * The APIs that fetch the data backing a Liveboard.
10181
10231
  */
10182
10232
  LiveboardData = "LiveboardData"
10183
10233
  }
10184
10234
  export type ApiInterceptFlags = {
10185
10235
  /**
10186
- * Flag that allows using `EmbedEvent.OnBeforeGetVizDataIntercept`.
10236
+ * Emits `EmbedEvent.OnBeforeGetVizDataIntercept` before the Answer data
10237
+ * APIs are called. This is the earlier, narrower form of interception, kept
10238
+ * for backward compatibility and implemented on top of
10239
+ * `EmbedEvent.ApiIntercept`. Prefer `interceptUrls` with
10240
+ * `InterceptedApiType.AnswerData` in new code.
10241
+ *
10242
+ * Setting this also intercepts the Answer data APIs, so both
10243
+ * `EmbedEvent.OnBeforeGetVizDataIntercept` and `EmbedEvent.ApiIntercept`
10244
+ * are emitted for those requests.
10187
10245
  *
10188
10246
  * Can be used for Search and App Embed from SDK 1.29.0
10189
10247
  *
@@ -10191,14 +10249,21 @@ export type ApiInterceptFlags = {
10191
10249
  */
10192
10250
  isOnBeforeGetVizDataInterceptEnabled?: boolean;
10193
10251
  /**
10194
- * This allows to intercept the urls passed, once intercepted the api will only
10195
- * run based on the response from the responder of ApiIntercept event.
10252
+ * The requests to intercept, given as `InterceptedApiType` groups, absolute
10253
+ * URLs, or paths beginning with `/` that are resolved against the
10254
+ * ThoughtSpot host. Setting this is what turns interception on.
10255
+ *
10256
+ * A URL matches only on exact equality with the request's fully resolved
10257
+ * URL, query string included, so prefer an `InterceptedApiType` group where
10258
+ * one covers the API you need.
10259
+ *
10260
+ * Each intercepted request pauses and emits `EmbedEvent.ApiIntercept`, then
10261
+ * proceeds according to the response passed to that event's responder.
10196
10262
  *
10197
10263
  * @example
10198
10264
  * ```js
10199
10265
  * const embed = new LiveboardEmbed('#embed', {
10200
10266
  * ...viewConfig,
10201
- * enableApiIntercept: true,
10202
10267
  * interceptUrls: [InterceptedApiType.LiveboardData],
10203
10268
  * })
10204
10269
  * ```
@@ -10207,14 +10272,14 @@ export type ApiInterceptFlags = {
10207
10272
  */
10208
10273
  interceptUrls?: (string | InterceptedApiType)[];
10209
10274
  /**
10210
- * The timeout for the intercept, default is 30000ms
10211
- * the api will error out if the timeout is reached
10275
+ * How long, in milliseconds, an intercepted request waits for the
10276
+ * `EmbedEvent.ApiIntercept` responder before it is abandoned. Defaults to
10277
+ * 30000. On timeout the request fails and `EmbedEvent.Error` is emitted.
10212
10278
  *
10213
10279
  * @example
10214
10280
  * ```js
10215
10281
  * const embed = new LiveboardEmbed('#embed', {
10216
10282
  * ...viewConfig,
10217
- * enableApiIntercept: true,
10218
10283
  * interceptUrls: [InterceptedApiType.ALL],
10219
10284
  * interceptTimeout: 1000,
10220
10285
  * })
@@ -11267,7 +11332,87 @@ declare class TsEmbed {
11267
11332
  * @param query
11268
11333
  */
11269
11334
  protected getEmbedBasePath(query: string): string;
11270
- protected getUpdateEmbedParamsObject(): Promise<Record<any, any>>;
11335
+ protected getUpdateEmbedParamsObject(): Promise<{
11336
+ customisations: CustomisationsInterface;
11337
+ authToken: string;
11338
+ runtimeFilterParams: string;
11339
+ runtimeParameterParams: string;
11340
+ hiddenHomepageModules: HomepageModule[];
11341
+ reorderedHomepageModules: string[];
11342
+ hostConfig: Record<string, any>;
11343
+ hiddenHomeLeftNavItems: string[];
11344
+ customVariablesForThirdPartyTools: Record<string, any>;
11345
+ hiddenListColumns: ListPageColumns[];
11346
+ customActions: CustomAction[];
11347
+ interceptTimeout: number;
11348
+ interceptUrls: string[];
11349
+ embedExpiryInAuthToken: boolean;
11350
+ shouldBypassPayloadValidation?: boolean;
11351
+ useHostEventsV2?: boolean;
11352
+ layoutConfig?: LayoutConfig;
11353
+ frameParams?: FrameParams;
11354
+ theme?: string;
11355
+ styleSheet__unstable?: string;
11356
+ disabledActions?: Action[];
11357
+ disabledActionReason?: string;
11358
+ hiddenActions?: Action[];
11359
+ visibleActions?: Action[];
11360
+ locale?: string;
11361
+ additionalFlags?: {
11362
+ [key: string]: string | number | boolean;
11363
+ };
11364
+ customizations?: CustomisationsInterface;
11365
+ insertAsSibling?: boolean;
11366
+ usePrerenderedIfAvailable?: boolean;
11367
+ preRenderId?: string;
11368
+ doNotTrackPreRenderSize?: boolean;
11369
+ preRenderContainer?: string | HTMLElement;
11370
+ preRenderConfig?: PreRenderConfig;
11371
+ enableV2Shell_experimental?: boolean;
11372
+ embedComponentType?: string;
11373
+ exposeTranslationIDs?: boolean;
11374
+ disableRedirectionLinksInNewTab?: boolean;
11375
+ overrideOrgId?: number;
11376
+ overrideHistoryState?: boolean;
11377
+ linkOverride?: boolean;
11378
+ enableLinkOverridesV2?: boolean;
11379
+ primaryAction?: string;
11380
+ insertInToSlide?: boolean;
11381
+ showAlerts?: boolean;
11382
+ refreshAuthTokenOnNearExpiry?: boolean;
11383
+ isOnBeforeGetVizDataInterceptEnabled?: boolean;
11384
+ runtimeFilters?: RuntimeFilter[];
11385
+ runtimeParameters?: RuntimeParameter[];
11386
+ contextMenuTrigger?: ContextMenuTriggerOptions;
11387
+ excludeRuntimeFiltersfromURL?: boolean;
11388
+ excludeRuntimeParametersfromURL?: boolean;
11389
+ collapseSearchBar?: boolean;
11390
+ dataPanelV2?: boolean;
11391
+ enableCustomColumnGroups?: boolean;
11392
+ isThisPeriodInDateFiltersEnabled?: boolean;
11393
+ hideLiveboardHeader?: boolean;
11394
+ showLiveboardTitle?: boolean;
11395
+ showLiveboardDescription?: boolean;
11396
+ isLiveboardHeaderSticky?: boolean;
11397
+ enable2ColumnLayout?: boolean;
11398
+ isLiveboardAlwaysOn12ColLayout?: boolean;
11399
+ isLiveboardCompactHeaderEnabled?: boolean;
11400
+ showLiveboardVerifiedBadge?: boolean;
11401
+ hideIrrelevantChipsInLiveboardTabs?: boolean;
11402
+ showLiveboardReverifyBanner?: boolean;
11403
+ enableAskSage?: boolean;
11404
+ coverAndFilterOptionInPDF?: boolean;
11405
+ liveboardGutter?: number;
11406
+ isCentralizedLiveboardFilterUXEnabled?: boolean;
11407
+ isScopedLiveboardFilteringEnabled?: boolean;
11408
+ isLinkParametersEnabled?: boolean;
11409
+ isEnhancedFilterInteractivityEnabled?: boolean;
11410
+ showMaskedFilterChip?: boolean;
11411
+ isLiveboardMasterpiecesEnabled?: boolean;
11412
+ newChartsLibrary?: boolean;
11413
+ visibleTabs?: string[];
11414
+ hiddenTabs?: string[];
11415
+ }>;
11271
11416
  /**
11272
11417
  * Common query params set for all the embed modes.
11273
11418
  * @param queryParams
@@ -11287,9 +11432,10 @@ declare class TsEmbed {
11287
11432
  protected getRootIframeSrc(): string;
11288
11433
  protected createIframeEl(frameSrc: string): HTMLIFrameElement;
11289
11434
  /**
11290
- * Returns a merged {@link PreRenderConfig} object where each shared key
11291
- * prefers `preRenderConfig.key` over the top-level `viewConfig.key` for
11292
- * backward compatibility.
11435
+ * Returns a merged {@link PreRenderConfig} object where each key prefers the
11436
+ * value from `preRenderConfig` over its deprecated top-level `viewConfig`
11437
+ * counterpart (`id`/`preRenderId`, `containerSelector`/`preRenderContainer`,
11438
+ * `doNotTrackSize`/`doNotTrackPreRenderSize`) for backward compatibility.
11293
11439
  */
11294
11440
  protected getPreRenderConfig(): PreRenderConfig;
11295
11441
  /**
@@ -12343,7 +12489,7 @@ export interface SpotterShareConversationConfig {
12343
12489
  }
12344
12490
  /**
12345
12491
  * A single starter prompt question shown under a category pill.
12346
- * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12492
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
12347
12493
  * @group Embed components
12348
12494
  */
12349
12495
  export interface StarterPromptQuestion {
@@ -12361,7 +12507,7 @@ export interface StarterPromptQuestion {
12361
12507
  /**
12362
12508
  * Configuration for a starter prompt category with questions
12363
12509
  * (`quick` and `research`).
12364
- * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12510
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
12365
12511
  * @group Embed components
12366
12512
  */
12367
12513
  export interface StarterPromptCategory {
@@ -12379,7 +12525,7 @@ export interface StarterPromptCategory {
12379
12525
  /**
12380
12526
  * Configuration for the Data Literacy starter prompt category.
12381
12527
  * Only the label is customizable; the prompt text comes from the backend.
12382
- * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12528
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
12383
12529
  * @group Embed components
12384
12530
  */
12385
12531
  export interface StarterPreviewDataCategory {
@@ -12397,7 +12543,7 @@ export interface StarterPreviewDataCategory {
12397
12543
  * Note: this controls the Spotter chat interface only. The starter prompts on
12398
12544
  * the Liveboard SpotterViz surface are configured separately through
12399
12545
  * {@link SpotterVizConfig.customStarterPrompts}.
12400
- * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12546
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
12401
12547
  * @group Embed components
12402
12548
  */
12403
12549
  export interface StarterPromptsConfig {
@@ -12477,7 +12623,7 @@ export interface SpotterChatViewConfig {
12477
12623
  * `Action.DeepAnalysisPill` and `Action.DataLiteracyPill`.
12478
12624
  *
12479
12625
  * Supported embed types: `SpotterEmbed`, `LiveboardEmbed`, `AppEmbed`
12480
- * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
12626
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
12481
12627
  * @example
12482
12628
  * ```js
12483
12629
  * const embed = new SpotterEmbed('#tsEmbed', {
@@ -14899,9 +15045,9 @@ export interface SearchProps extends EmbedProps, SearchViewConfig {
14899
15045
  }
14900
15046
  /**
14901
15047
  * The PreRendered components require a preRender id. It can be supplied either
14902
- * through `preRenderConfig.preRenderId` (SDK: 1.52.0 and later) or through the
15048
+ * through `preRenderConfig.id` (SDK: 1.52.0 and later) or through the
14903
15049
  * top-level `preRenderId` prop (SDK: 1.25.0 and later, now deprecated).
14904
- * `preRenderConfig.preRenderId` takes precedence when both are set.
15050
+ * `preRenderConfig.id` takes precedence when both are set.
14905
15051
  *
14906
15052
  * Use PreRender to render the embed in the background and then
14907
15053
  * show or hide the rendered embed using showPreRender or hidePreRender respectively.
@@ -14910,14 +15056,14 @@ export interface SearchProps extends EmbedProps, SearchViewConfig {
14910
15056
  * // Preferred, SDK: 1.52.0 and later.
14911
15057
  * function LandingPageComponent() {
14912
15058
  * return <PreRenderedLiveboardEmbed
14913
- * preRenderConfig={{ preRenderId: "someId" }}
15059
+ * preRenderConfig={{ id: "someId" }}
14914
15060
  * liveboardId="libId"
14915
15061
  * />
14916
15062
  * }
14917
15063
  *
14918
15064
  * function MyComponent() {
14919
15065
  * return <LiveboardEmbed
14920
- * preRenderConfig={{ preRenderId: "someId" }}
15066
+ * preRenderConfig={{ id: "someId" }}
14921
15067
  * liveboardId="libId"
14922
15068
  * />
14923
15069
  * }
@@ -14934,7 +15080,7 @@ export type PreRenderProps = {
14934
15080
  /**
14935
15081
  * PreRender id to be used for PreRendering the embed.
14936
15082
  * @version SDK: 1.25.0 | ThoughtSpot: 9.6.0.cl
14937
- * @deprecated Use `preRenderConfig.preRenderId` instead.
15083
+ * @deprecated Use `preRenderConfig.id` instead.
14938
15084
  */
14939
15085
  preRenderId: string;
14940
15086
  /**
@@ -14947,17 +15093,17 @@ export type PreRenderProps = {
14947
15093
  /**
14948
15094
  * PreRender id to be used for PreRendering the embed.
14949
15095
  * @version SDK: 1.25.0 | ThoughtSpot: 9.6.0.cl
14950
- * @deprecated Use `preRenderConfig.preRenderId` instead.
15096
+ * @deprecated Use `preRenderConfig.id` instead.
14951
15097
  */
14952
15098
  preRenderId?: string;
14953
15099
  /**
14954
- * Configuration for the pre-render wrapper element. `preRenderId` is
15100
+ * Configuration for the pre-render wrapper element. `id` is
14955
15101
  * required here when the top-level `preRenderId` prop is not passed.
14956
15102
  * See {@link PreRenderConfig} for available options.
14957
15103
  * @version SDK: 1.52.0
14958
15104
  */
14959
15105
  preRenderConfig: PreRenderConfig & {
14960
- preRenderId: string;
15106
+ id: string;
14961
15107
  };
14962
15108
  };
14963
15109
  /**