@thoughtspot/visual-embed-sdk 1.41.0 → 1.41.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/README.md +2 -4
  2. package/cjs/package.json +1 -1
  3. package/cjs/src/authToken.d.ts +1 -0
  4. package/cjs/src/authToken.d.ts.map +1 -1
  5. package/cjs/src/authToken.js +13 -3
  6. package/cjs/src/authToken.js.map +1 -1
  7. package/cjs/src/authToken.spec.js +29 -0
  8. package/cjs/src/authToken.spec.js.map +1 -1
  9. package/cjs/src/css-variables.d.ts +2 -1
  10. package/cjs/src/css-variables.d.ts.map +1 -1
  11. package/cjs/src/embed/app.d.ts +16 -0
  12. package/cjs/src/embed/app.d.ts.map +1 -1
  13. package/cjs/src/embed/app.js +4 -1
  14. package/cjs/src/embed/app.js.map +1 -1
  15. package/cjs/src/embed/app.spec.js +10 -0
  16. package/cjs/src/embed/app.spec.js.map +1 -1
  17. package/cjs/src/embed/conversation.d.ts +2 -2
  18. package/cjs/src/embed/liveboard.d.ts +32 -0
  19. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  20. package/cjs/src/embed/liveboard.js +7 -1
  21. package/cjs/src/embed/liveboard.js.map +1 -1
  22. package/cjs/src/embed/liveboard.spec.js +85 -11
  23. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  24. package/cjs/src/embed/sage.spec.js +20 -10
  25. package/cjs/src/embed/sage.spec.js.map +1 -1
  26. package/cjs/src/embed/search.js +1 -1
  27. package/cjs/src/embed/search.js.map +1 -1
  28. package/cjs/src/embed/search.spec.js +10 -10
  29. package/cjs/src/embed/search.spec.js.map +1 -1
  30. package/cjs/src/embed/ts-embed.d.ts +1 -1
  31. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  32. package/cjs/src/embed/ts-embed.js +5 -1
  33. package/cjs/src/embed/ts-embed.js.map +1 -1
  34. package/cjs/src/errors.d.ts +1 -0
  35. package/cjs/src/errors.d.ts.map +1 -1
  36. package/cjs/src/errors.js +1 -0
  37. package/cjs/src/errors.js.map +1 -1
  38. package/cjs/src/react/index.d.ts.map +1 -1
  39. package/cjs/src/react/index.js +2 -1
  40. package/cjs/src/react/index.js.map +1 -1
  41. package/cjs/src/react/index.spec.js +1 -1
  42. package/cjs/src/react/index.spec.js.map +1 -1
  43. package/cjs/src/types.d.ts +29 -5
  44. package/cjs/src/types.d.ts.map +1 -1
  45. package/cjs/src/types.js +25 -1
  46. package/cjs/src/types.js.map +1 -1
  47. package/cjs/src/utils.d.ts +14 -0
  48. package/cjs/src/utils.d.ts.map +1 -1
  49. package/cjs/src/utils.js +22 -1
  50. package/cjs/src/utils.js.map +1 -1
  51. package/cjs/src/utils.spec.js +10 -0
  52. package/cjs/src/utils.spec.js.map +1 -1
  53. package/dist/{index-B_mxAan8.js → index-DQueHwfQ.js} +1 -1
  54. package/dist/src/authToken.d.ts +1 -0
  55. package/dist/src/authToken.d.ts.map +1 -1
  56. package/dist/src/css-variables.d.ts +2 -1
  57. package/dist/src/css-variables.d.ts.map +1 -1
  58. package/dist/src/embed/app.d.ts +16 -0
  59. package/dist/src/embed/app.d.ts.map +1 -1
  60. package/dist/src/embed/conversation.d.ts +2 -2
  61. package/dist/src/embed/liveboard.d.ts +32 -0
  62. package/dist/src/embed/liveboard.d.ts.map +1 -1
  63. package/dist/src/embed/ts-embed.d.ts +1 -1
  64. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  65. package/dist/src/errors.d.ts +1 -0
  66. package/dist/src/errors.d.ts.map +1 -1
  67. package/dist/src/react/index.d.ts.map +1 -1
  68. package/dist/src/types.d.ts +29 -5
  69. package/dist/src/types.d.ts.map +1 -1
  70. package/dist/src/utils.d.ts +14 -0
  71. package/dist/src/utils.d.ts.map +1 -1
  72. package/dist/tsembed-react.es.js +77 -9
  73. package/dist/tsembed-react.js +76 -8
  74. package/dist/tsembed.es.js +75 -8
  75. package/dist/tsembed.js +74 -7
  76. package/dist/visual-embed-sdk-react-full.d.ts +83 -9
  77. package/dist/visual-embed-sdk-react.d.ts +83 -9
  78. package/dist/visual-embed-sdk.d.ts +83 -9
  79. package/lib/package.json +1 -1
  80. package/lib/src/authToken.d.ts +1 -0
  81. package/lib/src/authToken.d.ts.map +1 -1
  82. package/lib/src/authToken.js +11 -2
  83. package/lib/src/authToken.js.map +1 -1
  84. package/lib/src/authToken.spec.js +30 -1
  85. package/lib/src/authToken.spec.js.map +1 -1
  86. package/lib/src/css-variables.d.ts +2 -1
  87. package/lib/src/css-variables.d.ts.map +1 -1
  88. package/lib/src/embed/app.d.ts +16 -0
  89. package/lib/src/embed/app.d.ts.map +1 -1
  90. package/lib/src/embed/app.js +4 -1
  91. package/lib/src/embed/app.js.map +1 -1
  92. package/lib/src/embed/app.spec.js +10 -0
  93. package/lib/src/embed/app.spec.js.map +1 -1
  94. package/lib/src/embed/conversation.d.ts +2 -2
  95. package/lib/src/embed/liveboard.d.ts +32 -0
  96. package/lib/src/embed/liveboard.d.ts.map +1 -1
  97. package/lib/src/embed/liveboard.js +7 -1
  98. package/lib/src/embed/liveboard.js.map +1 -1
  99. package/lib/src/embed/liveboard.spec.js +85 -11
  100. package/lib/src/embed/liveboard.spec.js.map +1 -1
  101. package/lib/src/embed/sage.spec.js +20 -10
  102. package/lib/src/embed/sage.spec.js.map +1 -1
  103. package/lib/src/embed/search.js +1 -1
  104. package/lib/src/embed/search.js.map +1 -1
  105. package/lib/src/embed/search.spec.js +11 -11
  106. package/lib/src/embed/search.spec.js.map +1 -1
  107. package/lib/src/embed/ts-embed.d.ts +1 -1
  108. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  109. package/lib/src/embed/ts-embed.js +5 -1
  110. package/lib/src/embed/ts-embed.js.map +1 -1
  111. package/lib/src/errors.d.ts +1 -0
  112. package/lib/src/errors.d.ts.map +1 -1
  113. package/lib/src/errors.js +1 -0
  114. package/lib/src/errors.js.map +1 -1
  115. package/lib/src/react/index.d.ts.map +1 -1
  116. package/lib/src/react/index.js +2 -1
  117. package/lib/src/react/index.js.map +1 -1
  118. package/lib/src/react/index.spec.js +1 -1
  119. package/lib/src/react/index.spec.js.map +1 -1
  120. package/lib/src/types.d.ts +29 -5
  121. package/lib/src/types.d.ts.map +1 -1
  122. package/lib/src/types.js +25 -1
  123. package/lib/src/types.js.map +1 -1
  124. package/lib/src/utils.d.ts +14 -0
  125. package/lib/src/utils.d.ts.map +1 -1
  126. package/lib/src/utils.js +20 -0
  127. package/lib/src/utils.js.map +1 -1
  128. package/lib/src/utils.spec.js +11 -1
  129. package/lib/src/utils.spec.js.map +1 -1
  130. package/lib/src/visual-embed-sdk.d.ts +83 -9
  131. package/package.json +1 -1
  132. package/src/authToken.spec.ts +48 -1
  133. package/src/authToken.ts +13 -2
  134. package/src/css-variables.ts +2 -1
  135. package/src/embed/app.spec.ts +14 -0
  136. package/src/embed/app.ts +23 -1
  137. package/src/embed/conversation.ts +2 -2
  138. package/src/embed/liveboard.spec.ts +112 -14
  139. package/src/embed/liveboard.ts +65 -23
  140. package/src/embed/sage.spec.ts +24 -10
  141. package/src/embed/search.spec.ts +13 -14
  142. package/src/embed/search.ts +1 -1
  143. package/src/embed/ts-embed.ts +7 -1
  144. package/src/errors.ts +1 -0
  145. package/src/react/index.spec.tsx +1 -1
  146. package/src/react/index.tsx +4 -2
  147. package/src/types.ts +27 -3
  148. package/src/utils.spec.ts +18 -0
  149. package/src/utils.ts +21 -0
@@ -1,4 +1,4 @@
1
- /* @thoughtspot/visual-embed-sdk version 1.41.0 */
1
+ /* @thoughtspot/visual-embed-sdk version 1.41.1 */
2
2
  'use client';
