@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.
Files changed (122) hide show
  1. package/constants/unified.js +0 -18
  2. package/package.json +1 -1
  3. package/services/api.js +0 -17
  4. package/services/tests/api.test.js +0 -85
  5. package/utils/commonUtils.js +0 -28
  6. package/utils/tests/commonUtil.test.js +0 -169
  7. package/v2Components/CapTagList/index.js +0 -10
  8. package/v2Components/CommonTestAndPreview/CustomValuesEditor.js +49 -70
  9. package/v2Components/CommonTestAndPreview/DeliverySettings/DeliverySettings.scss +2 -8
  10. package/v2Components/CommonTestAndPreview/DeliverySettings/ModifyDeliverySettings.js +21 -207
  11. package/v2Components/CommonTestAndPreview/DeliverySettings/constants.js +0 -16
  12. package/v2Components/CommonTestAndPreview/DeliverySettings/index.js +10 -85
  13. package/v2Components/CommonTestAndPreview/DeliverySettings/messages.js +0 -30
  14. package/v2Components/CommonTestAndPreview/DeliverySettings/utils/parseSenderDetailsResponse.js +11 -79
  15. package/v2Components/CommonTestAndPreview/SendTestMessage.js +53 -87
  16. package/v2Components/CommonTestAndPreview/UnifiedPreview/_unifiedPreview.scss +1 -20
  17. package/v2Components/CommonTestAndPreview/UnifiedPreview/index.js +4 -133
  18. package/v2Components/CommonTestAndPreview/_commonTestAndPreview.scss +34 -145
  19. package/v2Components/CommonTestAndPreview/actions.js +0 -10
  20. package/v2Components/CommonTestAndPreview/constants.js +1 -53
  21. package/v2Components/CommonTestAndPreview/index.js +168 -998
  22. package/v2Components/CommonTestAndPreview/messages.js +3 -147
  23. package/v2Components/CommonTestAndPreview/reducer.js +0 -10
  24. package/v2Components/CommonTestAndPreview/sagas.js +6 -15
  25. package/v2Components/CommonTestAndPreview/tests/CustomValuesEditor.test.js +286 -328
  26. package/v2Components/CommonTestAndPreview/tests/DeliverySettings/ModifyDeliverySettings.test.js +65 -231
  27. package/v2Components/CommonTestAndPreview/tests/DeliverySettings/index.test.js +5 -118
  28. package/v2Components/CommonTestAndPreview/tests/DeliverySettings/utils/parseSenderDetailsResponse.test.js +0 -341
  29. package/v2Components/CommonTestAndPreview/tests/SendTestMessage.test.js +24 -65
  30. package/v2Components/CommonTestAndPreview/tests/UnifiedPreview/index.test.js +1 -199
  31. package/v2Components/CommonTestAndPreview/tests/constants.test.js +1 -31
  32. package/v2Components/CommonTestAndPreview/tests/index.test.js +4 -168
  33. package/v2Components/CommonTestAndPreview/tests/reducer.test.js +0 -71
  34. package/v2Components/CommonTestAndPreview/tests/sagas.test.js +2 -2
  35. package/v2Components/CommonTestAndPreview/tests/selectors.test.js +0 -17
  36. package/v2Components/FormBuilder/index.js +1 -7
  37. package/v2Components/TestAndPreviewSlidebox/index.js +1 -13
  38. package/v2Components/TestAndPreviewSlidebox/sagas.js +4 -11
  39. package/v2Components/TestAndPreviewSlidebox/tests/saga.test.js +1 -3
  40. package/v2Containers/CreativesContainer/SlideBoxContent.js +4 -36
  41. package/v2Containers/CreativesContainer/SlideBoxFooter.js +1 -10
  42. package/v2Containers/CreativesContainer/SlideBoxHeader.js +4 -29
  43. package/v2Containers/CreativesContainer/constants.js +0 -9
  44. package/v2Containers/CreativesContainer/index.js +93 -292
  45. package/v2Containers/CreativesContainer/index.scss +1 -51
  46. package/v2Containers/CreativesContainer/tests/SlideBoxFooter.test.js +34 -78
  47. package/v2Containers/CreativesContainer/tests/SlideBoxHeader.test.js +16 -79
  48. package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +0 -8
  49. package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxHeader.test.js.snap +98 -357
  50. package/v2Containers/CreativesContainer/tests/__snapshots__/index.test.js.snap +10 -20
  51. package/v2Containers/CreativesContainer/tests/index.test.js +9 -71
  52. package/v2Containers/Rcs/constants.js +3 -40
  53. package/v2Containers/Rcs/index.js +895 -1145
  54. package/v2Containers/Rcs/index.scss +6 -85
  55. package/v2Containers/Rcs/messages.js +2 -12
  56. package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +2236 -41719
  57. package/v2Containers/Rcs/tests/__snapshots__/utils.test.js.snap +5 -0
  58. package/v2Containers/Rcs/tests/index.test.js +38 -41
  59. package/v2Containers/Rcs/tests/mockData.js +0 -38
  60. package/v2Containers/Rcs/tests/utils.test.js +1 -435
  61. package/v2Containers/Rcs/utils.js +10 -405
  62. package/v2Containers/Sms/Create/index.js +38 -100
  63. package/v2Containers/SmsTrai/Create/index.js +4 -9
  64. package/v2Containers/SmsTrai/Edit/constants.js +0 -2
  65. package/v2Containers/SmsTrai/Edit/index.js +128 -636
  66. package/v2Containers/SmsTrai/Edit/messages.js +4 -14
  67. package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +2604 -4590
  68. package/v2Containers/SmsWrapper/index.js +8 -37
  69. package/v2Containers/TagList/index.js +0 -6
  70. package/v2Containers/Templates/_templates.scss +2 -63
  71. package/v2Containers/Templates/actions.js +0 -11
  72. package/v2Containers/Templates/constants.js +0 -2
  73. package/v2Containers/Templates/index.js +40 -90
  74. package/v2Containers/Templates/sagas.js +12 -57
  75. package/v2Containers/Templates/tests/__snapshots__/index.test.js.snap +1079 -1043
  76. package/v2Containers/Templates/tests/sagas.test.js +123 -193
  77. package/v2Containers/TemplatesV2/TemplatesV2.style.js +1 -72
  78. package/v2Containers/TemplatesV2/index.js +23 -86
  79. package/v2Containers/Whatsapp/index.js +20 -3
  80. package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +4872 -5790
  81. package/utils/templateVarUtils.js +0 -201
  82. package/utils/tests/templateVarUtils.test.js +0 -204
  83. package/v2Components/CommonTestAndPreview/AddTestCustomer.js +0 -42
  84. package/v2Components/CommonTestAndPreview/CustomerCreationModal.js +0 -155
  85. package/v2Components/CommonTestAndPreview/ExistingCustomerModal.js +0 -93
  86. package/v2Components/CommonTestAndPreview/previewApiUtils.js +0 -59
  87. package/v2Components/CommonTestAndPreview/tests/AddTestCustomer.test.js +0 -66
  88. package/v2Components/CommonTestAndPreview/tests/CommonTestAndPreview.addTestCustomer.test.js +0 -648
  89. package/v2Components/CommonTestAndPreview/tests/CustomerCreationModal.test.js +0 -174
  90. package/v2Components/CommonTestAndPreview/tests/ExistingCustomerModal.test.js +0 -114
  91. package/v2Components/CommonTestAndPreview/tests/previewApiUtils.test.js +0 -67
  92. package/v2Components/SmsFallback/SmsFallbackLocalSelector.js +0 -87
  93. package/v2Components/SmsFallback/constants.js +0 -73
  94. package/v2Components/SmsFallback/index.js +0 -955
  95. package/v2Components/SmsFallback/index.scss +0 -265
  96. package/v2Components/SmsFallback/messages.js +0 -78
  97. package/v2Components/SmsFallback/smsFallbackUtils.js +0 -118
  98. package/v2Components/SmsFallback/tests/SmsFallbackLocalSelector.test.js +0 -50
  99. package/v2Components/SmsFallback/tests/rcsSmsFallback.acceptance.test.js +0 -147
  100. package/v2Components/SmsFallback/tests/smsFallbackHandlers.test.js +0 -304
  101. package/v2Components/SmsFallback/tests/smsFallbackUi.test.js +0 -197
  102. package/v2Components/SmsFallback/tests/smsFallbackUtils.test.js +0 -277
  103. package/v2Components/SmsFallback/tests/useLocalTemplateList.test.js +0 -422
  104. package/v2Components/SmsFallback/useLocalTemplateList.js +0 -92
  105. package/v2Components/VarSegmentMessageEditor/constants.js +0 -2
  106. package/v2Components/VarSegmentMessageEditor/index.js +0 -125
  107. package/v2Components/VarSegmentMessageEditor/index.scss +0 -46
  108. package/v2Containers/CreativesContainer/CreativesSlideBoxWrapper.js +0 -43
  109. package/v2Containers/CreativesContainer/embeddedSlideboxUtils.js +0 -67
  110. package/v2Containers/CreativesContainer/tests/SlideBoxContent.localTemplates.test.js +0 -90
  111. package/v2Containers/CreativesContainer/tests/embeddedSlideboxUtils.test.js +0 -258
  112. package/v2Containers/CreativesContainer/tests/useLocalTemplatesProp.test.js +0 -125
  113. package/v2Containers/Rcs/rcsLibraryHydrationUtils.js +0 -225
  114. package/v2Containers/Rcs/tests/rcsLibraryHydrationUtils.test.js +0 -318
  115. package/v2Containers/Sms/smsFormDataHelpers.js +0 -67
  116. package/v2Containers/Sms/tests/smsFormDataHelpers.test.js +0 -253
  117. package/v2Containers/SmsTrai/Edit/index.scss +0 -121
  118. package/v2Containers/Templates/TemplatesActionBar.js +0 -101
  119. package/v2Containers/Templates/tests/TemplatesActionBar.test.js +0 -120
  120. package/v2Containers/Templates/tests/smsTemplatesListApi.test.js +0 -180
  121. package/v2Containers/Templates/utils/smsTemplatesListApi.js +0 -79
  122. package/v2Containers/TemplatesV2/tests/TemplatesV2.localTemplates.test.js +0 -131
