@thoughtspot/visual-embed-sdk 1.41.1 → 1.42.1-HE2

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 (186) hide show
  1. package/cjs/package.json +9 -9
  2. package/cjs/src/css-variables.d.ts +52 -14
  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 +7 -1
  7. package/cjs/src/embed/app.js.map +1 -1
  8. package/cjs/src/embed/app.spec.js +52 -0
  9. package/cjs/src/embed/app.spec.js.map +1 -1
  10. package/cjs/src/embed/bodyless-conversation.d.ts +1 -0
  11. package/cjs/src/embed/bodyless-conversation.d.ts.map +1 -1
  12. package/cjs/src/embed/bodyless-conversation.js +7 -3
  13. package/cjs/src/embed/bodyless-conversation.js.map +1 -1
  14. package/cjs/src/embed/conversation.d.ts +1 -0
  15. package/cjs/src/embed/conversation.d.ts.map +1 -1
  16. package/cjs/src/embed/conversation.js +7 -2
  17. package/cjs/src/embed/conversation.js.map +1 -1
  18. package/cjs/src/embed/hostEventClient/host-event-client.d.ts +3 -3
  19. package/cjs/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  20. package/cjs/src/embed/hostEventClient/host-event-client.js +6 -6
  21. package/cjs/src/embed/hostEventClient/host-event-client.js.map +1 -1
  22. package/cjs/src/embed/liveboard.d.ts +1 -0
  23. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  24. package/cjs/src/embed/liveboard.js +10 -2
  25. package/cjs/src/embed/liveboard.js.map +1 -1
  26. package/cjs/src/embed/liveboard.spec.js +35 -0
  27. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  28. package/cjs/src/embed/sage.d.ts +1 -0
  29. package/cjs/src/embed/sage.d.ts.map +1 -1
  30. package/cjs/src/embed/sage.js +10 -6
  31. package/cjs/src/embed/sage.js.map +1 -1
  32. package/cjs/src/embed/search-bar.d.ts +1 -0
  33. package/cjs/src/embed/search-bar.d.ts.map +1 -1
  34. package/cjs/src/embed/search-bar.js +11 -7
  35. package/cjs/src/embed/search-bar.js.map +1 -1
  36. package/cjs/src/embed/search.d.ts +1 -0
  37. package/cjs/src/embed/search.d.ts.map +1 -1
  38. package/cjs/src/embed/search.js +7 -8
  39. package/cjs/src/embed/search.js.map +1 -1
  40. package/cjs/src/embed/ts-embed.d.ts +20 -5
  41. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  42. package/cjs/src/embed/ts-embed.js +84 -31
  43. package/cjs/src/embed/ts-embed.js.map +1 -1
  44. package/cjs/src/embed/ts-embed.spec.js +83 -0
  45. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  46. package/cjs/src/errors.d.ts +1 -0
  47. package/cjs/src/errors.d.ts.map +1 -1
  48. package/cjs/src/errors.js +1 -0
  49. package/cjs/src/errors.js.map +1 -1
  50. package/cjs/src/react/all-types-export.spec.js +1 -1
  51. package/cjs/src/react/all-types-export.spec.js.map +1 -1
  52. package/cjs/src/react/util.js.map +1 -1
  53. package/cjs/src/react/util.spec.d.ts +2 -0
  54. package/cjs/src/react/util.spec.d.ts.map +1 -0
  55. package/cjs/src/react/util.spec.js +78 -0
  56. package/cjs/src/react/util.spec.js.map +1 -0
  57. package/cjs/src/types.d.ts +153 -64
  58. package/cjs/src/types.d.ts.map +1 -1
  59. package/cjs/src/types.js +136 -62
  60. package/cjs/src/types.js.map +1 -1
  61. package/cjs/src/utils/processTrigger.d.ts +2 -1
  62. package/cjs/src/utils/processTrigger.d.ts.map +1 -1
  63. package/cjs/src/utils/processTrigger.js +4 -2
  64. package/cjs/src/utils/processTrigger.js.map +1 -1
  65. package/dist/{index-DQueHwfQ.js → index-CWQnMX2L.js} +1 -1
  66. package/dist/index-Djtv-y7A.js +7371 -0
  67. package/dist/src/css-variables.d.ts +52 -14
  68. package/dist/src/css-variables.d.ts.map +1 -1
  69. package/dist/src/embed/app.d.ts +20 -0
  70. package/dist/src/embed/app.d.ts.map +1 -1
  71. package/dist/src/embed/bodyless-conversation.d.ts +1 -0
  72. package/dist/src/embed/bodyless-conversation.d.ts.map +1 -1
  73. package/dist/src/embed/conversation.d.ts +1 -0
  74. package/dist/src/embed/conversation.d.ts.map +1 -1
  75. package/dist/src/embed/hostEventClient/host-event-client.d.ts +3 -3
  76. package/dist/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  77. package/dist/src/embed/liveboard.d.ts +1 -0
  78. package/dist/src/embed/liveboard.d.ts.map +1 -1
  79. package/dist/src/embed/sage.d.ts +1 -0
  80. package/dist/src/embed/sage.d.ts.map +1 -1
  81. package/dist/src/embed/search-bar.d.ts +1 -0
  82. package/dist/src/embed/search-bar.d.ts.map +1 -1
  83. package/dist/src/embed/search.d.ts +1 -0
  84. package/dist/src/embed/search.d.ts.map +1 -1
  85. package/dist/src/embed/ts-embed.d.ts +20 -5
  86. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  87. package/dist/src/errors.d.ts +1 -0
  88. package/dist/src/errors.d.ts.map +1 -1
  89. package/dist/src/react/util.spec.d.ts +2 -0
  90. package/dist/src/react/util.spec.d.ts.map +1 -0
  91. package/dist/src/types.d.ts +153 -64
  92. package/dist/src/types.d.ts.map +1 -1
  93. package/dist/src/utils/processTrigger.d.ts +2 -1
  94. package/dist/src/utils/processTrigger.d.ts.map +1 -1
  95. package/dist/tsembed-react.es.js +294 -134
  96. package/dist/tsembed-react.js +293 -133
  97. package/dist/tsembed.es.js +294 -134
  98. package/dist/tsembed.js +293 -133
  99. package/dist/visual-embed-sdk-react-full.d.ts +9401 -9916
  100. package/dist/visual-embed-sdk-react.d.ts +9273 -9922
  101. package/dist/visual-embed-sdk.d.ts +9440 -9533
  102. package/lib/package.json +9 -9
  103. package/lib/src/css-variables.d.ts +52 -14
  104. package/lib/src/css-variables.d.ts.map +1 -1
  105. package/lib/src/embed/app.d.ts +20 -0
  106. package/lib/src/embed/app.d.ts.map +1 -1
  107. package/lib/src/embed/app.js +7 -1
  108. package/lib/src/embed/app.js.map +1 -1
  109. package/lib/src/embed/app.spec.js +52 -0
  110. package/lib/src/embed/app.spec.js.map +1 -1
  111. package/lib/src/embed/bodyless-conversation.d.ts +1 -0
  112. package/lib/src/embed/bodyless-conversation.d.ts.map +1 -1
  113. package/lib/src/embed/bodyless-conversation.js +7 -3
  114. package/lib/src/embed/bodyless-conversation.js.map +1 -1
  115. package/lib/src/embed/conversation.d.ts +1 -0
  116. package/lib/src/embed/conversation.d.ts.map +1 -1
  117. package/lib/src/embed/conversation.js +7 -2
  118. package/lib/src/embed/conversation.js.map +1 -1
  119. package/lib/src/embed/hostEventClient/host-event-client.d.ts +3 -3
  120. package/lib/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  121. package/lib/src/embed/hostEventClient/host-event-client.js +6 -6
  122. package/lib/src/embed/hostEventClient/host-event-client.js.map +1 -1
  123. package/lib/src/embed/liveboard.d.ts +1 -0
  124. package/lib/src/embed/liveboard.d.ts.map +1 -1
  125. package/lib/src/embed/liveboard.js +10 -2
  126. package/lib/src/embed/liveboard.js.map +1 -1
  127. package/lib/src/embed/liveboard.spec.js +35 -0
  128. package/lib/src/embed/liveboard.spec.js.map +1 -1
  129. package/lib/src/embed/sage.d.ts +1 -0
  130. package/lib/src/embed/sage.d.ts.map +1 -1
  131. package/lib/src/embed/sage.js +10 -6
  132. package/lib/src/embed/sage.js.map +1 -1
  133. package/lib/src/embed/search-bar.d.ts +1 -0
  134. package/lib/src/embed/search-bar.d.ts.map +1 -1
  135. package/lib/src/embed/search-bar.js +11 -7
  136. package/lib/src/embed/search-bar.js.map +1 -1
  137. package/lib/src/embed/search.d.ts +1 -0
  138. package/lib/src/embed/search.d.ts.map +1 -1
  139. package/lib/src/embed/search.js +7 -8
  140. package/lib/src/embed/search.js.map +1 -1
  141. package/lib/src/embed/ts-embed.d.ts +20 -5
  142. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  143. package/lib/src/embed/ts-embed.js +84 -31
  144. package/lib/src/embed/ts-embed.js.map +1 -1
  145. package/lib/src/embed/ts-embed.spec.js +83 -0
  146. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  147. package/lib/src/errors.d.ts +1 -0
  148. package/lib/src/errors.d.ts.map +1 -1
  149. package/lib/src/errors.js +1 -0
  150. package/lib/src/errors.js.map +1 -1
  151. package/lib/src/react/all-types-export.spec.js +1 -1
  152. package/lib/src/react/all-types-export.spec.js.map +1 -1
  153. package/lib/src/react/util.js.map +1 -1
  154. package/lib/src/react/util.spec.d.ts +2 -0
  155. package/lib/src/react/util.spec.d.ts.map +1 -0
  156. package/lib/src/react/util.spec.js +76 -0
  157. package/lib/src/react/util.spec.js.map +1 -0
  158. package/lib/src/types.d.ts +153 -64
  159. package/lib/src/types.d.ts.map +1 -1
  160. package/lib/src/types.js +136 -62
  161. package/lib/src/types.js.map +1 -1
  162. package/lib/src/utils/processTrigger.d.ts +2 -1
  163. package/lib/src/utils/processTrigger.d.ts.map +1 -1
  164. package/lib/src/utils/processTrigger.js +4 -2
  165. package/lib/src/utils/processTrigger.js.map +1 -1
  166. package/package.json +9 -9
  167. package/src/css-variables.ts +53 -16
  168. package/src/embed/app.spec.ts +73 -0
  169. package/src/embed/app.ts +30 -0
  170. package/src/embed/bodyless-conversation.ts +8 -3
  171. package/src/embed/conversation.ts +17 -2
  172. package/src/embed/hostEventClient/host-event-client.ts +7 -3
  173. package/src/embed/liveboard.spec.ts +44 -0
  174. package/src/embed/liveboard.ts +12 -1
  175. package/src/embed/sage.ts +14 -9
  176. package/src/embed/search-bar.tsx +14 -7
  177. package/src/embed/search.ts +18 -7
  178. package/src/embed/ts-embed.spec.ts +112 -1
  179. package/src/embed/ts-embed.ts +104 -37
  180. package/src/errors.ts +1 -0
  181. package/src/react/all-types-export.spec.ts +1 -1
  182. package/src/react/util.spec.tsx +88 -0
  183. package/src/react/util.ts +3 -3
  184. package/src/types.ts +211 -121
  185. package/src/utils/processTrigger.ts +5 -2
  186. package/lib/src/visual-embed-sdk.d.ts +0 -9779
