@capillarytech/creatives-library 8.0.250 → 8.0.252

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 (276) 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/index.js +455 -72
  25. package/v2Components/ErrorInfoNote/messages.js +36 -6
  26. package/v2Components/ErrorInfoNote/style.scss +280 -4
  27. package/v2Components/FormBuilder/tests/index.test.js +13 -4
  28. package/v2Components/HtmlEditor/HTMLEditor.js +547 -94
  29. package/v2Components/HtmlEditor/__tests__/HTMLEditor.apiErrors.test.js +874 -0
  30. package/v2Components/HtmlEditor/__tests__/HTMLEditor.test.js +1358 -133
  31. package/v2Components/HtmlEditor/__tests__/index.lazy.test.js +27 -16
  32. package/v2Components/HtmlEditor/_htmlEditor.scss +108 -45
  33. package/v2Components/HtmlEditor/_index.lazy.scss +1 -1
  34. package/v2Components/HtmlEditor/components/CodeEditorPane/_codeEditorPane.scss +22 -101
  35. package/v2Components/HtmlEditor/components/CodeEditorPane/index.js +146 -140
  36. package/v2Components/HtmlEditor/components/DeviceToggle/_deviceToggle.scss +2 -1
  37. package/v2Components/HtmlEditor/components/DeviceToggle/index.js +3 -3
  38. package/v2Components/HtmlEditor/components/EditorToolbar/_editorToolbar.scss +9 -0
  39. package/v2Components/HtmlEditor/components/EditorToolbar/index.js +1 -1
  40. package/v2Components/HtmlEditor/components/FullscreenModal/_fullscreenModal.scss +22 -0
  41. package/v2Components/HtmlEditor/components/InAppPreviewPane/DeviceFrame.js +4 -7
  42. package/v2Components/HtmlEditor/components/InAppPreviewPane/__tests__/DeviceFrame.test.js +35 -45
  43. package/v2Components/HtmlEditor/components/InAppPreviewPane/_inAppPreviewPane.scss +1 -3
  44. package/v2Components/HtmlEditor/components/InAppPreviewPane/constants.js +33 -33
  45. package/v2Components/HtmlEditor/components/InAppPreviewPane/index.js +7 -6
  46. package/v2Components/HtmlEditor/components/PreviewPane/_previewPane.scss +3 -6
  47. package/v2Components/HtmlEditor/components/PreviewPane/index.js +24 -34
  48. package/v2Components/HtmlEditor/components/SplitContainer/_splitContainer.scss +1 -1
  49. package/v2Components/HtmlEditor/components/ValidationErrorDisplay/index.js +49 -31
  50. package/v2Components/HtmlEditor/components/ValidationPanel/_validationPanel.scss +50 -34
  51. package/v2Components/HtmlEditor/components/ValidationPanel/constants.js +6 -0
  52. package/v2Components/HtmlEditor/components/ValidationPanel/index.js +70 -41
  53. package/v2Components/HtmlEditor/components/ValidationTabs/_validationTabs.scss +254 -0
  54. package/v2Components/HtmlEditor/components/ValidationTabs/index.js +364 -0
  55. package/v2Components/HtmlEditor/components/ValidationTabs/messages.js +51 -0
  56. package/v2Components/HtmlEditor/constants.js +42 -20
  57. package/v2Components/HtmlEditor/hooks/__tests__/useInAppContent.test.js +373 -16
  58. package/v2Components/HtmlEditor/hooks/__tests__/useValidation.apiErrors.test.js +795 -0
  59. package/v2Components/HtmlEditor/hooks/useEditorContent.js +5 -2
  60. package/v2Components/HtmlEditor/hooks/useInAppContent.js +88 -146
  61. package/v2Components/HtmlEditor/hooks/useValidation.js +189 -53
  62. package/v2Components/HtmlEditor/index.js +1 -1
  63. package/v2Components/HtmlEditor/messages.js +95 -85
  64. package/v2Components/HtmlEditor/utils/__tests__/htmlValidator.enhanced.test.js +94 -45
  65. package/v2Components/HtmlEditor/utils/__tests__/validationAdapter.test.js +134 -0
  66. package/v2Components/HtmlEditor/utils/contentSanitizer.js +40 -41
  67. package/v2Components/HtmlEditor/utils/htmlValidator.js +71 -72
  68. package/v2Components/HtmlEditor/utils/liquidTemplateSupport.js +134 -102
  69. package/v2Components/HtmlEditor/utils/properSyntaxHighlighting.js +23 -25
  70. package/v2Components/HtmlEditor/utils/validationAdapter.js +66 -41
  71. package/v2Components/HtmlEditor/utils/validationConstants.js +40 -0
  72. package/v2Components/MobilePushPreviewV2/index.js +32 -7
  73. package/v2Components/TemplatePreview/_templatePreview.scss +55 -24
  74. package/v2Components/TemplatePreview/index.js +47 -32
  75. package/v2Components/TemplatePreview/messages.js +4 -0
  76. package/v2Components/TestAndPreviewSlidebox/_testAndPreviewSlidebox.scss +1 -0
  77. package/v2Containers/App/constants.js +0 -5
  78. package/v2Containers/BeeEditor/index.js +172 -90
  79. package/v2Containers/BeePopupEditor/_beePopupEditor.scss +14 -0
  80. package/v2Containers/BeePopupEditor/constants.js +10 -0
  81. package/v2Containers/BeePopupEditor/index.js +194 -0
  82. package/v2Containers/BeePopupEditor/tests/index.test.js +627 -0
  83. package/v2Containers/Cap/tests/__snapshots__/index.test.js.snap +3 -4
  84. package/v2Containers/CreativesContainer/SlideBoxContent.js +129 -107
  85. package/v2Containers/CreativesContainer/SlideBoxFooter.js +163 -13
  86. package/v2Containers/CreativesContainer/SlideBoxHeader.js +2 -2
  87. package/v2Containers/CreativesContainer/constants.js +1 -3
  88. package/v2Containers/CreativesContainer/index.js +239 -214
  89. package/v2Containers/CreativesContainer/messages.js +8 -4
  90. package/v2Containers/CreativesContainer/tests/SlideBoxContent.test.js +0 -210
  91. package/v2Containers/CreativesContainer/tests/SlideBoxFooter.test.js +11 -2
  92. package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +38 -354
  93. package/v2Containers/CreativesContainer/tests/__snapshots__/index.test.js.snap +106 -0
  94. package/v2Containers/Email/actions.js +7 -0
  95. package/v2Containers/Email/constants.js +5 -1
  96. package/v2Containers/Email/index.js +241 -32
  97. package/v2Containers/Email/messages.js +32 -0
  98. package/v2Containers/Email/reducer.js +12 -1
  99. package/v2Containers/Email/sagas.js +61 -7
  100. package/v2Containers/Email/tests/__snapshots__/reducer.test.js.snap +2 -0
  101. package/v2Containers/Email/tests/reducer.test.js +46 -0
  102. package/v2Containers/Email/tests/sagas.test.js +320 -29
  103. package/v2Containers/EmailWrapper/components/EmailHTMLEditor.js +1285 -0
  104. package/v2Containers/EmailWrapper/components/EmailWrapperView.js +207 -19
  105. package/v2Containers/EmailWrapper/components/HTMLEditorTesting.js +40 -74
  106. package/v2Containers/EmailWrapper/components/__tests__/EmailHTMLEditor.test.js +1870 -0
  107. package/v2Containers/EmailWrapper/components/__tests__/EmailWrapperView.test.js +520 -0
  108. package/v2Containers/EmailWrapper/components/__tests__/HTMLEditorTesting.test.js +2 -67
  109. package/v2Containers/EmailWrapper/constants.js +2 -0
  110. package/v2Containers/EmailWrapper/hooks/useEmailWrapper.js +629 -77
  111. package/v2Containers/EmailWrapper/index.js +103 -23
  112. package/v2Containers/EmailWrapper/messages.js +61 -1
  113. package/v2Containers/EmailWrapper/tests/useEmailWrapper.edgeCases.test.js +643 -0
  114. package/v2Containers/EmailWrapper/tests/useEmailWrapper.test.js +594 -77
  115. package/v2Containers/InApp/__tests__/InAppHTMLEditor.test.js +376 -0
  116. package/v2Containers/InApp/__tests__/sagas.test.js +363 -0
  117. package/v2Containers/InApp/actions.js +7 -0
  118. package/v2Containers/InApp/constants.js +20 -4
  119. package/v2Containers/InApp/index.js +802 -359
  120. package/v2Containers/InApp/index.scss +4 -3
  121. package/v2Containers/InApp/messages.js +7 -3
  122. package/v2Containers/InApp/reducer.js +21 -3
  123. package/v2Containers/InApp/sagas.js +29 -9
  124. package/v2Containers/InApp/selectors.js +25 -5
  125. package/v2Containers/InApp/tests/index.test.js +154 -50
  126. package/v2Containers/InApp/tests/reducer.test.js +34 -0
  127. package/v2Containers/InApp/tests/sagas.test.js +61 -9
  128. package/v2Containers/InApp/tests/selectors.test.js +612 -0
  129. package/v2Containers/InAppWrapper/components/InAppWrapperView.js +151 -0
  130. package/v2Containers/InAppWrapper/components/__tests__/InAppWrapperView.test.js +267 -0
  131. package/v2Containers/InAppWrapper/components/inAppWrapperView.scss +23 -0
  132. package/v2Containers/InAppWrapper/constants.js +16 -0
  133. package/v2Containers/InAppWrapper/hooks/__tests__/useInAppWrapper.test.js +473 -0
  134. package/v2Containers/InAppWrapper/hooks/useInAppWrapper.js +198 -0
  135. package/v2Containers/InAppWrapper/index.js +148 -0
  136. package/v2Containers/InAppWrapper/messages.js +49 -0
  137. package/v2Containers/InappAdvance/index.js +1099 -0
  138. package/v2Containers/InappAdvance/index.scss +10 -0
  139. package/v2Containers/InappAdvance/tests/index.test.js +448 -0
  140. package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/content.test.js.snap +12 -12
  141. package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/index.test.js.snap +8 -8
  142. package/v2Containers/Line/Container/Wrapper/tests/__snapshots__/index.test.js.snap +77 -100
  143. package/v2Containers/Line/Container/tests/__snapshots__/index.test.js.snap +63 -72
  144. package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +186 -232
  145. package/v2Containers/SmsTrai/Create/tests/__snapshots__/index.test.js.snap +12 -16
  146. package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +40 -48
  147. package/v2Containers/TagList/index.js +62 -19
  148. package/v2Containers/Templates/ChannelTypeIllustration.js +1 -13
  149. package/v2Containers/Templates/_templates.scss +56 -202
  150. package/v2Containers/Templates/actions.js +1 -2
  151. package/v2Containers/Templates/constants.js +0 -1
  152. package/v2Containers/Templates/index.js +123 -278
  153. package/v2Containers/Templates/messages.js +4 -24
  154. package/v2Containers/Templates/reducer.js +0 -4
  155. package/v2Containers/Templates/tests/index.test.js +0 -10
  156. package/v2Containers/TemplatesV2/index.js +7 -15
  157. package/v2Containers/TemplatesV2/messages.js +0 -4
  158. package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +520 -648
  159. package/utils/imageUrlUpload.js +0 -141
  160. package/v2Components/CapImageUrlUpload/constants.js +0 -26
  161. package/v2Components/CapImageUrlUpload/index.js +0 -365
  162. package/v2Components/CapImageUrlUpload/index.scss +0 -35
  163. package/v2Components/CapImageUrlUpload/messages.js +0 -47
  164. package/v2Components/HtmlEditor/components/ValidationErrorDisplay/__tests__/index.test.js +0 -152
  165. package/v2Containers/EmailWrapper/tests/EmailWrapperView.test.js +0 -214
  166. package/v2Containers/WebPush/Create/components/BrandIconSection.js +0 -108
  167. package/v2Containers/WebPush/Create/components/ButtonForm.js +0 -172
  168. package/v2Containers/WebPush/Create/components/ButtonItem.js +0 -101
  169. package/v2Containers/WebPush/Create/components/ButtonList.js +0 -107
  170. package/v2Containers/WebPush/Create/components/ButtonsLinksSection.js +0 -160
  171. package/v2Containers/WebPush/Create/components/ButtonsLinksSection.test.js +0 -476
  172. package/v2Containers/WebPush/Create/components/FormActions.js +0 -54
  173. package/v2Containers/WebPush/Create/components/FormActions.test.js +0 -163
  174. package/v2Containers/WebPush/Create/components/MediaSection.js +0 -143
  175. package/v2Containers/WebPush/Create/components/MediaSection.test.js +0 -341
  176. package/v2Containers/WebPush/Create/components/MessageSection.js +0 -103
  177. package/v2Containers/WebPush/Create/components/MessageSection.test.js +0 -268
  178. package/v2Containers/WebPush/Create/components/NotificationTitleSection.js +0 -87
  179. package/v2Containers/WebPush/Create/components/NotificationTitleSection.test.js +0 -210
  180. package/v2Containers/WebPush/Create/components/TemplateNameSection.js +0 -54
  181. package/v2Containers/WebPush/Create/components/TemplateNameSection.test.js +0 -143
  182. package/v2Containers/WebPush/Create/components/__snapshots__/ButtonsLinksSection.test.js.snap +0 -82
  183. package/v2Containers/WebPush/Create/components/__snapshots__/FormActions.test.js.snap +0 -16
  184. package/v2Containers/WebPush/Create/components/__snapshots__/MediaSection.test.js.snap +0 -41
  185. package/v2Containers/WebPush/Create/components/__snapshots__/MessageSection.test.js.snap +0 -54
  186. package/v2Containers/WebPush/Create/components/__snapshots__/NotificationTitleSection.test.js.snap +0 -37
  187. package/v2Containers/WebPush/Create/components/__snapshots__/TemplateNameSection.test.js.snap +0 -21
  188. package/v2Containers/WebPush/Create/components/_buttons.scss +0 -246
  189. package/v2Containers/WebPush/Create/components/tests/ButtonForm.test.js +0 -554
  190. package/v2Containers/WebPush/Create/components/tests/ButtonItem.test.js +0 -607
  191. package/v2Containers/WebPush/Create/components/tests/ButtonList.test.js +0 -515
  192. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonForm.test.js.snap +0 -666
  193. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonItem.test.js.snap +0 -74
  194. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonList.test.js.snap +0 -46
  195. package/v2Containers/WebPush/Create/hooks/useButtonManagement.js +0 -150
  196. package/v2Containers/WebPush/Create/hooks/useButtonManagement.test.js +0 -406
  197. package/v2Containers/WebPush/Create/hooks/useCharacterCount.js +0 -30
  198. package/v2Containers/WebPush/Create/hooks/useCharacterCount.test.js +0 -151
  199. package/v2Containers/WebPush/Create/hooks/useImageUpload.js +0 -104
  200. package/v2Containers/WebPush/Create/hooks/useImageUpload.test.js +0 -538
  201. package/v2Containers/WebPush/Create/hooks/useTagManagement.js +0 -122
  202. package/v2Containers/WebPush/Create/hooks/useTagManagement.test.js +0 -633
  203. package/v2Containers/WebPush/Create/index.js +0 -1148
  204. package/v2Containers/WebPush/Create/index.scss +0 -134
  205. package/v2Containers/WebPush/Create/messages.js +0 -203
  206. package/v2Containers/WebPush/Create/preview/DevicePreviewContent.js +0 -228
  207. package/v2Containers/WebPush/Create/preview/NotificationContainer.js +0 -294
  208. package/v2Containers/WebPush/Create/preview/PreviewContent.js +0 -90
  209. package/v2Containers/WebPush/Create/preview/PreviewControls.js +0 -305
  210. package/v2Containers/WebPush/Create/preview/PreviewDisclaimer.js +0 -23
  211. package/v2Containers/WebPush/Create/preview/WebPushPreview.js +0 -155
  212. package/v2Containers/WebPush/Create/preview/assets/Light.svg +0 -53
  213. package/v2Containers/WebPush/Create/preview/assets/Top.svg +0 -5
  214. package/v2Containers/WebPush/Create/preview/assets/android-arrow-down.svg +0 -9
  215. package/v2Containers/WebPush/Create/preview/assets/android-arrow-up.svg +0 -9
  216. package/v2Containers/WebPush/Create/preview/assets/chrome-icon.png +0 -0
  217. package/v2Containers/WebPush/Create/preview/assets/edge-icon.png +0 -0
  218. package/v2Containers/WebPush/Create/preview/assets/firefox-icon.svg +0 -106
  219. package/v2Containers/WebPush/Create/preview/assets/iOS.svg +0 -26
  220. package/v2Containers/WebPush/Create/preview/assets/macos-arrow-down-icon.svg +0 -9
  221. package/v2Containers/WebPush/Create/preview/assets/macos-triple-dot-icon.svg +0 -9
  222. package/v2Containers/WebPush/Create/preview/assets/opera-icon.svg +0 -18
  223. package/v2Containers/WebPush/Create/preview/assets/safari-icon.svg +0 -29
  224. package/v2Containers/WebPush/Create/preview/assets/windows-close-icon.svg +0 -9
  225. package/v2Containers/WebPush/Create/preview/assets/windows-triple-dot-icon.svg +0 -9
  226. package/v2Containers/WebPush/Create/preview/components/AndroidMobileChromeHeader.js +0 -47
  227. package/v2Containers/WebPush/Create/preview/components/AndroidMobileExpanded.js +0 -141
  228. package/v2Containers/WebPush/Create/preview/components/IOSHeader.js +0 -45
  229. package/v2Containers/WebPush/Create/preview/components/NotificationExpandedContent.js +0 -68
  230. package/v2Containers/WebPush/Create/preview/components/NotificationHeader.js +0 -61
  231. package/v2Containers/WebPush/Create/preview/components/WindowsChromeExpanded.js +0 -99
  232. package/v2Containers/WebPush/Create/preview/components/tests/AndroidMobileExpanded.test.js +0 -733
  233. package/v2Containers/WebPush/Create/preview/components/tests/WindowsChromeExpanded.test.js +0 -571
  234. package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/AndroidMobileExpanded.test.js.snap +0 -81
  235. package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/WindowsChromeExpanded.test.js.snap +0 -81
  236. package/v2Containers/WebPush/Create/preview/config/notificationMappings.js +0 -50
  237. package/v2Containers/WebPush/Create/preview/constants.js +0 -637
  238. package/v2Containers/WebPush/Create/preview/notification-container.scss +0 -79
  239. package/v2Containers/WebPush/Create/preview/preview.scss +0 -351
  240. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-chrome.scss +0 -370
  241. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-edge.scss +0 -12
  242. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-firefox.scss +0 -12
  243. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-opera.scss +0 -12
  244. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-chrome.scss +0 -47
  245. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-edge.scss +0 -11
  246. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-firefox.scss +0 -11
  247. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-opera.scss +0 -11
  248. package/v2Containers/WebPush/Create/preview/styles/_base.scss +0 -207
  249. package/v2Containers/WebPush/Create/preview/styles/_ios.scss +0 -153
  250. package/v2Containers/WebPush/Create/preview/styles/_ipados.scss +0 -107
  251. package/v2Containers/WebPush/Create/preview/styles/_macos-chrome.scss +0 -101
  252. package/v2Containers/WebPush/Create/preview/styles/_windows-chrome.scss +0 -229
  253. package/v2Containers/WebPush/Create/preview/tests/DevicePreviewContent.test.js +0 -909
  254. package/v2Containers/WebPush/Create/preview/tests/NotificationContainer.test.js +0 -1081
  255. package/v2Containers/WebPush/Create/preview/tests/PreviewControls.test.js +0 -723
  256. package/v2Containers/WebPush/Create/preview/tests/WebPushPreview.test.js +0 -1327
  257. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/DevicePreviewContent.test.js.snap +0 -131
  258. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/NotificationContainer.test.js.snap +0 -112
  259. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/PreviewControls.test.js.snap +0 -144
  260. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/WebPushPreview.test.js.snap +0 -129
  261. package/v2Containers/WebPush/Create/utils/payloadBuilder.js +0 -96
  262. package/v2Containers/WebPush/Create/utils/payloadBuilder.test.js +0 -396
  263. package/v2Containers/WebPush/Create/utils/previewUtils.js +0 -89
  264. package/v2Containers/WebPush/Create/utils/urlValidation.js +0 -115
  265. package/v2Containers/WebPush/Create/utils/urlValidation.test.js +0 -449
  266. package/v2Containers/WebPush/Create/utils/validation.js +0 -75
  267. package/v2Containers/WebPush/Create/utils/validation.test.js +0 -283
  268. package/v2Containers/WebPush/actions.js +0 -60
  269. package/v2Containers/WebPush/constants.js +0 -132
  270. package/v2Containers/WebPush/index.js +0 -2
  271. package/v2Containers/WebPush/reducer.js +0 -104
  272. package/v2Containers/WebPush/sagas.js +0 -119
  273. package/v2Containers/WebPush/selectors.js +0 -65
  274. package/v2Containers/WebPush/tests/reducer.test.js +0 -863
  275. package/v2Containers/WebPush/tests/sagas.test.js +0 -566
  276. package/v2Containers/WebPush/tests/selectors.test.js +0 -960
