@capillarytech/creatives-library 8.0.262 → 8.0.264

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 (162) hide show
  1. package/assets/Android.png +0 -0
  2. package/assets/iOS.png +0 -0
  3. package/constants/unified.js +1 -2
  4. package/initialReducer.js +0 -2
  5. package/package.json +1 -1
  6. package/services/api.js +0 -10
  7. package/services/tests/api.test.js +0 -34
  8. package/tests/integration/TemplateCreation/TemplateCreation.integration.test.js +35 -17
  9. package/tests/integration/TemplateCreation/api-response.js +1 -31
  10. package/tests/integration/TemplateCreation/msw-handler.js +0 -2
  11. package/utils/common.js +0 -5
  12. package/utils/commonUtils.js +5 -28
  13. package/utils/tagValidations.js +2 -1
  14. package/utils/tests/commonUtil.test.js +0 -224
  15. package/utils/transformTemplateConfig.js +10 -0
  16. package/v2Components/CapDeviceContent/index.js +56 -61
  17. package/v2Components/CapTagList/index.js +1 -6
  18. package/v2Components/CapTagListWithInput/index.js +1 -5
  19. package/v2Components/CapTagListWithInput/messages.js +1 -1
  20. package/v2Components/CapWhatsappCTA/tests/index.test.js +0 -5
  21. package/v2Components/CommonTestAndPreview/UnifiedPreview/_unifiedPreview.scss +2 -2
  22. package/v2Components/ErrorInfoNote/index.js +72 -402
  23. package/v2Components/ErrorInfoNote/messages.js +6 -32
  24. package/v2Components/ErrorInfoNote/style.scss +6 -278
  25. package/v2Components/FormBuilder/index.js +8 -8
  26. package/v2Components/FormBuilder/tests/index.test.js +4 -13
  27. package/v2Components/HtmlEditor/HTMLEditor.js +99 -416
  28. package/v2Components/HtmlEditor/__tests__/HTMLEditor.test.js +133 -1882
  29. package/v2Components/HtmlEditor/__tests__/index.lazy.test.js +16 -27
  30. package/v2Components/HtmlEditor/_htmlEditor.scss +45 -108
  31. package/v2Components/HtmlEditor/_index.lazy.scss +1 -0
  32. package/v2Components/HtmlEditor/components/CodeEditorPane/_codeEditorPane.scss +102 -23
  33. package/v2Components/HtmlEditor/components/CodeEditorPane/index.js +140 -148
  34. package/v2Components/HtmlEditor/components/DeviceToggle/_deviceToggle.scss +1 -2
  35. package/v2Components/HtmlEditor/components/DeviceToggle/index.js +3 -3
  36. package/v2Components/HtmlEditor/components/EditorToolbar/_editorToolbar.scss +0 -9
  37. package/v2Components/HtmlEditor/components/EditorToolbar/index.js +4 -4
  38. package/v2Components/HtmlEditor/components/FullscreenModal/_fullscreenModal.scss +0 -22
  39. package/v2Components/HtmlEditor/components/InAppPreviewPane/DeviceFrame.js +7 -4
  40. package/v2Components/HtmlEditor/components/InAppPreviewPane/__tests__/DeviceFrame.test.js +45 -35
  41. package/v2Components/HtmlEditor/components/InAppPreviewPane/_inAppPreviewPane.scss +3 -1
  42. package/v2Components/HtmlEditor/components/InAppPreviewPane/constants.js +33 -33
  43. package/v2Components/HtmlEditor/components/InAppPreviewPane/index.js +6 -7
  44. package/v2Components/HtmlEditor/components/PreviewPane/_previewPane.scss +10 -7
  45. package/v2Components/HtmlEditor/components/PreviewPane/index.js +43 -22
  46. package/v2Components/HtmlEditor/components/SplitContainer/_splitContainer.scss +1 -1
  47. package/v2Components/HtmlEditor/components/ValidationErrorDisplay/__tests__/index.test.js +152 -0
  48. package/v2Components/HtmlEditor/components/ValidationErrorDisplay/_validationErrorDisplay.scss +0 -18
  49. package/v2Components/HtmlEditor/components/ValidationErrorDisplay/index.js +31 -36
  50. package/v2Components/HtmlEditor/components/ValidationPanel/_validationPanel.scss +34 -46
  51. package/v2Components/HtmlEditor/components/ValidationPanel/index.js +46 -51
  52. package/v2Components/HtmlEditor/constants.js +20 -42
  53. package/v2Components/HtmlEditor/hooks/__tests__/useInAppContent.test.js +16 -373
  54. package/v2Components/HtmlEditor/hooks/__tests__/useValidation.test.js +16 -351
  55. package/v2Components/HtmlEditor/hooks/useEditorContent.js +2 -5
  56. package/v2Components/HtmlEditor/hooks/useInAppContent.js +146 -88
  57. package/v2Components/HtmlEditor/hooks/useValidation.js +55 -211
  58. package/v2Components/HtmlEditor/index.js +1 -1
  59. package/v2Components/HtmlEditor/messages.js +94 -92
  60. package/v2Components/HtmlEditor/utils/__tests__/htmlValidator.enhanced.test.js +45 -214
  61. package/v2Components/HtmlEditor/utils/__tests__/validationAdapter.test.js +0 -134
  62. package/v2Components/HtmlEditor/utils/contentSanitizer.js +41 -40
  63. package/v2Components/HtmlEditor/utils/htmlValidator.js +72 -71
  64. package/v2Components/HtmlEditor/utils/liquidTemplateSupport.js +102 -134
  65. package/v2Components/HtmlEditor/utils/properSyntaxHighlighting.js +25 -23
  66. package/v2Components/HtmlEditor/utils/validationAdapter.js +41 -66
  67. package/v2Components/MobilePushPreviewV2/index.js +7 -32
  68. package/v2Components/TemplatePreview/_templatePreview.scss +24 -55
  69. package/v2Components/TemplatePreview/index.js +32 -47
  70. package/v2Components/TemplatePreview/messages.js +0 -4
  71. package/v2Components/TestAndPreviewSlidebox/_testAndPreviewSlidebox.scss +0 -1
  72. package/v2Containers/BeeEditor/index.js +90 -172
  73. package/v2Containers/CreativesContainer/SlideBoxContent.js +51 -127
  74. package/v2Containers/CreativesContainer/SlideBoxFooter.js +13 -163
  75. package/v2Containers/CreativesContainer/SlideBoxHeader.js +1 -2
  76. package/v2Containers/CreativesContainer/constants.js +0 -1
  77. package/v2Containers/CreativesContainer/index.js +46 -240
  78. package/v2Containers/CreativesContainer/messages.js +0 -8
  79. package/v2Containers/CreativesContainer/tests/SlideBoxFooter.test.js +2 -11
  80. package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +50 -38
  81. package/v2Containers/CreativesContainer/tests/__snapshots__/index.test.js.snap +0 -103
  82. package/v2Containers/Email/actions.js +0 -7
  83. package/v2Containers/Email/constants.js +1 -5
  84. package/v2Containers/Email/index.js +29 -234
  85. package/v2Containers/Email/messages.js +0 -32
  86. package/v2Containers/Email/reducer.js +1 -12
  87. package/v2Containers/Email/sagas.js +7 -61
  88. package/v2Containers/Email/tests/__snapshots__/reducer.test.js.snap +0 -2
  89. package/v2Containers/Email/tests/reducer.test.js +0 -46
  90. package/v2Containers/Email/tests/sagas.test.js +29 -320
  91. package/v2Containers/EmailWrapper/components/EmailWrapperView.js +21 -211
  92. package/v2Containers/EmailWrapper/components/HTMLEditorTesting.js +74 -40
  93. package/v2Containers/EmailWrapper/components/__tests__/HTMLEditorTesting.test.js +67 -2
  94. package/v2Containers/EmailWrapper/constants.js +0 -2
  95. package/v2Containers/EmailWrapper/hooks/useEmailWrapper.js +77 -629
  96. package/v2Containers/EmailWrapper/index.js +23 -103
  97. package/v2Containers/EmailWrapper/messages.js +1 -65
  98. package/v2Containers/EmailWrapper/tests/EmailWrapperView.test.js +214 -0
  99. package/v2Containers/EmailWrapper/tests/useEmailWrapper.test.js +77 -594
  100. package/v2Containers/FTP/index.js +1 -1
  101. package/v2Containers/InApp/actions.js +0 -7
  102. package/v2Containers/InApp/constants.js +4 -20
  103. package/v2Containers/InApp/index.js +360 -802
  104. package/v2Containers/InApp/index.scss +3 -4
  105. package/v2Containers/InApp/messages.js +3 -7
  106. package/v2Containers/InApp/reducer.js +3 -21
  107. package/v2Containers/InApp/sagas.js +9 -29
  108. package/v2Containers/InApp/selectors.js +5 -25
  109. package/v2Containers/InApp/tests/index.test.js +50 -154
  110. package/v2Containers/InApp/tests/reducer.test.js +0 -34
  111. package/v2Containers/InApp/tests/sagas.test.js +9 -61
  112. package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/content.test.js.snap +0 -3
  113. package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/index.test.js.snap +0 -2
  114. package/v2Containers/Line/Container/Text/index.js +1 -0
  115. package/v2Containers/Line/Container/Wrapper/tests/__snapshots__/index.test.js.snap +0 -2
  116. package/v2Containers/Line/Container/tests/__snapshots__/index.test.js.snap +0 -9
  117. package/v2Containers/MobilePushNew/index.js +1 -0
  118. package/v2Containers/Rcs/index.js +3 -0
  119. package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +0 -12
  120. package/v2Containers/SmsTrai/Edit/index.js +1 -0
  121. package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +0 -4
  122. package/v2Containers/TagList/index.js +19 -62
  123. package/v2Containers/Templates/_templates.scss +1 -60
  124. package/v2Containers/Templates/index.js +4 -89
  125. package/v2Containers/Templates/messages.js +0 -4
  126. package/v2Containers/TemplatesV2/TemplatesV2.style.js +2 -4
  127. package/v2Containers/Viber/index.js +1 -0
  128. package/v2Containers/WebPush/Create/index.js +1 -1
  129. package/v2Containers/WebPush/Create/utils/validation.js +2 -1
  130. package/v2Containers/Whatsapp/index.js +1 -0
  131. package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +0 -34
  132. package/v2Containers/Zalo/index.js +1 -0
  133. package/v2Containers/Zalo/tests/index.test.js +1 -5
  134. package/v2Components/ErrorInfoNote/constants.js +0 -1
  135. package/v2Components/HtmlEditor/__tests__/HTMLEditor.apiErrors.test.js +0 -870
  136. package/v2Components/HtmlEditor/components/ValidationPanel/constants.js +0 -6
  137. package/v2Components/HtmlEditor/components/ValidationTabs/_validationTabs.scss +0 -281
  138. package/v2Components/HtmlEditor/components/ValidationTabs/index.js +0 -294
  139. package/v2Components/HtmlEditor/components/ValidationTabs/messages.js +0 -51
  140. package/v2Components/HtmlEditor/utils/validationConstants.js +0 -38
  141. package/v2Containers/BeePopupEditor/_beePopupEditor.scss +0 -14
  142. package/v2Containers/BeePopupEditor/constants.js +0 -10
  143. package/v2Containers/BeePopupEditor/index.js +0 -194
  144. package/v2Containers/BeePopupEditor/tests/index.test.js +0 -627
  145. package/v2Containers/EmailWrapper/components/EmailHTMLEditor.js +0 -1246
  146. package/v2Containers/EmailWrapper/components/__tests__/EmailHTMLEditor.test.js +0 -2472
  147. package/v2Containers/EmailWrapper/components/__tests__/EmailWrapperView.test.js +0 -520
  148. package/v2Containers/EmailWrapper/tests/useEmailWrapper.edgeCases.test.js +0 -956
  149. package/v2Containers/InApp/__tests__/InAppHTMLEditor.test.js +0 -376
  150. package/v2Containers/InApp/__tests__/sagas.test.js +0 -363
  151. package/v2Containers/InApp/tests/selectors.test.js +0 -612
  152. package/v2Containers/InAppWrapper/components/InAppWrapperView.js +0 -151
  153. package/v2Containers/InAppWrapper/components/__tests__/InAppWrapperView.test.js +0 -267
  154. package/v2Containers/InAppWrapper/components/inAppWrapperView.scss +0 -23
  155. package/v2Containers/InAppWrapper/constants.js +0 -16
  156. package/v2Containers/InAppWrapper/hooks/__tests__/useInAppWrapper.test.js +0 -473
  157. package/v2Containers/InAppWrapper/hooks/useInAppWrapper.js +0 -198
  158. package/v2Containers/InAppWrapper/index.js +0 -148
  159. package/v2Containers/InAppWrapper/messages.js +0 -49
  160. package/v2Containers/InappAdvance/index.js +0 -1099
  161. package/v2Containers/InappAdvance/index.scss +0 -10
  162. package/v2Containers/InappAdvance/tests/index.test.js +0 -448
