@botonic/plugin-flow-builder 0.22.0-beta.3 → 0.22.1
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/action.d.ts +16 -2
- package/lib/cjs/action.js +21 -19
- package/lib/cjs/action.js.map +1 -1
- package/lib/cjs/api.d.ts +19 -0
- package/lib/cjs/api.js +108 -0
- package/lib/cjs/api.js.map +1 -0
- package/lib/cjs/content-fields/content-fields-base.d.ts +4 -4
- package/lib/cjs/content-fields/content-fields-base.js.map +1 -1
- package/lib/cjs/content-fields/flow-button.d.ts +6 -3
- package/lib/cjs/content-fields/flow-button.js +28 -21
- package/lib/cjs/content-fields/flow-button.js.map +1 -1
- package/lib/cjs/content-fields/flow-carousel.d.ts +3 -2
- package/lib/cjs/content-fields/flow-carousel.js +3 -10
- package/lib/cjs/content-fields/flow-carousel.js.map +1 -1
- package/lib/cjs/content-fields/flow-element.d.ts +6 -3
- package/lib/cjs/content-fields/flow-element.js +16 -5
- package/lib/cjs/content-fields/flow-element.js.map +1 -1
- package/lib/cjs/content-fields/flow-image.d.ts +2 -2
- package/lib/cjs/content-fields/flow-image.js.map +1 -1
- package/lib/cjs/content-fields/flow-text.d.ts +4 -3
- package/lib/cjs/content-fields/flow-text.js +9 -9
- package/lib/cjs/content-fields/flow-text.js.map +1 -1
- package/lib/cjs/content-fields/flow-video.d.ts +2 -2
- package/lib/cjs/content-fields/flow-video.js +0 -1
- package/lib/cjs/content-fields/flow-video.js.map +1 -1
- package/lib/cjs/content-fields/hubtype-fields/button.d.ts +9 -0
- package/lib/cjs/content-fields/hubtype-fields/button.js +3 -0
- package/lib/cjs/content-fields/hubtype-fields/button.js.map +1 -0
- package/lib/cjs/content-fields/hubtype-fields/carousel.d.ts +16 -0
- package/lib/cjs/content-fields/hubtype-fields/carousel.js +3 -0
- package/lib/cjs/content-fields/hubtype-fields/carousel.js.map +1 -0
- package/lib/cjs/content-fields/hubtype-fields/common.d.ts +55 -0
- package/lib/cjs/content-fields/hubtype-fields/common.js +3 -0
- package/lib/cjs/content-fields/hubtype-fields/common.js.map +1 -0
- package/lib/cjs/content-fields/hubtype-fields/fallback.d.ts +9 -0
- package/lib/cjs/content-fields/hubtype-fields/fallback.js +3 -0
- package/lib/cjs/content-fields/hubtype-fields/fallback.js.map +1 -0
- package/lib/cjs/content-fields/hubtype-fields/function.d.ts +28 -0
- package/lib/cjs/content-fields/hubtype-fields/function.js +10 -0
- package/lib/cjs/content-fields/hubtype-fields/function.js.map +1 -0
- package/lib/cjs/content-fields/hubtype-fields/handoff.d.ts +10 -0
- package/lib/cjs/content-fields/hubtype-fields/handoff.js +3 -0
- package/lib/cjs/content-fields/hubtype-fields/handoff.js.map +1 -0
- package/lib/cjs/content-fields/hubtype-fields/image.d.ts +8 -0
- package/lib/cjs/content-fields/{types.js → hubtype-fields/image.js} +1 -1
- package/lib/cjs/content-fields/hubtype-fields/image.js.map +1 -0
- package/lib/cjs/content-fields/hubtype-fields/index.d.ts +17 -0
- package/lib/cjs/content-fields/hubtype-fields/index.js +21 -0
- package/lib/cjs/content-fields/hubtype-fields/index.js.map +1 -0
- package/lib/cjs/content-fields/hubtype-fields/intent.d.ts +10 -0
- package/lib/cjs/content-fields/hubtype-fields/intent.js +3 -0
- package/lib/cjs/content-fields/hubtype-fields/intent.js.map +1 -0
- package/lib/cjs/content-fields/hubtype-fields/keyword.d.ts +9 -0
- package/lib/cjs/content-fields/hubtype-fields/keyword.js +3 -0
- package/lib/cjs/content-fields/hubtype-fields/keyword.js.map +1 -0
- package/lib/cjs/content-fields/hubtype-fields/node-types.d.ts +23 -0
- package/lib/cjs/content-fields/hubtype-fields/node-types.js +31 -0
- package/lib/cjs/content-fields/hubtype-fields/node-types.js.map +1 -0
- package/lib/cjs/content-fields/hubtype-fields/nodes.d.ts +16 -0
- package/lib/cjs/content-fields/hubtype-fields/nodes.js +3 -0
- package/lib/cjs/content-fields/hubtype-fields/nodes.js.map +1 -0
- package/lib/cjs/content-fields/hubtype-fields/payload.d.ts +8 -0
- package/lib/cjs/content-fields/hubtype-fields/payload.js +3 -0
- package/lib/cjs/content-fields/hubtype-fields/payload.js.map +1 -0
- package/lib/cjs/content-fields/hubtype-fields/start.d.ts +7 -0
- package/lib/cjs/content-fields/hubtype-fields/start.js +3 -0
- package/lib/cjs/content-fields/hubtype-fields/start.js.map +1 -0
- package/lib/cjs/content-fields/hubtype-fields/text.d.ts +11 -0
- package/lib/cjs/content-fields/hubtype-fields/text.js +3 -0
- package/lib/cjs/content-fields/hubtype-fields/text.js.map +1 -0
- package/lib/cjs/content-fields/hubtype-fields/url.d.ts +8 -0
- package/lib/cjs/content-fields/hubtype-fields/url.js +3 -0
- package/lib/cjs/content-fields/hubtype-fields/url.js.map +1 -0
- package/lib/cjs/content-fields/hubtype-fields/video.d.ts +8 -0
- package/lib/cjs/content-fields/hubtype-fields/video.js +3 -0
- package/lib/cjs/content-fields/hubtype-fields/video.js.map +1 -0
- package/lib/cjs/content-fields/hubtype-fields/whatsapp-button-list.d.ts +21 -0
- package/lib/cjs/content-fields/hubtype-fields/whatsapp-button-list.js +3 -0
- package/lib/cjs/content-fields/hubtype-fields/whatsapp-button-list.js.map +1 -0
- package/lib/cjs/content-fields/index.d.ts +7 -5
- package/lib/cjs/content-fields/index.js +11 -9
- package/lib/cjs/content-fields/index.js.map +1 -1
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.d.ts +10 -0
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js +32 -0
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js.map +1 -0
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.d.ts +10 -0
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +29 -0
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +1 -0
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.d.ts +12 -0
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +33 -0
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +1 -0
- package/lib/cjs/functions/conditional-provider.d.ts +2 -2
- package/lib/cjs/functions/conditional-provider.js +2 -2
- package/lib/cjs/functions/conditional-provider.js.map +1 -1
- package/lib/cjs/functions/conditional-queue-status.d.ts +7 -2
- package/lib/cjs/functions/conditional-queue-status.js +11 -1
- package/lib/cjs/functions/conditional-queue-status.js.map +1 -1
- package/lib/cjs/handoff.d.ts +2 -2
- package/lib/cjs/handoff.js +17 -9
- package/lib/cjs/handoff.js.map +1 -1
- package/lib/cjs/helpers.d.ts +2 -1
- package/lib/cjs/helpers.js +5 -13
- package/lib/cjs/helpers.js.map +1 -1
- package/lib/cjs/index.d.ts +10 -21
- package/lib/cjs/index.js +36 -151
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/types.d.ts +8 -2
- package/lib/cjs/types.js.map +1 -1
- package/lib/esm/action.d.ts +16 -2
- package/lib/esm/action.js +21 -19
- package/lib/esm/action.js.map +1 -1
- package/lib/esm/api.d.ts +19 -0
- package/lib/esm/api.js +103 -0
- package/lib/esm/api.js.map +1 -0
- package/lib/esm/content-fields/content-fields-base.d.ts +4 -4
- package/lib/esm/content-fields/content-fields-base.js.map +1 -1
- package/lib/esm/content-fields/flow-button.d.ts +6 -3
- package/lib/esm/content-fields/flow-button.js +28 -21
- package/lib/esm/content-fields/flow-button.js.map +1 -1
- package/lib/esm/content-fields/flow-carousel.d.ts +3 -2
- package/lib/esm/content-fields/flow-carousel.js +4 -11
- package/lib/esm/content-fields/flow-carousel.js.map +1 -1
- package/lib/esm/content-fields/flow-element.d.ts +6 -3
- package/lib/esm/content-fields/flow-element.js +15 -5
- package/lib/esm/content-fields/flow-element.js.map +1 -1
- package/lib/esm/content-fields/flow-image.d.ts +2 -2
- package/lib/esm/content-fields/flow-image.js.map +1 -1
- package/lib/esm/content-fields/flow-text.d.ts +4 -3
- package/lib/esm/content-fields/flow-text.js +9 -9
- package/lib/esm/content-fields/flow-text.js.map +1 -1
- package/lib/esm/content-fields/flow-video.d.ts +2 -2
- package/lib/esm/content-fields/flow-video.js +0 -1
- package/lib/esm/content-fields/flow-video.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/button.d.ts +9 -0
- package/lib/esm/content-fields/hubtype-fields/button.js +2 -0
- package/lib/esm/content-fields/hubtype-fields/button.js.map +1 -0
- package/lib/esm/content-fields/hubtype-fields/carousel.d.ts +16 -0
- package/lib/esm/content-fields/hubtype-fields/carousel.js +2 -0
- package/lib/esm/content-fields/hubtype-fields/carousel.js.map +1 -0
- package/lib/esm/content-fields/hubtype-fields/common.d.ts +55 -0
- package/lib/esm/content-fields/hubtype-fields/common.js +2 -0
- package/lib/esm/content-fields/hubtype-fields/common.js.map +1 -0
- package/lib/esm/content-fields/hubtype-fields/fallback.d.ts +9 -0
- package/lib/esm/content-fields/hubtype-fields/fallback.js +2 -0
- package/lib/esm/content-fields/hubtype-fields/fallback.js.map +1 -0
- package/lib/esm/content-fields/hubtype-fields/function.d.ts +28 -0
- package/lib/esm/content-fields/hubtype-fields/function.js +7 -0
- package/lib/esm/content-fields/hubtype-fields/function.js.map +1 -0
- package/lib/esm/content-fields/hubtype-fields/handoff.d.ts +10 -0
- package/lib/esm/content-fields/hubtype-fields/handoff.js +2 -0
- package/lib/esm/content-fields/hubtype-fields/handoff.js.map +1 -0
- package/lib/esm/content-fields/hubtype-fields/image.d.ts +8 -0
- package/lib/esm/content-fields/hubtype-fields/image.js +2 -0
- package/lib/esm/content-fields/hubtype-fields/image.js.map +1 -0
- package/lib/esm/content-fields/hubtype-fields/index.d.ts +17 -0
- package/lib/esm/content-fields/hubtype-fields/index.js +18 -0
- package/lib/esm/content-fields/hubtype-fields/index.js.map +1 -0
- package/lib/esm/content-fields/hubtype-fields/intent.d.ts +10 -0
- package/lib/esm/content-fields/hubtype-fields/intent.js +2 -0
- package/lib/esm/content-fields/hubtype-fields/intent.js.map +1 -0
- package/lib/esm/content-fields/hubtype-fields/keyword.d.ts +9 -0
- package/lib/esm/content-fields/hubtype-fields/keyword.js +2 -0
- package/lib/esm/content-fields/hubtype-fields/keyword.js.map +1 -0
- package/lib/esm/content-fields/hubtype-fields/node-types.d.ts +23 -0
- package/lib/esm/content-fields/hubtype-fields/node-types.js +28 -0
- package/lib/esm/content-fields/hubtype-fields/node-types.js.map +1 -0
- package/lib/esm/content-fields/hubtype-fields/nodes.d.ts +16 -0
- package/lib/esm/content-fields/hubtype-fields/nodes.js +2 -0
- package/lib/esm/content-fields/hubtype-fields/nodes.js.map +1 -0
- package/lib/esm/content-fields/hubtype-fields/payload.d.ts +8 -0
- package/lib/esm/content-fields/hubtype-fields/payload.js +2 -0
- package/lib/esm/content-fields/hubtype-fields/payload.js.map +1 -0
- package/lib/esm/content-fields/hubtype-fields/start.d.ts +7 -0
- package/lib/esm/content-fields/hubtype-fields/start.js +2 -0
- package/lib/esm/content-fields/hubtype-fields/start.js.map +1 -0
- package/lib/esm/content-fields/hubtype-fields/text.d.ts +11 -0
- package/lib/esm/content-fields/hubtype-fields/text.js +2 -0
- package/lib/esm/content-fields/hubtype-fields/text.js.map +1 -0
- package/lib/esm/content-fields/hubtype-fields/url.d.ts +8 -0
- package/lib/esm/content-fields/hubtype-fields/url.js +2 -0
- package/lib/esm/content-fields/hubtype-fields/url.js.map +1 -0
- package/lib/esm/content-fields/hubtype-fields/video.d.ts +8 -0
- package/lib/esm/content-fields/hubtype-fields/video.js +2 -0
- package/lib/esm/content-fields/hubtype-fields/video.js.map +1 -0
- package/lib/esm/content-fields/hubtype-fields/whatsapp-button-list.d.ts +21 -0
- package/lib/esm/content-fields/hubtype-fields/whatsapp-button-list.js +2 -0
- package/lib/esm/content-fields/hubtype-fields/whatsapp-button-list.js.map +1 -0
- package/lib/esm/content-fields/index.d.ts +7 -5
- package/lib/esm/content-fields/index.js +6 -4
- package/lib/esm/content-fields/index.js.map +1 -1
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.d.ts +10 -0
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js +28 -0
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js.map +1 -0
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.d.ts +10 -0
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +25 -0
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +1 -0
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.d.ts +12 -0
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +28 -0
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +1 -0
- package/lib/esm/functions/conditional-provider.d.ts +2 -2
- package/lib/esm/functions/conditional-provider.js +2 -2
- package/lib/esm/functions/conditional-provider.js.map +1 -1
- package/lib/esm/functions/conditional-queue-status.d.ts +7 -2
- package/lib/esm/functions/conditional-queue-status.js +11 -1
- package/lib/esm/functions/conditional-queue-status.js.map +1 -1
- package/lib/esm/handoff.d.ts +2 -2
- package/lib/esm/handoff.js +17 -9
- package/lib/esm/handoff.js.map +1 -1
- package/lib/esm/helpers.d.ts +2 -1
- package/lib/esm/helpers.js +3 -11
- package/lib/esm/helpers.js.map +1 -1
- package/lib/esm/index.d.ts +10 -21
- package/lib/esm/index.js +38 -153
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/types.d.ts +8 -2
- package/lib/esm/types.js.map +1 -1
- package/package.json +4 -5
- package/src/action.tsx +31 -22
- package/src/api.ts +162 -0
- package/src/content-fields/content-fields-base.ts +7 -7
- package/src/content-fields/flow-button.tsx +40 -19
- package/src/content-fields/flow-carousel.tsx +10 -18
- package/src/content-fields/flow-element.tsx +26 -9
- package/src/content-fields/flow-image.tsx +2 -2
- package/src/content-fields/flow-text.tsx +15 -12
- package/src/content-fields/flow-video.tsx +2 -3
- package/src/content-fields/hubtype-fields/button.ts +15 -0
- package/src/content-fields/hubtype-fields/carousel.ts +18 -0
- package/src/content-fields/hubtype-fields/common.ts +65 -0
- package/src/content-fields/hubtype-fields/fallback.ts +10 -0
- package/src/content-fields/hubtype-fields/function.ts +33 -0
- package/src/content-fields/hubtype-fields/handoff.ts +11 -0
- package/src/content-fields/hubtype-fields/image.ts +9 -0
- package/src/content-fields/hubtype-fields/index.ts +17 -0
- package/src/content-fields/hubtype-fields/intent.ts +11 -0
- package/src/content-fields/hubtype-fields/keyword.ts +10 -0
- package/src/content-fields/hubtype-fields/node-types.ts +26 -0
- package/src/content-fields/hubtype-fields/nodes.ts +32 -0
- package/src/content-fields/hubtype-fields/payload.ts +9 -0
- package/src/content-fields/hubtype-fields/start.ts +8 -0
- package/src/content-fields/hubtype-fields/text.ts +12 -0
- package/src/content-fields/hubtype-fields/url.ts +9 -0
- package/src/content-fields/hubtype-fields/video.ts +9 -0
- package/src/content-fields/hubtype-fields/whatsapp-button-list.ts +25 -0
- package/src/content-fields/index.ts +14 -5
- package/src/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.tsx +33 -0
- package/src/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.tsx +35 -0
- package/src/content-fields/whatsapp-button-list/flow-whatsapp-button-list.tsx +46 -0
- package/src/functions/conditional-provider.ts +2 -2
- package/src/functions/conditional-queue-status.ts +22 -3
- package/src/handoff.ts +27 -14
- package/src/helpers.ts +8 -19
- package/src/index.ts +55 -197
- package/src/types.ts +14 -2
- package/lib/cjs/content-fields/types.d.ts +0 -5
- package/lib/cjs/content-fields/types.js.map +0 -1
- package/lib/cjs/flow-builder-models.d.ts +0 -196
- package/lib/cjs/flow-builder-models.js +0 -24
- package/lib/cjs/flow-builder-models.js.map +0 -1
- package/lib/esm/content-fields/types.d.ts +0 -5
- package/lib/esm/content-fields/types.js +0 -2
- package/lib/esm/content-fields/types.js.map +0 -1
- package/lib/esm/flow-builder-models.d.ts +0 -196
- package/lib/esm/flow-builder-models.js +0 -21
- package/lib/esm/flow-builder-models.js.map +0 -1
- package/src/.DS_Store +0 -0
- package/src/content-fields/types.ts +0 -6
- package/src/flow-builder-models.ts +0 -249
package/lib/cjs/action.d.ts
CHANGED
|
@@ -1,10 +1,24 @@
|
|
|
1
1
|
import { ActionRequest } from '@botonic/react';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
import { FlowContent } from './content-fields';
|
|
4
|
+
type FlowBuilderActionProps = {
|
|
5
|
+
contents: FlowContent[];
|
|
6
|
+
isHandoff?: boolean;
|
|
7
|
+
};
|
|
8
|
+
export declare class FlowBuilderAction extends React.Component<FlowBuilderActionProps> {
|
|
9
|
+
static contextType: React.Context<{
|
|
10
|
+
getString: () => "";
|
|
11
|
+
setLocale: () => "";
|
|
12
|
+
session: {};
|
|
13
|
+
params: {};
|
|
14
|
+
input: {};
|
|
15
|
+
defaultDelay: number;
|
|
16
|
+
defaultTyping: number;
|
|
17
|
+
}>;
|
|
5
18
|
static botonicInit(request: ActionRequest): Promise<any>;
|
|
6
19
|
render(): JSX.Element | JSX.Element[];
|
|
7
20
|
}
|
|
8
21
|
export declare class FlowBuilderMultichannelAction extends FlowBuilderAction {
|
|
9
22
|
render(): JSX.Element | JSX.Element[];
|
|
10
23
|
}
|
|
24
|
+
export {};
|
package/lib/cjs/action.js
CHANGED
|
@@ -12,30 +12,35 @@ class FlowBuilderAction extends react_2.default.Component {
|
|
|
12
12
|
const flowBuilderPlugin = (0, helpers_1.getFlowBuilderPlugin)(request.plugins);
|
|
13
13
|
const locale = flowBuilderPlugin.getLocale(request.session);
|
|
14
14
|
const payload = request.input.payload;
|
|
15
|
-
let
|
|
15
|
+
let targetNode = payload;
|
|
16
16
|
if (!payload && request.session.is_first_interaction) {
|
|
17
|
-
|
|
17
|
+
targetNode = flowBuilderPlugin.cmsApi.getStartNode();
|
|
18
18
|
}
|
|
19
|
-
if (!payload) {
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
19
|
+
if (!payload && request.input.data) {
|
|
20
|
+
const intentNode = flowBuilderPlugin.cmsApi.getNodeByIntent(request.input, locale);
|
|
21
|
+
const keywordNode = flowBuilderPlugin.cmsApi.getNodeByKeyword(request.input.data, locale);
|
|
22
|
+
if (intentNode) {
|
|
23
|
+
targetNode = intentNode;
|
|
24
|
+
}
|
|
25
|
+
else if (keywordNode) {
|
|
26
|
+
targetNode = keywordNode;
|
|
27
|
+
}
|
|
26
28
|
}
|
|
27
|
-
if (!
|
|
28
|
-
|
|
29
|
+
if (!targetNode) {
|
|
30
|
+
targetNode = flowBuilderPlugin.cmsApi.getFallbackNode(alternateFallbackMessage);
|
|
29
31
|
alternateFallbackMessage = !alternateFallbackMessage;
|
|
30
32
|
}
|
|
31
|
-
const { contents, handoffNode } = await flowBuilderPlugin.
|
|
33
|
+
const { contents, handoffNode } = await flowBuilderPlugin.getContent(targetNode, locale);
|
|
34
|
+
if (flowBuilderPlugin.trackEvent) {
|
|
35
|
+
// TODO: track all targets nodes?
|
|
36
|
+
await flowBuilderPlugin.trackEvent(request, contents[0].code);
|
|
37
|
+
}
|
|
32
38
|
if (handoffNode)
|
|
33
39
|
await (0, handoff_1.doHandoff)(request, locale, handoffNode);
|
|
34
40
|
return { contents, handoffNode };
|
|
35
41
|
}
|
|
36
42
|
render() {
|
|
37
|
-
|
|
38
|
-
const { contents, handoffNode } = this.props;
|
|
43
|
+
const { contents } = this.props;
|
|
39
44
|
return contents.map(content => content.toBotonic(content.id));
|
|
40
45
|
}
|
|
41
46
|
}
|
|
@@ -43,11 +48,8 @@ exports.FlowBuilderAction = FlowBuilderAction;
|
|
|
43
48
|
FlowBuilderAction.contextType = react_1.RequestContext;
|
|
44
49
|
class FlowBuilderMultichannelAction extends FlowBuilderAction {
|
|
45
50
|
render() {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
return (
|
|
49
|
-
//@ts-ignore
|
|
50
|
-
react_2.default.createElement(react_1.Multichannel, { text: { buttonsAsText: false } }, contents.map(content => content.toBotonic(content.id))));
|
|
51
|
+
const { contents } = this.props;
|
|
52
|
+
return (react_2.default.createElement(react_1.Multichannel, { text: { buttonsAsText: false } }, contents.map(content => content.toBotonic(content.id))));
|
|
51
53
|
}
|
|
52
54
|
}
|
|
53
55
|
exports.FlowBuilderMultichannelAction = FlowBuilderMultichannelAction;
|
package/lib/cjs/action.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.js","sourceRoot":"","sources":["../../src/action.tsx"],"names":[],"mappings":";;;;AAAA,0CAA4E;AAC5E,0DAAyB;
|
|
1
|
+
{"version":3,"file":"action.js","sourceRoot":"","sources":["../../src/action.tsx"],"names":[],"mappings":";;;;AAAA,0CAA4E;AAC5E,0DAAyB;AAIzB,uCAAqC;AACrC,uCAAgD;AAOhD,IAAI,wBAAwB,GAAG,KAAK,CAAA;AACpC,MAAa,iBAAkB,SAAQ,eAAK,CAAC,SAAiC;IAG5E,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,OAAsB;QAC7C,MAAM,iBAAiB,GAAG,IAAA,8BAAoB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC/D,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC3D,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAA;QACrC,IAAI,UAAU,GAA2C,OAAO,CAAA;QAEhE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,oBAAoB,EAAE;YACpD,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,YAAY,EAAE,CAAA;SACrD;QAED,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE;YAClC,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,eAAe,CACzD,OAAO,CAAC,KAAK,EACb,MAAM,CACP,CAAA;YACD,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC,gBAAgB,CAC3D,OAAO,CAAC,KAAK,CAAC,IAAI,EAClB,MAAM,CACP,CAAA;YACD,IAAI,UAAU,EAAE;gBACd,UAAU,GAAG,UAAU,CAAA;aACxB;iBAAM,IAAI,WAAW,EAAE;gBACtB,UAAU,GAAG,WAAW,CAAA;aACzB;SACF;QAED,IAAI,CAAC,UAAU,EAAE;YACf,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,eAAe,CACnD,wBAAwB,CACzB,CAAA;YACD,wBAAwB,GAAG,CAAC,wBAAwB,CAAA;SACrD;QAED,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAClE,UAAU,EACV,MAAM,CACP,CAAA;QAED,IAAI,iBAAiB,CAAC,UAAU,EAAE;YAChC,iCAAiC;YACjC,MAAM,iBAAiB,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;SAC9D;QAED,IAAI,WAAW;YAAE,MAAM,IAAA,mBAAS,EAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;QAE9D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAA;IAClC,CAAC;IAED,MAAM;QACJ,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAC/B,OAAO,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;IAC/D,CAAC;;AAtDH,8CAuDC;AAtDQ,6BAAW,GAAG,sBAAc,CAAA;AAwDrC,MAAa,6BAA8B,SAAQ,iBAAiB;IAClE,MAAM;QACJ,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAC/B,OAAO,CACL,8BAAC,oBAAY,IAAC,IAAI,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,IACzC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAC1C,CAChB,CAAA;IACH,CAAC;CACF;AATD,sEASC"}
|
package/lib/cjs/api.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Input } from '@botonic/core';
|
|
2
|
+
import { HtFlowBuilderData, HtNodeComponent, HtNodeWithContent } from './content-fields/hubtype-fields';
|
|
3
|
+
import { FlowBuilderApiOptions } from './types';
|
|
4
|
+
export declare class FlowBuilderApi {
|
|
5
|
+
private readonly url;
|
|
6
|
+
flow: HtFlowBuilderData;
|
|
7
|
+
constructor(options: FlowBuilderApiOptions);
|
|
8
|
+
init(token: string): Promise<void>;
|
|
9
|
+
getNode<T extends HtNodeComponent>(id: string): T;
|
|
10
|
+
getNodeByCode(code: string): HtNodeComponent;
|
|
11
|
+
getStartNode(): HtNodeWithContent;
|
|
12
|
+
getFallbackNode(alternate: boolean): HtNodeWithContent;
|
|
13
|
+
getNodeByIntent(input: Input, locale: string): HtNodeWithContent | undefined;
|
|
14
|
+
private hasIntent;
|
|
15
|
+
private hasMetConfidenceThreshold;
|
|
16
|
+
getNodeByKeyword(userInput: string, locale: string): HtNodeWithContent | undefined;
|
|
17
|
+
private matchKeywords;
|
|
18
|
+
private containsAnyKeywords;
|
|
19
|
+
}
|
package/lib/cjs/api.js
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FlowBuilderApi = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const axios_1 = tslib_1.__importDefault(require("axios"));
|
|
6
|
+
const hubtype_fields_1 = require("./content-fields/hubtype-fields");
|
|
7
|
+
class FlowBuilderApi {
|
|
8
|
+
constructor(options) {
|
|
9
|
+
this.url = options.url;
|
|
10
|
+
if (options.flow) {
|
|
11
|
+
this.flow = options.flow;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
async init(token) {
|
|
15
|
+
const { data } = await axios_1.default.get(this.url, {
|
|
16
|
+
headers: { Authorization: `Bearer ${token}` },
|
|
17
|
+
});
|
|
18
|
+
this.flow = data;
|
|
19
|
+
}
|
|
20
|
+
getNode(id) {
|
|
21
|
+
const node = this.flow.nodes.find(node => node.id === id);
|
|
22
|
+
if (!node)
|
|
23
|
+
throw Error(`Node with id: '${id}' not found`);
|
|
24
|
+
return node;
|
|
25
|
+
}
|
|
26
|
+
getNodeByCode(code) {
|
|
27
|
+
const content = this.flow.nodes.find(node => 'code' in node ? node.code === code : false);
|
|
28
|
+
if (!content)
|
|
29
|
+
throw Error(`Node with code: '${code}' not found`);
|
|
30
|
+
return content;
|
|
31
|
+
}
|
|
32
|
+
getStartNode() {
|
|
33
|
+
const startUpNode = this.flow.nodes.find(node => node.type === hubtype_fields_1.HtNodeStartType.STARTUP);
|
|
34
|
+
if (!startUpNode)
|
|
35
|
+
throw new Error('Start-up id must be defined');
|
|
36
|
+
return this.getNode(startUpNode.target.id);
|
|
37
|
+
}
|
|
38
|
+
getFallbackNode(alternate) {
|
|
39
|
+
const fallbackNode = this.flow.nodes.find(node => node.type === hubtype_fields_1.HtNodeWithContentType.FALLBACK);
|
|
40
|
+
if (!fallbackNode) {
|
|
41
|
+
throw new Error('Fallback node must be defined');
|
|
42
|
+
}
|
|
43
|
+
const fallbackFirstMessage = fallbackNode.content.first_message;
|
|
44
|
+
if (!fallbackFirstMessage) {
|
|
45
|
+
throw new Error('Fallback 1st message must be defined');
|
|
46
|
+
}
|
|
47
|
+
const fallbackSecondMessage = fallbackNode.content.second_message;
|
|
48
|
+
if (!fallbackSecondMessage) {
|
|
49
|
+
return this.getNode(fallbackFirstMessage.id);
|
|
50
|
+
}
|
|
51
|
+
return alternate
|
|
52
|
+
? this.getNode(fallbackFirstMessage.id)
|
|
53
|
+
: this.getNode(fallbackSecondMessage.id);
|
|
54
|
+
}
|
|
55
|
+
getNodeByIntent(input, locale) {
|
|
56
|
+
try {
|
|
57
|
+
const intents = this.flow.nodes.filter(node => node.type === hubtype_fields_1.HtNodeWithContentType.INTENT);
|
|
58
|
+
const inputIntent = input.intent;
|
|
59
|
+
const inputConfidence = input.confidence;
|
|
60
|
+
if (inputIntent) {
|
|
61
|
+
const matchedIntentNode = intents.find(node => inputIntent &&
|
|
62
|
+
this.hasIntent(node, inputIntent, locale) &&
|
|
63
|
+
inputConfidence &&
|
|
64
|
+
this.hasMetConfidenceThreshold(node, inputConfidence));
|
|
65
|
+
return ((matchedIntentNode === null || matchedIntentNode === void 0 ? void 0 : matchedIntentNode.target) &&
|
|
66
|
+
this.getNode(matchedIntentNode === null || matchedIntentNode === void 0 ? void 0 : matchedIntentNode.target.id));
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
console.error(`Error getting node by intent '${input.intent}': `, error);
|
|
71
|
+
}
|
|
72
|
+
return undefined;
|
|
73
|
+
}
|
|
74
|
+
hasIntent(node, intent, locale) {
|
|
75
|
+
return node.content.intents.some(i => i.locale === locale && i.values.includes(intent));
|
|
76
|
+
}
|
|
77
|
+
hasMetConfidenceThreshold(node, predictedConfidence) {
|
|
78
|
+
const nodeConfidence = node.content.confidence / 100;
|
|
79
|
+
return predictedConfidence >= nodeConfidence;
|
|
80
|
+
}
|
|
81
|
+
getNodeByKeyword(userInput, locale) {
|
|
82
|
+
try {
|
|
83
|
+
const keywordNodes = this.flow.nodes.filter(node => node.type == hubtype_fields_1.HtNodeWithContentType.KEYWORD);
|
|
84
|
+
const matchedKeywordNodes = keywordNodes.filter(node => this.matchKeywords(node, userInput, locale));
|
|
85
|
+
if (matchedKeywordNodes.length > 0 && matchedKeywordNodes[0].target) {
|
|
86
|
+
return this.getNode(matchedKeywordNodes[0].target.id);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
console.error(`Error getting node by keyword '${userInput}': `, error);
|
|
91
|
+
}
|
|
92
|
+
return undefined;
|
|
93
|
+
}
|
|
94
|
+
matchKeywords(node, input, locale) {
|
|
95
|
+
const result = node.content.keywords.find(i => i.locale === locale && this.containsAnyKeywords(input, i.values));
|
|
96
|
+
return Boolean(result);
|
|
97
|
+
}
|
|
98
|
+
containsAnyKeywords(input, keywords) {
|
|
99
|
+
for (let i = 0; i < keywords.length; i++) {
|
|
100
|
+
if (input.includes(keywords[i])) {
|
|
101
|
+
return true;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return false;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
exports.FlowBuilderApi = FlowBuilderApi;
|
|
108
|
+
//# sourceMappingURL=api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":";;;;AACA,0DAAyB;AAEzB,oEAUwC;AAGxC,MAAa,cAAc;IAIzB,YAAY,OAA8B;QACxC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAA;QACtB,IAAI,OAAO,CAAC,IAAI,EAAE;YAChB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;SACzB;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAa;QACtB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE;YACzC,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE;SAC9C,CAAC,CAAA;QACF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,OAAO,CAA4B,EAAU;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QACzD,IAAI,CAAC,IAAI;YAAE,MAAM,KAAK,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAA;QACzD,OAAO,IAAS,CAAA;IAClB,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC1C,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAC5C,CAAA;QACD,IAAI,CAAC,OAAO;YAAE,MAAM,KAAK,CAAC,oBAAoB,IAAI,aAAa,CAAC,CAAA;QAChE,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,YAAY;QACV,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CACtC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,gCAAe,CAAC,OAAO,CACnB,CAAA;QAC5B,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;QAChE,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC5C,CAAC;IAED,eAAe,CAAC,SAAkB;QAChC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CACvC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,sCAAqB,CAAC,QAAQ,CACvB,CAAA;QAC/B,IAAI,CAAC,YAAY,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;SACjD;QACD,MAAM,oBAAoB,GAAG,YAAY,CAAC,OAAO,CAAC,aAAa,CAAA;QAC/D,IAAI,CAAC,oBAAoB,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;SACxD;QACD,MAAM,qBAAqB,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,CAAA;QACjE,IAAI,CAAC,qBAAqB,EAAE;YAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAA;SAC7C;QACD,OAAO,SAAS;YACd,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAA;IAC5C,CAAC;IAED,eAAe,CAAC,KAAY,EAAE,MAAc;QAC1C,IAAI;YACF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CACpC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,sCAAqB,CAAC,MAAM,CACjC,CAAA;YACnB,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAA;YAChC,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAAA;YACxC,IAAI,WAAW,EAAE;gBACf,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,CACpC,IAAI,CAAC,EAAE,CACL,WAAW;oBACX,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC;oBACzC,eAAe;oBACf,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,eAAe,CAAC,CACxD,CAAA;gBACD,OAAO,CACL,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,MAAM;oBACzB,IAAI,CAAC,OAAO,CAAoB,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,MAAM,CAAC,EAAE,CAAC,CAC9D,CAAA;aACF;SACF;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,iCAAiC,KAAK,CAAC,MAAM,KAAK,EAAE,KAAK,CAAC,CAAA;SACzE;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAEO,SAAS,CACf,IAAkB,EAClB,MAAc,EACd,MAAc;QAEd,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAC9B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CACtD,CAAA;IACH,CAAC;IAEO,yBAAyB,CAC/B,IAAkB,EAClB,mBAA2B;QAE3B,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,GAAG,CAAA;QACpD,OAAO,mBAAmB,IAAI,cAAc,CAAA;IAC9C,CAAC;IAED,gBAAgB,CACd,SAAiB,EACjB,MAAc;QAEd,IAAI;YACF,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CACzC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,sCAAqB,CAAC,OAAO,CAChC,CAAA;YACpB,MAAM,mBAAmB,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CACrD,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAC5C,CAAA;YACD,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;gBACnE,OAAO,IAAI,CAAC,OAAO,CAAoB,mBAAmB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;aACzE;SACF;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,kCAAkC,SAAS,KAAK,EAAE,KAAK,CAAC,CAAA;SACvE;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAEO,aAAa,CACnB,IAAmB,EACnB,KAAa,EACb,MAAc;QAEd,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CACvC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CACtE,CAAA;QACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAA;IACxB,CAAC;IAEO,mBAAmB,CAAC,KAAa,EAAE,QAAkB;QAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC/B,OAAO,IAAI,CAAA;aACZ;SACF;QACD,OAAO,KAAK,CAAA;IACd,CAAC;CACF;AAjJD,wCAiJC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { HtMediaFileLocale, HtTextLocale, HtVideoLocale } from './hubtype-fields';
|
|
2
2
|
export declare abstract class ContentFieldsBase {
|
|
3
3
|
readonly id: string;
|
|
4
4
|
constructor(id: string);
|
|
5
|
-
static getTextByLocale(locale: string, text:
|
|
6
|
-
static getImageByLocale(locale: string, image:
|
|
7
|
-
static getVideoByLocale(locale: string, video:
|
|
5
|
+
static getTextByLocale(locale: string, text: HtTextLocale[]): string;
|
|
6
|
+
static getImageByLocale(locale: string, image: HtMediaFileLocale[]): string;
|
|
7
|
+
static getVideoByLocale(locale: string, video: HtVideoLocale[]): string;
|
|
8
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-fields-base.js","sourceRoot":"","sources":["../../../src/content-fields/content-fields-base.ts"],"names":[],"mappings":";;;AAMA,MAAsB,iBAAiB;IACrC,YAA4B,EAAU;QAAV,OAAE,GAAF,EAAE,CAAQ;IAAG,CAAC;IAE1C,MAAM,CAAC,eAAe,CAAC,MAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"content-fields-base.js","sourceRoot":"","sources":["../../../src/content-fields/content-fields-base.ts"],"names":[],"mappings":";;;AAMA,MAAsB,iBAAiB;IACrC,YAA4B,EAAU;QAAV,OAAE,GAAF,EAAE,CAAQ;IAAG,CAAC;IAE1C,MAAM,CAAC,eAAe,CAAC,MAAc,EAAE,IAAoB;;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;QAClD,OAAO,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,mCAAI,EAAE,CAAA;IAC9B,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,MAAc,EAAE,KAA0B;;QAChE,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;QACnD,OAAO,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,mCAAI,EAAE,CAAA;IAC3B,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,MAAc,EAAE,KAAsB;;QAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;QACnD,OAAO,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,mCAAI,EAAE,CAAA;IAC1B,CAAC;CACF;AAjBD,8CAiBC"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import {
|
|
2
|
+
import { FlowBuilderApi } from '../api';
|
|
3
3
|
import { ContentFieldsBase } from './content-fields-base';
|
|
4
|
+
import { HtButton, HtButtonStyle } from './hubtype-fields';
|
|
4
5
|
export declare class FlowButton extends ContentFieldsBase {
|
|
5
6
|
text: string;
|
|
6
7
|
url?: string;
|
|
7
8
|
payload?: string;
|
|
8
|
-
static fromHubtypeCMS(
|
|
9
|
-
|
|
9
|
+
static fromHubtypeCMS(cmsButton: HtButton, locale: string, cmsApi: FlowBuilderApi): FlowButton;
|
|
10
|
+
static getPayloadId(cmsButton: any, locale: any): string | undefined;
|
|
11
|
+
static getUrlId(cmsButton: any, locale: any): string | undefined;
|
|
12
|
+
renderButton(buttonStyle?: HtButtonStyle): JSX.Element;
|
|
10
13
|
}
|
|
@@ -4,37 +4,44 @@ exports.FlowButton = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const react_1 = require("@botonic/react");
|
|
6
6
|
const react_2 = tslib_1.__importDefault(require("react"));
|
|
7
|
-
const flow_builder_models_1 = require("../flow-builder-models");
|
|
8
7
|
const content_fields_base_1 = require("./content-fields-base");
|
|
8
|
+
const hubtype_fields_1 = require("./hubtype-fields");
|
|
9
9
|
class FlowButton extends content_fields_base_1.ContentFieldsBase {
|
|
10
10
|
constructor() {
|
|
11
11
|
super(...arguments);
|
|
12
12
|
this.text = '';
|
|
13
13
|
}
|
|
14
|
-
static fromHubtypeCMS(
|
|
15
|
-
|
|
16
|
-
const
|
|
17
|
-
newButton
|
|
18
|
-
newButton.
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
14
|
+
static fromHubtypeCMS(cmsButton, locale, cmsApi) {
|
|
15
|
+
const payloadId = this.getPayloadId(cmsButton, locale);
|
|
16
|
+
const urlId = this.getUrlId(cmsButton, locale);
|
|
17
|
+
const newButton = new FlowButton(cmsButton.id);
|
|
18
|
+
newButton.text = this.getTextByLocale(locale, cmsButton.text);
|
|
19
|
+
if (cmsButton.target) {
|
|
20
|
+
newButton.payload = cmsButton.target.id;
|
|
21
|
+
}
|
|
22
|
+
if (cmsButton.payload && payloadId) {
|
|
23
|
+
const payloadNode = cmsApi.getNode(payloadId);
|
|
24
|
+
newButton.payload = payloadNode.content.payload;
|
|
25
|
+
}
|
|
26
|
+
if (cmsButton.url && urlId) {
|
|
27
|
+
const payloadNode = cmsApi.getNode(urlId);
|
|
28
|
+
newButton.url = payloadNode.content.url;
|
|
25
29
|
}
|
|
26
30
|
return newButton;
|
|
27
31
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
32
|
+
static getPayloadId(cmsButton, locale) {
|
|
33
|
+
var _a;
|
|
34
|
+
return (_a = cmsButton.payload.find(payload => payload.locale === locale)) === null || _a === void 0 ? void 0 : _a.id;
|
|
35
|
+
}
|
|
36
|
+
static getUrlId(cmsButton, locale) {
|
|
37
|
+
var _a;
|
|
38
|
+
return (_a = cmsButton.url.find(url => url.locale === locale)) === null || _a === void 0 ? void 0 : _a.id;
|
|
39
|
+
}
|
|
40
|
+
renderButton(buttonStyle) {
|
|
41
|
+
if (buttonStyle === hubtype_fields_1.HtButtonStyle.QUICK_REPLY) {
|
|
42
|
+
return (react_2.default.createElement(react_1.Reply, { key: this.id, payload: this.payload }, this.text));
|
|
31
43
|
}
|
|
32
|
-
|
|
33
|
-
if (this.url)
|
|
34
|
-
props = { url: this.url };
|
|
35
|
-
return (
|
|
36
|
-
// @ts-ignore
|
|
37
|
-
react_2.default.createElement(react_1.Button, Object.assign({ key: id, payload: this.payload }, props), this.text));
|
|
44
|
+
return (react_2.default.createElement(react_1.Button, { key: this.id, payload: this.payload, url: this.url }, this.text));
|
|
38
45
|
}
|
|
39
46
|
}
|
|
40
47
|
exports.FlowButton = FlowButton;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-button.js","sourceRoot":"","sources":["../../../src/content-fields/flow-button.tsx"],"names":[],"mappings":";;;;AAAA,0CAA8C;AAC9C,0DAAyB;
|
|
1
|
+
{"version":3,"file":"flow-button.js","sourceRoot":"","sources":["../../../src/content-fields/flow-button.tsx"],"names":[],"mappings":";;;;AAAA,0CAA8C;AAC9C,0DAAyB;AAGzB,+DAAyD;AACzD,qDAKyB;AAEzB,MAAa,UAAW,SAAQ,uCAAiB;IAAjD;;QACS,SAAI,GAAG,EAAE,CAAA;IAmDlB,CAAC;IA/CC,MAAM,CAAC,cAAc,CACnB,SAAmB,EACnB,MAAc,EACd,MAAsB;QAEtB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QAE9C,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAC9C,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;QAC7D,IAAI,SAAS,CAAC,MAAM,EAAE;YACpB,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,CAAA;SACxC;QACD,IAAI,SAAS,CAAC,OAAO,IAAI,SAAS,EAAE;YAClC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAkB,CAAA;YAC9D,SAAS,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAA;SAChD;QACD,IAAI,SAAS,CAAC,GAAG,IAAI,KAAK,EAAE;YAC1B,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAc,CAAA;YACtD,SAAS,CAAC,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAA;SACxC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM;;QACnC,OAAO,MAAA,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,0CAAE,EAAE,CAAA;IACzE,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM;;QAC/B,OAAO,MAAA,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,0CAAE,EAAE,CAAA;IAC7D,CAAC;IAED,YAAY,CAAC,WAA2B;QACtC,IAAI,WAAW,KAAK,8BAAa,CAAC,WAAW,EAAE;YAC7C,OAAO,CACL,8BAAC,aAAK,IAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IACvC,IAAI,CAAC,IAAI,CACJ,CACT,CAAA;SACF;QACD,OAAO,CACL,8BAAC,cAAM,IAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,IACvD,IAAI,CAAC,IAAI,CACH,CACV,CAAA;IACH,CAAC;CACF;AApDD,gCAoDC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import {
|
|
2
|
+
import { FlowBuilderApi } from '../api';
|
|
3
3
|
import { ContentFieldsBase } from './content-fields-base';
|
|
4
4
|
import { FlowElement } from './flow-element';
|
|
5
|
+
import { HtCarouselNode } from './hubtype-fields';
|
|
5
6
|
export declare class FlowCarousel extends ContentFieldsBase {
|
|
6
7
|
code: string;
|
|
7
8
|
elements: FlowElement[];
|
|
8
|
-
static fromHubtypeCMS(component:
|
|
9
|
+
static fromHubtypeCMS(component: HtCarouselNode, locale: string, cmsApi: FlowBuilderApi): FlowCarousel;
|
|
9
10
|
toBotonic(id: string): JSX.Element;
|
|
10
11
|
}
|
|
@@ -12,21 +12,14 @@ class FlowCarousel extends content_fields_base_1.ContentFieldsBase {
|
|
|
12
12
|
this.code = '';
|
|
13
13
|
this.elements = [];
|
|
14
14
|
}
|
|
15
|
-
static fromHubtypeCMS(component, locale) {
|
|
15
|
+
static fromHubtypeCMS(component, locale, cmsApi) {
|
|
16
16
|
const newCarousel = new FlowCarousel(component.id);
|
|
17
17
|
newCarousel.code = component.code;
|
|
18
|
-
newCarousel.elements = component.content.elements.map(element => flow_element_1.FlowElement.fromHubtypeCMS(element, locale));
|
|
18
|
+
newCarousel.elements = component.content.elements.map(element => flow_element_1.FlowElement.fromHubtypeCMS(element, locale, cmsApi));
|
|
19
19
|
return newCarousel;
|
|
20
20
|
}
|
|
21
21
|
toBotonic(id) {
|
|
22
|
-
return (react_2.default.createElement(react_1.Carousel, { key: id }, this.elements.map(element =>
|
|
23
|
-
var _a, _b, _c;
|
|
24
|
-
return (react_2.default.createElement(react_1.Element, { key: `${id}-${element.id}` },
|
|
25
|
-
react_2.default.createElement(react_1.Pic, { src: element.image }),
|
|
26
|
-
react_2.default.createElement(react_1.Title, { style: '' }, element.title),
|
|
27
|
-
react_2.default.createElement(react_1.Subtitle, { style: '' }, element.subtitle),
|
|
28
|
-
react_2.default.createElement(react_1.Button, { payload: (_a = element.buttons) === null || _a === void 0 ? void 0 : _a.payload, url: (_b = element.buttons) === null || _b === void 0 ? void 0 : _b.url }, (_c = element.buttons) === null || _c === void 0 ? void 0 : _c.text)));
|
|
29
|
-
})));
|
|
22
|
+
return (react_2.default.createElement(react_1.Carousel, { key: id }, this.elements.map(element => element.toBotonic(id))));
|
|
30
23
|
}
|
|
31
24
|
}
|
|
32
25
|
exports.FlowCarousel = FlowCarousel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-carousel.js","sourceRoot":"","sources":["../../../src/content-fields/flow-carousel.tsx"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"flow-carousel.js","sourceRoot":"","sources":["../../../src/content-fields/flow-carousel.tsx"],"names":[],"mappings":";;;;AAAA,0CAAyC;AACzC,0DAAyB;AAGzB,+DAAyD;AACzD,iDAA4C;AAG5C,MAAa,YAAa,SAAQ,uCAAiB;IAAnD;;QACS,SAAI,GAAG,EAAE,CAAA;QACT,aAAQ,GAAkB,EAAE,CAAA;IAsBrC,CAAC;IApBC,MAAM,CAAC,cAAc,CACnB,SAAyB,EACzB,MAAc,EACd,MAAsB;QAEtB,MAAM,WAAW,GAAG,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAClD,WAAW,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;QACjC,WAAW,CAAC,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAC9D,0BAAW,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CACpD,CAAA;QACD,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,SAAS,CAAC,EAAU;QAClB,OAAO,CACL,8BAAC,gBAAQ,IAAC,GAAG,EAAE,EAAE,IACd,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAC3C,CACZ,CAAA;IACH,CAAC;CACF;AAxBD,oCAwBC"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { FlowBuilderApi } from '../api';
|
|
2
3
|
import { ContentFieldsBase } from './content-fields-base';
|
|
3
4
|
import { FlowButton } from './flow-button';
|
|
5
|
+
import { HtCarouselElement } from './hubtype-fields';
|
|
4
6
|
export declare class FlowElement extends ContentFieldsBase {
|
|
5
7
|
title: string;
|
|
6
8
|
subtitle: string;
|
|
7
|
-
|
|
9
|
+
button: FlowButton | undefined;
|
|
8
10
|
image: string;
|
|
9
11
|
hidden: boolean;
|
|
10
|
-
static fromHubtypeCMS(component:
|
|
12
|
+
static fromHubtypeCMS(component: HtCarouselElement, locale: string, cmsApi: FlowBuilderApi): FlowElement;
|
|
13
|
+
toBotonic(parentId: string): JSX.Element;
|
|
11
14
|
}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FlowElement = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const react_1 = require("@botonic/react");
|
|
6
|
+
const react_2 = tslib_1.__importDefault(require("react"));
|
|
4
7
|
const content_fields_base_1 = require("./content-fields-base");
|
|
5
8
|
const flow_button_1 = require("./flow-button");
|
|
6
9
|
class FlowElement extends content_fields_base_1.ContentFieldsBase {
|
|
@@ -11,14 +14,22 @@ class FlowElement extends content_fields_base_1.ContentFieldsBase {
|
|
|
11
14
|
this.image = '';
|
|
12
15
|
this.hidden = false;
|
|
13
16
|
}
|
|
14
|
-
static fromHubtypeCMS(component, locale) {
|
|
17
|
+
static fromHubtypeCMS(component, locale, cmsApi) {
|
|
15
18
|
const newElement = new FlowElement(component.id);
|
|
16
|
-
newElement.title =
|
|
17
|
-
newElement.subtitle =
|
|
18
|
-
newElement.image =
|
|
19
|
-
newElement.
|
|
19
|
+
newElement.title = this.getTextByLocale(locale, component.title);
|
|
20
|
+
newElement.subtitle = this.getTextByLocale(locale, component.subtitle);
|
|
21
|
+
newElement.image = this.getImageByLocale(locale, component.image);
|
|
22
|
+
newElement.button = flow_button_1.FlowButton.fromHubtypeCMS(component.button, locale, cmsApi);
|
|
20
23
|
return newElement;
|
|
21
24
|
}
|
|
25
|
+
toBotonic(parentId) {
|
|
26
|
+
var _a;
|
|
27
|
+
return (react_2.default.createElement(react_1.Element, { key: `${parentId}-${this.id}` },
|
|
28
|
+
react_2.default.createElement(react_1.Pic, { src: this.image }),
|
|
29
|
+
react_2.default.createElement(react_1.Title, null, this.title),
|
|
30
|
+
react_2.default.createElement(react_1.Subtitle, null, this.subtitle), (_a = this.button) === null || _a === void 0 ? void 0 :
|
|
31
|
+
_a.renderButton()));
|
|
32
|
+
}
|
|
22
33
|
}
|
|
23
34
|
exports.FlowElement = FlowElement;
|
|
24
35
|
//# sourceMappingURL=flow-element.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-element.js","sourceRoot":"","sources":["../../../src/content-fields/flow-element.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"flow-element.js","sourceRoot":"","sources":["../../../src/content-fields/flow-element.tsx"],"names":[],"mappings":";;;;AAAA,0CAA8D;AAC9D,0DAAyB;AAGzB,+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;IA6BvB,CAAC;IA3BC,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,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;QAChE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAA;QACtE,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;QACjE,UAAU,CAAC,MAAM,GAAG,wBAAU,CAAC,cAAc,CAC3C,SAAS,CAAC,MAAM,EAChB,MAAM,EACN,MAAM,CACP,CAAA;QACD,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,SAAS,CAAC,QAAgB;;QACxB,OAAO,CACL,8BAAC,eAAO,IAAC,GAAG,EAAE,GAAG,QAAQ,IAAI,IAAI,CAAC,EAAE,EAAE;YACpC,8BAAC,WAAG,IAAC,GAAG,EAAE,IAAI,CAAC,KAAK,GAAI;YACxB,8BAAC,aAAK,QAAE,IAAI,CAAC,KAAK,CAAS;YAC3B,8BAAC,gBAAQ,QAAE,IAAI,CAAC,QAAQ,CAAY,EACnC,MAAA,IAAI,CAAC,MAAM;eAAE,YAAY,EAAE,CACpB,CACX,CAAA;IACH,CAAC;CACF;AAlCD,kCAkCC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { ImageNode } from '../flow-builder-models';
|
|
3
2
|
import { ContentFieldsBase } from './content-fields-base';
|
|
3
|
+
import { HtImageNode } from './hubtype-fields';
|
|
4
4
|
export declare class FlowImage extends ContentFieldsBase {
|
|
5
5
|
src: string;
|
|
6
6
|
code: string;
|
|
7
|
-
static fromHubtypeCMS(component:
|
|
7
|
+
static fromHubtypeCMS(component: HtImageNode, locale: string): FlowImage;
|
|
8
8
|
toBotonic(id: string): JSX.Element;
|
|
9
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-image.js","sourceRoot":"","sources":["../../../src/content-fields/flow-image.tsx"],"names":[],"mappings":";;;;AAAA,0CAAsC;AACtC,0DAAyB;
|
|
1
|
+
{"version":3,"file":"flow-image.js","sourceRoot":"","sources":["../../../src/content-fields/flow-image.tsx"],"names":[],"mappings":";;;;AAAA,0CAAsC;AACtC,0DAAyB;AAEzB,+DAAyD;AAGzD,MAAa,SAAU,SAAQ,uCAAiB;IAAhD;;QACS,QAAG,GAAG,EAAE,CAAA;QACR,SAAI,GAAG,EAAE,CAAA;IAYlB,CAAC;IAVC,MAAM,CAAC,cAAc,CAAC,SAAsB,EAAE,MAAc;QAC1D,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAC5C,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;QAC9B,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACrE,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,SAAS,CAAC,EAAU;QAClB,OAAO,8BAAC,aAAK,IAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAI,CAAA;IAC1C,CAAC;CACF;AAdD,8BAcC"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import {
|
|
2
|
+
import { FlowBuilderApi } from '../api';
|
|
3
3
|
import { ContentFieldsBase } from './content-fields-base';
|
|
4
4
|
import { FlowButton } from './flow-button';
|
|
5
|
+
import { HtButtonStyle, HtTextNode } from './hubtype-fields';
|
|
5
6
|
export declare class FlowText extends ContentFieldsBase {
|
|
6
7
|
text: string;
|
|
7
8
|
code: string;
|
|
8
9
|
buttons: FlowButton[];
|
|
9
|
-
buttonStyle:
|
|
10
|
-
static fromHubtypeCMS(
|
|
10
|
+
buttonStyle: HtButtonStyle;
|
|
11
|
+
static fromHubtypeCMS(cmsText: HtTextNode, locale: string, cmsApi: FlowBuilderApi): FlowText;
|
|
11
12
|
toBotonic(id: string): JSX.Element;
|
|
12
13
|
}
|
|
@@ -4,29 +4,29 @@ exports.FlowText = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const react_1 = require("@botonic/react");
|
|
6
6
|
const react_2 = tslib_1.__importDefault(require("react"));
|
|
7
|
-
const flow_builder_models_1 = require("../flow-builder-models");
|
|
8
7
|
const content_fields_base_1 = require("./content-fields-base");
|
|
9
8
|
const flow_button_1 = require("./flow-button");
|
|
9
|
+
const hubtype_fields_1 = require("./hubtype-fields");
|
|
10
10
|
class FlowText extends content_fields_base_1.ContentFieldsBase {
|
|
11
11
|
constructor() {
|
|
12
12
|
super(...arguments);
|
|
13
13
|
this.text = '';
|
|
14
14
|
this.code = '';
|
|
15
15
|
this.buttons = [];
|
|
16
|
-
this.buttonStyle =
|
|
16
|
+
this.buttonStyle = hubtype_fields_1.HtButtonStyle.BUTTON;
|
|
17
17
|
}
|
|
18
|
-
static fromHubtypeCMS(
|
|
19
|
-
const newText = new FlowText(
|
|
20
|
-
newText.code =
|
|
21
|
-
newText.buttonStyle =
|
|
22
|
-
newText.text =
|
|
23
|
-
newText.buttons =
|
|
18
|
+
static fromHubtypeCMS(cmsText, locale, cmsApi) {
|
|
19
|
+
const newText = new FlowText(cmsText.id);
|
|
20
|
+
newText.code = cmsText.code;
|
|
21
|
+
newText.buttonStyle = cmsText.content.buttons_style || hubtype_fields_1.HtButtonStyle.BUTTON;
|
|
22
|
+
newText.text = this.getTextByLocale(locale, cmsText.content.text);
|
|
23
|
+
newText.buttons = cmsText.content.buttons.map(button => flow_button_1.FlowButton.fromHubtypeCMS(button, locale, cmsApi));
|
|
24
24
|
return newText;
|
|
25
25
|
}
|
|
26
26
|
toBotonic(id) {
|
|
27
27
|
return (react_2.default.createElement(react_1.Text, { key: id },
|
|
28
28
|
this.text,
|
|
29
|
-
this.buttons.map(button => button.renderButton(
|
|
29
|
+
this.buttons.map(button => button.renderButton(this.buttonStyle))));
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
exports.FlowText = FlowText;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-text.js","sourceRoot":"","sources":["../../../src/content-fields/flow-text.tsx"],"names":[],"mappings":";;;;AAAA,0CAAqC;AACrC,0DAAyB;
|
|
1
|
+
{"version":3,"file":"flow-text.js","sourceRoot":"","sources":["../../../src/content-fields/flow-text.tsx"],"names":[],"mappings":";;;;AAAA,0CAAqC;AACrC,0DAAyB;AAGzB,+DAAyD;AACzD,+CAA0C;AAC1C,qDAA4D;AAE5D,MAAa,QAAS,SAAQ,uCAAiB;IAA/C;;QACS,SAAI,GAAG,EAAE,CAAA;QACT,SAAI,GAAG,EAAE,CAAA;QACT,YAAO,GAAiB,EAAE,CAAA;QAC1B,gBAAW,GAAG,8BAAa,CAAC,MAAM,CAAA;IAyB3C,CAAC;IAvBC,MAAM,CAAC,cAAc,CACnB,OAAmB,EACnB,MAAc,EACd,MAAsB;QAEtB,MAAM,OAAO,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACxC,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;QAC3B,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,IAAI,8BAAa,CAAC,MAAM,CAAA;QAC3E,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACjE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CACrD,wBAAU,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAClD,CAAA;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,SAAS,CAAC,EAAU;QAClB,OAAO,CACL,8BAAC,YAAI,IAAC,GAAG,EAAE,EAAE;YACV,IAAI,CAAC,IAAI;YACT,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAC7D,CACR,CAAA;IACH,CAAC;CACF;AA7BD,4BA6BC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { VideoNode } from '../flow-builder-models';
|
|
3
2
|
import { ContentFieldsBase } from './content-fields-base';
|
|
3
|
+
import { HtVideoNode } from './hubtype-fields';
|
|
4
4
|
export declare class FlowVideo extends ContentFieldsBase {
|
|
5
5
|
src: string;
|
|
6
6
|
code: string;
|
|
7
|
-
static fromHubtypeCMS(component:
|
|
7
|
+
static fromHubtypeCMS(component: HtVideoNode, locale: string): FlowVideo;
|
|
8
8
|
toBotonic(id: string): JSX.Element;
|
|
9
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-video.js","sourceRoot":"","sources":["../../../src/content-fields/flow-video.tsx"],"names":[],"mappings":";;;;AAAA,0CAAsC;AACtC,0DAAyB;
|
|
1
|
+
{"version":3,"file":"flow-video.js","sourceRoot":"","sources":["../../../src/content-fields/flow-video.tsx"],"names":[],"mappings":";;;;AAAA,0CAAsC;AACtC,0DAAyB;AAEzB,+DAAyD;AAGzD,MAAa,SAAU,SAAQ,uCAAiB;IAAhD;;QACS,QAAG,GAAG,EAAE,CAAA;QACR,SAAI,GAAG,EAAE,CAAA;IAYlB,CAAC;IAVC,MAAM,CAAC,cAAc,CAAC,SAAsB,EAAE,MAAc;QAC1D,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAC5C,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;QAC9B,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACrE,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,SAAS,CAAC,EAAU;QAClB,OAAO,8BAAC,aAAK,IAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAI,CAAA;IAC1C,CAAC;CACF;AAdD,8BAcC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button.js","sourceRoot":"","sources":["../../../../src/content-fields/hubtype-fields/button.ts"],"names":[],"mappings":""}
|