@botonic/plugin-flow-builder 0.57.0-rslib-esm.1 → 0.57.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (906) hide show
  1. package/README.md +1 -1
  2. package/lib/cjs/action/ai-agent-from-user-input.d.ts +3 -0
  3. package/lib/cjs/action/ai-agent-from-user-input.js +38 -0
  4. package/lib/cjs/action/ai-agent-from-user-input.js.map +1 -0
  5. package/lib/cjs/action/context.d.ts +11 -0
  6. package/lib/cjs/action/context.js +17 -0
  7. package/lib/cjs/action/context.js.map +1 -0
  8. package/lib/cjs/action/fallback.d.ts +3 -0
  9. package/lib/cjs/action/fallback.js +36 -0
  10. package/lib/cjs/action/fallback.js.map +1 -0
  11. package/lib/cjs/action/first-interaction.d.ts +3 -0
  12. package/lib/cjs/action/first-interaction.js +93 -0
  13. package/lib/cjs/action/first-interaction.js.map +1 -0
  14. package/lib/cjs/action/get-contents.d.ts +3 -0
  15. package/lib/cjs/action/get-contents.js +44 -0
  16. package/lib/cjs/action/get-contents.js.map +1 -0
  17. package/lib/cjs/action/index.d.ts +25 -0
  18. package/lib/cjs/action/index.js +95 -0
  19. package/lib/cjs/action/index.js.map +1 -0
  20. package/lib/cjs/action/payload.d.ts +3 -0
  21. package/lib/cjs/action/payload.js +74 -0
  22. package/lib/cjs/action/payload.js.map +1 -0
  23. package/lib/cjs/api.d.ts +45 -0
  24. package/lib/cjs/api.js +227 -0
  25. package/lib/cjs/api.js.map +1 -0
  26. package/lib/cjs/bot-context-manager.d.ts +17 -0
  27. package/lib/cjs/bot-context-manager.js +93 -0
  28. package/lib/cjs/bot-context-manager.js.map +1 -0
  29. package/lib/cjs/constants.d.ts +14 -0
  30. package/lib/cjs/constants.js +20 -0
  31. package/lib/cjs/constants.js.map +1 -0
  32. package/lib/cjs/content-fields/contact-reasons-conditional-matcher.d.ts +4 -0
  33. package/lib/cjs/content-fields/contact-reasons-conditional-matcher.js +12 -0
  34. package/lib/cjs/content-fields/contact-reasons-conditional-matcher.js.map +1 -0
  35. package/lib/cjs/content-fields/content-fields-base.d.ts +20 -0
  36. package/lib/cjs/content-fields/content-fields-base.js +74 -0
  37. package/lib/cjs/content-fields/content-fields-base.js.map +1 -0
  38. package/lib/cjs/content-fields/custom-conditional/custom-conditional-v2-evaluators.d.ts +15 -0
  39. package/lib/cjs/content-fields/custom-conditional/custom-conditional-v2-evaluators.js +71 -0
  40. package/lib/cjs/content-fields/custom-conditional/custom-conditional-v2-evaluators.js.map +1 -0
  41. package/lib/cjs/content-fields/custom-conditional/custom-conditional-v2-resolver.d.ts +9 -0
  42. package/lib/cjs/content-fields/custom-conditional/custom-conditional-v2-resolver.js +58 -0
  43. package/lib/cjs/content-fields/custom-conditional/custom-conditional-v2-resolver.js.map +1 -0
  44. package/lib/cjs/content-fields/custom-conditional/flow-custom-condition-v2.d.ts +17 -0
  45. package/lib/cjs/content-fields/custom-conditional/flow-custom-condition-v2.js +79 -0
  46. package/lib/cjs/content-fields/custom-conditional/flow-custom-condition-v2.js.map +1 -0
  47. package/lib/cjs/content-fields/flow-ai-agent-base.d.ts +25 -0
  48. package/lib/cjs/content-fields/flow-ai-agent-base.js +97 -0
  49. package/lib/cjs/content-fields/flow-ai-agent-base.js.map +1 -0
  50. package/lib/cjs/content-fields/flow-ai-agent-router.d.ts +21 -0
  51. package/lib/cjs/content-fields/flow-ai-agent-router.js +126 -0
  52. package/lib/cjs/content-fields/flow-ai-agent-router.js.map +1 -0
  53. package/lib/cjs/content-fields/flow-ai-agent.d.ts +17 -0
  54. package/lib/cjs/content-fields/flow-ai-agent.js +65 -0
  55. package/lib/cjs/content-fields/flow-ai-agent.js.map +1 -0
  56. package/lib/cjs/content-fields/flow-bot-action.d.ts +14 -0
  57. package/lib/cjs/content-fields/flow-bot-action.js +45 -0
  58. package/lib/cjs/content-fields/flow-bot-action.js.map +1 -0
  59. package/lib/cjs/content-fields/flow-button.d.ts +31 -0
  60. package/lib/cjs/content-fields/flow-button.js +86 -0
  61. package/lib/cjs/content-fields/flow-button.js.map +1 -0
  62. package/lib/cjs/content-fields/flow-capture-user-input.d.ts +14 -0
  63. package/lib/cjs/content-fields/flow-capture-user-input.js +45 -0
  64. package/lib/cjs/content-fields/flow-capture-user-input.js.map +1 -0
  65. package/lib/cjs/content-fields/flow-carousel.d.ts +22 -0
  66. package/lib/cjs/content-fields/flow-carousel.js +152 -0
  67. package/lib/cjs/content-fields/flow-carousel.js.map +1 -0
  68. package/lib/cjs/content-fields/flow-channel-conditional.d.ts +14 -0
  69. package/lib/cjs/content-fields/flow-channel-conditional.js +57 -0
  70. package/lib/cjs/content-fields/flow-channel-conditional.js.map +1 -0
  71. package/lib/cjs/content-fields/flow-contact-reasons-conditional.d.ts +14 -0
  72. package/lib/cjs/content-fields/flow-contact-reasons-conditional.js +65 -0
  73. package/lib/cjs/content-fields/flow-contact-reasons-conditional.js.map +1 -0
  74. package/lib/cjs/content-fields/flow-country-conditional.d.ts +13 -0
  75. package/lib/cjs/content-fields/flow-country-conditional.js +59 -0
  76. package/lib/cjs/content-fields/flow-country-conditional.js.map +1 -0
  77. package/lib/cjs/content-fields/flow-custom-conditional.d.ts +17 -0
  78. package/lib/cjs/content-fields/flow-custom-conditional.js +89 -0
  79. package/lib/cjs/content-fields/flow-custom-conditional.js.map +1 -0
  80. package/lib/cjs/content-fields/flow-do-nothing.d.ts +9 -0
  81. package/lib/cjs/content-fields/flow-do-nothing.js +27 -0
  82. package/lib/cjs/content-fields/flow-do-nothing.js.map +1 -0
  83. package/lib/cjs/content-fields/flow-element.d.ts +22 -0
  84. package/lib/cjs/content-fields/flow-element.js +50 -0
  85. package/lib/cjs/content-fields/flow-element.js.map +1 -0
  86. package/lib/cjs/content-fields/flow-go-to-flow.d.ts +13 -0
  87. package/lib/cjs/content-fields/flow-go-to-flow.js +51 -0
  88. package/lib/cjs/content-fields/flow-go-to-flow.js.map +1 -0
  89. package/lib/cjs/content-fields/flow-handoff.d.ts +23 -0
  90. package/lib/cjs/content-fields/flow-handoff.js +104 -0
  91. package/lib/cjs/content-fields/flow-handoff.js.map +1 -0
  92. package/lib/cjs/content-fields/flow-image.d.ts +10 -0
  93. package/lib/cjs/content-fields/flow-image.js +33 -0
  94. package/lib/cjs/content-fields/flow-image.js.map +1 -0
  95. package/lib/cjs/content-fields/flow-queue-status-conditional.d.ts +30 -0
  96. package/lib/cjs/content-fields/flow-queue-status-conditional.js +95 -0
  97. package/lib/cjs/content-fields/flow-queue-status-conditional.js.map +1 -0
  98. package/lib/cjs/content-fields/flow-rating.d.ts +15 -0
  99. package/lib/cjs/content-fields/flow-rating.js +66 -0
  100. package/lib/cjs/content-fields/flow-rating.js.map +1 -0
  101. package/lib/cjs/content-fields/flow-text.d.ts +15 -0
  102. package/lib/cjs/content-fields/flow-text.js +60 -0
  103. package/lib/cjs/content-fields/flow-text.js.map +1 -0
  104. package/lib/cjs/content-fields/flow-video.d.ts +10 -0
  105. package/lib/cjs/content-fields/flow-video.js +33 -0
  106. package/lib/cjs/content-fields/flow-video.js.map +1 -0
  107. package/lib/cjs/content-fields/flow-webview.d.ts +16 -0
  108. package/lib/cjs/content-fields/flow-webview.js +78 -0
  109. package/lib/cjs/content-fields/flow-webview.js.map +1 -0
  110. package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.d.ts +21 -0
  111. package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.js +92 -0
  112. package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.js.map +1 -0
  113. package/lib/cjs/content-fields/flow-whatsapp-request-contact-info.d.ts +11 -0
  114. package/lib/cjs/content-fields/flow-whatsapp-request-contact-info.js +46 -0
  115. package/lib/cjs/content-fields/flow-whatsapp-request-contact-info.js.map +1 -0
  116. package/lib/cjs/content-fields/flow-whatsapp-template.d.ts +37 -0
  117. package/lib/cjs/content-fields/flow-whatsapp-template.js +264 -0
  118. package/lib/cjs/content-fields/flow-whatsapp-template.js.map +1 -0
  119. package/lib/cjs/content-fields/hubtype-fields/ai-agent-router.d.ts +21 -0
  120. package/lib/cjs/content-fields/hubtype-fields/ai-agent-router.js +3 -0
  121. package/lib/cjs/content-fields/hubtype-fields/ai-agent-router.js.map +1 -0
  122. package/lib/cjs/content-fields/hubtype-fields/ai-agent.d.ts +25 -0
  123. package/lib/cjs/content-fields/hubtype-fields/ai-agent.js +3 -0
  124. package/lib/cjs/content-fields/hubtype-fields/ai-agent.js.map +1 -0
  125. package/lib/cjs/content-fields/hubtype-fields/bot-action.d.ts +10 -0
  126. package/lib/cjs/content-fields/hubtype-fields/bot-action.js +3 -0
  127. package/lib/cjs/content-fields/hubtype-fields/bot-action.js.map +1 -0
  128. package/lib/cjs/content-fields/hubtype-fields/button.d.ts +8 -0
  129. package/lib/cjs/content-fields/hubtype-fields/button.js +3 -0
  130. package/lib/cjs/content-fields/hubtype-fields/button.js.map +1 -0
  131. package/lib/cjs/content-fields/hubtype-fields/capture-user-input.d.ts +19 -0
  132. package/lib/cjs/content-fields/hubtype-fields/capture-user-input.js +12 -0
  133. package/lib/cjs/content-fields/hubtype-fields/capture-user-input.js.map +1 -0
  134. package/lib/cjs/content-fields/hubtype-fields/carousel.d.ts +17 -0
  135. package/lib/cjs/content-fields/hubtype-fields/carousel.js +3 -0
  136. package/lib/cjs/content-fields/hubtype-fields/carousel.js.map +1 -0
  137. package/lib/cjs/content-fields/hubtype-fields/channel-conditional.d.ts +10 -0
  138. package/lib/cjs/content-fields/hubtype-fields/channel-conditional.js +3 -0
  139. package/lib/cjs/content-fields/hubtype-fields/channel-conditional.js.map +1 -0
  140. package/lib/cjs/content-fields/hubtype-fields/common.d.ts +83 -0
  141. package/lib/cjs/content-fields/hubtype-fields/common.js +3 -0
  142. package/lib/cjs/content-fields/hubtype-fields/common.js.map +1 -0
  143. package/lib/cjs/content-fields/hubtype-fields/contact-reasons-conditional.d.ts +16 -0
  144. package/lib/cjs/content-fields/hubtype-fields/contact-reasons-conditional.js +3 -0
  145. package/lib/cjs/content-fields/hubtype-fields/contact-reasons-conditional.js.map +1 -0
  146. package/lib/cjs/content-fields/hubtype-fields/country-conditional.d.ts +10 -0
  147. package/lib/cjs/content-fields/hubtype-fields/country-conditional.js +3 -0
  148. package/lib/cjs/content-fields/hubtype-fields/country-conditional.js.map +1 -0
  149. package/lib/cjs/content-fields/hubtype-fields/custom-conditional-v2.d.ts +56 -0
  150. package/lib/cjs/content-fields/hubtype-fields/custom-conditional-v2.js +36 -0
  151. package/lib/cjs/content-fields/hubtype-fields/custom-conditional-v2.js.map +1 -0
  152. package/lib/cjs/content-fields/hubtype-fields/custom-conditional.d.ts +11 -0
  153. package/lib/cjs/content-fields/hubtype-fields/custom-conditional.js +3 -0
  154. package/lib/cjs/content-fields/hubtype-fields/custom-conditional.js.map +1 -0
  155. package/lib/cjs/content-fields/hubtype-fields/do-nothing.d.ts +6 -0
  156. package/lib/cjs/content-fields/hubtype-fields/do-nothing.js +3 -0
  157. package/lib/cjs/content-fields/hubtype-fields/do-nothing.js.map +1 -0
  158. package/lib/cjs/content-fields/hubtype-fields/fallback.d.ts +9 -0
  159. package/lib/cjs/content-fields/hubtype-fields/fallback.js +3 -0
  160. package/lib/cjs/content-fields/hubtype-fields/fallback.js.map +1 -0
  161. package/lib/cjs/content-fields/hubtype-fields/function.d.ts +30 -0
  162. package/lib/cjs/content-fields/hubtype-fields/function.js +11 -0
  163. package/lib/cjs/content-fields/hubtype-fields/function.js.map +1 -0
  164. package/lib/cjs/content-fields/hubtype-fields/go-to-flow.d.ts +9 -0
  165. package/lib/cjs/content-fields/hubtype-fields/go-to-flow.js +3 -0
  166. package/lib/cjs/content-fields/hubtype-fields/go-to-flow.js.map +1 -0
  167. package/lib/cjs/content-fields/hubtype-fields/handoff.d.ts +21 -0
  168. package/lib/cjs/content-fields/hubtype-fields/handoff.js +10 -0
  169. package/lib/cjs/content-fields/hubtype-fields/handoff.js.map +1 -0
  170. package/lib/cjs/content-fields/hubtype-fields/image.d.ts +8 -0
  171. package/lib/cjs/content-fields/hubtype-fields/image.js +3 -0
  172. package/lib/cjs/content-fields/hubtype-fields/image.js.map +1 -0
  173. package/lib/cjs/content-fields/hubtype-fields/index.d.ts +28 -0
  174. package/lib/cjs/content-fields/hubtype-fields/index.js +32 -0
  175. package/lib/cjs/content-fields/hubtype-fields/index.js.map +1 -0
  176. package/lib/cjs/content-fields/hubtype-fields/keyword.d.ts +9 -0
  177. package/lib/cjs/content-fields/hubtype-fields/keyword.js +3 -0
  178. package/lib/cjs/content-fields/hubtype-fields/keyword.js.map +1 -0
  179. package/lib/cjs/content-fields/hubtype-fields/node-types.d.ts +33 -0
  180. package/lib/cjs/content-fields/hubtype-fields/node-types.js +40 -0
  181. package/lib/cjs/content-fields/hubtype-fields/node-types.js.map +1 -0
  182. package/lib/cjs/content-fields/hubtype-fields/nodes.d.ts +28 -0
  183. package/lib/cjs/content-fields/hubtype-fields/nodes.js +3 -0
  184. package/lib/cjs/content-fields/hubtype-fields/nodes.js.map +1 -0
  185. package/lib/cjs/content-fields/hubtype-fields/payload.d.ts +8 -0
  186. package/lib/cjs/content-fields/hubtype-fields/payload.js +3 -0
  187. package/lib/cjs/content-fields/hubtype-fields/payload.js.map +1 -0
  188. package/lib/cjs/content-fields/hubtype-fields/queue-status-conditional.d.ts +25 -0
  189. package/lib/cjs/content-fields/hubtype-fields/queue-status-conditional.js +3 -0
  190. package/lib/cjs/content-fields/hubtype-fields/queue-status-conditional.js.map +1 -0
  191. package/lib/cjs/content-fields/hubtype-fields/rating.d.ts +23 -0
  192. package/lib/cjs/content-fields/hubtype-fields/rating.js +9 -0
  193. package/lib/cjs/content-fields/hubtype-fields/rating.js.map +1 -0
  194. package/lib/cjs/content-fields/hubtype-fields/smart-intent.d.ts +12 -0
  195. package/lib/cjs/content-fields/hubtype-fields/smart-intent.js +3 -0
  196. package/lib/cjs/content-fields/hubtype-fields/smart-intent.js.map +1 -0
  197. package/lib/cjs/content-fields/hubtype-fields/text.d.ts +11 -0
  198. package/lib/cjs/content-fields/hubtype-fields/text.js +3 -0
  199. package/lib/cjs/content-fields/hubtype-fields/text.js.map +1 -0
  200. package/lib/cjs/content-fields/hubtype-fields/url.d.ts +8 -0
  201. package/lib/cjs/content-fields/hubtype-fields/url.js +3 -0
  202. package/lib/cjs/content-fields/hubtype-fields/url.js.map +1 -0
  203. package/lib/cjs/content-fields/hubtype-fields/video.d.ts +8 -0
  204. package/lib/cjs/content-fields/hubtype-fields/video.js +3 -0
  205. package/lib/cjs/content-fields/hubtype-fields/video.js.map +1 -0
  206. package/lib/cjs/content-fields/hubtype-fields/webview.d.ts +17 -0
  207. package/lib/cjs/content-fields/hubtype-fields/webview.js +3 -0
  208. package/lib/cjs/content-fields/hubtype-fields/webview.js.map +1 -0
  209. package/lib/cjs/content-fields/hubtype-fields/whatsapp-button-list.d.ts +21 -0
  210. package/lib/cjs/content-fields/hubtype-fields/whatsapp-button-list.js +3 -0
  211. package/lib/cjs/content-fields/hubtype-fields/whatsapp-button-list.js.map +1 -0
  212. package/lib/cjs/content-fields/hubtype-fields/whatsapp-cta-url-button.d.ts +17 -0
  213. package/lib/cjs/content-fields/hubtype-fields/whatsapp-cta-url-button.js +3 -0
  214. package/lib/cjs/content-fields/hubtype-fields/whatsapp-cta-url-button.js.map +1 -0
  215. package/lib/cjs/content-fields/hubtype-fields/whatsapp-request-contact-info.d.ts +10 -0
  216. package/lib/cjs/content-fields/hubtype-fields/whatsapp-request-contact-info.js +3 -0
  217. package/lib/cjs/content-fields/hubtype-fields/whatsapp-request-contact-info.js.map +1 -0
  218. package/lib/cjs/content-fields/hubtype-fields/whatsapp-template.d.ts +96 -0
  219. package/lib/cjs/content-fields/hubtype-fields/whatsapp-template.js +9 -0
  220. package/lib/cjs/content-fields/hubtype-fields/whatsapp-template.js.map +1 -0
  221. package/lib/cjs/content-fields/index.d.ts +27 -0
  222. package/lib/cjs/content-fields/index.js +56 -0
  223. package/lib/cjs/content-fields/index.js.map +1 -0
  224. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.d.ts +14 -0
  225. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js +41 -0
  226. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js.map +1 -0
  227. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.d.ts +13 -0
  228. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +36 -0
  229. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +1 -0
  230. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.d.ts +14 -0
  231. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +46 -0
  232. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +1 -0
  233. package/lib/cjs/content-fields/whatsapp-button-list/index.d.ts +3 -0
  234. package/lib/cjs/content-fields/whatsapp-button-list/index.js +10 -0
  235. package/lib/cjs/content-fields/whatsapp-button-list/index.js.map +1 -0
  236. package/lib/cjs/filters/index.d.ts +12 -0
  237. package/lib/cjs/filters/index.js +17 -0
  238. package/lib/cjs/filters/index.js.map +1 -0
  239. package/lib/cjs/flow-factory.d.ts +12 -0
  240. package/lib/cjs/flow-factory.js +73 -0
  241. package/lib/cjs/flow-factory.js.map +1 -0
  242. package/lib/cjs/functions/index.d.ts +11 -0
  243. package/lib/cjs/functions/index.js +49 -0
  244. package/lib/cjs/functions/index.js.map +1 -0
  245. package/lib/cjs/index.d.ts +42 -0
  246. package/lib/cjs/index.js +142 -0
  247. package/lib/cjs/index.js.map +1 -0
  248. package/lib/cjs/services/hubtype-queues-api.js +26 -0
  249. package/lib/cjs/services/hubtype-queues-api.js.map +1 -0
  250. package/lib/cjs/structured-output/flow-builder-content.js +15 -0
  251. package/lib/cjs/structured-output/flow-builder-content.js.map +1 -0
  252. package/lib/cjs/tracking.d.ts +16 -0
  253. package/lib/cjs/tracking.js +71 -0
  254. package/lib/cjs/tracking.js.map +1 -0
  255. package/lib/cjs/types.d.ts +62 -0
  256. package/lib/cjs/types.js +14 -0
  257. package/lib/cjs/types.js.map +1 -0
  258. package/lib/cjs/user-input/capture-user-input-api.d.ts +21 -0
  259. package/lib/cjs/user-input/capture-user-input-api.js +88 -0
  260. package/lib/cjs/user-input/capture-user-input-api.js.map +1 -0
  261. package/lib/cjs/user-input/index.d.ts +4 -0
  262. package/lib/cjs/user-input/index.js +37 -0
  263. package/lib/cjs/user-input/index.js.map +1 -0
  264. package/lib/cjs/user-input/keyword.d.ts +27 -0
  265. package/lib/cjs/user-input/keyword.js +84 -0
  266. package/lib/cjs/user-input/keyword.js.map +1 -0
  267. package/lib/cjs/user-input/smart-intent.d.ts +24 -0
  268. package/lib/cjs/user-input/smart-intent.js +89 -0
  269. package/lib/cjs/user-input/smart-intent.js.map +1 -0
  270. package/lib/cjs/utils/ai-agent.d.ts +11 -0
  271. package/lib/cjs/utils/ai-agent.js +28 -0
  272. package/lib/cjs/utils/ai-agent.js.map +1 -0
  273. package/lib/cjs/utils/authentication.js +21 -0
  274. package/lib/cjs/utils/authentication.js.map +1 -0
  275. package/lib/cjs/utils/flow-locale.js +79 -0
  276. package/lib/cjs/utils/flow-locale.js.map +1 -0
  277. package/lib/cjs/utils/get-flow-builder-plugin.d.ts +3 -0
  278. package/lib/cjs/utils/get-flow-builder-plugin.js +16 -0
  279. package/lib/cjs/utils/get-flow-builder-plugin.js.map +1 -0
  280. package/lib/cjs/utils/hubtype-assistant-content.d.ts +13 -0
  281. package/lib/cjs/utils/hubtype-assistant-content.js +184 -0
  282. package/lib/cjs/utils/hubtype-assistant-content.js.map +1 -0
  283. package/lib/cjs/utils/input.js +35 -0
  284. package/lib/cjs/utils/input.js.map +1 -0
  285. package/lib/cjs/webview/contents-context.d.ts +2 -0
  286. package/lib/cjs/webview/contents-context.js +12 -0
  287. package/lib/cjs/webview/contents-context.js.map +1 -0
  288. package/lib/cjs/webview/index.d.ts +3 -0
  289. package/lib/cjs/webview/index.js +10 -0
  290. package/lib/cjs/webview/index.js.map +1 -0
  291. package/lib/cjs/webview/types.d.ts +47 -0
  292. package/lib/cjs/webview/types.js +9 -0
  293. package/lib/cjs/webview/types.js.map +1 -0
  294. package/lib/cjs/webview/use-webview-contents.d.ts +2 -0
  295. package/lib/cjs/webview/use-webview-contents.js +83 -0
  296. package/lib/cjs/webview/use-webview-contents.js.map +1 -0
  297. package/lib/esm/action/ai-agent-from-user-input.d.ts +3 -0
  298. package/lib/esm/action/ai-agent-from-user-input.js +38 -0
  299. package/lib/esm/action/ai-agent-from-user-input.js.map +1 -0
  300. package/lib/esm/action/context.d.ts +11 -0
  301. package/lib/esm/action/context.js +17 -0
  302. package/lib/esm/action/context.js.map +1 -0
  303. package/lib/esm/action/fallback.d.ts +3 -0
  304. package/lib/esm/action/fallback.js +36 -0
  305. package/lib/esm/action/fallback.js.map +1 -0
  306. package/lib/esm/action/first-interaction.d.ts +3 -0
  307. package/lib/esm/action/first-interaction.js +93 -0
  308. package/lib/esm/action/first-interaction.js.map +1 -0
  309. package/lib/esm/action/get-contents.d.ts +3 -0
  310. package/lib/esm/action/get-contents.js +44 -0
  311. package/lib/esm/action/get-contents.js.map +1 -0
  312. package/lib/esm/action/index.d.ts +25 -0
  313. package/lib/esm/action/index.js +95 -0
  314. package/lib/esm/action/index.js.map +1 -0
  315. package/lib/esm/action/payload.d.ts +3 -0
  316. package/lib/esm/action/payload.js +74 -0
  317. package/lib/esm/action/payload.js.map +1 -0
  318. package/lib/esm/api.d.ts +45 -0
  319. package/lib/esm/api.js +227 -0
  320. package/lib/esm/api.js.map +1 -0
  321. package/lib/esm/bot-context-manager.d.ts +17 -0
  322. package/lib/esm/bot-context-manager.js +93 -0
  323. package/lib/esm/bot-context-manager.js.map +1 -0
  324. package/lib/esm/constants.d.ts +14 -0
  325. package/lib/esm/constants.js +20 -0
  326. package/lib/esm/constants.js.map +1 -0
  327. package/lib/esm/content-fields/contact-reasons-conditional-matcher.d.ts +4 -0
  328. package/lib/esm/content-fields/contact-reasons-conditional-matcher.js +12 -0
  329. package/lib/esm/content-fields/contact-reasons-conditional-matcher.js.map +1 -0
  330. package/lib/esm/content-fields/content-fields-base.d.ts +20 -0
  331. package/lib/esm/content-fields/content-fields-base.js +74 -0
  332. package/lib/esm/content-fields/content-fields-base.js.map +1 -0
  333. package/lib/esm/content-fields/custom-conditional/custom-conditional-v2-evaluators.d.ts +15 -0
  334. package/lib/esm/content-fields/custom-conditional/custom-conditional-v2-evaluators.js +71 -0
  335. package/lib/esm/content-fields/custom-conditional/custom-conditional-v2-evaluators.js.map +1 -0
  336. package/lib/esm/content-fields/custom-conditional/custom-conditional-v2-resolver.d.ts +9 -0
  337. package/lib/esm/content-fields/custom-conditional/custom-conditional-v2-resolver.js +58 -0
  338. package/lib/esm/content-fields/custom-conditional/custom-conditional-v2-resolver.js.map +1 -0
  339. package/lib/esm/content-fields/custom-conditional/flow-custom-condition-v2.d.ts +17 -0
  340. package/lib/esm/content-fields/custom-conditional/flow-custom-condition-v2.js +79 -0
  341. package/lib/esm/content-fields/custom-conditional/flow-custom-condition-v2.js.map +1 -0
  342. package/lib/esm/content-fields/flow-ai-agent-base.d.ts +25 -0
  343. package/lib/esm/content-fields/flow-ai-agent-base.js +97 -0
  344. package/lib/esm/content-fields/flow-ai-agent-base.js.map +1 -0
  345. package/lib/esm/content-fields/flow-ai-agent-router.d.ts +21 -0
  346. package/lib/esm/content-fields/flow-ai-agent-router.js +126 -0
  347. package/lib/esm/content-fields/flow-ai-agent-router.js.map +1 -0
  348. package/lib/esm/content-fields/flow-ai-agent.d.ts +17 -0
  349. package/lib/esm/content-fields/flow-ai-agent.js +65 -0
  350. package/lib/esm/content-fields/flow-ai-agent.js.map +1 -0
  351. package/lib/esm/content-fields/flow-bot-action.d.ts +14 -0
  352. package/lib/esm/content-fields/flow-bot-action.js +45 -0
  353. package/lib/esm/content-fields/flow-bot-action.js.map +1 -0
  354. package/lib/esm/content-fields/flow-button.d.ts +31 -0
  355. package/lib/esm/content-fields/flow-button.js +86 -0
  356. package/lib/esm/content-fields/flow-button.js.map +1 -0
  357. package/lib/esm/content-fields/flow-capture-user-input.d.ts +14 -0
  358. package/lib/esm/content-fields/flow-capture-user-input.js +45 -0
  359. package/lib/esm/content-fields/flow-capture-user-input.js.map +1 -0
  360. package/lib/esm/content-fields/flow-carousel.d.ts +22 -0
  361. package/lib/esm/content-fields/flow-carousel.js +152 -0
  362. package/lib/esm/content-fields/flow-carousel.js.map +1 -0
  363. package/lib/esm/content-fields/flow-channel-conditional.d.ts +14 -0
  364. package/lib/esm/content-fields/flow-channel-conditional.js +57 -0
  365. package/lib/esm/content-fields/flow-channel-conditional.js.map +1 -0
  366. package/lib/esm/content-fields/flow-contact-reasons-conditional.d.ts +14 -0
  367. package/lib/esm/content-fields/flow-contact-reasons-conditional.js +65 -0
  368. package/lib/esm/content-fields/flow-contact-reasons-conditional.js.map +1 -0
  369. package/lib/esm/content-fields/flow-country-conditional.d.ts +13 -0
  370. package/lib/esm/content-fields/flow-country-conditional.js +59 -0
  371. package/lib/esm/content-fields/flow-country-conditional.js.map +1 -0
  372. package/lib/esm/content-fields/flow-custom-conditional.d.ts +17 -0
  373. package/lib/esm/content-fields/flow-custom-conditional.js +89 -0
  374. package/lib/esm/content-fields/flow-custom-conditional.js.map +1 -0
  375. package/lib/esm/content-fields/flow-do-nothing.d.ts +9 -0
  376. package/lib/esm/content-fields/flow-do-nothing.js +27 -0
  377. package/lib/esm/content-fields/flow-do-nothing.js.map +1 -0
  378. package/lib/esm/content-fields/flow-element.d.ts +22 -0
  379. package/lib/esm/content-fields/flow-element.js +50 -0
  380. package/lib/esm/content-fields/flow-element.js.map +1 -0
  381. package/lib/esm/content-fields/flow-go-to-flow.d.ts +13 -0
  382. package/lib/esm/content-fields/flow-go-to-flow.js +51 -0
  383. package/lib/esm/content-fields/flow-go-to-flow.js.map +1 -0
  384. package/lib/esm/content-fields/flow-handoff.d.ts +23 -0
  385. package/lib/esm/content-fields/flow-handoff.js +104 -0
  386. package/lib/esm/content-fields/flow-handoff.js.map +1 -0
  387. package/lib/esm/content-fields/flow-image.d.ts +10 -0
  388. package/lib/esm/content-fields/flow-image.js +33 -0
  389. package/lib/esm/content-fields/flow-image.js.map +1 -0
  390. package/lib/esm/content-fields/flow-queue-status-conditional.d.ts +30 -0
  391. package/lib/esm/content-fields/flow-queue-status-conditional.js +95 -0
  392. package/lib/esm/content-fields/flow-queue-status-conditional.js.map +1 -0
  393. package/lib/esm/content-fields/flow-rating.d.ts +15 -0
  394. package/lib/esm/content-fields/flow-rating.js +66 -0
  395. package/lib/esm/content-fields/flow-rating.js.map +1 -0
  396. package/lib/esm/content-fields/flow-text.d.ts +15 -0
  397. package/lib/esm/content-fields/flow-text.js +60 -0
  398. package/lib/esm/content-fields/flow-text.js.map +1 -0
  399. package/lib/esm/content-fields/flow-video.d.ts +10 -0
  400. package/lib/esm/content-fields/flow-video.js +33 -0
  401. package/lib/esm/content-fields/flow-video.js.map +1 -0
  402. package/lib/esm/content-fields/flow-webview.d.ts +16 -0
  403. package/lib/esm/content-fields/flow-webview.js +78 -0
  404. package/lib/esm/content-fields/flow-webview.js.map +1 -0
  405. package/lib/esm/content-fields/flow-whatsapp-cta-url-button.d.ts +21 -0
  406. package/lib/esm/content-fields/flow-whatsapp-cta-url-button.js +92 -0
  407. package/lib/esm/content-fields/flow-whatsapp-cta-url-button.js.map +1 -0
  408. package/lib/esm/content-fields/flow-whatsapp-request-contact-info.d.ts +11 -0
  409. package/lib/esm/content-fields/flow-whatsapp-request-contact-info.js +46 -0
  410. package/lib/esm/content-fields/flow-whatsapp-request-contact-info.js.map +1 -0
  411. package/lib/esm/content-fields/flow-whatsapp-template.d.ts +37 -0
  412. package/lib/esm/content-fields/flow-whatsapp-template.js +264 -0
  413. package/lib/esm/content-fields/flow-whatsapp-template.js.map +1 -0
  414. package/lib/esm/content-fields/hubtype-fields/ai-agent-router.d.ts +21 -0
  415. package/lib/esm/content-fields/hubtype-fields/ai-agent-router.js +3 -0
  416. package/lib/esm/content-fields/hubtype-fields/ai-agent-router.js.map +1 -0
  417. package/lib/esm/content-fields/hubtype-fields/ai-agent.d.ts +25 -0
  418. package/lib/esm/content-fields/hubtype-fields/ai-agent.js +3 -0
  419. package/lib/esm/content-fields/hubtype-fields/ai-agent.js.map +1 -0
  420. package/lib/esm/content-fields/hubtype-fields/bot-action.d.ts +10 -0
  421. package/lib/esm/content-fields/hubtype-fields/bot-action.js +3 -0
  422. package/lib/esm/content-fields/hubtype-fields/bot-action.js.map +1 -0
  423. package/lib/esm/content-fields/hubtype-fields/button.d.ts +8 -0
  424. package/lib/esm/content-fields/hubtype-fields/button.js +3 -0
  425. package/lib/esm/content-fields/hubtype-fields/button.js.map +1 -0
  426. package/lib/esm/content-fields/hubtype-fields/capture-user-input.d.ts +19 -0
  427. package/lib/esm/content-fields/hubtype-fields/capture-user-input.js +12 -0
  428. package/lib/esm/content-fields/hubtype-fields/capture-user-input.js.map +1 -0
  429. package/lib/esm/content-fields/hubtype-fields/carousel.d.ts +17 -0
  430. package/lib/esm/content-fields/hubtype-fields/carousel.js +3 -0
  431. package/lib/esm/content-fields/hubtype-fields/carousel.js.map +1 -0
  432. package/lib/esm/content-fields/hubtype-fields/channel-conditional.d.ts +10 -0
  433. package/lib/esm/content-fields/hubtype-fields/channel-conditional.js +3 -0
  434. package/lib/esm/content-fields/hubtype-fields/channel-conditional.js.map +1 -0
  435. package/lib/esm/content-fields/hubtype-fields/common.d.ts +83 -0
  436. package/lib/esm/content-fields/hubtype-fields/common.js +3 -0
  437. package/lib/esm/content-fields/hubtype-fields/common.js.map +1 -0
  438. package/lib/esm/content-fields/hubtype-fields/contact-reasons-conditional.d.ts +16 -0
  439. package/lib/esm/content-fields/hubtype-fields/contact-reasons-conditional.js +3 -0
  440. package/lib/esm/content-fields/hubtype-fields/contact-reasons-conditional.js.map +1 -0
  441. package/lib/esm/content-fields/hubtype-fields/country-conditional.d.ts +10 -0
  442. package/lib/esm/content-fields/hubtype-fields/country-conditional.js +3 -0
  443. package/lib/esm/content-fields/hubtype-fields/country-conditional.js.map +1 -0
  444. package/lib/esm/content-fields/hubtype-fields/custom-conditional-v2.d.ts +56 -0
  445. package/lib/esm/content-fields/hubtype-fields/custom-conditional-v2.js +36 -0
  446. package/lib/esm/content-fields/hubtype-fields/custom-conditional-v2.js.map +1 -0
  447. package/lib/esm/content-fields/hubtype-fields/custom-conditional.d.ts +11 -0
  448. package/lib/esm/content-fields/hubtype-fields/custom-conditional.js +3 -0
  449. package/lib/esm/content-fields/hubtype-fields/custom-conditional.js.map +1 -0
  450. package/lib/esm/content-fields/hubtype-fields/do-nothing.d.ts +6 -0
  451. package/lib/esm/content-fields/hubtype-fields/do-nothing.js +3 -0
  452. package/lib/esm/content-fields/hubtype-fields/do-nothing.js.map +1 -0
  453. package/lib/esm/content-fields/hubtype-fields/fallback.d.ts +9 -0
  454. package/lib/esm/content-fields/hubtype-fields/fallback.js +3 -0
  455. package/lib/esm/content-fields/hubtype-fields/fallback.js.map +1 -0
  456. package/lib/esm/content-fields/hubtype-fields/function.d.ts +30 -0
  457. package/lib/esm/content-fields/hubtype-fields/function.js +11 -0
  458. package/lib/esm/content-fields/hubtype-fields/function.js.map +1 -0
  459. package/lib/esm/content-fields/hubtype-fields/go-to-flow.d.ts +9 -0
  460. package/lib/esm/content-fields/hubtype-fields/go-to-flow.js +3 -0
  461. package/lib/esm/content-fields/hubtype-fields/go-to-flow.js.map +1 -0
  462. package/lib/esm/content-fields/hubtype-fields/handoff.d.ts +21 -0
  463. package/lib/esm/content-fields/hubtype-fields/handoff.js +10 -0
  464. package/lib/esm/content-fields/hubtype-fields/handoff.js.map +1 -0
  465. package/lib/esm/content-fields/hubtype-fields/image.d.ts +8 -0
  466. package/lib/esm/content-fields/hubtype-fields/image.js +3 -0
  467. package/lib/esm/content-fields/hubtype-fields/image.js.map +1 -0
  468. package/lib/esm/content-fields/hubtype-fields/index.d.ts +28 -0
  469. package/lib/esm/content-fields/hubtype-fields/index.js +32 -0
  470. package/lib/esm/content-fields/hubtype-fields/index.js.map +1 -0
  471. package/lib/esm/content-fields/hubtype-fields/keyword.d.ts +9 -0
  472. package/lib/esm/content-fields/hubtype-fields/keyword.js +3 -0
  473. package/lib/esm/content-fields/hubtype-fields/keyword.js.map +1 -0
  474. package/lib/esm/content-fields/hubtype-fields/node-types.d.ts +33 -0
  475. package/lib/esm/content-fields/hubtype-fields/node-types.js +40 -0
  476. package/lib/esm/content-fields/hubtype-fields/node-types.js.map +1 -0
  477. package/lib/esm/content-fields/hubtype-fields/nodes.d.ts +28 -0
  478. package/lib/esm/content-fields/hubtype-fields/nodes.js +3 -0
  479. package/lib/esm/content-fields/hubtype-fields/nodes.js.map +1 -0
  480. package/lib/esm/content-fields/hubtype-fields/payload.d.ts +8 -0
  481. package/lib/esm/content-fields/hubtype-fields/payload.js +3 -0
  482. package/lib/esm/content-fields/hubtype-fields/payload.js.map +1 -0
  483. package/lib/esm/content-fields/hubtype-fields/queue-status-conditional.d.ts +25 -0
  484. package/lib/esm/content-fields/hubtype-fields/queue-status-conditional.js +3 -0
  485. package/lib/esm/content-fields/hubtype-fields/queue-status-conditional.js.map +1 -0
  486. package/lib/esm/content-fields/hubtype-fields/rating.d.ts +23 -0
  487. package/lib/esm/content-fields/hubtype-fields/rating.js +9 -0
  488. package/lib/esm/content-fields/hubtype-fields/rating.js.map +1 -0
  489. package/lib/esm/content-fields/hubtype-fields/smart-intent.d.ts +12 -0
  490. package/lib/esm/content-fields/hubtype-fields/smart-intent.js +3 -0
  491. package/lib/esm/content-fields/hubtype-fields/smart-intent.js.map +1 -0
  492. package/lib/esm/content-fields/hubtype-fields/text.d.ts +11 -0
  493. package/lib/esm/content-fields/hubtype-fields/text.js +3 -0
  494. package/lib/esm/content-fields/hubtype-fields/text.js.map +1 -0
  495. package/lib/esm/content-fields/hubtype-fields/url.d.ts +8 -0
  496. package/lib/esm/content-fields/hubtype-fields/url.js +3 -0
  497. package/lib/esm/content-fields/hubtype-fields/url.js.map +1 -0
  498. package/lib/esm/content-fields/hubtype-fields/video.d.ts +8 -0
  499. package/lib/esm/content-fields/hubtype-fields/video.js +3 -0
  500. package/lib/esm/content-fields/hubtype-fields/video.js.map +1 -0
  501. package/lib/esm/content-fields/hubtype-fields/webview.d.ts +17 -0
  502. package/lib/esm/content-fields/hubtype-fields/webview.js +3 -0
  503. package/lib/esm/content-fields/hubtype-fields/webview.js.map +1 -0
  504. package/lib/esm/content-fields/hubtype-fields/whatsapp-button-list.d.ts +21 -0
  505. package/lib/esm/content-fields/hubtype-fields/whatsapp-button-list.js +3 -0
  506. package/lib/esm/content-fields/hubtype-fields/whatsapp-button-list.js.map +1 -0
  507. package/lib/esm/content-fields/hubtype-fields/whatsapp-cta-url-button.d.ts +17 -0
  508. package/lib/esm/content-fields/hubtype-fields/whatsapp-cta-url-button.js +3 -0
  509. package/lib/esm/content-fields/hubtype-fields/whatsapp-cta-url-button.js.map +1 -0
  510. package/lib/esm/content-fields/hubtype-fields/whatsapp-request-contact-info.d.ts +10 -0
  511. package/lib/esm/content-fields/hubtype-fields/whatsapp-request-contact-info.js +3 -0
  512. package/lib/esm/content-fields/hubtype-fields/whatsapp-request-contact-info.js.map +1 -0
  513. package/lib/esm/content-fields/hubtype-fields/whatsapp-template.d.ts +96 -0
  514. package/lib/esm/content-fields/hubtype-fields/whatsapp-template.js +9 -0
  515. package/lib/esm/content-fields/hubtype-fields/whatsapp-template.js.map +1 -0
  516. package/lib/esm/content-fields/index.d.ts +27 -0
  517. package/lib/esm/content-fields/index.js +56 -0
  518. package/lib/esm/content-fields/index.js.map +1 -0
  519. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.d.ts +14 -0
  520. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js +41 -0
  521. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js.map +1 -0
  522. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.d.ts +13 -0
  523. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +36 -0
  524. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +1 -0
  525. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.d.ts +14 -0
  526. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +46 -0
  527. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +1 -0
  528. package/lib/esm/content-fields/whatsapp-button-list/index.d.ts +3 -0
  529. package/lib/esm/content-fields/whatsapp-button-list/index.js +10 -0
  530. package/lib/esm/content-fields/whatsapp-button-list/index.js.map +1 -0
  531. package/lib/esm/filters/index.d.ts +12 -0
  532. package/lib/esm/filters/index.js +17 -0
  533. package/lib/esm/filters/index.js.map +1 -0
  534. package/lib/esm/flow-factory.d.ts +12 -0
  535. package/lib/esm/flow-factory.js +73 -0
  536. package/lib/esm/flow-factory.js.map +1 -0
  537. package/lib/esm/functions/index.d.ts +11 -0
  538. package/lib/esm/functions/index.js +49 -0
  539. package/lib/esm/functions/index.js.map +1 -0
  540. package/lib/esm/index.d.ts +42 -0
  541. package/lib/esm/index.js +142 -0
  542. package/lib/esm/index.js.map +1 -0
  543. package/lib/esm/services/hubtype-queues-api.d.ts +14 -0
  544. package/lib/esm/services/hubtype-queues-api.js +26 -0
  545. package/lib/esm/services/hubtype-queues-api.js.map +1 -0
  546. package/lib/esm/structured-output/flow-builder-content.d.ts +13 -0
  547. package/lib/esm/structured-output/flow-builder-content.js +15 -0
  548. package/lib/esm/structured-output/flow-builder-content.js.map +1 -0
  549. package/lib/esm/tracking.d.ts +16 -0
  550. package/lib/esm/tracking.js +71 -0
  551. package/lib/esm/tracking.js.map +1 -0
  552. package/lib/esm/types.d.ts +62 -0
  553. package/lib/esm/types.js +14 -0
  554. package/lib/esm/types.js.map +1 -0
  555. package/lib/esm/user-input/capture-user-input-api.d.ts +21 -0
  556. package/lib/esm/user-input/capture-user-input-api.js +88 -0
  557. package/lib/esm/user-input/capture-user-input-api.js.map +1 -0
  558. package/lib/esm/user-input/index.d.ts +4 -0
  559. package/lib/esm/user-input/index.js +37 -0
  560. package/lib/esm/user-input/index.js.map +1 -0
  561. package/lib/esm/user-input/keyword.d.ts +27 -0
  562. package/lib/esm/user-input/keyword.js +84 -0
  563. package/lib/esm/user-input/keyword.js.map +1 -0
  564. package/lib/esm/user-input/smart-intent.d.ts +24 -0
  565. package/lib/esm/user-input/smart-intent.js +89 -0
  566. package/lib/esm/user-input/smart-intent.js.map +1 -0
  567. package/lib/esm/utils/ai-agent.d.ts +11 -0
  568. package/lib/esm/utils/ai-agent.js +28 -0
  569. package/lib/esm/utils/ai-agent.js.map +1 -0
  570. package/lib/esm/utils/authentication.d.ts +2 -0
  571. package/lib/esm/utils/authentication.js +21 -0
  572. package/lib/esm/utils/authentication.js.map +1 -0
  573. package/lib/esm/utils/flow-locale.d.ts +22 -0
  574. package/lib/esm/utils/flow-locale.js +79 -0
  575. package/lib/esm/utils/flow-locale.js.map +1 -0
  576. package/lib/esm/utils/get-flow-builder-plugin.d.ts +3 -0
  577. package/lib/esm/utils/get-flow-builder-plugin.js +16 -0
  578. package/lib/esm/utils/get-flow-builder-plugin.js.map +1 -0
  579. package/lib/esm/utils/hubtype-assistant-content.d.ts +13 -0
  580. package/lib/esm/utils/hubtype-assistant-content.js +184 -0
  581. package/lib/esm/utils/hubtype-assistant-content.js.map +1 -0
  582. package/lib/esm/utils/input.d.ts +6 -0
  583. package/lib/esm/utils/input.js +35 -0
  584. package/lib/esm/utils/input.js.map +1 -0
  585. package/lib/esm/webview/contents-context.d.ts +2 -0
  586. package/lib/esm/webview/contents-context.js +12 -0
  587. package/lib/esm/webview/contents-context.js.map +1 -0
  588. package/lib/esm/webview/index.d.ts +3 -0
  589. package/lib/esm/webview/index.js +10 -0
  590. package/lib/esm/webview/index.js.map +1 -0
  591. package/lib/esm/webview/types.d.ts +47 -0
  592. package/lib/esm/webview/types.js +9 -0
  593. package/lib/esm/webview/types.js.map +1 -0
  594. package/lib/esm/webview/use-webview-contents.d.ts +2 -0
  595. package/lib/esm/webview/use-webview-contents.js +83 -0
  596. package/lib/esm/webview/use-webview-contents.js.map +1 -0
  597. package/package.json +9 -11
  598. package/src/action/ai-agent-from-user-input.ts +7 -0
  599. package/src/action/first-interaction.ts +6 -0
  600. package/src/action/get-contents.ts +17 -2
  601. package/src/action/index.tsx +7 -0
  602. package/src/api.ts +52 -15
  603. package/src/bot-context-manager.ts +153 -0
  604. package/src/constants.ts +2 -1
  605. package/src/content-fields/contact-reasons-conditional-matcher.ts +24 -0
  606. package/src/content-fields/flow-ai-agent-base.tsx +12 -1
  607. package/src/content-fields/flow-ai-agent-router.tsx +1 -0
  608. package/src/content-fields/flow-ai-agent.tsx +1 -0
  609. package/src/content-fields/flow-contact-reasons-conditional.tsx +90 -0
  610. package/src/content-fields/flow-do-nothing.tsx +29 -0
  611. package/src/content-fields/flow-handoff.tsx +54 -7
  612. package/src/content-fields/flow-whatsapp-request-contact-info.tsx +19 -1
  613. package/src/content-fields/hubtype-fields/contact-reasons-conditional.ts +18 -0
  614. package/src/content-fields/hubtype-fields/do-nothing.ts +7 -0
  615. package/src/content-fields/hubtype-fields/handoff.ts +17 -1
  616. package/src/content-fields/hubtype-fields/index.ts +1 -0
  617. package/src/content-fields/hubtype-fields/node-types.ts +2 -0
  618. package/src/content-fields/hubtype-fields/nodes.ts +4 -0
  619. package/src/content-fields/hubtype-fields/whatsapp-request-contact-info.ts +2 -0
  620. package/src/content-fields/index.ts +6 -0
  621. package/src/flow-factory.ts +11 -0
  622. package/src/index.ts +26 -88
  623. package/src/types.ts +1 -2
  624. package/src/utils/hubtype-assistant-content.ts +14 -0
  625. package/lib/action/ai-agent-from-user-input.d.ts +0 -3
  626. package/lib/action/ai-agent-from-user-input.js +0 -35
  627. package/lib/action/ai-agent-from-user-input.js.map +0 -1
  628. package/lib/action/context.d.ts +0 -11
  629. package/lib/action/context.js +0 -20
  630. package/lib/action/context.js.map +0 -1
  631. package/lib/action/fallback.d.ts +0 -3
  632. package/lib/action/fallback.js +0 -41
  633. package/lib/action/fallback.js.map +0 -1
  634. package/lib/action/first-interaction.d.ts +0 -3
  635. package/lib/action/first-interaction.js +0 -100
  636. package/lib/action/first-interaction.js.map +0 -1
  637. package/lib/action/get-contents.d.ts +0 -3
  638. package/lib/action/get-contents.js +0 -56
  639. package/lib/action/get-contents.js.map +0 -1
  640. package/lib/action/index.d.ts +0 -25
  641. package/lib/action/index.js +0 -126
  642. package/lib/action/index.js.map +0 -1
  643. package/lib/action/payload.d.ts +0 -3
  644. package/lib/action/payload.js +0 -78
  645. package/lib/action/payload.js.map +0 -1
  646. package/lib/api.d.ts +0 -40
  647. package/lib/api.js +0 -216
  648. package/lib/api.js.map +0 -1
  649. package/lib/constants.d.ts +0 -13
  650. package/lib/constants.js +0 -17
  651. package/lib/constants.js.map +0 -1
  652. package/lib/content-fields/content-fields-base.d.ts +0 -20
  653. package/lib/content-fields/content-fields-base.js +0 -78
  654. package/lib/content-fields/content-fields-base.js.map +0 -1
  655. package/lib/content-fields/custom-conditional/custom-conditional-v2-evaluators.d.ts +0 -15
  656. package/lib/content-fields/custom-conditional/custom-conditional-v2-evaluators.js +0 -73
  657. package/lib/content-fields/custom-conditional/custom-conditional-v2-evaluators.js.map +0 -1
  658. package/lib/content-fields/custom-conditional/custom-conditional-v2-resolver.d.ts +0 -9
  659. package/lib/content-fields/custom-conditional/custom-conditional-v2-resolver.js +0 -58
  660. package/lib/content-fields/custom-conditional/custom-conditional-v2-resolver.js.map +0 -1
  661. package/lib/content-fields/custom-conditional/flow-custom-condition-v2.d.ts +0 -17
  662. package/lib/content-fields/custom-conditional/flow-custom-condition-v2.js +0 -94
  663. package/lib/content-fields/custom-conditional/flow-custom-condition-v2.js.map +0 -1
  664. package/lib/content-fields/flow-ai-agent-base.d.ts +0 -25
  665. package/lib/content-fields/flow-ai-agent-base.js +0 -100
  666. package/lib/content-fields/flow-ai-agent-base.js.map +0 -1
  667. package/lib/content-fields/flow-ai-agent-router.d.ts +0 -21
  668. package/lib/content-fields/flow-ai-agent-router.js +0 -136
  669. package/lib/content-fields/flow-ai-agent-router.js.map +0 -1
  670. package/lib/content-fields/flow-ai-agent.d.ts +0 -17
  671. package/lib/content-fields/flow-ai-agent.js +0 -75
  672. package/lib/content-fields/flow-ai-agent.js.map +0 -1
  673. package/lib/content-fields/flow-bot-action.d.ts +0 -14
  674. package/lib/content-fields/flow-bot-action.js +0 -53
  675. package/lib/content-fields/flow-bot-action.js.map +0 -1
  676. package/lib/content-fields/flow-button.d.ts +0 -31
  677. package/lib/content-fields/flow-button.js +0 -105
  678. package/lib/content-fields/flow-button.js.map +0 -1
  679. package/lib/content-fields/flow-capture-user-input.d.ts +0 -14
  680. package/lib/content-fields/flow-capture-user-input.js +0 -46
  681. package/lib/content-fields/flow-capture-user-input.js.map +0 -1
  682. package/lib/content-fields/flow-carousel.d.ts +0 -22
  683. package/lib/content-fields/flow-carousel.js +0 -193
  684. package/lib/content-fields/flow-carousel.js.map +0 -1
  685. package/lib/content-fields/flow-channel-conditional.d.ts +0 -14
  686. package/lib/content-fields/flow-channel-conditional.js +0 -61
  687. package/lib/content-fields/flow-channel-conditional.js.map +0 -1
  688. package/lib/content-fields/flow-country-conditional.d.ts +0 -13
  689. package/lib/content-fields/flow-country-conditional.js +0 -64
  690. package/lib/content-fields/flow-country-conditional.js.map +0 -1
  691. package/lib/content-fields/flow-custom-conditional.d.ts +0 -17
  692. package/lib/content-fields/flow-custom-conditional.js +0 -87
  693. package/lib/content-fields/flow-custom-conditional.js.map +0 -1
  694. package/lib/content-fields/flow-element.d.ts +0 -22
  695. package/lib/content-fields/flow-element.js +0 -67
  696. package/lib/content-fields/flow-element.js.map +0 -1
  697. package/lib/content-fields/flow-go-to-flow.d.ts +0 -13
  698. package/lib/content-fields/flow-go-to-flow.js +0 -56
  699. package/lib/content-fields/flow-go-to-flow.js.map +0 -1
  700. package/lib/content-fields/flow-handoff.d.ts +0 -17
  701. package/lib/content-fields/flow-handoff.js +0 -79
  702. package/lib/content-fields/flow-handoff.js.map +0 -1
  703. package/lib/content-fields/flow-image.d.ts +0 -10
  704. package/lib/content-fields/flow-image.js +0 -42
  705. package/lib/content-fields/flow-image.js.map +0 -1
  706. package/lib/content-fields/flow-queue-status-conditional.d.ts +0 -30
  707. package/lib/content-fields/flow-queue-status-conditional.js +0 -100
  708. package/lib/content-fields/flow-queue-status-conditional.js.map +0 -1
  709. package/lib/content-fields/flow-rating.d.ts +0 -15
  710. package/lib/content-fields/flow-rating.js +0 -88
  711. package/lib/content-fields/flow-rating.js.map +0 -1
  712. package/lib/content-fields/flow-text.d.ts +0 -15
  713. package/lib/content-fields/flow-text.js +0 -82
  714. package/lib/content-fields/flow-text.js.map +0 -1
  715. package/lib/content-fields/flow-video.d.ts +0 -10
  716. package/lib/content-fields/flow-video.js +0 -42
  717. package/lib/content-fields/flow-video.js.map +0 -1
  718. package/lib/content-fields/flow-webview.d.ts +0 -16
  719. package/lib/content-fields/flow-webview.js +0 -81
  720. package/lib/content-fields/flow-webview.js.map +0 -1
  721. package/lib/content-fields/flow-whatsapp-cta-url-button.d.ts +0 -21
  722. package/lib/content-fields/flow-whatsapp-cta-url-button.js +0 -131
  723. package/lib/content-fields/flow-whatsapp-cta-url-button.js.map +0 -1
  724. package/lib/content-fields/flow-whatsapp-request-contact-info.d.ts +0 -10
  725. package/lib/content-fields/flow-whatsapp-request-contact-info.js +0 -51
  726. package/lib/content-fields/flow-whatsapp-request-contact-info.js.map +0 -1
  727. package/lib/content-fields/flow-whatsapp-template.d.ts +0 -37
  728. package/lib/content-fields/flow-whatsapp-template.js +0 -281
  729. package/lib/content-fields/flow-whatsapp-template.js.map +0 -1
  730. package/lib/content-fields/hubtype-fields/ai-agent-router.d.ts +0 -21
  731. package/lib/content-fields/hubtype-fields/ai-agent-router.js +0 -4
  732. package/lib/content-fields/hubtype-fields/ai-agent-router.js.map +0 -1
  733. package/lib/content-fields/hubtype-fields/ai-agent.d.ts +0 -25
  734. package/lib/content-fields/hubtype-fields/ai-agent.js +0 -4
  735. package/lib/content-fields/hubtype-fields/ai-agent.js.map +0 -1
  736. package/lib/content-fields/hubtype-fields/bot-action.d.ts +0 -10
  737. package/lib/content-fields/hubtype-fields/bot-action.js +0 -4
  738. package/lib/content-fields/hubtype-fields/bot-action.js.map +0 -1
  739. package/lib/content-fields/hubtype-fields/button.d.ts +0 -8
  740. package/lib/content-fields/hubtype-fields/button.js +0 -4
  741. package/lib/content-fields/hubtype-fields/button.js.map +0 -1
  742. package/lib/content-fields/hubtype-fields/capture-user-input.d.ts +0 -19
  743. package/lib/content-fields/hubtype-fields/capture-user-input.js +0 -12
  744. package/lib/content-fields/hubtype-fields/capture-user-input.js.map +0 -1
  745. package/lib/content-fields/hubtype-fields/carousel.d.ts +0 -17
  746. package/lib/content-fields/hubtype-fields/carousel.js +0 -4
  747. package/lib/content-fields/hubtype-fields/carousel.js.map +0 -1
  748. package/lib/content-fields/hubtype-fields/channel-conditional.d.ts +0 -10
  749. package/lib/content-fields/hubtype-fields/channel-conditional.js +0 -4
  750. package/lib/content-fields/hubtype-fields/channel-conditional.js.map +0 -1
  751. package/lib/content-fields/hubtype-fields/common.d.ts +0 -83
  752. package/lib/content-fields/hubtype-fields/common.js +0 -4
  753. package/lib/content-fields/hubtype-fields/common.js.map +0 -1
  754. package/lib/content-fields/hubtype-fields/country-conditional.d.ts +0 -10
  755. package/lib/content-fields/hubtype-fields/country-conditional.js +0 -4
  756. package/lib/content-fields/hubtype-fields/country-conditional.js.map +0 -1
  757. package/lib/content-fields/hubtype-fields/custom-conditional-v2.d.ts +0 -56
  758. package/lib/content-fields/hubtype-fields/custom-conditional-v2.js +0 -36
  759. package/lib/content-fields/hubtype-fields/custom-conditional-v2.js.map +0 -1
  760. package/lib/content-fields/hubtype-fields/custom-conditional.d.ts +0 -11
  761. package/lib/content-fields/hubtype-fields/custom-conditional.js +0 -4
  762. package/lib/content-fields/hubtype-fields/custom-conditional.js.map +0 -1
  763. package/lib/content-fields/hubtype-fields/fallback.d.ts +0 -9
  764. package/lib/content-fields/hubtype-fields/fallback.js +0 -4
  765. package/lib/content-fields/hubtype-fields/fallback.js.map +0 -1
  766. package/lib/content-fields/hubtype-fields/function.d.ts +0 -30
  767. package/lib/content-fields/hubtype-fields/function.js +0 -11
  768. package/lib/content-fields/hubtype-fields/function.js.map +0 -1
  769. package/lib/content-fields/hubtype-fields/go-to-flow.d.ts +0 -9
  770. package/lib/content-fields/hubtype-fields/go-to-flow.js +0 -4
  771. package/lib/content-fields/hubtype-fields/go-to-flow.js.map +0 -1
  772. package/lib/content-fields/hubtype-fields/handoff.d.ts +0 -11
  773. package/lib/content-fields/hubtype-fields/handoff.js +0 -4
  774. package/lib/content-fields/hubtype-fields/handoff.js.map +0 -1
  775. package/lib/content-fields/hubtype-fields/image.d.ts +0 -8
  776. package/lib/content-fields/hubtype-fields/image.js +0 -4
  777. package/lib/content-fields/hubtype-fields/image.js.map +0 -1
  778. package/lib/content-fields/hubtype-fields/index.d.ts +0 -27
  779. package/lib/content-fields/hubtype-fields/index.js +0 -57
  780. package/lib/content-fields/hubtype-fields/index.js.map +0 -1
  781. package/lib/content-fields/hubtype-fields/keyword.d.ts +0 -9
  782. package/lib/content-fields/hubtype-fields/keyword.js +0 -4
  783. package/lib/content-fields/hubtype-fields/keyword.js.map +0 -1
  784. package/lib/content-fields/hubtype-fields/node-types.d.ts +0 -31
  785. package/lib/content-fields/hubtype-fields/node-types.js +0 -38
  786. package/lib/content-fields/hubtype-fields/node-types.js.map +0 -1
  787. package/lib/content-fields/hubtype-fields/nodes.d.ts +0 -26
  788. package/lib/content-fields/hubtype-fields/nodes.js +0 -4
  789. package/lib/content-fields/hubtype-fields/nodes.js.map +0 -1
  790. package/lib/content-fields/hubtype-fields/payload.d.ts +0 -8
  791. package/lib/content-fields/hubtype-fields/payload.js +0 -4
  792. package/lib/content-fields/hubtype-fields/payload.js.map +0 -1
  793. package/lib/content-fields/hubtype-fields/queue-status-conditional.d.ts +0 -25
  794. package/lib/content-fields/hubtype-fields/queue-status-conditional.js +0 -4
  795. package/lib/content-fields/hubtype-fields/queue-status-conditional.js.map +0 -1
  796. package/lib/content-fields/hubtype-fields/rating.d.ts +0 -23
  797. package/lib/content-fields/hubtype-fields/rating.js +0 -9
  798. package/lib/content-fields/hubtype-fields/rating.js.map +0 -1
  799. package/lib/content-fields/hubtype-fields/smart-intent.d.ts +0 -12
  800. package/lib/content-fields/hubtype-fields/smart-intent.js +0 -4
  801. package/lib/content-fields/hubtype-fields/smart-intent.js.map +0 -1
  802. package/lib/content-fields/hubtype-fields/text.d.ts +0 -11
  803. package/lib/content-fields/hubtype-fields/text.js +0 -4
  804. package/lib/content-fields/hubtype-fields/text.js.map +0 -1
  805. package/lib/content-fields/hubtype-fields/url.d.ts +0 -8
  806. package/lib/content-fields/hubtype-fields/url.js +0 -4
  807. package/lib/content-fields/hubtype-fields/url.js.map +0 -1
  808. package/lib/content-fields/hubtype-fields/video.d.ts +0 -8
  809. package/lib/content-fields/hubtype-fields/video.js +0 -4
  810. package/lib/content-fields/hubtype-fields/video.js.map +0 -1
  811. package/lib/content-fields/hubtype-fields/webview.d.ts +0 -17
  812. package/lib/content-fields/hubtype-fields/webview.js +0 -4
  813. package/lib/content-fields/hubtype-fields/webview.js.map +0 -1
  814. package/lib/content-fields/hubtype-fields/whatsapp-button-list.d.ts +0 -21
  815. package/lib/content-fields/hubtype-fields/whatsapp-button-list.js +0 -4
  816. package/lib/content-fields/hubtype-fields/whatsapp-button-list.js.map +0 -1
  817. package/lib/content-fields/hubtype-fields/whatsapp-cta-url-button.d.ts +0 -17
  818. package/lib/content-fields/hubtype-fields/whatsapp-cta-url-button.js +0 -4
  819. package/lib/content-fields/hubtype-fields/whatsapp-cta-url-button.js.map +0 -1
  820. package/lib/content-fields/hubtype-fields/whatsapp-request-contact-info.d.ts +0 -8
  821. package/lib/content-fields/hubtype-fields/whatsapp-request-contact-info.js +0 -4
  822. package/lib/content-fields/hubtype-fields/whatsapp-request-contact-info.js.map +0 -1
  823. package/lib/content-fields/hubtype-fields/whatsapp-template.d.ts +0 -96
  824. package/lib/content-fields/hubtype-fields/whatsapp-template.js +0 -9
  825. package/lib/content-fields/hubtype-fields/whatsapp-template.js.map +0 -1
  826. package/lib/content-fields/index.d.ts +0 -25
  827. package/lib/content-fields/index.js +0 -73
  828. package/lib/content-fields/index.js.map +0 -1
  829. package/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.d.ts +0 -14
  830. package/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js +0 -43
  831. package/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js.map +0 -1
  832. package/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.d.ts +0 -13
  833. package/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +0 -41
  834. package/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +0 -1
  835. package/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list.d.ts +0 -14
  836. package/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +0 -66
  837. package/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +0 -1
  838. package/lib/content-fields/whatsapp-button-list/index.d.ts +0 -3
  839. package/lib/content-fields/whatsapp-button-list/index.js +0 -12
  840. package/lib/content-fields/whatsapp-button-list/index.js.map +0 -1
  841. package/lib/filters/index.d.ts +0 -12
  842. package/lib/filters/index.js +0 -16
  843. package/lib/filters/index.js.map +0 -1
  844. package/lib/flow-factory.d.ts +0 -12
  845. package/lib/flow-factory.js +0 -75
  846. package/lib/flow-factory.js.map +0 -1
  847. package/lib/functions/index.d.ts +0 -11
  848. package/lib/functions/index.js +0 -55
  849. package/lib/functions/index.js.map +0 -1
  850. package/lib/index.d.ts +0 -45
  851. package/lib/index.js +0 -195
  852. package/lib/index.js.map +0 -1
  853. package/lib/services/hubtype-queues-api.js +0 -26
  854. package/lib/services/hubtype-queues-api.js.map +0 -1
  855. package/lib/structured-output/flow-builder-content.js +0 -16
  856. package/lib/structured-output/flow-builder-content.js.map +0 -1
  857. package/lib/tracking.d.ts +0 -16
  858. package/lib/tracking.js +0 -77
  859. package/lib/tracking.js.map +0 -1
  860. package/lib/types.d.ts +0 -62
  861. package/lib/types.js +0 -14
  862. package/lib/types.js.map +0 -1
  863. package/lib/user-input/capture-user-input-api.d.ts +0 -21
  864. package/lib/user-input/capture-user-input-api.js +0 -99
  865. package/lib/user-input/capture-user-input-api.js.map +0 -1
  866. package/lib/user-input/index.d.ts +0 -4
  867. package/lib/user-input/index.js +0 -46
  868. package/lib/user-input/index.js.map +0 -1
  869. package/lib/user-input/keyword.d.ts +0 -27
  870. package/lib/user-input/keyword.js +0 -89
  871. package/lib/user-input/keyword.js.map +0 -1
  872. package/lib/user-input/smart-intent.d.ts +0 -24
  873. package/lib/user-input/smart-intent.js +0 -93
  874. package/lib/user-input/smart-intent.js.map +0 -1
  875. package/lib/utils/ai-agent.d.ts +0 -11
  876. package/lib/utils/ai-agent.js +0 -33
  877. package/lib/utils/ai-agent.js.map +0 -1
  878. package/lib/utils/authentication.js +0 -24
  879. package/lib/utils/authentication.js.map +0 -1
  880. package/lib/utils/flow-locale.js +0 -75
  881. package/lib/utils/flow-locale.js.map +0 -1
  882. package/lib/utils/get-flow-builder-plugin.d.ts +0 -3
  883. package/lib/utils/get-flow-builder-plugin.js +0 -16
  884. package/lib/utils/get-flow-builder-plugin.js.map +0 -1
  885. package/lib/utils/hubtype-assistant-content.d.ts +0 -12
  886. package/lib/utils/hubtype-assistant-content.js +0 -187
  887. package/lib/utils/hubtype-assistant-content.js.map +0 -1
  888. package/lib/utils/input.js +0 -37
  889. package/lib/utils/input.js.map +0 -1
  890. package/lib/webview/contents-context.d.ts +0 -2
  891. package/lib/webview/contents-context.js +0 -14
  892. package/lib/webview/contents-context.js.map +0 -1
  893. package/lib/webview/index.d.ts +0 -3
  894. package/lib/webview/index.js +0 -11
  895. package/lib/webview/index.js.map +0 -1
  896. package/lib/webview/types.d.ts +0 -47
  897. package/lib/webview/types.js +0 -9
  898. package/lib/webview/types.js.map +0 -1
  899. package/lib/webview/use-webview-contents.d.ts +0 -2
  900. package/lib/webview/use-webview-contents.js +0 -90
  901. package/lib/webview/use-webview-contents.js.map +0 -1
  902. /package/lib/{services → cjs/services}/hubtype-queues-api.d.ts +0 -0
  903. /package/lib/{structured-output → cjs/structured-output}/flow-builder-content.d.ts +0 -0
  904. /package/lib/{utils → cjs/utils}/authentication.d.ts +0 -0
  905. /package/lib/{utils → cjs/utils}/flow-locale.d.ts +0 -0
  906. /package/lib/{utils → cjs/utils}/input.d.ts +0 -0
