@thoughtspot/visual-embed-sdk 1.40.1 → 1.40.3

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 (149) hide show
  1. package/cjs/package.json +1 -1
  2. package/cjs/src/embed/app.d.ts.map +1 -1
  3. package/cjs/src/embed/app.js +5 -1
  4. package/cjs/src/embed/app.js.map +1 -1
  5. package/cjs/src/embed/app.spec.js +33 -3
  6. package/cjs/src/embed/app.spec.js.map +1 -1
  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 +22 -0
  11. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  12. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  13. package/cjs/src/embed/ts-embed.js +12 -0
  14. package/cjs/src/embed/ts-embed.js.map +1 -1
  15. package/cjs/src/embed/ts-embed.spec.d.ts.map +1 -1
  16. package/cjs/src/embed/ts-embed.spec.js +122 -0
  17. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  18. package/cjs/src/errors.d.ts +10 -0
  19. package/cjs/src/errors.d.ts.map +1 -1
  20. package/cjs/src/errors.js +11 -1
  21. package/cjs/src/errors.js.map +1 -1
  22. package/cjs/src/index.d.ts +2 -2
  23. package/cjs/src/index.d.ts.map +1 -1
  24. package/cjs/src/index.js +3 -1
  25. package/cjs/src/index.js.map +1 -1
  26. package/cjs/src/react/index.d.ts +1 -1
  27. package/cjs/src/react/index.d.ts.map +1 -1
  28. package/cjs/src/react/index.js +2 -1
  29. package/cjs/src/react/index.js.map +1 -1
  30. package/cjs/src/types.d.ts +131 -5
  31. package/cjs/src/types.d.ts.map +1 -1
  32. package/cjs/src/types.js +39 -11
  33. package/cjs/src/types.js.map +1 -1
  34. package/cjs/src/utils/custom-actions.d.ts +12 -0
  35. package/cjs/src/utils/custom-actions.d.ts.map +1 -0
  36. package/cjs/src/utils/custom-actions.js +180 -0
  37. package/cjs/src/utils/custom-actions.js.map +1 -0
  38. package/cjs/src/utils/custom-actions.spec.d.ts +2 -0
  39. package/cjs/src/utils/custom-actions.spec.d.ts.map +1 -0
  40. package/cjs/src/utils/custom-actions.spec.js +399 -0
  41. package/cjs/src/utils/custom-actions.spec.js.map +1 -0
  42. package/cjs/src/utils/processData.d.ts.map +1 -1
  43. package/cjs/src/utils/processData.js +10 -0
  44. package/cjs/src/utils/processData.js.map +1 -1
  45. package/cjs/src/utils/processData.spec.js +11 -0
  46. package/cjs/src/utils/processData.spec.js.map +1 -1
  47. package/cjs/src/utils.d.ts +7 -0
  48. package/cjs/src/utils.d.ts.map +1 -1
  49. package/cjs/src/utils.js +11 -1
  50. package/cjs/src/utils.js.map +1 -1
  51. package/cjs/src/utils.spec.js +28 -0
  52. package/cjs/src/utils.spec.js.map +1 -1
  53. package/dist/{index-P5YjBOuJ.js → index-BICLzyVL.js} +1 -1
  54. package/dist/src/embed/app.d.ts.map +1 -1
  55. package/dist/src/embed/liveboard.d.ts.map +1 -1
  56. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  57. package/dist/src/embed/ts-embed.spec.d.ts.map +1 -1
  58. package/dist/src/errors.d.ts +10 -0
  59. package/dist/src/errors.d.ts.map +1 -1
  60. package/dist/src/index.d.ts +2 -2
  61. package/dist/src/index.d.ts.map +1 -1
  62. package/dist/src/react/index.d.ts +1 -1
  63. package/dist/src/react/index.d.ts.map +1 -1
  64. package/dist/src/types.d.ts +131 -5
  65. package/dist/src/types.d.ts.map +1 -1
  66. package/dist/src/utils/custom-actions.d.ts +12 -0
  67. package/dist/src/utils/custom-actions.d.ts.map +1 -0
  68. package/dist/src/utils/custom-actions.spec.d.ts +2 -0
  69. package/dist/src/utils/custom-actions.spec.d.ts.map +1 -0
  70. package/dist/src/utils/processData.d.ts.map +1 -1
  71. package/dist/src/utils.d.ts +7 -0
  72. package/dist/src/utils.d.ts.map +1 -1
  73. package/dist/tsembed-react.es.js +1705 -203
  74. package/dist/tsembed-react.js +1704 -202
  75. package/dist/tsembed.es.js +1653 -151
  76. package/dist/tsembed.js +1652 -150
  77. package/dist/visual-embed-sdk-react-full.d.ts +132 -6
  78. package/dist/visual-embed-sdk-react.d.ts +132 -6
  79. package/dist/visual-embed-sdk.d.ts +132 -6
  80. package/lib/package.json +1 -1
  81. package/lib/src/embed/app.d.ts.map +1 -1
  82. package/lib/src/embed/app.js +5 -1
  83. package/lib/src/embed/app.js.map +1 -1
  84. package/lib/src/embed/app.spec.js +33 -3
  85. package/lib/src/embed/app.spec.js.map +1 -1
  86. package/lib/src/embed/liveboard.d.ts.map +1 -1
  87. package/lib/src/embed/liveboard.js +2 -1
  88. package/lib/src/embed/liveboard.js.map +1 -1
  89. package/lib/src/embed/liveboard.spec.js +22 -0
  90. package/lib/src/embed/liveboard.spec.js.map +1 -1
  91. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  92. package/lib/src/embed/ts-embed.js +12 -0
  93. package/lib/src/embed/ts-embed.js.map +1 -1
  94. package/lib/src/embed/ts-embed.spec.d.ts.map +1 -1
  95. package/lib/src/embed/ts-embed.spec.js +123 -1
  96. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  97. package/lib/src/errors.d.ts +10 -0
  98. package/lib/src/errors.d.ts.map +1 -1
  99. package/lib/src/errors.js +10 -0
  100. package/lib/src/errors.js.map +1 -1
  101. package/lib/src/index.d.ts +2 -2
  102. package/lib/src/index.d.ts.map +1 -1
  103. package/lib/src/index.js +2 -2
  104. package/lib/src/index.js.map +1 -1
  105. package/lib/src/react/index.d.ts +1 -1
  106. package/lib/src/react/index.d.ts.map +1 -1
  107. package/lib/src/react/index.js +1 -1
  108. package/lib/src/react/index.js.map +1 -1
  109. package/lib/src/types.d.ts +131 -5
  110. package/lib/src/types.d.ts.map +1 -1
  111. package/lib/src/types.js +38 -10
  112. package/lib/src/types.js.map +1 -1
  113. package/lib/src/utils/custom-actions.d.ts +12 -0
  114. package/lib/src/utils/custom-actions.d.ts.map +1 -0
  115. package/lib/src/utils/custom-actions.js +175 -0
  116. package/lib/src/utils/custom-actions.js.map +1 -0
  117. package/lib/src/utils/custom-actions.spec.d.ts +2 -0
  118. package/lib/src/utils/custom-actions.spec.d.ts.map +1 -0
  119. package/lib/src/utils/custom-actions.spec.js +397 -0
  120. package/lib/src/utils/custom-actions.spec.js.map +1 -0
  121. package/lib/src/utils/processData.d.ts.map +1 -1
  122. package/lib/src/utils/processData.js +10 -0
  123. package/lib/src/utils/processData.js.map +1 -1
  124. package/lib/src/utils/processData.spec.js +11 -0
  125. package/lib/src/utils/processData.spec.js.map +1 -1
  126. package/lib/src/utils.d.ts +7 -0
  127. package/lib/src/utils.d.ts.map +1 -1
  128. package/lib/src/utils.js +9 -0
  129. package/lib/src/utils.js.map +1 -1
  130. package/lib/src/utils.spec.js +29 -1
  131. package/lib/src/utils.spec.js.map +1 -1
  132. package/lib/src/visual-embed-sdk.d.ts +133 -7
  133. package/package.json +1 -1
  134. package/src/embed/app.spec.ts +48 -3
  135. package/src/embed/app.ts +5 -0
  136. package/src/embed/liveboard.spec.ts +30 -0
  137. package/src/embed/liveboard.ts +2 -0
  138. package/src/embed/ts-embed.spec.ts +135 -1
  139. package/src/embed/ts-embed.ts +12 -0
  140. package/src/errors.ts +11 -0
  141. package/src/index.ts +4 -0
  142. package/src/react/index.tsx +1 -0
  143. package/src/types.ts +147 -16
  144. package/src/utils/custom-actions.spec.ts +431 -0
  145. package/src/utils/custom-actions.ts +217 -0
  146. package/src/utils/processData.spec.ts +12 -0
  147. package/src/utils/processData.ts +10 -0
  148. package/src/utils.spec.ts +34 -0
  149. package/src/utils.ts +10 -0
