@thoughtspot/visual-embed-sdk 1.39.2-alpha.1 → 1.39.2-alpha.2

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 (170) hide show
  1. package/cjs/package.json +1 -1
  2. package/cjs/src/config.spec.js +9 -0
  3. package/cjs/src/config.spec.js.map +1 -1
  4. package/cjs/src/embed/app.d.ts +75 -15
  5. package/cjs/src/embed/app.d.ts.map +1 -1
  6. package/cjs/src/embed/app.js +68 -9
  7. package/cjs/src/embed/app.js.map +1 -1
  8. package/cjs/src/embed/app.spec.js +356 -4
  9. package/cjs/src/embed/app.spec.js.map +1 -1
  10. package/cjs/src/embed/bodyless-conversation.d.ts +19 -7
  11. package/cjs/src/embed/bodyless-conversation.d.ts.map +1 -1
  12. package/cjs/src/embed/bodyless-conversation.js +24 -4
  13. package/cjs/src/embed/bodyless-conversation.js.map +1 -1
  14. package/cjs/src/embed/bodyless-conversation.spec.js +8 -190
  15. package/cjs/src/embed/bodyless-conversation.spec.js.map +1 -1
  16. package/cjs/src/embed/conversation.d.ts +2 -60
  17. package/cjs/src/embed/conversation.d.ts.map +1 -1
  18. package/cjs/src/embed/conversation.js +1 -9
  19. package/cjs/src/embed/conversation.js.map +1 -1
  20. package/cjs/src/embed/conversation.spec.js +0 -102
  21. package/cjs/src/embed/conversation.spec.js.map +1 -1
  22. package/cjs/src/embed/liveboard.d.ts +56 -0
  23. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  24. package/cjs/src/embed/liveboard.js +46 -0
  25. package/cjs/src/embed/liveboard.js.map +1 -1
  26. package/cjs/src/embed/liveboard.spec.js +203 -0
  27. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  28. package/cjs/src/errors.d.ts +1 -0
  29. package/cjs/src/errors.d.ts.map +1 -1
  30. package/cjs/src/errors.js +1 -0
  31. package/cjs/src/errors.js.map +1 -1
  32. package/cjs/src/index.d.ts +2 -2
  33. package/cjs/src/index.d.ts.map +1 -1
  34. package/cjs/src/index.js +2 -1
  35. package/cjs/src/index.js.map +1 -1
  36. package/cjs/src/react/all-types-export.d.ts +1 -1
  37. package/cjs/src/react/all-types-export.d.ts.map +1 -1
  38. package/cjs/src/react/all-types-export.js +3 -2
  39. package/cjs/src/react/all-types-export.js.map +1 -1
  40. package/cjs/src/react/index.d.ts +71 -20
  41. package/cjs/src/react/index.d.ts.map +1 -1
  42. package/cjs/src/react/index.js +79 -42
  43. package/cjs/src/react/index.js.map +1 -1
  44. package/cjs/src/react/index.spec.js +436 -100
  45. package/cjs/src/react/index.spec.js.map +1 -1
  46. package/cjs/src/types.d.ts +46 -4
  47. package/cjs/src/types.d.ts.map +1 -1
  48. package/cjs/src/types.js +28 -0
  49. package/cjs/src/types.js.map +1 -1
  50. package/cjs/src/utils/graphql/nlsService/conversation-service.d.ts.map +1 -1
  51. package/cjs/src/utils/graphql/nlsService/conversation-service.js +2 -0
  52. package/cjs/src/utils/graphql/nlsService/conversation-service.js.map +1 -1
  53. package/cjs/src/utils/processTrigger.js +2 -1
  54. package/cjs/src/utils/processTrigger.js.map +1 -1
  55. package/cjs/src/utils.d.ts +6 -0
  56. package/cjs/src/utils.d.ts.map +1 -1
  57. package/cjs/src/utils.js +23 -3
  58. package/cjs/src/utils.js.map +1 -1
  59. package/cjs/src/utils.spec.js +237 -1
  60. package/cjs/src/utils.spec.js.map +1 -1
  61. package/dist/index-e3Uw3YFO.js +7371 -0
  62. package/dist/src/embed/app.d.ts +75 -15
  63. package/dist/src/embed/app.d.ts.map +1 -1
  64. package/dist/src/embed/bodyless-conversation.d.ts +19 -7
  65. package/dist/src/embed/bodyless-conversation.d.ts.map +1 -1
  66. package/dist/src/embed/conversation.d.ts +2 -60
  67. package/dist/src/embed/conversation.d.ts.map +1 -1
  68. package/dist/src/embed/liveboard.d.ts +56 -0
  69. package/dist/src/embed/liveboard.d.ts.map +1 -1
  70. package/dist/src/errors.d.ts +1 -0
  71. package/dist/src/errors.d.ts.map +1 -1
  72. package/dist/src/index.d.ts +2 -2
  73. package/dist/src/index.d.ts.map +1 -1
  74. package/dist/src/react/all-types-export.d.ts +1 -1
  75. package/dist/src/react/all-types-export.d.ts.map +1 -1
  76. package/dist/src/react/index.d.ts +71 -20
  77. package/dist/src/react/index.d.ts.map +1 -1
  78. package/dist/src/types.d.ts +46 -4
  79. package/dist/src/types.d.ts.map +1 -1
  80. package/dist/src/utils/graphql/nlsService/conversation-service.d.ts.map +1 -1
  81. package/dist/src/utils.d.ts +6 -0
  82. package/dist/src/utils.d.ts.map +1 -1
  83. package/dist/tsembed-react.es.js +276 -74
  84. package/dist/tsembed-react.js +276 -72
  85. package/dist/tsembed.es.js +194 -27
  86. package/dist/tsembed.js +192 -25
  87. package/dist/visual-embed-sdk-react-full.d.ts +246 -105
  88. package/dist/visual-embed-sdk-react.d.ts +246 -105
  89. package/dist/visual-embed-sdk.d.ts +176 -86
  90. package/lib/package.json +1 -1
  91. package/lib/src/config.spec.js +9 -0
  92. package/lib/src/config.spec.js.map +1 -1
  93. package/lib/src/embed/app.d.ts +75 -15
  94. package/lib/src/embed/app.d.ts.map +1 -1
  95. package/lib/src/embed/app.js +68 -9
  96. package/lib/src/embed/app.js.map +1 -1
  97. package/lib/src/embed/app.spec.js +357 -5
  98. package/lib/src/embed/app.spec.js.map +1 -1
  99. package/lib/src/embed/bodyless-conversation.d.ts +19 -7
  100. package/lib/src/embed/bodyless-conversation.d.ts.map +1 -1
  101. package/lib/src/embed/bodyless-conversation.js +23 -4
  102. package/lib/src/embed/bodyless-conversation.js.map +1 -1
  103. package/lib/src/embed/bodyless-conversation.spec.js +9 -191
  104. package/lib/src/embed/bodyless-conversation.spec.js.map +1 -1
  105. package/lib/src/embed/conversation.d.ts +2 -60
  106. package/lib/src/embed/conversation.d.ts.map +1 -1
  107. package/lib/src/embed/conversation.js +2 -10
  108. package/lib/src/embed/conversation.js.map +1 -1
  109. package/lib/src/embed/conversation.spec.js +2 -104
  110. package/lib/src/embed/conversation.spec.js.map +1 -1
  111. package/lib/src/embed/liveboard.d.ts +56 -0
  112. package/lib/src/embed/liveboard.d.ts.map +1 -1
  113. package/lib/src/embed/liveboard.js +47 -1
  114. package/lib/src/embed/liveboard.js.map +1 -1
  115. package/lib/src/embed/liveboard.spec.js +203 -0
  116. package/lib/src/embed/liveboard.spec.js.map +1 -1
  117. package/lib/src/errors.d.ts +1 -0
  118. package/lib/src/errors.d.ts.map +1 -1
  119. package/lib/src/errors.js +1 -0
  120. package/lib/src/errors.js.map +1 -1
  121. package/lib/src/index.d.ts +2 -2
  122. package/lib/src/index.d.ts.map +1 -1
  123. package/lib/src/index.js +2 -2
  124. package/lib/src/index.js.map +1 -1
  125. package/lib/src/react/all-types-export.d.ts +1 -1
  126. package/lib/src/react/all-types-export.d.ts.map +1 -1
  127. package/lib/src/react/all-types-export.js +1 -1
  128. package/lib/src/react/all-types-export.js.map +1 -1
  129. package/lib/src/react/index.d.ts +71 -20
  130. package/lib/src/react/index.d.ts.map +1 -1
  131. package/lib/src/react/index.js +79 -43
  132. package/lib/src/react/index.js.map +1 -1
  133. package/lib/src/react/index.spec.js +439 -103
  134. package/lib/src/react/index.spec.js.map +1 -1
  135. package/lib/src/types.d.ts +46 -4
  136. package/lib/src/types.d.ts.map +1 -1
  137. package/lib/src/types.js +28 -0
  138. package/lib/src/types.js.map +1 -1
  139. package/lib/src/utils/graphql/nlsService/conversation-service.d.ts.map +1 -1
  140. package/lib/src/utils/graphql/nlsService/conversation-service.js +2 -0
  141. package/lib/src/utils/graphql/nlsService/conversation-service.js.map +1 -1
  142. package/lib/src/utils/processTrigger.js +2 -1
  143. package/lib/src/utils/processTrigger.js.map +1 -1
  144. package/lib/src/utils.d.ts +6 -0
  145. package/lib/src/utils.d.ts.map +1 -1
  146. package/lib/src/utils.js +21 -2
  147. package/lib/src/utils.js.map +1 -1
  148. package/lib/src/utils.spec.js +238 -2
  149. package/lib/src/utils.spec.js.map +1 -1
  150. package/lib/src/visual-embed-sdk.d.ts +178 -88
  151. package/package.json +1 -1
  152. package/src/config.spec.ts +11 -0
  153. package/src/embed/app.spec.ts +444 -4
  154. package/src/embed/app.ts +131 -27
  155. package/src/embed/bodyless-conversation.spec.ts +9 -203
  156. package/src/embed/bodyless-conversation.ts +24 -10
  157. package/src/embed/conversation.spec.ts +5 -131
  158. package/src/embed/conversation.ts +10 -82
  159. package/src/embed/liveboard.spec.ts +251 -1
  160. package/src/embed/liveboard.ts +97 -5
  161. package/src/errors.ts +1 -0
  162. package/src/index.ts +2 -0
  163. package/src/react/all-types-export.ts +2 -1
  164. package/src/react/index.spec.tsx +556 -157
  165. package/src/react/index.tsx +117 -51
  166. package/src/types.ts +42 -0
  167. package/src/utils/graphql/nlsService/conversation-service.ts +2 -0
  168. package/src/utils/processTrigger.ts +1 -1
  169. package/src/utils.spec.ts +279 -2
  170. package/src/utils.ts +28 -2
