@capillarytech/creatives-library 8.0.255-alpha.4 → 8.0.256

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/constants/unified.js +0 -1
  2. package/package.json +1 -1
  3. package/services/api.js +0 -5
  4. package/translations/en.json +3 -4
  5. package/utils/common.js +0 -6
  6. package/utils/tests/transformerUtils.test.js +0 -297
  7. package/utils/transformerUtils.js +0 -40
  8. package/v2Components/CapImageUpload/constants.js +0 -2
  9. package/v2Components/CapImageUpload/index.js +16 -65
  10. package/v2Components/CapImageUpload/index.scss +1 -4
  11. package/v2Components/CapImageUpload/messages.js +1 -5
  12. package/v2Components/CommonTestAndPreview/UnifiedPreview/InAppPreviewContent.js +3 -3
  13. package/v2Components/CommonTestAndPreview/UnifiedPreview/RcsPreviewContent.js +3 -3
  14. package/v2Components/CommonTestAndPreview/UnifiedPreview/SmsPreviewContent.js +3 -3
  15. package/v2Components/CommonTestAndPreview/UnifiedPreview/ViberPreviewContent.js +3 -3
  16. package/v2Components/CommonTestAndPreview/UnifiedPreview/WhatsAppPreviewContent.js +1 -1
  17. package/v2Components/CommonTestAndPreview/UnifiedPreview/_unifiedPreview.scss +37 -6
  18. package/v2Components/CommonTestAndPreview/_commonTestAndPreview.scss +0 -2
  19. package/v2Components/TemplatePreview/_templatePreview.scss +1 -2
  20. package/v2Components/TestAndPreviewSlidebox/_testAndPreviewSlidebox.scss +0 -1
  21. package/v2Containers/App/constants.js +0 -5
  22. package/v2Containers/Cap/tests/__snapshots__/index.test.js.snap +3 -4
  23. package/v2Containers/CreativesContainer/SlideBoxContent.js +2 -57
  24. package/v2Containers/CreativesContainer/SlideBoxHeader.js +0 -1
  25. package/v2Containers/CreativesContainer/constants.js +0 -3
  26. package/v2Containers/CreativesContainer/index.js +0 -168
  27. package/v2Containers/CreativesContainer/messages.js +0 -4
  28. package/v2Containers/CreativesContainer/tests/SlideBoxContent.test.js +0 -210
  29. package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +0 -304
  30. package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/content.test.js.snap +12 -36
  31. package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/index.test.js.snap +6 -8
  32. package/v2Containers/Line/Container/Wrapper/tests/__snapshots__/index.test.js.snap +75 -100
  33. package/v2Containers/Line/Container/tests/__snapshots__/index.test.js.snap +54 -72
  34. package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +214 -286
  35. package/v2Containers/SmsTrai/Create/tests/__snapshots__/index.test.js.snap +12 -16
  36. package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +48 -60
  37. package/v2Containers/Templates/ChannelTypeIllustration.js +1 -13
  38. package/v2Containers/Templates/_templates.scss +0 -205
  39. package/v2Containers/Templates/actions.js +1 -2
  40. package/v2Containers/Templates/constants.js +0 -1
  41. package/v2Containers/Templates/index.js +34 -274
  42. package/v2Containers/Templates/messages.js +0 -24
  43. package/v2Containers/Templates/reducer.js +0 -2
  44. package/v2Containers/Templates/tests/index.test.js +0 -10
  45. package/v2Containers/TemplatesV2/index.js +7 -15
  46. package/v2Containers/TemplatesV2/messages.js +0 -4
  47. package/v2Containers/Whatsapp/index.js +1 -1
  48. package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +870 -1442
  49. package/utils/imageUrlUpload.js +0 -141
  50. package/v2Components/CapImageUrlUpload/constants.js +0 -26
  51. package/v2Components/CapImageUrlUpload/index.js +0 -365
  52. package/v2Components/CapImageUrlUpload/index.scss +0 -35
  53. package/v2Components/CapImageUrlUpload/messages.js +0 -47
  54. package/v2Containers/WebPush/Create/components/BrandIconSection.js +0 -108
  55. package/v2Containers/WebPush/Create/components/ButtonForm.js +0 -172
  56. package/v2Containers/WebPush/Create/components/ButtonItem.js +0 -101
  57. package/v2Containers/WebPush/Create/components/ButtonList.js +0 -145
  58. package/v2Containers/WebPush/Create/components/ButtonsLinksSection.js +0 -164
  59. package/v2Containers/WebPush/Create/components/ButtonsLinksSection.test.js +0 -463
  60. package/v2Containers/WebPush/Create/components/FormActions.js +0 -54
  61. package/v2Containers/WebPush/Create/components/FormActions.test.js +0 -163
  62. package/v2Containers/WebPush/Create/components/MediaSection.js +0 -142
  63. package/v2Containers/WebPush/Create/components/MediaSection.test.js +0 -341
  64. package/v2Containers/WebPush/Create/components/MessageSection.js +0 -103
  65. package/v2Containers/WebPush/Create/components/MessageSection.test.js +0 -268
  66. package/v2Containers/WebPush/Create/components/NotificationTitleSection.js +0 -87
  67. package/v2Containers/WebPush/Create/components/NotificationTitleSection.test.js +0 -210
  68. package/v2Containers/WebPush/Create/components/TemplateNameSection.js +0 -54
  69. package/v2Containers/WebPush/Create/components/TemplateNameSection.test.js +0 -143
  70. package/v2Containers/WebPush/Create/components/__snapshots__/ButtonsLinksSection.test.js.snap +0 -86
  71. package/v2Containers/WebPush/Create/components/__snapshots__/FormActions.test.js.snap +0 -16
  72. package/v2Containers/WebPush/Create/components/__snapshots__/MediaSection.test.js.snap +0 -41
  73. package/v2Containers/WebPush/Create/components/__snapshots__/MessageSection.test.js.snap +0 -54
  74. package/v2Containers/WebPush/Create/components/__snapshots__/NotificationTitleSection.test.js.snap +0 -37
  75. package/v2Containers/WebPush/Create/components/__snapshots__/TemplateNameSection.test.js.snap +0 -21
  76. package/v2Containers/WebPush/Create/components/_buttons.scss +0 -246
  77. package/v2Containers/WebPush/Create/components/tests/ButtonForm.test.js +0 -554
  78. package/v2Containers/WebPush/Create/components/tests/ButtonItem.test.js +0 -607
  79. package/v2Containers/WebPush/Create/components/tests/ButtonList.test.js +0 -633
  80. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonForm.test.js.snap +0 -666
  81. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonItem.test.js.snap +0 -74
  82. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonList.test.js.snap +0 -78
  83. package/v2Containers/WebPush/Create/hooks/useButtonManagement.js +0 -138
  84. package/v2Containers/WebPush/Create/hooks/useButtonManagement.test.js +0 -406
  85. package/v2Containers/WebPush/Create/hooks/useCharacterCount.js +0 -30
  86. package/v2Containers/WebPush/Create/hooks/useCharacterCount.test.js +0 -151
  87. package/v2Containers/WebPush/Create/hooks/useImageUpload.js +0 -104
  88. package/v2Containers/WebPush/Create/hooks/useImageUpload.test.js +0 -538
  89. package/v2Containers/WebPush/Create/hooks/useTagManagement.js +0 -122
  90. package/v2Containers/WebPush/Create/hooks/useTagManagement.test.js +0 -633
  91. package/v2Containers/WebPush/Create/index.js +0 -1148
  92. package/v2Containers/WebPush/Create/index.scss +0 -134
  93. package/v2Containers/WebPush/Create/messages.js +0 -203
  94. package/v2Containers/WebPush/Create/preview/DevicePreviewContent.js +0 -228
  95. package/v2Containers/WebPush/Create/preview/NotificationContainer.js +0 -294
  96. package/v2Containers/WebPush/Create/preview/PreviewContent.js +0 -90
  97. package/v2Containers/WebPush/Create/preview/PreviewControls.js +0 -305
  98. package/v2Containers/WebPush/Create/preview/PreviewDisclaimer.js +0 -23
  99. package/v2Containers/WebPush/Create/preview/WebPushPreview.js +0 -155
  100. package/v2Containers/WebPush/Create/preview/assets/Light.svg +0 -53
  101. package/v2Containers/WebPush/Create/preview/assets/Top.svg +0 -5
  102. package/v2Containers/WebPush/Create/preview/assets/android-arrow-down.svg +0 -9
  103. package/v2Containers/WebPush/Create/preview/assets/android-arrow-up.svg +0 -9
  104. package/v2Containers/WebPush/Create/preview/assets/chrome-icon.png +0 -0
  105. package/v2Containers/WebPush/Create/preview/assets/edge-icon.png +0 -0
  106. package/v2Containers/WebPush/Create/preview/assets/firefox-icon.svg +0 -106
  107. package/v2Containers/WebPush/Create/preview/assets/iOS.svg +0 -26
  108. package/v2Containers/WebPush/Create/preview/assets/macos-arrow-down-icon.svg +0 -9
  109. package/v2Containers/WebPush/Create/preview/assets/macos-triple-dot-icon.svg +0 -9
  110. package/v2Containers/WebPush/Create/preview/assets/opera-icon.svg +0 -18
  111. package/v2Containers/WebPush/Create/preview/assets/safari-icon.svg +0 -29
  112. package/v2Containers/WebPush/Create/preview/assets/windows-close-icon.svg +0 -9
  113. package/v2Containers/WebPush/Create/preview/assets/windows-triple-dot-icon.svg +0 -9
  114. package/v2Containers/WebPush/Create/preview/components/AndroidMobileChromeHeader.js +0 -47
  115. package/v2Containers/WebPush/Create/preview/components/AndroidMobileExpanded.js +0 -141
  116. package/v2Containers/WebPush/Create/preview/components/IOSHeader.js +0 -45
  117. package/v2Containers/WebPush/Create/preview/components/NotificationExpandedContent.js +0 -68
  118. package/v2Containers/WebPush/Create/preview/components/NotificationHeader.js +0 -61
  119. package/v2Containers/WebPush/Create/preview/components/WindowsChromeExpanded.js +0 -99
  120. package/v2Containers/WebPush/Create/preview/components/tests/AndroidMobileExpanded.test.js +0 -733
  121. package/v2Containers/WebPush/Create/preview/components/tests/WindowsChromeExpanded.test.js +0 -571
  122. package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/AndroidMobileExpanded.test.js.snap +0 -81
  123. package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/WindowsChromeExpanded.test.js.snap +0 -81
  124. package/v2Containers/WebPush/Create/preview/config/notificationMappings.js +0 -50
  125. package/v2Containers/WebPush/Create/preview/constants.js +0 -637
  126. package/v2Containers/WebPush/Create/preview/notification-container.scss +0 -79
  127. package/v2Containers/WebPush/Create/preview/preview.scss +0 -351
  128. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-chrome.scss +0 -370
  129. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-edge.scss +0 -12
  130. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-firefox.scss +0 -12
  131. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-opera.scss +0 -12
  132. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-chrome.scss +0 -47
  133. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-edge.scss +0 -11
  134. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-firefox.scss +0 -11
  135. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-opera.scss +0 -11
  136. package/v2Containers/WebPush/Create/preview/styles/_base.scss +0 -207
  137. package/v2Containers/WebPush/Create/preview/styles/_ios.scss +0 -153
  138. package/v2Containers/WebPush/Create/preview/styles/_ipados.scss +0 -107
  139. package/v2Containers/WebPush/Create/preview/styles/_macos-chrome.scss +0 -101
  140. package/v2Containers/WebPush/Create/preview/styles/_windows-chrome.scss +0 -229
  141. package/v2Containers/WebPush/Create/preview/tests/DevicePreviewContent.test.js +0 -909
  142. package/v2Containers/WebPush/Create/preview/tests/NotificationContainer.test.js +0 -1081
  143. package/v2Containers/WebPush/Create/preview/tests/PreviewControls.test.js +0 -723
  144. package/v2Containers/WebPush/Create/preview/tests/WebPushPreview.test.js +0 -1327
  145. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/DevicePreviewContent.test.js.snap +0 -131
  146. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/NotificationContainer.test.js.snap +0 -112
  147. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/PreviewControls.test.js.snap +0 -144
  148. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/WebPushPreview.test.js.snap +0 -129
  149. package/v2Containers/WebPush/Create/utils/payloadBuilder.js +0 -96
  150. package/v2Containers/WebPush/Create/utils/payloadBuilder.test.js +0 -396
  151. package/v2Containers/WebPush/Create/utils/previewUtils.js +0 -89
  152. package/v2Containers/WebPush/Create/utils/urlValidation.js +0 -115
  153. package/v2Containers/WebPush/Create/utils/urlValidation.test.js +0 -449
  154. package/v2Containers/WebPush/Create/utils/validation.js +0 -75
  155. package/v2Containers/WebPush/Create/utils/validation.test.js +0 -283
  156. package/v2Containers/WebPush/actions.js +0 -60
  157. package/v2Containers/WebPush/constants.js +0 -132
  158. package/v2Containers/WebPush/index.js +0 -2
  159. package/v2Containers/WebPush/reducer.js +0 -104
  160. package/v2Containers/WebPush/sagas.js +0 -119
  161. package/v2Containers/WebPush/selectors.js +0 -65
  162. package/v2Containers/WebPush/tests/reducer.test.js +0 -863
  163. package/v2Containers/WebPush/tests/sagas.test.js +0 -566
  164. 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 } from 'react-intl';
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, WEBPUSH, WEBPUSH_BRAND_ICON
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 { CapHeadingSpan } = CapHeading;
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, { files }) => {
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({ file, type: 'image', fileParams }, incorrectFile);
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({ fileParams }, incorrectFile);
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, { files: [uploadData.file] });
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
- // For WEBPUSH, skip dimension validation - only check extension, size
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, channel, allowedExtensionsRegex, imgSize, formatMessage]);
190
+ }, [isImageError, isDrawerRequired]);
215
191
 
