@capillarytech/creatives-library 8.0.339 → 8.0.340-0

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 (52) hide show
  1. package/.npmrc copy +2 -0
  2. package/package.json +1 -1
  3. package/utils/tests/tagValidations.test.js +20 -0
  4. package/v2Components/CapTagList/index.js +28 -23
  5. package/v2Components/CapTagList/style.scss +29 -0
  6. package/v2Components/CapTagListWithInput/__tests__/CapTagListWithInput.test.js +63 -0
  7. package/v2Components/CapTagListWithInput/index.js +4 -0
  8. package/v2Components/CapWhatsappCTA/index.js +2 -0
  9. package/v2Components/FormBuilder/index.js +7 -0
  10. package/v2Components/HtmlEditor/HTMLEditor.js +6 -1
  11. package/v2Components/HtmlEditor/__tests__/HTMLEditor.apiErrors.test.js +1 -0
  12. package/v2Components/HtmlEditor/__tests__/HTMLEditor.test.js +927 -2
  13. package/v2Components/HtmlEditor/components/CodeEditorPane/index.js +3 -0
  14. package/v2Containers/BeeEditor/index.js +3 -0
  15. package/v2Containers/CreativesContainer/SlideBoxContent.js +28 -1
  16. package/v2Containers/CreativesContainer/index.js +3 -0
  17. package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +47 -0
  18. package/v2Containers/CreativesContainer/tests/__snapshots__/index.test.js.snap +5 -0
  19. package/v2Containers/Email/index.js +1 -0
  20. package/v2Containers/EmailWrapper/components/EmailHTMLEditor.js +6 -1
  21. package/v2Containers/EmailWrapper/components/EmailWrapperView.js +3 -0
  22. package/v2Containers/EmailWrapper/components/__tests__/EmailHTMLEditor.test.js +20 -2
  23. package/v2Containers/EmailWrapper/components/__tests__/EmailWrapperView.test.js +16 -1
  24. package/v2Containers/EmailWrapper/hooks/useEmailWrapper.js +3 -0
  25. package/v2Containers/EmailWrapper/index.js +4 -0
  26. package/v2Containers/EmailWrapper/tests/useEmailWrapper.edgeCases.test.js +1 -0
  27. package/v2Containers/EmailWrapper/tests/useEmailWrapper.test.js +9 -0
  28. package/v2Containers/InAppWrapper/hooks/__tests__/useInAppWrapper.test.js +1 -0
  29. package/v2Containers/MobilePush/Create/index.js +2 -0
  30. package/v2Containers/MobilePush/Edit/index.js +2 -0
  31. package/v2Containers/MobilepushWrapper/index.js +3 -1
  32. package/v2Containers/Rcs/index.js +1 -0
  33. package/v2Containers/Sms/Create/index.js +2 -0
  34. package/v2Containers/Sms/Edit/index.js +2 -0
  35. package/v2Containers/SmsTrai/Edit/index.js +2 -0
  36. package/v2Containers/SmsWrapper/index.js +2 -0
  37. package/v2Containers/TagList/index.js +62 -5
  38. package/v2Containers/TagList/messages.js +4 -0
  39. package/v2Containers/TagList/tests/TagList.test.js +124 -20
  40. package/v2Containers/TagList/tests/mockdata.js +17 -0
  41. package/v2Containers/Viber/constants.js +8 -0
  42. package/v2Containers/Viber/index.js +8 -0
  43. package/v2Containers/Viber/reducer.js +44 -21
  44. package/v2Containers/Viber/sagas.js +62 -21
  45. package/v2Containers/Viber/tests/index.test.js +80 -0
  46. package/v2Containers/Viber/tests/reducer.test.js +297 -0
  47. package/v2Containers/Viber/tests/saga.test.js +365 -40
  48. package/v2Containers/WebPush/Create/hooks/useTagManagement.js +0 -2
  49. package/v2Containers/WebPush/Create/index.js +9 -1
  50. package/v2Containers/Whatsapp/index.js +5 -0
  51. package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +20 -0
  52. package/v2Containers/Zalo/index.js +2 -0
package/.npmrc copy ADDED
@@ -0,0 +1,2 @@
1
+ npm config set scope capillarytech
2
+ //registry.npmjs.org/:_authToken=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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@capillarytech/creatives-library",
3
3
  "author": "meharaj",
