@capillarytech/creatives-library 8.0.263 → 8.0.265

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 (280) hide show
  1. package/assets/Android.png +0 -0
  2. package/assets/iOS.png +0 -0
  3. package/constants/unified.js +1 -3
  4. package/initialReducer.js +0 -2
  5. package/package.json +1 -1
  6. package/services/api.js +0 -15
  7. package/services/tests/api.test.js +0 -34
  8. package/tests/integration/TemplateCreation/TemplateCreation.integration.test.js +35 -17
  9. package/tests/integration/TemplateCreation/api-response.js +1 -31
  10. package/tests/integration/TemplateCreation/msw-handler.js +0 -2
  11. package/utils/common.js +0 -11
  12. package/utils/commonUtils.js +5 -28
  13. package/utils/tests/commonUtil.test.js +0 -224
  14. package/utils/tests/transformerUtils.test.js +0 -297
  15. package/utils/transformTemplateConfig.js +10 -0
  16. package/utils/transformerUtils.js +0 -40
  17. package/v2Components/CapDeviceContent/index.js +56 -61
  18. package/v2Components/CapImageUpload/constants.js +0 -2
  19. package/v2Components/CapImageUpload/index.js +16 -65
  20. package/v2Components/CapImageUpload/index.scss +1 -4
  21. package/v2Components/CapImageUpload/messages.js +1 -5
  22. package/v2Components/CapTagList/index.js +1 -6
  23. package/v2Components/CapTagListWithInput/index.js +1 -5
  24. package/v2Components/CapTagListWithInput/messages.js +1 -1
  25. package/v2Components/CapWhatsappCTA/tests/index.test.js +0 -5
  26. package/v2Components/ErrorInfoNote/index.js +72 -402
  27. package/v2Components/ErrorInfoNote/messages.js +6 -32
  28. package/v2Components/ErrorInfoNote/style.scss +6 -278
  29. package/v2Components/FormBuilder/tests/index.test.js +4 -13
  30. package/v2Components/HtmlEditor/HTMLEditor.js +99 -418
  31. package/v2Components/HtmlEditor/__tests__/HTMLEditor.test.js +133 -1882
  32. package/v2Components/HtmlEditor/__tests__/index.lazy.test.js +16 -27
  33. package/v2Components/HtmlEditor/_htmlEditor.scss +45 -108
  34. package/v2Components/HtmlEditor/_index.lazy.scss +1 -0
  35. package/v2Components/HtmlEditor/components/CodeEditorPane/_codeEditorPane.scss +102 -23
  36. package/v2Components/HtmlEditor/components/CodeEditorPane/index.js +140 -148
  37. package/v2Components/HtmlEditor/components/DeviceToggle/_deviceToggle.scss +1 -2
  38. package/v2Components/HtmlEditor/components/DeviceToggle/index.js +3 -3
  39. package/v2Components/HtmlEditor/components/EditorToolbar/_editorToolbar.scss +1 -9
  40. package/v2Components/HtmlEditor/components/EditorToolbar/index.js +6 -31
  41. package/v2Components/HtmlEditor/components/FullscreenModal/_fullscreenModal.scss +0 -22
  42. package/v2Components/HtmlEditor/components/InAppPreviewPane/DeviceFrame.js +7 -4
  43. package/v2Components/HtmlEditor/components/InAppPreviewPane/__tests__/DeviceFrame.test.js +45 -35
  44. package/v2Components/HtmlEditor/components/InAppPreviewPane/_inAppPreviewPane.scss +3 -1
  45. package/v2Components/HtmlEditor/components/InAppPreviewPane/constants.js +33 -33
  46. package/v2Components/HtmlEditor/components/InAppPreviewPane/index.js +6 -7
  47. package/v2Components/HtmlEditor/components/PreviewPane/_previewPane.scss +10 -7
  48. package/v2Components/HtmlEditor/components/PreviewPane/index.js +43 -22
  49. package/v2Components/HtmlEditor/components/SplitContainer/_splitContainer.scss +1 -1
  50. package/v2Components/HtmlEditor/components/ValidationErrorDisplay/__tests__/index.test.js +152 -0
  51. package/v2Components/HtmlEditor/components/ValidationErrorDisplay/_validationErrorDisplay.scss +0 -18
  52. package/v2Components/HtmlEditor/components/ValidationErrorDisplay/index.js +31 -36
  53. package/v2Components/HtmlEditor/components/ValidationPanel/_validationPanel.scss +34 -46
  54. package/v2Components/HtmlEditor/components/ValidationPanel/index.js +46 -52
  55. package/v2Components/HtmlEditor/constants.js +20 -45
  56. package/v2Components/HtmlEditor/hooks/__tests__/useInAppContent.test.js +16 -373
  57. package/v2Components/HtmlEditor/hooks/__tests__/useValidation.test.js +16 -351
  58. package/v2Components/HtmlEditor/hooks/useEditorContent.js +2 -5
  59. package/v2Components/HtmlEditor/hooks/useInAppContent.js +146 -88
  60. package/v2Components/HtmlEditor/hooks/useValidation.js +56 -213
  61. package/v2Components/HtmlEditor/index.js +1 -1
  62. package/v2Components/HtmlEditor/messages.js +94 -102
  63. package/v2Components/HtmlEditor/utils/__tests__/htmlValidator.enhanced.test.js +45 -214
  64. package/v2Components/HtmlEditor/utils/__tests__/validationAdapter.test.js +0 -134
  65. package/v2Components/HtmlEditor/utils/contentSanitizer.js +41 -40
  66. package/v2Components/HtmlEditor/utils/htmlValidator.js +72 -71
  67. package/v2Components/HtmlEditor/utils/liquidTemplateSupport.js +124 -158
  68. package/v2Components/HtmlEditor/utils/properSyntaxHighlighting.js +25 -23
  69. package/v2Components/HtmlEditor/utils/validationAdapter.js +41 -66
  70. package/v2Components/MobilePushPreviewV2/index.js +7 -33
  71. package/v2Components/TemplatePreview/_templatePreview.scss +24 -55
  72. package/v2Components/TemplatePreview/index.js +32 -47
  73. package/v2Components/TemplatePreview/messages.js +0 -4
  74. package/v2Components/TestAndPreviewSlidebox/_testAndPreviewSlidebox.scss +0 -1
  75. package/v2Containers/App/constants.js +0 -5
  76. package/v2Containers/BeeEditor/index.js +90 -172
  77. package/v2Containers/CreativesContainer/SlideBoxContent.js +53 -184
  78. package/v2Containers/CreativesContainer/SlideBoxFooter.js +13 -163
  79. package/v2Containers/CreativesContainer/SlideBoxHeader.js +1 -3
  80. package/v2Containers/CreativesContainer/constants.js +0 -4
  81. package/v2Containers/CreativesContainer/index.js +46 -408
  82. package/v2Containers/CreativesContainer/messages.js +0 -12
  83. package/v2Containers/CreativesContainer/tests/SlideBoxContent.test.js +0 -210
  84. package/v2Containers/CreativesContainer/tests/SlideBoxFooter.test.js +2 -11
  85. package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +50 -342
  86. package/v2Containers/CreativesContainer/tests/__snapshots__/index.test.js.snap +0 -103
  87. package/v2Containers/Email/actions.js +0 -7
  88. package/v2Containers/Email/constants.js +1 -5
  89. package/v2Containers/Email/index.js +36 -237
  90. package/v2Containers/Email/messages.js +0 -32
  91. package/v2Containers/Email/reducer.js +1 -12
  92. package/v2Containers/Email/sagas.js +7 -61
  93. package/v2Containers/Email/tests/__snapshots__/reducer.test.js.snap +0 -2
  94. package/v2Containers/Email/tests/reducer.test.js +0 -46
  95. package/v2Containers/Email/tests/sagas.test.js +29 -320
  96. package/v2Containers/EmailWrapper/components/EmailWrapperView.js +21 -211
  97. package/v2Containers/EmailWrapper/components/HTMLEditorTesting.js +74 -40
  98. package/v2Containers/EmailWrapper/components/__tests__/HTMLEditorTesting.test.js +67 -2
  99. package/v2Containers/EmailWrapper/constants.js +0 -2
  100. package/v2Containers/EmailWrapper/hooks/useEmailWrapper.js +77 -629
  101. package/v2Containers/EmailWrapper/index.js +23 -103
  102. package/v2Containers/EmailWrapper/messages.js +1 -65
  103. package/v2Containers/EmailWrapper/tests/EmailWrapperView.test.js +214 -0
  104. package/v2Containers/EmailWrapper/tests/useEmailWrapper.test.js +77 -594
  105. package/v2Containers/InApp/actions.js +0 -7
  106. package/v2Containers/InApp/constants.js +4 -20
  107. package/v2Containers/InApp/index.js +359 -802
  108. package/v2Containers/InApp/index.scss +3 -4
  109. package/v2Containers/InApp/messages.js +3 -7
  110. package/v2Containers/InApp/reducer.js +3 -21
  111. package/v2Containers/InApp/sagas.js +9 -29
  112. package/v2Containers/InApp/selectors.js +5 -25
  113. package/v2Containers/InApp/tests/index.test.js +50 -154
  114. package/v2Containers/InApp/tests/reducer.test.js +0 -34
  115. package/v2Containers/InApp/tests/sagas.test.js +9 -61
  116. package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/content.test.js.snap +0 -3
  117. package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/index.test.js.snap +0 -2
  118. package/v2Containers/Line/Container/Wrapper/tests/__snapshots__/index.test.js.snap +0 -2
  119. package/v2Containers/Line/Container/tests/__snapshots__/index.test.js.snap +0 -9
  120. package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +0 -12
  121. package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +0 -4
  122. package/v2Containers/TagList/index.js +19 -62
  123. package/v2Containers/Templates/ChannelTypeIllustration.js +1 -13
  124. package/v2Containers/Templates/_templates.scss +1 -265
  125. package/v2Containers/Templates/actions.js +1 -2
  126. package/v2Containers/Templates/constants.js +0 -1
  127. package/v2Containers/Templates/index.js +38 -363
  128. package/v2Containers/Templates/messages.js +0 -28
  129. package/v2Containers/Templates/reducer.js +0 -2
  130. package/v2Containers/Templates/tests/index.test.js +0 -10
  131. package/v2Containers/TemplatesV2/TemplatesV2.style.js +2 -4
  132. package/v2Containers/TemplatesV2/index.js +7 -15
  133. package/v2Containers/TemplatesV2/messages.js +0 -4
  134. package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +0 -34
  135. package/utils/imageUrlUpload.js +0 -141
  136. package/v2Components/CapImageUrlUpload/constants.js +0 -26
  137. package/v2Components/CapImageUrlUpload/index.js +0 -365
  138. package/v2Components/CapImageUrlUpload/index.scss +0 -35
  139. package/v2Components/CapImageUrlUpload/messages.js +0 -47
  140. package/v2Components/ErrorInfoNote/constants.js +0 -1
  141. package/v2Components/HtmlEditor/__tests__/HTMLEditor.apiErrors.test.js +0 -870
  142. package/v2Components/HtmlEditor/components/ValidationPanel/constants.js +0 -6
  143. package/v2Components/HtmlEditor/components/ValidationTabs/_validationTabs.scss +0 -281
  144. package/v2Components/HtmlEditor/components/ValidationTabs/index.js +0 -295
  145. package/v2Components/HtmlEditor/components/ValidationTabs/messages.js +0 -51
  146. package/v2Components/HtmlEditor/utils/validationConstants.js +0 -38
  147. package/v2Components/MobilePushPreviewV2/constants.js +0 -6
  148. package/v2Containers/BeePopupEditor/_beePopupEditor.scss +0 -14
  149. package/v2Containers/BeePopupEditor/constants.js +0 -10
  150. package/v2Containers/BeePopupEditor/index.js +0 -194
  151. package/v2Containers/BeePopupEditor/tests/index.test.js +0 -627
  152. package/v2Containers/EmailWrapper/components/EmailHTMLEditor.js +0 -1246
  153. package/v2Containers/EmailWrapper/components/__tests__/EmailHTMLEditor.test.js +0 -2472
  154. package/v2Containers/EmailWrapper/components/__tests__/EmailWrapperView.test.js +0 -520
  155. package/v2Containers/EmailWrapper/tests/useEmailWrapper.edgeCases.test.js +0 -956
  156. package/v2Containers/InApp/__tests__/InAppHTMLEditor.test.js +0 -376
  157. package/v2Containers/InApp/__tests__/sagas.test.js +0 -363
  158. package/v2Containers/InApp/tests/selectors.test.js +0 -612
  159. package/v2Containers/InAppWrapper/components/InAppWrapperView.js +0 -151
  160. package/v2Containers/InAppWrapper/components/__tests__/InAppWrapperView.test.js +0 -267
  161. package/v2Containers/InAppWrapper/components/inAppWrapperView.scss +0 -23
  162. package/v2Containers/InAppWrapper/constants.js +0 -16
  163. package/v2Containers/InAppWrapper/hooks/__tests__/useInAppWrapper.test.js +0 -473
  164. package/v2Containers/InAppWrapper/hooks/useInAppWrapper.js +0 -198
  165. package/v2Containers/InAppWrapper/index.js +0 -148
  166. package/v2Containers/InAppWrapper/messages.js +0 -49
  167. package/v2Containers/InappAdvance/index.js +0 -1099
  168. package/v2Containers/InappAdvance/index.scss +0 -10
  169. package/v2Containers/InappAdvance/tests/index.test.js +0 -448
  170. package/v2Containers/WebPush/Create/components/BrandIconSection.js +0 -108
  171. package/v2Containers/WebPush/Create/components/ButtonForm.js +0 -172
  172. package/v2Containers/WebPush/Create/components/ButtonItem.js +0 -101
  173. package/v2Containers/WebPush/Create/components/ButtonList.js +0 -145
  174. package/v2Containers/WebPush/Create/components/ButtonsLinksSection.js +0 -164
  175. package/v2Containers/WebPush/Create/components/ButtonsLinksSection.test.js +0 -463
  176. package/v2Containers/WebPush/Create/components/FormActions.js +0 -54
  177. package/v2Containers/WebPush/Create/components/FormActions.test.js +0 -163
  178. package/v2Containers/WebPush/Create/components/MediaSection.js +0 -142
  179. package/v2Containers/WebPush/Create/components/MediaSection.test.js +0 -341
  180. package/v2Containers/WebPush/Create/components/MessageSection.js +0 -103
  181. package/v2Containers/WebPush/Create/components/MessageSection.test.js +0 -268
  182. package/v2Containers/WebPush/Create/components/NotificationTitleSection.js +0 -87
  183. package/v2Containers/WebPush/Create/components/NotificationTitleSection.test.js +0 -210
  184. package/v2Containers/WebPush/Create/components/TemplateNameSection.js +0 -54
  185. package/v2Containers/WebPush/Create/components/TemplateNameSection.test.js +0 -143
  186. package/v2Containers/WebPush/Create/components/__snapshots__/ButtonsLinksSection.test.js.snap +0 -86
  187. package/v2Containers/WebPush/Create/components/__snapshots__/FormActions.test.js.snap +0 -16
  188. package/v2Containers/WebPush/Create/components/__snapshots__/MediaSection.test.js.snap +0 -41
  189. package/v2Containers/WebPush/Create/components/__snapshots__/MessageSection.test.js.snap +0 -54
  190. package/v2Containers/WebPush/Create/components/__snapshots__/NotificationTitleSection.test.js.snap +0 -37
  191. package/v2Containers/WebPush/Create/components/__snapshots__/TemplateNameSection.test.js.snap +0 -21
  192. package/v2Containers/WebPush/Create/components/_buttons.scss +0 -246
  193. package/v2Containers/WebPush/Create/components/tests/ButtonForm.test.js +0 -554
  194. package/v2Containers/WebPush/Create/components/tests/ButtonItem.test.js +0 -607
  195. package/v2Containers/WebPush/Create/components/tests/ButtonList.test.js +0 -633
  196. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonForm.test.js.snap +0 -666
  197. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonItem.test.js.snap +0 -74
  198. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonList.test.js.snap +0 -78
  199. package/v2Containers/WebPush/Create/hooks/useButtonManagement.js +0 -138
  200. package/v2Containers/WebPush/Create/hooks/useButtonManagement.test.js +0 -406
  201. package/v2Containers/WebPush/Create/hooks/useCharacterCount.js +0 -30
  202. package/v2Containers/WebPush/Create/hooks/useCharacterCount.test.js +0 -151
  203. package/v2Containers/WebPush/Create/hooks/useImageUpload.js +0 -104
  204. package/v2Containers/WebPush/Create/hooks/useImageUpload.test.js +0 -538
  205. package/v2Containers/WebPush/Create/hooks/useTagManagement.js +0 -122
  206. package/v2Containers/WebPush/Create/hooks/useTagManagement.test.js +0 -633
  207. package/v2Containers/WebPush/Create/index.js +0 -1148
  208. package/v2Containers/WebPush/Create/index.scss +0 -134
  209. package/v2Containers/WebPush/Create/messages.js +0 -211
  210. package/v2Containers/WebPush/Create/preview/DevicePreviewContent.js +0 -228
  211. package/v2Containers/WebPush/Create/preview/NotificationContainer.js +0 -294
  212. package/v2Containers/WebPush/Create/preview/PreviewContent.js +0 -90
  213. package/v2Containers/WebPush/Create/preview/PreviewControls.js +0 -305
  214. package/v2Containers/WebPush/Create/preview/PreviewDisclaimer.js +0 -25
  215. package/v2Containers/WebPush/Create/preview/WebPushPreview.js +0 -155
  216. package/v2Containers/WebPush/Create/preview/assets/Light.svg +0 -53
  217. package/v2Containers/WebPush/Create/preview/assets/Top.svg +0 -5
  218. package/v2Containers/WebPush/Create/preview/assets/android-arrow-down.svg +0 -9
  219. package/v2Containers/WebPush/Create/preview/assets/android-arrow-up.svg +0 -9
  220. package/v2Containers/WebPush/Create/preview/assets/chrome-icon.png +0 -0
  221. package/v2Containers/WebPush/Create/preview/assets/edge-icon.png +0 -0
  222. package/v2Containers/WebPush/Create/preview/assets/firefox-icon.svg +0 -106
  223. package/v2Containers/WebPush/Create/preview/assets/iOS.svg +0 -26
  224. package/v2Containers/WebPush/Create/preview/assets/macos-arrow-down-icon.svg +0 -9
  225. package/v2Containers/WebPush/Create/preview/assets/macos-triple-dot-icon.svg +0 -9
  226. package/v2Containers/WebPush/Create/preview/assets/opera-icon.svg +0 -18
  227. package/v2Containers/WebPush/Create/preview/assets/safari-icon.svg +0 -29
  228. package/v2Containers/WebPush/Create/preview/assets/windows-close-icon.svg +0 -9
  229. package/v2Containers/WebPush/Create/preview/assets/windows-triple-dot-icon.svg +0 -9
  230. package/v2Containers/WebPush/Create/preview/components/AndroidMobileChromeHeader.js +0 -51
  231. package/v2Containers/WebPush/Create/preview/components/AndroidMobileExpanded.js +0 -145
  232. package/v2Containers/WebPush/Create/preview/components/IOSHeader.js +0 -45
  233. package/v2Containers/WebPush/Create/preview/components/NotificationExpandedContent.js +0 -68
  234. package/v2Containers/WebPush/Create/preview/components/NotificationHeader.js +0 -61
  235. package/v2Containers/WebPush/Create/preview/components/WindowsChromeExpanded.js +0 -99
  236. package/v2Containers/WebPush/Create/preview/components/tests/AndroidMobileExpanded.test.js +0 -733
  237. package/v2Containers/WebPush/Create/preview/components/tests/WindowsChromeExpanded.test.js +0 -571
  238. package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/AndroidMobileExpanded.test.js.snap +0 -85
  239. package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/WindowsChromeExpanded.test.js.snap +0 -81
  240. package/v2Containers/WebPush/Create/preview/config/notificationMappings.js +0 -50
  241. package/v2Containers/WebPush/Create/preview/constants.js +0 -637
  242. package/v2Containers/WebPush/Create/preview/notification-container.scss +0 -79
  243. package/v2Containers/WebPush/Create/preview/preview.scss +0 -358
  244. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-chrome.scss +0 -370
  245. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-edge.scss +0 -12
  246. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-firefox.scss +0 -12
  247. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-opera.scss +0 -12
  248. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-chrome.scss +0 -47
  249. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-edge.scss +0 -11
  250. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-firefox.scss +0 -11
  251. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-opera.scss +0 -11
  252. package/v2Containers/WebPush/Create/preview/styles/_base.scss +0 -207
  253. package/v2Containers/WebPush/Create/preview/styles/_ios.scss +0 -153
  254. package/v2Containers/WebPush/Create/preview/styles/_ipados.scss +0 -107
  255. package/v2Containers/WebPush/Create/preview/styles/_macos-chrome.scss +0 -101
  256. package/v2Containers/WebPush/Create/preview/styles/_windows-chrome.scss +0 -229
  257. package/v2Containers/WebPush/Create/preview/tests/DevicePreviewContent.test.js +0 -909
  258. package/v2Containers/WebPush/Create/preview/tests/NotificationContainer.test.js +0 -1081
  259. package/v2Containers/WebPush/Create/preview/tests/PreviewControls.test.js +0 -723
  260. package/v2Containers/WebPush/Create/preview/tests/WebPushPreview.test.js +0 -1327
  261. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/DevicePreviewContent.test.js.snap +0 -131
  262. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/NotificationContainer.test.js.snap +0 -112
  263. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/PreviewControls.test.js.snap +0 -144
  264. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/WebPushPreview.test.js.snap +0 -129
  265. package/v2Containers/WebPush/Create/utils/payloadBuilder.js +0 -96
  266. package/v2Containers/WebPush/Create/utils/payloadBuilder.test.js +0 -396
  267. package/v2Containers/WebPush/Create/utils/previewUtils.js +0 -89
  268. package/v2Containers/WebPush/Create/utils/urlValidation.js +0 -115
  269. package/v2Containers/WebPush/Create/utils/urlValidation.test.js +0 -449
  270. package/v2Containers/WebPush/Create/utils/validation.js +0 -75
  271. package/v2Containers/WebPush/Create/utils/validation.test.js +0 -283
  272. package/v2Containers/WebPush/actions.js +0 -60
  273. package/v2Containers/WebPush/constants.js +0 -132
  274. package/v2Containers/WebPush/index.js +0 -2
  275. package/v2Containers/WebPush/reducer.js +0 -104
  276. package/v2Containers/WebPush/sagas.js +0 -119
  277. package/v2Containers/WebPush/selectors.js +0 -65
  278. package/v2Containers/WebPush/tests/reducer.test.js +0 -863
  279. package/v2Containers/WebPush/tests/sagas.test.js +0 -566
  280. package/v2Containers/WebPush/tests/selectors.test.js +0 -960
