@capillarytech/creatives-library 8.0.345-alpha.14 → 8.0.345-alpha.15

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 (129) hide show
  1. package/constants/unified.js +29 -0
  2. package/package.json +1 -1
  3. package/services/tests/api.test.js +13 -0
  4. package/utils/commonUtils.js +19 -1
  5. package/utils/rcsPayloadUtils.js +92 -0
  6. package/utils/templateVarUtils.js +201 -0
  7. package/utils/tests/templateVarUtils.test.js +204 -0
  8. package/v2Components/CapActionButton/constants.js +7 -0
  9. package/v2Components/CapActionButton/index.js +167 -109
  10. package/v2Components/CapActionButton/index.scss +157 -6
  11. package/v2Components/CapActionButton/messages.js +19 -3
  12. package/v2Components/CapActionButton/tests/index.test.js +41 -17
  13. package/v2Components/CapTagList/index.js +10 -0
  14. package/v2Components/CommonTestAndPreview/CustomValuesEditor.js +70 -49
  15. package/v2Components/CommonTestAndPreview/DeliverySettings/DeliverySettings.scss +8 -2
  16. package/v2Components/CommonTestAndPreview/DeliverySettings/ModifyDeliverySettings.js +207 -21
  17. package/v2Components/CommonTestAndPreview/DeliverySettings/constants.js +16 -0
  18. package/v2Components/CommonTestAndPreview/DeliverySettings/index.js +85 -10
  19. package/v2Components/CommonTestAndPreview/DeliverySettings/messages.js +30 -0
  20. package/v2Components/CommonTestAndPreview/DeliverySettings/utils/parseSenderDetailsResponse.js +79 -11
  21. package/v2Components/CommonTestAndPreview/SendTestMessage.js +10 -5
  22. package/v2Components/CommonTestAndPreview/UnifiedPreview/RcsPreviewContent.js +160 -15
  23. package/v2Components/CommonTestAndPreview/UnifiedPreview/RcsPreviewContent.js.rej +18 -0
  24. package/v2Components/CommonTestAndPreview/UnifiedPreview/_unifiedPreview.scss +341 -76
  25. package/v2Components/CommonTestAndPreview/UnifiedPreview/index.js +133 -4
  26. package/v2Components/CommonTestAndPreview/_commonTestAndPreview.scss +11 -0
  27. package/v2Components/CommonTestAndPreview/constants.js +38 -2
  28. package/v2Components/CommonTestAndPreview/index.js +676 -186
  29. package/v2Components/CommonTestAndPreview/messages.js +49 -3
  30. package/v2Components/CommonTestAndPreview/previewApiUtils.js +59 -0
  31. package/v2Components/CommonTestAndPreview/sagas.js +15 -6
  32. package/v2Components/CommonTestAndPreview/tests/CustomValuesEditor.test.js +308 -284
  33. package/v2Components/CommonTestAndPreview/tests/DeliverySettings/ModifyDeliverySettings.test.js +231 -65
  34. package/v2Components/CommonTestAndPreview/tests/DeliverySettings/index.test.js +118 -5
  35. package/v2Components/CommonTestAndPreview/tests/DeliverySettings/utils/parseSenderDetailsResponse.test.js +341 -0
  36. package/v2Components/CommonTestAndPreview/tests/PreviewSection.test.js +8 -1
  37. package/v2Components/CommonTestAndPreview/tests/SendTestMessage.test.js +34 -13
  38. package/v2Components/CommonTestAndPreview/tests/UnifiedPreview/RcsPreviewContent.test.js +281 -283
  39. package/v2Components/CommonTestAndPreview/tests/UnifiedPreview/index.test.js +199 -1
  40. package/v2Components/CommonTestAndPreview/tests/index.test.js +132 -4
  41. package/v2Components/CommonTestAndPreview/tests/previewApiUtils.test.js +67 -0
  42. package/v2Components/CommonTestAndPreview/tests/sagas.test.js +2 -2
  43. package/v2Components/FormBuilder/index.js +8 -10
  44. package/v2Components/SmsFallback/SmsFallbackLocalSelector.js +87 -0
  45. package/v2Components/SmsFallback/constants.js +73 -0
  46. package/v2Components/SmsFallback/index.js +955 -0
  47. package/v2Components/SmsFallback/index.scss +265 -0
  48. package/v2Components/SmsFallback/messages.js +78 -0
  49. package/v2Components/SmsFallback/smsFallbackUtils.js +118 -0
  50. package/v2Components/SmsFallback/tests/SmsFallbackLocalSelector.test.js +50 -0
  51. package/v2Components/SmsFallback/tests/rcsSmsFallback.acceptance.test.js +147 -0
  52. package/v2Components/SmsFallback/tests/smsFallbackHandlers.test.js +304 -0
  53. package/v2Components/SmsFallback/tests/smsFallbackUi.test.js +197 -0
  54. package/v2Components/SmsFallback/tests/smsFallbackUtils.test.js +277 -0
  55. package/v2Components/SmsFallback/tests/useLocalTemplateList.test.js +422 -0
  56. package/v2Components/SmsFallback/useLocalTemplateList.js +92 -0
  57. package/v2Components/TemplatePreview/_templatePreview.scss +33 -23
  58. package/v2Components/TemplatePreview/constants.js +2 -0
  59. package/v2Components/TemplatePreview/index.js +143 -28
  60. package/v2Components/TemplatePreview/tests/index.test.js +142 -0
  61. package/v2Components/TestAndPreviewSlidebox/index.js +13 -1
  62. package/v2Components/TestAndPreviewSlidebox/sagas.js +11 -4
  63. package/v2Components/TestAndPreviewSlidebox/tests/saga.test.js +3 -1
  64. package/v2Components/VarSegmentMessageEditor/constants.js +2 -0
  65. package/v2Components/VarSegmentMessageEditor/index.js +125 -0
  66. package/v2Components/VarSegmentMessageEditor/index.scss +46 -0
  67. package/v2Containers/CreativesContainer/CreativesSlideBoxWrapper.js +43 -0
  68. package/v2Containers/CreativesContainer/SlideBoxContent.js +36 -4
  69. package/v2Containers/CreativesContainer/SlideBoxFooter.js +10 -1
  70. package/v2Containers/CreativesContainer/SlideBoxHeader.js +29 -4
  71. package/v2Containers/CreativesContainer/constants.js +9 -0
  72. package/v2Containers/CreativesContainer/embeddedSlideboxUtils.js +67 -0
  73. package/v2Containers/CreativesContainer/index.js +300 -103
  74. package/v2Containers/CreativesContainer/index.scss +51 -1
  75. package/v2Containers/CreativesContainer/tests/SlideBoxContent.localTemplates.test.js +90 -0
  76. package/v2Containers/CreativesContainer/tests/SlideBoxFooter.test.js +78 -34
  77. package/v2Containers/CreativesContainer/tests/SlideBoxHeader.test.js +79 -16
  78. package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +8 -0
  79. package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxHeader.test.js.snap +357 -98
  80. package/v2Containers/CreativesContainer/tests/__snapshots__/index.test.js.snap +20 -15
  81. package/v2Containers/CreativesContainer/tests/embeddedSlideboxUtils.test.js +258 -0
  82. package/v2Containers/CreativesContainer/tests/index.test.js +71 -9
  83. package/v2Containers/CreativesContainer/tests/useLocalTemplatesProp.test.js +125 -0
  84. package/v2Containers/Email/reducer.js +3 -11
  85. package/v2Containers/Email/sagas.js +5 -9
  86. package/v2Containers/Email/tests/__snapshots__/reducer.test.js.snap +0 -4
  87. package/v2Containers/Email/tests/sagas.test.js +3 -21
  88. package/v2Containers/Rcs/constants.js +119 -8
  89. package/v2Containers/Rcs/index.js +2379 -807
  90. package/v2Containers/Rcs/index.js.rej +1336 -0
  91. package/v2Containers/Rcs/index.scss +276 -6
  92. package/v2Containers/Rcs/index.scss.rej +74 -0
  93. package/v2Containers/Rcs/messages.js +38 -3
  94. package/v2Containers/Rcs/rcsLibraryHydrationUtils.js +225 -0
  95. package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +98018 -70073
  96. package/v2Containers/Rcs/tests/__snapshots__/utils.test.js.snap +0 -5
  97. package/v2Containers/Rcs/tests/__snapshots__/utils.test.js.snap.rej +128 -0
  98. package/v2Containers/Rcs/tests/index.test.js +152 -121
  99. package/v2Containers/Rcs/tests/mockData.js +38 -0
  100. package/v2Containers/Rcs/tests/rcsLibraryHydrationUtils.test.js +318 -0
  101. package/v2Containers/Rcs/tests/utils.test.js +646 -30
  102. package/v2Containers/Rcs/utils.js +478 -11
  103. package/v2Containers/Sms/Create/index.js +100 -40
  104. package/v2Containers/Sms/smsFormDataHelpers.js +67 -0
  105. package/v2Containers/Sms/tests/smsFormDataHelpers.test.js +253 -0
  106. package/v2Containers/SmsTrai/Create/index.js +9 -4
  107. package/v2Containers/SmsTrai/Edit/constants.js +2 -0
  108. package/v2Containers/SmsTrai/Edit/index.js +636 -130
  109. package/v2Containers/SmsTrai/Edit/index.scss +121 -0
  110. package/v2Containers/SmsTrai/Edit/messages.js +14 -4
  111. package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +4328 -2375
  112. package/v2Containers/SmsWrapper/index.js +37 -8
  113. package/v2Containers/TagList/index.js +6 -0
  114. package/v2Containers/Templates/TemplatesActionBar.js +101 -0
  115. package/v2Containers/Templates/_templates.scss +163 -2
  116. package/v2Containers/Templates/actions.js +11 -0
  117. package/v2Containers/Templates/constants.js +2 -0
  118. package/v2Containers/Templates/index.js +119 -54
  119. package/v2Containers/Templates/sagas.js +57 -12
  120. package/v2Containers/Templates/tests/TemplatesActionBar.test.js +120 -0
  121. package/v2Containers/Templates/tests/__snapshots__/index.test.js.snap +1043 -1079
  122. package/v2Containers/Templates/tests/sagas.test.js +193 -123
  123. package/v2Containers/Templates/tests/smsTemplatesListApi.test.js +180 -0
  124. package/v2Containers/Templates/utils/smsTemplatesListApi.js +79 -0
  125. package/v2Containers/TemplatesV2/TemplatesV2.style.js +72 -1
  126. package/v2Containers/TemplatesV2/index.js +86 -23
  127. package/v2Containers/TemplatesV2/tests/TemplatesV2.localTemplates.test.js +131 -0
  128. package/v2Containers/Whatsapp/index.js +3 -20
  129. package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +578 -34
