@thoughtspot/visual-embed-sdk 1.40.1-alpha.3 → 1.40.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (413) hide show
  1. package/cjs/package.json +2 -2
  2. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  3. package/cjs/src/embed/ts-embed.js +13 -2
  4. package/cjs/src/embed/ts-embed.js.map +1 -1
  5. package/cjs/src/embed/ts-embed.spec.d.ts.map +1 -1
  6. package/cjs/src/embed/ts-embed.spec.js +124 -2
  7. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  8. package/cjs/src/errors.d.ts +11 -0
  9. package/cjs/src/errors.d.ts.map +1 -1
  10. package/cjs/src/errors.js +12 -1
  11. package/cjs/src/errors.js.map +1 -1
  12. package/cjs/src/index.d.ts +2 -2
  13. package/cjs/src/index.d.ts.map +1 -1
  14. package/cjs/src/index.js +3 -1
  15. package/cjs/src/index.js.map +1 -1
  16. package/cjs/src/react/index.d.ts +1 -1
  17. package/cjs/src/react/index.d.ts.map +1 -1
  18. package/cjs/src/react/index.js +2 -1
  19. package/cjs/src/react/index.js.map +1 -1
  20. package/cjs/src/types.d.ts +94 -3
  21. package/cjs/src/types.d.ts.map +1 -1
  22. package/cjs/src/types.js +22 -11
  23. package/cjs/src/types.js.map +1 -1
  24. package/cjs/src/utils/custom-actions.d.ts +12 -0
  25. package/cjs/src/utils/custom-actions.d.ts.map +1 -0
  26. package/cjs/src/utils/custom-actions.js +191 -0
  27. package/cjs/src/utils/custom-actions.js.map +1 -0
  28. package/cjs/src/utils/custom-actions.spec.d.ts +2 -0
  29. package/cjs/src/utils/custom-actions.spec.d.ts.map +1 -0
  30. package/cjs/src/utils/custom-actions.spec.js +437 -0
  31. package/cjs/src/utils/custom-actions.spec.js.map +1 -0
  32. package/cjs/src/utils.d.ts +7 -0
  33. package/cjs/src/utils.d.ts.map +1 -1
  34. package/cjs/src/utils.js +11 -1
  35. package/cjs/src/utils.js.map +1 -1
  36. package/cjs/src/utils.spec.js +28 -0
  37. package/cjs/src/utils.spec.js.map +1 -1
  38. package/dist/{index-B0uCTBbm.js → index-Dx5UP5Ip.js} +1 -1
  39. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  40. package/dist/src/embed/ts-embed.spec.d.ts.map +1 -1
  41. package/dist/src/errors.d.ts +11 -0
  42. package/dist/src/errors.d.ts.map +1 -1
  43. package/dist/src/index.d.ts +2 -2
  44. package/dist/src/index.d.ts.map +1 -1
  45. package/dist/src/react/index.d.ts +1 -1
  46. package/dist/src/react/index.d.ts.map +1 -1
  47. package/dist/src/types.d.ts +94 -3
  48. package/dist/src/types.d.ts.map +1 -1
  49. package/dist/src/utils/custom-actions.d.ts +12 -0
  50. package/dist/src/utils/custom-actions.d.ts.map +1 -0
  51. package/dist/src/utils/custom-actions.spec.d.ts +2 -0
  52. package/dist/src/utils/custom-actions.spec.d.ts.map +1 -0
  53. package/dist/src/utils.d.ts +7 -0
  54. package/dist/src/utils.d.ts.map +1 -1
  55. package/dist/tsembed-react.es.js +1684 -201
  56. package/dist/tsembed-react.js +1683 -200
  57. package/dist/tsembed.es.js +1636 -153
  58. package/dist/tsembed.js +1635 -152
  59. package/dist/visual-embed-sdk-react-full.d.ts +95 -4
  60. package/dist/visual-embed-sdk-react.d.ts +95 -4
  61. package/dist/visual-embed-sdk.d.ts +95 -4
  62. package/lib/package.json +2 -2
  63. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  64. package/lib/src/embed/ts-embed.js +13 -2
  65. package/lib/src/embed/ts-embed.js.map +1 -1
  66. package/lib/src/embed/ts-embed.spec.d.ts.map +1 -1
  67. package/lib/src/embed/ts-embed.spec.js +125 -3
  68. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  69. package/lib/src/errors.d.ts +11 -0
  70. package/lib/src/errors.d.ts.map +1 -1
  71. package/lib/src/errors.js +11 -0
  72. package/lib/src/errors.js.map +1 -1
  73. package/lib/src/index.d.ts +2 -2
  74. package/lib/src/index.d.ts.map +1 -1
  75. package/lib/src/index.js +2 -2
  76. package/lib/src/index.js.map +1 -1
  77. package/lib/src/react/index.d.ts +1 -1
  78. package/lib/src/react/index.d.ts.map +1 -1
  79. package/lib/src/react/index.js +1 -1
  80. package/lib/src/react/index.js.map +1 -1
  81. package/lib/src/types.d.ts +94 -3
  82. package/lib/src/types.d.ts.map +1 -1
  83. package/lib/src/types.js +21 -10
  84. package/lib/src/types.js.map +1 -1
  85. package/lib/src/utils/custom-actions.d.ts +12 -0
  86. package/lib/src/utils/custom-actions.d.ts.map +1 -0
  87. package/lib/src/utils/custom-actions.js +186 -0
  88. package/lib/src/utils/custom-actions.js.map +1 -0
  89. package/lib/src/utils/custom-actions.spec.d.ts +2 -0
  90. package/lib/src/utils/custom-actions.spec.d.ts.map +1 -0
  91. package/lib/src/utils/custom-actions.spec.js +435 -0
  92. package/lib/src/utils/custom-actions.spec.js.map +1 -0
  93. package/lib/src/utils.d.ts +7 -0
  94. package/lib/src/utils.d.ts.map +1 -1
  95. package/lib/src/utils.js +9 -0
  96. package/lib/src/utils.js.map +1 -1
  97. package/lib/src/utils.spec.js +29 -1
  98. package/lib/src/utils.spec.js.map +1 -1
  99. package/lib/src/visual-embed-sdk.d.ts +96 -5
  100. package/package.json +2 -2
  101. package/src/embed/ts-embed.spec.ts +137 -3
  102. package/src/embed/ts-embed.ts +13 -1
  103. package/src/errors.ts +12 -0
  104. package/src/index.ts +4 -0
  105. package/src/react/index.tsx +1 -0
  106. package/src/types.ts +110 -15
  107. package/src/utils/custom-actions.spec.ts +471 -0
  108. package/src/utils/custom-actions.ts +228 -0
  109. package/src/utils.spec.ts +34 -0
  110. package/src/utils.ts +10 -0
  111. package/dist/es/index-BwesxE_h.js +0 -7369
  112. package/dist/es/index.js +0 -17539
  113. package/dist/es/react/index.js +0 -24039
  114. package/dist/es/react/src/auth.d.ts +0 -171
  115. package/dist/es/react/src/auth.d.ts.map +0 -1
  116. package/dist/es/react/src/auth.spec.d.ts +0 -15
  117. package/dist/es/react/src/auth.spec.d.ts.map +0 -1
  118. package/dist/es/react/src/authToken.d.ts +0 -17
  119. package/dist/es/react/src/authToken.d.ts.map +0 -1
  120. package/dist/es/react/src/authToken.spec.d.ts +0 -2
  121. package/dist/es/react/src/authToken.spec.d.ts.map +0 -1
  122. package/dist/es/react/src/config.d.ts +0 -21
  123. package/dist/es/react/src/config.d.ts.map +0 -1
  124. package/dist/es/react/src/config.spec.d.ts +0 -5
  125. package/dist/es/react/src/config.spec.d.ts.map +0 -1
  126. package/dist/es/react/src/css-variables.d.ts +0 -384
  127. package/dist/es/react/src/css-variables.d.ts.map +0 -1
  128. package/dist/es/react/src/embed/app.d.ts +0 -478
  129. package/dist/es/react/src/embed/app.d.ts.map +0 -1
  130. package/dist/es/react/src/embed/app.spec.d.ts +0 -2
  131. package/dist/es/react/src/embed/app.spec.d.ts.map +0 -1
  132. package/dist/es/react/src/embed/base.d.ts +0 -136
  133. package/dist/es/react/src/embed/base.d.ts.map +0 -1
  134. package/dist/es/react/src/embed/base.spec.d.ts +0 -2
  135. package/dist/es/react/src/embed/base.spec.d.ts.map +0 -1
  136. package/dist/es/react/src/embed/bodyless-conversation.d.ts +0 -26
  137. package/dist/es/react/src/embed/bodyless-conversation.d.ts.map +0 -1
  138. package/dist/es/react/src/embed/bodyless-conversation.spec.d.ts +0 -2
  139. package/dist/es/react/src/embed/bodyless-conversation.spec.d.ts.map +0 -1
  140. package/dist/es/react/src/embed/conversation.d.ts +0 -43
  141. package/dist/es/react/src/embed/conversation.d.ts.map +0 -1
  142. package/dist/es/react/src/embed/conversation.spec.d.ts +0 -2
  143. package/dist/es/react/src/embed/conversation.spec.d.ts.map +0 -1
  144. package/dist/es/react/src/embed/embed.spec.d.ts +0 -2
  145. package/dist/es/react/src/embed/embed.spec.d.ts.map +0 -1
  146. package/dist/es/react/src/embed/embedConfig.d.ts +0 -17
  147. package/dist/es/react/src/embed/embedConfig.d.ts.map +0 -1
  148. package/dist/es/react/src/embed/events.spec.d.ts +0 -2
  149. package/dist/es/react/src/embed/events.spec.d.ts.map +0 -1
  150. package/dist/es/react/src/embed/liveboard.d.ts +0 -379
  151. package/dist/es/react/src/embed/liveboard.d.ts.map +0 -1
  152. package/dist/es/react/src/embed/liveboard.spec.d.ts +0 -2
  153. package/dist/es/react/src/embed/liveboard.spec.d.ts.map +0 -1
  154. package/dist/es/react/src/embed/pinboard.spec.d.ts +0 -2
  155. package/dist/es/react/src/embed/pinboard.spec.d.ts.map +0 -1
  156. package/dist/es/react/src/embed/sage.d.ts +0 -148
  157. package/dist/es/react/src/embed/sage.d.ts.map +0 -1
  158. package/dist/es/react/src/embed/sage.spec.d.ts +0 -2
  159. package/dist/es/react/src/embed/sage.spec.d.ts.map +0 -1
  160. package/dist/es/react/src/embed/search-bar.d.ts +0 -93
  161. package/dist/es/react/src/embed/search-bar.d.ts.map +0 -1
  162. package/dist/es/react/src/embed/search.d.ts +0 -282
  163. package/dist/es/react/src/embed/search.d.ts.map +0 -1
  164. package/dist/es/react/src/embed/search.spec.d.ts +0 -2
  165. package/dist/es/react/src/embed/search.spec.d.ts.map +0 -1
  166. package/dist/es/react/src/embed/ts-embed-trigger.spec.d.ts +0 -2
  167. package/dist/es/react/src/embed/ts-embed-trigger.spec.d.ts.map +0 -1
  168. package/dist/es/react/src/embed/ts-embed.d.ts +0 -374
  169. package/dist/es/react/src/embed/ts-embed.d.ts.map +0 -1
  170. package/dist/es/react/src/embed/ts-embed.spec.d.ts +0 -2
  171. package/dist/es/react/src/embed/ts-embed.spec.d.ts.map +0 -1
  172. package/dist/es/react/src/errors.d.ts +0 -19
  173. package/dist/es/react/src/errors.d.ts.map +0 -1
  174. package/dist/es/react/src/index.d.ts +0 -29
  175. package/dist/es/react/src/index.d.ts.map +0 -1
  176. package/dist/es/react/src/mixpanel-service.d.ts +0 -35
  177. package/dist/es/react/src/mixpanel-service.d.ts.map +0 -1
  178. package/dist/es/react/src/mixpanel-service.spec.d.ts +0 -2
  179. package/dist/es/react/src/mixpanel-service.spec.d.ts.map +0 -1
  180. package/dist/es/react/src/react/all-types-export.d.ts +0 -3
  181. package/dist/es/react/src/react/all-types-export.d.ts.map +0 -1
  182. package/dist/es/react/src/react/all-types-export.spec.d.ts +0 -2
  183. package/dist/es/react/src/react/all-types-export.spec.d.ts.map +0 -1
  184. package/dist/es/react/src/react/index.d.ts +0 -254
  185. package/dist/es/react/src/react/index.d.ts.map +0 -1
  186. package/dist/es/react/src/react/index.spec.d.ts +0 -3
  187. package/dist/es/react/src/react/index.spec.d.ts.map +0 -1
  188. package/dist/es/react/src/react/util.d.ts +0 -19
  189. package/dist/es/react/src/react/util.d.ts.map +0 -1
  190. package/dist/es/react/src/test/test-utils.d.ts +0 -61
  191. package/dist/es/react/src/test/test-utils.d.ts.map +0 -1
  192. package/dist/es/react/src/tokenizedFetch.d.ts +0 -18
  193. package/dist/es/react/src/tokenizedFetch.d.ts.map +0 -1
  194. package/dist/es/react/src/types.d.ts +0 -4363
  195. package/dist/es/react/src/types.d.ts.map +0 -1
  196. package/dist/es/react/src/utils/authService/authService.d.ts +0 -45
  197. package/dist/es/react/src/utils/authService/authService.d.ts.map +0 -1
  198. package/dist/es/react/src/utils/authService/authService.spec.d.ts +0 -2
  199. package/dist/es/react/src/utils/authService/authService.spec.d.ts.map +0 -1
  200. package/dist/es/react/src/utils/authService/index.d.ts +0 -3
  201. package/dist/es/react/src/utils/authService/index.d.ts.map +0 -1
  202. package/dist/es/react/src/utils/authService/tokenizedAuthService.d.ts +0 -22
  203. package/dist/es/react/src/utils/authService/tokenizedAuthService.d.ts.map +0 -1
  204. package/dist/es/react/src/utils/authService/tokenizedAuthService.spec.d.ts +0 -2
  205. package/dist/es/react/src/utils/authService/tokenizedAuthService.spec.d.ts.map +0 -1
  206. package/dist/es/react/src/utils/global-styles.d.ts +0 -2
  207. package/dist/es/react/src/utils/global-styles.d.ts.map +0 -1
  208. package/dist/es/react/src/utils/global-styles.spec.d.ts +0 -2
  209. package/dist/es/react/src/utils/global-styles.spec.d.ts.map +0 -1
  210. package/dist/es/react/src/utils/graphql/answerService/answer-queries.d.ts +0 -10
  211. package/dist/es/react/src/utils/graphql/answerService/answer-queries.d.ts.map +0 -1
  212. package/dist/es/react/src/utils/graphql/answerService/answerService.d.ts +0 -180
  213. package/dist/es/react/src/utils/graphql/answerService/answerService.d.ts.map +0 -1
  214. package/dist/es/react/src/utils/graphql/answerService/answerService.spec.d.ts +0 -2
  215. package/dist/es/react/src/utils/graphql/answerService/answerService.spec.d.ts.map +0 -1
  216. package/dist/es/react/src/utils/graphql/graphql-request.d.ts +0 -15
  217. package/dist/es/react/src/utils/graphql/graphql-request.d.ts.map +0 -1
  218. package/dist/es/react/src/utils/graphql/graphql-request.spec.d.ts +0 -2
  219. package/dist/es/react/src/utils/graphql/graphql-request.spec.d.ts.map +0 -1
  220. package/dist/es/react/src/utils/graphql/nlsService/conversation-queries.d.ts +0 -3
  221. package/dist/es/react/src/utils/graphql/nlsService/conversation-queries.d.ts.map +0 -1
  222. package/dist/es/react/src/utils/graphql/nlsService/conversation-service.d.ts +0 -12
  223. package/dist/es/react/src/utils/graphql/nlsService/conversation-service.d.ts.map +0 -1
  224. package/dist/es/react/src/utils/graphql/nlsService/nls-answer-queries.d.ts +0 -2
  225. package/dist/es/react/src/utils/graphql/nlsService/nls-answer-queries.d.ts.map +0 -1
  226. package/dist/es/react/src/utils/graphql/nlsService/nls-answer-service.d.ts +0 -17
  227. package/dist/es/react/src/utils/graphql/nlsService/nls-answer-service.d.ts.map +0 -1
  228. package/dist/es/react/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts +0 -2
  229. package/dist/es/react/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts.map +0 -1
  230. package/dist/es/react/src/utils/graphql/preview-service.d.ts +0 -9
  231. package/dist/es/react/src/utils/graphql/preview-service.d.ts.map +0 -1
  232. package/dist/es/react/src/utils/graphql/preview-service.spec.d.ts +0 -2
  233. package/dist/es/react/src/utils/graphql/preview-service.spec.d.ts.map +0 -1
  234. package/dist/es/react/src/utils/graphql/sourceService.d.ts +0 -8
  235. package/dist/es/react/src/utils/graphql/sourceService.d.ts.map +0 -1
  236. package/dist/es/react/src/utils/graphql/sourceService.spec.d.ts +0 -2
  237. package/dist/es/react/src/utils/graphql/sourceService.spec.d.ts.map +0 -1
  238. package/dist/es/react/src/utils/liveboardService/liveboardService.d.ts +0 -16
  239. package/dist/es/react/src/utils/liveboardService/liveboardService.d.ts.map +0 -1
  240. package/dist/es/react/src/utils/liveboardService/liveboardService.spec.d.ts +0 -2
  241. package/dist/es/react/src/utils/liveboardService/liveboardService.spec.d.ts.map +0 -1
  242. package/dist/es/react/src/utils/logger.d.ts +0 -18
  243. package/dist/es/react/src/utils/logger.d.ts.map +0 -1
  244. package/dist/es/react/src/utils/logger.spec.d.ts +0 -25
  245. package/dist/es/react/src/utils/logger.spec.d.ts.map +0 -1
  246. package/dist/es/react/src/utils/processData.d.ts +0 -22
  247. package/dist/es/react/src/utils/processData.d.ts.map +0 -1
  248. package/dist/es/react/src/utils/processData.spec.d.ts +0 -2
  249. package/dist/es/react/src/utils/processData.spec.d.ts.map +0 -1
  250. package/dist/es/react/src/utils/processTrigger.d.ts +0 -16
  251. package/dist/es/react/src/utils/processTrigger.d.ts.map +0 -1
  252. package/dist/es/react/src/utils/processTrigger.spec.d.ts +0 -2
  253. package/dist/es/react/src/utils/processTrigger.spec.d.ts.map +0 -1
  254. package/dist/es/react/src/utils/reporting.d.ts +0 -16
  255. package/dist/es/react/src/utils/reporting.d.ts.map +0 -1
  256. package/dist/es/react/src/utils/reporting.spec.d.ts +0 -2
  257. package/dist/es/react/src/utils/reporting.spec.d.ts.map +0 -1
  258. package/dist/es/react/src/utils/sessionInfoService.d.ts +0 -66
  259. package/dist/es/react/src/utils/sessionInfoService.d.ts.map +0 -1
  260. package/dist/es/react/src/utils.d.ts +0 -104
  261. package/dist/es/react/src/utils.d.ts.map +0 -1
  262. package/dist/es/react/src/utils.spec.d.ts +0 -2
  263. package/dist/es/react/src/utils.spec.d.ts.map +0 -1
  264. package/dist/es/src/auth.d.ts +0 -171
  265. package/dist/es/src/auth.d.ts.map +0 -1
  266. package/dist/es/src/auth.spec.d.ts +0 -15
  267. package/dist/es/src/auth.spec.d.ts.map +0 -1
  268. package/dist/es/src/authToken.d.ts +0 -17
  269. package/dist/es/src/authToken.d.ts.map +0 -1
  270. package/dist/es/src/authToken.spec.d.ts +0 -2
  271. package/dist/es/src/authToken.spec.d.ts.map +0 -1
  272. package/dist/es/src/config.d.ts +0 -21
  273. package/dist/es/src/config.d.ts.map +0 -1
  274. package/dist/es/src/config.spec.d.ts +0 -5
  275. package/dist/es/src/config.spec.d.ts.map +0 -1
  276. package/dist/es/src/css-variables.d.ts +0 -384
  277. package/dist/es/src/css-variables.d.ts.map +0 -1
  278. package/dist/es/src/embed/app.d.ts +0 -478
  279. package/dist/es/src/embed/app.d.ts.map +0 -1
  280. package/dist/es/src/embed/app.spec.d.ts +0 -2
  281. package/dist/es/src/embed/app.spec.d.ts.map +0 -1
  282. package/dist/es/src/embed/base.d.ts +0 -136
  283. package/dist/es/src/embed/base.d.ts.map +0 -1
  284. package/dist/es/src/embed/base.spec.d.ts +0 -2
  285. package/dist/es/src/embed/base.spec.d.ts.map +0 -1
  286. package/dist/es/src/embed/bodyless-conversation.d.ts +0 -26
  287. package/dist/es/src/embed/bodyless-conversation.d.ts.map +0 -1
  288. package/dist/es/src/embed/bodyless-conversation.spec.d.ts +0 -2
  289. package/dist/es/src/embed/bodyless-conversation.spec.d.ts.map +0 -1
  290. package/dist/es/src/embed/conversation.d.ts +0 -43
  291. package/dist/es/src/embed/conversation.d.ts.map +0 -1
  292. package/dist/es/src/embed/conversation.spec.d.ts +0 -2
  293. package/dist/es/src/embed/conversation.spec.d.ts.map +0 -1
  294. package/dist/es/src/embed/embed.spec.d.ts +0 -2
  295. package/dist/es/src/embed/embed.spec.d.ts.map +0 -1
  296. package/dist/es/src/embed/embedConfig.d.ts +0 -17
  297. package/dist/es/src/embed/embedConfig.d.ts.map +0 -1
  298. package/dist/es/src/embed/events.spec.d.ts +0 -2
  299. package/dist/es/src/embed/events.spec.d.ts.map +0 -1
  300. package/dist/es/src/embed/liveboard.d.ts +0 -379
  301. package/dist/es/src/embed/liveboard.d.ts.map +0 -1
  302. package/dist/es/src/embed/liveboard.spec.d.ts +0 -2
  303. package/dist/es/src/embed/liveboard.spec.d.ts.map +0 -1
  304. package/dist/es/src/embed/pinboard.spec.d.ts +0 -2
  305. package/dist/es/src/embed/pinboard.spec.d.ts.map +0 -1
  306. package/dist/es/src/embed/sage.d.ts +0 -148
  307. package/dist/es/src/embed/sage.d.ts.map +0 -1
  308. package/dist/es/src/embed/sage.spec.d.ts +0 -2
  309. package/dist/es/src/embed/sage.spec.d.ts.map +0 -1
  310. package/dist/es/src/embed/search-bar.d.ts +0 -93
  311. package/dist/es/src/embed/search-bar.d.ts.map +0 -1
  312. package/dist/es/src/embed/search.d.ts +0 -282
  313. package/dist/es/src/embed/search.d.ts.map +0 -1
  314. package/dist/es/src/embed/search.spec.d.ts +0 -2
  315. package/dist/es/src/embed/search.spec.d.ts.map +0 -1
  316. package/dist/es/src/embed/ts-embed-trigger.spec.d.ts +0 -2
  317. package/dist/es/src/embed/ts-embed-trigger.spec.d.ts.map +0 -1
  318. package/dist/es/src/embed/ts-embed.d.ts +0 -374
  319. package/dist/es/src/embed/ts-embed.d.ts.map +0 -1
  320. package/dist/es/src/embed/ts-embed.spec.d.ts +0 -2
  321. package/dist/es/src/embed/ts-embed.spec.d.ts.map +0 -1
  322. package/dist/es/src/errors.d.ts +0 -19
  323. package/dist/es/src/errors.d.ts.map +0 -1
  324. package/dist/es/src/index.d.ts +0 -29
  325. package/dist/es/src/index.d.ts.map +0 -1
  326. package/dist/es/src/mixpanel-service.d.ts +0 -35
  327. package/dist/es/src/mixpanel-service.d.ts.map +0 -1
  328. package/dist/es/src/mixpanel-service.spec.d.ts +0 -2
  329. package/dist/es/src/mixpanel-service.spec.d.ts.map +0 -1
  330. package/dist/es/src/react/all-types-export.d.ts +0 -3
  331. package/dist/es/src/react/all-types-export.d.ts.map +0 -1
  332. package/dist/es/src/react/all-types-export.spec.d.ts +0 -2
  333. package/dist/es/src/react/all-types-export.spec.d.ts.map +0 -1
  334. package/dist/es/src/react/index.d.ts +0 -254
  335. package/dist/es/src/react/index.d.ts.map +0 -1
  336. package/dist/es/src/react/index.spec.d.ts +0 -3
  337. package/dist/es/src/react/index.spec.d.ts.map +0 -1
  338. package/dist/es/src/react/util.d.ts +0 -19
  339. package/dist/es/src/react/util.d.ts.map +0 -1
  340. package/dist/es/src/test/test-utils.d.ts +0 -61
  341. package/dist/es/src/test/test-utils.d.ts.map +0 -1
  342. package/dist/es/src/tokenizedFetch.d.ts +0 -18
  343. package/dist/es/src/tokenizedFetch.d.ts.map +0 -1
  344. package/dist/es/src/types.d.ts +0 -4363
  345. package/dist/es/src/types.d.ts.map +0 -1
  346. package/dist/es/src/utils/authService/authService.d.ts +0 -45
  347. package/dist/es/src/utils/authService/authService.d.ts.map +0 -1
  348. package/dist/es/src/utils/authService/authService.spec.d.ts +0 -2
  349. package/dist/es/src/utils/authService/authService.spec.d.ts.map +0 -1
  350. package/dist/es/src/utils/authService/index.d.ts +0 -3
  351. package/dist/es/src/utils/authService/index.d.ts.map +0 -1
  352. package/dist/es/src/utils/authService/tokenizedAuthService.d.ts +0 -22
  353. package/dist/es/src/utils/authService/tokenizedAuthService.d.ts.map +0 -1
  354. package/dist/es/src/utils/authService/tokenizedAuthService.spec.d.ts +0 -2
  355. package/dist/es/src/utils/authService/tokenizedAuthService.spec.d.ts.map +0 -1
  356. package/dist/es/src/utils/global-styles.d.ts +0 -2
  357. package/dist/es/src/utils/global-styles.d.ts.map +0 -1
  358. package/dist/es/src/utils/global-styles.spec.d.ts +0 -2
  359. package/dist/es/src/utils/global-styles.spec.d.ts.map +0 -1
  360. package/dist/es/src/utils/graphql/answerService/answer-queries.d.ts +0 -10
  361. package/dist/es/src/utils/graphql/answerService/answer-queries.d.ts.map +0 -1
  362. package/dist/es/src/utils/graphql/answerService/answerService.d.ts +0 -180
  363. package/dist/es/src/utils/graphql/answerService/answerService.d.ts.map +0 -1
  364. package/dist/es/src/utils/graphql/answerService/answerService.spec.d.ts +0 -2
  365. package/dist/es/src/utils/graphql/answerService/answerService.spec.d.ts.map +0 -1
  366. package/dist/es/src/utils/graphql/graphql-request.d.ts +0 -15
  367. package/dist/es/src/utils/graphql/graphql-request.d.ts.map +0 -1
  368. package/dist/es/src/utils/graphql/graphql-request.spec.d.ts +0 -2
  369. package/dist/es/src/utils/graphql/graphql-request.spec.d.ts.map +0 -1
  370. package/dist/es/src/utils/graphql/nlsService/conversation-queries.d.ts +0 -3
  371. package/dist/es/src/utils/graphql/nlsService/conversation-queries.d.ts.map +0 -1
  372. package/dist/es/src/utils/graphql/nlsService/conversation-service.d.ts +0 -12
  373. package/dist/es/src/utils/graphql/nlsService/conversation-service.d.ts.map +0 -1
  374. package/dist/es/src/utils/graphql/nlsService/nls-answer-queries.d.ts +0 -2
  375. package/dist/es/src/utils/graphql/nlsService/nls-answer-queries.d.ts.map +0 -1
  376. package/dist/es/src/utils/graphql/nlsService/nls-answer-service.d.ts +0 -17
  377. package/dist/es/src/utils/graphql/nlsService/nls-answer-service.d.ts.map +0 -1
  378. package/dist/es/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts +0 -2
  379. package/dist/es/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts.map +0 -1
  380. package/dist/es/src/utils/graphql/preview-service.d.ts +0 -9
  381. package/dist/es/src/utils/graphql/preview-service.d.ts.map +0 -1
  382. package/dist/es/src/utils/graphql/preview-service.spec.d.ts +0 -2
  383. package/dist/es/src/utils/graphql/preview-service.spec.d.ts.map +0 -1
  384. package/dist/es/src/utils/graphql/sourceService.d.ts +0 -8
  385. package/dist/es/src/utils/graphql/sourceService.d.ts.map +0 -1
  386. package/dist/es/src/utils/graphql/sourceService.spec.d.ts +0 -2
  387. package/dist/es/src/utils/graphql/sourceService.spec.d.ts.map +0 -1
  388. package/dist/es/src/utils/liveboardService/liveboardService.d.ts +0 -16
  389. package/dist/es/src/utils/liveboardService/liveboardService.d.ts.map +0 -1
  390. package/dist/es/src/utils/liveboardService/liveboardService.spec.d.ts +0 -2
  391. package/dist/es/src/utils/liveboardService/liveboardService.spec.d.ts.map +0 -1
  392. package/dist/es/src/utils/logger.d.ts +0 -18
  393. package/dist/es/src/utils/logger.d.ts.map +0 -1
  394. package/dist/es/src/utils/logger.spec.d.ts +0 -25
  395. package/dist/es/src/utils/logger.spec.d.ts.map +0 -1
  396. package/dist/es/src/utils/processData.d.ts +0 -22
  397. package/dist/es/src/utils/processData.d.ts.map +0 -1
  398. package/dist/es/src/utils/processData.spec.d.ts +0 -2
  399. package/dist/es/src/utils/processData.spec.d.ts.map +0 -1
  400. package/dist/es/src/utils/processTrigger.d.ts +0 -16
  401. package/dist/es/src/utils/processTrigger.d.ts.map +0 -1
  402. package/dist/es/src/utils/processTrigger.spec.d.ts +0 -2
  403. package/dist/es/src/utils/processTrigger.spec.d.ts.map +0 -1
  404. package/dist/es/src/utils/reporting.d.ts +0 -16
  405. package/dist/es/src/utils/reporting.d.ts.map +0 -1
  406. package/dist/es/src/utils/reporting.spec.d.ts +0 -2
  407. package/dist/es/src/utils/reporting.spec.d.ts.map +0 -1
  408. package/dist/es/src/utils/sessionInfoService.d.ts +0 -66
  409. package/dist/es/src/utils/sessionInfoService.d.ts.map +0 -1
  410. package/dist/es/src/utils.d.ts +0 -104
  411. package/dist/es/src/utils.d.ts.map +0 -1
  412. package/dist/es/src/utils.spec.d.ts +0 -2
  413. package/dist/es/src/utils.spec.d.ts.map +0 -1
