@botonic/plugin-flow-builder 0.51.1 → 0.52.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 (58) hide show
  1. package/lib/cjs/content-fields/flow-button.d.ts +1 -3
  2. package/lib/cjs/content-fields/flow-button.js +2 -23
  3. package/lib/cjs/content-fields/flow-button.js.map +1 -1
  4. package/lib/cjs/content-fields/flow-carousel.d.ts +1 -1
  5. package/lib/cjs/content-fields/flow-carousel.js +2 -2
  6. package/lib/cjs/content-fields/flow-carousel.js.map +1 -1
  7. package/lib/cjs/content-fields/flow-element.d.ts +1 -1
  8. package/lib/cjs/content-fields/flow-element.js +2 -2
  9. package/lib/cjs/content-fields/flow-element.js.map +1 -1
  10. package/lib/cjs/content-fields/flow-text.d.ts +1 -1
  11. package/lib/cjs/content-fields/flow-text.js +2 -2
  12. package/lib/cjs/content-fields/flow-text.js.map +1 -1
  13. package/lib/cjs/content-fields/flow-webview.d.ts +5 -0
  14. package/lib/cjs/content-fields/flow-webview.js +29 -0
  15. package/lib/cjs/content-fields/flow-webview.js.map +1 -1
  16. package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.d.ts +1 -1
  17. package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.js +2 -2
  18. package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.js.map +1 -1
  19. package/lib/cjs/content-fields/hubtype-fields/webview.d.ts +1 -0
  20. package/lib/cjs/content-fields/index.d.ts +2 -2
  21. package/lib/cjs/content-fields/index.js +5 -3
  22. package/lib/cjs/content-fields/index.js.map +1 -1
  23. package/lib/cjs/flow-factory.js +3 -3
  24. package/lib/cjs/flow-factory.js.map +1 -1
  25. package/lib/esm/content-fields/flow-button.d.ts +1 -3
  26. package/lib/esm/content-fields/flow-button.js +2 -23
  27. package/lib/esm/content-fields/flow-button.js.map +1 -1
  28. package/lib/esm/content-fields/flow-carousel.d.ts +1 -1
  29. package/lib/esm/content-fields/flow-carousel.js +2 -2
  30. package/lib/esm/content-fields/flow-carousel.js.map +1 -1
  31. package/lib/esm/content-fields/flow-element.d.ts +1 -1
  32. package/lib/esm/content-fields/flow-element.js +2 -2
  33. package/lib/esm/content-fields/flow-element.js.map +1 -1
  34. package/lib/esm/content-fields/flow-text.d.ts +1 -1
  35. package/lib/esm/content-fields/flow-text.js +2 -2
  36. package/lib/esm/content-fields/flow-text.js.map +1 -1
  37. package/lib/esm/content-fields/flow-webview.d.ts +5 -0
  38. package/lib/esm/content-fields/flow-webview.js +29 -0
  39. package/lib/esm/content-fields/flow-webview.js.map +1 -1
  40. package/lib/esm/content-fields/flow-whatsapp-cta-url-button.d.ts +1 -1
  41. package/lib/esm/content-fields/flow-whatsapp-cta-url-button.js +2 -2
  42. package/lib/esm/content-fields/flow-whatsapp-cta-url-button.js.map +1 -1
  43. package/lib/esm/content-fields/hubtype-fields/webview.d.ts +1 -0
  44. package/lib/esm/content-fields/index.d.ts +2 -2
  45. package/lib/esm/content-fields/index.js +5 -3
  46. package/lib/esm/content-fields/index.js.map +1 -1
  47. package/lib/esm/flow-factory.js +3 -3
  48. package/lib/esm/flow-factory.js.map +1 -1
  49. package/package.json +2 -2
  50. package/src/content-fields/flow-button.tsx +3 -40
  51. package/src/content-fields/flow-carousel.tsx +3 -2
  52. package/src/content-fields/flow-element.tsx +4 -2
  53. package/src/content-fields/flow-text.tsx +3 -2
  54. package/src/content-fields/flow-webview.tsx +47 -1
  55. package/src/content-fields/flow-whatsapp-cta-url-button.tsx +4 -2
  56. package/src/content-fields/hubtype-fields/webview.ts +1 -0
  57. package/src/content-fields/index.ts +7 -1
  58. package/src/flow-factory.ts +10 -3
@@ -13,12 +13,12 @@ class FlowElement extends content_fields_base_1.ContentFieldsBase {
13
13
  this.image = '';
14
14
  this.hidden = false;
15
15
  }
