@thoughtspot/visual-embed-sdk 1.44.1-test → 1.44.2

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 (169) hide show
  1. package/cjs/package.json +6 -5
  2. package/cjs/src/auth.spec.js +43 -42
  3. package/cjs/src/auth.spec.js.map +1 -1
  4. package/cjs/src/authToken.spec.js +3 -3
  5. package/cjs/src/authToken.spec.js.map +1 -1
  6. package/cjs/src/embed/app.d.ts.map +1 -1
  7. package/cjs/src/embed/app.js +3 -1
  8. package/cjs/src/embed/app.js.map +1 -1
  9. package/cjs/src/embed/app.spec.js +12 -5
  10. package/cjs/src/embed/app.spec.js.map +1 -1
  11. package/cjs/src/embed/base.spec.js +11 -15
  12. package/cjs/src/embed/base.spec.js.map +1 -1
  13. package/cjs/src/embed/bodyless-conversation.spec.js +2 -2
  14. package/cjs/src/embed/bodyless-conversation.spec.js.map +1 -1
  15. package/cjs/src/embed/conversation.spec.js +2 -2
  16. package/cjs/src/embed/conversation.spec.js.map +1 -1
  17. package/cjs/src/embed/embed.spec.js +101 -2
  18. package/cjs/src/embed/embed.spec.js.map +1 -1
  19. package/cjs/src/embed/events.spec.js +2 -2
  20. package/cjs/src/embed/events.spec.js.map +1 -1
  21. package/cjs/src/embed/hostEventClient/host-event-client.spec.js +1 -1
  22. package/cjs/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  23. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  24. package/cjs/src/embed/liveboard.js +3 -1
  25. package/cjs/src/embed/liveboard.js.map +1 -1
  26. package/cjs/src/embed/liveboard.spec.js +28 -26
  27. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  28. package/cjs/src/embed/pinboard.spec.js +1 -1
  29. package/cjs/src/embed/pinboard.spec.js.map +1 -1
  30. package/cjs/src/embed/sage.spec.js +2 -2
  31. package/cjs/src/embed/sage.spec.js.map +1 -1
  32. package/cjs/src/embed/search.spec.js +118 -2
  33. package/cjs/src/embed/search.spec.js.map +1 -1
  34. package/cjs/src/embed/ts-embed-trigger.spec.js +2 -3
  35. package/cjs/src/embed/ts-embed-trigger.spec.js.map +1 -1
  36. package/cjs/src/embed/ts-embed.spec.js +242 -66
  37. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  38. package/cjs/src/mixpanel-service.spec.js +1 -1
  39. package/cjs/src/mixpanel-service.spec.js.map +1 -1
  40. package/cjs/src/react/index.spec.js +3 -4
  41. package/cjs/src/react/index.spec.js.map +1 -1
  42. package/cjs/src/test/test-utils.js +1 -1
  43. package/cjs/src/test/test-utils.js.map +1 -1
  44. package/cjs/src/utils/authService/authService.spec.js +8 -8
  45. package/cjs/src/utils/authService/authService.spec.js.map +1 -1
  46. package/cjs/src/utils/authService/tokenizedAuthService.spec.js.map +1 -1
  47. package/cjs/src/utils/graphql/answerService/answerService.spec.js +1 -1
  48. package/cjs/src/utils/graphql/answerService/answerService.spec.js.map +1 -1
  49. package/cjs/src/utils/graphql/graphql-request.spec.js +1 -1
  50. package/cjs/src/utils/graphql/graphql-request.spec.js.map +1 -1
  51. package/cjs/src/utils/graphql/sourceService.spec.js +1 -1
  52. package/cjs/src/utils/graphql/sourceService.spec.js.map +1 -1
  53. package/cjs/src/utils/logger.spec.d.ts +5 -20
  54. package/cjs/src/utils/logger.spec.d.ts.map +1 -1
  55. package/cjs/src/utils/processData.spec.js +17 -17
  56. package/cjs/src/utils/processData.spec.js.map +1 -1
  57. package/cjs/src/utils/processTrigger.spec.js +8 -8
  58. package/cjs/src/utils/processTrigger.spec.js.map +1 -1
  59. package/cjs/src/utils.d.ts +6 -0
  60. package/cjs/src/utils.d.ts.map +1 -1
  61. package/cjs/src/utils.js +32 -1
  62. package/cjs/src/utils.js.map +1 -1
  63. package/cjs/src/utils.spec.js +19 -10
  64. package/cjs/src/utils.spec.js.map +1 -1
  65. package/dist/{index-BXCUJ09L.js → index-CSFjfTVk.js} +1 -1
  66. package/dist/src/embed/app.d.ts.map +1 -1
  67. package/dist/src/embed/liveboard.d.ts.map +1 -1
  68. package/dist/src/utils/logger.spec.d.ts +5 -20
  69. package/dist/src/utils/logger.spec.d.ts.map +1 -1
  70. package/dist/src/utils.d.ts +6 -0
  71. package/dist/src/utils.d.ts.map +1 -1
  72. package/dist/tsembed-react.es.js +39 -5
  73. package/dist/tsembed-react.js +38 -4
  74. package/dist/tsembed.es.js +39 -5
  75. package/dist/tsembed.js +38 -4
  76. package/lib/package.json +6 -5
  77. package/lib/src/auth.spec.js +43 -42
  78. package/lib/src/auth.spec.js.map +1 -1
  79. package/lib/src/authToken.spec.js +3 -3
  80. package/lib/src/authToken.spec.js.map +1 -1
  81. package/lib/src/embed/app.d.ts.map +1 -1
  82. package/lib/src/embed/app.js +4 -2
  83. package/lib/src/embed/app.js.map +1 -1
  84. package/lib/src/embed/app.spec.js +12 -5
  85. package/lib/src/embed/app.spec.js.map +1 -1
  86. package/lib/src/embed/base.spec.js +11 -15
  87. package/lib/src/embed/base.spec.js.map +1 -1
  88. package/lib/src/embed/bodyless-conversation.spec.js +2 -2
  89. package/lib/src/embed/bodyless-conversation.spec.js.map +1 -1
  90. package/lib/src/embed/conversation.spec.js +2 -2
  91. package/lib/src/embed/conversation.spec.js.map +1 -1
  92. package/lib/src/embed/embed.spec.js +103 -4
  93. package/lib/src/embed/embed.spec.js.map +1 -1
  94. package/lib/src/embed/events.spec.js +2 -2
  95. package/lib/src/embed/events.spec.js.map +1 -1
  96. package/lib/src/embed/hostEventClient/host-event-client.spec.js +2 -2
  97. package/lib/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  98. package/lib/src/embed/liveboard.d.ts.map +1 -1
  99. package/lib/src/embed/liveboard.js +4 -2
  100. package/lib/src/embed/liveboard.js.map +1 -1
  101. package/lib/src/embed/liveboard.spec.js +28 -26
  102. package/lib/src/embed/liveboard.spec.js.map +1 -1
  103. package/lib/src/embed/pinboard.spec.js +1 -1
  104. package/lib/src/embed/pinboard.spec.js.map +1 -1
  105. package/lib/src/embed/sage.spec.js +2 -2
  106. package/lib/src/embed/sage.spec.js.map +1 -1
  107. package/lib/src/embed/search.spec.js +118 -2
  108. package/lib/src/embed/search.spec.js.map +1 -1
  109. package/lib/src/embed/ts-embed-trigger.spec.js +2 -3
  110. package/lib/src/embed/ts-embed-trigger.spec.js.map +1 -1
  111. package/lib/src/embed/ts-embed.spec.js +242 -66
  112. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  113. package/lib/src/mixpanel-service.spec.js +1 -1
  114. package/lib/src/mixpanel-service.spec.js.map +1 -1
  115. package/lib/src/react/index.spec.js +3 -4
  116. package/lib/src/react/index.spec.js.map +1 -1
  117. package/lib/src/test/test-utils.js +1 -1
  118. package/lib/src/test/test-utils.js.map +1 -1
  119. package/lib/src/utils/authService/authService.spec.js +8 -8
  120. package/lib/src/utils/authService/authService.spec.js.map +1 -1
  121. package/lib/src/utils/authService/tokenizedAuthService.spec.js.map +1 -1
  122. package/lib/src/utils/graphql/answerService/answerService.spec.js +1 -1
  123. package/lib/src/utils/graphql/answerService/answerService.spec.js.map +1 -1
  124. package/lib/src/utils/graphql/graphql-request.spec.js +1 -1
  125. package/lib/src/utils/graphql/graphql-request.spec.js.map +1 -1
  126. package/lib/src/utils/graphql/sourceService.spec.js +1 -1
  127. package/lib/src/utils/graphql/sourceService.spec.js.map +1 -1
  128. package/lib/src/utils/logger.spec.d.ts +5 -20
  129. package/lib/src/utils/logger.spec.d.ts.map +1 -1
  130. package/lib/src/utils/processData.spec.js +17 -17
  131. package/lib/src/utils/processData.spec.js.map +1 -1
  132. package/lib/src/utils/processTrigger.spec.js +8 -8
  133. package/lib/src/utils/processTrigger.spec.js.map +1 -1
  134. package/lib/src/utils.d.ts +6 -0
  135. package/lib/src/utils.d.ts.map +1 -1
  136. package/lib/src/utils.js +30 -0
  137. package/lib/src/utils.js.map +1 -1
  138. package/lib/src/utils.spec.js +20 -11
  139. package/lib/src/utils.spec.js.map +1 -1
  140. package/package.json +6 -5
  141. package/src/auth.spec.ts +53 -51
  142. package/src/authToken.spec.ts +3 -3
  143. package/src/embed/app.spec.ts +12 -5
  144. package/src/embed/app.ts +4 -2
  145. package/src/embed/base.spec.ts +16 -20
  146. package/src/embed/bodyless-conversation.spec.ts +2 -2
  147. package/src/embed/conversation.spec.ts +2 -2
  148. package/src/embed/embed.spec.ts +122 -2
  149. package/src/embed/events.spec.ts +2 -2
  150. package/src/embed/hostEventClient/host-event-client.spec.ts +2 -2
  151. package/src/embed/liveboard.spec.ts +30 -29
  152. package/src/embed/liveboard.ts +4 -2
  153. package/src/embed/pinboard.spec.ts +1 -1
  154. package/src/embed/sage.spec.ts +2 -2
  155. package/src/embed/search.spec.ts +133 -2
  156. package/src/embed/ts-embed-trigger.spec.ts +2 -3
  157. package/src/embed/ts-embed.spec.ts +317 -76
  158. package/src/mixpanel-service.spec.ts +1 -1
  159. package/src/react/index.spec.tsx +4 -5
  160. package/src/test/test-utils.ts +2 -2
  161. package/src/utils/authService/authService.spec.ts +17 -17
  162. package/src/utils/authService/tokenizedAuthService.spec.ts +4 -4
  163. package/src/utils/graphql/answerService/answerService.spec.ts +3 -3
  164. package/src/utils/graphql/graphql-request.spec.ts +2 -2
  165. package/src/utils/graphql/sourceService.spec.ts +1 -1
  166. package/src/utils/processData.spec.ts +26 -26
  167. package/src/utils/processTrigger.spec.ts +8 -8
  168. package/src/utils.spec.ts +22 -11
  169. package/src/utils.ts +34 -0