@@ -373,7 +373,7 @@ export function useSpotterAgent(config: SpotterAgentEmbedViewConfig): {
373
373
  * @summary ThoughtSpot Visual Embed SDK
374
374
  * @author Ayon Ghosh <ayon.ghosh@thoughtspot.com>
375
375
  */
376
- export { init, logout, prefetch, executeTML, exportTML, executeTMLInput, exportTMLInput, getEmbedConfig as getInitConfig, getSessionInfo, tokenizedFetch, getAnswerFromQuery, createLiveboardWithAnswers, SearchEmbed, SearchBarEmbed, PinboardEmbed, LiveboardEmbed, SageEmbed, AppEmbed, SpotterAgentEmbed, SpotterAgentEmbedViewConfig, BodylessConversationViewConfig, BodylessConversation, SpotterEmbed, SpotterEmbedViewConfig, ConversationViewConfig, ConversationEmbed, AuthFailureType, AuthStatus, AuthEvent, AuthEventEmitter, AnswerService, SessionInterface, UnderlyingDataPoint, Page, AuthType, RuntimeFilter, RuntimeFilterOp, EmbedEvent, HostEvent, DataSourceVisualMode, Action, ContextMenuTriggerOptions, EmbedConfig, SearchViewConfig, SearchBarViewConfig, LiveboardViewConfig, SageViewConfig, AppViewConfig, PrefetchFeatures, FrameParams, HomeLeftNavItem, HomepageModule, DOMSelector, MessageOptions, MessageCallback, MessagePayload, CustomisationsInterface, CustomStyles, customCssInterface, CustomCssVariables, RuntimeParameter, LogLevel, uploadMixpanelEvent, MIXPANEL_EVENT, HomePageSearchBarMode, PrimaryNavbarVersion, HomePage, ListPage, VizPoint, CustomActionPayload, UIPassthroughEvent, ListPageColumns, DataPanelCustomColumnGroupsAccordionState, };
376
+ export { init, logout, prefetch, executeTML, exportTML, executeTMLInput, exportTMLInput, getEmbedConfig as getInitConfig, getSessionInfo, tokenizedFetch, getAnswerFromQuery, createLiveboardWithAnswers, SearchEmbed, SearchBarEmbed, PinboardEmbed, LiveboardEmbed, SageEmbed, AppEmbed, SpotterAgentEmbed, SpotterAgentEmbedViewConfig, BodylessConversationViewConfig, BodylessConversation, SpotterEmbed, SpotterEmbedViewConfig, ConversationViewConfig, ConversationEmbed, AuthFailureType, AuthStatus, AuthEvent, AuthEventEmitter, AnswerService, SessionInterface, UnderlyingDataPoint, Page, AuthType, RuntimeFilter, RuntimeFilterOp, EmbedEvent, HostEvent, DataSourceVisualMode, Action, ContextMenuTriggerOptions, EmbedConfig, SearchViewConfig, SearchBarViewConfig, LiveboardViewConfig, SageViewConfig, AppViewConfig, PrefetchFeatures, FrameParams, HomeLeftNavItem, HomepageModule, DOMSelector, MessageOptions, MessageCallback, MessagePayload, CustomisationsInterface, CustomStyles, customCssInterface, CustomCssVariables, RuntimeParameter, LogLevel, uploadMixpanelEvent, MIXPANEL_EVENT, HomePageSearchBarMode, PrimaryNavbarVersion, HomePage, ListPage, VizPoint, CustomActionPayload, UIPassthroughEvent, ListPageColumns, DataPanelCustomColumnGroupsAccordionState, CustomActionsPosition, CustomActionTarget, };
377
377
 
378
378
  export declare let loggedInStatus: boolean;
379
379
  export declare let samlAuthWindow: Window;
@@ -2924,6 +2924,31 @@ export interface EmbedConfig {
2924
2924
  * ```
2925
2925
  */
2926
2926
  disableFullscreenPresentation?: boolean;
2927
+ /**
2928
+ * Custom Actions allows users to define interactive UI actions (like buttons or menu
2929
+ * items) that appear in ThoughtSpot's visualizations, answers, and Liveboards. These
2930
+ * actions enable users to trigger custom workflows — such as navigating to an
2931
+ * external app, calling an API, or opening a modal — based on the data context of
2932
+ * what they clicked can be used to trigger custom logic when the action is clicked.
2933
+ * @version SDK: 1.43.0 | ThoughtSpot: 10.14.0.cl
2934
+ * @example
2935
+ * ```js
2936
+ * import { CustomActionPosition, CustomActionTarget } from '@thoughtspot/visual-embed-sdk';
2937
+ * init({
2938
+ * ... // other embed config options
2939
+ * customActions: [
2940
+ * {
2941
+ * name: 'customAction',
2942
+ * id: 'customAction',
2943
+ * target: CustomActionTarget.VISUALIZATION,
2944
+ * position: CustomActionPosition.PRIMARY,
2945
+ * }
2946
+ * }
2947
+ * ]
2948
+ * })
2949
+ * ```
2950
+ */
2951
+ customActions?: CustomAction[];
2927
2952
  }
2928
2953
  export interface LayoutConfig {
2929
2954
  }
@@ -3284,6 +3309,34 @@ export interface BaseViewConfig {
3284
3309
  * ```
3285
3310
  */
3286
3311
  showAlerts?: boolean;
3312
+ /**
3313
+ * Custom Actions allows users to define interactive UI actions (like buttons or menu
3314
+ * items) that appear in ThoughtSpot's visualizations, answers, and Liveboards. These
3315
+ * actions enable users to trigger custom workflows — such as navigating to an
3316
+ * external app, calling an API, or opening a modal — based on the data context of
3317
+ * what they clicked can be used to trigger custom logic when the action is clicked.
3318
+ *
3319
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`, `SageEmbed`, `SearchEmbed`, `SpotterEmbed`
3320
+ * @version SDK: 1.43.0 | ThoughtSpot: 10.14.0.cl
3321
+ * @example
3322
+ * ```js
3323
+ * import { CustomActionPosition, CustomActionTarget } from '@thoughtspot/visual-embed-sdk';
3324
+ * // Use supported embed types such as AppEmbed or LiveboardEmbed
3325
+ * const embed = new LiveboardEmbed('#tsEmbed', {
3326
+ * ... // other embed config options
3327
+ * customActions: [
3328
+ * {
3329
+ * name: 'customAction',
3330
+ * id: 'customAction',
3331
+ * target: CustomActionTarget.VISUALIZATION,
3332
+ * position: CustomActionPosition.PRIMARY,
3333
+ * }
3334
+ * }
3335
+ * ]
3336
+ * })
3337
+ * ```
3338
+ */
3339
+ customActions?: CustomAction[];
3287
3340
  }