16
- static fromHubtypeCMS(component, locale, cmsApi) {
16
+ static fromHubtypeCMS(component, locale, cmsApi, botContext) {
17
17
  const newElement = new FlowElement(component.id);
18
18
  newElement.title = FlowElement.getTextByLocale(locale, component.title);
19
19
  newElement.subtitle = FlowElement.getTextByLocale(locale, component.subtitle);
20
20
  newElement.image = FlowElement.getAssetByLocale(locale, component.image);
21
- newElement.button = flow_button_1.FlowButton.fromHubtypeCMS(component.button, locale, cmsApi);
21
+ newElement.button = flow_button_1.FlowButton.fromHubtypeCMS(component.button, locale, cmsApi, botContext);
22
22
  return newElement;
23
23
  }
24
24
  static fromAIAgent(id, element) {
@@ -1 +1 @@
1
- {"version":3,"file":"flow-element.js","sourceRoot":"","sources":["../../../src/content-fields/flow-element.tsx"],"names":[],"mappings":";;;;AACA,0CAA8D;AAG9D,+DAAyD;AACzD,+CAA0C;AAG1C,MAAa,WAAY,SAAQ,uCAAiB;IAAlD;;QACS,UAAK,GAAG,EAAE,CAAA;QACV,aAAQ,GAAG,EAAE,CAAA;QAEb,UAAK,GAAG,EAAE,CAAA;QACV,WAAM,GAAG,KAAK,CAAA;IAgEvB,CAAC;IA9DC,MAAM,CAAC,cAAc,CACnB,SAA4B,EAC5B,MAAc,EACd,MAAsB;QAEtB,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAChD,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;QACvE,UAAU,CAAC,QAAQ,GAAG,WAAW,CAAC,eAAe,CAC/C,MAAM,EACN,SAAS,CAAC,QAAQ,CACnB,CAAA;QACD,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;QACxE,UAAU,CAAC,MAAM,GAAG,wBAAU,CAAC,cAAc,CAC3C,SAAS,CAAC,MAAM,EAChB,MAAM,EACN,MAAM,CACP,CAAA;QACD,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,MAAM,CAAC,WAAW,CAChB,EAAU,EACV,OAKC;QAED,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAA;QACtC,UAAU,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAChC,UAAU,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QACtC,UAAU,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAChC,UAAU,CAAC,MAAM,GAAG,wBAAU,CAAC,WAAW,CAAC;YACzC,EAAE,EAAE,GAAG,EAAE,SAAS;YAClB,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI;YACzB,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG;SACxB,CAAC,CAAA;QACF,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,UAAsB;QACpC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;QACzC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,UAAsB;QACzC,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;QAChC,OAAM;IACR,CAAC;IAED,aAAa,CAAC,QAAgB;QAC5B,OAAO,CACL,wBAAC,eAAO,eACN,uBAAC,WAAG,IAAC,GAAG,EAAE,IAAI,CAAC,KAAK,GAAI,EACxB,uBAAC,aAAK,cAAE,IAAI,CAAC,KAAK,GAAS,EAC3B,uBAAC,gBAAQ,cAAE,IAAI,CAAC,QAAQ,GAAY,EACnC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,KAJjB,GAAG,QAAQ,IAAI,IAAI,CAAC,EAAE,EAAE,CAK5B,CACX,CAAA;IACH,CAAC;CACF;AArED,kCAqEC"}
1
+ {"version":3,"file":"flow-element.js","sourceRoot":"","sources":["../../../src/content-fields/flow-element.tsx"],"names":[],"mappings":";;;;AACA,0CAA8D;AAG9D,+DAAyD;AACzD,+CAA0C;AAG1C,MAAa,WAAY,SAAQ,uCAAiB;IAAlD;;QACS,UAAK,GAAG,EAAE,CAAA;QACV,aAAQ,GAAG,EAAE,CAAA;QAEb,UAAK,GAAG,EAAE,CAAA;QACV,WAAM,GAAG,KAAK,CAAA;IAkEvB,CAAC;IAhEC,MAAM,CAAC,cAAc,CACnB,SAA4B,EAC5B,MAAc,EACd,MAAsB,EACtB,UAAsB;QAEtB,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAChD,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;QACvE,UAAU,CAAC,QAAQ,GAAG,WAAW,CAAC,eAAe,CAC/C,MAAM,EACN,SAAS,CAAC,QAAQ,CACnB,CAAA;QACD,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;QACxE,UAAU,CAAC,MAAM,GAAG,wBAAU,CAAC,cAAc,CAC3C,SAAS,CAAC,MAAM,EAChB,MAAM,EACN,MAAM,EACN,UAAU,CACX,CAAA;QACD,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,MAAM,CAAC,WAAW,CAChB,EAAU,EACV,OAKC;QAED,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAA;QACtC,UAAU,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAChC,UAAU,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QACtC,UAAU,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAChC,UAAU,CAAC,MAAM,GAAG,wBAAU,CAAC,WAAW,CAAC;YACzC,EAAE,EAAE,GAAG,EAAE,SAAS;YAClB,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI;YACzB,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG;SACxB,CAAC,CAAA;QACF,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,UAAsB;QACpC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;QACzC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,UAAsB;QACzC,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;QAChC,OAAM;IACR,CAAC;IAED,aAAa,CAAC,QAAgB;QAC5B,OAAO,CACL,wBAAC,eAAO,eACN,uBAAC,WAAG,IAAC,GAAG,EAAE,IAAI,CAAC,KAAK,GAAI,EACxB,uBAAC,aAAK,cAAE,IAAI,CAAC,KAAK,GAAS,EAC3B,uBAAC,gBAAQ,cAAE,IAAI,CAAC,QAAQ,GAAY,EACnC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,KAJjB,GAAG,QAAQ,IAAI,IAAI,CAAC,EAAE,EAAE,CAK5B,CACX,CAAA;IACH,CAAC;CACF;AAvED,kCAuEC"}
@@ -7,7 +7,7 @@ export declare class FlowText extends ContentFieldsBase {
7
7
  text: string;
8
8
  buttons: FlowButton[];
9
9
  buttonStyle: HtButtonStyle;
10
- static fromHubtypeCMS(cmsText: HtTextNode, locale: string, cmsApi: FlowBuilderApi): FlowText;
10
+ static fromHubtypeCMS(cmsText: HtTextNode, locale: string, cmsApi: FlowBuilderApi, botContext: BotContext): FlowText;
11
11
  trackFlow(botContext: BotContext): Promise<void>;
12
12
  static fromAIAgent(id: string, textMessage: TextMessage | TextWithButtonsMessage | BotExecutorMessage): JSX.Element;
13
13
  processContent(botContext: BotContext): Promise<void>;
@@ -15,12 +15,12 @@ class FlowText extends content_fields_base_1.ContentFieldsBase {
15
15
  this.buttons = [];
16
16
  this.buttonStyle = hubtype_fields_1.HtButtonStyle.BUTTON;
17
17
  }
18
- static fromHubtypeCMS(cmsText, locale, cmsApi) {
18
+ static fromHubtypeCMS(cmsText, locale, cmsApi, botContext) {
19
19
  const newText = new FlowText(cmsText.id);
20
20
  newText.code = cmsText.code;
21
21
  newText.buttonStyle = cmsText.content.buttons_style || hubtype_fields_1.HtButtonStyle.BUTTON;
22
22
  newText.text = FlowText.getTextByLocale(locale, cmsText.content.text);
23
- newText.buttons = cmsText.content.buttons.map(button => flow_button_1.FlowButton.fromHubtypeCMS(button, locale, cmsApi));
23
+ newText.buttons = cmsText.content.buttons.map(button => flow_button_1.FlowButton.fromHubtypeCMS(button, locale, cmsApi, botContext));
24
24
  newText.followUp = cmsText.follow_up;
25
25
  return newText;
26
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"flow-text.js","sourceRoot":"","sources":["../../../src/content-fields/flow-text.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flow-text.js","sourceRoot":"","sources":["../../../src/content-fields/flow-text.tsx"],"names":[],"mappings":"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"}
@@ -1,12 +1,17 @@
1
1
  import { type BotContext } from '@botonic/core';
2
+ import type { FlowBuilderApi } from '../api';
2
3
  import { ContentFieldsBase } from './content-fields-base';
3
4
  import type { HtWebviewExits, HtWebviewNode } from './hubtype-fields';
4
5
  export declare class FlowWebview extends ContentFieldsBase {
5
6
  webviewTargetId: string;
6
7
  webviewName: string;
7
8
  webviewComponentName: string;
9
+ webviewParams: Record<string, string>;
8
10
  exits: HtWebviewExits[];
9
11
  static fromHubtypeCMS(component: HtWebviewNode): FlowWebview;
12
+ getParams(botContext: BotContext, cmsApi: FlowBuilderApi): Record<string, string>;
13
+ private getResolvedWebviewParams;
14
+ private getExitSuccessContentID;
10
15
  trackFlow(botContext: BotContext): Promise<void>;
11
16
  processContent(): Promise<void>;
12
17
  }
@@ -10,6 +10,7 @@ class FlowWebview extends content_fields_base_1.ContentFieldsBase {
10
10
  this.webviewTargetId = '';
11
11
  this.webviewName = '';
12
12
  this.webviewComponentName = '';
13
+ this.webviewParams = {};
13
14
  this.exits = [];
14
15
  }
15
16
  static fromHubtypeCMS(component) {
@@ -17,10 +18,38 @@ class FlowWebview extends content_fields_base_1.ContentFieldsBase {
17
18
  newWebview.webviewTargetId = component.content.webview_target_id;
18
19
  newWebview.webviewName = component.content.webview_name;
19
20
  newWebview.webviewComponentName = component.content.webview_component_name;
21
+ newWebview.webviewParams = component.content.webview_params ?? {};
20
22
  newWebview.exits = component.content.exits;
21
23
  newWebview.followUp = component.follow_up;
22
24
  return newWebview;
23
25
  }
26
+ getParams(botContext, cmsApi) {
27
+ const params = {
28
+ webviewId: this.webviewTargetId,
29
+ t: Date.now().toString(),
30
+ ...this.getResolvedWebviewParams(botContext),
31
+ };
32
+ const exitSuccessContentID = this.getExitSuccessContentID(cmsApi);
33
+ if (exitSuccessContentID) {
34
+ params.exitSuccessContentID = exitSuccessContentID;
35
+ }
36
+ return params;
37
+ }
38
+ getResolvedWebviewParams(botContext) {
39
+ return Object.fromEntries(Object.entries(this.webviewParams).map(([key, value]) => [
40
+ key,
41
+ this.replaceVariables(value, botContext),
42
+ ]));
43
+ }
44
+ getExitSuccessContentID(cmsApi) {
45
+ const webviewSuccessExit = this.exits?.find(exit => exit.name === 'Success');
46
+ const exitSuccessId = webviewSuccessExit?.target?.id;
47
+ if (!exitSuccessId) {
48
+ return undefined;
49
+ }
50
+ const exitNode = cmsApi.getNodeById(exitSuccessId);
51
+ return exitNode.code;
52
+ }
24
53
  async trackFlow(botContext) {
25
54
  const { flowThreadId, flowId, flowName, flowNodeId, flowNodeContentId } = (0, tracking_1.getCommonFlowContentEventArgsForContentId)(botContext, this.id);
26
55
  const eventWebviewActionTriggered = {
@@ -1 +1 @@
1
- {"version":3,"file":"flow-webview.js","sourceRoot":"","sources":["../../../src/content-fields/flow-webview.tsx"],"names":[],"mappings":";;;AAAA,wCAIsB;AAEtB,0CAGoB;AACpB,+DAAyD;AAGzD,MAAa,WAAY,SAAQ,uCAAiB;IAAlD;;QACS,oBAAe,GAAW,EAAE,CAAA;QAC5B,gBAAW,GAAW,EAAE,CAAA;QACxB,yBAAoB,GAAW,EAAE,CAAA;QACjC,UAAK,GAAqB,EAAE,CAAA;IAmCrC,CAAC;IAjCC,MAAM,CAAC,cAAc,CAAC,SAAwB;QAC5C,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAChD,UAAU,CAAC,eAAe,GAAG,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAA;QAChE,UAAU,CAAC,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY,CAAA;QACvD,UAAU,CAAC,oBAAoB,GAAG,SAAS,CAAC,OAAO,CAAC,sBAAsB,CAAA;QAC1E,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAA;QAC1C,UAAU,CAAC,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAA;QAEzC,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,UAAsB;QACpC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE,GACrE,IAAA,oDAAyC,EAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;QAEhE,MAAM,2BAA2B,GAAgC;YAC/D,MAAM,EAAE,kBAAW,CAAC,sBAAsB;YAC1C,YAAY;YACZ,MAAM;YACN,QAAQ;YACR,UAAU;YACV,iBAAiB;YACjB,oBAAoB,EAAE,KAAK;YAC3B,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAA;QACD,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,GAAG,2BAA2B,CAAA;QAC5D,MAAM,IAAA,qBAAU,EAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;IACjD,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,OAAM;IACR,CAAC;CACF;AAvCD,kCAuCC"}
1
+ {"version":3,"file":"flow-webview.js","sourceRoot":"","sources":["../../../src/content-fields/flow-webview.tsx"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ export declare class FlowWhatsappCtaUrlButtonNode extends ContentFieldsBase {
13
13
  footer?: string;
14
14
  displayText: string;
15
15
  url: string;
16
- static fromHubtypeCMS(component: HtWhatsappCTAUrlButtonNode, locale: string, cmsApi: FlowBuilderApi): FlowWhatsappCtaUrlButtonNode;
16
+ static fromHubtypeCMS(component: HtWhatsappCTAUrlButtonNode, locale: string, cmsApi: FlowBuilderApi, botContext: BotContext): FlowWhatsappCtaUrlButtonNode;
17
17
  private static setHeader;
18
18
  trackFlow(botContext: BotContext): Promise<void>;
19
19
  processContent(botContext: BotContext): Promise<void>;
@@ -14,13 +14,13 @@ class FlowWhatsappCtaUrlButtonNode extends content_fields_base_1.ContentFieldsBa
14
14
  this.displayText = '';
15
15
  this.url = '';
16
16
  }
17
- static fromHubtypeCMS(component, locale, cmsApi) {
17
+ static fromHubtypeCMS(component, locale, cmsApi, botContext) {
18
18
  const whatsappCtaUrlButton = new FlowWhatsappCtaUrlButtonNode(component.id);
19
19
  whatsappCtaUrlButton.code = component.code;
20
20
  whatsappCtaUrlButton.text = FlowWhatsappCtaUrlButtonNode.getTextByLocale(locale, component.content.text);
21
21
  FlowWhatsappCtaUrlButtonNode.setHeader(whatsappCtaUrlButton, component, locale);
22
22
  whatsappCtaUrlButton.footer = FlowWhatsappCtaUrlButtonNode.getTextByLocale(locale, component.content.footer);
23
- const button = flow_button_1.FlowButton.fromHubtypeCMS(component.content.button, locale, cmsApi);
23
+ const button = flow_button_1.FlowButton.fromHubtypeCMS(component.content.button, locale, cmsApi, botContext);
24
24
  whatsappCtaUrlButton.displayText = button.text;
25
25
  const urlId = flow_button_1.FlowButton.getUrlId(component.content.button, locale);
26
26
  if (urlId) {
@@ -1 +1 @@
1
- {"version":3,"file":"flow-whatsapp-cta-url-button.js","sourceRoot":"","sources":["../../../src/content-fields/flow-whatsapp-cta-url-button.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flow-whatsapp-cta-url-button.js","sourceRoot":"","sources":["../../../src/content-fields/flow-whatsapp-cta-url-button.tsx"],"names":[],"mappings":";;;;AAAA,wCAA2D;AAC3D,0CAKuB;AAGvB,0CAA6C;AAC7C,+DAAyD;AACzD,+CAA0C;AAG1C,MAAa,4BAA6B,SAAQ,uCAAiB;IAAnE;;QACS,SAAI,GAAG,EAAE,CAAA;QAOT,gBAAW,GAAG,EAAE,CAAA;QAChB,QAAG,GAAW,EAAE,CAAA;IAgMzB,CAAC;IA9LC,MAAM,CAAC,cAAc,CACnB,SAAqC,EACrC,MAAc,EACd,MAAsB,EACtB,UAAsB;QAEtB,MAAM,oBAAoB,GAAG,IAAI,4BAA4B,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAC3E,oBAAoB,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;QAC1C,oBAAoB,CAAC,IAAI,GAAG,4BAA4B,CAAC,eAAe,CACtE,MAAM,EACN,SAAS,CAAC,OAAO,CAAC,IAAI,CACvB,CAAA;QACD,4BAA4B,CAAC,SAAS,CACpC,oBAAoB,EACpB,SAAS,EACT,MAAM,CACP,CAAA;QACD,oBAAoB,CAAC,MAAM,GAAG,4BAA4B,CAAC,eAAe,CACxE,MAAM,EACN,SAAS,CAAC,OAAO,CAAC,MAAM,CACzB,CAAA;QACD,MAAM,MAAM,GAAG,wBAAU,CAAC,cAAc,CACtC,SAAS,CAAC,OAAO,CAAC,MAAM,EACxB,MAAM,EACN,MAAM,EACN,UAAU,CACX,CAAA;QACD,oBAAoB,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAA;QAC9C,MAAM,KAAK,GAAG,wBAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACnE,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAY,KAAK,CAAC,CAAA;YACpD,oBAAoB,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAA;QAChD,CAAC;QACD,oBAAoB,CAAC,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAA;QAEnD,OAAO,oBAAoB,CAAA;IAC7B,CAAC;IAEO,MAAM,CAAC,SAAS,CACtB,oBAAkD,EAClD,SAAqC,EACrC,MAAc;QAEd,iHAAiH;QACjH,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,SAAS,CAAC,OAAO,CAAC,WAAW,GAAG,gCAAwB,CAAC,IAAI,CAAA;QAC/D,CAAC;QAED,oBAAoB,CAAC,UAAU,GAAG,SAAS,CAAC,OAAO;aAChD,WAAuC,CAAA;QAE1C,IAAI,SAAS,CAAC,OAAO,CAAC,WAAW,KAAK,gCAAwB,CAAC,IAAI,EAAE,CAAC;YACpE,oBAAoB,CAAC,MAAM;gBACzB,4BAA4B,CAAC,eAAe,CAC1C,MAAM,EACN,SAAS,CAAC,OAAO,CAAC,MAAM,CACzB,CAAA;QACL,CAAC;QAED,IACE,SAAS,CAAC,OAAO,CAAC,WAAW,KAAK,gCAAwB,CAAC,KAAK;YAChE,SAAS,CAAC,OAAO,CAAC,YAAY,EAC9B,CAAC;YACD,oBAAoB,CAAC,WAAW;gBAC9B,4BAA4B,CAAC,gBAAgB,CAC3C,MAAM,EACN,SAAS,CAAC,OAAO,CAAC,YAAY,CAC/B,CAAA;QACL,CAAC;QAED,IACE,SAAS,CAAC,OAAO,CAAC,WAAW,KAAK,gCAAwB,CAAC,KAAK;YAChE,SAAS,CAAC,OAAO,CAAC,YAAY,EAC9B,CAAC;YACD,oBAAoB,CAAC,WAAW;gBAC9B,4BAA4B,CAAC,gBAAgB,CAC3C,MAAM,EACN,SAAS,CAAC,OAAO,CAAC,YAAY,CAC/B,CAAA;QACL,CAAC;QAED,IACE,SAAS,CAAC,OAAO,CAAC,WAAW,KAAK,gCAAwB,CAAC,QAAQ;YACnE,SAAS,CAAC,OAAO,CAAC,eAAe,EACjC,CAAC;YACD,oBAAoB,CAAC,cAAc;gBACjC,4BAA4B,CAAC,gBAAgB,CAC3C,MAAM,EACN,SAAS,CAAC,OAAO,CAAC,eAAe,CAClC,CAAA;QACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,UAAsB;QACpC,MAAM,IAAA,0BAAe,EAAC,UAAU,EAAE,IAAI,CAAC,CAAA;IACzC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,UAAsB;QACzC,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;QAC1C,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;QAChC,OAAM;IACR,CAAC;IAED,SAAS,CAAC,UAAsB;QAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;QAEjE,IAAI,CAAC,IAAA,iBAAU,EAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,OAAO,CACL,wBAAC,YAAI,eACF,YAAY,EACb,uBAAC,cAAM,IAAC,GAAG,EAAE,IAAI,CAAC,GAAG,YAAG,IAAI,CAAC,WAAW,GAAU,IAC7C,CACR,CAAA;QACH,CAAC;QAED,IACE,IAAI,CAAC,UAAU,KAAK,gCAAwB,CAAC,KAAK;YAClD,IAAI,CAAC,WAAW,EAChB,CAAC;YACD,OAAO,CACL,uBAAC,4BAAoB,IAEnB,IAAI,EAAE,YAAY,EAClB,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,GAAG,EAAE,IAAI,CAAC,GAAG,IANR,IAAI,CAAC,EAAE,CAOZ,CACH,CAAA;QACH,CAAC;QAED,IACE,IAAI,CAAC,UAAU,KAAK,gCAAwB,CAAC,KAAK;YAClD,IAAI,CAAC,WAAW,EAChB,CAAC;YACD,OAAO,CACL,uBAAC,4BAAoB,IAEnB,IAAI,EAAE,YAAY,EAClB,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,GAAG,EAAE,IAAI,CAAC,GAAG,IANR,IAAI,CAAC,EAAE,CAOZ,CACH,CAAA;QACH,CAAC;QAED,IACE,IAAI,CAAC,UAAU,KAAK,gCAAwB,CAAC,QAAQ;YACrD,IAAI,CAAC,cAAc,EACnB,CAAC;YACD,OAAO,CACL,uBAAC,4BAAoB,IAEnB,IAAI,EAAE,YAAY,EAClB,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,GAAG,EAAE,IAAI,CAAC,GAAG,IANR,IAAI,CAAC,EAAE,CAOZ,CACH,CAAA;QACH,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,KAAK,gCAAwB,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACrE,OAAO,CACL,uBAAC,4BAAoB,IAEnB,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,GAAG,EAAE,IAAI,CAAC,GAAG,IANR,IAAI,CAAC,EAAE,CAOZ,CACH,CAAA;QACH,CAAC;QAED,OAAO,CACL,uBAAC,4BAAoB,IAEnB,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,GAAG,EAAE,IAAI,CAAC,GAAG,IAJR,IAAI,CAAC,EAAE,CAKZ,CACH,CAAA;IACH,CAAC;CACF;AAzMD,oEAyMC"}
@@ -11,6 +11,7 @@ export interface HtWebviewNode extends HtBaseNode {
11
11
  webview_target_id: string;
12
12
  webview_name: string;
13
13
  webview_component_name: string;
14
+ webview_params: Record<string, string>;
14
15
  exits: HtWebviewExits[];
15
16
  };
16
17
  }
@@ -17,10 +17,10 @@ import { FlowText } from './flow-text';
17
17
  import { FlowVideo } from './flow-video';
18
18
  import { FlowWhatsappCtaUrlButtonNode } from './flow-whatsapp-cta-url-button';
19
19
  import { FlowWhatsappTemplate } from './flow-whatsapp-template';
20
- import { FlowWhatsappButtonList } from './whatsapp-button-list/flow-whatsapp-button-list';
20
+ import { FlowWhatsappButtonList, FlowWhatsappButtonListRow, FlowWhatsappButtonListSection } from './whatsapp-button-list';
21
21
  export { ContentFieldsBase } from './content-fields-base';
22
22
  export { FlowButton } from './flow-button';
23
23
  export { FlowElement } from './flow-element';
24
- export { FlowAiAgentRouter, FlowAiAgent, FlowBotAction, FlowCaptureUserInput, FlowCarousel, FlowChannelConditional, FlowCountryConditional, FlowCustomConditional, FlowGoToFlow, FlowHandoff, FlowImage, FlowKnowledgeBase, FlowQueueStatusConditional, FlowRating, FlowText, FlowVideo, FlowWhatsappButtonList, FlowWhatsappCtaUrlButtonNode, FlowWhatsappTemplate, FlowCustomConditionalV2, };
24
+ export { FlowAiAgentRouter, FlowAiAgent, FlowBotAction, FlowCaptureUserInput, FlowCarousel, FlowChannelConditional, FlowCountryConditional, FlowCustomConditional, FlowGoToFlow, FlowHandoff, FlowImage, FlowKnowledgeBase, FlowQueueStatusConditional, FlowRating, FlowText, FlowVideo, FlowWhatsappButtonList, FlowWhatsappButtonListRow, FlowWhatsappButtonListSection, FlowWhatsappCtaUrlButtonNode, FlowWhatsappTemplate, FlowCustomConditionalV2, };
25
25
  export type FlowContent = FlowCarousel | FlowImage | FlowText | FlowVideo | FlowWhatsappButtonList | FlowWhatsappCtaUrlButtonNode | FlowWhatsappTemplate | FlowHandoff | FlowKnowledgeBase | FlowBotAction | FlowAiAgent | FlowRating | FlowCountryConditional | FlowChannelConditional | FlowQueueStatusConditional | FlowCustomConditional | FlowGoToFlow | FlowCaptureUserInput | FlowAiAgentRouter | FlowCustomConditionalV2;
26
26
  export { DISABLED_MEMORY_LENGTH };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DISABLED_MEMORY_LENGTH = exports.FlowCustomConditionalV2 = exports.FlowWhatsappTemplate = exports.FlowWhatsappCtaUrlButtonNode = exports.FlowWhatsappButtonList = exports.FlowVideo = exports.FlowText = exports.FlowRating = exports.FlowQueueStatusConditional = exports.FlowKnowledgeBase = exports.FlowImage = exports.FlowHandoff = exports.FlowGoToFlow = exports.FlowCustomConditional = exports.FlowCountryConditional = exports.FlowChannelConditional = exports.FlowCarousel = exports.FlowCaptureUserInput = exports.FlowBotAction = exports.FlowAiAgent = exports.FlowAiAgentRouter = exports.FlowElement = exports.FlowButton = exports.ContentFieldsBase = void 0;
3
+ exports.DISABLED_MEMORY_LENGTH = exports.FlowCustomConditionalV2 = exports.FlowWhatsappTemplate = exports.FlowWhatsappCtaUrlButtonNode = exports.FlowWhatsappButtonListSection = exports.FlowWhatsappButtonListRow = exports.FlowWhatsappButtonList = exports.FlowVideo = exports.FlowText = exports.FlowRating = exports.FlowQueueStatusConditional = exports.FlowKnowledgeBase = exports.FlowImage = exports.FlowHandoff = exports.FlowGoToFlow = exports.FlowCustomConditional = exports.FlowCountryConditional = exports.FlowChannelConditional = exports.FlowCarousel = exports.FlowCaptureUserInput = exports.FlowBotAction = exports.FlowAiAgent = exports.FlowAiAgentRouter = exports.FlowElement = exports.FlowButton = exports.ContentFieldsBase = void 0;
4
4
  const flow_custom_condition_v2_1 = require("./custom-conditional/flow-custom-condition-v2");
5
5
  Object.defineProperty(exports, "FlowCustomConditionalV2", { enumerable: true, get: function () { return flow_custom_condition_v2_1.FlowCustomConditionalV2; } });
6
6
  const flow_ai_agent_1 = require("./flow-ai-agent");
@@ -40,8 +40,10 @@ const flow_whatsapp_cta_url_button_1 = require("./flow-whatsapp-cta-url-button")
40
40
  Object.defineProperty(exports, "FlowWhatsappCtaUrlButtonNode", { enumerable: true, get: function () { return flow_whatsapp_cta_url_button_1.FlowWhatsappCtaUrlButtonNode; } });
41
41
  const flow_whatsapp_template_1 = require("./flow-whatsapp-template");
42
42
  Object.defineProperty(exports, "FlowWhatsappTemplate", { enumerable: true, get: function () { return flow_whatsapp_template_1.FlowWhatsappTemplate; } });
43
- const flow_whatsapp_button_list_1 = require("./whatsapp-button-list/flow-whatsapp-button-list");
44
- Object.defineProperty(exports, "FlowWhatsappButtonList", { enumerable: true, get: function () { return flow_whatsapp_button_list_1.FlowWhatsappButtonList; } });
43
+ const whatsapp_button_list_1 = require("./whatsapp-button-list");
44
+ Object.defineProperty(exports, "FlowWhatsappButtonList", { enumerable: true, get: function () { return whatsapp_button_list_1.FlowWhatsappButtonList; } });
45
+ Object.defineProperty(exports, "FlowWhatsappButtonListRow", { enumerable: true, get: function () { return whatsapp_button_list_1.FlowWhatsappButtonListRow; } });
46
+ Object.defineProperty(exports, "FlowWhatsappButtonListSection", { enumerable: true, get: function () { return whatsapp_button_list_1.FlowWhatsappButtonListSection; } });
45
47
  var content_fields_base_1 = require("./content-fields-base");
46
48
  Object.defineProperty(exports, "ContentFieldsBase", { enumerable: true, get: function () { return content_fields_base_1.ContentFieldsBase; } });
47
49
  var flow_button_1 = require("./flow-button");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/content-fields/index.ts"],"names":[],"mappings":";;;AAAA,4FAAuF;AA+CrF,wGA/CO,kDAAuB,OA+CP;AA9CzB,mDAA6C;AA4B3C,4FA5BO,2BAAW,OA4BP;AA3Bb,iEAA0D;AA0BxD,kGA1BO,wCAAiB,OA0BP;AAzBnB,uDAAiD;AA2B/C,8FA3BO,+BAAa,OA2BP;AA1Bf,uEAAgE;AA2B9D,qGA3BO,8CAAoB,OA2BP;AA1BtB,mDAA8C;AA2B5C,6FA3BO,4BAAY,OA2BP;AA1Bd,yEAAmE;AA2BjE,uGA3BO,iDAAsB,OA2BP;AA1BxB,yEAAmE;AA2BjE,uGA3BO,iDAAsB,OA2BP;AA1BxB,uEAAiE;AA2B/D,sGA3BO,+CAAqB,OA2BP;AA1BvB,uDAAgD;AA2B9C,6FA3BO,8BAAY,OA2BP;AA1Bd,iDAA4C;AA2B1C,4FA3BO,0BAAW,OA2BP;AA1Bb,6CAAwC;AA2BtC,0FA3BO,sBAAS,OA2BP;AA1BX,+DAG8B;AAyDrB,uGA3DP,4CAAsB,OA2DO;AAjC7B,kGAzBA,uCAAiB,OAyBA;AAvBnB,mFAA4E;AAwB1E,2GAxBO,0DAA0B,OAwBP;AAvB5B,+CAA0C;AAwBxC,2FAxBO,wBAAU,OAwBP;AAvBZ,2CAAsC;AAwBpC,yFAxBO,oBAAQ,OAwBP;AAvBV,6CAAwC;AAwBtC,0FAxBO,sBAAS,OAwBP;AAvBX,iFAA6E;AAyB3E,6GAzBO,2DAA4B,OAyBP;AAxB9B,qEAA+D;AAyB7D,qGAzBO,6CAAoB,OAyBP;AAxBtB,gGAAyF;AAsBvF,uGAtBO,kDAAsB,OAsBP;AApBxB,6DAAyD;AAAhD,wHAAA,iBAAiB,OAAA;AAC1B,6CAA0C;AAAjC,yGAAA,UAAU,OAAA;AACnB,+CAA4C;AAAnC,2GAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/content-fields/index.ts"],"names":[],"mappings":";;;AAAA,4FAAuF;AAqDrF,wGArDO,kDAAuB,OAqDP;AApDzB,mDAA6C;AAgC3C,4FAhCO,2BAAW,OAgCP;AA/Bb,iEAA0D;AA8BxD,kGA9BO,wCAAiB,OA8BP;AA7BnB,uDAAiD;AA+B/C,8FA/BO,+BAAa,OA+BP;AA9Bf,uEAAgE;AA+B9D,qGA/BO,8CAAoB,OA+BP;AA9BtB,mDAA8C;AA+B5C,6FA/BO,4BAAY,OA+BP;AA9Bd,yEAAmE;AA+BjE,uGA/BO,iDAAsB,OA+BP;AA9BxB,yEAAmE;AA+BjE,uGA/BO,iDAAsB,OA+BP;AA9BxB,uEAAiE;AA+B/D,sGA/BO,+CAAqB,OA+BP;AA9BvB,uDAAgD;AA+B9C,6FA/BO,8BAAY,OA+BP;AA9Bd,iDAA4C;AA+B1C,4FA/BO,0BAAW,OA+BP;AA9Bb,6CAAwC;AA+BtC,0FA/BO,sBAAS,OA+BP;AA9BX,+DAG8B;AA+DrB,uGAjEP,4CAAsB,OAiEO;AAnC7B,kGA7BA,uCAAiB,OA6BA;AA3BnB,mFAA4E;AA4B1E,2GA5BO,0DAA0B,OA4BP;AA3B5B,+CAA0C;AA4BxC,2FA5BO,wBAAU,OA4BP;AA3BZ,2CAAsC;AA4BpC,yFA5BO,oBAAQ,OA4BP;AA3BV,6CAAwC;AA4BtC,0FA5BO,sBAAS,OA4BP;AA3BX,iFAA6E;AA+B3E,6GA/BO,2DAA4B,OA+BP;AA9B9B,qEAA+D;AA+B7D,qGA/BO,6CAAoB,OA+BP;AA9BtB,iEAI+B;AAsB7B,uGAzBA,6CAAsB,OAyBA;AACtB,0GAzBA,gDAAyB,OAyBA;AACzB,8GAzBA,oDAA6B,OAyBA;AAtB/B,6DAAyD;AAAhD,wHAAA,iBAAiB,OAAA;AAC1B,6CAA0C;AAAjC,yGAAA,UAAU,OAAA;AACnB,+CAA4C;AAAnC,2GAAA,WAAW,OAAA"}
@@ -13,17 +13,17 @@ class FlowFactory {
13
13
  async getFlowContent(hubtypeContent) {
14
14
  switch (hubtypeContent.type) {
15
15
  case hubtype_fields_1.HtNodeWithContentType.TEXT:
16
- return content_fields_1.FlowText.fromHubtypeCMS(hubtypeContent, this.locale, this.cmsApi);
16
+ return content_fields_1.FlowText.fromHubtypeCMS(hubtypeContent, this.locale, this.cmsApi, this.botContext);
17
17
  case hubtype_fields_1.HtNodeWithContentType.IMAGE:
18
18
  return content_fields_1.FlowImage.fromHubtypeCMS(hubtypeContent, this.locale);
19
19
  case hubtype_fields_1.HtNodeWithContentType.CAROUSEL:
20
- return content_fields_1.FlowCarousel.fromHubtypeCMS(hubtypeContent, this.locale, this.cmsApi);
20
+ return content_fields_1.FlowCarousel.fromHubtypeCMS(hubtypeContent, this.locale, this.cmsApi, this.botContext);
21
21
  case hubtype_fields_1.HtNodeWithContentType.VIDEO:
22
22
  return content_fields_1.FlowVideo.fromHubtypeCMS(hubtypeContent, this.locale);
23
23
  case hubtype_fields_1.HtNodeWithContentType.WHATSAPP_BUTTON_LIST:
24
24
  return content_fields_1.FlowWhatsappButtonList.fromHubtypeCMS(hubtypeContent, this.locale, this.cmsApi);
25
25
  case hubtype_fields_1.HtNodeWithContentType.WHATSAPP_CTA_URL_BUTTON:
26
- return content_fields_1.FlowWhatsappCtaUrlButtonNode.fromHubtypeCMS(hubtypeContent, this.locale, this.cmsApi);
26
+ return content_fields_1.FlowWhatsappCtaUrlButtonNode.fromHubtypeCMS(hubtypeContent, this.locale, this.cmsApi, this.botContext);
27
27
  case hubtype_fields_1.HtNodeWithContentType.HANDOFF:
28
28
  return content_fields_1.FlowHandoff.fromHubtypeCMS(hubtypeContent, this.locale, this.cmsApi);
29
29
  case hubtype_fields_1.HtNodeWithContentType.KNOWLEDGE_BASE:
@@ -1 +1 @@
1
- {"version":3,"file":"flow-factory.js","sourceRoot":"","sources":["../../src/flow-factory.ts"],"names":[],"mappings":";;;AAGA,qDAqByB;AACzB,sFAA+E;AAC/E,oEAIwC;AAExC,MAAa,WAAW;IAKtB,YAAY,UAAsB,EAAE,MAAsB,EAAE,MAAc;QACxE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,cAA+B;QAE/B,QAAQ,cAAc,CAAC,IAAI,EAAE,CAAC;YAC5B,KAAK,sCAAqB,CAAC,IAAI;gBAC7B,OAAO,yBAAQ,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;YAC1E,KAAK,sCAAqB,CAAC,KAAK;gBAC9B,OAAO,0BAAS,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;YAC9D,KAAK,sCAAqB,CAAC,QAAQ;gBACjC,OAAO,6BAAY,CAAC,cAAc,CAChC,cAAc,EACd,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,CACZ,CAAA;YACH,KAAK,sCAAqB,CAAC,KAAK;gBAC9B,OAAO,0BAAS,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;YAC9D,KAAK,sCAAqB,CAAC,oBAAoB;gBAC7C,OAAO,uCAAsB,CAAC,cAAc,CAC1C,cAAc,EACd,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,CACZ,CAAA;YACH,KAAK,sCAAqB,CAAC,uBAAuB;gBAChD,OAAO,6CAA4B,CAAC,cAAc,CAChD,cAAc,EACd,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,CACZ,CAAA;YACH,KAAK,sCAAqB,CAAC,OAAO;gBAChC,OAAO,4BAAW,CAAC,cAAc,CAC/B,cAAc,EACd,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,CACZ,CAAA;YAEH,KAAK,sCAAqB,CAAC,cAAc;gBACvC,OAAO,kCAAiB,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;YAEzD,KAAK,sCAAqB,CAAC,eAAe;gBACxC,OAAO,kCAAiB,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;YAE1E,KAAK,sCAAqB,CAAC,QAAQ;gBACjC,OAAO,4BAAW,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;YAEpE,KAAK,sCAAqB,CAAC,MAAM;gBAC/B,OAAO,2BAAU,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;YAE/D,KAAK,sCAAqB,CAAC,UAAU;gBACnC,OAAO,8BAAa,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;YAElE,KAAK,sCAAqB,CAAC,QAAQ;gBACjC,OAAO,IAAI,CAAC,0BAA0B,CAAC,cAAc,CAAC,CAAA;YAExD,KAAK,sCAAqB,CAAC,UAAU;gBACnC,OAAO,6BAAY,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;YAEjE,KAAK,sCAAqB,CAAC,iBAAiB;gBAC1C,OAAO,qCAAoB,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;YAEzE,KAAK,sCAAqB,CAAC,kBAAkB;gBAC3C,OAAO,8CAAoB,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;YAE5D,KAAK,sCAAqB,CAAC,gBAAgB;gBACzC,OAAO,wCAAuB,CAAC,cAAc,CAC3C,cAAc,EACd,IAAI,CAAC,UAAU,CAChB,CAAA;YAEH;gBACE,OAAO,SAAS,CAAA;QACpB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,0BAA0B,CACtC,cAA8B;QAE9B,QAAQ,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACtC,KAAK,eAAe;gBAClB,OAAO,uCAAsB,CAAC,cAAc,CAC1C,cAAc,EACd,IAAI,CAAC,UAAU,CAChB,CAAA;YACH,KAAK,kBAAkB;gBACrB,OAAO,uCAAsB,CAAC,cAAc,CAC1C,cAAc,EACd,IAAI,CAAC,UAAU,CAChB,CAAA;YACH,KAAK,oBAAoB;gBACvB,OAAO,2CAA0B,CAAC,cAAc,CAC9C,cAAc,EACd,IAAI,CAAC,MAAM,CACZ,CAAA;YACH,KAAK,oBAAoB;gBACvB,OAAO,sCAAqB,CAAC,cAAc,CACzC,cAAc,EACd,IAAI,CAAC,UAAU,CAChB,CAAA;YACH;gBACE,OAAO,SAAS,CAAA;QACpB,CAAC;IACH,CAAC;CACF;AAhHD,kCAgHC"}
1
+ {"version":3,"file":"flow-factory.js","sourceRoot":"","sources":["../../src/flow-factory.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@botonic/plugin-flow-builder",
3
- "version": "0.51.1",
3
+ "version": "0.52.0-alpha.0",
4
4
  "main": "./lib/cjs/index.js",
5
5
  "module": "./lib/esm/index.js",
6
6
  "description": "Use Flow Builder to show your contents",
@@ -15,7 +15,7 @@
15
15
  "format": "biome format --write src/ tests/"
16
16
  },
17
17
  "dependencies": {
18
- "@botonic/react": "^0.51.0",
18
+ "@botonic/react": "^0.52.0-alpha.0",
19
19
  "axios": "^1.15.2",
20
20
  "uuid": "^10.0.0"
21
21
  },
@@ -8,7 +8,6 @@ import { FlowWebview } from './flow-webview'
8
8
  import {
9
9
  type HtButton,
10
10
  HtButtonStyle,
11
- type HtNodeWithContent,
12
11
  HtNodeWithContentType,
13
12
  type HtUrlNode,
14
13
  } from './hubtype-fields'
@@ -26,7 +25,8 @@ export class FlowButton extends ContentFieldsBase {
26
25
  static fromHubtypeCMS(
27
26
  cmsButton: HtButton,
28
27
  locale: string,
29
- cmsApi: FlowBuilderApi
28
+ cmsApi: FlowBuilderApi,
29
+ botContext: BotContext
30
30
  ): FlowButton {
31
31
  const urlId = FlowButton.getUrlId(cmsButton, locale)
32
32
 
@@ -36,9 +36,8 @@ export class FlowButton extends ContentFieldsBase {
36
36
  const webview = FlowButton.getTargetWebview(cmsApi, cmsButton.target.id)
37
37
  if (webview) {
38
38
  newButton.flowWebview = webview
39
- const params = FlowButton.getWebviewParams(webview, cmsApi)
40
39
  newButton.webview = { name: webview.webviewComponentName }
41
- newButton.params = params
40
+ newButton.params = webview.getParams(botContext, cmsApi)
42
41
  } else {
43
42
  newButton.payload = cmsApi.getPayload(cmsButton.target)
44
43
  }
@@ -52,42 +51,6 @@ export class FlowButton extends ContentFieldsBase {
52
51
  return newButton
53
52
  }
54
53
 
55
- private static getWebviewParams(
56
- webview: FlowWebview,
57
- cmsApi: FlowBuilderApi
58
- ) {
59
- const params: Record<string, string> = {
60
- webviewId: webview.webviewTargetId,
61
- t: Date.now().toString(),
62
- }
63
- const exitSuccessContentID = FlowButton.getExitSuccessContentID(
64
- webview,
65
- cmsApi
66
- )
67
-
68
- if (exitSuccessContentID) {
69
- params.exitSuccessContentID = exitSuccessContentID
70
- }
71
-
72
- return params
73
- }
74
-
75
- private static getExitSuccessContentID(
76
- webview: FlowWebview,
77
- cmsApi: FlowBuilderApi
78
- ) {
79
- const webviewSuccessExit = webview.exits?.find(
80
- exit => exit.name === 'Success'
81
- )
82
- const exitSuccessId = webviewSuccessExit?.target?.id
83
- if (!exitSuccessId) {
84
- return undefined
85
- }
86
- const exitNode = cmsApi.getNodeById<HtNodeWithContent>(exitSuccessId)
87
-
88
- return exitNode.code
89
- }
90
-
91
54
  static fromAIAgent(button: {
92
55
  id: string
93
56
  text: string
@@ -30,12 +30,13 @@ export class FlowCarousel extends ContentFieldsBase {
30
30
  static fromHubtypeCMS(
31
31
  component: HtCarouselNode,
32
32
  locale: string,
33
- cmsApi: FlowBuilderApi
33
+ cmsApi: FlowBuilderApi,
34
+ botContext: BotContext
34
35
  ): FlowCarousel {
35
36
  const newCarousel = new FlowCarousel(component.id)
36
37
  newCarousel.code = component.code
37
38
  newCarousel.elements = component.content.elements.map(element =>
38
- FlowElement.fromHubtypeCMS(element, locale, cmsApi)
39
+ FlowElement.fromHubtypeCMS(element, locale, cmsApi, botContext)
39
40
  )
40
41
  newCarousel.whatsappText = FlowCarousel.getTextByLocale(
41
42
  locale,
@@ -16,7 +16,8 @@ export class FlowElement extends ContentFieldsBase {
16
16
  static fromHubtypeCMS(
17
17
  component: HtCarouselElement,
18
18
  locale: string,
19
- cmsApi: FlowBuilderApi
19
+ cmsApi: FlowBuilderApi,
20
+ botContext: BotContext
20
21
  ): FlowElement {
21
22
  const newElement = new FlowElement(component.id)
22
23
  newElement.title = FlowElement.getTextByLocale(locale, component.title)
@@ -28,7 +29,8 @@ export class FlowElement extends ContentFieldsBase {
28
29
  newElement.button = FlowButton.fromHubtypeCMS(
29
30
  component.button,
30
31
  locale,
31
- cmsApi
32
+ cmsApi,
33
+ botContext
32
34
  )
33
35
  return newElement
34
36
  }
@@ -21,14 +21,15 @@ export class FlowText extends ContentFieldsBase {
21
21
  static fromHubtypeCMS(
22
22
  cmsText: HtTextNode,
23
23
  locale: string,
24
- cmsApi: FlowBuilderApi
24
+ cmsApi: FlowBuilderApi,
25
+ botContext: BotContext
25
26
  ): FlowText {
26
27
  const newText = new FlowText(cmsText.id)
27
28
  newText.code = cmsText.code
28
29
  newText.buttonStyle = cmsText.content.buttons_style || HtButtonStyle.BUTTON
29
30
  newText.text = FlowText.getTextByLocale(locale, cmsText.content.text)
30
31
  newText.buttons = cmsText.content.buttons.map(button =>
31
- FlowButton.fromHubtypeCMS(button, locale, cmsApi)
32
+ FlowButton.fromHubtypeCMS(button, locale, cmsApi, botContext)
32
33
  )
33
34
  newText.followUp = cmsText.follow_up
34
35
 
@@ -4,17 +4,23 @@ import {
4
4
  type EventWebviewActionTriggered,
5
5
  } from '@botonic/core'
6
6
 
7
+ import type { FlowBuilderApi } from '../api'
7
8
  import {
8
9
  getCommonFlowContentEventArgsForContentId,
9
10
  trackEvent,
10
11
  } from '../tracking'
11
12
  import { ContentFieldsBase } from './content-fields-base'
12
- import type { HtWebviewExits, HtWebviewNode } from './hubtype-fields'
13
+ import type {
14
+ HtNodeWithContent,
15
+ HtWebviewExits,
16
+ HtWebviewNode,
17
+ } from './hubtype-fields'
13
18
 
14
19
  export class FlowWebview extends ContentFieldsBase {
15
20
  public webviewTargetId: string = ''
16
21
  public webviewName: string = ''
17
22
  public webviewComponentName: string = ''
23
+ public webviewParams: Record<string, string> = {}
18
24
  public exits: HtWebviewExits[] = []
19
25
 
20
26
  static fromHubtypeCMS(component: HtWebviewNode): FlowWebview {
@@ -22,12 +28,52 @@ export class FlowWebview extends ContentFieldsBase {
22
28
  newWebview.webviewTargetId = component.content.webview_target_id
23
29
  newWebview.webviewName = component.content.webview_name
24
30
  newWebview.webviewComponentName = component.content.webview_component_name
31
+ newWebview.webviewParams = component.content.webview_params ?? {}
25
32
  newWebview.exits = component.content.exits
26
33
  newWebview.followUp = component.follow_up
27
34
 
28
35
  return newWebview
29
36
  }
30
37
 
38
+ getParams(
39
+ botContext: BotContext,
40
+ cmsApi: FlowBuilderApi
41
+ ): Record<string, string> {
42
+ const params: Record<string, string> = {
43
+ webviewId: this.webviewTargetId,
44
+ t: Date.now().toString(),
45
+ ...this.getResolvedWebviewParams(botContext),
46
+ }
47
+ const exitSuccessContentID = this.getExitSuccessContentID(cmsApi)
48
+
49
+ if (exitSuccessContentID) {
50
+ params.exitSuccessContentID = exitSuccessContentID
51
+ }
52
+ return params
53
+ }
54
+
55
+ private getResolvedWebviewParams(
56
+ botContext: BotContext
57
+ ): Record<string, string> {
58
+ return Object.fromEntries(
59
+ Object.entries(this.webviewParams).map(([key, value]) => [
60
+ key,
61
+ this.replaceVariables(value, botContext),
62
+ ])
63
+ )
64
+ }
65
+
66
+ private getExitSuccessContentID(cmsApi: FlowBuilderApi): string | undefined {
67
+ const webviewSuccessExit = this.exits?.find(exit => exit.name === 'Success')
68
+ const exitSuccessId = webviewSuccessExit?.target?.id
69
+ if (!exitSuccessId) {
70
+ return undefined
71
+ }
72
+ const exitNode = cmsApi.getNodeById<HtNodeWithContent>(exitSuccessId)
73
+
74
+ return exitNode.code
75
+ }
76
+
31
77
  async trackFlow(botContext: BotContext): Promise<void> {
32
78
  const { flowThreadId, flowId, flowName, flowNodeId, flowNodeContentId } =
33
79
  getCommonFlowContentEventArgsForContentId(botContext, this.id)
@@ -26,7 +26,8 @@ export class FlowWhatsappCtaUrlButtonNode extends ContentFieldsBase {
26
26
  static fromHubtypeCMS(
27
27
  component: HtWhatsappCTAUrlButtonNode,
28
28
  locale: string,
29
- cmsApi: FlowBuilderApi
29
+ cmsApi: FlowBuilderApi,
30
+ botContext: BotContext
30
31
  ): FlowWhatsappCtaUrlButtonNode {
31
32
  const whatsappCtaUrlButton = new FlowWhatsappCtaUrlButtonNode(component.id)
32
33
  whatsappCtaUrlButton.code = component.code
@@ -46,7 +47,8 @@ export class FlowWhatsappCtaUrlButtonNode extends ContentFieldsBase {
46
47
  const button = FlowButton.fromHubtypeCMS(
47
48
  component.content.button,
48
49
  locale,
49
- cmsApi
50
+ cmsApi,
51
+ botContext
50
52
  )
51
53
  whatsappCtaUrlButton.displayText = button.text
52
54
  const urlId = FlowButton.getUrlId(component.content.button, locale)
@@ -13,6 +13,7 @@ export interface HtWebviewNode extends HtBaseNode {
13
13
  webview_target_id: string
14
14
  webview_name: string
15
15
  webview_component_name: string
16
+ webview_params: Record<string, string>
16
17
  exits: HtWebviewExits[]
17
18
  }
18
19
  }
@@ -20,7 +20,11 @@ import { FlowText } from './flow-text'
20
20
  import { FlowVideo } from './flow-video'
21
21
  import { FlowWhatsappCtaUrlButtonNode } from './flow-whatsapp-cta-url-button'
22
22
  import { FlowWhatsappTemplate } from './flow-whatsapp-template'
23
- import { FlowWhatsappButtonList } from './whatsapp-button-list/flow-whatsapp-button-list'
23
+ import {
24
+ FlowWhatsappButtonList,
25
+ FlowWhatsappButtonListRow,
26
+ FlowWhatsappButtonListSection,
27
+ } from './whatsapp-button-list'
24
28
 
25
29
  export { ContentFieldsBase } from './content-fields-base'
26
30
  export { FlowButton } from './flow-button'
@@ -43,6 +47,8 @@ export {
43
47
  FlowText,
44
48
  FlowVideo,
45
49
  FlowWhatsappButtonList,
50
+ FlowWhatsappButtonListRow,
51
+ FlowWhatsappButtonListSection,
46
52
  FlowWhatsappCtaUrlButtonNode,
47
53
  FlowWhatsappTemplate,
48
54
  FlowCustomConditionalV2,
@@ -46,14 +46,20 @@ export class FlowFactory {
46
46
  ): Promise<FlowContent | undefined> {
47
47
  switch (hubtypeContent.type) {
48
48
  case HtNodeWithContentType.TEXT:
49
- return FlowText.fromHubtypeCMS(hubtypeContent, this.locale, this.cmsApi)
49
+ return FlowText.fromHubtypeCMS(
50
+ hubtypeContent,
51
+ this.locale,
52
+ this.cmsApi,
53
+ this.botContext
54
+ )
50
55
  case HtNodeWithContentType.IMAGE:
51
56
  return FlowImage.fromHubtypeCMS(hubtypeContent, this.locale)
52
57
  case HtNodeWithContentType.CAROUSEL:
53
58
  return FlowCarousel.fromHubtypeCMS(
54
59
  hubtypeContent,
55
60
  this.locale,
56
- this.cmsApi
61
+ this.cmsApi,
62
+ this.botContext
57
63
  )
58
64
  case HtNodeWithContentType.VIDEO:
59
65
  return FlowVideo.fromHubtypeCMS(hubtypeContent, this.locale)
@@ -67,7 +73,8 @@ export class FlowFactory {
67
73
  return FlowWhatsappCtaUrlButtonNode.fromHubtypeCMS(
68
74
  hubtypeContent,
69
75
  this.locale,
70
- this.cmsApi
76
+ this.cmsApi,
77
+ this.botContext
71
78
  )
72
79
  case HtNodeWithContentType.HANDOFF:
73
80
  return FlowHandoff.fromHubtypeCMS(