@uxf/ui 1.0.0-beta.162 → 1.0.0-beta.163
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/_input-with-popover/input-with-popover.js +1 -1
- package/date-picker-input/date-picker-input.d.ts +1 -0
- package/date-picker-input/date-picker-input.js +28 -6
- package/date-picker-input/index.d.ts +1 -2
- package/date-picker-input/index.js +1 -3
- package/date-picker-provider/date-picker-provider.spec.d.ts +1 -0
- package/date-picker-provider/date-picker-provider.spec.js +9 -0
- package/date-picker-provider/date-picker-provider.stories.d.ts +10 -0
- package/date-picker-provider/date-picker-provider.stories.js +49 -0
- package/date-picker-provider/index.d.ts +3 -0
- package/date-picker-provider/index.js +5 -0
- package/date-picker-provider/types.d.ts +5 -0
- package/date-picker-provider/types.js +2 -0
- package/package.json +1 -1
- package/time-picker-input/time-picker-input.d.ts +1 -4
- package/time-picker-input/time-picker-input.js +36 -14
- package/time-picker-input/time-picker-input.stories.js +1 -1
- /package/{date-picker-input → date-picker-provider}/date-picker-day.d.ts +0 -0
- /package/{date-picker-input → date-picker-provider}/date-picker-day.js +0 -0
- /package/{date-picker-input → date-picker-provider}/date-picker-decade.d.ts +0 -0
- /package/{date-picker-input → date-picker-provider}/date-picker-decade.js +0 -0
- /package/{date-picker-input → date-picker-provider}/date-picker-month.d.ts +0 -0
- /package/{date-picker-input → date-picker-provider}/date-picker-month.js +0 -0
- /package/{date-picker-input → date-picker-provider}/date-picker-navigation.d.ts +0 -0
- /package/{date-picker-input → date-picker-provider}/date-picker-navigation.js +0 -0
- /package/{date-picker-input → date-picker-provider}/date-picker-provider.d.ts +0 -0
- /package/{date-picker-input → date-picker-provider}/date-picker-provider.js +0 -0
- /package/{date-picker-input → date-picker-provider}/date-picker-year.d.ts +0 -0
- /package/{date-picker-input → date-picker-provider}/date-picker-year.js +0 -0
- /package/{date-picker-input → date-picker-provider}/date-picker.d.ts +0 -0
- /package/{date-picker-input → date-picker-provider}/date-picker.js +0 -0
|
@@ -78,7 +78,7 @@ exports._InputWithPopover = (0, react_1.forwardRef)((props, ref) => {
|
|
|
78
78
|
props.leftElement && react_1.default.createElement(input_1.Input.LeftElement, null, props.leftElement),
|
|
79
79
|
react_1.default.createElement(input_1.Input.Element, { "aria-describedby": error.ariaDescribedby, "aria-errormessage": error.ariaErrormessage, "aria-invalid": error.ariaInvalid, "aria-live": "polite", autoComplete: "off", form: props.form, id: id, isDisabled: props.isDisabled, isInvalid: props.isInvalid, isReadOnly: props.isReadOnly, isRequired: props.isRequired, name: props.name, onChange: props.onChange, placeholder: props.placeholder, ref: (0, composeRefs_1.composeRefs)(innerRef, ref), type: "text", value: props.value }),
|
|
80
80
|
react_1.default.createElement(input_1.Input.RightElement, null,
|
|
81
|
-
showRemoveButton && react_1.default.createElement(input_1.Input.RemoveButton, { onChange: props.onChange }),
|
|
81
|
+
showRemoveButton && react_1.default.createElement(input_1.Input.RemoveButton, { onChange: () => props.onChange("") }),
|
|
82
82
|
react_1.default.createElement(react_3.Popover.Button, { className: "uxf-iwp__trigger-element" }, props.triggerElement),
|
|
83
83
|
props.rightElement),
|
|
84
84
|
props.rightAddon && react_1.default.createElement(input_1.Input.RightAddon, null, props.rightAddon)),
|
|
@@ -2,6 +2,7 @@ import React, { ReactNode } from "react";
|
|
|
2
2
|
import { InputWithPopoverProps } from "../_input-with-popover";
|
|
3
3
|
export declare const ALLOWED_DATE_FORMAT: string[];
|
|
4
4
|
export declare const DISPLAY_DATE_FORMAT = "D. M. YYYY";
|
|
5
|
+
export declare const OUTPUT_DATE_FORMAT = "YYYY-MM-DD";
|
|
5
6
|
export interface DatePickerInputProps extends Omit<InputWithPopoverProps<string | null>, "children" | "placeholder" | "triggerElement"> {
|
|
6
7
|
placeholder?: string;
|
|
7
8
|
triggerElement?: ReactNode;
|
|
@@ -26,24 +26,46 @@ 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.DatePickerInput = exports.DISPLAY_DATE_FORMAT = exports.ALLOWED_DATE_FORMAT = void 0;
|
|
29
|
+
exports.DatePickerInput = exports.OUTPUT_DATE_FORMAT = exports.DISPLAY_DATE_FORMAT = exports.ALLOWED_DATE_FORMAT = void 0;
|
|
30
30
|
const dayjs_1 = __importStar(require("dayjs"));
|
|
31
31
|
const react_1 = __importStar(require("react"));
|
|
32
|
-
const date_picker_provider_1 = require("
|
|
32
|
+
const date_picker_provider_1 = require("../date-picker-provider");
|
|
33
33
|
const _input_with_popover_1 = require("../_input-with-popover");
|
|
34
34
|
const customParseFormat_1 = __importDefault(require("dayjs/plugin/customParseFormat"));
|
|
35
35
|
const icon_1 = require("../icon");
|
|
36
36
|
(0, dayjs_1.extend)(customParseFormat_1.default);
|
|
37
37
|
exports.ALLOWED_DATE_FORMAT = ["D. M. YYYY", "DD. MM. YYYY", "D.M.YYYY", "DD.MM.YYYY"];
|
|
38
38
|
exports.DISPLAY_DATE_FORMAT = "D. M. YYYY";
|
|
39
|
+
exports.OUTPUT_DATE_FORMAT = "YYYY-MM-DD";
|
|
39
40
|
exports.DatePickerInput = (0, react_1.forwardRef)((props, ref) => {
|
|
40
|
-
var _a
|
|
41
|
+
var _a;
|
|
41
42
|
const onChange = props.onChange;
|
|
43
|
+
const [inputValue, setInputValue] = (0, react_1.useState)(() => {
|
|
44
|
+
var _a;
|
|
45
|
+
const parsedDate = (0, dayjs_1.default)(props.value, exports.OUTPUT_DATE_FORMAT, true);
|
|
46
|
+
if (props.value && parsedDate.isValid()) {
|
|
47
|
+
return parsedDate.format(exports.DISPLAY_DATE_FORMAT);
|
|
48
|
+
}
|
|
49
|
+
return (_a = props.value) !== null && _a !== void 0 ? _a : "";
|
|
50
|
+
});
|
|
51
|
+
const onInputChange = (0, react_1.useCallback)((value) => {
|
|
52
|
+
const parsedValue = (0, dayjs_1.default)(value, exports.ALLOWED_DATE_FORMAT, true);
|
|
53
|
+
if (value !== "" && parsedValue.isValid()) {
|
|
54
|
+
onChange(parsedValue.format(exports.OUTPUT_DATE_FORMAT));
|
|
55
|
+
setInputValue(parsedValue.format(exports.DISPLAY_DATE_FORMAT));
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
onChange(value === "" ? null : value);
|
|
59
|
+
setInputValue(value);
|
|
60
|
+
}
|
|
61
|
+
}, [onChange]);
|
|
42
62
|
const onDatePickerChange = (0, react_1.useCallback)((value) => {
|
|
43
|
-
|
|
63
|
+
const parsedValue = (0, dayjs_1.default)(value);
|
|
64
|
+
onChange(parsedValue.format(exports.OUTPUT_DATE_FORMAT));
|
|
65
|
+
setInputValue(parsedValue.format(exports.DISPLAY_DATE_FORMAT));
|
|
44
66
|
}, [onChange]);
|
|
45
|
-
const parsedDate = (0, dayjs_1.default)(props.value, exports.
|
|
67
|
+
const parsedDate = (0, dayjs_1.default)(props.value, exports.OUTPUT_DATE_FORMAT, true);
|
|
46
68
|
const selectedDate = props.value && parsedDate.isValid() ? parsedDate.toDate() : null;
|
|
47
|
-
return (react_1.default.createElement(_input_with_popover_1._InputWithPopover, { ...props, placeholder: props.placeholder || "Vyberte datum...", ref: ref, value:
|
|
69
|
+
return (react_1.default.createElement(_input_with_popover_1._InputWithPopover, { ...props, onChange: onInputChange, placeholder: props.placeholder || "Vyberte datum...", ref: ref, value: inputValue, triggerElement: (_a = props.triggerElement) !== null && _a !== void 0 ? _a : react_1.default.createElement(icon_1.Icon, { name: "calendar", size: 20 }) }, ({ close }) => (react_1.default.createElement(date_picker_provider_1.DatePickerProvider, { closePopoverHandler: close, onChange: onDatePickerChange, selectedDate: selectedDate }))));
|
|
48
70
|
});
|
|
49
71
|
exports.DatePickerInput.displayName = "UxfUiDatePickerInput";
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export { DatePicker } from "./date-picker";
|
|
2
1
|
export type { DatePickerInputProps } from "./date-picker-input";
|
|
3
2
|
export { DatePickerInput } from "./date-picker-input";
|
|
4
|
-
export type { ViewModeType
|
|
3
|
+
export type { ViewModeType } from "./types";
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DatePickerInput =
|
|
4
|
-
var date_picker_1 = require("./date-picker");
|
|
5
|
-
Object.defineProperty(exports, "DatePicker", { enumerable: true, get: function () { return date_picker_1.DatePicker; } });
|
|
3
|
+
exports.DatePickerInput = void 0;
|
|
6
4
|
var date_picker_input_1 = require("./date-picker-input");
|
|
7
5
|
Object.defineProperty(exports, "DatePickerInput", { enumerable: true, get: function () { return date_picker_input_1.DatePickerInput; } });
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
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
|
+
const react_1 = __importDefault(require("react"));
|
|
7
|
+
const snap_test_1 = require("../utils/snap-test");
|
|
8
|
+
const date_picker_provider_stories_1 = require("./date-picker-provider.stories");
|
|
9
|
+
(0, snap_test_1.snapTest)("render stories", react_1.default.createElement(date_picker_provider_stories_1.Default, null));
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
declare const _default: {
|
|
3
|
+
title: string;
|
|
4
|
+
component: React.FC<import("./date-picker-provider").DatePickerProviderProps>;
|
|
5
|
+
parameters: {
|
|
6
|
+
docs: {};
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
export default _default;
|
|
10
|
+
export declare function Default(): JSX.Element;
|
|
@@ -0,0 +1,49 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.Default = void 0;
|
|
27
|
+
const react_1 = __importStar(require("react"));
|
|
28
|
+
// import Docs from "./date-picker.docs.mdx";
|
|
29
|
+
const action_1 = require("../utils/action");
|
|
30
|
+
const date_picker_provider_1 = require("./date-picker-provider");
|
|
31
|
+
exports.default = {
|
|
32
|
+
title: "UI/DatePickerProvider",
|
|
33
|
+
component: date_picker_provider_1.DatePickerProvider,
|
|
34
|
+
parameters: {
|
|
35
|
+
docs: {
|
|
36
|
+
// page: Docs,
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
function Default() {
|
|
41
|
+
const [date, setDate] = (0, react_1.useState)(null);
|
|
42
|
+
const onChange = (0, action_1.action)("onChange", setDate);
|
|
43
|
+
const testDatePickers = (react_1.default.createElement(react_1.default.Fragment, null,
|
|
44
|
+
react_1.default.createElement(date_picker_provider_1.DatePickerProvider, { closePopoverHandler: close, onChange: onChange, selectedDate: date })));
|
|
45
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
46
|
+
react_1.default.createElement("div", { className: "light max-w-[640px] space-y-4 rounded bg-white p-8" }, testDatePickers),
|
|
47
|
+
react_1.default.createElement("div", { className: "dark max-w-[640px] space-y-4 rounded bg-gray-900 p-8 text-white" }, testDatePickers)));
|
|
48
|
+
}
|
|
49
|
+
exports.Default = Default;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DatePickerProvider = void 0;
|
|
4
|
+
var date_picker_provider_1 = require("./date-picker-provider");
|
|
5
|
+
Object.defineProperty(exports, "DatePickerProvider", { enumerable: true, get: function () { return date_picker_provider_1.DatePickerProvider; } });
|
package/package.json
CHANGED
|
@@ -2,10 +2,7 @@ import React, { ReactNode } from "react";
|
|
|
2
2
|
import { InputWithPopoverProps } from "../_input-with-popover";
|
|
3
3
|
export declare const ALLOWED_TIME_FORMAT: string[];
|
|
4
4
|
export declare const DISPLAY_TIME_FORMAT = "H:mm";
|
|
5
|
-
export declare
|
|
6
|
-
hour: number;
|
|
7
|
-
minute: number;
|
|
8
|
-
};
|
|
5
|
+
export declare const OUTPUT_TIME_FORMAT = "HH:mm:ss";
|
|
9
6
|
export interface TimePickerInputProps extends Omit<InputWithPopoverProps<string | null>, "children" | "placeholder" | "triggerElement"> {
|
|
10
7
|
placeholder?: string;
|
|
11
8
|
triggerElement?: ReactNode;
|
|
@@ -26,7 +26,7 @@ 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.TimePickerInput = exports.
|
|
29
|
+
exports.TimePickerInput = exports.OUTPUT_TIME_FORMAT = exports.DISPLAY_TIME_FORMAT = exports.ALLOWED_TIME_FORMAT = void 0;
|
|
30
30
|
const react_1 = __importStar(require("react"));
|
|
31
31
|
const time_picker_1 = require("./time-picker");
|
|
32
32
|
const _input_with_popover_1 = require("../_input-with-popover");
|
|
@@ -36,20 +36,42 @@ const icon_1 = require("../icon");
|
|
|
36
36
|
(0, dayjs_1.extend)(customParseFormat_1.default);
|
|
37
37
|
exports.ALLOWED_TIME_FORMAT = ["HH:mm", "H:mm"];
|
|
38
38
|
exports.DISPLAY_TIME_FORMAT = "H:mm";
|
|
39
|
-
|
|
40
|
-
const parseTime = (0, dayjs_1.default)(value, exports.ALLOWED_TIME_FORMAT, true);
|
|
41
|
-
return {
|
|
42
|
-
hour: parseTime.hour(),
|
|
43
|
-
minute: parseTime.minute(),
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
exports.stringToTimeType = stringToTimeType;
|
|
39
|
+
exports.OUTPUT_TIME_FORMAT = "HH:mm:ss";
|
|
47
40
|
exports.TimePickerInput = (0, react_1.forwardRef)((props, ref) => {
|
|
48
|
-
var _a
|
|
41
|
+
var _a;
|
|
49
42
|
const onChange = props.onChange;
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
43
|
+
const [inputValue, setInputValue] = (0, react_1.useState)(() => {
|
|
44
|
+
var _a;
|
|
45
|
+
const parsedDate = (0, dayjs_1.default)(props.value, exports.OUTPUT_TIME_FORMAT, true);
|
|
46
|
+
if (props.value && parsedDate.isValid()) {
|
|
47
|
+
return parsedDate.format(exports.DISPLAY_TIME_FORMAT);
|
|
48
|
+
}
|
|
49
|
+
return (_a = props.value) !== null && _a !== void 0 ? _a : "";
|
|
50
|
+
});
|
|
51
|
+
const onInputChange = (0, react_1.useCallback)((value) => {
|
|
52
|
+
const parsedValue = (0, dayjs_1.default)(value, exports.ALLOWED_TIME_FORMAT, true);
|
|
53
|
+
if (value !== "" && parsedValue.isValid()) {
|
|
54
|
+
onChange(parsedValue.format(exports.OUTPUT_TIME_FORMAT));
|
|
55
|
+
setInputValue(parsedValue.format(exports.DISPLAY_TIME_FORMAT));
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
onChange(value === "" ? null : value);
|
|
59
|
+
setInputValue(value);
|
|
60
|
+
}
|
|
61
|
+
}, [onChange]);
|
|
62
|
+
const onTimePickerChange = (0, react_1.useCallback)((value) => {
|
|
63
|
+
var _a, _b;
|
|
64
|
+
const parsedValue = value ? (0, dayjs_1.default)().hour(value.hour).minute(value.minute).second(0) : null;
|
|
65
|
+
onChange((_a = parsedValue === null || parsedValue === void 0 ? void 0 : parsedValue.format(exports.OUTPUT_TIME_FORMAT)) !== null && _a !== void 0 ? _a : null);
|
|
66
|
+
setInputValue((_b = parsedValue === null || parsedValue === void 0 ? void 0 : parsedValue.format(exports.DISPLAY_TIME_FORMAT)) !== null && _b !== void 0 ? _b : "");
|
|
67
|
+
}, [onChange]);
|
|
68
|
+
const parsedTime = (0, dayjs_1.default)(props.value, exports.OUTPUT_TIME_FORMAT, true);
|
|
69
|
+
const selectedTime = props.value && parsedTime.isValid()
|
|
70
|
+
? {
|
|
71
|
+
hour: parsedTime.hour(),
|
|
72
|
+
minute: parsedTime.minute(),
|
|
73
|
+
}
|
|
74
|
+
: null;
|
|
75
|
+
return (react_1.default.createElement(_input_with_popover_1._InputWithPopover, { ...props, onChange: onInputChange, placeholder: props.placeholder || "Vyberte čas...", ref: ref, value: inputValue, triggerElement: (_a = props.triggerElement) !== null && _a !== void 0 ? _a : react_1.default.createElement(icon_1.Icon, { name: "clock", size: 20 }) }, ({ close }) => (react_1.default.createElement(time_picker_1.TimePicker, { closePopoverHandler: close, onChange: onTimePickerChange, selectedTime: selectedTime }))));
|
|
54
76
|
});
|
|
55
77
|
exports.TimePickerInput.displayName = "UxfUiTimePickerInput";
|
|
@@ -37,7 +37,7 @@ function Default() {
|
|
|
37
37
|
const onChange = (0, action_1.action)("onChange", setValue);
|
|
38
38
|
const testTimePickers = (react_1.default.createElement(react_1.default.Fragment, null,
|
|
39
39
|
react_1.default.createElement(time_picker_input_1.TimePickerInput, { id: "time-test", name: "time", label: "\u010Cas \u010Dehokoliv", value: value, onChange: onChange }),
|
|
40
|
-
react_1.default.createElement(time_picker_input_1.TimePickerInput, { id: "time-test", name: "time", label: "\u010Cas \u010Dehokoliv vlastn\u00ED ikona", triggerElement: react_1.default.createElement(icon_1.Icon, { name: "camera", size: 20 }), value: value, onChange: onChange }),
|
|
40
|
+
react_1.default.createElement(time_picker_input_1.TimePickerInput, { id: "time-test", name: "time", label: "\u010Cas \u010Dehokoliv vlastn\u00ED ikona", triggerElement: react_1.default.createElement(icon_1.Icon, { name: "camera", size: 20 }), value: value, isClearable: true, onChange: onChange }),
|
|
41
41
|
react_1.default.createElement(time_picker_input_1.TimePickerInput, { id: "time-test-disabled", name: "time-disabled", label: "\u010Cas disabled", value: value, onChange: onChange, isDisabled: true }),
|
|
42
42
|
react_1.default.createElement(time_picker_input_1.TimePickerInput, { id: "time-test-readonly", name: "time-readonly", label: "\u010Cas readonly", value: value, onChange: onChange, isReadOnly: true }),
|
|
43
43
|
react_1.default.createElement(time_picker_input_1.TimePickerInput, { id: "time-test-invalid", name: "time-invalid", label: "\u010Cas invalid", value: value, onChange: onChange, isInvalid: true, isClearable: true })));
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|