@@ -536,51 +536,71 @@ export interface CustomCssVariables {
536
536
 
537
537
  /**
538
538
  * Padding of the groups in the Liveboard.
539
+ *
540
+ * Please enable the Liveboard styling and grouping feature in your ThoughtSpot instance and then set the isLiveboardStylingAndGrouping SDK flag to true to start modifying this CSS variable.
539
541
  */
540
542
  '--ts-var-liveboard-group-padding'?: string;
541
543
 
542
544
  /**
543
545
  * Padding of the title of the groups in the Liveboard.
546
+ *
547
+ * Please enable the Liveboard styling and grouping feature in your ThoughtSpot instance and then set the isLiveboardStylingAndGrouping SDK flag to true to start modifying this CSS variable.
544
548
  */
545
549
  '--ts-var-liveboard-group-title-padding'?: string;
546
550
 
547
551
  /**
548
552
  * Font size of the title of the groups in the Liveboard.
553
+ *
554
+ * Please enable the Liveboard styling and grouping feature in your ThoughtSpot instance and then set the isLiveboardStylingAndGrouping SDK flag to true to start modifying this CSS variable.
549
555
  */
550
556
  '--ts-var-liveboard-group-title-font-size'?: string;
551
557
 
552
558
  /**
553
559
  * Font weight of the title of the groups in the Liveboard.
560
+ *
561
+ * Please enable the Liveboard styling and grouping feature in your ThoughtSpot instance and then set the isLiveboardStylingAndGrouping SDK flag to true to start modifying this CSS variable.
554
562
  */
555
563
  '--ts-var-liveboard-group-title-font-weight'?: string;
556
564
 
557
565
  /**
558
566
  * Font size of the title of the tiles inside the groups in the Liveboard.
567
+ *
568
+ * Please enable the Liveboard styling and grouping feature in your ThoughtSpot instance and then set the isLiveboardStylingAndGrouping SDK flag to true to start modifying this CSS variable.
559
569
  */
560
570
  '--ts-var-liveboard-group-tile-title-font-size'?: string;
561
571
 
562
572
  /**
563
573
  * Font weight of the title of the tiles inside the groups in the Liveboard.
574
+ *
575
+ * Please enable the Liveboard styling and grouping feature in your ThoughtSpot instance and then set the isLiveboardStylingAndGrouping SDK flag to true to start modifying this CSS variable.
564
576
  */
565
577
  '--ts-var-liveboard-group-tile-title-font-weight'?: string;
566
578
 
567
579
  /**
568
580
  * Font size of the description of the groups in the Liveboard.
581
+ *
582
+ * Please enable the Liveboard styling and grouping feature in your ThoughtSpot instance and then set the isLiveboardStylingAndGrouping SDK flag to true to start modifying this CSS variable.
569
583
  */
570
584
  '--ts-var-liveboard-group-description-font-size'?: string;
571
585
 
572
586
  /**
573
587
  * Font weight of the description of the groups in the Liveboard.
588
+ *
589
+ * Please enable the Liveboard styling and grouping feature in your ThoughtSpot instance and then set the isLiveboardStylingAndGrouping SDK flag to true to start modifying this CSS variable.
574
590
  */
575
591
  '--ts-var-liveboard-group-description-font-weight'?: string;
576
592
 
577
593
  /**
578
- * Border of the tiles in the Liveboard.
594
+ * Border of the group tiles in the Liveboard.
595
+ *
596
+ * Please enable the Liveboard styling and grouping feature in your ThoughtSpot instance and then set the isLiveboardStylingAndGrouping SDK flag to true to start modifying this CSS variable.
579
597
  */
580
598
  '--ts-var-liveboard-group-tile-border'?: string;
581
599
 
582
600
  /**
583
- * Padding of the tiles in the Liveboard.
601
+ * Padding of the group tiles in the Liveboard.
602
+ *
603
+ * Please enable the Liveboard styling and grouping feature in your ThoughtSpot instance and then set the isLiveboardStylingAndGrouping SDK flag to true to start modifying this CSS variable.
584
604
  */
585
605
  '--ts-var-liveboard-group-tile-padding'?: string;
586
606
 
@@ -591,11 +611,15 @@ export interface CustomCssVariables {
591
611
 
592
612
  /**
593
613
  * Background color of the groups in the Liveboard.
614
+ *
615
+ * Please enable the Liveboard styling and grouping feature in your ThoughtSpot instance and then set the isLiveboardStylingAndGrouping SDK flag to true to start modifying this CSS variable.
594
616
  */
595
617
  '--ts-var-liveboard-group-background'?: string;
596
618
 
597
619
  /**
598
620
  * Border color of the groups in the Liveboard.
621
+ *
622
+ * Please enable the Liveboard styling and grouping feature in your ThoughtSpot instance and then set the isLiveboardStylingAndGrouping SDK flag to true to start modifying this CSS variable.
599
623
  */
600
624
  '--ts-var-liveboard-group-border-color'?: string;
601
625
 
@@ -611,54 +635,67 @@ export interface CustomCssVariables {
611
635
 
612
636
  /**
613
637
  * Font color of the title of the groups in the Liveboard.
638
+ *
639
+ * Please enable the Liveboard styling and grouping feature in your ThoughtSpot instance and then set the isLiveboardStylingAndGrouping SDK flag to true to start modifying this CSS variable.
614
640
  */
615
641
  '--ts-var-liveboard-group-title-font-color'?: string;
616
642
 
617
643
  /**
618
644
  * Font color of the description of the groups in the Liveboard.
645
+ *
646
+ * Please enable the Liveboard styling and grouping feature in your ThoughtSpot instance and then set the isLiveboardStylingAndGrouping SDK flag to true to start modifying this CSS variable.
619
647
  */
620
648
  '--ts-var-liveboard-group-description-font-color'?: string;
621
649
 
622
650
  /**
623
651
  * Font color of the title of the tiles inside the groups in the Liveboard.
652
+ *
653
+ * Please enable the Liveboard styling and grouping feature in your ThoughtSpot instance and then set the isLiveboardStylingAndGrouping SDK flag to true to start modifying this CSS variable.
624
654
  */
625
655
  '--ts-var-liveboard-group-tile-title-font-color'?: string;
626
656
 
657
+ /**
658
+ * Font color of the description of the tiles inside the groups in the Liveboard.
659
+ *
660
+ * Please enable the Liveboard styling and grouping feature in your ThoughtSpot instance and then set the isLiveboardStylingAndGrouping SDK flag to true to start modifying this CSS variable.
661
+ */
662
+ '--ts-var-liveboard-group-tile-description-font-color'?: string;
663
+
627
664
  /**
628
665
  * Background color of the tiles inside the groups in the Liveboard.
666
+ *
667
+ * Please enable the Liveboard styling and grouping feature in your ThoughtSpot instance and then set the isLiveboardStylingAndGrouping SDK flag to true to start modifying this CSS variable.
629
668
  */
630
669
  '--ts-var-liveboard-group-tile-background'?: string;
631
670
 
632
671
  /**
633
- * Background color of the chips in the Liveboard.
672
+ * Background color of the filter chips in the Liveboard.
673
+ *
674
+ * Please enable the Liveboard styling and grouping feature in your ThoughtSpot instance and then set the isLiveboardStylingAndGrouping SDK flag to true to start modifying this CSS variable.
634
675
  */
635
676
  '--ts-var-liveboard-chip-background'?: string;
636
677
 
637
678
  /**
638
- * Font color of the chips in the Liveboard.
679
+ * Font color of the filter chips in the Liveboard.
680
+ *
681
+ * Please enable the Liveboard styling and grouping feature in your ThoughtSpot instance and then set the isLiveboardStylingAndGrouping SDK flag to true to start modifying this CSS variable.
639
682
  */
640
683
  '--ts-var-liveboard-chip-color'?: string;
641
684
 
642
685
  /**
643
- * Background color of the chips in the Liveboard on hover.
686
+ * Background color of the filter chips in the Liveboard on hover.
687
+ *
688
+ * Please enable the Liveboard styling and grouping feature in your ThoughtSpot instance and then set the isLiveboardStylingAndGrouping SDK flag to true to start modifying this CSS variable.
644
689
  */
645
690
  '--ts-var-liveboard-chip--hover-background'?: string;
646
691
 
647
692
  /**
648
- * Font color of the chips in the Liveboard on hover.
649
- */
650
- '--ts-var-liveboard-chip--hover-color'?: string;
651
-
652
- /**
653
- * Background color of the chips in the Liveboard on active.
693
+ * Background color of the filter chips in the Liveboard on active.
694
+ *
695
+ * Please enable the Liveboard styling and grouping feature in your ThoughtSpot instance and then set the isLiveboardStylingAndGrouping SDK flag to true to start modifying this CSS variable.
654
696
  */
655
697
  '--ts-var-liveboard-chip--active-background'?: string;
656
698
 
657
- /**
658
- * Font color of the chips in the Liveboard on active.
659
- */
660
- '--ts-var-liveboard-chip--active-color'?: string;
661
-
662
699
  /**
663
700
  * Width of the side panel in the Liveboard.
664
701
  */
@@ -358,6 +358,34 @@ describe('App embed tests', () => {
358
358
  });
359
359
  });
360
360
 
361
+ test('should set isLinkParametersEnabled to true in url', async () => {
362
+ const appEmbed = new AppEmbed(getRootEl(), {
363
+ ...defaultViewConfig,
364
+ isLinkParametersEnabled: true,
365
+ } as AppViewConfig);
366
+ appEmbed.render();
367
+ await executeAfterWait(() => {
368
+ expectUrlMatchesWithParams(
369
+ getIFrameSrc(),
370
+ `http://${thoughtSpotHost}/?embedApp=true&profileAndHelpInNavBarHidden=false&isLinkParametersEnabled=true${defaultParamsPost}#/home`,
371
+ );
372
+ });
373
+ });
374
+
375
+ test('should set isLinkParametersEnabled to false in url', async () => {
376
+ const appEmbed = new AppEmbed(getRootEl(), {
377
+ ...defaultViewConfig,
378
+ isLinkParametersEnabled: false,
379
+ } as AppViewConfig);
380
+ appEmbed.render();
381
+ await executeAfterWait(() => {
382
+ expectUrlMatchesWithParams(
383
+ getIFrameSrc(),
384
+ `http://${thoughtSpotHost}/?embedApp=true&profileAndHelpInNavBarHidden=false&isLinkParametersEnabled=false${defaultParamsPost}#/home`,
385
+ );
386
+ });
387
+ });
388
+
361
389
  test('should set liveboardXLSXCSVDownload to true in url', async () => {
362
390
  const appEmbed = new AppEmbed(getRootEl(), {
363
391
  ...defaultViewConfig,
@@ -402,6 +430,51 @@ describe('App embed tests', () => {
402
430
  });
403
431
  });
404
432
 
433
+ test('Should add the hideTagFilterChips true to the iframe src', async () => {
434
+ const appEmbed = new AppEmbed(getRootEl(), {
435
+ ...defaultViewConfig,
436
+ showPrimaryNavbar: false,
437
+ hideTagFilterChips: true,
438
+ } as AppViewConfig);
439
+
440
+ appEmbed.render();
441
+ await executeAfterWait(() => {
442
+ expectUrlMatchesWithParams(
443
+ getIFrameSrc(),
444
+ `http://${thoughtSpotHost}/?embedApp=true&primaryNavHidden=true&profileAndHelpInNavBarHidden=false${defaultParams}&hideTagFilterChips=true${defaultParamsPost}#/home`,
445
+ );
446
+ });
447
+ });
448
+
449
+ test('Should add the hideTagFilterChips false to the iframe src', async () => {
450
+ const appEmbed = new AppEmbed(getRootEl(), {
451
+ ...defaultViewConfig,
452
+ showPrimaryNavbar: false,
453
+ hideTagFilterChips: false,
454
+ } as AppViewConfig);
455
+ appEmbed.render();
456
+ await executeAfterWait(() => {
457
+ expectUrlMatchesWithParams(
458
+ getIFrameSrc(),
459
+ `http://${thoughtSpotHost}/?embedApp=true&primaryNavHidden=true&profileAndHelpInNavBarHidden=false${defaultParams}&hideTagFilterChips=false${defaultParamsPost}#/home`,
460
+ );
461
+ });
462
+ });
463
+
464
+ test('Should not add hideTagFilterChips if it is undefined', async () => {
465
+ const appEmbed = new AppEmbed(getRootEl(), {
466
+ ...defaultViewConfig,
467
+ showPrimaryNavbar: false,
468
+ } as AppViewConfig);
469
+ appEmbed.render();
470
+ await executeAfterWait(() => {
471
+ expectUrlMatchesWithParams(
472
+ getIFrameSrc(),
473
+ `http://${thoughtSpotHost}/?embedApp=true&primaryNavHidden=true&profileAndHelpInNavBarHidden=false${defaultParams}${defaultParamsPost}#/home`,
474
+ );
475
+ });
476
+ });
477
+
405
478
  test('Should add enableSearchAssist flagto the iframe src', async () => {
406
479
  const appEmbed = new AppEmbed(getRootEl(), {
407
480
  ...defaultViewConfig,
package/src/embed/app.ts CHANGED
@@ -367,6 +367,26 @@ export interface AppViewConfig extends AllEmbedViewConfig {
367
367
  * ```
368
368
  */
369
369
  tag?: string;
370
+ /**
371
+ * Hide tag filter chips that appear when content is filtered by tags.
372
+ * When enabled, this automatically:
373
+ * - Hides tag filter indicators/chips from the UI
374
+ *
375
+ * This provides a clean interface without tag-related UI elements.
376
+ *
377
+ * Supported embed types: `AppEmbed`
378
+ * @version SDK: 1.44.0 | ThoughtSpot: 10.15.0.cl
379
+ * @example
380
+ * ```js
381
+ * // Simple usage - automatically hides all tag-related UI
382
+ * const embed = new AppEmbed('#tsEmbed', {
383
+ * ... // other embed view config
384
+ * tag: 'Some Tag',
385
+ * hideTagFilterChips: true, // This is all you need!
386
+ * });
387
+ * ```
388
+ */
389
+ hideTagFilterChips?: boolean;
370
390
  /**
371
391
  * The array of GUIDs to be hidden
372
392
  *
@@ -625,6 +645,7 @@ export class AppEmbed extends V1Embed {
625
645
  protected getEmbedParams() {
626
646
  const {
627
647
  tag,
648
+ hideTagFilterChips,
628
649
  hideObjects,
629
650
  liveboardV2,
630
651
  showPrimaryNavbar,
@@ -663,6 +684,7 @@ export class AppEmbed extends V1Embed {
663
684
  liveboardXLSXCSVDownload = false,
664
685
  isLiveboardStylingAndGroupingEnabled,
665
686
  isPNGInScheduledEmailsEnabled = false,
687
+ isLinkParametersEnabled,
666
688
  } = this.viewConfig;
667
689
 
668
690
  let params: any = {};
@@ -749,6 +771,14 @@ export class AppEmbed extends V1Embed {
749
771
  if (isPNGInScheduledEmailsEnabled !== undefined) {
750
772
  params[Param.isPNGInScheduledEmailsEnabled] = isPNGInScheduledEmailsEnabled;
751
773
  }
774
+
775
+ if (hideTagFilterChips !== undefined) {
776
+ params[Param.HideTagFilterChips] = hideTagFilterChips;
777
+ }
778
+
779
+ if (isLinkParametersEnabled !== undefined) {
780
+ params[Param.isLinkParametersEnabled] = isLinkParametersEnabled;
781
+ }
752
782
 
753
783
  params[Param.DataPanelV2Enabled] = dataPanelV2;
754
784
  params[Param.HideHomepageLeftNav] = hideHomepageLeftNav;
@@ -39,6 +39,13 @@ export class ConversationMessage extends TsEmbed {
39
39
  super(container, viewConfig);
40
40
  }
41
41
 
42
+ protected getEmbedParamsObject() {
43
+ const queryParams = this.getBaseQueryParams();
44
+ queryParams[Param.HideActions] = [...(queryParams[Param.HideActions] ?? [])];
45
+ queryParams[Param.isSpotterAgentEmbed] = true;
46
+ return queryParams;
47
+ }
48
+
42
49
  public getIframeSrc() {
43
50
  const {
44
51
  sessionId,
@@ -49,10 +56,8 @@ export class ConversationMessage extends TsEmbed {
49
56
  messageId,
50
57
  } = this.viewConfig;
51
58
  const path = 'conv-assist-answer';
52
- const queryParams = this.getBaseQueryParams();
59
+ const queryParams = this.getEmbedParamsObject();
53
60
 
54
- queryParams[Param.HideActions] = [...(queryParams[Param.HideActions] ?? [])];
55
- queryParams[Param.isSpotterAgentEmbed] = true;
56
61
  let query = '';
57
62
  const queryParamsString = getQueryParamString(queryParams, true);
58
63
  if (queryParamsString) {
@@ -196,7 +196,7 @@ export class SpotterEmbed extends TsEmbed {
196
196
  super(container, viewConfig);
197
197
  }
198
198
 
199
- public getIframeSrc(): string {
199
+ protected getEmbedParamsObject() {
200
200
  const {
201
201
  worksheetId,
202
202
  searchOptions,
@@ -210,7 +210,7 @@ export class SpotterEmbed extends TsEmbed {
210
210
  runtimeParameters,
211
211
  excludeRuntimeParametersfromURL,
212
212
  } = this.viewConfig;
213
- const path = 'insights/conv-assist';
213
+
214
214
  if (!worksheetId) {
215
215
  this.handleError(ERROR_MESSAGE.SPOTTER_EMBED_WORKSHEED_ID_NOT_FOUND);
216
216
  }
@@ -235,6 +235,21 @@ export class SpotterEmbed extends TsEmbed {
235
235
  queryParams[Param.HideSampleQuestions] = !!hideSampleQuestions;
236
236
  }
237
237
 
238
+ return queryParams;
239
+ }
240
+
241
+ public getIframeSrc(): string {
242
+ const {
243
+ worksheetId,
244
+ searchOptions,
245
+ runtimeFilters,
246
+ excludeRuntimeFiltersfromURL,
247
+ runtimeParameters,
248
+ excludeRuntimeParametersfromURL,
249
+ } = this.viewConfig;
250
+ const path = 'insights/conv-assist';
251
+ const queryParams = this.getEmbedParamsObject();
252
+
238
253
  let query = '';
239
254
  const queryParamsString = getQueryParamString(queryParams, true);
240
255
  if (queryParamsString) {
@@ -23,7 +23,7 @@ export class HostEventClient {
23
23
  * @param {any} data Data to send with the host event
24
24
  * @returns {Promise<any>} - the response from the process trigger
25
25
  */
26
- protected async processTrigger(message: HostEvent, data: any): Promise<any> {
26
+ protected async processTrigger(message: HostEvent, data: any, context?: any): Promise<any> {
27
27
  if (!this.iFrame) {
28
28
  throw new Error('Iframe element is not set');
29
29
  }
@@ -34,6 +34,7 @@ export class HostEventClient {
34
34
  message,
35
35
  thoughtspotHost,
36
36
  data,
37
+ context,
37
38
  );
38
39
  }
39
40
 
@@ -65,8 +66,9 @@ export class HostEventClient {
65
66
  public async hostEventFallback(
66
67
  hostEvent: HostEvent,
67
68
  data: any,
69
+ context?: any,
68
70
  ): Promise<any> {
69
- return this.processTrigger(hostEvent, data);
71
+ return this.processTrigger(hostEvent, data, context);
70
72
  }
71
73
 
72
74
  /**
@@ -132,9 +134,11 @@ export class HostEventClient {
132
134
  public async triggerHostEvent<
133
135
  HostEventT extends HostEvent,
134
136
  PayloadT,
137
+ ContextT,
135
138
  >(
136
139
  hostEvent: HostEventT,
137
140
  payload?: TriggerPayload<PayloadT, HostEventT>,
141
+ context?: ContextT,
138
142
  ): Promise<TriggerResponse<PayloadT, HostEventT>> {
139
143
  switch (hostEvent) {
140
144
  case HostEvent.Pin:
@@ -144,7 +148,7 @@ export class HostEventClient {
144
148
  payload as HostEventRequest<HostEvent.SaveAnswer>,
145
149
  ) as any;
146
150
  default:
147
- return this.hostEventFallback(hostEvent, payload);
151
+ return this.hostEventFallback(hostEvent, payload, context as any);
148
152
  }
149
153
  }
150
154
  }
@@ -183,6 +183,36 @@ describe('Liveboard/viz embed tests', () => {
183
183
  });
184
184
  });
185
185
 
186
+ test('should set isLinkParametersEnabled to true in url', async () => {
187
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
188
+ isLinkParametersEnabled: true,
189
+ ...defaultViewConfig,
190
+ liveboardId,
191
+ } as LiveboardViewConfig);
192
+ liveboardEmbed.render();
193
+ await executeAfterWait(() => {
194
+ expectUrlMatchesWithParams(
195
+ getIFrameSrc(),
196
+ `http://${thoughtSpotHost}/?embedApp=true${defaultParams}&isLinkParametersEnabled=true${prefixParams}#/embed/viz/${liveboardId}`,
197
+ );
198
+ });
199
+ });
200
+
201
+ test('should set isLinkParametersEnabled to false in url', async () => {
202
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
203
+ isLinkParametersEnabled: false,
204
+ ...defaultViewConfig,
205
+ liveboardId,
206
+ } as LiveboardViewConfig);
207
+ liveboardEmbed.render();
208
+ await executeAfterWait(() => {
209
+ expectUrlMatchesWithParams(
210
+ getIFrameSrc(),
211
+ `http://${thoughtSpotHost}/?embedApp=true${defaultParams}&isLinkParametersEnabled=false${prefixParams}#/embed/viz/${liveboardId}`,
212
+ );
213
+ });
214
+ });
215
+
186
216
  test('should set visible actions as empty array', async () => {
187
217
  const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
188
218
  visibleActions: [],
@@ -657,6 +687,7 @@ describe('Liveboard/viz embed tests', () => {
657
687
  test('navigateToLiveboard should trigger the navigate event with the correct path', async (done) => {
658
688
  mockMessageChannel();
659
689
  // mock getSessionInfo
690
+
660
691
  mockGetSessionInfo();
661
692
  const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
662
693
  ...defaultViewConfig,
@@ -684,6 +715,13 @@ describe('Liveboard/viz embed tests', () => {
684
715
  mockMessageChannel();
685
716
 
686
717
  // mock getSessionInfo
718
+ jest.spyOn(SessionInfoService, 'getSessionInfo').mockResolvedValue({
719
+ releaseVersion: '1.0.0',
720
+ userGUID: '1234567890',
721
+ currentOrgId: 1,
722
+ privileges: [],
723
+ mixpanelToken: '1234567890',
724
+ });
687
725
  mockGetSessionInfo();
688
726
 
689
727
  const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
@@ -779,6 +817,12 @@ describe('Liveboard/viz embed tests', () => {
779
817
  });
780
818
 
781
819
  describe('PreRender flow for liveboard embed', () => {
820
+ beforeAll(() => {
821
+ init({
822
+ thoughtSpotHost: "http://tshost",
823
+ authType: AuthType.None,
824
+ });
825
+ });
782
826
  test('it should preRender generic with liveboard id is not passed', async (done) => {
783
827
  const consoleSpy = jest.spyOn(console, 'error');
784
828
  const libEmbed = new LiveboardEmbed(getRootEl(), {
@@ -440,6 +440,12 @@ export class LiveboardEmbed extends V1Embed {
440
440
  * embedded Liveboard or visualization.
441
441
  */
442
442
  protected getEmbedParams() {
443
+ const params = this.getEmbedParamsObject();
444
+ const queryParams = getQueryParamString(params, true);
445
+ return queryParams;
446
+ }
447
+
448
+ protected getEmbedParamsObject() {
443
449
  let params: any = {};
444
450
  params = this.getBaseQueryParams(params);
445
451
  const {
@@ -471,6 +477,7 @@ export class LiveboardEmbed extends V1Embed {
471
477
  isLiveboardStylingAndGroupingEnabled,
472
478
  isPNGInScheduledEmailsEnabled = false,
473
479
  showSpotterLimitations,
480
+ isLinkParametersEnabled,
474
481
  } = this.viewConfig;
475
482
 
476
483
  const preventLiveboardFilterRemoval = this.viewConfig.preventLiveboardFilterRemoval
@@ -546,6 +553,10 @@ export class LiveboardEmbed extends V1Embed {
546
553
  params[Param.ShowSpotterLimitations] = showSpotterLimitations;
547
554
  }
548
555
 
556
+ if (isLinkParametersEnabled !== undefined) {
557
+ params[Param.isLinkParametersEnabled] = isLinkParametersEnabled;
558
+ }
559
+
549
560
  params[Param.LiveboardHeaderSticky] = isLiveboardHeaderSticky;
550
561
  params[Param.LiveboardHeaderV2] = isLiveboardCompactHeaderEnabled;
551
562
  params[Param.ShowLiveboardVerifiedBadge] = showLiveboardVerifiedBadge;
@@ -557,7 +568,7 @@ export class LiveboardEmbed extends V1Embed {
557
568
  params[Param.LiveboardXLSXCSVDownload] = !!liveboardXLSXCSVDownload;
558
569
  const queryParams = getQueryParamString(params, true);
559
570
 
560
- return queryParams;
571
+ return params;
561
572
  }
562
573
 
563
574
  private getIframeSuffixSrc(liveboardId: string, vizId: string, activeTabId: string) {
package/src/embed/sage.ts CHANGED
@@ -153,12 +153,7 @@ export class SageEmbed extends V1Embed {
153
153
  super(domSelector, viewConfig);
154
154
  }
155
155
 
156
- /**
157
- * Constructs a map of parameters to be passed on to the
158
- * embedded Eureka or Sage search page.
159
- * @returns {string} query string
160
- */
161
- protected getEmbedParams(): string {
156
+ protected getEmbedParamsObject() {
162
157
  const {
163
158
  disableWorksheetChange,
164
159
  hideWorksheetSelector,
@@ -184,6 +179,16 @@ export class SageEmbed extends V1Embed {
184
179
  params[Param.IsProductTour] = !!isProductTour;
185
180
  params[Param.HideSageAnswerHeader] = !!hideSageAnswerHeader;
186
181
 
182
+ return params;
183
+ }
184
+
185
+ /**
186
+ * Constructs a map of parameters to be passed on to the
187
+ * embedded Eureka or Sage search page.
188
+ * @returns {string} query string
189
+ */
190
+ protected getEmbedParams(): string {
191
+ const params = this.getEmbedParamsObject();
187
192
  return getQueryParamString(params, true);
188
193
  }
189
194
 
@@ -194,15 +199,15 @@ export class SageEmbed extends V1Embed {
194
199
  */
195
200
  public getIFrameSrc(): string {
196
201
  const path = 'eureka';
197
- const postHashObj = {};
202
+ const postHashObj: Record<string, any> = {};
198
203
  const tsPostHashParams = this.getThoughtSpotPostUrlParams();
199
204
  const {
200
205
  dataSource, searchOptions,
201
206
  } = this.viewConfig;
202
207
 
203
- if (dataSource) postHashObj[Param.WorksheetId] = dataSource;
208
+ if (dataSource) (postHashObj as any)[Param.WorksheetId] = dataSource;
204
209
  if (searchOptions?.searchQuery && searchOptions.executeSearch) {
205
- postHashObj[Param.executeSearch] = true;
210
+ (postHashObj as any)[Param.executeSearch] = true;
206
211
  }
207
212
 
208
213
  let sagePostHashParams = new URLSearchParams(postHashObj).toString();
@@ -118,12 +118,7 @@ export class SearchBarEmbed extends TsEmbed {
118
118
  this.viewConfig = viewConfig;
119
119
  }
120
120
 
121
- /**
122
- * Construct the URL of the embedded ThoughtSpot search to be
123
- * loaded in the iframe
124
- * @param dataSources A list of data source GUIDs
125
- */
126
- private getIFrameSrc() {
121
+ protected getEmbedParamsObject() {
127
122
  const {
128
123
  searchOptions,
129
124
  dataSource,
@@ -131,7 +126,6 @@ export class SearchBarEmbed extends TsEmbed {
131
126
  useLastSelectedSources = false,
132
127
  excludeSearchTokenStringFromURL,
133
128
  } = this.viewConfig;
134
- const path = 'search-bar-embed';
135
129
  const queryParams = this.getBaseQueryParams();
136
130
 
137
131
  queryParams[Param.HideActions] = [...(queryParams[Param.HideActions] ?? [])];
@@ -159,6 +153,19 @@ export class SearchBarEmbed extends TsEmbed {
159
153
  queryParams[Param.UseLastSelectedDataSource] = false;
160
154
  }
161
155
  queryParams[Param.searchEmbed] = true;
156
+
157
+ return queryParams;
158
+ }
159
+
160
+ /**
161
+ * Construct the URL of the embedded ThoughtSpot search to be
162
+ * loaded in the iframe
163
+ * @param dataSources A list of data source GUIDs
164
+ */
165
+ private getIFrameSrc() {
166
+ const queryParams = this.getEmbedParamsObject();
167
+ const path = 'search-bar-embed';
168
+
162
169
  let query = '';
163
170
  const queryParamsString = getQueryParamString(queryParams, true);
164
171
  if (queryParamsString) {