@thoughtspot/visual-embed-sdk 1.51.0 → 1.51.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) 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/spotter-utils.d.ts +8 -1
  37. package/cjs/src/embed/spotter-utils.d.ts.map +1 -1
  38. package/cjs/src/embed/spotter-utils.js +15 -1
  39. package/cjs/src/embed/spotter-utils.js.map +1 -1
  40. package/cjs/src/embed/spotter-utils.spec.js +68 -0
  41. package/cjs/src/embed/spotter-utils.spec.js.map +1 -1
  42. package/cjs/src/embed/spotter-viz-utils.d.ts +9 -10
  43. package/cjs/src/embed/spotter-viz-utils.d.ts.map +1 -1
  44. package/cjs/src/embed/spotter-viz-utils.js.map +1 -1
  45. package/cjs/src/embed/ts-embed.d.ts +16 -8
  46. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  47. package/cjs/src/embed/ts-embed.js +69 -32
  48. package/cjs/src/embed/ts-embed.js.map +1 -1
  49. package/cjs/src/embed/ts-embed.spec.js +537 -3
  50. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  51. package/cjs/src/index.d.ts +3 -3
  52. package/cjs/src/index.d.ts.map +1 -1
  53. package/cjs/src/index.js +3 -2
  54. package/cjs/src/index.js.map +1 -1
  55. package/cjs/src/react/all-types-export.d.ts +1 -1
  56. package/cjs/src/react/all-types-export.d.ts.map +1 -1
  57. package/cjs/src/react/all-types-export.js +2 -1
  58. package/cjs/src/react/all-types-export.js.map +1 -1
  59. package/cjs/src/react/all-types-export.parity.spec.d.ts +2 -0
  60. package/cjs/src/react/all-types-export.parity.spec.d.ts.map +1 -0
  61. package/cjs/src/react/all-types-export.parity.spec.js +194 -0
  62. package/cjs/src/react/all-types-export.parity.spec.js.map +1 -0
  63. package/cjs/src/react/index.d.ts +66 -32
  64. package/cjs/src/react/index.d.ts.map +1 -1
  65. package/cjs/src/react/index.js +5 -3
  66. package/cjs/src/react/index.js.map +1 -1
  67. package/cjs/src/react/index.spec.js +101 -0
  68. package/cjs/src/react/index.spec.js.map +1 -1
  69. package/cjs/src/types.d.ts +330 -18
  70. package/cjs/src/types.d.ts.map +1 -1
  71. package/cjs/src/types.js +182 -12
  72. package/cjs/src/types.js.map +1 -1
  73. package/cjs/src/utils.spec.js +4 -0
  74. package/cjs/src/utils.spec.js.map +1 -1
  75. package/dist/{index-aBzH5ZwF.js → index-DxLfQxoT.js} +1 -1
  76. package/dist/src/config.d.ts +1 -0
  77. package/dist/src/config.d.ts.map +1 -1
  78. package/dist/src/css-variables.d.ts +27 -0
  79. package/dist/src/css-variables.d.ts.map +1 -1
  80. package/dist/src/embed/app.d.ts +43 -12
  81. package/dist/src/embed/app.d.ts.map +1 -1
  82. package/dist/src/embed/base.d.ts +1 -1
  83. package/dist/src/embed/conversation.d.ts +171 -1
  84. package/dist/src/embed/conversation.d.ts.map +1 -1
  85. package/dist/src/embed/hostEventClient/host-event-client.d.ts +1 -1
  86. package/dist/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  87. package/dist/src/embed/liveboard.d.ts +40 -13
  88. package/dist/src/embed/liveboard.d.ts.map +1 -1
  89. package/dist/src/embed/spotter-utils.d.ts +8 -1
  90. package/dist/src/embed/spotter-utils.d.ts.map +1 -1
  91. package/dist/src/embed/spotter-viz-utils.d.ts +9 -10
  92. package/dist/src/embed/spotter-viz-utils.d.ts.map +1 -1
  93. package/dist/src/embed/ts-embed.d.ts +16 -8
  94. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  95. package/dist/src/index.d.ts +3 -3
  96. package/dist/src/index.d.ts.map +1 -1
  97. package/dist/src/react/all-types-export.d.ts +1 -1
  98. package/dist/src/react/all-types-export.d.ts.map +1 -1
  99. package/dist/src/react/all-types-export.parity.spec.d.ts +2 -0
  100. package/dist/src/react/all-types-export.parity.spec.d.ts.map +1 -0
  101. package/dist/src/react/index.d.ts +66 -32
  102. package/dist/src/react/index.d.ts.map +1 -1
  103. package/dist/src/types.d.ts +330 -18
  104. package/dist/src/types.d.ts.map +1 -1
  105. package/dist/tsembed-react.es.js +330 -61
  106. package/dist/tsembed-react.js +329 -60
  107. package/dist/tsembed.es.js +390 -123
  108. package/dist/tsembed.js +392 -125
  109. package/dist/visual-embed-sdk-react-full.d.ts +696 -89
  110. package/dist/visual-embed-sdk-react.d.ts +692 -88
  111. package/dist/visual-embed-sdk.d.ts +632 -59
  112. package/lib/package.json +1 -1
  113. package/lib/src/config.d.ts +1 -0
  114. package/lib/src/config.d.ts.map +1 -1
  115. package/lib/src/config.js +1 -0
  116. package/lib/src/config.js.map +1 -1
  117. package/lib/src/css-variables.d.ts +27 -0
  118. package/lib/src/css-variables.d.ts.map +1 -1
  119. package/lib/src/embed/app.d.ts +43 -12
  120. package/lib/src/embed/app.d.ts.map +1 -1
  121. package/lib/src/embed/app.js +30 -4
  122. package/lib/src/embed/app.js.map +1 -1
  123. package/lib/src/embed/app.spec.js +253 -1
  124. package/lib/src/embed/app.spec.js.map +1 -1
  125. package/lib/src/embed/base.d.ts +1 -1
  126. package/lib/src/embed/base.js +1 -1
  127. package/lib/src/embed/conversation.d.ts +171 -1
  128. package/lib/src/embed/conversation.d.ts.map +1 -1
  129. package/lib/src/embed/conversation.js +5 -3
  130. package/lib/src/embed/conversation.js.map +1 -1
  131. package/lib/src/embed/conversation.spec.js +125 -0
  132. package/lib/src/embed/conversation.spec.js.map +1 -1
  133. package/lib/src/embed/events.spec.js +3 -0
  134. package/lib/src/embed/events.spec.js.map +1 -1
  135. package/lib/src/embed/host-events.spec.js +36 -0
  136. package/lib/src/embed/host-events.spec.js.map +1 -1
  137. package/lib/src/embed/hostEventClient/host-event-client.d.ts +1 -1
  138. package/lib/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  139. package/lib/src/embed/hostEventClient/host-event-client.spec.js +18 -0
  140. package/lib/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  141. package/lib/src/embed/liveboard.d.ts +40 -13
  142. package/lib/src/embed/liveboard.d.ts.map +1 -1
  143. package/lib/src/embed/liveboard.js +25 -4
  144. package/lib/src/embed/liveboard.js.map +1 -1
  145. package/lib/src/embed/liveboard.spec.js +349 -2
  146. package/lib/src/embed/liveboard.spec.js.map +1 -1
  147. package/lib/src/embed/spotter-utils.d.ts +8 -1
  148. package/lib/src/embed/spotter-utils.d.ts.map +1 -1
  149. package/lib/src/embed/spotter-utils.js +13 -0
  150. package/lib/src/embed/spotter-utils.js.map +1 -1
  151. package/lib/src/embed/spotter-utils.spec.js +69 -1
  152. package/lib/src/embed/spotter-utils.spec.js.map +1 -1
  153. package/lib/src/embed/spotter-viz-utils.d.ts +9 -10
  154. package/lib/src/embed/spotter-viz-utils.d.ts.map +1 -1
  155. package/lib/src/embed/spotter-viz-utils.js.map +1 -1
  156. package/lib/src/embed/ts-embed.d.ts +16 -8
  157. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  158. package/lib/src/embed/ts-embed.js +69 -32
  159. package/lib/src/embed/ts-embed.js.map +1 -1
  160. package/lib/src/embed/ts-embed.spec.js +537 -3
  161. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  162. package/lib/src/index.d.ts +3 -3
  163. package/lib/src/index.d.ts.map +1 -1
  164. package/lib/src/index.js +2 -2
  165. package/lib/src/index.js.map +1 -1
  166. package/lib/src/react/all-types-export.d.ts +1 -1
  167. package/lib/src/react/all-types-export.d.ts.map +1 -1
  168. package/lib/src/react/all-types-export.js +1 -1
  169. package/lib/src/react/all-types-export.js.map +1 -1
  170. package/lib/src/react/all-types-export.parity.spec.d.ts +2 -0
  171. package/lib/src/react/all-types-export.parity.spec.d.ts.map +1 -0
  172. package/lib/src/react/all-types-export.parity.spec.js +191 -0
  173. package/lib/src/react/all-types-export.parity.spec.js.map +1 -0
  174. package/lib/src/react/index.d.ts +66 -32
  175. package/lib/src/react/index.d.ts.map +1 -1
  176. package/lib/src/react/index.js +5 -3
  177. package/lib/src/react/index.js.map +1 -1
  178. package/lib/src/react/index.spec.js +102 -1
  179. package/lib/src/react/index.spec.js.map +1 -1
  180. package/lib/src/types.d.ts +330 -18
  181. package/lib/src/types.d.ts.map +1 -1
  182. package/lib/src/types.js +182 -12
  183. package/lib/src/types.js.map +1 -1
  184. package/lib/src/utils.spec.js +4 -0
  185. package/lib/src/utils.spec.js.map +1 -1
  186. package/lib/src/visual-embed-sdk.d.ts +632 -59
  187. package/package.json +1 -1
  188. package/src/config.ts +1 -0
  189. package/src/css-variables.ts +32 -0
  190. package/src/embed/app.spec.ts +335 -1
  191. package/src/embed/app.ts +71 -13
  192. package/src/embed/base.ts +1 -1
  193. package/src/embed/conversation.spec.ts +136 -0
  194. package/src/embed/conversation.ts +181 -3
  195. package/src/embed/events.spec.ts +4 -0
  196. package/src/embed/host-events.spec.ts +48 -0
  197. package/src/embed/hostEventClient/host-event-client.spec.ts +34 -0
  198. package/src/embed/hostEventClient/host-event-client.ts +2 -2
  199. package/src/embed/liveboard.spec.ts +457 -2
  200. package/src/embed/liveboard.ts +74 -15
  201. package/src/embed/spotter-utils.spec.ts +72 -0
  202. package/src/embed/spotter-utils.ts +21 -1
  203. package/src/embed/spotter-viz-utils.ts +9 -10
  204. package/src/embed/ts-embed.spec.ts +699 -3
  205. package/src/embed/ts-embed.ts +83 -37
  206. package/src/index.ts +43 -2
  207. package/src/react/all-types-export.parity.spec.ts +208 -0
  208. package/src/react/all-types-export.ts +22 -0
  209. package/src/react/index.spec.tsx +158 -0
  210. package/src/react/index.tsx +70 -33
  211. package/src/types.ts +329 -16
  212. package/src/utils.spec.ts +5 -0