@@ -0,0 +1,10 @@
1
+ @import '~@capillarytech/cap-ui-library/styles/_variables.scss';
2
+ .cap-inapp-creatives {
3
+ #inapp-layout-dropdown {
4
+ width: 20.5rem;
5
+ }
6
+ .inapp-creative-layout {
7
+ margin-top: $CAP_SPACE_04;
8
+ margin-bottom: $CAP_SPACE_08;
9
+ }
10
+ }
@@ -0,0 +1,448 @@
1
+ import React from 'react';
2
+ import { Provider } from 'react-redux';
3
+ import '@testing-library/jest-dom';
4
+ import { injectIntl } from 'react-intl';
5
+ import { configureStore } from '@capillarytech/vulcan-react-sdk/utils';
6
+ import history from '../../../utils/history';
7
+ import { initialReducer } from '../../../initialReducer';
8
+ import { InappAdvanced } from '../index';
9
+ import { render, screen, fireEvent, waitFor } from '../../../utils/test-utils';
10
+
11
+ // Mock child components that are complex or not under test
12
+ jest.mock('../../BeePopupEditor', () => ({
13
+ __esModule: true,
14
+ default: (props) => (
15
+ <div
16
+ data-testid={`bee-popup-editor-${props.device}`}
17
+ data-device={props.device}
18
+ data-template-layout-type={props.templateLayoutType}
19
+ >
20
+ BeePopupEditor - {props.device}
21
+ <button
22
+ onClick={() => props.saveBeeData('{"test": "json"}', '<p>Test HTML</p>', props.device)}
23
+ data-testid={`save-bee-data-${props.device}`}
24
+ >
25
+ Save Bee Data
26
+ </button>
27
+ <button
28
+ onClick={() => props.saveBeeInstance({ mockInstance: true })}
29
+ data-testid={`save-bee-instance-${props.device}`}
30
+ >
31
+ Save Bee Instance
32
+ </button>
33
+ </div>
34
+ ),
35
+ }));
36
+
37
+ let store;
38
+ beforeAll(() => {
39
+ store = configureStore({}, initialReducer, history);
40
+ });
41
+
42
+ const ComponentToRender = injectIntl(InappAdvanced);
43
+ const renderComponent = (props) =>
44
+ render(
45
+ <Provider store={store}>
46
+ <ComponentToRender {...props} />
47
+ </Provider>
48
+ );
49
+
50
+ describe('InappAdvanced Component', () => {
51
+ let defaultProps;
52
+ let mockActions;
53
+
54
+ beforeEach(() => {
55
+ mockActions = {
56
+ getBeePopupBuilderToken: jest.fn(),
57
+ createInAppTemplate: jest.fn(),
58
+ editTemplate: jest.fn(),
59
+ clearCreateResponse: jest.fn(),
60
+ };
61
+
62
+ const mockGlobalActions = {
63
+ fetchSchemaForEntity: jest.fn(),
64
+ };
65
+
66
+ defaultProps = {
67
+ intl: {
68
+ formatMessage: jest.fn((msg) => msg.defaultMessage || msg.id),
69
+ },
70
+ actions: mockActions,
71
+ globalActions: mockGlobalActions,
72
+ isFullMode: true,
73
+ onCreateComplete: jest.fn(),
74
+ params: { id: 'test-id' },
75
+ templateData: {},
76
+ editData: {},
77
+ accountData: {
78
+ selectedWeChatAccount: {
79
+ sourceAccountIdentifier: 'test-account',
80
+ id: 'account-123',
81
+ configs: {
82
+ android: '1',
83
+ ios: '1',
84
+ },
85
+ },
86
+ },
87
+ location: {
88
+ pathname: '/inapp/create',
89
+ query: { type: 'inapp' },
90
+ search: '',
91
+ },
92
+ getDefaultTags: 'inapp',
93
+ supportedTags: [],
94
+ metaEntities: {
95
+ tags: {
96
+ standard: [],
97
+ },
98
+ },
99
+ injectedTags: [],
100
+ getFormData: jest.fn(),
101
+ templateName: 'Test Template',
102
+ setTemplateName: jest.fn(),
103
+ beePopupBuilderTokenFetching: false,
104
+ beePopupBuilderToken: {
105
+ uuid: 'test-uuid-123',
106
+ token: 'test-token-456',
107
+ },
108
+ };
109
+ });
110
+
111
+ describe('Component Initialization', () => {
112
+ it('should render without crashing', () => {
113
+ renderComponent(defaultProps);
114
+
115
+ expect(screen.getByText('Create')).toBeInTheDocument();
116
+ });
117
+
118
+ it('should call getBeePopupBuilderToken on mount', () => {
119
+ renderComponent(defaultProps);
120
+
121
+ expect(mockActions.getBeePopupBuilderToken).toHaveBeenCalledTimes(1);
122
+ });
123
+
124
+ it('should show loading spinner when beePopupBuilderTokenFetching is true', () => {
125
+ renderComponent({
126
+ ...defaultProps,
127
+ beePopupBuilderTokenFetching: true,
128
+ });
129
+
130
+ // The spinner should be present but we can't easily test for it without mocking
131
+ expect(screen.getByText('Create')).toBeInTheDocument();
132
+ });
133
+ });
134
+
135
+ describe('Layout Selection', () => {
136
+ it('should render layout selection when isFullMode is true', () => {
137
+ renderComponent({
138
+ ...defaultProps,
139
+ isFullMode: true,
140
+ });
141
+
142
+ expect(screen.getByText('Creative layout')).toBeInTheDocument();
143
+ // CapSelect from cap-ui-library should render a select element
144
+ const selectElements = screen.getAllByRole('button');
145
+ expect(selectElements.length).toBeGreaterThan(0);
146
+ });
147
+
148
+ it('should update layout type when selection changes', () => {
149
+ renderComponent(defaultProps);
150
+
151
+ // Layout selection should be rendered
152
+ expect(screen.getByText('Creative layout')).toBeInTheDocument();
153
+ });
154
+ });
155
+
156
+ describe('Device Tabs', () => {
157
+ it('should render device tabs with Android and iOS options', () => {
158
+ renderComponent(defaultProps);
159
+
160
+ expect(screen.getByText('Android')).toBeInTheDocument();
161
+ expect(screen.getByText('IOS')).toBeInTheDocument();
162
+ });
163
+
164
+ it('should show BeePopupEditor for Android when Android tab is active', () => {
165
+ renderComponent({
166
+ ...defaultProps,
167
+ beePopupBuilderToken: { uuid: 'test-uuid' },
168
+ });
169
+
170
+ expect(screen.getByTestId('bee-popup-editor-ANDROID')).toBeInTheDocument();
171
+ });
172
+
173
+ it('should only show supported device tabs', () => {
174
+ renderComponent({
175
+ ...defaultProps,
176
+ accountData: {
177
+ selectedWeChatAccount: {
178
+ configs: {
179
+ android: '0', // Not supported
180
+ ios: '1', // Supported
181
+ },
182
+ },
183
+ },
184
+ });
185
+
186
+ expect(screen.queryByText('Android')).not.toBeInTheDocument();
187
+ expect(screen.getByText('IOS')).toBeInTheDocument();
188
+ });
189
+ });
190
+
191
+ describe('BeePopupEditor Integration', () => {
192
+ it('should pass correct props to BeePopupEditor', () => {
193
+ renderComponent({
194
+ ...defaultProps,
195
+ beePopupBuilderToken: { uuid: 'test-uuid' },
196
+ });
197
+
198
+ const beeEditor = screen.getByTestId('bee-popup-editor-ANDROID');
199
+ expect(beeEditor).toHaveAttribute('data-device', 'ANDROID');
200
+ expect(beeEditor).toHaveAttribute('data-template-layout-type', 'MODAL');
201
+ });
202
+
203
+ it('should handle saveBeeData callback correctly', () => {
204
+ renderComponent({
205
+ ...defaultProps,
206
+ beePopupBuilderToken: { uuid: 'test-uuid' },
207
+ });
208
+
209
+ const saveBeeDataButton = screen.getByTestId('save-bee-data-ANDROID');
210
+ fireEvent.click(saveBeeDataButton);
211
+
212
+ // The component should update its internal state with the JSON and HTML
213
+ expect(saveBeeDataButton).toBeInTheDocument(); // Basic check that callback was handled
214
+ });
215
+
216
+ it('should handle saveBeeInstance callback correctly', () => {
217
+ renderComponent({
218
+ ...defaultProps,
219
+ beePopupBuilderToken: { uuid: 'test-uuid' },
220
+ });
221
+
222
+ const saveBeeInstanceButton = screen.getByTestId('save-bee-instance-ANDROID');
223
+ fireEvent.click(saveBeeInstanceButton);
224
+
225
+ // The component should store the bee instance
226
+ expect(saveBeeInstanceButton).toBeInTheDocument(); // Basic check that callback was handled
227
+ });
228
+
229
+ it('should not render BeePopupEditor when no token is available', () => {
230
+ renderComponent({
231
+ ...defaultProps,
232
+ beePopupBuilderToken: null,
233
+ });
234
+
235
+ expect(screen.queryByTestId('bee-popup-editor-ANDROID')).not.toBeInTheDocument();
236
+ });
237
+ });
238
+
239
+ describe('Action Buttons', () => {
240
+ it('should render Create button in full mode for new templates', () => {
241
+ renderComponent({
242
+ ...defaultProps,
243
+ isFullMode: true,
244
+ });
245
+
246
+ expect(screen.getByText('Create')).toBeInTheDocument();
247
+ });
248
+
249
+ it('should render Update button in edit mode', () => {
250
+ renderComponent({
251
+ ...defaultProps,
252
+ isFullMode: true,
253
+ editData: {
254
+ templateDetails: {
255
+ name: 'Existing Template',
256
+ versions: {
257
+ base: {
258
+ content: {
259
+ ANDROID: { title: 'Test' },
260
+ },
261
+ },
262
+ },
263
+ },
264
+ },
265
+ });
266
+
267
+ expect(screen.getByText('Update')).toBeInTheDocument();
268
+ });
269
+
270
+ it('should render Done button in library mode', () => {
271
+ renderComponent({
272
+ ...defaultProps,
273
+ isFullMode: false,
274
+ });
275
+
276
+ expect(screen.getByText('Done')).toBeInTheDocument();
277
+ });
278
+
279
+ it('should call appropriate action when Create button is clicked', async () => {
280
+ renderComponent({
281
+ ...defaultProps,
282
+ isFullMode: true,
283
+ });
284
+
285
+ const createButton = screen.getByText('Create');
286
+ fireEvent.click(createButton);
287
+
288
+ // Wait for async operations to complete
289
+ await waitFor(() => {
290
+ expect(mockActions.createInAppTemplate).toHaveBeenCalled();
291
+ }, { timeout: 3000 });
292
+ });
293
+ });
294
+
295
+ describe('Form Data Integration', () => {
296
+ it('should call getFormData when in library mode', async () => {
297
+ const mockGetFormData = jest.fn();
298
+ renderComponent({
299
+ ...defaultProps,
300
+ isFullMode: false,
301
+ getFormData: mockGetFormData,
302
+ });
303
+
304
+ const doneButton = screen.getByText('Done');
305
+ fireEvent.click(doneButton);
306
+
307
+ // Wait for async operations to complete
308
+ await waitFor(() => {
309
+ expect(mockGetFormData).toHaveBeenCalledWith({
310
+ value: expect.any(Object),
311
+ _id: 'test-id',
312
+ validity: true,
313
+ type: 'INAPP',
314
+ });
315
+ }, { timeout: 3000 });
316
+ });
317
+ });
318
+
319
+ describe('Template Name Integration', () => {
320
+ it('should display the template name when provided', () => {
321
+ renderComponent({
322
+ ...defaultProps,
323
+ templateName: 'My Awesome Template',
324
+ });
325
+
326
+ // Template name should be used in the payload creation
327
+ expect(screen.getByText('Create')).toBeInTheDocument();
328
+ });
329
+
330
+ it('should handle setTemplateName callback', () => {
331
+ const mockSetTemplateName = jest.fn();
332
+ renderComponent({
333
+ ...defaultProps,
334
+ setTemplateName: mockSetTemplateName,
335
+ });
336
+
337
+ // The component should be able to update template name
338
+ expect(mockSetTemplateName).toBeDefined();
339
+ });
340
+ });
341
+
342
+ describe('Account Data Integration', () => {
343
+ it('should handle missing account data gracefully', () => {
344
+ renderComponent({
345
+ ...defaultProps,
346
+ accountData: {},
347
+ });
348
+
349
+ // Component should render without crashing
350
+ expect(screen.getByText('Create')).toBeInTheDocument();
351
+ });
352
+
353
+ it('should use account data in payload creation', () => {
354
+ renderComponent({
355
+ ...defaultProps,
356
+ accountData: {
357
+ selectedWeChatAccount: {
358
+ sourceAccountIdentifier: 'test-account-123',
359
+ id: 'account-456',
360
+ },
361
+ },
362
+ });
363
+
364
+ // Account data should be used when creating the payload
365
+ expect(screen.getByText('Create')).toBeInTheDocument();
366
+ });
367
+ });
368
+
369
+ describe('Edit Flow', () => {
370
+ it('should initialize edit flow when editData is provided', () => {
371
+ renderComponent({
372
+ ...defaultProps,
373
+ editData: {
374
+ templateDetails: {
375
+ name: 'Existing Template',
376
+ createdAt: '2023-01-01',
377
+ versions: {
378
+ base: {
379
+ content: {
380
+ ANDROID: {
381
+ isBEEeditor: true,
382
+ beeJson: '{"test": "json"}',
383
+ beeHtml: '<p>Test HTML</p>',
384
+ },
385
+ IOS: {
386
+ isBEEeditor: true,
387
+ beeJson: '{"test": "ios-json"}',
388
+ beeHtml: '<p>iOS Test HTML</p>',
389
+ },
390
+ },
391
+ },
392
+ },
393
+ },
394
+ },
395
+ });
396
+
397
+ // Should show Update button in edit flow
398
+ expect(screen.getByText('Update')).toBeInTheDocument();
399
+ });
400
+ });
401
+
402
+ describe('Error Handling', () => {
403
+ it('should handle missing props gracefully', () => {
404
+ expect(() => {
405
+ renderComponent({
406
+ intl: {
407
+ formatMessage: jest.fn((msg) => msg.defaultMessage || msg.id),
408
+ },
409
+ actions: mockActions,
410
+ globalActions: {
411
+ fetchSchemaForEntity: jest.fn(),
412
+ },
413
+ location: {
414
+ pathname: '/inapp/create',
415
+ query: { type: 'inapp' },
416
+ search: '',
417
+ },
418
+ });
419
+ }).not.toThrow();
420
+ });
421
+
422
+ it('should handle undefined beePopupBuilderToken gracefully', () => {
423
+ renderComponent({
424
+ ...defaultProps,
425
+ beePopupBuilderToken: undefined,
426
+ });
427
+
428
+ expect(screen.getByText('Create')).toBeInTheDocument();
429
+ });
430
+ });
431
+
432
+ describe('Responsive Behavior', () => {
433
+ it('should apply correct CSS classes for different modes', () => {
434
+ const { container } = renderComponent(defaultProps);
435
+
436
+ expect(container.querySelector('.cap-inapp-creatives')).toBeInTheDocument();
437
+ });
438
+
439
+ it('should show footer with correct classes in library mode', () => {
440
+ const { container } = renderComponent({
441
+ ...defaultProps,
442
+ isFullMode: false,
443
+ });
444
+
445
+ expect(container.querySelector('.inapp-footer-lib')).toBeInTheDocument();
446
+ });
447
+ });
448
+ });
@@ -189,7 +189,7 @@ exports[`Creatives line image carousel test/> should render 1`] = `
189
189
  "creatives.componentsV2.CapDocumentUpload.imageDimenstionDescription": "Dimensions upto: {width}px x {height}px",
190
190
  "creatives.componentsV2.CapDocumentUpload.or": "OR",
191
191
  "creatives.componentsV2.CapDocumentUpload.uploadComputer": "Select from computer",
192
- "creatives.componentsV2.CapDocumentUpload.whatsappDocSize": "Size up to: {size}",
192
+ "creatives.componentsV2.CapDocumentUpload.whatsappDocSize": "Size upto: {size}",
193
193
  "creatives.componentsV2.CapImageUpload.aspectRatio": "Aspect ratio: 1:1",
194
194
  "creatives.componentsV2.CapImageUpload.dragAndDrop": "Drag and drop image here",
195
195
  "creatives.componentsV2.CapImageUpload.format": "Format: JPEG, JPG, PNG",
@@ -197,13 +197,13 @@ exports[`Creatives line image carousel test/> should render 1`] = `
197
197
  "creatives.componentsV2.CapImageUpload.imageErrorDesc": "Please upload the image with allowed file extension, size, dimension and aspect ratio",
