@thoughtspot/visual-embed-sdk 1.38.0 → 1.38.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/README.md +1 -1
  2. package/cjs/package.json +1 -1
  3. package/cjs/src/embed/app.d.ts +96 -156
  4. package/cjs/src/embed/app.d.ts.map +1 -1
  5. package/cjs/src/embed/app.js +7 -4
  6. package/cjs/src/embed/app.js.map +1 -1
  7. package/cjs/src/embed/app.spec.js +10 -0
  8. package/cjs/src/embed/app.spec.js.map +1 -1
  9. package/cjs/src/embed/bodyless-conversation.d.ts +4 -4
  10. package/cjs/src/embed/bodyless-conversation.d.ts.map +1 -1
  11. package/cjs/src/embed/bodyless-conversation.js +1 -1
  12. package/cjs/src/embed/bodyless-conversation.js.map +1 -1
  13. package/cjs/src/embed/conversation.d.ts +22 -11
  14. package/cjs/src/embed/conversation.d.ts.map +1 -1
  15. package/cjs/src/embed/conversation.js +1 -1
  16. package/cjs/src/embed/conversation.js.map +1 -1
  17. package/cjs/src/embed/liveboard.d.ts +110 -167
  18. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  19. package/cjs/src/embed/liveboard.js +25 -11
  20. package/cjs/src/embed/liveboard.js.map +1 -1
  21. package/cjs/src/embed/liveboard.spec.js +11 -0
  22. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  23. package/cjs/src/embed/sage.d.ts +17 -2
  24. package/cjs/src/embed/sage.d.ts.map +1 -1
  25. package/cjs/src/embed/sage.js +2 -0
  26. package/cjs/src/embed/sage.js.map +1 -1
  27. package/cjs/src/embed/search-bar.d.ts +16 -6
  28. package/cjs/src/embed/search-bar.d.ts.map +1 -1
  29. package/cjs/src/embed/search-bar.js.map +1 -1
  30. package/cjs/src/embed/search.d.ts +46 -14
  31. package/cjs/src/embed/search.d.ts.map +1 -1
  32. package/cjs/src/embed/search.js.map +1 -1
  33. package/cjs/src/embed/ts-embed.d.ts +19 -2
  34. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  35. package/cjs/src/embed/ts-embed.js +49 -0
  36. package/cjs/src/embed/ts-embed.js.map +1 -1
  37. package/cjs/src/embed/ts-embed.spec.js +45 -4
  38. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  39. package/cjs/src/index.d.ts +2 -2
  40. package/cjs/src/index.d.ts.map +1 -1
  41. package/cjs/src/index.js +2 -1
  42. package/cjs/src/index.js.map +1 -1
  43. package/cjs/src/react/all-types-export.d.ts +1 -1
  44. package/cjs/src/react/all-types-export.d.ts.map +1 -1
  45. package/cjs/src/react/all-types-export.js +2 -1
  46. package/cjs/src/react/all-types-export.js.map +1 -1
  47. package/cjs/src/react/index.d.ts +1 -1
  48. package/cjs/src/react/index.d.ts.map +1 -1
  49. package/cjs/src/react/index.js +1 -1
  50. package/cjs/src/react/util.d.ts +7 -4
  51. package/cjs/src/react/util.d.ts.map +1 -1
  52. package/cjs/src/react/util.js.map +1 -1
  53. package/cjs/src/types.d.ts +482 -251
  54. package/cjs/src/types.d.ts.map +1 -1
  55. package/cjs/src/types.js +31 -14
  56. package/cjs/src/types.js.map +1 -1
  57. package/cjs/src/utils/graphql/answerService/answerService.d.ts +2 -1
  58. package/cjs/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  59. package/cjs/src/utils/graphql/answerService/answerService.js +2 -1
  60. package/cjs/src/utils/graphql/answerService/answerService.js.map +1 -1
  61. package/cjs/src/utils/processData.d.ts.map +1 -1
  62. package/cjs/src/utils/processData.js +15 -0
  63. package/cjs/src/utils/processData.js.map +1 -1
  64. package/cjs/src/utils/processData.spec.js +15 -0
  65. package/cjs/src/utils/processData.spec.js.map +1 -1
  66. package/cjs/src/utils/processTrigger.d.ts.map +1 -1
  67. package/cjs/src/utils/processTrigger.js +14 -0
  68. package/cjs/src/utils/processTrigger.js.map +1 -1
  69. package/cjs/src/utils/processTrigger.spec.js +54 -0
  70. package/cjs/src/utils/processTrigger.spec.js.map +1 -1
  71. package/cjs/src/utils.d.ts +11 -2
  72. package/cjs/src/utils.d.ts.map +1 -1
  73. package/cjs/src/utils.js +70 -1
  74. package/cjs/src/utils.js.map +1 -1
  75. package/cjs/src/utils.spec.js +85 -0
  76. package/cjs/src/utils.spec.js.map +1 -1
  77. package/dist/{index-BIcnpmMY.js → index-BKIWUvTr.js} +1 -1
  78. package/dist/src/embed/app.d.ts +96 -156
  79. package/dist/src/embed/app.d.ts.map +1 -1
  80. package/dist/src/embed/bodyless-conversation.d.ts +4 -4
  81. package/dist/src/embed/bodyless-conversation.d.ts.map +1 -1
  82. package/dist/src/embed/conversation.d.ts +22 -11
  83. package/dist/src/embed/conversation.d.ts.map +1 -1
  84. package/dist/src/embed/liveboard.d.ts +110 -167
  85. package/dist/src/embed/liveboard.d.ts.map +1 -1
  86. package/dist/src/embed/sage.d.ts +17 -2
  87. package/dist/src/embed/sage.d.ts.map +1 -1
  88. package/dist/src/embed/search-bar.d.ts +16 -6
  89. package/dist/src/embed/search-bar.d.ts.map +1 -1
  90. package/dist/src/embed/search.d.ts +46 -14
  91. package/dist/src/embed/search.d.ts.map +1 -1
  92. package/dist/src/embed/ts-embed.d.ts +19 -2
  93. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  94. package/dist/src/index.d.ts +2 -2
  95. package/dist/src/index.d.ts.map +1 -1
  96. package/dist/src/react/all-types-export.d.ts +1 -1
  97. package/dist/src/react/all-types-export.d.ts.map +1 -1
  98. package/dist/src/react/index.d.ts +1 -1
  99. package/dist/src/react/index.d.ts.map +1 -1
  100. package/dist/src/react/util.d.ts +7 -4
  101. package/dist/src/react/util.d.ts.map +1 -1
  102. package/dist/src/types.d.ts +482 -251
  103. package/dist/src/types.d.ts.map +1 -1
  104. package/dist/src/utils/graphql/answerService/answerService.d.ts +2 -1
  105. package/dist/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  106. package/dist/src/utils/processData.d.ts.map +1 -1
  107. package/dist/src/utils/processTrigger.d.ts.map +1 -1
  108. package/dist/src/utils.d.ts +11 -2
  109. package/dist/src/utils.d.ts.map +1 -1
  110. package/dist/tsembed-react.es.js +3498 -3322
  111. package/dist/tsembed-react.js +3497 -3321
  112. package/dist/tsembed.es.js +213 -37
  113. package/dist/tsembed.js +216 -40
  114. package/dist/visual-embed-sdk-react-full.d.ts +845 -655
  115. package/dist/visual-embed-sdk-react.d.ts +845 -655
  116. package/dist/visual-embed-sdk.d.ts +827 -640
  117. package/lib/package.json +1 -1
  118. package/lib/src/embed/app.d.ts +96 -156
  119. package/lib/src/embed/app.d.ts.map +1 -1
  120. package/lib/src/embed/app.js +7 -4
  121. package/lib/src/embed/app.js.map +1 -1
  122. package/lib/src/embed/app.spec.js +10 -0
  123. package/lib/src/embed/app.spec.js.map +1 -1
  124. package/lib/src/embed/bodyless-conversation.d.ts +4 -4
  125. package/lib/src/embed/bodyless-conversation.d.ts.map +1 -1
  126. package/lib/src/embed/bodyless-conversation.js +1 -1
  127. package/lib/src/embed/bodyless-conversation.js.map +1 -1
  128. package/lib/src/embed/conversation.d.ts +22 -11
  129. package/lib/src/embed/conversation.d.ts.map +1 -1
  130. package/lib/src/embed/conversation.js +1 -1
  131. package/lib/src/embed/conversation.js.map +1 -1
  132. package/lib/src/embed/liveboard.d.ts +110 -167
  133. package/lib/src/embed/liveboard.d.ts.map +1 -1
  134. package/lib/src/embed/liveboard.js +25 -11
  135. package/lib/src/embed/liveboard.js.map +1 -1
  136. package/lib/src/embed/liveboard.spec.js +11 -0
  137. package/lib/src/embed/liveboard.spec.js.map +1 -1
  138. package/lib/src/embed/sage.d.ts +17 -2
  139. package/lib/src/embed/sage.d.ts.map +1 -1
  140. package/lib/src/embed/sage.js +2 -0
  141. package/lib/src/embed/sage.js.map +1 -1
  142. package/lib/src/embed/search-bar.d.ts +16 -6
  143. package/lib/src/embed/search-bar.d.ts.map +1 -1
  144. package/lib/src/embed/search-bar.js.map +1 -1
  145. package/lib/src/embed/search.d.ts +46 -14
  146. package/lib/src/embed/search.d.ts.map +1 -1
  147. package/lib/src/embed/search.js.map +1 -1
  148. package/lib/src/embed/ts-embed.d.ts +19 -2
  149. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  150. package/lib/src/embed/ts-embed.js +49 -0
  151. package/lib/src/embed/ts-embed.js.map +1 -1
  152. package/lib/src/embed/ts-embed.spec.js +45 -4
  153. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  154. package/lib/src/index.d.ts +2 -2
  155. package/lib/src/index.d.ts.map +1 -1
  156. package/lib/src/index.js +2 -2
  157. package/lib/src/index.js.map +1 -1
  158. package/lib/src/react/all-types-export.d.ts +1 -1
  159. package/lib/src/react/all-types-export.d.ts.map +1 -1
  160. package/lib/src/react/all-types-export.js +1 -1
  161. package/lib/src/react/all-types-export.js.map +1 -1
  162. package/lib/src/react/index.d.ts +1 -1
  163. package/lib/src/react/index.d.ts.map +1 -1
  164. package/lib/src/react/index.js +1 -1
  165. package/lib/src/react/util.d.ts +7 -4
  166. package/lib/src/react/util.d.ts.map +1 -1
  167. package/lib/src/react/util.js.map +1 -1
  168. package/lib/src/types.d.ts +482 -251
  169. package/lib/src/types.d.ts.map +1 -1
  170. package/lib/src/types.js +31 -14
  171. package/lib/src/types.js.map +1 -1
  172. package/lib/src/utils/graphql/answerService/answerService.d.ts +2 -1
  173. package/lib/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  174. package/lib/src/utils/graphql/answerService/answerService.js +2 -1
  175. package/lib/src/utils/graphql/answerService/answerService.js.map +1 -1
  176. package/lib/src/utils/processData.d.ts.map +1 -1
  177. package/lib/src/utils/processData.js +15 -0
  178. package/lib/src/utils/processData.js.map +1 -1
  179. package/lib/src/utils/processData.spec.js +15 -0
  180. package/lib/src/utils/processData.spec.js.map +1 -1
  181. package/lib/src/utils/processTrigger.d.ts.map +1 -1
  182. package/lib/src/utils/processTrigger.js +14 -0
  183. package/lib/src/utils/processTrigger.js.map +1 -1
  184. package/lib/src/utils/processTrigger.spec.js +54 -0
  185. package/lib/src/utils/processTrigger.spec.js.map +1 -1
  186. package/lib/src/utils.d.ts +11 -2
  187. package/lib/src/utils.d.ts.map +1 -1
  188. package/lib/src/utils.js +67 -0
  189. package/lib/src/utils.js.map +1 -1
  190. package/lib/src/utils.spec.js +86 -1
  191. package/lib/src/utils.spec.js.map +1 -1
  192. package/lib/src/visual-embed-sdk.d.ts +836 -649
  193. package/package.json +1 -1
  194. package/src/embed/app.spec.ts +14 -0
  195. package/src/embed/app.ts +98 -153
  196. package/src/embed/bodyless-conversation.ts +4 -4
  197. package/src/embed/conversation.ts +23 -12
  198. package/src/embed/liveboard.spec.ts +15 -0
  199. package/src/embed/liveboard.ts +142 -182
  200. package/src/embed/sage.ts +17 -5
  201. package/src/embed/search-bar.tsx +16 -17
  202. package/src/embed/search.ts +47 -21
  203. package/src/embed/ts-embed.spec.ts +52 -4
  204. package/src/embed/ts-embed.ts +61 -6
  205. package/src/index.ts +2 -0
  206. package/src/react/all-types-export.ts +1 -0
  207. package/src/react/index.tsx +3 -3
  208. package/src/react/util.ts +6 -4
  209. package/src/types.ts +488 -253
  210. package/src/utils/graphql/answerService/answerService.ts +5 -4
  211. package/src/utils/processData.spec.ts +28 -0
  212. package/src/utils/processData.ts +17 -0
  213. package/src/utils/processTrigger.spec.ts +90 -0
  214. package/src/utils/processTrigger.ts +16 -1
  215. package/src/utils.spec.ts +113 -0
  216. package/src/utils.ts +78 -2