@@ -1,4 +1,4 @@
1
- /* @thoughtspot/visual-embed-sdk version 1.51.0 */
1
+ /* @thoughtspot/visual-embed-sdk version 1.51.1 */
2
2
  'use client';
3
3
  function _mergeNamespaces(n, m) {
4
4
  m.forEach(function (e) {
@@ -518,7 +518,7 @@ var EmbedEvent;
518
518
  * @returns nonFilteredColumns - The columns that were not filtered
519
519
  * @example
520
520
  * ```js
521
- * searchEmbed.on(EmbedEvent.DrillDown, {
521
+ * searchEmbed.on(EmbedEvent.Drilldown, {
522
522
  * points: {
523
523
  * clickedPoint,
524
524
  * selectedPoints: selectedPoint
@@ -579,7 +579,7 @@ var EmbedEvent;
579
579
  * @version SDK: 1.1.0 | ThoughtSpot: ts7.may.cl, 8.4.1.sw
580
580
  * @example
581
581
  * ```js
582
- * appEmbed.on(EmbedEvent.customAction, payload => {
582
+ * appEmbed.on(EmbedEvent.CustomAction, payload => {
583
583
  * const data = payload.data;
584
584
  * if (data.id === 'insert Custom Action ID here') {
585
585
  * console.log('Custom Action event:', data.embedAnswerData);
@@ -845,8 +845,8 @@ var EmbedEvent;
845
845
  *
846
846
  * **Note**: This event is deprecated in v1.21.0.
847
847
  * To fire an event when a download action is initiated on a chart or table,
848
- * use `EmbedEvent.DownloadAsPng`, `EmbedEvent.DownloadAsPDF`,
849
- * `EmbedEvent.DownloadAsCSV`, or `EmbedEvent.DownloadAsXLSX`
848
+ * use `EmbedEvent.DownloadAsPng`, `EmbedEvent.DownloadAsPdf`,
849
+ * `EmbedEvent.DownloadAsCsv`, or `EmbedEvent.DownloadAsXlsx`
850
850
  * @version SDK: 1.11.0 | ThoughtSpot: 8.3.0.cl, 8.4.1.sw
851
851
  * @example
852
852
  * ```js
@@ -896,10 +896,10 @@ var EmbedEvent;
896
896
  * @example
897
897
  * ```js
898
898
  * //emit when action starts
899
- * searchEmbed.on(EmbedEvent.DownloadAsCSV, payload => {
899
+ * searchEmbed.on(EmbedEvent.DownloadAsCsv, payload => {
900
900
  * console.log('download CSV', payload)}, {start: true })
901
901
  * //emit when action ends
902
- * searchEmbed.on(EmbedEvent.DownloadAsCSV, payload => {
902
+ * searchEmbed.on(EmbedEvent.DownloadAsCsv, payload => {
903
903
  * console.log('download CSV', payload)})
904
904
  * ```
905
905
  */
@@ -2356,6 +2356,7 @@ var HostEvent;
2356
2356
  * const url = await appEmbed.trigger(HostEvent.GetIframeUrl, {}, ContextType.Answer);
2357
2357
  * console.log("iFrameURL", url);
2358
2358
  * ```
2359
+ * @returns iframeUrl - The URL currently loaded in the embedded iframe.
2359
2360
  * @version SDK: 1.35.0 | ThoughtSpot: 10.4.0.cl
2360
2361
  */
2361
2362
  HostEvent["GetIframeUrl"] = "GetIframeUrl";
@@ -2522,6 +2523,41 @@ var HostEvent;
2522
2523
  * @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl
2523
2524
  */
2524
2525
  HostEvent["OpenFilter"] = "openFilter";
2526
+ /**
2527
+ * Open the add-filter modal of a Liveboard, the same dialog that the
2528
+ * *Add filter* button in the Liveboard edit header opens, so the host
2529
+ * app can start the add-filter flow from its own UI.
2530
+ *
2531
+ * The Liveboard must be in edit mode; the event is ignored otherwise.
2532
+ * Hiding the *Add filter* button with `hiddenActions:
2533
+ * [Action.AddFilter]` does not block this event, but disabling it with
2534
+ * `disabledActions` does.
2535
+ *
2536
+ * Unlike {@link HostEvent.OpenFilter}, which opens the panel of an
2537
+ * existing filter, this event starts the creation of a new filter.
2538
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
2539
+ * @example
2540
+ * ```js
2541
+ * liveboardEmbed.trigger(HostEvent.OpenAddFilterModal);
2542
+ * ```
2543
+ */
2544
+ HostEvent["OpenAddFilterModal"] = "openAddFilterModal";
2545
+ /**
2546
+ * Open the add-parameter panel of a Liveboard, the same panel that the
2547
+ * *Add parameter* button in the Liveboard edit header opens.
2548
+ * Mirrors {@link HostEvent.OpenAddFilterModal} for parameters.
2549
+ *
2550
+ * The Liveboard must be in edit mode; the event is ignored otherwise.
2551
+ * Hiding the *Add parameter* button with `hiddenActions:
2552
+ * [Action.AddParameter]` does not block this event, but disabling it
2553
+ * with `disabledActions` does.
2554
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
2555
+ * @example
2556
+ * ```js
2557
+ * liveboardEmbed.trigger(HostEvent.OpenAddParameterModal);
2558
+ * ```
2559
+ */
2560
+ HostEvent["OpenAddParameterModal"] = "openAddParameterModal";
2525
2561
  /**
2526
2562
  * Open the parameter panel for a particular parameter on a Liveboard.
2527
2563
  * Mirrors {@link HostEvent.OpenFilter} for parameters.
@@ -2603,6 +2639,10 @@ var HostEvent;
2603
2639
  * liveboardEmbed.trigger(HostEvent.getExportRequestForCurrentPinboard).then(
2604
2640
  * data=>console.log(data))
2605
2641
  * ```
2642
+ * @returns data - Object with a `v2Content` string: the export request
2643
+ * payload for the current Liveboard.
2644
+ * @returns type - The passthrough event name,
2645
+ * `getExportRequestForCurrentPinboard`.
2606
2646
  * @version SDK: 1.13.0 | ThoughtSpot: 8.5.0.cl, 8.8.1.sw
2607
2647
  */
2608
2648
  HostEvent["getExportRequestForCurrentPinboard"] = "getExportRequestForCurrentPinboard";
@@ -2705,6 +2745,9 @@ var HostEvent;
2705
2745
  * }, ContextType.Spotter);
2706
2746
  * ```
2707
2747
  *
2748
+ * @returns liveboardId - GUID of the Liveboard the Answer was pinned to.
2749
+ * @returns tabId - GUID of the tab within that Liveboard.
2750
+ * @returns vizId - GUID of the newly created visualization.
2708
2751
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
2709
2752
  */
2710
2753
  HostEvent["Pin"] = "pin";
@@ -2743,13 +2786,13 @@ var HostEvent;
2743
2786
  * Trigger the **Manage schedule** action on an embedded Liveboard
2744
2787
  * @example
2745
2788
  * ```js
2746
- * liveboardEmbed.trigger(HostEvent.ScheduleList)
2789
+ * liveboardEmbed.trigger(HostEvent.SchedulesList)
2747
2790
  * ```
2748
2791
  * @example
2749
2792
  * ```js
2750
2793
  * // Manage schedules from liveboard context
2751
2794
  * import { ContextType } from '@thoughtspot/visual-embed-sdk';
2752
- * liveboardEmbed.trigger(HostEvent.ScheduleList, {}, ContextType.Liveboard);
2795
+ * liveboardEmbed.trigger(HostEvent.SchedulesList, {}, ContextType.Liveboard);
2753
2796
  * ```
2754
2797
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
2755
2798
  */
@@ -3194,6 +3237,7 @@ var HostEvent;
3194
3237
  * console.log(tml.answer);
3195
3238
  * });
3196
3239
  * ```
3240
+ * @returns The TML representation of the current Answer, as an object.
3197
3241
  * @version SDK: 1.18.0 | ThoughtSpot: 8.10.0.cl, 9.0.1.sw
3198
3242
  * @important
3199
3243
  */
@@ -3638,6 +3682,8 @@ var HostEvent;
3638
3682
  * const data = await liveboardEmbed.trigger(HostEvent.GetFilters, {}, ContextType.Liveboard);
3639
3683
  * console.log('filters', data);
3640
3684
  * ```
3685
+ * @returns liveboardFilters - Filters applied on the Liveboard.
3686
+ * @returns runtimeFilters - Runtime filters applied on the Liveboard.
3641
3687
  * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
3642
3688
  */
3643
3689
  HostEvent["GetFilters"] = "getFilters";
@@ -3787,6 +3833,9 @@ var HostEvent;
3787
3833
  * console.log('tabs', tabDetails);
3788
3834
  * });
3789
3835
  * ```
3836
+ * @returns orderedTabIds - Tab GUIDs in the order they appear.
3837
+ * @returns numberOfTabs - Total number of tabs on the Liveboard.
3838
+ * @returns Tabs - Tab details, each with at least `id` and `name`.
3790
3839
  * @version SDK: 1.26.0 | ThoughtSpot: 9.7.0.cl
3791
3840
  */
3792
3841
  HostEvent["GetTabs"] = "getTabs";
@@ -3809,6 +3858,9 @@ var HostEvent;
3809
3858
  * console.log('groups', groupDetails);
3810
3859
  * });
3811
3860
  * ```
3861
+ * @returns orderedGroupIds - Group GUIDs in the order they appear.
3862
+ * @returns numberOfGroups - Total number of groups on the Liveboard.
3863
+ * @returns Groups - Group details, each with at least `id` and `name`.
3812
3864
  * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
3813
3865
  */
3814
3866
  HostEvent["GetGroups"] = "getGroups";
@@ -3883,6 +3935,9 @@ var HostEvent;
3883
3935
  * // Alternative direct usage (not recommended)
3884
3936
  * const {session} = await embed.trigger( HostEvent.GetAnswerSession )
3885
3937
  * ```
3938
+ * @returns session - Session identifier for the Answer, for use with the
3939
+ * `AnswerService`.
3940
+ * @returns embedAnswerData - Data backing the Answer, when available.
3886
3941
  * @version SDK: 1.26.0 | ThoughtSpot: 9.10.0.cl, 10.1.0.sw
3887
3942
  */
3888
3943
  HostEvent["GetAnswerSession"] = "getAnswerSession";
@@ -4016,12 +4071,16 @@ var HostEvent;
4016
4071
  * console.log('parameters', parameters);
4017
4072
  * });
4018
4073
  * ```
4074
+ * @returns parameters - Parameters currently applied on the Liveboard.
4019
4075
  * @version SDK: 1.29.0 | ThoughtSpot: 10.1.0.cl, 10.1.0.sw
4020
4076
  */
4021
4077
  HostEvent["GetParameters"] = "GetParameters";
4022
4078
  /**
4023
4079
  * Triggers an event to update a personalized view of a Liveboard.
4024
- * This event is deprecated. Use {@link HostEvent.UpdatePersonalizedView} instead.
4080
+ * This event is deprecated. Use {@link HostEvent.SelectPersonalizedView} instead,
4081
+ * which additionally accepts a `viewName`, resets to the original view when
4082
+ * called with an empty payload, and reports an error when a named view
4083
+ * cannot be found.
4025
4084
  * ```js
4026
4085
  * liveboardEmbed.trigger(HostEvent.UpdatePersonalisedView, {viewId: '1234'})
4027
4086
  * ```
@@ -4039,10 +4098,15 @@ var HostEvent;
4039
4098
  HostEvent["UpdatePersonalisedView"] = "UpdatePersonalisedView";
4040
4099
  /**
4041
4100
  * Triggers an event to update a personalized view of a Liveboard.
4101
+ * This event is deprecated. Use {@link HostEvent.SelectPersonalizedView} instead,
4102
+ * which additionally accepts a `viewName`, resets to the original view when
4103
+ * called with an empty payload, and reports an error when a named view
4104
+ * cannot be found.
4042
4105
  * ```js
4043
4106
  * liveboardEmbed.trigger(HostEvent.UpdatePersonalisedView, {viewId: '1234'})
4044
4107
  * ```
4045
4108
  * @version SDK: 1.48.0 | ThoughtSpot: 26.5.0.cl
4109
+ * @deprecated SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
4046
4110
  */
4047
4111
  HostEvent["UpdatePersonalizedView"] = "UpdatePersonalisedView";
4048
4112
  /**
@@ -4145,6 +4209,10 @@ var HostEvent;
4145
4209
  * description: "Generated from Spotter"
4146
4210
  * }, ContextType.Spotter);
4147
4211
  * ```
4212
+ * @returns answerId - GUID of the saved Answer.
4213
+ * @returns saveResponse - Raw response from the save operation.
4214
+ * @returns shareResponse - Raw response from the share operation, when the
4215
+ * Answer was also made discoverable.
4148
4216
  * @version SDK: 1.36.0 | ThoughtSpot: 10.6.0.cl
4149
4217
  */
4150
4218
  HostEvent["SaveAnswer"] = "saveAnswer";
@@ -4626,6 +4694,7 @@ var Param;
4626
4694
  Param["NumberFormatLocale"] = "numberFormatLocale";
4627
4695
  Param["CurrencyFormat"] = "currencyFormat";
4628
4696
  Param["Enable2ColumnLayout"] = "enable2ColumnLayout";
4697
+ Param["IsLiveboardAlwaysOn12ColLayout"] = "isLiveboardAlwaysOn12ColLayout";
4629
4698
  Param["IsFullAppEmbed"] = "isFullAppEmbed";
4630
4699
  Param["IsOnBeforeGetVizDataInterceptEnabled"] = "isOnBeforeGetVizDataInterceptEnabled";
4631
4700
  Param["FocusSearchBarOnRender"] = "focusSearchBarOnRender";
@@ -4649,6 +4718,7 @@ var Param;
4649
4718
  Param["PrimaryAction"] = "primaryAction";
4650
4719
  Param["isSpotterAgentEmbed"] = "isSpotterAgentEmbed";
4651
4720
  Param["IsLiveboardStylingAndGroupingEnabled"] = "isLiveboardStylingAndGroupingEnabled";
4721
+ Param["LiveboardGutter"] = "liveboardGutter";
4652
4722
  Param["IsLazyLoadingForEmbedEnabled"] = "isLazyLoadingForEmbedEnabled";
4653
4723
  Param["RootMarginForLazyLoad"] = "rootMarginForLazyLoad";
4654
4724
  Param["isPNGInScheduledEmailsEnabled"] = "isPNGInScheduledEmailsEnabled";
@@ -4684,14 +4754,17 @@ var Param;
4684
4754
  Param["IsStarterPromptsEnabled"] = "enableStarterPrompts";
4685
4755
  Param["UpdatedSpotterExperience"] = "updatedSpotterExperience";
4686
4756
  Param["SpotterDataSources"] = "spotterDataSources";
4757
+ Param["AnalystId"] = "analystId";
4758
+ Param["OpenSpotterOnLiveboardByDefault"] = "openSpotterOnLiveboardByDefault";
4687
4759
  })(Param || (Param = {}));
4688
4760
  /**
4689
4761
  * ThoughtSpot application pages include actions and menu commands
4690
4762
  * for various user-initiated operations. These actions are represented
4691
4763
  * as enumeration members in the SDK. To control actions in the embedded view:
4692
- * - disabledActions — the action is grayed out and still visible, but non-interactive (user can see but not click).
4693
- * - hiddenActions — the action is completely removed from the UI (user cannot see it at all).
4694
- * - visibleActions — allowlist, only these actions are shown; all others are hidden.
4764
+ * - disabledActions — the action is grayed out and still visible, but non-interactive
4765
+ * (user can see but not click). - hiddenActions — the action is completely removed from
4766
+ * the UI (user cannot see it at all). - visibleActions — allowlist, only these actions
4767
+ * are shown; all others are hidden.
4695
4768
  *
4696
4769
  * Use disabledActions to disable (gray out) an action.
4697
4770
  * Use hiddenActions to hide (fully remove) an action.
@@ -4745,6 +4818,17 @@ var Action;
4745
4818
  * ```
4746
4819
  */
4747
4820
  Action["SaveAsView"] = "saveAsView";
4821
+ /**
4822
+ * The **EditInputTable** action on a Liveboard
4823
+ * page. Allows users to edit an input table used in an Answer directly from
4824
+ * a Liveboard.
4825
+ * @example
4826
+ * ```js
4827
+ * disabledActions: [Action.EditInputTable]
4828
+ * ```
4829
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
4830
+ */
4831
+ Action["EditInputTable"] = "editInputTable";
4748
4832
  /**
4749
4833
  * The **Make a copy** action on a Liveboard or Answer
4750
4834
  * page. Creates a copy of the Liveboard.
@@ -6062,6 +6146,10 @@ var Action;
6062
6146
  * The **Add to Coaching** feature allows adding reference questions and
6063
6147
  * business terms to improve Spotter’s responses. This feature is generally available
6064
6148
  * (GA) from version 26.2.0.cl and enabled by default on embed deployments.
6149
+ *
6150
+ * This action governs both the answer-card **Add to memory** CTA and its
6151
+ * Spotter 3 successor, the response-footer **Remember this** CTA
6152
+ * (they are mutually exclusive).
6065
6153
  * @example
6066
6154
  * ```js
6067
6155
  * hiddenAction: [Action.InConversationTraining]
@@ -6442,6 +6530,56 @@ var Action;
6442
6530
  * @version SDK: 1.48.0 | ThoughtSpot Cloud: 26.5.0.cl
6443
6531
  */
6444
6532
  Action["SpotterChatModeSwitcher"] = "spotterChatModeSwitcher";
6533
+ /**
6534
+ * The **Basic Search** starter prompt pill.
6535
+ *
6536
+ * Starter prompt pills are the row of category buttons shown above the
6537
+ * Spotter chat input before a conversation starts. They give a new user
6538
+ * ready-made questions to click instead of typing one from scratch, and
6539
+ * disappear once the conversation begins. There are three, one per action
6540
+ * below.
6541
+ *
6542
+ * Clicking this pill opens a card of suggested simple questions; picking one
6543
+ * submits it to Spotter right away. Visible by default, and hidden along
6544
+ * with the other pills when the surface itself is off (see
6545
+ * {@link SpotterChatViewConfig.starterPrompts}).
6546
+ * @example
6547
+ * ```js
6548
+ * hiddenActions: [Action.QuickSearchPill]
6549
+ * ```
6550
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
6551
+ */
6552
+ Action["QuickSearchPill"] = "quickSearchPill";
6553
+ /**
6554
+ * The **Deep Analysis** starter prompt pill, next to
6555
+ * {@link Action.QuickSearchPill} above the Spotter chat input.
6556
+ *
6557
+ * Clicking it opens a card of suggested investigative questions ("why did
6558
+ * revenue drop?"). Picking one fills the chat input in Deep Analysis mode
6559
+ * rather than submitting immediately, so the user can edit it first.
6560
+ * Visible by default.
6561
+ * @example
6562
+ * ```js
6563
+ * hiddenActions: [Action.DeepAnalysisPill]
6564
+ * ```
6565
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
6566
+ */
6567
+ Action["DeepAnalysisPill"] = "deepAnalysisPill";
6568
+ /**
6569
+ * The **Data Literacy** starter prompt pill, next to
6570
+ * {@link Action.QuickSearchPill} above the Spotter chat input.
6571
+ *
6572
+ * Unlike the other two pills it opens no card: clicking it submits a prompt
6573
+ * that describes the data the model can answer over, helping a user who does
6574
+ * not yet know what is in the data source. The prompt text always comes from
6575
+ * ThoughtSpot, so only its label is customizable. Visible by default.
6576
+ * @example
6577
+ * ```js
6578
+ * hiddenActions: [Action.DataLiteracyPill]
6579
+ * ```
6580
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
6581
+ */
6582
+ Action["DataLiteracyPill"] = "dataLiteracyPill";
6445
6583
  /**
6446
6584
  * The **Include current period** checkbox for date filters.
6447
6585
  * Controls the visibility and availability of the option to include
@@ -6590,6 +6728,38 @@ var Action;
6590
6728
  * ```
6591
6729
  */
6592
6730
  Action["SpotterAnalystSidebar"] = "spotterAnalystSidebar";
6731
+ /**
6732
+ * Controls visibility and disable state of the analyst list
6733
+ * ("Show all") in the Spotter Analyst interface.
6734
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
6735
+ * @example
6736
+ * ```js
6737
+ * hiddenActions: [Action.SpotterAnalystList]
6738
+ * disabledActions: [Action.SpotterAnalystList]
6739
+ * ```
6740
+ */
6741
+ Action["SpotterAnalystList"] = "spotterAnalystList";
6742
+ /**
6743
+ * Controls visibility and disable state of the default Spotter analyst
6744
+ * entry in the Spotter Analyst interface.
6745
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
6746
+ * @example
6747
+ * ```js
6748
+ * hiddenActions: [Action.SpotterDefaultAnalyst]
6749
+ * disabledActions: [Action.SpotterDefaultAnalyst]
6750
+ * ```
6751
+ */
6752
+ Action["SpotterDefaultAnalyst"] = "spotterDefaultAnalyst";
6753
+ /**
6754
+ * The **Spotter** button in the Liveboard header.
6755
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
6756
+ * @example
6757
+ * ```js
6758
+ * hiddenActions: [Action.SpotterOnLiveboard]
6759
+ * disabledActions: [Action.SpotterOnLiveboard]
6760
+ * ```
6761
+ */
6762
+ Action["SpotterOnLiveboard"] = "spotterOnLiveboard";
6593
6763
  })(Action || (Action = {}));
6594
6764
  var PrefetchFeatures;
6595
6765
  (function (PrefetchFeatures) {
@@ -7057,7 +7227,7 @@ var TableContentDensity;
7057
7227
  TableContentDensity["Compact"] = "COMPACT";
7058
7228
  })(TableContentDensity || (TableContentDensity = {}));
7059
7229
 
7060
- var version$1="1.51.0";var pkg = {version:version$1};
7230
+ var version$1="1.51.1";var pkg = {version:version$1};
7061
7231
 
7062
7232
  const { version } = pkg;
7063
7233
 
@@ -7864,6 +8034,72 @@ const setParamIfDefined = (queryParams, param, value, asBoolean = false) => {
7864
8034
  }
7865
8035
  };
7866
8036
 
8037
+ /**
8038
+ * Copyright (c) 2023
8039
+ *
8040
+ * Utilities related to reading configuration objects
8041
+ * @summary Config-related utils
8042
+ * @author Ayon Ghosh <ayon.ghosh@thoughtspot.com>
8043
+ */
8044
+ const urlRegex = new RegExp([
8045
+ '(^(https?:)//)?',
8046
+ '(([^:/?#]*)(?::([0-9]+))?)',
8047
+ '(/{0,1}[^?#]*)',
8048
+ '(\\?[^#]*|)',
8049
+ '(#.*|)$', // hash
8050
+ ].join(''));
8051
+ /**
8052
+ * Parse and construct the ThoughtSpot hostname or IP address
8053
+ * from the embed configuration object.
8054
+ * @param config
8055
+ */
8056
+ const getThoughtSpotHost = (config) => {
8057
+ if (!config.thoughtSpotHost) {
8058
+ throw new Error(ERROR_MESSAGE.INVALID_THOUGHTSPOT_HOST);
8059
+ }
8060
+ const urlParts = config.thoughtSpotHost.match(urlRegex);
8061
+ if (!urlParts) {
8062
+ throw new Error(ERROR_MESSAGE.INVALID_THOUGHTSPOT_HOST);
8063
+ }
8064
+ const protocol = urlParts[2] || window.location.protocol;
8065
+ const host = urlParts[3];
8066
+ let path = urlParts[6];
8067
+ // Lose the trailing / if any
8068
+ if (path.charAt(path.length - 1) === '/') {
8069
+ path = path.substring(0, path.length - 1);
8070
+ }
8071
+ // const urlParams = urlParts[7];
8072
+ // const hash = urlParts[8];
8073
+ return `${protocol}//${host}${path}`;
8074
+ };
8075
+ const getV2BasePath = (config) => {
8076
+ if (config.basepath) {
8077
+ return config.basepath;
8078
+ }
8079
+ const tsHost = getThoughtSpotHost(config);
8080
+ // This is to handle when e2e's. Search is run on pods for
8081
+ // comp-blink-test-pipeline with baseUrl=https://localhost:8443.
8082
+ // This is to handle when the developer is developing in their local
8083
+ // environment.
8084
+ if (tsHost.includes('://localhost') && !tsHost.includes(':8443')) {
8085
+ return '';
8086
+ }
8087
+ return 'v2';
8088
+ };
8089
+ /**
8090
+ * It is a good idea to keep URLs under 2000 chars.
8091
+ * If this is ever breached, since we pass view configuration through
8092
+ * URL params, we would like to log a warning.
8093
+ * Reference: https://stackoverflow.com/questions/417142/what-is-the-maximum-length-of-a-url-in-different-browsers
8094
+ */
8095
+ const URL_MAX_LENGTH = 2000;
8096
+ /**
8097
+ * The default CSS dimensions of the embedded app
8098
+ */
8099
+ const DEFAULT_EMBED_WIDTH = '100%';
8100
+ const DEFAULT_EMBED_HEIGHT = '100%';
8101
+ const DEFAULT_LAZY_LOADING_MARGIN = '500px 0px';
8102
+
7867
8103
  /** Used for built-in method references. */
7868
8104
  var objectProto$d = Object.prototype;
7869
8105
 
@@ -9706,7 +9942,7 @@ class AnswerService {
9706
9942
  async getTML() {
9707
9943
  const { object } = await this.executeQuery(getAnswerTML, {});
9708
9944
  const edoc = object[0].edoc;
9709
- const YAML = await import('./index-aBzH5ZwF.js');
9945
+ const YAML = await import('./index-DxLfQxoT.js');
9710
9946
  const parsedDoc = YAML.parse(edoc);
9711
9947
  return {
9712
9948
  answer: {
@@ -12592,71 +12828,6 @@ const getCustomActions = (customActions) => {
12592
12828
  };
12593
12829
  };
12594
12830
 
12595
- /**
12596
- * Copyright (c) 2023
12597
- *
12598
- * Utilities related to reading configuration objects
12599
- * @summary Config-related utils
12600
- * @author Ayon Ghosh <ayon.ghosh@thoughtspot.com>
12601
- */
12602
- const urlRegex = new RegExp([
12603
- '(^(https?:)//)?',
12604
- '(([^:/?#]*)(?::([0-9]+))?)',
12605
- '(/{0,1}[^?#]*)',
12606
- '(\\?[^#]*|)',
12607
- '(#.*|)$', // hash
12608
- ].join(''));
12609
- /**
12610
- * Parse and construct the ThoughtSpot hostname or IP address
12611
- * from the embed configuration object.
12612
- * @param config
12613
- */
12614
- const getThoughtSpotHost = (config) => {
12615
- if (!config.thoughtSpotHost) {
12616
- throw new Error(ERROR_MESSAGE.INVALID_THOUGHTSPOT_HOST);
12617
- }
12618
- const urlParts = config.thoughtSpotHost.match(urlRegex);
12619
- if (!urlParts) {
12620
- throw new Error(ERROR_MESSAGE.INVALID_THOUGHTSPOT_HOST);
12621
- }
12622
- const protocol = urlParts[2] || window.location.protocol;
12623
- const host = urlParts[3];
12624
- let path = urlParts[6];
12625
- // Lose the trailing / if any
12626
- if (path.charAt(path.length - 1) === '/') {
12627
- path = path.substring(0, path.length - 1);
12628
- }
12629
- // const urlParams = urlParts[7];
12630
- // const hash = urlParts[8];
12631
- return `${protocol}//${host}${path}`;
12632
- };
12633
- const getV2BasePath = (config) => {
12634
- if (config.basepath) {
12635
- return config.basepath;
12636
- }
12637
- const tsHost = getThoughtSpotHost(config);
12638
- // This is to handle when e2e's. Search is run on pods for
12639
- // comp-blink-test-pipeline with baseUrl=https://localhost:8443.
12640
- // This is to handle when the developer is developing in their local
12641
- // environment.
12642
- if (tsHost.includes('://localhost') && !tsHost.includes(':8443')) {
12643
- return '';
12644
- }
12645
- return 'v2';
12646
- };
12647
- /**
12648
- * It is a good idea to keep URLs under 2000 chars.
12649
- * If this is ever breached, since we pass view configuration through
12650
- * URL params, we would like to log a warning.
12651
- * Reference: https://stackoverflow.com/questions/417142/what-is-the-maximum-length-of-a-url-in-different-browsers
12652
- */
12653
- const URL_MAX_LENGTH = 2000;
12654
- /**
12655
- * The default CSS dimensions of the embedded app
12656
- */
12657
- const DEFAULT_EMBED_WIDTH = '100%';
12658
- const DEFAULT_EMBED_HEIGHT = '100%';
12659
-
12660
12831
  var Config = {
12661
12832
  DEBUG: false,
12662
12833
  LIB_VERSION: '2.47.0'
@@ -20218,7 +20389,7 @@ const getIsInitCalled = () => { var _a; return !!((_a = getValueFromWindow(initF
20218
20389
  /**
20219
20390
  * Initializes the Visual Embed SDK globally and perform
20220
20391
  * authentication if applicable. This function needs to be called before any ThoughtSpot
20221
- * component like Liveboard etc can be embedded. But need not wait for AuthEvent.SUCCESS
20392
+ * component like Liveboard etc can be embedded. But need not wait for AuthStatus.SUCCESS
20222
20393
  * to actually embed. That is handled internally.
20223
20394
  * @param embedConfig The configuration object containing ThoughtSpot host,
20224
20395
  * authentication mechanism and so on.
@@ -21198,7 +21369,7 @@ class TsEmbed {
21198
21369
  */
21199
21370
  this.shouldEncodeUrlQueryParams = false;
21200
21371
  this.defaultHiddenActions = [Action.ReportError];
21201
- this.preRenderContainerEl = null;
21372
+ this.preRenderContainerEl = document.body;
21202
21373
  this.containerScrollListener = null;
21203
21374
  /**
21204
21375
  * Handler for fullscreen change events
@@ -21886,11 +22057,27 @@ class TsEmbed {
21886
22057
  iFrame.name = 'ThoughtSpot Embedded Analytics';
21887
22058
  return iFrame;
21888
22059
  }
22060
+ /**
22061
+ * Returns a merged {@link PreRenderConfig} object where each shared key
22062
+ * prefers `preRenderConfig.key` over the top-level `viewConfig.key` for
22063
+ * backward compatibility.
22064
+ */
22065
+ getPreRenderConfig() {
22066
+ var _a, _b, _c, _d;
22067
+ const viewCfg = this.viewConfig;
22068
+ const preRenderCfg = (_a = viewCfg.preRenderConfig) !== null && _a !== void 0 ? _a : {};
22069
+ return {
22070
+ ...preRenderCfg,
22071
+ preRenderId: (_b = preRenderCfg.preRenderId) !== null && _b !== void 0 ? _b : viewCfg.preRenderId,
22072
+ preRenderContainer: (_c = preRenderCfg.preRenderContainer) !== null && _c !== void 0 ? _c : viewCfg.preRenderContainer,
22073
+ doNotTrackPreRenderSize: (_d = preRenderCfg.doNotTrackPreRenderSize) !== null && _d !== void 0 ? _d : viewCfg.doNotTrackPreRenderSize,
22074
+ };
22075
+ }
21889
22076
  /**
21890
22077
  * Returns true if this embed instance is configured for pre-rendering.
21891
22078
  */
21892
22079
  isPreRenderEmbed() {
21893
- return !!this.viewConfig.preRenderId;
22080
+ return !!this.getPreRenderConfig().preRenderId;
21894
22081
  }
21895
22082
  handleInsertionIntoDOM(child) {
21896
22083
  if (this.isPreRenderEmbed()) {
@@ -22026,6 +22213,7 @@ class TsEmbed {
22026
22213
  this.setIframeElement(this.preRenderChild);
22027
22214
  }
22028
22215
  this.isRendered = true;
22216
+ this.inheritPreRenderContainer();
22029
22217
  }
22030
22218
  return this.isPreRenderConnected();
22031
22219
  }
@@ -22076,7 +22264,7 @@ class TsEmbed {
22076
22264
  */
22077
22265
  resolvePreRenderContainerTarget() {
22078
22266
  var _a;
22079
- const containerConfig = this.viewConfig.preRenderContainer;
22267
+ const containerConfig = this.getPreRenderConfig().preRenderContainer;
22080
22268
  let container = null;
22081
22269
  if (typeof containerConfig === 'string') {
22082
22270
  try {
@@ -22094,15 +22282,35 @@ class TsEmbed {
22094
22282
  }
22095
22283
  return (_a = container) !== null && _a !== void 0 ? _a : document.body;
22096
22284
  }
22285
+ inheritPreRenderContainer() {
22286
+ var _a;
22287
+ const preRenderedObject = this.getPreRenderObj();
22288
+ if (!preRenderedObject || preRenderedObject === this) {
22289
+ return;
22290
+ }
22291
+ const ownerContainer = (_a = preRenderedObject.preRenderContainerEl) !== null && _a !== void 0 ? _a : document.body;
22292
+ if (this.getPreRenderConfig().preRenderContainer
22293
+ && this.resolvePreRenderContainerTarget() !== ownerContainer) {
22294
+ logger$3.warn('preRenderContainer is applied only by the component that creates the preRender; '
22295
+ + 'the one passed here is ignored. Set it on the PreRender component instead.');
22296
+ }
22297
+ this.preRenderContainerEl = ownerContainer;
22298
+ this.applyPreRenderContainerPositioning();
22299
+ }
22300
+ getCustomPreRenderContainer() {
22301
+ const container = this.preRenderContainerEl;
22302
+ return container && container !== document.body ? container : null;
22303
+ }
22097
22304
  /**
22098
- * Makes the container a positioning context for the absolutely positioned
22099
- * wrapper, stashing the original inline `position` on the element (once) so
22100
- * destroy() can restore it exactly, leaving no trace. Recording it on the
22101
- * element rather than per-instance lets the override be reverted even when
22102
- * embeds share the same container.
22305
+ * Makes the resolved container a positioning context for the absolutely
22306
+ * positioned wrapper, stashing the original inline `position` on the element
22307
+ * (once) so destroy() can restore it exactly, leaving no trace. Recording it
22308
+ * on the element rather than per-instance lets the override be reverted even
22309
+ * when embeds share the same container.
22103
22310
  */
22104
- applyPreRenderContainerPositioning(container) {
22105
- if (container === document.body) {
22311
+ applyPreRenderContainerPositioning() {
22312
+ const container = this.getCustomPreRenderContainer();
22313
+ if (!container) {
22106
22314
  return;
22107
22315
  }
22108
22316
  const pos = window.getComputedStyle(container).position;
@@ -22145,11 +22353,11 @@ class TsEmbed {
22145
22353
  resolved.addEventListener('scroll', this.containerScrollListener);
22146
22354
  }
22147
22355
  }
22148
- this.applyPreRenderContainerPositioning(resolved);
22356
+ this.preRenderContainerEl = resolved;
22357
+ this.applyPreRenderContainerPositioning();
22149
22358
  if (wrapper.parentNode !== resolved) {
22150
22359
  resolved.appendChild(wrapper);
22151
22360
  }
22152
- this.preRenderContainerEl = resolved;
22153
22361
  }
22154
22362
  insertIntoDOMForPreRender(child) {
22155
22363
  const preRenderChild = this.createPreRenderChild(child);
@@ -22172,7 +22380,7 @@ class TsEmbed {
22172
22380
  }
22173
22381
  const targetContainer = this.resolvePreRenderContainerTarget();
22174
22382
  this.preRenderContainerEl = targetContainer;
22175
- this.applyPreRenderContainerPositioning(targetContainer);
22383
+ this.applyPreRenderContainerPositioning();
22176
22384
  targetContainer.appendChild(preRenderWrapper);
22177
22385
  }
22178
22386
  insertIntoDOM(child) {
@@ -22578,7 +22786,7 @@ class TsEmbed {
22578
22786
  showPreRenderByDefault,
22579
22787
  replaceExistingPreRender,
22580
22788
  });
22581
- if (!this.viewConfig.preRenderId) {
22789
+ if (!this.getPreRenderConfig().preRenderId) {
22582
22790
  logger$3.error(ERROR_MESSAGE.PRERENDER_ID_MISSING);
22583
22791
  return this;
22584
22792
  }
@@ -22634,7 +22842,7 @@ class TsEmbed {
22634
22842
  }
22635
22843
  // Drop our reference up front so a destroyed embed never pins a
22636
22844
  // detached container in memory; restoration uses the local handle.
22637
- this.preRenderContainerEl = null;
22845
+ this.preRenderContainerEl = document.body;
22638
22846
  const originalPosition = container.dataset[PRERENDER_CONTAINER_ORIGINAL_POSITION_KEY];
22639
22847
  if (originalPosition === undefined) {
22640
22848
  // We never overrode this container's position; nothing to restore.
@@ -22657,9 +22865,7 @@ class TsEmbed {
22657
22865
  if (!this.containerScrollListener) {
22658
22866
  return;
22659
22867
  }
22660
- const customContainer = this.preRenderContainerEl && this.preRenderContainerEl !== document.body
22661
- ? this.preRenderContainerEl
22662
- : null;
22868
+ const customContainer = this.getCustomPreRenderContainer();
22663
22869
  customContainer === null || customContainer === void 0 ? void 0 : customContainer.removeEventListener('scroll', this.containerScrollListener);
22664
22870
  this.containerScrollListener = null;
22665
22871
  }
@@ -22756,12 +22962,12 @@ class TsEmbed {
22756
22962
  async showPreRender() {
22757
22963
  var _a, _b;
22758
22964
  uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_SHOW_PRE_RENDER, {
22759
- preRenderId: this.viewConfig.preRenderId,
22965
+ preRenderId: this.getPreRenderConfig().preRenderId,
22760
22966
  embedComponentType: this.viewConfig.embedComponentType,
22761
22967
  });
22762
22968
  if (this.shouldWaitForRenderPromise)
22763
22969
  await this.isReadyForRenderPromise;
22764
- if (!this.viewConfig.preRenderId) {
22970
+ if (!this.getPreRenderConfig().preRenderId) {
22765
22971
  logger$3.error(ERROR_MESSAGE.PRERENDER_ID_MISSING);
22766
22972
  return this;
22767
22973
  }
@@ -22792,14 +22998,12 @@ class TsEmbed {
22792
22998
  (_a = this.hostElement.querySelector(`#${placeHolderId}`)) === null || _a === void 0 ? void 0 : _a.remove();
22793
22999
  this.hostElement.appendChild(this.insertedDomEl);
22794
23000
  this.syncPreRenderStyle();
22795
- const customContainer = this.preRenderContainerEl && this.preRenderContainerEl !== document.body
22796
- ? this.preRenderContainerEl
22797
- : null;
23001
+ const customContainer = this.getCustomPreRenderContainer();
22798
23002
  if (customContainer && !this.containerScrollListener) {
22799
23003
  this.containerScrollListener = () => this.syncPreRenderStyle();
22800
23004
  customContainer.addEventListener('scroll', this.containerScrollListener);
22801
23005
  }
22802
- if (!this.viewConfig.doNotTrackPreRenderSize) {
23006
+ if (!this.getPreRenderConfig().doNotTrackPreRenderSize) {
22803
23007
  const observeTarget = (_b = this.insertedDomEl) !== null && _b !== void 0 ? _b : this.hostElement;
22804
23008
  this.resizeObserver = new ResizeObserver((entries) => {
22805
23009
  entries.forEach((entry) => {
@@ -22841,13 +23045,15 @@ class TsEmbed {
22841
23045
  logger$3.error(ERROR_MESSAGE.SYNC_STYLE_CALLED_BEFORE_RENDER);
22842
23046
  return;
22843
23047
  }
23048
+ if (!this.getPreRenderPlaceHolderElement().isConnected) {
23049
+ logger$3.debug('syncPreRenderStyle skipped: placeholder is detached');
23050
+ return;
23051
+ }
22844
23052
  // Self-heal if the resolved container was remounted/detached, so we
22845
23053
  // never measure a stale node (which would collapse the wrapper).
22846
23054
  this.reconcilePreRenderContainer();
22847
23055
  const elBoundingClient = this.getPreRenderPlaceHolderElement().getBoundingClientRect();
22848
- const containerEl = this.preRenderContainerEl && this.preRenderContainerEl !== document.body
22849
- ? this.preRenderContainerEl
22850
- : null;
23056
+ const containerEl = this.getCustomPreRenderContainer();
22851
23057
  const containerRect = (_a = containerEl === null || containerEl === void 0 ? void 0 : containerEl.getBoundingClientRect()) !== null && _a !== void 0 ? _a : { x: 0, y: 0 };
22852
23058
  const scrollX = containerEl ? containerEl.scrollLeft : window.scrollX;
22853
23059
  const scrollY = containerEl ? containerEl.scrollTop : window.scrollY;
@@ -22865,7 +23071,7 @@ class TsEmbed {
22865
23071
  */
22866
23072
  hidePreRender() {
22867
23073
  uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_HIDE_PRE_RENDER, {
22868
- preRenderId: this.viewConfig.preRenderId,
23074
+ preRenderId: this.getPreRenderConfig().preRenderId,
22869
23075
  embedComponentType: this.viewConfig.embedComponentType,
22870
23076
  });
22871
23077
  logger$3.debug('HidePreRender Called');
@@ -22874,10 +23080,11 @@ class TsEmbed {
22874
23080
  logger$3.warn('PreRender should be called before hiding it using hidePreRender.');
22875
23081
  return;
22876
23082
  }
23083
+ const { zIndex } = this.getPreRenderConfig();
22877
23084
  const preRenderHideStyles = {
22878
23085
  opacity: '0',
22879
23086
  pointerEvents: 'none',
22880
- zIndex: '-1000',
23087
+ zIndex: zIndex !== undefined ? String(zIndex) : '-1000',
22881
23088
  position: 'absolute',
22882
23089
  top: '0',
22883
23090
  left: '0',
@@ -22902,10 +23109,11 @@ class TsEmbed {
22902
23109
  * @property {string} child - The HTML element ID for the PreRender child.
22903
23110
  */
22904
23111
  getPreRenderIds() {
23112
+ const preRenderId = this.getPreRenderConfig().preRenderId;
22905
23113
  return {
22906
- wrapper: `${PRERENDER_WRAPPER_ID_PREFIX}${this.viewConfig.preRenderId}`,
22907
- child: `tsEmbed-pre-render-child-${this.viewConfig.preRenderId}`,
22908
- placeHolder: `tsEmbed-pre-render-placeholder-${this.viewConfig.preRenderId}`,
23114
+ wrapper: `${PRERENDER_WRAPPER_ID_PREFIX}${preRenderId}`,
23115
+ child: `tsEmbed-pre-render-child-${preRenderId}`,
23116
+ placeHolder: `tsEmbed-pre-render-placeholder-${preRenderId}`,
22909
23117
  };
22910
23118
  }
22911
23119
  /**
@@ -23087,6 +23295,19 @@ function buildSpotterShareConversationAppInitData(initData, viewConfig) {
23087
23295
  spotterShareConversationConfig,
23088
23296
  },
23089
23297
  };
23298
+ }
23299
+ function buildStarterPromptsAppInitData(initData, viewConfig) {
23300
+ var _a;
23301
+ const starterPrompts = (_a = viewConfig.spotterChatConfig) === null || _a === void 0 ? void 0 : _a.starterPrompts;
23302
+ if (!starterPrompts)
23303
+ return initData;
23304
+ return {
23305
+ ...initData,
23306
+ embedParams: {
23307
+ ...(initData.embedParams || {}),
23308
+ starterPrompts,
23309
+ },
23310
+ };
23090
23311
  }
23091
23312
 
23092
23313
  function buildSpotterVizAppInitData(initData, viewConfig) {
@@ -23152,6 +23373,10 @@ var Page;
23152
23373
  * Collections listing page
23153
23374
  */
23154
23375
  Page["Collections"] = "collections";
23376
+ /**
23377
+ * Liveboard schedules listing page
23378
+ */
23379
+ Page["LiveboardSchedules"] = "liveboard-schedules";
23155
23380
  })(Page || (Page = {}));
23156
23381
  /**
23157
23382
  * Define the initial state of column custom group accordions
@@ -23297,6 +23522,15 @@ class AppEmbed extends V1Embed {
23297
23522
  this.setIFrameHeight(frameHeight || this.defaultHeight);
23298
23523
  };
23299
23524
  if (this.viewConfig.fullHeight === true) {
23525
+ if (this.viewConfig.lazyLoadingForFullHeight === undefined) {
23526
+ this.viewConfig.lazyLoadingForFullHeight = true;
23527
+ }
23528
+ if (this.viewConfig.enableScrollableContainerLazyLoading === undefined) {
23529
+ this.viewConfig.enableScrollableContainerLazyLoading = true;
23530
+ }
23531
+ if (this.viewConfig.lazyLoadingMargin === undefined) {
23532
+ this.viewConfig.lazyLoadingMargin = DEFAULT_LAZY_LOADING_MARGIN;
23533
+ }
23300
23534
  this.on(EmbedEvent.RouteChange, this.setIframeHeightForNonEmbedLiveboard);
23301
23535
  this.on(EmbedEvent.EmbedHeight, this.updateIFrameHeight);
23302
23536
  this.on(EmbedEvent.EmbedIframeCenter, this.embedIframeCenter);
@@ -23319,7 +23553,8 @@ class AppEmbed extends V1Embed {
23319
23553
  const defaultAppInitData = await super.getAppInitData();
23320
23554
  const sidebarInitData = buildSpotterSidebarAppInitData(defaultAppInitData, this.viewConfig, this.handleError.bind(this));
23321
23555
  const vizInitData = buildSpotterVizAppInitData(sidebarInitData, this.viewConfig);
23322
- return buildSpotterShareConversationAppInitData(vizInitData, this.viewConfig);
23556
+ const shareInitData = buildSpotterShareConversationAppInitData(vizInitData, this.viewConfig);
23557
+ return buildStarterPromptsAppInitData(shareInitData, this.viewConfig);
23323
23558
  }
23324
23559
  /**
23325
23560
  * Constructs a map of parameters to be passed on to the
@@ -23330,7 +23565,7 @@ class AppEmbed extends V1Embed {
23330
23565
  return getQueryParamString(params, true);
23331
23566
  }
23332
23567
  getEmbedParamsObject() {
23333
- 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$1.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;
23568
+ 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$1.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;
23334
23569
  let params = {};
23335
23570
  params[Param.PrimaryNavHidden] = !showPrimaryNavbar;
23336
23571
  params[Param.HideProfleAndHelp] = !!disableProfileAndHelp;
@@ -23384,7 +23619,7 @@ class AppEmbed extends V1Embed {
23384
23619
  }
23385
23620
  // Handle spotterChatConfig params
23386
23621
  if (spotterChatConfig) {
23387
- const { hideToolResponseCardBranding, toolResponseCardBrandingLabel, spotterFileUploadEnabled, spotterFileUploadFileTypes, enableStarterPrompts, } = spotterChatConfig;
23622
+ const { hideToolResponseCardBranding, toolResponseCardBrandingLabel, spotterFileUploadEnabled, spotterFileUploadFileTypes, enableStarterPrompts, openSpotterOnLiveboardByDefault, } = spotterChatConfig;
23388
23623
  setParamIfDefined(params, Param.HideToolResponseCardBranding, hideToolResponseCardBranding, true);
23389
23624
  setParamIfDefined(params, Param.ToolResponseCardBrandingLabel, toolResponseCardBrandingLabel);
23390
23625
  if (spotterFileUploadEnabled !== undefined) {
@@ -23393,6 +23628,9 @@ class AppEmbed extends V1Embed {
23393
23628
  if (enableStarterPrompts !== undefined) {
23394
23629
  params[Param.IsStarterPromptsEnabled] = enableStarterPrompts;
23395
23630
  }
23631
+ if (openSpotterOnLiveboardByDefault !== undefined) {
23632
+ params[Param.OpenSpotterOnLiveboardByDefault] = openSpotterOnLiveboardByDefault;
23633
+ }
23396
23634
  if (spotterFileUploadFileTypes !== undefined) {
23397
23635
  params[Param.SpotterFileUploadFileTypes] = JSON.stringify(spotterFileUploadFileTypes);
23398
23636
  }
@@ -23436,6 +23674,9 @@ class AppEmbed extends V1Embed {
23436
23674
  if (enable2ColumnLayout !== undefined) {
23437
23675
  params[Param.Enable2ColumnLayout] = enable2ColumnLayout;
23438
23676
  }
23677
+ if (isLiveboardAlwaysOn12ColLayout !== undefined) {
23678
+ params[Param.IsLiveboardAlwaysOn12ColLayout] = isLiveboardAlwaysOn12ColLayout;
23679
+ }
23439
23680
  if (enableAskSage) {
23440
23681
  params[Param.enableAskSage] = enableAskSage;
23441
23682
  }
@@ -23448,6 +23689,9 @@ class AppEmbed extends V1Embed {
23448
23689
  if (isLiveboardStylingAndGroupingEnabled !== undefined) {
23449
23690
  params[Param.IsLiveboardStylingAndGroupingEnabled] = isLiveboardStylingAndGroupingEnabled;
23450
23691
  }
23692
+ if (liveboardGutter !== undefined) {
23693
+ params[Param.LiveboardGutter] = liveboardGutter;
23694
+ }
23451
23695
  if (isPNGInScheduledEmailsEnabled !== undefined) {
23452
23696
  params[Param.isPNGInScheduledEmailsEnabled] = isPNGInScheduledEmailsEnabled;
23453
23697
  }
@@ -23558,6 +23802,8 @@ class AppEmbed extends V1Embed {
23558
23802
  return modularHomeExperience ? 'home/monitor-alerts' : 'insights/monitor-alerts';
23559
23803
  case Page.Collections:
23560
23804
  return 'collections';
23805
+ case Page.LiveboardSchedules:
23806
+ return 'home/liveboard-schedules';
23561
23807
  case Page.Home:
23562
23808
  default:
23563
23809
  return 'home';
@@ -23843,6 +24089,15 @@ class LiveboardEmbed extends V1Embed {
23843
24089
  logger$3.warn('Full height is currently only supported for Liveboard embeds.' +
23844
24090
  'Using full height with vizId might lead to unexpected behavior.');
23845
24091
  }
24092
+ if (this.viewConfig.lazyLoadingForFullHeight === undefined) {
24093
+ this.viewConfig.lazyLoadingForFullHeight = true;
24094
+ }
24095
+ if (this.viewConfig.enableScrollableContainerLazyLoading === undefined) {
24096
+ this.viewConfig.enableScrollableContainerLazyLoading = true;
24097
+ }
24098
+ if (this.viewConfig.lazyLoadingMargin === undefined) {
24099
+ this.viewConfig.lazyLoadingMargin = DEFAULT_LAZY_LOADING_MARGIN;
24100
+ }
23846
24101
  this.on(EmbedEvent.RouteChange, this.setIframeHeightForNonEmbedLiveboard);
23847
24102
  this.on(EmbedEvent.EmbedHeight, this.updateIFrameHeight);
23848
24103
  this.on(EmbedEvent.EmbedIframeCenter, this.embedIframeCenter);
@@ -23851,7 +24106,8 @@ class LiveboardEmbed extends V1Embed {
23851
24106
  }
23852
24107
  async getAppInitData() {
23853
24108
  const defaultAppInitData = await super.getAppInitData();
23854
- return buildSpotterVizAppInitData(defaultAppInitData, this.viewConfig);
24109
+ const vizInitData = buildSpotterVizAppInitData(defaultAppInitData, this.viewConfig);
24110
+ return buildStarterPromptsAppInitData(vizInitData, this.viewConfig);
23855
24111
  }
23856
24112
  /**
23857
24113
  * Construct a map of params to be passed on to the
@@ -23865,7 +24121,7 @@ class LiveboardEmbed extends V1Embed {
23865
24121
  getEmbedParamsObject() {
23866
24122
  let params = {};
23867
24123
  params = this.getBaseQueryParams(params);
23868
- 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;
24124
+ 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;
23869
24125
  const preventLiveboardFilterRemoval = this.viewConfig.preventLiveboardFilterRemoval
23870
24126
  || this.viewConfig.preventPinboardFilterRemoval;
23871
24127
  if (fullHeight === true) {
@@ -23906,6 +24162,9 @@ class LiveboardEmbed extends V1Embed {
23906
24162
  if (enable2ColumnLayout !== undefined) {
23907
24163
  params[Param.Enable2ColumnLayout] = enable2ColumnLayout;
23908
24164
  }
24165
+ if (isLiveboardAlwaysOn12ColLayout !== undefined) {
24166
+ params[Param.IsLiveboardAlwaysOn12ColLayout] = isLiveboardAlwaysOn12ColLayout;
24167
+ }
23909
24168
  if (hideTabPanel) {
23910
24169
  params[Param.HideTabPanel] = hideTabPanel;
23911
24170
  }
@@ -23933,6 +24192,9 @@ class LiveboardEmbed extends V1Embed {
23933
24192
  if (isLiveboardStylingAndGroupingEnabled !== undefined) {
23934
24193
  params[Param.IsLiveboardStylingAndGroupingEnabled] = isLiveboardStylingAndGroupingEnabled;
23935
24194
  }
24195
+ if (liveboardGutter !== undefined) {
24196
+ params[Param.LiveboardGutter] = liveboardGutter;
24197
+ }
23936
24198
  if (isPNGInScheduledEmailsEnabled !== undefined) {
23937
24199
  params[Param.isPNGInScheduledEmailsEnabled] = isPNGInScheduledEmailsEnabled;
23938
24200
  }
@@ -23950,7 +24212,7 @@ class LiveboardEmbed extends V1Embed {
23950
24212
  }
23951
24213
  // Handle spotterChatConfig params
23952
24214
  if (spotterChatConfig) {
23953
- const { hideToolResponseCardBranding, toolResponseCardBrandingLabel, spotterFileUploadEnabled, spotterFileUploadFileTypes, enableStarterPrompts, } = spotterChatConfig;
24215
+ const { hideToolResponseCardBranding, toolResponseCardBrandingLabel, spotterFileUploadEnabled, spotterFileUploadFileTypes, enableStarterPrompts, openSpotterOnLiveboardByDefault, } = spotterChatConfig;
23954
24216
  setParamIfDefined(params, Param.HideToolResponseCardBranding, hideToolResponseCardBranding, true);
23955
24217
  setParamIfDefined(params, Param.ToolResponseCardBrandingLabel, toolResponseCardBrandingLabel);
23956
24218
  if (spotterFileUploadEnabled !== undefined) {
@@ -23959,6 +24221,9 @@ class LiveboardEmbed extends V1Embed {
23959
24221
  if (enableStarterPrompts !== undefined) {
23960
24222
  params[Param.IsStarterPromptsEnabled] = enableStarterPrompts;
23961
24223
  }
24224
+ if (openSpotterOnLiveboardByDefault !== undefined) {
24225
+ params[Param.OpenSpotterOnLiveboardByDefault] = openSpotterOnLiveboardByDefault;
24226
+ }
23962
24227
  if (spotterFileUploadFileTypes !== undefined) {
23963
24228
  params[Param.SpotterFileUploadFileTypes] = JSON.stringify(spotterFileUploadFileTypes);
23964
24229
  }
@@ -24204,7 +24469,7 @@ class LiveboardEmbed extends V1Embed {
24204
24469
  if (this.isRendered) {
24205
24470
  this.trigger(HostEvent.Navigate, path.substring(1));
24206
24471
  }
24207
- else if (this.viewConfig.preRenderId) {
24472
+ else if (this.getPreRenderConfig().preRenderId) {
24208
24473
  this.preRender(true);
24209
24474
  }
24210
24475
  else {
@@ -25077,10 +25342,11 @@ class SpotterEmbed extends TsEmbed {
25077
25342
  async getAppInitData() {
25078
25343
  const defaultAppInitData = await super.getAppInitData();
25079
25344
  const sidebarInitData = buildSpotterSidebarAppInitData(defaultAppInitData, this.viewConfig, this.handleError.bind(this));
25080
- return buildSpotterShareConversationAppInitData(sidebarInitData, this.viewConfig);
25345
+ const shareInitData = buildSpotterShareConversationAppInitData(sidebarInitData, this.viewConfig);
25346
+ return buildStarterPromptsAppInitData(shareInitData, this.viewConfig);
25081
25347
  }
25082
25348
  getEmbedParamsObject() {
25083
- const { searchOptions, disableSourceSelection, hideSourceSelection, dataPanelV2, updatedSpotterExperience, showSpotterLimitations, hideSampleQuestions, runtimeFilters, excludeRuntimeFiltersfromURL, runtimeParameters, excludeRuntimeParametersfromURL, updatedSpotterChatPrompt, showSpotterRadiance, defaultQueryMode, enableStopAnswerGenerationEmbed, spotterChatConfig, } = this.viewConfig;
25349
+ const { searchOptions, disableSourceSelection, hideSourceSelection, dataPanelV2, updatedSpotterExperience, showSpotterLimitations, hideSampleQuestions, runtimeFilters, excludeRuntimeFiltersfromURL, runtimeParameters, excludeRuntimeParametersfromURL, updatedSpotterChatPrompt, showSpotterRadiance, defaultQueryMode, enableStopAnswerGenerationEmbed, spotterChatConfig, spotterAnalystConfig, } = this.viewConfig;
25084
25350
  const queryParams = this.getBaseQueryParams();
25085
25351
  queryParams[Param.SpotterEnabled] = true;
25086
25352
  // Boolean params
@@ -25093,6 +25359,7 @@ class SpotterEmbed extends TsEmbed {
25093
25359
  setParamIfDefined(queryParams, Param.ShowSpotterRadiance, showSpotterRadiance, true);
25094
25360
  setParamIfDefined(queryParams, Param.DefaultQueryMode, defaultQueryMode);
25095
25361
  setParamIfDefined(queryParams, Param.EnableStopAnswerGenerationEmbed, enableStopAnswerGenerationEmbed, true);
25362
+ setParamIfDefined(queryParams, Param.AnalystId, spotterAnalystConfig === null || spotterAnalystConfig === void 0 ? void 0 : spotterAnalystConfig.analystId);
25096
25363
  // Handle spotterChatConfig params
25097
25364
  if (spotterChatConfig) {
25098
25365
  const { hideToolResponseCardBranding, toolResponseCardBrandingLabel, spotterFileUploadEnabled, spotterFileUploadFileTypes, enableStarterPrompts, } = spotterChatConfig;
@@ -25842,4 +26109,4 @@ class AutoFrameRenderer extends TsEmbed {
25842
26109
  }
25843
26110
  }
25844
26111
 
25845
- export { Action, AnswerService, AppEmbed, AuthEvent, AuthFailureType, AuthStatus, AuthType, BackgroundFormatType, BodylessConversation, ConditionalFormattingComparisonType, ConditionalFormattingOperator, ContextMenuTriggerOptions, ContextType, ConversationEmbed, CustomActionTarget, CustomActionsPosition, DataLabelFilterOperator, DataPanelCustomColumnGroupsAccordionState$1 as DataPanelCustomColumnGroupsAccordionState, DataSourceVisualMode, EmbedErrorCodes, EmbedEvent, ErrorDetailsTypes, HomeLeftNavItem, HomePage, HomePageSearchBarMode, HomepageModule, HostEvent, InterceptedApiType, LegendPosition, ListPage, ListPageColumns, LiveboardEmbed, LogLevel, MIXPANEL_EVENT, Page, PinboardEmbed, PrefetchFeatures, PrimaryNavbarVersion, RuntimeFilterOp, SearchBarEmbed, SearchEmbed, SpotterAgentEmbed, SpotterEmbed, SpotterQueryMode, TableContentDensity, TableTheme, UIPassthroughEvent, createLiveboardWithAnswers, executeTML, exportTML, getAnswerFromQuery, getEmbedConfig as getInitConfig, getSessionInfo, init, logout, prefetch, reloadIframe, resetCachedAuthToken, startAutoMCPFrameRenderer, tokenizedFetch, uploadMixpanelEvent };
26112
+ export { Action, AnswerService, AppEmbed, ApplicabilityLevel, AuthEvent, AuthFailureType, AuthStatus, AuthType, BackgroundFormatType, BodylessConversation, ConditionalFormattingComparisonType, ConditionalFormattingOperator, ContextMenuTriggerOptions, ContextType, ConversationEmbed, CustomActionTarget, CustomActionsPosition, DataLabelFilterOperator, DataPanelCustomColumnGroupsAccordionState$1 as DataPanelCustomColumnGroupsAccordionState, DataSourceVisualMode, EmbedErrorCodes, EmbedEvent, ErrorDetailsTypes, HomeLeftNavItem, HomePage, HomePageSearchBarMode, HomepageModule, HostEvent, InterceptedApiType, LegendPosition, ListPage, ListPageColumns, LiveboardEmbed, LogLevel, MIXPANEL_EVENT, Page, PinboardEmbed, PrefetchFeatures, PrimaryNavbarVersion, RuntimeFilterOp, SearchBarEmbed, SearchEmbed, SpotterAgentEmbed, SpotterEmbed, SpotterQueryMode, TableContentDensity, TableTheme, UIPassthroughEvent, createLiveboardWithAnswers, executeTML, exportTML, getAnswerFromQuery, getEmbedConfig as getInitConfig, getSessionInfo, init, logout, prefetch, reloadIframe, resetCachedAuthToken, startAutoMCPFrameRenderer, tokenizedFetch, uploadMixpanelEvent };