@bikdotai/bik-component-library 0.0.570-beta-18 → 0.0.570-beta-19

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.
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  export declare const Menus: ({
2
3
  displayName: string;
3
4
  key: number;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("lodash"),l=require("react"),o=require("../../utils/StringUtils.js"),a=require("../../constants/Theme.js"),r=require("../modals/styledModal.js"),s=require("../template-preview/models/Channels.js"),i=require("../template-preview/models/WhatsAppTemplate.js"),n=require("./context/templateModalContext.js"),d=require("./modalElements/Footer.js"),u=require("./modalElements/TemplateSelectModalContent.js"),c=require("./utils/convertPlaceholdersToBikDropdown.js");exports.TemplateContextMapper=p=>{let{selectedTemplate:v,closeDialog:m,showVariableMapping:h,channel:C,htmlContent:b,templateVariables:S,onTemplateSelect:E,globalPlaceholders:P,showOnlyContent:x,whatsappSpecificPickerMeta:f,zIndex:g,showVariableModal:T,variableList:L,discountCode:I,setDiscountCode:j,onBackPress:y,enabledCustomText:V,variableListForImage:w,showSampleValues:D,disableEditVariable:k,pod:A,extras:H,pickerConf:M,selectedCarouselProducts:N,disableEditExpiry:O,cardWidth:q,onDeleteSelectedProducts:B,fileName:F,setFileName:_,hideDeviceContainerInPreview:W,maxCharLimit:Y,onDefaultVariableSelect:R,skipDefaultVariableContent:z}=p;var U,$,G,J,K,Q,X,Z;l.useEffect((()=>{ie(b)}),[b]);const ee=C===s.CHANNEL_TYPE.WHATSAPP&&"CAROUSEL"===(null===($=null===(U=null==v?void 0:v.components)||void 0===U?void 0:U[1])||void 0===$?void 0:$.type),te=null==v?void 0:v.isProductCarouselType,[le,oe]=l.useState(C===s.CHANNEL_TYPE.EMAIL||C==s.CHANNEL_TYPE.WEBPUSH||ee?"desktop":"mobile"),[ae,re]=l.useState(!1),[se,ie]=l.useState(b),[ne,de]=l.useState(!1),[ue,ce]=l.useState([]),[pe,ve]=l.useState({}),[me,he]=l.useState(v),[Ce,be]=l.useState([]),[Se,Ee]=l.useState(null),[Pe,xe]=l.useState(!1),[fe,ge]=l.useState(null!=S?S:[]),[Te,Le]=l.useState(!1),[Ie,je]=l.useState(ee?(null===(J=null===(G=null==me?void 0:me.mapping)||void 0===G?void 0:G.body)||void 0===J?void 0:J.length)?-1:0:-1),[ye,Ve]=l.useState([]),[we,De]=l.useState(void 0),ke=l.useRef(null),[Ae,He]=l.useState(!1),[Me,Ne]=l.useState(!1),[Oe,qe]=l.useState(!1),[Be,Fe]=l.useState({});l.useEffect((()=>{N?Ve(N):te&&Ve([])}),[N]),l.useEffect((()=>{var e;if(!Pe&&te&&(!N||0===Ve.length)){const t=null===(e=null==me?void 0:me.components)||void 0===e?void 0:e[1].cards,l=[];null==t||t.forEach((e=>{var t;null===(t=null==e?void 0:e.components)||void 0===t||t.forEach((e=>{var t,o,a;"HEADER"===e.type&&l.push(null!==(a=null===(o=null===(t=e.example)||void 0===t?void 0:t.header_handle)||void 0===o?void 0:o[0])&&void 0!==a?a:"")}))})),be(l),xe(!0)}}),[Pe]);const _e=l.useMemo((()=>c.convertPlaceholdersToBikDropdown(P)),[P]);return l.useEffect((()=>{De(t.cloneDeep(L))}),[L]),e.jsx(n.TemplateModalContext.Provider,Object.assign({value:{hideFooterButton:Oe,setHideFooterButton:qe,hideCrossButton:Me,setHideCrossButton:Ne,variableList:we,setVariableList:De,variableCallback:Se,setVariableCallback:Ee,showVariablePicker:ae,setShowVariablePicker:re,template:me,setTemplate:he,device:le,setDevice:oe,display_content:se,setDisplayContent:ie,originalVariableList:fe,setOriginalVariableList:ge,isError:ne,setIsError:de,channel:C,globalNormalizedPlaceholders:_e,templateSelectionTriggered:Te,setTemplateSelectionTriggered:Le,enabledCustomText:V,disableEditVariable:k,pod:A,extras:H,isWhatsappCarousel:ee,selectedCarouselIndex:Ie,setSelectedCarouselIndex:je,isProductCarouselType:te,templateErrorIndexes:pe,cardCount:ee?null===(Q=null===(K=v.components)||void 0===K?void 0:K[1].cards)||void 0===Q?void 0:Q.length:void 0,errorIndexes:ue,setErrorIndexes:ce,pickerConf:M,carouselProducts:ye,setCarouselProducts:Ve,disableEditExpiry:O,cardWidth:q,cardImages:Ce,onDeleteSelectedProducts:B,hideDeviceContainerInPreview:W,sliderRef:ke,isCarouselHovered:Ae,setIsCarouselHovered:He,maxCharLimit:Y,ctaOptionsErrors:Be,setCtaOptionsErrors:Fe,onDefaultVariableSelect:R}},{children:x?e.jsx(u.default,{variableListFromProps:L,channel:s.CHANNEL_TYPE.EMAIL,hideHeader:!0}):e.jsxs(r.StyledModal,Object.assign({hideCrossButton:Me,zIndex:g,centralContainerStyles:{width:ee?900:C===s.CHANNEL_TYPE.EMAIL&&h?1e3:800},open:!0,onClose:()=>{null==m||m()},headingTitle:null==me?void 0:me.label,headingSubtitle:C===s.CHANNEL_TYPE.WHATSAPP?`${o.default.capitaliseFirstLetterOfString(null!==(X=null==me?void 0:me.category)&&void 0!==X?X:"")} • ${null!==(Z=null==me?void 0:me.templateCategory)&&void 0!==Z?Z:""}`:"",onBackPress:()=>{null==y||y()},modalHeaderStyles:{borderBottom:`1px solid ${a.COLORS.stroke.primary}`}},{children:[e.jsx(u.default,{variableListFromProps:L,showSampleValues:D,showVariableMapping:h,channel:C,whatsappSpecificPickerMeta:f,showVariableModal:T,discountCode:I,setDiscountCode:j,variableListForImage:w&&(null==w?void 0:w.length)>0?w:we,fileName:F,setFileName:e=>{null==_||_(e)},skipDefaultVariableContent:z}),E?e.jsx(d.default,{isWhatsappCarousel:null!=ee&&ee,onSelect:function(){var e;if((null==ye?void 0:ye.length)<1&&te)return void de(!0);if(Object.keys(Be).length>0&&A!==i.POD.CHATBOT)return void de(!0);const t=null==E?void 0:E(me,fe,null!=se?se:"",ye);ve(null!==(e=null==t?void 0:t.templateErrorIndexes)&&void 0!==e?e:{body:[],buttons:[]}),(null==t?void 0:t.errorIndexes)||(null==t?void 0:t.error)?((null==t?void 0:t.errorIndexes)&&ce(t.errorIndexes),(null==t?void 0:t.error)&&de(!!(null==t?void 0:t.error))):Le(!0)}}):e.jsx(e.Fragment,{})]}))}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("lodash"),l=require("react"),o=require("../../utils/StringUtils.js"),a=require("../../constants/Theme.js"),r=require("../modals/styledModal.js"),s=require("../template-preview/models/Channels.js"),i=require("../template-preview/models/WhatsAppTemplate.js"),n=require("./context/templateModalContext.js"),d=require("./modalElements/Footer.js"),u=require("./modalElements/TemplateSelectModalContent.js"),c=require("./utils/convertPlaceholdersToBikDropdown.js");exports.TemplateContextMapper=p=>{let{selectedTemplate:v,closeDialog:m,showVariableMapping:h,channel:C,htmlContent:b,templateVariables:S,onTemplateSelect:E,globalPlaceholders:P,showOnlyContent:x,whatsappSpecificPickerMeta:f,zIndex:g,showVariableModal:T,variableList:L,discountCode:I,setDiscountCode:j,onBackPress:y,enabledCustomText:V,variableListForImage:w,showSampleValues:D,disableEditVariable:k,pod:A,extras:H,pickerConf:M,selectedCarouselProducts:N,disableEditExpiry:O,cardWidth:q,onDeleteSelectedProducts:B,fileName:F,setFileName:_,hideDeviceContainerInPreview:W,maxCharLimit:Y,onDefaultVariableSelect:R,skipDefaultVariableContent:z}=p;var U,$,G,J,K,Q,X,Z;l.useEffect((()=>{ie(b)}),[b]);const ee=C===s.CHANNEL_TYPE.WHATSAPP&&"CAROUSEL"===(null===($=null===(U=null==v?void 0:v.components)||void 0===U?void 0:U[1])||void 0===$?void 0:$.type),te=null==v?void 0:v.isProductCarouselType,[le,oe]=l.useState(C===s.CHANNEL_TYPE.EMAIL||C==s.CHANNEL_TYPE.WEBPUSH||ee?"desktop":"mobile"),[ae,re]=l.useState(!1),[se,ie]=l.useState(b),[ne,de]=l.useState(!1),[ue,ce]=l.useState([]),[pe,ve]=l.useState({}),[me,he]=l.useState(v),[Ce,be]=l.useState([]),[Se,Ee]=l.useState(null),[Pe,xe]=l.useState(!1),[fe,ge]=l.useState(null!=S?S:[]),[Te,Le]=l.useState(!1),[Ie,je]=l.useState(ee?(null===(J=null===(G=null==me?void 0:me.mapping)||void 0===G?void 0:G.body)||void 0===J?void 0:J.length)?-1:0:-1),[ye,Ve]=l.useState([]),[we,De]=l.useState(void 0),ke=l.useRef(null),[Ae,He]=l.useState(!1),[Me,Ne]=l.useState(!1),[Oe,qe]=l.useState(!1),[Be,Fe]=l.useState({});l.useEffect((()=>{N?Ve(N):te&&Ve([])}),[N]),l.useEffect((()=>{var e;if(!Pe&&te&&(!N||0===Ve.length)){const t=null===(e=null==me?void 0:me.components)||void 0===e?void 0:e[1].cards,l=[];null==t||t.forEach((e=>{var t;null===(t=null==e?void 0:e.components)||void 0===t||t.forEach((e=>{var t,o,a;"HEADER"===e.type&&l.push(null!==(a=null===(o=null===(t=e.example)||void 0===t?void 0:t.header_handle)||void 0===o?void 0:o[0])&&void 0!==a?a:"")}))})),be(l),xe(!0)}}),[Pe]);const _e=l.useMemo((()=>c.convertPlaceholdersToBikDropdown(P)),[P]);return l.useEffect((()=>{De(t.cloneDeep(L))}),[L]),e.jsx(n.TemplateModalContext.Provider,Object.assign({value:{hideFooterButton:Oe,setHideFooterButton:qe,hideCrossButton:Me,setHideCrossButton:Ne,variableList:we,setVariableList:De,variableCallback:Se,setVariableCallback:Ee,showVariablePicker:ae,setShowVariablePicker:re,template:me,setTemplate:he,device:le,setDevice:oe,display_content:se,setDisplayContent:ie,originalVariableList:fe,setOriginalVariableList:ge,isError:ne,setIsError:de,channel:C,globalNormalizedPlaceholders:_e,templateSelectionTriggered:Te,setTemplateSelectionTriggered:Le,enabledCustomText:V,disableEditVariable:k,pod:A,extras:H,isWhatsappCarousel:ee,selectedCarouselIndex:Ie,setSelectedCarouselIndex:je,isProductCarouselType:te,templateErrorIndexes:pe,cardCount:ee?null===(Q=null===(K=v.components)||void 0===K?void 0:K[1].cards)||void 0===Q?void 0:Q.length:void 0,errorIndexes:ue,setErrorIndexes:ce,pickerConf:M,carouselProducts:ye,setCarouselProducts:Ve,disableEditExpiry:O,cardWidth:q,cardImages:Ce,onDeleteSelectedProducts:B,hideDeviceContainerInPreview:W,sliderRef:ke,isCarouselHovered:Ae,setIsCarouselHovered:He,maxCharLimit:Y,ctaOptionsErrors:Be,setCtaOptionsErrors:Fe,onDefaultVariableSelect:R}},{children:x?e.jsx(u.default,{variableListFromProps:L,channel:s.CHANNEL_TYPE.EMAIL,hideHeader:!0}):e.jsxs(r.StyledModal,Object.assign({hideCrossButton:Me,zIndex:g,centralContainerStyles:{width:ee?900:C===s.CHANNEL_TYPE.EMAIL&&h?1e3:800},open:!0,onClose:()=>{null==m||m()},headingTitle:null==me?void 0:me.label,headingSubtitle:C===s.CHANNEL_TYPE.WHATSAPP?`${o.default.capitaliseFirstLetterOfString(null!==(X=null==me?void 0:me.category)&&void 0!==X?X:"")} • ${null!==(Z=null==me?void 0:me.templateCategory)&&void 0!==Z?Z:""}`:"",onBackPress:()=>{null==y||y()},modalHeaderStyles:{borderBottom:`1px solid ${a.COLORS.stroke.primary}`}},{children:[e.jsx(u.default,{variableListFromProps:L,showSampleValues:D,showVariableMapping:h,channel:C,whatsappSpecificPickerMeta:f,showVariableModal:T,discountCode:I,setDiscountCode:j,variableListForImage:w&&(null==w?void 0:w.length)>0?w:we,fileName:F,setFileName:e=>{null==_||_(e)},skipDefaultVariableContent:z}),E?e.jsx(d.default,{isWhatsappCarousel:null!=ee&&ee,onSelect:function(){var e;if((null==ye?void 0:ye.length)<1&&te)return void de(!0);if(Object.keys(Be).length>0&&A!==i.POD.CHATBOT)return void de(!0);console.log("template",me);const t=null==E?void 0:E(me,fe,null!=se?se:"",ye);ve(null!==(e=null==t?void 0:t.templateErrorIndexes)&&void 0!==e?e:{body:[],buttons:[]}),(null==t?void 0:t.errorIndexes)||(null==t?void 0:t.error)?((null==t?void 0:t.errorIndexes)&&ce(t.errorIndexes),(null==t?void 0:t.error)&&de(!!(null==t?void 0:t.error))):Le(!0)}}):e.jsx(e.Fragment,{})]}))}))};
@@ -1,6 +1,6 @@
1
1
  import { VariableListInterfaceV2 } from "../../add-variableV2";
2
2
  import { BUTTON_TYPE, CUSTOM_VARIABLE } from "../../template-preview";
3
- import { WebpushTemplateType } from "../../template-preview/models/WebpushTemplate";
3
+ import { WebPushTemplateComponent, WebpushTemplateType } from "../../template-preview/models/WebpushTemplate";
4
4
  declare const useWebPushTemplate: () => {
5
5
  processWebpushTemplate: (template: WebpushTemplateType, variableList: VariableListInterfaceV2[]) => Promise<{
6
6
  templateVariableMapping: {
@@ -24,6 +24,31 @@ declare const useWebPushTemplate: () => {
24
24
  image?: string[] | undefined;
25
25
  buttons?: string[] | undefined;
26
26
  };
27
+ template: {
28
+ name: string;
29
+ label: string;
30
+ templateId?: string | undefined;
31
+ channel: import("../../template-preview").CHANNEL_TYPE;
32
+ templateCategory: string;
33
+ category: string;
34
+ mapping?: {
35
+ title?: string[] | undefined;
36
+ body?: string[] | undefined;
37
+ buttons?: string[] | undefined;
38
+ icon?: string[] | undefined;
39
+ image?: string[] | undefined;
40
+ } | undefined;
41
+ templateVariables?: import("../../template-preview/models/WebpushTemplate").WebpushTemplateVariables | undefined;
42
+ webpushBroadcastConfig?: {
43
+ title?: string[] | undefined;
44
+ body?: string[] | undefined;
45
+ icon?: string[] | undefined;
46
+ image?: string[] | undefined;
47
+ buttons?: string[] | undefined;
48
+ } | undefined;
49
+ components: WebPushTemplateComponent;
50
+ whatsappSpecificPickerMeta?: import("../../template-preview").WhatsAppPickerMeta | undefined;
51
+ };
27
52
  }>;
28
53
  };
29
54
  export default useWebPushTemplate;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js");require("../../template-preview/TemplatePreview.js"),require("../../template-preview/WhatsApp/WhatsAppLikePreview.js"),require("../../template-preview/WhatsApp/WhatsAppLikePreviewV2.js"),require("../../../constants/Theme.js"),require("../../curtain/CurtainHelper.js"),require("../../variable-picker-v3/model.js"),require("../../template-preview/models/TemplateMeta.js");var t=require("../../template-preview/models/WhatsAppTemplate.js");require("../../template-preview/models/Channels.js");var i=require("../../template-preview/constants/TemplateConstants.js"),a=require("../../../utils/variableUtils.js");exports.default=()=>{function n(e,t,i){const n=t.map(((t,n)=>{const r=l(t),s=function(e,t,i){const n=i&&i.length?i:a.extractVariables(e);if(!n||!n.length)return[];const l=[];return n.forEach(((e,i)=>{const a=o(t,`{{${e}}}`);if(a){const{actualValue:e,defaultValue:t,variableText:n}=a;l.push({editable:"editableVariable"===n,variableVal:t,editableDefaultValues:t,variableName:e,idx:i})}})),l}(r?t:i,e);if(s.length>0){const e=s[0];return{variableName:e.variableName,isEditableVariable:!0,updatedValue:r?e.variableName:t,index:n,variableValue:e.variableVal,type:"string"}}return null})).filter((e=>null!==e));return n}const l=e=>e.includes("{{")&&e.includes("}}"),r=e=>e&&e.length?e.flatMap((e=>l(e)?a.extractVariables(e).map((e=>`{{${e}}}`))||[]:e)):[];const o=(e,t)=>{for(const i of e)for(const e in i.variables){const a=i.variables[e];if(a.actualValue===t)return a}return null};return{processWebpushTemplate:function(o,s){var u,b,p,d,c,v;return e.__awaiter(this,void 0,void 0,(function*(){const e=Object.assign({},o);e.components=function(e){let t;if("string"==typeof e)try{t=JSON.parse(e)}catch(e){console.error("Error parsing webpush component JSON:",e),t={}}else t=e;return t}(e.components);const{components:{title:m,body:f,buttons:h,icon:g,image:w},webpushBroadcastConfig:L}=e;let V={title:r(null!==(u=null==L?void 0:L.title)&&void 0!==u?u:[]),body:r(null!==(b=null==L?void 0:L.body)&&void 0!==b?b:[]),buttonsW:null!==(p=null==L?void 0:L.buttons)&&void 0!==p?p:[]};if(!e.webpushBroadcastConfig){const t=null!==(d=null==f?void 0:f.text)&&void 0!==d?d:"string"==typeof f?f:"",i=h&&(null==h?void 0:h.length)?h.map((e=>null==e?void 0:e.websiteLink)).filter((e=>void 0!==e)):[];V={title:a.extractVariables(m).map((e=>`{{${e}}}`)),body:a.extractVariables(t).map((e=>`{{${e}}}`)),buttonsW:[]};const n={title:null!==(c=V.title)&&void 0!==c?c:[],body:null!==(v=V.body)&&void 0!==v?v:[],buttons:i,icon:g?[g]:void 0,image:w?[w]:void 0};e.webpushBroadcastConfig=n}const _=h&&h.length?h.map(((e,a)=>({type:t.BUTTON_TYPE.URL,text:null==e?void 0:e.text,url:"https://d.bik.ai/{{1}}",example:V.buttonsW&&V.buttonsW.length?l(V.buttonsW[a])?[""]:[V.buttonsW[a]]:e.redirectionLink?[e.redirectionLink]:void 0,buttonVariable:V.buttonsW&&V.buttonsW.length?l(V.buttonsW[a])?V.buttonsW[a]:i.CUSTOM_URL_PLACEHOLDER_VAR:e.websiteLink?e.websiteLink==i.CUSTOM_URL_PLACEHOLDER?i.CUSTOM_URL_PLACEHOLDER_VAR:e.websiteLink:i.CUSTOM_URL_PLACEHOLDER_VAR,index:a}))):[],y={title:n(s,V.title,m),body:n(s,V.body,(null==f?void 0:f.text)||""),buttons:_};return{templateVariableMapping:{body:y.body,title:y.title,buttons:y.buttons,icon:[],header:[]},webpushBroadcastConfig:e.webpushBroadcastConfig}}))}}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js");require("../../template-preview/TemplatePreview.js"),require("../../template-preview/WhatsApp/WhatsAppLikePreview.js"),require("../../template-preview/WhatsApp/WhatsAppLikePreviewV2.js"),require("../../../constants/Theme.js"),require("../../curtain/CurtainHelper.js"),require("../../variable-picker-v3/model.js"),require("../../template-preview/models/TemplateMeta.js");var t=require("../../template-preview/models/WhatsAppTemplate.js");require("../../template-preview/models/Channels.js");var i=require("../../template-preview/constants/TemplateConstants.js"),a=require("../../../utils/variableUtils.js");exports.default=()=>{function n(e,t,i){const n=t.map(((t,n)=>{const r=l(t),s=function(e,t,i){const n=i&&i.length?i:a.extractVariables(e);if(!n||!n.length)return[];const l=[];return n.forEach(((e,i)=>{const a=o(t,`{{${e}}}`);if(a){const{actualValue:e,defaultValue:t,variableText:n}=a;l.push({editable:"editableVariable"===n,variableVal:t,editableDefaultValues:t,variableName:e,idx:i})}})),l}(r?t:i,e);if(s.length>0){const e=s[0];return{variableName:e.variableName,isEditableVariable:!0,updatedValue:r?e.variableName:t,index:n,variableValue:e.variableVal,type:"string"}}return null})).filter((e=>null!==e));return n}const l=e=>e.includes("{{")&&e.includes("}}"),r=e=>e&&e.length?e.flatMap((e=>l(e)?a.extractVariables(e).map((e=>`{{${e}}}`))||[]:e)):[];const o=(e,t)=>{for(const i of e)for(const e in i.variables){const a=i.variables[e];if(a.actualValue===t)return a}return null};return{processWebpushTemplate:function(o,s){var u,p,b,d,c,v;return e.__awaiter(this,void 0,void 0,(function*(){const e=Object.assign({},o);e.components=function(e){let t;if("string"==typeof e)try{t=JSON.parse(e)}catch(e){console.error("Error parsing webpush component JSON:",e),t={}}else t=e;return t}(e.components);const{components:{title:m,body:f,buttons:h,icon:g,image:w},webpushBroadcastConfig:L}=e;let V={title:r(null!==(u=null==L?void 0:L.title)&&void 0!==u?u:[]),body:r(null!==(p=null==L?void 0:L.body)&&void 0!==p?p:[]),buttonsW:null!==(b=null==L?void 0:L.buttons)&&void 0!==b?b:[]};if(!e.webpushBroadcastConfig){const t=null!==(d=null==f?void 0:f.text)&&void 0!==d?d:"string"==typeof f?f:"",i=h&&(null==h?void 0:h.length)?h.map((e=>null==e?void 0:e.websiteLink)).filter((e=>void 0!==e)):[];V={title:a.extractVariables(m).map((e=>`{{${e}}}`)),body:a.extractVariables(t).map((e=>`{{${e}}}`)),buttonsW:[]};const n={title:null!==(c=V.title)&&void 0!==c?c:[],body:null!==(v=V.body)&&void 0!==v?v:[],buttons:i,icon:g?[g]:void 0,image:w?[w]:void 0};e.webpushBroadcastConfig=n}const _=h&&h.length?h.map(((e,a)=>({type:t.BUTTON_TYPE.URL,text:null==e?void 0:e.text,url:"https://d.bik.ai/{{1}}",example:V.buttonsW&&V.buttonsW.length?l(V.buttonsW[a])?[""]:[V.buttonsW[a]]:e.redirectionLink?[e.redirectionLink]:void 0,buttonVariable:V.buttonsW&&V.buttonsW.length?l(V.buttonsW[a])?V.buttonsW[a]:i.CUSTOM_URL_PLACEHOLDER_VAR:e.websiteLink?e.websiteLink==i.CUSTOM_URL_PLACEHOLDER?i.CUSTOM_URL_PLACEHOLDER_VAR:e.websiteLink:i.CUSTOM_URL_PLACEHOLDER_VAR,index:a}))):[],y={title:n(s,V.title,m),body:n(s,V.body,(null==f?void 0:f.text)||""),buttons:_};return{templateVariableMapping:{body:y.body,title:y.title,buttons:y.buttons,icon:[],header:[]},webpushBroadcastConfig:e.webpushBroadcastConfig,template:e}}))}}};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),a=require("lodash"),t=require("react"),i=require("../../template-preview/models/TemplateMeta.js"),l=require("../context/templateModalContext.js"),n=require("../helpers/WebpushTemplateHelper.js"),o=require("../utils/getDataFromTemplateComponent.js"),d=require("./EditMediaModal.js"),s=require("./EditMediaV2.js"),r=require("./EditMediaV2.style.js"),p=require("./useEditWhtasappTemplateMedia.js"),u=require("./VariableConnectorsPanel.js"),m=require("./VariableConnectorWhatsApp.js"),c=require("./VariableEditorHeader.js"),h=require("./WhatsAppTemplateCardButtonV2.js");exports.default=g=>{let{template:b,onTemplateChange:M,whatsappSpecificPickerMeta:f,showVariableModal:E,variableListForImage:T}=g;var j,v,C;const[x,I]=t.useState(null),[y,V]=t.useState(null),{variableList:q}=l.useTemplateModalContext(),{processWebpushTemplate:w}=n.default();t.useEffect((()=>{q&&w(b,q).then((e=>{let{templateVariableMapping:a,webpushBroadcastConfig:t}=e;I(a),V(t)}))}),[q]);const{descriptionComponents:O,bodyVariables:A,titleVariables:L,iconImage:R,bannerImage:W}=t.useMemo((()=>x&&y?o.getAllDataFromWebpushTemplateComponent(y,x):{descriptionComponents:[],bodyVariables:[],titleVariables:[],iconImage:null,bannerImage:null}),[x,y]),{uploadMediaLink:D,uploadMediaFiles:B,validateMimeType:F}=f,H=t.useRef(null),S=p.useEditWhatsappTemplateMedia({uploadMediaLink:D,uploadMediaFiles:B,updateTemplateImageUrl:e=>P(e,"icon"),validateMimeType:F,mediaComponent:R,fileRef:H}),k=p.useEditWhatsappTemplateMedia({uploadMediaLink:D,uploadMediaFiles:B,updateTemplateImageUrl:e=>P(e,"image"),validateMimeType:F,mediaComponent:W,fileRef:H});function P(e,t){const i=Object.assign({},b),l=a.cloneDeep(i);"icon"===t?l.webpushBroadcastConfig.icon=[e]:"image"===t&&(l.webpushBroadcastConfig.image=[e]),null==M||M(Object.assign({},l))}function _(e,t,i){var l;const n=Object.assign({},b),o=a.cloneDeep(n),d="custom"===t&&"string"==typeof e,s=null===(l=null==o?void 0:o.webpushBroadcastConfig)||void 0===l?void 0:l.buttons;if(s&&s.length>0){s[i]=d?e:"string"!=typeof e?e.placeHolder:"";const a=Object.assign(Object.assign({},o.webpushBroadcastConfig),{buttons:s});o.webpushBroadcastConfig=a}null==M||M(o)}const U=S.openEditMedia?S:k.openEditMedia?k:null;return U?e.jsx(u.Container,Object.assign({style:{flexDirection:"column",width:400,maxHeight:460}},{children:e.jsx(d.default,{mediaComponentFormat:i.HEADER_TYPES.IMAGE,uploadMedia:U.uploadMedia,variableListForImage:T||[],useEditWhatsappTemplateMediaResponse:U,setOpenEditMedia:U.setOpenEditMedia,openEditMedia:U.openEditMedia,editIconRef:U.editIconRef,fileRef:H,skipAddVariable:!0})})):e.jsxs(u.Container,Object.assign({style:{flexDirection:"column",width:400,maxHeight:460,minWidth:"auto"}},{children:[R&&R.length?e.jsx(r.EditTemplateMediaContainer,{children:e.jsx(s.default,{imageName:R,handleImageChange:S.handleImageChange,mediaType:i.HEADER_TYPES.IMAGE,error:S.error,isLoading:S.loading,setOpenEditMedia:S.setOpenEditMedia})}):null,W&&W.length?e.jsx(r.EditTemplateMediaContainer,{children:e.jsx(s.default,{imageName:W,handleImageChange:k.handleImageChange,mediaType:i.HEADER_TYPES.IMAGE,error:k.error,isLoading:k.loading,setOpenEditMedia:k.setOpenEditMedia})}):null,(null==A?void 0:A.length)||(null==L?void 0:L.length)?e.jsx(c.default,{containerStyle:{paddingTop:8},headerText:"Edit variable values",subText:"Edit values for the variables used in template",toolTipInfo:"Variables are placeholder texts which can either be filled through data or custom texts. These can be edited through the dropdowns below"}):null,null==O?void 0:O.map(((a,t)=>e.jsx(m.default,{originalVariableList:x,type:a.type,descriptionComponent:a.component,showVariableModal:E},t))),(null===(v=null===(j=null==x?void 0:x.buttons)||void 0===j?void 0:j.filter((e=>"URL"===e.type)))||void 0===v?void 0:v.length)>0&&e.jsx(c.default,{headerText:"Edit buttons",subText:"Edit the link connected to the CTA button"}),null===(C=null==x?void 0:x.buttons)||void 0===C?void 0:C.map(((a,t)=>e.jsx(h.default,{variableListIndex:t,CTAoptions:null==f?void 0:f.CTAoptions,button:a,currentVariableList:x,updateSelectedURLTemplateBtn:_},`${t}`)))]}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),a=require("lodash"),t=require("react"),i=require("../../template-preview/models/TemplateMeta.js"),l=require("../context/templateModalContext.js"),n=require("../helpers/WebpushTemplateHelper.js"),o=require("../utils/getDataFromTemplateComponent.js"),d=require("./EditMediaModal.js"),s=require("./EditMediaV2.js"),r=require("./EditMediaV2.style.js"),p=require("./useEditWhtasappTemplateMedia.js"),u=require("./VariableConnectorsPanel.js"),m=require("./VariableConnectorWhatsApp.js"),c=require("./VariableEditorHeader.js"),h=require("./WhatsAppTemplateCardButtonV2.js");exports.default=g=>{let{template:b,onTemplateChange:M,whatsappSpecificPickerMeta:f,showVariableModal:E,variableListForImage:T}=g;var j,v,C;const[x,I]=t.useState(null),[y,V]=t.useState(null),{variableList:q}=l.useTemplateModalContext(),{processWebpushTemplate:w}=n.default();t.useEffect((()=>{q&&w(b,q).then((e=>{let{templateVariableMapping:a,template:t,webpushBroadcastConfig:i}=e;I(a),null==M||M(Object.assign({},t)),V(i)}))}),[q]);const{descriptionComponents:O,bodyVariables:A,titleVariables:L,iconImage:R,bannerImage:W}=t.useMemo((()=>x&&y?o.getAllDataFromWebpushTemplateComponent(y,x):{descriptionComponents:[],bodyVariables:[],titleVariables:[],iconImage:null,bannerImage:null}),[x,y]),{uploadMediaLink:D,uploadMediaFiles:B,validateMimeType:F}=f,H=t.useRef(null),S=p.useEditWhatsappTemplateMedia({uploadMediaLink:D,uploadMediaFiles:B,updateTemplateImageUrl:e=>P(e,"icon"),validateMimeType:F,mediaComponent:R,fileRef:H}),k=p.useEditWhatsappTemplateMedia({uploadMediaLink:D,uploadMediaFiles:B,updateTemplateImageUrl:e=>P(e,"image"),validateMimeType:F,mediaComponent:W,fileRef:H});function P(e,t){const i=Object.assign({},b),l=a.cloneDeep(i);"icon"===t?l.webpushBroadcastConfig.icon=[e]:"image"===t&&(l.webpushBroadcastConfig.image=[e]),null==M||M(Object.assign({},l))}function _(e,t,i){var l;const n=Object.assign({},b),o=a.cloneDeep(n),d="custom"===t&&"string"==typeof e,s=null===(l=null==o?void 0:o.webpushBroadcastConfig)||void 0===l?void 0:l.buttons;if(s&&s.length>0){s[i]=d?e:"string"!=typeof e?e.placeHolder:"";const a=Object.assign(Object.assign({},o.webpushBroadcastConfig),{buttons:s});o.webpushBroadcastConfig=a}null==M||M(o)}const U=S.openEditMedia?S:k.openEditMedia?k:null;return U?e.jsx(u.Container,Object.assign({style:{flexDirection:"column",width:400,maxHeight:460}},{children:e.jsx(d.default,{mediaComponentFormat:i.HEADER_TYPES.IMAGE,uploadMedia:U.uploadMedia,variableListForImage:T||[],useEditWhatsappTemplateMediaResponse:U,setOpenEditMedia:U.setOpenEditMedia,openEditMedia:U.openEditMedia,editIconRef:U.editIconRef,fileRef:H,skipAddVariable:!0})})):e.jsxs(u.Container,Object.assign({style:{flexDirection:"column",width:400,maxHeight:460,minWidth:"auto"}},{children:[R&&R.length?e.jsx(r.EditTemplateMediaContainer,{children:e.jsx(s.default,{imageName:R,handleImageChange:S.handleImageChange,mediaType:i.HEADER_TYPES.IMAGE,error:S.error,isLoading:S.loading,setOpenEditMedia:S.setOpenEditMedia})}):null,W&&W.length?e.jsx(r.EditTemplateMediaContainer,{children:e.jsx(s.default,{imageName:W,handleImageChange:k.handleImageChange,mediaType:i.HEADER_TYPES.IMAGE,error:k.error,isLoading:k.loading,setOpenEditMedia:k.setOpenEditMedia})}):null,(null==A?void 0:A.length)||(null==L?void 0:L.length)?e.jsx(c.default,{containerStyle:{paddingTop:8},headerText:"Edit variable values",subText:"Edit values for the variables used in template",toolTipInfo:"Variables are placeholder texts which can either be filled through data or custom texts. These can be edited through the dropdowns below"}):null,null==O?void 0:O.map(((a,t)=>e.jsx(m.default,{originalVariableList:x,type:a.type,descriptionComponent:a.component,showVariableModal:E},t))),(null===(v=null===(j=null==x?void 0:x.buttons)||void 0===j?void 0:j.filter((e=>"URL"===e.type)))||void 0===v?void 0:v.length)>0&&e.jsx(c.default,{headerText:"Edit buttons",subText:"Edit the link connected to the CTA button"}),null===(C=null==x?void 0:x.buttons)||void 0===C?void 0:C.map(((a,t)=>e.jsx(h.default,{variableListIndex:t,CTAoptions:null==f?void 0:f.CTAoptions,button:a,currentVariableList:x,updateSelectedURLTemplateBtn:_},`${t}`)))]}))};
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  export declare const Menus: ({
2
3
  displayName: string;
3
4
  key: number;
@@ -1 +1 @@
1
- import{jsx as e,jsxs as l,Fragment as o}from"react/jsx-runtime";import{cloneDeep as t}from"lodash";import{useEffect as r,useState as i,useRef as a,useMemo as s}from"react";import n from"../../utils/StringUtils.js";import{COLORS as d}from"../../constants/Theme.js";import{StyledModal as u}from"../modals/styledModal.js";import{CHANNEL_TYPE as c}from"../template-preview/models/Channels.js";import{POD as p}from"../template-preview/models/WhatsAppTemplate.js";import{TemplateModalContext as m}from"./context/templateModalContext.js";import v from"./modalElements/Footer.js";import h from"./modalElements/TemplateSelectModalContent.js";import{convertPlaceholdersToBikDropdown as b}from"./utils/convertPlaceholdersToBikDropdown.js";const C=C=>{let{selectedTemplate:f,closeDialog:g,showVariableMapping:P,channel:x,htmlContent:E,templateVariables:S,onTemplateSelect:I,globalPlaceholders:T,showOnlyContent:V,whatsappSpecificPickerMeta:y,zIndex:w,showVariableModal:k,variableList:L,discountCode:D,setDiscountCode:j,onBackPress:M,enabledCustomText:A,variableListForImage:B,showSampleValues:H,disableEditVariable:F,pod:O,extras:W,pickerConf:N,selectedCarouselProducts:z,disableEditExpiry:R,cardWidth:U,onDeleteSelectedProducts:$,fileName:_,setFileName:q,hideDeviceContainerInPreview:G,maxCharLimit:J,onDefaultVariableSelect:K,skipDefaultVariableContent:Q}=C;var X,Y,Z,ee,le,oe,te,re;r((()=>{pe(E)}),[E]);const ie=x===c.WHATSAPP&&"CAROUSEL"===(null===(Y=null===(X=null==f?void 0:f.components)||void 0===X?void 0:X[1])||void 0===Y?void 0:Y.type),ae=null==f?void 0:f.isProductCarouselType,[se,ne]=i(x===c.EMAIL||x==c.WEBPUSH||ie?"desktop":"mobile"),[de,ue]=i(!1),[ce,pe]=i(E),[me,ve]=i(!1),[he,be]=i([]),[Ce,fe]=i({}),[ge,Pe]=i(f),[xe,Ee]=i([]),[Se,Ie]=i(null),[Te,Ve]=i(!1),[ye,we]=i(null!=S?S:[]),[ke,Le]=i(!1),[De,je]=i(ie?(null===(ee=null===(Z=null==ge?void 0:ge.mapping)||void 0===Z?void 0:Z.body)||void 0===ee?void 0:ee.length)?-1:0:-1),[Me,Ae]=i([]),[Be,He]=i(void 0),Fe=a(null),[Oe,We]=i(!1),[Ne,ze]=i(!1),[Re,Ue]=i(!1),[$e,_e]=i({});r((()=>{z?Ae(z):ae&&Ae([])}),[z]),r((()=>{var e;if(!Te&&ae&&(!z||0===Ae.length)){const l=null===(e=null==ge?void 0:ge.components)||void 0===e?void 0:e[1].cards,o=[];null==l||l.forEach((e=>{var l;null===(l=null==e?void 0:e.components)||void 0===l||l.forEach((e=>{var l,t,r;"HEADER"===e.type&&o.push(null!==(r=null===(t=null===(l=e.example)||void 0===l?void 0:l.header_handle)||void 0===t?void 0:t[0])&&void 0!==r?r:"")}))})),Ee(o),Ve(!0)}}),[Te]);const qe=s((()=>b(T)),[T]);return r((()=>{He(t(L))}),[L]),e(m.Provider,Object.assign({value:{hideFooterButton:Re,setHideFooterButton:Ue,hideCrossButton:Ne,setHideCrossButton:ze,variableList:Be,setVariableList:He,variableCallback:Se,setVariableCallback:Ie,showVariablePicker:de,setShowVariablePicker:ue,template:ge,setTemplate:Pe,device:se,setDevice:ne,display_content:ce,setDisplayContent:pe,originalVariableList:ye,setOriginalVariableList:we,isError:me,setIsError:ve,channel:x,globalNormalizedPlaceholders:qe,templateSelectionTriggered:ke,setTemplateSelectionTriggered:Le,enabledCustomText:A,disableEditVariable:F,pod:O,extras:W,isWhatsappCarousel:ie,selectedCarouselIndex:De,setSelectedCarouselIndex:je,isProductCarouselType:ae,templateErrorIndexes:Ce,cardCount:ie?null===(oe=null===(le=f.components)||void 0===le?void 0:le[1].cards)||void 0===oe?void 0:oe.length:void 0,errorIndexes:he,setErrorIndexes:be,pickerConf:N,carouselProducts:Me,setCarouselProducts:Ae,disableEditExpiry:R,cardWidth:U,cardImages:xe,onDeleteSelectedProducts:$,hideDeviceContainerInPreview:G,sliderRef:Fe,isCarouselHovered:Oe,setIsCarouselHovered:We,maxCharLimit:J,ctaOptionsErrors:$e,setCtaOptionsErrors:_e,onDefaultVariableSelect:K}},{children:V?e(h,{variableListFromProps:L,channel:c.EMAIL,hideHeader:!0}):l(u,Object.assign({hideCrossButton:Ne,zIndex:w,centralContainerStyles:{width:ie?900:x===c.EMAIL&&P?1e3:800},open:!0,onClose:()=>{null==g||g()},headingTitle:null==ge?void 0:ge.label,headingSubtitle:x===c.WHATSAPP?`${n.capitaliseFirstLetterOfString(null!==(te=null==ge?void 0:ge.category)&&void 0!==te?te:"")} • ${null!==(re=null==ge?void 0:ge.templateCategory)&&void 0!==re?re:""}`:"",onBackPress:()=>{null==M||M()},modalHeaderStyles:{borderBottom:`1px solid ${d.stroke.primary}`}},{children:[e(h,{variableListFromProps:L,showSampleValues:H,showVariableMapping:P,channel:x,whatsappSpecificPickerMeta:y,showVariableModal:k,discountCode:D,setDiscountCode:j,variableListForImage:B&&(null==B?void 0:B.length)>0?B:Be,fileName:_,setFileName:e=>{null==q||q(e)},skipDefaultVariableContent:Q}),I?e(v,{isWhatsappCarousel:null!=ie&&ie,onSelect:function(){var e;if((null==Me?void 0:Me.length)<1&&ae)return void ve(!0);if(Object.keys($e).length>0&&O!==p.CHATBOT)return void ve(!0);const l=null==I?void 0:I(ge,ye,null!=ce?ce:"",Me);fe(null!==(e=null==l?void 0:l.templateErrorIndexes)&&void 0!==e?e:{body:[],buttons:[]}),(null==l?void 0:l.errorIndexes)||(null==l?void 0:l.error)?((null==l?void 0:l.errorIndexes)&&be(l.errorIndexes),(null==l?void 0:l.error)&&ve(!!(null==l?void 0:l.error))):Le(!0)}}):e(o,{})]}))}))};export{C as TemplateContextMapper};
1
+ import{jsx as e,jsxs as l,Fragment as o}from"react/jsx-runtime";import{cloneDeep as t}from"lodash";import{useEffect as r,useState as i,useRef as a,useMemo as s}from"react";import n from"../../utils/StringUtils.js";import{COLORS as d}from"../../constants/Theme.js";import{StyledModal as u}from"../modals/styledModal.js";import{CHANNEL_TYPE as c}from"../template-preview/models/Channels.js";import{POD as p}from"../template-preview/models/WhatsAppTemplate.js";import{TemplateModalContext as m}from"./context/templateModalContext.js";import v from"./modalElements/Footer.js";import h from"./modalElements/TemplateSelectModalContent.js";import{convertPlaceholdersToBikDropdown as b}from"./utils/convertPlaceholdersToBikDropdown.js";const C=C=>{let{selectedTemplate:f,closeDialog:g,showVariableMapping:P,channel:x,htmlContent:E,templateVariables:S,onTemplateSelect:I,globalPlaceholders:T,showOnlyContent:V,whatsappSpecificPickerMeta:y,zIndex:w,showVariableModal:k,variableList:L,discountCode:D,setDiscountCode:j,onBackPress:M,enabledCustomText:A,variableListForImage:B,showSampleValues:H,disableEditVariable:F,pod:O,extras:W,pickerConf:N,selectedCarouselProducts:z,disableEditExpiry:R,cardWidth:U,onDeleteSelectedProducts:$,fileName:_,setFileName:q,hideDeviceContainerInPreview:G,maxCharLimit:J,onDefaultVariableSelect:K,skipDefaultVariableContent:Q}=C;var X,Y,Z,ee,le,oe,te,re;r((()=>{pe(E)}),[E]);const ie=x===c.WHATSAPP&&"CAROUSEL"===(null===(Y=null===(X=null==f?void 0:f.components)||void 0===X?void 0:X[1])||void 0===Y?void 0:Y.type),ae=null==f?void 0:f.isProductCarouselType,[se,ne]=i(x===c.EMAIL||x==c.WEBPUSH||ie?"desktop":"mobile"),[de,ue]=i(!1),[ce,pe]=i(E),[me,ve]=i(!1),[he,be]=i([]),[Ce,fe]=i({}),[ge,Pe]=i(f),[xe,Ee]=i([]),[Se,Ie]=i(null),[Te,Ve]=i(!1),[ye,we]=i(null!=S?S:[]),[ke,Le]=i(!1),[De,je]=i(ie?(null===(ee=null===(Z=null==ge?void 0:ge.mapping)||void 0===Z?void 0:Z.body)||void 0===ee?void 0:ee.length)?-1:0:-1),[Me,Ae]=i([]),[Be,He]=i(void 0),Fe=a(null),[Oe,We]=i(!1),[Ne,ze]=i(!1),[Re,Ue]=i(!1),[$e,_e]=i({});r((()=>{z?Ae(z):ae&&Ae([])}),[z]),r((()=>{var e;if(!Te&&ae&&(!z||0===Ae.length)){const l=null===(e=null==ge?void 0:ge.components)||void 0===e?void 0:e[1].cards,o=[];null==l||l.forEach((e=>{var l;null===(l=null==e?void 0:e.components)||void 0===l||l.forEach((e=>{var l,t,r;"HEADER"===e.type&&o.push(null!==(r=null===(t=null===(l=e.example)||void 0===l?void 0:l.header_handle)||void 0===t?void 0:t[0])&&void 0!==r?r:"")}))})),Ee(o),Ve(!0)}}),[Te]);const qe=s((()=>b(T)),[T]);return r((()=>{He(t(L))}),[L]),e(m.Provider,Object.assign({value:{hideFooterButton:Re,setHideFooterButton:Ue,hideCrossButton:Ne,setHideCrossButton:ze,variableList:Be,setVariableList:He,variableCallback:Se,setVariableCallback:Ie,showVariablePicker:de,setShowVariablePicker:ue,template:ge,setTemplate:Pe,device:se,setDevice:ne,display_content:ce,setDisplayContent:pe,originalVariableList:ye,setOriginalVariableList:we,isError:me,setIsError:ve,channel:x,globalNormalizedPlaceholders:qe,templateSelectionTriggered:ke,setTemplateSelectionTriggered:Le,enabledCustomText:A,disableEditVariable:F,pod:O,extras:W,isWhatsappCarousel:ie,selectedCarouselIndex:De,setSelectedCarouselIndex:je,isProductCarouselType:ae,templateErrorIndexes:Ce,cardCount:ie?null===(oe=null===(le=f.components)||void 0===le?void 0:le[1].cards)||void 0===oe?void 0:oe.length:void 0,errorIndexes:he,setErrorIndexes:be,pickerConf:N,carouselProducts:Me,setCarouselProducts:Ae,disableEditExpiry:R,cardWidth:U,cardImages:xe,onDeleteSelectedProducts:$,hideDeviceContainerInPreview:G,sliderRef:Fe,isCarouselHovered:Oe,setIsCarouselHovered:We,maxCharLimit:J,ctaOptionsErrors:$e,setCtaOptionsErrors:_e,onDefaultVariableSelect:K}},{children:V?e(h,{variableListFromProps:L,channel:c.EMAIL,hideHeader:!0}):l(u,Object.assign({hideCrossButton:Ne,zIndex:w,centralContainerStyles:{width:ie?900:x===c.EMAIL&&P?1e3:800},open:!0,onClose:()=>{null==g||g()},headingTitle:null==ge?void 0:ge.label,headingSubtitle:x===c.WHATSAPP?`${n.capitaliseFirstLetterOfString(null!==(te=null==ge?void 0:ge.category)&&void 0!==te?te:"")} • ${null!==(re=null==ge?void 0:ge.templateCategory)&&void 0!==re?re:""}`:"",onBackPress:()=>{null==M||M()},modalHeaderStyles:{borderBottom:`1px solid ${d.stroke.primary}`}},{children:[e(h,{variableListFromProps:L,showSampleValues:H,showVariableMapping:P,channel:x,whatsappSpecificPickerMeta:y,showVariableModal:k,discountCode:D,setDiscountCode:j,variableListForImage:B&&(null==B?void 0:B.length)>0?B:Be,fileName:_,setFileName:e=>{null==q||q(e)},skipDefaultVariableContent:Q}),I?e(v,{isWhatsappCarousel:null!=ie&&ie,onSelect:function(){var e;if((null==Me?void 0:Me.length)<1&&ae)return void ve(!0);if(Object.keys($e).length>0&&O!==p.CHATBOT)return void ve(!0);console.log("template",ge);const l=null==I?void 0:I(ge,ye,null!=ce?ce:"",Me);fe(null!==(e=null==l?void 0:l.templateErrorIndexes)&&void 0!==e?e:{body:[],buttons:[]}),(null==l?void 0:l.errorIndexes)||(null==l?void 0:l.error)?((null==l?void 0:l.errorIndexes)&&be(l.errorIndexes),(null==l?void 0:l.error)&&ve(!!(null==l?void 0:l.error))):Le(!0)}}):e(o,{})]}))}))};export{C as TemplateContextMapper};
@@ -1,6 +1,6 @@
1
1
  import { VariableListInterfaceV2 } from "../../add-variableV2";
2
2
  import { BUTTON_TYPE, CUSTOM_VARIABLE } from "../../template-preview";
3
- import { WebpushTemplateType } from "../../template-preview/models/WebpushTemplate";
3
+ import { WebPushTemplateComponent, WebpushTemplateType } from "../../template-preview/models/WebpushTemplate";
4
4
  declare const useWebPushTemplate: () => {
5
5
  processWebpushTemplate: (template: WebpushTemplateType, variableList: VariableListInterfaceV2[]) => Promise<{
6
6
  templateVariableMapping: {
@@ -24,6 +24,31 @@ declare const useWebPushTemplate: () => {
24
24
  image?: string[] | undefined;
25
25
  buttons?: string[] | undefined;
26
26
  };
27
+ template: {
28
+ name: string;
29
+ label: string;
30
+ templateId?: string | undefined;
31
+ channel: import("../../template-preview").CHANNEL_TYPE;
32
+ templateCategory: string;
33
+ category: string;
34
+ mapping?: {
35
+ title?: string[] | undefined;
36
+ body?: string[] | undefined;
37
+ buttons?: string[] | undefined;
38
+ icon?: string[] | undefined;
39
+ image?: string[] | undefined;
40
+ } | undefined;
41
+ templateVariables?: import("../../template-preview/models/WebpushTemplate").WebpushTemplateVariables | undefined;
42
+ webpushBroadcastConfig?: {
43
+ title?: string[] | undefined;
44
+ body?: string[] | undefined;
45
+ icon?: string[] | undefined;
46
+ image?: string[] | undefined;
47
+ buttons?: string[] | undefined;
48
+ } | undefined;
49
+ components: WebPushTemplateComponent;
50
+ whatsappSpecificPickerMeta?: import("../../template-preview").WhatsAppPickerMeta | undefined;
51
+ };
27
52
  }>;
28
53
  };
29
54
  export default useWebPushTemplate;
@@ -1 +1 @@
1
- import{__awaiter as t}from"../../../_virtual/_tslib.js";import"../../template-preview/TemplatePreview.js";import"../../template-preview/WhatsApp/WhatsAppLikePreview.js";import"../../template-preview/WhatsApp/WhatsAppLikePreviewV2.js";import"../../../constants/Theme.js";import"../../curtain/CurtainHelper.js";import"../../variable-picker-v3/model.js";import"../../template-preview/models/TemplateMeta.js";import{BUTTON_TYPE as e}from"../../template-preview/models/WhatsAppTemplate.js";import"../../template-preview/models/Channels.js";import{CUSTOM_URL_PLACEHOLDER_VAR as i,CUSTOM_URL_PLACEHOLDER as o}from"../../template-preview/constants/TemplateConstants.js";import{extractVariables as n}from"../../../utils/variableUtils.js";const l=()=>{function l(t,e,i){const o=e.map(((e,o)=>{const l=a(e),s=function(t,e,i){const o=i&&i.length?i:n(t);if(!o||!o.length)return[];const l=[];return o.forEach(((t,i)=>{const o=r(e,`{{${t}}}`);if(o){const{actualValue:t,defaultValue:e,variableText:n}=o;l.push({editable:"editableVariable"===n,variableVal:e,editableDefaultValues:e,variableName:t,idx:i})}})),l}(l?e:i,t);if(s.length>0){const t=s[0];return{variableName:t.variableName,isEditableVariable:!0,updatedValue:l?t.variableName:e,index:o,variableValue:t.variableVal,type:"string"}}return null})).filter((t=>null!==t));return o}const a=t=>t.includes("{{")&&t.includes("}}"),s=t=>t&&t.length?t.flatMap((t=>a(t)?n(t).map((t=>`{{${t}}}`))||[]:t)):[];const r=(t,e)=>{for(const i of t)for(const t in i.variables){const o=i.variables[t];if(o.actualValue===e)return o}return null};return{processWebpushTemplate:function(r,u){var p,b,d,c,m,v;return t(this,void 0,void 0,(function*(){const t=Object.assign({},r);t.components=function(t){let e;if("string"==typeof t)try{e=JSON.parse(t)}catch(t){console.error("Error parsing webpush component JSON:",t),e={}}else e=t;return e}(t.components);const{components:{title:f,body:h,buttons:g,icon:w,image:W},webpushBroadcastConfig:y}=t;let j={title:s(null!==(p=null==y?void 0:y.title)&&void 0!==p?p:[]),body:s(null!==(b=null==y?void 0:y.body)&&void 0!==b?b:[]),buttonsW:null!==(d=null==y?void 0:y.buttons)&&void 0!==d?d:[]};if(!t.webpushBroadcastConfig){const e=null!==(c=null==h?void 0:h.text)&&void 0!==c?c:"string"==typeof h?h:"",i=g&&(null==g?void 0:g.length)?g.map((t=>null==t?void 0:t.websiteLink)).filter((t=>void 0!==t)):[];j={title:n(f).map((t=>`{{${t}}}`)),body:n(e).map((t=>`{{${t}}}`)),buttonsW:[]};const o={title:null!==(m=j.title)&&void 0!==m?m:[],body:null!==(v=j.body)&&void 0!==v?v:[],buttons:i,icon:w?[w]:void 0,image:W?[W]:void 0};t.webpushBroadcastConfig=o}const V=g&&g.length?g.map(((t,n)=>({type:e.URL,text:null==t?void 0:t.text,url:"https://d.bik.ai/{{1}}",example:j.buttonsW&&j.buttonsW.length?a(j.buttonsW[n])?[""]:[j.buttonsW[n]]:t.redirectionLink?[t.redirectionLink]:void 0,buttonVariable:j.buttonsW&&j.buttonsW.length?a(j.buttonsW[n])?j.buttonsW[n]:i:t.websiteLink?t.websiteLink==o?i:t.websiteLink:i,index:n}))):[],k={title:l(u,j.title,f),body:l(u,j.body,(null==h?void 0:h.text)||""),buttons:V};return{templateVariableMapping:{body:k.body,title:k.title,buttons:k.buttons,icon:[],header:[]},webpushBroadcastConfig:t.webpushBroadcastConfig}}))}}};export{l as default};
1
+ import{__awaiter as t}from"../../../_virtual/_tslib.js";import"../../template-preview/TemplatePreview.js";import"../../template-preview/WhatsApp/WhatsAppLikePreview.js";import"../../template-preview/WhatsApp/WhatsAppLikePreviewV2.js";import"../../../constants/Theme.js";import"../../curtain/CurtainHelper.js";import"../../variable-picker-v3/model.js";import"../../template-preview/models/TemplateMeta.js";import{BUTTON_TYPE as e}from"../../template-preview/models/WhatsAppTemplate.js";import"../../template-preview/models/Channels.js";import{CUSTOM_URL_PLACEHOLDER_VAR as i,CUSTOM_URL_PLACEHOLDER as o}from"../../template-preview/constants/TemplateConstants.js";import{extractVariables as n}from"../../../utils/variableUtils.js";const l=()=>{function l(t,e,i){const o=e.map(((e,o)=>{const l=a(e),s=function(t,e,i){const o=i&&i.length?i:n(t);if(!o||!o.length)return[];const l=[];return o.forEach(((t,i)=>{const o=r(e,`{{${t}}}`);if(o){const{actualValue:t,defaultValue:e,variableText:n}=o;l.push({editable:"editableVariable"===n,variableVal:e,editableDefaultValues:e,variableName:t,idx:i})}})),l}(l?e:i,t);if(s.length>0){const t=s[0];return{variableName:t.variableName,isEditableVariable:!0,updatedValue:l?t.variableName:e,index:o,variableValue:t.variableVal,type:"string"}}return null})).filter((t=>null!==t));return o}const a=t=>t.includes("{{")&&t.includes("}}"),s=t=>t&&t.length?t.flatMap((t=>a(t)?n(t).map((t=>`{{${t}}}`))||[]:t)):[];const r=(t,e)=>{for(const i of t)for(const t in i.variables){const o=i.variables[t];if(o.actualValue===e)return o}return null};return{processWebpushTemplate:function(r,p){var u,b,d,m,c,v;return t(this,void 0,void 0,(function*(){const t=Object.assign({},r);t.components=function(t){let e;if("string"==typeof t)try{e=JSON.parse(t)}catch(t){console.error("Error parsing webpush component JSON:",t),e={}}else e=t;return e}(t.components);const{components:{title:f,body:h,buttons:g,icon:w,image:W},webpushBroadcastConfig:y}=t;let j={title:s(null!==(u=null==y?void 0:y.title)&&void 0!==u?u:[]),body:s(null!==(b=null==y?void 0:y.body)&&void 0!==b?b:[]),buttonsW:null!==(d=null==y?void 0:y.buttons)&&void 0!==d?d:[]};if(!t.webpushBroadcastConfig){const e=null!==(m=null==h?void 0:h.text)&&void 0!==m?m:"string"==typeof h?h:"",i=g&&(null==g?void 0:g.length)?g.map((t=>null==t?void 0:t.websiteLink)).filter((t=>void 0!==t)):[];j={title:n(f).map((t=>`{{${t}}}`)),body:n(e).map((t=>`{{${t}}}`)),buttonsW:[]};const o={title:null!==(c=j.title)&&void 0!==c?c:[],body:null!==(v=j.body)&&void 0!==v?v:[],buttons:i,icon:w?[w]:void 0,image:W?[W]:void 0};t.webpushBroadcastConfig=o}const V=g&&g.length?g.map(((t,n)=>({type:e.URL,text:null==t?void 0:t.text,url:"https://d.bik.ai/{{1}}",example:j.buttonsW&&j.buttonsW.length?a(j.buttonsW[n])?[""]:[j.buttonsW[n]]:t.redirectionLink?[t.redirectionLink]:void 0,buttonVariable:j.buttonsW&&j.buttonsW.length?a(j.buttonsW[n])?j.buttonsW[n]:i:t.websiteLink?t.websiteLink==o?i:t.websiteLink:i,index:n}))):[],k={title:l(p,j.title,f),body:l(p,j.body,(null==h?void 0:h.text)||""),buttons:V};return{templateVariableMapping:{body:k.body,title:k.title,buttons:k.buttons,icon:[],header:[]},webpushBroadcastConfig:t.webpushBroadcastConfig,template:t}}))}}};export{l as default};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as t}from"react/jsx-runtime";import{cloneDeep as a}from"lodash";import{useState as i,useEffect as o,useMemo as n,useRef as l}from"react";import{HEADER_TYPES as d}from"../../template-preview/models/TemplateMeta.js";import{useTemplateModalContext as r}from"../context/templateModalContext.js";import s from"../helpers/WebpushTemplateHelper.js";import{getAllDataFromWebpushTemplateComponent as p}from"../utils/getDataFromTemplateComponent.js";import m from"./EditMediaModal.js";import u from"./EditMediaV2.js";import{EditTemplateMediaContainer as c}from"./EditMediaV2.style.js";import{useEditWhatsappTemplateMedia as h}from"./useEditWhtasappTemplateMedia.js";import{Container as g}from"./VariableConnectorsPanel.js";import b from"./VariableConnectorWhatsApp.js";import f from"./VariableEditorHeader.js";import M from"./WhatsAppTemplateCardButtonV2.js";const v=v=>{let{template:T,onTemplateChange:C,whatsappSpecificPickerMeta:E,showVariableModal:j,variableListForImage:I}=v;var V,y,w;const[x,L]=i(null),[O,A]=i(null),{variableList:B}=r(),{processWebpushTemplate:R}=s();o((()=>{B&&R(T,B).then((e=>{let{templateVariableMapping:t,webpushBroadcastConfig:a}=e;L(t),A(a)}))}),[B]);const{descriptionComponents:F,bodyVariables:W,titleVariables:k,iconImage:H,bannerImage:U}=n((()=>x&&O?p(O,x):{descriptionComponents:[],bodyVariables:[],titleVariables:[],iconImage:null,bannerImage:null}),[x,O]),{uploadMediaLink:D,uploadMediaFiles:G,validateMimeType:S}=E,N=l(null),P=h({uploadMediaLink:D,uploadMediaFiles:G,updateTemplateImageUrl:e=>q(e,"icon"),validateMimeType:S,mediaComponent:H,fileRef:N}),$=h({uploadMediaLink:D,uploadMediaFiles:G,updateTemplateImageUrl:e=>q(e,"image"),validateMimeType:S,mediaComponent:U,fileRef:N});function q(e,t){const i=Object.assign({},T),o=a(i);"icon"===t?o.webpushBroadcastConfig.icon=[e]:"image"===t&&(o.webpushBroadcastConfig.image=[e]),null==C||C(Object.assign({},o))}function z(e,t,i){var o;const n=Object.assign({},T),l=a(n),d="custom"===t&&"string"==typeof e,r=null===(o=null==l?void 0:l.webpushBroadcastConfig)||void 0===o?void 0:o.buttons;if(r&&r.length>0){r[i]=d?e:"string"!=typeof e?e.placeHolder:"";const t=Object.assign(Object.assign({},l.webpushBroadcastConfig),{buttons:r});l.webpushBroadcastConfig=t}null==C||C(l)}const J=P.openEditMedia?P:$.openEditMedia?$:null;return J?e(g,Object.assign({style:{flexDirection:"column",width:400,maxHeight:460}},{children:e(m,{mediaComponentFormat:d.IMAGE,uploadMedia:J.uploadMedia,variableListForImage:I||[],useEditWhatsappTemplateMediaResponse:J,setOpenEditMedia:J.setOpenEditMedia,openEditMedia:J.openEditMedia,editIconRef:J.editIconRef,fileRef:N,skipAddVariable:!0})})):t(g,Object.assign({style:{flexDirection:"column",width:400,maxHeight:460,minWidth:"auto"}},{children:[H&&H.length?e(c,{children:e(u,{imageName:H,handleImageChange:P.handleImageChange,mediaType:d.IMAGE,error:P.error,isLoading:P.loading,setOpenEditMedia:P.setOpenEditMedia})}):null,U&&U.length?e(c,{children:e(u,{imageName:U,handleImageChange:$.handleImageChange,mediaType:d.IMAGE,error:$.error,isLoading:$.loading,setOpenEditMedia:$.setOpenEditMedia})}):null,(null==W?void 0:W.length)||(null==k?void 0:k.length)?e(f,{containerStyle:{paddingTop:8},headerText:"Edit variable values",subText:"Edit values for the variables used in template",toolTipInfo:"Variables are placeholder texts which can either be filled through data or custom texts. These can be edited through the dropdowns below"}):null,null==F?void 0:F.map(((t,a)=>e(b,{originalVariableList:x,type:t.type,descriptionComponent:t.component,showVariableModal:j},a))),(null===(y=null===(V=null==x?void 0:x.buttons)||void 0===V?void 0:V.filter((e=>"URL"===e.type)))||void 0===y?void 0:y.length)>0&&e(f,{headerText:"Edit buttons",subText:"Edit the link connected to the CTA button"}),null===(w=null==x?void 0:x.buttons)||void 0===w?void 0:w.map(((t,a)=>e(M,{variableListIndex:a,CTAoptions:null==E?void 0:E.CTAoptions,button:t,currentVariableList:x,updateSelectedURLTemplateBtn:z},`${a}`)))]}))};export{v as default};
1
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import{cloneDeep as a}from"lodash";import{useState as i,useEffect as o,useMemo as n,useRef as l}from"react";import{HEADER_TYPES as d}from"../../template-preview/models/TemplateMeta.js";import{useTemplateModalContext as r}from"../context/templateModalContext.js";import s from"../helpers/WebpushTemplateHelper.js";import{getAllDataFromWebpushTemplateComponent as p}from"../utils/getDataFromTemplateComponent.js";import m from"./EditMediaModal.js";import u from"./EditMediaV2.js";import{EditTemplateMediaContainer as c}from"./EditMediaV2.style.js";import{useEditWhatsappTemplateMedia as h}from"./useEditWhtasappTemplateMedia.js";import{Container as g}from"./VariableConnectorsPanel.js";import b from"./VariableConnectorWhatsApp.js";import f from"./VariableEditorHeader.js";import M from"./WhatsAppTemplateCardButtonV2.js";const v=v=>{let{template:T,onTemplateChange:C,whatsappSpecificPickerMeta:E,showVariableModal:j,variableListForImage:I}=v;var V,y,w;const[x,O]=i(null),[L,A]=i(null),{variableList:B}=r(),{processWebpushTemplate:R}=s();o((()=>{B&&R(T,B).then((e=>{let{templateVariableMapping:t,template:a,webpushBroadcastConfig:i}=e;O(t),null==C||C(Object.assign({},a)),A(i)}))}),[B]);const{descriptionComponents:F,bodyVariables:W,titleVariables:k,iconImage:H,bannerImage:U}=n((()=>x&&L?p(L,x):{descriptionComponents:[],bodyVariables:[],titleVariables:[],iconImage:null,bannerImage:null}),[x,L]),{uploadMediaLink:D,uploadMediaFiles:G,validateMimeType:S}=E,N=l(null),P=h({uploadMediaLink:D,uploadMediaFiles:G,updateTemplateImageUrl:e=>q(e,"icon"),validateMimeType:S,mediaComponent:H,fileRef:N}),$=h({uploadMediaLink:D,uploadMediaFiles:G,updateTemplateImageUrl:e=>q(e,"image"),validateMimeType:S,mediaComponent:U,fileRef:N});function q(e,t){const i=Object.assign({},T),o=a(i);"icon"===t?o.webpushBroadcastConfig.icon=[e]:"image"===t&&(o.webpushBroadcastConfig.image=[e]),null==C||C(Object.assign({},o))}function z(e,t,i){var o;const n=Object.assign({},T),l=a(n),d="custom"===t&&"string"==typeof e,r=null===(o=null==l?void 0:l.webpushBroadcastConfig)||void 0===o?void 0:o.buttons;if(r&&r.length>0){r[i]=d?e:"string"!=typeof e?e.placeHolder:"";const t=Object.assign(Object.assign({},l.webpushBroadcastConfig),{buttons:r});l.webpushBroadcastConfig=t}null==C||C(l)}const J=P.openEditMedia?P:$.openEditMedia?$:null;return J?e(g,Object.assign({style:{flexDirection:"column",width:400,maxHeight:460}},{children:e(m,{mediaComponentFormat:d.IMAGE,uploadMedia:J.uploadMedia,variableListForImage:I||[],useEditWhatsappTemplateMediaResponse:J,setOpenEditMedia:J.setOpenEditMedia,openEditMedia:J.openEditMedia,editIconRef:J.editIconRef,fileRef:N,skipAddVariable:!0})})):t(g,Object.assign({style:{flexDirection:"column",width:400,maxHeight:460,minWidth:"auto"}},{children:[H&&H.length?e(c,{children:e(u,{imageName:H,handleImageChange:P.handleImageChange,mediaType:d.IMAGE,error:P.error,isLoading:P.loading,setOpenEditMedia:P.setOpenEditMedia})}):null,U&&U.length?e(c,{children:e(u,{imageName:U,handleImageChange:$.handleImageChange,mediaType:d.IMAGE,error:$.error,isLoading:$.loading,setOpenEditMedia:$.setOpenEditMedia})}):null,(null==W?void 0:W.length)||(null==k?void 0:k.length)?e(f,{containerStyle:{paddingTop:8},headerText:"Edit variable values",subText:"Edit values for the variables used in template",toolTipInfo:"Variables are placeholder texts which can either be filled through data or custom texts. These can be edited through the dropdowns below"}):null,null==F?void 0:F.map(((t,a)=>e(b,{originalVariableList:x,type:t.type,descriptionComponent:t.component,showVariableModal:j},a))),(null===(y=null===(V=null==x?void 0:x.buttons)||void 0===V?void 0:V.filter((e=>"URL"===e.type)))||void 0===y?void 0:y.length)>0&&e(f,{headerText:"Edit buttons",subText:"Edit the link connected to the CTA button"}),null===(w=null==x?void 0:x.buttons)||void 0===w?void 0:w.map(((t,a)=>e(M,{variableListIndex:a,CTAoptions:null==E?void 0:E.CTAoptions,button:t,currentVariableList:x,updateSelectedURLTemplateBtn:z},`${a}`)))]}))};export{v as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bikdotai/bik-component-library",
3
- "version": "0.0.570-beta-18",
3
+ "version": "0.0.570-beta-19",
4
4
  "description": "Bik Component Library",
5
5
  "repository": {
6
6
  "type": "git",