@thoughtspot/visual-embed-sdk 1.28.0-alpha.1 → 1.28.0-alpha.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 (207) hide show
  1. package/cjs/package.json +1 -1
  2. package/cjs/src/auth.d.ts +16 -1
  3. package/cjs/src/auth.d.ts.map +1 -1
  4. package/cjs/src/auth.js +5 -1
  5. package/cjs/src/auth.js.map +1 -1
  6. package/cjs/src/auth.spec.d.ts.map +1 -1
  7. package/cjs/src/auth.spec.js +9 -0
  8. package/cjs/src/auth.spec.js.map +1 -1
  9. package/cjs/src/embed/app.d.ts +18 -4
  10. package/cjs/src/embed/app.d.ts.map +1 -1
  11. package/cjs/src/embed/app.js +2 -2
  12. package/cjs/src/embed/app.js.map +1 -1
  13. package/cjs/src/embed/app.spec.js +19 -1
  14. package/cjs/src/embed/app.spec.js.map +1 -1
  15. package/cjs/src/embed/base.d.ts.map +1 -1
  16. package/cjs/src/embed/base.js +0 -3
  17. package/cjs/src/embed/base.js.map +1 -1
  18. package/cjs/src/embed/embed.spec.js +0 -15
  19. package/cjs/src/embed/embed.spec.js.map +1 -1
  20. package/cjs/src/embed/liveboard.d.ts +7 -1
  21. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  22. package/cjs/src/embed/liveboard.js +2 -2
  23. package/cjs/src/embed/liveboard.js.map +1 -1
  24. package/cjs/src/embed/liveboard.spec.js +20 -1
  25. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  26. package/cjs/src/embed/pinboard.spec.js +20 -1
  27. package/cjs/src/embed/pinboard.spec.js.map +1 -1
  28. package/cjs/src/embed/sage.d.ts +1 -1
  29. package/cjs/src/embed/sage.d.ts.map +1 -1
  30. package/cjs/src/embed/sage.js +2 -2
  31. package/cjs/src/embed/sage.js.map +1 -1
  32. package/cjs/src/embed/search-bar.d.ts +1 -1
  33. package/cjs/src/embed/search-bar.d.ts.map +1 -1
  34. package/cjs/src/embed/search-bar.js +2 -2
  35. package/cjs/src/embed/search-bar.js.map +1 -1
  36. package/cjs/src/embed/search.d.ts +1 -1
  37. package/cjs/src/embed/search.d.ts.map +1 -1
  38. package/cjs/src/embed/search.js +3 -3
  39. package/cjs/src/embed/search.js.map +1 -1
  40. package/cjs/src/embed/search.spec.js +25 -1
  41. package/cjs/src/embed/search.spec.js.map +1 -1
  42. package/cjs/src/embed/ts-embed-trigger.spec.d.ts +2 -0
  43. package/cjs/src/embed/ts-embed-trigger.spec.d.ts.map +1 -0
  44. package/cjs/src/embed/ts-embed-trigger.spec.js +34 -0
  45. package/cjs/src/embed/ts-embed-trigger.spec.js.map +1 -0
  46. package/cjs/src/embed/ts-embed.d.ts +1 -1
  47. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  48. package/cjs/src/embed/ts-embed.js +14 -11
  49. package/cjs/src/embed/ts-embed.js.map +1 -1
  50. package/cjs/src/embed/ts-embed.spec.js +47 -17
  51. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  52. package/cjs/src/index.d.ts +2 -1
  53. package/cjs/src/index.d.ts.map +1 -1
  54. package/cjs/src/index.js +3 -1
  55. package/cjs/src/index.js.map +1 -1
  56. package/cjs/src/react/index.spec.js +1 -1
  57. package/cjs/src/react/index.spec.js.map +1 -1
  58. package/cjs/src/test/test-utils.d.ts +1 -0
  59. package/cjs/src/test/test-utils.d.ts.map +1 -1
  60. package/cjs/src/test/test-utils.js +10 -1
  61. package/cjs/src/test/test-utils.js.map +1 -1
  62. package/cjs/src/tokenizedFetch.d.ts +9 -0
  63. package/cjs/src/tokenizedFetch.d.ts.map +1 -1
  64. package/cjs/src/tokenizedFetch.js +9 -0
  65. package/cjs/src/tokenizedFetch.js.map +1 -1
  66. package/cjs/src/types.d.ts +178 -37
  67. package/cjs/src/types.d.ts.map +1 -1
  68. package/cjs/src/types.js +138 -21
  69. package/cjs/src/types.js.map +1 -1
  70. package/cjs/src/utils/authService/authService.d.ts.map +1 -1
  71. package/cjs/src/utils/authService/authService.js +9 -3
  72. package/cjs/src/utils/authService/authService.js.map +1 -1
  73. package/cjs/src/utils/authService/authService.spec.js +22 -0
  74. package/cjs/src/utils/authService/authService.spec.js.map +1 -1
  75. package/dist/src/auth.d.ts +16 -1
  76. package/dist/src/auth.d.ts.map +1 -1
  77. package/dist/src/auth.spec.d.ts.map +1 -1
  78. package/dist/src/embed/app.d.ts +18 -4
  79. package/dist/src/embed/app.d.ts.map +1 -1
  80. package/dist/src/embed/base.d.ts.map +1 -1
  81. package/dist/src/embed/liveboard.d.ts +7 -1
  82. package/dist/src/embed/liveboard.d.ts.map +1 -1
  83. package/dist/src/embed/sage.d.ts +1 -1
  84. package/dist/src/embed/sage.d.ts.map +1 -1
  85. package/dist/src/embed/search-bar.d.ts +1 -1
  86. package/dist/src/embed/search-bar.d.ts.map +1 -1
  87. package/dist/src/embed/search.d.ts +1 -1
  88. package/dist/src/embed/search.d.ts.map +1 -1
  89. package/dist/src/embed/ts-embed-trigger.spec.d.ts +2 -0
  90. package/dist/src/embed/ts-embed-trigger.spec.d.ts.map +1 -0
  91. package/dist/src/embed/ts-embed.d.ts +1 -1
  92. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  93. package/dist/src/index.d.ts +2 -1
  94. package/dist/src/index.d.ts.map +1 -1
  95. package/dist/src/test/test-utils.d.ts +1 -0
  96. package/dist/src/test/test-utils.d.ts.map +1 -1
  97. package/dist/src/tokenizedFetch.d.ts +9 -0
  98. package/dist/src/tokenizedFetch.d.ts.map +1 -1
  99. package/dist/src/types.d.ts +178 -37
  100. package/dist/src/types.d.ts.map +1 -1
  101. package/dist/src/utils/authService/authService.d.ts.map +1 -1
  102. package/dist/tsembed-react.es.js +186 -48
  103. package/dist/tsembed-react.js +186 -48
  104. package/dist/tsembed.es.js +187 -52
  105. package/dist/tsembed.js +187 -51
  106. package/dist/visual-embed-sdk-react-full.d.ts +235 -48
  107. package/dist/visual-embed-sdk-react.d.ts +235 -48
  108. package/dist/visual-embed-sdk.d.ts +235 -48
  109. package/lib/package.json +1 -1
  110. package/lib/src/auth.d.ts +16 -1
  111. package/lib/src/auth.d.ts.map +1 -1
  112. package/lib/src/auth.js +5 -1
  113. package/lib/src/auth.js.map +1 -1
  114. package/lib/src/auth.spec.d.ts.map +1 -1
  115. package/lib/src/auth.spec.js +9 -0
  116. package/lib/src/auth.spec.js.map +1 -1
  117. package/lib/src/embed/app.d.ts +18 -4
  118. package/lib/src/embed/app.d.ts.map +1 -1
  119. package/lib/src/embed/app.js +2 -2
  120. package/lib/src/embed/app.js.map +1 -1
  121. package/lib/src/embed/app.spec.js +19 -1
  122. package/lib/src/embed/app.spec.js.map +1 -1
  123. package/lib/src/embed/base.d.ts.map +1 -1
  124. package/lib/src/embed/base.js +0 -3
  125. package/lib/src/embed/base.js.map +1 -1
  126. package/lib/src/embed/embed.spec.js +2 -17
  127. package/lib/src/embed/embed.spec.js.map +1 -1
  128. package/lib/src/embed/liveboard.d.ts +7 -1
  129. package/lib/src/embed/liveboard.d.ts.map +1 -1
  130. package/lib/src/embed/liveboard.js +2 -2
  131. package/lib/src/embed/liveboard.js.map +1 -1
  132. package/lib/src/embed/liveboard.spec.js +20 -1
  133. package/lib/src/embed/liveboard.spec.js.map +1 -1
  134. package/lib/src/embed/pinboard.spec.js +20 -1
  135. package/lib/src/embed/pinboard.spec.js.map +1 -1
  136. package/lib/src/embed/sage.d.ts +1 -1
  137. package/lib/src/embed/sage.d.ts.map +1 -1
  138. package/lib/src/embed/sage.js +2 -2
  139. package/lib/src/embed/sage.js.map +1 -1
  140. package/lib/src/embed/search-bar.d.ts +1 -1
  141. package/lib/src/embed/search-bar.d.ts.map +1 -1
  142. package/lib/src/embed/search-bar.js +2 -2
  143. package/lib/src/embed/search-bar.js.map +1 -1
  144. package/lib/src/embed/search.d.ts +1 -1
  145. package/lib/src/embed/search.d.ts.map +1 -1
  146. package/lib/src/embed/search.js +3 -3
  147. package/lib/src/embed/search.js.map +1 -1
  148. package/lib/src/embed/search.spec.js +25 -1
  149. package/lib/src/embed/search.spec.js.map +1 -1
  150. package/lib/src/embed/ts-embed-trigger.spec.d.ts +2 -0
  151. package/lib/src/embed/ts-embed-trigger.spec.d.ts.map +1 -0
  152. package/lib/src/embed/ts-embed-trigger.spec.js +32 -0
  153. package/lib/src/embed/ts-embed-trigger.spec.js.map +1 -0
  154. package/lib/src/embed/ts-embed.d.ts +1 -1
  155. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  156. package/lib/src/embed/ts-embed.js +14 -11
  157. package/lib/src/embed/ts-embed.js.map +1 -1
  158. package/lib/src/embed/ts-embed.spec.js +41 -11
  159. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  160. package/lib/src/index.d.ts +2 -1
  161. package/lib/src/index.d.ts.map +1 -1
  162. package/lib/src/index.js +2 -1
  163. package/lib/src/index.js.map +1 -1
  164. package/lib/src/react/index.spec.js +1 -1
  165. package/lib/src/react/index.spec.js.map +1 -1
  166. package/lib/src/test/test-utils.d.ts +1 -0
  167. package/lib/src/test/test-utils.d.ts.map +1 -1
  168. package/lib/src/test/test-utils.js +8 -0
  169. package/lib/src/test/test-utils.js.map +1 -1
  170. package/lib/src/tokenizedFetch.d.ts +9 -0
  171. package/lib/src/tokenizedFetch.d.ts.map +1 -1
  172. package/lib/src/tokenizedFetch.js +9 -0
  173. package/lib/src/tokenizedFetch.js.map +1 -1
  174. package/lib/src/types.d.ts +178 -37
  175. package/lib/src/types.d.ts.map +1 -1
  176. package/lib/src/types.js +138 -21
  177. package/lib/src/types.js.map +1 -1
  178. package/lib/src/utils/authService/authService.d.ts.map +1 -1
  179. package/lib/src/utils/authService/authService.js +9 -3
  180. package/lib/src/utils/authService/authService.js.map +1 -1
  181. package/lib/src/utils/authService/authService.spec.js +22 -0
  182. package/lib/src/utils/authService/authService.spec.js.map +1 -1
  183. package/lib/src/visual-embed-sdk.d.ts +238 -48
  184. package/package.json +1 -1
  185. package/src/auth.spec.ts +10 -0
  186. package/src/auth.ts +21 -2
  187. package/src/embed/app.spec.ts +24 -1
  188. package/src/embed/app.ts +19 -5
  189. package/src/embed/base.ts +1 -5
  190. package/src/embed/embed.spec.ts +0 -18
  191. package/src/embed/liveboard.spec.ts +24 -1
  192. package/src/embed/liveboard.ts +8 -2
  193. package/src/embed/pinboard.spec.ts +24 -1
  194. package/src/embed/sage.ts +2 -2
  195. package/src/embed/search-bar.tsx +2 -2
  196. package/src/embed/search.spec.ts +29 -1
  197. package/src/embed/search.ts +3 -3
  198. package/src/embed/ts-embed-trigger.spec.ts +39 -0
  199. package/src/embed/ts-embed.spec.ts +49 -16
  200. package/src/embed/ts-embed.ts +21 -16
  201. package/src/index.ts +2 -0
  202. package/src/react/index.spec.tsx +1 -0
  203. package/src/test/test-utils.ts +9 -0
  204. package/src/tokenizedFetch.ts +9 -0
  205. package/src/types.ts +179 -34
  206. package/src/utils/authService/authService.spec.ts +27 -0
  207. package/src/utils/authService/authService.ts +14 -13
