@uxf/ui 1.0.0-beta.26 → 1.0.0-beta.29
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 -2
- package/avatar-file-input/avatar-file-input.js +73 -0
- package/avatar-file-input/avatar-file-input.stories.d.ts +2 -2
- package/avatar-file-input/avatar-file-input.stories.js +30 -0
- package/avatar-file-input/{index.jsx → index.js} +0 -0
- package/button/{button.jsx → button.js} +3 -4
- package/button/button.stories.js +52 -0
- package/checkbox/checkbox.js +24 -0
- package/checkbox/checkbox.stories.js +40 -0
- package/checkbox/{index.jsx → index.js} +0 -0
- package/checkbox-input/checkbox-input.js +10 -0
- package/checkbox-input/checkbox-input.stories.js +17 -0
- package/checkbox-input/{index.jsx → index.js} +0 -0
- package/combobox/combobox.d.ts +2 -2
- package/combobox/combobox.js +56 -0
- package/combobox/combobox.stories.d.ts +2 -2
- package/combobox/combobox.stories.js +48 -0
- package/dropdown/dropdown.d.ts +3 -3
- package/dropdown/{dropdown.jsx → dropdown.js} +6 -6
- package/error-message/error-message.js +10 -0
- package/error-message/error-message.stories.js +17 -0
- package/icon/icon.d.ts +2 -2
- package/icon/{icon.jsx → icon.js} +8 -5
- package/icon/icon.stories.js +72 -0
- package/image-gallery/components/{close-button.jsx → close-button.js} +2 -3
- package/image-gallery/components/{dot.jsx → dot.js} +1 -1
- package/image-gallery/components/{gallery.jsx → gallery.js} +10 -17
- package/image-gallery/components/{icon-chevron-left.jsx → icon-chevron-left.js} +2 -3
- package/image-gallery/components/{icon-chevron-right.jsx → icon-chevron-right.js} +2 -3
- package/image-gallery/components/icon-close.js +11 -0
- package/image-gallery/components/{next-button.jsx → next-button.js} +2 -3
- package/image-gallery/components/{previous-button.jsx → previous-button.js} +2 -3
- package/image-gallery/{context.jsx → context.js} +0 -0
- package/image-gallery/{image-gallery.jsx → image-gallery.js} +3 -4
- package/image-gallery/{image-gallery.stories.jsx → image-gallery.stories.js} +2 -5
- package/image-gallery/{image.jsx → image.js} +1 -1
- package/input/{input-element.jsx → input-element.js} +1 -1
- package/input/{input-left-addon.jsx → input-left-addon.js} +1 -1
- package/input/{input-left-element.jsx → input-left-element.js} +1 -1
- package/input/{input-right-addon.jsx → input-right-addon.js} +1 -1
- package/input/{input-right-element.jsx → input-right-element.js} +1 -1
- package/input/{input.jsx → input.js} +7 -9
- package/input/input.stories.js +71 -0
- package/label/label.d.ts +2 -2
- package/label/label.js +12 -0
- package/label/label.stories.d.ts +2 -2
- package/label/label.stories.js +17 -0
- package/package.json +1 -1
- package/radio/{index.jsx → index.js} +0 -0
- package/radio/radio.js +17 -0
- package/radio/radio.stories.d.ts +2 -2
- package/radio/radio.stories.js +20 -0
- package/radio-group/{index.jsx → index.js} +0 -0
- package/radio-group/radio-group.d.ts +2 -2
- package/radio-group/radio-group.js +44 -0
- package/radio-group/radio-group.stories.d.ts +2 -2
- package/radio-group/radio-group.stories.js +52 -0
- package/raster-image/{index.jsx → index.js} +0 -0
- package/raster-image/raster-image.js +18 -0
- package/raster-image/raster-image.stories.js +17 -0
- package/select/select.d.ts +2 -2
- package/select/select.js +65 -0
- package/select/select.stories.d.ts +2 -2
- package/select/select.stories.js +48 -0
- package/text-input/text-input.js +53 -0
- package/text-input/{text-input.stories.jsx → text-input.stories.js} +7 -9
- package/textarea/{index.jsx → index.js} +0 -0
- package/textarea/textarea.d.ts +2 -2
- package/textarea/{textarea.jsx → textarea.js} +29 -9
- package/textarea/textarea.stories.d.ts +2 -2
- package/textarea/textarea.stories.js +32 -0
- package/utils/{component-structure-analyzer.jsx → component-structure-analyzer.js} +1 -1
- package/utils/{image.jsx → image.js} +8 -6
- package/utils/storybook-config.js +47 -0
- package/avatar-file-input/avatar-file-input.jsx +0 -57
- package/avatar-file-input/avatar-file-input.stories.jsx +0 -27
- package/button/button.stories.jsx +0 -64
- package/checkbox/checkbox.jsx +0 -23
- package/checkbox/checkbox.stories.jsx +0 -18
- package/checkbox-input/checkbox-input.jsx +0 -6
- package/checkbox-input/checkbox-input.stories.jsx +0 -14
- package/combobox/combobox.jsx +0 -42
- package/combobox/combobox.stories.jsx +0 -26
- package/error-message/error-message.jsx +0 -8
- package/error-message/error-message.stories.jsx +0 -14
- package/icon/icon.stories.jsx +0 -50
- package/image-gallery/components/icon-close.jsx +0 -12
- package/input/input.stories.jsx +0 -78
- package/label/label.jsx +0 -10
- package/label/label.stories.jsx +0 -14
- package/radio/radio.jsx +0 -19
- package/radio/radio.stories.jsx +0 -17
- package/radio-group/radio-group.jsx +0 -30
- package/radio-group/radio-group.stories.jsx +0 -30
- package/raster-image/raster-image.jsx +0 -17
- package/raster-image/raster-image.stories.jsx +0 -14
- package/select/select.jsx +0 -58
- package/select/select.stories.jsx +0 -26
- package/text-input/text-input.jsx +0 -32
- package/textarea/textarea.stories.jsx +0 -29
- package/utils/storybook-config.jsx +0 -24
|
@@ -6,8 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const react_1 = __importDefault(require("react"));
|
|
7
7
|
const icon_close_1 = __importDefault(require("./icon-close"));
|
|
8
8
|
function CloseButton(props) {
|
|
9
|
-
return (
|
|
10
|
-
|
|
11
|
-
</button>);
|
|
9
|
+
return (react_1.default.createElement("button", { className: "bg-black bg-opacity-50 p-3", onClick: () => props.onClick() },
|
|
10
|
+
react_1.default.createElement(icon_close_1.default, null)));
|
|
12
11
|
}
|
|
13
12
|
exports.default = CloseButton;
|
|
@@ -7,6 +7,6 @@ const cx_1 = require("@uxf/core/utils/cx");
|
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
8
|
function Dot(props) {
|
|
9
9
|
const className = (0, cx_1.cx)("h-2 w-2 rounded-full", props.active ? "bg-gray-500" : "bg-white");
|
|
10
|
-
return
|
|
10
|
+
return react_1.default.createElement("div", { className: className });
|
|
11
11
|
}
|
|
12
12
|
exports.default = Dot;
|
|
@@ -54,22 +54,15 @@ function Gallery(props) {
|
|
|
54
54
|
};
|
|
55
55
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
56
56
|
}, []);
|
|
57
|
-
return (
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
</div>
|
|
68
|
-
</div>
|
|
69
|
-
</div>
|
|
70
|
-
<div className="row mx-auto flex space-x-2 p-4">
|
|
71
|
-
{props.images.map((url, index) => (<dot_1.default key={url.src} active={index === props.imageIndex}/>))}
|
|
72
|
-
</div>
|
|
73
|
-
</div>);
|
|
57
|
+
return (react_1.default.createElement("div", { className: "fixed inset-0 top-0 bottom-0 z-50 flex flex-col bg-black bg-opacity-75 transition-opacity" },
|
|
58
|
+
react_1.default.createElement("div", { className: "flex justify-end" },
|
|
59
|
+
react_1.default.createElement(close_button_1.default, { onClick: props.onClose })),
|
|
60
|
+
react_1.default.createElement("div", { className: "container mx-auto flex h-full flex-1 flex-col" },
|
|
61
|
+
react_1.default.createElement("div", { className: "relative flex flex-1 items-center justify-center" },
|
|
62
|
+
react_1.default.createElement("img", { alt: "", className: "absolute left-0 right-0 top-0 h-full w-full object-contain", src: props.images[props.imageIndex].src }),
|
|
63
|
+
react_1.default.createElement("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-between p-2" },
|
|
64
|
+
react_1.default.createElement(previous_button_1.default, { onClick: props.onPrevious }),
|
|
65
|
+
react_1.default.createElement(next_button_1.default, { onClick: props.onNext })))),
|
|
66
|
+
react_1.default.createElement("div", { className: "row mx-auto flex space-x-2 p-4" }, props.images.map((url, index) => (react_1.default.createElement(dot_1.default, { key: url.src, active: index === props.imageIndex }))))));
|
|
74
67
|
}
|
|
75
68
|
exports.default = Gallery;
|
|
@@ -5,8 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const react_1 = __importDefault(require("react"));
|
|
7
7
|
function IconChevronLeft() {
|
|
8
|
-
return (
|
|
9
|
-
|
|
10
|
-
</svg>);
|
|
8
|
+
return (react_1.default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", className: "h-10 w-10 text-white", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: 2 },
|
|
9
|
+
react_1.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M15 19l-7-7 7-7" })));
|
|
11
10
|
}
|
|
12
11
|
exports.default = IconChevronLeft;
|
|
@@ -5,8 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const react_1 = __importDefault(require("react"));
|
|
7
7
|
function IconChevronRight() {
|
|
8
|
-
return (
|
|
9
|
-
|
|
10
|
-
</svg>);
|
|
8
|
+
return (react_1.default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", className: "h-10 w-10 text-white", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: 2 },
|
|
9
|
+
react_1.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M9 5l7 7-7 7" })));
|
|
11
10
|
}
|
|
12
11
|
exports.default = IconChevronRight;
|
|
@@ -0,0 +1,11 @@
|
|
|
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
|
+
function IconClose() {
|
|
8
|
+
return (react_1.default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: 2, className: "h-10 w-10 text-white" },
|
|
9
|
+
react_1.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M6 18L18 6M6 6l12 12" })));
|
|
10
|
+
}
|
|
11
|
+
exports.default = IconClose;
|
|
@@ -6,8 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const react_1 = __importDefault(require("react"));
|
|
7
7
|
const icon_chevron_right_1 = __importDefault(require("./icon-chevron-right"));
|
|
8
8
|
function NextButton(props) {
|
|
9
|
-
return (
|
|
10
|
-
|
|
11
|
-
</button>);
|
|
9
|
+
return (react_1.default.createElement("button", { className: "pointer-events-auto rounded-full bg-black bg-opacity-50 p-2", onClick: props.onClick },
|
|
10
|
+
react_1.default.createElement(icon_chevron_right_1.default, null)));
|
|
12
11
|
}
|
|
13
12
|
exports.default = NextButton;
|
|
@@ -6,8 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const react_1 = __importDefault(require("react"));
|
|
7
7
|
const icon_chevron_left_1 = __importDefault(require("./icon-chevron-left"));
|
|
8
8
|
function PreviousButton(props) {
|
|
9
|
-
return (
|
|
10
|
-
|
|
11
|
-
</button>);
|
|
9
|
+
return (react_1.default.createElement("button", { className: "pointer-events-auto rounded-full bg-black bg-opacity-50 p-2", onClick: props.onClick },
|
|
10
|
+
react_1.default.createElement(icon_chevron_left_1.default, null)));
|
|
12
11
|
}
|
|
13
12
|
exports.default = PreviousButton;
|
|
File without changes
|
|
@@ -48,9 +48,8 @@ function ImageGallery(props) {
|
|
|
48
48
|
? ((imageIndex % images.length) + images.length) % images.length
|
|
49
49
|
: imageIndex % images.length;
|
|
50
50
|
const contextValue = { registerImage, unregisterImage, openGallery };
|
|
51
|
-
return (
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
</>);
|
|
51
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
52
|
+
react_1.default.createElement(context_1.ImageGalleryProvider, { value: contextValue }, props.children),
|
|
53
|
+
typeof moduloImageIndex === "number" && (react_1.default.createElement(gallery_1.default, { onClose: () => setImageIndex(null), onNext: onNext, onPrevious: onPrevious, imageIndex: moduloImageIndex, images: images }))));
|
|
55
54
|
}
|
|
56
55
|
exports.default = ImageGallery;
|
|
@@ -20,10 +20,7 @@ const images = [
|
|
|
20
20
|
"https://opentopo.app/generated/area-2/e/7/e7ec532b-20c2-407e-9305-fa7cfb71f01f_1024_1024_c.jpg",
|
|
21
21
|
];
|
|
22
22
|
function Default() {
|
|
23
|
-
return (
|
|
24
|
-
|
|
25
|
-
{images.map((src) => (<image_1.default key={src} src={src} className="h-56 w-56 cursor-pointer object-cover transition-transform hover:scale-105"/>))}
|
|
26
|
-
</div>
|
|
27
|
-
</image_gallery_1.default>);
|
|
23
|
+
return (react_1.default.createElement(image_gallery_1.default, null,
|
|
24
|
+
react_1.default.createElement("div", { className: "flex-direction flex gap-2" }, images.map((src) => (react_1.default.createElement(image_1.default, { key: src, src: src, className: "h-56 w-56 cursor-pointer object-cover transition-transform hover:scale-105" }))))));
|
|
28
25
|
}
|
|
29
26
|
exports.Default = Default;
|
|
@@ -7,6 +7,6 @@ const react_1 = __importDefault(require("react"));
|
|
|
7
7
|
const use_image_1 = require("./use-image");
|
|
8
8
|
function Image(props) {
|
|
9
9
|
const openGallery = (0, use_image_1.useImage)(props);
|
|
10
|
-
return (
|
|
10
|
+
return (react_1.default.createElement("img", { src: props.src, alt: props.alt, title: props.title, className: props.className, onClick: () => openGallery(props) }));
|
|
11
11
|
}
|
|
12
12
|
exports.default = Image;
|
|
@@ -6,6 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const react_1 = __importDefault(require("react"));
|
|
7
7
|
const forwardRef_1 = require("@uxf/ui/utils/forwardRef");
|
|
8
8
|
function InputElement(props, ref) {
|
|
9
|
-
return (
|
|
9
|
+
return (react_1.default.createElement("input", { id: props.id, ref: ref, className: "uxf-input__element", value: props.value, onFocus: props.onFocus, onBlur: props.onBlur, onChange: (event) => { var _a; return (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, event.target.value, event); }, placeholder: props.placeholder }));
|
|
10
10
|
}
|
|
11
11
|
exports.default = (0, forwardRef_1.forwardRef)("InputElement", InputElement);
|
|
@@ -5,6 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const react_1 = __importDefault(require("react"));
|
|
7
7
|
function InputLeftAddon(props) {
|
|
8
|
-
return
|
|
8
|
+
return react_1.default.createElement("div", { className: "uxf-input__left-addon" }, props.children);
|
|
9
9
|
}
|
|
10
10
|
exports.default = InputLeftAddon;
|
|
@@ -5,6 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const react_1 = __importDefault(require("react"));
|
|
7
7
|
function InputLeftElement(props) {
|
|
8
|
-
return
|
|
8
|
+
return react_1.default.createElement("div", { className: "uxf-input__left-element" }, props.children);
|
|
9
9
|
}
|
|
10
10
|
exports.default = InputLeftElement;
|
|
@@ -5,6 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const react_1 = __importDefault(require("react"));
|
|
7
7
|
function InputRightAddon(props) {
|
|
8
|
-
return
|
|
8
|
+
return react_1.default.createElement("div", { className: "uxf-input__right-addon" }, props.children);
|
|
9
9
|
}
|
|
10
10
|
exports.default = InputRightAddon;
|
|
@@ -5,6 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const react_1 = __importDefault(require("react"));
|
|
7
7
|
function InputRightElement(props) {
|
|
8
|
-
return
|
|
8
|
+
return react_1.default.createElement("div", { className: "uxf-input__right-element" }, props.children);
|
|
9
9
|
}
|
|
10
10
|
exports.default = InputRightElement;
|
|
@@ -51,14 +51,12 @@ function Input(props) {
|
|
|
51
51
|
setFocused(false);
|
|
52
52
|
(_b = mainInput === null || mainInput === void 0 ? void 0 : (_a = mainInput.props).onBlur) === null || _b === void 0 ? void 0 : _b.call(_a, e);
|
|
53
53
|
};
|
|
54
|
-
return (
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
{rightAddon}
|
|
62
|
-
</div>);
|
|
54
|
+
return (react_1.default.createElement("div", { className: inputGroupClasses },
|
|
55
|
+
leftAddon,
|
|
56
|
+
react_1.default.createElement("div", { className: "uxf-input__wrapper", ref: inputWrapperRef, onClick: () => { var _a; return (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus(); } },
|
|
57
|
+
leftElement,
|
|
58
|
+
mainInput ? (0, react_1.cloneElement)(mainInput, { ref: inputRef, onFocus, onBlur }) : null,
|
|
59
|
+
rightElement),
|
|
60
|
+
rightAddon));
|
|
63
61
|
}
|
|
64
62
|
exports.Input = Input;
|
|
@@ -0,0 +1,71 @@
|
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.ComponentStructure = exports.Default = void 0;
|
|
30
|
+
const react_1 = __importStar(require("react"));
|
|
31
|
+
const component_structure_analyzer_1 = __importDefault(require("@uxf/ui/utils/component-structure-analyzer"));
|
|
32
|
+
const action_1 = require("@uxf/ui/utils/action");
|
|
33
|
+
const input_1 = require("@uxf/ui/input");
|
|
34
|
+
exports.default = {
|
|
35
|
+
title: "UI/Input",
|
|
36
|
+
component: input_1.Input,
|
|
37
|
+
};
|
|
38
|
+
function Default() {
|
|
39
|
+
const [value, onChange] = (0, react_1.useState)("");
|
|
40
|
+
const [isInvalid, setInvalid] = (0, react_1.useState)(false);
|
|
41
|
+
return (react_1.default.createElement("div", { className: "space-y-2" },
|
|
42
|
+
react_1.default.createElement("input", { type: "checkbox", checked: isInvalid, onChange: (e) => setInvalid(e.target.checked) }),
|
|
43
|
+
react_1.default.createElement(input_1.Input, null,
|
|
44
|
+
react_1.default.createElement(input_1.Input.LeftAddon, null, "InputLeftAddon"),
|
|
45
|
+
react_1.default.createElement(input_1.Input.LeftElement, null, "InputLeftElement"),
|
|
46
|
+
react_1.default.createElement(input_1.Input.Element, { value: value, onChange: (0, action_1.action)("onChange", onChange), placeholder: "Placeholder", isInvalid: isInvalid }),
|
|
47
|
+
react_1.default.createElement(input_1.Input.RightElement, null, "InputRightElement"),
|
|
48
|
+
react_1.default.createElement(input_1.Input.RightAddon, null, "InputRightAddon")),
|
|
49
|
+
react_1.default.createElement(input_1.Input, null,
|
|
50
|
+
react_1.default.createElement(input_1.Input.LeftAddon, null, "https://"),
|
|
51
|
+
react_1.default.createElement(input_1.Input.Element, { value: value, onChange: (0, action_1.action)("onChange", onChange), placeholder: "Placeholder", isInvalid: isInvalid }),
|
|
52
|
+
react_1.default.createElement(input_1.Input.RightAddon, null, ".uxf.cz")),
|
|
53
|
+
react_1.default.createElement(input_1.Input, null,
|
|
54
|
+
react_1.default.createElement(input_1.Input.LeftElement, null, "\uD83C\uDF37"),
|
|
55
|
+
react_1.default.createElement(input_1.Input.Element, { value: value, onChange: (0, action_1.action)("onChange", onChange), placeholder: "Placeholder", isInvalid: isInvalid }),
|
|
56
|
+
react_1.default.createElement(input_1.Input.RightElement, null, "\uD83D\uDD14")),
|
|
57
|
+
react_1.default.createElement(input_1.Input, null,
|
|
58
|
+
react_1.default.createElement(input_1.Input.Element, { value: value, onChange: (0, action_1.action)("onChange", onChange), placeholder: "Placeholder", isInvalid: isInvalid }))));
|
|
59
|
+
}
|
|
60
|
+
exports.Default = Default;
|
|
61
|
+
function ComponentStructure() {
|
|
62
|
+
const [value, onChange] = (0, react_1.useState)("");
|
|
63
|
+
return (react_1.default.createElement(component_structure_analyzer_1.default, null,
|
|
64
|
+
react_1.default.createElement(input_1.Input, null,
|
|
65
|
+
react_1.default.createElement(input_1.Input.LeftAddon, null, "Left addon"),
|
|
66
|
+
react_1.default.createElement(input_1.Input.LeftElement, null, "Left element"),
|
|
67
|
+
react_1.default.createElement(input_1.Input.Element, { value: value, onChange: onChange }),
|
|
68
|
+
react_1.default.createElement(input_1.Input.RightElement, null, "Right element"),
|
|
69
|
+
react_1.default.createElement(input_1.Input.RightAddon, null, "Right addon"))));
|
|
70
|
+
}
|
|
71
|
+
exports.ComponentStructure = ComponentStructure;
|
package/label/label.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MouseEventHandler, ReactNode } from "react";
|
|
1
|
+
import React, { MouseEventHandler, ReactNode } from "react";
|
|
2
2
|
export interface LabelProps {
|
|
3
3
|
children?: ReactNode;
|
|
4
4
|
htmlFor?: string;
|
|
@@ -6,5 +6,5 @@ export interface LabelProps {
|
|
|
6
6
|
onClick?: MouseEventHandler<HTMLLabelElement>;
|
|
7
7
|
className?: string;
|
|
8
8
|
}
|
|
9
|
-
declare const _default:
|
|
9
|
+
declare const _default: React.ForwardRefExoticComponent<LabelProps & React.RefAttributes<HTMLLabelElement>>;
|
|
10
10
|
export default _default;
|
package/label/label.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
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 forwardRef_1 = require("@uxf/ui/utils/forwardRef");
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const cx_1 = require("@uxf/core/utils/cx");
|
|
9
|
+
function Label(props, ref) {
|
|
10
|
+
return (react_1.default.createElement("label", { className: (0, cx_1.cx)("uxf-label", props.className), ref: ref, htmlFor: props.htmlFor, form: props.form, onClick: props.onClick }, props.children));
|
|
11
|
+
}
|
|
12
|
+
exports.default = (0, forwardRef_1.forwardRef)("Label", Label);
|
package/label/label.stories.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
import React from "react";
|
|
2
2
|
declare const _default: {
|
|
3
3
|
title: string;
|
|
4
|
-
component:
|
|
4
|
+
component: React.ForwardRefExoticComponent<import("./label").LabelProps & React.RefAttributes<HTMLLabelElement>>;
|
|
5
5
|
};
|
|
6
6
|
export default _default;
|
|
7
7
|
export declare function Default(): JSX.Element;
|
|
@@ -0,0 +1,17 @@
|
|
|
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 index_1 = require("./index");
|
|
8
|
+
const react_1 = __importDefault(require("react"));
|
|
9
|
+
exports.default = {
|
|
10
|
+
title: "UI/Label",
|
|
11
|
+
component: index_1.Label,
|
|
12
|
+
};
|
|
13
|
+
function Default() {
|
|
14
|
+
return (react_1.default.createElement("div", { className: "space-y-2" },
|
|
15
|
+
react_1.default.createElement(index_1.Label, null, "Label")));
|
|
16
|
+
}
|
|
17
|
+
exports.Default = Default;
|
package/package.json
CHANGED
|
File without changes
|
package/radio/radio.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
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 classes_1 = require("@uxf/core/constants/classes");
|
|
7
|
+
const cx_1 = require("@uxf/core/utils/cx");
|
|
8
|
+
const react_1 = __importDefault(require("react"));
|
|
9
|
+
const forwardRef_1 = require("../utils/forwardRef");
|
|
10
|
+
function Radio(props, ref) {
|
|
11
|
+
const { active, checked, className, disabled, invalid, label, ...restProps } = props;
|
|
12
|
+
return (react_1.default.createElement("div", { className: (0, cx_1.cx)("uxf-radio__control", active && classes_1.CLASSES.IS_FOCUSED, checked && classes_1.CLASSES.IS_SELECTED, disabled && classes_1.CLASSES.IS_DISABLED, invalid && classes_1.CLASSES.IS_INVALID, className), ref: ref, ...restProps },
|
|
13
|
+
react_1.default.createElement("div", { className: (0, cx_1.cx)("uxf-radio", active && classes_1.CLASSES.IS_FOCUSED, checked && classes_1.CLASSES.IS_SELECTED, disabled && classes_1.CLASSES.IS_DISABLED, invalid && classes_1.CLASSES.IS_INVALID) },
|
|
14
|
+
react_1.default.createElement("div", { className: (0, cx_1.cx)(checked && classes_1.CLASSES.IS_SELECTED, "uxf-radio__inner") })),
|
|
15
|
+
react_1.default.createElement("p", { className: "cursor-default" }, label)));
|
|
16
|
+
}
|
|
17
|
+
exports.default = (0, forwardRef_1.forwardRef)("Radio", Radio);
|
package/radio/radio.stories.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
import React from "react";
|
|
2
2
|
declare const _default: {
|
|
3
3
|
title: string;
|
|
4
|
-
component:
|
|
4
|
+
component: React.ForwardRefExoticComponent<import("./radio").RadioProps & React.RefAttributes<HTMLDivElement>>;
|
|
5
5
|
};
|
|
6
6
|
export default _default;
|
|
7
7
|
export declare function Default(): JSX.Element;
|
|
@@ -0,0 +1,20 @@
|
|
|
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 index_1 = require("./index");
|
|
8
|
+
const react_1 = __importDefault(require("react"));
|
|
9
|
+
exports.default = {
|
|
10
|
+
title: "UI/Radio",
|
|
11
|
+
component: index_1.Radio,
|
|
12
|
+
};
|
|
13
|
+
function Default() {
|
|
14
|
+
return (react_1.default.createElement("div", { className: "space-y-2" },
|
|
15
|
+
react_1.default.createElement(index_1.Radio, { label: "Radio", checked: true, active: true }),
|
|
16
|
+
react_1.default.createElement(index_1.Radio, { label: "Radio", checked: true, active: false }),
|
|
17
|
+
react_1.default.createElement(index_1.Radio, { label: "Radio", checked: false, active: true }),
|
|
18
|
+
react_1.default.createElement(index_1.Radio, { label: "Radio", checked: false, active: false })));
|
|
19
|
+
}
|
|
20
|
+
exports.Default = Default;
|
|
File without changes
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CSSProperties, FocusEventHandler } from "react";
|
|
1
|
+
import React, { CSSProperties, FocusEventHandler } from "react";
|
|
2
2
|
export declare type RadioGroupOptionValue = string | number;
|
|
3
3
|
export interface RadioGroupOption {
|
|
4
4
|
disabled?: boolean;
|
|
@@ -21,5 +21,5 @@ export interface RadioGroupProps {
|
|
|
21
21
|
style?: CSSProperties;
|
|
22
22
|
value?: RadioGroupOptionValue | null;
|
|
23
23
|
}
|
|
24
|
-
declare const _default:
|
|
24
|
+
declare const _default: React.ForwardRefExoticComponent<RadioGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
25
25
|
export default _default;
|
|
@@ -0,0 +1,44 @@
|
|
|
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
|
+
const react_1 = __importStar(require("react"));
|
|
27
|
+
const forwardRef_1 = require("../utils/forwardRef");
|
|
28
|
+
const react_2 = require("@headlessui/react");
|
|
29
|
+
const composeRefs_1 = require("@uxf/core/utils/composeRefs");
|
|
30
|
+
const label_1 = require("../label");
|
|
31
|
+
const radio_1 = require("../radio");
|
|
32
|
+
const error_message_1 = require("../error-message");
|
|
33
|
+
const use_input_submit_1 = require("../hooks/use-input-submit");
|
|
34
|
+
function RadioGroup(props, ref) {
|
|
35
|
+
const { className, disabled, error, forceColumn, hiddenLabel, id, invalid, label, onBlur, onChange, onFocus, options, style, value, } = props;
|
|
36
|
+
const innerRef = (0, react_1.useRef)(null);
|
|
37
|
+
(0, use_input_submit_1.useInputSubmit)(innerRef, "radio-group", disabled);
|
|
38
|
+
const errorId = invalid ? `${id}--errormessage` : undefined;
|
|
39
|
+
return (react_1.default.createElement(react_2.RadioGroup, { className: `_form-field ${className || ""}`, disabled: disabled, id: id, value: value, onChange: onChange, style: style },
|
|
40
|
+
!hiddenLabel && (react_1.default.createElement(react_2.RadioGroup.Label, { as: label_1.Label, className: "mb-2" }, label)),
|
|
41
|
+
react_1.default.createElement("div", { className: `flex ${forceColumn ? "flex-col" : "flex-wrap items-center"} focus-visible:ring-gray-dark outline-none focus-visible:ring-2`, onBlur: onBlur, onFocus: onFocus, ref: (0, composeRefs_1.composeRefs)(innerRef, ref), tabIndex: disabled ? -1 : 0 }, options.map((option) => (react_1.default.createElement(react_2.RadioGroup.Option, { as: react_1.Fragment, disabled: option.disabled, key: option.value.toString(), value: option.value }, (o) => (react_1.default.createElement(radio_1.Radio, { active: o.active, checked: o.checked, disabled: disabled || o.disabled, invalid: invalid, label: option.label })))))),
|
|
42
|
+
invalid && error && react_1.default.createElement(error_message_1.ErrorMessage, { id: errorId }, error)));
|
|
43
|
+
}
|
|
44
|
+
exports.default = (0, forwardRef_1.forwardRef)("RadioGroup", RadioGroup);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
import React from "react";
|
|
2
2
|
declare const _default: {
|
|
3
3
|
title: string;
|
|
4
|
-
component:
|
|
4
|
+
component: React.ForwardRefExoticComponent<import("./radio-group").RadioGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
5
5
|
};
|
|
6
6
|
export default _default;
|
|
7
7
|
export declare function Default(): JSX.Element;
|
|
@@ -0,0 +1,52 @@
|
|
|
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 index_1 = require("./index");
|
|
28
|
+
const react_1 = __importStar(require("react"));
|
|
29
|
+
exports.default = {
|
|
30
|
+
title: "UI/RadioGroup",
|
|
31
|
+
component: index_1.RadioGroup,
|
|
32
|
+
};
|
|
33
|
+
const options = [
|
|
34
|
+
{
|
|
35
|
+
value: "1",
|
|
36
|
+
label: "Radio one",
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
value: "2",
|
|
40
|
+
label: "Radio two",
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
value: "3",
|
|
44
|
+
label: "Radio three",
|
|
45
|
+
},
|
|
46
|
+
];
|
|
47
|
+
function Default() {
|
|
48
|
+
const [value, setValue] = (0, react_1.useState)(options[0].value);
|
|
49
|
+
return (react_1.default.createElement("div", { className: "space-y-2" },
|
|
50
|
+
react_1.default.createElement(index_1.RadioGroup, { id: "radiogroup", options: options, label: "Radio group", value: value, onChange: setValue })));
|
|
51
|
+
}
|
|
52
|
+
exports.Default = Default;
|
|
File without changes
|
|
@@ -0,0 +1,18 @@
|
|
|
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 cx_1 = require("@uxf/core/utils/cx");
|
|
8
|
+
const image_1 = require("../utils/image");
|
|
9
|
+
const resizer_1 = require("@uxf/core/utils/resizer");
|
|
10
|
+
function RasterImage(props) {
|
|
11
|
+
var _a, _b;
|
|
12
|
+
const { alt, className, height, imgClassName, loading = "lazy", mode = "responsive", src, width, ...restProps } = props;
|
|
13
|
+
const Element = src ? "picture" : "div";
|
|
14
|
+
return (react_1.default.createElement(Element, { className: `uxf-raster-image ${className || ""}` }, src ? (react_1.default.createElement(react_1.default.Fragment, null,
|
|
15
|
+
(0, image_1.getImgSources)(src, width, height),
|
|
16
|
+
react_1.default.createElement("img", { alt: alt, className: (0, cx_1.cx)("uxf-raster-image__img", mode === "contain" && "uxf-raster-image__img--contain", mode === "cover" && "uxf-raster-image__img--cover", imgClassName), loading: loading, src: (_a = (0, resizer_1.resizerImageUrl)(src, width, height, {})) !== null && _a !== void 0 ? _a : undefined, srcSet: (_b = (0, image_1.getImgSrcSet)(src, width, height)) !== null && _b !== void 0 ? _b : undefined, ...restProps }))) : null));
|
|
17
|
+
}
|
|
18
|
+
exports.default = RasterImage;
|
|
@@ -0,0 +1,17 @@
|
|
|
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 index_1 = require("./index");
|
|
8
|
+
const react_1 = __importDefault(require("react"));
|
|
9
|
+
exports.default = {
|
|
10
|
+
title: "UI/RasterImage",
|
|
11
|
+
component: index_1.RasterImage,
|
|
12
|
+
};
|
|
13
|
+
function Default() {
|
|
14
|
+
return (react_1.default.createElement("div", { className: "space-y-2" },
|
|
15
|
+
react_1.default.createElement(index_1.RasterImage, { alt: "Alt text", height: 100, width: 300, mode: "cover" })));
|
|
16
|
+
}
|
|
17
|
+
exports.Default = Default;
|
package/select/select.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FocusEventHandler } from "react";
|
|
1
|
+
import React, { FocusEventHandler } from "react";
|
|
2
2
|
export declare type SelectValue = number | string;
|
|
3
3
|
export declare type SelectOption<T = SelectValue> = {
|
|
4
4
|
key?: number | string;
|
|
@@ -23,5 +23,5 @@ export interface SelectProps<V = SelectValue, O = SelectOption<V>> {
|
|
|
23
23
|
required?: boolean;
|
|
24
24
|
value?: V;
|
|
25
25
|
}
|
|
26
|
-
declare const _default:
|
|
26
|
+
declare const _default: React.ForwardRefExoticComponent<SelectProps<SelectValue, SelectOption<SelectValue>> & React.RefAttributes<HTMLDivElement>>;
|
|
27
27
|
export default _default;
|