@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
@@ -1,4 +1,4 @@
1
- /* @thoughtspot/visual-embed-sdk version 1.38.0 */
1
+ /* @thoughtspot/visual-embed-sdk version 1.38.1 */
2
2
  'use client';
3
3
  function _mergeNamespaces(n, m) {
4
4
  m.forEach(function (e) {
@@ -369,7 +369,73 @@ function storeValueInWindow(key, value, options = {}) {
369
369
  * @param key - The key whose value needs to be retrieved.
370
370
  * @returns The stored value or `undefined` if the key is not found.
371
371
  */
372
- const getValueFromWindow = (key) => { var _a; return (_a = window === null || window === void 0 ? void 0 : window[sdkWindowKey]) === null || _a === void 0 ? void 0 : _a[key]; };
372
+ const getValueFromWindow = (key) => { var _a; return (_a = window === null || window === void 0 ? void 0 : window[sdkWindowKey]) === null || _a === void 0 ? void 0 : _a[key]; };
373
+ /**
374
+ * Check if the document is currently in fullscreen mode
375
+ */
376
+ const isInFullscreen = () => {
377
+ return !!(document.fullscreenElement ||
378
+ document.webkitFullscreenElement ||
379
+ document.mozFullScreenElement ||
380
+ document.msFullscreenElement);
381
+ };
382
+ /**
383
+ * Handle Present HostEvent by entering fullscreen mode
384
+ * @param iframe The iframe element to make fullscreen
385
+ */
386
+ const handlePresentEvent = async (iframe) => {
387
+ if (isInFullscreen()) {
388
+ return; // Already in fullscreen
389
+ }
390
+ // Browser-specific methods to enter fullscreen mode
391
+ const fullscreenMethods = [
392
+ 'requestFullscreen',
393
+ 'webkitRequestFullscreen',
394
+ 'mozRequestFullScreen',
395
+ 'msRequestFullscreen' // IE/Edge
396
+ ];
397
+ for (const method of fullscreenMethods) {
398
+ if (typeof iframe[method] === 'function') {
399
+ try {
400
+ const result = iframe[method]();
401
+ await Promise.resolve(result);
402
+ return;
403
+ }
404
+ catch (error) {
405
+ logger$3.warn(`Failed to enter fullscreen using ${method}:`, error);
406
+ }
407
+ }
408
+ }
409
+ logger$3.error('Fullscreen API is not supported by this browser.');
410
+ };
411
+ /**
412
+ * Handle ExitPresentMode EmbedEvent by exiting fullscreen mode
413
+ */
414
+ const handleExitPresentMode = async () => {
415
+ if (!isInFullscreen()) {
416
+ return; // Not in fullscreen
417
+ }
418
+ const exitFullscreenMethods = [
419
+ 'exitFullscreen',
420
+ 'webkitExitFullscreen',
421
+ 'mozCancelFullScreen',
422
+ 'msExitFullscreen' // IE/Edge
423
+ ];
424
+ // Try each method until one works
425
+ for (const method of exitFullscreenMethods) {
426
+ if (typeof document[method] === 'function') {
427
+ try {
428
+ const result = document[method]();
429
+ await Promise.resolve(result);
430
+ return;
431
+ }
432
+ catch (error) {
433
+ logger$3.warn(`Failed to exit fullscreen using ${method}:`, error);
434
+ }
435
+ }
436
+ }
437
+ logger$3.warn('Exit fullscreen API is not supported by this browser.');
438
+ };
373
439
 
374
440
  /**
375
441
  * Copyright (c) 2023
@@ -452,7 +518,7 @@ var AuthType;
452
518
  * // ...
453
519
  * authType: AuthType.SAMLRedirect,
454
520
  * authTriggerText: 'Login with SAML',
455
- * authTriggerContainer: '#embed-container',
521
+ * authTriggerContainer: '#tsEmbed',
456
522
  * inPopup: true,
457
523
  * });
458
524
  * ```
@@ -578,13 +644,13 @@ var HomeLeftNavItem;
578
644
  /**
579
645
  * Create new options in the insights left navigation,
580
646
  * available when new navigation V3 is enabled.
581
- * @version SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
647
+ * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
582
648
  */
583
649
  HomeLeftNavItem["Create"] = "create";
584
650
  /**
585
651
  * Spotter option in the insights left navigation,
586
652
  * available when new navigation V3 is enabled.
587
- * @version SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
653
+ * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
588
654
  */
589
655
  HomeLeftNavItem["Spotter"] = "spotter";
590
656
  })(HomeLeftNavItem || (HomeLeftNavItem = {}));
@@ -907,7 +973,7 @@ var EmbedEvent;
907
973
  * @version SDK: 1.5.0 | ThoughtSpot: ts7.oct.cl, 7.2.1
908
974
  * @example
909
975
  * ```js
910
- * livebaordEmbed.on(EmbedEvent.VizPointDoubleClick, payload => {
976
+ * LiveboardEmbed.on(EmbedEvent.VizPointDoubleClick, payload => {
911
977
  * console.log('VizPointDoubleClick', payload);
912
978
  * })
913
979
  * ```
@@ -1767,6 +1833,12 @@ var EmbedEvent;
1767
1833
  * @version SDK : 1.37.0 | ThoughtSpot : 10.8.0.cl
1768
1834
  */
1769
1835
  EmbedEvent["CreateModel"] = "createModel";
1836
+ /**
1837
+ * @hidden
1838
+ * Emitted when a user exits present mode.
1839
+ * @version SDK : 1.40.0 | ThoughtSpot : 10.11.0.cl
1840
+ */
1841
+ EmbedEvent["ExitPresentMode"] = "exitPresentMode";
1770
1842
  })(EmbedEvent || (EmbedEvent = {}));
