@capillarytech/creatives-library 8.0.250-alpha.2 → 8.0.251
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/constants/unified.js +1 -3
- package/initialReducer.js +0 -2
- package/package.json +1 -1
- package/services/api.js +0 -15
- package/services/tests/api.test.js +0 -34
- package/translations/en.json +3 -4
- package/utils/common.js +0 -11
- package/utils/commonUtils.js +5 -28
- package/utils/tests/commonUtil.test.js +0 -224
- package/utils/tests/transformerUtils.test.js +0 -297
- package/utils/transformTemplateConfig.js +10 -0
- package/utils/transformerUtils.js +0 -40
- package/v2Components/CapDeviceContent/index.js +56 -61
- package/v2Components/CapImageUpload/constants.js +0 -2
- package/v2Components/CapImageUpload/index.js +16 -65
- package/v2Components/CapImageUpload/index.scss +1 -4
- package/v2Components/CapImageUpload/messages.js +1 -5
- 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 -455
- package/v2Components/ErrorInfoNote/messages.js +6 -36
- package/v2Components/ErrorInfoNote/style.scss +4 -280
- package/v2Components/FormBuilder/tests/index.test.js +4 -13
- package/v2Components/HtmlEditor/HTMLEditor.js +94 -547
- package/v2Components/HtmlEditor/__tests__/HTMLEditor.test.js +133 -1358
- package/v2Components/HtmlEditor/__tests__/index.lazy.test.js +16 -27
- package/v2Components/HtmlEditor/_htmlEditor.scss +45 -108
- package/v2Components/HtmlEditor/_index.lazy.scss +1 -1
- package/v2Components/HtmlEditor/components/CodeEditorPane/_codeEditorPane.scss +101 -22
- package/v2Components/HtmlEditor/components/CodeEditorPane/index.js +140 -146
- 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 +34 -24
- package/v2Components/HtmlEditor/components/SplitContainer/_splitContainer.scss +1 -1
- package/v2Components/HtmlEditor/components/ValidationErrorDisplay/__tests__/index.test.js +152 -0
- package/v2Components/HtmlEditor/components/ValidationErrorDisplay/index.js +31 -49
- package/v2Components/HtmlEditor/components/ValidationPanel/_validationPanel.scss +34 -50
- package/v2Components/HtmlEditor/components/ValidationPanel/index.js +41 -70
- package/v2Components/HtmlEditor/constants.js +20 -42
- 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/hooks/useValidation.js +53 -189
- package/v2Components/HtmlEditor/index.js +1 -1
- package/v2Components/HtmlEditor/messages.js +85 -95
- package/v2Components/HtmlEditor/utils/__tests__/htmlValidator.enhanced.test.js +45 -94
- package/v2Components/HtmlEditor/utils/__tests__/validationAdapter.test.js +0 -134
- package/v2Components/HtmlEditor/utils/contentSanitizer.js +41 -40
- package/v2Components/HtmlEditor/utils/htmlValidator.js +72 -71
- package/v2Components/HtmlEditor/utils/liquidTemplateSupport.js +102 -134
- package/v2Components/HtmlEditor/utils/properSyntaxHighlighting.js +25 -23
- package/v2Components/HtmlEditor/utils/validationAdapter.js +41 -66
- package/v2Components/MobilePushPreviewV2/index.js +7 -32
- package/v2Components/TemplatePreview/_templatePreview.scss +24 -55
- package/v2Components/TemplatePreview/index.js +32 -47
- package/v2Components/TemplatePreview/messages.js +0 -4
- package/v2Components/TestAndPreviewSlidebox/_testAndPreviewSlidebox.scss +0 -1
- package/v2Containers/App/constants.js +0 -5
- package/v2Containers/BeeEditor/index.js +90 -172
- package/v2Containers/Cap/tests/__snapshots__/index.test.js.snap +3 -4
- package/v2Containers/CreativesContainer/SlideBoxContent.js +53 -184
- package/v2Containers/CreativesContainer/SlideBoxFooter.js +13 -163
- package/v2Containers/CreativesContainer/SlideBoxHeader.js +1 -3
- package/v2Containers/CreativesContainer/constants.js +0 -4
- package/v2Containers/CreativesContainer/index.js +46 -407
- package/v2Containers/CreativesContainer/messages.js +0 -12
- package/v2Containers/CreativesContainer/tests/SlideBoxContent.test.js +0 -210
- package/v2Containers/CreativesContainer/tests/SlideBoxFooter.test.js +2 -11
- package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +50 -342
- package/v2Containers/CreativesContainer/tests/__snapshots__/index.test.js.snap +0 -106
- package/v2Containers/Email/actions.js +0 -7
- package/v2Containers/Email/constants.js +1 -5
- package/v2Containers/Email/index.js +29 -234
- package/v2Containers/Email/messages.js +0 -32
- package/v2Containers/Email/reducer.js +1 -12
- package/v2Containers/Email/sagas.js +7 -61
- package/v2Containers/Email/tests/__snapshots__/reducer.test.js.snap +0 -2
- package/v2Containers/Email/tests/reducer.test.js +0 -46
- package/v2Containers/Email/tests/sagas.test.js +29 -320
- package/v2Containers/EmailWrapper/components/EmailWrapperView.js +19 -207
- 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 +77 -629
- package/v2Containers/EmailWrapper/index.js +23 -103
- package/v2Containers/EmailWrapper/messages.js +1 -61
- package/v2Containers/EmailWrapper/tests/EmailWrapperView.test.js +214 -0
- package/v2Containers/EmailWrapper/tests/useEmailWrapper.test.js +77 -594
- package/v2Containers/InApp/actions.js +0 -7
- package/v2Containers/InApp/constants.js +4 -20
- package/v2Containers/InApp/index.js +359 -802
- 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 +9 -15
- package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/index.test.js.snap +6 -10
- package/v2Containers/Line/Container/Wrapper/tests/__snapshots__/index.test.js.snap +75 -102
- package/v2Containers/Line/Container/tests/__snapshots__/index.test.js.snap +54 -81
- package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +174 -244
- package/v2Containers/SmsTrai/Create/tests/__snapshots__/index.test.js.snap +12 -16
- package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +36 -52
- package/v2Containers/TagList/index.js +19 -62
- package/v2Containers/Templates/ChannelTypeIllustration.js +1 -13
- package/v2Containers/Templates/_templates.scss +1 -265
- package/v2Containers/Templates/actions.js +1 -2
- package/v2Containers/Templates/constants.js +0 -1
- package/v2Containers/Templates/index.js +38 -363
- package/v2Containers/Templates/messages.js +0 -28
- package/v2Containers/Templates/reducer.js +0 -4
- package/v2Containers/Templates/tests/index.test.js +0 -10
- package/v2Containers/TemplatesV2/index.js +7 -15
- package/v2Containers/TemplatesV2/messages.js +0 -4
- package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +486 -682
- package/utils/imageUrlUpload.js +0 -141
- package/v2Components/CapImageUrlUpload/constants.js +0 -26
- package/v2Components/CapImageUrlUpload/index.js +0 -365
- package/v2Components/CapImageUrlUpload/index.scss +0 -35
- package/v2Components/CapImageUrlUpload/messages.js +0 -47
- package/v2Components/HtmlEditor/__tests__/HTMLEditor.apiErrors.test.js +0 -874
- package/v2Components/HtmlEditor/components/ValidationPanel/constants.js +0 -6
- package/v2Components/HtmlEditor/components/ValidationTabs/_validationTabs.scss +0 -254
- package/v2Components/HtmlEditor/components/ValidationTabs/index.js +0 -364
- package/v2Components/HtmlEditor/components/ValidationTabs/messages.js +0 -51
- package/v2Components/HtmlEditor/hooks/__tests__/useValidation.apiErrors.test.js +0 -795
- package/v2Components/HtmlEditor/utils/validationConstants.js +0 -40
- package/v2Containers/BeePopupEditor/_beePopupEditor.scss +0 -14
- package/v2Containers/BeePopupEditor/constants.js +0 -10
- package/v2Containers/BeePopupEditor/index.js +0 -194
- package/v2Containers/BeePopupEditor/tests/index.test.js +0 -627
- package/v2Containers/EmailWrapper/components/EmailHTMLEditor.js +0 -1285
- package/v2Containers/EmailWrapper/components/__tests__/EmailHTMLEditor.test.js +0 -1870
- package/v2Containers/EmailWrapper/components/__tests__/EmailWrapperView.test.js +0 -520
- package/v2Containers/EmailWrapper/tests/useEmailWrapper.edgeCases.test.js +0 -643
- 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 -151
- package/v2Containers/InAppWrapper/components/__tests__/InAppWrapperView.test.js +0 -267
- package/v2Containers/InAppWrapper/components/inAppWrapperView.scss +0 -23
- 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
- package/v2Containers/WebPush/Create/components/BrandIconSection.js +0 -108
- package/v2Containers/WebPush/Create/components/ButtonForm.js +0 -172
- package/v2Containers/WebPush/Create/components/ButtonItem.js +0 -101
- package/v2Containers/WebPush/Create/components/ButtonList.js +0 -107
- package/v2Containers/WebPush/Create/components/ButtonsLinksSection.js +0 -160
- package/v2Containers/WebPush/Create/components/ButtonsLinksSection.test.js +0 -476
- package/v2Containers/WebPush/Create/components/FormActions.js +0 -54
- package/v2Containers/WebPush/Create/components/FormActions.test.js +0 -163
- package/v2Containers/WebPush/Create/components/MediaSection.js +0 -143
- package/v2Containers/WebPush/Create/components/MediaSection.test.js +0 -341
- package/v2Containers/WebPush/Create/components/MessageSection.js +0 -103
- package/v2Containers/WebPush/Create/components/MessageSection.test.js +0 -268
- package/v2Containers/WebPush/Create/components/NotificationTitleSection.js +0 -87
- package/v2Containers/WebPush/Create/components/NotificationTitleSection.test.js +0 -210
- package/v2Containers/WebPush/Create/components/TemplateNameSection.js +0 -54
- package/v2Containers/WebPush/Create/components/TemplateNameSection.test.js +0 -143
- package/v2Containers/WebPush/Create/components/__snapshots__/ButtonsLinksSection.test.js.snap +0 -82
- package/v2Containers/WebPush/Create/components/__snapshots__/FormActions.test.js.snap +0 -16
- package/v2Containers/WebPush/Create/components/__snapshots__/MediaSection.test.js.snap +0 -41
- package/v2Containers/WebPush/Create/components/__snapshots__/MessageSection.test.js.snap +0 -54
- package/v2Containers/WebPush/Create/components/__snapshots__/NotificationTitleSection.test.js.snap +0 -37
- package/v2Containers/WebPush/Create/components/__snapshots__/TemplateNameSection.test.js.snap +0 -21
- package/v2Containers/WebPush/Create/components/_buttons.scss +0 -246
- package/v2Containers/WebPush/Create/components/tests/ButtonForm.test.js +0 -554
- package/v2Containers/WebPush/Create/components/tests/ButtonItem.test.js +0 -607
- package/v2Containers/WebPush/Create/components/tests/ButtonList.test.js +0 -515
- package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonForm.test.js.snap +0 -666
- package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonItem.test.js.snap +0 -74
- package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonList.test.js.snap +0 -46
- package/v2Containers/WebPush/Create/hooks/useButtonManagement.js +0 -150
- package/v2Containers/WebPush/Create/hooks/useButtonManagement.test.js +0 -406
- package/v2Containers/WebPush/Create/hooks/useCharacterCount.js +0 -30
- package/v2Containers/WebPush/Create/hooks/useCharacterCount.test.js +0 -151
- package/v2Containers/WebPush/Create/hooks/useImageUpload.js +0 -104
- package/v2Containers/WebPush/Create/hooks/useImageUpload.test.js +0 -538
- package/v2Containers/WebPush/Create/hooks/useTagManagement.js +0 -122
- package/v2Containers/WebPush/Create/hooks/useTagManagement.test.js +0 -633
- package/v2Containers/WebPush/Create/index.js +0 -1148
- package/v2Containers/WebPush/Create/index.scss +0 -134
- package/v2Containers/WebPush/Create/messages.js +0 -203
- package/v2Containers/WebPush/Create/preview/DevicePreviewContent.js +0 -228
- package/v2Containers/WebPush/Create/preview/NotificationContainer.js +0 -294
- package/v2Containers/WebPush/Create/preview/PreviewContent.js +0 -90
- package/v2Containers/WebPush/Create/preview/PreviewControls.js +0 -305
- package/v2Containers/WebPush/Create/preview/PreviewDisclaimer.js +0 -23
- package/v2Containers/WebPush/Create/preview/WebPushPreview.js +0 -155
- package/v2Containers/WebPush/Create/preview/assets/Light.svg +0 -53
- package/v2Containers/WebPush/Create/preview/assets/Top.svg +0 -5
- package/v2Containers/WebPush/Create/preview/assets/android-arrow-down.svg +0 -9
- package/v2Containers/WebPush/Create/preview/assets/android-arrow-up.svg +0 -9
- 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 +0 -106
- package/v2Containers/WebPush/Create/preview/assets/iOS.svg +0 -26
- package/v2Containers/WebPush/Create/preview/assets/macos-arrow-down-icon.svg +0 -9
- package/v2Containers/WebPush/Create/preview/assets/macos-triple-dot-icon.svg +0 -9
- package/v2Containers/WebPush/Create/preview/assets/opera-icon.svg +0 -18
- package/v2Containers/WebPush/Create/preview/assets/safari-icon.svg +0 -29
- package/v2Containers/WebPush/Create/preview/assets/windows-close-icon.svg +0 -9
- package/v2Containers/WebPush/Create/preview/assets/windows-triple-dot-icon.svg +0 -9
- package/v2Containers/WebPush/Create/preview/components/AndroidMobileChromeHeader.js +0 -47
- package/v2Containers/WebPush/Create/preview/components/AndroidMobileExpanded.js +0 -141
- package/v2Containers/WebPush/Create/preview/components/IOSHeader.js +0 -45
- package/v2Containers/WebPush/Create/preview/components/NotificationExpandedContent.js +0 -68
- package/v2Containers/WebPush/Create/preview/components/NotificationHeader.js +0 -61
- package/v2Containers/WebPush/Create/preview/components/WindowsChromeExpanded.js +0 -99
- package/v2Containers/WebPush/Create/preview/components/tests/AndroidMobileExpanded.test.js +0 -733
- package/v2Containers/WebPush/Create/preview/components/tests/WindowsChromeExpanded.test.js +0 -571
- package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/AndroidMobileExpanded.test.js.snap +0 -81
- package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/WindowsChromeExpanded.test.js.snap +0 -81
- package/v2Containers/WebPush/Create/preview/config/notificationMappings.js +0 -50
- package/v2Containers/WebPush/Create/preview/constants.js +0 -637
- package/v2Containers/WebPush/Create/preview/notification-container.scss +0 -79
- package/v2Containers/WebPush/Create/preview/preview.scss +0 -351
- package/v2Containers/WebPush/Create/preview/styles/_android-mobile-chrome.scss +0 -370
- package/v2Containers/WebPush/Create/preview/styles/_android-mobile-edge.scss +0 -12
- package/v2Containers/WebPush/Create/preview/styles/_android-mobile-firefox.scss +0 -12
- package/v2Containers/WebPush/Create/preview/styles/_android-mobile-opera.scss +0 -12
- package/v2Containers/WebPush/Create/preview/styles/_android-tablet-chrome.scss +0 -47
- package/v2Containers/WebPush/Create/preview/styles/_android-tablet-edge.scss +0 -11
- package/v2Containers/WebPush/Create/preview/styles/_android-tablet-firefox.scss +0 -11
- package/v2Containers/WebPush/Create/preview/styles/_android-tablet-opera.scss +0 -11
- package/v2Containers/WebPush/Create/preview/styles/_base.scss +0 -207
- package/v2Containers/WebPush/Create/preview/styles/_ios.scss +0 -153
- package/v2Containers/WebPush/Create/preview/styles/_ipados.scss +0 -107
- package/v2Containers/WebPush/Create/preview/styles/_macos-chrome.scss +0 -101
- package/v2Containers/WebPush/Create/preview/styles/_windows-chrome.scss +0 -229
- package/v2Containers/WebPush/Create/preview/tests/DevicePreviewContent.test.js +0 -909
- package/v2Containers/WebPush/Create/preview/tests/NotificationContainer.test.js +0 -1081
- package/v2Containers/WebPush/Create/preview/tests/PreviewControls.test.js +0 -723
- package/v2Containers/WebPush/Create/preview/tests/WebPushPreview.test.js +0 -1327
- package/v2Containers/WebPush/Create/preview/tests/__snapshots__/DevicePreviewContent.test.js.snap +0 -131
- package/v2Containers/WebPush/Create/preview/tests/__snapshots__/NotificationContainer.test.js.snap +0 -112
- package/v2Containers/WebPush/Create/preview/tests/__snapshots__/PreviewControls.test.js.snap +0 -144
- package/v2Containers/WebPush/Create/preview/tests/__snapshots__/WebPushPreview.test.js.snap +0 -129
- package/v2Containers/WebPush/Create/utils/payloadBuilder.js +0 -96
- package/v2Containers/WebPush/Create/utils/payloadBuilder.test.js +0 -396
- package/v2Containers/WebPush/Create/utils/previewUtils.js +0 -89
- package/v2Containers/WebPush/Create/utils/urlValidation.js +0 -115
- package/v2Containers/WebPush/Create/utils/urlValidation.test.js +0 -449
- package/v2Containers/WebPush/Create/utils/validation.js +0 -75
- package/v2Containers/WebPush/Create/utils/validation.test.js +0 -283
- package/v2Containers/WebPush/actions.js +0 -60
- package/v2Containers/WebPush/constants.js +0 -132
- package/v2Containers/WebPush/index.js +0 -2
- package/v2Containers/WebPush/reducer.js +0 -104
- package/v2Containers/WebPush/sagas.js +0 -119
- package/v2Containers/WebPush/selectors.js +0 -65
- package/v2Containers/WebPush/tests/reducer.test.js +0 -863
- package/v2Containers/WebPush/tests/sagas.test.js +0 -566
- package/v2Containers/WebPush/tests/selectors.test.js +0 -960
package/assets/Android.png
CHANGED
|
Binary file
|
package/assets/iOS.png
CHANGED
|
Binary file
|
package/constants/unified.js
CHANGED
|
@@ -45,14 +45,12 @@ export const GIFT_CARDS = 'GIFT_CARDS';
|
|
|
45
45
|
export const PROMO_ENGINE = 'PROMO_ENGINE';
|
|
46
46
|
export const LIQUID_SUPPORT = 'ENABLE_LIQUID_SUPPORT';
|
|
47
47
|
export const ENABLE_NEW_MPUSH = 'ENABLE_NEW_MPUSH';
|
|
48
|
-
export const SUPPORT_CK_EDITOR = 'SUPPORT_CK_EDITOR';
|
|
49
48
|
export const CUSTOM_TAG = 'CustomTagMessage';
|
|
50
49
|
export const CUSTOMER_EXTENDED_FIELD = 'Customer extended fields';
|
|
51
50
|
export const EXTENDED_TAG = 'ExtendedTagMessage';
|
|
52
51
|
export const BADGES_UI_ENABLED = 'BADGES_UI_ENABLED';
|
|
53
52
|
export const JP_LOCALE_HIDE_FEATURE = 'JP_LOCALE_HIDE_FEATURE';
|
|
54
53
|
export const ENABLE_WECHAT = 'ENABLE_WECHAT';
|
|
55
|
-
export const ENABLE_WEBPUSH = 'ENABLE_WEBPUSH';
|
|
56
54
|
export const ENABLE_CUSTOMER_BARCODE_TAG = 'ENABLE_CUSTOMER_BARCODE_TAG';
|
|
57
55
|
export const EMAIL_UNSUBSCRIBE_TAG_MANDATORY = 'EMAIL_UNSUBSCRIBE_TAG_MANDATORY';
|
|
58
56
|
export const ENABLE_AI_SUGGESTIONS = 'ENABLE_AI_SUGGESTIONS';
|
|
@@ -170,7 +168,7 @@ export const JAPANESE_HIDE_DATE_TAGS = [
|
|
|
170
168
|
"dd.mm.yy",
|
|
171
169
|
"dd Mon",
|
|
172
170
|
"dd/m/yyyy",
|
|
173
|
-
];
|
|
171
|
+
];
|
|
174
172
|
|
|
175
173
|
export const LIQUID_SUPPORTED_CHANNELS = [EMAIL, SMS, MOBILE_PUSH, INAPP];
|
|
176
174
|
|
package/initialReducer.js
CHANGED
|
@@ -15,7 +15,6 @@ import galleryReducer from './v2Containers/Assets/Gallery/reducer';
|
|
|
15
15
|
import CapCollapsibleLeftNavigationReducer from '@capillarytech/cap-ui-library/CapCollapsibleLeftNavigation/reducer';
|
|
16
16
|
import { AIRA_REDUCER_DOMAIN, askAiraReducer } from '@capillarytech/cap-ui-library/CapAskAira';
|
|
17
17
|
import previewAndTestReducer from './v2Components/TestAndPreviewSlidebox/reducer';
|
|
18
|
-
import inAppReducer from './v2Containers/InApp/reducer';
|
|
19
18
|
|
|
20
19
|
export const initialReducer = {
|
|
21
20
|
language: languageProviderReducer,
|
|
@@ -34,5 +33,4 @@ export const initialReducer = {
|
|
|
34
33
|
gallery: galleryReducer,
|
|
35
34
|
navigationConfig: CapCollapsibleLeftNavigationReducer,
|
|
36
35
|
previewAndTest: previewAndTestReducer,
|
|
37
|
-
inApp: inAppReducer,
|
|
38
36
|
};
|
package/package.json
CHANGED
package/services/api.js
CHANGED
|
@@ -287,11 +287,6 @@ export const createMobilePushTemplateV2 = (template) => {
|
|
|
287
287
|
return request(url, getAPICallObject('POST', template));
|
|
288
288
|
};
|
|
289
289
|
|
|
290
|
-
export const createWebPushTemplate = (template) => {
|
|
291
|
-
const url = `${API_ENDPOINT}/templates/WEBPUSH`;
|
|
292
|
-
return request(url, getAPICallObject('POST', template));
|
|
293
|
-
};
|
|
294
|
-
|
|
295
290
|
export const duplicateTemplate = ({id, channel}) => {
|
|
296
291
|
const url = `${API_ENDPOINT}/templates/duplicate/${id}/${channel}`;
|
|
297
292
|
return request(url, getAPICallObject('GET'));
|
|
@@ -470,11 +465,6 @@ export const getCmsTemplateSettingsV2 = (cmsType, projectId, cmsMode, langId, is
|
|
|
470
465
|
return API.get(url);
|
|
471
466
|
};
|
|
472
467
|
|
|
473
|
-
export const getCmsAccounts = (cmsType) => {
|
|
474
|
-
const url = `${API_ENDPOINT}/cms/accounts?type=${cmsType}`;
|
|
475
|
-
return API.get(url);
|
|
476
|
-
};
|
|
477
|
-
|
|
478
468
|
export const getCmsTemplateData = (cmsType, projectId, langId) => {
|
|
479
469
|
const url = `${API_ENDPOINT}/cms/getContent?type=${cmsType}&projectId=${projectId}&langId=${langId}`;
|
|
480
470
|
return API.get(url);
|
|
@@ -730,9 +720,4 @@ export const getAssetStatus = (type, assetId) => {
|
|
|
730
720
|
return request(url, getAPICallObject('GET'));
|
|
731
721
|
};
|
|
732
722
|
|
|
733
|
-
export const getBeePopupBuilderToken = () => {
|
|
734
|
-
const url = `${API_ENDPOINT}/common/getInappTokenData`;
|
|
735
|
-
return request(url, getAPICallObject('GET'));
|
|
736
|
-
};
|
|
737
|
-
|
|
738
723
|
export {request, getAPICallObject};
|
|
@@ -26,8 +26,6 @@ import {
|
|
|
26
26
|
updateMetaConfig,
|
|
27
27
|
getMediaDetails,
|
|
28
28
|
getAssetStatus,
|
|
29
|
-
getBeePopupBuilderToken,
|
|
30
|
-
getCmsAccounts,
|
|
31
29
|
} from '../api';
|
|
32
30
|
import { mockData } from './mockData';
|
|
33
31
|
import getSchema from '../getSchema';
|
|
@@ -975,35 +973,3 @@ describe('getAssetStatus', () => {
|
|
|
975
973
|
expect(callArgs[0]).toContain('/assets/video/asset-456/status');
|
|
976
974
|
});
|
|
977
975
|
});
|
|
978
|
-
|
|
979
|
-
describe('getBeePopupBuilderToken', () => {
|
|
980
|
-
it('should return correct response', async () => {
|
|
981
|
-
global.fetch.mockReturnValue(Promise.resolve({
|
|
982
|
-
status: 200,
|
|
983
|
-
json: () => Promise.resolve({
|
|
984
|
-
status: 200,
|
|
985
|
-
response: 'test',
|
|
986
|
-
}),
|
|
987
|
-
}));
|
|
988
|
-
const result = await getBeePopupBuilderToken();
|
|
989
|
-
expect(result).toEqual({
|
|
990
|
-
status: 200,
|
|
991
|
-
response: 'test',
|
|
992
|
-
});
|
|
993
|
-
});
|
|
994
|
-
});
|
|
995
|
-
|
|
996
|
-
describe('getCmsAccounts', () => {
|
|
997
|
-
it('should return a promise (line 473-476)', () => {
|
|
998
|
-
// Similar to other API tests, just verify it returns a Promise
|
|
999
|
-
const result = getCmsAccounts('bee');
|
|
1000
|
-
expect(result).toBeInstanceOf(Promise);
|
|
1001
|
-
});
|
|
1002
|
-
|
|
1003
|
-
it('should be callable with cmsType parameter', () => {
|
|
1004
|
-
// Verify function exists and can be called
|
|
1005
|
-
expect(typeof getCmsAccounts).toBe('function');
|
|
1006
|
-
const result = getCmsAccounts('bee');
|
|
1007
|
-
expect(result).toBeInstanceOf(Promise);
|
|
1008
|
-
});
|
|
1009
|
-
});
|
package/translations/en.json
CHANGED
|
@@ -165,7 +165,7 @@
|
|
|
165
165
|
"creatives.componentsV2.CapDocumentUpload.imageDimenstionDescription": "Dimensions upto: {width}px x {height}px",
|
|
166
166
|
"creatives.componentsV2.CapDocumentUpload.or": "OR",
|
|
167
167
|
"creatives.componentsV2.CapDocumentUpload.uploadComputer": "Select from computer",
|
|
168
|
-
"creatives.componentsV2.CapDocumentUpload.whatsappDocSize": "Size
|
|
168
|
+
"creatives.componentsV2.CapDocumentUpload.whatsappDocSize": "Size upto: {size}",
|
|
169
169
|
"creatives.componentsV2.CapImageUpload.aspectRatio": "Aspect ratio: 1:1",
|
|
170
170
|
"creatives.componentsV2.CapImageUpload.dragAndDrop": "Drag and drop image here",
|
|
171
171
|
"creatives.componentsV2.CapImageUpload.format": "Format: JPEG, JPG, PNG",
|
|
@@ -173,13 +173,13 @@
|
|
|
173
173
|
"creatives.componentsV2.CapImageUpload.imageErrorDesc": "Please upload the image with allowed file extension, size, dimension and aspect ratio",
|
|
174
174
|
"creatives.componentsV2.CapImageUpload.imageGallery": "Gallery",
|
|
175
175
|
"creatives.componentsV2.CapImageUpload.imageReUpload": "Reupload",
|
|
176
|
-
"creatives.componentsV2.CapImageUpload.imageSize": "Size
|
|
176
|
+
"creatives.componentsV2.CapImageUpload.imageSize": "Size upto: 2MB",
|
|
177
177
|
"creatives.componentsV2.CapImageUpload.or": "OR",
|
|
178
178
|
"creatives.componentsV2.CapImageUpload.uploadComputer": "Select from computer",
|
|
179
179
|
"creatives.componentsV2.CapImageUpload.uploadGallery": "Gallery",
|
|
180
180
|
"creatives.componentsV2.CapImageUpload.uploadImageDescription": "The relevant image that complements the message context.",
|
|
181
181
|
"creatives.componentsV2.CapImageUpload.whatsappAspectRatio": "Max aspect ratio: 1.91:1",
|
|
182
|
-
"creatives.componentsV2.CapImageUpload.whatsappImageSize": "Size
|
|
182
|
+
"creatives.componentsV2.CapImageUpload.whatsappImageSize": "Size upto: 5MB",
|
|
183
183
|
"creatives.componentsV2.CapTagList.Cancel": "Cancel",
|
|
184
184
|
"creatives.componentsV2.CapTagList.Ok": "Ok",
|
|
185
185
|
"creatives.componentsV2.CapTagList.all": "All",
|
|
@@ -2022,7 +2022,6 @@
|
|
|
2022
2022
|
"creatives.containersV2.Whatsapp.vietnamese": "Vietnamese",
|
|
2023
2023
|
"creatives.containersV2.Whatsapp.whatsappCreateNotification": "{name} has been sent for approval",
|
|
2024
2024
|
"creatives.containersV2.Whatsapp.zulu": "Zulu",
|
|
2025
|
-
"creatives.containersV2.WebPush.addLabels": "Add labels",
|
|
2026
2025
|
"creatives.containersV2.addLabels": "Add labels",
|
|
2027
2026
|
"creatives.containersV2.appName": "App Name",
|
|
2028
2027
|
"creatives.containersV2.applyNow": "Apply now",
|
package/utils/common.js
CHANGED
|
@@ -21,9 +21,7 @@ import {
|
|
|
21
21
|
EMAIL_UNSUBSCRIBE_TAG_MANDATORY,
|
|
22
22
|
BADGES_ISSUE,
|
|
23
23
|
ENABLE_WECHAT,
|
|
24
|
-
ENABLE_WEBPUSH,
|
|
25
24
|
LIQUID_SUPPORT,
|
|
26
|
-
SUPPORT_CK_EDITOR,
|
|
27
25
|
ENABLE_NEW_MPUSH
|
|
28
26
|
} from '../constants/unified';
|
|
29
27
|
import { apiMessageFormatHandler } from './commonUtils';
|
|
@@ -97,10 +95,6 @@ export const hasLiquidSupportFeature = Auth.hasFeatureAccess.bind(
|
|
|
97
95
|
LIQUID_SUPPORT,
|
|
98
96
|
);
|
|
99
97
|
|
|
100
|
-
export const hasSupportCKEditor = Auth.hasFeatureAccess.bind(
|
|
101
|
-
null,
|
|
102
|
-
SUPPORT_CK_EDITOR,
|
|
103
|
-
);
|
|
104
98
|
|
|
105
99
|
export const hasGiftVoucherFeature = Auth.hasFeatureAccess.bind(
|
|
106
100
|
null,
|
|
@@ -122,11 +116,6 @@ export const hasWechatFeatureEnabled = Auth.hasFeatureAccess.bind(
|
|
|
122
116
|
ENABLE_WECHAT,
|
|
123
117
|
);
|
|
124
118
|
|
|
125
|
-
export const hasWebPushFeatureEnabled = Auth.hasFeatureAccess.bind(
|
|
126
|
-
null,
|
|
127
|
-
ENABLE_WEBPUSH,
|
|
128
|
-
);
|
|
129
|
-
|
|
130
119
|
export const hasCustomerBarcodeFeatureEnabled = Auth.hasFeatureAccess.bind(
|
|
131
120
|
null,
|
|
132
121
|
ENABLE_CUSTOMER_BARCODE_TAG,
|
package/utils/commonUtils.js
CHANGED
|
@@ -173,30 +173,20 @@ export const validateLiquidTemplateContent = async (
|
|
|
173
173
|
// Handle API errors or empty content
|
|
174
174
|
if (result?.errors?.length > 0 || !validString || isError) {
|
|
175
175
|
let standardErrors = [];
|
|
176
|
-
let liquidErrors = [];
|
|
177
|
-
|
|
178
|
-
// Empty content errors are NOT from liquid endpoints, so they go to standardErrors
|
|
179
176
|
if (!validString) {
|
|
180
177
|
standardErrors = [emptyBodyError];
|
|
181
178
|
}
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
// Only errors from these endpoints should appear in Liquid Issues tab
|
|
186
|
-
if (result && Array.isArray(result?.errors) && result.errors.length > 0) {
|
|
187
|
-
// Errors from extractTags or liquidValidation endpoints
|
|
188
|
-
liquidErrors = result.errors.map((error) => {
|
|
179
|
+
let liquidErrors;
|
|
180
|
+
if (result && Array.isArray(result?.errors)) {
|
|
181
|
+
liquidErrors = result?.errors?.map((error) => {
|
|
189
182
|
const message = typeof error?.message === "string"
|
|
190
183
|
? error.message
|
|
191
184
|
: somethingWrongMsg;
|
|
192
185
|
return message;
|
|
193
186
|
});
|
|
194
|
-
} else
|
|
195
|
-
// If isError is true, it means the API call to extractTags/liquidValidation failed
|
|
196
|
-
// This is also a liquid endpoint error, so categorize as liquidErrors
|
|
187
|
+
} else {
|
|
197
188
|
liquidErrors = [somethingWrongMsg];
|
|
198
189
|
}
|
|
199
|
-
|
|
200
190
|
onError({
|
|
201
191
|
standardErrors,
|
|
202
192
|
liquidErrors,
|
|
@@ -408,20 +398,7 @@ export const validateMobilePushContent = async (formData, options) => {
|
|
|
408
398
|
// Helper function to extract content for a platform
|
|
409
399
|
export const extractContent = (platformData) => {
|
|
410
400
|
if (!platformData) return '';
|
|
411
|
-
const { title, message, ctas
|
|
412
|
-
|
|
413
|
-
// For BEE editor, extract content from beeHtml
|
|
414
|
-
if (isBEEeditor && beeHtml) {
|
|
415
|
-
// beeHtml can be an object with value property or a string
|
|
416
|
-
const beeHtmlContent = typeof beeHtml === 'string' ? beeHtml : (beeHtml?.value || '');
|
|
417
|
-
return [
|
|
418
|
-
title,
|
|
419
|
-
beeHtmlContent,
|
|
420
|
-
...((ctas?.map((cta) => cta?.text || cta?.actionLink)) || []),
|
|
421
|
-
].filter(Boolean).join(' ');
|
|
422
|
-
}
|
|
423
|
-
|
|
424
|
-
// For regular content
|
|
401
|
+
const { title, message, ctas } = platformData;
|
|
425
402
|
return [
|
|
426
403
|
title,
|
|
427
404
|
message,
|
|
@@ -1376,228 +1376,4 @@ describe("validateCarouselCards", () => {
|
|
|
1376
1376
|
expect(result.isValid).toBe(true);
|
|
1377
1377
|
});
|
|
1378
1378
|
});
|
|
1379
|
-
|
|
1380
|
-
describe('extractContent BEE Editor Logic (L404-L412)', () => {
|
|
1381
|
-
it('extracts content from beeHtml as string', () => {
|
|
1382
|
-
const platformData = {
|
|
1383
|
-
title: 'Test Title',
|
|
1384
|
-
isBEEeditor: true,
|
|
1385
|
-
beeHtml: '<p>BEE HTML Content</p>',
|
|
1386
|
-
ctas: [
|
|
1387
|
-
{ text: 'Click Here', actionLink: 'https://example.com' },
|
|
1388
|
-
],
|
|
1389
|
-
};
|
|
1390
|
-
|
|
1391
|
-
const result = extractContent(platformData);
|
|
1392
|
-
|
|
1393
|
-
expect(result).toContain(platformData.title);
|
|
1394
|
-
expect(result).toContain(platformData.beeHtml);
|
|
1395
|
-
expect(result).toContain(platformData.ctas[0].text);
|
|
1396
|
-
});
|
|
1397
|
-
|
|
1398
|
-
it('extracts content from beeHtml as object with value property', () => {
|
|
1399
|
-
const platformData = {
|
|
1400
|
-
title: 'Test Title',
|
|
1401
|
-
isBEEeditor: true,
|
|
1402
|
-
beeHtml: { value: '<p>BEE HTML from Object</p>' },
|
|
1403
|
-
ctas: [
|
|
1404
|
-
{ text: 'Button Text' },
|
|
1405
|
-
],
|
|
1406
|
-
};
|
|
1407
|
-
|
|
1408
|
-
const result = extractContent(platformData);
|
|
1409
|
-
|
|
1410
|
-
expect(result).toContain(platformData.title);
|
|
1411
|
-
expect(result).toContain(platformData.beeHtml.value);
|
|
1412
|
-
expect(result).toContain(platformData.ctas[0].text);
|
|
1413
|
-
});
|
|
1414
|
-
|
|
1415
|
-
it('handles beeHtml as object without value property', () => {
|
|
1416
|
-
const platformData = {
|
|
1417
|
-
title: 'Test Title',
|
|
1418
|
-
isBEEeditor: true,
|
|
1419
|
-
beeHtml: { someOtherProperty: 'data' },
|
|
1420
|
-
ctas: [],
|
|
1421
|
-
};
|
|
1422
|
-
|
|
1423
|
-
const result = extractContent(platformData);
|
|
1424
|
-
|
|
1425
|
-
// Should extract title and empty beeHtml (since value is undefined)
|
|
1426
|
-
expect(result).toContain('Test Title');
|
|
1427
|
-
expect(result).not.toContain('someOtherProperty');
|
|
1428
|
-
});
|
|
1429
|
-
|
|
1430
|
-
it('extracts ctas with text property', () => {
|
|
1431
|
-
const platformData = {
|
|
1432
|
-
title: 'Title',
|
|
1433
|
-
isBEEeditor: true,
|
|
1434
|
-
beeHtml: '<p>Content</p>',
|
|
1435
|
-
ctas: [
|
|
1436
|
-
{ text: 'CTA Text 1' },
|
|
1437
|
-
{ text: 'CTA Text 2' },
|
|
1438
|
-
],
|
|
1439
|
-
};
|
|
1440
|
-
|
|
1441
|
-
const result = extractContent(platformData);
|
|
1442
|
-
|
|
1443
|
-
expect(result).toContain('CTA Text 1');
|
|
1444
|
-
expect(result).toContain('CTA Text 2');
|
|
1445
|
-
});
|
|
1446
|
-
|
|
1447
|
-
it('extracts ctas with actionLink when text is missing', () => {
|
|
1448
|
-
const platformData = {
|
|
1449
|
-
title: 'Title',
|
|
1450
|
-
isBEEeditor: true,
|
|
1451
|
-
beeHtml: '<p>Content</p>',
|
|
1452
|
-
ctas: [
|
|
1453
|
-
{ actionLink: 'https://link1.com' },
|
|
1454
|
-
{ actionLink: 'https://link2.com' },
|
|
1455
|
-
],
|
|
1456
|
-
};
|
|
1457
|
-
|
|
1458
|
-
const result = extractContent(platformData);
|
|
1459
|
-
|
|
1460
|
-
expect(result).toContain('https://link1.com');
|
|
1461
|
-
expect(result).toContain('https://link2.com');
|
|
1462
|
-
});
|
|
1463
|
-
|
|
1464
|
-
it('filters out falsy values with filter(Boolean)', () => {
|
|
1465
|
-
const platformData = {
|
|
1466
|
-
title: '',
|
|
1467
|
-
isBEEeditor: true,
|
|
1468
|
-
beeHtml: null,
|
|
1469
|
-
ctas: [
|
|
1470
|
-
{ text: null, actionLink: null },
|
|
1471
|
-
{ text: 'Valid Text' },
|
|
1472
|
-
],
|
|
1473
|
-
};
|
|
1474
|
-
|
|
1475
|
-
const result = extractContent(platformData);
|
|
1476
|
-
|
|
1477
|
-
// Should only contain 'Valid Text' after filtering
|
|
1478
|
-
expect(result).toBe('Valid Text');
|
|
1479
|
-
});
|
|
1480
|
-
|
|
1481
|
-
it('handles empty ctas array', () => {
|
|
1482
|
-
const platformData = {
|
|
1483
|
-
title: 'Title Only',
|
|
1484
|
-
isBEEeditor: true,
|
|
1485
|
-
beeHtml: '<p>BEE Content</p>',
|
|
1486
|
-
ctas: [],
|
|
1487
|
-
};
|
|
1488
|
-
|
|
1489
|
-
const result = extractContent(platformData);
|
|
1490
|
-
|
|
1491
|
-
expect(result).toContain('Title Only');
|
|
1492
|
-
expect(result).toContain('<p>BEE Content</p>');
|
|
1493
|
-
});
|
|
1494
|
-
|
|
1495
|
-
it('handles undefined ctas', () => {
|
|
1496
|
-
const platformData = {
|
|
1497
|
-
title: 'Title',
|
|
1498
|
-
isBEEeditor: true,
|
|
1499
|
-
beeHtml: '<p>Content</p>',
|
|
1500
|
-
ctas: undefined,
|
|
1501
|
-
};
|
|
1502
|
-
|
|
1503
|
-
const result = extractContent(platformData);
|
|
1504
|
-
|
|
1505
|
-
expect(result).toContain('Title');
|
|
1506
|
-
expect(result).toContain('<p>Content</p>');
|
|
1507
|
-
});
|
|
1508
|
-
|
|
1509
|
-
it('joins all content with spaces', () => {
|
|
1510
|
-
const platformData = {
|
|
1511
|
-
title: 'Title',
|
|
1512
|
-
isBEEeditor: true,
|
|
1513
|
-
beeHtml: 'HTML',
|
|
1514
|
-
ctas: [
|
|
1515
|
-
{ text: 'CTA1' },
|
|
1516
|
-
{ text: 'CTA2' },
|
|
1517
|
-
],
|
|
1518
|
-
};
|
|
1519
|
-
|
|
1520
|
-
const result = extractContent(platformData);
|
|
1521
|
-
|
|
1522
|
-
expect(result).toBe('Title HTML CTA1 CTA2');
|
|
1523
|
-
});
|
|
1524
|
-
|
|
1525
|
-
it('falls back to regular content when not BEE editor', () => {
|
|
1526
|
-
const platformData = {
|
|
1527
|
-
title: 'Title',
|
|
1528
|
-
message: 'Message',
|
|
1529
|
-
isBEEeditor: false,
|
|
1530
|
-
beeHtml: '<p>Should be ignored</p>',
|
|
1531
|
-
ctas: [
|
|
1532
|
-
{ text: 'CTA' },
|
|
1533
|
-
],
|
|
1534
|
-
};
|
|
1535
|
-
|
|
1536
|
-
const result = extractContent(platformData);
|
|
1537
|
-
|
|
1538
|
-
expect(result).toContain('Title');
|
|
1539
|
-
expect(result).toContain('Message');
|
|
1540
|
-
expect(result).toContain('CTA');
|
|
1541
|
-
expect(result).not.toContain('<p>Should be ignored</p>');
|
|
1542
|
-
});
|
|
1543
|
-
|
|
1544
|
-
it('handles null beeHtml', () => {
|
|
1545
|
-
const platformData = {
|
|
1546
|
-
title: 'Title',
|
|
1547
|
-
isBEEeditor: true,
|
|
1548
|
-
beeHtml: null,
|
|
1549
|
-
ctas: [{ text: 'CTA' }],
|
|
1550
|
-
};
|
|
1551
|
-
|
|
1552
|
-
const result = extractContent(platformData);
|
|
1553
|
-
|
|
1554
|
-
expect(result).toContain('Title');
|
|
1555
|
-
expect(result).toContain('CTA');
|
|
1556
|
-
});
|
|
1557
|
-
|
|
1558
|
-
it('handles undefined beeHtml', () => {
|
|
1559
|
-
const platformData = {
|
|
1560
|
-
title: 'Title',
|
|
1561
|
-
isBEEeditor: true,
|
|
1562
|
-
beeHtml: undefined,
|
|
1563
|
-
ctas: [],
|
|
1564
|
-
};
|
|
1565
|
-
|
|
1566
|
-
const result = extractContent(platformData);
|
|
1567
|
-
|
|
1568
|
-
expect(result).toBe('Title');
|
|
1569
|
-
});
|
|
1570
|
-
|
|
1571
|
-
it('handles complex ctas with both text and actionLink', () => {
|
|
1572
|
-
const platformData = {
|
|
1573
|
-
title: 'Title',
|
|
1574
|
-
isBEEeditor: true,
|
|
1575
|
-
beeHtml: 'Content',
|
|
1576
|
-
ctas: [
|
|
1577
|
-
{ text: 'CTA Text', actionLink: 'https://example.com' },
|
|
1578
|
-
],
|
|
1579
|
-
};
|
|
1580
|
-
|
|
1581
|
-
const result = extractContent(platformData);
|
|
1582
|
-
|
|
1583
|
-
// Should prefer text over actionLink
|
|
1584
|
-
expect(result).toContain('CTA Text');
|
|
1585
|
-
expect(result).toContain('Title');
|
|
1586
|
-
expect(result).toContain('Content');
|
|
1587
|
-
});
|
|
1588
|
-
|
|
1589
|
-
it('handles empty string beeHtml', () => {
|
|
1590
|
-
const platformData = {
|
|
1591
|
-
title: 'Title',
|
|
1592
|
-
isBEEeditor: true,
|
|
1593
|
-
beeHtml: '',
|
|
1594
|
-
ctas: [{ text: 'CTA' }],
|
|
1595
|
-
};
|
|
1596
|
-
|
|
1597
|
-
const result = extractContent(platformData);
|
|
1598
|
-
|
|
1599
|
-
expect(result).toBe('Title CTA');
|
|
1600
|
-
});
|
|
1601
|
-
});
|
|
1602
1379
|
});
|
|
1603
|
-
|