@capillarytech/creatives-library 9.0.15-alpha.3 → 9.0.16-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 (146) hide show
  1. package/AppRoot.js +80 -0
  2. package/app.js +5 -3
  3. package/constants/unified.js +0 -29
  4. package/entry.js +67 -1
  5. package/global-styles.js +1 -1
  6. package/mfe-exposed-components.js +2 -4
  7. package/package.json +2 -2
  8. package/services/api.js +1 -1
  9. package/services/tests/api.test.js +20 -35
  10. package/styles/containers/layout/_layoutPage.scss +8 -6
  11. package/utils/commonUtils.js +1 -19
  12. package/utils/getDataLayer.js +15 -0
  13. package/utils/gtmTrackers/gtmEvents/creativeDetails.js +2 -1
  14. package/utils/mfeDetect.js +1 -0
  15. package/v2Components/CapActionButton/constants.js +1 -8
  16. package/v2Components/CapActionButton/index.js +144 -202
  17. package/v2Components/CapActionButton/index.scss +14 -232
  18. package/v2Components/CapActionButton/messages.js +3 -19
  19. package/v2Components/CapActionButton/tests/index.test.js +18 -42
  20. package/v2Components/CapImageUpload/index.js +2 -2
  21. package/v2Components/CapTagList/index.js +0 -10
  22. package/v2Components/CommonTestAndPreview/CustomValuesEditor.js +48 -70
  23. package/v2Components/CommonTestAndPreview/DeliverySettings/DeliverySettings.scss +2 -8
  24. package/v2Components/CommonTestAndPreview/DeliverySettings/ModifyDeliverySettings.js +21 -214
  25. package/v2Components/CommonTestAndPreview/DeliverySettings/constants.js +0 -16
  26. package/v2Components/CommonTestAndPreview/DeliverySettings/index.js +9 -83
  27. package/v2Components/CommonTestAndPreview/DeliverySettings/messages.js +0 -30
  28. package/v2Components/CommonTestAndPreview/DeliverySettings/utils/parseSenderDetailsResponse.js +11 -60
  29. package/v2Components/CommonTestAndPreview/SendTestMessage.js +5 -10
  30. package/v2Components/CommonTestAndPreview/UnifiedPreview/RcsPreviewContent.js +22 -202
  31. package/v2Components/CommonTestAndPreview/UnifiedPreview/_unifiedPreview.scss +80 -381
  32. package/v2Components/CommonTestAndPreview/UnifiedPreview/index.js +8 -155
  33. package/v2Components/CommonTestAndPreview/_commonTestAndPreview.scss +0 -11
  34. package/v2Components/CommonTestAndPreview/constants.js +2 -38
  35. package/v2Components/CommonTestAndPreview/index.js +222 -761
  36. package/v2Components/CommonTestAndPreview/messages.js +3 -45
  37. package/v2Components/CommonTestAndPreview/sagas.js +6 -25
  38. package/v2Components/CommonTestAndPreview/tests/CommonTestAndPreview.addTestCustomer.test.js +0 -1
  39. package/v2Components/CommonTestAndPreview/tests/CustomValuesEditor.test.js +267 -284
  40. package/v2Components/CommonTestAndPreview/tests/DeliverySettings/ModifyDeliverySettings.test.js +65 -231
  41. package/v2Components/CommonTestAndPreview/tests/DeliverySettings/index.test.js +5 -118
  42. package/v2Components/CommonTestAndPreview/tests/DeliverySettings/utils/parseSenderDetailsResponse.test.js +0 -341
  43. package/v2Components/CommonTestAndPreview/tests/PreviewSection.test.js +1 -8
  44. package/v2Components/CommonTestAndPreview/tests/SendTestMessage.test.js +13 -34
  45. package/v2Components/CommonTestAndPreview/tests/UnifiedPreview/RcsPreviewContent.test.js +283 -281
  46. package/v2Components/CommonTestAndPreview/tests/UnifiedPreview/index.test.js +1 -199
  47. package/v2Components/CommonTestAndPreview/tests/index.test.js +4 -133
  48. package/v2Components/CommonTestAndPreview/tests/sagas.test.js +24 -31
  49. package/v2Components/NavigationBar/index.js +9 -7
  50. package/v2Components/NavigationBar/mfeModuleHeader.config.js +16 -0
  51. package/v2Components/Pagination/_pagination.scss +2 -0
  52. package/v2Components/TemplatePreview/_templatePreview.scss +25 -45
  53. package/v2Components/TemplatePreview/index.js +32 -147
  54. package/v2Components/TemplatePreview/tests/index.test.js +0 -142
  55. package/v2Components/TestAndPreviewSlidebox/CustomValuesEditor.js +6 -6
  56. package/v2Components/TestAndPreviewSlidebox/index.js +1 -13
  57. package/v2Components/TestAndPreviewSlidebox/sagas.js +4 -11
  58. package/v2Components/TestAndPreviewSlidebox/tests/saga.test.js +1 -3
  59. package/v2Containers/Cap/constants.js +1 -0
  60. package/v2Containers/Cap/index.js +47 -21
  61. package/v2Containers/Cap/sagas.js +19 -0
  62. package/v2Containers/CommunicationFlow/Tests/CommunicationFlow.test.js +1 -4
  63. package/v2Containers/CommunicationFlow/steps/DeliverySettingsStep/Tests/DeliverySettingsSection.test.js +0 -4
  64. package/v2Containers/CommunicationFlow/steps/DeliverySettingsStep/Tests/SenderDetails.test.js +20 -20
  65. package/v2Containers/CreativesContainer/SlideBoxContent.js +7 -37
  66. package/v2Containers/CreativesContainer/SlideBoxFooter.js +5 -14
  67. package/v2Containers/CreativesContainer/SlideBoxHeader.js +5 -36
  68. package/v2Containers/CreativesContainer/constants.js +0 -11
  69. package/v2Containers/CreativesContainer/index.js +104 -323
  70. package/v2Containers/CreativesContainer/index.scss +1 -83
  71. package/v2Containers/CreativesContainer/tests/SlideBoxFooter.test.js +34 -79
  72. package/v2Containers/CreativesContainer/tests/SlideBoxHeader.test.js +16 -79
  73. package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +0 -8
  74. package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxHeader.test.js.snap +90 -333
  75. package/v2Containers/CreativesContainer/tests/__snapshots__/index.test.js.snap +15 -20
  76. package/v2Containers/CreativesContainer/tests/index.test.js +9 -71
  77. package/v2Containers/MobilePush/Create/test/saga.test.js +2 -2
  78. package/v2Containers/Rcs/constants.js +11 -131
  79. package/v2Containers/Rcs/index.js +829 -2682
  80. package/v2Containers/Rcs/index.scss +8 -443
  81. package/v2Containers/Rcs/messages.js +6 -45
  82. package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +39409 -74176
  83. package/v2Containers/Rcs/tests/__snapshots__/utils.test.js.snap +74 -10
  84. package/v2Containers/Rcs/tests/index.test.js +40 -151
  85. package/v2Containers/Rcs/tests/mockData.js +0 -38
  86. package/v2Containers/Rcs/tests/utils.test.js +30 -643
  87. package/v2Containers/Rcs/utils.js +12 -466
  88. package/v2Containers/Sms/Create/index.js +48 -115
  89. package/v2Containers/SmsTrai/Create/index.js +4 -9
  90. package/v2Containers/SmsTrai/Edit/constants.js +0 -2
  91. package/v2Containers/SmsTrai/Edit/index.js +169 -678
  92. package/v2Containers/SmsTrai/Edit/messages.js +4 -14
  93. package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +2854 -5455
  94. package/v2Containers/SmsWrapper/index.js +8 -37
  95. package/v2Containers/TagList/index.js +0 -6
  96. package/v2Containers/Templates/_templates.scss +11 -196
  97. package/v2Containers/Templates/actions.js +0 -11
  98. package/v2Containers/Templates/constants.js +0 -2
  99. package/v2Containers/Templates/index.js +60 -131
  100. package/v2Containers/Templates/sagas.js +13 -57
  101. package/v2Containers/Templates/tests/__snapshots__/index.test.js.snap +1015 -1060
  102. package/v2Containers/Templates/tests/sagas.test.js +16 -199
  103. package/v2Containers/TemplatesV2/TemplatesV2.style.js +10 -75
  104. package/v2Containers/TemplatesV2/index.js +43 -86
  105. package/v2Containers/WeChat/MapTemplates/test/saga.test.js +9 -9
  106. package/v2Containers/Whatsapp/index.js +25 -4
  107. package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +34 -578
  108. package/utils/rcsPayloadUtils.js +0 -92
  109. package/utils/templateVarUtils.js +0 -201
  110. package/utils/tests/rcsPayloadUtils.test.js +0 -226
  111. package/utils/tests/templateVarUtils.test.js +0 -204
  112. package/v2Components/CommonTestAndPreview/previewApiUtils.js +0 -59
  113. package/v2Components/CommonTestAndPreview/tests/previewApiUtils.test.js +0 -67
  114. package/v2Components/CommonTestAndPreview/utils.js +0 -84
  115. package/v2Components/SmsFallback/SmsFallbackLocalSelector.js +0 -91
  116. package/v2Components/SmsFallback/constants.js +0 -94
  117. package/v2Components/SmsFallback/index.js +0 -958
  118. package/v2Components/SmsFallback/index.scss +0 -266
  119. package/v2Components/SmsFallback/messages.js +0 -78
  120. package/v2Components/SmsFallback/smsFallbackUtils.js +0 -120
  121. package/v2Components/SmsFallback/tests/SmsFallbackLocalSelector.test.js +0 -50
  122. package/v2Components/SmsFallback/tests/rcsSmsFallback.acceptance.test.js +0 -147
  123. package/v2Components/SmsFallback/tests/smsFallbackHandlers.test.js +0 -304
  124. package/v2Components/SmsFallback/tests/smsFallbackUi.test.js +0 -208
  125. package/v2Components/SmsFallback/tests/smsFallbackUtils.test.js +0 -309
  126. package/v2Components/SmsFallback/tests/useLocalTemplateList.test.js +0 -422
  127. package/v2Components/SmsFallback/useLocalTemplateList.js +0 -92
  128. package/v2Components/TemplatePreview/constants.js +0 -2
  129. package/v2Components/VarSegmentMessageEditor/constants.js +0 -2
  130. package/v2Components/VarSegmentMessageEditor/index.js +0 -125
  131. package/v2Components/VarSegmentMessageEditor/index.scss +0 -46
  132. package/v2Containers/CreativesContainer/CreativesSlideBoxWrapper.js +0 -17
  133. package/v2Containers/CreativesContainer/embeddedSlideboxUtils.js +0 -79
  134. package/v2Containers/CreativesContainer/tests/SlideBoxContent.localTemplates.test.js +0 -90
  135. package/v2Containers/CreativesContainer/tests/embeddedSlideboxUtils.test.js +0 -258
  136. package/v2Containers/CreativesContainer/tests/useLocalTemplatesProp.test.js +0 -125
  137. package/v2Containers/Rcs/rcsLibraryHydrationUtils.js +0 -227
  138. package/v2Containers/Rcs/tests/rcsLibraryHydrationUtils.test.js +0 -318
  139. package/v2Containers/Sms/smsFormDataHelpers.js +0 -67
  140. package/v2Containers/Sms/tests/smsFormDataHelpers.test.js +0 -253
  141. package/v2Containers/SmsTrai/Edit/index.scss +0 -126
  142. package/v2Containers/Templates/TemplatesActionBar.js +0 -101
  143. package/v2Containers/Templates/tests/TemplatesActionBar.test.js +0 -120
  144. package/v2Containers/Templates/tests/smsTemplatesListApi.test.js +0 -180
  145. package/v2Containers/Templates/utils/smsTemplatesListApi.js +0 -79
  146. package/v2Containers/TemplatesV2/tests/TemplatesV2.localTemplates.test.js +0 -131