@@ -17,18 +17,17 @@ import {
17
17
  CapImage,
18
18
  CapError,
19
19
  } from '@capillarytech/cap-ui-library';
20
- import { injectIntl, FormattedMessage, intlShape } from 'react-intl';
20
+ import { injectIntl, FormattedMessage, intlShape} from 'react-intl';
21
21
  import { isEmpty, get } from 'lodash';
22
22
  import './index.scss';
23
23
  import Gallery from '../../v2Containers/Assets/Gallery';
24
24
  import { MAX_SUPPORTED_IMAGE_SIZE } from './constants';
25
25
  import {
26
- FACEBOOK, INAPP, RCS, WHATSAPP, VIBER, WEBPUSH, WEBPUSH_BRAND_ICON
26
+ FACEBOOK, INAPP, RCS, WHATSAPP, VIBER,
27
27
  } from "../../v2Containers/CreativesContainer/constants";
28
28
 
29
29
  import messages from './messages';
30
30
  import { MOBILEPUSH } from '../CapVideoUpload/constants';
31
- import { CAP_SPACE_16 } from '@capillarytech/cap-ui-library/styled/variables';
32
31
  function CapImageUpload(props) {
33
32
  const {
34
33
  intl,
@@ -51,8 +50,6 @@ function CapImageUpload(props) {
51
50
  channelSpecificStyle,
52
51
  showReUploadButton = true,
53
52
  disableAutoRestore = false, // New prop to disable automatic restoration
54
- recommendedDimensions, // Array of {width, height} objects for recommended dimensions
55
- disabled = false,
56
53
  } = props;
57
54
  const {
58
55
  formatMessage,
@@ -75,7 +72,7 @@ function CapImageUpload(props) {
75
72
  const [isImageError, updateImageErrorMessage] = useState(false);
76
73
  const [isDrawerRequired, updateDrawerRequirement] = useState(false);
77
74
 
78
- const { CapHeadingSpan } = CapHeading;
75
+ const {CapHeadingSpan} = CapHeading;
79
76
  const ImageComponent = useCallback(
80
77
  () => (
81
78
  <>
@@ -94,7 +91,7 @@ function CapImageUpload(props) {
94
91
 
95
92
  const WithLabel = LabelHOC(ImageComponent);
96
93
 
97
- const uploadImages = useCallback((e, { files }) => {
94
+ const uploadImages = useCallback((e, {files}) => {
98
95
  if (e) {
99
96
  e.preventDefault();
100
97
  }
@@ -112,13 +109,13 @@ function CapImageUpload(props) {
112
109
  height: img.height,
113
110
  error: file && (file.size / (1e+6) > 5), // Checking if file exists and its size is greater than 5MB (5 * 10^6 bytes)
114
111
  };
115
- submitAction({ file, type: 'image', fileParams }, incorrectFile);
112
+ submitAction({file, type: 'image', fileParams}, incorrectFile);
116
113
  };
117
114
  img.onerror = () => {
118
115
  const fileParams = {
119
116
  error: true,
120
117
  };
121
- submitAction({ fileParams }, incorrectFile);
118
+ submitAction({fileParams}, incorrectFile);
122
119
  };
123
120
  if (e) {
124
121
  const event = e;
@@ -126,7 +123,7 @@ function CapImageUpload(props) {
126
123
  }
127
124
  }, []);
128
125
 
129
- const rcsValidation = useCallback((incorrectFile, data, size, height, width, error) => {
126
+ const rcsValidation = useCallback((incorrectFile, data, size, height, width, error) => {
130
127
  if (incorrectFile || size < minImgSize || size > imgSize || height !== imgHeight || width !== imgWidth || error) {
131
128
  updateImageErrorMessage(formatMessage(messages.imageErrorDesc));
132
129
  } else {
@@ -149,19 +146,6 @@ function CapImageUpload(props) {
149
146
  const { height, width, error } = fileParams || {};
150
147
  if (channel === RCS) {
151
148
  rcsValidation(incorrectFile, data, size, height, width, error);
152
- } else if ([WEBPUSH, WEBPUSH_BRAND_ICON].includes(channel)) {
153
- // For WEBPUSH, only validate file extension, size, and format - no dimension validation
154
- if (incorrectFile || size > imgSize || error) {
155
- updateImageErrorMessage(formatMessage(messages.imageErrorDesc));
156
- } else {
157
- updateImageErrorMessage('');
158
- uploadAsset(
159
- data.file,
160
- data.type,
161
- data.fileParams,
162
- index,
163
- );
164
- }
165
149
  } else if (incorrectFile || size > imgSize || height > imgHeight || width > imgWidth || error) {
166
150
  updateImageErrorMessage(formatMessage(messages.imageErrorDesc));
167
151
  } else {
@@ -176,7 +160,7 @@ function CapImageUpload(props) {
176
160
  }, [isImageError]);
177
161
 
178
162
  const capUploaderCustomRequest = useCallback((uploadData) => {
179
- uploadImages(undefined, { files: [uploadData.file] });
163
+ uploadImages(undefined, {files: [uploadData.file]});
180
164
  }, [uploadImages]);
181
165
 
182
166
  const setDrawerVisibility = useCallback((drawervisibleFlag) => updateDrawerRequirement(drawervisibleFlag), [isDrawerRequired]);
@@ -197,27 +181,19 @@ function CapImageUpload(props) {
197
181
  secure_file_path: image, width, height, file_size: size,
198
182
  } = get(imageTemplate, 'metaInfo', {});
199
183
  updateDrawerRequirement(false);
200
- // For WEBPUSH, skip dimension validation - only check extension, size
201
- if ([WEBPUSH, WEBPUSH_BRAND_ICON].includes(channel)) {
202
- if (!allowedExtensionsRegex.test(image) || size > imgSize) {
203
- updateImageErrorMessage(formatMessage(messages.imageErrorDesc));
204
- } else {
205
- updateImageErrorMessage('');
206
- updateImageSrc(image);
207
- }
208
- } else if (!allowedExtensionsRegex.test(image) || height > imgHeight || width > imgWidth || size > imgSize) {
184
+ if (!allowedExtensionsRegex.test(image) || height > imgHeight || width > imgWidth || size > imgSize ) {
209
185
  updateImageErrorMessage(formatMessage(messages.imageErrorDesc));
210
186
  } else {
211
187
  updateImageErrorMessage('');
212
188
  updateImageSrc(image);
213
189
  }
214
- }, [isImageError, isDrawerRequired, channel, allowedExtensionsRegex, imgSize, formatMessage]);
190
+ }, [isImageError, isDrawerRequired]);
215
191
 
216
192
  const getGalleryDrawerContent = useCallback(() => {
217
193
  const locationGallery = {
218
194
  pathname: `/assets`,
219
195
  search: '',
220
- query: !isFullMode ? { type: 'embedded', module: 'library' } : {},
196
+ query: !isFullMode ? {type: 'embedded', module: 'library'} : {},
221
197
  };
222
198
  return (
223
199
  <>
@@ -254,7 +230,6 @@ function CapImageUpload(props) {
254
230
  customRequest={capUploaderCustomRequest}
255
231
  className="form-builder-dragger grey-background"
256
232
  showUploadList={!isImageError}
257
- disabled={disabled}
258
233
  >
259
234
  <CapHeading className="dragger-title" type="h7">
260
235
  <FormattedMessage {...messages.dragAndDrop} />
@@ -262,7 +237,7 @@ function CapImageUpload(props) {
262
237
  <CapHeading className="dragger-or" type="label6">
263
238
  <FormattedMessage {...messages.or} />
264
239
  </CapHeading>
265
- <CapButton className="dragger-button upload-image" type="secondary" disabled={disabled} tabIndex={disabled ? -1 : undefined}>
240
+ <CapButton className="dragger-button upload-image" type="secondary">
266
241
  <FormattedMessage {...messages.uploadComputer} />
267
242
  </CapButton>
268
243
  {channel !== WHATSAPP && (
@@ -270,8 +245,6 @@ function CapImageUpload(props) {
270
245
  className="dragger-button gallery-select"
271
246
  type="secondary"
272
247
  onClick={onGalleryClick}
273
- disabled={disabled}
274
- tabIndex={disabled ? -1 : undefined}
275
248
  >
276
249
  <FormattedMessage {...messages.uploadGallery} />
277
250
  </CapButton>
@@ -289,15 +262,13 @@ function CapImageUpload(props) {
289
262
  className="dragger-button re-upload"
290
263
  type="flat"
291
264
  onClick={onReUpload}
292
- style={channelSpecificStyle ? { marginTop: `-${CAP_SPACE_16}` } : {}}
293
- disabled={disabled}
294
- tabIndex={disabled ? -1 : undefined}
265
+ style={channelSpecificStyle ? { marginTop: '-16px'} : {}}
295
266
  >
296
267
  <FormattedMessage {...messages.imageReUpload} />
297
268
  </CapButton>
298
269
  );
299
270
  }
300
- }, [isImageError, imageSrc, disabled, showReUploadButton, channel, channelSpecificStyle, capUploaderCustomRequest, onGalleryClick, onReUpload]);
271
+ }, [isImageError, imageSrc]);
301
272
 
302
273
  return (
303
274
  <div style={style} className="cap-custom-image-upload">
@@ -314,8 +285,6 @@ function CapImageUpload(props) {
314
285
  type="file"
315
286
  onChange={(e) => uploadImages(e, { files: e.target.files })}
316
287
  accept={supportedExtensions || "image/*"}
317
- disabled={disabled}
318
- tabIndex={disabled ? -1 : undefined}
319
288
  />
320
289
  {getImageSection()}
321
290
  <CapDrawer
@@ -336,18 +305,7 @@ function CapImageUpload(props) {
336
305
  )}
337
306
  {![WHATSAPP, INAPP].includes(channel) && (
338
307
  <CapHeadingSpan type="label2" className="image-dimension">
339
- {[WEBPUSH, WEBPUSH_BRAND_ICON].includes(channel) && recommendedDimensions?.length ? (
340
- <FormattedMessage
341
- {...messages.recommendedDimensions}
342
- values={{
343
- dimensions: recommendedDimensions
344
- .map((dim) => `${dim.width} x ${dim.height}px`)
345
- .join(', '),
346
- }}
347
- />
348
- ) : (
349
- <FormattedMessage {...messages.imageDimenstionDescription} values={{ width: imgWidth, height: imgHeight }} />
350
- )}
308
+ <FormattedMessage {...messages.imageDimenstionDescription} values={{ width: imgWidth, height: imgHeight }} />
351
309
  </CapHeadingSpan>
352
310
  )}
353
311
  {channel === FACEBOOK && (
@@ -370,7 +328,7 @@ function CapImageUpload(props) {
370
328
  getImageSizeLabel()
371
329
  )
372
330
  )}
373
- {[VIBER, INAPP, MOBILEPUSH, WEBPUSH, WEBPUSH_BRAND_ICON].includes(channel) && getImageSizeLabel()}
331
+ {[VIBER, INAPP, MOBILEPUSH].includes(channel) && getImageSizeLabel()}
374
332
  <CapHeadingSpan type="label2" className="image-format">
375
333
  {channel === INAPP ? <FormattedMessage {...messages.format2} /> : <FormattedMessage {...messages.format} />}
376
334
  </CapHeadingSpan>
@@ -399,13 +357,6 @@ CapImageUpload.propTypes = {
399
357
  channel: PropTypes.string,
400
358
  channelSpecificStyle: PropTypes.bool,
401
359
  disableAutoRestore: PropTypes.bool,
402
- recommendedDimensions: PropTypes.arrayOf(
403
- PropTypes.shape({
404
- width: PropTypes.number.isRequired,
405
- height: PropTypes.number.isRequired,
406
- })
407
- ),
408
- disabled: PropTypes.bool,
409
360
  };
410
361
 
411
362
  export default injectIntl(CapImageUpload);
@@ -19,8 +19,5 @@ $classPrefix: cap-custom-image-upload;
19
19
  }
20
20
  .upload-image-error{
21
21
  margin-top: $CAP_SPACE_04;
22
- }
23
- .ant-upload-list-item{
24
- height: 1.65rem;
25
- }
22
+ }
26
23
  }
@@ -34,10 +34,6 @@ export default defineMessages({
34
34
  id: `${scope}.imageDimenstionDescription`,
35
35
  defaultMessage: 'Dimensions upto: {width}px x {height}px',
36
36
  },
37
- recommendedDimensions: {
38
- id: `${scope}.recommendedDimensions`,
39
- defaultMessage: 'Recommended dimensions: {dimensions}',
40
- },
41
37
  format: {
42
38
  id: `${scope}.format`,
43
39
  defaultMessage: 'Format: JPEG, JPG, PNG',
@@ -61,7 +57,7 @@ export default defineMessages({
61
57
  },
62
58
  channelImageSize: {
63
59
  id: `${scope}.channelImageSize`,
64
- defaultMessage: 'Size up to: {size}MB',
60
+ defaultMessage: 'Size upto: {size}MB',
65
61
  },
66
62
  RcschannelImageSize: {
67
63
  id: `${scope}.RcschannelImageSize`,
@@ -227,10 +227,6 @@ class CapTagList extends React.Component { // eslint-disable-line react/prefer-s
227
227
 
228
228
  togglePopoverVisibility = (visible) => {
229
229
  this.setState({visible});
230
- // Call onVisibleChange callback if provided (for triggering API calls when popover opens)
231
- if (this.props.onVisibleChange) {
232
- this.props.onVisibleChange(visible);
233
- }
234
230
  };
235
231
 
236
232
  renderDynamicTagFlow = () => {
@@ -472,7 +468,7 @@ class CapTagList extends React.Component { // eslint-disable-line react/prefer-s
472
468
  onVisibleChange={this.togglePopoverVisibility}
473
469
  content={contentSection}
474
470
  trigger="click"
475
- placement={this.props.popoverPlacement || (channel === EMAIL.toUpperCase() ? "leftTop" : "rightTop")}
471
+ placement={channel === EMAIL.toUpperCase() ? "leftTop" : "rightTop"}
476
472
  >
477
473
  <CapTooltip
478
474
  title={
@@ -539,7 +535,6 @@ CapTagList.propTypes = {
539
535
  channel: PropTypes.string,
540
536
  disabled: PropTypes.bool,
541
537
  fetchingSchemaError: PropTypes.bool,
542
- popoverPlacement: PropTypes.string,
543
538
  };
544
539
 
545
540
  CapTagList.defaultValue = {
@@ -48,14 +48,13 @@ export const CapTagListWithInput = (props) => {
48
48
  showTagList = true,
49
49
  showInput = true,
50
50
  inputProps = {},
51
- popoverPlacement,
52
51
  } = props;
53
52
 
54
53
  const { formatMessage } = intl;
55
54
 
56
55
  return (
57
56
  <CapColumn style={containerStyle}>
58
- <CapRow align="middle" type="flex">
57
+ <CapRow style={{display: 'flex', flexDirection: 'row'}}>
59
58
  {showHeading && headingText && (
60
59
  <CapHeading type={headingType} style={headingStyle}>
61
60
  {headingText}
@@ -77,7 +76,6 @@ export const CapTagListWithInput = (props) => {
77
76
  selectedOfferDetails={selectedOfferDetails}
78
77
  eventContextTags={eventContextTags}
79
78
  style={tagListStyle}
80
- popoverPlacement={popoverPlacement}
81
79
  />
82
80
  )}
83
81
  </CapRow>
@@ -138,7 +136,6 @@ CapTagListWithInput.propTypes = {
138
136
  showHeading: PropTypes.bool,
139
137
  showTagList: PropTypes.bool,
140
138
  showInput: PropTypes.bool,
141
- popoverPlacement: PropTypes.string,
142
139
  };
143
140
 
144
141
  CapTagListWithInput.defaultProps = {
@@ -167,7 +164,6 @@ CapTagListWithInput.defaultProps = {
167
164
  showTagList: true,
168
165
  showInput: true,
169
166
  inputProps: {},
170
- popoverPlacement: undefined,
171
167
  };
172
168
 
173
169
  export default injectIntl(CapTagListWithInput);
@@ -5,6 +5,6 @@ const prefix = 'creatives.componentsV2.CapTagListWithInput';
5
5
  export default defineMessages({
6
6
  addLabels: {
7
7
  id: `${prefix}.addLabels`,
8
- defaultMessage: 'Add label',
8
+ defaultMessage: 'Add labels',
9
9
  },
10
10
  });
@@ -4,11 +4,6 @@ import '@testing-library/jest-dom';
4
4
  import { render, screen, fireEvent } from '../../../utils/test-utils';
5
5
  import { CapWhatsappCTA } from '../index';
6
6
 
7
- // Mock the missing reducer
8
- jest.mock('@capillarytech/cap-ui-library/CapCollapsibleLeftNavigation/reducer', () => {
9
- return (state = {}) => state;
10
- }, { virtual: true });
11
-
12
7
  const updateHandler = jest.fn();
13
8
  const deleteHandler = jest.fn();
14
9
  const initializeComponent = (