@capillarytech/creatives-library 8.0.330-alpha.0 → 8.0.330
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 +0 -18
- package/package.json +1 -1
- package/services/api.js +0 -17
- package/services/tests/api.test.js +0 -85
- package/utils/commonUtils.js +0 -28
- package/utils/tests/commonUtil.test.js +0 -169
- package/v2Components/CapTagList/index.js +0 -10
- package/v2Components/CommonTestAndPreview/CustomValuesEditor.js +49 -70
- package/v2Components/CommonTestAndPreview/DeliverySettings/DeliverySettings.scss +2 -8
- package/v2Components/CommonTestAndPreview/DeliverySettings/ModifyDeliverySettings.js +21 -207
- package/v2Components/CommonTestAndPreview/DeliverySettings/constants.js +0 -16
- package/v2Components/CommonTestAndPreview/DeliverySettings/index.js +10 -85
- package/v2Components/CommonTestAndPreview/DeliverySettings/messages.js +0 -30
- package/v2Components/CommonTestAndPreview/DeliverySettings/utils/parseSenderDetailsResponse.js +11 -79
- package/v2Components/CommonTestAndPreview/SendTestMessage.js +53 -87
- package/v2Components/CommonTestAndPreview/UnifiedPreview/_unifiedPreview.scss +1 -20
- package/v2Components/CommonTestAndPreview/UnifiedPreview/index.js +4 -133
- package/v2Components/CommonTestAndPreview/_commonTestAndPreview.scss +34 -145
- package/v2Components/CommonTestAndPreview/actions.js +0 -10
- package/v2Components/CommonTestAndPreview/constants.js +1 -53
- package/v2Components/CommonTestAndPreview/index.js +168 -998
- package/v2Components/CommonTestAndPreview/messages.js +3 -147
- package/v2Components/CommonTestAndPreview/reducer.js +0 -10
- package/v2Components/CommonTestAndPreview/sagas.js +6 -15
- package/v2Components/CommonTestAndPreview/tests/CustomValuesEditor.test.js +286 -328
- package/v2Components/CommonTestAndPreview/tests/DeliverySettings/ModifyDeliverySettings.test.js +65 -231
- package/v2Components/CommonTestAndPreview/tests/DeliverySettings/index.test.js +5 -118
- package/v2Components/CommonTestAndPreview/tests/DeliverySettings/utils/parseSenderDetailsResponse.test.js +0 -341
- package/v2Components/CommonTestAndPreview/tests/SendTestMessage.test.js +24 -65
- package/v2Components/CommonTestAndPreview/tests/UnifiedPreview/index.test.js +1 -199
- package/v2Components/CommonTestAndPreview/tests/constants.test.js +1 -31
- package/v2Components/CommonTestAndPreview/tests/index.test.js +4 -168
- package/v2Components/CommonTestAndPreview/tests/reducer.test.js +0 -71
- package/v2Components/CommonTestAndPreview/tests/sagas.test.js +2 -2
- package/v2Components/CommonTestAndPreview/tests/selectors.test.js +0 -17
- package/v2Components/FormBuilder/index.js +1 -7
- package/v2Components/TestAndPreviewSlidebox/index.js +1 -13
- package/v2Components/TestAndPreviewSlidebox/sagas.js +4 -11
- package/v2Components/TestAndPreviewSlidebox/tests/saga.test.js +1 -3
- package/v2Containers/CreativesContainer/SlideBoxContent.js +4 -36
- package/v2Containers/CreativesContainer/SlideBoxFooter.js +1 -10
- package/v2Containers/CreativesContainer/SlideBoxHeader.js +4 -29
- package/v2Containers/CreativesContainer/constants.js +0 -9
- package/v2Containers/CreativesContainer/index.js +93 -292
- package/v2Containers/CreativesContainer/index.scss +1 -51
- package/v2Containers/CreativesContainer/tests/SlideBoxFooter.test.js +34 -78
- package/v2Containers/CreativesContainer/tests/SlideBoxHeader.test.js +16 -79
- package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +0 -8
- package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxHeader.test.js.snap +98 -357
- package/v2Containers/CreativesContainer/tests/__snapshots__/index.test.js.snap +10 -20
- package/v2Containers/CreativesContainer/tests/index.test.js +9 -71
- package/v2Containers/Rcs/constants.js +3 -40
- package/v2Containers/Rcs/index.js +895 -1145
- package/v2Containers/Rcs/index.scss +6 -85
- package/v2Containers/Rcs/messages.js +2 -12
- package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +2236 -41719
- package/v2Containers/Rcs/tests/__snapshots__/utils.test.js.snap +5 -0
- package/v2Containers/Rcs/tests/index.test.js +38 -41
- package/v2Containers/Rcs/tests/mockData.js +0 -38
- package/v2Containers/Rcs/tests/utils.test.js +1 -435
- package/v2Containers/Rcs/utils.js +10 -405
- package/v2Containers/Sms/Create/index.js +38 -100
- package/v2Containers/SmsTrai/Create/index.js +4 -9
- package/v2Containers/SmsTrai/Edit/constants.js +0 -2
- package/v2Containers/SmsTrai/Edit/index.js +128 -636
- package/v2Containers/SmsTrai/Edit/messages.js +4 -14
- package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +2604 -4590
- package/v2Containers/SmsWrapper/index.js +8 -37
- package/v2Containers/TagList/index.js +0 -6
- package/v2Containers/Templates/_templates.scss +2 -63
- package/v2Containers/Templates/actions.js +0 -11
- package/v2Containers/Templates/constants.js +0 -2
- package/v2Containers/Templates/index.js +40 -90
- package/v2Containers/Templates/sagas.js +12 -57
- package/v2Containers/Templates/tests/__snapshots__/index.test.js.snap +1079 -1043
- package/v2Containers/Templates/tests/sagas.test.js +123 -193
- package/v2Containers/TemplatesV2/TemplatesV2.style.js +1 -72
- package/v2Containers/TemplatesV2/index.js +23 -86
- package/v2Containers/Whatsapp/index.js +20 -3
- package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +4872 -5790
- package/utils/templateVarUtils.js +0 -201
- package/utils/tests/templateVarUtils.test.js +0 -204
- package/v2Components/CommonTestAndPreview/AddTestCustomer.js +0 -42
- package/v2Components/CommonTestAndPreview/CustomerCreationModal.js +0 -155
- package/v2Components/CommonTestAndPreview/ExistingCustomerModal.js +0 -93
- package/v2Components/CommonTestAndPreview/previewApiUtils.js +0 -59
- package/v2Components/CommonTestAndPreview/tests/AddTestCustomer.test.js +0 -66
- package/v2Components/CommonTestAndPreview/tests/CommonTestAndPreview.addTestCustomer.test.js +0 -648
- package/v2Components/CommonTestAndPreview/tests/CustomerCreationModal.test.js +0 -174
- package/v2Components/CommonTestAndPreview/tests/ExistingCustomerModal.test.js +0 -114
- package/v2Components/CommonTestAndPreview/tests/previewApiUtils.test.js +0 -67
- package/v2Components/SmsFallback/SmsFallbackLocalSelector.js +0 -87
- package/v2Components/SmsFallback/constants.js +0 -73
- package/v2Components/SmsFallback/index.js +0 -955
- package/v2Components/SmsFallback/index.scss +0 -265
- package/v2Components/SmsFallback/messages.js +0 -78
- package/v2Components/SmsFallback/smsFallbackUtils.js +0 -118
- package/v2Components/SmsFallback/tests/SmsFallbackLocalSelector.test.js +0 -50
- package/v2Components/SmsFallback/tests/rcsSmsFallback.acceptance.test.js +0 -147
- package/v2Components/SmsFallback/tests/smsFallbackHandlers.test.js +0 -304
- package/v2Components/SmsFallback/tests/smsFallbackUi.test.js +0 -197
- package/v2Components/SmsFallback/tests/smsFallbackUtils.test.js +0 -277
- package/v2Components/SmsFallback/tests/useLocalTemplateList.test.js +0 -422
- package/v2Components/SmsFallback/useLocalTemplateList.js +0 -92
- package/v2Components/VarSegmentMessageEditor/constants.js +0 -2
- package/v2Components/VarSegmentMessageEditor/index.js +0 -125
- package/v2Components/VarSegmentMessageEditor/index.scss +0 -46
- package/v2Containers/CreativesContainer/CreativesSlideBoxWrapper.js +0 -43
- package/v2Containers/CreativesContainer/embeddedSlideboxUtils.js +0 -67
- package/v2Containers/CreativesContainer/tests/SlideBoxContent.localTemplates.test.js +0 -90
- package/v2Containers/CreativesContainer/tests/embeddedSlideboxUtils.test.js +0 -258
- package/v2Containers/CreativesContainer/tests/useLocalTemplatesProp.test.js +0 -125
- package/v2Containers/Rcs/rcsLibraryHydrationUtils.js +0 -225
- package/v2Containers/Rcs/tests/rcsLibraryHydrationUtils.test.js +0 -318
- package/v2Containers/Sms/smsFormDataHelpers.js +0 -67
- package/v2Containers/Sms/tests/smsFormDataHelpers.test.js +0 -253
- package/v2Containers/SmsTrai/Edit/index.scss +0 -121
- package/v2Containers/Templates/TemplatesActionBar.js +0 -101
- package/v2Containers/Templates/tests/TemplatesActionBar.test.js +0 -120
- package/v2Containers/Templates/tests/smsTemplatesListApi.test.js +0 -180
- package/v2Containers/Templates/utils/smsTemplatesListApi.js +0 -79
- package/v2Containers/TemplatesV2/tests/TemplatesV2.localTemplates.test.js +0 -131
|
@@ -5,12 +5,9 @@
|
|
|
5
5
|
*/
|
|
6
6
|
@import '~@capillarytech/cap-ui-library/styles/_variables.scss';
|
|
7
7
|
|
|
8
|
-
/* All ant overrides scoped under wrapper to avoid affecting other modals. */
|
|
8
|
+
/* All ant overrides scoped under wrapper to avoid affecting other modals. */
|
|
9
9
|
.common-test-preview-modal-wrap {
|
|
10
|
-
z-index: 10000;
|
|
11
|
-
display: flex;
|
|
12
|
-
justify-content: center;
|
|
13
|
-
align-items: center;
|
|
10
|
+
z-index: 10000 !important;
|
|
14
11
|
}
|
|
15
12
|
|
|
16
13
|
/* Lookup spinner overlay above test-customers dropdown. */
|
|
@@ -25,23 +22,19 @@
|
|
|
25
22
|
|
|
26
23
|
/* When customer lookup is loading, dropdown renders inside .send-test-section; lower it so spinner is on top. */
|
|
27
24
|
.common-test-preview-customer-loading .test-customers-tree-select-dropdown {
|
|
28
|
-
z-index: 0;
|
|
25
|
+
z-index: 0 !important;
|
|
29
26
|
}
|
|
30
27
|
|
|
31
28
|
/* Customer creation modal content – avoid inline styles */
|
|
32
|
-
.common-test-preview-modal
|
|
33
|
-
color: $CAP_G01;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
max-width: 32.571em;
|
|
38
|
-
|
|
29
|
+
.common-test-preview-modal {
|
|
30
|
+
color: $CAP_G01 !important;
|
|
31
|
+
.ant-modal-content {
|
|
32
|
+
width: 28.5rem; /* 456px at 16px root */
|
|
33
|
+
}
|
|
39
34
|
.ant-modal-footer {
|
|
40
35
|
text-align: left;
|
|
41
|
-
margin-left: 0.625rem;
|
|
42
|
-
/*
|
|
43
|
-
margin-top: 0.9375rem;
|
|
44
|
-
/* 15px at 16px root */
|
|
36
|
+
margin-left: 0.625rem; /* 10px at 16px root */
|
|
37
|
+
margin-top: 0.9375rem; /* 15px at 16px root */
|
|
45
38
|
}
|
|
46
39
|
|
|
47
40
|
.customer-creation-modal-row {
|
|
@@ -70,72 +63,22 @@
|
|
|
70
63
|
font-weight: normal;
|
|
71
64
|
}
|
|
72
65
|
|
|
73
|
-
/* Input text color and font to match standalone (lib mode can lose host styles) */
|
|
74
66
|
.customer-creation-modal-input {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
color: $CAP_G01;
|
|
78
|
-
font-size: $FONT_SIZE_M;
|
|
79
|
-
font-weight: normal;
|
|
80
|
-
padding: 0.571em;
|
|
81
|
-
/* 8px */
|
|
82
|
-
height: 2.857em;
|
|
83
|
-
/* 40px */
|
|
84
|
-
line-height: 1.714em;
|
|
85
|
-
/* 24px */
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
.ant-input:hover,
|
|
89
|
-
.ant-input:focus {
|
|
90
|
-
border: 1px solid $CAP_G01;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
.ant-input::placeholder {
|
|
94
|
-
color: $CAP_G06;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
/* Error state: single clean red border, no double line or focus ring */
|
|
98
|
-
&.has-input-error {
|
|
99
|
-
.ant-input-affix-wrapper {
|
|
100
|
-
border: 1px solid $CAP_COLOR_03;
|
|
101
|
-
border-radius: $CAP_SPACE_04;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
.ant-input-affix-wrapper:hover,
|
|
105
|
-
.ant-input-affix-wrapper:focus,
|
|
106
|
-
.ant-input-affix-wrapper-focused {
|
|
107
|
-
border: 1px solid $CAP_COLOR_03;
|
|
108
|
-
}
|
|
67
|
+
width: 100%;
|
|
68
|
+
color: $CAP_G01;
|
|
109
69
|
|
|
110
|
-
|
|
111
|
-
|
|
70
|
+
&.has-error {
|
|
71
|
+
color: $CAP_COLOR_03 !important;
|
|
72
|
+
.ant-input {
|
|
73
|
+
border-color: $CAP_COLOR_03 !important;
|
|
112
74
|
}
|
|
113
75
|
}
|
|
114
76
|
}
|
|
115
77
|
|
|
116
|
-
/* Error message only – no extra border/line below the input */
|
|
117
78
|
.customer-creation-modal-validation-error {
|
|
118
79
|
color: $CAP_COLOR_03;
|
|
119
80
|
font-size: $FONT_SIZE_S;
|
|
120
81
|
margin-top: $CAP_SPACE_04;
|
|
121
|
-
border: none;
|
|
122
|
-
border-top: none;
|
|
123
|
-
box-shadow: none;
|
|
124
|
-
|
|
125
|
-
&::before,
|
|
126
|
-
&::after {
|
|
127
|
-
display: none;
|
|
128
|
-
content: none;
|
|
129
|
-
border: none;
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
/* Lookup loading: make Email and Mobile fields look disabled (wrapper-only) */
|
|
134
|
-
.customer-creation-modal--lookup-loading .customer-creation-modal-row--email .customer-creation-modal-input,
|
|
135
|
-
.customer-creation-modal--lookup-loading .customer-creation-modal-row--last .customer-creation-modal-input {
|
|
136
|
-
opacity: 0.65;
|
|
137
|
-
cursor: not-allowed;
|
|
138
|
-
background-color: $CAP_G09;
|
|
139
82
|
}
|
|
140
83
|
|
|
141
84
|
/* Existing customer modal content */
|
|
@@ -144,17 +87,13 @@
|
|
|
144
87
|
margin-bottom: $CAP_SPACE_16;
|
|
145
88
|
}
|
|
146
89
|
|
|
147
|
-
.ant-card.cap-card-v2 {
|
|
148
|
-
border: none
|
|
149
|
-
}
|
|
150
|
-
|
|
151
90
|
.ant-card-body {
|
|
152
91
|
padding: 1rem;
|
|
153
|
-
border-radius: $CAP_SPACE_08;
|
|
154
|
-
border: $CAP_SPACE_01 solid $CAP_G06;
|
|
155
92
|
}
|
|
156
93
|
|
|
157
94
|
&-card {
|
|
95
|
+
border-radius: $CAP_SPACE_08;
|
|
96
|
+
border: $CAP_SPACE_01 solid $CAP_G06;
|
|
158
97
|
padding: 0;
|
|
159
98
|
}
|
|
160
99
|
|
|
@@ -165,11 +104,9 @@
|
|
|
165
104
|
}
|
|
166
105
|
|
|
167
106
|
&-avatar {
|
|
168
|
-
width: 3rem;
|
|
169
|
-
/* 48px at 16px root */
|
|
107
|
+
width: 3rem; /* 48px at 16px root */
|
|
170
108
|
height: 3rem;
|
|
171
|
-
border-radius: 1.25rem;
|
|
172
|
-
/* 20px at 16px root */
|
|
109
|
+
border-radius: 1.25rem; /* 20px at 16px root */
|
|
173
110
|
background-color: $CAP_G07;
|
|
174
111
|
display: flex;
|
|
175
112
|
align-items: center;
|
|
@@ -213,11 +150,10 @@
|
|
|
213
150
|
margin-right: 0.5rem;
|
|
214
151
|
}
|
|
215
152
|
|
|
216
|
-
.cap-slide-box-v2.common-test-and-preview-slidebox .cap-slide-box-v2-container {
|
|
217
|
-
z-index: 10030;
|
|
218
|
-
}
|
|
219
|
-
|
|
220
153
|
.common-test-and-preview-slidebox {
|
|
154
|
+
.common-test-preview-modal-wrap {
|
|
155
|
+
z-index: 10003;
|
|
156
|
+
}
|
|
221
157
|
|
|
222
158
|
.ant-modal-mask,
|
|
223
159
|
.ant-modal-wrap {
|
|
@@ -260,7 +196,6 @@
|
|
|
260
196
|
|
|
261
197
|
.tag-input-field {
|
|
262
198
|
width: 14.714rem;
|
|
263
|
-
|
|
264
199
|
.input {
|
|
265
200
|
height: $CAP_SPACE_40;
|
|
266
201
|
}
|
|
@@ -273,16 +208,12 @@
|
|
|
273
208
|
|
|
274
209
|
.left-panel {
|
|
275
210
|
width: 40%;
|
|
276
|
-
min-width: 20rem;
|
|
277
|
-
/* Consistent width in campaigns/library mode so test customer dropdown matches creatives */
|
|
278
211
|
padding-right: 1rem;
|
|
279
212
|
border-right: $CAP_SPACE_01 solid $CAP_G12;
|
|
280
213
|
overflow-y: auto;
|
|
281
|
-
|
|
282
214
|
.panel-divider {
|
|
283
215
|
margin: 0;
|
|
284
216
|
}
|
|
285
|
-
|
|
286
217
|
.no-tags-extracted-info-note {
|
|
287
218
|
.note-text {
|
|
288
219
|
white-space: unset;
|
|
@@ -331,7 +262,6 @@
|
|
|
331
262
|
.values-missing-message {
|
|
332
263
|
margin: $CAP_SPACE_16 0;
|
|
333
264
|
}
|
|
334
|
-
|
|
335
265
|
.editor-header {
|
|
336
266
|
display: flex;
|
|
337
267
|
justify-content: flex-end;
|
|
@@ -415,7 +345,7 @@
|
|
|
415
345
|
align-items: center;
|
|
416
346
|
min-height: $CAP_SPACE_20;
|
|
417
347
|
padding-left: $CAP_SPACE_08;
|
|
418
|
-
|
|
348
|
+
|
|
419
349
|
&:hover {
|
|
420
350
|
background-color: #f5f5f5;
|
|
421
351
|
}
|
|
@@ -481,7 +411,6 @@
|
|
|
481
411
|
color: #bfbfbf;
|
|
482
412
|
font-style: italic;
|
|
483
413
|
}
|
|
484
|
-
|
|
485
414
|
.ant-input {
|
|
486
415
|
margin: $CAP_SPACE_06 0;
|
|
487
416
|
height: $CAP_SPACE_36;
|
|
@@ -490,13 +419,6 @@
|
|
|
490
419
|
}
|
|
491
420
|
}
|
|
492
421
|
|
|
493
|
-
.tags-section-title {
|
|
494
|
-
margin: $CAP_SPACE_12 0;
|
|
495
|
-
display: block;
|
|
496
|
-
color: $CAP_G01;
|
|
497
|
-
font-weight: $FONT_WEIGHT_MEDIUM;
|
|
498
|
-
}
|
|
499
|
-
|
|
500
422
|
.values-table {
|
|
501
423
|
margin-bottom: $CAP_SPACE_16;
|
|
502
424
|
border: $CAP_SPACE_01 solid $CAP_G12;
|
|
@@ -549,11 +471,10 @@
|
|
|
549
471
|
justify-content: space-between;
|
|
550
472
|
margin-bottom: $CAP_SPACE_16;
|
|
551
473
|
}
|
|
552
|
-
|
|
553
474
|
.editor-actions::before,
|
|
554
475
|
.editor-actions::after {
|
|
555
|
-
|
|
556
|
-
|
|
476
|
+
content: none;
|
|
477
|
+
display: none;
|
|
557
478
|
}
|
|
558
479
|
|
|
559
480
|
.optional-tags-section {
|
|
@@ -562,10 +483,9 @@
|
|
|
562
483
|
color: #666;
|
|
563
484
|
}
|
|
564
485
|
|
|
565
|
-
|
|
566
|
-
|
|
486
|
+
z-index: -1;
|
|
567
487
|
.optional-tags-content {
|
|
568
|
-
padding: $CAP_SPACE_16;
|
|
488
|
+
padding: $CAP_SPACE_16;
|
|
569
489
|
background: #f5f5f5;
|
|
570
490
|
border-radius: $CAP_SPACE_04;
|
|
571
491
|
}
|
|
@@ -591,40 +511,31 @@
|
|
|
591
511
|
margin-bottom: $CAP_SPACE_16;
|
|
592
512
|
color: #666;
|
|
593
513
|
}
|
|
594
|
-
|
|
595
514
|
.ant-collapse-header {
|
|
596
515
|
padding-left: 0;
|
|
597
516
|
}
|
|
598
|
-
|
|
599
517
|
.ant-collapse-content-box {
|
|
600
518
|
padding-left: 0 !important;
|
|
601
519
|
}
|
|
602
|
-
|
|
603
520
|
.send-test-content {
|
|
604
521
|
flex-direction: column;
|
|
605
522
|
align-items: stretch;
|
|
606
523
|
gap: 0;
|
|
607
524
|
}
|
|
608
|
-
|
|
609
525
|
.test-customers-tree-select {
|
|
610
526
|
width: 100%;
|
|
611
|
-
min-width: 18rem;
|
|
612
|
-
/* Consistent dropdown width in campaigns and creatives */
|
|
613
527
|
min-height: $CAP_SPACE_40;
|
|
614
528
|
margin: $CAP_SPACE_12 0 $CAP_SPACE_08;
|
|
615
|
-
|
|
616
529
|
.ant-select-selection,
|
|
617
530
|
.ant-select-selector {
|
|
618
531
|
min-height: $CAP_SPACE_40;
|
|
619
532
|
height: auto !important;
|
|
620
533
|
}
|
|
621
534
|
}
|
|
622
|
-
|
|
623
535
|
.send-test-content .ant-btn {
|
|
624
536
|
margin-top: $CAP_SPACE_04;
|
|
625
537
|
flex-shrink: 0;
|
|
626
538
|
}
|
|
627
|
-
|
|
628
539
|
.ant-select-selection__choice {
|
|
629
540
|
background-color: $CAP_G08;
|
|
630
541
|
border-radius: $CAP_SPACE_04;
|
|
@@ -634,11 +545,8 @@
|
|
|
634
545
|
|
|
635
546
|
// Test customers TreeSelect dropdown: limit height and make scrollable (dropdown renders in portal)
|
|
636
547
|
.test-customers-tree-select-dropdown {
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
/* 320px */
|
|
640
|
-
overflow-y: auto;
|
|
641
|
-
|
|
548
|
+
max-height: 20rem !important; /* 320px */
|
|
549
|
+
overflow-y: auto !important;
|
|
642
550
|
.ant-select-tree-list-holder-inner {
|
|
643
551
|
overflow: visible;
|
|
644
552
|
}
|
|
@@ -646,10 +554,8 @@
|
|
|
646
554
|
|
|
647
555
|
.test-customer-add-btn {
|
|
648
556
|
width: 100%;
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
color: $FONT_COLOR_05;
|
|
652
|
-
}
|
|
557
|
+
background-color: transparent !important;
|
|
558
|
+
color: $FONT_COLOR_05 !important;
|
|
653
559
|
white-space: normal;
|
|
654
560
|
word-break: normal;
|
|
655
561
|
overflow-wrap: break-word;
|
|
@@ -677,7 +583,7 @@
|
|
|
677
583
|
padding-bottom: $CAP_SPACE_16;
|
|
678
584
|
margin-bottom: $CAP_SPACE_16;
|
|
679
585
|
}
|
|
680
|
-
|
|
586
|
+
|
|
681
587
|
.right-panel {
|
|
682
588
|
padding-left: 0;
|
|
683
589
|
padding-top: $CAP_SPACE_16;
|
|
@@ -693,7 +599,6 @@
|
|
|
693
599
|
.preview-divider {
|
|
694
600
|
margin: 0;
|
|
695
601
|
}
|
|
696
|
-
|
|
697
602
|
.preview-header {
|
|
698
603
|
display: flex;
|
|
699
604
|
justify-content: space-between;
|
|
@@ -705,7 +610,6 @@
|
|
|
705
610
|
font-size: $FONT_SIZE_M;
|
|
706
611
|
color: #595959;
|
|
707
612
|
gap: $CAP_SPACE_04;
|
|
708
|
-
|
|
709
613
|
b {
|
|
710
614
|
color: #262626;
|
|
711
615
|
margin-left: $CAP_SPACE_04;
|
|
@@ -736,12 +640,10 @@
|
|
|
736
640
|
|
|
737
641
|
.preview-body {
|
|
738
642
|
border-radius: $CAP_SPACE_08;
|
|
739
|
-
box-shadow: 0 $CAP_SPACE_04 $CAP_SPACE_12 rgba(0,
|
|
740
|
-
|
|
643
|
+
box-shadow: 0 $CAP_SPACE_04 $CAP_SPACE_12 rgba(0,0,0,0.1);
|
|
741
644
|
&.mobile {
|
|
742
645
|
width: 26.786rem;
|
|
743
646
|
margin: 0 auto;
|
|
744
|
-
|
|
745
647
|
.browser-bar {
|
|
746
648
|
background: $CAP_G08;
|
|
747
649
|
}
|
|
@@ -757,16 +659,13 @@
|
|
|
757
659
|
display: flex;
|
|
758
660
|
gap: $CAP_SPACE_08;
|
|
759
661
|
color: $CAP_G06;
|
|
760
|
-
|
|
761
662
|
.refresh-icon {
|
|
762
663
|
margin-top: $CAP_SPACE_04;
|
|
763
|
-
|
|
764
664
|
svg path {
|
|
765
665
|
fill: $CAP_G06;
|
|
766
666
|
}
|
|
767
667
|
}
|
|
768
668
|
}
|
|
769
|
-
|
|
770
669
|
.address-bar {
|
|
771
670
|
flex-grow: 1;
|
|
772
671
|
background: $CAP_WHITE;
|
|
@@ -776,16 +675,13 @@
|
|
|
776
675
|
color: #595959;
|
|
777
676
|
text-align: center;
|
|
778
677
|
border: $CAP_SPACE_01 solid $CAP_G07;
|
|
779
|
-
|
|
780
678
|
.address-bar-label {
|
|
781
679
|
float: left;
|
|
782
680
|
}
|
|
783
|
-
|
|
784
681
|
.browser-address-bar-icon {
|
|
785
682
|
float: right;
|
|
786
683
|
}
|
|
787
684
|
}
|
|
788
|
-
|
|
789
685
|
.browser-actions {
|
|
790
686
|
color: #8c8c8c;
|
|
791
687
|
}
|
|
@@ -796,11 +692,9 @@
|
|
|
796
692
|
align-items: center;
|
|
797
693
|
padding: $CAP_SPACE_16;
|
|
798
694
|
gap: $CAP_SPACE_16;
|
|
799
|
-
|
|
800
695
|
.back-arrow {
|
|
801
696
|
font-size: $CAP_SPACE_16;
|
|
802
697
|
}
|
|
803
|
-
|
|
804
698
|
.email-meta {
|
|
805
699
|
margin-left: auto;
|
|
806
700
|
display: flex;
|
|
@@ -808,7 +702,6 @@
|
|
|
808
702
|
gap: $CAP_SPACE_08;
|
|
809
703
|
font-size: $FONT_SIZE_S;
|
|
810
704
|
color: #8c8c8c;
|
|
811
|
-
|
|
812
705
|
.dots {
|
|
813
706
|
width: $CAP_SPACE_06;
|
|
814
707
|
height: $CAP_SPACE_06;
|
|
@@ -823,19 +716,16 @@
|
|
|
823
716
|
align-items: center;
|
|
824
717
|
padding: 0 $CAP_SPACE_16 $CAP_SPACE_16;
|
|
825
718
|
gap: $CAP_SPACE_12;
|
|
826
|
-
|
|
827
719
|
.sender-avatar {
|
|
828
720
|
width: $CAP_SPACE_40;
|
|
829
721
|
height: $CAP_SPACE_40;
|
|
830
722
|
border-radius: 50%;
|
|
831
723
|
background: $CAP_G12;
|
|
832
724
|
}
|
|
833
|
-
|
|
834
725
|
.sender-info {
|
|
835
726
|
.sender-name {
|
|
836
727
|
font-weight: 500;
|
|
837
728
|
}
|
|
838
|
-
|
|
839
729
|
.recipient-info {
|
|
840
730
|
font-size: $FONT_SIZE_S;
|
|
841
731
|
color: #8c8c8c;
|
|
@@ -846,7 +736,6 @@
|
|
|
846
736
|
.email-content {
|
|
847
737
|
border-top: $CAP_SPACE_01 solid $CAP_G12;
|
|
848
738
|
padding: 0 $CAP_SPACE_16;
|
|
849
|
-
|
|
850
739
|
iframe {
|
|
851
740
|
border: none;
|
|
852
741
|
}
|
|
@@ -20,7 +20,6 @@ import {
|
|
|
20
20
|
CLEAR_PREVIEW_ERRORS,
|
|
21
21
|
GET_SENDER_DETAILS_REQUESTED,
|
|
22
22
|
GET_WECRM_ACCOUNTS_REQUESTED,
|
|
23
|
-
ADD_TEST_CUSTOMER,
|
|
24
23
|
} from './constants';
|
|
25
24
|
|
|
26
25
|
// ============================================
|
|
@@ -93,15 +92,6 @@ export const getTestGroupsRequested = () => ({
|
|
|
93
92
|
type: GET_TEST_GROUPS_REQUESTED,
|
|
94
93
|
});
|
|
95
94
|
|
|
96
|
-
/**
|
|
97
|
-
* Add a test customer to the list (e.g. after adding existing customer so tree shows name)
|
|
98
|
-
* @param {Object} customer - { userId, customerId, name, email, mobile }
|
|
99
|
-
*/
|
|
100
|
-
export const addTestCustomer = (customer) => ({
|
|
101
|
-
type: ADD_TEST_CUSTOMER,
|
|
102
|
-
payload: { customer },
|
|
103
|
-
});
|
|
104
|
-
|
|
105
95
|
/**
|
|
106
96
|
* Create or update message meta configuration
|
|
107
97
|
* @param {Object} payload - Message meta payload
|
|
@@ -33,7 +33,6 @@ export const SEND_TEST_MESSAGE_FAILURE = 'app/CommonTestAndPreview/SEND_TEST_MES
|
|
|
33
33
|
export const GET_TEST_CUSTOMERS_REQUESTED = 'app/CommonTestAndPreview/GET_TEST_CUSTOMERS_REQUESTED';
|
|
34
34
|
export const GET_TEST_CUSTOMERS_SUCCESS = 'app/CommonTestAndPreview/GET_TEST_CUSTOMERS_SUCCESS';
|
|
35
35
|
export const GET_TEST_CUSTOMERS_FAILURE = 'app/CommonTestAndPreview/GET_TEST_CUSTOMERS_FAILURE';
|
|
36
|
-
export const ADD_TEST_CUSTOMER = 'app/CommonTestAndPreview/ADD_TEST_CUSTOMER';
|
|
37
36
|
|
|
38
37
|
// Test Groups
|
|
39
38
|
export const GET_TEST_GROUPS_REQUESTED = 'app/CommonTestAndPreview/GET_TEST_GROUPS_REQUESTED';
|
|
@@ -66,12 +65,6 @@ export const GET_WECRM_ACCOUNTS_REQUESTED = 'app/CommonTestAndPreview/GET_WECRM_
|
|
|
66
65
|
export const GET_WECRM_ACCOUNTS_SUCCESS = 'app/CommonTestAndPreview/GET_WECRM_ACCOUNTS_SUCCESS';
|
|
67
66
|
export const GET_WECRM_ACCOUNTS_FAILURE = 'app/CommonTestAndPreview/GET_WECRM_ACCOUNTS_FAILURE';
|
|
68
67
|
|
|
69
|
-
// ============================================
|
|
70
|
-
// CUSTOMER MODAL TYPE (test customer addition)
|
|
71
|
-
// ============================================
|
|
72
|
-
export const CUSTOMER_MODAL_NEW = 'new';
|
|
73
|
-
export const CUSTOMER_MODAL_EXISTING = 'existing';
|
|
74
|
-
|
|
75
68
|
// ============================================
|
|
76
69
|
// CHANNEL CONSTANTS
|
|
77
70
|
// ============================================
|
|
@@ -86,44 +79,6 @@ export const CHANNELS = {
|
|
|
86
79
|
ZALO: 'ZALO',
|
|
87
80
|
};
|
|
88
81
|
|
|
89
|
-
/** Unified preview tab keys when RCS shows RCS + SMS fallback panes. */
|
|
90
|
-
export const PREVIEW_TAB_RCS = 'rcs';
|
|
91
|
-
export const PREVIEW_TAB_SMS_FALLBACK = 'smsFallback';
|
|
92
|
-
export const PREVIEW_TAB_KEYS = [PREVIEW_TAB_RCS, PREVIEW_TAB_SMS_FALLBACK];
|
|
93
|
-
|
|
94
|
-
/** Channels whose Test & Preview defaults to Android/iOS device frame (not desktop). */
|
|
95
|
-
export const CHANNELS_USING_ANDROID_PREVIEW_DEVICE = [
|
|
96
|
-
CHANNELS.SMS,
|
|
97
|
-
CHANNELS.WHATSAPP,
|
|
98
|
-
CHANNELS.RCS,
|
|
99
|
-
CHANNELS.INAPP,
|
|
100
|
-
CHANNELS.MOBILEPUSH,
|
|
101
|
-
CHANNELS.VIBER,
|
|
102
|
-
];
|
|
103
|
-
|
|
104
|
-
/** RCS createMessageMeta test payload — rich card envelope literals. */
|
|
105
|
-
export const RCS_TEST_META_CONTENT_TYPE_RICHCARD = 'RICHCARD';
|
|
106
|
-
export const RCS_TEST_META_CARD_TYPE_STANDALONE = 'STANDALONE';
|
|
107
|
-
export const RCS_TEST_META_CARD_ORIENTATION_VERTICAL = 'VERTICAL';
|
|
108
|
-
export const RCS_TEST_META_CARD_WIDTH_SMALL = 'SMALL';
|
|
109
|
-
|
|
110
|
-
/** React key fallback when a custom-values section has no `key` or title id. */
|
|
111
|
-
export const CUSTOM_VALUES_EDITOR_SECTION_FALLBACK_KEY = 'section';
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* Matches at least one `{{variableName}}` token in SMS / RCS fallback template text.
|
|
115
|
-
*/
|
|
116
|
-
export const SMS_MUSTACHE_TAG_PATTERN = /\{\{[^}]+\}\}/;
|
|
117
|
-
|
|
118
|
-
/** TRAI DLT `{#…#}` placeholders (same idea as `COMBINED_SMS_TEMPLATE_VAR_REGEX` in unified constants). */
|
|
119
|
-
export const SMS_DLT_HASH_TAG_PATTERN = /\{\#[^#]*\#\}/;
|
|
120
|
-
|
|
121
|
-
/**
|
|
122
|
-
* Key on `smsFallbackContent` passed into Test & Preview — RCS slot map from SmsTraiEdit
|
|
123
|
-
* (`onRcsFallbackEditorStateChange`), merged before tag extraction like the embedded SMS editor.
|
|
124
|
-
*/
|
|
125
|
-
export const RCS_SMS_FALLBACK_VAR_MAPPED_PROP = 'rcsSmsFallbackVarMapped';
|
|
126
|
-
|
|
127
82
|
// ============================================
|
|
128
83
|
// DEVICE CONSTANTS
|
|
129
84
|
// ============================================
|
|
@@ -145,21 +100,14 @@ export const CLIENT_NAME_CREATIVES = 'CREATIVES';
|
|
|
145
100
|
// Note: API uses "PUSH" instead of "MOBILEPUSH" for MobilePush channel
|
|
146
101
|
export const API_CHANNEL_PUSH = 'PUSH';
|
|
147
102
|
|
|
148
|
-
// ============================================
|
|
149
|
-
// VALIDATION REGEX (shared with commonUtils for email/mobile validation)
|
|
150
|
-
// ============================================
|
|
151
|
-
export const EMAIL_REGEX = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
152
|
-
export const PHONE_REGEX = /^[1-9]\d{7,14}$/;
|
|
153
|
-
|
|
154
103
|
// ============================================
|
|
155
104
|
// IDENTIFIER TYPE CONSTANTS
|
|
156
105
|
// ============================================
|
|
157
|
-
export const IDENTIFIER_TYPE_EMAIL = 'email';
|
|
158
106
|
export const IDENTIFIER_TYPE_MOBILE = 'mobile';
|
|
159
107
|
export const IDENTIFIER_TYPE_PHONE = 'phone';
|
|
160
108
|
|
|
161
109
|
// Customer creation modal – input error state class suffix (used with customer-creation-modal-input)
|
|
162
|
-
export const INPUT_HAS_ERROR_CLASS = ' has-
|
|
110
|
+
export const INPUT_HAS_ERROR_CLASS = ' has-error';
|
|
163
111
|
|
|
164
112
|
// ============================================
|
|
165
113
|
// CHANNEL NAME CONSTANTS (for CDN and other utilities)
|