@thoughtspot/visual-embed-sdk 1.50.1 → 1.51.0

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 (156) hide show
  1. package/cjs/package.json +1 -1
  2. package/cjs/src/css-variables.d.ts +36 -0
  3. package/cjs/src/css-variables.d.ts.map +1 -1
  4. package/cjs/src/embed/app.d.ts +106 -14
  5. package/cjs/src/embed/app.d.ts.map +1 -1
  6. package/cjs/src/embed/app.js +47 -36
  7. package/cjs/src/embed/app.js.map +1 -1
  8. package/cjs/src/embed/app.spec.js +318 -149
  9. package/cjs/src/embed/app.spec.js.map +1 -1
  10. package/cjs/src/embed/conversation.d.ts +204 -1
  11. package/cjs/src/embed/conversation.d.ts.map +1 -1
  12. package/cjs/src/embed/conversation.js +19 -15
  13. package/cjs/src/embed/conversation.js.map +1 -1
  14. package/cjs/src/embed/conversation.spec.js +198 -17
  15. package/cjs/src/embed/conversation.spec.js.map +1 -1
  16. package/cjs/src/embed/events.spec.js +42 -0
  17. package/cjs/src/embed/events.spec.js.map +1 -1
  18. package/cjs/src/embed/host-events.spec.js +45 -0
  19. package/cjs/src/embed/host-events.spec.js.map +1 -1
  20. package/cjs/src/embed/hostEventClient/contracts.d.ts +15 -0
  21. package/cjs/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  22. package/cjs/src/embed/hostEventClient/contracts.js +1 -0
  23. package/cjs/src/embed/hostEventClient/contracts.js.map +1 -1
  24. package/cjs/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  25. package/cjs/src/embed/hostEventClient/host-event-client.js +1 -0
  26. package/cjs/src/embed/hostEventClient/host-event-client.js.map +1 -1
  27. package/cjs/src/embed/hostEventClient/host-event-client.spec.js +9 -0
  28. package/cjs/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  29. package/cjs/src/embed/liveboard.d.ts +36 -1
  30. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  31. package/cjs/src/embed/liveboard.js +26 -6
  32. package/cjs/src/embed/liveboard.js.map +1 -1
  33. package/cjs/src/embed/liveboard.spec.js +83 -2
  34. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  35. package/cjs/src/embed/spotter-utils.d.ts +8 -1
  36. package/cjs/src/embed/spotter-utils.d.ts.map +1 -1
  37. package/cjs/src/embed/spotter-utils.js +14 -1
  38. package/cjs/src/embed/spotter-utils.js.map +1 -1
  39. package/cjs/src/embed/spotter-utils.spec.js +61 -0
  40. package/cjs/src/embed/spotter-utils.spec.js.map +1 -1
  41. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  42. package/cjs/src/embed/ts-embed.js +15 -0
  43. package/cjs/src/embed/ts-embed.js.map +1 -1
  44. package/cjs/src/index.d.ts +2 -2
  45. package/cjs/src/index.d.ts.map +1 -1
  46. package/cjs/src/index.js.map +1 -1
  47. package/cjs/src/mixpanel-service.d.ts +4 -0
  48. package/cjs/src/mixpanel-service.d.ts.map +1 -1
  49. package/cjs/src/mixpanel-service.js +4 -0
  50. package/cjs/src/mixpanel-service.js.map +1 -1
  51. package/cjs/src/types.d.ts +460 -15
  52. package/cjs/src/types.d.ts.map +1 -1
  53. package/cjs/src/types.js +428 -8
  54. package/cjs/src/types.js.map +1 -1
  55. package/dist/{index-fCne7kmU.js → index-aBzH5ZwF.js} +1 -1
  56. package/dist/src/css-variables.d.ts +36 -0
  57. package/dist/src/css-variables.d.ts.map +1 -1
  58. package/dist/src/embed/app.d.ts +106 -14
  59. package/dist/src/embed/app.d.ts.map +1 -1
  60. package/dist/src/embed/conversation.d.ts +204 -1
  61. package/dist/src/embed/conversation.d.ts.map +1 -1
  62. package/dist/src/embed/hostEventClient/contracts.d.ts +15 -0
  63. package/dist/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  64. package/dist/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  65. package/dist/src/embed/liveboard.d.ts +36 -1
  66. package/dist/src/embed/liveboard.d.ts.map +1 -1
  67. package/dist/src/embed/spotter-utils.d.ts +8 -1
  68. package/dist/src/embed/spotter-utils.d.ts.map +1 -1
  69. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  70. package/dist/src/index.d.ts +2 -2
  71. package/dist/src/index.d.ts.map +1 -1
  72. package/dist/src/mixpanel-service.d.ts +4 -0
  73. package/dist/src/mixpanel-service.d.ts.map +1 -1
  74. package/dist/src/types.d.ts +460 -15
  75. package/dist/src/types.d.ts.map +1 -1
  76. package/dist/tsembed-react.es.js +558 -69
  77. package/dist/tsembed-react.js +557 -68
  78. package/dist/tsembed.es.js +556 -68
  79. package/dist/tsembed.js +555 -67
  80. package/dist/visual-embed-sdk-react-full.d.ts +845 -27
  81. package/dist/visual-embed-sdk-react.d.ts +851 -29
  82. package/dist/visual-embed-sdk.d.ts +855 -29
  83. package/lib/package.json +1 -1
  84. package/lib/src/css-variables.d.ts +36 -0
  85. package/lib/src/css-variables.d.ts.map +1 -1
  86. package/lib/src/embed/app.d.ts +106 -14
  87. package/lib/src/embed/app.d.ts.map +1 -1
  88. package/lib/src/embed/app.js +48 -37
  89. package/lib/src/embed/app.js.map +1 -1
  90. package/lib/src/embed/app.spec.js +319 -150
  91. package/lib/src/embed/app.spec.js.map +1 -1
  92. package/lib/src/embed/conversation.d.ts +204 -1
  93. package/lib/src/embed/conversation.d.ts.map +1 -1
  94. package/lib/src/embed/conversation.js +21 -17
  95. package/lib/src/embed/conversation.js.map +1 -1
  96. package/lib/src/embed/conversation.spec.js +198 -17
  97. package/lib/src/embed/conversation.spec.js.map +1 -1
  98. package/lib/src/embed/events.spec.js +42 -0
  99. package/lib/src/embed/events.spec.js.map +1 -1
  100. package/lib/src/embed/host-events.spec.js +45 -0
  101. package/lib/src/embed/host-events.spec.js.map +1 -1
  102. package/lib/src/embed/hostEventClient/contracts.d.ts +15 -0
  103. package/lib/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  104. package/lib/src/embed/hostEventClient/contracts.js +1 -0
  105. package/lib/src/embed/hostEventClient/contracts.js.map +1 -1
  106. package/lib/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  107. package/lib/src/embed/hostEventClient/host-event-client.js +1 -0
  108. package/lib/src/embed/hostEventClient/host-event-client.js.map +1 -1
  109. package/lib/src/embed/hostEventClient/host-event-client.spec.js +9 -0
  110. package/lib/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  111. package/lib/src/embed/liveboard.d.ts +36 -1
  112. package/lib/src/embed/liveboard.d.ts.map +1 -1
  113. package/lib/src/embed/liveboard.js +26 -6
  114. package/lib/src/embed/liveboard.js.map +1 -1
  115. package/lib/src/embed/liveboard.spec.js +83 -2
  116. package/lib/src/embed/liveboard.spec.js.map +1 -1
  117. package/lib/src/embed/spotter-utils.d.ts +8 -1
  118. package/lib/src/embed/spotter-utils.d.ts.map +1 -1
  119. package/lib/src/embed/spotter-utils.js +12 -0
  120. package/lib/src/embed/spotter-utils.js.map +1 -1
  121. package/lib/src/embed/spotter-utils.spec.js +62 -1
  122. package/lib/src/embed/spotter-utils.spec.js.map +1 -1
  123. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  124. package/lib/src/embed/ts-embed.js +15 -0
  125. package/lib/src/embed/ts-embed.js.map +1 -1
  126. package/lib/src/index.d.ts +2 -2
  127. package/lib/src/index.d.ts.map +1 -1
  128. package/lib/src/index.js.map +1 -1
  129. package/lib/src/mixpanel-service.d.ts +4 -0
  130. package/lib/src/mixpanel-service.d.ts.map +1 -1
  131. package/lib/src/mixpanel-service.js +4 -0
  132. package/lib/src/mixpanel-service.js.map +1 -1
  133. package/lib/src/types.d.ts +460 -15
  134. package/lib/src/types.d.ts.map +1 -1
  135. package/lib/src/types.js +428 -8
  136. package/lib/src/types.js.map +1 -1
  137. package/lib/src/visual-embed-sdk.d.ts +855 -29
  138. package/package.json +1 -1
  139. package/src/css-variables.ts +45 -0
  140. package/src/embed/app.spec.ts +390 -183
  141. package/src/embed/app.ts +172 -65
  142. package/src/embed/conversation.spec.ts +243 -20
  143. package/src/embed/conversation.ts +233 -17
  144. package/src/embed/events.spec.ts +52 -0
  145. package/src/embed/host-events.spec.ts +70 -0
  146. package/src/embed/hostEventClient/contracts.ts +16 -0
  147. package/src/embed/hostEventClient/host-event-client.spec.ts +12 -0
  148. package/src/embed/hostEventClient/host-event-client.ts +1 -0
  149. package/src/embed/liveboard.spec.ts +108 -2
  150. package/src/embed/liveboard.ts +76 -14
  151. package/src/embed/spotter-utils.spec.ts +68 -1
  152. package/src/embed/spotter-utils.ts +16 -1
  153. package/src/embed/ts-embed.ts +18 -0
  154. package/src/index.ts +2 -1
  155. package/src/mixpanel-service.ts +4 -0
  156. package/src/types.ts +462 -14
