@botonic/react 0.30.6-alpha.2 → 0.30.6-alpha.3
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/components/multichannel/multichannel-carousel.js +3 -3
- package/lib/cjs/components/multichannel/multichannel-carousel.js.map +1 -1
- package/lib/cjs/components/multichannel/multichannel-utils.d.ts +9 -6
- package/lib/cjs/components/multichannel/multichannel-utils.js +26 -10
- package/lib/cjs/components/multichannel/multichannel-utils.js.map +1 -1
- package/lib/cjs/components/multichannel/multichannel.js +6 -8
- package/lib/cjs/components/multichannel/multichannel.js.map +1 -1
- package/lib/esm/components/multichannel/multichannel-carousel.js +4 -4
- package/lib/esm/components/multichannel/multichannel-carousel.js.map +1 -1
- package/lib/esm/components/multichannel/multichannel-utils.d.ts +9 -6
- package/lib/esm/components/multichannel/multichannel-utils.js +18 -5
- package/lib/esm/components/multichannel/multichannel-utils.js.map +1 -1
- package/lib/esm/components/multichannel/multichannel.js +6 -8
- package/lib/esm/components/multichannel/multichannel.js.map +1 -1
- package/package.json +1 -1
- package/src/components/multichannel/multichannel-carousel.jsx +6 -6
- package/src/components/multichannel/multichannel-utils.js +20 -5
- package/src/components/multichannel/multichannel.jsx +11 -8
|
@@ -21,13 +21,13 @@ const MultichannelCarousel = props => {
|
|
|
21
21
|
let subtitle = undefined;
|
|
22
22
|
const buttons = [];
|
|
23
23
|
for (const node of element) {
|
|
24
|
-
if ((0, multichannel_utils_1.
|
|
24
|
+
if ((0, multichannel_utils_1.isNodePic)(node)) {
|
|
25
25
|
imageProps = node.props;
|
|
26
26
|
}
|
|
27
|
-
if ((0, multichannel_utils_1.
|
|
27
|
+
if ((0, multichannel_utils_1.isNodeTitle)(node)) {
|
|
28
28
|
title = node.props.children;
|
|
29
29
|
}
|
|
30
|
-
if ((0, multichannel_utils_1.
|
|
30
|
+
if ((0, multichannel_utils_1.isNodeSubtitle)(node)) {
|
|
31
31
|
subtitle = node.props.children;
|
|
32
32
|
}
|
|
33
33
|
if ((0, multichannel_utils_1.isMultichannelButton)(node)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multichannel-carousel.js","sourceRoot":"","sources":["../../../../src/components/multichannel/multichannel-carousel.jsx"],"names":[],"mappings":";;;;;AAAA,wCAA0C;AAC1C,uDAAyC;AAEzC,6CAA+C;AAC/C,0CAAsC;AACtC,2DAAsD;AACtD,6DAM6B;AAEtB,MAAM,oBAAoB,GAAG,KAAK,CAAC,EAAE;IAC1C,MAAM,cAAc,GAAG,IAAA,kBAAU,EAAC,yBAAc,CAAC,CAAA;IAEjD,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CACxB,EAAE,CAAC,MAAM,CAAC,IAAA,wCAAmB,EAAC,IAAI,EAAE,yCAAoB,CAAC,CAAC,CAAA;IAE5D,IAAI,IAAA,iBAAU,EAAC,cAAc,CAAC,OAAO,CAAC,EAAE;QACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ;aAC5B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;aAC1B,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;YAClB,IAAI,UAAU,GAAG,SAAS,CAAA;YAC1B,IAAI,KAAK,GAAG,SAAS,CAAA;YACrB,IAAI,QAAQ,GAAG,SAAS,CAAA;YACxB,MAAM,OAAO,GAAG,EAAE,CAAA;YAElB,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE;gBAC1B,IAAI,IAAA,
|
|
1
|
+
{"version":3,"file":"multichannel-carousel.js","sourceRoot":"","sources":["../../../../src/components/multichannel/multichannel-carousel.jsx"],"names":[],"mappings":";;;;;AAAA,wCAA0C;AAC1C,uDAAyC;AAEzC,6CAA+C;AAC/C,0CAAsC;AACtC,2DAAsD;AACtD,6DAM6B;AAEtB,MAAM,oBAAoB,GAAG,KAAK,CAAC,EAAE;IAC1C,MAAM,cAAc,GAAG,IAAA,kBAAU,EAAC,yBAAc,CAAC,CAAA;IAEjD,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CACxB,EAAE,CAAC,MAAM,CAAC,IAAA,wCAAmB,EAAC,IAAI,EAAE,yCAAoB,CAAC,CAAC,CAAA;IAE5D,IAAI,IAAA,iBAAU,EAAC,cAAc,CAAC,OAAO,CAAC,EAAE;QACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ;aAC5B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;aAC1B,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;YAClB,IAAI,UAAU,GAAG,SAAS,CAAA;YAC1B,IAAI,KAAK,GAAG,SAAS,CAAA;YACrB,IAAI,QAAQ,GAAG,SAAS,CAAA;YACxB,MAAM,OAAO,GAAG,EAAE,CAAA;YAElB,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE;gBAC1B,IAAI,IAAA,8BAAS,EAAC,IAAI,CAAC,EAAE;oBACnB,UAAU,GAAG,IAAI,CAAC,KAAK,CAAA;iBACxB;gBACD,IAAI,IAAA,gCAAW,EAAC,IAAI,CAAC,EAAE;oBACrB,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAA;iBAC5B;gBACD,IAAI,IAAA,mCAAc,EAAC,IAAI,CAAC,EAAE;oBACxB,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAA;iBAC/B;gBAED,IAAI,IAAA,yCAAoB,EAAC,IAAI,CAAC,EAAE;oBAC9B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;iBACnB;gBACD,2CAA2C;gBAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBACvB,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;iBAC/B;aACF;YAED,IAAI,MAAM,GAAG,EAAE,CAAA;YACf,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,EAAE;gBAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;gBAC1C,IAAI,KAAK,IAAI,QAAQ,EAAE;oBACrB,MAAM,IAAI,GAAG,CAAA;iBACd;aACF;YACD,IAAI,KAAK,CAAC,YAAY,IAAI,QAAQ,EAAE;gBAClC,MAAM,IAAI,IAAI,QAAQ,GAAG,CAAA;aAC1B;YAED,OAAO;YACL,wCAAwC;YACxC,wBAAC,oCAAgB,kBAEf,MAAM,EAAE,CAAC,EACT,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,aAAa,EAAE,KAAK,CAAC,aAAa,iBAEjC,MAAM,IAAI,IAAI,EACd,OAAO,MANH,CAAC,CAOW,CACpB,CAAA;YAED,sDAAsD;YACtD,WAAW;YACX,WAAW;YACX,6BAA6B;YAC7B,aAAa;YACb,uBAAuB;YACvB,oCAAoC;YACpC,iBAAiB;YACjB,iBAAiB;YACjB,oBAAoB;YACpB,oBAAoB;YACpB,sBAAsB;YACtB,WAAW;YACX,gBAAgB;YAChB,sBAAsB;YACtB,IAAI;YACJ,IAAI;QACN,CAAC,CAAC,CAAA;QACJ,OAAO,QAAQ,CAAA;KAChB;SAAM;QACL,OAAO,uBAAC,mBAAQ,oBAAK,KAAK,cAAG,KAAK,CAAC,QAAQ,IAAY,CAAA;KACxD;AACH,CAAC,CAAA;AAjFY,QAAA,oBAAoB,wBAiFhC"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
export function isMultichannelButton(node: any):
|
|
2
|
-
export function isMultichannelReply(node: any):
|
|
3
|
-
export function
|
|
4
|
-
export function
|
|
5
|
-
export function
|
|
6
|
-
export function
|
|
1
|
+
export function isMultichannelButton(node: any): boolean;
|
|
2
|
+
export function isMultichannelReply(node: any): boolean;
|
|
3
|
+
export function isNodeText(node: any): boolean;
|
|
4
|
+
export function isNodeButton(node: any): boolean;
|
|
5
|
+
export function isNodeCarousel(node: any): boolean;
|
|
6
|
+
export function isNodeReply(node: any): boolean;
|
|
7
|
+
export function isNodePic(node: any): boolean;
|
|
8
|
+
export function isNodeTitle(node: any): boolean;
|
|
9
|
+
export function isNodeSubtitle(node: any): boolean;
|
|
7
10
|
export function elementHasUrl(element: any): any;
|
|
8
11
|
export function elementHasPostback(element: any): any;
|
|
9
12
|
export function elementHasWebview(element: any): any;
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getMultichannelReplies = exports.getMultichannelButtons = exports.getFilteredElements = exports.getButtonType = exports.buttonTypes = exports.elementHasWebview = exports.elementHasPostback = exports.elementHasUrl = exports.
|
|
3
|
+
exports.getMultichannelReplies = exports.getMultichannelButtons = exports.getFilteredElements = exports.getButtonType = exports.buttonTypes = exports.elementHasWebview = exports.elementHasPostback = exports.elementHasUrl = exports.isNodeSubtitle = exports.isNodeTitle = exports.isNodePic = exports.isNodeReply = exports.isNodeCarousel = exports.isNodeButton = exports.isNodeText = exports.isMultichannelReply = exports.isMultichannelButton = void 0;
|
|
4
4
|
const button_1 = require("../button");
|
|
5
|
+
const carousel_1 = require("../carousel");
|
|
5
6
|
const pic_1 = require("../pic");
|
|
7
|
+
const reply_1 = require("../reply");
|
|
6
8
|
const subtitle_1 = require("../subtitle");
|
|
9
|
+
const text_1 = require("../text");
|
|
7
10
|
const title_1 = require("../title");
|
|
8
11
|
const multichannel_button_1 = require("./multichannel-button");
|
|
9
12
|
const multichannel_reply_1 = require("./multichannel-reply");
|
|
10
13
|
function isNodeKind(node, kind) {
|
|
11
|
-
|
|
14
|
+
var _a;
|
|
15
|
+
return ((_a = node === null || node === void 0 ? void 0 : node.type) === null || _a === void 0 ? void 0 : _a.name) === kind;
|
|
12
16
|
}
|
|
13
17
|
function isMultichannelButton(node) {
|
|
14
18
|
return isNodeKind(node, multichannel_button_1.MultichannelButton.name);
|
|
@@ -18,22 +22,34 @@ function isMultichannelReply(node) {
|
|
|
18
22
|
return isNodeKind(node, multichannel_reply_1.MultichannelReply.name);
|
|
19
23
|
}
|
|
20
24
|
exports.isMultichannelReply = isMultichannelReply;
|
|
21
|
-
function
|
|
25
|
+
function isNodeText(node) {
|
|
26
|
+
return isNodeKind(node, text_1.Text.name);
|
|
27
|
+
}
|
|
28
|
+
exports.isNodeText = isNodeText;
|
|
29
|
+
function isNodeButton(node) {
|
|
22
30
|
return isNodeKind(node, button_1.Button.name);
|
|
23
31
|
}
|
|
24
|
-
exports.
|
|
25
|
-
function
|
|
32
|
+
exports.isNodeButton = isNodeButton;
|
|
33
|
+
function isNodeCarousel(node) {
|
|
34
|
+
return isNodeKind(node, carousel_1.Carousel.name);
|
|
35
|
+
}
|
|
36
|
+
exports.isNodeCarousel = isNodeCarousel;
|
|
37
|
+
function isNodeReply(node) {
|
|
38
|
+
return isNodeKind(node, reply_1.Reply.name);
|
|
39
|
+
}
|
|
40
|
+
exports.isNodeReply = isNodeReply;
|
|
41
|
+
function isNodePic(node) {
|
|
26
42
|
return isNodeKind(node, pic_1.Pic.name);
|
|
27
43
|
}
|
|
28
|
-
exports.
|
|
29
|
-
function
|
|
44
|
+
exports.isNodePic = isNodePic;
|
|
45
|
+
function isNodeTitle(node) {
|
|
30
46
|
return isNodeKind(node, title_1.Title.name);
|
|
31
47
|
}
|
|
32
|
-
exports.
|
|
33
|
-
function
|
|
48
|
+
exports.isNodeTitle = isNodeTitle;
|
|
49
|
+
function isNodeSubtitle(node) {
|
|
34
50
|
return isNodeKind(node, subtitle_1.Subtitle.name);
|
|
35
51
|
}
|
|
36
|
-
exports.
|
|
52
|
+
exports.isNodeSubtitle = isNodeSubtitle;
|
|
37
53
|
function elementHasUrl(element) {
|
|
38
54
|
var _a;
|
|
39
55
|
return (_a = element === null || element === void 0 ? void 0 : element.props) === null || _a === void 0 ? void 0 : _a.url;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multichannel-utils.js","sourceRoot":"","sources":["../../../../src/components/multichannel/multichannel-utils.js"],"names":[],"mappings":";;;AAAA,sCAAkC;AAClC,gCAA4B;AAC5B,0CAAsC;AACtC,oCAAgC;AAChC,+DAA0D;AAC1D,6DAAwD;AAExD,SAAS,UAAU,CAAC,IAAI,EAAE,IAAI
|
|
1
|
+
{"version":3,"file":"multichannel-utils.js","sourceRoot":"","sources":["../../../../src/components/multichannel/multichannel-utils.js"],"names":[],"mappings":";;;AAAA,sCAAkC;AAClC,0CAAsC;AACtC,gCAA4B;AAC5B,oCAAgC;AAChC,0CAAsC;AACtC,kCAA8B;AAC9B,oCAAgC;AAChC,+DAA0D;AAC1D,6DAAwD;AAExD,SAAS,UAAU,CAAC,IAAI,EAAE,IAAI;;IAC5B,OAAO,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,0CAAE,IAAI,MAAK,IAAI,CAAA;AAClC,CAAC;AAED,SAAgB,oBAAoB,CAAC,IAAI;IACvC,OAAO,UAAU,CAAC,IAAI,EAAE,wCAAkB,CAAC,IAAI,CAAC,CAAA;AAClD,CAAC;AAFD,oDAEC;AAED,SAAgB,mBAAmB,CAAC,IAAI;IACtC,OAAO,UAAU,CAAC,IAAI,EAAE,sCAAiB,CAAC,IAAI,CAAC,CAAA;AACjD,CAAC;AAFD,kDAEC;AAED,SAAgB,UAAU,CAAC,IAAI;IAC7B,OAAO,UAAU,CAAC,IAAI,EAAE,WAAI,CAAC,IAAI,CAAC,CAAA;AACpC,CAAC;AAFD,gCAEC;AAED,SAAgB,YAAY,CAAC,IAAI;IAC/B,OAAO,UAAU,CAAC,IAAI,EAAE,eAAM,CAAC,IAAI,CAAC,CAAA;AACtC,CAAC;AAFD,oCAEC;AAED,SAAgB,cAAc,CAAC,IAAI;IACjC,OAAO,UAAU,CAAC,IAAI,EAAE,mBAAQ,CAAC,IAAI,CAAC,CAAA;AACxC,CAAC;AAFD,wCAEC;AAED,SAAgB,WAAW,CAAC,IAAI;IAC9B,OAAO,UAAU,CAAC,IAAI,EAAE,aAAK,CAAC,IAAI,CAAC,CAAA;AACrC,CAAC;AAFD,kCAEC;AAED,SAAgB,SAAS,CAAC,IAAI;IAC5B,OAAO,UAAU,CAAC,IAAI,EAAE,SAAG,CAAC,IAAI,CAAC,CAAA;AACnC,CAAC;AAFD,8BAEC;AAED,SAAgB,WAAW,CAAC,IAAI;IAC9B,OAAO,UAAU,CAAC,IAAI,EAAE,aAAK,CAAC,IAAI,CAAC,CAAA;AACrC,CAAC;AAFD,kCAEC;AAED,SAAgB,cAAc,CAAC,IAAI;IACjC,OAAO,UAAU,CAAC,IAAI,EAAE,mBAAQ,CAAC,IAAI,CAAC,CAAA;AACxC,CAAC;AAFD,wCAEC;AAED,SAAgB,aAAa,CAAC,OAAO;;IACnC,OAAO,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,0CAAE,GAAG,CAAA;AAC5B,CAAC;AAFD,sCAEC;AAED,SAAgB,kBAAkB,CAAC,OAAO;;IACxC,OAAO,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,0CAAE,OAAO,MAAI,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,0CAAE,IAAI,CAAA,CAAA;AACxD,CAAC;AAFD,gDAEC;AAED,SAAgB,iBAAiB,CAAC,OAAO;;IACvC,OAAO,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,0CAAE,OAAO,CAAA;AAChC,CAAC;AAFD,8CAEC;AAEY,QAAA,WAAW,GAAG;IACzB,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,SAAS;CACnB,CAAA;AAED,SAAgB,aAAa,CAAC,kBAAkB;IAC9C,IAAI,aAAa,CAAC,kBAAkB,CAAC;QAAE,OAAO,mBAAW,CAAC,GAAG,CAAA;IAC7D,IAAI,kBAAkB,CAAC,kBAAkB,CAAC;QAAE,OAAO,mBAAW,CAAC,QAAQ,CAAA;IACvE,IAAI,iBAAiB,CAAC,kBAAkB,CAAC;QAAE,OAAO,mBAAW,CAAC,OAAO,CAAA;IAErE,OAAO,SAAS,CAAA;AAClB,CAAC;AAND,sCAMC;AAED,SAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM;IAC9C,MAAM,QAAQ,GAAG,EAAE,CAAA;IACnB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;QACpB,IAAI,MAAM,CAAC,CAAC,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAChC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAND,kDAMC;AAED,SAAgB,sBAAsB,CAAC,IAAI;IACzC,OAAO,mBAAmB,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAA;AACxD,CAAC;AAFD,wDAEC;AAED,SAAgB,sBAAsB,CAAC,IAAI;IACzC,OAAO,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAA;AACvD,CAAC;AAFD,wDAEC"}
|
|
@@ -8,15 +8,13 @@ const core_1 = require("@botonic/core");
|
|
|
8
8
|
const react_2 = tslib_1.__importStar(require("react"));
|
|
9
9
|
const contexts_1 = require("../../contexts");
|
|
10
10
|
const react_3 = require("../../util/react");
|
|
11
|
-
const button_1 = require("../button");
|
|
12
|
-
const carousel_1 = require("../carousel");
|
|
13
|
-
const reply_1 = require("../reply");
|
|
14
11
|
const text_1 = require("../text");
|
|
15
12
|
const multichannel_button_1 = require("./multichannel-button");
|
|
16
13
|
const multichannel_carousel_1 = require("./multichannel-carousel");
|
|
17
14
|
const multichannel_context_1 = require("./multichannel-context");
|
|
18
15
|
const multichannel_reply_1 = require("./multichannel-reply");
|
|
19
16
|
const multichannel_text_1 = require("./multichannel-text");
|
|
17
|
+
const multichannel_utils_1 = require("./multichannel-utils");
|
|
20
18
|
const constants_1 = require("./whatsapp/constants");
|
|
21
19
|
const Multichannel = props => {
|
|
22
20
|
const requestContext = (0, react_2.useContext)(contexts_1.RequestContext);
|
|
@@ -26,7 +24,7 @@ const Multichannel = props => {
|
|
|
26
24
|
}
|
|
27
25
|
if ((0, core_1.isFacebook)(requestContext.session)) {
|
|
28
26
|
const newChildren = (0, react_3.deepMapWithIndex)(props.children, child => {
|
|
29
|
-
if (
|
|
27
|
+
if ((0, multichannel_utils_1.isNodeText)(child)) {
|
|
30
28
|
return ((0, react_1.createElement)(multichannel_text_1.MultichannelText, Object.assign({}, child.props, { key: child.key }), child.props.children));
|
|
31
29
|
}
|
|
32
30
|
return child;
|
|
@@ -34,17 +32,17 @@ const Multichannel = props => {
|
|
|
34
32
|
return newChildren;
|
|
35
33
|
}
|
|
36
34
|
let newChildren = (0, react_3.deepMapWithIndex)(props.children, (child, index) => {
|
|
37
|
-
if (
|
|
35
|
+
if ((0, multichannel_utils_1.isNodeButton)(child)) {
|
|
38
36
|
return ((0, react_1.createElement)(multichannel_button_1.MultichannelButton, Object.assign({}, child.props, { key: child.key }), child.props.children));
|
|
39
37
|
}
|
|
40
|
-
if (
|
|
38
|
+
if ((0, multichannel_utils_1.isNodeReply)(child)) {
|
|
41
39
|
return ((0, react_1.createElement)(multichannel_reply_1.MultichannelReply, Object.assign({}, child.props, { key: child.key }), child.props.children));
|
|
42
40
|
}
|
|
43
|
-
if (
|
|
41
|
+
if ((0, multichannel_utils_1.isNodeText)(child)) {
|
|
44
42
|
return ((0, react_1.createElement)(multichannel_text_1.MultichannelText, Object.assign({}, child.props, props.text, { key: child.key }, (props.messageSeparator &&
|
|
45
43
|
index > 0 && { newline: props.messageSeparator })), child.props.children));
|
|
46
44
|
}
|
|
47
|
-
if (
|
|
45
|
+
if ((0, multichannel_utils_1.isNodeCarousel)(child)) {
|
|
48
46
|
return ((0, react_1.createElement)(multichannel_carousel_1.MultichannelCarousel, Object.assign({}, child.props, props.carousel, { key: child.key }), child.props.children));
|
|
49
47
|
}
|
|
50
48
|
return child;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multichannel.js","sourceRoot":"","sources":["../../../../src/components/multichannel/multichannel.jsx"],"names":[],"mappings":";;;;;;AAAA,wCAAsD;AACtD,uDAAyC;AAEzC,6CAA+C;AAC/C,4CAAmD;AACnD,
|
|
1
|
+
{"version":3,"file":"multichannel.js","sourceRoot":"","sources":["../../../../src/components/multichannel/multichannel.jsx"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import React, { useContext } from 'react';
|
|
|
4
4
|
import { RequestContext } from '../../contexts';
|
|
5
5
|
import { Carousel } from '../carousel';
|
|
6
6
|
import { MultichannelText } from './multichannel-text';
|
|
7
|
-
import { getFilteredElements, isMultichannelButton,
|
|
7
|
+
import { getFilteredElements, isMultichannelButton, isNodePic, isNodeSubtitle, isNodeTitle, } from './multichannel-utils';
|
|
8
8
|
export const MultichannelCarousel = props => {
|
|
9
9
|
const requestContext = useContext(RequestContext);
|
|
10
10
|
const getButtons = node => [].concat(getFilteredElements(node, isMultichannelButton));
|
|
@@ -17,13 +17,13 @@ export const MultichannelCarousel = props => {
|
|
|
17
17
|
let subtitle = undefined;
|
|
18
18
|
const buttons = [];
|
|
19
19
|
for (const node of element) {
|
|
20
|
-
if (
|
|
20
|
+
if (isNodePic(node)) {
|
|
21
21
|
imageProps = node.props;
|
|
22
22
|
}
|
|
23
|
-
if (
|
|
23
|
+
if (isNodeTitle(node)) {
|
|
24
24
|
title = node.props.children;
|
|
25
25
|
}
|
|
26
|
-
if (
|
|
26
|
+
if (isNodeSubtitle(node)) {
|
|
27
27
|
subtitle = node.props.children;
|
|
28
28
|
}
|
|
29
29
|
if (isMultichannelButton(node)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multichannel-carousel.js","sourceRoot":"","sources":["../../../../src/components/multichannel/multichannel-carousel.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,
|
|
1
|
+
{"version":3,"file":"multichannel-carousel.js","sourceRoot":"","sources":["../../../../src/components/multichannel/multichannel-carousel.jsx"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
export function isMultichannelButton(node: any):
|
|
2
|
-
export function isMultichannelReply(node: any):
|
|
3
|
-
export function
|
|
4
|
-
export function
|
|
5
|
-
export function
|
|
6
|
-
export function
|
|
1
|
+
export function isMultichannelButton(node: any): boolean;
|
|
2
|
+
export function isMultichannelReply(node: any): boolean;
|
|
3
|
+
export function isNodeText(node: any): boolean;
|
|
4
|
+
export function isNodeButton(node: any): boolean;
|
|
5
|
+
export function isNodeCarousel(node: any): boolean;
|
|
6
|
+
export function isNodeReply(node: any): boolean;
|
|
7
|
+
export function isNodePic(node: any): boolean;
|
|
8
|
+
export function isNodeTitle(node: any): boolean;
|
|
9
|
+
export function isNodeSubtitle(node: any): boolean;
|
|
7
10
|
export function elementHasUrl(element: any): any;
|
|
8
11
|
export function elementHasPostback(element: any): any;
|
|
9
12
|
export function elementHasWebview(element: any): any;
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { Button } from '../button';
|
|
2
|
+
import { Carousel } from '../carousel';
|
|
2
3
|
import { Pic } from '../pic';
|
|
4
|
+
import { Reply } from '../reply';
|
|
3
5
|
import { Subtitle } from '../subtitle';
|
|
6
|
+
import { Text } from '../text';
|
|
4
7
|
import { Title } from '../title';
|
|
5
8
|
import { MultichannelButton } from './multichannel-button';
|
|
6
9
|
import { MultichannelReply } from './multichannel-reply';
|
|
7
10
|
function isNodeKind(node, kind) {
|
|
8
|
-
|
|
11
|
+
var _a;
|
|
12
|
+
return ((_a = node === null || node === void 0 ? void 0 : node.type) === null || _a === void 0 ? void 0 : _a.name) === kind;
|
|
9
13
|
}
|
|
10
14
|
export function isMultichannelButton(node) {
|
|
11
15
|
return isNodeKind(node, MultichannelButton.name);
|
|
@@ -13,16 +17,25 @@ export function isMultichannelButton(node) {
|
|
|
13
17
|
export function isMultichannelReply(node) {
|
|
14
18
|
return isNodeKind(node, MultichannelReply.name);
|
|
15
19
|
}
|
|
16
|
-
export function
|
|
20
|
+
export function isNodeText(node) {
|
|
21
|
+
return isNodeKind(node, Text.name);
|
|
22
|
+
}
|
|
23
|
+
export function isNodeButton(node) {
|
|
17
24
|
return isNodeKind(node, Button.name);
|
|
18
25
|
}
|
|
19
|
-
export function
|
|
26
|
+
export function isNodeCarousel(node) {
|
|
27
|
+
return isNodeKind(node, Carousel.name);
|
|
28
|
+
}
|
|
29
|
+
export function isNodeReply(node) {
|
|
30
|
+
return isNodeKind(node, Reply.name);
|
|
31
|
+
}
|
|
32
|
+
export function isNodePic(node) {
|
|
20
33
|
return isNodeKind(node, Pic.name);
|
|
21
34
|
}
|
|
22
|
-
export function
|
|
35
|
+
export function isNodeTitle(node) {
|
|
23
36
|
return isNodeKind(node, Title.name);
|
|
24
37
|
}
|
|
25
|
-
export function
|
|
38
|
+
export function isNodeSubtitle(node) {
|
|
26
39
|
return isNodeKind(node, Subtitle.name);
|
|
27
40
|
}
|
|
28
41
|
export function elementHasUrl(element) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multichannel-utils.js","sourceRoot":"","sources":["../../../../src/components/multichannel/multichannel-utils.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAExD,SAAS,UAAU,CAAC,IAAI,EAAE,IAAI
|
|
1
|
+
{"version":3,"file":"multichannel-utils.js","sourceRoot":"","sources":["../../../../src/components/multichannel/multichannel-utils.js"],"names":[],"mappings":"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"}
|
|
@@ -4,15 +4,13 @@ import { isFacebook, isWhatsapp } from '@botonic/core';
|
|
|
4
4
|
import React, { useContext } from 'react';
|
|
5
5
|
import { RequestContext } from '../../contexts';
|
|
6
6
|
import { deepMapWithIndex } from '../../util/react';
|
|
7
|
-
import { Button } from '../button';
|
|
8
|
-
import { Carousel } from '../carousel';
|
|
9
|
-
import { Reply } from '../reply';
|
|
10
7
|
import { Text } from '../text';
|
|
11
8
|
import { MultichannelButton } from './multichannel-button';
|
|
12
9
|
import { MultichannelCarousel } from './multichannel-carousel';
|
|
13
10
|
import { MultichannelContext } from './multichannel-context';
|
|
14
11
|
import { MultichannelReply } from './multichannel-reply';
|
|
15
12
|
import { MultichannelText } from './multichannel-text';
|
|
13
|
+
import { isNodeButton, isNodeCarousel, isNodeReply, isNodeText, } from './multichannel-utils';
|
|
16
14
|
import { MULTICHANNEL_WHATSAPP_PROPS } from './whatsapp/constants';
|
|
17
15
|
export const Multichannel = props => {
|
|
18
16
|
const requestContext = useContext(RequestContext);
|
|
@@ -22,7 +20,7 @@ export const Multichannel = props => {
|
|
|
22
20
|
}
|
|
23
21
|
if (isFacebook(requestContext.session)) {
|
|
24
22
|
const newChildren = deepMapWithIndex(props.children, child => {
|
|
25
|
-
if (child
|
|
23
|
+
if (isNodeText(child)) {
|
|
26
24
|
return (_createElement(MultichannelText, Object.assign({}, child.props, { key: child.key }), child.props.children));
|
|
27
25
|
}
|
|
28
26
|
return child;
|
|
@@ -30,17 +28,17 @@ export const Multichannel = props => {
|
|
|
30
28
|
return newChildren;
|
|
31
29
|
}
|
|
32
30
|
let newChildren = deepMapWithIndex(props.children, (child, index) => {
|
|
33
|
-
if (child
|
|
31
|
+
if (isNodeButton(child)) {
|
|
34
32
|
return (_createElement(MultichannelButton, Object.assign({}, child.props, { key: child.key }), child.props.children));
|
|
35
33
|
}
|
|
36
|
-
if (child
|
|
34
|
+
if (isNodeReply(child)) {
|
|
37
35
|
return (_createElement(MultichannelReply, Object.assign({}, child.props, { key: child.key }), child.props.children));
|
|
38
36
|
}
|
|
39
|
-
if (child
|
|
37
|
+
if (isNodeText(child)) {
|
|
40
38
|
return (_createElement(MultichannelText, Object.assign({}, child.props, props.text, { key: child.key }, (props.messageSeparator &&
|
|
41
39
|
index > 0 && { newline: props.messageSeparator })), child.props.children));
|
|
42
40
|
}
|
|
43
|
-
if (child
|
|
41
|
+
if (isNodeCarousel(child)) {
|
|
44
42
|
return (_createElement(MultichannelCarousel, Object.assign({}, child.props, props.carousel, { key: child.key }), child.props.children));
|
|
45
43
|
}
|
|
46
44
|
return child;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multichannel.js","sourceRoot":"","sources":["../../../../src/components/multichannel/multichannel.jsx"],"names":[],"mappings":";;AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"multichannel.js","sourceRoot":"","sources":["../../../../src/components/multichannel/multichannel.jsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -7,9 +7,9 @@ import { MultichannelText } from './multichannel-text'
|
|
|
7
7
|
import {
|
|
8
8
|
getFilteredElements,
|
|
9
9
|
isMultichannelButton,
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
isNodePic,
|
|
11
|
+
isNodeSubtitle,
|
|
12
|
+
isNodeTitle,
|
|
13
13
|
} from './multichannel-utils'
|
|
14
14
|
|
|
15
15
|
export const MultichannelCarousel = props => {
|
|
@@ -28,13 +28,13 @@ export const MultichannelCarousel = props => {
|
|
|
28
28
|
const buttons = []
|
|
29
29
|
|
|
30
30
|
for (const node of element) {
|
|
31
|
-
if (
|
|
31
|
+
if (isNodePic(node)) {
|
|
32
32
|
imageProps = node.props
|
|
33
33
|
}
|
|
34
|
-
if (
|
|
34
|
+
if (isNodeTitle(node)) {
|
|
35
35
|
title = node.props.children
|
|
36
36
|
}
|
|
37
|
-
if (
|
|
37
|
+
if (isNodeSubtitle(node)) {
|
|
38
38
|
subtitle = node.props.children
|
|
39
39
|
}
|
|
40
40
|
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { Button } from '../button'
|
|
2
|
+
import { Carousel } from '../carousel'
|
|
2
3
|
import { Pic } from '../pic'
|
|
4
|
+
import { Reply } from '../reply'
|
|
3
5
|
import { Subtitle } from '../subtitle'
|
|
6
|
+
import { Text } from '../text'
|
|
4
7
|
import { Title } from '../title'
|
|
5
8
|
import { MultichannelButton } from './multichannel-button'
|
|
6
9
|
import { MultichannelReply } from './multichannel-reply'
|
|
7
10
|
|
|
8
11
|
function isNodeKind(node, kind) {
|
|
9
|
-
return node
|
|
12
|
+
return node?.type?.name === kind
|
|
10
13
|
}
|
|
11
14
|
|
|
12
15
|
export function isMultichannelButton(node) {
|
|
@@ -17,19 +20,31 @@ export function isMultichannelReply(node) {
|
|
|
17
20
|
return isNodeKind(node, MultichannelReply.name)
|
|
18
21
|
}
|
|
19
22
|
|
|
20
|
-
export function
|
|
23
|
+
export function isNodeText(node) {
|
|
24
|
+
return isNodeKind(node, Text.name)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export function isNodeButton(node) {
|
|
21
28
|
return isNodeKind(node, Button.name)
|
|
22
29
|
}
|
|
23
30
|
|
|
24
|
-
export function
|
|
31
|
+
export function isNodeCarousel(node) {
|
|
32
|
+
return isNodeKind(node, Carousel.name)
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export function isNodeReply(node) {
|
|
36
|
+
return isNodeKind(node, Reply.name)
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export function isNodePic(node) {
|
|
25
40
|
return isNodeKind(node, Pic.name)
|
|
26
41
|
}
|
|
27
42
|
|
|
28
|
-
export function
|
|
43
|
+
export function isNodeTitle(node) {
|
|
29
44
|
return isNodeKind(node, Title.name)
|
|
30
45
|
}
|
|
31
46
|
|
|
32
|
-
export function
|
|
47
|
+
export function isNodeSubtitle(node) {
|
|
33
48
|
return isNodeKind(node, Subtitle.name)
|
|
34
49
|
}
|
|
35
50
|
|
|
@@ -3,15 +3,18 @@ import React, { useContext } from 'react'
|
|
|
3
3
|
|
|
4
4
|
import { RequestContext } from '../../contexts'
|
|
5
5
|
import { deepMapWithIndex } from '../../util/react'
|
|
6
|
-
import { Button } from '../button'
|
|
7
|
-
import { Carousel } from '../carousel'
|
|
8
|
-
import { Reply } from '../reply'
|
|
9
6
|
import { Text } from '../text'
|
|
10
7
|
import { MultichannelButton } from './multichannel-button'
|
|
11
8
|
import { MultichannelCarousel } from './multichannel-carousel'
|
|
12
9
|
import { MultichannelContext } from './multichannel-context'
|
|
13
10
|
import { MultichannelReply } from './multichannel-reply'
|
|
14
11
|
import { MultichannelText } from './multichannel-text'
|
|
12
|
+
import {
|
|
13
|
+
isNodeButton,
|
|
14
|
+
isNodeCarousel,
|
|
15
|
+
isNodeReply,
|
|
16
|
+
isNodeText,
|
|
17
|
+
} from './multichannel-utils'
|
|
15
18
|
import { MULTICHANNEL_WHATSAPP_PROPS } from './whatsapp/constants'
|
|
16
19
|
|
|
17
20
|
export const Multichannel = props => {
|
|
@@ -24,7 +27,7 @@ export const Multichannel = props => {
|
|
|
24
27
|
}
|
|
25
28
|
if (isFacebook(requestContext.session)) {
|
|
26
29
|
const newChildren = deepMapWithIndex(props.children, child => {
|
|
27
|
-
if (child
|
|
30
|
+
if (isNodeText(child)) {
|
|
28
31
|
return (
|
|
29
32
|
<MultichannelText {...child.props} key={child.key}>
|
|
30
33
|
{child.props.children}
|
|
@@ -37,21 +40,21 @@ export const Multichannel = props => {
|
|
|
37
40
|
}
|
|
38
41
|
|
|
39
42
|
let newChildren = deepMapWithIndex(props.children, (child, index) => {
|
|
40
|
-
if (child
|
|
43
|
+
if (isNodeButton(child)) {
|
|
41
44
|
return (
|
|
42
45
|
<MultichannelButton {...child.props} key={child.key}>
|
|
43
46
|
{child.props.children}
|
|
44
47
|
</MultichannelButton>
|
|
45
48
|
)
|
|
46
49
|
}
|
|
47
|
-
if (child
|
|
50
|
+
if (isNodeReply(child)) {
|
|
48
51
|
return (
|
|
49
52
|
<MultichannelReply {...child.props} key={child.key}>
|
|
50
53
|
{child.props.children}
|
|
51
54
|
</MultichannelReply>
|
|
52
55
|
)
|
|
53
56
|
}
|
|
54
|
-
if (child
|
|
57
|
+
if (isNodeText(child)) {
|
|
55
58
|
return (
|
|
56
59
|
<MultichannelText
|
|
57
60
|
{...child.props}
|
|
@@ -64,7 +67,7 @@ export const Multichannel = props => {
|
|
|
64
67
|
</MultichannelText>
|
|
65
68
|
)
|
|
66
69
|
}
|
|
67
|
-
if (child
|
|
70
|
+
if (isNodeCarousel(child)) {
|
|
68
71
|
return (
|
|
69
72
|
<MultichannelCarousel
|
|
70
73
|
{...child.props}
|