@thoughtspot/visual-embed-sdk 1.21.0-react.2 → 1.21.0-sage.0

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 (91) hide show
  1. package/cjs/package.json +5 -5
  2. package/cjs/src/embed/nls.spec.d.ts +1 -0
  3. package/cjs/src/embed/nls.spec.d.ts.map +1 -0
  4. package/cjs/src/embed/nls.spec.js +1 -0
  5. package/cjs/src/embed/nls.spec.js.map +1 -0
  6. package/cjs/src/embed/sage-fullscreen.d.ts +87 -0
  7. package/cjs/src/embed/sage-fullscreen.d.ts.map +1 -0
  8. package/cjs/src/embed/sage-fullscreen.js +114 -0
  9. package/cjs/src/embed/sage-fullscreen.js.map +1 -0
  10. package/cjs/src/embed/sage.d.ts +79 -0
  11. package/cjs/src/embed/sage.d.ts.map +1 -0
  12. package/cjs/src/embed/sage.js +112 -0
  13. package/cjs/src/embed/sage.js.map +1 -0
  14. package/cjs/src/errors.d.ts +1 -0
  15. package/cjs/src/errors.d.ts.map +1 -1
  16. package/cjs/src/errors.js +1 -0
  17. package/cjs/src/errors.js.map +1 -1
  18. package/cjs/src/index.d.ts +2 -1
  19. package/cjs/src/index.d.ts.map +1 -1
  20. package/cjs/src/index.js +3 -1
  21. package/cjs/src/index.js.map +1 -1
  22. package/cjs/src/mixpanel-service.d.ts.map +1 -1
  23. package/cjs/src/mixpanel-service.js +6 -11
  24. package/cjs/src/mixpanel-service.js.map +1 -1
  25. package/cjs/src/react/index.d.ts +9 -5
  26. package/cjs/src/react/index.d.ts.map +1 -1
  27. package/cjs/src/react/index.js +3 -1
  28. package/cjs/src/react/index.js.map +1 -1
  29. package/cjs/src/types.d.ts +9 -1
  30. package/cjs/src/types.d.ts.map +1 -1
  31. package/cjs/src/types.js +4 -0
  32. package/cjs/src/types.js.map +1 -1
  33. package/dist/src/embed/sage-fullscreen.d.ts +87 -0
  34. package/dist/src/embed/sage-fullscreen.d.ts.map +1 -0
  35. package/dist/src/embed/sage.d.ts +79 -0
  36. package/dist/src/embed/sage.d.ts.map +1 -0
  37. package/dist/src/errors.d.ts +1 -0
  38. package/dist/src/errors.d.ts.map +1 -1
  39. package/dist/src/index.d.ts +2 -1
  40. package/dist/src/index.d.ts.map +1 -1
  41. package/dist/src/mixpanel-service.d.ts.map +1 -1
  42. package/dist/src/react/index.d.ts +9 -5
  43. package/dist/src/react/index.d.ts.map +1 -1
  44. package/dist/src/types.d.ts +9 -1
  45. package/dist/src/types.d.ts.map +1 -1
  46. package/dist/tsembed-react.es.js +119 -13
  47. package/dist/tsembed-react.js +119 -12
  48. package/dist/tsembed.es.js +118 -13
  49. package/dist/tsembed.js +118 -12
  50. package/dist/visual-embed-sdk-react-full.d.ts +74 -3
  51. package/dist/visual-embed-sdk.d.ts +70 -2
  52. package/lib/package.json +5 -5
  53. package/lib/src/embed/nls.spec.d.ts +1 -0
  54. package/lib/src/embed/nls.spec.d.ts.map +1 -0
  55. package/lib/src/embed/nls.spec.js +1 -0
  56. package/lib/src/embed/nls.spec.js.map +1 -0
  57. package/lib/src/embed/sage-fullscreen.d.ts +87 -0
  58. package/lib/src/embed/sage-fullscreen.d.ts.map +1 -0
  59. package/lib/src/embed/sage-fullscreen.js +110 -0
  60. package/lib/src/embed/sage-fullscreen.js.map +1 -0
  61. package/lib/src/embed/sage.d.ts +79 -0
  62. package/lib/src/embed/sage.d.ts.map +1 -0
  63. package/lib/src/embed/sage.js +108 -0
  64. package/lib/src/embed/sage.js.map +1 -0
  65. package/lib/src/errors.d.ts +1 -0
  66. package/lib/src/errors.d.ts.map +1 -1
  67. package/lib/src/errors.js +1 -0
  68. package/lib/src/errors.js.map +1 -1
  69. package/lib/src/index.d.ts +2 -1
  70. package/lib/src/index.d.ts.map +1 -1
  71. package/lib/src/index.js +2 -1
  72. package/lib/src/index.js.map +1 -1
  73. package/lib/src/mixpanel-service.d.ts.map +1 -1
  74. package/lib/src/mixpanel-service.js +6 -11
  75. package/lib/src/mixpanel-service.js.map +1 -1
  76. package/lib/src/react/index.d.ts +9 -5
  77. package/lib/src/react/index.d.ts.map +1 -1
  78. package/lib/src/react/index.js +2 -0
  79. package/lib/src/react/index.js.map +1 -1
  80. package/lib/src/types.d.ts +9 -1
  81. package/lib/src/types.d.ts.map +1 -1
  82. package/lib/src/types.js +4 -0
  83. package/lib/src/types.js.map +1 -1
  84. package/package.json +5 -5
  85. package/src/embed/sage.ts +153 -0
  86. package/src/errors.ts +1 -0
  87. package/src/index.ts +2 -0
  88. package/src/mixpanel-service.ts +6 -10
  89. package/src/react/index.tsx +10 -1
  90. package/src/types.ts +8 -0
  91. package/dist/visual-embed-sdk-react.d.ts +0 -2781
package/cjs/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thoughtspot/visual-embed-sdk",
3
- "version": "1.21.0-react.2",
3
+ "version": "1.21.0-sage.0",
4
4
  "description": "ThoughtSpot Embed SDK",
5
5
  "module": "lib/src/index.js",
6
6
  "main": "dist/tsembed.js",
@@ -18,15 +18,15 @@
18
18
  "types": "./lib/src/index.d.ts"
19
19
  },