package/src/types.ts CHANGED
@@ -82,7 +82,7 @@ export enum AuthType {
82
82
  * // ...
83
83
  * authType: AuthType.SAMLRedirect,
84
84
  * authTriggerText: 'Login with SAML',
85
- * authTriggerContainer: '#embed-container',
85
+ * authTriggerContainer: '#tsEmbed',
86
86
  * inPopup: true,
87
87
  * });
88
88
  * ```
@@ -208,13 +208,13 @@ export enum HomeLeftNavItem {
208
208
  /**
209
209
  * Create new options in the insights left navigation,
210
210
  * available when new navigation V3 is enabled.
211
- * @version SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
211
+ * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
212
212
  */
213
213
  Create = 'create',
214
214
  /**
215
215
  * Spotter option in the insights left navigation,
216
216
  * available when new navigation V3 is enabled.
217
- * @version SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
217
+ * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
218
218
  */
219
219
  Spotter = 'spotter',
220
220
  }
@@ -645,6 +645,21 @@ export interface EmbedConfig {
645
645
  customVariablesForThirdPartyTools?: Record< string, any >;
646
646
 
647
647
  disablePreauthCache?: boolean;
648
+
649
+ /**
650
+ * Disable fullscreen presentation mode functionality. When enabled, prevents entering
651
+ * and exiting fullscreen mode for embedded visualizations during presentations.
652
+ * @default true (feature is disabled by default)
653
+ * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
654
+ * @example
655
+ * ```js
656
+ * init({
657
+ * ... // other embed config options
658
+ * disableFullscreenPresentation: false, // enables the feature
659
+ * })
660
+ * ```
661
+ */
662
+ disableFullscreenPresentation?: boolean;
648
663
  }
649
664
 
650
665
  // eslint-disable-next-line @typescript-eslint/no-empty-object-type
@@ -677,9 +692,9 @@ export interface FrameParams {
677
692
  }
678
693
 
679
694
  /**
680
- * The configuration object for an embedded view.
695
+ * The common configuration object for an embedded view.
681
696
  */
682
- export interface ViewConfig {
697
+ export interface BaseViewConfig {
683
698
  /**
684
699
  * @hidden
685
700
  */
@@ -687,16 +702,19 @@ export interface ViewConfig {
687
702
  /**
688
703
  * The width and height dimensions to render an embedded
689
704
  * object inside your app. Specify the values in pixels or percentage.
705
+ *
706
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`, `SageEmbed`, `SearchEmbed`, `SpotterAgentEmbed`, `SpotterEmbed`, `SearchBarEmbed`
690
707
  * @version SDK: 1.1.0 | ThoughtSpot: ts7.may.cl, 7.2.1
