@thoughtspot/visual-embed-sdk 1.42.1-alpha.7 → 1.42.3

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 (229) hide show
  1. package/cjs/package.json +4 -3
  2. package/cjs/src/css-variables.d.ts +0 -48
  3. package/cjs/src/css-variables.d.ts.map +1 -1
  4. package/cjs/src/embed/app.d.ts +20 -0
  5. package/cjs/src/embed/app.d.ts.map +1 -1
  6. package/cjs/src/embed/app.js +9 -4
  7. package/cjs/src/embed/app.js.map +1 -1
  8. package/cjs/src/embed/app.spec.js +62 -0
  9. package/cjs/src/embed/app.spec.js.map +1 -1
  10. package/cjs/src/embed/base.d.ts.map +1 -1
  11. package/cjs/src/embed/base.js +2 -0
  12. package/cjs/src/embed/base.js.map +1 -1
  13. package/cjs/src/embed/bodyless-conversation.d.ts +1 -1
  14. package/cjs/src/embed/conversation.d.ts +16 -0
  15. package/cjs/src/embed/conversation.d.ts.map +1 -1
  16. package/cjs/src/embed/conversation.js +5 -2
  17. package/cjs/src/embed/conversation.js.map +1 -1
  18. package/cjs/src/embed/conversation.spec.js +25 -1
  19. package/cjs/src/embed/conversation.spec.js.map +1 -1
  20. package/cjs/src/embed/hostEventClient/contracts.d.ts +1 -11
  21. package/cjs/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  22. package/cjs/src/embed/hostEventClient/contracts.js +0 -1
  23. package/cjs/src/embed/hostEventClient/contracts.js.map +1 -1
  24. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  25. package/cjs/src/embed/liveboard.js +5 -1
  26. package/cjs/src/embed/liveboard.js.map +1 -1
  27. package/cjs/src/embed/liveboard.spec.js +46 -0
  28. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  29. package/cjs/src/embed/sage.d.ts +4 -4
  30. package/cjs/src/embed/search.d.ts.map +1 -1
  31. package/cjs/src/embed/search.js +1 -3
  32. package/cjs/src/embed/search.js.map +1 -1
  33. package/cjs/src/embed/ts-embed.d.ts +0 -2
  34. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  35. package/cjs/src/embed/ts-embed.js +31 -44
  36. package/cjs/src/embed/ts-embed.js.map +1 -1
  37. package/cjs/src/embed/ts-embed.spec.js +134 -43
  38. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  39. package/cjs/src/errors.js +1 -1
  40. package/cjs/src/errors.js.map +1 -1
  41. package/cjs/src/index.d.ts +3 -3
  42. package/cjs/src/index.d.ts.map +1 -1
  43. package/cjs/src/index.js +1 -2
  44. package/cjs/src/index.js.map +1 -1
  45. package/cjs/src/react/all-types-export.d.ts +1 -2
  46. package/cjs/src/react/all-types-export.d.ts.map +1 -1
  47. package/cjs/src/react/all-types-export.js +5 -3
  48. package/cjs/src/react/all-types-export.js.map +1 -1
  49. package/cjs/src/react/all-types-export.spec.js +0 -8
  50. package/cjs/src/react/all-types-export.spec.js.map +1 -1
  51. package/cjs/src/react/index.d.ts +1 -2
  52. package/cjs/src/react/index.d.ts.map +1 -1
  53. package/cjs/src/react/index.js +2 -1
  54. package/cjs/src/react/index.js.map +1 -1
  55. package/cjs/src/react/util.d.ts +1 -0
  56. package/cjs/src/react/util.d.ts.map +1 -1
  57. package/cjs/src/types.d.ts +80 -94
  58. package/cjs/src/types.d.ts.map +1 -1
  59. package/cjs/src/types.js +30 -46
  60. package/cjs/src/types.js.map +1 -1
  61. package/cjs/src/utils/custom-actions.d.ts.map +1 -1
  62. package/cjs/src/utils/custom-actions.js +9 -0
  63. package/cjs/src/utils/custom-actions.js.map +1 -1
  64. package/cjs/src/utils/custom-actions.spec.js +20 -0
  65. package/cjs/src/utils/custom-actions.spec.js.map +1 -1
  66. package/cjs/src/utils/processData.d.ts +1 -1
  67. package/cjs/src/utils/processData.d.ts.map +1 -1
  68. package/cjs/src/utils/processData.js +8 -8
  69. package/cjs/src/utils/processData.js.map +1 -1
  70. package/cjs/src/utils/processData.spec.js.map +1 -1
  71. package/dist/{index-DvNA626T.js → index-SVcLgSqi.js} +1 -1
  72. package/dist/src/css-variables.d.ts +0 -48
  73. package/dist/src/css-variables.d.ts.map +1 -1
  74. package/dist/src/embed/app.d.ts +20 -0
  75. package/dist/src/embed/app.d.ts.map +1 -1
  76. package/dist/src/embed/base.d.ts.map +1 -1
  77. package/dist/src/embed/bodyless-conversation.d.ts +1 -1
  78. package/dist/src/embed/conversation.d.ts +16 -0
  79. package/dist/src/embed/conversation.d.ts.map +1 -1
  80. package/dist/src/embed/hostEventClient/contracts.d.ts +1 -11
  81. package/dist/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  82. package/dist/src/embed/liveboard.d.ts.map +1 -1
  83. package/dist/src/embed/sage.d.ts +4 -4
  84. package/dist/src/embed/search.d.ts.map +1 -1
  85. package/dist/src/embed/ts-embed.d.ts +0 -2
  86. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  87. package/dist/src/index.d.ts +3 -3
  88. package/dist/src/index.d.ts.map +1 -1
  89. package/dist/src/react/all-types-export.d.ts +1 -2
  90. package/dist/src/react/all-types-export.d.ts.map +1 -1
  91. package/dist/src/react/index.d.ts +1 -2
  92. package/dist/src/react/index.d.ts.map +1 -1
  93. package/dist/src/react/util.d.ts +1 -0
  94. package/dist/src/react/util.d.ts.map +1 -1
  95. package/dist/src/types.d.ts +80 -94
  96. package/dist/src/types.d.ts.map +1 -1
  97. package/dist/src/utils/custom-actions.d.ts.map +1 -1
  98. package/dist/src/utils/processData.d.ts +1 -1
  99. package/dist/src/utils/processData.d.ts.map +1 -1
  100. package/dist/tsembed-react.es.js +114 -224
  101. package/dist/tsembed-react.js +258 -444
  102. package/dist/tsembed.es.js +113 -224
  103. package/dist/tsembed.js +256 -443
  104. package/dist/visual-embed-sdk-react-full.d.ts +126 -161
  105. package/dist/visual-embed-sdk-react.d.ts +117 -156
  106. package/dist/visual-embed-sdk.d.ts +117 -159
  107. package/lib/package.json +4 -3
  108. package/lib/src/css-variables.d.ts +0 -48
  109. package/lib/src/css-variables.d.ts.map +1 -1
  110. package/lib/src/embed/app.d.ts +20 -0
  111. package/lib/src/embed/app.d.ts.map +1 -1
  112. package/lib/src/embed/app.js +9 -4
  113. package/lib/src/embed/app.js.map +1 -1
  114. package/lib/src/embed/app.spec.js +62 -0
  115. package/lib/src/embed/app.spec.js.map +1 -1
  116. package/lib/src/embed/base.d.ts.map +1 -1
  117. package/lib/src/embed/base.js +2 -0
  118. package/lib/src/embed/base.js.map +1 -1
  119. package/lib/src/embed/bodyless-conversation.d.ts +1 -1
  120. package/lib/src/embed/conversation.d.ts +16 -0
  121. package/lib/src/embed/conversation.d.ts.map +1 -1
  122. package/lib/src/embed/conversation.js +5 -2
  123. package/lib/src/embed/conversation.js.map +1 -1
  124. package/lib/src/embed/conversation.spec.js +25 -1
  125. package/lib/src/embed/conversation.spec.js.map +1 -1
  126. package/lib/src/embed/hostEventClient/contracts.d.ts +1 -11
  127. package/lib/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  128. package/lib/src/embed/hostEventClient/contracts.js +0 -1
  129. package/lib/src/embed/hostEventClient/contracts.js.map +1 -1
  130. package/lib/src/embed/liveboard.d.ts.map +1 -1
  131. package/lib/src/embed/liveboard.js +5 -1
  132. package/lib/src/embed/liveboard.js.map +1 -1
  133. package/lib/src/embed/liveboard.spec.js +47 -1
  134. package/lib/src/embed/liveboard.spec.js.map +1 -1
  135. package/lib/src/embed/sage.d.ts +4 -4
  136. package/lib/src/embed/search.d.ts.map +1 -1
  137. package/lib/src/embed/search.js +1 -3
  138. package/lib/src/embed/search.js.map +1 -1
  139. package/lib/src/embed/ts-embed.d.ts +0 -2
  140. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  141. package/lib/src/embed/ts-embed.js +31 -44
  142. package/lib/src/embed/ts-embed.js.map +1 -1
  143. package/lib/src/embed/ts-embed.spec.js +134 -43
  144. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  145. package/lib/src/errors.js +1 -1
  146. package/lib/src/errors.js.map +1 -1
  147. package/lib/src/index.d.ts +3 -3
  148. package/lib/src/index.d.ts.map +1 -1
  149. package/lib/src/index.js +2 -2
  150. package/lib/src/index.js.map +1 -1
  151. package/lib/src/react/all-types-export.d.ts +1 -2
  152. package/lib/src/react/all-types-export.d.ts.map +1 -1
  153. package/lib/src/react/all-types-export.js +2 -2
  154. package/lib/src/react/all-types-export.js.map +1 -1
  155. package/lib/src/react/all-types-export.spec.js +0 -8
  156. package/lib/src/react/all-types-export.spec.js.map +1 -1
  157. package/lib/src/react/index.d.ts +1 -2
  158. package/lib/src/react/index.d.ts.map +1 -1
  159. package/lib/src/react/index.js +4 -3
  160. package/lib/src/react/index.js.map +1 -1
  161. package/lib/src/react/util.d.ts +1 -0
  162. package/lib/src/react/util.d.ts.map +1 -1
  163. package/lib/src/types.d.ts +80 -94
  164. package/lib/src/types.d.ts.map +1 -1
  165. package/lib/src/types.js +29 -45
  166. package/lib/src/types.js.map +1 -1
  167. package/lib/src/utils/custom-actions.d.ts.map +1 -1
  168. package/lib/src/utils/custom-actions.js +9 -0
  169. package/lib/src/utils/custom-actions.js.map +1 -1
  170. package/lib/src/utils/custom-actions.spec.js +20 -0
  171. package/lib/src/utils/custom-actions.spec.js.map +1 -1
  172. package/lib/src/utils/processData.d.ts +1 -1
  173. package/lib/src/utils/processData.d.ts.map +1 -1
  174. package/lib/src/utils/processData.js +8 -8
  175. package/lib/src/utils/processData.js.map +1 -1
  176. package/lib/src/utils/processData.spec.js.map +1 -1
  177. package/package.json +4 -3
  178. package/src/css-variables.ts +0 -58
  179. package/src/embed/app.spec.ts +87 -0
  180. package/src/embed/app.ts +35 -4
  181. package/src/embed/base.ts +2 -0
  182. package/src/embed/bodyless-conversation.ts +1 -1
  183. package/src/embed/conversation.spec.ts +35 -1
  184. package/src/embed/conversation.ts +22 -0
  185. package/src/embed/hostEventClient/contracts.ts +0 -10
  186. package/src/embed/liveboard.spec.ts +60 -0
  187. package/src/embed/liveboard.ts +9 -0
  188. package/src/embed/sage.ts +4 -4
  189. package/src/embed/search.ts +1 -3
  190. package/src/embed/ts-embed.spec.ts +175 -53
  191. package/src/embed/ts-embed.ts +45 -68
  192. package/src/errors.ts +1 -1
  193. package/src/index.ts +3 -4
  194. package/src/react/all-types-export.spec.ts +1 -9
  195. package/src/react/all-types-export.ts +8 -10
  196. package/src/react/index.tsx +130 -155
  197. package/src/types.ts +78 -94
  198. package/src/utils/custom-actions.spec.ts +22 -0
  199. package/src/utils/custom-actions.ts +11 -0
  200. package/src/utils/processData.spec.ts +1 -0
  201. package/src/utils/processData.ts +11 -11
  202. package/cjs/src/api-intercept.d.ts +0 -31
  203. package/cjs/src/api-intercept.d.ts.map +0 -1
  204. package/cjs/src/api-intercept.js +0 -119
  205. package/cjs/src/api-intercept.js.map +0 -1
  206. package/cjs/src/api-intercept.spec.d.ts +0 -2
  207. package/cjs/src/api-intercept.spec.d.ts.map +0 -1
  208. package/cjs/src/api-intercept.spec.js +0 -122
  209. package/cjs/src/api-intercept.spec.js.map +0 -1
  210. package/dist/index-BCC3Z072.js +0 -7371
  211. package/dist/index-BEzW4MDA.js +0 -7371
  212. package/dist/index-BaESA9rq.js +0 -7371
  213. package/dist/index-CFNZIcKr.js +0 -7447
  214. package/dist/index-CqKTa1Fe.js +0 -7447
  215. package/dist/index-DFnPKcjZ.js +0 -7447
  216. package/dist/index-DhFH7b7U.js +0 -7447
  217. package/dist/src/api-intercept.d.ts +0 -31
  218. package/dist/src/api-intercept.d.ts.map +0 -1
  219. package/dist/src/api-intercept.spec.d.ts +0 -2
  220. package/dist/src/api-intercept.spec.d.ts.map +0 -1
  221. package/lib/src/api-intercept.d.ts +0 -31
  222. package/lib/src/api-intercept.d.ts.map +0 -1
  223. package/lib/src/api-intercept.js +0 -112
  224. package/lib/src/api-intercept.js.map +0 -1
  225. package/lib/src/api-intercept.spec.d.ts +0 -2
  226. package/lib/src/api-intercept.spec.d.ts.map +0 -1
  227. package/lib/src/api-intercept.spec.js +0 -119
  228. package/lib/src/api-intercept.spec.js.map +0 -1
  229. package/src/api-intercept.ts +0 -139