@@ -5,18 +5,56 @@
5
5
  position: fixed;
6
6
  bottom: 0;
7
7
  width: 100%;
8
- margin-left: -32px;
8
+ margin-left: -2rem;
9
9
  padding: $CAP_SPACE_32 $CAP_SPACE_24;
10
- margin-top: 40px;
10
+ margin-top: 2.5rem;
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
+ }
15
19
  }
16
20
 
17
21
  .cap-rcs-creatives {
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
+ }
30
+
18
31
  .rcs-scroll-div {
19
- margin-bottom: 150px;
32
+ margin-bottom: 9.375rem;
33
+ }
34
+
35
+ &.rcs-edit-mode {
36
+ .rcs-scroll-div {
37
+ margin-bottom: 15.625rem;
38
+ }
39
+
40
+ .rcs-edit-template-message-input {
41
+ background-color: $CAP_G10;
42
+ padding: $CAP_SPACE_12 $CAP_SPACE_16;
43
+ }
44
+
45
+ .rcs-edit-template-message-split {
46
+ margin-bottom: $CAP_SPACE_08;
47
+ overflow: hidden;
48
+ text-overflow: ellipsis;
49
+ color: $FONT_COLOR_03;
50
+ font-weight: 500;
51
+ }
52
+ }
53
+
54
+ /* Keep message box text lighter across RCS flows */
55
+ .rcs-edit-template-message-split {
56
+ color: $FONT_COLOR_03;
57
+ font-weight: 500;
20
58
  }