package/src/types.ts CHANGED
@@ -176,7 +176,9 @@ export enum AuthType {
176
176
  }
177
177
  /**
178
178
  *
179
- * **Note**: This attribute is not supported in the classic (V1) homepage experience.
179
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
180
+ * deprecated. This attribute applies to V3 (ModularWithStylingChanges) and
181
+ * V4 (Focused) home page experiences.
180
182
  *
181
183
  */
182
184
 
@@ -1617,7 +1619,9 @@ export interface HomePageConfig {
1617
1619
  * To specify the modules, import the `HomepageModule` enum.
1618
1620
  * For example: `hiddenHomepageModules = [HomepageModule.MyLibrary]`
1619
1621
  *
1620
- * **Note**: This attribute is not supported in the classic (v1) experience.
1622
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
1623
+ * deprecated. This attribute applies to V3 (ModularWithStylingChanges)
1624
+ * and V4 (Focused) home page experiences.
1621
1625
  *
1622
1626
  * Supported embed types: `AppEmbed`
1623
1627
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl, 10.1.0.sw
@@ -1626,7 +1630,7 @@ export interface HomePageConfig {
1626
1630
  * import { HomepageModule } from '@thoughtspot/visual-embed-sdk';
1627
1631
  *
1628
1632
  * const embed = new AppEmbed('#tsEmbed', {
1629
- * ... // V2/V3 navigation and home page experience attributes
1633
+ * ... // V3 navigation and home page experience attributes
1630
1634
  * hiddenHomepageModules : [HomepageModule.Favorite,HomepageModule.Learning],
1631
1635
  * //...other embed view configuration attributes
1632
1636
  * })
@@ -1637,8 +1641,11 @@ export interface HomePageConfig {
1637
1641
  * Reorder home page modules.
1638
1642
  * To specify the modules, import the `HomepageModule` enum.
1639
1643
  * For example: `reorderedHomepageModules = [HomepageModule.MyLibrary,
1640
- * HomepageModule.Watchlist]` **Note**: This attribute is not supported in the
1641
- * classic (v1) homepage.
1644
+ * HomepageModule.Watchlist]`
1645
+ *
1646
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
1647
+ * deprecated. This attribute applies to V3 (ModularWithStylingChanges)
1648
+ * and V4 (Focused) home page experiences.
1642
1649
  *
1643
1650
  * Supported embed types: `AppEmbed`
1644
1651
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl, 10.1.0.sw
@@ -1647,7 +1654,7 @@ export interface HomePageConfig {
1647
1654
  * import { HomepageModule } from '@thoughtspot/visual-embed-sdk';
1648
1655
  *
1649
1656
  * const embed = new AppEmbed('#tsEmbed', {
1650
- * ...//V2/V3 navigation and home page experience attributes
1657
+ * ...//V3 navigation and home page experience attributes
1651
1658
  * reorderedHomepageModules:[HomepageModule.Favorite,HomepageModule.MyLibrary],
1652
1659
  * //... other embed view configuration attributes
1653
1660
  * })
@@ -1659,7 +1666,9 @@ export interface HomePageConfig {
1659
1666
  * on the home page left navigation panel.
1660
1667
  * To specify the menu items, import the `HomeLeftNavItem` enum.
1661
1668
  *
1662
- * **Note**: This attribute is not supported in the classic (v1) homepage.
1669
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
1670
+ * deprecated. This attribute applies to V3 (ModularWithStylingChanges)
1671
+ * and V4 (Focused) home page experiences.
1663
1672
  *
1664
1673
  * Supported embed types: `AppEmbed`
1665
1674
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl, 10.1.0.sw
@@ -2037,6 +2046,24 @@ export interface LiveboardAppEmbedViewConfig {
2037
2046
  * ```
2038
2047
  */
2039
2048
  isCentralizedLiveboardFilterUXEnabled?: boolean;
2049
+ /**
2050
+ * This flag is used to enable or disable scoped Liveboard filtering.
2051
+ * When enabled, filters and parameters can be scoped to a group of
2052
+ * visualizations on a Liveboard, in addition to the Liveboard and
2053
+ * tab levels.
2054
+ *
2055
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`
2056
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
2057
+ * @example
2058
+ * ```js
2059
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
2060
+ * const embed = new <EmbedComponent>('#tsEmbed', {
2061
+ * ... // other embed view config
2062
+ * isScopedLiveboardFilteringEnabled: true,
2063
+ * })
2064
+ * ```
2065
+ */
2066
+ isScopedLiveboardFilteringEnabled?: boolean;
2040
2067
  /**
2041
2068
  * This flag is used to enable or disable the link parameters in liveboard.
2042
2069
  *
@@ -2253,7 +2280,9 @@ export enum RuntimeFilterOp {
2253
2280
  * via `hiddenHomepageModules` and reordered via
2254
2281
  * `reorderedHomepageModules`.
2255
2282
  *
2256
- * **Note**: This option is not supported in the classic (v1) experience.
2283
+ * **Note**: The classic (V1) and Modular (V2) home page experiences are
2284
+ * deprecated. These modules apply to V3 (ModularWithStylingChanges) and
2285
+ * V4 (Focused) home page experiences.
2257
2286
  * @version SDK: 1.28.0 | ThoughtSpot: 9.12.5.cl, 10.1.0.sw
2258
2287
  */
2259
2288
 
@@ -3250,11 +3279,19 @@ export enum EmbedEvent {
3250
3279
  * Emitted when a user changes any filter on a Liveboard.
3251
3280
  * Returns filter type and name, column name and ID, and runtime
3252
3281
  * filter details.
3282
+ * The payload includes an optional `applicability` attribute indicating the
3283
+ * scope of the changed filter. It contains a `level` (`LIVEBOARD`,
3284
+ * `TAB`, or `GROUP`) and, when `level` is `TAB` or `GROUP`, a
3285
+ * `targetId` with the GUID of the target. At `LIVEBOARD` level there
3286
+ * is no `targetId`, since the filter applies to the whole Liveboard.
3287
+ * The `applicability` attribute is available from SDK: 1.53.0 |
3288
+ * ThoughtSpot: 26.10.0.cl.
3253
3289
  * @example
3254
3290
  *
3255
3291
  * ```js
3256
3292
  * LiveboardEmbed.on(EmbedEvent.FilterChanged, (payload) => {
3257
3293
  * console.log('payload', payload);
3294
+ * // payload.data optionally includes applicability: { level, targetId }
3258
3295
  * })
3259
3296
  * ```
3260
3297
  * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl, 9.5.0.sw
@@ -3446,9 +3483,17 @@ export enum EmbedEvent {
3446
3483
  /**
3447
3484
  * Emitted when parameter changes in an Answer
3448
3485
  * or Liveboard.
3486
+ * The payload includes an optional `applicability` attribute indicating the
3487
+ * scope of the changed parameter. It contains a `level` (`LIVEBOARD`,
3488
+ * `TAB`, or `GROUP`) and, when `level` is `TAB` or `GROUP`, a
3489
+ * `targetId` with the GUID of the target. At `LIVEBOARD` level there
3490
+ * is no `targetId`, since the parameter applies to the whole Liveboard.
3491
+ * The `applicability` attribute is available from SDK: 1.53.0 |
3492
+ * ThoughtSpot: 26.10.0.cl.
3449
3493
  * ```js
3450
3494
  * liveboardEmbed.on(EmbedEvent.ParameterChanged, (payload) => {
3451
3495
  * console.log('payload', payload);
3496
+ * // payload.data optionally includes applicability: { level, targetId }
3452
3497
  * })
3453
3498
  * ```
3454
3499
  * @version SDK: 1.29.0 | ThoughtSpot: 10.3.0.cl
@@ -3750,6 +3795,158 @@ export enum EmbedEvent {
3750
3795
  * @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
3751
3796
  */
3752
3797
  SpotterConversationDeleted = 'spotterConversationDeleted',
3798
+ /**
3799
+ * Emitted when the header Share button is clicked. Fires `Start` then `End`
3800
+ * to bracket the interaction. App→host counterpart of the
3801
+ * `ShareSpotterConversation` host event (user-driven vs programmatic open).
3802
+ * @example
3803
+ * ```js
3804
+ * spotterEmbed.on(EmbedEvent.SpotterShareConversationButtonHeaderClicked, (payload) => {
3805
+ * // payload: { convId: string }
3806
+ * })
3807
+ * ```
3808
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
3809
+ */
3810
+ SpotterShareConversationButtonHeaderClicked = 'spotterShareConversationButtonHeaderClicked',
3811
+ /**
3812
+ * Emitted when the sidebar Share item is clicked. Fires `Start` then `End`
3813
+ * to bracket the interaction.
3814
+ * @example
3815
+ * ```js
3816
+ * spotterEmbed.on(EmbedEvent.SpotterShareConversationMenuItemSidebarClicked, (payload) => {
3817
+ * // payload: { convId: string }
3818
+ * })
3819
+ * ```
3820
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
3821
+ */
3822
+ SpotterShareConversationMenuItemSidebarClicked = 'spotterShareConversationMenuItemSidebarClicked',
3823
+ /**
3824
+ * Emitted when a Spotter conversation is shared (recipients added, or a new
3825
+ * share created). The host builds its own link from shareId/convId + its
3826
+ * configured CONVERSATION_URL — no link string is sent. Distinct from
3827
+ * `SpotterShareModalConfirmButtonClicked`, which fires at click time before
3828
+ * the save resolves.
3829
+ * @example
3830
+ * ```js
3831
+ * spotterEmbed.on(EmbedEvent.SpotterConversationShared, (payload) => {
3832
+ * // payload: { convId: string, shareId: string,
3833
+ * // recipientsAdded: string[], recipientsRemoved: string[] }
3834
+ * })
3835
+ * ```
3836
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
3837
+ */
3838
+ SpotterConversationShared = 'spotterConversationShared',
3839
+ /**
3840
+ * Emitted when access to a shared Spotter conversation is revoked
3841
+ * (recipients removed). `fullyRevoked` is true when the last sharee is removed
3842
+ * and the share is deleted entirely.
3843
+ * @example
3844
+ * ```js
3845
+ * spotterEmbed.on(EmbedEvent.SpotterConversationShareRevoked, (payload) => {
3846
+ * // payload: { convId: string, shareId: string,
3847
+ * // recipientsRemoved: string[], fullyRevoked: boolean }
3848
+ * })
3849
+ * ```
3850
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
3851
+ */
3852
+ SpotterConversationShareRevoked = 'spotterConversationShareRevoked',
3853
+ /**
3854
+ * Emitted when a recipient opens a shared Spotter conversation (read-only
3855
+ * view). No shareId available viewer-side.
3856
+ * @example
3857
+ * ```js
3858
+ * spotterEmbed.on(EmbedEvent.SpotterSharedConversationViewed, (payload) => {
3859
+ * // payload: { convId: string, sourceConvId: string }
3860
+ * // convId = resolved snapshot conv id; sourceConvId = the shared URL id
3861
+ * })
3862
+ * ```
3863
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
3864
+ */
3865
+ SpotterSharedConversationViewed = 'spotterSharedConversationViewed',
3866
+ /**
3867
+ * Emitted when the user toggles the share-modal "include new messages since
3868
+ * last shared version" checkbox.
3869
+ * @example
3870
+ * ```js
3871
+ * spotterEmbed.on(EmbedEvent.SpotterShareIncludeNewMessagesCheckboxToggled, (payload) => {
3872
+ * // payload: { convId: string, includeNewMessages: boolean }
3873
+ * })
3874
+ * ```
3875
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
3876
+ */
3877
+ SpotterShareIncludeNewMessagesCheckboxToggled = 'spotterShareIncludeNewMessagesCheckboxToggled',
3878
+ /**
3879
+ * Emitted when the user dismisses the stale-snapshot info banner via its
3880
+ * cross (distinct from the include-new-messages checkbox toggle).
3881
+ * @example
3882
+ * ```js
3883
+ * spotterEmbed.on(EmbedEvent.SpotterShareStaleInfoBannerDismissed, (payload) => {
3884
+ * // payload: { convId: string }
3885
+ * })
3886
+ * ```
3887
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
3888
+ */
3889
+ SpotterShareStaleInfoBannerDismissed = 'spotterShareStaleInfoBannerDismissed',
3890
+ /**
3891
+ * Emitted when the modal Share (confirm) button is clicked — fires at click
3892
+ * time, before the save resolves. Distinct from the `SpotterConversationShared`
3893
+ * / `SpotterConversationShareRevoked` result events.
3894
+ * @example
3895
+ * ```js
3896
+ * spotterEmbed.on(EmbedEvent.SpotterShareModalConfirmButtonClicked, (payload) => {
3897
+ * // payload: { convId: string }
3898
+ * })
3899
+ * ```
3900
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
3901
+ */
3902
+ SpotterShareModalConfirmButtonClicked = 'spotterShareModalConfirmButtonClicked',
3903
+ /**
3904
+ * Emitted when the share modal is dismissed via the Cancel button.
3905
+ * @example
3906
+ * ```js
3907
+ * spotterEmbed.on(EmbedEvent.SpotterShareModalCancelButtonClicked, (payload) => {
3908
+ * // payload: { convId: string }
3909
+ * })
3910
+ * ```
3911
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
3912
+ */
3913
+ SpotterShareModalCancelButtonClicked = 'spotterShareModalCancelButtonClicked',
3914
+ /**
3915
+ * Emitted when a recipient leaves the read-only shared view via the Exit
3916
+ * button.
3917
+ * @example
3918
+ * ```js
3919
+ * spotterEmbed.on(EmbedEvent.SpotterSharedConversationExitButtonClicked, (payload) => {
3920
+ * // payload: { convId: string }
3921
+ * })
3922
+ * ```
3923
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
3924
+ */
3925
+ SpotterSharedConversationExitButtonClicked = 'spotterSharedConversationExitButtonClicked',
3926
+ /**
3927
+ * Emitted when a Spotter conversation is pinned.
3928
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
3929
+ * @example
3930
+ * ```js
3931
+ * spotterEmbed.on(EmbedEvent.SpotterConversationPinned, (payload) => {
3932
+ * console.log('Conversation pinned', payload);
3933
+ * // payload: { conversationId: string, pinnedAt: string (ISO 8601) }
3934
+ * })
3935
+ * ```
3936
+ */
3937
+ SpotterConversationPinned = 'spotterConversationPinned',
3938
+ /**
3939
+ * Emitted when a Spotter conversation is unpinned.
3940
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
3941
+ * @example
3942
+ * ```js
3943
+ * spotterEmbed.on(EmbedEvent.SpotterConversationUnpinned, (payload) => {
3944
+ * console.log('Conversation unpinned', payload);
3945
+ * // payload: { conversationId: string, unpinnedAt: string (ISO 8601) }
3946
+ * })
3947
+ * ```
3948
+ */
3949
+ SpotterConversationUnpinned = 'spotterConversationUnpinned',
3753
3950
  /**
3754
3951
  * Emitted when a Spotter conversation is selected/clicked.
3755
3952
  * @example
@@ -4279,6 +4476,17 @@ export enum HostEvent {
4279
4476
  * name: string,
4280
4477
  * type: ATTRIBUTE/MEASURE,
4281
4478
  * dataType: INT64/CHAR/DATE }
4479
+ *
4480
+ * `applicability` - Optional. Scopes the filter to a specific target,
4481
+ * for example, a single Liveboard tab, so the panel for the correct
4482
+ * scoped filter is opened. Available from SDK: 1.53.0 |
4483
+ * ThoughtSpot: 26.10.0.cl. Includes the following attributes:
4484
+ *
4485
+ * - `level`: The scope of the filter: `LIVEBOARD`, `TAB`, or `GROUP`.
4486
+ * - `targetId`: The GUID of the target, for example, the tab GUID.
4487
+ * Required when `level` is `TAB` or `GROUP`. Do not pass it when
4488
+ * `level` is `LIVEBOARD`, since the filter applies to the whole
4489
+ * Liveboard. Omitting `applicability` targets the `LIVEBOARD` level.
4282
4490
  * @example
4283
4491
  * ```js
4284
4492
  * searchEmbed.trigger(HostEvent.OpenFilter,
@@ -4291,6 +4499,14 @@ export enum HostEvent {
4291
4499
  * ```
4292
4500
  * @example
4293
4501
  * ```js
4502
+ * // Open a filter scoped to a specific Liveboard tab
4503
+ * liveboardEmbed.trigger(HostEvent.OpenFilter, {
4504
+ * column: { columnId: '<column-GUID>' },
4505
+ * applicability: { level: 'TAB', targetId: '<tab-GUID>' }
4506
+ * });
4507
+ * ```
4508
+ * @example
4509
+ * ```js
4294
4510
  * // Open filter from search context
4295
4511
  * import { ContextType } from '@thoughtspot/visual-embed-sdk';
4296
4512
  * searchEmbed.trigger(HostEvent.OpenFilter, {
@@ -4300,6 +4516,38 @@ export enum HostEvent {
4300
4516
  * @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl
4301
4517
  */
4302
4518
  OpenFilter = 'openFilter',
4519
+ /**
4520
+ * Open the parameter panel for a particular parameter on a Liveboard.
4521
+ * Mirrors {@link HostEvent.OpenFilter} for parameters.
4522
+ * @param - Includes the following keys:
4523
+ * - `parameter`: An object identifying the parameter to open, for
4524
+ * example, `{ parameterId: '<parameter-GUID>' }`.
4525
+ * - `applicability`: Optional. Scopes the parameter to a specific target,
4526
+ * for example, a single Liveboard tab, so the panel for the correct
4527
+ * scoped parameter is opened. Includes the following attributes:
4528
+ *
4529
+ * - `level`: The scope of the parameter: `LIVEBOARD`, `TAB`, or `GROUP`.
4530
+ * - `targetId`: The GUID of the target, for example, the tab GUID.
4531
+ * Required when `level` is `TAB` or `GROUP`. Do not pass it when
4532
+ * `level` is `LIVEBOARD`, since the parameter applies to the whole
4533
+ * Liveboard. Omitting `applicability` targets the `LIVEBOARD` level.
4534
+ * @example
4535
+ * ```js
4536
+ * liveboardEmbed.trigger(HostEvent.OpenParameter, {
4537
+ * parameter: { parameterId: '<parameter-GUID>' }
4538
+ * });
4539
+ * ```
4540
+ * @example
4541
+ * ```js
4542
+ * // Open a parameter scoped to a specific group
4543
+ * liveboardEmbed.trigger(HostEvent.OpenParameter, {
4544
+ * parameter: { parameterId: '<parameter-GUID>' },
4545
+ * applicability: { level: 'GROUP', targetId: '<group-GUID>' }
4546
+ * });
4547
+ * ```
4548
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
4549
+ */
4550
+ OpenParameter = 'openParameter',
4303
4551
  /**
4304
4552
  * Add columns to the current search query.
4305
4553
  * @param - { columnIds: string[] }
@@ -5364,13 +5612,13 @@ export enum HostEvent {
5364
5612
  /**
5365
5613
  * Get details of filters applied on the Liveboard.
5366
5614
  * Returns arrays containing Liveboard filter and runtime filter elements.
5367
- * Each Liveboard filter may include an `applicability` attribute
5615
+ * Each Liveboard filter includes an optional `applicability` attribute
5368
5616
  * indicating the scope of the filter. It contains a `level`
5369
5617
  * (`LIVEBOARD`, `TAB`, or `GROUP`) and, when `level` is `TAB` or
5370
5618
  * `GROUP`, a `targetId` with the GUID of the target. At `LIVEBOARD`
5371
5619
  * level there is no `targetId`, since the filter applies to the
5372
5620
  * whole Liveboard.
5373
- * The `applicability` attribute is available from SDK: 1.51.0 |
5621
+ * The `applicability` attribute is available from SDK: 1.53.0 |
5374
5622
  * ThoughtSpot: 26.10.0.cl.
5375
5623
  * @example
5376
5624
  * ```js
@@ -5413,7 +5661,7 @@ export enum HostEvent {
5413
5661
  * For more information and examples, see link:https://developers.thoughtspot.com/docs/embed-liveboard#_date_filters[Date filters].
5414
5662
  *
5415
5663
  * `applicability` - Optional. Scopes the filter to a specific target,
5416
- * for example, a single Liveboard tab. Available from SDK: 1.51.0 |
5664
+ * for example, a single Liveboard tab. Available from SDK: 1.53.0 |
5417
5665
  * ThoughtSpot: 26.10.0.cl. Includes the following attributes:
5418
5666
  *
5419
5667
  * - `level`: The scope of the filter: `LIVEBOARD`, `TAB`, or `GROUP`.
@@ -5536,6 +5784,28 @@ export enum HostEvent {
5536
5784
  * @version SDK: 1.26.0 | ThoughtSpot: 9.7.0.cl
5537
5785
  */
5538
5786
  GetTabs = 'getTabs',
5787
+ /**
5788
+ * Get group details for the current Liveboard.
5789
+ * Mirrors {@link HostEvent.GetTabs} for filter/parameter groups.
5790
+ * @example
5791
+ * ```js
5792
+ * liveboardEmbed.trigger(HostEvent.GetGroups).then((groupDetails) => {
5793
+ * console.log(
5794
+ * groupDetails // GroupDetails of current Liveboard
5795
+ * );
5796
+ * })
5797
+ * ```
5798
+ * @example
5799
+ * ```js
5800
+ * // Get groups from liveboard context
5801
+ * import { ContextType } from '@thoughtspot/visual-embed-sdk';
5802
+ * liveboardEmbed.trigger(HostEvent.GetGroups, {}, ContextType.Liveboard).then((groupDetails) => {
5803
+ * console.log('groups', groupDetails);
5804
+ * });
5805
+ * ```
5806
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
5807
+ */
5808
+ GetGroups = 'getGroups',
5539
5809
  /**
5540
5810
  * Set the visible tabs on a Liveboard.
5541
5811
  * @param - an array of ids of tabs to show, the IDs not passed
@@ -5664,7 +5934,7 @@ export enum HostEvent {
5664
5934
  * - `value`: The value to set for the parameter.
5665
5935
  * - `isVisibleToUser`: Optional. To control the visibility of the parameter chip.
5666
5936
  * - `applicability`: Optional. Scopes the parameter to a specific target,
5667
- * for example, a single Liveboard tab. Available from SDK: 1.51.0 |
5937
+ * for example, a single Liveboard tab. Available from SDK: 1.53.0 |
5668
5938
  * ThoughtSpot: 26.10.0.cl. Includes the following attributes:
5669
5939
  *
5670
5940
  * - `level`: The scope of the parameter: `LIVEBOARD`, `TAB`, or `GROUP`.
@@ -5708,13 +5978,13 @@ export enum HostEvent {
5708
5978
  UpdateParameters = 'UpdateParameters',
5709
5979
  /**
5710
5980
  * Triggers GetParameters to fetch the runtime Parameters.
5711
- * Each parameter may include an `applicability` attribute
5981
+ * Each parameter includes an optional `applicability` attribute
5712
5982
  * indicating the scope of the parameter. It contains a `level`
5713
5983
  * (`LIVEBOARD`, `TAB`, or `GROUP`) and, when `level` is `TAB` or
5714
5984
  * `GROUP`, a `targetId` with the GUID of the target. At `LIVEBOARD`
5715
5985
  * level there is no `targetId`, since the parameter applies to the
5716
5986
  * whole Liveboard.
5717
- * The `applicability` attribute is available from SDK: 1.51.0 |
5987
+ * The `applicability` attribute is available from SDK: 1.53.0 |
5718
5988
  * ThoughtSpot: 26.10.0.cl.
5719
5989
  * @param - `vizId` refers to the Answer ID in Spotter embed and is required in Spotter embed.
5720
5990
  * ```js
@@ -5982,6 +6252,36 @@ export enum HostEvent {
5982
6252
  * @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
5983
6253
  */
5984
6254
  ResetSpotterConversation = 'ResetSpotterConversation',
6255
+ /**
6256
+ * Opens the Spotter share-conversation modal for the given conversation.
6257
+ * `conversationId` is **mandatory** — you must pass the id of the
6258
+ * conversation to share. Also no-op when sharing is disabled
6259
+ * (enableShareConversation off) or when already in the read-only shared view.
6260
+ * @example
6261
+ * ```js
6262
+ * spotterEmbed.trigger(HostEvent.ShareSpotterConversation, { conversationId: 'abc' });
6263
+ * ```
6264
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
6265
+ */
6266
+ ShareSpotterConversation = 'ShareSpotterConversation',
6267
+ /**
6268
+ * Closes the Spotter share-conversation modal. No-op if none is open.
6269
+ * @example
6270
+ * ```js
6271
+ * spotterEmbed.trigger(HostEvent.CloseSpotterShareConversation);
6272
+ * ```
6273
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
6274
+ */
6275
+ CloseSpotterShareConversation = 'CloseSpotterShareConversation',
6276
+ /**
6277
+ * Exits the read-only shared-conversation view.
6278
+ * @example
6279
+ * ```js
6280
+ * spotterEmbed.trigger(HostEvent.ExitSpotterSharedConversation);
6281
+ * ```
6282
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
6283
+ */
6284
+ ExitSpotterSharedConversation = 'ExitSpotterSharedConversation',
5985
6285
  /**
5986
6286
  * Deletes the last prompt in spotter embed.
5987
6287
  * @example
@@ -6079,6 +6379,43 @@ export enum HostEvent {
6079
6379
  */
6080
6380
  StartNewSpotterConversation = 'StartNewSpotterConversation',
6081
6381
 
6382
+ /**
6383
+ * Pins a saved Spotter conversation so it floats to the top of the past
6384
+ * conversations sidebar. The `conversationId` of the conversation to pin is
6385
+ * required.
6386
+ *
6387
+ * This feature is available only when chat history is enabled on your ThoughtSpot
6388
+ * instance. Contact your admin or ThoughtSpot Support to enable chat history on your
6389
+ * instance.
6390
+ *
6391
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
6392
+ * @example
6393
+ * ```js
6394
+ * spotterEmbed.trigger(HostEvent.PinSpotterConversation, {
6395
+ * conversationId: '<conversation-id>',
6396
+ * });
6397
+ * ```
6398
+ */
6399
+ PinSpotterConversation = 'PinSpotterConversation',
6400
+
6401
+ /**
6402
+ * Unpins a previously pinned Spotter conversation. The `conversationId` of the
6403
+ * conversation to unpin is required.
6404
+ *
6405
+ * This feature is available only when chat history is enabled on your ThoughtSpot
6406
+ * instance. Contact your admin or ThoughtSpot Support to enable chat history on your
6407
+ * instance.
6408
+ *
6409
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
6410
+ * @example
6411
+ * ```js
6412
+ * spotterEmbed.trigger(HostEvent.UnpinSpotterConversation, {
6413
+ * conversationId: '<conversation-id>',
6414
+ * });
6415
+ * ```
6416
+ */
6417
+ UnpinSpotterConversation = 'UnpinSpotterConversation',
6418
+
6082
6419
  /**
6083
6420
  * @hidden
6084
6421
  * Get the current context of the embedded page.
@@ -6325,9 +6662,11 @@ export enum Param {
6325
6662
  isGranularXLSXCSVSchedulesEnabled = 'isGranularXLSXCSVSchedulesEnabled',
6326
6663
  isSendNowLiveboardSchedulingEnabled = 'isSendNowLiveboardSchedulingEnabled',
6327
6664
  isCentralizedLiveboardFilterUXEnabled = 'isCentralizedLiveboardFilterUXEnabled',
6665
+ isScopedLiveboardFilteringEnabled = 'isScopedLiveboardFilteringEnabled',
6328
6666
  isLinkParametersEnabled = 'isLinkParametersEnabled',
6329
6667
  EnablePastConversationsSidebar = 'enablePastConversationsSidebar',
6330
6668
  UpdatedSpotterChatPrompt = 'updatedSpotterChatPrompt',
6669
+ ShowSpotterRadiance = 'showSpotterRadiance',
6331
6670
  DefaultQueryMode = 'defaultQueryMode',
6332
6671
  EnableStopAnswerGenerationEmbed = 'enableStopAnswerGenerationEmbed',
6333
6672
  SpotterSidebarTitle = 'spotterSidebarTitle',
@@ -6348,6 +6687,8 @@ export enum Param {
6348
6687
  SpotterFileUploadEnabled = 'spotterFileUploadEnabled',
6349
6688
  SpotterFileUploadFileTypes = 'spotterFileUploadFileTypes',
6350
6689
  IsStarterPromptsEnabled = 'enableStarterPrompts',
6690
+ UpdatedSpotterExperience = 'updatedSpotterExperience',
6691
+ SpotterDataSources = 'spotterDataSources',
6351
6692
  }
6352
6693
 
6353
6694
  /**
@@ -7638,6 +7979,20 @@ export enum Action {
7638
7979
  */
7639
7980
  ChangeFilterVisibilityInTab = 'changeFilterVisibilityInTab',
7640
7981
 
7982
+ /**
7983
+ * Action ID to show, hide, or disable all filter surfaces on a Liveboard,
7984
+ * including filter, parameter, and cross-filter chips at the liveboard,
7985
+ * tab, and group levels. Parameter and cross-filter chips are hide-only.
7986
+ *
7987
+ * @example
7988
+ * ```js
7989
+ * hiddenActions: [Action.AllLiveboardFilters]
7990
+ * disabledActions: [Action.AllLiveboardFilters]
7991
+ * ```
7992
+ * @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
7993
+ */
7994
+ AllLiveboardFilters = 'allLiveboardFilters',
7995
+
7641
7996
  /**
7642
7997
  * The **Data model instructions** button on the Spotter interface.
7643
7998
  * Allows opening the data model instructions modal.
@@ -7975,6 +8330,89 @@ export enum Action {
7975
8330
  * @version SDK: 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl
7976
8331
  */
7977
8332
  SpotterChatRename = 'spotterChatRename',
8333
+ /**
8334
+ * Controls visibility and disable state of the Spotter conversation Share
8335
+ * button in the chat header. Only takes effect once sharing is enabled
8336
+ * (enableShareConversation on).
8337
+ * @example
8338
+ * ```js
8339
+ * disabledActions: [Action.SpotterShareConversationButtonHeader]
8340
+ * ```
8341
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
8342
+ */
8343
+ SpotterShareConversationButtonHeader = 'spotterShareConversationButtonHeader',
8344
+ /**
8345
+ * Controls visibility and disable state of the Share item in the Spotter
8346
+ * conversation history (sidebar) edit menu. Independent of the header button
8347
+ * above, so a host can show Share in one entry point and hide it in the other.
8348
+ * @example
8349
+ * ```js
8350
+ * disabledActions: [Action.SpotterShareConversationMenuItemSidebar]
8351
+ * ```
8352
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
8353
+ */
8354
+ SpotterShareConversationMenuItemSidebar = 'spotterShareConversationMenuItemSidebar',
8355
+ /**
8356
+ * Controls visibility of the entire read-only shared-conversation data-access
8357
+ * banner shown when a recipient opens a shared view. Hide-only.
8358
+ * @example
8359
+ * ```js
8360
+ * hiddenActions: [Action.SpotterSharedConversationBanner]
8361
+ * ```
8362
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
8363
+ */
8364
+ SpotterSharedConversationBanner = 'spotterSharedConversationBanner',
8365
+ /**
8366
+ * Controls visibility and disable state of the cross/close button on the
8367
+ * read-only shared-conversation data-access banner (keeps the banner itself).
8368
+ * @example
8369
+ * ```js
8370
+ * hiddenActions: [Action.SpotterSharedConversationBannerDismissButton]
8371
+ * ```
8372
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
8373
+ */
8374
+ SpotterSharedConversationBannerDismissButton = 'spotterSharedConversationBannerDismissButton',
8375
+ /**
8376
+ * Controls visibility and disable state of the Exit button in the read-only
8377
+ * shared-view header. Hiding it does not disable the ExitSpotterSharedConversation
8378
+ * host event.
8379
+ * @example
8380
+ * ```js
8381
+ * hiddenActions: [Action.SpotterSharedConversationExitButton]
8382
+ * ```
8383
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
8384
+ */
8385
+ SpotterSharedConversationExitButton = 'spotterSharedConversationExitButton',
8386
+ /**
8387
+ * Controls visibility of the share-modal footer note ("Chat will be shared up
8388
+ * to the current moment…"). Hide-only.
8389
+ * @example
8390
+ * ```js
8391
+ * hiddenActions: [Action.SpotterShareUpToCurrentInfo]
8392
+ * ```
8393
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
8394
+ */
8395
+ SpotterShareUpToCurrentInfo = 'spotterShareUpToCurrentInfo',
8396
+ /**
8397
+ * Controls visibility and disable state of the share-modal "include new
8398
+ * messages since last shared version" checkbox.
8399
+ * @example
8400
+ * ```js
8401
+ * disabledActions: [Action.SpotterShareIncludeNewMessagesCheckbox]
8402
+ * ```
8403
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
8404
+ */
8405
+ SpotterShareIncludeNewMessagesCheckbox = 'spotterShareIncludeNewMessagesCheckbox',
8406
+ /**
8407
+ * Controls visibility and disable state of the cross on the share-modal
8408
+ * stale-snapshot info banner.
8409
+ * @example
8410
+ * ```js
8411
+ * hiddenActions: [Action.SpotterShareStaleInfoBannerDismissButton]
8412
+ * ```
8413
+ * @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
8414
+ */
8415
+ SpotterShareStaleInfoBannerDismissButton = 'spotterShareStaleInfoBannerDismissButton',
7978
8416
  /**
7979
8417
  * Controls visibility and disable state of the delete action
7980
8418
  * in the Spotter conversation edit menu.
@@ -7985,6 +8423,16 @@ export enum Action {
7985
8423
  * @version SDK: 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl
7986
8424
  */
7987
8425
  SpotterChatDelete = 'spotterChatDelete',
8426
+ /**
8427
+ * Controls visibility and disable state of the pin/unpin action
8428
+ * in the Spotter conversation edit menu.
8429
+ * @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
8430
+ * @example
8431
+ * ```js
8432
+ * disabledActions: [Action.SpotterChatPin]
8433
+ * ```
8434
+ */
8435
+ SpotterChatPin = 'spotterChatPin',
7988
8436
  /**
7989
8437
  * Controls visibility and disable state of the documentation/best practices
7990
8438
  * link in the Spotter sidebar footer.