@uxf/ui 10.5.0 → 11.0.0-beta.16
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 +2 -10
- package/avatar-file-input/avatar-file-input.js +11 -20
- package/create-component-preview-page/ui-components.d.ts +0 -10
- package/create-component-preview-page/ui-components.js +0 -10
- package/create-component-preview-page/ui-readmes.js +44 -48
- package/css/avatar-file-input.css +67 -97
- package/css/calendar.css +6 -1
- package/message/README.md +1 -25
- package/package.json +3 -3
- package/radio-group/radio-group.d.ts +1 -1
- package/tabs/tabs.d.ts +0 -1
- package/tabs/tabs.js +1 -2
- package/image-gallery/README.md +0 -8
|
@@ -1,18 +1,10 @@
|
|
|
1
|
-
import React, {
|
|
1
|
+
import React, { ReactNode } from "react";
|
|
2
2
|
import { FileInputBaseProps } from "../_file-input-base";
|
|
3
|
-
import { IconName } from "../icon/types";
|
|
4
3
|
import { AvatarFileInputVariant } from "./theme";
|
|
5
4
|
export interface AvatarFileInputProps extends FileInputBaseProps {
|
|
6
|
-
customControls?: (args: {
|
|
7
|
-
onSelectFile: MouseEventHandler;
|
|
8
|
-
onRemoveFile: MouseEventHandler;
|
|
9
|
-
}) => ReactNode;
|
|
10
5
|
helperText?: ReactNode;
|
|
11
|
-
hiddenLabel?: boolean;
|
|
12
|
-
icon?: IconName;
|
|
13
6
|
label?: ReactNode;
|
|
14
|
-
|
|
15
|
-
selectFileLabel?: ReactNode;
|
|
7
|
+
changeFileLabel?: ReactNode;
|
|
16
8
|
variant?: AvatarFileInputVariant;
|
|
17
9
|
}
|
|
18
10
|
export declare const AvatarFileInput: React.ForwardRefExoticComponent<AvatarFileInputProps & React.RefAttributes<HTMLInputElement>>;
|
|
@@ -26,37 +26,28 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
26
26
|
exports.AvatarFileInput = void 0;
|
|
27
27
|
const classes_1 = require("@uxf/core/constants/classes");
|
|
28
28
|
const useInputFocus_1 = require("@uxf/core/hooks/useInputFocus");
|
|
29
|
-
const composeRefs_1 = require("@uxf/core/utils/composeRefs");
|
|
30
29
|
const cx_1 = require("@uxf/core/utils/cx");
|
|
31
30
|
const file_1 = require("@uxf/core/utils/file");
|
|
32
31
|
const react_1 = __importStar(require("react"));
|
|
33
32
|
const _file_input_base_1 = require("../_file-input-base");
|
|
34
33
|
const avatar_1 = require("../avatar");
|
|
35
|
-
const button_1 = require("../button");
|
|
36
|
-
const form_component_1 = require("../form-component");
|
|
37
34
|
const icon_1 = require("../icon");
|
|
38
35
|
exports.AvatarFileInput = (0, react_1.forwardRef)((props, ref) => {
|
|
39
|
-
var _a, _b
|
|
36
|
+
var _a, _b;
|
|
40
37
|
const generatedId = (0, react_1.useId)();
|
|
41
38
|
const id = props.id || generatedId;
|
|
42
39
|
const innerRef = (0, react_1.useRef)(null);
|
|
43
40
|
const input = (0, useInputFocus_1.useInputFocus)(innerRef, props.onBlur, props.onFocus);
|
|
44
41
|
const errorId = props.isInvalid && props.id ? `${props.id}--errormessage` : undefined;
|
|
45
|
-
const
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
react_1.default.createElement("div", { className: "uxf-avatar-file-input__controls" }, props.customControls ? (props.customControls({
|
|
56
|
-
onSelectFile,
|
|
57
|
-
onRemoveFile,
|
|
58
|
-
})) : (react_1.default.createElement("div", { className: "uxf-avatar-file-input__controls-buttons" },
|
|
59
|
-
react_1.default.createElement(button_1.Button, { className: "uxf-avatar-file-input__controls-button uxf-avatar-file-input__controls-button--select", disabled: props.isDisabled, onClick: onSelectFile, size: "sm", variant: "white" }, (_d = props.selectFileLabel) !== null && _d !== void 0 ? _d : "Upload image"),
|
|
60
|
-
!!props.value && !props.isDisabled && (react_1.default.createElement(button_1.Button, { className: "uxf-avatar-file-input__controls-button uxf-avatar-file-input__controls-button--remove", color: "error", disabled: props.isDisabled, onClick: onRemoveFile, size: "sm", variant: "white" }, (_e = props.removeFileLabel) !== null && _e !== void 0 ? _e : "Remove avatar"))))))));
|
|
42
|
+
const stateClassNames = (0, cx_1.cx)(input.focused && classes_1.CLASSES.IS_FOCUSED, (props.isDisabled || props.isReadOnly) && classes_1.CLASSES.IS_DISABLED, props.isInvalid && classes_1.CLASSES.IS_INVALID);
|
|
43
|
+
const label = props.value && props.changeFileLabel ? props.changeFileLabel : props.label;
|
|
44
|
+
return (react_1.default.createElement("div", { className: `uxf-avatar-file-input uxf-avatar-file-input--variant-${(_a = props.variant) !== null && _a !== void 0 ? _a : "default"} ${(_b = props.className) !== null && _b !== void 0 ? _b : ""}` },
|
|
45
|
+
react_1.default.createElement("div", { className: "uxf-avatar-file-input__label-wrapper" },
|
|
46
|
+
props.value ? (react_1.default.createElement(avatar_1.Avatar, { className: (0, cx_1.cx)("uxf-avatar-file-input__image", stateClassNames), src: (0, file_1.getFileUrl)(props.value) })) : (react_1.default.createElement("label", { className: (0, cx_1.cx)("uxf-avatar-file-input__label", stateClassNames), htmlFor: id, tabIndex: 0 },
|
|
47
|
+
react_1.default.createElement(icon_1.Icon, { className: (0, cx_1.cx)("uxf-avatar-file-input__label-icon", stateClassNames), name: "cloud", size: 28 }))),
|
|
48
|
+
(props.label && typeof props.label === "string") ||
|
|
49
|
+
(props.value && props.changeFileLabel && typeof props.changeFileLabel === "string") ? (react_1.default.createElement("label", { className: (0, cx_1.cx)("uxf-avatar-file-input__label-text", stateClassNames), htmlFor: id, tabIndex: 0 }, label)) : (label)),
|
|
50
|
+
react_1.default.createElement(_file_input_base_1._FileInputBase, { accept: props.accept, "aria-describedby": errorId, "aria-invalid": props.isInvalid, className: "uxf-avatar-file-input__input", form: props.form, id: id, isDisabled: props.isDisabled, isFocused: props.isFocused, isInvalid: props.isInvalid, isReadOnly: props.isReadOnly, isRequired: props.isRequired, name: props.name, onBlur: input.onBlur, onChange: props.onChange, onFocus: input.onFocus, onUploadError: props.onUploadError, onUploadFile: props.onUploadFile, ref: ref, value: props.value }),
|
|
51
|
+
props.helperText && (react_1.default.createElement("div", { className: (0, cx_1.cx)("uxf-helper-text", errorId && classes_1.CLASSES.IS_INVALID), id: errorId }, props.helperText))));
|
|
61
52
|
});
|
|
62
53
|
exports.AvatarFileInput.displayName = "UxfUiAvatarFileInput";
|
|
@@ -27,7 +27,6 @@ import * as InputStories from "@uxf/ui/input/input.stories";
|
|
|
27
27
|
import * as LabelStories from "@uxf/ui/label/label.stories";
|
|
28
28
|
import * as ListItemStories from "@uxf/ui/list-item/list-item.stories";
|
|
29
29
|
import * as LoaderStories from "@uxf/ui/loader/loader.stories";
|
|
30
|
-
import * as MessageStories from "@uxf/ui/message/message.stories";
|
|
31
30
|
import * as ModalStories from "@uxf/ui/modal/modal.stories";
|
|
32
31
|
import * as MultiComboboxStories from "@uxf/ui/multi-combobox/multi-combobox.stories";
|
|
33
32
|
import * as MultiSelectStories from "@uxf/ui/multi-select/multi-select.stories";
|
|
@@ -46,7 +45,6 @@ import * as TimePickerStories from "@uxf/ui/time-picker/time-picker-input.storie
|
|
|
46
45
|
import * as ToggleStories from "@uxf/ui/toggle/toggle.stories";
|
|
47
46
|
import * as TooltipStories from "@uxf/ui/tooltip/tooltip.stories";
|
|
48
47
|
import * as TypographyStories from "@uxf/ui/typography/typography.stories";
|
|
49
|
-
import * as ImageGalleryStories from "../image-gallery/image-gallery.stories";
|
|
50
48
|
export declare const uiComponents: {
|
|
51
49
|
readonly avatar: {
|
|
52
50
|
readonly title: "Avatar";
|
|
@@ -148,10 +146,6 @@ export declare const uiComponents: {
|
|
|
148
146
|
readonly title: "Icon";
|
|
149
147
|
readonly stories: typeof IconStories;
|
|
150
148
|
};
|
|
151
|
-
readonly "image-gallery": {
|
|
152
|
-
readonly title: "ImageGallery";
|
|
153
|
-
readonly stories: typeof ImageGalleryStories;
|
|
154
|
-
};
|
|
155
149
|
readonly input: {
|
|
156
150
|
readonly title: "Input";
|
|
157
151
|
readonly stories: typeof InputStories;
|
|
@@ -168,10 +162,6 @@ export declare const uiComponents: {
|
|
|
168
162
|
readonly title: "Loader";
|
|
169
163
|
readonly stories: typeof LoaderStories;
|
|
170
164
|
};
|
|
171
|
-
readonly message: {
|
|
172
|
-
readonly title: "Message";
|
|
173
|
-
readonly stories: typeof MessageStories;
|
|
174
|
-
};
|
|
175
165
|
readonly modal: {
|
|
176
166
|
readonly title: "Modal";
|
|
177
167
|
readonly stories: typeof ModalStories;
|
|
@@ -53,7 +53,6 @@ const InputStories = __importStar(require("@uxf/ui/input/input.stories"));
|
|
|
53
53
|
const LabelStories = __importStar(require("@uxf/ui/label/label.stories"));
|
|
54
54
|
const ListItemStories = __importStar(require("@uxf/ui/list-item/list-item.stories"));
|
|
55
55
|
const LoaderStories = __importStar(require("@uxf/ui/loader/loader.stories"));
|
|
56
|
-
const MessageStories = __importStar(require("@uxf/ui/message/message.stories"));
|
|
57
56
|
const ModalStories = __importStar(require("@uxf/ui/modal/modal.stories"));
|
|
58
57
|
const MultiComboboxStories = __importStar(require("@uxf/ui/multi-combobox/multi-combobox.stories"));
|
|
59
58
|
const MultiSelectStories = __importStar(require("@uxf/ui/multi-select/multi-select.stories"));
|
|
@@ -72,7 +71,6 @@ const TimePickerStories = __importStar(require("@uxf/ui/time-picker/time-picker-
|
|
|
72
71
|
const ToggleStories = __importStar(require("@uxf/ui/toggle/toggle.stories"));
|
|
73
72
|
const TooltipStories = __importStar(require("@uxf/ui/tooltip/tooltip.stories"));
|
|
74
73
|
const TypographyStories = __importStar(require("@uxf/ui/typography/typography.stories"));
|
|
75
|
-
const ImageGalleryStories = __importStar(require("../image-gallery/image-gallery.stories"));
|
|
76
74
|
exports.uiComponents = {
|
|
77
75
|
avatar: {
|
|
78
76
|
title: "Avatar",
|
|
@@ -174,10 +172,6 @@ exports.uiComponents = {
|
|
|
174
172
|
title: "Icon",
|
|
175
173
|
stories: IconStories,
|
|
176
174
|
},
|
|
177
|
-
"image-gallery": {
|
|
178
|
-
title: "ImageGallery",
|
|
179
|
-
stories: ImageGalleryStories,
|
|
180
|
-
},
|
|
181
175
|
input: {
|
|
182
176
|
title: "Input",
|
|
183
177
|
stories: InputStories,
|
|
@@ -194,10 +188,6 @@ exports.uiComponents = {
|
|
|
194
188
|
title: "Loader",
|
|
195
189
|
stories: LoaderStories,
|
|
196
190
|
},
|
|
197
|
-
message: {
|
|
198
|
-
title: "Message",
|
|
199
|
-
stories: MessageStories,
|
|
200
|
-
},
|
|
201
191
|
modal: {
|
|
202
192
|
title: "Modal",
|
|
203
193
|
stories: ModalStories,
|
|
@@ -29,30 +29,28 @@ const README_md_22 = __importDefault(require("@uxf/ui/file-input/README.md"));
|
|
|
29
29
|
const README_md_23 = __importDefault(require("@uxf/ui/flash-messages/README.md"));
|
|
30
30
|
const README_md_24 = __importDefault(require("@uxf/ui/form-component/README.md"));
|
|
31
31
|
const README_md_25 = __importDefault(require("@uxf/ui/icon/README.md"));
|
|
32
|
-
const README_md_26 = __importDefault(require("@uxf/ui/
|
|
33
|
-
const README_md_27 = __importDefault(require("@uxf/ui/
|
|
34
|
-
const README_md_28 = __importDefault(require("@uxf/ui/
|
|
35
|
-
const README_md_29 = __importDefault(require("@uxf/ui/
|
|
36
|
-
const README_md_30 = __importDefault(require("@uxf/ui/
|
|
37
|
-
const README_md_31 = __importDefault(require("@uxf/ui/
|
|
38
|
-
const README_md_32 = __importDefault(require("@uxf/ui/
|
|
39
|
-
const README_md_33 = __importDefault(require("@uxf/ui/
|
|
40
|
-
const README_md_34 = __importDefault(require("@uxf/ui/
|
|
41
|
-
const README_md_35 = __importDefault(require("@uxf/ui/
|
|
42
|
-
const README_md_36 = __importDefault(require("@uxf/ui/
|
|
43
|
-
const README_md_37 = __importDefault(require("@uxf/ui/
|
|
44
|
-
const README_md_38 = __importDefault(require("@uxf/ui/
|
|
45
|
-
const README_md_39 = __importDefault(require("@uxf/ui/
|
|
46
|
-
const README_md_40 = __importDefault(require("@uxf/ui/
|
|
47
|
-
const README_md_41 = __importDefault(require("@uxf/ui/
|
|
48
|
-
const README_md_42 = __importDefault(require("@uxf/ui/
|
|
49
|
-
const README_md_43 = __importDefault(require("@uxf/ui/
|
|
50
|
-
const README_md_44 = __importDefault(require("@uxf/ui/
|
|
51
|
-
const README_md_45 = __importDefault(require("@uxf/ui/
|
|
52
|
-
const README_md_46 = __importDefault(require("@uxf/ui/
|
|
53
|
-
const README_md_47 = __importDefault(require("@uxf/ui/
|
|
54
|
-
const README_md_48 = __importDefault(require("@uxf/ui/tooltip/README.md"));
|
|
55
|
-
const README_md_49 = __importDefault(require("@uxf/ui/typography/README.md"));
|
|
32
|
+
const README_md_26 = __importDefault(require("@uxf/ui/input/README.md"));
|
|
33
|
+
const README_md_27 = __importDefault(require("@uxf/ui/label/README.md"));
|
|
34
|
+
const README_md_28 = __importDefault(require("@uxf/ui/list-item/README.md"));
|
|
35
|
+
const README_md_29 = __importDefault(require("@uxf/ui/loader/README.md"));
|
|
36
|
+
const README_md_30 = __importDefault(require("@uxf/ui/modal/README.md"));
|
|
37
|
+
const README_md_31 = __importDefault(require("@uxf/ui/multi-combobox/README.md"));
|
|
38
|
+
const README_md_32 = __importDefault(require("@uxf/ui/multi-select/README.md"));
|
|
39
|
+
const README_md_33 = __importDefault(require("@uxf/ui/pagination/README.md"));
|
|
40
|
+
const README_md_34 = __importDefault(require("@uxf/ui/paper/README.md"));
|
|
41
|
+
const README_md_35 = __importDefault(require("@uxf/ui/radio-group/README.md"));
|
|
42
|
+
const README_md_36 = __importDefault(require("@uxf/ui/radio/README.md"));
|
|
43
|
+
const README_md_37 = __importDefault(require("@uxf/ui/raster-image/README.md"));
|
|
44
|
+
const README_md_38 = __importDefault(require("@uxf/ui/select/README.md"));
|
|
45
|
+
const README_md_39 = __importDefault(require("@uxf/ui/tabs/README.md"));
|
|
46
|
+
const README_md_40 = __importDefault(require("@uxf/ui/text-input/README.md"));
|
|
47
|
+
const README_md_41 = __importDefault(require("@uxf/ui/text-link/README.md"));
|
|
48
|
+
const README_md_42 = __importDefault(require("@uxf/ui/textarea/README.md"));
|
|
49
|
+
const README_md_43 = __importDefault(require("@uxf/ui/time-picker-input/README.md"));
|
|
50
|
+
const README_md_44 = __importDefault(require("@uxf/ui/time-picker/README.md"));
|
|
51
|
+
const README_md_45 = __importDefault(require("@uxf/ui/toggle/README.md"));
|
|
52
|
+
const README_md_46 = __importDefault(require("@uxf/ui/tooltip/README.md"));
|
|
53
|
+
const README_md_47 = __importDefault(require("@uxf/ui/typography/README.md"));
|
|
56
54
|
exports.uiReadmes = {
|
|
57
55
|
avatar: README_md_2.default,
|
|
58
56
|
"avatar-file-input": README_md_1.default,
|
|
@@ -79,28 +77,26 @@ exports.uiReadmes = {
|
|
|
79
77
|
"flash-messages": README_md_23.default,
|
|
80
78
|
"form-component": README_md_24.default,
|
|
81
79
|
icon: README_md_25.default,
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
"
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
tooltip: README_md_48.default,
|
|
105
|
-
typography: README_md_49.default,
|
|
80
|
+
input: README_md_26.default,
|
|
81
|
+
label: README_md_27.default,
|
|
82
|
+
"list-item": README_md_28.default,
|
|
83
|
+
loader: README_md_29.default,
|
|
84
|
+
modal: README_md_30.default,
|
|
85
|
+
"multi-combobox": README_md_31.default,
|
|
86
|
+
"multi-select": README_md_32.default,
|
|
87
|
+
pagination: README_md_33.default,
|
|
88
|
+
paper: README_md_34.default,
|
|
89
|
+
radio: README_md_36.default,
|
|
90
|
+
"radio-group": README_md_35.default,
|
|
91
|
+
"raster-image": README_md_37.default,
|
|
92
|
+
select: README_md_38.default,
|
|
93
|
+
tabs: README_md_39.default,
|
|
94
|
+
"text-input": README_md_40.default,
|
|
95
|
+
"text-link": README_md_41.default,
|
|
96
|
+
textarea: README_md_42.default,
|
|
97
|
+
"time-picker": README_md_44.default,
|
|
98
|
+
"time-picker-input": README_md_43.default,
|
|
99
|
+
toggle: README_md_45.default,
|
|
100
|
+
tooltip: README_md_46.default,
|
|
101
|
+
typography: README_md_47.default,
|
|
106
102
|
};
|
|
@@ -1,146 +1,116 @@
|
|
|
1
1
|
.uxf-avatar-file-input {
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
align-items: center;
|
|
3
|
+
display: flex;
|
|
4
|
+
gap: theme("spacing.4");
|
|
5
|
+
|
|
6
|
+
&__input {
|
|
7
|
+
display: none;
|
|
4
8
|
}
|
|
5
9
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
margin-top: theme("spacing.2");
|
|
10
|
+
&--variant-default {
|
|
11
|
+
.uxf-avatar-file-input__label {
|
|
12
|
+
border-radius: theme("borderRadius.full");
|
|
13
|
+
}
|
|
11
14
|
}
|
|
12
15
|
|
|
13
|
-
&
|
|
16
|
+
&__label {
|
|
17
|
+
@apply transition-all duration-75;
|
|
18
|
+
|
|
19
|
+
align-items: center;
|
|
20
|
+
border-style: dashed;
|
|
21
|
+
border-width: theme("borderWidth.2");
|
|
14
22
|
cursor: pointer;
|
|
15
|
-
|
|
23
|
+
display: flex;
|
|
16
24
|
height: theme("height.20");
|
|
17
|
-
|
|
25
|
+
justify-content: center;
|
|
18
26
|
width: theme("width.20");
|
|
19
27
|
|
|
20
|
-
|
|
21
|
-
:
|
|
22
|
-
|
|
23
|
-
}
|
|
28
|
+
:root .light & {
|
|
29
|
+
border-color: theme("colors.lightBorder");
|
|
30
|
+
}
|
|
24
31
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
32
|
+
:root .dark & {
|
|
33
|
+
border-color: theme("colors.darkBorder");
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
&-wrapper {
|
|
37
|
+
align-items: center;
|
|
38
|
+
display: flex;
|
|
39
|
+
gap: theme("spacing.4");
|
|
28
40
|
}
|
|
29
41
|
|
|
30
|
-
|
|
42
|
+
&-icon {
|
|
31
43
|
:root .light & {
|
|
32
|
-
|
|
33
|
-
--border-color: var(--color);
|
|
34
|
-
--color: theme("colors.error.DEFAULT");
|
|
44
|
+
color: theme("colors.lightLow");
|
|
35
45
|
}
|
|
36
46
|
|
|
37
47
|
:root .dark & {
|
|
38
|
-
|
|
39
|
-
--border-color: var(--color);
|
|
40
|
-
--color: theme("colors.error.DEFAULT");
|
|
48
|
+
color: theme("colors.lightBorder");
|
|
41
49
|
}
|
|
42
|
-
}
|
|
43
50
|
|
|
44
|
-
|
|
45
|
-
pointer-events: none;
|
|
46
|
-
|
|
47
|
-
.uxf-avatar-file-input__input-empty {
|
|
51
|
+
&.is-invalid {
|
|
48
52
|
:root .light & {
|
|
49
|
-
|
|
50
|
-
--color: theme("colors.lightBorder");
|
|
53
|
+
color: theme("colors.error.DEFAULT");
|
|
51
54
|
}
|
|
52
55
|
|
|
53
56
|
:root .dark & {
|
|
54
|
-
|
|
55
|
-
--color: theme("colors.darkBorder");
|
|
57
|
+
color: theme("colors.error.DEFAULT");
|
|
56
58
|
}
|
|
57
59
|
}
|
|
58
|
-
|
|
59
|
-
.uxf-avatar-file-input__input-avatar {
|
|
60
|
-
opacity: 0.5;
|
|
61
|
-
}
|
|
62
60
|
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
&__input-element {
|
|
66
|
-
@apply sr-only;
|
|
67
61
|
|
|
68
|
-
&:
|
|
62
|
+
&:hover {
|
|
69
63
|
border-width: theme("borderWidth.4");
|
|
64
|
+
}
|
|
70
65
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
--color: theme("colors.primary.DEFAULT");
|
|
66
|
+
&.is-invalid {
|
|
67
|
+
:root .light & {
|
|
68
|
+
border-color: theme("colors.error.DEFAULT");
|
|
75
69
|
}
|
|
76
70
|
|
|
77
71
|
:root .dark & {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
--color: theme("colors.primary.DEFAULT");
|
|
81
|
-
*/
|
|
72
|
+
border-color: theme("colors.error.DEFAULT");
|
|
73
|
+
}
|
|
82
74
|
}
|
|
83
|
-
}
|
|
84
75
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
height: 100%;
|
|
89
|
-
width: 100%;
|
|
90
|
-
}
|
|
76
|
+
&.is-disabled {
|
|
77
|
+
background-color: theme("colors.lightLow/.20");
|
|
78
|
+
cursor: not-allowed;
|
|
91
79
|
|
|
92
|
-
|
|
93
|
-
|
|
80
|
+
&:hover {
|
|
81
|
+
border-width: theme("borderWidth.2");
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
94
85
|
|
|
95
|
-
|
|
86
|
+
&__label-text {
|
|
87
|
+
@apply text-sm shadow-sm;
|
|
96
88
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
border-radius: inherit;
|
|
101
|
-
display: flex;
|
|
102
|
-
height: 100%;
|
|
103
|
-
justify-content: center;
|
|
104
|
-
width: 100%;
|
|
89
|
+
border: theme("borderWidth.DEFAULT") solid theme("colors.gray.300");
|
|
90
|
+
padding: theme("spacing[1.5]") theme("spacing.3");
|
|
91
|
+
text-align: center;
|
|
105
92
|
|
|
106
93
|
:root .light & {
|
|
107
|
-
|
|
108
|
-
--border-color: theme("colors.lightBorder");
|
|
94
|
+
color: theme("colors.lightHigh");
|
|
109
95
|
}
|
|
110
96
|
|
|
111
97
|
:root .dark & {
|
|
112
|
-
|
|
113
|
-
--border-color: theme("colors.darkBorder");
|
|
98
|
+
color: theme("colors.lightBorder");
|
|
114
99
|
}
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
&__input-empty-icon {
|
|
118
|
-
color: var(--color);
|
|
119
|
-
height: theme("width.6");
|
|
120
|
-
width: theme("width.6");
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
&__controls-buttons {
|
|
124
|
-
align-items: flex-start;
|
|
125
|
-
display: flex;
|
|
126
|
-
flex-direction: column;
|
|
127
|
-
gap: theme("spacing.2");
|
|
128
|
-
justify-content: center;
|
|
129
|
-
}
|
|
130
100
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
101
|
+
&.is-invalid {
|
|
102
|
+
:root .light & {
|
|
103
|
+
color: theme("colors.error.DEFAULT");
|
|
104
|
+
}
|
|
134
105
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
106
|
+
:root .dark & {
|
|
107
|
+
color: theme("colors.error.DEFAULT");
|
|
108
|
+
}
|
|
138
109
|
}
|
|
139
110
|
}
|
|
140
111
|
|
|
141
|
-
|
|
142
|
-
.
|
|
143
|
-
|
|
144
|
-
}
|
|
112
|
+
&__image {
|
|
113
|
+
height: theme("height.20");
|
|
114
|
+
width: theme("width.20");
|
|
145
115
|
}
|
|
146
116
|
}
|
package/css/calendar.css
CHANGED
|
@@ -115,6 +115,8 @@
|
|
|
115
115
|
:root .light & {
|
|
116
116
|
--bg-color: theme("backgroundColor.lightHigh");
|
|
117
117
|
--color: theme("colors.white");
|
|
118
|
+
|
|
119
|
+
border: 2px solid theme("colors.lightMedium");
|
|
118
120
|
}
|
|
119
121
|
|
|
120
122
|
:root .dark & {
|
|
@@ -128,8 +130,11 @@
|
|
|
128
130
|
&.uxf-calendar__cell--selected {
|
|
129
131
|
.uxf-calendar__cell__inner {
|
|
130
132
|
background-color: theme("backgroundColor.transparent");
|
|
131
|
-
border: 2px solid theme("colors.darkMedium");
|
|
132
133
|
color: theme("colors.white");
|
|
134
|
+
|
|
135
|
+
:root .light & {
|
|
136
|
+
border-color: theme("colors.white");
|
|
137
|
+
}
|
|
133
138
|
}
|
|
134
139
|
}
|
|
135
140
|
|
package/message/README.md
CHANGED
|
@@ -1,25 +1 @@
|
|
|
1
|
-
# Message
|
|
2
|
-
|
|
3
|
-
## CSS dependencies
|
|
4
|
-
|
|
5
|
-
```css
|
|
6
|
-
@import url("@uxf/ui/message/message.css");
|
|
7
|
-
@import url("@uxf/ui/dialog/dialog.css");
|
|
8
|
-
@import url("@uxf/ui/button/button.css");
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
## Implementation
|
|
12
|
-
|
|
13
|
-
```tsx
|
|
14
|
-
import {AppProps} from "next/app";
|
|
15
|
-
import {getMessageRef, Message} from "@uxf/ui/message";
|
|
16
|
-
|
|
17
|
-
function App(props: AppProps) {
|
|
18
|
-
return (
|
|
19
|
-
<UiContextProvider value={...}>
|
|
20
|
-
{props.children}
|
|
21
|
-
<Message ref={getMessageRef()}/>
|
|
22
|
-
</UiContextProvider>
|
|
23
|
-
);
|
|
24
|
-
}
|
|
25
|
-
```
|
|
1
|
+
# Message
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uxf/ui",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "11.0.0-beta.16",
|
|
4
4
|
"description": "",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -17,9 +17,9 @@
|
|
|
17
17
|
"dependencies": {
|
|
18
18
|
"@floating-ui/react": "0.26.0",
|
|
19
19
|
"@headlessui/react": "1.7.14",
|
|
20
|
-
"@uxf/core": "10.
|
|
20
|
+
"@uxf/core": "10.0.0",
|
|
21
21
|
"@uxf/datepicker": "10.0.0",
|
|
22
|
-
"@uxf/styles": "10.
|
|
22
|
+
"@uxf/styles": "10.0.0",
|
|
23
23
|
"color2k": "2.0.2",
|
|
24
24
|
"dayjs": "1.11.10",
|
|
25
25
|
"jump.js": "1.0.2",
|
|
@@ -6,7 +6,7 @@ export type RadioGroupOptionValueId = string | number;
|
|
|
6
6
|
export interface RadioGroupOption {
|
|
7
7
|
disabled?: boolean;
|
|
8
8
|
id: RadioGroupOptionValueId;
|
|
9
|
-
label:
|
|
9
|
+
label: string;
|
|
10
10
|
}
|
|
11
11
|
export interface RadioGroupProps extends FormControlProps<RadioGroupOptionValueId | null> {
|
|
12
12
|
className?: string;
|
package/tabs/tabs.d.ts
CHANGED
package/tabs/tabs.js
CHANGED
|
@@ -62,8 +62,7 @@ const TabsRoot = (0, react_2.forwardRef)((props, ref) => {
|
|
|
62
62
|
react_2.default.createElement("div", { className: (0, cx_1.cx)("uxf-tabs__tab-list", `uxf-tabs__tab-list--${(_b = props.variant) !== null && _b !== void 0 ? _b : "default"}`), ref: containerRef, style: { justifyContent: hasOverflow ? "flex-start" : undefined, ...dragStyle } }, tabs.map((tab, index) => (react_2.default.createElement(react_1.Tab, { disabled: tab.disabled, className: ({ selected }) => {
|
|
63
63
|
var _a;
|
|
64
64
|
return (0, cx_1.cx)("uxf-tabs__tab", selected && classes_1.CLASSES.IS_ACTIVE, tab.disabled && classes_1.CLASSES.IS_DISABLED, `uxf-tabs__tab--${(_a = props.variant) !== null && _a !== void 0 ? _a : "default"}`);
|
|
65
|
-
}, key: `${tab.title}--${index}` }, tab.title)))),
|
|
66
|
-
props.customTabListContent),
|
|
65
|
+
}, key: `${tab.title}--${index}` }, tab.title))))),
|
|
67
66
|
react_2.default.createElement(react_1.Tab.Panels, { className: "uxf-tabs__panels" }, tabPanels.map((tab, index) => (react_2.default.createElement(react_1.Tab.Panel, { className: "outline-none", key: `${tab}--${index}` }, tab))))));
|
|
68
67
|
});
|
|
69
68
|
TabsRoot.displayName = "UxfUiTabs";
|