@capillarytech/creatives-library 8.0.125-alpha.6 → 8.0.126

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 (105) hide show
  1. package/config/app.js +6 -0
  2. package/containers/App/constants.js +0 -1
  3. package/containers/Email/index.js +5 -5
  4. package/containers/WeChat/RichmediaTemplates/Create/index.js +1 -1
  5. package/initialReducer.js +2 -0
  6. package/package.json +1 -1
  7. package/services/api.js +94 -1
  8. package/services/tests/api.test.js +191 -0
  9. package/tests/integration/TemplateCreation/TemplateCreation.integration.test.js +3 -8
  10. package/tests/integration/TemplateCreation/api-response.js +0 -5
  11. package/tests/integration/TemplateCreation/msw-handler.js +63 -42
  12. package/utils/common.js +0 -7
  13. package/utils/commonUtils.js +6 -2
  14. package/v2Components/CapImageUpload/index.js +45 -51
  15. package/v2Components/CapInAppCTA/index.js +0 -1
  16. package/v2Components/CapTagList/index.js +120 -177
  17. package/v2Components/CapVideoUpload/constants.js +0 -3
  18. package/v2Components/CapVideoUpload/index.js +110 -167
  19. package/v2Components/CapVideoUpload/messages.js +0 -16
  20. package/v2Components/Carousel/index.js +13 -15
  21. package/v2Components/CustomerSearchSection/_customerSearch.scss +309 -0
  22. package/v2Components/CustomerSearchSection/constants.js +5 -0
  23. package/v2Components/CustomerSearchSection/index.js +362 -0
  24. package/v2Components/CustomerSearchSection/messages.js +20 -0
  25. package/v2Components/CustomerSearchSection/tests/utils.test.js +334 -0
  26. package/v2Components/CustomerSearchSection/utils.js +49 -0
  27. package/v2Components/ErrorInfoNote/style.scss +0 -1
  28. package/v2Components/MobilePushPreviewV2/index.js +5 -37
  29. package/v2Components/TemplatePreview/_templatePreview.scss +72 -114
  30. package/v2Components/TemplatePreview/index.js +50 -178
  31. package/v2Components/TemplatePreview/messages.js +0 -4
  32. package/v2Components/TestAndPreviewSlidebox/_testAndPreviewSlidebox.scss +543 -0
  33. package/v2Components/TestAndPreviewSlidebox/actions.js +67 -0
  34. package/v2Components/TestAndPreviewSlidebox/constants.js +67 -0
  35. package/v2Components/TestAndPreviewSlidebox/index.js +771 -0
  36. package/v2Components/TestAndPreviewSlidebox/messages.js +147 -0
  37. package/v2Components/TestAndPreviewSlidebox/reducer.js +233 -0
  38. package/v2Components/TestAndPreviewSlidebox/sagas.js +258 -0
  39. package/v2Components/TestAndPreviewSlidebox/selectors.js +142 -0
  40. package/v2Components/TestAndPreviewSlidebox/tests/actions.test.js +80 -0
  41. package/v2Components/TestAndPreviewSlidebox/tests/reducer.test.js +367 -0
  42. package/v2Components/TestAndPreviewSlidebox/tests/saga.rtl.test.js +192 -0
  43. package/v2Components/TestAndPreviewSlidebox/tests/saga.test.js +652 -0
  44. package/v2Components/TestAndPreviewSlidebox/tests/selector.test.js +182 -0
  45. package/v2Containers/CreativesContainer/SlideBoxContent.js +21 -9
  46. package/v2Containers/CreativesContainer/SlideBoxFooter.js +23 -2
  47. package/v2Containers/CreativesContainer/index.js +160 -195
  48. package/v2Containers/CreativesContainer/messages.js +4 -0
  49. package/v2Containers/CreativesContainer/tests/__snapshots__/index.test.js.snap +21 -0
  50. package/v2Containers/Email/index.js +18 -6
  51. package/v2Containers/EmailWrapper/hooks/useEmailWrapper.js +10 -0
  52. package/v2Containers/EmailWrapper/index.js +6 -0
  53. package/v2Containers/InApp/constants.js +0 -1
  54. package/v2Containers/InApp/index.js +13 -13
  55. package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/content.test.js.snap +3 -0
  56. package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/index.test.js.snap +2 -0
  57. package/v2Containers/Line/Container/Wrapper/tests/__snapshots__/index.test.js.snap +2 -0
  58. package/v2Containers/Line/Container/tests/__snapshots__/index.test.js.snap +9 -0
  59. package/v2Containers/MobilePush/Create/index.js +0 -1
  60. package/v2Containers/MobilePush/commonMethods.js +14 -7
  61. package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +23 -5
  62. package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +4 -0
  63. package/v2Containers/TagList/index.js +10 -56
  64. package/v2Containers/Templates/_templates.scss +1 -101
  65. package/v2Containers/Templates/index.js +35 -147
  66. package/v2Containers/Templates/messages.js +0 -8
  67. package/v2Containers/Templates/sagas.js +0 -2
  68. package/v2Containers/WeChat/RichmediaTemplates/Create/index.js +1 -1
  69. package/v2Containers/Whatsapp/constants.js +0 -1
  70. package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +35 -0
  71. package/utils/createPayload.js +0 -270
  72. package/utils/tests/createPayload.test.js +0 -761
  73. package/v2Components/CapMpushCTA/constants.js +0 -25
  74. package/v2Components/CapMpushCTA/index.js +0 -332
  75. package/v2Components/CapMpushCTA/index.scss +0 -95
  76. package/v2Components/CapMpushCTA/messages.js +0 -89
  77. package/v2Components/TemplatePreview/assets/images/Android _ With date and time.svg +0 -29
  78. package/v2Components/TemplatePreview/assets/images/android.svg +0 -9
  79. package/v2Components/TemplatePreview/assets/images/iOS _ With date and time.svg +0 -26
  80. package/v2Components/TemplatePreview/assets/images/ios.svg +0 -9
  81. package/v2Containers/Email/tests/index.test.js +0 -35
  82. package/v2Containers/MobilePushNew/actions.js +0 -116
  83. package/v2Containers/MobilePushNew/components/CtaButtons.js +0 -170
  84. package/v2Containers/MobilePushNew/components/MediaUploaders.js +0 -686
  85. package/v2Containers/MobilePushNew/components/PlatformContentFields.js +0 -279
  86. package/v2Containers/MobilePushNew/components/index.js +0 -5
  87. package/v2Containers/MobilePushNew/components/tests/CtaButtons.test.js +0 -779
  88. package/v2Containers/MobilePushNew/components/tests/MediaUploaders.test.js +0 -2114
  89. package/v2Containers/MobilePushNew/components/tests/PlatformContentFields.test.js +0 -343
  90. package/v2Containers/MobilePushNew/constants.js +0 -115
  91. package/v2Containers/MobilePushNew/hooks/tests/usePlatformSync.test.js +0 -1299
  92. package/v2Containers/MobilePushNew/hooks/tests/useUpload.test.js +0 -1223
  93. package/v2Containers/MobilePushNew/hooks/usePlatformSync.js +0 -246
  94. package/v2Containers/MobilePushNew/hooks/useUpload.js +0 -709
  95. package/v2Containers/MobilePushNew/index.js +0 -2170
  96. package/v2Containers/MobilePushNew/index.scss +0 -308
  97. package/v2Containers/MobilePushNew/messages.js +0 -226
  98. package/v2Containers/MobilePushNew/reducer.js +0 -160
  99. package/v2Containers/MobilePushNew/sagas.js +0 -198
  100. package/v2Containers/MobilePushNew/selectors.js +0 -55
  101. package/v2Containers/MobilePushNew/tests/reducer.test.js +0 -741
  102. package/v2Containers/MobilePushNew/tests/sagas.test.js +0 -863
  103. package/v2Containers/MobilePushNew/tests/selectors.test.js +0 -425
  104. package/v2Containers/MobilePushNew/tests/utils.test.js +0 -322
  105. package/v2Containers/MobilePushNew/utils.js +0 -33
