@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.
- package/lib/cjs/content-fields/flow-button.d.ts +1 -3
- package/lib/cjs/content-fields/flow-button.js +2 -23
- package/lib/cjs/content-fields/flow-button.js.map +1 -1
- package/lib/cjs/content-fields/flow-carousel.d.ts +1 -1
- package/lib/cjs/content-fields/flow-carousel.js +2 -2
- package/lib/cjs/content-fields/flow-carousel.js.map +1 -1
- package/lib/cjs/content-fields/flow-element.d.ts +1 -1
- package/lib/cjs/content-fields/flow-element.js +2 -2
- package/lib/cjs/content-fields/flow-element.js.map +1 -1
- package/lib/cjs/content-fields/flow-text.d.ts +1 -1
- package/lib/cjs/content-fields/flow-text.js +2 -2
- package/lib/cjs/content-fields/flow-text.js.map +1 -1
- package/lib/cjs/content-fields/flow-webview.d.ts +5 -0
- package/lib/cjs/content-fields/flow-webview.js +29 -0
- package/lib/cjs/content-fields/flow-webview.js.map +1 -1
- package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.d.ts +1 -1
- package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.js +2 -2
- package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.js.map +1 -1
- package/lib/cjs/content-fields/hubtype-fields/webview.d.ts +1 -0
- package/lib/cjs/content-fields/index.d.ts +2 -2
- package/lib/cjs/content-fields/index.js +5 -3
- package/lib/cjs/content-fields/index.js.map +1 -1
- package/lib/cjs/flow-factory.js +3 -3
- package/lib/cjs/flow-factory.js.map +1 -1
- package/lib/esm/content-fields/flow-button.d.ts +1 -3
- package/lib/esm/content-fields/flow-button.js +2 -23
- package/lib/esm/content-fields/flow-button.js.map +1 -1
- package/lib/esm/content-fields/flow-carousel.d.ts +1 -1
- package/lib/esm/content-fields/flow-carousel.js +2 -2
- package/lib/esm/content-fields/flow-carousel.js.map +1 -1
- package/lib/esm/content-fields/flow-element.d.ts +1 -1
- package/lib/esm/content-fields/flow-element.js +2 -2
- package/lib/esm/content-fields/flow-element.js.map +1 -1
- package/lib/esm/content-fields/flow-text.d.ts +1 -1
- package/lib/esm/content-fields/flow-text.js +2 -2
- package/lib/esm/content-fields/flow-text.js.map +1 -1
- package/lib/esm/content-fields/flow-webview.d.ts +5 -0
- package/lib/esm/content-fields/flow-webview.js +29 -0
- package/lib/esm/content-fields/flow-webview.js.map +1 -1
- package/lib/esm/content-fields/flow-whatsapp-cta-url-button.d.ts +1 -1
- package/lib/esm/content-fields/flow-whatsapp-cta-url-button.js +2 -2
- package/lib/esm/content-fields/flow-whatsapp-cta-url-button.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/webview.d.ts +1 -0
- package/lib/esm/content-fields/index.d.ts +2 -2
- package/lib/esm/content-fields/index.js +5 -3
- package/lib/esm/content-fields/index.js.map +1 -1
- package/lib/esm/flow-factory.js +3 -3
- package/lib/esm/flow-factory.js.map +1 -1
- package/package.json +2 -2
- package/src/content-fields/flow-button.tsx +3 -40
- package/src/content-fields/flow-carousel.tsx +3 -2
- package/src/content-fields/flow-element.tsx +4 -2
- package/src/content-fields/flow-text.tsx +3 -2
- package/src/content-fields/flow-webview.tsx +47 -1
- package/src/content-fields/flow-whatsapp-cta-url-button.tsx +4 -2
- package/src/content-fields/hubtype-fields/webview.ts +1 -0
- package/src/content-fields/index.ts +7 -1
- 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;
|
|
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":";;;;AAMA,0CAAqC;AAGrC,4CAAmE;AACnE,0CAA6C;AAC7C,+DAAyD;AACzD,+CAA0C;AAC1C,qDAAiE;AAEjE,MAAa,QAAS,SAAQ,uCAAiB;IAA/C;;QACS,SAAI,GAAG,EAAE,CAAA;QACT,YAAO,GAAiB,EAAE,CAAA;QAC1B,gBAAW,GAAG,8BAAa,CAAC,MAAM,CAAA;
|
|
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;
|
|
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":";;;;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;
|
|
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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"}
|
|
@@ -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
|
|
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
|
|
44
|
-
Object.defineProperty(exports, "FlowWhatsappButtonList", { enumerable: true, get: function () { return
|
|
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;
|
|
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"}
|
package/lib/esm/flow-factory.js
CHANGED
|
@@ -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,
|
|
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.
|
|
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.
|
|
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 =
|
|
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 {
|
|
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)
|
|
@@ -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 {
|
|
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,
|
package/src/flow-factory.ts
CHANGED
|
@@ -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(
|
|
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(
|