@capillarytech/creatives-library 8.0.242-alpha.1 → 8.0.242-alpha.11

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 (255) hide show
  1. package/assets/Android.png +0 -0
  2. package/assets/iOS.png +0 -0
  3. package/config/app.js +1 -1
  4. package/constants/unified.js +2 -2
  5. package/initialReducer.js +0 -2
  6. package/package.json +1 -1
  7. package/services/api.js +5 -10
  8. package/services/tests/api.test.js +0 -18
  9. package/translations/en.json +4 -3
  10. package/utils/common.js +6 -5
  11. package/utils/commonUtils.js +1 -14
  12. package/utils/imageUrlUpload.js +141 -0
  13. package/utils/tests/commonUtil.test.js +0 -224
  14. package/utils/transformTemplateConfig.js +10 -0
  15. package/v2Components/CapDeviceContent/index.js +56 -61
  16. package/v2Components/CapImageUpload/constants.js +2 -0
  17. package/v2Components/CapImageUpload/index.js +65 -16
  18. package/v2Components/CapImageUpload/index.scss +4 -1
  19. package/v2Components/CapImageUpload/messages.js +5 -1
  20. package/v2Components/CapImageUrlUpload/constants.js +26 -0
  21. package/v2Components/CapImageUrlUpload/index.js +365 -0
  22. package/v2Components/CapImageUrlUpload/index.scss +35 -0
  23. package/v2Components/CapImageUrlUpload/messages.js +47 -0
  24. package/v2Components/CapTagList/index.js +1 -6
  25. package/v2Components/CapTagListWithInput/index.js +1 -5
  26. package/v2Components/CapTagListWithInput/messages.js +1 -1
  27. package/v2Components/CapWhatsappCTA/tests/index.test.js +0 -5
  28. package/v2Components/ErrorInfoNote/index.js +72 -412
  29. package/v2Components/ErrorInfoNote/messages.js +0 -22
  30. package/v2Components/ErrorInfoNote/style.scss +2 -279
  31. package/v2Components/HtmlEditor/HTMLEditor.js +89 -210
  32. package/v2Components/HtmlEditor/__tests__/HTMLEditor.test.js +133 -1132
  33. package/v2Components/HtmlEditor/__tests__/index.lazy.test.js +12 -17
  34. package/v2Components/HtmlEditor/_htmlEditor.scss +23 -8
  35. package/v2Components/HtmlEditor/_index.lazy.scss +1 -1
  36. package/v2Components/HtmlEditor/components/CodeEditorPane/_codeEditorPane.scss +101 -13
  37. package/v2Components/HtmlEditor/components/CodeEditorPane/index.js +139 -148
  38. package/v2Components/HtmlEditor/components/DeviceToggle/_deviceToggle.scss +1 -2
  39. package/v2Components/HtmlEditor/components/DeviceToggle/index.js +3 -3
  40. package/v2Components/HtmlEditor/components/EditorToolbar/index.js +1 -1
  41. package/v2Components/HtmlEditor/components/FullscreenModal/_fullscreenModal.scss +0 -1
  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 +6 -3
  48. package/v2Components/HtmlEditor/components/PreviewPane/index.js +11 -10
  49. package/v2Components/HtmlEditor/components/SplitContainer/_splitContainer.scss +1 -1
  50. package/v2Components/HtmlEditor/components/ValidationErrorDisplay/__tests__/index.test.js +62 -87
  51. package/v2Components/HtmlEditor/components/ValidationErrorDisplay/index.js +31 -49
  52. package/v2Components/HtmlEditor/constants.js +20 -29
  53. package/v2Components/HtmlEditor/hooks/__tests__/useInAppContent.test.js +16 -373
  54. package/v2Components/HtmlEditor/hooks/useEditorContent.js +2 -5
  55. package/v2Components/HtmlEditor/hooks/useInAppContent.js +146 -88
  56. package/v2Components/HtmlEditor/index.js +1 -1
  57. package/v2Components/HtmlEditor/messages.js +85 -95
  58. package/v2Components/HtmlEditor/utils/liquidTemplateSupport.js +101 -99
  59. package/v2Components/HtmlEditor/utils/properSyntaxHighlighting.js +25 -23
  60. package/v2Components/HtmlEditor/utils/validationAdapter.js +41 -34
  61. package/v2Components/MobilePushPreviewV2/index.js +7 -32
  62. package/v2Components/TemplatePreview/_templatePreview.scss +24 -44
  63. package/v2Components/TemplatePreview/index.js +32 -47
  64. package/v2Components/TemplatePreview/messages.js +0 -4
  65. package/v2Components/TestAndPreviewSlidebox/index.js +25 -31
  66. package/v2Containers/App/constants.js +5 -0
  67. package/v2Containers/BeeEditor/index.js +80 -82
  68. package/v2Containers/Cap/tests/__snapshots__/index.test.js.snap +4 -3
  69. package/v2Containers/CreativesContainer/SlideBoxContent.js +118 -148
  70. package/v2Containers/CreativesContainer/SlideBoxFooter.js +3 -9
  71. package/v2Containers/CreativesContainer/SlideBoxHeader.js +2 -2
  72. package/v2Containers/CreativesContainer/constants.js +2 -1
  73. package/v2Containers/CreativesContainer/index.js +41 -173
  74. package/v2Containers/CreativesContainer/messages.js +4 -4
  75. package/v2Containers/CreativesContainer/tests/SlideBoxContent.test.js +210 -0
  76. package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +354 -38
  77. package/v2Containers/CreativesContainer/tests/__snapshots__/index.test.js.snap +0 -36
  78. package/v2Containers/Email/actions.js +0 -7
  79. package/v2Containers/Email/constants.js +1 -5
  80. package/v2Containers/Email/index.js +0 -13
  81. package/v2Containers/Email/messages.js +0 -32
  82. package/v2Containers/Email/reducer.js +1 -12
  83. package/v2Containers/Email/sagas.js +6 -41
  84. package/v2Containers/Email/tests/__snapshots__/reducer.test.js.snap +0 -2
  85. package/v2Containers/EmailWrapper/components/EmailWrapperView.js +7 -193
  86. package/v2Containers/EmailWrapper/components/HTMLEditorTesting.js +74 -40
  87. package/v2Containers/EmailWrapper/components/__tests__/HTMLEditorTesting.test.js +67 -2
  88. package/v2Containers/EmailWrapper/constants.js +0 -2
  89. package/v2Containers/EmailWrapper/hooks/useEmailWrapper.js +67 -436
  90. package/v2Containers/EmailWrapper/index.js +23 -99
  91. package/v2Containers/EmailWrapper/messages.js +1 -61
  92. package/v2Containers/EmailWrapper/tests/EmailWrapperView.test.js +1 -26
  93. package/v2Containers/EmailWrapper/tests/useEmailWrapper.test.js +77 -111
  94. package/v2Containers/InApp/actions.js +0 -7
  95. package/v2Containers/InApp/constants.js +4 -20
  96. package/v2Containers/InApp/index.js +357 -800
  97. package/v2Containers/InApp/index.scss +3 -4
  98. package/v2Containers/InApp/messages.js +3 -7
  99. package/v2Containers/InApp/reducer.js +3 -21
  100. package/v2Containers/InApp/sagas.js +9 -29
  101. package/v2Containers/InApp/selectors.js +5 -25
  102. package/v2Containers/InApp/tests/index.test.js +50 -154
  103. package/v2Containers/InApp/tests/reducer.test.js +0 -34
  104. package/v2Containers/InApp/tests/sagas.test.js +9 -61
  105. package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/content.test.js.snap +12 -12
  106. package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/index.test.js.snap +8 -8
  107. package/v2Containers/Line/Container/Wrapper/tests/__snapshots__/index.test.js.snap +100 -77
  108. package/v2Containers/Line/Container/tests/__snapshots__/index.test.js.snap +72 -63
  109. package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +184 -150
  110. package/v2Containers/SmsTrai/Create/tests/__snapshots__/index.test.js.snap +16 -12
  111. package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +32 -28
  112. package/v2Containers/TagList/index.js +1 -67
  113. package/v2Containers/Templates/ChannelTypeIllustration.js +13 -1
  114. package/v2Containers/Templates/_templates.scss +202 -56
  115. package/v2Containers/Templates/actions.js +2 -1
  116. package/v2Containers/Templates/constants.js +1 -0
  117. package/v2Containers/Templates/index.js +278 -128
  118. package/v2Containers/Templates/messages.js +24 -4
  119. package/v2Containers/Templates/reducer.js +2 -0
  120. package/v2Containers/Templates/tests/index.test.js +10 -0
  121. package/v2Containers/TemplatesV2/index.js +8 -1
  122. package/v2Containers/TemplatesV2/messages.js +4 -0
  123. package/v2Containers/WebPush/Create/components/BrandIconSection.js +108 -0
  124. package/v2Containers/WebPush/Create/components/ButtonForm.js +172 -0
  125. package/v2Containers/WebPush/Create/components/ButtonItem.js +101 -0
  126. package/v2Containers/WebPush/Create/components/ButtonList.js +145 -0
  127. package/v2Containers/WebPush/Create/components/ButtonsLinksSection.js +164 -0
  128. package/v2Containers/WebPush/Create/components/ButtonsLinksSection.test.js +463 -0
  129. package/v2Containers/WebPush/Create/components/FormActions.js +54 -0
  130. package/v2Containers/WebPush/Create/components/FormActions.test.js +163 -0
  131. package/v2Containers/WebPush/Create/components/MediaSection.js +142 -0
  132. package/v2Containers/WebPush/Create/components/MediaSection.test.js +341 -0
  133. package/v2Containers/WebPush/Create/components/MessageSection.js +103 -0
  134. package/v2Containers/WebPush/Create/components/MessageSection.test.js +268 -0
  135. package/v2Containers/WebPush/Create/components/NotificationTitleSection.js +87 -0
  136. package/v2Containers/WebPush/Create/components/NotificationTitleSection.test.js +210 -0
  137. package/v2Containers/WebPush/Create/components/TemplateNameSection.js +54 -0
  138. package/v2Containers/WebPush/Create/components/TemplateNameSection.test.js +143 -0
  139. package/v2Containers/WebPush/Create/components/__snapshots__/ButtonsLinksSection.test.js.snap +86 -0
  140. package/v2Containers/WebPush/Create/components/__snapshots__/FormActions.test.js.snap +16 -0
  141. package/v2Containers/WebPush/Create/components/__snapshots__/MediaSection.test.js.snap +41 -0
  142. package/v2Containers/WebPush/Create/components/__snapshots__/MessageSection.test.js.snap +54 -0
  143. package/v2Containers/WebPush/Create/components/__snapshots__/NotificationTitleSection.test.js.snap +37 -0
  144. package/v2Containers/WebPush/Create/components/__snapshots__/TemplateNameSection.test.js.snap +21 -0
  145. package/v2Containers/WebPush/Create/components/_buttons.scss +246 -0
  146. package/v2Containers/WebPush/Create/components/tests/ButtonForm.test.js +554 -0
  147. package/v2Containers/WebPush/Create/components/tests/ButtonItem.test.js +607 -0
  148. package/v2Containers/WebPush/Create/components/tests/ButtonList.test.js +633 -0
  149. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonForm.test.js.snap +666 -0
  150. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonItem.test.js.snap +74 -0
  151. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonList.test.js.snap +78 -0
  152. package/v2Containers/WebPush/Create/hooks/useButtonManagement.js +138 -0
  153. package/v2Containers/WebPush/Create/hooks/useButtonManagement.test.js +406 -0
  154. package/v2Containers/WebPush/Create/hooks/useCharacterCount.js +30 -0
  155. package/v2Containers/WebPush/Create/hooks/useCharacterCount.test.js +151 -0
  156. package/v2Containers/WebPush/Create/hooks/useImageUpload.js +104 -0
  157. package/v2Containers/WebPush/Create/hooks/useImageUpload.test.js +538 -0
  158. package/v2Containers/WebPush/Create/hooks/useTagManagement.js +122 -0
  159. package/v2Containers/WebPush/Create/hooks/useTagManagement.test.js +633 -0
  160. package/v2Containers/WebPush/Create/index.js +1056 -0
  161. package/v2Containers/WebPush/Create/index.scss +134 -0
  162. package/v2Containers/WebPush/Create/messages.js +203 -0
  163. package/v2Containers/WebPush/Create/preview/DevicePreviewContent.js +228 -0
  164. package/v2Containers/WebPush/Create/preview/NotificationContainer.js +294 -0
  165. package/v2Containers/WebPush/Create/preview/PreviewContent.js +90 -0
  166. package/v2Containers/WebPush/Create/preview/PreviewControls.js +305 -0
  167. package/v2Containers/WebPush/Create/preview/PreviewDisclaimer.js +23 -0
  168. package/v2Containers/WebPush/Create/preview/WebPushPreview.js +150 -0
  169. package/v2Containers/WebPush/Create/preview/assets/Light.svg +53 -0
  170. package/v2Containers/WebPush/Create/preview/assets/Top.svg +5 -0
  171. package/v2Containers/WebPush/Create/preview/assets/android-arrow-down.svg +9 -0
  172. package/v2Containers/WebPush/Create/preview/assets/android-arrow-up.svg +9 -0
  173. package/v2Containers/WebPush/Create/preview/assets/chrome-icon.png +0 -0
  174. package/v2Containers/WebPush/Create/preview/assets/edge-icon.png +0 -0
  175. package/v2Containers/WebPush/Create/preview/assets/firefox-icon.svg +106 -0
  176. package/v2Containers/WebPush/Create/preview/assets/iOS.svg +26 -0
  177. package/v2Containers/WebPush/Create/preview/assets/macos-arrow-down-icon.svg +9 -0
  178. package/v2Containers/WebPush/Create/preview/assets/macos-triple-dot-icon.svg +9 -0
  179. package/v2Containers/WebPush/Create/preview/assets/opera-icon.svg +18 -0
  180. package/v2Containers/WebPush/Create/preview/assets/safari-icon.svg +29 -0
  181. package/v2Containers/WebPush/Create/preview/assets/windows-close-icon.svg +9 -0
  182. package/v2Containers/WebPush/Create/preview/assets/windows-triple-dot-icon.svg +9 -0
  183. package/v2Containers/WebPush/Create/preview/components/AndroidMobileChromeHeader.js +47 -0
  184. package/v2Containers/WebPush/Create/preview/components/AndroidMobileExpanded.js +141 -0
  185. package/v2Containers/WebPush/Create/preview/components/IOSHeader.js +45 -0
  186. package/v2Containers/WebPush/Create/preview/components/NotificationExpandedContent.js +68 -0
  187. package/v2Containers/WebPush/Create/preview/components/NotificationHeader.js +61 -0
  188. package/v2Containers/WebPush/Create/preview/components/WindowsChromeExpanded.js +99 -0
  189. package/v2Containers/WebPush/Create/preview/components/tests/AndroidMobileExpanded.test.js +733 -0
  190. package/v2Containers/WebPush/Create/preview/components/tests/WindowsChromeExpanded.test.js +571 -0
  191. package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/AndroidMobileExpanded.test.js.snap +81 -0
  192. package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/WindowsChromeExpanded.test.js.snap +81 -0
  193. package/v2Containers/WebPush/Create/preview/config/notificationMappings.js +50 -0
  194. package/v2Containers/WebPush/Create/preview/constants.js +637 -0
  195. package/v2Containers/WebPush/Create/preview/notification-container.scss +79 -0
  196. package/v2Containers/WebPush/Create/preview/preview.scss +351 -0
  197. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-chrome.scss +370 -0
  198. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-edge.scss +12 -0
  199. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-firefox.scss +12 -0
  200. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-opera.scss +12 -0
  201. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-chrome.scss +47 -0
  202. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-edge.scss +11 -0
  203. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-firefox.scss +11 -0
  204. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-opera.scss +11 -0
  205. package/v2Containers/WebPush/Create/preview/styles/_base.scss +207 -0
  206. package/v2Containers/WebPush/Create/preview/styles/_ios.scss +153 -0
  207. package/v2Containers/WebPush/Create/preview/styles/_ipados.scss +107 -0
  208. package/v2Containers/WebPush/Create/preview/styles/_macos-chrome.scss +101 -0
  209. package/v2Containers/WebPush/Create/preview/styles/_windows-chrome.scss +229 -0
  210. package/v2Containers/WebPush/Create/preview/tests/DevicePreviewContent.test.js +909 -0
  211. package/v2Containers/WebPush/Create/preview/tests/NotificationContainer.test.js +1081 -0
  212. package/v2Containers/WebPush/Create/preview/tests/PreviewControls.test.js +723 -0
  213. package/v2Containers/WebPush/Create/preview/tests/WebPushPreview.test.js +943 -0
  214. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/DevicePreviewContent.test.js.snap +131 -0
  215. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/NotificationContainer.test.js.snap +112 -0
  216. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/PreviewControls.test.js.snap +144 -0
  217. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/WebPushPreview.test.js.snap +129 -0
  218. package/v2Containers/WebPush/Create/utils/payloadBuilder.js +94 -0
  219. package/v2Containers/WebPush/Create/utils/payloadBuilder.test.js +390 -0
  220. package/v2Containers/WebPush/Create/utils/previewUtils.js +89 -0
  221. package/v2Containers/WebPush/Create/utils/urlValidation.js +115 -0
  222. package/v2Containers/WebPush/Create/utils/urlValidation.test.js +449 -0
  223. package/v2Containers/WebPush/Create/utils/validation.js +75 -0
  224. package/v2Containers/WebPush/Create/utils/validation.test.js +283 -0
  225. package/v2Containers/WebPush/actions.js +60 -0
  226. package/v2Containers/WebPush/constants.js +128 -0
  227. package/v2Containers/WebPush/index.js +2 -0
  228. package/v2Containers/WebPush/reducer.js +104 -0
  229. package/v2Containers/WebPush/sagas.js +119 -0
  230. package/v2Containers/WebPush/selectors.js +65 -0
  231. package/v2Containers/WebPush/tests/reducer.test.js +863 -0
  232. package/v2Containers/WebPush/tests/sagas.test.js +566 -0
  233. package/v2Containers/WebPush/tests/selectors.test.js +843 -0
  234. package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +528 -431
  235. package/v2Components/HtmlEditor/components/ValidationTabs/_validationTabs.scss +0 -254
  236. package/v2Components/HtmlEditor/components/ValidationTabs/index.js +0 -362
  237. package/v2Components/HtmlEditor/components/ValidationTabs/messages.js +0 -51
  238. package/v2Containers/BeePopupEditor/constants.js +0 -10
  239. package/v2Containers/BeePopupEditor/index.js +0 -193
  240. package/v2Containers/BeePopupEditor/tests/index.test.js +0 -627
  241. package/v2Containers/EmailWrapper/components/EmailHTMLEditor.js +0 -1045
  242. package/v2Containers/InApp/__tests__/InAppHTMLEditor.test.js +0 -376
  243. package/v2Containers/InApp/__tests__/sagas.test.js +0 -363
  244. package/v2Containers/InApp/tests/selectors.test.js +0 -612
  245. package/v2Containers/InAppWrapper/components/InAppWrapperView.js +0 -162
  246. package/v2Containers/InAppWrapper/components/__tests__/InAppWrapperView.test.js +0 -267
  247. package/v2Containers/InAppWrapper/components/inAppWrapperView.scss +0 -9
  248. package/v2Containers/InAppWrapper/constants.js +0 -16
  249. package/v2Containers/InAppWrapper/hooks/__tests__/useInAppWrapper.test.js +0 -473
  250. package/v2Containers/InAppWrapper/hooks/useInAppWrapper.js +0 -198
  251. package/v2Containers/InAppWrapper/index.js +0 -148
  252. package/v2Containers/InAppWrapper/messages.js +0 -49
  253. package/v2Containers/InappAdvance/index.js +0 -1099
  254. package/v2Containers/InappAdvance/index.scss +0 -10
  255. package/v2Containers/InappAdvance/tests/index.test.js +0 -448