@@ -24,7 +24,8 @@ declare module '@thoughtspot/visual-embed-sdk' {
24
24
  import { AnswerService, SessionInterface, UnderlyingDataPoint } from '@thoughtspot/visual-embed-sdk/utils/graphql/answerService/answerService';
25
25
  import { getEmbedConfig } from '@thoughtspot/visual-embed-sdk/embed/embedConfig';
26
26
  import { uploadMixpanelEvent, MIXPANEL_EVENT } from '@thoughtspot/visual-embed-sdk/mixpanel-service';
27
- export { init, logout, prefetch, executeTML, exportTML, executeTMLInput, exportTMLInput, getEmbedConfig as getInitConfig, getSessionInfo, SearchEmbed, SearchBarEmbed, PinboardEmbed, LiveboardEmbed, SageEmbed, AppEmbed, 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, VizPoint, CustomActionPayload, };
27
+ import { tokenizedFetch } from '@thoughtspot/visual-embed-sdk/tokenizedFetch';
28
+ export { init, logout, prefetch, executeTML, exportTML, executeTMLInput, exportTMLInput, getEmbedConfig as getInitConfig, getSessionInfo, tokenizedFetch, SearchEmbed, SearchBarEmbed, PinboardEmbed, LiveboardEmbed, SageEmbed, AppEmbed, 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, VizPoint, CustomActionPayload, };
28
29
  }
