@thoughtspot/visual-embed-sdk 1.51.0 → 1.51.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 (228) hide show
  1. package/cjs/package.json +1 -1
  2. package/cjs/src/config.d.ts +1 -0
  3. package/cjs/src/config.d.ts.map +1 -1
  4. package/cjs/src/config.js +2 -1
  5. package/cjs/src/config.js.map +1 -1
  6. package/cjs/src/css-variables.d.ts +27 -0
  7. package/cjs/src/css-variables.d.ts.map +1 -1
  8. package/cjs/src/embed/app.d.ts +43 -12
  9. package/cjs/src/embed/app.d.ts.map +1 -1
  10. package/cjs/src/embed/app.js +29 -3
  11. package/cjs/src/embed/app.js.map +1 -1
  12. package/cjs/src/embed/app.spec.js +253 -1
  13. package/cjs/src/embed/app.spec.js.map +1 -1
  14. package/cjs/src/embed/base.d.ts +1 -1
  15. package/cjs/src/embed/base.js +1 -1
  16. package/cjs/src/embed/conversation.d.ts +171 -1
  17. package/cjs/src/embed/conversation.d.ts.map +1 -1
  18. package/cjs/src/embed/conversation.js +4 -2
  19. package/cjs/src/embed/conversation.js.map +1 -1
  20. package/cjs/src/embed/conversation.spec.js +125 -0
  21. package/cjs/src/embed/conversation.spec.js.map +1 -1
  22. package/cjs/src/embed/events.spec.js +3 -0
  23. package/cjs/src/embed/events.spec.js.map +1 -1
  24. package/cjs/src/embed/host-events.spec.js +36 -0
  25. package/cjs/src/embed/host-events.spec.js.map +1 -1
  26. package/cjs/src/embed/hostEventClient/host-event-client.d.ts +1 -1
  27. package/cjs/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  28. package/cjs/src/embed/hostEventClient/host-event-client.spec.js +18 -0
  29. package/cjs/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  30. package/cjs/src/embed/liveboard.d.ts +40 -13
  31. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  32. package/cjs/src/embed/liveboard.js +25 -4
  33. package/cjs/src/embed/liveboard.js.map +1 -1
  34. package/cjs/src/embed/liveboard.spec.js +349 -2
  35. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  36. package/cjs/src/embed/search.spec.js +28 -0
  37. package/cjs/src/embed/search.spec.js.map +1 -1
  38. package/cjs/src/embed/spotter-utils.d.ts +8 -1
  39. package/cjs/src/embed/spotter-utils.d.ts.map +1 -1
  40. package/cjs/src/embed/spotter-utils.js +15 -1
  41. package/cjs/src/embed/spotter-utils.js.map +1 -1
  42. package/cjs/src/embed/spotter-utils.spec.js +68 -0
  43. package/cjs/src/embed/spotter-utils.spec.js.map +1 -1
  44. package/cjs/src/embed/spotter-viz-utils.d.ts +9 -10
  45. package/cjs/src/embed/spotter-viz-utils.d.ts.map +1 -1
  46. package/cjs/src/embed/spotter-viz-utils.js.map +1 -1
  47. package/cjs/src/embed/ts-embed.d.ts +97 -9
  48. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  49. package/cjs/src/embed/ts-embed.js +76 -35
  50. package/cjs/src/embed/ts-embed.js.map +1 -1
  51. package/cjs/src/embed/ts-embed.spec.js +537 -3
  52. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  53. package/cjs/src/index.d.ts +3 -3
  54. package/cjs/src/index.d.ts.map +1 -1
  55. package/cjs/src/index.js +3 -2
  56. package/cjs/src/index.js.map +1 -1
  57. package/cjs/src/react/all-types-export.d.ts +1 -1
  58. package/cjs/src/react/all-types-export.d.ts.map +1 -1
  59. package/cjs/src/react/all-types-export.js +2 -1
  60. package/cjs/src/react/all-types-export.js.map +1 -1
  61. package/cjs/src/react/all-types-export.parity.spec.d.ts +2 -0
  62. package/cjs/src/react/all-types-export.parity.spec.d.ts.map +1 -0
  63. package/cjs/src/react/all-types-export.parity.spec.js +194 -0
  64. package/cjs/src/react/all-types-export.parity.spec.js.map +1 -0
  65. package/cjs/src/react/index.d.ts +66 -32
  66. package/cjs/src/react/index.d.ts.map +1 -1
  67. package/cjs/src/react/index.js +5 -3
  68. package/cjs/src/react/index.js.map +1 -1
  69. package/cjs/src/react/index.spec.js +101 -0
  70. package/cjs/src/react/index.spec.js.map +1 -1
  71. package/cjs/src/types.d.ts +330 -18
  72. package/cjs/src/types.d.ts.map +1 -1
  73. package/cjs/src/types.js +182 -12
  74. package/cjs/src/types.js.map +1 -1
  75. package/cjs/src/utils.d.ts +5 -0
  76. package/cjs/src/utils.d.ts.map +1 -1
  77. package/cjs/src/utils.js +19 -1
  78. package/cjs/src/utils.js.map +1 -1
  79. package/cjs/src/utils.spec.js +37 -0
  80. package/cjs/src/utils.spec.js.map +1 -1
  81. package/dist/{index-aBzH5ZwF.js → index-D8_Zs-Nr.js} +1 -1
  82. package/dist/src/config.d.ts +1 -0
  83. package/dist/src/config.d.ts.map +1 -1
  84. package/dist/src/css-variables.d.ts +27 -0
  85. package/dist/src/css-variables.d.ts.map +1 -1
  86. package/dist/src/embed/app.d.ts +43 -12
  87. package/dist/src/embed/app.d.ts.map +1 -1
  88. package/dist/src/embed/base.d.ts +1 -1
  89. package/dist/src/embed/conversation.d.ts +171 -1
  90. package/dist/src/embed/conversation.d.ts.map +1 -1
  91. package/dist/src/embed/hostEventClient/host-event-client.d.ts +1 -1
  92. package/dist/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  93. package/dist/src/embed/liveboard.d.ts +40 -13
  94. package/dist/src/embed/liveboard.d.ts.map +1 -1
  95. package/dist/src/embed/spotter-utils.d.ts +8 -1
  96. package/dist/src/embed/spotter-utils.d.ts.map +1 -1
  97. package/dist/src/embed/spotter-viz-utils.d.ts +9 -10
  98. package/dist/src/embed/spotter-viz-utils.d.ts.map +1 -1
  99. package/dist/src/embed/ts-embed.d.ts +97 -9
  100. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  101. package/dist/src/index.d.ts +3 -3
  102. package/dist/src/index.d.ts.map +1 -1
  103. package/dist/src/react/all-types-export.d.ts +1 -1
  104. package/dist/src/react/all-types-export.d.ts.map +1 -1
  105. package/dist/src/react/all-types-export.parity.spec.d.ts +2 -0
  106. package/dist/src/react/all-types-export.parity.spec.d.ts.map +1 -0
  107. package/dist/src/react/index.d.ts +66 -32
  108. package/dist/src/react/index.d.ts.map +1 -1
  109. package/dist/src/types.d.ts +330 -18
  110. package/dist/src/types.d.ts.map +1 -1
  111. package/dist/src/utils.d.ts +5 -0
  112. package/dist/src/utils.d.ts.map +1 -1
  113. package/dist/tsembed-react.es.js +354 -64
  114. package/dist/tsembed-react.js +353 -63
  115. package/dist/tsembed.es.js +414 -126
  116. package/dist/tsembed.js +416 -128
  117. package/dist/visual-embed-sdk-react-full.d.ts +777 -90
  118. package/dist/visual-embed-sdk-react.d.ts +773 -89
  119. package/dist/visual-embed-sdk.d.ts +713 -60
  120. package/lib/package.json +1 -1
  121. package/lib/src/config.d.ts +1 -0
  122. package/lib/src/config.d.ts.map +1 -1
  123. package/lib/src/config.js +1 -0
  124. package/lib/src/config.js.map +1 -1
  125. package/lib/src/css-variables.d.ts +27 -0
  126. package/lib/src/css-variables.d.ts.map +1 -1
  127. package/lib/src/embed/app.d.ts +43 -12
  128. package/lib/src/embed/app.d.ts.map +1 -1
  129. package/lib/src/embed/app.js +30 -4
  130. package/lib/src/embed/app.js.map +1 -1
  131. package/lib/src/embed/app.spec.js +253 -1
  132. package/lib/src/embed/app.spec.js.map +1 -1
  133. package/lib/src/embed/base.d.ts +1 -1
  134. package/lib/src/embed/base.js +1 -1
  135. package/lib/src/embed/conversation.d.ts +171 -1
  136. package/lib/src/embed/conversation.d.ts.map +1 -1
  137. package/lib/src/embed/conversation.js +5 -3
  138. package/lib/src/embed/conversation.js.map +1 -1
  139. package/lib/src/embed/conversation.spec.js +125 -0
  140. package/lib/src/embed/conversation.spec.js.map +1 -1
  141. package/lib/src/embed/events.spec.js +3 -0
  142. package/lib/src/embed/events.spec.js.map +1 -1
  143. package/lib/src/embed/host-events.spec.js +36 -0
  144. package/lib/src/embed/host-events.spec.js.map +1 -1
  145. package/lib/src/embed/hostEventClient/host-event-client.d.ts +1 -1
  146. package/lib/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  147. package/lib/src/embed/hostEventClient/host-event-client.spec.js +18 -0
  148. package/lib/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  149. package/lib/src/embed/liveboard.d.ts +40 -13
  150. package/lib/src/embed/liveboard.d.ts.map +1 -1
  151. package/lib/src/embed/liveboard.js +25 -4
  152. package/lib/src/embed/liveboard.js.map +1 -1
  153. package/lib/src/embed/liveboard.spec.js +349 -2
  154. package/lib/src/embed/liveboard.spec.js.map +1 -1
  155. package/lib/src/embed/search.spec.js +28 -0
  156. package/lib/src/embed/search.spec.js.map +1 -1
  157. package/lib/src/embed/spotter-utils.d.ts +8 -1
  158. package/lib/src/embed/spotter-utils.d.ts.map +1 -1
  159. package/lib/src/embed/spotter-utils.js +13 -0
  160. package/lib/src/embed/spotter-utils.js.map +1 -1
  161. package/lib/src/embed/spotter-utils.spec.js +69 -1
  162. package/lib/src/embed/spotter-utils.spec.js.map +1 -1
  163. package/lib/src/embed/spotter-viz-utils.d.ts +9 -10
  164. package/lib/src/embed/spotter-viz-utils.d.ts.map +1 -1
  165. package/lib/src/embed/spotter-viz-utils.js.map +1 -1
  166. package/lib/src/embed/ts-embed.d.ts +97 -9
  167. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  168. package/lib/src/embed/ts-embed.js +77 -36
  169. package/lib/src/embed/ts-embed.js.map +1 -1
  170. package/lib/src/embed/ts-embed.spec.js +537 -3
  171. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  172. package/lib/src/index.d.ts +3 -3
  173. package/lib/src/index.d.ts.map +1 -1
  174. package/lib/src/index.js +2 -2
  175. package/lib/src/index.js.map +1 -1
  176. package/lib/src/react/all-types-export.d.ts +1 -1
  177. package/lib/src/react/all-types-export.d.ts.map +1 -1
  178. package/lib/src/react/all-types-export.js +1 -1
  179. package/lib/src/react/all-types-export.js.map +1 -1
  180. package/lib/src/react/all-types-export.parity.spec.d.ts +2 -0
  181. package/lib/src/react/all-types-export.parity.spec.d.ts.map +1 -0
  182. package/lib/src/react/all-types-export.parity.spec.js +191 -0
  183. package/lib/src/react/all-types-export.parity.spec.js.map +1 -0
  184. package/lib/src/react/index.d.ts +66 -32
  185. package/lib/src/react/index.d.ts.map +1 -1
  186. package/lib/src/react/index.js +5 -3
  187. package/lib/src/react/index.js.map +1 -1
  188. package/lib/src/react/index.spec.js +102 -1
  189. package/lib/src/react/index.spec.js.map +1 -1
  190. package/lib/src/types.d.ts +330 -18
  191. package/lib/src/types.d.ts.map +1 -1
  192. package/lib/src/types.js +182 -12
  193. package/lib/src/types.js.map +1 -1
  194. package/lib/src/utils.d.ts +5 -0
  195. package/lib/src/utils.d.ts.map +1 -1
  196. package/lib/src/utils.js +17 -0
  197. package/lib/src/utils.js.map +1 -1
  198. package/lib/src/utils.spec.js +38 -1
  199. package/lib/src/utils.spec.js.map +1 -1
  200. package/lib/src/visual-embed-sdk.d.ts +713 -60
  201. package/package.json +1 -1
  202. package/src/config.ts +1 -0
  203. package/src/css-variables.ts +32 -0
  204. package/src/embed/app.spec.ts +335 -1
  205. package/src/embed/app.ts +71 -13
  206. package/src/embed/base.ts +1 -1
  207. package/src/embed/conversation.spec.ts +136 -0
  208. package/src/embed/conversation.ts +181 -3
  209. package/src/embed/events.spec.ts +4 -0
  210. package/src/embed/host-events.spec.ts +48 -0
  211. package/src/embed/hostEventClient/host-event-client.spec.ts +34 -0
  212. package/src/embed/hostEventClient/host-event-client.ts +2 -2
  213. package/src/embed/liveboard.spec.ts +457 -2
  214. package/src/embed/liveboard.ts +74 -15
  215. package/src/embed/search.spec.ts +31 -0
  216. package/src/embed/spotter-utils.spec.ts +72 -0
  217. package/src/embed/spotter-utils.ts +21 -1
  218. package/src/embed/spotter-viz-utils.ts +9 -10
  219. package/src/embed/ts-embed.spec.ts +699 -3
  220. package/src/embed/ts-embed.ts +91 -41
  221. package/src/index.ts +43 -2
  222. package/src/react/all-types-export.parity.spec.ts +208 -0
  223. package/src/react/all-types-export.ts +22 -0
  224. package/src/react/index.spec.tsx +158 -0
  225. package/src/react/index.tsx +70 -33
  226. package/src/types.ts +329 -16
  227. package/src/utils.spec.ts +49 -0
  228. package/src/utils.ts +16 -0