1771
1843
  /**
1772
1844
  * Event types that can be triggered by the host application
@@ -2841,6 +2913,16 @@ var HostEvent;
2841
2913
  * @version SDK: 1.37.0 | ThoughtSpot: 10.8.0.cl
2842
2914
  */
2843
2915
  HostEvent["TransformTableVizData"] = "TransformTableVizData";
2916
+ /**
2917
+ * @hidden
2918
+ * Trigger exit from presentation mode when user exits fullscreen.
2919
+ * This is automatically triggered by the SDK when fullscreen mode is exited.
2920
+ * ```js
2921
+ * liveboardEmbed.trigger(HostEvent.ExitPresentMode);
2922
+ *```
2923
+ * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
2924
+ */
2925
+ HostEvent["ExitPresentMode"] = "exitPresentMode";
2844
2926
  })(HostEvent || (HostEvent = {}));
2845
2927
  /**
2846
2928
  * The different visual modes that the data sources panel within
@@ -2983,6 +3065,7 @@ var Param;
2983
3065
  Param["CoverAndFilterOptionInPDF"] = "coverAndFilterOptionInPDF";
2984
3066
  Param["PrimaryAction"] = "primaryAction";
2985
3067
  Param["isSpotterAgentEmbed"] = "isSpotterAgentEmbed";
3068
+ Param["IsLiveboardStylingAndGroupingEnabled"] = "isLiveboardStylingAndGroupingEnabled";
2986
3069
  })(Param || (Param = {}));
2987
3070
  /**
2988
3071
  * ThoughtSpot application pages include actions and menu commands
@@ -2993,8 +3076,8 @@ var Param;
2993
3076
  * or `hiddenActions` array.
2994
3077
  * @example
2995
3078
  * ```js
2996
- * const embed = new LiveboardEmbed('#embed-container', {
2997
- * ... // other options
3079
+ * const embed = new LiveboardEmbed('#tsEmbed', {
3080
+ * ... //other embed view config
2998
3081
  * visibleActions: [Action.Save, Action.Edit, Action.Present, ActionAction.Explore],
2999
3082
  * disabledActions: [Action.Download],
3000
3083
  * //hiddenActions: [], // Set either this or visibleActions
@@ -3002,8 +3085,8 @@ var Param;
3002
3085
  * ```
3003
3086
  * @example
3004
3087
  * ```js
3005
- * const embed = new LiveboardEmbed('#embed-container', {
3006
- * ... // other options
3088
+ * const embed = new LiveboardEmbed('#tsEmbed', {
3089
+ * ... //other embed view config
3007
3090
  * //visibleActions: [],
3008
3091
  * disabledActions: [Action.Download],
3009
3092
  * hiddenActions: [Action.Edit, ActionAction.Explore],
@@ -4236,7 +4319,7 @@ var LogLevel;
4236
4319
  * @example
4237
4320
  * ```js
4238
4321
  * init({
4239
- * ... // other options,
4322
+ * ... //other embed view config,
4240
4323
  * logLevel: LogLevel.SILENT,
4241
4324
  * })
4242
4325
  * ```
@@ -4248,7 +4331,7 @@ var LogLevel;
4248
4331
  * @example
4249
4332
  * ```js
4250
4333
  * init({
4251
- * ... // other options,
4334
+ * ... //other embed view config,
4252
4335
  * logLevel: LogLevel.ERROR,
4253
4336
  * })
4254
4337
  * ```
@@ -4260,7 +4343,7 @@ var LogLevel;
4260
4343
  * @example
4261
4344
  * ```js
4262
4345
  * init({
4263
- * ... // other options,
4346
+ * ... //other embed view config,
4264
4347
  * logLevel: LogLevel.WARN,
4265
4348
  * })
4266
4349
  * ```
@@ -4273,7 +4356,7 @@ var LogLevel;
4273
4356
  * @example
4274
4357
  * ```js
4275
4358
  * init({
4276
- * ... // other options,
4359
+ * ... //other embed view config,
4277
4360
  * logLevel: LogLevel.INFO,
4278
4361
  * })
4279
4362
  * ```
@@ -4286,7 +4369,7 @@ var LogLevel;
4286
4369
  * @example
4287
4370
  * ```js
4288
4371
  * init({
4289
- * ... // other options,
4372
+ * ... //other embed view config,
4290
4373
  * logLevel: LogLevel.DEBUG,
4291
4374
  * })
4292
4375
  * ```
@@ -4298,7 +4381,7 @@ var LogLevel;
4298
4381
  * @example
4299
4382
  * ```js
4300
4383
  * init({
4301
- * ... // other options,
4384
+ * ... //other embed view config,
4302
4385
  * logLevel: LogLevel.TRACE,
4303
4386
  * })
4304
4387
  * ```
@@ -7227,12 +7310,13 @@ var OperationType;
7227
7310
  * directly from your application.
7228
7311
  *
7229
7312
  * You can use this service to:
7313
+ *
7230
7314
  * - Add or remove columns from Answers (`addColumns`, `removeColumns`, `addColumnsByName`)
7231
7315
  * - Apply filters to Answers (`addFilter`)
7232
7316
  * - Get data from Answers in different formats (JSON, CSV, PNG) (`fetchData`, `fetchCSVBlob`, `fetchPNGBlob`)
7233
7317
  * - Get data for specific points in visualizations (`getUnderlyingDataForPoint`)
7234
7318
  * - Run custom queries (`executeQuery`)
7235
- * - Add visualizations to liveboards (`addDisplayedVizToLiveboard`)
7319
+ * - Add visualizations to Liveboards (`addDisplayedVizToLiveboard`)
7236
7320
  *
7237
7321
  * @example
7238
7322
  * ```js
@@ -7514,7 +7598,7 @@ class AnswerService {
7514
7598
  async getTML() {
7515
7599
  const { object } = await this.executeQuery(getAnswerTML, {});
7516
7600
  const edoc = object[0].edoc;
7517
- const YAML = await import('./index-BIcnpmMY.js');
7601
+ const YAML = await import('./index-BKIWUvTr.js');
7518
7602
  const parsedDoc = YAML.parse(edoc);
7519
7603
  return {
7520
7604
  answer: {
@@ -15292,6 +15376,18 @@ const exportTML = async (data) => {
15292
15376
  });
15293
15377
  };
15294
15378
 
15379
+ /**
15380
+ * Process the ExitPresentMode event and handle default fullscreen exit
15381
+ * @param e - The event data
15382
+ */
15383
+ function processExitPresentMode(e) {
15384
+ var _a;
15385
+ const embedConfig = getEmbedConfig();
15386
+ const disableFullscreenPresentation = (_a = embedConfig === null || embedConfig === void 0 ? void 0 : embedConfig.disableFullscreenPresentation) !== null && _a !== void 0 ? _a : true;
15387
+ if (!disableFullscreenPresentation) {
15388
+ handleExitPresentMode();
15389
+ }
15390
+ }
15295
15391
  /**
15296
15392
  *
15297
15393
  * @param e
@@ -15396,11 +15492,13 @@ function processEventData(type, e, thoughtSpotHost, containerEl) {
15396
15492
  return processAuthFailure(e, containerEl);
15397
15493
  case EmbedEvent.AuthLogout:
15398
15494
  return processAuthLogout(e, containerEl);
15495
+ case EmbedEvent.ExitPresentMode:
15496
+ return processExitPresentMode();
15399
15497
  }
15400
15498
  return e;
15401
15499
  }
15402
15500
 
15403
- var name="@thoughtspot/visual-embed-sdk";var version$1="1.38.0";var description="ThoughtSpot Embed SDK";var module="lib/src/index.js";var main="dist/tsembed.js";var types="lib/src/index.d.ts";var files=["dist/**","lib/**","src/**","cjs/**"];var exports={".":{"import":"./lib/src/index.js",require:"./cjs/src/index.js",types:"./lib/src/index.d.ts"},"./react":{"import":"./lib/src/react/all-types-export.js",require:"./cjs/src/react/all-types-export.js",types:"./lib/src/react/all-types-export.d.ts"},"./lib/src/react":{"import":"./lib/src/react/all-types-export.js",require:"./cjs/src/react/all-types-export.js",types:"./lib/src/react/all-types-export.d.ts"}};var typesVersions={"*":{react:["./lib/src/react/all-types-export.d.ts"]}};var scripts={lint:"eslint 'src/**'","lint:fix":"eslint 'src/**/*.*' --fix",tsc:"tsc -p . --incremental false; tsc -p . --incremental false --module commonjs --outDir cjs","build-and-publish":"npm run build:gatsby && npm run publish","bundle-dts-file":"dts-bundle --name @thoughtspot/visual-embed-sdk --out visual-embed-sdk.d.ts --main lib/src/index.d.ts","bundle-dts":"dts-bundle --name ../../dist/visual-embed-sdk --main lib/src/index.d.ts --outputAsModuleFolder=true","bundle-dts-react":"dts-bundle --name ../../../dist/visual-embed-sdk-react --main lib/src/react/index.d.ts --outputAsModuleFolder=true","bundle-dts-react-full":"dts-bundle --name ../../../dist/visual-embed-sdk-react-full --main lib/src/react/all-types-export.d.ts --outputAsModuleFolder=true",build:"rollup -c",watch:"rollup -cw",docgen:"typedoc --tsconfig tsconfig.json --theme typedoc-theme --json static/typedoc/typedoc.json --disableOutputCheck","test-sdk":"jest -c jest.config.sdk.js --runInBand",test:"npm run test-sdk",posttest:"cat ./coverage/sdk/lcov.info | coveralls","is-publish-allowed":"node scripts/is-publish-allowed.js",prepublishOnly:"npm run is-publish-allowed && npm run test && npm run tsc && npm run bundle-dts-file && npm run bundle-dts && npm run bundle-dts-react && npm run bundle-dts-react-full && npm run build","check-size":"npm run build && size-limit","publish-dev":"npm publish --tag dev","publish-prod":"npm publish --tag latest",dev:"vite -c vite.local.config.ts"};var peerDependencies={react:"> 16.8.0","react-dom":"> 16.8.0"};var dependencies={classnames:"^2.3.1",eventemitter3:"^4.0.7",lodash:"^4.17.21","mixpanel-browser":"2.47.0","ts-deepmerge":"^6.0.2",tslib:"^2.5.3","use-deep-compare-effect":"^1.8.1",yaml:"^2.5.1"};var devDependencies={"@mdx-js/mdx":"^1.6.22","@mdx-js/react":"^1.6.22","@react-icons/all-files":"^4.1.0","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","@rollup/plugin-replace":"^5.0.2","@size-limit/preset-big-lib":"^8.2.6","@testing-library/dom":"^7.31.0","@testing-library/jest-dom":"^5.14.1","@testing-library/react":"^11.2.7","@testing-library/user-event":"^13.1.8","@types/jest":"^22.2.3","@types/lodash":"^4.17.0","@types/mixpanel-browser":"^2.35.6","@types/react-test-renderer":"^17.0.1","@typescript-eslint/eslint-plugin":"^8.28.0","@typescript-eslint/parser":"^8.28.0",asciidoctor:"^2.2.1","babel-jest":"^26.6.3","babel-preset-gatsby":"^1.10.0","command-line-args":"^5.1.1",coveralls:"^3.1.0",crypto:"^1.0.1","current-git-branch":"^1.1.0","dts-bundle":"^0.7.3",eslint:"^9.23.0","eslint-config-airbnb-base":"^15.0.0","eslint-config-prettier":"^10.1.1","eslint-import-resolver-typescript":"^4.2.5","eslint-plugin-comment-length":"2.2.1","eslint-plugin-import":"^2.31.0","eslint-plugin-jsdoc":"^50.6.9","eslint-plugin-prettier":"^5.2.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^5.2.0","fs-extra":"^10.0.0","gh-pages":"6.3.0",globals:"^16.0.0","highlight.js":"^10.6.0","html-to-text":"^8.0.0","identity-obj-proxy":"^3.0.0","istanbul-merge":"^1.1.1",jest:"^26.6.3","jest-fetch-mock":"^3.0.3",jsdom:"^17.0.0",prettier:"2.1.2",react:"^16.14.0","react-dom":"^16.14.0","react-resizable":"^1.11.0","react-resize-detector":"^6.6.0","react-test-renderer":"^17.0.2","react-use-flexsearch":"^0.1.1",rollup:"4.24.0","rollup-plugin-typescript2":"0.27.3","ts-jest":"^26.5.5","ts-loader":"8.0.4",typedoc:"0.21.6","typedoc-plugin-toc-group":"thoughtspot/typedoc-plugin-toc-group",typescript:"^4.9.4","typescript-eslint":"^8.29.1","url-search-params-polyfill":"^8.1.0",util:"^0.12.4",vite:"^6.3.5"};var author="ThoughtSpot";var email="support@thoughtspot.com";var license="ThoughtSpot Development Tools End User License Agreement";var directories={lib:"lib"};var repository={type:"git",url:"git+https://github.com/thoughtspot/visual-embed-sdk.git"};var publishConfig={registry:"https://registry.npmjs.org"};var keywords=["thoughtspot","everywhere","embedded","embed","sdk","analytics"];var bugs={url:"https://github.com/thoughtspot/visual-embed-sdk/issues"};var homepage="https://github.com/thoughtspot/visual-embed-sdk#readme";var globals={window:{}};var pkgInfo = {name:name,version:version$1,description:description,module:module,main:main,types:types,files:files,exports:exports,typesVersions:typesVersions,"size-limit":[{path:"dist/tsembed.es.js",limit:"31 kB"}],scripts:scripts,peerDependencies:peerDependencies,dependencies:dependencies,devDependencies:devDependencies,author:author,email:email,license:license,directories:directories,repository:repository,publishConfig:publishConfig,keywords:keywords,bugs:bugs,homepage:homepage,globals:globals};
15501
+ var name="@thoughtspot/visual-embed-sdk";var version$1="1.38.1";var description="ThoughtSpot Embed SDK";var module="lib/src/index.js";var main="dist/tsembed.js";var types="lib/src/index.d.ts";var files=["dist/**","lib/**","src/**","cjs/**"];var exports={".":{"import":"./lib/src/index.js",require:"./cjs/src/index.js",types:"./lib/src/index.d.ts"},"./react":{"import":"./lib/src/react/all-types-export.js",require:"./cjs/src/react/all-types-export.js",types:"./lib/src/react/all-types-export.d.ts"},"./lib/src/react":{"import":"./lib/src/react/all-types-export.js",require:"./cjs/src/react/all-types-export.js",types:"./lib/src/react/all-types-export.d.ts"}};var typesVersions={"*":{react:["./lib/src/react/all-types-export.d.ts"]}};var scripts={lint:"eslint 'src/**'","lint:fix":"eslint 'src/**/*.*' --fix",tsc:"tsc -p . --incremental false; tsc -p . --incremental false --module commonjs --outDir cjs","build-and-publish":"npm run build:gatsby && npm run publish","bundle-dts-file":"dts-bundle --name @thoughtspot/visual-embed-sdk --out visual-embed-sdk.d.ts --main lib/src/index.d.ts","bundle-dts":"dts-bundle --name ../../dist/visual-embed-sdk --main lib/src/index.d.ts --outputAsModuleFolder=true","bundle-dts-react":"dts-bundle --name ../../../dist/visual-embed-sdk-react --main lib/src/react/index.d.ts --outputAsModuleFolder=true","bundle-dts-react-full":"dts-bundle --name ../../../dist/visual-embed-sdk-react-full --main lib/src/react/all-types-export.d.ts --outputAsModuleFolder=true",build:"rollup -c",watch:"rollup -cw",docgen:"typedoc --tsconfig tsconfig.json --theme typedoc-theme --json static/typedoc/typedoc.json --disableOutputCheck","test-sdk":"jest -c jest.config.sdk.js --runInBand",test:"npm run test-sdk",posttest:"cat ./coverage/sdk/lcov.info | coveralls","is-publish-allowed":"node scripts/is-publish-allowed.js",prepublishOnly:"npm run is-publish-allowed && npm run test && npm run tsc && npm run bundle-dts-file && npm run bundle-dts && npm run bundle-dts-react && npm run bundle-dts-react-full && npm run build","check-size":"npm run build && size-limit","publish-dev":"npm publish --tag dev","publish-prod":"npm publish --tag latest",dev:"vite -c vite.local.config.ts"};var peerDependencies={react:"> 16.8.0","react-dom":"> 16.8.0"};var dependencies={classnames:"^2.3.1",eventemitter3:"^4.0.7",lodash:"^4.17.21","mixpanel-browser":"2.47.0","ts-deepmerge":"^6.0.2",tslib:"^2.5.3","use-deep-compare-effect":"^1.8.1",yaml:"^2.5.1"};var devDependencies={"@mdx-js/mdx":"^1.6.22","@mdx-js/react":"^1.6.22","@react-icons/all-files":"^4.1.0","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","@rollup/plugin-replace":"^5.0.2","@size-limit/preset-big-lib":"^8.2.6","@testing-library/dom":"^7.31.0","@testing-library/jest-dom":"^5.14.1","@testing-library/react":"^11.2.7","@testing-library/user-event":"^13.1.8","@types/jest":"^22.2.3","@types/lodash":"^4.17.0","@types/mixpanel-browser":"^2.35.6","@types/react-test-renderer":"^17.0.1","@typescript-eslint/eslint-plugin":"^8.28.0","@typescript-eslint/parser":"^8.28.0",asciidoctor:"^2.2.1","babel-jest":"^26.6.3","babel-preset-gatsby":"^1.10.0","command-line-args":"^5.1.1",coveralls:"^3.1.0",crypto:"^1.0.1","current-git-branch":"^1.1.0","dts-bundle":"^0.7.3",eslint:"^9.23.0","eslint-config-airbnb-base":"^15.0.0","eslint-config-prettier":"^10.1.1","eslint-import-resolver-typescript":"^4.2.5","eslint-plugin-comment-length":"2.2.1","eslint-plugin-import":"^2.31.0","eslint-plugin-jsdoc":"^50.6.9","eslint-plugin-prettier":"^5.2.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^5.2.0","fs-extra":"^10.0.0","gh-pages":"6.3.0",globals:"^16.0.0","highlight.js":"^10.6.0","html-to-text":"^8.0.0","identity-obj-proxy":"^3.0.0","istanbul-merge":"^1.1.1",jest:"^26.6.3","jest-fetch-mock":"^3.0.3",jsdom:"^17.0.0",prettier:"2.1.2",react:"^16.14.0","react-dom":"^16.14.0","react-resizable":"^1.11.0","react-resize-detector":"^6.6.0","react-test-renderer":"^17.0.2","react-use-flexsearch":"^0.1.1",rollup:"4.24.0","rollup-plugin-typescript2":"0.27.3","ts-jest":"^26.5.5","ts-loader":"8.0.4",typedoc:"0.21.6","typedoc-plugin-toc-group":"thoughtspot/typedoc-plugin-toc-group",typescript:"^4.9.4","typescript-eslint":"^8.29.1","url-search-params-polyfill":"^8.1.0",util:"^0.12.4",vite:"^6.3.5"};var author="ThoughtSpot";var email="support@thoughtspot.com";var license="ThoughtSpot Development Tools End User License Agreement";var directories={lib:"lib"};var repository={type:"git",url:"git+https://github.com/thoughtspot/visual-embed-sdk.git"};var publishConfig={registry:"https://registry.npmjs.org"};var keywords=["thoughtspot","everywhere","embedded","embed","sdk","analytics"];var bugs={url:"https://github.com/thoughtspot/visual-embed-sdk/issues"};var homepage="https://github.com/thoughtspot/visual-embed-sdk#readme";var globals={window:{}};var pkgInfo = {name:name,version:version$1,description:description,module:module,main:main,types:types,files:files,exports:exports,typesVersions:typesVersions,"size-limit":[{path:"dist/tsembed.es.js",limit:"31 kB"}],scripts:scripts,peerDependencies:peerDependencies,dependencies:dependencies,devDependencies:devDependencies,author:author,email:email,license:license,directories:directories,repository:repository,publishConfig:publishConfig,keywords:keywords,bugs:bugs,homepage:homepage,globals:globals};
15404
15502
 