21
59
  .rcs-preview-container {
22
60
  .cap-row-v2 {
@@ -24,18 +62,52 @@
24
62
  }
25
63
  }
26
64
  .rcs-optional-label {
27
- margin-left: 8px;
65
+ margin-left: $CAP_SPACE_08;
28
66
  color: $FONT_COLOR_03;
29
67
  font-weight: normal;
30
68
  }
31
69
  .rcs_text_area_wrapper {
32
70
  position: relative;
33
71
  }
72
+ .rcs-edit-template-message-input .ant-input,
73
+ .rcs-edit-template-message-input textarea.ant-input {
74
+ border-color: $CAP_G07;
75
+ box-shadow: none;
76
+ min-height: 2.5rem;
77
+ padding-top: $CAP_SPACE_08;
78
+ padding-bottom: $CAP_SPACE_08;
79
+ overflow: hidden;
80
+ }
81
+ .rcs-edit-template-message-input .ant-input:focus,
82
+ .rcs-edit-template-message-input .ant-input:active,
83
+ .rcs-edit-template-message-input textarea.ant-input:focus,
84
+ .rcs-edit-template-message-input textarea.ant-input:active {
85
+ border-color: $CAP_G07;
86
+ box-shadow: none;
87
+ outline: none;
88
+ }
34
89
  .rcs-button{
35
90
  display: inline-grid;
36
91
  }