package/src/types.ts CHANGED
@@ -329,7 +329,7 @@ export interface CustomisationsInterface {
329
329
  * if a trusted authentication server is used.
330
330
  * @group Authentication / Init
331
331
  */
332
- export interface EmbedConfig extends InterceptV2Flags {
332
+ export interface EmbedConfig {
333
333
  /**
334
334
  * The ThoughtSpot cluster hostname or IP address.
335
335
  */
@@ -692,6 +692,19 @@ export interface EmbedConfig extends InterceptV2Flags {
692
692
  * ```
693
693
  */
694
694
  customActions?: CustomAction[];
695
+
696
+ /**
697
+ * Wait for the cleanup to be completed before destroying the embed.
698
+ * @version SDK: 1.41.0 | ThoughtSpot: 10.12.0.cl
699
+ * @default false
700
+ */
701
+ waitForCleanupOnDestroy?: boolean;
702
+ /**
703
+ * The timeout for the cleanup to be completed before destroying the embed.
704
+ * @version SDK: 1.41.0 | ThoughtSpot: 10.12.0.cl
705
+ * @default 5000
706
+ */
707
+ cleanupTimeout?: number;
695
708
  }
696
709
 
697
710
  // eslint-disable-next-line @typescript-eslint/no-empty-object-type
@@ -726,7 +739,7 @@ export interface FrameParams {
726
739
  /**
727
740
  * The common configuration object for an embedded view.
728
741
  */
729
- export interface BaseViewConfig extends InterceptV2Flags {
742
+ export interface BaseViewConfig {
730
743
  /**
731
744
  * @hidden
732
745
  */
@@ -1512,6 +1525,24 @@ export interface LiveboardAppEmbedViewConfig {
1512
1525
  * ```
1513
1526
  */
1514
1527
  liveboardXLSXCSVDownload?: boolean;
1528
+ /**
1529
+ * This flag is used to enable or disable the new centralized Liveboard filter UX (v2).
1530
+ * When enabled, a unified modal is used to manage and update multiple filters at once,
1531
+ * replacing the older individual filter interactions.
1532
+ * To enable this feature on your instance, contact ThoughtSpot Support.
1533
+ *
1534
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`
1535
+ * @version SDK: 1.42.0 | ThoughtSpot: 10.15.0.cl
1536
+ * @example
1537
+ * ```js
1538
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
1539
+ * const embed = new <EmbedComponent>('#tsEmbed', {
1540
+ * ... // other embed view config
1541
+ * isCentralizedLiveboardFilterUXEnabled: true,
1542
+ * })
1543
+ * ```
1544
+ */
1545
+ isCentralizedLiveboardFilterUXEnabled?: boolean;
1515
1546
  /**
1516
1547
  * This flag is used to enable or disable the link parameters in liveboard.
1517
1548
  *
@@ -1527,7 +1558,22 @@ export interface LiveboardAppEmbedViewConfig {
1527
1558
  * ```
1528
1559
  */
1529
1560
  isLinkParametersEnabled?: boolean;
1530
-
1561
+
1562
+ /**
1563
+ * This flag is used to enable or disable the enhanced filter interactivity in liveboard.
1564
+ *
1565
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`
1566
+ * @version SDK: 1.42.0 | ThoughtSpot: 10.15.0.cl
1567
+ * @example
1568
+ * ```js
1569
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
1570
+ * const embed = new <EmbedComponent>('#tsEmbed', {
1571
+ * ... // other embed view config
1572
+ * isEnhancedFilterInteractivityEnabled: true,
1573
+ * })
1574
+ * ```
1575
+ */
1576
+ isEnhancedFilterInteractivityEnabled?: boolean;
1531
1577
  }
1532
1578
 
1533
1579
  export interface AllEmbedViewConfig extends BaseViewConfig, SearchLiveboardCommonViewConfig, HomePageConfig, LiveboardAppEmbedViewConfig { }
@@ -2774,7 +2820,7 @@ export enum EmbedEvent {
2774
2820
  * the table visualization.
2775
2821
  *
2776
2822
  * If the Row-Level Security (RLS) rules are applied on the
2777
- * Worksheet or Model, exercise caution when changing column
2823
+ * Model, exercise caution when changing column
2778
2824
  * or table cell values to maintain data security.
2779
2825
  *
2780
2826
  * @example
@@ -2832,7 +2878,7 @@ export enum EmbedEvent {
2832
2878
  */
2833
2879
  SpotterData = 'SpotterData',
2834
2880
  /**
2835
- * Emitted when user opens up the worksheet preview modal in Spotter embed.
2881
+ * Emitted when user opens up the data source preview modal in Spotter embed.
2836
2882
  * @example
2837
2883
  * ```js
2838
2884
  * spotterEmbed.on(EmbedEvent.PreviewSpotterData, (payload) => {
@@ -2920,21 +2966,6 @@ export enum EmbedEvent {
2920
2966
  * @version SDK: 1.41.0 | ThoughtSpot: 10.12.0.cl
2921
2967
  */
2922
2968
  OrgSwitched = 'orgSwitched',
2923
- /**
2924
- * Emitted when the user intercepts a URL.
2925
- *
2926
- * Supported on all embed types.
2927
- *
2928
- * @example
2929
- * ```js
2930
- * embed.on(EmbedEvent.ApiIntercept, (payload) => {
2931
- * console.log('payload', payload);
2932
- * })
2933
- * ```
2934
- *
2935
- * @version SDK: 1.42.0 | ThoughtSpot: 10.14.0.cl
2936
- */
2937
- ApiIntercept = 'ApiIntercept',
2938
2969
  }
2939
2970
 
2940
2971
  /**
@@ -3074,9 +3105,7 @@ export enum HostEvent {
3074
3105
  */
3075
3106
  Reload = 'reload',
3076
3107
  /**
3077
- * Get iframe URL for the current embed view on the playground.
3078
- * Developers can use this URL to embed a ThoughtSpot object
3079
- * in apps like Salesforce or Sharepoint.
3108
+ * Get iframe URL for the current embed view.
3080
3109
  * @example
3081
3110
  * ```js
3082
3111
  * const url = embed.trigger(HostEvent.GetIframeUrl);
@@ -4148,7 +4177,7 @@ export enum HostEvent {
4148
4177
  */
4149
4178
  EditLastPrompt = 'EditLastPrompt',
4150
4179
  /**
4151
- * Opens the Worksheet preview modal in Spotter Embed.
4180
+ * Opens the data source preview modal in Spotter Embed.
4152
4181
  * @example
4153
4182
  * ```js
4154
4183
  * spotterEmbed.trigger(HostEvent.PreviewSpotterData);
@@ -4231,6 +4260,15 @@ export enum HostEvent {
4231
4260
  * ```
4232
4261
  */
4233
4262
  UpdateEmbedParams = 'updateEmbedParams',
4263
+ /**
4264
+ * Triggered when the embed is needed to be destroyed. This is used to clean up any embed related resources internally.
4265
+ * @example
4266
+ * ```js
4267
+ * liveboardEmbed.trigger(HostEvent.DestroyEmbed);
4268
+ * ```
4269
+ * @version SDK: 1.41.0 | ThoughtSpot: 10.12.0.cl
4270
+ */
4271
+ DestroyEmbed = 'EmbedDestroyed',
4234
4272
  }
4235
4273
 
4236
4274
  /**
@@ -4276,6 +4314,7 @@ export enum Param {
4276
4314
  HideResult = 'hideResult',
4277
4315
  UseLastSelectedDataSource = 'useLastSelectedSources',
4278
4316
  Tag = 'tag',
4317
+ HideTagFilterChips = 'hideTagFilterChips',
4279
4318
  AutoLogin = 'autoLogin',
4280
4319
  searchTokenString = 'searchTokenString',
4281
4320
  executeSearch = 'executeSearch',
@@ -4364,6 +4403,7 @@ export enum Param {
4364
4403
  ShowLiveboardReverifyBanner = 'showLiveboardReverifyBanner',
4365
4404
  LiveboardHeaderV2 = 'isLiveboardHeaderV2Enabled',
4366
4405
  HideIrrelevantFiltersInTab = 'hideIrrelevantFiltersAtTabLevel',
4406
+ IsEnhancedFilterInteractivityEnabled = 'isLiveboardPermissionV2Enabled',
4367
4407
  SpotterEnabled = 'isSpotterExperienceEnabled',
4368
4408
  IsUnifiedSearchExperienceEnabled = 'isUnifiedSearchExperienceEnabled',
4369
4409
  OverrideOrgId = 'orgId',
@@ -4380,7 +4420,9 @@ export enum Param {
4380
4420
  RootMarginForLazyLoad = 'rootMarginForLazyLoad',
4381
4421
  LiveboardXLSXCSVDownload = 'isLiveboardXLSXCSVDownloadEnabled',
4382
4422
  isPNGInScheduledEmailsEnabled = 'isPNGInScheduledEmailsEnabled',
4423
+ isCentralizedLiveboardFilterUXEnabled = 'isCentralizedLiveboardFilterUXEnabled',
4383
4424
  isLinkParametersEnabled = 'isLinkParametersEnabled',
4425
+ EnablePastConversationsSidebar = 'enablePastConversationsSidebar',
4384
4426
  }
4385
4427
 
4386
4428
  /**
@@ -4494,7 +4536,7 @@ export enum Action {
4494
4536
  */
4495
4537
  SchedulesList = 'schedule-list',
4496
4538
  /**
4497
- * The **Share** action on a Liveboard, Answer, or Worksheet.
4539
+ * The **Share** action on a Liveboard, Answer, or Model.
4498
4540
  * Allows users to share an object with other users and groups.
4499
4541
  * @example
4500
4542
  * ```js
@@ -4953,7 +4995,7 @@ export enum Action {
4953
4995
  AnswerChartSwitcher = 'answerChartSwitcher',
4954
4996
  /**
4955
4997
  * The Favorites icon (*) for Answers,
4956
- * Liveboard, and data objects like Worksheet, Model,
4998
+ * Liveboard, and data objects like Model,
4957
4999
  * Tables and Views.
4958
5000
  * Allows adding an object to the user's favorites list.
4959
5001
  * @example
@@ -5703,6 +5745,16 @@ export enum Action {
5703
5745
  * @version SDK: 1.42.0 | ThoughtSpot Cloud: 10.14.0.cl
5704
5746
  */
5705
5747
  RemoveAttachment = 'removeAttachment',
5748
+ /**
5749
+ * The **Style panel** on a Liveboard.
5750
+ * Controls the visibility of the Liveboard style panel.
5751
+ * @example
5752
+ * ```js
5753
+ * hiddenActions: [Action.LiveboardStylePanel]
5754
+ * ```
5755
+ * @version SDK: 1.43.0 | ThoughtSpot Cloud: 10.15.0.cl
5756
+ */
5757
+ LiveboardStylePanel = 'liveboardStylePanel',
5706
5758
  }
5707
5759
 
5708
5760
  export interface AnswerServiceType {
@@ -5911,71 +5963,3 @@ export interface DefaultAppInitData {
5911
5963
  hiddenListColumns: ListPageColumns[];
5912
5964
  customActions: CustomAction[];
5913
5965
  }
5914
-
5915
- /**
5916
- * Enum for the type of API intercepted
5917
- */
5918
- export enum InterceptedApiType {
5919
- /**
5920
- * The apis that are use to get the metadata for the embed
5921
- */
5922
- METADATA = 'METADATA',
5923
- /**
5924
- * The apis that are use to get the data for the embed
5925
- */
5926
- ANSWER_DATA = 'ANSWER_DATA',
5927
- /**
5928
- * This will intercept all the apis
5929
- */
5930
- ALL = 'ALL',
5931
- /**
5932
- * The apis that are use to get the data for the liveboard
5933
- */
5934
- LIVEBOARD_DATA = 'LIVEBOARD_DATA',
5935
- }
5936
-
5937
-
5938
- export type InterceptV2Flags = {
5939
- /**
5940
- * Enable intercepting the apis
5941
- *
5942
- * @example
5943
- * ```js
5944
- * const embed = new LiveboardEmbed('#embed', {
5945
- * ...viewConfig,
5946
- * enableApiIntercept: true,
5947
- * interceptUrls: [InterceptedApiType.DATA],
5948
- * })
5949
- * ```
5950
- *
5951
- */
5952
- enableApiIntercept?: boolean;
5953
- /**
5954
- * The apis to intercept
5955
- *
5956
- * @example
5957
- * ```js
5958
- * const embed = new LiveboardEmbed('#embed', {
5959
- * ...viewConfig,
5960
- * enableApiIntercept: true,
5961
- * interceptUrls: [InterceptedApiType.DATA],
5962
- * })
5963
- * ```
5964
- */
5965
- interceptUrls?: (string | InterceptedApiType)[];
5966
- /**
5967
- * The timeout for the intercept, default is 30000ms
5968
- * the api will error out if the timeout is reached
5969
- *
5970
- * @example
5971
- * ```js
5972
- * const embed = new LiveboardEmbed('#embed', {
5973
- * ...viewConfig,
5974
- * enableApiIntercept: true,
5975
- * interceptUrls: [InterceptedApiType.ALL],
5976
- * interceptTimeout: 1000,
5977
- * })
5978
- * ```
5979
- */
5980
- interceptTimeout?: number;
5981
- }
@@ -428,4 +428,26 @@ describe('getCustomActions function', () => {
428
428
  expect(result.errors[0]).toContain("Position 'PRIMARY' is not supported for spotter-level custom actions. Supported positions: MENU, CONTEXTMENU");
429
429
  });
430
430
  });
431
+
432
+ describe('Warnings', () => {
433
+ test('should warn when action name length exceeds 30 characters', () => {
434
+ // Arrange
435
+ const longName = 'A'.repeat(31);
436
+ const action: CustomAction = {
437
+ id: 'long-name-id',
438
+ name: longName,
439
+ target: CustomActionTarget.LIVEBOARD,
440
+ position: CustomActionsPosition.PRIMARY,
441
+ };
442
+
443
+ // Act
444
+ const result = getCustomActions([action]);
445
+
446
+ // Assert
447
+ expect(result.actions).toHaveLength(1);
448
+ expect(logger.warn).toHaveBeenCalledWith([
449
+ `Custom action name '${longName}' exceeds 30 characters. This may cause display or truncation issues in the UI.`
450
+ ]);
451
+ });
452
+ });
431
453
  });