3288
3341
  /**
3289
3342
  * The configuration object for Home page embeds configs.
@@ -3610,7 +3663,8 @@ export interface LiveboardAppEmbedViewConfig {
3610
3663
  */
3611
3664
  isLiveboardCompactHeaderEnabled?: boolean;
3612
3665
  /**
3613
- * This flag can be used to show or hide the Liveboard verified icon in the compact header.
3666
+ * This flag can be used to show or hide the Liveboard verified icon in the compact
3667
+ * header.
3614
3668
  *
3615
3669
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
3616
3670
  * @version SDK: 1.35.0 | ThoughtSpot:10.4.0.cl
@@ -3628,6 +3682,8 @@ export interface LiveboardAppEmbedViewConfig {
3628
3682
  /**
3629
3683
  * This flag is used to enable/disable hide irrelevant filters in Liveboard tab
3630
3684
  *
3685
+ * **Note**: This feature is supported only if compact header is enabled on your Liveboard. To enable compact header, use the `isLiveboardCompactHeaderEnabled` attribute.
3686
+ *
3631
3687
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
3632
3688
  * @version SDK: 1.36.0 | ThoughtSpot:10.6.0.cl
3633
3689
  * @default false
@@ -3637,12 +3693,14 @@ export interface LiveboardAppEmbedViewConfig {
3637
3693
  * const embed = new <EmbedComponent>('#tsEmbed', {
3638
3694
  * ... // other embed view config
3639
3695
  * hideIrrelevantChipsInLiveboardTabs: true,
3696
+ * isLiveboardCompactHeaderEnabled: true,
3640
3697
  * })
3641
3698
  * ```
3642
3699
  */
