@capillarytech/creatives-library 8.0.255-alpha.4 → 8.0.255

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 (278) hide show
  1. package/assets/Android.png +0 -0
  2. package/assets/iOS.png +0 -0
  3. package/constants/unified.js +2 -2
  4. package/initialReducer.js +2 -0
  5. package/package.json +1 -1
  6. package/services/api.js +10 -5
  7. package/services/tests/api.test.js +34 -0
  8. package/translations/en.json +3 -4
  9. package/utils/common.js +5 -6
  10. package/utils/commonUtils.js +28 -5
  11. package/utils/tests/commonUtil.test.js +224 -0
  12. package/utils/tests/transformerUtils.test.js +0 -297
  13. package/utils/transformTemplateConfig.js +0 -10
  14. package/utils/transformerUtils.js +0 -40
  15. package/v2Components/CapDeviceContent/index.js +61 -56
  16. package/v2Components/CapImageUpload/constants.js +0 -2
  17. package/v2Components/CapImageUpload/index.js +16 -65
  18. package/v2Components/CapImageUpload/index.scss +1 -4
  19. package/v2Components/CapImageUpload/messages.js +1 -5
  20. package/v2Components/CapTagList/index.js +6 -1
  21. package/v2Components/CapTagListWithInput/index.js +5 -1
  22. package/v2Components/CapTagListWithInput/messages.js +1 -1
  23. package/v2Components/CapWhatsappCTA/tests/index.test.js +5 -0
  24. package/v2Components/ErrorInfoNote/constants.js +1 -0
  25. package/v2Components/ErrorInfoNote/index.js +457 -72
  26. package/v2Components/ErrorInfoNote/messages.js +36 -6
  27. package/v2Components/ErrorInfoNote/style.scss +282 -6
  28. package/v2Components/FormBuilder/tests/index.test.js +13 -4
  29. package/v2Components/HtmlEditor/HTMLEditor.js +547 -94
  30. package/v2Components/HtmlEditor/__tests__/HTMLEditor.apiErrors.test.js +874 -0
  31. package/v2Components/HtmlEditor/__tests__/HTMLEditor.test.js +1441 -133
  32. package/v2Components/HtmlEditor/__tests__/index.lazy.test.js +27 -16
  33. package/v2Components/HtmlEditor/_htmlEditor.scss +108 -45
  34. package/v2Components/HtmlEditor/_index.lazy.scss +0 -1
  35. package/v2Components/HtmlEditor/components/CodeEditorPane/_codeEditorPane.scss +23 -102
  36. package/v2Components/HtmlEditor/components/CodeEditorPane/index.js +148 -140
  37. package/v2Components/HtmlEditor/components/DeviceToggle/_deviceToggle.scss +2 -1
  38. package/v2Components/HtmlEditor/components/DeviceToggle/index.js +3 -3
  39. package/v2Components/HtmlEditor/components/EditorToolbar/_editorToolbar.scss +9 -0
  40. package/v2Components/HtmlEditor/components/EditorToolbar/index.js +4 -4
  41. package/v2Components/HtmlEditor/components/FullscreenModal/_fullscreenModal.scss +22 -0
  42. package/v2Components/HtmlEditor/components/InAppPreviewPane/DeviceFrame.js +4 -7
  43. package/v2Components/HtmlEditor/components/InAppPreviewPane/__tests__/DeviceFrame.test.js +35 -45
  44. package/v2Components/HtmlEditor/components/InAppPreviewPane/_inAppPreviewPane.scss +1 -3
  45. package/v2Components/HtmlEditor/components/InAppPreviewPane/constants.js +33 -33
  46. package/v2Components/HtmlEditor/components/InAppPreviewPane/index.js +7 -6
  47. package/v2Components/HtmlEditor/components/PreviewPane/_previewPane.scss +3 -6
  48. package/v2Components/HtmlEditor/components/PreviewPane/index.js +22 -43
  49. package/v2Components/HtmlEditor/components/SplitContainer/_splitContainer.scss +1 -1
  50. package/v2Components/HtmlEditor/components/ValidationErrorDisplay/_validationErrorDisplay.scss +1 -0
  51. package/v2Components/HtmlEditor/components/ValidationErrorDisplay/index.js +49 -31
  52. package/v2Components/HtmlEditor/components/ValidationPanel/_validationPanel.scss +50 -34
  53. package/v2Components/HtmlEditor/components/ValidationPanel/constants.js +6 -0
  54. package/v2Components/HtmlEditor/components/ValidationPanel/index.js +70 -41
  55. package/v2Components/HtmlEditor/components/ValidationTabs/_validationTabs.scss +255 -0
  56. package/v2Components/HtmlEditor/components/ValidationTabs/index.js +364 -0
  57. package/v2Components/HtmlEditor/components/ValidationTabs/messages.js +51 -0
  58. package/v2Components/HtmlEditor/constants.js +42 -20
  59. package/v2Components/HtmlEditor/hooks/__tests__/useInAppContent.test.js +373 -16
  60. package/v2Components/HtmlEditor/hooks/__tests__/useValidation.test.js +103 -0
  61. package/v2Components/HtmlEditor/hooks/useEditorContent.js +5 -2
  62. package/v2Components/HtmlEditor/hooks/useInAppContent.js +88 -146
  63. package/v2Components/HtmlEditor/hooks/useValidation.js +189 -53
  64. package/v2Components/HtmlEditor/index.js +1 -1
  65. package/v2Components/HtmlEditor/messages.js +92 -94
  66. package/v2Components/HtmlEditor/utils/__tests__/htmlValidator.enhanced.test.js +94 -45
  67. package/v2Components/HtmlEditor/utils/__tests__/validationAdapter.test.js +134 -0
  68. package/v2Components/HtmlEditor/utils/contentSanitizer.js +40 -41
  69. package/v2Components/HtmlEditor/utils/htmlValidator.js +71 -72
  70. package/v2Components/HtmlEditor/utils/liquidTemplateSupport.js +134 -102
  71. package/v2Components/HtmlEditor/utils/properSyntaxHighlighting.js +23 -25
  72. package/v2Components/HtmlEditor/utils/validationAdapter.js +66 -41
  73. package/v2Components/HtmlEditor/utils/validationConstants.js +40 -0
  74. package/v2Components/MobilePushPreviewV2/index.js +32 -7
  75. package/v2Components/TemplatePreview/_templatePreview.scss +55 -24
  76. package/v2Components/TemplatePreview/index.js +47 -32
  77. package/v2Components/TemplatePreview/messages.js +4 -0
  78. package/v2Components/TestAndPreviewSlidebox/_testAndPreviewSlidebox.scss +1 -0
  79. package/v2Containers/App/constants.js +0 -5
  80. package/v2Containers/BeeEditor/index.js +172 -90
  81. package/v2Containers/BeePopupEditor/_beePopupEditor.scss +14 -0
  82. package/v2Containers/BeePopupEditor/constants.js +10 -0
  83. package/v2Containers/BeePopupEditor/index.js +194 -0
  84. package/v2Containers/BeePopupEditor/tests/index.test.js +627 -0
  85. package/v2Containers/Cap/tests/__snapshots__/index.test.js.snap +3 -4
  86. package/v2Containers/CreativesContainer/SlideBoxContent.js +129 -107
  87. package/v2Containers/CreativesContainer/SlideBoxFooter.js +163 -13
  88. package/v2Containers/CreativesContainer/SlideBoxHeader.js +2 -2
  89. package/v2Containers/CreativesContainer/constants.js +1 -3
  90. package/v2Containers/CreativesContainer/index.js +239 -214
  91. package/v2Containers/CreativesContainer/messages.js +8 -4
  92. package/v2Containers/CreativesContainer/tests/SlideBoxContent.test.js +0 -210
  93. package/v2Containers/CreativesContainer/tests/SlideBoxFooter.test.js +11 -2
  94. package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +38 -354
  95. package/v2Containers/CreativesContainer/tests/__snapshots__/index.test.js.snap +106 -0
  96. package/v2Containers/Email/actions.js +7 -0
  97. package/v2Containers/Email/constants.js +5 -1
  98. package/v2Containers/Email/index.js +234 -29
  99. package/v2Containers/Email/messages.js +32 -0
  100. package/v2Containers/Email/reducer.js +12 -1
  101. package/v2Containers/Email/sagas.js +61 -7
  102. package/v2Containers/Email/tests/__snapshots__/reducer.test.js.snap +2 -0
  103. package/v2Containers/Email/tests/reducer.test.js +46 -0
  104. package/v2Containers/Email/tests/sagas.test.js +320 -29
  105. package/v2Containers/EmailWrapper/components/EmailHTMLEditor.js +1285 -0
  106. package/v2Containers/EmailWrapper/components/EmailWrapperView.js +211 -21
  107. package/v2Containers/EmailWrapper/components/HTMLEditorTesting.js +40 -74
  108. package/v2Containers/EmailWrapper/components/__tests__/EmailHTMLEditor.test.js +1880 -0
  109. package/v2Containers/EmailWrapper/components/__tests__/EmailWrapperView.test.js +520 -0
  110. package/v2Containers/EmailWrapper/components/__tests__/HTMLEditorTesting.test.js +2 -67
  111. package/v2Containers/EmailWrapper/constants.js +2 -0
  112. package/v2Containers/EmailWrapper/hooks/useEmailWrapper.js +629 -77
  113. package/v2Containers/EmailWrapper/index.js +103 -23
  114. package/v2Containers/EmailWrapper/messages.js +65 -1
  115. package/v2Containers/EmailWrapper/tests/useEmailWrapper.edgeCases.test.js +643 -0
  116. package/v2Containers/EmailWrapper/tests/useEmailWrapper.test.js +594 -77
  117. package/v2Containers/InApp/__tests__/InAppHTMLEditor.test.js +376 -0
  118. package/v2Containers/InApp/__tests__/sagas.test.js +363 -0
  119. package/v2Containers/InApp/actions.js +7 -0
  120. package/v2Containers/InApp/constants.js +20 -4
  121. package/v2Containers/InApp/index.js +802 -359
  122. package/v2Containers/InApp/index.scss +4 -3
  123. package/v2Containers/InApp/messages.js +7 -3
  124. package/v2Containers/InApp/reducer.js +21 -3
  125. package/v2Containers/InApp/sagas.js +29 -9
  126. package/v2Containers/InApp/selectors.js +25 -5
  127. package/v2Containers/InApp/tests/index.test.js +154 -50
  128. package/v2Containers/InApp/tests/reducer.test.js +34 -0
  129. package/v2Containers/InApp/tests/sagas.test.js +61 -9
  130. package/v2Containers/InApp/tests/selectors.test.js +612 -0
  131. package/v2Containers/InAppWrapper/components/InAppWrapperView.js +151 -0
  132. package/v2Containers/InAppWrapper/components/__tests__/InAppWrapperView.test.js +267 -0
  133. package/v2Containers/InAppWrapper/components/inAppWrapperView.scss +23 -0
  134. package/v2Containers/InAppWrapper/constants.js +16 -0
  135. package/v2Containers/InAppWrapper/hooks/__tests__/useInAppWrapper.test.js +473 -0
  136. package/v2Containers/InAppWrapper/hooks/useInAppWrapper.js +198 -0
  137. package/v2Containers/InAppWrapper/index.js +148 -0
  138. package/v2Containers/InAppWrapper/messages.js +49 -0
  139. package/v2Containers/InappAdvance/index.js +1099 -0
  140. package/v2Containers/InappAdvance/index.scss +10 -0
  141. package/v2Containers/InappAdvance/tests/index.test.js +448 -0
  142. package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/content.test.js.snap +15 -36
  143. package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/index.test.js.snap +8 -8
  144. package/v2Containers/Line/Container/Wrapper/tests/__snapshots__/index.test.js.snap +77 -100
  145. package/v2Containers/Line/Container/tests/__snapshots__/index.test.js.snap +63 -72
  146. package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +190 -250
  147. package/v2Containers/SmsTrai/Create/tests/__snapshots__/index.test.js.snap +12 -16
  148. package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +40 -48
  149. package/v2Containers/TagList/index.js +62 -19
  150. package/v2Containers/Templates/ChannelTypeIllustration.js +1 -13
  151. package/v2Containers/Templates/_templates.scss +56 -202
  152. package/v2Containers/Templates/actions.js +1 -2
  153. package/v2Containers/Templates/constants.js +0 -1
  154. package/v2Containers/Templates/index.js +123 -278
  155. package/v2Containers/Templates/messages.js +4 -24
  156. package/v2Containers/Templates/reducer.js +0 -2
  157. package/v2Containers/Templates/tests/index.test.js +0 -10
  158. package/v2Containers/TemplatesV2/index.js +7 -15
  159. package/v2Containers/TemplatesV2/messages.js +0 -4
  160. package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +768 -1272
  161. package/utils/imageUrlUpload.js +0 -141
  162. package/v2Components/CapImageUrlUpload/constants.js +0 -26
  163. package/v2Components/CapImageUrlUpload/index.js +0 -365
  164. package/v2Components/CapImageUrlUpload/index.scss +0 -35
  165. package/v2Components/CapImageUrlUpload/messages.js +0 -47
  166. package/v2Components/HtmlEditor/components/ValidationErrorDisplay/__tests__/index.test.js +0 -152
  167. package/v2Containers/EmailWrapper/tests/EmailWrapperView.test.js +0 -214
  168. package/v2Containers/WebPush/Create/components/BrandIconSection.js +0 -108
  169. package/v2Containers/WebPush/Create/components/ButtonForm.js +0 -172
  170. package/v2Containers/WebPush/Create/components/ButtonItem.js +0 -101
  171. package/v2Containers/WebPush/Create/components/ButtonList.js +0 -145
  172. package/v2Containers/WebPush/Create/components/ButtonsLinksSection.js +0 -164
  173. package/v2Containers/WebPush/Create/components/ButtonsLinksSection.test.js +0 -463
  174. package/v2Containers/WebPush/Create/components/FormActions.js +0 -54
  175. package/v2Containers/WebPush/Create/components/FormActions.test.js +0 -163
  176. package/v2Containers/WebPush/Create/components/MediaSection.js +0 -142
  177. package/v2Containers/WebPush/Create/components/MediaSection.test.js +0 -341
  178. package/v2Containers/WebPush/Create/components/MessageSection.js +0 -103
  179. package/v2Containers/WebPush/Create/components/MessageSection.test.js +0 -268
  180. package/v2Containers/WebPush/Create/components/NotificationTitleSection.js +0 -87
  181. package/v2Containers/WebPush/Create/components/NotificationTitleSection.test.js +0 -210
  182. package/v2Containers/WebPush/Create/components/TemplateNameSection.js +0 -54
  183. package/v2Containers/WebPush/Create/components/TemplateNameSection.test.js +0 -143
  184. package/v2Containers/WebPush/Create/components/__snapshots__/ButtonsLinksSection.test.js.snap +0 -86
  185. package/v2Containers/WebPush/Create/components/__snapshots__/FormActions.test.js.snap +0 -16
  186. package/v2Containers/WebPush/Create/components/__snapshots__/MediaSection.test.js.snap +0 -41
  187. package/v2Containers/WebPush/Create/components/__snapshots__/MessageSection.test.js.snap +0 -54
  188. package/v2Containers/WebPush/Create/components/__snapshots__/NotificationTitleSection.test.js.snap +0 -37
  189. package/v2Containers/WebPush/Create/components/__snapshots__/TemplateNameSection.test.js.snap +0 -21
  190. package/v2Containers/WebPush/Create/components/_buttons.scss +0 -246
  191. package/v2Containers/WebPush/Create/components/tests/ButtonForm.test.js +0 -554
  192. package/v2Containers/WebPush/Create/components/tests/ButtonItem.test.js +0 -607
  193. package/v2Containers/WebPush/Create/components/tests/ButtonList.test.js +0 -633
  194. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonForm.test.js.snap +0 -666
  195. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonItem.test.js.snap +0 -74
  196. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonList.test.js.snap +0 -78
  197. package/v2Containers/WebPush/Create/hooks/useButtonManagement.js +0 -138
  198. package/v2Containers/WebPush/Create/hooks/useButtonManagement.test.js +0 -406
  199. package/v2Containers/WebPush/Create/hooks/useCharacterCount.js +0 -30
  200. package/v2Containers/WebPush/Create/hooks/useCharacterCount.test.js +0 -151
  201. package/v2Containers/WebPush/Create/hooks/useImageUpload.js +0 -104
  202. package/v2Containers/WebPush/Create/hooks/useImageUpload.test.js +0 -538
  203. package/v2Containers/WebPush/Create/hooks/useTagManagement.js +0 -122
  204. package/v2Containers/WebPush/Create/hooks/useTagManagement.test.js +0 -633
  205. package/v2Containers/WebPush/Create/index.js +0 -1148
  206. package/v2Containers/WebPush/Create/index.scss +0 -134
  207. package/v2Containers/WebPush/Create/messages.js +0 -203
  208. package/v2Containers/WebPush/Create/preview/DevicePreviewContent.js +0 -228
  209. package/v2Containers/WebPush/Create/preview/NotificationContainer.js +0 -294
  210. package/v2Containers/WebPush/Create/preview/PreviewContent.js +0 -90
  211. package/v2Containers/WebPush/Create/preview/PreviewControls.js +0 -305
  212. package/v2Containers/WebPush/Create/preview/PreviewDisclaimer.js +0 -23
  213. package/v2Containers/WebPush/Create/preview/WebPushPreview.js +0 -155
  214. package/v2Containers/WebPush/Create/preview/assets/Light.svg +0 -53
  215. package/v2Containers/WebPush/Create/preview/assets/Top.svg +0 -5
  216. package/v2Containers/WebPush/Create/preview/assets/android-arrow-down.svg +0 -9
  217. package/v2Containers/WebPush/Create/preview/assets/android-arrow-up.svg +0 -9
  218. package/v2Containers/WebPush/Create/preview/assets/chrome-icon.png +0 -0
  219. package/v2Containers/WebPush/Create/preview/assets/edge-icon.png +0 -0
  220. package/v2Containers/WebPush/Create/preview/assets/firefox-icon.svg +0 -106
  221. package/v2Containers/WebPush/Create/preview/assets/iOS.svg +0 -26
  222. package/v2Containers/WebPush/Create/preview/assets/macos-arrow-down-icon.svg +0 -9
  223. package/v2Containers/WebPush/Create/preview/assets/macos-triple-dot-icon.svg +0 -9
  224. package/v2Containers/WebPush/Create/preview/assets/opera-icon.svg +0 -18
  225. package/v2Containers/WebPush/Create/preview/assets/safari-icon.svg +0 -29
  226. package/v2Containers/WebPush/Create/preview/assets/windows-close-icon.svg +0 -9
  227. package/v2Containers/WebPush/Create/preview/assets/windows-triple-dot-icon.svg +0 -9
  228. package/v2Containers/WebPush/Create/preview/components/AndroidMobileChromeHeader.js +0 -47
  229. package/v2Containers/WebPush/Create/preview/components/AndroidMobileExpanded.js +0 -141
  230. package/v2Containers/WebPush/Create/preview/components/IOSHeader.js +0 -45
  231. package/v2Containers/WebPush/Create/preview/components/NotificationExpandedContent.js +0 -68
  232. package/v2Containers/WebPush/Create/preview/components/NotificationHeader.js +0 -61
  233. package/v2Containers/WebPush/Create/preview/components/WindowsChromeExpanded.js +0 -99
  234. package/v2Containers/WebPush/Create/preview/components/tests/AndroidMobileExpanded.test.js +0 -733
  235. package/v2Containers/WebPush/Create/preview/components/tests/WindowsChromeExpanded.test.js +0 -571
  236. package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/AndroidMobileExpanded.test.js.snap +0 -81
  237. package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/WindowsChromeExpanded.test.js.snap +0 -81
  238. package/v2Containers/WebPush/Create/preview/config/notificationMappings.js +0 -50
  239. package/v2Containers/WebPush/Create/preview/constants.js +0 -637
  240. package/v2Containers/WebPush/Create/preview/notification-container.scss +0 -79
  241. package/v2Containers/WebPush/Create/preview/preview.scss +0 -351
  242. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-chrome.scss +0 -370
  243. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-edge.scss +0 -12
  244. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-firefox.scss +0 -12
  245. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-opera.scss +0 -12
  246. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-chrome.scss +0 -47
  247. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-edge.scss +0 -11
  248. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-firefox.scss +0 -11
  249. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-opera.scss +0 -11
  250. package/v2Containers/WebPush/Create/preview/styles/_base.scss +0 -207
  251. package/v2Containers/WebPush/Create/preview/styles/_ios.scss +0 -153
  252. package/v2Containers/WebPush/Create/preview/styles/_ipados.scss +0 -107
  253. package/v2Containers/WebPush/Create/preview/styles/_macos-chrome.scss +0 -101
  254. package/v2Containers/WebPush/Create/preview/styles/_windows-chrome.scss +0 -229
  255. package/v2Containers/WebPush/Create/preview/tests/DevicePreviewContent.test.js +0 -909
  256. package/v2Containers/WebPush/Create/preview/tests/NotificationContainer.test.js +0 -1081
  257. package/v2Containers/WebPush/Create/preview/tests/PreviewControls.test.js +0 -723
  258. package/v2Containers/WebPush/Create/preview/tests/WebPushPreview.test.js +0 -1327
  259. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/DevicePreviewContent.test.js.snap +0 -131
  260. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/NotificationContainer.test.js.snap +0 -112
  261. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/PreviewControls.test.js.snap +0 -144
  262. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/WebPushPreview.test.js.snap +0 -129
  263. package/v2Containers/WebPush/Create/utils/payloadBuilder.js +0 -96
  264. package/v2Containers/WebPush/Create/utils/payloadBuilder.test.js +0 -396
  265. package/v2Containers/WebPush/Create/utils/previewUtils.js +0 -89
  266. package/v2Containers/WebPush/Create/utils/urlValidation.js +0 -115
  267. package/v2Containers/WebPush/Create/utils/urlValidation.test.js +0 -449
  268. package/v2Containers/WebPush/Create/utils/validation.js +0 -75
  269. package/v2Containers/WebPush/Create/utils/validation.test.js +0 -283
  270. package/v2Containers/WebPush/actions.js +0 -60
  271. package/v2Containers/WebPush/constants.js +0 -132
  272. package/v2Containers/WebPush/index.js +0 -2
  273. package/v2Containers/WebPush/reducer.js +0 -104
  274. package/v2Containers/WebPush/sagas.js +0 -119
  275. package/v2Containers/WebPush/selectors.js +0 -65
  276. package/v2Containers/WebPush/tests/reducer.test.js +0 -863
  277. package/v2Containers/WebPush/tests/sagas.test.js +0 -566
  278. package/v2Containers/WebPush/tests/selectors.test.js +0 -960
