@capillarytech/creatives-library 8.0.353-alpha.6 → 8.0.353
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 -29
- package/package.json +1 -1
- package/services/tests/api.test.js +20 -35
- package/utils/commonUtils.js +1 -19
- package/v2Components/CapActionButton/constants.js +0 -7
- package/v2Components/CapActionButton/index.js +108 -166
- package/v2Components/CapActionButton/index.scss +6 -157
- package/v2Components/CapActionButton/messages.js +3 -19
- package/v2Components/CapActionButton/tests/index.test.js +17 -41
- package/v2Components/CapTagList/index.js +0 -10
- package/v2Components/CommonTestAndPreview/CustomValuesEditor.js +49 -72
- package/v2Components/CommonTestAndPreview/DeliverySettings/DeliverySettings.scss +2 -8
- package/v2Components/CommonTestAndPreview/DeliverySettings/ModifyDeliverySettings.js +21 -213
- 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 +5 -10
- package/v2Components/CommonTestAndPreview/UnifiedPreview/RcsPreviewContent.js +15 -157
- package/v2Components/CommonTestAndPreview/UnifiedPreview/_unifiedPreview.scss +76 -346
- package/v2Components/CommonTestAndPreview/UnifiedPreview/index.js +4 -133
- package/v2Components/CommonTestAndPreview/_commonTestAndPreview.scss +0 -11
- package/v2Components/CommonTestAndPreview/constants.js +2 -38
- package/v2Components/CommonTestAndPreview/index.js +186 -691
- package/v2Components/CommonTestAndPreview/messages.js +3 -45
- package/v2Components/CommonTestAndPreview/sagas.js +6 -25
- package/v2Components/CommonTestAndPreview/tests/CustomValuesEditor.test.js +284 -308
- 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/PreviewSection.test.js +1 -8
- package/v2Components/CommonTestAndPreview/tests/SendTestMessage.test.js +13 -34
- package/v2Components/CommonTestAndPreview/tests/UnifiedPreview/RcsPreviewContent.test.js +283 -281
- package/v2Components/CommonTestAndPreview/tests/UnifiedPreview/index.test.js +1 -199
- package/v2Components/CommonTestAndPreview/tests/index.test.js +4 -132
- package/v2Components/CommonTestAndPreview/tests/sagas.test.js +26 -36
- package/v2Components/FormBuilder/index.js +168 -63
- package/v2Components/TemplatePreview/_templatePreview.scss +23 -38
- package/v2Components/TemplatePreview/index.js +31 -143
- package/v2Components/TemplatePreview/tests/index.test.js +0 -142
- 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 +163 -346
- 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 +15 -20
- package/v2Containers/CreativesContainer/tests/index.test.js +9 -71
- package/v2Containers/MobilePush/Create/test/saga.test.js +2 -2
- package/v2Containers/Rcs/constants.js +10 -119
- package/v2Containers/Rcs/index.js +818 -2450
- package/v2Containers/Rcs/index.scss +8 -280
- package/v2Containers/Rcs/messages.js +3 -34
- package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +70073 -98018
- package/v2Containers/Rcs/tests/__snapshots__/utils.test.js.snap +5 -0
- package/v2Containers/Rcs/tests/index.test.js +121 -152
- package/v2Containers/Rcs/tests/mockData.js +0 -38
- package/v2Containers/Rcs/tests/utils.test.js +30 -646
- package/v2Containers/Rcs/utils.js +11 -478
- package/v2Containers/Sms/Create/index.js +40 -106
- package/v2Containers/SmsTrai/Create/index.js +4 -9
- package/v2Containers/SmsTrai/Edit/constants.js +0 -2
- package/v2Containers/SmsTrai/Edit/index.js +130 -640
- package/v2Containers/SmsTrai/Edit/messages.js +4 -14
- package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +2296 -4249
- package/v2Containers/SmsWrapper/index.js +8 -37
- package/v2Containers/TagList/index.js +0 -6
- package/v2Containers/Templates/_templates.scss +9 -166
- package/v2Containers/Templates/actions.js +0 -11
- package/v2Containers/Templates/constants.js +0 -2
- package/v2Containers/Templates/index.js +52 -120
- package/v2Containers/Templates/sagas.js +12 -56
- package/v2Containers/Templates/tests/__snapshots__/index.test.js.snap +1017 -1062
- package/v2Containers/Templates/tests/sagas.test.js +16 -199
- package/v2Containers/TemplatesV2/TemplatesV2.style.js +1 -72
- package/v2Containers/TemplatesV2/index.js +23 -86
- package/v2Containers/WeChat/MapTemplates/test/saga.test.js +9 -9
- package/v2Containers/Whatsapp/index.js +20 -3
- package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +34 -578
- package/utils/rcsPayloadUtils.js +0 -92
- package/utils/templateVarUtils.js +0 -201
- package/utils/tests/rcsPayloadUtils.test.js +0 -226
- package/utils/tests/templateVarUtils.test.js +0 -204
- package/v2Components/CommonTestAndPreview/previewApiUtils.js +0 -59
- package/v2Components/CommonTestAndPreview/tests/previewApiUtils.test.js +0 -67
- package/v2Components/SmsFallback/SmsFallbackLocalSelector.js +0 -91
- package/v2Components/SmsFallback/constants.js +0 -73
- package/v2Components/SmsFallback/index.js +0 -956
- package/v2Components/SmsFallback/index.scss +0 -265
- package/v2Components/SmsFallback/messages.js +0 -78
- package/v2Components/SmsFallback/smsFallbackUtils.js +0 -119
- 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 -223
- package/v2Components/SmsFallback/tests/smsFallbackUtils.test.js +0 -309
- package/v2Components/SmsFallback/tests/useLocalTemplateList.test.js +0 -422
- package/v2Components/SmsFallback/useLocalTemplateList.js +0 -92
- package/v2Components/TemplatePreview/constants.js +0 -2
- 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 -79
- 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
|
@@ -37,7 +37,6 @@ import { createStructuredSelector } from 'reselect';
|
|
|
37
37
|
import { CAP_SPACE_12, CAP_SPACE_08, FONT_COLOR_05, FONT_COLOR_04 } from '@capillarytech/cap-ui-library/styled/variables';
|
|
38
38
|
import UnifiedPreview from '../CommonTestAndPreview/UnifiedPreview';
|
|
39
39
|
import { ANDROID } from '../CommonTestAndPreview/constants';
|
|
40
|
-
import TemplatePreview from '../TemplatePreview';
|
|
41
40
|
import TagList from '../../v2Containers/TagList';
|
|
42
41
|
import CapTagListWithInput from '../CapTagListWithInput';
|
|
43
42
|
import SlideBox from '../SlideBox';
|
|
@@ -80,6 +79,69 @@ const errorMessageForTags = {
|
|
|
80
79
|
TAG_BRACKET_COUNT_MISMATCH_ERROR: 'tagBracketCountMismatchError'
|
|
81
80
|
};
|
|
82
81
|
|
|
82
|
+
// Isolated input for EMAIL template-name: only this tiny component re-renders on each keystroke.
|
|
83
|
+
// formData is updated only on blur (onCommit), eliminating all re-renders during typing.
|
|
84
|
+
class HighFreqInput extends React.Component {
|
|
85
|
+
constructor(props) {
|
|
86
|
+
super(props);
|
|
87
|
+
this.state = { localValue: props.value || '' };
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
componentDidUpdate(prevProps) {
|
|
91
|
+
if (prevProps.value !== this.props.value && this.state.localValue !== this.props.value) {
|
|
92
|
+
this.setState({ localValue: this.props.value || '' });
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
handleChange = (e) => {
|
|
97
|
+
this.setState({ localValue: e.target.value });
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
handleBlur = (e) => {
|
|
101
|
+
this.props.onCommit(this.state.localValue);
|
|
102
|
+
if (this.props.onBlur) this.props.onBlur(e);
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
render() {
|
|
106
|
+
const { value: _v, onCommit: _oc, onBlur: _ob, ...rest } = this.props;
|
|
107
|
+
return <CapInput {...rest} value={this.state.localValue} onChange={this.handleChange} onBlur={this.handleBlur} />;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
// Isolated wrapper for EMAIL template-subject: blur-only commit, same as HighFreqInput.
|
|
112
|
+
class HighFreqTagInput extends React.Component {
|
|
113
|
+
constructor(props) {
|
|
114
|
+
super(props);
|
|
115
|
+
this.state = { localInputValue: props.inputValue || '' };
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
componentDidUpdate(prevProps) {
|
|
119
|
+
if (prevProps.inputValue !== this.props.inputValue && this.state.localInputValue !== this.props.inputValue) {
|
|
120
|
+
this.setState({ localInputValue: this.props.inputValue || '' });
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
handleInputChange = (e) => {
|
|
125
|
+
this.setState({ localInputValue: e.target.value });
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
handleBlur = () => {
|
|
129
|
+
this.props.onCommit(this.state.localInputValue);
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
render() {
|
|
133
|
+
const { inputValue: _iv, onCommit: _oc, inputOnChange: _ic, ...rest } = this.props;
|
|
134
|
+
return (
|
|
135
|
+
<CapTagListWithInput
|
|
136
|
+
{...rest}
|
|
137
|
+
inputValue={this.state.localInputValue}
|
|
138
|
+
inputOnChange={this.handleInputChange}
|
|
139
|
+
inputProps={{ ...(this.props.inputProps || {}), onBlur: this.handleBlur }}
|
|
140
|
+
/>
|
|
141
|
+
);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
83
145
|
class FormBuilder extends React.Component { // eslint-disable-line react/prefer-stateless-function
|
|
84
146
|
constructor(props) {
|
|
85
147
|
super(props);
|
|
@@ -353,6 +415,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
|
|
|
353
415
|
this.setState({tabCount: nextProps.tabCount});
|
|
354
416
|
}
|
|
355
417
|
if (nextProps.startValidation && nextProps.startValidation !== false && this.props.startValidation !== nextProps.startValidation) {
|
|
418
|
+
if (this.debouncedUpdateFormData) this.debouncedUpdateFormData.flush();
|
|
356
419
|
this.setState({checkValidation: true});
|
|
357
420
|
this.validateForm(null, null, true, true, () => {
|
|
358
421
|
//triggering the saveFormData or onSubmit when validation sets isFormValid to TRUE
|
|
@@ -2990,8 +3053,8 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
|
|
|
2990
3053
|
userLocale={this.props.userLocale}
|
|
2991
3054
|
selectedOfferDetails={this.props.selectedOfferDetails}
|
|
2992
3055
|
eventContextTags={this.props?.eventContextTags}
|
|
2993
|
-
waitEventContextTags={this.props?.waitEventContextTags}
|
|
2994
3056
|
restrictPersonalization={this.props.restrictPersonalization}
|
|
3057
|
+
waitEventContextTags={this.props?.waitEventContextTags}
|
|
2995
3058
|
/>
|
|
2996
3059
|
</CapColumn>
|
|
2997
3060
|
);
|
|
@@ -3411,26 +3474,25 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
|
|
|
3411
3474
|
? formatMessage(messages.personalizationTagsErrorMessage)
|
|
3412
3475
|
: (errorType === TAG_BRACKET_COUNT_MISMATCH_ERROR ? formatMessage(globalMessages.unbalanacedCurlyBraces) : (val.errorMessage && ifError ? val.errorMessage : ''));
|
|
3413
3476
|
if (styling === 'semantic') {
|
|
3414
|
-
|
|
3415
|
-
|
|
3416
|
-
|
|
3417
|
-
|
|
3418
|
-
|
|
3419
|
-
|
|
3420
|
-
|
|
3421
|
-
|
|
3422
|
-
|
|
3423
|
-
|
|
3424
|
-
|
|
3425
|
-
|
|
3426
|
-
|
|
3427
|
-
|
|
3428
|
-
|
|
3429
|
-
|
|
3430
|
-
|
|
3431
|
-
|
|
3432
|
-
|
|
3433
|
-
!aiContentBotDisabled && (
|
|
3477
|
+
const isEmailStandaloneHighFreq = val.standalone && this.props.schema?.channel?.toUpperCase() === EMAIL;
|
|
3478
|
+
if (isEmailStandaloneHighFreq) {
|
|
3479
|
+
columns.push(
|
|
3480
|
+
<CapColumn key={val.id} span={val.width} offset={val.offset} style={val.style || {}}>
|
|
3481
|
+
<HighFreqInput
|
|
3482
|
+
id={val.id}
|
|
3483
|
+
errorMessage={errorMessageText}
|
|
3484
|
+
label={val.label}
|
|
3485
|
+
inductiveText={val.inductiveText}
|
|
3486
|
+
className={`input-primary chart-name-input${ifError ? ' error' : ''}`}
|
|
3487
|
+
style={val.style ? val.style : {}}
|
|
3488
|
+
placeholder={val.placeholder}
|
|
3489
|
+
onCommit={(newValue) => this.performFormDataUpdate(newValue, val)}
|
|
3490
|
+
onBlur={(e) => this.handleFieldBlur(e, val)}
|
|
3491
|
+
value={value || ""}
|
|
3492
|
+
disabled={val.disabled}
|
|
3493
|
+
size={val.size || "default"}
|
|
3494
|
+
/>
|
|
3495
|
+
{!aiContentBotDisabled && (
|
|
3434
3496
|
<CapAskAira.ContentGenerationBot
|
|
3435
3497
|
text={value || ""}
|
|
3436
3498
|
setText={this.handleSetText.bind(this, val)}
|
|
@@ -3439,12 +3501,48 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
|
|
|
3439
3501
|
rootStyle={{
|
|
3440
3502
|
bottom: "0.2rem",
|
|
3441
3503
|
right: "0.2rem",
|
|
3442
|
-
left: "auto",
|
|
3504
|
+
left: "auto",
|
|
3443
3505
|
}}
|
|
3444
3506
|
/>
|
|
3445
3507
|
)}
|
|
3446
|
-
|
|
3447
|
-
|
|
3508
|
+
</CapColumn>
|
|
3509
|
+
);
|
|
3510
|
+
} else {
|
|
3511
|
+
columns.push(
|
|
3512
|
+
<CapColumn key={val.id} span={val.width} offset={val.offset} style={val.style || {}}>
|
|
3513
|
+
<CapInput
|
|
3514
|
+
id={val.id}
|
|
3515
|
+
errorMessage={errorMessageText}
|
|
3516
|
+
label={val.label}
|
|
3517
|
+
inductiveText={val.inductiveText}
|
|
3518
|
+
className={`input-primary chart-name-input${ifError ? ' error' : ''}`}
|
|
3519
|
+
// fluid={val.fluid}
|
|
3520
|
+
style={val.style ? val.style : {}}
|
|
3521
|
+
placeholder={val.placeholder}
|
|
3522
|
+
onChange={(e) => this.updateFormData(e.target.value, val)}
|
|
3523
|
+
onBlur={(e) => this.handleFieldBlur(e, val)}
|
|
3524
|
+
value={value || ""}
|
|
3525
|
+
defaultValue={isVersionEnable ? this.state.formData[`${this.state.currentTab - 1}`][val.id] : this.state.formData[val.id]}
|
|
3526
|
+
disabled={val.disabled}
|
|
3527
|
+
size={val.size || "default"}
|
|
3528
|
+
/>
|
|
3529
|
+
{this.props.schema?.channel === EMAIL &&
|
|
3530
|
+
!aiContentBotDisabled && (
|
|
3531
|
+
<CapAskAira.ContentGenerationBot
|
|
3532
|
+
text={value || ""}
|
|
3533
|
+
setText={this.handleSetText.bind(this, val)}
|
|
3534
|
+
iconPlacement="float-br"
|
|
3535
|
+
iconSize="1.6rem"
|
|
3536
|
+
rootStyle={{
|
|
3537
|
+
bottom: "0.2rem",
|
|
3538
|
+
right: "0.2rem",
|
|
3539
|
+
left: "auto",
|
|
3540
|
+
}}
|
|
3541
|
+
/>
|
|
3542
|
+
)}
|
|
3543
|
+
</CapColumn>
|
|
3544
|
+
);
|
|
3545
|
+
}
|
|
3448
3546
|
}
|
|
3449
3547
|
break;
|
|
3450
3548
|
|
|
@@ -3660,11 +3758,8 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
|
|
|
3660
3758
|
selectedOfferDetails={this.props.selectedOfferDetails}
|
|
3661
3759
|
channel={channel}
|
|
3662
3760
|
eventContextTags={this.props?.eventContextTags}
|
|
3663
|
-
waitEventContextTags={this.props?.waitEventContextTags}
|
|
3664
3761
|
restrictPersonalization={this.props.restrictPersonalization}
|
|
3665
|
-
|
|
3666
|
-
popoverOverlayStyle={this.props.tagListPopoverOverlayStyle}
|
|
3667
|
-
popoverOverlayClassName={this.props.tagListPopoverOverlayClassName}
|
|
3762
|
+
waitEventContextTags={this.props?.waitEventContextTags}
|
|
3668
3763
|
/>
|
|
3669
3764
|
</CapColumn>
|
|
3670
3765
|
);
|
|
@@ -3688,37 +3783,48 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
|
|
|
3688
3783
|
isBEEAppEnableForCapTagList === false ||
|
|
3689
3784
|
channelForCapTagList !== 'EMAIL'
|
|
3690
3785
|
) {
|
|
3786
|
+
const isEmailStandaloneSubject = val.standalone && channelForCapTagList === EMAIL && val.id === 'template-subject';
|
|
3787
|
+
const tagListProps = {
|
|
3788
|
+
key: `input-${val.id}`,
|
|
3789
|
+
inputId: val.id,
|
|
3790
|
+
inputValue: this.state.formData[val.id] || '',
|
|
3791
|
+
inputPlaceholder: val.placeholder || '',
|
|
3792
|
+
inputErrorMessage: val.errorMessage && ifError ? val.errorMessage : '',
|
|
3793
|
+
inputRequired: val.required || false,
|
|
3794
|
+
inputDisabled: val.disabled || false,
|
|
3795
|
+
headingText: val.label || '',
|
|
3796
|
+
headingStyle: val.headingStyle || { marginTop: '3%', marginRight: '79%' },
|
|
3797
|
+
headingType: "h4",
|
|
3798
|
+
onTagSelect: (data) => this.callChildEvent(data, val, 'onTagSelect'),
|
|
3799
|
+
onContextChange: this.props.onContextChange,
|
|
3800
|
+
location: this.props.location,
|
|
3801
|
+
tags: this.props.tags ? this.props.tags : [],
|
|
3802
|
+
injectedTags: this.props.injectedTags ? this.props.injectedTags : {},
|
|
3803
|
+
className: val.className ? val.className : '',
|
|
3804
|
+
userLocale: this.state.translationLang,
|
|
3805
|
+
selectedOfferDetails: this.props.selectedOfferDetails,
|
|
3806
|
+
eventContextTags: this.props?.eventContextTags,
|
|
3807
|
+
waitEventContextTags: this.props?.waitEventContextTags,
|
|
3808
|
+
moduleFilterEnabled: moduleFilterEnabledForCapTagList,
|
|
3809
|
+
containerStyle: val.style || {},
|
|
3810
|
+
inputProps: val.inputProps || {},
|
|
3811
|
+
showInput: val.showInput !== false,
|
|
3812
|
+
showTagList: val.showTagList !== false,
|
|
3813
|
+
restrictPersonalization: this.props.restrictPersonalization,
|
|
3814
|
+
};
|
|
3691
3815
|
columns.push(
|
|
3692
3816
|
<CapColumn key={`input-${val.id}`} offset={val.offset} span={val.width ? val.width : ''} style={val.style ? val.style : {marginBottom: '16px'}}>
|
|
3693
|
-
|
|
3694
|
-
|
|
3695
|
-
|
|
3696
|
-
|
|
3697
|
-
|
|
3698
|
-
|
|
3699
|
-
|
|
3700
|
-
|
|
3701
|
-
|
|
3702
|
-
|
|
3703
|
-
|
|
3704
|
-
headingType="h4"
|
|
3705
|
-
onTagSelect={(data) => this.callChildEvent(data, val, 'onTagSelect')}
|
|
3706
|
-
onContextChange={this.props.onContextChange}
|
|
3707
|
-
location={this.props.location}
|
|
3708
|
-
tags={this.props.tags ? this.props.tags : []}
|
|
3709
|
-
injectedTags={this.props.injectedTags ? this.props.injectedTags : {}}
|
|
3710
|
-
className={val.className ? val.className : ''}
|
|
3711
|
-
userLocale={this.state.translationLang}
|
|
3712
|
-
selectedOfferDetails={this.props.selectedOfferDetails}
|
|
3713
|
-
eventContextTags={this.props?.eventContextTags}
|
|
3714
|
-
waitEventContextTags={this.props?.waitEventContextTags}
|
|
3715
|
-
moduleFilterEnabled={moduleFilterEnabledForCapTagList}
|
|
3716
|
-
containerStyle={val.style || {}}
|
|
3717
|
-
inputProps={val.inputProps || {}}
|
|
3718
|
-
showInput={val.showInput !== false}
|
|
3719
|
-
showTagList={val.showTagList !== false}
|
|
3720
|
-
restrictPersonalization={this.props.restrictPersonalization}
|
|
3721
|
-
/>
|
|
3817
|
+
{isEmailStandaloneSubject ? (
|
|
3818
|
+
<HighFreqTagInput
|
|
3819
|
+
{...tagListProps}
|
|
3820
|
+
onCommit={(newValue) => this.performFormDataUpdate(newValue, val)}
|
|
3821
|
+
/>
|
|
3822
|
+
) : (
|
|
3823
|
+
<CapTagListWithInput
|
|
3824
|
+
{...tagListProps}
|
|
3825
|
+
inputOnChange={(e) => this.updateFormData(e.target.value, val)}
|
|
3826
|
+
/>
|
|
3827
|
+
)}
|
|
3722
3828
|
</CapColumn>
|
|
3723
3829
|
);
|
|
3724
3830
|
}
|
|
@@ -4007,6 +4113,8 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
|
|
|
4007
4113
|
moduleFilterEnabled={isModuleFilterEnabled}
|
|
4008
4114
|
eventContextTags={this.props?.eventContextTags}
|
|
4009
4115
|
waitEventContextTags={this.props?.waitEventContextTags}
|
|
4116
|
+
isGetBeeData={this.props?.isGetBeeData}
|
|
4117
|
+
getBEEData={this.props?.getBEEData}
|
|
4010
4118
|
/>
|
|
4011
4119
|
</CapColumn>
|
|
4012
4120
|
);
|
|
@@ -4309,8 +4417,8 @@ FormBuilder.defaultProps = {
|
|
|
4309
4417
|
userLocale: localStorage.getItem('jlocale') || 'en',
|
|
4310
4418
|
showLiquidErrorInFooter: () => {},
|
|
4311
4419
|
metaDataStatus: "",
|
|
4312
|
-
isTestAndPreviewMode: false, // Default to false to maintain existing behavior
|
|
4313
4420
|
waitEventContextTags: {},
|
|
4421
|
+
isTestAndPreviewMode: false, // Default to false to maintain existing behavior
|
|
4314
4422
|
};
|
|
4315
4423
|
|
|
4316
4424
|
FormBuilder.propTypes = {
|
|
@@ -4358,16 +4466,13 @@ FormBuilder.propTypes = {
|
|
|
4358
4466
|
type: PropTypes.string.isRequired,
|
|
4359
4467
|
isEmailLoading: PropTypes.bool.isRequired,
|
|
4360
4468
|
moduleType: PropTypes.string.isRequired,
|
|
4361
|
-
showLiquidErrorInFooter: PropTypes.
|
|
4469
|
+
showLiquidErrorInFooter: PropTypes.bool.isRequired,
|
|
4362
4470
|
eventContextTags: PropTypes.array.isRequired,
|
|
4363
4471
|
waitEventContextTags: PropTypes.object,
|
|
4364
4472
|
forwardedTags: PropTypes.object.isRequired,
|
|
4365
4473
|
isLoyaltyModule: PropTypes.bool.isRequired,
|
|
4366
4474
|
isTestAndPreviewMode: PropTypes.bool, // Add new prop type
|
|
4367
4475
|
restrictPersonalization: PropTypes.bool,
|
|
4368
|
-
tagListGetPopupContainer: PropTypes.func,
|
|
4369
|
-
tagListPopoverOverlayStyle: PropTypes.object,
|
|
4370
|
-
tagListPopoverOverlayClassName: PropTypes.string,
|
|
4371
4476
|
};
|
|
4372
4477
|
|
|
4373
4478
|
const mapStateToProps = createStructuredSelector({
|
|
@@ -537,21 +537,20 @@
|
|
|
537
537
|
.unicode-disabled{
|
|
538
538
|
font-size: 16px;
|
|
539
539
|
}
|
|
540
|
-
position: absolute;
|
|
541
|
-
overflow: auto;
|
|
542
|
-
top: 0;
|
|
543
|
-
left: 17%;
|
|
544
|
-
white-space: pre-wrap;
|
|
545
|
-
word-break: break-word;
|
|
546
|
-
max-height: 100%;
|
|
547
|
-
line-height: 14px;
|
|
548
|
-
font-size: 10px;
|
|
549
|
-
font-family: 'open-sans';
|
|
550
|
-
|
|
551
540
|
&.sms {
|
|
541
|
+
max-height: 100%;
|
|
542
|
+
position: absolute;
|
|
552
543
|
// width: initial;
|
|
544
|
+
overflow: auto;
|
|
545
|
+
top: 0;
|
|
546
|
+
left: 17%;
|
|
547
|
+
white-space: pre-wrap;
|
|
548
|
+
word-break: break-word;
|
|
549
|
+
line-height: 14px;
|
|
553
550
|
padding: 0 8px 8px 8px;
|
|
551
|
+
font-size: 10px;
|
|
554
552
|
width: 100%;
|
|
553
|
+
font-family: 'open-sans';
|
|
555
554
|
.rcs-image{
|
|
556
555
|
width: 100%;
|
|
557
556
|
height: 123px;
|
|
@@ -583,12 +582,22 @@
|
|
|
583
582
|
&:not(.sms){
|
|
584
583
|
padding: 4px;
|
|
585
584
|
background: #3F51B5;
|
|
585
|
+
position: absolute;
|
|
586
586
|
// width: initial;
|
|
587
|
+
overflow: auto;
|
|
588
|
+
top: 0;
|
|
589
|
+
left: 17%;
|
|
590
|
+
white-space: pre-wrap;
|
|
591
|
+
word-break: break-word;
|
|
587
592
|
border-radius: 4px;
|
|
593
|
+
max-height: 100%;
|
|
588
594
|
color: #FFFFFF;
|
|
589
595
|
width: 70%;
|
|
590
596
|
min-height: 26px;
|
|
597
|
+
line-height: 14px;
|
|
591
598
|
padding: 8px;
|
|
599
|
+
font-size: 10px;
|
|
600
|
+
font-family: 'open-sans';
|
|
592
601
|
}
|
|
593
602
|
&.message-pop-carousel {
|
|
594
603
|
position: relative;
|
|
@@ -854,32 +863,6 @@
|
|
|
854
863
|
}
|
|
855
864
|
}
|
|
856
865
|
|
|
857
|
-
.shell-v2.rcs-preview {
|
|
858
|
-
// Collapse the default 8px margin so the divider renders as a clean hairline, not a white gap.
|
|
859
|
-
.whatsapp-divider {
|
|
860
|
-
margin: 0;
|
|
861
|
-
}
|
|
862
|
-
|
|
863
|
-
// Override `.message-pop:not(.sms)` (blue background) for RCS carousel cards.
|
|
864
|
-
.msg-container.sms {
|
|
865
|
-
.message-pop.sms {
|
|
866
|
-
.rcs-carousel-card {
|
|
867
|
-
background: $CAP_WHITE;
|
|
868
|
-
color: $CAP_G01;
|
|
869
|
-
width: 10.4rem;
|
|
870
|
-
left: 0;
|
|
871
|
-
flex-shrink: 0;
|
|
872
|
-
padding: $CAP_SPACE_04 0 $CAP_SPACE_08;
|
|
873
|
-
border-radius: 0.428rem;
|
|
874
|
-
|
|
875
|
-
.carousel-title {
|
|
876
|
-
font-weight: 700 !important;
|
|
877
|
-
}
|
|
878
|
-
}
|
|
879
|
-
}
|
|
880
|
-
}
|
|
881
|
-
}
|
|
882
|
-
|
|
883
866
|
.align-center {
|
|
884
867
|
text-align: center;
|
|
885
868
|
}
|
|
@@ -1050,7 +1033,9 @@
|
|
|
1050
1033
|
top: 0;
|
|
1051
1034
|
}
|
|
1052
1035
|
.video-icon {
|
|
1053
|
-
position:
|
|
1036
|
+
position: absolute;
|
|
1037
|
+
right: -17px;
|
|
1038
|
+
bottom: -17px;
|
|
1054
1039
|
}
|
|
1055
1040
|
|
|
1056
1041
|
.zalo-preview-container {
|