29
30
 
30
31
  declare module '@thoughtspot/visual-embed-sdk/embed/app' {
@@ -91,8 +92,12 @@ declare module '@thoughtspot/visual-embed-sdk/embed/app' {
91
92
  * nav-bars are visible, this flag will only hide the homepage left nav-bar.
92
93
  * The showPrimaryNavbar flag takes precedence over the hideHomepageLeftNav.
93
94
  *
95
+ * **Note**: This option does not apply to the classic homepage.
96
+ * To access the updated modular homepage, set
97
+ * `modularHomeExperience` to `true` (available in Early Access from 9.12 forward).
98
+ *
94
99
  * @default false
95
- * @version SDK: 1.27.0 | Thoughtspot: 9.8.0.cl
100
+ * @version SDK: 1.27.9 | Thoughtspot: 9.12.0.cl
96
101
  */
97
102
  hideHomepageLeftNav?: boolean;
98
103
  /**
@@ -103,11 +108,21 @@ declare module '@thoughtspot/visual-embed-sdk/embed/app' {
103
108
  /**
104
109
  * Control the visibility of the application switcher button on the nav-bar.
105
110
  * By default, the application switcher is shown.
111
+ *
112
+ * **Note**: This option does not apply to the classic homepage.
113
+ * To access the updated modular homepage, set
114
+ * `modularHomeExperience` to `true` (available in Early Access from 9.12 forward).
115
+ *
106
116
  */
107
117
  hideApplicationSwitcher?: boolean;
108
118
  /**
109
119
  * Control the visibility of the Org switcher button on the nav-bar.
110
120
  * By default, the Org switcher button is shown.
121
+ *
122
+ * **Note**: This option does not apply to the classic homepage.
123
+ * To access the updated modular homepage, set
124
+ * `modularHomeExperience` to `true` (available in Early Access from 9.12 forward).
125
+ *
111
126
  */
112
127
  hideOrgSwitcher?: boolean;
113
128
  /**
@@ -194,10 +209,10 @@ declare module '@thoughtspot/visual-embed-sdk/embed/app' {
194
209
  */
195
210
  showLiveboardDescription?: boolean;
196
211
  /**
197
- * Flag to control new Modular Home experience
212
+ * Flag to control new Modular Home experience.
198
213
  *
199
214
  * @default false
200
- * @version SDK: 1.27.0 | Thoughtspot: 9.8.0.cl
215
+ * @version SDK: 1.27.9 | Thoughtspot: 9.12.0.cl
201
216
  */
202
217
  modularHomeExperience?: boolean;
203
218
  /**
@@ -266,7 +281,7 @@ declare module '@thoughtspot/visual-embed-sdk/embed/app' {
266
281
  * @param renderOptions An object containing the page ID
267
282
  * to be embedded.
268
283
  */
269
- render(): AppEmbed;
284
+ render(): Promise<AppEmbed>;
270
285
  }
271
286
  }
