@bikdotai/bik-component-library 0.0.21-beta.1 → 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 (163) hide show
  1. package/dist/cjs/assets/icons/desktop_custom.svg.js +1 -0
  2. package/dist/cjs/assets/icons/document_pdf.svg.js +1 -0
  3. package/dist/cjs/assets/icons/edit.svg.js +1 -0
  4. package/dist/cjs/assets/icons/info.svg.js +1 -0
  5. package/dist/cjs/assets/icons/mobile_custom.svg.js +1 -0
  6. package/dist/cjs/assets/icons/refresh.svg.js +1 -0
  7. package/dist/cjs/assets/icons/video_camcorder.svg.js +1 -0
  8. package/dist/cjs/components/dropdown/Dropdown.js +1 -1
  9. package/dist/cjs/components/helpers/FileUploaderHelper.d.ts +12 -0
  10. package/dist/cjs/components/helpers/FileUploaderHelper.js +1 -0
  11. package/dist/cjs/components/input/Input.d.ts +2 -1
  12. package/dist/cjs/components/input/Input.js +1 -1
  13. package/dist/cjs/components/template-context-mapper/Badge/index.d.ts +6 -0
  14. package/dist/cjs/components/template-context-mapper/Badge/index.js +10 -0
  15. package/dist/cjs/components/template-context-mapper/TemplateContextMapper.d.ts +21 -0
  16. package/dist/cjs/components/template-context-mapper/TemplateContextMapper.js +1 -0
  17. package/dist/cjs/components/template-context-mapper/context/templateModalContext.d.ts +37 -0
  18. package/dist/cjs/components/template-context-mapper/context/templateModalContext.js +1 -0
  19. package/dist/cjs/components/template-context-mapper/index.d.ts +1 -0
  20. package/dist/cjs/components/template-context-mapper/modalElements/Body.d.ts +9 -0
  21. package/dist/cjs/components/template-context-mapper/modalElements/Body.js +18 -0
  22. package/dist/cjs/components/template-context-mapper/modalElements/DesktopPreview.d.ts +7 -0
  23. package/dist/cjs/components/template-context-mapper/modalElements/DesktopPreview.js +20 -0
  24. package/dist/cjs/components/template-context-mapper/modalElements/EditMediaV2.d.ts +12 -0
  25. package/dist/cjs/components/template-context-mapper/modalElements/EditMediaV2.js +1 -0
  26. package/dist/cjs/components/template-context-mapper/modalElements/EditMediaV2.style.d.ts +6 -0
  27. package/dist/cjs/components/template-context-mapper/modalElements/EditMediaV2.style.js +30 -0
  28. package/dist/cjs/components/template-context-mapper/modalElements/EditWhatsAppTemplateMediaV2.d.ts +9 -0
  29. package/dist/cjs/components/template-context-mapper/modalElements/EditWhatsAppTemplateMediaV2.js +1 -0
  30. package/dist/cjs/components/template-context-mapper/modalElements/EditWhatsAppTemplateV2.d.ts +11 -0
  31. package/dist/cjs/components/template-context-mapper/modalElements/EditWhatsAppTemplateV2.js +1 -0
  32. package/dist/cjs/components/template-context-mapper/modalElements/Footer.d.ts +6 -0
  33. package/dist/cjs/components/template-context-mapper/modalElements/Footer.js +13 -0
  34. package/dist/cjs/components/template-context-mapper/modalElements/Header.d.ts +6 -0
  35. package/dist/cjs/components/template-context-mapper/modalElements/Header.js +23 -0
  36. package/dist/cjs/components/template-context-mapper/modalElements/MobilePreview.d.ts +11 -0
  37. package/dist/cjs/components/template-context-mapper/modalElements/MobilePreview.js +20 -0
  38. package/dist/cjs/components/template-context-mapper/modalElements/TemplateSelectModalContent.d.ts +12 -0
  39. package/dist/cjs/components/template-context-mapper/modalElements/TemplateSelectModalContent.js +1 -0
  40. package/dist/cjs/components/template-context-mapper/modalElements/VariableConnector.d.ts +15 -0
  41. package/dist/cjs/components/template-context-mapper/modalElements/VariableConnector.js +7 -0
  42. package/dist/cjs/components/template-context-mapper/modalElements/VariableConnectorWhatsApp.d.ts +11 -0
  43. package/dist/cjs/components/template-context-mapper/modalElements/VariableConnectorWhatsApp.js +1 -0
  44. package/dist/cjs/components/template-context-mapper/modalElements/VariableConnectorsPanel.d.ts +7 -0
  45. package/dist/cjs/components/template-context-mapper/modalElements/VariableConnectorsPanel.js +6 -0
  46. package/dist/cjs/components/template-context-mapper/modalElements/VariableEditorHeader.d.ts +9 -0
  47. package/dist/cjs/components/template-context-mapper/modalElements/VariableEditorHeader.js +3 -0
  48. package/dist/cjs/components/template-context-mapper/modalElements/WhatsAppTemplateCardButtonV2.d.ts +16 -0
  49. package/dist/cjs/components/template-context-mapper/modalElements/WhatsAppTemplateCardButtonV2.js +1 -0
  50. package/dist/cjs/components/template-context-mapper/utils/convertPlaceholdersToBikDropdown.d.ts +6 -0
  51. package/dist/cjs/components/template-context-mapper/utils/convertPlaceholdersToBikDropdown.js +1 -0
  52. package/dist/cjs/components/template-context-mapper/utils/getDataFromTemplateComponent.d.ts +21 -0
  53. package/dist/cjs/components/template-context-mapper/utils/getDataFromTemplateComponent.js +1 -0
  54. package/dist/cjs/components/template-context-mapper/utils/getVariableNameEmail.d.ts +2 -0
  55. package/dist/cjs/components/template-context-mapper/utils/getVariableNameEmail.js +1 -0
  56. package/dist/cjs/components/template-context-mapper/utils/highlightFor.d.ts +1 -0
  57. package/dist/cjs/components/template-context-mapper/utils/highlightFor.js +1 -0
  58. package/dist/cjs/components/template-context-mapper/utils/toCapitilize.d.ts +1 -0
  59. package/dist/cjs/components/template-context-mapper/utils/toCapitilize.js +1 -0
  60. package/dist/cjs/components/template-context-mapper/utils/validateIsUrl.d.ts +1 -0
  61. package/dist/cjs/components/template-context-mapper/utils/validateIsUrl.js +1 -0
  62. package/dist/cjs/components/template-preview/EmailTemplateHTMLPreview.d.ts +5 -0
  63. package/dist/cjs/components/template-preview/EmailTemplateThumbnailPreview.js +1 -1
  64. package/dist/cjs/components/template-preview/TemplatePreview.d.ts +4 -3
  65. package/dist/cjs/components/template-preview/TemplatePreview.js +1 -1
  66. package/dist/cjs/components/template-preview/constants/TemplateConstants.d.ts +9 -0
  67. package/dist/cjs/components/template-preview/constants/regexPatterns.d.ts +1 -1
  68. package/dist/cjs/components/template-preview/constants/regexPatterns.js +1 -1
  69. package/dist/cjs/components/template-preview/models/Channels.d.ts +2 -1
  70. package/dist/cjs/components/template-preview/models/Channels.js +1 -1
  71. package/dist/cjs/components/template-preview/models/EmailTemplate.d.ts +1 -0
  72. package/dist/cjs/components/template-preview/models/TemplateMeta.d.ts +35 -0
  73. package/dist/cjs/components/template-preview/models/TemplateMeta.js +1 -1
  74. package/dist/cjs/components/template-preview/models/WhatsAppTemplate.d.ts +45 -2
  75. package/dist/cjs/components/template-preview/models/WhatsAppTemplate.js +1 -0
  76. package/dist/cjs/index.d.ts +3 -0
  77. package/dist/cjs/index.js +1 -1
  78. package/dist/cjs/utils/StringUtils.d.ts +1 -0
  79. package/dist/cjs/utils/StringUtils.js +1 -1
  80. package/dist/cjs/utils/bytesToMB.d.ts +1 -0
  81. package/dist/cjs/utils/bytesToMB.js +1 -0
  82. package/dist/esm/assets/icons/desktop_custom.svg.js +1 -0
  83. package/dist/esm/assets/icons/document_pdf.svg.js +1 -0
  84. package/dist/esm/assets/icons/edit.svg.js +1 -0
  85. package/dist/esm/assets/icons/info.svg.js +1 -0
  86. package/dist/esm/assets/icons/mobile_custom.svg.js +1 -0
  87. package/dist/esm/assets/icons/refresh.svg.js +1 -0
  88. package/dist/esm/assets/icons/video_camcorder.svg.js +1 -0
  89. package/dist/esm/components/dropdown/Dropdown.js +1 -1
  90. package/dist/esm/components/helpers/FileUploaderHelper.d.ts +12 -0
  91. package/dist/esm/components/helpers/FileUploaderHelper.js +1 -0
  92. package/dist/esm/components/input/Input.d.ts +2 -1
  93. package/dist/esm/components/input/Input.js +1 -1
  94. package/dist/esm/components/template-context-mapper/Badge/index.d.ts +6 -0
  95. package/dist/esm/components/template-context-mapper/Badge/index.js +10 -0
  96. package/dist/esm/components/template-context-mapper/TemplateContextMapper.d.ts +21 -0
  97. package/dist/esm/components/template-context-mapper/TemplateContextMapper.js +1 -0
  98. package/dist/esm/components/template-context-mapper/context/templateModalContext.d.ts +37 -0
  99. package/dist/esm/components/template-context-mapper/context/templateModalContext.js +1 -0
  100. package/dist/esm/components/template-context-mapper/index.d.ts +1 -0
  101. package/dist/esm/components/template-context-mapper/modalElements/Body.d.ts +9 -0
  102. package/dist/esm/components/template-context-mapper/modalElements/Body.js +18 -0
  103. package/dist/esm/components/template-context-mapper/modalElements/DesktopPreview.d.ts +7 -0
  104. package/dist/esm/components/template-context-mapper/modalElements/DesktopPreview.js +20 -0
  105. package/dist/esm/components/template-context-mapper/modalElements/EditMediaV2.d.ts +12 -0
  106. package/dist/esm/components/template-context-mapper/modalElements/EditMediaV2.js +1 -0
  107. package/dist/esm/components/template-context-mapper/modalElements/EditMediaV2.style.d.ts +6 -0
  108. package/dist/esm/components/template-context-mapper/modalElements/EditMediaV2.style.js +30 -0
  109. package/dist/esm/components/template-context-mapper/modalElements/EditWhatsAppTemplateMediaV2.d.ts +9 -0
  110. package/dist/esm/components/template-context-mapper/modalElements/EditWhatsAppTemplateMediaV2.js +1 -0
  111. package/dist/esm/components/template-context-mapper/modalElements/EditWhatsAppTemplateV2.d.ts +11 -0
  112. package/dist/esm/components/template-context-mapper/modalElements/EditWhatsAppTemplateV2.js +1 -0
  113. package/dist/esm/components/template-context-mapper/modalElements/Footer.d.ts +6 -0
  114. package/dist/esm/components/template-context-mapper/modalElements/Footer.js +13 -0
  115. package/dist/esm/components/template-context-mapper/modalElements/Header.d.ts +6 -0
  116. package/dist/esm/components/template-context-mapper/modalElements/Header.js +23 -0
  117. package/dist/esm/components/template-context-mapper/modalElements/MobilePreview.d.ts +11 -0
  118. package/dist/esm/components/template-context-mapper/modalElements/MobilePreview.js +20 -0
  119. package/dist/esm/components/template-context-mapper/modalElements/TemplateSelectModalContent.d.ts +12 -0
  120. package/dist/esm/components/template-context-mapper/modalElements/TemplateSelectModalContent.js +1 -0
  121. package/dist/esm/components/template-context-mapper/modalElements/VariableConnector.d.ts +15 -0
  122. package/dist/esm/components/template-context-mapper/modalElements/VariableConnector.js +7 -0
  123. package/dist/esm/components/template-context-mapper/modalElements/VariableConnectorWhatsApp.d.ts +11 -0
  124. package/dist/esm/components/template-context-mapper/modalElements/VariableConnectorWhatsApp.js +1 -0
  125. package/dist/esm/components/template-context-mapper/modalElements/VariableConnectorsPanel.d.ts +7 -0
  126. package/dist/esm/components/template-context-mapper/modalElements/VariableConnectorsPanel.js +6 -0
  127. package/dist/esm/components/template-context-mapper/modalElements/VariableEditorHeader.d.ts +9 -0
  128. package/dist/esm/components/template-context-mapper/modalElements/VariableEditorHeader.js +3 -0
  129. package/dist/esm/components/template-context-mapper/modalElements/WhatsAppTemplateCardButtonV2.d.ts +16 -0
  130. package/dist/esm/components/template-context-mapper/modalElements/WhatsAppTemplateCardButtonV2.js +1 -0
  131. package/dist/esm/components/template-context-mapper/utils/convertPlaceholdersToBikDropdown.d.ts +6 -0
  132. package/dist/esm/components/template-context-mapper/utils/convertPlaceholdersToBikDropdown.js +1 -0
  133. package/dist/esm/components/template-context-mapper/utils/getDataFromTemplateComponent.d.ts +21 -0
  134. package/dist/esm/components/template-context-mapper/utils/getDataFromTemplateComponent.js +1 -0
  135. package/dist/esm/components/template-context-mapper/utils/getVariableNameEmail.d.ts +2 -0
  136. package/dist/esm/components/template-context-mapper/utils/getVariableNameEmail.js +1 -0
  137. package/dist/esm/components/template-context-mapper/utils/highlightFor.d.ts +1 -0
  138. package/dist/esm/components/template-context-mapper/utils/highlightFor.js +1 -0
  139. package/dist/esm/components/template-context-mapper/utils/toCapitilize.d.ts +1 -0
  140. package/dist/esm/components/template-context-mapper/utils/toCapitilize.js +1 -0
  141. package/dist/esm/components/template-context-mapper/utils/validateIsUrl.d.ts +1 -0
  142. package/dist/esm/components/template-context-mapper/utils/validateIsUrl.js +1 -0
  143. package/dist/esm/components/template-preview/EmailTemplateHTMLPreview.d.ts +5 -0
  144. package/dist/esm/components/template-preview/EmailTemplateThumbnailPreview.js +1 -1
  145. package/dist/esm/components/template-preview/TemplatePreview.d.ts +4 -3
  146. package/dist/esm/components/template-preview/TemplatePreview.js +1 -1
  147. package/dist/esm/components/template-preview/constants/TemplateConstants.d.ts +9 -0
  148. package/dist/esm/components/template-preview/constants/regexPatterns.d.ts +1 -1
  149. package/dist/esm/components/template-preview/constants/regexPatterns.js +1 -1
  150. package/dist/esm/components/template-preview/models/Channels.d.ts +2 -1
  151. package/dist/esm/components/template-preview/models/Channels.js +1 -1
  152. package/dist/esm/components/template-preview/models/EmailTemplate.d.ts +1 -0
  153. package/dist/esm/components/template-preview/models/TemplateMeta.d.ts +35 -0
  154. package/dist/esm/components/template-preview/models/TemplateMeta.js +1 -1
  155. package/dist/esm/components/template-preview/models/WhatsAppTemplate.d.ts +45 -2
  156. package/dist/esm/components/template-preview/models/WhatsAppTemplate.js +1 -0
  157. package/dist/esm/index.d.ts +3 -0
  158. package/dist/esm/index.js +1 -1
  159. package/dist/esm/utils/StringUtils.d.ts +1 -0
  160. package/dist/esm/utils/StringUtils.js +1 -1
  161. package/dist/esm/utils/bytesToMB.d.ts +1 -0
  162. package/dist/esm/utils/bytesToMB.js +1 -0
  163. package/package.json +5 -4
