@uxf/ui 10.0.0-beta.19 → 10.0.0-beta.22
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/chip/chip.js +2 -1
- package/css/image-gallery.css +1 -1
- package/dropzone/dropzone-input.js +10 -6
- package/image-gallery/components/close-button.d.ts +2 -1
- package/image-gallery/components/close-button.js +2 -3
- package/image-gallery/components/gallery.d.ts +4 -1
- package/image-gallery/components/gallery.js +5 -4
- package/image-gallery/components/next-button.d.ts +7 -0
- package/image-gallery/components/next-button.js +14 -0
- package/image-gallery/components/prev-button.d.ts +7 -0
- package/image-gallery/components/prev-button.js +14 -0
- package/image-gallery/image-gallery.d.ts +4 -1
- package/image-gallery/image-gallery.js +1 -1
- package/image-gallery/image-gallery.stories.js +5 -1
- package/package.json +2 -2
- package/image-gallery/components/arrow-button.d.ts +0 -7
- package/image-gallery/components/arrow-button.js +0 -14
package/chip/chip.js
CHANGED
|
@@ -41,10 +41,11 @@ const CloseButton = (props) => {
|
|
|
41
41
|
};
|
|
42
42
|
exports.Chip = (0, react_1.forwardRef)((props, ref) => {
|
|
43
43
|
var _a, _b, _c;
|
|
44
|
-
const { children, className, onClose, ...restProps } = props;
|
|
44
|
+
const { children, className, onClose, suppressFocus, tabIndex, ...restProps } = props;
|
|
45
45
|
const chipClassName = (0, cx_1.cx)("uxf-chip", `uxf-chip--color-${(_a = props.color) !== null && _a !== void 0 ? _a : "default"}`, `uxf-chip--size-${(_b = props.size) !== null && _b !== void 0 ? _b : "default"}`, `uxf-chip--variant-${(_c = props.variant) !== null && _c !== void 0 ? _c : "default"}`, onClose && "has-button", className);
|
|
46
46
|
const anchorProps = (0, useAnchorProps_1.useAnchorProps)({
|
|
47
47
|
className: (0, cx_1.cx)(chipClassName),
|
|
48
|
+
tabIndex: suppressFocus ? -1 : tabIndex,
|
|
48
49
|
...restProps,
|
|
49
50
|
});
|
|
50
51
|
return (react_1.default.createElement("a", { ref: ref, ...anchorProps },
|
package/css/image-gallery.css
CHANGED
|
@@ -39,7 +39,7 @@ function fileToFileResponse(file) {
|
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
41
|
function progressHandler(progressEvent, file, onValuesChange, values) {
|
|
42
|
-
if (
|
|
42
|
+
if (values) {
|
|
43
43
|
onValuesChange(values.map((f) => f.id === file.id
|
|
44
44
|
? {
|
|
45
45
|
...f,
|
|
@@ -51,14 +51,14 @@ function progressHandler(progressEvent, file, onValuesChange, values) {
|
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
function fileUploadedHandler(uploadedFile, dropzoneFile, onValuesChange, values) {
|
|
54
|
-
if (
|
|
54
|
+
if (values) {
|
|
55
55
|
onValuesChange(values.map((f) => f.id === dropzoneFile.id ? { ...uploadedFile, progress: 100, originalFile: f.originalFile } : f));
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
function fileRejectedHandler(err, dropzoneFile, onValuesChange, values, onUploadError) {
|
|
59
59
|
onUploadError === null || onUploadError === void 0 ? void 0 : onUploadError(err);
|
|
60
60
|
dropzoneFile.error = err;
|
|
61
|
-
if (
|
|
61
|
+
if (values) {
|
|
62
62
|
onValuesChange(values.map((f) => (f.id === dropzoneFile.id ? { ...f, error: err } : f)));
|
|
63
63
|
}
|
|
64
64
|
}
|
|
@@ -74,6 +74,10 @@ exports.DropzoneInput = (0, react_1.forwardRef)((props, ref) => {
|
|
|
74
74
|
progress: 0,
|
|
75
75
|
}));
|
|
76
76
|
props.onChange(props.value ? [...props.value, ...files] : files);
|
|
77
|
+
const onChange = (values) => {
|
|
78
|
+
props.onChange(values);
|
|
79
|
+
refValue.current = values;
|
|
80
|
+
};
|
|
77
81
|
for (const file of files) {
|
|
78
82
|
if (!file.originalFile) {
|
|
79
83
|
file.error = "File not found";
|
|
@@ -82,10 +86,10 @@ exports.DropzoneInput = (0, react_1.forwardRef)((props, ref) => {
|
|
|
82
86
|
props
|
|
83
87
|
.onUploadFile(file.originalFile, {
|
|
84
88
|
abortController: file.abortController,
|
|
85
|
-
onUploadProgress: (e) => progressHandler(e, file,
|
|
89
|
+
onUploadProgress: (e) => progressHandler(e, file, onChange, refValue.current),
|
|
86
90
|
})
|
|
87
|
-
.then((res) => fileUploadedHandler(res, file,
|
|
88
|
-
.catch((err) => fileRejectedHandler(err, file,
|
|
91
|
+
.then((res) => fileUploadedHandler(res, file, onChange, refValue.current))
|
|
92
|
+
.catch((err) => fileRejectedHandler(err, file, onChange, refValue.current, props.onUploadError));
|
|
89
93
|
}
|
|
90
94
|
};
|
|
91
95
|
const { getRootProps, getInputProps, rootRef } = (0, react_dropzone_1.useDropzone)({
|
|
@@ -7,10 +7,9 @@ exports.CloseButton = void 0;
|
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
8
|
const icon_1 = require("../../icon");
|
|
9
9
|
const CloseButton = (props) => {
|
|
10
|
-
var _a;
|
|
10
|
+
var _a, _b;
|
|
11
11
|
return (react_1.default.createElement("button", { className: "uxf-image-gallery__close-button", onClick: () => props.onClick() },
|
|
12
|
-
react_1.default.createElement("span", { className: "uxf-image-gallery__close-button-text" }, (_a = props.text) !== null && _a !== void 0 ? _a : "Zavřít"),
|
|
13
|
-
react_1.default.createElement(icon_1.Icon, { className: "uxf-image-gallery__close-button-icon", name: "xmarkLarge" })));
|
|
12
|
+
react_1.default.createElement("span", { className: "uxf-image-gallery__close-button-text" }, (_a = props.text) !== null && _a !== void 0 ? _a : "Zavřít"), (_b = props.buttonElement) !== null && _b !== void 0 ? _b : react_1.default.createElement(icon_1.Icon, { className: "uxf-image-gallery__close-button-icon", name: "xmarkLarge" })));
|
|
14
13
|
};
|
|
15
14
|
exports.CloseButton = CloseButton;
|
|
16
15
|
exports.CloseButton.displayName = "UxfUiCloseButton";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FC } from "react";
|
|
1
|
+
import { FC, ReactElement } from "react";
|
|
2
2
|
import { ImageGalleryImageProps } from "../types";
|
|
3
3
|
export interface GalleryProps {
|
|
4
4
|
closeButtonTitle?: string;
|
|
@@ -8,5 +8,8 @@ export interface GalleryProps {
|
|
|
8
8
|
onPrevious: () => void;
|
|
9
9
|
imageIndex: number;
|
|
10
10
|
images: ImageGalleryImageProps[];
|
|
11
|
+
prevButtonElement?: ReactElement;
|
|
12
|
+
nextButtonElement?: ReactElement;
|
|
13
|
+
closeButtonElement?: ReactElement;
|
|
11
14
|
}
|
|
12
15
|
export declare const Gallery: FC<GalleryProps>;
|
|
@@ -29,8 +29,9 @@ const resizer_1 = require("@uxf/core/utils/resizer");
|
|
|
29
29
|
const react_1 = __importStar(require("react"));
|
|
30
30
|
const close_button_1 = require("./close-button");
|
|
31
31
|
const dot_1 = require("./dot");
|
|
32
|
-
const
|
|
32
|
+
const prev_button_1 = require("./prev-button");
|
|
33
33
|
const react_swipeable_1 = require("react-swipeable");
|
|
34
|
+
const next_button_1 = require("./next-button");
|
|
34
35
|
const Gallery = (props) => {
|
|
35
36
|
var _a;
|
|
36
37
|
(0, react_1.useEffect)(() => {
|
|
@@ -65,10 +66,10 @@ const Gallery = (props) => {
|
|
|
65
66
|
return (react_1.default.createElement("div", { className: "uxf-image-gallery", role: "dialog", "aria-modal": true },
|
|
66
67
|
react_1.default.createElement("div", { "aria-hidden": true, className: "uxf-image-gallery__backdrop", onClick: !props.disableBackdropClose ? props.onClose : undefined }),
|
|
67
68
|
react_1.default.createElement("div", { className: "uxf-image-gallery__close-button-wrapper" },
|
|
68
|
-
react_1.default.createElement(close_button_1.CloseButton, { onClick: props.onClose, text: props.closeButtonTitle })),
|
|
69
|
+
react_1.default.createElement(close_button_1.CloseButton, { buttonElement: props.closeButtonElement, onClick: props.onClose, text: props.closeButtonTitle })),
|
|
69
70
|
props.images.length > 1 && (react_1.default.createElement("div", { className: "uxf-image-gallery__buttons" },
|
|
70
|
-
react_1.default.createElement(
|
|
71
|
-
react_1.default.createElement(
|
|
71
|
+
react_1.default.createElement(prev_button_1.PrevButton, { buttonElement: props.prevButtonElement, onClick: props.onPrevious }),
|
|
72
|
+
react_1.default.createElement(next_button_1.NextButton, { buttonElement: props.nextButtonElement, onClick: props.onNext }))),
|
|
72
73
|
react_1.default.createElement("div", { className: "uxf-image-gallery__content", ...handlers },
|
|
73
74
|
react_1.default.createElement("div", { className: "uxf-image-gallery__inner" },
|
|
74
75
|
react_1.default.createElement("img", { alt: "", className: "uxf-image-gallery__image", src: typeof imageSrc === "string" ? imageSrc : (_a = (0, resizer_1.resizerImageUrl)(imageSrc)) !== null && _a !== void 0 ? _a : "" }),
|
|
@@ -0,0 +1,14 @@
|
|
|
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.NextButton = void 0;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const icon_1 = require("../../icon");
|
|
9
|
+
const NextButton = (props) => {
|
|
10
|
+
var _a;
|
|
11
|
+
return (react_1.default.createElement("button", { className: "uxf-image-gallery__button uxf-image-gallery__button--next", onClick: props.onClick }, (_a = props.buttonElement) !== null && _a !== void 0 ? _a : react_1.default.createElement(icon_1.Icon, { className: "uxf-image-gallery__button-icon", name: "chevronRight" })));
|
|
12
|
+
};
|
|
13
|
+
exports.NextButton = NextButton;
|
|
14
|
+
exports.NextButton.displayName = "UxfUiNextButton";
|
|
@@ -0,0 +1,14 @@
|
|
|
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.PrevButton = void 0;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const icon_1 = require("../../icon");
|
|
9
|
+
const PrevButton = (props) => {
|
|
10
|
+
var _a;
|
|
11
|
+
return (react_1.default.createElement("button", { className: "uxf-image-gallery__button uxf-image-gallery__button--prev", onClick: props.onClick }, (_a = props.buttonElement) !== null && _a !== void 0 ? _a : react_1.default.createElement(icon_1.Icon, { className: "uxf-image-gallery__button-icon", name: "chevronLeft" })));
|
|
12
|
+
};
|
|
13
|
+
exports.PrevButton = PrevButton;
|
|
14
|
+
exports.PrevButton.displayName = "UxfUiPrevButton";
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import { FC, ReactNode } from "react";
|
|
1
|
+
import { FC, ReactElement, ReactNode } from "react";
|
|
2
2
|
import { GalleryProps } from "./components/gallery";
|
|
3
3
|
export interface ImageGalleryProps {
|
|
4
4
|
children: ReactNode;
|
|
5
5
|
closeButtonTitle?: string;
|
|
6
6
|
disableBackdropClose?: GalleryProps["disableBackdropClose"];
|
|
7
|
+
prevButtonElement?: ReactElement;
|
|
8
|
+
nextButtonElement?: ReactElement;
|
|
9
|
+
closeButtonElement?: ReactElement;
|
|
7
10
|
}
|
|
8
11
|
export declare const ImageGallery: FC<ImageGalleryProps>;
|
|
@@ -48,7 +48,7 @@ const ImageGallery = (props) => {
|
|
|
48
48
|
const contextValue = { registerImage, unregisterImage, openGallery };
|
|
49
49
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
50
50
|
react_1.default.createElement(context_1.ImageGalleryProvider, { value: contextValue }, props.children),
|
|
51
|
-
typeof moduloImageIndex === "number" && (react_1.default.createElement(gallery_1.Gallery, { closeButtonTitle: props.closeButtonTitle, disableBackdropClose: props.disableBackdropClose, onClose: () => setImageIndex(null), onNext: onNext, onPrevious: onPrevious, imageIndex: moduloImageIndex, images: images }))));
|
|
51
|
+
typeof moduloImageIndex === "number" && (react_1.default.createElement(gallery_1.Gallery, { closeButtonTitle: props.closeButtonTitle, disableBackdropClose: props.disableBackdropClose, onClose: () => setImageIndex(null), onNext: onNext, onPrevious: onPrevious, imageIndex: moduloImageIndex, images: images, nextButtonElement: props.nextButtonElement, prevButtonElement: props.prevButtonElement, closeButtonElement: props.closeButtonElement }))));
|
|
52
52
|
};
|
|
53
53
|
exports.ImageGallery = ImageGallery;
|
|
54
54
|
exports.ImageGallery.displayName = "UxfUiImageGallery";
|
|
@@ -7,6 +7,7 @@ exports.Default = void 0;
|
|
|
7
7
|
const image_1 = require("@uxf/core/utils/image");
|
|
8
8
|
const react_1 = __importDefault(require("react"));
|
|
9
9
|
const index_1 = require("./index");
|
|
10
|
+
const icon_1 = require("../icon");
|
|
10
11
|
exports.default = {
|
|
11
12
|
title: "Lab/ImageGallery",
|
|
12
13
|
component: index_1.ImageGallery,
|
|
@@ -31,8 +32,11 @@ const images = [
|
|
|
31
32
|
title: "Obr. 5",
|
|
32
33
|
},
|
|
33
34
|
];
|
|
35
|
+
const nextButtonElement = react_1.default.createElement(icon_1.Icon, { className: "uxf-image-gallery__button-icon", name: "chevronRight" });
|
|
36
|
+
const prevButtonElement = react_1.default.createElement(icon_1.Icon, { className: "uxf-image-gallery__button-icon", name: "chevronLeft" });
|
|
37
|
+
const closeButtonElement = react_1.default.createElement(icon_1.Icon, { className: "uxf-image-gallery__button-icon", name: "xmarkLarge" });
|
|
34
38
|
function Default() {
|
|
35
|
-
return (react_1.default.createElement(index_1.ImageGallery,
|
|
39
|
+
return (react_1.default.createElement(index_1.ImageGallery, { prevButtonElement: prevButtonElement, nextButtonElement: nextButtonElement, closeButtonElement: closeButtonElement },
|
|
36
40
|
react_1.default.createElement("div", { className: "flex-direction flex gap-2" }, images.map((image, index) => (react_1.default.createElement(index_1.ImageGallery.Image, { key: (0, image_1.getImgUniqueIdentifier)(image.src) || index, src: image.src, className: "h-56 w-56 cursor-pointer object-cover transition-transform hover:scale-105", customContent: image.title }))))));
|
|
37
41
|
}
|
|
38
42
|
exports.Default = Default;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uxf/ui",
|
|
3
|
-
"version": "10.0.0-beta.
|
|
3
|
+
"version": "10.0.0-beta.22",
|
|
4
4
|
"description": "",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"@floating-ui/react": "0.24.2",
|
|
17
17
|
"@headlessui/react": "1.7.14",
|
|
18
|
-
"@uxf/core": "10.0.0-beta.
|
|
18
|
+
"@uxf/core": "10.0.0-beta.22",
|
|
19
19
|
"@uxf/datepicker": "10.0.0-beta.9",
|
|
20
20
|
"@uxf/styles": "10.0.0-beta.9",
|
|
21
21
|
"color2k": "^2.0.2",
|
|
@@ -1,14 +0,0 @@
|
|
|
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.ArrowButton = void 0;
|
|
7
|
-
const react_1 = __importDefault(require("react"));
|
|
8
|
-
const icon_1 = require("../../icon");
|
|
9
|
-
const ArrowButton = (props) => {
|
|
10
|
-
return (react_1.default.createElement("button", { className: `uxf-image-gallery__button ${props.type === "prev" ? "uxf-image-gallery__button--prev" : "uxf-image-gallery__button--next"}`, onClick: props.onClick },
|
|
11
|
-
react_1.default.createElement(icon_1.Icon, { className: "uxf-image-gallery__button-icon", name: props.type === "prev" ? "chevronLeft" : "chevronRight" })));
|
|
12
|
-
};
|
|
13
|
-
exports.ArrowButton = ArrowButton;
|
|
14
|
-
exports.ArrowButton.displayName = "UxfUiArrowButton";
|