@zengenti/contensis-react-base 3.2.1-beta.5 → 3.2.1-beta.7
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/cjs/forms.js +108 -38
- package/cjs/forms.js.map +1 -1
- package/esm/forms.js +108 -37
- package/esm/forms.js.map +1 -1
- package/package.json +1 -1
package/cjs/forms.js
CHANGED
|
@@ -10,7 +10,6 @@ var React = require('react');
|
|
|
10
10
|
var PropTypes = require('prop-types');
|
|
11
11
|
var reactRedux = require('react-redux');
|
|
12
12
|
var styled = require('styled-components');
|
|
13
|
-
var Markdown = require('markdown-to-jsx');
|
|
14
13
|
var _commonjsHelpers = require('./_commonjsHelpers-b3309d7b.js');
|
|
15
14
|
|
|
16
15
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -18,7 +17,6 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
18
17
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
19
18
|
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
20
19
|
var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
|
|
21
|
-
var Markdown__default = /*#__PURE__*/_interopDefaultLegacy(Markdown);
|
|
22
20
|
|
|
23
21
|
const ACTION_PREFIX = '@FORM2/';
|
|
24
22
|
const SET_FORM_DATA = `${ACTION_PREFIX}SET_FORM_DATA`;
|
|
@@ -558,31 +556,35 @@ const doCreateMessage = (type, minLength, maxLength, currentLength, defaultLangu
|
|
|
558
556
|
}
|
|
559
557
|
};
|
|
560
558
|
const getFieldType = field => {
|
|
561
|
-
var
|
|
559
|
+
var _editor$properties, _editor$properties2;
|
|
562
560
|
if (!field) return null;
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
}
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
return '
|
|
578
|
-
|
|
579
|
-
return '
|
|
580
|
-
|
|
581
|
-
return 'entryPicker';
|
|
561
|
+
const {
|
|
562
|
+
dataType,
|
|
563
|
+
dataFormat,
|
|
564
|
+
editor,
|
|
565
|
+
validations,
|
|
566
|
+
id,
|
|
567
|
+
groupId
|
|
568
|
+
} = field || {};
|
|
569
|
+
if (groupId === 'private' || groupId === 'settings') return 'hidden';
|
|
570
|
+
if (editor !== null && editor !== void 0 && (_editor$properties = editor.properties) !== null && _editor$properties !== void 0 && _editor$properties.readOnly && dataFormat !== 'quote') return 'hidden';
|
|
571
|
+
if (dataFormat === 'quote') return 'content';
|
|
572
|
+
if (dataFormat === 'quote' && editor !== null && editor !== void 0 && (_editor$properties2 = editor.properties) !== null && _editor$properties2 !== void 0 && _editor$properties2.readOnly) return 'content';
|
|
573
|
+
if (dataType === 'string') {
|
|
574
|
+
if ((editor === null || editor === void 0 ? void 0 : editor.id) === 'multiline') return 'textarea';
|
|
575
|
+
if ((editor === null || editor === void 0 ? void 0 : editor.id) === 'list-dropdown') return 'dropdown';
|
|
576
|
+
if (validations !== null && validations !== void 0 && validations.allowedValues) return 'radio';
|
|
577
|
+
if (id === 'country') return 'country';
|
|
578
|
+
return 'textfield'; // Default string type
|
|
582
579
|
}
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
580
|
+
|
|
581
|
+
if (dataType === 'stringArray' || dataType === 'boolean') return 'checkbox';
|
|
582
|
+
if (dataType === 'integer') return 'number';
|
|
583
|
+
if (dataType === 'dateTime') return 'date';
|
|
584
|
+
if (dataFormat === 'daterange') return 'dateRange';
|
|
585
|
+
if (dataFormat === 'entry') return 'entryPicker';
|
|
586
|
+
if (groupId === 'private' || groupId === 'settings') return 'hidden';
|
|
587
|
+
return 'textfield'; // Default fallback
|
|
586
588
|
};
|
|
587
589
|
|
|
588
590
|
const sagas = [effects.takeEvery(SUBMIT_FORM_SUCCESS, onFormSuccess), effects.takeEvery(SUBMIT_FORM_FOR_VALIDATION, doValidateForm), effects.takeEvery(SUBMIT_FORM, onSubmitForm), effects.takeEvery(SET_FORM_ID, doFetchForm),
|
|
@@ -1022,6 +1024,70 @@ CharacterLimit.propTypes = {
|
|
|
1022
1024
|
useDefaultTheme: PropTypes__default["default"].bool
|
|
1023
1025
|
};
|
|
1024
1026
|
|
|
1027
|
+
const doParse = markdown => {
|
|
1028
|
+
const LINES = markdown.split('\n');
|
|
1029
|
+
const ELEMENTS = [];
|
|
1030
|
+
let inList = false; // Track if we are currently inside a list
|
|
1031
|
+
let inNestedList = false; // Track if we are inside a nested list
|
|
1032
|
+
|
|
1033
|
+
LINES.forEach((LINE, INDEX) => {
|
|
1034
|
+
LINE = LINE.trim(); // Trim whitespace from the beginning and end of the line
|
|
1035
|
+
|
|
1036
|
+
if (LINE.startsWith('* ')) {
|
|
1037
|
+
// Top-level list item
|
|
1038
|
+
if (!inList) {
|
|
1039
|
+
ELEMENTS.push('<ul>'); // Start the outermost list
|
|
1040
|
+
inList = true;
|
|
1041
|
+
}
|
|
1042
|
+
if (inNestedList) {
|
|
1043
|
+
// Close the previous nested list
|
|
1044
|
+
ELEMENTS.push('</ul>');
|
|
1045
|
+
inNestedList = false;
|
|
1046
|
+
}
|
|
1047
|
+
ELEMENTS.push(`<li key=${INDEX}>${LINE.substring(2)}</li>`);
|
|
1048
|
+
} else if (LINE.startsWith('**')) {
|
|
1049
|
+
// Nested list item
|
|
1050
|
+
if (!inNestedList) {
|
|
1051
|
+
ELEMENTS.push('<ul>'); // Start a nested list
|
|
1052
|
+
inNestedList = true;
|
|
1053
|
+
}
|
|
1054
|
+
ELEMENTS.push(`<li key=${INDEX}>${LINE.substring(2)}</li>`);
|
|
1055
|
+
} else {
|
|
1056
|
+
// Non-list item
|
|
1057
|
+
if (inList) {
|
|
1058
|
+
if (inNestedList) {
|
|
1059
|
+
ELEMENTS.push('</ul>'); // Close any open nested list
|
|
1060
|
+
inNestedList = false;
|
|
1061
|
+
}
|
|
1062
|
+
ELEMENTS.push('</ul>'); // Close the outermost list
|
|
1063
|
+
inList = false;
|
|
1064
|
+
}
|
|
1065
|
+
ELEMENTS.push(`<span key=${INDEX}>${LINE}</span>`);
|
|
1066
|
+
}
|
|
1067
|
+
});
|
|
1068
|
+
if (inNestedList) {
|
|
1069
|
+
ELEMENTS.push('</ul>'); // Close any remaining open nested list
|
|
1070
|
+
} else if (inList) {
|
|
1071
|
+
ELEMENTS.push('</ul>'); // Close the outermost list
|
|
1072
|
+
}
|
|
1073
|
+
|
|
1074
|
+
return ELEMENTS.join(''); // Join all elements into a single string
|
|
1075
|
+
};
|
|
1076
|
+
|
|
1077
|
+
const MarkdownRenderer = ({
|
|
1078
|
+
className,
|
|
1079
|
+
markdown
|
|
1080
|
+
}) => {
|
|
1081
|
+
if (!markdown) return null;
|
|
1082
|
+
const elements = doParse(markdown);
|
|
1083
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1084
|
+
className: className,
|
|
1085
|
+
dangerouslySetInnerHTML: {
|
|
1086
|
+
__html: elements
|
|
1087
|
+
}
|
|
1088
|
+
});
|
|
1089
|
+
};
|
|
1090
|
+
|
|
1025
1091
|
const TextfieldStyled = styled__default["default"].div.withConfig({
|
|
1026
1092
|
displayName: "textfield__TextfieldStyled",
|
|
1027
1093
|
componentId: "sc-whkw86-0"
|
|
@@ -1121,9 +1187,10 @@ const Textfield = ({
|
|
|
1121
1187
|
}, /*#__PURE__*/React__default["default"].createElement("path", {
|
|
1122
1188
|
fill: "#333",
|
|
1123
1189
|
d: "m2 8 4.418 4.667L14 4.659l-1.246-1.326-6.336 6.692-3.18-3.332L2 8Z"
|
|
1124
|
-
}))), instructions && /*#__PURE__*/React__default["default"].createElement(
|
|
1125
|
-
className: "text-field__input--markdown"
|
|
1126
|
-
|
|
1190
|
+
}))), instructions && /*#__PURE__*/React__default["default"].createElement(MarkdownRenderer, {
|
|
1191
|
+
className: "text-field__input--markdown",
|
|
1192
|
+
markdown: instructions
|
|
1193
|
+
}), id === 'password' && /*#__PURE__*/React__default["default"].createElement("button", {
|
|
1127
1194
|
className: "text-input__button--pw",
|
|
1128
1195
|
type: "button",
|
|
1129
1196
|
onClick: () => setVisible(!isVisible),
|
|
@@ -1137,8 +1204,8 @@ const Textfield = ({
|
|
|
1137
1204
|
}, /*#__PURE__*/React__default["default"].createElement("path", {
|
|
1138
1205
|
d: "M13.3536 2.35355C13.5488 2.15829 13.5488 1.84171 13.3536 1.64645C13.1583 1.45118 12.8417 1.45118 12.6464 1.64645L10.6828 3.61012C9.70652 3.21671 8.63759 3 7.5 3C4.30786 3 1.65639 4.70638 0.0760002 7.23501C-0.0253338 7.39715 -0.0253334 7.60288 0.0760014 7.76501C0.902945 9.08812 2.02314 10.1861 3.36061 10.9323L1.64645 12.6464C1.45118 12.8417 1.45118 13.1583 1.64645 13.3536C1.84171 13.5488 2.15829 13.5488 2.35355 13.3536L4.31723 11.3899C5.29348 11.7833 6.36241 12 7.5 12C10.6921 12 13.3436 10.2936 14.924 7.76501C15.0253 7.60288 15.0253 7.39715 14.924 7.23501C14.0971 5.9119 12.9769 4.81391 11.6394 4.06771L13.3536 2.35355ZM9.90428 4.38861C9.15332 4.1361 8.34759 4 7.5 4C4.80285 4 2.52952 5.37816 1.09622 7.50001C1.87284 8.6497 2.89609 9.58106 4.09974 10.1931L9.90428 4.38861ZM5.09572 10.6114L10.9003 4.80685C12.1039 5.41894 13.1272 6.35031 13.9038 7.50001C12.4705 9.62183 10.1971 11 7.5 11C6.65241 11 5.84668 10.8639 5.09572 10.6114Z",
|
|
1139
1206
|
fill: "currentColor",
|
|
1140
|
-
|
|
1141
|
-
|
|
1207
|
+
fillRule: "evenodd",
|
|
1208
|
+
clipRule: "evenodd"
|
|
1142
1209
|
})) : /*#__PURE__*/React__default["default"].createElement("svg", {
|
|
1143
1210
|
width: "15",
|
|
1144
1211
|
height: "15",
|
|
@@ -1148,8 +1215,8 @@ const Textfield = ({
|
|
|
1148
1215
|
}, /*#__PURE__*/React__default["default"].createElement("path", {
|
|
1149
1216
|
d: "M7.5 11C4.80285 11 2.52952 9.62184 1.09622 7.50001C2.52952 5.37816 4.80285 4 7.5 4C10.1971 4 12.4705 5.37816 13.9038 7.50001C12.4705 9.62183 10.1971 11 7.5 11ZM7.5 3C4.30786 3 1.65639 4.70638 0.0760002 7.23501C-0.0253338 7.39715 -0.0253334 7.60288 0.0760014 7.76501C1.65639 10.2936 4.30786 12 7.5 12C10.6921 12 13.3436 10.2936 14.924 7.76501C15.0253 7.60288 15.0253 7.39715 14.924 7.23501C13.3436 4.70638 10.6921 3 7.5 3ZM7.5 9.5C8.60457 9.5 9.5 8.60457 9.5 7.5C9.5 6.39543 8.60457 5.5 7.5 5.5C6.39543 5.5 5.5 6.39543 5.5 7.5C5.5 8.60457 6.39543 9.5 7.5 9.5Z",
|
|
1150
1217
|
fill: "currentColor",
|
|
1151
|
-
|
|
1152
|
-
|
|
1218
|
+
fillRule: "evenodd",
|
|
1219
|
+
clipRule: "evenodd"
|
|
1153
1220
|
}))));
|
|
1154
1221
|
};
|
|
1155
1222
|
Textfield.propTypes = {
|
|
@@ -5316,9 +5383,10 @@ const FormComposer = ({
|
|
|
5316
5383
|
key: `${field.id}-${idx}`
|
|
5317
5384
|
}, /*#__PURE__*/React__default["default"].createElement("span", {
|
|
5318
5385
|
className: "form__content--title"
|
|
5319
|
-
}, name === null || name === void 0 ? void 0 : name[defaultLanguage]), instructions && /*#__PURE__*/React__default["default"].createElement(
|
|
5320
|
-
className: "form__content--markdown"
|
|
5321
|
-
|
|
5386
|
+
}, name === null || name === void 0 ? void 0 : name[defaultLanguage]), instructions && /*#__PURE__*/React__default["default"].createElement(MarkdownRenderer, {
|
|
5387
|
+
className: "form__content--markdown",
|
|
5388
|
+
markdown: instructions
|
|
5389
|
+
}));
|
|
5322
5390
|
}
|
|
5323
5391
|
}
|
|
5324
5392
|
});
|
|
@@ -5489,7 +5557,7 @@ const Form = ({
|
|
|
5489
5557
|
useDefaultTheme: useDefaultTheme,
|
|
5490
5558
|
entries: entries,
|
|
5491
5559
|
setDateRangeValues: _setDateRangeValues
|
|
5492
|
-
}),
|
|
5560
|
+
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
5493
5561
|
className: "form__btns"
|
|
5494
5562
|
}, pagingInfo.pageIndex > 0 && /*#__PURE__*/React__default["default"].createElement(Button, {
|
|
5495
5563
|
className: "form__btn--prev",
|
|
@@ -5552,7 +5620,9 @@ const Form = ({
|
|
|
5552
5620
|
errors: errors,
|
|
5553
5621
|
useDefaultTheme: useDefaultTheme,
|
|
5554
5622
|
entries: entries
|
|
5555
|
-
}), /*#__PURE__*/React__default["default"].createElement(
|
|
5623
|
+
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
5624
|
+
className: "form__btns"
|
|
5625
|
+
}, /*#__PURE__*/React__default["default"].createElement(Button, {
|
|
5556
5626
|
className: "form__btn--submit",
|
|
5557
5627
|
loading: status === null || status === void 0 ? void 0 : status.isSubmitting,
|
|
5558
5628
|
text: (settings === null || settings === void 0 ? void 0 : settings.submitButtonText) || "Submit",
|
|
@@ -5562,7 +5632,7 @@ const Form = ({
|
|
|
5562
5632
|
if (onCustomSubmit) onCustomSubmit();
|
|
5563
5633
|
},
|
|
5564
5634
|
useDefaultTheme: useDefaultTheme
|
|
5565
|
-
})), (status === null || status === void 0 ? void 0 : status.isLoading) && !(status !== null && status !== void 0 && status.hasSuccess) && /*#__PURE__*/React__default["default"].createElement(Loader, {
|
|
5635
|
+
}))), (status === null || status === void 0 ? void 0 : status.isLoading) && !(status !== null && status !== void 0 && status.hasSuccess) && /*#__PURE__*/React__default["default"].createElement(Loader, {
|
|
5566
5636
|
className: "loading",
|
|
5567
5637
|
height: 24,
|
|
5568
5638
|
width: 24,
|