@bikdotai/bik-component-library 0.0.1-analytics-chips-beta → 0.0.1-dropdown-beta

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 (349) 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/analytics-chips-and-dropdowns/AnalyticsChip.d.ts +2 -1
  9. package/dist/cjs/components/analytics-chips-and-dropdowns/AnalyticsChip.js +1 -1
  10. package/dist/cjs/components/analytics-chips-and-dropdowns/AnalyticsDropdown.d.ts +15 -8
  11. package/dist/cjs/components/analytics-chips-and-dropdowns/AnalyticsDropdown.js +1 -1
  12. package/dist/cjs/components/analytics-chips-and-dropdowns/CommonStyles.d.ts +21 -1
  13. package/dist/cjs/components/analytics-chips-and-dropdowns/CommonStyles.js +1 -1
  14. package/dist/cjs/components/avatar/Avatar.d.ts +24 -0
  15. package/dist/cjs/components/avatar/Avatar.js +1 -0
  16. package/dist/cjs/components/avatar/Avatar.styled.d.ts +5 -0
  17. package/dist/cjs/components/avatar/Avatar.styled.js +10 -0
  18. package/dist/cjs/components/avatar/AvatarHelper.d.ts +19 -0
  19. package/dist/cjs/components/avatar/AvatarHelper.js +1 -0
  20. package/dist/cjs/components/avatar/index.d.ts +1 -0
  21. package/dist/cjs/components/curtain/Curtain.d.ts +19 -0
  22. package/dist/cjs/components/curtain/Curtain.js +1 -0
  23. package/dist/cjs/components/curtain/Curtain.styled.d.ts +7 -0
  24. package/dist/cjs/components/curtain/Curtain.styled.js +14 -0
  25. package/dist/cjs/components/curtain/CurtainHelper.d.ts +72 -0
  26. package/dist/cjs/components/curtain/CurtainHelper.js +1 -0
  27. package/dist/cjs/components/curtain/index.d.ts +1 -0
  28. package/dist/cjs/components/datePicker/DatePicker.d.ts +2 -2
  29. package/dist/cjs/components/datePicker/DatePicker.js +1 -1
  30. package/dist/cjs/components/datePicker/DatePicker.styled.d.ts +6 -2
  31. package/dist/cjs/components/datePicker/DatePicker.styled.js +1 -156
  32. package/dist/cjs/components/dropdown/Common.styled.d.ts +1 -0
  33. package/dist/cjs/components/dropdown/Common.styled.js +11 -3
  34. package/dist/cjs/components/dropdown/Dropdown.d.ts +2 -2
  35. package/dist/cjs/components/dropdown/Dropdown.js +1 -1
  36. package/dist/cjs/components/dropdown/{UnChildDropdown/UnChildDropdown.d.ts → DropdownPopover/index.d.ts} +2 -5
  37. package/dist/cjs/components/dropdown/DropdownPopover/index.js +1 -0
  38. package/dist/{esm/components/dropdown/opennedDropdown → cjs/components/dropdown/OpenedDropdown}/components/OpennedDropdown.d.ts +1 -1
  39. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.js +1 -0
  40. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuItem.js +3 -0
  41. package/dist/cjs/components/dropdown/{opennedDropdown → OpenedDropdown}/components/menu/SelectAllMenu.js +1 -1
  42. package/dist/cjs/components/dropdown/OpenedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.styled.js +9 -0
  43. package/dist/cjs/components/dropdown/{opennedDropdown → OpenedDropdown}/components/searchbox/SearchBox.js +1 -1
  44. package/dist/cjs/components/dropdown/OpenedDropdown/utils/iterationOnOptions.d.ts +24 -0
  45. package/dist/cjs/components/dropdown/index.d.ts +2 -0
  46. package/dist/cjs/components/dropdown/type.d.ts +10 -5
  47. package/dist/cjs/components/fab-menu/FABMenu.d.ts +5 -4
  48. package/dist/cjs/components/fab-menu/FABMenu.js +1 -1
  49. package/dist/cjs/components/floating-action-button/FloatingActionButton.d.ts +3 -2
  50. package/dist/cjs/components/floating-action-button/FloatingActionButton.js +1 -1
  51. package/dist/cjs/components/floating-action-button/FloatingActionButton.styles.d.ts +3 -0
  52. package/dist/cjs/components/floating-action-button/FloatingActionButton.styles.js +11 -4
  53. package/dist/cjs/components/helpers/FileUploaderHelper.d.ts +12 -0
  54. package/dist/cjs/components/helpers/FileUploaderHelper.js +1 -0
  55. package/dist/cjs/components/input/Input.d.ts +4 -2
  56. package/dist/cjs/components/input/Input.js +1 -1
  57. package/dist/cjs/components/list-item/ListItem.d.ts +1 -0
  58. package/dist/cjs/components/list-item/ListItem.js +1 -1
  59. package/dist/cjs/components/modals/styledModal.d.ts +2 -0
  60. package/dist/cjs/components/modals/styledModal.js +1 -1
  61. package/dist/cjs/components/tag/Tag.d.ts +1 -1
  62. package/dist/cjs/components/tag/Tag.js +1 -1
  63. package/dist/cjs/components/tag/Tag.styled.js +7 -5
  64. package/dist/cjs/components/tag/model.d.ts +23 -4
  65. package/dist/cjs/components/tag/themes.js +1 -1
  66. package/dist/cjs/components/template-context-mapper/Badge/index.d.ts +6 -0
  67. package/dist/cjs/components/template-context-mapper/Badge/index.js +10 -0
  68. package/dist/cjs/components/template-context-mapper/TemplateContextMapper.d.ts +21 -0
  69. package/dist/cjs/components/template-context-mapper/TemplateContextMapper.js +1 -0
  70. package/dist/cjs/components/template-context-mapper/context/templateModalContext.d.ts +41 -0
  71. package/dist/cjs/components/template-context-mapper/context/templateModalContext.js +1 -0
  72. package/dist/cjs/components/template-context-mapper/index.d.ts +3 -0
  73. package/dist/cjs/components/template-context-mapper/modalElements/Body.d.ts +9 -0
  74. package/dist/cjs/components/template-context-mapper/modalElements/Body.js +18 -0
  75. package/dist/cjs/components/template-context-mapper/modalElements/DesktopPreview.d.ts +7 -0
  76. package/dist/cjs/components/template-context-mapper/modalElements/DesktopPreview.js +20 -0
  77. package/dist/cjs/components/template-context-mapper/modalElements/EditMediaV2.d.ts +12 -0
  78. package/dist/cjs/components/template-context-mapper/modalElements/EditMediaV2.js +8 -0
  79. package/dist/cjs/components/template-context-mapper/modalElements/EditMediaV2.style.d.ts +6 -0
  80. package/dist/cjs/components/template-context-mapper/modalElements/EditMediaV2.style.js +31 -0
  81. package/dist/cjs/components/template-context-mapper/modalElements/EditWhatsAppTemplateMediaV2.d.ts +9 -0
  82. package/dist/cjs/components/template-context-mapper/modalElements/EditWhatsAppTemplateMediaV2.js +1 -0
  83. package/dist/cjs/components/template-context-mapper/modalElements/EditWhatsAppTemplateV2.d.ts +11 -0
  84. package/dist/cjs/components/template-context-mapper/modalElements/EditWhatsAppTemplateV2.js +1 -0
  85. package/dist/cjs/components/template-context-mapper/modalElements/Footer.d.ts +6 -0
  86. package/dist/cjs/components/template-context-mapper/modalElements/Footer.js +13 -0
  87. package/dist/cjs/components/template-context-mapper/modalElements/Header.d.ts +6 -0
  88. package/dist/cjs/components/template-context-mapper/modalElements/Header.js +23 -0
  89. package/dist/cjs/components/template-context-mapper/modalElements/MobilePreview.d.ts +11 -0
  90. package/dist/cjs/components/template-context-mapper/modalElements/MobilePreview.js +20 -0
  91. package/dist/cjs/components/template-context-mapper/modalElements/TemplateSelectModalContent.d.ts +12 -0
  92. package/dist/cjs/components/template-context-mapper/modalElements/TemplateSelectModalContent.js +1 -0
  93. package/dist/cjs/components/template-context-mapper/modalElements/VariableConnector.d.ts +15 -0
  94. package/dist/cjs/components/template-context-mapper/modalElements/VariableConnector.js +7 -0
  95. package/dist/cjs/components/template-context-mapper/modalElements/VariableConnectorWhatsApp.d.ts +11 -0
  96. package/dist/cjs/components/template-context-mapper/modalElements/VariableConnectorWhatsApp.js +1 -0
  97. package/dist/cjs/components/template-context-mapper/modalElements/VariableConnectorsPanel.d.ts +7 -0
  98. package/dist/cjs/components/template-context-mapper/modalElements/VariableConnectorsPanel.js +6 -0
  99. package/dist/cjs/components/template-context-mapper/modalElements/VariableEditorHeader.d.ts +9 -0
  100. package/dist/cjs/components/template-context-mapper/modalElements/VariableEditorHeader.js +9 -0
  101. package/dist/cjs/components/template-context-mapper/modalElements/WhatsAppTemplateCardButtonV2.d.ts +16 -0
  102. package/dist/cjs/components/template-context-mapper/modalElements/WhatsAppTemplateCardButtonV2.js +1 -0
  103. package/dist/cjs/components/template-context-mapper/utils/convertPlaceholdersToBikDropdown.d.ts +6 -0
  104. package/dist/cjs/components/template-context-mapper/utils/convertPlaceholdersToBikDropdown.js +1 -0
  105. package/dist/cjs/components/template-context-mapper/utils/getDataFromTemplateComponent.d.ts +21 -0
  106. package/dist/cjs/components/template-context-mapper/utils/getDataFromTemplateComponent.js +1 -0
  107. package/dist/cjs/components/template-context-mapper/utils/getVariableNameEmail.d.ts +2 -0
  108. package/dist/cjs/components/template-context-mapper/utils/getVariableNameEmail.js +1 -0
  109. package/dist/cjs/components/template-context-mapper/utils/highlightFor.d.ts +3 -0
  110. package/dist/cjs/components/template-context-mapper/utils/highlightFor.js +1 -0
  111. package/dist/cjs/components/template-context-mapper/utils/validateIsUrl.d.ts +1 -0
  112. package/dist/cjs/components/template-context-mapper/utils/validateIsUrl.js +1 -0
  113. package/dist/cjs/components/template-preview/EmailTemplateHTMLPreview.d.ts +5 -0
  114. package/dist/cjs/components/template-preview/EmailTemplateThumbnailPreview.js +1 -1
  115. package/dist/cjs/components/template-preview/TemplatePreview.d.ts +4 -3
  116. package/dist/cjs/components/template-preview/TemplatePreview.js +1 -1
  117. package/dist/cjs/components/template-preview/WhatsApp/ChatUI.js +2 -2
  118. package/dist/cjs/components/template-preview/WhatsApp/ChatUI.style.js +7 -3
  119. package/dist/cjs/components/template-preview/constants/TemplateConstants.d.ts +9 -0
  120. package/dist/cjs/components/template-preview/constants/regexPatterns.d.ts +1 -1
  121. package/dist/cjs/components/template-preview/constants/regexPatterns.js +1 -1
  122. package/dist/cjs/components/template-preview/models/Channels.d.ts +2 -1
  123. package/dist/cjs/components/template-preview/models/Channels.js +1 -1
  124. package/dist/cjs/components/template-preview/models/TemplateMeta.d.ts +35 -0
  125. package/dist/cjs/components/template-preview/models/TemplateMeta.js +1 -1
  126. package/dist/cjs/components/template-preview/models/WhatsAppTemplate.d.ts +45 -2
  127. package/dist/cjs/components/template-preview/models/WhatsAppTemplate.js +1 -0
  128. package/dist/cjs/components/thumbnail/Thumbnail.d.ts +13 -0
  129. package/dist/cjs/components/thumbnail/Thumbnail.js +1 -0
  130. package/dist/cjs/components/thumbnail/Thumbnail.styled.d.ts +4 -0
  131. package/dist/cjs/components/thumbnail/Thumbnail.styled.js +10 -0
  132. package/dist/cjs/components/thumbnail/constants.d.ts +5 -0
  133. package/dist/cjs/components/thumbnail/constants.js +1 -0
  134. package/dist/cjs/components/thumbnail/index.d.ts +1 -0
  135. package/dist/cjs/components/tooltips/Tooltip.d.ts +2 -2
  136. package/dist/cjs/components/tooltips/Tooltip.js +1 -1
  137. package/dist/cjs/components/tooltips/index.d.ts +0 -1
  138. package/dist/cjs/index.d.ts +7 -0
  139. package/dist/cjs/index.js +1 -1
  140. package/dist/cjs/utils/StringUtils.d.ts +2 -0
  141. package/dist/cjs/utils/StringUtils.js +1 -1
  142. package/dist/cjs/utils/bytesToMB.d.ts +1 -0
  143. package/dist/cjs/utils/bytesToMB.js +1 -0
  144. package/dist/esm/assets/icons/desktop_custom.svg.js +1 -0
  145. package/dist/esm/assets/icons/document_pdf.svg.js +1 -0
  146. package/dist/esm/assets/icons/edit.svg.js +1 -0
  147. package/dist/esm/assets/icons/info.svg.js +1 -0
  148. package/dist/esm/assets/icons/mobile_custom.svg.js +1 -0
  149. package/dist/esm/assets/icons/refresh.svg.js +1 -0
  150. package/dist/esm/assets/icons/video_camcorder.svg.js +1 -0
  151. package/dist/esm/components/analytics-chips-and-dropdowns/AnalyticsChip.d.ts +2 -1
  152. package/dist/esm/components/analytics-chips-and-dropdowns/AnalyticsChip.js +1 -1
  153. package/dist/esm/components/analytics-chips-and-dropdowns/AnalyticsDropdown.d.ts +15 -8
  154. package/dist/esm/components/analytics-chips-and-dropdowns/AnalyticsDropdown.js +1 -1
  155. package/dist/esm/components/analytics-chips-and-dropdowns/CommonStyles.d.ts +21 -1
  156. package/dist/esm/components/analytics-chips-and-dropdowns/CommonStyles.js +1 -1
  157. package/dist/esm/components/avatar/Avatar.d.ts +24 -0
  158. package/dist/esm/components/avatar/Avatar.js +1 -0
  159. package/dist/esm/components/avatar/Avatar.styled.d.ts +5 -0
  160. package/dist/esm/components/avatar/Avatar.styled.js +10 -0
  161. package/dist/esm/components/avatar/AvatarHelper.d.ts +19 -0
  162. package/dist/esm/components/avatar/AvatarHelper.js +1 -0
  163. package/dist/esm/components/avatar/index.d.ts +1 -0
  164. package/dist/esm/components/curtain/Curtain.d.ts +19 -0
  165. package/dist/esm/components/curtain/Curtain.js +1 -0
  166. package/dist/esm/components/curtain/Curtain.styled.d.ts +7 -0
  167. package/dist/esm/components/curtain/Curtain.styled.js +14 -0
  168. package/dist/esm/components/curtain/CurtainHelper.d.ts +72 -0
  169. package/dist/esm/components/curtain/CurtainHelper.js +1 -0
  170. package/dist/esm/components/curtain/index.d.ts +1 -0
  171. package/dist/esm/components/datePicker/DatePicker.d.ts +2 -2
  172. package/dist/esm/components/datePicker/DatePicker.js +1 -1
  173. package/dist/esm/components/datePicker/DatePicker.styled.d.ts +6 -2
  174. package/dist/esm/components/datePicker/DatePicker.styled.js +1 -156
  175. package/dist/esm/components/dropdown/Common.styled.d.ts +1 -0
  176. package/dist/esm/components/dropdown/Common.styled.js +10 -2
  177. package/dist/esm/components/dropdown/Dropdown.d.ts +2 -2
  178. package/dist/esm/components/dropdown/Dropdown.js +1 -1
  179. package/dist/esm/components/dropdown/{UnChildDropdown/UnChildDropdown.d.ts → DropdownPopover/index.d.ts} +2 -5
  180. package/dist/esm/components/dropdown/DropdownPopover/index.js +1 -0
  181. package/dist/{cjs/components/dropdown/opennedDropdown → esm/components/dropdown/OpenedDropdown}/components/OpennedDropdown.d.ts +1 -1
  182. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.js +1 -0
  183. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuItem.js +3 -0
  184. package/dist/esm/components/dropdown/{opennedDropdown → OpenedDropdown}/components/menu/SelectAllMenu.js +1 -1
  185. package/dist/esm/components/dropdown/OpenedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.styled.js +9 -0
  186. package/dist/esm/components/dropdown/{opennedDropdown → OpenedDropdown}/components/searchbox/SearchBox.js +1 -1
  187. package/dist/esm/components/dropdown/OpenedDropdown/utils/iterationOnOptions.d.ts +24 -0
  188. package/dist/esm/components/dropdown/index.d.ts +2 -0
  189. package/dist/esm/components/dropdown/type.d.ts +10 -5
  190. package/dist/esm/components/fab-menu/FABMenu.d.ts +5 -4
  191. package/dist/esm/components/fab-menu/FABMenu.js +1 -1
  192. package/dist/esm/components/floating-action-button/FloatingActionButton.d.ts +3 -2
  193. package/dist/esm/components/floating-action-button/FloatingActionButton.js +1 -1
  194. package/dist/esm/components/floating-action-button/FloatingActionButton.styles.d.ts +3 -0
  195. package/dist/esm/components/floating-action-button/FloatingActionButton.styles.js +24 -17
  196. package/dist/esm/components/helpers/FileUploaderHelper.d.ts +12 -0
  197. package/dist/esm/components/helpers/FileUploaderHelper.js +1 -0
  198. package/dist/esm/components/input/Input.d.ts +4 -2
  199. package/dist/esm/components/input/Input.js +1 -1
  200. package/dist/esm/components/list-item/ListItem.d.ts +1 -0
  201. package/dist/esm/components/list-item/ListItem.js +1 -1
  202. package/dist/esm/components/modals/styledModal.d.ts +2 -0
  203. package/dist/esm/components/modals/styledModal.js +1 -1
  204. package/dist/esm/components/tag/Tag.d.ts +1 -1
  205. package/dist/esm/components/tag/Tag.js +1 -1
  206. package/dist/esm/components/tag/Tag.styled.js +11 -9
  207. package/dist/esm/components/tag/model.d.ts +23 -4
  208. package/dist/esm/components/tag/themes.js +1 -1
  209. package/dist/esm/components/template-context-mapper/Badge/index.d.ts +6 -0
  210. package/dist/esm/components/template-context-mapper/Badge/index.js +10 -0
  211. package/dist/esm/components/template-context-mapper/TemplateContextMapper.d.ts +21 -0
  212. package/dist/esm/components/template-context-mapper/TemplateContextMapper.js +1 -0
  213. package/dist/esm/components/template-context-mapper/context/templateModalContext.d.ts +41 -0
  214. package/dist/esm/components/template-context-mapper/context/templateModalContext.js +1 -0
  215. package/dist/esm/components/template-context-mapper/index.d.ts +3 -0
  216. package/dist/esm/components/template-context-mapper/modalElements/Body.d.ts +9 -0
  217. package/dist/esm/components/template-context-mapper/modalElements/Body.js +18 -0
  218. package/dist/esm/components/template-context-mapper/modalElements/DesktopPreview.d.ts +7 -0
  219. package/dist/esm/components/template-context-mapper/modalElements/DesktopPreview.js +20 -0
  220. package/dist/esm/components/template-context-mapper/modalElements/EditMediaV2.d.ts +12 -0
  221. package/dist/esm/components/template-context-mapper/modalElements/EditMediaV2.js +8 -0
  222. package/dist/esm/components/template-context-mapper/modalElements/EditMediaV2.style.d.ts +6 -0
  223. package/dist/esm/components/template-context-mapper/modalElements/EditMediaV2.style.js +31 -0
  224. package/dist/esm/components/template-context-mapper/modalElements/EditWhatsAppTemplateMediaV2.d.ts +9 -0
  225. package/dist/esm/components/template-context-mapper/modalElements/EditWhatsAppTemplateMediaV2.js +1 -0
  226. package/dist/esm/components/template-context-mapper/modalElements/EditWhatsAppTemplateV2.d.ts +11 -0
  227. package/dist/esm/components/template-context-mapper/modalElements/EditWhatsAppTemplateV2.js +1 -0
  228. package/dist/esm/components/template-context-mapper/modalElements/Footer.d.ts +6 -0
  229. package/dist/esm/components/template-context-mapper/modalElements/Footer.js +13 -0
  230. package/dist/esm/components/template-context-mapper/modalElements/Header.d.ts +6 -0
  231. package/dist/esm/components/template-context-mapper/modalElements/Header.js +23 -0
  232. package/dist/esm/components/template-context-mapper/modalElements/MobilePreview.d.ts +11 -0
  233. package/dist/esm/components/template-context-mapper/modalElements/MobilePreview.js +20 -0
  234. package/dist/esm/components/template-context-mapper/modalElements/TemplateSelectModalContent.d.ts +12 -0
  235. package/dist/esm/components/template-context-mapper/modalElements/TemplateSelectModalContent.js +1 -0
  236. package/dist/esm/components/template-context-mapper/modalElements/VariableConnector.d.ts +15 -0
  237. package/dist/esm/components/template-context-mapper/modalElements/VariableConnector.js +7 -0
  238. package/dist/esm/components/template-context-mapper/modalElements/VariableConnectorWhatsApp.d.ts +11 -0
  239. package/dist/esm/components/template-context-mapper/modalElements/VariableConnectorWhatsApp.js +1 -0
  240. package/dist/esm/components/template-context-mapper/modalElements/VariableConnectorsPanel.d.ts +7 -0
  241. package/dist/esm/components/template-context-mapper/modalElements/VariableConnectorsPanel.js +6 -0
  242. package/dist/esm/components/template-context-mapper/modalElements/VariableEditorHeader.d.ts +9 -0
  243. package/dist/esm/components/template-context-mapper/modalElements/VariableEditorHeader.js +9 -0
  244. package/dist/esm/components/template-context-mapper/modalElements/WhatsAppTemplateCardButtonV2.d.ts +16 -0
  245. package/dist/esm/components/template-context-mapper/modalElements/WhatsAppTemplateCardButtonV2.js +1 -0
  246. package/dist/esm/components/template-context-mapper/utils/convertPlaceholdersToBikDropdown.d.ts +6 -0
  247. package/dist/esm/components/template-context-mapper/utils/convertPlaceholdersToBikDropdown.js +1 -0
  248. package/dist/esm/components/template-context-mapper/utils/getDataFromTemplateComponent.d.ts +21 -0
  249. package/dist/esm/components/template-context-mapper/utils/getDataFromTemplateComponent.js +1 -0
  250. package/dist/esm/components/template-context-mapper/utils/getVariableNameEmail.d.ts +2 -0
  251. package/dist/esm/components/template-context-mapper/utils/getVariableNameEmail.js +1 -0
  252. package/dist/esm/components/template-context-mapper/utils/highlightFor.d.ts +3 -0
  253. package/dist/esm/components/template-context-mapper/utils/highlightFor.js +1 -0
  254. package/dist/esm/components/template-context-mapper/utils/validateIsUrl.d.ts +1 -0
  255. package/dist/esm/components/template-context-mapper/utils/validateIsUrl.js +1 -0
  256. package/dist/esm/components/template-preview/EmailTemplateHTMLPreview.d.ts +5 -0
  257. package/dist/esm/components/template-preview/EmailTemplateThumbnailPreview.js +1 -1
  258. package/dist/esm/components/template-preview/TemplatePreview.d.ts +4 -3
  259. package/dist/esm/components/template-preview/TemplatePreview.js +1 -1
  260. package/dist/esm/components/template-preview/WhatsApp/ChatUI.js +2 -2
  261. package/dist/esm/components/template-preview/WhatsApp/ChatUI.style.js +10 -6
  262. package/dist/esm/components/template-preview/constants/TemplateConstants.d.ts +9 -0
  263. package/dist/esm/components/template-preview/constants/regexPatterns.d.ts +1 -1
  264. package/dist/esm/components/template-preview/constants/regexPatterns.js +1 -1
  265. package/dist/esm/components/template-preview/models/Channels.d.ts +2 -1
  266. package/dist/esm/components/template-preview/models/Channels.js +1 -1
  267. package/dist/esm/components/template-preview/models/TemplateMeta.d.ts +35 -0
  268. package/dist/esm/components/template-preview/models/TemplateMeta.js +1 -1
  269. package/dist/esm/components/template-preview/models/WhatsAppTemplate.d.ts +45 -2
  270. package/dist/esm/components/template-preview/models/WhatsAppTemplate.js +1 -0
  271. package/dist/esm/components/thumbnail/Thumbnail.d.ts +13 -0
  272. package/dist/esm/components/thumbnail/Thumbnail.js +1 -0
  273. package/dist/esm/components/thumbnail/Thumbnail.styled.d.ts +4 -0
  274. package/dist/esm/components/thumbnail/Thumbnail.styled.js +10 -0
  275. package/dist/esm/components/thumbnail/constants.d.ts +5 -0
  276. package/dist/esm/components/thumbnail/constants.js +1 -0
  277. package/dist/esm/components/thumbnail/index.d.ts +1 -0
  278. package/dist/esm/components/tooltips/Tooltip.d.ts +2 -2
  279. package/dist/esm/components/tooltips/Tooltip.js +1 -1
  280. package/dist/esm/components/tooltips/index.d.ts +0 -1
  281. package/dist/esm/index.d.ts +7 -0
  282. package/dist/esm/index.js +1 -1
  283. package/dist/esm/utils/StringUtils.d.ts +2 -0
  284. package/dist/esm/utils/StringUtils.js +1 -1
  285. package/dist/esm/utils/bytesToMB.d.ts +1 -0
  286. package/dist/esm/utils/bytesToMB.js +1 -0
  287. package/package.json +1 -1
  288. package/dist/cjs/components/dropdown/UnChildDropdown/UnChildDropdown.js +0 -1
  289. package/dist/cjs/components/dropdown/opennedDropdown/components/OpennedDropdown.js +0 -1
  290. package/dist/cjs/components/dropdown/opennedDropdown/components/menu/MenuItem.js +0 -1
  291. package/dist/cjs/components/dropdown/opennedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.styled.js +0 -8
  292. package/dist/cjs/components/dropdown/opennedDropdown/utils/iterationOnOptions.d.ts +0 -24
  293. package/dist/cjs/components/tooltips/CustomisedTooltip.d.ts +0 -26
  294. package/dist/cjs/components/tooltips/CustomisedTooltip.js +0 -1
  295. package/dist/esm/components/dropdown/UnChildDropdown/UnChildDropdown.js +0 -1
  296. package/dist/esm/components/dropdown/opennedDropdown/components/OpennedDropdown.js +0 -1
  297. package/dist/esm/components/dropdown/opennedDropdown/components/menu/MenuItem.js +0 -1
  298. package/dist/esm/components/dropdown/opennedDropdown/components/multiSelect/MultiSelectDropdownBottomBar.styled.js +0 -8
  299. package/dist/esm/components/dropdown/opennedDropdown/utils/iterationOnOptions.d.ts +0 -24
  300. package/dist/esm/components/tooltips/CustomisedTooltip.d.ts +0 -26
  301. package/dist/esm/components/tooltips/CustomisedTooltip.js +0 -1
  302. /package/dist/cjs/components/dropdown/{opennedDropdown → OpenedDropdown}/components/OpennedDropdown.styled.d.ts +0 -0
  303. /package/dist/cjs/components/dropdown/{opennedDropdown → OpenedDropdown}/components/OpennedDropdown.styled.js +0 -0
  304. /package/dist/cjs/components/dropdown/{opennedDropdown → OpenedDropdown}/components/description/Description.d.ts +0 -0
  305. /package/dist/cjs/components/dropdown/{opennedDropdown → OpenedDropdown}/components/description/Description.js +0 -0
  306. /package/dist/cjs/components/dropdown/{opennedDropdown → OpenedDropdown}/components/description/Description.styled.d.ts +0 -0
  307. /package/dist/cjs/components/dropdown/{opennedDropdown → OpenedDropdown}/components/description/Description.styled.js +0 -0
  308. /package/dist/cjs/components/dropdown/{opennedDropdown → OpenedDropdown}/components/menu/FreeFormMenu.d.ts +0 -0
  309. /package/dist/cjs/components/dropdown/{opennedDropdown → OpenedDropdown}/components/menu/FreeFormMenu.js +0 -0
  310. /package/dist/cjs/components/dropdown/{opennedDropdown → OpenedDropdown}/components/menu/FreeFormMenu.styled.d.ts +0 -0
  311. /package/dist/cjs/components/dropdown/{opennedDropdown → OpenedDropdown}/components/menu/FreeFormMenu.styled.js +0 -0
  312. /package/dist/cjs/components/dropdown/{opennedDropdown → OpenedDropdown}/components/menu/MenuItem.d.ts +0 -0
  313. /package/dist/cjs/components/dropdown/{opennedDropdown → OpenedDropdown}/components/menu/MenuList.d.ts +0 -0
  314. /package/dist/cjs/components/dropdown/{opennedDropdown → OpenedDropdown}/components/menu/MenuList.js +0 -0
  315. /package/dist/cjs/components/dropdown/{opennedDropdown → OpenedDropdown}/components/menu/MenuList.styled.d.ts +0 -0
  316. /package/dist/cjs/components/dropdown/{opennedDropdown → OpenedDropdown}/components/menu/MenuList.styled.js +0 -0
  317. /package/dist/cjs/components/dropdown/{opennedDropdown → OpenedDropdown}/components/menu/SelectAllMenu.d.ts +0 -0
  318. /package/dist/cjs/components/dropdown/{opennedDropdown → OpenedDropdown}/components/multiSelect/MultiSelectDropdownBottomBar.d.ts +0 -0
  319. /package/dist/cjs/components/dropdown/{opennedDropdown → OpenedDropdown}/components/multiSelect/MultiSelectDropdownBottomBar.js +0 -0
  320. /package/dist/cjs/components/dropdown/{opennedDropdown → OpenedDropdown}/components/multiSelect/MultiSelectDropdownBottomBar.styled.d.ts +0 -0
  321. /package/dist/cjs/components/dropdown/{opennedDropdown → OpenedDropdown}/components/searchbox/SearchBox.d.ts +0 -0
  322. /package/dist/cjs/components/dropdown/{opennedDropdown → OpenedDropdown}/components/searchbox/SearchZeroState.d.ts +0 -0
  323. /package/dist/cjs/components/dropdown/{opennedDropdown → OpenedDropdown}/components/searchbox/SearchZeroState.js +0 -0
  324. /package/dist/cjs/components/dropdown/{opennedDropdown → OpenedDropdown}/index.d.ts +0 -0
  325. /package/dist/cjs/components/dropdown/{opennedDropdown → OpenedDropdown}/utils/iterationOnOptions.js +0 -0
  326. /package/dist/esm/components/dropdown/{opennedDropdown → OpenedDropdown}/components/OpennedDropdown.styled.d.ts +0 -0
  327. /package/dist/esm/components/dropdown/{opennedDropdown → OpenedDropdown}/components/OpennedDropdown.styled.js +0 -0
  328. /package/dist/esm/components/dropdown/{opennedDropdown → OpenedDropdown}/components/description/Description.d.ts +0 -0
  329. /package/dist/esm/components/dropdown/{opennedDropdown → OpenedDropdown}/components/description/Description.js +0 -0
  330. /package/dist/esm/components/dropdown/{opennedDropdown → OpenedDropdown}/components/description/Description.styled.d.ts +0 -0
  331. /package/dist/esm/components/dropdown/{opennedDropdown → OpenedDropdown}/components/description/Description.styled.js +0 -0
  332. /package/dist/esm/components/dropdown/{opennedDropdown → OpenedDropdown}/components/menu/FreeFormMenu.d.ts +0 -0
  333. /package/dist/esm/components/dropdown/{opennedDropdown → OpenedDropdown}/components/menu/FreeFormMenu.js +0 -0
  334. /package/dist/esm/components/dropdown/{opennedDropdown → OpenedDropdown}/components/menu/FreeFormMenu.styled.d.ts +0 -0
  335. /package/dist/esm/components/dropdown/{opennedDropdown → OpenedDropdown}/components/menu/FreeFormMenu.styled.js +0 -0
  336. /package/dist/esm/components/dropdown/{opennedDropdown → OpenedDropdown}/components/menu/MenuItem.d.ts +0 -0
  337. /package/dist/esm/components/dropdown/{opennedDropdown → OpenedDropdown}/components/menu/MenuList.d.ts +0 -0
  338. /package/dist/esm/components/dropdown/{opennedDropdown → OpenedDropdown}/components/menu/MenuList.js +0 -0
  339. /package/dist/esm/components/dropdown/{opennedDropdown → OpenedDropdown}/components/menu/MenuList.styled.d.ts +0 -0
  340. /package/dist/esm/components/dropdown/{opennedDropdown → OpenedDropdown}/components/menu/MenuList.styled.js +0 -0
  341. /package/dist/esm/components/dropdown/{opennedDropdown → OpenedDropdown}/components/menu/SelectAllMenu.d.ts +0 -0
  342. /package/dist/esm/components/dropdown/{opennedDropdown → OpenedDropdown}/components/multiSelect/MultiSelectDropdownBottomBar.d.ts +0 -0
  343. /package/dist/esm/components/dropdown/{opennedDropdown → OpenedDropdown}/components/multiSelect/MultiSelectDropdownBottomBar.js +0 -0
  344. /package/dist/esm/components/dropdown/{opennedDropdown → OpenedDropdown}/components/multiSelect/MultiSelectDropdownBottomBar.styled.d.ts +0 -0
  345. /package/dist/esm/components/dropdown/{opennedDropdown → OpenedDropdown}/components/searchbox/SearchBox.d.ts +0 -0
  346. /package/dist/esm/components/dropdown/{opennedDropdown → OpenedDropdown}/components/searchbox/SearchZeroState.d.ts +0 -0
  347. /package/dist/esm/components/dropdown/{opennedDropdown → OpenedDropdown}/components/searchbox/SearchZeroState.js +0 -0
  348. /package/dist/esm/components/dropdown/{opennedDropdown → OpenedDropdown}/index.d.ts +0 -0
  349. /package/dist/esm/components/dropdown/{opennedDropdown → OpenedDropdown}/utils/iterationOnOptions.js +0 -0