@@ -1,4 +1,4 @@
1
- /* @thoughtspot/visual-embed-sdk version 1.51.0 */
1
+ /* @thoughtspot/visual-embed-sdk version 1.51.2 */
2
2
  'use client';
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react')) :
@@ -725,7 +725,7 @@
725
725
  * @returns nonFilteredColumns - The columns that were not filtered
726
726
  * @example
727
727
  * ```js
728
- * searchEmbed.on(EmbedEvent.DrillDown, {
728
+ * searchEmbed.on(EmbedEvent.Drilldown, {
729
729
  * points: {
730
730
  * clickedPoint,
731
731
  * selectedPoints: selectedPoint
@@ -786,7 +786,7 @@
786
786
  * @version SDK: 1.1.0 | ThoughtSpot: ts7.may.cl, 8.4.1.sw
787
787
  * @example
788
788
  * ```js
789
- * appEmbed.on(EmbedEvent.customAction, payload => {
789
+ * appEmbed.on(EmbedEvent.CustomAction, payload => {
790
790
  * const data = payload.data;
791
791
  * if (data.id === 'insert Custom Action ID here') {
792
792
  * console.log('Custom Action event:', data.embedAnswerData);
@@ -1052,8 +1052,8 @@
1052
1052
  *
1053
1053
  * **Note**: This event is deprecated in v1.21.0.
1054
1054
  * To fire an event when a download action is initiated on a chart or table,
1055
- * use `EmbedEvent.DownloadAsPng`, `EmbedEvent.DownloadAsPDF`,
1056
- * `EmbedEvent.DownloadAsCSV`, or `EmbedEvent.DownloadAsXLSX`
1055
+ * use `EmbedEvent.DownloadAsPng`, `EmbedEvent.DownloadAsPdf`,
1056
+ * `EmbedEvent.DownloadAsCsv`, or `EmbedEvent.DownloadAsXlsx`
1057
1057
  * @version SDK: 1.11.0 | ThoughtSpot: 8.3.0.cl, 8.4.1.sw
1058
1058
  * @example
1059
1059
  * ```js
@@ -1103,10 +1103,10 @@
1103
1103
  * @example
1104
1104
  * ```js
1105
1105
  * //emit when action starts
1106
- * searchEmbed.on(EmbedEvent.DownloadAsCSV, payload => {
1106
+ * searchEmbed.on(EmbedEvent.DownloadAsCsv, payload => {
1107
1107
  * console.log('download CSV', payload)}, {start: true })
1108
1108
  * //emit when action ends
1109
- * searchEmbed.on(EmbedEvent.DownloadAsCSV, payload => {
1109
+ * searchEmbed.on(EmbedEvent.DownloadAsCsv, payload => {
1110
1110
  * console.log('download CSV', payload)})
1111
1111
  * ```
1112
1112
  */
@@ -2563,6 +2563,7 @@
2563
2563
  * const url = await appEmbed.trigger(HostEvent.GetIframeUrl, {}, ContextType.Answer);
2564
2564
  * console.log("iFrameURL", url);
2565
2565
  * ```
2566
+ * @returns iframeUrl - The URL currently loaded in the embedded iframe.
2566
2567
  * @version SDK: 1.35.0 | ThoughtSpot: 10.4.0.cl
2567
2568
  */
2568
2569
  HostEvent["GetIframeUrl"] = "GetIframeUrl";
@@ -2729,6 +2730,41 @@
2729
2730
  * @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl
2730
2731
  */
2731
2732
  HostEvent["OpenFilter"] = "openFilter";
2733
+ /**
2734
+ * Open the add-filter modal of a Liveboard, the same dialog that the
2735
+ * *Add filter* button in the Liveboard edit header opens, so the host
2736
+ * app can start the add-filter flow from its own UI.
2737
+ *
2738
+ * The Liveboard must be in edit mode; the event is ignored otherwise.
2739
+ * Hiding the *Add filter* button with `hiddenActions:
2740
+ * [Action.AddFilter]` does not block this event, but disabling it with
2741
+ * `disabledActions` does.
2742
+ *
2743
+ * Unlike {@link HostEvent.OpenFilter}, which opens the panel of an
2744
+ * existing filter, this event starts the creation of a new filter.
2745
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
2746
+ * @example
2747
+ * ```js
2748
+ * liveboardEmbed.trigger(HostEvent.OpenAddFilterModal);
2749
+ * ```
2750
+ */
2751
+ HostEvent["OpenAddFilterModal"] = "openAddFilterModal";
2752
+ /**
2753
+ * Open the add-parameter panel of a Liveboard, the same panel that the
2754
+ * *Add parameter* button in the Liveboard edit header opens.
2755
+ * Mirrors {@link HostEvent.OpenAddFilterModal} for parameters.
2756
+ *
2757
+ * The Liveboard must be in edit mode; the event is ignored otherwise.
2758
+ * Hiding the *Add parameter* button with `hiddenActions:
2759
+ * [Action.AddParameter]` does not block this event, but disabling it
2760
+ * with `disabledActions` does.
2761
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
2762
+ * @example
2763
+ * ```js
2764
+ * liveboardEmbed.trigger(HostEvent.OpenAddParameterModal);
2765
+ * ```
2766
+ */
2767
+ HostEvent["OpenAddParameterModal"] = "openAddParameterModal";
2732
2768
  /**
2733
2769
  * Open the parameter panel for a particular parameter on a Liveboard.
2734
2770
  * Mirrors {@link HostEvent.OpenFilter} for parameters.
@@ -2810,6 +2846,10 @@
2810
2846
  * liveboardEmbed.trigger(HostEvent.getExportRequestForCurrentPinboard).then(
2811
2847
  * data=>console.log(data))
2812
2848
  * ```
2849
+ * @returns data - Object with a `v2Content` string: the export request
2850
+ * payload for the current Liveboard.
2851
+ * @returns type - The passthrough event name,
2852
+ * `getExportRequestForCurrentPinboard`.
2813
2853
  * @version SDK: 1.13.0 | ThoughtSpot: 8.5.0.cl, 8.8.1.sw
2814
2854
  */
2815
2855
  HostEvent["getExportRequestForCurrentPinboard"] = "getExportRequestForCurrentPinboard";
@@ -2912,6 +2952,9 @@
2912
2952
  * }, ContextType.Spotter);
2913
2953
  * ```
2914
2954
  *
2955
+ * @returns liveboardId - GUID of the Liveboard the Answer was pinned to.
2956
+ * @returns tabId - GUID of the tab within that Liveboard.
2957
+ * @returns vizId - GUID of the newly created visualization.
2915
2958
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
2916
2959
  */
2917
2960
  HostEvent["Pin"] = "pin";
@@ -2950,13 +2993,13 @@
2950
2993
  * Trigger the **Manage schedule** action on an embedded Liveboard
2951
2994
  * @example
2952
2995
  * ```js
2953
- * liveboardEmbed.trigger(HostEvent.ScheduleList)
2996
+ * liveboardEmbed.trigger(HostEvent.SchedulesList)
2954
2997
  * ```
2955
2998
  * @example
2956
2999
  * ```js
2957
3000
  * // Manage schedules from liveboard context
2958
3001
  * import { ContextType } from '@thoughtspot/visual-embed-sdk';
2959
- * liveboardEmbed.trigger(HostEvent.ScheduleList, {}, ContextType.Liveboard);
3002
+ * liveboardEmbed.trigger(HostEvent.SchedulesList, {}, ContextType.Liveboard);
2960
3003
  * ```
2961
3004
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
2962
3005
  */
@@ -3401,6 +3444,7 @@
3401
3444
  * console.log(tml.answer);
3402
3445
  * });
3403
3446
  * ```
3447
+ * @returns The TML representation of the current Answer, as an object.
3404
3448
  * @version SDK: 1.18.0 | ThoughtSpot: 8.10.0.cl, 9.0.1.sw
3405
3449
  * @important
3406
3450
  */
@@ -3845,6 +3889,8 @@
3845
3889
  * const data = await liveboardEmbed.trigger(HostEvent.GetFilters, {}, ContextType.Liveboard);
3846
3890
  * console.log('filters', data);
3847
3891
  * ```
3892
+ * @returns liveboardFilters - Filters applied on the Liveboard.
3893
+ * @returns runtimeFilters - Runtime filters applied on the Liveboard.
3848
3894
  * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
3849
3895
  */
3850
3896
  HostEvent["GetFilters"] = "getFilters";
@@ -3994,6 +4040,9 @@
3994
4040
  * console.log('tabs', tabDetails);
3995
4041
  * });
3996
4042
  * ```
4043
+ * @returns orderedTabIds - Tab GUIDs in the order they appear.
4044
+ * @returns numberOfTabs - Total number of tabs on the Liveboard.
4045
+ * @returns Tabs - Tab details, each with at least `id` and `name`.
3997
4046
  * @version SDK: 1.26.0 | ThoughtSpot: 9.7.0.cl
3998
4047
  */
3999
4048
  HostEvent["GetTabs"] = "getTabs";
@@ -4016,6 +4065,9 @@
4016
4065
  * console.log('groups', groupDetails);
4017
4066
  * });
4018
4067
  * ```
4068
+ * @returns orderedGroupIds - Group GUIDs in the order they appear.
4069
+ * @returns numberOfGroups - Total number of groups on the Liveboard.
4070
+ * @returns Groups - Group details, each with at least `id` and `name`.
4019
4071
  * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
4020
4072
  */
4021
4073
  HostEvent["GetGroups"] = "getGroups";
@@ -4090,6 +4142,9 @@
4090
4142
  * // Alternative direct usage (not recommended)
4091
4143
  * const {session} = await embed.trigger( HostEvent.GetAnswerSession )
4092
4144
  * ```
4145
+ * @returns session - Session identifier for the Answer, for use with the
4146
+ * `AnswerService`.
4147
+ * @returns embedAnswerData - Data backing the Answer, when available.
4093
4148
  * @version SDK: 1.26.0 | ThoughtSpot: 9.10.0.cl, 10.1.0.sw
4094
4149
  */
4095
4150
  HostEvent["GetAnswerSession"] = "getAnswerSession";
@@ -4223,12 +4278,16 @@
4223
4278
  * console.log('parameters', parameters);
4224
4279
  * });
4225
4280
  * ```
4281
+ * @returns parameters - Parameters currently applied on the Liveboard.
4226
4282
  * @version SDK: 1.29.0 | ThoughtSpot: 10.1.0.cl, 10.1.0.sw
4227
4283
  */
4228
4284
  HostEvent["GetParameters"] = "GetParameters";
4229
4285
  /**
4230
4286
  * Triggers an event to update a personalized view of a Liveboard.
4231
- * This event is deprecated. Use {@link HostEvent.UpdatePersonalizedView} instead.
4287
+ * This event is deprecated. Use {@link HostEvent.SelectPersonalizedView} instead,
4288
+ * which additionally accepts a `viewName`, resets to the original view when
4289
+ * called with an empty payload, and reports an error when a named view
4290
+ * cannot be found.
4232
4291
  * ```js
4233
4292
  * liveboardEmbed.trigger(HostEvent.UpdatePersonalisedView, {viewId: '1234'})
4234
4293
  * ```
@@ -4246,10 +4305,15 @@
4246
4305
  HostEvent["UpdatePersonalisedView"] = "UpdatePersonalisedView";
4247
4306
  /**
4248
4307
  * Triggers an event to update a personalized view of a Liveboard.
4308
+ * This event is deprecated. Use {@link HostEvent.SelectPersonalizedView} instead,
4309
+ * which additionally accepts a `viewName`, resets to the original view when
4310
+ * called with an empty payload, and reports an error when a named view
4311
+ * cannot be found.
4249
4312
  * ```js
4250
4313
  * liveboardEmbed.trigger(HostEvent.UpdatePersonalisedView, {viewId: '1234'})
4251
4314
  * ```
4252
4315
  * @version SDK: 1.48.0 | ThoughtSpot: 26.5.0.cl
4316
+ * @deprecated SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
4253
4317
  */
4254
4318
  HostEvent["UpdatePersonalizedView"] = "UpdatePersonalisedView";
4255
4319
  /**
@@ -4352,6 +4416,10 @@
4352
4416
  * description: "Generated from Spotter"
4353
4417
  * }, ContextType.Spotter);
4354
4418
  * ```
4419
+ * @returns answerId - GUID of the saved Answer.
4420
+ * @returns saveResponse - Raw response from the save operation.
4421
+ * @returns shareResponse - Raw response from the share operation, when the
4422
+ * Answer was also made discoverable.
4355
4423
  * @version SDK: 1.36.0 | ThoughtSpot: 10.6.0.cl
4356
4424
  */
4357
4425
  HostEvent["SaveAnswer"] = "saveAnswer";
@@ -4833,6 +4901,7 @@
4833
4901
  Param["NumberFormatLocale"] = "numberFormatLocale";
4834
4902
  Param["CurrencyFormat"] = "currencyFormat";
4835
4903
  Param["Enable2ColumnLayout"] = "enable2ColumnLayout";
4904
+ Param["IsLiveboardAlwaysOn12ColLayout"] = "isLiveboardAlwaysOn12ColLayout";
4836
4905
  Param["IsFullAppEmbed"] = "isFullAppEmbed";
4837
4906
  Param["IsOnBeforeGetVizDataInterceptEnabled"] = "isOnBeforeGetVizDataInterceptEnabled";
4838
4907
  Param["FocusSearchBarOnRender"] = "focusSearchBarOnRender";
@@ -4856,6 +4925,7 @@
4856
4925
  Param["PrimaryAction"] = "primaryAction";
4857
4926
  Param["isSpotterAgentEmbed"] = "isSpotterAgentEmbed";
4858
4927
  Param["IsLiveboardStylingAndGroupingEnabled"] = "isLiveboardStylingAndGroupingEnabled";
4928
+ Param["LiveboardGutter"] = "liveboardGutter";
4859
4929
  Param["IsLazyLoadingForEmbedEnabled"] = "isLazyLoadingForEmbedEnabled";
4860
4930
  Param["RootMarginForLazyLoad"] = "rootMarginForLazyLoad";
4861
4931
  Param["isPNGInScheduledEmailsEnabled"] = "isPNGInScheduledEmailsEnabled";
@@ -4891,14 +4961,17 @@
4891
4961
  Param["IsStarterPromptsEnabled"] = "enableStarterPrompts";
4892
4962
  Param["UpdatedSpotterExperience"] = "updatedSpotterExperience";
4893
4963
  Param["SpotterDataSources"] = "spotterDataSources";
4964
+ Param["AnalystId"] = "analystId";
4965
+ Param["OpenSpotterOnLiveboardByDefault"] = "openSpotterOnLiveboardByDefault";
4894
4966
  })(Param || (Param = {}));
4895
4967
  /**
4896
4968
  * ThoughtSpot application pages include actions and menu commands
4897
4969
  * for various user-initiated operations. These actions are represented
4898
4970
  * as enumeration members in the SDK. To control actions in the embedded view:
4899
- * - disabledActions — the action is grayed out and still visible, but non-interactive (user can see but not click).
4900
- * - hiddenActions — the action is completely removed from the UI (user cannot see it at all).
4901
- * - visibleActions — allowlist, only these actions are shown; all others are hidden.
4971
+ * - disabledActions — the action is grayed out and still visible, but non-interactive
4972
+ * (user can see but not click). - hiddenActions — the action is completely removed from
4973
+ * the UI (user cannot see it at all). - visibleActions — allowlist, only these actions
4974
+ * are shown; all others are hidden.
4902
4975
  *
4903
4976
  * Use disabledActions to disable (gray out) an action.
4904
4977
  * Use hiddenActions to hide (fully remove) an action.
@@ -4952,6 +5025,17 @@
4952
5025
  * ```
4953
5026
  */
4954
5027
  Action["SaveAsView"] = "saveAsView";
5028
+ /**
5029
+ * The **EditInputTable** action on a Liveboard
5030
+ * page. Allows users to edit an input table used in an Answer directly from
5031
+ * a Liveboard.
5032
+ * @example
5033
+ * ```js
5034
+ * disabledActions: [Action.EditInputTable]
5035
+ * ```
5036
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
5037
+ */
5038
+ Action["EditInputTable"] = "editInputTable";
4955
5039
  /**
4956
5040
  * The **Make a copy** action on a Liveboard or Answer
4957
5041
  * page. Creates a copy of the Liveboard.
@@ -6269,6 +6353,10 @@
6269
6353
  * The **Add to Coaching** feature allows adding reference questions and
6270
6354
  * business terms to improve Spotter’s responses. This feature is generally available
6271
6355
  * (GA) from version 26.2.0.cl and enabled by default on embed deployments.
6356
+ *
6357
+ * This action governs both the answer-card **Add to memory** CTA and its
6358
+ * Spotter 3 successor, the response-footer **Remember this** CTA
6359
+ * (they are mutually exclusive).
6272
6360
  * @example
6273
6361
  * ```js
6274
6362
  * hiddenAction: [Action.InConversationTraining]
@@ -6649,6 +6737,56 @@
6649
6737
  * @version SDK: 1.48.0 | ThoughtSpot Cloud: 26.5.0.cl
6650
6738
  */
6651
6739
  Action["SpotterChatModeSwitcher"] = "spotterChatModeSwitcher";
6740
+ /**
6741
+ * The **Basic Search** starter prompt pill.
6742
+ *
6743
+ * Starter prompt pills are the row of category buttons shown above the
6744
+ * Spotter chat input before a conversation starts. They give a new user
6745
+ * ready-made questions to click instead of typing one from scratch, and
6746
+ * disappear once the conversation begins. There are three, one per action
6747
+ * below.
6748
+ *
6749
+ * Clicking this pill opens a card of suggested simple questions; picking one
6750
+ * submits it to Spotter right away. Visible by default, and hidden along
6751
+ * with the other pills when the surface itself is off (see
6752
+ * {@link SpotterChatViewConfig.starterPrompts}).
6753
+ * @example
6754
+ * ```js
6755
+ * hiddenActions: [Action.QuickSearchPill]
6756
+ * ```
6757
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
6758
+ */
6759
+ Action["QuickSearchPill"] = "quickSearchPill";
6760
+ /**
6761
+ * The **Deep Analysis** starter prompt pill, next to
6762
+ * {@link Action.QuickSearchPill} above the Spotter chat input.
6763
+ *
6764
+ * Clicking it opens a card of suggested investigative questions ("why did
6765
+ * revenue drop?"). Picking one fills the chat input in Deep Analysis mode
6766
+ * rather than submitting immediately, so the user can edit it first.
6767
+ * Visible by default.
6768
+ * @example
6769
+ * ```js
6770
+ * hiddenActions: [Action.DeepAnalysisPill]
6771
+ * ```
6772
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
6773
+ */
6774
+ Action["DeepAnalysisPill"] = "deepAnalysisPill";
6775
+ /**
6776
+ * The **Data Literacy** starter prompt pill, next to
6777
+ * {@link Action.QuickSearchPill} above the Spotter chat input.
6778
+ *
6779
+ * Unlike the other two pills it opens no card: clicking it submits a prompt
6780
+ * that describes the data the model can answer over, helping a user who does
6781
+ * not yet know what is in the data source. The prompt text always comes from
6782
+ * ThoughtSpot, so only its label is customizable. Visible by default.
6783
+ * @example
6784
+ * ```js
6785
+ * hiddenActions: [Action.DataLiteracyPill]
6786
+ * ```
6787
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
6788
+ */
6789
+ Action["DataLiteracyPill"] = "dataLiteracyPill";
6652
6790
  /**
6653
6791
  * The **Include current period** checkbox for date filters.
6654
6792
  * Controls the visibility and availability of the option to include
@@ -6797,6 +6935,38 @@
6797
6935
  * ```
6798
6936
  */
6799
6937
  Action["SpotterAnalystSidebar"] = "spotterAnalystSidebar";
6938
+ /**
6939
+ * Controls visibility and disable state of the analyst list
6940
+ * ("Show all") in the Spotter Analyst interface.
6941
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
6942
+ * @example
6943
+ * ```js
6944
+ * hiddenActions: [Action.SpotterAnalystList]
6945
+ * disabledActions: [Action.SpotterAnalystList]
6946
+ * ```
6947
+ */
6948
+ Action["SpotterAnalystList"] = "spotterAnalystList";
6949
+ /**
6950
+ * Controls visibility and disable state of the default Spotter analyst
6951
+ * entry in the Spotter Analyst interface.
6952
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
6953
+ * @example
6954
+ * ```js
6955
+ * hiddenActions: [Action.SpotterDefaultAnalyst]
6956
+ * disabledActions: [Action.SpotterDefaultAnalyst]
6957
+ * ```
6958
+ */
6959
+ Action["SpotterDefaultAnalyst"] = "spotterDefaultAnalyst";
6960
+ /**
6961
+ * The **Spotter** button in the Liveboard header.
6962
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
6963
+ * @example
6964
+ * ```js
6965
+ * hiddenActions: [Action.SpotterOnLiveboard]
6966
+ * disabledActions: [Action.SpotterOnLiveboard]
6967
+ * ```
6968
+ */
6969
+ Action["SpotterOnLiveboard"] = "spotterOnLiveboard";
6800
6970
  })(exports.Action || (exports.Action = {}));
