@capillarytech/creatives-library 8.0.340-0 → 8.0.340-beta.0

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 (134) hide show
  1. package/app.js +8 -1
  2. package/global-styles.js +4 -0
  3. package/package.json +2 -2
  4. package/styles/components/navigation/_leftnav.scss +1 -1
  5. package/v2Components/AccessForbidden/index.js +1 -1
  6. package/v2Components/CapActionButton/index.js +5 -5
  7. package/v2Components/CapCustomSkeleton/index.js +1 -1
  8. package/v2Components/CapDeviceContent/index.js +5 -5
  9. package/v2Components/CapDocumentUpload/index.js +1 -1
  10. package/v2Components/CapImageUpload/index.js +1 -1
  11. package/v2Components/CapInAppCTA/index.js +118 -112
  12. package/v2Components/CapMpushCTA/index.js +72 -66
  13. package/v2Components/CapTagList/index.js +5 -5
  14. package/v2Components/CapVideoUpload/index.js +1 -1
  15. package/v2Components/CapWhatsappCTA/index.js +128 -124
  16. package/v2Components/CapWhatsappCarouselButton/index.js +27 -29
  17. package/v2Components/CapWhatsappQuickReply/index.js +7 -7
  18. package/v2Components/Carousel/index.js +1 -1
  19. package/v2Components/CommonTestAndPreview/AddTestCustomer.js +1 -1
  20. package/v2Components/CommonTestAndPreview/CustomValuesEditor.js +3 -3
  21. package/v2Components/CommonTestAndPreview/CustomerCreationModal.js +1 -1
  22. package/v2Components/CommonTestAndPreview/DeliverySettings/ModifyDeliverySettings.js +4 -4
  23. package/v2Components/CommonTestAndPreview/DeliverySettings/index.js +1 -1
  24. package/v2Components/CommonTestAndPreview/ExistingCustomerModal.js +6 -6
  25. package/v2Components/CommonTestAndPreview/LeftPanelContent.js +5 -5
  26. package/v2Components/CommonTestAndPreview/PreviewSection.js +1 -1
  27. package/v2Components/CommonTestAndPreview/UnifiedPreview/DeviceFrame.js +1 -1
  28. package/v2Components/CommonTestAndPreview/UnifiedPreview/EmailPreviewContent.js +8 -8
  29. package/v2Components/CommonTestAndPreview/UnifiedPreview/InAppPreviewContent.js +14 -13
  30. package/v2Components/CommonTestAndPreview/UnifiedPreview/MobilePushPreviewContent.js +22 -21
  31. package/v2Components/CommonTestAndPreview/UnifiedPreview/RcsPreviewContent.js +9 -9
  32. package/v2Components/CommonTestAndPreview/UnifiedPreview/SmsPreviewContent.js +8 -8
  33. package/v2Components/CommonTestAndPreview/UnifiedPreview/ViberPreviewContent.js +10 -10
  34. package/v2Components/CommonTestAndPreview/UnifiedPreview/WhatsAppPreviewContent.js +13 -12
  35. package/v2Components/CommonTestAndPreview/UnifiedPreview/ZaloPreviewContent.js +4 -3
  36. package/v2Components/CommonTestAndPreview/UnifiedPreview/_unifiedPreview.scss +10 -5
  37. package/v2Components/CommonTestAndPreview/UnifiedPreview/index.js +1 -1
  38. package/v2Components/CommonTestAndPreview/_commonTestAndPreview.scss +3 -4
  39. package/v2Components/CommonTestAndPreview/index.js +1 -1
  40. package/v2Components/CustomerSearchSection/_customerSearch.scss +2 -1
  41. package/v2Components/CustomerSearchSection/index.js +9 -9
  42. package/v2Components/EmailMobilePreview/index.js +1 -1
  43. package/v2Components/ErrorInfoNote/index.js +13 -11
  44. package/v2Components/ErrorInfoNote/style.scss +1 -1
  45. package/v2Components/FormBuilder/_formBuilder.scss +1 -0
  46. package/v2Components/FormBuilder/index.js +32 -40
  47. package/v2Components/HtmlEditor/HTMLEditor.js +4 -4
  48. package/v2Components/HtmlEditor/_htmlEditor.scss +2 -1
  49. package/v2Components/HtmlEditor/components/CodeEditorPane/index.js +1 -1
  50. package/v2Components/HtmlEditor/components/DeviceToggle/_deviceToggle.scss +2 -2
  51. package/v2Components/HtmlEditor/components/DeviceToggle/index.js +2 -2
  52. package/v2Components/HtmlEditor/components/EditorToolbar/PreviewModeGroup.js +2 -2
  53. package/v2Components/HtmlEditor/components/EditorToolbar/index.js +2 -2
  54. package/v2Components/HtmlEditor/components/InAppPreviewPane/index.js +1 -0
  55. package/v2Components/HtmlEditor/components/PreviewPane/index.js +2 -2
  56. package/v2Components/HtmlEditor/components/SplitContainer/SplitContainer.js +2 -2
  57. package/v2Components/HtmlEditor/components/SplitContainer/_splitContainer.scss +2 -1
  58. package/v2Components/HtmlEditor/components/ValidationPanel/index.js +6 -9
  59. package/v2Components/HtmlEditor/components/ValidationTabs/index.js +2 -2
  60. package/v2Components/NavigationBar/index.js +7 -1
  61. package/v2Components/TemplatePreview/WechatRichmediaTemplatePreview/index.js +3 -4
  62. package/v2Components/TemplatePreview/_templatePreview.scss +5 -3
  63. package/v2Components/TemplatePreview/index.js +11 -9
  64. package/v2Components/TestAndPreviewSlidebox/CustomValuesEditor.js +3 -3
  65. package/v2Components/TestAndPreviewSlidebox/LeftPanelContent.js +5 -5
  66. package/v2Components/TestAndPreviewSlidebox/PreviewSection.js +3 -3
  67. package/v2Components/TestAndPreviewSlidebox/_testAndPreviewSlidebox.scss +4 -2
  68. package/v2Containers/BeePopupEditor/index.js +1 -1
  69. package/v2Containers/CommunicationFlow/CommunicationFlow.js +5 -5
  70. package/v2Containers/CommunicationFlow/steps/ChannelSelectionStep/ChannelSelectionStep.js +4 -3
  71. package/v2Containers/CommunicationFlow/steps/CommunicationStrategyStep/CommunicationStrategyStep.js +2 -2
  72. package/v2Containers/CommunicationFlow/steps/DeliverySettingsStep/DeliverySettingsSection.js +3 -2
  73. package/v2Containers/CommunicationFlow/steps/DeliverySettingsStep/SenderDetails.js +7 -7
  74. package/v2Containers/CommunicationFlow/steps/DeliverySettingsStep/SenderDetails.scss +0 -5
  75. package/v2Containers/CommunicationFlow/steps/DynamicControlsStep/DynamicControlsStep.js +2 -2
  76. package/v2Containers/CommunicationFlow/steps/MessageTypeStep/MessageTypeStep.js +2 -2
  77. package/v2Containers/CreativesContainer/SlideBoxFooter.js +1 -1
  78. package/v2Containers/CreativesContainer/index.js +1 -1
  79. package/v2Containers/Ebill/index.js +10 -9
  80. package/v2Containers/Email/index.js +7 -7
  81. package/v2Containers/Email/initialSchema.js +1 -1
  82. package/v2Containers/FTP/index.js +1 -1
  83. package/v2Containers/Facebook/Advertisement/index.js +4 -4
  84. package/v2Containers/Facebook/index.js +2 -2
  85. package/v2Containers/InApp/index.js +21 -16
  86. package/v2Containers/InApp/index.scss +0 -7
  87. package/v2Containers/InAppWrapper/components/InAppWrapperView.js +2 -2
  88. package/v2Containers/InappAdvance/index.js +4 -4
  89. package/v2Containers/LanguageProvider/index.js +3 -3
  90. package/v2Containers/LanguageProvider/tests/index.test.js +3 -3
  91. package/v2Containers/Line/Container/Image/index.js +1 -1
  92. package/v2Containers/Line/Container/ImageCarousel/Content.js +1 -1
  93. package/v2Containers/Line/Container/ImageCarousel/index.js +5 -5
  94. package/v2Containers/Line/Container/ImageMap/index.js +3 -3
  95. package/v2Containers/Line/Container/Sticker/index.js +2 -2
  96. package/v2Containers/Line/Container/Sticker/utils.js +1 -1
  97. package/v2Containers/Line/Container/Video/index.js +1 -1
  98. package/v2Containers/Line/Container/Wrapper/index.js +3 -3
  99. package/v2Containers/Line/Container/Wrapper/style.js +1 -5
  100. package/v2Containers/Line/Container/index.js +2 -2
  101. package/v2Containers/Login/components/LoginForm/index.js +34 -47
  102. package/v2Containers/Login/index.js +5 -5
  103. package/v2Containers/MobilePushNew/components/CtaButtons.js +2 -2
  104. package/v2Containers/MobilePushNew/components/MediaUploaders.js +9 -9
  105. package/v2Containers/MobilePushNew/components/PlatformContentFields.js +4 -4
  106. package/v2Containers/MobilePushNew/index.js +2 -2
  107. package/v2Containers/MobilePushNew/index.scss +6 -3
  108. package/v2Containers/Rcs/index.js +24 -19
  109. package/v2Containers/Rcs/index.scss +0 -7
  110. package/v2Containers/SmsTrai/Edit/index.js +3 -2
  111. package/v2Containers/Templates/index.js +16 -16
  112. package/v2Containers/Viber/constants.js +0 -8
  113. package/v2Containers/Viber/index.js +19 -19
  114. package/v2Containers/Viber/index.scss +0 -7
  115. package/v2Containers/Viber/reducer.js +21 -44
  116. package/v2Containers/Viber/sagas.js +21 -62
  117. package/v2Containers/Viber/tests/index.test.js +0 -80
  118. package/v2Containers/Viber/tests/saga.test.js +40 -365
  119. package/v2Containers/WeChat/RichmediaTemplates/Create/_createRichmedia.scss +1 -1
  120. package/v2Containers/WeChat/RichmediaTemplates/Create/index.js +2 -2
  121. package/v2Containers/WebPush/Create/components/BrandIconSection.js +1 -1
  122. package/v2Containers/WebPush/Create/components/ButtonForm.js +2 -2
  123. package/v2Containers/WebPush/Create/components/ButtonList.js +4 -4
  124. package/v2Containers/WebPush/Create/components/ButtonsLinksSection.js +4 -4
  125. package/v2Containers/WebPush/Create/components/FormActions.js +3 -3
  126. package/v2Containers/WebPush/Create/components/MessageSection.js +2 -2
  127. package/v2Containers/WebPush/Create/components/NotificationTitleSection.js +2 -2
  128. package/v2Containers/WebPush/Create/components/_buttons.scss +2 -2
  129. package/v2Containers/WebPush/Create/index.scss +6 -3
  130. package/v2Containers/WebPush/Create/preview/WebPushPreview.js +1 -1
  131. package/v2Containers/Whatsapp/index.js +28 -28
  132. package/v2Containers/Zalo/index.js +3 -3
  133. package/.npmrc copy +0 -2
  134. package/v2Containers/Viber/tests/reducer.test.js +0 -297
