@thoughtspot/visual-embed-sdk 1.37.1 → 1.38.0-alpha.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.
- package/README.md +1 -1
- package/cjs/package.json +1 -1
- package/cjs/src/embed/app.js +1 -1
- package/cjs/src/embed/app.js.map +1 -1
- package/cjs/src/embed/bodyless-conversation.d.ts +44 -9
- package/cjs/src/embed/bodyless-conversation.d.ts.map +1 -1
- package/cjs/src/embed/bodyless-conversation.js +35 -5
- package/cjs/src/embed/bodyless-conversation.js.map +1 -1
- package/cjs/src/embed/bodyless-conversation.spec.js +290 -5
- package/cjs/src/embed/bodyless-conversation.spec.js.map +1 -1
- package/cjs/src/embed/conversation.d.ts +40 -11
- package/cjs/src/embed/conversation.d.ts.map +1 -1
- package/cjs/src/embed/conversation.js +29 -4
- package/cjs/src/embed/conversation.js.map +1 -1
- package/cjs/src/embed/conversation.spec.js +7 -7
- package/cjs/src/embed/conversation.spec.js.map +1 -1
- package/cjs/src/embed/liveboard.d.ts.map +1 -1
- package/cjs/src/embed/liveboard.js +21 -10
- package/cjs/src/embed/liveboard.js.map +1 -1
- package/cjs/src/embed/ts-embed.spec.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.spec.js.map +1 -1
- package/cjs/src/index.d.ts +4 -4
- package/cjs/src/index.d.ts.map +1 -1
- package/cjs/src/index.js +5 -1
- package/cjs/src/index.js.map +1 -1
- package/cjs/src/react/all-types-export.d.ts +1 -1
- package/cjs/src/react/all-types-export.d.ts.map +1 -1
- package/cjs/src/react/all-types-export.js +3 -1
- package/cjs/src/react/all-types-export.js.map +1 -1
- package/cjs/src/react/index.d.ts +53 -5
- package/cjs/src/react/index.d.ts.map +1 -1
- package/cjs/src/react/index.js +73 -4
- package/cjs/src/react/index.js.map +1 -1
- package/cjs/src/react/index.spec.js +94 -0
- package/cjs/src/react/index.spec.js.map +1 -1
- package/cjs/src/types.d.ts +2 -1
- package/cjs/src/types.d.ts.map +1 -1
- package/cjs/src/types.js +1 -0
- package/cjs/src/types.js.map +1 -1
- package/dist/{index-m9UtENc9.js → index-DeFzsyFF.js} +1 -1
- package/dist/index-NZYq1Tu3.js +7370 -0
- package/dist/src/embed/bodyless-conversation.d.ts +44 -9
- package/dist/src/embed/bodyless-conversation.d.ts.map +1 -1
- package/dist/src/embed/conversation.d.ts +40 -11
- package/dist/src/embed/conversation.d.ts.map +1 -1
- package/dist/src/embed/liveboard.d.ts.map +1 -1
- package/dist/src/embed/ts-embed.spec.d.ts.map +1 -1
- package/dist/src/index.d.ts +4 -4
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/react/all-types-export.d.ts +1 -1
- package/dist/src/react/all-types-export.d.ts.map +1 -1
- package/dist/src/react/index.d.ts +53 -5
- package/dist/src/react/index.d.ts.map +1 -1
- package/dist/src/types.d.ts +2 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/tsembed-react.es.js +583 -21
- package/dist/tsembed-react.js +583 -19
- package/dist/tsembed.es.js +86 -22
- package/dist/tsembed.js +92 -26
- package/dist/visual-embed-sdk-react-full.d.ts +184 -72
- package/dist/visual-embed-sdk-react.d.ts +184 -72
- package/dist/visual-embed-sdk.d.ts +87 -22
- package/lib/package.json +1 -1
- package/lib/src/embed/app.js +1 -1
- package/lib/src/embed/app.js.map +1 -1
- package/lib/src/embed/bodyless-conversation.d.ts +44 -9
- package/lib/src/embed/bodyless-conversation.d.ts.map +1 -1
- package/lib/src/embed/bodyless-conversation.js +33 -4
- package/lib/src/embed/bodyless-conversation.js.map +1 -1
- package/lib/src/embed/bodyless-conversation.spec.js +292 -7
- package/lib/src/embed/bodyless-conversation.spec.js.map +1 -1
- package/lib/src/embed/conversation.d.ts +40 -11
- package/lib/src/embed/conversation.d.ts.map +1 -1
- package/lib/src/embed/conversation.js +27 -3
- package/lib/src/embed/conversation.js.map +1 -1
- package/lib/src/embed/conversation.spec.js +8 -8
- package/lib/src/embed/conversation.spec.js.map +1 -1
- package/lib/src/embed/liveboard.d.ts.map +1 -1
- package/lib/src/embed/liveboard.js +21 -10
- package/lib/src/embed/liveboard.js.map +1 -1
- package/lib/src/embed/ts-embed.spec.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.spec.js.map +1 -1
- package/lib/src/index.d.ts +4 -4
- package/lib/src/index.d.ts.map +1 -1
- package/lib/src/index.js +4 -4
- package/lib/src/index.js.map +1 -1
- package/lib/src/react/all-types-export.d.ts +1 -1
- package/lib/src/react/all-types-export.d.ts.map +1 -1
- package/lib/src/react/all-types-export.js +1 -1
- package/lib/src/react/all-types-export.js.map +1 -1
- package/lib/src/react/index.d.ts +53 -5
- package/lib/src/react/index.d.ts.map +1 -1
- package/lib/src/react/index.js +73 -4
- package/lib/src/react/index.js.map +1 -1
- package/lib/src/react/index.spec.js +96 -2
- package/lib/src/react/index.spec.js.map +1 -1
- package/lib/src/types.d.ts +2 -1
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js +1 -0
- package/lib/src/types.js.map +1 -1
- package/lib/src/visual-embed-sdk.d.ts +90 -25
- package/package.json +1 -1
- package/src/embed/app.ts +1 -1
- package/src/embed/bodyless-conversation.spec.ts +314 -7
- package/src/embed/bodyless-conversation.ts +53 -8
- package/src/embed/conversation.spec.ts +16 -16
- package/src/embed/conversation.ts +44 -11
- package/src/embed/liveboard.ts +25 -10
- package/src/embed/ts-embed.spec.ts +0 -2
- package/src/index.ts +16 -5
- package/src/react/all-types-export.ts +2 -0
- package/src/react/index.spec.tsx +157 -1
- package/src/react/index.tsx +98 -11
- package/src/types.ts +1 -0
package/src/react/index.tsx
CHANGED
|
@@ -10,10 +10,11 @@ import { SearchEmbed as _SearchEmbed, SearchViewConfig } from '../embed/search';
|
|
|
10
10
|
import { AppEmbed as _AppEmbed, AppViewConfig } from '../embed/app';
|
|
11
11
|
import { LiveboardEmbed as _LiveboardEmbed, LiveboardViewConfig } from '../embed/liveboard';
|
|
12
12
|
import { TsEmbed } from '../embed/ts-embed';
|
|
13
|
+
import { SpotterAgentEmbed as _SpotterAgentEmbed, SpotterAgentEmbedViewConfig } from '../embed/bodyless-conversation';
|
|
13
14
|
|
|
14
15
|
import { EmbedConfig, EmbedEvent, ViewConfig } from '../types';
|
|
15
16
|
import { EmbedProps, getViewPropsAndListeners } from './util';
|
|
16
|
-
import { ConversationEmbed as _ConversationEmbed, ConversationViewConfig } from '../embed/conversation';
|
|
17
|
+
import { SpotterEmbed as _SpotterEmbed, SpotterEmbedViewConfig, ConversationEmbed as _ConversationEmbed, ConversationViewConfig } from '../embed/conversation';
|
|
17
18
|
import { init } from '../embed/base';
|
|
18
19
|
|
|
19
20
|
const componentFactory = <T extends typeof TsEmbed, U extends EmbedProps, V extends ViewConfig>(
|
|
@@ -23,7 +24,7 @@ const componentFactory = <T extends typeof TsEmbed, U extends EmbedProps, V exte
|
|
|
23
24
|
// Embed.preRender() method instead of the usual render method, and it will
|
|
24
25
|
// not be destroyed when the component is unmounted.
|
|
25
26
|
isPreRenderedComponent = false,
|
|
26
|
-
) => React.forwardRef<InstanceType<T>, U>(
|
|
27
|
+
) => React.forwardRef<InstanceType<T>, U>(
|
|
27
28
|
(props: U, forwardedRef: React.MutableRefObject<InstanceType<T>>) => {
|
|
28
29
|
const ref = React.useRef<HTMLDivElement>(null);
|
|
29
30
|
const { className, style, ...embedProps } = props;
|
|
@@ -334,6 +335,7 @@ export const PreRenderedSageEmbed = componentFactory<
|
|
|
334
335
|
SageViewConfig
|
|
335
336
|
>(_SageEmbed, true);
|
|
336
337
|
|
|
338
|
+
interface SpotterEmbedProps extends EmbedProps, SpotterEmbedViewConfig { }
|
|
337
339
|
interface ConversationEmbedProps extends EmbedProps, ConversationViewConfig { }
|
|
338
340
|
|
|
339
341
|
/**
|
|
@@ -341,6 +343,30 @@ interface ConversationEmbedProps extends EmbedProps, ConversationViewConfig { }
|
|
|
341
343
|
* @example
|
|
342
344
|
* ```tsx
|
|
343
345
|
* function Sage() {
|
|
346
|
+
* return <SpotterEmbed
|
|
347
|
+
* worksheetId="<worksheet-id-here>"
|
|
348
|
+
* searchOptions={{
|
|
349
|
+
* searchQuery: "<search query to start with>"
|
|
350
|
+
* }}
|
|
351
|
+
* ... other view config props or event listeners.
|
|
352
|
+
* />
|
|
353
|
+
* }
|
|
354
|
+
* ```
|
|
355
|
+
*/
|
|
356
|
+
export const SpotterEmbed = componentFactory<
|
|
357
|
+
typeof _SpotterEmbed,
|
|
358
|
+
SpotterEmbedProps,
|
|
359
|
+
SpotterEmbedViewConfig
|
|
360
|
+
>(_SpotterEmbed);
|
|
361
|
+
|
|
362
|
+
|
|
363
|
+
/**
|
|
364
|
+
* React component for LLM based conversation BI.
|
|
365
|
+
* @deprecated from SDK: 1.38.0 | ThoughtSpot: 10.10.0.cl
|
|
366
|
+
* Use {@link SpotterEmbed} instead
|
|
367
|
+
* @example
|
|
368
|
+
* ```tsx
|
|
369
|
+
* function Sage() {
|
|
344
370
|
* return <ConversationEmbed
|
|
345
371
|
* worksheetId="<worksheet-id-here>"
|
|
346
372
|
* searchOptions={{
|
|
@@ -352,14 +378,73 @@ interface ConversationEmbedProps extends EmbedProps, ConversationViewConfig { }
|
|
|
352
378
|
* ```
|
|
353
379
|
*/
|
|
354
380
|
export const ConversationEmbed = componentFactory<
|
|
355
|
-
typeof _ConversationEmbed,
|
|
356
|
-
|
|
357
|
-
|
|
381
|
+
typeof _ConversationEmbed,
|
|
382
|
+
ConversationEmbedProps,
|
|
383
|
+
ConversationViewConfig
|
|
384
|
+
>(_ConversationEmbed);
|
|
385
|
+
|
|
386
|
+
interface SpotterAgentEmbedProps extends EmbedProps, SpotterAgentEmbedViewConfig {}
|
|
387
|
+
|
|
388
|
+
/**
|
|
389
|
+
* React component for SpotterAgent embed, which can be integrated inside
|
|
390
|
+
* chatbots or other conversational interfaces.
|
|
391
|
+
* @example
|
|
392
|
+
* ```tsx
|
|
393
|
+
* function SpotterAgent() {
|
|
394
|
+
* const ref = useRef();
|
|
395
|
+
*
|
|
396
|
+
* const handleSendMessage = async () => {
|
|
397
|
+
* const { container, error } = await ref.current.sendMessage('show me sales by region');
|
|
398
|
+
* if (container) {
|
|
399
|
+
* document.body.appendChild(container);
|
|
400
|
+
* }
|
|
401
|
+
* };
|
|
402
|
+
*
|
|
403
|
+
* return (
|
|
404
|
+
* <div>
|
|
405
|
+
* <SpotterAgentEmbed ref={ref} worksheetId="worksheetId" />
|
|
406
|
+
* <button onClick={handleSendMessage}>Send Message</button>
|
|
407
|
+
* </div>
|
|
408
|
+
* );
|
|
409
|
+
* }
|
|
410
|
+
* ```
|
|
411
|
+
*/
|
|
412
|
+
export const SpotterAgentEmbed = React.forwardRef<_SpotterAgentEmbed, SpotterAgentEmbedProps>((props, ref) => {
|
|
413
|
+
const { className, ...restProps } = props;
|
|
414
|
+
const serviceRef = useRef<_SpotterAgentEmbed | null>(null);
|
|
415
|
+
|
|
416
|
+
useDeepCompareEffect(() => {
|
|
417
|
+
if (serviceRef.current) {
|
|
418
|
+
serviceRef.current = null;
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
const configProps = {
|
|
422
|
+
...restProps,
|
|
423
|
+
...(className ? { containerClassName: className } : {})
|
|
424
|
+
};
|
|
425
|
+
|
|
426
|
+
serviceRef.current = new _SpotterAgentEmbed(configProps);
|
|
427
|
+
|
|
428
|
+
if (ref) {
|
|
429
|
+
if (typeof ref === 'function') {
|
|
430
|
+
ref(serviceRef.current);
|
|
431
|
+
} else {
|
|
432
|
+
ref.current = serviceRef.current;
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
return () => {
|
|
437
|
+
serviceRef.current = null;
|
|
438
|
+
};
|
|
439
|
+
}, [props]);
|
|
440
|
+
|
|
441
|
+
return null;
|
|
442
|
+
});
|
|
358
443
|
|
|
359
444
|
/**
|
|
360
445
|
* React component for PreRendered Conversation embed.
|
|
361
446
|
*
|
|
362
|
-
* PreRenderedConversationEmbed will preRender the
|
|
447
|
+
* PreRenderedConversationEmbed will preRender the SpotterEmbed and will be hidden by
|
|
363
448
|
* default.
|
|
364
449
|
*
|
|
365
450
|
* SageEmbed with preRenderId passed will call showPreRender on the embed.
|
|
@@ -370,21 +455,23 @@ export const ConversationEmbed = componentFactory<
|
|
|
370
455
|
* }
|
|
371
456
|
* ```
|
|
372
457
|
* function MyComponent() {
|
|
373
|
-
* return <
|
|
458
|
+
* return <SpotterEmbed preRenderId="someId" worksheetId="id" />
|
|
374
459
|
* }
|
|
375
460
|
* ```
|
|
376
461
|
*/
|
|
377
462
|
export const PreRenderedConversationEmbed = componentFactory<
|
|
378
|
-
typeof
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
>(
|
|
463
|
+
typeof _SpotterEmbed,
|
|
464
|
+
SpotterEmbedProps & PreRenderProps,
|
|
465
|
+
SpotterEmbedViewConfig
|
|
466
|
+
>(_SpotterEmbed, true);
|
|
382
467
|
|
|
383
468
|
type EmbedComponent = typeof SearchEmbed
|
|
384
469
|
| typeof AppEmbed
|
|
385
470
|
| typeof LiveboardEmbed
|
|
386
471
|
| typeof SearchBarEmbed
|
|
387
472
|
| typeof SageEmbed
|
|
473
|
+
| typeof SpotterAgentEmbed
|
|
474
|
+
| typeof SpotterEmbed
|
|
388
475
|
| typeof ConversationEmbed;
|
|
389
476
|
|
|
390
477
|
/**
|
package/src/types.ts
CHANGED
|
@@ -3662,6 +3662,7 @@ export enum Param {
|
|
|
3662
3662
|
ShowSpotterLimitations = 'showSpotterLimitations',
|
|
3663
3663
|
CoverAndFilterOptionInPDF = 'coverAndFilterOptionInPDF',
|
|
3664
3664
|
PrimaryAction = 'primaryAction',
|
|
3665
|
+
isSpotterAgentEmbed = 'isSpotterAgentEmbed',
|
|
3665
3666
|
}
|
|
3666
3667
|
|
|
3667
3668
|
/**
|