@thoughtspot/visual-embed-sdk 1.52.0 → 1.52.2-beta

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 (385) hide show
  1. package/cjs/package.json +19 -4
  2. package/cjs/src/contracts/contracts.spec.d.ts +2 -0
  3. package/cjs/src/contracts/contracts.spec.d.ts.map +1 -0
  4. package/cjs/src/contracts/contracts.spec.js +345 -0
  5. package/cjs/src/contracts/contracts.spec.js.map +1 -0
  6. package/cjs/src/contracts/embed-event-payloads.d.ts +73 -0
  7. package/cjs/src/contracts/embed-event-payloads.d.ts.map +1 -0
  8. package/cjs/src/contracts/embed-event-payloads.js +3 -0
  9. package/cjs/src/contracts/embed-event-payloads.js.map +1 -0
  10. package/cjs/src/contracts/host-event-contracts.d.ts +416 -0
  11. package/cjs/src/contracts/host-event-contracts.d.ts.map +1 -0
  12. package/cjs/src/contracts/host-event-contracts.js +3 -0
  13. package/cjs/src/contracts/host-event-contracts.js.map +1 -0
  14. package/cjs/src/contracts/index.d.ts +22 -0
  15. package/cjs/src/contracts/index.d.ts.map +1 -0
  16. package/cjs/src/contracts/index.js +33 -0
  17. package/cjs/src/contracts/index.js.map +1 -0
  18. package/cjs/src/contracts/ui-passthrough-contracts.d.ts +277 -0
  19. package/cjs/src/contracts/ui-passthrough-contracts.d.ts.map +1 -0
  20. package/cjs/src/{embed/hostEventClient/contracts.js → contracts/ui-passthrough-contracts.js} +6 -2
  21. package/cjs/src/contracts/ui-passthrough-contracts.js.map +1 -0
  22. package/cjs/src/embed/app.d.ts +21 -143
  23. package/cjs/src/embed/app.d.ts.map +1 -1
  24. package/cjs/src/embed/app.js +21 -121
  25. package/cjs/src/embed/app.js.map +1 -1
  26. package/cjs/src/embed/app.spec.js +80 -26
  27. package/cjs/src/embed/app.spec.js.map +1 -1
  28. package/cjs/src/embed/auto-frame-renderer.js +1 -1
  29. package/cjs/src/embed/auto-frame-renderer.js.map +1 -1
  30. package/cjs/src/embed/auto-frame-renderer.spec.js +24 -13
  31. package/cjs/src/embed/auto-frame-renderer.spec.js.map +1 -1
  32. package/cjs/src/embed/bodyless-conversation.js +1 -1
  33. package/cjs/src/embed/bodyless-conversation.js.map +1 -1
  34. package/cjs/src/embed/conversation.d.ts +1 -0
  35. package/cjs/src/embed/conversation.d.ts.map +1 -1
  36. package/cjs/src/embed/conversation.js +4 -4
  37. package/cjs/src/embed/conversation.js.map +1 -1
  38. package/cjs/src/embed/conversation.spec.js +35 -24
  39. package/cjs/src/embed/conversation.spec.js.map +1 -1
  40. package/cjs/src/embed/embedConfig.spec.js +2 -1
  41. package/cjs/src/embed/embedConfig.spec.js.map +1 -1
  42. package/cjs/src/embed/events.spec.js +12 -2
  43. package/cjs/src/embed/events.spec.js.map +1 -1
  44. package/cjs/src/embed/hostEventClient/host-event-client.d.ts +5 -4
  45. package/cjs/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  46. package/cjs/src/embed/hostEventClient/host-event-client.js +34 -23
  47. package/cjs/src/embed/hostEventClient/host-event-client.js.map +1 -1
  48. package/cjs/src/embed/hostEventClient/host-event-client.spec.js +50 -44
  49. package/cjs/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  50. package/cjs/src/embed/hostEventClient/utils.d.ts +10 -1
  51. package/cjs/src/embed/hostEventClient/utils.d.ts.map +1 -1
  52. package/cjs/src/embed/hostEventClient/utils.js +52 -6
  53. package/cjs/src/embed/hostEventClient/utils.js.map +1 -1
  54. package/cjs/src/embed/hostEventClient/utils.spec.js +151 -0
  55. package/cjs/src/embed/hostEventClient/utils.spec.js.map +1 -1
  56. package/cjs/src/embed/liveboard.d.ts +13 -164
  57. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  58. package/cjs/src/embed/liveboard.js +72 -135
  59. package/cjs/src/embed/liveboard.js.map +1 -1
  60. package/cjs/src/embed/liveboard.spec.js +213 -29
  61. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  62. package/cjs/src/embed/search-bar.js +1 -1
  63. package/cjs/src/embed/search-bar.js.map +1 -1
  64. package/cjs/src/embed/search.d.ts +14 -0
  65. package/cjs/src/embed/search.d.ts.map +1 -1
  66. package/cjs/src/embed/search.js +5 -2
  67. package/cjs/src/embed/search.js.map +1 -1
  68. package/cjs/src/embed/search.spec.js +85 -0
  69. package/cjs/src/embed/search.spec.js.map +1 -1
  70. package/cjs/src/embed/spotter-utils.d.ts +8 -1
  71. package/cjs/src/embed/spotter-utils.d.ts.map +1 -1
  72. package/cjs/src/embed/spotter-utils.js +14 -1
  73. package/cjs/src/embed/spotter-utils.js.map +1 -1
  74. package/cjs/src/embed/spotter-utils.spec.js +26 -0
  75. package/cjs/src/embed/spotter-utils.spec.js.map +1 -1
  76. package/cjs/src/embed/ts-embed.d.ts +20 -22
  77. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  78. package/cjs/src/embed/ts-embed.js +171 -66
  79. package/cjs/src/embed/ts-embed.js.map +1 -1
  80. package/cjs/src/embed/ts-embed.spec.js +486 -38
  81. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  82. package/cjs/src/errors.js +1 -1
  83. package/cjs/src/errors.js.map +1 -1
  84. package/cjs/src/full-height.d.ts +137 -0
  85. package/cjs/src/full-height.d.ts.map +1 -0
  86. package/cjs/src/full-height.js +272 -0
  87. package/cjs/src/full-height.js.map +1 -0
  88. package/cjs/src/full-height.spec.d.ts +2 -0
  89. package/cjs/src/full-height.spec.d.ts.map +1 -0
  90. package/cjs/src/full-height.spec.js +835 -0
  91. package/cjs/src/full-height.spec.js.map +1 -0
  92. package/cjs/src/index.d.ts +5 -3
  93. package/cjs/src/index.d.ts.map +1 -1
  94. package/cjs/src/index.js +6 -4
  95. package/cjs/src/index.js.map +1 -1
  96. package/cjs/src/react/all-types-export.d.ts +1 -1
  97. package/cjs/src/react/all-types-export.d.ts.map +1 -1
  98. package/cjs/src/react/all-types-export.js +2 -1
  99. package/cjs/src/react/all-types-export.js.map +1 -1
  100. package/cjs/src/react/all-types-export.parity.spec.js +55 -3
  101. package/cjs/src/react/all-types-export.parity.spec.js.map +1 -1
  102. package/cjs/src/types.d.ts +584 -24
  103. package/cjs/src/types.d.ts.map +1 -1
  104. package/cjs/src/types.js +370 -22
  105. package/cjs/src/types.js.map +1 -1
  106. package/cjs/src/utils/authService/tokenizedAuthService.spec.js +2 -1
  107. package/cjs/src/utils/authService/tokenizedAuthService.spec.js.map +1 -1
  108. package/cjs/src/utils/custom-actions.spec.js +4 -2
  109. package/cjs/src/utils/custom-actions.spec.js.map +1 -1
  110. package/cjs/src/utils/filterConverter.d.ts +106 -0
  111. package/cjs/src/utils/filterConverter.d.ts.map +1 -0
  112. package/cjs/src/utils/filterConverter.js +215 -0
  113. package/cjs/src/utils/filterConverter.js.map +1 -0
  114. package/cjs/src/utils/filterConverter.spec.d.ts +2 -0
  115. package/cjs/src/utils/filterConverter.spec.d.ts.map +1 -0
  116. package/cjs/src/utils/filterConverter.spec.js +709 -0
  117. package/cjs/src/utils/filterConverter.spec.js.map +1 -0
  118. package/cjs/src/utils/processData.spec.js +2 -1
  119. package/cjs/src/utils/processData.spec.js.map +1 -1
  120. package/cjs/src/utils/processTrigger.d.ts +3 -1
  121. package/cjs/src/utils/processTrigger.d.ts.map +1 -1
  122. package/cjs/src/utils/processTrigger.js +19 -51
  123. package/cjs/src/utils/processTrigger.js.map +1 -1
  124. package/cjs/src/utils/transport/iframe-transport.d.ts +55 -0
  125. package/cjs/src/utils/transport/iframe-transport.d.ts.map +1 -0
  126. package/cjs/src/utils/transport/iframe-transport.js +108 -0
  127. package/cjs/src/utils/transport/iframe-transport.js.map +1 -0
  128. package/cjs/src/utils/transport/iframe-transport.spec.d.ts +2 -0
  129. package/cjs/src/utils/transport/iframe-transport.spec.d.ts.map +1 -0
  130. package/cjs/src/utils/transport/iframe-transport.spec.js +140 -0
  131. package/cjs/src/utils/transport/iframe-transport.spec.js.map +1 -0
  132. package/cjs/src/utils.d.ts +18 -0
  133. package/cjs/src/utils.d.ts.map +1 -1
  134. package/cjs/src/utils.js +39 -1
  135. package/cjs/src/utils.js.map +1 -1
  136. package/cjs/src/utils.spec.js +62 -0
  137. package/cjs/src/utils.spec.js.map +1 -1
  138. package/dist/{index-BMppCU63.js → index-CcBYlGo9.js} +1 -1
  139. package/dist/src/contracts/contracts.spec.d.ts +2 -0
  140. package/dist/src/contracts/contracts.spec.d.ts.map +1 -0
  141. package/dist/src/contracts/embed-event-payloads.d.ts +73 -0
  142. package/dist/src/contracts/embed-event-payloads.d.ts.map +1 -0
  143. package/dist/src/contracts/host-event-contracts.d.ts +416 -0
  144. package/dist/src/contracts/host-event-contracts.d.ts.map +1 -0
  145. package/dist/src/contracts/index.d.ts +22 -0
  146. package/dist/src/contracts/index.d.ts.map +1 -0
  147. package/dist/src/contracts/ui-passthrough-contracts.d.ts +277 -0
  148. package/dist/src/contracts/ui-passthrough-contracts.d.ts.map +1 -0
  149. package/dist/src/embed/app.d.ts +21 -143
  150. package/dist/src/embed/app.d.ts.map +1 -1
  151. package/dist/src/embed/conversation.d.ts +1 -0
  152. package/dist/src/embed/conversation.d.ts.map +1 -1
  153. package/dist/src/embed/hostEventClient/host-event-client.d.ts +5 -4
  154. package/dist/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  155. package/dist/src/embed/hostEventClient/utils.d.ts +10 -1
  156. package/dist/src/embed/hostEventClient/utils.d.ts.map +1 -1
  157. package/dist/src/embed/liveboard.d.ts +13 -164
  158. package/dist/src/embed/liveboard.d.ts.map +1 -1
  159. package/dist/src/embed/search.d.ts +14 -0
  160. package/dist/src/embed/search.d.ts.map +1 -1
  161. package/dist/src/embed/spotter-utils.d.ts +8 -1
  162. package/dist/src/embed/spotter-utils.d.ts.map +1 -1
  163. package/dist/src/embed/ts-embed.d.ts +20 -22
  164. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  165. package/dist/src/full-height.d.ts +137 -0
  166. package/dist/src/full-height.d.ts.map +1 -0
  167. package/dist/src/full-height.spec.d.ts +2 -0
  168. package/dist/src/full-height.spec.d.ts.map +1 -0
  169. package/dist/src/index.d.ts +5 -3
  170. package/dist/src/index.d.ts.map +1 -1
  171. package/dist/src/react/all-types-export.d.ts +1 -1
  172. package/dist/src/react/all-types-export.d.ts.map +1 -1
  173. package/dist/src/types.d.ts +584 -24
  174. package/dist/src/types.d.ts.map +1 -1
  175. package/dist/src/utils/filterConverter.d.ts +106 -0
  176. package/dist/src/utils/filterConverter.d.ts.map +1 -0
  177. package/dist/src/utils/filterConverter.spec.d.ts +2 -0
  178. package/dist/src/utils/filterConverter.spec.d.ts.map +1 -0
  179. package/dist/src/utils/processTrigger.d.ts +3 -1
  180. package/dist/src/utils/processTrigger.d.ts.map +1 -1
  181. package/dist/src/utils/transport/iframe-transport.d.ts +55 -0
  182. package/dist/src/utils/transport/iframe-transport.d.ts.map +1 -0
  183. package/dist/src/utils/transport/iframe-transport.spec.d.ts +2 -0
  184. package/dist/src/utils/transport/iframe-transport.spec.d.ts.map +1 -0
  185. package/dist/src/utils.d.ts +18 -0
  186. package/dist/src/utils.d.ts.map +1 -1
  187. package/dist/tsembed-react.es.js +1144 -412
  188. package/dist/tsembed-react.js +1143 -411
  189. package/dist/tsembed.es.js +1357 -418
  190. package/dist/tsembed.js +1352 -412
  191. package/dist/visual-embed-sdk-react-full.d.ts +1514 -651
  192. package/dist/visual-embed-sdk-react.d.ts +1351 -632
  193. package/dist/visual-embed-sdk.d.ts +1508 -668
  194. package/lib/package.json +19 -4
  195. package/lib/src/contracts/contracts.spec.d.ts +2 -0
  196. package/lib/src/contracts/contracts.spec.d.ts.map +1 -0
  197. package/lib/src/contracts/contracts.spec.js +342 -0
  198. package/lib/src/contracts/contracts.spec.js.map +1 -0
  199. package/lib/src/contracts/embed-event-payloads.d.ts +73 -0
  200. package/lib/src/contracts/embed-event-payloads.d.ts.map +1 -0
  201. package/lib/src/contracts/embed-event-payloads.js +2 -0
  202. package/lib/src/contracts/embed-event-payloads.js.map +1 -0
  203. package/lib/src/contracts/host-event-contracts.d.ts +416 -0
  204. package/lib/src/contracts/host-event-contracts.d.ts.map +1 -0
  205. package/lib/src/contracts/host-event-contracts.js +2 -0
  206. package/lib/src/contracts/host-event-contracts.js.map +1 -0
  207. package/lib/src/contracts/index.d.ts +22 -0
  208. package/lib/src/contracts/index.d.ts.map +1 -0
  209. package/lib/src/contracts/index.js +22 -0
  210. package/lib/src/contracts/index.js.map +1 -0
  211. package/lib/src/contracts/ui-passthrough-contracts.d.ts +277 -0
  212. package/lib/src/contracts/ui-passthrough-contracts.d.ts.map +1 -0
  213. package/lib/src/{embed/hostEventClient/contracts.js → contracts/ui-passthrough-contracts.js} +6 -2
  214. package/lib/src/contracts/ui-passthrough-contracts.js.map +1 -0
  215. package/lib/src/embed/app.d.ts +21 -143
  216. package/lib/src/embed/app.d.ts.map +1 -1
  217. package/lib/src/embed/app.js +23 -123
  218. package/lib/src/embed/app.js.map +1 -1
  219. package/lib/src/embed/app.spec.js +80 -26
  220. package/lib/src/embed/app.spec.js.map +1 -1
  221. package/lib/src/embed/auto-frame-renderer.js +1 -1
  222. package/lib/src/embed/auto-frame-renderer.js.map +1 -1
  223. package/lib/src/embed/auto-frame-renderer.spec.js +24 -13
  224. package/lib/src/embed/auto-frame-renderer.spec.js.map +1 -1
  225. package/lib/src/embed/bodyless-conversation.js +1 -1
  226. package/lib/src/embed/bodyless-conversation.js.map +1 -1
  227. package/lib/src/embed/conversation.d.ts +1 -0
  228. package/lib/src/embed/conversation.d.ts.map +1 -1
  229. package/lib/src/embed/conversation.js +5 -5
  230. package/lib/src/embed/conversation.js.map +1 -1
  231. package/lib/src/embed/conversation.spec.js +35 -24
  232. package/lib/src/embed/conversation.spec.js.map +1 -1
  233. package/lib/src/embed/embedConfig.spec.js +2 -1
  234. package/lib/src/embed/embedConfig.spec.js.map +1 -1
  235. package/lib/src/embed/events.spec.js +12 -2
  236. package/lib/src/embed/events.spec.js.map +1 -1
  237. package/lib/src/embed/hostEventClient/host-event-client.d.ts +5 -4
  238. package/lib/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  239. package/lib/src/embed/hostEventClient/host-event-client.js +19 -8
  240. package/lib/src/embed/hostEventClient/host-event-client.js.map +1 -1
  241. package/lib/src/embed/hostEventClient/host-event-client.spec.js +15 -9
  242. package/lib/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  243. package/lib/src/embed/hostEventClient/utils.d.ts +10 -1
  244. package/lib/src/embed/hostEventClient/utils.d.ts.map +1 -1
  245. package/lib/src/embed/hostEventClient/utils.js +48 -3
  246. package/lib/src/embed/hostEventClient/utils.js.map +1 -1
  247. package/lib/src/embed/hostEventClient/utils.spec.js +152 -1
  248. package/lib/src/embed/hostEventClient/utils.spec.js.map +1 -1
  249. package/lib/src/embed/liveboard.d.ts +13 -164
  250. package/lib/src/embed/liveboard.d.ts.map +1 -1
  251. package/lib/src/embed/liveboard.js +73 -136
  252. package/lib/src/embed/liveboard.js.map +1 -1
  253. package/lib/src/embed/liveboard.spec.js +213 -29
  254. package/lib/src/embed/liveboard.spec.js.map +1 -1
  255. package/lib/src/embed/search-bar.js +1 -1
  256. package/lib/src/embed/search-bar.js.map +1 -1
  257. package/lib/src/embed/search.d.ts +14 -0
  258. package/lib/src/embed/search.d.ts.map +1 -1
  259. package/lib/src/embed/search.js +5 -2
  260. package/lib/src/embed/search.js.map +1 -1
  261. package/lib/src/embed/search.spec.js +85 -0
  262. package/lib/src/embed/search.spec.js.map +1 -1
  263. package/lib/src/embed/spotter-utils.d.ts +8 -1
  264. package/lib/src/embed/spotter-utils.d.ts.map +1 -1
  265. package/lib/src/embed/spotter-utils.js +12 -0
  266. package/lib/src/embed/spotter-utils.js.map +1 -1
  267. package/lib/src/embed/spotter-utils.spec.js +27 -1
  268. package/lib/src/embed/spotter-utils.spec.js.map +1 -1
  269. package/lib/src/embed/ts-embed.d.ts +20 -22
  270. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  271. package/lib/src/embed/ts-embed.js +171 -66
  272. package/lib/src/embed/ts-embed.js.map +1 -1
  273. package/lib/src/embed/ts-embed.spec.js +484 -36
  274. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  275. package/lib/src/errors.js +1 -1
  276. package/lib/src/errors.js.map +1 -1
  277. package/lib/src/full-height.d.ts +137 -0
  278. package/lib/src/full-height.d.ts.map +1 -0
  279. package/lib/src/full-height.js +268 -0
  280. package/lib/src/full-height.js.map +1 -0
  281. package/lib/src/full-height.spec.d.ts +2 -0
  282. package/lib/src/full-height.spec.d.ts.map +1 -0
  283. package/lib/src/full-height.spec.js +833 -0
  284. package/lib/src/full-height.spec.js.map +1 -0
  285. package/lib/src/index.d.ts +5 -3
  286. package/lib/src/index.d.ts.map +1 -1
  287. package/lib/src/index.js +3 -2
  288. package/lib/src/index.js.map +1 -1
  289. package/lib/src/react/all-types-export.d.ts +1 -1
  290. package/lib/src/react/all-types-export.d.ts.map +1 -1
  291. package/lib/src/react/all-types-export.js +1 -1
  292. package/lib/src/react/all-types-export.js.map +1 -1
  293. package/lib/src/react/all-types-export.parity.spec.js +55 -3
  294. package/lib/src/react/all-types-export.parity.spec.js.map +1 -1
  295. package/lib/src/types.d.ts +584 -24
  296. package/lib/src/types.d.ts.map +1 -1
  297. package/lib/src/types.js +370 -22
  298. package/lib/src/types.js.map +1 -1
  299. package/lib/src/utils/authService/tokenizedAuthService.spec.js +2 -1
  300. package/lib/src/utils/authService/tokenizedAuthService.spec.js.map +1 -1
  301. package/lib/src/utils/custom-actions.spec.js +4 -2
  302. package/lib/src/utils/custom-actions.spec.js.map +1 -1
  303. package/lib/src/utils/filterConverter.d.ts +106 -0
  304. package/lib/src/utils/filterConverter.d.ts.map +1 -0
  305. package/lib/src/utils/filterConverter.js +210 -0
  306. package/lib/src/utils/filterConverter.js.map +1 -0
  307. package/lib/src/utils/filterConverter.spec.d.ts +2 -0
  308. package/lib/src/utils/filterConverter.spec.d.ts.map +1 -0
  309. package/lib/src/utils/filterConverter.spec.js +707 -0
  310. package/lib/src/utils/filterConverter.spec.js.map +1 -0
  311. package/lib/src/utils/processData.spec.js +2 -1
  312. package/lib/src/utils/processData.spec.js.map +1 -1
  313. package/lib/src/utils/processTrigger.d.ts +3 -1
  314. package/lib/src/utils/processTrigger.d.ts.map +1 -1
  315. package/lib/src/utils/processTrigger.js +19 -51
  316. package/lib/src/utils/processTrigger.js.map +1 -1
  317. package/lib/src/utils/transport/iframe-transport.d.ts +55 -0
  318. package/lib/src/utils/transport/iframe-transport.d.ts.map +1 -0
  319. package/lib/src/utils/transport/iframe-transport.js +101 -0
  320. package/lib/src/utils/transport/iframe-transport.js.map +1 -0
  321. package/lib/src/utils/transport/iframe-transport.spec.d.ts +2 -0
  322. package/lib/src/utils/transport/iframe-transport.spec.d.ts.map +1 -0
  323. package/lib/src/utils/transport/iframe-transport.spec.js +138 -0
  324. package/lib/src/utils/transport/iframe-transport.spec.js.map +1 -0
  325. package/lib/src/utils.d.ts +18 -0
  326. package/lib/src/utils.d.ts.map +1 -1
  327. package/lib/src/utils.js +37 -0
  328. package/lib/src/utils.js.map +1 -1
  329. package/lib/src/utils.spec.js +63 -1
  330. package/lib/src/utils.spec.js.map +1 -1
  331. package/lib/src/visual-embed-sdk.d.ts +1508 -668
  332. package/package.json +19 -4
  333. package/src/contracts/contracts.spec.ts +392 -0
  334. package/src/contracts/embed-event-payloads.ts +83 -0
  335. package/src/contracts/host-event-contracts.ts +500 -0
  336. package/src/contracts/index.ts +53 -0
  337. package/src/contracts/ui-passthrough-contracts.ts +301 -0
  338. package/src/embed/app.spec.ts +101 -34
  339. package/src/embed/app.ts +42 -268
  340. package/src/embed/auto-frame-renderer.spec.ts +24 -13
  341. package/src/embed/auto-frame-renderer.ts +1 -1
  342. package/src/embed/bodyless-conversation.ts +1 -1
  343. package/src/embed/conversation.spec.ts +38 -27
  344. package/src/embed/conversation.ts +5 -5
  345. package/src/embed/embedConfig.spec.ts +2 -1
  346. package/src/embed/events.spec.ts +14 -2
  347. package/src/embed/hostEventClient/host-event-client.spec.ts +16 -10
  348. package/src/embed/hostEventClient/host-event-client.ts +31 -10
  349. package/src/embed/hostEventClient/utils.spec.ts +176 -1
  350. package/src/embed/hostEventClient/utils.ts +53 -3
  351. package/src/embed/liveboard.spec.ts +261 -41
  352. package/src/embed/liveboard.ts +85 -300
  353. package/src/embed/search-bar.tsx +1 -1
  354. package/src/embed/search.spec.ts +103 -0
  355. package/src/embed/search.ts +21 -1
  356. package/src/embed/spotter-utils.spec.ts +29 -0
  357. package/src/embed/spotter-utils.ts +16 -0
  358. package/src/embed/ts-embed.spec.ts +650 -36
  359. package/src/embed/ts-embed.ts +205 -76
  360. package/src/errors.ts +1 -1
  361. package/src/full-height.spec.ts +1008 -0
  362. package/src/full-height.ts +361 -0
  363. package/src/index.ts +103 -5
  364. package/src/react/all-types-export.parity.spec.ts +63 -3
  365. package/src/react/all-types-export.ts +49 -0
  366. package/src/types.ts +584 -22
  367. package/src/utils/authService/tokenizedAuthService.spec.ts +2 -1
  368. package/src/utils/custom-actions.spec.ts +4 -2
  369. package/src/utils/filterConverter.spec.ts +801 -0
  370. package/src/utils/filterConverter.ts +304 -0
  371. package/src/utils/processData.spec.ts +2 -1
  372. package/src/utils/processTrigger.ts +28 -58
  373. package/src/utils/transport/iframe-transport.spec.ts +177 -0
  374. package/src/utils/transport/iframe-transport.ts +122 -0
  375. package/src/utils.spec.ts +71 -0
  376. package/src/utils.ts +38 -0
  377. package/cjs/src/embed/hostEventClient/contracts.d.ts +0 -231
  378. package/cjs/src/embed/hostEventClient/contracts.d.ts.map +0 -1
  379. package/cjs/src/embed/hostEventClient/contracts.js.map +0 -1
  380. package/dist/src/embed/hostEventClient/contracts.d.ts +0 -231
  381. package/dist/src/embed/hostEventClient/contracts.d.ts.map +0 -1
  382. package/lib/src/embed/hostEventClient/contracts.d.ts +0 -231
  383. package/lib/src/embed/hostEventClient/contracts.d.ts.map +0 -1
  384. package/lib/src/embed/hostEventClient/contracts.js.map +0 -1
  385. package/src/embed/hostEventClient/contracts.ts +0 -262