package/app.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import 'babel-polyfill';
2
+ import 'whatwg-fetch';
2
3
  import React from 'react';
3
4
  import { createRoot } from 'react-dom/client';
4
5
  import { Provider } from 'react-redux';
@@ -26,6 +27,10 @@ import './styles/main.scss';
26
27
  import pathConfig from './config/path';
27
28
  import ignoredErrorMessages from './utils/ignoredErrorMessages';
28
29
  import App from './containers/App';
30
+ import ConfigProvider from 'antd/lib/config-provider';
31
+ import { getCapThemeConfig, loadCapUI } from '@capillarytech/cap-ui-library/utils';
32
+
33
+ loadCapUI();
29
34
 
30
35
  try {
31
36
  const { setupNewrelicWebVitals } = require('./newRelic/utils');
@@ -114,7 +119,9 @@ const render = (messages) => {
114
119
  <Provider store={store}>
115
120
  <LanguageProvider messages={messages}>
116
121
  <ErrorBoundary FallbackComponent={ErrorScreen}>
117
- <App />
122
+ <ConfigProvider theme={getCapThemeConfig()}>
123
+ <App />
124
+ </ConfigProvider>
118
125
  </ErrorBoundary>
119
126
  </LanguageProvider>
120
127
  </Provider>,
package/global-styles.js CHANGED
@@ -17,4 +17,8 @@ export default createGlobalStyle`
17
17
  .text-align-center {
18
18
  text-align: center;
19
19
  }
20
+
21
+ .ant-spin-nested-loading {
22
+ width: 100%;
23
+ }
20
24
  `;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@capillarytech/creatives-library",
3
3
  "author": "meharaj",
4
- "version": "8.0.340-0",
4
+ "version": "8.0.340-beta.0",
5
5
  "description": "Capillary creatives ui",
6
6
  "main": "./index.js",
7
7
  "module": "./index.es.js",
@@ -17,7 +17,7 @@
17
17
  "@bugsnag/js": "^7.2.1",
18
18
  "@bugsnag/plugin-react": "7.2.1",
19
19
  "@capillarytech/cap-ui-utils": "3.0.4",
20
- "@capillarytech/vulcan-react-sdk": "^2.3.5",
20
+ "@capillarytech/vulcan-react-sdk": "3.0.1",
21
21
  "@codemirror/autocomplete": "^6.19.0",
22
22
  "@codemirror/lang-css": "^6.3.1",
23
23
  "@codemirror/lang-html": "^6.4.11",
@@ -221,6 +221,6 @@
221
221
  width: 11.25rem;
222
222
  }
223
223
 
224
- .l1-enabled-popover-container .ant-popover-inner-content .l2-quick-link-container {
224
+ .l1-enabled-popover-container .l2-quick-link-container {
225
225
  padding: 0.571rem 0.471rem;
226
226
  }
@@ -4,7 +4,7 @@ import { CapRow, CapHeading } from '@capillarytech/cap-ui-library';
4
4
  import messages from './messages';
5
5
 
6
6
  const AccessForbidden = () => (
7
- <CapRow className="margin-t-32 text-align-center">
7
+ <CapRow useLegacy className="margin-t-32 text-align-center">
8
8
  <CapHeading type="h2">
9
9
  <FormattedMessage {...messages.forbiddenHeader} />
10
10
  </CapHeading>
@@ -245,7 +245,7 @@ export const CapActionButton = (props) => {
245
245
  {renderLength(phoneNumber.length, PHONE_NUMBER_MAX_LENGTH)}
246
246
  </CapColumn>
247
247
  </CapRow>
248
- <CapRow className="rcs-cta-save-delete-btn">
248
+ <CapRow useLegacy className="rcs-cta-save-delete-btn">
249
249
  <CapTooltip
250
250
  title={ctaSaveDisabled(index) && formatMessage(messages.ctaSaveDisabled)}
251
251
  placement="bottom"
@@ -290,7 +290,7 @@ export const CapActionButton = (props) => {
290
290
  {renderLength(url.length, URL_MAX_LENGTH)}
291
291
  </CapColumn>
292
292
  </CapRow>
293
- <CapRow className="rcs-cta-save-delete-btn">
293
+ <CapRow useLegacy className="rcs-cta-save-delete-btn">
294
294
  <CapTooltip
295
295
  title={
296
296
  ctaSaveDisabled(index) && formatMessage(messages.ctaSaveDisabled)
@@ -318,7 +318,7 @@ export const CapActionButton = (props) => {
318
318
  </>
319
319
  )}
320
320
  {type === RCS_BUTTON_TYPES.QUICK_REPLY && (
321
- <CapRow className="rcs-cta-save-delete-btn">
321
+ <CapRow useLegacy className="rcs-cta-save-delete-btn">
322
322
  <CapTooltip
323
323
  title={ctaSaveDisabled(index) && formatMessage(messages.ctaSaveDisabled)}
324
324
  placement="bottom"
@@ -413,7 +413,7 @@ export const CapActionButton = (props) => {
413
413
  suggestions.length < maxButtons &&
414
414
  (isFullMode && !isEditFlow)
415
415
  && renderArray.push(
416
- <CapRow>
416
+ <CapRow useLegacy>
417
417
  <CapTooltip
418
418
  title={
419
419
  addBtnDisabled ? formatMessage(messages.ctaAddDisabled) : ''
@@ -422,7 +422,7 @@ export const CapActionButton = (props) => {
422
422
  >
423
423
  <div className="button-disabled-tooltip-wrapper">
424
424
  <CapButton
425
- type="flat"
425
+ type="link"
426
426
  id="rcs-cta-add-button"
427
427
  disabled={addBtnDisabled}
428
428
  className="margin-t-12 margin-l-24"
@@ -21,7 +21,7 @@ export default function CapCustomSkeleton(props) {
21
21
  paragraph={false}
22
22
  />
23
23
  {
24
- <CapRow gutter={16}>
24
+ <CapRow gap={16}>
25
25
  {Array.from({ length: 12 }).map((_, index) => (
26
26
  <CapColumn
27
27
  key={index}
@@ -201,8 +201,8 @@ const CapDeviceContent = (props) => {
201
201
  )}
202
202
  />
203
203
  </CapRow>
204
- <CapRow className="creatives-inapp-media">
205
- <CapRow className="inapp-content-media">
204
+ <CapRow useLegacy className="creatives-inapp-media">
205
+ <CapRow useLegacy className="inapp-content-media">
206
206
  <CapHeading type="h5" className="inapp-media-header">
207
207
  {formatMessage(messages.mediaLabel)}
208
208
  </CapHeading>
@@ -282,7 +282,7 @@ const CapDeviceContent = (props) => {
282
282
  )}
283
283
  </CapRow>
284
284
  </CapRow>
285
- <CapRow className="inapp-action-link">
285
+ <CapRow useLegacy className="inapp-action-link">
286
286
  <CapCheckbox onChange={onActionLinkCheckBoxChange} checked={addActionLink} />
287
287
  <CapRow className="inapp-render-heading">
288
288
  <CapHeader
@@ -296,7 +296,7 @@ const CapDeviceContent = (props) => {
296
296
  description={<CapLabel type="label3">{formatMessage(messages.addActionLinkDesc)}</CapLabel>}
297
297
  />
298
298
  {addActionLink && (
299
- <CapRow className="inapp-action-deep-link">
299
+ <CapRow useLegacy className="inapp-action-deep-link">
300
300
  <CapHeading type="h4">
301
301
  {formatMessage(messages.actionDeepLink)}
302
302
  </CapHeading>
@@ -313,7 +313,7 @@ const CapDeviceContent = (props) => {
313
313
  )}
314
314
  </CapRow>
315
315
  </CapRow>
316
- <CapRow className="inapp-cta-button">
316
+ <CapRow useLegacy className="inapp-cta-button">
317
317
  <CapHeader
318
318
  className="inapp-render-heading-cta-button"
319
319
  title={(
@@ -151,7 +151,7 @@ function CapDocumentUpload(props) {
151
151
  return (
152
152
  <CapButton
153
153
  className="dragger-button re-upload"
154
- type="flat"
154
+ type="link"
155
155
  onClick={onReUpload}
156
156
  >
157
157
  <FormattedMessage {...messages.docReUpload} />
@@ -287,7 +287,7 @@ function CapImageUpload(props) {
287
287
  return (
288
288
  <CapButton
289
289
  className="dragger-button re-upload"
290
- type="flat"
290
+ type="link"
291
291
  onClick={onReUpload}
292
292
  style={channelSpecificStyle ? { marginTop: `-${CAP_SPACE_16}` } : {}}
293
293
  disabled={disabled}
@@ -140,16 +140,18 @@ export const CapInAppCTA = (props) => {
140
140
  align="middle"
141
141
  type="flex"
142
142
  >
143
- <CapRow className="inapp-cta-row">
144
- <CapColumn>
145
- <CapIcon size="s" type={'launch'} className="btn-icon" />
146
- </CapColumn>
147
- <CapColumn className="btn-text">
148
- <CapLabel type="label2" className="inapp-saved-cta-button-text">
149
- {text}
150
- </CapLabel>
151
- </CapColumn>
152
- </CapRow>
143
+ <CapColumn>
144
+ <CapRow className="inapp-cta-row">
145
+ <CapColumn>
146
+ <CapIcon size="s" type={'launch'} className="btn-icon" />
147
+ </CapColumn>
148
+ <CapColumn className="btn-text">
149
+ <CapLabel type="label2" className="inapp-saved-cta-button-text">
150
+ {text}
151
+ </CapLabel>
152
+ </CapColumn>
153
+ </CapRow>
154
+ </CapColumn>
153
155
  <CapColumn >
154
156
  {urlType === DEEP_LINK ?
155
157
  <CapTag className="cta-type-label">{formatMessage(messages.urlDeepLink)}</CapTag>
@@ -158,7 +160,7 @@ export const CapInAppCTA = (props) => {
158
160
  <CapColumn>
159
161
  {urlType === DEEP_LINK ? selectedDeepLink?.label : ''}
160
162
  </CapColumn>
161
- {(
163
+ <CapColumn>
162
164
  <CapRow className="cta-action-grp">
163
165
  <CapColumn
164
166
  className="inapp-saved-cta-edit-icon"
@@ -170,7 +172,7 @@ export const CapInAppCTA = (props) => {
170
172
  <CapIcon size="s" type="delete" className="cta-action" ariaLabel="delete-cta-icon" />
171
173
  </CapColumn>
172
174
  </CapRow>
173
- )}
175
+ </CapColumn>
174
176
  </CapRow>
175
177
  );
176
178
  } else {
@@ -180,108 +182,112 @@ export const CapInAppCTA = (props) => {
180
182
  className="cap-inapp-cta"
181
183
  id={`cap-inapp-cta-${index}`}
182
184
  >
183
- <CapRow className="inapp-cta-buttons">
184
- <CapColumn span={12} >
185
- {/* Type of link */}
186
- <CapHeading type="h4" className="cta-label">
187
- {formatMessage(messages.ctaType)}
188
- </CapHeading>
189
- <CapSelect
190
- id="inapp-cta-type"
191
- options={CTA_OPTIONS || []}
192
- onChange={(value) => onUrlTypeChange(value, index)}
193
- value={urlType}
194
- />
195
- </CapColumn>
196
- <CapColumn span={12}>
197
- {/* Button text */}
198
- <CapHeading type="h4" className="cta-label">
199
- {formatMessage(messages.ctaButtonText)}
200
- <CapTooltipWithInfo
201
- infoIconProps={{
202
- style: { marginLeft: CAP_SPACE_04 },
203
- }}
204
- autoAdjustOverflow
205
- placement="right"
206
- title={formatMessage(messages.ctaButtonTextTooltip)}
185
+ <CapColumn>
186
+ <CapRow className="inapp-cta-buttons">
187
+ <CapColumn span={12} >
188
+ {/* Type of link */}
189
+ <CapHeading type="h4" className="cta-label">
190
+ {formatMessage(messages.ctaType)}
191
+ </CapHeading>
192
+ <CapSelect
193
+ id="inapp-cta-type"
194
+ options={CTA_OPTIONS || []}
195
+ onChange={(value) => onUrlTypeChange(value, index)}
196
+ value={urlType}
197
+ />
198
+ </CapColumn>
199
+ <CapColumn span={12}>
200
+ {/* Button text */}
201
+ <CapHeading type="h4" className="cta-label">
202
+ {formatMessage(messages.ctaButtonText)}
203
+ <CapTooltipWithInfo
204
+ infoIconProps={{
205
+ style: { marginLeft: CAP_SPACE_04 },
206
+ }}
207
+ autoAdjustOverflow
208
+ placement="right"
209
+ title={formatMessage(messages.ctaButtonTextTooltip)}
210
+ />
211
+ </CapHeading>
212
+ <CapInput
213
+ id={index}
214
+ className="inapp-cta-button-text"
215
+ onChange={onButtonTextChange}
216
+ placeholder={formatMessage(messages.ctaButtonTextPlaceholder)}
217
+ value={text}
218
+ maxLength={BTN_MAX_LENGTH}
219
+ errorMessage={buttonError}
207
220
  />
208
- </CapHeading>
209
- <CapInput
210
- id={index}
211
- className="inapp-cta-button-text"
212
- onChange={onButtonTextChange}
213
- placeholder={formatMessage(messages.ctaButtonTextPlaceholder)}
214
- value={text}
215
- maxLength={BTN_MAX_LENGTH}
216
- errorMessage={buttonError}
217
- />
218
- {renderLength(text.length, BTN_MAX_LENGTH)}
219
- </CapColumn>
220
- </CapRow>
221
- {urlType === DEEP_LINK && (
222
- <>
223
- <CapHeading type="h4">
224
- {formatMessage(messages.urlDeepLink)}
225
- </CapHeading>
226
- <CapSelect
227
- id="inapp-deep-link-type"
228
- placeholder={formatMessage(messages.ctaDeepLinkOptionsPlaceholder)}
229
- options={deepLink || []}
230
- onChange={onDeepLinkSelect}
231
- value={ctaDeepLinkValue}
232
- />
233
- </>
221
+ {renderLength(text.length, BTN_MAX_LENGTH)}
222
+ </CapColumn>
223
+ </CapRow>
224
+ {urlType === DEEP_LINK && (
225
+ <>
226
+ <CapHeading type="h4">
227
+ {formatMessage(messages.urlDeepLink)}
228
+ </CapHeading>
229
+ <CapSelect
230
+ id="inapp-deep-link-type"
231
+ placeholder={formatMessage(messages.ctaDeepLinkOptionsPlaceholder)}
232
+ options={deepLink || []}
233
+ onChange={onDeepLinkSelect}
234
+ value={ctaDeepLinkValue}
235
+ />
236
+ </>
234
237
 
235
- )}
236
- {urlType === EXTERNAL_URL && (
237
- <>
238
- <CapTagListWithInput
239
- inputId="inapp-cta-external-link"
240
- inputValue={url}
241
- inputOnChange={onUrlChange}
242
- inputPlaceholder={formatMessage(messages.ctaExternalLinkPlaceholder)}
243
- inputSize="large"
244
- inputMaxLength={URL_MAX_LENGTH}
245
- inputErrorMessage={urlError}
246
- headingText={formatMessage(messages.urlExternalLink)}
247
- headingStyle={{ marginTop: '3%',marginRight: '65%'}}
248
- moduleFilterEnabled={location?.query?.type !== "embedded"}
249
- onTagSelect={onButtonTagSelect}
250
- onContextChange={onContextChange}
251
- location={location}
252
- tags={tags || []}
253
- injectedTags={injectedTags || {}}
254
- selectedOfferDetails={selectedOfferDetails}
255
- />
256
- </>
257
- )}
258
- <CapRow className="inapp-cta-save-delete-btn">
259
- <CapTooltip
260
- title={
261
- ctaSaveDisabled(index)
262
- ? formatMessage(messages.ctaSaveDisabled)
263
- : ""
264
- }
265
- placement={"bottom"}
266
- >
267
- <div className="button-disabled-tooltip-wrapper">
268
- <CapButton
269
- onClick={() => isSavedCta(index, true)}
270
- disabled={ctaSaveDisabled(index)}
271
- className="inapp-cta-save-btn"
272
- >
273
- {formatMessage(globalMessages.save)}
274
- </CapButton>
275
- </div>
276
- </CapTooltip>
277
- <CapButton
278
- onClick={() => deleteHandler(index)}
279
- className="inapp-cta-delete-btn"
280
- type="secondary"
281
- >
282
- {formatMessage(globalMessages.delete)}
283
- </CapButton>
284
- </CapRow>
238
+ )}
239
+ {urlType === EXTERNAL_URL && (
240
+ <>
241
+ <CapTagListWithInput
242
+ inputId="inapp-cta-external-link"
243
+ inputValue={url}
244
+ inputOnChange={onUrlChange}
245
+ inputPlaceholder={formatMessage(messages.ctaExternalLinkPlaceholder)}
246
+ inputSize="large"
247
+ inputMaxLength={URL_MAX_LENGTH}
248
+ inputErrorMessage={urlError}
249
+ headingText={formatMessage(messages.urlExternalLink)}
250
+ headingStyle={{ marginTop: '3%',marginRight: '65%'}}
251
+ moduleFilterEnabled={location?.query?.type !== "embedded"}
252
+ onTagSelect={onButtonTagSelect}
253
+ onContextChange={onContextChange}
254
+ location={location}
255
+ tags={tags || []}
256
+ injectedTags={injectedTags || {}}
257
+ selectedOfferDetails={selectedOfferDetails}
258
+ />
259
+ </>
260
+ )}
261
+ </CapColumn>
262
+ <CapColumn>
263
+ <CapRow useLegacy className="inapp-cta-save-delete-btn">
264
+ <CapTooltip
265
+ title={
266
+ ctaSaveDisabled(index)
267
+ ? formatMessage(messages.ctaSaveDisabled)
268
+ : ""
269
+ }
270
+ placement={"bottom"}
271
+ >
272
+ <div className="button-disabled-tooltip-wrapper">
273
+ <CapButton
274
+ onClick={() => isSavedCta(index, true)}
275
+ disabled={ctaSaveDisabled(index)}
276
+ className="inapp-cta-save-btn"
277
+ >
278
+ {formatMessage(globalMessages.save)}
279
+ </CapButton>
280
+ </div>
281
+ </CapTooltip>
282
+ <CapButton
283
+ onClick={() => deleteHandler(index)}
284
+ className="inapp-cta-delete-btn"
285
+ type="secondary"
286
+ >
287
+ {formatMessage(globalMessages.delete)}
288
+ </CapButton>
289
+ </CapRow>
290
+ </CapColumn>
285
291
  </CapRow>
286
292
  );
287
293
  }
@@ -234,16 +234,18 @@ export const CapMpushCTA = (props) => {
234
234
  align="middle"
235
235
  type="flex"
236
236
  >
237
- <CapRow className="mpush-cta-row">
238
- <CapColumn>
239
- <CapIcon size="s" type={'launch'} />
240
- </CapColumn>
241
- <CapColumn className="btn-text">
242
- <CapLabel type="label2" className="mpush-saved-cta-button-text">
243
- {text}
244
- </CapLabel>
245
- </CapColumn>
246
- </CapRow>
237
+ <CapColumn>
238
+ <CapRow className="mpush-cta-row">
239
+ <CapColumn>
240
+ <CapIcon size="s" type={'launch'} />
241
+ </CapColumn>
242
+ <CapColumn className="btn-text">
243
+ <CapLabel type="label2" className="mpush-saved-cta-button-text">
244
+ {text}
245
+ </CapLabel>
246
+ </CapColumn>
247
+ </CapRow>
248
+ </CapColumn>
247
249
  <CapColumn >
248
250
  {urlType === DEEP_LINK ?
249
251
  <CapTag className="cta-type-label">{formatMessage(messages.urlDeepLink)}</CapTag>
@@ -254,7 +256,7 @@ export const CapMpushCTA = (props) => {
254
256
  </CapColumn>
255
257
  <CapColumn>
256
258
  </CapColumn>
257
- {(
259
+ <CapColumn>
258
260
  <CapRow className="cta-action-grp">
259
261
  <CapColumn
260
262
  className="mpush-saved-cta-edit-icon"
@@ -266,7 +268,7 @@ export const CapMpushCTA = (props) => {
266
268
  <CapIcon size="s" type="delete" className="cta-action" ariaLabel="delete-cta-icon" />
267
269
  </CapColumn>
268
270
  </CapRow>
269
- )}
271
+ </CapColumn>
270
272
  </CapRow>
271
273
  );
272
274
  } else {
@@ -290,7 +292,7 @@ export const CapMpushCTA = (props) => {
290
292
  {renderLength(text.length, BTN_MAX_LENGTH)}
291
293
  </CapColumn>
292
294
  <CapColumn className="mpush-cta-buttons">
293
- <CapRow style={{ width: '30%', marginRight: '10px' }}>
295
+ <CapRow useLegacy style={{ width: '30%', marginRight: '10px' }}>
294
296
  <CapHeading type="h4" className="cta-label">
295
297
  {formatMessage(messages.ctaType)}
296
298
  </CapHeading>
@@ -303,7 +305,7 @@ export const CapMpushCTA = (props) => {
303
305
  />
304
306
  </CapRow>
305
307
  {urlType === DEEP_LINK && (
306
- <CapRow style={{ width: '70%' }}>
308
+ <CapRow useLegacy style={{ width: '70%' }}>
307
309
  <CapHeading type="h4" className="cta-deep-link-label">
308
310
  {formatMessage(messages.urlDeepLink)}
309
311
  </CapHeading>
@@ -341,59 +343,63 @@ export const CapMpushCTA = (props) => {
341
343
  )}
342
344
  </CapColumn>
343
345
  {urlType === DEEP_LINK && ctaDeepLinkValue && deepLinkKeysFromSelectionArray.length > 0 && (
344
- <CapRow style={{ marginTop: '10px' }}>
345
- <CapHeading type="h4">
346
- {formatMessage(messages.deepLinkKeys)}
347
- </CapHeading>
348
- <CapLabel type="label2" className="cta-deep-link-keys-value">
349
- {(() => {
350
- if (deepLinkKeysFromSelectionArray.length > 0) {
351
- return deepLinkKeysFromSelectionArray.join(', ');
352
- }
353
- if (deepLinkKeysArray.length > 0) {
354
- return deepLinkKeysArray.join(', ');
355
- }
356
- })()}
357
- </CapLabel>
358
- <CapInput
359
- id="mpush-deep-link-keys"
360
- className="mpush-deep-link-keys"
361
- onChange={onDeepLinkKeysChange}
362
- placeholder={formatMessage(messages.deepLinkKeysPlaceholder, { key: deepLinkKeysFromSelectionArray.join(', ') })}
363
- value={Array.isArray(ctaDeepLinkKeysValue) ? ctaDeepLinkKeysValue.join(', ') : (ctaDeepLinkKeysValue || '')}
364
- size="large"
365
- data-index={index}
366
- errorMessage={deepLinkKeysError ? formatMessage(messages.deepLinkKeysRequired) : ""}
367
- />
368
- </CapRow>
346
+ <CapColumn>
347
+ <CapRow useLegacy style={{ marginTop: '10px' }}>
348
+ <CapHeading type="h4">
349
+ {formatMessage(messages.deepLinkKeys)}
350
+ </CapHeading>
351
+ <CapLabel type="label2" className="cta-deep-link-keys-value">
352
+ {(() => {
353
+ if (deepLinkKeysFromSelectionArray.length > 0) {
354
+ return deepLinkKeysFromSelectionArray.join(', ');
355
+ }
356
+ if (deepLinkKeysArray.length > 0) {
357
+ return deepLinkKeysArray.join(', ');
358
+ }
359
+ })()}
360
+ </CapLabel>
361
+ <CapInput
362
+ id="mpush-deep-link-keys"
363
+ className="mpush-deep-link-keys"
364
+ onChange={onDeepLinkKeysChange}
365
+ placeholder={formatMessage(messages.deepLinkKeysPlaceholder, { key: deepLinkKeysFromSelectionArray.join(', ') })}
366
+ value={Array.isArray(ctaDeepLinkKeysValue) ? ctaDeepLinkKeysValue.join(', ') : (ctaDeepLinkKeysValue || '')}
367
+ size="large"
368
+ data-index={index}
369
+ errorMessage={deepLinkKeysError ? formatMessage(messages.deepLinkKeysRequired) : ""}
370
+ />
371
+ </CapRow>
372
+ </CapColumn>
369
373
  )}
370
- <CapRow className="mpush-cta-save-delete-btn">
371
- <CapTooltip
372
- title={
373
- ctaSaveDisabled(index)
374
- ? formatMessage(messages.ctaSaveDisabled)
375
- : ""
376
- }
377
- placement={"bottom"}
378
- >
379
- <div className="button-disabled-tooltip-wrapper">
380
- <CapButton
381
- onClick={() => isSavedCta(index, true)}
382
- disabled={ctaSaveDisabled(index)}
383
- className="mpush-cta-save-btn"
384
- >
385
- {formatMessage(globalMessages.save)}
386
- </CapButton>
387
- </div>
388
- </CapTooltip>
389
- <CapButton
390
- onClick={() => deleteHandler(index)}
391
- className="mpush-cta-delete-btn"
392
- type="secondary"
393
- >
394
- {formatMessage(globalMessages.delete)}
395
- </CapButton>
396
- </CapRow>
374
+ <CapColumn>
375
+ <CapRow useLegacy className="mpush-cta-save-delete-btn">
376
+ <CapTooltip
377
+ title={
378
+ ctaSaveDisabled(index)
379
+ ? formatMessage(messages.ctaSaveDisabled)
380
+ : ""
381
+ }
382
+ placement={"bottom"}
383
+ >
384
+ <div className="button-disabled-tooltip-wrapper">
385
+ <CapButton
386
+ onClick={() => isSavedCta(index, true)}
387
+ disabled={ctaSaveDisabled(index)}
388
+ className="mpush-cta-save-btn"
389
+ >
390
+ {formatMessage(globalMessages.save)}
391
+ </CapButton>
392
+ </div>
393
+ </CapTooltip>
394
+ <CapButton
395
+ onClick={() => deleteHandler(index)}
396
+ className="mpush-cta-delete-btn"
397
+ type="secondary"
398
+ >
399
+ {formatMessage(globalMessages.delete)}
400
+ </CapButton>
401
+ </CapRow>
402
+ </CapColumn>
397
403
  </CapRow>
398
404
  );
399
405
  }