@botonic/react 0.30.5 → 0.30.6-alpha.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/components/element.js +3 -2
- package/lib/cjs/components/element.js.map +1 -1
- package/lib/cjs/components/multichannel/multichannel-button.js +2 -2
- package/lib/cjs/components/multichannel/multichannel-button.js.map +1 -1
- package/lib/cjs/components/multichannel/multichannel-carousel.js +4 -4
- package/lib/cjs/components/multichannel/multichannel-carousel.js.map +1 -1
- package/lib/cjs/components/multichannel/multichannel-text.js +12 -11
- package/lib/cjs/components/multichannel/multichannel-text.js.map +1 -1
- package/lib/cjs/components/multichannel/multichannel-utils.d.ts +3 -12
- package/lib/cjs/components/multichannel/multichannel-utils.js +30 -25
- package/lib/cjs/components/multichannel/multichannel-utils.js.map +1 -1
- package/lib/cjs/components/multichannel/multichannel.js +10 -8
- package/lib/cjs/components/multichannel/multichannel.js.map +1 -1
- package/lib/cjs/components/multichannel/whatsapp/constants.d.ts +11 -0
- package/lib/cjs/components/multichannel/whatsapp/constants.js +13 -0
- package/lib/cjs/components/multichannel/whatsapp/constants.js.map +1 -0
- package/lib/cjs/components/whatsapp-button-list.js +2 -2
- package/lib/cjs/components/whatsapp-button-list.js.map +1 -1
- package/lib/cjs/components/whatsapp-cta-url-button.js +5 -5
- package/lib/cjs/components/whatsapp-cta-url-button.js.map +1 -1
- package/lib/cjs/constants.d.ts +0 -6
- package/lib/cjs/constants.js +2 -7
- package/lib/cjs/constants.js.map +1 -1
- package/lib/esm/components/element.js +3 -2
- package/lib/esm/components/element.js.map +1 -1
- package/lib/esm/components/multichannel/multichannel-button.js +1 -1
- package/lib/esm/components/multichannel/multichannel-carousel.js +5 -5
- package/lib/esm/components/multichannel/multichannel-carousel.js.map +1 -1
- package/lib/esm/components/multichannel/multichannel-text.js +2 -1
- package/lib/esm/components/multichannel/multichannel-text.js.map +1 -1
- package/lib/esm/components/multichannel/multichannel-utils.d.ts +3 -12
- package/lib/esm/components/multichannel/multichannel-utils.js +26 -23
- package/lib/esm/components/multichannel/multichannel-utils.js.map +1 -1
- package/lib/esm/components/multichannel/multichannel.js +9 -7
- package/lib/esm/components/multichannel/multichannel.js.map +1 -1
- package/lib/esm/components/multichannel/whatsapp/constants.d.ts +11 -0
- package/lib/esm/components/multichannel/whatsapp/constants.js +10 -0
- package/lib/esm/components/multichannel/whatsapp/constants.js.map +1 -0
- package/lib/esm/components/whatsapp-button-list.js +1 -1
- package/lib/esm/components/whatsapp-cta-url-button.js +1 -1
- package/lib/esm/constants.d.ts +0 -6
- package/lib/esm/constants.js +1 -6
- package/lib/esm/constants.js.map +1 -1
- package/package.json +1 -1
- package/src/components/element.jsx +3 -2
- package/src/components/multichannel/multichannel-button.jsx +1 -1
- package/src/components/multichannel/multichannel-carousel.jsx +7 -5
- package/src/components/multichannel/multichannel-text.jsx +4 -2
- package/src/components/multichannel/multichannel-utils.js +29 -26
- package/src/components/multichannel/multichannel.jsx +9 -7
- package/src/components/multichannel/whatsapp/constants.ts +10 -0
- package/src/components/whatsapp-button-list.tsx +1 -1
- package/src/components/whatsapp-cta-url-button.tsx +1 -1
- package/src/constants.js +1 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"element.js","sourceRoot":"","sources":["../../../src/components/element.jsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,MAAM,MAAM,mBAAmB,CAAA;AAEtC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"element.js","sourceRoot":"","sources":["../../../src/components/element.jsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,MAAM,MAAM,mBAAmB,CAAA;AAEtC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAA;;;WAGxB,OAAO,CAAC,QAAQ,CAAC,aAAa;kBACvB,OAAO,CAAC,QAAQ,CAAC,oBAAoB;;sBAEjC,MAAM,CAAC,cAAc;;;CAG1C,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE;IAC7B,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,CAC1B,KAAC,gBAAgB,cAAE,KAAK,CAAC,QAAQ,GAAoB,CACtD,CAAA;IAED,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,4BAAU,KAAK,CAAC,QAAQ,GAAW,CAAA;IAE5D,OAAO,eAAe,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAA;AACvD,CAAC,CAAA;AAED,OAAO,CAAC,SAAS,GAAG,YAAY,CAAC,EAAE;IACjC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAC3B,EAAE,EACF,GAAG,YAAY,CAAC,QAAQ;SACrB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC;SACvD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAC3D,CAAA;IACD,yEAAyE;IACzE,oFAAoF;IACpF,OAAO,CAAC,OAAO,GAAG;QAChB,GAAG,YAAY,CAAC,QAAQ;aACrB,MAAM,CAAC,CAAC,CAAC,EAAE;YACV,IAAI,CAAC,YAAY,KAAK;gBAAE,OAAO,IAAI,CAAA;YACnC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAA;QACnD,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,CAAC,EAAE;YACP,IAAI,CAAC,YAAY,KAAK,EAAE;gBACtB,OAAO,CAAC,CAAC,GAAG,CACV,EAAE,CAAC,EAAE,CACH,EAAE;oBACF,EAAE,CAAC,IAAI;oBACP,EAAE,CAAC,IAAI,CAAC,SAAS;oBACjB,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CACrC,CAAA;aACF;YACD,OAAO,CACL,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CACpE,CAAA;QACH,CAAC,CAAC;KACL,CAAA;IACD,mGAAmG;IACnG,oGAAoG;IACpG,2CAA2C;IAC3C,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,KAAK;QAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAC7E,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
|
|
@@ -5,7 +5,7 @@ import { RequestContext } from '../../contexts';
|
|
|
5
5
|
import { truncateText } from '../../util';
|
|
6
6
|
import { Button } from '../button';
|
|
7
7
|
import { MultichannelContext } from './multichannel-context';
|
|
8
|
-
import { WHATSAPP_MAX_BUTTON_CHARS } from './
|
|
8
|
+
import { WHATSAPP_MAX_BUTTON_CHARS } from './whatsapp/constants';
|
|
9
9
|
export const MultichannelButton = props => {
|
|
10
10
|
var _a;
|
|
11
11
|
const requestContext = useContext(RequestContext);
|
|
@@ -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, isPic, isSubtitle, isTitle, } 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,16 +17,16 @@ export const MultichannelCarousel = props => {
|
|
|
17
17
|
let subtitle = undefined;
|
|
18
18
|
const buttons = [];
|
|
19
19
|
for (const node of element) {
|
|
20
|
-
if (
|
|
20
|
+
if (isPic(node)) {
|
|
21
21
|
imageProps = node.props;
|
|
22
22
|
}
|
|
23
|
-
if (
|
|
23
|
+
if (isTitle(node)) {
|
|
24
24
|
title = node.props.children;
|
|
25
25
|
}
|
|
26
|
-
if (
|
|
26
|
+
if (isSubtitle(node)) {
|
|
27
27
|
subtitle = node.props.children;
|
|
28
28
|
}
|
|
29
|
-
if (
|
|
29
|
+
if (isMultichannelButton(node)) {
|
|
30
30
|
buttons.push(node);
|
|
31
31
|
}
|
|
32
32
|
//TODO support fragment containing an array
|
|
@@ -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,UAAU,
|
|
1
|
+
{"version":3,"file":"multichannel-carousel.js","sourceRoot":"","sources":["../../../../src/components/multichannel/multichannel-carousel.jsx"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,8 @@ import { Text } from '../text';
|
|
|
7
7
|
import { MultichannelFacebook } from './facebook/facebook';
|
|
8
8
|
import { MultichannelButton } from './multichannel-button';
|
|
9
9
|
import { MultichannelContext } from './multichannel-context';
|
|
10
|
-
import { buttonTypes,
|
|
10
|
+
import { buttonTypes, elementHasPostback, elementHasUrl, elementHasWebview, getButtonType, getMultichannelButtons, getMultichannelReplies, } from './multichannel-utils';
|
|
11
|
+
import { DEFAULT_WHATSAPP_MAX_BUTTON_SEPARATOR, MENU_BUTTON_WHATSAPP_BUTTON_LIST, MULTICHANNEL_WHATSAPP_PROPS, WHATSAPP_LIST_MAX_BUTTONS, WHATSAPP_MAX_BUTTONS, } from './whatsapp/constants';
|
|
11
12
|
import { convertToMarkdownMeta } from './whatsapp/markdown-meta';
|
|
12
13
|
export const MultichannelText = props => {
|
|
13
14
|
var _a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multichannel-text.js","sourceRoot":"","sources":["../../../../src/components/multichannel/multichannel-text.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC7D,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,IAAI,CAAA;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EACL,WAAW,EACX,
|
|
1
|
+
{"version":3,"file":"multichannel-text.js","sourceRoot":"","sources":["../../../../src/components/multichannel/multichannel-text.jsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
export function isMultichannelButton(node: any): any;
|
|
2
2
|
export function isMultichannelReply(node: any): any;
|
|
3
3
|
export function isButton(node: any): any;
|
|
4
|
-
export function
|
|
4
|
+
export function isPic(node: any): any;
|
|
5
|
+
export function isTitle(node: any): any;
|
|
6
|
+
export function isSubtitle(node: any): any;
|
|
5
7
|
export function elementHasUrl(element: any): any;
|
|
6
8
|
export function elementHasPostback(element: any): any;
|
|
7
9
|
export function elementHasWebview(element: any): any;
|
|
@@ -9,17 +11,6 @@ export function getButtonType(multichannelButton: any): string | undefined;
|
|
|
9
11
|
export function getFilteredElements(node: any, filter: any): any[];
|
|
10
12
|
export function getMultichannelButtons(node: any): any[];
|
|
11
13
|
export function getMultichannelReplies(node: any): any[];
|
|
12
|
-
export namespace MULTICHANNEL_WHATSAPP_PROPS {
|
|
13
|
-
const markdown: boolean;
|
|
14
|
-
}
|
|
15
|
-
export const WHATSAPP_MAX_BUTTONS: 3;
|
|
16
|
-
export const WHATSAPP_LIST_MAX_BUTTONS: 10;
|
|
17
|
-
export const WHATSAPP_MAX_BUTTON_CHARS: 20;
|
|
18
|
-
export const WHATSAPP_MAX_HEADER_CHARS: 60;
|
|
19
|
-
export const WHATSAPP_MAX_BODY_CHARS: 1024;
|
|
20
|
-
export const WHATSAPP_MAX_FOOTER_CHARS: 60;
|
|
21
|
-
export const DEFAULT_WHATSAPP_MAX_BUTTON_SEPARATOR: "More options:";
|
|
22
|
-
export const MENU_BUTTON_WHATSAPP_BUTTON_LIST: "Show options";
|
|
23
14
|
export namespace buttonTypes {
|
|
24
15
|
const POSTBACK: string;
|
|
25
16
|
const URL: string;
|
|
@@ -1,38 +1,41 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export const WHATSAPP_MAX_HEADER_CHARS = 60;
|
|
11
|
-
export const WHATSAPP_MAX_BODY_CHARS = 1024;
|
|
12
|
-
export const WHATSAPP_MAX_FOOTER_CHARS = 60;
|
|
13
|
-
export const DEFAULT_WHATSAPP_MAX_BUTTON_SEPARATOR = 'More options:';
|
|
14
|
-
export const MENU_BUTTON_WHATSAPP_BUTTON_LIST = 'Show options';
|
|
1
|
+
import { Button } from '../button';
|
|
2
|
+
import { Pic } from '../pic';
|
|
3
|
+
import { Subtitle } from '../subtitle';
|
|
4
|
+
import { Title } from '../title';
|
|
5
|
+
import { MultichannelButton } from './multichannel-button';
|
|
6
|
+
import { MultichannelReply } from './multichannel-reply';
|
|
7
|
+
function isNodeKind(node, kind) {
|
|
8
|
+
return node.type && node.type.name === kind;
|
|
9
|
+
}
|
|
15
10
|
export function isMultichannelButton(node) {
|
|
16
|
-
return isNodeKind(node,
|
|
11
|
+
return isNodeKind(node, MultichannelButton.name);
|
|
17
12
|
}
|
|
18
13
|
export function isMultichannelReply(node) {
|
|
19
|
-
return isNodeKind(node,
|
|
14
|
+
return isNodeKind(node, MultichannelReply.name);
|
|
20
15
|
}
|
|
21
16
|
export function isButton(node) {
|
|
22
|
-
return isNodeKind(node,
|
|
17
|
+
return isNodeKind(node, Button.name);
|
|
18
|
+
}
|
|
19
|
+
export function isPic(node) {
|
|
20
|
+
return isNodeKind(node, Pic.name);
|
|
21
|
+
}
|
|
22
|
+
export function isTitle(node) {
|
|
23
|
+
return isNodeKind(node, Title.name);
|
|
23
24
|
}
|
|
24
|
-
export function
|
|
25
|
-
return node
|
|
25
|
+
export function isSubtitle(node) {
|
|
26
|
+
return isNodeKind(node, Subtitle.name);
|
|
26
27
|
}
|
|
27
28
|
export function elementHasUrl(element) {
|
|
28
|
-
|
|
29
|
+
var _a;
|
|
30
|
+
return (_a = element === null || element === void 0 ? void 0 : element.props) === null || _a === void 0 ? void 0 : _a.url;
|
|
29
31
|
}
|
|
30
32
|
export function elementHasPostback(element) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
+
var _a, _b;
|
|
34
|
+
return ((_a = element === null || element === void 0 ? void 0 : element.props) === null || _a === void 0 ? void 0 : _a.payload) || ((_b = element === null || element === void 0 ? void 0 : element.props) === null || _b === void 0 ? void 0 : _b.path);
|
|
33
35
|
}
|
|
34
36
|
export function elementHasWebview(element) {
|
|
35
|
-
|
|
37
|
+
var _a;
|
|
38
|
+
return (_a = element === null || element === void 0 ? void 0 : element.props) === null || _a === void 0 ? void 0 : _a.webview;
|
|
36
39
|
}
|
|
37
40
|
export const buttonTypes = {
|
|
38
41
|
POSTBACK: 'postback',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multichannel-utils.js","sourceRoot":"","sources":["../../../../src/components/multichannel/multichannel-utils.js"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"multichannel-utils.js","sourceRoot":"","sources":["../../../../src/components/multichannel/multichannel-utils.js"],"names":[],"mappings":"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"}
|
|
@@ -2,16 +2,18 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { createElement as _createElement } from "react";
|
|
3
3
|
import { isFacebook, isWhatsapp } from '@botonic/core';
|
|
4
4
|
import React, { useContext } from 'react';
|
|
5
|
-
import { COMPONENT_TYPE } from '../../constants';
|
|
6
5
|
import { RequestContext } from '../../contexts';
|
|
7
6
|
import { deepMapWithIndex } from '../../util/react';
|
|
7
|
+
import { Button } from '../button';
|
|
8
|
+
import { Carousel } from '../carousel';
|
|
9
|
+
import { Reply } from '../reply';
|
|
8
10
|
import { Text } from '../text';
|
|
9
11
|
import { MultichannelButton } from './multichannel-button';
|
|
10
12
|
import { MultichannelCarousel } from './multichannel-carousel';
|
|
11
13
|
import { MultichannelContext } from './multichannel-context';
|
|
12
14
|
import { MultichannelReply } from './multichannel-reply';
|
|
13
15
|
import { MultichannelText } from './multichannel-text';
|
|
14
|
-
import { MULTICHANNEL_WHATSAPP_PROPS } from './
|
|
16
|
+
import { MULTICHANNEL_WHATSAPP_PROPS } from './whatsapp/constants';
|
|
15
17
|
export const Multichannel = props => {
|
|
16
18
|
const requestContext = useContext(RequestContext);
|
|
17
19
|
if (!isWhatsapp(requestContext.session) &&
|
|
@@ -20,7 +22,7 @@ export const Multichannel = props => {
|
|
|
20
22
|
}
|
|
21
23
|
if (isFacebook(requestContext.session)) {
|
|
22
24
|
const newChildren = deepMapWithIndex(props.children, child => {
|
|
23
|
-
if (child && child.type && child.type.name ===
|
|
25
|
+
if (child && child.type && child.type.name === Text.name) {
|
|
24
26
|
return (_createElement(MultichannelText, Object.assign({}, child.props, { key: child.key }), child.props.children));
|
|
25
27
|
}
|
|
26
28
|
return child;
|
|
@@ -28,17 +30,17 @@ export const Multichannel = props => {
|
|
|
28
30
|
return newChildren;
|
|
29
31
|
}
|
|
30
32
|
let newChildren = deepMapWithIndex(props.children, (child, index) => {
|
|
31
|
-
if (child && child.type && child.type.name ===
|
|
33
|
+
if (child && child.type && child.type.name === Button.name) {
|
|
32
34
|
return (_createElement(MultichannelButton, Object.assign({}, child.props, { key: child.key }), child.props.children));
|
|
33
35
|
}
|
|
34
|
-
if (child && child.type && child.type.name ===
|
|
36
|
+
if (child && child.type && child.type.name === Reply.name) {
|
|
35
37
|
return (_createElement(MultichannelReply, Object.assign({}, child.props, { key: child.key }), child.props.children));
|
|
36
38
|
}
|
|
37
|
-
if (child && child.type && child.type.name ===
|
|
39
|
+
if (child && child.type && child.type.name === Text.name) {
|
|
38
40
|
return (_createElement(MultichannelText, Object.assign({}, child.props, props.text, { key: child.key }, (props.messageSeparator &&
|
|
39
41
|
index > 0 && { newline: props.messageSeparator })), child.props.children));
|
|
40
42
|
}
|
|
41
|
-
if (child && child.type && child.type.name ===
|
|
43
|
+
if (child && child.type && child.type.name === Carousel.name) {
|
|
42
44
|
return (_createElement(MultichannelCarousel, Object.assign({}, child.props, props.carousel, { key: child.key }), child.props.children));
|
|
43
45
|
}
|
|
44
46
|
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,
|
|
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,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAA;AAElE,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,CAAC,EAAE;IAClC,MAAM,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC,CAAA;IACjD,IACE,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC;QACnC,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,EACnC;QACA,OAAO,KAAK,CAAC,QAAQ,CAAA;KACtB;IACD,IAAI,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;QACtC,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE;YAC3D,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE;gBACxD,OAAO,CACL,eAAC,gBAAgB,oBAAK,KAAK,CAAC,KAAK,IAAE,GAAG,EAAE,KAAK,CAAC,GAAG,KAC9C,KAAK,CAAC,KAAK,CAAC,QAAQ,CACJ,CACpB,CAAA;aACF;YACD,OAAO,KAAK,CAAA;QACd,CAAC,CAAC,CAAA;QACF,OAAO,WAAW,CAAA;KACnB;IAED,IAAI,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAClE,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE;YAC1D,OAAO,CACL,eAAC,kBAAkB,oBAAK,KAAK,CAAC,KAAK,IAAE,GAAG,EAAE,KAAK,CAAC,GAAG,KAChD,KAAK,CAAC,KAAK,CAAC,QAAQ,CACF,CACtB,CAAA;SACF;QACD,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE;YACzD,OAAO,CACL,eAAC,iBAAiB,oBAAK,KAAK,CAAC,KAAK,IAAE,GAAG,EAAE,KAAK,CAAC,GAAG,KAC/C,KAAK,CAAC,KAAK,CAAC,QAAQ,CACH,CACrB,CAAA;SACF;QACD,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE;YACxD,OAAO,CACL,eAAC,gBAAgB,oBACX,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,IAAI,IACd,GAAG,EAAE,KAAK,CAAC,GAAG,IACV,CAAC,KAAK,CAAC,gBAAgB;gBACzB,KAAK,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC,GAElD,KAAK,CAAC,KAAK,CAAC,QAAQ,CACJ,CACpB,CAAA;SACF;QACD,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE;YAC5D,OAAO,CACL,eAAC,oBAAoB,oBACf,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,QAAQ,IAClB,GAAG,EAAE,KAAK,CAAC,GAAG,KAEb,KAAK,CAAC,KAAK,CAAC,QAAQ,CACA,CACxB,CAAA;SACF;QACD,OAAO,KAAK,CAAA;IACd,CAAC,CAAC,CAAA;IACF,IAAI,KAAK,CAAC,gBAAgB,IAAI,IAAI,EAAE;QAClC,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CACzC,KAAK,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CACpE,CAAA;QACD,WAAW,GAAG,CACZ,KAAC,IAAI,oBAAqB,2BAA2B,cAClD,WAAW,KADH,KAAK,CAAC,GAAG,CAEb,CACR,CAAA;KACF;IACD,OAAO,CACL,KAAC,mBAAmB,CAAC,QAAQ,kBAC3B,KAAK,EAAE;YACL,YAAY,EAAE,KAAK,CAAC,UAAU;YAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;SACzC,gBAEA,WAAW,IACiB,CAChC,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const MULTICHANNEL_WHATSAPP_PROPS: {
|
|
2
|
+
markdown: boolean;
|
|
3
|
+
};
|
|
4
|
+
export declare const WHATSAPP_MAX_BUTTONS = 3;
|
|
5
|
+
export declare const WHATSAPP_LIST_MAX_BUTTONS = 10;
|
|
6
|
+
export declare const WHATSAPP_MAX_BUTTON_CHARS = 20;
|
|
7
|
+
export declare const WHATSAPP_MAX_HEADER_CHARS = 60;
|
|
8
|
+
export declare const WHATSAPP_MAX_BODY_CHARS = 1024;
|
|
9
|
+
export declare const WHATSAPP_MAX_FOOTER_CHARS = 60;
|
|
10
|
+
export declare const DEFAULT_WHATSAPP_MAX_BUTTON_SEPARATOR = "More options:";
|
|
11
|
+
export declare const MENU_BUTTON_WHATSAPP_BUTTON_LIST = "Show options";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export const MULTICHANNEL_WHATSAPP_PROPS = { markdown: false };
|
|
2
|
+
export const WHATSAPP_MAX_BUTTONS = 3;
|
|
3
|
+
export const WHATSAPP_LIST_MAX_BUTTONS = 10;
|
|
4
|
+
export const WHATSAPP_MAX_BUTTON_CHARS = 20;
|
|
5
|
+
export const WHATSAPP_MAX_HEADER_CHARS = 60;
|
|
6
|
+
export const WHATSAPP_MAX_BODY_CHARS = 1024;
|
|
7
|
+
export const WHATSAPP_MAX_FOOTER_CHARS = 60;
|
|
8
|
+
export const DEFAULT_WHATSAPP_MAX_BUTTON_SEPARATOR = 'More options:';
|
|
9
|
+
export const MENU_BUTTON_WHATSAPP_BUTTON_LIST = 'Show options';
|
|
10
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../src/components/multichannel/whatsapp/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;AAE9D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAA;AACrC,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAA;AAC3C,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAA;AAC3C,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAA;AAC3C,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAA;AAC3C,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAA;AAC3C,MAAM,CAAC,MAAM,qCAAqC,GAAG,eAAe,CAAA;AACpE,MAAM,CAAC,MAAM,gCAAgC,GAAG,cAAc,CAAA"}
|
|
@@ -3,7 +3,7 @@ import { INPUT } from '@botonic/core';
|
|
|
3
3
|
import { truncateText } from '../util';
|
|
4
4
|
import { renderComponent } from '../util/react';
|
|
5
5
|
import { Message } from './message';
|
|
6
|
-
import { WHATSAPP_MAX_BUTTON_CHARS } from './multichannel/
|
|
6
|
+
import { WHATSAPP_MAX_BUTTON_CHARS } from './multichannel/whatsapp/constants';
|
|
7
7
|
import { convertToMarkdownMeta } from './multichannel/whatsapp/markdown-meta';
|
|
8
8
|
// TODO: Add validation in component
|
|
9
9
|
export const WHATSAPP_MAX_BUTTON_LIST_CHARS = 24;
|
|
@@ -4,7 +4,7 @@ import { truncateText } from '../util';
|
|
|
4
4
|
import { renderComponent } from '../util/react';
|
|
5
5
|
import { generateWebviewUrlWithParams } from '../util/webviews';
|
|
6
6
|
import { Message } from './message';
|
|
7
|
-
import { WHATSAPP_MAX_BODY_CHARS, WHATSAPP_MAX_BUTTON_CHARS, WHATSAPP_MAX_FOOTER_CHARS, WHATSAPP_MAX_HEADER_CHARS, } from './multichannel/
|
|
7
|
+
import { WHATSAPP_MAX_BODY_CHARS, WHATSAPP_MAX_BUTTON_CHARS, WHATSAPP_MAX_FOOTER_CHARS, WHATSAPP_MAX_HEADER_CHARS, } from './multichannel/whatsapp/constants';
|
|
8
8
|
import { convertToMarkdownMeta } from './multichannel/whatsapp/markdown-meta';
|
|
9
9
|
const serialize = _whatsappCTAUrlButtonProps => {
|
|
10
10
|
// TODO: Implement to have data persistance in localStorage, not needed for this WhatsApp development
|
package/lib/esm/constants.d.ts
CHANGED
package/lib/esm/constants.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import BotonicLogo from './assets/botonic_react_logo100x100.png';
|
|
2
2
|
import UrlIcon from './assets/url-icon.png';
|
|
3
|
+
import { Button, Carousel, Reply, Text } from './components';
|
|
3
4
|
export const COLORS = {
|
|
4
5
|
// http://chir.ag/projects/name-that-color
|
|
5
6
|
APPLE_GREEN: 'rgba(58, 156, 53, 1)',
|
|
@@ -184,10 +185,4 @@ export const ROLES = {
|
|
|
184
185
|
DOCUMENT_MESSAGE: 'document-message',
|
|
185
186
|
RAW_MESSAGE: 'raw-message',
|
|
186
187
|
};
|
|
187
|
-
export const COMPONENT_TYPE = {
|
|
188
|
-
TEXT: 'Text',
|
|
189
|
-
BUTTON: 'Button',
|
|
190
|
-
REPLY: 'Reply',
|
|
191
|
-
CAROUSEL: 'Carousel',
|
|
192
|
-
};
|
|
193
188
|
//# sourceMappingURL=constants.js.map
|
package/lib/esm/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.js"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,wCAAwC,CAAA;AAChE,OAAO,OAAO,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.js"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -3,6 +3,7 @@ import styled from 'styled-components'
|
|
|
3
3
|
|
|
4
4
|
import { COLORS, WEBCHAT } from '../constants'
|
|
5
5
|
import { renderComponent } from '../util/react'
|
|
6
|
+
import { Button } from './button'
|
|
6
7
|
|
|
7
8
|
const ElementContainer = styled.div`
|
|
8
9
|
display: flex;
|
|
@@ -29,7 +30,7 @@ Element.serialize = elementProps => {
|
|
|
29
30
|
const element = Object.assign(
|
|
30
31
|
{},
|
|
31
32
|
...elementProps.children
|
|
32
|
-
.filter(c => c && c.type && c.type.name
|
|
33
|
+
.filter(c => c && c.type && c.type.name !== Button.name)
|
|
33
34
|
.map(c => c.type.serialize && c.type.serialize(c.props))
|
|
34
35
|
)
|
|
35
36
|
// When we are serializer buttons from backend, we are receiving the data
|
|
@@ -38,7 +39,7 @@ Element.serialize = elementProps => {
|
|
|
38
39
|
...elementProps.children
|
|
39
40
|
.filter(c => {
|
|
40
41
|
if (c instanceof Array) return true
|
|
41
|
-
return c && c.type && c.type.name
|
|
42
|
+
return c && c.type && c.type.name === Button.name
|
|
42
43
|
})
|
|
43
44
|
.map(b => {
|
|
44
45
|
if (b instanceof Array) {
|
|
@@ -5,7 +5,7 @@ import { RequestContext } from '../../contexts'
|
|
|
5
5
|
import { truncateText } from '../../util'
|
|
6
6
|
import { Button } from '../button'
|
|
7
7
|
import { MultichannelContext } from './multichannel-context'
|
|
8
|
-
import { WHATSAPP_MAX_BUTTON_CHARS } from './
|
|
8
|
+
import { WHATSAPP_MAX_BUTTON_CHARS } from './whatsapp/constants'
|
|
9
9
|
|
|
10
10
|
export const MultichannelButton = props => {
|
|
11
11
|
const requestContext = useContext(RequestContext)
|
|
@@ -7,7 +7,9 @@ import { MultichannelText } from './multichannel-text'
|
|
|
7
7
|
import {
|
|
8
8
|
getFilteredElements,
|
|
9
9
|
isMultichannelButton,
|
|
10
|
-
|
|
10
|
+
isPic,
|
|
11
|
+
isSubtitle,
|
|
12
|
+
isTitle,
|
|
11
13
|
} from './multichannel-utils'
|
|
12
14
|
|
|
13
15
|
export const MultichannelCarousel = props => {
|
|
@@ -26,17 +28,17 @@ export const MultichannelCarousel = props => {
|
|
|
26
28
|
const buttons = []
|
|
27
29
|
|
|
28
30
|
for (const node of element) {
|
|
29
|
-
if (
|
|
31
|
+
if (isPic(node)) {
|
|
30
32
|
imageProps = node.props
|
|
31
33
|
}
|
|
32
|
-
if (
|
|
34
|
+
if (isTitle(node)) {
|
|
33
35
|
title = node.props.children
|
|
34
36
|
}
|
|
35
|
-
if (
|
|
37
|
+
if (isSubtitle(node)) {
|
|
36
38
|
subtitle = node.props.children
|
|
37
39
|
}
|
|
38
40
|
|
|
39
|
-
if (
|
|
41
|
+
if (isMultichannelButton(node)) {
|
|
40
42
|
buttons.push(node)
|
|
41
43
|
}
|
|
42
44
|
//TODO support fragment containing an array
|
|
@@ -9,18 +9,20 @@ import { MultichannelButton } from './multichannel-button'
|
|
|
9
9
|
import { MultichannelContext } from './multichannel-context'
|
|
10
10
|
import {
|
|
11
11
|
buttonTypes,
|
|
12
|
-
DEFAULT_WHATSAPP_MAX_BUTTON_SEPARATOR,
|
|
13
12
|
elementHasPostback,
|
|
14
13
|
elementHasUrl,
|
|
15
14
|
elementHasWebview,
|
|
16
15
|
getButtonType,
|
|
17
16
|
getMultichannelButtons,
|
|
18
17
|
getMultichannelReplies,
|
|
18
|
+
} from './multichannel-utils'
|
|
19
|
+
import {
|
|
20
|
+
DEFAULT_WHATSAPP_MAX_BUTTON_SEPARATOR,
|
|
19
21
|
MENU_BUTTON_WHATSAPP_BUTTON_LIST,
|
|
20
22
|
MULTICHANNEL_WHATSAPP_PROPS,
|
|
21
23
|
WHATSAPP_LIST_MAX_BUTTONS,
|
|
22
24
|
WHATSAPP_MAX_BUTTONS,
|
|
23
|
-
} from './
|
|
25
|
+
} from './whatsapp/constants'
|
|
24
26
|
import { convertToMarkdownMeta } from './whatsapp/markdown-meta'
|
|
25
27
|
|
|
26
28
|
export const MultichannelText = props => {
|
|
@@ -1,45 +1,48 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
export const WHATSAPP_MAX_HEADER_CHARS = 60
|
|
12
|
-
export const WHATSAPP_MAX_BODY_CHARS = 1024
|
|
13
|
-
export const WHATSAPP_MAX_FOOTER_CHARS = 60
|
|
14
|
-
export const DEFAULT_WHATSAPP_MAX_BUTTON_SEPARATOR = 'More options:'
|
|
15
|
-
export const MENU_BUTTON_WHATSAPP_BUTTON_LIST = 'Show options'
|
|
1
|
+
import { Button } from '../button'
|
|
2
|
+
import { Pic } from '../pic'
|
|
3
|
+
import { Subtitle } from '../subtitle'
|
|
4
|
+
import { Title } from '../title'
|
|
5
|
+
import { MultichannelButton } from './multichannel-button'
|
|
6
|
+
import { MultichannelReply } from './multichannel-reply'
|
|
7
|
+
|
|
8
|
+
function isNodeKind(node, kind) {
|
|
9
|
+
return node.type && node.type.name === kind
|
|
10
|
+
}
|
|
16
11
|
|
|
17
12
|
export function isMultichannelButton(node) {
|
|
18
|
-
return isNodeKind(node,
|
|
13
|
+
return isNodeKind(node, MultichannelButton.name)
|
|
19
14
|
}
|
|
20
15
|
|
|
21
16
|
export function isMultichannelReply(node) {
|
|
22
|
-
return isNodeKind(node,
|
|
17
|
+
return isNodeKind(node, MultichannelReply.name)
|
|
23
18
|
}
|
|
24
19
|
|
|
25
20
|
export function isButton(node) {
|
|
26
|
-
return isNodeKind(node,
|
|
21
|
+
return isNodeKind(node, Button.name)
|
|
27
22
|
}
|
|
28
23
|
|
|
29
|
-
export function
|
|
30
|
-
return node
|
|
24
|
+
export function isPic(node) {
|
|
25
|
+
return isNodeKind(node, Pic.name)
|
|
31
26
|
}
|
|
27
|
+
|
|
28
|
+
export function isTitle(node) {
|
|
29
|
+
return isNodeKind(node, Title.name)
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export function isSubtitle(node) {
|
|
33
|
+
return isNodeKind(node, Subtitle.name)
|
|
34
|
+
}
|
|
35
|
+
|
|
32
36
|
export function elementHasUrl(element) {
|
|
33
|
-
return element
|
|
37
|
+
return element?.props?.url
|
|
34
38
|
}
|
|
39
|
+
|
|
35
40
|
export function elementHasPostback(element) {
|
|
36
|
-
return
|
|
37
|
-
(element.props && element.props.payload) ||
|
|
38
|
-
(element.props && element.props.path)
|
|
39
|
-
)
|
|
41
|
+
return element?.props?.payload || element?.props?.path
|
|
40
42
|
}
|
|
43
|
+
|
|
41
44
|
export function elementHasWebview(element) {
|
|
42
|
-
return element
|
|
45
|
+
return element?.props?.webview
|
|
43
46
|
}
|
|
44
47
|
|
|
45
48
|
export const buttonTypes = {
|