37
- .rcs-button-label{
38
- margin-bottom: 17px;
92
+ .rcs-form-field-caption {
93
+ margin-bottom: $CAP_SPACE_16;
94
+ }
95
+
96
+ .rcs-form-section-heading {
97
+ display: flex;
98
+ margin-top: $CAP_SPACE_20;
99
+ }
100
+
101
+ .rcs-image-upload--top-spacing {
102
+ padding-top: $CAP_SPACE_20;
103
+ }
104
+
105
+ .rcs-dimension-select--bottom-spacing {
106
+ margin-bottom: $CAP_SPACE_20;
107
+ }
108
+
109
+ .rcs-fallback-section-divider {
110
+ margin: $CAP_SPACE_28 0;
39
111
  }
40
112
  .disabled-button{
41
113
  opacity: 0.5;
@@ -69,9 +141,11 @@
69
141
  overflow: hidden;
70
142
  &.title{
71
143
  -webkit-line-clamp: 1;
144
+ line-clamp: 1;
72
145
  }
73
146
  &.desc{
74
147
  -webkit-line-clamp: 5;
148
+ line-clamp: 5;
75
149
  }
76
150
  &.rcs-button-text{
77
151
  padding-top: 13px;
@@ -83,10 +157,66 @@
83
157
  width: 220px;
84
158
  height: 103px;
85
159
  }
160
+
161
+ // Templates listing preview (RCS): carousel should show a "peek" of next card like WhatsApp listing.
162
+ &.rcs-template-listing-preview {
163
+ &.is-carousel {
164
+ .rcs-listing-carousel-scroll {
165
+ overflow-x: auto;
166
+ display: flex;
167
+ padding-top: $CAP_SPACE_06;
168
+ padding-right: $CAP_SPACE_06;
169
+ white-space: nowrap;
170
+ scrollbar-width: none;
171
+ &::-webkit-scrollbar {
172
+ display: none;
173
+ }
174
+ // Listing should show a peek (no horizontal scroll interaction needed)
175
+ overflow: hidden;
176
+ }
177
+
178
+ .rcs-listing-carousel-card {
179
+ padding: $CAP_SPACE_04 0 $CAP_SPACE_08;
180
+ border-radius: $CAP_SPACE_06;
181
+ background-color: $CAP_WHITE;
182
+ width: 80%;
183
+ flex-shrink: 0;
184
+ margin-right: $CAP_SPACE_04;
185
+ white-space: normal;
186
+ text-align: left;
187
+ }
188
+
189
+ .rcs-listing-carousel-img {
190
+ width: 100%;
191
+ height: 6.4375rem; // match rcs-listing-image height (103px)
192
+ object-fit: cover;
193
+ display: block;
194
+ margin-bottom: $CAP_SPACE_08;
195
+ }
196
+
197
+ .rcs-listing-carousel-title,
198
+ .rcs-listing-carousel-desc {
199
+ display: block;
200
+ padding: 0 $CAP_SPACE_12;
201
+ }
202
+ .rcs-listing-carousel-desc {
203
+ margin-top: $CAP_SPACE_04;
204
+ }
205
+ }
206
+ }
86
207
  .fallback-sms-length {
87
208
  margin-top: 13px;
88
209
  float: right;
89
210
  }
211
+ .rcs-character-count {
212
+ color: $FONT_COLOR_03;
213
+ }
214
+
215
+ .rcs-carousel-character-count-row {
216
+ display: flex;
217
+ justify-content: flex-end;
218
+ margin-top: $CAP_SPACE_08;
219
+ }
90
220
  .rcs-fallback-len-error{
91
221
  margin-top: 8px;
92
222
  }
@@ -120,6 +250,140 @@
120
250
  #rcs-dimension-select{
121
251
  width: 100%;
122
252
  }
253
+
254
+ .rcs-carousel-section {
255
+ margin-top: $CAP_SPACE_12;
256
+ }
257
+
258
+ .rcs-carousel-dimension-section {
259
+ margin-top: 1.25rem;
260
+ }
261
+
262
+ .rcs-carousel-selected-dimension {
263
+ display: block;
264
+ margin-top: 8px;
265
+ color: $FONT_COLOR_03;
266
+ }
267
+
268
+ .rcs-carousel-dimension-label {
269
+ display: inline-block;
270
+ margin-bottom: 6px;
271
+ }
272
+
273
+ #rcs-carousel-height-select,
274
+ #rcs-carousel-width-select {
275
+ width: 100%;
276
+ }
277
+
278
+ .rcs-carousel-tab {
279
+ margin-top: 12px;
280
+ }
281
+
282
+ .rcs-carousel-card {
283
+ margin-top: 12px;
284
+
285
+ // Match carousel card header: title left, icon-only delete right (Figma / product reference).
286
+ &.cap-card-v2.ant-card {
287
+ .ant-card-head {
288
+ min-height: 48px;
289
+ padding: 0 $CAP_SPACE_16;
290
+ border-bottom: 1px solid #e8e8e8;
291
+ }
292
+
293
+ .ant-card-head-title {
294
+ padding: $CAP_SPACE_12 0;
295
+ font-weight: 600;
296
+ color: $CAP_G01;
297
+ }
298
+
299
+ .ant-card-extra {
300
+ padding: $CAP_SPACE_08 0;
301
+ }
302
+ }
303
+
304
+ .rcs-carousel-card-delete.ant-btn.cap-button-v2 {
305
+ display: inline-flex;
306
+ align-items: center;
307
+ justify-content: center;
308
+ min-width: auto;
309
+ width: 2rem;
310
+ height: 2rem;
311
+ padding: 0;
312
+ border: none;
313
+ box-shadow: none;
314
+ color: $CAP_G01;
315
+
316
+ &:not(:disabled):hover {
317
+ // Match $CAP_SECONDARY base from cap-ui-library (avoid map-get — node-sass can mis-resolve imported maps).
318
+ color: #2466ea;
319
+ background-color: rgba(0, 0, 0, 0.04);
320
+ }
321
+
322
+ &:disabled {
323
+ color: rgba(0, 0, 0, 0.25);
324
+ background: transparent;
325
+ }
326
+ }
327
+
328
+ .rcs-carousel-delete-tooltip-wrap.button-disabled-tooltip-wrapper {
329
+ display: inline-flex;
330
+ align-items: center;
331
+ cursor: not-allowed;
332
+ }
333
+ }
334
+
335
+ .rcs-carousel-card-row {
336
+ margin-bottom: 12px;
337
+ }
338
+
339
+ .rcs-carousel-media-selection {
340
+ margin-top: 0.75rem;
341
+ margin-bottom: 0.75rem;
342
+ align-items: center;
343
+ }
344
+
345
+ // Carousel upload previews: keep media preview compact (CapImageUpload uses height=400 by default)
346
+ .rcs-carousel-media-upload {
347
+ padding-top: $CAP_SPACE_20;
348
+ .image-container {
349
+ background-image: none;
350
+ border: 0;
351
+ width: 100%;
352
+ max-width: 560px;
353
+ }
354
+
355
+ .image-container img {
356
+ width: 100%;
357
+ height: auto !important;
358
+ max-height: 240px;
359
+ object-fit: contain;
360
+ display: block;
361
+ }
362
+ }
363
+
364
+ .rcs-carousel-card-divider {
365
+ margin: $CAP_SPACE_24 0;
366
+ }
367
+
368
+ .rcs-content-section-divider {
369
+ margin: $CAP_SPACE_28 0;
370
+ }
371
+
372
+ .rcs-edit-template-message-static-textarea {
373
+ background: #fafafa;
374
+ color: #888;
375
+
376
+ // Ensure styles apply to underlying textarea/input for CapInput TextArea.
377
+ textarea,
378
+ .ant-input {
379
+ background: #fafafa;
380
+ color: #888;
381
+ }
382
+ }
383
+
384
+ .add-carousel-content-button {
385
+ padding: 0 $CAP_SPACE_08;
386
+ }
123
387
  }