@@ -1,279 +0,0 @@
1
- import React, { useCallback } from "react";
2
- import PropTypes from "prop-types";
3
- import { FormattedMessage } from "react-intl";
4
- import CapRow from "@capillarytech/cap-ui-library/CapRow";
5
- import CapInput from "@capillarytech/cap-ui-library/CapInput";
6
- import CapColumn from "@capillarytech/cap-ui-library/CapColumn";
7
- import CapHeading from "@capillarytech/cap-ui-library/CapHeading";
8
- import CapError from "@capillarytech/cap-ui-library/CapError";
9
- import CapDivider from "@capillarytech/cap-ui-library/CapDivider";
10
- import CapSelect from "@capillarytech/cap-ui-library/CapSelect";
11
- import CapCheckbox from "@capillarytech/cap-ui-library/CapCheckbox";
12
- import CapLabel from "@capillarytech/cap-ui-library/CapLabel";
13
- import CapInfoNote from "@capillarytech/cap-ui-library/CapInfoNote";
14
- import TagList from "../../TagList";
15
- import {
16
- ANDROID,
17
- IOS,
18
- MEDIA_TYPES_OPTIONS,
19
- LINK_TYPE_OPTIONS,
20
- DEEP_LINK,
21
- EXTERNAL_LINK,
22
- } from "../constants";
23
- import messages from "../messages";
24
- import MediaUploaders from "./MediaUploaders";
25
- import CtaButtons from "./CtaButtons";
26
-
27
- const PlatformContentFields = ({
28
- deviceType,
29
- content,
30
- errors,
31
- handlers,
32
- tagListProps,
33
- mediaUploaderProps,
34
- ctaButtonProps,
35
- linkProps,
36
- sameContent,
37
- formatMessage,
38
- }) => {
39
- const { title: titleError, message: messageError } = errors;
40
- const {
41
- handleTitleChange,
42
- handleMessageChange,
43
- handleMediaTypeChange,
44
- handleActionOnClickChange,
45
- handleLinkTypeChange,
46
- handleDeepLinkChange,
47
- handleExternalLinkChange,
48
- onTagSelect,
49
- handleOnTagsContextChange,
50
- } = handlers;
51
-
52
- const { deepLink, deepLinkValue, externalLinkValue } = linkProps;
53
-
54
- const onTitleChange = useCallback(
55
- ({ target: { value } }) => {
56
- handleTitleChange(deviceType, value);
57
- },
58
- [handleTitleChange, deviceType]
59
- );
60
-
61
- const onMessageChange = useCallback(
62
- ({ target: { value } }) => {
63
- handleMessageChange(deviceType, value);
64
- },
65
- [handleMessageChange, deviceType]
66
- );
67
-
68
- const onMediaTypeChange = useCallback(
69
- (value) => {
70
- handleMediaTypeChange(deviceType, value);
71
- },
72
- [handleMediaTypeChange, deviceType]
73
- );
74
-
75
- const onActionOnClickChange = useCallback(
76
- (e) => handleActionOnClickChange(deviceType, e.target.checked),
77
- [handleActionOnClickChange, deviceType]
78
- );
79
-
80
- const onLinkTypeChange = useCallback(
81
- (value) => handleLinkTypeChange(deviceType, value),
82
- [handleLinkTypeChange, deviceType]
83
- );
84
-
85
- const onDeepLinkChange = useCallback((value) => handleDeepLinkChange(value), [
86
- handleDeepLinkChange,
87
- ]);
88
-
89
- const onExternalLinkChange = useCallback(
90
- (e) => handleExternalLinkChange(e.target.value),
91
- [handleExternalLinkChange]
92
- );
93
-
94
- const getTagList = useCallback(
95
- (index) => (
96
- <TagList
97
- {...tagListProps}
98
- onTagSelect={(value) => onTagSelect(value, index)}
99
- onContextChange={handleOnTagsContextChange}
100
- />
101
- ),
102
- [tagListProps, onTagSelect, handleOnTagsContextChange]
103
- );
104
-
105
- return (
106
- <>
107
- {sameContent && (
108
- <CapInfoNote message={formatMessage(messages.sameContentNote)} />
109
- )}
110
- <CapRow className="content-fields">
111
- <CapRow className="creatives-mpush-title">
112
- <CapColumn className="mpush-title-main">
113
- <CapHeading type="h4" className="mpush-title">
114
- <FormattedMessage {...messages.title} />
115
- </CapHeading>
116
- {getTagList(0)}
117
- </CapColumn>
118
- <CapInput
119
- id={`mobile-push-title-name-input-${deviceType}`}
120
- onChange={onTitleChange}
121
- placeholder={formatMessage(messages.titlePlaceholder)}
122
- value={content.title}
123
- size="default"
124
- isRequired
125
- errorMessage={
126
- titleError && (
127
- <CapError className="mobile-push-template-title-error">
128
- {titleError}
129
- </CapError>
130
- )
131
- }
132
- />
133
- </CapRow>
134
-
135
- <CapRow className="creatives-mpush-message">
136
- <CapColumn className="mpush-message-main">
137
- <CapHeading type="h4" className="mpush-message">
138
- <FormattedMessage {...messages.message} />
139
- </CapHeading>
140
- {getTagList(1)}
141
- </CapColumn>
142
- <CapInput
143
- id={`mobile-push-message-name-input-${deviceType}`}
144
- onChange={onMessageChange}
145
- placeholder={formatMessage(messages.messagePlaceholder)}
146
- value={content.message}
147
- size="default"
148
- isRequired
149
- errorMessage={
150
- messageError && (
151
- <CapError className="mobile-push-template-message-error">
152
- {messageError}
153
- </CapError>
154
- )
155
- }
156
- />
157
- </CapRow>
158
- <CapDivider />
159
- <CapRow className="creatives-mpush-media">
160
- <CapHeading type="h4" className="mpush-media-type">
161
- <FormattedMessage {...messages.mediaType} />
162
- </CapHeading>
163
- <CapSelect.CapCustomSelect
164
- width="100%"
165
- className="margin-t-4"
166
- options={MEDIA_TYPES_OPTIONS}
167
- value={content.mediaType}
168
- onChange={onMediaTypeChange}
169
- />
170
- <MediaUploaders
171
- mediaType={content.mediaType}
172
- {...mediaUploaderProps}
173
- formatMessage={formatMessage}
174
- />
175
- </CapRow>
176
- {content.mediaType !== "CAROUSEL" && (
177
- <>
178
- <CapDivider />
179
- <CapRow className="creatives-mpush-actions">
180
- <CapRow className="mpush-actions-main">
181
- <CapHeading type="h4" className="mpush-actions">
182
- <FormattedMessage {...messages.buttonsAndLinks} />
183
- </CapHeading>
184
- <CapLabel className="optional-text">
185
- <FormattedMessage {...messages.optionalText} />
186
- </CapLabel>
187
- </CapRow>
188
- <CapCheckbox
189
- checked={content.actionOnClick}
190
- onChange={onActionOnClickChange}
191
- className="action-on-click-checkbox"
192
- >
193
- <FormattedMessage {...messages.actionOnClickBody} />
194
- </CapCheckbox>
195
- <CapRow>
196
- <CapLabel className="action-description">
197
- <FormattedMessage {...messages.actionDescription} />
198
- </CapLabel>
199
- </CapRow>
200
- {content.actionOnClick && (
201
- <CapRow style={{ display: "flex", justifyContent: "space-around" }}>
202
- <CapColumn span={6}>
203
- <CapHeading type="h4" className="buttons-heading">
204
- <FormattedMessage {...messages.linkType} />
205
- </CapHeading>
206
- <CapSelect.CapCustomSelect
207
- options={LINK_TYPE_OPTIONS}
208
- value={content.linkType}
209
- onChange={onLinkTypeChange}
210
- key="mobile-push-link-type"
211
- selectPlaceholder={formatMessage(messages.selectDeepLink)}
212
- />
213
- </CapColumn>
214
- {content.linkType === DEEP_LINK && (
215
- <CapColumn span={14}>
216
- <CapHeading type="h4" className="buttons-heading">
217
- {formatMessage(messages.deepLink)}
218
- </CapHeading>
219
- <CapSelect.CapCustomSelect
220
- options={deepLink || []}
221
- value={deepLinkValue}
222
- onChange={onDeepLinkChange}
223
- key="mobile-push-deep-link-type"
224
- placeholder={formatMessage(messages.selectDeepLink)}
225
- style={{ marginTop: "10px" }}
226
- />
227
- </CapColumn>
228
- )}
229
- {content.linkType === EXTERNAL_LINK && (
230
- <CapColumn span={14}>
231
- <CapHeading type="h4" className="buttons-heading">
232
- {formatMessage(messages.externalLink)}
233
- </CapHeading>
234
- <CapInput
235
- id="mobile-push-external-link-input"
236
- onChange={onExternalLinkChange}
237
- placeholder={formatMessage(messages.enterExternalLink)}
238
- value={externalLinkValue}
239
- size="default"
240
- isRequired
241
- errorMessage={
242
- errors.externalLink && (
243
- <CapError className="mobile-push-external-link-error">
244
- {errors.externalLink}
245
- </CapError>
246
- )
247
- }
248
- />
249
- </CapColumn>
250
- )}
251
- </CapRow>
252
- )}
253
- <CtaButtons {...ctaButtonProps} />
254
- </CapRow>
255
- </>
256
- )}
257
- </CapRow>
258
- </>
259
- );
260
- };
261
-
262
- PlatformContentFields.propTypes = {
263
- deviceType: PropTypes.oneOf([ANDROID, IOS]).isRequired,
264
- content: PropTypes.object.isRequired,
265
- errors: PropTypes.shape({
266
- title: PropTypes.string,
267
- message: PropTypes.string,
268
- externalLink: PropTypes.string,
269
- }).isRequired,
270
- handlers: PropTypes.object.isRequired,
271
- tagListProps: PropTypes.object.isRequired,
272
- mediaUploaderProps: PropTypes.object.isRequired,
273
- ctaButtonProps: PropTypes.object.isRequired,
274
- linkProps: PropTypes.object.isRequired,
275
- sameContent: PropTypes.bool.isRequired,
276
- formatMessage: PropTypes.func.isRequired,
277
- };
278
-
279
- export default PlatformContentFields;
@@ -1,5 +0,0 @@
1
- import CtaButtons from './CtaButtons';
2
- import MediaUploaders from './MediaUploaders';
3
- import PlatformContentFields from './PlatformContentFields';
4
-
5
- export { CtaButtons, MediaUploaders, PlatformContentFields };