691
708
  * @example
692
709
  * ```js
693
- * const embed = new LiveboardEmbed('#embed', {
694
- * ... // other liveboard view config
695
- * frameParams: {
696
- * width: '500px' | '50%',
697
- * height: '400px' | '60%',
698
- * },
699
- * });
710
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
711
+ * const embed = new <EmbedComponent>('#tsEmbed', {
712
+ * ... // other embed view config
713
+ * frameParams: {
714
+ * width: '500px' | '50%',
715
+ * height: '400px' | '60%',
716
+ * },
717
+ * })
700
718
  * ```
701
719
  */
702
720
  frameParams?: FrameParams;
@@ -714,38 +732,31 @@ export interface ViewConfig {
714
732
  * (...), and the contextual menu. These actions will be disabled
715
733
  * for the user.
716
734
  * Use this to disable actions.
735
+ *
736
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`, `SageEmbed`, `SearchEmbed`, `SpotterAgentEmbed`, `SpotterEmbed`, `SearchBarEmbed`
717
737
  * @version SDK: 1.6.0 | ThoughtSpot: ts8.nov.cl, 8.4.1.sw
718
738
  * @example
719
739
  * ```js
720
- * const embed = new LiveboardEmbed('#embed', {
721
- * ... // other liveboard view config
722
- * disabledActions: [Action.Download, Action.Save]
740
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
741
+ * const embed = new <EmbedComponent>('#tsEmbed', {
742
+ * ... // other embed view config
743
+ * disabledActions: [Action.Download, Action.Save],
723
744
  * });
724
745
  * ```
725
746
  */
726
747
  disabledActions?: Action[];
727
- /**
728
- * The primary action to display on top of the viz for Liveboard and App Embed.
729
- * Use this to set the primary action.
730
- * @version SDK: 1.37.0 | ThoughtSpot: 10.9.0.cl
731
- * @example
732
- * ```js
733
- * const embed = new LiveboardEmbed('#embed', {
734
- * ... // other liveboard view config
735
- * primaryAction: Action.Download
736
- * });
737
- * ```
738
- */
739
- primaryAction?: Action | string;
740
748
  /**
741
749
  * The tooltip to display for disabled actions.
750
+ *
751
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`, `SageEmbed`, `SearchEmbed`, `SpotterAgentEmbed`, `SpotterEmbed`, `SearchBarEmbed`
742
752
  * @version SDK: 1.6.0 | ThoughtSpot: ts8.nov.cl, 8.4.1.sw
743
753
  * @example
744
754
  * ```js
745
- * const embed = new LiveboardEmbed('#embed', {
746
- * ... // other liveboard view config
747
- * disabledActions: [Action.Download, Action.Save]
748
- * disabledActionReason: "Reason for disabling",
755
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
756
+ * const embed = new <EmbedComponent>('#tsEmbed', {
757
+ * ... // other embed view config
758
+ * disabledActions: [Action.Download, Action.Save],
759
+ * disabledActionReason: "Reason for disabling",
749
760
  * });
750
761
  * ```
751
762
  */
@@ -754,12 +765,15 @@ export interface ViewConfig {
754
765
  * The list of actions to hide from the embedded.
755
766
  * This actions will be hidden from the user.
756
767
  * Use this to hide an action.
768
+ *
769
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`, `SageEmbed`, `SearchEmbed`, `SpotterAgentEmbed`, `SpotterEmbed`, `SearchBarEmbed`
757
770
  * @version SDK: 1.6.0 | ThoughtSpot: ts8.nov.cl, 8.4.1.sw
758
771
  * @example
759
772
  * ```js
760
- * const embed = new LiveboardEmbed('#embed', {
761
- * ... // other liveboard view config
762
- * hiddenActions: [Action.Download, Action.Export]
773
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
774
+ * const embed = new <EmbedComponent>('#tsEmbed', {
775
+ * ... // other embed view config
776
+ * hiddenActions: [Action.Download, Action.Export],
763
777
  * });
764
778
  * ```
765
779
  * @important
@@ -772,74 +786,30 @@ export interface ViewConfig {
772
786
  * Use this to hide all actions except the ones you want to show.
773
787
  *
774
788
  * Use either this or hiddenActions.
789
+ *
790
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`, `SageEmbed`, `SearchEmbed`, `SpotterAgentEmbed`, `SpotterEmbed`, `SearchBarEmbed`
775
791
  * @version SDK: 1.6.0 | ThoughtSpot: ts8.nov.cl, 8.4.1.sw
776
792
  * @important
777
793
  * @example
778
794
  * ```js
779
- * const embed = new LiveboardEmbed('#embed', {
780
- * ... // other liveboard view config
781
- * visibleActions: [Action.Download, Action.Export]
795
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
796
+ * const embed = new <EmbedComponent>('#tsEmbed', {
797
+ * ... // other embed view config
798
+ * visibleActions: [Action.Download, Action.Export],
782
799
  * });
783
800
  * ```
784
801
  */
785
802
  visibleActions?: Action[];
786
- /**
787
- * Show alert messages and toast messages in the embedded
788
- * view in full app embed.
789
- * @version SDK: 1.11.0 | ThoughtSpot: 8.3.0.cl, 8.4.1.sw
790
- * @example
791
- * ```js
792
- * const embed = new AppEmbed('#embed-container', {
793
- * ... // other options
794
- * showAlerts:true,
795
- * })
796
- * ```
797
- */
798
- showAlerts?: boolean;
799
- /**
800
- * The list of runtime filters to apply to a search Answer,
801
- * visualization, or Liveboard.
802
- * @version SDK: 1.9.4 | ThoughtSpot 8.1.0.cl, 8.4.1.sw
803
- * @example
804
- * ```js
805
- * const embed = new LiveboardEmbed('#embed-container', {
806
- * ... // other options
807
- * runtimeFilters: [
808
- * {
809
- * columnName: 'value',
810
- * operator: RuntimeFilterOp.EQ,
811
- * values: ['string' | 123 | true],
812
- * },
813
- * ],
814
- * })
815
- * ```
816
- */
817
- runtimeFilters?: RuntimeFilter[];
818
- /**
819
- * The list of parameter override to apply to a search Answer,
820
- * visualization, or Liveboard.
821
- * @version SDK : 1.25.0 | ThoughtSpot: 9.2.0.cl, 9.5.0.sw
822
- * @example
823
- * ```js
824
- * const embed = new LiveboardEmbed('#embed-container', {
825
- * ... // other options
826
- * runtimeParameters: [
827
- * {
828
- * name: 'value',
829
- * value: 'string' | 123 | true,
830
- * },
831
- * ],
832
- * })
833
- * ```
834
- */
835
- runtimeParameters?: RuntimeParameter[];
836
803
  /**
837
804
  * The locale settings to apply to the embedded view.
805
+ *
806
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`, `SageEmbed`, `SearchEmbed`, `SpotterAgentEmbed`, `SpotterEmbed`, `SearchBarEmbed`
838
807
  * @version SDK: 1.9.4 | ThoughtSpot 8.1.0.cl, 8.4.1.sw
839
808
  * @example
840
809
  * ```js
841
- * const embed = new LiveboardEmbed('#embed-container', {
842
- * ... // other options
810
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
811
+ * const embed = new <EmbedComponent>('#tsEmbed', {
812
+ * ... // other embed view config
843
813
  * locale:'en',
844
814
  * })
845
815
  * ```
@@ -853,14 +823,17 @@ export interface ViewConfig {
853
823
  * Warning: This option is for advanced use only and is used internally
854
824
  * to control embed behavior in non-regular ways. We do not publish the
855
825
  * list of supported keys and values associated with each.
826
+ *
827
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`, `SageEmbed`, `SearchEmbed`, `SpotterAgentEmbed`, `SpotterEmbed`, `SearchBarEmbed`
856
828
  * @example
857
829
  * ```js
858
- * const embed = new LiveboardEmbed('#embed', {
859
- * ... // other liveboard view config
830
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
831
+ * const embed = new <EmbedComponent>('#tsEmbed', {
832
+ * ... // other embed view config
860
833
  * additionalFlags: {
861
834
  * flag1: 'value1',
862
835
  * flag2: 'value2'
863
- * }
836
+ * },
864
837
  * });
865
838
  * ```
866
839
  * @version SDK: 1.9.0 | ThoughtSpot: 8.1.0.cl, 8.4.1.sw
@@ -876,82 +849,190 @@ export interface ViewConfig {
876
849
  /**
877
850
  * Insert as a sibling of the target container, instead of appending to a
878
851
  * child inside it.
852
+ *
853
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`, `SageEmbed`, `SearchEmbed`, `SpotterAgentEmbed`, `SpotterEmbed`, `SearchBarEmbed`
879
854
  * @version SDK: 1.2.0 | ThoughtSpot: 9.0.0.cl, 9.0.0.sw
880
855
  * @example
881
856
  * ```js
882
- * const embed = new LiveboardEmbed('#embed-container', {
883
- * ... // other options
857
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
858
+ * const embed = new <EmbedComponent>('#tsEmbed', {
859
+ * ... // other embed view config
884
860
  * insertAsSibling:true,
885
861
  * })
886
862
  * ```
887
863
  */
888
864
  insertAsSibling?: boolean;
889
865
  /**
890
- * flag to set ContextMenu Trigger to either left or right click.
866
+ * Use a pre-rendered iframe from a pool of pre-rendered iframes
867
+ * if available and matches the configuration.
868
+ * @version SDK: 1.22.0
869
+ * @hidden
870
+ *
871
+ * See [docs]() on how to create a prerender pool.
872
+ */
873
+ usePrerenderedIfAvailable?: boolean;
874
+ /**
875
+ * PreRender id to be used for PreRendering the embed.
876
+ * Use PreRender to render the embed in the background and then
877
+ * show or hide the rendered embed using showPreRender or hidePreRender respectively.
878
+ *
879
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`, `SageEmbed`, `SearchEmbed`, `SpotterAgentEmbed`, `SpotterEmbed`, `SearchBarEmbed`
891
880
  * @example
892
881
  * ```js
893
- * const embed = new LiveboardEmbed('#tsEmbed', {
894
- * ... // other options
895
- * contextMenuTrigger:ContextMenuTriggerOptions.LEFT_CLICK || RIGHT_CLICK,
896
- * })
882
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
883
+ * const embed = new <EmbedComponent>('#tsEmbed', {
884
+ * ... // other embed view config
885
+ * preRenderId: "preRenderId-123",
886
+ * });
887
+ * embed.showPreRender();
897
888
  * ```
898
- * @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl
889
+ * @version SDK: 1.25.0 | ThoughtSpot: 9.6.0.cl, 9.8.0.sw
899
890
  */
900
- contextMenuTrigger?: ContextMenuTriggerOptions;
891
+ preRenderId?: string;
892
+
893
+ /**
894
+ * Determines if the PreRender component should dynamically track the size
895
+ * of its embedding element and adjust its own size accordingly.
896
+ * Enabling this option allows the PreRender component to automatically adapt
897
+ * its dimensions based on changes to the size of the embedding element.
898
+ * @type {boolean}
899
+ * @default false
900
+ * @version SDK: 1.24.0 | ThoughtSpot:9.4.0.cl, 9.4.0.sw
901
+ * @example
902
+ * ```js
903
+ * // Disable tracking PreRender size in the configuration
904
+ * const config = {
905
+ * doNotTrackPreRenderSize: true,
906
+ * };
907
+ *
908
+ * // Instantiate an object with the configuration
909
+ * const myComponent = new MyComponent(config);
910
+ * ```
911
+ */
912
+ doNotTrackPreRenderSize?: boolean;
913
+ /**
914
+ * Enable the V2 shell. This can provide performance benefits
915
+ * due to a lighterweight shell.
916
+ *
917
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`, `SageEmbed`, `SearchEmbed`, `SpotterAgentEmbed`, `SpotterEmbed`, `SearchBarEmbed`
918
+ * @example
919
+ * ```js
920
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
921
+ * const embed = new <EmbedComponent>('#tsEmbed', {
922
+ * ... // other embed view config
923
+ * enableV2Shell_experimental: true,
924
+ * });
925
+ * ```
926
+ * @version SDK: 1.31.2 | ThoughtSpot: 10.0.0.cl
927
+ */
928
+ // eslint-disable-next-line camelcase
929
+ enableV2Shell_experimental?: boolean;
930
+ /**
931
+ * For internal tracking of the embed component type.
932
+ * @hidden
933
+ */
934
+ embedComponentType?: string;
935
+ /**
936
+ * This flag can be used to expose translation IDs on the embedded app.
937
+ * @default false
938
+ * @version SDK: 1.37.0 | ThoughtSpot: 10.9.0.cl
939
+ */
940
+ exposeTranslationIDs?: boolean;
941
+ /**
942
+ * This flag can be used to disable links inside the embedded app,
943
+ * and disable redirection of links in a new tab.
944
+ *
945
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`, `SageEmbed`, `SearchEmbed`, `SpotterAgentEmbed`, `SpotterEmbed`, `SearchBarEmbed`
946
+ * @example
947
+ * ```js
948
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
949
+ * const embed = new <EmbedComponent>('#tsEmbed', {
950
+ * ... // other embed view config
951
+ * disableRedirectionLinksInNewTab: true,
952
+ * });
953
+ * ```
954
+ * @version SDK: 1.32.1 | ThoughtSpot: 10.3.0.cl
955
+ */
956
+ disableRedirectionLinksInNewTab?: boolean;
957
+ /**
958
+ * Overrides an Org context for embedding application users.
959
+ * This parameter allows a user authenticated to one Org to view the
960
+ * objects from another Org.
961
+ * The `overrideOrgId` setting is honoured only if the
962
+ * Per Org URL feature is enabled on your ThoughtSpot instance.
963
+ *
964
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`, `SageEmbed`, `SearchEmbed`, `SpotterAgentEmbed`, `SpotterEmbed`, `SearchBarEmbed`
965
+ * @example
966
+ * ```js
967
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
968
+ * const embed = new <EmbedComponent>('#tsEmbed', {
969
+ * ... // other embed view config
970
+ * overrideOrgId: 142536,
971
+ * });
972
+ * ```
973
+ * @version SDK: 1.35.0 | ThoughtSpot: 10.5.0.cl
974
+ */
975
+ overrideOrgId?: number;
901
976
  /**
902
977
  * Flag to override the *Open Link in New Tab* context menu option.
978
+ *
979
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`, `SageEmbed`, `SearchEmbed`, `SpotterAgentEmbed`, `SpotterEmbed`, `SearchBarEmbed`
903
980
  * @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl
904
981
  * @example
905
982
  * ```js
906
- * const embed = new LiveboardEmbed('#embed-container', {
907
- * ... // other options
983
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
984
+ * const embed = new <EmbedComponent>('#tsEmbed', {
985
+ * ... // other embed view config
908
986
  * linkOverride:false,
909
987
  * })
910
988
  * ```
911
989
  */
912
990
  linkOverride?: boolean;
991
+ /**
992
+ * The primary action to display on top of the viz for Liveboard and App Embed.
993
+ * Use this to set the primary action.
994
+ *
995
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`
996
+ * @version SDK: 1.39.0 | ThoughtSpot: 10.11.0.cl
997
+ * @example
998
+ * ```js
999
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
1000
+ * const embed = new <EmbedComponent>('#tsEmbed', {
1001
+ * ... // other embed view config
1002
+ * primaryAction: Action.Download
1003
+ * });
1004
+ * ```
1005
+ */
1006
+ primaryAction?: Action | string;
913
1007
  /**
914
1008
  * flag to enable insert into slides action
915
1009
  * @hidden
916
1010
  * @private
917
1011
  */
918
1012
  insertInToSlide?: boolean;
1013
+ }
1014
+
1015
+ /**
1016
+ * The configuration object for Home page embeds configs.
1017
+ */
1018
+ export interface HomePageConfig {
919
1019
  /**
920
- * Use a pre-rendered iframe from a pool of pre-rendered iframes
921
- * if available and matches the configuration.
922
- * @version SDK: 1.22.0
923
- * @hidden
924
- *
925
- * See [docs]() on how to create a prerender pool.
926
- */
927
- usePrerenderedIfAvailable?: boolean;
928
- /**
929
- * Boolean to exclude runtimeFilters in the URL
930
- * By default it is true, this flag removes runtime filters from the URL
931
- * when set to false, runtime filters will be included in the URL.
1020
+ * Hide list page columns
1021
+ * For example: hiddenListColumns = [ListPageColumns.Author]
932
1022
  *
933
- * Irrespective of this flag, runtime filters ( if passed ) will be applied to the
934
- * embedded view.
935
- * @default false
936
- * @version SDK: 1.24.0 | ThoughtSpot: 9.5.0.cl
937
- */
938
- excludeRuntimeFiltersfromURL?: boolean;
939
- /**
940
- * The list of tab IDs to hide from the embedded.
941
- * This Tabs will be hidden from their respective LBs.
942
- * Use this to hide an tabID.
1023
+ * **Note**: This option is available only in full app embedding.
1024
+ *
1025
+ * Supported embed types: `AppEmbed`
1026
+ * @version SDK: 1.38.0 | ThoughtSpot: 10.9.0.cl
943
1027
  * @example
944
1028
  * ```js
945
- * const embed = new LiveboardEmbed('#embed', {
946
- * ... // other liveboard view config
947
- * hiddenTabs: [
948
- * '430496d6-6903-4601-937e-2c691821af3c',
949
- * 'f547ec54-2a37-4516-a222-2b06719af726']
950
- * });
1029
+ * const embed = new AppEmbed('#tsEmbed', {
1030
+ * ... //other embed view config
1031
+ * hiddenListColumns : [ListPageColumns.Favorite,ListPageColumns.Author],
1032
+ * })
951
1033
  * ```
952
- * @version SDK: 1.26.0 | ThoughtSpot: 9.7.0.cl, 10.1.0.sw
953
1034
  */
954
- hiddenTabs?: string[];
1035
+ hiddenListColumns?: ListPageColumns[];
955
1036
  /**
956
1037
  * Hide the home page modules
957
1038
  * For example: hiddenHomepageModules = [HomepageModule.MyLibrary]
@@ -959,11 +1040,13 @@ export interface ViewConfig {
959
1040
  * **Note**: This option does not apply to the classic homepage.
960
1041
  * To access the updated modular homepage, set
961
1042
  * `modularHomeExperience` to `true` (available as Early Access feature in 9.12.5.cl).
1043
+ *
1044
+ * Supported embed types: `AppEmbed`
962
1045
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl, 10.1.0.sw
963
1046
  * @example
964
1047
  * ```js
965
1048
  * const embed = new AppEmbed('#tsEmbed', {
966
- * ... // other options
1049
+ * ... //other embed view config
967
1050
  * hiddenHomepageModules : [HomepageModule.Favorite,HomepageModule.Learning],
968
1051
  * })
969
1052
  * ```
@@ -976,42 +1059,28 @@ export interface ViewConfig {
976
1059
  * **Note**: This option does not apply to the classic homepage.
977
1060
  * To access the updated modular homepage, set
978
1061
  * `modularHomeExperience` to `true` (available as Early Access feature in 9.12.5.cl).
1062
+ *
1063
+ * Supported embed types: `AppEmbed`
979
1064
  * @version SDK: 1.28.0| ThoughtSpot: 9.12.5.cl, 10.1.0.sw
980
1065
  * @example
981
1066
  * ```js
982
1067
  * const embed = new AppEmbed('#tsEmbed', {
983
- * ... // other options
984
- * reorderedHomepageModules:[HomepageModule.Favorite,HomepageModule.MyLibrary]
1068
+ * ... //other embed view config
1069
+ * reorderedHomepageModules:[HomepageModule.Favorite,HomepageModule.MyLibrary],
985
1070
  * })
986
1071
  * ```
987
1072
  */
988
1073
  reorderedHomepageModules?: HomepageModule[];
989
- /**
990
- * The list of tab IDs to show in the embedded Liveboard.
991
- * Only the tabs specified in the array will be shown in the Liveboard.
992
- *
993
- * Use either `visibleTabs` or `hiddenTabs`.
994
- * @version SDK: 1.26.0 | ThoughtSpot: 9.7.0.cl, 10.1.0.sw
995
- * @example
996
- * ```js
997
- * const embed = new LiveboardEmbed('#embed-container', {
998
- * ... // other options
999
- * visibleTabs: [
1000
- * '430496d6-6903-4601-937e-2c691821af3c',
1001
- * 'f547ec54-2a37-4516-a222-2b06719af726'
1002
- * ]
1003
- * })
1004
- * ```
1005
- */
1006
- visibleTabs?: string[];
1007
1074
  /**
1008
1075
  * homepageLeftNavItems : Show or hide the left navigation bar items.
1009
1076
  * There are 8 eight home navigation list items.
1010
1077
  * To hide these items, specify the string in the array.
1078
+ *
1079
+ * Supported embed types: `AppEmbed`
1011
1080
  * @example
1012
1081
  * ```js
1013
1082
  * const embed = new AppEmbed('#tsEmbed', {
1014
- * ... // other options
1083
+ * ... //other embed view config
1015
1084
  * hiddenHomeLeftNavItems : [HomeLeftNavItem.Home,HomeLeftNavItem.Answers],
1016
1085
  * })
1017
1086
  * ```
@@ -1022,47 +1091,81 @@ export interface ViewConfig {
1022
1091
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl, 10.1.0.sw
1023
1092
  */
1024
1093
  hiddenHomeLeftNavItems?: HomeLeftNavItem[];
1094
+ }
1095
+
1096
+ /**
1097
+ * The configuration object for common Search and Liveboard embeds configs.
1098
+ */
1099
+ export interface SearchLiveboardCommonViewConfig {
1025
1100
  /**
1026
- * PreRender id to be used for PreRendering the embed.
1027
- * Use PreRender to render the embed in the background and then
1028
- * show or hide the rendered embed using showPreRender or hidePreRender respectively.
1101
+ * The list of runtime filters to apply to a search Answer,
1102
+ * visualization, or Liveboard.
1103
+ *
1104
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`, `SearchEmbed`
1105
+ * @version SDK: 1.9.4 | ThoughtSpot 8.1.0.cl, 8.4.1.sw
1029
1106
  * @example
1030
1107
  * ```js
1031
- * const embed = new LiveboardEmbed('#embed', {
1032
- * ... // other liveboard view config
1033
- * preRenderId: "preRenderId-123"
1034
- * });
1035
- * embed.showPreRender();
1108
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
1109
+ * const embed = new <EmbedComponent>('#tsEmbed', {
1110
+ * ... // other embed view config
1111
+ * runtimeFilters: [
1112
+ * {
1113
+ * columnName: 'value',
1114
+ * operator: RuntimeFilterOp.EQ,
1115
+ * values: ['string' | 123 | true],
1116
+ * },
1117
+ * ],
1118
+ * })
1036
1119
  * ```
1037
- * @version SDK: 1.25.0 | ThoughtSpot: 9.6.0.cl, 9.8.0.sw
1038
1120
  */
1039
- preRenderId?: string;
1040
-
1121
+ runtimeFilters?: RuntimeFilter[];
1041
1122
  /**
1042
- * Determines if the PreRender component should dynamically track the size
1043
- * of its embedding element and adjust its own size accordingly.
1044
- * Enabling this option allows the PreRender component to automatically adapt
1045
- * its dimensions based on changes to the size of the embedding element.
1046
- * @type {boolean}
1047
- * @default false
1048
- * @version SDK: 1.24.0 | ThoughtSpot:9.4.0.cl, 9.4.0.sw
1123
+ * The list of parameter override to apply to a search Answer,
1124
+ * visualization, or Liveboard.
1125
+ *
1126
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`, `SearchEmbed`
1127
+ * @version SDK : 1.25.0 | ThoughtSpot: 9.2.0.cl, 9.5.0.sw
1049
1128
  * @example
1050
1129
  * ```js
1051
- * // Disable tracking PreRender size in the configuration
1052
- * const config = {
1053
- * doNotTrackPreRenderSize: true,
1054
- * };
1055
- *
1056
- * // Instantiate an object with the configuration
1057
- * const myComponent = new MyComponent(config);
1130
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
1131
+ * const embed = new <EmbedComponent>('#tsEmbed', {
1132
+ * ... // other embed view config
1133
+ * runtimeParameters: [
1134
+ * {
1135
+ * name: 'value',
1136
+ * value: 'string' | 123 | true,
1137
+ * },
1138
+ * ]
1139
+ * })
1058
1140
  * ```
1059
1141
  */
1060
- doNotTrackPreRenderSize?: boolean;
1142
+ runtimeParameters?: RuntimeParameter[];
1061
1143
  /**
1062
- * For internal tracking of the embed component type.
1063
- * @hidden
1144
+ * flag to set ContextMenu Trigger to either left or right click.
1145
+ *
1146
+ * Supported embed types: `AppEmbed`, `SageEmbed`, `SearchEmbed`
1147
+ * @example
1148
+ * ```js
1149
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SageEmbed, or SearchEmbed
1150
+ * const embed = new <EmbedComponent>('#tsEmbed', {
1151
+ * ... // other embed view config
1152
+ * contextMenuTrigger:ContextMenuTriggerOptions.LEFT_CLICK || RIGHT_CLICK,
1153
+ * })
1154
+ * ```
1155
+ * @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl
1064
1156
  */
1065
- embedComponentType?: string;
1157
+ contextMenuTrigger?: ContextMenuTriggerOptions;
1158
+ /**
1159
+ * Boolean to exclude runtimeFilters in the URL
1160
+ * By default it is true, this flag removes runtime filters from the URL
1161
+ * when set to false, runtime filters will be included in the URL.
1162
+ *
1163
+ * Irrespective of this flag, runtime filters ( if passed ) will be applied to the
1164
+ * embedded view.
1165
+ * @default false
1166
+ * @version SDK: 1.24.0 | ThoughtSpot: 9.5.0.cl
1167
+ */
1168
+ excludeRuntimeFiltersfromURL?: boolean;
1066
1169
  /**
1067
1170
  * Boolean to exclude runtimeParameters from the URL
1068
1171
  * when set to true, this flag removes runtime parameters from the URL.
@@ -1074,108 +1177,223 @@ export interface ViewConfig {
1074
1177
  */
1075
1178
  excludeRuntimeParametersfromURL?: boolean;
1076
1179
  /**
1077
- * Enable the V2 shell. This can provide performance benefits
1078
- * due to a lighterweight shell.
1180
+ * To set the initial state of the search bar in case of saved Answers.
1181
+ *
1182
+ * Supported embed types: `SageEmbed`, `AppEmbed`, `SearchBarEmbed`
1183
+ * @default true
1184
+ * @version SDK: 1.34.0 | ThoughtSpot: 10.3.0.cl
1079
1185
  * @example
1080
1186
  * ```js
1081
- * const embed = new LiveboardEmbed('#embed', {
1082
- * liveboardId: '123',
1083
- * enableV2Shell_experimental: true
1187
+ * // Replace <EmbedComponent> with embed component name. For example, SageEmbed, AppEmbed, or SearchBarEmbed
1188
+ * const embed = new <EmbedComponent>('#tsEmbed', {
1189
+ * ... // other embed view config
1190
+ * collapseSearchBar: true,
1084
1191
  * });
1192
+ */
1193
+ collapseSearchBar?: boolean;
1194
+ /**
1195
+ * Flag to control Data panel experience
1196
+ *
1197
+ * Supported embed types: `SageEmbed`, `AppEmbed`, `SearchBarEmbed`, `LiveboardEmbed`, `SearchEmbed`
1198
+ * @default false
1199
+ * @version SDK: 1.34.0 | ThoughtSpot Cloud: 10.3.0.cl
1200
+ * @example
1201
+ * ```js
1202
+ * // Replace <EmbedComponent> with embed component name. For example, SageEmbed, AppEmbed, or SearchBarEmbed
1203
+ * const embed = new <EmbedComponent>('#tsEmbed', {
1204
+ * ... // other embed view config
1205
+ * dataPanelV2: true,
1206
+ * })
1085
1207
  * ```
1086
- * @version SDK: 1.31.2 | ThoughtSpot: 10.0.0.cl
1087
1208
  */
1088
- // eslint-disable-next-line camelcase
1089
- enableV2Shell_experimental?: boolean;
1209
+ dataPanelV2?: boolean;
1090
1210
  /**
1091
- * To set the initial state of the search bar in case of saved Answers.
1092
- * @default true
1093
- * @version SDK: 1.34.0 | ThoughtSpot: 10.3.0.cl
1211
+ * To enable custom column groups in data panel v2
1212
+ *
1213
+ * Supported embed types: `SageEmbed`, `SearchBarEmbed`, `LiveboardEmbed`, `SearchEmbed`
1214
+ * @version SDK: 1.32.0 | ThoughtSpot: 10.0.0.cl, 10.1.0.sw
1215
+ * @default false
1094
1216
  * @example
1095
1217
  * ```js
1096
- * const embed = new LiveboardEmbed('#embed', {
1097
- * liveboardId: '123',
1098
- * collapseSearchBar: true
1218
+ * // Replace <EmbedComponent> with embed component name. For example, SageEmbed, SearchBarEmbed, or LiveboardEmbed
1219
+ * const embed = new <EmbedComponent>('#tsEmbed', {
1220
+ * ... // other embed view config
1221
+ * enableCustomColumnGroups: true,
1099
1222
  * });
1223
+ * ```
1100
1224
  */
1101
- collapseSearchBar?: boolean;
1225
+ enableCustomColumnGroups?: boolean;
1226
+ }
1227
+
1228
+ /**
1229
+ * The configuration object for common Liveboard and App embeds configs.
1230
+ */
1231
+ export interface LiveboardAppEmbedViewConfig {
1102
1232
  /**
1103
- * This flag can be used to expose translation IDs on the embedded app.
1233
+ * Show or hide Liveboard header
1234
+ *
1235
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`
1236
+ * @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl
1104
1237
  * @default false
1105
- * @version SDK: 1.37.0 | ThoughtSpot: 10.9.0.cl
1238
+ * @example
1239
+ * ```js
1240
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
1241
+ * const embed = new <EmbedComponent>('#tsEmbed', {
1242
+ * ... // other embed view config
1243
+ * hideLiveboardHeader : true,
1244
+ * })
1245
+ * ```
1106
1246
  */
1107
- exposeTranslationIDs?: boolean;
1247
+ hideLiveboardHeader?: boolean;
1108
1248
  /**
1109
- * This flag can be used to disable links inside the embedded app,
1110
- * and disable redirection of links in a new tab.
1249
+ * Show or hide Liveboard title
1250
+ *
1251
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`
1252
+ * @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl
1253
+ * @default false
1111
1254
  * @example
1112
1255
  * ```js
1113
- * const embed = new LiveboardEmbed('#embed', {
1114
- * disableRedirectionLinksInNewTab: true
1256
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
1257
+ * const embed = new <EmbedComponent>('#tsEmbed', {
1258
+ * ... // other embed view config
1259
+ * showLiveboardTitle:true,
1260
+ * })
1261
+ * ```
1262
+ */
1263
+ showLiveboardTitle?: boolean;
1264
+ /**
1265
+ * Show or hide Liveboard description
1266
+ *
1267
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`
1268
+ * @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl
1269
+ * @default false
1270
+ * @example
1271
+ * ```js
1272
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
1273
+ * const embed = new <EmbedComponent>('#tsEmbed', {
1274
+ * ... // other embed view config
1275
+ * showLiveboardDescription:true,
1276
+ * })
1277
+ * ```
1278
+ */
1279
+ showLiveboardDescription?: boolean;
1280
+ /**
1281
+ * Boolean to control if Liveboard header is sticky or not.
1282
+ *
1283
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`
1284
+ * @example
1285
+ * ```js
1286
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
1287
+ * const embed = new <EmbedComponent>('#embed', {
1288
+ * ... // other app view config
1289
+ * isLiveboardHeaderSticky: true,
1115
1290
  * });
1116
1291
  * ```
1117
- * @version SDK: 1.32.1 | ThoughtSpot: 10.3.0.cl
1292
+ * @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl
1118
1293
  */
1119
- disableRedirectionLinksInNewTab?: boolean;
1294
+ isLiveboardHeaderSticky?: boolean;
1120
1295
  /**
1121
- * Flag to control Data panel experience
1296
+ * This attribute can be used to enable the two-column layout on an embedded Liveboard
1297
+ *
1298
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`
1299
+ * @type {boolean}
1122
1300
  * @default false
1123
- * @version SDK: 1.34.0 | ThoughtSpot Cloud: 10.3.0.cl
1301
+ * @version SDK: 1.32.0 | ThoughtSpot:10.1.0.cl
1124
1302
  * @example
1125
1303
  * ```js
1126
- * const embed = new AppEmbed('#tsEmbed', {
1127
- * ... // other options
1128
- * dataPanelV2: true,
1304
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
1305
+ * const embed = new <EmbedComponent>('#tsEmbed', {
1306
+ * ... // other embed view config
1307
+ * enable2ColumnLayout: true,
1129
1308
  * })
1130
1309
  * ```
1131
1310
  */
1132
- dataPanelV2?: boolean;
1311
+ enable2ColumnLayout?: boolean;
1133
1312
  /**
1134
- * To enable custom column groups in data panel v2
1135
- * @version SDK: 1.32.0 | ThoughtSpot: 10.0.0.cl, 10.1.0.sw
1313
+ * This flag can be used to enable the compact header in Liveboard
1314
+ *
1315
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`
1316
+ * @type {boolean}
1136
1317
  * @default false
1318
+ * @version SDK: 1.35.0 | ThoughtSpot:10.3.0.cl
1137
1319
  * @example
1138
1320
  * ```js
1139
- * const embed = new SearchEmbed('#tsEmbed', {
1140
- * ... // other options
1141
- * enableCustomColumnGroups: true,
1142
- * });
1321
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
1322
+ * const embed = new <EmbedComponent>('#tsEmbed', {
1323
+ * ... // other embed view config
1324
+ * isLiveboardCompactHeaderEnabled: true,
1325
+ * })
1143
1326
  * ```
1144
1327
  */
1145
- enableCustomColumnGroups?: boolean;
1328
+ isLiveboardCompactHeaderEnabled?: boolean;
1146
1329
  /**
1147
- * Overrides an Org context for embedding application users.
1148
- * This parameter allows a user authenticated to one Org to view the
1149
- * objects from another Org.
1150
- * The `overrideOrgId` setting is honoured only if the
1151
- * Per Org URL feature is enabled on your ThoughtSpot instance.
1330
+ * This flag can be used to show or hide the Liveboard verified icon in the compact header.
1331
+ *
1332
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`
1333
+ * @version SDK: 1.35.0 | ThoughtSpot:10.4.0.cl
1334
+ * @default true
1152
1335
  * @example
1153
1336
  * ```js
1154
- * const embed = new LiveboardEmbed('#embed', {
1155
- * ... // other options
1156
- * overrideOrgId: 142536
1157
- * });
1337
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
1338
+ * const embed = new <EmbedComponent>('#tsEmbed', {
1339
+ * ... // other embed view config
1340
+ * showLiveboardVerifiedBadge: true,
1341
+ * })
1158
1342
  * ```
1159
- * @version SDK: 1.35.0 | ThoughtSpot: 10.5.0.cl
1160
1343
  */
1161
- overrideOrgId?: number;
1344
+ showLiveboardVerifiedBadge?: boolean;
1162
1345
  /**
1163
- * Hide list page columns
1164
- * For example: hiddenListColumns = [ListPageColumns.Author]
1165
- *
1166
- * **Note**: This option is available only in full app embedding.
1167
- * @version SDK: 1.38.0 | ThoughtSpot: 10.9.0.cl
1346
+ * This flag is used to enable/disable hide irrelevant filters in Liveboard tab
1347
+ *
1348
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`
1349
+ * @version SDK: 1.36.0 | ThoughtSpot:10.6.0.cl
1350
+ * @default false
1168
1351
  * @example
1169
1352
  * ```js
1170
- * const embed = new AppEmbed('#tsEmbed', {
1171
- * ... // other options
1172
- * hiddenListColumns : [ListPageColumns.Favorite,ListPageColumns.Author],
1353
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
1354
+ * const embed = new <EmbedComponent>('#tsEmbed', {
1355
+ * ... // other embed view config
1356
+ * hideIrrelevantChipsInLiveboardTabs: true,
1173
1357
  * })
1174
1358
  * ```
1175
1359
  */
1176
- hiddenListColumns?: ListPageColumns[];
1360
+ hideIrrelevantChipsInLiveboardTabs?: boolean;
1361
+ /**
1362
+ * This flag can be used to show or hide the re-verify banner on the Liveboard compact header
1363
+ *
1364
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`
1365
+ * @version SDK: 1.35.0 | ThoughtSpot:10.4.0.cl
1366
+ * @default true
1367
+ * @example
1368
+ * ```js
1369
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
1370
+ * const embed = new <EmbedComponent>('#tsEmbed', {
1371
+ * ... // other embed view config
1372
+ * showLiveboardReverifyBanner: true,
1373
+ * })
1374
+ * ```
1375
+ */
1376
+ showLiveboardReverifyBanner?: boolean;
1377
+ /**
1378
+ * enable or disable ask sage
1379
+ *
1380
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`
1381
+ * @version SDK: 1.29.0 | Thoughtspot: 9.12.0.cl
1382
+ * @default false
1383
+ * @example
1384
+ * ```js
1385
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SpotterEmbed, or LiveboardEmbed
1386
+ * const embed = new <EmbedComponent>('#tsEmbed', {
1387
+ * ... // other embed view config
1388
+ * enableAskSage:true,
1389
+ * })
1390
+ * ```
1391
+ */
1392
+ enableAskSage?: boolean;
1177
1393
  }
1178
1394
 
1395
+ export interface AllEmbedViewConfig extends BaseViewConfig, SearchLiveboardCommonViewConfig, HomePageConfig, LiveboardAppEmbedViewConfig {}
1396
+
1179
1397
  /**
1180
1398
  * MessagePayload: Embed event payload: message type, data and status (start/end)
1181
1399
  * @group Events
@@ -1585,7 +1803,7 @@ export enum EmbedEvent {
1585
1803
  * @version SDK: 1.5.0 | ThoughtSpot: ts7.oct.cl, 7.2.1
1586
1804
  * @example
1587
1805
  * ```js
1588
- * livebaordEmbed.on(EmbedEvent.VizPointDoubleClick, payload => {
1806
+ * LiveboardEmbed.on(EmbedEvent.VizPointDoubleClick, payload => {
1589
1807
  * console.log('VizPointDoubleClick', payload);
1590
1808
  * })
1591
1809
  * ```
@@ -2447,6 +2665,12 @@ export enum EmbedEvent {
2447
2665
  * @version SDK : 1.37.0 | ThoughtSpot : 10.8.0.cl
2448
2666
  */
2449
2667
  CreateModel = 'createModel',
2668
+ /**
2669
+ * @hidden
2670
+ * Emitted when a user exits present mode.
2671
+ * @version SDK : 1.40.0 | ThoughtSpot : 10.11.0.cl
2672
+ */
2673
+ ExitPresentMode = 'exitPresentMode',
2450
2674
  }
2451
2675
 
2452
2676
  /**
@@ -3521,6 +3745,16 @@ export enum HostEvent {
3521
3745
  * @version SDK: 1.37.0 | ThoughtSpot: 10.8.0.cl
3522
3746
  */
3523
3747
  TransformTableVizData = 'TransformTableVizData',
3748
+ /**
3749
+ * @hidden
3750
+ * Trigger exit from presentation mode when user exits fullscreen.
3751
+ * This is automatically triggered by the SDK when fullscreen mode is exited.
3752
+ * ```js
3753
+ * liveboardEmbed.trigger(HostEvent.ExitPresentMode);
3754
+ *```
3755
+ * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
3756
+ */
3757
+ ExitPresentMode = 'exitPresentMode',
3524
3758
  }
3525
3759
 
3526
3760
  /**
@@ -3663,6 +3897,7 @@ export enum Param {
3663
3897
  CoverAndFilterOptionInPDF = 'coverAndFilterOptionInPDF',
3664
3898
  PrimaryAction = 'primaryAction',
3665
3899
  isSpotterAgentEmbed = 'isSpotterAgentEmbed',
3900
+ IsLiveboardStylingAndGroupingEnabled = 'isLiveboardStylingAndGroupingEnabled',
3666
3901
  }
3667
3902
 
3668
3903
  /**
@@ -3674,8 +3909,8 @@ export enum Param {
3674
3909
  * or `hiddenActions` array.
3675
3910
  * @example
3676
3911
  * ```js
3677
- * const embed = new LiveboardEmbed('#embed-container', {
3678
- * ... // other options
3912
+ * const embed = new LiveboardEmbed('#tsEmbed', {
3913
+ * ... //other embed view config
3679
3914
  * visibleActions: [Action.Save, Action.Edit, Action.Present, ActionAction.Explore],
3680
3915
  * disabledActions: [Action.Download],
3681
3916
  * //hiddenActions: [], // Set either this or visibleActions
@@ -3683,8 +3918,8 @@ export enum Param {
3683
3918
  * ```
3684
3919
  * @example
3685
3920
  * ```js
3686
- * const embed = new LiveboardEmbed('#embed-container', {
3687
- * ... // other options
3921
+ * const embed = new LiveboardEmbed('#tsEmbed', {
3922
+ * ... //other embed view config
3688
3923
  * //visibleActions: [],
3689
3924
  * disabledActions: [Action.Download],
3690
3925
  * hiddenActions: [Action.Edit, ActionAction.Explore],
@@ -4986,7 +5221,7 @@ export enum LogLevel {
4986
5221
  * @example
4987
5222
  * ```js
4988
5223
  * init({
4989
- * ... // other options,
5224
+ * ... //other embed view config,
4990
5225
  * logLevel: LogLevel.SILENT,
4991
5226
  * })
4992
5227
  * ```
@@ -4998,7 +5233,7 @@ export enum LogLevel {
4998
5233
  * @example
4999
5234
  * ```js
5000
5235
  * init({
5001
- * ... // other options,
5236
+ * ... //other embed view config,
5002
5237
  * logLevel: LogLevel.ERROR,
5003
5238
  * })
5004
5239
  * ```
@@ -5010,7 +5245,7 @@ export enum LogLevel {
5010
5245
  * @example
5011
5246
  * ```js
5012
5247
  * init({
5013
- * ... // other options,
5248
+ * ... //other embed view config,
5014
5249
  * logLevel: LogLevel.WARN,
5015
5250
  * })
5016
5251
  * ```
@@ -5023,7 +5258,7 @@ export enum LogLevel {
5023
5258
  * @example
5024
5259
  * ```js
5025
5260
  * init({
5026
- * ... // other options,
5261
+ * ... //other embed view config,
5027
5262
  * logLevel: LogLevel.INFO,
5028
5263
  * })
5029
5264
  * ```
@@ -5037,7 +5272,7 @@ export enum LogLevel {
5037
5272
  * @example
5038
5273
  * ```js
5039
5274
  * init({
5040
- * ... // other options,
5275
+ * ... //other embed view config,
5041
5276
  * logLevel: LogLevel.DEBUG,
5042
5277
  * })
5043
5278
  * ```
@@ -5049,7 +5284,7 @@ export enum LogLevel {
5049
5284
  * @example
5050
5285
  * ```js
5051
5286
  * init({
5052
- * ... // other options,
5287
+ * ... //other embed view config,
5053
5288
  * logLevel: LogLevel.TRACE,
5054
5289
  * })
5055
5290
  * ```