3
3
  function _mergeNamespaces(n, m) {
4
4
  m.forEach(function (e) {
@@ -463,6 +463,26 @@ const calculateVisibleElementData = (element) => {
463
463
  width: Math.max(0, frameRelativeRight - frameRelativeLeft),
464
464
  };
465
465
  return data;
466
+ };
467
+ /**
468
+ * Replaces placeholders in a template string with provided values.
469
+ * Placeholders should be in the format {key}.
470
+ * @param template - The template string with placeholders
471
+ * @param values - An object containing key-value pairs to replace placeholders
472
+ * @returns The template string with placeholders replaced
473
+ * @example
474
+ * formatTemplate('Hello {name}, you are {age} years old', { name: 'John', age: 30 })
475
+ * // Returns: 'Hello John, you are 30 years old'
476
+ *
477
+ * formatTemplate('Expected {type}, but received {actual}', { type: 'string', actual: 'number' })
478
+ * // Returns: 'Expected string, but received number'
479
+ */
480
+ const formatTemplate = (template, values) => {
481
+ // This regex /\{(\w+)\}/g finds all placeholders in the format {word}
482
+ // and captures the word inside the braces for replacement.
483
+ return template.replace(/\{(\w+)\}/g, (match, key) => {
484
+ return values[key] !== undefined ? String(values[key]) : match;
485
+ });
466
486
  };
467
487
 
468
488
  /**
@@ -2896,7 +2916,7 @@ var HostEvent;
2896
2916
  * column: "Date",
2897
2917
  * oper: 'EQ',
2898
2918
  * values: ["2023-07-31"],
2899
- * types: "EXACT_DATE"
2919
+ * type: "EXACT_DATE"
2900
2920
  * }]
2901
2921
  * });
2902
2922
  * ```
@@ -3388,6 +3408,7 @@ var Param;
3388
3408
  Param["IsLazyLoadingForEmbedEnabled"] = "isLazyLoadingForEmbedEnabled";
3389
3409
  Param["RootMarginForLazyLoad"] = "rootMarginForLazyLoad";
3390
3410
  Param["LiveboardXLSXCSVDownload"] = "isLiveboardXLSXCSVDownloadEnabled";
3411
+ Param["isPNGInScheduledEmailsEnabled"] = "isPNGInScheduledEmailsEnabled";
3391
3412
  })(Param || (Param = {}));
3392
3413
  /**
3393
3414
  * ThoughtSpot application pages include actions and menu commands
@@ -4669,6 +4690,29 @@ var Action;
4669
4690
  * @version SDK: 1.41.0 | ThoughtSpot Cloud: 10.13.0.cl
4670
4691
  */
4671
4692
  Action["SpotterTokenQuickEdit"] = "SpotterTokenQuickEdit";
4693
+ /**
4694
+ * The **PNG screenshot in email** option in the schedule email dialog.
4695
+ * Includes a PNG screenshot in the notification email body.
4696
+ * @example
4697
+ * ```js
4698
+ * disabledActions: [Action.PngScreenshotInEmail]
4699
+ * ```
4700
+ * ```
4701
+ * @version SDK: 1.42.0 | ThoughtSpot Cloud: 10.14.0.cl
4702
+ */
4703
+ Action["PngScreenshotInEmail"] = "pngScreenshotInEmail";
4704
+ /**
4705
+ * The **Remove attachment** action in the schedule email dialog.
4706
+ * Removes an attachment from the email configuration.
4707
+ * @example
4708
+ * ```js
4709
+ * disabledActions: [Action.RemoveAttachment]
4710
+ * ```
4711
+ * ```
4712
+ * ```
4713
+ * @version SDK: 1.42.0 | ThoughtSpot Cloud: 10.14.0.cl
4714
+ */
4715
+ Action["RemoveAttachment"] = "removeAttachment";
4672
4716
  })(Action || (Action = {}));
4673
4717
  var PrefetchFeatures;