@@ -1,26 +1,28 @@
1
- import r from"styled-components";import{getPadding as e,getBackgroundColor as t,generateBorder as i,getTextColor as o}from"./themes.js";const a=r.div`
1
+ import e from"styled-components";import{getPadding as r,getBackgroundColor as t,generateBorder as a,getTextColor as i}from"./themes.js";const o=e.div`
2
2
  cursor: default;
3
- ${r=>"regular"===r.variant?"display: block;":""}
4
- ${r=>"circle"===r.variant&&"height: 20px;"}
3
+ ${e=>"regular"===e.variant?"display: block;":""}
4
+ ${e=>"circle"===e.variant&&"height: 20px;"}
5
5
  .container {
6
6
  display: flex;
7
7
  gap: 6px;
8
- padding: ${r=>e(r.variant)};
8
+ padding: ${e=>r(e.variant)};
9
9
 
10
- background-color: ${r=>t(r.theme,r.type)};
10
+ background-color: ${e=>t(e.theme,e.type)};
11
11
 
12
- border-radius: ${r=>"regular"===r.variant?"4px":"12px"};
12
+ border-radius: ${e=>"regular"===e.variant?"4px":"12px"};
13
13
 
14
- ${r=>"light"===r.theme&&`border: 1px solid ${i(r.type)};`}
14
+ ${e=>"light"===e.theme&&`border: 1px solid ${a(e.type)};`}
15
15
 
16
16
  .text {
17
- color: ${r=>o(r.theme,r.type)};
17
+ color: ${e=>i(e.theme,e.type)};
18
18
  }
19
19
 
20
20
  .icon-trailing {
21
+ all: unset;
21
22
  }
22
23
 
23
24
  .icon-leading {
25
+ all: unset;
24
26
  }
25
27
  }