272
287
 
@@ -434,6 +449,12 @@ declare module '@thoughtspot/visual-embed-sdk/embed/liveboard' {
434
449
  /**
435
450
  * If set to true, the embedded object container dynamically resizes
436
451
  * according to the height of the Liveboard.
452
+ * **Note**: Using fullHeight loads all visualizations on the
453
+ * Liveboard simultaneously, which results in multiple warehouse
454
+ * queries and potentially a longer wait for the topmost
455
+ * visualizations to display on the screen.
456
+ * Setting `fullHeight` to `false` fetches visualizations
457
+ * incrementally as users scroll the page to view the charts and tables.
437
458
  *
438
459
  * @version SDK: 1.1.0 | ThoughtSpot: ts7.may.cl, 7.2.1
439
460
  */
@@ -592,7 +613,7 @@ declare module '@thoughtspot/visual-embed-sdk/embed/liveboard' {
592
613
  * @param renderOptions An object specifying the Liveboard ID,
593
614
  * visualization ID and the runtime filters.
594
615
  */
595
- render(): LiveboardEmbed;
616
+ render(): Promise<LiveboardEmbed>;
596
617
  navigateToLiveboard(liveboardId: string, vizId?: string, activeTabId?: string): void;
597
618
  }
598
619
  /**
@@ -752,7 +773,7 @@ declare module '@thoughtspot/visual-embed-sdk/embed/search' {
752
773
  /**
753
774
  * Render the embedded ThoughtSpot search
754
775
  */
755
- render(): SearchEmbed;
776
+ render(): Promise<SearchEmbed>;
756
777
  }
757
778
  }
758
779
 
@@ -820,7 +841,7 @@ declare module '@thoughtspot/visual-embed-sdk/embed/search-bar' {
820
841
  /**
821
842
  * Render the embedded ThoughtSpot search
822
843
  */
823
- render(): SearchBarEmbed;
844
+ render(): Promise<SearchBarEmbed>;
824
845
  }
825
846
  }
826
847
 
@@ -909,7 +930,22 @@ declare module '@thoughtspot/visual-embed-sdk/auth' {
909
930
  *
910
931
  * @param {@link AuthEvent}
911
932
  */
912
- emit(event: AuthEvent): void;
933
+ emit(event: AuthEvent, ...args: any[]): boolean;
934
+ /**
935
+ * Remove listener from the emitter returned from init.
936
+ *
937
+ * @param event
938
+ * @param listener
939
+ * @param context
940
+ * @param once
941
+ */
942
+ off(event: AuthStatus, listener: (...args: any[]) => void, context: any, once: boolean): this;
943
+ /**
944
+ * Remove all the event listeners
945
+ *
946
+ * @param event
947
+ */
948
+ removeAllListeners(event: AuthStatus): this;
913
949
  }
914
950
  /**
915
951
  * Events which can be triggered on the emitter returned from {@link init}.
@@ -1145,6 +1181,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
1145
1181
  * .then((response) => response.json())
1146
1182
  * .then((data) => data.token);
1147
1183
  * }
1184
+ * });
1148
1185
  * ```
1149
1186
  */
1150
1187
  TrustedAuthToken = "AuthServer",
@@ -1178,15 +1215,30 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
1178
1215
  Basic = "Basic"
1179
1216
  }
1180
1217
  export enum HomeLeftNavItem {
1181
- QueryBuilder = "query-builder",
1218
+ /**
1219
+ * @version SDK: 1.27.9| ThoughtSpot: 9.12.0.cl
1220
+ */
1221
+ SearchData = "search-data",
1222
+ /**
1223
+ * @version SDK: 1.27.9| ThoughtSpot: 9.12.0.cl
1224
+ */
1182
1225
  Home = "insights-home",
1226
+ /**
1227
+ * @version SDK: 1.27.9| ThoughtSpot: 9.12.0.cl
1228
+ */
1183
1229
  Liveboards = "liveboards",
1230
+ /**
1231
+ * @version SDK: 1.27.9| ThoughtSpot: 9.12.0.cl
1232
+ */
1184
1233
  Answers = "answers",
1234
+ /**
1235
+ * @version SDK: 1.27.9| ThoughtSpot: 9.12.0.cl
1236
+ */
1185
1237
  MonitorSubscription = "monitor-alerts",
1186
- SpotIQAnalysis = "spotiq-analysis",
1187
- Tutorials = "tutorials",
1188
- Documentation = "documentation",
1189
- Community = "community"
1238
+ /**
1239
+ * @version SDK: 1.27.9| ThoughtSpot: 9.12.0.cl
1240
+ */
1241
+ SpotIQAnalysis = "spotiq-analysis"
1190
1242
  }
1191
1243
  export type DOMSelector = string | HTMLElement;