@@ -69,7 +69,7 @@ const CapDeviceContent = (props) => {
69
69
  templateDescErrorHandler,
70
70
  templateTitleError,
71
71
  setTemplateTitleError,
72
- isAiContentBotDisabled,
72
+ isAiContentBotDisabled
73
73
  } = props || {};
74
74
  const { TextArea } = CapInput;
75
75
  const { formatMessage } = intl;
@@ -167,22 +167,21 @@ const CapDeviceContent = (props) => {
167
167
  return (
168
168
  <>
169
169
  <CapRow className="creatives-device-content">
170
- <CapLink
170
+ <CapLink
171
171
  title={isAndroid
172
- ? formatMessage(messages.copyContentFromIOS)
173
- : formatMessage(messages.copyCotentFromAndroid)}
172
+ ? formatMessage(messages.copyContentFromIOS)
173
+ : formatMessage(messages.copyCotentFromAndroid)}
174
174
  className="inapp-copy-content"
175
175
  onClick={onCopyTitleAndContent}
176
- />
176
+ />
177
177
  <CapRow className="creatives-inapp-title">
178
178
  <CapColumn
179
- className="inapp-content-main"
179
+ className="inapp-content-main"
180
180
  >
181
181
  <CapHeading type="h5" className="inapp-title">
182
182
  {formatMessage(messages.title)}
183
183
  </CapHeading>
184
- {getTagList(0)}
185
- {/* here 0 signifies the tags for template title */}
184
+ {getTagList(0)} {/* here 0 signifies the tags for template title */}
186
185
  </CapColumn>
187
186
  <CapInput
188
187
  id="inapp-title-name-input"
@@ -214,7 +213,7 @@ const CapDeviceContent = (props) => {
214
213
  </CapRow>
215
214
  <CapRow className={`creatives-inapp-message ${!isMediaTypeImage && "message-bottom-margin"}`}>
216
215
  <CapColumn
217
- className="inapp-message-header"
216
+ className="inapp-message-header"
218
217
  >
219
218
  <CapHeading type="h5" className="inapp-message-header-style">
220
219
  {formatMessage(messages.message)}
@@ -223,37 +222,37 @@ const CapDeviceContent = (props) => {
223
222
  {/* here 1 signifies the tags for template message */}
224
223
  </CapColumn>
225
224
  <div className="inapp-create-template-message-input-wrapper">
226
- <TextArea
227
- id="inapp-create-template-message-input"
228
- className="inapp-create-template-message-input"
229
- placeholder={formatMessage(messages.textAreaInputPlaceholder)}
230
- onChange={onTemplateMessageChange}
231
- value={templateMessage || ""}
232
- autosize={{ minRows: 5, maxRows: 5 }}
233
- errorMessage={
234
- templateMessageError && (
235
- <CapError className="inapp-template-message-error">
236
- {templateMessageError}
237
- </CapError>
238
- )
239
- }
225
+ <TextArea
226
+ id="inapp-create-template-message-input"
227
+ className="inapp-create-template-message-input"
228
+ placeholder={formatMessage(messages.textAreaInputPlaceholder)}
229
+ onChange={onTemplateMessageChange}
230
+ value={templateMessage || ""}
231
+ autosize={{ minRows: 5, maxRows: 5 }}
232
+ errorMessage={
233
+ templateMessageError && (
234
+ <CapError className="inapp-template-message-error">
235
+ {templateMessageError}
236
+ </CapError>
237
+ )
238
+ }
239
+ />
240
+ {!isAiContentBotDisabled && (
241
+ <CapAskAira.ContentGenerationBot
242
+ text={templateMessage || ""}
243
+ setText={(text) => {
244
+ onTemplateMessageChange({ target: { value: text } });
245
+ }}
246
+ iconPlacement="float-br"
247
+ iconSize="1.6rem"
248
+ rootStyle={{
249
+ bottom: "0.2rem",
250
+ right: "0.2rem",
251
+ left: "auto",
252
+ position: "absolute",
253
+ }}
240
254
  />
241
- {!isAiContentBotDisabled && (
242
- <CapAskAira.ContentGenerationBot
243
- text={templateMessage || ""}
244
- setText={(text) => {
245
- onTemplateMessageChange({ target: { value: text } });
246
- }}
247
- iconPlacement="float-br"
248
- iconSize="1.6rem"
249
- rootStyle={{
250
- bottom: "0.2rem",
251
- right: "0.2rem",
252
- left: "auto",
253
- position: "absolute",
254
- }}
255
- />
256
- )}
255
+ )}
257
256
  </div>
258
257
  {isMediaTypeImage && (
259
258
  <>
@@ -280,16 +279,14 @@ const CapDeviceContent = (props) => {
280
279
  </CapRow>
281
280
  </CapRow>
282
281
  <CapRow className="inapp-action-link">
283
- <CapCheckbox onChange={onActionLinkCheckBoxChange} checked={addActionLink} />
282
+ <CapCheckbox onChange={onActionLinkCheckBoxChange} checked={addActionLink}/>
284
283
  <CapRow className="inapp-render-heading">
285
284
  <CapHeader
286
- title={(
287
- <CapRow type="flex">
288
- <CapHeading type="h4">
289
- {formatMessage(messages.addActionLink)}
290
- </CapHeading>
291
- </CapRow>
292
- )}
285
+ title={<CapRow type="flex">
286
+ <CapHeading type="h4">
287
+ {formatMessage(messages.addActionLink)}
288
+ </CapHeading>
289
+ </CapRow>}
293
290
  description={<CapLabel type="label3">{formatMessage(messages.addActionLinkDesc)}</CapLabel>}
294
291
  />
295
292
  {addActionLink && (
@@ -313,21 +310,19 @@ const CapDeviceContent = (props) => {
313
310
  <CapRow className="inapp-cta-button">
314
311
  <CapHeader
315
312
  className="inapp-render-heading-cta-button"
316
- title={(
317
- <CapRow type="flex">
318
- <CapHeading type="h4">
319
- {formatMessage(messages.btnLabel)}
320
- </CapHeading>
321
- <CapHeading
322
- type="h6"
323
- className="inapp-optional-label"
324
- >
325
- {formatMessage(messages.optional)}
326
- </CapHeading>
327
- </CapRow>
328
- )}
313
+ title={<CapRow type="flex">
314
+ <CapHeading type="h4">
315
+ {formatMessage(messages.btnLabel)}
316
+ </CapHeading>
317
+ <CapHeading
318
+ type="h6"
319
+ className="inapp-optional-label"
320
+ >
321
+ {formatMessage(messages.optional)}
322
+ </CapHeading>
323
+ </CapRow>}
329
324
  description={<CapLabel type="label3">{formatMessage(messages.btnDesc)}</CapLabel>}
330
- />
325
+ />
331
326
  <CapRadioGroup
332
327
  options={BUTTON_RADIO_OPTIONS}
333
328
  value={buttonType}
@@ -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={this.props.popoverPlacement || (channel === EMAIL.toUpperCase() ? "leftTop" : "rightTop")}
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 align="middle" type="flex">
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);
@@ -5,6 +5,6 @@ const prefix = 'creatives.componentsV2.CapTagListWithInput';
5
5
  export default defineMessages({
6
6
  addLabels: {
7
7
  id: `${prefix}.addLabels`,
8
- defaultMessage: 'Add label',
8
+ defaultMessage: 'Add labels',
9
9
  },
10
10
  });
@@ -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 = (
@@ -913,7 +913,7 @@
913
913
  // Colors adjusted to white for preview context (inside .message-pop with blue background)
914
914
  .whatsapp-template-header-preview {
915
915
  // From WhatsApp/index.scss: color: $CAP_G01, but use white for preview
916
- color: $CAP_WHITE;
916
+ color: $CAP_G01;
917
917
  // From WhatsApp/index.scss: font-weight: $FONT_WEIGHT_MEDIUM
918
918
  font-weight: $FONT_WEIGHT_MEDIUM;
919
919
  // From WhatsApp/index.scss: font-size: $FONT_SIZE_VS
@@ -927,7 +927,7 @@
927
927
 
928
928
  .whatsapp-template-footer-preview {
929
929
  // From WhatsApp/index.scss: color: $CAP_G04, but use white for preview
930
- color: $CAP_WHITE;
930
+ color: $CAP_G01;
931
931
  // From WhatsApp/index.scss: font-weight: $FONT_WEIGHT_REGULAR
932
932
  font-weight: $FONT_WEIGHT_REGULAR;
933
933
  // From WhatsApp/index.scss: font-size: 0.5rem