@@ -8,9 +8,9 @@
8
8
  * @author Ayon Ghosh <ayon.ghosh@thoughtspot.com>
9
9
  */
10
10
  import { logger } from '../utils/logger';
11
- import { calculateVisibleElementData, getEffectiveClippingAncestors, getQueryParamString, getScrollableAncestors, isUndefined, isValidCssMargin, setParamIfDefined } from '../utils';
12
- import { DEFAULT_LAZY_LOADING_MARGIN } from '../config';
13
- import { Param, HostEvent, EmbedEvent, } from '../types';
11
+ import { getQueryParamString, isUndefined, setParamIfDefined } from '../utils';
12
+ import { Param, HostEvent, } from '../types';
13
+ import { FullHeightController } from '../full-height';
14
14
  import { V1Embed } from './ts-embed';
15
15
  import { buildSpotterSidebarAppInitData, buildSpotterShareConversationAppInitData, buildStarterPromptsAppInitData } from './spotter-utils';
16
16
  import { buildSpotterVizAppInitData } from './spotter-viz-utils';
@@ -150,73 +150,17 @@ export class AppEmbed extends V1Embed {
150
150
  constructor(domSelector, viewConfig) {
151
151
  viewConfig.embedComponentType = 'AppEmbed';
152
152
  super(domSelector, viewConfig);
153
- this.defaultHeight = 500;
154
- this.lazyLoadScrollContainers = [];
155
- this.sendFullHeightLazyLoadData = () => {
156
- const data = calculateVisibleElementData(this.iFrame, this.viewConfig.enableScrollableContainerLazyLoading);
157
- // this should be fired only if the lazyLoadingForFullHeight and fullHeight are true
158
- if (this.viewConfig.lazyLoadingForFullHeight && this.viewConfig.fullHeight) {
159
- this.trigger(HostEvent.VisibleEmbedCoordinates, data);
160
- }
161
- };
162
- /**
163
- * This is a handler for the RequestVisibleEmbedCoordinates event.
164
- * It is used to send the visible coordinates data to the host application.
165
- * @param data The event payload
166
- * @param responder The responder function
167
- */
168
- this.requestVisibleEmbedCoordinatesHandler = (data, responder) => {
169
- logger.info('Sending RequestVisibleEmbedCoordinates', data);
170
- const visibleCoordinatesData = calculateVisibleElementData(this.iFrame, this.viewConfig.enableScrollableContainerLazyLoading);
171
- responder({ type: EmbedEvent.RequestVisibleEmbedCoordinates, data: visibleCoordinatesData });
172
- };
173
- /**
174
- * Set the iframe height as per the computed height received
175
- * from the ThoughtSpot app.
176
- * @param data The event payload
177
- */
178
- this.updateIFrameHeight = (data) => {
179
- this.setIFrameHeight(Math.max(data.data, this.defaultHeight));
180
- this.sendFullHeightLazyLoadData();
181
- };
182
- this.embedIframeCenter = (data, responder) => {
183
- const obj = this.getIframeCenter();
184
- responder({ type: EmbedEvent.EmbedIframeCenter, data: obj });
185
- };
186
- this.setIframeHeightForNonEmbedLiveboard = (data) => {
187
- const { height: frameHeight } = this.viewConfig.frameParams || {};
188
- const liveboardRelatedRoutes = [
189
- '/pinboard/',
190
- '/insights/pinboard/',
191
- '/schedules/',
192
- '/embed/viz/',
193
- '/embed/insights/viz/',
194
- '/liveboard/',
195
- '/insights/liveboard/',
196
- '/tsl-editor/PINBOARD_ANSWER_BOOK/',
197
- '/import-tsl/PINBOARD_ANSWER_BOOK/',
198
- ];
199
- if (liveboardRelatedRoutes.some((path) => data.data.currentPath.startsWith(path))) {
200
- // Ignore the height reset of the frame, if the navigation is
201
- // only within the liveboard page.
202
- return;
203
- }
204
- this.setIFrameHeight(frameHeight || this.defaultHeight);
205
- };
206
153
  if (this.viewConfig.fullHeight === true) {
207
- if (this.viewConfig.lazyLoadingForFullHeight === undefined) {
208
- this.viewConfig.lazyLoadingForFullHeight = true;
209
- }
210
- if (this.viewConfig.enableScrollableContainerLazyLoading === undefined) {
211
- this.viewConfig.enableScrollableContainerLazyLoading = true;
212
- }
213
- if (this.viewConfig.lazyLoadingMargin === undefined) {
214
- this.viewConfig.lazyLoadingMargin = DEFAULT_LAZY_LOADING_MARGIN;
215
- }
216
- this.on(EmbedEvent.RouteChange, this.setIframeHeightForNonEmbedLiveboard);
217
- this.on(EmbedEvent.EmbedHeight, this.updateIFrameHeight);
218
- this.on(EmbedEvent.EmbedIframeCenter, this.embedIframeCenter);
219
- this.on(EmbedEvent.RequestVisibleEmbedCoordinates, this.requestVisibleEmbedCoordinatesHandler);
154
+ this.fullHeightController = new FullHeightController(this.viewConfig, {
155
+ getIframe: () => this.iFrame,
156
+ setFrameHeight: (height) => this.setIFrameHeight(height),
157
+ on: (eventType, callback) => {
158
+ this.on(eventType, callback);
159
+ },
160
+ trigger: (hostEvent, data) => {
161
+ this.trigger(hostEvent, data);
162
+ },
163
+ });
220
164
  }
221
165
  }
222
166
  /**
@@ -243,11 +187,12 @@ export class AppEmbed extends V1Embed {
243
187
  * embedded Liveboard or visualization.
244
188
  */
245
189
  getEmbedParams() {
246
- const params = this.getEmbedParamsObject();
190
+ const params = this.getUrlQueryParamsObject();
247
191
  return getQueryParamString(params, true);
248
192
  }
249
193
  getEmbedParamsObject() {
250
- const { tag, hideTagFilterChips, hideObjects, liveboardV2, showPrimaryNavbar, disableProfileAndHelp, hideHamburger, hideObjectSearch, hideNotification, hideApplicationSwitcher, hideOrgSwitcher, enableSearchAssist, newConnectionsExperience, fullHeight, dataPanelV2 = true, updatedSpotterExperience, hideLiveboardHeader = false, showLiveboardTitle = true, showLiveboardDescription = true, showMaskedFilterChip = false, isLiveboardMasterpiecesEnabled, newChartsLibrary, hideHomepageLeftNav = false, modularHomeExperience, isLiveboardHeaderSticky = true, enableAskSage, collapseSearchBarInitially = false, enable2ColumnLayout, isLiveboardAlwaysOn12ColLayout, enableCustomColumnGroups = false, dataPanelCustomGroupsAccordionInitialState = DataPanelCustomColumnGroupsAccordionState.EXPAND_ALL, collapseSearchBar = true, isLiveboardCompactHeaderEnabled, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, hideIrrelevantChipsInLiveboardTabs, isEnhancedFilterInteractivityEnabled, homePageSearchBarMode, isUnifiedSearchExperienceEnabled = true, enablePendoHelp = true, discoveryExperience, coverAndFilterOptionInPDF, isLiveboardStylingAndGroupingEnabled, liveboardGutter, isPNGInScheduledEmailsEnabled = false, isLiveboardXLSXCSVDownloadEnabled, isGranularXLSXCSVSchedulesEnabled, isCentralizedLiveboardFilterUXEnabled = false, isScopedLiveboardFilteringEnabled, isLinkParametersEnabled, updatedSpotterChatPrompt, showSpotterRadiance, defaultQueryMode, enableStopAnswerGenerationEmbed, spotterChatConfig, spotterDataSources, minimumHeight, isThisPeriodInDateFiltersEnabled, enableHomepageAnnouncement = false, isContinuousLiveboardPDFEnabled, enableLiveboardDataCache, } = this.viewConfig;
194
+ var _a;
195
+ const { tag, hideTagFilterChips, hideObjects, liveboardV2, showPrimaryNavbar, disableProfileAndHelp, hideHamburger, hideObjectSearch, hideNotification, hideApplicationSwitcher, hideOrgSwitcher, enableSearchAssist, newConnectionsExperience, dataPanelV2 = true, updatedSpotterExperience, hideLiveboardHeader = false, showLiveboardTitle = true, showLiveboardDescription = true, showMaskedFilterChip = false, isLiveboardMasterpiecesEnabled, newChartsLibrary, hideHomepageLeftNav = false, modularHomeExperience, isLiveboardHeaderSticky = true, enableAskSage, collapseSearchBarInitially = false, enable2ColumnLayout, isLiveboardAlwaysOn12ColLayout, enableCustomColumnGroups = false, dataPanelCustomGroupsAccordionInitialState = DataPanelCustomColumnGroupsAccordionState.EXPAND_ALL, collapseSearchBar = true, isLiveboardCompactHeaderEnabled, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, hideIrrelevantChipsInLiveboardTabs, isEnhancedFilterInteractivityEnabled, homePageSearchBarMode, isUnifiedSearchExperienceEnabled = true, enablePendoHelp = true, discoveryExperience, coverAndFilterOptionInPDF, isLiveboardStylingAndGroupingEnabled, liveboardGutter, isPNGInScheduledEmailsEnabled = false, isLiveboardXLSXCSVDownloadEnabled, isGranularXLSXCSVSchedulesEnabled, isCentralizedLiveboardFilterUXEnabled = false, isScopedLiveboardFilteringEnabled, isLinkParametersEnabled, updatedSpotterChatPrompt, showSpotterRadiance, defaultQueryMode, enableStopAnswerGenerationEmbed, spotterChatConfig, spotterDataSources, isThisPeriodInDateFiltersEnabled, enableHomepageAnnouncement = false, isContinuousLiveboardPDFEnabled, enableLiveboardDataCache, hideAnswerEditPanel, } = this.viewConfig;
251
196
  let params = {};
252
197
  params[Param.PrimaryNavHidden] = !showPrimaryNavbar;
253
198
  params[Param.HideProfleAndHelp] = !!disableProfileAndHelp;
@@ -283,6 +228,9 @@ export class AppEmbed extends V1Embed {
283
228
  if (!isUndefined(coverAndFilterOptionInPDF)) {
284
229
  params[Param.CoverAndFilterOptionInPDF] = !!coverAndFilterOptionInPDF;
285
230
  }
231
+ if (!isUndefined(hideAnswerEditPanel)) {
232
+ params[Param.ShowAnswerEditPanel] = !hideAnswerEditPanel;
233
+ }
286
234
  params = this.getBaseQueryParams(params);
287
235
  if (!isUndefined(updatedSpotterChatPrompt)) {
288
236
  params[Param.UpdatedSpotterChatPrompt] = !!updatedSpotterChatPrompt;
@@ -329,15 +277,7 @@ export class AppEmbed extends V1Embed {
329
277
  if (hideNotification) {
330
278
  params[Param.HideNotification] = !!hideNotification;
331
279
  }
332
- if (fullHeight === true) {
333
- params[Param.fullHeight] = true;
334
- if (this.viewConfig.lazyLoadingForFullHeight) {
335
- params[Param.IsLazyLoadingForEmbedEnabled] = true;
336
- if (isValidCssMargin(this.viewConfig.lazyLoadingMargin)) {
337
- params[Param.RootMarginForLazyLoad] = this.viewConfig.lazyLoadingMargin;
338
- }
339
- }
340
- }
280
+ (_a = this.fullHeightController) === null || _a === void 0 ? void 0 : _a.addQueryParams(params);
341
281
  if (tag) {
342
282
  params[Param.Tag] = tag;
343
283
  }
@@ -404,7 +344,6 @@ export class AppEmbed extends V1Embed {
404
344
  if (isContinuousLiveboardPDFEnabled !== undefined) {
405
345
  params[Param.IsWYSIWYGLiveboardPDFEnabled] = isContinuousLiveboardPDFEnabled;
406
346
  }
407
- this.defaultHeight = minimumHeight || this.defaultHeight;
408
347
  if (enableLiveboardDataCache !== undefined) {
409
348
  params[Param.EnableLiveboardDataCache] = enableLiveboardDataCache;
410
349
  }
@@ -543,52 +482,13 @@ export class AppEmbed extends V1Embed {
543
482
  * @version SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
544
483
  */
545
484
  destroy() {
485
+ var _a;
546
486
  super.destroy();
547
- this.unregisterLazyLoadEvents();
487
+ (_a = this.fullHeightController) === null || _a === void 0 ? void 0 : _a.destroy();
548
488
  }
549
489
  postRender() {
550
- this.registerLazyLoadEvents();
551
- }
552
- registerLazyLoadEvents() {
553
- if (!this.iFrame) {
554
- return;
555
- }
556
- if (this.viewConfig.fullHeight && this.viewConfig.lazyLoadingForFullHeight) {
557
- this.unregisterLazyLoadEvents();
558
- // TODO: Use passive: true, install modernizr to check for passive
559
- window.addEventListener('resize', this.sendFullHeightLazyLoadData);
560
- window.addEventListener('scroll', this.sendFullHeightLazyLoadData, true);
561
- if (!this.viewConfig.enableScrollableContainerLazyLoading) {
562
- return;
563
- }
564
- this.lazyLoadScrollContainers = getScrollableAncestors(this.iFrame);
565
- this.lazyLoadScrollContainers.forEach((scrollContainer) => {
566
- scrollContainer.addEventListener('scroll', this.sendFullHeightLazyLoadData);
567
- });
568
- if (typeof ResizeObserver !== 'undefined') {
569
- const resizeTargets = new Set([
570
- this.iFrame.parentElement,
571
- ...getEffectiveClippingAncestors(this.iFrame),
572
- ].filter(Boolean));
573
- this.lazyLoadResizeObserver = new ResizeObserver(this.sendFullHeightLazyLoadData);
574
- resizeTargets.forEach((resizeTarget) => {
575
- this.lazyLoadResizeObserver.observe(resizeTarget);
576
- });
577
- }
578
- }
579
- }
580
- unregisterLazyLoadEvents() {
581
490
  var _a;
582
- if (this.viewConfig.fullHeight && this.viewConfig.lazyLoadingForFullHeight) {
583
- window.removeEventListener('resize', this.sendFullHeightLazyLoadData);
584
- window.removeEventListener('scroll', this.sendFullHeightLazyLoadData, true);
585
- (_a = this.lazyLoadResizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
586
- this.lazyLoadResizeObserver = undefined;
587
- this.lazyLoadScrollContainers.forEach((scrollContainer) => {
588
- scrollContainer.removeEventListener('scroll', this.sendFullHeightLazyLoadData);
589
- });
590
- this.lazyLoadScrollContainers = [];
591
- }
491
+ (_a = this.fullHeightController) === null || _a === void 0 ? void 0 : _a.onRender();
592
492
  }
593
493
  /**
594
494
  * Renders the embedded application pages in the ThoughtSpot app.
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/embed/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/embed/app.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,7 @@ const testUrlParams = async (viewConfig, expectedUrl) => {
28
28
  expectUrlMatchesWithParams(getIFrameSrc(), expectedUrl);
29
29
  });
30
30
  };
31
- // Helper function to test setIframeHeightForNonEmbedLiveboard behavior
31
+ // Helper function to test the full-height route-change behavior
32
32
  const testSetIframeHeightBehavior = (currentPath, shouldBeCalled) => {
33
33
  const appEmbed = new AppEmbed(getRootEl(), {
34
34
  ...defaultViewConfig,
@@ -38,7 +38,7 @@ const testSetIframeHeightBehavior = (currentPath, shouldBeCalled) => {
38
38
  ? jest.spyOn(appEmbed, 'setIFrameHeight').mockImplementation(jest.fn())
39
39
  : jest.spyOn(appEmbed, 'setIFrameHeight');
40
40
  appEmbed.render();
41
- appEmbed.setIframeHeightForNonEmbedLiveboard({
41
+ appEmbed.fullHeightController.handleRouteChange({
42
42
  data: { currentPath },
43
43
  type: 'Route',
44
44
  });
@@ -278,6 +278,16 @@ describe('App embed tests', () => {
278
278
  expectUrlMatchesWithParams(getIFrameSrc(), `http://${thoughtSpotHost}/?embedApp=true&primaryNavHidden=false&profileAndHelpInNavBarHidden=false&navigationVersion=v3&homepageVersion=v3&${defaultParamsWithoutHiddenActions}&disableAction=[%22save%22,%22update%22]&disableHint=Access%20denied&hideAction=[%22${Action.ReportError}%22,%22download%22]${defaultParamsPost}#/home`);
279
279
  });
280
280
  });
281
+ test('should hide the Customize homepage button via hiddenActions', async () => {
282
+ const appEmbed = new AppEmbed(getRootEl(), {
283
+ ...defaultViewConfig,
284
+ hiddenActions: [Action.CustomizeHomepage],
285
+ });
286
+ appEmbed.render();
287
+ await executeAfterWait(() => {
288
+ expectUrlMatchesWithParams(getIFrameSrc(), `http://${thoughtSpotHost}/?embedApp=true&primaryNavHidden=true&profileAndHelpInNavBarHidden=false&hideHomepageLeftNav=false&navigationVersion=v3&homepageVersion=v3&${defaultParamsWithoutHiddenActions}&hideAction=[%22${Action.ReportError}%22,%22customizeHomepage%22]${defaultParamsPost}#/home`);
289
+ });
290
+ });
281
291
  test('should set enable2ColumnLayout to true in url', async () => {
282
292
  const appEmbed = new AppEmbed(getRootEl(), {
283
293
  ...defaultViewConfig,
@@ -1345,6 +1355,7 @@ describe('App embed tests', () => {
1345
1355
  });
1346
1356
  test('should register event handlers to adjust iframe height', async () => {
1347
1357
  let embedHeightCallback = () => { };
1358
+ let embedIframeCenterCallback = () => { };
1348
1359
  const onSpy = jest.spyOn(AppEmbed.prototype, 'on').mockImplementation((event, callback) => {
1349
1360
  if (event === EmbedEvent.RouteChange) {
1350
1361
  callback({ type: EmbedEvent.RouteChange, data: { currentPath: '/answers' } }, jest.fn());
@@ -1353,11 +1364,10 @@ describe('App embed tests', () => {
1353
1364
  embedHeightCallback = callback;
1354
1365
  }
1355
1366
  if (event === EmbedEvent.EmbedIframeCenter) {
1356
- callback({ type: EmbedEvent.EmbedIframeCenter, data: {} }, jest.fn());
1367
+ embedIframeCenterCallback = callback;
1357
1368
  }
1358
1369
  return null;
1359
1370
  });
1360
- jest.spyOn(TsEmbed.prototype, 'getIframeCenter').mockReturnValue({});
1361
1371
  jest.spyOn(TsEmbed.prototype, 'setIFrameHeight').mockReturnValue({});
1362
1372
  const appEmbed = new AppEmbed(getRootEl(), {
1363
1373
  ...defaultViewConfig,
@@ -1370,13 +1380,20 @@ describe('App embed tests', () => {
1370
1380
  // Wait for render to complete
1371
1381
  await appEmbed.render();
1372
1382
  embedHeightCallback({ data: '100%' });
1383
+ // The app only asks for the iframe center once the iframe exists.
1384
+ const centerResponder = jest.fn();
1385
+ embedIframeCenterCallback({ type: EmbedEvent.EmbedIframeCenter, data: {} }, centerResponder);
1373
1386
  // Verify event handlers were registered
1374
1387
  await executeAfterWait(() => {
1375
1388
  expect(onSpy).toHaveBeenCalledWith(EmbedEvent.EmbedHeight, expect.anything());
1376
1389
  expect(onSpy).toHaveBeenCalledWith(EmbedEvent.RouteChange, expect.anything());
1377
1390
  expect(onSpy).toHaveBeenCalledWith(EmbedEvent.EmbedIframeCenter, expect.anything());
1378
1391
  expect(onSpy).toHaveBeenCalledWith(EmbedEvent.RequestVisibleEmbedCoordinates, expect.anything());
1392
+ expect(centerResponder).toHaveBeenCalledWith(expect.objectContaining({ type: EmbedEvent.EmbedIframeCenter }));
1379
1393
  }, 100);
1394
+ // This test replaces AppEmbed.prototype.on; restore it so the mock does
1395
+ // not leak into the tests that follow.
1396
+ jest.restoreAllMocks();
1380
1397
  });
1381
1398
  describe('Navigate to Page API', () => {
1382
1399
  const path = 'pinboard/e0836cad-4fdf-42d4-bd97-567a6b2a6058';
@@ -1559,7 +1576,6 @@ describe('App embed tests', () => {
1559
1576
  const onSpy = jest.spyOn(AppEmbed.prototype, 'on').mockImplementation((event, callback) => {
1560
1577
  return null;
1561
1578
  });
1562
- jest.spyOn(TsEmbed.prototype, 'getIframeCenter').mockReturnValue({});
1563
1579
  jest.spyOn(TsEmbed.prototype, 'setIFrameHeight').mockReturnValue({});
1564
1580
  // Create the AppEmbed instance
1565
1581
  const appEmbed = new AppEmbed(getRootEl(), {
@@ -1587,9 +1603,6 @@ describe('App embed tests', () => {
1587
1603
  ...defaultViewConfig,
1588
1604
  fullHeight: true,
1589
1605
  });
1590
- expect(appEmbed.viewConfig.lazyLoadingForFullHeight).toBe(true);
1591
- expect(appEmbed.viewConfig.enableScrollableContainerLazyLoading).toBe(true);
1592
- expect(appEmbed.viewConfig.lazyLoadingMargin).toBe('500px 0px');
1593
1606
  await appEmbed.render();
1594
1607
  await executeAfterWait(() => {
1595
1608
  const iframeSrc = getIFrameSrc();
@@ -1602,9 +1615,13 @@ describe('App embed tests', () => {
1602
1615
  const appEmbed = new AppEmbed(getRootEl(), {
1603
1616
  ...defaultViewConfig,
1604
1617
  });
1605
- expect(appEmbed.viewConfig.lazyLoadingForFullHeight).toBeUndefined();
1606
- expect(appEmbed.viewConfig.enableScrollableContainerLazyLoading).toBeUndefined();
1607
- expect(appEmbed.viewConfig.lazyLoadingMargin).toBeUndefined();
1618
+ await appEmbed.render();
1619
+ await executeAfterWait(() => {
1620
+ const iframeSrc = getIFrameSrc();
1621
+ expect(iframeSrc).not.toContain('isFullHeightPinboard');
1622
+ expect(iframeSrc).not.toContain('isLazyLoadingForEmbedEnabled');
1623
+ expect(iframeSrc).not.toContain('rootMarginForLazyLoad');
1624
+ }, 100);
1608
1625
  });
1609
1626
  test('should not write the defaults back onto the caller view config', async () => {
1610
1627
  const callerViewConfig = {
@@ -1621,9 +1638,13 @@ describe('App embed tests', () => {
1621
1638
  ...defaultViewConfig,
1622
1639
  fullHeight: false,
1623
1640
  });
1624
- expect(appEmbed.viewConfig.lazyLoadingForFullHeight).toBeUndefined();
1625
- expect(appEmbed.viewConfig.enableScrollableContainerLazyLoading).toBeUndefined();
1626
- expect(appEmbed.viewConfig.lazyLoadingMargin).toBeUndefined();
1641
+ await appEmbed.render();
1642
+ await executeAfterWait(() => {
1643
+ const iframeSrc = getIFrameSrc();
1644
+ expect(iframeSrc).not.toContain('isFullHeightPinboard');
1645
+ expect(iframeSrc).not.toContain('isLazyLoadingForEmbedEnabled');
1646
+ expect(iframeSrc).not.toContain('rootMarginForLazyLoad');
1647
+ }, 100);
1627
1648
  });
1628
1649
  test('should default lazyLoadingMargin when lazyLoadingForFullHeight is set explicitly', async () => {
1629
1650
  const appEmbed = new AppEmbed(getRootEl(), {
@@ -1631,10 +1652,9 @@ describe('App embed tests', () => {
1631
1652
  fullHeight: true,
1632
1653
  lazyLoadingForFullHeight: true,
1633
1654
  });
1634
- expect(appEmbed.viewConfig.lazyLoadingMargin).toBe(config.DEFAULT_LAZY_LOADING_MARGIN);
1635
1655
  await appEmbed.render();
1636
1656
  await executeAfterWait(() => {
1637
- expect(getIFrameSrc()).toContain('rootMarginForLazyLoad=500px%200px');
1657
+ expect(getIFrameSrc()).toContain(`rootMarginForLazyLoad=${encodeURIComponent(config.DEFAULT_LAZY_LOADING_MARGIN)}`);
1638
1658
  }, 100);
1639
1659
  });
1640
1660
  test('should let an explicit lazyLoadingMargin win over the default', async () => {
@@ -1801,7 +1821,7 @@ describe('App embed tests', () => {
1801
1821
  const mockTrigger = jest.spyOn(appEmbed, 'trigger');
1802
1822
  await appEmbed.render();
1803
1823
  // Trigger the lazy load data calculation
1804
- appEmbed.sendFullHeightLazyLoadData();
1824
+ appEmbed.fullHeightController.sendVisibleCoordinates();
1805
1825
  expect(mockTrigger).toHaveBeenCalledWith(HostEvent.VisibleEmbedCoordinates, {
1806
1826
  top: 0,
1807
1827
  height: 500,
@@ -1819,7 +1839,7 @@ describe('App embed tests', () => {
1819
1839
  const mockTrigger = jest.spyOn(appEmbed, 'trigger');
1820
1840
  await appEmbed.render();
1821
1841
  // Trigger the lazy load data calculation
1822
- appEmbed.sendFullHeightLazyLoadData();
1842
+ appEmbed.fullHeightController.sendVisibleCoordinates();
1823
1843
  expect(mockTrigger).not.toHaveBeenCalledWith(HostEvent.VisibleEmbedCoordinates, {
1824
1844
  top: 0,
1825
1845
  height: 500,
@@ -1846,7 +1866,7 @@ describe('App embed tests', () => {
1846
1866
  const mockTrigger = jest.spyOn(appEmbed, 'trigger');
1847
1867
  await appEmbed.render();
1848
1868
  // Trigger the lazy load data calculation
1849
- appEmbed.sendFullHeightLazyLoadData();
1869
+ appEmbed.fullHeightController.sendVisibleCoordinates();
1850
1870
  expect(mockTrigger).toHaveBeenCalledWith(HostEvent.VisibleEmbedCoordinates, {
1851
1871
  top: 50,
1852
1872
  height: 700,
@@ -1931,7 +1951,7 @@ describe('App embed tests', () => {
1931
1951
  // Create a mock responder function
1932
1952
  const mockResponder = jest.fn();
1933
1953
  // Trigger the handler directly
1934
- appEmbed.requestVisibleEmbedCoordinatesHandler({}, mockResponder);
1954
+ appEmbed.fullHeightController.handleRequestVisibleCoordinates({}, mockResponder);
1935
1955
  // Verify the responder was called with the correct data
1936
1956
  expect(mockResponder).toHaveBeenCalledWith({
1937
1957
  type: EmbedEvent.RequestVisibleEmbedCoordinates,
@@ -1980,7 +2000,7 @@ describe('App embed tests', () => {
1980
2000
  data: 600,
1981
2001
  type: EmbedEvent.EmbedHeight,
1982
2002
  };
1983
- appEmbed.updateIFrameHeight(mockEvent);
2003
+ appEmbed.fullHeightController.handleEmbedHeight(mockEvent);
1984
2004
  // Check if the iframe style was updated
1985
2005
  expect(mockIFrame.style.height).toBe('600px');
1986
2006
  });
@@ -1997,7 +2017,7 @@ describe('App embed tests', () => {
1997
2017
  data: 0,
1998
2018
  type: EmbedEvent.EmbedHeight,
1999
2019
  };
2000
- appEmbed.updateIFrameHeight(mockEvent);
2020
+ appEmbed.fullHeightController.handleEmbedHeight(mockEvent);
2001
2021
  // Should use the default height
2002
2022
  expect(mockIFrame.style.height).toBe('500px');
2003
2023
  });
@@ -2010,7 +2030,7 @@ describe('App Embed Default Height and Minimum Height Handling', () => {
2010
2030
  fullHeight: true,
2011
2031
  });
2012
2032
  await appEmbed.render();
2013
- expect(appEmbed['defaultHeight']).toBe(500);
2033
+ expect(appEmbed['fullHeightController'].minimumHeight).toBe(500);
2014
2034
  });
2015
2035
  test('should set default height to 700 when default height is provided', async () => {
2016
2036
  const appEmbed = new AppEmbed(getRootEl(), {
@@ -2019,7 +2039,7 @@ describe('App Embed Default Height and Minimum Height Handling', () => {
2019
2039
  minimumHeight: 700,
2020
2040
  });
2021
2041
  await appEmbed.render();
2022
- expect(appEmbed['defaultHeight']).toBe(700);
2042
+ expect(appEmbed['fullHeightController'].minimumHeight).toBe(700);
2023
2043
  });
2024
2044
  });
2025
2045
  describe('AppEmbed uncovered branch tests', () => {
@@ -2050,6 +2070,40 @@ describe('AppEmbed uncovered branch tests', () => {
2050
2070
  });
2051
2071
  });
2052
2072
  });
2073
+ test('should set showAnswerEditPanel=false when hideAnswerEditPanel is true', async () => {
2074
+ const appEmbed = new AppEmbed(getRootEl(), {
2075
+ ...defaultViewConfig,
2076
+ hideAnswerEditPanel: true,
2077
+ });
2078
+ appEmbed.render();
2079
+ await executeAfterWait(() => {
2080
+ expectUrlToHaveParamsWithValues(getIFrameSrc(), {
2081
+ showAnswerEditPanel: 'false',
2082
+ });
2083
+ });
2084
+ });
2085
+ test('should set showAnswerEditPanel=true when hideAnswerEditPanel is false', async () => {
2086
+ const appEmbed = new AppEmbed(getRootEl(), {
2087
+ ...defaultViewConfig,
2088
+ hideAnswerEditPanel: false,
2089
+ });
2090
+ appEmbed.render();
2091
+ await executeAfterWait(() => {
2092
+ expectUrlToHaveParamsWithValues(getIFrameSrc(), {
2093
+ showAnswerEditPanel: 'true',
2094
+ });
2095
+ });
2096
+ });
2097
+ test('should not set showAnswerEditPanel param when hideAnswerEditPanel is not provided', async () => {
2098
+ const appEmbed = new AppEmbed(getRootEl(), {
2099
+ ...defaultViewConfig,
2100
+ });
2101
+ appEmbed.render();
2102
+ await executeAfterWait(() => {
2103
+ const url = new URL(getIFrameSrc());
2104
+ expect(url.searchParams.has('showAnswerEditPanel')).toBe(false);
2105
+ });
2106
+ });
2053
2107
  test('should set hideObjects param when non-empty array is provided', async () => {
2054
2108
  const appEmbed = new AppEmbed(getRootEl(), {
2055
2109
  ...defaultViewConfig,
@@ -2097,7 +2151,7 @@ describe('AppEmbed uncovered branch tests', () => {
2097
2151
  expect(src).not.toContain('#//pinboards');
2098
2152
  });
2099
2153
  });
2100
- test('registerLazyLoadEvents should return early when iFrame is not set', () => {
2154
+ test('lazy load registration should return early when iFrame is not set', () => {
2101
2155
  const appEmbed = new AppEmbed(getRootEl(), {
2102
2156
  ...defaultViewConfig,
2103
2157
  fullHeight: true,
@@ -2105,7 +2159,7 @@ describe('AppEmbed uncovered branch tests', () => {
2105
2159
  });
2106
2160
  // iFrame is not set (render not called), should not throw
2107
2161
  expect(() => {
2108
- appEmbed.registerLazyLoadEvents();
2162
+ appEmbed.fullHeightController.onRender();
2109
2163
  }).not.toThrow();
2110
2164
  });
2111
2165
  });