1192
1244
  /**
@@ -1242,6 +1294,8 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
1242
1294
  /**
1243
1295
  * Configuration to define the customization on the Embedded
1244
1296
  * Thoughtspot components.
1297
+ * You can customize styles, text strings, and icons.
1298
+ * For more information, see https://developers.thoughtspot.com/docs/custom-css.
1245
1299
  *
1246
1300
  * @example
1247
1301
  * ```js
@@ -1256,7 +1310,12 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
1256
1310
  * },
1257
1311
  * content: {
1258
1312
  * strings: {
1259
- * 'LIVEBOARDS': 'Dashboards'
1313
+ * 'LIVEBOARDS': 'Dashboards',
1314
+ * 'ANSWERS': 'Visualizations',
1315
+ * 'Edit': 'Modify',
1316
+ * 'Show underlying data': 'Show source data',
1317
+ * 'SpotIQ': 'Insights',
1318
+ * 'Monitor': 'Alerts',
1260
1319
  * }
1261
1320
  * },
1262
1321
  * iconSpriteUrl: 'https://my-custom-icon-sprite.svg'
@@ -1288,12 +1347,6 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
1288
1347
  * The ThoughtSpot cluster hostname or IP address.
1289
1348
  */
1290
1349
  thoughtSpotHost: string;
1291
- /**
1292
- * If true, all the iframe links will have /v2 added automatically.
1293
- * If false, all the iframe links will have /v1 added automatically.
1294
- * If undefined, nothing will be added
1295
- */
1296
- enableReactShell?: boolean | undefined;
1297
1350
  /**
1298
1351
  * The authentication mechanism to use.
1299
1352
  */
@@ -1538,6 +1591,12 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
1538
1591
  * @version SDK: 1.26.7 | ThoughtSpot: 9.10.0.cl
1539
1592
  */
1540
1593
  logLevel?: LogLevel;
1594
+ /**
1595
+ * Disables the Mixpanel tracking from the SDK.
1596
+ *
1597
+ * @version SDK: 1.27.9
1598
+ */
1599
+ disableSDKTracking?: boolean;
1541
1600
  }
1542
1601
  export interface LayoutConfig {
1543
1602
  }
@@ -1715,9 +1774,14 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
1715
1774
  usePrerenderedIfAvailable?: boolean;
1716
1775
  /**
1717
1776
  * Boolean to exclude runtimeFilters in the URL
1777
+ * By default it is true, this flag removes runtime filters from the URL
1778
+ * when set to false, runtime filters will be included in the URL.
1718
1779
  *
1719
- * @default false
1720
- * @hidden
1780
+ * Irrespective of this flag, runtime filters ( if passed ) will be applied to the
1781
+ * embedded view.
1782
+ *
1783
+ * @default true
1784
+ * @version SDK: 1.24.0 | ThoughtSpot: 9.5.0.cl
1721
1785
  */
1722
1786
  excludeRuntimeFiltersfromURL?: boolean;
1723
1787
  /**
@@ -1739,16 +1803,24 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
1739
1803
  hiddenTabs?: string[];
1740
1804
  /**
1741
1805
  * Hide the home page modules
1742
- * eg: hiddenHomepageModules = [HomepageModule.MyLibrary]
1806
+ * For example: hiddenHomepageModules = [HomepageModule.MyLibrary]
1807
+ *
1808
+ * **Note**: This option does not apply to the classic homepage.
1809
+ * To access the updated modular homepage, set
1810
+ * `modularHomeExperience` to `true` (available in Early Access from 9.12 forward).
1743
1811
  *
1744
- * @version SDK: 1.27.0 | Thoughtspot: 9.8.0.cl
1812
+ * @version SDK: 1.27.9 | Thoughtspot: 9.12.0.cl
1745
1813
  */
1746
1814
  hiddenHomepageModules?: HomepageModule[];
1747
1815
  /**
1748
1816
  * reordering the home page modules
1749
1817
  * eg: reorderedHomepageModules = [HomepageModule.MyLibrary, HomepageModule.Watchlist]
1750
1818
  *
1751
- * @version SDK: 1.28.0 | Thoughtspot: 9.9.0.cl
1819
+ * **Note**: This option does not apply to the classic homepage.
1820
+ * To access the updated modular homepage, set
1821
+ * `modularHomeExperience` to `true` (available in Early Access from 9.12.0.cl onwards).
1822
+ *
1823
+ * @version SDK: 1.27.9| Thoughtspot: 9.12.0.cl
1752
1824
  */
1753
1825
  reorderedHomepageModules?: HomepageModule[];
1754
1826
  /**
@@ -1775,7 +1847,11 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
1775
1847
  * hiddenHomeLeftNavItems = [HomeLeftNavItem.Home]
1776
1848
  * ```
1777
1849
  *
1778
- * @version SDK: 1.27.0 | Thoughtspot: 9.10.0.cl
1850
+ * **Note**: This option does not apply to the classic homepage.
1851
+ * To access the updated modular homepage, set
1852
+ * `modularHomeExperience` to `true` (available in Early Access from 9.12 forward).
1853
+ *
1854
+ * @version SDK: 1.27.9 | Thoughtspot: 9.12.0.cl
1779
1855
  */
1780
1856
  hiddenHomeLeftNavItems?: HomeLeftNavItem[];
1781
1857
  /**
@@ -1951,6 +2027,10 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
1951
2027
  MyLibrary = "MY_LIBRARY",
1952
2028
  /**
1953
2029
  * Trending list
2030
+ *
2031
+ * **Note**: This option does not apply to the classic homepage.
2032
+ * To access the updated modular homepage, set
2033
+ * `modularHomeExperience` to `true` (available in Early Access from 9.12.0.cl onwards).
1954
2034
  */
