@cerebruminc/cerebellum 13.0.0 → 13.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/lib/cjs/Form.cjs +1 -1
- package/lib/cjs/{FormikContainer-d5d9c1d3.js → FormikContainer-5bbc7b9d.js} +17 -5
- package/lib/{esm/FormikContainer-23e9e82c.js.map → cjs/FormikContainer-5bbc7b9d.js.map} +1 -1
- package/lib/cjs/index.cjs +1 -1
- package/lib/esm/Form.js +1 -1
- package/lib/esm/{FormikContainer-23e9e82c.js → FormikContainer-420de28e.js} +18 -6
- package/lib/{cjs/FormikContainer-d5d9c1d3.js.map → esm/FormikContainer-420de28e.js.map} +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/types/src/components/Form/Form.d.ts +1 -1
- package/lib/types/src/components/Form/types.d.ts +1 -0
- package/package.json +1 -1
package/lib/cjs/Form.cjs
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var FormikContainer = require('./FormikContainer-
|
|
5
|
+
var FormikContainer = require('./FormikContainer-5bbc7b9d.js');
|
|
6
6
|
var FormWrapper = require('./FormStyles-91ec9d95.js');
|
|
7
7
|
var FormFieldTypeEnum = require('./FormFieldTypeEnum.cjs');
|
|
8
8
|
require('./_tslib-955e611e.js');
|
|
@@ -1087,7 +1087,7 @@ var CANCEL_BUTTON_TEXT_DEFAULT$1 = "Cancel";
|
|
|
1087
1087
|
var CLEAR_FORM_BUTTON_TEXT = "Clear Form";
|
|
1088
1088
|
var SUBMIT_BUTTON_TEXT_DEFAULT$1 = "Submit";
|
|
1089
1089
|
var Form = function (_a) {
|
|
1090
|
-
var addButtons = _a.addButtons, addButtonWidth = _a.addButtonWidth, _b = _a.cancelButtonText, cancelButtonText = _b === void 0 ? CANCEL_BUTTON_TEXT_DEFAULT$1 : _b, cancelButtonFunction = _a.cancelButtonFunction, clearFormButton = _a.clearFormButton, clearOnBottom = _a.clearOnBottom, configurableInputFieldActiveIds = _a.configurableInputFieldActiveIds, disableSubmit = _a.disableSubmit, disableSubmitUntilValid = _a.disableSubmitUntilValid, fields = _a.fields, formikProps = _a.formikProps, hasValues = _a.hasValues, hideSubmitButton = _a.hideSubmitButton, leftLabels = _a.leftLabels, _c = _a.leftLabelsRightGutter, leftLabelsRightGutter = _c === void 0 ? 200 : _c, _d = _a.leftLabelWidth, leftLabelWidth = _d === void 0 ? 200 : _d, loading = _a.loading, loadingFieldsNumber = _a.loadingFieldsNumber, maximumHeight = _a.maximumHeight, nextButton = _a.nextButton, observeScrollRef = _a.observeScrollRef, rowGap = _a.rowGap, stickyFooter = _a.stickyFooter, submitAttempt = _a.submitAttempt, submitButtonLoading = _a.submitButtonLoading, setConfigurableInputFieldActiveIds = _a.setConfigurableInputFieldActiveIds, setHasValues = _a.setHasValues, setSubmitAttempt = _a.setSubmitAttempt, submitButtonAlign = _a.submitButtonAlign, _e = _a.submitButtonText, submitButtonText = _e === void 0 ? SUBMIT_BUTTON_TEXT_DEFAULT$1 : _e, submitOnBlur = _a.submitOnBlur, title = _a.title, themeOverride = _a.themeOverride, thinStickyPadding = _a.thinStickyPadding;
|
|
1090
|
+
var addButtons = _a.addButtons, addButtonWidth = _a.addButtonWidth, _b = _a.cancelButtonText, cancelButtonText = _b === void 0 ? CANCEL_BUTTON_TEXT_DEFAULT$1 : _b, cancelButtonFunction = _a.cancelButtonFunction, children = _a.children, clearFormButton = _a.clearFormButton, clearOnBottom = _a.clearOnBottom, configurableInputFieldActiveIds = _a.configurableInputFieldActiveIds, disableSubmit = _a.disableSubmit, disableSubmitUntilValid = _a.disableSubmitUntilValid, fields = _a.fields, formikProps = _a.formikProps, hasValues = _a.hasValues, hideSubmitButton = _a.hideSubmitButton, leftLabels = _a.leftLabels, _c = _a.leftLabelsRightGutter, leftLabelsRightGutter = _c === void 0 ? 200 : _c, _d = _a.leftLabelWidth, leftLabelWidth = _d === void 0 ? 200 : _d, loading = _a.loading, loadingFieldsNumber = _a.loadingFieldsNumber, maximumHeight = _a.maximumHeight, nextButton = _a.nextButton, observeScrollRef = _a.observeScrollRef, rowGap = _a.rowGap, stickyFooter = _a.stickyFooter, submitAttempt = _a.submitAttempt, submitButtonLoading = _a.submitButtonLoading, setConfigurableInputFieldActiveIds = _a.setConfigurableInputFieldActiveIds, setHasValues = _a.setHasValues, setSubmitAttempt = _a.setSubmitAttempt, submitButtonAlign = _a.submitButtonAlign, _e = _a.submitButtonText, submitButtonText = _e === void 0 ? SUBMIT_BUTTON_TEXT_DEFAULT$1 : _e, submitOnBlur = _a.submitOnBlur, title = _a.title, themeOverride = _a.themeOverride, thinStickyPadding = _a.thinStickyPadding;
|
|
1091
1091
|
var _f = useMeasure.useMeasure(), targetRef = _f[0], targetMeasure = _f[1];
|
|
1092
1092
|
var theme = styled.useTheme();
|
|
1093
1093
|
var previousFields = usePrevious.usePrevious(fields);
|
|
@@ -1129,7 +1129,7 @@ var Form = function (_a) {
|
|
|
1129
1129
|
resetForm();
|
|
1130
1130
|
setHasValues(false);
|
|
1131
1131
|
};
|
|
1132
|
-
return loading ? (jsxRuntime.jsx(FormLoader, { leftLabels: Boolean(leftLabels), leftLabelsRightGutter: leftLabelsRightGutter, leftLabelWidth: leftLabelWidth, loadingFieldsNumber: loadingFieldsNumber !== null && loadingFieldsNumber !== void 0 ? loadingFieldsNumber : fields.length, rowGap: rowGap }, void 0)) : (jsxRuntime.jsxs(FormWrapper.FormGroup, _tslib.__assign({ ref: targetRef, "$maximumHeight": maximumHeight, "$stickyFooter": stickyFooter, "$themeOverride": themeOverride, "$thinStickyPadding": thinStickyPadding, as: Scroller.ShortScroller }, { children: [jsxRuntime.jsxs(FormWrapper.FormTitleGroup, { children: [jsxRuntime.jsx(FormWrapper.Title, _tslib.__assign({ "$themeOverride": themeOverride }, { children: title }), void 0), clearFormButton && !clearOnBottom && (jsxRuntime.jsx(FormWrapper.ClearFormButtonWrap, _tslib.__assign({ "$clickable": hasValues }, { children: jsxRuntime.jsx(TextLink.TextLink, { clickable: hasValues, fontSize: 12, onClick: clearForm, text: CLEAR_FORM_BUTTON_TEXT, textColorOverride: clearButtonColorFamily.main, textColorHoverOverride: clearButtonColorFamily.hover, textStyle: ButtonColorFamilyEnum.TextStyleEnum.Emphasis }, void 0) }), void 0))] }, void 0), fields.map(function (field, index) {
|
|
1132
|
+
return loading ? (jsxRuntime.jsx(FormLoader, { leftLabels: Boolean(leftLabels), leftLabelsRightGutter: leftLabelsRightGutter, leftLabelWidth: leftLabelWidth, loadingFieldsNumber: loadingFieldsNumber !== null && loadingFieldsNumber !== void 0 ? loadingFieldsNumber : fields.length, rowGap: rowGap }, void 0)) : (jsxRuntime.jsxs(FormWrapper.FormGroup, _tslib.__assign({ ref: targetRef, "$maximumHeight": maximumHeight, "$stickyFooter": stickyFooter, "$themeOverride": themeOverride, "$thinStickyPadding": thinStickyPadding, as: Scroller.ShortScroller }, { children: [children, jsxRuntime.jsxs(FormWrapper.FormTitleGroup, { children: [jsxRuntime.jsx(FormWrapper.Title, _tslib.__assign({ "$themeOverride": themeOverride }, { children: title }), void 0), clearFormButton && !clearOnBottom && (jsxRuntime.jsx(FormWrapper.ClearFormButtonWrap, _tslib.__assign({ "$clickable": hasValues }, { children: jsxRuntime.jsx(TextLink.TextLink, { clickable: hasValues, fontSize: 12, onClick: clearForm, text: CLEAR_FORM_BUTTON_TEXT, textColorOverride: clearButtonColorFamily.main, textColorHoverOverride: clearButtonColorFamily.hover, textStyle: ButtonColorFamilyEnum.TextStyleEnum.Emphasis }, void 0) }), void 0))] }, void 0), fields.map(function (field, index) {
|
|
1133
1133
|
if (FormFieldTypeEnum.isSplitLine(field) && (!field.showIf || field.showIf({ values: values }))) {
|
|
1134
1134
|
var key = addOrRemoveById.makeIdString({ array: field.inlineFields, key: "fieldLabel" });
|
|
1135
1135
|
return (jsxRuntime.jsx(SplitLineField, { fade: FormWrapper.shouldFade({ isDeleting: isDeleting, index: index }), field: field, formikProps: formikProps, formWidth: targetMeasure === null || targetMeasure === void 0 ? void 0 : targetMeasure.width, observeScrollRef: observeScrollRef, rowGap: rowGap, setHasValues: setHasValues, setSubmitAttempt: setSubmitAttempt, submitAttempt: submitAttempt, submitOnBlur: submitOnBlur }, "".concat(key, "_").concat(index)));
|
|
@@ -1240,11 +1240,23 @@ Form.defaultProps = {
|
|
|
1240
1240
|
|
|
1241
1241
|
var CANCEL_BUTTON_TEXT_DEFAULT = "Cancel";
|
|
1242
1242
|
var SUBMIT_BUTTON_TEXT_DEFAULT = "Submit";
|
|
1243
|
+
var FormSubmitWatcher = function (_a) {
|
|
1244
|
+
var setHasSubmitted = _a.setHasSubmitted;
|
|
1245
|
+
var isValidating = formik.useFormikContext().isValidating;
|
|
1246
|
+
React.useEffect(function () {
|
|
1247
|
+
if (isValidating) {
|
|
1248
|
+
setHasSubmitted(true);
|
|
1249
|
+
}
|
|
1250
|
+
}, [isValidating]);
|
|
1251
|
+
return null; // This component does not render anything
|
|
1252
|
+
};
|
|
1243
1253
|
var FormikContainer = function (props) {
|
|
1244
1254
|
var disableSubmitUntilValid = props.disableSubmitUntilValid, enableReinitialize = props.enableReinitialize, fields = props.fields, innerRef = props.innerRef, resetOnSubmit = props.resetOnSubmit, submit = props.submit, _a = props.validateOnBlur, validateOnBlur = _a === void 0 ? false : _a;
|
|
1245
1255
|
var _b = React.useState(false), submitAttempt = _b[0], setSubmitAttempt = _b[1];
|
|
1246
1256
|
var _c = React.useState(false), hasValues = _c[0], setHasValues = _c[1];
|
|
1247
1257
|
var _d = React.useState({}), configurableInputFieldActiveIds = _d[0], setConfigurableInputFieldActiveIds = _d[1];
|
|
1258
|
+
// Track if the form has been submitted. If it has, we're going to validate on change and blur
|
|
1259
|
+
var _e = React.useState(false), hasSubmitted = _e[0], setHasSubmitted = _e[1];
|
|
1248
1260
|
return (jsxRuntime.jsx(formik.Formik, _tslib.__assign({ enableReinitialize: enableReinitialize, initialValues: FormWrapper.formatInitialValues(fields), innerRef: innerRef, onSubmit: function (values, formikHelpers) {
|
|
1249
1261
|
var resetForm = formikHelpers.resetForm;
|
|
1250
1262
|
setSubmitAttempt(false);
|
|
@@ -1253,8 +1265,8 @@ var FormikContainer = function (props) {
|
|
|
1253
1265
|
resetForm({});
|
|
1254
1266
|
setHasValues(false);
|
|
1255
1267
|
}
|
|
1256
|
-
}, validateOnBlur: validateOnBlur, validateOnMount: disableSubmitUntilValid, validationSchema: FormWrapper.formatValidation(fields, configurableInputFieldActiveIds) }, { children: function (formikProps) {
|
|
1257
|
-
return (jsxRuntime.jsx(Form, _tslib.__assign({}, props, { formikProps: formikProps, hasValues: hasValues, submitAttempt: submitAttempt, setHasValues: setHasValues, setSubmitAttempt: setSubmitAttempt, configurableInputFieldActiveIds: configurableInputFieldActiveIds, setConfigurableInputFieldActiveIds: setConfigurableInputFieldActiveIds }), void 0));
|
|
1268
|
+
}, validateOnBlur: validateOnBlur || hasSubmitted, validateOnChange: validateOnBlur || hasSubmitted, validateOnMount: disableSubmitUntilValid, validationSchema: FormWrapper.formatValidation(fields, configurableInputFieldActiveIds) }, { children: function (formikProps) {
|
|
1269
|
+
return (jsxRuntime.jsx(Form, _tslib.__assign({}, props, { formikProps: formikProps, hasValues: hasValues, submitAttempt: submitAttempt, setHasValues: setHasValues, setSubmitAttempt: setSubmitAttempt, configurableInputFieldActiveIds: configurableInputFieldActiveIds, setConfigurableInputFieldActiveIds: setConfigurableInputFieldActiveIds }, { children: jsxRuntime.jsx(FormSubmitWatcher, { setHasSubmitted: setHasSubmitted }, void 0) }), void 0));
|
|
1258
1270
|
} }), void 0));
|
|
1259
1271
|
};
|
|
1260
1272
|
FormikContainer.defaultProps = {
|
|
@@ -1269,4 +1281,4 @@ FormikContainer.defaultProps = {
|
|
|
1269
1281
|
};
|
|
1270
1282
|
|
|
1271
1283
|
exports.FormikContainer = FormikContainer;
|
|
1272
|
-
//# sourceMappingURL=FormikContainer-
|
|
1284
|
+
//# sourceMappingURL=FormikContainer-5bbc7b9d.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormikContainer-
|
|
1
|
+
{"version":3,"file":"FormikContainer-5bbc7b9d.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/lib/cjs/index.cjs
CHANGED
|
@@ -46,7 +46,7 @@ var helpers = require('./helpers-b07f14f3.js');
|
|
|
46
46
|
var DrawerDivider = require('./DrawerDivider-8f1e423f.js');
|
|
47
47
|
var EmailInput = require('./EmailInput-a17bf950.js');
|
|
48
48
|
var Footer = require('./Footer.cjs');
|
|
49
|
-
var FormikContainer = require('./FormikContainer-
|
|
49
|
+
var FormikContainer = require('./FormikContainer-5bbc7b9d.js');
|
|
50
50
|
var FormFieldTypeEnum = require('./FormFieldTypeEnum.cjs');
|
|
51
51
|
var FiltersBar = require('./FiltersBar-0c09771a.js');
|
|
52
52
|
var HorizontalTabMenu = require('./HorizontalTabMenu-64d6e3a1.js');
|
package/lib/esm/Form.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { F as Form } from './FormikContainer-
|
|
1
|
+
export { F as Form } from './FormikContainer-420de28e.js';
|
|
2
2
|
export { F as FormWrapper } from './FormStyles-6cb7c6ff.js';
|
|
3
3
|
export { FormFieldTypeEnum, RemovableFieldTypeEnum } from './FormFieldTypeEnum.js';
|
|
4
4
|
import './_tslib-1a4c929e.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { _ as __assign, f as __spreadArray } from './_tslib-1a4c929e.js';
|
|
2
2
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
3
|
import { Fragment, useState, useEffect, useCallback } from 'react';
|
|
4
|
-
import { Formik } from 'formik';
|
|
4
|
+
import { Formik, useFormikContext } from 'formik';
|
|
5
5
|
import { useTheme } from 'styled-components';
|
|
6
6
|
import { A as AddButton } from './AddButton-59c22abc.js';
|
|
7
7
|
import './Button.js';
|
|
@@ -1085,7 +1085,7 @@ var CANCEL_BUTTON_TEXT_DEFAULT$1 = "Cancel";
|
|
|
1085
1085
|
var CLEAR_FORM_BUTTON_TEXT = "Clear Form";
|
|
1086
1086
|
var SUBMIT_BUTTON_TEXT_DEFAULT$1 = "Submit";
|
|
1087
1087
|
var Form = function (_a) {
|
|
1088
|
-
var addButtons = _a.addButtons, addButtonWidth = _a.addButtonWidth, _b = _a.cancelButtonText, cancelButtonText = _b === void 0 ? CANCEL_BUTTON_TEXT_DEFAULT$1 : _b, cancelButtonFunction = _a.cancelButtonFunction, clearFormButton = _a.clearFormButton, clearOnBottom = _a.clearOnBottom, configurableInputFieldActiveIds = _a.configurableInputFieldActiveIds, disableSubmit = _a.disableSubmit, disableSubmitUntilValid = _a.disableSubmitUntilValid, fields = _a.fields, formikProps = _a.formikProps, hasValues = _a.hasValues, hideSubmitButton = _a.hideSubmitButton, leftLabels = _a.leftLabels, _c = _a.leftLabelsRightGutter, leftLabelsRightGutter = _c === void 0 ? 200 : _c, _d = _a.leftLabelWidth, leftLabelWidth = _d === void 0 ? 200 : _d, loading = _a.loading, loadingFieldsNumber = _a.loadingFieldsNumber, maximumHeight = _a.maximumHeight, nextButton = _a.nextButton, observeScrollRef = _a.observeScrollRef, rowGap = _a.rowGap, stickyFooter = _a.stickyFooter, submitAttempt = _a.submitAttempt, submitButtonLoading = _a.submitButtonLoading, setConfigurableInputFieldActiveIds = _a.setConfigurableInputFieldActiveIds, setHasValues = _a.setHasValues, setSubmitAttempt = _a.setSubmitAttempt, submitButtonAlign = _a.submitButtonAlign, _e = _a.submitButtonText, submitButtonText = _e === void 0 ? SUBMIT_BUTTON_TEXT_DEFAULT$1 : _e, submitOnBlur = _a.submitOnBlur, title = _a.title, themeOverride = _a.themeOverride, thinStickyPadding = _a.thinStickyPadding;
|
|
1088
|
+
var addButtons = _a.addButtons, addButtonWidth = _a.addButtonWidth, _b = _a.cancelButtonText, cancelButtonText = _b === void 0 ? CANCEL_BUTTON_TEXT_DEFAULT$1 : _b, cancelButtonFunction = _a.cancelButtonFunction, children = _a.children, clearFormButton = _a.clearFormButton, clearOnBottom = _a.clearOnBottom, configurableInputFieldActiveIds = _a.configurableInputFieldActiveIds, disableSubmit = _a.disableSubmit, disableSubmitUntilValid = _a.disableSubmitUntilValid, fields = _a.fields, formikProps = _a.formikProps, hasValues = _a.hasValues, hideSubmitButton = _a.hideSubmitButton, leftLabels = _a.leftLabels, _c = _a.leftLabelsRightGutter, leftLabelsRightGutter = _c === void 0 ? 200 : _c, _d = _a.leftLabelWidth, leftLabelWidth = _d === void 0 ? 200 : _d, loading = _a.loading, loadingFieldsNumber = _a.loadingFieldsNumber, maximumHeight = _a.maximumHeight, nextButton = _a.nextButton, observeScrollRef = _a.observeScrollRef, rowGap = _a.rowGap, stickyFooter = _a.stickyFooter, submitAttempt = _a.submitAttempt, submitButtonLoading = _a.submitButtonLoading, setConfigurableInputFieldActiveIds = _a.setConfigurableInputFieldActiveIds, setHasValues = _a.setHasValues, setSubmitAttempt = _a.setSubmitAttempt, submitButtonAlign = _a.submitButtonAlign, _e = _a.submitButtonText, submitButtonText = _e === void 0 ? SUBMIT_BUTTON_TEXT_DEFAULT$1 : _e, submitOnBlur = _a.submitOnBlur, title = _a.title, themeOverride = _a.themeOverride, thinStickyPadding = _a.thinStickyPadding;
|
|
1089
1089
|
var _f = useMeasure(), targetRef = _f[0], targetMeasure = _f[1];
|
|
1090
1090
|
var theme = useTheme();
|
|
1091
1091
|
var previousFields = usePrevious(fields);
|
|
@@ -1127,7 +1127,7 @@ var Form = function (_a) {
|
|
|
1127
1127
|
resetForm();
|
|
1128
1128
|
setHasValues(false);
|
|
1129
1129
|
};
|
|
1130
|
-
return loading ? (jsx(FormLoader, { leftLabels: Boolean(leftLabels), leftLabelsRightGutter: leftLabelsRightGutter, leftLabelWidth: leftLabelWidth, loadingFieldsNumber: loadingFieldsNumber !== null && loadingFieldsNumber !== void 0 ? loadingFieldsNumber : fields.length, rowGap: rowGap }, void 0)) : (jsxs(FormGroup, __assign({ ref: targetRef, "$maximumHeight": maximumHeight, "$stickyFooter": stickyFooter, "$themeOverride": themeOverride, "$thinStickyPadding": thinStickyPadding, as: ShortScroller }, { children: [jsxs(FormTitleGroup, { children: [jsx(Title, __assign({ "$themeOverride": themeOverride }, { children: title }), void 0), clearFormButton && !clearOnBottom && (jsx(ClearFormButtonWrap, __assign({ "$clickable": hasValues }, { children: jsx(TextLink, { clickable: hasValues, fontSize: 12, onClick: clearForm, text: CLEAR_FORM_BUTTON_TEXT, textColorOverride: clearButtonColorFamily.main, textColorHoverOverride: clearButtonColorFamily.hover, textStyle: TextStyleEnum.Emphasis }, void 0) }), void 0))] }, void 0), fields.map(function (field, index) {
|
|
1130
|
+
return loading ? (jsx(FormLoader, { leftLabels: Boolean(leftLabels), leftLabelsRightGutter: leftLabelsRightGutter, leftLabelWidth: leftLabelWidth, loadingFieldsNumber: loadingFieldsNumber !== null && loadingFieldsNumber !== void 0 ? loadingFieldsNumber : fields.length, rowGap: rowGap }, void 0)) : (jsxs(FormGroup, __assign({ ref: targetRef, "$maximumHeight": maximumHeight, "$stickyFooter": stickyFooter, "$themeOverride": themeOverride, "$thinStickyPadding": thinStickyPadding, as: ShortScroller }, { children: [children, jsxs(FormTitleGroup, { children: [jsx(Title, __assign({ "$themeOverride": themeOverride }, { children: title }), void 0), clearFormButton && !clearOnBottom && (jsx(ClearFormButtonWrap, __assign({ "$clickable": hasValues }, { children: jsx(TextLink, { clickable: hasValues, fontSize: 12, onClick: clearForm, text: CLEAR_FORM_BUTTON_TEXT, textColorOverride: clearButtonColorFamily.main, textColorHoverOverride: clearButtonColorFamily.hover, textStyle: TextStyleEnum.Emphasis }, void 0) }), void 0))] }, void 0), fields.map(function (field, index) {
|
|
1131
1131
|
if (isSplitLine(field) && (!field.showIf || field.showIf({ values: values }))) {
|
|
1132
1132
|
var key = makeIdString({ array: field.inlineFields, key: "fieldLabel" });
|
|
1133
1133
|
return (jsx(SplitLineField, { fade: shouldFade({ isDeleting: isDeleting, index: index }), field: field, formikProps: formikProps, formWidth: targetMeasure === null || targetMeasure === void 0 ? void 0 : targetMeasure.width, observeScrollRef: observeScrollRef, rowGap: rowGap, setHasValues: setHasValues, setSubmitAttempt: setSubmitAttempt, submitAttempt: submitAttempt, submitOnBlur: submitOnBlur }, "".concat(key, "_").concat(index)));
|
|
@@ -1238,11 +1238,23 @@ Form.defaultProps = {
|
|
|
1238
1238
|
|
|
1239
1239
|
var CANCEL_BUTTON_TEXT_DEFAULT = "Cancel";
|
|
1240
1240
|
var SUBMIT_BUTTON_TEXT_DEFAULT = "Submit";
|
|
1241
|
+
var FormSubmitWatcher = function (_a) {
|
|
1242
|
+
var setHasSubmitted = _a.setHasSubmitted;
|
|
1243
|
+
var isValidating = useFormikContext().isValidating;
|
|
1244
|
+
useEffect(function () {
|
|
1245
|
+
if (isValidating) {
|
|
1246
|
+
setHasSubmitted(true);
|
|
1247
|
+
}
|
|
1248
|
+
}, [isValidating]);
|
|
1249
|
+
return null; // This component does not render anything
|
|
1250
|
+
};
|
|
1241
1251
|
var FormikContainer = function (props) {
|
|
1242
1252
|
var disableSubmitUntilValid = props.disableSubmitUntilValid, enableReinitialize = props.enableReinitialize, fields = props.fields, innerRef = props.innerRef, resetOnSubmit = props.resetOnSubmit, submit = props.submit, _a = props.validateOnBlur, validateOnBlur = _a === void 0 ? false : _a;
|
|
1243
1253
|
var _b = useState(false), submitAttempt = _b[0], setSubmitAttempt = _b[1];
|
|
1244
1254
|
var _c = useState(false), hasValues = _c[0], setHasValues = _c[1];
|
|
1245
1255
|
var _d = useState({}), configurableInputFieldActiveIds = _d[0], setConfigurableInputFieldActiveIds = _d[1];
|
|
1256
|
+
// Track if the form has been submitted. If it has, we're going to validate on change and blur
|
|
1257
|
+
var _e = useState(false), hasSubmitted = _e[0], setHasSubmitted = _e[1];
|
|
1246
1258
|
return (jsx(Formik, __assign({ enableReinitialize: enableReinitialize, initialValues: formatInitialValues(fields), innerRef: innerRef, onSubmit: function (values, formikHelpers) {
|
|
1247
1259
|
var resetForm = formikHelpers.resetForm;
|
|
1248
1260
|
setSubmitAttempt(false);
|
|
@@ -1251,8 +1263,8 @@ var FormikContainer = function (props) {
|
|
|
1251
1263
|
resetForm({});
|
|
1252
1264
|
setHasValues(false);
|
|
1253
1265
|
}
|
|
1254
|
-
}, validateOnBlur: validateOnBlur, validateOnMount: disableSubmitUntilValid, validationSchema: formatValidation(fields, configurableInputFieldActiveIds) }, { children: function (formikProps) {
|
|
1255
|
-
return (jsx(Form, __assign({}, props, { formikProps: formikProps, hasValues: hasValues, submitAttempt: submitAttempt, setHasValues: setHasValues, setSubmitAttempt: setSubmitAttempt, configurableInputFieldActiveIds: configurableInputFieldActiveIds, setConfigurableInputFieldActiveIds: setConfigurableInputFieldActiveIds }), void 0));
|
|
1266
|
+
}, validateOnBlur: validateOnBlur || hasSubmitted, validateOnChange: validateOnBlur || hasSubmitted, validateOnMount: disableSubmitUntilValid, validationSchema: formatValidation(fields, configurableInputFieldActiveIds) }, { children: function (formikProps) {
|
|
1267
|
+
return (jsx(Form, __assign({}, props, { formikProps: formikProps, hasValues: hasValues, submitAttempt: submitAttempt, setHasValues: setHasValues, setSubmitAttempt: setSubmitAttempt, configurableInputFieldActiveIds: configurableInputFieldActiveIds, setConfigurableInputFieldActiveIds: setConfigurableInputFieldActiveIds }, { children: jsx(FormSubmitWatcher, { setHasSubmitted: setHasSubmitted }, void 0) }), void 0));
|
|
1256
1268
|
} }), void 0));
|
|
1257
1269
|
};
|
|
1258
1270
|
FormikContainer.defaultProps = {
|
|
@@ -1267,4 +1279,4 @@ FormikContainer.defaultProps = {
|
|
|
1267
1279
|
};
|
|
1268
1280
|
|
|
1269
1281
|
export { FormikContainer as F };
|
|
1270
|
-
//# sourceMappingURL=FormikContainer-
|
|
1282
|
+
//# sourceMappingURL=FormikContainer-420de28e.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormikContainer-
|
|
1
|
+
{"version":3,"file":"FormikContainer-420de28e.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/lib/esm/index.js
CHANGED
|
@@ -47,7 +47,7 @@ import { A as ASTERISK_OFFSET_SPACE } from './helpers-e2f33583.js';
|
|
|
47
47
|
export { D as DrawerDivider } from './DrawerDivider-5b10a31b.js';
|
|
48
48
|
export { E as EmailInput } from './EmailInput-949cc132.js';
|
|
49
49
|
export { Footer } from './Footer.js';
|
|
50
|
-
export { F as Form } from './FormikContainer-
|
|
50
|
+
export { F as Form } from './FormikContainer-420de28e.js';
|
|
51
51
|
export { FormFieldTypeEnum, RemovableFieldTypeEnum } from './FormFieldTypeEnum.js';
|
|
52
52
|
export { F as FiltersBar } from './FiltersBar-a6dbd832.js';
|
|
53
53
|
export { H as HorizontalTabMenu } from './HorizontalTabMenu-417ead69.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { InternalFormType } from "./types";
|
|
2
2
|
export declare const CLEAR_FORM_BUTTON_TEXT = "Clear Form";
|
|
3
3
|
export declare const Form: {
|
|
4
|
-
<T extends Record<string, any>>({ addButtons, addButtonWidth, cancelButtonText, cancelButtonFunction, clearFormButton, clearOnBottom, configurableInputFieldActiveIds, disableSubmit, disableSubmitUntilValid, fields, formikProps, hasValues, hideSubmitButton, leftLabels, leftLabelsRightGutter, leftLabelWidth, loading, loadingFieldsNumber, maximumHeight, nextButton, observeScrollRef, rowGap, stickyFooter, submitAttempt, submitButtonLoading, setConfigurableInputFieldActiveIds, setHasValues, setSubmitAttempt, submitButtonAlign, submitButtonText, submitOnBlur, title, themeOverride, thinStickyPadding, }: InternalFormType<T>): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
<T extends Record<string, any>>({ addButtons, addButtonWidth, cancelButtonText, cancelButtonFunction, children, clearFormButton, clearOnBottom, configurableInputFieldActiveIds, disableSubmit, disableSubmitUntilValid, fields, formikProps, hasValues, hideSubmitButton, leftLabels, leftLabelsRightGutter, leftLabelWidth, loading, loadingFieldsNumber, maximumHeight, nextButton, observeScrollRef, rowGap, stickyFooter, submitAttempt, submitButtonLoading, setConfigurableInputFieldActiveIds, setHasValues, setSubmitAttempt, submitButtonAlign, submitButtonText, submitOnBlur, title, themeOverride, thinStickyPadding, }: InternalFormType<T>): import("react/jsx-runtime").JSX.Element;
|
|
5
5
|
defaultProps: {
|
|
6
6
|
cancelButtonText: string;
|
|
7
7
|
nextButton: boolean;
|
|
@@ -74,6 +74,7 @@ export interface FormType<FormData extends Record<string, any> = Record<string,
|
|
|
74
74
|
validateOnBlur?: boolean;
|
|
75
75
|
}
|
|
76
76
|
export interface InternalFormType<T extends Record<string, any> = Record<string, any>> extends FormType<T> {
|
|
77
|
+
children?: ReactNode;
|
|
77
78
|
disableSubmitUntilValid?: boolean;
|
|
78
79
|
formikProps: any;
|
|
79
80
|
hasValues: boolean;
|