@uxf/ui 11.30.0 → 11.31.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/css/dialog.css +1 -1
- package/datetime-picker-input/datetime-picker-input.js +3 -4
- package/datetime-picker-input/get-datetime-string.d.ts +6 -0
- package/datetime-picker-input/get-datetime-string.js +19 -0
- package/package.json +4 -4
- package/time-picker-input/time-picker-input.d.ts +7 -0
- package/time-picker-input/time-picker-input.js +3 -1
- package/time-picker-input/time-picker-input.stories.d.ts +0 -5
- package/time-picker-input/time-picker-input.stories.js +7 -8
package/css/dialog.css
CHANGED
|
@@ -35,6 +35,7 @@ const react_1 = __importStar(require("react"));
|
|
|
35
35
|
const _input_with_popover_1 = require("../_input-with-popover");
|
|
36
36
|
const datetime_picker_1 = require("../datetime-picker");
|
|
37
37
|
const icon_1 = require("../icon");
|
|
38
|
+
const get_datetime_string_1 = require("./get-datetime-string");
|
|
38
39
|
(0, dayjs_1.extend)(customParseFormat_1.default);
|
|
39
40
|
exports.ALLOWED_DATETIME_FORMAT = [
|
|
40
41
|
"D. M. YYYY H:mm",
|
|
@@ -75,12 +76,10 @@ exports.DatetimePickerInput = (0, react_1.forwardRef)((props, ref) => {
|
|
|
75
76
|
onChange(value === "" ? null : value);
|
|
76
77
|
}
|
|
77
78
|
}, [onChange]);
|
|
78
|
-
const value = getValue(props.value);
|
|
79
|
+
const value = getValue(props.value); // hodnota zobrazená v textinputu (human readable)
|
|
79
80
|
const parsedMinDate = getBoundaryDate(props.minDate);
|
|
80
81
|
const parsedMaxDate = getBoundaryDate(props.maxDate);
|
|
81
82
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
82
|
-
react_1.default.createElement(_input_with_popover_1._InputWithPopover, { ...props, className: className, onChange: onInputChange, placeholder: (_a = props.placeholder) !== null && _a !== void 0 ? _a : (0, dayjs_1.default)().format(exports.DISPLAY_DATETIME_FORMAT), ref: ref, value: value, triggerElement: (_b = props.triggerElement) !== null && _b !== void 0 ? _b : react_1.default.createElement(icon_1.Icon, { name: "calendar", size: 20 }) }, ({ close }) => (0, is_not_nil_1.isNotNil)(props.CustomDatetimePicker) ? (react_1.default.createElement(props.CustomDatetimePicker, { value: (0,
|
|
83
|
-
? (0, dayjs_1.default)(value).format("YYYY-MM-DD[T]HH:mm:ssZ")
|
|
84
|
-
: null, onChange: onChange, onClose: close })) : (react_1.default.createElement(datetime_picker_1.DatetimePicker, { minDate: parsedMinDate, maxDate: parsedMaxDate, bottomContent: props.bottomContent, closePopoverHandler: close, onChange: onChange, value: props.value, unavailableDates: props.unavailableDates })))));
|
|
83
|
+
react_1.default.createElement(_input_with_popover_1._InputWithPopover, { ...props, className: className, onChange: onInputChange, placeholder: (_a = props.placeholder) !== null && _a !== void 0 ? _a : (0, dayjs_1.default)().format(exports.DISPLAY_DATETIME_FORMAT), ref: ref, value: value, triggerElement: (_b = props.triggerElement) !== null && _b !== void 0 ? _b : react_1.default.createElement(icon_1.Icon, { name: "calendar", size: 20 }) }, ({ close }) => (0, is_not_nil_1.isNotNil)(props.CustomDatetimePicker) ? (react_1.default.createElement(props.CustomDatetimePicker, { value: (0, get_datetime_string_1.getDatetimeString)(props.value), onChange: onChange, onClose: close })) : (react_1.default.createElement(datetime_picker_1.DatetimePicker, { minDate: parsedMinDate, maxDate: parsedMaxDate, bottomContent: props.bottomContent, closePopoverHandler: close, onChange: onChange, value: props.value, unavailableDates: props.unavailableDates })))));
|
|
85
84
|
});
|
|
86
85
|
exports.DatetimePickerInput.displayName = "UxfUiDatePickerInput";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { DatetimeString } from "@uxf/core/date";
|
|
2
|
+
import { Nullish } from "@uxf/core/types";
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated tuhle metodu nepoužívat - něco podobného se musí přenést do @uxf/core
|
|
5
|
+
*/
|
|
6
|
+
export declare function getDatetimeString(value: string | Nullish): DatetimeString | null;
|
|
@@ -0,0 +1,19 @@
|
|
|
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.getDatetimeString = void 0;
|
|
7
|
+
const is_nil_1 = require("@uxf/core/utils/is-nil");
|
|
8
|
+
const dayjs_1 = __importDefault(require("dayjs"));
|
|
9
|
+
/**
|
|
10
|
+
* @deprecated tuhle metodu nepoužívat - něco podobného se musí přenést do @uxf/core
|
|
11
|
+
*/
|
|
12
|
+
function getDatetimeString(value) {
|
|
13
|
+
if ((0, is_nil_1.isNil)(value)) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
const date = (0, dayjs_1.default)(value, ["YYYY-MM-DD[T]HH:mm:ssZ", "YYYY-MM-DD[T]HH:mm:ss.SSS[Z]"]);
|
|
17
|
+
return date.isValid() ? date.format("YYYY-MM-DD[T]HH:mm:ssZ") : null;
|
|
18
|
+
}
|
|
19
|
+
exports.getDatetimeString = getDatetimeString;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uxf/ui",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.31.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -17,10 +17,10 @@
|
|
|
17
17
|
"dependencies": {
|
|
18
18
|
"@floating-ui/react": "0.26.9",
|
|
19
19
|
"@headlessui/react": "1.7.14",
|
|
20
|
-
"@uxf/core": "11.
|
|
21
|
-
"@uxf/core-react": "11.
|
|
20
|
+
"@uxf/core": "11.31.0",
|
|
21
|
+
"@uxf/core-react": "11.31.0",
|
|
22
22
|
"@uxf/datepicker": "11.25.0",
|
|
23
|
-
"@uxf/styles": "11.
|
|
23
|
+
"@uxf/styles": "11.31.0",
|
|
24
24
|
"color2k": "2.0.3",
|
|
25
25
|
"dayjs": "1.11.10",
|
|
26
26
|
"jump.js": "1.0.2",
|
|
@@ -1,10 +1,17 @@
|
|
|
1
|
+
import { TimeString } from "@uxf/core/date";
|
|
1
2
|
import React, { ReactNode } from "react";
|
|
2
3
|
import { InputWithPopoverProps } from "../_input-with-popover";
|
|
4
|
+
import { ControlProps } from "../types";
|
|
3
5
|
export declare const ALLOWED_TIME_FORMAT: string[];
|
|
4
6
|
export declare const DISPLAY_TIME_FORMAT = "H:mm";
|
|
5
7
|
export declare const OUTPUT_TIME_FORMAT = "HH:mm:ss";
|
|
8
|
+
interface CustomTimePickerProps extends ControlProps<TimeString | null> {
|
|
9
|
+
onClose: () => void;
|
|
10
|
+
}
|
|
6
11
|
export interface TimePickerInputProps extends Omit<InputWithPopoverProps<string | null>, "children" | "placeholder" | "triggerElement"> {
|
|
7
12
|
placeholder?: string;
|
|
8
13
|
triggerElement?: ReactNode;
|
|
14
|
+
CustomTimePicker?: (props: CustomTimePickerProps) => ReactNode;
|
|
9
15
|
}
|
|
10
16
|
export declare const TimePickerInput: React.ForwardRefExoticComponent<TimePickerInputProps & React.RefAttributes<HTMLInputElement>>;
|
|
17
|
+
export {};
|
|
@@ -27,7 +27,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
exports.TimePickerInput = exports.OUTPUT_TIME_FORMAT = exports.DISPLAY_TIME_FORMAT = exports.ALLOWED_TIME_FORMAT = void 0;
|
|
30
|
+
const is_time_string_1 = require("@uxf/core/date/is-time-string");
|
|
30
31
|
const cx_1 = require("@uxf/core/utils/cx");
|
|
32
|
+
const is_not_nil_1 = require("@uxf/core/utils/is-not-nil");
|
|
31
33
|
const dayjs_1 = __importStar(require("dayjs"));
|
|
32
34
|
const customParseFormat_1 = __importDefault(require("dayjs/plugin/customParseFormat"));
|
|
33
35
|
const react_1 = __importStar(require("react"));
|
|
@@ -75,6 +77,6 @@ exports.TimePickerInput = (0, react_1.forwardRef)((props, ref) => {
|
|
|
75
77
|
}, [onChange]);
|
|
76
78
|
const value = getValue(props.value);
|
|
77
79
|
const selectedTime = getSelectedTime(props.value);
|
|
78
|
-
return (react_1.default.createElement(_input_with_popover_1._InputWithPopover, { ...props, className: className, onChange: onInputChange, placeholder: (_a = props.placeholder) !== null && _a !== void 0 ? _a : (0, dayjs_1.default)().format(exports.DISPLAY_TIME_FORMAT), ref: ref, value: value, triggerElement: (_b = props.triggerElement) !== null && _b !== void 0 ? _b : react_1.default.createElement(icon_1.Icon, { name: "clock", size: 20 }) }, ({ close }) => (react_1.default.createElement(time_picker_1.TimePicker, { closePopoverHandler: close, onChange: onTimePickerChange, preventScroll: true, selectedTime: selectedTime }))));
|
|
80
|
+
return (react_1.default.createElement(_input_with_popover_1._InputWithPopover, { ...props, className: className, onChange: onInputChange, placeholder: (_a = props.placeholder) !== null && _a !== void 0 ? _a : (0, dayjs_1.default)().format(exports.DISPLAY_TIME_FORMAT), ref: ref, value: value, triggerElement: (_b = props.triggerElement) !== null && _b !== void 0 ? _b : react_1.default.createElement(icon_1.Icon, { name: "clock", size: 20 }) }, ({ close }) => (0, is_not_nil_1.isNotNil)(props.CustomTimePicker) ? (react_1.default.createElement(props.CustomTimePicker, { value: (0, is_time_string_1.isTimeString)(props.value) ? props.value : null, onChange: props.onChange, onClose: close })) : (react_1.default.createElement(time_picker_1.TimePicker, { closePopoverHandler: close, onChange: onTimePickerChange, preventScroll: true, selectedTime: selectedTime }))));
|
|
79
81
|
});
|
|
80
82
|
exports.TimePickerInput.displayName = "UxfUiTimePickerInput";
|
|
@@ -1,7 +1,2 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
declare const _default: {
|
|
3
|
-
title: string;
|
|
4
|
-
component: React.ForwardRefExoticComponent<import("./time-picker-input").TimePickerInputProps & React.RefAttributes<HTMLInputElement>>;
|
|
5
|
-
};
|
|
6
|
-
export default _default;
|
|
7
2
|
export declare function Default(): React.JSX.Element;
|
|
@@ -26,22 +26,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
26
26
|
exports.Default = void 0;
|
|
27
27
|
const icon_1 = require("@uxf/ui//icon");
|
|
28
28
|
const react_1 = __importStar(require("react"));
|
|
29
|
+
const button_1 = require("../button");
|
|
29
30
|
const action_1 = require("../utils/action");
|
|
30
31
|
const time_picker_input_1 = require("./time-picker-input");
|
|
31
|
-
exports.default = {
|
|
32
|
-
title: "UI/TimePickerInput",
|
|
33
|
-
component: time_picker_input_1.TimePickerInput,
|
|
34
|
-
};
|
|
35
32
|
function Default() {
|
|
36
33
|
const [value, setValue] = (0, react_1.useState)(null);
|
|
37
34
|
const onChange = (0, action_1.action)("onChange", setValue);
|
|
38
|
-
|
|
35
|
+
return (react_1.default.createElement("div", { className: "max-w-[640px] space-y-4 rounded p-8" },
|
|
39
36
|
react_1.default.createElement(time_picker_input_1.TimePickerInput, { id: "time-test", label: "\u010Cas \u010Dehokoliv", name: "time", onChange: onChange, placeholder: "Zadejte \u010Das...", value: value }),
|
|
40
37
|
react_1.default.createElement(time_picker_input_1.TimePickerInput, { id: "time-test", isClearable: true, label: "\u010Cas \u010Dehokoliv vlastn\u00ED ikona", name: "time", onChange: onChange, triggerElement: react_1.default.createElement(icon_1.Icon, { name: "camera", size: 20 }), value: value }),
|
|
41
38
|
react_1.default.createElement(time_picker_input_1.TimePickerInput, { id: "time-test-disabled", isDisabled: true, label: "\u010Cas disabled", name: "time-disabled", onChange: onChange, value: value }),
|
|
42
39
|
react_1.default.createElement(time_picker_input_1.TimePickerInput, { id: "time-test-readonly", isReadOnly: true, label: "\u010Cas readonly", name: "time-readonly", onChange: onChange, value: value }),
|
|
43
|
-
react_1.default.createElement(time_picker_input_1.TimePickerInput, { id: "time-test-invalid", isClearable: true, isInvalid: true, label: "\u010Cas invalid", name: "time-invalid", onChange: onChange, value: value })
|
|
44
|
-
|
|
45
|
-
|
|
40
|
+
react_1.default.createElement(time_picker_input_1.TimePickerInput, { id: "time-test-invalid", isClearable: true, isInvalid: true, label: "\u010Cas invalid", name: "time-invalid", onChange: onChange, value: value }),
|
|
41
|
+
react_1.default.createElement(time_picker_input_1.TimePickerInput, { id: "custom-picker", label: "Custom picker", name: "custom-picker", onChange: onChange, value: value, CustomTimePicker: (props) => (react_1.default.createElement(button_1.Button, { onClick: () => {
|
|
42
|
+
props.onChange("15:00:00");
|
|
43
|
+
props.onClose();
|
|
44
|
+
} }, "15:00")) })));
|
|
46
45
|
}
|
|
47
46
|
exports.Default = Default;
|