124
388
  .rcs-fallback-preview > .cap-slide-box-v2-container.size-r{
125
389
  min-width: 430px;
@@ -127,6 +391,12 @@
127
391
  width: 430px;
128
392
  }
129
393
 
394
+ // SMS fallback slidebox / tag popover: see v2Components/SmsFallback/index.scss (loaded with SmsFallback)
395
+
396
+ .template-status-container {
397
+ margin-bottom: $CAP_SPACE_24;
398
+ }
399
+
130
400
  .rcs-button-cta{
131
401
  margin-top: 1.25rem;
132
402
  margin-bottom: 0.75rem;
@@ -0,0 +1,74 @@
1
+ diff a/app/v2Containers/Rcs/index.scss b/app/v2Containers/Rcs/index.scss (rejected hunks)
2
+ @@ -5,109 +5,54 @@
3
+ position: fixed;
4
+ bottom: 0;
5
+ width: 100%;
6
+ + margin-left: -32px;
7
+ padding: $CAP_SPACE_32 $CAP_SPACE_24;
8
+ + margin-top: 40px;
9
+ z-index: 1;
10
+ .ant-btn {
11
+ margin-right: $CAP_SPACE_16;
12
+ }
13
+ -
14
+ .rcs-test-preview-btn {
15
+ margin-left: $CAP_SPACE_08;
16
+ }
17
+ }
18
+
19
+ .cap-rcs-creatives {
20
+ -
21
+ -
22
+ -
23
+ -
24
+ + .template-status-container {
25
+ + width: 100%;
26
+ + display: flex;
27
+ + flex-direction: column;
28
+ + align-items: flex-start;
29
+ + margin-bottom: 1.25rem; // match spacing used across label sections (eg title/message labels)
30
+
31
+ + .ant-alert {
32
+ + width: 100%;
33
+ + margin-top: $CAP_SPACE_08; // match label -> field spacing like other sections
34
+ }
35
+ }
36
+
37
+ + .rcs-scroll-div {
38
+ + margin-bottom: 150px;
39
+ }
40
+ + // Match WhatsApp visual spacing between editor column and preview column
41
+ .rcs-preview-container {
42
+ + padding-left: $CAP_SPACE_24;
43
+ + display: flex;
44
+ + justify-content: center;
45
+ }
46
+ .rcs-optional-label {
47
+ + margin-left: 8px;
48
+ color: $FONT_COLOR_03;
49
+ font-weight: normal;
50
+ }
51
+ .rcs_text_area_wrapper {
52
+ position: relative;
53
+ }
54
+ .rcs-button{
55
+ display: inline-grid;
56
+ }
57
+ -
58
+ -
59
+ -
60
+ -
61
+ + .rcs-button-label{
62
+ + margin-bottom: 17px;
63
+ }
64
+ .disabled-button{
65
+ opacity: 0.5;
66
+ @@ -202,12 +288,6 @@
67
+ width: 430px;
68
+ }
69
+
70
+ -
71
+ -
72
+ .rcs-fallback-preview {
73
+ &__header {
74
+ color: $CAP_G01;
@@ -6,6 +6,14 @@ 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
+ },
9
17
  approvedStatusMsg: {
10
18
  id: `${prefix}.approvedStatusMsg`,
11
19
  defaultMessage: 'This template has been approved',
@@ -39,6 +47,10 @@ export default defineMessages({
39
47
  id: `${prefix}.btnLabel`,
40
48
  defaultMessage: 'Buttons',
41
49
  },
50
+ carouselMediaVideoOption:{
51
+ id: `${prefix}.carouselMediaVideoOption`,
52
+ defaultMessage: 'Video',
53
+ },
42
54
  btnTypeNone: {
43
55
  id: `${prefix}.btnTypeNone`,
44
56
  defaultMessage: 'None',
@@ -194,6 +206,10 @@ export default defineMessages({
194
206
  id: `${prefix}.disabledCarouselTooltip`,
195
207
  defaultMessage: 'Not yet enabled. Coming soon!',
196
208
  },
209
+ rcsCarouselMinCardDeleteTooltip: {
210
+ id: `${prefix}.rcsCarouselMinCardDeleteTooltip`,
211
+ defaultMessage: 'At least 1 card needs to be added in the carousel template',
212
+ },
197
213
  templateNamePlaceholder: {
198
214
  id: `${prefix}.templateNamePlaceholder`,
199
215
  defaultMessage: 'Enter template name',
@@ -262,6 +278,10 @@ export default defineMessages({
262
278
  id: `${prefix}.fallbackLabel`,
263
279
  defaultMessage: 'Fallback SMS message',
264
280
  },
281
+ smsFallbackOptional: {
282
+ id: `${prefix}.smsFallbackOptional`,
283
+ defaultMessage: 'Fallback SMS message (Optional)',
284
+ },
265
285
  fallbackDesc: {
266
286
  id: `${prefix}.fallbackDesc`,
267
287
  defaultMessage: 'We would suggest to add fallback SMS',
@@ -281,7 +301,12 @@ export default defineMessages({
281
301
  },
282
302
  fallbackMsgPlaceholder: {
283
303
  id: `${prefix}.fallbackMsgPlaceholder`,
284
- defaultMessage: 'Enter the text message content for fallback SMS',
304
+ defaultMessage: 'Add labels or text',
305
+ },
306
+ /** Shown only when a {{…}} slot has no value — not the saved text (that uses the input value). */
307
+ rcsVarSlotPlaceholder: {
308
+ id: `${prefix}.rcsVarSlotPlaceholder`,
309
+ defaultMessage: 'Add labels or text',
285
310
  },
286
311
  totalCharacters: {
287
312
  id: `${prefix}.totalCharacters`,
@@ -457,7 +482,8 @@ export default defineMessages({
457
482
  },
458
483
  unknownCharactersError: {
459
484
  id: `${prefix}.unknownCharactersError`,
460
- defaultMessage: 'Only alphanumeric characters and underscore are allowed in custom param. Spaces/other special characters are not allowed.',
485
+ defaultMessage:
486
+ 'Only letters, numbers, underscores, and dots are allowed in custom param (e.g. tag.FORMAT_1). Spaces and other special characters are not allowed.',
461
487
  },
462
488
  emptyVariableError: {
463
489
  id: `${prefix}.emptyVariableError`,
@@ -487,4 +513,13 @@ export default defineMessages({
487
513
  id: `${prefix}.rcsTestPreviewDisabledTooltip`,
488
514
  defaultMessage: 'Preview and test is only available after the template is approved.',
489
515
  },
490
- });
516
+ reUpload: {
517
+ id: `${prefix}.reUpload`,
518
+ defaultMessage: 'Reupload',
519
+ },
520
+ /** Carousel video card thumbnail size label (see RCS_CAROUSEL_VIDEO_THUMBNAIL_DIMENSIONS). */
521
+ rcsCarouselVideoThumbnailLabel: {
522
+ id: `${prefix}.rcsCarouselVideoThumbnailLabel`,
523
+ defaultMessage: 'Thumbnail ({width} × {height})',
524
+ },
525
+ });