3643
3700
  hideIrrelevantChipsInLiveboardTabs?: boolean;
3644
3701
  /**
3645
- * This flag can be used to show or hide the re-verify banner on the Liveboard compact header
3702
+ * This flag can be used to show or hide the re-verify banner on the Liveboard
3703
+ * compact header
3646
3704
  *
3647
3705
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
3648
3706
  * @version SDK: 1.35.0 | ThoughtSpot:10.4.0.cl
@@ -3689,6 +3747,21 @@ export interface LiveboardAppEmbedViewConfig {
3689
3747
  * ```
3690
3748
  */
3691
3749
  coverAndFilterOptionInPDF?: boolean;
3750
+ /**
3751
+ * This flag is used to enable or disable the XLSX/CSV download option for Liveboards.
3752
+ *
3753
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`
3754
+ * @version SDK: 1.41.0 | ThoughtSpot: 10.14.0.cl
3755
+ * @example
3756
+ * ```js
3757
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
3758
+ * const embed = new <EmbedComponent>('#tsEmbed', {
3759
+ * ... // other embed view config
3760
+ * liveboardXLSXCSVDownload: true,
3761
+ * })
3762
+ * ```
3763
+ */
3764
+ liveboardXLSXCSVDownload?: boolean;
3692
3765
  }
3693
3766
  export interface AllEmbedViewConfig extends BaseViewConfig, SearchLiveboardCommonViewConfig, HomePageConfig, LiveboardAppEmbedViewConfig {
3694
3767
  }