6801
6971
  var PrefetchFeatures;
6802
6972
  (function (PrefetchFeatures) {
@@ -7264,7 +7434,7 @@
7264
7434
  TableContentDensity["Compact"] = "COMPACT";
7265
7435
  })(TableContentDensity || (TableContentDensity = {}));
7266
7436
 
7267
- var version$1="1.51.0";var pkg = {version:version$1};
7437
+ var version$1="1.51.2";var pkg = {version:version$1};
7268
7438
 
7269
7439
  const { version } = pkg;
7270
7440
 
@@ -7443,6 +7613,23 @@
7443
7613
  }
7444
7614
  return JSON.stringify(value);
7445
7615
  };
7616
+ /**
7617
+ * Inverse of serializeParam: JSON.parse with fallback to the raw string,
7618
+ * matching how the app parses the same values from the iframe URL.
7619
+ */
7620
+ const deserializeParam = (value) => {
7621
+ if (typeof value !== 'string')
7622
+ return value;
7623
+ try {
7624
+ const parsed = JSON.parse(value);
7625
+ // Numeric strings stay strings ('123' !== 123), same as the app's
7626
+ // URL parser — param consumers expect string ids/versions.
7627
+ return typeof parsed === 'number' ? value : parsed;
7628
+ }
7629
+ catch (e) {
7630
+ return value;
7631
+ }
7632
+ };
7446
7633
  /**
7447
7634
  * Convert a value to a string:
7448
7635
  * in case of an array, we convert it to CSV.
@@ -12793,7 +12980,8 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
12793
12980
  * The default CSS dimensions of the embedded app
12794
12981
  */