198
198
  "creatives.componentsV2.CapImageUpload.imageGallery": "Gallery",
199
199
  "creatives.componentsV2.CapImageUpload.imageReUpload": "Reupload",
200
- "creatives.componentsV2.CapImageUpload.imageSize": "Size up to: 2MB",
200
+ "creatives.componentsV2.CapImageUpload.imageSize": "Size upto: 2MB",
201
201
  "creatives.componentsV2.CapImageUpload.or": "OR",
202
202
  "creatives.componentsV2.CapImageUpload.uploadComputer": "Select from computer",
203
203
  "creatives.componentsV2.CapImageUpload.uploadGallery": "Gallery",
204
204
  "creatives.componentsV2.CapImageUpload.uploadImageDescription": "The relevant image that complements the message context.",
205
205
  "creatives.componentsV2.CapImageUpload.whatsappAspectRatio": "Max aspect ratio: 1.91:1",
206
- "creatives.componentsV2.CapImageUpload.whatsappImageSize": "Size up to: 5MB",
206
+ "creatives.componentsV2.CapImageUpload.whatsappImageSize": "Size upto: 5MB",
207
207
  "creatives.componentsV2.CapTagList.Cancel": "Cancel",
208
208
  "creatives.componentsV2.CapTagList.Ok": "Ok",
