@uxf/ui 1.0.0-beta.10 → 1.0.0-beta.11

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.
Files changed (69) hide show
  1. package/button/theme.d.ts +4 -1
  2. package/image-gallery/components/close-button.d.ts +6 -0
  3. package/image-gallery/components/close-button.js +13 -0
  4. package/image-gallery/components/dot.d.ts +6 -0
  5. package/image-gallery/components/dot.js +13 -0
  6. package/image-gallery/components/gallery.d.ts +11 -0
  7. package/image-gallery/components/gallery.js +68 -0
  8. package/image-gallery/components/icon-chevron-left.d.ts +3 -0
  9. package/image-gallery/components/icon-chevron-left.js +12 -0
  10. package/image-gallery/components/icon-chevron-right.d.ts +3 -0
  11. package/image-gallery/components/icon-chevron-right.js +12 -0
  12. package/image-gallery/components/icon-close.d.ts +3 -0
  13. package/image-gallery/components/icon-close.js +12 -0
  14. package/image-gallery/components/next-button.d.ts +6 -0
  15. package/image-gallery/components/next-button.js +13 -0
  16. package/image-gallery/components/previous-button.d.ts +6 -0
  17. package/image-gallery/components/previous-button.js +13 -0
  18. package/image-gallery/context.d.ts +10 -0
  19. package/image-gallery/context.js +13 -0
  20. package/image-gallery/image-gallery.d.ts +6 -0
  21. package/image-gallery/image-gallery.js +87 -0
  22. package/image-gallery/image-gallery.stories.d.ts +13 -0
  23. package/image-gallery/image-gallery.stories.js +27 -0
  24. package/image-gallery/image.d.ts +4 -0
  25. package/image-gallery/image.js +13 -0
  26. package/image-gallery/index.d.ts +3 -0
  27. package/image-gallery/index.js +26 -0
  28. package/image-gallery/types.d.ts +6 -0
  29. package/image-gallery/types.js +3 -0
  30. package/image-gallery/use-image.d.ts +2 -0
  31. package/image-gallery/use-image.js +17 -0
  32. package/input/index.d.ts +6 -0
  33. package/input/index.js +19 -0
  34. package/input/input-group.d.ts +9 -0
  35. package/input/input-group.js +78 -0
  36. package/input/input-left-addon.d.ts +6 -0
  37. package/input/input-left-addon.js +11 -0
  38. package/input/input-left-element.d.ts +6 -0
  39. package/input/input-left-element.js +11 -0
  40. package/input/input-right-addon.d.ts +6 -0
  41. package/input/input-right-addon.js +11 -0
  42. package/input/input-right-element.d.ts +6 -0
  43. package/input/input-right-element.js +11 -0
  44. package/input/input.d.ts +8 -0
  45. package/input/input.js +12 -0
  46. package/input/input.stories.d.ts +9 -0
  47. package/input/input.stories.js +105 -0
  48. package/input/theme.d.ts +6 -0
  49. package/input/theme.js +3 -0
  50. package/package.json +5 -1
  51. package/stories/image-gallery.stories.tsx +33 -0
  52. package/stories/input.stories.tsx +101 -0
  53. package/storybook/action.d.ts +2 -0
  54. package/storybook/action.js +41 -0
  55. package/storybook/storybook-config.d.ts +2 -5
  56. package/storybook/storybook-config.js +3 -2
  57. package/styles/button.css +75 -0
  58. package/styles/component-structure-analyzer.css +28 -0
  59. package/styles/input-basic.css +18 -0
  60. package/styles/input.css +74 -0
  61. package/types/form-control-props.d.ts +24 -0
  62. package/types/form-control-props.js +3 -0
  63. package/utils/component-structure-analyzer.d.ts +6 -0
  64. package/utils/component-structure-analyzer.js +11 -0
  65. package/utils/cx.d.ts +3 -0
  66. package/utils/cx.js +59 -0
  67. package/utils/forwardRef.d.ts +12 -0
  68. package/utils/forwardRef.js +11 -0
  69. package/tailwindui/button.css +0 -51
package/button/theme.d.ts CHANGED
@@ -11,5 +11,8 @@ export interface ButtonSizes {
11
11
  }