12795
12982
  const DEFAULT_EMBED_WIDTH = '100%';
12796
- const DEFAULT_EMBED_HEIGHT = '100%';
12983
+ const DEFAULT_EMBED_HEIGHT = '100%';
12984
+ const DEFAULT_LAZY_LOADING_MARGIN = '500px 0px';
12797
12985
 
12798
12986
  var Config = {
12799
12987
  DEBUG: false,
@@ -20328,7 +20516,7 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
20328
20516
  /**
20329
20517
  * Initializes the Visual Embed SDK globally and perform
20330
20518
  * authentication if applicable. This function needs to be called before any ThoughtSpot
20331
- * component like Liveboard etc can be embedded. But need not wait for AuthEvent.SUCCESS
20519
+ * component like Liveboard etc can be embedded. But need not wait for AuthStatus.SUCCESS
20332
20520
  * to actually embed. That is handled internally.
20333
20521
  * @param embedConfig The configuration object containing ThoughtSpot host,
20334
20522
  * authentication mechanism and so on.
@@ -21155,7 +21343,7 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
21155
21343
  */
21156
21344
  this.shouldEncodeUrlQueryParams = false;
21157
21345
  this.defaultHiddenActions = [exports.Action.ReportError];
21158
- this.preRenderContainerEl = null;
21346
+ this.preRenderContainerEl = document.body;
21159
21347
  this.containerScrollListener = null;
21160
21348
  /**
21161
21349
  * Handler for fullscreen change events
@@ -21633,10 +21821,14 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
21633
21821
  return `${basePath}#`;
21634
21822
  }
21635
21823
  async getUpdateEmbedParamsObject() {
21636
- let queryParams = this.getEmbedParamsObject();
21824
+ const queryParams = this.getEmbedParamsObject();
21825
+ // Values are URL-serialized (e.g. dataSources as '["guid"]'); parse
21826
+ // them back so the event payload matches a URL load (SCAL-334713).
21827
+ Object.keys(queryParams).forEach((key) => {
21828
+ queryParams[key] = deserializeParam(queryParams[key]);
21829
+ });
21637
21830
  const appInitData = await this.getAppInitData();
21638
- queryParams = { ...this.viewConfig, ...queryParams, ...appInitData };
21639
- return queryParams;
21831
+ return { ...this.viewConfig, ...queryParams, ...appInitData };
21640
21832
  }
21641
21833
  /**
21642
21834
  * Common query params set for all the embed modes.
@@ -21843,11 +22035,27 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
21843
22035
  iFrame.name = 'ThoughtSpot Embedded Analytics';
21844
22036
  return iFrame;
21845
22037
  }
22038
+ /**
22039
+ * Returns a merged {@link PreRenderConfig} object where each shared key
22040
+ * prefers `preRenderConfig.key` over the top-level `viewConfig.key` for
22041
+ * backward compatibility.
22042
+ */
22043
+ getPreRenderConfig() {
22044
+ var _a, _b, _c, _d;
22045
+ const viewCfg = this.viewConfig;
22046
+ const preRenderCfg = (_a = viewCfg.preRenderConfig) !== null && _a !== void 0 ? _a : {};
22047
+ return {
22048
+ ...preRenderCfg,
22049
+ preRenderId: (_b = preRenderCfg.preRenderId) !== null && _b !== void 0 ? _b : viewCfg.preRenderId,
22050
+ preRenderContainer: (_c = preRenderCfg.preRenderContainer) !== null && _c !== void 0 ? _c : viewCfg.preRenderContainer,
22051
+ doNotTrackPreRenderSize: (_d = preRenderCfg.doNotTrackPreRenderSize) !== null && _d !== void 0 ? _d : viewCfg.doNotTrackPreRenderSize,
22052
+ };
22053
+ }
21846
22054
  /**
21847
22055
  * Returns true if this embed instance is configured for pre-rendering.
21848
22056
  */
21849
22057
  isPreRenderEmbed() {
21850
- return !!this.viewConfig.preRenderId;
22058
+ return !!this.getPreRenderConfig().preRenderId;
21851
22059
  }
21852
22060
  handleInsertionIntoDOM(child) {
21853
22061
  if (this.isPreRenderEmbed()) {
@@ -21983,6 +22191,7 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
21983
22191
  this.setIframeElement(this.preRenderChild);
21984
22192
  }
21985
22193
  this.isRendered = true;
22194
+ this.inheritPreRenderContainer();
21986
22195
  }
21987
22196
  return this.isPreRenderConnected();
21988
22197
  }