@@ -4576,6 +4649,11 @@ export declare enum EmbedEvent {
4576
4649
  * @hidden
4577
4650
  */
4578
4651
  APP_INIT = "appInit",
4652
+ /**
4653
+ * Internal event to clear the cached info
4654
+ * @hidden
4655
+ */
4656
+ CLEAR_INFO_CACHE = "clearInfoCache",
4579
4657
  /**
4580
4658
  * Emitted when a user clicks **Show Liveboard details** on a Liveboard
4581
4659
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
@@ -5043,7 +5121,18 @@ export declare enum EmbedEvent {
5043
5121
  * })
5044
5122
  * ```
5045
5123
  */
5046
- EmbedListenerReady = "EmbedListenerReady"
5124
+ EmbedListenerReady = "EmbedListenerReady",
5125
+ /**
5126
+ * Emitted when the organization is switched.
5127
+ * @example
5128
+ * ```js
5129
+ * appEmbed.on(EmbedEvent.OrgSwitched, (payload) => {
5130
+ * console.log('payload', payload);
5131
+ * })
5132
+ * ```
5133
+ * @version SDK: 1.41.0 | ThoughtSpot: 10.12.0.cl
5134
+ */
5135
+ OrgSwitched = "orgSwitched"
5047
5136
  }
5048
5137
  /**
5049
5138
  * Event types that can be triggered by the host application
@@ -6442,7 +6531,8 @@ export declare enum Param {
6442
6531
  isSpotterAgentEmbed = "isSpotterAgentEmbed",
6443
6532
  IsLiveboardStylingAndGroupingEnabled = "isLiveboardStylingAndGroupingEnabled",
6444
6533
  IsLazyLoadingForEmbedEnabled = "isLazyLoadingForEmbedEnabled",
6445
- RootMarginForLazyLoad = "rootMarginForLazyLoad"
6534
+ RootMarginForLazyLoad = "rootMarginForLazyLoad",
6535
+ LiveboardXLSXCSVDownload = "isLiveboardXLSXCSVDownloadEnabled"
6446
6536
  }
6447
6537
  /**
6448
6538
  * ThoughtSpot application pages include actions and menu commands
@@ -7014,7 +7104,7 @@ export declare enum Action {
7014
7104
  * The Favorites icon (*) for Answers,
7015
7105
  * Liveboard, and data objects like Worksheet, Model,
7016
7106
  * Tables and Views.
7017
- * Allows adding an object to the users favorites list.
7107
+ * Allows adding an object to the user's favorites list.
7018
7108
  * @example
7019
7109
  * ```js
7020
7110
  * disabledActions: [Action.AddToFavorites]
@@ -7783,6 +7873,41 @@ export interface CustomActionPayload {
7783
7873
  session: SessionInterface;
7784
7874
  vizId?: string;
7785
7875
  }
7876
+ export interface CustomAction {
7877
+ name: string;
7878
+ id: string;
7879
+ position: CustomActionsPosition;
7880
+ target: CustomActionTarget;
7881
+ metadataIds?: {
7882
+ answerIds?: string[];
7883
+ liveboardIds?: string[];
7884
+ vizIds?: string[];
7885
+ };
7886
+ dataModelIds?: {
7887
+ modelIds?: string[];
7888
+ modelColumnNames?: string[];
7889
+ };
7890
+ orgIds?: string[];
7891
+ groupIds?: string[];
7892
+ }
7893
+ /**
7894
+ * Enum options to show custom actions at different
7895
+ * positions in the application.
7896
+ */
7897
+ export declare enum CustomActionsPosition {
7898
+ PRIMARY = "PRIMARY",
7899
+ MENU = "MENU",
7900
+ CONTEXTMENU = "CONTEXTMENU"
7901
+ }
7902
+ /**
7903
+ * Enum options to mention the target of the custom action.
7904
+ */
7905
+ export declare enum CustomActionTarget {
7906
+ LIVEBOARD = "LIVEBOARD",
7907
+ VIZ = "VIZ",
7908
+ ANSWER = "ANSWER",
7909
+ SPOTTER = "SPOTTER"
7910
+ }
7786
7911
  /**
7787
7912
  * Enum options to show or suppress Visual Embed SDK and
7788
7913
  * ThoughtSpot application logs in the console output.
@@ -7877,6 +8002,7 @@ export interface DefaultAppInitData {
7877
8002
  hiddenHomeLeftNavItems: string[];
7878
8003
  customVariablesForThirdPartyTools: Record<string, any>;
7879
8004
  hiddenListColumns: ListPageColumns[];
8005
+ customActions: CustomAction[];
7880
8006
  }
7881
8007
 
7882
8008
  interface EmbedViewConfig extends AllEmbedViewConfig, EmbedEventHandlers {
@@ -2914,6 +2914,31 @@ export interface EmbedConfig {
2914
2914
  * ```
2915
2915
  */
2916
2916
  disableFullscreenPresentation?: boolean;