4674
4718
  (function (PrefetchFeatures) {
@@ -7148,6 +7192,7 @@ const ERROR_MESSAGE = {
7148
7192
  SDK_NOT_INITIALIZED: 'SDK not initialized',
7149
7193
  SESSION_INFO_FAILED: 'Failed to get session information',
7150
7194
  INVALID_TOKEN_ERROR: 'Received invalid token from getAuthToken callback or authToken endpoint.',
7195
+ INVALID_TOKEN_TYPE_ERROR: 'Expected getAuthToken to return a string, but received a {invalidType}.',
7151
7196
  MIXPANEL_TOKEN_NOT_FOUND: 'Mixpanel token not found in session info',
7152
7197
  PRERENDER_ID_MISSING: 'PreRender ID is required for preRender',
7153
7198
  SYNC_STYLE_CALLED_BEFORE_RENDER: 'PreRender should be called before using syncPreRenderStyle',
@@ -7328,6 +7373,15 @@ async function getAuthenticationToken(embedConfig) {
7328
7373
  return authToken;
7329
7374
  }
7330
7375
  const validateAuthToken = async (embedConfig, authToken, suppressAlert) => {
7376
+ // even if token verification is disabled, we will still validate
7377
+ // that the token is a string before proceeding.
7378
+ if (typeof authToken !== 'string') {
7379
+ const errorMessage = formatTemplate(ERROR_MESSAGE.INVALID_TOKEN_TYPE_ERROR, {
7380
+ invalidType: typeof authToken,
7381
+ });
7382
+ logger$3.error(errorMessage);
7383
+ throw new Error(errorMessage);
7384
+ }
7331
7385
  const cachedAuthToken = getCacheAuthToken();
7332
7386
  if (embedConfig.disableTokenVerification) {
7333
7387
  logger$3.info('Token verification is disabled. Assuming token is valid.');
@@ -8056,7 +8110,7 @@ class AnswerService {
8056
8110
  async getTML() {
8057
8111
  const { object } = await this.executeQuery(getAnswerTML, {});
8058
8112
  const edoc = object[0].edoc;
8059
- const YAML = await import('./index-B_mxAan8.js');
8113
+ const YAML = await import('./index-DQueHwfQ.js');
8060
8114
  const parsedDoc = YAML.parse(edoc);
8061
8115
  return {
8062
8116
  answer: {
@@ -17395,7 +17449,7 @@ function processEventData(type, e, thoughtSpotHost, containerEl) {
17395
17449
  return e;
17396
17450
  }
17397
17451
 
17398
- var name="@thoughtspot/visual-embed-sdk";var version$1="1.41.0";var description="ThoughtSpot Embed SDK";var module="lib/src/index.js";var main="dist/tsembed.js";var types="lib/src/index.d.ts";var files=["dist/**","lib/**","src/**","cjs/**"];var exports={".":{"import":"./lib/src/index.js",require:"./cjs/src/index.js",types:"./lib/src/index.d.ts"},"./react":{"import":"./lib/src/react/all-types-export.js",require:"./cjs/src/react/all-types-export.js",types:"./lib/src/react/all-types-export.d.ts"},"./lib/src/react":{"import":"./lib/src/react/all-types-export.js",require:"./cjs/src/react/all-types-export.js",types:"./lib/src/react/all-types-export.d.ts"}};var typesVersions={"*":{react:["./lib/src/react/all-types-export.d.ts"]}};var scripts={lint:"eslint 'src/**'","lint:fix":"eslint 'src/**/*.*' --fix",tsc:"tsc -p . --incremental false; tsc -p . --incremental false --module commonjs --outDir cjs","build-and-publish":"npm run build:gatsby && npm run publish","bundle-dts-file":"dts-bundle --name @thoughtspot/visual-embed-sdk --out visual-embed-sdk.d.ts --main lib/src/index.d.ts","bundle-dts":"dts-bundle --name ../../dist/visual-embed-sdk --main lib/src/index.d.ts --outputAsModuleFolder=true","bundle-dts-react":"dts-bundle --name ../../../dist/visual-embed-sdk-react --main lib/src/react/index.d.ts --outputAsModuleFolder=true","bundle-dts-react-full":"dts-bundle --name ../../../dist/visual-embed-sdk-react-full --main lib/src/react/all-types-export.d.ts --outputAsModuleFolder=true",build:"rollup -c",watch:"rollup -cw",docgen:"typedoc --tsconfig tsconfig.json --theme typedoc-theme --json static/typedoc/typedoc.json --disableOutputCheck","test-sdk":"jest -c jest.config.sdk.js --runInBand",test:"npm run test-sdk",posttest:"cat ./coverage/sdk/lcov.info | npx coveralls-next","is-publish-allowed":"node scripts/is-publish-allowed.js",prepublishOnly:"npm run is-publish-allowed && npm run test && npm run tsc && npm run bundle-dts-file && npm run bundle-dts && npm run bundle-dts-react && npm run bundle-dts-react-full && npm run build","check-size":"npm run build && size-limit","publish-dev":"npm publish --tag dev","publish-prod":"npm publish --tag latest",dev:"vite -c vite.local.config.ts"};var peerDependencies={react:"> 16.8.0","react-dom":"> 16.8.0"};var dependencies={classnames:"^2.3.1",eventemitter3:"^4.0.7",lodash:"^4.17.21","mixpanel-browser":"2.47.0","ts-deepmerge":"^6.0.2",tslib:"^2.5.3","use-deep-compare-effect":"^1.8.1",yaml:"^2.5.1"};var devDependencies={"@mdx-js/mdx":"^1.6.22","@mdx-js/react":"^1.6.22","@react-icons/all-files":"^4.1.0","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","@rollup/plugin-replace":"^5.0.2","@size-limit/preset-big-lib":"^11.2.0","@testing-library/dom":"^7.31.0","@testing-library/jest-dom":"^5.14.1","@testing-library/react":"^11.2.7","@testing-library/user-event":"^13.1.8","@types/jest":"^22.2.3","@types/lodash":"^4.17.0","@types/mixpanel-browser":"^2.35.6","@types/react-test-renderer":"^17.0.1","@typescript-eslint/eslint-plugin":"^8.28.0","@typescript-eslint/parser":"^8.28.0",ajv:"^8.17.1",asciidoctor:"^2.2.1","babel-jest":"^26.6.3","babel-preset-gatsby":"^1.10.0","command-line-args":"^5.1.1","coveralls-next":"^5.0.0",crypto:"^1.0.1","current-git-branch":"^1.1.0","dts-bundle":"^0.7.3",eslint:"^9.23.0","eslint-config-airbnb-base":"^15.0.0","eslint-config-prettier":"^10.1.1","eslint-import-resolver-typescript":"^4.2.5","eslint-plugin-comment-length":"2.2.1","eslint-plugin-import":"^2.31.0","eslint-plugin-jsdoc":"^50.6.9","eslint-plugin-prettier":"^5.2.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^5.2.0","fs-extra":"^10.0.0","gh-pages":"6.3.0",globals:"^16.0.0","highlight.js":"^10.6.0","html-to-text":"^8.0.0","identity-obj-proxy":"^3.0.0","istanbul-merge":"^2.0.0",jest:"^26.6.3","jest-fetch-mock":"^3.0.3",jsdom:"^17.0.0",prettier:"2.1.2",react:"^16.14.0","react-dom":"^16.14.0","react-resizable":"^1.11.0","react-resize-detector":"^6.6.0","react-test-renderer":"^17.0.2","react-use-flexsearch":"^0.1.1",rollup:"4.24.0","rollup-plugin-typescript2":"0.27.3","ts-jest":"^26.5.5","ts-loader":"8.0.4",typedoc:"0.21.6","typedoc-plugin-toc-group":"thoughtspot/typedoc-plugin-toc-group",typescript:"^4.9.4","typescript-eslint":"^8.29.1","url-search-params-polyfill":"^8.1.0",util:"^0.12.4",vite:"^6.3.5"};var author="ThoughtSpot";var email="support@thoughtspot.com";var license="ThoughtSpot Development Tools End User License Agreement";var directories={lib:"lib"};var repository={type:"git",url:"git+https://github.com/thoughtspot/visual-embed-sdk.git"};var publishConfig={registry:"https://registry.npmjs.org"};var keywords=["thoughtspot","everywhere","embedded","embed","sdk","analytics"];var bugs={url:"https://github.com/thoughtspot/visual-embed-sdk/issues"};var homepage="https://github.com/thoughtspot/visual-embed-sdk#readme";var globals={window:{}};var pkgInfo = {name:name,version:version$1,description:description,module:module,main:main,types:types,files:files,exports:exports,typesVersions:typesVersions,"size-limit":[{path:"dist/tsembed.es.js",limit:"32 kB"}],scripts:scripts,peerDependencies:peerDependencies,dependencies:dependencies,devDependencies:devDependencies,author:author,email:email,license:license,directories:directories,repository:repository,publishConfig:publishConfig,keywords:keywords,bugs:bugs,homepage:homepage,globals:globals};
17452
+ var name="@thoughtspot/visual-embed-sdk";var version$1="1.41.1";var description="ThoughtSpot Embed SDK";var module="lib/src/index.js";var main="dist/tsembed.js";var types="lib/src/index.d.ts";var files=["dist/**","lib/**","src/**","cjs/**"];var exports={".":{"import":"./lib/src/index.js",require:"./cjs/src/index.js",types:"./lib/src/index.d.ts"},"./react":{"import":"./lib/src/react/all-types-export.js",require:"./cjs/src/react/all-types-export.js",types:"./lib/src/react/all-types-export.d.ts"},"./lib/src/react":{"import":"./lib/src/react/all-types-export.js",require:"./cjs/src/react/all-types-export.js",types:"./lib/src/react/all-types-export.d.ts"}};var typesVersions={"*":{react:["./lib/src/react/all-types-export.d.ts"]}};var scripts={lint:"eslint 'src/**'","lint:fix":"eslint 'src/**/*.*' --fix",tsc:"tsc -p . --incremental false; tsc -p . --incremental false --module commonjs --outDir cjs","build-and-publish":"npm run build:gatsby && npm run publish","bundle-dts-file":"dts-bundle --name @thoughtspot/visual-embed-sdk --out visual-embed-sdk.d.ts --main lib/src/index.d.ts","bundle-dts":"dts-bundle --name ../../dist/visual-embed-sdk --main lib/src/index.d.ts --outputAsModuleFolder=true","bundle-dts-react":"dts-bundle --name ../../../dist/visual-embed-sdk-react --main lib/src/react/index.d.ts --outputAsModuleFolder=true","bundle-dts-react-full":"dts-bundle --name ../../../dist/visual-embed-sdk-react-full --main lib/src/react/all-types-export.d.ts --outputAsModuleFolder=true",build:"rollup -c",watch:"rollup -cw",docgen:"typedoc --tsconfig tsconfig.json --theme typedoc-theme --json static/typedoc/typedoc.json --disableOutputCheck","test-sdk":"jest -c jest.config.sdk.js --runInBand",test:"npm run test-sdk",posttest:"cat ./coverage/sdk/lcov.info | npx coveralls-next","is-publish-allowed":"node scripts/is-publish-allowed.js",prepublishOnly:"npm run is-publish-allowed && npm run test && npm run tsc && npm run bundle-dts-file && npm run bundle-dts && npm run bundle-dts-react && npm run bundle-dts-react-full && npm run build","check-size":"npm run build && size-limit","publish-dev":"npm publish --tag dev","publish-prod":"npm publish --tag latest",dev:"vite -c vite.local.config.ts"};var peerDependencies={react:"> 16.8.0","react-dom":"> 16.8.0"};var dependencies={classnames:"^2.3.1",eventemitter3:"^4.0.7",lodash:"^4.17.21","mixpanel-browser":"2.47.0","ts-deepmerge":"^6.0.2",tslib:"^2.5.3","use-deep-compare-effect":"^1.8.1",yaml:"^2.5.1"};var devDependencies={"@mdx-js/mdx":"^1.6.22","@mdx-js/react":"^1.6.22","@react-icons/all-files":"^4.1.0","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","@rollup/plugin-replace":"^5.0.2","@size-limit/preset-big-lib":"^11.2.0","@testing-library/dom":"^7.31.0","@testing-library/jest-dom":"^5.14.1","@testing-library/react":"^11.2.7","@testing-library/user-event":"^13.1.8","@types/jest":"^22.2.3","@types/lodash":"^4.17.0","@types/mixpanel-browser":"^2.35.6","@types/react-test-renderer":"^17.0.1","@typescript-eslint/eslint-plugin":"^8.28.0","@typescript-eslint/parser":"^8.28.0",ajv:"^8.17.1",asciidoctor:"^2.2.1","babel-jest":"^26.6.3","babel-preset-gatsby":"^1.10.0","command-line-args":"^5.1.1","coveralls-next":"^5.0.0",crypto:"^1.0.1","current-git-branch":"^1.1.0","dts-bundle":"^0.7.3",eslint:"^9.23.0","eslint-config-airbnb-base":"^15.0.0","eslint-config-prettier":"^10.1.1","eslint-import-resolver-typescript":"^4.2.5","eslint-plugin-comment-length":"2.2.1","eslint-plugin-import":"^2.31.0","eslint-plugin-jsdoc":"^50.6.9","eslint-plugin-prettier":"^5.2.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^5.2.0","fs-extra":"^10.0.0","gh-pages":"6.3.0",globals:"^16.0.0","highlight.js":"^10.6.0","html-to-text":"^8.0.0","identity-obj-proxy":"^3.0.0","istanbul-merge":"^2.0.0",jest:"^26.6.3","jest-fetch-mock":"^3.0.3",jsdom:"^17.0.0",prettier:"2.1.2",react:"^16.14.0","react-dom":"^16.14.0","react-resizable":"^1.11.0","react-resize-detector":"^6.6.0","react-test-renderer":"^17.0.2","react-use-flexsearch":"^0.1.1",rollup:"4.24.0","rollup-plugin-typescript2":"0.27.3","ts-jest":"^26.5.5","ts-loader":"8.0.4",typedoc:"0.21.6","typedoc-plugin-toc-group":"thoughtspot/typedoc-plugin-toc-group",typescript:"^4.9.4","typescript-eslint":"^8.29.1","url-search-params-polyfill":"^8.1.0",util:"^0.12.4",vite:"^6.3.5"};var author="ThoughtSpot";var email="support@thoughtspot.com";var license="ThoughtSpot Development Tools End User License Agreement";var directories={lib:"lib"};var repository={type:"git",url:"git+https://github.com/thoughtspot/visual-embed-sdk.git"};var publishConfig={registry:"https://registry.npmjs.org"};var keywords=["thoughtspot","everywhere","embedded","embed","sdk","analytics"];var bugs={url:"https://github.com/thoughtspot/visual-embed-sdk/issues"};var homepage="https://github.com/thoughtspot/visual-embed-sdk#readme";var globals={window:{}};var pkgInfo = {name:name,version:version$1,description:description,module:module,main:main,types:types,files:files,exports:exports,typesVersions:typesVersions,"size-limit":[{path:"dist/tsembed.es.js",limit:"32 kB"}],scripts:scripts,peerDependencies:peerDependencies,dependencies:dependencies,devDependencies:devDependencies,author:author,email:email,license:license,directories:directories,repository:repository,publishConfig:publishConfig,keywords:keywords,bugs:bugs,homepage:homepage,globals:globals};
17399
17453
 
17400
17454
  /**
17401
17455
  * Reloads the ThoughtSpot iframe.
@@ -18589,13 +18643,17 @@ class TsEmbed {
18589
18643
  * Creates the preRender shell
18590
18644
  * @param showPreRenderByDefault - Show the preRender after render, hidden by default
18591
18645
  */
18592
- async preRender(showPreRenderByDefault = false) {
18646
+ async preRender(showPreRenderByDefault = false, replaceExistingPreRender = false) {
18593
18647
  if (!this.viewConfig.preRenderId) {
18594
18648
  logger$3.error(ERROR_MESSAGE.PRERENDER_ID_MISSING);
18595
18649
  return this;
18596
18650
  }
18597
18651
  this.isPreRendered = true;
18598
18652
  this.showPreRenderByDefault = showPreRenderByDefault;
18653
+ const isAlreadyRendered = this.connectPreRendered();
18654
+ if (isAlreadyRendered && !replaceExistingPreRender) {
18655
+ return this;
18656
+ }
18599
18657
  return this.handleRenderForPrerender();
18600
18658
  }
18601
18659
  /**
@@ -19062,7 +19120,7 @@ class AppEmbed extends V1Embed {
19062
19120
  * embedded Liveboard or visualization.
19063
19121
  */
19064
19122
  getEmbedParams() {
19065
- const { tag, hideObjects, liveboardV2, showPrimaryNavbar, disableProfileAndHelp, hideHamburger, hideObjectSearch, hideNotification, hideApplicationSwitcher, hideOrgSwitcher, enableSearchAssist, fullHeight, dataPanelV2 = false, hideLiveboardHeader = false, showLiveboardTitle = true, showLiveboardDescription = true, hideHomepageLeftNav = false, modularHomeExperience = false, isLiveboardHeaderSticky = true, enableAskSage, collapseSearchBarInitially = false, enable2ColumnLayout, enableCustomColumnGroups = false, isOnBeforeGetVizDataInterceptEnabled = false, dataPanelCustomGroupsAccordionInitialState = DataPanelCustomColumnGroupsAccordionState$1.EXPAND_ALL, collapseSearchBar = true, isLiveboardCompactHeaderEnabled = false, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, hideIrrelevantChipsInLiveboardTabs = false, homePageSearchBarMode, isUnifiedSearchExperienceEnabled = true, enablePendoHelp = true, discoveryExperience, coverAndFilterOptionInPDF = false, liveboardXLSXCSVDownload = false, isLiveboardStylingAndGroupingEnabled, } = this.viewConfig;
19123
+ const { tag, hideObjects, liveboardV2, showPrimaryNavbar, disableProfileAndHelp, hideHamburger, hideObjectSearch, hideNotification, hideApplicationSwitcher, hideOrgSwitcher, enableSearchAssist, fullHeight, dataPanelV2 = true, hideLiveboardHeader = false, showLiveboardTitle = true, showLiveboardDescription = true, hideHomepageLeftNav = false, modularHomeExperience = false, isLiveboardHeaderSticky = true, enableAskSage, collapseSearchBarInitially = false, enable2ColumnLayout, enableCustomColumnGroups = false, isOnBeforeGetVizDataInterceptEnabled = false, dataPanelCustomGroupsAccordionInitialState = DataPanelCustomColumnGroupsAccordionState$1.EXPAND_ALL, collapseSearchBar = true, isLiveboardCompactHeaderEnabled = false, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, hideIrrelevantChipsInLiveboardTabs = false, homePageSearchBarMode, isUnifiedSearchExperienceEnabled = true, enablePendoHelp = true, discoveryExperience, coverAndFilterOptionInPDF = false, liveboardXLSXCSVDownload = false, isLiveboardStylingAndGroupingEnabled, isPNGInScheduledEmailsEnabled = false, } = this.viewConfig;
19066
19124
  let params = {};
19067
19125
  params[Param.PrimaryNavHidden] = !showPrimaryNavbar;
19068
19126
  params[Param.HideProfleAndHelp] = !!disableProfileAndHelp;
@@ -19127,6 +19185,9 @@ class AppEmbed extends V1Embed {
19127
19185
  if (isLiveboardStylingAndGroupingEnabled !== undefined) {
19128
19186
  params[Param.IsLiveboardStylingAndGroupingEnabled] = isLiveboardStylingAndGroupingEnabled;
19129
19187
  }
19188
+ if (isPNGInScheduledEmailsEnabled !== undefined) {
19189
+ params[Param.isPNGInScheduledEmailsEnabled] = isPNGInScheduledEmailsEnabled;
19190
+ }
19130
19191
  params[Param.DataPanelV2Enabled] = dataPanelV2;
19131
19192
  params[Param.HideHomepageLeftNav] = hideHomepageLeftNav;
19132
19193
  params[Param.ModularHomeExperienceEnabled] = modularHomeExperience;
@@ -19476,7 +19537,7 @@ class LiveboardEmbed extends V1Embed {
19476
19537
  getEmbedParams() {
19477
19538
  let params = {};
19478
19539
  params = this.getBaseQueryParams(params);
19479
- const { enableVizTransformations, fullHeight, defaultHeight, visibleVizs, liveboardV2, vizId, hideTabPanel, activeTabId, hideLiveboardHeader, showLiveboardDescription, showLiveboardTitle, isLiveboardHeaderSticky = true, isLiveboardCompactHeaderEnabled = false, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, hideIrrelevantChipsInLiveboardTabs = false, enableAskSage, enable2ColumnLayout, dataPanelV2 = false, enableCustomColumnGroups = false, oAuthPollingInterval, isForceRedirect, dataSourceId, coverAndFilterOptionInPDF = false, liveboardXLSXCSVDownload = false, isLiveboardStylingAndGroupingEnabled, } = this.viewConfig;
19540
+ const { enableVizTransformations, fullHeight, defaultHeight, visibleVizs, liveboardV2, vizId, hideTabPanel, activeTabId, hideLiveboardHeader, showLiveboardDescription, showLiveboardTitle, isLiveboardHeaderSticky = true, isLiveboardCompactHeaderEnabled = false, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, hideIrrelevantChipsInLiveboardTabs = false, enableAskSage, enable2ColumnLayout, dataPanelV2 = true, enableCustomColumnGroups = false, oAuthPollingInterval, isForceRedirect, dataSourceId, coverAndFilterOptionInPDF = false, liveboardXLSXCSVDownload = false, isLiveboardStylingAndGroupingEnabled, isPNGInScheduledEmailsEnabled = false, showSpotterLimitations, } = this.viewConfig;
19480
19541
  const preventLiveboardFilterRemoval = this.viewConfig.preventLiveboardFilterRemoval
19481
19542
  || this.viewConfig.preventPinboardFilterRemoval;
19482
19543
  if (fullHeight === true) {
@@ -19535,6 +19596,12 @@ class LiveboardEmbed extends V1Embed {
19535
19596
  if (isLiveboardStylingAndGroupingEnabled !== undefined) {
19536
19597
  params[Param.IsLiveboardStylingAndGroupingEnabled] = isLiveboardStylingAndGroupingEnabled;
19537
19598
  }
19599
+ if (isPNGInScheduledEmailsEnabled !== undefined) {
19600
+ params[Param.isPNGInScheduledEmailsEnabled] = isPNGInScheduledEmailsEnabled;
19601
+ }
19602
+ if (showSpotterLimitations !== undefined) {
19603
+ params[Param.ShowSpotterLimitations] = showSpotterLimitations;
19604
+ }
19538
19605
  params[Param.LiveboardHeaderSticky] = isLiveboardHeaderSticky;
19539
19606
  params[Param.LiveboardHeaderV2] = isLiveboardCompactHeaderEnabled;
19540
19607
  params[Param.ShowLiveboardVerifiedBadge] = showLiveboardVerifiedBadge;
@@ -19789,7 +19856,7 @@ class SearchEmbed extends TsEmbed {
19789
19856
  }
19790
19857
  getEmbedParams() {
19791
19858
  var _a;
19792
- const { hideResults, enableSearchAssist, forceTable, searchOptions, runtimeFilters, dataSource, dataSources, excludeRuntimeFiltersfromURL, hideSearchBar, dataPanelV2 = false, useLastSelectedSources = false, runtimeParameters, collapseSearchBarInitially = false, enableCustomColumnGroups = false, isOnBeforeGetVizDataInterceptEnabled = false,
19859
+ const { hideResults, enableSearchAssist, forceTable, searchOptions, runtimeFilters, dataSource, dataSources, excludeRuntimeFiltersfromURL, hideSearchBar, dataPanelV2 = true, useLastSelectedSources = false, runtimeParameters, collapseSearchBarInitially = false, enableCustomColumnGroups = false, isOnBeforeGetVizDataInterceptEnabled = false,
19793
19860
  /* eslint-disable-next-line max-len */
19794
19861
  dataPanelCustomGroupsAccordionInitialState = DataPanelCustomColumnGroupsAccordionState.EXPAND_ALL, focusSearchBarOnRender = true, excludeRuntimeParametersfromURL, excludeSearchTokenStringFromURL, collapseSearchBar = true, } = this.viewConfig;
19795
19862
  const queryParams = this.getBaseQueryParams();
package/dist/tsembed.js CHANGED
@@ -1,4 +1,4 @@
1
- /* @thoughtspot/visual-embed-sdk version 1.41.0 */
1
+ /* @thoughtspot/visual-embed-sdk version 1.41.1 */
2
2
  'use client';
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
@@ -469,6 +469,26 @@
469
469
  width: Math.max(0, frameRelativeRight - frameRelativeLeft),
470
470
  };
471
471
  return data;
472
+ };
473
+ /**
474
+ * Replaces placeholders in a template string with provided values.
475
+ * Placeholders should be in the format {key}.
476
+ * @param template - The template string with placeholders
477
+ * @param values - An object containing key-value pairs to replace placeholders
478
+ * @returns The template string with placeholders replaced
479
+ * @example
480
+ * formatTemplate('Hello {name}, you are {age} years old', { name: 'John', age: 30 })
481
+ * // Returns: 'Hello John, you are 30 years old'
482
+ *
483
+ * formatTemplate('Expected {type}, but received {actual}', { type: 'string', actual: 'number' })
484
+ * // Returns: 'Expected string, but received number'
485
+ */
486
+ const formatTemplate = (template, values) => {
487
+ // This regex /\{(\w+)\}/g finds all placeholders in the format {word}
488
+ // and captures the word inside the braces for replacement.
489
+ return template.replace(/\{(\w+)\}/g, (match, key) => {
490
+ return values[key] !== undefined ? String(values[key]) : match;
491
+ });
472
492
  };
473
493
 
474
494
  /**
@@ -2902,7 +2922,7 @@
2902
2922
  * column: "Date",
2903
2923
  * oper: 'EQ',
2904
2924
  * values: ["2023-07-31"],
2905
- * types: "EXACT_DATE"
2925
+ * type: "EXACT_DATE"
2906
2926
  * }]
2907
2927
  * });
2908
2928
  * ```
@@ -3394,6 +3414,7 @@
3394
3414
  Param["IsLazyLoadingForEmbedEnabled"] = "isLazyLoadingForEmbedEnabled";
3395
3415
  Param["RootMarginForLazyLoad"] = "rootMarginForLazyLoad";
3396
3416
  Param["LiveboardXLSXCSVDownload"] = "isLiveboardXLSXCSVDownloadEnabled";
3417
+ Param["isPNGInScheduledEmailsEnabled"] = "isPNGInScheduledEmailsEnabled";
3397
3418
  })(Param || (Param = {}));
3398
3419
  /**
3399
3420
  * ThoughtSpot application pages include actions and menu commands
@@ -4675,6 +4696,29 @@
4675
4696
  * @version SDK: 1.41.0 | ThoughtSpot Cloud: 10.13.0.cl
4676
4697
  */
4677
4698
  Action["SpotterTokenQuickEdit"] = "SpotterTokenQuickEdit";
4699
+ /**
4700
+ * The **PNG screenshot in email** option in the schedule email dialog.
4701
+ * Includes a PNG screenshot in the notification email body.
4702
+ * @example
4703
+ * ```js
4704
+ * disabledActions: [Action.PngScreenshotInEmail]
4705
+ * ```
4706
+ * ```
4707
+ * @version SDK: 1.42.0 | ThoughtSpot Cloud: 10.14.0.cl
4708
+ */
4709
+ Action["PngScreenshotInEmail"] = "pngScreenshotInEmail";
4710
+ /**
4711
+ * The **Remove attachment** action in the schedule email dialog.
4712
+ * Removes an attachment from the email configuration.
4713
+ * @example
4714
+ * ```js
4715
+ * disabledActions: [Action.RemoveAttachment]
4716
+ * ```
4717
+ * ```
4718
+ * ```
4719
+ * @version SDK: 1.42.0 | ThoughtSpot Cloud: 10.14.0.cl
4720
+ */
4721
+ Action["RemoveAttachment"] = "removeAttachment";
4678
4722
  })(exports.Action || (exports.Action = {}));
4679
4723
  exports.PrefetchFeatures = void 0;
4680
4724
  (function (PrefetchFeatures) {
@@ -7154,6 +7198,7 @@
7154
7198
  SDK_NOT_INITIALIZED: 'SDK not initialized',
7155
7199
  SESSION_INFO_FAILED: 'Failed to get session information',
7156
7200
  INVALID_TOKEN_ERROR: 'Received invalid token from getAuthToken callback or authToken endpoint.',
7201
+ INVALID_TOKEN_TYPE_ERROR: 'Expected getAuthToken to return a string, but received a {invalidType}.',
7157
7202
  MIXPANEL_TOKEN_NOT_FOUND: 'Mixpanel token not found in session info',
7158
7203
  PRERENDER_ID_MISSING: 'PreRender ID is required for preRender',
7159
7204
  SYNC_STYLE_CALLED_BEFORE_RENDER: 'PreRender should be called before using syncPreRenderStyle',
@@ -7334,6 +7379,15 @@
7334
7379
  return authToken;
7335
7380
  }
7336
7381
  const validateAuthToken = async (embedConfig, authToken, suppressAlert) => {
7382
+ // even if token verification is disabled, we will still validate
7383
+ // that the token is a string before proceeding.
7384
+ if (typeof authToken !== 'string') {
7385
+ const errorMessage = formatTemplate(ERROR_MESSAGE.INVALID_TOKEN_TYPE_ERROR, {
7386
+ invalidType: typeof authToken,
7387
+ });
7388
+ logger$3.error(errorMessage);
7389
+ throw new Error(errorMessage);
7390
+ }
7337
7391
  const cachedAuthToken = getCacheAuthToken();
7338
7392
  if (embedConfig.disableTokenVerification) {
7339
7393
  logger$3.info('Token verification is disabled. Assuming token is valid.');
@@ -17401,7 +17455,7 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
17401
17455
  return e;
17402
17456
  }
17403
17457
 
17404
- var name="@thoughtspot/visual-embed-sdk";var version$1="1.41.0";var description="ThoughtSpot Embed SDK";var module="lib/src/index.js";var main="dist/tsembed.js";var types="lib/src/index.d.ts";var files=["dist/**","lib/**","src/**","cjs/**"];var exports$1={".":{"import":"./lib/src/index.js",require:"./cjs/src/index.js",types:"./lib/src/index.d.ts"},"./react":{"import":"./lib/src/react/all-types-export.js",require:"./cjs/src/react/all-types-export.js",types:"./lib/src/react/all-types-export.d.ts"},"./lib/src/react":{"import":"./lib/src/react/all-types-export.js",require:"./cjs/src/react/all-types-export.js",types:"./lib/src/react/all-types-export.d.ts"}};var typesVersions={"*":{react:["./lib/src/react/all-types-export.d.ts"]}};var scripts={lint:"eslint 'src/**'","lint:fix":"eslint 'src/**/*.*' --fix",tsc:"tsc -p . --incremental false; tsc -p . --incremental false --module commonjs --outDir cjs","build-and-publish":"npm run build:gatsby && npm run publish","bundle-dts-file":"dts-bundle --name @thoughtspot/visual-embed-sdk --out visual-embed-sdk.d.ts --main lib/src/index.d.ts","bundle-dts":"dts-bundle --name ../../dist/visual-embed-sdk --main lib/src/index.d.ts --outputAsModuleFolder=true","bundle-dts-react":"dts-bundle --name ../../../dist/visual-embed-sdk-react --main lib/src/react/index.d.ts --outputAsModuleFolder=true","bundle-dts-react-full":"dts-bundle --name ../../../dist/visual-embed-sdk-react-full --main lib/src/react/all-types-export.d.ts --outputAsModuleFolder=true",build:"rollup -c",watch:"rollup -cw",docgen:"typedoc --tsconfig tsconfig.json --theme typedoc-theme --json static/typedoc/typedoc.json --disableOutputCheck","test-sdk":"jest -c jest.config.sdk.js --runInBand",test:"npm run test-sdk",posttest:"cat ./coverage/sdk/lcov.info | npx coveralls-next","is-publish-allowed":"node scripts/is-publish-allowed.js",prepublishOnly:"npm run is-publish-allowed && npm run test && npm run tsc && npm run bundle-dts-file && npm run bundle-dts && npm run bundle-dts-react && npm run bundle-dts-react-full && npm run build","check-size":"npm run build && size-limit","publish-dev":"npm publish --tag dev","publish-prod":"npm publish --tag latest",dev:"vite -c vite.local.config.ts"};var peerDependencies={react:"> 16.8.0","react-dom":"> 16.8.0"};var dependencies={classnames:"^2.3.1",eventemitter3:"^4.0.7",lodash:"^4.17.21","mixpanel-browser":"2.47.0","ts-deepmerge":"^6.0.2",tslib:"^2.5.3","use-deep-compare-effect":"^1.8.1",yaml:"^2.5.1"};var devDependencies={"@mdx-js/mdx":"^1.6.22","@mdx-js/react":"^1.6.22","@react-icons/all-files":"^4.1.0","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","@rollup/plugin-replace":"^5.0.2","@size-limit/preset-big-lib":"^11.2.0","@testing-library/dom":"^7.31.0","@testing-library/jest-dom":"^5.14.1","@testing-library/react":"^11.2.7","@testing-library/user-event":"^13.1.8","@types/jest":"^22.2.3","@types/lodash":"^4.17.0","@types/mixpanel-browser":"^2.35.6","@types/react-test-renderer":"^17.0.1","@typescript-eslint/eslint-plugin":"^8.28.0","@typescript-eslint/parser":"^8.28.0",ajv:"^8.17.1",asciidoctor:"^2.2.1","babel-jest":"^26.6.3","babel-preset-gatsby":"^1.10.0","command-line-args":"^5.1.1","coveralls-next":"^5.0.0",crypto:"^1.0.1","current-git-branch":"^1.1.0","dts-bundle":"^0.7.3",eslint:"^9.23.0","eslint-config-airbnb-base":"^15.0.0","eslint-config-prettier":"^10.1.1","eslint-import-resolver-typescript":"^4.2.5","eslint-plugin-comment-length":"2.2.1","eslint-plugin-import":"^2.31.0","eslint-plugin-jsdoc":"^50.6.9","eslint-plugin-prettier":"^5.2.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^5.2.0","fs-extra":"^10.0.0","gh-pages":"6.3.0",globals:"^16.0.0","highlight.js":"^10.6.0","html-to-text":"^8.0.0","identity-obj-proxy":"^3.0.0","istanbul-merge":"^2.0.0",jest:"^26.6.3","jest-fetch-mock":"^3.0.3",jsdom:"^17.0.0",prettier:"2.1.2",react:"^16.14.0","react-dom":"^16.14.0","react-resizable":"^1.11.0","react-resize-detector":"^6.6.0","react-test-renderer":"^17.0.2","react-use-flexsearch":"^0.1.1",rollup:"4.24.0","rollup-plugin-typescript2":"0.27.3","ts-jest":"^26.5.5","ts-loader":"8.0.4",typedoc:"0.21.6","typedoc-plugin-toc-group":"thoughtspot/typedoc-plugin-toc-group",typescript:"^4.9.4","typescript-eslint":"^8.29.1","url-search-params-polyfill":"^8.1.0",util:"^0.12.4",vite:"^6.3.5"};var author="ThoughtSpot";var email="support@thoughtspot.com";var license="ThoughtSpot Development Tools End User License Agreement";var directories={lib:"lib"};var repository={type:"git",url:"git+https://github.com/thoughtspot/visual-embed-sdk.git"};var publishConfig={registry:"https://registry.npmjs.org"};var keywords=["thoughtspot","everywhere","embedded","embed","sdk","analytics"];var bugs={url:"https://github.com/thoughtspot/visual-embed-sdk/issues"};var homepage="https://github.com/thoughtspot/visual-embed-sdk#readme";var globals={window:{}};var pkgInfo = {name:name,version:version$1,description:description,module:module,main:main,types:types,files:files,exports:exports$1,typesVersions:typesVersions,"size-limit":[{path:"dist/tsembed.es.js",limit:"32 kB"}],scripts:scripts,peerDependencies:peerDependencies,dependencies:dependencies,devDependencies:devDependencies,author:author,email:email,license:license,directories:directories,repository:repository,publishConfig:publishConfig,keywords:keywords,bugs:bugs,homepage:homepage,globals:globals};
17458
+ var name="@thoughtspot/visual-embed-sdk";var version$1="1.41.1";var description="ThoughtSpot Embed SDK";var module="lib/src/index.js";var main="dist/tsembed.js";var types="lib/src/index.d.ts";var files=["dist/**","lib/**","src/**","cjs/**"];var exports$1={".":{"import":"./lib/src/index.js",require:"./cjs/src/index.js",types:"./lib/src/index.d.ts"},"./react":{"import":"./lib/src/react/all-types-export.js",require:"./cjs/src/react/all-types-export.js",types:"./lib/src/react/all-types-export.d.ts"},"./lib/src/react":{"import":"./lib/src/react/all-types-export.js",require:"./cjs/src/react/all-types-export.js",types:"./lib/src/react/all-types-export.d.ts"}};var typesVersions={"*":{react:["./lib/src/react/all-types-export.d.ts"]}};var scripts={lint:"eslint 'src/**'","lint:fix":"eslint 'src/**/*.*' --fix",tsc:"tsc -p . --incremental false; tsc -p . --incremental false --module commonjs --outDir cjs","build-and-publish":"npm run build:gatsby && npm run publish","bundle-dts-file":"dts-bundle --name @thoughtspot/visual-embed-sdk --out visual-embed-sdk.d.ts --main lib/src/index.d.ts","bundle-dts":"dts-bundle --name ../../dist/visual-embed-sdk --main lib/src/index.d.ts --outputAsModuleFolder=true","bundle-dts-react":"dts-bundle --name ../../../dist/visual-embed-sdk-react --main lib/src/react/index.d.ts --outputAsModuleFolder=true","bundle-dts-react-full":"dts-bundle --name ../../../dist/visual-embed-sdk-react-full --main lib/src/react/all-types-export.d.ts --outputAsModuleFolder=true",build:"rollup -c",watch:"rollup -cw",docgen:"typedoc --tsconfig tsconfig.json --theme typedoc-theme --json static/typedoc/typedoc.json --disableOutputCheck","test-sdk":"jest -c jest.config.sdk.js --runInBand",test:"npm run test-sdk",posttest:"cat ./coverage/sdk/lcov.info | npx coveralls-next","is-publish-allowed":"node scripts/is-publish-allowed.js",prepublishOnly:"npm run is-publish-allowed && npm run test && npm run tsc && npm run bundle-dts-file && npm run bundle-dts && npm run bundle-dts-react && npm run bundle-dts-react-full && npm run build","check-size":"npm run build && size-limit","publish-dev":"npm publish --tag dev","publish-prod":"npm publish --tag latest",dev:"vite -c vite.local.config.ts"};var peerDependencies={react:"> 16.8.0","react-dom":"> 16.8.0"};var dependencies={classnames:"^2.3.1",eventemitter3:"^4.0.7",lodash:"^4.17.21","mixpanel-browser":"2.47.0","ts-deepmerge":"^6.0.2",tslib:"^2.5.3","use-deep-compare-effect":"^1.8.1",yaml:"^2.5.1"};var devDependencies={"@mdx-js/mdx":"^1.6.22","@mdx-js/react":"^1.6.22","@react-icons/all-files":"^4.1.0","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","@rollup/plugin-replace":"^5.0.2","@size-limit/preset-big-lib":"^11.2.0","@testing-library/dom":"^7.31.0","@testing-library/jest-dom":"^5.14.1","@testing-library/react":"^11.2.7","@testing-library/user-event":"^13.1.8","@types/jest":"^22.2.3","@types/lodash":"^4.17.0","@types/mixpanel-browser":"^2.35.6","@types/react-test-renderer":"^17.0.1","@typescript-eslint/eslint-plugin":"^8.28.0","@typescript-eslint/parser":"^8.28.0",ajv:"^8.17.1",asciidoctor:"^2.2.1","babel-jest":"^26.6.3","babel-preset-gatsby":"^1.10.0","command-line-args":"^5.1.1","coveralls-next":"^5.0.0",crypto:"^1.0.1","current-git-branch":"^1.1.0","dts-bundle":"^0.7.3",eslint:"^9.23.0","eslint-config-airbnb-base":"^15.0.0","eslint-config-prettier":"^10.1.1","eslint-import-resolver-typescript":"^4.2.5","eslint-plugin-comment-length":"2.2.1","eslint-plugin-import":"^2.31.0","eslint-plugin-jsdoc":"^50.6.9","eslint-plugin-prettier":"^5.2.5","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^5.2.0","fs-extra":"^10.0.0","gh-pages":"6.3.0",globals:"^16.0.0","highlight.js":"^10.6.0","html-to-text":"^8.0.0","identity-obj-proxy":"^3.0.0","istanbul-merge":"^2.0.0",jest:"^26.6.3","jest-fetch-mock":"^3.0.3",jsdom:"^17.0.0",prettier:"2.1.2",react:"^16.14.0","react-dom":"^16.14.0","react-resizable":"^1.11.0","react-resize-detector":"^6.6.0","react-test-renderer":"^17.0.2","react-use-flexsearch":"^0.1.1",rollup:"4.24.0","rollup-plugin-typescript2":"0.27.3","ts-jest":"^26.5.5","ts-loader":"8.0.4",typedoc:"0.21.6","typedoc-plugin-toc-group":"thoughtspot/typedoc-plugin-toc-group",typescript:"^4.9.4","typescript-eslint":"^8.29.1","url-search-params-polyfill":"^8.1.0",util:"^0.12.4",vite:"^6.3.5"};var author="ThoughtSpot";var email="support@thoughtspot.com";var license="ThoughtSpot Development Tools End User License Agreement";var directories={lib:"lib"};var repository={type:"git",url:"git+https://github.com/thoughtspot/visual-embed-sdk.git"};var publishConfig={registry:"https://registry.npmjs.org"};var keywords=["thoughtspot","everywhere","embedded","embed","sdk","analytics"];var bugs={url:"https://github.com/thoughtspot/visual-embed-sdk/issues"};var homepage="https://github.com/thoughtspot/visual-embed-sdk#readme";var globals={window:{}};var pkgInfo = {name:name,version:version$1,description:description,module:module,main:main,types:types,files:files,exports:exports$1,typesVersions:typesVersions,"size-limit":[{path:"dist/tsembed.es.js",limit:"32 kB"}],scripts:scripts,peerDependencies:peerDependencies,dependencies:dependencies,devDependencies:devDependencies,author:author,email:email,license:license,directories:directories,repository:repository,publishConfig:publishConfig,keywords:keywords,bugs:bugs,homepage:homepage,globals:globals};
17405
17459
 
17406
17460
  /**
17407
17461
  * Reloads the ThoughtSpot iframe.
@@ -18595,13 +18649,17 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
18595
18649
  * Creates the preRender shell
18596
18650
  * @param showPreRenderByDefault - Show the preRender after render, hidden by default
18597
18651
  */
18598
- async preRender(showPreRenderByDefault = false) {
18652
+ async preRender(showPreRenderByDefault = false, replaceExistingPreRender = false) {
18599
18653
  if (!this.viewConfig.preRenderId) {
18600
18654
  logger$3.error(ERROR_MESSAGE.PRERENDER_ID_MISSING);
18601
18655
  return this;
18602
18656
  }
18603
18657
  this.isPreRendered = true;
18604
18658
  this.showPreRenderByDefault = showPreRenderByDefault;
18659
+ const isAlreadyRendered = this.connectPreRendered();
18660
+ if (isAlreadyRendered && !replaceExistingPreRender) {
18661
+ return this;
18662
+ }
18605
18663
  return this.handleRenderForPrerender();
18606
18664
  }
18607
18665
  /**
@@ -19068,7 +19126,7 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
19068
19126
  * embedded Liveboard or visualization.
19069
19127
  */
19070
19128
  getEmbedParams() {
19071
- const { tag, hideObjects, liveboardV2, showPrimaryNavbar, disableProfileAndHelp, hideHamburger, hideObjectSearch, hideNotification, hideApplicationSwitcher, hideOrgSwitcher, enableSearchAssist, fullHeight, dataPanelV2 = false, hideLiveboardHeader = false, showLiveboardTitle = true, showLiveboardDescription = true, hideHomepageLeftNav = false, modularHomeExperience = false, isLiveboardHeaderSticky = true, enableAskSage, collapseSearchBarInitially = false, enable2ColumnLayout, enableCustomColumnGroups = false, isOnBeforeGetVizDataInterceptEnabled = false, dataPanelCustomGroupsAccordionInitialState = exports.DataPanelCustomColumnGroupsAccordionState.EXPAND_ALL, collapseSearchBar = true, isLiveboardCompactHeaderEnabled = false, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, hideIrrelevantChipsInLiveboardTabs = false, homePageSearchBarMode, isUnifiedSearchExperienceEnabled = true, enablePendoHelp = true, discoveryExperience, coverAndFilterOptionInPDF = false, liveboardXLSXCSVDownload = false, isLiveboardStylingAndGroupingEnabled, } = this.viewConfig;
19129
+ const { tag, hideObjects, liveboardV2, showPrimaryNavbar, disableProfileAndHelp, hideHamburger, hideObjectSearch, hideNotification, hideApplicationSwitcher, hideOrgSwitcher, enableSearchAssist, fullHeight, dataPanelV2 = true, hideLiveboardHeader = false, showLiveboardTitle = true, showLiveboardDescription = true, hideHomepageLeftNav = false, modularHomeExperience = false, isLiveboardHeaderSticky = true, enableAskSage, collapseSearchBarInitially = false, enable2ColumnLayout, enableCustomColumnGroups = false, isOnBeforeGetVizDataInterceptEnabled = false, dataPanelCustomGroupsAccordionInitialState = exports.DataPanelCustomColumnGroupsAccordionState.EXPAND_ALL, collapseSearchBar = true, isLiveboardCompactHeaderEnabled = false, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, hideIrrelevantChipsInLiveboardTabs = false, homePageSearchBarMode, isUnifiedSearchExperienceEnabled = true, enablePendoHelp = true, discoveryExperience, coverAndFilterOptionInPDF = false, liveboardXLSXCSVDownload = false, isLiveboardStylingAndGroupingEnabled, isPNGInScheduledEmailsEnabled = false, } = this.viewConfig;
19072
19130
  let params = {};
19073
19131
  params[Param.PrimaryNavHidden] = !showPrimaryNavbar;
19074
19132
  params[Param.HideProfleAndHelp] = !!disableProfileAndHelp;
@@ -19133,6 +19191,9 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
19133
19191
  if (isLiveboardStylingAndGroupingEnabled !== undefined) {
19134
19192
  params[Param.IsLiveboardStylingAndGroupingEnabled] = isLiveboardStylingAndGroupingEnabled;
19135
19193
  }
19194
+ if (isPNGInScheduledEmailsEnabled !== undefined) {
19195
+ params[Param.isPNGInScheduledEmailsEnabled] = isPNGInScheduledEmailsEnabled;
19196
+ }
19136
19197
  params[Param.DataPanelV2Enabled] = dataPanelV2;
19137
19198
  params[Param.HideHomepageLeftNav] = hideHomepageLeftNav;
19138
19199
  params[Param.ModularHomeExperienceEnabled] = modularHomeExperience;
@@ -19482,7 +19543,7 @@ query GetEurekaVizSnapshots(
19482
19543
  getEmbedParams() {
19483
19544
  let params = {};
19484
19545
  params = this.getBaseQueryParams(params);
19485
- const { enableVizTransformations, fullHeight, defaultHeight, visibleVizs, liveboardV2, vizId, hideTabPanel, activeTabId, hideLiveboardHeader, showLiveboardDescription, showLiveboardTitle, isLiveboardHeaderSticky = true, isLiveboardCompactHeaderEnabled = false, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, hideIrrelevantChipsInLiveboardTabs = false, enableAskSage, enable2ColumnLayout, dataPanelV2 = false, enableCustomColumnGroups = false, oAuthPollingInterval, isForceRedirect, dataSourceId, coverAndFilterOptionInPDF = false, liveboardXLSXCSVDownload = false, isLiveboardStylingAndGroupingEnabled, } = this.viewConfig;
19546
+ const { enableVizTransformations, fullHeight, defaultHeight, visibleVizs, liveboardV2, vizId, hideTabPanel, activeTabId, hideLiveboardHeader, showLiveboardDescription, showLiveboardTitle, isLiveboardHeaderSticky = true, isLiveboardCompactHeaderEnabled = false, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, hideIrrelevantChipsInLiveboardTabs = false, enableAskSage, enable2ColumnLayout, dataPanelV2 = true, enableCustomColumnGroups = false, oAuthPollingInterval, isForceRedirect, dataSourceId, coverAndFilterOptionInPDF = false, liveboardXLSXCSVDownload = false, isLiveboardStylingAndGroupingEnabled, isPNGInScheduledEmailsEnabled = false, showSpotterLimitations, } = this.viewConfig;
19486
19547
  const preventLiveboardFilterRemoval = this.viewConfig.preventLiveboardFilterRemoval
19487
19548
  || this.viewConfig.preventPinboardFilterRemoval;
19488
19549
  if (fullHeight === true) {
@@ -19541,6 +19602,12 @@ query GetEurekaVizSnapshots(
19541
19602
  if (isLiveboardStylingAndGroupingEnabled !== undefined) {
19542
19603
  params[Param.IsLiveboardStylingAndGroupingEnabled] = isLiveboardStylingAndGroupingEnabled;
19543
19604
  }
19605
+ if (isPNGInScheduledEmailsEnabled !== undefined) {
19606
+ params[Param.isPNGInScheduledEmailsEnabled] = isPNGInScheduledEmailsEnabled;
19607
+ }
19608
+ if (showSpotterLimitations !== undefined) {
19609
+ params[Param.ShowSpotterLimitations] = showSpotterLimitations;
19610
+ }
19544
19611
  params[Param.LiveboardHeaderSticky] = isLiveboardHeaderSticky;
19545
19612
  params[Param.LiveboardHeaderV2] = isLiveboardCompactHeaderEnabled;
19546
19613
  params[Param.ShowLiveboardVerifiedBadge] = showLiveboardVerifiedBadge;
@@ -19795,7 +19862,7 @@ query GetEurekaVizSnapshots(
19795
19862
  }
19796
19863
  getEmbedParams() {
19797
19864
  var _a;
19798
- const { hideResults, enableSearchAssist, forceTable, searchOptions, runtimeFilters, dataSource, dataSources, excludeRuntimeFiltersfromURL, hideSearchBar, dataPanelV2 = false, useLastSelectedSources = false, runtimeParameters, collapseSearchBarInitially = false, enableCustomColumnGroups = false, isOnBeforeGetVizDataInterceptEnabled = false,
19865
+ const { hideResults, enableSearchAssist, forceTable, searchOptions, runtimeFilters, dataSource, dataSources, excludeRuntimeFiltersfromURL, hideSearchBar, dataPanelV2 = true, useLastSelectedSources = false, runtimeParameters, collapseSearchBarInitially = false, enableCustomColumnGroups = false, isOnBeforeGetVizDataInterceptEnabled = false,
19799
19866
  /* eslint-disable-next-line max-len */
19800
19867
  dataPanelCustomGroupsAccordionInitialState = DataPanelCustomColumnGroupsAccordionState.EXPAND_ALL, focusSearchBarOnRender = true, excludeRuntimeParametersfromURL, excludeSearchTokenStringFromURL, collapseSearchBar = true, } = this.viewConfig;
19801
19868
  const queryParams = this.getBaseQueryParams();
@@ -1681,6 +1681,22 @@ export interface AppViewConfig extends AllEmbedViewConfig {
1681
1681
  * ```
1682
1682
  */
1683
1683
  isLiveboardStylingAndGroupingEnabled?: boolean;
1684
+ /**
1685
+ * This flag is used to enable/disable the png embedding of liveboard in scheduled mails
1686
+ *
1687
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`
1688
+ * @type {boolean}
1689
+ * @version SDK: 1.42.0 | ThoughtSpot: 10.14.0.cl
1690
+ * @example
1691
+ * ```js
1692
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
1693
+ * const embed = new <EmbedComponent>('#tsEmbed', {
1694
+ * ... // other embed view config
1695
+ * isPNGInScheduledEmailsEnabled: true,
1696
+ * })
1697
+ * ```
1698
+ */
1699
+ isPNGInScheduledEmailsEnabled?: boolean;
1684
1700
  /**
1685
1701
  * This flag is used to enable the full height lazy load data.
1686
1702
  *
@@ -2072,6 +2088,22 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
2072
2088
  * ```
2073
2089
  */
2074
2090
  isLiveboardStylingAndGroupingEnabled?: boolean;
2091
+ /**
2092
+ * This flag is used to enable/disable the png embedding of liveboard in scheduled mails
2093
+ *
2094
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`
2095
+ * @type {boolean}
2096
+ * @version SDK: 1.42.0 | ThoughtSpot: 10.14.0.cl
2097
+ * @example
2098
+ * ```js
2099
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
2100
+ * const embed = new <EmbedComponent>('#tsEmbed', {
2101
+ * ... // other embed view config
2102
+ * isPNGInScheduledEmailsEnabled: true,
2103
+ * })
2104
+ * ```
2105
+ */
2106
+ isPNGInScheduledEmailsEnabled?: boolean;
2075
2107
  /**
2076
2108
  * This flag is used to enable the full height lazy load data.
2077
2109
  *
@@ -2112,6 +2144,22 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
2112
2144
  * @version SDK: 1.40.0 | ThoughtSpot:10.12.0.cl
2113
2145
  */
2114
2146
  lazyLoadingMargin?: string;
2147
+ /**
2148
+ * showSpotterLimitations : show limitation text
2149
+ * of the spotter underneath the chat input.
2150
+ * default is false.
2151
+ *
2152
+ * @example
2153
+ * ```js
2154
+ * const embed = new LiveboardEmbed('#embed-container', {
2155
+ * // ...other options
2156
+ * showSpotterLimitations: true,
2157
+ * })
2158
+ * ```
2159
+ * @type {boolean}
2160
+ * @version SDK: 1.41.1 | ThoughtSpot: 10.5.0.cl
2161
+ */
2162
+ showSpotterLimitations?: boolean;
2115
2163
  }
2116
2164
  /**
2117
2165
  * Embed a ThoughtSpot Liveboard or visualization. When rendered it already
@@ -3532,8 +3580,8 @@ export interface SearchLiveboardCommonViewConfig {
3532
3580
  * Flag to control Data panel experience
3533
3581
  *
3534
3582
  * Supported embed types: `SageEmbed`, `AppEmbed`, `SearchBarEmbed`, `LiveboardEmbed`, `SearchEmbed`
3535
- * @default false
3536
- * @version SDK: 1.34.0 | ThoughtSpot Cloud: 10.3.0.cl
3583
+ * @default true
3584
+ * @version SDK: 1.43.0 | ThoughtSpot Cloud: 10.14.0.cl
3537
3585
  * @example
3538
3586
  * ```js
3539
3587
  * // Replace <EmbedComponent> with embed component name. For example, SageEmbed, AppEmbed, or SearchBarEmbed
@@ -6049,7 +6097,7 @@ export declare enum HostEvent {
6049
6097
  * column: "Date",
6050
6098
  * oper: 'EQ',
6051
6099
  * values: ["2023-07-31"],
6052
- * types: "EXACT_DATE"
6100
+ * type: "EXACT_DATE"
6053
6101
  * }]
6054
6102
  * });
6055
6103
  * ```
@@ -6532,7 +6580,8 @@ export declare enum Param {
6532
6580
  IsLiveboardStylingAndGroupingEnabled = "isLiveboardStylingAndGroupingEnabled",
6533
6581
  IsLazyLoadingForEmbedEnabled = "isLazyLoadingForEmbedEnabled",
6534
6582
  RootMarginForLazyLoad = "rootMarginForLazyLoad",
6535
- LiveboardXLSXCSVDownload = "isLiveboardXLSXCSVDownloadEnabled"
6583
+ LiveboardXLSXCSVDownload = "isLiveboardXLSXCSVDownloadEnabled",
6584
+ isPNGInScheduledEmailsEnabled = "isPNGInScheduledEmailsEnabled"
6536
6585
  }
6537
6586
  /**
6538
6587
  * ThoughtSpot application pages include actions and menu commands
@@ -7812,7 +7861,30 @@ export declare enum Action {
7812
7861
  * ```
7813
7862
  * @version SDK: 1.41.0 | ThoughtSpot Cloud: 10.13.0.cl
7814
7863
  */
7815
- SpotterTokenQuickEdit = "SpotterTokenQuickEdit"
7864
+ SpotterTokenQuickEdit = "SpotterTokenQuickEdit",
7865
+ /**
7866
+ * The **PNG screenshot in email** option in the schedule email dialog.
7867
+ * Includes a PNG screenshot in the notification email body.
7868
+ * @example
7869
+ * ```js
7870
+ * disabledActions: [Action.PngScreenshotInEmail]
7871
+ * ```
7872
+ * ```
7873
+ * @version SDK: 1.42.0 | ThoughtSpot Cloud: 10.14.0.cl
7874
+ */
7875
+ PngScreenshotInEmail = "pngScreenshotInEmail",
7876
+ /**
7877
+ * The **Remove attachment** action in the schedule email dialog.
7878
+ * Removes an attachment from the email configuration.
7879
+ * @example
7880
+ * ```js
7881
+ * disabledActions: [Action.RemoveAttachment]
7882
+ * ```
7883
+ * ```
7884
+ * ```
7885
+ * @version SDK: 1.42.0 | ThoughtSpot Cloud: 10.14.0.cl
7886
+ */
7887
+ RemoveAttachment = "removeAttachment"
7816
7888
  }
7817
7889
  export interface AnswerServiceType {
7818
7890
  getAnswer?: (offset: number, batchSize: number) => any;
@@ -8083,8 +8155,8 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAct
8083
8155
  * Flag to control Data panel experience
8084
8156
  *
8085
8157
  * Supported embed types: `SageEmbed`, `AppEmbed`, `SearchBarEmbed`, `LiveboardEmbed`, `SearchEmbed`
8086
- * @default false
8087
- * @version SDK: 1.36.0 | ThoughtSpot Cloud: 10.4.0.cl
8158
+ * @default true
8159
+ * @version SDK: 1.43.0 | ThoughtSpot Cloud: 10.14.0.cl
8088
8160
  * @example
8089
8161
  * ```js
8090
8162
  * // Replace <EmbedComponent> with embed component name. For example, SageEmbed, AppEmbed, or SearchBarEmbed
@@ -8508,7 +8580,8 @@ export interface CustomCssVariables {
8508
8580
  * Font color of the text on toggle buttons such as
8509
8581
  * **All**, **Answers**, and **Liveboards** on the Home page (Classic experience),
8510
8582
  * the text color of the chart and table tiles on Home page (New modular Homepage
8511
- * experience), and title text on the AI-generated charts and tables.
8583
+ * experience), title text on the AI-generated charts and tables, and object titles on
8584
+ * list pages such as *Liveboards* and *Answers*.
8512
8585
  * The default color code is #2770EF.
8513
8586
  *
8514
8587
  */
@@ -9627,6 +9700,7 @@ export type TriggerResponse<PayloadT, HostEventT extends HostEvent> = PayloadT e
9627
9700
  * @param embedConfig
9628
9701
  */
9629
9702
  export declare function getAuthenticationToken(embedConfig: EmbedConfig): Promise<string>;
9703
+ export declare const validateAuthToken: (embedConfig: EmbedConfig, authToken: string, suppressAlert?: boolean) => Promise<boolean>;
9630
9704
  /**
9631
9705
  * Resets the auth token and a new token will be fetched on the next request.
9632
9706
  * @example
@@ -9859,7 +9933,7 @@ export declare class TsEmbed {
9859
9933
  * Creates the preRender shell
9860
9934
  * @param showPreRenderByDefault - Show the preRender after render, hidden by default
9861
9935
  */
9862
- preRender(showPreRenderByDefault?: boolean): Promise<TsEmbed>;
9936
+ preRender(showPreRenderByDefault?: boolean, replaceExistingPreRender?: boolean): Promise<TsEmbed>;
9863
9937
  /**
9864
9938
  * Get the Post Url Params for THOUGHTSPOT from the current
9865
9939
  * host app URL.