20
20
  "./react": {
21
- "import": "./lib/src/react/all-types-export.js",
22
- "require": "./cjs/src/react/all-types-export.js",
23
- "types": "./lib/src/react/all-types-export.d.ts"
21
+ "import": "./lib/src/react/index.js",
22
+ "require": "./cjs/src/react.index.js",
23
+ "types": "./lib/src/react/index.d.ts"
24
24
  }
25
25
  },
26
26
  "typesVersions": {
27
27
  "*": {
28
28
  "react": [
29
- "./lib/src/react/all-types-export.d.ts"
29
+ "./lib/src/react/index.d.ts"
30
30
  ]
31
31
  }
32
32
  },
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=nls.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nls.spec.d.ts","sourceRoot":"","sources":["../../../src/embed/nls.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=nls.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nls.spec.js","sourceRoot":"","sources":["../../../src/embed/nls.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Copyright (c) 2022
3
+ *
4
+ * Embed ThoughtSpot Sage fullscreen view
5
+ *
6
+ * @summary TS Sage embed
7
+ * @author Mourya Balabhadra <mourya.balabhadra@thoughtspot.com>
8
+ */
9
+ import { DOMSelector, Action, ViewConfig } from '../types';
10
+ import { TsEmbed } from './ts-embed';
11
+ /**
12
+ * The configuration attributes for the embedded Sage fullscreen view.
13
+ *
14
+ * @group Embed components
15
+ */
16
+ export interface SageFullscreenViewConfig extends ViewConfig {
17
+ /**
18
+ * If set to true, the data sources panel is collapsed on load,
19
+ * but can be expanded manually.
20
+ */
21
+ collapseDataSources?: boolean;
22
+ /**
23
+ * If set to true, hides the data sources panel.
24
+ */
25
+ hideDataSources?: boolean;
26
+ /**
27
+ * If set to true, hides the charts and tables in search answers.
28
+ * This attribute can be used to create a custom visualization
29
+ * using raw answer data.
30
+ */
31
+ hideResults?: boolean;
32
+ /**
33
+ * If set to true, the Search Assist feature is enabled.
34
+ *
35
+ */
36
+ enableSearchAssist?: boolean;
37
+ /**
38
+ * If set to true, the tabular view is set as the default
39
+ * format for presenting search data.
40
+ */
41
+ forceTable?: boolean;
42
+ /**
43
+ * The array of data source GUIDs to set on load.
44
+ */
45
+ dataSource?: string;
46
+ /**
47
+ * The answer session id of the answer to load.
48
+ */
49
+ answerSessionId?: string;
50
+ /**
51
+ * If set to true, Sage fullscreen view will render without the Search Bar
52
+ * The chart/table should still be visible.
53
+ */
54
+ hideSearchBar?: boolean;
55
+ }
56
+ export declare const HiddenActionItemByDefaultForSageFullscreenEmbed: Action[];
57
+ /**
58
+ * Embed ThoughtSpot Sage
59
+ *
60
+ * @group Embed components
61
+ */
62
+ export declare class SageFullscreenEmbed extends TsEmbed {
63
+ /**
64
+ * The view configuration for the embedded ThoughtSpot sage fullscreen.
65
+ */
66
+ protected viewConfig: SageFullscreenViewConfig;
67
+ constructor(domSelector: DOMSelector, viewConfig: SageFullscreenViewConfig);
68
+ /**
69
+ * Get the state of the data sources panel that the embedded
70
+ * ThoughtSpot sage fullscreen will be initialized with.
71
+ */
72
+ private getDataSourceMode;
73
+ protected getEmbedParams(): string;
74
+ /**
75
+ * Construct the URL of the embedded ThoughtSpot sage fullscreen to be
76
+ * loaded in the iframe
77
+ *
78
+ * @param answerSessionId The answer session id of the ad hoc answer
79
+ * @returns iframe url
80
+ */
81
+ private getIFrameSrc;
82
+ /**
83
+ * Render the embedded ThoughtSpot sage fullscreen
84
+ */
85
+ render(): SageFullscreenEmbed;
86
+ }
87
+ //# sourceMappingURL=sage-fullscreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sage-fullscreen.d.ts","sourceRoot":"","sources":["../../../src/embed/sage-fullscreen.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAEH,WAAW,EAEX,MAAM,EACN,UAAU,EACb,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAQrC;;;;GAIG;AACH,MAAM,WAAW,wBAAyB,SAAQ,UAAU;IACxD;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,eAAO,MAAM,+CAA+C,UAM3D,CAAC;AAEF;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,OAAO;IAC5C;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE,wBAAwB,CAAC;gBAEnC,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,wBAAwB;IAK1E;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAYzB,SAAS,CAAC,cAAc,IAAI,MAAM;IA6ClC;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAOpB;;OAEG;IACI,MAAM,IAAI,mBAAmB;CAkBvC"}
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) 2022
4
+ *
5
+ * Embed ThoughtSpot Sage fullscreen view
6
+ *
7
+ * @summary TS Sage embed
8
+ * @author Mourya Balabhadra <mourya.balabhadra@thoughtspot.com>
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.SageFullscreenEmbed = exports.HiddenActionItemByDefaultForSageFullscreenEmbed = void 0;
12
+ const types_1 = require("../types");
13
+ const utils_1 = require("../utils");
14
+ const ts_embed_1 = require("./ts-embed");
15
+ const errors_1 = require("../errors");
16
+ const base_1 = require("./base");
17
+ const auth_1 = require("../auth");
18
+ exports.HiddenActionItemByDefaultForSageFullscreenEmbed = [
19
+ types_1.Action.EditACopy,
20
+ types_1.Action.SaveAsView,
21
+ types_1.Action.UpdateTML,
22
+ types_1.Action.EditTML,
23
+ types_1.Action.AnswerDelete,
24
+ ];
25
+ /**
26
+ * Embed ThoughtSpot Sage
27
+ *
28
+ * @group Embed components
29
+ */
30
+ class SageFullscreenEmbed extends ts_embed_1.TsEmbed {
31
+ constructor(domSelector, viewConfig) {
32
+ super(domSelector);
33
+ this.viewConfig = viewConfig;
34
+ }
35
+ /**
36
+ * Get the state of the data sources panel that the embedded
37
+ * ThoughtSpot sage fullscreen will be initialized with.
38
+ */
39
+ getDataSourceMode() {
40
+ let dataSourceMode = types_1.DataSourceVisualMode.Expanded;
41
+ if (this.viewConfig.collapseDataSources === true) {
42
+ dataSourceMode = types_1.DataSourceVisualMode.Collapsed;
43
+ }
44
+ if (this.viewConfig.hideDataSources === true) {
45
+ dataSourceMode = types_1.DataSourceVisualMode.Hidden;
46
+ }
47
+ return dataSourceMode;
48
+ }
49
+ getEmbedParams() {
50
+ var _a;
51
+ const { hideResults, enableSearchAssist, forceTable, runtimeFilters, dataSource, } = this.viewConfig;
52
+ const queryParams = this.getBaseQueryParams();
53
+ queryParams[types_1.Param.HideActions] = [
54
+ ...((_a = queryParams[types_1.Param.HideActions]) !== null && _a !== void 0 ? _a : []),
55
+ ...exports.HiddenActionItemByDefaultForSageFullscreenEmbed,
56
+ ];
57
+ /* the below parameters are not needed but
58
+ reusing the parameters we have for saved answer page */
59
+ if (dataSource) {
60
+ queryParams[types_1.Param.DataSources] = `["${dataSource}"]`;
61
+ }
62
+ if (enableSearchAssist) {
63
+ queryParams[types_1.Param.EnableSearchAssist] = true;
64
+ }
65
+ if (hideResults) {
66
+ queryParams[types_1.Param.HideResult] = true;
67
+ }
68
+ if (forceTable) {
69
+ queryParams[types_1.Param.ForceTable] = true;
70
+ }
71
+ queryParams[types_1.Param.DataSourceMode] = this.getDataSourceMode();
72
+ queryParams[types_1.Param.UseLastSelectedDataSource] = false;
73
+ queryParams[types_1.Param.searchEmbed] = true;
74
+ let query = '';
75
+ const queryParamsString = (0, utils_1.getQueryParamString)(queryParams, true);
76
+ if (queryParamsString) {
77
+ query = `?${queryParamsString}`;
78
+ }
79
+ const filterQuery = (0, utils_1.getFilterQuery)(runtimeFilters || []);
80
+ if (filterQuery) {
81
+ query += `&${filterQuery}`;
82
+ }
83
+ return query;
84
+ }
85
+ /**
86
+ * Construct the URL of the embedded ThoughtSpot sage fullscreen to be
87
+ * loaded in the iframe
88
+ *
89
+ * @param answerSessionId The answer session id of the ad hoc answer
90
+ * @returns iframe url
91
+ */
92
+ getIFrameSrc(answerSessionId) {
93
+ const answerPath = answerSessionId ? `ai-answer/${answerSessionId}` : 'answer';
94
+ const tsPostHashParams = this.getThoughtSpotPostUrlParams();
95
+ return `${this.getRootIframeSrc()}/embed/${answerPath}${tsPostHashParams}`;
96
+ }
97
+ /**
98
+ * Render the embedded ThoughtSpot sage fullscreen
99
+ */
100
+ render() {
101
+ super.render();
102
+ const { answerSessionId } = this.viewConfig;
103
+ const src = this.getIFrameSrc(answerSessionId);
104
+ this.renderIFrame(src);
105
+ (0, base_1.getAuthPromise)().then(() => {
106
+ if ((0, utils_1.checkReleaseVersionInBeta)((0, auth_1.getReleaseVersion)(), (0, base_1.getEmbedConfig)().suppressSageEmbedBetaWarning)) {
107
+ alert(errors_1.ERROR_MESSAGE.SAGE_EMBED_BETA_WARNING_MESSAGE);
108
+ }
109
+ });
110
+ return this;
111
+ }
112
+ }
113
+ exports.SageFullscreenEmbed = SageFullscreenEmbed;
114
+ //# sourceMappingURL=sage-fullscreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sage-fullscreen.js","sourceRoot":"","sources":["../../../src/embed/sage-fullscreen.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Copyright (c) 2022
3
+ *
4
+ * Embed ThoughtSpot Sage
5
+ *
6
+ * @summary TS Sage embed
7
+ * @author Mourya Balabhadra <mourya.balabhadra@thoughtspot.com>
8
+ */
9
+ import { Action, DOMSelector, ViewConfig } from '../types';
10
+ import { V1Embed } from './ts-embed';
11
+ /**
12
+ * The configuration attributes for the embedded search view.
13
+ *
14
+ * @group Embed components
15
+ */
16
+ export interface SageViewConfig extends ViewConfig {
17
+ /**
18
+ * If set to false, eureka results are hidden
19
+ */
20
+ hideEurekaResults?: boolean;
21
+ /**
22
+ * primary flag to enable eureka(/sage) page embedding.
23
+ */
24
+ isSageEmbed?: boolean;
25
+ /**
26
+ * flag to disable changing worksheet. default false.
27
+ */
28
+ disableWorksheetChange?: boolean;
29
+ /**
30
+ * flag to hide worksheet selector. default false.
31
+ */
32
+ hideWorksheetSelector?: boolean;
33
+ fullHeight?: boolean;
34
+ }
35
+ export declare const HiddenActionItemByDefaultForSageEmbed: Action[];
36
+ /**
37
+ * Embed ThoughtSpot search
38
+ *
39
+ * @group Embed components
40
+ */
41
+ export declare class SageEmbed extends V1Embed {
42
+ /**
43
+ * The view configuration for the embedded ThoughtSpot sage.
44
+ *
45
+ */
46
+ protected viewConfig: SageViewConfig;
47
+ private defaultHeight;
48
+ constructor(domSelector: DOMSelector, viewConfig: SageViewConfig);
49
+ /**
50
+ * Constructs a map of parameters to be passed on to the
51
+ * embedded Eureka or Sage search page.
52
+ *
53
+ * @returns {string} query string
54
+ */
55
+ protected getEmbedParams(): string;
56
+ /**
57
+ * Set the iframe height as per the computed height received
58
+ * from the ThoughtSpot app.
59
+ *
60
+ * @param {MessagePayload} data The event payload
61
+ */
62
+ private updateIFrameHeight;
63
+ private embedIframeCenter;
64
+ private setIframeHeightForNonEmbedLiveboard;
65
+ /**
66
+ * Construct the URL of the embedded ThoughtSpot sage to be
67
+ * loaded in the iframe
68
+ *
69
+ * @returns {string} iframe url
70
+ */
71
+ private getIFrameSrc;
72
+ /**
73
+ * Render the embedded ThoughtSpot Sage
74
+ *
75
+ * @returns {SageEmbed} Eureka/Sage embed
76
+ */
77
+ render(): SageEmbed;
78
+ }
79
+ //# sourceMappingURL=sage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sage.d.ts","sourceRoot":"","sources":["../../../src/embed/sage.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACH,MAAM,EAAE,WAAW,EAAqC,UAAU,EACrE,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC;;;;GAIG;AACH,MAAM,WAAW,cAAe,SAAQ,UAAU;IAC9C;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,UAAU,CAAC,EAAC,OAAO,CAAC;CACvB;AACD,eAAO,MAAM,qCAAqC,UAGjD,CAAC;AACF;;;;GAIG;AACH,qBAAa,SAAU,SAAQ,OAAO;IAClC;;;OAGG;IACH,SAAS,CAAC,UAAU,EAAE,cAAc,CAAC;IAErC,OAAO,CAAC,aAAa,CAAO;gBAGhB,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc;IAShE;;;;;OAKG;IACH,SAAS,CAAC,cAAc,IAAI,MAAM;IAgClC;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB,CAExB;IAEF,OAAO,CAAC,iBAAiB,CAGvB;IAEF,OAAO,CAAC,mCAAmC,CAIzC;IAEF;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAOpB;;;;OAIG;IACI,MAAM,IAAI,SAAS;CAQ7B"}
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) 2022
4
+ *
5
+ * Embed ThoughtSpot Sage
6
+ *
7
+ * @summary TS Sage embed
8
+ * @author Mourya Balabhadra <mourya.balabhadra@thoughtspot.com>
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.SageEmbed = exports.HiddenActionItemByDefaultForSageEmbed = void 0;
12
+ const types_1 = require("../types");
13
+ const utils_1 = require("../utils");
14
+ const ts_embed_1 = require("./ts-embed");
15
+ exports.HiddenActionItemByDefaultForSageEmbed = [
16
+ types_1.Action.Save,
17
+ types_1.Action.Pin,
18
+ ];
19
+ /**
20
+ * Embed ThoughtSpot search
21
+ *
22
+ * @group Embed components
23
+ */
24
+ class SageEmbed extends ts_embed_1.V1Embed {
25
+ // eslint-disable-next-line no-useless-constructor
26
+ constructor(domSelector, viewConfig) {
27
+ super(domSelector, viewConfig);
28
+ this.defaultHeight = 500;
29
+ /**
30
+ * Set the iframe height as per the computed height received
31
+ * from the ThoughtSpot app.
32
+ *
33
+ * @param {MessagePayload} data The event payload
34
+ */
35
+ this.updateIFrameHeight = (data) => {
36
+ this.setIFrameHeight(Math.max(data.data, this.defaultHeight));
37
+ };
38
+ this.embedIframeCenter = (data, responder) => {
39
+ const obj = this.getIframeCenter();
40
+ responder({ type: types_1.EmbedEvent.EmbedIframeCenter, data: obj });
41
+ };
42
+ this.setIframeHeightForNonEmbedLiveboard = (data) => {
43
+ if (!data.data.currentPath.startsWith('/embed/viz/')) {
44
+ this.setIFrameHeight(this.defaultHeight);
45
+ }
46
+ };
47
+ if (this.viewConfig.fullHeight === true) {
48
+ this.on(types_1.EmbedEvent.RouteChange, this.setIframeHeightForNonEmbedLiveboard);
49
+ this.on(types_1.EmbedEvent.EmbedHeight, this.updateIFrameHeight);
50
+ this.on(types_1.EmbedEvent.EmbedIframeCenter, this.embedIframeCenter);
51
+ }
52
+ }
53
+ /**
54
+ * Constructs a map of parameters to be passed on to the
55
+ * embedded Eureka or Sage search page.
56
+ *
57
+ * @returns {string} query string
58
+ */
59
+ getEmbedParams() {
60
+ var _a, _b;
61
+ const { hideEurekaResults, isSageEmbed, disableWorksheetChange, hideWorksheetSelector, } = this.viewConfig;
62
+ const params = {};
63
+ params[types_1.Param.EmbedApp] = true;
64
+ params[types_1.Param.HideActions] = [...((_a = params[types_1.Param.HideActions]) !== null && _a !== void 0 ? _a : [])];
65
+ params[types_1.Param.HideActions] = [
66
+ ...((_b = params[types_1.Param.HideActions]) !== null && _b !== void 0 ? _b : []),
67
+ ...exports.HiddenActionItemByDefaultForSageEmbed,
68
+ ];
69
+ if (hideEurekaResults) {
70
+ params[types_1.Param.HideEurekaResults] = true;
71
+ }
72
+ if (isSageEmbed) {
73
+ params[types_1.Param.IsSageEmbed] = true;
74
+ }
75
+ if (disableWorksheetChange) {
76
+ params[types_1.Param.DisableWorksheetChange] = true;
77
+ }
78
+ if (hideWorksheetSelector) {
79
+ params[types_1.Param.HideWorksheetSelector] = true;
80
+ }
81
+ const queryParamsString = (0, utils_1.getQueryParamString)(params, true);
82
+ let query = '';
83
+ if (queryParamsString) {
84
+ query = `?${queryParamsString}`;
85
+ }
86
+ return query;
87
+ }
88
+ /**
89
+ * Construct the URL of the embedded ThoughtSpot sage to be
90
+ * loaded in the iframe
91
+ *
92
+ * @returns {string} iframe url
93
+ */
94
+ getIFrameSrc() {
95
+ const path = 'eureka';
96
+ const tsPostHashParams = this.getThoughtSpotPostUrlParams();
97
+ return `${this.getRootIframeSrc()}/embed/${path}${tsPostHashParams}`;
98
+ }
99
+ /**
100
+ * Render the embedded ThoughtSpot Sage
101
+ *
102
+ * @returns {SageEmbed} Eureka/Sage embed
103
+ */
104
+ render() {
105
+ super.render();
106
+ const src = this.getIFrameSrc();
107
+ this.renderV1Embed(src);
108
+ return this;
109
+ }
110
+ }
111
+ exports.SageEmbed = SageEmbed;
112
+ //# sourceMappingURL=sage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sage.js","sourceRoot":"","sources":["../../../src/embed/sage.ts"],"names":[],"mappings":"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"}
@@ -3,5 +3,6 @@ export declare const ERROR_MESSAGE: {
3
3
  LIVEBOARD_VIZ_ID_VALIDATION: string;
4
4
  TRIGGER_TIMED_OUT: string;
5
5
  SEARCHEMBED_BETA_WRANING_MESSAGE: string;
6
+ SAGE_EMBED_BETA_WARNING_MESSAGE: string;
6
7
  };
