@thoughtspot/visual-embed-sdk 1.46.5 → 1.47.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. package/cjs/package.json +1 -1
  2. package/cjs/src/embed/app.d.ts +9 -0
  3. package/cjs/src/embed/app.d.ts.map +1 -1
  4. package/cjs/src/embed/app.js +7 -2
  5. package/cjs/src/embed/app.js.map +1 -1
  6. package/cjs/src/embed/app.spec.js +22 -2
  7. package/cjs/src/embed/app.spec.js.map +1 -1
  8. package/cjs/src/embed/conversation.d.ts +10 -1
  9. package/cjs/src/embed/conversation.d.ts.map +1 -1
  10. package/cjs/src/embed/conversation.js +2 -1
  11. package/cjs/src/embed/conversation.js.map +1 -1
  12. package/cjs/src/embed/hostEventClient/utils.d.ts.map +1 -1
  13. package/cjs/src/embed/hostEventClient/utils.js +7 -1
  14. package/cjs/src/embed/hostEventClient/utils.js.map +1 -1
  15. package/cjs/src/embed/hostEventClient/utils.spec.js +80 -5
  16. package/cjs/src/embed/hostEventClient/utils.spec.js.map +1 -1
  17. package/cjs/src/embed/liveboard.d.ts +9 -0
  18. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  19. package/cjs/src/embed/liveboard.js +4 -1
  20. package/cjs/src/embed/liveboard.js.map +1 -1
  21. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  22. package/cjs/src/embed/ts-embed.js +12 -4
  23. package/cjs/src/embed/ts-embed.js.map +1 -1
  24. package/cjs/src/embed/ts-embed.spec.d.ts.map +1 -1
  25. package/cjs/src/embed/ts-embed.spec.js +28 -67
  26. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  27. package/cjs/src/errors.d.ts +0 -1
  28. package/cjs/src/errors.d.ts.map +1 -1
  29. package/cjs/src/errors.js +0 -1
  30. package/cjs/src/errors.js.map +1 -1
  31. package/cjs/src/index.d.ts +1 -2
  32. package/cjs/src/index.d.ts.map +1 -1
  33. package/cjs/src/index.js +2 -4
  34. package/cjs/src/index.js.map +1 -1
  35. package/cjs/src/react/all-types-export.d.ts +2 -2
  36. package/cjs/src/react/all-types-export.d.ts.map +1 -1
  37. package/cjs/src/react/all-types-export.js +1 -3
  38. package/cjs/src/react/all-types-export.js.map +1 -1
  39. package/cjs/src/react/index.d.ts +1 -36
  40. package/cjs/src/react/index.d.ts.map +1 -1
  41. package/cjs/src/react/index.js +1 -34
  42. package/cjs/src/react/index.js.map +1 -1
  43. package/cjs/src/types.d.ts +42 -74
  44. package/cjs/src/types.d.ts.map +1 -1
  45. package/cjs/src/types.js +18 -46
  46. package/cjs/src/types.js.map +1 -1
  47. package/dist/{index-ChNydfIz.js → index-CUgxBnPm.js} +1 -1
  48. package/dist/src/embed/app.d.ts +9 -0
  49. package/dist/src/embed/app.d.ts.map +1 -1
  50. package/dist/src/embed/conversation.d.ts +10 -1
  51. package/dist/src/embed/conversation.d.ts.map +1 -1
  52. package/dist/src/embed/hostEventClient/utils.d.ts.map +1 -1
  53. package/dist/src/embed/liveboard.d.ts +9 -0
  54. package/dist/src/embed/liveboard.d.ts.map +1 -1
  55. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  56. package/dist/src/embed/ts-embed.spec.d.ts.map +1 -1
  57. package/dist/src/errors.d.ts +0 -1
  58. package/dist/src/errors.d.ts.map +1 -1
  59. package/dist/src/index.d.ts +1 -2
  60. package/dist/src/index.d.ts.map +1 -1
  61. package/dist/src/react/all-types-export.d.ts +2 -2
  62. package/dist/src/react/all-types-export.d.ts.map +1 -1
  63. package/dist/src/react/index.d.ts +1 -36
  64. package/dist/src/react/index.d.ts.map +1 -1
  65. package/dist/src/types.d.ts +42 -74
  66. package/dist/src/types.d.ts.map +1 -1
  67. package/dist/tsembed-react.es.js +72 -200
  68. package/dist/tsembed-react.js +60 -190
  69. package/dist/tsembed.es.js +87 -181
  70. package/dist/tsembed.js +30812 -30907
  71. package/dist/visual-embed-sdk-react-full.d.ts +71 -255
  72. package/dist/visual-embed-sdk-react.d.ts +71 -255
  73. package/dist/visual-embed-sdk.d.ts +69 -225
  74. package/lib/package.json +1 -1
  75. package/lib/src/embed/app.d.ts +9 -0
  76. package/lib/src/embed/app.d.ts.map +1 -1
  77. package/lib/src/embed/app.js +7 -2
  78. package/lib/src/embed/app.js.map +1 -1
  79. package/lib/src/embed/app.spec.js +22 -2
  80. package/lib/src/embed/app.spec.js.map +1 -1
  81. package/lib/src/embed/conversation.d.ts +10 -1
  82. package/lib/src/embed/conversation.d.ts.map +1 -1
  83. package/lib/src/embed/conversation.js +2 -1
  84. package/lib/src/embed/conversation.js.map +1 -1
  85. package/lib/src/embed/hostEventClient/utils.d.ts.map +1 -1
  86. package/lib/src/embed/hostEventClient/utils.js +7 -1
  87. package/lib/src/embed/hostEventClient/utils.js.map +1 -1
  88. package/lib/src/embed/hostEventClient/utils.spec.js +80 -5
  89. package/lib/src/embed/hostEventClient/utils.spec.js.map +1 -1
  90. package/lib/src/embed/liveboard.d.ts +9 -0
  91. package/lib/src/embed/liveboard.d.ts.map +1 -1
  92. package/lib/src/embed/liveboard.js +4 -1
  93. package/lib/src/embed/liveboard.js.map +1 -1
  94. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  95. package/lib/src/embed/ts-embed.js +12 -4
  96. package/lib/src/embed/ts-embed.js.map +1 -1
  97. package/lib/src/embed/ts-embed.spec.d.ts.map +1 -1
  98. package/lib/src/embed/ts-embed.spec.js +30 -69
  99. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  100. package/lib/src/errors.d.ts +0 -1
  101. package/lib/src/errors.d.ts.map +1 -1
  102. package/lib/src/errors.js +0 -1
  103. package/lib/src/errors.js.map +1 -1
  104. package/lib/src/index.d.ts +1 -2
  105. package/lib/src/index.d.ts.map +1 -1
  106. package/lib/src/index.js +1 -2
  107. package/lib/src/index.js.map +1 -1
  108. package/lib/src/react/all-types-export.d.ts +2 -2
  109. package/lib/src/react/all-types-export.d.ts.map +1 -1
  110. package/lib/src/react/all-types-export.js +1 -1
  111. package/lib/src/react/all-types-export.js.map +1 -1
  112. package/lib/src/react/index.d.ts +1 -36
  113. package/lib/src/react/index.d.ts.map +1 -1
  114. package/lib/src/react/index.js +0 -33
  115. package/lib/src/react/index.js.map +1 -1
  116. package/lib/src/types.d.ts +42 -74
  117. package/lib/src/types.d.ts.map +1 -1
  118. package/lib/src/types.js +18 -46
  119. package/lib/src/types.js.map +1 -1
  120. package/lib/src/visual-embed-sdk.d.ts +69 -225
  121. package/package.json +1 -1
  122. package/src/embed/app.spec.ts +33 -3
  123. package/src/embed/app.ts +18 -3
  124. package/src/embed/conversation.ts +15 -4
  125. package/src/embed/hostEventClient/utils.spec.ts +94 -6
  126. package/src/embed/hostEventClient/utils.ts +15 -2
  127. package/src/embed/liveboard.ts +13 -0
  128. package/src/embed/ts-embed.spec.ts +56 -108
  129. package/src/embed/ts-embed.ts +10 -3
  130. package/src/errors.ts +0 -1
  131. package/src/index.ts +2 -5
  132. package/src/react/all-types-export.ts +0 -3
  133. package/src/react/index.tsx +15 -59
  134. package/src/types.ts +103 -137
  135. package/cjs/src/embed/sage.d.ts +0 -164
  136. package/cjs/src/embed/sage.d.ts.map +0 -1
  137. package/cjs/src/embed/sage.js +0 -88
  138. package/cjs/src/embed/sage.js.map +0 -1
  139. package/cjs/src/embed/sage.spec.d.ts +0 -2
  140. package/cjs/src/embed/sage.spec.d.ts.map +0 -1
  141. package/cjs/src/embed/sage.spec.js +0 -151
  142. package/cjs/src/embed/sage.spec.js.map +0 -1
  143. package/dist/index-DGV_zh53.js +0 -7371
  144. package/dist/index-DW2wEHqy.js +0 -7371
  145. package/dist/src/embed/sage.d.ts +0 -164
  146. package/dist/src/embed/sage.d.ts.map +0 -1
  147. package/dist/src/embed/sage.spec.d.ts +0 -2
  148. package/dist/src/embed/sage.spec.d.ts.map +0 -1
  149. package/lib/src/embed/sage.d.ts +0 -164
  150. package/lib/src/embed/sage.d.ts.map +0 -1
  151. package/lib/src/embed/sage.js +0 -84
  152. package/lib/src/embed/sage.js.map +0 -1
  153. package/lib/src/embed/sage.spec.d.ts +0 -2
  154. package/lib/src/embed/sage.spec.d.ts.map +0 -1
  155. package/lib/src/embed/sage.spec.js +0 -148
  156. package/lib/src/embed/sage.spec.js.map +0 -1
  157. package/src/embed/sage.spec.ts +0 -206
  158. package/src/embed/sage.ts +0 -231