@@ -0,0 +1,228 @@
1
+ import { CustomAction, CustomActionsPosition, CustomActionTarget } from '../types';
2
+ import { arrayIncludesString } from '../utils';
3
+ import sortBy from 'lodash/sortBy';
4
+ import { CUSTOM_ACTIONS_ERROR_MESSAGE } from '../errors';
5
+
6
+ export interface CustomActionsValidationResult {
7
+ actions: CustomAction[];
8
+ errors: string[];
9
+ }
10
+
11
+ type CustomActionValidation = {
12
+ isValid: boolean;
13
+ errors: string[];
14
+ };
15
+
16
+ /**
17
+ * Configuration for custom action validation rules.
18
+ * Defines allowed positions, metadata IDs, data model IDs, and fields for each target
19
+ * type.
20
+ *
21
+ */
22
+ const customActionValidationConfig: Record<CustomActionTarget, {
23
+ positions: string[];
24
+ allowedMetadataIds: string[];
25
+ allowedDataModelIds: string[];
26
+ allowedFields: string[];
27
+ }> = {
28
+ [CustomActionTarget.LIVEBOARD]: {
29
+ positions: [CustomActionsPosition.PRIMARY, CustomActionsPosition.MENU],
30
+ allowedMetadataIds: ['liveboardIds'],
31
+ allowedDataModelIds: [],
32
+ allowedFields: ['name', 'id', 'position', 'target', 'metadataIds', 'orgIds', 'groupIds'],
33
+ },
34
+ [CustomActionTarget.VIZ]: {
35
+ positions: [CustomActionsPosition.MENU, CustomActionsPosition.PRIMARY, CustomActionsPosition.CONTEXTMENU],
36
+ allowedMetadataIds: ['liveboardIds', 'vizIds', 'answerIds'],
37
+ allowedDataModelIds: ['modelIds', 'modelColumnNames'],
38
+ allowedFields: ['name', 'id', 'position', 'target', 'metadataIds', 'orgIds', 'groupIds', 'dataModelIds'],
39
+ },
40
+ [CustomActionTarget.ANSWER]: {
41
+ positions: [CustomActionsPosition.MENU, CustomActionsPosition.PRIMARY, CustomActionsPosition.CONTEXTMENU],
42
+ allowedMetadataIds: ['answerIds'],
43
+ allowedDataModelIds: ['modelIds', 'modelColumnNames'],
44
+ allowedFields: ['name', 'id', 'position', 'target', 'metadataIds', 'orgIds', 'groupIds', 'dataModelIds'],
45
+ },
46
+ [CustomActionTarget.SPOTTER]: {
47
+ positions: [CustomActionsPosition.MENU, CustomActionsPosition.CONTEXTMENU],
48
+ allowedMetadataIds: [],
49
+ allowedDataModelIds: ['modelIds'],
50
+ allowedFields: ['name', 'id', 'position', 'target', 'orgIds', 'groupIds', 'dataModelIds'],
51
+ },
52
+ };
53
+
54
+ /**
55
+ * Validates a single custom action based on its target type
56
+ * @param action - The custom action to validate
57
+ * @param primaryActionsPerTarget - Map to track primary actions per target
58
+ * @returns CustomActionValidation with isValid flag and reason string
59
+ *
60
+ * @hidden
61
+ */
62
+ const validateCustomAction = (action: CustomAction, primaryActionsPerTarget: Map<CustomActionTarget, CustomAction>): CustomActionValidation => {
63
+ const { id: actionId, target: targetType, position, metadataIds, dataModelIds } = action;
64
+
65
+ // Check if target type is supported
66
+ if (!customActionValidationConfig[targetType]) {
67
+ const errorMessage = CUSTOM_ACTIONS_ERROR_MESSAGE.UNSUPPORTED_TARGET(actionId, targetType);
68
+ return { isValid: false, errors: [errorMessage] };
69
+ }
70
+
71
+ const config = customActionValidationConfig[targetType];
72
+ const errors: string[] = [];
73
+
74
+ // Validate position
75
+ if (!arrayIncludesString(config.positions, position)) {
76
+ const supportedPositions = config.positions.join(', ');
77
+ errors.push(CUSTOM_ACTIONS_ERROR_MESSAGE.INVALID_POSITION(position, targetType, supportedPositions));
78
+ }
79
+
80
+ // Check for primary action conflicts (this is a warning, not a validation
81
+ // failure)
82
+ if (position === CustomActionsPosition.PRIMARY) {
83
+ const existingPrimaryAction = primaryActionsPerTarget.get(targetType);
84
+ if (existingPrimaryAction) {
85
+ errors.push(CUSTOM_ACTIONS_ERROR_MESSAGE.MULTIPLE_PRIMARY_ACTIONS(targetType, existingPrimaryAction.name, action.name));
86
+ } else {
87
+ primaryActionsPerTarget.set(targetType, action);
88
+ }
89
+ }
90
+
91
+ // Validate metadata IDs
92
+ if (metadataIds) {
93
+ const invalidMetadataIds = Object.keys(metadataIds).filter(
94
+ (key) => !arrayIncludesString(config.allowedMetadataIds, key)
95
+ );
96
+ if (invalidMetadataIds.length > 0) {
97
+ const supportedMetadataIds = config.allowedMetadataIds.length > 0 ? config.allowedMetadataIds.join(', ') : 'none';
98
+ errors.push(CUSTOM_ACTIONS_ERROR_MESSAGE.INVALID_METADATA_IDS(targetType, invalidMetadataIds, supportedMetadataIds));
99
+ }
100
+ }
101
+
102
+ // Validate data model IDs
103
+ if (dataModelIds) {
104
+ const invalidDataModelIds = Object.keys(dataModelIds).filter(
105
+ (key) => !arrayIncludesString(config.allowedDataModelIds, key)
106
+ );
107
+ if (invalidDataModelIds.length > 0) {
108
+ const supportedDataModelIds = config.allowedDataModelIds.length > 0 ? config.allowedDataModelIds.join(', ') : 'none';
109
+ errors.push(CUSTOM_ACTIONS_ERROR_MESSAGE.INVALID_DATA_MODEL_IDS(targetType, invalidDataModelIds, supportedDataModelIds));
110
+ }
111
+ }
112
+
113
+ // Validate allowed fields
114
+ const actionKeys = Object.keys(action);
115
+ const invalidFields = actionKeys.filter((key) => !arrayIncludesString(config.allowedFields, key));
116
+ if (invalidFields.length > 0) {
117
+ const supportedFields = config.allowedFields.join(', ');
118
+ errors.push(CUSTOM_ACTIONS_ERROR_MESSAGE.INVALID_FIELDS(targetType, invalidFields, supportedFields));
119
+ }
120
+
121
+ return {
122
+ isValid: errors.length === 0,
123
+ errors,
124
+ };
125
+ };
126
+
127
+ /**
128
+ * Validates basic action structure and required fields
129
+ * @param action - The action to validate
130
+ * @returns Object containing validation result and missing fields
131
+ *
132
+ * @hidden
133
+ */
134
+ const validateActionStructure = (action: any): { isValid: boolean; missingFields: string[] } => {
135
+ if (!action || typeof action !== 'object') {
136
+ return { isValid: false, missingFields: [] };
137
+ }
138
+
139
+ // Check for all missing required fields
140
+ const missingFields = ['id', 'name', 'target', 'position'].filter(field => !action[field]);
141
+ return { isValid: missingFields.length === 0, missingFields };
142
+ };
143
+
144
+ /**
145
+ * Checks for duplicate IDs among actions
146
+ * @param actions - Array of actions to check
147
+ * @returns Object containing filtered actions and duplicate errors
148
+ *
149
+ * @hidden
150
+ */
151
+ const filterDuplicateIds = (actions: CustomAction[]): { actions: CustomAction[]; errors: string[] } => {
152
+ const idMap = actions.reduce((map, action) => {
153
+ const list = map.get(action.id) || [];
154
+ list.push(action);
155
+ map.set(action.id, list);
156
+ return map;
157
+ }, new Map<string, CustomAction[]>());
158
+
159
+ const { actions: actionsWithUniqueIds, errors } = Array.from(idMap.entries()).reduce(
160
+ (acc, [id, actionsWithSameId]) => {
161
+ if (actionsWithSameId.length === 1) {
162
+ acc.actions.push(actionsWithSameId[0]);
163
+ } else {
164
+ // Keep the first action and add error for duplicates
165
+ acc.actions.push(actionsWithSameId[0]);
166
+ const duplicateNames = actionsWithSameId.slice(1).map(action => action.name);
167
+ acc.errors.push(CUSTOM_ACTIONS_ERROR_MESSAGE.DUPLICATE_IDS(id, duplicateNames, actionsWithSameId[0].name));
168
+ }
169
+ return acc;
170
+ },
171
+ { actions: [] as CustomAction[], errors: [] as string[] }
172
+ );
173
+
174
+ return { actions: actionsWithUniqueIds, errors };
175
+ };
176
+
177
+ /**
178
+ * Validates and processes custom actions
179
+ * @param customActions - Array of custom actions to validate
180
+ * @returns Object containing valid actions and any validation errors
181
+ */
182
+ export const getCustomActions = (customActions: CustomAction[]): CustomActionsValidationResult => {
183
+ const errors: string[] = [];
184
+ const primaryActionsPerTarget = new Map<CustomActionTarget, CustomAction>();
185
+
186
+ if (!customActions || !Array.isArray(customActions)) {
187
+ return { actions: [], errors: [] };
188
+ }
189
+
190
+ // Step 1: Handle invalid actions first (null, undefined, missing required
191
+ // fields)
192
+ const validActions = customActions.filter(action => {
193
+ const validation = validateActionStructure(action);
194
+ if (!validation.isValid) {
195
+ if (!action || typeof action !== 'object') {
196
+ errors.push(CUSTOM_ACTIONS_ERROR_MESSAGE.INVALID_ACTION_OBJECT);
197
+ } else {
198
+ errors.push(CUSTOM_ACTIONS_ERROR_MESSAGE.MISSING_REQUIRED_FIELDS((action as any).id, validation.missingFields));
199
+ }
200
+ return false;
201
+ }
202
+ return true;
203
+ });
204
+
205
+ // Step 2: Check for duplicate IDs among valid actions
206
+ const { actions: actionsWithUniqueIds, errors: duplicateErrors } = filterDuplicateIds(validActions);
207
+
208
+ // Add duplicate errors to the errors array
209
+ duplicateErrors.forEach(error => errors.push(error));
210
+
211
+ // Step 3: Validate actions with unique IDs
212
+ const finalValidActions: CustomAction[] = [];
213
+ actionsWithUniqueIds.forEach((action) => {
214
+ const { isValid, errors: validationErrors } = validateCustomAction(action, primaryActionsPerTarget);
215
+ validationErrors.forEach(error => errors.push(error));
216
+
217
+ if (isValid) {
218
+ finalValidActions.push(action);
219
+ }
220
+ });
221
+
222
+ const sortedActions = sortBy(finalValidActions, (a) => a.name.toLocaleLowerCase());
223
+
224
+ return {
225
+ actions: sortedActions,
226
+ errors: errors,
227
+ };
228
+ };
package/src/utils.spec.ts CHANGED
@@ -16,6 +16,7 @@ import {
16
16
  handlePresentEvent,
17
17
  handleExitPresentMode,
18
18
  getTypeFromValue,
19
+ arrayIncludesString,
19
20
  calculateVisibleElementData,
20
21
  } from './utils';
