mui-custom-form 1.1.1 → 1.1.3
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/README.md +1 -1
- package/dist/CustomForm.d.ts +1 -1
- package/dist/CustomForm.js +5 -5
- package/dist/types.d.ts +3 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -189,7 +189,7 @@ const Fields = z.object({
|
|
|
189
189
|
.array(z.enum(HOBBIES), { required_error: "Hobbies are required" })
|
|
190
190
|
.nonempty("Please choose at least one hobby"),
|
|
191
191
|
birthDate: z.date({ required_error: "Birthdate is required" }),
|
|
192
|
-
file: z.instanceof(
|
|
192
|
+
file: z.instanceof(FileList).optional(),
|
|
193
193
|
});
|
|
194
194
|
|
|
195
195
|
type FieldTypes = z.infer<typeof Fields>;
|
package/dist/CustomForm.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { FieldValues } from "react-hook-form";
|
|
3
3
|
import { ICustomForm } from "./types";
|
|
4
|
-
export declare const CustomForm: <T extends FieldValues>({ fieldsGroups, onSubmit, formControl, submitButton, resetButton, actionButtonsPlacement, otherProps, }: ICustomForm<T>) => React.JSX.Element;
|
|
4
|
+
export declare const CustomForm: <T extends FieldValues>({ fieldsGroups, onSubmit, formControl, submitButton, resetButton, actionButtonsPlacement, layout, otherProps, }: ICustomForm<T>) => React.JSX.Element;
|
package/dist/CustomForm.js
CHANGED
|
@@ -30,8 +30,8 @@ var x_date_pickers_1 = require("@mui/x-date-pickers");
|
|
|
30
30
|
var react_1 = __importDefault(require("react"));
|
|
31
31
|
var react_hook_form_1 = require("react-hook-form");
|
|
32
32
|
var CustomForm = function (_a) {
|
|
33
|
-
var fieldsGroups = _a.fieldsGroups, onSubmit = _a.onSubmit, formControl = _a.formControl, _b = _a.submitButton, submitButton = _b === void 0 ? true : _b, resetButton = _a.resetButton, actionButtonsPlacement = _a.actionButtonsPlacement, otherProps = _a.otherProps;
|
|
34
|
-
var control = formControl.control, setValue = formControl.setValue, reset = formControl.reset
|
|
33
|
+
var fieldsGroups = _a.fieldsGroups, onSubmit = _a.onSubmit, formControl = _a.formControl, _b = _a.submitButton, submitButton = _b === void 0 ? true : _b, resetButton = _a.resetButton, actionButtonsPlacement = _a.actionButtonsPlacement, layout = _a.layout, otherProps = _a.otherProps;
|
|
34
|
+
var control = formControl.control, setValue = formControl.setValue, reset = formControl.reset;
|
|
35
35
|
var renderField = function (field) {
|
|
36
36
|
switch (field.type) {
|
|
37
37
|
case "text":
|
|
@@ -76,7 +76,7 @@ var CustomForm = function (_a) {
|
|
|
76
76
|
"Upload File",
|
|
77
77
|
react_1.default.createElement("input", __assign({ type: "file", hidden: true, onChange: function (e) {
|
|
78
78
|
var fileValue = e.target.files && e.target.files.length > 0
|
|
79
|
-
? e.target.files
|
|
79
|
+
? e.target.files
|
|
80
80
|
: undefined;
|
|
81
81
|
setValue(field.name, fileValue);
|
|
82
82
|
} }, field.otherProps)))));
|
|
@@ -135,8 +135,8 @@ var CustomForm = function (_a) {
|
|
|
135
135
|
};
|
|
136
136
|
var submitButtonProps = submitButton && submitButton !== true ? submitButton : {};
|
|
137
137
|
var resetButtonProps = resetButton && resetButton !== true ? resetButton : {};
|
|
138
|
-
return (react_1.default.createElement(material_1.Stack, __assign({ component: "form", onSubmit: formControl.handleSubmit(onSubmit[0], onSubmit[1]), noValidate: true }, otherProps, { spacing: 3 }),
|
|
139
|
-
|
|
138
|
+
return (react_1.default.createElement(material_1.Stack, __assign({ component: "form", onSubmit: formControl.handleSubmit(onSubmit[0], onSubmit[1]), noValidate: true, direction: layout }, otherProps, { spacing: 3 }),
|
|
139
|
+
fieldsGroups.map(function (fields, rowIndex) { return (react_1.default.createElement(material_1.Grid2, { container: true, key: rowIndex, spacing: 2, className: "debug" }, fields.map(function (field, fieldIndex) { return (react_1.default.createElement(material_1.Grid2, { key: fieldIndex, size: field.span || 12 }, renderField(field))); }))); }),
|
|
140
140
|
react_1.default.createElement(material_1.Stack, { direction: "row", justifyContent: actionButtonsPlacement || "flex-end", spacing: 2 },
|
|
141
141
|
resetButton && (react_1.default.createElement(material_1.Button, __assign({ type: "reset", variant: "contained", onClick: function () { return reset(); } }, resetButtonProps), "Reset")),
|
|
142
142
|
submitButton && (react_1.default.createElement(material_1.Button, __assign({ type: "submit", variant: "contained" }, submitButtonProps), "Submit")))));
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ButtonProps } from "@mui/material";
|
|
1
|
+
import { ButtonProps, StackProps } from "@mui/material";
|
|
2
2
|
import { CSSProperties } from "react";
|
|
3
3
|
import { FieldValues, SubmitErrorHandler, SubmitHandler, useForm } from "react-hook-form";
|
|
4
4
|
type name<T> = T extends string ? string : keyof T;
|
|
@@ -40,7 +40,8 @@ export interface ICustomForm<T extends FieldValues> {
|
|
|
40
40
|
actionButtonsPlacement?: CSSProperties["justifyContent"];
|
|
41
41
|
submitButton?: ButtonProps | boolean;
|
|
42
42
|
resetButton?: ButtonProps | boolean;
|
|
43
|
-
|
|
43
|
+
layout?: StackProps["direction"];
|
|
44
|
+
otherProps?: StackProps;
|
|
44
45
|
}
|
|
45
46
|
export interface CustomComponentProps {
|
|
46
47
|
value: any;
|
package/package.json
CHANGED