@thoughtspot/visual-embed-sdk 1.45.3 → 1.46.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 (50) hide show
  1. package/cjs/package.json +1 -1
  2. package/cjs/src/auth.d.ts +35 -2
  3. package/cjs/src/auth.d.ts.map +1 -1
  4. package/cjs/src/auth.js +35 -2
  5. package/cjs/src/auth.js.map +1 -1
  6. package/cjs/src/embed/app.d.ts.map +1 -1
  7. package/cjs/src/embed/app.js +5 -5
  8. package/cjs/src/embed/app.js.map +1 -1
  9. package/cjs/src/embed/app.spec.js +87 -119
  10. package/cjs/src/embed/app.spec.js.map +1 -1
  11. package/cjs/src/embed/conversation.d.ts +1 -1
  12. package/cjs/src/types.d.ts +56 -52
  13. package/cjs/src/types.d.ts.map +1 -1
  14. package/cjs/src/types.js +55 -51
  15. package/cjs/src/types.js.map +1 -1
  16. package/dist/{index-BuwECGdm.js → index-BQvLEoxp.js} +1 -1
  17. package/dist/src/auth.d.ts +35 -2
  18. package/dist/src/auth.d.ts.map +1 -1
  19. package/dist/src/embed/app.d.ts.map +1 -1
  20. package/dist/src/embed/conversation.d.ts +1 -1
  21. package/dist/src/types.d.ts +56 -52
  22. package/dist/src/types.d.ts.map +1 -1
  23. package/dist/tsembed-react.es.js +98 -61
  24. package/dist/tsembed-react.js +97 -60
  25. package/dist/tsembed.es.js +98 -61
  26. package/dist/tsembed.js +97 -60
  27. package/dist/visual-embed-sdk-react-full.d.ts +92 -55
  28. package/dist/visual-embed-sdk-react.d.ts +90 -53
  29. package/dist/visual-embed-sdk.d.ts +92 -55
  30. package/lib/package.json +1 -1
  31. package/lib/src/auth.d.ts +35 -2
  32. package/lib/src/auth.d.ts.map +1 -1
  33. package/lib/src/auth.js +35 -2
  34. package/lib/src/auth.js.map +1 -1
  35. package/lib/src/embed/app.d.ts.map +1 -1
  36. package/lib/src/embed/app.js +5 -5
  37. package/lib/src/embed/app.js.map +1 -1
  38. package/lib/src/embed/app.spec.js +87 -119
  39. package/lib/src/embed/app.spec.js.map +1 -1
  40. package/lib/src/embed/conversation.d.ts +1 -1
  41. package/lib/src/types.d.ts +56 -52
  42. package/lib/src/types.d.ts.map +1 -1
  43. package/lib/src/types.js +55 -51
  44. package/lib/src/types.js.map +1 -1
  45. package/package.json +1 -1
  46. package/src/auth.ts +35 -2
  47. package/src/embed/app.spec.ts +171 -211
  48. package/src/embed/app.ts +15 -10
  49. package/src/embed/conversation.ts +1 -1
  50. package/src/types.ts +57 -53
@@ -1,4 +1,4 @@
1
- /* @thoughtspot/visual-embed-sdk version 1.45.3 */
1
+ /* @thoughtspot/visual-embed-sdk version 1.46.0 */
2
2
  'use client';