209
209
  "creatives.componentsV2.CapTagList.all": "All",
@@ -1896,7 +1896,6 @@ new message content.",
1896
1896
  "creatives.containersV2.WeChat.templateName": "Template Name",
1897
1897
  "creatives.containersV2.WeChat.wechatCreateSuccess": "WeChat template mapped successfully",
1898
1898
  "creatives.containersV2.WeChat.wechatEditSuccess": "WeChat template edited successfully",
1899
- "creatives.containersV2.WebPush.addLabels": "Add labels",
1900
1899
  "creatives.containersV2.Whatsapp.IncorrectCategoryError": "INCORRECT CATEGORY: Message content different from expected content in the category selected. Refer {here} for expected content in each category.",
1901
1900
  "creatives.containersV2.Whatsapp.accountUpdate": "Account update",
1902
1901
  "creatives.containersV2.Whatsapp.accountUpdateTooltip": "Let customers know about updates or changes to their accounts.",
@@ -2282,6 +2281,7 @@ new message content.",
2282
2281
  "email": [Function],
2283
2282
  "facebookPreview": [Function],
2284
2283
  "gallery": [Function],
2284
+ "inApp": [Function],
2285
2285
  "language": [Function],
2286
2286
  "navigationConfig": [Function],
2287
2287
  "previewAndTest": [Function],