@@ -22033,7 +22242,7 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
22033
22242
  */
22034
22243
  resolvePreRenderContainerTarget() {
22035
22244
  var _a;
22036
- const containerConfig = this.viewConfig.preRenderContainer;
22245
+ const containerConfig = this.getPreRenderConfig().preRenderContainer;
22037
22246
  let container = null;
22038
22247
  if (typeof containerConfig === 'string') {
22039
22248
  try {
@@ -22051,15 +22260,35 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
22051
22260
  }
22052
22261
  return (_a = container) !== null && _a !== void 0 ? _a : document.body;
22053
22262
  }
22263
+ inheritPreRenderContainer() {
22264
+ var _a;
22265
+ const preRenderedObject = this.getPreRenderObj();
22266
+ if (!preRenderedObject || preRenderedObject === this) {
22267
+ return;
22268
+ }
22269
+ const ownerContainer = (_a = preRenderedObject.preRenderContainerEl) !== null && _a !== void 0 ? _a : document.body;
22270
+ if (this.getPreRenderConfig().preRenderContainer
22271
+ && this.resolvePreRenderContainerTarget() !== ownerContainer) {
22272
+ logger$3.warn('preRenderContainer is applied only by the component that creates the preRender; '
22273
+ + 'the one passed here is ignored. Set it on the PreRender component instead.');
22274
+ }
22275
+ this.preRenderContainerEl = ownerContainer;
22276
+ this.applyPreRenderContainerPositioning();
22277
+ }
22278
+ getCustomPreRenderContainer() {
22279
+ const container = this.preRenderContainerEl;
22280
+ return container && container !== document.body ? container : null;
22281
+ }
22054
22282
  /**
22055
- * Makes the container a positioning context for the absolutely positioned
22056
- * wrapper, stashing the original inline `position` on the element (once) so
22057
- * destroy() can restore it exactly, leaving no trace. Recording it on the
22058
- * element rather than per-instance lets the override be reverted even when
22059
- * embeds share the same container.
22283
+ * Makes the resolved container a positioning context for the absolutely
22284
+ * positioned wrapper, stashing the original inline `position` on the element
22285
+ * (once) so destroy() can restore it exactly, leaving no trace. Recording it
22286
+ * on the element rather than per-instance lets the override be reverted even
22287
+ * when embeds share the same container.
22060
22288
  */
22061
- applyPreRenderContainerPositioning(container) {
22062
- if (container === document.body) {
22289
+ applyPreRenderContainerPositioning() {
22290
+ const container = this.getCustomPreRenderContainer();
22291
+ if (!container) {
22063
22292
  return;
22064
22293
  }
22065
22294
  const pos = window.getComputedStyle(container).position;
@@ -22102,11 +22331,11 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
22102
22331
  resolved.addEventListener('scroll', this.containerScrollListener);
22103
22332
  }
22104
22333
  }
22105
- this.applyPreRenderContainerPositioning(resolved);
22334
+ this.preRenderContainerEl = resolved;
22335
+ this.applyPreRenderContainerPositioning();
22106
22336
  if (wrapper.parentNode !== resolved) {
22107
22337
  resolved.appendChild(wrapper);
22108
22338
  }
22109
- this.preRenderContainerEl = resolved;
22110
22339
  }
22111
22340
  insertIntoDOMForPreRender(child) {
22112
22341
  const preRenderChild = this.createPreRenderChild(child);
@@ -22129,7 +22358,7 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
22129
22358
  }
22130
22359
  const targetContainer = this.resolvePreRenderContainerTarget();
22131
22360
  this.preRenderContainerEl = targetContainer;
22132
- this.applyPreRenderContainerPositioning(targetContainer);
22361
+ this.applyPreRenderContainerPositioning();
22133
22362
  targetContainer.appendChild(preRenderWrapper);
22134
22363
  }
22135
22364
  insertIntoDOM(child) {
@@ -22535,7 +22764,7 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
22535
22764
  showPreRenderByDefault,
22536
22765
  replaceExistingPreRender,
22537
22766
  });
22538
- if (!this.viewConfig.preRenderId) {
22767
+ if (!this.getPreRenderConfig().preRenderId) {
22539
22768
  logger$3.error(ERROR_MESSAGE.PRERENDER_ID_MISSING);
22540
22769
  return this;
22541
22770
  }
@@ -22591,7 +22820,7 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
22591
22820
  }
22592
22821
  // Drop our reference up front so a destroyed embed never pins a
22593
22822
  // detached container in memory; restoration uses the local handle.
22594
- this.preRenderContainerEl = null;
22823
+ this.preRenderContainerEl = document.body;
22595
22824
  const originalPosition = container.dataset[PRERENDER_CONTAINER_ORIGINAL_POSITION_KEY];
22596
22825
  if (originalPosition === undefined) {
22597
22826
  // We never overrode this container's position; nothing to restore.
@@ -22614,9 +22843,7 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
22614
22843
  if (!this.containerScrollListener) {
22615
22844
  return;
22616
22845
  }
22617
- const customContainer = this.preRenderContainerEl && this.preRenderContainerEl !== document.body
22618
- ? this.preRenderContainerEl
22619
- : null;
22846
+ const customContainer = this.getCustomPreRenderContainer();
22620
22847
  customContainer === null || customContainer === void 0 ? void 0 : customContainer.removeEventListener('scroll', this.containerScrollListener);
22621
22848
  this.containerScrollListener = null;
22622
22849
  }
@@ -22713,12 +22940,12 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
22713
22940
  async showPreRender() {
22714
22941
  var _a, _b;
22715
22942
  uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_SHOW_PRE_RENDER, {
22716
- preRenderId: this.viewConfig.preRenderId,
22943
+ preRenderId: this.getPreRenderConfig().preRenderId,
22717
22944
  embedComponentType: this.viewConfig.embedComponentType,
22718
22945
  });
22719
22946
  if (this.shouldWaitForRenderPromise)
22720
22947
  await this.isReadyForRenderPromise;