3
3
  function _mergeNamespaces(n, m) {
4
4
  m.forEach(function (e) {
@@ -1333,65 +1333,69 @@ var EmbedEvent;
1333
1333
  EmbedEvent["Rename"] = "rename";
1334
1334
  /**
1335
1335
  *
1336
- * This event can be emitted to intercept search execution initiated by
1337
- * users and implement logic to allow or restrict search execution.
1338
- * You can also show custom error text if the search query must be
1339
- * restricted due to your application or business requirements.
1340
-
1341
- * Prerequisite: Set `isOnBeforeGetVizDataInterceptEnabled` to `true`
1342
- * for this embed event to get emitted.
1343
- * @param - Includes the following event listener parameters:
1336
+ * This event allows developers to intercept search execution
1337
+ * and implement logic that decides whether Search Data should return
1338
+ * data or block the search operation.
1339
+ *
1340
+ * **Prerequisite**: Set`isOnBeforeGetVizDataInterceptEnabled` to `true`
1341
+ * to ensure that `EmbedEvent.OnBeforeGetVizDataIntercept` is emitted
1342
+ * when the embedding application user tries to run a search query.
1343
+ *
1344
+ * This framework applies only to `AppEmbed` and `SearchEmbed`.
1345
+ * @param - Includes the following parameters:
1344
1346
  * - `payload`: The payload received from the embed related to the Data API call.
1345
1347
  * - `responder`: Contains elements that let developers define whether ThoughtSpot
1346
- * should run the search, and if not, what error message
1347
- * should be shown to the user.
1348
- *
1349
- * `execute` - When `execute` returns `true`, the search will be run.
1350
- * When `execute` returns `false`, the search will not be executed.
1348
+ * will run or block the search operation, and if blocked, which error message to provide.
1351
1349
  *
1352
- * `error` - Developers can customize the error message text when `execute`
1353
- * is `false` using the `errorText` and `errorDescription` parameters in responder.
1350
+ * `execute` - When `execute` returns `true`, the search is run.
1351
+ * When `execute` returns `false`, the search is not executed.
1354
1352
  *
1355
- * `errorText` - The error message text to be shown to the user.
1356
- * `errorDescription (ThoughtSpot: 10.15.0.cl and above)` - The error description to be shown to the user.
1353
+ * `error` - Developers can customize the user-facing error message when `execute`
1354
+ * is `false` by using the `error` parameters in `responder`.
1355
+ * `errorText` - The error message text shown to the user.
1357
1356
  * @version SDK : 1.29.0 | ThoughtSpot: 10.3.0.cl
1358
1357
  * @example
1359
- *```js
1360
- * embed.on(EmbedEvent.OnBeforeGetVizDataIntercept,
1361
- * (payload, responder) => {
1362
- * responder({
1363
- * data: {
1364
- * execute:false,
1365
- * error: {
1366
- * //Provide a custom error message to explain to your end user
1367
- * //why their search did not run
1368
- * errorText: "This search query cannot be run.
1369
- * Please contact your administrator for more details."
1370
- * }
1371
- * }})
1372
- * })
1358
+ *
1359
+ * This example blocks search operation and returns a custom error message:
1360
+ * ```js
1361
+ * embed.on(EmbedEvent.OnBeforeGetVizDataIntercept, (payload, responder) => {
1362
+ * responder({
1363
+ * data: {
1364
+ * execute: false,
1365
+ * error: {
1366
+ * // Provide a custom error message to explain why the search did not run.
1367
+ * errorText: 'This search query cannot be run. Please contact your administrator for more details.',
1368
+ * },
1369
+ * },
1370
+ * });
1371
+ * });
1373
1372
  * ```
1373
+ * @example
1374
1374
  *
1375
- *```js
1376
- * embed.on(EmbedEvent.OnBeforeGetVizDataIntercept,
1377
- * (payload, responder) => {
1378
- * const query = payload.data.data.answer.search_query
1379
- * responder({
1380
- * data: {
1381
- * // returns true as long as the query does not include
1382
- * // both the 'sales' AND the 'county' column
1383
- * execute: !(query.includes("sales")&&query.includes("county")),
1384
- * error: {
1385
- * //Provide a custom error message to explain to your end user
1386
- * // why their search did not run, and which searches are accepted by your custom logic.
1387
- * errorText: "Error Occurred",
1388
- * errorDescription: "You can't use this query :" + query + ".
1389
- * The 'sales' measures can never be used at the 'county' level.
1390
- * Please try another measure, or remove 'county' from your search."
1391
- * }
1392
- * }})
1393
- * })
1394
- *```
1375
+ * This example allows the search operation to run
1376
+ * unless the query contains both `sales` and `county`,
1377
+ * and returns a custom error message if the query is rejected:
1378
+ * ```js
1379
+ * embed.on(EmbedEvent.OnBeforeGetVizDataIntercept, (payload, responder) => {
1380
+ * // Record the search query submitted by the end user.
1381
+ * const query = payload.data.data.answer.search_query;
1382
+ *
1383
+ * responder({
1384
+ * data: {
1385
+ * // Returns true as long as the query does not include both `sales` and `county`.
1386
+ * execute: !(query.includes('sales') && query.includes('county')),
1387
+ * error: {
1388
+ * // Provide a custom error message when the query is blocked by your logic.
1389
+ * errorText:
1390
+ * "You can't use this query: "
1391
+ * + query
1392
+ * + ". The 'sales' measure can never be used at the 'county' level. "
1393
+ * + "Please try another measure or remove 'county' from your search.",
1394
+ * },
1395
+ * },
1396
+ * });
1397
+ * });
1398
+ * ```
1395
1399
  */
1396
1400
  EmbedEvent["OnBeforeGetVizDataIntercept"] = "onBeforeGetVizDataIntercept";
1397
1401
  /**
@@ -8953,7 +8957,7 @@ class AnswerService {
8953
8957
  async getTML() {
8954
8958
  const { object } = await this.executeQuery(getAnswerTML, {});
8955
8959
  const edoc = object[0].edoc;
8956
- const YAML = await import('./index-BuwECGdm.js');
8960
+ const YAML = await import('./index-BQvLEoxp.js');
8957
8961
  const parsedDoc = YAML.parse(edoc);
8958
8962
  return {
8959
8963
  answer: {
@@ -17404,17 +17408,50 @@ let samlCompletionPromise = null;
17404
17408
  let releaseVersion = '';
17405
17409
  const SSO_REDIRECTION_MARKER_GUID = '5e16222e-ef02-43e9-9fbd-24226bf3ce5b';
17406
17410
  /**
17407
- * Enum for auth failure types. This is the parameter passed to the listner
17408
- * of {@link AuthStatus.FAILURE}.
17411
+ * Enum for auth failure types.
17412
+ * This value is passed to the listener for {@link AuthStatus.FAILURE}.
17409
17413
  * @group Authentication / Init
17410
17414
  */
17411
17415
  var AuthFailureType;
17412
17416
  (function (AuthFailureType) {
17417
+ /**
17418
+ * Authentication failed in the SDK authentication flow.
17419
+ *
17420
+ * Emitted when `init()` or auto-authentication cannot establish a logged-in session.
17421
+ * For example, this can happen because of an invalid token, an auth request failure,
17422
+ * or an auth promise rejection.
17423
+ */
17413
17424
  AuthFailureType["SDK"] = "SDK";
17425
+ /**
17426
+ * Browser cookie access is blocked for the embedded app.
17427
+ *
17428
+ * Emitted when the iframe reports that required cookies
17429
+ * cannot be read or sent, commonly due to third-party cookie restrictions.
17430
+ */
17414
17431
  AuthFailureType["NO_COOKIE_ACCESS"] = "NO_COOKIE_ACCESS";
17432
+ /**
17433
+ * The current authentication token or session has expired.
17434
+ *
17435
+ * Emitted when the embed receives an auth-expiry signal and starts auth refresh handling.
17436
+ */
17415
17437
  AuthFailureType["EXPIRY"] = "EXPIRY";
17438
+ /**
17439
+ * A generic authentication failure that does not match a more specific type.
17440
+ *
17441
+ * Emitted as a fallback for app-reported auth failures in standard auth flows.
17442
+ */
17416
17443
  AuthFailureType["OTHER"] = "OTHER";
17444
+ /**
17445
+ * The user session timed out due to inactivity.
17446
+ *
17447
+ * Emitted when the app reports an idle-session timeout.
17448
+ */
17417
17449
  AuthFailureType["IDLE_SESSION_TIMEOUT"] = "IDLE_SESSION_TIMEOUT";
17450
+ /**
17451
+ * The app reports that the user is unauthenticated.
17452
+ *
17453
+ * Used primarily to classify unauthenticated failures in Embedded SSO flows.
17454
+ */
17418
17455
  AuthFailureType["UNAUTHENTICATED_FAILURE"] = "UNAUTHENTICATED_FAILURE";
17419
17456
  })(AuthFailureType || (AuthFailureType = {}));
17420
17457
  /**
@@ -18391,7 +18428,7 @@ function processEventData(type, eventData, thoughtSpotHost, containerEl) {
18391
18428
  return eventData;
18392
18429
  }
18393
18430
 
18394
- var name="@thoughtspot/visual-embed-sdk";var version$1="1.45.3";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 tsconfig.build.json --incremental false; tsc -p tsconfig.build.json --incremental false --module commonjs --outDir cjs","build-and-publish":"npm run build:gatsby && npm run publish","bundle-dts-file":"dts-bundle-generator --config ./dts-config/dts-bundle-file.config.js","bundle-dts":"dts-bundle-generator --config ./dts-config/dts-bundle.config.js","bundle-dts-react":"dts-bundle-generator --config ./dts-config/dts-bundle-react.config.js","bundle-dts-react-full":"dts-bundle-generator --config ./dts-config/dts-bundle-react-full.config.js",build:"rollup -c",watch:"rollup -cw",docgen:"typedoc --tsconfig tsconfig.build.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.23","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":"^30.0.0","@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":"^30.2.0","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-generator":"^9.5.1",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:"^30.2.0","jest-environment-jsdom":"^29.7.0","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":"^29.4.6","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};
18431
+ var name="@thoughtspot/visual-embed-sdk";var version$1="1.46.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 tsconfig.build.json --incremental false; tsc -p tsconfig.build.json --incremental false --module commonjs --outDir cjs","build-and-publish":"npm run build:gatsby && npm run publish","bundle-dts-file":"dts-bundle-generator --config ./dts-config/dts-bundle-file.config.js","bundle-dts":"dts-bundle-generator --config ./dts-config/dts-bundle.config.js","bundle-dts-react":"dts-bundle-generator --config ./dts-config/dts-bundle-react.config.js","bundle-dts-react-full":"dts-bundle-generator --config ./dts-config/dts-bundle-react-full.config.js",build:"rollup -c",watch:"rollup -cw",docgen:"typedoc --tsconfig tsconfig.build.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.23","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":"^30.0.0","@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":"^30.2.0","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-generator":"^9.5.1",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:"^30.2.0","jest-environment-jsdom":"^29.7.0","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":"^29.4.6","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};
18395
18432
 
18396
18433
  class HostEventClient {
18397
18434
  constructor(iFrame) {
@@ -20497,6 +20534,9 @@ class AppEmbed extends V1Embed {
20497
20534
  else {
20498
20535
  params[Param.DataPanelCustomGroupsAccordionInitialState] = DataPanelCustomColumnGroupsAccordionState$1.EXPAND_ALL;
20499
20536
  }
20537
+ if (modularHomeExperience !== undefined) {
20538
+ params[Param.ModularHomeExperienceEnabled] = modularHomeExperience;
20539
+ }
20500
20540
  // Set navigation to v2 by default to avoid problems like the app
20501
20541
  // switcher (9-dot menu) not showing when v3 navigation is turned on
20502
20542
  // at the cluster level.
@@ -20506,9 +20546,6 @@ class AppEmbed extends V1Embed {
20506
20546
  // Set homePageVersion to v2 by default to reset the LD flag value
20507
20547
  // for the homepageVersion.
20508
20548
  params[Param.HomepageVersion] = 'v2';
20509
- // Set listpageVersion to v2 by default to reset the LD flag value
20510
- // for the listpageVersion.
20511
- params[Param.ListPageVersion] = ListPage.List;
20512
20549
  if (discoveryExperience) {
20513
20550
  // primaryNavbarVersion v3 will enabled the new left navigation
20514
20551
  if (discoveryExperience.primaryNavbarVersion === PrimaryNavbarVersion.Sliding) {
@@ -20527,8 +20564,8 @@ class AppEmbed extends V1Embed {
20527
20564
  if (discoveryExperience.homePage === HomePage.ModularWithStylingChanges) {
20528
20565
  params[Param.HomepageVersion] = HomePage.ModularWithStylingChanges;
20529
20566
  }
20530
- // listPageVersion v3 will enable the new list page
20531
- if (discoveryExperience.listPageVersion === ListPage.ListWithUXChanges) {
20567
+ // listPageVersion can be changed to v2 or v3
20568
+ if (discoveryExperience.listPageVersion !== undefined) {
20532
20569
  params[Param.ListPageVersion] = discoveryExperience.listPageVersion;
20533
20570
  }
20534
20571
  }
package/dist/tsembed.js CHANGED
@@ -1,4 +1,4 @@
1
- /* @thoughtspot/visual-embed-sdk version 1.45.3 */
1
+ /* @thoughtspot/visual-embed-sdk version 1.46.0 */
2
2
  'use client';
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
@@ -1339,65 +1339,69 @@
1339
1339
  EmbedEvent["Rename"] = "rename";
1340
1340
  /**
1341
1341
  *
1342
- * This event can be emitted to intercept search execution initiated by
1343
- * users and implement logic to allow or restrict search execution.
1344
- * You can also show custom error text if the search query must be
1345
- * restricted due to your application or business requirements.
1346
-
1347
- * Prerequisite: Set `isOnBeforeGetVizDataInterceptEnabled` to `true`
1348
- * for this embed event to get emitted.
1349
- * @param - Includes the following event listener parameters:
1342
+ * This event allows developers to intercept search execution
1343
+ * and implement logic that decides whether Search Data should return
1344
+ * data or block the search operation.
1345
+ *
1346
+ * **Prerequisite**: Set`isOnBeforeGetVizDataInterceptEnabled` to `true`
1347
+ * to ensure that `EmbedEvent.OnBeforeGetVizDataIntercept` is emitted
1348
+ * when the embedding application user tries to run a search query.
1349
+ *
1350
+ * This framework applies only to `AppEmbed` and `SearchEmbed`.
1351
+ * @param - Includes the following parameters:
1350
1352
  * - `payload`: The payload received from the embed related to the Data API call.
1351
1353
  * - `responder`: Contains elements that let developers define whether ThoughtSpot
1352
- * should run the search, and if not, what error message
1353
- * should be shown to the user.
1354
- *
1355
- * `execute` - When `execute` returns `true`, the search will be run.
1356
- * When `execute` returns `false`, the search will not be executed.
1354
+ * will run or block the search operation, and if blocked, which error message to provide.
1357
1355
  *
1358
- * `error` - Developers can customize the error message text when `execute`
1359
- * is `false` using the `errorText` and `errorDescription` parameters in responder.
1356
+ * `execute` - When `execute` returns `true`, the search is run.
1357
+ * When `execute` returns `false`, the search is not executed.
1360
1358
  *
1361
- * `errorText` - The error message text to be shown to the user.
1362
- * `errorDescription (ThoughtSpot: 10.15.0.cl and above)` - The error description to be shown to the user.
1359
+ * `error` - Developers can customize the user-facing error message when `execute`
1360
+ * is `false` by using the `error` parameters in `responder`.
1361
+ * `errorText` - The error message text shown to the user.
1363
1362
  * @version SDK : 1.29.0 | ThoughtSpot: 10.3.0.cl
1364
1363
  * @example
1365
- *```js
1366
- * embed.on(EmbedEvent.OnBeforeGetVizDataIntercept,
1367
- * (payload, responder) => {
1368
- * responder({
1369
- * data: {
1370
- * execute:false,
1371
- * error: {
1372
- * //Provide a custom error message to explain to your end user
1373
- * //why their search did not run
1374
- * errorText: "This search query cannot be run.
1375
- * Please contact your administrator for more details."
1376
- * }
1377
- * }})
1378
- * })
1364
+ *
1365
+ * This example blocks search operation and returns a custom error message:
1366
+ * ```js
1367
+ * embed.on(EmbedEvent.OnBeforeGetVizDataIntercept, (payload, responder) => {
1368
+ * responder({
1369
+ * data: {
1370
+ * execute: false,
1371
+ * error: {
1372
+ * // Provide a custom error message to explain why the search did not run.
1373
+ * errorText: 'This search query cannot be run. Please contact your administrator for more details.',
1374
+ * },
1375
+ * },
1376
+ * });
1377
+ * });
1379
1378
  * ```
1379
+ * @example
1380
1380
  *
1381
- *```js
1382
- * embed.on(EmbedEvent.OnBeforeGetVizDataIntercept,
1383
- * (payload, responder) => {
1384
- * const query = payload.data.data.answer.search_query
1385
- * responder({
1386
- * data: {
1387
- * // returns true as long as the query does not include
1388
- * // both the 'sales' AND the 'county' column
1389
- * execute: !(query.includes("sales")&&query.includes("county")),
1390
- * error: {
1391
- * //Provide a custom error message to explain to your end user
1392
- * // why their search did not run, and which searches are accepted by your custom logic.
1393
- * errorText: "Error Occurred",
1394
- * errorDescription: "You can't use this query :" + query + ".
1395
- * The 'sales' measures can never be used at the 'county' level.
1396
- * Please try another measure, or remove 'county' from your search."
1397
- * }
1398
- * }})
1399
- * })
1400
- *```
1381
+ * This example allows the search operation to run
1382
+ * unless the query contains both `sales` and `county`,
1383
+ * and returns a custom error message if the query is rejected:
1384
+ * ```js
1385
+ * embed.on(EmbedEvent.OnBeforeGetVizDataIntercept, (payload, responder) => {
1386
+ * // Record the search query submitted by the end user.
1387
+ * const query = payload.data.data.answer.search_query;
1388
+ *
1389
+ * responder({
1390
+ * data: {
1391
+ * // Returns true as long as the query does not include both `sales` and `county`.
1392
+ * execute: !(query.includes('sales') && query.includes('county')),
1393
+ * error: {
1394
+ * // Provide a custom error message when the query is blocked by your logic.
1395
+ * errorText:
1396
+ * "You can't use this query: "
1397
+ * + query
1398
+ * + ". The 'sales' measure can never be used at the 'county' level. "
1399
+ * + "Please try another measure or remove 'county' from your search.",
1400
+ * },
1401
+ * },
1402
+ * });
1403
+ * });
1404
+ * ```
1401
1405
  */
1402
1406
  EmbedEvent["OnBeforeGetVizDataIntercept"] = "onBeforeGetVizDataIntercept";
1403
1407
  /**
@@ -17410,17 +17414,50 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
17410
17414
  let releaseVersion = '';
17411
17415
  const SSO_REDIRECTION_MARKER_GUID = '5e16222e-ef02-43e9-9fbd-24226bf3ce5b';
17412
17416
  /**
17413
- * Enum for auth failure types. This is the parameter passed to the listner
17414
- * of {@link AuthStatus.FAILURE}.
17417
+ * Enum for auth failure types.
17418
+ * This value is passed to the listener for {@link AuthStatus.FAILURE}.
17415
17419
  * @group Authentication / Init
17416
17420
  */
17417
17421
  exports.AuthFailureType = void 0;
17418
17422
  (function (AuthFailureType) {
17423
+ /**
17424
+ * Authentication failed in the SDK authentication flow.
17425
+ *
17426
+ * Emitted when `init()` or auto-authentication cannot establish a logged-in session.
17427
+ * For example, this can happen because of an invalid token, an auth request failure,
17428
+ * or an auth promise rejection.
17429
+ */
17419
17430
  AuthFailureType["SDK"] = "SDK";
17431
+ /**
17432
+ * Browser cookie access is blocked for the embedded app.
17433
+ *
17434
+ * Emitted when the iframe reports that required cookies
17435
+ * cannot be read or sent, commonly due to third-party cookie restrictions.
17436
+ */
17420
17437
  AuthFailureType["NO_COOKIE_ACCESS"] = "NO_COOKIE_ACCESS";
17438
+ /**
17439
+ * The current authentication token or session has expired.
17440
+ *
17441
+ * Emitted when the embed receives an auth-expiry signal and starts auth refresh handling.
17442
+ */
17421
17443
  AuthFailureType["EXPIRY"] = "EXPIRY";
17444
+ /**
17445
+ * A generic authentication failure that does not match a more specific type.
17446
+ *
17447
+ * Emitted as a fallback for app-reported auth failures in standard auth flows.
17448
+ */
17422
17449
  AuthFailureType["OTHER"] = "OTHER";
17450
+ /**
17451
+ * The user session timed out due to inactivity.
17452
+ *
17453
+ * Emitted when the app reports an idle-session timeout.
17454
+ */
17423
17455
  AuthFailureType["IDLE_SESSION_TIMEOUT"] = "IDLE_SESSION_TIMEOUT";
17456
+ /**
17457
+ * The app reports that the user is unauthenticated.
17458
+ *
17459
+ * Used primarily to classify unauthenticated failures in Embedded SSO flows.
17460
+ */
17424
17461
  AuthFailureType["UNAUTHENTICATED_FAILURE"] = "UNAUTHENTICATED_FAILURE";
17425
17462
  })(exports.AuthFailureType || (exports.AuthFailureType = {}));
17426
17463
  /**
@@ -18397,7 +18434,7 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
18397
18434
  return eventData;
18398
18435
  }
18399
18436
 
18400
- var name="@thoughtspot/visual-embed-sdk";var version$1="1.45.3";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 tsconfig.build.json --incremental false; tsc -p tsconfig.build.json --incremental false --module commonjs --outDir cjs","build-and-publish":"npm run build:gatsby && npm run publish","bundle-dts-file":"dts-bundle-generator --config ./dts-config/dts-bundle-file.config.js","bundle-dts":"dts-bundle-generator --config ./dts-config/dts-bundle.config.js","bundle-dts-react":"dts-bundle-generator --config ./dts-config/dts-bundle-react.config.js","bundle-dts-react-full":"dts-bundle-generator --config ./dts-config/dts-bundle-react-full.config.js",build:"rollup -c",watch:"rollup -cw",docgen:"typedoc --tsconfig tsconfig.build.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.23","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":"^30.0.0","@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":"^30.2.0","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-generator":"^9.5.1",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:"^30.2.0","jest-environment-jsdom":"^29.7.0","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":"^29.4.6","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};
18437
+ var name="@thoughtspot/visual-embed-sdk";var version$1="1.46.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 tsconfig.build.json --incremental false; tsc -p tsconfig.build.json --incremental false --module commonjs --outDir cjs","build-and-publish":"npm run build:gatsby && npm run publish","bundle-dts-file":"dts-bundle-generator --config ./dts-config/dts-bundle-file.config.js","bundle-dts":"dts-bundle-generator --config ./dts-config/dts-bundle.config.js","bundle-dts-react":"dts-bundle-generator --config ./dts-config/dts-bundle-react.config.js","bundle-dts-react-full":"dts-bundle-generator --config ./dts-config/dts-bundle-react-full.config.js",build:"rollup -c",watch:"rollup -cw",docgen:"typedoc --tsconfig tsconfig.build.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.23","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":"^30.0.0","@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":"^30.2.0","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-generator":"^9.5.1",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:"^30.2.0","jest-environment-jsdom":"^29.7.0","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":"^29.4.6","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};
18401
18438
 
18402
18439
  class HostEventClient {
18403
18440
  constructor(iFrame) {
@@ -20503,6 +20540,9 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
20503
20540
  else {
20504
20541
  params[Param.DataPanelCustomGroupsAccordionInitialState] = exports.DataPanelCustomColumnGroupsAccordionState.EXPAND_ALL;
20505
20542
  }
20543
+ if (modularHomeExperience !== undefined) {
20544
+ params[Param.ModularHomeExperienceEnabled] = modularHomeExperience;
20545
+ }
20506
20546
  // Set navigation to v2 by default to avoid problems like the app
20507
20547
  // switcher (9-dot menu) not showing when v3 navigation is turned on
20508
20548
  // at the cluster level.
@@ -20512,9 +20552,6 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
20512
20552
  // Set homePageVersion to v2 by default to reset the LD flag value
20513
20553
  // for the homepageVersion.
20514
20554
  params[Param.HomepageVersion] = 'v2';
20515
- // Set listpageVersion to v2 by default to reset the LD flag value
20516
- // for the listpageVersion.
20517
- params[Param.ListPageVersion] = exports.ListPage.List;
20518
20555
  if (discoveryExperience) {
20519
20556
  // primaryNavbarVersion v3 will enabled the new left navigation
20520
20557
  if (discoveryExperience.primaryNavbarVersion === exports.PrimaryNavbarVersion.Sliding) {
@@ -20533,8 +20570,8 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
20533
20570
  if (discoveryExperience.homePage === exports.HomePage.ModularWithStylingChanges) {
20534
20571
  params[Param.HomepageVersion] = exports.HomePage.ModularWithStylingChanges;
20535
20572
  }
20536
- // listPageVersion v3 will enable the new list page
20537
- if (discoveryExperience.listPageVersion === exports.ListPage.ListWithUXChanges) {
20573
+ // listPageVersion can be changed to v2 or v3
20574
+ if (discoveryExperience.listPageVersion !== undefined) {
20538
20575
  params[Param.ListPageVersion] = discoveryExperience.listPageVersion;
20539
20576
  }
20540
20577
  }