@@ -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"),l=require("./EmailTemplatePreview.styled.js");exports.default=r=>{let{template:a,handleViewTemplate:n,hideHeader:s,hideViewButton:d,containerStyle:m,emailHtmlContainerId:o,emailDisplayContent:u}=r;return e.jsxs(l.EmailContainer,Object.assign({hideHeader:s,style:Object.assign({},null!=m?m:{})},{children:[!s&&e.jsx(l.Header,{children:e.jsx(i.TitleRegular,Object.assign({style:{maxWidth:"100%"}},{children:a.name}))}),u?e.jsx("iframe",{title:"Email template preview",id:"template_html_mobile",width:"100%",srcDoc:u,height:"100%"}):e.jsx(l.ImageContainer,Object.assign({hideHeader:s},{children:e.jsx("img",{alt:"Email thumbnail",src:a.thumbnailUrl,style:{objectFit:"contain",width:"100%"}})})),!d&&e.jsx(l.ViewButton,{children:e.jsx(t.Button,{buttonType:"tertiary",buttonText:"View",onClick:()=>{n&&n()}})})]}))};
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"),t=require("../../utils/StringUtils.js"),l=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:l.COLORS.surface.standard,borderRadius:4,border:`1px solid ${l.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:b,outsidePreview:g}=d;var T,C;return u===n.CHANNEL_TYPE.SMS?e.jsx("div",Object.assign({style:Object.assign({marginTop:v?16:0,border:v?`1px solid ${l.COLORS.stroke.primary}`:"none",borderRadius:4},null==b?void 0:b.templateContainerStyles)},{children:e.jsx(r.default,{template:p,hideHeader:j,onlyTemplateContent:S,size:null!=h?h:"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:v?16:0},null==y?void 0:y.templateContainerStyles)},{children:e.jsx(i.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})})):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(a.TitleRegular,{children:t.default.convertToTitleCase(null!==(T=null==p?void 0:p.label)&&void 0!==T?T:"")})})):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!==(C=null==m?void 0:m.containerStyle)&&void 0!==C?C:{}),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";
@@ -35,4 +35,5 @@ export type EmailMeta = {
35
35
  handleViewTemplate?: () => void;
36
36
  emailDisplayContent?: string;
37
37
  templateContainerStyles?: React.CSSProperties | undefined;
38
+ emailHtmlContainerId?: string;
38
39
  };