26
- `;export{a as Tag};
28
+ `;export{o as Tag};
@@ -1,4 +1,5 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
+ import { MouseEventHandler } from 'react';
2
3
  export type TagTheme = 'light' | 'dark';
3
4
  export type TagVariant = 'regular' | 'circle';
4
5
  export type TagType = 'negative' | 'warning' | 'positive' | 'neutral' | 'white' | 'purple' | 'blue' | 'grey';
@@ -21,7 +22,7 @@ export declare const ValidTagTypeMap: {
21
22
  grey: boolean;
22
23
  };
23
24
  };
24
- export interface TagProps {
25
+ export interface TagProps extends React.BaseHTMLAttributes<HTMLDivElement> {
25
26
  /**
26
27
  * Set the theme of the Tag
27
28
  * @default default light
@@ -38,16 +39,34 @@ export interface TagProps {
38
39
  */
39
40
  variant?: TagVariant;
40
41
  /**
41
- * The icon component that is the left of the text
42
+ * The icon component that is the right of the text
42
43
  * Referred to https://ozzie.sh/passing-icons-as-props-in-a-consistent-way-using-react
43
44
  * @default undefined
44
45
  */
45
46
  TrailingIcon?: React.FunctionComponent<React.SVGAttributes<SVGElement>>;
46
47
  /**
47
- * The icon component that is to the right of the text
48
+ * The right icon id,
49
+ * @default trailing-icon
50
+ */
51
+ trailingIconId?: string;
52
+ /**
53
+ * The left icon on click event, defaults to () => {}
54
+ */
55
+ onTrailingIconClicked?: MouseEventHandler<HTMLButtonElement>;
56
+ /**
57
+ * The icon component that is to the left of the text
48
58
  * Referred to https://ozzie.sh/passing-icons-as-props-in-a-consistent-way-using-react
49
59
  * @default undefined
50
60
  */
51
61
  LeadingIcon?: React.FunctionComponent<React.SVGAttributes<SVGElement>>;
62
+ /**
63
+ * The right icon on click event, defaults to () => {}
64
+ */
65
+ onLeadingIconClicked?: MouseEventHandler<HTMLButtonElement>;
66
+ /**
67
+ * The left icon id,
68
+ * @default leading-icon
69
+ */
70
+ leadingIconId?: string;
52
71
  tagText: string | number;
53
72
  }
@@ -1 +1 @@
1
- import{COLORS as r}from"../../constants/Theme.js";const n={blue:{iconColor:{light:r.content.blue,dark:r.content.primaryInverse},textColor:{light:r.content.blue,dark:r.content.primaryInverse},border:r.stroke.blue.lightAlt,backgroundColor:{light:r.background.blue.light,dark:r.content.blue,circle:r.content.blue}},purple:{iconColor:{light:r.background.inverseLight,dark:r.content.primaryInverse},textColor:{light:r.background.inverseLight,dark:r.content.primaryInverse},border:r.stroke.brandLightAlt,backgroundColor:{light:r.background.brandLight,dark:r.background.inverse,circle:r.background.inverse}},negative:{iconColor:{light:r.content.negative,dark:r.content.primaryInverse},textColor:{light:r.content.negative,dark:r.content.primaryInverse},border:r.stroke.negative.lightAlt,backgroundColor:{light:r.background.negative.light,dark:r.background.negative.vibrant,circle:r.background.negative.vibrant}},positive:{iconColor:{light:r.content.positive,dark:r.content.primaryInverse},textColor:{light:r.content.positive,dark:r.content.primaryInverse},border:r.stroke.positive.lightAlt,backgroundColor:{light:r.background.positive.light,dark:r.background.positive.vibrant,circle:r.background.positive.vibrant}},warning:{iconColor:{light:r.content.warning,dark:r.content.primary},textColor:{light:r.content.warning,dark:r.content.primary},border:r.stroke.warning.lightAlt,backgroundColor:{light:r.background.warning.light,dark:r.background.warning.vibrant,circle:r.background.warning.vibrant}},neutral:{iconColor:{light:r.content.secondary,dark:r.content.primaryInverse},textColor:{light:r.content.secondary,dark:r.content.primaryInverse},border:r.stroke.primary,backgroundColor:{light:r.surface.subdued,dark:r.background.inverse,circle:r.background.inverseLight}},white:{iconColor:{light:r.content.secondary,dark:r.content.primaryInverse},textColor:{light:r.content.secondary,dark:r.content.primaryInverse},border:r.stroke.primary,backgroundColor:{light:r.surface.subdued,dark:r.background.inverse,circle:r.background.inverseLight}},grey:{iconColor:{light:r.content.secondary,dark:r.content.primaryInverse},textColor:{light:r.content.secondary,dark:r.content.primaryInverse},border:r.stroke.primary,backgroundColor:{light:r.surface.subdued,dark:r.content.secondary,circle:r.content.secondary}}},t=(r,t)=>n[t].iconColor[r],e=(r,t)=>n[t].textColor[r],o=r=>n[r].border,i=(r,t)=>n[t].backgroundColor[r],a=r=>"regular"===r?"4px 8px":"2px 6px";export{o as generateBorder,i as getBackgroundColor,a as getPadding,t as getTagIconColor,e as getTextColor};
1
+ import{COLORS as r}from"../../constants/Theme.js";const n={blue:{iconColor:{light:r.content.blue,dark:r.content.primaryInverse},textColor:{light:r.content.blue,dark:r.content.primaryInverse},border:r.stroke.blue.lightAlt,backgroundColor:{light:r.background.blue.light,dark:r.content.blue,circle:r.content.blue}},purple:{iconColor:{light:r.background.inverseLight,dark:r.content.primaryInverse},textColor:{light:r.background.inverseLight,dark:r.content.primaryInverse},border:r.stroke.brandLightAlt,backgroundColor:{light:r.background.brandLight,dark:r.background.inverse,circle:r.background.inverse}},negative:{iconColor:{light:r.content.negative,dark:r.content.primaryInverse},textColor:{light:r.content.negative,dark:r.content.primaryInverse},border:r.stroke.negative.lightAlt,backgroundColor:{light:r.background.negative.light,dark:r.background.negative.vibrant,circle:r.background.negative.vibrant}},positive:{iconColor:{light:r.content.positive,dark:r.content.primaryInverse},textColor:{light:r.content.positive,dark:r.content.primaryInverse},border:r.stroke.positive.lightAlt,backgroundColor:{light:r.background.positive.light,dark:r.background.positive.vibrant,circle:r.background.positive.vibrant}},warning:{iconColor:{light:r.content.warning,dark:r.content.primary},textColor:{light:r.content.warning,dark:r.content.primary},border:r.stroke.warning.lightAlt,backgroundColor:{light:r.background.warning.light,dark:r.background.warning.vibrant,circle:r.background.warning.vibrant}},neutral:{iconColor:{light:r.content.secondary,dark:r.content.primaryInverse},textColor:{light:r.content.secondary,dark:r.content.primaryInverse},border:r.stroke.primary,backgroundColor:{light:r.surface.subdued,dark:r.background.inverse,circle:r.background.inverseLight}},white:{iconColor:{light:r.content.secondary,dark:r.content.primaryInverse},textColor:{light:r.content.secondary,dark:r.content.primaryInverse},border:r.stroke.primary,backgroundColor:{light:r.surface.standard,dark:r.background.inverse,circle:r.background.inverseLight}},grey:{iconColor:{light:r.content.secondary,dark:r.content.primaryInverse},textColor:{light:r.content.secondary,dark:r.content.primaryInverse},border:r.stroke.primary,backgroundColor:{light:r.surface.subdued,dark:r.content.secondary,circle:r.content.secondary}}},t=(r,t)=>n[t].iconColor[r],o=(r,t)=>n[t].textColor[r],e=r=>n[r].border,i=(r,t)=>n[t].backgroundColor[r],a=r=>"regular"===r?"4px 8px":"2px 6px";export{e as generateBorder,i as getBackgroundColor,a as getPadding,t as getTagIconColor,o as getTextColor};
@@ -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:g,closeDialog:u,showVariableMapping:f,channel:v,htmlContent:b,templateVariables:S,onTemplateSelect:j,globalPlaceholders:M,showOnlyContent:T,whatsappSpecificPickerMeta:C}=h;var w,P;o((()=>{A(b)}),[b]);const[y,E]=i(v===s.EMAIL?"desktop":"mobile"),[L,A]=i(b),[O,V]=i(!1),[k,x]=i(g),[D,I]=i(null!=S?S:[]),[F,H]=i(!1);const $=a((()=>d(M)),[M]);return e(c.Provider,Object.assign({value:{template:k,setTemplate:x,device:y,setDevice:E,display_content:L,setDisplayContent:A,originalVariableList:D,setOriginalVariableList:I,isError:O,setIsError:V,channel:v,globalNormalizedPlaceholders:$,templateSelectionTriggered:F,setTemplateSelectionTriggered:H}},{children:T?e(p,{channel:s.EMAIL,hideHeader:!0}):t(r,Object.assign({centralContainerStyles:{width:v===s.EMAIL&&f?1e3:650},open:!0,onClose:()=>{null==u||u()},headingTitle:null==k?void 0:k.label,headingSubtitle:v===s.WHATSAPP?`${n.capitaliseFirstLetterOfString(null!==(w=null==k?void 0:k.category)&&void 0!==w?w:"")} • ${null!==(P=null==k?void 0:k.templateCategory)&&void 0!==P?P:""}`:""},{children:[e(p,{showVariableMapping:f,channel:v,whatsappSpecificPickerMeta:C}),j?e(m,{onSelect:function(){const e=null==j?void 0:j(k,D,null!=L?L:"");e?V(!!e):H(!0)}}):e(l,{})]}))}))};export{h as TemplateContextMapper};
@@ -0,0 +1,41 @@
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 { CUSTOM_VARIABLE, globalNormalizedPlaceholdersType } from "../../template-preview/models/TemplateMeta";
6
+ import { WhatsAppTemplate, WhatsAppTemplateVariables } from "../../template-preview/models/WhatsAppTemplate";
7
+ export type DEVICE_TYPES = 'desktop' | 'mobile';
8
+ export declare const TemplateModalContext: React.Context<{
9
+ device: DEVICE_TYPES;
10
+ setDevice?: React.Dispatch<React.SetStateAction<DEVICE_TYPES>> | undefined;
11
+ display_content: string | null;
12
+ setDisplayContent?: React.Dispatch<React.SetStateAction<string | null>> | undefined;
13
+ originalVariableList: CUSTOM_VARIABLE[] | WhatsAppTemplateVariables;
14
+ setOriginalVariableList?: React.Dispatch<React.SetStateAction<WhatsAppTemplateVariables | CUSTOM_VARIABLE[]>> | undefined;
15
+ channel: CHANNEL_TYPE;
16
+ setChannel?: React.Dispatch<React.SetStateAction<CHANNEL_TYPE>> | undefined;
17
+ template: WhatsAppTemplate | EmailTemplateType | SMSTemplateType | null;
18
+ setTemplate?: React.Dispatch<React.SetStateAction<WhatsAppTemplate | EmailTemplateType | SMSTemplateType | null>> | undefined;
19
+ isError: boolean;
20
+ setIsError?: React.Dispatch<React.SetStateAction<boolean>> | undefined;
21
+ globalNormalizedPlaceholders?: globalNormalizedPlaceholdersType[] | undefined;
22
+ templateSelectionTriggered: boolean;
23
+ setTemplateSelectionTriggered?: React.Dispatch<React.SetStateAction<boolean>> | undefined;
24
+ }>;
25
+ export declare const useTemplateModalContext: () => {
26
+ device: DEVICE_TYPES;
27
+ setDevice?: React.Dispatch<React.SetStateAction<DEVICE_TYPES>> | undefined;
28
+ display_content: string | null;
29
+ setDisplayContent?: React.Dispatch<React.SetStateAction<string | null>> | undefined;
30
+ originalVariableList: CUSTOM_VARIABLE[] | WhatsAppTemplateVariables;
31
+ setOriginalVariableList?: React.Dispatch<React.SetStateAction<WhatsAppTemplateVariables | CUSTOM_VARIABLE[]>> | undefined;
32
+ channel: CHANNEL_TYPE;
33
+ setChannel?: React.Dispatch<React.SetStateAction<CHANNEL_TYPE>> | undefined;
34
+ template: WhatsAppTemplate | EmailTemplateType | SMSTemplateType | null;
35
+ setTemplate?: React.Dispatch<React.SetStateAction<WhatsAppTemplate | EmailTemplateType | SMSTemplateType | null>> | undefined;
36
+ isError: boolean;
37
+ setIsError?: React.Dispatch<React.SetStateAction<boolean>> | undefined;
38
+ globalNormalizedPlaceholders?: globalNormalizedPlaceholdersType[] | undefined;
39
+ templateSelectionTriggered: boolean;
40
+ setTemplateSelectionTriggered?: React.Dispatch<React.SetStateAction<boolean>> | undefined;
41
+ };
@@ -0,0 +1 @@
1
+ import e,{useContext as t}from"react";import{CHANNEL_TYPE as r}from"../../template-preview/models/Channels.js";const l=e.createContext({device:"desktop",templateSelectionTriggered:!1,display_content:null,originalVariableList:[],channel:r.EMAIL,template:null,isError:!1}),o=()=>t(l);export{l as TemplateModalContext,o as useTemplateModalContext};
@@ -0,0 +1,3 @@
1
+ export * from './TemplateContextMapper';
2
+ export * from './utils/getDataFromTemplateComponent';
3
+ export * from './utils/validateIsUrl';
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import { WhatsAppPickerMeta } from "../../template-preview/models/WhatsAppTemplate";
3
+ export interface BodyProps {
4
+ showVariableMapping: boolean;
5
+ showOnlyContent?: boolean;
6
+ whatsappSpecificPickerMeta?: WhatsAppPickerMeta;
7
+ }
8
+ declare const Body: (props: BodyProps) => JSX.Element;
9
+ export default Body;
@@ -0,0 +1,18 @@
1
+ import{jsxs as e,jsx as t,Fragment as o}from"react/jsx-runtime";import{useRef as n}from"react";import l from"styled-components";import{CHANNEL_TYPE as i}from"../../template-preview/models/Channels.js";import{COLORS as r}from"../../../constants/Theme.js";import{useTemplateModalContext as a}from"../context/templateModalContext.js";import{getVariableNameForEmailByIndex as p}from"../utils/getVariableNameEmail.js";import{highlightFor as m}from"../utils/highlightFor.js";import d from"./DesktopPreview.js";import s from"./EditWhatsAppTemplateV2.js";import c from"./MobilePreview.js";import h from"./VariableConnectorsPanel.js";const f=l.div`
2
+ display: flex;
3
+ // height: 100%;
4
+ `,u=l.div`
5
+ padding: 16px 14px;
6
+ border-left-width: 1px;
7
+ border-left-color: ${r.stroke.primary};
8
+ max-width: 350px;
9
+
10
+ height: ${e=>e.channel===i.WHATSAPP?"500px":"475px"};
11
+ overflow-y: 'auto';
12
+ padding-bottom: 24px;
13
+ `,g=l.div`
14
+ padding: ${e=>e.showOnlyContent?"16px 14px":"16px 32px"};
15
+ flex: 1;
16
+ height: 475px;
17
+ overflow-y: auto;
18
+ `,v=l=>{const{showVariableMapping:v,showOnlyContent:w,whatsappSpecificPickerMeta:x}=l,b=n(),y=n(),{device:j,display_content:P,channel:E,template:M,setTemplate:T}=a();const k=e=>{let t=0;for(;e;)t+=e.offsetTop,e=e.offsetParent;return t};return e(f,{children:[t(g,Object.assign({showOnlyContent:w,showVariableMapping:v},{children:"mobile"===j?t(c,{ref:y,display_content:null!=P?P:"",channel:E,template:M}):E!==i.MESSAGE?t(d,{ref:b,channel:E,display_content:null!=P?P:""}):t(o,{})})),v&&t(u,Object.assign({channel:E},{children:E!==i.WHATSAPP?t(h,{onFocus:E===i.EMAIL?function(e){var t,o,n;const l=null===document||void 0===document?void 0:document.getElementById("mobile"===j?"template_html_mobile":"template_html_desktop"),a=p(e+1),d=E===i.EMAIL?null===(t=null==l?void 0:l.contentWindow)||void 0===t?void 0:t.document.getElementById(a):document.getElementById(a),s=k(d),c=null==d?void 0:d.offsetLeft;"desktop"===j?s&&b.current&&(null===(o=null==l?void 0:l.contentWindow)||void 0===o||o.scrollTo(null!=c?c:0,s),m(a,r.background.warning.light,2,E,j)):s&&y.current&&(null===(n=null==l?void 0:l.contentWindow)||void 0===n||n.scrollTo(null!=c?c:0,s),m(a,r.background.warning.light,2,E,j))}:void 0}):t(s,{whatsappSpecificPickerMeta:x,template:M,onTemplateChange:e=>{null==T||T(e)}})}))]})};export{v as default};
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { CHANNEL_TYPE } from "../../template-preview/models/Channels";
3
+ declare const DesktopPreview: React.ForwardRefExoticComponent<{
4
+ display_content: string;
5
+ channel: CHANNEL_TYPE;
6
+ } & React.RefAttributes<HTMLDivElement>>;
7
+ export default DesktopPreview;
@@ -0,0 +1,20 @@
1
+ import{jsxs as e,jsx as t}from"react/jsx-runtime";import r from"react";import i from"styled-components";import{Spinner as o}from"../../spinner/Spinner.js";import{TemplatePreview as a}from"../../template-preview/TemplatePreview.js";import"../../template-preview/WhatsApp/WhatsAppLikePreview.js";import{COLORS as p}from"../../../constants/Theme.js";import{CHANNEL_TYPE as d}from"../../template-preview/models/Channels.js";const s=i.div`
2
+ background: ${p.surface.standard};
3
+ border: 1px solid ${p.stroke.primary};
4
+ border-radius: 8px;
5
+ overflow-y: auto;
6
+ /* max-height: 420px; */
7
+ scroll-behavior: smooth;
8
+ height: 100%;
9
+ `,m=i.div`
10
+ padding: 18px 24px 12px;
11
+ display: flex;
12
+ gap: 4px;
13
+ border-bottom-width: 1px;
14
+ border-bottom-color: ${p.stroke.primary};
15
+ `,l=i.div`
16
+ width: 6px;
17
+ height: 6px;
18
+ background: #d9d9d9;
19
+ border-radius: 3px;
20
+ `,n=r.forwardRef(((r,i)=>{let{display_content:p}=r;return e(s,Object.assign({ref:i},{children:[e(m,{children:[t(l,{}),t(l,{}),t(l,{})]}),t("div",{children:p?t(a,{channel:d.EMAIL,hideHeader:!0,emailSpecificMeta:{emailDisplayContent:p,hideViewButtonForEmail:!0,emailHtmlContainerId:"template_html_desktop",containerStyle:{width:584,height:441},templateContainerStyles:{height:"100%"}}}):t("div",Object.assign({style:{padding:20}},{children:t(o,{size:"small"})}))})]}))}));n.displayName="DesktopPreview";export{n as default};
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ import { HEADER_TYPES } from "../../template-preview/models/TemplateMeta";
3
+ export interface EditMediaV2Props {
4
+ imageName: string[];
5
+ errorSecondaryText?: string;
6
+ error?: string;
7
+ isLoading?: boolean;
8
+ mediaType?: HEADER_TYPES;
9
+ handleImageChange?: () => void;
10
+ }
11
+ declare const EditMediaV2: (props: EditMediaV2Props) => JSX.Element;
12
+ export default EditMediaV2;
@@ -0,0 +1,8 @@
1
+ import{jsxs as e,jsx as t,Fragment as i}from"react/jsx-runtime";import o from"../../../assets/icons/document_pdf.svg.js";import r from"../../../assets/icons/edit.svg.js";import s from"../../../assets/icons/refresh.svg.js";import n from"../../../assets/icons/video_camcorder.svg.js";import l from"styled-components";import{Spinner as c}from"../../spinner/Spinner.js";import{HEADER_TYPES as d}from"../../template-preview/models/TemplateMeta.js";import{BodyCaption as a,BodySecondary as m,Caption as p}from"../../TypographyStyle.js";import h from"../../../utils/StringUtils.js";import{COLORS as g}from"../../../constants/Theme.js";import{Container as f,ImageContainer as j,RightComponent as y}from"./EditMediaV2.style.js";const v=l.div`
2
+ padding-left: 14px;
3
+ padding-right: 6px;
4
+ width: 44px;
5
+ height: 24px;
6
+ border-left: 1px solid ${g.stroke.primary};
7
+ cursor: pointer;
8
+ `,u=l=>{const{imageName:u,error:b,isLoading:x,mediaType:w,handleImageChange:O}=l,C=null==u?void 0:u[0].split("/"),L=null==C?void 0:C[C.length-1];return e(f,{children:[t(j,Object.assign({error:!!b,onClick:b?O:void 0},{children:b?t(s,{color:g.content.brand,width:32,height:32}):x?t(c,{size:"small"}):w===d.IMAGE?t("img",{alt:"",src:null==u?void 0:u[0],style:{width:"100%",height:"56px",borderRadius:8,objectFit:"cover"}}):w===d.VIDEO?t(n,{width:18,height:22,color:g.content.placeholder}):t(o,{width:18,height:22,color:g.content.placeholder})})),e(y,{children:[t("div",Object.assign({style:{flex:1}},{children:u&&b?t(i,{}):x?t(a,Object.assign({style:{marginLeft:8}},{children:"Your media is getting loaded..."})):t(m,Object.assign({style:{color:g.content.primary,marginLeft:8}},{children:h.toCapitilize(null==w?void 0:w.toLowerCase())||L}))})),!!b&&e("div",Object.assign({style:{display:"flex",flexDirection:"column",marginLeft:8}},{children:[e(m,Object.assign({style:{color:g.content.negative}},{children:["Error loading this ",null==w?void 0:w.toLowerCase(),". Retry"]})),t(p,Object.assign({style:{color:g.content.secondary}},{children:b}))]})),!b&&!x&&t(v,Object.assign({onClick:O,onKeyDown:O,role:"presentation"},{children:t(r,{width:24,height:24,color:g.content.placeholder})}))]})]})};export{u as default};
@@ -0,0 +1,6 @@
1
+ export declare const RightComponent: import("styled-components").StyledComponent<"div", any, {}, never>;
2
+ export declare const ImageContainer: import("styled-components").StyledComponent<"div", any, {
3
+ error: boolean;
4
+ }, never>;
5
+ export declare const Container: import("styled-components").StyledComponent<"div", any, {}, never>;
6
+ export declare const EditTemplateMediaContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -0,0 +1,31 @@
1
+ import e from"styled-components";import{COLORS as r}from"../../../constants/Theme.js";const t=e.div`
2
+ display: flex;
3
+ align-items: center;
4
+ gap: 12px;
5
+ /* justify-content: center; */
6
+ flex: 1;
7
+ `,i=e.div`
8
+ width: 56px;
9
+ height: 56px;
10
+ display: flex;
11
+ align-items: center;
12
+ justify-content: center;
13
+ align-self: center;
14
+ background-color: ${r.surface.hovered};
15
+ border-radius: 4px;
16
+ border: 1px solid ${r.stroke.primary};
17
+ box-sizing: content-box;
18
+ cursor: ${e=>e.error?"pointer":"default"};
19
+ `,o=e.div`
20
+ padding: 8px;
21
+ flex-direction: row;
22
+ display: flex;
23
+ justify-content: space-between;
24
+ background: ${r.surface.subdued};
25
+ border: 1px solid ${r.stroke.primary};
26
+ border-radius: 4px;
27
+ margin-left: 8px;
28
+ `,n=e.div`
29
+ padding-bottom: 0px;
30
+ min-width: 285px;
31
+ `;export{o as Container,n as EditTemplateMediaContainer,i as ImageContainer,t as RightComponent};
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { WhatsAppPickerMeta, WhatsAppTemplate } from "../../template-preview/models/WhatsAppTemplate";
3
+ declare const EditMediaTemplateMediaV2: React.FC<{
4
+ mediaComponent: WhatsAppTemplate['components'][0];
5
+ template: WhatsAppTemplate;
6
+ whatsappSpecificPickerMeta: WhatsAppPickerMeta;
7
+ updateTemplateImageUrl(url: string, format: WhatsAppTemplate['components'][0]['format']): void;
8
+ }>;
9
+ export default EditMediaTemplateMediaV2;
@@ -0,0 +1 @@
1
+ import{__awaiter as e}from"../../../_virtual/_tslib.js";import{jsxs as i,Fragment as t,jsx as o}from"react/jsx-runtime";import a,{useState as l}from"react";import{FileUploaderHelper as r}from"../../helpers/FileUploaderHelper.js";import{HEADER_TYPES as n}from"../../template-preview/models/TemplateMeta.js";import p from"./EditMediaV2.js";const c=c=>{let{mediaComponent:m,template:d,updateTemplateImageUrl:s,whatsappSpecificPickerMeta:u}=c;var f,v;const g=a.createRef(),[h,M]=l(!1),[j,y]=l("");let I;return I=m.format===n.IMAGE?"image/png, image/jpeg":m.format===n.VIDEO?"video/mp4":"application/pdf",i(t,{children:[o("input",{ref:g,style:{display:"none"},type:"file",onChange:function(i){var t,o;return e(this,void 0,void 0,(function*(){y(""),M(!0);const e=new r,a=null===(t=i.target.files)||void 0===t?void 0:t[0];if(a instanceof Blob){const i=e.validate(a);if(i)y(i),M(!1);else{const e=m.format===n.IMAGE,i=yield u.uploadMediaFiles({file:a,fileName:a.name,isImage:e});if(i.success){const[e]=a.type.split("/");s(null!==(o=i.url)&&void 0!==o?o:"","application"===e?n.DOCUMENT:n[e.toUpperCase()])}else y("An unknown technical error occured");M(!1)}}else y("An unknown technical error occured"),M(!1)}))},accept:I}),o(p,{imageName:null!==(v=null===(f=null==m?void 0:m.example)||void 0===f?void 0:f.header_handle)&&void 0!==v?v:[],handleImageChange:function(){var e;(null===(e=null==g?void 0:g.current)||void 0===e?void 0:e.click)&&g.current.click()},mediaType:null==m?void 0:m.format,error:j,isLoading:h})]})};export{c as default};
@@ -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
+ import{jsxs as t,jsx as o}from"react/jsx-runtime";import{useTemplateModalContext as e}from"../context/templateModalContext.js";import{getAllDataFromTemplateComponent as n}from"../utils/getDataFromTemplateComponent.js";import{EditTemplateMediaContainer as i}from"./EditMediaV2.style.js";import l from"./EditWhatsAppTemplateMediaV2.js";import{Container as s}from"./VariableConnectorsPanel.js";import a from"./VariableConnectorWhatsApp.js";import d from"./VariableEditorHeader.js";import p from"./WhatsAppTemplateCardButtonV2.js";const r=r=>{let{template:c,onTemplateChange:u,whatsappSpecificPickerMeta:m}=r;var b,v,g,h,f,j,T,O,x,y,E,C;const{originalVariableList:V}=e(),{descriptionComponents:w,urlBtns:B,qrbBtns:I,imageComponent:R,bodyVariables:L,headerVariables:A}=n(c);function U(t,o){var e,n,i,l;const s=Object.assign({},c),a=null==s?void 0:s.components.findIndex((t=>"BUTTONS"===t.type));if(void 0!==a&&a>-1){const d=null===(e=null==s?void 0:s.components[a].buttons)||void 0===e?void 0:e.findIndex((t=>"URL"===t.type));if(void 0!==d&&d>-1){const e="custom"===o&&"string"==typeof t,p=[...null!==(l=null===(i=null===(n=s.components)||void 0===n?void 0:n[a])||void 0===i?void 0:i.buttons)&&void 0!==l?l:[]];p[d]=Object.assign(Object.assign({},p[d]),{url:"https://d.bik.ai/{{1}}",example:[e?t:"string"!=typeof t?t.defaultValue:""]});const r=Object.assign(Object.assign({},s.components[a]),{buttons:p}),c=Object.assign(Object.assign({},s.mapping),{buttons:e?["((customBtnPlaceholder))"]:"string"!=typeof t?[t.placeHolder]:void 0});s.mapping=c;const u=[...s.components];u[a]=r,s.components=u}}null==u||u(s)}function S(t,o,e){var n;const i=Object.assign({},c),l=null==i?void 0:i.components.findIndex((t=>"BUTTONS"===t.type));if(void 0!==l&&l>-1){const o=null===(n=null==i?void 0:i.components[l].buttons)||void 0===n?void 0:n.filter((t=>"QUICK_REPLY"===t.type));o&&(o[e]=Object.assign(Object.assign({},o[e]),{flowId:t.flowId,flowName:t.flowName}));const s=Object.assign(Object.assign({},i.components[l]),{buttons:o}),a=[...i.components];a[l]=s,i.components=a}null==u||u(i)}return t(s,Object.assign({style:{flexDirection:"column",maxHeight:460}},{children:[!!R&&o(i,{children:o(l,{whatsappSpecificPickerMeta:m,mediaComponent:R,updateTemplateImageUrl:function(t,o){var e;let n=Object.assign({},c);const i=null===(e=null==n?void 0:n.components)||void 0===e?void 0:e.findIndex((t=>{if("HEADER"===t.type&&"NONE"!==t.format&&"TEXT"!==t.format)return!0}));if(void 0!==i&&i>-1&&(null==n?void 0:n.components[i])){const e=Object.assign(Object.assign({},n.components[i]),{format:o,example:{header_handle:[t]}}),l=[...n.components];l[i]=e,n=Object.assign(Object.assign({},n),{components:l})}null==u||u(n)},template:c})}),(L.length>0||A.length>0)&&o(d,{containerStyle:{paddingTop:R?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==w?void 0:w.map(((t,e)=>o(a,{originalVariableList:V,type:t.type,descriptionComponent:t.component,variableMapping:"HEADER"===t.type?c.mapping.header:c.mapping.body},e))),(null===(v=null===(b=B[0])||void 0===b?void 0:b.component)||void 0===v?void 0:v.buttons)&&(null===(f=null===(h=null===(g=B[0])||void 0===g?void 0:g.component)||void 0===h?void 0:h.buttons)||void 0===f?void 0:f.length)>0&&o(d,{headerText:"Edit buttons",subText:"Edit the link connected to the CTA button"}),null===(j=null==V?void 0:V.buttons)||void 0===j?void 0:j.map(((t,e)=>{if("URL"===t.type)return o(p,{CTAoptions:null==m?void 0:m.CTAoptions,button:t,originalVariableList:V,updateSelectedURLTemplateBtn:U},`${e}`)})),(null===(O=null===(T=I[0])||void 0===T?void 0:T.component)||void 0===O?void 0:O.buttons)&&(null===(E=null===(y=null===(x=I[0])||void 0===x?void 0:x.component)||void 0===y?void 0:y.buttons)||void 0===E?void 0:E.length)>0&&o(d,{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==V?void 0:V.buttons)||void 0===C?void 0:C.map(((t,e)=>{if("QUICK_REPLY"===t.type)return o(p,{QRBoptions:null==m?void 0:m.QRBoptions,button:t,originalVariableList:V,updateSelectedQRBTemplateBtn:S},`${e}`)}))]}))};export{r as default};
@@ -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
+ import{jsxs as t,jsx as e}from"react/jsx-runtime";import o from"styled-components";import{Button as r}from"../../button/Button.js";import{COLORS as i}from"../../../constants/Theme.js";import{Badge as n}from"../Badge/index.js";import{useTemplateModalContext as s}from"../context/templateModalContext.js";const p=o.div`
2
+ background: ${i.surface.standard};
3
+ border-top-width: 1px;
4
+ border-top-color: ${i.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
+ `,a=o=>{let{onSelect:i}=o;const{isError:a}=s();return t(p,{children:[a&&e(n,{errorText:"Some inputs are missing or incorrect. Please check"}),e(r,{id:"select-template-btn",buttonText:"Select template",size:"large",onClick:i})]})};export{a as default};
@@ -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
+ import{jsxs as e,jsx as t}from"react/jsx-runtime";import o from"../../../assets/icons/desktop_custom.svg.js";import n from"../../../assets/icons/mobile_custom.svg.js";import i from"styled-components";import{BodyPrimary as r}from"../../TypographyStyle.js";import{COLORS as s}from"../../../constants/Theme.js";import{useTemplateModalContext as d}from"../context/templateModalContext.js";const c=i.div`
2
+ padding-top: 12px;
3
+ padding-bottom: 12px;
4
+ padding-left: 30px;
5
+ padding-right: 30px;
6
+ background-color: ${s.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
+ `,a=i.div`
11
+ display: flex;
12
+ border: 1px solid ${s.stroke.primary};
13
+ border-radius: 4px;
14
+ overflow: hidden;
15
+ width: min-content;
16
+ `,l=i.div`
17
+ background: ${e=>e.active?s.background.brandLight:s.background.base};
18
+ padding: 6px 8px;
19
+ justify-content: center;
20
+ align-items: center;
21
+ `,p=i(l)`
22
+ border-left: 1px solid ${s.stroke.primary};
23
+ `,m=i=>{let{showOnlyContent:m}=i;const{device:b,setDevice:g}=d();return e(c,Object.assign({showOnlyContent:m},{children:[e(a,{children:[t(l,Object.assign({active:"mobile"===b,onClick:()=>null==g?void 0:g("mobile")},{children:t(n,{color:"mobile"===b?s.content.brand:s.content.secondary,height:20,width:20})})),t(p,Object.assign({active:"desktop"===b,onClick:()=>null==g?void 0:g("desktop")},{children:t(o,{color:"desktop"===b?s.content.brand:s.content.secondary,height:20,width:20})}))]}),e(r,Object.assign({style:{color:s.content.primary,marginLeft:16}},{children:["mobile"===b?"Mobile":"Web"," view"]}))]}))};export{m as default};
@@ -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
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import i from"react";import a from"styled-components";import{TemplatePreview as o}from"../../template-preview/TemplatePreview.js";import"../../template-preview/WhatsApp/WhatsAppLikePreview.js";import"../../../constants/Theme.js";import{CHANNEL_TYPE as r}from"../../template-preview/models/Channels.js";const p=a.div`
2
+ position: relative;
3
+ height: 100%;
4
+ border-radius: 31px;
5
+ width: ${e=>e.channel===r.WHATSAPP?"236px":"213px"};
6
+ background-color: white;
7
+ margin: auto;
8
+ overflow-y: auto;
9
+ `,l=a.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
+ `,s=i.forwardRef(((i,a)=>{let{display_content:s,channel:n,template:m}=i;return e("div",{children:t(p,Object.assign({channel:n},{children:[e("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:n===r.WHATSAPP?236:213,height:443}}),e(l,Object.assign({ref:a},{children:e(o,{template:m,channel:n,smsSpecificMeta:{smsDisplayContent:s},whatsAppSpecificMeta:{showWhatsAppHeader:!0,whatsAppExtras:!0,containerStyle:{border:"none",borderBottomRightRadius:0,borderBottomLeftRadius:0,minHeight:426}},size:"small",hideHeader:!0,emailSpecificMeta:{emailDisplayContent:s,hideViewButtonForEmail:!0,emailHtmlContainerId:"template_html_mobile",containerStyle:{height:"100%"},templateContainerStyles:{height:"100%"}}})}))]}))})}));s.displayName="MobilePreview";export{s as default};
@@ -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
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import{CHANNEL_TYPE as i}from"../../template-preview/models/Channels.js";import n from"./Body.js";import o from"./Header.js";const a=a=>{let{channel:r,showVariableMapping:p,showOnlyContent:s,whatsappSpecificPickerMeta:l}=a;return e("div",Object.assign({style:{paddingBottom:0}},{children:t("div",{children:[r===i.EMAIL&&e(o,{showOnlyContent:s}),e(n,{whatsappSpecificPickerMeta:l,showVariableMapping:!!p,showOnlyContent:s})]})}))};export{a as default};
@@ -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
+ import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useState as l,useEffect as o}from"react";import n from"styled-components";import{Dropdown as i}from"../../dropdown/Dropdown.js";import{Input as a}from"../../input/Input.js";import{placeHolderNamePattern as s}from"../../template-preview/constants/regexPatterns.js";import{CHANNEL_TYPE as u}from"../../template-preview/models/Channels.js";import{BodySecondary as d}from"../../TypographyStyle.js";import r from"../../../utils/StringUtils.js";import{COLORS as c}from"../../../constants/Theme.js";import{useTemplateModalContext as m}from"../context/templateModalContext.js";import{getVariableNameForEmailByIndex as v}from"../utils/getVariableNameEmail.js";import{validateIsUrl as p}from"../utils/validateIsUrl.js";const b=n.div`
2
+ /* surface/$color-background-warning-light */
3
+
4
+ background: ${e=>e.focused&&e.channel===u.EMAIL?c.background.warning.light:"transparent"};
5
+ border-radius: 4px;
6
+ padding: 8px 10px;
7
+ `,g={value:"custom_link",label:"Custom URL"},x={value:"custom_text",label:"Custom text"},h=n=>{let{onFocus:h,variable:f,index:j}=n;var _;const[y,k]=l(!1),[A,O]=l(""),[P,T]=l([]),[E,S]=l(),{device:L,channel:V,isError:W,originalVariableList:C,template:M,templateSelectionTriggered:w,setTemplate:H,setDisplayContent:I,setOriginalVariableList:B,globalNormalizedPlaceholders:$}=m();function U(e,t){var l,o;const n="custom_link"===t?"link":"custom_text"===t?"string":t;if(V!==u.WHATSAPP){const o=v(j+1),i=null===document||void 0===document?void 0:document.getElementById("mobile"===L?"template_html_mobile":"template_html_desktop"),a=V===u.EMAIL?null===(l=null==i?void 0:i.contentWindow)||void 0===l?void 0:l.document.getElementById(o):document.getElementById(o);a&&(a.textContent="custom_text"!==t&&"custom_link"!==t||e?e:f.variableName);const s=C.map(((t,l)=>l===j?Object.assign(Object.assign({},t),{type:n,updatedValue:e}):t));null==B||B(s)}if(V===u.WHATSAPP){const t=null===(o=C.body)||void 0===o?void 0:o.map(((t,l)=>l===j?Object.assign(Object.assign({},t),{type:n,updatedValue:e}):t));null==B||B((e=>Object.assign(Object.assign({},e),{body:t,buttons:C.buttons})))}}function N(e,t){var l;const o=Object.assign({},M),n=null===(l=null==o?void 0:o.components)||void 0===l?void 0:l.map((l=>{var o,n,i,a,s;const u=Object.assign({},l);if("BODY"===l.type&&(null===(n=null===(o=l.example)||void 0===o?void 0:o.body_text)||void 0===n?void 0:n[0])){const l=[...null!==(s=null===(a=null===(i=u.example)||void 0===i?void 0:i.body_text)||void 0===a?void 0:a[0])&&void 0!==s?s:[]];l[e]=t.replace("{{","").replace("}}","").replace("((","").replace("))","");const o=Object.assign(Object.assign({},u.example),{body_text:[l]});return Object.assign(Object.assign({},u),{example:o})}return l}));o.components=n,null==H||H(o)}return o((()=>{y&&(null==h||h())}),[y]),o((()=>{!function(){var e,t,l,o,n;const i="mobile"===L?"template_html_mobile":"template_html_desktop",a=document.getElementById(i),s=(null!==(o=null===(l=null===(t=null===(e=null==a?void 0:a.contentWindow)||void 0===e?void 0:e.document)||void 0===t?void 0:t.body)||void 0===l?void 0:l.innerHTML)&&void 0!==o?o:"")+(null===(n=null==a?void 0:a.contentWindow)||void 0===n?void 0:n.document.head.innerHTML);V===u.EMAIL&&(null==I||I(s))}()}),[w]),o((()=>{var e;const t=[];let l=[];if(V===u.MESSAGE){const e=null!=$?$:[];T([{label:"",options:[x,g]},...e]),l=[{label:"",options:[x,g]},...e]}else{"link"===(null==f?void 0:f.type)?(t.push({label:"",options:[g,x]}),S(g)):(t.push({label:"",options:[g,x]}),S(x));const e=null!=$?$:[];T([...t,...e.map((e=>{var t,l;return Object.assign(Object.assign({},e),{label:r.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((V===u.WHATSAPP||V===u.EMAIL||V===u.MESSAGE)&&f.updatedValue)if(s.test(f.updatedValue)&&V===u.WHATSAPP||f.updatedValue.startsWith("{{")&&V!==u.WHATSAPP){let e={label:"",value:""};const t=V===u.WHATSAPP?f.updatedValue.replace("[[","").replace("]]",""):f.updatedValue.replace("{{","").replace("}}","");l.map((l=>{l.options.map((l=>{var o;(null===(o=l.value)||void 0===o?void 0:o.replace("{{","").replace("}}",""))===t&&(e=l)}))})),e.value&&S(e)}else(null===(e=f.updatedValue)||void 0===e?void 0:e.startsWith("https"))?(S(g),O(f.updatedValue.split("https://")[1])):(S(x),O(f.updatedValue))}),[]),e(b,Object.assign({channel:V,focused:y,onMouseEnter:()=>k(!0),onMouseLeave:()=>k(!1)},{children:[t("div",Object.assign({style:{marginBottom:8}},{children:e(d,Object.assign({style:{color:W&&!E?c.content.negative:c.content.primary}},{children:[null===(_=f.variableName)||void 0===_?void 0:_.replace("{{","").replace("}}","")," ","link"===(null==f?void 0:f.type)?"link":"variable"]}))})),t("div",Object.assign({style:{marginBottom:12}},{children:t(i,{options:P,isSearchable:!1,onSelect:function(e,t){var l,o,n;const i=e;O(""),S(i),V===u.WHATSAPP?"custom_text"!==i.value&&"custom_link"!==i.value?(U(null!==(l=i.value)&&void 0!==l?l:"","string"),null==N||N(null!==(o=f.index)&&void 0!==o?o:0,`[[${i.value}]]`)):(null==N||N(null!==(n=f.index)&&void 0!==n?n:0,f.variableName),U("","url"===i.bikPlaceholderType?"link":"string")):"custom_text"!==i.value&&"custom_link"!==i.value?U(i.value,"url"===i.bikPlaceholderType?"link":"string"):(O(""),U("",i.value))},defaultOptions:E?[Object.assign(Object.assign({},E),{selected:!0})]:[]})})),("custom_text"===(null==E?void 0:E.value)||"custom_link"===(null==E?void 0:E.value))&&t(a,{labelText:"custom_text"===(null==E?void 0:E.value)?"Custom text value":"custom_link"===(null==E?void 0:E.value)?"Custom URL value":"",id:`variable-value-${null==E?void 0:E.value}-${j}`,value:A,errorMessage:W?A?"custom_link"!==E.value||p(A)?"":"Enter valid URL":"Required field":"",maxCharLimit:"custom_link"===(null==E?void 0:E.value)?void 0:30,prefixText:"custom_link"===(null==E?void 0:E.value)?"https://":"",placeholder:"link"===f.type||"custom_link"===E.value?"Enter custom URL here":"Enter custom text here",onChangeText:e=>function(e,t){var l;O(t);const o="custom_link"===(null==E?void 0:E.value)?`https://${t}`:t;U(o,e),V===u.WHATSAPP&&(null==N||N(null!==(l=f.index)&&void 0!==l?l:0,o))}(E.value,e)})]}))};export{b as Container,h as default};
@@ -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
+ import{jsx as e,jsxs as t,Fragment as r}from"react/jsx-runtime";import{Input as i}from"../../input/Input.js";import{BodySecondary as o}from"../../TypographyStyle.js";import{COLORS as a}from"../../../constants/Theme.js";import{useTemplateModalContext as n}from"../context/templateModalContext.js";import l from"./VariableConnector.js";const s=s=>{let{descriptionComponent:p,type:d}=s;var m;const{originalVariableList:c}=n();return"BODY"===p.type?e("div",{children:null===(m=null==c?void 0:c.body)||void 0===m?void 0:m.map(((r,n)=>r.isEditableVariable?e(l,{index:n,variable:r},`${n}-${r.index}`):t("div",Object.assign({style:{margin:"16px 8px"}},{children:[t(o,Object.assign({style:{color:a.content.primary}},{children:["HEADER"===d?"Header":""," Locked variable ",n+1]})),e(i,{state:"disabled",placeholder:r.variableName,onChangeText:()=>{}})]}),n)))}):e(r,{})};export{s as default};
@@ -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
+ import{jsxs as e,jsx as t,Fragment as i}from"react/jsx-runtime";import o from"../../../assets/icons/info.svg.js";import n from"styled-components";import{CHANNEL_TYPE as l}from"../../template-preview/models/Channels.js";import{Tooltip as r}from"../../tooltips/Tooltip.js";import{TitleRegular as a,BodySecondary as s}from"../../TypographyStyle.js";import{COLORS as c}from"../../../constants/Theme.js";import{useTemplateModalContext as d}from"../context/templateModalContext.js";import m from"./VariableConnector.js";const p=n.div`
2
+ overflow-y: auto;
3
+ display: flex;
4
+ flex-direction: column;
5
+ height: 100%;
6
+ `,h=n=>{let{onFocus:h}=n;const{originalVariableList:b,channel:f}=d();return e(p,{children:[e("div",Object.assign({style:{padding:8}},{children:[e("div",Object.assign({style:{display:"flex",gap:8}},{children:[t(a,Object.assign({style:{color:c.content.primary}},{children:"Edit variables and links"})),t(r,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:t("div",{children:t(o,{width:20,height:20,color:c.content.placeholder})})}))]})),t(s,Object.assign({style:{color:c.content.secondary}},{children:"You can view variables and links on the left underlined in purple colour."}))]})),null==b?void 0:b.map(((e,o)=>f!==l.EMAIL||e.isEditableVariable?t("div",Object.assign({style:{marginTop:16}},{children:t(m,{index:o,variable:e,onFocus:()=>null==h?void 0:h(o)})}),o):t(i,{})))]})};export{p as Container,h as default};
@@ -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,9 @@
1
+ import{jsxs as t,jsx as e}from"react/jsx-runtime";import o from"../../../assets/icons/info.svg.js";import i from"styled-components";import{Tooltip as n}from"../../tooltips/Tooltip.js";import{BodySecondary as r,TitleRegular as s}from"../../TypographyStyle.js";import{COLORS as l}from"../../../constants/Theme.js";const a=i(r)`
2
+ line-height: 1.5 !important;
3
+ `,c=i.div`
4
+ padding-top: 24px;
5
+ padding-left: 10px;
6
+ padding-right: 10px;
7
+ margin-bottom: 8px;
8
+ line-height: normal;
9
+ `,p=i=>{let{headerText:r,subText:p,toolTipInfo:d,containerStyle:m}=i;return t(c,Object.assign({style:Object.assign({},m)},{children:[t("div",Object.assign({style:{display:"flex",gap:8}},{children:[e(s,Object.assign({style:{color:l.content.primary}},{children:r})),d&&e(n,Object.assign({body:p},{children:e("div",{children:e(o,{width:20,height:20,color:l.content.placeholder})})}))]})),e(a,Object.assign({style:{color:l.content.secondary,marginBottom:0,lineHeight:20,display:"block"}},{children:p}))]}))};export{p as default};