@uxf/form 1.0.0-beta.98 → 1.0.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.d.ts +14 -0
- package/avatar-file-input/avatar-file-input.js +38 -0
- package/avatar-file-input/avatar-file-input.stories.d.ts +8 -0
- package/avatar-file-input/avatar-file-input.stories.js +25 -0
- package/avatar-file-input/index.d.ts +1 -0
- package/avatar-file-input/index.js +17 -0
- package/checkbox-button/checkbox-button.d.ts +11 -3
- package/checkbox-button/checkbox-button.js +12 -3
- package/checkbox-button/checkbox-button.stories.d.ts +2 -2
- package/checkbox-button/checkbox-button.stories.js +2 -2
- package/checkbox-input/checkbox-input.d.ts +15 -0
- package/checkbox-input/checkbox-input.js +38 -0
- package/checkbox-input/checkbox-input.stories.d.ts +8 -0
- package/checkbox-input/checkbox-input.stories.js +26 -0
- package/checkbox-input/index.d.ts +1 -0
- package/checkbox-input/index.js +17 -0
- package/color-radio-group/color-radio-group.d.ts +11 -4
- package/color-radio-group/color-radio-group.js +12 -3
- package/color-radio-group/color-radio-group.stories.d.ts +2 -2
- package/color-radio-group/color-radio-group.stories.js +2 -2
- package/combobox/combobox.d.ts +11 -4
- package/combobox/combobox.js +12 -3
- package/combobox/combobox.stories.d.ts +2 -2
- package/combobox/combobox.stories.js +4 -3
- package/date-picker-input/date-picker-input.d.ts +9 -3
- package/date-picker-input/date-picker-input.js +63 -4
- package/date-picker-input/date-picker-input.stories.d.ts +2 -2
- package/date-picker-input/date-picker-input.stories.js +8 -3
- package/datetime-picker-input/datetime-picker-input.d.ts +13 -0
- package/datetime-picker-input/datetime-picker-input.js +90 -0
- package/datetime-picker-input/datetime-picker-input.stories.d.ts +8 -0
- package/datetime-picker-input/datetime-picker-input.stories.js +28 -0
- package/datetime-picker-input/index.d.ts +1 -0
- package/datetime-picker-input/index.js +17 -0
- package/dropzone/dropzone-input.d.ts +16 -0
- package/dropzone/dropzone-input.js +58 -0
- package/dropzone/dropzone-list.d.ts +14 -0
- package/dropzone/dropzone-list.js +23 -0
- package/dropzone/dropzone.stories.d.ts +9 -0
- package/dropzone/dropzone.stories.js +42 -0
- package/dropzone/index.d.ts +7 -0
- package/dropzone/index.js +6 -0
- package/file-input/file-input.d.ts +14 -0
- package/file-input/file-input.js +38 -0
- package/file-input/file-input.stories.d.ts +8 -0
- package/file-input/file-input.stories.js +31 -0
- package/file-input/index.d.ts +1 -0
- package/file-input/index.js +17 -0
- package/form/form.d.ts +13 -11
- package/form/form.js +10 -38
- package/form/form.stories.d.ts +2 -2
- package/form/form.stories.js +10 -7
- package/form-id-context/form-id-context.d.ts +3 -0
- package/form-id-context/form-id-context.js +8 -0
- package/form-id-context/index.d.ts +1 -0
- package/form-id-context/index.js +17 -0
- package/gps-input/gps-input.d.ts +18 -0
- package/gps-input/gps-input.js +153 -0
- package/gps-input/gps-input.stories.d.ts +8 -0
- package/gps-input/gps-input.stories.js +24 -0
- package/gps-input/index.d.ts +1 -0
- package/{checkbox → gps-input}/index.js +1 -1
- package/multi-combobox/multi-combobox.d.ts +11 -4
- package/multi-combobox/multi-combobox.js +13 -4
- package/multi-combobox/multi-combobox.stories.d.ts +2 -2
- package/multi-combobox/multi-combobox.stories.js +18 -7
- package/multi-select/index.d.ts +1 -0
- package/multi-select/index.js +17 -0
- package/multi-select/multi-select.d.ts +14 -0
- package/multi-select/multi-select.js +38 -0
- package/multi-select/multi-select.stories.d.ts +8 -0
- package/multi-select/multi-select.stories.js +41 -0
- package/number-input/number-input.d.ts +10 -3
- package/number-input/number-input.js +12 -3
- package/number-input/number-input.stories.d.ts +2 -2
- package/number-input/number-input.stories.js +2 -2
- package/package.json +6 -6
- package/radio-group/radio-group.d.ts +11 -4
- package/radio-group/radio-group.js +12 -3
- package/radio-group/radio-group.stories.d.ts +2 -2
- package/radio-group/radio-group.stories.js +2 -2
- package/select/select.d.ts +11 -4
- package/select/select.js +12 -3
- package/select/select.stories.d.ts +2 -2
- package/select/select.stories.js +10 -3
- package/storybook/form-data-printer.d.ts +2 -2
- package/storybook/storybook-form.d.ts +7 -0
- package/storybook/{form.js → storybook-form.js} +7 -6
- package/text-input/text-input.d.ts +11 -4
- package/text-input/text-input.js +14 -5
- package/text-input/text-input.stories.d.ts +2 -2
- package/text-input/text-input.stories.js +7 -7
- package/textarea/textarea.d.ts +10 -3
- package/textarea/textarea.js +12 -3
- package/textarea/textarea.stories.d.ts +2 -2
- package/textarea/textarea.stories.js +2 -2
- package/time-picker-input/time-picker-input.d.ts +8 -3
- package/time-picker-input/time-picker-input.js +51 -3
- package/time-picker-input/time-picker-input.stories.d.ts +2 -2
- package/time-picker-input/time-picker-input.stories.js +7 -3
- package/toggle/toggle.d.ts +11 -3
- package/toggle/toggle.js +12 -3
- package/toggle/toggle.stories.d.ts +2 -2
- package/toggle/toggle.stories.js +2 -2
- package/checkbox/checkbox.d.ts +0 -7
- package/checkbox/checkbox.js +0 -29
- package/checkbox/checkbox.stories.d.ts +0 -8
- package/checkbox/checkbox.stories.js +0 -26
- package/checkbox/index.d.ts +0 -1
- package/storybook/form.d.ts +0 -7
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import React from "react";
|
|
2
2
|
import { DatePickerInput } from "./date-picker-input";
|
|
3
3
|
declare const _default: {
|
|
4
4
|
title: string;
|
|
5
5
|
component: typeof DatePickerInput;
|
|
6
6
|
};
|
|
7
7
|
export default _default;
|
|
8
|
-
export declare function Default(): JSX.Element;
|
|
8
|
+
export declare function Default(): React.JSX.Element;
|
|
@@ -6,17 +6,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.Default = void 0;
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
8
|
const date_picker_input_1 = require("./date-picker-input");
|
|
9
|
-
const
|
|
9
|
+
const storybook_form_1 = require("../storybook/storybook-form");
|
|
10
10
|
const button_1 = require("@uxf/ui/button");
|
|
11
|
+
const dayjs_1 = __importDefault(require("dayjs"));
|
|
11
12
|
exports.default = {
|
|
12
13
|
title: "Form/DatePickerInput",
|
|
13
14
|
component: date_picker_input_1.DatePickerInput,
|
|
14
15
|
};
|
|
15
16
|
function Default() {
|
|
16
17
|
const storyFormDatePickers = (control) => (react_1.default.createElement("div", { className: "space-y-4" },
|
|
17
|
-
react_1.default.createElement(date_picker_input_1.DatePickerInput, { label: "Default date picker", name: "default"
|
|
18
|
+
react_1.default.createElement(date_picker_input_1.DatePickerInput, { control: control, isClearable: true, isRequired: true, label: "Default date picker", name: "default" }),
|
|
19
|
+
react_1.default.createElement(date_picker_input_1.DatePickerInput, { control: control, isClearable: true, isRequired: true, label: "Default date picker with default value", name: "withDefaultValue" }),
|
|
20
|
+
react_1.default.createElement(date_picker_input_1.DatePickerInput, { control: control, isClearable: true, isRequired: true, minDate: "2023-06-10", maxDate: "2023-06-20", label: "Date picker with input validation", name: "withMinMaxValidation", placeholder: "" }),
|
|
18
21
|
react_1.default.createElement(button_1.Button, { type: "submit" }, "Submit")));
|
|
19
|
-
return (react_1.default.createElement(
|
|
22
|
+
return (react_1.default.createElement(storybook_form_1.StorybookForm, { defaultValues: {
|
|
23
|
+
withDefaultValue: (0, dayjs_1.default)().format("YYYY-MM-DD"),
|
|
24
|
+
} }, ({ control }) => (react_1.default.createElement("div", { className: "flex flex-col lg:flex-row" },
|
|
20
25
|
react_1.default.createElement("div", { className: "light space-y-2 p-20 lg:w-1/2" }, storyFormDatePickers(control)),
|
|
21
26
|
react_1.default.createElement("div", { className: "dark space-y-2 bg-gray-900 p-20 text-white lg:w-1/2" }, storyFormDatePickers(control))))));
|
|
22
27
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { DatetimePickerInputProps as UIDatetimePickerInputProps } from "@uxf/ui/datetime-picker-input";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { FieldValues, UseControllerProps } from "react-hook-form";
|
|
4
|
+
export type DatetimePickerInputProps<FormData extends FieldValues> = UseControllerProps<FormData> & Omit<UIDatetimePickerInputProps, "isInvalid" | "max" | "min" | "pattern" | "step" | "name" | "onChange" | "value"> & {
|
|
5
|
+
onChange?: UIDatetimePickerInputProps["onChange"];
|
|
6
|
+
requiredMessage?: string;
|
|
7
|
+
minDate?: string;
|
|
8
|
+
maxDate?: string;
|
|
9
|
+
};
|
|
10
|
+
export declare function DatetimePickerInput<FormData extends FieldValues>(props: DatetimePickerInputProps<FormData>): React.JSX.Element;
|
|
11
|
+
export declare namespace DatetimePickerInput {
|
|
12
|
+
var displayName: string;
|
|
13
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.DatetimePickerInput = void 0;
|
|
30
|
+
const datetime_picker_input_1 = require("@uxf/ui/datetime-picker-input");
|
|
31
|
+
const dayjs_1 = __importStar(require("dayjs"));
|
|
32
|
+
const react_1 = __importDefault(require("react"));
|
|
33
|
+
const react_hook_form_1 = require("react-hook-form");
|
|
34
|
+
const customParseFormat_1 = __importDefault(require("dayjs/plugin/customParseFormat"));
|
|
35
|
+
const form_id_context_1 = require("../form-id-context");
|
|
36
|
+
const datetime_picker_1 = require("@uxf/ui/datetime-picker");
|
|
37
|
+
const date_picker_input_1 = require("@uxf/ui/date-picker-input");
|
|
38
|
+
(0, dayjs_1.extend)(customParseFormat_1.default);
|
|
39
|
+
function DatetimePickerInput(props) {
|
|
40
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
41
|
+
const formId = (0, form_id_context_1.useFormIdContext)();
|
|
42
|
+
const id = (_a = props.id) !== null && _a !== void 0 ? _a : `${formId}__${props.name}`;
|
|
43
|
+
const { field, fieldState } = (0, react_hook_form_1.useController)({
|
|
44
|
+
control: props.control,
|
|
45
|
+
defaultValue: props.defaultValue,
|
|
46
|
+
name: props.name,
|
|
47
|
+
rules: {
|
|
48
|
+
required: props.isRequired ? props.requiredMessage || "Toto pole je povinné" : undefined,
|
|
49
|
+
...((_b = props.rules) !== null && _b !== void 0 ? _b : {}),
|
|
50
|
+
validate: {
|
|
51
|
+
validDate: (value) => {
|
|
52
|
+
if (!value) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
if (!(0, datetime_picker_1.getStrictParsedDatetime)(value).isValid()) {
|
|
56
|
+
return `Datum a čas musí být ve formátu ${datetime_picker_input_1.DISPLAY_DATETIME_FORMAT}.`;
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
validDateRange: (value) => {
|
|
60
|
+
if (!value) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
if (props.minDate && (0, dayjs_1.default)(value, date_picker_input_1.OUTPUT_DATE_FORMAT, true).isBefore(props.minDate, "date")) {
|
|
64
|
+
return `Minimální datum, který je možné zadat, je: ${(0, dayjs_1.default)(props.minDate).format(date_picker_input_1.DISPLAY_DATE_FORMAT)}`;
|
|
65
|
+
}
|
|
66
|
+
if (props.maxDate && (0, dayjs_1.default)(value, date_picker_input_1.OUTPUT_DATE_FORMAT, true).isAfter(props.maxDate, "date")) {
|
|
67
|
+
return `Maximální datum, který je možné zadat, je: ${(0, dayjs_1.default)(props.maxDate).format(date_picker_input_1.DISPLAY_DATE_FORMAT)}`;
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
...(typeof ((_c = props.rules) === null || _c === void 0 ? void 0 : _c.validate) === "function"
|
|
71
|
+
? { custom: props.rules.validate }
|
|
72
|
+
: (_e = (_d = props.rules) === null || _d === void 0 ? void 0 : _d.validate) !== null && _e !== void 0 ? _e : {}),
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
shouldUnregister: props.shouldUnregister,
|
|
76
|
+
});
|
|
77
|
+
const onBlur = (event) => {
|
|
78
|
+
var _a;
|
|
79
|
+
field.onBlur();
|
|
80
|
+
(_a = props.onBlur) === null || _a === void 0 ? void 0 : _a.call(props, event);
|
|
81
|
+
};
|
|
82
|
+
const onChange = (value, event) => {
|
|
83
|
+
var _a;
|
|
84
|
+
field.onChange(value);
|
|
85
|
+
(_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, event);
|
|
86
|
+
};
|
|
87
|
+
return (react_1.default.createElement(datetime_picker_input_1.DatetimePickerInput, { minDate: props.minDate, maxDate: props.maxDate, className: props.className, form: props.form, helperText: (_g = (_f = fieldState.error) === null || _f === void 0 ? void 0 : _f.message) !== null && _g !== void 0 ? _g : props.helperText, hiddenLabel: props.hiddenLabel, id: id, isClearable: props.isClearable, isDisabled: props.isDisabled, isInvalid: !!fieldState.error, isReadOnly: props.isReadOnly, isRequired: props.isRequired, label: props.label, leftAddon: props.leftAddon, leftElement: props.leftElement, name: field.name, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, placeholder: props.placeholder, popoverPlacement: props.popoverPlacement, popoverStrategy: props.popoverStrategy, ref: field.ref, rightAddon: props.rightAddon, rightElement: props.rightElement, size: props.size, triggerElement: props.triggerElement, value: field.value, variant: props.variant }));
|
|
88
|
+
}
|
|
89
|
+
exports.DatetimePickerInput = DatetimePickerInput;
|
|
90
|
+
DatetimePickerInput.displayName = "UxfFormDatePickerInput";
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Default = void 0;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const datetime_picker_input_1 = require("./datetime-picker-input");
|
|
9
|
+
const storybook_form_1 = require("../storybook/storybook-form");
|
|
10
|
+
const button_1 = require("@uxf/ui/button");
|
|
11
|
+
const dayjs_1 = __importDefault(require("dayjs"));
|
|
12
|
+
exports.default = {
|
|
13
|
+
title: "Form/DatetimePickerInput",
|
|
14
|
+
component: datetime_picker_input_1.DatetimePickerInput,
|
|
15
|
+
};
|
|
16
|
+
function Default() {
|
|
17
|
+
const storyFormDatePickers = (control) => (react_1.default.createElement("div", { className: "space-y-4" },
|
|
18
|
+
react_1.default.createElement(datetime_picker_input_1.DatetimePickerInput, { control: control, isClearable: true, isRequired: true, label: "Default datetime picker", name: "default" }),
|
|
19
|
+
react_1.default.createElement(datetime_picker_input_1.DatetimePickerInput, { control: control, isClearable: true, isRequired: true, label: "Default datetime picker with default value", name: "withDefaultValue" }),
|
|
20
|
+
react_1.default.createElement(datetime_picker_input_1.DatetimePickerInput, { control: control, isClearable: true, isRequired: true, minDate: "2023-06-10", maxDate: "2023-06-20", label: "Date time picker with input validation", name: "withMinMaxValidation", placeholder: "" }),
|
|
21
|
+
react_1.default.createElement(button_1.Button, { type: "submit" }, "Submit")));
|
|
22
|
+
return (react_1.default.createElement(storybook_form_1.StorybookForm, { defaultValues: {
|
|
23
|
+
withDefaultValue: (0, dayjs_1.default)().toISOString(),
|
|
24
|
+
} }, ({ control }) => (react_1.default.createElement("div", { className: "flex flex-col lg:flex-row" },
|
|
25
|
+
react_1.default.createElement("div", { className: "light space-y-2 p-20 lg:w-1/2" }, storyFormDatePickers(control)),
|
|
26
|
+
react_1.default.createElement("div", { className: "dark space-y-2 bg-gray-900 p-20 text-white lg:w-1/2" }, storyFormDatePickers(control))))));
|
|
27
|
+
}
|
|
28
|
+
exports.Default = Default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./datetime-picker-input";
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./datetime-picker-input"), exports);
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { DropzoneInputProps as UIDropzoneProps } from "@uxf/ui/dropzone";
|
|
2
|
+
import { DropzoneFile } from "@uxf/ui/dropzone/types";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { FieldValues, UseControllerProps } from "react-hook-form";
|
|
5
|
+
import { FormControlProps } from "@uxf/ui/types";
|
|
6
|
+
type OnChangeHandler = FormControlProps<DropzoneFile[] | undefined>["onChange"];
|
|
7
|
+
export type DropzoneProps<FormData extends FieldValues> = UseControllerProps<FormData> & Omit<UIDropzoneProps, "onChange" | "value"> & {
|
|
8
|
+
minFilesCount?: number;
|
|
9
|
+
onChange?: OnChangeHandler;
|
|
10
|
+
requiredMessage?: string;
|
|
11
|
+
};
|
|
12
|
+
export declare function DropzoneInput<FormData extends FieldValues>(props: DropzoneProps<FormData>): React.JSX.Element;
|
|
13
|
+
export declare namespace DropzoneInput {
|
|
14
|
+
var displayName: string;
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.DropzoneInput = void 0;
|
|
7
|
+
const dropzone_1 = require("@uxf/ui/dropzone");
|
|
8
|
+
const react_1 = __importDefault(require("react"));
|
|
9
|
+
const react_hook_form_1 = require("react-hook-form");
|
|
10
|
+
const form_id_context_1 = require("../form-id-context");
|
|
11
|
+
function DropzoneInput(props) {
|
|
12
|
+
var _a, _b, _c, _d;
|
|
13
|
+
const formId = (0, form_id_context_1.useFormIdContext)();
|
|
14
|
+
const id = (_a = props.id) !== null && _a !== void 0 ? _a : `${formId}__${props.name}`;
|
|
15
|
+
const { field, fieldState } = (0, react_hook_form_1.useController)({
|
|
16
|
+
control: props.control,
|
|
17
|
+
defaultValue: props.defaultValue,
|
|
18
|
+
name: props.name,
|
|
19
|
+
rules: {
|
|
20
|
+
...((_b = props.rules) !== null && _b !== void 0 ? _b : {}),
|
|
21
|
+
validate: {
|
|
22
|
+
default: (value) => {
|
|
23
|
+
var _a;
|
|
24
|
+
if (props.isRequired &&
|
|
25
|
+
props.minFilesCount !== 0 &&
|
|
26
|
+
(!value || value.length < ((_a = props.minFilesCount) !== null && _a !== void 0 ? _a : 1))) {
|
|
27
|
+
return props.requiredMessage || "Toto pole je povinné";
|
|
28
|
+
}
|
|
29
|
+
if (props.maxFilesCount && value && value.length > props.maxFilesCount) {
|
|
30
|
+
return `Maximální počet souborů je ${props.maxFilesCount}`;
|
|
31
|
+
}
|
|
32
|
+
if (props.minFilesCount && value && value.length < props.minFilesCount) {
|
|
33
|
+
return `Minimální počet souborů je ${props.minFilesCount}`;
|
|
34
|
+
}
|
|
35
|
+
// TODO – validate this only on submit
|
|
36
|
+
// if (value?.some((file) => file.id < 0)) {
|
|
37
|
+
// return "Nahrávání souborů ještě nebylo dokončeno";
|
|
38
|
+
// }
|
|
39
|
+
return true;
|
|
40
|
+
},
|
|
41
|
+
...(((_c = props.rules) === null || _c === void 0 ? void 0 : _c.validate)
|
|
42
|
+
? typeof props.rules.validate === "function"
|
|
43
|
+
? { custom: props.rules.validate }
|
|
44
|
+
: props.rules.validate
|
|
45
|
+
: {}),
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
shouldUnregister: props.shouldUnregister,
|
|
49
|
+
});
|
|
50
|
+
const onChange = (value, event) => {
|
|
51
|
+
var _a;
|
|
52
|
+
field.onChange(value);
|
|
53
|
+
(_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, event);
|
|
54
|
+
};
|
|
55
|
+
return (react_1.default.createElement(dropzone_1.Dropzone, { helperText: ((_d = fieldState.error) === null || _d === void 0 ? void 0 : _d.message) || props.helperText, id: id, isDisabled: props.isDisabled, isInvalid: !!fieldState.error, isRequired: props.isRequired, label: props.label, maxFileSize: props.maxFileSize, maxFilesCount: props.maxFilesCount, minFileSize: props.minFileSize, noClick: props.noClick, noDrag: props.noDrag, onChange: onChange, onUploadError: props.onUploadError, onUploadFile: props.onUploadFile, ref: field.ref, value: field.value }));
|
|
56
|
+
}
|
|
57
|
+
exports.DropzoneInput = DropzoneInput;
|
|
58
|
+
DropzoneInput.displayName = "UxfFormDropzoneInput";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { DropzoneListProps as UIDropzoneListProps } from "@uxf/ui/dropzone";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { FieldValues, UseControllerProps } from "react-hook-form";
|
|
4
|
+
import { FormControlProps } from "@uxf/ui/types";
|
|
5
|
+
import { DropzoneFile } from "@uxf/ui/dropzone/types";
|
|
6
|
+
type OnChangeHandler = FormControlProps<DropzoneFile[] | undefined>["onChange"];
|
|
7
|
+
export interface DropzoneListProps<FormData extends FieldValues> extends Pick<UseControllerProps<FormData>, "control" | "name">, Pick<UIDropzoneListProps, "errorText" | "onAbortWarning" | "onRemoveWarning" | "renderItem"> {
|
|
8
|
+
onChange?: OnChangeHandler;
|
|
9
|
+
}
|
|
10
|
+
export declare function DropzoneList<FormData extends FieldValues>(props: DropzoneListProps<FormData>): React.JSX.Element;
|
|
11
|
+
export declare namespace DropzoneList {
|
|
12
|
+
var displayName: string;
|
|
13
|
+
}
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.DropzoneList = void 0;
|
|
7
|
+
const dropzone_1 = require("@uxf/ui/dropzone");
|
|
8
|
+
const react_1 = __importDefault(require("react"));
|
|
9
|
+
const react_hook_form_1 = require("react-hook-form");
|
|
10
|
+
function DropzoneList(props) {
|
|
11
|
+
const { field } = (0, react_hook_form_1.useController)({
|
|
12
|
+
control: props.control,
|
|
13
|
+
name: props.name,
|
|
14
|
+
});
|
|
15
|
+
const onChange = (value, event) => {
|
|
16
|
+
var _a;
|
|
17
|
+
field.onChange(value);
|
|
18
|
+
(_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, event);
|
|
19
|
+
};
|
|
20
|
+
return (react_1.default.createElement(dropzone_1.Dropzone.List, { errorText: props.errorText, onAbortWarning: props.onAbortWarning, onChange: onChange, onRemoveWarning: props.onRemoveWarning, renderItem: props.renderItem, value: field.value }));
|
|
21
|
+
}
|
|
22
|
+
exports.DropzoneList = DropzoneList;
|
|
23
|
+
DropzoneList.displayName = "UxfFormDropzoneList";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
declare const _default: {
|
|
3
|
+
title: string;
|
|
4
|
+
component: typeof import("./dropzone-input").DropzoneInput & {
|
|
5
|
+
List: typeof import("./dropzone-list").DropzoneList;
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
export default _default;
|
|
9
|
+
export declare function Default(): React.JSX.Element;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Default = void 0;
|
|
7
|
+
const button_1 = require("@uxf/ui/button");
|
|
8
|
+
const uploadFIle_mock_1 = require("@uxf/ui/utils/mocks/uploadFIle.mock");
|
|
9
|
+
const react_1 = __importDefault(require("react"));
|
|
10
|
+
const storybook_form_1 = require("../storybook/storybook-form");
|
|
11
|
+
const index_1 = require("./index");
|
|
12
|
+
exports.default = {
|
|
13
|
+
title: "Form/Dropzone",
|
|
14
|
+
component: index_1.Dropzone,
|
|
15
|
+
};
|
|
16
|
+
const DUMMY_FILES = [
|
|
17
|
+
{
|
|
18
|
+
id: 1,
|
|
19
|
+
uuid: "1",
|
|
20
|
+
name: "file1",
|
|
21
|
+
extension: "jpg",
|
|
22
|
+
progress: null,
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
id: 2,
|
|
26
|
+
uuid: "2",
|
|
27
|
+
name: "file2",
|
|
28
|
+
extension: "pdf",
|
|
29
|
+
progress: null,
|
|
30
|
+
},
|
|
31
|
+
];
|
|
32
|
+
function Default() {
|
|
33
|
+
const storyFormDropzone = (control) => (react_1.default.createElement("div", { className: "space-y-8" },
|
|
34
|
+
react_1.default.createElement(index_1.Dropzone, { control: control, helperText: "Allow multiple files", isRequired: true, label: "Use drag and drop or click to upload", name: "dropzone", onUploadFile: uploadFIle_mock_1.uploadFile }),
|
|
35
|
+
react_1.default.createElement(button_1.Button, { type: "submit" }, "Submit"),
|
|
36
|
+
react_1.default.createElement(index_1.Dropzone.List, { control: control, errorText: "Oops, n\u011Bco se pokazilo", name: "dropzone", onAbortWarning: "Opravdu chcete zru\u0161it nahr\u00E1v\u00E1n\u00ED?", onRemoveWarning: "Opravdu chcete smazat soubor?" })));
|
|
37
|
+
return (react_1.default.createElement(storybook_form_1.StorybookForm, { defaultValues: { dropzone: DUMMY_FILES } }, ({ control }) => (react_1.default.createElement(react_1.default.Fragment, null,
|
|
38
|
+
react_1.default.createElement("div", { className: "flex flex-col lg:flex-row" },
|
|
39
|
+
react_1.default.createElement("div", { className: "light space-y-2 p-20 lg:w-1/2" }, storyFormDropzone(control)),
|
|
40
|
+
react_1.default.createElement("div", { className: "dark space-y-2 bg-gray-900 p-20 lg:w-1/2" }, storyFormDropzone(control)))))));
|
|
41
|
+
}
|
|
42
|
+
exports.Default = Default;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DropzoneInput } from "./dropzone-input";
|
|
2
|
+
import { DropzoneList } from "./dropzone-list";
|
|
3
|
+
export { DropzoneProps } from "./dropzone-input";
|
|
4
|
+
export { DropzoneListProps } from "./dropzone-list";
|
|
5
|
+
export declare const Dropzone: typeof DropzoneInput & {
|
|
6
|
+
List: typeof DropzoneList;
|
|
7
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Dropzone = void 0;
|
|
4
|
+
const dropzone_input_1 = require("./dropzone-input");
|
|
5
|
+
const dropzone_list_1 = require("./dropzone-list");
|
|
6
|
+
exports.Dropzone = Object.assign(dropzone_input_1.DropzoneInput, { List: dropzone_list_1.DropzoneList });
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { FileInputProps as UIFileInputProps } from "@uxf/ui/file-input";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { FieldValues, UseControllerProps } from "react-hook-form";
|
|
4
|
+
import { FileResponse, FormControlProps } from "@uxf/ui/types";
|
|
5
|
+
type OnChangeHandler = FormControlProps<FileResponse | null>["onChange"];
|
|
6
|
+
export type FileInputProps<FormData extends FieldValues> = UseControllerProps<FormData> & Omit<UIFileInputProps, "isInvalid" | "onChange" | "value"> & {
|
|
7
|
+
onChange?: OnChangeHandler;
|
|
8
|
+
requiredMessage?: string;
|
|
9
|
+
};
|
|
10
|
+
export declare function FileInput<FormData extends FieldValues>(props: FileInputProps<FormData>): React.JSX.Element;
|
|
11
|
+
export declare namespace FileInput {
|
|
12
|
+
var displayName: string;
|
|
13
|
+
}
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.FileInput = void 0;
|
|
7
|
+
const file_input_1 = require("@uxf/ui/file-input");
|
|
8
|
+
const react_1 = __importDefault(require("react"));
|
|
9
|
+
const react_hook_form_1 = require("react-hook-form");
|
|
10
|
+
const form_id_context_1 = require("../form-id-context");
|
|
11
|
+
function FileInput(props) {
|
|
12
|
+
var _a, _b, _c, _d;
|
|
13
|
+
const formId = (0, form_id_context_1.useFormIdContext)();
|
|
14
|
+
const id = (_a = props.id) !== null && _a !== void 0 ? _a : `${formId}__${props.name}`;
|
|
15
|
+
const { field, fieldState } = (0, react_hook_form_1.useController)({
|
|
16
|
+
control: props.control,
|
|
17
|
+
defaultValue: props.defaultValue,
|
|
18
|
+
name: props.name,
|
|
19
|
+
rules: {
|
|
20
|
+
required: props.isRequired ? props.requiredMessage || "Toto pole je povinné" : undefined,
|
|
21
|
+
...((_b = props.rules) !== null && _b !== void 0 ? _b : {}),
|
|
22
|
+
},
|
|
23
|
+
shouldUnregister: props.shouldUnregister,
|
|
24
|
+
});
|
|
25
|
+
const onBlur = (event) => {
|
|
26
|
+
var _a;
|
|
27
|
+
field.onBlur();
|
|
28
|
+
(_a = props.onBlur) === null || _a === void 0 ? void 0 : _a.call(props, event);
|
|
29
|
+
};
|
|
30
|
+
const onChange = (value, event) => {
|
|
31
|
+
var _a;
|
|
32
|
+
field.onChange(value);
|
|
33
|
+
(_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, event);
|
|
34
|
+
};
|
|
35
|
+
return (react_1.default.createElement(file_input_1.FileInput, { accept: props.accept, className: props.className, form: props.form, helperText: (_d = (_c = fieldState.error) === null || _c === void 0 ? void 0 : _c.message) !== null && _d !== void 0 ? _d : props.helperText, id: id, isClearable: props.isClearable, isDisabled: props.isDisabled, isInvalid: !!fieldState.error, isReadOnly: props.isReadOnly, isRequired: props.isRequired, label: props.label, name: field.name, onBlur: onBlur, onChange: onChange, onFocus: props.onFocus, onUploadError: props.onUploadError, onUploadFile: props.onUploadFile, ref: field.ref, size: props.size, value: field.value, variant: props.variant }));
|
|
36
|
+
}
|
|
37
|
+
exports.FileInput = FileInput;
|
|
38
|
+
FileInput.displayName = "FileInput";
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Default = void 0;
|
|
7
|
+
const button_1 = require("@uxf/ui/button");
|
|
8
|
+
const uploadFIle_mock_1 = require("@uxf/ui/utils/mocks/uploadFIle.mock");
|
|
9
|
+
const react_1 = __importDefault(require("react"));
|
|
10
|
+
const storybook_form_1 = require("../storybook/storybook-form");
|
|
11
|
+
const file_input_1 = require("./file-input");
|
|
12
|
+
exports.default = {
|
|
13
|
+
title: "Form/FileInput",
|
|
14
|
+
component: file_input_1.FileInput,
|
|
15
|
+
};
|
|
16
|
+
const DUMMY_FILE = {
|
|
17
|
+
id: 1,
|
|
18
|
+
uuid: "1",
|
|
19
|
+
name: "file1",
|
|
20
|
+
extension: "jpg",
|
|
21
|
+
};
|
|
22
|
+
function Default() {
|
|
23
|
+
const storyFormFileInputs = (control, mode) => (react_1.default.createElement("div", { className: "space-y-4" },
|
|
24
|
+
react_1.default.createElement(file_input_1.FileInput, { control: control, label: "Default file input", name: `default-${mode}`, onUploadFile: uploadFIle_mock_1.uploadFile, isClearable: true }),
|
|
25
|
+
react_1.default.createElement(file_input_1.FileInput, { control: control, id: `required-${mode}`, isRequired: true, label: "Required file input", name: `required-${mode}`, onUploadFile: uploadFIle_mock_1.uploadFile }),
|
|
26
|
+
react_1.default.createElement(button_1.Button, { type: "submit" }, "Submit")));
|
|
27
|
+
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" },
|
|
28
|
+
react_1.default.createElement("div", { className: "light space-y-2 p-20 lg:w-1/2" }, storyFormFileInputs(control, "light")),
|
|
29
|
+
react_1.default.createElement("div", { className: "dark space-y-2 bg-gray-900 p-20 lg:w-1/2" }, storyFormFileInputs(control, "dark"))))));
|
|
30
|
+
}
|
|
31
|
+
exports.Default = Default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./file-input";
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./file-input"), exports);
|
package/form/form.d.ts
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import { ReactNode } from "react";
|
|
2
|
-
import {
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import React, { ReactNode, Ref } from "react";
|
|
2
|
+
import { FieldValues, SubmitHandler, UseFormReturn } from "react-hook-form";
|
|
3
|
+
export type FormProps<TFieldValues extends FieldValues> = {
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
className?: string;
|
|
6
|
+
formApi: UseFormReturn<TFieldValues>;
|
|
7
|
+
forwardRef?: Ref<HTMLFormElement> | undefined;
|
|
8
|
+
id: string;
|
|
9
|
+
omitSubmitInput?: boolean;
|
|
10
|
+
onSubmit: SubmitHandler<TFieldValues>;
|
|
6
11
|
};
|
|
7
|
-
export
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
mode?: keyof ValidationMode;
|
|
11
|
-
onSubmit?: FormSubmitHandler<TFieldValues>;
|
|
12
|
+
export declare function Form<TFieldValues extends FieldValues = FieldValues>(props: FormProps<TFieldValues>): React.JSX.Element;
|
|
13
|
+
export declare namespace Form {
|
|
14
|
+
var displayName: string;
|
|
12
15
|
}
|
|
13
|
-
export declare function Form<TFieldValues extends FieldValues>(props: FormProps<TFieldValues>): JSX.Element;
|
package/form/form.js
CHANGED
|
@@ -1,47 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
24
4
|
};
|
|
25
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
6
|
exports.Form = void 0;
|
|
27
7
|
const sr_only_1 = require("@uxf/styles/mixins/sr-only");
|
|
28
|
-
const react_1 =
|
|
8
|
+
const react_1 = __importDefault(require("react"));
|
|
29
9
|
const react_hook_form_1 = require("react-hook-form");
|
|
10
|
+
const form_id_context_1 = require("../form-id-context");
|
|
30
11
|
function Form(props) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
});
|
|
37
|
-
const onSubmit = async (values) => {
|
|
38
|
-
if (props.onSubmit) {
|
|
39
|
-
await props.onSubmit(values, formApi.reset);
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
const control = (0, react_1.useMemo)(() => Object.assign(formApi.control, { formId }), [formApi.control, formId]);
|
|
43
|
-
return (react_1.default.createElement("form", { id: formId, noValidate: true, onSubmit: formApi.handleSubmit(onSubmit) },
|
|
44
|
-
props.children(control, formApi),
|
|
45
|
-
props.onSubmit && react_1.default.createElement("input", { style: sr_only_1.srOnly, type: "submit" })));
|
|
12
|
+
return (react_1.default.createElement(form_id_context_1.FormIdContextProvider, { value: props.id },
|
|
13
|
+
react_1.default.createElement(react_hook_form_1.FormProvider, { ...props.formApi },
|
|
14
|
+
react_1.default.createElement("form", { className: props.className, id: props.id, noValidate: true, onSubmit: props.formApi.handleSubmit(props.onSubmit), ref: props.forwardRef },
|
|
15
|
+
props.children,
|
|
16
|
+
!props.omitSubmitInput && react_1.default.createElement("input", { style: sr_only_1.srOnly, type: "submit" })))));
|
|
46
17
|
}
|
|
47
18
|
exports.Form = Form;
|
|
19
|
+
Form.displayName = "UxfForm";
|
package/form/form.stories.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import React from "react";
|
|
2
2
|
import { Form } from "./form";
|
|
3
3
|
declare const _default: {
|
|
4
4
|
title: string;
|
|
5
5
|
component: typeof Form;
|
|
6
6
|
};
|
|
7
7
|
export default _default;
|
|
8
|
-
export declare function Default(): JSX.Element;
|
|
8
|
+
export declare function Default(): React.JSX.Element;
|