@@ -1,193 +0,0 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import { OutputMessageType, isWhatsapp } from "@botonic/core";
3
- import { Button, CardType, Carousel, Text, WhatsappCTAUrlButton, WhatsappCTAUrlHeaderType, WhatsappInteractiveMediaCarousel } from "@botonic/react";
4
- import { trackOneContent } from "../tracking.js";
5
- import { ContentFieldsBase } from "./content-fields-base.js";
6
- import { FlowElement } from "./flow-element.js";
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
- const DEFAULT_TEXT_MESSAGE = 'These are the options';
21
- class FlowCarousel extends ContentFieldsBase {
22
- static fromHubtypeCMS(component, locale, cmsApi, botContext) {
23
- const newCarousel = new FlowCarousel(component.id);
24
- newCarousel.code = component.code;
25
- newCarousel.elements = component.content.elements.map((element)=>FlowElement.fromHubtypeCMS(element, locale, cmsApi, botContext));
26
- newCarousel.whatsappText = FlowCarousel.getTextByLocale(locale, component.content.whatsapp_text);
27
- newCarousel.followUp = component.follow_up;
28
- return newCarousel;
29
- }
30
- async trackFlow(request) {
31
- await trackOneContent(request, this);
32
- for (const element of this.elements){
33
- await element.trackFlow(request);
34
- }
35
- }
36
- static generateWhatsappElementText(element) {
37
- if (element.subtitle) {
38
- return `*${element.title}*\n${element.subtitle}`;
39
- }
40
- return element.title;
41
- }
42
- static createCardsFromElements(elements) {
43
- return elements.map((element)=>{
44
- const text = FlowCarousel.generateWhatsappElementText(element);
45
- if (element.button?.url) {
46
- return {
47
- imageLink: element.image,
48
- text,
49
- type: CardType.CTA_URL,
50
- action: {
51
- buttonText: element.button.text,
52
- buttonUrl: element.button.url
53
- }
54
- };
55
- }
56
- if (element.button?.payload) {
57
- return {
58
- imageLink: element.image,
59
- text,
60
- type: CardType.QUICK_REPLY,
61
- action: {
62
- buttons: [
63
- {
64
- text: element.button.text,
65
- payload: element.button.payload
66
- }
67
- ]
68
- }
69
- };
70
- }
71
- throw new Error('Element must have a url or a payload');
72
- });
73
- }
74
- static fromAIAgent(id, carouselMessage, botContext) {
75
- if (isWhatsapp(botContext.session) && FlowCarousel.areElementsValidForWhatsapp(carouselMessage)) {
76
- if (carouselMessage.content.elements.length === 1 && carouselMessage.content.elements[0].button?.url) {
77
- const element = carouselMessage.content.elements[0];
78
- const buttonText = element.button.text;
79
- const url = carouselMessage.content.elements[0].button.url;
80
- // TODO: Add a new fromAIAgent method in FlowWhatsappCtaUrlButtonNode to create a WhatsappCTAUrlButton from an AIAgent message
81
- return /*#__PURE__*/ jsx(WhatsappCTAUrlButton, {
82
- body: element.title,
83
- headerType: WhatsappCTAUrlHeaderType.Image,
84
- headerImage: element.image,
85
- footer: element.subtitle,
86
- displayText: buttonText,
87
- url: url
88
- }, id);
89
- }
90
- if (carouselMessage.content.elements.length === 1 && carouselMessage.content.elements[0].button?.payload) {
91
- const element = carouselMessage.content.elements[0];
92
- const text = FlowCarousel.generateWhatsappElementText(element);
93
- const buttonPayload = carouselMessage.content.elements[0].button.payload;
94
- const buttonText = carouselMessage.content.elements[0].button.text;
95
- return /*#__PURE__*/ jsxs(Text, {
96
- children: [
97
- text,
98
- /*#__PURE__*/ jsx(Button, {
99
- payload: buttonPayload,
100
- children: buttonText
101
- })
102
- ]
103
- });
104
- }
105
- const elements = carouselMessage.content.elements.map((element, index)=>FlowElement.fromAIAgent(`${id}-element-${index}`, element));
106
- return /*#__PURE__*/ jsx(WhatsappInteractiveMediaCarousel, {
107
- cards: FlowCarousel.createCardsFromElements(elements),
108
- textMessage: carouselMessage.content.text || DEFAULT_TEXT_MESSAGE
109
- });
110
- }
111
- return /*#__PURE__*/ jsx(Carousel, {
112
- children: carouselMessage.content.elements.map((element, index)=>FlowElement.fromAIAgent(`${id}-element-${index}`, element).renderElement(id))
113
- }, id);
114
- }
115
- toCarouselMessage(elements) {
116
- return {
117
- type: OutputMessageType.Carousel,
118
- content: {
119
- elements: elements.map((element)=>{
120
- return {
121
- button: {
122
- text: element.button?.text || '',
123
- payload: element.button?.payload,
124
- url: element.button?.url
125
- },
126
- title: element.title,
127
- subtitle: element.subtitle,
128
- image: element.image
129
- };
130
- })
131
- }
132
- };
133
- }
134
- async processContent(botContext) {
135
- await this.filterContent(botContext, this);
136
- await this.trackFlow(botContext);
137
- return;
138
- }
139
- toBotonic(botContext) {
140
- const carouselMessage = this.toCarouselMessage(this.elements);
141
- if (isWhatsapp(botContext.session) && FlowCarousel.areElementsValidForWhatsapp(carouselMessage)) {
142
- if (this.elements.length === 1 && this.elements[0].button?.url) {
143
- const element = this.elements[0];
144
- const buttonText = this.elements[0].button.text;
145
- const url = this.elements[0].button.url;
146
- return /*#__PURE__*/ jsx(WhatsappCTAUrlButton, {
147
- body: element.title,
148
- headerType: WhatsappCTAUrlHeaderType.Image,
149
- headerImage: element.image,
150
- displayText: buttonText,
151
- url: url
152
- }, this.id);
153
- }
154
- if (this.elements.length === 1 && this.elements[0].button && this.elements[0].button?.payload) {
155
- const element = this.elements[0];
156
- const text = FlowCarousel.generateWhatsappElementText(element);
157
- const buttonPayload = this.elements[0].button.payload;
158
- const buttonText = this.elements[0].button.text;
159
- return /*#__PURE__*/ jsxs(Text, {
160
- children: [
161
- text,
162
- /*#__PURE__*/ jsx(Button, {
163
- payload: buttonPayload,
164
- children: buttonText
165
- })
166
- ]
167
- });
168
- }
169
- return /*#__PURE__*/ jsx(WhatsappInteractiveMediaCarousel, {
170
- cards: FlowCarousel.createCardsFromElements(this.elements),
171
- // TODO: Add the text message in flow builder frontend and take it from the carousel node with different languages
172
- textMessage: this.whatsappText || DEFAULT_TEXT_MESSAGE
173
- });
174
- }
175
- return /*#__PURE__*/ jsx(Carousel, {
176
- children: this.elements.map((element)=>element.renderElement(this.id))
177
- }, this.id);
178
- }
179
- constructor(...args){
180
- super(...args), this.whatsappText = '', this.elements = [];
181
- }
182
- }
183
- FlowCarousel.areElementsValidForWhatsapp = (carouselMessage)=>{
184
- const isValid = carouselMessage.content.elements.every((element)=>element.button.url) || carouselMessage.content.elements.every((element)=>element.button.payload);
185
- if (!isValid) {
186
- console.warn('Cannot use WhatsappInteractiveMediaCarousel for Whatsapp created by AIAgent, all elements must have either url or payload.', carouselMessage.content);
187
- }
188
- return isValid;
189
- };
190
-
191
- export { FlowCarousel };
192
-
193
- //# sourceMappingURL=flow-carousel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"content-fields/flow-carousel.js","sources":["../../src/content-fields/flow-carousel.tsx"],"sourcesContent":["import {\n type BotContext,\n type CarouselMessage,\n isWhatsapp,\n OutputMessageType,\n} from '@botonic/core'\nimport {\n type ActionRequest,\n Button,\n CardType,\n Carousel,\n Text,\n WhatsappCTAUrlButton,\n WhatsappCTAUrlHeaderType,\n type WhatsappInteractiveMediaCard,\n WhatsappInteractiveMediaCarousel,\n} from '@botonic/react'\n\nimport type { FlowBuilderApi } from '../api'\nimport { trackOneContent } from '../tracking'\nimport { ContentFieldsBase } from './content-fields-base'\nimport { FlowElement } from './flow-element'\nimport type { HtCarouselNode } from './hubtype-fields'\n\nconst DEFAULT_TEXT_MESSAGE = 'These are the options'\nexport class FlowCarousel extends ContentFieldsBase {\n public whatsappText: string = ''\n public elements: FlowElement[] = []\n\n static fromHubtypeCMS(\n component: HtCarouselNode,\n locale: string,\n cmsApi: FlowBuilderApi,\n botContext: BotContext\n ): FlowCarousel {\n const newCarousel = new FlowCarousel(component.id)\n newCarousel.code = component.code\n newCarousel.elements = component.content.elements.map(element =>\n FlowElement.fromHubtypeCMS(element, locale, cmsApi, botContext)\n )\n newCarousel.whatsappText = FlowCarousel.getTextByLocale(\n locale,\n component.content.whatsapp_text\n )\n newCarousel.followUp = component.follow_up\n\n return newCarousel\n }\n\n async trackFlow(request: ActionRequest): Promise<void> {\n await trackOneContent(request, this)\n for (const element of this.elements) {\n await element.trackFlow(request)\n }\n }\n\n static areElementsValidForWhatsapp = (carouselMessage: CarouselMessage) => {\n const isValid =\n carouselMessage.content.elements.every(element => element.button.url) ||\n carouselMessage.content.elements.every(element => element.button.payload)\n\n if (!isValid) {\n console.warn(\n 'Cannot use WhatsappInteractiveMediaCarousel for Whatsapp created by AIAgent, all elements must have either url or payload.',\n carouselMessage.content\n )\n }\n return isValid\n }\n\n static generateWhatsappElementText(element: {\n title: string\n subtitle?: string\n }): string {\n if (element.subtitle) {\n return `*${element.title}*\\n${element.subtitle}`\n }\n return element.title\n }\n\n private static createCardsFromElements(\n elements: FlowElement[]\n ): WhatsappInteractiveMediaCard[] {\n return elements.map(element => {\n const text = FlowCarousel.generateWhatsappElementText(element)\n\n if (element.button?.url) {\n return {\n imageLink: element.image,\n text,\n type: CardType.CTA_URL as const,\n action: {\n buttonText: element.button.text,\n buttonUrl: element.button.url,\n },\n }\n }\n if (element.button?.payload) {\n return {\n imageLink: element.image,\n text,\n type: CardType.QUICK_REPLY as const,\n action: {\n buttons: [\n {\n text: element.button.text,\n payload: element.button.payload,\n },\n ],\n },\n }\n }\n throw new Error('Element must have a url or a payload')\n })\n }\n\n static fromAIAgent(\n id: string,\n carouselMessage: CarouselMessage,\n botContext: ActionRequest\n ): JSX.Element {\n if (\n isWhatsapp(botContext.session) &&\n FlowCarousel.areElementsValidForWhatsapp(carouselMessage)\n ) {\n if (\n carouselMessage.content.elements.length === 1 &&\n carouselMessage.content.elements[0].button?.url\n ) {\n const element = carouselMessage.content.elements[0]\n const buttonText = element.button.text\n const url = carouselMessage.content.elements[0].button.url\n // TODO: Add a new fromAIAgent method in FlowWhatsappCtaUrlButtonNode to create a WhatsappCTAUrlButton from an AIAgent message\n return (\n <WhatsappCTAUrlButton\n key={id}\n body={element.title}\n headerType={WhatsappCTAUrlHeaderType.Image}\n headerImage={element.image}\n footer={element.subtitle}\n displayText={buttonText}\n url={url}\n />\n )\n }\n\n if (\n carouselMessage.content.elements.length === 1 &&\n carouselMessage.content.elements[0].button?.payload\n ) {\n const element = carouselMessage.content.elements[0]\n const text = FlowCarousel.generateWhatsappElementText(element)\n const buttonPayload = carouselMessage.content.elements[0].button.payload\n const buttonText = carouselMessage.content.elements[0].button.text\n\n return (\n <Text>\n {text}\n <Button payload={buttonPayload}>{buttonText}</Button>\n </Text>\n )\n }\n\n const elements = carouselMessage.content.elements.map((element, index) =>\n FlowElement.fromAIAgent(`${id}-element-${index}`, element)\n )\n return (\n <WhatsappInteractiveMediaCarousel\n cards={FlowCarousel.createCardsFromElements(elements)}\n textMessage={carouselMessage.content.text || DEFAULT_TEXT_MESSAGE}\n />\n )\n }\n return (\n <Carousel key={id}>\n {carouselMessage.content.elements.map((element, index) =>\n FlowElement.fromAIAgent(\n `${id}-element-${index}`,\n element\n ).renderElement(id)\n )}\n </Carousel>\n )\n }\n\n private toCarouselMessage(elements: FlowElement[]): CarouselMessage {\n return {\n type: OutputMessageType.Carousel,\n content: {\n elements: elements.map(element => {\n return {\n button: {\n text: element.button?.text || '',\n payload: element.button?.payload,\n url: element.button?.url,\n },\n title: element.title,\n subtitle: element.subtitle,\n image: element.image,\n }\n }),\n },\n }\n }\n\n async processContent(botContext: BotContext): Promise<void> {\n await this.filterContent(botContext, this)\n await this.trackFlow(botContext)\n return\n }\n\n toBotonic(botContext: BotContext): JSX.Element {\n const carouselMessage = this.toCarouselMessage(this.elements)\n if (\n isWhatsapp(botContext.session) &&\n FlowCarousel.areElementsValidForWhatsapp(carouselMessage)\n ) {\n if (this.elements.length === 1 && this.elements[0].button?.url) {\n const element = this.elements[0]\n const buttonText = this.elements[0].button.text\n const url = this.elements[0].button.url\n\n return (\n <WhatsappCTAUrlButton\n key={this.id}\n body={element.title}\n headerType={WhatsappCTAUrlHeaderType.Image}\n headerImage={element.image}\n displayText={buttonText}\n url={url}\n />\n )\n }\n\n if (\n this.elements.length === 1 &&\n this.elements[0].button &&\n this.elements[0].button?.payload\n ) {\n const element = this.elements[0]\n const text = FlowCarousel.generateWhatsappElementText(element)\n const buttonPayload = this.elements[0].button.payload\n const buttonText = this.elements[0].button.text\n\n return (\n <Text>\n {text}\n <Button payload={buttonPayload}>{buttonText}</Button>\n </Text>\n )\n }\n\n return (\n <WhatsappInteractiveMediaCarousel\n cards={FlowCarousel.createCardsFromElements(this.elements)}\n // TODO: Add the text message in flow builder frontend and take it from the carousel node with different languages\n textMessage={this.whatsappText || DEFAULT_TEXT_MESSAGE}\n />\n )\n }\n return (\n <Carousel key={this.id}>\n {this.elements.map(element => element.renderElement(this.id))}\n </Carousel>\n )\n }\n}\n"],"names":["isWhatsapp","OutputMessageType","Button","CardType","Carousel","Text","WhatsappCTAUrlButton","WhatsappCTAUrlHeaderType","WhatsappInteractiveMediaCarousel","trackOneContent","ContentFieldsBase","FlowElement","DEFAULT_TEXT_MESSAGE","FlowCarousel","component","locale","cmsApi","botContext","newCarousel","element","request","elements","text","Error","id","carouselMessage","buttonText","url","buttonPayload","index","isValid","console"],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- import { type BotContext } from '@botonic/core';
2
- import { ContentFieldsBase } from './content-fields-base.js';
3
- import type { HtChannelConditionalNode } from './hubtype-fields/channel-conditional.js';
4
- import type { HtFunctionResult } from './hubtype-fields/function.js';
5
- export declare class FlowChannelConditional extends ContentFieldsBase {
6
- resultMapping: HtFunctionResult[];
7
- conditionalResult?: HtFunctionResult;
8
- channelResult: string;
9
- static fromHubtypeCMS(component: HtChannelConditionalNode, botContext: BotContext): FlowChannelConditional;
10
- setConditionalResult(botContext: BotContext): void;
11
- trackFlow(botContext: BotContext): Promise<void>;
12
- processContent(botContext: BotContext): Promise<void>;
13
- toBotonic(): JSX.Element;
14
- }
@@ -1,61 +0,0 @@
1
- import { Fragment, jsx } from "react/jsx-runtime";
2
- import { EventAction } from "@botonic/core";
3
- import { getCommonFlowContentEventArgsForContentId, trackEvent } from "../tracking.js";
4
- import { ContentFieldsBase } from "./content-fields-base.js";
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
- class FlowChannelConditional extends ContentFieldsBase {
15
- static fromHubtypeCMS(component, botContext) {
16
- const newChannelConditional = new FlowChannelConditional(component.id);
17
- newChannelConditional.code = component.code;
18
- newChannelConditional.resultMapping = component.content.result_mapping;
19
- newChannelConditional.setConditionalResult(botContext);
20
- return newChannelConditional;
21
- }
22
- setConditionalResult(botContext) {
23
- const provider = botContext.session.user.provider;
24
- const conditionalResult = this.resultMapping.find((rMap)=>rMap.result === provider) || this.resultMapping.find((rMap)=>rMap.result === 'default');
25
- if (!conditionalResult) {
26
- throw new Error(`No conditional result found for node ${this.code} with channel: ${provider}`);
27
- }
28
- this.conditionalResult = conditionalResult;
29
- this.channelResult = conditionalResult.result;
30
- this.followUp = conditionalResult.target;
31
- }
32
- async trackFlow(botContext) {
33
- const { flowThreadId, flowId, flowName, flowNodeId, flowNodeContentId } = getCommonFlowContentEventArgsForContentId(botContext, this.id);
34
- const eventChannelConditional = {
35
- action: EventAction.ConditionalChannel,
36
- flowThreadId,
37
- flowId,
38
- flowName,
39
- flowNodeId,
40
- flowNodeContentId,
41
- flowNodeIsMeaningful: false,
42
- channel: this.channelResult
43
- };
44
- const { action, ...eventArgs } = eventChannelConditional;
45
- await trackEvent(botContext, action, eventArgs);
46
- }
47
- async processContent(botContext) {
48
- await this.filterContent(botContext, this);
49
- await this.trackFlow(botContext);
50
- }
51
- toBotonic() {
52
- return /*#__PURE__*/ jsx(Fragment, {});
53
- }
54
- constructor(...args){
55
- super(...args), this.resultMapping = [], this.conditionalResult = undefined, this.channelResult = '';
56
- }
57
- }
58
-
59
- export { FlowChannelConditional };
60
-
61
- //# sourceMappingURL=flow-channel-conditional.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"content-fields/flow-channel-conditional.js","sources":["../../src/content-fields/flow-channel-conditional.tsx"],"sourcesContent":["import {\n type BotContext,\n EventAction,\n type EventConditionalChannel,\n} from '@botonic/core'\n\nimport {\n getCommonFlowContentEventArgsForContentId,\n trackEvent,\n} from '../tracking'\nimport { ContentFieldsBase } from './content-fields-base'\nimport type { HtChannelConditionalNode } from './hubtype-fields/channel-conditional'\nimport type { HtFunctionResult } from './hubtype-fields/function'\n\nexport class FlowChannelConditional extends ContentFieldsBase {\n public resultMapping: HtFunctionResult[] = []\n public conditionalResult?: HtFunctionResult = undefined\n public channelResult: string = ''\n\n static fromHubtypeCMS(\n component: HtChannelConditionalNode,\n botContext: BotContext\n ): FlowChannelConditional {\n const newChannelConditional = new FlowChannelConditional(component.id)\n newChannelConditional.code = component.code\n newChannelConditional.resultMapping = component.content.result_mapping\n newChannelConditional.setConditionalResult(botContext)\n\n return newChannelConditional\n }\n\n setConditionalResult(botContext: BotContext): void {\n const provider = botContext.session.user.provider\n const conditionalResult =\n this.resultMapping.find(rMap => rMap.result === provider) ||\n this.resultMapping.find(rMap => rMap.result === 'default')\n if (!conditionalResult) {\n throw new Error(\n `No conditional result found for node ${this.code} with channel: ${provider}`\n )\n }\n this.conditionalResult = conditionalResult\n this.channelResult = conditionalResult.result as string\n this.followUp = conditionalResult.target\n }\n\n async trackFlow(botContext: BotContext): Promise<void> {\n const { flowThreadId, flowId, flowName, flowNodeId, flowNodeContentId } =\n getCommonFlowContentEventArgsForContentId(botContext, this.id)\n\n const eventChannelConditional: EventConditionalChannel = {\n action: EventAction.ConditionalChannel,\n flowThreadId,\n flowId,\n flowName,\n flowNodeId,\n flowNodeContentId,\n flowNodeIsMeaningful: false,\n channel: this.channelResult,\n }\n const { action, ...eventArgs } = eventChannelConditional\n await trackEvent(botContext, action, eventArgs)\n }\n\n async processContent(botContext: BotContext): Promise<void> {\n await this.filterContent(botContext, this)\n await this.trackFlow(botContext)\n }\n\n toBotonic(): JSX.Element {\n return <></>\n }\n}\n"],"names":["EventAction","getCommonFlowContentEventArgsForContentId","trackEvent","ContentFieldsBase","FlowChannelConditional","component","botContext","newChannelConditional","provider","conditionalResult","rMap","Error","flowThreadId","flowId","flowName","flowNodeId","flowNodeContentId","eventChannelConditional","action","eventArgs","undefined"],"mappings":";;;;;;;;;;AAIsB;AAKF;AACqC;AAIlD,MAAMI,sBAAsBA,SAASD,iBAAiBA;IAK3D,OAAO,eACLE,SAAmC,EACnCC,UAAsB,EACE;QACxB,MAAMC,wBAAwB,IAAIH,sBAAsBA,CAACC,UAAU,EAAE;QACrEE,sBAAsB,IAAI,GAAGF,UAAU,IAAI;QAC3CE,sBAAsB,aAAa,GAAGF,UAAU,OAAO,CAAC,cAAc;QACtEE,sBAAsB,oBAAoB,CAACD;QAE3C,OAAOC;IACT;IAEA,qBAAqBD,UAAsB,EAAQ;QACjD,MAAME,WAAWF,WAAW,OAAO,CAAC,IAAI,CAAC,QAAQ;QACjD,MAAMG,oBACJ,IAAI,CAAC,aAAa,CAAC,IAAI,CAACC,CAAAA,OAAQA,KAAK,MAAM,KAAKF,aAChD,IAAI,CAAC,aAAa,CAAC,IAAI,CAACE,CAAAA,OAAQA,KAAK,MAAM,KAAK;QAClD,IAAI,CAACD,mBAAmB;YACtB,MAAM,IAAIE,MACR,CAAC,qCAAqC,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAEH,UAAU;QAEjF;QACA,IAAI,CAAC,iBAAiB,GAAGC;QACzB,IAAI,CAAC,aAAa,GAAGA,kBAAkB,MAAM;QAC7C,IAAI,CAAC,QAAQ,GAAGA,kBAAkB,MAAM;IAC1C;IAEA,MAAM,UAAUH,UAAsB,EAAiB;QACrD,MAAM,EAAEM,YAAY,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,UAAU,EAAEC,iBAAiB,EAAE,GACrEf,yCAAyCA,CAACK,YAAY,IAAI,CAAC,EAAE;QAE/D,MAAMW,0BAAmD;YACvD,QAAQjB,8BAA8B;YACtCY;YACAC;YACAC;YACAC;YACAC;YACA,sBAAsB;YACtB,SAAS,IAAI,CAAC,aAAa;QAC7B;QACA,MAAM,EAAEE,MAAM,EAAE,GAAGC,WAAW,GAAGF;QACjC,MAAMf,UAAUA,CAACI,YAAYY,QAAQC;IACvC;IAEA,MAAM,eAAeb,UAAsB,EAAiB;QAC1D,MAAM,IAAI,CAAC,aAAa,CAACA,YAAY,IAAI;QACzC,MAAM,IAAI,CAAC,SAAS,CAACA;IACvB;IAEA,YAAyB;QACvB,qBAAO;IACT;;QAzDK,qBACE,gBAAoC,EAAE,OACtC,oBAAuCc,gBACvC,gBAAwB;;AAuDjC"}
@@ -1,13 +0,0 @@
1
- import { type BotContext } from '@botonic/core';
2
- import { ContentFieldsBase } from './content-fields-base.js';
3
- import type { HtFunctionResult } from './hubtype-fields/index.js';
4
- import type { HtCountryConditionalNode } from './hubtype-fields/country-conditional.js';
5
- export declare class FlowCountryConditional extends ContentFieldsBase {
6
- resultMapping: HtFunctionResult[];
7
- conditionalResult?: HtFunctionResult;
8
- static fromHubtypeCMS(component: HtCountryConditionalNode, botContext: BotContext): FlowCountryConditional;
9
- setConditionalResult(botContext: BotContext): void;
10
- trackFlow(botContext: BotContext): Promise<void>;
11
- processContent(botContext: BotContext): Promise<void>;
12
- toBotonic(): JSX.Element;
13
- }
@@ -1,64 +0,0 @@
1
- import { Fragment, jsx } from "react/jsx-runtime";
2
- import { EventAction } from "@botonic/core";
3
- import { getCommonFlowContentEventArgsForContentId, trackEvent } from "../tracking.js";
4
- import { ContentFieldsBase } from "./content-fields-base.js";
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
- class FlowCountryConditional extends ContentFieldsBase {
15
- static fromHubtypeCMS(component, botContext) {
16
- const newCountryConditional = new FlowCountryConditional(component.id);
17
- newCountryConditional.code = component.code;
18
- newCountryConditional.resultMapping = component.content.result_mapping;
19
- newCountryConditional.setConditionalResult(botContext);
20
- return newCountryConditional;
21
- }
22
- setConditionalResult(botContext) {
23
- const country = botContext.getUserCountry();
24
- const conditionalResult = this.resultMapping.find((rMap)=>rMap.result === country) || this.resultMapping.find((rMap)=>rMap.result === 'default');
25
- if (!conditionalResult) {
26
- throw new Error(`No conditional result found for node ${this.code} with country: ${country}`);
27
- }
28
- this.conditionalResult = conditionalResult;
29
- this.followUp = conditionalResult.target;
30
- }
31
- async trackFlow(botContext) {
32
- const { flowThreadId, flowId, flowName, flowNodeId, flowNodeContentId } = getCommonFlowContentEventArgsForContentId(botContext, this.id);
33
- if (!this.conditionalResult?.result) {
34
- console.warn(`Tracking event for node ${this.code} but no conditional result found`);
35
- }
36
- const eventCountryConditional = {
37
- action: EventAction.ConditionalCountry,
38
- flowThreadId,
39
- flowId,
40
- flowName,
41
- flowNodeId,
42
- flowNodeContentId,
43
- flowNodeIsMeaningful: false,
44
- country: this.conditionalResult?.result ?? ''
45
- };
46
- const { action, ...eventArgs } = eventCountryConditional;
47
- await trackEvent(botContext, action, eventArgs);
48
- }
49
- async processContent(botContext) {
50
- await this.filterContent(botContext, this);
51
- await this.trackFlow(botContext);
52
- return;
53
- }
54
- toBotonic() {
55
- return /*#__PURE__*/ jsx(Fragment, {});
56
- }
57
- constructor(...args){
58
- super(...args), this.resultMapping = [], this.conditionalResult = undefined;
59
- }
60
- }
61
-
62
- export { FlowCountryConditional };
63
-
64
- //# sourceMappingURL=flow-country-conditional.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"content-fields/flow-country-conditional.js","sources":["../../src/content-fields/flow-country-conditional.tsx"],"sourcesContent":["import {\n type BotContext,\n EventAction,\n type EventConditionalCountry,\n} from '@botonic/core'\n\nimport {\n getCommonFlowContentEventArgsForContentId,\n trackEvent,\n} from '../tracking'\nimport { ContentFieldsBase } from './content-fields-base'\nimport type { HtFunctionResult } from './hubtype-fields'\nimport type { HtCountryConditionalNode } from './hubtype-fields/country-conditional'\n\nexport class FlowCountryConditional extends ContentFieldsBase {\n public resultMapping: HtFunctionResult[] = []\n public conditionalResult?: HtFunctionResult = undefined\n\n static fromHubtypeCMS(\n component: HtCountryConditionalNode,\n botContext: BotContext\n ): FlowCountryConditional {\n const newCountryConditional = new FlowCountryConditional(component.id)\n newCountryConditional.code = component.code\n newCountryConditional.resultMapping = component.content.result_mapping\n newCountryConditional.setConditionalResult(botContext)\n\n return newCountryConditional\n }\n\n setConditionalResult(botContext: BotContext): void {\n const country = botContext.getUserCountry()\n const conditionalResult =\n this.resultMapping.find(rMap => rMap.result === country) ||\n this.resultMapping.find(rMap => rMap.result === 'default')\n if (!conditionalResult) {\n throw new Error(\n `No conditional result found for node ${this.code} with country: ${country}`\n )\n }\n this.conditionalResult = conditionalResult\n this.followUp = conditionalResult.target\n }\n\n async trackFlow(botContext: BotContext): Promise<void> {\n const { flowThreadId, flowId, flowName, flowNodeId, flowNodeContentId } =\n getCommonFlowContentEventArgsForContentId(botContext, this.id)\n if (!this.conditionalResult?.result) {\n console.warn(\n `Tracking event for node ${this.code} but no conditional result found`\n )\n }\n const eventCountryConditional: EventConditionalCountry = {\n action: EventAction.ConditionalCountry,\n flowThreadId,\n flowId,\n flowName,\n flowNodeId,\n flowNodeContentId,\n flowNodeIsMeaningful: false,\n country: (this.conditionalResult?.result as string) ?? '',\n }\n const { action, ...eventArgs } = eventCountryConditional\n await trackEvent(botContext, action, eventArgs)\n }\n\n async processContent(botContext: BotContext): Promise<void> {\n await this.filterContent(botContext, this)\n await this.trackFlow(botContext)\n return\n }\n\n toBotonic(): JSX.Element {\n return <></>\n }\n}\n"],"names":["EventAction","getCommonFlowContentEventArgsForContentId","trackEvent","ContentFieldsBase","FlowCountryConditional","component","botContext","newCountryConditional","country","conditionalResult","rMap","Error","flowThreadId","flowId","flowName","flowNodeId","flowNodeContentId","console","eventCountryConditional","action","eventArgs","undefined"],"mappings":";;;;;;;;;;AAIsB;AAKF;AACqC;AAIlD,MAAMI,sBAAsBA,SAASD,iBAAiBA;IAI3D,OAAO,eACLE,SAAmC,EACnCC,UAAsB,EACE;QACxB,MAAMC,wBAAwB,IAAIH,sBAAsBA,CAACC,UAAU,EAAE;QACrEE,sBAAsB,IAAI,GAAGF,UAAU,IAAI;QAC3CE,sBAAsB,aAAa,GAAGF,UAAU,OAAO,CAAC,cAAc;QACtEE,sBAAsB,oBAAoB,CAACD;QAE3C,OAAOC;IACT;IAEA,qBAAqBD,UAAsB,EAAQ;QACjD,MAAME,UAAUF,WAAW,cAAc;QACzC,MAAMG,oBACJ,IAAI,CAAC,aAAa,CAAC,IAAI,CAACC,CAAAA,OAAQA,KAAK,MAAM,KAAKF,YAChD,IAAI,CAAC,aAAa,CAAC,IAAI,CAACE,CAAAA,OAAQA,KAAK,MAAM,KAAK;QAClD,IAAI,CAACD,mBAAmB;YACtB,MAAM,IAAIE,MACR,CAAC,qCAAqC,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAEH,SAAS;QAEhF;QACA,IAAI,CAAC,iBAAiB,GAAGC;QACzB,IAAI,CAAC,QAAQ,GAAGA,kBAAkB,MAAM;IAC1C;IAEA,MAAM,UAAUH,UAAsB,EAAiB;QACrD,MAAM,EAAEM,YAAY,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,UAAU,EAAEC,iBAAiB,EAAE,GACrEf,yCAAyCA,CAACK,YAAY,IAAI,CAAC,EAAE;QAC/D,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ;YACnCW,QAAQ,IAAI,CACV,CAAC,wBAAwB,EAAE,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC;QAE1E;QACA,MAAMC,0BAAmD;YACvD,QAAQlB,8BAA8B;YACtCY;YACAC;YACAC;YACAC;YACAC;YACA,sBAAsB;YACtB,SAAU,IAAI,CAAC,iBAAiB,EAAE,UAAqB;QACzD;QACA,MAAM,EAAEG,MAAM,EAAE,GAAGC,WAAW,GAAGF;QACjC,MAAMhB,UAAUA,CAACI,YAAYa,QAAQC;IACvC;IAEA,MAAM,eAAed,UAAsB,EAAiB;QAC1D,MAAM,IAAI,CAAC,aAAa,CAACA,YAAY,IAAI;QACzC,MAAM,IAAI,CAAC,SAAS,CAACA;QACrB;IACF;IAEA,YAAyB;QACvB,qBAAO;IACT;;QA5DK,qBACE,gBAAoC,EAAE,OACtC,oBAAuCe;;AA2DhD"}
@@ -1,17 +0,0 @@
1
- import { type BotContext } from '@botonic/core';
2
- import { ContentFieldsBase } from './content-fields-base.js';
3
- import type { HtCustomConditionalNode } from './hubtype-fields/custom-conditional.js';
4
- import type { HtFunctionArguments, HtFunctionResult } from './hubtype-fields/function.js';
5
- export declare class FlowCustomConditional extends ContentFieldsBase {
6
- arguments: HtFunctionArguments[];
7
- resultMapping: HtFunctionResult[];
8
- conditionalResult?: HtFunctionResult;
9
- customResult: boolean;
10
- variableFormat: string;
11
- static fromHubtypeCMS(component: HtCustomConditionalNode, botContext: BotContext): FlowCustomConditional;
12
- setConditionalResult(botContext: BotContext): void;
13
- trackFlow(botContext: BotContext): Promise<void>;
14
- private isBooleanConditional;
15
- processContent(botContext: BotContext): Promise<void>;
16
- toBotonic(): import("react").JSX.Element;
17
- }
@@ -1,87 +0,0 @@
1
- import { Fragment, jsx } from "react/jsx-runtime";
2
- import { EventAction } from "@botonic/core";
3
- import { getCommonFlowContentEventArgsForContentId, trackEvent } from "../tracking.js";
4
- import { ContentFieldsBase } from "./content-fields-base.js";
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
- class FlowCustomConditional extends ContentFieldsBase {
15
- static fromHubtypeCMS(component, botContext) {
16
- const newCustomConditional = new FlowCustomConditional(component.id);
17
- newCustomConditional.code = component.code;
18
- newCustomConditional.arguments = component.content.arguments;
19
- newCustomConditional.resultMapping = component.content.result_mapping;
20
- newCustomConditional.setConditionalResult(botContext);
21
- newCustomConditional.variableFormat = component.content.arguments[0].type;
22
- return newCustomConditional;
23
- }
24
- setConditionalResult(botContext) {
25
- const functionArgument = this.arguments.find((arg)=>{
26
- if ('name' in arg) {
27
- return arg.name === 'keyPath';
28
- }
29
- return false;
30
- });
31
- let keyPath = '';
32
- if (functionArgument && 'value' in functionArgument) {
33
- keyPath = functionArgument.value;
34
- } else {
35
- throw new Error(`Key path not found for node ${this.code}`);
36
- }
37
- const botVariable = this.getValueFromKeyPath(botContext, keyPath);
38
- let conditionalResult = this.resultMapping.find((rMap)=>rMap.result === botVariable) || this.resultMapping.find((rMap)=>rMap.result === 'default');
39
- if (this.isBooleanConditional(this.resultMapping) && typeof botVariable !== 'boolean') {
40
- conditionalResult = this.resultMapping.find((rMap)=>rMap.result === (botVariable !== undefined && botVariable !== null)) || this.resultMapping.find((rMap)=>rMap.result === 'default');
41
- }
42
- if (!conditionalResult) {
43
- throw new Error(`No conditional result found for node ${this.code} with key path: ${keyPath}`);
44
- }
45
- this.conditionalResult = conditionalResult;
46
- this.customResult = conditionalResult.result;
47
- this.followUp = conditionalResult.target;
48
- }
49
- async trackFlow(botContext) {
50
- const { flowThreadId, flowId, flowName, flowNodeId, flowNodeContentId } = getCommonFlowContentEventArgsForContentId(botContext, this.id);
51
- if (!this.conditionalResult?.result) {
52
- console.warn(`Tracking event for node ${this.code} but no conditional result found`);
53
- }
54
- const eventCustomConditional = {
55
- action: EventAction.ConditionalCustom,
56
- flowThreadId,
57
- flowId,
58
- flowName,
59
- flowNodeId,
60
- flowNodeContentId,
61
- flowNodeIsMeaningful: false,
62
- conditionalVariable: this.customResult.toString(),
63
- variableFormat: this.variableFormat,
64
- operator: ''
65
- };
66
- const { action, ...eventArgs } = eventCustomConditional;
67
- await trackEvent(botContext, action, eventArgs);
68
- }
69
- isBooleanConditional(resultMapping) {
70
- return resultMapping.some((rMap)=>rMap.result === true) && resultMapping.some((rMap)=>rMap.result === false) && resultMapping.some((rMap)=>rMap.result === 'default');
71
- }
72
- async processContent(botContext) {
73
- await this.filterContent(botContext, this);
74
- await this.trackFlow(botContext);
75
- return;
76
- }
77
- toBotonic() {
78
- return /*#__PURE__*/ jsx(Fragment, {});
79
- }
80
- constructor(...args){
81
- super(...args), this.arguments = [], this.conditionalResult = undefined, this.customResult = false, this.variableFormat = '';
82
- }
83
- }
84
-
85
- export { FlowCustomConditional };
86
-
87
- //# sourceMappingURL=flow-custom-conditional.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"content-fields/flow-custom-conditional.js","sources":["../../src/content-fields/flow-custom-conditional.tsx"],"sourcesContent":["import {\n type BotContext,\n EventAction,\n type EventConditionalCustom,\n} from '@botonic/core'\n\nimport {\n getCommonFlowContentEventArgsForContentId,\n trackEvent,\n} from '../tracking'\nimport { ContentFieldsBase } from './content-fields-base'\nimport type { HtCustomConditionalNode } from './hubtype-fields/custom-conditional'\nimport type {\n HtFunctionArgument,\n HtFunctionArguments,\n HtFunctionResult,\n} from './hubtype-fields/function'\n\nexport class FlowCustomConditional extends ContentFieldsBase {\n public arguments: HtFunctionArguments[] = []\n public resultMapping: HtFunctionResult[]\n public conditionalResult?: HtFunctionResult = undefined\n public customResult: boolean = false\n public variableFormat: string = ''\n\n static fromHubtypeCMS(\n component: HtCustomConditionalNode,\n botContext: BotContext\n ): FlowCustomConditional {\n const newCustomConditional = new FlowCustomConditional(component.id)\n newCustomConditional.code = component.code\n newCustomConditional.arguments = component.content.arguments\n newCustomConditional.resultMapping = component.content.result_mapping\n newCustomConditional.setConditionalResult(botContext)\n newCustomConditional.variableFormat = (\n component.content.arguments as HtFunctionArgument[]\n )[0].type\n\n return newCustomConditional\n }\n\n setConditionalResult(botContext: BotContext): void {\n const functionArgument = this.arguments.find(arg => {\n if ('name' in arg) {\n return arg.name === 'keyPath'\n }\n return false\n })\n\n let keyPath = ''\n\n if (functionArgument && 'value' in functionArgument) {\n keyPath = functionArgument.value\n } else {\n throw new Error(`Key path not found for node ${this.code}`)\n }\n\n const botVariable = this.getValueFromKeyPath(botContext, keyPath)\n\n let conditionalResult =\n this.resultMapping.find(rMap => rMap.result === botVariable) ||\n this.resultMapping.find(rMap => rMap.result === 'default')\n\n if (\n this.isBooleanConditional(this.resultMapping) &&\n typeof botVariable !== 'boolean'\n ) {\n conditionalResult =\n this.resultMapping.find(\n rMap =>\n rMap.result === (botVariable !== undefined && botVariable !== null)\n ) || this.resultMapping.find(rMap => rMap.result === 'default')\n }\n\n if (!conditionalResult) {\n throw new Error(\n `No conditional result found for node ${this.code} with key path: ${keyPath}`\n )\n }\n\n this.conditionalResult = conditionalResult\n this.customResult = conditionalResult.result as unknown as boolean\n this.followUp = conditionalResult.target\n }\n\n async trackFlow(botContext: BotContext): Promise<void> {\n const { flowThreadId, flowId, flowName, flowNodeId, flowNodeContentId } =\n getCommonFlowContentEventArgsForContentId(botContext, this.id)\n if (!this.conditionalResult?.result) {\n console.warn(\n `Tracking event for node ${this.code} but no conditional result found`\n )\n }\n const eventCustomConditional: EventConditionalCustom = {\n action: EventAction.ConditionalCustom,\n flowThreadId,\n flowId,\n flowName,\n flowNodeId,\n flowNodeContentId,\n flowNodeIsMeaningful: false,\n conditionalVariable: this.customResult.toString(),\n variableFormat: this.variableFormat,\n operator: '',\n }\n const { action, ...eventArgs } = eventCustomConditional\n await trackEvent(botContext, action, eventArgs)\n }\n\n private isBooleanConditional(resultMapping: HtFunctionResult[]): boolean {\n return (\n resultMapping.some(rMap => rMap.result === true) &&\n resultMapping.some(rMap => rMap.result === false) &&\n resultMapping.some(rMap => rMap.result === 'default')\n )\n }\n\n async processContent(botContext: BotContext): Promise<void> {\n await this.filterContent(botContext, this)\n await this.trackFlow(botContext)\n return\n }\n\n toBotonic() {\n return <></>\n }\n}\n"],"names":["EventAction","getCommonFlowContentEventArgsForContentId","trackEvent","ContentFieldsBase","FlowCustomConditional","component","botContext","newCustomConditional","functionArgument","arg","keyPath","Error","botVariable","conditionalResult","rMap","undefined","flowThreadId","flowId","flowName","flowNodeId","flowNodeContentId","console","eventCustomConditional","action","eventArgs","resultMapping"],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- import type { BotContext, Button } from '@botonic/core';
2
- import type { FlowBuilderApi } from '../api.js';
3
- import { ContentFieldsBase } from './content-fields-base.js';
4
- import { FlowButton } from './flow-button.js';
5
- import type { HtCarouselElement } from './hubtype-fields/index.js';
6
- export declare class FlowElement extends ContentFieldsBase {
7
- title: string;
8
- subtitle: string;
9
- button: FlowButton | undefined;
10
- image: string;
11
- hidden: boolean;
12
- static fromHubtypeCMS(component: HtCarouselElement, locale: string, cmsApi: FlowBuilderApi, botContext: BotContext): FlowElement;
13
- static fromAIAgent(id: string, element: {
14
- title: string;
15
- subtitle: string;
16
- image: string;
17
- button: Button;
18
- }): FlowElement;
19
- trackFlow(botContext: BotContext): Promise<void>;
20
- processContent(botContext: BotContext): Promise<void>;
21
- renderElement(parentId: string): JSX.Element;
22
- }
@@ -1,67 +0,0 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import { Element, Pic, Subtitle, Title } from "@botonic/react";
3
- import { ContentFieldsBase } from "./content-fields-base.js";
4
- import { FlowButton } from "./flow-button.js";
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
- class FlowElement extends ContentFieldsBase {
15
- static fromHubtypeCMS(component, locale, cmsApi, botContext) {
16
- const newElement = new FlowElement(component.id);
17
- newElement.title = FlowElement.getTextByLocale(locale, component.title);
18
- newElement.subtitle = FlowElement.getTextByLocale(locale, component.subtitle);
19
- newElement.image = FlowElement.getAssetByLocale(locale, component.image);
20
- newElement.button = FlowButton.fromHubtypeCMS(component.button, locale, cmsApi, botContext);
21
- return newElement;
22
- }
23
- static fromAIAgent(id, element) {
24
- const newElement = new FlowElement(id);
25
- newElement.title = element.title;
26
- newElement.subtitle = element.subtitle;
27
- newElement.image = element.image;
28
- newElement.button = FlowButton.fromAIAgent({
29
- id: `${id}-button`,
30
- text: element.button.text,
31
- url: element.button.url
32
- });
33
- return newElement;
34
- }
35
- async trackFlow(botContext) {
36
- if (this.button) {
37
- await this.button.trackFlow(botContext);
38
- }
39
- }
40
- async processContent(botContext) {
41
- await this.trackFlow(botContext);
42
- return;
43
- }
44
- renderElement(parentId) {
45
- return /*#__PURE__*/ jsxs(Element, {
46
- children: [
47
- /*#__PURE__*/ jsx(Pic, {
48
- src: this.image
49
- }),
50
- /*#__PURE__*/ jsx(Title, {
51
- children: this.title
52
- }),
53
- /*#__PURE__*/ jsx(Subtitle, {
54
- children: this.subtitle
55
- }),
56
- this.button?.renderButton(0)
57
- ]
58
- }, `${parentId}-${this.id}`);
59
- }
60
- constructor(...args){
61
- super(...args), this.title = '', this.subtitle = '', this.image = '', this.hidden = false;
62
- }
63
- }
64
-
65
- export { FlowElement };
66
-
67
- //# sourceMappingURL=flow-element.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"content-fields/flow-element.js","sources":["../../src/content-fields/flow-element.tsx"],"sourcesContent":["import type { BotContext, Button } from '@botonic/core'\nimport { Element, Pic, Subtitle, Title } from '@botonic/react'\n\nimport type { FlowBuilderApi } from '../api'\nimport { ContentFieldsBase } from './content-fields-base'\nimport { FlowButton } from './flow-button'\nimport type { HtCarouselElement } from './hubtype-fields'\n\nexport class FlowElement extends ContentFieldsBase {\n public title = ''\n public subtitle = ''\n public button: FlowButton | undefined\n public image = ''\n public hidden = false\n\n static fromHubtypeCMS(\n component: HtCarouselElement,\n locale: string,\n cmsApi: FlowBuilderApi,\n botContext: BotContext\n ): FlowElement {\n const newElement = new FlowElement(component.id)\n newElement.title = FlowElement.getTextByLocale(locale, component.title)\n newElement.subtitle = FlowElement.getTextByLocale(\n locale,\n component.subtitle\n )\n newElement.image = FlowElement.getAssetByLocale(locale, component.image)\n newElement.button = FlowButton.fromHubtypeCMS(\n component.button,\n locale,\n cmsApi,\n botContext\n )\n return newElement\n }\n\n static fromAIAgent(\n id: string,\n element: {\n title: string\n subtitle: string\n image: string\n button: Button\n }\n ) {\n const newElement = new FlowElement(id)\n newElement.title = element.title\n newElement.subtitle = element.subtitle\n newElement.image = element.image\n newElement.button = FlowButton.fromAIAgent({\n id: `${id}-button`,\n text: element.button.text,\n url: element.button.url,\n })\n return newElement\n }\n\n async trackFlow(botContext: BotContext): Promise<void> {\n if (this.button) {\n await this.button.trackFlow(botContext)\n }\n }\n\n async processContent(botContext: BotContext): Promise<void> {\n await this.trackFlow(botContext)\n return\n }\n\n renderElement(parentId: string): JSX.Element {\n return (\n <Element key={`${parentId}-${this.id}`}>\n <Pic src={this.image} />\n <Title>{this.title}</Title>\n <Subtitle>{this.subtitle}</Subtitle>\n {this.button?.renderButton(0)}\n </Element>\n )\n }\n}\n"],"names":["Element","Pic","Subtitle","Title","ContentFieldsBase","FlowButton","FlowElement","component","locale","cmsApi","botContext","newElement","id","element","parentId"],"mappings":";;;;;;;;;;AAC8D;AAGL;AACf;AAGnC,MAAMM,WAAWA,SAASF,iBAAiBA;IAOhD,OAAO,eACLG,SAA4B,EAC5BC,MAAc,EACdC,MAAsB,EACtBC,UAAsB,EACT;QACb,MAAMC,aAAa,IAAIL,WAAWA,CAACC,UAAU,EAAE;QAC/CI,WAAW,KAAK,GAAGL,WAAWA,CAAC,eAAe,CAACE,QAAQD,UAAU,KAAK;QACtEI,WAAW,QAAQ,GAAGL,WAAWA,CAAC,eAAe,CAC/CE,QACAD,UAAU,QAAQ;QAEpBI,WAAW,KAAK,GAAGL,WAAWA,CAAC,gBAAgB,CAACE,QAAQD,UAAU,KAAK;QACvEI,WAAW,MAAM,GAAGN,yBAAyB,CAC3CE,UAAU,MAAM,EAChBC,QACAC,QACAC;QAEF,OAAOC;IACT;IAEA,OAAO,YACLC,EAAU,EACVC,OAKC,EACD;QACA,MAAMF,aAAa,IAAIL,WAAWA,CAACM;QACnCD,WAAW,KAAK,GAAGE,QAAQ,KAAK;QAChCF,WAAW,QAAQ,GAAGE,QAAQ,QAAQ;QACtCF,WAAW,KAAK,GAAGE,QAAQ,KAAK;QAChCF,WAAW,MAAM,GAAGN,sBAAsB,CAAC;YACzC,IAAI,GAAGO,GAAG,OAAO,CAAC;YAClB,MAAMC,QAAQ,MAAM,CAAC,IAAI;YACzB,KAAKA,QAAQ,MAAM,CAAC,GAAG;QACzB;QACA,OAAOF;IACT;IAEA,MAAM,UAAUD,UAAsB,EAAiB;QACrD,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAACA;QAC9B;IACF;IAEA,MAAM,eAAeA,UAAsB,EAAiB;QAC1D,MAAM,IAAI,CAAC,SAAS,CAACA;QACrB;IACF;IAEA,cAAcI,QAAgB,EAAe;QAC3C,qBACE,KAACd,OAAOA;;8BACN,IAACC,GAAGA;oBAAC,KAAK,IAAI,CAAC,KAAK;;8BACpB,IAACE,KAAKA;8BAAE,IAAI,CAAC,KAAK;;8BAClB,IAACD,QAAQA;8BAAE,IAAI,CAAC,QAAQ;;gBACvB,IAAI,CAAC,MAAM,EAAE,aAAa;;WAJf,GAAGY,SAAS,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE;IAO1C;;QAtEK,qBACE,QAAQ,SACR,WAAW,SAEX,QAAQ,SACR,SAAS;;AAkElB"}
@@ -1,13 +0,0 @@
1
- import { type BotContext } from '@botonic/core';
2
- import type { FlowBuilderApi } from '../api.js';
3
- import { ContentFieldsBase } from './content-fields-base.js';
4
- import type { HtGoToFlow } from './hubtype-fields/index.js';
5
- export declare class FlowGoToFlow extends ContentFieldsBase {
6
- flowTargetId: string;
7
- flowTargetName: string;
8
- targetId: string;
9
- static fromHubtypeCMS(component: HtGoToFlow, cmsApi: FlowBuilderApi): FlowGoToFlow;
10
- trackFlow(botContext: BotContext): Promise<void>;
11
- processContent(botContext: BotContext): Promise<void>;
12
- toBotonic(): JSX.Element;
13
- }