1955
2035
  Trending = "TRENDING",
1956
2036
  /**
@@ -2089,7 +2169,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
2089
2169
  * @returns nonFilteredColumns - The columns that were not filtered
2090
2170
  * @example
2091
2171
  *```js
2092
- * searchEmbed.trigger(HostEvent.DrillDown, {
2172
+ * searchEmbed.trigger(EmbedEvent.DrillDown, {
2093
2173
  * points: {
2094
2174
  * clickedPoint,
2095
2175
  * selectedPoints: selectedPoint
@@ -2181,7 +2261,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
2181
2261
  * @important
2182
2262
  * @example
2183
2263
  * ```js
2184
- * embed.on(ThoughtSpotEmbed.Event.VizPointClick, ({data}) => {
2264
+ * embed.on(EmbedEvent.VizPointClick, ({data}) => {
2185
2265
  * console.log(
2186
2266
  * data.vizId, // viz id
2187
2267
  * data.clickedPoint.selectedAttributes[0].value,
@@ -2194,15 +2274,41 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
2194
2274
  */
2195
2275
  VizPointClick = "vizPointClick",
2196
2276
  /**
2197
- * An error has occurred.
2277
+ * An error has occurred. This event is fired for the following error types:
2278
+ *
2279
+ * API - API call failure error.
2280
+ *
2281
+ * FULLSCREEN - Error when presenting a Liveboard or visualization in full screen mode.
2282
+ *
2283
+ * SINGLE_VALUE_FILTER - Error due to multiple values in the single value filter.
2284
+ *
2285
+ * NON_EXIST_FILTER - Error due to a non-existent filter.
2286
+ *
2287
+ * INVALID_DATE_VALUE - Invalid date value error.
2288
+ *
2289
+ * INVALID_OPERATOR - Use of invalid operator during filter application.
2290
+ *
2291
+ * For more information, see [Developer Documentation](https://developers.thoughtspot.com/docs/events-app-integration#errorType)
2198
2292
  *
2199
2293
  * @returns error - An error object or message
2200
2294
  * @example
2201
2295
  * ```js
2202
- * SearchEmbed.on(EmbedEvent.Error, showErrorMsg)
2203
- * //show error messaage
2204
- * function showErrorMsg() {
2205
- * document.getElementById("error");
2296
+ * // API error
2297
+ * SearchEmbed.on(EmbedEvent.Error, (error) => {
2298
+ * console.log(error);
2299
+ * // { type: "Error", data: { errorType: "API", error: { message: '...', error: '...' } } }
2300
+ * });
2301
+ * ```
2302
+ * @example
2303
+ * ```js
2304
+ * // Fullscreen error (Errors during presenting of a liveboard)
2305
+ * LiveboardEmbed.on(EmbedEvent.Error, (error) => {
2306
+ * console.log(error);
2307
+ * // { type: "Error", data: { errorType: "FULLSCREEN", error: {
2308
+ * // message: "Fullscreen API is not enabled",
2309
+ * // stack: "..."
2310
+ * // } }}
2311
+ * })
2206
2312
  * ```
2207
2313
  */
2208
2314
  Error = "Error",
@@ -2748,7 +2854,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
2748
2854
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
2749
2855
  * @example
2750
2856
  *```js
2751
- * liveboardEmbed.trigger(HostEvent.Delete,
2857
+ * liveboardEmbed.trigger(EmbedEvent.Delete,
2752
2858
  * {vizId: '730496d6-6903-4601-937e-2c691821af3c'})
2753
2859
  *```
2754
2860
  */
@@ -2759,7 +2865,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
2759
2865
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
2760
2866
  * @example
2761
2867
  *```js
2762
- * liveboardEmbed.trigger(HostEvent.SchedulesList)
2868
+ * liveboardEmbed.trigger(EmbedEvent.SchedulesList)
2763
2869
  *```
2764
2870
  */
2765
2871
  SchedulesList = "schedule-list",
@@ -2769,7 +2875,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
2769
2875
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
2770
2876
  * @example
2771
2877
  *```js
2772
- * liveboardEmbed.trigger(HostEvent.Cancel)
2878
+ * liveboardEmbed.trigger(EmbedEvent.Cancel)
2773
2879
  *```
2774
2880
  */
2775
2881
  Cancel = "cancel",
@@ -2779,7 +2885,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
2779
2885
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
2780
2886
  * @example
2781
2887
  *```js
2782
- * liveboardEmbed.trigger(HostEvent.Explore, {
2888
+ * liveboardEmbed.trigger(EmbedEvent.Explore, {
2783
2889
  * vizId: '730496d6-6903-4601-937e-2c691821af3c'})
2784
2890
  *```
2785
2891
  */
@@ -2790,7 +2896,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
2790
2896
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
2791
2897
  * @example
2792
2898
  *```js
2793
- * liveboardEmbed.trigger(HostEvent.CopyLink, {
2899
+ * liveboardEmbed.trigger(EmbedEvent.CopyLink, {
2794
2900
  * vizId: '730496d6-6903-4601-937e-2c691821af3c'})
2795
2901
  *```
2796
2902
  */
@@ -2912,7 +3018,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
2912
3018
  /**
2913
3019
  * Emitted when a LB/viz is renamed
2914
3020
  *
2915
- * @version SDK : 1.28.0 | ThoughtSpot: 9.11.0.cl
3021
+ * @version SDK : 1.28.0 | ThoughtSpot: 9.10.5.cl
2916
3022
  */
2917
3023
  Rename = "rename"
2918
3024
  }
@@ -3059,10 +3165,13 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
3059
3165
  * _String_. The name of the column to filter on.