@@ -11,7 +11,7 @@ declare module '@thoughtspot/visual-embed-sdk' {
11
11
  * @summary ThoughtSpot Visual Embed SDK
12
12
  * @author Ayon Ghosh <ayon.ghosh@thoughtspot.com>
13
13
  */
14
- import { AppEmbed, Page, AppViewConfig, HomePageSearchBarMode, PrimaryNavbarVersion, HomePage, DataPanelCustomColumnGroupsAccordionState } from '@thoughtspot/visual-embed-sdk/embed/app';
14
+ import { AppEmbed, Page, AppViewConfig, HomePageSearchBarMode, PrimaryNavbarVersion, HomePage, ListPage, DataPanelCustomColumnGroupsAccordionState } from '@thoughtspot/visual-embed-sdk/embed/app';
15
15
  import { init, prefetch, logout, executeTML, exportTML, executeTMLInput, exportTMLInput } from '@thoughtspot/visual-embed-sdk/embed/base';
16
16
  import { PinboardEmbed, LiveboardViewConfig, LiveboardEmbed } from '@thoughtspot/visual-embed-sdk/embed/liveboard';
17
17
  import { SearchEmbed, SearchViewConfig } from '@thoughtspot/visual-embed-sdk/embed/search';
@@ -30,7 +30,7 @@ declare module '@thoughtspot/visual-embed-sdk' {
30
30
  import { getAnswerFromQuery } from '@thoughtspot/visual-embed-sdk/utils/graphql/nlsService/nls-answer-service';
31
31
  import { createLiveboardWithAnswers } from '@thoughtspot/visual-embed-sdk/utils/liveboardService/liveboardService';
32
32
  import { UIPassthroughEvent } from '@thoughtspot/visual-embed-sdk/embed/hostEventClient/contracts';
33
- export { init, logout, prefetch, executeTML, exportTML, executeTMLInput, exportTMLInput, getEmbedConfig as getInitConfig, getSessionInfo, tokenizedFetch, getAnswerFromQuery, createLiveboardWithAnswers, SearchEmbed, SearchBarEmbed, PinboardEmbed, LiveboardEmbed, SageEmbed, AppEmbed, SpotterAgentEmbed, SpotterAgentEmbedViewConfig, BodylessConversationViewConfig, BodylessConversation, SpotterEmbed, SpotterEmbedViewConfig, ConversationViewConfig, ConversationEmbed, AuthFailureType, AuthStatus, AuthEvent, AuthEventEmitter, AnswerService, SessionInterface, UnderlyingDataPoint, Page, AuthType, RuntimeFilter, RuntimeFilterOp, EmbedEvent, HostEvent, DataSourceVisualMode, Action, ContextMenuTriggerOptions, EmbedConfig, SearchViewConfig, SearchBarViewConfig, LiveboardViewConfig, SageViewConfig, AppViewConfig, PrefetchFeatures, FrameParams, HomeLeftNavItem, HomepageModule, DOMSelector, MessageOptions, MessageCallback, MessagePayload, CustomisationsInterface, CustomStyles, customCssInterface, CustomCssVariables, RuntimeParameter, LogLevel, uploadMixpanelEvent, MIXPANEL_EVENT, HomePageSearchBarMode, PrimaryNavbarVersion, HomePage, VizPoint, CustomActionPayload, UIPassthroughEvent, ListPageColumns, DataPanelCustomColumnGroupsAccordionState, };
33
+ export { init, logout, prefetch, executeTML, exportTML, executeTMLInput, exportTMLInput, getEmbedConfig as getInitConfig, getSessionInfo, tokenizedFetch, getAnswerFromQuery, createLiveboardWithAnswers, SearchEmbed, SearchBarEmbed, PinboardEmbed, LiveboardEmbed, SageEmbed, AppEmbed, SpotterAgentEmbed, SpotterAgentEmbedViewConfig, BodylessConversationViewConfig, BodylessConversation, SpotterEmbed, SpotterEmbedViewConfig, ConversationViewConfig, ConversationEmbed, AuthFailureType, AuthStatus, AuthEvent, AuthEventEmitter, AnswerService, SessionInterface, UnderlyingDataPoint, Page, AuthType, RuntimeFilter, RuntimeFilterOp, EmbedEvent, HostEvent, DataSourceVisualMode, Action, ContextMenuTriggerOptions, EmbedConfig, SearchViewConfig, SearchBarViewConfig, LiveboardViewConfig, SageViewConfig, AppViewConfig, PrefetchFeatures, FrameParams, HomeLeftNavItem, HomepageModule, DOMSelector, MessageOptions, MessageCallback, MessagePayload, CustomisationsInterface, CustomStyles, customCssInterface, CustomCssVariables, RuntimeParameter, LogLevel, uploadMixpanelEvent, MIXPANEL_EVENT, HomePageSearchBarMode, PrimaryNavbarVersion, HomePage, ListPage, VizPoint, CustomActionPayload, UIPassthroughEvent, ListPageColumns, DataPanelCustomColumnGroupsAccordionState, };
34
34
  export { resetCachedAuthToken } from '@thoughtspot/visual-embed-sdk/authToken';
35
35
  }
36
36
 
@@ -129,6 +129,21 @@ declare module '@thoughtspot/visual-embed-sdk/embed/app' {
129
129
  */
130
130
  Modular = "v2"
131
131
  }
132
+ /**
133
+ * Define the version of the list page
134
+ * @version SDK: 1.40.0 | ThoughtSpot: 10.12.0.cl
135
+ */
136
+ export enum ListPage {
137
+ /**
138
+ * List (v2) is the traditional List Experience.
139
+ * It serves as the foundational version of the list page.
140
+ */
141
+ List = "v2",
142
+ /**
143
+ * ListWithUXChanges (v3) introduces the new updated list page with UX changes.
144
+ */
145
+ ListWithUXChanges = "v3"
146
+ }
132
147
  /**
133
148
  * Define the discovery experience
134
149
  * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
@@ -142,6 +157,10 @@ declare module '@thoughtspot/visual-embed-sdk/embed/app' {
142
157
  * homePage determines the version of the home page.
143
158
  */
144
159
  homePage?: HomePage;
160
+ /**
161
+ * listPageVersion determines the version of the list page.
162
+ */
163
+ listPageVersion?: ListPage;
145
164
  }
