@uxf/form 11.31.2 → 11.33.0
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/avatar-file-input/avatar-file-input.js +5 -5
- package/avatar-file-input/avatar-file-input.stories.js +1 -2
- package/checkbox-button/checkbox-button.js +5 -5
- package/checkbox-button/checkbox-button.stories.js +5 -6
- package/checkbox-input/checkbox-input.js +5 -5
- package/checkbox-input/checkbox-input.stories.js +5 -6
- package/color-radio-group/color-radio-group.js +5 -5
- package/color-radio-group/color-radio-group.stories.js +1 -2
- package/combobox/combobox.js +7 -5
- package/combobox/combobox.stories.js +6 -7
- package/date-picker-input/date-picker-input.js +7 -7
- package/date-picker-input/date-picker-input.stories.js +2 -3
- package/date-range-picker-input/date-range-picker-input.js +7 -7
- package/date-range-picker-input/date-range-picker-input.stories.js +4 -5
- package/datetime-picker-input/datetime-picker-input.js +7 -7
- package/datetime-picker-input/datetime-picker-input.stories.js +5 -6
- package/dropzone/dropzone-input.js +6 -6
- package/dropzone/dropzone-list.js +2 -3
- package/dropzone/dropzone.stories.js +9 -11
- package/file-input/file-input.js +5 -5
- package/file-input/file-input.stories.js +3 -4
- package/form/form.js +1 -2
- package/form/form.stories.js +4 -6
- package/form-id-context/form-id-context.d.ts +0 -1
- package/gps-input/gps-input.js +8 -7
- package/gps-input/gps-input.stories.js +3 -4
- package/multi-combobox/multi-combobox.js +7 -5
- package/multi-combobox/multi-combobox.stories.js +3 -4
- package/multi-select/multi-select.js +5 -5
- package/multi-select/multi-select.stories.js +2 -3
- package/number-input/number-input.js +5 -5
- package/number-input/number-input.stories.js +5 -6
- package/package.json +8 -8
- package/password-input/password-input.js +6 -6
- package/password-input/password-input.stories.js +3 -4
- package/radio-group/radio-group.js +5 -5
- package/radio-group/radio-group.stories.js +1 -2
- package/readmes.d.ts +0 -1
- package/select/select.js +5 -5
- package/select/select.stories.js +4 -5
- package/storybook/form-data-printer.js +1 -2
- package/storybook/storybook-form.js +2 -3
- package/text-input/text-input.js +5 -5
- package/text-input/text-input.stories.js +6 -7
- package/textarea/textarea.js +5 -5
- package/textarea/textarea.stories.js +3 -4
- package/time-picker-input/time-picker-input.js +7 -7
- package/time-picker-input/time-picker-input.stories.js +1 -2
- package/toggle/toggle.js +5 -5
- package/toggle/toggle.stories.js +4 -5
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.DropzoneList =
|
|
6
|
+
exports.DropzoneList = DropzoneList;
|
|
7
7
|
const dropzone_1 = require("@uxf/ui/dropzone");
|
|
8
8
|
const react_1 = __importDefault(require("react"));
|
|
9
9
|
const react_hook_form_1 = require("react-hook-form");
|
|
@@ -17,7 +17,6 @@ function DropzoneList(props) {
|
|
|
17
17
|
field.onChange(value);
|
|
18
18
|
(_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, event);
|
|
19
19
|
};
|
|
20
|
-
return (react_1.default.createElement(dropzone_1.Dropzone.List, { className: props.className, errorText: props.errorText, isDownloadableOnClick: props.isDownloadableOnClick, onChange: onChange, onRemoveConfirm: props.onRemoveConfirm, renderItem: props.renderItem, style: props.style, value: field.value
|
|
20
|
+
return (react_1.default.createElement(dropzone_1.Dropzone.List, { className: props.className, errorText: props.errorText, isDownloadableOnClick: props.isDownloadableOnClick, name: props.name, onChange: onChange, onRemoveConfirm: props.onRemoveConfirm, renderItem: props.renderItem, style: props.style, value: field.value }));
|
|
21
21
|
}
|
|
22
|
-
exports.DropzoneList = DropzoneList;
|
|
23
22
|
DropzoneList.displayName = "UxfFormDropzoneList";
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Default =
|
|
6
|
+
exports.Default = Default;
|
|
7
7
|
const button_1 = require("@uxf/ui/button");
|
|
8
8
|
const message_1 = require("@uxf/ui/message");
|
|
9
9
|
const get_dropzone_state_1 = require("@uxf/ui/utils/get-dropzone-state");
|
|
@@ -57,15 +57,13 @@ function Default() {
|
|
|
57
57
|
};
|
|
58
58
|
return (react_1.default.createElement(storybook_form_1.StorybookForm, { defaultValues: { dropzone: DUMMY_FILES } }, ({ control, watch }) => {
|
|
59
59
|
const { status } = (0, get_dropzone_state_1.getDropzoneState)(watch("dropzone"));
|
|
60
|
-
return (react_1.default.createElement(
|
|
61
|
-
react_1.default.createElement("div", { className: "
|
|
62
|
-
react_1.default.createElement("div", { className: "space-y-
|
|
63
|
-
react_1.default.createElement(
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
react_1.default.createElement(index_1.Dropzone.List, { control: control, errorText: "Oops, n\u011Bco se pokazilo", name: "dropzone", onRemoveConfirm: onRemoveConfirm }))))));
|
|
60
|
+
return (react_1.default.createElement("div", { className: "flex flex-col lg:flex-row" },
|
|
61
|
+
react_1.default.createElement("div", { className: "space-y-2 p-20 lg:w-1/2" },
|
|
62
|
+
react_1.default.createElement("div", { className: "space-y-8" },
|
|
63
|
+
react_1.default.createElement(index_1.Dropzone, { accept: {
|
|
64
|
+
"image/png": [".png"],
|
|
65
|
+
}, control: control, helperText: "Allow multiple files, 1MB max file size, only .png", isDisabled: status === "UPLOADING", isRequired: true, label: "Use drag and drop or click to upload", maxFileSize: 1024 * 1024, name: "dropzone", onUploadError: onUploadError, onUploadFile: upload_file_mock_1.uploadFile }),
|
|
66
|
+
react_1.default.createElement(button_1.Button, { type: "submit" }, "Submit"),
|
|
67
|
+
react_1.default.createElement(index_1.Dropzone.List, { control: control, errorText: "Oops, n\u011Bco se pokazilo", name: "dropzone", onRemoveConfirm: onRemoveConfirm })))));
|
|
69
68
|
}));
|
|
70
69
|
}
|
|
71
|
-
exports.Default = Default;
|
package/file-input/file-input.js
CHANGED
|
@@ -3,13 +3,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.FileInput =
|
|
6
|
+
exports.FileInput = FileInput;
|
|
7
|
+
const is_not_nil_1 = require("@uxf/core/utils/is-not-nil");
|
|
7
8
|
const file_input_1 = require("@uxf/ui/file-input");
|
|
8
9
|
const react_1 = __importDefault(require("react"));
|
|
9
10
|
const react_hook_form_1 = require("react-hook-form");
|
|
10
11
|
const form_id_context_1 = require("../form-id-context");
|
|
11
12
|
function FileInput(props) {
|
|
12
|
-
var _a, _b, _c
|
|
13
|
+
var _a, _b, _c;
|
|
13
14
|
const formId = (0, form_id_context_1.useFormIdContext)();
|
|
14
15
|
const id = (_a = props.id) !== null && _a !== void 0 ? _a : `${formId}__${props.name}`;
|
|
15
16
|
const { field, fieldState } = (0, react_hook_form_1.useController)({
|
|
@@ -17,7 +18,7 @@ function FileInput(props) {
|
|
|
17
18
|
name: props.name,
|
|
18
19
|
rules: {
|
|
19
20
|
required: props.isRequired ? props.requiredMessage || "Toto pole je povinné" : undefined,
|
|
20
|
-
...
|
|
21
|
+
...props.rules,
|
|
21
22
|
},
|
|
22
23
|
shouldUnregister: props.shouldUnregister,
|
|
23
24
|
});
|
|
@@ -31,7 +32,6 @@ function FileInput(props) {
|
|
|
31
32
|
field.onChange(value);
|
|
32
33
|
(_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, event);
|
|
33
34
|
};
|
|
34
|
-
return (react_1.default.createElement(file_input_1.FileInput, { accept: props.accept, className: props.className, form: props.form, helperText: (
|
|
35
|
+
return (react_1.default.createElement(file_input_1.FileInput, { accept: props.accept, className: props.className, form: props.form, helperText: (_c = (_b = fieldState.error) === null || _b === void 0 ? void 0 : _b.message) !== null && _c !== void 0 ? _c : props.helperText, hiddenLabel: props.hiddenLabel, id: id, isClearable: props.isClearable, isDisabled: props.isDisabled, isInvalid: (0, is_not_nil_1.isNotNil)(fieldState.error), isReadOnly: props.isReadOnly, isRequired: props.isRequired, label: props.label, maxFileSize: props.maxFileSize, name: field.name, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, onUploadError: props.onUploadError, onUploadFile: props.onUploadFile, placeholder: props.placeholder, ref: field.ref, size: props.size, uploadButtonLabel: props.uploadButtonLabel, value: field.value, variant: props.variant }));
|
|
35
36
|
}
|
|
36
|
-
exports.FileInput = FileInput;
|
|
37
37
|
FileInput.displayName = "FileInput";
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Default =
|
|
6
|
+
exports.Default = Default;
|
|
7
7
|
const button_1 = require("@uxf/ui/button");
|
|
8
8
|
const upload_file_mock_1 = require("@uxf/ui/utils/mocks/upload-file.mock");
|
|
9
9
|
const react_1 = __importDefault(require("react"));
|
|
@@ -22,11 +22,10 @@ const DUMMY_FILE = {
|
|
|
22
22
|
};
|
|
23
23
|
function Default() {
|
|
24
24
|
const storyFormFileInputs = (control, mode) => (react_1.default.createElement("div", { className: "space-y-4" },
|
|
25
|
-
react_1.default.createElement(file_input_1.FileInput, { control: control, label: "Default file input", name: `default-${mode}`, onUploadFile: upload_file_mock_1.uploadFile,
|
|
25
|
+
react_1.default.createElement(file_input_1.FileInput, { control: control, isClearable: true, label: "Default file input", name: `default-${mode}`, onUploadFile: upload_file_mock_1.uploadFile, placeholder: "Nahraj soubor" }),
|
|
26
26
|
react_1.default.createElement(file_input_1.FileInput, { control: control, id: `required-${mode}`, isRequired: true, label: "Required file input", name: `required-${mode}`, onUploadFile: upload_file_mock_1.uploadFile }),
|
|
27
|
-
react_1.default.createElement(file_input_1.FileInput, { control: control, label: "Custom button label", name: `default-${mode}`, onUploadFile: upload_file_mock_1.uploadFile,
|
|
27
|
+
react_1.default.createElement(file_input_1.FileInput, { control: control, isClearable: true, label: "Custom button label", name: `default-${mode}`, onUploadFile: upload_file_mock_1.uploadFile, placeholder: "Nahrajte soubor", uploadButtonLabel: "Nahrajte dokument" }),
|
|
28
28
|
react_1.default.createElement(button_1.Button, { type: "submit" }, "Submit")));
|
|
29
29
|
return (react_1.default.createElement(storybook_form_1.StorybookForm, { defaultValues: { "default-light": DUMMY_FILE } }, ({ control }) => (react_1.default.createElement("div", { className: "flex flex-col lg:flex-row" },
|
|
30
30
|
react_1.default.createElement("div", { className: "space-y-2 p-20 lg:w-1/2" }, storyFormFileInputs(control, "light"))))));
|
|
31
31
|
}
|
|
32
|
-
exports.Default = Default;
|
package/form/form.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Form =
|
|
6
|
+
exports.Form = Form;
|
|
7
7
|
const sr_only_1 = require("@uxf/styles/mixins/sr-only");
|
|
8
8
|
const react_1 = __importDefault(require("react"));
|
|
9
9
|
const react_hook_form_1 = require("react-hook-form");
|
|
@@ -16,5 +16,4 @@ function Form(props) {
|
|
|
16
16
|
props.children,
|
|
17
17
|
!props.omitSubmitInput && react_1.default.createElement("input", { style: sr_only_1.srOnly, type: "submit" })))));
|
|
18
18
|
}
|
|
19
|
-
exports.Form = Form;
|
|
20
19
|
Form.displayName = "UxfForm";
|
package/form/form.stories.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Default =
|
|
6
|
+
exports.Default = Default;
|
|
7
7
|
const button_1 = require("@uxf/ui/button");
|
|
8
8
|
const react_1 = __importDefault(require("react"));
|
|
9
9
|
const react_hook_form_1 = require("react-hook-form");
|
|
@@ -18,9 +18,7 @@ function Default() {
|
|
|
18
18
|
return (
|
|
19
19
|
// eslint-disable-next-line no-console
|
|
20
20
|
react_1.default.createElement(form_1.Form, { formApi: formApi, id: "form", onSubmit: console.log },
|
|
21
|
-
react_1.default.createElement(
|
|
22
|
-
react_1.default.createElement(
|
|
23
|
-
|
|
24
|
-
react_1.default.createElement(button_1.Button, { type: "submit" }, "Submit")))));
|
|
21
|
+
react_1.default.createElement("div", { className: "mb-4 space-y-4 p-4" },
|
|
22
|
+
react_1.default.createElement(text_input_1.TextInput, { control: formApi.control, isRequired: true, label: "Default input", name: "default" }),
|
|
23
|
+
react_1.default.createElement(button_1.Button, { type: "submit" }, "Submit"))));
|
|
25
24
|
}
|
|
26
|
-
exports.Default = Default;
|
package/gps-input/gps-input.js
CHANGED
|
@@ -26,7 +26,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.GpsInput =
|
|
29
|
+
exports.GpsInput = GpsInput;
|
|
30
|
+
const is_not_nil_1 = require("@uxf/core/utils/is-not-nil");
|
|
30
31
|
const text_input_1 = require("@uxf/ui/text-input");
|
|
31
32
|
const tooltip_1 = require("@uxf/ui/tooltip");
|
|
32
33
|
const coordinate_parser_1 = __importDefault(require("coordinate-parser"));
|
|
@@ -86,7 +87,7 @@ const SUPPORTED_FORMATS_TOOLTIP = (react_1.default.createElement("span", { class
|
|
|
86
87
|
const EMPTY_HELPER_TEXT = "Zadejte souřadnice.";
|
|
87
88
|
const NOT_VALID_HELPER_TEXT = "Souřadnice nejsou validní";
|
|
88
89
|
function GpsInput(props) {
|
|
89
|
-
var _a, _b
|
|
90
|
+
var _a, _b;
|
|
90
91
|
const formId = (0, form_id_context_1.useFormIdContext)();
|
|
91
92
|
const id = (_a = props.id) !== null && _a !== void 0 ? _a : `${formId}__${props.name}`;
|
|
92
93
|
const [visualValue, setVisualValue] = (0, react_1.useState)("");
|
|
@@ -95,13 +96,13 @@ function GpsInput(props) {
|
|
|
95
96
|
control: props.control,
|
|
96
97
|
name: props.name,
|
|
97
98
|
rules: {
|
|
98
|
-
...
|
|
99
|
+
...props.rules,
|
|
99
100
|
validate: {
|
|
100
|
-
...(
|
|
101
|
+
...(_b = props.rules) === null || _b === void 0 ? void 0 : _b.validate,
|
|
101
102
|
req: (value) => {
|
|
102
103
|
var _a;
|
|
103
104
|
return props.isRequired && value === undefined
|
|
104
|
-
? (_a = props.requiredMessage) !== null && _a !== void 0 ? _a : "Toto pole je povinné"
|
|
105
|
+
? ((_a = props.requiredMessage) !== null && _a !== void 0 ? _a : "Toto pole je povinné")
|
|
105
106
|
: undefined;
|
|
106
107
|
},
|
|
107
108
|
format: (value) => {
|
|
@@ -129,6 +130,7 @@ function GpsInput(props) {
|
|
|
129
130
|
setCoordsFormatError(false);
|
|
130
131
|
field.onChange({ lat: coords.getLatitude(), lng: coords.getLongitude() });
|
|
131
132
|
(_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, event);
|
|
133
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
132
134
|
}
|
|
133
135
|
catch (e) {
|
|
134
136
|
setCoordsFormatError(true);
|
|
@@ -146,7 +148,6 @@ function GpsInput(props) {
|
|
|
146
148
|
: EMPTY_HELPER_TEXT,
|
|
147
149
|
" ",
|
|
148
150
|
SUPPORTED_FORMATS_TOOLTIP));
|
|
149
|
-
return (react_1.default.createElement(text_input_1.TextInput, { autoComplete: props.autoComplete, autoFocus: props.autoFocus, className: props.className, enterKeyHint: props.enterKeyHint, form: props.form, helperText: composedHelperText, hiddenLabel: props.hiddenLabel, id: id, inputMode: props.inputMode, isDisabled: props.isDisabled, isInvalid: (
|
|
151
|
+
return (react_1.default.createElement(text_input_1.TextInput, { autoComplete: props.autoComplete, autoFocus: props.autoFocus, className: props.className, enterKeyHint: props.enterKeyHint, form: props.form, helperText: composedHelperText, hiddenLabel: props.hiddenLabel, id: id, inputMode: props.inputMode, isDisabled: props.isDisabled, isInvalid: ((0, is_not_nil_1.isNotNil)(fieldState.error) && !field.value) || coordsFormatError, isReadOnly: props.isReadOnly, isRequired: props.isRequired, label: props.label, leftAddon: props.leftAddon, leftElement: props.leftElement, maxLength: props.maxLength, minLength: props.minLength, name: field.name, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, onKeyDown: props.onKeyDown, placeholder: props.placeholder, ref: field.ref, rightAddon: props.rightAddon, rightElement: props.rightElement, size: props.size, style: props.style, type: "text", value: visualValue, variant: props.variant }));
|
|
150
152
|
}
|
|
151
|
-
exports.GpsInput = GpsInput;
|
|
152
153
|
GpsInput.displayName = "UxfFormGpsInput";
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Default =
|
|
6
|
+
exports.Default = Default;
|
|
7
7
|
const button_1 = require("@uxf/ui/button");
|
|
8
8
|
const react_1 = __importDefault(require("react"));
|
|
9
9
|
const storybook_form_1 = require("../storybook/storybook-form");
|
|
@@ -14,10 +14,9 @@ exports.default = {
|
|
|
14
14
|
};
|
|
15
15
|
function Default() {
|
|
16
16
|
const storyFormGpsInputs = (control) => (react_1.default.createElement("div", { className: "space-y-4" },
|
|
17
|
-
react_1.default.createElement(gps_input_1.GpsInput, {
|
|
18
|
-
react_1.default.createElement(gps_input_1.GpsInput, {
|
|
17
|
+
react_1.default.createElement(gps_input_1.GpsInput, { control: control, label: "GPS", name: "gps", placeholder: "Zadejte sou\u0159adnice..." }),
|
|
18
|
+
react_1.default.createElement(gps_input_1.GpsInput, { control: control, isRequired: true, label: "GPS", name: "gps-required", placeholder: "Zadejte sou\u0159adnice..." }),
|
|
19
19
|
react_1.default.createElement(button_1.Button, { type: "submit" }, "Submit")));
|
|
20
20
|
return (react_1.default.createElement(storybook_form_1.StorybookForm, null, ({ control }) => (react_1.default.createElement("div", { className: "flex flex-col lg:flex-row" },
|
|
21
21
|
react_1.default.createElement("div", { className: "space-y-2 p-20 lg:w-1/2" }, storyFormGpsInputs(control))))));
|
|
22
22
|
}
|
|
23
|
-
exports.Default = Default;
|
|
@@ -3,15 +3,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.MultiCombobox =
|
|
6
|
+
exports.MultiCombobox = MultiCombobox;
|
|
7
|
+
const empty_array_1 = require("@uxf/core/constants/empty-array");
|
|
7
8
|
const is_empty_1 = require("@uxf/core/utils/is-empty");
|
|
8
9
|
const is_nil_1 = require("@uxf/core/utils/is-nil");
|
|
10
|
+
const is_not_nil_1 = require("@uxf/core/utils/is-not-nil");
|
|
9
11
|
const multi_combobox_1 = require("@uxf/ui/multi-combobox");
|
|
10
12
|
const react_1 = __importDefault(require("react"));
|
|
11
13
|
const react_hook_form_1 = require("react-hook-form");
|
|
12
14
|
const form_id_context_1 = require("../form-id-context");
|
|
13
15
|
function MultiCombobox(props) {
|
|
14
|
-
var _a, _b, _c, _d
|
|
16
|
+
var _a, _b, _c, _d;
|
|
15
17
|
const formId = (0, form_id_context_1.useFormIdContext)();
|
|
16
18
|
const id = (_a = props.id) !== null && _a !== void 0 ? _a : `${formId}__${props.name}`;
|
|
17
19
|
const { field, fieldState } = (0, react_hook_form_1.useController)({
|
|
@@ -19,7 +21,7 @@ function MultiCombobox(props) {
|
|
|
19
21
|
name: props.name,
|
|
20
22
|
rules: {
|
|
21
23
|
required: props.isRequired ? props.requiredMessage || "Toto pole je povinné" : undefined,
|
|
22
|
-
...
|
|
24
|
+
...props.rules,
|
|
23
25
|
},
|
|
24
26
|
shouldUnregister: props.shouldUnregister,
|
|
25
27
|
});
|
|
@@ -33,7 +35,7 @@ function MultiCombobox(props) {
|
|
|
33
35
|
field.onChange(value);
|
|
34
36
|
(_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, event);
|
|
35
37
|
};
|
|
36
|
-
|
|
38
|
+
const isDisabled = ((0, is_nil_1.isNil)(props.loadOptions) && (0, is_empty_1.isEmpty)((_b = props.options) !== null && _b !== void 0 ? _b : empty_array_1.EMPTY_ARRAY)) || props.isDisabled;
|
|
39
|
+
return (react_1.default.createElement(multi_combobox_1.MultiCombobox, { allOptionsSelectedMessage: props.allOptionsSelectedMessage, className: props.className, dropdownClassName: props.dropdownClassName, dropdownMatchesInputWidth: props.dropdownMatchesInputWidth, dropdownMaxHeight: props.dropdownMaxHeight, dropdownPlacement: props.dropdownPlacement, dropdownStrategy: props.dropdownStrategy, form: props.form, helperText: (_d = (_c = fieldState.error) === null || _c === void 0 ? void 0 : _c.message) !== null && _d !== void 0 ? _d : props.helperText, hiddenLabel: props.hiddenLabel, iconName: props.iconName, id: id, inputArrow: props.inputArrow, isDisabled: isDisabled, isInvalid: (0, is_not_nil_1.isNotNil)(fieldState.error), isReadOnly: props.isReadOnly, isRequired: props.isRequired, label: props.label, leftAddon: props.leftAddon, leftElement: props.leftElement, loadOptions: props.loadOptions, name: field.name, noOptionsMessage: props.noOptionsMessage, noQueryMessage: props.noQueryMessage, notFoundMessage: props.notFoundMessage, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, options: props.options, placeholder: props.placeholder, ref: field.ref, renderOption: props.renderOption, rightAddon: props.rightAddon, rightElement: props.rightElement, size: props.size, style: props.style, value: field.value, variant: props.variant, withCheckboxes: props.withCheckboxes }));
|
|
37
40
|
}
|
|
38
|
-
exports.MultiCombobox = MultiCombobox;
|
|
39
41
|
MultiCombobox.displayName = "UxfFormMultiCombobox";
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Default =
|
|
6
|
+
exports.Default = Default;
|
|
7
7
|
const button_1 = require("@uxf/ui/button");
|
|
8
8
|
const react_1 = __importDefault(require("react"));
|
|
9
9
|
const storybook_form_1 = require("../storybook/storybook-form");
|
|
@@ -33,8 +33,8 @@ function Default() {
|
|
|
33
33
|
react_1.default.createElement(multi_combobox_1.MultiCombobox, { control: control, helperText: "Za\u010Dn\u011Bte ps\u00E1t pro vyhled\u00E1v\u00E1n\u00ED...", id: "form-combobox", isRequired: true, label: "Combobox form required", name: "combobox-required", options: options, placeholder: "Vyberte..." }),
|
|
34
34
|
react_1.default.createElement(multi_combobox_1.MultiCombobox, { control: control, id: "form-combobox", isDisabled: true, label: "Combobox form disabled", name: "combobox-disabled", options: options, placeholder: "Vyberte..." }),
|
|
35
35
|
react_1.default.createElement(multi_combobox_1.MultiCombobox, { control: control, dropdownPlacement: "top", id: "form-combobox", label: "Combobox form with dropdown top", name: "select-dropdown-top", options: options, placeholder: "Vyberte..." }),
|
|
36
|
-
react_1.default.createElement(multi_combobox_1.MultiCombobox, { control: control, dropdownPlacement: "top", id: "form-combobox", label: "Combobox async",
|
|
37
|
-
react_1.default.createElement(multi_combobox_1.MultiCombobox, { control: control, dropdownPlacement: "top", id: "form-combobox", label: "Combobox async with default values",
|
|
36
|
+
react_1.default.createElement(multi_combobox_1.MultiCombobox, { control: control, dropdownPlacement: "top", id: "form-combobox", label: "Combobox async", loadOptions: (query) => Promise.resolve(options.filter((option) => !query || option.label.toLowerCase().includes(query.toLowerCase()))), name: "select-dropdown-async", placeholder: "Vyberte..." }),
|
|
37
|
+
react_1.default.createElement(multi_combobox_1.MultiCombobox, { control: control, dropdownPlacement: "top", id: "form-combobox", label: "Combobox async with default values", loadOptions: (query) => Promise.resolve(options.filter((option) => !query || option.label.toLowerCase().includes(query.toLowerCase()))), name: "select-dropdown-async-default", placeholder: "Vyberte..." }),
|
|
38
38
|
react_1.default.createElement(button_1.Button, { type: "submit" }, "Submit")));
|
|
39
39
|
return (react_1.default.createElement(storybook_form_1.StorybookForm, { defaultValues: {
|
|
40
40
|
combobox1: [
|
|
@@ -52,4 +52,3 @@ function Default() {
|
|
|
52
52
|
} }, ({ control }) => (react_1.default.createElement("div", { className: "flex flex-col lg:flex-row" },
|
|
53
53
|
react_1.default.createElement("div", { className: "space-y-2 p-20 lg:w-1/2" }, storyFormComboboxes(control))))));
|
|
54
54
|
}
|
|
55
|
-
exports.Default = Default;
|
|
@@ -3,14 +3,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.MultiSelect =
|
|
6
|
+
exports.MultiSelect = MultiSelect;
|
|
7
7
|
const is_empty_1 = require("@uxf/core/utils/is-empty");
|
|
8
|
+
const is_not_nil_1 = require("@uxf/core/utils/is-not-nil");
|
|
8
9
|
const multi_select_1 = require("@uxf/ui/multi-select");
|
|
9
10
|
const react_1 = __importDefault(require("react"));
|
|
10
11
|
const react_hook_form_1 = require("react-hook-form");
|
|
11
12
|
const form_id_context_1 = require("../form-id-context");
|
|
12
13
|
function MultiSelect(props) {
|
|
13
|
-
var _a, _b, _c
|
|
14
|
+
var _a, _b, _c;
|
|
14
15
|
const formId = (0, form_id_context_1.useFormIdContext)();
|
|
15
16
|
const id = (_a = props.id) !== null && _a !== void 0 ? _a : `${formId}__${props.name}`;
|
|
16
17
|
const { field, fieldState } = (0, react_hook_form_1.useController)({
|
|
@@ -18,7 +19,7 @@ function MultiSelect(props) {
|
|
|
18
19
|
name: props.name,
|
|
19
20
|
rules: {
|
|
20
21
|
required: props.isRequired ? props.requiredMessage || "Toto pole je povinné" : undefined,
|
|
21
|
-
...
|
|
22
|
+
...props.rules,
|
|
22
23
|
},
|
|
23
24
|
shouldUnregister: props.shouldUnregister,
|
|
24
25
|
});
|
|
@@ -32,7 +33,6 @@ function MultiSelect(props) {
|
|
|
32
33
|
field.onChange(value);
|
|
33
34
|
(_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, event);
|
|
34
35
|
};
|
|
35
|
-
return (react_1.default.createElement(multi_select_1.MultiSelect, { allOptionsSelectedMessage: props.allOptionsSelectedMessage, className: props.className, dropdownClassName: props.dropdownClassName, dropdownMatchesInputWidth: props.dropdownMatchesInputWidth, dropdownMaxHeight: props.dropdownMaxHeight, dropdownPlacement: props.dropdownPlacement, dropdownStrategy: props.dropdownStrategy, form: props.form, helperText: (
|
|
36
|
+
return (react_1.default.createElement(multi_select_1.MultiSelect, { allOptionsSelectedMessage: props.allOptionsSelectedMessage, className: props.className, dropdownClassName: props.dropdownClassName, dropdownMatchesInputWidth: props.dropdownMatchesInputWidth, dropdownMaxHeight: props.dropdownMaxHeight, dropdownPlacement: props.dropdownPlacement, dropdownStrategy: props.dropdownStrategy, form: props.form, helperText: (_c = (_b = fieldState.error) === null || _b === void 0 ? void 0 : _b.message) !== null && _c !== void 0 ? _c : props.helperText, hiddenLabel: props.hiddenLabel, iconName: props.iconName, id: id, inputArrow: props.inputArrow, isDisabled: (0, is_empty_1.isEmpty)(props.options) || props.isDisabled, isInvalid: (0, is_not_nil_1.isNotNil)(fieldState.error), isReadOnly: props.isReadOnly, isRequired: props.isRequired, label: props.label, leftAddon: props.leftAddon, leftElement: props.leftElement, name: field.name, noOptionsMessage: props.noOptionsMessage, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, options: props.options, placeholder: props.placeholder, ref: field.ref, renderOption: props.renderOption, rightAddon: props.rightAddon, rightElement: props.rightElement, size: props.size, style: props.style, value: field.value, variant: props.variant, withCheckboxes: props.withCheckboxes }));
|
|
36
37
|
}
|
|
37
|
-
exports.MultiSelect = MultiSelect;
|
|
38
38
|
MultiSelect.displayName = "UxfFormMultiSelect";
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Default =
|
|
6
|
+
exports.Default = Default;
|
|
7
7
|
const button_1 = require("@uxf/ui/button");
|
|
8
8
|
const react_1 = __importDefault(require("react"));
|
|
9
9
|
const storybook_form_1 = require("../storybook/storybook-form");
|
|
@@ -28,7 +28,7 @@ const options = [
|
|
|
28
28
|
];
|
|
29
29
|
function Default() {
|
|
30
30
|
const storyFormMultiSelect = (control) => (react_1.default.createElement("div", { className: "space-y-8" },
|
|
31
|
-
react_1.default.createElement(multi_select_1.MultiSelect, { control: control, dropdownMaxHeight: 350, helperText: "Vyberte pros\u00EDm jednu nebo v\u00EDce mo\u017Enost\u00ED", id: "form-multi-select", label: "MultiSelect with disabled option", name: "multi-select-with-disabled",
|
|
31
|
+
react_1.default.createElement(multi_select_1.MultiSelect, { control: control, dropdownMaxHeight: 350, helperText: "Vyberte pros\u00EDm jednu nebo v\u00EDce mo\u017Enost\u00ED", id: "form-multi-select", isRequired: true, label: "MultiSelect with disabled option", name: "multi-select-with-disabled", options: options, placeholder: "Vyberte..." }),
|
|
32
32
|
react_1.default.createElement(multi_select_1.MultiSelect, { control: control, id: "form-multi-select", label: "MultiSelect", name: "multi-select", options: options, placeholder: "Vyberte..." }),
|
|
33
33
|
react_1.default.createElement(multi_select_1.MultiSelect, { control: control, id: "form-multi-select-required", label: "MultiSelect required", name: "multi-select-required", options: options, placeholder: "Vyberte..." }),
|
|
34
34
|
react_1.default.createElement(button_1.Button, { type: "submit" }, "Submit")));
|
|
@@ -45,4 +45,3 @@ function Default() {
|
|
|
45
45
|
} }, ({ control }) => (react_1.default.createElement("div", { className: "flex flex-col lg:flex-row" },
|
|
46
46
|
react_1.default.createElement("div", { className: "space-y-2 p-20 lg:w-1/2" }, storyFormMultiSelect(control))))));
|
|
47
47
|
}
|
|
48
|
-
exports.Default = Default;
|
|
@@ -3,13 +3,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.NumberInput =
|
|
6
|
+
exports.NumberInput = NumberInput;
|
|
7
|
+
const is_not_nil_1 = require("@uxf/core/utils/is-not-nil");
|
|
7
8
|
const text_input_1 = require("@uxf/ui/text-input");
|
|
8
9
|
const react_1 = __importDefault(require("react"));
|
|
9
10
|
const react_hook_form_1 = require("react-hook-form");
|
|
10
11
|
const form_id_context_1 = require("../form-id-context");
|
|
11
12
|
function NumberInput(props) {
|
|
12
|
-
var _a, _b, _c, _d, _e, _f
|
|
13
|
+
var _a, _b, _c, _d, _e, _f;
|
|
13
14
|
const formId = (0, form_id_context_1.useFormIdContext)();
|
|
14
15
|
const id = (_a = props.id) !== null && _a !== void 0 ? _a : `${formId}__${props.name}`;
|
|
15
16
|
const { field, fieldState } = (0, react_hook_form_1.useController)({
|
|
@@ -29,7 +30,7 @@ function NumberInput(props) {
|
|
|
29
30
|
}
|
|
30
31
|
: undefined,
|
|
31
32
|
required: props.isRequired ? props.requiredMessage || "Toto pole je povinné" : undefined,
|
|
32
|
-
...
|
|
33
|
+
...props.rules,
|
|
33
34
|
},
|
|
34
35
|
shouldUnregister: props.shouldUnregister,
|
|
35
36
|
});
|
|
@@ -63,7 +64,6 @@ function NumberInput(props) {
|
|
|
63
64
|
field.onChange(returnValue);
|
|
64
65
|
(_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, returnValue, event);
|
|
65
66
|
};
|
|
66
|
-
return (react_1.default.createElement(text_input_1.TextInput, { autoComplete: props.autoComplete, autoFocus: props.autoFocus, className: props.className, enterKeyHint: props.enterKeyHint, form: props.form, helperText: (
|
|
67
|
+
return (react_1.default.createElement(text_input_1.TextInput, { autoComplete: props.autoComplete, autoFocus: props.autoFocus, className: props.className, enterKeyHint: props.enterKeyHint, form: props.form, helperText: (_e = (_d = fieldState.error) === null || _d === void 0 ? void 0 : _d.message) !== null && _e !== void 0 ? _e : props.helperText, hiddenLabel: props.hiddenLabel, id: id, inputMode: props.decimalPlaces ? "decimal" : "numeric", isDisabled: props.isDisabled, isInvalid: (0, is_not_nil_1.isNotNil)(fieldState.error), isReadOnly: props.isReadOnly, isRequired: props.isRequired, label: props.label, leftAddon: props.leftAddon, leftElement: props.leftElement, max: props.max, min: props.min, name: field.name, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, onKeyDown: onKeyDown, pattern: props.pattern, placeholder: props.placeholder, ref: field.ref, rightAddon: props.rightAddon, rightElement: props.rightElement, size: props.size, step: props.decimalPlaces ? Number(0).toFixed(props.decimalPlaces - 1) + "1" : props.step, style: props.style, type: "number", value: (_f = field.value) !== null && _f !== void 0 ? _f : "", variant: props.variant }));
|
|
67
68
|
}
|
|
68
|
-
exports.NumberInput = NumberInput;
|
|
69
69
|
NumberInput.displayName = "UxfFormNumberInput";
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Default =
|
|
6
|
+
exports.Default = Default;
|
|
7
7
|
const button_1 = require("@uxf/ui/button");
|
|
8
8
|
const react_1 = __importDefault(require("react"));
|
|
9
9
|
const storybook_form_1 = require("../storybook/storybook-form");
|
|
@@ -14,12 +14,11 @@ exports.default = {
|
|
|
14
14
|
};
|
|
15
15
|
function Default() {
|
|
16
16
|
const storyFormNumberInputs = (control) => (react_1.default.createElement("div", { className: "light mb-4 space-y-4 p-4" },
|
|
17
|
-
react_1.default.createElement(number_input_1.NumberInput, { label: "Default input", name: "default"
|
|
18
|
-
react_1.default.createElement(number_input_1.NumberInput, { label: "Required input", name: "required"
|
|
19
|
-
react_1.default.createElement(number_input_1.NumberInput, { label: "Dec\u00EDmal input", name: "decimal"
|
|
20
|
-
react_1.default.createElement(number_input_1.NumberInput, {
|
|
17
|
+
react_1.default.createElement(number_input_1.NumberInput, { control: control, label: "Default input", name: "default" }),
|
|
18
|
+
react_1.default.createElement(number_input_1.NumberInput, { control: control, isRequired: true, label: "Required input", name: "required" }),
|
|
19
|
+
react_1.default.createElement(number_input_1.NumberInput, { control: control, decimalPlaces: 3, label: "Dec\u00EDmal input", name: "decimal" }),
|
|
20
|
+
react_1.default.createElement(number_input_1.NumberInput, { control: control, label: "max50 input", max: 50, name: "max50" }),
|
|
21
21
|
react_1.default.createElement(button_1.Button, { type: "submit" }, "Submit")));
|
|
22
22
|
return (react_1.default.createElement(storybook_form_1.StorybookForm, null, ({ control }) => (react_1.default.createElement("div", { className: "flex flex-col lg:flex-row" },
|
|
23
23
|
react_1.default.createElement("div", { className: "space-y-2 p-20 lg:w-1/2" }, storyFormNumberInputs(control))))));
|
|
24
24
|
}
|
|
25
|
-
exports.Default = Default;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uxf/form",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.33.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -15,19 +15,19 @@
|
|
|
15
15
|
},
|
|
16
16
|
"license": "MIT",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@uxf/ui": "11.
|
|
18
|
+
"@uxf/ui": "11.33.0",
|
|
19
19
|
"coordinate-parser": "1.0.7",
|
|
20
|
-
"dayjs": "1.11.
|
|
21
|
-
"react-hook-form": "7.
|
|
20
|
+
"dayjs": "1.11.13",
|
|
21
|
+
"react-hook-form": "7.53.0"
|
|
22
22
|
},
|
|
23
23
|
"peerDependencies": {
|
|
24
24
|
"react": ">=18.2.0",
|
|
25
25
|
"react-dom": ">=18.2.0"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@types/react": "18.
|
|
29
|
-
"@types/react-dom": "18.
|
|
30
|
-
"react": "18.
|
|
31
|
-
"react-dom": "18.
|
|
28
|
+
"@types/react": "18.3.5",
|
|
29
|
+
"@types/react-dom": "18.3.0",
|
|
30
|
+
"react": "18.3.1",
|
|
31
|
+
"react-dom": "18.3.1"
|
|
32
32
|
}
|
|
33
33
|
}
|
|
@@ -23,10 +23,11 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.PasswordInput =
|
|
26
|
+
exports.PasswordInput = PasswordInput;
|
|
27
27
|
const use_on_unmount_1 = require("@uxf/core-react/hooks/use-on-unmount");
|
|
28
28
|
const compose_refs_1 = require("@uxf/core-react/utils/compose-refs");
|
|
29
29
|
const is_nil_1 = require("@uxf/core/utils/is-nil");
|
|
30
|
+
const is_not_nil_1 = require("@uxf/core/utils/is-not-nil");
|
|
30
31
|
const button_1 = require("@uxf/ui/button");
|
|
31
32
|
const icon_1 = require("@uxf/ui/icon");
|
|
32
33
|
const text_input_1 = require("@uxf/ui/text-input");
|
|
@@ -55,7 +56,7 @@ function usePasswordVisibility() {
|
|
|
55
56
|
return { isVisible, inputRef, onToggle: visibilityChangeHandler };
|
|
56
57
|
}
|
|
57
58
|
function PasswordInput(props) {
|
|
58
|
-
var _a, _b, _c, _d, _e, _f
|
|
59
|
+
var _a, _b, _c, _d, _e, _f;
|
|
59
60
|
const formId = (0, form_id_context_1.useFormIdContext)();
|
|
60
61
|
const id = (_a = props.id) !== null && _a !== void 0 ? _a : `${formId}__${props.name}`;
|
|
61
62
|
const { field, fieldState } = (0, react_hook_form_1.useController)({
|
|
@@ -71,7 +72,7 @@ function PasswordInput(props) {
|
|
|
71
72
|
}
|
|
72
73
|
: undefined,
|
|
73
74
|
required: props.isRequired ? props.requiredMessage || "Toto pole je povinné" : undefined,
|
|
74
|
-
...
|
|
75
|
+
...props.rules,
|
|
75
76
|
},
|
|
76
77
|
});
|
|
77
78
|
const passwordVisibility = usePasswordVisibility();
|
|
@@ -86,8 +87,7 @@ function PasswordInput(props) {
|
|
|
86
87
|
field.onChange(value);
|
|
87
88
|
(_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, event);
|
|
88
89
|
};
|
|
89
|
-
return (react_1.default.createElement(text_input_1.TextInput, { autoComplete: props.autoComplete, autoFocus: props.autoFocus, className: props.className, enterKeyHint: props.enterKeyHint, form: props.form, helperText: (
|
|
90
|
-
react_1.default.createElement(icon_1.Icon, {
|
|
90
|
+
return (react_1.default.createElement(text_input_1.TextInput, { autoComplete: props.autoComplete, autoFocus: props.autoFocus, className: props.className, enterKeyHint: props.enterKeyHint, form: props.form, helperText: (_c = (_b = fieldState.error) === null || _b === void 0 ? void 0 : _b.message) !== null && _c !== void 0 ? _c : props.helperText, hiddenLabel: props.hiddenLabel, id: id, inputMode: props.inputMode, isDisabled: props.isDisabled, isInvalid: (0, is_not_nil_1.isNotNil)(fieldState.error), isReadOnly: props.isReadOnly, isRequired: props.isRequired, label: props.label, leftAddon: props.leftAddon, leftElement: props.leftElement, maxLength: props.maxLength, minLength: props.minLength, name: field.name, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, onKeyDown: props.onKeyDown, pattern: props.pattern, placeholder: props.placeholder, ref: inputRef, rightAddon: props.rightAddon, rightElement: (_e = (_d = props.renderVisibilitySetter) === null || _d === void 0 ? void 0 : _d.call(props, passwordVisibility.isVisible, passwordVisibility.onToggle)) !== null && _e !== void 0 ? _e : (react_1.default.createElement(button_1.Button, { onClick: passwordVisibility.onToggle, size: "sm", variant: "text" },
|
|
91
|
+
react_1.default.createElement(icon_1.Icon, { name: passwordVisibility.isVisible ? "eye-slash" : "eye", size: 20 }))), size: props.size, style: props.style, type: passwordVisibility.isVisible ? "text" : "password", value: (_f = field.value) !== null && _f !== void 0 ? _f : "", variant: props.variant }));
|
|
91
92
|
}
|
|
92
|
-
exports.PasswordInput = PasswordInput;
|
|
93
93
|
PasswordInput.displayName = "UxfFormPasswordInput";
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Default =
|
|
6
|
+
exports.Default = Default;
|
|
7
7
|
const button_1 = require("@uxf/ui/button");
|
|
8
8
|
const react_1 = __importDefault(require("react"));
|
|
9
9
|
const storybook_form_1 = require("../storybook/storybook-form");
|
|
@@ -15,10 +15,9 @@ exports.default = {
|
|
|
15
15
|
function Default() {
|
|
16
16
|
const storyFormPasswordInputs = (control) => (react_1.default.createElement("div", { className: "mb-4 space-y-4 p-4" },
|
|
17
17
|
react_1.default.createElement(password_input_1.PasswordInput, { control: control, label: "Default input", name: "default" }),
|
|
18
|
-
react_1.default.createElement(password_input_1.PasswordInput, { control: control, label: "Min length 8", minLength: 12, name: "minLength"
|
|
19
|
-
react_1.default.createElement(password_input_1.PasswordInput, { control: control, label: "Required input", name: "required"
|
|
18
|
+
react_1.default.createElement(password_input_1.PasswordInput, { control: control, isRequired: true, label: "Min length 8", minLength: 12, name: "minLength" }),
|
|
19
|
+
react_1.default.createElement(password_input_1.PasswordInput, { control: control, isRequired: true, label: "Required input", name: "required" }),
|
|
20
20
|
react_1.default.createElement(button_1.Button, { type: "submit" }, "Submit")));
|
|
21
21
|
return (react_1.default.createElement(storybook_form_1.StorybookForm, null, ({ control }) => (react_1.default.createElement("div", { className: "flex flex-col lg:flex-row" },
|
|
22
22
|
react_1.default.createElement("div", { className: "space-y-2 p-20 lg:w-1/2" }, storyFormPasswordInputs(control))))));
|
|
23
23
|
}
|
|
24
|
-
exports.Default = Default;
|
|
@@ -3,13 +3,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.RadioGroup =
|
|
6
|
+
exports.RadioGroup = RadioGroup;
|
|
7
|
+
const is_not_nil_1 = require("@uxf/core/utils/is-not-nil");
|
|
7
8
|
const radio_group_1 = require("@uxf/ui/radio-group");
|
|
8
9
|
const react_1 = __importDefault(require("react"));
|
|
9
10
|
const react_hook_form_1 = require("react-hook-form");
|
|
10
11
|
const form_id_context_1 = require("../form-id-context");
|
|
11
12
|
function RadioGroup(props) {
|
|
12
|
-
var _a, _b, _c, _d
|
|
13
|
+
var _a, _b, _c, _d;
|
|
13
14
|
const formId = (0, form_id_context_1.useFormIdContext)();
|
|
14
15
|
const id = (_a = props.id) !== null && _a !== void 0 ? _a : `${formId}__${props.name}`;
|
|
15
16
|
const { field, fieldState } = (0, react_hook_form_1.useController)({
|
|
@@ -17,7 +18,7 @@ function RadioGroup(props) {
|
|
|
17
18
|
name: props.name,
|
|
18
19
|
rules: {
|
|
19
20
|
required: props.isRequired ? props.requiredMessage || "Toto pole je povinné" : undefined,
|
|
20
|
-
...
|
|
21
|
+
...props.rules,
|
|
21
22
|
},
|
|
22
23
|
shouldUnregister: props.shouldUnregister,
|
|
23
24
|
});
|
|
@@ -31,7 +32,6 @@ function RadioGroup(props) {
|
|
|
31
32
|
field.onChange(value);
|
|
32
33
|
(_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, event);
|
|
33
34
|
};
|
|
34
|
-
return (react_1.default.createElement(radio_group_1.RadioGroup, { className: props.className, forceColumn: props.forceColumn, helperText: (
|
|
35
|
+
return (react_1.default.createElement(radio_group_1.RadioGroup, { className: props.className, forceColumn: props.forceColumn, helperText: (_c = (_b = fieldState.error) === null || _b === void 0 ? void 0 : _b.message) !== null && _c !== void 0 ? _c : props.helperText, hiddenLabel: props.hiddenLabel, id: id, isDisabled: props.options.length === 0 || props.isDisabled, isInvalid: (0, is_not_nil_1.isNotNil)(fieldState.error), isReadOnly: props.isReadOnly, isRequired: props.isRequired, label: props.label, name: field.name, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, options: props.options, radioSize: props.radioSize, ref: field.ref, style: props.style, value: (_d = field.value) !== null && _d !== void 0 ? _d : null, variant: props.variant }));
|
|
35
36
|
}
|
|
36
|
-
exports.RadioGroup = RadioGroup;
|
|
37
37
|
RadioGroup.displayName = "UxfFormRadioGroup";
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Default =
|
|
6
|
+
exports.Default = Default;
|
|
7
7
|
const button_1 = require("@uxf/ui/button");
|
|
8
8
|
const react_1 = __importDefault(require("react"));
|
|
9
9
|
const storybook_form_1 = require("../storybook/storybook-form");
|
|
@@ -36,4 +36,3 @@ function Default() {
|
|
|
36
36
|
return (react_1.default.createElement(storybook_form_1.StorybookForm, null, ({ control }) => (react_1.default.createElement("div", { className: "flex flex-col lg:flex-row" },
|
|
37
37
|
react_1.default.createElement("div", { className: "space-y-2 p-20 lg:w-1/2" }, storyFormRadioGroup(control))))));
|
|
38
38
|
}
|
|
39
|
-
exports.Default = Default;
|
package/readmes.d.ts
CHANGED