@botonic/plugin-flow-builder 0.55.1 → 0.56.0-alpha.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 (71) hide show
  1. package/lib/cjs/action/first-interaction.js +11 -4
  2. package/lib/cjs/action/first-interaction.js.map +1 -1
  3. package/lib/cjs/content-fields/flow-ai-agent-base.js +4 -0
  4. package/lib/cjs/content-fields/flow-ai-agent-base.js.map +1 -1
  5. package/lib/cjs/content-fields/flow-whatsapp-request-contact-info.d.ts +11 -0
  6. package/lib/cjs/content-fields/flow-whatsapp-request-contact-info.js +45 -0
  7. package/lib/cjs/content-fields/flow-whatsapp-request-contact-info.js.map +1 -0
  8. package/lib/cjs/content-fields/flow-whatsapp-template.d.ts +1 -0
  9. package/lib/cjs/content-fields/flow-whatsapp-template.js +11 -0
  10. package/lib/cjs/content-fields/flow-whatsapp-template.js.map +1 -1
  11. package/lib/cjs/content-fields/hubtype-fields/index.d.ts +1 -0
  12. package/lib/cjs/content-fields/hubtype-fields/index.js +1 -0
  13. package/lib/cjs/content-fields/hubtype-fields/index.js.map +1 -1
  14. package/lib/cjs/content-fields/hubtype-fields/node-types.d.ts +1 -0
  15. package/lib/cjs/content-fields/hubtype-fields/node-types.js +1 -0
  16. package/lib/cjs/content-fields/hubtype-fields/node-types.js.map +1 -1
  17. package/lib/cjs/content-fields/hubtype-fields/nodes.d.ts +2 -1
  18. package/lib/cjs/content-fields/hubtype-fields/whatsapp-request-contact-info.d.ts +8 -0
  19. package/lib/cjs/content-fields/hubtype-fields/whatsapp-request-contact-info.js +3 -0
  20. package/lib/cjs/content-fields/hubtype-fields/whatsapp-request-contact-info.js.map +1 -0
  21. package/lib/cjs/content-fields/hubtype-fields/whatsapp-template.d.ts +4 -0
  22. package/lib/cjs/content-fields/index.d.ts +3 -2
  23. package/lib/cjs/content-fields/index.js +3 -1
  24. package/lib/cjs/content-fields/index.js.map +1 -1
  25. package/lib/cjs/flow-factory.js +2 -0
  26. package/lib/cjs/flow-factory.js.map +1 -1
  27. package/lib/cjs/utils/hubtype-assistant-content.d.ts +1 -0
  28. package/lib/cjs/utils/hubtype-assistant-content.js +11 -0
  29. package/lib/cjs/utils/hubtype-assistant-content.js.map +1 -1
  30. package/lib/esm/action/first-interaction.js +11 -4
  31. package/lib/esm/action/first-interaction.js.map +1 -1
  32. package/lib/esm/content-fields/flow-ai-agent-base.js +4 -0
  33. package/lib/esm/content-fields/flow-ai-agent-base.js.map +1 -1
  34. package/lib/esm/content-fields/flow-whatsapp-request-contact-info.d.ts +11 -0
  35. package/lib/esm/content-fields/flow-whatsapp-request-contact-info.js +45 -0
  36. package/lib/esm/content-fields/flow-whatsapp-request-contact-info.js.map +1 -0
  37. package/lib/esm/content-fields/flow-whatsapp-template.d.ts +1 -0
  38. package/lib/esm/content-fields/flow-whatsapp-template.js +11 -0
  39. package/lib/esm/content-fields/flow-whatsapp-template.js.map +1 -1
  40. package/lib/esm/content-fields/hubtype-fields/index.d.ts +1 -0
  41. package/lib/esm/content-fields/hubtype-fields/index.js +1 -0
  42. package/lib/esm/content-fields/hubtype-fields/index.js.map +1 -1
  43. package/lib/esm/content-fields/hubtype-fields/node-types.d.ts +1 -0
  44. package/lib/esm/content-fields/hubtype-fields/node-types.js +1 -0
  45. package/lib/esm/content-fields/hubtype-fields/node-types.js.map +1 -1
  46. package/lib/esm/content-fields/hubtype-fields/nodes.d.ts +2 -1
  47. package/lib/esm/content-fields/hubtype-fields/whatsapp-request-contact-info.d.ts +8 -0
  48. package/lib/esm/content-fields/hubtype-fields/whatsapp-request-contact-info.js +3 -0
  49. package/lib/esm/content-fields/hubtype-fields/whatsapp-request-contact-info.js.map +1 -0
  50. package/lib/esm/content-fields/hubtype-fields/whatsapp-template.d.ts +4 -0
  51. package/lib/esm/content-fields/index.d.ts +3 -2
  52. package/lib/esm/content-fields/index.js +3 -1
  53. package/lib/esm/content-fields/index.js.map +1 -1
  54. package/lib/esm/flow-factory.js +2 -0
  55. package/lib/esm/flow-factory.js.map +1 -1
  56. package/lib/esm/utils/hubtype-assistant-content.d.ts +1 -0
  57. package/lib/esm/utils/hubtype-assistant-content.js +11 -0
  58. package/lib/esm/utils/hubtype-assistant-content.js.map +1 -1
  59. package/package.json +2 -2
  60. package/src/action/first-interaction.ts +22 -5
  61. package/src/content-fields/flow-ai-agent-base.tsx +11 -0
  62. package/src/content-fields/flow-whatsapp-request-contact-info.tsx +64 -0
  63. package/src/content-fields/flow-whatsapp-template.tsx +16 -0
  64. package/src/content-fields/hubtype-fields/index.ts +1 -0
  65. package/src/content-fields/hubtype-fields/node-types.ts +1 -0
  66. package/src/content-fields/hubtype-fields/nodes.ts +2 -0
  67. package/src/content-fields/hubtype-fields/whatsapp-request-contact-info.ts +9 -0
  68. package/src/content-fields/hubtype-fields/whatsapp-template.ts +5 -0
  69. package/src/content-fields/index.ts +3 -0
  70. package/src/flow-factory.ts +6 -0
  71. package/src/utils/hubtype-assistant-content.ts +14 -0
