@botonic/plugin-flow-builder 0.25.0-alpha.0 → 0.25.0-alpha.2
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/index.js +2 -1
- package/lib/cjs/action/index.js.map +1 -1
- package/lib/cjs/content-fields/flow-button.js +3 -4
- package/lib/cjs/content-fields/flow-button.js.map +1 -1
- package/lib/cjs/content-fields/flow-carousel.js +2 -3
- package/lib/cjs/content-fields/flow-carousel.js.map +1 -1
- package/lib/cjs/content-fields/flow-element.js +2 -7
- package/lib/cjs/content-fields/flow-element.js.map +1 -1
- package/lib/cjs/content-fields/flow-handoff.js +2 -3
- package/lib/cjs/content-fields/flow-handoff.js.map +1 -1
- package/lib/cjs/content-fields/flow-image.js +2 -3
- package/lib/cjs/content-fields/flow-image.js.map +1 -1
- package/lib/cjs/content-fields/flow-text.js +2 -5
- package/lib/cjs/content-fields/flow-text.js.map +1 -1
- package/lib/cjs/content-fields/flow-video.js +2 -3
- package/lib/cjs/content-fields/flow-video.js.map +1 -1
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +2 -3
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +1 -1
- package/lib/esm/action/index.js +28 -19
- package/lib/esm/action/index.js.map +1 -1
- package/lib/esm/action/intent.js +8 -4
- package/lib/esm/action/intent.js.map +1 -1
- package/lib/esm/action/keyword.js +7 -3
- package/lib/esm/action/keyword.js.map +1 -1
- package/lib/esm/action/knowledge-bases.js +14 -10
- package/lib/esm/action/knowledge-bases.js.map +1 -1
- package/lib/esm/action/tracking.js +9 -5
- package/lib/esm/action/tracking.js.map +1 -1
- package/lib/esm/action/user-input.js +9 -5
- package/lib/esm/action/user-input.js.map +1 -1
- package/lib/esm/api.js +25 -16
- package/lib/esm/api.js.map +1 -1
- package/lib/esm/constants.js +6 -3
- package/lib/esm/constants.js.map +1 -1
- package/lib/esm/content-fields/content-fields-base.js +9 -7
- package/lib/esm/content-fields/content-fields-base.js.map +1 -1
- package/lib/esm/content-fields/flow-button.js +19 -18
- package/lib/esm/content-fields/flow-button.js.map +1 -1
- package/lib/esm/content-fields/flow-carousel.js +13 -12
- package/lib/esm/content-fields/flow-carousel.js.map +1 -1
- package/lib/esm/content-fields/flow-element.js +16 -19
- package/lib/esm/content-fields/flow-element.js.map +1 -1
- package/lib/esm/content-fields/flow-handoff.js +21 -14
- package/lib/esm/content-fields/flow-handoff.js.map +1 -1
- package/lib/esm/content-fields/flow-image.js +11 -10
- package/lib/esm/content-fields/flow-image.js.map +1 -1
- package/lib/esm/content-fields/flow-text.js +20 -22
- package/lib/esm/content-fields/flow-text.js.map +1 -1
- package/lib/esm/content-fields/flow-video.js +11 -10
- package/lib/esm/content-fields/flow-video.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/bot-action.js +2 -1
- package/lib/esm/content-fields/hubtype-fields/button.js +2 -1
- package/lib/esm/content-fields/hubtype-fields/carousel.js +2 -1
- package/lib/esm/content-fields/hubtype-fields/common.js +2 -1
- package/lib/esm/content-fields/hubtype-fields/fallback.js +2 -1
- package/lib/esm/content-fields/hubtype-fields/function.js +5 -2
- package/lib/esm/content-fields/hubtype-fields/function.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/go-to-flow.js +2 -1
- package/lib/esm/content-fields/hubtype-fields/handoff.js +2 -1
- package/lib/esm/content-fields/hubtype-fields/image.js +2 -1
- package/lib/esm/content-fields/hubtype-fields/index.js +21 -18
- package/lib/esm/content-fields/hubtype-fields/index.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/intent.js +2 -1
- package/lib/esm/content-fields/hubtype-fields/keyword.js +2 -1
- package/lib/esm/content-fields/hubtype-fields/node-types.js +9 -6
- package/lib/esm/content-fields/hubtype-fields/node-types.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/nodes.js +2 -1
- package/lib/esm/content-fields/hubtype-fields/payload.js +2 -1
- package/lib/esm/content-fields/hubtype-fields/text.js +2 -1
- package/lib/esm/content-fields/hubtype-fields/url.js +2 -1
- package/lib/esm/content-fields/hubtype-fields/video.js +2 -1
- package/lib/esm/content-fields/hubtype-fields/whatsapp-button-list.js +2 -1
- package/lib/esm/content-fields/index.js +21 -10
- package/lib/esm/content-fields/index.js.map +1 -1
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js +12 -11
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js.map +1 -1
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +10 -9
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +1 -1
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +15 -14
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +1 -1
- package/lib/esm/functions/conditional-provider.js +5 -1
- package/lib/esm/functions/conditional-provider.js.map +1 -1
- package/lib/esm/functions/conditional-queue-status.js +10 -4
- package/lib/esm/functions/conditional-queue-status.js.map +1 -1
- package/lib/esm/functions/index.js +8 -5
- package/lib/esm/functions/index.js.map +1 -1
- package/lib/esm/helpers.js +5 -1
- package/lib/esm/helpers.js.map +1 -1
- package/lib/esm/index.js +48 -35
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/types.js +5 -2
- package/lib/esm/types.js.map +1 -1
- package/lib/esm/utils.js +8 -4
- package/lib/esm/utils.js.map +1 -1
- package/package.json +3 -3
package/lib/esm/api.js
CHANGED
|
@@ -1,18 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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 constants_1 = require("./constants");
|
|
7
|
+
const hubtype_fields_1 = require("./content-fields/hubtype-fields");
|
|
8
|
+
class FlowBuilderApi {
|
|
9
|
+
url;
|
|
10
|
+
flow;
|
|
11
|
+
request;
|
|
5
12
|
constructor() { }
|
|
6
13
|
static async create(options) {
|
|
7
|
-
var _a;
|
|
8
14
|
const newApi = new FlowBuilderApi();
|
|
9
15
|
newApi.url = options.url;
|
|
10
|
-
newApi.flow =
|
|
16
|
+
newApi.flow = options.flow ?? (await newApi.getFlow(options.accessToken));
|
|
11
17
|
newApi.request = options.request;
|
|
12
18
|
return newApi;
|
|
13
19
|
}
|
|
14
20
|
async getFlow(token) {
|
|
15
|
-
const { data } = await
|
|
21
|
+
const { data } = await axios_1.default.get(this.url, {
|
|
16
22
|
headers: { Authorization: `Bearer ${token}` },
|
|
17
23
|
});
|
|
18
24
|
return data;
|
|
@@ -27,7 +33,7 @@ export class FlowBuilderApi {
|
|
|
27
33
|
const node = this.flow.nodes.find(node => node.id === id);
|
|
28
34
|
if (!node)
|
|
29
35
|
throw Error(`Node with id: '${id}' not found`);
|
|
30
|
-
if (node.type === HtNodeWithoutContentType.GO_TO_FLOW) {
|
|
36
|
+
if (node.type === hubtype_fields_1.HtNodeWithoutContentType.GO_TO_FLOW) {
|
|
31
37
|
return this.getNodeByFlowId(node.content.flow_id);
|
|
32
38
|
}
|
|
33
39
|
return node;
|
|
@@ -45,7 +51,7 @@ export class FlowBuilderApi {
|
|
|
45
51
|
return this.getNodeById(startNodeId);
|
|
46
52
|
}
|
|
47
53
|
getFallbackNode(alternate) {
|
|
48
|
-
const fallbackNode = this.flow.nodes.find(node => node.type === HtNodeWithContentType.FALLBACK);
|
|
54
|
+
const fallbackNode = this.flow.nodes.find(node => node.type === hubtype_fields_1.HtNodeWithContentType.FALLBACK);
|
|
49
55
|
if (!fallbackNode) {
|
|
50
56
|
throw new Error('Fallback node must be defined');
|
|
51
57
|
}
|
|
@@ -62,7 +68,7 @@ export class FlowBuilderApi {
|
|
|
62
68
|
: this.getNodeById(fallbackSecondMessage.id);
|
|
63
69
|
}
|
|
64
70
|
getKnowledgeBaseConfig() {
|
|
65
|
-
const fallbackNode = this.flow.nodes.find(node => node.type === HtNodeWithContentType.FALLBACK);
|
|
71
|
+
const fallbackNode = this.flow.nodes.find(node => node.type === hubtype_fields_1.HtNodeWithContentType.FALLBACK);
|
|
66
72
|
return fallbackNode
|
|
67
73
|
? {
|
|
68
74
|
followup: fallbackNode.content.knowledge_base_followup,
|
|
@@ -72,7 +78,7 @@ export class FlowBuilderApi {
|
|
|
72
78
|
}
|
|
73
79
|
getIntentNode(input, locale) {
|
|
74
80
|
try {
|
|
75
|
-
const intentsNodes = this.flow.nodes.filter(node => node.type === HtNodeWithContentType.INTENT);
|
|
81
|
+
const intentsNodes = this.flow.nodes.filter(node => node.type === hubtype_fields_1.HtNodeWithContentType.INTENT);
|
|
76
82
|
const inputIntent = input.intent;
|
|
77
83
|
if (inputIntent) {
|
|
78
84
|
return intentsNodes.find(node => inputIntent && this.nodeContainsIntent(node, inputIntent, locale));
|
|
@@ -92,7 +98,7 @@ export class FlowBuilderApi {
|
|
|
92
98
|
}
|
|
93
99
|
getNodeByKeyword(userInput, locale) {
|
|
94
100
|
try {
|
|
95
|
-
const keywordNodes = this.flow.nodes.filter(node => node.type === HtNodeWithContentType.KEYWORD);
|
|
101
|
+
const keywordNodes = this.flow.nodes.filter(node => node.type === hubtype_fields_1.HtNodeWithContentType.KEYWORD);
|
|
96
102
|
const matchedKeywordNodes = keywordNodes.filter(node => this.matchKeywords(node, userInput, locale));
|
|
97
103
|
if (matchedKeywordNodes.length > 0 && matchedKeywordNodes[0].target) {
|
|
98
104
|
return matchedKeywordNodes[0];
|
|
@@ -114,19 +120,22 @@ export class FlowBuilderApi {
|
|
|
114
120
|
if (!target) {
|
|
115
121
|
return undefined;
|
|
116
122
|
}
|
|
117
|
-
if (target.type === HtNodeWithoutContentType.BOT_ACTION) {
|
|
123
|
+
if (target.type === hubtype_fields_1.HtNodeWithoutContentType.BOT_ACTION) {
|
|
118
124
|
const botActionNode = this.getNodeById(target.id);
|
|
119
125
|
return this.createPayloadWithParams(botActionNode);
|
|
120
126
|
}
|
|
121
127
|
return target.id;
|
|
122
128
|
}
|
|
123
129
|
createPayloadWithParams(botActionNode) {
|
|
124
|
-
var _a;
|
|
125
130
|
const payloadId = botActionNode.content.payload_id;
|
|
126
131
|
const payloadNode = this.getNodeById(payloadId);
|
|
127
132
|
const customParams = JSON.parse(botActionNode.content.payload_params || '{}');
|
|
128
|
-
const payloadJson = JSON.stringify(
|
|
129
|
-
|
|
133
|
+
const payloadJson = JSON.stringify({
|
|
134
|
+
...customParams,
|
|
135
|
+
followUpId: botActionNode.follow_up?.id,
|
|
136
|
+
});
|
|
137
|
+
return `${payloadNode.content.payload}${constants_1.SEPARATOR}${payloadJson}`;
|
|
130
138
|
}
|
|
131
139
|
}
|
|
140
|
+
exports.FlowBuilderApi = FlowBuilderApi;
|
|
132
141
|
//# sourceMappingURL=api.js.map
|
package/lib/esm/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"AACA,
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/constants.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VARIABLE_REGEX = exports.SOURCE_INFO_SEPARATOR = exports.SEPARATOR = void 0;
|
|
4
|
+
exports.SEPARATOR = '|';
|
|
5
|
+
exports.SOURCE_INFO_SEPARATOR = `${exports.SEPARATOR}source_`;
|
|
6
|
+
exports.VARIABLE_REGEX = /{([^}]+)}/g;
|
|
4
7
|
//# sourceMappingURL=constants.js.map
|
package/lib/esm/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG,GAAG,CAAA;AACf,QAAA,qBAAqB,GAAG,GAAG,iBAAS,SAAS,CAAA;AAC7C,QAAA,cAAc,GAAG,YAAY,CAAA"}
|
|
@@ -1,24 +1,26 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ContentFieldsBase = void 0;
|
|
4
|
+
class ContentFieldsBase {
|
|
5
|
+
id;
|
|
2
6
|
constructor(id) {
|
|
3
7
|
this.id = id;
|
|
4
8
|
}
|
|
5
9
|
static getTextByLocale(locale, text) {
|
|
6
|
-
var _a;
|
|
7
10
|
const result = text.find(t => t.locale === locale);
|
|
8
|
-
return
|
|
11
|
+
return result?.message ?? '';
|
|
9
12
|
}
|
|
10
13
|
static getImageByLocale(locale, image) {
|
|
11
|
-
var _a;
|
|
12
14
|
const result = image.find(i => i.locale === locale);
|
|
13
|
-
return
|
|
15
|
+
return result?.file ?? '';
|
|
14
16
|
}
|
|
15
17
|
static getVideoByLocale(locale, video) {
|
|
16
|
-
var _a;
|
|
17
18
|
const result = video.find(v => v.locale === locale);
|
|
18
|
-
return
|
|
19
|
+
return result?.url ?? '';
|
|
19
20
|
}
|
|
20
21
|
static getQueueByLocale(locale, queues) {
|
|
21
22
|
return queues.find(queue => queue.locale === locale);
|
|
22
23
|
}
|
|
23
24
|
}
|
|
25
|
+
exports.ContentFieldsBase = ContentFieldsBase;
|
|
24
26
|
//# sourceMappingURL=content-fields-base.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-fields-base.js","sourceRoot":"","sources":["../../../src/content-fields/content-fields-base.ts"],"names":[],"mappings":"AAOA,
|
|
1
|
+
{"version":3,"file":"content-fields-base.js","sourceRoot":"","sources":["../../../src/content-fields/content-fields-base.ts"],"names":[],"mappings":";;;AAOA,MAAsB,iBAAiB;IACT;IAA5B,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,MAAM,EAAE,OAAO,IAAI,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,MAAM,EAAE,IAAI,IAAI,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,MAAM,EAAE,GAAG,IAAI,EAAE,CAAA;IAC1B,CAAC;IAED,MAAM,CAAC,gBAAgB,CACrB,MAAc,EACd,MAAuB;QAEvB,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;IACtD,CAAC;CACF;AAxBD,8CAwBC"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FlowButton = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("@botonic/react");
|
|
6
|
+
const constants_1 = require("../constants");
|
|
7
|
+
const content_fields_base_1 = require("./content-fields-base");
|
|
8
|
+
const hubtype_fields_1 = require("./hubtype-fields");
|
|
9
|
+
class FlowButton extends content_fields_base_1.ContentFieldsBase {
|
|
10
|
+
text = '';
|
|
11
|
+
url;
|
|
12
|
+
payload;
|
|
11
13
|
static fromHubtypeCMS(cmsButton, locale, cmsApi) {
|
|
12
14
|
const payloadId = this.getPayloadId(cmsButton, locale);
|
|
13
15
|
const urlId = this.getUrlId(cmsButton, locale);
|
|
@@ -28,23 +30,22 @@ export class FlowButton extends ContentFieldsBase {
|
|
|
28
30
|
return newButton;
|
|
29
31
|
}
|
|
30
32
|
static getPayloadId(cmsButton, locale) {
|
|
31
|
-
|
|
32
|
-
return (_a = cmsButton.payload.find(payload => payload.locale === locale)) === null || _a === void 0 ? void 0 : _a.id;
|
|
33
|
+
return cmsButton.payload.find(payload => payload.locale === locale)?.id;
|
|
33
34
|
}
|
|
34
35
|
static getUrlId(cmsButton, locale) {
|
|
35
|
-
|
|
36
|
-
return (_a = cmsButton.url.find(url => url.locale === locale)) === null || _a === void 0 ? void 0 : _a.id;
|
|
36
|
+
return cmsButton.url.find(url => url.locale === locale)?.id;
|
|
37
37
|
}
|
|
38
38
|
renderButton(buttonIndex, buttonStyle) {
|
|
39
|
-
if (buttonStyle === HtButtonStyle.QUICK_REPLY) {
|
|
40
|
-
return (
|
|
39
|
+
if (buttonStyle === hubtype_fields_1.HtButtonStyle.QUICK_REPLY) {
|
|
40
|
+
return ((0, jsx_runtime_1.jsx)(react_1.Reply, { payload: this.getButtonPayload(buttonIndex), children: this.text }, this.id));
|
|
41
41
|
}
|
|
42
|
-
return (
|
|
42
|
+
return ((0, jsx_runtime_1.jsx)(react_1.Button, { url: this.url, payload: this.getButtonPayload(buttonIndex), children: this.text }, this.id));
|
|
43
43
|
}
|
|
44
44
|
getButtonPayload(buttonIndex) {
|
|
45
45
|
return this.payload
|
|
46
|
-
? `${this.payload}${SOURCE_INFO_SEPARATOR}${buttonIndex}`
|
|
46
|
+
? `${this.payload}${constants_1.SOURCE_INFO_SEPARATOR}${buttonIndex}`
|
|
47
47
|
: undefined;
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
|
+
exports.FlowButton = FlowButton;
|
|
50
51
|
//# sourceMappingURL=flow-button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-button.js","sourceRoot":"","sources":["../../../src/content-fields/flow-button.tsx"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"flow-button.js","sourceRoot":"","sources":["../../../src/content-fields/flow-button.tsx"],"names":[],"mappings":";;;;AAAA,0CAA8C;AAI9C,4CAAoD;AACpD,+DAAyD;AACzD,qDAKyB;AAEzB,MAAa,UAAW,SAAQ,uCAAiB;IACxC,IAAI,GAAG,EAAE,CAAA;IACT,GAAG,CAAS;IACZ,OAAO,CAAS;IAEvB,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,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;SACxD;QAED,cAAc;QACd,IAAI,SAAS,CAAC,OAAO,IAAI,SAAS,EAAE;YAClC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAgB,SAAS,CAAC,CAAA;YAChE,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,WAAW,CAAY,KAAK,CAAC,CAAA;YACxD,SAAS,CAAC,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAA;SACxC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,SAAmB,EAAE,MAAc;QACrD,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,EAAE,CAAA;IACzE,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,SAAmB,EAAE,MAAc;QACjD,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,EAAE,CAAA;IAC7D,CAAC;IAED,YAAY,CAAC,WAAmB,EAAE,WAA2B;QAC3D,IAAI,WAAW,KAAK,8BAAa,CAAC,WAAW,EAAE;YAC7C,OAAO,CACL,uBAAC,aAAK,IAAe,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,YAC7D,IAAI,CAAC,IAAI,IADA,IAAI,CAAC,EAAE,CAEX,CACT,CAAA;SACF;QACD,OAAO,CACL,uBAAC,cAAM,IAEL,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,YAE1C,IAAI,CAAC,IAAI,IAJL,IAAI,CAAC,EAAE,CAKL,CACV,CAAA;IACH,CAAC;IAEO,gBAAgB,CAAC,WAAmB;QAC1C,OAAO,IAAI,CAAC,OAAO;YACjB,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,iCAAqB,GAAG,WAAW,EAAE;YACzD,CAAC,CAAC,SAAS,CAAA;IACf,CAAC;CACF;AAhED,gCAgEC"}
|
|
@@ -1,21 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FlowCarousel = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("@botonic/react");
|
|
6
|
+
const content_fields_base_1 = require("./content-fields-base");
|
|
7
|
+
const flow_element_1 = require("./flow-element");
|
|
8
|
+
class FlowCarousel extends content_fields_base_1.ContentFieldsBase {
|
|
9
|
+
code = '';
|
|
10
|
+
elements = [];
|
|
11
11
|
static fromHubtypeCMS(component, locale, cmsApi) {
|
|
12
12
|
const newCarousel = new FlowCarousel(component.id);
|
|
13
13
|
newCarousel.code = component.code;
|
|
14
|
-
newCarousel.elements = component.content.elements.map(element => FlowElement.fromHubtypeCMS(element, locale, cmsApi));
|
|
14
|
+
newCarousel.elements = component.content.elements.map(element => flow_element_1.FlowElement.fromHubtypeCMS(element, locale, cmsApi));
|
|
15
15
|
return newCarousel;
|
|
16
16
|
}
|
|
17
17
|
toBotonic(id) {
|
|
18
|
-
return (
|
|
18
|
+
return ((0, jsx_runtime_1.jsx)(react_1.Carousel, { children: this.elements.map(element => element.toBotonic(id)) }, id));
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
+
exports.FlowCarousel = FlowCarousel;
|
|
21
22
|
//# sourceMappingURL=flow-carousel.js.map
|
|
@@ -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;AAIzC,+DAAyD;AACzD,iDAA4C;AAG5C,MAAa,YAAa,SAAQ,uCAAiB;IAC1C,IAAI,GAAG,EAAE,CAAA;IACT,QAAQ,GAAkB,EAAE,CAAA;IAEnC,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,uBAAC,gBAAQ,cACN,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,IADvC,EAAE,CAEN,CACZ,CAAA;IACH,CAAC;CACF;AAxBD,oCAwBC"}
|
|
@@ -1,30 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FlowElement = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("@botonic/react");
|
|
6
|
+
const content_fields_base_1 = require("./content-fields-base");
|
|
7
|
+
const flow_button_1 = require("./flow-button");
|
|
8
|
+
class FlowElement extends content_fields_base_1.ContentFieldsBase {
|
|
9
|
+
title = '';
|
|
10
|
+
subtitle = '';
|
|
11
|
+
button;
|
|
12
|
+
image = '';
|
|
13
|
+
hidden = false;
|
|
13
14
|
static fromHubtypeCMS(component, locale, cmsApi) {
|
|
14
15
|
const newElement = new FlowElement(component.id);
|
|
15
16
|
newElement.title = this.getTextByLocale(locale, component.title);
|
|
16
17
|
newElement.subtitle = this.getTextByLocale(locale, component.subtitle);
|
|
17
18
|
newElement.image = this.getImageByLocale(locale, component.image);
|
|
18
|
-
newElement.button = FlowButton.fromHubtypeCMS(component.button, locale, cmsApi);
|
|
19
|
+
newElement.button = flow_button_1.FlowButton.fromHubtypeCMS(component.button, locale, cmsApi);
|
|
19
20
|
return newElement;
|
|
20
21
|
}
|
|
21
22
|
toBotonic(parentId) {
|
|
22
|
-
|
|
23
|
-
return (React.createElement(Element, { key: `${parentId}-${this.id}` },
|
|
24
|
-
React.createElement(Pic, { src: this.image }),
|
|
25
|
-
React.createElement(Title, null, this.title),
|
|
26
|
-
React.createElement(Subtitle, null, this.subtitle), (_a = this.button) === null || _a === void 0 ? void 0 :
|
|
27
|
-
_a.renderButton(0)));
|
|
23
|
+
return ((0, jsx_runtime_1.jsxs)(react_1.Element, { children: [(0, jsx_runtime_1.jsx)(react_1.Pic, { src: this.image }), (0, jsx_runtime_1.jsx)(react_1.Title, { children: this.title }), (0, jsx_runtime_1.jsx)(react_1.Subtitle, { children: this.subtitle }), this.button?.renderButton(0)] }, `${parentId}-${this.id}`));
|
|
28
24
|
}
|
|
29
25
|
}
|
|
26
|
+
exports.FlowElement = FlowElement;
|
|
30
27
|
//# sourceMappingURL=flow-element.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-element.js","sourceRoot":"","sources":["../../../src/content-fields/flow-element.tsx"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"flow-element.js","sourceRoot":"","sources":["../../../src/content-fields/flow-element.tsx"],"names":[],"mappings":";;;;AAAA,0CAA8D;AAI9D,+DAAyD;AACzD,+CAA0C;AAG1C,MAAa,WAAY,SAAQ,uCAAiB;IACzC,KAAK,GAAG,EAAE,CAAA;IACV,QAAQ,GAAG,EAAE,CAAA;IACb,MAAM,CAAwB;IAC9B,KAAK,GAAG,EAAE,CAAA;IACV,MAAM,GAAG,KAAK,CAAA;IAErB,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,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;AAlCD,kCAkCC"}
|
|
@@ -1,10 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FlowHandoff = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const core_1 = require("@botonic/core");
|
|
6
|
+
const react_1 = require("@botonic/react");
|
|
7
|
+
const tracking_1 = require("../action/tracking");
|
|
8
|
+
const conditional_queue_status_1 = require("../functions/conditional-queue-status");
|
|
9
|
+
const content_fields_base_1 = require("./content-fields-base");
|
|
10
|
+
class FlowHandoff extends content_fields_base_1.ContentFieldsBase {
|
|
11
|
+
code;
|
|
12
|
+
queue;
|
|
13
|
+
onFinishPayload;
|
|
14
|
+
handoffAutoAssign;
|
|
8
15
|
static fromHubtypeCMS(cmsHandoff, locale, cmsApi) {
|
|
9
16
|
const newHandoff = new FlowHandoff(cmsHandoff.id);
|
|
10
17
|
newHandoff.code = cmsHandoff.code;
|
|
@@ -14,12 +21,11 @@ export class FlowHandoff extends ContentFieldsBase {
|
|
|
14
21
|
return newHandoff;
|
|
15
22
|
}
|
|
16
23
|
static getOnFinishPayload(cmsHandoff, locale, cmsApi) {
|
|
17
|
-
|
|
18
|
-
if ((_a = cmsHandoff.target) === null || _a === void 0 ? void 0 : _a.id) {
|
|
24
|
+
if (cmsHandoff.target?.id) {
|
|
19
25
|
return cmsApi.getPayload(cmsHandoff.target);
|
|
20
26
|
}
|
|
21
27
|
// OLD PAYLOAD
|
|
22
|
-
const payloadId =
|
|
28
|
+
const payloadId = cmsHandoff.content.payload.find(payload => payload.locale === locale)?.id;
|
|
23
29
|
if (payloadId) {
|
|
24
30
|
return cmsApi.getNodeById(payloadId).content.payload;
|
|
25
31
|
}
|
|
@@ -27,26 +33,27 @@ export class FlowHandoff extends ContentFieldsBase {
|
|
|
27
33
|
}
|
|
28
34
|
async doHandoff(request) {
|
|
29
35
|
// @ts-ignore
|
|
30
|
-
const handOffBuilder = new HandOffBuilder(request.session);
|
|
36
|
+
const handOffBuilder = new core_1.HandOffBuilder(request.session);
|
|
31
37
|
handOffBuilder.withAutoAssignOnWaiting(this.handoffAutoAssign);
|
|
32
38
|
if (this.onFinishPayload) {
|
|
33
39
|
handOffBuilder.withOnFinishPayload(this.onFinishPayload);
|
|
34
40
|
}
|
|
35
41
|
if (this.queue) {
|
|
36
|
-
const availabilityData = await getQueueAvailability(this.queue.id);
|
|
42
|
+
const availabilityData = await (0, conditional_queue_status_1.getQueueAvailability)(this.queue.id);
|
|
37
43
|
const eventArgs = {
|
|
38
44
|
queue_open: availabilityData.open,
|
|
39
45
|
queue_id: this.queue.id,
|
|
40
46
|
available_agents: availabilityData.available_agents > 0,
|
|
41
47
|
threshold_reached: availabilityData.availability_threshold_waiting_cases > 0,
|
|
42
48
|
};
|
|
43
|
-
await trackEvent(request, EventName.handoffSuccess, eventArgs);
|
|
49
|
+
await (0, tracking_1.trackEvent)(request, tracking_1.EventName.handoffSuccess, eventArgs);
|
|
44
50
|
handOffBuilder.withQueue(this.queue.id);
|
|
45
51
|
await handOffBuilder.handOff();
|
|
46
52
|
}
|
|
47
53
|
}
|
|
48
54
|
toBotonic() {
|
|
49
|
-
return
|
|
55
|
+
return (0, jsx_runtime_1.jsx)(react_1.WebchatSettings, { enableUserInput: true });
|
|
50
56
|
}
|
|
51
57
|
}
|
|
58
|
+
exports.FlowHandoff = FlowHandoff;
|
|
52
59
|
//# sourceMappingURL=flow-handoff.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-handoff.js","sourceRoot":"","sources":["../../../src/content-fields/flow-handoff.tsx"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"flow-handoff.js","sourceRoot":"","sources":["../../../src/content-fields/flow-handoff.tsx"],"names":[],"mappings":";;;;AAAA,wCAA8C;AAC9C,0CAA+D;AAG/D,iDAA0D;AAE1D,oFAA4E;AAC5E,+DAAyD;AAGzD,MAAa,WAAY,SAAQ,uCAAiB;IACzC,IAAI,CAAQ;IACZ,KAAK,CAAgB;IACrB,eAAe,CAAS;IACxB,iBAAiB,CAAS;IAEjC,MAAM,CAAC,cAAc,CACnB,UAAyB,EACzB,MAAc,EACd,MAAsB;QAEtB,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;QACjD,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAA;QACjC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC1E,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAClD,UAAU,EACV,MAAM,EACN,MAAM,CACP,CAAA;QACD,UAAU,CAAC,iBAAiB,GAAG,UAAU,CAAC,OAAO,CAAC,eAAe,CAAA;QAEjE,OAAO,UAAU,CAAA;IACnB,CAAC;IAEO,MAAM,CAAC,kBAAkB,CAC/B,UAAyB,EACzB,MAAc,EACd,MAAsB;QAEtB,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE;YACzB,OAAO,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;SAC5C;QAED,cAAc;QACd,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAC/C,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,CACrC,EAAE,EAAE,CAAA;QACL,IAAI,SAAS,EAAE;YACb,OAAO,MAAM,CAAC,WAAW,CAAgB,SAAS,CAAC,CAAC,OAAO,CAAC,OAAO,CAAA;SACpE;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAsB;QACpC,aAAa;QACb,MAAM,cAAc,GAAG,IAAI,qBAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC1D,cAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QAC9D,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;SACzD;QACD,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,MAAM,gBAAgB,GAAG,MAAM,IAAA,+CAAoB,EAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAClE,MAAM,SAAS,GAAG;gBAChB,UAAU,EAAE,gBAAgB,CAAC,IAAI;gBACjC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;gBACvB,gBAAgB,EAAE,gBAAgB,CAAC,gBAAgB,GAAG,CAAC;gBACvD,iBAAiB,EACf,gBAAgB,CAAC,oCAAoC,GAAG,CAAC;aAC5D,CAAA;YACD,MAAM,IAAA,qBAAU,EAAC,OAAO,EAAE,oBAAS,CAAC,cAAc,EAAE,SAAS,CAAC,CAAA;YAE9D,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YACvC,MAAM,cAAc,CAAC,OAAO,EAAE,CAAA;SAC/B;IACH,CAAC;IAED,SAAS;QACP,OAAO,uBAAC,uBAAe,IAAC,eAAe,EAAE,IAAI,GAAI,CAAA;IACnD,CAAC;CACF;AAtED,kCAsEC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FlowImage = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("@botonic/react");
|
|
6
|
+
const content_fields_base_1 = require("./content-fields-base");
|
|
7
|
+
class FlowImage extends content_fields_base_1.ContentFieldsBase {
|
|
8
|
+
src = '';
|
|
9
|
+
code = '';
|
|
10
10
|
static fromHubtypeCMS(component, locale) {
|
|
11
11
|
const newImage = new FlowImage(component.id);
|
|
12
12
|
newImage.code = component.code;
|
|
@@ -14,7 +14,8 @@ export class FlowImage extends ContentFieldsBase {
|
|
|
14
14
|
return newImage;
|
|
15
15
|
}
|
|
16
16
|
toBotonic(id) {
|
|
17
|
-
return
|
|
17
|
+
return (0, jsx_runtime_1.jsx)(react_1.Image, { src: this.src }, id);
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
+
exports.FlowImage = FlowImage;
|
|
20
21
|
//# sourceMappingURL=flow-image.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-image.js","sourceRoot":"","sources":["../../../src/content-fields/flow-image.tsx"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"flow-image.js","sourceRoot":"","sources":["../../../src/content-fields/flow-image.tsx"],"names":[],"mappings":";;;;AAAA,0CAAsC;AAGtC,+DAAyD;AAGzD,MAAa,SAAU,SAAQ,uCAAiB;IACvC,GAAG,GAAG,EAAE,CAAA;IACR,IAAI,GAAG,EAAE,CAAA;IAEhB,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,uBAAC,aAAK,IAAU,GAAG,EAAE,IAAI,CAAC,GAAG,IAAjB,EAAE,CAAmB,CAAA;IAC1C,CAAC;CACF;AAdD,8BAcC"}
|
|
@@ -1,42 +1,40 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FlowText = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("@botonic/react");
|
|
6
|
+
const constants_1 = require("../constants");
|
|
7
|
+
const content_fields_base_1 = require("./content-fields-base");
|
|
8
|
+
const flow_button_1 = require("./flow-button");
|
|
9
|
+
const hubtype_fields_1 = require("./hubtype-fields");
|
|
10
|
+
class FlowText extends content_fields_base_1.ContentFieldsBase {
|
|
11
|
+
text = '';
|
|
12
|
+
code = '';
|
|
13
|
+
buttons = [];
|
|
14
|
+
buttonStyle = hubtype_fields_1.HtButtonStyle.BUTTON;
|
|
15
15
|
static fromHubtypeCMS(cmsText, locale, cmsApi) {
|
|
16
16
|
const newText = new FlowText(cmsText.id);
|
|
17
17
|
newText.code = cmsText.code;
|
|
18
|
-
newText.buttonStyle = cmsText.content.buttons_style || HtButtonStyle.BUTTON;
|
|
18
|
+
newText.buttonStyle = cmsText.content.buttons_style || hubtype_fields_1.HtButtonStyle.BUTTON;
|
|
19
19
|
newText.text = this.replaceVariables(this.getTextByLocale(locale, cmsText.content.text), cmsApi.request.session.user.extra_data);
|
|
20
|
-
newText.buttons = cmsText.content.buttons.map(button => FlowButton.fromHubtypeCMS(button, locale, cmsApi));
|
|
20
|
+
newText.buttons = cmsText.content.buttons.map(button => flow_button_1.FlowButton.fromHubtypeCMS(button, locale, cmsApi));
|
|
21
21
|
return newText;
|
|
22
22
|
}
|
|
23
23
|
static replaceVariables(text, extraData) {
|
|
24
|
-
const matches = text.match(VARIABLE_REGEX);
|
|
24
|
+
const matches = text.match(constants_1.VARIABLE_REGEX);
|
|
25
25
|
let replacedText = text;
|
|
26
26
|
if (matches && extraData) {
|
|
27
27
|
matches.forEach(match => {
|
|
28
|
-
var _a;
|
|
29
28
|
const variable = match.slice(1, -1);
|
|
30
|
-
const value =
|
|
29
|
+
const value = extraData[variable] ?? match;
|
|
31
30
|
replacedText = replacedText.replace(match, value);
|
|
32
31
|
});
|
|
33
32
|
}
|
|
34
33
|
return replacedText;
|
|
35
34
|
}
|
|
36
35
|
toBotonic(id) {
|
|
37
|
-
return (
|
|
38
|
-
this.text,
|
|
39
|
-
this.buttons.map((button, buttonIndex) => button.renderButton(buttonIndex, this.buttonStyle))));
|
|
36
|
+
return ((0, jsx_runtime_1.jsxs)(react_1.Text, { children: [this.text, this.buttons.map((button, buttonIndex) => button.renderButton(buttonIndex, this.buttonStyle))] }, id));
|
|
40
37
|
}
|
|
41
38
|
}
|
|
39
|
+
exports.FlowText = FlowText;
|
|
42
40
|
//# sourceMappingURL=flow-text.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-text.js","sourceRoot":"","sources":["../../../src/content-fields/flow-text.tsx"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"flow-text.js","sourceRoot":"","sources":["../../../src/content-fields/flow-text.tsx"],"names":[],"mappings":";;;;AAAA,0CAAqC;AAIrC,4CAA6C;AAC7C,+DAAyD;AACzD,+CAA0C;AAC1C,qDAA4D;AAE5D,MAAa,QAAS,SAAQ,uCAAiB;IACtC,IAAI,GAAG,EAAE,CAAA;IACT,IAAI,GAAG,EAAE,CAAA;IACT,OAAO,GAAiB,EAAE,CAAA;IAC1B,WAAW,GAAG,8BAAa,CAAC,MAAM,CAAA;IAEzC,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,gBAAgB,CAClC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAClD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CACvC,CAAA;QACD,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,MAAM,CAAC,gBAAgB,CACrB,IAAY,EACZ,SAA+B;QAE/B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,0BAAc,CAAC,CAAA;QAE1C,IAAI,YAAY,GAAG,IAAI,CAAA;QACvB,IAAI,OAAO,IAAI,SAAS,EAAE;YACxB,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACtB,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;gBACnC,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAA;gBAC1C,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;YACnD,CAAC,CAAC,CAAA;SACH;QAED,OAAO,YAAY,CAAA;IACrB,CAAC;IAED,SAAS,CAAC,EAAU;QAClB,OAAO,CACL,wBAAC,YAAI,eACF,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CACxC,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CACnD,KAJQ,EAAE,CAKN,CACR,CAAA;IACH,CAAC;CACF;AApDD,4BAoDC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FlowVideo = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("@botonic/react");
|
|
6
|
+
const content_fields_base_1 = require("./content-fields-base");
|
|
7
|
+
class FlowVideo extends content_fields_base_1.ContentFieldsBase {
|
|
8
|
+
src = '';
|
|
9
|
+
code = '';
|
|
10
10
|
static fromHubtypeCMS(component, locale) {
|
|
11
11
|
const newVideo = new FlowVideo(component.id);
|
|
12
12
|
newVideo.code = component.code;
|
|
@@ -14,7 +14,8 @@ export class FlowVideo extends ContentFieldsBase {
|
|
|
14
14
|
return newVideo;
|
|
15
15
|
}
|
|
16
16
|
toBotonic(id) {
|
|
17
|
-
return
|
|
17
|
+
return (0, jsx_runtime_1.jsx)(react_1.Video, { src: this.src }, id);
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
+
exports.FlowVideo = FlowVideo;
|
|
20
21
|
//# sourceMappingURL=flow-video.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-video.js","sourceRoot":"","sources":["../../../src/content-fields/flow-video.tsx"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"flow-video.js","sourceRoot":"","sources":["../../../src/content-fields/flow-video.tsx"],"names":[],"mappings":";;;;AAAA,0CAAsC;AAGtC,+DAAyD;AAGzD,MAAa,SAAU,SAAQ,uCAAiB;IACvC,GAAG,GAAG,EAAE,CAAA;IACR,IAAI,GAAG,EAAE,CAAA;IAEhB,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,uBAAC,aAAK,IAAU,GAAG,EAAE,IAAI,CAAC,GAAG,IAAjB,EAAE,CAAmB,CAAA;IAC1C,CAAC;CACF;AAdD,8BAcC"}
|