@thoughtspot/visual-embed-sdk 1.49.3 → 1.50.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 (241) hide show
  1. package/cjs/package.json +1 -1
  2. package/cjs/src/authToken.spec.js +5 -0
  3. package/cjs/src/authToken.spec.js.map +1 -1
  4. package/cjs/src/css-variables.d.ts +59 -0
  5. package/cjs/src/css-variables.d.ts.map +1 -1
  6. package/cjs/src/embed/app.d.ts +31 -2
  7. package/cjs/src/embed/app.d.ts.map +1 -1
  8. package/cjs/src/embed/app.js +19 -2
  9. package/cjs/src/embed/app.js.map +1 -1
  10. package/cjs/src/embed/app.spec.js +112 -2
  11. package/cjs/src/embed/app.spec.js.map +1 -1
  12. package/cjs/src/embed/conversation.d.ts +38 -0
  13. package/cjs/src/embed/conversation.d.ts.map +1 -1
  14. package/cjs/src/embed/conversation.js +12 -2
  15. package/cjs/src/embed/conversation.js.map +1 -1
  16. package/cjs/src/embed/conversation.spec.js +53 -0
  17. package/cjs/src/embed/conversation.spec.js.map +1 -1
  18. package/cjs/src/embed/embedConfig.spec.d.ts +2 -0
  19. package/cjs/src/embed/embedConfig.spec.d.ts.map +1 -0
  20. package/cjs/src/embed/embedConfig.spec.js +74 -0
  21. package/cjs/src/embed/embedConfig.spec.js.map +1 -0
  22. package/cjs/src/embed/events.spec.js +593 -0
  23. package/cjs/src/embed/events.spec.js.map +1 -1
  24. package/cjs/src/embed/host-events.spec.d.ts +2 -0
  25. package/cjs/src/embed/host-events.spec.d.ts.map +1 -0
  26. package/cjs/src/embed/host-events.spec.js +1325 -0
  27. package/cjs/src/embed/host-events.spec.js.map +1 -0
  28. package/cjs/src/embed/hostEventClient/contracts.d.ts +36 -14
  29. package/cjs/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  30. package/cjs/src/embed/hostEventClient/contracts.js +10 -1
  31. package/cjs/src/embed/hostEventClient/contracts.js.map +1 -1
  32. package/cjs/src/embed/hostEventClient/host-event-client.d.ts +1 -0
  33. package/cjs/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  34. package/cjs/src/embed/hostEventClient/host-event-client.js +8 -0
  35. package/cjs/src/embed/hostEventClient/host-event-client.js.map +1 -1
  36. package/cjs/src/embed/hostEventClient/host-event-client.spec.js +209 -0
  37. package/cjs/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  38. package/cjs/src/embed/hostEventClient/utils.d.ts +2 -0
  39. package/cjs/src/embed/hostEventClient/utils.d.ts.map +1 -1
  40. package/cjs/src/embed/hostEventClient/utils.js +32 -2
  41. package/cjs/src/embed/hostEventClient/utils.js.map +1 -1
  42. package/cjs/src/embed/hostEventClient/utils.spec.js +178 -0
  43. package/cjs/src/embed/hostEventClient/utils.spec.js.map +1 -1
  44. package/cjs/src/embed/liveboard.d.ts +6 -0
  45. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  46. package/cjs/src/embed/liveboard.js.map +1 -1
  47. package/cjs/src/embed/spotter-viz-utils.d.ts +34 -0
  48. package/cjs/src/embed/spotter-viz-utils.d.ts.map +1 -1
  49. package/cjs/src/embed/spotter-viz-utils.js.map +1 -1
  50. package/cjs/src/embed/spotter-viz-utils.spec.js +17 -0
  51. package/cjs/src/embed/spotter-viz-utils.spec.js.map +1 -1
  52. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  53. package/cjs/src/embed/ts-embed.js +14 -7
  54. package/cjs/src/embed/ts-embed.js.map +1 -1
  55. package/cjs/src/embed/ts-embed.spec.js +146 -0
  56. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  57. package/cjs/src/errors.d.ts +1 -0
  58. package/cjs/src/errors.d.ts.map +1 -1
  59. package/cjs/src/errors.js +1 -0
  60. package/cjs/src/errors.js.map +1 -1
  61. package/cjs/src/index.d.ts +2 -2
  62. package/cjs/src/index.d.ts.map +1 -1
  63. package/cjs/src/index.js +3 -2
  64. package/cjs/src/index.js.map +1 -1
  65. package/cjs/src/mixpanel-service.spec.js +14 -0
  66. package/cjs/src/mixpanel-service.spec.js.map +1 -1
  67. package/cjs/src/react/util.spec.js +251 -0
  68. package/cjs/src/react/util.spec.js.map +1 -1
  69. package/cjs/src/types.d.ts +212 -8
  70. package/cjs/src/types.d.ts.map +1 -1
  71. package/cjs/src/types.js +185 -3
  72. package/cjs/src/types.js.map +1 -1
  73. package/cjs/src/utils/custom-actions.spec.js +26 -0
  74. package/cjs/src/utils/custom-actions.spec.js.map +1 -1
  75. package/cjs/src/utils/processData.spec.js +123 -0
  76. package/cjs/src/utils/processData.spec.js.map +1 -1
  77. package/cjs/src/utils/processTrigger.spec.js +61 -0
  78. package/cjs/src/utils/processTrigger.spec.js.map +1 -1
  79. package/cjs/src/utils/reporting.spec.js +21 -0
  80. package/cjs/src/utils/reporting.spec.js.map +1 -1
  81. package/cjs/src/utils/sessionInfoService.spec.d.ts +2 -0
  82. package/cjs/src/utils/sessionInfoService.spec.d.ts.map +1 -0
  83. package/cjs/src/utils/sessionInfoService.spec.js +130 -0
  84. package/cjs/src/utils/sessionInfoService.spec.js.map +1 -0
  85. package/cjs/src/utils.spec.js +158 -0
  86. package/cjs/src/utils.spec.js.map +1 -1
  87. package/dist/{index-DsSQndIB.js → index-fCne7kmU.js} +1 -1
  88. package/dist/src/css-variables.d.ts +59 -0
  89. package/dist/src/css-variables.d.ts.map +1 -1
  90. package/dist/src/embed/app.d.ts +31 -2
  91. package/dist/src/embed/app.d.ts.map +1 -1
  92. package/dist/src/embed/conversation.d.ts +38 -0
  93. package/dist/src/embed/conversation.d.ts.map +1 -1
  94. package/dist/src/embed/embedConfig.spec.d.ts +2 -0
  95. package/dist/src/embed/embedConfig.spec.d.ts.map +1 -0
  96. package/dist/src/embed/host-events.spec.d.ts +2 -0
  97. package/dist/src/embed/host-events.spec.d.ts.map +1 -0
  98. package/dist/src/embed/hostEventClient/contracts.d.ts +36 -14
  99. package/dist/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  100. package/dist/src/embed/hostEventClient/host-event-client.d.ts +1 -0
  101. package/dist/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  102. package/dist/src/embed/hostEventClient/utils.d.ts +2 -0
  103. package/dist/src/embed/hostEventClient/utils.d.ts.map +1 -1
  104. package/dist/src/embed/liveboard.d.ts +6 -0
  105. package/dist/src/embed/liveboard.d.ts.map +1 -1
  106. package/dist/src/embed/spotter-viz-utils.d.ts +34 -0
  107. package/dist/src/embed/spotter-viz-utils.d.ts.map +1 -1
  108. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  109. package/dist/src/errors.d.ts +1 -0
  110. package/dist/src/errors.d.ts.map +1 -1
  111. package/dist/src/index.d.ts +2 -2
  112. package/dist/src/index.d.ts.map +1 -1
  113. package/dist/src/types.d.ts +212 -8
  114. package/dist/src/types.d.ts.map +1 -1
  115. package/dist/src/utils/sessionInfoService.spec.d.ts +2 -0
  116. package/dist/src/utils/sessionInfoService.spec.d.ts.map +1 -0
  117. package/dist/tsembed-react.es.js +482 -86
  118. package/dist/tsembed-react.js +481 -85
  119. package/dist/tsembed.es.js +483 -87
  120. package/dist/tsembed.js +481 -85
  121. package/dist/visual-embed-sdk-react-full.d.ts +407 -23
  122. package/dist/visual-embed-sdk-react.d.ts +407 -23
  123. package/dist/visual-embed-sdk.d.ts +411 -23
  124. package/lib/package.json +1 -1
  125. package/lib/src/authToken.spec.js +5 -0
  126. package/lib/src/authToken.spec.js.map +1 -1
  127. package/lib/src/css-variables.d.ts +59 -0
  128. package/lib/src/css-variables.d.ts.map +1 -1
  129. package/lib/src/embed/app.d.ts +31 -2
  130. package/lib/src/embed/app.d.ts.map +1 -1
  131. package/lib/src/embed/app.js +19 -2
  132. package/lib/src/embed/app.js.map +1 -1
  133. package/lib/src/embed/app.spec.js +112 -2
  134. package/lib/src/embed/app.spec.js.map +1 -1
  135. package/lib/src/embed/conversation.d.ts +38 -0
  136. package/lib/src/embed/conversation.d.ts.map +1 -1
  137. package/lib/src/embed/conversation.js +11 -1
  138. package/lib/src/embed/conversation.js.map +1 -1
  139. package/lib/src/embed/conversation.spec.js +54 -1
  140. package/lib/src/embed/conversation.spec.js.map +1 -1
  141. package/lib/src/embed/embedConfig.spec.d.ts +2 -0
  142. package/lib/src/embed/embedConfig.spec.d.ts.map +1 -0
  143. package/lib/src/embed/embedConfig.spec.js +72 -0
  144. package/lib/src/embed/embedConfig.spec.js.map +1 -0
  145. package/lib/src/embed/events.spec.js +593 -0
  146. package/lib/src/embed/events.spec.js.map +1 -1
  147. package/lib/src/embed/host-events.spec.d.ts +2 -0
  148. package/lib/src/embed/host-events.spec.d.ts.map +1 -0
  149. package/lib/src/embed/host-events.spec.js +1322 -0
  150. package/lib/src/embed/host-events.spec.js.map +1 -0
  151. package/lib/src/embed/hostEventClient/contracts.d.ts +36 -14
  152. package/lib/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  153. package/lib/src/embed/hostEventClient/contracts.js +9 -0
  154. package/lib/src/embed/hostEventClient/contracts.js.map +1 -1
  155. package/lib/src/embed/hostEventClient/host-event-client.d.ts +1 -0
  156. package/lib/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  157. package/lib/src/embed/hostEventClient/host-event-client.js +9 -1
  158. package/lib/src/embed/hostEventClient/host-event-client.js.map +1 -1
  159. package/lib/src/embed/hostEventClient/host-event-client.spec.js +209 -0
  160. package/lib/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  161. package/lib/src/embed/hostEventClient/utils.d.ts +2 -0
  162. package/lib/src/embed/hostEventClient/utils.d.ts.map +1 -1
  163. package/lib/src/embed/hostEventClient/utils.js +28 -1
  164. package/lib/src/embed/hostEventClient/utils.js.map +1 -1
  165. package/lib/src/embed/hostEventClient/utils.spec.js +179 -1
  166. package/lib/src/embed/hostEventClient/utils.spec.js.map +1 -1
  167. package/lib/src/embed/liveboard.d.ts +6 -0
  168. package/lib/src/embed/liveboard.d.ts.map +1 -1
  169. package/lib/src/embed/liveboard.js.map +1 -1
  170. package/lib/src/embed/spotter-viz-utils.d.ts +34 -0
  171. package/lib/src/embed/spotter-viz-utils.d.ts.map +1 -1
  172. package/lib/src/embed/spotter-viz-utils.js.map +1 -1
  173. package/lib/src/embed/spotter-viz-utils.spec.js +17 -0
  174. package/lib/src/embed/spotter-viz-utils.spec.js.map +1 -1
  175. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  176. package/lib/src/embed/ts-embed.js +14 -7
  177. package/lib/src/embed/ts-embed.js.map +1 -1
  178. package/lib/src/embed/ts-embed.spec.js +146 -0
  179. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  180. package/lib/src/errors.d.ts +1 -0
  181. package/lib/src/errors.d.ts.map +1 -1
  182. package/lib/src/errors.js +1 -0
  183. package/lib/src/errors.js.map +1 -1
  184. package/lib/src/index.d.ts +2 -2
  185. package/lib/src/index.d.ts.map +1 -1
  186. package/lib/src/index.js +2 -2
  187. package/lib/src/index.js.map +1 -1
  188. package/lib/src/mixpanel-service.spec.js +14 -0
  189. package/lib/src/mixpanel-service.spec.js.map +1 -1
  190. package/lib/src/react/util.spec.js +251 -0
  191. package/lib/src/react/util.spec.js.map +1 -1
  192. package/lib/src/types.d.ts +212 -8
  193. package/lib/src/types.d.ts.map +1 -1
  194. package/lib/src/types.js +185 -3
  195. package/lib/src/types.js.map +1 -1
  196. package/lib/src/utils/custom-actions.spec.js +26 -0
  197. package/lib/src/utils/custom-actions.spec.js.map +1 -1
  198. package/lib/src/utils/processData.spec.js +123 -0
  199. package/lib/src/utils/processData.spec.js.map +1 -1
  200. package/lib/src/utils/processTrigger.spec.js +61 -0
  201. package/lib/src/utils/processTrigger.spec.js.map +1 -1
  202. package/lib/src/utils/reporting.spec.js +21 -0
  203. package/lib/src/utils/reporting.spec.js.map +1 -1
  204. package/lib/src/utils/sessionInfoService.spec.d.ts +2 -0
  205. package/lib/src/utils/sessionInfoService.spec.d.ts.map +1 -0
  206. package/lib/src/utils/sessionInfoService.spec.js +127 -0
  207. package/lib/src/utils/sessionInfoService.spec.js.map +1 -0
  208. package/lib/src/utils.spec.js +159 -1
  209. package/lib/src/utils.spec.js.map +1 -1
  210. package/lib/src/visual-embed-sdk.d.ts +411 -23
  211. package/package.json +1 -1
  212. package/src/authToken.spec.ts +6 -0
  213. package/src/css-variables.ts +73 -0
  214. package/src/embed/app.spec.ts +155 -2
  215. package/src/embed/app.ts +44 -2
  216. package/src/embed/conversation.spec.ts +64 -1
  217. package/src/embed/conversation.ts +41 -0
  218. package/src/embed/embedConfig.spec.ts +79 -0
  219. package/src/embed/events.spec.ts +705 -1
  220. package/src/embed/host-events.spec.ts +1759 -0
  221. package/src/embed/hostEventClient/contracts.ts +41 -14
  222. package/src/embed/hostEventClient/host-event-client.spec.ts +326 -0
  223. package/src/embed/hostEventClient/host-event-client.ts +15 -0
  224. package/src/embed/hostEventClient/utils.spec.ts +204 -0
  225. package/src/embed/hostEventClient/utils.ts +37 -10
  226. package/src/embed/liveboard.ts +6 -0
  227. package/src/embed/spotter-viz-utils.spec.ts +17 -0
  228. package/src/embed/spotter-viz-utils.ts +34 -0
  229. package/src/embed/ts-embed.spec.ts +186 -0
  230. package/src/embed/ts-embed.ts +12 -4
  231. package/src/errors.ts +1 -0
  232. package/src/index.ts +2 -1
  233. package/src/mixpanel-service.spec.ts +15 -0
  234. package/src/react/util.spec.tsx +255 -0
  235. package/src/types.ts +215 -6
  236. package/src/utils/custom-actions.spec.ts +28 -0
  237. package/src/utils/processData.spec.ts +129 -0
  238. package/src/utils/processTrigger.spec.ts +91 -0
  239. package/src/utils/reporting.spec.ts +27 -0
  240. package/src/utils/sessionInfoService.spec.ts +151 -0
  241. package/src/utils.spec.ts +195 -0