146
165
  /**
147
166
  * The view configuration for full app embedding.
@@ -513,21 +532,6 @@ declare module '@thoughtspot/visual-embed-sdk/embed/app' {
513
532
  * ```
514
533
  */
515
534
  isUnifiedSearchExperienceEnabled?: boolean;
516
- /**
517
- * Show alert messages and toast messages in the embedded
518
- * view in full app embed.
519
- *
520
- * Supported embed types: `AppEmbed`
521
- * @version SDK: 1.11.0 | ThoughtSpot: 8.3.0.cl, 8.4.1.sw
522
- * @example
523
- * ```js
524
- * const embed = new AppEmbed('#tsEmbed', {
525
- * ... // other embed view config
526
- * showAlerts:true,
527
- * })
528
- * ```
529
- */
530
- showAlerts?: boolean;
531
535
  /**
532
536
  * This flag is used to enable/disable the styling and grouping in a Liveboard
533
537
  *
@@ -544,6 +548,46 @@ declare module '@thoughtspot/visual-embed-sdk/embed/app' {
544
548
  * ```
545
549
  */
546
550
  isLiveboardStylingAndGroupingEnabled?: boolean;
551
+ /**
552
+ * This flag is used to enable the full height lazy load data.
553
+ *
554
+ * @example
555
+ * ```js
556
+ * const embed = new AppEmbed('#embed-container', {
557
+ * // ...other options
558
+ * fullHeight: true,
559
+ * lazyLoadingForFullHeight: true,
560
+ * })
561
+ * ```
562
+ *
563
+ * @type {boolean}
564
+ * @default false
565
+ * @version SDK: 1.39.0 | ThoughtSpot:10.10.0.cl
566
+ */
567
+ lazyLoadingForFullHeight?: boolean;
568
+ /**
569
+ * The margin to be used for lazy loading.
570
+ *
571
+ * For example, if the margin is set to '10px',
572
+ * the visualization will be loaded 10px before the its top edge is visible in the
573
+ * viewport.
574
+ *
575
+ * The format is similar to CSS margin.
576
+ *
577
+ * @example
578
+ * ```js
579
+ * const embed = new AppEmbed('#embed-container', {
580
+ * // ...other options
581
+ * fullHeight: true,
582
+ * lazyLoadingForFullHeight: true,
583
+ * // Using 0px, the visualization will be only loaded when its visible in the viewport.
584
+ * lazyLoadingMargin: '0px',
585
+ * })
586
+ * ```
587
+ * @type {string}
588
+ * @version SDK: 1.39.0 | ThoughtSpot:10.10.0.cl
589
+ */
590
+ lazyLoadingMargin?: string;
547
591
  }
