@thoughtspot/visual-embed-sdk 1.38.0 → 1.39.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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-sSREbWM-.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thoughtspot/visual-embed-sdk",
3
- "version": "1.38.0",
3
+ "version": "1.39.0",
4
4
  "description": "ThoughtSpot Embed SDK",
5
5
  "module": "lib/src/index.js",
6
6
  "main": "dist/tsembed.js",
@@ -316,6 +316,20 @@ describe('App embed tests', () => {
316
316
  });
317
317
  });
318
318
 
319
+ test('should set isLiveboardStylingAndGroupingEnabled to true in url', async () => {
320
+ const appEmbed = new AppEmbed(getRootEl(), {
321
+ ...defaultViewConfig,
322
+ isLiveboardStylingAndGroupingEnabled: true,
323
+ } as AppViewConfig);
324
+ appEmbed.render();
325
+ await executeAfterWait(() => {
326
+ expectUrlMatchesWithParams(
327
+ getIFrameSrc(),
328
+ `http://${thoughtSpotHost}/?embedApp=true&profileAndHelpInNavBarHidden=false&isLiveboardStylingAndGroupingEnabled=true${defaultParamsPost}#/home`,
329
+ );
330
+ });
331
+ });
332
+
319
333
  test('Should add the tag to the iframe src', async () => {
320
334
  const appEmbed = new AppEmbed(getRootEl(), {
321
335
  ...defaultViewConfig,
package/src/embed/app.ts CHANGED
@@ -14,9 +14,9 @@ import {
14
14
  Param,
15
15
  DOMSelector,
16
16
  HostEvent,
17
- ViewConfig,
18
17
  EmbedEvent,
19
18
  MessagePayload,
19
+ AllEmbedViewConfig,
20
20
  } from '../types';
21
21
  import { V1Embed } from './ts-embed';
22
22
 
@@ -86,7 +86,7 @@ export enum HomePageSearchBarMode {
86
86
 
87
87
  /**
88
88
  * Define the version of the primary navbar
89
- * @version SDK: 1.39.0 | Thoughtspot: 10.10.0.cl
89
+ * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
90
90
  */
91
91
  export enum PrimaryNavbarVersion {
92
92
  /**
@@ -99,7 +99,7 @@ export enum PrimaryNavbarVersion {
99
99
 
100
100
  /**
101
101
  * Define the version of the home page
102
- * @version SDK: 1.39.0 | Thoughtspot: 10.10.0.cl
102
+ * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
103
103
  */
104
104
  export enum HomePage {
105
105
  /**
@@ -111,7 +111,7 @@ export enum HomePage {
111
111
 
112
112
  /**
113
113
  * Define the discovery experience
114
- * @version SDK: 1.39.0 | Thoughtspot: 10.10.0.cl
114
+ * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
115
115
  */
116
116
  export interface DiscoveryExperience {
117
117
  /**
@@ -128,17 +128,19 @@ export interface DiscoveryExperience {
128
128
  * The view configuration for full app embedding.
129
129
  * @group Embed components
130
130
  */
131
- export interface AppViewConfig extends Omit<ViewConfig, 'visibleTabs'> {
131
+ export interface AppViewConfig extends AllEmbedViewConfig {
132
132
  /**
133
133
  * If true, the top navigation bar within the ThoughtSpot app
134
134
  * is displayed. By default, the navigation bar is hidden.
135
135
  * This flag also controls the homepage left navigation bar.
136
+ *
137
+ * Supported embed types: `AppEmbed`
136
138
  * @default true
137
139
  * @version SDK: 1.2.0 | Thoughtspot: 8.4.0.cl
138
140
  * @example
139
141
  * ```js
140
142
  * const embed = new AppEmbed('#tsEmbed', {
141
- * ... // other options
143
+ * ... // other embed view config
142
144
  * showPrimaryNavbar:true,
143
145
  * })
144
146
  * ```
@@ -153,12 +155,14 @@ export interface AppViewConfig extends Omit<ViewConfig, 'visibleTabs'> {
153
155
  * **Note**: This option does not apply to the classic homepage.
154
156
  * To access the updated modular homepage, set
155
157
  * `modularHomeExperience` to `true` (available as Early Access feature in 9.12.5.cl).
158
+ *
159
+ * Supported embed types: `AppEmbed`
156
160
  * @default false
157
161
  * @version SDK: 1.28.0 | Thoughtspot: 9.12.5.cl
158
162
  * @example
159
163
  * ```js
160
164
  * const embed = new AppEmbed('#tsEmbed', {
161
- * ... // other options
165
+ * ... // other embed view config
162
166
  * hideHomepageLeftNav : true,
163
167
  * })
164
168
  * ```
@@ -167,12 +171,14 @@ export interface AppViewConfig extends Omit<ViewConfig, 'visibleTabs'> {
167
171
  /**
168
172
  * Control the visibility of the help (?) and profile buttons on the
169
173
  * Global nav-bar. By default, these buttons are visible on the nav-bar.
174
+ *
175
+ * Supported embed types: `AppEmbed`
170
176
  * @default false
171
177
  * @version SDK: 1.2.0 | Thoughtspot: 8.4.0.cl
172
178
  * @example
173
179
  * ```js
174
180
  * const embed = new AppEmbed('#tsEmbed', {
175
- * ... // other options
181
+ * ... // other embed view config
176
182
  * disableProfileAndHelp: true,
177
183
  * })
178
184
  * ```
@@ -183,10 +189,12 @@ export interface AppViewConfig extends Omit<ViewConfig, 'visibleTabs'> {
183
189
  * @default true
184
190
  * Whether the help menu in the top nav bar should be served
185
191
  * from Pendo or ThoughtSpot's internal help items.
192
+ *
193
+ * Supported embed types: `AppEmbed`
186
194
  * @example
187
195
  * ```js
188
196
  * const embed = new AppEmbed('#tsEmbed', {
189
- * ... // other options
197
+ * ... // other embed view config
190
198
  * enablePendoHelp: false,
191
199
  * });
192
200
  * ```
@@ -196,12 +204,13 @@ export interface AppViewConfig extends Omit<ViewConfig, 'visibleTabs'> {
196
204
  * Control the visibility of the hamburger icon on the top nav bar
197
205
  * available when new navigation V3 is enabled.
198
206
  *
207
+ * Supported embed types: `AppEmbed`
199
208
  * @default false
200
- * @version SDK: 1.39.0 | Thoughtspot: 10.10.0.cl
209
+ * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
201
210
  * @example
202
211
  * ```js
203
212
  * const embed = new AppEmbed('#tsEmbed', {
204
- * ... // other options
213
+ * ... // other embed view config
205
214
  * hideHamburger : true,
206
215
  * })
207
216
  * ```
@@ -211,12 +220,13 @@ export interface AppViewConfig extends Omit<ViewConfig, 'visibleTabs'> {
211
220
  * Control the visibility of the Eureka search on the top nav bar
212
221
  * this will control for both new V2 and new navigation V3.
213
222
  *
223
+ * Supported embed types: `AppEmbed`
214
224
  * @default true
215
- * @version SDK: 1.39.0 | Thoughtspot: 10.10.0.cl
225
+ * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
216
226
  * @example
217
227
  * ```js
218
228
  * const embed = new AppEmbed('#tsEmbed', {
219
- * ... // other options
229
+ * ... // other embed view config
220
230
  * hideObjectSearch: false,
221
231
  * })
222
232
  * ```
@@ -226,12 +236,13 @@ export interface AppViewConfig extends Omit<ViewConfig, 'visibleTabs'> {
226
236
  * Control the visibility of the notification on the top nav bar V3,
227
237
  * available when new navigation V3 is enabled.
228
238
  *
239
+ * Supported embed types: `AppEmbed`
229
240
  * @default true
230
- * @version SDK: 1.39.0 | Thoughtspot: 10.10.0.cl
241
+ * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
231
242
  * @example
232
243
  * ```js
233
244
  * const embed = new AppEmbed('#tsEmbed', {
234
- * ... // other options
245
+ * ... // other embed view config
235
246
  * hideNotification: false,
236
247
  * })
237
248
  * ```
@@ -244,12 +255,14 @@ export interface AppViewConfig extends Omit<ViewConfig, 'visibleTabs'> {
244
255
  * **Note**: This option does not apply to the classic homepage.
245
256
  * To access the updated modular homepage, set
246
257
  * `modularHomeExperience` to `true` (available as Early Access feature in 9.12.5.cl).
258
+ *
259
+ * Supported embed types: `AppEmbed`
247
260
  * @version SDK: 1.28.0 | Thoughtspot: 9.12.5.cl
248
261
  * @default false
249
262
  * @example
250
263
  * ```js
251
264
  * const embed = new AppEmbed('#tsEmbed', {
252
- * ... // other options
265
+ * ... // other embed view config
253
266
  * hideApplicationSwitcher : true,
254
267
  * })
255
268
  * ```
@@ -262,12 +275,14 @@ export interface AppViewConfig extends Omit<ViewConfig, 'visibleTabs'> {
262
275
  * **Note**: This option does not apply to the classic homepage.
263
276
  * To access the updated modular homepage, set
264
277
  * `modularHomeExperience` to `true` (available as Early Access feature in 9.12.5.cl).
278
+ *
279
+ * Supported embed types: `AppEmbed`
265
280
  * @version SDK: 1.28.0 | Thoughtspot: 9.12.5.cl
266
281
  * @default true
267
282
  * @example
268
283
  * ```js
269
284
  * const embed = new AppEmbed('#tsEmbed', {
270
- * ... // other options
285
+ * ... // other embed view config
271
286
  * hideOrgSwitcher : true,
272
287
  * })
273
288
  * ```
@@ -281,12 +296,14 @@ export interface AppViewConfig extends Omit<ViewConfig, 'visibleTabs'> {
281
296
  *
282
297
  * For eg, if you want the component to open to a specific Liveboard
283
298
  * you could set the path to `pinboard/<liveboardId>/tab/<tabId>`.
299
+ *
300
+ * Supported embed types: `AppEmbed`
284
301
  * @version SDK: 1.1.0 | Thoughtspot: 9.4.0.cl
285
302
  * @example
286
303
  * ```js
287
304
  * const embed = new AppEmbed('#tsEmbed', {
288
- * ... // other options
289
- * path:"pinboard/1234/tab/7464"
305
+ * ... // other embed view config
306
+ * path:"pinboard/1234/tab/7464",
290
307
  * })
291
308
  * ```
292
309
  */
@@ -297,12 +314,14 @@ export interface AppViewConfig extends Omit<ViewConfig, 'visibleTabs'> {
297
314
  *
298
315
  * Use this to open to particular page in the app. To open to a specific
299
316
  * path within the app, use the `path` attribute which is more flexible.
317
+ *
318
+ * Supported embed types: `AppEmbed`
300
319
  * @version SDK: 1.1.0 | Thoughtspot: 9.4.0.cl
301
320
  * @example
302
321
  * ```js
303
322
  * const embed = new AppEmbed('#tsEmbed', {
304
- * ... // other options
305
- * pageId : Page.Answers | Page.Data
323
+ * ... // other embed view config
324
+ * pageId : Page.Answers | Page.Data,
306
325
  * })
307
326
  * ```
308
327
  */
@@ -311,11 +330,13 @@ export interface AppViewConfig extends Omit<ViewConfig, 'visibleTabs'> {
311
330
  * This puts a filter tag on the application. All metadata lists in the
312
331
  * application, such as Liveboards and answers, would be filtered by this
313
332
  * tag.
333
+ *
334
+ * Supported embed types: `AppEmbed`
314
335
  * @version SDK: 1.1.0 | Thoughtspot: 9.4.0.cl
315
336
  * @example
316
337
  * ```js
317
338
  * const embed = new AppEmbed('#tsEmbed', {
318
- * ... // other options
339
+ * ... // other embed view config
319
340
  * tag:'value',
320
341
  * })
321
342
  * ```
@@ -323,11 +344,13 @@ export interface AppViewConfig extends Omit<ViewConfig, 'visibleTabs'> {
323
344
  tag?: string;
324
345
  /**
325
346
  * The array of GUIDs to be hidden
347
+ *
348
+ * Supported embed types: `AppEmbed`
326
349
  * @version SDK: 1.11.0 | ThoughtSpot: 8.3.0.cl, 8.4.1-sw
327
350
  * @example
328
351
  * ```js
329
352
  * const embed = new AppEmbed('#tsEmbed', {
330
- * ... // other options
353
+ * ... // other embed view config
331
354
  * hideObjects: [
332
355
  * '430496d6-6903-4601-937e-2c691821af3c',
333
356
  * 'f547ec54-2a37-4516-a222-2b06719af726'
@@ -339,18 +362,22 @@ export interface AppViewConfig extends Omit<ViewConfig, 'visibleTabs'> {
339
362
  /**
340
363
  * Render liveboards using the new v2 rendering mode
341
364
  * This is a transient flag which is primarily meant for internal use
365
+ *
366
+ * Supported embed types: `AppEmbed`
342
367
  * @version SDK: 1.11.0 | ThoughtSpot: 8.3.0.cl, 8.4.1-sw
343
368
  * @hidden
344
369
  */
345
370
  liveboardV2?: boolean;
346
371
  /**
347
372
  * If set to true, the Search Assist feature is enabled.
373
+ *
374
+ * Supported embed types: `AppEmbed`
348
375
  * @default true
349
376
  * @version SDK: 1.13.0 | ThoughtSpot: 8.5.0.cl, 8.8.1-sw
350
377
  * @example
351
378
  * ```js
352
379
  * const embed = new AppEmbed('#tsEmbed', {
353
- * ... // other options
380
+ * ... // other embed view config
354
381
  * enableSearchAssist: true,
355
382
  * })
356
383
  * ```
@@ -368,63 +395,27 @@ export interface AppViewConfig extends Omit<ViewConfig, 'visibleTabs'> {
368
395
  * `false` fetches visualizations incrementally as
369
396
  * users scroll the page to view the charts and tables.
370
397
  *
398
+ * Supported embed types: `AppEmbed`
371
399
  * @version SDK: 1.21.0 | ThoughtSpot: 9.4.0.cl, 9.4.0-sw
372
400
  * @example
373
401
  * ```js
374
402
  * const embed = new AppEmbed('#tsEmbed', {
375
- * ... // other options
403
+ * ... // other embed view config
376
404
  * fullHeight: true,
377
405
  * })
378
406
  * ```
379
407
  */
380
408
  fullHeight?: boolean;
381
- /**
382
- * Show or hide Liveboard header
383
- * @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl
384
- * @default false
385
- * @example
386
- * ```js
387
- * const embed = new AppEmbed('#tsEmbed', {
388
- * ... // other options
389
- * hideLiveboardHeader : true,
390
- * })
391
- * ```
392
- */
393
- hideLiveboardHeader?: boolean;
394
- /**
395
- * Show or hide Liveboard title
396
- * @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl
397
- * @default false
398
- * @example
399
- * ```js
400
- * const embed = new AppEmbed('#tsEmbed', {
401
- * ... // other options
402
- * showLiveboardTitle:true,
403
- * })
404
- * ```
405
- */
406
- showLiveboardTitle?: boolean;
407
- /**
408
- * Show or hide Liveboard description
409
- * @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl
410
- * @default false
411
- * @example
412
- * ```js
413
- * const embed = new AppEmbed('#tsEmbed', {
414
- * ... // other options
415
- * showLiveboardDescription:true,
416
- * })
417
- * ```
418
- */
419
- showLiveboardDescription?: boolean;
420
409
  /**
421
410
  * Flag to control new Modular Home experience.
411
+ *
412
+ * Supported embed types: `AppEmbed`
422
413
  * @default false
423
414
  * @version SDK: 1.28.0 | Thoughtspot: 9.12.5.cl
424
415
  * @example
425
416
  * ```js
426
417
  * const embed = new AppEmbed('#tsEmbed', {
427
- * ... // other options
418
+ * ... // other embed view config
428
419
  * modularHomeExperience : true,
429
420
  * })
430
421
  * ```
@@ -433,38 +424,21 @@ export interface AppViewConfig extends Omit<ViewConfig, 'visibleTabs'> {
433
424
  /**
434
425
  * To configure the top-left navigation and home page experience
435
426
  *
427
+ * Supported embed types: `AppEmbed`
436
428
  * @default false
437
- * @version SDK: 1.39.0 | Thoughtspot: 10.10.0.cl
429
+ * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
438
430
  * @example
439
431
  * ```js
440
432
  * const embed = new AppEmbed('#tsEmbed', {
441
- * ... // other options
433
+ * ... // other embed view config
442
434
  * discoveryExperience : {
443
435
  * primaryNavbarVersion: PrimaryNavbarVersion.Sliding,
444
- * homePage: HompePage.Modular,
436
+ * homePage: HomePage.Modular,
445
437
  * },
446
438
  * })
447
439
  * ```
448
440
  */
449
441
  discoveryExperience?: DiscoveryExperience;
450
- /**
451
- * Boolean to control if Liveboard header is sticky or not.
452
- * @example
453
- * ```js
454
- * const embed = new AppEmbed('#embed', {
455
- * ... // other app view config
456
- * isLiveboardHeaderSticky: true,
457
- * });
458
- * ```
459
- * @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl
460
- */
461
- isLiveboardHeaderSticky?: boolean;
462
- /**
463
- * enable or disable ask sage
464
- * @version SDK: 1.29.0 | Thoughtspot: 9.12.0.cl
465
- * @default false
466
- */
467
- enableAskSage?: boolean;
468
442
  /**
469
443
  * To set the initial state of the search bar in case of saved-answers.
470
444
  * @version SDK: 1.32.0 | Thoughtspot: 10.0.0.cl
@@ -479,8 +453,10 @@ export interface AppViewConfig extends Omit<ViewConfig, 'visibleTabs'> {
479
453
  * - EXPAND_ALL: Expand all the accordion initially in data panel v2.
480
454
  * - COLLAPSE_ALL: Collapse all the accordions initially in data panel v2.
481
455
  * - EXPAND_FIRST: Expand the first accordion and collapse the rest.
456
+ *
457
+ * Supported embed types: `AppEmbed`
482
458
  * @version SDK: 1.32.0 | Thoughtspot: 10.0.0.cl
483
- * @default DataPanelCustomColumnGroupsAccordionState.EXPAND_ALL
459
+ * @default DataPanelCustomColumnGroupsAccordionState.EXPAND_ALL
484
460
  * @example
485
461
  * ```js
486
462
  * const embed = new AppEmbed('#embed', {
@@ -491,20 +467,6 @@ export interface AppViewConfig extends Omit<ViewConfig, 'visibleTabs'> {
491
467
  * ```
492
468
  */
493
469
  dataPanelCustomGroupsAccordionInitialState?: DataPanelCustomColumnGroupsAccordionState;
494
- /**
495
- * This attribute can be used to enable the two-column layout on an embedded Liveboard
496
- * @type {boolean}
497
- * @default false
498
- * @version SDK: 1.32.0 | ThoughtSpot:10.1.0.cl
499
- * @example
500
- * ```js
501
- * const embed = new LiveboardEmbed('#embed-container', {
502
- * ... // other options
503
- * enable2ColumnLayout: true,
504
- * })
505
- * ```
506
- */
507
- enable2ColumnLayout?: boolean;
508
470
  /**
509
471
  * Flag that allows using `EmbedEvent.OnBeforeGetVizDataIntercept`.
510
472
  * @version SDK : 1.29.0 | Thoughtspot : 10.1.0.cl
@@ -512,79 +474,57 @@ export interface AppViewConfig extends Omit<ViewConfig, 'visibleTabs'> {
512
474
  isOnBeforeGetVizDataInterceptEnabled?: boolean;
513
475
  /**
514
476
  * Flag to use home page search bar mode
477
+ *
478
+ * Supported embed types: `AppEmbed`
515
479
  * @version SDK : 1.33.0 | Thoughtspot : 10.3.0.cl
516
480
  */
517
481
  homePageSearchBarMode?: HomePageSearchBarMode;
518
482
  /**
519
- * This flag can be used to enable the compact header in Liveboard
520
- * @type {boolean}
521
- * @default false
522
- * @version SDK: 1.35.0 | ThoughtSpot:10.3.0.cl
523
- * @example
524
- * ```js
525
- * const embed = new AppEmbed('#embed-container', {
526
- * ... // other options
527
- * isLiveboardCompactHeaderEnabled: true,
528
- * })
529
- * ```
530
- */
531
- isLiveboardCompactHeaderEnabled?: boolean;
532
- /**
533
- * This flag can be used to show or hide the Liveboard verified icon in the compact header.
534
- * @type {boolean}
483
+ * This flag is used to enable unified search experience for full app embed.
484
+ *
485
+ * Supported embed types: `AppEmbed`
486
+ * @version SDK: 1.34.0 | ThoughtSpot:10.5.0.cl
535
487
  * @default true
536
- * @version SDK: 1.35.0 | ThoughtSpot:10.4.0.cl
537
- * @example
538
- * ```js
539
- * const embed = new AppEmbed('#embed-container', {
540
- * ... // other options
541
- * showLiveboardVerifiedBadge: true,
542
- * })
543
- * ```
544
- */
545
- showLiveboardVerifiedBadge?: boolean;
546
- /**
547
- * This flag is used to enable/disable hide irrelevant filters in Liveboard tab
548
- * @type {boolean}
549
- * @default false
550
- * @version SDK: 1.36.0 | ThoughtSpot:10.6.0.cl
551
488
  * @example
552
489
  * ```js
553
- * const embed = new AppEmbed('#embed-container', {
554
- * ... // other options
555
- * hideIrrelevantChipsInLiveboardTabs: true,
490
+ * const embed = new AppEmbed('#tsEmbed', {
491
+ * ... // other embed view config
492
+ * isUnifiedSearchExperienceEnabled: true,
556
493
  * })
557
494
  * ```
558
495
  */
559
- hideIrrelevantChipsInLiveboardTabs?: boolean;
560
- /**
561
- * This flag can be used to show or hide the re-verify banner on the Liveboard compact header
562
- * @type {boolean}
563
- * @default true
564
- * @version SDK: 1.35.0 | ThoughtSpot:10.4.0.cl
496
+ isUnifiedSearchExperienceEnabled?: boolean;
497
+ /**
498
+ * Show alert messages and toast messages in the embedded
499
+ * view in full app embed.
500
+ *
501
+ * Supported embed types: `AppEmbed`
502
+ * @version SDK: 1.11.0 | ThoughtSpot: 8.3.0.cl, 8.4.1.sw
565
503
  * @example
566
504
  * ```js
567
- * const embed = new AppEmbed('#embed-container', {
568
- * ... // other options
569
- * showLiveboardReverifyBanner: true,
505
+ * const embed = new AppEmbed('#tsEmbed', {
506
+ * ... // other embed view config
507
+ * showAlerts:true,
570
508
  * })
571
509
  * ```
572
510
  */
573
- showLiveboardReverifyBanner?: boolean;
511
+ showAlerts?: boolean;
574
512
  /**
575
- * This flag is used to enable unified search experience for full app embed.
513
+ * This flag is used to enable/disable the styling and grouping in a Liveboard
514
+ *
515
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`
576
516
  * @type {boolean}
577
- * @default true
578
- * @version SDK: 1.34.0 | ThoughtSpot:10.5.0.cl
517
+ * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
579
518
  * @example
580
519
  * ```js
581
- * const embed = new AppEmbed('#embed-container', {
582
- * ... // other options
583
- * isUnifiedSearchExperienceEnabled: true,
520
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
521
+ * const embed = new <EmbedComponent>('#tsEmbed', {
522
+ * ... // other embed view config
523
+ * isLiveboardStylingAndGroupingEnabled: true,
584
524
  * })
585
525
  * ```
586
526
  */
587
- isUnifiedSearchExperienceEnabled?: boolean;
527
+ isLiveboardStylingAndGroupingEnabled?: boolean;
588
528
  }
589
529
 
590
530
  /**
@@ -648,6 +588,7 @@ export class AppEmbed extends V1Embed {
648
588
  isUnifiedSearchExperienceEnabled = true,
649
589
  enablePendoHelp = true,
650
590
  discoveryExperience,
591
+ isLiveboardStylingAndGroupingEnabled,
651
592
  } = this.viewConfig;
652
593
 
653
594
  let params = {};
@@ -721,6 +662,10 @@ export class AppEmbed extends V1Embed {
721
662
  params[Param.EnablePendoHelp] = enablePendoHelp;
722
663
  }
723
664
 
665
+ if (isLiveboardStylingAndGroupingEnabled !== undefined) {
666
+ params[Param.IsLiveboardStylingAndGroupingEnabled] = isLiveboardStylingAndGroupingEnabled;
667
+ }
668
+
724
669
  params[Param.DataPanelV2Enabled] = dataPanelV2;
725
670
  params[Param.HideHomepageLeftNav] = hideHomepageLeftNav;
726
671
  params[Param.ModularHomeExperienceEnabled] = modularHomeExperience;
@@ -788,7 +733,7 @@ export class AppEmbed extends V1Embed {
788
733
  };
789
734
 
790
735
  private setIframeHeightForNonEmbedLiveboard = (data: MessagePayload) => {
791
- const { height: frameHeight, ...restParams } = this.viewConfig.frameParams || {};
736
+ const { height: frameHeight } = this.viewConfig.frameParams || {};
792
737
 
793
738
  const liveboardRelatedRoutes = [
794
739
  '/pinboard/',
@@ -1,4 +1,4 @@
1
- import { ViewConfig, Param } from '../types';
1
+ import { Param, BaseViewConfig } from '../types';
2
2
  import { TsEmbed } from './ts-embed';
3
3
  import { Conversation as ConversationService } from '../utils/graphql/nlsService/conversation-service';
4
4
  import { getEmbedConfig } from './embedConfig';
@@ -8,7 +8,7 @@ import { getQueryParamString } from '../utils';
8
8
  * Configuration for bodyless conversation options.
9
9
  * @group Embed components
10
10
  */
11
- export interface SpotterAgentEmbedViewConfig extends ViewConfig {
11
+ export interface SpotterAgentEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAction'> {
12
12
  /**
13
13
  * The ID of the worksheet to use for the conversation.
14
14
  */
@@ -22,7 +22,7 @@ export interface SpotterAgentEmbedViewConfig extends ViewConfig {
22
22
 
23
23
  /**
24
24
  * Configuration for conversation options.
25
- * @deprecated from SDK: 1.38.0 | ThoughtSpot: 10.10.0.cl
25
+ * @deprecated from SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
26
26
  * Use {@link SpotterAgentEmbedViewConfig} instead
27
27
  * @group Embed components
28
28
  */
@@ -135,7 +135,7 @@ export class SpotterAgentEmbed {
135
135
  /**
136
136
  * Create a conversation embed, which can be integrated inside
137
137
  * chatbots or other conversational interfaces.
138
- * @deprecated from SDK: 1.38.0 | ThoughtSpot: 10.10.0.cl
138
+ * @deprecated from SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
139
139
  * Use {@link SpotterAgentEmbed} instead
140
140
  * @example
141
141
  * ```js