@@ -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';
package/dist/cjs/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./utils/StringUtils.js"),o=require("./constants/Theme.js"),t=require("./components/checkBox/CheckBox.js"),r=require("./components/list-item/ListItem.js"),n=require("./components/pagination/Pagination.js"),p=require("./components/radioButton/RadioButton.js"),s=require("./components/toaster/Toaster.js"),i=require("./components/tooltips/Tooltip.js"),a=require("./components/tooltips/CustomisedTooltip.js"),u=require("./components/spinner/Spinner.js"),l=require("./components/stepper/Stepper.js"),d=require("./components/tag/Tag.js"),m=require("./components/icon-button/IconButton.js"),c=require("./components/template-preview/constants/regexPatterns.js"),x=require("./components/template-preview/TemplatePreview.js"),g=require("./components/template-preview/WhatsApp/WhatsAppLikePreview.js"),B=require("./components/template-preview/helpers/SmsTemplateHelper.js"),T=require("./components/template-preview/helpers/WhatsAppFormatToHTML.js"),y=require("./components/fab-menu/FABMenu.js"),S=require("./components/floating-action-button/FloatingActionButton.js"),j=require("./components/floating-action-button/FloatingActionButton.styles.js"),P=require("./components/image-compress/ImageCompress.js"),w=require("./components/TypographyStyle.js"),q=require("./components/button/Button.js"),C=require("./components/progress-bar/ProgressBarComponent.js"),O=require("./components/modals/styledModal.js"),L=require("./components/dropdown/Dropdown.js"),A=require("./components/dropdown/UnChildDropdown/UnChildDropdown.js"),I=require("./components/dropdown/opennedDropdown/components/OpennedDropdown.js"),F=require("./components/input/Input.js");exports.StringUtils=e.default,exports.BASE_COLORS=o.BASE_COLORS,exports.COLORS=o.COLORS,exports.DEFAULT_THEME=o.DEFAULT_THEME,exports.FONTS=o.FONTS,exports.CheckBox=t.CheckBox,exports.ListItem=r.ListItem,exports.Pagination=n.Pagination,exports.RadioButton=p.RadioButton,exports.Toaster=s.Toaster,exports.Tooltip=i.Tooltip,exports.CustomisedTooltip=a.CustomisedTooltip,Object.defineProperty(exports,"TooltipPlacement",{enumerable:!0,get:function(){return a.TooltipPlacement}}),exports.Spinner=u.Spinner,exports.Stepper=l.Stepper,exports.Tag=d.Tag,exports.IconButton=m.IconButton,exports.regexPatterns=c,exports.TemplatePreview=x.TemplatePreview,exports.WhatsappLikePreview=g.WhatsappLikePreview,exports.renderVariableUIForPreview=B.renderVariableUIForPreview,exports.WhatsAppFormatToHTML=T.WhatsAppFormatToHTML,exports.FABMenu=y.FABMenu,exports.FloatingActionButton=S.FloatingActionButton,Object.defineProperty(exports,"DROP_POSITION",{enumerable:!0,get:function(){return j.DROP_POSITION}}),exports.DropdownToggleContainer=j.DropdownToggleContainer,Object.defineProperty(exports,"FAB_POSITION",{enumerable:!0,get:function(){return j.FAB_POSITION}}),exports.FloatingActionButtonContainer=j.FloatingActionButtonContainer,exports.FloatingActionButtonOuterContainer=j.FloatingActionButtonOuterContainer,Object.defineProperty(exports,"MENU_ALIGNMENT",{enumerable:!0,get:function(){return j.MENU_ALIGNMENT}}),exports.StyledDropdown=j.StyledDropdown,exports.ImageService=P.ImageService,exports.BodyCaption=w.BodyCaption,exports.BodyLarge=w.BodyLarge,exports.BodyPrimary=w.BodyPrimary,exports.BodyPrimaryLink=w.BodyPrimaryLink,exports.BodyRegular=w.BodyRegular,exports.BodySecondary=w.BodySecondary,exports.BodySecondaryLink=w.BodySecondaryLink,exports.BodyTiny=w.BodyTiny,exports.ButtonLarge=w.ButtonLarge,exports.ButtonRegular=w.ButtonRegular,exports.Caption=w.Caption,exports.Display=w.Display,exports.SubHeading=w.SubHeading,exports.TitleLarge=w.TitleLarge,exports.TitleMedium=w.TitleMedium,exports.TitleRegular=w.TitleRegular,exports.TitleSmall=w.TitleSmall,exports.Button=q.Button,exports.ProgressBarComponent=C.ProgressBarComponent,exports.ProgressCompletedBar=C.ProgressCompletedBar,exports.StyledModal=O.StyledModal,exports.Dropdown=L.Dropdown,exports.UnChildDropdown=A.UnChildDropdown,exports.OpennedDropdown=I.OpennedDropdown,exports.Input=F.Input;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./components/template-preview/constants/regexPatterns.js"),o=require("./utils/StringUtils.js"),t=require("./constants/Theme.js"),r=require("./components/checkBox/CheckBox.js"),n=require("./components/list-item/ListItem.js"),p=require("./components/pagination/Pagination.js"),s=require("./components/radioButton/RadioButton.js"),i=require("./components/toaster/Toaster.js"),a=require("./components/tooltips/Tooltip.js"),u=require("./components/tooltips/CustomisedTooltip.js"),l=require("./components/spinner/Spinner.js"),m=require("./components/stepper/Stepper.js"),d=require("./components/tag/Tag.js"),c=require("./components/icon-button/IconButton.js"),x=require("./components/template-preview/TemplatePreview.js"),g=require("./components/template-preview/WhatsApp/WhatsAppLikePreview.js"),B=require("./components/template-preview/helpers/SmsTemplateHelper.js"),T=require("./components/template-preview/helpers/WhatsAppFormatToHTML.js"),y=require("./components/template-context-mapper/TemplateContextMapper.js"),j=require("./components/fab-menu/FABMenu.js"),S=require("./components/floating-action-button/FloatingActionButton.js"),P=require("./components/floating-action-button/FloatingActionButton.styles.js"),C=require("./components/image-compress/ImageCompress.js"),q=require("./components/TypographyStyle.js"),w=require("./components/button/Button.js"),O=require("./components/progress-bar/ProgressBarComponent.js"),L=require("./components/modals/styledModal.js"),A=require("./components/dropdown/Dropdown.js"),I=require("./components/dropdown/UnChildDropdown/UnChildDropdown.js"),F=require("./components/dropdown/opennedDropdown/components/OpennedDropdown.js"),D=require("./components/input/Input.js");exports.regexPatterns=e,exports.StringUtils=o.default,exports.BASE_COLORS=t.BASE_COLORS,exports.COLORS=t.COLORS,exports.DEFAULT_THEME=t.DEFAULT_THEME,exports.FONTS=t.FONTS,exports.CheckBox=r.CheckBox,exports.ListItem=n.ListItem,exports.Pagination=p.Pagination,exports.RadioButton=s.RadioButton,exports.Toaster=i.Toaster,exports.Tooltip=a.Tooltip,exports.CustomisedTooltip=u.CustomisedTooltip,Object.defineProperty(exports,"TooltipPlacement",{enumerable:!0,get:function(){return u.TooltipPlacement}}),exports.Spinner=l.Spinner,exports.Stepper=m.Stepper,exports.Tag=d.Tag,exports.IconButton=c.IconButton,exports.TemplatePreview=x.TemplatePreview,exports.WhatsappLikePreview=g.WhatsappLikePreview,exports.renderVariableUIForPreview=B.renderVariableUIForPreview,exports.WhatsAppFormatToHTML=T.WhatsAppFormatToHTML,exports.TemplateContextMapper=y.TemplateContextMapper,exports.FABMenu=j.FABMenu,exports.FloatingActionButton=S.FloatingActionButton,Object.defineProperty(exports,"DROP_POSITION",{enumerable:!0,get:function(){return P.DROP_POSITION}}),exports.DropdownToggleContainer=P.DropdownToggleContainer,Object.defineProperty(exports,"FAB_POSITION",{enumerable:!0,get:function(){return P.FAB_POSITION}}),exports.FloatingActionButtonContainer=P.FloatingActionButtonContainer,exports.FloatingActionButtonOuterContainer=P.FloatingActionButtonOuterContainer,Object.defineProperty(exports,"MENU_ALIGNMENT",{enumerable:!0,get:function(){return P.MENU_ALIGNMENT}}),exports.StyledDropdown=P.StyledDropdown,exports.ImageService=C.ImageService,exports.BodyCaption=q.BodyCaption,exports.BodyLarge=q.BodyLarge,exports.BodyPrimary=q.BodyPrimary,exports.BodyPrimaryLink=q.BodyPrimaryLink,exports.BodyRegular=q.BodyRegular,exports.BodySecondary=q.BodySecondary,exports.BodySecondaryLink=q.BodySecondaryLink,exports.BodyTiny=q.BodyTiny,exports.ButtonLarge=q.ButtonLarge,exports.ButtonRegular=q.ButtonRegular,exports.Caption=q.Caption,exports.Display=q.Display,exports.SubHeading=q.SubHeading,exports.TitleLarge=q.TitleLarge,exports.TitleMedium=q.TitleMedium,exports.TitleRegular=q.TitleRegular,exports.TitleSmall=q.TitleSmall,exports.Button=w.Button,exports.ProgressBarComponent=O.ProgressBarComponent,exports.ProgressCompletedBar=O.ProgressCompletedBar,exports.StyledModal=L.StyledModal,exports.Dropdown=A.Dropdown,exports.UnChildDropdown=I.UnChildDropdown,exports.OpennedDropdown=F.OpennedDropdown,exports.Input=D.Input;
@@ -7,4 +7,5 @@ export default class StringUtils {
7
7
  static detectUrl: (str: string) => RegExpMatchArray | null;
8
8
  static getAvatarText(name: string): string;
9
9
  static firstLetters: (string: string) => string;
10
+ static capitaliseFirstLetterOfString(string: string): string;
10
11
  }
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});class e{static convertToTitleCase(e){const t=(e=e.toLowerCase()).split(" ");for(let e=0;e<t.length;e++)t[e]=t[e].charAt(0).toUpperCase()+t[e].slice(1);return t.join(" ")}static getAvatarText(e){if(e){const t=e.match(/\b(\w)/g),r=null==t?void 0:t.join("");return r?r.substring(0,2).toUpperCase():"C"}return""}}Object.defineProperty(e,"normalizeName",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>{const r=e.split(t).join(" ");return r[0].toUpperCase()+r.slice(1)}}),Object.defineProperty(e,"capitalize",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t;return e.charAt(0).toUpperCase()+(null===(t=e.slice(1))||void 0===t?void 0:t.toLowerCase())}}),Object.defineProperty(e,"pluralize",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>0===t||t>1?e+"s":e}),Object.defineProperty(e,"getFullPhoneNumber",{enumerable:!0,configurable:!0,writable:!0,value:e=>e?"+91"+e.slice(e.length-10):""}),Object.defineProperty(e,"detectUrl",{enumerable:!0,configurable:!0,writable:!0,value:e=>e.match(/(((https?:\/\/)|(www\.))[^\s]+)/g)}),Object.defineProperty(e,"firstLetters",{enumerable:!0,configurable:!0,writable:!0,value:e=>{let t="";return e.split(" ").forEach((e=>{e.length&&(t+=e[0])})),t.substr(0,2)}}),exports.default=e;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});class e{static convertToTitleCase(e){const t=(e=e.toLowerCase()).split(" ");for(let e=0;e<t.length;e++)t[e]=t[e].charAt(0).toUpperCase()+t[e].slice(1);return t.join(" ")}static getAvatarText(e){if(e){const t=e.match(/\b(\w)/g),r=null==t?void 0:t.join("");return r?r.substring(0,2).toUpperCase():"C"}return""}static capitaliseFirstLetterOfString(e){return e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()}}Object.defineProperty(e,"normalizeName",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>{const r=e.split(t).join(" ");return r[0].toUpperCase()+r.slice(1)}}),Object.defineProperty(e,"capitalize",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t;return e.charAt(0).toUpperCase()+(null===(t=e.slice(1))||void 0===t?void 0:t.toLowerCase())}}),Object.defineProperty(e,"pluralize",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>0===t||t>1?e+"s":e}),Object.defineProperty(e,"getFullPhoneNumber",{enumerable:!0,configurable:!0,writable:!0,value:e=>e?"+91"+e.slice(e.length-10):""}),Object.defineProperty(e,"detectUrl",{enumerable:!0,configurable:!0,writable:!0,value:e=>e.match(/(((https?:\/\/)|(www\.))[^\s]+)/g)}),Object.defineProperty(e,"firstLetters",{enumerable:!0,configurable:!0,writable:!0,value:e=>{let t="";return e.split(" ").forEach((e=>{e.length&&(t+=e[0])})),t.substr(0,2)}}),exports.default=e;
@@ -0,0 +1 @@
1
+ export declare const bytesToMB: (bytes: number) => number;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.bytesToMB=e=>e/Math.pow(1024,2);
@@ -0,0 +1 @@
1
+ import*as e from"react";var a;function r(){return r=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var r=arguments[a];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e},r.apply(this,arguments)}var t=t=>e.createElement("svg",r({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 20 20"},t),a||(a=e.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M.833 5.833a2.5 2.5 0 0 1 2.5-2.5h13.334a2.5 2.5 0 0 1 2.5 2.5V12.5a2.5 2.5 0 0 1-2.5 2.5h-5.834v1.666h3.334a.833.833 0 0 1 0 1.667H5.833a.833.833 0 1 1 0-1.667h3.334V15H3.333a2.5 2.5 0 0 1-2.5-2.5V5.833ZM3.333 5a.833.833 0 0 0-.833.833V12.5c0 .46.373.833.833.833h13.334c.46 0 .833-.373.833-.833V5.833A.833.833 0 0 0 16.667 5H3.333Z",clipRule:"evenodd"})));export{t as default};
@@ -0,0 +1 @@
1
+ import*as a from"react";var e,r,t;function l(){return l=Object.assign?Object.assign.bind():function(a){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(a[t]=r[t])}return a},l.apply(this,arguments)}var n=n=>a.createElement("svg",l({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 19 22"},n),e||(e=a.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M3.98 16.9a.1.1 0 0 0 .1.1h.722a.1.1 0 0 0 .1-.1v-1.215a.1.1 0 0 1 .1-.1h.675c1.004 0 1.588-.599 1.588-1.47 0-.867-.573-1.479-1.564-1.479H4.079a.1.1 0 0 0-.1.1V16.9Zm1.022-2.054a.1.1 0 0 1-.1-.1V13.49a.1.1 0 0 1 .1-.1h.522c.533 0 .79.29.79.724 0 .433-.257.73-.786.73h-.526ZM9.41 17c1.33 0 2.136-.823 2.136-2.186 0-1.36-.806-2.178-2.122-2.178h-1.46a.1.1 0 0 0-.1.1V16.9a.1.1 0 0 0 .1.1h1.447Zm-.523-.79a.1.1 0 0 1-.1-.1v-2.583a.1.1 0 0 1 .1-.1h.488c.818 0 1.25.417 1.25 1.387 0 .974-.432 1.395-1.252 1.395h-.486Z",clipRule:"evenodd"})),r||(r=a.createElement("path",{fill:"currentColor",d:"M12.33 17a.1.1 0 0 1-.1-.1v-4.164a.1.1 0 0 1 .1-.1h2.688a.1.1 0 0 1 .1.1v.561a.1.1 0 0 1-.1.1h-1.766a.1.1 0 0 0-.1.1v.84a.1.1 0 0 0 .1.1h1.575a.1.1 0 0 1 .1.1v.56a.1.1 0 0 1-.1.1h-1.575a.1.1 0 0 0-.1.1V16.9a.1.1 0 0 1-.1.1h-.723Z"})),t||(t=a.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M3.6 0a3 3 0 0 0-3 3v16a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V7.586L11.014 0H3.6Zm-1 3a1 1 0 0 1 1-1h6v4a3 3 0 0 0 3 3h4v10a1 1 0 0 1-1 1h-12a1 1 0 0 1-1-1V3Zm12.586 4L11.6 3.414V6a1 1 0 0 0 1 1h2.586Z",clipRule:"evenodd"})));export{n as default};
@@ -0,0 +1 @@
1
+ import*as e from"react";var a;function r(){return r=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var r=arguments[a];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e},r.apply(this,arguments)}var t=t=>e.createElement("svg",r({xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",viewBox:"0 0 24 24"},t),a||(a=e.createElement("path",{fillRule:"evenodd",d:"M17.718 5a1.282 1.282 0 0 0-.907.376L6.105 16.08l-.68 2.494 2.494-.68L18.624 7.189a1.281 1.281 0 0 0-.906-2.19Zm-1.256-1.75a3.282 3.282 0 0 1 3.577 5.353L9.145 19.497a1 1 0 0 1-.444.257l-4.438 1.21a1 1 0 0 1-1.228-1.227l1.21-4.438a1 1 0 0 1 .258-.444L15.397 3.96a3.281 3.281 0 0 1 1.065-.711Z",clipRule:"evenodd"})));export{t as default};
@@ -0,0 +1 @@
1
+ import*as e from"react";var r,t;function a(){return a=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},a.apply(this,arguments)}var l=l=>e.createElement("svg",a({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16"},l),r||(r=e.createElement("path",{fill:"currentColor",d:"M8 7.333c.368 0 .667.299.667.667v2.666a.667.667 0 1 1-1.334 0V8c0-.368.299-.667.667-.667ZM8 6a.667.667 0 1 0 0-1.334A.667.667 0 0 0 8 6Z"})),t||(t=e.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M.667 8a7.333 7.333 0 1 1 14.666 0A7.333 7.333 0 0 1 .667 8ZM8 2a6 6 0 1 0 0 12A6 6 0 0 0 8 2Z",clipRule:"evenodd"})));export{l as default};
@@ -0,0 +1 @@
1
+ import*as e from"react";var r,t;function a(){return a=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},a.apply(this,arguments)}var l=l=>e.createElement("svg",a({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 20 20"},l),r||(r=e.createElement("path",{fill:"currentColor",d:"M10 14.166a.833.833 0 0 0 0 1.667h.008a.833.833 0 0 0 0-1.667H10Z"})),t||(t=e.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M5.833.833a2.5 2.5 0 0 0-2.5 2.5v13.333a2.5 2.5 0 0 0 2.5 2.5h8.334a2.5 2.5 0 0 0 2.5-2.5V3.333a2.5 2.5 0 0 0-2.5-2.5H5.833ZM5 3.333c0-.46.373-.833.833-.833h8.334c.46 0 .833.373.833.833v13.333c0 .46-.373.834-.833.834H5.833A.833.833 0 0 1 5 16.666V3.333Z",clipRule:"evenodd"})));export{l as default};
@@ -0,0 +1 @@
1
+ import*as r from"react";var t;function a(){return a=Object.assign?Object.assign.bind():function(r){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var e in a)Object.prototype.hasOwnProperty.call(a,e)&&(r[e]=a[e])}return r},a.apply(this,arguments)}var e=e=>r.createElement("svg",a({xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",viewBox:"0 0 24 24"},e),t||(t=r.createElement("path",{d:"M17.407 1.506a1 1 0 0 0-1.783-.1l-1.123 1.946a9 9 0 1 0 6.501 8.647 1 1 0 0 0-2 .002 7 7 0 1 1-5.54-6.849l-.666 1.152a1 1 0 0 0 .979 1.494l4.73-.535a1 1 0 0 0 .804-1.393l-1.902-4.364Z"})));export{e as default};
@@ -0,0 +1 @@
1
+ import*as e from"react";var a;function r(){return r=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var r=arguments[a];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e},r.apply(this,arguments)}var t=t=>e.createElement("svg",r({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},t),a||(a=e.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M17 10.057V7a3 3 0 0 0-3-3H3a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h11a3 3 0 0 0 3-3v-3.057l5.419 3.87A1 1 0 0 0 24 17V7a1 1 0 0 0-1.581-.814L17 10.056ZM2 7a1 1 0 0 1 1-1h11a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V7Zm20 8.057L17.72 12 22 8.943v6.114Z",clipRule:"evenodd"})));export{t as default};
@@ -1 +1 @@
1
- import{__rest as o}from"../../_virtual/_tslib.js";import{jsx as t}from"react/jsx-runtime";import{useRef as e,useState as n,useEffect as r}from"react";import{COLORS as i}from"../../constants/Theme.js";import l from"../../assets/icons/chevronDown.svg.js";import{Input as s}from"../input/Input.js";import{InputStyleContext as a}from"../input/context/InputStyleProvider.js";import{UnChildDropdown as d}from"./UnChildDropdown/UnChildDropdown.js";function p(){}const c=c=>{var u,m,{placeHolder:h,size:v,onSelect:f,defaultOptions:g,disabled:b}=c,j=o(c,["placeHolder","size","onSelect","defaultOptions","disabled"]);const w=null!=v?v:"default",x=e(),[O,y]=n(null!=g?g:[]);r((()=>{var o;const t=[];null===(o=null==j?void 0:j.options)||void 0===o||o.forEach((o=>{o.options?o.options.forEach((o=>{o.selected&&t.push(Object.assign(Object.assign({},o),{label:o.label}))})):o.selected&&t.push(o)})),y([...t])}),[j.options]);const I=O.length?O.map((o=>o.label)).join(", "):void 0;return t(a.Provider,Object.assign({value:{InputWrapper:{height:"small"===w?32:48,width:null!==(u=j.width)&&void 0!==u?u:"100%",zIndex:1,cursor:"pointer",padding:"6px 8px"},input:{minHeight:"100%"}}},{children:t(d,Object.assign({ref:x,onSelect:function(o){Array.isArray(o)?y([...o]):y([o]),null==f||f(o)},disabled:b},j,{children:t(s,{state:b?"disabled":"active",value:I,errorMessage:j.error,variant:w,placeholder:null!=h?h:"Select an option",width:null!==(m=j.width)&&void 0!==m?m:"100%",onChangeText:p,rightIcon:{icon:()=>{var o;return t(l,{style:{transform:(null===(o=null==x?void 0:x.current)||void 0===o?void 0:o.openDropdown)?"rotate(180deg)":"rotate(0deg)"},onClick:p,width:"small"===w?20:24,height:"small"===w?20:24,color:i.content.primary})}}})}))}))};export{c as Dropdown};
1
+ import{__rest as o}from"../../_virtual/_tslib.js";import{jsx as e}from"react/jsx-runtime";import{useRef as t,useState as n,useEffect as r}from"react";import{COLORS as i}from"../../constants/Theme.js";import l from"../../assets/icons/chevronDown.svg.js";import{Input as s}from"../input/Input.js";import{InputStyleContext as a}from"../input/context/InputStyleProvider.js";import{UnChildDropdown as d}from"./UnChildDropdown/UnChildDropdown.js";function p(){}const c=c=>{var u,m,{placeHolder:h,size:v,onSelect:f,defaultOptions:g,disabled:b}=c,j=o(c,["placeHolder","size","onSelect","defaultOptions","disabled"]);const w=null!=v?v:"default",x=t(),[O,y]=n(null!=g?g:[]);r((()=>{var o;const e=[];null===(o=null==j?void 0:j.options)||void 0===o||o.forEach((o=>{o.options?o.options.forEach((o=>{o.selected&&e.push(Object.assign(Object.assign({},o),{label:o.label}))})):o.selected&&e.push(o)})),y([...e])}),[j.options]),r((()=>{g&&y([...g])}),[g]);const I=O.length?O.map((o=>o.label)).join(", "):void 0;return e(a.Provider,Object.assign({value:{InputWrapper:{height:"small"===w?32:48,width:null!==(u=j.width)&&void 0!==u?u:"100%",zIndex:1,cursor:"pointer",padding:"6px 8px"},input:{minHeight:"100%"}}},{children:e(d,Object.assign({ref:x,onSelect:function(o){Array.isArray(o)?y([...o]):y([o]),null==f||f(o)},disabled:b},j,{children:e(s,{state:b?"disabled":"none",value:I,errorMessage:j.error,variant:w,placeholder:null!=h?h:"Select an option",width:null!==(m=j.width)&&void 0!==m?m:"100%",onChangeText:p,rightIcon:{icon:()=>{var o;return e(l,{style:{transform:(null===(o=null==x?void 0:x.current)||void 0===o?void 0:o.openDropdown)?"rotate(180deg)":"rotate(0deg)"},onClick:p,width:"small"===w?20:24,height:"small"===w?20:24,color:i.content.primary})}}})}))}))};export{c as Dropdown};
@@ -0,0 +1,12 @@
1
+ export declare const FILE_TYPE_NOT_SUPPORT = "File type no supported";
2
+ export declare const FILE_SIZE_REACHED: (size: number) => string;
3
+ export declare const getFileFormatErrorMessage: (format: string) => string;
4
+ export declare const SIZE_LIMIT_MAP: {
5
+ image: number;
6
+ video: number;
7
+ application: number;
8
+ };
9
+ export declare const SUPPORTED_FILE_FORMAT: string[];
10
+ export declare class FileUploaderHelper {
11
+ validate(file: Blob): string | undefined;
12
+ }
@@ -0,0 +1 @@
1
+ import{bytesToMB as e}from"../../utils/bytesToMB.js";const i="File type no supported",p=e=>`Max file size of ${e}mb is allowed`,t=e=>`Only ${e.toUpperCase()} format allowed`,o={image:5,video:16,application:100},r=["mp4","png","jpeg","jpg","pdf"];class a{validate(a){const l=a.size,[s,n]=a.type.split("/");if(!o[s])return i;if(e(l)>o[s])return p(o[s]);if(!r.includes(n.toLocaleLowerCase())){if("video"===s)return t("mp4");if("image"===s)return t("png, jpeg, jpg");if("application"===s)return t("pdf")}}}export{p as FILE_SIZE_REACHED,i as FILE_TYPE_NOT_SUPPORT,a as FileUploaderHelper,o as SIZE_LIMIT_MAP,r as SUPPORTED_FILE_FORMAT,t as getFileFormatErrorMessage};
@@ -34,7 +34,8 @@ export interface InputProps {
34
34
  suffixText?: string;
35
35
  prefixText?: string;
36
36
  value?: string;
37
- onBlur?: () => void;
37
+ id?: string;
38
+ onBlur?: (e: any) => void;
38
39
  onFocus?: () => void;
39
40
  }
40
41
  export declare const Input: import("react").ForwardRefExoticComponent<InputProps & import("react").RefAttributes<HTMLInputElement | HTMLTextAreaElement>>;
@@ -1 +1 @@
1
- import{jsxs as e,jsx as t,Fragment as n}from"react/jsx-runtime";import{forwardRef as i,useState as l,useContext as r,useEffect as o}from"react";import{Button as a}from"../button/Button.js";import{BodySecondary as s}from"../TypographyStyle.js";import c from"../../assets/icons/errorInfo.svg.js";import{InputStyleContext as d}from"./context/InputStyleProvider.js";import{RootContainer as u,InputFooter as h,InputWrapper as v,IconHolder as p,PrefixHolder as f,InputContainer as g,InputContainerSmall as m,SuffixHolder as x,InputHeader as y,MaxCharStyle as b}from"./Input.styled.js";const j=e=>e&&"function"==typeof e,C=i(((i,C)=>{var I,O,w;const{placeholder:T,leftIcon:k,rightIcon:B,labelText:L,maxCharLimit:S,isRequired:D,hintText:F,type:z,state:A,validate:E,variant:K,button:M,suffixText:R,prefixText:q,onChangeText:H,value:N}=Object.assign({maxCharLimit:0,type:"text",variant:"default"},i),P=null==k?void 0:k.icon,W=null==B?void 0:B.icon,[G,J]=l(""),[Q,U]=l(!1),[V,X]=l(!1),[Y,Z]=l(),$="small"===K?"18px":"22px",_=r(d);o((()=>{Z(i.errorMessage)}),[i.errorMessage]),o((()=>{U(!1),("invalid"===i.state||Y)&&U(!0)}),[i.state,Y]),o((()=>{U(!!Y)}),[Y]),o((()=>{if(H(G),!E||!j(E))return;const[e,t]=E(G);U(!e),Z(t)}),[G]);const ee=function(e){if(j(e)){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];e(...n)}},te=e=>{![8].includes(e.which)&&S>0&&e.target.value.length===S&&e.preventDefault()},ne=e=>{J(e.target.value)},ie=()=>{var l;return e(n,{children:["multiline"!==z&&t("input",{style:null!==(l=null==_?void 0:_.input)&&void 0!==l?l:{},ref:C,type:z,value:N,onFocus:()=>(X(!0),void ee(i.onFocus)),onBlur:()=>(X(!1),void ee(i.onBlur)),placeholder:T||"Enter here",onChange:ne,onKeyDown:e=>te(e)}),"multiline"===z&&t("textarea",{value:N,ref:C,onFocus:()=>X(!0),onBlur:()=>X(!1),placeholder:T||"Enter here",onChange:ne,onKeyDown:e=>te(e)})]})};return e(u,Object.assign({width:i.width,height:i.height,state:A,type:z,style:null!==(I=null==_?void 0:_.RootContainer)&&void 0!==I?I:{}},{children:[(!!F||!!Y)&&e(h,Object.assign({invalid:!!Y},{children:[!!Y&&t(c,{}),Y||F]})),e(v,Object.assign({variant:K,state:A,width:i.width,isActive:"active"===A||V,isInvalid:Q,style:null!==(O=null==_?void 0:_.InputWrapper)&&void 0!==O?O:{}},{children:[!!P&&t(p,Object.assign({variant:K,iconSize:$,onClick:()=>ee(null==k?void 0:k.callback),isLeft:!0,style:null!==(w=null==_?void 0:_.IconHolder)&&void 0!==w?w:{}},{children:t(P,{})})),!!q&&t(f,Object.assign({variant:K},{children:q})),"default"===K&&t(g,{children:ie()}),"small"===K&&t(m,{children:ie()}),!!W&&t(p,Object.assign({variant:K,iconSize:$,onClick:()=>ee(null==k?void 0:k.callback),isLeft:!1},{children:t(W,{})})),!!R&&t(x,Object.assign({variant:K},{children:R})),M&&M.text&&t(a,{buttonText:M.text,onClick:()=>ee(null==M?void 0:M.onClick)})]})),(!!L||!!S)&&"default"===K&&e(y,Object.assign({invalid:Q},{children:[e(s,{children:[L,D?t("span",{children:"*"}):""]}),S>0&&e(b,{children:[G.length,"/",S]})]}))]}))}));C.displayName="Input";export{C as Input};
1
+ import{jsxs as e,jsx as t,Fragment as n}from"react/jsx-runtime";import{forwardRef as i,useState as l,useContext as r,useEffect as o}from"react";import{Button as a}from"../button/Button.js";import{BodySecondary as s}from"../TypographyStyle.js";import c from"../../assets/icons/errorInfo.svg.js";import{InputStyleContext as d}from"./context/InputStyleProvider.js";import{RootContainer as u,InputFooter as v,InputWrapper as h,IconHolder as p,PrefixHolder as f,InputContainer as g,InputContainerSmall as m,SuffixHolder as x,InputHeader as y,MaxCharStyle as b}from"./Input.styled.js";const j=e=>e&&"function"==typeof e,C=i(((i,C)=>{var I,O,w,T;const{placeholder:k,leftIcon:B,rightIcon:L,labelText:S,maxCharLimit:D,isRequired:F,hintText:z,type:A,state:E,validate:K,variant:M,button:R,suffixText:q,prefixText:H,onChangeText:N,value:P,id:W}=Object.assign({maxCharLimit:0,type:"text",variant:"default"},i),G=null==B?void 0:B.icon,J=null==L?void 0:L.icon,[Q,U]=l(null!==(I=i.value)&&void 0!==I?I:""),[V,X]=l(!1),[Y,Z]=l(!1),[$,_]=l(),ee="small"===M?"18px":"22px",te=r(d);o((()=>{var e;U(null!==(e=i.value)&&void 0!==e?e:"")}),[i.value]),o((()=>{_(i.errorMessage)}),[i.errorMessage]),o((()=>{X(!1),("invalid"===i.state||$)&&X(!0)}),[i.state,$]),o((()=>{X(!!$)}),[$]),o((()=>{if(N(Q),!K||!j(K))return;const[e,t]=K(Q);X(!e),_(t)}),[Q]);const ne=function(e){if(j(e)){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];e(...n)}},ie=e=>{![8].includes(e.which)&&D>0&&e.target.value.length===D&&e.preventDefault()},le=e=>{U(e.target.value)},re=()=>{var l;return e(n,{children:["multiline"!==A&&t("input",{id:W,style:null!==(l=null==te?void 0:te.input)&&void 0!==l?l:{},ref:C,type:A,value:P,onFocus:()=>(Z(!0),void ne(i.onFocus)),onBlur:e=>(e=>{var t;Z(!1),ne(null===(t=i.onBlur)||void 0===t?void 0:t.call(i,e))})(e),placeholder:k||"Enter here",onChange:le,onKeyDown:e=>ie(e)}),"multiline"===A&&t("textarea",{value:P,ref:C,onFocus:()=>Z(!0),onBlur:()=>Z(!1),placeholder:k||"Enter here",onChange:le,onKeyDown:e=>ie(e)})]})};return e(u,Object.assign({width:i.width,height:i.height,state:E,type:A,style:null!==(O=null==te?void 0:te.RootContainer)&&void 0!==O?O:{}},{children:[(!!z||!!$)&&e(v,Object.assign({invalid:!!$},{children:[!!$&&t(c,{}),$||z]})),e(h,Object.assign({variant:M,state:E,width:i.width,isActive:"active"===E||Y,isInvalid:V,style:null!==(w=null==te?void 0:te.InputWrapper)&&void 0!==w?w:{}},{children:[!!G&&t(p,Object.assign({variant:M,iconSize:ee,onClick:()=>ne(null==B?void 0:B.callback),isLeft:!0,style:null!==(T=null==te?void 0:te.IconHolder)&&void 0!==T?T:{}},{children:t(G,{})})),!!H&&t(f,Object.assign({variant:M},{children:H})),"default"===M&&t(g,{children:re()}),"small"===M&&t(m,{children:re()}),!!J&&t(p,Object.assign({variant:M,iconSize:ee,onClick:()=>ne(null==B?void 0:B.callback),isLeft:!1},{children:t(J,{})})),!!q&&t(x,Object.assign({variant:M},{children:q})),R&&R.text&&t(a,{buttonText:R.text,onClick:()=>ne(null==R?void 0:R.onClick)})]})),(!!S||!!D)&&"default"===M&&e(y,Object.assign({invalid:V},{children:[e(s,{children:[S,F?t("span",{children:"*"}):""]}),D>0&&e(b,{children:[Q.length,"/",D]})]}))]}))}));C.displayName="Input";export{C as Input};
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ export declare const BadgeContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
3
+ export interface BadgeProps {
4
+ errorText: string;
5
+ }
6
+ export declare const Badge: (props: BadgeProps) => JSX.Element;
@@ -0,0 +1,10 @@
1
+ import{jsxs as r,jsx as t}from"react/jsx-runtime";import e from"../../../assets/icons/alert.svg.js";import o from"styled-components";import{BodySecondary as n}from"../../TypographyStyle.js";import{COLORS as i}from"../../../constants/Theme.js";const s=o.div`
2
+ background: ${i.background.negative.light};
3
+ display: flex;
4
+ align-items: center;
5
+ padding: 0px 12px;
6
+ gap: 8px;
7
+ border-radius: 4px;
8
+ margin-right: 12px;
9
+ color: ${i.content.negative};
10
+ `,p=o=>{const{errorText:p}=o;return r(s,{children:[t(e,{height:20,width:20,color:i.content.negative}),t(n,{children:p})]})};export{p as Badge,s as BadgeContainer};
@@ -0,0 +1,21 @@
1
+ /// <reference types="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 { CUSTOM_VARIABLE, GlobalPlaceholderType } from '../template-preview/models/TemplateMeta';
6
+ import { WhatsAppPickerMeta, WhatsAppTemplate, WhatsAppTemplateVariables } from '../template-preview/models/WhatsAppTemplate';
7
+ export interface TemplateContextMapperProps {
8
+ selectedTemplate: WhatsAppTemplate | EmailTemplateType | SMSTemplateType;
9
+ closeDialog?: () => void;
10
+ showVariableMapping: boolean;
11
+ channel: CHANNEL_TYPE;
12
+ globalPlaceholders: GlobalPlaceholderType;
13
+ /** List of variables being used in this template */
14
+ templateVariables: CUSTOM_VARIABLE[];
15
+ /** Only for initial-UI-purpose for the modal */
16
+ htmlContent: string;
17
+ showOnlyContent?: boolean;
18
+ onTemplateSelect?(template: EmailTemplateType | SMSTemplateType | WhatsAppTemplate, variables: CUSTOM_VARIABLE[] | WhatsAppTemplateVariables, display_content?: string): string | void;
19
+ whatsappSpecificPickerMeta?: WhatsAppPickerMeta;
20
+ }
21
+ export declare const TemplateContextMapper: ({ selectedTemplate, closeDialog, showVariableMapping, channel, htmlContent, templateVariables, onTemplateSelect, globalPlaceholders, showOnlyContent, whatsappSpecificPickerMeta, }: TemplateContextMapperProps) => JSX.Element;
@@ -0,0 +1 @@
1
+ import{jsx as e,jsxs as t,Fragment as l}from"react/jsx-runtime";import{useEffect as o,useState as i,useMemo as a}from"react";import n from"../../utils/StringUtils.js";import{StyledModal as r}from"../modals/styledModal.js";import{CHANNEL_TYPE as s}from"../template-preview/models/Channels.js";import{TemplateModalContext as c}from"./context/templateModalContext.js";import m from"./modalElements/Footer.js";import p from"./modalElements/TemplateSelectModalContent.js";import{convertPlaceholdersToBikDropdown as d}from"./utils/convertPlaceholdersToBikDropdown.js";const h=h=>{let{selectedTemplate:u,closeDialog:g,showVariableMapping:f,channel:v,htmlContent:b,templateVariables:j,onTemplateSelect:M,globalPlaceholders:S,showOnlyContent:C,whatsappSpecificPickerMeta:w}=h;var P,y;o((()=>{A(b)}),[b]);const[E,T]=i(v===s.EMAIL?"desktop":"mobile"),[L,A]=i(b),[O,V]=i(!1),[k,x]=i(u),[D,I]=i(null!=j?j:[]);const F=a((()=>d(S)),[S]);return e(c.Provider,Object.assign({value:{template:k,setTemplate:x,device:E,setDevice:T,display_content:L,setDisplayContent:A,originalVariableList:D,setOriginalVariableList:I,isError:O,setIsError:V,channel:v,globalNormalizedPlaceholders:F}},{children:C?e(p,{channel:s.EMAIL,hideHeader:!0}):t(r,Object.assign({centralContainerStyles:{width:v===s.EMAIL&&f?1e3:650},open:!0,onClose:()=>{null==g||g()},headingTitle:null==k?void 0:k.label,headingSubtitle:v===s.WHATSAPP?`${n.capitaliseFirstLetterOfString(null!==(P=null==k?void 0:k.category)&&void 0!==P?P:"")} • ${null!==(y=null==k?void 0:k.templateCategory)&&void 0!==y?y:""}`:""},{children:[e(p,{showVariableMapping:f,channel:v,whatsappSpecificPickerMeta:w}),M?e(m,{onSelect:function(){const e=null==M?void 0:M(k,D,null!=L?L:"");e&&V(!!e)}}):e(l,{})]}))}))};export{h as TemplateContextMapper};