@uxf/ui 1.0.0-beta.22 → 1.0.0-beta.27
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 +32 -0
- package/avatar-file-input/avatar-file-input.js +73 -0
- package/avatar-file-input/avatar-file-input.stories.d.ts +7 -0
- package/avatar-file-input/avatar-file-input.stories.js +30 -0
- package/avatar-file-input/index.d.ts +1 -0
- package/avatar-file-input/index.js +8 -0
- package/button/button.d.ts +14 -0
- package/button/button.js +22 -0
- package/button/button.stories.d.ts +7 -0
- package/button/button.stories.js +52 -0
- package/button/index.d.ts +2 -0
- package/button/index.js +23 -0
- package/button/theme.d.ts +18 -0
- package/{avatar → button}/theme.js +0 -0
- package/checkbox/checkbox.d.ts +12 -0
- package/checkbox/checkbox.js +24 -0
- package/{avatar/avatar.stories.d.ts → checkbox/checkbox.stories.d.ts} +2 -2
- package/checkbox/checkbox.stories.js +40 -0
- package/checkbox/index.d.ts +1 -0
- package/checkbox/index.js +8 -0
- package/checkbox-input/checkbox-input.d.ts +3 -0
- package/checkbox-input/checkbox-input.js +10 -0
- package/checkbox-input/checkbox-input.stories.d.ts +8 -0
- package/checkbox-input/checkbox-input.stories.js +17 -0
- package/checkbox-input/index.d.ts +1 -0
- package/checkbox-input/index.js +8 -0
- package/combobox/combobox.d.ts +27 -0
- package/combobox/combobox.js +56 -0
- package/combobox/combobox.stories.d.ts +8 -0
- package/combobox/combobox.stories.js +48 -0
- package/combobox/index.d.ts +1 -0
- package/combobox/index.js +8 -0
- package/dropdown/dropdown.d.ts +10 -0
- package/dropdown/dropdown.js +26 -0
- package/dropdown/index.d.ts +1 -0
- package/dropdown/index.js +5 -0
- package/error-message/error-message.d.ts +7 -0
- package/error-message/error-message.js +10 -0
- package/error-message/error-message.stories.d.ts +8 -0
- package/error-message/error-message.stories.js +17 -0
- package/error-message/index.d.ts +1 -0
- package/error-message/index.js +8 -0
- package/hooks/use-dropdown.d.ts +7 -0
- package/hooks/use-dropdown.js +37 -0
- package/hooks/use-fix-android-on-focus.d.ts +2 -0
- package/hooks/use-fix-android-on-focus.js +31 -0
- package/hooks/use-input-submit.d.ts +4 -0
- package/hooks/use-input-submit.js +44 -0
- package/hooks/use-latest.d.ts +2 -0
- package/hooks/use-latest.js +12 -0
- package/icon/icon.d.ts +16 -0
- package/icon/icon.js +25 -0
- package/icon/icon.stories.d.ts +7 -0
- package/icon/icon.stories.js +72 -0
- package/icon/index.d.ts +1 -0
- package/icon/index.js +8 -0
- package/icon/theme.d.ts +1 -0
- package/icon/theme.js +2 -0
- package/image-gallery/components/close-button.d.ts +6 -0
- package/image-gallery/components/close-button.js +12 -0
- package/image-gallery/components/dot.d.ts +6 -0
- package/image-gallery/components/dot.js +12 -0
- package/image-gallery/components/gallery.d.ts +11 -0
- package/image-gallery/components/gallery.js +68 -0
- package/image-gallery/components/icon-chevron-left.d.ts +3 -0
- package/image-gallery/components/icon-chevron-left.js +11 -0
- package/image-gallery/components/icon-chevron-right.d.ts +3 -0
- package/image-gallery/components/icon-chevron-right.js +11 -0
- package/image-gallery/components/icon-close.d.ts +3 -0
- package/image-gallery/components/icon-close.js +11 -0
- package/image-gallery/components/next-button.d.ts +6 -0
- package/image-gallery/components/next-button.js +12 -0
- package/image-gallery/components/previous-button.d.ts +6 -0
- package/image-gallery/components/previous-button.js +12 -0
- package/image-gallery/context.d.ts +10 -0
- package/image-gallery/context.js +12 -0
- package/image-gallery/image-gallery.d.ts +6 -0
- package/image-gallery/image-gallery.js +55 -0
- package/image-gallery/image-gallery.stories.d.ts +13 -0
- package/image-gallery/image-gallery.stories.js +26 -0
- package/image-gallery/image.d.ts +4 -0
- package/image-gallery/image.js +12 -0
- package/image-gallery/index.d.ts +3 -0
- package/image-gallery/index.js +25 -0
- package/image-gallery/types.d.ts +6 -0
- package/image-gallery/types.js +2 -0
- package/image-gallery/use-image.d.ts +2 -0
- package/image-gallery/use-image.js +16 -0
- package/input/index.d.ts +13 -0
- package/input/index.js +19 -0
- package/input/input-element.d.ts +8 -0
- package/input/input-element.js +11 -0
- package/input/input-left-addon.d.ts +6 -0
- package/input/input-left-addon.js +10 -0
- package/input/input-left-element.d.ts +6 -0
- package/input/input-left-element.js +10 -0
- package/input/input-right-addon.d.ts +6 -0
- package/input/input-right-addon.js +10 -0
- package/input/input-right-element.d.ts +6 -0
- package/input/input-right-element.js +10 -0
- package/input/input.d.ts +8 -0
- package/input/input.js +62 -0
- package/input/input.stories.d.ts +14 -0
- package/input/input.stories.js +71 -0
- package/input/theme.d.ts +6 -0
- package/input/theme.js +2 -0
- package/label/index.d.ts +1 -0
- package/label/index.js +8 -0
- package/label/label.d.ts +10 -0
- package/label/label.js +12 -0
- package/label/label.stories.d.ts +7 -0
- package/label/label.stories.js +17 -0
- package/package.json +11 -6
- package/radio/index.d.ts +1 -0
- package/radio/index.js +8 -0
- package/radio/radio.d.ts +11 -0
- package/radio/radio.js +17 -0
- package/radio/radio.stories.d.ts +7 -0
- package/radio/radio.stories.js +20 -0
- package/radio-group/index.d.ts +1 -0
- package/radio-group/index.js +8 -0
- package/radio-group/radio-group.d.ts +25 -0
- package/radio-group/radio-group.js +44 -0
- package/radio-group/radio-group.stories.d.ts +7 -0
- package/radio-group/radio-group.stories.js +52 -0
- package/raster-image/index.d.ts +1 -0
- package/raster-image/index.js +8 -0
- package/raster-image/raster-image.d.ts +16 -0
- package/raster-image/raster-image.js +18 -0
- package/raster-image/raster-image.stories.d.ts +8 -0
- package/raster-image/raster-image.stories.js +17 -0
- package/select/index.d.ts +1 -0
- package/select/index.js +8 -0
- package/select/select.d.ts +27 -0
- package/select/select.js +65 -0
- package/select/select.stories.d.ts +8 -0
- package/select/select.stories.js +48 -0
- package/text-input/index.d.ts +1 -0
- package/text-input/index.js +17 -0
- package/text-input/text-input.d.ts +22 -0
- package/text-input/text-input.js +53 -0
- package/text-input/text-input.stories.d.ts +9 -0
- package/text-input/text-input.stories.js +52 -0
- package/textarea/index.d.ts +1 -0
- package/textarea/index.js +8 -0
- package/textarea/textarea.d.ts +26 -0
- package/textarea/textarea.js +74 -0
- package/textarea/textarea.stories.d.ts +7 -0
- package/textarea/textarea.stories.js +32 -0
- package/types/form-control-props.d.ts +24 -0
- package/types/form-control-props.js +2 -0
- package/types/index.d.ts +1 -0
- package/types/index.js +17 -0
- package/utils/action.d.ts +2 -0
- package/utils/action.js +11 -0
- package/utils/component-structure-analyzer.d.ts +6 -0
- package/utils/component-structure-analyzer.js +10 -0
- package/utils/cx.d.ts +3 -0
- package/utils/cx.js +54 -0
- package/utils/forwardRef.d.ts +12 -0
- package/utils/forwardRef.js +10 -0
- package/utils/image.d.ts +9 -0
- package/utils/image.js +30 -0
- package/utils/rem.d.ts +1 -0
- package/utils/rem.js +5 -0
- package/utils/storybook-config.d.ts +19 -0
- package/utils/storybook-config.js +47 -0
- package/avatar/avatar.d.ts +0 -14
- package/avatar/avatar.jsx +0 -10
- package/avatar/avatar.stories.jsx +0 -29
- package/avatar/theme.d.ts +0 -5
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { ImageGalleryImageProps } from "./types";
|
|
3
|
+
declare type ContextType = {
|
|
4
|
+
registerImage: (props: ImageGalleryImageProps) => void;
|
|
5
|
+
unregisterImage: (props: ImageGalleryImageProps) => void;
|
|
6
|
+
openGallery: (props: ImageGalleryImageProps) => void;
|
|
7
|
+
};
|
|
8
|
+
export declare const ImageGalleryProvider: import("react").Provider<ContextType>;
|
|
9
|
+
export declare const useImageGalleryContext: () => ContextType;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useImageGalleryContext = exports.ImageGalleryProvider = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const ImageGalleryContext = (0, react_1.createContext)({
|
|
6
|
+
registerImage: () => null,
|
|
7
|
+
unregisterImage: () => null,
|
|
8
|
+
openGallery: () => null,
|
|
9
|
+
});
|
|
10
|
+
exports.ImageGalleryProvider = ImageGalleryContext.Provider;
|
|
11
|
+
const useImageGalleryContext = () => (0, react_1.useContext)(ImageGalleryContext);
|
|
12
|
+
exports.useImageGalleryContext = useImageGalleryContext;
|
|
@@ -0,0 +1,55 @@
|
|
|
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
|
+
const react_1 = __importStar(require("react"));
|
|
30
|
+
const context_1 = require("./context");
|
|
31
|
+
const gallery_1 = __importDefault(require("./components/gallery"));
|
|
32
|
+
function ImageGallery(props) {
|
|
33
|
+
const [images, setImages] = (0, react_1.useState)([]);
|
|
34
|
+
const [imageIndex, setImageIndex] = (0, react_1.useState)(null);
|
|
35
|
+
const registerImage = (image) => setImages((v) => [...v, image]);
|
|
36
|
+
const unregisterImage = (image) => setImages((v) => v.filter((u) => u.src !== image.src));
|
|
37
|
+
const openGallery = (image) => setImageIndex(images.findIndex((i) => i.src === image.src));
|
|
38
|
+
const onPrevious = (0, react_1.useCallback)(() => {
|
|
39
|
+
setImageIndex((v) => (v === null ? null : v - 1));
|
|
40
|
+
}, []);
|
|
41
|
+
const onNext = (0, react_1.useCallback)(() => {
|
|
42
|
+
setImageIndex((v) => (v === null ? null : v + 1));
|
|
43
|
+
}, []);
|
|
44
|
+
// modulo bug https://stackoverflow.com/a/4467559
|
|
45
|
+
const moduloImageIndex = imageIndex === null
|
|
46
|
+
? null
|
|
47
|
+
: imageIndex < 0
|
|
48
|
+
? ((imageIndex % images.length) + images.length) % images.length
|
|
49
|
+
: imageIndex % images.length;
|
|
50
|
+
const contextValue = { registerImage, unregisterImage, openGallery };
|
|
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 }))));
|
|
54
|
+
}
|
|
55
|
+
exports.default = ImageGallery;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import ImageGallery from "./image-gallery";
|
|
3
|
+
declare const _default: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: typeof ImageGallery;
|
|
6
|
+
parameters: {
|
|
7
|
+
actions: {
|
|
8
|
+
argTypesRegex: string;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
export default _default;
|
|
13
|
+
export declare function Default(): JSX.Element;
|
|
@@ -0,0 +1,26 @@
|
|
|
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 react_1 = __importDefault(require("react"));
|
|
8
|
+
const image_gallery_1 = __importDefault(require("./image-gallery"));
|
|
9
|
+
const image_1 = __importDefault(require("./image"));
|
|
10
|
+
exports.default = {
|
|
11
|
+
title: "Lab/ImageGallery",
|
|
12
|
+
component: image_gallery_1.default,
|
|
13
|
+
parameters: { actions: { argTypesRegex: "^on.*" } },
|
|
14
|
+
};
|
|
15
|
+
const images = [
|
|
16
|
+
"https://opentopo.app/hero_image.jpeg",
|
|
17
|
+
"https://opentopo.app/generated/area-18/d/9/d9033d93-ea48-4f66-b0c1-6045c091b326_1024_1024_c.jpg",
|
|
18
|
+
"https://opentopo.app/generated/area-16/f/4/f4a4ca79-ea9e-44d1-a4ec-3c8ccfbcc218_1024_1024_c.jpg",
|
|
19
|
+
"https://opentopo.app/generated/area-1/8/b/8b84e378-1f55-4ce7-b750-b504091cb833_1024_1024_c.jpg",
|
|
20
|
+
"https://opentopo.app/generated/area-2/e/7/e7ec532b-20c2-407e-9305-fa7cfb71f01f_1024_1024_c.jpg",
|
|
21
|
+
];
|
|
22
|
+
function 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" }))))));
|
|
25
|
+
}
|
|
26
|
+
exports.Default = Default;
|
|
@@ -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 react_1 = __importDefault(require("react"));
|
|
7
|
+
const use_image_1 = require("./use-image");
|
|
8
|
+
function Image(props) {
|
|
9
|
+
const openGallery = (0, use_image_1.useImage)(props);
|
|
10
|
+
return (react_1.default.createElement("img", { src: props.src, alt: props.alt, title: props.title, className: props.className, onClick: () => openGallery(props) }));
|
|
11
|
+
}
|
|
12
|
+
exports.default = Image;
|
|
@@ -0,0 +1,25 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.ImageGallery = exports.Image = void 0;
|
|
21
|
+
var image_1 = require("./image");
|
|
22
|
+
Object.defineProperty(exports, "Image", { enumerable: true, get: function () { return __importDefault(image_1).default; } });
|
|
23
|
+
var image_gallery_1 = require("./image-gallery");
|
|
24
|
+
Object.defineProperty(exports, "ImageGallery", { enumerable: true, get: function () { return __importDefault(image_gallery_1).default; } });
|
|
25
|
+
__exportStar(require("./use-image"), exports);
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useImage = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const context_1 = require("./context");
|
|
6
|
+
function useImage(props) {
|
|
7
|
+
const { registerImage, unregisterImage, openGallery } = (0, context_1.useImageGalleryContext)();
|
|
8
|
+
(0, react_1.useEffect)(() => {
|
|
9
|
+
registerImage(props);
|
|
10
|
+
return () => {
|
|
11
|
+
unregisterImage(props);
|
|
12
|
+
};
|
|
13
|
+
}, [props, registerImage, unregisterImage]);
|
|
14
|
+
return openGallery;
|
|
15
|
+
}
|
|
16
|
+
exports.useImage = useImage;
|
package/input/index.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { Input as RootInput } from "./input";
|
|
3
|
+
import LeftElement from "./input-left-element";
|
|
4
|
+
import RightElement from "./input-right-element";
|
|
5
|
+
import LeftAddon from "./input-left-addon";
|
|
6
|
+
import RightAddon from "./input-right-addon";
|
|
7
|
+
export declare const Input: typeof RootInput & {
|
|
8
|
+
Element: import("react").ForwardRefExoticComponent<import("./input-element").InputElementProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
9
|
+
LeftElement: typeof LeftElement;
|
|
10
|
+
RightElement: typeof RightElement;
|
|
11
|
+
LeftAddon: typeof LeftAddon;
|
|
12
|
+
RightAddon: typeof RightAddon;
|
|
13
|
+
};
|
package/input/index.js
ADDED
|
@@ -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.Input = void 0;
|
|
7
|
+
const input_1 = require("./input");
|
|
8
|
+
const input_element_1 = __importDefault(require("./input-element"));
|
|
9
|
+
const input_left_element_1 = __importDefault(require("./input-left-element"));
|
|
10
|
+
const input_right_element_1 = __importDefault(require("./input-right-element"));
|
|
11
|
+
const input_left_addon_1 = __importDefault(require("./input-left-addon"));
|
|
12
|
+
const input_right_addon_1 = __importDefault(require("./input-right-addon"));
|
|
13
|
+
exports.Input = Object.assign(input_1.Input, {
|
|
14
|
+
Element: input_element_1.default,
|
|
15
|
+
LeftElement: input_left_element_1.default,
|
|
16
|
+
RightElement: input_right_element_1.default,
|
|
17
|
+
LeftAddon: input_left_addon_1.default,
|
|
18
|
+
RightAddon: input_right_addon_1.default,
|
|
19
|
+
});
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { FormControlProps } from "@uxf/ui/types/form-control-props";
|
|
3
|
+
export interface InputElementProps extends FormControlProps<string> {
|
|
4
|
+
id?: string;
|
|
5
|
+
placeholder?: string;
|
|
6
|
+
}
|
|
7
|
+
declare const _default: React.ForwardRefExoticComponent<InputElementProps & React.RefAttributes<HTMLInputElement>>;
|
|
8
|
+
export default _default;
|
|
@@ -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
|
+
const forwardRef_1 = require("@uxf/ui/utils/forwardRef");
|
|
8
|
+
function InputElement(props, ref) {
|
|
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
|
+
}
|
|
11
|
+
exports.default = (0, forwardRef_1.forwardRef)("InputElement", InputElement);
|
|
@@ -0,0 +1,10 @@
|
|
|
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 InputLeftAddon(props) {
|
|
8
|
+
return react_1.default.createElement("div", { className: "uxf-input__left-addon" }, props.children);
|
|
9
|
+
}
|
|
10
|
+
exports.default = InputLeftAddon;
|
|
@@ -0,0 +1,10 @@
|
|
|
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 InputLeftElement(props) {
|
|
8
|
+
return react_1.default.createElement("div", { className: "uxf-input__left-element" }, props.children);
|
|
9
|
+
}
|
|
10
|
+
exports.default = InputLeftElement;
|
|
@@ -0,0 +1,10 @@
|
|
|
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 InputRightAddon(props) {
|
|
8
|
+
return react_1.default.createElement("div", { className: "uxf-input__right-addon" }, props.children);
|
|
9
|
+
}
|
|
10
|
+
exports.default = InputRightAddon;
|
|
@@ -0,0 +1,10 @@
|
|
|
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 InputRightElement(props) {
|
|
8
|
+
return react_1.default.createElement("div", { className: "uxf-input__right-element" }, props.children);
|
|
9
|
+
}
|
|
10
|
+
exports.default = InputRightElement;
|
package/input/input.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import { InputGroupSizes, InputGroupVariants } from "@uxf/ui/input/theme";
|
|
3
|
+
export interface InputProps {
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
variant?: keyof InputGroupVariants;
|
|
6
|
+
size?: keyof InputGroupSizes;
|
|
7
|
+
}
|
|
8
|
+
export declare function Input(props: InputProps): JSX.Element;
|
package/input/input.js
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
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.Input = void 0;
|
|
27
|
+
const react_1 = __importStar(require("react"));
|
|
28
|
+
const cx_1 = require("@uxf/core/utils/cx");
|
|
29
|
+
function getChildrenById(children, componentName) {
|
|
30
|
+
return react_1.Children.toArray(children)
|
|
31
|
+
.filter(react_1.isValidElement)
|
|
32
|
+
.find((ch) => ch.type.displayName === componentName);
|
|
33
|
+
}
|
|
34
|
+
function Input(props) {
|
|
35
|
+
const inputWrapperRef = (0, react_1.useRef)(null);
|
|
36
|
+
const inputRef = (0, react_1.useRef)(null);
|
|
37
|
+
const [focused, setFocused] = (0, react_1.useState)(false);
|
|
38
|
+
const mainInput = getChildrenById(props.children, "InputElement");
|
|
39
|
+
const leftAddon = getChildrenById(props.children, "InputLeftAddon");
|
|
40
|
+
const rightAddon = getChildrenById(props.children, "InputRightAddon");
|
|
41
|
+
const leftElement = getChildrenById(props.children, "InputLeftElement");
|
|
42
|
+
const rightElement = getChildrenById(props.children, "InputRightElement");
|
|
43
|
+
const inputGroupClasses = (0, cx_1.cx)("uxf-input", leftAddon && "uxf-input--has-left-addon", leftElement && "uxf-input--has-left-element", rightElement && "uxf-input--has-right-element", rightAddon && "uxf-input--has-right-addon", focused && "uxf-input--focused", (mainInput === null || mainInput === void 0 ? void 0 : mainInput.props.isInvalid) && "uxf-input--invalid");
|
|
44
|
+
const onFocus = (e) => {
|
|
45
|
+
var _a, _b;
|
|
46
|
+
setFocused(true);
|
|
47
|
+
(_b = mainInput === null || mainInput === void 0 ? void 0 : (_a = mainInput.props).onFocus) === null || _b === void 0 ? void 0 : _b.call(_a, e);
|
|
48
|
+
};
|
|
49
|
+
const onBlur = (e) => {
|
|
50
|
+
var _a, _b;
|
|
51
|
+
setFocused(false);
|
|
52
|
+
(_b = mainInput === null || mainInput === void 0 ? void 0 : (_a = mainInput.props).onBlur) === null || _b === void 0 ? void 0 : _b.call(_a, e);
|
|
53
|
+
};
|
|
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));
|
|
61
|
+
}
|
|
62
|
+
exports.Input = Input;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
declare const _default: {
|
|
3
|
+
title: string;
|
|
4
|
+
component: typeof import("./input").Input & {
|
|
5
|
+
Element: React.ForwardRefExoticComponent<import("./input-element").InputElementProps & React.RefAttributes<HTMLInputElement>>;
|
|
6
|
+
LeftElement: typeof import("./input-left-element").default;
|
|
7
|
+
RightElement: typeof import("./input-right-element").default;
|
|
8
|
+
LeftAddon: typeof import("./input-left-addon").default;
|
|
9
|
+
RightAddon: typeof import("./input-right-addon").default;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
export default _default;
|
|
13
|
+
export declare function Default(): JSX.Element;
|
|
14
|
+
export declare function ComponentStructure(): JSX.Element;
|
|
@@ -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/input/theme.d.ts
ADDED
package/input/theme.js
ADDED
package/label/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as Label } from "./label";
|
package/label/index.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
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.Label = void 0;
|
|
7
|
+
var label_1 = require("./label");
|
|
8
|
+
Object.defineProperty(exports, "Label", { enumerable: true, get: function () { return __importDefault(label_1).default; } });
|
package/label/label.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React, { MouseEventHandler, ReactNode } from "react";
|
|
2
|
+
export interface LabelProps {
|
|
3
|
+
children?: ReactNode;
|
|
4
|
+
htmlFor?: string;
|
|
5
|
+
form?: string;
|
|
6
|
+
onClick?: MouseEventHandler<HTMLLabelElement>;
|
|
7
|
+
className?: string;
|
|
8
|
+
}
|
|
9
|
+
declare const _default: React.ForwardRefExoticComponent<LabelProps & React.RefAttributes<HTMLLabelElement>>;
|
|
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);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
declare const _default: {
|
|
3
|
+
title: string;
|
|
4
|
+
component: React.ForwardRefExoticComponent<import("./label").LabelProps & React.RefAttributes<HTMLLabelElement>>;
|
|
5
|
+
};
|
|
6
|
+
export default _default;
|
|
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
|
@@ -1,21 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uxf/ui",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.27",
|
|
4
4
|
"description": "",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
8
8
|
"scripts": {
|
|
9
|
-
"build": "npm run
|
|
9
|
+
"build": "npm run compile",
|
|
10
10
|
"compile": "tsc -P tsconfig.json",
|
|
11
|
-
"typecheck": "tsc --noEmit --skipLibCheck"
|
|
12
|
-
"prepublish": "npm run-script build"
|
|
11
|
+
"typecheck": "../../node_modules/.bin/tsc --noEmit --skipLibCheck"
|
|
13
12
|
},
|
|
14
|
-
"author": "",
|
|
13
|
+
"author": "UX Fans s.r.o",
|
|
15
14
|
"license": "MIT",
|
|
16
15
|
"dependencies": {
|
|
17
16
|
"@floating-ui/react-dom": "^0.6.0",
|
|
18
17
|
"@headlessui/react": "^1.6.6",
|
|
19
|
-
"@uxf/core": "latest"
|
|
18
|
+
"@uxf/core": "latest",
|
|
19
|
+
"jump.js": "^1.0.2",
|
|
20
|
+
"ua-parser-js": "^1.0.2"
|
|
21
|
+
},
|
|
22
|
+
"devDependencies": {
|
|
23
|
+
"@types/jump.js": "^1.0.4",
|
|
24
|
+
"@types/ua-parser-js": "^0.7.36"
|
|
20
25
|
}
|
|
21
26
|
}
|
package/radio/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as Radio } from "./radio";
|