2917
+ /**
2918
+ * Custom Actions allows users to define interactive UI actions (like buttons or menu
2919
+ * items) that appear in ThoughtSpot's visualizations, answers, and Liveboards. These
2920
+ * actions enable users to trigger custom workflows — such as navigating to an
2921
+ * external app, calling an API, or opening a modal — based on the data context of
2922
+ * what they clicked can be used to trigger custom logic when the action is clicked.
2923
+ * @version SDK: 1.43.0 | ThoughtSpot: 10.14.0.cl
2924
+ * @example
2925
+ * ```js
2926
+ * import { CustomActionPosition, CustomActionTarget } from '@thoughtspot/visual-embed-sdk';
2927
+ * init({
2928
+ * ... // other embed config options
2929
+ * customActions: [
2930
+ * {
2931
+ * name: 'customAction',
2932
+ * id: 'customAction',
2933
+ * target: CustomActionTarget.VISUALIZATION,
2934
+ * position: CustomActionPosition.PRIMARY,
2935
+ * }
2936
+ * }
2937
+ * ]
2938
+ * })
2939
+ * ```
2940
+ */
2941
+ customActions?: CustomAction[];
2917
2942
  }
2918
2943
  export interface LayoutConfig {
2919
2944
  }
@@ -3274,6 +3299,34 @@ export interface BaseViewConfig {
3274
3299
  * ```
3275
3300
  */
3276
3301
  showAlerts?: boolean;
3302
+ /**
3303
+ * Custom Actions allows users to define interactive UI actions (like buttons or menu
3304
+ * items) that appear in ThoughtSpot's visualizations, answers, and Liveboards. These
3305
+ * actions enable users to trigger custom workflows — such as navigating to an
3306
+ * external app, calling an API, or opening a modal — based on the data context of
3307
+ * what they clicked can be used to trigger custom logic when the action is clicked.
3308
+ *
3309
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`, `SageEmbed`, `SearchEmbed`, `SpotterEmbed`
3310
+ * @version SDK: 1.43.0 | ThoughtSpot: 10.14.0.cl
3311
+ * @example
3312
+ * ```js
3313
+ * import { CustomActionPosition, CustomActionTarget } from '@thoughtspot/visual-embed-sdk';
3314
+ * // Use supported embed types such as AppEmbed or LiveboardEmbed
3315
+ * const embed = new LiveboardEmbed('#tsEmbed', {
3316
+ * ... // other embed config options
3317
+ * customActions: [
3318
+ * {
3319
+ * name: 'customAction',
3320
+ * id: 'customAction',
3321
+ * target: CustomActionTarget.VISUALIZATION,
3322
+ * position: CustomActionPosition.PRIMARY,
3323
+ * }
3324
+ * }
3325
+ * ]
3326
+ * })
3327
+ * ```
3328
+ */
3329
+ customActions?: CustomAction[];
3277
3330
  }
3278
3331
  /**
3279
3332
  * The configuration object for Home page embeds configs.
@@ -3600,7 +3653,8 @@ export interface LiveboardAppEmbedViewConfig {
3600
3653
  */
3601
3654
  isLiveboardCompactHeaderEnabled?: boolean;
3602
3655
  /**
3603
- * This flag can be used to show or hide the Liveboard verified icon in the compact header.
3656
+ * This flag can be used to show or hide the Liveboard verified icon in the compact
3657
+ * header.
3604
3658
  *
3605
3659
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
3606
3660
  * @version SDK: 1.35.0 | ThoughtSpot:10.4.0.cl
@@ -3618,6 +3672,8 @@ export interface LiveboardAppEmbedViewConfig {
3618
3672
  /**
3619
3673
  * This flag is used to enable/disable hide irrelevant filters in Liveboard tab
3620
3674
  *
3675
+ * **Note**: This feature is supported only if compact header is enabled on your Liveboard. To enable compact header, use the `isLiveboardCompactHeaderEnabled` attribute.
3676
+ *
3621
3677
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
3622
3678
  * @version SDK: 1.36.0 | ThoughtSpot:10.6.0.cl
3623
3679
  * @default false
@@ -3627,12 +3683,14 @@ export interface LiveboardAppEmbedViewConfig {
3627
3683
  * const embed = new <EmbedComponent>('#tsEmbed', {
3628
3684
  * ... // other embed view config
3629
3685
  * hideIrrelevantChipsInLiveboardTabs: true,
3686
+ * isLiveboardCompactHeaderEnabled: true,
3630
3687
  * })
3631
3688
  * ```
3632
3689
  */
3633
3690
  hideIrrelevantChipsInLiveboardTabs?: boolean;
3634
3691
  /**
3635
- * This flag can be used to show or hide the re-verify banner on the Liveboard compact header
3692
+ * This flag can be used to show or hide the re-verify banner on the Liveboard
3693
+ * compact header
3636
3694
  *
3637
3695
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
3638
3696
  * @version SDK: 1.35.0 | ThoughtSpot:10.4.0.cl
@@ -3679,6 +3737,21 @@ export interface LiveboardAppEmbedViewConfig {
3679
3737
  * ```
3680
3738
  */