@@ -24,20 +24,24 @@ const HTMLEditorTesting = () => {
24
24
  // Show/Hide editor
25
25
  show: () => {
26
26
  setIsVisible(true);
27
+ console.log('✅ HTMLEditor test mode activated');
27
28
  },
28
29
 
29
30
  hide: () => {
30
31
  setIsVisible(false);
32
+ console.log('✅ HTMLEditor test mode deactivated');
31
33
  },
32
34
 
33
35
  toggle: () => {
34
- setIsVisible((prev) => !prev);
36
+ setIsVisible(prev => !prev);
37
+ console.log(`✅ HTMLEditor test mode ${!isVisible ? 'activated' : 'deactivated'}`);
35
38
  },
36
39
 
37
40
  // Variant control
38
41
  setVariant: (newVariant) => {
39
42
  if (['email', 'inapp'].includes(newVariant)) {
40
43
  setVariant(newVariant);
44
+ console.log(`✅ Variant set to: ${newVariant}`);
41
45
  } else {
42
46
  console.error('❌ Invalid variant. Use: "email" or "inapp"');
43
47
  }
@@ -48,6 +52,7 @@ const HTMLEditorTesting = () => {
48
52
  const validLayouts = Object.values(LAYOUT_TYPES);
49
53
  if (validLayouts.includes(layout)) {
50
54
  setLayoutType(layout);
55
+ console.log(`✅ Layout set to: ${layout}`);
51
56
  } else {
52
57
  console.error(`❌ Invalid layout. Use: ${validLayouts.join(', ')}`);
53
58
  }
@@ -56,22 +61,58 @@ const HTMLEditorTesting = () => {
56
61
  // Content control
57
62
  setContent: (newContent) => {
58
63
  setContent(newContent);
64
+ console.log('✅ Content updated');
59
65
  },
60
66
 
61
67
  getContent: () => {
68
+ console.log('Current content:', content);
62
69
  return content;
63
70
  },
64
71
 
65
72
  // Status
66
73
  status: () => {
74
+ console.log('📊 HTMLEditor Test Status:');
75
+ console.log(` Visible: ${isVisible}`);
76
+ console.log(` Variant: ${variant}`);
77
+ console.log(` Layout: ${layoutType}`);
78
+ console.log(` Content size: ${content.length} chars`);
67
79
  },
68
80
 
69
81
  // Help
70
82
  help: () => {
71
- },
83
+ console.log(`
84
+ 🚀 HTMLEditor Testing Console Commands:
85
+
86
+ 📱 Basic Controls:
87
+ htmlEditorTest.show() - Show the editor
88
+ htmlEditorTest.hide() - Hide the editor
89
+ htmlEditorTest.toggle() - Toggle editor visibility
90
+
91
+ ⚙️ Configuration:
92
+ htmlEditorTest.setVariant('email') - Set to email variant
93
+ htmlEditorTest.setVariant('inapp') - Set to inapp variant
94
+ htmlEditorTest.setLayout('POPUP') - Set layout (inapp only)
95
+ - Valid: POPUP, HEADER, FOOTER, FULLSCREEN
96
+
97
+ 📝 Content:
98
+ htmlEditorTest.setContent('<h1>Test</h1>') - Set editor content
99
+ htmlEditorTest.getContent() - Get current content
100
+
101
+ 📊 Status:
102
+ htmlEditorTest.status() - Show current status
103
+ htmlEditorTest.help() - Show this help
104
+
105
+ 💡 Example Usage:
106
+ htmlEditorTest.show()
107
+ htmlEditorTest.setVariant('inapp')
108
+ htmlEditorTest.setLayout('HEADER') // Top banner
109
+ htmlEditorTest.setLayout('FOOTER') // Bottom banner
110
+ `);
111
+ }
72
112
  };
73
113
 
74
114
  // Show help on first load
115
+ console.log('🚀 HTMLEditor Testing Ready! Type htmlEditorTest.help() for commands');
75
116
 
76
117
  // Cleanup on unmount
77
118
  return () => {
@@ -87,40 +128,32 @@ const HTMLEditorTesting = () => {
87
128
  }
88
129
 
89
130
  return (
90
- <div
91
- style={{
92
- position: 'fixed',
93
- top: 0,
94
- left: 0,
95
- right: 0,
96
- bottom: 0,
97
- backgroundColor: 'rgba(0, 0, 0, 0.8)',
98
- zIndex: 9999,
131
+ <div style={{
132
+ position: 'fixed',
133
+ top: 0,
134
+ left: 0,
135
+ right: 0,
136
+ bottom: 0,
137
+ backgroundColor: 'rgba(0, 0, 0, 0.8)',
138
+ zIndex: 9999,
139
+ display: 'flex',
140
+ flexDirection: 'column',
141
+ padding: '20px'
142
+ }}>
143
+ {/* Header */}
144
+ <div style={{
145
+ backgroundColor: '#fff',
146
+ padding: '10px 20px',
147
+ borderRadius: '8px 8px 0 0',
99
148
  display: 'flex',
100
- flexDirection: 'column',
101
- padding: '20px',
149
+ justifyContent: 'space-between',
150
+ alignItems: 'center',
151
+ borderBottom: '1px solid #ddd'
102
152
  }}>
103
- {/* Header */}
104
- <div
105
- style={{
106
- backgroundColor: '#fff',
107
- padding: '10px 20px',
108
- borderRadius: '8px 8px 0 0',
109
- display: 'flex',
110
- justifyContent: 'space-between',
111
- alignItems: 'center',
112
- borderBottom: '1px solid #ddd',
113
- }}>
114
153
  <div>
115
154
  <strong>HTMLEditor Testing Mode</strong>
116
155
  <span style={{ marginLeft: '20px', color: '#666' }}>
117
- Variant:
118
- {' '}
119
- {variant}
120
- {' '}
121
- | Layout:
122
- {' '}
123
- {layoutType}
156
+ Variant: {variant} | Layout: {layoutType}
124
157
  </span>
125
158
  </div>
126
159
  <button
@@ -131,7 +164,7 @@ const HTMLEditorTesting = () => {
131
164
  border: 'none',
132
165
  padding: '5px 15px',
133
166
  borderRadius: '4px',
134
- cursor: 'pointer',
167
+ cursor: 'pointer'
135
168
  }}
136
169
  >
137
170
  Close
@@ -139,13 +172,12 @@ const HTMLEditorTesting = () => {
139
172
  </div>
140
173
 
141
174
  {/* Editor Container */}
142
- <div
143
- style={{
144
- flex: 1,
145
- backgroundColor: '#fff',
146
- borderRadius: '0 0 8px 8px',
147
- overflow: 'hidden',
148
- }}>
175
+ <div style={{
176
+ flex: 1,
177
+ backgroundColor: '#fff',
178
+ borderRadius: '0 0 8px 8px',
179
+ overflow: 'hidden'
180
+ }}>
149
181
  <IntlProvider locale="en" messages={{}}>
150
182
  <HTMLEditor
151
183
  variant={variant}
@@ -153,8 +185,10 @@ const HTMLEditorTesting = () => {
153
185
  initialContent={content}
154
186
  onContentChange={(newContent) => {
155
187
  setContent(newContent);
188
+ console.log('📝 Content changed:', newContent.substring(0, 100) + '...');
156
189
  }}
157
- onSave={() => {
190
+ onSave={(savedContent) => {
191
+ console.log('💾 Content saved:', savedContent);
158
192
  }}
159
193
  />
160
194
  </IntlProvider>
@@ -47,8 +47,8 @@ describe('HTMLEditorTesting', () => {
47
47
  beforeEach(() => {
48
48
  // Mock console methods
49
49
  consoleSpy = {
50
- log: jest.spyOn(console, 'log').mockImplementation(() => { }),
51
- error: jest.spyOn(console, 'error').mockImplementation(() => { })
50
+ log: jest.spyOn(console, 'log').mockImplementation(() => {}),
51
+ error: jest.spyOn(console, 'error').mockImplementation(() => {})
52
52
  };
53
53
 
54
54
  // Clear any existing window.htmlEditorTest
@@ -88,6 +88,14 @@ describe('HTMLEditorTesting', () => {
88
88
  expect(typeof window.htmlEditorTest.status).toBe('function');
89
89
  expect(typeof window.htmlEditorTest.help).toBe('function');
90
90
  });
91
+
92
+ it('logs help message on initial load', () => {
93
+ render(<HTMLEditorTesting />);
94
+
95
+ expect(consoleSpy.log).toHaveBeenCalledWith(
96
+ '🚀 HTMLEditor Testing Ready! Type htmlEditorTest.help() for commands'
97
+ );
98
+ });
91
99
  });
92
100
 
93
101
  describe('Visibility Control', () => {
@@ -99,6 +107,7 @@ describe('HTMLEditorTesting', () => {
99
107
  });
100
108
 
101
109
  expect(screen.getByTestId('mock-html-editor')).toBeInTheDocument();
110
+ expect(consoleSpy.log).toHaveBeenCalledWith('✅ HTMLEditor test mode activated');
102
111
  });
103
112
 
104
113
  it('hides editor when hide() is called', () => {
@@ -115,6 +124,7 @@ describe('HTMLEditorTesting', () => {
115
124
  window.htmlEditorTest.hide();
116
125
  });
117
126
  expect(screen.queryByTestId('mock-html-editor')).not.toBeInTheDocument();
127
+ expect(consoleSpy.log).toHaveBeenCalledWith('✅ HTMLEditor test mode deactivated');
118
128
  });
119
129
 
120
130
  it('toggles editor visibility with toggle()', () => {
@@ -125,11 +135,14 @@ describe('HTMLEditorTesting', () => {
125
135
  window.htmlEditorTest.toggle();
126
136
  });
127
137
  expect(screen.getByTestId('mock-html-editor')).toBeInTheDocument();
138
+ expect(consoleSpy.log).toHaveBeenCalledWith('✅ HTMLEditor test mode activated');
139
+
128
140
  // Toggle to hide
129
141
  act(() => {
130
142
  window.htmlEditorTest.toggle();
131
143
  });
132
144
  expect(screen.queryByTestId('mock-html-editor')).not.toBeInTheDocument();
145
+ expect(consoleSpy.log).toHaveBeenCalledWith('✅ HTMLEditor test mode deactivated');
133
146
  });
134
147
 
135
148
  it('closes editor when close button is clicked', () => {
@@ -156,6 +169,7 @@ describe('HTMLEditorTesting', () => {
156
169
  });
157
170
 
158
171
  expect(screen.getByTestId('editor-variant')).toHaveTextContent('email');
172
+ expect(consoleSpy.log).toHaveBeenCalledWith('✅ Variant set to: email');
159
173
  });
160
174
 
161
175
  it('sets variant to inapp', () => {
@@ -167,6 +181,7 @@ describe('HTMLEditorTesting', () => {
167
181
  });
168
182
 
169
183
  expect(screen.getByTestId('editor-variant')).toHaveTextContent('inapp');
184
+ expect(consoleSpy.log).toHaveBeenCalledWith('✅ Variant set to: inapp');
170
185
  });
171
186
 
172
187
  it('rejects invalid variant', () => {
@@ -200,6 +215,7 @@ describe('HTMLEditorTesting', () => {
200
215
  });
201
216
 
202
217
  expect(screen.getByTestId('editor-layout')).toHaveTextContent(LAYOUT_TYPES.MODAL);
218
+ expect(consoleSpy.log).toHaveBeenCalledWith(`✅ Layout set to: ${LAYOUT_TYPES.MODAL}`);
203
219
  });
204
220
 
205
221
  it('sets layout to HEADER', () => {
@@ -211,6 +227,7 @@ describe('HTMLEditorTesting', () => {
211
227
  });
212
228
 
213
229
  expect(screen.getByTestId('editor-layout')).toHaveTextContent(LAYOUT_TYPES.HEADER);
230
+ expect(consoleSpy.log).toHaveBeenCalledWith(`✅ Layout set to: ${LAYOUT_TYPES.HEADER}`);
214
231
  });
215
232
 
216
233
  it('sets layout to FOOTER', () => {
@@ -222,6 +239,7 @@ describe('HTMLEditorTesting', () => {
222
239
  });
223
240
 
224
241
  expect(screen.getByTestId('editor-layout')).toHaveTextContent(LAYOUT_TYPES.FOOTER);
242
+ expect(consoleSpy.log).toHaveBeenCalledWith(`✅ Layout set to: ${LAYOUT_TYPES.FOOTER}`);
225
243
  });
226
244
 
227
245
  it('sets layout to FULLSCREEN', () => {
@@ -233,6 +251,7 @@ describe('HTMLEditorTesting', () => {
233
251
  });
234
252
 
235
253
  expect(screen.getByTestId('editor-layout')).toHaveTextContent(LAYOUT_TYPES.FULLSCREEN);
254
+ expect(consoleSpy.log).toHaveBeenCalledWith(`✅ Layout set to: ${LAYOUT_TYPES.FULLSCREEN}`);
236
255
  });
237
256
 
238
257
  it('rejects invalid layout', () => {
@@ -270,6 +289,7 @@ describe('HTMLEditorTesting', () => {
270
289
  });
271
290
 
272
291
  expect(screen.getByTestId('editor-content')).toHaveTextContent(newContent);
292
+ expect(consoleSpy.log).toHaveBeenCalledWith('✅ Content updated');
273
293
  });
274
294
 
275
295
  it('gets current content', () => {
@@ -278,6 +298,7 @@ describe('HTMLEditorTesting', () => {
278
298
  const result = window.htmlEditorTest.getContent();
279
299
 
280
300
  expect(result).toBe('<h1>Test HTML Editor</h1><p>This is a test integration.</p>');
301
+ expect(consoleSpy.log).toHaveBeenCalledWith('Current content:', result);
281
302
  });
282
303
 
283
304
  it('starts with default content', () => {
@@ -301,6 +322,8 @@ describe('HTMLEditorTesting', () => {
301
322
 
302
323
  const changeButton = screen.getByTestId('trigger-content-change');
303
324
  fireEvent.click(changeButton);
325
+
326
+ expect(consoleSpy.log).toHaveBeenCalledWith('📝 Content changed:', '<p>Changed content</p>...');
304
327
  });
305
328
 
306
329
  it('handles save callback', () => {
@@ -312,6 +335,46 @@ describe('HTMLEditorTesting', () => {
312
335
 
313
336
  const saveButton = screen.getByTestId('trigger-save');
314
337
  fireEvent.click(saveButton);
338
+
339
+ expect(consoleSpy.log).toHaveBeenCalledWith('💾 Content saved:', '<p>Saved content</p>');
340
+ });
341
+ });
342
+
343
+ describe('Status and Help', () => {
344
+ it('shows status information', () => {
345
+ render(<HTMLEditorTesting />);
346
+
347
+ act(() => {
348
+ window.htmlEditorTest.show();
349
+ window.htmlEditorTest.setVariant('inapp');
350
+ window.htmlEditorTest.setLayout(LAYOUT_TYPES.HEADER);
351
+ });
352
+
353
+ // Clear previous console calls
354
+ consoleSpy.log.mockClear();
355
+
356
+ act(() => {
357
+ window.htmlEditorTest.status();
358
+ });
359
+
360
+ expect(consoleSpy.log).toHaveBeenCalledWith('📊 HTMLEditor Test Status:');
361
+ expect(consoleSpy.log).toHaveBeenCalledWith(' Visible: true');
362
+ expect(consoleSpy.log).toHaveBeenCalledWith(' Variant: inapp');
363
+ expect(consoleSpy.log).toHaveBeenCalledWith(' Layout: HEADER');
364
+ expect(consoleSpy.log).toHaveBeenCalledWith(' Content size: 59 chars');
365
+ });
366
+
367
+ it('shows help information', () => {
368
+ render(<HTMLEditorTesting />);
369
+
370
+ act(() => {
371
+ window.htmlEditorTest.help();
372
+ });
373
+
374
+ expect(consoleSpy.log).toHaveBeenCalledWith(expect.stringContaining('🚀 HTMLEditor Testing Console Commands:'));
375
+ expect(consoleSpy.log).toHaveBeenCalledWith(expect.stringContaining('htmlEditorTest.show()'));
376
+ expect(consoleSpy.log).toHaveBeenCalledWith(expect.stringContaining('htmlEditorTest.setVariant(\'email\')'));
377
+ expect(consoleSpy.log).toHaveBeenCalledWith(expect.stringContaining('htmlEditorTest.setLayout(\'POPUP\')'));
315
378
  });
316
379
  });
317
380
 
@@ -407,6 +470,8 @@ describe('HTMLEditorTesting', () => {
407
470
  act(() => {
408
471
  window.htmlEditorTest.status();
409
472
  });
473
+
474
+ expect(consoleSpy.log).toHaveBeenCalledWith(` Content size: ${customContent.length} chars`);
410
475
  });
411
476
 
412
477
  it('handles multiple rapid operations', () => {
@@ -8,8 +8,6 @@ export const DEFAULT_ACTION = "app/EmailWrapper/DEFAULT_ACTION";
8
8
  export const EMAIL_CREATE_MODES = {
9
9
  UPLOAD: "upload",
10
10
  EDITOR: "editor",
11
- HTML_EDITOR: "html_editor",
12
- DRAG_DROP: "drag_drop",
13
11
  };
14
12
 
15
13
  export const STEPS = {