22721
- if (!this.viewConfig.preRenderId) {
22948
+ if (!this.getPreRenderConfig().preRenderId) {
22722
22949
  logger$3.error(ERROR_MESSAGE.PRERENDER_ID_MISSING);
22723
22950
  return this;
22724
22951
  }
@@ -22749,14 +22976,12 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
22749
22976
  (_a = this.hostElement.querySelector(`#${placeHolderId}`)) === null || _a === void 0 ? void 0 : _a.remove();
22750
22977
  this.hostElement.appendChild(this.insertedDomEl);
22751
22978
  this.syncPreRenderStyle();
22752
- const customContainer = this.preRenderContainerEl && this.preRenderContainerEl !== document.body
22753
- ? this.preRenderContainerEl
22754
- : null;
22979
+ const customContainer = this.getCustomPreRenderContainer();
22755
22980
  if (customContainer && !this.containerScrollListener) {
22756
22981
  this.containerScrollListener = () => this.syncPreRenderStyle();
22757
22982
  customContainer.addEventListener('scroll', this.containerScrollListener);
22758
22983
  }
22759
- if (!this.viewConfig.doNotTrackPreRenderSize) {
22984
+ if (!this.getPreRenderConfig().doNotTrackPreRenderSize) {
22760
22985
  const observeTarget = (_b = this.insertedDomEl) !== null && _b !== void 0 ? _b : this.hostElement;
22761
22986
  this.resizeObserver = new ResizeObserver((entries) => {
22762
22987
  entries.forEach((entry) => {
@@ -22798,13 +23023,15 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
22798
23023
  logger$3.error(ERROR_MESSAGE.SYNC_STYLE_CALLED_BEFORE_RENDER);
22799
23024
  return;
22800
23025
  }
23026
+ if (!this.getPreRenderPlaceHolderElement().isConnected) {
23027
+ logger$3.debug('syncPreRenderStyle skipped: placeholder is detached');
23028
+ return;
23029
+ }
22801
23030
  // Self-heal if the resolved container was remounted/detached, so we
22802
23031
  // never measure a stale node (which would collapse the wrapper).
22803
23032
  this.reconcilePreRenderContainer();
22804
23033
  const elBoundingClient = this.getPreRenderPlaceHolderElement().getBoundingClientRect();
22805
- const containerEl = this.preRenderContainerEl && this.preRenderContainerEl !== document.body
22806
- ? this.preRenderContainerEl
22807
- : null;
23034
+ const containerEl = this.getCustomPreRenderContainer();
22808
23035
  const containerRect = (_a = containerEl === null || containerEl === void 0 ? void 0 : containerEl.getBoundingClientRect()) !== null && _a !== void 0 ? _a : { x: 0, y: 0 };
22809
23036
  const scrollX = containerEl ? containerEl.scrollLeft : window.scrollX;
22810
23037
  const scrollY = containerEl ? containerEl.scrollTop : window.scrollY;
@@ -22822,7 +23049,7 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
22822
23049
  */
22823
23050
  hidePreRender() {
22824
23051
  uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_HIDE_PRE_RENDER, {
22825
- preRenderId: this.viewConfig.preRenderId,
23052
+ preRenderId: this.getPreRenderConfig().preRenderId,
22826
23053
  embedComponentType: this.viewConfig.embedComponentType,
22827
23054
  });
22828
23055
  logger$3.debug('HidePreRender Called');
@@ -22831,10 +23058,11 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
22831
23058
  logger$3.warn('PreRender should be called before hiding it using hidePreRender.');
22832
23059
  return;
22833
23060
  }
23061
+ const { zIndex } = this.getPreRenderConfig();
22834
23062
  const preRenderHideStyles = {
22835
23063
  opacity: '0',
22836
23064
  pointerEvents: 'none',
22837
- zIndex: '-1000',
23065
+ zIndex: zIndex !== undefined ? String(zIndex) : '-1000',
22838
23066
  position: 'absolute',
22839
23067
  top: '0',
22840
23068
  left: '0',
@@ -22859,10 +23087,11 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
22859
23087
  * @property {string} child - The HTML element ID for the PreRender child.
22860
23088
  */
22861
23089
  getPreRenderIds() {
23090
+ const preRenderId = this.getPreRenderConfig().preRenderId;
22862
23091
  return {
22863
- wrapper: `${PRERENDER_WRAPPER_ID_PREFIX}${this.viewConfig.preRenderId}`,
22864
- child: `tsEmbed-pre-render-child-${this.viewConfig.preRenderId}`,
22865
- placeHolder: `tsEmbed-pre-render-placeholder-${this.viewConfig.preRenderId}`,
23092
+ wrapper: `${PRERENDER_WRAPPER_ID_PREFIX}${preRenderId}`,
23093
+ child: `tsEmbed-pre-render-child-${preRenderId}`,
23094
+ placeHolder: `tsEmbed-pre-render-placeholder-${preRenderId}`,
22866
23095
  };
22867
23096
  }
22868
23097
  /**
@@ -23316,6 +23545,19 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
23316
23545
  spotterShareConversationConfig,
23317
23546
  },
23318
23547
  };
23548
+ }
23549
+ function buildStarterPromptsAppInitData(initData, viewConfig) {
23550
+ var _a;
23551
+ const starterPrompts = (_a = viewConfig.spotterChatConfig) === null || _a === void 0 ? void 0 : _a.starterPrompts;
23552
+ if (!starterPrompts)
23553
+ return initData;
23554
+ return {
23555
+ ...initData,
23556
+ embedParams: {
23557
+ ...(initData.embedParams || {}),
23558
+ starterPrompts,
23559
+ },
23560
+ };
23319
23561
  }
23320
23562
 
23321
23563
  function buildSpotterVizAppInitData(initData, viewConfig) {
@@ -23381,6 +23623,10 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
23381
23623
  * Collections listing page
23382
23624
  */
23383
23625
  Page["Collections"] = "collections";
23626
+ /**
23627
+ * Liveboard schedules listing page
23628
+ */
23629
+ Page["LiveboardSchedules"] = "liveboard-schedules";
23384
23630
  })(exports.Page || (exports.Page = {}));
23385
23631
  /**
23386
23632
  * Define the initial state of column custom group accordions
@@ -23526,6 +23772,15 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
23526
23772
  this.setIFrameHeight(frameHeight || this.defaultHeight);
23527
23773
  };
23528
23774
  if (this.viewConfig.fullHeight === true) {
23775
+ if (this.viewConfig.lazyLoadingForFullHeight === undefined) {
23776
+ this.viewConfig.lazyLoadingForFullHeight = true;
23777
+ }
23778
+ if (this.viewConfig.enableScrollableContainerLazyLoading === undefined) {
23779
+ this.viewConfig.enableScrollableContainerLazyLoading = true;
23780
+ }
23781
+ if (this.viewConfig.lazyLoadingMargin === undefined) {
23782
+ this.viewConfig.lazyLoadingMargin = DEFAULT_LAZY_LOADING_MARGIN;
23783
+ }
23529
23784
  this.on(exports.EmbedEvent.RouteChange, this.setIframeHeightForNonEmbedLiveboard);
23530
23785
  this.on(exports.EmbedEvent.EmbedHeight, this.updateIFrameHeight);
23531
23786
  this.on(exports.EmbedEvent.EmbedIframeCenter, this.embedIframeCenter);
@@ -23548,7 +23803,8 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
23548
23803
  const defaultAppInitData = await super.getAppInitData();
23549
23804
  const sidebarInitData = buildSpotterSidebarAppInitData(defaultAppInitData, this.viewConfig, this.handleError.bind(this));
23550
23805
  const vizInitData = buildSpotterVizAppInitData(sidebarInitData, this.viewConfig);
23551
- return buildSpotterShareConversationAppInitData(vizInitData, this.viewConfig);
23806
+ const shareInitData = buildSpotterShareConversationAppInitData(vizInitData, this.viewConfig);
23807
+ return buildStarterPromptsAppInitData(shareInitData, this.viewConfig);
23552
23808
  }
23553
23809
  /**
23554
23810
  * Constructs a map of parameters to be passed on to the
@@ -23559,7 +23815,7 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
23559
23815
  return getQueryParamString(params, true);
23560
23816
  }
23561
23817
  getEmbedParamsObject() {
23562
- const { tag, hideTagFilterChips, hideObjects, liveboardV2, showPrimaryNavbar, disableProfileAndHelp, hideHamburger, hideObjectSearch, hideNotification, hideApplicationSwitcher, hideOrgSwitcher, enableSearchAssist, newConnectionsExperience, fullHeight, dataPanelV2 = true, updatedSpotterExperience, hideLiveboardHeader = false, showLiveboardTitle = true, showLiveboardDescription = true, showMaskedFilterChip = false, isLiveboardMasterpiecesEnabled, newChartsLibrary, hideHomepageLeftNav = false, modularHomeExperience, isLiveboardHeaderSticky = true, enableAskSage, collapseSearchBarInitially = false, enable2ColumnLayout, enableCustomColumnGroups = false, dataPanelCustomGroupsAccordionInitialState = DataPanelCustomColumnGroupsAccordionState.EXPAND_ALL, collapseSearchBar = true, isLiveboardCompactHeaderEnabled, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, hideIrrelevantChipsInLiveboardTabs, isEnhancedFilterInteractivityEnabled, homePageSearchBarMode, isUnifiedSearchExperienceEnabled = true, enablePendoHelp = true, discoveryExperience, coverAndFilterOptionInPDF, isLiveboardStylingAndGroupingEnabled, isPNGInScheduledEmailsEnabled = false, isLiveboardXLSXCSVDownloadEnabled, isGranularXLSXCSVSchedulesEnabled, isCentralizedLiveboardFilterUXEnabled = false, isScopedLiveboardFilteringEnabled, isLinkParametersEnabled, updatedSpotterChatPrompt, showSpotterRadiance, defaultQueryMode, enableStopAnswerGenerationEmbed, spotterChatConfig, spotterDataSources, minimumHeight, isThisPeriodInDateFiltersEnabled, enableHomepageAnnouncement = false, isContinuousLiveboardPDFEnabled, enableLiveboardDataCache, } = this.viewConfig;
23818
+ const { tag, hideTagFilterChips, hideObjects, liveboardV2, showPrimaryNavbar, disableProfileAndHelp, hideHamburger, hideObjectSearch, hideNotification, hideApplicationSwitcher, hideOrgSwitcher, enableSearchAssist, newConnectionsExperience, fullHeight, dataPanelV2 = true, updatedSpotterExperience, hideLiveboardHeader = false, showLiveboardTitle = true, showLiveboardDescription = true, showMaskedFilterChip = false, isLiveboardMasterpiecesEnabled, newChartsLibrary, hideHomepageLeftNav = false, modularHomeExperience, isLiveboardHeaderSticky = true, enableAskSage, collapseSearchBarInitially = false, enable2ColumnLayout, isLiveboardAlwaysOn12ColLayout, enableCustomColumnGroups = false, dataPanelCustomGroupsAccordionInitialState = DataPanelCustomColumnGroupsAccordionState.EXPAND_ALL, collapseSearchBar = true, isLiveboardCompactHeaderEnabled, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, hideIrrelevantChipsInLiveboardTabs, isEnhancedFilterInteractivityEnabled, homePageSearchBarMode, isUnifiedSearchExperienceEnabled = true, enablePendoHelp = true, discoveryExperience, coverAndFilterOptionInPDF, isLiveboardStylingAndGroupingEnabled, liveboardGutter, isPNGInScheduledEmailsEnabled = false, isLiveboardXLSXCSVDownloadEnabled, isGranularXLSXCSVSchedulesEnabled, isCentralizedLiveboardFilterUXEnabled = false, isScopedLiveboardFilteringEnabled, isLinkParametersEnabled, updatedSpotterChatPrompt, showSpotterRadiance, defaultQueryMode, enableStopAnswerGenerationEmbed, spotterChatConfig, spotterDataSources, minimumHeight, isThisPeriodInDateFiltersEnabled, enableHomepageAnnouncement = false, isContinuousLiveboardPDFEnabled, enableLiveboardDataCache, } = this.viewConfig;
23563
23819
  let params = {};
23564
23820
  params[Param.PrimaryNavHidden] = !showPrimaryNavbar;
23565
23821
  params[Param.HideProfleAndHelp] = !!disableProfileAndHelp;
@@ -23613,7 +23869,7 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
23613
23869
  }
23614
23870
  // Handle spotterChatConfig params
23615
23871
  if (spotterChatConfig) {
23616
- const { hideToolResponseCardBranding, toolResponseCardBrandingLabel, spotterFileUploadEnabled, spotterFileUploadFileTypes, enableStarterPrompts, } = spotterChatConfig;
23872
+ const { hideToolResponseCardBranding, toolResponseCardBrandingLabel, spotterFileUploadEnabled, spotterFileUploadFileTypes, enableStarterPrompts, openSpotterOnLiveboardByDefault, } = spotterChatConfig;
23617
23873
  setParamIfDefined(params, Param.HideToolResponseCardBranding, hideToolResponseCardBranding, true);
23618
23874
  setParamIfDefined(params, Param.ToolResponseCardBrandingLabel, toolResponseCardBrandingLabel);
23619
23875
  if (spotterFileUploadEnabled !== undefined) {
@@ -23622,6 +23878,9 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
23622
23878
  if (enableStarterPrompts !== undefined) {
23623
23879
  params[Param.IsStarterPromptsEnabled] = enableStarterPrompts;
23624
23880
  }
23881
+ if (openSpotterOnLiveboardByDefault !== undefined) {
23882
+ params[Param.OpenSpotterOnLiveboardByDefault] = openSpotterOnLiveboardByDefault;
23883
+ }
23625
23884
  if (spotterFileUploadFileTypes !== undefined) {
23626
23885
  params[Param.SpotterFileUploadFileTypes] = JSON.stringify(spotterFileUploadFileTypes);
23627
23886
  }
@@ -23665,6 +23924,9 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
23665
23924
  if (enable2ColumnLayout !== undefined) {
23666
23925
  params[Param.Enable2ColumnLayout] = enable2ColumnLayout;
23667
23926
  }
23927
+ if (isLiveboardAlwaysOn12ColLayout !== undefined) {
23928
+ params[Param.IsLiveboardAlwaysOn12ColLayout] = isLiveboardAlwaysOn12ColLayout;
23929
+ }
23668
23930
  if (enableAskSage) {
23669
23931
  params[Param.enableAskSage] = enableAskSage;
23670
23932
  }
@@ -23677,6 +23939,9 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
23677
23939
  if (isLiveboardStylingAndGroupingEnabled !== undefined) {
23678
23940
  params[Param.IsLiveboardStylingAndGroupingEnabled] = isLiveboardStylingAndGroupingEnabled;
23679
23941
  }
23942
+ if (liveboardGutter !== undefined) {
23943
+ params[Param.LiveboardGutter] = liveboardGutter;
23944
+ }
23680
23945
  if (isPNGInScheduledEmailsEnabled !== undefined) {
23681
23946
  params[Param.isPNGInScheduledEmailsEnabled] = isPNGInScheduledEmailsEnabled;
23682
23947
  }
@@ -23787,6 +24052,8 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
23787
24052
  return modularHomeExperience ? 'home/monitor-alerts' : 'insights/monitor-alerts';
23788
24053
  case exports.Page.Collections:
23789
24054
  return 'collections';
24055
+ case exports.Page.LiveboardSchedules:
24056
+ return 'home/liveboard-schedules';
23790
24057
  case exports.Page.Home:
23791
24058
  default:
23792
24059
  return 'home';
@@ -24072,6 +24339,15 @@ query GetEurekaVizSnapshots(
24072
24339
  logger$3.warn('Full height is currently only supported for Liveboard embeds.' +
24073
24340
  'Using full height with vizId might lead to unexpected behavior.');
24074
24341
  }
24342
+ if (this.viewConfig.lazyLoadingForFullHeight === undefined) {
24343
+ this.viewConfig.lazyLoadingForFullHeight = true;
24344
+ }
24345
+ if (this.viewConfig.enableScrollableContainerLazyLoading === undefined) {
24346
+ this.viewConfig.enableScrollableContainerLazyLoading = true;
24347
+ }
24348
+ if (this.viewConfig.lazyLoadingMargin === undefined) {
24349
+ this.viewConfig.lazyLoadingMargin = DEFAULT_LAZY_LOADING_MARGIN;
24350
+ }
24075
24351
  this.on(exports.EmbedEvent.RouteChange, this.setIframeHeightForNonEmbedLiveboard);
24076
24352
  this.on(exports.EmbedEvent.EmbedHeight, this.updateIFrameHeight);
24077
24353
  this.on(exports.EmbedEvent.EmbedIframeCenter, this.embedIframeCenter);
@@ -24080,7 +24356,8 @@ query GetEurekaVizSnapshots(
24080
24356
  }
24081
24357
  async getAppInitData() {
24082
24358
  const defaultAppInitData = await super.getAppInitData();
24083
- return buildSpotterVizAppInitData(defaultAppInitData, this.viewConfig);
24359
+ const vizInitData = buildSpotterVizAppInitData(defaultAppInitData, this.viewConfig);
24360
+ return buildStarterPromptsAppInitData(vizInitData, this.viewConfig);
24084
24361
  }
24085
24362
  /**
24086
24363
  * Construct a map of params to be passed on to the
@@ -24094,7 +24371,7 @@ query GetEurekaVizSnapshots(
24094
24371
  getEmbedParamsObject() {
24095
24372
  let params = {};
24096
24373
  params = this.getBaseQueryParams(params);
24097
- const { enableVizTransformations, fullHeight, defaultHeight, minimumHeight, visibleVizs, liveboardV2, vizId, hideTabPanel, activeTabId, hideLiveboardHeader, showLiveboardDescription, showLiveboardTitle, isLiveboardHeaderSticky = true, isLiveboardCompactHeaderEnabled, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, hideIrrelevantChipsInLiveboardTabs, showMaskedFilterChip = false, isLiveboardMasterpiecesEnabled, newChartsLibrary, isEnhancedFilterInteractivityEnabled, enableAskSage, enable2ColumnLayout, dataPanelV2 = true, updatedSpotterExperience, enableCustomColumnGroups = false, oAuthPollingInterval, isForceRedirect, dataSourceId, coverAndFilterOptionInPDF, isLiveboardStylingAndGroupingEnabled, isPNGInScheduledEmailsEnabled = false, isLiveboardXLSXCSVDownloadEnabled, isGranularXLSXCSVSchedulesEnabled, showSpotterLimitations, isCentralizedLiveboardFilterUXEnabled = false, isScopedLiveboardFilteringEnabled, isLinkParametersEnabled, updatedSpotterChatPrompt, showSpotterRadiance, enableStopAnswerGenerationEmbed, spotterChatConfig, isThisPeriodInDateFiltersEnabled, isContinuousLiveboardPDFEnabled, enableLiveboardDataCache, } = this.viewConfig;
24374
+ const { enableVizTransformations, fullHeight, defaultHeight, minimumHeight, visibleVizs, liveboardV2, vizId, hideTabPanel, activeTabId, hideLiveboardHeader, showLiveboardDescription, showLiveboardTitle, isLiveboardHeaderSticky = true, isLiveboardCompactHeaderEnabled, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, hideIrrelevantChipsInLiveboardTabs, showMaskedFilterChip = false, isLiveboardMasterpiecesEnabled, newChartsLibrary, isEnhancedFilterInteractivityEnabled, enableAskSage, enable2ColumnLayout, isLiveboardAlwaysOn12ColLayout, dataPanelV2 = true, updatedSpotterExperience, enableCustomColumnGroups = false, oAuthPollingInterval, isForceRedirect, dataSourceId, coverAndFilterOptionInPDF, isLiveboardStylingAndGroupingEnabled, liveboardGutter, isPNGInScheduledEmailsEnabled = false, isLiveboardXLSXCSVDownloadEnabled, isGranularXLSXCSVSchedulesEnabled, showSpotterLimitations, isCentralizedLiveboardFilterUXEnabled = false, isScopedLiveboardFilteringEnabled, isLinkParametersEnabled, updatedSpotterChatPrompt, showSpotterRadiance, enableStopAnswerGenerationEmbed, spotterChatConfig, isThisPeriodInDateFiltersEnabled, isContinuousLiveboardPDFEnabled, enableLiveboardDataCache, } = this.viewConfig;
24098
24375
  const preventLiveboardFilterRemoval = this.viewConfig.preventLiveboardFilterRemoval
24099
24376
  || this.viewConfig.preventPinboardFilterRemoval;
24100
24377
  if (fullHeight === true) {
@@ -24135,6 +24412,9 @@ query GetEurekaVizSnapshots(
24135
24412
  if (enable2ColumnLayout !== undefined) {
24136
24413
  params[Param.Enable2ColumnLayout] = enable2ColumnLayout;
24137
24414
  }
24415
+ if (isLiveboardAlwaysOn12ColLayout !== undefined) {
24416
+ params[Param.IsLiveboardAlwaysOn12ColLayout] = isLiveboardAlwaysOn12ColLayout;
24417
+ }
24138
24418
  if (hideTabPanel) {
24139
24419
  params[Param.HideTabPanel] = hideTabPanel;
24140
24420
  }
@@ -24162,6 +24442,9 @@ query GetEurekaVizSnapshots(
24162
24442
  if (isLiveboardStylingAndGroupingEnabled !== undefined) {
24163
24443
  params[Param.IsLiveboardStylingAndGroupingEnabled] = isLiveboardStylingAndGroupingEnabled;
24164
24444
  }
24445
+ if (liveboardGutter !== undefined) {
24446
+ params[Param.LiveboardGutter] = liveboardGutter;
24447
+ }
24165
24448
  if (isPNGInScheduledEmailsEnabled !== undefined) {
24166
24449
  params[Param.isPNGInScheduledEmailsEnabled] = isPNGInScheduledEmailsEnabled;
24167
24450
  }
@@ -24179,7 +24462,7 @@ query GetEurekaVizSnapshots(
24179
24462
  }
24180
24463
  // Handle spotterChatConfig params
24181
24464
  if (spotterChatConfig) {
24182
- const { hideToolResponseCardBranding, toolResponseCardBrandingLabel, spotterFileUploadEnabled, spotterFileUploadFileTypes, enableStarterPrompts, } = spotterChatConfig;
24465
+ const { hideToolResponseCardBranding, toolResponseCardBrandingLabel, spotterFileUploadEnabled, spotterFileUploadFileTypes, enableStarterPrompts, openSpotterOnLiveboardByDefault, } = spotterChatConfig;
24183
24466
  setParamIfDefined(params, Param.HideToolResponseCardBranding, hideToolResponseCardBranding, true);
24184
24467
  setParamIfDefined(params, Param.ToolResponseCardBrandingLabel, toolResponseCardBrandingLabel);
24185
24468
  if (spotterFileUploadEnabled !== undefined) {
@@ -24188,6 +24471,9 @@ query GetEurekaVizSnapshots(
24188
24471
  if (enableStarterPrompts !== undefined) {
24189
24472
  params[Param.IsStarterPromptsEnabled] = enableStarterPrompts;
24190
24473
  }
24474
+ if (openSpotterOnLiveboardByDefault !== undefined) {
24475
+ params[Param.OpenSpotterOnLiveboardByDefault] = openSpotterOnLiveboardByDefault;
24476
+ }
24191
24477
  if (spotterFileUploadFileTypes !== undefined) {
24192
24478
  params[Param.SpotterFileUploadFileTypes] = JSON.stringify(spotterFileUploadFileTypes);
24193
24479
  }
@@ -24433,7 +24719,7 @@ query GetEurekaVizSnapshots(
24433
24719
  if (this.isRendered) {
24434
24720
  this.trigger(exports.HostEvent.Navigate, path.substring(1));
24435
24721
  }
24436
- else if (this.viewConfig.preRenderId) {
24722
+ else if (this.getPreRenderConfig().preRenderId) {
24437
24723
  this.preRender(true);
24438
24724
  }
24439
24725
  else {
@@ -25024,10 +25310,11 @@ query SendMessage($params: Input_convassist_SendMessageRequest) {
25024
25310
  async getAppInitData() {
25025
25311
  const defaultAppInitData = await super.getAppInitData();
25026
25312
  const sidebarInitData = buildSpotterSidebarAppInitData(defaultAppInitData, this.viewConfig, this.handleError.bind(this));
25027
- return buildSpotterShareConversationAppInitData(sidebarInitData, this.viewConfig);
25313
+ const shareInitData = buildSpotterShareConversationAppInitData(sidebarInitData, this.viewConfig);
25314
+ return buildStarterPromptsAppInitData(shareInitData, this.viewConfig);
25028
25315
  }
25029
25316
  getEmbedParamsObject() {
25030
- const { searchOptions, disableSourceSelection, hideSourceSelection, dataPanelV2, updatedSpotterExperience, showSpotterLimitations, hideSampleQuestions, runtimeFilters, excludeRuntimeFiltersfromURL, runtimeParameters, excludeRuntimeParametersfromURL, updatedSpotterChatPrompt, showSpotterRadiance, defaultQueryMode, enableStopAnswerGenerationEmbed, spotterChatConfig, } = this.viewConfig;
25317
+ const { searchOptions, disableSourceSelection, hideSourceSelection, dataPanelV2, updatedSpotterExperience, showSpotterLimitations, hideSampleQuestions, runtimeFilters, excludeRuntimeFiltersfromURL, runtimeParameters, excludeRuntimeParametersfromURL, updatedSpotterChatPrompt, showSpotterRadiance, defaultQueryMode, enableStopAnswerGenerationEmbed, spotterChatConfig, spotterAnalystConfig, } = this.viewConfig;
25031
25318
  const queryParams = this.getBaseQueryParams();
25032
25319
  queryParams[Param.SpotterEnabled] = true;
25033
25320
  // Boolean params
@@ -25040,6 +25327,7 @@ query SendMessage($params: Input_convassist_SendMessageRequest) {
25040
25327
  setParamIfDefined(queryParams, Param.ShowSpotterRadiance, showSpotterRadiance, true);
25041
25328
  setParamIfDefined(queryParams, Param.DefaultQueryMode, defaultQueryMode);
25042
25329
  setParamIfDefined(queryParams, Param.EnableStopAnswerGenerationEmbed, enableStopAnswerGenerationEmbed, true);
25330
+ setParamIfDefined(queryParams, Param.AnalystId, spotterAnalystConfig === null || spotterAnalystConfig === void 0 ? void 0 : spotterAnalystConfig.analystId);
25043
25331
  // Handle spotterChatConfig params
25044
25332
  if (spotterChatConfig) {
25045
25333
  const { hideToolResponseCardBranding, toolResponseCardBrandingLabel, spotterFileUploadEnabled, spotterFileUploadFileTypes, enableStarterPrompts, } = spotterChatConfig;
@@ -25131,15 +25419,17 @@ query SendMessage($params: Input_convassist_SendMessageRequest) {
25131
25419
  // not be destroyed when the component is unmounted.
25132
25420
  isPreRenderedComponent = false) => {
25133
25421
  const Component = React.forwardRef((props, forwardedRef) => {
25422
+ var _a, _b;
25134
25423
  const ref = React.useRef(null);
25135
25424
  const { className, style, ...embedProps } = props;
25136
25425
  const { viewConfig, listeners } = getViewPropsAndListeners(embedProps);
25426
+ const preRenderId = (_b = (_a = props.preRenderConfig) === null || _a === void 0 ? void 0 : _a.preRenderId) !== null && _b !== void 0 ? _b : props.preRenderId;
25137
25427
  const handleDestroy = (tsEmbed) => {
25138
25428
  // do not destroy if it is a preRender component
25139
25429
  if (isPreRenderedComponent)
25140
25430
  return;
25141
25431
  // if component is connected to a preRendered component
25142
- if (props.preRenderId) {
25432
+ if (preRenderId) {
25143
25433
  tsEmbed.hidePreRender();
25144
25434
  return;
25145
25435
  }
@@ -25150,7 +25440,7 @@ query SendMessage($params: Input_convassist_SendMessageRequest) {
25150
25440
  };
25151
25441
  const handleDefaultRendering = (tsEmbed) => {
25152
25442
  // if component is connected to a preRendered component
25153
- if (props.preRenderId) {
25443
+ if (preRenderId) {
25154
25444
  tsEmbed.showPreRender();
25155
25445
  return;
25156
25446
  }
@@ -25399,7 +25689,7 @@ query SendMessage($params: Input_convassist_SendMessageRequest) {
25399
25689
  * const ref = useEmbedRef();
25400
25690
  * useEffect(() => {
25401
25691
  * ref.current.trigger(
25402
- * EmbedEvent.UpdateRuntimeFilter,
25692
+ * HostEvent.UpdateRuntimeFilters,
25403
25693
  * [{ columnName: 'name', operator: 'EQ', values: ['value']}]);
25404
25694
  * }, [])
25405
25695
  * return <LiveboardEmbed ref={ref} liveboardId={<id>} />