@@ -8,84 +8,10 @@ import { defineMessages } from 'react-intl';
8
8
  export const scope = 'app.v2Components.TestAndPreviewSlidebox';
9
9
 
10
10
  export default defineMessages({
11
- mobileAlreadyExists: {
12
- id: `${scope}.mobileAlreadyExists`,
13
- defaultMessage: 'This phone number matches with already existing user profile. Please remove or use a different number.',
14
- },
15
- customerNamePlaceholder: {
16
- id: `${scope}.customerNamePlaceholder`,
17
- defaultMessage: 'Enter the name',
18
- },
19
- customerEmailPlaceholder: {
20
- id: `${scope}.customerEmailPlaceholder`,
21
- defaultMessage: 'Enter the Email',
22
- },
23
- customerMobilePlaceholder: {
24
- id: `${scope}.customerMobilePlaceholder`,
25
- defaultMessage: 'Enter the Mobile Number',
26
- },
27
- customerAlreadyInTestList: {
28
- id: `${scope}.customerAlreadyInTestList`,
29
- defaultMessage: 'This customer is already in the test customers list.',
30
- },
31
- emailAlreadyExists: {
32
- id: `${scope}.emailAlreadyExists`,
33
- defaultMessage: 'This email matches with already existing user profile. Please remove or use a different email.',
34
- },
35
- customerName: {
36
- id: `${scope}.customerName`,
37
- defaultMessage: 'Name',
38
- },
39
- customerNameOptional: {
40
- id: `${scope}.customerNameOptional`,
41
- defaultMessage: '(Optional)',
42
- },
43
- customerCreationInvalidEmail: {
44
- id: `${scope}.customerCreationInvalidEmail`,
45
- defaultMessage: 'Please enter a valid email address',
46
- },
47
- customerCreationInvalidMobile: {
48
- id: `${scope}.customerCreationInvalidMobile`,
49
- defaultMessage: 'Please enter a valid mobile number',
50
- },
51
- customerEmail: {
52
- id: `${scope}.customerEmail`,
53
- defaultMessage: 'Email',
54
- },
55
- customerMobile: {
56
- id: `${scope}.customerMobileNumber`,
57
- defaultMessage: 'Mobile Number',
58
- },
59
- saveButton: {
60
- id: `${scope}.saveButton`,
61
- defaultMessage: 'Save',
62
- },
63
- cancelButton: {
64
- id: `${scope}.cancelButton`,
65
- defaultMessage: 'Cancel',
66
- },
67
- customerID: {
68
- id: `${scope}.customerID`,
69
- defaultMessage: 'Customer ID',
70
- },
71
- existingCustomerModalDescription: {
72
- id: `${scope}.existingCustomerModalDescription`,
73
- defaultMessage: 'This user profile already exists in the system. Would you like to add them to Test Customer list?'
74
- },
75
-
76
- customerCreationModalTitle: {
77
- id: `${scope}.customerCreationModalTitle`,
78
- defaultMessage: 'Add new test customer',
79
- },
80
- customerCreationModalDescription: {
81
- id: `${scope}.customerCreationModalDescription`,
82
- defaultMessage: 'This customer profile will be available for testing across multiple communication channels.',
83
- },
84
11
  testAndPreviewHeader: {
85
12
  id: `${scope}.testAndPreviewHeader`,
86
13
  defaultMessage: 'Preview and Test',
87
14
  },
88
-
89
15
  customerSearchTitle: {
90
16
  id: `${scope}.customerSearchTitle`,
91
17
  defaultMessage: 'Customer',
@@ -98,20 +24,6 @@ export default defineMessages({
98
24
  id: `${scope}.personalizationTags`,
99
25
  defaultMessage: 'Personalization Tags',
100
26
  },
101
- rcsTagsSectionTitle: {
102
- id: `${scope}.rcsTagsSectionTitle`,
103
- defaultMessage: 'RCS Tags',
104
- },
105
- /** Primary SMS section when channel is SMS — `messages[`${channel}TagsSectionTitle`]` resolves to this. */
106
- SMSTagsSectionTitle: {
107
- id: `${scope}.SMSTagsSectionTitle`,
108
- defaultMessage: 'SMS tags',
109
- },
110
- /** Fallback SMS under RCS — same label as SMS Test & Preview for consistent personalization UX. */
111
- smsFallbackTagsSectionTitle: {
112
- id: `${scope}.smsFallbackTagsSectionTitle`,
113
- defaultMessage: 'SMS tags',
114
- },
115
27
  customValues: {
116
28
  id: `${scope}.customValues`,
117
29
  defaultMessage: 'Custom Values',
@@ -120,46 +32,10 @@ export default defineMessages({
120
32
  id: `${scope}.showJSON`,
121
33
  defaultMessage: 'Show JSON',
122
34
  },
123
- addTestCustomer: {
124
- id: `${scope}.addTestCustomer`,
125
- defaultMessage: 'Add as Test Customer',
126
- },
127
- addTestCustomerWithValue: {
128
- id: `${scope}.addTestCustomerWithValue`,
129
- defaultMessage: 'Add {searchValue} as Test Customer',
130
- },
131
- memberLookupError: {
132
- id: `${scope}.memberLookupError`,
133
- defaultMessage: 'Unable to look up customer. Please try again.',
134
- },
135
- newTestCustomerAddedSuccess: {
136
- id: `${scope}.newTestCustomerAddedSuccess`,
137
- defaultMessage: 'New test customer added successfully!',
138
- },
139
- errorTitle: {
140
- id: `${scope}.errorTitle`,
141
- defaultMessage: 'Error',
142
- },
143
- failedToAddTestCustomer: {
144
- id: `${scope}.failedToAddTestCustomer`,
145
- defaultMessage: 'Failed to add test customer',
146
- },
147
- errorAddingTestCustomer: {
148
- id: `${scope}.errorAddingTestCustomer`,
149
- defaultMessage: 'An error occurred while adding test customer',
150
- },
151
35
  discardCustomValues: {
152
36
  id: `${scope}.discardCustomValues`,
153
37
  defaultMessage: 'Discard custom values',
154
38
  },
155
- rcsSenderIdLabel: {
156
- id: `${scope}.rcsSenderIdLabel`,
157
- defaultMessage: 'RCS Sender ID',
158
- },
159
- fallbackSmsSenderIdLabel: {
160
- id: `${scope}.fallbackSmsSenderIdLabel`,
161
- defaultMessage: 'Fallback SMS Sender ID',
162
- },
163
39
  updatePreview: {
164
40
  id: `${scope}.updatePreview`,
165
41
  defaultMessage: 'Update Preview',
@@ -216,14 +92,6 @@ export default defineMessages({
216
92
  id: `${scope}.previewTitle`,
217
93
  defaultMessage: 'Preview',
218
94
  },
219
- rcsTab: {
220
- id: `${scope}.rcsTab`,
221
- defaultMessage: 'RCS',
222
- },
223
- smsFallbackTab: {
224
- id: `${scope}.smsFallbackTab`,
225
- defaultMessage: 'Fallback SMS',
226
- },
227
95
  previewPlaceholder: {
228
96
  id: `${scope}.previewPlaceholder`,
229
97
  defaultMessage: 'Click "Update Preview" to see the rendered email.',
@@ -252,10 +120,6 @@ export default defineMessages({
252
120
  id: `${scope}.testCustomersPlaceholder`,
253
121
  defaultMessage: 'Search and select a group or individual test customers',
254
122
  },
255
- noMatchingOptions: {
256
- id: `${scope}.noMatchingOptions`,
257
- defaultMessage: 'No matching options',
258
- },
259
123
  updatingPreview: {
260
124
  id: `${scope}.updatingPreview`,
261
125
  defaultMessage: 'Updating preview with the latest changes',
@@ -316,22 +180,14 @@ export default defineMessages({
316
180
  id: `${scope}.lastModified`,
317
181
  defaultMessage: 'Last modified',
318
182
  },
319
- byAuthor: {
320
- id: `${scope}.byAuthor`,
321
- defaultMessage: 'by {name}',
183
+ by: {
184
+ id: `${scope}.by`,
185
+ defaultMessage: 'by',
322
186
  },
323
187
  senderId: {
324
188
  id: `${scope}.senderId`,
325
189
  defaultMessage: 'Sender ID',
326
190
  },
327
- rcsSenderIdLabel: {
328
- id: `${scope}.rcsSenderIdLabel`,
329
- defaultMessage: 'RCS sender ID',
330
- },
331
- domainLabel: {
332
- id: `${scope}.domainLabel`,
333
- defaultMessage: 'Domain',
334
- },
335
191
  urlPreviewImage: {
336
192
  id: `${scope}.urlPreviewImage`,
337
193
  defaultMessage: 'URL Preview Image',
@@ -20,7 +20,6 @@ import {
20
20
  GET_TEST_CUSTOMERS_REQUESTED,
21
21
  GET_TEST_CUSTOMERS_SUCCESS,
22
22
  GET_TEST_CUSTOMERS_FAILURE,
23
- ADD_TEST_CUSTOMER,
24
23
  GET_TEST_GROUPS_REQUESTED,
25
24
  GET_TEST_GROUPS_SUCCESS,
26
25
  GET_TEST_GROUPS_FAILURE,
@@ -217,15 +216,6 @@ const previewAndTestReducer = (state = initialState, action) => {
217
216
  return state.set('isFetchingTestCustomers', false)
218
217
  .set('fetchTestCustomersError', action.payload.error);
219
218
 
220
- case ADD_TEST_CUSTOMER: {
221
- const raw = state.get('testCustomers');
222
- const list = Array.isArray(raw) ? raw : (raw && raw.toArray ? raw.toArray().map((i) => (i && i.toJS ? i.toJS() : i)) : []);
223
- const customer = action.payload.customer;
224
- const newId = customer.userId || customer.customerId;
225
- if (list.some((c) => (c.userId || c.customerId) === newId)) return state;
226
- return state.set('testCustomers', list.concat([customer]));
227
- }
228
-
229
219
  // Test Groups
230
220
  case GET_TEST_GROUPS_REQUESTED:
231
221
  return state.set('isFetchingTestGroups', true)
@@ -3,7 +3,7 @@
3
3
  */
4
4
 
5
5
  import {
6
- call, put, takeLatest, takeEvery, all,
6
+ call, put, takeLatest, all,
7
7
  } from 'redux-saga/effects';
8
8
  import get from 'lodash/get';
9
9
  import isEmpty from 'lodash/isEmpty';
@@ -45,7 +45,6 @@ import {
45
45
  CHANNELS,
46
46
  } from './constants';
47
47
  import { parseSenderDetailsResponse } from './DeliverySettings/utils/parseSenderDetailsResponse';
48
- import { extractPreviewFromLiquidResponse } from './previewApiUtils';
49
48
 
50
49
  // Search Customers Saga
51
50
  export function* searchCustomersSaga(action) {
@@ -92,12 +91,11 @@ export function* updatePreviewSaga(action) {
92
91
  const customValues = action.payload.resolvedTags;
93
92
 
94
93
  const response = yield call(Api.updateEmailPreview, action.payload);
95
- const previewPayload = extractPreviewFromLiquidResponse(response);
96
- if (previewPayload) {
94
+ if (response?.data) {
97
95
  yield put({
98
96
  type: UPDATE_PREVIEW_SUCCESS,
99
97
  payload: {
100
- previewData: previewPayload,
98
+ previewData: response.data,
101
99
  customValues, // Pass custom values to be preserved
102
100
  },
103
101
  });
@@ -238,13 +236,8 @@ export function* createMessageMetaSaga(action) {
238
236
  export function* getPrefilledValuesSaga(action) {
239
237
  try {
240
238
  const response = yield call(Api.updateEmailPreview, action.payload);
241
- const body =
242
- response?.data !== undefined && response?.data !== null
243
- ? response.data
244
- : response;
245
- const resolvedTagValues = body?.resolvedTagValues;
246
- if (resolvedTagValues != null) {
247
- yield put({ type: GET_PREFILLED_VALUES_SUCCESS, payload: { values: resolvedTagValues } });
239
+ if (response?.data) {
240
+ yield put({ type: GET_PREFILLED_VALUES_SUCCESS, payload: { values: response?.data?.resolvedTagValues } });
248
241
  } else {
249
242
  // Pass all errors from API response to state
250
243
  yield put({
@@ -344,9 +337,7 @@ export function* getWeCrmAccountsSaga(action) {
344
337
  }
345
338
 
346
339
  export function* watchGetSenderDetails() {
347
- // takeEvery: RCS test & preview dispatches RCS then SMS back-to-back; takeLatest would
348
- // cancel the RCS fetch so senderDetailsByChannel.RCS stayed empty while SMS loaded.
349
- yield takeEvery(GET_SENDER_DETAILS_REQUESTED, getSenderDetailsSaga);
340
+ yield takeLatest(GET_SENDER_DETAILS_REQUESTED, getSenderDetailsSaga);
350
341
  }
351
342
 
352
343
  export function* watchGetWeCrmAccounts() {