@@ -1824,22 +1824,6 @@ describe('Unit test case for ts embed', () => {
1824
1824
  await (0, test_utils_1.executeAfterWait)(() => {
1825
1825
  (0, test_utils_1.expectUrlMatchesWithParams)((0, test_utils_1.getIFrameSrc)(), `http://${thoughtSpotHost}/?embedApp=true${exports.defaultParams}#/embed/viz/${liveboardId}`);
1826
1826
  });
1827
- const defaultConfig = {
1828
- disableWorksheetChange: false,
1829
- hideWorksheetSelector: false,
1830
- hideSageAnswerHeader: false,
1831
- hideAutocompleteSuggestions: false,
1832
- hideSampleQuestions: false,
1833
- isProductTour: false,
1834
- dataPanelV2: false,
1835
- };
1836
- const sageEmbed = new index_1.SageEmbed((0, test_utils_1.getRootEl)(), {
1837
- ...defaultConfig,
1838
- });
1839
- sageEmbed.render();
1840
- await (0, test_utils_1.executeAfterWait)(() => {
1841
- (0, test_utils_1.expectUrlMatch)((0, test_utils_1.getIFrameSrc)(), `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=false&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`);
1842
- });
1843
1827
  });
1844
1828
  it('Should add contextMenuEnabledOnWhichClick flag to the iframe with left value', async () => {
1845
1829
  const liveboardEmbed = new index_1.LiveboardEmbed((0, test_utils_1.getRootEl)(), {
@@ -1851,23 +1835,6 @@ describe('Unit test case for ts embed', () => {
1851
1835
  await (0, test_utils_1.executeAfterWait)(() => {
1852
1836
  (0, test_utils_1.expectUrlMatchesWithParams)((0, test_utils_1.getIFrameSrc)(), `http://${thoughtSpotHost}/?embedApp=true${exports.defaultParams}&contextMenuEnabledOnWhichClick=left#/embed/viz/${liveboardId}`);
1853
1837
  });
1854
- const defaultConfig = {
1855
- disableWorksheetChange: false,
1856
- hideWorksheetSelector: false,
1857
- hideSageAnswerHeader: false,
1858
- hideAutocompleteSuggestions: false,
1859
- hideSampleQuestions: false,
1860
- isProductTour: false,
1861
- dataPanelV2: false,
1862
- };
1863
- const sageEmbed = new index_1.SageEmbed((0, test_utils_1.getRootEl)(), {
1864
- ...defaultConfig,
1865
- contextMenuTrigger: types_1.ContextMenuTriggerOptions.LEFT_CLICK,
1866
- });
1867
- sageEmbed.render();
1868
- await (0, test_utils_1.executeAfterWait)(() => {
1869
- (0, test_utils_1.expectUrlMatch)((0, test_utils_1.getIFrameSrc)(), `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=false&contextMenuEnabledOnWhichClick=left&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`);
1870
- });
1871
1838
  });
1872
1839
  it('Should add contextMenuEnabledOnWhichClick flag to the iframe with right value', async () => {
1873
1840
  const liveboardEmbed = new index_1.LiveboardEmbed((0, test_utils_1.getRootEl)(), {
@@ -1879,23 +1846,6 @@ describe('Unit test case for ts embed', () => {
1879
1846
  await (0, test_utils_1.executeAfterWait)(() => {
1880
1847
  (0, test_utils_1.expectUrlMatchesWithParams)((0, test_utils_1.getIFrameSrc)(), `http://${thoughtSpotHost}/?embedApp=true${exports.defaultParams}&contextMenuEnabledOnWhichClick=right#/embed/viz/${liveboardId}`);
1881
1848
  });
1882
- const defaultConfig = {
1883
- disableWorksheetChange: false,
1884
- hideWorksheetSelector: false,
1885
- hideSageAnswerHeader: false,
1886
- hideAutocompleteSuggestions: false,
1887
- hideSampleQuestions: false,
1888
- isProductTour: false,
1889
- dataPanelV2: false,
1890
- };
1891
- const sageEmbed = new index_1.SageEmbed((0, test_utils_1.getRootEl)(), {
1892
- ...defaultConfig,
1893
- contextMenuTrigger: types_1.ContextMenuTriggerOptions.RIGHT_CLICK,
1894
- });
1895
- sageEmbed.render();
1896
- await (0, test_utils_1.executeAfterWait)(() => {
1897
- (0, test_utils_1.expectUrlMatch)((0, test_utils_1.getIFrameSrc)(), `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=false&contextMenuEnabledOnWhichClick=right&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`);
1898
- });
1899
1849
  });
1900
1850
  it('Should add contextMenuEnabledOnWhichClick flag to the iframe with both value', async () => {
1901
1851
  const liveboardEmbed = new index_1.LiveboardEmbed((0, test_utils_1.getRootEl)(), {
@@ -1907,23 +1857,6 @@ describe('Unit test case for ts embed', () => {
1907
1857
  await (0, test_utils_1.executeAfterWait)(() => {
1908
1858
  (0, test_utils_1.expectUrlMatchesWithParams)((0, test_utils_1.getIFrameSrc)(), `http://${thoughtSpotHost}/?embedApp=true${exports.defaultParams}&contextMenuEnabledOnWhichClick=both#/embed/viz/${liveboardId}`);
1909
1859
  });
1910
- const defaultConfig = {
1911
- disableWorksheetChange: false,
1912
- hideWorksheetSelector: false,
1913
- hideSageAnswerHeader: false,
1914
- hideAutocompleteSuggestions: false,
1915
- hideSampleQuestions: false,
1916
- isProductTour: false,
1917
- dataPanelV2: false,
1918
- };
1919
- const sageEmbed = new index_1.SageEmbed((0, test_utils_1.getRootEl)(), {
1920
- ...defaultConfig,
1921
- contextMenuTrigger: types_1.ContextMenuTriggerOptions.BOTH_CLICKS,
1922
- });
1923
- sageEmbed.render();
1924
- await (0, test_utils_1.executeAfterWait)(() => {
1925
- (0, test_utils_1.expectUrlMatch)((0, test_utils_1.getIFrameSrc)(), `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=false&contextMenuEnabledOnWhichClick=both&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`);
1926
- });
1927
1860
  });
1928
1861
  });
1929
1862
  describe('validate getThoughtSpotPostUrlParams', () => {
@@ -2908,6 +2841,34 @@ describe('Unit test case for ts embed', () => {
2908
2841
  appEmbed.destroy();
2909
2842
  expect((0, test_utils_1.getRootEl)().nextElementSibling.innerHTML).toBe('');
2910
2843
  });
2844
+ it('should not call trigger or remove DOM if destroy is called before render', () => {
2845
+ const appEmbed = new index_1.AppEmbed((0, test_utils_1.getRootEl)(), {
2846
+ frameParams: { width: '100%', height: '100%' },
2847
+ });
2848
+ const triggerSpy = jest.spyOn(appEmbed, 'trigger');
2849
+ const removeChildSpy = jest.spyOn(Node.prototype, 'removeChild');
2850
+ appEmbed.destroy();
2851
+ expect(triggerSpy).not.toHaveBeenCalled();
2852
+ expect(removeChildSpy).not.toHaveBeenCalled();
2853
+ });
2854
+ it('should still remove DOM element when trigger rejects (waitForCleanupOnDestroy: true)', async () => {
2855
+ const originalEmbedConfig = embedConfig.getEmbedConfig();
2856
+ embedConfig.setEmbedConfig({
2857
+ ...originalEmbedConfig,
2858
+ waitForCleanupOnDestroy: true,
2859
+ cleanupTimeout: 1000,
2860
+ });
2861
+ const appEmbed = new index_1.AppEmbed((0, test_utils_1.getRootEl)(), {
2862
+ frameParams: { width: '100%', height: '100%' },
2863
+ });
2864
+ await appEmbed.render();
2865
+ jest.spyOn(appEmbed, 'trigger').mockRejectedValue(new Error('trigger failed'));
2866
+ const removeChildSpy = jest.spyOn(Node.prototype, 'removeChild').mockImplementation(() => (0, test_utils_1.getRootEl)());
2867
+ appEmbed.destroy();
2868
+ await new Promise(resolve => setTimeout(resolve, 50));
2869
+ expect(removeChildSpy).toHaveBeenCalled();
2870
+ embedConfig.setEmbedConfig(originalEmbedConfig);
2871
+ });
2911
2872
  describe('with waitForCleanupOnDestroy configuration', () => {
2912
2873
  let originalEmbedConfig;
2913
2874
  beforeEach(() => {