4
- "version": "8.0.339",
4
+ "version": "8.0.340-0",
5
5
  "description": "Capillary creatives ui",
6
6
  "main": "./index.js",
7
7
  "module": "./index.es.js",
@@ -360,6 +360,26 @@ describe("validateTags", () => {
360
360
  expect(resultWhitespace.valid).toBe(true);
361
361
  expect(resultWhitespace.unsupportedTags ?? []).toEqual([]);
362
362
  });
363
+
364
+ it('should treat tags from waitEventContextTags as supported', () => {
365
+ const content = 'Hello {{waitEvent.orderId}}';
366
+ const tagsParam = [];
367
+ const injectedTagsParams = [];
368
+ const location = { query: { module: 'DEFAULT' } };
369
+ const tagModule = null;
370
+
371
+ const result = validateTags({
372
+ content,
373
+ tagsParam,
374
+ injectedTagsParams,
375
+ location,
376
+ tagModule,
377
+ });
378
+
379
+ expect(result.valid).toEqual(true);
380
+ expect(result.missingTags).toEqual([]);
381
+ expect(result.isBraceError).toEqual(false);
382
+ });
363
383
  });
364
384
 
365
385
  describe('validateTags wrapper (v2 consumers)', () => {
@@ -44,6 +44,7 @@ class CapTagList extends React.Component { // eslint-disable-line react/prefer-s
44
44
  super(props);
45
45
  this.state = {
46
46
  tagValue: '',
47
+ selectedNodeKey: '',
47
48
  expandedKeys: [],
48
49
  searchValue: '',
49
50
  autoExpandParent: true,
@@ -122,9 +123,11 @@ class CapTagList extends React.Component { // eslint-disable-line react/prefer-s
122
123
  this.handleOnExpand(info.node.props.eventKey);
123
124
  };
124
125
 
125
- getSearchedExpandedKeys(tags, value = '') {
126
+ getSearchedExpandedKeys(tags, value = '', parentPath = '') {
126
127
  let list = [];
127
128
  _.forEach(tags, (val = {}, key) => {
129
+ const rawKey = val?.incentiveSeriesId ? `${key}(${val?.incentiveSeriesId})` : `${key}`;
130
+ const nodeKey = parentPath ? `${parentPath}.${rawKey}` : rawKey;
128
131
  const tagName =
129
132
  typeof val?.name === 'string'
130
133
  ? _.toLower(_.get(val, "name", ""))
@@ -137,16 +140,16 @@ class CapTagList extends React.Component { // eslint-disable-line react/prefer-s
137
140
  && (tagName.includes(searchStringLower)
138
141
  || tagNameWithoutUnderscore.includes(searchStringLower))
139
142
  ) {
140
- list.push(key);
143
+ list.push(nodeKey);
141
144
  }
142
- const temp = this.getSearchedExpandedKeys(val?.subtags, value);
145
+ const temp = this.getSearchedExpandedKeys(val?.subtags, value, nodeKey);
143
146
  list = list.concat(temp);
144
147
  } else if (
145
148
  val?.name
146
149
  && (tagName.includes(searchStringLower)
147
150
  || tagNameWithoutUnderscore.includes(searchStringLower))
148
151
  ) {
149
- list.push(key);
152
+ list.push(nodeKey);
150
153
  }
151
154
  });
152
155
  return list;
@@ -200,12 +203,17 @@ class CapTagList extends React.Component { // eslint-disable-line react/prefer-s
200
203
  handleOnSelect = (selectedKeys, info) => {
201
204
  if (selectedKeys.length > 0) {
202
205
  if (info && info.selectedNodes && info.selectedNodes.length > 0 && info.selectedNodes[0].props.isLeaf) {
203
- this.setState({tagValue: selectedKeys[0]});
204
- const ifDynamicTag = this.checkIfDynamicTag(selectedKeys[0]);
206
+ const selectedNode = info.selectedNodes[0];
207
+ const selectedTagValue = selectedNode?.props?.tagKey || selectedKeys[0];
208
+ this.setState({
209
+ tagValue: selectedTagValue,
210
+ selectedNodeKey: selectedKeys[0],
211
+ });
212
+ const ifDynamicTag = this.checkIfDynamicTag(selectedTagValue);
205
213
  if (ifDynamicTag) {
206
214
  this.renderDynamicTagFlow();
207
215
  } else {
208
- this.props.onSelect(selectedKeys, info);
216
+ this.props.onSelect([selectedTagValue], info);
209
217
  this.setState({visible: false});
210
218
  }
211
219
  } else if (info && info.selectedNodes && info.selectedNodes.length > 0 && !info.selectedNodes[0].props.isLeaf) {
@@ -237,7 +245,7 @@ class CapTagList extends React.Component { // eslint-disable-line react/prefer-s
237
245
  this.setState({showModal: true, visible: false});
238
246
  };
239
247
 
240
- renderTags = (tags) => {
248
+ renderTags = (tags, parentPath = '') => {
241
249
  const searchString = this.state.searchValue || '';
242
250
  const {
243
251
  disableRelatedTags, childTagsToDisable, parentTagstoDisable,
@@ -260,6 +268,8 @@ class CapTagList extends React.Component { // eslint-disable-line react/prefer-s
260
268
  clonedTags = _.omit(clonedTags, CUSTOMER_BARCODE_TAG);
261
269
  }
262
270
  _.forEach(clonedTags, (val = '', key) => {
271
+ const rawKey = val?.incentiveSeriesId ? `${key}(${val?.incentiveSeriesId})` : `${key}`;
272
+ const nodeKey = parentPath ? `${parentPath}.${rawKey}` : rawKey;
263
273
  let supportedTagsString = '';
264
274
  _.forEach(val.supportedTags, (supportedTag) => {
265
275
  supportedTagsString += `${supportedTag} ,`;
@@ -276,13 +286,14 @@ class CapTagList extends React.Component { // eslint-disable-line react/prefer-s
276
286
  || tagNameWithoutUnderscore.includes(searchStringLower));
277
287
  if (_.has(val, 'subtags')) {
278
288
  const disabled = disableRelatedTags ? parentTagstoDisable.includes(key) : false;
279
- const temp = this.renderTags(val?.subtags);
289
+ const temp = this.renderTags(val?.subtags, nodeKey);
280
290
  if (temp?.length) {
281
291
  const tagValue = (
282
292
  <CapTreeNode
283
293
  title={disabled ? <CapTooltip title={loyaltyAttrDisableText}>{val?.name}</CapTooltip> : val?.name}
284
294
  tag={val}
285
- key={val?.incentiveSeriesId ? `${key}(${val?.incentiveSeriesId})` : `${key}`}
295
+ tagKey={rawKey}
296
+ key={nodeKey}
286
297
  disabled={disabled}
287
298
  >
288
299
  {temp}
@@ -317,12 +328,9 @@ class CapTagList extends React.Component { // eslint-disable-line react/prefer-s
317
328
  )
318
329
  }
319
330
  tag={val}
331
+ tagKey={rawKey}
320
332
  isLeaf
321
- key={
322
- val?.incentiveSeriesId
323
- ? `${key}(${val?.incentiveSeriesId})`
324
- : `${key}`
325
- }
333
+ key={nodeKey}
326
334
  disabled={childDisabled}
327
335
  >
328
336
  </CapTreeNode>
@@ -353,12 +361,9 @@ class CapTagList extends React.Component { // eslint-disable-line react/prefer-s
353
361
  )
354
362
  }
355
363
  tag={val}
364
+ tagKey={rawKey}
356
365
  isLeaf
357
- key={
358
- val?.incentiveSeriesId
359
- ? `${key}(${val?.incentiveSeriesId})`
360
- : `${key}`
361
- }
366
+ key={nodeKey}
362
367
  disabled={childDisabled}
363
368
  >
364
369
  </CapTreeNode>
@@ -385,7 +390,7 @@ class CapTagList extends React.Component { // eslint-disable-line react/prefer-s
385
390
  } = this.props;
386
391
  const {formatMessage} = intl;
387
392
  const {
388
- tagValue, expandedKeys, autoExpandParent, visible, translationLang, selectedContext, isLoadingLoyaltyTags, isLoadingContextChange,
393
+ tagValue, selectedNodeKey, expandedKeys, autoExpandParent, visible, translationLang, selectedContext, isLoadingLoyaltyTags, isLoadingContextChange,
389
394
  } = this.state;
390
395
 
391
396
  // Show loading spinner if general loading OR if specifically loading loyalty tags OR if context change is in progress
@@ -404,7 +409,7 @@ class CapTagList extends React.Component { // eslint-disable-line react/prefer-s
404
409
  },
405
410
  ];
406
411
  const contentSection = (
407
- <CapRow>
412
+ <CapRow className="cap-tag-list-popover-inner">
408
413
  <CapSpin tip={formatMessage(messages.gettingTags)} spinning={shouldShowLoading}>
409
414
  <Search
410
415
  style={{ marginBottom: 8, width: '250px'}}
@@ -424,7 +429,7 @@ class CapTagList extends React.Component { // eslint-disable-line react/prefer-s
424
429
  <CapTree
425
430
  styling={{height: '350px', overflow: 'auto'}}
426
431
  onSelect={this.handleOnSelect}
427
- selectedKeys={tagValue}
432
+ selectedKeys={selectedNodeKey ? [selectedNodeKey] : []}
428
433
  expandedKeys={expandedKeys}
429
434
  autoExpandParent={autoExpandParent}
430
435
  onExpand={this.onExpand}
@@ -1,5 +1,34 @@
1
1
  @import "~@capillarytech/cap-ui-library/styles/_variables";
2
2
 
3
+ .cap-tag-list-popover-inner {
4
+ max-width: 20rem;
5
+ min-width: 0;
6
+ box-sizing: border-box;
7
+
8
+ .ant-tree.cap-tree-v2.ant-tree-icon-hide {
9
+ width: 100%;
10
+ max-width: 100%;
11
+
12
+ ul {
13
+ max-width: 100%;
14
+ }
15
+
16
+ li {
17
+ overflow: hidden;
18
+ max-width: 100%;
19
+ }
20
+
21
+ li .ant-tree-node-content-wrapper {
22
+ width: calc(100% - 3.5rem); // leave room for switcher (~24px)
23
+ max-width: calc(100% - 3.5rem);
24
+ overflow: hidden;
25
+ vertical-align: top;
26
+ box-sizing: border-box;
27
+ text-overflow: ellipsis;
28
+ }
29
+ }
30
+ }
31
+
3
32
  @media (max-height: 25rem) {
4
33
  .ant-tree.cap-tree-v2.ant-tree-icon-hide {
5
34
  height: 8.5714rem;
@@ -0,0 +1,63 @@
1
+ import React from 'react';
2
+ import { render, screen } from '@testing-library/react';
3
+ import '@testing-library/jest-dom';
4
+ import { IntlProvider } from 'react-intl';
5
+ import CapTagListWithInput from '../index';
6
+
7
+ const capturedTagListProps = { current: null };
8
+
9
+ jest.mock('../../../v2Containers/TagList', () => {
10
+ const React = require('react');
11
+ const Mock = (props) => {
12
+ capturedTagListProps.current = props;
13
+ return <div data-testid="mock-tag-list">TagList</div>;
14
+ };
15
+ return Mock;
16
+ });
17
+
18
+ jest.mock('@capillarytech/cap-ui-library/CapRow', () => ({ children }) => <div>{children}</div>);
19
+ jest.mock('@capillarytech/cap-ui-library/CapColumn', () => ({ children }) => <div>{children}</div>);
20
+ jest.mock('@capillarytech/cap-ui-library/CapHeading', () => () => null);
21
+ jest.mock('@capillarytech/cap-ui-library/CapInput', () => () => <input data-testid="cap-input" />);
22
+
23
+ const waitMap = {
24
+ b1: { eventName: 'Order Placed', blockName: 'Wait', tags: [] },
25
+ };
26
+
27
+ describe('CapTagListWithInput', () => {
28
+ beforeEach(() => {
29
+ capturedTagListProps.current = null;
30
+ });
31
+
32
+ it('forwards waitEventContextTags to TagList', () => {
33
+ render(
34
+ <IntlProvider locale="en" messages={{}}>
35
+ <CapTagListWithInput
36
+ inputId="test-url"
37
+ inputOnChange={jest.fn()}
38
+ waitEventContextTags={waitMap}
39
+ onTagSelect={jest.fn()}
40
+ onContextChange={jest.fn()}
41
+ />
42
+ </IntlProvider>
43
+ );
44
+
45
+ expect(screen.getByTestId('mock-tag-list')).toBeInTheDocument();
46
+ expect(capturedTagListProps.current.waitEventContextTags).toEqual(waitMap);
47
+ });
48
+
49
+ it('uses default empty object for waitEventContextTags when omitted', () => {
50
+ render(
51
+ <IntlProvider locale="en" messages={{}}>
52
+ <CapTagListWithInput
53
+ inputId="test-url"
54
+ inputOnChange={jest.fn()}
55
+ onTagSelect={jest.fn()}
56
+ onContextChange={jest.fn()}
57
+ />
58
+ </IntlProvider>
59
+ );
60
+
61
+ expect(capturedTagListProps.current.waitEventContextTags).toEqual({});
62
+ });
63
+ });
@@ -27,6 +27,7 @@ export const CapTagListWithInput = (props) => {
27
27
  userLocale = 'en',
28
28
  eventContextTags = [],
29
29
  restrictPersonalization = false,
30
+ waitEventContextTags = {},
30
31
  // CapInput props
31
32
  inputId,
32
33
  inputValue = '',
@@ -77,6 +78,7 @@ export const CapTagListWithInput = (props) => {
77
78
  userLocale={userLocale}
78
79
  selectedOfferDetails={selectedOfferDetails}
79
80
  eventContextTags={eventContextTags}
81
+ waitEventContextTags={waitEventContextTags}
80
82
  style={tagListStyle}
81
83
  popoverPlacement={popoverPlacement}
82
84
  restrictPersonalization={restrictPersonalization}
@@ -116,6 +118,7 @@ CapTagListWithInput.propTypes = {
116
118
  userLocale: PropTypes.string,
117
119
  eventContextTags: PropTypes.array,
118
120
  restrictPersonalization: PropTypes.bool,
121
+ waitEventContextTags: PropTypes.object,
119
122
 
120
123
  // CapInput props
121
124
  inputId: PropTypes.string.isRequired,
@@ -154,6 +157,7 @@ CapTagListWithInput.defaultProps = {
154
157
  userLocale: 'en',
155
158
  eventContextTags: [],
156
159
  restrictPersonalization: false,
160
+ waitEventContextTags: {},
157
161
  inputValue: '',
158
162
  inputSize: 'default',
159
163
  inputRequired: false,
@@ -52,6 +52,7 @@ export const CapWhatsappCTA = (props) => {
52
52
  injectedTags = {},
53
53
  selectedOfferDetails = [],
54
54
  eventContextTags = [],
55
+ waitEventContextTags = {},
55
56
  } = props;
56
57
  const { formatMessage } = intl;
57
58
  const invalidVarRegex = /{{(.*?)}}/g;
@@ -283,6 +284,7 @@ export const CapWhatsappCTA = (props) => {
283
284
  injectedTags={injectedTags}
284
285
  selectedOfferDetails={selectedOfferDetails}
285
286
  eventContextTags={eventContextTags}
287
+ waitEventContextTags={waitEventContextTags}
286
288
  />
287
289
  </CapColumn>
288
290
  )}
@@ -2990,6 +2990,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
2990
2990
  selectedOfferDetails={this.props.selectedOfferDetails}
2991
2991
  eventContextTags={this.props?.eventContextTags}
2992
2992
  restrictPersonalization={this.props.restrictPersonalization}
2993
+ waitEventContextTags={this.props?.waitEventContextTags}
2993
2994
  />
2994
2995
  </CapColumn>
2995
2996
  );
@@ -3019,6 +3020,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
3019
3020
  userLocale={this.props.userLocale}
3020
3021
  selectedOfferDetails={this.props.selectedOfferDetails}
3021
3022
  eventContextTags={this.props?.eventContextTags}
3023
+ waitEventContextTags={this.props?.waitEventContextTags}
3022
3024
  moduleFilterEnabled={this.props.location && this.props.location.query && this.props.location.query.type !== 'embedded'}
3023
3025
  containerStyle={val.style || {}}
3024
3026
  inputProps={val.inputProps || {}}
@@ -3658,6 +3660,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
3658
3660
  channel={channel}
3659
3661
  eventContextTags={this.props?.eventContextTags}
3660
3662
  restrictPersonalization={this.props.restrictPersonalization}
3663
+ waitEventContextTags={this.props?.waitEventContextTags}
3661
3664
  />
3662
3665
  </CapColumn>
3663
3666
  );
@@ -3704,6 +3707,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
3704
3707
  userLocale={this.state.translationLang}
3705
3708
  selectedOfferDetails={this.props.selectedOfferDetails}
3706
3709
  eventContextTags={this.props?.eventContextTags}
3710
+ waitEventContextTags={this.props?.waitEventContextTags}
3707
3711
  moduleFilterEnabled={moduleFilterEnabledForCapTagList}
3708
3712
  containerStyle={val.style || {}}
3709
3713
  inputProps={val.inputProps || {}}
@@ -3998,6 +4002,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
3998
4002
  onContextChange={this.props.onContextChange}
3999
4003
  moduleFilterEnabled={isModuleFilterEnabled}
4000
4004
  eventContextTags={this.props?.eventContextTags}
4005
+ waitEventContextTags={this.props?.waitEventContextTags}
4001
4006
  isGetBeeData={this.props?.isGetBeeData}
4002
4007
  getBEEData={this.props?.getBEEData}
4003
4008
  />
@@ -4302,6 +4307,7 @@ FormBuilder.defaultProps = {
4302
4307
  userLocale: localStorage.getItem('jlocale') || 'en',
4303
4308
  showLiquidErrorInFooter: () => {},
4304
4309
  metaDataStatus: "",
4310
+ waitEventContextTags: {},
4305
4311
  isTestAndPreviewMode: false, // Default to false to maintain existing behavior
4306
4312
  };
4307
4313
 
@@ -4352,6 +4358,7 @@ FormBuilder.propTypes = {
4352
4358
  moduleType: PropTypes.string.isRequired,
4353
4359
  showLiquidErrorInFooter: PropTypes.bool.isRequired,
4354
4360
  eventContextTags: PropTypes.array.isRequired,
4361
+ waitEventContextTags: PropTypes.object,
4355
4362
  forwardedTags: PropTypes.object.isRequired,
4356
4363
  isLoyaltyModule: PropTypes.bool.isRequired,
4357
4364
  isTestAndPreviewMode: PropTypes.bool, // Add new prop type
@@ -94,6 +94,7 @@ const HTMLEditor = forwardRef(({
94
94
  injectedTags = {},
95
95
  location,
96
96
  eventContextTags = [],
97
+ waitEventContextTags,
97
98
  selectedOfferDetails = [],
98
99
  channel,
99
100
  userLocale = 'en',
@@ -361,7 +362,7 @@ const HTMLEditor = forwardRef(({
361
362
  const issueCounts = calculateIssueCounts();
362
363
  const isContentEmpty = !currentContent || currentContent.trim() === '';
363
364
 
364
- // hasErrors = only Rule Group #1 (Input & Sanitization) gates Done/Update/Preview/Test
365
+ // hasErrors = only Rule Group #1 (Input & Sanitization) - gates Done/Update/Preview/Test
365
366
  const newState = {
366
367
  isContentEmpty,
367
368
  issueCounts,
@@ -663,6 +664,7 @@ const HTMLEditor = forwardRef(({
663
664
  injectedTags={injectedTags}
664
665
  location={location}
665
666
  eventContextTags={eventContextTags}
667
+ waitEventContextTags={waitEventContextTags}
666
668
  selectedOfferDetails={selectedOfferDetails}
667
669
  channel={channel}
668
670
  userLocale={userLocale}
@@ -734,6 +736,7 @@ const HTMLEditor = forwardRef(({
734
736
  injectedTags={injectedTags}
735
737
  location={location}
736
738
  eventContextTags={eventContextTags}
739
+ waitEventContextTags={waitEventContextTags}
737
740
  selectedOfferDetails={selectedOfferDetails}
738
741
  channel={channel}
739
742
  userLocale={userLocale}
@@ -772,6 +775,7 @@ HTMLEditor.propTypes = {
772
775
  injectedTags: PropTypes.object,
773
776
  location: PropTypes.object,
774
777
  eventContextTags: PropTypes.array,
778
+ waitEventContextTags: PropTypes.object,
775
779
  selectedOfferDetails: PropTypes.array,
776
780
  channel: PropTypes.string,
777
781
  userLocale: PropTypes.string,
@@ -805,6 +809,7 @@ HTMLEditor.defaultProps = {
805
809
  injectedTags: {},
806
810
  location: null,
807
811
  eventContextTags: [],
812
+ waitEventContextTags: {},
808
813
  selectedOfferDetails: [],
809
814
  channel: null,
810
815
  userLocale: 'en',
@@ -225,6 +225,7 @@ const defaultProps = {
225
225
  injectedTags: {},
226
226
  location: { query: {} },
227
227
  eventContextTags: [],
228
+ waitEventContextTags: {},
228
229
  selectedOfferDetails: [],
229
230
  channel: 'EMAIL',
230
231
  userLocale: 'en',