3681
3739
  coverAndFilterOptionInPDF?: boolean;
3740
+ /**
3741
+ * This flag is used to enable or disable the XLSX/CSV download option for Liveboards.
3742
+ *
3743
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`
3744
+ * @version SDK: 1.41.0 | ThoughtSpot: 10.14.0.cl
3745
+ * @example
3746
+ * ```js
3747
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
3748
+ * const embed = new <EmbedComponent>('#tsEmbed', {
3749
+ * ... // other embed view config
3750
+ * liveboardXLSXCSVDownload: true,
3751
+ * })
3752
+ * ```
3753
+ */
3754
+ liveboardXLSXCSVDownload?: boolean;
3682
3755
  }
3683
3756
  export interface AllEmbedViewConfig extends BaseViewConfig, SearchLiveboardCommonViewConfig, HomePageConfig, LiveboardAppEmbedViewConfig {
3684
3757
  }
@@ -4566,6 +4639,11 @@ export declare enum EmbedEvent {
4566
4639
  * @hidden
4567
4640
  */
4568
4641
  APP_INIT = "appInit",
4642
+ /**
4643
+ * Internal event to clear the cached info
4644
+ * @hidden
4645
+ */
4646
+ CLEAR_INFO_CACHE = "clearInfoCache",
4569
4647
  /**
4570
4648
  * Emitted when a user clicks **Show Liveboard details** on a Liveboard
4571
4649
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
@@ -5033,7 +5111,18 @@ export declare enum EmbedEvent {
5033
5111
  * })
5034
5112
  * ```
5035
5113
  */
5036
- EmbedListenerReady = "EmbedListenerReady"
5114
+ EmbedListenerReady = "EmbedListenerReady",
5115
+ /**
5116
+ * Emitted when the organization is switched.
5117
+ * @example
5118
+ * ```js
5119
+ * appEmbed.on(EmbedEvent.OrgSwitched, (payload) => {
5120
+ * console.log('payload', payload);
5121
+ * })
5122
+ * ```
5123
+ * @version SDK: 1.41.0 | ThoughtSpot: 10.12.0.cl
5124
+ */
5125
+ OrgSwitched = "orgSwitched"
5037
5126
  }
5038
5127
  /**
5039
5128
  * Event types that can be triggered by the host application
@@ -6432,7 +6521,8 @@ export declare enum Param {
6432
6521
  isSpotterAgentEmbed = "isSpotterAgentEmbed",
6433
6522
  IsLiveboardStylingAndGroupingEnabled = "isLiveboardStylingAndGroupingEnabled",
6434
6523
  IsLazyLoadingForEmbedEnabled = "isLazyLoadingForEmbedEnabled",
6435
- RootMarginForLazyLoad = "rootMarginForLazyLoad"
6524
+ RootMarginForLazyLoad = "rootMarginForLazyLoad",
6525
+ LiveboardXLSXCSVDownload = "isLiveboardXLSXCSVDownloadEnabled"
6436
6526
  }
6437
6527
  /**
6438
6528
  * ThoughtSpot application pages include actions and menu commands
@@ -7004,7 +7094,7 @@ export declare enum Action {
7004
7094
  * The Favorites icon (*) for Answers,
7005
7095
  * Liveboard, and data objects like Worksheet, Model,
7006
7096
  * Tables and Views.
7007
- * Allows adding an object to the users favorites list.
7097
+ * Allows adding an object to the user's favorites list.
7008
7098
  * @example
7009
7099
  * ```js
7010
7100
  * disabledActions: [Action.AddToFavorites]
@@ -7773,6 +7863,41 @@ export interface CustomActionPayload {
7773
7863
  session: SessionInterface;
7774
7864
  vizId?: string;
7775
7865
  }
7866
+ export interface CustomAction {
7867
+ name: string;
7868
+ id: string;
7869
+ position: CustomActionsPosition;
7870
+ target: CustomActionTarget;
7871
+ metadataIds?: {
7872
+ answerIds?: string[];
7873
+ liveboardIds?: string[];
7874
+ vizIds?: string[];
7875
+ };
7876
+ dataModelIds?: {
7877
+ modelIds?: string[];
7878
+ modelColumnNames?: string[];
7879
+ };
7880
+ orgIds?: string[];
7881
+ groupIds?: string[];
7882
+ }
7883
+ /**
7884
+ * Enum options to show custom actions at different
7885
+ * positions in the application.
7886
+ */
7887
+ export declare enum CustomActionsPosition {
7888
+ PRIMARY = "PRIMARY",
7889
+ MENU = "MENU",
7890
+ CONTEXTMENU = "CONTEXTMENU"
7891
+ }
7892
+ /**
7893
+ * Enum options to mention the target of the custom action.
7894
+ */
7895
+ export declare enum CustomActionTarget {
7896
+ LIVEBOARD = "LIVEBOARD",
7897
+ VIZ = "VIZ",
7898
+ ANSWER = "ANSWER",
7899
+ SPOTTER = "SPOTTER"
7900
+ }
7776
7901
  /**
7777
7902
  * Enum options to show or suppress Visual Embed SDK and
7778
7903
  * ThoughtSpot application logs in the console output.
@@ -7867,6 +7992,7 @@ export interface DefaultAppInitData {
7867
7992
  hiddenHomeLeftNavItems: string[];
7868
7993
  customVariablesForThirdPartyTools: Record<string, any>;
7869
7994
  hiddenListColumns: ListPageColumns[];
7995
+ customActions: CustomAction[];
7870
7996
  }
7871
7997
 
7872
7998
  interface EmbedViewConfig extends AllEmbedViewConfig, EmbedEventHandlers {
@@ -8110,7 +8236,7 @@ export declare class ConversationEmbed extends SpotterEmbed {
8110
8236
  * @summary ThoughtSpot Visual Embed SDK
8111
8237
  * @author Ayon Ghosh <ayon.ghosh@thoughtspot.com>
8112
8238
  */