@@ -1,4 +1,4 @@
1
- /* @thoughtspot/visual-embed-sdk version 1.49.3 */
1
+ /* @thoughtspot/visual-embed-sdk version 1.50.1 */
2
2
  'use client';
3
3
  import * as React from 'react';
4
4
  import React__default, { useRef, useCallback } from 'react';
@@ -442,6 +442,13 @@ var HomeLeftNavItem;
442
442
  * @version SDK: 1.41.0 | ThoughtSpot: 10.12.0.cl
443
443
  */
444
444
  HomeLeftNavItem["Favorites"] = "favorites";
445
+ /**
446
+ * The *Collections* menu option in
447
+ * the *Insights* left navigation panel.
448
+ * Shown when collections are enabled on the cluster.
449
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
450
+ */
451
+ HomeLeftNavItem["Collections"] = "collections";
445
452
  })(HomeLeftNavItem || (HomeLeftNavItem = {}));
446
453
  /**
447
454
  * A map of the supported runtime filter operations
@@ -1984,6 +1991,30 @@ var EmbedEvent;
1984
1991
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
1985
1992
  */
1986
1993
  EmbedEvent["SpotterConversationSelected"] = "spotterConversationSelected";
1994
+ /**
1995
+ * Emitted when the Spotter agent finishes streaming/rendering a response.
1996
+ * Includes the conversation and message identifiers so the host app can
1997
+ * fetch the full conversation history via the REST API if needed.
1998
+ *
1999
+ * The payload data has the shape `{ convId: string, messageId: string }`.
2000
+ *
2001
+ * Works with SpotterEmbed as well as AppEmbed (when Spotter is reached
2002
+ * inside the full application).
2003
+ * @example
2004
+ * ```js
2005
+ * spotterEmbed.on(EmbedEvent.SpotterResponseComplete, (payload) => {
2006
+ * console.log('Spotter response complete', payload);
2007
+ * })
2008
+ * ```
2009
+ * @example
2010
+ * ```js
2011
+ * appEmbed.on(EmbedEvent.SpotterResponseComplete, (payload) => {
2012
+ * console.log('Spotter response complete', payload);
2013
+ * })
2014
+ * ```
2015
+ * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.9.0.cl
2016
+ */
2017
+ EmbedEvent["SpotterResponseComplete"] = "spotterResponseComplete";
1987
2018
  /**
1988
2019
  * @hidden
1989
2020
  * Emitted when the auth token is about to get expired and needs to be refreshed.
@@ -2008,10 +2039,11 @@ var EmbedEvent;
2008
2039
  */
2009
2040
  EmbedEvent["EmbedPageContextChanged"] = "EmbedPageContextChanged";
2010
2041
  /**
2011
- * Represents a special embed event that is triggered whenever any host event is subscribed.
2042
+ * Represents a special embed event that is triggered whenever any host event is
2043
+ * subscribed.
2012
2044
  *
2013
- * You can listen to this event when you need to dispatch a host event during load or render,
2014
- * particularly in situations where timing issues may occur.
2045
+ * You can listen to this event when you need to dispatch a host event during load or
2046
+ * render, particularly in situations where timing issues may occur.
2015
2047
  *
2016
2048
  * @example
2017
2049
  * ```js
@@ -3548,6 +3580,14 @@ var HostEvent;
3548
3580
  /**
3549
3581
  * Get details of filters applied on the Liveboard.
3550
3582
  * Returns arrays containing Liveboard filter and runtime filter elements.
3583
+ * Each Liveboard filter may include an `applicability` attribute
3584
+ * indicating the scope of the filter. It contains a `level`
3585
+ * (`LIVEBOARD`, `TAB`, or `GROUP`) and, when `level` is `TAB` or
3586
+ * `GROUP`, a `targetId` with the GUID of the target. At `LIVEBOARD`
3587
+ * level there is no `targetId`, since the filter applies to the
3588
+ * whole Liveboard.
3589
+ * The `applicability` attribute is available from SDK: 1.51.0 |
3590
+ * ThoughtSpot: 26.10.0.cl.
3551
3591
  * @example
3552
3592
  * ```js
3553
3593
  * const data = await liveboardEmbed.trigger(HostEvent.GetFilters);
@@ -3587,6 +3627,16 @@ var HostEvent;
3587
3627
  *
3588
3628
  * `type` - To update filters for date time, specify the date format type.
3589
3629
  * For more information and examples, see link:https://developers.thoughtspot.com/docs/embed-liveboard#_date_filters[Date filters].
3630
+ *
3631
+ * `applicability` - Optional. Scopes the filter to a specific target,
3632
+ * for example, a single Liveboard tab. Available from SDK: 1.51.0 |
3633
+ * ThoughtSpot: 26.10.0.cl. Includes the following attributes:
3634
+ *
3635
+ * - `level`: The scope of the filter: `LIVEBOARD`, `TAB`, or `GROUP`.
3636
+ * - `targetId`: The GUID of the target, for example, the tab GUID.
3637
+ * Required when `level` is `TAB` or `GROUP`. Do not pass it when
3638
+ * `level` is `LIVEBOARD`, since the filter applies to the whole
3639
+ * Liveboard.
3590
3640
  * @example
3591
3641
  * ```js
3592
3642
  *
@@ -3663,6 +3713,21 @@ var HostEvent;
3663
3713
  * }
3664
3714
  * }, ContextType.Liveboard);
3665
3715
  * ```
3716
+ * @example
3717
+ * ```js
3718
+ * // Scope the filter to a specific Liveboard tab
3719
+ * liveboardEmbed.trigger(HostEvent.UpdateFilters, {
3720
+ * filter: {
3721
+ * column: "item type",
3722
+ * oper: "IN",
3723
+ * values: ["bags", "shirts"],
3724
+ * applicability: {
3725
+ * level: "TAB",
3726
+ * targetId: "e0836cad-4fdf-42d4-bd97-567a6b2a6058"
3727
+ * }
3728
+ * }
3729
+ * });
3730
+ * ```
3666
3731
  * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
3667
3732
  */