@@ -3873,7 +3873,7 @@ exports[`Creatives line image carousel test/> should render 2`] = `
3873
3873
  "creatives.componentsV2.CapDocumentUpload.imageDimenstionDescription": "Dimensions upto: {width}px x {height}px",
3874
3874
  "creatives.componentsV2.CapDocumentUpload.or": "OR",
3875
3875
  "creatives.componentsV2.CapDocumentUpload.uploadComputer": "Select from computer",
3876
- "creatives.componentsV2.CapDocumentUpload.whatsappDocSize": "Size up to: {size}",
3876
+ "creatives.componentsV2.CapDocumentUpload.whatsappDocSize": "Size upto: {size}",
3877
3877
  "creatives.componentsV2.CapImageUpload.aspectRatio": "Aspect ratio: 1:1",
3878
3878
  "creatives.componentsV2.CapImageUpload.dragAndDrop": "Drag and drop image here",
3879
3879
  "creatives.componentsV2.CapImageUpload.format": "Format: JPEG, JPG, PNG",
@@ -3881,13 +3881,13 @@ exports[`Creatives line image carousel test/> should render 2`] = `
3881
3881
  "creatives.componentsV2.CapImageUpload.imageErrorDesc": "Please upload the image with allowed file extension, size, dimension and aspect ratio",
