@bikdotai/bik-component-library 0.0.21 → 0.0.22-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/assets/icons/chevronDown.svg.js +1 -0
- package/dist/cjs/assets/icons/desktop_custom.svg.js +1 -0
- package/dist/cjs/assets/icons/document_pdf.svg.js +1 -0
- package/dist/cjs/assets/icons/edit.svg.js +1 -0
- package/dist/cjs/assets/icons/info.svg.js +1 -0
- package/dist/cjs/assets/icons/mobile_custom.svg.js +1 -0
- package/dist/cjs/assets/icons/refresh.svg.js +1 -0
- package/dist/cjs/assets/icons/video_camcorder.svg.js +1 -0
- package/dist/cjs/components/dropdown/Common.styled.d.ts +1 -0
- package/dist/cjs/components/dropdown/Common.styled.js +11 -3
- package/dist/cjs/components/dropdown/Dropdown.d.ts +2 -2
- package/dist/cjs/components/dropdown/Dropdown.js +1 -0
- package/dist/cjs/components/dropdown/UnChildDropdown/UnChildDropdown.d.ts +1 -4
- package/dist/cjs/components/dropdown/UnChildDropdown/UnChildDropdown.js +1 -1
- package/dist/cjs/components/dropdown/index.d.ts +2 -0
- package/dist/cjs/components/dropdown/opennedDropdown/components/OpennedDropdown.js +1 -1
- package/dist/cjs/components/dropdown/opennedDropdown/components/menu/MenuItem.js +3 -1
- package/dist/cjs/components/dropdown/opennedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.styled.js +3 -2
- package/dist/cjs/components/dropdown/opennedDropdown/components/searchbox/SearchBox.js +1 -1
- package/dist/cjs/components/dropdown/opennedDropdown/utils/iterationOnOptions.d.ts +13 -13
- package/dist/cjs/components/dropdown/type.d.ts +10 -5
- package/dist/cjs/components/fab-menu/FABMenu.d.ts +2 -2
- package/dist/cjs/components/fab-menu/FABMenu.js +1 -1
- package/dist/cjs/components/helpers/FileUploaderHelper.d.ts +12 -0
- package/dist/cjs/components/helpers/FileUploaderHelper.js +1 -0
- package/dist/cjs/components/input/Input.d.ts +2 -1
- package/dist/cjs/components/input/Input.js +1 -1
- package/dist/cjs/components/list-item/ListItem.d.ts +1 -0
- package/dist/cjs/components/list-item/ListItem.js +1 -1
- package/dist/cjs/components/template-context-mapper/Badge/index.d.ts +6 -0
- package/dist/cjs/components/template-context-mapper/Badge/index.js +10 -0
- package/dist/cjs/components/template-context-mapper/TemplateContextMapper.d.ts +21 -0
- package/dist/cjs/components/template-context-mapper/TemplateContextMapper.js +1 -0
- package/dist/cjs/components/template-context-mapper/context/templateModalContext.d.ts +37 -0
- package/dist/cjs/components/template-context-mapper/context/templateModalContext.js +1 -0
- package/dist/cjs/components/template-context-mapper/index.d.ts +1 -0
- package/dist/cjs/components/template-context-mapper/modalElements/Body.d.ts +9 -0
- package/dist/cjs/components/template-context-mapper/modalElements/Body.js +18 -0
- package/dist/cjs/components/template-context-mapper/modalElements/DesktopPreview.d.ts +7 -0
- package/dist/cjs/components/template-context-mapper/modalElements/DesktopPreview.js +20 -0
- package/dist/cjs/components/template-context-mapper/modalElements/EditMediaV2.d.ts +12 -0
- package/dist/cjs/components/template-context-mapper/modalElements/EditMediaV2.js +1 -0
- package/dist/cjs/components/template-context-mapper/modalElements/EditMediaV2.style.d.ts +6 -0
- package/dist/cjs/components/template-context-mapper/modalElements/EditMediaV2.style.js +30 -0
- package/dist/cjs/components/template-context-mapper/modalElements/EditWhatsAppTemplateMediaV2.d.ts +9 -0
- package/dist/cjs/components/template-context-mapper/modalElements/EditWhatsAppTemplateMediaV2.js +1 -0
- package/dist/cjs/components/template-context-mapper/modalElements/EditWhatsAppTemplateV2.d.ts +11 -0
- package/dist/cjs/components/template-context-mapper/modalElements/EditWhatsAppTemplateV2.js +1 -0
- package/dist/cjs/components/template-context-mapper/modalElements/Footer.d.ts +6 -0
- package/dist/cjs/components/template-context-mapper/modalElements/Footer.js +13 -0
- package/dist/cjs/components/template-context-mapper/modalElements/Header.d.ts +6 -0
- package/dist/cjs/components/template-context-mapper/modalElements/Header.js +23 -0
- package/dist/cjs/components/template-context-mapper/modalElements/MobilePreview.d.ts +11 -0
- package/dist/cjs/components/template-context-mapper/modalElements/MobilePreview.js +20 -0
- package/dist/cjs/components/template-context-mapper/modalElements/TemplateSelectModalContent.d.ts +12 -0
- package/dist/cjs/components/template-context-mapper/modalElements/TemplateSelectModalContent.js +1 -0
- package/dist/cjs/components/template-context-mapper/modalElements/VariableConnector.d.ts +15 -0
- package/dist/cjs/components/template-context-mapper/modalElements/VariableConnector.js +7 -0
- package/dist/cjs/components/template-context-mapper/modalElements/VariableConnectorWhatsApp.d.ts +11 -0
- package/dist/cjs/components/template-context-mapper/modalElements/VariableConnectorWhatsApp.js +1 -0
- package/dist/cjs/components/template-context-mapper/modalElements/VariableConnectorsPanel.d.ts +7 -0
- package/dist/cjs/components/template-context-mapper/modalElements/VariableConnectorsPanel.js +6 -0
- package/dist/cjs/components/template-context-mapper/modalElements/VariableEditorHeader.d.ts +9 -0
- package/dist/cjs/components/template-context-mapper/modalElements/VariableEditorHeader.js +3 -0
- package/dist/cjs/components/template-context-mapper/modalElements/WhatsAppTemplateCardButtonV2.d.ts +16 -0
- package/dist/cjs/components/template-context-mapper/modalElements/WhatsAppTemplateCardButtonV2.js +1 -0
- package/dist/cjs/components/template-context-mapper/utils/convertPlaceholdersToBikDropdown.d.ts +6 -0
- package/dist/cjs/components/template-context-mapper/utils/convertPlaceholdersToBikDropdown.js +1 -0
- package/dist/cjs/components/template-context-mapper/utils/getDataFromTemplateComponent.d.ts +21 -0
- package/dist/cjs/components/template-context-mapper/utils/getDataFromTemplateComponent.js +1 -0
- package/dist/cjs/components/template-context-mapper/utils/getVariableNameEmail.d.ts +2 -0
- package/dist/cjs/components/template-context-mapper/utils/getVariableNameEmail.js +1 -0
- package/dist/cjs/components/template-context-mapper/utils/highlightFor.d.ts +1 -0
- package/dist/cjs/components/template-context-mapper/utils/highlightFor.js +1 -0
- package/dist/cjs/components/template-context-mapper/utils/toCapitilize.d.ts +1 -0
- package/dist/cjs/components/template-context-mapper/utils/toCapitilize.js +1 -0
- package/dist/cjs/components/template-context-mapper/utils/validateIsUrl.d.ts +1 -0
- package/dist/cjs/components/template-context-mapper/utils/validateIsUrl.js +1 -0
- package/dist/cjs/components/template-preview/EmailTemplateHTMLPreview.d.ts +5 -0
- package/dist/cjs/components/template-preview/EmailTemplateThumbnailPreview.js +1 -1
- package/dist/cjs/components/template-preview/TemplatePreview.d.ts +4 -3
- package/dist/cjs/components/template-preview/TemplatePreview.js +1 -1
- package/dist/cjs/components/template-preview/constants/TemplateConstants.d.ts +9 -0
- package/dist/cjs/components/template-preview/constants/regexPatterns.d.ts +1 -1
- package/dist/cjs/components/template-preview/constants/regexPatterns.js +1 -1
- 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/TemplateMeta.d.ts +35 -0
- package/dist/cjs/components/template-preview/models/TemplateMeta.js +1 -1
- package/dist/cjs/components/template-preview/models/WhatsAppTemplate.d.ts +45 -2
- package/dist/cjs/components/template-preview/models/WhatsAppTemplate.js +1 -0
- package/dist/cjs/index.d.ts +3 -0
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/utils/StringUtils.d.ts +1 -0
- package/dist/cjs/utils/StringUtils.js +1 -1
- package/dist/cjs/utils/bytesToMB.d.ts +1 -0
- package/dist/cjs/utils/bytesToMB.js +1 -0
- package/dist/esm/assets/icons/chevronDown.svg.js +1 -0
- package/dist/esm/assets/icons/desktop_custom.svg.js +1 -0
- package/dist/esm/assets/icons/document_pdf.svg.js +1 -0
- package/dist/esm/assets/icons/edit.svg.js +1 -0
- package/dist/esm/assets/icons/info.svg.js +1 -0
- package/dist/esm/assets/icons/mobile_custom.svg.js +1 -0
- package/dist/esm/assets/icons/refresh.svg.js +1 -0
- package/dist/esm/assets/icons/video_camcorder.svg.js +1 -0
- package/dist/esm/components/dropdown/Common.styled.d.ts +1 -0
- package/dist/esm/components/dropdown/Common.styled.js +10 -2
- package/dist/esm/components/dropdown/Dropdown.d.ts +2 -2
- package/dist/esm/components/dropdown/Dropdown.js +1 -0
- package/dist/esm/components/dropdown/UnChildDropdown/UnChildDropdown.d.ts +1 -4
- package/dist/esm/components/dropdown/UnChildDropdown/UnChildDropdown.js +1 -1
- package/dist/esm/components/dropdown/index.d.ts +2 -0
- package/dist/esm/components/dropdown/opennedDropdown/components/OpennedDropdown.js +1 -1
- package/dist/esm/components/dropdown/opennedDropdown/components/menu/MenuItem.js +3 -1
- package/dist/esm/components/dropdown/opennedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.styled.js +3 -2
- package/dist/esm/components/dropdown/opennedDropdown/components/searchbox/SearchBox.js +1 -1
- package/dist/esm/components/dropdown/opennedDropdown/utils/iterationOnOptions.d.ts +13 -13
- package/dist/esm/components/dropdown/type.d.ts +10 -5
- package/dist/esm/components/fab-menu/FABMenu.d.ts +2 -2
- package/dist/esm/components/fab-menu/FABMenu.js +1 -1
- package/dist/esm/components/helpers/FileUploaderHelper.d.ts +12 -0
- package/dist/esm/components/helpers/FileUploaderHelper.js +1 -0
- package/dist/esm/components/input/Input.d.ts +2 -1
- package/dist/esm/components/input/Input.js +1 -1
- package/dist/esm/components/list-item/ListItem.d.ts +1 -0
- package/dist/esm/components/list-item/ListItem.js +1 -1
- package/dist/esm/components/template-context-mapper/Badge/index.d.ts +6 -0
- package/dist/esm/components/template-context-mapper/Badge/index.js +10 -0
- package/dist/esm/components/template-context-mapper/TemplateContextMapper.d.ts +21 -0
- package/dist/esm/components/template-context-mapper/TemplateContextMapper.js +1 -0
- package/dist/esm/components/template-context-mapper/context/templateModalContext.d.ts +37 -0
- package/dist/esm/components/template-context-mapper/context/templateModalContext.js +1 -0
- package/dist/esm/components/template-context-mapper/index.d.ts +1 -0
- package/dist/esm/components/template-context-mapper/modalElements/Body.d.ts +9 -0
- package/dist/esm/components/template-context-mapper/modalElements/Body.js +18 -0
- package/dist/esm/components/template-context-mapper/modalElements/DesktopPreview.d.ts +7 -0
- package/dist/esm/components/template-context-mapper/modalElements/DesktopPreview.js +20 -0
- package/dist/esm/components/template-context-mapper/modalElements/EditMediaV2.d.ts +12 -0
- package/dist/esm/components/template-context-mapper/modalElements/EditMediaV2.js +1 -0
- package/dist/esm/components/template-context-mapper/modalElements/EditMediaV2.style.d.ts +6 -0
- package/dist/esm/components/template-context-mapper/modalElements/EditMediaV2.style.js +30 -0
- package/dist/esm/components/template-context-mapper/modalElements/EditWhatsAppTemplateMediaV2.d.ts +9 -0
- package/dist/esm/components/template-context-mapper/modalElements/EditWhatsAppTemplateMediaV2.js +1 -0
- package/dist/esm/components/template-context-mapper/modalElements/EditWhatsAppTemplateV2.d.ts +11 -0
- package/dist/esm/components/template-context-mapper/modalElements/EditWhatsAppTemplateV2.js +1 -0
- package/dist/esm/components/template-context-mapper/modalElements/Footer.d.ts +6 -0
- package/dist/esm/components/template-context-mapper/modalElements/Footer.js +13 -0
- package/dist/esm/components/template-context-mapper/modalElements/Header.d.ts +6 -0
- package/dist/esm/components/template-context-mapper/modalElements/Header.js +23 -0
- package/dist/esm/components/template-context-mapper/modalElements/MobilePreview.d.ts +11 -0
- package/dist/esm/components/template-context-mapper/modalElements/MobilePreview.js +20 -0
- package/dist/esm/components/template-context-mapper/modalElements/TemplateSelectModalContent.d.ts +12 -0
- package/dist/esm/components/template-context-mapper/modalElements/TemplateSelectModalContent.js +1 -0
- package/dist/esm/components/template-context-mapper/modalElements/VariableConnector.d.ts +15 -0
- package/dist/esm/components/template-context-mapper/modalElements/VariableConnector.js +7 -0
- package/dist/esm/components/template-context-mapper/modalElements/VariableConnectorWhatsApp.d.ts +11 -0
- package/dist/esm/components/template-context-mapper/modalElements/VariableConnectorWhatsApp.js +1 -0
- package/dist/esm/components/template-context-mapper/modalElements/VariableConnectorsPanel.d.ts +7 -0
- package/dist/esm/components/template-context-mapper/modalElements/VariableConnectorsPanel.js +6 -0
- package/dist/esm/components/template-context-mapper/modalElements/VariableEditorHeader.d.ts +9 -0
- package/dist/esm/components/template-context-mapper/modalElements/VariableEditorHeader.js +3 -0
- package/dist/esm/components/template-context-mapper/modalElements/WhatsAppTemplateCardButtonV2.d.ts +16 -0
- package/dist/esm/components/template-context-mapper/modalElements/WhatsAppTemplateCardButtonV2.js +1 -0
- package/dist/esm/components/template-context-mapper/utils/convertPlaceholdersToBikDropdown.d.ts +6 -0
- package/dist/esm/components/template-context-mapper/utils/convertPlaceholdersToBikDropdown.js +1 -0
- package/dist/esm/components/template-context-mapper/utils/getDataFromTemplateComponent.d.ts +21 -0
- package/dist/esm/components/template-context-mapper/utils/getDataFromTemplateComponent.js +1 -0
- package/dist/esm/components/template-context-mapper/utils/getVariableNameEmail.d.ts +2 -0
- package/dist/esm/components/template-context-mapper/utils/getVariableNameEmail.js +1 -0
- package/dist/esm/components/template-context-mapper/utils/highlightFor.d.ts +1 -0
- package/dist/esm/components/template-context-mapper/utils/highlightFor.js +1 -0
- package/dist/esm/components/template-context-mapper/utils/toCapitilize.d.ts +1 -0
- package/dist/esm/components/template-context-mapper/utils/toCapitilize.js +1 -0
- package/dist/esm/components/template-context-mapper/utils/validateIsUrl.d.ts +1 -0
- package/dist/esm/components/template-context-mapper/utils/validateIsUrl.js +1 -0
- package/dist/esm/components/template-preview/EmailTemplateHTMLPreview.d.ts +5 -0
- package/dist/esm/components/template-preview/EmailTemplateThumbnailPreview.js +1 -1
- package/dist/esm/components/template-preview/TemplatePreview.d.ts +4 -3
- package/dist/esm/components/template-preview/TemplatePreview.js +1 -1
- package/dist/esm/components/template-preview/constants/TemplateConstants.d.ts +9 -0
- package/dist/esm/components/template-preview/constants/regexPatterns.d.ts +1 -1
- package/dist/esm/components/template-preview/constants/regexPatterns.js +1 -1
- 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/TemplateMeta.d.ts +35 -0
- package/dist/esm/components/template-preview/models/TemplateMeta.js +1 -1
- package/dist/esm/components/template-preview/models/WhatsAppTemplate.d.ts +45 -2
- package/dist/esm/components/template-preview/models/WhatsAppTemplate.js +1 -0
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/utils/StringUtils.d.ts +1 -0
- package/dist/esm/utils/StringUtils.js +1 -1
- package/dist/esm/utils/bytesToMB.d.ts +1 -0
- package/dist/esm/utils/bytesToMB.js +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { EmailTemplateType } from "../../template-preview/models/EmailTemplate";
|
|
3
|
+
import { SMSTemplateType } from "../../template-preview/models/SmsTemplate";
|
|
4
|
+
import { WhatsAppPickerMeta, WhatsAppTemplate } from "../../template-preview/models/WhatsAppTemplate";
|
|
5
|
+
export interface EditWhatsAppTemplateV2Props {
|
|
6
|
+
whatsappSpecificPickerMeta?: WhatsAppPickerMeta;
|
|
7
|
+
template: WhatsAppTemplate;
|
|
8
|
+
onTemplateChange?: (template: WhatsAppTemplate | EmailTemplateType | SMSTemplateType) => void;
|
|
9
|
+
}
|
|
10
|
+
declare const EditWhatsAppTemplateV2: ({ template, onTemplateChange, whatsappSpecificPickerMeta, }: EditWhatsAppTemplateV2Props) => JSX.Element;
|
|
11
|
+
export default EditWhatsAppTemplateV2;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("../context/templateModalContext.js"),n=require("../utils/getDataFromTemplateComponent.js"),o=require("./EditMediaV2.style.js"),i=require("./EditWhatsAppTemplateMediaV2.js"),l=require("./VariableConnectorsPanel.js"),s=require("./VariableConnectorWhatsApp.js"),a=require("./VariableEditorHeader.js"),d=require("./WhatsAppTemplateCardButtonV2.js");exports.default=r=>{let{template:p,onTemplateChange:u,whatsappSpecificPickerMeta:c}=r;var m,v,b,g,h,f,j,x,T,O,y,C;const{originalVariableList:E}=t.useTemplateModalContext(),{descriptionComponents:V,urlBtns:w,qrbBtns:B,imageComponent:I,bodyVariables:q,headerVariables:R}=n.getAllDataFromTemplateComponent(p);function A(e,t){var n,o,i,l;const s=Object.assign({},p),a=null==s?void 0:s.components.findIndex((e=>"BUTTONS"===e.type));if(void 0!==a&&a>-1){const d=null===(n=null==s?void 0:s.components[a].buttons)||void 0===n?void 0:n.findIndex((e=>"URL"===e.type));if(void 0!==d&&d>-1){const n="custom"===t&&"string"==typeof e,r=[...null!==(l=null===(i=null===(o=s.components)||void 0===o?void 0:o[a])||void 0===i?void 0:i.buttons)&&void 0!==l?l:[]];r[d]=Object.assign(Object.assign({},r[d]),{url:"https://d.bik.ai/{{1}}",example:[n?e:"string"!=typeof e?e.defaultValue:""]});const p=Object.assign(Object.assign({},s.components[a]),{buttons:r}),u=Object.assign(Object.assign({},s.mapping),{buttons:n?["((customBtnPlaceholder))"]:"string"!=typeof e?[e.placeHolder]:void 0});s.mapping=u;const c=[...s.components];c[a]=p,s.components=c}}null==u||u(s)}function L(e,t,n){var o;const i=Object.assign({},p),l=null==i?void 0:i.components.findIndex((e=>"BUTTONS"===e.type));if(void 0!==l&&l>-1){const t=null===(o=null==i?void 0:i.components[l].buttons)||void 0===o?void 0:o.filter((e=>"QUICK_REPLY"===e.type));t&&(t[n]=Object.assign(Object.assign({},t[n]),{flowId:e.flowId,flowName:e.flowName}));const s=Object.assign(Object.assign({},i.components[l]),{buttons:t}),a=[...i.components];a[l]=s,i.components=a}null==u||u(i)}return e.jsxs(l.Container,Object.assign({style:{flexDirection:"column",maxHeight:460}},{children:[!!I&&e.jsx(o.EditTemplateMediaContainer,{children:e.jsx(i.default,{whatsappSpecificPickerMeta:c,mediaComponent:I,updateTemplateImageUrl:function(e,t){var n;let o=Object.assign({},p);const i=null===(n=null==o?void 0:o.components)||void 0===n?void 0:n.findIndex((e=>{if("HEADER"===e.type&&"NONE"!==e.format&&"TEXT"!==e.format)return!0}));if(void 0!==i&&i>-1&&(null==o?void 0:o.components[i])){const n=Object.assign(Object.assign({},o.components[i]),{format:t,example:{header_handle:[e]}}),l=[...o.components];l[i]=n,o=Object.assign(Object.assign({},o),{components:l})}null==u||u(o)},template:p})}),(q.length>0||R.length>0)&&e.jsx(a.default,{containerStyle:{paddingTop:I?24: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==V?void 0:V.map(((t,n)=>e.jsx(s.default,{originalVariableList:E,type:t.type,descriptionComponent:t.component,variableMapping:"HEADER"===t.type?p.mapping.header:p.mapping.body},n))),(null===(v=null===(m=w[0])||void 0===m?void 0:m.component)||void 0===v?void 0:v.buttons)&&(null===(h=null===(g=null===(b=w[0])||void 0===b?void 0:b.component)||void 0===g?void 0:g.buttons)||void 0===h?void 0:h.length)>0&&e.jsx(a.default,{headerText:"Edit buttons",subText:"Edit the link connected to the CTA button"}),null===(f=null==E?void 0:E.buttons)||void 0===f?void 0:f.map(((t,n)=>{if("URL"===t.type)return e.jsx(d.default,{CTAoptions:null==c?void 0:c.CTAoptions,button:t,originalVariableList:E,updateSelectedURLTemplateBtn:A},`${n}`)})),(null===(x=null===(j=B[0])||void 0===j?void 0:j.component)||void 0===x?void 0:x.buttons)&&(null===(y=null===(O=null===(T=B[0])||void 0===T?void 0:T.component)||void 0===O?void 0:O.buttons)||void 0===y?void 0:y.length)>0&&e.jsx(a.default,{headerText:"Edit buttons",subText:"Edit the chatflows triggered on clicking the buttons",toolTipInfo:"There is an option to trigger chatflows through the buttons which can keep the user engaged"}),null===(C=null==E?void 0:E.buttons)||void 0===C?void 0:C.map(((t,n)=>{if("QUICK_REPLY"===t.type)return e.jsx(d.default,{QRBoptions:null==c?void 0:c.QRBoptions,button:t,originalVariableList:E,updateSelectedQRBTemplateBtn:L},`${n}`)}))]}))};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("styled-components"),r=require("../../button/Button.js"),o=require("../../../constants/Theme.js"),s=require("../Badge/index.js"),n=require("../context/templateModalContext.js");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}const d=a(t).default.div`
|
|
2
|
+
background: ${o.COLORS.surface.standard};
|
|
3
|
+
border-top-width: 1px;
|
|
4
|
+
border-top-color: ${o.COLORS.stroke.primary};
|
|
5
|
+
box-shadow: 0px -4px 12px rgba(0, 0, 0, 0.12);
|
|
6
|
+
width: 100%;
|
|
7
|
+
padding: 16px 24px;
|
|
8
|
+
display: flex;
|
|
9
|
+
justify-content: end;
|
|
10
|
+
gap: 12;
|
|
11
|
+
border-bottom-left-radius: 4px;
|
|
12
|
+
border-bottom-right-radius: 4px;
|
|
13
|
+
`;exports.default=t=>{let{onSelect:o}=t;const{isError:a}=n.useTemplateModalContext();return e.jsxs(d,{children:[a&&e.jsx(s.Badge,{errorText:"Some inputs are missing or incorrect. Please check"}),e.jsx(r.Button,{id:"select-template-btn",buttonText:"Select template",size:"large",onClick:o})]})};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("../../../assets/icons/desktop_custom.svg.js"),o=require("../../../assets/icons/mobile_custom.svg.js"),n=require("styled-components"),r=require("../../TypographyStyle.js"),s=require("../../../constants/Theme.js"),i=require("../context/templateModalContext.js");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=d(n);const l=a.default.div`
|
|
2
|
+
padding-top: 12px;
|
|
3
|
+
padding-bottom: 12px;
|
|
4
|
+
padding-left: 30px;
|
|
5
|
+
padding-right: 30px;
|
|
6
|
+
background-color: ${s.COLORS.surface.subdued};
|
|
7
|
+
align-items: center;
|
|
8
|
+
display: flex;
|
|
9
|
+
filter: ${e=>e.showOnlyContent?"none":"drop-shadow(rgba(0, 0, 0, 0.12) 0px 12px 12px)"};
|
|
10
|
+
`,c=a.default.div`
|
|
11
|
+
display: flex;
|
|
12
|
+
border: 1px solid ${s.COLORS.stroke.primary};
|
|
13
|
+
border-radius: 4px;
|
|
14
|
+
overflow: hidden;
|
|
15
|
+
width: min-content;
|
|
16
|
+
`,p=a.default.div`
|
|
17
|
+
background: ${e=>e.active?s.COLORS.background.brandLight:s.COLORS.background.base};
|
|
18
|
+
padding: 6px 8px;
|
|
19
|
+
justify-content: center;
|
|
20
|
+
align-items: center;
|
|
21
|
+
`,u=a.default(p)`
|
|
22
|
+
border-left: 1px solid ${s.COLORS.stroke.primary};
|
|
23
|
+
`;exports.default=n=>{let{showOnlyContent:d}=n;const{device:a,setDevice:O}=i.useTemplateModalContext();return e.jsxs(l,Object.assign({showOnlyContent:d},{children:[e.jsxs(c,{children:[e.jsx(p,Object.assign({active:"mobile"===a,onClick:()=>null==O?void 0:O("mobile")},{children:e.jsx(o.default,{color:"mobile"===a?s.COLORS.content.brand:s.COLORS.content.secondary,height:20,width:20})})),e.jsx(u,Object.assign({active:"desktop"===a,onClick:()=>null==O?void 0:O("desktop")},{children:e.jsx(t.default,{color:"desktop"===a?s.COLORS.content.brand:s.COLORS.content.secondary,height:20,width:20})}))]}),e.jsxs(r.BodyPrimary,Object.assign({style:{color:s.COLORS.content.primary,marginLeft:16}},{children:["mobile"===a?"Mobile":"Web"," view"]}))]}))};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { CHANNEL_TYPE } from "../../template-preview/models/Channels";
|
|
3
|
+
import { EmailTemplateType } from "../../template-preview/models/EmailTemplate";
|
|
4
|
+
import { SMSTemplateType } from "../../template-preview/models/SmsTemplate";
|
|
5
|
+
import { WhatsAppTemplate } from "../../template-preview/models/WhatsAppTemplate";
|
|
6
|
+
declare const MobilePreview: React.ForwardRefExoticComponent<{
|
|
7
|
+
display_content: string;
|
|
8
|
+
channel: CHANNEL_TYPE;
|
|
9
|
+
template: WhatsAppTemplate | EmailTemplateType | SMSTemplateType | null;
|
|
10
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
11
|
+
export default MobilePreview;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),i=require("styled-components"),a=require("../../template-preview/TemplatePreview.js");require("../../template-preview/WhatsApp/WhatsAppLikePreview.js"),require("../../../constants/Theme.js");var r=require("../../template-preview/models/Channels.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=o(t),l=o(i);const n=l.default.div`
|
|
2
|
+
position: relative;
|
|
3
|
+
height: 100%;
|
|
4
|
+
border-radius: 31px;
|
|
5
|
+
width: ${e=>e.channel===r.CHANNEL_TYPE.WHATSAPP?"236px":"213px"};
|
|
6
|
+
background-color: white;
|
|
7
|
+
margin: auto;
|
|
8
|
+
overflow-y: auto;
|
|
9
|
+
`,p=l.default.div`
|
|
10
|
+
position: absolute;
|
|
11
|
+
flex: 1;
|
|
12
|
+
background-color: white;
|
|
13
|
+
scroll-behavior: smooth;
|
|
14
|
+
left: 12px;
|
|
15
|
+
top: 8px;
|
|
16
|
+
width: calc(100% - 25px);
|
|
17
|
+
height: calc(100% - 17px);
|
|
18
|
+
border-radius: 16px;
|
|
19
|
+
overflow-y: auto;
|
|
20
|
+
`,c=s.default.forwardRef(((t,i)=>{let{display_content:o,channel:s,template:l}=t;return e.jsx("div",{children:e.jsxs(n,Object.assign({channel:s},{children:[e.jsx("img",{alt:"",src:"https://firebasestorage.googleapis.com/v0/b/staging-bikayi.appspot.com/o/bik%2FkNwEVoGlLpVjOsXoO1M8WgvWicP2%2F6f07b850-8b4b-4d58-96cc-8ba6df7b4e4a-Device___Frame.jpg?alt=media&token=253f1bfe-8481-4f54-bdef-3c0a73697d6a",style:{width:s===r.CHANNEL_TYPE.WHATSAPP?236:213,height:443}}),e.jsx(p,Object.assign({ref:i},{children:e.jsx(a.TemplatePreview,{template:l,channel:s,smsSpecificMeta:{smsDisplayContent:o},whatsAppSpecificMeta:{showWhatsAppHeader:!0,whatsAppExtras:!0,containerStyle:{border:"none",borderBottomRightRadius:0,borderBottomLeftRadius:0,minHeight:426}},size:"small",hideHeader:!0,emailSpecificMeta:{emailDisplayContent:o,hideViewButtonForEmail:!0,emailHtmlContainerId:"template_html_mobile",containerStyle:{height:"100%"},templateContainerStyles:{height:"100%"}}})}))]}))})}));c.displayName="MobilePreview",exports.default=c;
|
package/dist/cjs/components/template-context-mapper/modalElements/TemplateSelectModalContent.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { CHANNEL_TYPE } from "../../template-preview/models/Channels";
|
|
3
|
+
import { WhatsAppPickerMeta } from "../../template-preview/models/WhatsAppTemplate";
|
|
4
|
+
export interface TemplateSelectModalContentProps {
|
|
5
|
+
channel: CHANNEL_TYPE;
|
|
6
|
+
showVariableMapping?: boolean;
|
|
7
|
+
hideHeader?: boolean;
|
|
8
|
+
showOnlyContent?: boolean;
|
|
9
|
+
whatsappSpecificPickerMeta?: WhatsAppPickerMeta;
|
|
10
|
+
}
|
|
11
|
+
declare const TemplateSelectModalContent: ({ channel, showVariableMapping, showOnlyContent, whatsappSpecificPickerMeta, }: TemplateSelectModalContentProps) => JSX.Element;
|
|
12
|
+
export default TemplateSelectModalContent;
|
package/dist/cjs/components/template-context-mapper/modalElements/TemplateSelectModalContent.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("../../template-preview/models/Channels.js"),r=require("./Body.js"),s=require("./Header.js");exports.default=a=>{let{channel:i,showVariableMapping:n,showOnlyContent:l,whatsappSpecificPickerMeta:o}=a;return e.jsx("div",Object.assign({style:{paddingBottom:0}},{children:e.jsxs("div",{children:[i===t.CHANNEL_TYPE.EMAIL&&e.jsx(s.default,{showOnlyContent:l}),e.jsx(r.default,{whatsappSpecificPickerMeta:o,showVariableMapping:!!n,showOnlyContent:l})]})}))};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { CHANNEL_TYPE } from "../../template-preview/models/Channels";
|
|
3
|
+
import { CUSTOM_VARIABLE } from "../../template-preview/models/TemplateMeta";
|
|
4
|
+
export declare const Container: import("styled-components").StyledComponent<"div", any, {
|
|
5
|
+
focused?: boolean | undefined;
|
|
6
|
+
channel?: CHANNEL_TYPE | undefined;
|
|
7
|
+
}, never>;
|
|
8
|
+
/** COMPONENT BELOW */
|
|
9
|
+
export interface VariableConnectorProps {
|
|
10
|
+
onFocus?: () => void;
|
|
11
|
+
variable: CUSTOM_VARIABLE;
|
|
12
|
+
index: number;
|
|
13
|
+
}
|
|
14
|
+
declare const VariableConnector: ({ onFocus, variable, index, }: VariableConnectorProps) => JSX.Element;
|
|
15
|
+
export default VariableConnector;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),l=require("styled-components"),n=require("../../dropdown/Dropdown.js"),a=require("../../input/Input.js"),o=require("../../template-preview/constants/regexPatterns.js"),i=require("../../template-preview/models/Channels.js"),u=require("../../TypographyStyle.js"),s=require("../../../constants/Theme.js"),d=require("../context/templateModalContext.js"),r=require("../utils/getVariableNameEmail.js"),c=require("../utils/toCapitilize.js"),v=require("../utils/validateIsUrl.js");function p(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}const m=p(l).default.div`
|
|
2
|
+
/* surface/$color-background-warning-light */
|
|
3
|
+
|
|
4
|
+
background: ${e=>e.focused&&e.channel!==i.CHANNEL_TYPE.WHATSAPP?s.COLORS.background.warning.light:"transparent"};
|
|
5
|
+
border-radius: 4px;
|
|
6
|
+
padding: 8px 10px;
|
|
7
|
+
`,b={value:"custom_link",label:"Custom URL"},E={value:"custom_text",label:"Custom text"};exports.Container=m,exports.default=l=>{let{onFocus:p,variable:g,index:_}=l;var x;const[A,P]=t.useState(!1),[j,N]=t.useState(""),[T,C]=t.useState([]),[h,L]=t.useState(),{device:y,channel:O,isError:f,originalVariableList:H,template:k,setTemplate:S,setDisplayContent:Y,setOriginalVariableList:M,globalNormalizedPlaceholders:q}=d.useTemplateModalContext();function V(e,t){var l,n;const a="custom_link"===t?"link":"custom_text"===t?"string":t;if(O!==i.CHANNEL_TYPE.WHATSAPP){const n=r.getVariableNameForEmailByIndex(_+1),o=null===document||void 0===document?void 0:document.getElementById("mobile"===y?"template_html_mobile":"template_html_desktop"),u=O===i.CHANNEL_TYPE.EMAIL?null===(l=null==o?void 0:o.contentWindow)||void 0===l?void 0:l.document.getElementById(n):document.getElementById(n);u&&("custom_text"===t&&!e||"custom_link"===t&&O===i.CHANNEL_TYPE.EMAIL||"custom_link"===t&&O===i.CHANNEL_TYPE.MESSAGE&&!e?u.textContent=g.variableName:u.textContent=e);const s=H.map(((t,l)=>l===_?Object.assign(Object.assign({},t),{type:a,updatedValue:e}):t));null==M||M(s)}if(O===i.CHANNEL_TYPE.WHATSAPP){const t=null===(n=H.body)||void 0===n?void 0:n.map(((t,l)=>l===_?Object.assign(Object.assign({},t),{type:a,updatedValue:e}):t));null==M||M((e=>Object.assign(Object.assign({},e),{body:t,buttons:H.buttons})))}}function W(e,t){var l;const n=Object.assign({},k),a=null===(l=null==n?void 0:n.components)||void 0===l?void 0:l.map((l=>{var n,a,o,i,u;const s=Object.assign({},l);if("BODY"===l.type&&(null===(a=null===(n=l.example)||void 0===n?void 0:n.body_text)||void 0===a?void 0:a[0])){const l=[...null!==(u=null===(i=null===(o=s.example)||void 0===o?void 0:o.body_text)||void 0===i?void 0:i[0])&&void 0!==u?u:[]];l[e]=t.replace("{{","").replace("}}","").replace("((","").replace("))","");const n=Object.assign(Object.assign({},s.example),{body_text:[l]});return Object.assign(Object.assign({},s),{example:n})}return l}));n.components=a,null==S||S(n)}return t.useEffect((()=>{A&&(null==p||p())}),[A]),t.useEffect((()=>{var e;const t=[];let l=[];if(O===i.CHANNEL_TYPE.MESSAGE){const e=null!=q?q:[];C([{label:"",options:[E,b]},...e]),l=[{label:"",options:[E,b]},...e]}else{"link"===(null==g?void 0:g.type)?(t.push({label:"",options:[b,E]}),L(b)):(t.push({label:"",options:[b,E]}),L(E));const e=null!=q?q:[];C([...t,...e.map((e=>{var t,l;return Object.assign(Object.assign({},e),{label:c.toCapitilize(null===(l=null===(t=e.label)||void 0===t?void 0:t.replace(/([A-Z])/g," $1"))||void 0===l?void 0:l.toLowerCase())})}))]),l=[...t,...e]}if((O===i.CHANNEL_TYPE.WHATSAPP||O===i.CHANNEL_TYPE.EMAIL||O===i.CHANNEL_TYPE.MESSAGE)&&g.updatedValue)if(o.placeHolderNamePattern.test(g.updatedValue)&&O===i.CHANNEL_TYPE.WHATSAPP||g.updatedValue.startsWith("{{")&&O!==i.CHANNEL_TYPE.WHATSAPP){let e={label:"",value:""};const t=O===i.CHANNEL_TYPE.WHATSAPP?g.updatedValue.replace("[[","").replace("]]",""):g.updatedValue.replace("{{","").replace("}}","");l.map((l=>{l.options.map((l=>{var n;(null===(n=l.value)||void 0===n?void 0:n.replace("{{","").replace("}}",""))===t&&(e=l)}))})),e.value&&L(e)}else(null===(e=g.updatedValue)||void 0===e?void 0:e.startsWith("https"))?(L(b),N(g.updatedValue.split("https://")[1])):(L(E),N(g.updatedValue))}),[]),e.jsxs(m,Object.assign({channel:O,focused:A,onMouseEnter:()=>P(!0),onMouseLeave:()=>P(!1)},{children:[e.jsx("div",Object.assign({style:{marginBottom:8}},{children:e.jsxs(u.BodySecondary,Object.assign({style:{color:f&&!h?s.COLORS.content.negative:s.COLORS.content.primary}},{children:[null===(x=g.variableName)||void 0===x?void 0:x.replace("{{","").replace("}}","")," ","link"===(null==g?void 0:g.type)?"link":"variable"]}))})),e.jsx("div",Object.assign({style:{marginBottom:12}},{children:e.jsx(n.Dropdown,{options:T,isSearchable:!1,onSelect:function(e,t){var l,n,a;const o=e;N(""),L(o),O===i.CHANNEL_TYPE.WHATSAPP?"custom_text"!==o.value&&"custom_link"!==o.value?(V(null!==(l=o.value)&&void 0!==l?l:"","string"),null==W||W(null!==(n=g.index)&&void 0!==n?n:0,`[[${o.value}]]`)):(null==W||W(null!==(a=g.index)&&void 0!==a?a:0,g.variableName),V("","url"===o.bikPlaceholderType?"link":"string")):"custom_text"!==o.value&&"custom_link"!==o.value?V(o.value,"url"===o.bikPlaceholderType?"link":"string"):(N(""),V("",o.value))},defaultOptions:h?[Object.assign(Object.assign({},h),{selected:!0})]:[]})})),("custom_text"===(null==h?void 0:h.value)||"custom_link"===(null==h?void 0:h.value))&&e.jsx(a.Input,{labelText:"custom_text"===(null==h?void 0:h.value)?"Custom text value":"custom_link"===(null==h?void 0:h.value)?"Custom URL value":"",id:`variable-value-${null==h?void 0:h.value}-${_}`,value:j,errorMessage:f?j?"custom_link"!==h.value||v.validateIsUrl(j)?"":"Enter valid URL":"Required field":"",maxCharLimit:"custom_link"===(null==h?void 0:h.value)?void 0:30,prefixText:"custom_link"===(null==h?void 0:h.value)?"https://":"",placeholder:"link"===g.type||"custom_link"===h.value?"Enter custom URL here":"Enter custom text here",onBlur:e=>function(e){var t,l,n,a,o;const u="mobile"===y?"template_html_mobile":"template_html_desktop",s=document.getElementById(u),d=(null!==(a=null===(n=null===(l=null===(t=null==s?void 0:s.contentWindow)||void 0===t?void 0:t.document)||void 0===l?void 0:l.body)||void 0===n?void 0:n.innerHTML)&&void 0!==a?a:"")+(null===(o=null==s?void 0:s.contentWindow)||void 0===o?void 0:o.document.head.innerHTML);O===i.CHANNEL_TYPE.EMAIL&&(null==Y||Y(d))}(e.target.value),onChangeText:e=>function(e,t){var l;N(t);const n="custom_link"===(null==h?void 0:h.value)?`https://${t}`:t;V(n,e),O===i.CHANNEL_TYPE.WHATSAPP&&(null==W||W(null!==(l=g.index)&&void 0!==l?l:0,n))}(h.value,e)})]}))};
|
package/dist/cjs/components/template-context-mapper/modalElements/VariableConnectorWhatsApp.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { WhatsAppTemplate, WhatsAppTemplateVariables } from "../../template-preview/models/WhatsAppTemplate";
|
|
3
|
+
export type ComponentType = WhatsAppTemplate['components'][0];
|
|
4
|
+
export interface VariableConnectorWhatsAppProps {
|
|
5
|
+
originalVariableList: WhatsAppTemplateVariables;
|
|
6
|
+
descriptionComponent: ComponentType;
|
|
7
|
+
variableMapping: string[] | undefined;
|
|
8
|
+
type: ComponentType['type'];
|
|
9
|
+
}
|
|
10
|
+
declare const VariableConnectorWhatsApp: ({ descriptionComponent, type, }: VariableConnectorWhatsAppProps) => JSX.Element;
|
|
11
|
+
export default VariableConnectorWhatsApp;
|
package/dist/cjs/components/template-context-mapper/modalElements/VariableConnectorWhatsApp.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("../../input/Input.js"),r=require("../../TypographyStyle.js"),a=require("../../../constants/Theme.js"),i=require("../context/templateModalContext.js"),n=require("./VariableConnector.js");exports.default=s=>{let{descriptionComponent:l,type:o}=s;var d;const{originalVariableList:p}=i.useTemplateModalContext();return"BODY"===l.type?e.jsx("div",{children:null===(d=null==p?void 0:p.body)||void 0===d?void 0:d.map(((i,s)=>i.isEditableVariable?e.jsx(n.default,{index:s,variable:i},`${s}-${i.index}`):e.jsxs("div",Object.assign({style:{margin:"16px 8px"}},{children:[e.jsxs(r.BodySecondary,Object.assign({style:{color:a.COLORS.content.primary}},{children:["HEADER"===o?"Header":""," Locked variable ",s+1]})),e.jsx(t.Input,{state:"disabled",placeholder:i.variableName,onChangeText:()=>{}})]}),s)))}):e.jsx(e.Fragment,{})};
|
package/dist/cjs/components/template-context-mapper/modalElements/VariableConnectorsPanel.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare const Container: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
3
|
+
export interface VariableConnectorsProps {
|
|
4
|
+
onFocus?: (variableIndex: number) => void;
|
|
5
|
+
}
|
|
6
|
+
declare const VariableConnectors: ({ onFocus }: VariableConnectorsProps) => JSX.Element;
|
|
7
|
+
export default VariableConnectors;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("../../../assets/icons/info.svg.js"),i=require("styled-components"),s=require("../../template-preview/models/Channels.js"),r=require("../../tooltips/Tooltip.js");require("../../tooltips/CustomisedTooltip.js");var l=require("../../TypographyStyle.js"),n=require("../../../constants/Theme.js"),o=require("../context/templateModalContext.js"),a=require("./VariableConnector.js");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}const d=c(i).default.div`
|
|
2
|
+
overflow-y: auto;
|
|
3
|
+
display: flex;
|
|
4
|
+
flex-direction: column;
|
|
5
|
+
height: 100%;
|
|
6
|
+
`;exports.Container=d,exports.default=i=>{let{onFocus:c}=i;const{originalVariableList:u,channel:p}=o.useTemplateModalContext();return e.jsxs(d,{children:[e.jsxs("div",Object.assign({style:{padding:8}},{children:[e.jsxs("div",Object.assign({style:{display:"flex",gap:8}},{children:[e.jsx(l.TitleRegular,Object.assign({style:{color:n.COLORS.content.primary}},{children:"Edit variables and links"})),e.jsx(r.Tooltip,Object.assign({body:"Variables are placeholder texts which can either be filled by data, eg: customer name or can have any custom text within them"},{children:e.jsx(t.default,{width:20,height:20,color:n.COLORS.content.placeholder})}))]})),e.jsx(l.BodySecondary,Object.assign({style:{color:n.COLORS.content.secondary}},{children:"You can view variables and links on the left underlined in purple colour."}))]})),null==u?void 0:u.map(((t,i)=>p!==s.CHANNEL_TYPE.EMAIL||t.isEditableVariable?e.jsx("div",Object.assign({style:{marginTop:16}},{children:e.jsx(a.default,{index:i,variable:t,onFocus:()=>null==c?void 0:c(i)})}),i):e.jsx(e.Fragment,{})))]})};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { CSSProperties } from 'react';
|
|
2
|
+
export interface VariableEditorHeaderProps {
|
|
3
|
+
headerText: string;
|
|
4
|
+
subText: string;
|
|
5
|
+
toolTipInfo?: string;
|
|
6
|
+
containerStyle?: CSSProperties;
|
|
7
|
+
}
|
|
8
|
+
declare const VariableEditorHeader: ({ headerText, subText, toolTipInfo, containerStyle, }: VariableEditorHeaderProps) => JSX.Element;
|
|
9
|
+
export default VariableEditorHeader;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("../../../assets/icons/info.svg.js"),i=require("styled-components"),s=require("../../tooltips/Tooltip.js");require("../../tooltips/CustomisedTooltip.js");var o=require("../../TypographyStyle.js"),r=require("../../../constants/Theme.js");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}const l=n(i).default(o.BodySecondary)`
|
|
2
|
+
line-height: 1.5 !important;
|
|
3
|
+
`;exports.default=i=>{let{headerText:n,subText:a,toolTipInfo:c,containerStyle:d}=i;return e.jsxs("div",Object.assign({style:Object.assign({paddingTop:24,paddingLeft:10,paddingRight:10,marginBottom:8,lineHeight:"normal"},d)},{children:[e.jsxs("div",Object.assign({style:{display:"flex",gap:8}},{children:[e.jsx(o.TitleRegular,Object.assign({style:{color:r.COLORS.content.primary}},{children:n})),c&&e.jsx(s.Tooltip,Object.assign({body:a},{children:e.jsx(t.default,{width:20,height:20,color:r.COLORS.content.placeholder})}))]})),e.jsx(l,Object.assign({style:{color:r.COLORS.content.secondary,marginBottom:0,lineHeight:20,display:"block"}},{children:a}))]}))};
|
package/dist/cjs/components/template-context-mapper/modalElements/WhatsAppTemplateCardButtonV2.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { ButtonPlaceHolderOptions } from "../../template-preview/models/TemplateMeta";
|
|
3
|
+
import { CTABtnValType, QRBBtnValType, TEMPLATE_BUTTON } from "../../template-preview/models/WhatsAppTemplate";
|
|
4
|
+
import { WhatsAppTemplateVariables } from "../../template-preview/models/WhatsAppTemplate";
|
|
5
|
+
export type URLBtnUpdateFunctionType = (val: CTABtnValType, mode: 'custom' | 'placeholder', btnIndex?: number) => void;
|
|
6
|
+
export type QRBBtnUpdateFunctionType = (val: QRBBtnValType, mode: 'custom' | 'placeholder', btnIndex?: number) => void;
|
|
7
|
+
export interface WhatsAppTemplateCardButtonV2Props {
|
|
8
|
+
originalVariableList: WhatsAppTemplateVariables;
|
|
9
|
+
updateSelectedURLTemplateBtn?: URLBtnUpdateFunctionType;
|
|
10
|
+
updateSelectedQRBTemplateBtn?: QRBBtnUpdateFunctionType;
|
|
11
|
+
button: TEMPLATE_BUTTON;
|
|
12
|
+
CTAoptions?: ButtonPlaceHolderOptions[];
|
|
13
|
+
QRBoptions?: ButtonPlaceHolderOptions[];
|
|
14
|
+
}
|
|
15
|
+
declare const WhatsAppTemplateCardButtonV2: ({ button, updateSelectedURLTemplateBtn, updateSelectedQRBTemplateBtn, originalVariableList, CTAoptions, QRBoptions, }: WhatsAppTemplateCardButtonV2Props) => JSX.Element;
|
|
16
|
+
export default WhatsAppTemplateCardButtonV2;
|
package/dist/cjs/components/template-context-mapper/modalElements/WhatsAppTemplateCardButtonV2.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),l=require("../../dropdown/Dropdown.js"),a=require("../../input/Input.js"),s=require("../../template-preview/constants/regexPatterns.js"),n=require("../../template-preview/models/TemplateMeta.js"),r=require("../../template-preview/models/WhatsAppTemplate.js"),o=require("../../TypographyStyle.js"),i=require("../../../constants/Theme.js"),u=require("../context/templateModalContext.js"),d=require("../utils/validateIsUrl.js"),p=require("./VariableConnector.js");exports.default=c=>{let{button:b,updateSelectedURLTemplateBtn:m,updateSelectedQRBTemplateBtn:j,originalVariableList:x,CTAoptions:v,QRBoptions:y}=c;const[g,h]=t.useState(""),[f,O]=t.useState(),{setOriginalVariableList:R,isError:U}=u.useTemplateModalContext();function L(e){h(e);const t=[Object.assign(Object.assign({},x.buttons[0]),{type:r.BUTTON_TYPE.URL,buttonVariable:"((customPlaceholderName))",example:[`https://${e}`]})];null==R||R({body:[...x.body],buttons:[...t]}),null==m||m(`https://${e}`,"custom")}return t.useEffect((()=>{var e;if(b.buttonVariable&&s.editableVarPattern.test(b.buttonVariable))O(n.CUSTOM_URL_NAME),h((null===(e=b.example)||void 0===e?void 0:e[0].split("https://")[1])||"");else{let e=-1;const t="URL"===b.type?v:y;e="URL"===b.type?t.findIndex((e=>e.placeHolder===b.buttonVariable)):t.findIndex((e=>e.label===b.flowName)),e>-1&&O(t[e])}}),[]),e.jsxs(p.Container,{children:[e.jsx("div",Object.assign({style:{marginBottom:8}},{children:e.jsxs(o.BodySecondary,Object.assign({style:{color:i.COLORS.content.primary}},{children:[b.text," button"]}))})),e.jsx("div",Object.assign({style:{marginBottom:12}},{children:e.jsx(l.Dropdown,{options:"URL"===b.type?v:y,isSearchable:!1,onSelect:function(e,t){const l=e;O(l);const a=("URL"===b.type?v:y)[null!=t?t:0];if(a)if("custom_link"!==a.value){let e;"URL"===b.type?(e=[Object.assign(Object.assign({},x.buttons[0]),{type:"URL",buttonVariable:l.placeholder,example:["https://bik.ai/"]})],null==m||m({defaultValue:a.value,placeHolder:a.placeHolder},"placeholder")):(e=x.buttons.map(((e,t)=>t===b.index?Object.assign(Object.assign({},e),{type:"QUICK_REPLY",flowName:l.label,flowId:l.value}):e)),null==j||j({flowName:l.label,flowId:l.value},"placeholder",b.index)),null==R||R({body:[...x.body],buttons:[...e]})}else L("")},defaultOptions:f?[Object.assign(Object.assign({},f),{selected:!0})]:[]})})),"custom_link"===(null==f?void 0:f.value)&&e.jsx("div",Object.assign({style:{marginBottom:20}},{children:e.jsx(a.Input,{errorMessage:U?g?d.validateIsUrl(g)?"":"Enter valid URL":"Required field":"",value:g,prefixText:"custom_link"===(null==f?void 0:f.value)?"https://":"",placeholder:"Enter custom URL here",onChangeText:L})}))]})};
|
package/dist/cjs/components/template-context-mapper/utils/convertPlaceholdersToBikDropdown.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { SingleOption } from "../../dropdown/type";
|
|
2
|
+
import { GlobalPlaceholderType } from "../../template-preview/models/TemplateMeta";
|
|
3
|
+
export declare const convertPlaceholdersToBikDropdown: (data?: GlobalPlaceholderType) => {
|
|
4
|
+
label: string;
|
|
5
|
+
options: SingleOption[];
|
|
6
|
+
}[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.convertPlaceholdersToBikDropdown=e=>{const l=[];return e&&Object.keys(e).forEach((o=>{var r;const t=e[o],n=null!==(r=null==t?void 0:t.map((e=>{var l;return{label:e.title,value:e.placeHolder,bikPlaceholderType:null!==(l=e.type)&&void 0!==l?l:"string"}})))&&void 0!==r?r:[];l.push({label:o,options:n})})),l};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { WhatsAppTemplate } from "../../template-preview/models/WhatsAppTemplate";
|
|
2
|
+
type ComponentType = WhatsAppTemplate['components'][0];
|
|
3
|
+
export declare const getAllDataFromTemplateComponent: (template: WhatsAppTemplate) => {
|
|
4
|
+
imageComponent: null;
|
|
5
|
+
descriptionComponents: {
|
|
6
|
+
component: ComponentType;
|
|
7
|
+
i: number;
|
|
8
|
+
type: ComponentType['type'];
|
|
9
|
+
}[];
|
|
10
|
+
urlBtns: {
|
|
11
|
+
component: ComponentType;
|
|
12
|
+
i: number;
|
|
13
|
+
}[];
|
|
14
|
+
qrbBtns: {
|
|
15
|
+
component: ComponentType;
|
|
16
|
+
i: number;
|
|
17
|
+
}[];
|
|
18
|
+
bodyVariables: string[];
|
|
19
|
+
headerVariables: string[];
|
|
20
|
+
};
|
|
21
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.getAllDataFromTemplateComponent=t=>{var e,o;const n=[],p=[],i=[],l=[],s=[];let a=null;return t.components.forEach(((t,e)=>{var o,l,s,r,u,d;if("BODY"===t.type&&t.text&&n.push({component:t,i:e,type:"BODY"}),"HEADER"===t.type&&"NONE"!==t.format&&"TEXT"!==t.format&&(null===(l=null===(o=t.example)||void 0===o?void 0:o.header_handle)||void 0===l?void 0:l[0])&&(a=t),"HEADER"===t.type&&"TEXT"===t.format&&n.push({component:t,i:e,type:"HEADER"}),"BUTTONS"===t.type){const o=null===(r=null===(s=t.buttons)||void 0===s?void 0:s.filter)||void 0===r?void 0:r.call(s,(t=>"URL"===t.type));p.push({component:Object.assign(Object.assign({},t),{buttons:o}),i:e});const n=null===(d=null===(u=t.buttons)||void 0===u?void 0:u.filter)||void 0===d?void 0:d.call(u,(t=>"QUICK_REPLY"===t.type));i.push({component:Object.assign(Object.assign({},t),{buttons:n}),i:e}),i.push}})),t.mapping&&(null===(e=t.mapping.body)||void 0===e||e.forEach((t=>{l.push(t)}))),t.mapping&&(null===(o=t.mapping.header)||void 0===o||o.forEach((t=>{s.push(t)}))),{imageComponent:a,descriptionComponents:n,urlBtns:p,qrbBtns:i,bodyVariables:l,headerVariables:s}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.getVariableNameForEmailByIndex=e=>"connectors_variable_"+e;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function highlightFor(id: string, color: string, seconds: number): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.highlightFor=function(e,o,t){const n=document.getElementById(e);if(n){const e=n.style.backgroundColor;n.style.backgroundColor=o,setTimeout((function(){n.style.backgroundColor=e}),1e3*t)}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function toCapitilize(string?: string): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.toCapitilize=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e.charAt(0).toUpperCase()+e.slice(1)};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const validateIsUrl: (recievedMediaLink: string) => boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.validateIsUrl=e=>!!new RegExp("^(https?:\\/\\/)?((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|((\\d{1,3}\\.){3}\\d{1,3}))(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*(\\?[;&a-z\\d%_.~+=-]*)?(\\#[-a-z\\d_]*)?$","i").test(e);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("../button/Button.js"),i=require("../TypographyStyle.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("../button/Button.js"),i=require("../TypographyStyle.js"),r=require("./EmailTemplatePreview.styled.js");exports.default=n=>{let{template:l,handleViewTemplate:a,hideHeader:s,hideViewButton:d,containerStyle:o,emailHtmlContainerId:u,emailDisplayContent:c}=n;return e.jsxs(r.EmailContainer,Object.assign({hideHeader:s,style:Object.assign({},null!=o?o:{})},{children:[!s&&e.jsx(r.Header,{children:e.jsx(i.TitleRegular,Object.assign({style:{maxWidth:"100%"}},{children:l.name}))}),c?e.jsx("iframe",{title:"Email template preview",id:null!=u?u:"",width:"100%",srcDoc:c,height:"100%",style:{pointerEvents:"none"}}):e.jsx(r.ImageContainer,Object.assign({hideHeader:s},{children:e.jsx("img",{alt:"",src:l.thumbnailUrl,style:{objectFit:"contain",width:"100%"}})})),!d&&e.jsx(r.ViewButton,{children:e.jsx(t.Button,{buttonType:"tertiary",buttonText:"View",onClick:()=>{a&&a()}})})]}))};
|
|
@@ -3,8 +3,8 @@ import { CHANNEL_TYPE } from './models/Channels';
|
|
|
3
3
|
import { EmailMeta, EmailTemplateType } from './models/EmailTemplate';
|
|
4
4
|
import { SMSMeta, SMSTemplateType } from './models/SmsTemplate';
|
|
5
5
|
import { WhatsappMeta, WhatsAppTemplate } from './models/WhatsAppTemplate';
|
|
6
|
-
export
|
|
7
|
-
template
|
|
6
|
+
export interface TemplatePreviewProps {
|
|
7
|
+
template?: WhatsAppTemplate | SMSTemplateType | EmailTemplateType;
|
|
8
8
|
channel: CHANNEL_TYPE;
|
|
9
9
|
onlyTemplateContent?: boolean;
|
|
10
10
|
outsidePreview?: boolean;
|
|
@@ -15,4 +15,5 @@ export declare const TemplatePreview: React.FC<{
|
|
|
15
15
|
hideHeader?: boolean;
|
|
16
16
|
size?: 'small' | 'large';
|
|
17
17
|
templateContainerStyles?: React.CSSProperties;
|
|
18
|
-
}
|
|
18
|
+
}
|
|
19
|
+
export declare const TemplatePreview: ({ template, channel, whatsAppSpecificMeta, templateCreationsInfo, hideHeader, size, onlyTemplateContent, emailSpecificMeta, smsSpecificMeta, }: TemplatePreviewProps) => JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),l=require("../../utils/StringUtils.js"),t=require("../../constants/Theme.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),l=require("../../utils/StringUtils.js"),t=require("../../constants/Theme.js"),a=require("../TypographyStyle.js"),i=require("./EmailTemplateThumbnailPreview.js"),n=require("./models/Channels.js"),r=require("./SmsTemplatePreview.js"),s=require("./WhatsAppTemplatePreview.js");const o={WhatsAppWrapper:{backgroundColor:t.COLORS.surface.standard,borderRadius:4,border:`1px solid ${t.COLORS.background.inactive}`,marginTop:16}};exports.TemplatePreview=d=>{let{template:p,channel:u,whatsAppSpecificMeta:m,templateCreationsInfo:c,hideHeader:v,size:j,onlyTemplateContent:h,emailSpecificMeta:S,smsSpecificMeta:b}=d;var g,y;return u===n.CHANNEL_TYPE.SMS?e.jsx("div",Object.assign({style:Object.assign({marginTop:c?16:0,border:c?`1px solid ${t.COLORS.stroke.primary}`:"none",borderRadius:4},null==b?void 0:b.templateContainerStyles)},{children:e.jsx(r.default,{template:p,hideHeader:v,onlyTemplateContent:h,size:null!=j?j:"large",variableStore:null==b?void 0:b.smsVariableStore,display_content:null==b?void 0:b.smsDisplayContent})})):u===n.CHANNEL_TYPE.EMAIL?e.jsx("div",Object.assign({style:Object.assign({marginTop:c?16:0},null==S?void 0:S.templateContainerStyles)},{children:e.jsx(i.default,{template:p,handleViewTemplate:()=>{var e;null===(e=null==S?void 0:S.handleViewTemplate)||void 0===e||e.call(S)},hideHeader:v,hideViewButton:null==S?void 0:S.hideViewButtonForEmail,containerStyle:null==S?void 0:S.containerStyle,emailDisplayContent:null==S?void 0:S.emailDisplayContent,emailHtmlContainerId:null==S?void 0:S.emailHtmlContainerId})})):u===n.CHANNEL_TYPE.WHATSAPP?e.jsxs("div",Object.assign({style:Object.assign(Object.assign({},null==m?void 0:m.templateContainerStyles),c?o.WhatsAppWrapper:{})},{children:[c?e.jsx("div",Object.assign({style:{padding:16}},{children:e.jsx(a.TitleRegular,{children:l.default.convertToTitleCase(null!==(g=null==p?void 0:p.label)&&void 0!==g?g:"")})})):e.jsx(e.Fragment,{}),e.jsx(s.default,{showHeader:null==m?void 0:m.showWhatsAppHeader,extras:null==m?void 0:m.whatsAppExtras,template:p,size:c?"small":null!=j?j:"large",containerStyle:Object.assign({borderWidth:c?0:1,borderTopWidth:1},null!==(y=null==m?void 0:m.containerStyle)&&void 0!==y?y:{}),zeroStateComponent:null==m?void 0:m.zeroStateComponent,usePlaceHolderName:null==m?void 0:m.usePlaceHolderName})]})):e.jsx(e.Fragment,{})};
|
|
@@ -5,6 +5,8 @@ export declare const CREATE_TEMPLATE_DOM_IDS: {
|
|
|
5
5
|
actionButtons: string;
|
|
6
6
|
footer: string;
|
|
7
7
|
};
|
|
8
|
+
export declare const NAME_NOT_FOUND = "Please enter template name";
|
|
9
|
+
export declare const BODY_TEXT_EMPTY = "Template body text cant be empty";
|
|
8
10
|
export declare const REQUIRED_FIELD = "Required field";
|
|
9
11
|
export declare const HEADER_LEN_ERROR = "Maximum 60 characters are allowed";
|
|
10
12
|
export declare const NAME_LEN_ERROR = "Maximum 512 characters allowed";
|
|
@@ -12,12 +14,19 @@ export declare const NO_SPECIAL_CHAR = "No special characters allowed";
|
|
|
12
14
|
export declare const BODY_LEN_ERROR = "Maximum 1,024 characters are allowed";
|
|
13
15
|
export declare const QUICK_REPLY_LEN_ERROR = "Maximum 20 characters are allowed";
|
|
14
16
|
export declare const QUICK_REPLY_NAME_ERROR = "Buttons with same name are not allowed";
|
|
17
|
+
export declare const CUSTOM_LIM_LEN_ERROR = "Maximum characters allowed is 2000 characters";
|
|
18
|
+
export declare const ONE_VAR_ERROR = "Only one variable allowed in text header";
|
|
15
19
|
export declare const VALID_PHONE_NUMBER = "Please enter a valid 10-digit phone number";
|
|
20
|
+
export declare const FOOTER_EMOJI_ERROR = "Emojis are not allowed in footer";
|
|
21
|
+
export declare const HEADER_EMOJI_ERROR = "Emojis are not allowed in header";
|
|
16
22
|
export declare const BUTTON_EMOJI_ERROR = "Emojis are not allowed in button";
|
|
17
23
|
export declare const HEADER_ASSET_LINK_ERROR = "Please attach the required media";
|
|
24
|
+
export declare const TCS_DEFAULT_INPUT_ERROR = "Some input(s) are missing";
|
|
18
25
|
export declare const ONE_VAR_ALLOWED = "Only one variable allowed in text header";
|
|
19
26
|
export declare const HEADER_TEXT_LEN_LIMIT = 60;
|
|
20
27
|
export declare const NAME_LEN_LIMIT = 512;
|
|
21
28
|
export declare const BODY_TEXT_LEN_LIMIT = 1024;
|
|
22
29
|
export declare const QUICK_REPLY_BTN_TEXT_LIMIT = 25;
|
|
30
|
+
export declare const CUSTOM_LINK_LIMIT = 2000;
|
|
23
31
|
export declare const QUICK_REPLY_NAME_LEN_LIMIT = 20;
|
|
32
|
+
export declare const QRB_NONE = "None";
|
|
@@ -2,10 +2,10 @@ export declare const lockedVarPattern: RegExp;
|
|
|
2
2
|
export declare const editableVarPattern: RegExp;
|
|
3
3
|
export declare const placeHolderNamePattern: RegExp;
|
|
4
4
|
export declare const globalVariablePattern: RegExp;
|
|
5
|
-
export declare const templateVariablePattern: RegExp;
|
|
6
5
|
export declare const globalHalfVariablePattern: RegExp;
|
|
7
6
|
export declare const specialCharPattern: RegExp;
|
|
8
7
|
export declare const variablePattern: RegExp;
|
|
9
8
|
export declare const variablePatternGlobal: RegExp;
|
|
9
|
+
export declare const templateVariablePattern: RegExp;
|
|
10
10
|
export declare const previewLinkMDFormatPattern: RegExp;
|
|
11
11
|
export declare const editableBracketPattern: RegExp;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=/\{\{[A-Za-z0-9 ]+\}\}/g,t=e;exports.editableBracketPattern=/[((|))]/,exports.editableVarPattern=/\((\(|\[)[A-Za-z0-9 ]+(\]|\))\)/,exports.globalHalfVariablePattern=/\{\{[a-zA-Z0-9]+(?=( |\}))(?!\}\})/g,exports.globalVariablePattern=e,exports.lockedVarPattern=/\[\[[A-Za-z0-9 ]+\]\]/,exports.placeHolderNamePattern=/(\[\[|\(\()(.*)(\)\)|\]\])/,exports.previewLinkMDFormatPattern=/\[([^[]+)\](\(.*\))/,exports.specialCharPattern=/[!@#$%^&*()_+\-=
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=/\{\{[A-Za-z0-9 ]+\}\}/g,t=e;exports.editableBracketPattern=/[((|))]/,exports.editableVarPattern=/\((\(|\[)[A-Za-z0-9 ]+(\]|\))\)/,exports.globalHalfVariablePattern=/\{\{[a-zA-Z0-9]+(?=( |\}))(?!\}\})/g,exports.globalVariablePattern=e,exports.lockedVarPattern=/\[\[[A-Za-z0-9 ]+\]\]/,exports.placeHolderNamePattern=/(\[\[|\(\()(.*)(\)\)|\]\])/,exports.previewLinkMDFormatPattern=/\[([^[]+)\](\(.*\))/,exports.specialCharPattern=/[!@#$%^&*()_+\-={};':"\\|,.<>?]+/,exports.templateVariablePattern=t,exports.variablePattern=/\{\{[A-Za-z0-9 _]+\}\}/,exports.variablePatternGlobal=/\{\{[A-Za-z0-9 _]+\}\}/g;
|
|
@@ -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";
|
|
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,3 +1,4 @@
|
|
|
1
|
+
import { SingleOption } from "../../dropdown/type";
|
|
1
2
|
export type CUSTOM_VARIABLE = {
|
|
2
3
|
variableName: string;
|
|
3
4
|
type: 'string' | 'link' | 'image';
|
|
@@ -40,3 +41,37 @@ export interface QUICK_REPLY_BUTTON {
|
|
|
40
41
|
flowId: string;
|
|
41
42
|
flowName: string;
|
|
42
43
|
}
|
|
44
|
+
export declare const CUSTOM_URL_NAME: {
|
|
45
|
+
value: string;
|
|
46
|
+
label: string;
|
|
47
|
+
placeHolder: string;
|
|
48
|
+
};
|
|
49
|
+
export type GlobalPlaceholderType = {
|
|
50
|
+
MARKETING: {
|
|
51
|
+
customer: baseAPITemplateVariableType[];
|
|
52
|
+
storeDetails: baseAPITemplateVariableType[];
|
|
53
|
+
orderDetails: baseAPITemplateVariableType[];
|
|
54
|
+
abandonedCart: baseAPITemplateVariableType[];
|
|
55
|
+
};
|
|
56
|
+
TRANSACTIONAL: {
|
|
57
|
+
customer: baseAPITemplateVariableType[];
|
|
58
|
+
storeDetails: baseAPITemplateVariableType[];
|
|
59
|
+
orderDetails: baseAPITemplateVariableType[];
|
|
60
|
+
abandonedCart: baseAPITemplateVariableType[];
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
export type baseAPITemplateVariableType = {
|
|
64
|
+
title: string;
|
|
65
|
+
default_value: string;
|
|
66
|
+
placeHolder: string;
|
|
67
|
+
type?: 'string' | 'url';
|
|
68
|
+
};
|
|
69
|
+
export type globalNormalizedPlaceholdersType = {
|
|
70
|
+
label: string;
|
|
71
|
+
options: SingleOption[];
|
|
72
|
+
};
|
|
73
|
+
export interface ButtonPlaceHolderOptions {
|
|
74
|
+
value: string;
|
|
75
|
+
label: string;
|
|
76
|
+
placeHolder: string;
|
|
77
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var E,T,A,D;Object.defineProperty(exports,"__esModule",{value:!0}),exports.TEMPLATE_EDITOR=void 0,(E=exports.TEMPLATE_EDITOR||(exports.TEMPLATE_EDITOR={})).SEND_GRID="sendgrid",E.BEE="bee",exports.TEMPLATE_STATUS=void 0,(T=exports.TEMPLATE_STATUS||(exports.TEMPLATE_STATUS={})).APPROVED="APPROVED",T.DISABLED="DISABLED",T.FLAGGED="FLAGGED",T.PENDING="PENDING",T.DRAFT="DRAFT",T.REJECTED="REJECTED",T.PENDING_DELETION="PENDING_DELETION",T.IN_REVIEW="IN REVIEW",T.PAUSED="PAUSED",T.ACTIVE="ACTIVE",T.LIBRARY="LIBRARY",exports.HEADER_TYPES=void 0,(A=exports.HEADER_TYPES||(exports.HEADER_TYPES={})).NONE="NONE",A.TEXT="TEXT",A.IMAGE="IMAGE",A.VIDEO="VIDEO",A.DOCUMENT="DOCUMENT",exports.ACTIONS_TYPES=void 0,(D=exports.ACTIONS_TYPES||(exports.ACTIONS_TYPES={})).NONE="NONE",D.CTA_BTN="CTA_BTN",D.QUICK_REPLY="QUICK_REPLY";
|
|
1
|
+
"use strict";var E,T,A,D;Object.defineProperty(exports,"__esModule",{value:!0}),exports.TEMPLATE_EDITOR=void 0,(E=exports.TEMPLATE_EDITOR||(exports.TEMPLATE_EDITOR={})).SEND_GRID="sendgrid",E.BEE="bee",exports.TEMPLATE_STATUS=void 0,(T=exports.TEMPLATE_STATUS||(exports.TEMPLATE_STATUS={})).APPROVED="APPROVED",T.DISABLED="DISABLED",T.FLAGGED="FLAGGED",T.PENDING="PENDING",T.DRAFT="DRAFT",T.REJECTED="REJECTED",T.PENDING_DELETION="PENDING_DELETION",T.IN_REVIEW="IN REVIEW",T.PAUSED="PAUSED",T.ACTIVE="ACTIVE",T.LIBRARY="LIBRARY",exports.HEADER_TYPES=void 0,(A=exports.HEADER_TYPES||(exports.HEADER_TYPES={})).NONE="NONE",A.TEXT="TEXT",A.IMAGE="IMAGE",A.VIDEO="VIDEO",A.DOCUMENT="DOCUMENT",exports.ACTIONS_TYPES=void 0,(D=exports.ACTIONS_TYPES||(exports.ACTIONS_TYPES={})).NONE="NONE",D.CTA_BTN="CTA_BTN",D.QUICK_REPLY="QUICK_REPLY";exports.CUSTOM_URL_NAME={value:"custom_link",label:"Custom URL",placeHolder:"custom placeholder"};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { ReactElement } from 'react';
|
|
2
2
|
import { CHANNEL_TYPE } from './Channels';
|
|
3
|
-
import { ACTIONS_TYPES, HEADER_TYPES, QUICK_REPLY_BUTTON, TEMPLATE_STATUS } from './TemplateMeta';
|
|
3
|
+
import { ACTIONS_TYPES, ButtonPlaceHolderOptions, CUSTOM_VARIABLE, HEADER_TYPES, QUICK_REPLY_BUTTON, TEMPLATE_STATUS } from './TemplateMeta';
|
|
4
4
|
export type WhatsAppTemplate = {
|
|
5
5
|
name: string;
|
|
6
6
|
label: string;
|
|
@@ -11,7 +11,7 @@ export type WhatsAppTemplate = {
|
|
|
11
11
|
type?: 'email' | 'whatsapp';
|
|
12
12
|
components: {
|
|
13
13
|
type: 'HEADER' | 'BODY' | 'BUTTONS' | 'FOOTER';
|
|
14
|
-
format?:
|
|
14
|
+
format?: HEADER_TYPES;
|
|
15
15
|
text?: string;
|
|
16
16
|
buttons?: {
|
|
17
17
|
type: 'QUICK_REPLY' | 'URL' | 'PHONE_NUMBER';
|
|
@@ -178,3 +178,46 @@ export type WhatsappMeta = {
|
|
|
178
178
|
zeroStateComponent?: ReactElement;
|
|
179
179
|
usePlaceHolderName?: boolean;
|
|
180
180
|
};
|
|
181
|
+
export type WhatsAppPickerMeta = {
|
|
182
|
+
uploadMediaFiles: (params: WhatsAppMediaUploadRequest) => Promise<WhatsAppMediaUploadResponse>;
|
|
183
|
+
CTAoptions?: ButtonPlaceHolderOptions[];
|
|
184
|
+
QRBoptions?: ButtonPlaceHolderOptions[];
|
|
185
|
+
};
|
|
186
|
+
export type WhatsAppMediaUploadResponse = {
|
|
187
|
+
success: boolean;
|
|
188
|
+
url?: string;
|
|
189
|
+
};
|
|
190
|
+
export type WhatsAppMediaUploadRequest = {
|
|
191
|
+
file: File;
|
|
192
|
+
fileName: string;
|
|
193
|
+
isImage: boolean;
|
|
194
|
+
};
|
|
195
|
+
export interface WhatsAppTemplateVariables {
|
|
196
|
+
body: CUSTOM_VARIABLE[];
|
|
197
|
+
buttons: TEMPLATE_BUTTON[];
|
|
198
|
+
}
|
|
199
|
+
export type CTABtnValType = {
|
|
200
|
+
defaultValue: string;
|
|
201
|
+
placeHolder: string;
|
|
202
|
+
} | string;
|
|
203
|
+
export type QRBBtnValType = {
|
|
204
|
+
flowId?: string;
|
|
205
|
+
flowName?: string;
|
|
206
|
+
};
|
|
207
|
+
export type TEMPLATE_BUTTON = {
|
|
208
|
+
type: BUTTON_TYPE;
|
|
209
|
+
text?: string;
|
|
210
|
+
url?: string;
|
|
211
|
+
example?: string[];
|
|
212
|
+
linkMode?: 'custom' | 'home';
|
|
213
|
+
phone_number?: string;
|
|
214
|
+
buttonVariable?: string;
|
|
215
|
+
index?: number;
|
|
216
|
+
flowId?: string;
|
|
217
|
+
flowName?: string;
|
|
218
|
+
};
|
|
219
|
+
export declare enum BUTTON_TYPE {
|
|
220
|
+
QUICK_REPLY = "QUICK_REPLY",
|
|
221
|
+
URL = "URL",
|
|
222
|
+
PHONE_NUMBER = "PHONE_NUMBER"
|
|
223
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e;Object.defineProperty(exports,"__esModule",{value:!0}),exports.BUTTON_TYPE=void 0,(e=exports.BUTTON_TYPE||(exports.BUTTON_TYPE={})).QUICK_REPLY="QUICK_REPLY",e.URL="URL",e.PHONE_NUMBER="PHONE_NUMBER";
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import * as regexPatterns from './components/template-preview/constants/regexPatterns';
|
|
1
2
|
import StringUtils from './utils/StringUtils';
|
|
3
|
+
export { regexPatterns };
|
|
2
4
|
export { StringUtils };
|
|
3
5
|
export * from './constants/Theme';
|
|
4
6
|
export * from './components/checkBox';
|
|
@@ -13,6 +15,7 @@ export * from './components/tag';
|
|
|
13
15
|
export * from './components/pagination';
|
|
14
16
|
export * from './components/icon-button';
|
|
15
17
|
export * from './components/template-preview';
|
|
18
|
+
export * from './components/template-context-mapper';
|
|
16
19
|
export * from './components/fab-menu';
|
|
17
20
|
export * from './components/floating-action-button';
|
|
18
21
|
export * from './components/image-compress';
|