3668
3733
  HostEvent["UpdateFilters"] = "updateFilters";
@@ -3814,6 +3879,15 @@ var HostEvent;
3814
3879
  * - `name`: Name of the parameter.
3815
3880
  * - `value`: The value to set for the parameter.
3816
3881
  * - `isVisibleToUser`: Optional. To control the visibility of the parameter chip.
3882
+ * - `applicability`: Optional. Scopes the parameter to a specific target,
3883
+ * for example, a single Liveboard tab. Available from SDK: 1.51.0 |
3884
+ * ThoughtSpot: 26.10.0.cl. Includes the following attributes:
3885
+ *
3886
+ * - `level`: The scope of the parameter: `LIVEBOARD`, `TAB`, or `GROUP`.
3887
+ * - `targetId`: The GUID of the target, for example, the tab GUID.
3888
+ * Required when `level` is `TAB` or `GROUP`. Do not pass it when
3889
+ * `level` is `LIVEBOARD`, since the parameter applies to the whole
3890
+ * Liveboard.
3817
3891
  *
3818
3892
  * @example
3819
3893
  * ```js
@@ -3825,6 +3899,18 @@ var HostEvent;
3825
3899
  * ```
3826
3900
  * @example
3827
3901
  * ```js
3902
+ * // Scope the parameter to a specific Liveboard tab
3903
+ * liveboardEmbed.trigger(HostEvent.UpdateParameters, [{
3904
+ * name: "Integer Range Param",
3905
+ * value: 10,
3906
+ * applicability: {
3907
+ * level: "TAB",
3908
+ * targetId: "e0836cad-4fdf-42d4-bd97-567a6b2a6058"
3909
+ * }
3910
+ * }])
3911
+ * ```
3912
+ * @example
3913
+ * ```js
3828
3914
  * // Update parameters from liveboard context
3829
3915
  * import { ContextType } from '@thoughtspot/visual-embed-sdk';
3830
3916
  * liveboardEmbed.trigger(HostEvent.UpdateParameters, [{
@@ -3838,6 +3924,14 @@ var HostEvent;
3838
3924
  HostEvent["UpdateParameters"] = "UpdateParameters";
3839
3925
  /**
3840
3926
  * Triggers GetParameters to fetch the runtime Parameters.
3927
+ * Each parameter may include an `applicability` attribute
3928
+ * indicating the scope of the parameter. It contains a `level`
3929
+ * (`LIVEBOARD`, `TAB`, or `GROUP`) and, when `level` is `TAB` or
3930
+ * `GROUP`, a `targetId` with the GUID of the target. At `LIVEBOARD`
3931
+ * level there is no `targetId`, since the parameter applies to the
3932
+ * whole Liveboard.
3933
+ * The `applicability` attribute is available from SDK: 1.51.0 |
3934
+ * ThoughtSpot: 26.10.0.cl.
3841
3935
  * @param - `vizId` refers to the Answer ID in Spotter embed and is required in Spotter embed.
3842
3936
  * ```js
