@thoughtspot/visual-embed-sdk 1.50.1 → 1.51.0-test
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/cjs/package.json +1 -1
- package/cjs/src/config.d.ts +1 -0
- package/cjs/src/config.d.ts.map +1 -1
- package/cjs/src/config.js +2 -1
- package/cjs/src/config.js.map +1 -1
- package/cjs/src/css-variables.d.ts +63 -0
- package/cjs/src/css-variables.d.ts.map +1 -1
- package/cjs/src/embed/app.d.ts +148 -25
- package/cjs/src/embed/app.d.ts.map +1 -1
- package/cjs/src/embed/app.js +74 -37
- package/cjs/src/embed/app.js.map +1 -1
- package/cjs/src/embed/app.spec.js +571 -150
- package/cjs/src/embed/app.spec.js.map +1 -1
- package/cjs/src/embed/base.d.ts +1 -1
- package/cjs/src/embed/base.js +1 -1
- package/cjs/src/embed/conversation.d.ts +375 -2
- package/cjs/src/embed/conversation.d.ts.map +1 -1
- package/cjs/src/embed/conversation.js +21 -15
- package/cjs/src/embed/conversation.js.map +1 -1
- package/cjs/src/embed/conversation.spec.js +323 -17
- package/cjs/src/embed/conversation.spec.js.map +1 -1
- package/cjs/src/embed/events.spec.js +45 -0
- package/cjs/src/embed/events.spec.js.map +1 -1
- package/cjs/src/embed/host-events.spec.js +81 -0
- package/cjs/src/embed/host-events.spec.js.map +1 -1
- package/cjs/src/embed/hostEventClient/contracts.d.ts +15 -0
- package/cjs/src/embed/hostEventClient/contracts.d.ts.map +1 -1
- package/cjs/src/embed/hostEventClient/contracts.js +1 -0
- package/cjs/src/embed/hostEventClient/contracts.js.map +1 -1
- package/cjs/src/embed/hostEventClient/host-event-client.d.ts +1 -1
- package/cjs/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
- package/cjs/src/embed/hostEventClient/host-event-client.js +1 -0
- package/cjs/src/embed/hostEventClient/host-event-client.js.map +1 -1
- package/cjs/src/embed/hostEventClient/host-event-client.spec.js +27 -0
- package/cjs/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
- package/cjs/src/embed/liveboard.d.ts +76 -14
- package/cjs/src/embed/liveboard.d.ts.map +1 -1
- package/cjs/src/embed/liveboard.js +50 -9
- package/cjs/src/embed/liveboard.js.map +1 -1
- package/cjs/src/embed/liveboard.spec.js +432 -4
- package/cjs/src/embed/liveboard.spec.js.map +1 -1
- package/cjs/src/embed/spotter-utils.d.ts +15 -1
- package/cjs/src/embed/spotter-utils.d.ts.map +1 -1
- package/cjs/src/embed/spotter-utils.js +28 -1
- package/cjs/src/embed/spotter-utils.js.map +1 -1
- package/cjs/src/embed/spotter-utils.spec.js +129 -0
- package/cjs/src/embed/spotter-utils.spec.js.map +1 -1
- package/cjs/src/embed/spotter-viz-utils.d.ts +9 -10
- package/cjs/src/embed/spotter-viz-utils.d.ts.map +1 -1
- package/cjs/src/embed/spotter-viz-utils.js.map +1 -1
- package/cjs/src/embed/ts-embed.d.ts +16 -8
- package/cjs/src/embed/ts-embed.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.js +82 -30
- package/cjs/src/embed/ts-embed.js.map +1 -1
- package/cjs/src/embed/ts-embed.spec.js +537 -3
- package/cjs/src/embed/ts-embed.spec.js.map +1 -1
- package/cjs/src/index.d.ts +3 -3
- package/cjs/src/index.d.ts.map +1 -1
- package/cjs/src/index.js +3 -2
- package/cjs/src/index.js.map +1 -1
- package/cjs/src/mixpanel-service.d.ts +4 -0
- package/cjs/src/mixpanel-service.d.ts.map +1 -1
- package/cjs/src/mixpanel-service.js +4 -0
- package/cjs/src/mixpanel-service.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 +2 -1
- package/cjs/src/react/all-types-export.js.map +1 -1
- package/cjs/src/react/all-types-export.parity.spec.d.ts +2 -0
- package/cjs/src/react/all-types-export.parity.spec.d.ts.map +1 -0
- package/cjs/src/react/all-types-export.parity.spec.js +194 -0
- package/cjs/src/react/all-types-export.parity.spec.js.map +1 -0
- package/cjs/src/react/index.d.ts +66 -32
- package/cjs/src/react/index.d.ts.map +1 -1
- package/cjs/src/react/index.js +5 -3
- package/cjs/src/react/index.js.map +1 -1
- package/cjs/src/react/index.spec.js +101 -0
- package/cjs/src/react/index.spec.js.map +1 -1
- package/cjs/src/types.d.ts +789 -32
- package/cjs/src/types.d.ts.map +1 -1
- package/cjs/src/types.js +610 -20
- package/cjs/src/types.js.map +1 -1
- package/cjs/src/utils.spec.js +4 -0
- package/cjs/src/utils.spec.js.map +1 -1
- package/dist/{index-fCne7kmU.js → index-Bivg-mDx.js} +1 -1
- package/dist/src/config.d.ts +1 -0
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/css-variables.d.ts +63 -0
- package/dist/src/css-variables.d.ts.map +1 -1
- package/dist/src/embed/app.d.ts +148 -25
- package/dist/src/embed/app.d.ts.map +1 -1
- package/dist/src/embed/base.d.ts +1 -1
- package/dist/src/embed/conversation.d.ts +375 -2
- package/dist/src/embed/conversation.d.ts.map +1 -1
- package/dist/src/embed/hostEventClient/contracts.d.ts +15 -0
- package/dist/src/embed/hostEventClient/contracts.d.ts.map +1 -1
- package/dist/src/embed/hostEventClient/host-event-client.d.ts +1 -1
- package/dist/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
- package/dist/src/embed/liveboard.d.ts +76 -14
- package/dist/src/embed/liveboard.d.ts.map +1 -1
- package/dist/src/embed/spotter-utils.d.ts +15 -1
- package/dist/src/embed/spotter-utils.d.ts.map +1 -1
- package/dist/src/embed/spotter-viz-utils.d.ts +9 -10
- package/dist/src/embed/spotter-viz-utils.d.ts.map +1 -1
- package/dist/src/embed/ts-embed.d.ts +16 -8
- package/dist/src/embed/ts-embed.d.ts.map +1 -1
- package/dist/src/index.d.ts +3 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/mixpanel-service.d.ts +4 -0
- package/dist/src/mixpanel-service.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/all-types-export.parity.spec.d.ts +2 -0
- package/dist/src/react/all-types-export.parity.spec.d.ts.map +1 -0
- package/dist/src/react/index.d.ts +66 -32
- package/dist/src/react/index.d.ts.map +1 -1
- package/dist/src/types.d.ts +789 -32
- package/dist/src/types.d.ts.map +1 -1
- package/dist/tsembed-react.es.js +878 -120
- package/dist/tsembed-react.js +877 -119
- package/dist/tsembed.es.js +936 -181
- package/dist/tsembed.js +938 -183
- package/dist/visual-embed-sdk-react-full.d.ts +1553 -128
- package/dist/visual-embed-sdk-react.d.ts +1555 -129
- package/dist/visual-embed-sdk.d.ts +1499 -100
- package/lib/package.json +1 -1
- package/lib/src/config.d.ts +1 -0
- package/lib/src/config.d.ts.map +1 -1
- package/lib/src/config.js +1 -0
- package/lib/src/config.js.map +1 -1
- package/lib/src/css-variables.d.ts +63 -0
- package/lib/src/css-variables.d.ts.map +1 -1
- package/lib/src/embed/app.d.ts +148 -25
- package/lib/src/embed/app.d.ts.map +1 -1
- package/lib/src/embed/app.js +75 -38
- package/lib/src/embed/app.js.map +1 -1
- package/lib/src/embed/app.spec.js +572 -151
- package/lib/src/embed/app.spec.js.map +1 -1
- package/lib/src/embed/base.d.ts +1 -1
- package/lib/src/embed/base.js +1 -1
- package/lib/src/embed/conversation.d.ts +375 -2
- package/lib/src/embed/conversation.d.ts.map +1 -1
- package/lib/src/embed/conversation.js +23 -17
- package/lib/src/embed/conversation.js.map +1 -1
- package/lib/src/embed/conversation.spec.js +323 -17
- package/lib/src/embed/conversation.spec.js.map +1 -1
- package/lib/src/embed/events.spec.js +45 -0
- package/lib/src/embed/events.spec.js.map +1 -1
- package/lib/src/embed/host-events.spec.js +81 -0
- package/lib/src/embed/host-events.spec.js.map +1 -1
- package/lib/src/embed/hostEventClient/contracts.d.ts +15 -0
- package/lib/src/embed/hostEventClient/contracts.d.ts.map +1 -1
- package/lib/src/embed/hostEventClient/contracts.js +1 -0
- package/lib/src/embed/hostEventClient/contracts.js.map +1 -1
- package/lib/src/embed/hostEventClient/host-event-client.d.ts +1 -1
- package/lib/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
- package/lib/src/embed/hostEventClient/host-event-client.js +1 -0
- package/lib/src/embed/hostEventClient/host-event-client.js.map +1 -1
- package/lib/src/embed/hostEventClient/host-event-client.spec.js +27 -0
- package/lib/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
- package/lib/src/embed/liveboard.d.ts +76 -14
- package/lib/src/embed/liveboard.d.ts.map +1 -1
- package/lib/src/embed/liveboard.js +50 -9
- package/lib/src/embed/liveboard.js.map +1 -1
- package/lib/src/embed/liveboard.spec.js +432 -4
- package/lib/src/embed/liveboard.spec.js.map +1 -1
- package/lib/src/embed/spotter-utils.d.ts +15 -1
- package/lib/src/embed/spotter-utils.d.ts.map +1 -1
- package/lib/src/embed/spotter-utils.js +25 -0
- package/lib/src/embed/spotter-utils.js.map +1 -1
- package/lib/src/embed/spotter-utils.spec.js +130 -1
- package/lib/src/embed/spotter-utils.spec.js.map +1 -1
- package/lib/src/embed/spotter-viz-utils.d.ts +9 -10
- package/lib/src/embed/spotter-viz-utils.d.ts.map +1 -1
- package/lib/src/embed/spotter-viz-utils.js.map +1 -1
- package/lib/src/embed/ts-embed.d.ts +16 -8
- package/lib/src/embed/ts-embed.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.js +82 -30
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/embed/ts-embed.spec.js +537 -3
- package/lib/src/embed/ts-embed.spec.js.map +1 -1
- package/lib/src/index.d.ts +3 -3
- package/lib/src/index.d.ts.map +1 -1
- package/lib/src/index.js +2 -2
- package/lib/src/index.js.map +1 -1
- package/lib/src/mixpanel-service.d.ts +4 -0
- package/lib/src/mixpanel-service.d.ts.map +1 -1
- package/lib/src/mixpanel-service.js +4 -0
- package/lib/src/mixpanel-service.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/all-types-export.parity.spec.d.ts +2 -0
- package/lib/src/react/all-types-export.parity.spec.d.ts.map +1 -0
- package/lib/src/react/all-types-export.parity.spec.js +191 -0
- package/lib/src/react/all-types-export.parity.spec.js.map +1 -0
- package/lib/src/react/index.d.ts +66 -32
- package/lib/src/react/index.d.ts.map +1 -1
- package/lib/src/react/index.js +5 -3
- package/lib/src/react/index.js.map +1 -1
- package/lib/src/react/index.spec.js +102 -1
- package/lib/src/react/index.spec.js.map +1 -1
- package/lib/src/types.d.ts +789 -32
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js +610 -20
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils.spec.js +4 -0
- package/lib/src/utils.spec.js.map +1 -1
- package/lib/src/visual-embed-sdk.d.ts +1499 -100
- package/package.json +1 -1
- package/src/config.ts +1 -0
- package/src/css-variables.ts +77 -0
- package/src/embed/app.spec.ts +729 -188
- package/src/embed/app.ts +240 -75
- package/src/embed/base.ts +1 -1
- package/src/embed/conversation.spec.ts +379 -20
- package/src/embed/conversation.ts +412 -18
- package/src/embed/events.spec.ts +56 -0
- package/src/embed/host-events.spec.ts +118 -0
- package/src/embed/hostEventClient/contracts.ts +16 -0
- package/src/embed/hostEventClient/host-event-client.spec.ts +46 -0
- package/src/embed/hostEventClient/host-event-client.ts +3 -2
- package/src/embed/liveboard.spec.ts +565 -4
- package/src/embed/liveboard.ts +150 -29
- package/src/embed/spotter-utils.spec.ts +140 -1
- package/src/embed/spotter-utils.ts +36 -1
- package/src/embed/spotter-viz-utils.ts +9 -10
- package/src/embed/ts-embed.spec.ts +699 -3
- package/src/embed/ts-embed.ts +99 -35
- package/src/index.ts +44 -2
- package/src/mixpanel-service.ts +4 -0
- package/src/react/all-types-export.parity.spec.ts +208 -0
- package/src/react/all-types-export.ts +22 -0
- package/src/react/index.spec.tsx +158 -0
- package/src/react/index.tsx +70 -33
- package/src/types.ts +791 -30
- package/src/utils.spec.ts +5 -0
|
@@ -30,13 +30,12 @@ export interface SpotterVizStarterPrompt {
|
|
|
30
30
|
* customStarterPrompts: [
|
|
31
31
|
* { id: '1', displayText: 'Top products', fullPrompt: 'What are the top products by revenue?' }
|
|
32
32
|
* ],
|
|
33
|
-
* //
|
|
33
|
+
* // The options below require SDK: 1.51.0
|
|
34
34
|
* loaderHeadline: 'Crunching the numbers...',
|
|
35
35
|
* loaderTips: [
|
|
36
36
|
* { label: 'Tip', text: 'try asking about revenue by region' },
|
|
37
37
|
* { label: 'Tip', text: 'use natural language' },
|
|
38
38
|
* ],
|
|
39
|
-
* // liveboardBrandName, spotterBrandName, insightTileBrandName, insightTileViewPlanLabel and insightTileLoaderText require SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
|
|
40
39
|
* liveboardBrandName: 'Reports',
|
|
41
40
|
* spotterBrandName: 'Analyst',
|
|
42
41
|
* insightTileBrandName: 'Insight card',
|
|
@@ -89,47 +88,47 @@ export interface SpotterVizConfig {
|
|
|
89
88
|
/**
|
|
90
89
|
* Custom headline text shown in the SpotterViz loading state.
|
|
91
90
|
* Replaces the default loading headline.
|
|
92
|
-
* @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.
|
|
91
|
+
* @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.7.0.cl
|
|
93
92
|
*/
|
|
94
93
|
loaderHeadline?: string;
|
|
95
94
|
/**
|
|
96
95
|
* Custom tips shown in the SpotterViz loading state.
|
|
97
96
|
* Replaces the default loading tips with the provided list.
|
|
98
|
-
* @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.
|
|
97
|
+
* @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.7.0.cl
|
|
99
98
|
*/
|
|
100
99
|
loaderTips?: SpotterVizLoaderTip[];
|
|
101
100
|
/**
|
|
102
101
|
* Custom term used to replace "Liveboard" in the agent's responses.
|
|
103
|
-
* @version SDK: 1.
|
|
102
|
+
* @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.7.0.cl
|
|
104
103
|
* @default ''
|
|
105
104
|
*/
|
|
106
105
|
liveboardBrandName?: string;
|
|
107
106
|
/**
|
|
108
107
|
* Custom term used to replace "Spotter" in the agent's responses.
|
|
109
|
-
* @version SDK: 1.
|
|
108
|
+
* @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.7.0.cl
|
|
110
109
|
* @default ''
|
|
111
110
|
*/
|
|
112
111
|
spotterBrandName?: string;
|
|
113
112
|
/**
|
|
114
113
|
* Custom term used to replace "Insight tile" in the UI and in the agent's responses.
|
|
115
|
-
* @version SDK: 1.
|
|
114
|
+
* @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.7.0.cl
|
|
116
115
|
* @default ''
|
|
117
116
|
*/
|
|
118
117
|
insightTileBrandName?: string;
|
|
119
118
|
/**
|
|
120
119
|
* Custom term used to replace "View plan" in the insight tile menu.
|
|
121
|
-
* @version SDK: 1.
|
|
120
|
+
* @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.7.0.cl
|
|
122
121
|
*/
|
|
123
122
|
insightTileViewPlanLabel?: string;
|
|
124
123
|
/**
|
|
125
124
|
* Custom loader text shown on the insight tile.
|
|
126
|
-
* @version SDK: 1.
|
|
125
|
+
* @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.7.0.cl
|
|
127
126
|
*/
|
|
128
127
|
insightTileLoaderText?: string;
|
|
129
128
|
}
|
|
130
129
|
/**
|
|
131
130
|
* A single tip shown in the SpotterViz loading state.
|
|
132
|
-
* @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.
|
|
131
|
+
* @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.7.0.cl
|
|
133
132
|
* @group Embed components
|
|
134
133
|
*/
|
|
135
134
|
export interface SpotterVizLoaderTip {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spotter-viz-utils.d.ts","sourceRoot":"","sources":["../../../src/embed/spotter-viz-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACpC,iCAAiC;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,+DAA+D;IAC/D,WAAW,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAC;CACtB;AAED
|
|
1
|
+
{"version":3,"file":"spotter-viz-utils.d.ts","sourceRoot":"","sources":["../../../src/embed/spotter-viz-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACpC,iCAAiC;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,+DAA+D;IAC/D,WAAW,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,uBAAuB,EAAE,CAAC;IACjD;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACnC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;OAGG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAChC,2DAA2D;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,0BAA0B,CAAC,CAAC,SAAS,kBAAkB,EACnE,QAAQ,EAAE,CAAC,EACX,UAAU,EAAE;IAAE,UAAU,CAAC,EAAE,gBAAgB,CAAA;CAAE,GAC9C,CAAC,GAAG;IAAE,WAAW,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;KAAE,CAAA;CAAE,CAU/D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spotter-viz-utils.js","sourceRoot":"","sources":["../../../src/embed/spotter-viz-utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"spotter-viz-utils.js","sourceRoot":"","sources":["../../../src/embed/spotter-viz-utils.ts"],"names":[],"mappings":"AA+IA,MAAM,UAAU,0BAA0B,CACtC,QAAW,EACX,UAA6C;IAE7C,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC;IAClC,IAAI,CAAC,UAAU;QAAE,OAAO,QAAQ,CAAC;IACjC,OAAO;QACH,GAAG,QAAQ;QACX,WAAW,EAAE;YACT,GAAG,CAAE,QAA0D,CAAC,WAAW,IAAI,EAAE,CAAC;YAClF,gBAAgB,EAAE,UAAU;SAC/B;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
* @summary Base classes
|
|
6
6
|
* @author Ayon Ghosh <ayon.ghosh@thoughtspot.com>
|
|
7
7
|
*/
|
|
8
|
-
import { TriggerPayload, TriggerResponse, UIPassthroughArrayResponse, UIPassthroughEvent, UIPassthroughRequest } from './hostEventClient/contracts';
|
|
8
|
+
import { HostEventRequest, TriggerPayload, TriggerResponse, UIPassthroughArrayResponse, UIPassthroughEvent, UIPassthroughRequest } from './hostEventClient/contracts';
|
|
9
9
|
import { AnswerService } from '../utils/graphql/answerService/answerService';
|
|
10
|
-
import { DOMSelector, HostEvent, EmbedEvent, MessageCallback, Action, EmbedConfig, MessageOptions, DefaultAppInitData, AllEmbedViewConfig as ViewConfig, EmbedErrorDetailsEvent, ContextType, ContextObject } from '../types';
|
|
10
|
+
import { DOMSelector, HostEvent, EmbedEvent, MessageCallback, Action, EmbedConfig, MessageOptions, DefaultAppInitData, AllEmbedViewConfig as ViewConfig, EmbedErrorDetailsEvent, ContextType, ContextObject, PreRenderConfig } from '../types';
|
|
11
11
|
import { HostEventClient } from './hostEventClient/host-event-client';
|
|
12
12
|
/**
|
|
13
13
|
* Global prefix for all ThoughtSpot postHash Params.
|
|
@@ -221,6 +221,12 @@ export declare class TsEmbed {
|
|
|
221
221
|
protected getEmbedParamsObject(): Record<any, any>;
|
|
222
222
|
protected getRootIframeSrc(): string;
|
|
223
223
|
protected createIframeEl(frameSrc: string): HTMLIFrameElement;
|
|
224
|
+
/**
|
|
225
|
+
* Returns a merged {@link PreRenderConfig} object where each shared key
|
|
226
|
+
* prefers `preRenderConfig.key` over the top-level `viewConfig.key` for
|
|
227
|
+
* backward compatibility.
|
|
228
|
+
*/
|
|
229
|
+
protected getPreRenderConfig(): PreRenderConfig;
|
|
224
230
|
/**
|
|
225
231
|
* Returns true if this embed instance is configured for pre-rendering.
|
|
226
232
|
*/
|
|
@@ -259,12 +265,14 @@ export declare class TsEmbed {
|
|
|
259
265
|
* fresh element; an element passed directly cannot be re-resolved.
|
|
260
266
|
*/
|
|
261
267
|
private resolvePreRenderContainerTarget;
|
|
268
|
+
private inheritPreRenderContainer;
|
|
269
|
+
private getCustomPreRenderContainer;
|
|
262
270
|
/**
|
|
263
|
-
* Makes the container a positioning context for the absolutely
|
|
264
|
-
* wrapper, stashing the original inline `position` on the element
|
|
265
|
-
* destroy() can restore it exactly, leaving no trace. Recording it
|
|
266
|
-
* element rather than per-instance lets the override be reverted even
|
|
267
|
-
* embeds share the same container.
|
|
271
|
+
* Makes the resolved container a positioning context for the absolutely
|
|
272
|
+
* positioned wrapper, stashing the original inline `position` on the element
|
|
273
|
+
* (once) so destroy() can restore it exactly, leaving no trace. Recording it
|
|
274
|
+
* on the element rather than per-instance lets the override be reverted even
|
|
275
|
+
* when embeds share the same container.
|
|
268
276
|
*/
|
|
269
277
|
private applyPreRenderContainerPositioning;
|
|
270
278
|
/**
|
|
@@ -412,7 +420,7 @@ export declare class TsEmbed {
|
|
|
412
420
|
* ```
|
|
413
421
|
* @version SDK: 1.45.2 | ThoughtSpot: 26.3.0.cl (for context parameter)
|
|
414
422
|
*/
|
|
415
|
-
trigger<HostEventT extends HostEvent, PayloadT
|
|
423
|
+
trigger<HostEventT extends HostEvent, PayloadT = HostEventRequest<HostEventT>, ContextT extends ContextType = ContextType>(messageType: HostEventT, data?: TriggerPayload<PayloadT, HostEventT>, context?: ContextT): Promise<TriggerResponse<PayloadT, HostEventT, ContextT>>;
|
|
416
424
|
/**
|
|
417
425
|
* Triggers an event to the embedded app, skipping the UI flow.
|
|
418
426
|
* @param {UIPassthroughEvent} apiName - The name of the API to be triggered.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ts-embed.d.ts","sourceRoot":"","sources":["../../../src/embed/ts-embed.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EACH,cAAc,EACd,eAAe,EACf,0BAA0B,EAC1B,kBAAkB,EAClB,oBAAoB,EACvB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AA4B7E,OAAO,EAEH,WAAW,EACX,SAAS,EACT,UAAU,EACV,eAAe,EACf,MAAM,EAEN,WAAW,EACX,cAAc,EAGd,kBAAkB,EAClB,kBAAkB,IAAI,UAAU,EAChC,sBAAsB,EAItB,WAAW,EACX,aAAa,
|
|
1
|
+
{"version":3,"file":"ts-embed.d.ts","sourceRoot":"","sources":["../../../src/embed/ts-embed.ts"],"names":[],"mappings":"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"}
|
|
@@ -73,7 +73,7 @@ export class TsEmbed {
|
|
|
73
73
|
*/
|
|
74
74
|
this.shouldEncodeUrlQueryParams = false;
|
|
75
75
|
this.defaultHiddenActions = [Action.ReportError];
|
|
76
|
-
this.preRenderContainerEl =
|
|
76
|
+
this.preRenderContainerEl = document.body;
|
|
77
77
|
this.containerScrollListener = null;
|
|
78
78
|
/**
|
|
79
79
|
* Handler for fullscreen change events
|
|
@@ -761,11 +761,27 @@ export class TsEmbed {
|
|
|
761
761
|
iFrame.name = 'ThoughtSpot Embedded Analytics';
|
|
762
762
|
return iFrame;
|
|
763
763
|
}
|
|
764
|
+
/**
|
|
765
|
+
* Returns a merged {@link PreRenderConfig} object where each shared key
|
|
766
|
+
* prefers `preRenderConfig.key` over the top-level `viewConfig.key` for
|
|
767
|
+
* backward compatibility.
|
|
768
|
+
*/
|
|
769
|
+
getPreRenderConfig() {
|
|
770
|
+
var _a, _b, _c, _d;
|
|
771
|
+
const viewCfg = this.viewConfig;
|
|
772
|
+
const preRenderCfg = (_a = viewCfg.preRenderConfig) !== null && _a !== void 0 ? _a : {};
|
|
773
|
+
return {
|
|
774
|
+
...preRenderCfg,
|
|
775
|
+
preRenderId: (_b = preRenderCfg.preRenderId) !== null && _b !== void 0 ? _b : viewCfg.preRenderId,
|
|
776
|
+
preRenderContainer: (_c = preRenderCfg.preRenderContainer) !== null && _c !== void 0 ? _c : viewCfg.preRenderContainer,
|
|
777
|
+
doNotTrackPreRenderSize: (_d = preRenderCfg.doNotTrackPreRenderSize) !== null && _d !== void 0 ? _d : viewCfg.doNotTrackPreRenderSize,
|
|
778
|
+
};
|
|
779
|
+
}
|
|
764
780
|
/**
|
|
765
781
|
* Returns true if this embed instance is configured for pre-rendering.
|
|
766
782
|
*/
|
|
767
783
|
isPreRenderEmbed() {
|
|
768
|
-
return !!this.
|
|
784
|
+
return !!this.getPreRenderConfig().preRenderId;
|
|
769
785
|
}
|
|
770
786
|
handleInsertionIntoDOM(child) {
|
|
771
787
|
if (this.isPreRenderEmbed()) {
|
|
@@ -903,6 +919,7 @@ export class TsEmbed {
|
|
|
903
919
|
this.setIframeElement(this.preRenderChild);
|
|
904
920
|
}
|
|
905
921
|
this.isRendered = true;
|
|
922
|
+
this.inheritPreRenderContainer();
|
|
906
923
|
}
|
|
907
924
|
return this.isPreRenderConnected();
|
|
908
925
|
}
|
|
@@ -953,7 +970,7 @@ export class TsEmbed {
|
|
|
953
970
|
*/
|
|
954
971
|
resolvePreRenderContainerTarget() {
|
|
955
972
|
var _a;
|
|
956
|
-
const containerConfig = this.
|
|
973
|
+
const containerConfig = this.getPreRenderConfig().preRenderContainer;
|
|
957
974
|
let container = null;
|
|
958
975
|
if (typeof containerConfig === 'string') {
|
|
959
976
|
try {
|
|
@@ -971,15 +988,35 @@ export class TsEmbed {
|
|
|
971
988
|
}
|
|
972
989
|
return (_a = container) !== null && _a !== void 0 ? _a : document.body;
|
|
973
990
|
}
|
|
991
|
+
inheritPreRenderContainer() {
|
|
992
|
+
var _a;
|
|
993
|
+
const preRenderedObject = this.getPreRenderObj();
|
|
994
|
+
if (!preRenderedObject || preRenderedObject === this) {
|
|
995
|
+
return;
|
|
996
|
+
}
|
|
997
|
+
const ownerContainer = (_a = preRenderedObject.preRenderContainerEl) !== null && _a !== void 0 ? _a : document.body;
|
|
998
|
+
if (this.getPreRenderConfig().preRenderContainer
|
|
999
|
+
&& this.resolvePreRenderContainerTarget() !== ownerContainer) {
|
|
1000
|
+
logger.warn('preRenderContainer is applied only by the component that creates the preRender; '
|
|
1001
|
+
+ 'the one passed here is ignored. Set it on the PreRender component instead.');
|
|
1002
|
+
}
|
|
1003
|
+
this.preRenderContainerEl = ownerContainer;
|
|
1004
|
+
this.applyPreRenderContainerPositioning();
|
|
1005
|
+
}
|
|
1006
|
+
getCustomPreRenderContainer() {
|
|
1007
|
+
const container = this.preRenderContainerEl;
|
|
1008
|
+
return container && container !== document.body ? container : null;
|
|
1009
|
+
}
|
|
974
1010
|
/**
|
|
975
|
-
* Makes the container a positioning context for the absolutely
|
|
976
|
-
* wrapper, stashing the original inline `position` on the element
|
|
977
|
-
* destroy() can restore it exactly, leaving no trace. Recording it
|
|
978
|
-
* element rather than per-instance lets the override be reverted even
|
|
979
|
-
* embeds share the same container.
|
|
1011
|
+
* Makes the resolved container a positioning context for the absolutely
|
|
1012
|
+
* positioned wrapper, stashing the original inline `position` on the element
|
|
1013
|
+
* (once) so destroy() can restore it exactly, leaving no trace. Recording it
|
|
1014
|
+
* on the element rather than per-instance lets the override be reverted even
|
|
1015
|
+
* when embeds share the same container.
|
|
980
1016
|
*/
|
|
981
|
-
applyPreRenderContainerPositioning(
|
|
982
|
-
|
|
1017
|
+
applyPreRenderContainerPositioning() {
|
|
1018
|
+
const container = this.getCustomPreRenderContainer();
|
|
1019
|
+
if (!container) {
|
|
983
1020
|
return;
|
|
984
1021
|
}
|
|
985
1022
|
const pos = window.getComputedStyle(container).position;
|
|
@@ -1022,11 +1059,11 @@ export class TsEmbed {
|
|
|
1022
1059
|
resolved.addEventListener('scroll', this.containerScrollListener);
|
|
1023
1060
|
}
|
|
1024
1061
|
}
|
|
1025
|
-
this.
|
|
1062
|
+
this.preRenderContainerEl = resolved;
|
|
1063
|
+
this.applyPreRenderContainerPositioning();
|
|
1026
1064
|
if (wrapper.parentNode !== resolved) {
|
|
1027
1065
|
resolved.appendChild(wrapper);
|
|
1028
1066
|
}
|
|
1029
|
-
this.preRenderContainerEl = resolved;
|
|
1030
1067
|
}
|
|
1031
1068
|
insertIntoDOMForPreRender(child) {
|
|
1032
1069
|
const preRenderChild = this.createPreRenderChild(child);
|
|
@@ -1049,7 +1086,7 @@ export class TsEmbed {
|
|
|
1049
1086
|
}
|
|
1050
1087
|
const targetContainer = this.resolvePreRenderContainerTarget();
|
|
1051
1088
|
this.preRenderContainerEl = targetContainer;
|
|
1052
|
-
this.applyPreRenderContainerPositioning(
|
|
1089
|
+
this.applyPreRenderContainerPositioning();
|
|
1053
1090
|
targetContainer.appendChild(preRenderWrapper);
|
|
1054
1091
|
}
|
|
1055
1092
|
insertIntoDOM(child) {
|
|
@@ -1377,6 +1414,9 @@ export class TsEmbed {
|
|
|
1377
1414
|
* @param args
|
|
1378
1415
|
*/
|
|
1379
1416
|
async render() {
|
|
1417
|
+
uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_RENDER_CALLED, {
|
|
1418
|
+
embedComponentType: this.viewConfig.embedComponentType,
|
|
1419
|
+
});
|
|
1380
1420
|
if (!getIsInitCalled()) {
|
|
1381
1421
|
logger.error(ERROR_MESSAGE.RENDER_CALLED_BEFORE_INIT);
|
|
1382
1422
|
}
|
|
@@ -1448,7 +1488,11 @@ export class TsEmbed {
|
|
|
1448
1488
|
* @param showPreRenderByDefault - Show the preRender after render, hidden by default
|
|
1449
1489
|
*/
|
|
1450
1490
|
async preRender(showPreRenderByDefault = false, replaceExistingPreRender = false) {
|
|
1451
|
-
|
|
1491
|
+
uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_PRE_RENDER, {
|
|
1492
|
+
showPreRenderByDefault,
|
|
1493
|
+
replaceExistingPreRender,
|
|
1494
|
+
});
|
|
1495
|
+
if (!this.getPreRenderConfig().preRenderId) {
|
|
1452
1496
|
logger.error(ERROR_MESSAGE.PRERENDER_ID_MISSING);
|
|
1453
1497
|
return this;
|
|
1454
1498
|
}
|
|
@@ -1504,7 +1548,7 @@ export class TsEmbed {
|
|
|
1504
1548
|
}
|
|
1505
1549
|
// Drop our reference up front so a destroyed embed never pins a
|
|
1506
1550
|
// detached container in memory; restoration uses the local handle.
|
|
1507
|
-
this.preRenderContainerEl =
|
|
1551
|
+
this.preRenderContainerEl = document.body;
|
|
1508
1552
|
const originalPosition = container.dataset[PRERENDER_CONTAINER_ORIGINAL_POSITION_KEY];
|
|
1509
1553
|
if (originalPosition === undefined) {
|
|
1510
1554
|
// We never overrode this container's position; nothing to restore.
|
|
@@ -1527,9 +1571,7 @@ export class TsEmbed {
|
|
|
1527
1571
|
if (!this.containerScrollListener) {
|
|
1528
1572
|
return;
|
|
1529
1573
|
}
|
|
1530
|
-
const customContainer = this.
|
|
1531
|
-
? this.preRenderContainerEl
|
|
1532
|
-
: null;
|
|
1574
|
+
const customContainer = this.getCustomPreRenderContainer();
|
|
1533
1575
|
customContainer === null || customContainer === void 0 ? void 0 : customContainer.removeEventListener('scroll', this.containerScrollListener);
|
|
1534
1576
|
this.containerScrollListener = null;
|
|
1535
1577
|
}
|
|
@@ -1625,9 +1667,13 @@ export class TsEmbed {
|
|
|
1625
1667
|
*/
|
|
1626
1668
|
async showPreRender() {
|
|
1627
1669
|
var _a, _b;
|
|
1670
|
+
uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_SHOW_PRE_RENDER, {
|
|
1671
|
+
preRenderId: this.getPreRenderConfig().preRenderId,
|
|
1672
|
+
embedComponentType: this.viewConfig.embedComponentType,
|
|
1673
|
+
});
|
|
1628
1674
|
if (this.shouldWaitForRenderPromise)
|
|
1629
1675
|
await this.isReadyForRenderPromise;
|
|
1630
|
-
if (!this.
|
|
1676
|
+
if (!this.getPreRenderConfig().preRenderId) {
|
|
1631
1677
|
logger.error(ERROR_MESSAGE.PRERENDER_ID_MISSING);
|
|
1632
1678
|
return this;
|
|
1633
1679
|
}
|
|
@@ -1658,14 +1704,12 @@ export class TsEmbed {
|
|
|
1658
1704
|
(_a = this.hostElement.querySelector(`#${placeHolderId}`)) === null || _a === void 0 ? void 0 : _a.remove();
|
|
1659
1705
|
this.hostElement.appendChild(this.insertedDomEl);
|
|
1660
1706
|
this.syncPreRenderStyle();
|
|
1661
|
-
const customContainer = this.
|
|
1662
|
-
? this.preRenderContainerEl
|
|
1663
|
-
: null;
|
|
1707
|
+
const customContainer = this.getCustomPreRenderContainer();
|
|
1664
1708
|
if (customContainer && !this.containerScrollListener) {
|
|
1665
1709
|
this.containerScrollListener = () => this.syncPreRenderStyle();
|
|
1666
1710
|
customContainer.addEventListener('scroll', this.containerScrollListener);
|
|
1667
1711
|
}
|
|
1668
|
-
if (!this.
|
|
1712
|
+
if (!this.getPreRenderConfig().doNotTrackPreRenderSize) {
|
|
1669
1713
|
const observeTarget = (_b = this.insertedDomEl) !== null && _b !== void 0 ? _b : this.hostElement;
|
|
1670
1714
|
this.resizeObserver = new ResizeObserver((entries) => {
|
|
1671
1715
|
entries.forEach((entry) => {
|
|
@@ -1707,13 +1751,15 @@ export class TsEmbed {
|
|
|
1707
1751
|
logger.error(ERROR_MESSAGE.SYNC_STYLE_CALLED_BEFORE_RENDER);
|
|
1708
1752
|
return;
|
|
1709
1753
|
}
|
|
1754
|
+
if (!this.getPreRenderPlaceHolderElement().isConnected) {
|
|
1755
|
+
logger.debug('syncPreRenderStyle skipped: placeholder is detached');
|
|
1756
|
+
return;
|
|
1757
|
+
}
|
|
1710
1758
|
// Self-heal if the resolved container was remounted/detached, so we
|
|
1711
1759
|
// never measure a stale node (which would collapse the wrapper).
|
|
1712
1760
|
this.reconcilePreRenderContainer();
|
|
1713
1761
|
const elBoundingClient = this.getPreRenderPlaceHolderElement().getBoundingClientRect();
|
|
1714
|
-
const containerEl = this.
|
|
1715
|
-
? this.preRenderContainerEl
|
|
1716
|
-
: null;
|
|
1762
|
+
const containerEl = this.getCustomPreRenderContainer();
|
|
1717
1763
|
const containerRect = (_a = containerEl === null || containerEl === void 0 ? void 0 : containerEl.getBoundingClientRect()) !== null && _a !== void 0 ? _a : { x: 0, y: 0 };
|
|
1718
1764
|
const scrollX = containerEl ? containerEl.scrollLeft : window.scrollX;
|
|
1719
1765
|
const scrollY = containerEl ? containerEl.scrollTop : window.scrollY;
|
|
@@ -1730,16 +1776,21 @@ export class TsEmbed {
|
|
|
1730
1776
|
* If the component is not preRendered, it issues a warning.
|
|
1731
1777
|
*/
|
|
1732
1778
|
hidePreRender() {
|
|
1779
|
+
uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_HIDE_PRE_RENDER, {
|
|
1780
|
+
preRenderId: this.getPreRenderConfig().preRenderId,
|
|
1781
|
+
embedComponentType: this.viewConfig.embedComponentType,
|
|
1782
|
+
});
|
|
1733
1783
|
logger.debug('HidePreRender Called');
|
|
1734
1784
|
if (!this.isPreRenderConnected()) {
|
|
1735
1785
|
// if the embed component is not preRendered , nothing to hide
|
|
1736
1786
|
logger.warn('PreRender should be called before hiding it using hidePreRender.');
|
|
1737
1787
|
return;
|
|
1738
1788
|
}
|
|
1789
|
+
const { zIndex } = this.getPreRenderConfig();
|
|
1739
1790
|
const preRenderHideStyles = {
|
|
1740
1791
|
opacity: '0',
|
|
1741
1792
|
pointerEvents: 'none',
|
|
1742
|
-
zIndex: '-1000',
|
|
1793
|
+
zIndex: zIndex !== undefined ? String(zIndex) : '-1000',
|
|
1743
1794
|
position: 'absolute',
|
|
1744
1795
|
top: '0',
|
|
1745
1796
|
left: '0',
|
|
@@ -1764,10 +1815,11 @@ export class TsEmbed {
|
|
|
1764
1815
|
* @property {string} child - The HTML element ID for the PreRender child.
|
|
1765
1816
|
*/
|
|
1766
1817
|
getPreRenderIds() {
|
|
1818
|
+
const preRenderId = this.getPreRenderConfig().preRenderId;
|
|
1767
1819
|
return {
|
|
1768
|
-
wrapper: `${PRERENDER_WRAPPER_ID_PREFIX}${
|
|
1769
|
-
child: `tsEmbed-pre-render-child-${
|
|
1770
|
-
placeHolder: `tsEmbed-pre-render-placeholder-${
|
|
1820
|
+
wrapper: `${PRERENDER_WRAPPER_ID_PREFIX}${preRenderId}`,
|
|
1821
|
+
child: `tsEmbed-pre-render-child-${preRenderId}`,
|
|
1822
|
+
placeHolder: `tsEmbed-pre-render-placeholder-${preRenderId}`,
|
|
1771
1823
|
};
|
|
1772
1824
|
}
|
|
1773
1825
|
/**
|