@bikdotai/bik-component-library 0.0.649 → 0.0.651
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/dist/cjs/assets/icons/RCS_PDF.svg.js +1 -0
- package/dist/cjs/assets/icons/state_icon.svg.js +1 -0
- package/dist/cjs/components/analytics-chips-and-dropdowns/chart/Pie/PieChartAnalytics.js +1 -1
- package/dist/cjs/components/carousel-preview/CarouselPreview.js +1 -1
- package/dist/cjs/components/carousel-preview/CarouselPreviewCard.js +1 -1
- package/dist/cjs/components/carousel-preview/CustomCarouselArrows.js +1 -1
- package/dist/cjs/components/product-picker-v2/modal.js +1 -1
- package/dist/cjs/components/shimmer-image/ShimmerImage.d.ts +2 -1
- package/dist/cjs/components/shimmer-image/ShimmerImage.js +1 -1
- package/dist/cjs/components/states/StateComponent.d.ts +2 -1
- package/dist/cjs/components/states/StateComponent.js +1 -1
- package/dist/cjs/components/template-context-mapper/TemplateContextMapper.js +1 -1
- package/dist/cjs/components/template-context-mapper/context/templateModalContext.d.ts +2 -0
- package/dist/cjs/components/template-context-mapper/context/templateModalContext.js +1 -1
- package/dist/cjs/components/template-context-mapper/modalElements/Body.js +5 -5
- package/dist/cjs/components/template-context-mapper/modalElements/EditWhatsAppCarouselTemplateV2.js +1 -1
- package/dist/cjs/components/template-context-mapper/modalElements/EditWhatsAppTemplateV2.js +2 -2
- package/dist/cjs/components/template-context-mapper/modalElements/Footer.js +4 -4
- package/dist/cjs/components/template-context-mapper/modalElements/MobilePreview.js +5 -5
- package/dist/cjs/components/template-context-mapper/modalElements/VariableConnector.d.ts +2 -1
- package/dist/cjs/components/template-context-mapper/modalElements/VariableConnector.js +3 -3
- package/dist/cjs/components/template-context-mapper/modalElements/VariableConnectorWhatsApp.js +1 -1
- package/dist/cjs/components/template-context-mapper/utils/getDataFromTemplateComponent.d.ts +1 -0
- package/dist/cjs/components/template-context-mapper/utils/getDataFromTemplateComponent.js +1 -1
- package/dist/cjs/components/template-context-mapper/utils/getPreviewDimension.js +1 -1
- package/dist/cjs/components/template-preview/RCS/RCSButtons.d.ts +9 -0
- package/dist/cjs/components/template-preview/RCS/RCSButtons.js +1 -0
- package/dist/cjs/components/template-preview/RCS/RCSChatHeader.d.ts +2 -0
- package/dist/cjs/components/template-preview/RCS/RCSChatHeader.js +1 -0
- package/dist/cjs/components/template-preview/RCS/RCSChatPreview.d.ts +2 -0
- package/dist/cjs/components/template-preview/RCS/RCSChatPreview.js +1 -0
- package/dist/cjs/components/template-preview/RCS/RCSMediaCard.d.ts +14 -0
- package/dist/cjs/components/template-preview/RCS/RCSMediaCard.js +1 -0
- package/dist/cjs/components/template-preview/RCS/RCSPreview.styled.d.ts +33 -0
- package/dist/cjs/components/template-preview/RCS/RCSPreview.styled.js +128 -0
- package/dist/cjs/components/template-preview/RCS/RCSTemplateLikePreview.d.ts +3 -0
- package/dist/cjs/components/template-preview/RCS/RCSTemplateLikePreview.js +8 -0
- package/dist/cjs/components/template-preview/TemplatePreview.js +1 -1
- package/dist/cjs/components/template-preview/WhatsAppTemplatePreview.d.ts +2 -0
- package/dist/cjs/components/template-preview/WhatsAppTemplatePreview.js +1 -1
- package/dist/cjs/components/template-preview/helpers/TemplateCreatorHelper.d.ts +3 -0
- package/dist/cjs/components/template-preview/helpers/TemplateCreatorHelper.js +1 -1
- package/dist/cjs/components/template-preview/helpers/templateMiscHelper.d.ts +8 -0
- package/dist/cjs/components/template-preview/helpers/templateMiscHelper.js +1 -0
- package/dist/cjs/components/template-preview/models/Channels.d.ts +2 -1
- package/dist/cjs/components/template-preview/models/Channels.js +1 -1
- package/dist/cjs/components/template-preview/models/EmailTemplate.d.ts +2 -1
- package/dist/cjs/components/template-preview/models/RCSTemplate.d.ts +139 -0
- package/dist/cjs/components/template-preview/models/RCSTemplate.js +1 -0
- package/dist/cjs/components/template-preview/models/SmsTemplate.d.ts +2 -1
- package/dist/cjs/components/template-preview/models/WhatsAppTemplate.d.ts +9 -1
- package/dist/cjs/components/template-preview/models/WhatsappCarouselTemplate.d.ts +28 -1
- package/dist/cjs/components/template-preview/models/types.d.ts +2 -1
- package/dist/esm/assets/icons/RCS_PDF.svg.js +1 -0
- package/dist/esm/assets/icons/state_icon.svg.js +1 -0
- package/dist/esm/components/analytics-chips-and-dropdowns/chart/Pie/PieChartAnalytics.js +1 -1
- package/dist/esm/components/carousel-preview/CarouselPreview.js +1 -1
- package/dist/esm/components/carousel-preview/CarouselPreviewCard.js +1 -1
- package/dist/esm/components/carousel-preview/CustomCarouselArrows.js +1 -1
- package/dist/esm/components/product-picker-v2/modal.js +1 -1
- package/dist/esm/components/shimmer-image/ShimmerImage.d.ts +2 -1
- package/dist/esm/components/shimmer-image/ShimmerImage.js +1 -1
- package/dist/esm/components/states/StateComponent.d.ts +2 -1
- package/dist/esm/components/states/StateComponent.js +1 -1
- package/dist/esm/components/template-context-mapper/TemplateContextMapper.js +1 -1
- package/dist/esm/components/template-context-mapper/context/templateModalContext.d.ts +2 -0
- package/dist/esm/components/template-context-mapper/context/templateModalContext.js +1 -1
- package/dist/esm/components/template-context-mapper/modalElements/Body.js +3 -3
- package/dist/esm/components/template-context-mapper/modalElements/EditWhatsAppCarouselTemplateV2.js +1 -1
- package/dist/esm/components/template-context-mapper/modalElements/EditWhatsAppTemplateV2.js +2 -2
- package/dist/esm/components/template-context-mapper/modalElements/Footer.js +4 -4
- package/dist/esm/components/template-context-mapper/modalElements/MobilePreview.js +5 -5
- package/dist/esm/components/template-context-mapper/modalElements/VariableConnector.d.ts +2 -1
- package/dist/esm/components/template-context-mapper/modalElements/VariableConnector.js +5 -5
- package/dist/esm/components/template-context-mapper/modalElements/VariableConnectorWhatsApp.js +1 -1
- package/dist/esm/components/template-context-mapper/utils/getDataFromTemplateComponent.d.ts +1 -0
- package/dist/esm/components/template-context-mapper/utils/getDataFromTemplateComponent.js +1 -1
- package/dist/esm/components/template-context-mapper/utils/getPreviewDimension.js +1 -1
- package/dist/esm/components/template-preview/RCS/RCSButtons.d.ts +9 -0
- package/dist/esm/components/template-preview/RCS/RCSButtons.js +1 -0
- package/dist/esm/components/template-preview/RCS/RCSChatHeader.d.ts +2 -0
- package/dist/esm/components/template-preview/RCS/RCSChatHeader.js +1 -0
- package/dist/esm/components/template-preview/RCS/RCSChatPreview.d.ts +2 -0
- package/dist/esm/components/template-preview/RCS/RCSChatPreview.js +1 -0
- package/dist/esm/components/template-preview/RCS/RCSMediaCard.d.ts +14 -0
- package/dist/esm/components/template-preview/RCS/RCSMediaCard.js +1 -0
- package/dist/esm/components/template-preview/RCS/RCSPreview.styled.d.ts +33 -0
- package/dist/esm/components/template-preview/RCS/RCSPreview.styled.js +128 -0
- package/dist/esm/components/template-preview/RCS/RCSTemplateLikePreview.d.ts +3 -0
- package/dist/esm/components/template-preview/RCS/RCSTemplateLikePreview.js +8 -0
- package/dist/esm/components/template-preview/TemplatePreview.js +1 -1
- package/dist/esm/components/template-preview/WhatsAppTemplatePreview.d.ts +2 -0
- package/dist/esm/components/template-preview/WhatsAppTemplatePreview.js +1 -1
- package/dist/esm/components/template-preview/helpers/TemplateCreatorHelper.d.ts +3 -0
- package/dist/esm/components/template-preview/helpers/TemplateCreatorHelper.js +1 -1
- package/dist/esm/components/template-preview/helpers/templateMiscHelper.d.ts +8 -0
- package/dist/esm/components/template-preview/helpers/templateMiscHelper.js +1 -0
- package/dist/esm/components/template-preview/models/Channels.d.ts +2 -1
- package/dist/esm/components/template-preview/models/Channels.js +1 -1
- package/dist/esm/components/template-preview/models/EmailTemplate.d.ts +2 -1
- package/dist/esm/components/template-preview/models/RCSTemplate.d.ts +139 -0
- package/dist/esm/components/template-preview/models/RCSTemplate.js +1 -0
- package/dist/esm/components/template-preview/models/SmsTemplate.d.ts +2 -1
- package/dist/esm/components/template-preview/models/WhatsAppTemplate.d.ts +9 -1
- package/dist/esm/components/template-preview/models/WhatsappCarouselTemplate.d.ts +28 -1
- package/dist/esm/components/template-preview/models/types.d.ts +2 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("../template-context-mapper/context/templateModalContext.js"),l=require("../../utils/StringUtils.js"),i=require("../../constants/Theme.js"),a=require("../TypographyStyle.js"),n=require("./EmailTemplateThumbnailPreview.js"),s=require("./models/Channels.js"),r=require("./SmsTemplatePreview.js"),o=require("./webpush/WebpushPreview.js"),d=require("./WhatsAppTemplatePreview.js");const u={WhatsAppWrapper:{backgroundColor:i.COLORS.surface.standard,borderRadius:4,border:`1px solid ${i.COLORS.background.inactive}`,marginTop:16}};exports.TemplatePreview=p=>{let{template:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("../template-context-mapper/context/templateModalContext.js"),l=require("../../utils/StringUtils.js"),i=require("../../constants/Theme.js"),a=require("../TypographyStyle.js"),n=require("./EmailTemplateThumbnailPreview.js"),s=require("./models/Channels.js"),r=require("./SmsTemplatePreview.js"),o=require("./webpush/WebpushPreview.js"),d=require("./WhatsAppTemplatePreview.js");const u={WhatsAppWrapper:{backgroundColor:i.COLORS.surface.standard,borderRadius:4,border:`1px solid ${i.COLORS.background.inactive}`,marginTop:16}};exports.TemplatePreview=p=>{let{template:c,channel:m,whatsAppSpecificMeta:v,templateCreationsInfo:h,hideHeader:C,size:j,onlyTemplateContent:S,emailSpecificMeta:b,smsSpecificMeta:g,showSampleValues:x,carouselCardIndex:y,isWhatsappCarousel:T,isPreview:P,applyBorderBottom:w,webPushSpecificMeta:O,hidePointerEvents:E}=p;var H,f;const{setSelectedCarouselIndex:A}=t.useTemplateModalContext();return m===s.CHANNEL_TYPE.SMS?e.jsx("div",Object.assign({style:Object.assign({marginTop:h?16:0,border:h?`1px solid ${i.COLORS.stroke.primary}`:"none",borderRadius:4},null==g?void 0:g.templateContainerStyles)},{children:e.jsx(r.default,{template:c,hideHeader:C,onlyTemplateContent:S,size:null!=j?j:"large",variableStore:null==g?void 0:g.smsVariableStore,display_content:null==g?void 0:g.smsDisplayContent,uniqueId:null==g?void 0:g.uniqueId})})):m===s.CHANNEL_TYPE.EMAIL?e.jsx("div",Object.assign({style:Object.assign({marginTop:h?16:0},null==b?void 0:b.templateContainerStyles)},{children:e.jsx(n.default,{template:c,handleViewTemplate:()=>{var e;null===(e=null==b?void 0:b.handleViewTemplate)||void 0===e||e.call(b)},hideHeader:C,hideViewButton:null==b?void 0:b.hideViewButtonForEmail,containerStyle:null==b?void 0:b.containerStyle,emailDisplayContent:null==b?void 0:b.emailDisplayContent,emailHtmlContainerId:null==b?void 0:b.emailHtmlContainerId,applyBorderBottom:w,hidePointerEvents:E})})):m===s.CHANNEL_TYPE.WHATSAPP||m===s.CHANNEL_TYPE.RCS?e.jsxs("div",Object.assign({style:Object.assign(Object.assign({},null==v?void 0:v.templateContainerStyles),h?u.WhatsAppWrapper:{}),onClick:()=>{var e,t;if(A&&T){if(-1===y&&!(null===(t=null===(e=null==c?void 0:c.mapping)||void 0===e?void 0:e.body)||void 0===t?void 0:t.length))return;A(null!=y?y:-1)}}},{children:[h?e.jsx("div",Object.assign({style:{padding:16}},{children:e.jsx(a.TitleRegular,{children:l.default.convertToTitleCase(null!==(H=null==c?void 0:c.label)&&void 0!==H?H:"")})})):e.jsx(e.Fragment,{}),e.jsx(d.default,{showSampleValues:x,showHeader:null==v?void 0:v.showWhatsAppHeader,extras:null==v?void 0:v.whatsAppExtras,template:c,size:h?"small":null!=j?j:"large",containerStyle:Object.assign(Object.assign({borderWidth:h?0:1,borderTopWidth:1},null!==(f=null==v?void 0:v.containerStyle)&&void 0!==f?f:{}),{height:"100%"}),zeroStateComponent:null==v?void 0:v.zeroStateComponent,usePlaceHolderName:null==v?void 0:v.usePlaceHolderName,carouselCardIndex:y,isWhatsappCarousel:T,isPreview:P,channel:m})]})):m==s.CHANNEL_TYPE.WEBPUSH?e.jsx("div",Object.assign({style:Object.assign({},null==O?void 0:O.containerStyle)},{children:e.jsx(o.default,{template:c,extraContainerCss:null==O?void 0:O.extraContainerCss})})):e.jsx(e.Fragment,{})};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React, { ReactElement } from 'react';
|
|
2
2
|
import { CSSProperties } from 'styled-components';
|
|
3
|
+
import { CHANNEL_TYPE } from './models/Channels';
|
|
3
4
|
import { WhatsAppTemplate } from './models/WhatsAppTemplate';
|
|
4
5
|
declare const WhatsappTemplatePreview: React.FC<{
|
|
5
6
|
template?: WhatsAppTemplate;
|
|
@@ -13,5 +14,6 @@ declare const WhatsappTemplatePreview: React.FC<{
|
|
|
13
14
|
carouselCardIndex?: number;
|
|
14
15
|
isWhatsappCarousel?: boolean;
|
|
15
16
|
isPreview?: boolean;
|
|
17
|
+
channel?: CHANNEL_TYPE;
|
|
16
18
|
}>;
|
|
17
19
|
export default WhatsappTemplatePreview;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),l=require("react"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),l=require("react"),a=require("../template-context-mapper/context/templateModalContext.js"),t=require("./helpers/TemplateCreatorHelper.js"),i=require("./helpers/templateMiscHelper.js"),r=require("./models/TemplateMeta.js"),n=require("./RCS/RCSTemplateLikePreview.js"),o=require("./utils/TemplateHelperUtils.js"),d=require("./WhatsApp/WhatsAppLikePreview.js"),s=require("./WhatsApp/WhatsAppLikePreviewV2.js");exports.default=u=>{let{template:p,extras:v,containerStyle:h,usePlaceHolderName:m,showHeader:x,zeroStateComponent:c,size:b,showSampleValues:T,carouselCardIndex:y,isWhatsappCarousel:w,isPreview:C,channel:N}=u;var V,k,P,j,S,f,L,B,A,g,q,E,F,H,R,O,W,I,M,D,U,z,_,Y,G,J,K,Q,X,Z;const{selectedCarouselIndex:$}=a.useTemplateModalContext(),[ee,le]=l.useState(),ae=new t.TemplateCreatorHelper,te=new o.TemplateHelperUtils,ie=[];if((null===(k=null===(V=null==ee?void 0:ee.ctaBtn)||void 0===V?void 0:V.phoneNumber)||void 0===k?void 0:k.isChecked)&&ie.push({type:"phoneNumber",text:null!==(P=ee.ctaBtn.phoneNumber.btnText)&&void 0!==P?P:"",extra:null!==(j=ee.ctaBtn.phoneNumber.phoneNumber)&&void 0!==j?j:""}),(null===(f=null===(S=null==ee?void 0:ee.ctaBtn)||void 0===S?void 0:S.websiteLinkBtn)||void 0===f?void 0:f.isChecked)&&ie.push({type:"website",text:null!==(L=ee.ctaBtn.websiteLinkBtn.btnText)&&void 0!==L?L:"",extra:null!==(A=null===(B=ee.ctaBtn.websiteLinkBtn)||void 0===B?void 0:B.linkOpens)&&void 0!==A?A:"",placeholder:null!==(g=ee.ctaBtn.websiteLinkBtn.placeholder)&&void 0!==g?g:""}),l.useEffect((()=>{p&&ae.parseUITemplateFromDBFormat({dbFormattedTemplate:p,isDuplicate:!1,showSampleValues:T,isV2:!p.htmlContentUrl}).then((e=>{le(Object.assign({},e))}))}),[p,T]),l.useEffect((()=>{p&&ae.parseUITemplateFromDBFormat({dbFormattedTemplate:p,isDuplicate:!1,showSampleValues:T,isV2:!p.htmlContentUrl}).then((e=>{le(Object.assign({},e))}))}),[$]),!p)return e.jsx(e.Fragment,{children:c});if(i.isRCSChannel(N||(null==p?void 0:p.channel))){const l=ae.parseTemplateConfiguration(p);return e.jsx(n.RCSTemplateLikePreview,{showHeader:x,containerPadding:"large"===b?"16px 36px 12px 16px":"12px 36px 12px 12px",containerStyle:h,textType:"html",bodyText:null==ee?void 0:ee.bodyText,titleText:null==ee?void 0:ee.titleText,footerText:null==ee?void 0:ee.footerText,headerMediaType:(null==ee?void 0:ee.headerType)||r.HEADER_TYPES.NONE,headerText:null==ee?void 0:ee.headerText,headerAssetLink:null!==(q=null==ee?void 0:ee.headerAssetLink)&&void 0!==q?q:"",headerAssetName:null!==(E=null==ee?void 0:ee.headerAssetName)&&void 0!==E?E:"",quickReplybtn:null==ee?void 0:ee.quickReply,ctaBtn:ie,actionTypes:null==ee?void 0:ee.actionsType,extras:v,hidePreviewText:!0,imagePreviewStyles:{objectFit:"cover"},carouselCardIndex:y,zeroStateComponent:null!=c?c:e.jsx(e.Fragment,{children:" "}),bodyVariableList:null!==(H=null===(F=null==ee?void 0:ee.bodyVariables)||void 0===F?void 0:F.map((e=>{var l;return{placeholder:e.variableName,value:null!==(l=e.variableVal)&&void 0!==l?l:e.variableName}})))&&void 0!==H?H:[],headerVariableList:null!==(O=null===(R=null==ee?void 0:ee.headerVariables)||void 0===R?void 0:R.map((e=>{var l;return{placeholder:e.variableName,value:null!==(l=e.variableVal)&&void 0!==l?l:e.variableName}})))&&void 0!==O?O:[],titleVariableList:null!==(I=null===(W=null==ee?void 0:ee.titleVariables)||void 0===W?void 0:W.map((e=>{var l;return{placeholder:e.variableName,value:null!==(l=e.variableVal)&&void 0!==l?l:e.variableName}})))&&void 0!==I?I:[],buttons:null==ee?void 0:ee.allButtons,isWhatsappCarousel:w,isPreview:C,templateConfiguration:l})}return p.htmlContentUrl?e.jsx(d.WhatsappLikePreview,{showHeader:x,containerPadding:"large"===b?"16px 56px 12px 16px":"12px 56px 12px 12px",containerStyle:h,textType:"html",bodyText:te.whatsappOnlyFillVariablesValueInBodyText(null!==(G=null==ee?void 0:ee.bodyText)&&void 0!==G?G:"",null!==(J=null==ee?void 0:ee.bodyVariables)&&void 0!==J?J:[],m),footerText:null==ee?void 0:ee.footerText,headerMediaType:(null==ee?void 0:ee.headerType)||r.HEADER_TYPES.NONE,headerText:te.fillVariablesValInBodyText(null!==(K=null==ee?void 0:ee.headerText)&&void 0!==K?K:"",null!==(Q=null==ee?void 0:ee.headerVariables)&&void 0!==Q?Q:[],m),headerAssetLink:null!==(X=null==ee?void 0:ee.headerAssetLink)&&void 0!==X?X:"",headerAssetName:null!==(Z=null==ee?void 0:ee.headerAssetName)&&void 0!==Z?Z:"",quickReplybtn:null==ee?void 0:ee.quickReply,ctaBtn:ie,actionTypes:null==ee?void 0:ee.actionsType,extras:v,hidePreviewText:!0,imagePreviewStyles:{objectFit:"cover"},zeroStateComponent:null!=c?c:e.jsx(e.Fragment,{children:" "}),isPreview:C}):e.jsx(s.WhatsappLikePreviewV2,{showHeader:x,containerPadding:"large"===b?"16px 56px 12px 16px":"12px 56px 12px 12px",containerStyle:h,textType:"html",bodyText:null==ee?void 0:ee.bodyText,footerText:null==ee?void 0:ee.footerText,headerMediaType:(null==ee?void 0:ee.headerType)||r.HEADER_TYPES.NONE,headerText:null==ee?void 0:ee.headerText,headerAssetLink:null!==(M=null==ee?void 0:ee.headerAssetLink)&&void 0!==M?M:"",headerAssetName:null!==(D=null==ee?void 0:ee.headerAssetName)&&void 0!==D?D:"",quickReplybtn:null==ee?void 0:ee.quickReply,ctaBtn:ie,actionTypes:null==ee?void 0:ee.actionsType,extras:v,hidePreviewText:!0,imagePreviewStyles:{objectFit:"cover"},carouselCardIndex:y,zeroStateComponent:null!=c?c:e.jsx(e.Fragment,{children:" "}),bodyVariableList:null!==(z=null===(U=null==ee?void 0:ee.bodyVariables)||void 0===U?void 0:U.map((e=>{var l;return{placeholder:e.variableName,value:null!==(l=e.variableVal)&&void 0!==l?l:e.variableName}})))&&void 0!==z?z:[],headerVariableList:null!==(Y=null===(_=null==ee?void 0:ee.headerVariables)||void 0===_?void 0:_.map((e=>{var l;return{placeholder:e.variableName,value:null!==(l=e.variableVal)&&void 0!==l?l:e.variableName}})))&&void 0!==Y?Y:[],buttons:null==ee?void 0:ee.allButtons,limitedTimeOfferComponent:null==ee?void 0:ee.limitedTimeOfferComponent,isWhatsappCarousel:w,isPreview:C})};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { RCSTemplateConfig, RCSTemplateType } from '../models/RCSTemplate';
|
|
1
2
|
import { CreateTemplateType, WhatsAppTemplate } from '../models/WhatsAppTemplate';
|
|
2
3
|
export declare class TemplateCreatorHelper {
|
|
3
4
|
private parseDataFromHeaderComponent;
|
|
@@ -10,6 +11,7 @@ export declare class TemplateCreatorHelper {
|
|
|
10
11
|
errors: CreateTemplateType['error'];
|
|
11
12
|
};
|
|
12
13
|
private parseBodyComponent;
|
|
14
|
+
private parseTitleComponent;
|
|
13
15
|
private parseFooterComponent;
|
|
14
16
|
private parseButtonComponent;
|
|
15
17
|
/**
|
|
@@ -25,4 +27,5 @@ export declare class TemplateCreatorHelper {
|
|
|
25
27
|
showSampleValues?: boolean;
|
|
26
28
|
isV2?: boolean;
|
|
27
29
|
}): Promise<CreateTemplateType>;
|
|
30
|
+
parseTemplateConfiguration(template: RCSTemplateType): RCSTemplateConfig;
|
|
28
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),t=require("date-fns"),i=require("../../../constants/Theme.js"),n=require("../constants/regexPatterns.js"),l=require("../constants/TemplateConstants.js"),o=require("../models/TemplateMeta.js"),a=require("../utils/TemplateHelperUtils.js");exports.TemplateCreatorHelper=class{parseDataFromHeaderComponent(e,t){var i,n,l,a,d,r,v,s,E,u;const p={headerType:o.HEADER_TYPES.NONE,headerVariables:[]},T=null===(i=e.components)||void 0===i?void 0:i.find((e=>"HEADER"===e.type));if(T){p.headerType=T.format,p.headerText=T.text,p.headerAssetLink=null===(l=null===(n=T.example)||void 0===n?void 0:n.header_handle)||void 0===l?void 0:l[0];const i=null===(d=null===(a=T.example)||void 0===a?void 0:a.header_text)||void 0===d?void 0:d[0],o=null===(v=null===(r=e.mapping)||void 0===r?void 0:r.header)||void 0===v?void 0:v[0],c=o;if(i&&o){const e=null==o?void 0:o.replace("[[","").replace("]]","").replace("{{","").replace("}}","").replace("((","").replace("))",""),n=/\(\(/.test(o),l={idx:0,variableVal:t?i:c,editable:n,editableDefaultValues:n?void 0:i,variableName:e};p.headerVariables=[l],(null===(E=null===(s=T.example)||void 0===s?void 0:s.header_text)||void 0===E?void 0:E.length)&&(p.headerText=null===(u=p.headerText)||void 0===u?void 0:u.replace("{{1}}",`{{${e}}}`))}}return p}validateState(e){var t,i,d,r,v,s,E,u,p,T,c,_,m,h,R,b,I,L,y,B,N,C,O;const D=/\p{Extended_Pictographic}/u;let x="valid";const A={meta:{},ctaBtn:{phoneNumber:{btnText:"",link:""},websiteLink:{btnText:"",link:""}},quickReply:[null,null,null]},f=new a.TemplateHelperUtils;let P=!1;const k=e=>{var t;null===(t=document.getElementById(e))||void 0===t||t.scrollIntoView({behavior:"smooth",block:"nearest"})};if((null===(t=e.meta)||void 0===t?void 0:t.name)?(null===(i=e.meta.name)||void 0===i?void 0:i.trim().length)>l.NAME_LEN_LIMIT?(A.meta.name=l.NAME_LEN_ERROR,x="invalid"):n.specialCharPattern.test(null===(d=e.meta.name)||void 0===d?void 0:d.trim())&&(A.meta.name=l.NO_SPECIAL_CHAR,x="invalid"):(A.meta.name=l.REQUIRED_FIELD,x="invalid"),A.meta.name&&!P&&(k(l.CREATE_TEMPLATE_DOM_IDS.name),P=!0),e.headerType===o.HEADER_TYPES.TEXT){const t=null!==(v=null===(r=e.headerText)||void 0===r?void 0:r.trim())&&void 0!==v?v:"";if(t)if(t.length>l.HEADER_TEXT_LEN_LIMIT)A.header=l.HEADER_LEN_ERROR,x="invalid";else{const e=f.getTemplateVariablesFromState(t);e&&e.length>1&&(A.header=l.ONE_VAR_ALLOWED,x="invalid")}else A.header=l.REQUIRED_FIELD,x="invalid"}else e.headerType===o.HEADER_TYPES.DOCUMENT||e.headerType===o.HEADER_TYPES.IMAGE||(e.headerType,o.HEADER_TYPES.VIDEO);if(e.headerType!==o.HEADER_TYPES.DOCUMENT&&e.headerType!==o.HEADER_TYPES.IMAGE&&e.headerType!==o.HEADER_TYPES.VIDEO||e.headerAssetLink||(A.header=l.HEADER_ASSET_LINK_ERROR,x="invalid"),A.header&&!P&&(k(l.CREATE_TEMPLATE_DOM_IDS.header),P=!0),e.bodyText?e.bodyTextRaw&&(null===(s=e.bodyTextRaw)||void 0===s?void 0:s.trim().length)>l.BODY_TEXT_LEN_LIMIT&&(A.body=l.BODY_LEN_ERROR,x="invalid"):(A.body=l.REQUIRED_FIELD,x="invalid"),A.body&&!P&&(k(l.CREATE_TEMPLATE_DOM_IDS.body),P=!0),e.footerText&&e.footerText.length>l.HEADER_TEXT_LEN_LIMIT&&(A.footer=l.HEADER_LEN_ERROR,x="invalid"),(null==A?void 0:A.footer)&&!P&&(k(l.CREATE_TEMPLATE_DOM_IDS.footer),P=!0),e.actionsType===o.ACTIONS_TYPES.CTA_BTN){if(null===(u=null===(E=e.ctaBtn)||void 0===E?void 0:E.phoneNumber)||void 0===u?void 0:u.isChecked){const t=null===(p=e.ctaBtn.phoneNumber.btnText)||void 0===p?void 0:p.trim(),i=e.ctaBtn.phoneNumber.phoneNumber;A.ctaBtn&&!t?(A.ctaBtn.phoneNumber.btnText=l.REQUIRED_FIELD,x="invalid"):A.ctaBtn&&t&&t.length>l.QUICK_REPLY_BTN_TEXT_LIMIT?(A.ctaBtn.phoneNumber.btnText=l.QUICK_REPLY_LEN_ERROR,x="invalid"):A.ctaBtn&&t&&D.test(t)&&(A.ctaBtn.phoneNumber.btnText=l.BUTTON_EMOJI_ERROR,x="invalid"),A.ctaBtn&&!i?(A.ctaBtn.phoneNumber.link=l.REQUIRED_FIELD,x="invalid"):A.ctaBtn&&i&&i.length<10&&(A.ctaBtn.phoneNumber.link=l.VALID_PHONE_NUMBER,x="invalid")}if(null===(c=null===(T=e.ctaBtn)||void 0===T?void 0:T.websiteLinkBtn)||void 0===c?void 0:c.isChecked){const t=null===(_=e.ctaBtn.websiteLinkBtn.btnText)||void 0===_?void 0:_.trim(),i=null===(m=e.ctaBtn.websiteLinkBtn.linkOpens)||void 0===m?void 0:m.trim(),n=null===(h=e.ctaBtn.websiteLinkBtn.placeholder)||void 0===h?void 0:h.trim();A.ctaBtn&&!t?(A.ctaBtn.websiteLink.btnText=l.REQUIRED_FIELD,x="invalid"):A.ctaBtn&&t&&t.length>l.QUICK_REPLY_BTN_TEXT_LIMIT?(A.ctaBtn.websiteLink.btnText=l.QUICK_REPLY_LEN_ERROR,x="invalid"):A.ctaBtn&&t&&D.test(t)&&(A.ctaBtn.websiteLink.btnText=l.BUTTON_EMOJI_ERROR,x="invalid"),!A.ctaBtn||i||n||(A.ctaBtn.websiteLink.link=l.REQUIRED_FIELD,x="invalid")}}else if(e.actionsType===o.ACTIONS_TYPES.QUICK_REPLY){const t=["","",""];e.quickReply.forEach(((i,n)=>{var o;const a=null===(o=i.text)||void 0===o?void 0:o.trim();if(a)if(a.length>l.QUICK_REPLY_NAME_LEN_LIMIT)t[n]=l.QUICK_REPLY_LEN_ERROR,x="invalid";else if(D.test(a))t[n]=l.BUTTON_EMOJI_ERROR,x="invalid";else{const i=[...e.quickReply];i.splice(n,1);i.find((e=>e.text===a))&&(t[n]=l.QUICK_REPLY_NAME_ERROR,x="invalid")}else t[n]=l.REQUIRED_FIELD,x="invalid"})),A.quickReply=t}if(e.actionsType===o.ACTIONS_TYPES.CTA_BTN||e.actionsType===o.ACTIONS_TYPES.QUICK_REPLY){const e=null===(R=A.quickReply)||void 0===R?void 0:R.reduce(((e,t)=>e||!!t),!1);((null===(I=null===(b=null==A?void 0:A.ctaBtn)||void 0===b?void 0:b.websiteLink)||void 0===I?void 0:I.link)||(null===(y=null===(L=A.ctaBtn)||void 0===L?void 0:L.websiteLink)||void 0===y?void 0:y.btnText)||(null===(N=null===(B=A.ctaBtn)||void 0===B?void 0:B.phoneNumber)||void 0===N?void 0:N.link)||(null===(O=null===(C=A.ctaBtn)||void 0===C?void 0:C.phoneNumber)||void 0===O?void 0:O.btnText)||e)&&!P&&(k(l.CREATE_TEMPLATE_DOM_IDS.actionButtons),P=!0)}return{status:x,errors:A}}parseBodyComponent(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],l=arguments.length>2?arguments[2]:void 0;var o,a,d,r,v;const s=[];let E="";const u=null===(o=e.components)||void 0===o?void 0:o.find((e=>"BODY"===e.type));return u&&(null===(d=null===(a=u.example)||void 0===a?void 0:a.body_text)||void 0===d||d[0].forEach(((t,i)=>{var o,a;let d=null===(a=null===(o=e.mapping)||void 0===o?void 0:o.body)||void 0===a?void 0:a[i];const r=d,v=d&&/\(\(/.test(d),E=null==d?void 0:d.match(n.placeHolderNamePattern);(null==E?void 0:E[2])&&(d=null==E?void 0:E[2]),s.push({idx:i,variableVal:l?t:r,editable:!!v,editableDefaultValues:v?void 0:t,variableName:null!=d?d:""})})),E=e.htmlContentUrl?e.htmlContentUrl:(null===(r=u.text)||void 0===r?void 0:r.split(/\{\{[0-9]+\}\}/).length)?null===(v=u.text)||void 0===v?void 0:v.split(/\{\{[0-9]+\}\}/).map(((e,n)=>{if(null==s?void 0:s[n]){const l=s[n].variableName;return t?`${e}{{${l}}}`:`${e} <span> </span><span style="color: ${i.COLORS.content.brand}; text-decoration: underline;">{{${l}}}</span><span> </span>`}return e})).join(""):""),{bodyVariable:s,bodyText:E}}parseFooterComponent(e){var t;const i=null===(t=e.components)||void 0===t?void 0:t.find((e=>"FOOTER"===e.type));return null==i?void 0:i.text}parseButtonComponent(e){var t,i,l,a,d,r,v;const s={actionsType:o.ACTIONS_TYPES.NONE,quickReply:[],ctaBtn:{phoneNumber:void 0,websiteLinkBtn:void 0},allButtons:[]},E=null===(t=e.components)||void 0===t?void 0:t.find((e=>"BUTTONS"===e.type));if(E&&(null===(i=null==E?void 0:E.buttons)||void 0===i?void 0:i.length)){const t="QUICK_REPLY"===(null===(l=null==E?void 0:E.buttons)||void 0===l?void 0:l[0].type)?o.ACTIONS_TYPES.QUICK_REPLY:o.ACTIONS_TYPES.CTA_BTN;if(s.actionsType=t,t===o.ACTIONS_TYPES.QUICK_REPLY){const e=null!==(d=null===(a=null==E?void 0:E.buttons)||void 0===a?void 0:a.map((e=>e)))&&void 0!==d?d:[];s.quickReply=e}else t===o.ACTIONS_TYPES.CTA_BTN&&(null===(r=null==E?void 0:E.buttons)||void 0===r||r.forEach((t=>{var i,l,o,a;if(t.phone_number&&(s.ctaBtn.phoneNumber={isChecked:!0,btnText:t.text,phoneNumber:t.phone_number}),t.url){const d=null!==(o=null===(l=null===(i=null==e?void 0:e.mapping)||void 0===i?void 0:i.buttons)||void 0===l?void 0:l[0])&&void 0!==o?o:void 0;let r=!1;d&&n.editableVarPattern.test(d)&&(r=!0),s.ctaBtn.websiteLinkBtn={isChecked:!0,btnText:t.text,linkOpens:r?null===(a=t.example)||void 0===a?void 0:a[0]:t.url,placeholder:r?void 0:d}}})));s.allButtons=null===(v=E.buttons)||void 0===v?void 0:v.map((e=>"COPY_CODE"===e.type?Object.assign(Object.assign({},e),{placeholder:Array.isArray(e.example)?e.example[0]:(null==e?void 0:e.example)||""}):e))}return s}parseLimitedTimeOfferComponent(e,i){const n={text:"",dateTime:"",code:""};return e.components.forEach((e=>{var l,o,a;if("limited_time_offer"===e.type){n.text=null!==(o=null===(l=e.limited_time_offer)||void 0===l?void 0:l.text)&&void 0!==o?o:"";const i=null===(a=e.example)||void 0===a?void 0:a.limited_time_offer;i&&i.startsWith("{{")&&i.endsWith("}}")?n.dateTime=i:n.dateTime=t.format(i?new Date(i):new Date,"MMM dd")}i.forEach((e=>{var t;"COPY_CODE"===e.type&&(n.code=null!==(t=e.placeholder)&&void 0!==t?t:"")}))})),n}parseUITemplateFromDBFormat(t){var i;return e.__awaiter(this,void 0,void 0,(function*(){const{dbFormattedTemplate:e,isDuplicate:n,isV2:l=!1,showSampleValues:o}=t,{headerType:a,headerAssetLink:d,headerAssetName:r,headerText:v,headerVariables:s}=yield this.parseDataFromHeaderComponent(e),{bodyText:E,bodyVariable:u}=yield this.parseBodyComponent(e,l,o),{actionsType:p,quickReply:T,ctaBtn:c,allButtons:_}=yield this.parseButtonComponent(e),m=this.parseLimitedTimeOfferComponent(e,_),h={quickReply:T,ctaBtn:c,allButtons:_,meta:{name:n?`${e.label} Copy`:e.label,category:null===(i=e.category)||void 0===i?void 0:i.toUpperCase(),subCategory:e.templateCategory,language:e.language,templateId:e.templateId},error:{header:void 0,body:void 0,footer:void 0,quickReply:void 0,meta:void 0,ctaBtn:void 0},actionsType:p,footerText:this.parseFooterComponent(e),bodyVariables:u,bodyText:E,headerType:a,headerAssetLink:d,headerAssetName:r,headerText:v,headerVariables:s,alreadyAsADraft:e.isDraft,mode:"edit",initialLoading:!1,limitedTimeOfferComponent:m},{errors:R}=this.validateState(h);return h.error=R,h}))}};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),t=require("date-fns"),i=require("../../../constants/Theme.js"),n=require("../constants/regexPatterns.js"),l=require("../constants/TemplateConstants.js"),o=require("../models/TemplateMeta.js"),a=require("../utils/TemplateHelperUtils.js");exports.TemplateCreatorHelper=class{parseDataFromHeaderComponent(e,t){var i,n,l,a,d,r,s,v,u,p;const E={headerType:o.HEADER_TYPES.NONE,headerVariables:[]},T=null===(i=null==e?void 0:e.components)||void 0===i?void 0:i.find((e=>"HEADER"===e.type));if(T){E.headerType=T.format,E.headerText=T.text,E.headerAssetLink=null===(l=null===(n=T.example)||void 0===n?void 0:n.header_handle)||void 0===l?void 0:l[0];const i=null===(d=null===(a=T.example)||void 0===a?void 0:a.header_text)||void 0===d?void 0:d[0],o=null===(s=null===(r=e.mapping)||void 0===r?void 0:r.header)||void 0===s?void 0:s[0],c=o;if(i&&o){const e=null==o?void 0:o.replace("[[","").replace("]]","").replace("{{","").replace("}}","").replace("((","").replace("))",""),n=/\(\(/.test(o),l={idx:0,variableVal:t?i:c,editable:n,editableDefaultValues:n?void 0:i,variableName:e};E.headerVariables=[l],(null===(u=null===(v=T.example)||void 0===v?void 0:v.header_text)||void 0===u?void 0:u.length)&&(E.headerText=null===(p=E.headerText)||void 0===p?void 0:p.replace("{{1}}",`{{${e}}}`))}}return E}validateState(e){var t,i,d,r,s,v,u,p,E,T,c,m,_,h,b,R,y,I,L,N,C,x,O;const B=/\p{Extended_Pictographic}/u;let f="valid";const D={meta:{},ctaBtn:{phoneNumber:{btnText:"",link:""},websiteLink:{btnText:"",link:""}},quickReply:[null,null,null]},A=new a.TemplateHelperUtils;let P=!1;const S=e=>{var t;null===(t=document.getElementById(e))||void 0===t||t.scrollIntoView({behavior:"smooth",block:"nearest"})};if((null===(t=e.meta)||void 0===t?void 0:t.name)?(null===(i=e.meta.name)||void 0===i?void 0:i.trim().length)>l.NAME_LEN_LIMIT?(D.meta.name=l.NAME_LEN_ERROR,f="invalid"):n.specialCharPattern.test(null===(d=e.meta.name)||void 0===d?void 0:d.trim())&&(D.meta.name=l.NO_SPECIAL_CHAR,f="invalid"):(D.meta.name=l.REQUIRED_FIELD,f="invalid"),D.meta.name&&!P&&(S(l.CREATE_TEMPLATE_DOM_IDS.name),P=!0),e.headerType===o.HEADER_TYPES.TEXT){const t=null!==(s=null===(r=e.headerText)||void 0===r?void 0:r.trim())&&void 0!==s?s:"";if(t)if(t.length>l.HEADER_TEXT_LEN_LIMIT)D.header=l.HEADER_LEN_ERROR,f="invalid";else{const e=A.getTemplateVariablesFromState(t);e&&e.length>1&&(D.header=l.ONE_VAR_ALLOWED,f="invalid")}else D.header=l.REQUIRED_FIELD,f="invalid"}else e.headerType===o.HEADER_TYPES.DOCUMENT||e.headerType===o.HEADER_TYPES.IMAGE||(e.headerType,o.HEADER_TYPES.VIDEO);if(e.headerType!==o.HEADER_TYPES.DOCUMENT&&e.headerType!==o.HEADER_TYPES.IMAGE&&e.headerType!==o.HEADER_TYPES.VIDEO||e.headerAssetLink||(D.header=l.HEADER_ASSET_LINK_ERROR,f="invalid"),D.header&&!P&&(S(l.CREATE_TEMPLATE_DOM_IDS.header),P=!0),e.bodyText?e.bodyTextRaw&&(null===(v=e.bodyTextRaw)||void 0===v?void 0:v.trim().length)>l.BODY_TEXT_LEN_LIMIT&&(D.body=l.BODY_LEN_ERROR,f="invalid"):(D.body=l.REQUIRED_FIELD,f="invalid"),D.body&&!P&&(S(l.CREATE_TEMPLATE_DOM_IDS.body),P=!0),e.footerText&&e.footerText.length>l.HEADER_TEXT_LEN_LIMIT&&(D.footer=l.HEADER_LEN_ERROR,f="invalid"),(null==D?void 0:D.footer)&&!P&&(S(l.CREATE_TEMPLATE_DOM_IDS.footer),P=!0),e.actionsType===o.ACTIONS_TYPES.CTA_BTN){if(null===(p=null===(u=e.ctaBtn)||void 0===u?void 0:u.phoneNumber)||void 0===p?void 0:p.isChecked){const t=null===(E=e.ctaBtn.phoneNumber.btnText)||void 0===E?void 0:E.trim(),i=e.ctaBtn.phoneNumber.phoneNumber;D.ctaBtn&&!t?(D.ctaBtn.phoneNumber.btnText=l.REQUIRED_FIELD,f="invalid"):D.ctaBtn&&t&&t.length>l.QUICK_REPLY_BTN_TEXT_LIMIT?(D.ctaBtn.phoneNumber.btnText=l.QUICK_REPLY_LEN_ERROR,f="invalid"):D.ctaBtn&&t&&B.test(t)&&(D.ctaBtn.phoneNumber.btnText=l.BUTTON_EMOJI_ERROR,f="invalid"),D.ctaBtn&&!i?(D.ctaBtn.phoneNumber.link=l.REQUIRED_FIELD,f="invalid"):D.ctaBtn&&i&&i.length<10&&(D.ctaBtn.phoneNumber.link=l.VALID_PHONE_NUMBER,f="invalid")}if(null===(c=null===(T=e.ctaBtn)||void 0===T?void 0:T.websiteLinkBtn)||void 0===c?void 0:c.isChecked){const t=null===(m=e.ctaBtn.websiteLinkBtn.btnText)||void 0===m?void 0:m.trim(),i=null===(_=e.ctaBtn.websiteLinkBtn.linkOpens)||void 0===_?void 0:_.trim(),n=null===(h=e.ctaBtn.websiteLinkBtn.placeholder)||void 0===h?void 0:h.trim();D.ctaBtn&&!t?(D.ctaBtn.websiteLink.btnText=l.REQUIRED_FIELD,f="invalid"):D.ctaBtn&&t&&t.length>l.QUICK_REPLY_BTN_TEXT_LIMIT?(D.ctaBtn.websiteLink.btnText=l.QUICK_REPLY_LEN_ERROR,f="invalid"):D.ctaBtn&&t&&B.test(t)&&(D.ctaBtn.websiteLink.btnText=l.BUTTON_EMOJI_ERROR,f="invalid"),!D.ctaBtn||i||n||(D.ctaBtn.websiteLink.link=l.REQUIRED_FIELD,f="invalid")}}else if(e.actionsType===o.ACTIONS_TYPES.QUICK_REPLY){const t=["","",""];e.quickReply.forEach(((i,n)=>{var o;const a=null===(o=i.text)||void 0===o?void 0:o.trim();if(a)if(a.length>l.QUICK_REPLY_NAME_LEN_LIMIT)t[n]=l.QUICK_REPLY_LEN_ERROR,f="invalid";else if(B.test(a))t[n]=l.BUTTON_EMOJI_ERROR,f="invalid";else{const i=[...e.quickReply];i.splice(n,1);i.find((e=>e.text===a))&&(t[n]=l.QUICK_REPLY_NAME_ERROR,f="invalid")}else t[n]=l.REQUIRED_FIELD,f="invalid"})),D.quickReply=t}if(e.actionsType===o.ACTIONS_TYPES.CTA_BTN||e.actionsType===o.ACTIONS_TYPES.QUICK_REPLY){const e=null===(b=D.quickReply)||void 0===b?void 0:b.reduce(((e,t)=>e||!!t),!1);((null===(y=null===(R=null==D?void 0:D.ctaBtn)||void 0===R?void 0:R.websiteLink)||void 0===y?void 0:y.link)||(null===(L=null===(I=D.ctaBtn)||void 0===I?void 0:I.websiteLink)||void 0===L?void 0:L.btnText)||(null===(C=null===(N=D.ctaBtn)||void 0===N?void 0:N.phoneNumber)||void 0===C?void 0:C.link)||(null===(O=null===(x=D.ctaBtn)||void 0===x?void 0:x.phoneNumber)||void 0===O?void 0:O.btnText)||e)&&!P&&(S(l.CREATE_TEMPLATE_DOM_IDS.actionButtons),P=!0)}return{status:f,errors:D}}parseBodyComponent(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],l=arguments.length>2?arguments[2]:void 0;var o,a,d,r,s,v;const u=[];let p="";const E=null===(o=e.components)||void 0===o?void 0:o.find((e=>"BODY"===e.type));return E&&(null===(r=null===(d=null===(a=E.example)||void 0===a?void 0:a.body_text)||void 0===d?void 0:d[0])||void 0===r||r.forEach(((t,i)=>{var o,a;let d=null===(a=null===(o=e.mapping)||void 0===o?void 0:o.body)||void 0===a?void 0:a[i];const r=d,s=d&&/\(\(/.test(d),v=null==d?void 0:d.match(n.placeHolderNamePattern);(null==v?void 0:v[2])&&(d=null==v?void 0:v[2]),u.push({idx:i,variableVal:l?t:r,editable:!!s,editableDefaultValues:s?void 0:t,variableName:null!=d?d:""})})),p=e.htmlContentUrl?e.htmlContentUrl:(null===(s=E.text)||void 0===s?void 0:s.split(/\{\{[0-9]+\}\}/).length)?null===(v=E.text)||void 0===v?void 0:v.split(/\{\{[0-9]+\}\}/).map(((e,n)=>{if(null==u?void 0:u[n]){const l=u[n].variableName;return t?`${e}{{${l}}}`:`${e} <span> </span><span style="color: ${i.COLORS.content.brand}; text-decoration: underline;">{{${l}}}</span><span> </span>`}return e})).join(""):""),{bodyVariable:u,bodyText:p}}parseTitleComponent(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],l=arguments.length>2?arguments[2]:void 0;var o,a,d,r,s,v;const u=[];let p="";const E=null===(o=e.components)||void 0===o?void 0:o.find((e=>"TITLE"===e.type));return E&&(null===(r=null===(d=null===(a=E.example)||void 0===a?void 0:a.title_text)||void 0===d?void 0:d[0])||void 0===r||r.forEach(((t,i)=>{var o,a;let d=null===(a=null===(o=e.mapping)||void 0===o?void 0:o.body)||void 0===a?void 0:a[i];const r=d,s=d&&/\(\(/.test(d),v=null==d?void 0:d.match(n.placeHolderNamePattern);(null==v?void 0:v[2])&&(d=null==v?void 0:v[2]),u.push({idx:i,variableVal:l?t:r,editable:!!s,editableDefaultValues:s?void 0:t,variableName:null!=d?d:""})})),p=e.htmlContentUrl?e.htmlContentUrl:(null===(s=E.text)||void 0===s?void 0:s.split(/\{\{[0-9]+\}\}/).length)?null===(v=E.text)||void 0===v?void 0:v.split(/\{\{[0-9]+\}\}/).map(((e,n)=>{if(null==u?void 0:u[n]){const l=u[n].variableName;return t?`${e}{{${l}}}`:`${e} <span> </span><span style="color: ${i.COLORS.content.brand}; text-decoration: underline;">{{${l}}}</span><span> </span>`}return e})).join(""):""),{titleText:p,titleVariables:u}}parseFooterComponent(e){var t;const i=null===(t=e.components)||void 0===t?void 0:t.find((e=>"FOOTER"===e.type));return null==i?void 0:i.text}parseButtonComponent(e){var t,i,l,a,d,r,s;const v={actionsType:o.ACTIONS_TYPES.NONE,quickReply:[],ctaBtn:{phoneNumber:void 0,websiteLinkBtn:void 0},allButtons:[]},u=null===(t=e.components)||void 0===t?void 0:t.find((e=>"BUTTONS"===e.type));if(u&&(null===(i=null==u?void 0:u.buttons)||void 0===i?void 0:i.length)){const t="QUICK_REPLY"===(null===(l=null==u?void 0:u.buttons)||void 0===l?void 0:l[0].type)?o.ACTIONS_TYPES.QUICK_REPLY:o.ACTIONS_TYPES.CTA_BTN;if(v.actionsType=t,t===o.ACTIONS_TYPES.QUICK_REPLY){const e=null!==(d=null===(a=null==u?void 0:u.buttons)||void 0===a?void 0:a.map((e=>e)))&&void 0!==d?d:[];v.quickReply=e}else t===o.ACTIONS_TYPES.CTA_BTN&&(null===(r=null==u?void 0:u.buttons)||void 0===r||r.forEach((t=>{var i,l,o,a;if(t.phone_number&&(v.ctaBtn.phoneNumber={isChecked:!0,btnText:t.text,phoneNumber:t.phone_number}),t.url){const d=null!==(o=null===(l=null===(i=null==e?void 0:e.mapping)||void 0===i?void 0:i.buttons)||void 0===l?void 0:l[0])&&void 0!==o?o:void 0;let r=!1;d&&n.editableVarPattern.test(d)&&(r=!0),v.ctaBtn.websiteLinkBtn={isChecked:!0,btnText:t.text,linkOpens:r?null===(a=t.example)||void 0===a?void 0:a[0]:t.url,placeholder:r?void 0:d}}})));v.allButtons=null===(s=u.buttons)||void 0===s?void 0:s.map((e=>"COPY_CODE"===e.type?Object.assign(Object.assign({},e),{placeholder:Array.isArray(e.example)?e.example[0]:(null==e?void 0:e.example)||""}):e))}return v}parseLimitedTimeOfferComponent(e,i){const n={text:"",dateTime:"",code:""};return e.components.forEach((e=>{var l,o,a;if("limited_time_offer"===e.type){n.text=null!==(o=null===(l=e.limited_time_offer)||void 0===l?void 0:l.text)&&void 0!==o?o:"";const i=null===(a=e.example)||void 0===a?void 0:a.limited_time_offer;i&&i.startsWith("{{")&&i.endsWith("}}")?n.dateTime=i:n.dateTime=t.format(i?new Date(i):new Date,"MMM dd")}i.forEach((e=>{var t;"COPY_CODE"===e.type&&(n.code=null!==(t=e.placeholder)&&void 0!==t?t:"")}))})),n}parseUITemplateFromDBFormat(t){var i;return e.__awaiter(this,void 0,void 0,(function*(){const{dbFormattedTemplate:e,isDuplicate:n,isV2:l=!1,showSampleValues:o}=t,{headerType:a,headerAssetLink:d,headerAssetName:r,headerText:s,headerVariables:v}=yield this.parseDataFromHeaderComponent(e),{bodyText:u,bodyVariable:p}=yield this.parseBodyComponent(e,l,o),{titleText:E,titleVariables:T}=yield this.parseTitleComponent(e,l,o),{actionsType:c,quickReply:m,ctaBtn:_,allButtons:h}=yield this.parseButtonComponent(e),b=this.parseLimitedTimeOfferComponent(e,h),R={quickReply:m,ctaBtn:_,allButtons:h,meta:{name:n?`${e.label} Copy`:e.label,category:null===(i=e.category)||void 0===i?void 0:i.toUpperCase(),subCategory:e.templateCategory,language:e.language,templateId:e.templateId},error:{header:void 0,body:void 0,footer:void 0,quickReply:void 0,meta:void 0,ctaBtn:void 0},actionsType:c,footerText:this.parseFooterComponent(e),bodyVariables:p,bodyText:u,headerType:a,headerAssetLink:d,headerAssetName:r,headerText:s,headerVariables:v,alreadyAsADraft:e.isDraft,mode:"edit",initialLoading:!1,limitedTimeOfferComponent:b,titleText:E,titleVariables:T},{errors:y}=this.validateState(R);return R.error=y,R}))}parseTemplateConfiguration(e){let t;const i=(null==e?void 0:e.content)||{};if("string"==typeof i)try{t=JSON.parse(i)}catch(e){console.error("Error parsing rcsTemplate component JSON:",e),t={orientation:"VERTICAL"}}else t=i;return Object.assign(Object.assign({},t),{templateType:null==e?void 0:e.templateType})}};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CHANNEL_TYPE } from '../models/Channels';
|
|
2
|
+
import { RCS_TEMPLATE_TYPE } from '../models/RCSTemplate';
|
|
3
|
+
import { WhatsAppCarouselTemplate } from '../models/WhatsappCarouselTemplate';
|
|
4
|
+
export declare const isItCarousal: (channel: CHANNEL_TYPE, selectedTemplate: WhatsAppCarouselTemplate) => boolean;
|
|
5
|
+
export declare const determineCardIndex: (channel: CHANNEL_TYPE) => 0 | 1;
|
|
6
|
+
export declare const isCarouselComponent: (componentType?: string) => boolean;
|
|
7
|
+
export declare const isRCSChannel: (channel: CHANNEL_TYPE) => boolean;
|
|
8
|
+
export declare const isRichAndCarouselCards: (templateType?: RCS_TEMPLATE_TYPE) => boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../models/Channels.js"),o=require("../models/RCSTemplate.js");const s=o=>o===e.CHANNEL_TYPE.RCS?0:1,r=e=>"carousel"===(null==e?void 0:e.toLowerCase());exports.determineCardIndex=s,exports.isCarouselComponent=r,exports.isItCarousal=(e,o)=>{var t,C;const l=s(e);return r(null===(C=null===(t=null==o?void 0:o.components)||void 0===t?void 0:t[l])||void 0===C?void 0:C.type)},exports.isRCSChannel=o=>o==e.CHANNEL_TYPE.RCS,exports.isRichAndCarouselCards=e=>e===o.RCS_TEMPLATE_TYPE.RICH_CARD||e===o.RCS_TEMPLATE_TYPE.CAROUSEL;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CHANNEL_TYPE=void 0,(e=exports.CHANNEL_TYPE||(exports.CHANNEL_TYPE={})).WHATSAPP="whatsapp",e.INSTAGRAM="instagram",e.TIKTOK="tiktok",e.EMAIL="email",e.SMS="message",e.WEBPUSH="webpush",e.MESSAGE="message";
|
|
1
|
+
"use strict";var e;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CHANNEL_TYPE=void 0,(e=exports.CHANNEL_TYPE||(exports.CHANNEL_TYPE={})).WHATSAPP="whatsapp",e.INSTAGRAM="instagram",e.TIKTOK="tiktok",e.EMAIL="email",e.SMS="message",e.WEBPUSH="webpush",e.MESSAGE="message",e.RCS="rcs";
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import { CHANNEL_TYPE } from './Channels';
|
|
2
3
|
import { CUSTOM_VARIABLE, TEMPLATE_EDITOR, TEMPLATE_STATUS } from './TemplateMeta';
|
|
3
4
|
export type EmailTemplateType = {
|
|
4
5
|
category: string;
|
|
5
|
-
channel:
|
|
6
|
+
channel: CHANNEL_TYPE;
|
|
6
7
|
channelTemplateId: string;
|
|
7
8
|
createdAt: {
|
|
8
9
|
_seconds: number;
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { Timestamp } from 'firebase-admin/firestore';
|
|
2
|
+
import { CHANNEL_TYPE } from './Channels';
|
|
3
|
+
import { TEMPLATE_STATUS } from './TemplateMeta';
|
|
4
|
+
import { WhatsappLikePreviewTypes, WhatsAppTemplate } from './WhatsAppTemplate';
|
|
5
|
+
export interface RCSPreviewProps extends WhatsappLikePreviewTypes {
|
|
6
|
+
isCarousal?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface RCSTemplateType extends WhatsAppTemplate {
|
|
9
|
+
id: string;
|
|
10
|
+
status: TEMPLATE_STATUS;
|
|
11
|
+
name: string;
|
|
12
|
+
content?: string;
|
|
13
|
+
mapping: {
|
|
14
|
+
[key: string]: string[] | object[];
|
|
15
|
+
};
|
|
16
|
+
mediaTemplateActionButtonTypes: {
|
|
17
|
+
[key: string]: string[] | object[];
|
|
18
|
+
};
|
|
19
|
+
customParams?: Record<string, string>;
|
|
20
|
+
destinationUrl?: Record<string, string>;
|
|
21
|
+
createdAt: number;
|
|
22
|
+
updatedAt: number;
|
|
23
|
+
templateType?: RCS_TEMPLATE_TYPE;
|
|
24
|
+
rcsBroadcastConfig?: {
|
|
25
|
+
mapping: {
|
|
26
|
+
[key: string]: string | object;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
htmlContentUrl?: string;
|
|
30
|
+
templateId?: string;
|
|
31
|
+
channel: CHANNEL_TYPE;
|
|
32
|
+
headers?: string[];
|
|
33
|
+
}
|
|
34
|
+
export interface RCSPreviewPropsV2 extends WhatsappLikePreviewTypes {
|
|
35
|
+
templateConfiguration: RCSTemplateConfig;
|
|
36
|
+
}
|
|
37
|
+
export interface RcsTemplate {
|
|
38
|
+
content?: string;
|
|
39
|
+
components: string;
|
|
40
|
+
mapping: {
|
|
41
|
+
[key: string]: string | object;
|
|
42
|
+
};
|
|
43
|
+
mediaTemplateActionButtonTypes: {
|
|
44
|
+
[key: string]: string | object;
|
|
45
|
+
};
|
|
46
|
+
customParams?: Record<string, string>;
|
|
47
|
+
destinationUrl?: Record<string, string>;
|
|
48
|
+
status: TEMPLATE_STATUS;
|
|
49
|
+
externalStatus: RCS_TEMPLATE_STATUS;
|
|
50
|
+
templateType: string;
|
|
51
|
+
createdAt: Timestamp;
|
|
52
|
+
updatedAt: Timestamp;
|
|
53
|
+
}
|
|
54
|
+
export interface CreateRcsTemplatePayload {
|
|
55
|
+
name: string;
|
|
56
|
+
label: string;
|
|
57
|
+
storeId: string;
|
|
58
|
+
category: string;
|
|
59
|
+
channelTemplateId: string;
|
|
60
|
+
channel: string;
|
|
61
|
+
content: string;
|
|
62
|
+
components: string;
|
|
63
|
+
mapping: {
|
|
64
|
+
[key: string]: string | object;
|
|
65
|
+
};
|
|
66
|
+
mediaTemplateActionButtonTypes: {
|
|
67
|
+
[key: string]: string | object;
|
|
68
|
+
};
|
|
69
|
+
customParams?: Record<string, string>;
|
|
70
|
+
destinationUrl?: Record<string, string>;
|
|
71
|
+
botId: string;
|
|
72
|
+
externalStatus: RCS_TEMPLATE_STATUS;
|
|
73
|
+
templateType: string;
|
|
74
|
+
status: TEMPLATE_STATUS;
|
|
75
|
+
createdAt: Timestamp;
|
|
76
|
+
createdBy: string;
|
|
77
|
+
templateCategory?: string;
|
|
78
|
+
updatedAt: Timestamp;
|
|
79
|
+
templateId?: string;
|
|
80
|
+
}
|
|
81
|
+
export declare enum RCS_TEMPLATE_STATUS {
|
|
82
|
+
ACTIVE = "active",
|
|
83
|
+
APPROVED = "approved",
|
|
84
|
+
PENDING = "pending",
|
|
85
|
+
REJECTED = "rejected",
|
|
86
|
+
FAILED = "Failed"
|
|
87
|
+
}
|
|
88
|
+
export declare enum RCS_TEMPLATE_TYPE {
|
|
89
|
+
TEXT_MESSAGE = "text_message",
|
|
90
|
+
TEXT_MESSAGE_WITH_PDF = "text_message_with_pdf",
|
|
91
|
+
CAROUSEL = "carousel",
|
|
92
|
+
RICH_CARD = "rich_card",
|
|
93
|
+
UNKNOWN = "unknown"
|
|
94
|
+
}
|
|
95
|
+
export declare enum RCS_BUTTON_TYPE {
|
|
96
|
+
REPLY = "reply",
|
|
97
|
+
URL_ACTION = "url_action",
|
|
98
|
+
DIALER_ACTION = "dialer_action",
|
|
99
|
+
VIEW_LOCATION_LATLONG = "view_location_latlong",
|
|
100
|
+
VIEW_LOCATION_QUERY = "view_location_query",
|
|
101
|
+
SHARE_LOCATION = "share_location",
|
|
102
|
+
CALENDAR_EVENT = "calendar_event"
|
|
103
|
+
}
|
|
104
|
+
export declare enum MEDIA_FORMAT {
|
|
105
|
+
IMAGE = "image",
|
|
106
|
+
VIDEO = "video",
|
|
107
|
+
DOCUMENT = "document",
|
|
108
|
+
OTHER = "other"
|
|
109
|
+
}
|
|
110
|
+
export declare enum IMAGE_EXTENSIONS {
|
|
111
|
+
JPG = "jpg",
|
|
112
|
+
JPEG = "jpeg",
|
|
113
|
+
PNG = "png",
|
|
114
|
+
GIF = "gif",
|
|
115
|
+
BMP = "bmp",
|
|
116
|
+
WEBP = "webp"
|
|
117
|
+
}
|
|
118
|
+
export declare enum VIDEO_EXTENSIONS {
|
|
119
|
+
MP4 = "mp4",
|
|
120
|
+
MOV = "mov",
|
|
121
|
+
AVI = "avi",
|
|
122
|
+
MKV = "mkv",
|
|
123
|
+
WEBM = "webm"
|
|
124
|
+
}
|
|
125
|
+
export declare enum DOCUMENT_EXTENSIONS {
|
|
126
|
+
PDF = "pdf",
|
|
127
|
+
DOC = "doc",
|
|
128
|
+
DOCX = "docx",
|
|
129
|
+
XLS = "xls",
|
|
130
|
+
XLSX = "xlsx",
|
|
131
|
+
PPT = "ppt",
|
|
132
|
+
PPTX = "pptx",
|
|
133
|
+
TXT = "txt"
|
|
134
|
+
}
|
|
135
|
+
export interface RCSTemplateConfig {
|
|
136
|
+
templateType: RCS_TEMPLATE_TYPE | string;
|
|
137
|
+
height: string;
|
|
138
|
+
orientation: string;
|
|
139
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var E,T,e,_,o,t,S;Object.defineProperty(exports,"__esModule",{value:!0}),exports.RCS_TEMPLATE_STATUS=void 0,(E=exports.RCS_TEMPLATE_STATUS||(exports.RCS_TEMPLATE_STATUS={})).ACTIVE="active",E.APPROVED="approved",E.PENDING="pending",E.REJECTED="rejected",E.FAILED="Failed",exports.RCS_TEMPLATE_TYPE=void 0,(T=exports.RCS_TEMPLATE_TYPE||(exports.RCS_TEMPLATE_TYPE={})).TEXT_MESSAGE="text_message",T.TEXT_MESSAGE_WITH_PDF="text_message_with_pdf",T.CAROUSEL="carousel",T.RICH_CARD="rich_card",T.UNKNOWN="unknown",exports.RCS_BUTTON_TYPE=void 0,(e=exports.RCS_BUTTON_TYPE||(exports.RCS_BUTTON_TYPE={})).REPLY="reply",e.URL_ACTION="url_action",e.DIALER_ACTION="dialer_action",e.VIEW_LOCATION_LATLONG="view_location_latlong",e.VIEW_LOCATION_QUERY="view_location_query",e.SHARE_LOCATION="share_location",e.CALENDAR_EVENT="calendar_event",exports.MEDIA_FORMAT=void 0,(_=exports.MEDIA_FORMAT||(exports.MEDIA_FORMAT={})).IMAGE="image",_.VIDEO="video",_.DOCUMENT="document",_.OTHER="other",exports.IMAGE_EXTENSIONS=void 0,(o=exports.IMAGE_EXTENSIONS||(exports.IMAGE_EXTENSIONS={})).JPG="jpg",o.JPEG="jpeg",o.PNG="png",o.GIF="gif",o.BMP="bmp",o.WEBP="webp",exports.VIDEO_EXTENSIONS=void 0,(t=exports.VIDEO_EXTENSIONS||(exports.VIDEO_EXTENSIONS={})).MP4="mp4",t.MOV="mov",t.AVI="avi",t.MKV="mkv",t.WEBM="webm",exports.DOCUMENT_EXTENSIONS=void 0,(S=exports.DOCUMENT_EXTENSIONS||(exports.DOCUMENT_EXTENSIONS={})).PDF="pdf",S.DOC="doc",S.DOCX="docx",S.XLS="xls",S.XLSX="xlsx",S.PPT="ppt",S.PPTX="pptx",S.TXT="txt";
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import { CHANNEL_TYPE } from './Channels';
|
|
2
3
|
import { CUSTOM_VARIABLE } from './TemplateMeta';
|
|
3
4
|
export type SMSTemplateType = {
|
|
4
5
|
category: 'other';
|
|
5
|
-
channel:
|
|
6
|
+
channel: CHANNEL_TYPE.SMS;
|
|
6
7
|
channelTemplateId: string;
|
|
7
8
|
content: string;
|
|
8
9
|
createdAt: {
|
|
@@ -11,7 +11,7 @@ export type WhatsAppTemplate = {
|
|
|
11
11
|
templateCategory: string;
|
|
12
12
|
type?: 'email' | 'whatsapp';
|
|
13
13
|
components: {
|
|
14
|
-
type: 'HEADER' | 'BODY' | 'BUTTONS' | 'FOOTER' | 'limited_time_offer';
|
|
14
|
+
type: 'HEADER' | 'BODY' | 'BUTTONS' | 'FOOTER' | 'limited_time_offer' | 'TITLE';
|
|
15
15
|
format?: HEADER_TYPES;
|
|
16
16
|
text?: string;
|
|
17
17
|
limited_time_offer?: {
|
|
@@ -33,12 +33,14 @@ export type WhatsAppTemplate = {
|
|
|
33
33
|
body_text?: Array<string[]>;
|
|
34
34
|
header_text?: Array<string>;
|
|
35
35
|
limited_time_offer?: string;
|
|
36
|
+
title_text?: Array<string[]>;
|
|
36
37
|
};
|
|
37
38
|
}[];
|
|
38
39
|
mapping: {
|
|
39
40
|
header?: string[];
|
|
40
41
|
body?: string[];
|
|
41
42
|
buttons?: string[];
|
|
43
|
+
title?: string[];
|
|
42
44
|
};
|
|
43
45
|
htmlContentUrl?: string;
|
|
44
46
|
language: 'en_US';
|
|
@@ -62,7 +64,9 @@ export type CreateTemplateType = {
|
|
|
62
64
|
headerText?: string;
|
|
63
65
|
headerVariables: templateVariable[];
|
|
64
66
|
bodyVariables: templateVariable[];
|
|
67
|
+
titleVariables?: templateVariable[];
|
|
65
68
|
bodyText?: string;
|
|
69
|
+
titleText?: string;
|
|
66
70
|
bodyTextRaw?: string;
|
|
67
71
|
footerText?: string;
|
|
68
72
|
actionsType: ACTIONS_TYPES;
|
|
@@ -158,6 +162,7 @@ export type TemplateVariableMapping = {
|
|
|
158
162
|
buttons: string[];
|
|
159
163
|
header: string[];
|
|
160
164
|
footer: string[];
|
|
165
|
+
title?: string[];
|
|
161
166
|
};
|
|
162
167
|
export type WhatsappLikePreviewTypes = {
|
|
163
168
|
bodyText?: string;
|
|
@@ -191,6 +196,8 @@ export type WhatsappLikePreviewTypes = {
|
|
|
191
196
|
limitedTimeOfferComponent?: CreateTemplateType['limitedTimeOfferComponent'];
|
|
192
197
|
isWhatsappCarousel?: boolean;
|
|
193
198
|
isPreview?: boolean;
|
|
199
|
+
titleText?: string;
|
|
200
|
+
titleVariableList?: variableType[];
|
|
194
201
|
};
|
|
195
202
|
export type WhatsappPreviewButtonType = {
|
|
196
203
|
type: WhatsappTemplateButtonTypes;
|
|
@@ -241,6 +248,7 @@ export interface WhatsAppTemplateVariables {
|
|
|
241
248
|
body: CUSTOM_VARIABLE[];
|
|
242
249
|
header: CUSTOM_VARIABLE[];
|
|
243
250
|
buttons: TEMPLATE_BUTTON[];
|
|
251
|
+
title?: CUSTOM_VARIABLE[];
|
|
244
252
|
}
|
|
245
253
|
export type CTABtnValType = {
|
|
246
254
|
defaultValue: string;
|
|
@@ -20,7 +20,7 @@ export type WhatsAppCarouselTemplate = {
|
|
|
20
20
|
};
|
|
21
21
|
cards?: {
|
|
22
22
|
components: {
|
|
23
|
-
type: 'HEADER' | 'BODY' | 'BUTTONS' | 'FOOTER';
|
|
23
|
+
type: 'HEADER' | 'BODY' | 'BUTTONS' | 'FOOTER' | 'TITLE';
|
|
24
24
|
format?: HEADER_TYPES;
|
|
25
25
|
text?: string;
|
|
26
26
|
buttons?: {
|
|
@@ -49,17 +49,21 @@ export type WhatsAppCarouselTemplate = {
|
|
|
49
49
|
header?: string[];
|
|
50
50
|
body?: string[];
|
|
51
51
|
buttons?: string[];
|
|
52
|
+
title?: string[];
|
|
52
53
|
}[];
|
|
54
|
+
title?: string[];
|
|
53
55
|
};
|
|
54
56
|
templateComponentValues: {
|
|
55
57
|
components: {
|
|
56
58
|
header?: string[];
|
|
57
59
|
body?: string[];
|
|
58
60
|
buttons?: string[];
|
|
61
|
+
title?: string[];
|
|
59
62
|
cards?: {
|
|
60
63
|
header?: string[];
|
|
61
64
|
body?: string[];
|
|
62
65
|
buttons?: string[];
|
|
66
|
+
title?: string[];
|
|
63
67
|
}[];
|
|
64
68
|
};
|
|
65
69
|
};
|
|
@@ -80,3 +84,26 @@ export interface WhatsAppCarouselTemplateVariables {
|
|
|
80
84
|
body: CUSTOM_VARIABLE[];
|
|
81
85
|
cards: WhatsAppTemplateVariables[];
|
|
82
86
|
}
|
|
87
|
+
export interface WhatsAppCarouselTemplateCards {
|
|
88
|
+
components: {
|
|
89
|
+
type: 'HEADER' | 'BODY' | 'BUTTONS' | 'FOOTER' | 'TITLE';
|
|
90
|
+
format?: HEADER_TYPES;
|
|
91
|
+
text?: string;
|
|
92
|
+
buttons?: {
|
|
93
|
+
type: 'QUICK_REPLY' | 'URL' | 'PHONE_NUMBER';
|
|
94
|
+
text?: string;
|
|
95
|
+
url?: string;
|
|
96
|
+
example?: string[];
|
|
97
|
+
linkMode?: 'custom' | 'home';
|
|
98
|
+
phone_number?: string;
|
|
99
|
+
flowName?: string;
|
|
100
|
+
flowId?: string;
|
|
101
|
+
}[];
|
|
102
|
+
example?: {
|
|
103
|
+
header_handle?: Array<string>;
|
|
104
|
+
body_text?: Array<string[]>;
|
|
105
|
+
header_text?: Array<string>;
|
|
106
|
+
title_text?: Array<string>;
|
|
107
|
+
};
|
|
108
|
+
}[];
|
|
109
|
+
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { EmailTemplateType } from './EmailTemplate';
|
|
2
|
+
import { RCSTemplateType } from './RCSTemplate';
|
|
2
3
|
import { SMSTemplateType } from './SmsTemplate';
|
|
3
4
|
import { CUSTOM_VARIABLE } from './TemplateMeta';
|
|
4
5
|
import { WebpushTemplateType, WebpushTemplateVariables } from './WebpushTemplate';
|
|
5
6
|
import { WhatsAppCarouselTemplate, WhatsAppCarouselTemplateVariables } from './WhatsappCarouselTemplate';
|
|
6
7
|
import { WhatsAppTemplate, WhatsAppTemplateVariables } from './WhatsAppTemplate';
|
|
7
|
-
export type AllTemplateTypes = WhatsAppTemplate | EmailTemplateType | SMSTemplateType | WhatsAppCarouselTemplate | WebpushTemplateType | null;
|
|
8
|
+
export type AllTemplateTypes = WhatsAppTemplate | EmailTemplateType | SMSTemplateType | WhatsAppCarouselTemplate | WebpushTemplateType | RCSTemplateType | null;
|
|
8
9
|
export type NonNullTemplateTypes = NonNullable<AllTemplateTypes>;
|
|
9
10
|
export type AllTemplateVariables = CUSTOM_VARIABLE[] | WhatsAppTemplateVariables | WhatsAppCarouselTemplateVariables | WebpushTemplateVariables;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import*as e from"react";var t,r,h;function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var h in r)Object.prototype.hasOwnProperty.call(r,h)&&(e[h]=r[h])}return e},a.apply(this,arguments)}var l=l=>e.createElement("svg",a({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},l),t||(t=e.createElement("rect",{width:24,height:24,fill:"#017AFF",rx:12})),r||(r=e.createElement("rect",{width:10,height:10,x:7,y:7,fill:"#fff",rx:2})),h||(h=e.createElement("path",{fill:"#017AFF",d:"M9.303 10.841c.405 0 .72.084.942.252.225.167.338.419.338.754 0 .35-.113.614-.338.79-.226.174-.526.261-.901.261h-.37V14H8.37v-3.159h.933Zm-.005 1.605c.217 0 .38-.044.49-.133.11-.091.164-.247.164-.466 0-.375-.218-.562-.654-.562h-.324v1.16h.324Zm2.55-1.605c.491 0 .883.111 1.175.334.296.222.444.632.444 1.23 0 .585-.145.998-.435 1.238-.29.238-.656.357-1.101.357h-.86v-3.159h.777Zm-.173.453v2.253h.297c.268 0 .478-.082.63-.246.153-.168.23-.467.23-.896 0-.3-.04-.53-.12-.69a.638.638 0 0 0-.306-.334 1.07 1.07 0 0 0-.453-.087h-.278ZM14.035 14v-3.159h1.788l-.064.448h-1.12v.946h.974v.448h-.974V14h-.603Z"})));export{l as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import*as e from"react";var t,r,l;function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var l in r)Object.prototype.hasOwnProperty.call(r,l)&&(e[l]=r[l])}return e},a.apply(this,arguments)}var n=n=>e.createElement("svg",a({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 56 56"},n),t||(t=e.createElement("rect",{width:56,height:56,fill:"#F0F0F0",rx:28})),r||(r=e.createElement("path",{fill:"#9E9E9E",d:"M28 21.333c.736 0 1.333.597 1.333 1.334V28a1.333 1.333 0 0 1-2.666 0v-5.333c0-.737.596-1.334 1.333-1.334ZM28 33.333a1.333 1.333 0 1 0 0-2.666 1.333 1.333 0 0 0 0 2.666Z"})),l||(l=e.createElement("path",{fill:"#9E9E9E",fillRule:"evenodd",d:"M13.333 28c0-8.1 6.567-14.667 14.667-14.667S42.667 19.9 42.667 28 36.1 42.667 28 42.667 13.333 36.1 13.333 28ZM28 16c-6.628 0-12 5.373-12 12s5.372 12 12 12c6.627 0 12-5.373 12-12s-5.373-12-12-12Z",clipRule:"evenodd"})));export{n as default};
|