3882
3882
  "creatives.componentsV2.CapImageUpload.imageGallery": "Gallery",
3883
3883
  "creatives.componentsV2.CapImageUpload.imageReUpload": "Reupload",
3884
- "creatives.componentsV2.CapImageUpload.imageSize": "Size up to: 2MB",
3884
+ "creatives.componentsV2.CapImageUpload.imageSize": "Size upto: 2MB",
3885
3885
  "creatives.componentsV2.CapImageUpload.or": "OR",
3886
3886
  "creatives.componentsV2.CapImageUpload.uploadComputer": "Select from computer",
3887
3887
  "creatives.componentsV2.CapImageUpload.uploadGallery": "Gallery",
3888
3888
  "creatives.componentsV2.CapImageUpload.uploadImageDescription": "The relevant image that complements the message context.",
3889
3889
  "creatives.componentsV2.CapImageUpload.whatsappAspectRatio": "Max aspect ratio: 1.91:1",
3890
- "creatives.componentsV2.CapImageUpload.whatsappImageSize": "Size up to: 5MB",
3890
+ "creatives.componentsV2.CapImageUpload.whatsappImageSize": "Size upto: 5MB",
3891
3891
  "creatives.componentsV2.CapTagList.Cancel": "Cancel",
3892
3892
  "creatives.componentsV2.CapTagList.Ok": "Ok",
