@botonic/react 0.42.0 → 0.43.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/components/index.d.ts +2 -1
- package/lib/cjs/components/index.js +3 -2
- package/lib/cjs/components/index.js.map +1 -1
- package/lib/cjs/components/whatsapp-template/index.d.ts +10 -0
- package/lib/cjs/components/whatsapp-template/index.js +25 -0
- package/lib/cjs/components/whatsapp-template/index.js.map +1 -0
- package/lib/cjs/components/whatsapp-template/types.d.ts +79 -0
- package/lib/cjs/components/whatsapp-template/types.js +27 -0
- package/lib/cjs/components/whatsapp-template/types.js.map +1 -0
- package/lib/esm/components/index.d.ts +2 -1
- package/lib/esm/components/index.js +2 -1
- package/lib/esm/components/index.js.map +1 -1
- package/lib/esm/components/whatsapp-template/index.d.ts +10 -0
- package/lib/esm/components/whatsapp-template/index.js +21 -0
- package/lib/esm/components/whatsapp-template/index.js.map +1 -0
- package/lib/esm/components/whatsapp-template/types.d.ts +79 -0
- package/lib/esm/components/whatsapp-template/types.js +24 -0
- package/lib/esm/components/whatsapp-template/types.js.map +1 -0
- package/package.json +4 -5
- package/src/components/index.ts +2 -1
- package/src/components/whatsapp-template/index.tsx +50 -0
- package/src/components/whatsapp-template/types.ts +104 -0
- package/lib/cjs/components/whatsapp-template.d.ts +0 -1
- package/lib/cjs/components/whatsapp-template.js +0 -25
- package/lib/cjs/components/whatsapp-template.js.map +0 -1
- package/lib/esm/components/whatsapp-template.d.ts +0 -1
- package/lib/esm/components/whatsapp-template.js +0 -20
- package/lib/esm/components/whatsapp-template.js.map +0 -1
- package/src/components/whatsapp-template.jsx +0 -35
|
@@ -28,4 +28,5 @@ export { WhatsappMediaCarousel, WhatsappMediaCarouselProps, } from './whatsapp-m
|
|
|
28
28
|
export { WhatsappProduct } from './whatsapp-product';
|
|
29
29
|
export { WhatsappProductCarousel, WhatsappProductCarouselProps, } from './whatsapp-product-carousel';
|
|
30
30
|
export { ProductItem, WhatsappProductList, WhatsappProductListProps, WhatsappProductListSection, } from './whatsapp-product-list';
|
|
31
|
-
export { WhatsappTemplate } from './whatsapp-template';
|
|
31
|
+
export { WhatsappTemplate } from './whatsapp-template/index';
|
|
32
|
+
export * from './whatsapp-template/types';
|
|
@@ -62,6 +62,7 @@ var whatsapp_product_carousel_1 = require("./whatsapp-product-carousel");
|
|
|
62
62
|
Object.defineProperty(exports, "WhatsappProductCarousel", { enumerable: true, get: function () { return whatsapp_product_carousel_1.WhatsappProductCarousel; } });
|
|
63
63
|
var whatsapp_product_list_1 = require("./whatsapp-product-list");
|
|
64
64
|
Object.defineProperty(exports, "WhatsappProductList", { enumerable: true, get: function () { return whatsapp_product_list_1.WhatsappProductList; } });
|
|
65
|
-
var
|
|
66
|
-
Object.defineProperty(exports, "WhatsappTemplate", { enumerable: true, get: function () { return
|
|
65
|
+
var index_2 = require("./whatsapp-template/index");
|
|
66
|
+
Object.defineProperty(exports, "WhatsappTemplate", { enumerable: true, get: function () { return index_2.WhatsappTemplate; } });
|
|
67
|
+
tslib_1.__exportStar(require("./whatsapp-template/types"), exports);
|
|
67
68
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":";;;;AAAA,iCAA+B;AAAtB,8FAAA,KAAK,OAAA;AACd,wCAAuC;AAA9B,+FAAA,MAAM,OAAA;AACf,uCAAqC;AAA5B,oGAAA,QAAQ,OAAA;AACjB,mDAAgD;AAAvC,+GAAA,aAAa,OAAA;AACtB,uCAAqC;AAA5B,oGAAA,QAAQ,OAAA;AACjB,qCAAmC;AAA1B,kGAAA,OAAO,OAAA;AAChB,qCAAmC;AAA1B,kGAAA,OAAO,OAAA;AAChB,iCAA+B;AAAtB,8FAAA,KAAK,OAAA;AACd,wDAA6B;AAC7B,uCAAqC;AAA5B,oGAAA,QAAQ,OAAA;AACjB,qCAAmC;AAA1B,kGAAA,OAAO,OAAA;AAChB,uDAAoD;AAA3C,mHAAA,eAAe,OAAA;AACxB,yDAA8B;AAC9B,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,iCAA+B;AAAtB,8FAAA,KAAK,OAAA;AACd,+CAA4C;AAAnC,2GAAA,WAAW,OAAA;AACpB,uCAAqC;AAA5B,oGAAA,QAAQ,OAAA;AACjB,+BAA6B;AAApB,4FAAA,IAAI,OAAA;AACb,iCAA+B;AAAtB,8FAAA,KAAK,OAAA;AACd,iCAA+B;AAAtB,8FAAA,KAAK,OAAA;AACd,uDAI2B;AAHzB,4HAAA,wBAAwB,OAAA;AACxB,mHAAA,eAAe,OAAA;AAGjB,+DAK+B;AAJ7B,0HAAA,kBAAkB,OAAA;AAKpB,uDAA0E;AAAjE,mHAAA,eAAe,OAAA;AACxB,qEAIkC;AAHhC,+HAAA,oBAAoB,OAAA;AAEpB,mIAAA,wBAAwB,OAAA;AAE1B,6FAG8C;AAF5C,uJAAA,gCAAgC,OAAA;AAGlC,qEAGkC;AAFhC,gIAAA,qBAAqB,OAAA;AAGvB,uDAAoD;AAA3C,mHAAA,eAAe,OAAA;AACxB,yEAGoC;AAFlC,oIAAA,uBAAuB,OAAA;AAGzB,iEAKgC;AAH9B,4HAAA,mBAAmB,OAAA;AAIrB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":";;;;AAAA,iCAA+B;AAAtB,8FAAA,KAAK,OAAA;AACd,wCAAuC;AAA9B,+FAAA,MAAM,OAAA;AACf,uCAAqC;AAA5B,oGAAA,QAAQ,OAAA;AACjB,mDAAgD;AAAvC,+GAAA,aAAa,OAAA;AACtB,uCAAqC;AAA5B,oGAAA,QAAQ,OAAA;AACjB,qCAAmC;AAA1B,kGAAA,OAAO,OAAA;AAChB,qCAAmC;AAA1B,kGAAA,OAAO,OAAA;AAChB,iCAA+B;AAAtB,8FAAA,KAAK,OAAA;AACd,wDAA6B;AAC7B,uCAAqC;AAA5B,oGAAA,QAAQ,OAAA;AACjB,qCAAmC;AAA1B,kGAAA,OAAO,OAAA;AAChB,uDAAoD;AAA3C,mHAAA,eAAe,OAAA;AACxB,yDAA8B;AAC9B,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,iCAA+B;AAAtB,8FAAA,KAAK,OAAA;AACd,+CAA4C;AAAnC,2GAAA,WAAW,OAAA;AACpB,uCAAqC;AAA5B,oGAAA,QAAQ,OAAA;AACjB,+BAA6B;AAApB,4FAAA,IAAI,OAAA;AACb,iCAA+B;AAAtB,8FAAA,KAAK,OAAA;AACd,iCAA+B;AAAtB,8FAAA,KAAK,OAAA;AACd,uDAI2B;AAHzB,4HAAA,wBAAwB,OAAA;AACxB,mHAAA,eAAe,OAAA;AAGjB,+DAK+B;AAJ7B,0HAAA,kBAAkB,OAAA;AAKpB,uDAA0E;AAAjE,mHAAA,eAAe,OAAA;AACxB,qEAIkC;AAHhC,+HAAA,oBAAoB,OAAA;AAEpB,mIAAA,wBAAwB,OAAA;AAE1B,6FAG8C;AAF5C,uJAAA,gCAAgC,OAAA;AAGlC,qEAGkC;AAFhC,gIAAA,qBAAqB,OAAA;AAGvB,uDAAoD;AAA3C,mHAAA,eAAe,OAAA;AACxB,yEAGoC;AAFlC,oIAAA,uBAAuB,OAAA;AAGzB,iEAKgC;AAH9B,4HAAA,mBAAmB,OAAA;AAIrB,mDAA4D;AAAnD,yGAAA,gBAAgB,OAAA;AACzB,oEAAyC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface WhatsappTemplateProps {
|
|
2
|
+
name: string;
|
|
3
|
+
language: string;
|
|
4
|
+
namespace?: string;
|
|
5
|
+
header?: Record<string, any>;
|
|
6
|
+
body?: Record<string, any>;
|
|
7
|
+
footer?: Record<string, any>;
|
|
8
|
+
buttons?: Record<string, any>;
|
|
9
|
+
}
|
|
10
|
+
export declare const WhatsappTemplate: (props: WhatsappTemplateProps) => any;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WhatsappTemplate = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const core_1 = require("@botonic/core");
|
|
6
|
+
const react_1 = require("../../util/react");
|
|
7
|
+
const message_1 = require("../message");
|
|
8
|
+
const serialize = (message) => {
|
|
9
|
+
return { text: message };
|
|
10
|
+
};
|
|
11
|
+
const WhatsappTemplate = (props) => {
|
|
12
|
+
const renderBrowser = () => {
|
|
13
|
+
// Return a dummy message for browser
|
|
14
|
+
const message = `Template ${props.name} with language ${props.language} and namespace ${props.namespace} would be sent to the user.`;
|
|
15
|
+
return ((0, jsx_runtime_1.jsx)(message_1.Message, Object.assign({ json: serialize(message) }, props, { type: core_1.INPUT.TEXT }, { children: message })));
|
|
16
|
+
};
|
|
17
|
+
const renderNode = () => {
|
|
18
|
+
return (
|
|
19
|
+
// @ts-ignore Property 'message' does not exist on type 'JSX.IntrinsicElements'.
|
|
20
|
+
(0, jsx_runtime_1.jsx)("message", Object.assign({}, props, { name: props.name, language: props.language, namespace: props.namespace, header: props.header && JSON.stringify(props.header), body: props.body && JSON.stringify(props.body), footer: props.footer && JSON.stringify(props.footer), buttons: props.buttons && JSON.stringify(props.buttons), type: core_1.INPUT.WHATSAPP_TEMPLATE })));
|
|
21
|
+
};
|
|
22
|
+
return (0, react_1.renderComponent)({ renderBrowser, renderNode });
|
|
23
|
+
};
|
|
24
|
+
exports.WhatsappTemplate = WhatsappTemplate;
|
|
25
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/whatsapp-template/index.tsx"],"names":[],"mappings":";;;;AAAA,wCAAqC;AAGrC,4CAAkD;AAClD,wCAAoC;AAEpC,MAAM,SAAS,GAAG,CAAC,OAAe,EAAE,EAAE;IACpC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;AAC1B,CAAC,CAAA;AAYM,MAAM,gBAAgB,GAAG,CAAC,KAA4B,EAAE,EAAE;IAC/D,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,qCAAqC;QACrC,MAAM,OAAO,GAAG,YAAY,KAAK,CAAC,IAAI,kBAAkB,KAAK,CAAC,QAAQ,kBAAkB,KAAK,CAAC,SAAS,6BAA6B,CAAA;QACpI,OAAO,CACL,uBAAC,iBAAO,kBAAC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,IAAM,KAAK,IAAE,IAAI,EAAE,YAAK,CAAC,IAAI,gBAC3D,OAAO,IACA,CACX,CAAA;IACH,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,OAAO;QACL,gFAAgF;QAChF,oDACM,KAAK,IACT,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EACpD,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAC9C,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EACpD,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EACvD,IAAI,EAAE,YAAK,CAAC,iBAAiB,IAC7B,CACH,CAAA;IACH,CAAC,CAAA;IAED,OAAO,IAAA,uBAAe,EAAC,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAA;AACvD,CAAC,CAAA;AA7BY,QAAA,gBAAgB,oBA6B5B"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
export declare enum WhatsAppTemplateButtonSubType {
|
|
2
|
+
URL = "URL",
|
|
3
|
+
QUICK_REPLY = "QUICK_REPLY",
|
|
4
|
+
PHONE_NUMBER = "PHONE_NUMBER",
|
|
5
|
+
VOICE_CALL = "VOICE_CALL"
|
|
6
|
+
}
|
|
7
|
+
export declare enum WhatsAppTemplateParameterType {
|
|
8
|
+
PAYLOAD = "PAYLOAD",
|
|
9
|
+
TEXT = "TEXT",
|
|
10
|
+
IMAGE = "IMAGE",
|
|
11
|
+
VIDEO = "VIDEO",
|
|
12
|
+
DOCUMENT = "DOCUMENT"
|
|
13
|
+
}
|
|
14
|
+
export declare enum WhatsAppTemplateComponentType {
|
|
15
|
+
HEADER = "HEADER",
|
|
16
|
+
BODY = "BODY",
|
|
17
|
+
FOOTER = "FOOTER",
|
|
18
|
+
BUTTONS = "BUTTONS",
|
|
19
|
+
BUTTON = "BUTTON"
|
|
20
|
+
}
|
|
21
|
+
export interface WhatsappTemplateHeaderTextParameter {
|
|
22
|
+
type: WhatsAppTemplateParameterType.TEXT;
|
|
23
|
+
text: string;
|
|
24
|
+
}
|
|
25
|
+
export interface WhatsappTemplateHeaderImageParameter {
|
|
26
|
+
type: WhatsAppTemplateParameterType.IMAGE;
|
|
27
|
+
image: {
|
|
28
|
+
link: string;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export interface WhatsappTemplateComponentHeader {
|
|
32
|
+
type: WhatsAppTemplateComponentType.HEADER;
|
|
33
|
+
parameters: WhatsappTemplateHeaderTextParameter[] | WhatsappTemplateHeaderImageParameter[];
|
|
34
|
+
}
|
|
35
|
+
export interface WhatsappTemplateComponentBody {
|
|
36
|
+
type: WhatsAppTemplateComponentType.BODY;
|
|
37
|
+
parameters: {
|
|
38
|
+
type: WhatsAppTemplateParameterType.TEXT;
|
|
39
|
+
parameter_name: string;
|
|
40
|
+
text: string;
|
|
41
|
+
}[];
|
|
42
|
+
}
|
|
43
|
+
export interface WhatsappTemplateComponentFooter {
|
|
44
|
+
type: WhatsAppTemplateComponentType.FOOTER;
|
|
45
|
+
parameters: {
|
|
46
|
+
type: WhatsAppTemplateParameterType.TEXT;
|
|
47
|
+
parameter_name: string;
|
|
48
|
+
text: string;
|
|
49
|
+
}[];
|
|
50
|
+
}
|
|
51
|
+
export interface WhatsappTemplateComponentButtons {
|
|
52
|
+
type: WhatsAppTemplateComponentType.BUTTONS;
|
|
53
|
+
buttons: WhatsappTemplateButton[];
|
|
54
|
+
}
|
|
55
|
+
export interface WhatsappTemplateQuickReplyButton {
|
|
56
|
+
type: WhatsAppTemplateComponentType.BUTTON;
|
|
57
|
+
sub_type: WhatsAppTemplateButtonSubType.QUICK_REPLY;
|
|
58
|
+
index: number;
|
|
59
|
+
parameters: {
|
|
60
|
+
type: WhatsAppTemplateParameterType.PAYLOAD;
|
|
61
|
+
payload: string;
|
|
62
|
+
}[];
|
|
63
|
+
}
|
|
64
|
+
export interface WhatsappTemplateUrlButton {
|
|
65
|
+
type: WhatsAppTemplateComponentType.BUTTON;
|
|
66
|
+
sub_type: WhatsAppTemplateButtonSubType.URL;
|
|
67
|
+
index: number;
|
|
68
|
+
parameters: {
|
|
69
|
+
type: WhatsAppTemplateParameterType.TEXT;
|
|
70
|
+
text: string;
|
|
71
|
+
}[];
|
|
72
|
+
}
|
|
73
|
+
export interface WhatsappTemplateVoiceCallButton {
|
|
74
|
+
type: WhatsAppTemplateComponentType.BUTTON;
|
|
75
|
+
sub_type: WhatsAppTemplateButtonSubType.VOICE_CALL;
|
|
76
|
+
index: number;
|
|
77
|
+
parameters: [];
|
|
78
|
+
}
|
|
79
|
+
export type WhatsappTemplateButton = WhatsappTemplateQuickReplyButton | WhatsappTemplateUrlButton | WhatsappTemplateVoiceCallButton;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WhatsAppTemplateComponentType = exports.WhatsAppTemplateParameterType = exports.WhatsAppTemplateButtonSubType = void 0;
|
|
4
|
+
var WhatsAppTemplateButtonSubType;
|
|
5
|
+
(function (WhatsAppTemplateButtonSubType) {
|
|
6
|
+
WhatsAppTemplateButtonSubType["URL"] = "URL";
|
|
7
|
+
WhatsAppTemplateButtonSubType["QUICK_REPLY"] = "QUICK_REPLY";
|
|
8
|
+
WhatsAppTemplateButtonSubType["PHONE_NUMBER"] = "PHONE_NUMBER";
|
|
9
|
+
WhatsAppTemplateButtonSubType["VOICE_CALL"] = "VOICE_CALL";
|
|
10
|
+
})(WhatsAppTemplateButtonSubType = exports.WhatsAppTemplateButtonSubType || (exports.WhatsAppTemplateButtonSubType = {}));
|
|
11
|
+
var WhatsAppTemplateParameterType;
|
|
12
|
+
(function (WhatsAppTemplateParameterType) {
|
|
13
|
+
WhatsAppTemplateParameterType["PAYLOAD"] = "PAYLOAD";
|
|
14
|
+
WhatsAppTemplateParameterType["TEXT"] = "TEXT";
|
|
15
|
+
WhatsAppTemplateParameterType["IMAGE"] = "IMAGE";
|
|
16
|
+
WhatsAppTemplateParameterType["VIDEO"] = "VIDEO";
|
|
17
|
+
WhatsAppTemplateParameterType["DOCUMENT"] = "DOCUMENT";
|
|
18
|
+
})(WhatsAppTemplateParameterType = exports.WhatsAppTemplateParameterType || (exports.WhatsAppTemplateParameterType = {}));
|
|
19
|
+
var WhatsAppTemplateComponentType;
|
|
20
|
+
(function (WhatsAppTemplateComponentType) {
|
|
21
|
+
WhatsAppTemplateComponentType["HEADER"] = "HEADER";
|
|
22
|
+
WhatsAppTemplateComponentType["BODY"] = "BODY";
|
|
23
|
+
WhatsAppTemplateComponentType["FOOTER"] = "FOOTER";
|
|
24
|
+
WhatsAppTemplateComponentType["BUTTONS"] = "BUTTONS";
|
|
25
|
+
WhatsAppTemplateComponentType["BUTTON"] = "BUTTON";
|
|
26
|
+
})(WhatsAppTemplateComponentType = exports.WhatsAppTemplateComponentType || (exports.WhatsAppTemplateComponentType = {}));
|
|
27
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components/whatsapp-template/types.ts"],"names":[],"mappings":";;;AAAA,IAAY,6BAKX;AALD,WAAY,6BAA6B;IACvC,4CAAW,CAAA;IACX,4DAA2B,CAAA;IAC3B,8DAA6B,CAAA;IAC7B,0DAAyB,CAAA;AAC3B,CAAC,EALW,6BAA6B,GAA7B,qCAA6B,KAA7B,qCAA6B,QAKxC;AAED,IAAY,6BAMX;AAND,WAAY,6BAA6B;IACvC,oDAAmB,CAAA;IACnB,8CAAa,CAAA;IACb,gDAAe,CAAA;IACf,gDAAe,CAAA;IACf,sDAAqB,CAAA;AACvB,CAAC,EANW,6BAA6B,GAA7B,qCAA6B,KAA7B,qCAA6B,QAMxC;AAED,IAAY,6BAMX;AAND,WAAY,6BAA6B;IACvC,kDAAiB,CAAA;IACjB,8CAAa,CAAA;IACb,kDAAiB,CAAA;IACjB,oDAAmB,CAAA;IACnB,kDAAiB,CAAA;AACnB,CAAC,EANW,6BAA6B,GAA7B,qCAA6B,KAA7B,qCAA6B,QAMxC"}
|
|
@@ -28,4 +28,5 @@ export { WhatsappMediaCarousel, WhatsappMediaCarouselProps, } from './whatsapp-m
|
|
|
28
28
|
export { WhatsappProduct } from './whatsapp-product';
|
|
29
29
|
export { WhatsappProductCarousel, WhatsappProductCarouselProps, } from './whatsapp-product-carousel';
|
|
30
30
|
export { ProductItem, WhatsappProductList, WhatsappProductListProps, WhatsappProductListSection, } from './whatsapp-product-list';
|
|
31
|
-
export { WhatsappTemplate } from './whatsapp-template';
|
|
31
|
+
export { WhatsappTemplate } from './whatsapp-template/index';
|
|
32
|
+
export * from './whatsapp-template/types';
|
|
@@ -28,5 +28,6 @@ export { WhatsappMediaCarousel, } from './whatsapp-media-carousel';
|
|
|
28
28
|
export { WhatsappProduct } from './whatsapp-product';
|
|
29
29
|
export { WhatsappProductCarousel, } from './whatsapp-product-carousel';
|
|
30
30
|
export { WhatsappProductList, } from './whatsapp-product-list';
|
|
31
|
-
export { WhatsappTemplate } from './whatsapp-template';
|
|
31
|
+
export { WhatsappTemplate } from './whatsapp-template/index';
|
|
32
|
+
export * from './whatsapp-template/types';
|
|
32
33
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,cAAc,gBAAgB,CAAA;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EACL,wBAAwB,EACxB,eAAe,GAEhB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,kBAAkB,GAInB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,eAAe,EAAwB,MAAM,oBAAoB,CAAA;AAC1E,OAAO,EACL,oBAAoB,EAEpB,wBAAwB,GACzB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,gCAAgC,GAEjC,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EACL,qBAAqB,GAEtB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EACL,uBAAuB,GAExB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAEL,mBAAmB,GAGpB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,cAAc,gBAAgB,CAAA;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EACL,wBAAwB,EACxB,eAAe,GAEhB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,kBAAkB,GAInB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,eAAe,EAAwB,MAAM,oBAAoB,CAAA;AAC1E,OAAO,EACL,oBAAoB,EAEpB,wBAAwB,GACzB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,gCAAgC,GAEjC,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EACL,qBAAqB,GAEtB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EACL,uBAAuB,GAExB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAEL,mBAAmB,GAGpB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC5D,cAAc,2BAA2B,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface WhatsappTemplateProps {
|
|
2
|
+
name: string;
|
|
3
|
+
language: string;
|
|
4
|
+
namespace?: string;
|
|
5
|
+
header?: Record<string, any>;
|
|
6
|
+
body?: Record<string, any>;
|
|
7
|
+
footer?: Record<string, any>;
|
|
8
|
+
buttons?: Record<string, any>;
|
|
9
|
+
}
|
|
10
|
+
export declare const WhatsappTemplate: (props: WhatsappTemplateProps) => any;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { INPUT } from '@botonic/core';
|
|
3
|
+
import { renderComponent } from '../../util/react';
|
|
4
|
+
import { Message } from '../message';
|
|
5
|
+
const serialize = (message) => {
|
|
6
|
+
return { text: message };
|
|
7
|
+
};
|
|
8
|
+
export const WhatsappTemplate = (props) => {
|
|
9
|
+
const renderBrowser = () => {
|
|
10
|
+
// Return a dummy message for browser
|
|
11
|
+
const message = `Template ${props.name} with language ${props.language} and namespace ${props.namespace} would be sent to the user.`;
|
|
12
|
+
return (_jsx(Message, Object.assign({ json: serialize(message) }, props, { type: INPUT.TEXT }, { children: message })));
|
|
13
|
+
};
|
|
14
|
+
const renderNode = () => {
|
|
15
|
+
return (
|
|
16
|
+
// @ts-ignore Property 'message' does not exist on type 'JSX.IntrinsicElements'.
|
|
17
|
+
_jsx("message", Object.assign({}, props, { name: props.name, language: props.language, namespace: props.namespace, header: props.header && JSON.stringify(props.header), body: props.body && JSON.stringify(props.body), footer: props.footer && JSON.stringify(props.footer), buttons: props.buttons && JSON.stringify(props.buttons), type: INPUT.WHATSAPP_TEMPLATE })));
|
|
18
|
+
};
|
|
19
|
+
return renderComponent({ renderBrowser, renderNode });
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/whatsapp-template/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAGrC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,MAAM,SAAS,GAAG,CAAC,OAAe,EAAE,EAAE;IACpC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;AAC1B,CAAC,CAAA;AAYD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAA4B,EAAE,EAAE;IAC/D,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,qCAAqC;QACrC,MAAM,OAAO,GAAG,YAAY,KAAK,CAAC,IAAI,kBAAkB,KAAK,CAAC,QAAQ,kBAAkB,KAAK,CAAC,SAAS,6BAA6B,CAAA;QACpI,OAAO,CACL,KAAC,OAAO,kBAAC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,IAAM,KAAK,IAAE,IAAI,EAAE,KAAK,CAAC,IAAI,gBAC3D,OAAO,IACA,CACX,CAAA;IACH,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,OAAO;QACL,gFAAgF;QAChF,kCACM,KAAK,IACT,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EACpD,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAC9C,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EACpD,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EACvD,IAAI,EAAE,KAAK,CAAC,iBAAiB,IAC7B,CACH,CAAA;IACH,CAAC,CAAA;IAED,OAAO,eAAe,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAA;AACvD,CAAC,CAAA"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
export declare enum WhatsAppTemplateButtonSubType {
|
|
2
|
+
URL = "URL",
|
|
3
|
+
QUICK_REPLY = "QUICK_REPLY",
|
|
4
|
+
PHONE_NUMBER = "PHONE_NUMBER",
|
|
5
|
+
VOICE_CALL = "VOICE_CALL"
|
|
6
|
+
}
|
|
7
|
+
export declare enum WhatsAppTemplateParameterType {
|
|
8
|
+
PAYLOAD = "PAYLOAD",
|
|
9
|
+
TEXT = "TEXT",
|
|
10
|
+
IMAGE = "IMAGE",
|
|
11
|
+
VIDEO = "VIDEO",
|
|
12
|
+
DOCUMENT = "DOCUMENT"
|
|
13
|
+
}
|
|
14
|
+
export declare enum WhatsAppTemplateComponentType {
|
|
15
|
+
HEADER = "HEADER",
|
|
16
|
+
BODY = "BODY",
|
|
17
|
+
FOOTER = "FOOTER",
|
|
18
|
+
BUTTONS = "BUTTONS",
|
|
19
|
+
BUTTON = "BUTTON"
|
|
20
|
+
}
|
|
21
|
+
export interface WhatsappTemplateHeaderTextParameter {
|
|
22
|
+
type: WhatsAppTemplateParameterType.TEXT;
|
|
23
|
+
text: string;
|
|
24
|
+
}
|
|
25
|
+
export interface WhatsappTemplateHeaderImageParameter {
|
|
26
|
+
type: WhatsAppTemplateParameterType.IMAGE;
|
|
27
|
+
image: {
|
|
28
|
+
link: string;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export interface WhatsappTemplateComponentHeader {
|
|
32
|
+
type: WhatsAppTemplateComponentType.HEADER;
|
|
33
|
+
parameters: WhatsappTemplateHeaderTextParameter[] | WhatsappTemplateHeaderImageParameter[];
|
|
34
|
+
}
|
|
35
|
+
export interface WhatsappTemplateComponentBody {
|
|
36
|
+
type: WhatsAppTemplateComponentType.BODY;
|
|
37
|
+
parameters: {
|
|
38
|
+
type: WhatsAppTemplateParameterType.TEXT;
|
|
39
|
+
parameter_name: string;
|
|
40
|
+
text: string;
|
|
41
|
+
}[];
|
|
42
|
+
}
|
|
43
|
+
export interface WhatsappTemplateComponentFooter {
|
|
44
|
+
type: WhatsAppTemplateComponentType.FOOTER;
|
|
45
|
+
parameters: {
|
|
46
|
+
type: WhatsAppTemplateParameterType.TEXT;
|
|
47
|
+
parameter_name: string;
|
|
48
|
+
text: string;
|
|
49
|
+
}[];
|
|
50
|
+
}
|
|
51
|
+
export interface WhatsappTemplateComponentButtons {
|
|
52
|
+
type: WhatsAppTemplateComponentType.BUTTONS;
|
|
53
|
+
buttons: WhatsappTemplateButton[];
|
|
54
|
+
}
|
|
55
|
+
export interface WhatsappTemplateQuickReplyButton {
|
|
56
|
+
type: WhatsAppTemplateComponentType.BUTTON;
|
|
57
|
+
sub_type: WhatsAppTemplateButtonSubType.QUICK_REPLY;
|
|
58
|
+
index: number;
|
|
59
|
+
parameters: {
|
|
60
|
+
type: WhatsAppTemplateParameterType.PAYLOAD;
|
|
61
|
+
payload: string;
|
|
62
|
+
}[];
|
|
63
|
+
}
|
|
64
|
+
export interface WhatsappTemplateUrlButton {
|
|
65
|
+
type: WhatsAppTemplateComponentType.BUTTON;
|
|
66
|
+
sub_type: WhatsAppTemplateButtonSubType.URL;
|
|
67
|
+
index: number;
|
|
68
|
+
parameters: {
|
|
69
|
+
type: WhatsAppTemplateParameterType.TEXT;
|
|
70
|
+
text: string;
|
|
71
|
+
}[];
|
|
72
|
+
}
|
|
73
|
+
export interface WhatsappTemplateVoiceCallButton {
|
|
74
|
+
type: WhatsAppTemplateComponentType.BUTTON;
|
|
75
|
+
sub_type: WhatsAppTemplateButtonSubType.VOICE_CALL;
|
|
76
|
+
index: number;
|
|
77
|
+
parameters: [];
|
|
78
|
+
}
|
|
79
|
+
export type WhatsappTemplateButton = WhatsappTemplateQuickReplyButton | WhatsappTemplateUrlButton | WhatsappTemplateVoiceCallButton;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export var WhatsAppTemplateButtonSubType;
|
|
2
|
+
(function (WhatsAppTemplateButtonSubType) {
|
|
3
|
+
WhatsAppTemplateButtonSubType["URL"] = "URL";
|
|
4
|
+
WhatsAppTemplateButtonSubType["QUICK_REPLY"] = "QUICK_REPLY";
|
|
5
|
+
WhatsAppTemplateButtonSubType["PHONE_NUMBER"] = "PHONE_NUMBER";
|
|
6
|
+
WhatsAppTemplateButtonSubType["VOICE_CALL"] = "VOICE_CALL";
|
|
7
|
+
})(WhatsAppTemplateButtonSubType || (WhatsAppTemplateButtonSubType = {}));
|
|
8
|
+
export var WhatsAppTemplateParameterType;
|
|
9
|
+
(function (WhatsAppTemplateParameterType) {
|
|
10
|
+
WhatsAppTemplateParameterType["PAYLOAD"] = "PAYLOAD";
|
|
11
|
+
WhatsAppTemplateParameterType["TEXT"] = "TEXT";
|
|
12
|
+
WhatsAppTemplateParameterType["IMAGE"] = "IMAGE";
|
|
13
|
+
WhatsAppTemplateParameterType["VIDEO"] = "VIDEO";
|
|
14
|
+
WhatsAppTemplateParameterType["DOCUMENT"] = "DOCUMENT";
|
|
15
|
+
})(WhatsAppTemplateParameterType || (WhatsAppTemplateParameterType = {}));
|
|
16
|
+
export var WhatsAppTemplateComponentType;
|
|
17
|
+
(function (WhatsAppTemplateComponentType) {
|
|
18
|
+
WhatsAppTemplateComponentType["HEADER"] = "HEADER";
|
|
19
|
+
WhatsAppTemplateComponentType["BODY"] = "BODY";
|
|
20
|
+
WhatsAppTemplateComponentType["FOOTER"] = "FOOTER";
|
|
21
|
+
WhatsAppTemplateComponentType["BUTTONS"] = "BUTTONS";
|
|
22
|
+
WhatsAppTemplateComponentType["BUTTON"] = "BUTTON";
|
|
23
|
+
})(WhatsAppTemplateComponentType || (WhatsAppTemplateComponentType = {}));
|
|
24
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components/whatsapp-template/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,6BAKX;AALD,WAAY,6BAA6B;IACvC,4CAAW,CAAA;IACX,4DAA2B,CAAA;IAC3B,8DAA6B,CAAA;IAC7B,0DAAyB,CAAA;AAC3B,CAAC,EALW,6BAA6B,KAA7B,6BAA6B,QAKxC;AAED,MAAM,CAAN,IAAY,6BAMX;AAND,WAAY,6BAA6B;IACvC,oDAAmB,CAAA;IACnB,8CAAa,CAAA;IACb,gDAAe,CAAA;IACf,gDAAe,CAAA;IACf,sDAAqB,CAAA;AACvB,CAAC,EANW,6BAA6B,KAA7B,6BAA6B,QAMxC;AAED,MAAM,CAAN,IAAY,6BAMX;AAND,WAAY,6BAA6B;IACvC,kDAAiB,CAAA;IACjB,8CAAa,CAAA;IACb,kDAAiB,CAAA;IACjB,oDAAmB,CAAA;IACnB,kDAAiB,CAAA;AACnB,CAAC,EANW,6BAA6B,KAA7B,6BAA6B,QAMxC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@botonic/react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.43.0-alpha.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Build Chatbots using React",
|
|
6
6
|
"main": "./lib/cjs",
|
|
@@ -11,8 +11,7 @@
|
|
|
11
11
|
"test": "../../node_modules/.bin/jest -c ./jest.config.js --coverage",
|
|
12
12
|
"updateSnapshot": "../../node_modules/.bin/jest -c ./jest.config.js --updateSnapshot",
|
|
13
13
|
"cloc": "../../scripts/qa/cloc-package.sh .",
|
|
14
|
-
"prepublishOnly": "
|
|
15
|
-
"clean": "rm -rf ./lib/",
|
|
14
|
+
"prepublishOnly": "rm -rf lib && npm i && npm run build && npm run copy-files;",
|
|
16
15
|
"copy-files": "copyfiles -u 1 src/**/*.svg src/**/*.png src/**/*.scss src/**/*.html lib/esm/; copyfiles -u 1 src/**/*.svg src/**/*.png src/**/*.scss src/**/*.html lib/cjs/;",
|
|
17
16
|
"build": "../../node_modules/.bin/tsc -p tsconfig.json && ../../node_modules/.bin/tsc -p tsconfig.esm.json",
|
|
18
17
|
"build:watch": "npm run build -- --watch",
|
|
@@ -21,7 +20,7 @@
|
|
|
21
20
|
"lint_core": "../../node_modules/.bin/eslint_d --cache --quiet '.*.js' '*.js' 'src/**/*.js*' --fix"
|
|
22
21
|
},
|
|
23
22
|
"dependencies": {
|
|
24
|
-
"@botonic/core": "
|
|
23
|
+
"@botonic/core": "0.43.0-alpha.0",
|
|
25
24
|
"axios": "^1.12.2",
|
|
26
25
|
"emoji-picker-react": "^4.12.0",
|
|
27
26
|
"lodash.merge": "^4.6.2",
|
|
@@ -81,4 +80,4 @@
|
|
|
81
80
|
"javascript",
|
|
82
81
|
"react"
|
|
83
82
|
]
|
|
84
|
-
}
|
|
83
|
+
}
|
package/src/components/index.ts
CHANGED
|
@@ -55,4 +55,5 @@ export {
|
|
|
55
55
|
WhatsappProductListProps,
|
|
56
56
|
WhatsappProductListSection,
|
|
57
57
|
} from './whatsapp-product-list'
|
|
58
|
-
export { WhatsappTemplate } from './whatsapp-template'
|
|
58
|
+
export { WhatsappTemplate } from './whatsapp-template/index'
|
|
59
|
+
export * from './whatsapp-template/types'
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { INPUT } from '@botonic/core'
|
|
2
|
+
import React from 'react'
|
|
3
|
+
|
|
4
|
+
import { renderComponent } from '../../util/react'
|
|
5
|
+
import { Message } from '../message'
|
|
6
|
+
|
|
7
|
+
const serialize = (message: string) => {
|
|
8
|
+
return { text: message }
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export interface WhatsappTemplateProps {
|
|
12
|
+
name: string
|
|
13
|
+
language: string
|
|
14
|
+
namespace?: string
|
|
15
|
+
header?: Record<string, any>
|
|
16
|
+
body?: Record<string, any>
|
|
17
|
+
footer?: Record<string, any>
|
|
18
|
+
buttons?: Record<string, any>
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export const WhatsappTemplate = (props: WhatsappTemplateProps) => {
|
|
22
|
+
const renderBrowser = () => {
|
|
23
|
+
// Return a dummy message for browser
|
|
24
|
+
const message = `Template ${props.name} with language ${props.language} and namespace ${props.namespace} would be sent to the user.`
|
|
25
|
+
return (
|
|
26
|
+
<Message json={serialize(message)} {...props} type={INPUT.TEXT}>
|
|
27
|
+
{message}
|
|
28
|
+
</Message>
|
|
29
|
+
)
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const renderNode = () => {
|
|
33
|
+
return (
|
|
34
|
+
// @ts-ignore Property 'message' does not exist on type 'JSX.IntrinsicElements'.
|
|
35
|
+
<message
|
|
36
|
+
{...props}
|
|
37
|
+
name={props.name}
|
|
38
|
+
language={props.language}
|
|
39
|
+
namespace={props.namespace}
|
|
40
|
+
header={props.header && JSON.stringify(props.header)}
|
|
41
|
+
body={props.body && JSON.stringify(props.body)}
|
|
42
|
+
footer={props.footer && JSON.stringify(props.footer)}
|
|
43
|
+
buttons={props.buttons && JSON.stringify(props.buttons)}
|
|
44
|
+
type={INPUT.WHATSAPP_TEMPLATE}
|
|
45
|
+
/>
|
|
46
|
+
)
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
return renderComponent({ renderBrowser, renderNode })
|
|
50
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
export enum WhatsAppTemplateButtonSubType {
|
|
2
|
+
URL = 'URL',
|
|
3
|
+
QUICK_REPLY = 'QUICK_REPLY',
|
|
4
|
+
PHONE_NUMBER = 'PHONE_NUMBER',
|
|
5
|
+
VOICE_CALL = 'VOICE_CALL',
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export enum WhatsAppTemplateParameterType {
|
|
9
|
+
PAYLOAD = 'PAYLOAD',
|
|
10
|
+
TEXT = 'TEXT',
|
|
11
|
+
IMAGE = 'IMAGE',
|
|
12
|
+
VIDEO = 'VIDEO',
|
|
13
|
+
DOCUMENT = 'DOCUMENT',
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export enum WhatsAppTemplateComponentType {
|
|
17
|
+
HEADER = 'HEADER',
|
|
18
|
+
BODY = 'BODY',
|
|
19
|
+
FOOTER = 'FOOTER',
|
|
20
|
+
BUTTONS = 'BUTTONS',
|
|
21
|
+
BUTTON = 'BUTTON',
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export interface WhatsappTemplateHeaderTextParameter {
|
|
25
|
+
type: WhatsAppTemplateParameterType.TEXT
|
|
26
|
+
text: string
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export interface WhatsappTemplateHeaderImageParameter {
|
|
30
|
+
type: WhatsAppTemplateParameterType.IMAGE
|
|
31
|
+
image: {
|
|
32
|
+
link: string
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export interface WhatsappTemplateComponentHeader {
|
|
37
|
+
type: WhatsAppTemplateComponentType.HEADER
|
|
38
|
+
parameters:
|
|
39
|
+
| WhatsappTemplateHeaderTextParameter[]
|
|
40
|
+
| WhatsappTemplateHeaderImageParameter[]
|
|
41
|
+
// | {
|
|
42
|
+
// type: WhatsAppTemplateParameterType.VIDEO
|
|
43
|
+
// video: string
|
|
44
|
+
// }[]
|
|
45
|
+
// | {
|
|
46
|
+
// type: WhatsAppTemplateParameterType.DOCUMENT
|
|
47
|
+
// document: string
|
|
48
|
+
// }[]
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export interface WhatsappTemplateComponentBody {
|
|
52
|
+
type: WhatsAppTemplateComponentType.BODY
|
|
53
|
+
parameters: {
|
|
54
|
+
type: WhatsAppTemplateParameterType.TEXT
|
|
55
|
+
parameter_name: string
|
|
56
|
+
text: string
|
|
57
|
+
}[]
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export interface WhatsappTemplateComponentFooter {
|
|
61
|
+
type: WhatsAppTemplateComponentType.FOOTER
|
|
62
|
+
parameters: {
|
|
63
|
+
type: WhatsAppTemplateParameterType.TEXT
|
|
64
|
+
parameter_name: string
|
|
65
|
+
text: string
|
|
66
|
+
}[]
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export interface WhatsappTemplateComponentButtons {
|
|
70
|
+
type: WhatsAppTemplateComponentType.BUTTONS
|
|
71
|
+
buttons: WhatsappTemplateButton[]
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export interface WhatsappTemplateQuickReplyButton {
|
|
75
|
+
type: WhatsAppTemplateComponentType.BUTTON
|
|
76
|
+
sub_type: WhatsAppTemplateButtonSubType.QUICK_REPLY
|
|
77
|
+
index: number
|
|
78
|
+
parameters: {
|
|
79
|
+
type: WhatsAppTemplateParameterType.PAYLOAD
|
|
80
|
+
payload: string
|
|
81
|
+
}[]
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export interface WhatsappTemplateUrlButton {
|
|
85
|
+
type: WhatsAppTemplateComponentType.BUTTON
|
|
86
|
+
sub_type: WhatsAppTemplateButtonSubType.URL
|
|
87
|
+
index: number
|
|
88
|
+
parameters: {
|
|
89
|
+
type: WhatsAppTemplateParameterType.TEXT
|
|
90
|
+
text: string // URL dynamic param
|
|
91
|
+
}[]
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export interface WhatsappTemplateVoiceCallButton {
|
|
95
|
+
type: WhatsAppTemplateComponentType.BUTTON
|
|
96
|
+
sub_type: WhatsAppTemplateButtonSubType.VOICE_CALL
|
|
97
|
+
index: number
|
|
98
|
+
parameters: []
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
export type WhatsappTemplateButton =
|
|
102
|
+
| WhatsappTemplateQuickReplyButton
|
|
103
|
+
| WhatsappTemplateUrlButton
|
|
104
|
+
| WhatsappTemplateVoiceCallButton
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export function WhatsappTemplate(props: any): any;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WhatsappTemplate = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
-
const core_1 = require("@botonic/core");
|
|
7
|
-
const react_1 = tslib_1.__importDefault(require("react"));
|
|
8
|
-
const react_2 = require("../util/react");
|
|
9
|
-
const message_1 = require("./message");
|
|
10
|
-
const serialize = whatsappTemplateProps => {
|
|
11
|
-
return { text: whatsappTemplateProps };
|
|
12
|
-
};
|
|
13
|
-
const WhatsappTemplate = props => {
|
|
14
|
-
const renderBrowser = () => {
|
|
15
|
-
// Return a dummy message for browser
|
|
16
|
-
const message = `Template ${props.name} with namespace ${props.namespace} would be sent to the user.`;
|
|
17
|
-
return ((0, jsx_runtime_1.jsx)(message_1.Message, Object.assign({ json: serialize(message) }, props, { type: core_1.INPUT.TEXT }, { children: message })));
|
|
18
|
-
};
|
|
19
|
-
const renderNode = () => {
|
|
20
|
-
return ((0, jsx_runtime_1.jsx)("message", Object.assign({}, props, { header: props.header && JSON.stringify(props.header), body: props.body && JSON.stringify(props.body), footer: props.footer && JSON.stringify(props.footer), type: core_1.INPUT.WHATSAPP_TEMPLATE })));
|
|
21
|
-
};
|
|
22
|
-
return (0, react_2.renderComponent)({ renderBrowser, renderNode });
|
|
23
|
-
};
|
|
24
|
-
exports.WhatsappTemplate = WhatsappTemplate;
|
|
25
|
-
//# sourceMappingURL=whatsapp-template.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"whatsapp-template.js","sourceRoot":"","sources":["../../../src/components/whatsapp-template.jsx"],"names":[],"mappings":";;;;;AAAA,wCAAqC;AACrC,0DAAyB;AAEzB,yCAA+C;AAC/C,uCAAmC;AAEnC,MAAM,SAAS,GAAG,qBAAqB,CAAC,EAAE;IACxC,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAA;AACxC,CAAC,CAAA;AAEM,MAAM,gBAAgB,GAAG,KAAK,CAAC,EAAE;IACtC,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,qCAAqC;QACrC,MAAM,OAAO,GAAG,YAAY,KAAK,CAAC,IAAI,mBAAmB,KAAK,CAAC,SAAS,6BAA6B,CAAA;QACrG,OAAO,CACL,uBAAC,iBAAO,kBAAC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,IAAM,KAAK,IAAE,IAAI,EAAE,YAAK,CAAC,IAAI,gBAC3D,OAAO,IACA,CACX,CAAA;IACH,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,OAAO,CACL,oDACM,KAAK,IACT,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EACpD,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAC9C,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EACpD,IAAI,EAAE,YAAK,CAAC,iBAAiB,IAC7B,CACH,CAAA;IACH,CAAC,CAAA;IAED,OAAO,IAAA,uBAAe,EAAC,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAA;AACvD,CAAC,CAAA;AAxBY,QAAA,gBAAgB,oBAwB5B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export function WhatsappTemplate(props: any): any;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { INPUT } from '@botonic/core';
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import { renderComponent } from '../util/react';
|
|
5
|
-
import { Message } from './message';
|
|
6
|
-
const serialize = whatsappTemplateProps => {
|
|
7
|
-
return { text: whatsappTemplateProps };
|
|
8
|
-
};
|
|
9
|
-
export const WhatsappTemplate = props => {
|
|
10
|
-
const renderBrowser = () => {
|
|
11
|
-
// Return a dummy message for browser
|
|
12
|
-
const message = `Template ${props.name} with namespace ${props.namespace} would be sent to the user.`;
|
|
13
|
-
return (_jsx(Message, Object.assign({ json: serialize(message) }, props, { type: INPUT.TEXT }, { children: message })));
|
|
14
|
-
};
|
|
15
|
-
const renderNode = () => {
|
|
16
|
-
return (_jsx("message", Object.assign({}, props, { header: props.header && JSON.stringify(props.header), body: props.body && JSON.stringify(props.body), footer: props.footer && JSON.stringify(props.footer), type: INPUT.WHATSAPP_TEMPLATE })));
|
|
17
|
-
};
|
|
18
|
-
return renderComponent({ renderBrowser, renderNode });
|
|
19
|
-
};
|
|
20
|
-
//# sourceMappingURL=whatsapp-template.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"whatsapp-template.js","sourceRoot":"","sources":["../../../src/components/whatsapp-template.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,MAAM,SAAS,GAAG,qBAAqB,CAAC,EAAE;IACxC,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAA;AACxC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC,EAAE;IACtC,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,qCAAqC;QACrC,MAAM,OAAO,GAAG,YAAY,KAAK,CAAC,IAAI,mBAAmB,KAAK,CAAC,SAAS,6BAA6B,CAAA;QACrG,OAAO,CACL,KAAC,OAAO,kBAAC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,IAAM,KAAK,IAAE,IAAI,EAAE,KAAK,CAAC,IAAI,gBAC3D,OAAO,IACA,CACX,CAAA;IACH,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,OAAO,CACL,kCACM,KAAK,IACT,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EACpD,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAC9C,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EACpD,IAAI,EAAE,KAAK,CAAC,iBAAiB,IAC7B,CACH,CAAA;IACH,CAAC,CAAA;IAED,OAAO,eAAe,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAA;AACvD,CAAC,CAAA"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { INPUT } from '@botonic/core'
|
|
2
|
-
import React from 'react'
|
|
3
|
-
|
|
4
|
-
import { renderComponent } from '../util/react'
|
|
5
|
-
import { Message } from './message'
|
|
6
|
-
|
|
7
|
-
const serialize = whatsappTemplateProps => {
|
|
8
|
-
return { text: whatsappTemplateProps }
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export const WhatsappTemplate = props => {
|
|
12
|
-
const renderBrowser = () => {
|
|
13
|
-
// Return a dummy message for browser
|
|
14
|
-
const message = `Template ${props.name} with namespace ${props.namespace} would be sent to the user.`
|
|
15
|
-
return (
|
|
16
|
-
<Message json={serialize(message)} {...props} type={INPUT.TEXT}>
|
|
17
|
-
{message}
|
|
18
|
-
</Message>
|
|
19
|
-
)
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
const renderNode = () => {
|
|
23
|
-
return (
|
|
24
|
-
<message
|
|
25
|
-
{...props}
|
|
26
|
-
header={props.header && JSON.stringify(props.header)}
|
|
27
|
-
body={props.body && JSON.stringify(props.body)}
|
|
28
|
-
footer={props.footer && JSON.stringify(props.footer)}
|
|
29
|
-
type={INPUT.WHATSAPP_TEMPLATE}
|
|
30
|
-
/>
|
|
31
|
-
)
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
return renderComponent({ renderBrowser, renderNode })
|
|
35
|
-
}
|