548
592
  /**
549
593
  * Embeds full ThoughtSpot experience in a host application.
@@ -580,6 +624,11 @@ declare module '@thoughtspot/visual-embed-sdk/embed/app' {
580
624
  * @version SDK: 1.12.0 | ThoughtSpot: 8.4.0.cl, 8.4.1-sw
581
625
  */
582
626
  navigateToPage(path: string | number, noReload?: boolean): void;
627
+ /**
628
+ * Destroys the ThoughtSpot embed, and remove any nodes from the DOM.
629
+ * @version SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
630
+ */
631
+ destroy(): void;
583
632
  /**
584
633
  * Renders the embedded application pages in the ThoughtSpot app.
585
634
  * @param renderOptions An object containing the page ID
@@ -1040,6 +1089,46 @@ declare module '@thoughtspot/visual-embed-sdk/embed/liveboard' {
1040
1089
  * ```
1041
1090
  */
1042
1091
  isLiveboardStylingAndGroupingEnabled?: boolean;
1092
+ /**
1093
+ * This flag is used to enable the full height lazy load data.
1094
+ *
1095
+ * @example
1096
+ * ```js
1097
+ * const embed = new LiveboardEmbed('#embed-container', {
1098
+ * // ...other options
1099
+ * fullHeight: true,
1100
+ * lazyLoadingForFullHeight: true,
1101
+ * })
1102
+ * ```
1103
+ *
1104
+ * @type {boolean}
1105
+ * @default false
1106
+ * @version SDK: 1.39.0 | ThoughtSpot:10.10.0.cl
1107
+ */
1108
+ lazyLoadingForFullHeight?: boolean;
1109
+ /**
1110
+ * The margin to be used for lazy loading.
1111
+ *
1112
+ * For example, if the margin is set to '10px',
1113
+ * the visualization will be loaded 10px before the its top edge is visible in the
1114
+ * viewport.
1115
+ *
1116
+ * The format is similar to CSS margin.
1117
+ *
1118
+ * @example
1119
+ * ```js
1120
+ * const embed = new LiveboardEmbed('#embed-container', {
1121
+ * // ...other options
1122
+ * fullHeight: true,
1123
+ * lazyLoadingForFullHeight: true,
1124
+ * // Using 0px, the visualization will be only loaded when its visible in the viewport.
1125
+ * lazyLoadingMargin: '0px',
1126
+ * })
1127
+ * ```
1128
+ * @type {string}
1129
+ * @version SDK: 1.39.0 | ThoughtSpot:10.10.0.cl
1130
+ */
1131
+ lazyLoadingMargin?: string;
1043
1132
  }
