@capillarytech/creatives-library 8.0.235 → 8.0.236-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.
Files changed (86) hide show
  1. package/assets/Android.png +0 -0
  2. package/assets/iOS.png +0 -0
  3. package/config/app.js +0 -1
  4. package/constants/unified.js +1 -1
  5. package/initialReducer.js +2 -0
  6. package/package.json +1 -1
  7. package/services/api.js +5 -2
  8. package/services/tests/api.test.js +18 -0
  9. package/utils/common.js +1 -2
  10. package/utils/commonUtils.js +14 -1
  11. package/utils/transformTemplateConfig.js +0 -10
  12. package/v2Components/CapDeviceContent/index.js +61 -56
  13. package/v2Components/CapTagList/index.js +4 -0
  14. package/v2Components/CapWhatsappCTA/tests/index.test.js +5 -0
  15. package/v2Components/HtmlEditor/HTMLEditor.js +165 -80
  16. package/v2Components/HtmlEditor/__tests__/HTMLEditor.test.js +532 -0
  17. package/v2Components/HtmlEditor/__tests__/index.lazy.test.js +17 -12
  18. package/v2Components/HtmlEditor/_htmlEditor.scss +0 -4
  19. package/v2Components/HtmlEditor/_index.lazy.scss +0 -1
  20. package/v2Components/HtmlEditor/components/CodeEditorPane/_codeEditorPane.scss +0 -98
  21. package/v2Components/HtmlEditor/components/CodeEditorPane/index.js +125 -148
  22. package/v2Components/HtmlEditor/components/DeviceToggle/_deviceToggle.scss +1 -0
  23. package/v2Components/HtmlEditor/components/DeviceToggle/index.js +3 -3
  24. package/v2Components/HtmlEditor/components/InAppPreviewPane/DeviceFrame.js +4 -7
  25. package/v2Components/HtmlEditor/components/InAppPreviewPane/__tests__/DeviceFrame.test.js +35 -45
  26. package/v2Components/HtmlEditor/components/InAppPreviewPane/_inAppPreviewPane.scss +1 -3
  27. package/v2Components/HtmlEditor/components/InAppPreviewPane/constants.js +33 -33
  28. package/v2Components/HtmlEditor/components/InAppPreviewPane/index.js +7 -6
  29. package/v2Components/HtmlEditor/constants.js +29 -20
  30. package/v2Components/HtmlEditor/hooks/__tests__/useInAppContent.test.js +158 -17
  31. package/v2Components/HtmlEditor/hooks/useInAppContent.js +53 -143
  32. package/v2Components/HtmlEditor/index.js +1 -1
  33. package/v2Components/HtmlEditor/messages.js +85 -85
  34. package/v2Components/MobilePushPreviewV2/index.js +32 -7
  35. package/v2Components/TemplatePreview/_templatePreview.scss +31 -21
  36. package/v2Components/TemplatePreview/index.js +47 -32
  37. package/v2Components/TemplatePreview/messages.js +4 -0
  38. package/v2Containers/BeeEditor/index.js +82 -80
  39. package/v2Containers/BeePopupEditor/constants.js +10 -0
  40. package/v2Containers/BeePopupEditor/index.js +180 -0
  41. package/v2Containers/BeePopupEditor/tests/index.test.js +627 -0
  42. package/v2Containers/CreativesContainer/SlideBoxContent.js +69 -34
  43. package/v2Containers/CreativesContainer/SlideBoxHeader.js +2 -1
  44. package/v2Containers/CreativesContainer/constants.js +1 -0
  45. package/v2Containers/CreativesContainer/index.js +65 -13
  46. package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +4 -12
  47. package/v2Containers/CreativesContainer/tests/__snapshots__/index.test.js.snap +15 -0
  48. package/v2Containers/InApp/__tests__/InAppHTMLEditor.test.js +376 -0
  49. package/v2Containers/InApp/__tests__/sagas.test.js +363 -0
  50. package/v2Containers/InApp/actions.js +7 -0
  51. package/v2Containers/InApp/constants.js +18 -4
  52. package/v2Containers/InApp/index.js +642 -355
  53. package/v2Containers/InApp/index.scss +4 -3
  54. package/v2Containers/InApp/messages.js +7 -3
  55. package/v2Containers/InApp/reducer.js +21 -3
  56. package/v2Containers/InApp/sagas.js +29 -9
  57. package/v2Containers/InApp/selectors.js +25 -5
  58. package/v2Containers/InApp/tests/index.test.js +154 -50
  59. package/v2Containers/InApp/tests/reducer.test.js +34 -0
  60. package/v2Containers/InApp/tests/sagas.test.js +61 -9
  61. package/v2Containers/InApp/tests/selectors.test.js +612 -0
  62. package/v2Containers/InAppWrapper/components/InAppWrapperView.js +162 -0
  63. package/v2Containers/InAppWrapper/components/__tests__/InAppWrapperView.test.js +267 -0
  64. package/v2Containers/InAppWrapper/components/inAppWrapperView.scss +9 -0
  65. package/v2Containers/InAppWrapper/constants.js +16 -0
  66. package/v2Containers/InAppWrapper/hooks/__tests__/useInAppWrapper.test.js +473 -0
  67. package/v2Containers/InAppWrapper/hooks/useInAppWrapper.js +198 -0
  68. package/v2Containers/InAppWrapper/index.js +148 -0
  69. package/v2Containers/InAppWrapper/messages.js +49 -0
  70. package/v2Containers/InappAdvance/index.js +1006 -0
  71. package/v2Containers/InappAdvance/index.scss +10 -0
  72. package/v2Containers/InappAdvance/tests/index.test.js +448 -0
  73. package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/content.test.js.snap +3 -0
  74. package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/index.test.js.snap +2 -0
  75. package/v2Containers/Line/Container/Wrapper/tests/__snapshots__/index.test.js.snap +2 -0
  76. package/v2Containers/Line/Container/tests/__snapshots__/index.test.js.snap +9 -0
  77. package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +12 -0
  78. package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +4 -0
  79. package/v2Containers/TagList/index.js +65 -1
  80. package/v2Containers/Templates/_templates.scss +49 -1
  81. package/v2Containers/Templates/index.js +93 -5
  82. package/v2Containers/Templates/messages.js +4 -0
  83. package/v2Containers/Templates/reducer.js +20 -7
  84. package/v2Containers/Templates/tests/__snapshots__/index.test.js.snap +8 -88
  85. package/v2Containers/Templates/tests/reducer.test.js +125 -0
  86. package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +35 -0