@@ -15,6 +15,7 @@ import { FlowRating } from './flow-rating'
15
15
  import { FlowText } from './flow-text'
16
16
  import { FlowVideo } from './flow-video'
17
17
  import { FlowWhatsappCtaUrlButtonNode } from './flow-whatsapp-cta-url-button'
18
+ import { FlowWhatsappRequestContactInfoNode } from './flow-whatsapp-request-contact-info'
18
19
  import { FlowWhatsappTemplate } from './flow-whatsapp-template'
19
20
  import {
20
21
  FlowWhatsappButtonList,
@@ -45,6 +46,7 @@ export {
45
46
  FlowWhatsappButtonListRow,
46
47
  FlowWhatsappButtonListSection,
47
48
  FlowWhatsappCtaUrlButtonNode,
49
+ FlowWhatsappRequestContactInfoNode,
48
50
  FlowWhatsappTemplate,
49
51
  FlowCustomConditionalV2,
50
52
  }
@@ -56,6 +58,7 @@ export type FlowContent =
56
58
  | FlowVideo
57
59
  | FlowWhatsappButtonList
58
60
  | FlowWhatsappCtaUrlButtonNode
61
+ | FlowWhatsappRequestContactInfoNode
59
62
  | FlowWhatsappTemplate
60
63
  | FlowHandoff
61
64
  | FlowBotAction
@@ -20,6 +20,7 @@ import {
20
20
  FlowVideo,
21
21
  FlowWhatsappButtonList,
22
22
  FlowWhatsappCtaUrlButtonNode,
23
+ FlowWhatsappRequestContactInfoNode,
23
24
  FlowWhatsappTemplate,
24
25
  } from './content-fields'
25
26
  import { FlowCaptureUserInput } from './content-fields/flow-capture-user-input'
@@ -75,6 +76,11 @@ export class FlowFactory {
75
76
  this.cmsApi,
76
77
  this.botContext
77
78
  )
79
+ case HtNodeWithContentType.WHATSAPP_REQUEST_CONTACT_INFO:
80
+ return FlowWhatsappRequestContactInfoNode.fromHubtypeCMS(
81
+ hubtypeContent,
82
+ this.locale
83
+ )
78
84
  case HtNodeWithContentType.HANDOFF:
79
85
  return FlowHandoff.fromHubtypeCMS(
80
86
  hubtypeContent,
@@ -6,6 +6,7 @@ import { FlowImage } from '../content-fields/flow-image'
6
6
  import { FlowText } from '../content-fields/flow-text'
7
7
  import { FlowVideo } from '../content-fields/flow-video'
8
8
  import { FlowWhatsappCtaUrlButtonNode } from '../content-fields/flow-whatsapp-cta-url-button'
9
+ import { FlowWhatsappRequestContactInfoNode } from '../content-fields/flow-whatsapp-request-contact-info'
9
10
  import { FlowWhatsappTemplate } from '../content-fields/flow-whatsapp-template'
10
11
  import { HtButtonStyle } from '../content-fields/hubtype-fields'
11
12
  import { FlowWhatsappButtonList } from '../content-fields/whatsapp-button-list/flow-whatsapp-button-list'
@@ -34,6 +35,9 @@ export class HubtypeAssistantContent {
34
35
  if (content instanceof FlowWhatsappTemplate) {
35
36
  return HubtypeAssistantContent.formatWhatsappTemplateContent(content)
36
37
  }
38
+ if (content instanceof FlowWhatsappRequestContactInfoNode) {
39
+ return HubtypeAssistantContent.formatRequestContactInfoContent(content)
40
+ }
37
41
  return ''
38
42
  }
39
43
 
@@ -205,4 +209,14 @@ export class HubtypeAssistantContent {
205
209
  const { name, language } = template.htWhatsappTemplate
206
210
  return `WhatsApp Template: ${name} (${language})`
207
211
  }
212
+
213
+ private static formatRequestContactInfoContent(
214
+ requestContactInfo: FlowWhatsappRequestContactInfoNode
215
+ ): string {
216
+ const body = requestContactInfo.text?.trim() ?? ''
217
+ if (!body) {
218
+ return '[WhatsApp Request Contact Info]'
219
+ }
220
+ return requestContactInfo.text
221
+ }
208
222
  }