@capillarytech/creatives-library 8.0.359-alpha.0 → 8.0.359-alpha.1
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.
- package/constants/unified.js +29 -0
- package/index.html +1 -0
- package/package.json +1 -1
- package/services/tests/api.test.js +35 -20
- package/utils/cdnTransformation.js +75 -3
- package/utils/commonUtils.js +19 -1
- package/utils/rcsPayloadUtils.js +92 -0
- package/utils/templateVarUtils.js +201 -0
- package/utils/tests/cdnTransformation.test.js +127 -0
- package/utils/tests/rcsPayloadUtils.test.js +226 -0
- package/utils/tests/templateVarUtils.test.js +204 -0
- package/v2Components/CapActionButton/constants.js +7 -0
- package/v2Components/CapActionButton/index.js +166 -108
- package/v2Components/CapActionButton/index.scss +157 -6
- package/v2Components/CapActionButton/messages.js +19 -3
- package/v2Components/CapActionButton/tests/index.test.js +41 -17
- package/v2Components/CapImageUpload/index.js +2 -2
- package/v2Components/CapTagList/index.js +10 -0
- package/v2Components/CommonTestAndPreview/CustomValuesEditor.js +72 -49
- package/v2Components/CommonTestAndPreview/DeliverySettings/DeliverySettings.scss +8 -2
- package/v2Components/CommonTestAndPreview/DeliverySettings/ModifyDeliverySettings.js +214 -21
- package/v2Components/CommonTestAndPreview/DeliverySettings/constants.js +16 -0
- package/v2Components/CommonTestAndPreview/DeliverySettings/index.js +83 -9
- package/v2Components/CommonTestAndPreview/DeliverySettings/messages.js +30 -0
- package/v2Components/CommonTestAndPreview/DeliverySettings/utils/parseSenderDetailsResponse.js +79 -11
- package/v2Components/CommonTestAndPreview/SendTestMessage.js +10 -5
- package/v2Components/CommonTestAndPreview/UnifiedPreview/PreviewHeader.js +16 -0
- package/v2Components/CommonTestAndPreview/UnifiedPreview/RcsPreviewContent.js +157 -15
- package/v2Components/CommonTestAndPreview/UnifiedPreview/ViberPreviewContent.js +14 -132
- package/v2Components/CommonTestAndPreview/UnifiedPreview/WebPushPreviewContent.js +169 -0
- package/v2Components/CommonTestAndPreview/UnifiedPreview/_unifiedPreview.scss +400 -239
- package/v2Components/CommonTestAndPreview/UnifiedPreview/index.js +202 -10
- package/v2Components/CommonTestAndPreview/_commonTestAndPreview.scss +11 -0
- package/v2Components/CommonTestAndPreview/constants.js +40 -2
- package/v2Components/CommonTestAndPreview/index.js +887 -453
- package/v2Components/CommonTestAndPreview/messages.js +45 -3
- package/v2Components/CommonTestAndPreview/previewApiUtils.js +59 -0
- package/v2Components/CommonTestAndPreview/sagas.js +25 -6
- package/v2Components/CommonTestAndPreview/tests/CustomValuesEditor.test.js +308 -284
- package/v2Components/CommonTestAndPreview/tests/DeliverySettings/ModifyDeliverySettings.test.js +231 -65
- package/v2Components/CommonTestAndPreview/tests/DeliverySettings/index.test.js +118 -5
- package/v2Components/CommonTestAndPreview/tests/DeliverySettings/utils/parseSenderDetailsResponse.test.js +341 -0
- package/v2Components/CommonTestAndPreview/tests/PreviewSection.test.js +8 -1
- package/v2Components/CommonTestAndPreview/tests/SendTestMessage.test.js +34 -13
- package/v2Components/CommonTestAndPreview/tests/UnifiedPreview/PreviewHeader.test.js +163 -0
- package/v2Components/CommonTestAndPreview/tests/UnifiedPreview/RcsPreviewContent.test.js +281 -283
- package/v2Components/CommonTestAndPreview/tests/UnifiedPreview/ViberPreviewContent.test.js +0 -364
- package/v2Components/CommonTestAndPreview/tests/UnifiedPreview/WebPushPreviewContent.test.js +522 -0
- package/v2Components/CommonTestAndPreview/tests/UnifiedPreview/index.test.js +454 -1
- package/v2Components/CommonTestAndPreview/tests/constants.test.js +2 -1
- package/v2Components/CommonTestAndPreview/tests/index.test.js +327 -4
- package/v2Components/CommonTestAndPreview/tests/previewApiUtils.test.js +67 -0
- package/v2Components/CommonTestAndPreview/tests/sagas.test.js +31 -24
- package/v2Components/FormBuilder/index.js +167 -56
- package/v2Components/SmsFallback/SmsFallbackLocalSelector.js +91 -0
- package/v2Components/SmsFallback/constants.js +73 -0
- package/v2Components/SmsFallback/index.js +956 -0
- package/v2Components/SmsFallback/index.scss +265 -0
- package/v2Components/SmsFallback/messages.js +78 -0
- package/v2Components/SmsFallback/smsFallbackUtils.js +119 -0
- package/v2Components/SmsFallback/tests/SmsFallbackLocalSelector.test.js +50 -0
- package/v2Components/SmsFallback/tests/rcsSmsFallback.acceptance.test.js +147 -0
- package/v2Components/SmsFallback/tests/smsFallbackHandlers.test.js +304 -0
- package/v2Components/SmsFallback/tests/smsFallbackUi.test.js +223 -0
- package/v2Components/SmsFallback/tests/smsFallbackUtils.test.js +309 -0
- package/v2Components/SmsFallback/tests/useLocalTemplateList.test.js +422 -0
- package/v2Components/SmsFallback/useLocalTemplateList.js +92 -0
- package/v2Components/TemplatePreview/_templatePreview.scss +37 -22
- package/v2Components/TemplatePreview/constants.js +2 -0
- package/v2Components/TemplatePreview/index.js +143 -31
- package/v2Components/TemplatePreview/tests/index.test.js +142 -0
- package/v2Components/TestAndPreviewSlidebox/index.js +15 -3
- package/v2Components/TestAndPreviewSlidebox/sagas.js +11 -4
- package/v2Components/TestAndPreviewSlidebox/tests/saga.test.js +3 -1
- package/v2Components/VarSegmentMessageEditor/constants.js +2 -0
- package/v2Components/VarSegmentMessageEditor/index.js +125 -0
- package/v2Components/VarSegmentMessageEditor/index.scss +46 -0
- package/v2Containers/App/constants.js +3 -0
- package/v2Containers/App/tests/constants.test.js +61 -0
- package/v2Containers/CreativesContainer/CreativesSlideBoxWrapper.js +17 -0
- package/v2Containers/CreativesContainer/SlideBoxContent.js +36 -4
- package/v2Containers/CreativesContainer/SlideBoxFooter.js +14 -5
- package/v2Containers/CreativesContainer/SlideBoxHeader.js +36 -5
- package/v2Containers/CreativesContainer/constants.js +9 -0
- package/v2Containers/CreativesContainer/embeddedSlideboxUtils.js +79 -0
- package/v2Containers/CreativesContainer/index.js +382 -127
- package/v2Containers/CreativesContainer/index.scss +83 -1
- package/v2Containers/CreativesContainer/tests/SlideBoxContent.localTemplates.test.js +90 -0
- package/v2Containers/CreativesContainer/tests/SlideBoxFooter.test.js +79 -34
- package/v2Containers/CreativesContainer/tests/SlideBoxHeader.test.js +79 -16
- package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +8 -0
- package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxHeader.test.js.snap +357 -98
- package/v2Containers/CreativesContainer/tests/__snapshots__/index.test.js.snap +20 -15
- package/v2Containers/CreativesContainer/tests/embeddedSlideboxUtils.test.js +258 -0
- package/v2Containers/CreativesContainer/tests/index.test.js +71 -9
- package/v2Containers/CreativesContainer/tests/useLocalTemplatesProp.test.js +125 -0
- package/v2Containers/MobilePush/Create/test/saga.test.js +2 -2
- package/v2Containers/Rcs/constants.js +120 -11
- package/v2Containers/Rcs/index.js +2577 -812
- package/v2Containers/Rcs/index.scss +281 -8
- package/v2Containers/Rcs/messages.js +34 -3
- package/v2Containers/Rcs/rcsLibraryHydrationUtils.js +225 -0
- package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +98036 -70145
- package/v2Containers/Rcs/tests/__snapshots__/utils.test.js.snap +0 -5
- package/v2Containers/Rcs/tests/index.test.js +152 -121
- package/v2Containers/Rcs/tests/mockData.js +38 -0
- package/v2Containers/Rcs/tests/rcsLibraryHydrationUtils.test.js +318 -0
- package/v2Containers/Rcs/tests/utils.test.js +646 -30
- package/v2Containers/Rcs/utils.js +478 -11
- package/v2Containers/Sms/Create/index.js +106 -40
- package/v2Containers/Sms/smsFormDataHelpers.js +67 -0
- package/v2Containers/Sms/tests/smsFormDataHelpers.test.js +253 -0
- package/v2Containers/SmsTrai/Create/index.js +9 -4
- package/v2Containers/SmsTrai/Edit/constants.js +2 -0
- package/v2Containers/SmsTrai/Edit/index.js +640 -130
- package/v2Containers/SmsTrai/Edit/index.scss +121 -0
- package/v2Containers/SmsTrai/Edit/messages.js +14 -4
- package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +4328 -2375
- package/v2Containers/SmsWrapper/index.js +37 -8
- package/v2Containers/TagList/index.js +6 -0
- package/v2Containers/Templates/TemplatesActionBar.js +101 -0
- package/v2Containers/Templates/_templates.scss +166 -86
- package/v2Containers/Templates/actions.js +11 -0
- package/v2Containers/Templates/constants.js +2 -0
- package/v2Containers/Templates/index.js +203 -145
- package/v2Containers/Templates/sagas.js +62 -13
- package/v2Containers/Templates/tests/TemplatesActionBar.test.js +120 -0
- package/v2Containers/Templates/tests/__snapshots__/index.test.js.snap +1062 -1017
- package/v2Containers/Templates/tests/sagas.test.js +222 -22
- package/v2Containers/Templates/tests/smsTemplatesListApi.test.js +180 -0
- package/v2Containers/Templates/tests/webpush.test.js +375 -0
- package/v2Containers/Templates/utils/smsTemplatesListApi.js +79 -0
- package/v2Containers/TemplatesV2/TemplatesV2.style.js +72 -1
- package/v2Containers/TemplatesV2/index.js +86 -23
- package/v2Containers/TemplatesV2/tests/TemplatesV2.localTemplates.test.js +131 -0
- package/v2Containers/Viber/constants.js +0 -19
- package/v2Containers/Viber/index.js +47 -714
- package/v2Containers/Viber/index.scss +0 -148
- package/v2Containers/Viber/messages.js +0 -116
- package/v2Containers/Viber/tests/index.test.js +0 -80
- package/v2Containers/WeChat/MapTemplates/test/saga.test.js +9 -9
- package/v2Containers/WebPush/Create/index.js +91 -8
- package/v2Containers/WebPush/Create/index.scss +7 -0
- package/v2Containers/WebPush/Create/tests/getTemplateContent.test.js +348 -0
- package/v2Containers/WebPush/Create/tests/testAndPreviewIntegration.test.js +325 -0
- package/v2Containers/Whatsapp/index.js +3 -20
- package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +578 -34
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* UnifiedPreview Styles
|
|
5
|
-
*
|
|
5
|
+
*
|
|
6
6
|
* Consistent styling for preview across all channels
|
|
7
7
|
*/
|
|
8
8
|
|
|
@@ -11,25 +11,24 @@
|
|
|
11
11
|
height: 100%;
|
|
12
12
|
display: flex;
|
|
13
13
|
flex-direction: column;
|
|
14
|
-
background: $CAP_WHITE;
|
|
15
14
|
overflow: hidden;
|
|
16
|
-
|
|
15
|
+
|
|
17
16
|
// Preview Chrome wrapper (matches old TestAndPreviewSlidebox design)
|
|
18
17
|
.preview-chrome {
|
|
19
18
|
background: $CAP_WHITE;
|
|
20
19
|
overflow: hidden;
|
|
21
|
-
|
|
20
|
+
|
|
22
21
|
.preview-divider {
|
|
23
22
|
margin: 0;
|
|
24
23
|
}
|
|
25
|
-
|
|
24
|
+
|
|
26
25
|
.preview-header {
|
|
27
26
|
display: flex;
|
|
28
27
|
justify-content: space-between;
|
|
29
28
|
align-items: center;
|
|
30
29
|
padding: $CAP_SPACE_08 $CAP_SPACE_16 $CAP_SPACE_06 $CAP_SPACE_16;
|
|
31
30
|
background: $CAP_G09;
|
|
32
|
-
|
|
31
|
+
|
|
33
32
|
.preview-for {
|
|
34
33
|
font-size: $FONT_SIZE_M;
|
|
35
34
|
color: #595959;
|
|
@@ -39,20 +38,20 @@
|
|
|
39
38
|
margin-left: $CAP_SPACE_04;
|
|
40
39
|
}
|
|
41
40
|
}
|
|
42
|
-
|
|
41
|
+
|
|
43
42
|
.device-toggle {
|
|
44
43
|
display: flex;
|
|
45
44
|
gap: $CAP_SPACE_08;
|
|
46
45
|
background-color: #e0e0e0;
|
|
47
46
|
padding: $CAP_SPACE_06 $CAP_SPACE_08;
|
|
48
47
|
border-radius: $CAP_SPACE_08;
|
|
49
|
-
|
|
48
|
+
|
|
50
49
|
.anticon {
|
|
51
50
|
padding: $CAP_SPACE_04;
|
|
52
51
|
border-radius: $CAP_SPACE_04;
|
|
53
52
|
cursor: pointer;
|
|
54
53
|
color: #595959;
|
|
55
|
-
|
|
54
|
+
|
|
56
55
|
&.active {
|
|
57
56
|
background-color: $CAP_WHITE;
|
|
58
57
|
color: #262626;
|
|
@@ -62,7 +61,27 @@
|
|
|
62
61
|
}
|
|
63
62
|
}
|
|
64
63
|
}
|
|
65
|
-
|
|
64
|
+
|
|
65
|
+
&.unified-preview-rcs-tabs {
|
|
66
|
+
.ant-tabs-nav {
|
|
67
|
+
margin: 0;
|
|
68
|
+
padding: 0 $CAP_SPACE_16;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// Prevent white hover/active backgrounds from default antd styles
|
|
72
|
+
.ant-tabs-tab,
|
|
73
|
+
.ant-tabs-tab:hover,
|
|
74
|
+
.ant-tabs-tab-active {
|
|
75
|
+
background: transparent;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.ant-tabs-tab-btn,
|
|
79
|
+
.ant-tabs-tab-btn:hover,
|
|
80
|
+
.ant-tabs-tab-btn:active {
|
|
81
|
+
background: transparent;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
66
85
|
// Preview Content Container
|
|
67
86
|
.preview-content-container {
|
|
68
87
|
flex: 1;
|
|
@@ -75,25 +94,25 @@
|
|
|
75
94
|
.preview-content-container-no-header {
|
|
76
95
|
background-color: $CAP_WHITE;
|
|
77
96
|
}
|
|
78
|
-
|
|
97
|
+
|
|
79
98
|
// Device Frames
|
|
80
99
|
.unified-preview-frame {
|
|
81
100
|
width: 100%;
|
|
82
101
|
display: flex;
|
|
83
102
|
justify-content: center;
|
|
84
|
-
|
|
103
|
+
|
|
85
104
|
.device-frame {
|
|
86
105
|
background: $CAP_WHITE;
|
|
87
106
|
border-radius: $CAP_SPACE_08;
|
|
88
107
|
box-shadow: 0 $CAP_SPACE_04 $CAP_SPACE_12 rgba(0, 0, 0, 0.15);
|
|
89
108
|
overflow: hidden;
|
|
90
109
|
transition: all 0.3s ease;
|
|
91
|
-
|
|
110
|
+
|
|
92
111
|
// Desktop Frame
|
|
93
112
|
&.device-frame-desktop {
|
|
94
113
|
width: 100%;
|
|
95
114
|
min-height: 42.857rem;
|
|
96
|
-
|
|
115
|
+
|
|
97
116
|
.desktop-chrome {
|
|
98
117
|
height: $CAP_SPACE_40;
|
|
99
118
|
background: $CAP_G12;
|
|
@@ -102,30 +121,30 @@
|
|
|
102
121
|
align-items: center;
|
|
103
122
|
padding: 0 $CAP_SPACE_12;
|
|
104
123
|
gap: $CAP_SPACE_12;
|
|
105
|
-
|
|
124
|
+
|
|
106
125
|
.chrome-dots {
|
|
107
126
|
display: flex;
|
|
108
127
|
gap: $CAP_SPACE_06;
|
|
109
|
-
|
|
128
|
+
|
|
110
129
|
.dot {
|
|
111
130
|
width: $CAP_SPACE_12;
|
|
112
131
|
height: $CAP_SPACE_12;
|
|
113
132
|
border-radius: 50%;
|
|
114
|
-
|
|
133
|
+
|
|
115
134
|
&.dot-close {
|
|
116
135
|
background: #ff5f56;
|
|
117
136
|
}
|
|
118
|
-
|
|
137
|
+
|
|
119
138
|
&.dot-minimize {
|
|
120
139
|
background: #ffbd2e;
|
|
121
140
|
}
|
|
122
|
-
|
|
141
|
+
|
|
123
142
|
&.dot-maximize {
|
|
124
143
|
background: #27c93f;
|
|
125
144
|
}
|
|
126
145
|
}
|
|
127
146
|
}
|
|
128
|
-
|
|
147
|
+
|
|
129
148
|
.chrome-address-bar {
|
|
130
149
|
flex: 1;
|
|
131
150
|
background: $CAP_WHITE;
|
|
@@ -135,25 +154,25 @@
|
|
|
135
154
|
color: #8c8c8c;
|
|
136
155
|
}
|
|
137
156
|
}
|
|
138
|
-
|
|
157
|
+
|
|
139
158
|
.device-content {
|
|
140
159
|
min-height: 40rem;
|
|
141
160
|
background: $CAP_WHITE;
|
|
142
161
|
}
|
|
143
162
|
}
|
|
144
|
-
|
|
163
|
+
|
|
145
164
|
// Tablet Frame
|
|
146
165
|
&.device-frame-tablet {
|
|
147
166
|
width: 54.857rem;
|
|
148
167
|
max-width: 90%;
|
|
149
|
-
|
|
168
|
+
|
|
150
169
|
.tablet-chrome {
|
|
151
170
|
height: $CAP_SPACE_24;
|
|
152
171
|
background: #333333;
|
|
153
172
|
display: flex;
|
|
154
173
|
align-items: center;
|
|
155
174
|
justify-content: center;
|
|
156
|
-
|
|
175
|
+
|
|
157
176
|
.tablet-camera {
|
|
158
177
|
width: $CAP_SPACE_08;
|
|
159
178
|
height: $CAP_SPACE_08;
|
|
@@ -162,19 +181,19 @@
|
|
|
162
181
|
border: $CAP_SPACE_01 solid #666666;
|
|
163
182
|
}
|
|
164
183
|
}
|
|
165
|
-
|
|
184
|
+
|
|
166
185
|
.device-content {
|
|
167
186
|
min-height: 73.143rem;
|
|
168
187
|
background: $CAP_WHITE;
|
|
169
188
|
}
|
|
170
|
-
|
|
189
|
+
|
|
171
190
|
.tablet-footer {
|
|
172
191
|
height: 3.571rem;
|
|
173
192
|
background: #333333;
|
|
174
193
|
display: flex;
|
|
175
194
|
align-items: center;
|
|
176
195
|
justify-content: center;
|
|
177
|
-
|
|
196
|
+
|
|
178
197
|
.home-button {
|
|
179
198
|
width: $CAP_SPACE_40;
|
|
180
199
|
height: $CAP_SPACE_40;
|
|
@@ -184,19 +203,19 @@
|
|
|
184
203
|
}
|
|
185
204
|
}
|
|
186
205
|
}
|
|
187
|
-
|
|
206
|
+
|
|
188
207
|
// Mobile Frame
|
|
189
208
|
&.device-frame-mobile {
|
|
190
209
|
width: 26.786rem;
|
|
191
210
|
max-width: 90%;
|
|
192
|
-
|
|
211
|
+
|
|
193
212
|
.mobile-chrome {
|
|
194
213
|
height: $CAP_SPACE_24;
|
|
195
214
|
background: #000000;
|
|
196
215
|
display: flex;
|
|
197
216
|
align-items: center;
|
|
198
217
|
justify-content: center;
|
|
199
|
-
|
|
218
|
+
|
|
200
219
|
.mobile-notch {
|
|
201
220
|
width: 10.714rem;
|
|
202
221
|
height: 1.571rem;
|
|
@@ -204,19 +223,19 @@
|
|
|
204
223
|
border-radius: 0 0 $CAP_SPACE_12 $CAP_SPACE_12;
|
|
205
224
|
}
|
|
206
225
|
}
|
|
207
|
-
|
|
226
|
+
|
|
208
227
|
.device-content {
|
|
209
228
|
min-height: 47.643rem;
|
|
210
229
|
background: $CAP_WHITE;
|
|
211
230
|
}
|
|
212
|
-
|
|
231
|
+
|
|
213
232
|
.mobile-footer {
|
|
214
233
|
height: $CAP_SPACE_24;
|
|
215
234
|
background: #000000;
|
|
216
235
|
display: flex;
|
|
217
236
|
align-items: center;
|
|
218
237
|
justify-content: center;
|
|
219
|
-
|
|
238
|
+
|
|
220
239
|
.home-indicator {
|
|
221
240
|
width: $CAP_SPACE_80;
|
|
222
241
|
height: $CAP_SPACE_04;
|
|
@@ -228,7 +247,7 @@
|
|
|
228
247
|
}
|
|
229
248
|
}
|
|
230
249
|
}
|
|
231
|
-
|
|
250
|
+
|
|
232
251
|
// Channel Preview Placeholders (Phase 5)
|
|
233
252
|
.channel-preview-placeholder {
|
|
234
253
|
display: flex;
|
|
@@ -238,7 +257,7 @@
|
|
|
238
257
|
padding: $CAP_SPACE_60 $CAP_SPACE_24;
|
|
239
258
|
text-align: center;
|
|
240
259
|
min-height: 28.571rem;
|
|
241
|
-
|
|
260
|
+
|
|
242
261
|
.question-circle {
|
|
243
262
|
font-size: $CAP_SPACE_48;
|
|
244
263
|
color: $CAP_COLOR_16;
|
|
@@ -249,13 +268,13 @@
|
|
|
249
268
|
font-weight: 600;
|
|
250
269
|
color: #262626;
|
|
251
270
|
}
|
|
252
|
-
|
|
271
|
+
|
|
253
272
|
p {
|
|
254
273
|
margin-top: $CAP_SPACE_08;
|
|
255
274
|
font-size: $FONT_SIZE_M;
|
|
256
275
|
color: #8c8c8c;
|
|
257
276
|
}
|
|
258
|
-
|
|
277
|
+
|
|
259
278
|
.preview-subject {
|
|
260
279
|
margin-top: $CAP_SPACE_24;
|
|
261
280
|
padding: $CAP_SPACE_12 $CAP_SPACE_16;
|
|
@@ -264,26 +283,26 @@
|
|
|
264
283
|
text-align: left;
|
|
265
284
|
width: 100%;
|
|
266
285
|
max-width: 35.714rem;
|
|
267
|
-
|
|
286
|
+
|
|
268
287
|
strong {
|
|
269
288
|
color: #595959;
|
|
270
289
|
margin-right: $CAP_SPACE_08;
|
|
271
290
|
}
|
|
272
291
|
}
|
|
273
|
-
|
|
292
|
+
|
|
274
293
|
.preview-body-placeholder {
|
|
275
294
|
margin-top: $CAP_SPACE_12;
|
|
276
295
|
padding: $CAP_SPACE_08 $CAP_SPACE_12;
|
|
277
296
|
background: #fafafa;
|
|
278
297
|
border: $CAP_SPACE_01 dashed $CAP_COLOR_16;
|
|
279
298
|
border-radius: $CAP_SPACE_04;
|
|
280
|
-
|
|
299
|
+
|
|
281
300
|
small {
|
|
282
301
|
color: #8c8c8c;
|
|
283
302
|
}
|
|
284
303
|
}
|
|
285
304
|
}
|
|
286
|
-
|
|
305
|
+
|
|
287
306
|
// Loading State
|
|
288
307
|
&.unified-preview-loading {
|
|
289
308
|
.preview-loading-container {
|
|
@@ -294,14 +313,14 @@
|
|
|
294
313
|
justify-content: center;
|
|
295
314
|
gap: $CAP_SPACE_16;
|
|
296
315
|
min-height: 28.571rem;
|
|
297
|
-
|
|
316
|
+
|
|
298
317
|
.loading-text {
|
|
299
318
|
font-size: $FONT_SIZE_M;
|
|
300
319
|
color: #8c8c8c;
|
|
301
320
|
}
|
|
302
321
|
}
|
|
303
322
|
}
|
|
304
|
-
|
|
323
|
+
|
|
305
324
|
// Error State
|
|
306
325
|
&.unified-preview-error {
|
|
307
326
|
.preview-error-container {
|
|
@@ -312,7 +331,7 @@
|
|
|
312
331
|
justify-content: center;
|
|
313
332
|
gap: $CAP_SPACE_16;
|
|
314
333
|
min-height: 28.571rem;
|
|
315
|
-
|
|
334
|
+
|
|
316
335
|
.exclamation-circle {
|
|
317
336
|
font-size: $CAP_SPACE_48;
|
|
318
337
|
color: #ff4d4f;
|
|
@@ -322,7 +341,7 @@
|
|
|
322
341
|
font-weight: 600;
|
|
323
342
|
color: #262626;
|
|
324
343
|
}
|
|
325
|
-
|
|
344
|
+
|
|
326
345
|
.error-message {
|
|
327
346
|
font-size: $FONT_SIZE_M;
|
|
328
347
|
color: #ff4d4f;
|
|
@@ -331,7 +350,7 @@
|
|
|
331
350
|
}
|
|
332
351
|
}
|
|
333
352
|
}
|
|
334
|
-
|
|
353
|
+
|
|
335
354
|
// Preview Metadata
|
|
336
355
|
.preview-metadata {
|
|
337
356
|
padding: $CAP_SPACE_12 $CAP_SPACE_24;
|
|
@@ -341,7 +360,7 @@
|
|
|
341
360
|
color: #8c8c8c;
|
|
342
361
|
display: flex;
|
|
343
362
|
gap: $CAP_SPACE_16;
|
|
344
|
-
|
|
363
|
+
|
|
345
364
|
.metadata-item {
|
|
346
365
|
display: flex;
|
|
347
366
|
gap: $CAP_SPACE_04;
|
|
@@ -534,7 +553,7 @@
|
|
|
534
553
|
font-weight: 600;
|
|
535
554
|
color: #262626;
|
|
536
555
|
}
|
|
537
|
-
|
|
556
|
+
|
|
538
557
|
.error-message {
|
|
539
558
|
font-size: $FONT_SIZE_M;
|
|
540
559
|
color: #ff4d4f;
|
|
@@ -576,9 +595,12 @@
|
|
|
576
595
|
transform: translateX(-50%);
|
|
577
596
|
width: 100%;
|
|
578
597
|
max-width: 26.786rem;
|
|
598
|
+
min-width: 0; // flex descendant overflow: allow shrink inside narrow screen
|
|
579
599
|
height: calc(100% - 4.5rem);
|
|
580
600
|
display: flex;
|
|
581
601
|
flex-direction: column;
|
|
602
|
+
overflow-x: hidden;
|
|
603
|
+
box-sizing: border-box;
|
|
582
604
|
|
|
583
605
|
&.sms-content-overlay-android {
|
|
584
606
|
height: calc(100% - 3.8rem);
|
|
@@ -740,7 +762,7 @@
|
|
|
740
762
|
font-weight: 600;
|
|
741
763
|
color: #262626;
|
|
742
764
|
}
|
|
743
|
-
|
|
765
|
+
|
|
744
766
|
.sms-error-message {
|
|
745
767
|
font-size: $FONT_SIZE_M;
|
|
746
768
|
color: #ff4d4f;
|
|
@@ -762,13 +784,261 @@
|
|
|
762
784
|
}
|
|
763
785
|
}
|
|
764
786
|
|
|
787
|
+
// RCS carousel: allow cards to slide "behind" the phone frame/bezel
|
|
788
|
+
// (device png covers overflow while screen cutout still shows overlay)
|
|
789
|
+
.rcs-device-container.rcs-device-container-carousel {
|
|
790
|
+
.sms-device-image {
|
|
791
|
+
position: relative;
|
|
792
|
+
z-index: 0; // keep device image behind the overlay so preview never disappears
|
|
793
|
+
pointer-events: none; // allow horizontal scroll/drag on carousel underneath
|
|
794
|
+
}
|
|
795
|
+
|
|
796
|
+
.rcs-content-overlay {
|
|
797
|
+
z-index: 1; // overlay above device image (preview visible)
|
|
798
|
+
}
|
|
799
|
+
}
|
|
800
|
+
|
|
801
|
+
// RCS-only overrides for SMS-style preview frame (scoped; does not affect SMS channel preview)
|
|
802
|
+
.rcs-device-container {
|
|
803
|
+
.rcs-content-overlay {
|
|
804
|
+
|
|
805
|
+
&.sms-preview.sms-ios {
|
|
806
|
+
.sms-message-container.rcs-message-container-carousel {
|
|
807
|
+
margin-right: 0; // allow carousel to reach device edge
|
|
808
|
+
}
|
|
809
|
+
}
|
|
810
|
+
|
|
811
|
+
.sms-message-container {
|
|
812
|
+
&.rcs-message-container-carousel {
|
|
813
|
+
// Let carousel reach the right edge of the device frame (match expected)
|
|
814
|
+
padding-right: 0;
|
|
815
|
+
}
|
|
816
|
+
|
|
817
|
+
.sms-message-bubble {
|
|
818
|
+
&.rcs-message-bubble-carousel {
|
|
819
|
+
background: transparent;
|
|
820
|
+
padding: 0;
|
|
821
|
+
max-width: 100%;
|
|
822
|
+
border-radius: 0;
|
|
823
|
+
width: 100%;
|
|
824
|
+
|
|
825
|
+
.sms-message-text {
|
|
826
|
+
width: 100%;
|
|
827
|
+
}
|
|
828
|
+
}
|
|
829
|
+
}
|
|
830
|
+
}
|
|
831
|
+
}
|
|
832
|
+
}
|
|
833
|
+
|
|
834
|
+
// RCS Carousel preview inside SMS-style device frame
|
|
835
|
+
// RcsPreviewContent uses msg-container-carousel/scroll-container/message-pop-carousel classes.
|
|
836
|
+
.rcs-device-container {
|
|
837
|
+
.rcs-content-overlay {
|
|
838
|
+
.sms-message-text {
|
|
839
|
+
.message-pop.sms {
|
|
840
|
+
width: 100%;
|
|
841
|
+
.msg-container-carousel {
|
|
842
|
+
display: flex;
|
|
843
|
+
flex-direction: column;
|
|
844
|
+
width: 100%;
|
|
845
|
+
}
|
|
846
|
+
|
|
847
|
+
.scroll-container {
|
|
848
|
+
overflow-x: auto;
|
|
849
|
+
overflow-y: hidden;
|
|
850
|
+
display: flex;
|
|
851
|
+
flex-wrap: nowrap; // CapRow defaults can wrap; carousel must stay in one row
|
|
852
|
+
align-items: stretch;
|
|
853
|
+
padding-top: $CAP_SPACE_06;
|
|
854
|
+
padding-right: 0; // allow cards to align flush on the right
|
|
855
|
+
white-space: nowrap;
|
|
856
|
+
scrollbar-width: none; // Hide scrollbar in Firefox
|
|
857
|
+
gap: 0.75rem; // 12px; no trailing whitespace like margin-right
|
|
858
|
+
width: 100%;
|
|
859
|
+
|
|
860
|
+
&::-webkit-scrollbar {
|
|
861
|
+
display: none; // Hide scrollbar in Chrome/Safari/Opera
|
|
862
|
+
}
|
|
863
|
+
}
|
|
864
|
+
|
|
865
|
+
.message-pop-carousel {
|
|
866
|
+
// Match TemplatePreview carousel card look (big card + subtle shadow)
|
|
867
|
+
background-color: $CAP_WHITE;
|
|
868
|
+
border-radius: $CAP_SPACE_08;
|
|
869
|
+
// Ensure card width is stable and does not shrink to text width
|
|
870
|
+
width: 16.125rem; // 258px (shows 1 card + a peek of the next)
|
|
871
|
+
min-width: 16.125rem;
|
|
872
|
+
flex: 0 0 16.125rem;
|
|
873
|
+
padding: 0;
|
|
874
|
+
margin-right: 0; // spacing handled by scroll-container gap
|
|
875
|
+
color: $CAP_G01;
|
|
876
|
+
overflow: hidden;
|
|
877
|
+
box-shadow: 0 0 0.625rem 0 rgba(0, 0, 0, 0.08);
|
|
878
|
+
position: relative;
|
|
879
|
+
}
|
|
880
|
+
|
|
881
|
+
.whatsapp-content {
|
|
882
|
+
font-family: Roboto, 'Open Sans', sans-serif;
|
|
883
|
+
margin: 0;
|
|
884
|
+
width: 100%;
|
|
885
|
+
}
|
|
886
|
+
|
|
887
|
+
// Height follows width × aspect-ratio; inline style from carouselPreviewDimensions overrides fallback.
|
|
888
|
+
.whatsapp-image.rcs-carousel-media-wrap {
|
|
889
|
+
width: 100%;
|
|
890
|
+
height: auto;
|
|
891
|
+
aspect-ratio: 1280 / 720; // MEDIUM_MEDIUM image fallback when dimensions not passed
|
|
892
|
+
display: block;
|
|
893
|
+
overflow: hidden;
|
|
894
|
+
border-radius: 0.5rem 0.5rem 0 0; // 8px
|
|
895
|
+
margin-bottom: 0;
|
|
896
|
+
|
|
897
|
+
// CapImage (antd Image) applies className on wrapper; ensure inner img is constrained too.
|
|
898
|
+
img,
|
|
899
|
+
.ant-image-img {
|
|
900
|
+
width: 100%;
|
|
901
|
+
height: 100%;
|
|
902
|
+
object-fit: cover;
|
|
903
|
+
border-radius: inherit;
|
|
904
|
+
display: block;
|
|
905
|
+
}
|
|
906
|
+
|
|
907
|
+
// Plain <img> in RCS carousel preview (not CapImage)
|
|
908
|
+
.rcs-carousel-img {
|
|
909
|
+
width: 100%;
|
|
910
|
+
height: 100%;
|
|
911
|
+
object-fit: cover;
|
|
912
|
+
border-radius: inherit;
|
|
913
|
+
display: block;
|
|
914
|
+
}
|
|
915
|
+
}
|
|
916
|
+
|
|
917
|
+
.video-preview {
|
|
918
|
+
position: relative;
|
|
919
|
+
width: 100%;
|
|
920
|
+
margin-bottom: 0;
|
|
921
|
+
|
|
922
|
+
.whatsapp-image.rcs-carousel-media-wrap {
|
|
923
|
+
width: 100%;
|
|
924
|
+
height: auto;
|
|
925
|
+
aspect-ratio: 796 / 448; // MEDIUM_MEDIUM video thumbnail fallback
|
|
926
|
+
margin-bottom: 0;
|
|
927
|
+
|
|
928
|
+
img,
|
|
929
|
+
.ant-image-img,
|
|
930
|
+
.rcs-carousel-img {
|
|
931
|
+
width: 100%;
|
|
932
|
+
height: 100%;
|
|
933
|
+
object-fit: cover;
|
|
934
|
+
border-radius: inherit;
|
|
935
|
+
display: block;
|
|
936
|
+
}
|
|
937
|
+
}
|
|
938
|
+
|
|
939
|
+
.icon-position {
|
|
940
|
+
position: absolute;
|
|
941
|
+
top: 50%;
|
|
942
|
+
left: 50%;
|
|
943
|
+
transform: translate(-50%, -50%);
|
|
944
|
+
display: flex;
|
|
945
|
+
align-items: center;
|
|
946
|
+
justify-content: center;
|
|
947
|
+
|
|
948
|
+
.video-icon {
|
|
949
|
+
width: $CAP_SPACE_48;
|
|
950
|
+
height: $CAP_SPACE_48;
|
|
951
|
+
}
|
|
952
|
+
}
|
|
953
|
+
}
|
|
954
|
+
|
|
955
|
+
.carousel-content {
|
|
956
|
+
padding: 0.625rem 0.75rem; // 10px 12px
|
|
957
|
+
width: 100%;
|
|
958
|
+
background-color: #ebecf0;
|
|
959
|
+
white-space: normal; // override scroll-container's nowrap so text can wrap
|
|
960
|
+
display: flex;
|
|
961
|
+
flex-direction: column;
|
|
962
|
+
border-bottom-left-radius: 0.25rem; // 4px — text panel tucks above CTA gap (Figma)
|
|
963
|
+
border-bottom-right-radius: 0.25rem;
|
|
964
|
+
|
|
965
|
+
// Title/body typography via CapLabel type (label1 / label2, etc.)
|
|
966
|
+
.carousel-title {
|
|
967
|
+
margin-bottom: 0.25rem; // 4px
|
|
968
|
+
display: block;
|
|
969
|
+
overflow: visible;
|
|
970
|
+
white-space: normal;
|
|
971
|
+
overflow-wrap: anywhere;
|
|
972
|
+
}
|
|
973
|
+
|
|
974
|
+
.carousel-message {
|
|
975
|
+
display: block;
|
|
976
|
+
overflow: visible;
|
|
977
|
+
white-space: normal;
|
|
978
|
+
overflow-wrap: anywhere;
|
|
979
|
+
}
|
|
980
|
+
|
|
981
|
+
.rcs-carousel-field-placeholder {
|
|
982
|
+
color: $CAP_G05;
|
|
983
|
+
font-weight: $FONT_WEIGHT_REGULAR;
|
|
984
|
+
}
|
|
985
|
+
}
|
|
986
|
+
|
|
987
|
+
// Divider between message body and suggestions — subtle gray on the gray bubble
|
|
988
|
+
.whatsapp-divider {
|
|
989
|
+
margin: 0;
|
|
990
|
+
border-top: 1px solid $CAP_G07;
|
|
991
|
+
}
|
|
992
|
+
|
|
993
|
+
// Inside a carousel card (white bg) dividers should stay white
|
|
994
|
+
.message-pop-carousel .whatsapp-divider {
|
|
995
|
+
border-top: 1px solid $CAP_WHITE;
|
|
996
|
+
}
|
|
997
|
+
|
|
998
|
+
// Stacked full-width CTA bars below card copy, separated by white gap (Figma RCS carousel)
|
|
999
|
+
.rcs-carousel-cta-stack.cap-row-v2 {
|
|
1000
|
+
display: flex;
|
|
1001
|
+
flex-direction: column;
|
|
1002
|
+
flex-wrap: nowrap;
|
|
1003
|
+
width: 100%;
|
|
1004
|
+
gap: 0.25rem;
|
|
1005
|
+
box-sizing: border-box;
|
|
1006
|
+
align-items: stretch;
|
|
1007
|
+
}
|
|
1008
|
+
|
|
1009
|
+
.rcs-cta-preview--carousel-bar {
|
|
1010
|
+
display: flex;
|
|
1011
|
+
align-items: center;
|
|
1012
|
+
justify-content: center;
|
|
1013
|
+
gap: 0.375rem;
|
|
1014
|
+
width: 100%;
|
|
1015
|
+
margin: 0;
|
|
1016
|
+
padding: 0.625rem 0.75rem;
|
|
1017
|
+
box-sizing: border-box;
|
|
1018
|
+
background-color: #ebecf0;
|
|
1019
|
+
border-radius: 0.25rem;
|
|
1020
|
+
font-size: $FONT_SIZE_M;
|
|
1021
|
+
font-weight: $FONT_WEIGHT_MEDIUM;
|
|
1022
|
+
color: $CAP_G01;
|
|
1023
|
+
text-align: center;
|
|
1024
|
+
}
|
|
1025
|
+
|
|
1026
|
+
.rcs-cta-preview-phone-icon-end {
|
|
1027
|
+
margin-left: 0.25rem;
|
|
1028
|
+
flex-shrink: 0;
|
|
1029
|
+
}
|
|
1030
|
+
}
|
|
1031
|
+
}
|
|
1032
|
+
}
|
|
1033
|
+
}
|
|
1034
|
+
|
|
765
1035
|
// WhatsApp Preview Content Styles (Phase 8)
|
|
766
1036
|
// All WhatsApp styles wrapped in parent class for increased specificity
|
|
767
1037
|
// This prevents other CSS (like CapLabel) from overriding WhatsApp-specific styles
|
|
768
1038
|
.whatsapp-preview-wrapper {
|
|
769
1039
|
// Using same CSS classes as TemplatePreview for consistency
|
|
770
1040
|
// Styles are copied from TemplatePreview/_templatePreview.scss to ensure they work
|
|
771
|
-
|
|
1041
|
+
|
|
772
1042
|
.shell-v2-whatsapp {
|
|
773
1043
|
position: relative;
|
|
774
1044
|
-webkit-transform: translate(-50%);
|
|
@@ -843,23 +1113,23 @@
|
|
|
843
1113
|
}
|
|
844
1114
|
|
|
845
1115
|
// WhatsApp message pop styles (matching TemplatePreview)
|
|
846
|
-
&.whatsapp-message-pop
|
|
1116
|
+
&.whatsapp-message-pop,
|
|
1117
|
+
&.whatsapp-message-pop-carousel {
|
|
847
1118
|
padding: $CAP_SPACE_04 0 $CAP_SPACE_08;
|
|
848
1119
|
border-radius: $CAP_SPACE_06;
|
|
849
1120
|
background-color: $CAP_WHITE;
|
|
850
|
-
width: 88%;
|
|
851
1121
|
left: 0;
|
|
852
1122
|
}
|
|
853
1123
|
|
|
1124
|
+
&.whatsapp-message-pop {
|
|
1125
|
+
width: 88%;
|
|
1126
|
+
}
|
|
1127
|
+
|
|
854
1128
|
// WhatsApp carousel message pop styles
|
|
855
1129
|
&.whatsapp-message-pop-carousel {
|
|
856
|
-
padding: $CAP_SPACE_04 0 $CAP_SPACE_08;
|
|
857
|
-
border-radius: $CAP_SPACE_06;
|
|
858
|
-
background-color: $CAP_WHITE;
|
|
859
1130
|
width: 10.4rem;
|
|
860
1131
|
cursor: pointer;
|
|
861
1132
|
flex-shrink: 0;
|
|
862
|
-
left: 0;
|
|
863
1133
|
}
|
|
864
1134
|
}
|
|
865
1135
|
}
|
|
@@ -924,7 +1194,7 @@
|
|
|
924
1194
|
line-height: 1rem;
|
|
925
1195
|
font-family: Roboto, 'Open Sans', sans-serif;
|
|
926
1196
|
}
|
|
927
|
-
|
|
1197
|
+
|
|
928
1198
|
.whatsapp-template-footer-preview {
|
|
929
1199
|
// From WhatsApp/index.scss: color: $CAP_G04, but use white for preview
|
|
930
1200
|
color: $CAP_G01;
|
|
@@ -1007,19 +1277,19 @@
|
|
|
1007
1277
|
color: #8c8c8c;
|
|
1008
1278
|
font-size: $FONT_SIZE_M;
|
|
1009
1279
|
}
|
|
1010
|
-
|
|
1280
|
+
|
|
1011
1281
|
.whatsapp-error-text {
|
|
1012
1282
|
font-size: $FONT_SIZE_L;
|
|
1013
1283
|
font-weight: 600;
|
|
1014
1284
|
color: #262626;
|
|
1015
1285
|
}
|
|
1016
|
-
|
|
1286
|
+
|
|
1017
1287
|
.whatsapp-error-message {
|
|
1018
1288
|
font-size: $FONT_SIZE_M;
|
|
1019
1289
|
color: #ff4d4f;
|
|
1020
1290
|
text-align: center;
|
|
1021
1291
|
}
|
|
1022
|
-
|
|
1292
|
+
|
|
1023
1293
|
.whatsapp-no-content {
|
|
1024
1294
|
color: #8c8c8c;
|
|
1025
1295
|
font-size: $FONT_SIZE_M;
|
|
@@ -1071,14 +1341,14 @@
|
|
|
1071
1341
|
color: #8c8c8c;
|
|
1072
1342
|
margin-top: $CAP_SPACE_04;
|
|
1073
1343
|
}
|
|
1074
|
-
|
|
1344
|
+
|
|
1075
1345
|
.url-preview {
|
|
1076
1346
|
font-size: $FONT_SIZE_S;
|
|
1077
1347
|
color: #1890ff;
|
|
1078
1348
|
word-break: break-all;
|
|
1079
1349
|
}
|
|
1080
1350
|
}
|
|
1081
|
-
|
|
1351
|
+
|
|
1082
1352
|
// InApp Preview Content Styles (Phase 10)
|
|
1083
1353
|
// Styles copied from TemplatePreview/_templatePreview.scss to ensure consistency
|
|
1084
1354
|
// These styles work within the SMS device container structure
|
|
@@ -1139,11 +1409,11 @@
|
|
|
1139
1409
|
.inapp-message-container-FULLSCREEN {
|
|
1140
1410
|
position: relative;
|
|
1141
1411
|
background-color: $CAP_WHITE;
|
|
1142
|
-
width: 100%;
|
|
1412
|
+
width: 100%;
|
|
1143
1413
|
height: 100%;
|
|
1144
1414
|
align-items: center;
|
|
1145
1415
|
padding: 0 $CAP_SPACE_16;
|
|
1146
|
-
border-bottom-left-radius: 2.6rem;
|
|
1416
|
+
border-bottom-left-radius: 2.6rem;
|
|
1147
1417
|
border-bottom-right-radius: 2.6rem;
|
|
1148
1418
|
.inapp-title-FULLSCREEN {
|
|
1149
1419
|
align-items: center;
|
|
@@ -1973,7 +2243,7 @@
|
|
|
1973
2243
|
max-height: 7.5rem;
|
|
1974
2244
|
margin-left: $CAP_SPACE_24;
|
|
1975
2245
|
}
|
|
1976
|
-
|
|
2246
|
+
|
|
1977
2247
|
.mpush-gif-preview {
|
|
1978
2248
|
max-width: 100%;
|
|
1979
2249
|
max-height: 7.5rem;
|
|
@@ -2116,8 +2386,6 @@
|
|
|
2116
2386
|
flex: 1;
|
|
2117
2387
|
display: flex;
|
|
2118
2388
|
flex-direction: column;
|
|
2119
|
-
overflow-y: auto;
|
|
2120
|
-
-webkit-overflow-scrolling: touch;
|
|
2121
2389
|
padding: 0 $CAP_SPACE_16;
|
|
2122
2390
|
background-color: #ffffff;
|
|
2123
2391
|
margin-left: $CAP_SPACE_06;
|
|
@@ -2143,12 +2411,6 @@
|
|
|
2143
2411
|
margin-top: $CAP_SPACE_16;
|
|
2144
2412
|
width: 68%;
|
|
2145
2413
|
|
|
2146
|
-
&.viber-preview-carousel {
|
|
2147
|
-
width: 100%;
|
|
2148
|
-
margin-left: $CAP_SPACE_12;
|
|
2149
|
-
max-height: none;
|
|
2150
|
-
}
|
|
2151
|
-
|
|
2152
2414
|
// Account icon (from TemplatePreview line 1146-1160)
|
|
2153
2415
|
.viber-account-icon {
|
|
2154
2416
|
width: $CAP_SPACE_20;
|
|
@@ -2177,18 +2439,6 @@
|
|
|
2177
2439
|
border-radius: $CAP_SPACE_04;
|
|
2178
2440
|
padding: $CAP_SPACE_04;
|
|
2179
2441
|
|
|
2180
|
-
&.viber-message-pop-carousel {
|
|
2181
|
-
width: 100%;
|
|
2182
|
-
left: 0;
|
|
2183
|
-
margin-top: 0;
|
|
2184
|
-
padding: 0;
|
|
2185
|
-
background: transparent;
|
|
2186
|
-
display: flex;
|
|
2187
|
-
flex-direction: column;
|
|
2188
|
-
align-items: flex-start;
|
|
2189
|
-
gap: $CAP_SPACE_06;
|
|
2190
|
-
}
|
|
2191
|
-
|
|
2192
2442
|
// Text Viber preview (from TemplatePreview line 1166-1174)
|
|
2193
2443
|
.viber-message-text {
|
|
2194
2444
|
margin: 0.107rem $CAP_SPACE_06 $CAP_SPACE_01 0.5rem;
|
|
@@ -2253,6 +2503,7 @@
|
|
|
2253
2503
|
font-weight: 500;
|
|
2254
2504
|
display: -webkit-box;
|
|
2255
2505
|
-webkit-line-clamp: 1;
|
|
2506
|
+
line-clamp: 1;
|
|
2256
2507
|
-webkit-box-orient: vertical;
|
|
2257
2508
|
overflow: hidden;
|
|
2258
2509
|
color: $CAP_WHITE;
|
|
@@ -2260,149 +2511,6 @@
|
|
|
2260
2511
|
}
|
|
2261
2512
|
}
|
|
2262
2513
|
|
|
2263
|
-
.viber-carousel-message-pop,
|
|
2264
|
-
.viber-carousel-cards-pop {
|
|
2265
|
-
width: 100%;
|
|
2266
|
-
background: $CAP_G08;
|
|
2267
|
-
border-radius: $CAP_SPACE_06;
|
|
2268
|
-
padding: $CAP_SPACE_08;
|
|
2269
|
-
}
|
|
2270
|
-
|
|
2271
|
-
.viber-carousel-message-pop {
|
|
2272
|
-
margin-top: 0;
|
|
2273
|
-
width: 68%;
|
|
2274
|
-
border-radius: 0 $CAP_SPACE_06 $CAP_SPACE_06 $CAP_SPACE_06;
|
|
2275
|
-
}
|
|
2276
|
-
|
|
2277
|
-
.viber-carousel-cards-pop {
|
|
2278
|
-
margin-top: 0;
|
|
2279
|
-
width: 100%;
|
|
2280
|
-
background: transparent;
|
|
2281
|
-
border: none;
|
|
2282
|
-
border-radius: 0;
|
|
2283
|
-
padding: 0;
|
|
2284
|
-
}
|
|
2285
|
-
|
|
2286
|
-
.viber-carousel-message-box {
|
|
2287
|
-
width: 100%;
|
|
2288
|
-
min-height: 2.25rem;
|
|
2289
|
-
height: auto;
|
|
2290
|
-
border-radius: $CAP_SPACE_04;
|
|
2291
|
-
background: transparent;
|
|
2292
|
-
padding: 0 $CAP_SPACE_08;
|
|
2293
|
-
display: flex;
|
|
2294
|
-
align-items: center;
|
|
2295
|
-
}
|
|
2296
|
-
|
|
2297
|
-
.viber-carousel-message-box-text {
|
|
2298
|
-
color: $CAP_G01;
|
|
2299
|
-
margin: 0.107rem $CAP_SPACE_06 $CAP_SPACE_01 0.5rem;
|
|
2300
|
-
white-space: normal;
|
|
2301
|
-
word-break: break-word;
|
|
2302
|
-
overflow: visible;
|
|
2303
|
-
width: 100%;
|
|
2304
|
-
}
|
|
2305
|
-
|
|
2306
|
-
.viber-carousel-message-box-placeholder {
|
|
2307
|
-
width: 100%;
|
|
2308
|
-
height: 0.875rem;
|
|
2309
|
-
border-radius: $CAP_SPACE_04;
|
|
2310
|
-
background: $CAP_G07;
|
|
2311
|
-
}
|
|
2312
|
-
|
|
2313
|
-
.viber-carousel-message-timestamp,
|
|
2314
|
-
.viber-carousel-cards-timestamp {
|
|
2315
|
-
display: block;
|
|
2316
|
-
text-align: right;
|
|
2317
|
-
margin-top: $CAP_SPACE_06;
|
|
2318
|
-
color: $CAP_G04;
|
|
2319
|
-
}
|
|
2320
|
-
|
|
2321
|
-
.viber-carousel-preview-scroll {
|
|
2322
|
-
display: flex;
|
|
2323
|
-
width: 100%;
|
|
2324
|
-
overflow-x: auto;
|
|
2325
|
-
overflow-y: visible;
|
|
2326
|
-
|
|
2327
|
-
scrollbar-width: none;
|
|
2328
|
-
-webkit-overflow-scrolling: touch;
|
|
2329
|
-
|
|
2330
|
-
&::-webkit-scrollbar {
|
|
2331
|
-
display: none;
|
|
2332
|
-
}
|
|
2333
|
-
|
|
2334
|
-
.viber-carousel-preview-card {
|
|
2335
|
-
flex: 0 0 68%;
|
|
2336
|
-
min-width: 68%;
|
|
2337
|
-
margin-right: $CAP_SPACE_08;
|
|
2338
|
-
background: $CAP_G09;
|
|
2339
|
-
border: 1px solid $CAP_G07;
|
|
2340
|
-
border-radius: $CAP_SPACE_12;
|
|
2341
|
-
overflow: hidden;
|
|
2342
|
-
display: flex;
|
|
2343
|
-
flex-direction: column;
|
|
2344
|
-
|
|
2345
|
-
&:last-child {
|
|
2346
|
-
margin-right: 0;
|
|
2347
|
-
}
|
|
2348
|
-
|
|
2349
|
-
.viber-carousel-preview-card-body {
|
|
2350
|
-
padding: $CAP_SPACE_08;
|
|
2351
|
-
display: flex;
|
|
2352
|
-
flex-direction: column;
|
|
2353
|
-
gap: $CAP_SPACE_06;
|
|
2354
|
-
}
|
|
2355
|
-
|
|
2356
|
-
.viber-carousel-preview-image {
|
|
2357
|
-
width: 100%;
|
|
2358
|
-
height: 10rem;
|
|
2359
|
-
object-fit: cover;
|
|
2360
|
-
border-radius: 0;
|
|
2361
|
-
}
|
|
2362
|
-
|
|
2363
|
-
.viber-carousel-preview-image-placeholder {
|
|
2364
|
-
width: 100%;
|
|
2365
|
-
height: 10rem;
|
|
2366
|
-
border-radius: 0;
|
|
2367
|
-
background: $CAP_G07;
|
|
2368
|
-
}
|
|
2369
|
-
|
|
2370
|
-
.viber-carousel-preview-text {
|
|
2371
|
-
color: $CAP_G01;
|
|
2372
|
-
line-height: 1.3;
|
|
2373
|
-
white-space: normal;
|
|
2374
|
-
}
|
|
2375
|
-
|
|
2376
|
-
.viber-carousel-preview-text-placeholder {
|
|
2377
|
-
width: 100%;
|
|
2378
|
-
height: 0.875rem;
|
|
2379
|
-
border-radius: $CAP_SPACE_04;
|
|
2380
|
-
background: $CAP_G07;
|
|
2381
|
-
min-height: 0.875rem;
|
|
2382
|
-
}
|
|
2383
|
-
|
|
2384
|
-
.viber-carousel-preview-button {
|
|
2385
|
-
color: $CAP_WHITE;
|
|
2386
|
-
background: $CAP_PURPLE01;
|
|
2387
|
-
border-radius: $CAP_SPACE_12;
|
|
2388
|
-
text-align: center;
|
|
2389
|
-
width: 100%;
|
|
2390
|
-
display: flex;
|
|
2391
|
-
align-items: center;
|
|
2392
|
-
justify-content: center;
|
|
2393
|
-
min-height: 1.5rem;
|
|
2394
|
-
padding: $CAP_SPACE_06 $CAP_SPACE_08;
|
|
2395
|
-
white-space: normal;
|
|
2396
|
-
}
|
|
2397
|
-
|
|
2398
|
-
.viber-carousel-preview-button-secondary {
|
|
2399
|
-
color: $CAP_PURPLE01;
|
|
2400
|
-
background: transparent;
|
|
2401
|
-
border: none;
|
|
2402
|
-
}
|
|
2403
|
-
}
|
|
2404
|
-
}
|
|
2405
|
-
|
|
2406
2514
|
.empty-placeholder {
|
|
2407
2515
|
height: $CAP_SPACE_08;
|
|
2408
2516
|
}
|
|
@@ -2447,7 +2555,7 @@
|
|
|
2447
2555
|
color: $FONT_COLOR_01;
|
|
2448
2556
|
margin-bottom: $CAP_SPACE_12;
|
|
2449
2557
|
}
|
|
2450
|
-
|
|
2558
|
+
|
|
2451
2559
|
.preview-text {
|
|
2452
2560
|
font-weight: 400;
|
|
2453
2561
|
font-size: $FONT_SIZE_S;
|
|
@@ -2482,13 +2590,13 @@
|
|
|
2482
2590
|
justify-content: center;
|
|
2483
2591
|
padding: $CAP_SPACE_60 $CAP_SPACE_24;
|
|
2484
2592
|
gap: $CAP_SPACE_16;
|
|
2485
|
-
|
|
2593
|
+
|
|
2486
2594
|
.zalo-loading-text {
|
|
2487
2595
|
color: #8c8c8c;
|
|
2488
2596
|
font-size: $FONT_SIZE_M;
|
|
2489
2597
|
}
|
|
2490
2598
|
}
|
|
2491
|
-
|
|
2599
|
+
|
|
2492
2600
|
// Error state
|
|
2493
2601
|
.zalo-error-container {
|
|
2494
2602
|
display: flex;
|
|
@@ -2497,13 +2605,13 @@
|
|
|
2497
2605
|
justify-content: center;
|
|
2498
2606
|
padding: $CAP_SPACE_60 $CAP_SPACE_24;
|
|
2499
2607
|
gap: $CAP_SPACE_16;
|
|
2500
|
-
|
|
2608
|
+
|
|
2501
2609
|
.zalo-error-text {
|
|
2502
2610
|
font-size: $FONT_SIZE_L;
|
|
2503
2611
|
font-weight: 600;
|
|
2504
2612
|
color: #262626;
|
|
2505
2613
|
}
|
|
2506
|
-
|
|
2614
|
+
|
|
2507
2615
|
.zalo-error-message {
|
|
2508
2616
|
font-size: $FONT_SIZE_M;
|
|
2509
2617
|
color: #ff4d4f;
|
|
@@ -2513,6 +2621,60 @@
|
|
|
2513
2621
|
}
|
|
2514
2622
|
}
|
|
2515
2623
|
|
|
2624
|
+
// WebPush Test & Preview Styles
|
|
2625
|
+
.webpush-test-preview-container {
|
|
2626
|
+
width: 100%;
|
|
2627
|
+
position: relative;
|
|
2628
|
+
padding-left: $CAP_SPACE_16;
|
|
2629
|
+
padding-right: $CAP_SPACE_16;
|
|
2630
|
+
}
|
|
2631
|
+
|
|
2632
|
+
.webpush-preview-panel {
|
|
2633
|
+
position: relative;
|
|
2634
|
+
width: 100%;
|
|
2635
|
+
}
|
|
2636
|
+
|
|
2637
|
+
.webpush-fullscreen-modal {
|
|
2638
|
+
.webpush-fullscreen-divider {
|
|
2639
|
+
margin-top: 0;
|
|
2640
|
+
margin-bottom: $CAP_SPACE_16;
|
|
2641
|
+
}
|
|
2642
|
+
.ant-modal.cap-modal-v2 {
|
|
2643
|
+
width: 90%;
|
|
2644
|
+
max-width: 100%;
|
|
2645
|
+
margin-top: $CAP_SPACE_40;
|
|
2646
|
+
}
|
|
2647
|
+
// Preview Chrome wrapper (matches old TestAndPreviewSlidebox design)
|
|
2648
|
+
.webpush-preview-header {
|
|
2649
|
+
background: $CAP_WHITE;
|
|
2650
|
+
overflow: hidden;
|
|
2651
|
+
|
|
2652
|
+
.preview-divider {
|
|
2653
|
+
margin: 0;
|
|
2654
|
+
}
|
|
2655
|
+
|
|
2656
|
+
.webpush-heading-container {
|
|
2657
|
+
display: flex;
|
|
2658
|
+
justify-content: space-between;
|
|
2659
|
+
align-items: center;
|
|
2660
|
+
padding: $CAP_SPACE_16 0 $CAP_SPACE_16 0;
|
|
2661
|
+
|
|
2662
|
+
.preview-for {
|
|
2663
|
+
gap: $CAP_SPACE_04;
|
|
2664
|
+
align-items: center;
|
|
2665
|
+
b {
|
|
2666
|
+
margin-left: $CAP_SPACE_08;
|
|
2667
|
+
}
|
|
2668
|
+
}
|
|
2669
|
+
|
|
2670
|
+
.webpush-fullscreen-close-icon {
|
|
2671
|
+
width: $CAP_SPACE_24;
|
|
2672
|
+
height: $CAP_SPACE_24;
|
|
2673
|
+
}
|
|
2674
|
+
}
|
|
2675
|
+
}
|
|
2676
|
+
}
|
|
2677
|
+
|
|
2516
2678
|
// Responsive adjustments
|
|
2517
2679
|
@media (max-width: 85.714rem) {
|
|
2518
2680
|
.unified-preview {
|
|
@@ -2521,31 +2683,31 @@
|
|
|
2521
2683
|
}
|
|
2522
2684
|
}
|
|
2523
2685
|
}
|
|
2524
|
-
|
|
2686
|
+
|
|
2525
2687
|
@media (max-width: 54.857rem) {
|
|
2526
2688
|
.unified-preview {
|
|
2527
2689
|
.preview-header {
|
|
2528
2690
|
flex-direction: column;
|
|
2529
2691
|
align-items: flex-start;
|
|
2530
2692
|
gap: $CAP_SPACE_12;
|
|
2531
|
-
|
|
2693
|
+
|
|
2532
2694
|
.preview-header-right {
|
|
2533
2695
|
width: 100%;
|
|
2534
2696
|
justify-content: flex-start;
|
|
2535
2697
|
}
|
|
2536
2698
|
}
|
|
2537
|
-
|
|
2699
|
+
|
|
2538
2700
|
.preview-content-container {
|
|
2539
2701
|
padding: $CAP_SPACE_16;
|
|
2540
2702
|
}
|
|
2541
|
-
|
|
2703
|
+
|
|
2542
2704
|
.device-frame {
|
|
2543
2705
|
&.device-frame-desktop,
|
|
2544
2706
|
&.device-frame-tablet {
|
|
2545
2707
|
width: 100% !important;
|
|
2546
2708
|
max-width: 100% !important;
|
|
2547
2709
|
}
|
|
2548
|
-
|
|
2710
|
+
|
|
2549
2711
|
&.device-frame-mobile {
|
|
2550
2712
|
width: 100% !important;
|
|
2551
2713
|
max-width: 100% !important;
|
|
@@ -2553,4 +2715,3 @@
|
|
|
2553
2715
|
}
|
|
2554
2716
|
}
|
|
2555
2717
|
}
|
|
2556
|
-
|