@@ -1,4 +1,4 @@
1
- /* @thoughtspot/visual-embed-sdk version 1.44.1-test */
1
+ /* @thoughtspot/visual-embed-sdk version 1.44.2 */
2
2
  'use client';
3
3
  import * as React from 'react';
4
4
  import React__default, { useRef, useCallback } from 'react';
@@ -5070,6 +5070,36 @@ const getCssDimension = (value) => {
5070
5070
  }
5071
5071
  return value;
5072
5072
  };
5073
+ /**
5074
+ * Validates if a string is a valid CSS margin value.
5075
+ * @param value - The string to validate
5076
+ * @returns true if the value is a valid CSS margin value, false otherwise
5077
+ */
5078
+ const isValidCssMargin = (value) => {
5079
+ if (isUndefined$1(value)) {
5080
+ return false;
5081
+ }
5082
+ if (typeof value !== 'string') {
5083
+ logger$3.error('Please provide a valid lazyLoadingMargin value (e.g., "10px")');
5084
+ return false;
5085
+ }
5086
+ // This pattern allows for an optional negative sign, and numbers that can be integers or decimals (including leading dot).
5087
+ const cssUnitPattern = /^-?(\d+(\.\d*)?|\.\d+)(px|em|rem|%|vh|vw)$/i;
5088
+ const parts = value.trim().split(/\s+/);
5089
+ if (parts.length > 4) {
5090
+ logger$3.error('Please provide a valid lazyLoadingMargin value (e.g., "10px")');
5091
+ return false;
5092
+ }
5093
+ const isValid = parts.every(part => {
5094
+ const trimmedPart = part.trim();
5095
+ return trimmedPart.toLowerCase() === 'auto' || trimmedPart === '0' || cssUnitPattern.test(trimmedPart);
5096
+ });
5097
+ if (!isValid) {
5098
+ logger$3.error('Please provide a valid lazyLoadingMargin value (e.g., "10px")');
5099
+ return false;
5100
+ }
5101
+ return true;
5102
+ };
5073
5103
  const getSSOMarker = (markerId) => {
5074
5104
  const encStringToAppend = encodeURIComponent(markerId);
5075
5105
  return `tsSSOMarker=${encStringToAppend}`;
@@ -8610,7 +8640,7 @@ class AnswerService {
8610
8640
  async getTML() {
8611
8641
  const { object } = await this.executeQuery(getAnswerTML, {});
8612
8642
  const edoc = object[0].edoc;
8613
- const YAML = await import('./index-BXCUJ09L.js');
8643
+ const YAML = await import('./index-CSFjfTVk.js');
8614
8644
  const parsedDoc = YAML.parse(edoc);
8615
8645
  return {
8616
8646
  answer: {
@@ -17863,7 +17893,7 @@ function processEventData(type, eventData, thoughtSpotHost, containerEl) {
17863
17893
  return eventData;
17864
17894
  }
17865
17895
 
17866
- var name="@thoughtspot/visual-embed-sdk";var version$1="1.44.1-test";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.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-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:"^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};
17896
+ var name="@thoughtspot/visual-embed-sdk";var version$1="1.44.2";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.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":"^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};
17867
17897
 
17868
17898
  class HostEventClient {
17869
17899
  constructor(iFrame) {
@@ -20135,7 +20165,9 @@ let AppEmbed$1 = class AppEmbed extends V1Embed {
20135
20165
  params[Param.fullHeight] = true;
20136
20166
  if (this.viewConfig.lazyLoadingForFullHeight) {
20137
20167
  params[Param.IsLazyLoadingForEmbedEnabled] = true;
20138
- params[Param.RootMarginForLazyLoad] = this.viewConfig.lazyLoadingMargin;
20168
+ if (isValidCssMargin(this.viewConfig.lazyLoadingMargin)) {
20169
+ params[Param.RootMarginForLazyLoad] = this.viewConfig.lazyLoadingMargin;
20170
+ }
20139
20171
  }
20140
20172
  }
20141
20173
  if (tag) {
@@ -20542,7 +20574,9 @@ let LiveboardEmbed$1 = class LiveboardEmbed extends V1Embed {
20542
20574
  params[Param.fullHeight] = true;
20543
20575
  if (this.viewConfig.lazyLoadingForFullHeight) {
20544
20576
  params[Param.IsLazyLoadingForEmbedEnabled] = true;
20545
- params[Param.RootMarginForLazyLoad] = this.viewConfig.lazyLoadingMargin;
20577
+ if (isValidCssMargin(this.viewConfig.lazyLoadingMargin)) {
20578
+ params[Param.RootMarginForLazyLoad] = this.viewConfig.lazyLoadingMargin;
20579
+ }
20546
20580
  }
20547
20581
  }
20548
20582
  this.defaultHeight = minimumHeight || defaultHeight || this.defaultHeight;
@@ -1,4 +1,4 @@
1
- /* @thoughtspot/visual-embed-sdk version 1.44.1-test */
1
+ /* @thoughtspot/visual-embed-sdk version 1.44.2 */
2
2
  'use client';
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react')) :
@@ -5092,6 +5092,36 @@
5092
5092
  }
5093
5093
  return value;
5094
5094
  };
5095
+ /**
5096
+ * Validates if a string is a valid CSS margin value.
5097
+ * @param value - The string to validate
5098
+ * @returns true if the value is a valid CSS margin value, false otherwise
5099
+ */
5100
+ const isValidCssMargin = (value) => {
5101
+ if (isUndefined$1(value)) {
5102
+ return false;
5103
+ }
5104
+ if (typeof value !== 'string') {
5105
+ logger$3.error('Please provide a valid lazyLoadingMargin value (e.g., "10px")');
5106
+ return false;
5107
+ }
5108
+ // This pattern allows for an optional negative sign, and numbers that can be integers or decimals (including leading dot).
5109
+ const cssUnitPattern = /^-?(\d+(\.\d*)?|\.\d+)(px|em|rem|%|vh|vw)$/i;
5110
+ const parts = value.trim().split(/\s+/);
5111
+ if (parts.length > 4) {
5112
+ logger$3.error('Please provide a valid lazyLoadingMargin value (e.g., "10px")');
5113
+ return false;
5114
+ }
5115
+ const isValid = parts.every(part => {
5116
+ const trimmedPart = part.trim();
5117
+ return trimmedPart.toLowerCase() === 'auto' || trimmedPart === '0' || cssUnitPattern.test(trimmedPart);
5118
+ });
5119
+ if (!isValid) {
5120
+ logger$3.error('Please provide a valid lazyLoadingMargin value (e.g., "10px")');
5121
+ return false;
5122
+ }
5123
+ return true;
5124
+ };
5095
5125
  const getSSOMarker = (markerId) => {
5096
5126
  const encStringToAppend = encodeURIComponent(markerId);
5097
5127
  return `tsSSOMarker=${encStringToAppend}`;
@@ -17885,7 +17915,7 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
17885
17915
  return eventData;
17886
17916
  }
17887
17917
 
17888
- var name="@thoughtspot/visual-embed-sdk";var version$1="1.44.1-test";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.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-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:"^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};
17918
+ var name="@thoughtspot/visual-embed-sdk";var version$1="1.44.2";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.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":"^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};
17889
17919
 
17890
17920
  class HostEventClient {
17891
17921
  constructor(iFrame) {
@@ -20157,7 +20187,9 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
20157
20187
  params[Param.fullHeight] = true;
20158
20188
  if (this.viewConfig.lazyLoadingForFullHeight) {
20159
20189
  params[Param.IsLazyLoadingForEmbedEnabled] = true;
20160
- params[Param.RootMarginForLazyLoad] = this.viewConfig.lazyLoadingMargin;
20190
+ if (isValidCssMargin(this.viewConfig.lazyLoadingMargin)) {
20191
+ params[Param.RootMarginForLazyLoad] = this.viewConfig.lazyLoadingMargin;
20192
+ }
20161
20193
  }
20162
20194
  }
20163
20195
  if (tag) {
@@ -20564,7 +20596,9 @@ query GetEurekaVizSnapshots(
20564
20596
  params[Param.fullHeight] = true;
20565
20597
  if (this.viewConfig.lazyLoadingForFullHeight) {
20566
20598
  params[Param.IsLazyLoadingForEmbedEnabled] = true;
20567
- params[Param.RootMarginForLazyLoad] = this.viewConfig.lazyLoadingMargin;
20599
+ if (isValidCssMargin(this.viewConfig.lazyLoadingMargin)) {
20600
+ params[Param.RootMarginForLazyLoad] = this.viewConfig.lazyLoadingMargin;
20601
+ }
20568
20602
  }
20569
20603
  }
20570
20604
  this.defaultHeight = minimumHeight || defaultHeight || this.defaultHeight;
@@ -1,4 +1,4 @@
1
- /* @thoughtspot/visual-embed-sdk version 1.44.1-test */
1
+ /* @thoughtspot/visual-embed-sdk version 1.44.2 */
2
2
  'use client';
3
3
  function _mergeNamespaces(n, m) {
4
4
  m.forEach(function (e) {
@@ -4955,6 +4955,36 @@ const getCssDimension = (value) => {
4955
4955
  }
4956
4956
  return value;
4957
4957
  };
4958
+ /**
4959
+ * Validates if a string is a valid CSS margin value.
4960
+ * @param value - The string to validate
4961
+ * @returns true if the value is a valid CSS margin value, false otherwise
4962
+ */
4963
+ const isValidCssMargin = (value) => {
4964
+ if (isUndefined$1(value)) {
4965
+ return false;
4966
+ }
4967
+ if (typeof value !== 'string') {
4968
+ logger$3.error('Please provide a valid lazyLoadingMargin value (e.g., "10px")');
4969
+ return false;
4970
+ }
4971
+ // This pattern allows for an optional negative sign, and numbers that can be integers or decimals (including leading dot).
4972
+ const cssUnitPattern = /^-?(\d+(\.\d*)?|\.\d+)(px|em|rem|%|vh|vw)$/i;
4973
+ const parts = value.trim().split(/\s+/);
4974
+ if (parts.length > 4) {
4975
+ logger$3.error('Please provide a valid lazyLoadingMargin value (e.g., "10px")');
4976
+ return false;
4977
+ }
4978
+ const isValid = parts.every(part => {
4979
+ const trimmedPart = part.trim();
4980
+ return trimmedPart.toLowerCase() === 'auto' || trimmedPart === '0' || cssUnitPattern.test(trimmedPart);
4981
+ });
4982
+ if (!isValid) {
4983
+ logger$3.error('Please provide a valid lazyLoadingMargin value (e.g., "10px")');
4984
+ return false;
4985
+ }
4986
+ return true;
4987
+ };
4958
4988
  const getSSOMarker = (markerId) => {
4959
4989
  const encStringToAppend = encodeURIComponent(markerId);
4960
4990
  return `tsSSOMarker=${encStringToAppend}`;
@@ -8495,7 +8525,7 @@ class AnswerService {
8495
8525
  async getTML() {
8496
8526
  const { object } = await this.executeQuery(getAnswerTML, {});
8497
8527
  const edoc = object[0].edoc;
8498
- const YAML = await import('./index-BXCUJ09L.js');
8528
+ const YAML = await import('./index-CSFjfTVk.js');
8499
8529
  const parsedDoc = YAML.parse(edoc);
8500
8530
  return {
8501
8531
  answer: {
@@ -17927,7 +17957,7 @@ function processEventData(type, eventData, thoughtSpotHost, containerEl) {
17927
17957
  return eventData;
17928
17958
  }
17929
17959
 
17930
- var name="@thoughtspot/visual-embed-sdk";var version$1="1.44.1-test";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.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-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:"^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};
17960
+ var name="@thoughtspot/visual-embed-sdk";var version$1="1.44.2";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.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":"^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};
17931
17961
 
17932
17962
  class HostEventClient {
17933
17963
  constructor(iFrame) {
@@ -19867,7 +19897,9 @@ class AppEmbed extends V1Embed {
19867
19897
  params[Param.fullHeight] = true;
19868
19898
  if (this.viewConfig.lazyLoadingForFullHeight) {
19869
19899
  params[Param.IsLazyLoadingForEmbedEnabled] = true;
19870
- params[Param.RootMarginForLazyLoad] = this.viewConfig.lazyLoadingMargin;
19900
+ if (isValidCssMargin(this.viewConfig.lazyLoadingMargin)) {
19901
+ params[Param.RootMarginForLazyLoad] = this.viewConfig.lazyLoadingMargin;
19902
+ }
19871
19903
  }
19872
19904
  }
19873
19905
  if (tag) {
@@ -20274,7 +20306,9 @@ class LiveboardEmbed extends V1Embed {
20274
20306
  params[Param.fullHeight] = true;
20275
20307
  if (this.viewConfig.lazyLoadingForFullHeight) {
20276
20308
  params[Param.IsLazyLoadingForEmbedEnabled] = true;
20277
- params[Param.RootMarginForLazyLoad] = this.viewConfig.lazyLoadingMargin;
20309
+ if (isValidCssMargin(this.viewConfig.lazyLoadingMargin)) {
20310
+ params[Param.RootMarginForLazyLoad] = this.viewConfig.lazyLoadingMargin;
20311
+ }
20278
20312
  }
20279
20313
  }
20280
20314
  this.defaultHeight = minimumHeight || defaultHeight || this.defaultHeight;
package/dist/tsembed.js CHANGED
@@ -1,4 +1,4 @@
1
- /* @thoughtspot/visual-embed-sdk version 1.44.1-test */
1
+ /* @thoughtspot/visual-embed-sdk version 1.44.2 */
2
2
  'use client';
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
@@ -4961,6 +4961,36 @@
4961
4961
  }
4962
4962
  return value;
4963
4963
  };
4964
+ /**
4965
+ * Validates if a string is a valid CSS margin value.
4966
+ * @param value - The string to validate
4967
+ * @returns true if the value is a valid CSS margin value, false otherwise
4968
+ */
4969
+ const isValidCssMargin = (value) => {
4970
+ if (isUndefined$1(value)) {
4971
+ return false;
4972
+ }
4973
+ if (typeof value !== 'string') {
4974
+ logger$3.error('Please provide a valid lazyLoadingMargin value (e.g., "10px")');
4975
+ return false;
4976
+ }
4977
+ // This pattern allows for an optional negative sign, and numbers that can be integers or decimals (including leading dot).
4978
+ const cssUnitPattern = /^-?(\d+(\.\d*)?|\.\d+)(px|em|rem|%|vh|vw)$/i;
4979
+ const parts = value.trim().split(/\s+/);
4980
+ if (parts.length > 4) {
4981
+ logger$3.error('Please provide a valid lazyLoadingMargin value (e.g., "10px")');
4982
+ return false;
4983
+ }
4984
+ const isValid = parts.every(part => {
4985
+ const trimmedPart = part.trim();
4986
+ return trimmedPart.toLowerCase() === 'auto' || trimmedPart === '0' || cssUnitPattern.test(trimmedPart);
4987
+ });
4988
+ if (!isValid) {
4989
+ logger$3.error('Please provide a valid lazyLoadingMargin value (e.g., "10px")');
4990
+ return false;
4991
+ }
4992
+ return true;
4993
+ };
4964
4994
  const getSSOMarker = (markerId) => {
4965
4995
  const encStringToAppend = encodeURIComponent(markerId);
4966
4996
  return `tsSSOMarker=${encStringToAppend}`;
@@ -17933,7 +17963,7 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
17933
17963
  return eventData;
17934
17964
  }
17935
17965
 
17936
- var name="@thoughtspot/visual-embed-sdk";var version$1="1.44.1-test";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.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-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:"^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};
17966
+ var name="@thoughtspot/visual-embed-sdk";var version$1="1.44.2";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.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":"^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};
17937
17967
 
17938
17968
  class HostEventClient {
17939
17969
  constructor(iFrame) {
@@ -19873,7 +19903,9 @@ mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies:
19873
19903
  params[Param.fullHeight] = true;
19874
19904
  if (this.viewConfig.lazyLoadingForFullHeight) {
19875
19905
  params[Param.IsLazyLoadingForEmbedEnabled] = true;
19876
- params[Param.RootMarginForLazyLoad] = this.viewConfig.lazyLoadingMargin;
19906
+ if (isValidCssMargin(this.viewConfig.lazyLoadingMargin)) {
19907
+ params[Param.RootMarginForLazyLoad] = this.viewConfig.lazyLoadingMargin;
19908
+ }
19877
19909
  }
19878
19910
  }
19879
19911
  if (tag) {
@@ -20280,7 +20312,9 @@ query GetEurekaVizSnapshots(
20280
20312
  params[Param.fullHeight] = true;
20281
20313
  if (this.viewConfig.lazyLoadingForFullHeight) {
20282
20314
  params[Param.IsLazyLoadingForEmbedEnabled] = true;
20283
- params[Param.RootMarginForLazyLoad] = this.viewConfig.lazyLoadingMargin;
20315
+ if (isValidCssMargin(this.viewConfig.lazyLoadingMargin)) {
20316
+ params[Param.RootMarginForLazyLoad] = this.viewConfig.lazyLoadingMargin;
20317
+ }
20284
20318
  }
20285
20319
  }
20286
20320
  this.defaultHeight = minimumHeight || defaultHeight || this.defaultHeight;
package/lib/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thoughtspot/visual-embed-sdk",
3
- "version": "1.44.1-test",
3
+ "version": "1.44.2",
4
4
  "description": "ThoughtSpot Embed SDK",
5
5
  "module": "lib/src/index.js",
6
6
  "main": "dist/tsembed.js",
@@ -90,7 +90,7 @@
90
90
  "@testing-library/jest-dom": "^5.14.1",
91
91
  "@testing-library/react": "^11.2.7",
92
92
  "@testing-library/user-event": "^13.1.8",
93
- "@types/jest": "^22.2.3",
93
+ "@types/jest": "^30.0.0",
94
94
  "@types/lodash": "^4.17.0",
95
95
  "@types/mixpanel-browser": "^2.35.6",
96
96
  "@types/react-test-renderer": "^17.0.1",
@@ -98,7 +98,7 @@
98
98
  "@typescript-eslint/parser": "^8.28.0",
99
99
  "ajv": "^8.17.1",
100
100
  "asciidoctor": "^2.2.1",
101
- "babel-jest": "^26.6.3",
101
+ "babel-jest": "^30.2.0",
102
102
  "babel-preset-gatsby": "^1.10.0",
103
103
  "command-line-args": "^5.1.1",
104
104
  "coveralls-next": "^5.0.0",
@@ -122,7 +122,8 @@
122
122
  "html-to-text": "^8.0.0",
123
123
  "identity-obj-proxy": "^3.0.0",
124
124
  "istanbul-merge": "^2.0.0",
125
- "jest": "^26.6.3",
125
+ "jest": "^30.2.0",
126
+ "jest-environment-jsdom": "^29.7.0",
126
127
  "jest-fetch-mock": "^3.0.3",
127
128
  "jsdom": "^17.0.0",
128
129
  "prettier": "2.1.2",
@@ -134,7 +135,7 @@
134
135
  "react-use-flexsearch": "^0.1.1",
135
136
  "rollup": "4.24.0",
136
137
  "rollup-plugin-typescript2": "0.27.3",
137
- "ts-jest": "^26.5.5",
138
+ "ts-jest": "^29.4.6",
138
139
  "ts-loader": "8.0.4",
139
140
  "typedoc": "0.21.6",
140
141
  "typedoc-plugin-toc-group": "thoughtspot/typedoc-plugin-toc-group",