1044
1133
  /**
1045
1134
  * Embed a ThoughtSpot Liveboard or visualization. When rendered it already
@@ -1073,6 +1162,11 @@ declare module '@thoughtspot/visual-embed-sdk/embed/liveboard' {
1073
1162
  * @returns A promise that resolves with the response from the embedded app
1074
1163
  */
1075
1164
  trigger<HostEventT extends HostEvent, PayloadT>(messageType: HostEventT, data?: TriggerPayload<PayloadT, HostEventT>): Promise<TriggerResponse<PayloadT, HostEventT>>;
1165
+ /**
1166
+ * Destroys the ThoughtSpot embed, and remove any nodes from the DOM.
1167
+ * @version SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
1168
+ */
1169
+ destroy(): void;
1076
1170
  /**
1077
1171
  * Render an embedded ThoughtSpot Liveboard or visualization
1078
1172
  * @param renderOptions An object specifying the Liveboard ID,
@@ -1564,10 +1658,6 @@ declare module '@thoughtspot/visual-embed-sdk/embed/bodyless-conversation' {
1564
1658
  * The ID of the worksheet to use for the conversation.
1565
1659
  */
1566
1660
  worksheetId: string;
1567
- /**
1568
- * Optional CSS class name to add to the container div.
1569
- */
1570
- containerClassName?: string;
1571
1661
  }