3843
3937
  * liveboardEmbed.trigger(HostEvent.GetParameters).then((parameter) => {
@@ -4251,6 +4345,24 @@ var HostEvent;
4251
4345
  * ```
4252
4346
  */
4253
4347
  HostEvent["InitSpotterVizConversation"] = "InitSpotterVizConversation";
4348
+ /**
4349
+ * Opens the SpotterViz panel.
4350
+ * @version SDK: 1.50.0 | ThoughtSpot Cloud: 26.7.0.cl
4351
+ * @example
4352
+ * ```js
4353
+ * liveboardEmbed.trigger(HostEvent.OpenSpotterVizPanel);
4354
+ * ```
4355
+ */
4356
+ HostEvent["OpenSpotterVizPanel"] = "OpenSpotterVizPanel";
4357
+ /**
4358
+ * Closes the SpotterViz panel.
4359
+ * @version SDK: 1.50.0 | ThoughtSpot Cloud: 26.7.0.cl
4360
+ * @example
4361
+ * ```js
4362
+ * liveboardEmbed.trigger(HostEvent.CloseSpotterVizPanel);
4363
+ * ```
4364
+ */
4365
+ HostEvent["CloseSpotterVizPanel"] = "CloseSpotterVizPanel";
4254
4366
  /**
4255
4367
  * Clears browser cache and fetches new data for liveboard ChartViz Containers.
4256
4368
  * Requires `enableLiveboardDataCache` to be enabled.
@@ -4402,6 +4514,7 @@ var Param;
4402
4514
  Param["SpotterEnabled"] = "isSpotterExperienceEnabled";
4403
4515
  Param["IsUnifiedSearchExperienceEnabled"] = "isUnifiedSearchExperienceEnabled";
4404
4516
  Param["OverrideOrgId"] = "orgId";
4517
+ Param["OverrideHistoryState"] = "overrideHistoryState";
4405
4518
  Param["OauthPollingInterval"] = "oAuthPollingInterval";
4406
4519
  Param["IsForceRedirect"] = "isForceRedirect";
4407
4520
  Param["DataSourceId"] = "dataSourceId";
@@ -4422,6 +4535,7 @@ var Param;
4422
4535
  Param["isLinkParametersEnabled"] = "isLinkParametersEnabled";
4423
4536
  Param["EnablePastConversationsSidebar"] = "enablePastConversationsSidebar";
4424
4537
  Param["UpdatedSpotterChatPrompt"] = "updatedSpotterChatPrompt";
4538
+ Param["DefaultQueryMode"] = "defaultQueryMode";
4425
4539
  Param["EnableStopAnswerGenerationEmbed"] = "enableStopAnswerGenerationEmbed";
4426
4540
  Param["SpotterSidebarTitle"] = "spotterSidebarTitle";
4427
4541
  Param["SpotterSidebarDefaultExpanded"] = "spotterSidebarDefaultExpanded";
@@ -6175,6 +6289,72 @@ var Action;
6175
6289
  * @version SDK: 1.49.0 | ThoughtSpot Cloud: 26.6.0.cl
6176
6290
  */
6177
6291
  Action["RefreshLiveboardBrowserCache"] = "refreshLiveboardBrowserCache";
6292
+ /**
6293
+ * Controls visibility and disable state of the share action
6294
+ * in the Spotter Analyst interface.
6295
+ * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.8.0.cl
6296
+ * @example
6297
+ * ```js
6298
+ * hiddenActions: [Action.SpotterAnalystShare]
6299
+ * disabledActions: [Action.SpotterAnalystShare]
6300
+ * ```
6301
+ */
6302
+ Action["SpotterAnalystShare"] = "spotterAnalystShare";
6303
+ /**
6304
+ * Controls visibility and disable state of the edit action
6305
+ * in the Spotter Analyst interface.
6306
+ * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.8.0.cl
6307
+ * @example
6308
+ * ```js
6309
+ * hiddenActions: [Action.SpotterAnalystEdit]
6310
+ * disabledActions: [Action.SpotterAnalystEdit]
6311
+ * ```
6312
+ */
6313
+ Action["SpotterAnalystEdit"] = "spotterAnalystEdit";
6314
+ /**
6315
+ * Controls visibility and disable state of the create action
6316
+ * in the Spotter Analyst interface.
6317
+ * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.8.0.cl
6318
+ * @example
6319
+ * ```js
6320
+ * hiddenActions: [Action.SpotterAnalystCreate]
6321
+ * disabledActions: [Action.SpotterAnalystCreate]
6322
+ * ```
6323
+ */
6324
+ Action["SpotterAnalystCreate"] = "spotterAnalystCreate";
6325
+ /**
6326
+ * Controls visibility and disable state of the delete action
6327
+ * in the Spotter Analyst interface.
6328
+ * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.8.0.cl
6329
+ * @example
6330
+ * ```js
6331
+ * hiddenActions: [Action.SpotterAnalystDelete]
6332
+ * disabledActions: [Action.SpotterAnalystDelete]
6333
+ * ```
6334
+ */
6335
+ Action["SpotterAnalystDelete"] = "spotterAnalystDelete";
6336
+ /**
6337
+ * Controls visibility and disable state of the make a copy action
6338
+ * in the Spotter Analyst interface.
6339
+ * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.8.0.cl
6340
+ * @example
6341
+ * ```js
6342
+ * hiddenActions: [Action.SpotterAnalystMakeACopy]
6343
+ * disabledActions: [Action.SpotterAnalystMakeACopy]
6344
+ * ```
6345
+ */
6346
+ Action["SpotterAnalystMakeACopy"] = "spotterAnalystMakeACopy";
6347
+ /**
6348
+ * Controls visibility and disable state of the sidebar
6349
+ * in the Spotter Analyst interface.
6350
+ * @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.8.0.cl
6351
+ * @example
6352
+ * ```js
6353
+ * hiddenActions: [Action.SpotterAnalystSidebar]
6354
+ * disabledActions: [Action.SpotterAnalystSidebar]
6355
+ * ```
6356
+ */
6357
+ Action["SpotterAnalystSidebar"] = "spotterAnalystSidebar";
6178
6358
  })(Action || (Action = {}));
6179
6359
  var PrefetchFeatures;
6180
6360
  (function (PrefetchFeatures) {
@@ -6462,6 +6642,8 @@ var EmbedErrorCodes;
6462
6642
  EmbedErrorCodes["UPDATEFILTERS_INVALID_PAYLOAD"] = "UPDATEFILTERS_INVALID_PAYLOAD";
6463
6643
  /** DrillDown payload is invalid - missing or malformed points */
6464
6644
  EmbedErrorCodes["DRILLDOWN_INVALID_PAYLOAD"] = "DRILLDOWN_INVALID_PAYLOAD";
6645
+ /** UpdateParameters payload is invalid - malformed applicability */
6646
+ EmbedErrorCodes["UPDATEPARAMETERS_INVALID_PAYLOAD"] = "UPDATEPARAMETERS_INVALID_PAYLOAD";
6465
6647
  })(EmbedErrorCodes || (EmbedErrorCodes = {}));
6466
6648
  /**
6467
6649
  * Context types for specifying the page context when triggering host events.
@@ -6640,7 +6822,7 @@ var TableContentDensity;
6640
6822
  TableContentDensity["Compact"] = "COMPACT";
6641
6823
  })(TableContentDensity || (TableContentDensity = {}));
6642
6824
 
6643
- var version$1="1.49.3";var pkg = {version:version$1};
6825
+ var version$1="1.50.1";var pkg = {version:version$1};
6644
6826
 
6645
6827
  const { version } = pkg;
6646
6828
 
@@ -6747,6 +6929,7 @@ const ERROR_MESSAGE = {
6747
6929
  INVALID_SPOTTER_DOCUMENTATION_URL: 'Invalid spotterDocumentationUrl. Please provide a valid http or https URL.',
6748
6930
  UPDATEFILTERS_INVALID_PAYLOAD: 'UpdateFilters requires a valid filter or filters array. Expected: { filter: { column, oper, values } } or { filters: [{ column, oper, values }, ...] }',
6749
6931
  DRILLDOWN_INVALID_PAYLOAD: 'DrillDown requires a valid points object. Expected: { points: { clickedPoint?, selectedPoints? }, autoDrillDown?, vizId? }',
6932
+ UPDATEPARAMETERS_INVALID_PAYLOAD: 'UpdateParameters received an invalid applicability. Expected: { level: LIVEBOARD | TAB | GROUP, targetId } where targetId is required for TAB and GROUP levels',
6750
6933
  };
6751
6934
  const CUSTOM_ACTIONS_ERROR_MESSAGE = {
6752
6935
  INVALID_ACTION_OBJECT: 'Custom Action Validation Error: Invalid action object provided',
@@ -6865,7 +7048,7 @@ const getCssDimension = (value) => {
6865
7048
  * @returns true if the value is a valid CSS margin value, false otherwise
6866
7049
  */
6867
7050
  const isValidCssMargin = (value) => {
6868
- if (isUndefined(value)) {
7051
+ if (isUndefined$1(value)) {
6869
7052
  return false;
6870
7053
  }
6871
7054
  if (typeof value !== 'string') {
@@ -7074,7 +7257,7 @@ const removeStyleProperties = (element, styleProperties) => {
7074
7257
  element.style.removeProperty(styleProperty);
7075
7258
  });
7076
7259
  };
7077
- const isUndefined = (value) => value === undefined;
7260
+ const isUndefined$1 = (value) => value === undefined;
7078
7261
  // Return if the value is a string, double or boolean.
7079
7262
  const getTypeFromValue = (value) => {
7080
7263
  if (typeof value === 'string') {
@@ -7379,7 +7562,7 @@ const setParamIfDefined = (queryParams, param, value, asBoolean = false) => {
7379
7562
  };
7380
7563
 
7381
7564
  /** Used for built-in method references. */
7382
- var objectProto$c = Object.prototype;
7565
+ var objectProto$d = Object.prototype;
7383
7566
 
7384
7567
  /**
7385
7568
  * Checks if `value` is likely a prototype object.
@@ -7390,7 +7573,7 @@ var objectProto$c = Object.prototype;
7390
7573
  */
7391
7574
  function isPrototype(value) {
7392
7575
  var Ctor = value && value.constructor,
7393
- proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto$c;
7576
+ proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto$d;
7394
7577
 
7395
7578
  return value === proto;
7396
7579
  }
@@ -7419,10 +7602,10 @@ var nativeKeys = _overArg(Object.keys, Object);
7419
7602
  var _nativeKeys = nativeKeys;
7420
7603
 
7421
7604
  /** Used for built-in method references. */
7422
- var objectProto$b = Object.prototype;
7605
+ var objectProto$c = Object.prototype;
7423
7606
 
7424
7607
  /** Used to check objects for own properties. */
7425
- var hasOwnProperty$a = objectProto$b.hasOwnProperty;
7608
+ var hasOwnProperty$b = objectProto$c.hasOwnProperty;
7426
7609
 
7427
7610
  /**
7428
7611
  * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.
@@ -7437,7 +7620,7 @@ function baseKeys(object) {
7437
7620
  }
7438
7621
  var result = [];
7439
7622
  for (var key in Object(object)) {
7440
- if (hasOwnProperty$a.call(object, key) && key != 'constructor') {
7623
+ if (hasOwnProperty$b.call(object, key) && key != 'constructor') {
7441
7624
  result.push(key);
7442
7625
  }
7443
7626
  }
@@ -7473,17 +7656,17 @@ var Symbol$1 = _root.Symbol;
7473
7656
  var _Symbol = Symbol$1;
7474
7657
 
7475
7658
  /** Used for built-in method references. */
7476
- var objectProto$a = Object.prototype;
7659
+ var objectProto$b = Object.prototype;
7477
7660
 
7478
7661
  /** Used to check objects for own properties. */
7479
- var hasOwnProperty$9 = objectProto$a.hasOwnProperty;
7662
+ var hasOwnProperty$a = objectProto$b.hasOwnProperty;
7480
7663
 
7481
7664
  /**
7482
7665
  * Used to resolve the
7483
7666
  * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
7484
7667
  * of values.
7485
7668
  */
7486
- var nativeObjectToString$1 = objectProto$a.toString;
7669
+ var nativeObjectToString$1 = objectProto$b.toString;
7487
7670
 
7488
7671
  /** Built-in value references. */
7489
7672
  var symToStringTag$1 = _Symbol ? _Symbol.toStringTag : undefined;
@@ -7496,7 +7679,7 @@ var symToStringTag$1 = _Symbol ? _Symbol.toStringTag : undefined;
7496
7679
  * @returns {string} Returns the raw `toStringTag`.
7497
7680
  */
7498
7681
  function getRawTag(value) {
7499
- var isOwn = hasOwnProperty$9.call(value, symToStringTag$1),
7682
+ var isOwn = hasOwnProperty$a.call(value, symToStringTag$1),
7500
7683
  tag = value[symToStringTag$1];
7501
7684
 
7502
7685
  try {
@@ -7518,14 +7701,14 @@ function getRawTag(value) {
7518
7701
  var _getRawTag = getRawTag;
7519
7702
 
7520
7703
  /** Used for built-in method references. */
7521
- var objectProto$9 = Object.prototype;
7704
+ var objectProto$a = Object.prototype;
7522
7705
 
7523
7706
  /**
7524
7707
  * Used to resolve the
7525
7708
  * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
7526
7709
  * of values.
7527
7710
  */
7528
- var nativeObjectToString = objectProto$9.toString;
7711
+ var nativeObjectToString = objectProto$a.toString;
7529
7712
 
7530
7713
  /**
7531
7714
  * Converts `value` to a string using `Object.prototype.toString`.
@@ -7657,10 +7840,10 @@ function isMasked(func) {
7657
7840
  var _isMasked = isMasked;
7658
7841
 
7659
7842
  /** Used for built-in method references. */
7660
- var funcProto$1 = Function.prototype;
7843
+ var funcProto$2 = Function.prototype;
7661
7844
 
7662
7845
  /** Used to resolve the decompiled source of functions. */
7663
- var funcToString$1 = funcProto$1.toString;
7846
+ var funcToString$2 = funcProto$2.toString;
7664
7847
 
7665
7848
  /**
7666
7849
  * Converts `func` to its source code.
@@ -7672,7 +7855,7 @@ var funcToString$1 = funcProto$1.toString;
7672
7855
  function toSource(func) {
7673
7856
  if (func != null) {
7674
7857
  try {
7675
- return funcToString$1.call(func);
7858
+ return funcToString$2.call(func);
7676
7859
  } catch (e) {}
7677
7860
  try {
7678
7861
  return (func + '');
@@ -7693,18 +7876,18 @@ var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
7693
7876
  var reIsHostCtor = /^\[object .+?Constructor\]$/;
7694
7877
 
7695
7878
  /** Used for built-in method references. */
7696
- var funcProto = Function.prototype,
7697
- objectProto$8 = Object.prototype;
7879
+ var funcProto$1 = Function.prototype,
7880
+ objectProto$9 = Object.prototype;
7698
7881
 
7699
7882
  /** Used to resolve the decompiled source of functions. */
7700
- var funcToString = funcProto.toString;
7883
+ var funcToString$1 = funcProto$1.toString;
7701
7884
 
7702
7885
  /** Used to check objects for own properties. */
7703
- var hasOwnProperty$8 = objectProto$8.hasOwnProperty;
7886
+ var hasOwnProperty$9 = objectProto$9.hasOwnProperty;
7704
7887
 
7705
7888
  /** Used to detect if a method is native. */
7706
7889
  var reIsNative = RegExp('^' +
7707
- funcToString.call(hasOwnProperty$8).replace(reRegExpChar, '\\$&')
7890
+ funcToString$1.call(hasOwnProperty$9).replace(reRegExpChar, '\\$&')
7708
7891
  .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
7709
7892
  );
7710
7893
 
@@ -7782,7 +7965,7 @@ var _WeakMap = WeakMap;
7782
7965
 
7783
7966
  /** `Object#toString` result references. */
7784
7967
  var mapTag$3 = '[object Map]',
7785
- objectTag$2 = '[object Object]',
7968
+ objectTag$3 = '[object Object]',
7786
7969
  promiseTag = '[object Promise]',
7787
7970
  setTag$3 = '[object Set]',
7788
7971
  weakMapTag$1 = '[object WeakMap]';
@@ -7813,7 +7996,7 @@ if ((_DataView && getTag(new _DataView(new ArrayBuffer(1))) != dataViewTag$2) ||
7813
7996
  (_WeakMap && getTag(new _WeakMap) != weakMapTag$1)) {
7814
7997
  getTag = function(value) {
7815
7998
  var result = _baseGetTag(value),
7816
- Ctor = result == objectTag$2 ? value.constructor : undefined,
7999
+ Ctor = result == objectTag$3 ? value.constructor : undefined,
7817
8000
  ctorString = Ctor ? _toSource(Ctor) : '';
7818
8001
 
7819
8002
  if (ctorString) {
@@ -7878,13 +8061,13 @@ function baseIsArguments(value) {
7878
8061
  var _baseIsArguments = baseIsArguments;
7879
8062
 
7880
8063
  /** Used for built-in method references. */
7881
- var objectProto$7 = Object.prototype;
8064
+ var objectProto$8 = Object.prototype;
7882
8065
 
7883
8066
  /** Used to check objects for own properties. */
7884
- var hasOwnProperty$7 = objectProto$7.hasOwnProperty;
8067
+ var hasOwnProperty$8 = objectProto$8.hasOwnProperty;
7885
8068
 
7886
8069
  /** Built-in value references. */
7887
- var propertyIsEnumerable$1 = objectProto$7.propertyIsEnumerable;
8070
+ var propertyIsEnumerable$1 = objectProto$8.propertyIsEnumerable;
7888
8071
 
7889
8072
  /**
7890
8073
  * Checks if `value` is likely an `arguments` object.
@@ -7905,7 +8088,7 @@ var propertyIsEnumerable$1 = objectProto$7.propertyIsEnumerable;
7905
8088
  * // => false
7906
8089
  */
7907
8090
  var isArguments = _baseIsArguments(function() { return arguments; }()) ? _baseIsArguments : function(value) {
7908
- return isObjectLike_1(value) && hasOwnProperty$7.call(value, 'callee') &&
8091
+ return isObjectLike_1(value) && hasOwnProperty$8.call(value, 'callee') &&
7909
8092
  !propertyIsEnumerable$1.call(value, 'callee');
7910
8093
  };
7911
8094
 
@@ -8071,10 +8254,10 @@ var argsTag$1 = '[object Arguments]',
8071
8254
  funcTag = '[object Function]',
8072
8255
  mapTag$2 = '[object Map]',
8073
8256
  numberTag$1 = '[object Number]',
8074
- objectTag$1 = '[object Object]',
8257
+ objectTag$2 = '[object Object]',
8075
8258
  regexpTag$1 = '[object RegExp]',
8076
8259
  setTag$2 = '[object Set]',
8077
- stringTag$1 = '[object String]',
8260
+ stringTag$2 = '[object String]',
8078
8261
  weakMapTag = '[object WeakMap]';
8079
8262
 
8080
8263
  var arrayBufferTag$1 = '[object ArrayBuffer]',
@@ -8101,8 +8284,8 @@ typedArrayTags[arrayBufferTag$1] = typedArrayTags[boolTag$2] =
8101
8284
  typedArrayTags[dataViewTag$1] = typedArrayTags[dateTag$1] =
8102
8285
  typedArrayTags[errorTag$1] = typedArrayTags[funcTag] =
8103
8286
  typedArrayTags[mapTag$2] = typedArrayTags[numberTag$1] =
8104
- typedArrayTags[objectTag$1] = typedArrayTags[regexpTag$1] =
8105
- typedArrayTags[setTag$2] = typedArrayTags[stringTag$1] =
8287
+ typedArrayTags[objectTag$2] = typedArrayTags[regexpTag$1] =
8288
+ typedArrayTags[setTag$2] = typedArrayTags[stringTag$2] =
8106
8289
  typedArrayTags[weakMapTag] = false;
8107
8290
 
8108
8291
  /**
@@ -8194,10 +8377,10 @@ var mapTag$1 = '[object Map]',
8194
8377
  setTag$1 = '[object Set]';
8195
8378
 
8196
8379
  /** Used for built-in method references. */
8197
- var objectProto$6 = Object.prototype;
8380
+ var objectProto$7 = Object.prototype;
8198
8381
 
8199
8382
  /** Used to check objects for own properties. */
8200
- var hasOwnProperty$6 = objectProto$6.hasOwnProperty;
8383
+ var hasOwnProperty$7 = objectProto$7.hasOwnProperty;
8201
8384
 
8202
8385
  /**
8203
8386
  * Checks if `value` is an empty object, collection, map, or set.
@@ -8249,7 +8432,7 @@ function isEmpty$1(value) {
8249
8432
  return !_baseKeys(value).length;
8250
8433
  }
8251
8434
  for (var key in value) {
8252
- if (hasOwnProperty$6.call(value, key)) {
8435
+ if (hasOwnProperty$7.call(value, key)) {
8253
8436
  return false;
8254
8437
  }
8255
8438
  }
@@ -8258,6 +8441,15 @@ function isEmpty$1(value) {
8258
8441
 
8259
8442
  var isEmpty_1 = isEmpty$1;
8260
8443
 
8444
+ /**
8445
+ * Levels at which a filter or parameter can be applied.
8446
+ */
8447
+ var ApplicabilityLevel;
8448
+ (function (ApplicabilityLevel) {
8449
+ ApplicabilityLevel["Liveboard"] = "LIVEBOARD";
8450
+ ApplicabilityLevel["Tab"] = "TAB";
8451
+ ApplicabilityLevel["Group"] = "GROUP";
8452
+ })(ApplicabilityLevel || (ApplicabilityLevel = {}));
8261
8453
  var UIPassthroughEvent;
8262
8454
  (function (UIPassthroughEvent) {
8263
8455
  UIPassthroughEvent["PinAnswerToLiveboard"] = "addVizToPinboard";
@@ -9210,7 +9402,7 @@ class AnswerService {
9210
9402
  async getTML() {
9211
9403
  const { object } = await this.executeQuery(getAnswerTML, {});
9212
9404
  const edoc = object[0].edoc;
9213
- const YAML = await import('./index-DsSQndIB.js');
9405
+ const YAML = await import('./index-fCne7kmU.js');
9214
9406
  const parsedDoc = YAML.parse(edoc);
9215
9407
  return {
9216
9408
  answer: {
@@ -9495,10 +9687,10 @@ var _hashDelete = hashDelete;
9495
9687
  var HASH_UNDEFINED$2 = '__lodash_hash_undefined__';
9496
9688
 
9497
9689
  /** Used for built-in method references. */
9498
- var objectProto$5 = Object.prototype;
9690
+ var objectProto$6 = Object.prototype;
9499
9691
 
9500
9692
  /** Used to check objects for own properties. */
9501
- var hasOwnProperty$5 = objectProto$5.hasOwnProperty;
9693
+ var hasOwnProperty$6 = objectProto$6.hasOwnProperty;
9502
9694
 
9503
9695
  /**
9504
9696
  * Gets the hash value for `key`.
@@ -9515,16 +9707,16 @@ function hashGet(key) {
9515
9707
  var result = data[key];
9516
9708
  return result === HASH_UNDEFINED$2 ? undefined : result;
9517
9709
  }
9518
- return hasOwnProperty$5.call(data, key) ? data[key] : undefined;
9710
+ return hasOwnProperty$6.call(data, key) ? data[key] : undefined;
9519
9711
  }
9520
9712
 
9521
9713
  var _hashGet = hashGet;
9522
9714
 
9523
9715
  /** Used for built-in method references. */
9524
- var objectProto$4 = Object.prototype;
9716
+ var objectProto$5 = Object.prototype;
9525
9717
 
9526
9718
  /** Used to check objects for own properties. */
9527
- var hasOwnProperty$4 = objectProto$4.hasOwnProperty;
9719
+ var hasOwnProperty$5 = objectProto$5.hasOwnProperty;
9528
9720
 
9529
9721
  /**
9530
9722
  * Checks if a hash value for `key` exists.
@@ -9537,7 +9729,7 @@ var hasOwnProperty$4 = objectProto$4.hasOwnProperty;
9537
9729
  */
9538
9730
  function hashHas(key) {
9539
9731
  var data = this.__data__;
9540
- return _nativeCreate ? (data[key] !== undefined) : hasOwnProperty$4.call(data, key);
9732
+ return _nativeCreate ? (data[key] !== undefined) : hasOwnProperty$5.call(data, key);
9541
9733
  }
9542
9734
 
9543
9735
  var _hashHas = hashHas;
@@ -10512,7 +10704,7 @@ var boolTag$1 = '[object Boolean]',
10512
10704
  numberTag = '[object Number]',
10513
10705
  regexpTag = '[object RegExp]',
10514
10706
  setTag = '[object Set]',
10515
- stringTag = '[object String]',
10707
+ stringTag$1 = '[object String]',
10516
10708
  symbolTag = '[object Symbol]';
10517
10709
 
10518
10710
  var arrayBufferTag = '[object ArrayBuffer]',
@@ -10567,7 +10759,7 @@ function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
10567
10759
  return object.name == other.name && object.message == other.message;
10568
10760
 
10569
10761
  case regexpTag:
10570
- case stringTag:
10762
+ case stringTag$1:
10571
10763
  // Coerce regexes to strings and treat strings, primitives and objects,
10572
10764
  // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring
10573
10765
  // for more details.
@@ -10675,10 +10867,10 @@ function stubArray() {
10675
10867
  var stubArray_1 = stubArray;
10676
10868
 
10677
10869
  /** Used for built-in method references. */
10678
- var objectProto$3 = Object.prototype;
10870
+ var objectProto$4 = Object.prototype;
10679
10871
 
10680
10872
  /** Built-in value references. */
10681
- var propertyIsEnumerable = objectProto$3.propertyIsEnumerable;
10873
+ var propertyIsEnumerable = objectProto$4.propertyIsEnumerable;
10682
10874
 
10683
10875
  /* Built-in method references for those with the same name as other `lodash` methods. */
10684
10876
  var nativeGetSymbols = Object.getOwnPropertySymbols;
@@ -10750,10 +10942,10 @@ function isIndex(value, length) {
10750
10942
  var _isIndex = isIndex;
10751
10943
 
10752
10944
  /** Used for built-in method references. */
10753
- var objectProto$2 = Object.prototype;
10945
+ var objectProto$3 = Object.prototype;
10754
10946
 
10755
10947
  /** Used to check objects for own properties. */
10756
- var hasOwnProperty$3 = objectProto$2.hasOwnProperty;
10948
+ var hasOwnProperty$4 = objectProto$3.hasOwnProperty;
10757
10949
 
10758
10950
  /**
10759
10951
  * Creates an array of the enumerable property names of the array-like `value`.
@@ -10773,7 +10965,7 @@ function arrayLikeKeys(value, inherited) {
10773
10965
  length = result.length;
10774
10966
 
10775
10967
  for (var key in value) {
10776
- if ((inherited || hasOwnProperty$3.call(value, key)) &&
10968
+ if ((inherited || hasOwnProperty$4.call(value, key)) &&
10777
10969
  !(skipIndexes && (
10778
10970
  // Safari 9 has enumerable `arguments.length` in strict mode.
10779
10971
  key == 'length' ||
@@ -10843,10 +11035,10 @@ var _getAllKeys = getAllKeys;
10843
11035
  var COMPARE_PARTIAL_FLAG$3 = 1;
10844
11036
 
10845
11037
  /** Used for built-in method references. */
10846
- var objectProto$1 = Object.prototype;
11038
+ var objectProto$2 = Object.prototype;
10847
11039
 
10848
11040
  /** Used to check objects for own properties. */
10849
- var hasOwnProperty$2 = objectProto$1.hasOwnProperty;
11041
+ var hasOwnProperty$3 = objectProto$2.hasOwnProperty;
10850
11042
 
10851
11043
  /**
10852
11044
  * A specialized version of `baseIsEqualDeep` for objects with support for
@@ -10874,7 +11066,7 @@ function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
10874
11066
  var index = objLength;
10875
11067
  while (index--) {
10876
11068
  var key = objProps[index];
10877
- if (!(isPartial ? key in other : hasOwnProperty$2.call(other, key))) {
11069
+ if (!(isPartial ? key in other : hasOwnProperty$3.call(other, key))) {
10878
11070
  return false;
10879
11071
  }
10880
11072
  }
@@ -10934,13 +11126,13 @@ var COMPARE_PARTIAL_FLAG$2 = 1;
10934
11126
  /** `Object#toString` result references. */
10935
11127
  var argsTag = '[object Arguments]',
10936
11128
  arrayTag = '[object Array]',
10937
- objectTag = '[object Object]';
11129
+ objectTag$1 = '[object Object]';
10938
11130
 
10939
11131
  /** Used for built-in method references. */
10940
- var objectProto = Object.prototype;
11132
+ var objectProto$1 = Object.prototype;
10941
11133
 
10942
11134
  /** Used to check objects for own properties. */
10943
- var hasOwnProperty$1 = objectProto.hasOwnProperty;
11135
+ var hasOwnProperty$2 = objectProto$1.hasOwnProperty;
10944
11136
 
10945
11137
  /**
10946
11138
  * A specialized version of `baseIsEqual` for arrays and objects which performs
@@ -10962,11 +11154,11 @@ function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
10962
11154
  objTag = objIsArr ? arrayTag : _getTag(object),
10963
11155
  othTag = othIsArr ? arrayTag : _getTag(other);
10964
11156
 
10965
- objTag = objTag == argsTag ? objectTag : objTag;
10966
- othTag = othTag == argsTag ? objectTag : othTag;
11157
+ objTag = objTag == argsTag ? objectTag$1 : objTag;
11158
+ othTag = othTag == argsTag ? objectTag$1 : othTag;
10967
11159
 
10968
- var objIsObj = objTag == objectTag,
10969
- othIsObj = othTag == objectTag,
11160
+ var objIsObj = objTag == objectTag$1,
11161
+ othIsObj = othTag == objectTag$1,
10970
11162
  isSameTag = objTag == othTag;
10971
11163
 
10972
11164
  if (isSameTag && isBuffer_1(object)) {
@@ -10983,8 +11175,8 @@ function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
10983
11175
  : _equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
10984
11176
  }
10985
11177
  if (!(bitmask & COMPARE_PARTIAL_FLAG$2)) {
10986
- var objIsWrapped = objIsObj && hasOwnProperty$1.call(object, '__wrapped__'),
10987
- othIsWrapped = othIsObj && hasOwnProperty$1.call(other, '__wrapped__');
11178
+ var objIsWrapped = objIsObj && hasOwnProperty$2.call(object, '__wrapped__'),
11179
+ othIsWrapped = othIsObj && hasOwnProperty$2.call(other, '__wrapped__');
10988
11180
 
10989
11181
  if (objIsWrapped || othIsWrapped) {
10990
11182
  var objUnwrapped = objIsWrapped ? object.value() : object,
@@ -12195,7 +12387,7 @@ var FuncProto = Function.prototype;
12195
12387
  var ObjProto = Object.prototype;
12196
12388
  var slice = ArrayProto.slice;
12197
12389
  var toString = ObjProto.toString;
12198
- var hasOwnProperty = ObjProto.hasOwnProperty;
12390
+ var hasOwnProperty$1 = ObjProto.hasOwnProperty;
12199
12391
  var windowConsole = window$1.console;
12200
12392
  var navigator = window$1.navigator;
12201
12393
  var document$1 = window$1.document;
@@ -12332,7 +12524,7 @@ _.each = function(obj, iterator, context) {
12332
12524
  }
12333
12525
  } else {
12334
12526
  for (var key in obj) {
12335
- if (hasOwnProperty.call(obj, key)) {
12527
+ if (hasOwnProperty$1.call(obj, key)) {
12336
12528
  if (iterator.call(context, obj[key], key, obj) === breaker) {
12337
12529
  return;
12338
12530
  }
@@ -12368,7 +12560,7 @@ _.isFunction = function(f) {
12368
12560
  };
12369
12561
 
12370
12562
  _.isArguments = function(obj) {
12371
- return !!(obj && hasOwnProperty.call(obj, 'callee'));
12563
+ return !!(obj && hasOwnProperty$1.call(obj, 'callee'));
12372
12564
  };
12373
12565
 
12374
12566
  _.toArray = function(iterable) {
@@ -12456,7 +12648,7 @@ _.isObject = function(obj) {
12456
12648
  _.isEmptyObject = function(obj) {
12457
12649
  if (_.isObject(obj)) {
12458
12650
  for (var key in obj) {
12459
- if (hasOwnProperty.call(obj, key)) {
12651
+ if (hasOwnProperty$1.call(obj, key)) {
12460
12652
  return false;
12461
12653
  }
12462
12654
  }
@@ -12648,7 +12840,7 @@ _.JSONEncode = (function() {
12648
12840
 
12649
12841
  // Iterate through all of the keys in the object.
12650
12842
  for (k in value) {
12651
- if (hasOwnProperty.call(value, k)) {
12843
+ if (hasOwnProperty$1.call(value, k)) {
12652
12844
  v = str(k, value);
12653
12845
  if (v) {
12654
12846
  partial.push(quote(k) + (gap ? ': ' : ':') + v);
@@ -19887,6 +20079,154 @@ function processEventData(type, eventData, thoughtSpotHost, containerEl) {
19887
20079
  return eventData;
19888
20080
  }
19889
20081
 
20082
+ /**
20083
+ * Checks if `value` is `null` or `undefined`.
20084
+ *
20085
+ * @static
20086
+ * @memberOf _
20087
+ * @since 4.0.0
20088
+ * @category Lang
20089
+ * @param {*} value The value to check.
20090
+ * @returns {boolean} Returns `true` if `value` is nullish, else `false`.
20091
+ * @example
20092
+ *
20093
+ * _.isNil(null);
20094
+ * // => true
20095
+ *
20096
+ * _.isNil(void 0);
20097
+ * // => true
20098
+ *
20099
+ * _.isNil(NaN);
20100
+ * // => false
20101
+ */
20102
+ function isNil(value) {
20103
+ return value == null;
20104
+ }
20105
+
20106
+ var isNil_1 = isNil;
20107
+
20108
+ /** Built-in value references. */
20109
+ var getPrototype = _overArg(Object.getPrototypeOf, Object);
20110
+
20111
+ var _getPrototype = getPrototype;
20112
+
20113
+ /** `Object#toString` result references. */
20114
+ var objectTag = '[object Object]';
20115
+
20116
+ /** Used for built-in method references. */
20117
+ var funcProto = Function.prototype,
20118
+ objectProto = Object.prototype;
20119
+
20120
+ /** Used to resolve the decompiled source of functions. */
20121
+ var funcToString = funcProto.toString;
20122
+
20123
+ /** Used to check objects for own properties. */
20124
+ var hasOwnProperty = objectProto.hasOwnProperty;
20125
+
20126
+ /** Used to infer the `Object` constructor. */
20127
+ var objectCtorString = funcToString.call(Object);
20128
+
20129
+ /**
20130
+ * Checks if `value` is a plain object, that is, an object created by the
20131
+ * `Object` constructor or one with a `[[Prototype]]` of `null`.
20132
+ *
20133
+ * @static
20134
+ * @memberOf _
20135
+ * @since 0.8.0
20136
+ * @category Lang
20137
+ * @param {*} value The value to check.
20138
+ * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
20139
+ * @example
20140
+ *
20141
+ * function Foo() {
20142
+ * this.a = 1;
20143
+ * }
20144
+ *
20145
+ * _.isPlainObject(new Foo);
20146
+ * // => false
20147
+ *
20148
+ * _.isPlainObject([1, 2, 3]);
20149
+ * // => false
20150
+ *
20151
+ * _.isPlainObject({ 'x': 0, 'y': 0 });
20152
+ * // => true
20153
+ *
20154
+ * _.isPlainObject(Object.create(null));
20155
+ * // => true
20156
+ */
20157
+ function isPlainObject(value) {
20158
+ if (!isObjectLike_1(value) || _baseGetTag(value) != objectTag) {
20159
+ return false;
20160
+ }
20161
+ var proto = _getPrototype(value);
20162
+ if (proto === null) {
20163
+ return true;
20164
+ }
20165
+ var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;
20166
+ return typeof Ctor == 'function' && Ctor instanceof Ctor &&
20167
+ funcToString.call(Ctor) == objectCtorString;
20168
+ }
20169
+
20170
+ var isPlainObject_1 = isPlainObject;
20171
+
20172
+ /** `Object#toString` result references. */
20173
+ var stringTag = '[object String]';
20174
+
20175
+ /**
20176
+ * Checks if `value` is classified as a `String` primitive or object.
20177
+ *
20178
+ * @static
20179
+ * @since 0.1.0
20180
+ * @memberOf _
20181
+ * @category Lang
20182
+ * @param {*} value The value to check.
20183
+ * @returns {boolean} Returns `true` if `value` is a string, else `false`.
20184
+ * @example
20185
+ *
20186
+ * _.isString('abc');
20187
+ * // => true
20188
+ *
20189
+ * _.isString(1);
20190
+ * // => false
20191
+ */
20192
+ function isString(value) {
20193
+ return typeof value == 'string' ||
20194
+ (!isArray_1(value) && isObjectLike_1(value) && _baseGetTag(value) == stringTag);
20195
+ }
20196
+
20197
+ var isString_1 = isString;
20198
+
20199
+ /**
20200
+ * Checks if `value` is `undefined`.
20201
+ *
20202
+ * @static
20203
+ * @since 0.1.0
20204
+ * @memberOf _
20205
+ * @category Lang
20206
+ * @param {*} value The value to check.
20207
+ * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.
20208
+ * @example
20209
+ *
20210
+ * _.isUndefined(void 0);
20211
+ * // => true
20212
+ *
20213
+ * _.isUndefined(null);
20214
+ * // => false
20215
+ */
20216
+ function isUndefined(value) {
20217
+ return value === undefined;
20218
+ }
20219
+
20220
+ var isUndefined_1 = isUndefined;
20221
+
20222
+ const isValidApplicability = (a) => {
20223
+ if (isUndefined_1(a))
20224
+ return true;
20225
+ // targetId is not required at LIVEBOARD level, since the filter applies to the whole Liveboard
20226
+ return isPlainObject_1(a)
20227
+ && Object.values(ApplicabilityLevel).includes(a.level)
20228
+ && (a.level === ApplicabilityLevel.Liveboard || (isString_1(a.targetId) && a.targetId.trim().length > 0));
20229
+ };
19890
20230
  function isValidUpdateFiltersPayload(payload) {
19891
20231
  if (!payload)
19892
20232
  return false;
@@ -19895,12 +20235,23 @@ function isValidUpdateFiltersPayload(payload) {
19895
20235
  const hasOperator = typeof f.oper === 'string' || typeof f.operator === 'string';
19896
20236
  const hasValues = Array.isArray(f.values);
19897
20237
  const validType = !f.type || typeof f.type === 'string';
19898
- return hasColumn && hasOperator && hasValues && validType;
20238
+ return hasColumn && hasOperator && hasValues && validType && isValidApplicability(f.applicability);
19899
20239
  };
19900
20240
  const hasValidFilter = payload.filter && isValidFilter(payload.filter);
19901
20241
  const hasValidFilters = Array.isArray(payload.filters) && payload.filters.length > 0 && payload.filters.every(isValidFilter);
19902
20242
  return !!(hasValidFilter || hasValidFilters);
19903
20243
  }
20244
+ function isValidUpdateParametersPayload(payload) {
20245
+ // Only validates the applicability of each parameter (null treated as absent); the rest is forwarded as-is for backward compatibility.
20246
+ if (!Array.isArray(payload))
20247
+ return true;
20248
+ return payload.every((p) => {
20249
+ if (!isPlainObject_1(p))
20250
+ return true;
20251
+ const { applicability } = p;
20252
+ return isNil_1(applicability) || isValidApplicability(applicability);
20253
+ });
20254
+ }
19904
20255
  function isValidDrillDownPayload(payload) {
19905
20256
  if (!payload)
19906
20257
  return false;
@@ -19931,6 +20282,9 @@ function throwUpdateFiltersValidationError() {
19931
20282
  }
19932
20283
  function throwDrillDownValidationError() {
19933
20284
  createValidationError(ERROR_MESSAGE.DRILLDOWN_INVALID_PAYLOAD);
20285
+ }
20286
+ function throwUpdateParametersValidationError() {
20287
+ createValidationError(ERROR_MESSAGE.UPDATEPARAMETERS_INVALID_PAYLOAD);
19934
20288
  }
19935
20289
 
19936
20290
  /**
@@ -19962,6 +20316,7 @@ class HostEventClient {
19962
20316
  [HostEvent.Pin]: (p, c) => this.handlePinEvent(p, c),
19963
20317
  [HostEvent.SaveAnswer]: (p, c) => this.handleSaveAnswerEvent(p, c),
19964
20318
  [HostEvent.UpdateFilters]: (p, c) => this.handleUpdateFiltersEvent(p, c),
20319
+ [HostEvent.UpdateParameters]: (p, c) => this.handleUpdateParametersEvent(p, c),
19965
20320
  [HostEvent.DrillDown]: (p, c) => this.handleDrillDownEvent(p, c),
19966
20321
  };
19967
20322
  }
@@ -20086,6 +20441,13 @@ class HostEventClient {
20086
20441
  }
20087
20442
  return this.handleHostEventWithParam(UIPassthroughEvent.UpdateFilters, payload, context);
20088
20443
  }
20444
+ handleUpdateParametersEvent(payload, context) {
20445
+ if (!isValidUpdateParametersPayload(payload)) {
20446
+ throwUpdateParametersValidationError();
20447
+ }
20448
+ // UpdateParameters has no UI passthrough contract; dispatch over the legacy channel
20449
+ return this.hostEventFallback(HostEvent.UpdateParameters, payload, context);
20450
+ }
20089
20451
  handleDrillDownEvent(payload, context) {
20090
20452
  if (!isValidDrillDownPayload(payload)) {
20091
20453
  throwDrillDownValidationError();
@@ -20871,7 +21233,7 @@ class TsEmbed {
20871
21233
  if (this.embedConfig.currencyFormat) {
20872
21234
  queryParams[Param.CurrencyFormat] = this.embedConfig.currencyFormat;
20873
21235
  }
20874
- const { disabledActions, disabledActionReason, hiddenActions, visibleActions, hiddenTabs, visibleTabs, showAlerts, additionalFlags: additionalFlagsFromView, locale, customizations, contextMenuTrigger, linkOverride, enableLinkOverridesV2, insertInToSlide, disableRedirectionLinksInNewTab, overrideOrgId, exposeTranslationIDs, primaryAction, } = this.viewConfig;
21236
+ const { disabledActions, disabledActionReason, hiddenActions, visibleActions, hiddenTabs, visibleTabs, showAlerts, additionalFlags: additionalFlagsFromView, locale, customizations, contextMenuTrigger, linkOverride, enableLinkOverridesV2, insertInToSlide, disableRedirectionLinksInNewTab, overrideOrgId, overrideHistoryState, exposeTranslationIDs, primaryAction, } = this.viewConfig;
20875
21237
  const { additionalFlags: additionalFlagsFromInit } = this.embedConfig;
20876
21238
  const additionalFlags = {
20877
21239
  ...additionalFlagsFromInit,
@@ -20959,6 +21321,9 @@ class TsEmbed {
20959
21321
  if (overrideOrgId !== undefined) {
20960
21322
  queryParams[Param.OverrideOrgId] = overrideOrgId;
20961
21323
  }
21324
+ if (overrideHistoryState !== undefined) {
21325
+ queryParams[Param.OverrideHistoryState] = overrideHistoryState;
21326
+ }
20962
21327
  if (this.isPreAuthCacheEnabled()) {
20963
21328
  queryParams[Param.preAuthCache] = true;
20964
21329
  }
@@ -21891,7 +22256,7 @@ class TsEmbed {
21891
22256
  * wrapper to overlay it.
21892
22257
  */
21893
22258
  async showPreRender() {
21894
- var _a;
22259
+ var _a, _b;
21895
22260
  if (this.shouldWaitForRenderPromise)
21896
22261
  await this.isReadyForRenderPromise;
21897
22262
  if (!this.viewConfig.preRenderId) {
@@ -21915,10 +22280,14 @@ class TsEmbed {
21915
22280
  }
21916
22281
  }
21917
22282
  const placeHolderId = this.getPreRenderIds().placeHolder;
21918
- const oldEle = this.hostElement.querySelector(`#${placeHolderId}`);
21919
- if (oldEle) {
21920
- this.hostElement.removeChild(oldEle);
21921
- }
22283
+ // Remove any stale placeholder from a previous cycle. It is located
22284
+ // via a subtree-wide querySelector, so it may be nested deeper than a
22285
+ // direct child (E.g.: with fullHeight the host app can wrap it). Use
22286
+ // Element.remove() — which detaches from whatever the real parent is —
22287
+ // rather than hostElement.removeChild(), which throws NotFoundError
22288
+ // when the match is not a direct child. Mirrors the wrapper/child
22289
+ // cleanup in createPreRenderWrapper()/createPreRenderChild().
22290
+ (_a = this.hostElement.querySelector(`#${placeHolderId}`)) === null || _a === void 0 ? void 0 : _a.remove();
21922
22291
  this.hostElement.appendChild(this.insertedDomEl);
21923
22292
  this.syncPreRenderStyle();
21924
22293
  const customContainer = this.preRenderContainerEl && this.preRenderContainerEl !== document.body
@@ -21929,7 +22298,7 @@ class TsEmbed {
21929
22298
  customContainer.addEventListener('scroll', this.containerScrollListener);
21930
22299
  }
21931
22300
  if (!this.viewConfig.doNotTrackPreRenderSize) {
21932
- const observeTarget = (_a = this.insertedDomEl) !== null && _a !== void 0 ? _a : this.hostElement;
22301
+ const observeTarget = (_b = this.insertedDomEl) !== null && _b !== void 0 ? _b : this.hostElement;
21933
22302
  this.resizeObserver = new ResizeObserver((entries) => {
21934
22303
  entries.forEach((entry) => {
21935
22304
  if (entry.target === observeTarget) {
@@ -22533,6 +22902,10 @@ var Page;
22533
22902
  * Monitor Alerts Page
22534
22903
  */
22535
22904
  Page["Monitor"] = "monitor";
22905
+ /**
22906
+ * Collections listing page
22907
+ */
22908
+ Page["Collections"] = "collections";
22536
22909
  })(Page || (Page = {}));
22537
22910
  /**
22538
22911
  * Define the initial state of column custom group accordions
@@ -22703,7 +23076,7 @@ let AppEmbed$1 = class AppEmbed extends V1Embed {
22703
23076
  * embedded Liveboard or visualization.
22704
23077
  */
22705
23078
  getEmbedParams() {
22706
- const { tag, hideTagFilterChips, hideObjects, liveboardV2, showPrimaryNavbar, disableProfileAndHelp, hideHamburger, hideObjectSearch, hideNotification, hideApplicationSwitcher, hideOrgSwitcher, enableSearchAssist, newConnectionsExperience, fullHeight, dataPanelV2 = true, hideLiveboardHeader = false, showLiveboardTitle = true, showLiveboardDescription = true, showMaskedFilterChip = false, isLiveboardMasterpiecesEnabled = false, newChartsLibrary, hideHomepageLeftNav = false, modularHomeExperience = false, isLiveboardHeaderSticky = true, enableAskSage, collapseSearchBarInitially = false, enable2ColumnLayout, enableCustomColumnGroups = false, dataPanelCustomGroupsAccordionInitialState = DataPanelCustomColumnGroupsAccordionState.EXPAND_ALL, collapseSearchBar = true, isLiveboardCompactHeaderEnabled = false, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, hideIrrelevantChipsInLiveboardTabs = false, isEnhancedFilterInteractivityEnabled = false, homePageSearchBarMode, isUnifiedSearchExperienceEnabled = true, enablePendoHelp = true, discoveryExperience, coverAndFilterOptionInPDF = false, isLiveboardStylingAndGroupingEnabled, isPNGInScheduledEmailsEnabled = false, isLiveboardXLSXCSVDownloadEnabled = false, isGranularXLSXCSVSchedulesEnabled = false, isCentralizedLiveboardFilterUXEnabled = false, isLinkParametersEnabled, updatedSpotterChatPrompt, enableStopAnswerGenerationEmbed, spotterChatConfig, minimumHeight, isThisPeriodInDateFiltersEnabled, enableHomepageAnnouncement = false, isContinuousLiveboardPDFEnabled = false, enableLiveboardDataCache, } = this.viewConfig;
23079
+ const { tag, hideTagFilterChips, hideObjects, liveboardV2, showPrimaryNavbar, disableProfileAndHelp, hideHamburger, hideObjectSearch, hideNotification, hideApplicationSwitcher, hideOrgSwitcher, enableSearchAssist, newConnectionsExperience, fullHeight, dataPanelV2 = true, hideLiveboardHeader = false, showLiveboardTitle = true, showLiveboardDescription = true, showMaskedFilterChip = false, isLiveboardMasterpiecesEnabled = false, newChartsLibrary, hideHomepageLeftNav = false, modularHomeExperience = false, isLiveboardHeaderSticky = true, enableAskSage, collapseSearchBarInitially = false, enable2ColumnLayout, enableCustomColumnGroups = false, dataPanelCustomGroupsAccordionInitialState = DataPanelCustomColumnGroupsAccordionState.EXPAND_ALL, collapseSearchBar = true, isLiveboardCompactHeaderEnabled = false, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, hideIrrelevantChipsInLiveboardTabs = false, isEnhancedFilterInteractivityEnabled = false, homePageSearchBarMode, isUnifiedSearchExperienceEnabled = true, enablePendoHelp = true, discoveryExperience, coverAndFilterOptionInPDF = false, isLiveboardStylingAndGroupingEnabled, isPNGInScheduledEmailsEnabled = false, isLiveboardXLSXCSVDownloadEnabled = false, isGranularXLSXCSVSchedulesEnabled = false, isCentralizedLiveboardFilterUXEnabled = false, isLinkParametersEnabled, updatedSpotterChatPrompt, defaultQueryMode, enableStopAnswerGenerationEmbed, spotterChatConfig, minimumHeight, isThisPeriodInDateFiltersEnabled, enableHomepageAnnouncement = false, isContinuousLiveboardPDFEnabled = false, enableLiveboardDataCache, } = this.viewConfig;
22707
23080
  let params = {};
22708
23081
  params[Param.PrimaryNavHidden] = !showPrimaryNavbar;
22709
23082
  params[Param.HideProfleAndHelp] = !!disableProfileAndHelp;
@@ -22729,10 +23102,13 @@ let AppEmbed$1 = class AppEmbed extends V1Embed {
22729
23102
  }
22730
23103
  params[Param.CoverAndFilterOptionInPDF] = !!coverAndFilterOptionInPDF;
22731
23104
  params = this.getBaseQueryParams(params);
22732
- if (!isUndefined(updatedSpotterChatPrompt)) {
23105
+ if (!isUndefined$1(updatedSpotterChatPrompt)) {
22733
23106
  params[Param.UpdatedSpotterChatPrompt] = !!updatedSpotterChatPrompt;
22734
23107
  }
22735
- if (!isUndefined(enableStopAnswerGenerationEmbed)) {
23108
+ if (!isUndefined$1(defaultQueryMode)) {
23109
+ params[Param.DefaultQueryMode] = defaultQueryMode;
23110
+ }
23111
+ if (!isUndefined$1(enableStopAnswerGenerationEmbed)) {
22736
23112
  params[Param.EnableStopAnswerGenerationEmbed] = !!enableStopAnswerGenerationEmbed;
22737
23113
  }
22738
23114
  // Handle spotterChatConfig params
@@ -22879,6 +23255,12 @@ let AppEmbed$1 = class AppEmbed extends V1Embed {
22879
23255
  }
22880
23256
  if (discoveryExperience.homePage === HomePage.Focused) {
22881
23257
  params[Param.HomepageVersion] = HomePage.Focused;
23258
+ // The Focused (V4) homepage experience requires the updated
23259
+ // Spotter chat prompt. Enable it automatically unless the
23260
+ // developer has explicitly set updatedSpotterChatPrompt.
23261
+ if (isUndefined$1(updatedSpotterChatPrompt)) {
23262
+ params[Param.UpdatedSpotterChatPrompt] = true;
23263
+ }
22882
23264
  }
22883
23265
  }
22884
23266
  const queryParams = getQueryParamString(params, true);
@@ -22917,6 +23299,8 @@ let AppEmbed$1 = class AppEmbed extends V1Embed {
22917
23299
  return modularHomeExperience ? 'home/spotiq-analysis' : 'insights/results';
22918
23300
  case Page.Monitor:
22919
23301
  return modularHomeExperience ? 'home/monitor-alerts' : 'insights/monitor-alerts';
23302
+ case Page.Collections:
23303
+ return 'collections';
22920
23304
  case Page.Home:
22921
23305
  default:
22922
23306
  return 'home';
@@ -22949,11 +23333,13 @@ let AppEmbed$1 = class AppEmbed extends V1Embed {
22949
23333
  * @version SDK: 1.12.0 | ThoughtSpot: 8.4.0.cl, 8.4.1-sw
22950
23334
  */
22951
23335
  navigateToPage(path, noReload = false) {
23336
+ var _a;
22952
23337
  if (!this.iFrame) {
22953
23338
  logger$3.log('Please call render before invoking this method');
22954
23339
  return;
22955
23340
  }
22956
- if (noReload) {
23341
+ const overrideHistoryState = (_a = this.viewConfig) === null || _a === void 0 ? void 0 : _a.overrideHistoryState;
23342
+ if (noReload || overrideHistoryState) {
22957
23343
  this.trigger(HostEvent.Navigate, path);
22958
23344
  }
22959
23345
  else {
@@ -23241,10 +23627,10 @@ let LiveboardEmbed$1 = class LiveboardEmbed extends V1Embed {
23241
23627
  if (preventLiveboardFilterRemoval) {
23242
23628
  params[Param.preventLiveboardFilterRemoval] = true;
23243
23629
  }
23244
- if (!isUndefined(updatedSpotterChatPrompt)) {
23630
+ if (!isUndefined$1(updatedSpotterChatPrompt)) {
23245
23631
  params[Param.UpdatedSpotterChatPrompt] = !!updatedSpotterChatPrompt;
23246
23632
  }
23247
- if (!isUndefined(enableStopAnswerGenerationEmbed)) {
23633
+ if (!isUndefined$1(enableStopAnswerGenerationEmbed)) {
23248
23634
  params[Param.EnableStopAnswerGenerationEmbed] = !!enableStopAnswerGenerationEmbed;
23249
23635
  }
23250
23636
  if (visibleVizs) {
@@ -23445,7 +23831,7 @@ let LiveboardEmbed$1 = class LiveboardEmbed extends V1Embed {
23445
23831
  });
23446
23832
  }
23447
23833
  async handleRenderForPrerender() {
23448
- if (isUndefined(this.viewConfig.liveboardId)) {
23834
+ if (isUndefined$1(this.viewConfig.liveboardId)) {
23449
23835
  return this.prerenderGeneric();
23450
23836
  }
23451
23837
  return super.handleRenderForPrerender();
@@ -24082,6 +24468,15 @@ function getViewPropsAndListeners(props) {
24082
24468
  });
24083
24469
  }
24084
24470
 
24471
+ /**
24472
+ * The query mode Spotter uses when answering a question.
24473
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
24474
+ */
24475
+ var SpotterQueryMode;
24476
+ (function (SpotterQueryMode) {
24477
+ SpotterQueryMode["FAST_SEARCH"] = "fastSearch";
24478
+ SpotterQueryMode["RESEARCH"] = "research";
24479
+ })(SpotterQueryMode || (SpotterQueryMode = {}));
24085
24480
  /**
24086
24481
  * Embed ThoughtSpot AI Conversation.
24087
24482
  * @version SDK: 1.37.0 | ThoughtSpot: 10.9.0.cl
@@ -24125,7 +24520,7 @@ let SpotterEmbed$1 = class SpotterEmbed extends TsEmbed {
24125
24520
  return buildSpotterSidebarAppInitData(defaultAppInitData, this.viewConfig, this.handleError.bind(this));
24126
24521
  }
24127
24522
  getEmbedParamsObject() {
24128
- const { worksheetId, searchOptions, disableSourceSelection, hideSourceSelection, dataPanelV2, showSpotterLimitations, hideSampleQuestions, runtimeFilters, excludeRuntimeFiltersfromURL, runtimeParameters, excludeRuntimeParametersfromURL, updatedSpotterChatPrompt, enableStopAnswerGenerationEmbed, spotterChatConfig, } = this.viewConfig;
24523
+ const { worksheetId, searchOptions, disableSourceSelection, hideSourceSelection, dataPanelV2, showSpotterLimitations, hideSampleQuestions, runtimeFilters, excludeRuntimeFiltersfromURL, runtimeParameters, excludeRuntimeParametersfromURL, updatedSpotterChatPrompt, defaultQueryMode, enableStopAnswerGenerationEmbed, spotterChatConfig, } = this.viewConfig;
24129
24524
  if (!worksheetId) {
24130
24525
  this.handleError({
24131
24526
  errorType: ErrorDetailsTypes.VALIDATION_ERROR,
@@ -24143,6 +24538,7 @@ let SpotterEmbed$1 = class SpotterEmbed extends TsEmbed {
24143
24538
  setParamIfDefined(queryParams, Param.ShowSpotterLimitations, showSpotterLimitations, true);
24144
24539
  setParamIfDefined(queryParams, Param.HideSampleQuestions, hideSampleQuestions, true);
24145
24540
  setParamIfDefined(queryParams, Param.UpdatedSpotterChatPrompt, updatedSpotterChatPrompt, true);
24541
+ setParamIfDefined(queryParams, Param.DefaultQueryMode, defaultQueryMode);
24146
24542
  setParamIfDefined(queryParams, Param.EnableStopAnswerGenerationEmbed, enableStopAnswerGenerationEmbed, true);
24147
24543
  // Handle spotterChatConfig params
24148
24544
  if (spotterChatConfig) {