21
22
  import { RuntimeFilterOp } from './types';
@@ -436,6 +437,39 @@ describe('Fullscreen Utility Functions', () => {
436
437
  expect(logger.warn).toHaveBeenCalledWith('Exit fullscreen API is not supported by this browser.');
437
438
  });
438
439
  });
440
+
441
+ describe('arrayIncludesString', () => {
442
+ it('should return true when string is found in array', () => {
443
+ const arr = ['test', 'example', 'value'];
444
+ expect(arrayIncludesString(arr, 'test')).toBe(true);
445
+ expect(arrayIncludesString(arr, 'example')).toBe(true);
446
+ expect(arrayIncludesString(arr, 'value')).toBe(true);
447
+ });
448
+
449
+ it('should return false when string is not found in array', () => {
450
+ const arr = ['test', 'example', 'value'];
451
+ expect(arrayIncludesString(arr, 'notfound')).toBe(false);
452
+ expect(arrayIncludesString(arr, '')).toBe(false);
453
+ });
454
+
455
+ it('should handle empty array', () => {
456
+ const arr: readonly unknown[] = [];
457
+ expect(arrayIncludesString(arr, 'test')).toBe(false);
458
+ });
459
+
460
+ it('should handle array with non-string values', () => {
461
+ const arr = ['test', 123, true, 'value'];
462
+ expect(arrayIncludesString(arr, 'test')).toBe(true);
463
+ expect(arrayIncludesString(arr, 'value')).toBe(true);
464
+ expect(arrayIncludesString(arr, '123')).toBe(false); // string '123' not found
465
+ });
466
+
467
+ it('should be case sensitive', () => {
468
+ const arr = ['Test', 'Example', 'Value'];
469
+ expect(arrayIncludesString(arr, 'test')).toBe(false);
470
+ expect(arrayIncludesString(arr, 'Test')).toBe(true);
471
+ });
472
+ });
439
473
  });
440
474
 
441
475
  describe('calculateVisibleElementData', () => {
package/src/utils.ts CHANGED
@@ -379,6 +379,16 @@ export function storeValueInWindow<T>(
379
379
  export const getValueFromWindow = <T = any>
380
380
  (key: string): T => (window as any)?.[sdkWindowKey]?.[key];
381
381
 
382
+ /**
383
+ * Check if an array includes a string value
384
+ * @param arr - The array to check
385
+ * @param key - The string to search for
386
+ * @returns boolean indicating if the string is found in the array
387
+ */
388
+ export const arrayIncludesString = (arr: readonly unknown[], key: string): boolean => {
389
+ return arr.some(item => typeof item === 'string' && item === key);
390
+ };
391
+
382
392
  /**
383
393
  * Resets the key if it exists in the `window` object under the `_tsEmbedSDK` key.
384
394
  * Returns true if the key was reset, false otherwise.