7
8
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;CAKzB,CAAC"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;CAMzB,CAAC"}
package/cjs/src/errors.js CHANGED
@@ -6,5 +6,6 @@ exports.ERROR_MESSAGE = {
6
6
  LIVEBOARD_VIZ_ID_VALIDATION: 'Please provide either liveboardId or pinboardId',
7
7
  TRIGGER_TIMED_OUT: 'Trigger timedout in getting response',
8
8
  SEARCHEMBED_BETA_WRANING_MESSAGE: 'Search Embed is in Beta in this release.',
9
+ SAGE_EMBED_BETA_WARNING_MESSAGE: 'Sage Embed is in Beta in this release.',
9
10
  };
10
11
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG;IACzB,wBAAwB,EAAE,6DAA6D;IACvF,2BAA2B,EAAE,iDAAiD;IAC9E,iBAAiB,EAAE,sCAAsC;IACzD,gCAAgC,EAAE,0CAA0C;CAC/E,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG;IACzB,wBAAwB,EAAE,6DAA6D;IACvF,2BAA2B,EAAE,iDAAiD;IAC9E,iBAAiB,EAAE,sCAAsC;IACzD,gCAAgC,EAAE,0CAA0C;IAC5E,+BAA+B,EAAE,wCAAwC;CAC5E,CAAC"}
@@ -14,5 +14,6 @@ import { SearchEmbed, SearchViewConfig } from './embed/search';
14
14
  import { SearchBarEmbed, SearchBarViewConfig } from './embed/search-bar';