1572
1662
  /**
1573
1663
  * Configuration for conversation options.
@@ -1577,13 +1667,13 @@ declare module '@thoughtspot/visual-embed-sdk/embed/bodyless-conversation' {
1577
1667
  */
1578
1668
  export interface BodylessConversationViewConfig extends SpotterAgentEmbedViewConfig {
1579
1669
  }
1580
- interface SpotterAgentMessageViewConfig extends SpotterAgentEmbedViewConfig {
1670
+ export interface SpotterAgentMessageViewConfig extends SpotterAgentEmbedViewConfig {
1581
1671
  sessionId: string;
1582
1672
  genNo: number;
1583
1673
  acSessionId: string;
1584
1674
  acGenNo: number;
1585
1675
  }
1586
- class ConversationMessage extends TsEmbed {
1676
+ export class ConversationMessage extends TsEmbed {
1587
1677
  protected viewConfig: SpotterAgentMessageViewConfig;
1588
1678
  constructor(container: HTMLElement, viewConfig: SpotterAgentMessageViewConfig);
1589
1679
  getIframeSrc(): string;
@@ -1619,6 +1709,23 @@ declare module '@thoughtspot/visual-embed-sdk/embed/bodyless-conversation' {
1619
1709
  viz: ConversationMessage;
1620
1710
  error?: undefined;
1621
1711
  }>;
1712
+ /**
1713
+ * Send a message to the conversation service and return only the data.
1714
+ * @param userMessage - The message to send to the conversation service.
1715
+ * @returns The data from the conversation service.
1716
+ */
1717
+ sendMessageData(userMessage: string): Promise<{
1718
+ error: any;
1719
+ data?: undefined;
1720
+ } | {
1721
+ data: {
1722
+ sessionId: any;
1723
+ genNo: any;
1724
+ acSessionId: any;
1725
+ acGenNo: any;
1726
+ };
1727
+ error?: undefined;
1728
+ }>;
1622
1729
  }
1623
1730
  /**
1624
1731
  * Create a conversation embed, which can be integrated inside
@@ -1643,11 +1750,10 @@ declare module '@thoughtspot/visual-embed-sdk/embed/bodyless-conversation' {
1643
1750
  export class BodylessConversation extends SpotterAgentEmbed {
1644
1751
  constructor(viewConfig: BodylessConversationViewConfig);
1645
1752
  }
1646
- export {};
1647
1753
  }
1648
1754
 
1649
1755
  declare module '@thoughtspot/visual-embed-sdk/embed/conversation' {
1650
- import { BaseViewConfig, RuntimeFilter, RuntimeParameter } from '@thoughtspot/visual-embed-sdk/types';
1756
+ import { BaseViewConfig } from '@thoughtspot/visual-embed-sdk/types';
1651
1757
  import { TsEmbed } from '@thoughtspot/visual-embed-sdk/embed/ts-embed';
1652
1758
  /**
1653
1759
  * Configuration for search options
@@ -1664,8 +1770,7 @@ declare module '@thoughtspot/visual-embed-sdk/embed/conversation' {
1664
1770
  */
1665
1771
  export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAction'> {
1666
1772
  /**
1667
- * The ID of the data source object. For example, Model, View, or Table. Spotter uses
1668
- * this object to query data and generate Answers.
1773
+ * The ID of the data source object. For example, Model, View, or Table. Spotter uses this object to query data and generate Answers.
1669
1774
  */
1670
1775
  worksheetId: string;
1671
1776
  /**
@@ -1748,63 +1853,6 @@ declare module '@thoughtspot/visual-embed-sdk/embed/conversation' {
1748
1853
  * @version SDK: 1.36.0 | ThoughtSpot: 10.6.0.cl
1749
1854
  */
1750
1855
  hideSampleQuestions?: boolean;
1751
- /**
1752
- * The list of runtime filters to apply to a search Answer,
1753
- * visualization, or Liveboard.
1754
- *
1755
- * Supported embed types: `SpotterEmbed`
1756
- * @example
1757
- * ```js
1758
- * const embed = new SpotterEmbed('#tsEmbed', {
1759
- * ... // other embed view config
1760
- * runtimeFilters: [
1761
- * {
1762
- * columnName: 'value',
1763
- * operator: RuntimeFilterOp.EQ,
1764
- * values: ['string' | 123 | true],
1765
- * },
1766
- * ],
1767
- * })
1768
- * ```
1769
- */
1770
- runtimeFilters?: RuntimeFilter[];
1771
- /**
1772
- * Flag to control whether runtime filters should be included in the URL.
1773
- * If true, filters will be passed via app initialization payload instead.
1774
- * If false/undefined, filters will be added to URL (default behavior).
1775
- *
1776
- * Supported embed types: `SpotterEmbed`
1777
- * @default false
1778
- */
1779
- excludeRuntimeFiltersfromURL?: boolean;
1780
- /**
1781
- * The list of runtime parameters to apply to the conversation.
1782
- *
1783
- * Supported embed types: `SpotterEmbed`
1784
- * @example
1785
- * ```js
1786
- * const embed = new SpotterEmbed('#tsEmbed', {
1787
- * ... // other embed view config
1788
- * runtimeParameters: [
1789
- * {
1790
- * name: 'Parameter Name',
1791
- * value: 'Parameter Value',
1792
- * },
1793
- * ],
1794
- * })
1795
- * ```
1796
- */
1797
- runtimeParameters?: RuntimeParameter[];
1798
- /**
1799
- * Flag to control whether runtime parameters should be included in the URL.
1800
- * If true, parameters will be passed via app initialization payload instead.
1801
- * If false/undefined, parameters will be added to URL (default behavior).
1802
- *
1803
- * Supported embed types: `SpotterEmbed`
1804
- * @default false
1805
- *
1806
- */
1807
- excludeRuntimeParametersfromURL?: boolean;
1808
1856
  }
1809
1857
  /**
1810
1858
  * The configuration for the embedded spotterEmbed options.
@@ -2363,7 +2411,13 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
2363
2411
  * available when new navigation V3 is enabled.
2364
2412
  * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
2365
2413
  */
2366
- Spotter = "spotter"
2414
+ Spotter = "spotter",
2415
+ /**
2416
+ * Favorites option in the insights left navigation,
2417
+ * available when new navigation V3 is enabled.
2418
+ * @version SDK: 1.41.0 | ThoughtSpot: 10.12.0.cl
2419
+ */
2420
+ Favorites = "favorites"
2367
2421
  }