12
12
  export interface ButtonColors {
13
13
  default: true;
14
- secondary: true;
14
+ white: true;
15
+ success: true;
16
+ warning: true;
17
+ error: true;
15
18
  }
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ interface CloseButtonProps {
3
+ onClick: () => void;
4
+ }
5
+ declare function CloseButton(props: CloseButtonProps): JSX.Element;
6
+ export default CloseButton;
@@ -0,0 +1,13 @@
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
+ var react_1 = __importDefault(require("react"));
7
+ var icon_close_1 = __importDefault(require("./icon-close"));
8
+ function CloseButton(props) {
9
+ return (react_1.default.createElement("button", { className: "bg-black bg-opacity-50 p-3", onClick: function () { return props.onClick(); } },
10
+ react_1.default.createElement(icon_close_1.default, null)));
11
+ }
12
+ exports.default = CloseButton;
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvc2UtYnV0dG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ltYWdlLWdhbGxlcnkvY29tcG9uZW50cy9jbG9zZS1idXR0b24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0RBQTBCO0FBQzFCLDREQUFxQztBQU1yQyxTQUFTLFdBQVcsQ0FBQyxLQUF1QjtJQUMxQyxPQUFPLENBQ0wsMENBQ0UsU0FBUyxFQUFDLDRCQUE0QixFQUN0QyxPQUFPLEVBQUUsY0FBTSxPQUFBLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBZixDQUFlO1FBRTlCLDhCQUFDLG9CQUFTLE9BQUcsQ0FDTixDQUNWLENBQUM7QUFDSixDQUFDO0FBRUQsa0JBQWUsV0FBVyxDQUFDIn0=
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ interface DotProps {
3
+ active?: boolean;
4
+ }
5
+ declare function Dot(props: DotProps): JSX.Element;
6
+ export default Dot;
@@ -0,0 +1,13 @@
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
+ var cx_1 = require("@uxf/core/utils/cx");
7
+ var react_1 = __importDefault(require("react"));
8
+ function Dot(props) {
9
+ var className = (0, cx_1.cx)("h-2 w-2 rounded-full", props.active ? "bg-gray-500" : "bg-white");
10
+ return react_1.default.createElement("div", { className: className });
11
+ }
12
+ exports.default = Dot;
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG90LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ltYWdlLWdhbGxlcnkvY29tcG9uZW50cy9kb3QudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEseUNBQXdDO0FBQ3hDLGdEQUEwQjtBQU0xQixTQUFTLEdBQUcsQ0FBQyxLQUFlO0lBQzFCLElBQU0sU0FBUyxHQUFHLElBQUEsT0FBRSxFQUNsQixzQkFBc0IsRUFDdEIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQzFDLENBQUM7SUFFRixPQUFPLHVDQUFLLFNBQVMsRUFBRSxTQUFTLEdBQUksQ0FBQztBQUN2QyxDQUFDO0FBRUQsa0JBQWUsR0FBRyxDQUFDIn0=
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import { ImageGalleryImageProps } from "../types";
3
+ interface GalleryProps {
4
+ onClose: () => void;
5
+ onNext: () => void;
6
+ onPrevious: () => void;
7
+ imageIndex: number;
8
+ images: ImageGalleryImageProps[];
9
+ }
10
+ declare function Gallery(props: GalleryProps): JSX.Element;
11
+ export default Gallery;
@@ -0,0 +1,68 @@
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
+ var close_button_1 = __importDefault(require("./close-button"));
30
+ var previous_button_1 = __importDefault(require("./previous-button"));
31
+ var next_button_1 = __importDefault(require("./next-button"));
32
+ var dot_1 = __importDefault(require("./dot"));
33
+ var react_1 = __importStar(require("react"));
34
+ function Gallery(props) {
35
+ (0, react_1.useEffect)(function () {
36
+ var onKeyDown = function (event) {
37
+ switch (event.key) {
38
+ case "ArrowRight":
39
+ props.onNext();
40
+ break;
41
+ case "ArrowLeft":
42
+ props.onPrevious();
43
+ break;
44
+ case "Escape":
45
+ props.onClose();
46
+ break;
47
+ }
48
+ };
49
+ document.body.style.overflow = "hidden";
50
+ window.addEventListener("keydown", onKeyDown);
51
+ return function () {
52
+ document.body.style.overflow = "auto";
53
+ window.removeEventListener("keydown", onKeyDown);
54
+ };
55
+ }, []);
56
+ 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" },
57
+ react_1.default.createElement("div", { className: "flex justify-end" },
58
+ react_1.default.createElement(close_button_1.default, { onClick: props.onClose })),
59
+ react_1.default.createElement("div", { className: "container mx-auto flex h-full flex-1 flex-col" },
60
+ react_1.default.createElement("div", { className: "relative flex flex-1 items-center justify-center" },
61
+ react_1.default.createElement("img", { className: "absolute left-0 right-0 top-0 h-full w-full object-contain", src: props.images[props.imageIndex].src }),
62
+ react_1.default.createElement("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-between p-2" },
63
+ react_1.default.createElement(previous_button_1.default, { onClick: props.onPrevious }),
64
+ react_1.default.createElement(next_button_1.default, { onClick: props.onNext })))),
65
+ react_1.default.createElement("div", { className: "row mx-auto flex space-x-2 p-4" }, props.images.map(function (url, index) { return (react_1.default.createElement(dot_1.default, { key: url.src, active: index === props.imageIndex })); }))));
66
+ }
67
+ exports.default = Gallery;
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FsbGVyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbWFnZS1nYWxsZXJ5L2NvbXBvbmVudHMvZ2FsbGVyeS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdFQUF5QztBQUN6QyxzRUFBK0M7QUFDL0MsOERBQXVDO0FBQ3ZDLDhDQUF3QjtBQUN4Qiw2Q0FBeUM7QUFXekMsU0FBUyxPQUFPLENBQUMsS0FBbUI7SUFDbEMsSUFBQSxpQkFBUyxFQUFDO1FBQ1IsSUFBTSxTQUFTLEdBQUcsVUFBQyxLQUFvQjtZQUNyQyxRQUFRLEtBQUssQ0FBQyxHQUFHLEVBQUU7Z0JBQ2pCLEtBQUssWUFBWTtvQkFDZixLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ2YsTUFBTTtnQkFDUixLQUFLLFdBQVc7b0JBQ2QsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUNuQixNQUFNO2dCQUNSLEtBQUssUUFBUTtvQkFDWCxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ2hCLE1BQU07YUFDVDtRQUNILENBQUMsQ0FBQztRQUVGLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDeEMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUU5QyxPQUFPO1lBQ0wsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQztZQUN0QyxNQUFNLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ25ELENBQUMsQ0FBQztJQUNKLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVQLE9BQU8sQ0FDTCx1Q0FBSyxTQUFTLEVBQUMsMkZBQTJGO1FBQ3hHLHVDQUFLLFNBQVMsRUFBQyxrQkFBa0I7WUFDL0IsOEJBQUMsc0JBQVcsSUFBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sR0FBSSxDQUNuQztRQUNOLHVDQUFLLFNBQVMsRUFBQywrQ0FBK0M7WUFDNUQsdUNBQUssU0FBUyxFQUFDLGtEQUFrRDtnQkFDL0QsdUNBQ0UsU0FBUyxFQUFDLDREQUE0RCxFQUN0RSxHQUFHLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxHQUN2QztnQkFDRix1Q0FBSyxTQUFTLEVBQUMsNEVBQTRFO29CQUN6Riw4QkFBQyx5QkFBYyxJQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsVUFBVSxHQUFJO29CQUM3Qyw4QkFBQyxxQkFBVSxJQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxHQUFJLENBQ2pDLENBQ0YsQ0FDRjtRQUNOLHVDQUFLLFNBQVMsRUFBQyxnQ0FBZ0MsSUFDNUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBQyxHQUFHLEVBQUUsS0FBSyxJQUFLLE9BQUEsQ0FDaEMsOEJBQUMsYUFBRyxJQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEtBQUssS0FBSyxDQUFDLFVBQVUsR0FBSSxDQUMxRCxFQUZpQyxDQUVqQyxDQUFDLENBQ0UsQ0FDRixDQUNQLENBQUM7QUFDSixDQUFDO0FBRUQsa0JBQWUsT0FBTyxDQUFDIn0=
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare function IconChevronLeft(): JSX.Element;
3
+ export default IconChevronLeft;
@@ -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
+ var react_1 = __importDefault(require("react"));
7
+ function IconChevronLeft() {
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" })));
10
+ }
11
+ exports.default = IconChevronLeft;
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1jaGV2cm9uLWxlZnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW1hZ2UtZ2FsbGVyeS9jb21wb25lbnRzL2ljb24tY2hldnJvbi1sZWZ0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdEQUEwQjtBQUUxQixTQUFTLGVBQWU7SUFDdEIsT0FBTyxDQUNMLHVDQUNFLEtBQUssRUFBQyw0QkFBNEIsRUFDbEMsU0FBUyxFQUFDLHNCQUFzQixFQUNoQyxJQUFJLEVBQUMsTUFBTSxFQUNYLE9BQU8sRUFBQyxXQUFXLEVBQ25CLE1BQU0sRUFBQyxjQUFjLEVBQ3JCLFdBQVcsRUFBRSxDQUFDO1FBRWQsd0NBQU0sYUFBYSxFQUFDLE9BQU8sRUFBQyxjQUFjLEVBQUMsT0FBTyxFQUFDLENBQUMsRUFBQyxpQkFBaUIsR0FBRyxDQUNyRSxDQUNQLENBQUM7QUFDSixDQUFDO0FBRUQsa0JBQWUsZUFBZSxDQUFDIn0=
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare function IconChevronRight(): JSX.Element;
3
+ export default IconChevronRight;
@@ -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
+ var react_1 = __importDefault(require("react"));
7
+ function IconChevronRight() {
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" })));
10
+ }
11
+ exports.default = IconChevronRight;
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1jaGV2cm9uLXJpZ2h0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ltYWdlLWdhbGxlcnkvY29tcG9uZW50cy9pY29uLWNoZXZyb24tcmlnaHQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0RBQTBCO0FBRTFCLFNBQVMsZ0JBQWdCO0lBQ3ZCLE9BQU8sQ0FDTCx1Q0FDRSxLQUFLLEVBQUMsNEJBQTRCLEVBQ2xDLFNBQVMsRUFBQyxzQkFBc0IsRUFDaEMsSUFBSSxFQUFDLE1BQU0sRUFDWCxPQUFPLEVBQUMsV0FBVyxFQUNuQixNQUFNLEVBQUMsY0FBYyxFQUNyQixXQUFXLEVBQUUsQ0FBQztRQUVkLHdDQUFNLGFBQWEsRUFBQyxPQUFPLEVBQUMsY0FBYyxFQUFDLE9BQU8sRUFBQyxDQUFDLEVBQUMsY0FBYyxHQUFHLENBQ2xFLENBQ1AsQ0FBQztBQUNKLENBQUM7QUFFRCxrQkFBZSxnQkFBZ0IsQ0FBQyJ9
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare function IconClose(): JSX.Element;
3
+ export default IconClose;
@@ -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
+ var 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;
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1jbG9zZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbWFnZS1nYWxsZXJ5L2NvbXBvbmVudHMvaWNvbi1jbG9zZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnREFBMEI7QUFFMUIsU0FBUyxTQUFTO0lBQ2hCLE9BQU8sQ0FDTCx1Q0FDRSxLQUFLLEVBQUMsNEJBQTRCLEVBQ2xDLElBQUksRUFBQyxNQUFNLEVBQ1gsT0FBTyxFQUFDLFdBQVcsRUFDbkIsTUFBTSxFQUFDLGNBQWMsRUFDckIsV0FBVyxFQUFFLENBQUMsRUFDZCxTQUFTLEVBQUMsc0JBQXNCO1FBRWhDLHdDQUNFLGFBQWEsRUFBQyxPQUFPLEVBQ3JCLGNBQWMsRUFBQyxPQUFPLEVBQ3RCLENBQUMsRUFBQyxzQkFBc0IsR0FDeEIsQ0FDRSxDQUNQLENBQUM7QUFDSixDQUFDO0FBRUQsa0JBQWUsU0FBUyxDQUFDIn0=
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ interface NextButtonProps {
3
+ onClick: () => void;
4
+ }
5
+ declare function NextButton(props: NextButtonProps): JSX.Element;
6
+ export default NextButton;
@@ -0,0 +1,13 @@
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
+ var react_1 = __importDefault(require("react"));
7
+ var icon_chevron_right_1 = __importDefault(require("./icon-chevron-right"));
8
+ function NextButton(props) {
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)));
11
+ }
12
+ exports.default = NextButton;
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dC1idXR0b24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW1hZ2UtZ2FsbGVyeS9jb21wb25lbnRzL25leHQtYnV0dG9uLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdEQUEwQjtBQUMxQiw0RUFBb0Q7QUFNcEQsU0FBUyxVQUFVLENBQUMsS0FBc0I7SUFDeEMsT0FBTyxDQUNMLDBDQUNFLFNBQVMsRUFBQyw4REFBOEQsRUFDeEUsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1FBRXRCLDhCQUFDLDRCQUFnQixPQUFHLENBQ2IsQ0FDVixDQUFDO0FBQ0osQ0FBQztBQUVELGtCQUFlLFVBQVUsQ0FBQyJ9
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ interface PreviousButtonProps {
3
+ onClick: () => void;
4
+ }
5
+ declare function PreviousButton(props: PreviousButtonProps): JSX.Element;
6
+ export default PreviousButton;
@@ -0,0 +1,13 @@
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
+ var react_1 = __importDefault(require("react"));
7
+ var icon_chevron_left_1 = __importDefault(require("./icon-chevron-left"));
8
+ function PreviousButton(props) {
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)));
11
+ }
12
+ exports.default = PreviousButton;
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlvdXMtYnV0dG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ltYWdlLWdhbGxlcnkvY29tcG9uZW50cy9wcmV2aW91cy1idXR0b24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0RBQTBCO0FBQzFCLDBFQUFrRDtBQU1sRCxTQUFTLGNBQWMsQ0FBQyxLQUEwQjtJQUNoRCxPQUFPLENBQ0wsMENBQ0UsU0FBUyxFQUFDLDZEQUE2RCxFQUN2RSxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87UUFFdEIsOEJBQUMsMkJBQWUsT0FBRyxDQUNaLENBQ1YsQ0FBQztBQUNKLENBQUM7QUFFRCxrQkFBZSxjQUFjLENBQUMifQ==
@@ -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,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useImageGalleryContext = exports.ImageGalleryProvider = void 0;
4
+ var react_1 = require("react");
5
+ var ImageGalleryContext = (0, react_1.createContext)({
6
+ registerImage: function () { return null; },
7
+ unregisterImage: function () { return null; },
8
+ openGallery: function () { return null; },
9
+ });
10
+ exports.ImageGalleryProvider = ImageGalleryContext.Provider;
11
+ var useImageGalleryContext = function () { return (0, react_1.useContext)(ImageGalleryContext); };
12
+ exports.useImageGalleryContext = useImageGalleryContext;
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbWFnZS1nYWxsZXJ5L2NvbnRleHQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtCQUFrRDtBQVNsRCxJQUFNLG1CQUFtQixHQUFHLElBQUEscUJBQWEsRUFBYztJQUNyRCxhQUFhLEVBQUUsY0FBTSxPQUFBLElBQUksRUFBSixDQUFJO0lBQ3pCLGVBQWUsRUFBRSxjQUFNLE9BQUEsSUFBSSxFQUFKLENBQUk7SUFDM0IsV0FBVyxFQUFFLGNBQU0sT0FBQSxJQUFJLEVBQUosQ0FBSTtDQUN4QixDQUFDLENBQUM7QUFFVSxRQUFBLG9CQUFvQixHQUFHLG1CQUFtQixDQUFDLFFBQVEsQ0FBQztBQUMxRCxJQUFNLHNCQUFzQixHQUFHLGNBQU0sT0FBQSxJQUFBLGtCQUFVLEVBQUMsbUJBQW1CLENBQUMsRUFBL0IsQ0FBK0IsQ0FBQztBQUEvRCxRQUFBLHNCQUFzQiwwQkFBeUMifQ==
@@ -0,0 +1,6 @@
1
+ import { ReactNode } from "react";
2
+ interface ImageGalleryProviderProps {
3
+ children: ReactNode;
4
+ }
5
+ declare function ImageGallery(props: ImageGalleryProviderProps): JSX.Element;
6
+ export default ImageGallery;
@@ -0,0 +1,87 @@
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 __read = (this && this.__read) || function (o, n) {
26
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
27
+ if (!m) return o;
28
+ var i = m.call(o), r, ar = [], e;
29
+ try {
30
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
31
+ }
32
+ catch (error) { e = { error: error }; }
33
+ finally {
34
+ try {
35
+ if (r && !r.done && (m = i["return"])) m.call(i);
36
+ }
37
+ finally { if (e) throw e.error; }
38
+ }
39
+ return ar;
40
+ };
41
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
42
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
43
+ if (ar || !(i in from)) {
44
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
45
+ ar[i] = from[i];
46
+ }
47
+ }
48
+ return to.concat(ar || Array.prototype.slice.call(from));
49
+ };
50
+ var __importDefault = (this && this.__importDefault) || function (mod) {
51
+ return (mod && mod.__esModule) ? mod : { "default": mod };
52
+ };
53
+ Object.defineProperty(exports, "__esModule", { value: true });
54
+ var react_1 = __importStar(require("react"));
55
+ var context_1 = require("./context");
56
+ var gallery_1 = __importDefault(require("./components/gallery"));
57
+ function ImageGallery(props) {
58
+ var _a = __read((0, react_1.useState)([]), 2), images = _a[0], setImages = _a[1];
59
+ var _b = __read((0, react_1.useState)(null), 2), imageIndex = _b[0], setImageIndex = _b[1];
60
+ var registerImage = function (image) {
61
+ return setImages(function (v) { return __spreadArray(__spreadArray([], __read(v), false), [image], false); });
62
+ };
63
+ var unregisterImage = function (image) {
64
+ return setImages(function (v) { return v.filter(function (u) { return u.src !== image.src; }); });
65
+ };
66
+ var openGallery = function (image) {
67
+ return setImageIndex(images.findIndex(function (i) { return i.src === image.src; }));
68
+ };
69
+ var onPrevious = (0, react_1.useCallback)(function () {
70
+ setImageIndex(function (v) { return (v === null ? null : v - 1); });
71
+ }, []);
72
+ var onNext = (0, react_1.useCallback)(function () {
73
+ setImageIndex(function (v) { return (v === null ? null : v + 1); });
74
+ }, []);
75
+ // modulo bug https://stackoverflow.com/a/4467559
76
+ var moduloImageIndex = imageIndex === null
77
+ ? null
78
+ : imageIndex < 0
79
+ ? ((imageIndex % images.length) + images.length) % images.length
80
+ : imageIndex % images.length;
81
+ var contextValue = { registerImage: registerImage, unregisterImage: unregisterImage, openGallery: openGallery };
82
+ return (react_1.default.createElement(react_1.default.Fragment, null,
83
+ react_1.default.createElement(context_1.ImageGalleryProvider, { value: contextValue }, props.children),
84
+ typeof moduloImageIndex === "number" && (react_1.default.createElement(gallery_1.default, { onClose: function () { return setImageIndex(null); }, onNext: onNext, onPrevious: onPrevious, imageIndex: moduloImageIndex, images: images }))));
85
+ }
86
+ exports.default = ImageGallery;
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZ2FsbGVyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbWFnZS1nYWxsZXJ5L2ltYWdlLWdhbGxlcnkudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkNBQWdFO0FBQ2hFLHFDQUFpRDtBQUVqRCxpRUFBMkM7QUFNM0MsU0FBUyxZQUFZLENBQUMsS0FBZ0M7SUFDOUMsSUFBQSxLQUFBLE9BQXNCLElBQUEsZ0JBQVEsRUFBMkIsRUFBRSxDQUFDLElBQUEsRUFBM0QsTUFBTSxRQUFBLEVBQUUsU0FBUyxRQUEwQyxDQUFDO0lBQzdELElBQUEsS0FBQSxPQUE4QixJQUFBLGdCQUFRLEVBQWdCLElBQUksQ0FBQyxJQUFBLEVBQTFELFVBQVUsUUFBQSxFQUFFLGFBQWEsUUFBaUMsQ0FBQztJQUVsRSxJQUFNLGFBQWEsR0FBRyxVQUFDLEtBQTZCO1FBQ2xELE9BQUEsU0FBUyxDQUFDLFVBQUMsQ0FBQyxJQUFLLDhDQUFJLENBQUMsWUFBRSxLQUFLLFdBQVosQ0FBYSxDQUFDO0lBQS9CLENBQStCLENBQUM7SUFFbEMsSUFBTSxlQUFlLEdBQUcsVUFBQyxLQUE2QjtRQUNwRCxPQUFBLFNBQVMsQ0FBQyxVQUFDLENBQUMsSUFBSyxPQUFBLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBQyxDQUFDLElBQUssT0FBQSxDQUFDLENBQUMsR0FBRyxLQUFLLEtBQUssQ0FBQyxHQUFHLEVBQW5CLENBQW1CLENBQUMsRUFBcEMsQ0FBb0MsQ0FBQztJQUF0RCxDQUFzRCxDQUFDO0lBRXpELElBQU0sV0FBVyxHQUFHLFVBQUMsS0FBNkI7UUFDaEQsT0FBQSxhQUFhLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFDLENBQUMsSUFBSyxPQUFBLENBQUMsQ0FBQyxHQUFHLEtBQUssS0FBSyxDQUFDLEdBQUcsRUFBbkIsQ0FBbUIsQ0FBQyxDQUFDO0lBQTNELENBQTJELENBQUM7SUFFOUQsSUFBTSxVQUFVLEdBQUcsSUFBQSxtQkFBVyxFQUFDO1FBQzdCLGFBQWEsQ0FBQyxVQUFDLENBQUMsSUFBSyxPQUFBLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQTNCLENBQTJCLENBQUMsQ0FBQztJQUNwRCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFUCxJQUFNLE1BQU0sR0FBRyxJQUFBLG1CQUFXLEVBQUM7UUFDekIsYUFBYSxDQUFDLFVBQUMsQ0FBQyxJQUFLLE9BQUEsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBM0IsQ0FBMkIsQ0FBQyxDQUFDO0lBQ3BELENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVQLGlEQUFpRDtJQUNqRCxJQUFNLGdCQUFnQixHQUNwQixVQUFVLEtBQUssSUFBSTtRQUNqQixDQUFDLENBQUMsSUFBSTtRQUNOLENBQUMsQ0FBQyxVQUFVLEdBQUcsQ0FBQztZQUNoQixDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNO1lBQ2hFLENBQUMsQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUVqQyxJQUFNLFlBQVksR0FBRyxFQUFFLGFBQWEsZUFBQSxFQUFFLGVBQWUsaUJBQUEsRUFBRSxXQUFXLGFBQUEsRUFBRSxDQUFDO0lBRXJFLE9BQU8sQ0FDTDtRQUNFLDhCQUFDLDhCQUFvQixJQUFDLEtBQUssRUFBRSxZQUFZLElBQ3RDLEtBQUssQ0FBQyxRQUFRLENBQ007UUFDdEIsT0FBTyxnQkFBZ0IsS0FBSyxRQUFRLElBQUksQ0FDdkMsOEJBQUMsaUJBQU8sSUFDTixPQUFPLEVBQUUsY0FBTSxPQUFBLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBbkIsQ0FBbUIsRUFDbEMsTUFBTSxFQUFFLE1BQU0sRUFDZCxVQUFVLEVBQUUsVUFBVSxFQUN0QixVQUFVLEVBQUUsZ0JBQWdCLEVBQzVCLE1BQU0sRUFBRSxNQUFNLEdBQ2QsQ0FDSCxDQUNBLENBQ0osQ0FBQztBQUNKLENBQUM7QUFFRCxrQkFBZSxZQUFZLENBQUMifQ==
@@ -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,27 @@
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
+ var react_1 = __importDefault(require("react"));
8
+ var image_gallery_1 = __importDefault(require("./image-gallery"));
9
+ var 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
+ var 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(function (src) { return (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;
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZ2FsbGVyeS5zdG9yaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ltYWdlLWdhbGxlcnkvaW1hZ2UtZ2FsbGVyeS5zdG9yaWVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxnREFBMEI7QUFDMUIsa0VBQTJDO0FBQzNDLGtEQUE0QjtBQUU1QixrQkFBZTtJQUNiLEtBQUssRUFBRSxrQkFBa0I7SUFDekIsU0FBUyxFQUFFLHVCQUFZO0lBQ3ZCLFVBQVUsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsRUFBRTtDQUNwRCxDQUFDO0FBRUYsSUFBTSxNQUFNLEdBQUc7SUFDYixzQ0FBc0M7SUFDdEMsaUdBQWlHO0lBQ2pHLGlHQUFpRztJQUNqRyxnR0FBZ0c7SUFDaEcsZ0dBQWdHO0NBQ2pHLENBQUM7QUFFRixTQUFnQixPQUFPO0lBQ3JCLE9BQU8sQ0FDTCw4QkFBQyx1QkFBWTtRQUNYLHVDQUFLLFNBQVMsRUFBQywyQkFBMkIsSUFDdkMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxVQUFDLEdBQUcsSUFBSyxPQUFBLENBQ25CLDhCQUFDLGVBQUssSUFDSixHQUFHLEVBQUUsR0FBRyxFQUNSLEdBQUcsRUFBRSxHQUFHLEVBQ1IsU0FBUyxFQUFDLDRFQUE0RSxHQUN0RixDQUNILEVBTm9CLENBTXBCLENBQUMsQ0FDRSxDQUNPLENBQ2hCLENBQUM7QUFDSixDQUFDO0FBZEQsMEJBY0MifQ==
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { ImageGalleryImageProps } from "@uxf/ui/image-gallery/types";
3
+ declare function Image(props: ImageGalleryImageProps): JSX.Element;
4
+ export default Image;
@@ -0,0 +1,13 @@
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
+ var react_1 = __importDefault(require("react"));
7
+ var use_image_1 = require("./use-image");
8
+ function Image(props) {
9
+ var 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: function () { return openGallery(props); } }));
11
+ }
12
+ exports.default = Image;
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW1hZ2UtZ2FsbGVyeS9pbWFnZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnREFBMEI7QUFDMUIseUNBQXVDO0FBR3ZDLFNBQVMsS0FBSyxDQUFDLEtBQTZCO0lBQzFDLElBQU0sV0FBVyxHQUFHLElBQUEsb0JBQVEsRUFBQyxLQUFLLENBQUMsQ0FBQztJQUVwQyxPQUFPLENBQ0wsdUNBQ0UsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHLEVBQ2QsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHLEVBQ2QsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQ2xCLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUyxFQUMxQixPQUFPLEVBQUUsY0FBTSxPQUFBLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBbEIsQ0FBa0IsR0FDakMsQ0FDSCxDQUFDO0FBQ0osQ0FBQztBQUVELGtCQUFlLEtBQUssQ0FBQyJ9
@@ -0,0 +1,3 @@
1
+ export { default as Image } from "./image";
2
+ export { default as ImageGallery } from "./image-gallery";
3
+ export * from "./use-image";
@@ -0,0 +1,26 @@
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);
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW1hZ2UtZ2FsbGVyeS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlDQUEyQztBQUFsQywrR0FBQSxPQUFPLE9BQVM7QUFDekIsaURBQTBEO0FBQWpELDhIQUFBLE9BQU8sT0FBZ0I7QUFDaEMsOENBQTRCIn0=
@@ -0,0 +1,6 @@
1
+ export interface ImageGalleryImageProps {
2
+ src: string;
3
+ title?: string;
4
+ alt?: string;
5
+ className?: string;
6
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW1hZ2UtZ2FsbGVyeS90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -0,0 +1,2 @@
1
+ import { ImageGalleryImageProps } from "./types";
2
+ export declare function useImage(props: ImageGalleryImageProps): (props: ImageGalleryImageProps) => void;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useImage = void 0;
4
+ var react_1 = require("react");
5
+ var context_1 = require("./context");
6
+ function useImage(props) {
7
+ var _a = (0, context_1.useImageGalleryContext)(), registerImage = _a.registerImage, unregisterImage = _a.unregisterImage, openGallery = _a.openGallery;
8
+ (0, react_1.useEffect)(function () {
9
+ registerImage(props);
10
+ return function () {
11
+ unregisterImage(props);
12
+ };
13
+ }, [props]);
14
+ return openGallery;
15
+ }
16
+ exports.useImage = useImage;
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWltYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ltYWdlLWdhbGxlcnkvdXNlLWltYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtCQUFrQztBQUNsQyxxQ0FBbUQ7QUFHbkQsU0FBZ0IsUUFBUSxDQUFDLEtBQTZCO0lBQzlDLElBQUEsS0FDSixJQUFBLGdDQUFzQixHQUFFLEVBRGxCLGFBQWEsbUJBQUEsRUFBRSxlQUFlLHFCQUFBLEVBQUUsV0FBVyxpQkFDekIsQ0FBQztJQUUzQixJQUFBLGlCQUFTLEVBQUM7UUFDUixhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsT0FBTztZQUNMLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUM7SUFDSixDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBRVosT0FBTyxXQUFXLENBQUM7QUFDckIsQ0FBQztBQVpELDRCQVlDIn0=
@@ -0,0 +1,6 @@
1
+ export { default as Input } from "./input";
2
+ export { default as InputGroup } from "./input-group";
3
+ export { default as InputLeftElement } from "./input-left-element";
4
+ export { default as InputRightElement } from "./input-right-element";
5
+ export { default as InputLeftAddon } from "./input-left-addon";
6
+ export { default as InputRightAddon } from "./input-right-addon";
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.InputRightAddon = exports.InputLeftAddon = exports.InputRightElement = exports.InputLeftElement = exports.InputGroup = exports.Input = void 0;
7
+ var input_1 = require("./input");
8
+ Object.defineProperty(exports, "Input", { enumerable: true, get: function () { return __importDefault(input_1).default; } });
9
+ var input_group_1 = require("./input-group");
10
+ Object.defineProperty(exports, "InputGroup", { enumerable: true, get: function () { return __importDefault(input_group_1).default; } });
11
+ var input_left_element_1 = require("./input-left-element");
12
+ Object.defineProperty(exports, "InputLeftElement", { enumerable: true, get: function () { return __importDefault(input_left_element_1).default; } });
13
+ var input_right_element_1 = require("./input-right-element");
14
+ Object.defineProperty(exports, "InputRightElement", { enumerable: true, get: function () { return __importDefault(input_right_element_1).default; } });
15
+ var input_left_addon_1 = require("./input-left-addon");
16
+ Object.defineProperty(exports, "InputLeftAddon", { enumerable: true, get: function () { return __importDefault(input_left_addon_1).default; } });
17
+ var input_right_addon_1 = require("./input-right-addon");
18
+ Object.defineProperty(exports, "InputRightAddon", { enumerable: true, get: function () { return __importDefault(input_right_addon_1).default; } });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5wdXQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsaUNBQTJDO0FBQWxDLCtHQUFBLE9BQU8sT0FBUztBQUN6Qiw2Q0FBc0Q7QUFBN0MsMEhBQUEsT0FBTyxPQUFjO0FBQzlCLDJEQUFtRTtBQUExRCx1SUFBQSxPQUFPLE9BQW9CO0FBQ3BDLDZEQUFxRTtBQUE1RCx5SUFBQSxPQUFPLE9BQXFCO0FBQ3JDLHVEQUErRDtBQUF0RCxtSUFBQSxPQUFPLE9BQWtCO0FBQ2xDLHlEQUFpRTtBQUF4RCxxSUFBQSxPQUFPLE9BQW1CIn0=
@@ -0,0 +1,9 @@
1
+ import { ReactNode } from "react";
2
+ import { InputGroupSizes, InputGroupVariants } from "@uxf/ui/input/theme";
3
+ interface InputGroupProps {
4
+ children: ReactNode;
5
+ variant?: keyof InputGroupVariants;
6
+ size?: keyof InputGroupSizes;
7
+ }
8
+ declare function InputGroup(props: InputGroupProps): JSX.Element;
9
+ export default InputGroup;