@uxf/form 1.0.0-beta.164 → 1.0.0-beta.165
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/datetime-picker-input/datetime-picker-input.d.ts +11 -0
- package/datetime-picker-input/datetime-picker-input.js +55 -0
- package/datetime-picker-input/datetime-picker-input.stories.d.ts +8 -0
- package/datetime-picker-input/datetime-picker-input.stories.js +27 -0
- package/datetime-picker-input/index.d.ts +1 -0
- package/datetime-picker-input/index.js +17 -0
- package/package.json +2 -2
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { DatetimePickerInputProps as UIDatetimePickerInputProps } from "@uxf/ui/datetime-picker-input";
|
|
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
|
+
};
|
|
8
|
+
export declare function DatetimePickerInput<FormData extends FieldValues>(props: DatetimePickerInputProps<FormData>): JSX.Element;
|
|
9
|
+
export declare namespace DatetimePickerInput {
|
|
10
|
+
var displayName: string;
|
|
11
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
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.DatetimePickerInput = void 0;
|
|
7
|
+
const datetime_picker_input_1 = require("@uxf/ui/datetime-picker-input");
|
|
8
|
+
const dayjs_1 = require("dayjs");
|
|
9
|
+
const react_1 = __importDefault(require("react"));
|
|
10
|
+
const react_hook_form_1 = require("react-hook-form");
|
|
11
|
+
const customParseFormat_1 = __importDefault(require("dayjs/plugin/customParseFormat"));
|
|
12
|
+
const form_id_context_1 = require("../form-id-context");
|
|
13
|
+
const datetime_picker_input_2 = require("@uxf/ui/datetime-picker-input/datetime-picker-input");
|
|
14
|
+
(0, dayjs_1.extend)(customParseFormat_1.default);
|
|
15
|
+
function DatetimePickerInput(props) {
|
|
16
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
17
|
+
const formId = (0, form_id_context_1.useFormIdContext)();
|
|
18
|
+
const id = (_a = props.id) !== null && _a !== void 0 ? _a : `${formId}__${props.name}`;
|
|
19
|
+
const { field, fieldState } = (0, react_hook_form_1.useController)({
|
|
20
|
+
control: props.control,
|
|
21
|
+
defaultValue: props.defaultValue,
|
|
22
|
+
name: props.name,
|
|
23
|
+
rules: {
|
|
24
|
+
required: props.isRequired ? props.requiredMessage || "Toto pole je povinné" : undefined,
|
|
25
|
+
...((_b = props.rules) !== null && _b !== void 0 ? _b : {}),
|
|
26
|
+
validate: {
|
|
27
|
+
validDate: (value) => {
|
|
28
|
+
if (!value) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
if (!(0, datetime_picker_input_2.getStrictParsedDatetime)(value).isValid()) {
|
|
32
|
+
return "Datum musí být ve formátu D. M. YYYY H:mm.";
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
...(typeof ((_c = props.rules) === null || _c === void 0 ? void 0 : _c.validate) === "function"
|
|
36
|
+
? { custom: props.rules.validate }
|
|
37
|
+
: (_e = (_d = props.rules) === null || _d === void 0 ? void 0 : _d.validate) !== null && _e !== void 0 ? _e : {}),
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
shouldUnregister: props.shouldUnregister,
|
|
41
|
+
});
|
|
42
|
+
const onBlur = (event) => {
|
|
43
|
+
var _a;
|
|
44
|
+
field.onBlur();
|
|
45
|
+
(_a = props.onBlur) === null || _a === void 0 ? void 0 : _a.call(props, event);
|
|
46
|
+
};
|
|
47
|
+
const onChange = (value, event) => {
|
|
48
|
+
var _a;
|
|
49
|
+
field.onChange(value);
|
|
50
|
+
(_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, event);
|
|
51
|
+
};
|
|
52
|
+
return (react_1.default.createElement(datetime_picker_input_1.DatetimePickerInput, { 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 }));
|
|
53
|
+
}
|
|
54
|
+
exports.DatetimePickerInput = DatetimePickerInput;
|
|
55
|
+
DatetimePickerInput.displayName = "UxfFormDatePickerInput";
|
|
@@ -0,0 +1,27 @@
|
|
|
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, { label: "Default date picker", name: "default", control: control, isClearable: true, isRequired: true }),
|
|
19
|
+
react_1.default.createElement(datetime_picker_input_1.DatetimePickerInput, { label: "Default date picker with default value", name: "withDefaultValue", control: control, isClearable: true, isRequired: true }),
|
|
20
|
+
react_1.default.createElement(button_1.Button, { type: "submit" }, "Submit")));
|
|
21
|
+
return (react_1.default.createElement(storybook_form_1.StorybookForm, { defaultValues: {
|
|
22
|
+
withDefaultValue: (0, dayjs_1.default)().toISOString(),
|
|
23
|
+
} }, ({ control }) => (react_1.default.createElement("div", { className: "flex flex-col lg:flex-row" },
|
|
24
|
+
react_1.default.createElement("div", { className: "light space-y-2 p-20 lg:w-1/2" }, storyFormDatePickers(control)),
|
|
25
|
+
react_1.default.createElement("div", { className: "dark space-y-2 bg-gray-900 p-20 text-white lg:w-1/2" }, storyFormDatePickers(control))))));
|
|
26
|
+
}
|
|
27
|
+
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);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uxf/form",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.165",
|
|
4
4
|
"description": "",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"author": "UX Fans s.r.o",
|
|
14
14
|
"license": "MIT",
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@uxf/ui": "^1.0.0-beta.
|
|
16
|
+
"@uxf/ui": "^1.0.0-beta.165",
|
|
17
17
|
"react-hook-form": "^7.43.9",
|
|
18
18
|
"coordinate-parser": "^1.0.7"
|
|
19
19
|
}
|