2368
2422
  export type DOMSelector = string | HTMLElement;
2369
2423
  /**
@@ -3129,6 +3183,20 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
3129
3183
  * @private
3130
3184
  */
3131
3185
  insertInToSlide?: boolean;
3186
+ /**
3187
+ * Show alert messages and toast messages in the embed.
3188
+ * Supported embed in all embed types.
3189
+ *
3190
+ * @version SDK: 1.11.0 | ThoughtSpot: 8.3.0.cl, 8.4.1.sw
3191
+ * @example
3192
+ * ```js
3193
+ * const embed = new AppEmbed('#tsEmbed', {
3194
+ * ... // other embed view config
3195
+ * showAlerts:true,
3196
+ * })
3197
+ * ```
3198
+ */
3199
+ showAlerts?: boolean;
3132
3200
  }
3133
3201
  /**
3134
3202
  * The configuration object for Home page embeds configs.
@@ -4781,7 +4849,13 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
4781
4849
  * Emitted when a user exits present mode.
4782
4850
  * @version SDK : 1.40.0 | ThoughtSpot: 10.11.0.cl
4783
4851
  */
4784
- ExitPresentMode = "exitPresentMode"
4852
+ ExitPresentMode = "exitPresentMode",
4853
+ /**
4854
+ * Emitted when a user requests the full height lazy load data.
4855
+ * @version SDK : 1.39.0 | ThoughtSpot : 10.10.0.cl
4856
+ * @hidden
4857
+ */
4858
+ RequestVisibleEmbedCoordinates = "requestVisibleEmbedCoordinates"
4785
4859
  }
