@capillarytech/creatives-library 6.0.0 → 6.0.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.
- package/assets/IPad.js +23 -0
- package/assets/index.js +1 -0
- package/components/FormBuilder/index.js +50 -9
- package/components/FormBuilder/messages.js +12 -0
- package/components/TemplatePreview/assets/images/HomeScreenAndroid.js +53 -0
- package/components/TemplatePreview/assets/images/SmsMobileAndroid.js +52 -0
- package/components/TemplatePreview/assets/images/SmsMobileIos.js +71 -0
- package/components/TemplatePreview/assets/images/UserIcon.js +24 -0
- package/components/TemplatePreview/assets/images/WechatMobileAndroid.js +53 -0
- package/package.json +1 -1
- package/v2Components/FormBuilder/index.js +50 -11
- package/v2Components/FormBuilder/messages.js +12 -0
- package/v2Components/TemplatePreview/assets/images/HomeScreenAndroid.js +53 -0
- package/v2Components/TemplatePreview/assets/images/SmsMobileAndroid.js +52 -0
- package/v2Components/TemplatePreview/assets/images/UserIcon.js +24 -0
- package/v2Components/TemplatePreview/assets/images/WECHAT_5x.png +0 -0
- package/v2Components/TemplatePreview/assets/images/WechatHomeScreenAndroid.js +74 -0
- package/v2Components/TemplatePreview/assets/images/WechatMobileAndroid.js +53 -0
- package/v2Containers/Assets/images/CalltaskIllustration.js +71 -0
- package/v2Containers/Assets/images/EmailIllustration.js +87 -0
- package/v2Containers/Assets/images/ImageGalleryIllustration.js +60 -0
- package/v2Containers/Assets/images/PushIllustration.js +60 -0
- package/v2Containers/Assets/images/SmsIllustration.js +191 -0
- package/v2Containers/Assets/images/WechatIllustration.js +90 -0
- package/v2Containers/Assets/images/index.js +6 -0
package/assets/IPad.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
|
|
3
|
+
function SvgIPad(props) {
|
|
4
|
+
return (
|
|
5
|
+
<svg
|
|
6
|
+
width="1em"
|
|
7
|
+
height="1em"
|
|
8
|
+
viewBox="0 0 407 574"
|
|
9
|
+
fill="currentColor"
|
|
10
|
+
{...props}
|
|
11
|
+
>
|
|
12
|
+
<image
|
|
13
|
+
width={407}
|
|
14
|
+
height={574}
|
|
15
|
+
xlinkHref="data:image/png;base64,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"
|
|
16
|
+
fill="none"
|
|
17
|
+
fillRule="evenodd"
|
|
18
|
+
/>
|
|
19
|
+
</svg>
|
|
20
|
+
);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export default SvgIPad;
|
package/assets/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as IPad } from './IPad'
|
|
@@ -27,6 +27,12 @@ import {updateCharCount, checkUnicode} from "../../utils/smsCharCountV2";
|
|
|
27
27
|
import messages from './messages';
|
|
28
28
|
const TabPane = Tabs.TabPane;
|
|
29
29
|
const {Column} = Table;
|
|
30
|
+
|
|
31
|
+
const errorMessageForTags = {
|
|
32
|
+
UNSUPPORTED_TAG_ERROR: 'unsupportedTagsError',
|
|
33
|
+
MISSING_TAG_ERROR: 'missingTagsError',
|
|
34
|
+
GENERIC_VALIDATION_ERROR: 'genericValidationError',
|
|
35
|
+
};
|
|
30
36
|
// import styled from 'styled-components';
|
|
31
37
|
|
|
32
38
|
// import { FormattedMessage } from 'react-intl';
|
|
@@ -437,8 +443,9 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
|
|
|
437
443
|
if (tagValidationResponse.valid) {
|
|
438
444
|
errorData[count][`sms-editor${index > 1 ? index : ''}`] = false;
|
|
439
445
|
} else {
|
|
440
|
-
|
|
441
|
-
|
|
446
|
+
const { MISSING_TAG_ERROR, UNSUPPORTED_TAG_ERROR, GENERIC_VALIDATION_ERROR } = errorMessageForTags;
|
|
447
|
+
const { missingTags, unsupportedTags} = tagValidationResponse;
|
|
448
|
+
errorData[count][`sms-editor${index > 1 ? index : ''}`] = missingTags && missingTags.length ? MISSING_TAG_ERROR : ( unsupportedTags && unsupportedTags.length ? UNSUPPORTED_TAG_ERROR : GENERIC_VALIDATION_ERROR);
|
|
442
449
|
isValid = false;
|
|
443
450
|
}
|
|
444
451
|
if(content !== '' && (ifUnicode && !unicodeCheck)) {
|
|
@@ -446,7 +453,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
|
|
|
446
453
|
isValid = false;
|
|
447
454
|
} else if (content === '') {
|
|
448
455
|
|
|
449
|
-
errorData[count][`sms-editor${index > 1 ? index : ''}`] =
|
|
456
|
+
errorData[count][`sms-editor${index > 1 ? index : ''}`] = errorMessageForTags.GENERIC_VALIDATION_ERROR;
|
|
450
457
|
isValid = false;
|
|
451
458
|
} else {
|
|
452
459
|
errorData[count][`unicode-validity${index > 1 ? index : ''}`] = false;
|
|
@@ -2118,6 +2125,18 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
|
|
|
2118
2125
|
});
|
|
2119
2126
|
}
|
|
2120
2127
|
|
|
2128
|
+
getMissingTagsName = (content = '') => {
|
|
2129
|
+
const tagValidationResponse = this.validateTags(content);
|
|
2130
|
+
const errorString = tagValidationResponse.missingTags.join(', ').toString();
|
|
2131
|
+
return errorString;
|
|
2132
|
+
};
|
|
2133
|
+
|
|
2134
|
+
getUnsupportedTagsName = (content = '') => {
|
|
2135
|
+
const tagValidationResponse = this.validateTags(content);
|
|
2136
|
+
const errorString = tagValidationResponse.unsupportedTags.join(', ').toString();
|
|
2137
|
+
return errorString;
|
|
2138
|
+
};
|
|
2139
|
+
|
|
2121
2140
|
renderColLabelSection(section, childIndex) {
|
|
2122
2141
|
// const schema = this.props.schema
|
|
2123
2142
|
const fields = [];
|
|
@@ -2195,18 +2214,29 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
|
|
|
2195
2214
|
break;
|
|
2196
2215
|
case "textarea":
|
|
2197
2216
|
ifError = this.state.checkValidation && (isVersionEnable ? this.state.errorData[`${this.state.currentTab - 1}`][val.id] : this.state.errorData[val.id]);
|
|
2217
|
+
const messageContent = isVersionEnable ? this.state.formData[`${this.state.currentTab - 1}`][val.id] : this.state.formData[val.id];
|
|
2218
|
+
const errorType = (isVersionEnable ? this.state.errorData[`${this.state.currentTab - 1}`][val.id] : this.state.errorData[val.id]);
|
|
2219
|
+
const { MISSING_TAG_ERROR, UNSUPPORTED_TAG_ERROR } = errorMessageForTags;
|
|
2220
|
+
let errorMessage = false;
|
|
2221
|
+
if (errorType && errorType === MISSING_TAG_ERROR) {
|
|
2222
|
+
errorMessage = this.props.intl.formatMessage(messages.missingTagsValidationError, {missingTags: this.getMissingTagsName(messageContent)});
|
|
2223
|
+
} else if (errorType && errorType === UNSUPPORTED_TAG_ERROR) {
|
|
2224
|
+
errorMessage = this.props.intl.formatMessage(messages.unsupportedTagsValidationError, {unsupportedTags: this.getUnsupportedTagsName(messageContent)});
|
|
2225
|
+
} else if (errorType) {
|
|
2226
|
+
errorMessage = this.props.intl.formatMessage(messages.genericTagsValidationError);
|
|
2227
|
+
}
|
|
2198
2228
|
if (styling === 'semantic') {
|
|
2199
2229
|
columns.push(
|
|
2200
2230
|
<Col key="input" span={val.width}>
|
|
2201
2231
|
<CapTextArea
|
|
2202
2232
|
id={val.id}
|
|
2203
2233
|
className={`${ifError ? 'error' : ''}`}
|
|
2204
|
-
errorMessage={
|
|
2234
|
+
errorMessage={errorMessage}
|
|
2205
2235
|
autosize={val.autosize ? val.autosizeParams : false}
|
|
2206
2236
|
onChange={(e) => this.updateFormData(e.target.value, val)}
|
|
2207
2237
|
style={val.style ? val.style : {}}
|
|
2208
|
-
defaultValue={
|
|
2209
|
-
value={
|
|
2238
|
+
defaultValue={messageContent}
|
|
2239
|
+
value={messageContent}
|
|
2210
2240
|
rows={20}
|
|
2211
2241
|
disabled={val.disabled}
|
|
2212
2242
|
cols={20}
|
|
@@ -2552,6 +2582,17 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
|
|
|
2552
2582
|
break;
|
|
2553
2583
|
case "textarea":
|
|
2554
2584
|
ifError = this.state.checkValidation && (isVersionEnable ? this.state.errorData[`${this.state.currentTab - 1}`][val.id] : this.state.errorData[val.id]);
|
|
2585
|
+
const errorType = (isVersionEnable ? this.state.errorData[`${this.state.currentTab - 1}`][val.id] : this.state.errorData[val.id]);
|
|
2586
|
+
const messageContent = isVersionEnable ? this.state.formData[`${this.state.currentTab - 1}`][val.id] : this.state.formData[val.id];
|
|
2587
|
+
const { MISSING_TAG_ERROR, UNSUPPORTED_TAG_ERROR } = errorMessageForTags;
|
|
2588
|
+
let errorMessage = false;
|
|
2589
|
+
if (errorType && errorType === MISSING_TAG_ERROR) {
|
|
2590
|
+
errorMessage = this.props.intl.formatMessage(messages.missingTagsValidationError, {missingTags: this.getMissingTagsName(messageContent)});
|
|
2591
|
+
} else if (errorType && errorType === UNSUPPORTED_TAG_ERROR) {
|
|
2592
|
+
errorMessage = this.props.intl.formatMessage(messages.unsupportedTagsValidationError, {unsupportedTags: this.getUnsupportedTagsName(messageContent)});
|
|
2593
|
+
} else if (errorType) {
|
|
2594
|
+
errorMessage = this.props.intl.formatMessage(messages.genericTagsValidationError);
|
|
2595
|
+
}
|
|
2555
2596
|
if (styling === 'semantic') {
|
|
2556
2597
|
columns.push(
|
|
2557
2598
|
<Col key="input" span={val.width} offset={val.offset}>
|
|
@@ -2560,12 +2601,12 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
|
|
|
2560
2601
|
placeholder={val.placeholder ? val.placeholder : ''}
|
|
2561
2602
|
disabled={val.disabled}
|
|
2562
2603
|
className={`${ifError ? 'error' : ''}`}
|
|
2563
|
-
errorMessage={
|
|
2604
|
+
errorMessage={errorMessage}
|
|
2564
2605
|
autosize={val.autosize ? val.autosizeParams : false}
|
|
2565
2606
|
onChange={(e) => this.updateFormData(e.target.value, val)}
|
|
2566
2607
|
style={val.style ? val.style : {}}
|
|
2567
|
-
defaultValue={
|
|
2568
|
-
value={
|
|
2608
|
+
defaultValue={messageContent || ''}
|
|
2609
|
+
value={messageContent || ''}
|
|
2569
2610
|
rows={10}
|
|
2570
2611
|
cols={2}
|
|
2571
2612
|
/>
|
|
@@ -22,6 +22,18 @@ export default defineMessages({
|
|
|
22
22
|
id: 'creatives.components.FormBuilder.unsupportedTags',
|
|
23
23
|
defaultMessage: 'Unsupported tags are:',
|
|
24
24
|
},
|
|
25
|
+
missingTagsValidationError: {
|
|
26
|
+
id: 'creatives.components.FormBuilder.missingTagsValidationError',
|
|
27
|
+
defaultMessage: 'Missing tags: {missingTags}. Please add them to this message.',
|
|
28
|
+
},
|
|
29
|
+
unsupportedTagsValidationError: {
|
|
30
|
+
id: 'creatives.components.FormBuilder.unsupportedTagsValidationError',
|
|
31
|
+
defaultMessage: 'Unsupported tags: {unsupportedTags}. Please remove them from this message.',
|
|
32
|
+
},
|
|
33
|
+
genericTagsValidationError: {
|
|
34
|
+
id: 'creatives.components.FormBuilder.genericTagsValidationError',
|
|
35
|
+
defaultMessage: 'Please check the message content for unsupported/missing tags',
|
|
36
|
+
},
|
|
25
37
|
layoutSelection: {
|
|
26
38
|
id: 'creatives.components.FormBuilder.layoutSelection',
|
|
27
39
|
defaultMessage: 'Layout Selection',
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
|
|
3
|
+
function SvgHomeScreenAndroid(props) {
|
|
4
|
+
return (
|
|
5
|
+
<svg
|
|
6
|
+
width="1em"
|
|
7
|
+
height="1em"
|
|
8
|
+
viewBox="0 0 220 472"
|
|
9
|
+
fill="currentColor"
|
|
10
|
+
{...props}
|
|
11
|
+
>
|
|
12
|
+
<g fill="none" fillRule="evenodd">
|
|
13
|
+
<rect width={220} height={472} fill="#101211" rx={26} />
|
|
14
|
+
<rect width={52} height={5} x={84} y={14} fill="#2E2E2E" rx={2.5} />
|
|
15
|
+
<rect width={52} height={5} x={84} y={455} fill="#2E2E2E" rx={2.5} />
|
|
16
|
+
<circle cx={45.5} cy={19.5} r={5.5} fill="#2E2E2E" />
|
|
17
|
+
<circle cx={65.5} cy={19.5} r={3.5} fill="#2E2E2E" />
|
|
18
|
+
<rect width={202} height={404} x={9} y={36} fill="#E51FA3" rx={9} />
|
|
19
|
+
<path
|
|
20
|
+
fill="#F4F5F7"
|
|
21
|
+
d="M20.692 152h178.616c2.675 0 3.645.278 4.623.801a5.456 5.456 0 012.268 2.268c.523.978.801 1.948.801 4.623v78.616c0 2.675-.278 3.645-.801 4.623a5.456 5.456 0 01-2.268 2.268c-.978.523-1.948.801-4.623.801H20.692c-2.675 0-3.645-.278-4.623-.801a5.456 5.456 0 01-2.268-2.268c-.523-.978-.801-1.948-.801-4.623v-78.616c0-2.675.278-3.645.801-4.623a5.456 5.456 0 012.268-2.268c.978-.523 1.948-.801 4.623-.801z"
|
|
22
|
+
/>
|
|
23
|
+
<text fill="#5E5E5E" fontFamily="Roboto-Regular, Roboto" fontSize={10}>
|
|
24
|
+
<tspan x={25} y={169}>
|
|
25
|
+
{"Messages"}
|
|
26
|
+
</tspan>
|
|
27
|
+
</text>
|
|
28
|
+
<text fill="#5E5E5E" fontFamily="Roboto-Regular, Roboto" fontSize={10}>
|
|
29
|
+
<tspan x={85.146} y={169}>
|
|
30
|
+
{"now"}
|
|
31
|
+
</tspan>
|
|
32
|
+
</text>
|
|
33
|
+
<circle cx={78} cy={167} r={1} fill="#5E5E5E" fillRule="nonzero" />
|
|
34
|
+
<path
|
|
35
|
+
fill="#5E5E5E"
|
|
36
|
+
d="M116.725 163.048l-3.301 3.294-3.301-3.294-1.014 1.014 4.315 4.315 4.315-4.315z"
|
|
37
|
+
/>
|
|
38
|
+
<path
|
|
39
|
+
fill="#FFF"
|
|
40
|
+
fillOpacity={0.6}
|
|
41
|
+
d="M113.75 419.333h-.625v-1.238c0-1.708-1.4-3.095-3.125-3.095s-3.125 1.387-3.125 3.095v1.238h-.625c-.688 0-1.25.557-1.25 1.238v6.19c0 .682.563 1.239 1.25 1.239h7.5c.688 0 1.25-.557 1.25-1.238v-6.19c0-.682-.563-1.239-1.25-1.239zM110 425c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm2-6h-4v-1.176c0-1.006.897-1.824 2-1.824s2 .818 2 1.824V419z"
|
|
42
|
+
/>
|
|
43
|
+
<path
|
|
44
|
+
fill="#FFF"
|
|
45
|
+
fillRule="nonzero"
|
|
46
|
+
d="M86.325 111.884l6.192-8.676-.072-.072c-.84.576-1.908.864-3.204.864-1.248 0-2.472-.348-3.672-1.044a8.22 8.22 0 01-2.916-2.862c-.744-1.212-1.116-2.562-1.116-4.05 0-1.44.378-2.79 1.134-4.05a8.74 8.74 0 013.06-3.042 8.023 8.023 0 014.194-1.152c1.632 0 3.09.396 4.374 1.188 1.284.792 2.28 1.818 2.988 3.078.708 1.26 1.062 2.586 1.062 3.978 0 1.32-.27 2.586-.81 3.798-.54 1.212-1.314 2.562-2.322 4.05l-6.444 9.684-2.448-1.692zm3.6-10.62a5.36 5.36 0 002.682-.702 5.254 5.254 0 001.962-1.908c.48-.804.72-1.686.72-2.646 0-.984-.24-1.878-.72-2.682s-1.134-1.44-1.962-1.908c-.828-.468-1.722-.702-2.682-.702s-1.848.234-2.664.702a5.294 5.294 0 00-1.944 1.908c-.48.804-.72 1.698-.72 2.682 0 .96.24 1.842.72 2.646a5.294 5.294 0 001.944 1.908 5.263 5.263 0 002.664.702zm13.806-2.232c-.648 0-1.194-.222-1.638-.666-.444-.444-.666-.99-.666-1.638 0-.648.222-1.194.666-1.638.444-.444.99-.666 1.638-.666.624 0 1.158.222 1.602.666.444.444.666.99.666 1.638 0 .648-.222 1.194-.666 1.638a2.184 2.184 0 01-1.602.666zm0 14.184c-.648 0-1.194-.222-1.638-.666-.444-.444-.666-.99-.666-1.638 0-.624.222-1.158.666-1.602.444-.444.99-.666 1.638-.666.624 0 1.158.222 1.602.666.444.444.666.978.666 1.602 0 .648-.222 1.194-.666 1.638a2.184 2.184 0 01-1.602.666zm17.191-5.508h-11.808v-2.304l11.52-17.028h3.312v16.452h3.168v2.88h-3.168V113h-3.024v-5.292zm0-2.88V92.84h-.144l-8.172 11.988h8.316zm14.527-12.168l-4.32 3.096-1.584-2.34 7.02-5.04h1.944V113h-3.06V92.66zm-45.272 41.5c-.56 0-1.074-.17-1.54-.51-.467-.34-.787-.817-.96-1.43l.81-.33c.113.427.323.777.63 1.05.306.273.666.41 1.08.41.413 0 .763-.112 1.05-.335.286-.223.43-.528.43-.915 0-.333-.122-.608-.365-.825-.244-.217-.642-.418-1.195-.605l-.45-.16c-.507-.18-.92-.417-1.24-.71-.32-.293-.48-.7-.48-1.22 0-.34.093-.655.28-.945.186-.29.446-.522.78-.695.333-.173.706-.26 1.12-.26.413 0 .773.077 1.08.23.306.153.551.34.735.56.183.22.311.437.385.65l-.8.34c-.067-.247-.219-.47-.455-.67-.237-.2-.549-.3-.935-.3-.367 0-.68.103-.94.31a.958.958 0 00-.39.78c0 .28.11.508.33.685.22.177.553.342 1 .495l.47.16c.606.22 1.08.495 1.42.825.34.33.51.778.51 1.345 0 .46-.119.847-.355 1.16a2.1 2.1 0 01-.895.69c-.36.147-.73.22-1.11.22zm4.995 0c-.614 0-1.082-.18-1.405-.54-.324-.36-.485-.863-.485-1.51v-3.21h.85v3.08c0 .487.11.843.33 1.07.22.227.516.34.89.34.286 0 .541-.077.765-.23.223-.153.396-.353.52-.6.123-.247.185-.507.185-.78v-2.88h.85v5.1h-.81v-.74h-.04c-.14.253-.364.467-.67.64-.307.173-.634.26-.98.26zm3.615-5.26h.81v.75h.04c.14-.253.363-.468.67-.645.307-.177.633-.265.98-.265.613 0 1.082.178 1.405.535.323.357.485.842.485 1.455V134h-.85v-3.14c0-.473-.113-.817-.34-1.03-.227-.213-.537-.32-.93-.32-.273 0-.518.077-.735.23-.217.153-.385.355-.505.605s-.18.512-.18.785V134h-.85v-5.1zm8.88 5.26c-.526 0-.986-.145-1.38-.435-.393-.29-.67-.698-.83-1.225l.8-.33c.24.787.71 1.18 1.41 1.18.394 0 .709-.137.945-.41.237-.273.355-.633.355-1.08v-5.02h.85v4.95c0 .5-.091.928-.275 1.285a1.894 1.894 0 01-.76.81 2.224 2.224 0 01-1.115.275zm5.065 0c-.613 0-1.081-.18-1.405-.54-.323-.36-.485-.863-.485-1.51v-3.21h.85v3.08c0 .487.11.843.33 1.07.22.227.517.34.89.34.287 0 .542-.077.765-.23a1.55 1.55 0 00.52-.6c.124-.247.185-.507.185-.78v-2.88h.85v5.1h-.81v-.74h-.04c-.14.253-.363.467-.67.64-.306.173-.633.26-.98.26zm3.616-7.32h.85V134h-.85v-7.16zm2.525 7.22a.62.62 0 01-.455-.185.615.615 0 01-.185-.455c0-.173.061-.322.185-.445a.62.62 0 01.455-.185.61.61 0 01.445.185.608.608 0 01.185.445.62.62 0 01-.185.455.61.61 0 01-.445.185zm3.67-.91c.207-.207.617-.622 1.23-1.245a67.293 67.293 0 001.28-1.325c.34-.367.57-.653.69-.86.12-.207.18-.457.18-.75 0-.2-.052-.388-.155-.565a1.16 1.16 0 00-.45-.43 1.424 1.424 0 00-.705-.165c-.36 0-.648.105-.865.315-.217.21-.358.438-.425.685l-.78-.31a2.246 2.246 0 011.06-1.255c.293-.163.64-.245 1.04-.245.42 0 .792.09 1.115.27.323.18.575.42.755.72.18.3.27.623.27.97 0 .7-.367 1.423-1.1 2.17l-2.05 2.06h3.23v.81h-4.32v-.85zm6.435.54l1.72-2.41-.02-.02c-.233.16-.53.24-.89.24-.346 0-.686-.097-1.02-.29a2.283 2.283 0 01-.81-.795 2.115 2.115 0 01-.31-1.125c0-.4.105-.775.315-1.125.21-.35.494-.632.85-.845.357-.213.745-.32 1.165-.32.454 0 .859.11 1.215.33.357.22.634.505.83.855.197.35.295.718.295 1.105 0 .367-.075.718-.225 1.055-.15.337-.365.712-.645 1.125l-1.79 2.69-.68-.47zm1-2.95c.267 0 .515-.065.745-.195.23-.13.412-.307.545-.53a1.4 1.4 0 00.2-.735 1.42 1.42 0 00-.2-.745 1.46 1.46 0 00-.545-.53 1.488 1.488 0 00-.745-.195 1.483 1.483 0 00-1.28.725c-.133.223-.2.472-.2.745 0 .267.067.512.2.735a1.483 1.483 0 001.28.725z"
|
|
47
|
+
/>
|
|
48
|
+
</g>
|
|
49
|
+
</svg>
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export default SvgHomeScreenAndroid;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
|
|
3
|
+
function SvgSmsMobileAndroid(props) {
|
|
4
|
+
return (
|
|
5
|
+
<svg
|
|
6
|
+
width="1em"
|
|
7
|
+
height="1em"
|
|
8
|
+
viewBox="0 0 220 472"
|
|
9
|
+
fill="currentColor"
|
|
10
|
+
{...props}
|
|
11
|
+
>
|
|
12
|
+
<g fill="none" fillRule="evenodd">
|
|
13
|
+
<rect width={220} height={472} fill="#101211" rx={26} />
|
|
14
|
+
<rect width={202} height={404} x={9} y={36} fill="#F4F5F7" rx={9} />
|
|
15
|
+
<rect width={182} height={136} x={19} y={92} fill="#F4F5F7" rx={17.5} />
|
|
16
|
+
<path fill="#CF0E8F" d="M18 36h184a9 9 0 019 9v6H9v-6a9 9 0 019-9z" />
|
|
17
|
+
<path
|
|
18
|
+
fill="#FFF"
|
|
19
|
+
d="M9 404h202v28.5a7.5 7.5 0 01-7.5 7.5h-187a7.5 7.5 0 01-7.5-7.5V404z"
|
|
20
|
+
/>
|
|
21
|
+
<path fill="#E51FA3" d="M9 82h202V51H9z" />
|
|
22
|
+
<rect width={52} height={5} x={84} y={14} fill="#2E2E2E" rx={2.5} />
|
|
23
|
+
<rect width={52} height={5} x={84} y={455} fill="#2E2E2E" rx={2.5} />
|
|
24
|
+
<circle cx={45.5} cy={19.5} r={5.5} fill="#2E2E2E" />
|
|
25
|
+
<circle cx={65.5} cy={19.5} r={3.5} fill="#2E2E2E" />
|
|
26
|
+
<text
|
|
27
|
+
fill="#FFF"
|
|
28
|
+
fontFamily="Roboto-Regular, Roboto"
|
|
29
|
+
fontSize={12}
|
|
30
|
+
letterSpacing={0.175}
|
|
31
|
+
>
|
|
32
|
+
<tspan x={49.5} y={71}>
|
|
33
|
+
{"Sender ID"}
|
|
34
|
+
</tspan>
|
|
35
|
+
</text>
|
|
36
|
+
<circle cx={199} cy={63} r={1} fill="#FFF" />
|
|
37
|
+
<circle cx={199} cy={70} r={1} fill="#FFF" />
|
|
38
|
+
<circle cx={199} cy={66.5} r={1} fill="#FFF" />
|
|
39
|
+
<path
|
|
40
|
+
fill="#FFF"
|
|
41
|
+
d="M28 66a.505.505 0 01-.505.505h-5.556l2.42 2.42a.506.506 0 11-.718.716l-2.934-2.934a1 1 0 010-1.414l2.934-2.934a.508.508 0 01.718.717l-2.42 2.419h5.556c.279 0 .505.226.505.505z"
|
|
42
|
+
/>
|
|
43
|
+
<path
|
|
44
|
+
fill="#B3BAC5"
|
|
45
|
+
d="M189.006 427.286L201 422.143 189.006 417l-.006 4 8.571 1.143-8.571 1.143z"
|
|
46
|
+
/>
|
|
47
|
+
</g>
|
|
48
|
+
</svg>
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export default SvgSmsMobileAndroid;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
|
|
3
|
+
function SvgSmsMobileIos(props) {
|
|
4
|
+
return (
|
|
5
|
+
<svg
|
|
6
|
+
width="1em"
|
|
7
|
+
height="1em"
|
|
8
|
+
viewBox="0 0 220 472"
|
|
9
|
+
fill="currentColor"
|
|
10
|
+
{...props}
|
|
11
|
+
>
|
|
12
|
+
<g fill="none" fillRule="evenodd">
|
|
13
|
+
<rect width={220} height={472} fill="#101211" rx={32} />
|
|
14
|
+
<path
|
|
15
|
+
fill="#FFF"
|
|
16
|
+
d="M55.965 11v3c0 7.18 5.82 13 13 13h82.07c7.18 0 13-5.82 13-13v-3h23.316c12.702 0 23 10.297 23 23v405c0 12.703-10.298 23-23 23H32.649c-12.702 0-23-10.297-23-23V34c0-12.703 10.298-23 23-23h23.316z"
|
|
17
|
+
/>
|
|
18
|
+
<rect
|
|
19
|
+
width={181.404}
|
|
20
|
+
height={136}
|
|
21
|
+
x={19.298}
|
|
22
|
+
y={88}
|
|
23
|
+
fill="#FFF"
|
|
24
|
+
rx={17.5}
|
|
25
|
+
/>
|
|
26
|
+
<path
|
|
27
|
+
fill="#F8F8F8"
|
|
28
|
+
d="M55.965 11v3c0 7.18 5.82 13 13 13h82.07c7.18 0 13-5.82 13-13v-3h23.316c12.702 0 23 10.297 23 23v43.092H9.649V34c0-12.703 10.298-23 23-23h23.316z"
|
|
29
|
+
/>
|
|
30
|
+
<rect
|
|
31
|
+
width={176}
|
|
32
|
+
height={20}
|
|
33
|
+
x={22}
|
|
34
|
+
y={421.072}
|
|
35
|
+
fill="#FAFAFA"
|
|
36
|
+
stroke="#C8C7CC"
|
|
37
|
+
strokeWidth={0.5}
|
|
38
|
+
rx={10}
|
|
39
|
+
/>
|
|
40
|
+
<path
|
|
41
|
+
fill="#2E2E2E"
|
|
42
|
+
fillRule="nonzero"
|
|
43
|
+
d="M76.566 455h66.868c.695 0 1.303.467 1.303 1 0 .533-.608 1-1.303 1H76.566c-.695 0-1.303-.467-1.303-1 0-.533.608-1 1.303-1z"
|
|
44
|
+
opacity={0.4}
|
|
45
|
+
/>
|
|
46
|
+
<path fill="#E0E0E0" d="M9.649 77h200.702v1H9.649z" />
|
|
47
|
+
<path
|
|
48
|
+
fill="#007AFF"
|
|
49
|
+
d="M19.769 59.041l-4.623-4.568a.487.487 0 010-.696l4.623-4.568a.726.726 0 011.02 0 .708.708 0 010 1.008l-3.954 3.908 3.954 3.908a.708.708 0 010 1.008.726.726 0 01-1.02 0M193.947 60a6 6 0 110-12 6 6 0 010 12zm0-.818a5.182 5.182 0 100-10.364 5.182 5.182 0 000 10.364zm-.125-7.473a.626.626 0 11-.002-1.252.626.626 0 01.002 1.252zm-.878 5.018v-.25h.502v-3.764h-.502v-.251h1.505v4.014h.502v.251h-2.007z"
|
|
50
|
+
/>
|
|
51
|
+
<text
|
|
52
|
+
fill="#0A0A0A"
|
|
53
|
+
fontFamily="Roboto-Regular, Roboto"
|
|
54
|
+
fontSize={7}
|
|
55
|
+
letterSpacing={-0.169}
|
|
56
|
+
>
|
|
57
|
+
<tspan x={96.491} y={70}>
|
|
58
|
+
{"Sender ID"}
|
|
59
|
+
</tspan>
|
|
60
|
+
</text>
|
|
61
|
+
<path
|
|
62
|
+
fill="#959BA9"
|
|
63
|
+
fillRule="nonzero"
|
|
64
|
+
d="M104.33 58.425c1.611-1.204 4.06-1.394 4.563-2.793.062-.709.038-1.204.038-1.852-.31-.169-.888-1.244-.981-2.15-.244-.021-.628-.268-.74-1.24-.061-.523.18-.817.327-.91-.824-3.286-.371-6.156 3.388-6.228.94 0 1.663.26 1.945.774 2.743.395 1.92 4.219 1.523 5.455.147.092.388.386.328.908-.113.973-.497 1.22-.74 1.24-.095.908-.65 1.982-.96 2.15 0 .649-.024 1.144.038 1.853.502 1.399 2.94 1.589 4.543 2.791 1.924-1.848 3.128-4.49 3.128-7.423 0-5.59-4.372-10.12-9.765-10.12-5.393 0-9.765 4.53-9.765 10.12 0 2.934 1.205 5.577 3.13 7.425zM110.965 62c-5.862 0-10.614-4.925-10.614-11s4.752-11 10.614-11c5.862 0 10.614 4.925 10.614 11s-4.752 11-10.614 11z"
|
|
65
|
+
/>
|
|
66
|
+
</g>
|
|
67
|
+
</svg>
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export default SvgSmsMobileIos;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
|
|
3
|
+
function SvgUserIcon(props) {
|
|
4
|
+
return (
|
|
5
|
+
<svg
|
|
6
|
+
width="1em"
|
|
7
|
+
height="1em"
|
|
8
|
+
viewBox="0 0 22 22"
|
|
9
|
+
fill="currentColor"
|
|
10
|
+
{...props}
|
|
11
|
+
>
|
|
12
|
+
<g fill="none" fillRule="evenodd">
|
|
13
|
+
<path
|
|
14
|
+
d="M11.069.724A10.342 10.342 0 00.724 11.07c0 5.715 4.63 10.345 10.345 10.345 5.715 0 10.345-4.63 10.345-10.345 0-5.716-4.63-10.345-10.345-10.345zm0 3.104a3.103 3.103 0 11.002 6.209 3.103 3.103 0 01-.002-6.21zm0 14.69a7.449 7.449 0 01-6.207-3.332C4.888 13.133 9.005 12 11.07 12s6.176 1.133 6.207 3.186a7.449 7.449 0 01-6.207 3.331z"
|
|
15
|
+
fill="#3F51B5"
|
|
16
|
+
fillRule="nonzero"
|
|
17
|
+
/>
|
|
18
|
+
<path d="M-1-1h25v25H-1z" />
|
|
19
|
+
</g>
|
|
20
|
+
</svg>
|
|
21
|
+
);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export default SvgUserIcon;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
|
|
3
|
+
function SvgWechatMobileAndroid(props) {
|
|
4
|
+
return (
|
|
5
|
+
<svg
|
|
6
|
+
width="1em"
|
|
7
|
+
height="1em"
|
|
8
|
+
viewBox="0 0 220 472"
|
|
9
|
+
fill="currentColor"
|
|
10
|
+
{...props}
|
|
11
|
+
>
|
|
12
|
+
<g fill="none" fillRule="evenodd">
|
|
13
|
+
<rect width={220} height={472} fill="#101211" rx={26} />
|
|
14
|
+
<rect width={202} height={404} x={9} y={36} fill="#F4F5F7" rx={9} />
|
|
15
|
+
<rect
|
|
16
|
+
width={182}
|
|
17
|
+
height={136}
|
|
18
|
+
x={19}
|
|
19
|
+
y={112}
|
|
20
|
+
fill="#F4F5F7"
|
|
21
|
+
rx={17.5}
|
|
22
|
+
/>
|
|
23
|
+
<path
|
|
24
|
+
fill="#F4F5F7"
|
|
25
|
+
d="M18 36h184a9 9 0 019 9v6H9v-6a9 9 0 019-9zM9 82h202V51H9z"
|
|
26
|
+
/>
|
|
27
|
+
<rect width={52} height={5} x={84} y={14} fill="#2E2E2E" rx={2.5} />
|
|
28
|
+
<rect width={52} height={5} x={84} y={455} fill="#2E2E2E" rx={2.5} />
|
|
29
|
+
<circle cx={45.5} cy={19.5} r={5.5} fill="#2E2E2E" />
|
|
30
|
+
<circle cx={65.5} cy={19.5} r={3.5} fill="#2E2E2E" />
|
|
31
|
+
<text
|
|
32
|
+
fill="#000"
|
|
33
|
+
fontFamily="Roboto-Regular, Roboto"
|
|
34
|
+
fontSize={12}
|
|
35
|
+
letterSpacing={0.175}
|
|
36
|
+
>
|
|
37
|
+
<tspan x={49.5} y={71}>
|
|
38
|
+
{"Muji India"}
|
|
39
|
+
</tspan>
|
|
40
|
+
</text>
|
|
41
|
+
<circle cx={199} cy={63} r={1} fill="#000" />
|
|
42
|
+
<circle cx={199} cy={70} r={1} fill="#000" />
|
|
43
|
+
<circle cx={199} cy={66.5} r={1} fill="#000" />
|
|
44
|
+
<path
|
|
45
|
+
fill="#000"
|
|
46
|
+
d="M28 66a.505.505 0 01-.505.505h-5.556l2.42 2.42a.506.506 0 11-.718.716l-2.934-2.934a1 1 0 010-1.414l2.934-2.934a.508.508 0 01.718.717l-2.42 2.419h5.556c.279 0 .505.226.505.505z"
|
|
47
|
+
/>
|
|
48
|
+
</g>
|
|
49
|
+
</svg>
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export default SvgWechatMobileAndroid;
|
package/package.json
CHANGED
|
@@ -32,6 +32,12 @@ const {TextArea} = CapInput;
|
|
|
32
32
|
const {CapRadioGroup} = CapRadio;
|
|
33
33
|
// import styled from 'styled-components';
|
|
34
34
|
|
|
35
|
+
const errorMessageForTags = {
|
|
36
|
+
UNSUPPORTED_TAG_ERROR: 'unsupportedTagsError',
|
|
37
|
+
MISSING_TAG_ERROR: 'missingTagsError',
|
|
38
|
+
GENERIC_VALIDATION_ERROR: 'genericValidationError',
|
|
39
|
+
};
|
|
40
|
+
|
|
35
41
|
const isUrl = (str) => {
|
|
36
42
|
// eslint-disable-next-line no-useless-escape
|
|
37
43
|
const res = str.match(/(http(s)?:\/\/.)(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/g);
|
|
@@ -468,15 +474,16 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
|
|
|
468
474
|
errorData[count][`sms-editor${index > 1 ? index : ''}`] = false;
|
|
469
475
|
} else {
|
|
470
476
|
errorData[count]['invalid-tags'] = tagValidationResponse.unsupportedTags;
|
|
471
|
-
|
|
477
|
+
const { MISSING_TAG_ERROR, UNSUPPORTED_TAG_ERROR, GENERIC_VALIDATION_ERROR } = errorMessageForTags;
|
|
478
|
+
const { missingTags, unsupportedTags} = tagValidationResponse;
|
|
479
|
+
errorData[count][`sms-editor${index > 1 ? index : ''}`] = missingTags && missingTags.length ? MISSING_TAG_ERROR : ( unsupportedTags && unsupportedTags.length ? UNSUPPORTED_TAG_ERROR : GENERIC_VALIDATION_ERROR);
|
|
472
480
|
isValid = false;
|
|
473
481
|
}
|
|
474
482
|
if(content !== '' && (ifUnicode && !unicodeCheck)) {
|
|
475
483
|
errorData[count][`unicode-validity${index > 1 ? index : ''}`] = true;
|
|
476
484
|
isValid = false;
|
|
477
485
|
} else if (content === '') {
|
|
478
|
-
|
|
479
|
-
errorData[count][`sms-editor${index > 1 ? index : ''}`] = true;
|
|
486
|
+
errorData[count][`sms-editor${index > 1 ? index : ''}`] = errorMessageForTags.GENERIC_VALIDATION_ERROR;
|
|
480
487
|
isValid = false;
|
|
481
488
|
} else {
|
|
482
489
|
errorData[count][`unicode-validity${index > 1 ? index : ''}`] = false;
|
|
@@ -2231,6 +2238,18 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
|
|
|
2231
2238
|
});
|
|
2232
2239
|
}
|
|
2233
2240
|
|
|
2241
|
+
getMissingTagsName = (content = '') => {
|
|
2242
|
+
const tagValidationResponse = this.validateTags(content);
|
|
2243
|
+
const errorString = tagValidationResponse.missingTags.join(', ').toString();
|
|
2244
|
+
return errorString;
|
|
2245
|
+
};
|
|
2246
|
+
|
|
2247
|
+
getUnsupportedTagsName = (content = '') => {
|
|
2248
|
+
const tagValidationResponse = this.validateTags(content);
|
|
2249
|
+
const errorString = tagValidationResponse.unsupportedTags.join(', ').toString();
|
|
2250
|
+
return errorString;
|
|
2251
|
+
};
|
|
2252
|
+
|
|
2234
2253
|
renderColLabelSection(section, childIndex) {
|
|
2235
2254
|
// const schema = this.props.schema
|
|
2236
2255
|
const fields = [];
|
|
@@ -2293,20 +2312,30 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
|
|
|
2293
2312
|
break;
|
|
2294
2313
|
case "textarea":
|
|
2295
2314
|
ifError = this.state.checkValidation && (isVersionEnable ? this.state.errorData[`${this.state.currentTab - 1}`][val.id] : this.state.errorData[val.id]);
|
|
2296
|
-
const
|
|
2315
|
+
const messageContent = isVersionEnable ? this.state.formData[`${this.state.currentTab - 1}`][val.id] : this.state.formData[val.id];
|
|
2316
|
+
const errorType = (isVersionEnable ? this.state.errorData[`${this.state.currentTab - 1}`][val.id] : this.state.errorData[val.id]);
|
|
2317
|
+
const { MISSING_TAG_ERROR, UNSUPPORTED_TAG_ERROR } = errorMessageForTags;
|
|
2318
|
+
let errorMessageText = false;
|
|
2319
|
+
if (errorType && errorType === MISSING_TAG_ERROR) {
|
|
2320
|
+
errorMessageText = this.props.intl.formatMessage(messages.missingTagsValidationError, {missingTags: this.getMissingTagsName(messageContent)});
|
|
2321
|
+
} else if (errorType && errorType === UNSUPPORTED_TAG_ERROR) {
|
|
2322
|
+
errorMessageText = this.props.intl.formatMessage(messages.unsupportedTagsValidationError, {unsupportedTags: this.getUnsupportedTagsName(messageContent)});
|
|
2323
|
+
} else if (errorType) {
|
|
2324
|
+
errorMessageText = this.props.intl.formatMessage(messages.genericTagsValidationError);
|
|
2325
|
+
}
|
|
2297
2326
|
if (styling === 'semantic') {
|
|
2298
2327
|
columns.push(
|
|
2299
2328
|
<CapColumn key="input" span={val.width}>
|
|
2300
2329
|
<TextArea
|
|
2301
2330
|
id={val.id}
|
|
2302
2331
|
className={`${ifError ? 'error' : ''}`}
|
|
2303
|
-
errorMessage={
|
|
2332
|
+
errorMessage={errorMessageText}
|
|
2304
2333
|
label={val.label}
|
|
2305
2334
|
autosize={val.autosize ? val.autosizeParams : false}
|
|
2306
2335
|
onChange={(e) => this.updateFormData(e.target.value, val)}
|
|
2307
2336
|
style={val.style ? val.style : {}}
|
|
2308
|
-
defaultValue={
|
|
2309
|
-
value={
|
|
2337
|
+
defaultValue={messageContent || ''}
|
|
2338
|
+
value={messageContent || ""}
|
|
2310
2339
|
rows={20}
|
|
2311
2340
|
disabled={val.disabled}
|
|
2312
2341
|
cols={20}
|
|
@@ -2728,7 +2757,17 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
|
|
|
2728
2757
|
|
|
2729
2758
|
case "textarea":
|
|
2730
2759
|
ifError = this.state.checkValidation && (isVersionEnable ? this.state.errorData[`${this.state.currentTab - 1}`][val.id] : this.state.errorData[val.id]);
|
|
2731
|
-
const
|
|
2760
|
+
const messageContent = isVersionEnable ? this.state.formData[`${this.state.currentTab - 1}`][val.id] : this.state.formData[val.id];
|
|
2761
|
+
const errorType = (isVersionEnable ? this.state.errorData[`${this.state.currentTab - 1}`][val.id] : this.state.errorData[val.id]);
|
|
2762
|
+
const { MISSING_TAG_ERROR, UNSUPPORTED_TAG_ERROR } = errorMessageForTags;
|
|
2763
|
+
let errorMessageText = false;
|
|
2764
|
+
if (errorType && errorType === MISSING_TAG_ERROR) {
|
|
2765
|
+
errorMessageText = this.props.intl.formatMessage(messages.missingTagsValidationError, {missingTags: this.getMissingTagsName(messageContent)});
|
|
2766
|
+
} else if (errorType && errorType === UNSUPPORTED_TAG_ERROR) {
|
|
2767
|
+
errorMessageText = this.props.intl.formatMessage(messages.unsupportedTagsValidationError, {unsupportedTags: this.getUnsupportedTagsName(messageContent)});
|
|
2768
|
+
} else if (errorType) {
|
|
2769
|
+
errorMessageText = this.props.intl.formatMessage(messages.genericTagsValidationError);
|
|
2770
|
+
}
|
|
2732
2771
|
if (styling === 'semantic') {
|
|
2733
2772
|
columns.push(
|
|
2734
2773
|
<CapColumn key="input" span={val.width} offset={val.offset}>
|
|
@@ -2737,13 +2776,13 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
|
|
|
2737
2776
|
placeholder={val.placeholder ? val.placeholder : ''}
|
|
2738
2777
|
disabled={val.disabled}
|
|
2739
2778
|
className={`${ifError ? 'error' : ''}`}
|
|
2740
|
-
errorMessage={
|
|
2779
|
+
errorMessage={errorMessageText}
|
|
2741
2780
|
label={val.label}
|
|
2742
2781
|
autosize={val.autosize ? val.autosizeParams : false}
|
|
2743
2782
|
onChange={(e) => this.updateFormData(e.target.value, val)}
|
|
2744
2783
|
style={val.style ? val.style : {}}
|
|
2745
|
-
defaultValue={
|
|
2746
|
-
value={
|
|
2784
|
+
defaultValue={messageContent || ''}
|
|
2785
|
+
value={messageContent || ""}
|
|
2747
2786
|
rows={10}
|
|
2748
2787
|
cols={2}
|
|
2749
2788
|
/>
|
|
@@ -22,6 +22,18 @@ export default defineMessages({
|
|
|
22
22
|
id: 'creatives.componentsV2.FormBuilder.ok',
|
|
23
23
|
defaultMessage: 'Ok',
|
|
24
24
|
},
|
|
25
|
+
missingTagsValidationError: {
|
|
26
|
+
id: 'creatives.components.FormBuilder.missingTagsValidationError',
|
|
27
|
+
defaultMessage: 'Missing tags: {missingTags}. Please add them to this message.',
|
|
28
|
+
},
|
|
29
|
+
unsupportedTagsValidationError: {
|
|
30
|
+
id: 'creatives.components.FormBuilder.unsupportedTagsValidationError',
|
|
31
|
+
defaultMessage: 'Unsupported tags: {unsupportedTags}. Please remove them from this message.',
|
|
32
|
+
},
|
|
33
|
+
genericTagsValidationError: {
|
|
34
|
+
id: 'creatives.components.FormBuilder.genericTagsValidationError',
|
|
35
|
+
defaultMessage: 'Please check the message content for unsupported/missing tags',
|
|
36
|
+
},
|
|
25
37
|
contentNotValidLanguage: {
|
|
26
38
|
id: 'creatives.componentsV2.FormBuilder.contentNotValidLanguage',
|
|
27
39
|
defaultMessage: 'Content is not valid for language:',
|