3060
3166
  * `operator`
3061
3167
  * Runtime filter operator to apply. For information,
3062
- * see [Runtime filter operators](https://developers.thoughtspot.com/docs/?pageid=runtime-filters#rtOperator).
3168
+ * see https://developers.thoughtspot.com/docs/?pageid=runtime-filters#rtOperator.
3063
3169
  * `values`
3064
3170
  * List of operands. Some operators such as EQ, LE allow a single value, whereas
3065
3171
  * operators such as BW and IN accept multiple operands.
3172
+ * **Note**: `HostEvent.UpdateRuntimeFilters` is not supported in
3173
+ * Search embedding (SearchEmbed) and Natural Language Search
3174
+ * embedding (SageEmbed).
3066
3175
  *
3067
3176
  * @param - {@link RuntimeFilter}[] an array of {@link RuntimeFilter} Types.
3068
3177
  * @example
@@ -3585,22 +3694,24 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
3585
3694
  */
3586
3695
  ResetSearch = "resetSearch",
3587
3696
  /**
3588
- * @hidden
3697
+ *
3589
3698
  * Get the currents visible and runtime filters applied on a Liveboard
3699
+ *
3590
3700
  * @example
3591
3701
  * liveboardEmbed.trigger(HostEvent.GetFilters)
3592
3702
  * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
3593
3703
  */
3594
3704
  GetFilters = "getFilters",
3595
3705
  /**
3596
- * @hidden
3706
+ *
3597
3707
  * Update the visible filters on the Liveboard.
3708
+ *
3598
3709
  * @param - filter: filter object containing column name and filter operation and values
3599
3710
  * @example
3600
3711
  *
3601
3712
  * ```js
3602
3713
  * liveboardEmbed.trigger(HostEvent.UpdateFilters, {
3603
- * filter: { column: 'column name', oper: 'in', values: [1,2,3], is_mandatory: false }
3714
+ * filter: { column: 'column name', oper: 'IN', values: [1,2,3], is_mandatory: false }
3604
3715
  * })
3605
3716
  * ```
3606
3717
  * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
@@ -3686,7 +3797,33 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
3686
3797
  * ```
3687
3798
  * @version SDK: 1.29.0 | Thoughtspot: 9.12.0.cl
3688
3799
  */
3689
- AskSage = "AskSage"
3800
+ AskSage = "AskSage",
3801
+ /**
3802
+ * Trigger UpdateCrossFilter for Liveboard
3803
+ *
3804
+ * @example
3805
+ * ```js
3806
+ * liveboardEmbed.trigger(HostEvent.UpdateCrossFilter, {
3807
+ * vizId: 'b535c760-8bbe-4e6f-bb26-af56b4129a1e',
3808
+ * conditions: [
3809
+ * { columnName: 'Category', values: ['mfgr#12','mfgr#14'] },
3810
+ * { columnName: 'color', values: ['mint','hot'] },
3811
+ * ],
3812
+ * });
3813
+ * ```
3814
+ * @version SDK: 1.29.0 | Thoughtspot: 10.0.0.cl
3815
+ */
3816
+ UpdateCrossFilter = "UpdateCrossFilter",
3817
+ /**
3818
+ * Trigger ResetLiveboardPersonalisedView for Liveboard
3819
+ *
3820
+ * @example
3821
+ * ```js
3822
+ * liveboardEmbed.trigger(HostEvent.ResetLiveboardPersonalisedView);
3823
+ * ```
3824
+ * @version SDK: 1.29.0 | Thoughtspot: 10.1.0.cl
3825
+ */
3826
+ ResetLiveboardPersonalisedView = "ResetLiveboardPersonalisedView"
3690
3827
  }
3691
3828
  /**
3692
3829
  * The different visual modes that the data sources panel within
@@ -4651,7 +4788,47 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
4651
4788
  * ```
4652
4789
  * @version SDK: 1.29.0 | Thoughtspot: 9.12.0.cl
4653
4790
  */
4654
- AskAi = "AskAi"
4791
+ AskAi = "AskAi",
4792
+ /**
4793
+ * The **Add KPI to Watchlist** action on Home page watchlist.
4794
+ *
4795
+ * @example
4796
+ * ```js
4797
+ * disabledActions: [Action.AddToWatchlist]
4798
+ * ```
4799
+ * @version SDK : 1.27.9 | Thoughtspot: 9.12.5.cl
4800
+ */
4801
+ AddToWatchlist = "addToWatchlist",
4802
+ /**
4803
+ * The **Remove from watchlist** menu action on KPI watchlist.
4804
+ *
4805
+ * @example
4806
+ * ```js
4807
+ * disabledActions: [Action.RemoveFromWatchlist]
4808
+ * ```
4809
+ * @version SDK : 1.27.9 | Thoughtspot: 9.12.5.cl
4810
+ */
4811
+ RemoveFromWatchlist = "removeFromWatchlist",
4812
+ /**
4813
+ * The **Copy KPI Link** menu action on KPI watchlist.
4814
+ *
4815
+ * @example
4816
+ * ```js
4817
+ * disabledActions: [Action.CopyKpiLink]
4818
+ * ```
4819
+ * @version SDK : 1.27.9 | Thoughtspot: 9.12.5.cl
4820
+ */
4821
+ CopyKpiLink = "copyKpiLink",
4822
+ /**
4823
+ * Action ID for AI Highlights button
4824
+ *
4825
+ * @example
4826
+ * ```js
4827
+ * hiddenAction: [Action.AIHighlights]
4828
+ * ```
4829
+ * @version SDK: 1.27.10 | Thoughtspot: 9.12.5.cl
4830
+ */
4831
+ AIHighlights = "AIHighlights"
4655
4832
  }