@@ -2,6 +2,7 @@ import { CustomAction, CustomActionsPosition, CustomActionTarget } from '../type
2
2
  import { arrayIncludesString } from '../utils';
3
3
  import sortBy from 'lodash/sortBy';
4
4
  import { CUSTOM_ACTIONS_ERROR_MESSAGE } from '../errors';
5
+ import { logger } from './logger';
5
6
 
6
7
  export interface CustomActionsValidationResult {
7
8
  actions: CustomAction[];
@@ -208,6 +209,16 @@ export const getCustomActions = (customActions: CustomAction[]): CustomActionsVa
208
209
  }
209
210
  });
210
211
 
212
+ // Step 4: Collect warnings for long custom action names
213
+ const MAX_ACTION_NAME_LENGTH = 30;
214
+ const warnings = finalValidActions
215
+ .filter(action => action.name.length > MAX_ACTION_NAME_LENGTH)
216
+ .map(action => `Custom action name '${action.name}' exceeds ${MAX_ACTION_NAME_LENGTH} characters. This may cause display or truncation issues in the UI.`);
217
+
218
+ if (warnings.length > 0) {
219
+ logger.warn(warnings);
220
+ }
221
+
211
222
  const sortedActions = sortBy(finalValidActions, (a) => a.name.toLocaleLowerCase());