8113
- export { init, logout, prefetch, executeTML, exportTML, executeTMLInput, exportTMLInput, getEmbedConfig as getInitConfig, getSessionInfo, tokenizedFetch, getAnswerFromQuery, createLiveboardWithAnswers, SearchEmbed, SearchBarEmbed, PinboardEmbed, LiveboardEmbed, SageEmbed, AppEmbed, SpotterAgentEmbed, SpotterAgentEmbedViewConfig, BodylessConversationViewConfig, BodylessConversation, SpotterEmbed, SpotterEmbedViewConfig, ConversationViewConfig, ConversationEmbed, AuthFailureType, AuthStatus, AuthEvent, AuthEventEmitter, AnswerService, SessionInterface, UnderlyingDataPoint, Page, AuthType, RuntimeFilter, RuntimeFilterOp, EmbedEvent, HostEvent, DataSourceVisualMode, Action, ContextMenuTriggerOptions, EmbedConfig, SearchViewConfig, SearchBarViewConfig, LiveboardViewConfig, SageViewConfig, AppViewConfig, PrefetchFeatures, FrameParams, HomeLeftNavItem, HomepageModule, DOMSelector, MessageOptions, MessageCallback, MessagePayload, CustomisationsInterface, CustomStyles, customCssInterface, CustomCssVariables, RuntimeParameter, LogLevel, uploadMixpanelEvent, MIXPANEL_EVENT, HomePageSearchBarMode, PrimaryNavbarVersion, HomePage, ListPage, VizPoint, CustomActionPayload, UIPassthroughEvent, ListPageColumns, DataPanelCustomColumnGroupsAccordionState, };
8239
+ export { init, logout, prefetch, executeTML, exportTML, executeTMLInput, exportTMLInput, getEmbedConfig as getInitConfig, getSessionInfo, tokenizedFetch, getAnswerFromQuery, createLiveboardWithAnswers, SearchEmbed, SearchBarEmbed, PinboardEmbed, LiveboardEmbed, SageEmbed, AppEmbed, SpotterAgentEmbed, SpotterAgentEmbedViewConfig, BodylessConversationViewConfig, BodylessConversation, SpotterEmbed, SpotterEmbedViewConfig, ConversationViewConfig, ConversationEmbed, AuthFailureType, AuthStatus, AuthEvent, AuthEventEmitter, AnswerService, SessionInterface, UnderlyingDataPoint, Page, AuthType, RuntimeFilter, RuntimeFilterOp, EmbedEvent, HostEvent, DataSourceVisualMode, Action, ContextMenuTriggerOptions, EmbedConfig, SearchViewConfig, SearchBarViewConfig, LiveboardViewConfig, SageViewConfig, AppViewConfig, PrefetchFeatures, FrameParams, HomeLeftNavItem, HomepageModule, DOMSelector, MessageOptions, MessageCallback, MessagePayload, CustomisationsInterface, CustomStyles, customCssInterface, CustomCssVariables, RuntimeParameter, LogLevel, uploadMixpanelEvent, MIXPANEL_EVENT, HomePageSearchBarMode, PrimaryNavbarVersion, HomePage, ListPage, VizPoint, CustomActionPayload, UIPassthroughEvent, ListPageColumns, DataPanelCustomColumnGroupsAccordionState, CustomActionsPosition, CustomActionTarget, };
8114
8240
 
8115
8241
  /**
8116
8242
  * Copyright (c) 2022