15405
15503
  /**
15406
15504
  * Reloads the ThoughtSpot iframe.
@@ -15435,10 +15533,21 @@ const TRIGGER_TIMEOUT = 30000;
15435
15533
  */
15436
15534
  function processTrigger(iFrame, messageType, thoughtSpotHost, data) {
15437
15535
  return new Promise((res, rej) => {
15536
+ var _a;
15438
15537
  if (messageType === HostEvent.Reload) {
15439
15538
  reload(iFrame);
15440
15539
  return res(null);
15441
15540
  }
15541
+ if (messageType === HostEvent.Present) {
15542
+ const embedConfig = getEmbedConfig();
15543
+ const disableFullscreenPresentation = (_a = embedConfig === null || embedConfig === void 0 ? void 0 : embedConfig.disableFullscreenPresentation) !== null && _a !== void 0 ? _a : true;
15544
+ if (!disableFullscreenPresentation) {
15545
+ handlePresentEvent(iFrame);
15546
+ }
15547
+ else {
15548
+ logger$3.warn('Fullscreen presentation mode is disabled. Set disableFullscreenPresentation: false to enable this feature.');
15549
+ }
15550
+ }
15442
15551
  const channel = new MessageChannel();
15443
15552
  channel.port1.onmessage = ({ data: responseData }) => {
15444
15553
  var _a;
@@ -15609,6 +15718,10 @@ class TsEmbed {
15609
15718
  */
15610
15719
  this.shouldEncodeUrlQueryParams = false;
15611
15720
  this.defaultHiddenActions = [Action.ReportError];
15721
+ /**
15722
+ * Handler for fullscreen change events
15723
+ */
15724
+ this.fullscreenChangeHandler = null;
15612
15725
  this.subscribedListeners = {};
15613
15726
  /**
15614
15727
  * Send Custom style as part of payload of APP_INIT
@@ -16146,6 +16259,8 @@ class TsEmbed {
16146
16259
  }
16147
16260
  });
16148
16261
  }
16262
+ // Setup fullscreen change handler after iframe is loaded and ready
16263
+ this.setupFullscreenChangeHandler();
16149
16264
  });
16150
16265
  this.iFrame.addEventListener('error', () => {
16151
16266
  nextInQueue();
@@ -16521,6 +16636,7 @@ class TsEmbed {
16521
16636
  destroy() {
16522
16637
  var _a;
16523
16638
  try {
16639
+ this.removeFullscreenChangeHandler();
16524
16640
  (_a = this.insertedDomEl) === null || _a === void 0 ? void 0 : _a.parentNode.removeChild(this.insertedDomEl);
16525
16641
  this.unsubscribeToEvents();
16526
16642
  }
@@ -16588,6 +16704,10 @@ class TsEmbed {
16588
16704
  this.beforePrerenderVisible();
16589
16705
  removeStyleProperties(this.preRenderWrapper, ['z-index', 'opacity', 'pointer-events']);
16590
16706
  this.subscribeToEvents();
16707
+ // Setup fullscreen change handler for prerendered components
16708
+ if (this.iFrame) {
16709
+ this.setupFullscreenChangeHandler();
16710
+ }
16591
16711
  return this;
16592
16712
  }
16593
16713
  /**
@@ -16656,6 +16776,44 @@ class TsEmbed {
16656
16776
  const { session } = await this.trigger(HostEvent.GetAnswerSession, vizId ? { vizId } : {});
16657
16777
  return new AnswerService(session, null, this.embedConfig.thoughtSpotHost);
16658
16778
  }
16779
+ /**
16780
+ * Set up fullscreen change detection to automatically trigger ExitPresentMode
16781
+ * when user exits fullscreen mode
16782
+ */
16783
+ setupFullscreenChangeHandler() {
16784
+ var _a;
16785
+ const embedConfig = getEmbedConfig();
16786
+ const disableFullscreenPresentation = (_a = embedConfig === null || embedConfig === void 0 ? void 0 : embedConfig.disableFullscreenPresentation) !== null && _a !== void 0 ? _a : true;
16787
+ if (disableFullscreenPresentation) {
16788
+ return;
16789
+ }
16790
+ if (this.fullscreenChangeHandler) {
16791
+ document.removeEventListener('fullscreenchange', this.fullscreenChangeHandler);
16792
+ }
16793
+ this.fullscreenChangeHandler = () => {
16794
+ const isFullscreen = !!document.fullscreenElement;
16795
+ if (!isFullscreen) {
16796
+ logger$3.info('Exited fullscreen mode - triggering ExitPresentMode');
16797
+ // Only trigger if iframe is available and contentWindow is accessible
16798
+ if (this.iFrame && this.iFrame.contentWindow) {
16799
+ this.trigger(HostEvent.ExitPresentMode);
16800
+ }
16801
+ else {
16802
+ logger$3.debug('Skipping ExitPresentMode - iframe contentWindow not available');
16803
+ }
16804
+ }
16805
+ };
16806
+ document.addEventListener('fullscreenchange', this.fullscreenChangeHandler);
16807
+ }
16808
+ /**
16809
+ * Remove fullscreen change handler
16810
+ */
16811
+ removeFullscreenChangeHandler() {
16812
+ if (this.fullscreenChangeHandler) {
16813
+ document.removeEventListener('fullscreenchange', this.fullscreenChangeHandler);
16814
+ this.fullscreenChangeHandler = null;
16815
+ }
16816
+ }
16659
16817
  }
16660
16818
  /**
16661
16819
  * Base class for embedding v1 experience
@@ -16796,7 +16954,7 @@ var HomePageSearchBarMode;
16796
16954
  })(HomePageSearchBarMode || (HomePageSearchBarMode = {}));
16797
16955
  /**
16798
16956
  * Define the version of the primary navbar
16799
- * @version SDK: 1.39.0 | Thoughtspot: 10.10.0.cl
16957
+ * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
16800
16958
  */
16801
16959
  var PrimaryNavbarVersion;
16802
16960
  (function (PrimaryNavbarVersion) {
@@ -16809,7 +16967,7 @@ var PrimaryNavbarVersion;
16809
16967
  })(PrimaryNavbarVersion || (PrimaryNavbarVersion = {}));
16810
16968
  /**
16811
16969
  * Define the version of the home page
16812
- * @version SDK: 1.39.0 | Thoughtspot: 10.10.0.cl
16970
+ * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
16813
16971
  */
16814
16972
  var HomePage;
16815
16973
  (function (HomePage) {
@@ -16843,7 +17001,7 @@ class AppEmbed extends V1Embed {
16843
17001
  responder({ type: EmbedEvent.EmbedIframeCenter, data: obj });
16844
17002
  };
16845
17003
  this.setIframeHeightForNonEmbedLiveboard = (data) => {
16846
- const { height: frameHeight, ...restParams } = this.viewConfig.frameParams || {};
17004
+ const { height: frameHeight } = this.viewConfig.frameParams || {};
16847
17005
  const liveboardRelatedRoutes = [
16848
17006
  '/pinboard/',
16849
17007
  '/insights/pinboard/',
@@ -16875,7 +17033,7 @@ class AppEmbed extends V1Embed {
16875
17033
  getEmbedParams() {
16876
17034
  const { tag, hideObjects, liveboardV2, showPrimaryNavbar, disableProfileAndHelp, hideHamburger, hideObjectSearch, hideNotification, hideApplicationSwitcher, hideOrgSwitcher, enableSearchAssist, fullHeight, dataPanelV2 = false, hideLiveboardHeader = false, showLiveboardTitle = true, showLiveboardDescription = true, hideHomepageLeftNav = false, modularHomeExperience = false, isLiveboardHeaderSticky = true, enableAskSage, collapseSearchBarInitially = false, enable2ColumnLayout, enableCustomColumnGroups = false, isOnBeforeGetVizDataInterceptEnabled = false,
16877
17035
  /* eslint-disable-next-line max-len */
16878
- dataPanelCustomGroupsAccordionInitialState = DataPanelCustomColumnGroupsAccordionState$1.EXPAND_ALL, collapseSearchBar = true, isLiveboardCompactHeaderEnabled = false, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, hideIrrelevantChipsInLiveboardTabs = false, homePageSearchBarMode, isUnifiedSearchExperienceEnabled = true, enablePendoHelp = true, discoveryExperience, } = this.viewConfig;
17036
+ dataPanelCustomGroupsAccordionInitialState = DataPanelCustomColumnGroupsAccordionState$1.EXPAND_ALL, collapseSearchBar = true, isLiveboardCompactHeaderEnabled = false, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, hideIrrelevantChipsInLiveboardTabs = false, homePageSearchBarMode, isUnifiedSearchExperienceEnabled = true, enablePendoHelp = true, discoveryExperience, isLiveboardStylingAndGroupingEnabled, } = this.viewConfig;
16879
17037
  let params = {};
16880
17038
  params[Param.PrimaryNavHidden] = !showPrimaryNavbar;
16881
17039
  params[Param.HideProfleAndHelp] = !!disableProfileAndHelp;
@@ -16932,6 +17090,9 @@ class AppEmbed extends V1Embed {
16932
17090
  if (enablePendoHelp !== undefined) {
16933
17091
  params[Param.EnablePendoHelp] = enablePendoHelp;
16934
17092
  }
17093
+ if (isLiveboardStylingAndGroupingEnabled !== undefined) {
17094
+ params[Param.IsLiveboardStylingAndGroupingEnabled] = isLiveboardStylingAndGroupingEnabled;
17095
+ }
16935
17096
  params[Param.DataPanelV2Enabled] = dataPanelV2;
16936
17097
  params[Param.HideHomepageLeftNav] = hideHomepageLeftNav;
16937
17098
  params[Param.ModularHomeExperienceEnabled] = modularHomeExperience;
@@ -17138,12 +17299,6 @@ const addPreviewStylesIfNotPresent = () => {
17138
17299
  * @summary Liveboard & visualization embed
17139
17300
  * @author Ayon Ghosh <ayon.ghosh@thoughtspot.com>
17140
17301
  */
17141
- const liveboardHeightWhitelistedRoutes = [
17142
- '/embed/viz/',
17143
- '/embed/insights/viz/',
17144
- '/tsl-editor/PINBOARD_ANSWER_BOOK/',
17145
- '/import-tsl/PINBOARD_ANSWER_BOOK/',
17146
- ];
17147
17302
  /**
17148
17303
  * Embed a ThoughtSpot Liveboard or visualization. When rendered it already
17149
17304
  * waits for the authentication to complete, so you need not wait for
@@ -17160,7 +17315,6 @@ const liveboardHeightWhitelistedRoutes = [
17160
17315
  * @group Embed components
17161
17316
  */
17162
17317
  class LiveboardEmbed extends V1Embed {
17163
- // eslint-disable-next-line no-useless-constructor
17164
17318
  constructor(domSelector, viewConfig) {
17165
17319
  viewConfig.embedComponentType = 'LiveboardEmbed';
17166
17320
  super(domSelector, viewConfig);
@@ -17178,13 +17332,30 @@ class LiveboardEmbed extends V1Embed {
17178
17332
  responder({ type: EmbedEvent.EmbedIframeCenter, data: obj });
17179
17333
  };
17180
17334
  this.setIframeHeightForNonEmbedLiveboard = (data) => {
17181
- const routePath = data.data.currentPath;
17182
- if (liveboardHeightWhitelistedRoutes.some((path) => routePath.startsWith(path))) {
17335
+ const { height: frameHeight } = this.viewConfig.frameParams || {};
17336
+ const liveboardRelatedRoutes = [
17337
+ '/pinboard/',
17338
+ '/insights/pinboard/',
17339
+ '/schedules/',
17340
+ '/embed/viz/',
17341
+ '/embed/insights/viz/',
17342
+ '/liveboard/',
17343
+ '/insights/liveboard/',
17344
+ '/tsl-editor/PINBOARD_ANSWER_BOOK/',
17345
+ '/import-tsl/PINBOARD_ANSWER_BOOK/',
17346
+ ];
17347
+ if (liveboardRelatedRoutes.some((path) => data.data.currentPath.startsWith(path))) {
17348
+ // Ignore the height reset of the frame, if the navigation is
17349
+ // only within the liveboard page.
17183
17350
  return;
17184
17351
  }
17185
- this.setIFrameHeight(this.defaultHeight);
17352
+ this.setIFrameHeight(frameHeight || this.defaultHeight);
17186
17353
  };
17187
17354
  if (this.viewConfig.fullHeight === true) {
17355
+ if (this.viewConfig.vizId) {
17356
+ logger$3.warn('Full height is currently only supported for Liveboard embeds.' +
17357
+ 'Using full height with vizId might lead to unexpected behavior.');
17358
+ }
17188
17359
  this.on(EmbedEvent.RouteChange, this.setIframeHeightForNonEmbedLiveboard);
17189
17360
  this.on(EmbedEvent.EmbedHeight, this.updateIFrameHeight);
17190
17361
  this.on(EmbedEvent.EmbedIframeCenter, this.embedIframeCenter);
@@ -17197,7 +17368,7 @@ class LiveboardEmbed extends V1Embed {
17197
17368
  getEmbedParams() {
17198
17369
  let params = {};
17199
17370
  params = this.getBaseQueryParams(params);
17200
- const { enableVizTransformations, fullHeight, defaultHeight, visibleVizs, liveboardV2, vizId, hideTabPanel, activeTabId, hideLiveboardHeader, showLiveboardDescription, showLiveboardTitle, isLiveboardHeaderSticky = true, isLiveboardCompactHeaderEnabled = false, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, hideIrrelevantChipsInLiveboardTabs = false, enableAskSage, enable2ColumnLayout, dataPanelV2 = false, enableCustomColumnGroups = false, oAuthPollingInterval, isForceRedirect, dataSourceId, coverAndFilterOptionInPDF, } = this.viewConfig;
17371
+ const { enableVizTransformations, fullHeight, defaultHeight, visibleVizs, liveboardV2, vizId, hideTabPanel, activeTabId, hideLiveboardHeader, showLiveboardDescription, showLiveboardTitle, isLiveboardHeaderSticky = true, isLiveboardCompactHeaderEnabled = false, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, hideIrrelevantChipsInLiveboardTabs = false, enableAskSage, enable2ColumnLayout, dataPanelV2 = false, enableCustomColumnGroups = false, oAuthPollingInterval, isForceRedirect, dataSourceId, coverAndFilterOptionInPDF, isLiveboardStylingAndGroupingEnabled, } = this.viewConfig;
17201
17372
  const preventLiveboardFilterRemoval = this.viewConfig.preventLiveboardFilterRemoval
17202
17373
  || this.viewConfig.preventPinboardFilterRemoval;
17203
17374
  if (fullHeight === true) {
@@ -17252,6 +17423,9 @@ class LiveboardEmbed extends V1Embed {
17252
17423
  if (coverAndFilterOptionInPDF !== undefined) {
17253
17424
  params[Param.CoverAndFilterOptionInPDF] = coverAndFilterOptionInPDF;
17254
17425
  }
17426
+ if (isLiveboardStylingAndGroupingEnabled !== undefined) {
17427
+ params[Param.IsLiveboardStylingAndGroupingEnabled] = isLiveboardStylingAndGroupingEnabled;
17428
+ }
17255
17429
  params[Param.LiveboardHeaderSticky] = isLiveboardHeaderSticky;
17256
17430
  params[Param.LiveboardHeaderV2] = isLiveboardCompactHeaderEnabled;
17257
17431
  params[Param.ShowLiveboardVerifiedBadge] = showLiveboardVerifiedBadge;
@@ -18116,7 +18290,7 @@ class SpotterAgentEmbed {
18116
18290
  /**
18117
18291
  * Create a conversation embed, which can be integrated inside
18118
18292
  * chatbots or other conversational interfaces.
18119
- * @deprecated from SDK: 1.38.0 | ThoughtSpot: 10.10.0.cl
18293
+ * @deprecated from SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
18120
18294
  * Use {@link SpotterAgentEmbed} instead
18121
18295
  * @example
18122
18296
  * ```js
@@ -18226,7 +18400,7 @@ class SpotterEmbed extends TsEmbed {
18226
18400
  }
18227
18401
  /**
18228
18402
  * Embed ThoughtSpot AI Conversation.
18229
- * @deprecated from SDK: 1.38.0 | ThoughtSpot: 10.10.0.cl
18403
+ * @deprecated from SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
18230
18404
  * Use {@link SpotterEmbed} instead
18231
18405
  * @group Embed components
18232
18406
  * @example
@@ -18259,6 +18433,8 @@ class ConversationEmbed extends SpotterEmbed {
18259
18433
  /**
18260
18434
  * Embed ThoughtSpot LLM and GPT-based Natural Language Search component.
18261
18435
  * @version: SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl, 9.5.1-sw
18436
+ *
18437
+ * Note: This embed will be deprecated from SDK: 1.40.0 | ThoughtSpot: 10.13.0.cl
18262
18438
  * @group Embed components
18263
18439
  */
18264
18440
  class SageEmbed extends V1Embed {
@@ -18832,4 +19008,4 @@ const createLiveboardWithAnswers = async (answers, name) => {
18832
19008
  return result;
18833
19009
  };
18834
19010
 
18835
- export { Action, AnswerService, AppEmbed, AuthEvent, AuthFailureType, AuthStatus, AuthType, BodylessConversation, ContextMenuTriggerOptions, ConversationEmbed, DataSourceVisualMode, EmbedEvent, HomeLeftNavItem, HomePage, HomePageSearchBarMode, HomepageModule, HostEvent, ListPageColumns, LiveboardEmbed, LogLevel, MIXPANEL_EVENT, Page, PinboardEmbed, PrefetchFeatures, PrimaryNavbarVersion, RuntimeFilterOp, SageEmbed, SearchBarEmbed, SearchEmbed, SpotterAgentEmbed, SpotterEmbed, UIPassthroughEvent, createLiveboardWithAnswers, executeTML, exportTML, getAnswerFromQuery, getEmbedConfig as getInitConfig, getSessionInfo, init, logout, prefetch, resetCachedAuthToken, tokenizedFetch, uploadMixpanelEvent };
19011
+ export { Action, AnswerService, AppEmbed, AuthEvent, AuthFailureType, AuthStatus, AuthType, BodylessConversation, ContextMenuTriggerOptions, ConversationEmbed, DataPanelCustomColumnGroupsAccordionState$1 as DataPanelCustomColumnGroupsAccordionState, DataSourceVisualMode, EmbedEvent, HomeLeftNavItem, HomePage, HomePageSearchBarMode, HomepageModule, HostEvent, ListPageColumns, LiveboardEmbed, LogLevel, MIXPANEL_EVENT, Page, PinboardEmbed, PrefetchFeatures, PrimaryNavbarVersion, RuntimeFilterOp, SageEmbed, SearchBarEmbed, SearchEmbed, SpotterAgentEmbed, SpotterEmbed, UIPassthroughEvent, createLiveboardWithAnswers, executeTML, exportTML, getAnswerFromQuery, getEmbedConfig as getInitConfig, getSessionInfo, init, logout, prefetch, resetCachedAuthToken, tokenizedFetch, uploadMixpanelEvent };