15
15
  import { AuthFailureType, AuthStatus, AuthEvent, AuthEventEmitter, getSessionInfo } from './auth';
16
16
  import { AuthType, RuntimeFilter, RuntimeFilterOp, EmbedEvent, HostEvent, DataSourceVisualMode, Action, EmbedConfig, PrefetchFeatures, FrameParams, DOMSelector, MessageOptions, MessageCallback, MessagePayload, CustomisationsInterface, CustomStyles, customCssInterface, ContextMenuTriggerOptions } from './types';
17
- export { init, logout, prefetch, executeTML, exportTML, getEmbedConfig as getInitConfig, getSessionInfo, SearchEmbed, SearchBarEmbed, PinboardEmbed, LiveboardEmbed, AppEmbed, AuthFailureType, AuthStatus, AuthEvent, AuthEventEmitter, Page, AuthType, RuntimeFilter, RuntimeFilterOp, EmbedEvent, HostEvent, DataSourceVisualMode, Action, ContextMenuTriggerOptions, EmbedConfig, SearchViewConfig, SearchBarViewConfig, LiveboardViewConfig, AppViewConfig, PrefetchFeatures, FrameParams, DOMSelector, MessageOptions, MessageCallback, MessagePayload, CustomisationsInterface, CustomStyles, customCssInterface, };
17
+ import { SageEmbed } from './embed/sage';
18
+ export { init, logout, prefetch, executeTML, exportTML, getEmbedConfig as getInitConfig, getSessionInfo, SearchEmbed, SearchBarEmbed, PinboardEmbed, LiveboardEmbed, SageEmbed, AppEmbed, AuthFailureType, AuthStatus, AuthEvent, AuthEventEmitter, Page, AuthType, RuntimeFilter, RuntimeFilterOp, EmbedEvent, HostEvent, DataSourceVisualMode, Action, ContextMenuTriggerOptions, EmbedConfig, SearchViewConfig, SearchBarViewConfig, LiveboardViewConfig, AppViewConfig, PrefetchFeatures, FrameParams, DOMSelector, MessageOptions, MessageCallback, MessagePayload, CustomisationsInterface, CustomStyles, customCssInterface, };
18
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EACH,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAChE,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EACH,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,cAAc,EAC3E,MAAM,QAAQ,CAAC;AAChB,OAAO,EACH,QAAQ,EACR,aAAa,EACb,eAAe,EACf,UAAU,EACV,SAAS,EACT,oBAAoB,EACpB,MAAM,EACN,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,cAAc,EACd,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,YAAY,EACZ,kBAAkB,EAClB,yBAAyB,EAC5B,MAAM,SAAS,CAAC;AAEjB,OAAO,EACH,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,UAAU,EACV,SAAS,EACT,cAAc,IAAI,aAAa,EAC/B,cAAc,EACd,WAAW,EACX,cAAc,EACd,aAAa,EACb,cAAc,EACd,QAAQ,EACR,eAAe,EACf,UAAU,EACV,SAAS,EACT,gBAAgB,EAEhB,IAAI,EACJ,QAAQ,EACR,aAAa,EACb,eAAe,EACf,UAAU,EACV,SAAS,EACT,oBAAoB,EACpB,MAAM,EACN,yBAAyB,EACzB,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,cAAc,EACd,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,YAAY,EACZ,kBAAkB,GACrB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EACH,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAChE,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EACH,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,cAAc,EAC3E,MAAM,QAAQ,CAAC;AAChB,OAAO,EACH,QAAQ,EACR,aAAa,EACb,eAAe,EACf,UAAU,EACV,SAAS,EACT,oBAAoB,EACpB,MAAM,EACN,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,cAAc,EACd,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,YAAY,EACZ,kBAAkB,EAClB,yBAAyB,EAC5B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EACH,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,UAAU,EACV,SAAS,EACT,cAAc,IAAI,aAAa,EAC/B,cAAc,EACd,WAAW,EACX,cAAc,EACd,aAAa,EACb,cAAc,EACd,SAAS,EACT,QAAQ,EACR,eAAe,EACf,UAAU,EACV,SAAS,EACT,gBAAgB,EAEhB,IAAI,EACJ,QAAQ,EACR,aAAa,EACb,eAAe,EACf,UAAU,EACV,SAAS,EACT,oBAAoB,EACpB,MAAM,EACN,yBAAyB,EACzB,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,cAAc,EACd,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,YAAY,EACZ,kBAAkB,GACrB,CAAC"}
package/cjs/src/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PrefetchFeatures = exports.ContextMenuTriggerOptions = exports.Action = exports.DataSourceVisualMode = exports.HostEvent = exports.EmbedEvent = exports.RuntimeFilterOp = exports.AuthType = exports.Page = exports.AuthEvent = exports.AuthStatus = exports.AuthFailureType = exports.AppEmbed = exports.LiveboardEmbed = exports.PinboardEmbed = exports.SearchBarEmbed = exports.SearchEmbed = exports.getSessionInfo = exports.getInitConfig = exports.exportTML = exports.executeTML = exports.prefetch = exports.logout = exports.init = void 0;
3
+ exports.PrefetchFeatures = exports.ContextMenuTriggerOptions = exports.Action = exports.DataSourceVisualMode = exports.HostEvent = exports.EmbedEvent = exports.RuntimeFilterOp = exports.AuthType = exports.Page = exports.AuthEvent = exports.AuthStatus = exports.AuthFailureType = exports.AppEmbed = exports.SageEmbed = exports.LiveboardEmbed = exports.PinboardEmbed = exports.SearchBarEmbed = exports.SearchEmbed = exports.getSessionInfo = exports.getInitConfig = exports.exportTML = exports.executeTML = exports.prefetch = exports.logout = exports.init = void 0;
4
4
  /**
5
5
  * Copyright (c) 2023
6
6
  *
@@ -41,4 +41,6 @@ Object.defineProperty(exports, "DataSourceVisualMode", { enumerable: true, get:
41
41
  Object.defineProperty(exports, "Action", { enumerable: true, get: function () { return types_1.Action; } });
42
42
  Object.defineProperty(exports, "PrefetchFeatures", { enumerable: true, get: function () { return types_1.PrefetchFeatures; } });
43
43
  Object.defineProperty(exports, "ContextMenuTriggerOptions", { enumerable: true, get: function () { return types_1.ContextMenuTriggerOptions; } });
44
+ const sage_1 = require("./embed/sage");
45
+ Object.defineProperty(exports, "SageEmbed", { enumerable: true, get: function () { return sage_1.SageEmbed; } });
44
46
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;GAQG;AACH,qCAA4D;AA2CxD,yFA3CK,cAAQ,OA2CL;AAMR,qFAjDe,UAAI,OAiDf;AAhDR,uCAEsB;AA6BlB,qFA9BA,WAAI,OA8BA;AAEJ,yFAhCM,eAAQ,OAgCN;AADR,uFA/BgB,aAAM,OA+BhB;AAIY,8FAnCM,qBAAc,OAmCP;AAF/B,2FAjCwC,iBAAU,OAiCxC;AACV,0FAlCoD,gBAAS,OAkCpD;AAhCb,iDAAuF;AAqCnF,8FArCK,yBAAa,OAqCL;AACb,+FAtCyC,0BAAc,OAsCzC;AArClB,2CAA+D;AAkC3D,4FAlCK,oBAAW,OAkCL;AAjCf,mDAAyE;AAkCrE,+FAlCK,2BAAc,OAkCL;AAjClB,iCAEgB;AAmCZ,gGApCA,sBAAe,OAoCA;AACf,2FArCiB,iBAAU,OAqCjB;AACV,0FAtC6B,gBAAS,OAsC7B;AART,+FA9B0D,qBAAc,OA8B1D;AA5BlB,mCAmBiB;AAqBb,yFAvCA,gBAAQ,OAuCA;AAER,gGAvCA,uBAAe,OAuCA;AACf,2FAvCA,kBAAU,OAuCA;AACV,0FAvCA,iBAAS,OAuCA;AACT,qGAvCA,4BAAoB,OAuCA;AACpB,uFAvCA,cAAM,OAuCA;AAON,iGA5CA,wBAAgB,OA4CA;AANhB,0GA7BA,iCAAyB,OA6BA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;GAQG;AACH,qCAA4D;AA6CxD,yFA7CK,cAAQ,OA6CL;AAMR,qFAnDe,UAAI,OAmDf;AAlDR,uCAEsB;AA8BlB,qFA/BA,WAAI,OA+BA;AAEJ,yFAjCM,eAAQ,OAiCN;AADR,uFAhCgB,aAAM,OAgChB;AAIY,8FApCM,qBAAc,OAoCP;AAF/B,2FAlCwC,iBAAU,OAkCxC;AACV,0FAnCoD,gBAAS,OAmCpD;AAjCb,iDAAuF;AAsCnF,8FAtCK,yBAAa,OAsCL;AACb,+FAvCyC,0BAAc,OAuCzC;AAtClB,2CAA+D;AAmC3D,4FAnCK,oBAAW,OAmCL;AAlCf,mDAAyE;AAmCrE,+FAnCK,2BAAc,OAmCL;AAlClB,iCAEgB;AAqCZ,gGAtCA,sBAAe,OAsCA;AACf,2FAvCiB,iBAAU,OAuCjB;AACV,0FAxC6B,gBAAS,OAwC7B;AATT,+FA/B0D,qBAAc,OA+B1D;AA7BlB,mCAmBiB;AAuBb,yFAzCA,gBAAQ,OAyCA;AAER,gGAzCA,uBAAe,OAyCA;AACf,2FAzCA,kBAAU,OAyCA;AACV,0FAzCA,iBAAS,OAyCA;AACT,qGAzCA,4BAAoB,OAyCA;AACpB,uFAzCA,cAAM,OAyCA;AAON,iGA9CA,wBAAgB,OA8CA;AANhB,0GA/BA,iCAAyB,OA+BA;AA7B7B,uCAAyC;AAcrC,0FAdK,gBAAS,OAcL"}
@@ -1 +1 @@
1
- {"version":3,"file":"mixpanel-service.d.ts","sourceRoot":"","sources":["../../src/mixpanel-service.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS;;CAErB,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;CAQ1B,CAAC;AAKF;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,KAAK,GAAG,IAAI,CAM1E;AAeD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,GAAG,GAAG,IAAI,CAoBnD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,SAGhC"}
1
+ {"version":3,"file":"mixpanel-service.d.ts","sourceRoot":"","sources":["../../src/mixpanel-service.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS;;CAErB,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;CAQ1B,CAAC;AAKF;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,KAAK,GAAG,IAAI,CAM1E;AAeD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,GAAG,GAAG,IAAI,CAgBnD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,SAGhC"}
@@ -55,18 +55,13 @@ function initMixpanel(sessionInfo) {
55
55
  // userGUID
56
56
  const isPublicCluster = !!sessionInfo.isPublicUser;
57
57
  const token = sessionInfo.mixpanelToken;
58
- try {
59
- if (token) {
60
- mixpanel.init(token);
61
- if (!isPublicCluster) {
62
- mixpanel.identify(sessionInfo.userGUID);
63
- }
64
- isMixpanelInitialized = true;
65
- emptyQueue();
58
+ if (token) {
59
+ mixpanel.init(token);
60
+ if (!isPublicCluster) {
61
+ mixpanel.identify(sessionInfo.userGUID);
66
62
  }
67
- }
68
- catch (e) {
69
- console.error('Error initializing mixpanel', e);
63
+ isMixpanelInitialized = true;
64
+ emptyQueue();
70
65
  }
71
66
  }
72
67
  exports.initMixpanel = initMixpanel;
@@ -1 +1 @@
1
- {"version":3,"file":"mixpanel-service.js","sourceRoot":"","sources":["../../src/mixpanel-service.ts"],"names":[],"mappings":";;;;AAAA,mEAA6C;AAEhC,QAAA,SAAS,GAAG;IACrB,MAAM,EAAE,4BAA4B;CACvC,CAAC;AAEW,QAAA,cAAc,GAAG;IAC1B,uBAAuB,EAAE,yBAAyB;IAClD,sBAAsB,EAAE,wBAAwB;IAChD,0BAA0B,EAAE,4BAA4B;IACxD,wBAAwB,EAAE,0BAA0B;IACpD,kBAAkB,EAAE,oBAAoB;IACxC,aAAa,EAAE,eAAe;IAC9B,kCAAkC,EAAE,oCAAoC;CAC3E,CAAC;AAEF,IAAI,qBAAqB,GAAG,KAAK,CAAC;AAClC,IAAI,UAAU,GAA2C,EAAE,CAAC;AAE5D;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,OAAe,EAAE,UAAU,GAAG,EAAE;IAChE,IAAI,CAAC,qBAAqB,EAAE;QACxB,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;QACzC,OAAO;KACV;IACD,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AACxC,CAAC;AAND,kDAMC;AAED;;GAEG;AACH,SAAS,UAAU;IACf,IAAI,CAAC,qBAAqB,EAAE;QACxB,OAAO;KACV;IACD,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACzB,mBAAmB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IACH,UAAU,GAAG,EAAE,CAAC;AACpB,CAAC;AAED;;;GAGG;AACH,SAAgB,YAAY,CAAC,WAAgB;IACzC,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;QAC5C,OAAO;KACV;IACD,0EAA0E;IAC1E,WAAW;IACX,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC;IACnD,MAAM,KAAK,GAAG,WAAW,CAAC,aAAa,CAAC;IACxC,IAAI;QACA,IAAI,KAAK,EAAE;YACP,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,IAAI,CAAC,eAAe,EAAE;gBAClB,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;aAC3C;YACD,qBAAqB,GAAG,IAAI,CAAC;YAC7B,UAAU,EAAE,CAAC;SAChB;KACJ;IAAC,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAC;KACnD;AACL,CAAC;AApBD,oCAoBC;AAED;;GAEG;AACH,SAAgB,iBAAiB;IAC7B,qBAAqB,GAAG,KAAK,CAAC;IAC9B,UAAU,GAAG,EAAE,CAAC;AACpB,CAAC;AAHD,8CAGC"}
1
+ {"version":3,"file":"mixpanel-service.js","sourceRoot":"","sources":["../../src/mixpanel-service.ts"],"names":[],"mappings":";;;;AAAA,mEAA6C;AAEhC,QAAA,SAAS,GAAG;IACrB,MAAM,EAAE,4BAA4B;CACvC,CAAC;AAEW,QAAA,cAAc,GAAG;IAC1B,uBAAuB,EAAE,yBAAyB;IAClD,sBAAsB,EAAE,wBAAwB;IAChD,0BAA0B,EAAE,4BAA4B;IACxD,wBAAwB,EAAE,0BAA0B;IACpD,kBAAkB,EAAE,oBAAoB;IACxC,aAAa,EAAE,eAAe;IAC9B,kCAAkC,EAAE,oCAAoC;CAC3E,CAAC;AAEF,IAAI,qBAAqB,GAAG,KAAK,CAAC;AAClC,IAAI,UAAU,GAA2C,EAAE,CAAC;AAE5D;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,OAAe,EAAE,UAAU,GAAG,EAAE;IAChE,IAAI,CAAC,qBAAqB,EAAE;QACxB,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;QACzC,OAAO;KACV;IACD,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AACxC,CAAC;AAND,kDAMC;AAED;;GAEG;AACH,SAAS,UAAU;IACf,IAAI,CAAC,qBAAqB,EAAE;QACxB,OAAO;KACV;IACD,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACzB,mBAAmB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IACH,UAAU,GAAG,EAAE,CAAC;AACpB,CAAC;AAED;;;GAGG;AACH,SAAgB,YAAY,CAAC,WAAgB;IACzC,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;QAC5C,OAAO;KACV;IACD,0EAA0E;IAC1E,WAAW;IACX,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC;IACnD,MAAM,KAAK,GAAG,WAAW,CAAC,aAAa,CAAC;IACxC,IAAI,KAAK,EAAE;QACP,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,IAAI,CAAC,eAAe,EAAE;YAClB,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;SAC3C;QACD,qBAAqB,GAAG,IAAI,CAAC;QAC7B,UAAU,EAAE,CAAC;KAChB;AACL,CAAC;AAhBD,oCAgBC;AAED;;GAEG;AACH,SAAgB,iBAAiB;IAC7B,qBAAqB,GAAG,KAAK,CAAC;IAC9B,UAAU,GAAG,EAAE,CAAC;AACpB,CAAC;AAHD,8CAGC"}
@@ -1,8 +1,9 @@
1
1
  import React from 'react';
2
- import { SearchBarEmbed as _SearchBarEmbed, SearchBarViewConfig } from '../embed/search-bar';
3
- import { SearchEmbed as _SearchEmbed, SearchViewConfig } from '../embed/search';
4
- import { AppEmbed as _AppEmbed, AppViewConfig } from '../embed/app';
5
- import { LiveboardEmbed as _LiveboardEmbed, LiveboardViewConfig } from '../embed/liveboard';
2
+ import { SearchBarViewConfig } from '../embed/search-bar';
3
+ import { SageViewConfig } from '../embed/sage';
4
+ import { SearchViewConfig } from '../embed/search';
5
+ import { AppViewConfig } from '../embed/app';
6
+ import { LiveboardViewConfig } from '../embed/liveboard';
6
7
  import { TsEmbed } from '../embed/ts-embed';
7
8
  import { EmbedProps } from './util';
8
9
  interface SearchProps extends EmbedProps, SearchViewConfig {
@@ -73,6 +74,9 @@ interface SearchBarEmbedProps extends EmbedProps, SearchBarViewConfig {
73
74
  * ```
74
75
  */
