@thoughtspot/visual-embed-sdk 1.23.2 → 1.23.4

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 (78) hide show
  1. package/cjs/package.json +8 -7
  2. package/cjs/src/auth.d.ts.map +1 -1
  3. package/cjs/src/auth.js +3 -0
  4. package/cjs/src/auth.js.map +1 -1
  5. package/cjs/src/embed/base.d.ts +2 -0
  6. package/cjs/src/embed/base.d.ts.map +1 -1
  7. package/cjs/src/embed/base.js +4 -2
  8. package/cjs/src/embed/base.js.map +1 -1
  9. package/cjs/src/embed/ts-embed.d.ts +3 -1
  10. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  11. package/cjs/src/embed/ts-embed.js +14 -6
  12. package/cjs/src/embed/ts-embed.js.map +1 -1
  13. package/cjs/src/embed/ts-embed.spec.js +4 -1
  14. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  15. package/cjs/src/mixpanel-service.d.ts +1 -0
  16. package/cjs/src/mixpanel-service.d.ts.map +1 -1
  17. package/cjs/src/mixpanel-service.js +10 -3
  18. package/cjs/src/mixpanel-service.js.map +1 -1
  19. package/cjs/src/mixpanel-service.spec.js +12 -3
  20. package/cjs/src/mixpanel-service.spec.js.map +1 -1
  21. package/cjs/src/react/index.d.ts +14 -14
  22. package/cjs/src/react/index.d.ts.map +1 -1
  23. package/cjs/src/react/index.js +4 -2
  24. package/cjs/src/react/index.js.map +1 -1
  25. package/cjs/src/react/index.spec.js.map +1 -1
  26. package/dist/src/auth.d.ts.map +1 -1
  27. package/dist/src/embed/base.d.ts +2 -0
  28. package/dist/src/embed/base.d.ts.map +1 -1
  29. package/dist/src/embed/ts-embed.d.ts +3 -1
  30. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  31. package/dist/src/mixpanel-service.d.ts +1 -0
  32. package/dist/src/mixpanel-service.d.ts.map +1 -1
  33. package/dist/src/react/index.d.ts +14 -14
  34. package/dist/src/react/index.d.ts.map +1 -1
  35. package/dist/tsembed-react.es.js +32 -12
  36. package/dist/tsembed-react.js +32 -12
  37. package/dist/tsembed.es.js +32 -12
  38. package/dist/tsembed.js +32 -12
  39. package/dist/visual-embed-sdk-react-full.d.ts +240 -235
  40. package/dist/visual-embed-sdk-react.d.ts +240 -235
  41. package/dist/visual-embed-sdk.d.ts +5 -1
  42. package/lib/package.json +8 -7
  43. package/lib/src/.index.d.ts.swp +0 -0
  44. package/lib/src/auth.d.ts.map +1 -1
  45. package/lib/src/auth.js +3 -0
  46. package/lib/src/auth.js.map +1 -1
  47. package/lib/src/embed/base.d.ts +2 -0
  48. package/lib/src/embed/base.d.ts.map +1 -1
  49. package/lib/src/embed/base.js +4 -2
  50. package/lib/src/embed/base.js.map +1 -1
  51. package/lib/src/embed/ts-embed.d.ts +3 -1
  52. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  53. package/lib/src/embed/ts-embed.js +14 -6
  54. package/lib/src/embed/ts-embed.js.map +1 -1
  55. package/lib/src/embed/ts-embed.spec.js +4 -1
  56. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  57. package/lib/src/mixpanel-service.d.ts +1 -0
  58. package/lib/src/mixpanel-service.d.ts.map +1 -1
  59. package/lib/src/mixpanel-service.js +10 -3
  60. package/lib/src/mixpanel-service.js.map +1 -1
  61. package/lib/src/mixpanel-service.spec.js +12 -3
  62. package/lib/src/mixpanel-service.spec.js.map +1 -1
  63. package/lib/src/react/index.d.ts +14 -14
  64. package/lib/src/react/index.d.ts.map +1 -1
  65. package/lib/src/react/index.js +4 -2
  66. package/lib/src/react/index.js.map +1 -1
  67. package/lib/src/react/index.spec.js +1 -1
  68. package/lib/src/react/index.spec.js.map +1 -1
  69. package/lib/src/visual-embed-sdk.d.ts +5 -1
  70. package/package.json +8 -7
  71. package/src/auth.ts +6 -3
  72. package/src/embed/base.ts +7 -5
  73. package/src/embed/ts-embed.spec.ts +11 -5
  74. package/src/embed/ts-embed.ts +18 -5
  75. package/src/mixpanel-service.spec.ts +12 -3
  76. package/src/mixpanel-service.ts +10 -3
  77. package/src/react/index.spec.tsx +4 -2
  78. package/src/react/index.tsx +35 -26
@@ -13,33 +13,33 @@ import { EmbedProps, getViewPropsAndListeners } from './util';
13
13
 
