@thoughtspot/visual-embed-sdk 1.20.2 → 1.20.3

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 (368) hide show
  1. package/README.md +1 -1
  2. package/cjs/package.json +171 -0
  3. package/cjs/src/auth.d.ts +183 -0
  4. package/cjs/src/auth.d.ts.map +1 -0
  5. package/cjs/src/auth.js +457 -0
  6. package/cjs/src/auth.js.map +1 -0
  7. package/cjs/src/auth.spec.d.ts +13 -0
  8. package/cjs/src/auth.spec.d.ts.map +1 -0
  9. package/cjs/src/auth.spec.js +397 -0
  10. package/cjs/src/auth.spec.js.map +1 -0
  11. package/cjs/src/config.d.ts +22 -0
  12. package/cjs/src/config.d.ts.map +1 -0
  13. package/cjs/src/config.js +70 -0
  14. package/cjs/src/config.js.map +1 -0
  15. package/cjs/src/config.spec.d.ts +5 -0
  16. package/cjs/src/config.spec.d.ts.map +1 -0
  17. package/cjs/src/config.spec.js +65 -0
  18. package/cjs/src/config.spec.js.map +1 -0
  19. package/cjs/src/embed/app.d.ts +168 -0
  20. package/cjs/src/embed/app.d.ts.map +1 -0
  21. package/cjs/src/embed/app.js +215 -0
  22. package/cjs/src/embed/app.js.map +1 -0
  23. package/cjs/src/embed/app.spec.d.ts +2 -0
  24. package/cjs/src/embed/app.spec.d.ts.map +1 -0
  25. package/cjs/src/embed/app.spec.js +239 -0
  26. package/cjs/src/embed/app.spec.js.map +1 -0
  27. package/cjs/src/embed/base.d.ts +79 -0
  28. package/cjs/src/embed/base.d.ts.map +1 -0
  29. package/cjs/src/embed/base.js +229 -0
  30. package/cjs/src/embed/base.js.map +1 -0
  31. package/cjs/src/embed/base.spec.d.ts +2 -0
  32. package/cjs/src/embed/base.spec.d.ts.map +1 -0
  33. package/cjs/src/embed/base.spec.js +198 -0
  34. package/cjs/src/embed/base.spec.js.map +1 -0
  35. package/cjs/src/embed/embed.spec.d.ts +2 -0
  36. package/cjs/src/embed/embed.spec.d.ts.map +1 -0
  37. package/cjs/src/embed/embed.spec.js +74 -0
  38. package/cjs/src/embed/embed.spec.js.map +1 -0
  39. package/cjs/src/embed/events.spec.d.ts +2 -0
  40. package/cjs/src/embed/events.spec.d.ts.map +1 -0
  41. package/cjs/src/embed/events.spec.js +238 -0
  42. package/cjs/src/embed/events.spec.js.map +1 -0
  43. package/cjs/src/embed/liveboard.d.ts +150 -0
  44. package/cjs/src/embed/liveboard.d.ts.map +1 -0
  45. package/cjs/src/embed/liveboard.js +168 -0
  46. package/cjs/src/embed/liveboard.js.map +1 -0
  47. package/cjs/src/embed/liveboard.spec.d.ts +2 -0
  48. package/cjs/src/embed/liveboard.spec.d.ts.map +1 -0
  49. package/cjs/src/embed/liveboard.spec.js +229 -0
  50. package/cjs/src/embed/liveboard.spec.js.map +1 -0
  51. package/cjs/src/embed/pinboard.spec.d.ts +2 -0
  52. package/cjs/src/embed/pinboard.spec.d.ts.map +1 -0
  53. package/cjs/src/embed/pinboard.spec.js +148 -0
  54. package/cjs/src/embed/pinboard.spec.js.map +1 -0
  55. package/cjs/src/embed/search-bar.d.ts +50 -0
  56. package/cjs/src/embed/search-bar.d.ts.map +1 -0
  57. package/cjs/src/embed/search-bar.js +63 -0
  58. package/cjs/src/embed/search-bar.js.map +1 -0
  59. package/cjs/src/embed/search.d.ts +129 -0
  60. package/cjs/src/embed/search.d.ts.map +1 -0
  61. package/cjs/src/embed/search.js +121 -0
  62. package/cjs/src/embed/search.js.map +1 -0
  63. package/cjs/src/embed/search.spec.d.ts +2 -0
  64. package/cjs/src/embed/search.spec.d.ts.map +1 -0
  65. package/cjs/src/embed/search.spec.js +238 -0
  66. package/cjs/src/embed/search.spec.js.map +1 -0
  67. package/cjs/src/embed/searchEmbed-basic-auth.spec.d.ts +2 -0
  68. package/cjs/src/embed/searchEmbed-basic-auth.spec.d.ts.map +1 -0
  69. package/cjs/src/embed/searchEmbed-basic-auth.spec.js +103 -0
  70. package/cjs/src/embed/searchEmbed-basic-auth.spec.js.map +1 -0
  71. package/cjs/src/embed/ts-embed.d.ts +323 -0
  72. package/cjs/src/embed/ts-embed.d.ts.map +1 -0
  73. package/cjs/src/embed/ts-embed.js +719 -0
  74. package/cjs/src/embed/ts-embed.js.map +1 -0
  75. package/cjs/src/embed/ts-embed.spec.d.ts +2 -0
  76. package/cjs/src/embed/ts-embed.spec.d.ts.map +1 -0
  77. package/cjs/src/embed/ts-embed.spec.js +771 -0
  78. package/cjs/src/embed/ts-embed.spec.js.map +1 -0
  79. package/cjs/src/errors.d.ts +7 -0
  80. package/cjs/src/errors.d.ts.map +1 -0
  81. package/cjs/src/errors.js +10 -0
  82. package/cjs/src/errors.js.map +1 -0
  83. package/cjs/src/index.d.ts +18 -0
  84. package/cjs/src/index.d.ts.map +1 -0
  85. package/cjs/src/index.js +42 -0
  86. package/cjs/src/index.js.map +1 -0
  87. package/cjs/src/mixpanel-service.d.ts +29 -0
  88. package/cjs/src/mixpanel-service.d.ts.map +1 -0
  89. package/cjs/src/mixpanel-service.js +76 -0
  90. package/cjs/src/mixpanel-service.js.map +1 -0
  91. package/cjs/src/mixpanel-service.spec.d.ts +2 -0
  92. package/cjs/src/mixpanel-service.spec.d.ts.map +1 -0
  93. package/cjs/src/mixpanel-service.spec.js +63 -0
  94. package/cjs/src/mixpanel-service.spec.js.map +1 -0
  95. package/cjs/src/react/all-types-export.d.ts +3 -0
  96. package/cjs/src/react/all-types-export.d.ts.map +1 -0
  97. package/cjs/src/react/all-types-export.js +29 -0
  98. package/cjs/src/react/all-types-export.js.map +1 -0
  99. package/cjs/src/react/all-types-export.spec.d.ts +2 -0
  100. package/cjs/src/react/all-types-export.spec.d.ts.map +1 -0
  101. package/cjs/src/react/all-types-export.spec.js +13 -0
  102. package/cjs/src/react/all-types-export.spec.js.map +1 -0
  103. package/cjs/src/react/index.d.ts +95 -0
  104. package/cjs/src/react/index.d.ts.map +1 -0
  105. package/cjs/src/react/index.js +121 -0
  106. package/cjs/src/react/index.js.map +1 -0
  107. package/cjs/src/react/index.spec.d.ts +3 -0
  108. package/cjs/src/react/index.spec.d.ts.map +1 -0
  109. package/cjs/src/react/index.spec.js +138 -0
  110. package/cjs/src/react/index.spec.js.map +1 -0
  111. package/cjs/src/react/util.d.ts +19 -0
  112. package/cjs/src/react/util.d.ts.map +1 -0
  113. package/cjs/src/react/util.js +25 -0
  114. package/cjs/src/react/util.js.map +1 -0
  115. package/cjs/src/test/test-utils.d.ts +48 -0
  116. package/cjs/src/test/test-utils.d.ts.map +1 -0
  117. package/cjs/src/test/test-utils.js +108 -0
  118. package/cjs/src/test/test-utils.js.map +1 -0
  119. package/cjs/src/types.d.ts +2020 -0
  120. package/cjs/src/types.d.ts.map +1 -0
  121. package/cjs/src/types.js +1543 -0
  122. package/cjs/src/types.js.map +1 -0
  123. package/cjs/src/utils/answerService.d.ts +10 -0
  124. package/cjs/src/utils/answerService.d.ts.map +1 -0
  125. package/cjs/src/utils/answerService.js +61 -0
  126. package/cjs/src/utils/answerService.js.map +1 -0
  127. package/cjs/src/utils/answerService.spec.d.ts +2 -0
  128. package/cjs/src/utils/answerService.spec.d.ts.map +1 -0
  129. package/cjs/src/utils/answerService.spec.js +31 -0
  130. package/cjs/src/utils/answerService.spec.js.map +1 -0
  131. package/cjs/src/utils/authService.d.ts +37 -0
  132. package/cjs/src/utils/authService.d.ts.map +1 -0
  133. package/cjs/src/utils/authService.js +106 -0
  134. package/cjs/src/utils/authService.js.map +1 -0
  135. package/cjs/src/utils/authService.spec.d.ts +2 -0
  136. package/cjs/src/utils/authService.spec.d.ts.map +1 -0
  137. package/cjs/src/utils/authService.spec.js +72 -0
  138. package/cjs/src/utils/authService.spec.js.map +1 -0
  139. package/cjs/src/utils/processData.d.ts +16 -0
  140. package/cjs/src/utils/processData.d.ts.map +1 -0
  141. package/cjs/src/utils/processData.js +110 -0
  142. package/cjs/src/utils/processData.js.map +1 -0
  143. package/cjs/src/utils/processData.spec.d.ts +2 -0
  144. package/cjs/src/utils/processData.spec.d.ts.map +1 -0
  145. package/cjs/src/utils/processData.spec.js +142 -0
  146. package/cjs/src/utils/processData.spec.js.map +1 -0
  147. package/cjs/src/utils/processTrigger.d.ts +10 -0
  148. package/cjs/src/utils/processTrigger.d.ts.map +1 -0
  149. package/cjs/src/utils/processTrigger.js +63 -0
  150. package/cjs/src/utils/processTrigger.js.map +1 -0
  151. package/cjs/src/utils/processTrigger.spec.d.ts +2 -0
  152. package/cjs/src/utils/processTrigger.spec.d.ts.map +1 -0
  153. package/cjs/src/utils/processTrigger.spec.js +58 -0
  154. package/cjs/src/utils/processTrigger.spec.js.map +1 -0
  155. package/cjs/src/utils.d.ts +68 -0
  156. package/cjs/src/utils.d.ts.map +1 -0
  157. package/cjs/src/utils.js +196 -0
  158. package/cjs/src/utils.js.map +1 -0
  159. package/cjs/src/utils.spec.d.ts +5 -0
  160. package/cjs/src/utils.spec.d.ts.map +1 -0
  161. package/cjs/src/utils.spec.js +98 -0
  162. package/cjs/src/utils.spec.js.map +1 -0
  163. package/dist/src/auth.d.ts +54 -5
  164. package/dist/src/auth.d.ts.map +1 -1
  165. package/dist/src/auth.spec.d.ts +3 -0
  166. package/dist/src/auth.spec.d.ts.map +1 -1
  167. package/dist/src/config.d.ts +1 -0
  168. package/dist/src/config.d.ts.map +1 -1
  169. package/dist/src/embed/app.d.ts +35 -6
  170. package/dist/src/embed/app.d.ts.map +1 -1
  171. package/dist/src/embed/base.d.ts +20 -9
  172. package/dist/src/embed/base.d.ts.map +1 -1
  173. package/dist/src/embed/liveboard.d.ts +17 -5
  174. package/dist/src/embed/liveboard.d.ts.map +1 -1
  175. package/dist/src/embed/search-bar.d.ts +3 -0
  176. package/dist/src/embed/search-bar.d.ts.map +1 -1
  177. package/dist/src/embed/search.d.ts +9 -1
  178. package/dist/src/embed/search.d.ts.map +1 -1
  179. package/dist/src/embed/ts-embed.d.ts +65 -7
  180. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  181. package/dist/src/errors.d.ts.map +1 -1
  182. package/dist/src/index.d.ts +2 -2
  183. package/dist/src/index.d.ts.map +1 -1
  184. package/dist/src/mixpanel-service.d.ts +8 -0
  185. package/dist/src/mixpanel-service.d.ts.map +1 -1
  186. package/dist/src/react/all-types-export.d.ts +3 -0
  187. package/dist/src/react/all-types-export.d.ts.map +1 -0
  188. package/dist/src/react/all-types-export.spec.d.ts +2 -0
  189. package/dist/src/react/all-types-export.spec.d.ts.map +1 -0
  190. package/dist/src/react/index.d.ts +72 -0
  191. package/dist/src/react/index.d.ts.map +1 -1
  192. package/dist/src/react/util.d.ts +4 -0
  193. package/dist/src/react/util.d.ts.map +1 -1
  194. package/dist/src/test/test-utils.d.ts +11 -2
  195. package/dist/src/test/test-utils.d.ts.map +1 -1
  196. package/dist/src/types.d.ts +499 -96
  197. package/dist/src/types.d.ts.map +1 -1
  198. package/dist/src/utils/answerService.d.ts +7 -0
  199. package/dist/src/utils/answerService.d.ts.map +1 -1
  200. package/dist/src/utils/authService.d.ts +30 -0
  201. package/dist/src/utils/authService.d.ts.map +1 -1
  202. package/dist/src/utils/processData.d.ts +12 -0
  203. package/dist/src/utils/processData.d.ts.map +1 -1
  204. package/dist/src/utils/processTrigger.d.ts +7 -0
  205. package/dist/src/utils/processTrigger.d.ts.map +1 -1
  206. package/dist/src/utils.d.ts +12 -0
  207. package/dist/src/utils.d.ts.map +1 -1
  208. package/dist/tsembed-react.es.js +28024 -0
  209. package/dist/tsembed-react.js +27966 -0
  210. package/dist/tsembed.es.js +18114 -305
  211. package/dist/tsembed.js +18088 -327
  212. package/dist/visual-embed-sdk-react-full.d.ts +3092 -0
  213. package/dist/visual-embed-sdk-react.d.ts +2781 -0
  214. package/dist/visual-embed-sdk.d.ts +2944 -0
  215. package/lib/package.json +15 -14
  216. package/lib/src/auth.d.ts +54 -5
  217. package/lib/src/auth.d.ts.map +1 -1
  218. package/lib/src/auth.js +91 -31
  219. package/lib/src/auth.js.map +1 -1
  220. package/lib/src/auth.spec.d.ts +3 -0
  221. package/lib/src/auth.spec.d.ts.map +1 -1
  222. package/lib/src/auth.spec.js +37 -6
  223. package/lib/src/auth.spec.js.map +1 -1
  224. package/lib/src/config.d.ts +1 -0
  225. package/lib/src/config.d.ts.map +1 -1
  226. package/lib/src/config.js +5 -3
  227. package/lib/src/config.js.map +1 -1
  228. package/lib/src/config.spec.js.map +1 -1
  229. package/lib/src/embed/app.d.ts +35 -6
  230. package/lib/src/embed/app.d.ts.map +1 -1
  231. package/lib/src/embed/app.js +55 -16
  232. package/lib/src/embed/app.js.map +1 -1
  233. package/lib/src/embed/app.spec.js +41 -12
  234. package/lib/src/embed/app.spec.js.map +1 -1
  235. package/lib/src/embed/base.d.ts +20 -9
  236. package/lib/src/embed/base.d.ts.map +1 -1
  237. package/lib/src/embed/base.js +31 -15
  238. package/lib/src/embed/base.js.map +1 -1
  239. package/lib/src/embed/base.spec.js.map +1 -1
  240. package/lib/src/embed/embed.spec.js +1 -1
  241. package/lib/src/embed/embed.spec.js.map +1 -1
  242. package/lib/src/embed/liveboard.d.ts +17 -5
  243. package/lib/src/embed/liveboard.d.ts.map +1 -1
  244. package/lib/src/embed/liveboard.js +49 -37
  245. package/lib/src/embed/liveboard.js.map +1 -1
  246. package/lib/src/embed/liveboard.spec.js +37 -30
  247. package/lib/src/embed/liveboard.spec.js.map +1 -1
  248. package/lib/src/embed/pinboard.spec.js +14 -26
  249. package/lib/src/embed/pinboard.spec.js.map +1 -1
  250. package/lib/src/embed/search-bar.d.ts +3 -0
  251. package/lib/src/embed/search-bar.d.ts.map +1 -1
  252. package/lib/src/embed/search-bar.js +5 -6
  253. package/lib/src/embed/search-bar.js.map +1 -1
  254. package/lib/src/embed/search.d.ts +9 -1
  255. package/lib/src/embed/search.d.ts.map +1 -1
  256. package/lib/src/embed/search.js +18 -14
  257. package/lib/src/embed/search.js.map +1 -1
  258. package/lib/src/embed/search.spec.js +16 -19
  259. package/lib/src/embed/search.spec.js.map +1 -1
  260. package/lib/src/embed/searchEmbed-basic-auth.spec.js +4 -0
  261. package/lib/src/embed/searchEmbed-basic-auth.spec.js.map +1 -1
  262. package/lib/src/embed/ts-embed.d.ts +65 -7
  263. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  264. package/lib/src/embed/ts-embed.js +154 -77
  265. package/lib/src/embed/ts-embed.js.map +1 -1
  266. package/lib/src/embed/ts-embed.spec.js +46 -24
  267. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  268. package/lib/src/errors.d.ts.map +1 -1
  269. package/lib/src/errors.js.map +1 -1
  270. package/lib/src/index.d.ts +2 -2
  271. package/lib/src/index.d.ts.map +1 -1
  272. package/lib/src/index.js +4 -4
  273. package/lib/src/index.js.map +1 -1
  274. package/lib/src/mixpanel-service.d.ts +8 -0
  275. package/lib/src/mixpanel-service.d.ts.map +1 -1
  276. package/lib/src/mixpanel-service.js +13 -1
  277. package/lib/src/mixpanel-service.js.map +1 -1
  278. package/lib/src/mixpanel-service.spec.js.map +1 -1
  279. package/lib/src/react/all-types-export.d.ts +3 -0
  280. package/lib/src/react/all-types-export.d.ts.map +1 -0
  281. package/lib/src/react/all-types-export.js +5 -0
  282. package/lib/src/react/all-types-export.js.map +1 -0
  283. package/lib/src/react/all-types-export.spec.d.ts +2 -0
  284. package/lib/src/react/all-types-export.spec.d.ts.map +1 -0
  285. package/lib/src/react/all-types-export.spec.js +10 -0
  286. package/lib/src/react/all-types-export.spec.js.map +1 -0
  287. package/lib/src/react/index.d.ts +72 -0
  288. package/lib/src/react/index.d.ts.map +1 -1
  289. package/lib/src/react/index.js +79 -7
  290. package/lib/src/react/index.js.map +1 -1
  291. package/lib/src/react/index.spec.js +27 -6
  292. package/lib/src/react/index.spec.js.map +1 -1
  293. package/lib/src/react/util.d.ts +4 -0
  294. package/lib/src/react/util.d.ts.map +1 -1
  295. package/lib/src/react/util.js +4 -0
  296. package/lib/src/react/util.js.map +1 -1
  297. package/lib/src/test/test-utils.d.ts +11 -2
  298. package/lib/src/test/test-utils.d.ts.map +1 -1
  299. package/lib/src/test/test-utils.js +36 -25
  300. package/lib/src/test/test-utils.js.map +1 -1
  301. package/lib/src/types.d.ts +499 -96
  302. package/lib/src/types.d.ts.map +1 -1
  303. package/lib/src/types.js +374 -68
  304. package/lib/src/types.js.map +1 -1
  305. package/lib/src/utils/answerService.d.ts +7 -0
  306. package/lib/src/utils/answerService.d.ts.map +1 -1
  307. package/lib/src/utils/answerService.js +7 -0
  308. package/lib/src/utils/answerService.js.map +1 -1
  309. package/lib/src/utils/answerService.spec.js.map +1 -1
  310. package/lib/src/utils/authService.d.ts +30 -0
  311. package/lib/src/utils/authService.d.ts.map +1 -1
  312. package/lib/src/utils/authService.js +39 -2
  313. package/lib/src/utils/authService.js.map +1 -1
  314. package/lib/src/utils/authService.spec.js.map +1 -1
  315. package/lib/src/utils/processData.d.ts +12 -0
  316. package/lib/src/utils/processData.d.ts.map +1 -1
  317. package/lib/src/utils/processData.js +33 -5
  318. package/lib/src/utils/processData.js.map +1 -1
  319. package/lib/src/utils/processData.spec.js.map +1 -1
  320. package/lib/src/utils/processTrigger.d.ts +7 -0
  321. package/lib/src/utils/processTrigger.d.ts.map +1 -1
  322. package/lib/src/utils/processTrigger.js +17 -3
  323. package/lib/src/utils/processTrigger.js.map +1 -1
  324. package/lib/src/utils/processTrigger.spec.js.map +1 -1
  325. package/lib/src/utils.d.ts +12 -0
  326. package/lib/src/utils.d.ts.map +1 -1
  327. package/lib/src/utils.js +24 -19
  328. package/lib/src/utils.js.map +1 -1
  329. package/lib/src/utils.spec.js.map +1 -1
  330. package/package.json +15 -14
  331. package/src/auth.spec.ts +83 -133
  332. package/src/auth.ts +148 -115
  333. package/src/config.spec.ts +2 -4
  334. package/src/config.ts +5 -3
  335. package/src/embed/app.spec.ts +57 -14
  336. package/src/embed/app.ts +91 -36
  337. package/src/embed/base.spec.ts +3 -9
  338. package/src/embed/base.ts +51 -53
  339. package/src/embed/embed.spec.ts +5 -6
  340. package/src/embed/liveboard.spec.ts +56 -37
  341. package/src/embed/liveboard.ts +66 -64
  342. package/src/embed/pinboard.spec.ts +26 -29
  343. package/src/embed/search-bar.tsx +10 -8
  344. package/src/embed/search.spec.ts +31 -21
  345. package/src/embed/search.ts +26 -20
  346. package/src/embed/searchEmbed-basic-auth.spec.ts +22 -28
  347. package/src/embed/ts-embed.spec.ts +99 -144
  348. package/src/embed/ts-embed.ts +188 -162
  349. package/src/errors.ts +3 -6
  350. package/src/index.ts +6 -10
  351. package/src/mixpanel-service.spec.ts +1 -3
  352. package/src/mixpanel-service.ts +13 -1
  353. package/src/react/index.spec.tsx +66 -13
  354. package/src/react/index.tsx +111 -62
  355. package/src/react/util.ts +8 -4
  356. package/src/test/test-utils.ts +43 -39
  357. package/src/types.ts +498 -98
  358. package/src/utils/answerService.spec.ts +3 -5
  359. package/src/utils/answerService.ts +21 -17
  360. package/src/utils/authService.spec.ts +26 -41
  361. package/src/utils/authService.ts +47 -21
  362. package/src/utils/processData.spec.ts +26 -59
  363. package/src/utils/processData.ts +36 -14
  364. package/src/utils/processTrigger.spec.ts +1 -6
  365. package/src/utils/processTrigger.ts +18 -9
  366. package/src/utils.spec.ts +8 -12
  367. package/src/utils.ts +25 -26
  368. package/lib/src/visual-embed-sdk.d.ts +0 -2419
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useEmbedRef = exports.SearchBarEmbed = exports.PinboardEmbed = exports.LiveboardEmbed = exports.AppEmbed = exports.SearchEmbed = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importDefault(require("react"));
6
+ const use_deep_compare_effect_1 = tslib_1.__importDefault(require("use-deep-compare-effect"));
7
+ const utils_1 = require("../utils");
8
+ const search_bar_1 = require("../embed/search-bar");
9
+ const search_1 = require("../embed/search");
10
+ const app_1 = require("../embed/app");
11
+ const liveboard_1 = require("../embed/liveboard");
12
+ const util_1 = require("./util");
13
+ const componentFactory = (EmbedConstructor) => react_1.default.forwardRef((props, forwardedRef) => {
14
+ const ref = react_1.default.useRef(null);
15
+ const { className, ...embedProps } = props;
16
+ const { viewConfig, listeners } = (0, util_1.getViewPropsAndListeners)(embedProps);
17
+ (0, use_deep_compare_effect_1.default)(() => {
18
+ const tsEmbed = new EmbedConstructor(ref.current, (0, utils_1.deepMerge)({
19
+ insertAsSibling: viewConfig.insertAsSibling,
20
+ frameParams: {
21
+ class: viewConfig.insertAsSibling
22
+ ? className || ''
23
+ : '',
24
+ },
25
+ }, viewConfig));
26
+ Object.keys(listeners).forEach((eventName) => {
27
+ tsEmbed.on(eventName, listeners[eventName]);
28
+ });
29
+ tsEmbed.render();
30
+ if (forwardedRef) {
31
+ // eslint-disable-next-line no-param-reassign
32
+ forwardedRef.current = tsEmbed;
33
+ }
34
+ return () => {
35
+ tsEmbed.destroy();
36
+ };
37
+ }, [viewConfig, listeners]);
38
+ return ((viewConfig.insertAsSibling)
39
+ ? react_1.default.createElement("span", { "data-testid": "tsEmbed", ref: ref, style: { position: 'absolute' } })
40
+ : react_1.default.createElement("div", { "data-testid": "tsEmbed", ref: ref, className: className }));
41
+ });
42
+ /**
43
+ * React component for Search Embed.
44
+ *
45
+ * @example
46
+ * ```tsx
47
+ * function Search() {
48
+ * return <SearchEmbed
49
+ * dataSource="dataSourceId"
50
+ * searchOptions={{ searchTokenString: "[revenue]" }}
51
+ * />
52
+ * }
53
+ * ```
54
+ */
55
+ exports.SearchEmbed = componentFactory(search_1.SearchEmbed);
56
+ /**
57
+ * React component for Full app Embed.
58
+ *
59
+ * @example
60
+ * ```tsx
61
+ * function Search() {
62
+ * return <AppEmbed
63
+ * showPrimaryNavbar={false}
64
+ * pageId={Page.Liveboards}
65
+ * onError={(error) => console.error(error)}
66
+ * />
67
+ * }
68
+ * ```
69
+ */
70
+ exports.AppEmbed = componentFactory(app_1.AppEmbed);
71
+ /**
72
+ * React component for Liveboard embed.
73
+ *
74
+ * @example
75
+ * ```tsx
76
+ * function Liveboard() {
77
+ * return <LiveboardEmbed
78
+ * liveboardId="liveboardId"
79
+ * fullHeight={true} {/* default false *\/}
80
+ * onLiveboardRendered={() => console.log('Liveboard rendered')}
81
+ * vizId="vizId" {/* if doing viz embed *\/}
82
+ * />
83
+ * }
84
+ * ```
85
+ */
86
+ exports.LiveboardEmbed = componentFactory(liveboard_1.LiveboardEmbed);
87
+ exports.PinboardEmbed = exports.LiveboardEmbed;
88
+ /**
89
+ * React component for Search bar embed.
90
+ *
91
+ * @example
92
+ * ```tsx
93
+ * function SearchBar() {
94
+ * return <SearchBarEmbed
95
+ * dataSource="dataSourceId"
96
+ * searchOptions={{ searchTokenString: "[revenue]" }}
97
+ * />
98
+ * }
99
+ * ```
100
+ */
101
+ exports.SearchBarEmbed = componentFactory(search_bar_1.SearchBarEmbed);
102
+ /**
103
+ * Get a reference to the embed component to trigger events on the component.
104
+ *
105
+ * @example
106
+ * ```
107
+ * function Component() {
108
+ * const ref = useEmbedRef();
109
+ * useEffect(() => {
110
+ * ref.current.trigger(
111
+ * EmbedEvent.UpdateRuntimeFilter,
112
+ * [{ columnName: 'name', operator: 'EQ', values: ['value']}]);
113
+ * }, [])
114
+ * return <LiveboardEmbed ref={ref} liveboardId={<id>} />
115
+ * }
116
+ * ```
117
+ * @returns {React.MutableRefObject<TsEmbed>} ref
118
+ */
119
+ const useEmbedRef = () => react_1.default.useRef(null);
120
+ exports.useEmbedRef = useEmbedRef;
121
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/react/index.tsx"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,8FAA2D;AAC3D,oCAAqC;AACrC,oDAA6F;AAC7F,4CAAgF;AAChF,sCAAoE;AACpE,kDAA4F;AAI5F,iCAA8D;AAE9D,MAAM,gBAAgB,GAAG,CACrB,gBAAmB,EACrB,EAAE,CAAC,eAAK,CAAC,UAAU,CACjB,CAAC,KAAQ,EAAE,YAA6C,EAAE,EAAE;IACxD,MAAM,GAAG,GAAG,eAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC/C,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK,CAAC;IAC3C,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAA,+BAAwB,EAGpD,UAAU,CAAC,CAAC;IAClB,IAAA,iCAAoB,EAAC,GAAG,EAAE;QACtB,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAC5B,GAAI,CAAC,OAAO,EACZ,IAAA,iBAAS,EACL;YACI,eAAe,EAAE,UAAU,CAAC,eAAe;YAC3C,WAAW,EAAE;gBACT,KAAK,EAAE,UAAU,CAAC,eAAe;oBAC7B,CAAC,CAAC,SAAS,IAAI,EAAE;oBACjB,CAAC,CAAC,EAAE;aACX;SACJ,EACD,UAAU,CACb,CACR,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YACzC,OAAO,CAAC,EAAE,CACF,SAAuB,EACvB,SAAS,CAAC,SAAuB,CAAC,CACzC,CAAC;QACN,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,IAAI,YAAY,EAAE;YACd,6CAA6C;YAC7C,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC;SAClC;QACD,OAAO,GAAG,EAAE;YACR,OAAO,CAAC,OAAO,EAAE,CAAC;QACtB,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;IAE5B,OAAO,CACH,CAAC,UAAU,CAAC,eAAe,CAAC;QACxB,CAAC,CAAC,uDACc,SAAS,EACrB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,GAC3B;QACR,CAAC,CAAC,sDACc,SAAS,EACrB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,GAClB,CACb,CAAC;AACN,CAAC,CACJ,CAAC;AAIF;;;;;;;;;;;;GAYG;AACU,QAAA,WAAW,GAAG,gBAAgB,CACvC,oBAAY,CACf,CAAC;AAIF;;;;;;;;;;;;;GAaG;AACU,QAAA,QAAQ,GAAG,gBAAgB,CAA4C,cAAS,CAAC,CAAC;AAI/F;;;;;;;;;;;;;;GAcG;AACU,QAAA,cAAc,GAAG,gBAAgB,CAI5C,0BAAe,CAAC,CAAC;AAEN,QAAA,aAAa,GAAG,sBAAc,CAAC;AAI5C;;;;;;;;;;;;GAYG;AACU,QAAA,cAAc,GAAG,gBAAgB,CAI5C,2BAAe,CAAC,CAAC;AAEnB;;;;;;;;;;;;;;;;GAgBG;AACI,MAAM,WAAW,GAAG,GAAoC,EAAE,CAAC,eAAK,CAAC,MAAM,CAAU,IAAI,CAAC,CAAC;AAAjF,QAAA,WAAW,eAAsE"}
@@ -0,0 +1,3 @@
1
+ import '@testing-library/jest-dom';
2
+ import '@testing-library/jest-dom/extend-expect';
3
+ //# sourceMappingURL=index.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.spec.d.ts","sourceRoot":"","sources":["../../../src/react/index.spec.tsx"],"names":[],"mappings":"AACA,OAAO,2BAA2B,CAAC;AACnC,OAAO,yCAAyC,CAAC"}
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const react_1 = tslib_1.__importDefault(require("react"));
5
+ require("@testing-library/jest-dom");
6
+ require("@testing-library/jest-dom/extend-expect");
7
+ const react_2 = require("@testing-library/react");
8
+ const types_1 = require("../types");
9
+ const test_utils_1 = require("../test/test-utils");
10
+ const index_1 = require("./index");
11
+ const index_2 = require("../index");
12
+ const package_json_1 = require("../../package.json");
13
+ const thoughtSpotHost = 'localhost';
14
+ beforeAll(() => {
15
+ (0, index_2.init)({
16
+ thoughtSpotHost,
17
+ authType: index_2.AuthType.None,
18
+ });
19
+ spyOn(window, 'alert');
20
+ });
21
+ describe('React Components', () => {
22
+ describe('SearchEmbed', () => {
23
+ it('Should Render the Iframe with props', async () => {
24
+ const { container } = (0, react_2.render)(react_1.default.createElement(index_1.SearchEmbed, { hideDataSources: true, className: "embedClass" }));
25
+ await (0, react_2.waitFor)(() => (0, test_utils_1.getIFrameEl)(container));
26
+ expect((0, test_utils_1.getIFrameEl)(container).parentElement.classList.contains('embedClass')).toBe(true);
27
+ expect((0, test_utils_1.getIFrameSrc)(container)).toBe(`http://${thoughtSpotHost}/?hostAppUrl=local-host&viewPortHeight=768&viewPortWidth=1024&sdkVersion=${package_json_1.version}&authType=None&hideAction=[%22${types_1.Action.ReportError}%22,%22editACopy%22,%22saveAsView%22,%22updateTSL%22,%22editTSL%22,%22onDeleteAnswer%22]&dataSourceMode=hide&useLastSelectedSources=false&isSearchEmbed=true#/embed/answer`);
28
+ });
29
+ it('Should attach event listeners', async (done) => {
30
+ const userGUID = 'absfdfgd';
31
+ const { container } = (0, react_2.render)(react_1.default.createElement(index_1.SearchEmbed, { onInit: (e) => {
32
+ expect(e.data).toHaveProperty('timestamp');
33
+ }, onAuthInit: (e) => {
34
+ expect(e.data.userGUID).toEqual(userGUID);
35
+ done();
36
+ } }));
37
+ await (0, react_2.waitFor)(() => (0, test_utils_1.getIFrameEl)(container));
38
+ const iframe = (0, test_utils_1.getIFrameEl)(container);
39
+ (0, test_utils_1.postMessageToParent)(iframe.contentWindow, {
40
+ type: types_1.EmbedEvent.AuthInit,
41
+ data: {
42
+ userGUID,
43
+ },
44
+ });
45
+ });
46
+ });
47
+ describe('AppEmbed', () => {
48
+ //
49
+ });
50
+ describe('LiveboardEmbed', () => {
51
+ //
52
+ it('Should be able to trigger events on the embed using refs', async () => {
53
+ (0, test_utils_1.mockMessageChannel)();
54
+ const TestComponent = () => {
55
+ const embedRef = (0, index_1.useEmbedRef)();
56
+ const onLiveboardRendered = () => {
57
+ embedRef.current.trigger(types_1.HostEvent.SetVisibleVizs, ['viz1', 'viz2']);
58
+ };
59
+ return (react_1.default.createElement(index_1.LiveboardEmbed, { ref: embedRef, liveboardId: "abcd", onLiveboardRendered: onLiveboardRendered }));
60
+ };
61
+ const { container } = (0, react_2.render)(react_1.default.createElement(TestComponent, null));
62
+ await (0, react_2.waitFor)(() => (0, test_utils_1.getIFrameEl)(container));
63
+ const iframe = (0, test_utils_1.getIFrameEl)(container);
64
+ jest.spyOn(iframe.contentWindow, 'postMessage');
65
+ (0, test_utils_1.postMessageToParent)(iframe.contentWindow, {
66
+ type: types_1.EmbedEvent.LiveboardRendered,
67
+ data: {
68
+ userGUID: 'abcd',
69
+ },
70
+ });
71
+ await (0, test_utils_1.executeAfterWait)(() => {
72
+ expect(iframe.contentWindow.postMessage).toHaveBeenCalledWith({
73
+ type: types_1.HostEvent.SetVisibleVizs,
74
+ data: ['viz1', 'viz2'],
75
+ }, `http://${thoughtSpotHost}`, expect.anything());
76
+ });
77
+ });
78
+ it('Should render liveboard with runtime filters', async () => {
79
+ const { container } = (0, react_2.render)(react_1.default.createElement(index_1.LiveboardEmbed, { liveboardId: "abcd", runtimeFilters: [
80
+ {
81
+ columnName: 'revenue',
82
+ operator: types_1.RuntimeFilterOp.EQ,
83
+ values: [100],
84
+ },
85
+ ] }));
86
+ await (0, react_2.waitFor)(() => (0, test_utils_1.getIFrameEl)(container));
87
+ expect((0, test_utils_1.getIFrameSrc)(container)).toContain('col1=revenue&op1=EQ&val1=100');
88
+ });
89
+ it('Should have the correct container element', async () => {
90
+ const { container } = (0, react_2.render)(react_1.default.createElement(index_1.LiveboardEmbed, { liveboardId: "abcd", className: "def" }));
91
+ await (0, react_2.waitFor)(() => (0, test_utils_1.getIFrameEl)(container));
92
+ expect(container.querySelector('div')).not.toBe(null);
93
+ expect(container.querySelector('div').classList.contains('def')).toBe(true);
94
+ const { container: containerSibling } = (0, react_2.render)(react_1.default.createElement(index_1.LiveboardEmbed, { liveboardId: "abcd", className: "def", insertAsSibling: true }));
95
+ await (0, react_2.waitFor)(() => (0, test_utils_1.getIFrameEl)(containerSibling));
96
+ expect(containerSibling.querySelector('span')).not.toBe(null);
97
+ expect(containerSibling.querySelector('span').style.position).toBe('absolute');
98
+ expect((0, test_utils_1.getIFrameEl)(containerSibling).classList.contains('def')).toBe(true);
99
+ expect(containerSibling.querySelector('div')).toBe(null);
100
+ });
101
+ it('Should have the correct container element', async () => {
102
+ const { container } = (0, react_2.render)(react_1.default.createElement(index_1.LiveboardEmbed, { liveboardId: "abcd", className: "def" }));
103
+ await (0, react_2.waitFor)(() => (0, test_utils_1.getIFrameEl)(container));
104
+ expect(container.querySelector('div')).not.toBe(null);
105
+ expect(container.querySelector('div').classList.contains('def')).toBe(true);
106
+ const { container: containerSibling } = (0, react_2.render)(react_1.default.createElement(index_1.LiveboardEmbed, { liveboardId: "abcd", className: "def", insertAsSibling: true }));
107
+ await (0, react_2.waitFor)(() => (0, test_utils_1.getIFrameEl)(containerSibling));
108
+ expect(containerSibling.querySelector('span')).not.toBe(null);
109
+ expect(containerSibling.querySelector('span').style.position).toBe('absolute');
110
+ expect((0, test_utils_1.getIFrameEl)(containerSibling).classList.contains('def')).toBe(true);
111
+ expect(containerSibling.querySelector('div')).toBe(null);
112
+ });
113
+ it('Should have the correct container element', async () => {
114
+ const { container } = (0, react_2.render)(react_1.default.createElement(index_1.LiveboardEmbed, { liveboardId: "abcd", className: "def" }));
115
+ await (0, react_2.waitFor)(() => (0, test_utils_1.getIFrameEl)(container));
116
+ expect(container.querySelector('div')).not.toBe(null);
117
+ expect(container.querySelector('div').classList.contains('def')).toBe(true);
118
+ const { container: containerSibling } = (0, react_2.render)(react_1.default.createElement(index_1.LiveboardEmbed, { liveboardId: "abcd", className: "def", insertAsSibling: true }));
119
+ await (0, react_2.waitFor)(() => (0, test_utils_1.getIFrameEl)(containerSibling));
120
+ expect(containerSibling.querySelector('span')).not.toBe(null);
121
+ expect(containerSibling.querySelector('span').style.position).toBe('absolute');
122
+ expect((0, test_utils_1.getIFrameEl)(containerSibling).classList.contains('def')).toBe(true);
123
+ expect(containerSibling.querySelector('div')).toBe(null);
124
+ });
125
+ });
126
+ describe('SearchBarEmbed', () => {
127
+ it('Should Render the Iframe with props', async () => {
128
+ const { container } = (0, react_2.render)(react_1.default.createElement(index_1.SearchBarEmbed, { className: "embedClass", dataSource: 'test', searchOptions: {
129
+ searchTokenString: '[revenue]',
130
+ executeSearch: true,
131
+ } }));
132
+ await (0, react_2.waitFor)(() => (0, test_utils_1.getIFrameEl)(container));
133
+ expect((0, test_utils_1.getIFrameEl)(container).parentElement.classList.contains('embedClass')).toBe(true);
134
+ expect((0, test_utils_1.getIFrameSrc)(container)).toBe(`http://${thoughtSpotHost}/?hostAppUrl=local-host&viewPortHeight=768&viewPortWidth=1024&sdkVersion=${package_json_1.version}&authType=None&hideAction=[%22${types_1.Action.ReportError}%22]&dataSources=[%22test%22]&searchTokenString=%5Brevenue%5D&executeSearch=true&useLastSelectedSources=false&isSearchEmbed=true#/embed/search-bar-embed`);
135
+ });
136
+ });
137
+ });
138
+ //# sourceMappingURL=index.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../../../src/react/index.spec.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { EmbedEvent, MessageCallback, ViewConfig } from '../types';
2
+ export type EmbedEventHandlers = {
3
+ [key in keyof typeof EmbedEvent as `on${Capitalize<key>}`]?: MessageCallback;
4
+ };
5
+ export interface EmbedProps extends ViewConfig, EmbedEventHandlers {
6
+ className?: string;
7
+ }
8
+ export interface ViewConfigAndListeners<T extends ViewConfig> {
9
+ viewConfig: T;
10
+ listeners: {
11
+ [key in EmbedEvent]?: MessageCallback;
12
+ };
13
+ }
14
+ /**
15
+ *
16
+ * @param props
17
+ */
18
+ export declare function getViewPropsAndListeners<T extends EmbedProps, U extends ViewConfig>(props: T): ViewConfigAndListeners<U>;
19
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/react/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEnE,MAAM,MAAM,kBAAkB,GAAG;KAAG,GAAG,IAAI,MAAM,OAAO,UAAU,IAAI,KAAK,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,eAAe;CAAE,CAAC;AAElH,MAAM,WAAW,UAAW,SAAQ,UAAU,EAAE,kBAAkB;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,UAAU;IACxD,UAAU,EAAE,CAAC,CAAC;IACd,SAAS,EAAE;SAAG,GAAG,IAAI,UAAU,CAAC,CAAC,EAAE,eAAe;KAAE,CAAC;CACxD;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACpC,CAAC,SAAS,UAAU,EACpB,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAgB7D"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getViewPropsAndListeners = void 0;
4
+ const types_1 = require("../types");
5
+ /**
6
+ *
7
+ * @param props
8
+ */
9
+ function getViewPropsAndListeners(props) {
10
+ return Object.keys(props).reduce((accu, key) => {
11
+ if (key.startsWith('on')) {
12
+ const eventName = key.substr(2);
13
+ accu.listeners[types_1.EmbedEvent[eventName]] = props[key];
14
+ }
15
+ else {
16
+ accu.viewConfig[key] = props[key];
17
+ }
18
+ return accu;
19
+ }, {
20
+ viewConfig: {},
21
+ listeners: {},
22
+ });
23
+ }
24
+ exports.getViewPropsAndListeners = getViewPropsAndListeners;
25
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/react/util.ts"],"names":[],"mappings":";;;AAAA,oCAAmE;AAanE;;;GAGG;AACH,SAAgB,wBAAwB,CAEd,KAAQ;IAC9B,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAC5B,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QACV,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACtB,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,kBAAU,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;SACtD;aAAM;YACH,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;SACrC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC,EACD;QACI,UAAU,EAAE,EAAO;QACnB,SAAS,EAAE,EAAE;KAChB,CACJ,CAAC;AACN,CAAC;AAlBD,4DAkBC"}
@@ -0,0 +1,48 @@
1
+ export declare const defaultParamsWithoutHiddenActions: string;
2
+ export declare const defaultParams: string;
3
+ export declare const defaultParamsForPinboardEmbed: string;
4
+ export declare const getDocumentBody: () => string;
5
+ type DOMElement = HTMLElement | Document;
6
+ export declare const getRootEl: () => HTMLElement;
7
+ export declare const getRootEl2: () => HTMLElement;
8
+ export declare const getIFrameEl: (container?: DOMElement) => HTMLIFrameElement;
9
+ export declare const getAllIframeEl: () => NodeListOf<HTMLIFrameElement>;
10
+ export declare const getIFrameSrc: (container?: DOMElement) => string;
11
+ export declare const waitFor: (fn: () => boolean) => Promise<void>;
12
+ /**
13
+ * jsdom does not set event source, therefore we do it
14
+ * programmatically and use dispatchEvent instead of the
15
+ * postMessage API
16
+ * Reference: https://github.com/jsdom/jsdom/issues/2745
17
+ *
18
+ * @param window
19
+ * @param data
20
+ * @param port
21
+ */
22
+ export declare const postMessageToParent: (window: WindowProxy, data: any, port?: any) => void;
23
+ /**
24
+ * Execute a given function after a certain time has elapsed
25
+ *
26
+ * @param fn The function to be executed after the wait period
27
+ * @param waitTime The wait period in milliseconds
28
+ */
29
+ export declare const executeAfterWait: (fn: (...args: any[]) => void, waitTime?: number) => Promise<unknown>;
30
+ /**
31
+ * Time (in milliseconds) to wait for async events to be triggered
32
+ */
33
+ export declare const EVENT_WAIT_TIME = 1000;
34
+ /**
35
+ *
36
+ * @param str
37
+ */
38
+ export declare function fixedEncodeURI(str: string): string;
39
+ /**
40
+ * MessageChannel is available in Node > 15.0.0. Since the current node
41
+ * environment's used for github actions is not above 14, we are mocking this
42
+ * for the current unit tests.
43
+ */
44
+ export declare const messageChannelMock: any;
45
+ export declare const mockMessageChannel: () => void;
46
+ export declare const expectUrlMatchesWithParams: (source: string, target: string) => void;
47
+ export {};
48
+ //# sourceMappingURL=test-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../../../src/test/test-utils.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,iCAAiC,QAAgH,CAAC;AAC/J,eAAO,MAAM,aAAa,QAAmF,CAAC;AAC9G,eAAO,MAAM,6BAA6B,QAA6I,CAAC;AACxL,eAAO,MAAM,eAAe,cAAyD,CAAC;AAEtF,KAAK,UAAU,GAAG,WAAW,GAAG,QAAQ,CAAC;AAEzC,eAAO,MAAM,SAAS,mBAAyC,CAAC;AAEhE,eAAO,MAAM,UAAU,mBAA2C,CAAC;AAEnE,eAAO,MAAM,WAAW,eAAe,UAAU,sBAAiD,CAAC;AAEnG,eAAO,MAAM,cAAc,qCAA4C,CAAC;AAExE,eAAO,MAAM,YAAY,eAAe,UAAU,WAA0C,CAAC;AAE7F,eAAO,MAAM,OAAO,OAAQ,MAAM,OAAO,KAAG,QAAQ,IAAI,CAQtD,CAAC;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB,WAAY,WAAW,QAAQ,GAAG,SAAS,GAAG,SAO7E,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,iBACX,GAAG,EAAE,KAAK,IAAI,wCAO9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,UAEzC;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,GAGhC,CAAC;AACF,eAAO,MAAM,kBAAkB,YAM9B,CAAC;AAEF,eAAO,MAAM,0BAA0B,WAAY,MAAM,UAAU,MAAM,SAQxE,CAAC"}
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.expectUrlMatchesWithParams = exports.mockMessageChannel = exports.messageChannelMock = exports.fixedEncodeURI = exports.EVENT_WAIT_TIME = exports.executeAfterWait = exports.postMessageToParent = exports.waitFor = exports.getIFrameSrc = exports.getAllIframeEl = exports.getIFrameEl = exports.getRootEl2 = exports.getRootEl = exports.getDocumentBody = exports.defaultParamsForPinboardEmbed = exports.defaultParams = exports.defaultParamsWithoutHiddenActions = void 0;
4
+ const package_json_1 = require("../../package.json");
5
+ const types_1 = require("../types");
6
+ /**
7
+ Initialises fetch to the global object
8
+ */
9
+ global.fetch = jest.fn(() => Promise.resolve({
10
+ json: () => ({ mixpanelAccessToken: '' }),
11
+ }));
12
+ exports.defaultParamsWithoutHiddenActions = `hostAppUrl=local-host&viewPortHeight=768&viewPortWidth=1024&sdkVersion=${package_json_1.version}&authType=${types_1.AuthType.None}`;
13
+ exports.defaultParams = `&${exports.defaultParamsWithoutHiddenActions}&hideAction=[%22${types_1.Action.ReportError}%22]`;
14
+ exports.defaultParamsForPinboardEmbed = `hostAppUrl=local-host&viewPortHeight=768&viewPortWidth=1024&sdkVersion=${package_json_1.version}&authType=None&hideAction=[%22${types_1.Action.ReportError}%22]`;
15
+ const getDocumentBody = () => '<div id="embed"></div><div id="embed-2"></div>';
16
+ exports.getDocumentBody = getDocumentBody;
17
+ const getRootEl = () => document.getElementById('embed');
18
+ exports.getRootEl = getRootEl;
19
+ const getRootEl2 = () => document.getElementById('embed-2');
20
+ exports.getRootEl2 = getRootEl2;
21
+ const getIFrameEl = (container = document) => container.querySelector('iframe');
22
+ exports.getIFrameEl = getIFrameEl;
23
+ const getAllIframeEl = () => document.querySelectorAll('iframe');
24
+ exports.getAllIframeEl = getAllIframeEl;
25
+ const getIFrameSrc = (container = document) => (0, exports.getIFrameEl)(container).src;
26
+ exports.getIFrameSrc = getIFrameSrc;
27
+ const waitFor = (fn) => new Promise((resolve) => {
28
+ const interval = setInterval(() => {
29
+ const value = fn();
30
+ if (value) {
31
+ clearInterval(interval);
32
+ resolve();
33
+ }
34
+ }, 100);
35
+ });
36
+ exports.waitFor = waitFor;
37
+ /**
38
+ * jsdom does not set event source, therefore we do it
39
+ * programmatically and use dispatchEvent instead of the
40
+ * postMessage API
41
+ * Reference: https://github.com/jsdom/jsdom/issues/2745
42
+ *
43
+ * @param window
44
+ * @param data
45
+ * @param port
46
+ */
47
+ const postMessageToParent = (window, data, port) => {
48
+ const message = new MessageEvent('message', {
49
+ data,
50
+ source: window,
51
+ ports: [port],
52
+ });
53
+ window.parent.dispatchEvent(message);
54
+ };
55
+ exports.postMessageToParent = postMessageToParent;
56
+ /**
57
+ * Execute a given function after a certain time has elapsed
58
+ *
59
+ * @param fn The function to be executed after the wait period
60
+ * @param waitTime The wait period in milliseconds
61
+ */
62
+ const executeAfterWait = (fn, waitTime = 0) => new Promise((resolve, reject) => {
63
+ setTimeout(() => {
64
+ const value = fn();
65
+ resolve(value);
66
+ }, waitTime);
67
+ });
68
+ exports.executeAfterWait = executeAfterWait;
69
+ /**
70
+ * Time (in milliseconds) to wait for async events to be triggered
71
+ */
72
+ exports.EVENT_WAIT_TIME = 1000;
73
+ /**
74
+ *
75
+ * @param str
76
+ */
77
+ function fixedEncodeURI(str) {
78
+ return encodeURI(str).replace(/%5B/g, '[').replace(/%5D/g, ']');
79
+ }
80
+ exports.fixedEncodeURI = fixedEncodeURI;
81
+ /**
82
+ * MessageChannel is available in Node > 15.0.0. Since the current node
83
+ * environment's used for github actions is not above 14, we are mocking this
84
+ * for the current unit tests.
85
+ */
86
+ exports.messageChannelMock = {
87
+ port1: {},
88
+ port2: {},
89
+ };
90
+ const mockMessageChannel = () => {
91
+ exports.messageChannelMock.port1.close = jest.fn();
92
+ exports.messageChannelMock.port2.onmessage = jest.fn();
93
+ window.MessageChannel = function MessageChannelMock() {
94
+ return exports.messageChannelMock;
95
+ };
96
+ };
97
+ exports.mockMessageChannel = mockMessageChannel;
98
+ const expectUrlMatchesWithParams = (source, target) => {
99
+ const sourceUrl = new URL(source);
100
+ const targetUrl = new URL(target);
101
+ expect(sourceUrl.origin).toBe(targetUrl.origin);
102
+ expect(sourceUrl.pathname).toBe(targetUrl.pathname);
103
+ const sourceParamsObj = Object.fromEntries(sourceUrl.searchParams);
104
+ const targetParamsObj = Object.fromEntries(targetUrl.searchParams);
105
+ expect(sourceParamsObj).toMatchObject(targetParamsObj);
106
+ };
107
+ exports.expectUrlMatchesWithParams = expectUrlMatchesWithParams;
108
+ //# sourceMappingURL=test-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-utils.js","sourceRoot":"","sources":["../../../src/test/test-utils.ts"],"names":[],"mappings":"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"}