From 18219d68ad164d9499cdf629f1916b9320aa2891 Mon Sep 17 00:00:00 2001 From: HamidReza Qafoori Date: Sun, 21 Apr 2024 14:17:28 +0330 Subject: [PATCH 1/3] feat(form): Add formProps property --- dist/components/form/form.d.ts | 1 + dist/index.js | 4 ++-- src/components/form/form.tsx | 6 ++++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/dist/components/form/form.d.ts b/dist/components/form/form.d.ts index 1968042e..740435a6 100644 --- a/dist/components/form/form.d.ts +++ b/dist/components/form/form.d.ts @@ -5,6 +5,7 @@ export interface FormProps extends Omit, 'title' children?: React.ReactNode; title?: React.ReactNode; description?: string; + formProps?: React.ComponentProps<'form'>; } declare class Form extends React.Component { render(): React.ReactNode; diff --git a/dist/index.js b/dist/index.js index 3ca478e3..fa5c35a0 100644 --- a/dist/index.js +++ b/dist/index.js @@ -4558,9 +4558,9 @@ var Form = /** @class */ (function (_super) { return _super !== null && _super.apply(this, arguments) || this; } Form.prototype.render = function () { - var _a = this.props, className = _a.className, children = _a.children, title = _a.title, description = _a.description, props = __rest(_a, ["className", "children", "title", "description"]); + var _a = this.props, className = _a.className, children = _a.children, title = _a.title, description = _a.description, formProps = _a.formProps, props = __rest(_a, ["className", "children", "title", "description", "formProps"]); var componentClassName = classNames('form-container', className); - return (React.createElement("form", null, + return (React.createElement("form", __assign({}, formProps), React.createElement("div", __assign({ className: componentClassName }, props), React.createElement("h4", { className: "form-title" }, title), React.createElement("p", { className: "form-description" }, description), diff --git a/src/components/form/form.tsx b/src/components/form/form.tsx index 5681de10..7ebea7da 100644 --- a/src/components/form/form.tsx +++ b/src/components/form/form.tsx @@ -9,15 +9,17 @@ export interface FormProps children?: React.ReactNode; title?: React.ReactNode; description?: string; + formProps?: React.ComponentProps<'form'>; } class Form extends React.Component { render(): React.ReactNode { - const { className, children, title, description, ...props } = this.props; + const { className, children, title, description, formProps, ...props } = + this.props; const componentClassName = classNames('form-container', className); return ( -
+

{title}

{description}

From 7581afef356bf4149fbed8591f8da0ba894e32e4 Mon Sep 17 00:00:00 2001 From: HamidReza Qafoori Date: Sun, 21 Apr 2024 14:54:43 +0330 Subject: [PATCH 2/3] feat(file-input): Add buttonType property --- dist/components/file-input/index.d.ts | 1 + dist/index.js | 2 +- src/components/file-input/index.tsx | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/dist/components/file-input/index.d.ts b/dist/components/file-input/index.d.ts index dc14d949..4b09c109 100644 --- a/dist/components/file-input/index.d.ts +++ b/dist/components/file-input/index.d.ts @@ -25,6 +25,7 @@ export interface FileInputProps extends React.HTMLProps { tryAgainText?: string | React.ReactNode; inputRef?: React.RefObject; isClear?: boolean; + buttonType?: React.ButtonHTMLAttributes['type']; } export interface FileInputState { touched: boolean; diff --git a/dist/index.js b/dist/index.js index fa5c35a0..fe571e2d 100644 --- a/dist/index.js +++ b/dist/index.js @@ -4374,7 +4374,7 @@ var FileInput = /** @class */ (function (_super) { files.map(function (file, index) { return _this.renderFiles(states && states[index], file, index); }), - React.createElement(button_1.default, { disabled: disabled, primary: true }, + React.createElement(button_1.default, { type: props.buttonType, disabled: disabled, primary: true }, children ? children : 'افزودن فایل', React.createElement("input", __assign({ disabled: disabled, type: "file", ref: inputRef, onChange: this.handleInput, value: "" }, props)))))); }; diff --git a/src/components/file-input/index.tsx b/src/components/file-input/index.tsx index eb02fd32..2c444d61 100644 --- a/src/components/file-input/index.tsx +++ b/src/components/file-input/index.tsx @@ -31,6 +31,7 @@ export interface FileInputProps extends React.HTMLProps { tryAgainText?: string | React.ReactNode; inputRef?: React.RefObject; isClear?: boolean; + buttonType?: React.ButtonHTMLAttributes['type']; } export interface FileInputState { @@ -138,7 +139,7 @@ class FileInput extends React.Component { files.map((file, index) => this.renderFiles(states && states[index], file, index), )} -