14
14
  const componentFactory = <T extends typeof TsEmbed, U extends EmbedProps, V extends ViewConfig>(
15
15
  EmbedConstructor: T,
16
- ) => React.forwardRef<TsEmbed, U>(
17
- (props: U, forwardedRef: React.MutableRefObject<TsEmbed>) => {
16
+ ) => React.forwardRef<InstanceType<T>, U>(
17
+ (props: U, forwardedRef: React.MutableRefObject<InstanceType<T>>) => {
18
18
  const ref = React.useRef<HTMLDivElement>(null);
19
19
  const { className, ...embedProps } = props;
20
20
  const { viewConfig, listeners } = getViewPropsAndListeners<
21
- Omit<U, 'className'>,
22
- V
23
- >(embedProps);
21
+ Omit<U, 'className'>,
22
+ V
23
+ >(embedProps);
24
24
  useDeepCompareEffect(() => {
25
25
  const tsEmbed = new EmbedConstructor(
26
- ref!.current,
27
- deepMerge(
28
- {
29
- insertAsSibling: viewConfig.insertAsSibling,
30
- frameParams: {
31
- class: viewConfig.insertAsSibling
32
- ? className || ''
33
- : '',
34
- },
26
+ ref!.current,
27
+ deepMerge(
28
+ {
29
+ insertAsSibling: viewConfig.insertAsSibling,
30
+ frameParams: {
31
+ class: viewConfig.insertAsSibling
32
+ ? className || ''
33
+ : '',
35
34
  },
36
- viewConfig,
37
- ),
38
- );
35
+ },
36
+ viewConfig,
37
+ ),
38
+ ) as InstanceType<T>;
39
39
  Object.keys(listeners).forEach((eventName) => {
40
40
  tsEmbed.on(
41
- eventName as EmbedEvent,
42
- listeners[eventName as EmbedEvent],
41
+ eventName as EmbedEvent,
42
+ listeners[eventName as EmbedEvent],
43
43
  );
44
44
  });
45
45
  tsEmbed.render();
@@ -68,7 +68,7 @@ const componentFactory = <T extends typeof TsEmbed, U extends EmbedProps, V exte
68
68
  },
69
69
  );
70
70
 
71
- interface SearchProps extends EmbedProps, SearchViewConfig {}
71
+ interface SearchProps extends EmbedProps, SearchViewConfig { }
72
72
 
73
73
  /**
74
74
  * React component for Search Embed.
@@ -87,7 +87,7 @@ export const SearchEmbed = componentFactory<typeof _SearchEmbed, SearchProps, Se
87
87
  _SearchEmbed,
88
88
  );
89
89
 
90
- interface AppProps extends EmbedProps, AppViewConfig {}
90
+ interface AppProps extends EmbedProps, AppViewConfig { }
91
91
 
92
92
  /**
93
93
  * React component for Full app Embed.
@@ -105,7 +105,7 @@ interface AppProps extends EmbedProps, AppViewConfig {}
105
105
  */
106
106
  export const AppEmbed = componentFactory<typeof _AppEmbed, AppProps, AppViewConfig>(_AppEmbed);
107
107
 
108
- interface LiveboardProps extends EmbedProps, LiveboardViewConfig {}
108
+ interface LiveboardProps extends EmbedProps, LiveboardViewConfig { }
109
109
 
110
110
  /**
111
111
  * React component for Liveboard embed.
@@ -130,7 +130,7 @@ export const LiveboardEmbed = componentFactory<
130
130
 
131
131
  export const PinboardEmbed = LiveboardEmbed;
132
132
 
133
- interface SearchBarEmbedProps extends EmbedProps, SearchBarViewConfig {}
133
+ interface SearchBarEmbedProps extends EmbedProps, SearchBarViewConfig { }
134
134
 
135
135
  /**
136
136
  * React component for Search bar embed.
@@ -151,7 +151,7 @@ export const SearchBarEmbed = componentFactory<
151
151
  SearchBarViewConfig
152
152
  >(_SearchBarEmbed);
153
153
 
154
- interface SageEmbedProps extends EmbedProps, SageViewConfig {}
154
+ interface SageEmbedProps extends EmbedProps, SageViewConfig { }
155
155
 
156
156
  /**
157
157
  * React component for LLM based search Sage embed.
@@ -172,6 +172,12 @@ export const SageEmbed = componentFactory<
172
172
  SageViewConfig
173
173
  >(_SageEmbed);
174
174
 
175
+ type EmbedComponent = typeof SearchEmbed
176
+ | typeof AppEmbed
177
+ | typeof LiveboardEmbed
178
+ | typeof SearchBarEmbed
179
+ | typeof SageEmbed;
180
+
175
181
  /**
176
182
  * Get a reference to the embed component to trigger events on the component.
177
183
  *
@@ -187,9 +193,12 @@ export const SageEmbed = componentFactory<
187
193
  * return <LiveboardEmbed ref={ref} liveboardId={<id>} />
188
194
  * }
189
195
  * ```
190
- * @returns {React.MutableRefObject<TsEmbed>} ref
196
+ * @returns {React.MutableRefObject<T extends TsEmbed>} ref
191
197
  */
192
- export const useEmbedRef = (): React.MutableRefObject<TsEmbed> => React.useRef<TsEmbed>(null);
198
+ export function useEmbedRef<T extends EmbedComponent>():
199
+ React.MutableRefObject<React.ComponentRef<T>> {
200
+ return React.useRef<React.ComponentRef<T>>(null);
201
+ }
193
202
 
194
203
  export {
195
204
  LiveboardViewConfig,