75
76
  export declare const SearchBarEmbed: React.ForwardRefExoticComponent<SearchBarEmbedProps & React.RefAttributes<TsEmbed>>;
77
+ interface SageEmbedProps extends EmbedProps, SageViewConfig {
78
+ }
79
+ export declare const SageEmbed: React.ForwardRefExoticComponent<SageEmbedProps & React.RefAttributes<TsEmbed>>;
76
80
  /**
77
81
  * Get a reference to the embed component to trigger events on the component.
78
82
  *
@@ -90,6 +94,6 @@ export declare const SearchBarEmbed: React.ForwardRefExoticComponent<SearchBarEm
90
94
  * ```
91
95
  * @returns {React.MutableRefObject<TsEmbed>} ref
92
96
  */
93
- export declare const useEmbedRef: () => React.MutableRefObject<_AppEmbed | _LiveboardEmbed | _SearchEmbed | _SearchBarEmbed>;
97
+ export declare const useEmbedRef: () => React.MutableRefObject<TsEmbed>;
94
98
  export { LiveboardViewConfig, SearchViewConfig, AppViewConfig, Page, RuntimeFilter, RuntimeFilterOp, EmbedEvent, HostEvent, Action, FrameParams, } from '../index';
95
99
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,cAAc,IAAI,eAAe,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAE,WAAW,IAAI,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,QAAQ,IAAI,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,cAAc,IAAI,eAAe,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,OAAO,EAAE,UAAU,EAA4B,MAAM,QAAQ,CAAC;AA2D9D,UAAU,WAAY,SAAQ,UAAU,EAAE,gBAAgB;CAAG;AAE7D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,WAAW,6EAEvB,CAAC;AAEF,UAAU,QAAS,SAAQ,UAAU,EAAE,aAAa;CAAG;AAEvD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,QAAQ,0EAAyE,CAAC;AAE/F,UAAU,cAAe,SAAQ,UAAU,EAAE,mBAAmB;CAAG;AAEnE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,cAAc,gFAIT,CAAC;AAEnB,eAAO,MAAM,aAAa,gFAAiB,CAAC;AAE5C,UAAU,mBAAoB,SAAQ,UAAU,EAAE,mBAAmB;CAAG;AAExE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,cAAc,qFAIT,CAAC;AAEnB;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,WAAW,QAAO,MAAM,gBAAgB,CAAC,SAAS,GAAG,eAAe,GAAG,YAAY,GAAG,eAAe,CAAqF,CAAC;AAExM,OAAO,EACH,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,IAAI,EACJ,aAAa,EACb,eAAe,EACf,UAAU,EACV,SAAS,EACT,MAAM,EACN,WAAW,GACd,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAqC,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAA2B,cAAc,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAA+B,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAyB,aAAa,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAqC,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,OAAO,EAAE,UAAU,EAA4B,MAAM,QAAQ,CAAC;AA2D9D,UAAU,WAAY,SAAQ,UAAU,EAAE,gBAAgB;CAAG;AAE7D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,WAAW,6EAEvB,CAAC;AAEF,UAAU,QAAS,SAAQ,UAAU,EAAE,aAAa;CAAG;AAEvD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,QAAQ,0EAAyE,CAAC;AAE/F,UAAU,cAAe,SAAQ,UAAU,EAAE,mBAAmB;CAAG;AAEnE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,cAAc,gFAIT,CAAC;AAEnB,eAAO,MAAM,aAAa,gFAAiB,CAAC;AAE5C,UAAU,mBAAoB,SAAQ,UAAU,EAAE,mBAAmB;CAAG;AAExE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,cAAc,qFAIT,CAAC;AAEnB,UAAU,cAAe,SAAQ,UAAU,EAAE,cAAc;CAAG;AAE9D,eAAO,MAAM,SAAS,gFAIT,CAAC;AAEd;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,WAAW,QAAO,MAAM,gBAAgB,CAAC,OAAO,CAAgC,CAAC;AAE9F,OAAO,EACH,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,IAAI,EACJ,aAAa,EACb,eAAe,EACf,UAAU,EACV,SAAS,EACT,MAAM,EACN,WAAW,GACd,MAAM,UAAU,CAAC"}
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Action = exports.HostEvent = exports.EmbedEvent = exports.RuntimeFilterOp = exports.Page = exports.useEmbedRef = exports.SearchBarEmbed = exports.PinboardEmbed = exports.LiveboardEmbed = exports.AppEmbed = exports.SearchEmbed = void 0;
3
+ exports.Action = exports.HostEvent = exports.EmbedEvent = exports.RuntimeFilterOp = exports.Page = exports.useEmbedRef = exports.SageEmbed = exports.SearchBarEmbed = exports.PinboardEmbed = exports.LiveboardEmbed = exports.AppEmbed = exports.SearchEmbed = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const react_1 = tslib_1.__importDefault(require("react"));
6
6
  const use_deep_compare_effect_1 = tslib_1.__importDefault(require("use-deep-compare-effect"));
7
7
  const utils_1 = require("../utils");
8
8
  const search_bar_1 = require("../embed/search-bar");
9
+ const sage_1 = require("../embed/sage");
9
10
  const search_1 = require("../embed/search");
10
11
  const app_1 = require("../embed/app");
11
12
  const liveboard_1 = require("../embed/liveboard");
@@ -99,6 +100,7 @@ exports.PinboardEmbed = exports.LiveboardEmbed;
99
100
  * ```
100
101
  */
101
102
  exports.SearchBarEmbed = componentFactory(search_bar_1.SearchBarEmbed);
103
+ exports.SageEmbed = componentFactory(sage_1.SageEmbed);
102
104
  /**
103
105
  * Get a reference to the embed component to trigger events on the component.
104
106
  *