4786
4860
  /**
4787
4861
  * Event types that can be triggered by the host application
@@ -5863,7 +5937,20 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5863
5937
  *```
5864
5938
  * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
5865
5939
  */
5866
- ExitPresentMode = "exitPresentMode"
5940
+ ExitPresentMode = "exitPresentMode",
5941
+ /**
5942
+ * Triggers the full height lazy load data.
5943
+ * @example
5944
+ * ```js
5945
+ * liveboardEmbed.on(EmbedEvent.RequestVisibleEmbedCoordinates, (payload) => {
5946
+ * console.log(payload);
5947
+ * });
5948
+ * ```
5949
+ * @version SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
5950
+ *
5951
+ * @hidden
5952
+ */
5953
+ VisibleEmbedCoordinates = "visibleEmbedCoordinates"
5867
5954
  }
5868
5955
  /**
5869
5956
  * The different visual modes that the data sources panel within
@@ -5959,6 +6046,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5959
6046
  Query = "query",
5960
6047
  HideHomepageLeftNav = "hideHomepageLeftNav",
5961
6048
  ModularHomeExperienceEnabled = "modularHomeExperience",
6049
+ ListPageVersion = "listpageVersion",
5962
6050
  PendoTrackingKey = "additionalPendoKey",
5963
6051
  LiveboardHeaderSticky = "isLiveboardHeaderSticky",
5964
6052
  IsProductTour = "isProductTour",
@@ -5996,7 +6084,9 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5996
6084
  CoverAndFilterOptionInPDF = "arePdfCoverFilterPageCheckboxesEnabled",
5997
6085
  PrimaryAction = "primaryAction",
5998
6086
  isSpotterAgentEmbed = "isSpotterAgentEmbed",
5999
- IsLiveboardStylingAndGroupingEnabled = "isLiveboardStylingAndGroupingEnabled"
6087
+ IsLiveboardStylingAndGroupingEnabled = "isLiveboardStylingAndGroupingEnabled",
6088
+ IsLazyLoadingForEmbedEnabled = "isLazyLoadingForEmbedEnabled",
6089
+ RootMarginForLazyLoad = "rootMarginForLazyLoad"
6000
6090
  }
6001
6091
  /**
6002
6092
  * ThoughtSpot application pages include actions and menu commands
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thoughtspot/visual-embed-sdk",
3
- "version": "1.39.2-alpha.1",
3
+ "version": "1.39.2-alpha.2",
4
4
  "description": "ThoughtSpot Embed SDK",
5
5
  "module": "lib/src/index.js",
6
6
  "main": "dist/tsembed.js",
@@ -21,6 +21,17 @@ describe('getThoughtSpotHost', () => {
21
21
  expect(testFn).toThrow(Error);
22
22
  });
23
23
 
24
+ test('invalid URL format', () => {
25
+ const testFn = () => {
26
+ getThoughtSpotHost({
27
+ ...embedConfig,
28
+ thoughtSpotHost: '',
29
+ });
30
+ };
31
+
32
+ expect(testFn).toThrow('Error parsing ThoughtSpot host. Please provide a valid URL.');
33
+ });
34
+
24
35
  test('IP address/hostname only', () => {
25
36
  expect(
26
37
  getThoughtSpotHost({