@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.
Files changed (195) hide show
  1. package/dist/cjs/assets/icons/chevronDown.svg.js +1 -0
  2. package/dist/cjs/assets/icons/desktop_custom.svg.js +1 -0
  3. package/dist/cjs/assets/icons/document_pdf.svg.js +1 -0
  4. package/dist/cjs/assets/icons/edit.svg.js +1 -0
  5. package/dist/cjs/assets/icons/info.svg.js +1 -0
  6. package/dist/cjs/assets/icons/mobile_custom.svg.js +1 -0
  7. package/dist/cjs/assets/icons/refresh.svg.js +1 -0
  8. package/dist/cjs/assets/icons/video_camcorder.svg.js +1 -0
  9. package/dist/cjs/components/dropdown/Common.styled.d.ts +1 -0
  10. package/dist/cjs/components/dropdown/Common.styled.js +11 -3
  11. package/dist/cjs/components/dropdown/Dropdown.d.ts +2 -2
  12. package/dist/cjs/components/dropdown/Dropdown.js +1 -0
  13. package/dist/cjs/components/dropdown/UnChildDropdown/UnChildDropdown.d.ts +1 -4
  14. package/dist/cjs/components/dropdown/UnChildDropdown/UnChildDropdown.js +1 -1
  15. package/dist/cjs/components/dropdown/index.d.ts +2 -0
  16. package/dist/cjs/components/dropdown/opennedDropdown/components/OpennedDropdown.js +1 -1
  17. package/dist/cjs/components/dropdown/opennedDropdown/components/menu/MenuItem.js +3 -1
  18. package/dist/cjs/components/dropdown/opennedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.styled.js +3 -2
  19. package/dist/cjs/components/dropdown/opennedDropdown/components/searchbox/SearchBox.js +1 -1
  20. package/dist/cjs/components/dropdown/opennedDropdown/utils/iterationOnOptions.d.ts +13 -13
  21. package/dist/cjs/components/dropdown/type.d.ts +10 -5
  22. package/dist/cjs/components/fab-menu/FABMenu.d.ts +2 -2
  23. package/dist/cjs/components/fab-menu/FABMenu.js +1 -1
  24. package/dist/cjs/components/helpers/FileUploaderHelper.d.ts +12 -0
  25. package/dist/cjs/components/helpers/FileUploaderHelper.js +1 -0
  26. package/dist/cjs/components/input/Input.d.ts +2 -1
  27. package/dist/cjs/components/input/Input.js +1 -1
  28. package/dist/cjs/components/list-item/ListItem.d.ts +1 -0
  29. package/dist/cjs/components/list-item/ListItem.js +1 -1
  30. package/dist/cjs/components/template-context-mapper/Badge/index.d.ts +6 -0
  31. package/dist/cjs/components/template-context-mapper/Badge/index.js +10 -0
  32. package/dist/cjs/components/template-context-mapper/TemplateContextMapper.d.ts +21 -0
  33. package/dist/cjs/components/template-context-mapper/TemplateContextMapper.js +1 -0
  34. package/dist/cjs/components/template-context-mapper/context/templateModalContext.d.ts +37 -0
  35. package/dist/cjs/components/template-context-mapper/context/templateModalContext.js +1 -0
  36. package/dist/cjs/components/template-context-mapper/index.d.ts +1 -0
  37. package/dist/cjs/components/template-context-mapper/modalElements/Body.d.ts +9 -0
  38. package/dist/cjs/components/template-context-mapper/modalElements/Body.js +18 -0
  39. package/dist/cjs/components/template-context-mapper/modalElements/DesktopPreview.d.ts +7 -0
  40. package/dist/cjs/components/template-context-mapper/modalElements/DesktopPreview.js +20 -0
  41. package/dist/cjs/components/template-context-mapper/modalElements/EditMediaV2.d.ts +12 -0
  42. package/dist/cjs/components/template-context-mapper/modalElements/EditMediaV2.js +1 -0
  43. package/dist/cjs/components/template-context-mapper/modalElements/EditMediaV2.style.d.ts +6 -0
  44. package/dist/cjs/components/template-context-mapper/modalElements/EditMediaV2.style.js +30 -0
  45. package/dist/cjs/components/template-context-mapper/modalElements/EditWhatsAppTemplateMediaV2.d.ts +9 -0
  46. package/dist/cjs/components/template-context-mapper/modalElements/EditWhatsAppTemplateMediaV2.js +1 -0
  47. package/dist/cjs/components/template-context-mapper/modalElements/EditWhatsAppTemplateV2.d.ts +11 -0
  48. package/dist/cjs/components/template-context-mapper/modalElements/EditWhatsAppTemplateV2.js +1 -0
  49. package/dist/cjs/components/template-context-mapper/modalElements/Footer.d.ts +6 -0
  50. package/dist/cjs/components/template-context-mapper/modalElements/Footer.js +13 -0
  51. package/dist/cjs/components/template-context-mapper/modalElements/Header.d.ts +6 -0
  52. package/dist/cjs/components/template-context-mapper/modalElements/Header.js +23 -0
  53. package/dist/cjs/components/template-context-mapper/modalElements/MobilePreview.d.ts +11 -0
  54. package/dist/cjs/components/template-context-mapper/modalElements/MobilePreview.js +20 -0
  55. package/dist/cjs/components/template-context-mapper/modalElements/TemplateSelectModalContent.d.ts +12 -0
  56. package/dist/cjs/components/template-context-mapper/modalElements/TemplateSelectModalContent.js +1 -0
  57. package/dist/cjs/components/template-context-mapper/modalElements/VariableConnector.d.ts +15 -0
  58. package/dist/cjs/components/template-context-mapper/modalElements/VariableConnector.js +7 -0
  59. package/dist/cjs/components/template-context-mapper/modalElements/VariableConnectorWhatsApp.d.ts +11 -0
  60. package/dist/cjs/components/template-context-mapper/modalElements/VariableConnectorWhatsApp.js +1 -0
  61. package/dist/cjs/components/template-context-mapper/modalElements/VariableConnectorsPanel.d.ts +7 -0
  62. package/dist/cjs/components/template-context-mapper/modalElements/VariableConnectorsPanel.js +6 -0
  63. package/dist/cjs/components/template-context-mapper/modalElements/VariableEditorHeader.d.ts +9 -0
  64. package/dist/cjs/components/template-context-mapper/modalElements/VariableEditorHeader.js +3 -0
  65. package/dist/cjs/components/template-context-mapper/modalElements/WhatsAppTemplateCardButtonV2.d.ts +16 -0
  66. package/dist/cjs/components/template-context-mapper/modalElements/WhatsAppTemplateCardButtonV2.js +1 -0
  67. package/dist/cjs/components/template-context-mapper/utils/convertPlaceholdersToBikDropdown.d.ts +6 -0
  68. package/dist/cjs/components/template-context-mapper/utils/convertPlaceholdersToBikDropdown.js +1 -0
  69. package/dist/cjs/components/template-context-mapper/utils/getDataFromTemplateComponent.d.ts +21 -0
  70. package/dist/cjs/components/template-context-mapper/utils/getDataFromTemplateComponent.js +1 -0
  71. package/dist/cjs/components/template-context-mapper/utils/getVariableNameEmail.d.ts +2 -0
  72. package/dist/cjs/components/template-context-mapper/utils/getVariableNameEmail.js +1 -0
  73. package/dist/cjs/components/template-context-mapper/utils/highlightFor.d.ts +1 -0
  74. package/dist/cjs/components/template-context-mapper/utils/highlightFor.js +1 -0
  75. package/dist/cjs/components/template-context-mapper/utils/toCapitilize.d.ts +1 -0
  76. package/dist/cjs/components/template-context-mapper/utils/toCapitilize.js +1 -0
  77. package/dist/cjs/components/template-context-mapper/utils/validateIsUrl.d.ts +1 -0
  78. package/dist/cjs/components/template-context-mapper/utils/validateIsUrl.js +1 -0
  79. package/dist/cjs/components/template-preview/EmailTemplateHTMLPreview.d.ts +5 -0
  80. package/dist/cjs/components/template-preview/EmailTemplateThumbnailPreview.js +1 -1
  81. package/dist/cjs/components/template-preview/TemplatePreview.d.ts +4 -3
  82. package/dist/cjs/components/template-preview/TemplatePreview.js +1 -1
  83. package/dist/cjs/components/template-preview/constants/TemplateConstants.d.ts +9 -0
  84. package/dist/cjs/components/template-preview/constants/regexPatterns.d.ts +1 -1
  85. package/dist/cjs/components/template-preview/constants/regexPatterns.js +1 -1
  86. package/dist/cjs/components/template-preview/models/Channels.d.ts +2 -1
  87. package/dist/cjs/components/template-preview/models/Channels.js +1 -1
  88. package/dist/cjs/components/template-preview/models/TemplateMeta.d.ts +35 -0
  89. package/dist/cjs/components/template-preview/models/TemplateMeta.js +1 -1
  90. package/dist/cjs/components/template-preview/models/WhatsAppTemplate.d.ts +45 -2
  91. package/dist/cjs/components/template-preview/models/WhatsAppTemplate.js +1 -0
  92. package/dist/cjs/index.d.ts +3 -0
  93. package/dist/cjs/index.js +1 -1
  94. package/dist/cjs/utils/StringUtils.d.ts +1 -0
  95. package/dist/cjs/utils/StringUtils.js +1 -1
  96. package/dist/cjs/utils/bytesToMB.d.ts +1 -0
  97. package/dist/cjs/utils/bytesToMB.js +1 -0
  98. package/dist/esm/assets/icons/chevronDown.svg.js +1 -0
  99. package/dist/esm/assets/icons/desktop_custom.svg.js +1 -0
  100. package/dist/esm/assets/icons/document_pdf.svg.js +1 -0
  101. package/dist/esm/assets/icons/edit.svg.js +1 -0
  102. package/dist/esm/assets/icons/info.svg.js +1 -0
  103. package/dist/esm/assets/icons/mobile_custom.svg.js +1 -0
  104. package/dist/esm/assets/icons/refresh.svg.js +1 -0
  105. package/dist/esm/assets/icons/video_camcorder.svg.js +1 -0
  106. package/dist/esm/components/dropdown/Common.styled.d.ts +1 -0
  107. package/dist/esm/components/dropdown/Common.styled.js +10 -2
  108. package/dist/esm/components/dropdown/Dropdown.d.ts +2 -2
  109. package/dist/esm/components/dropdown/Dropdown.js +1 -0
  110. package/dist/esm/components/dropdown/UnChildDropdown/UnChildDropdown.d.ts +1 -4
  111. package/dist/esm/components/dropdown/UnChildDropdown/UnChildDropdown.js +1 -1
  112. package/dist/esm/components/dropdown/index.d.ts +2 -0
  113. package/dist/esm/components/dropdown/opennedDropdown/components/OpennedDropdown.js +1 -1
  114. package/dist/esm/components/dropdown/opennedDropdown/components/menu/MenuItem.js +3 -1
  115. package/dist/esm/components/dropdown/opennedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.styled.js +3 -2
  116. package/dist/esm/components/dropdown/opennedDropdown/components/searchbox/SearchBox.js +1 -1
  117. package/dist/esm/components/dropdown/opennedDropdown/utils/iterationOnOptions.d.ts +13 -13
  118. package/dist/esm/components/dropdown/type.d.ts +10 -5
  119. package/dist/esm/components/fab-menu/FABMenu.d.ts +2 -2
  120. package/dist/esm/components/fab-menu/FABMenu.js +1 -1
  121. package/dist/esm/components/helpers/FileUploaderHelper.d.ts +12 -0
  122. package/dist/esm/components/helpers/FileUploaderHelper.js +1 -0
  123. package/dist/esm/components/input/Input.d.ts +2 -1
  124. package/dist/esm/components/input/Input.js +1 -1
  125. package/dist/esm/components/list-item/ListItem.d.ts +1 -0
  126. package/dist/esm/components/list-item/ListItem.js +1 -1
  127. package/dist/esm/components/template-context-mapper/Badge/index.d.ts +6 -0
  128. package/dist/esm/components/template-context-mapper/Badge/index.js +10 -0
  129. package/dist/esm/components/template-context-mapper/TemplateContextMapper.d.ts +21 -0
  130. package/dist/esm/components/template-context-mapper/TemplateContextMapper.js +1 -0
  131. package/dist/esm/components/template-context-mapper/context/templateModalContext.d.ts +37 -0
  132. package/dist/esm/components/template-context-mapper/context/templateModalContext.js +1 -0
  133. package/dist/esm/components/template-context-mapper/index.d.ts +1 -0
  134. package/dist/esm/components/template-context-mapper/modalElements/Body.d.ts +9 -0
  135. package/dist/esm/components/template-context-mapper/modalElements/Body.js +18 -0
  136. package/dist/esm/components/template-context-mapper/modalElements/DesktopPreview.d.ts +7 -0
  137. package/dist/esm/components/template-context-mapper/modalElements/DesktopPreview.js +20 -0
  138. package/dist/esm/components/template-context-mapper/modalElements/EditMediaV2.d.ts +12 -0
  139. package/dist/esm/components/template-context-mapper/modalElements/EditMediaV2.js +1 -0
  140. package/dist/esm/components/template-context-mapper/modalElements/EditMediaV2.style.d.ts +6 -0
  141. package/dist/esm/components/template-context-mapper/modalElements/EditMediaV2.style.js +30 -0
  142. package/dist/esm/components/template-context-mapper/modalElements/EditWhatsAppTemplateMediaV2.d.ts +9 -0
  143. package/dist/esm/components/template-context-mapper/modalElements/EditWhatsAppTemplateMediaV2.js +1 -0
  144. package/dist/esm/components/template-context-mapper/modalElements/EditWhatsAppTemplateV2.d.ts +11 -0
  145. package/dist/esm/components/template-context-mapper/modalElements/EditWhatsAppTemplateV2.js +1 -0
  146. package/dist/esm/components/template-context-mapper/modalElements/Footer.d.ts +6 -0
  147. package/dist/esm/components/template-context-mapper/modalElements/Footer.js +13 -0
  148. package/dist/esm/components/template-context-mapper/modalElements/Header.d.ts +6 -0
  149. package/dist/esm/components/template-context-mapper/modalElements/Header.js +23 -0
  150. package/dist/esm/components/template-context-mapper/modalElements/MobilePreview.d.ts +11 -0
  151. package/dist/esm/components/template-context-mapper/modalElements/MobilePreview.js +20 -0
  152. package/dist/esm/components/template-context-mapper/modalElements/TemplateSelectModalContent.d.ts +12 -0
  153. package/dist/esm/components/template-context-mapper/modalElements/TemplateSelectModalContent.js +1 -0
  154. package/dist/esm/components/template-context-mapper/modalElements/VariableConnector.d.ts +15 -0
  155. package/dist/esm/components/template-context-mapper/modalElements/VariableConnector.js +7 -0
  156. package/dist/esm/components/template-context-mapper/modalElements/VariableConnectorWhatsApp.d.ts +11 -0
  157. package/dist/esm/components/template-context-mapper/modalElements/VariableConnectorWhatsApp.js +1 -0
  158. package/dist/esm/components/template-context-mapper/modalElements/VariableConnectorsPanel.d.ts +7 -0
  159. package/dist/esm/components/template-context-mapper/modalElements/VariableConnectorsPanel.js +6 -0
  160. package/dist/esm/components/template-context-mapper/modalElements/VariableEditorHeader.d.ts +9 -0
  161. package/dist/esm/components/template-context-mapper/modalElements/VariableEditorHeader.js +3 -0
  162. package/dist/esm/components/template-context-mapper/modalElements/WhatsAppTemplateCardButtonV2.d.ts +16 -0
  163. package/dist/esm/components/template-context-mapper/modalElements/WhatsAppTemplateCardButtonV2.js +1 -0
  164. package/dist/esm/components/template-context-mapper/utils/convertPlaceholdersToBikDropdown.d.ts +6 -0
  165. package/dist/esm/components/template-context-mapper/utils/convertPlaceholdersToBikDropdown.js +1 -0
  166. package/dist/esm/components/template-context-mapper/utils/getDataFromTemplateComponent.d.ts +21 -0
  167. package/dist/esm/components/template-context-mapper/utils/getDataFromTemplateComponent.js +1 -0
  168. package/dist/esm/components/template-context-mapper/utils/getVariableNameEmail.d.ts +2 -0
  169. package/dist/esm/components/template-context-mapper/utils/getVariableNameEmail.js +1 -0
  170. package/dist/esm/components/template-context-mapper/utils/highlightFor.d.ts +1 -0
  171. package/dist/esm/components/template-context-mapper/utils/highlightFor.js +1 -0
  172. package/dist/esm/components/template-context-mapper/utils/toCapitilize.d.ts +1 -0
  173. package/dist/esm/components/template-context-mapper/utils/toCapitilize.js +1 -0
  174. package/dist/esm/components/template-context-mapper/utils/validateIsUrl.d.ts +1 -0
  175. package/dist/esm/components/template-context-mapper/utils/validateIsUrl.js +1 -0
  176. package/dist/esm/components/template-preview/EmailTemplateHTMLPreview.d.ts +5 -0
  177. package/dist/esm/components/template-preview/EmailTemplateThumbnailPreview.js +1 -1
  178. package/dist/esm/components/template-preview/TemplatePreview.d.ts +4 -3
  179. package/dist/esm/components/template-preview/TemplatePreview.js +1 -1
  180. package/dist/esm/components/template-preview/constants/TemplateConstants.d.ts +9 -0
  181. package/dist/esm/components/template-preview/constants/regexPatterns.d.ts +1 -1
  182. package/dist/esm/components/template-preview/constants/regexPatterns.js +1 -1
  183. package/dist/esm/components/template-preview/models/Channels.d.ts +2 -1
  184. package/dist/esm/components/template-preview/models/Channels.js +1 -1
  185. package/dist/esm/components/template-preview/models/TemplateMeta.d.ts +35 -0
  186. package/dist/esm/components/template-preview/models/TemplateMeta.js +1 -1
  187. package/dist/esm/components/template-preview/models/WhatsAppTemplate.d.ts +45 -2
  188. package/dist/esm/components/template-preview/models/WhatsAppTemplate.js +1 -0
  189. package/dist/esm/index.d.ts +3 -0
  190. package/dist/esm/index.js +1 -1
  191. package/dist/esm/utils/StringUtils.d.ts +1 -0
  192. package/dist/esm/utils/StringUtils.js +1 -1
  193. package/dist/esm/utils/bytesToMB.d.ts +1 -0
  194. package/dist/esm/utils/bytesToMB.js +1 -0
  195. 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,6 @@