@@ -9,6 +9,7 @@ import { connect } from 'react-redux';
9
9
  import { injectIntl, intlShape } from 'react-intl';
10
10
  import { createStructuredSelector } from 'reselect';
11
11
  import { bindActionCreators } from 'redux';
12
+ import { compose } from 'redux';
12
13
  import { UserIsAuthenticated } from '../../utils/authWrapper';
13
14
  import {
14
15
  selectEmailLayout,
@@ -18,10 +19,17 @@ import {
18
19
  selectCmsTemplatesLoader,
19
20
  } from '../Templates/selectors';
20
21
  import * as templatesActionsCreators from '../Templates/actions';
21
- import { selectCurrentOrgDetails } from "../../v2Containers/Cap/selectors";
22
+ import { selectCurrentOrgDetails, makeSelectMetaEntities, isLoadingMetaEntities, setInjectedTags, selectLiquidStateDetails } from "../../v2Containers/Cap/selectors";
23
+ import { makeSelectEmail, selectLoadingStatus, makeSelectFetchingCmsData } from '../Email/selectors';
24
+ import * as emailActionsCreators from '../Email/actions';
25
+ import * as globalActions from '../Cap/actions';
22
26
  import EmailWrapperView from './components/EmailWrapperView';
23
27
  import useEmailWrapper from './hooks/useEmailWrapper';
24
28
  import HTMLEditorTesting from './components/HTMLEditorTesting';
29
+ import injectReducer from '../../utils/injectReducer';
30
+ import injectSaga from '../../utils/injectSaga';
31
+ import v2EmailReducer from '../Email/reducer';
32
+ import { v2EmailSagas } from '../Email/sagas';
25
33
 
26
34
 
27
35
  const EmailWrapper = (props) => {
@@ -64,6 +72,19 @@ const EmailWrapper = (props) => {
64
72
  handleTestAndPreview,
65
73
  handleCloseTestAndPreview,
66
74
  isTestAndPreviewMode,
75
+ location,
76
+ emailActions,
77
+ Email,
78
+ metaEntities,
79
+ loadingTags,
80
+ injectedTags,
81
+ globalActions: globalActionsProp,
82
+ templateData,
83
+ params,
84
+ fetchingLiquidTags,
85
+ createTemplateInProgress,
86
+ fetchingCmsData,
87
+ onHtmlEditorValidationStateChange,
67
88
  } = props;
68
89
 
69
90
  // Pass destructured props to the custom hook
@@ -117,32 +138,70 @@ const EmailWrapper = (props) => {
117
138
  handleTestAndPreview,
118
139
  handleCloseTestAndPreview,
119
140
  isTestAndPreviewMode,
141
+ location,
142
+ emailActions,
143
+ Email,
144
+ templateData,
145
+ params,
120
146
  });
121
147
 
122
148
  // Render using the presentation component with data from the hook
123
149
  return (
124
150
  <div>
125
151
  <EmailWrapperView
126
- isUploading={isUploading}
127
- emailCreateMode={emailCreateMode}
128
- step={step}
129
- isFullMode={isFullMode}
130
- templateName={templateName}
131
- onTemplateNameChange={onTemplateNameChange}
132
- isTemplateNameEmpty={isTemplateNameEmpty}
133
- modes={modes}
134
- onChange={onChange}
135
- EmailLayout={EmailLayout}
136
- modeContent={modeContent}
137
- useFileUpload={useFileUpload}
138
- uploadButtonLabel={uploadButtonLabel}
139
- isShowEmailCreate={isShowEmailCreate}
140
- emailProps={emailProps}
141
- cmsTemplatesProps={cmsTemplatesProps}
142
- onPreviewContentClicked={onPreviewContentClicked}
143
- onTestContentClicked={onTestContentClicked}
144
- editor={editor}
145
- />
152
+ isUploading={isUploading}
153
+ emailCreateMode={emailCreateMode}
154
+ step={step}
155
+ isFullMode={isFullMode}
156
+ templateName={templateName}
157
+ onTemplateNameChange={onTemplateNameChange}
158
+ isTemplateNameEmpty={isTemplateNameEmpty}
159
+ modes={modes}
160
+ onChange={onChange}
161
+ EmailLayout={EmailLayout}
162
+ modeContent={modeContent}
163
+ useFileUpload={useFileUpload}
164
+ uploadButtonLabel={uploadButtonLabel}
165
+ isShowEmailCreate={isShowEmailCreate}
166
+ emailProps={emailProps}
167
+ cmsTemplatesProps={cmsTemplatesProps}
168
+ onPreviewContentClicked={onPreviewContentClicked}
169
+ onTestContentClicked={onTestContentClicked}
170
+ editor={editor}
171
+ // New flow props - only used when supportCKEditor is false
172
+ // These props are needed for EmailHTMLEditor component (tag loading, validation, etc.)
173
+ metaEntities={metaEntities}
174
+ loadingTags={loadingTags}
175
+ injectedTags={injectedTags}
176
+ globalActions={globalActionsProp}
177
+ supportedTags={props.supportedTags}
178
+ getDefaultTags={type}
179
+ location={location}
180
+ currentOrgDetails={currentOrgDetails}
181
+ onValidationFail={onValidationFail}
182
+ forwardedTags={forwardedTags}
183
+ selectedOfferDetails={selectedOfferDetails}
184
+ eventContextTags={eventContextTags}
185
+ getFormdata={getFormdata}
186
+ isGetFormData={isGetFormData}
187
+ getLiquidTags={globalActionsProp?.getLiquidTags}
188
+ showLiquidErrorInFooter={showLiquidErrorInFooter}
189
+ intl={intl}
190
+ emailActions={emailActions}
191
+ showTestAndPreviewSlidebox={showTestAndPreviewSlidebox}
192
+ handleTestAndPreview={handleTestAndPreview}
193
+ handleCloseTestAndPreview={handleCloseTestAndPreview}
194
+ Email={Email}
195
+ setIsLoadingContent={setIsLoadingContent}
196
+ templateData={templateData}
197
+ params={params}
198
+ showTemplateName={showTemplateName}
199
+ fetchingLiquidTags={fetchingLiquidTags}
200
+ createTemplateInProgress={createTemplateInProgress}
201
+ fetchingCmsData={fetchingCmsData}
202
+ onHtmlEditorValidationStateChange={onHtmlEditorValidationStateChange}
203
+ moduleType={moduleType}
204
+ />
146
205
 
147
206
  {/* HTMLEditor Testing Component - Console Controlled */}
148
207
  <HTMLEditorTesting />
@@ -159,7 +218,7 @@ EmailWrapper.propTypes = {
159
218
  templatesActions: PropTypes.object,
160
219
  CmsTemplates: PropTypes.arrayOf(PropTypes.object),
161
220
  SelectedEdmDefaultTemplate: PropTypes.object,
162
- step: PropTypes.string,
221
+ step: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
163
222
  showNextStep: PropTypes.func,
164
223
  getFormdata: PropTypes.func,
165
224
  intl: intlShape,
@@ -187,6 +246,8 @@ EmailWrapper.propTypes = {
187
246
  handleTestAndPreview: PropTypes.func,
188
247
  handleCloseTestAndPreview: PropTypes.func,
189
248
  isTestAndPreviewMode: PropTypes.bool,
249
+ location: PropTypes.object,
250
+ onHtmlEditorValidationStateChange: PropTypes.func,
190
251
  };
191
252
 
192
253
  const mapStateToProps = createStructuredSelector({
@@ -196,12 +257,31 @@ const mapStateToProps = createStructuredSelector({
196
257
  isUploading: uploadSelector(),
197
258
  cmsTemplatesLoader: selectCmsTemplatesLoader(),
198
259
  currentOrgDetails: selectCurrentOrgDetails(),
260
+ Email: makeSelectEmail(),
261
+ metaEntities: makeSelectMetaEntities(),
262
+ loadingTags: isLoadingMetaEntities(),
263
+ injectedTags: setInjectedTags(),
264
+ fetchingLiquidTags: selectLiquidStateDetails(),
265
+ createTemplateInProgress: selectLoadingStatus(),
266
+ fetchingCmsData: makeSelectFetchingCmsData(),
199
267
  });
200
268
 
201
269
  function mapDispatchToProps(dispatch) {
202
270
  return {
203
271
  templatesActions: bindActionCreators(templatesActionsCreators, dispatch),
272
+ emailActions: bindActionCreators(emailActionsCreators, dispatch),
273
+ globalActions: bindActionCreators(globalActions, dispatch),
204
274
  };
205
275
  }
206
276
 
207
- export default UserIsAuthenticated(connect(mapStateToProps, mapDispatchToProps)(injectIntl(EmailWrapper)));
277
+ // Inject Email reducer and saga so that getCmsSetting action can be handled
278
+ const withReducer = injectReducer({ key: 'email', reducer: v2EmailReducer });
279
+ const withEmailSaga = injectSaga({ key: 'email', saga: v2EmailSagas });
280
+
281
+ const ConnectedEmailWrapper = connect(mapStateToProps, mapDispatchToProps)(injectIntl(EmailWrapper));
282
+
283
+ export default compose(
284
+ UserIsAuthenticated,
285
+ withReducer,
286
+ withEmailSaga,
287
+ )(ConnectedEmailWrapper);
@@ -60,6 +60,70 @@ export default defineMessages({
60
60
  },
61
61
  emptyTemplateName: {
62
62
  id: `creatives.containersV2.EmailWrapper.emptyTemplateName`,
63
- defaultMessage: `Please enter template name.`
63
+ defaultMessage: `Please enter template name.`,
64
+ },
65
+ htmlEditorTitle: {
66
+ id: 'creatives.EmailWrapper.htmlEditorTitle',
67
+ defaultMessage: 'HTML editor',
68
+ },
69
+ htmlEditorDesc: {
70
+ id: 'creatives.EmailWrapper.htmlEditorDesc',
71
+ defaultMessage: 'Use a basic HTML editor to write and format your content. Suitable if you are familiar with HTML.',
72
+ },
73
+ dragDropEditorTitle: {
74
+ id: 'creatives.EmailWrapper.dragDropEditorTitle',
75
+ defaultMessage: 'Drag & drop editor',
76
+ },
77
+ dragDropEditorDesc: {
78
+ id: 'creatives.EmailWrapper.dragDropEditorDesc',
79
+ defaultMessage: 'Create your content visually by dragging blocks — no coding needed. Great for quick, easy designs.',
80
+ },
81
+ uploadZipTitle: {
82
+ id: 'creatives.EmailWrapper.uploadZipTitle',
83
+ defaultMessage: 'Upload zip file',
84
+ },
85
+ uploadZipDesc: {
86
+ id: 'creatives.EmailWrapper.uploadZipDesc',
87
+ defaultMessage: 'Upload a ZIP containing your custom HTML, images, and assets. Ideal if your content is already built.',
88
+ },
89
+ next: {
90
+ id: 'creatives.EmailWrapper.next',
91
+ defaultMessage: 'Next',
92
+ },
93
+ beeEditorDisabledTooltip: {
94
+ id: 'creatives.EmailWrapper.beeEditorDisabledTooltip',
95
+ defaultMessage: 'Please get the drag & drop editor enabled for your brand',
96
+ },
97
+ emailContent: {
98
+ id: 'creatives.containersV2.Email.emailContent',
99
+ defaultMessage: 'Email content',
100
+ },
101
+ create: {
102
+ id: 'creatives.containersV2.EmailWrapper.create',
103
+ defaultMessage: 'Create',
104
+ },
105
+ update: {
106
+ id: 'creatives.containersV2.EmailWrapper.update',
107
+ defaultMessage: 'Update',
108
+ },
109
+ previewAndTest: {
110
+ id: 'creatives.containersV2.EmailWrapper.previewAndTest',
111
+ defaultMessage: 'Preview and Test',
112
+ },
113
+ required: {
114
+ id: 'creatives.containersV2.EmailWrapper.required',
115
+ defaultMessage: 'Required',
116
+ },
117
+ subject: {
118
+ id: 'creatives.containersV2.EmailWrapper.subject',
119
+ defaultMessage: 'Subject',
120
+ },
121
+ enterEmailSubject: {
122
+ id: 'creatives.containersV2.EmailWrapper.enterEmailSubject',
123
+ defaultMessage: 'Enter Email Subject',
124
+ },
125
+ editorType: {
126
+ id: 'creatives.containersV2.EmailWrapper.editorType',
127
+ defaultMessage: 'Editor type',
64
128
  },
65
129
  });