216
192
  const getGalleryDrawerContent = useCallback(() => {
217
193
  const locationGallery = {
218
194
  pathname: `/assets`,
219
195
  search: '',
220
- query: !isFullMode ? { type: 'embedded', module: 'library' } : {},
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" disabled={disabled} tabIndex={disabled ? -1 : undefined}>
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: `-${CAP_SPACE_16}` } : {}}
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, disabled, showReUploadButton, channel, channelSpecificStyle, capUploaderCustomRequest, onGalleryClick, onReUpload]);
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
- {[WEBPUSH, WEBPUSH_BRAND_ICON].includes(channel) && recommendedDimensions?.length ? (
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, WEBPUSH, WEBPUSH_BRAND_ICON].includes(channel) && getImageSizeLabel()}
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);
@@ -19,8 +19,5 @@ $classPrefix: cap-custom-image-upload;
19
19
  }
20
20
  .upload-image-error{
21
21
  margin-top: $CAP_SPACE_04;
22
- }
23
- .ant-upload-list-item{
24
- height: 1.65rem;
25
- }
22
+ }
26
23
  }
@@ -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 up to: {size}MB',
60
+ defaultMessage: 'Size upto: {size}MB',
65
61
  },
66
62
  RcschannelImageSize: {
67
63
  id: `${scope}.RcschannelImageSize`,
@@ -61,7 +61,7 @@ const InAppPreviewContent = ({
61
61
  src={deviceImage}
62
62
  alt={`${deviceName} Device`}
63
63
  />
64
- <CapRow className="sms-content-overlay">
64
+ <CapRow className="sms-content-overlay inapp-content-overlay-height">
65
65
  <CapRow className="sms-loading-container">
66
66
  <CapSpin size="large" />
67
67
  <CapRow className="sms-loading-text">
@@ -82,7 +82,7 @@ const InAppPreviewContent = ({
82
82
  src={deviceImage}
83
83
  alt={`${deviceName} Device`}
84
84
  />
85
- <CapRow className="sms-content-overlay">
85
+ <CapRow className="sms-content-overlay inapp-content-overlay-height">
86
86
  <CapRow className="sms-error-container">
87
87
  <CapIcon type="exclamation-circle" style={{ fontSize: '48px', color: '#ff4d4f' }} />
88
88
  <CapRow className="sms-error-text">
@@ -107,7 +107,7 @@ const InAppPreviewContent = ({
107
107
  />
108
108
 
109
109
  {/* Content Overlay - Use TemplatePreview's InApp structure (lines 1409-1486) */}
110
- <CapRow className={`sms-content-overlay ${!showHeader ? 'inapp-content-overlay' : ''} sms-${device}`}>
110
+ <CapRow className={`sms-content-overlay inapp-content-overlay-height ${!showHeader ? 'inapp-content-overlay' : ''} sms-${device}`}>
111
111
  {/* TemplatePreview InApp structure - shell-v2 wrapper */}
112
112
  <CapRow className={`inapp-shell-v2 inapp-${device}`}>
113
113
  {/* preview-image div wrapper */}
@@ -182,7 +182,7 @@ const RcsPreviewContent = ({
182
182
  src={deviceImage}
183
183
  alt={`${deviceName} Device`}
184
184
  />
185
- <CapRow className="sms-content-overlay">
185
+ <CapRow className={`sms-content-overlay sms-content-overlay-${device}`}>
186
186
  <CapRow className="sms-loading-container">
187
187
  <CapSpin size="large" />
188
188
  <CapRow className="sms-loading-text">
@@ -203,7 +203,7 @@ const RcsPreviewContent = ({
203
203
  src={deviceImage}
204
204
  alt={`${deviceName} Device`}
205
205
  />
206
- <CapRow className="sms-content-overlay">
206
+ <CapRow className={`sms-content-overlay sms-content-overlay-${device}`}>
207
207
  <CapRow className="sms-error-container">
208
208
  <CapIcon type="exclamation-circle" className="exclamation-circle" />
209
209
  <CapRow className="sms-error-text">
@@ -239,7 +239,7 @@ const RcsPreviewContent = ({
239
239
  />
240
240
 
241
241
  {/* Content Overlay */}
242
- <CapRow className={`sms-content-overlay sms-preview sms-${device}`}>
242
+ <CapRow className={`sms-content-overlay sms-content-overlay-${device} sms-preview sms-${device}`}>
243
243
  {/* Navigation Bar - Same as SMS */}
244
244
  <CapRow className={`sms-navigation-bar ${!showHeader ? 'sms-navigation-bar-no-header' : ''}`}>
245
245
  <CapIcon type="chevron-left" className="sms-back-arrow" />
@@ -50,7 +50,7 @@ const SmsPreviewContent = ({
50
50
  src={deviceImage}
51
51
  alt={`${deviceName} Device`}
52
52
  />
53
- <CapRow className="sms-content-overlay">
53
+ <CapRow className={`sms-content-overlay sms-content-overlay-${device}`}>
54
54
  <CapRow className="sms-loading-container">
55
55
  <CapSpin size="large" />
56
56
  <CapRow className="sms-loading-text">
@@ -71,7 +71,7 @@ const SmsPreviewContent = ({
71
71
  src={deviceImage}
72
72
  alt={`${deviceName} Device`}
73
73
  />
74
- <CapRow className="sms-content-overlay">
74
+ <CapRow className={`sms-content-overlay sms-content-overlay-${device}`}>
75
75
  <CapRow className="sms-error-container">
76
76
  <CapIcon type="exclamation-circle" className="exclamation-circle" />
77
77
  <CapRow className="sms-error-text">
@@ -104,7 +104,7 @@ const SmsPreviewContent = ({
104
104
  />
105
105
 
106
106
  {/* Content Overlay */}
107
- <CapRow className={`sms-content-overlay sms-preview sms-${device}`}>
107
+ <CapRow className={`sms-content-overlay sms-content-overlay-${device} sms-preview sms-${device}`}>
108
108
  {/* Navigation Bar */}
109
109
  <CapRow className={`sms-navigation-bar ${!showHeader ? 'sms-navigation-bar-no-header' : ''}`}>
110
110
  <CapIcon type="chevron-left" className="sms-back-arrow" />
@@ -65,7 +65,7 @@ const ViberPreviewContent = ({
65
65
  src={deviceImage}
66
66
  alt={`${deviceName} Device`}
67
67
  />
68
- <CapRow className="sms-content-overlay viber-content-overlay">
68
+ <CapRow className={`sms-content-overlay sms-content-overlay-${device} viber-content-overlay`}>
69
69
  <CapRow className="sms-loading-container">
70
70
  <CapSpin size="large" />
71
71
  <CapRow className="sms-loading-text">
@@ -86,7 +86,7 @@ const ViberPreviewContent = ({
86
86
  src={deviceImage}
87
87
  alt={`${deviceName} Device`}
88
88
  />
89
- <CapRow className="sms-content-overlay viber-content-overlay">
89
+ <CapRow className={`sms-content-overlay sms-content-overlay-${device} viber-content-overlay`}>
90
90
  <CapRow className="sms-error-container">
91
91
  <CapIcon type="exclamation-circle" className="exclamation-circle" />
92
92
  <CapRow className="sms-error-text">
@@ -113,7 +113,7 @@ const ViberPreviewContent = ({
113
113
  />
114
114
 
115
115
  {/* Content Overlay */}
116
- <CapRow className={`sms-content-overlay ${device === ANDROID ? 'viber-content-overlay' : ''} viber-preview viber-${device}`}>
116
+ <CapRow className={`sms-content-overlay sms-content-overlay-${device} ${device === ANDROID ? 'viber-content-overlay' : ''} viber-preview viber-${device}`}>
117
117
  {/* Navigation Bar (same as SMS) */}
118
118
  <CapRow className={`sms-navigation-bar ${device === ANDROID && !showHeader ? 'viber-navigation-bar' : ''}`}>
119
119
  <CapIcon type="chevron-left" className="sms-back-arrow" />
@@ -122,7 +122,7 @@ const WhatsAppPreviewContent = ({
122
122
  src={deviceImage}
123
123
  alt={formatMessage(messages.previewGenerated)}
124
124
  />
125
- <CapLabel className="whatsapp-brand-name">
125
+ <CapLabel className={`whatsapp-brand-name whatsapp-brand-name-${device}`}>
126
126
  {accountName || ''}
127
127
  </CapLabel>
128
128
  <CapRow className={`msg-container whatsapp-message-container ${content?.carouselData && 'msg-container-carousel'}`}>
@@ -495,7 +495,6 @@
495
495
 
496
496
  // Email Content
497
497
  .email-content {
498
- height: 42.857rem;
499
498
  border-top: $CAP_SPACE_01 solid $CAP_G12;
500
499
  padding: 0 1.142rem;
501
500
  position: relative;
@@ -504,7 +503,6 @@
504
503
  iframe {
505
504
  border: none;
506
505
  width: 100%;
507
- height: 100%;
508
506
  display: block;
509
507
  }
510
508
 
@@ -582,6 +580,18 @@
582
580
  display: flex;
583
581
  flex-direction: column;
584
582
 
583
+ &.sms-content-overlay-android {
584
+ height: calc(100% - 3.8rem);
585
+ }
586
+
587
+ &.sms-content-overlay-ios {
588
+ height: calc(100% - 5rem);
589
+ }
590
+
591
+ &.inapp-content-overlay-height {
592
+ height: calc(100% - 4.8rem);
593
+ }
594
+
585
595
  // Android-specific overrides for SMS preview
586
596
  &.sms-preview.sms-android {
587
597
  top: 3.1rem;
@@ -856,15 +866,23 @@
856
866
 
857
867
  .whatsapp-brand-name {
858
868
  position: absolute;
859
- top: 8.5%;
860
- left: 35%;
861
- color: $CAP_WHITE;
862
869
  font-size: small;
863
870
  max-width: 7.143rem;
864
871
  text-overflow: ellipsis;
865
872
  overflow: hidden;
866
873
  white-space: nowrap;
874
+ }
875
+
876
+ .whatsapp-brand-name-android {
877
+ color: $CAP_WHITE;
867
878
  background-color: #006D60;
879
+ top: 8.5%;
880
+ left: 35%;
881
+ }
882
+ .whatsapp-brand-name-ios {
883
+ background-color: $CAP_WHITE;
884
+ top: 8%;
885
+ left: 37%;
868
886
  }
869
887
 
870
888
  .whatsapp-divider {
@@ -1007,6 +1025,9 @@
1007
1025
  width: $CAP_SPACE_48;
1008
1026
  height: $CAP_SPACE_48;
1009
1027
  filter: drop-shadow(0 $CAP_SPACE_02 $CAP_SPACE_04 rgba(0, 0, 0, 0.3));
1028
+ position: relative;
1029
+ right: 0;
1030
+ bottom: 0;
1010
1031
  }
1011
1032
  }
1012
1033
  }
@@ -1095,6 +1116,8 @@
1095
1116
  height: 100%;
1096
1117
  align-items: center;
1097
1118
  padding: 0 $CAP_SPACE_16;
1119
+ border-bottom-left-radius: 2.6rem;
1120
+ border-bottom-right-radius: 2.6rem;
1098
1121
  .inapp-title-FULLSCREEN {
1099
1122
  align-items: center;
1100
1123
  text-align: center;
@@ -1159,7 +1182,7 @@
1159
1182
  border-radius: $CAP_SPACE_16;
1160
1183
  align-items: center;
1161
1184
  padding: $CAP_SPACE_04 $CAP_SPACE_16;
1162
- top: 55%;
1185
+ top: 80%;
1163
1186
  .inapp-title-FOOTER {
1164
1187
  position: relative;
1165
1188
  padding-left: 5.857rem;
@@ -2019,6 +2042,9 @@
2019
2042
  width: $CAP_SPACE_48;
2020
2043
  height: $CAP_SPACE_48;
2021
2044
  filter: drop-shadow(0 $CAP_SPACE_02 $CAP_SPACE_04 rgba(0, 0, 0, 0.3));
2045
+ position: relative;
2046
+ right: 0;
2047
+ bottom: 0;
2022
2048
  }
2023
2049
  }
2024
2050
  }
@@ -2067,6 +2093,8 @@
2067
2093
  background-color: #ffffff;
2068
2094
  margin-left: $CAP_SPACE_06;
2069
2095
  margin-right: $CAP_SPACE_08;
2096
+ border-bottom-left-radius: 2.6rem;
2097
+ border-bottom-right-radius: 2.6rem;
2070
2098
 
2071
2099
  // Brand name display (from TemplatePreview line 1136)
2072
2100
  .viber-brand-name {
@@ -2153,6 +2181,9 @@
2153
2181
  width: $CAP_SPACE_48;
2154
2182
  height: $CAP_SPACE_48;
2155
2183
  filter: drop-shadow(0 $CAP_SPACE_02 $CAP_SPACE_04 rgba(0, 0, 0, 0.3));
2184
+ position: relative;
2185
+ right: 0;
2186
+ bottom: 0;
2156
2187
  }
2157
2188
  }
2158
2189
  }
@@ -50,7 +50,6 @@
50
50
  .test-and-preview-panels {
51
51
  display: flex;
52
52
  flex: 1;
53
- overflow: hidden;
54
53
  }
55
54
 
56
55
  .left-panel {
@@ -541,7 +540,6 @@
541
540
  }
542
541
 
543
542
  .email-content {
544
- height: 42.857rem; // Or adjust as needed
545
543
  border-top: $CAP_SPACE_01 solid $CAP_G12;
546
544
  padding: 0 $CAP_SPACE_16;
547
545
  iframe {
@@ -739,8 +739,7 @@
739
739
  .whatsapp-brand-name {
740
740
  position: absolute;
741
741
  top: 8%;
742
- left: 35%;
743
- color: white;
742
+ left: 37%;
744
743
  font-size: small;
745
744
  max-width: 100px;
746
745
  text-overflow: ellipsis;
@@ -45,7 +45,6 @@
45
45
  .test-and-preview-panels {
46
46
  display: flex;
47
47
  flex: 1;
48
- overflow: hidden;
49
48
  }
50
49
 
51
50
  .left-panel {
@@ -40,7 +40,6 @@ export const TRACK_CREATE_IMAGE = 'createImage';
40
40
  export const TRACK_CREATE_LINE = 'createLine';
41
41
  export const TRACK_CREATE_VIBER = 'createViber';
42
42
  export const TRACK_CREATE_FACEBOOK = 'createFacebook';
43
- export const TRACK_CREATE_WEBPUSH = 'createWebPush';
44
43
 
45
44
  export const CREATE = 'create';
46
45
  export const EDIT = 'edit';
@@ -55,7 +54,6 @@ export const EMAIL = 'email';
55
54
  export const ASSETS = 'assets';
56
55
  export const ZALO = 'zalo';
57
56
  export const INAPP = 'inapp';
58
- export const WEBPUSH = 'webpush';
59
57
 
60
58
  export const JP_LOCALE_HIDE_FEATURE = 'JP_LOCALE_HIDE_FEATURE';
61
59
 
@@ -67,7 +65,6 @@ export const TRACK_EDIT_IMAGE = 'editImage';
67
65
  export const TRACK_EDIT_LINE = 'editLine';
68
66
  export const TRACK_EDIT_VIBER = 'editViber';
69
67
  export const TRACK_EDIT_FACEBOOK = 'editFacebook';
70
- export const TRACK_EDIT_WEBPUSH = 'editWebPush';
71
68
 
72
69
  export const CHANNEL_CREATE_TRACK_MAPPING = {
73
70
  sms: TRACK_CREATE_SMS,
@@ -78,7 +75,6 @@ export const CHANNEL_CREATE_TRACK_MAPPING = {
78
75
  line: TRACK_CREATE_LINE,
79
76
  viber: TRACK_CREATE_VIBER,
80
77
  facebook: TRACK_CREATE_FACEBOOK,
81
- webpush: TRACK_CREATE_WEBPUSH,
82
78
  };
83
79
 
84
80
  export const CHANNEL_EDIT_TRACK_MAPPING = {
@@ -90,7 +86,6 @@ export const CHANNEL_EDIT_TRACK_MAPPING = {
90
86
  line: TRACK_EDIT_LINE,
91
87
  viber: TRACK_EDIT_VIBER,
92
88
  facebook: TRACK_EDIT_FACEBOOK,
93
- webpush: TRACK_EDIT_WEBPUSH,
94
89
  };
95
90
  export const GTM_TRACKING_ID = 'UA-110024621-2';
96
91
  export const BEE_PLUGIN = 'BEE_PLUGIN';
@@ -243,7 +243,7 @@ exports[`<Cap /> should render correct component 1`] = `
243
243
  "creatives.componentsV2.CapDocumentUpload.imageDimenstionDescription": "Dimensions upto: {width}px x {height}px",
244
244
  "creatives.componentsV2.CapDocumentUpload.or": "OR",
245
245
  "creatives.componentsV2.CapDocumentUpload.uploadComputer": "Select from computer",
246
- "creatives.componentsV2.CapDocumentUpload.whatsappDocSize": "Size up to: {size}",
246
+ "creatives.componentsV2.CapDocumentUpload.whatsappDocSize": "Size upto: {size}",
247
247
  "creatives.componentsV2.CapImageUpload.aspectRatio": "Aspect ratio: 1:1",
248
248
  "creatives.componentsV2.CapImageUpload.dragAndDrop": "Drag and drop image here",
249
249
  "creatives.componentsV2.CapImageUpload.format": "Format: JPEG, JPG, PNG",
@@ -251,13 +251,13 @@ exports[`<Cap /> should render correct component 1`] = `
251
251
  "creatives.componentsV2.CapImageUpload.imageErrorDesc": "Please upload the image with allowed file extension, size, dimension and aspect ratio",
252
252
  "creatives.componentsV2.CapImageUpload.imageGallery": "Gallery",
253
253
  "creatives.componentsV2.CapImageUpload.imageReUpload": "Reupload",
254
- "creatives.componentsV2.CapImageUpload.imageSize": "Size up to: 2MB",
254
+ "creatives.componentsV2.CapImageUpload.imageSize": "Size upto: 2MB",
255
255
  "creatives.componentsV2.CapImageUpload.or": "OR",
256
256
  "creatives.componentsV2.CapImageUpload.uploadComputer": "Select from computer",
257
257
  "creatives.componentsV2.CapImageUpload.uploadGallery": "Gallery",
258
258
  "creatives.componentsV2.CapImageUpload.uploadImageDescription": "The relevant image that complements the message context.",
259
259
  "creatives.componentsV2.CapImageUpload.whatsappAspectRatio": "Max aspect ratio: 1.91:1",
260
- "creatives.componentsV2.CapImageUpload.whatsappImageSize": "Size up to: 5MB",
260
+ "creatives.componentsV2.CapImageUpload.whatsappImageSize": "Size upto: 5MB",
261
261
  "creatives.componentsV2.CapTagList.Cancel": "Cancel",
262
262
  "creatives.componentsV2.CapTagList.Ok": "Ok",
263
263
  "creatives.componentsV2.CapTagList.all": "All",
@@ -1950,7 +1950,6 @@ new message content.",
1950
1950
  "creatives.containersV2.WeChat.templateName": "Template Name",
1951
1951
  "creatives.containersV2.WeChat.wechatCreateSuccess": "WeChat template mapped successfully",
1952
1952
  "creatives.containersV2.WeChat.wechatEditSuccess": "WeChat template edited successfully",
1953
- "creatives.containersV2.WebPush.addLabels": "Add labels",
1954
1953
  "creatives.containersV2.Whatsapp.IncorrectCategoryError": "INCORRECT CATEGORY: Message content different from expected content in the category selected. Refer {here} for expected content in each category.",
1955
1954
  "creatives.containersV2.Whatsapp.accountUpdate": "Account update",
1956
1955
  "creatives.containersV2.Whatsapp.accountUpdateTooltip": "Let customers know about updates or changes to their accounts.",