1
+ /// <reference types="react" />
2
+ export interface FooterProps {
3
+ onSelect: () => void;
4
+ }
5
+ declare const Footer: ({ onSelect }: FooterProps) => JSX.Element;
6
+ export default Footer;
@@ -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,6 @@
1
+ /// <reference types="react" />
2
+ export interface HeaderProps {
3
+ showOnlyContent?: boolean;
4
+ }
5
+ declare const Header: ({ showOnlyContent }: HeaderProps) => JSX.Element;
6
+ export default Header;
@@ -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;
@@ -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;
@@ -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)})]}))};
@@ -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;
@@ -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,{})};
@@ -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}))]}))};
@@ -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;
@@ -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})}))]})};
@@ -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,2 @@
1
+ export declare const SMS_TEMPLATE_VAR_PATTERN: RegExp;
2
+ export declare const getVariableNameForEmailByIndex: (index: number) => string;
@@ -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);
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ export declare const EmailTemplateHTMLPreview: React.FC<{
3
+ display_content: string;
4
+ containerId: string;
5
+ }>;
@@ -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"),n=require("./EmailTemplatePreview.styled.js");exports.default=r=>{let{template:l,handleViewTemplate:a,hideHeader:s,hideViewButton:d,containerStyle:o,emailHtmlContainerId:u,emailDisplayContent:c}=r;return e.jsxs(n.EmailContainer,Object.assign({hideHeader:s,style:Object.assign({},null!=o?o:{})},{children:[!s&&e.jsx(n.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(n.ImageContainer,Object.assign({hideHeader:s},{children:e.jsx("img",{alt:"Email thumbnail",src:l.thumbnailUrl,style:{objectFit:"contain",width:"100%"}})})),!d&&e.jsx(n.ViewButton,{children:e.jsx(t.Button,{buttonType:"tertiary",buttonText:"View",onClick:()=>{a&&a()}})})]}))};
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 declare const TemplatePreview: React.FC<{
7
- template: WhatsAppTemplate | SMSTemplateType | EmailTemplateType;
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"),i=require("../TypographyStyle.js"),a=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,templateContainerStyles:c,templateCreationsInfo:v,hideHeader:j,size:h,onlyTemplateContent:S,emailSpecificMeta:y,smsSpecificMeta:C,outsidePreview:b}=d;var g,T;return u===n.CHANNEL_TYPE.SMS?e.jsx("div",Object.assign({style:Object.assign({marginTop:v?16:0,border:v?`1px solid ${t.COLORS.stroke.primary}`:"none",borderRadius:4},null==C?void 0:C.templateContainerStyles)},{children:e.jsx(r.default,{template:p,hideHeader:j,onlyTemplateContent:S,size:null!=h?h:"large",variableStore:null==C?void 0:C.smsVariableStore,display_content:null==C?void 0:C.smsDisplayContent})})):u===n.CHANNEL_TYPE.EMAIL?e.jsx("div",Object.assign({style:Object.assign({marginTop:v?16:0},null==y?void 0:y.templateContainerStyles)},{children:e.jsx(a.default,{template:p,handleViewTemplate:()=>{var e;null===(e=null==y?void 0:y.handleViewTemplate)||void 0===e||e.call(y)},hideHeader:j,hideViewButton:null==y?void 0:y.hideViewButtonForEmail,containerStyle:null==y?void 0:y.containerStyle,emailDisplayContent:null==y?void 0:y.emailDisplayContent,emailHtmlContainerId:null==y?void 0:y.emailHtmlContainerId})})):u===n.CHANNEL_TYPE.WHATSAPP?e.jsxs("div",Object.assign({style:Object.assign(Object.assign({},null==m?void 0:m.templateContainerStyles),v?o.WhatsAppWrapper:{})},{children:[v?e.jsx("div",Object.assign({style:{padding:16}},{children:e.jsx(i.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:v?"small":null!=h?h:"large",containerStyle:Object.assign({borderWidth:v?0:1,borderTopWidth:1},null!==(T=null==m?void 0:m.containerStyle)&&void 0!==T?T:{}),zeroStateComponent:null==m?void 0:m.zeroStateComponent,usePlaceHolderName:null==m?void 0:m.usePlaceHolderName})]})):e.jsx(e.Fragment,{})};
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=/[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]+/,exports.templateVariablePattern=t,exports.variablePattern=/\{\{[A-Za-z0-9 _]+\}\}/,exports.variablePatternGlobal=/\{\{[A-Za-z0-9 _]+\}\}/g;
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;
@@ -4,5 +4,6 @@ export declare enum CHANNEL_TYPE {
4
4
  TIKTOK = "tiktok",
5
5
  EMAIL = "email",
6
6
  SMS = "message",
7
- WEBPUSH = "webpush"
7
+ WEBPUSH = "webpush",
8
+ MESSAGE = "message"
8
9
  }
@@ -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?: 'TEXT' | 'IMAGE' | 'VIDEO' | 'DOCUMENT' | 'NONE';
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";
@@ -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';