212
223
 
213
224
  return {
@@ -1,3 +1,4 @@
1
+ import { disable } from 'mixpanel-browser';
1
2
  import * as processDataInstance from './processData';
2
3
  import * as answerServiceInstance from './graphql/answerService/answerService';
3
4
  import * as auth from '../auth';
@@ -10,9 +10,9 @@ import { AuthType, CustomActionPayload, EmbedEvent } from '../types';
10
10
  import { AnswerService } from './graphql/answerService/answerService';
11
11
  import { resetCachedAuthToken } from '../authToken';
12
12
  import { ERROR_MESSAGE } from '../errors';
13
+ import { logger } from '../utils/logger';
13
14
  import { handleExitPresentMode } from '../utils';
14
15
  import { resetCachedPreauthInfo, resetCachedSessionInfo } from './sessionInfoService';
15
- import { processApiIntercept } from '../api-intercept';
16
16
 
17
17
  /**
18
18
  * Process the ExitPresentMode event and handle default fullscreen exit
@@ -21,7 +21,7 @@ import { processApiIntercept } from '../api-intercept';
21
21
  function processExitPresentMode(e: any) {
22
22
  const embedConfig = getEmbedConfig();
23
23
  const disableFullscreenPresentation = embedConfig?.disableFullscreenPresentation ?? true;
24
-
24
+
25
25
  if (!disableFullscreenPresentation) {
26
26
  handleExitPresentMode();
27
27
  }
@@ -103,7 +103,7 @@ export function processAuthFailure(e: any, containerEl: Element) {
103
103
  const {
104
104
  loginFailedMessage, authType, disableLoginFailurePage, autoLogin,
105
105
  } = getEmbedConfig();
106
-
106
+
107
107
  const isEmbeddedSSO = authType === AuthType.EmbeddedSSO;
108
108
  const isTrustedAuth = authType === AuthType.TrustedAuthToken || authType === AuthType.TrustedAuthTokenCookieless;
109
109
  const isEmbeddedSSOInfoFailure = isEmbeddedSSO && e?.data?.type === AuthFailureType.UNAUTHENTICATED_FAILURE;
@@ -144,26 +144,26 @@ function processAuthLogout(e: any, containerEl: Element) {
144
144
  */
145
145
  export function processEventData(
146
146
  type: EmbedEvent,
147
- eventData: any,
147
+ e: any,
148
148
  thoughtSpotHost: string,
149
149
  containerEl: Element,
150
150
  ): any {
151
151
  switch (type) {
152
152
  case EmbedEvent.CustomAction:
153
- return processCustomAction(eventData, thoughtSpotHost);
153
+ return processCustomAction(e, thoughtSpotHost);
154
154
  case EmbedEvent.AuthInit:
155
- return processAuthInit(eventData);
155
+ return processAuthInit(e);
156
156
  case EmbedEvent.NoCookieAccess:
157
- return processNoCookieAccess(eventData, containerEl);
157
+ return processNoCookieAccess(e, containerEl);
158
158
  case EmbedEvent.AuthFailure:
159
- return processAuthFailure(eventData, containerEl);
159
+ return processAuthFailure(e, containerEl);
160
160
  case EmbedEvent.AuthLogout:
161
- return processAuthLogout(eventData, containerEl);
161
+ return processAuthLogout(e, containerEl);
162
162
  case EmbedEvent.ExitPresentMode:
163
- return processExitPresentMode(eventData);
163
+ return processExitPresentMode(e);
164
164
  case EmbedEvent.CLEAR_INFO_CACHE:
165
165
  return processClearInfoCache();
166
166
  default:
167
167
  }
168
- return eventData;
168
+ return e;
169
169
  }
@@ -1,31 +0,0 @@
1
- import { BaseViewConfig, EmbedConfig, InterceptV2Flags, EmbedEvent } from "./types";
2
- export declare const processApiIntercept: (eventData: any) => Promise<any>;
3
- export declare const getInterceptInitData: (embedConfig: EmbedConfig, viewConfig: BaseViewConfig) => InterceptV2Flags;
4
- export declare const handleInterceptEvent: (params: {
5
- eventData: any;
6
- executeEvent: (eventType: EmbedEvent, data: any) => void;
7
- embedConfig: EmbedConfig;
8
- viewConfig: BaseViewConfig;
9
- getUnsavedAnswerTml: (props: {
10
- sessionId?: string;
11
- vizId?: string;
12
- }) => Promise<{
13
- tml: string;
14
- }>;
15
- }) => Promise<void>;
16
- export declare const processLegacyInterceptResponse: (payload: any) => {
17
- data: {
18
- execute: any;
19
- response: {
20
- body: {
21
- errors: {
22
- title: any;
23
- description: any;
24
- isUserError: boolean;
25
- }[];
26
- data: {};
27
- };
28
- };
29
- };
30
- };
31
- //# sourceMappingURL=api-intercept.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-intercept.d.ts","sourceRoot":"","sources":["../../src/api-intercept.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,cAAc,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAwBxG,eAAO,MAAM,mBAAmB,cAAqB,GAAG,iBAGvD,CAAA;AAeD,eAAO,MAAM,oBAAoB,gBAAiB,WAAW,cAAc,cAAc,KAAG,gBAwB3F,CAAA;AAoBD,eAAO,MAAM,oBAAoB;eAA+B,GAAG;8BAA4B,UAAU,QAAQ,GAAG,KAAK,IAAI;iBAAe,WAAW;gBAAc,cAAc;iCAA+B;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,QAAQ;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;mBAyBpR,CAAA;AAED,eAAO,MAAM,8BAA8B,YAAa,GAAG;;;;;;;;;;;;;;CAuB1D,CAAA"}
@@ -1,119 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.processLegacyInterceptResponse = exports.handleInterceptEvent = exports.getInterceptInitData = exports.processApiIntercept = void 0;
4
- const config_1 = require("./config");
5
- const embedConfig_1 = require("./embed/embedConfig");
6
- const types_1 = require("./types");
7
- const logger_1 = require("./utils/logger");
8
- const defaultUrls = {
9
- [types_1.InterceptedApiType.METADATA]: [
10
- '/prism/?op=CreateAnswerSession',
11
- '/prism/?op=GetV2SourceDetail',
12
- ],
13
- [types_1.InterceptedApiType.ANSWER_DATA]: [
14
- '/prism/?op=GetChartWithData',
15
- '/prism/?op=GetTableWithHeadlineData',
16
- ],
17
- [types_1.InterceptedApiType.LIVEBOARD_DATA]: [
18
- '/prism/?op=LoadContextBook'
19
- ],
20
- };
21
- const formatInterceptUrl = (url) => {
22
- const host = (0, config_1.getThoughtSpotHost)((0, embedConfig_1.getEmbedConfig)());
23
- if (url.startsWith('/'))
24
- return `${host}${url}`;
25
- return url;
26
- };
27
- const processApiIntercept = async (eventData) => {
28
- return JSON.parse(eventData.data);
29
- };
30
- exports.processApiIntercept = processApiIntercept;
31
- const processInterceptUrls = (interceptUrls) => {
32
- let processedUrls = [...interceptUrls];
33
- Object.entries(defaultUrls).forEach(([apiType, apiTypeUrls]) => {
34
- if (!processedUrls.includes(apiType))
35
- return;
36
- processedUrls = processedUrls.filter(url => url !== apiType);
37
- processedUrls = [...processedUrls, ...apiTypeUrls];
38
- });
39
- return processedUrls.map(url => formatInterceptUrl(url));
40
- };
41
- const getInterceptInitData = (embedConfig, viewConfig) => {
42
- const enableApiIntercept = (embedConfig.enableApiIntercept || viewConfig.enableApiIntercept) && (viewConfig.enableApiIntercept !== false);
43
- if (!enableApiIntercept)
44
- return {
45
- enableApiIntercept: false,
46
- };
47
- const combinedUrls = [...(embedConfig.interceptUrls || []), ...(viewConfig.interceptUrls || [])];
48
- if (viewConfig.isOnBeforeGetVizDataInterceptEnabled) {
49
- combinedUrls.push(types_1.InterceptedApiType.ANSWER_DATA);
50
- }
51
- const shouldInterceptAll = combinedUrls.includes(types_1.InterceptedApiType.ALL);
52
- const interceptUrls = shouldInterceptAll ? [types_1.InterceptedApiType.ALL] : processInterceptUrls(combinedUrls);
53
- const interceptTimeout = embedConfig.interceptTimeout || viewConfig.interceptTimeout;
54
- return {
55
- interceptUrls,
56
- interceptTimeout,
57
- enableApiIntercept,
58
- };
59
- };
60
- exports.getInterceptInitData = getInterceptInitData;
61
- /**
62
- *
63
- * @param fetchInit
64
- */
65
- const parseInterceptData = (eventDataString) => {
66
- try {
67
- const { input, init } = JSON.parse(eventDataString);
68
- init.body = JSON.parse(init.body);
69
- const parsedInit = { input, init };
70
- return [parsedInit, null];
71
- }
72
- catch (error) {
73
- return [null, error];
74
- }
75
- };
76
- const handleInterceptEvent = async (params) => {
77
- var _a, _b, _c, _d, _e;
78
- const { eventData, executeEvent, viewConfig, getUnsavedAnswerTml } = params;
79
- const [interceptData, bodyParseError] = parseInterceptData(eventData.data);
80
- if (bodyParseError) {
81
- executeEvent(types_1.EmbedEvent.Error, {
82
- error: 'Error parsing api intercept body',
83
- });
84
- logger_1.logger.error('Error parsing request body', bodyParseError);
85
- return;
86
- }
87
- const { input: requestUrl, init } = interceptData;
88
- const sessionId = (_c = (_b = (_a = init === null || init === void 0 ? void 0 : init.body) === null || _a === void 0 ? void 0 : _a.variables) === null || _b === void 0 ? void 0 : _b.session) === null || _c === void 0 ? void 0 : _c.sessionId;
89
- const vizId = (_e = (_d = init === null || init === void 0 ? void 0 : init.body) === null || _d === void 0 ? void 0 : _d.variables) === null || _e === void 0 ? void 0 : _e.contextBookId;
90
- if (defaultUrls.ANSWER_DATA.includes(requestUrl) && viewConfig.isOnBeforeGetVizDataInterceptEnabled) {
91
- const answerTml = await getUnsavedAnswerTml({ sessionId, vizId });
92
- executeEvent(types_1.EmbedEvent.OnBeforeGetVizDataIntercept, { data: { data: answerTml } });
93
- }
94
- executeEvent(types_1.EmbedEvent.ApiIntercept, interceptData);
95
- };
96
- exports.handleInterceptEvent = handleInterceptEvent;
97
- const processLegacyInterceptResponse = (payload) => {
98
- var _a, _b, _c, _d, _e, _f, _g;
99
- const errorText = ((_a = payload === null || payload === void 0 ? void 0 : payload.data) === null || _a === void 0 ? void 0 : _a.errorText) || ((_c = (_b = payload === null || payload === void 0 ? void 0 : payload.data) === null || _b === void 0 ? void 0 : _b.error) === null || _c === void 0 ? void 0 : _c.errorText);
100
- const errorDescription = ((_d = payload === null || payload === void 0 ? void 0 : payload.data) === null || _d === void 0 ? void 0 : _d.errorDescription) || ((_f = (_e = payload === null || payload === void 0 ? void 0 : payload.data) === null || _e === void 0 ? void 0 : _e.error) === null || _f === void 0 ? void 0 : _f.errorDescription);
101
- const payloadToSend = {
102
- execute: (_g = payload === null || payload === void 0 ? void 0 : payload.data) === null || _g === void 0 ? void 0 : _g.execute,
103
- response: {
104
- body: {
105
- errors: [
106
- {
107
- title: errorText,
108
- description: errorDescription,
109
- isUserError: true,
110
- },
111
- ],
112
- data: {},
113
- },
114
- },
115
- };
116
- return { data: payloadToSend };
117
- };
118
- exports.processLegacyInterceptResponse = processLegacyInterceptResponse;
119
- //# sourceMappingURL=api-intercept.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-intercept.js","sourceRoot":"","sources":["../../src/api-intercept.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=api-intercept.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-intercept.spec.d.ts","sourceRoot":"","sources":["../../src/api-intercept.spec.ts"],"names":[],"mappings":""}