3893
3893
  "creatives.componentsV2.CapTagList.all": "All",
@@ -5580,7 +5580,6 @@ new message content.",
5580
5580
  "creatives.containersV2.WeChat.templateName": "Template Name",
5581
5581
  "creatives.containersV2.WeChat.wechatCreateSuccess": "WeChat template mapped successfully",
5582
5582
  "creatives.containersV2.WeChat.wechatEditSuccess": "WeChat template edited successfully",
5583
- "creatives.containersV2.WebPush.addLabels": "Add labels",
5584
5583
  "creatives.containersV2.Whatsapp.IncorrectCategoryError": "INCORRECT CATEGORY: Message content different from expected content in the category selected. Refer {here} for expected content in each category.",
5585
5584
  "creatives.containersV2.Whatsapp.accountUpdate": "Account update",
5586
5585
  "creatives.containersV2.Whatsapp.accountUpdateTooltip": "Let customers know about updates or changes to their accounts.",
@@ -5966,6 +5965,7 @@ new message content.",
5966
5965
  "email": [Function],
5967
5966
  "facebookPreview": [Function],
5968
5967
  "gallery": [Function],
5968
+ "inApp": [Function],
5969
5969
  "language": [Function],
5970
5970
  "navigationConfig": [Function],
5971
5971
  "previewAndTest": [Function],
@@ -7696,7 +7696,7 @@ exports[`Creatives line image carousel test/> should render 3`] = `
7696
7696
  "creatives.componentsV2.CapDocumentUpload.imageDimenstionDescription": "Dimensions upto: {width}px x {height}px",
7697
7697
  "creatives.componentsV2.CapDocumentUpload.or": "OR",
7698
7698
  "creatives.componentsV2.CapDocumentUpload.uploadComputer": "Select from computer",
7699
- "creatives.componentsV2.CapDocumentUpload.whatsappDocSize": "Size up to: {size}",
7699
+ "creatives.componentsV2.CapDocumentUpload.whatsappDocSize": "Size upto: {size}",
7700
7700
  "creatives.componentsV2.CapImageUpload.aspectRatio": "Aspect ratio: 1:1",
7701
7701
  "creatives.componentsV2.CapImageUpload.dragAndDrop": "Drag and drop image here",
7702
7702
  "creatives.componentsV2.CapImageUpload.format": "Format: JPEG, JPG, PNG",
@@ -7704,13 +7704,13 @@ exports[`Creatives line image carousel test/> should render 3`] = `
7704
7704
  "creatives.componentsV2.CapImageUpload.imageErrorDesc": "Please upload the image with allowed file extension, size, dimension and aspect ratio",
7705
7705
  "creatives.componentsV2.CapImageUpload.imageGallery": "Gallery",
7706
7706
  "creatives.componentsV2.CapImageUpload.imageReUpload": "Reupload",
7707
- "creatives.componentsV2.CapImageUpload.imageSize": "Size up to: 2MB",
7707
+ "creatives.componentsV2.CapImageUpload.imageSize": "Size upto: 2MB",
7708
7708
  "creatives.componentsV2.CapImageUpload.or": "OR",
7709
7709
  "creatives.componentsV2.CapImageUpload.uploadComputer": "Select from computer",
7710
7710
  "creatives.componentsV2.CapImageUpload.uploadGallery": "Gallery",
7711
7711
  "creatives.componentsV2.CapImageUpload.uploadImageDescription": "The relevant image that complements the message context.",
7712
7712
  "creatives.componentsV2.CapImageUpload.whatsappAspectRatio": "Max aspect ratio: 1.91:1",
7713
- "creatives.componentsV2.CapImageUpload.whatsappImageSize": "Size up to: 5MB",
7713
+ "creatives.componentsV2.CapImageUpload.whatsappImageSize": "Size upto: 5MB",
7714
7714
  "creatives.componentsV2.CapTagList.Cancel": "Cancel",
7715
7715
  "creatives.componentsV2.CapTagList.Ok": "Ok",
7716
7716
  "creatives.componentsV2.CapTagList.all": "All",
@@ -9403,7 +9403,6 @@ new message content.",
9403
9403
  "creatives.containersV2.WeChat.templateName": "Template Name",
9404
9404
  "creatives.containersV2.WeChat.wechatCreateSuccess": "WeChat template mapped successfully",
9405
9405
  "creatives.containersV2.WeChat.wechatEditSuccess": "WeChat template edited successfully",
9406
- "creatives.containersV2.WebPush.addLabels": "Add labels",
9407
9406
  "creatives.containersV2.Whatsapp.IncorrectCategoryError": "INCORRECT CATEGORY: Message content different from expected content in the category selected. Refer {here} for expected content in each category.",
9408
9407
  "creatives.containersV2.Whatsapp.accountUpdate": "Account update",
9409
9408
  "creatives.containersV2.Whatsapp.accountUpdateTooltip": "Let customers know about updates or changes to their accounts.",
@@ -9789,6 +9788,7 @@ new message content.",
9789
9788
  "email": [Function],
9790
9789
  "facebookPreview": [Function],
9791
9790
  "gallery": [Function],
9791
+ "inApp": [Function],
9792
9792
  "language": [Function],
9793
9793
  "navigationConfig": [Function],
9794
9794
  "previewAndTest": [Function],
@@ -189,7 +189,7 @@ exports[`line wrapper test/> should render line component new 1`] = `
189
189
  "creatives.componentsV2.CapDocumentUpload.imageDimenstionDescription": "Dimensions upto: {width}px x {height}px",
190
190
  "creatives.componentsV2.CapDocumentUpload.or": "OR",
191
191
  "creatives.componentsV2.CapDocumentUpload.uploadComputer": "Select from computer",
192
- "creatives.componentsV2.CapDocumentUpload.whatsappDocSize": "Size up to: {size}",
192
+ "creatives.componentsV2.CapDocumentUpload.whatsappDocSize": "Size upto: {size}",
193
193
  "creatives.componentsV2.CapImageUpload.aspectRatio": "Aspect ratio: 1:1",
194
194
  "creatives.componentsV2.CapImageUpload.dragAndDrop": "Drag and drop image here",
195
195
  "creatives.componentsV2.CapImageUpload.format": "Format: JPEG, JPG, PNG",
@@ -197,13 +197,13 @@ exports[`line wrapper test/> should render line component new 1`] = `
197
197
  "creatives.componentsV2.CapImageUpload.imageErrorDesc": "Please upload the image with allowed file extension, size, dimension and aspect ratio",
