@capillarytech/creatives-library 8.0.242-alpha.10 → 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.
- package/assets/Android.png +0 -0
- package/assets/iOS.png +0 -0
- package/config/app.js +1 -1
- package/constants/unified.js +2 -2
- package/initialReducer.js +0 -2
- package/package.json +1 -1
- package/services/api.js +5 -10
- package/services/tests/api.test.js +0 -18
- package/translations/en.json +4 -3
- package/utils/common.js +6 -5
- package/utils/commonUtils.js +1 -14
- package/utils/imageUrlUpload.js +141 -0
- package/utils/tests/commonUtil.test.js +0 -224
- package/utils/transformTemplateConfig.js +10 -0
- package/v2Components/CapDeviceContent/index.js +56 -61
- package/v2Components/CapImageUpload/constants.js +2 -0
- package/v2Components/CapImageUpload/index.js +65 -16
- package/v2Components/CapImageUpload/index.scss +4 -1
- package/v2Components/CapImageUpload/messages.js +5 -1
- package/v2Components/CapImageUrlUpload/constants.js +26 -0
- package/v2Components/CapImageUrlUpload/index.js +365 -0
- package/v2Components/CapImageUrlUpload/index.scss +35 -0
- package/v2Components/CapImageUrlUpload/messages.js +47 -0
- package/v2Components/CapTagList/index.js +1 -6
- package/v2Components/CapTagListWithInput/index.js +1 -5
- package/v2Components/CapTagListWithInput/messages.js +1 -1
- package/v2Components/CapWhatsappCTA/tests/index.test.js +0 -5
- package/v2Components/ErrorInfoNote/index.js +72 -412
- package/v2Components/ErrorInfoNote/messages.js +0 -22
- package/v2Components/ErrorInfoNote/style.scss +2 -279
- package/v2Components/HtmlEditor/HTMLEditor.js +91 -220
- package/v2Components/HtmlEditor/__tests__/HTMLEditor.test.js +133 -1132
- package/v2Components/HtmlEditor/__tests__/index.lazy.test.js +12 -17
- package/v2Components/HtmlEditor/_htmlEditor.scss +45 -107
- package/v2Components/HtmlEditor/_index.lazy.scss +1 -1
- package/v2Components/HtmlEditor/components/CodeEditorPane/_codeEditorPane.scss +101 -13
- package/v2Components/HtmlEditor/components/CodeEditorPane/index.js +139 -148
- package/v2Components/HtmlEditor/components/DeviceToggle/_deviceToggle.scss +1 -2
- package/v2Components/HtmlEditor/components/DeviceToggle/index.js +3 -3
- package/v2Components/HtmlEditor/components/EditorToolbar/_editorToolbar.scss +0 -9
- package/v2Components/HtmlEditor/components/EditorToolbar/index.js +1 -1
- package/v2Components/HtmlEditor/components/FullscreenModal/_fullscreenModal.scss +0 -22
- package/v2Components/HtmlEditor/components/InAppPreviewPane/DeviceFrame.js +7 -4
- package/v2Components/HtmlEditor/components/InAppPreviewPane/__tests__/DeviceFrame.test.js +45 -35
- package/v2Components/HtmlEditor/components/InAppPreviewPane/_inAppPreviewPane.scss +3 -1
- package/v2Components/HtmlEditor/components/InAppPreviewPane/constants.js +33 -33
- package/v2Components/HtmlEditor/components/InAppPreviewPane/index.js +6 -7
- package/v2Components/HtmlEditor/components/PreviewPane/_previewPane.scss +6 -3
- package/v2Components/HtmlEditor/components/PreviewPane/index.js +11 -10
- package/v2Components/HtmlEditor/components/SplitContainer/_splitContainer.scss +1 -1
- package/v2Components/HtmlEditor/components/ValidationErrorDisplay/__tests__/index.test.js +72 -70
- package/v2Components/HtmlEditor/components/ValidationErrorDisplay/index.js +31 -49
- package/v2Components/HtmlEditor/constants.js +20 -29
- package/v2Components/HtmlEditor/hooks/__tests__/useInAppContent.test.js +16 -373
- package/v2Components/HtmlEditor/hooks/useEditorContent.js +2 -5
- package/v2Components/HtmlEditor/hooks/useInAppContent.js +146 -88
- package/v2Components/HtmlEditor/index.js +1 -1
- package/v2Components/HtmlEditor/messages.js +85 -95
- package/v2Components/HtmlEditor/utils/liquidTemplateSupport.js +101 -99
- package/v2Components/HtmlEditor/utils/properSyntaxHighlighting.js +25 -23
- package/v2Components/HtmlEditor/utils/validationAdapter.js +41 -34
- package/v2Components/MobilePushPreviewV2/index.js +7 -32
- package/v2Components/TemplatePreview/_templatePreview.scss +24 -44
- package/v2Components/TemplatePreview/index.js +32 -47
- package/v2Components/TemplatePreview/messages.js +0 -4
- package/v2Components/TestAndPreviewSlidebox/index.js +25 -31
- package/v2Containers/App/constants.js +5 -0
- package/v2Containers/BeeEditor/index.js +80 -82
- package/v2Containers/Cap/tests/__snapshots__/index.test.js.snap +4 -3
- package/v2Containers/CreativesContainer/SlideBoxContent.js +118 -148
- package/v2Containers/CreativesContainer/SlideBoxFooter.js +3 -9
- package/v2Containers/CreativesContainer/SlideBoxHeader.js +2 -2
- package/v2Containers/CreativesContainer/constants.js +2 -1
- package/v2Containers/CreativesContainer/index.js +41 -173
- package/v2Containers/CreativesContainer/messages.js +4 -4
- package/v2Containers/CreativesContainer/tests/SlideBoxContent.test.js +210 -0
- package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +354 -38
- package/v2Containers/CreativesContainer/tests/__snapshots__/index.test.js.snap +0 -36
- package/v2Containers/Email/actions.js +0 -7
- package/v2Containers/Email/constants.js +1 -5
- package/v2Containers/Email/index.js +0 -13
- package/v2Containers/Email/messages.js +0 -32
- package/v2Containers/Email/reducer.js +1 -12
- package/v2Containers/Email/sagas.js +6 -41
- package/v2Containers/Email/tests/__snapshots__/reducer.test.js.snap +0 -2
- package/v2Containers/EmailWrapper/components/EmailWrapperView.js +7 -193
- package/v2Containers/EmailWrapper/components/HTMLEditorTesting.js +74 -40
- package/v2Containers/EmailWrapper/components/__tests__/HTMLEditorTesting.test.js +67 -2
- package/v2Containers/EmailWrapper/constants.js +0 -2
- package/v2Containers/EmailWrapper/hooks/useEmailWrapper.js +67 -436
- package/v2Containers/EmailWrapper/index.js +23 -99
- package/v2Containers/EmailWrapper/messages.js +1 -61
- package/v2Containers/EmailWrapper/tests/EmailWrapperView.test.js +214 -0
- package/v2Containers/EmailWrapper/tests/useEmailWrapper.test.js +77 -111
- package/v2Containers/InApp/actions.js +0 -7
- package/v2Containers/InApp/constants.js +4 -20
- package/v2Containers/InApp/index.js +357 -801
- package/v2Containers/InApp/index.scss +3 -4
- package/v2Containers/InApp/messages.js +3 -7
- package/v2Containers/InApp/reducer.js +3 -21
- package/v2Containers/InApp/sagas.js +9 -29
- package/v2Containers/InApp/selectors.js +5 -25
- package/v2Containers/InApp/tests/index.test.js +50 -154
- package/v2Containers/InApp/tests/reducer.test.js +0 -34
- package/v2Containers/InApp/tests/sagas.test.js +9 -61
- package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/content.test.js.snap +12 -12
- package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/index.test.js.snap +8 -8
- package/v2Containers/Line/Container/Wrapper/tests/__snapshots__/index.test.js.snap +100 -77
- package/v2Containers/Line/Container/tests/__snapshots__/index.test.js.snap +72 -63
- package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +184 -150
- package/v2Containers/SmsTrai/Create/tests/__snapshots__/index.test.js.snap +16 -12
- package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +32 -28
- package/v2Containers/TagList/index.js +1 -67
- package/v2Containers/Templates/ChannelTypeIllustration.js +13 -1
- package/v2Containers/Templates/_templates.scss +202 -56
- package/v2Containers/Templates/actions.js +2 -1
- package/v2Containers/Templates/constants.js +1 -0
- package/v2Containers/Templates/index.js +278 -128
- package/v2Containers/Templates/messages.js +24 -4
- package/v2Containers/Templates/reducer.js +2 -0
- package/v2Containers/Templates/tests/index.test.js +10 -0
- package/v2Containers/TemplatesV2/index.js +8 -1
- package/v2Containers/TemplatesV2/messages.js +4 -0
- package/v2Containers/WebPush/Create/components/BrandIconSection.js +108 -0
- package/v2Containers/WebPush/Create/components/ButtonForm.js +172 -0
- package/v2Containers/WebPush/Create/components/ButtonItem.js +101 -0
- package/v2Containers/WebPush/Create/components/ButtonList.js +145 -0
- package/v2Containers/WebPush/Create/components/ButtonsLinksSection.js +164 -0
- package/v2Containers/WebPush/Create/components/ButtonsLinksSection.test.js +463 -0
- package/v2Containers/WebPush/Create/components/FormActions.js +54 -0
- package/v2Containers/WebPush/Create/components/FormActions.test.js +163 -0
- package/v2Containers/WebPush/Create/components/MediaSection.js +142 -0
- package/v2Containers/WebPush/Create/components/MediaSection.test.js +341 -0
- package/v2Containers/WebPush/Create/components/MessageSection.js +103 -0
- package/v2Containers/WebPush/Create/components/MessageSection.test.js +268 -0
- package/v2Containers/WebPush/Create/components/NotificationTitleSection.js +87 -0
- package/v2Containers/WebPush/Create/components/NotificationTitleSection.test.js +210 -0
- package/v2Containers/WebPush/Create/components/TemplateNameSection.js +54 -0
- package/v2Containers/WebPush/Create/components/TemplateNameSection.test.js +143 -0
- package/v2Containers/WebPush/Create/components/__snapshots__/ButtonsLinksSection.test.js.snap +86 -0
- package/v2Containers/WebPush/Create/components/__snapshots__/FormActions.test.js.snap +16 -0
- package/v2Containers/WebPush/Create/components/__snapshots__/MediaSection.test.js.snap +41 -0
- package/v2Containers/WebPush/Create/components/__snapshots__/MessageSection.test.js.snap +54 -0
- package/v2Containers/WebPush/Create/components/__snapshots__/NotificationTitleSection.test.js.snap +37 -0
- package/v2Containers/WebPush/Create/components/__snapshots__/TemplateNameSection.test.js.snap +21 -0
- package/v2Containers/WebPush/Create/components/_buttons.scss +246 -0
- package/v2Containers/WebPush/Create/components/tests/ButtonForm.test.js +554 -0
- package/v2Containers/WebPush/Create/components/tests/ButtonItem.test.js +607 -0
- package/v2Containers/WebPush/Create/components/tests/ButtonList.test.js +633 -0
- package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonForm.test.js.snap +666 -0
- package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonItem.test.js.snap +74 -0
- package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonList.test.js.snap +78 -0
- package/v2Containers/WebPush/Create/hooks/useButtonManagement.js +138 -0
- package/v2Containers/WebPush/Create/hooks/useButtonManagement.test.js +406 -0
- package/v2Containers/WebPush/Create/hooks/useCharacterCount.js +30 -0
- package/v2Containers/WebPush/Create/hooks/useCharacterCount.test.js +151 -0
- package/v2Containers/WebPush/Create/hooks/useImageUpload.js +104 -0
- package/v2Containers/WebPush/Create/hooks/useImageUpload.test.js +538 -0
- package/v2Containers/WebPush/Create/hooks/useTagManagement.js +122 -0
- package/v2Containers/WebPush/Create/hooks/useTagManagement.test.js +633 -0
- package/v2Containers/WebPush/Create/index.js +1056 -0
- package/v2Containers/WebPush/Create/index.scss +134 -0
- package/v2Containers/WebPush/Create/messages.js +203 -0
- package/v2Containers/WebPush/Create/preview/DevicePreviewContent.js +228 -0
- package/v2Containers/WebPush/Create/preview/NotificationContainer.js +294 -0
- package/v2Containers/WebPush/Create/preview/PreviewContent.js +90 -0
- package/v2Containers/WebPush/Create/preview/PreviewControls.js +305 -0
- package/v2Containers/WebPush/Create/preview/PreviewDisclaimer.js +23 -0
- package/v2Containers/WebPush/Create/preview/WebPushPreview.js +150 -0
- package/v2Containers/WebPush/Create/preview/assets/Light.svg +53 -0
- package/v2Containers/WebPush/Create/preview/assets/Top.svg +5 -0
- package/v2Containers/WebPush/Create/preview/assets/android-arrow-down.svg +9 -0
- package/v2Containers/WebPush/Create/preview/assets/android-arrow-up.svg +9 -0
- package/v2Containers/WebPush/Create/preview/assets/chrome-icon.png +0 -0
- package/v2Containers/WebPush/Create/preview/assets/edge-icon.png +0 -0
- package/v2Containers/WebPush/Create/preview/assets/firefox-icon.svg +106 -0
- package/v2Containers/WebPush/Create/preview/assets/iOS.svg +26 -0
- package/v2Containers/WebPush/Create/preview/assets/macos-arrow-down-icon.svg +9 -0
- package/v2Containers/WebPush/Create/preview/assets/macos-triple-dot-icon.svg +9 -0
- package/v2Containers/WebPush/Create/preview/assets/opera-icon.svg +18 -0
- package/v2Containers/WebPush/Create/preview/assets/safari-icon.svg +29 -0
- package/v2Containers/WebPush/Create/preview/assets/windows-close-icon.svg +9 -0
- package/v2Containers/WebPush/Create/preview/assets/windows-triple-dot-icon.svg +9 -0
- package/v2Containers/WebPush/Create/preview/components/AndroidMobileChromeHeader.js +47 -0
- package/v2Containers/WebPush/Create/preview/components/AndroidMobileExpanded.js +141 -0
- package/v2Containers/WebPush/Create/preview/components/IOSHeader.js +45 -0
- package/v2Containers/WebPush/Create/preview/components/NotificationExpandedContent.js +68 -0
- package/v2Containers/WebPush/Create/preview/components/NotificationHeader.js +61 -0
- package/v2Containers/WebPush/Create/preview/components/WindowsChromeExpanded.js +99 -0
- package/v2Containers/WebPush/Create/preview/components/tests/AndroidMobileExpanded.test.js +733 -0
- package/v2Containers/WebPush/Create/preview/components/tests/WindowsChromeExpanded.test.js +571 -0
- package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/AndroidMobileExpanded.test.js.snap +81 -0
- package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/WindowsChromeExpanded.test.js.snap +81 -0
- package/v2Containers/WebPush/Create/preview/config/notificationMappings.js +50 -0
- package/v2Containers/WebPush/Create/preview/constants.js +637 -0
- package/v2Containers/WebPush/Create/preview/notification-container.scss +79 -0
- package/v2Containers/WebPush/Create/preview/preview.scss +351 -0
- package/v2Containers/WebPush/Create/preview/styles/_android-mobile-chrome.scss +370 -0
- package/v2Containers/WebPush/Create/preview/styles/_android-mobile-edge.scss +12 -0
- package/v2Containers/WebPush/Create/preview/styles/_android-mobile-firefox.scss +12 -0
- package/v2Containers/WebPush/Create/preview/styles/_android-mobile-opera.scss +12 -0
- package/v2Containers/WebPush/Create/preview/styles/_android-tablet-chrome.scss +47 -0
- package/v2Containers/WebPush/Create/preview/styles/_android-tablet-edge.scss +11 -0
- package/v2Containers/WebPush/Create/preview/styles/_android-tablet-firefox.scss +11 -0
- package/v2Containers/WebPush/Create/preview/styles/_android-tablet-opera.scss +11 -0
- package/v2Containers/WebPush/Create/preview/styles/_base.scss +207 -0
- package/v2Containers/WebPush/Create/preview/styles/_ios.scss +153 -0
- package/v2Containers/WebPush/Create/preview/styles/_ipados.scss +107 -0
- package/v2Containers/WebPush/Create/preview/styles/_macos-chrome.scss +101 -0
- package/v2Containers/WebPush/Create/preview/styles/_windows-chrome.scss +229 -0
- package/v2Containers/WebPush/Create/preview/tests/DevicePreviewContent.test.js +909 -0
- package/v2Containers/WebPush/Create/preview/tests/NotificationContainer.test.js +1081 -0
- package/v2Containers/WebPush/Create/preview/tests/PreviewControls.test.js +723 -0
- package/v2Containers/WebPush/Create/preview/tests/WebPushPreview.test.js +943 -0
- package/v2Containers/WebPush/Create/preview/tests/__snapshots__/DevicePreviewContent.test.js.snap +131 -0
- package/v2Containers/WebPush/Create/preview/tests/__snapshots__/NotificationContainer.test.js.snap +112 -0
- package/v2Containers/WebPush/Create/preview/tests/__snapshots__/PreviewControls.test.js.snap +144 -0
- package/v2Containers/WebPush/Create/preview/tests/__snapshots__/WebPushPreview.test.js.snap +129 -0
- package/v2Containers/WebPush/Create/utils/payloadBuilder.js +94 -0
- package/v2Containers/WebPush/Create/utils/payloadBuilder.test.js +390 -0
- package/v2Containers/WebPush/Create/utils/previewUtils.js +89 -0
- package/v2Containers/WebPush/Create/utils/urlValidation.js +115 -0
- package/v2Containers/WebPush/Create/utils/urlValidation.test.js +449 -0
- package/v2Containers/WebPush/Create/utils/validation.js +75 -0
- package/v2Containers/WebPush/Create/utils/validation.test.js +283 -0
- package/v2Containers/WebPush/actions.js +60 -0
- package/v2Containers/WebPush/constants.js +128 -0
- package/v2Containers/WebPush/index.js +2 -0
- package/v2Containers/WebPush/reducer.js +104 -0
- package/v2Containers/WebPush/sagas.js +119 -0
- package/v2Containers/WebPush/selectors.js +65 -0
- package/v2Containers/WebPush/tests/reducer.test.js +863 -0
- package/v2Containers/WebPush/tests/sagas.test.js +566 -0
- package/v2Containers/WebPush/tests/selectors.test.js +843 -0
- package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +528 -431
- package/v2Components/HtmlEditor/components/ValidationTabs/_validationTabs.scss +0 -254
- package/v2Components/HtmlEditor/components/ValidationTabs/index.js +0 -362
- package/v2Components/HtmlEditor/components/ValidationTabs/messages.js +0 -51
- package/v2Containers/BeePopupEditor/constants.js +0 -10
- package/v2Containers/BeePopupEditor/index.js +0 -193
- package/v2Containers/BeePopupEditor/tests/index.test.js +0 -627
- package/v2Containers/EmailWrapper/components/EmailHTMLEditor.js +0 -1046
- package/v2Containers/InApp/__tests__/InAppHTMLEditor.test.js +0 -376
- package/v2Containers/InApp/__tests__/sagas.test.js +0 -363
- package/v2Containers/InApp/tests/selectors.test.js +0 -612
- package/v2Containers/InAppWrapper/components/InAppWrapperView.js +0 -162
- package/v2Containers/InAppWrapper/components/__tests__/InAppWrapperView.test.js +0 -267
- package/v2Containers/InAppWrapper/components/inAppWrapperView.scss +0 -9
- package/v2Containers/InAppWrapper/constants.js +0 -16
- package/v2Containers/InAppWrapper/hooks/__tests__/useInAppWrapper.test.js +0 -473
- package/v2Containers/InAppWrapper/hooks/useInAppWrapper.js +0 -198
- package/v2Containers/InAppWrapper/index.js +0 -148
- package/v2Containers/InAppWrapper/messages.js +0 -49
- package/v2Containers/InappAdvance/index.js +0 -1099
- package/v2Containers/InappAdvance/index.scss +0 -10
- 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(
|
|
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
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
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
|
-
|
|
101
|
-
|
|
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
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
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', () => {
|