@capillarytech/creatives-library 8.0.263 → 8.0.265
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/tests/integration/TemplateCreation/TemplateCreation.integration.test.js +35 -17
- package/tests/integration/TemplateCreation/api-response.js +1 -31
- package/tests/integration/TemplateCreation/msw-handler.js +0 -2
- 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 -402
- package/v2Components/ErrorInfoNote/messages.js +6 -32
- package/v2Components/ErrorInfoNote/style.scss +6 -278
- package/v2Components/FormBuilder/tests/index.test.js +4 -13
- package/v2Components/HtmlEditor/HTMLEditor.js +99 -418
- package/v2Components/HtmlEditor/__tests__/HTMLEditor.test.js +133 -1882
- package/v2Components/HtmlEditor/__tests__/index.lazy.test.js +16 -27
- package/v2Components/HtmlEditor/_htmlEditor.scss +45 -108
- package/v2Components/HtmlEditor/_index.lazy.scss +1 -0
- package/v2Components/HtmlEditor/components/CodeEditorPane/_codeEditorPane.scss +102 -23
- package/v2Components/HtmlEditor/components/CodeEditorPane/index.js +140 -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 +1 -9
- package/v2Components/HtmlEditor/components/EditorToolbar/index.js +6 -31
- 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 +10 -7
- package/v2Components/HtmlEditor/components/PreviewPane/index.js +43 -22
- 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/_validationErrorDisplay.scss +0 -18
- package/v2Components/HtmlEditor/components/ValidationErrorDisplay/index.js +31 -36
- package/v2Components/HtmlEditor/components/ValidationPanel/_validationPanel.scss +34 -46
- package/v2Components/HtmlEditor/components/ValidationPanel/index.js +46 -52
- package/v2Components/HtmlEditor/constants.js +20 -45
- package/v2Components/HtmlEditor/hooks/__tests__/useInAppContent.test.js +16 -373
- package/v2Components/HtmlEditor/hooks/__tests__/useValidation.test.js +16 -351
- package/v2Components/HtmlEditor/hooks/useEditorContent.js +2 -5
- package/v2Components/HtmlEditor/hooks/useInAppContent.js +146 -88
- package/v2Components/HtmlEditor/hooks/useValidation.js +56 -213
- package/v2Components/HtmlEditor/index.js +1 -1
- package/v2Components/HtmlEditor/messages.js +94 -102
- package/v2Components/HtmlEditor/utils/__tests__/htmlValidator.enhanced.test.js +45 -214
- 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 +124 -158
- package/v2Components/HtmlEditor/utils/properSyntaxHighlighting.js +25 -23
- package/v2Components/HtmlEditor/utils/validationAdapter.js +41 -66
- package/v2Components/MobilePushPreviewV2/index.js +7 -33
- 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/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 -408
- 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 -103
- package/v2Containers/Email/actions.js +0 -7
- package/v2Containers/Email/constants.js +1 -5
- package/v2Containers/Email/index.js +36 -237
- 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 +21 -211
- 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 -65
- 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 +0 -3
- package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/index.test.js.snap +0 -2
- package/v2Containers/Line/Container/Wrapper/tests/__snapshots__/index.test.js.snap +0 -2
- package/v2Containers/Line/Container/tests/__snapshots__/index.test.js.snap +0 -9
- package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +0 -12
- package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +0 -4
- 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 -2
- package/v2Containers/Templates/tests/index.test.js +0 -10
- package/v2Containers/TemplatesV2/TemplatesV2.style.js +2 -4
- package/v2Containers/TemplatesV2/index.js +7 -15
- package/v2Containers/TemplatesV2/messages.js +0 -4
- package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +0 -34
- 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/ErrorInfoNote/constants.js +0 -1
- package/v2Components/HtmlEditor/__tests__/HTMLEditor.apiErrors.test.js +0 -870
- package/v2Components/HtmlEditor/components/ValidationPanel/constants.js +0 -6
- package/v2Components/HtmlEditor/components/ValidationTabs/_validationTabs.scss +0 -281
- package/v2Components/HtmlEditor/components/ValidationTabs/index.js +0 -295
- package/v2Components/HtmlEditor/components/ValidationTabs/messages.js +0 -51
- package/v2Components/HtmlEditor/utils/validationConstants.js +0 -38
- package/v2Components/MobilePushPreviewV2/constants.js +0 -6
- 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 -1246
- package/v2Containers/EmailWrapper/components/__tests__/EmailHTMLEditor.test.js +0 -2472
- package/v2Containers/EmailWrapper/components/__tests__/EmailWrapperView.test.js +0 -520
- package/v2Containers/EmailWrapper/tests/useEmailWrapper.edgeCases.test.js +0 -956
- 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 -145
- package/v2Containers/WebPush/Create/components/ButtonsLinksSection.js +0 -164
- package/v2Containers/WebPush/Create/components/ButtonsLinksSection.test.js +0 -463
- 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 -142
- 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 -86
- 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 -633
- 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 -78
- package/v2Containers/WebPush/Create/hooks/useButtonManagement.js +0 -138
- 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 -211
- 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 -25
- 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 -51
- package/v2Containers/WebPush/Create/preview/components/AndroidMobileExpanded.js +0 -145
- 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 -85
- 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 -358
- 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
|
@@ -17,18 +17,17 @@ import {
|
|
|
17
17
|
CapImage,
|
|
18
18
|
CapError,
|
|
19
19
|
} from '@capillarytech/cap-ui-library';
|
|
20
|
-
import { injectIntl, FormattedMessage, intlShape
|
|
20
|
+
import { injectIntl, FormattedMessage, intlShape} from 'react-intl';
|
|
21
21
|
import { isEmpty, get } from 'lodash';
|
|
22
22
|
import './index.scss';
|
|
23
23
|
import Gallery from '../../v2Containers/Assets/Gallery';
|
|
24
24
|
import { MAX_SUPPORTED_IMAGE_SIZE } from './constants';
|
|
25
25
|
import {
|
|
26
|
-
FACEBOOK, INAPP, RCS, WHATSAPP, VIBER,
|
|
26
|
+
FACEBOOK, INAPP, RCS, WHATSAPP, VIBER,
|
|
27
27
|
} from "../../v2Containers/CreativesContainer/constants";
|
|
28
28
|
|
|
29
29
|
import messages from './messages';
|
|
30
30
|
import { MOBILEPUSH } from '../CapVideoUpload/constants';
|
|
31
|
-
import { CAP_SPACE_16 } from '@capillarytech/cap-ui-library/styled/variables';
|
|
32
31
|
function CapImageUpload(props) {
|
|
33
32
|
const {
|
|
34
33
|
intl,
|
|
@@ -51,8 +50,6 @@ function CapImageUpload(props) {
|
|
|
51
50
|
channelSpecificStyle,
|
|
52
51
|
showReUploadButton = true,
|
|
53
52
|
disableAutoRestore = false, // New prop to disable automatic restoration
|
|
54
|
-
recommendedDimensions, // Array of {width, height} objects for recommended dimensions
|
|
55
|
-
disabled = false,
|
|
56
53
|
} = props;
|
|
57
54
|
const {
|
|
58
55
|
formatMessage,
|
|
@@ -75,7 +72,7 @@ function CapImageUpload(props) {
|
|
|
75
72
|
const [isImageError, updateImageErrorMessage] = useState(false);
|
|
76
73
|
const [isDrawerRequired, updateDrawerRequirement] = useState(false);
|
|
77
74
|
|
|
78
|
-
const {
|
|
75
|
+
const {CapHeadingSpan} = CapHeading;
|
|
79
76
|
const ImageComponent = useCallback(
|
|
80
77
|
() => (
|
|
81
78
|
<>
|
|
@@ -94,7 +91,7 @@ function CapImageUpload(props) {
|
|
|
94
91
|
|
|
95
92
|
const WithLabel = LabelHOC(ImageComponent);
|
|
96
93
|
|
|
97
|
-
const uploadImages = useCallback((e, {
|
|
94
|
+
const uploadImages = useCallback((e, {files}) => {
|
|
98
95
|
if (e) {
|
|
99
96
|
e.preventDefault();
|
|
100
97
|
}
|
|
@@ -112,13 +109,13 @@ function CapImageUpload(props) {
|
|
|
112
109
|
height: img.height,
|
|
113
110
|
error: file && (file.size / (1e+6) > 5), // Checking if file exists and its size is greater than 5MB (5 * 10^6 bytes)
|
|
114
111
|
};
|
|
115
|
-
submitAction({
|
|
112
|
+
submitAction({file, type: 'image', fileParams}, incorrectFile);
|
|
116
113
|
};
|
|
117
114
|
img.onerror = () => {
|
|
118
115
|
const fileParams = {
|
|
119
116
|
error: true,
|
|
120
117
|
};
|
|
121
|
-
submitAction({
|
|
118
|
+
submitAction({fileParams}, incorrectFile);
|
|
122
119
|
};
|
|
123
120
|
if (e) {
|
|
124
121
|
const event = e;
|
|
@@ -126,7 +123,7 @@ function CapImageUpload(props) {
|
|
|
126
123
|
}
|
|
127
124
|
}, []);
|
|
128
125
|
|
|
129
|
-
const rcsValidation = useCallback((incorrectFile, data, size, height, width, error) => {
|
|
126
|
+
const rcsValidation = useCallback((incorrectFile, data, size, height, width, error) => {
|
|
130
127
|
if (incorrectFile || size < minImgSize || size > imgSize || height !== imgHeight || width !== imgWidth || error) {
|
|
131
128
|
updateImageErrorMessage(formatMessage(messages.imageErrorDesc));
|
|
132
129
|
} else {
|
|
@@ -149,19 +146,6 @@ function CapImageUpload(props) {
|
|
|
149
146
|
const { height, width, error } = fileParams || {};
|
|
150
147
|
if (channel === RCS) {
|
|
151
148
|
rcsValidation(incorrectFile, data, size, height, width, error);
|
|
152
|
-
} else if ([WEBPUSH, WEBPUSH_BRAND_ICON].includes(channel)) {
|
|
153
|
-
// For WEBPUSH, only validate file extension, size, and format - no dimension validation
|
|
154
|
-
if (incorrectFile || size > imgSize || error) {
|
|
155
|
-
updateImageErrorMessage(formatMessage(messages.imageErrorDesc));
|
|
156
|
-
} else {
|
|
157
|
-
updateImageErrorMessage('');
|
|
158
|
-
uploadAsset(
|
|
159
|
-
data.file,
|
|
160
|
-
data.type,
|
|
161
|
-
data.fileParams,
|
|
162
|
-
index,
|
|
163
|
-
);
|
|
164
|
-
}
|
|
165
149
|
} else if (incorrectFile || size > imgSize || height > imgHeight || width > imgWidth || error) {
|
|
166
150
|
updateImageErrorMessage(formatMessage(messages.imageErrorDesc));
|
|
167
151
|
} else {
|
|
@@ -176,7 +160,7 @@ function CapImageUpload(props) {
|
|
|
176
160
|
}, [isImageError]);
|
|
177
161
|
|
|
178
162
|
const capUploaderCustomRequest = useCallback((uploadData) => {
|
|
179
|
-
uploadImages(undefined, {
|
|
163
|
+
uploadImages(undefined, {files: [uploadData.file]});
|
|
180
164
|
}, [uploadImages]);
|
|
181
165
|
|
|
182
166
|
const setDrawerVisibility = useCallback((drawervisibleFlag) => updateDrawerRequirement(drawervisibleFlag), [isDrawerRequired]);
|
|
@@ -197,27 +181,19 @@ function CapImageUpload(props) {
|
|
|
197
181
|
secure_file_path: image, width, height, file_size: size,
|
|
198
182
|
} = get(imageTemplate, 'metaInfo', {});
|
|
199
183
|
updateDrawerRequirement(false);
|
|
200
|
-
|
|
201
|
-
if ([WEBPUSH, WEBPUSH_BRAND_ICON].includes(channel)) {
|
|
202
|
-
if (!allowedExtensionsRegex.test(image) || size > imgSize) {
|
|
203
|
-
updateImageErrorMessage(formatMessage(messages.imageErrorDesc));
|
|
204
|
-
} else {
|
|
205
|
-
updateImageErrorMessage('');
|
|
206
|
-
updateImageSrc(image);
|
|
207
|
-
}
|
|
208
|
-
} else if (!allowedExtensionsRegex.test(image) || height > imgHeight || width > imgWidth || size > imgSize) {
|
|
184
|
+
if (!allowedExtensionsRegex.test(image) || height > imgHeight || width > imgWidth || size > imgSize ) {
|
|
209
185
|
updateImageErrorMessage(formatMessage(messages.imageErrorDesc));
|
|
210
186
|
} else {
|
|
211
187
|
updateImageErrorMessage('');
|
|
212
188
|
updateImageSrc(image);
|
|
213
189
|
}
|
|
214
|
-
}, [isImageError, isDrawerRequired
|
|
190
|
+
}, [isImageError, isDrawerRequired]);
|
|
215
191
|
|
|
216
192
|
const getGalleryDrawerContent = useCallback(() => {
|
|
217
193
|
const locationGallery = {
|
|
218
194
|
pathname: `/assets`,
|
|
219
195
|
search: '',
|
|
220
|
-
query: !isFullMode ? {
|
|
196
|
+
query: !isFullMode ? {type: 'embedded', module: 'library'} : {},
|
|
221
197
|
};
|
|
222
198
|
return (
|
|
223
199
|
<>
|
|
@@ -254,7 +230,6 @@ function CapImageUpload(props) {
|
|
|
254
230
|
customRequest={capUploaderCustomRequest}
|
|
255
231
|
className="form-builder-dragger grey-background"
|
|
256
232
|
showUploadList={!isImageError}
|
|
257
|
-
disabled={disabled}
|
|
258
233
|
>
|
|
259
234
|
<CapHeading className="dragger-title" type="h7">
|
|
260
235
|
<FormattedMessage {...messages.dragAndDrop} />
|
|
@@ -262,7 +237,7 @@ function CapImageUpload(props) {
|
|
|
262
237
|
<CapHeading className="dragger-or" type="label6">
|
|
263
238
|
<FormattedMessage {...messages.or} />
|
|
264
239
|
</CapHeading>
|
|
265
|
-
<CapButton className="dragger-button upload-image" type="secondary"
|
|
240
|
+
<CapButton className="dragger-button upload-image" type="secondary">
|
|
266
241
|
<FormattedMessage {...messages.uploadComputer} />
|
|
267
242
|
</CapButton>
|
|
268
243
|
{channel !== WHATSAPP && (
|
|
@@ -270,8 +245,6 @@ function CapImageUpload(props) {
|
|
|
270
245
|
className="dragger-button gallery-select"
|
|
271
246
|
type="secondary"
|
|
272
247
|
onClick={onGalleryClick}
|
|
273
|
-
disabled={disabled}
|
|
274
|
-
tabIndex={disabled ? -1 : undefined}
|
|
275
248
|
>
|
|
276
249
|
<FormattedMessage {...messages.uploadGallery} />
|
|
277
250
|
</CapButton>
|
|
@@ -289,15 +262,13 @@ function CapImageUpload(props) {
|
|
|
289
262
|
className="dragger-button re-upload"
|
|
290
263
|
type="flat"
|
|
291
264
|
onClick={onReUpload}
|
|
292
|
-
style={channelSpecificStyle ? { marginTop:
|
|
293
|
-
disabled={disabled}
|
|
294
|
-
tabIndex={disabled ? -1 : undefined}
|
|
265
|
+
style={channelSpecificStyle ? { marginTop: '-16px'} : {}}
|
|
295
266
|
>
|
|
296
267
|
<FormattedMessage {...messages.imageReUpload} />
|
|
297
268
|
</CapButton>
|
|
298
269
|
);
|
|
299
270
|
}
|
|
300
|
-
}, [isImageError, imageSrc
|
|
271
|
+
}, [isImageError, imageSrc]);
|
|
301
272
|
|
|
302
273
|
return (
|
|
303
274
|
<div style={style} className="cap-custom-image-upload">
|
|
@@ -314,8 +285,6 @@ function CapImageUpload(props) {
|
|
|
314
285
|
type="file"
|
|
315
286
|
onChange={(e) => uploadImages(e, { files: e.target.files })}
|
|
316
287
|
accept={supportedExtensions || "image/*"}
|
|
317
|
-
disabled={disabled}
|
|
318
|
-
tabIndex={disabled ? -1 : undefined}
|
|
319
288
|
/>
|
|
320
289
|
{getImageSection()}
|
|
321
290
|
<CapDrawer
|
|
@@ -336,18 +305,7 @@ function CapImageUpload(props) {
|
|
|
336
305
|
)}
|
|
337
306
|
{![WHATSAPP, INAPP].includes(channel) && (
|
|
338
307
|
<CapHeadingSpan type="label2" className="image-dimension">
|
|
339
|
-
{
|
|
340
|
-
<FormattedMessage
|
|
341
|
-
{...messages.recommendedDimensions}
|
|
342
|
-
values={{
|
|
343
|
-
dimensions: recommendedDimensions
|
|
344
|
-
.map((dim) => `${dim.width} x ${dim.height}px`)
|
|
345
|
-
.join(', '),
|
|
346
|
-
}}
|
|
347
|
-
/>
|
|
348
|
-
) : (
|
|
349
|
-
<FormattedMessage {...messages.imageDimenstionDescription} values={{ width: imgWidth, height: imgHeight }} />
|
|
350
|
-
)}
|
|
308
|
+
<FormattedMessage {...messages.imageDimenstionDescription} values={{ width: imgWidth, height: imgHeight }} />
|
|
351
309
|
</CapHeadingSpan>
|
|
352
310
|
)}
|
|
353
311
|
{channel === FACEBOOK && (
|
|
@@ -370,7 +328,7 @@ function CapImageUpload(props) {
|
|
|
370
328
|
getImageSizeLabel()
|
|
371
329
|
)
|
|
372
330
|
)}
|
|
373
|
-
{[VIBER, INAPP, MOBILEPUSH
|
|
331
|
+
{[VIBER, INAPP, MOBILEPUSH].includes(channel) && getImageSizeLabel()}
|
|
374
332
|
<CapHeadingSpan type="label2" className="image-format">
|
|
375
333
|
{channel === INAPP ? <FormattedMessage {...messages.format2} /> : <FormattedMessage {...messages.format} />}
|
|
376
334
|
</CapHeadingSpan>
|
|
@@ -399,13 +357,6 @@ CapImageUpload.propTypes = {
|
|
|
399
357
|
channel: PropTypes.string,
|
|
400
358
|
channelSpecificStyle: PropTypes.bool,
|
|
401
359
|
disableAutoRestore: PropTypes.bool,
|
|
402
|
-
recommendedDimensions: PropTypes.arrayOf(
|
|
403
|
-
PropTypes.shape({
|
|
404
|
-
width: PropTypes.number.isRequired,
|
|
405
|
-
height: PropTypes.number.isRequired,
|
|
406
|
-
})
|
|
407
|
-
),
|
|
408
|
-
disabled: PropTypes.bool,
|
|
409
360
|
};
|
|
410
361
|
|
|
411
362
|
export default injectIntl(CapImageUpload);
|
|
@@ -34,10 +34,6 @@ export default defineMessages({
|
|
|
34
34
|
id: `${scope}.imageDimenstionDescription`,
|
|
35
35
|
defaultMessage: 'Dimensions upto: {width}px x {height}px',
|
|
36
36
|
},
|
|
37
|
-
recommendedDimensions: {
|
|
38
|
-
id: `${scope}.recommendedDimensions`,
|
|
39
|
-
defaultMessage: 'Recommended dimensions: {dimensions}',
|
|
40
|
-
},
|
|
41
37
|
format: {
|
|
42
38
|
id: `${scope}.format`,
|
|
43
39
|
defaultMessage: 'Format: JPEG, JPG, PNG',
|
|
@@ -61,7 +57,7 @@ export default defineMessages({
|
|
|
61
57
|
},
|
|
62
58
|
channelImageSize: {
|
|
63
59
|
id: `${scope}.channelImageSize`,
|
|
64
|
-
defaultMessage: 'Size
|
|
60
|
+
defaultMessage: 'Size upto: {size}MB',
|
|
65
61
|
},
|
|
66
62
|
RcschannelImageSize: {
|
|
67
63
|
id: `${scope}.RcschannelImageSize`,
|
|
@@ -227,10 +227,6 @@ class CapTagList extends React.Component { // eslint-disable-line react/prefer-s
|
|
|
227
227
|
|
|
228
228
|
togglePopoverVisibility = (visible) => {
|
|
229
229
|
this.setState({visible});
|
|
230
|
-
// Call onVisibleChange callback if provided (for triggering API calls when popover opens)
|
|
231
|
-
if (this.props.onVisibleChange) {
|
|
232
|
-
this.props.onVisibleChange(visible);
|
|
233
|
-
}
|
|
234
230
|
};
|
|
235
231
|
|
|
236
232
|
renderDynamicTagFlow = () => {
|
|
@@ -472,7 +468,7 @@ class CapTagList extends React.Component { // eslint-disable-line react/prefer-s
|
|
|
472
468
|
onVisibleChange={this.togglePopoverVisibility}
|
|
473
469
|
content={contentSection}
|
|
474
470
|
trigger="click"
|
|
475
|
-
placement={
|
|
471
|
+
placement={channel === EMAIL.toUpperCase() ? "leftTop" : "rightTop"}
|
|
476
472
|
>
|
|
477
473
|
<CapTooltip
|
|
478
474
|
title={
|
|
@@ -539,7 +535,6 @@ CapTagList.propTypes = {
|
|
|
539
535
|
channel: PropTypes.string,
|
|
540
536
|
disabled: PropTypes.bool,
|
|
541
537
|
fetchingSchemaError: PropTypes.bool,
|
|
542
|
-
popoverPlacement: PropTypes.string,
|
|
543
538
|
};
|
|
544
539
|
|
|
545
540
|
CapTagList.defaultValue = {
|
|
@@ -48,14 +48,13 @@ export const CapTagListWithInput = (props) => {
|
|
|
48
48
|
showTagList = true,
|
|
49
49
|
showInput = true,
|
|
50
50
|
inputProps = {},
|
|
51
|
-
popoverPlacement,
|
|
52
51
|
} = props;
|
|
53
52
|
|
|
54
53
|
const { formatMessage } = intl;
|
|
55
54
|
|
|
56
55
|
return (
|
|
57
56
|
<CapColumn style={containerStyle}>
|
|
58
|
-
<CapRow
|
|
57
|
+
<CapRow style={{display: 'flex', flexDirection: 'row'}}>
|
|
59
58
|
{showHeading && headingText && (
|
|
60
59
|
<CapHeading type={headingType} style={headingStyle}>
|
|
61
60
|
{headingText}
|
|
@@ -77,7 +76,6 @@ export const CapTagListWithInput = (props) => {
|
|
|
77
76
|
selectedOfferDetails={selectedOfferDetails}
|
|
78
77
|
eventContextTags={eventContextTags}
|
|
79
78
|
style={tagListStyle}
|
|
80
|
-
popoverPlacement={popoverPlacement}
|
|
81
79
|
/>
|
|
82
80
|
)}
|
|
83
81
|
</CapRow>
|
|
@@ -138,7 +136,6 @@ CapTagListWithInput.propTypes = {
|
|
|
138
136
|
showHeading: PropTypes.bool,
|
|
139
137
|
showTagList: PropTypes.bool,
|
|
140
138
|
showInput: PropTypes.bool,
|
|
141
|
-
popoverPlacement: PropTypes.string,
|
|
142
139
|
};
|
|
143
140
|
|
|
144
141
|
CapTagListWithInput.defaultProps = {
|
|
@@ -167,7 +164,6 @@ CapTagListWithInput.defaultProps = {
|
|
|
167
164
|
showTagList: true,
|
|
168
165
|
showInput: true,
|
|
169
166
|
inputProps: {},
|
|
170
|
-
popoverPlacement: undefined,
|
|
171
167
|
};
|
|
172
168
|
|
|
173
169
|
export default injectIntl(CapTagListWithInput);
|
|
@@ -4,11 +4,6 @@ import '@testing-library/jest-dom';
|
|
|
4
4
|
import { render, screen, fireEvent } from '../../../utils/test-utils';
|
|
5
5
|
import { CapWhatsappCTA } from '../index';
|
|
6
6
|
|
|
7
|
-
// Mock the missing reducer
|
|
8
|
-
jest.mock('@capillarytech/cap-ui-library/CapCollapsibleLeftNavigation/reducer', () => {
|
|
9
|
-
return (state = {}) => state;
|
|
10
|
-
}, { virtual: true });
|
|
11
|
-
|
|
12
7
|
const updateHandler = jest.fn();
|
|
13
8
|
const deleteHandler = jest.fn();
|
|
14
9
|
const initializeComponent = (
|