198
198
  "creatives.componentsV2.CapImageUpload.imageGallery": "Gallery",
199
199
  "creatives.componentsV2.CapImageUpload.imageReUpload": "Reupload",
200
- "creatives.componentsV2.CapImageUpload.imageSize": "Size up to: 2MB",
200
+ "creatives.componentsV2.CapImageUpload.imageSize": "Size upto: 2MB",
201
201
  "creatives.componentsV2.CapImageUpload.or": "OR",
202
202
  "creatives.componentsV2.CapImageUpload.uploadComputer": "Select from computer",
203
203
  "creatives.componentsV2.CapImageUpload.uploadGallery": "Gallery",
204
204
  "creatives.componentsV2.CapImageUpload.uploadImageDescription": "The relevant image that complements the message context.",
205
205
  "creatives.componentsV2.CapImageUpload.whatsappAspectRatio": "Max aspect ratio: 1.91:1",
206
- "creatives.componentsV2.CapImageUpload.whatsappImageSize": "Size up to: 5MB",
206
+ "creatives.componentsV2.CapImageUpload.whatsappImageSize": "Size upto: 5MB",
207
207
  "creatives.componentsV2.CapTagList.Cancel": "Cancel",
208
208
  "creatives.componentsV2.CapTagList.Ok": "Ok",
209
209
  "creatives.componentsV2.CapTagList.all": "All",
@@ -1896,7 +1896,6 @@ new message content.",
1896
1896
  "creatives.containersV2.WeChat.templateName": "Template Name",
1897
1897
  "creatives.containersV2.WeChat.wechatCreateSuccess": "WeChat template mapped successfully",
1898
1898
  "creatives.containersV2.WeChat.wechatEditSuccess": "WeChat template edited successfully",
1899
- "creatives.containersV2.WebPush.addLabels": "Add labels",
1900
1899
  "creatives.containersV2.Whatsapp.IncorrectCategoryError": "INCORRECT CATEGORY: Message content different from expected content in the category selected. Refer {here} for expected content in each category.",
1901
1900
  "creatives.containersV2.Whatsapp.accountUpdate": "Account update",
1902
1901
  "creatives.containersV2.Whatsapp.accountUpdateTooltip": "Let customers know about updates or changes to their accounts.",
@@ -2282,6 +2281,7 @@ new message content.",
2282
2281
  "email": [Function],
2283
2282
  "facebookPreview": [Function],
2284
2283
  "gallery": [Function],
2284
+ "inApp": [Function],
2285
2285
  "language": [Function],
2286
2286
  "navigationConfig": [Function],
2287
2287
  "previewAndTest": [Function],
@@ -19463,7 +19463,7 @@ exports[`line wrapper test/> should render line component old 1`] = `
19463
19463
  "creatives.componentsV2.CapDocumentUpload.imageDimenstionDescription": "Dimensions upto: {width}px x {height}px",
19464
19464
  "creatives.componentsV2.CapDocumentUpload.or": "OR",
19465
19465
  "creatives.componentsV2.CapDocumentUpload.uploadComputer": "Select from computer",
19466
- "creatives.componentsV2.CapDocumentUpload.whatsappDocSize": "Size up to: {size}",
19466
+ "creatives.componentsV2.CapDocumentUpload.whatsappDocSize": "Size upto: {size}",
19467
19467
  "creatives.componentsV2.CapImageUpload.aspectRatio": "Aspect ratio: 1:1",
19468
19468
  "creatives.componentsV2.CapImageUpload.dragAndDrop": "Drag and drop image here",
19469
19469
  "creatives.componentsV2.CapImageUpload.format": "Format: JPEG, JPG, PNG",
@@ -19471,13 +19471,13 @@ exports[`line wrapper test/> should render line component old 1`] = `
19471
19471
  "creatives.componentsV2.CapImageUpload.imageErrorDesc": "Please upload the image with allowed file extension, size, dimension and aspect ratio",
19472
19472
  "creatives.componentsV2.CapImageUpload.imageGallery": "Gallery",
19473
19473
  "creatives.componentsV2.CapImageUpload.imageReUpload": "Reupload",
19474
- "creatives.componentsV2.CapImageUpload.imageSize": "Size up to: 2MB",
19474
+ "creatives.componentsV2.CapImageUpload.imageSize": "Size upto: 2MB",
19475
19475
  "creatives.componentsV2.CapImageUpload.or": "OR",
19476
19476
  "creatives.componentsV2.CapImageUpload.uploadComputer": "Select from computer",
19477
19477
  "creatives.componentsV2.CapImageUpload.uploadGallery": "Gallery",
19478
19478
  "creatives.componentsV2.CapImageUpload.uploadImageDescription": "The relevant image that complements the message context.",
19479
19479
  "creatives.componentsV2.CapImageUpload.whatsappAspectRatio": "Max aspect ratio: 1.91:1",
19480
- "creatives.componentsV2.CapImageUpload.whatsappImageSize": "Size up to: 5MB",
19480
+ "creatives.componentsV2.CapImageUpload.whatsappImageSize": "Size upto: 5MB",
19481
19481
  "creatives.componentsV2.CapTagList.Cancel": "Cancel",
19482
19482
  "creatives.componentsV2.CapTagList.Ok": "Ok",
19483
19483
  "creatives.componentsV2.CapTagList.all": "All",
@@ -21170,7 +21170,6 @@ new message content.",
21170
21170
  "creatives.containersV2.WeChat.templateName": "Template Name",
21171
21171
  "creatives.containersV2.WeChat.wechatCreateSuccess": "WeChat template mapped successfully",
21172
21172
  "creatives.containersV2.WeChat.wechatEditSuccess": "WeChat template edited successfully",
21173
- "creatives.containersV2.WebPush.addLabels": "Add labels",
21174
21173
  "creatives.containersV2.Whatsapp.IncorrectCategoryError": "INCORRECT CATEGORY: Message content different from expected content in the category selected. Refer {here} for expected content in each category.",
21175
21174
  "creatives.containersV2.Whatsapp.accountUpdate": "Account update",
21176
21175
  "creatives.containersV2.Whatsapp.accountUpdateTooltip": "Let customers know about updates or changes to their accounts.",
@@ -21556,6 +21555,7 @@ new message content.",
21556
21555
  "email": [Function],
21557
21556
  "facebookPreview": [Function],
21558
21557
  "gallery": [Function],
21558
+ "inApp": [Function],
21559
21559
  "language": [Function],
21560
21560
  "navigationConfig": [Function],
21561
21561
  "previewAndTest": [Function],