@@ -5,58 +5,18 @@
5
5
  position: fixed;
6
6
  bottom: 0;
7
7
  width: 100%;
8
- margin-left: -2rem;
8
+ margin-left: -32px;
9
9
  padding: $CAP_SPACE_32 $CAP_SPACE_24;
10
- margin-top: 2.5rem;
10
+ margin-top: 40px;
11
11
  z-index: 1;
12
12
  .ant-btn {
13
13
  margin-right: $CAP_SPACE_16;
14
14
  }
15
-
16
- .rcs-test-preview-btn {
17
- margin-left: $CAP_SPACE_08;
18
- }
19
- }
20
-
21
- // Shared between the standalone form (.cap-rcs-creatives) and the slidebox header.
22
- .rcs-creative-name-readonly {
23
- margin-bottom: $CAP_SPACE_24;
24
- }
25
-
26
- .rcs-creative-name-value {
27
- margin-top: $CAP_SPACE_08;
28
- font-weight: 400;
29
15
  }
30
16
 
31
17
  .cap-rcs-creatives {
32
-
33
18
  .rcs-scroll-div {
34
- margin-bottom: 9.375rem;
35
- }
36
-
37
- &.rcs-edit-mode {
38
- .rcs-scroll-div {
39
- margin-bottom: 15.625rem;
40
- }
41
-
42
- .rcs-edit-template-message-input {
43
- background-color: $CAP_G10;
44
- padding: $CAP_SPACE_12 $CAP_SPACE_16;
45
- }
46
-
47
- .rcs-edit-template-message-split {
48
- margin-bottom: $CAP_SPACE_08;
49
- overflow: hidden;
50
- text-overflow: ellipsis;
51
- color: $FONT_COLOR_03;
52
- font-weight: 500;
53
- }
54
- }
55
-
56
- /* Keep message box text lighter across RCS flows */
57
- .rcs-edit-template-message-split {
58
- color: $FONT_COLOR_03;
59
- font-weight: 500;
19
+ margin-bottom: 150px;
60
20
  }
61
21
  .rcs-preview-container {
62
22
  .cap-row-v2 {
@@ -64,53 +24,18 @@
64
24
  }
65
25
  }
66
26
  .rcs-optional-label {
67
- margin-left: $CAP_SPACE_08;
27
+ margin-left: 8px;
68
28
  color: $FONT_COLOR_03;
69
29
  font-weight: normal;
70
30
  }
71
31
  .rcs_text_area_wrapper {
72
32
  position: relative;
73
33
  }
74
- .rcs-edit-template-message-input .ant-input,
75
- .rcs-edit-template-message-input textarea.ant-input {
76
- border-color: $CAP_G07;
77
- box-shadow: none;
78
- min-height: 2.5rem;
79
- padding-top: $CAP_SPACE_08;
80
- padding-bottom: $CAP_SPACE_08;
81
- overflow: hidden;
82
- }
83
- .rcs-edit-template-message-input .ant-input:focus,
84
- .rcs-edit-template-message-input .ant-input:active,
85
- .rcs-edit-template-message-input textarea.ant-input:focus,
86
- .rcs-edit-template-message-input textarea.ant-input:active {
87
- border-color: $CAP_G07;
88
- box-shadow: none;
89
- outline: none;
90
- }
91
34
  .rcs-button{
92
35
  display: inline-grid;
93
36
  }
94
- .rcs-form-field-caption {
95
- margin-bottom: $CAP_SPACE_16;
96
- }
97
-
98
- .rcs-form-section-heading {
99
- display: flex;
100
- margin-top: $CAP_SPACE_20;
101
- margin-bottom: $CAP_SPACE_08;
102
- }
103
-
104
- .rcs-image-upload--top-spacing {
105
- padding-top: $CAP_SPACE_20;
106
- }
107
-
108
- .rcs-dimension-select--bottom-spacing {
109
- margin-bottom: $CAP_SPACE_20;
110
- }
111
-
112
- .rcs-fallback-section-divider {
113
- margin: $CAP_SPACE_28 0;
37
+ .rcs-button-label{
38
+ margin-bottom: 17px;
114
39
  }
115
40
  .disabled-button{
116
41
  opacity: 0.5;
@@ -137,11 +62,9 @@
137
62
  overflow: hidden;
138
63
  &.title{
139
64
  -webkit-line-clamp: 1;
140
- line-clamp: 1;
141
65
  }
142
66
  &.desc{
143
67
  -webkit-line-clamp: 5;
144
- line-clamp: 5;
145
68
  }
146
69
  &.rcs-button-text{
147
70
  padding-top: 13px;
@@ -150,77 +73,18 @@
150
73
  }
151
74
  .rcs-listing-image {
152
75
  margin-bottom: 8px;
153
- width: 100%;
154
- max-height: 7.357rem;
155
- object-fit: cover;
156
- display: block;
157
- }
158
-
159
- // Templates listing preview (RCS): carousel should show a "peek" of next card like WhatsApp listing.
160
- &.rcs-template-listing-preview {
161
- &.is-carousel {
162
- .rcs-listing-carousel-scroll {
163
- overflow-x: auto;
164
- display: flex;
165
- padding-top: $CAP_SPACE_06;
166
- padding-right: $CAP_SPACE_06;
167
- white-space: nowrap;
168
- scrollbar-width: none;
169
- &::-webkit-scrollbar {
170
- display: none;
171
- }
172
- // Listing should show a peek (no horizontal scroll interaction needed)
173
- overflow: hidden;
174
- }
175
-
176
- .rcs-listing-carousel-card {
177
- padding: $CAP_SPACE_04 0 $CAP_SPACE_08;
178
- border-radius: $CAP_SPACE_06;
179
- background-color: $CAP_WHITE;
180
- width: 80%;
181
- flex-shrink: 0;
182
- margin-right: $CAP_SPACE_04;
183
- white-space: normal;
184
- text-align: left;
185
- }
186
-
187
- .rcs-listing-carousel-img {
188
- width: 100%;
189
- height: 6.4375rem; // match rcs-listing-image height (103px)
190
- object-fit: cover;
191
- display: block;
192
- margin-bottom: $CAP_SPACE_08;
193
- }
194
-
195
- .rcs-listing-carousel-title,
196
- .rcs-listing-carousel-desc {
197
- display: block;
198
- padding: 0 $CAP_SPACE_12;
199
- }
200
- .rcs-listing-carousel-desc {
201
- margin-top: $CAP_SPACE_04;
202
- }
203
- }
76
+ width: 220px;
77
+ height: 103px;
204
78
  }
205
79
  .fallback-sms-length {
206
80
  margin-top: 13px;
207
81
  float: right;
208
82
  }
209
- .rcs-character-count {
210
- color: $FONT_COLOR_03;
211
- }
212
-
213
- .rcs-carousel-character-count-row {
214
- display: flex;
215
- justify-content: flex-end;
216
- margin-top: $CAP_SPACE_08;
217
- }
218
83
  .rcs-fallback-len-error{
219
84
  margin-top: 8px;
220
85
  }
221
86
  .rcs-image-dimensions-label{
222
87
  margin-top: 1.25rem;
223
- margin-bottom: $CAP_SPACE_08;
224
88
  }
225
89
  .rcs-template-title-input {
226
90
  .rcs-edit-disabled {
@@ -231,14 +95,12 @@
231
95
  }
232
96
  .rcs-template-title-label {
233
97
  margin-top: 1.25rem;
234
- margin-bottom: $CAP_SPACE_08;
235
98
  }
236
99
  #rcs-template-message-label .ant-btn.cap-button-v2 {
237
100
  height: 32px;
238
101
  }
239
102
  #rcs-template-message-label {
240
103
  margin-top: 1.25rem;
241
- margin-bottom: $CAP_SPACE_08;
242
104
  }
243
105
  .rcs-container-image {
244
106
  .image-container {
@@ -251,297 +113,6 @@
251
113
  #rcs-dimension-select{
252
114
  width: 100%;
253
115
  }
254
-
255
- .rcs-carousel-section {
256
- margin-top: $CAP_SPACE_12;
257
- }
258
-
259
- .rcs-carousel-dimension-section {
260
- margin-top: 1.25rem;
261
- }
262
-
263
- // Edit mode: the readonly Template Type block right above (.rcs-creative-name-readonly)
264
- // already has its own margin-bottom — stacking these two top-margins on top of that
265
- // (flex prevents them from collapsing into it) left an oversized gap before Card height.
266
- .rcs-carousel-section--readonly-above {
267
- margin-top: 0;
268
-
269
- .rcs-carousel-dimension-section {
270
- margin-top: 0;
271
- }
272
- }
273
-
274
- .rcs-carousel-selected-dimension {
275
- display: block;
276
- margin-top: 8px;
277
- color: $FONT_COLOR_03;
278
- }
279
-
280
- .rcs-carousel-dimension-label {
281
- display: inline-block;
282
- margin-bottom: $CAP_SPACE_08;
283
- }
284
-
285
- #rcs-carousel-height-select,
286
- #rcs-carousel-width-select {
287
- width: 100%;
288
- }
289
-
290
- .rcs-carousel-tab {
291
- margin-top: 0.75rem;
292
-
293
- // Tab list (.ant-tabs-nav-wrap) defaults to flex:auto and stretches to fill the row,
294
- // pushing tabBarExtraContent (the "+" add-card button) to the far right edge. Size it
295
- // to its own content instead so "+" sits right next to the last tab (Figma reference).
296
- .ant-tabs-nav-wrap {
297
- flex: none;
298
- }
299
-
300
- // .ant-tabs-nav already centers its direct children (antd default), but antd
301
- // also gives .ant-tabs-nav-wrap AND .ant-tabs-nav-operations (an always-present,
302
- // just visually-hidden, third sibling for the overflow "more" dropdown)
303
- // `align-self: stretch` — forcing them to the FULL bar height, while
304
- // .ant-tabs-extra-content has no such override and centers at its own natural
305
- // (shorter) height. So a divider centered inside the stretched tab list and a
306
- // divider centered inside the un-stretched extra-content land at different Y
307
- // positions even though each is individually "centered" — in its own box.
308
- // Cancel the stretch so every direct child centers the same way.
309
- .ant-tabs-nav {
310
- align-items: center;
311
-
312
- > .ant-tabs-nav-wrap,
313
- > .ant-tabs-nav-operations {
314
- align-self: auto;
315
- }
316
- }
317
-
318
- // antd ALWAYS renders `.ant-tabs-nav-operations` as a flex sibling between the
319
- // tab list and the right extra-content (it holds the overflow "more" dropdown).
320
- // With no overflow it's only `visibility:hidden`, so it's invisible but STILL
321
- // occupies a flex slot with real width — that phantom slot is the extra gap
322
- // showing up before the "|" and "+". Collapse it to zero width when hidden so
323
- // the divider sits the same distance from "2" as the 1|2 divider does from "1".
324
- .ant-tabs-nav-operations.ant-tabs-nav-operations-hidden {
325
- width: 0;
326
- padding: 0;
327
- margin: 0;
328
- border: none;
329
- }
330
-
331
- // .ant-tabs-extra-content itself is only a flex ITEM (antd sets `flex: none`
332
- // on it), not a flex CONTAINER — its own children (the CapDivider and the
333
- // "+" button's tooltip-wrapper span) fall back to inline layout, where
334
- // CapDivider's antd default `vertical-align: middle` aligns it to the
335
- // surrounding line box rather than to the button, which is what was making
336
- // the "|" and "+" drift out of alignment with each other. Make it an
337
- // explicit flex row so both children center against each other directly.
338
- .ant-tabs-extra-content {
339
- display: flex;
340
- align-items: center;
341
- }
342
-
343
- // Vertical divider between the tabs and "+": antd default (0.9em) reads too short.
344
- // Also pin its own margin explicitly (antd's default didn't match the gap
345
- // used for the divider between tab numbers below), which was making this
346
- // divider float away from "2" instead of sitting the same distance from it
347
- // as the 1|2 divider sits from "1".
348
- // 12px each side = the same visual gap the 1|2 divider has (that one uses a
349
- // 24px margin-left with the divider pseudo offset to its center, i.e. ~12px
350
- // of clear space on each side). Keep these equal so all three gaps match.
351
- .ant-tabs-extra-content .ant-divider-vertical {
352
- height: $CAP_SPACE_24;
353
- margin: 0 $CAP_SPACE_12;
354
- }
355
-
356
- // Same divider treatment between each numbered tab (1 | 2 | ...), not just
357
- // before the "+" button (Figma reference). antd's own `.ant-tabs-tab` rule
358
- // already applies `margin: 0 0 0 var(--ant-tabs-horizontal-item-gutter)`
359
- // (~32px) to every tab — our earlier `margin-right` was ADDING to that
360
- // instead of replacing it, stacking both gaps into one huge gutter before
361
- // "2". Zero out antd's own margin first so this is the only gap in play.
362
- .ant-tabs-tab {
363
- margin: 0 !important;
364
- }
365
-
366
- // `:not(:last-of-type)` matched more than intended: antd renders
367
- // `.ant-tabs-ink-bar` as another <div> sibling AFTER the last tab inside the
368
- // same nav list, so that ink-bar div — not tab "2" — was `:last-of-type`,
369
- // leaving tab "2" wrongly matched and given its own extra divider on top of
370
- // the real one before "+". Target adjacency to a PRECEDING tab instead
371
- // (`.ant-tabs-tab + .ant-tabs-tab`), which only ever matches actual tabs
372
- // regardless of what non-tab siblings antd adds elsewhere in the list.
373
- .ant-tabs-tab + .ant-tabs-tab {
374
- position: relative;
375
- margin-left: $CAP_SPACE_24 !important;
376
-
377
- &::before {
378
- content: '';
379
- position: absolute;
380
- top: 50%;
381
- left: -$CAP_SPACE_12;
382
- transform: translateY(-50%);
383
- width: 1px;
384
- height: $CAP_SPACE_24;
385
- background-color: $CAP_G07;
386
- }
387
- }
388
-
389
- // The "+" wrapper reuses .button-disabled-tooltip-wrapper from CapActionButton
390
- // (display: inline-block; margin-top: 1.25rem) — that margin was meant for a
391
- // different context and pushes the "+" button below the tab row/divider baseline
392
- // here. Re-align it inline with the tabs and vertical divider.
393
- .button-disabled-tooltip-wrapper {
394
- display: inline-flex;
395
- align-items: center;
396
- margin-top: 0;
397
- }
398
- }
399
-
400
- .rcs-carousel-card {
401
- margin-top: 0.75rem;
402
-
403
- // Match carousel card header: title left, icon-only delete right (Figma / product reference).
404
- &.cap-card-v2.ant-card {
405
- .ant-card-head {
406
- min-height: 3rem;
407
- padding: 0 $CAP_SPACE_16;
408
- border-bottom: 1px solid $CAP_G12;
409
- }
410
-
411
- .ant-card-head-title {
412
- padding: $CAP_SPACE_12 0;
413
- font-weight: 600;
414
- color: $CAP_G01;
415
- }
416
-
417
- .ant-card-extra {
418
- padding: $CAP_SPACE_08 0;
419
- }
420
- }
421
-
422
- .rcs-carousel-card-delete.ant-btn.cap-button-v2 {
423
- display: inline-flex;
424
- align-items: center;
425
- justify-content: center;
426
- min-width: auto;
427
- width: 2rem;
428
- height: 2rem;
429
- padding: 0;
430
- border: none;
431
- box-shadow: none;
432
- color: $CAP_G01;
433
-
434
- &:not(:disabled):hover {
435
- color: $FONT_COLOR_05;
436
- background-color: rgba(0, 0, 0, 0.04);
437
- }
438
-
439
- &:disabled {
440
- color: rgba(0, 0, 0, 0.25);
441
- background: transparent;
442
- }
443
- }
444
-
445
- .rcs-carousel-delete-tooltip-wrap.button-disabled-tooltip-wrapper {
446
- display: inline-flex;
447
- align-items: center;
448
- cursor: not-allowed;
449
- }
450
- }
451
-
452
- .rcs-carousel-card-row {
453
- margin-bottom: $CAP_SPACE_12;
454
-
455
- // Card title / Card body text headers sit directly above their input —
456
- // CapHeader itself has no bottom margin, so without this the input hugged
457
- // the header text with no gap.
458
- .cap-header-v2 {
459
- margin-bottom: $CAP_SPACE_08;
460
- }
461
- }
462
-
463
- .rcs-carousel-media-selection {
464
- margin-top: 0.75rem;
465
- margin-bottom: 0.75rem;
466
- align-items: center;
467
- }
468
-
469
- .rcs-carousel-media-selection-heading {
470
- margin-bottom: $CAP_SPACE_08;
471
- }
472
-
473
- // Carousel upload previews: keep media preview compact (CapImageUpload uses height=400 by default)
474
- .rcs-carousel-media-upload {
475
- padding-top: $CAP_SPACE_20;
476
-
477
- // Edit mode: the readonly Media type block right above (.rcs-creative-name-readonly)
478
- // already has its own margin-bottom, plus .rcs-image-dimensions-label's own
479
- // margin-top — stacking this padding-top on top of both left an oversized gap.
480
- &.rcs-carousel-media-upload--readonly-above {
481
- padding-top: 0;
482
-
483
- // Only the first heading (Upload Video, or Image) sits right below the
484
- // readonly block above — the video variant's second heading (Upload
485
- // Thumbnail) still needs its own margin-top to separate it from the
486
- // video upload widget above it.
487
- > .rcs-image-dimensions-label:first-child {
488
- margin-top: 0;
489
- }
490
- }
491
- .image-container {
492
- background-image: none;
493
- border: 0;
494
- width: 100%;
495
- max-width: 35rem;
496
- }
497
-
498
- .image-container img {
499
- width: 100%;
500
- height: auto !important;
501
- max-height: 15rem;
502
- object-fit: contain;
503
- display: block;
504
- }
505
- }
506
-
507
- .rcs-carousel-card-divider {
508
- margin: $CAP_SPACE_24 0;
509
- }
510
-
511
- .rcs-image-upload-with-top-padding {
512
- padding-top: $CAP_SPACE_20;
513
- }
514
-
515
- .rcs-dlt-edit-icon {
516
- margin-right: $CAP_SPACE_08;
517
- }
518
-
519
- .rcs-content-section-divider {
520
- margin: $CAP_SPACE_28 0;
521
- }
522
-
523
- .rcs-edit-template-message-static-textarea {
524
- background: $CAP_G21;
525
- color: #888;
526
-
527
- // Ensure styles apply to underlying textarea/input for CapInput TextArea.
528
- textarea,
529
- .ant-input {
530
- background: $CAP_G21;
531
- color: #888;
532
- }
533
- }
534
-
535
- // The divider's own margin already provides the gap before "+" — this button's
536
- // extra left padding was stacking on top of that margin, making the gap after
537
- // the divider visibly bigger than the gap before it (between "2" and the
538
- // divider). Drop the left padding so both sides of the divider match; keep a
539
- // little on the right as breathing room since nothing follows "+".
540
- .add-carousel-content-button {
541
- padding: 0 $CAP_SPACE_08 0 0;
542
- display: inline-flex;
543
- align-items: center;
544
- }
545
116
  }
546
117
  .rcs-fallback-preview > .cap-slide-box-v2-container.size-r{
547
118
  min-width: 430px;
@@ -549,12 +120,6 @@
549
120
  width: 430px;
550
121
  }
551
122
 
552
- // SMS fallback slidebox / tag popover: see v2Components/SmsFallback/index.scss (loaded with SmsFallback)
553
-
554
- .template-status-container {
555
- margin-bottom: $CAP_SPACE_24;
556
- }
557
-
558
123
  .rcs-button-cta{
559
124
  margin-top: 1.25rem;
560
125
  margin-bottom: 0.75rem;
@@ -6,14 +6,6 @@ export default defineMessages({
6
6
  id: `${prefix}.mediaLabel`,
7
7
  defaultMessage: 'Media',
8
8
  },
9
- mediaTypeLabel: {
10
- id: `${prefix}.mediaTypeLabel`,
11
- defaultMessage: 'Media type',
12
- },
13
- carouselMediaVideoOption: {
14
- id: `${prefix}.carouselMediaVideoOption`,
15
- defaultMessage: 'Video',
16
- },
17
9
  approvedStatusMsg: {
18
10
  id: `${prefix}.approvedStatusMsg`,
19
11
  defaultMessage: 'This template has been approved',
@@ -202,18 +194,6 @@ export default defineMessages({
202
194
  id: `${prefix}.disabledCarouselTooltip`,
203
195
  defaultMessage: 'Not yet enabled. Coming soon!',
204
196
  },
205
- rcsCarouselMinCardDeleteTooltip: {
206
- id: `${prefix}.rcsCarouselMinCardDeleteTooltip`,
207
- defaultMessage: 'At least 1 card needs to be added in the carousel template',
208
- },
209
- rcsCarouselAddCardDisabledTooltip: {
210
- id: `${prefix}.rcsCarouselAddCardDisabledTooltip`,
211
- defaultMessage: 'Please set-up the first card before creating the next ones',
212
- },
213
- rcsCarouselMaxCardTooltip: {
214
- id: `${prefix}.rcsCarouselMaxCardTooltip`,
215
- defaultMessage: 'RCS carousel cannot contain more than {max} content cards.',
216
- },
217
197
  templateNamePlaceholder: {
218
198
  id: `${prefix}.templateNamePlaceholder`,
219
199
  defaultMessage: 'Enter template name',
@@ -252,15 +232,15 @@ export default defineMessages({
252
232
  },
253
233
  text_message: {
254
234
  id: `${prefix}.text_message`,
255
- defaultMessage: 'Text message',
235
+ defaultMessage: 'text message',
256
236
  },
257
237
  richCard: {
258
238
  id: `${prefix}.richCard`,
259
- defaultMessage: 'Rich card',
239
+ defaultMessage: 'rich card',
260
240
  },
261
241
  carousel: {
262
242
  id: `${prefix}.carousel`,
263
- defaultMessage: 'Carousel',
243
+ defaultMessage: 'carousel',
264
244
  },
265
245
  rcsDoneBtnToolTip: {
266
246
  id: `${prefix}.rcsDoneBtnToolTip`,
@@ -282,10 +262,6 @@ export default defineMessages({
282
262
  id: `${prefix}.fallbackLabel`,
283
263
  defaultMessage: 'Fallback SMS message',
284
264
  },
285
- smsFallbackOptional: {
286
- id: `${prefix}.smsFallbackOptional`,
287
- defaultMessage: 'Fallback SMS message (Optional)',
288
- },
289
265
  fallbackDesc: {
290
266
  id: `${prefix}.fallbackDesc`,
291
267
  defaultMessage: 'We would suggest to add fallback SMS',
@@ -305,12 +281,7 @@ export default defineMessages({
305
281
  },
306
282
  fallbackMsgPlaceholder: {
307
283
  id: `${prefix}.fallbackMsgPlaceholder`,
308
- defaultMessage: 'Add labels or text',
309
- },
310
- /** Shown only when a {{…}} slot has no value — not the saved text (that uses the input value). */
311
- rcsVarSlotPlaceholder: {
312
- id: `${prefix}.rcsVarSlotPlaceholder`,
313
- defaultMessage: 'Add labels or text',
284
+ defaultMessage: 'Enter the text message content for fallback SMS',
314
285
  },
315
286
  totalCharacters: {
316
287
  id: `${prefix}.totalCharacters`,
@@ -486,8 +457,7 @@ export default defineMessages({
486
457
  },
487
458
  unknownCharactersError: {
488
459
  id: `${prefix}.unknownCharactersError`,
489
- defaultMessage:
490
- 'Only letters, numbers, underscores, and dots are allowed in custom param (e.g. tag.FORMAT_1). Spaces and other special characters are not allowed.',
460
+ defaultMessage: 'Only alphanumeric characters and underscore are allowed in custom param. Spaces/other special characters are not allowed.',
491
461
  },
492
462
  emptyVariableError: {
493
463
  id: `${prefix}.emptyVariableError`,
@@ -517,13 +487,4 @@ export default defineMessages({
517
487
  id: `${prefix}.rcsTestPreviewDisabledTooltip`,
518
488
  defaultMessage: 'Preview and test is only available after the template is approved.',
519
489
  },
520
- reUpload: {
521
- id: `${prefix}.reUpload`,
522
- defaultMessage: 'Reupload',
523
- },
524
- /** Carousel video card thumbnail size label (see RCS_CAROUSEL_VIDEO_THUMBNAIL_DIMENSIONS). */
525
- rcsCarouselVideoThumbnailLabel: {
526
- id: `${prefix}.rcsCarouselVideoThumbnailLabel`,
527
- defaultMessage: 'Thumbnail ({width} × {height})',
528
- },
529
- });
490
+ });