@@ -0,0 +1,148 @@
1
+ /*
2
+ *
3
+ * InAppWrapper
4
+ *
5
+ */
6
+ import React from 'react';
7
+ import PropTypes from 'prop-types';
8
+ import { injectIntl, intlShape } from 'react-intl';
9
+ import { bindActionCreators } from 'redux';
10
+ import { createStructuredSelector } from 'reselect';
11
+ import withCreatives from '../../hoc/withCreatives';
12
+ import useInAppWrapper from './hooks/useInAppWrapper';
13
+ import InAppWrapperView from './components/InAppWrapperView';
14
+ import messages from './messages';
15
+ import * as inAppActions from '../InApp/actions';
16
+ const InAppWrapper = (props) => {
17
+ // Destructure props for clarity before passing to hook
18
+ const {
19
+ intl,
20
+ inAppEditorType,
21
+ step,
22
+ isFullMode,
23
+ onInAppEditorTypeChange,
24
+ showNextStep,
25
+ onResetStep,
26
+ setIsLoadingContent,
27
+ isGetFormData,
28
+ getFormdata,
29
+ type,
30
+ cap,
31
+ showTemplateName,
32
+ showLiquidErrorInFooter,
33
+ onValidationFail,
34
+ forwardedTags,
35
+ selectedOfferDetails,
36
+ onPreviewContentClicked,
37
+ onTestContentClicked,
38
+ eventContextTags,
39
+ onCreateComplete,
40
+ handleClose,
41
+ templateData,
42
+ getDefaultTags,
43
+ onEnterTemplateName,
44
+ onRemoveTemplateName,
45
+ } = props;
46
+
47
+ // Pass destructured props to the custom hook
48
+ const {
49
+ templateName,
50
+ isTemplateNameEmpty,
51
+ selectedEditorType,
52
+ modes,
53
+ isShowInAppCreate,
54
+ inAppProps,
55
+ onTemplateNameChange,
56
+ onChange,
57
+ handleEditorTypeSelection,
58
+ } = useInAppWrapper({
59
+ intl,
60
+ onInAppEditorTypeChange,
61
+ inAppEditorType,
62
+ step,
63
+ showNextStep,
64
+ onResetStep,
65
+ onEnterTemplateName,
66
+ onRemoveTemplateName,
67
+ setIsLoadingContent,
68
+ isGetFormData,
69
+ getFormdata,
70
+ type,
71
+ isFullMode,
72
+ cap,
73
+ showTemplateName,
74
+ showLiquidErrorInFooter,
75
+ onValidationFail,
76
+ forwardedTags,
77
+ selectedOfferDetails,
78
+ onPreviewContentClicked,
79
+ onTestContentClicked,
80
+ eventContextTags,
81
+ onCreateComplete,
82
+ handleClose,
83
+ templateData,
84
+ getDefaultTags,
85
+ });
86
+
87
+ // Render using the presentation component with data from the hook
88
+ return (
89
+ <InAppWrapperView
90
+ inAppEditorType={inAppEditorType}
91
+ step={step}
92
+ isFullMode={isFullMode}
93
+ templateName={templateName}
94
+ onTemplateNameChange={onTemplateNameChange}
95
+ isTemplateNameEmpty={isTemplateNameEmpty}
96
+ modes={modes}
97
+ onChange={onChange}
98
+ isShowInAppCreate={isShowInAppCreate}
99
+ inAppProps={inAppProps}
100
+ handleEditorTypeSelection={handleEditorTypeSelection}
101
+ templateNamePlaceholder={intl.formatMessage(messages.templateNamePlaceholder)}
102
+ />
103
+ );
104
+ };
105
+
106
+ InAppWrapper.propTypes = {
107
+ onInAppEditorTypeChange: PropTypes.func.isRequired,
108
+ isGetFormData: PropTypes.bool,
109
+ type: PropTypes.string,
110
+ inAppEditorType: PropTypes.string,
111
+ step: PropTypes.string,
112
+ showNextStep: PropTypes.func,
113
+ getFormdata: PropTypes.func,
114
+ intl: intlShape,
115
+ cap: PropTypes.object,
116
+ onResetStep: PropTypes.func,
117
+ isFullMode: PropTypes.bool,
118
+ setIsLoadingContent: PropTypes.func,
119
+ showTemplateName: PropTypes.func,
120
+ showLiquidErrorInFooter: PropTypes.func,
121
+ onValidationFail: PropTypes.func,
122
+ forwardedTags: PropTypes.object,
123
+ selectedOfferDetails: PropTypes.array,
124
+ onPreviewContentClicked: PropTypes.func,
125
+ onTestContentClicked: PropTypes.func,
126
+ eventContextTags: PropTypes.array,
127
+ onCreateComplete: PropTypes.func,
128
+ handleClose: PropTypes.func,
129
+ templateData: PropTypes.object,
130
+ getDefaultTags: PropTypes.string,
131
+ onEnterTemplateName: PropTypes.func,
132
+ onRemoveTemplateName: PropTypes.func,
133
+ };
134
+
135
+ const mapStateToProps = createStructuredSelector({
136
+ // Add selectors here if needed
137
+ });
138
+
139
+ const mapDispatchToProps = (dispatch) => ({
140
+ actions: bindActionCreators(inAppActions, dispatch),
141
+ });
142
+
143
+ export default withCreatives({
144
+ WrappedComponent: injectIntl(InAppWrapper),
145
+ mapStateToProps,
146
+ mapDispatchToProps,
147
+ userAuth: true,
148
+ });
@@ -0,0 +1,49 @@
1
+ /*
2
+ * InAppWrapper Messages
3
+ *
4
+ * This contains all the text for the InAppWrapper component.
5
+ */
6
+ import { defineMessages } from 'react-intl';
7
+
8
+ export default defineMessages({
9
+ header: {
10
+ id: 'creatives.containersV2.InAppWrapper.header',
11
+ defaultMessage: 'Create In App Message',
12
+ },
13
+ htmlEditor: {
14
+ id: 'creatives.containersV2.InAppWrapper.htmlEditor',
15
+ defaultMessage: 'HTML editor',
16
+ },
17
+ htmlEditorDesc: {
18
+ id: 'creatives.containersV2.InAppWrapper.htmlEditorDesc',
19
+ defaultMessage: 'Use a basic HTML editor to write and format your content. Suitable if you\'re familiar with HTML.',
20
+ },
21
+ dragDropEditor: {
22
+ id: 'creatives.containersV2.InAppWrapper.dragDropEditor',
23
+ defaultMessage: 'Drag & drop editor',
24
+ },
25
+ dragDropEditorDesc: {
26
+ id: 'creatives.containersV2.InAppWrapper.dragDropEditorDesc',
27
+ defaultMessage: 'Create your content visually by dragging blocks - no coding needed. Great for quick, easy designs.',
28
+ },
29
+ creativeName: {
30
+ id: 'creatives.containersV2.InAppWrapper.creativeName',
31
+ defaultMessage: 'Creative name',
32
+ },
33
+ editorType: {
34
+ id: 'creatives.containersV2.InAppWrapper.editorType',
35
+ defaultMessage: 'Editor type',
36
+ },
37
+ emptyTemplateName: {
38
+ id: 'creatives.containersV2.InAppWrapper.emptyTemplateName',
39
+ defaultMessage: 'Please enter template name.',
40
+ },
41
+ next: {
42
+ id: 'creatives.containersV2.InAppWrapper.next',
43
+ defaultMessage: 'Next',
44
+ },
45
+ templateNamePlaceholder: {
46
+ id: 'creatives.containersV2.InAppWrapper.templateNamePlaceholder',
47
+ defaultMessage: 'Enter the template name',
48
+ },
49
+ });