4656
4833
  export interface AnswerServiceType {
4657
4834
  getAnswer?: (offset: number, batchSize: number) => any;
@@ -5297,7 +5474,7 @@ declare module '@thoughtspot/visual-embed-sdk/embed/sage' {
5297
5474
  *
5298
5475
  * @returns {SageEmbed} Eureka/Sage embed
5299
5476
  */
5300
- render(): SageEmbed;
5477
+ render(): Promise<SageEmbed>;
5301
5478
  }
5302
5479
  }
5303
5480
 
@@ -5485,6 +5662,19 @@ declare module '@thoughtspot/visual-embed-sdk/mixpanel-service' {
5485
5662
  export function testResetMixpanel(): void;
5486
5663
  }
5487
5664
 
5665
+ declare module '@thoughtspot/visual-embed-sdk/tokenizedFetch' {
5666
+ /**
5667
+ * Fetch wrapper that adds the authentication token to the request.
5668
+ * Use this to call the ThoughtSpot APIs when using the visual embed sdk.
5669
+ *
5670
+ * @param input
5671
+ * @param init
5672
+ * @version SDK: 1.28.0
5673
+ * @group Global methods
5674
+ */
5675
+ export const tokenizedFetch: typeof fetch;
5676
+ }
5677
+
5488
5678
  declare module '@thoughtspot/visual-embed-sdk/embed/ts-embed' {
5489
5679
  /**
5490
5680
  * Copyright (c) 2022
@@ -5680,7 +5870,7 @@ declare module '@thoughtspot/visual-embed-sdk/embed/ts-embed' {
5680
5870
  *
5681
5871
  * @param args
5682
5872
  */
5683
- render(): TsEmbed;
5873
+ render(): Promise<TsEmbed>;
5684
5874
  getIframeSrc(): string;
5685
5875
  protected handleRenderForPrerender(): void;
5686
5876
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thoughtspot/visual-embed-sdk",
3
- "version": "1.28.0-alpha.1",
3
+ "version": "1.28.0-alpha.3",
4
4
  "description": "ThoughtSpot Embed SDK",
5
5
  "module": "lib/src/index.js",
6
6
  "main": "dist/tsembed.js",
package/src/auth.spec.ts CHANGED
@@ -3,6 +3,7 @@ import * as authService from './utils/authService/authService';
3
3
  import * as tokenAuthService from './utils/authService/tokenizedAuthService';
4
4
  import * as checkReleaseVersionInBetaInstance from './utils';
5
5
  import * as mixPanelService from './mixpanel-service';
6
+ import * as EmbedConfig from './embed/embedConfig';
6
7
  import { AuthType, EmbedEvent } from './types';
7
8
  import { executeAfterWait } from './test/test-utils';
8
9
  import { resetCachedAuthToken } from './authToken';
@@ -130,6 +131,15 @@ describe('Unit test for auth', () => {
130
131
  expect(sessionInfo).toStrictEqual(mockSessionInfo);
131
132
  });
132
133
 
134
+ test('Disable mixpanel when disableSDKTracking flag is set', () => {
135
+ jest.clearAllMocks();
136
+ jest.resetAllMocks();
137
+ jest.spyOn(mixPanelService, 'initMixpanel');
138
+ jest.spyOn(EmbedConfig, 'getEmbedConfig').mockReturnValue({ disableSDKTracking: true });
139
+ authInstance.initSession(mockSessionInfo);
140
+ expect(mixPanelService.initMixpanel).not.toBeCalled();
141
+ });
142
+
133
143
  test('doCookielessTokenAuth: when authEndpoint and getAuthToken are not there, it throw error', async () => {
134
144
  try {
135
145
  await authInstance.doCookielessTokenAuth(
package/src/auth.ts CHANGED
@@ -14,6 +14,7 @@ import {
14
14
  } from './utils/authService';
15
15
  import { getAuthenticationToken, resetCachedAuthToken } from './authToken';
16
16
  import { logger } from './utils/logger';
17
+ import { getEmbedConfig } from './embed/embedConfig';
17
18
 
18
19
  // eslint-disable-next-line import/no-mutable-exports
19
20
  export let loggedInStatus = false;
@@ -117,7 +118,22 @@ export interface AuthEventEmitter {
117
118
  *
118
119
  * @param {@link AuthEvent}
119
120
  */
120
- emit(event: AuthEvent): void;
121
+ emit(event: AuthEvent, ...args: any[]): boolean;
122
+ /**
123
+ * Remove listener from the emitter returned from init.
124
+ *
125
+ * @param event
126
+ * @param listener
127
+ * @param context
128
+ * @param once
129
+ */
130
+ off(event: AuthStatus, listener: (...args: any[]) => void, context: any, once: boolean): this;
131
+ /**
132
+ * Remove all the event listeners
133
+ *
134
+ * @param event
135
+ */
136
+ removeAllListeners(event: AuthStatus): this;
121
137
  }
122
138
 
123
139
  /**
@@ -196,9 +212,12 @@ export function notifyLogout(): void {
196
212
  }
197
213
 
198
214
  export const initSession = (sessionDetails: sessionInfoInterface) => {
215
+ const embedConfig = getEmbedConfig();
199
216
  if (sessionInfo == null) {
200
217
  sessionInfo = sessionDetails;
201
- initMixpanel(sessionInfo);
218
+ if (!embedConfig.disableSDKTracking) {
219
+ initMixpanel(sessionInfo);
220
+ }
202
221
  sessionInfoResolver(sessionInfo);
203
222
  }
204
223
  };