pixelize-design-library 2.0.21 → 2.1.1

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.
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { FileUploaderProps } from "./FileUploadProps";
3
+ declare const FileUpload: React.FC<FileUploaderProps>;
4
+ export default FileUpload;
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ var react_1 = __importStar(require("react"));
38
+ var react_2 = require("@chakra-ui/react");
39
+ var react_dropzone_1 = require("react-dropzone");
40
+ var lucide_react_1 = require("lucide-react");
41
+ var useCustomTheme_1 = require("../../Theme/useCustomTheme");
42
+ var constants_1 = require("./constants");
43
+ var FileUpload = function (_a) {
44
+ var _b, _c, _d, _e;
45
+ var onFilesUploaded = _a.onFilesUploaded, uploadedFiles = _a.uploadedFiles, onRemoveFile = _a.onRemoveFile, _f = _a.acceptTypes, acceptTypes = _f === void 0 ? [".jpg", ".png"] : _f, _g = _a.maxSizeKB, maxSizeKB = _g === void 0 ? 5 : _g, _h = _a.maxFiles, maxFiles = _h === void 0 ? undefined : _h;
46
+ var colors = (0, useCustomTheme_1.useCustomTheme)().colors;
47
+ var _j = react_1.default.useState([]), errors = _j[0], setErrors = _j[1];
48
+ var bg = (_b = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _b === void 0 ? void 0 : _b[50];
49
+ var border = (_c = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _c === void 0 ? void 0 : _c[300];
50
+ var mappedAccept = acceptTypes.reduce(function (acc, ext) {
51
+ var mime = constants_1.mimeMap[ext];
52
+ if (mime) {
53
+ acc[mime] = []; // File dropzone format
54
+ }
55
+ return acc;
56
+ }, {});
57
+ var onDrop = (0, react_1.useCallback)(function (acceptedFiles) {
58
+ setErrors([]);
59
+ var totalFiles = uploadedFiles.length + acceptedFiles.length;
60
+ if (maxFiles && totalFiles > maxFiles) {
61
+ setErrors([
62
+ "Maximum ".concat(maxFiles, " files allowed. You already uploaded ").concat(uploadedFiles.length, "."),
63
+ ]);
64
+ return;
65
+ }
66
+ onFilesUploaded(acceptedFiles);
67
+ }, [onFilesUploaded, uploadedFiles, maxFiles]);
68
+ var _k = (0, react_dropzone_1.useDropzone)({
69
+ onDrop: onDrop,
70
+ accept: mappedAccept,
71
+ maxSize: maxSizeKB * 1024,
72
+ maxFiles: maxFiles,
73
+ onDropRejected: function (rejectedFiles) {
74
+ var messages = rejectedFiles.flatMap(function (rejected) {
75
+ return rejected.errors.map(function (err) {
76
+ if (err.code === "file-too-large") {
77
+ return "File \"".concat(rejected.file.name, "\" is too large. Max size is ").concat((0, constants_1.toMB)(maxSizeKB), ".");
78
+ }
79
+ else if (err.code === "file-invalid-type") {
80
+ return "File \"".concat(rejected.file.name, "\" is not an accepted file type.");
81
+ }
82
+ else {
83
+ return "File \"".concat(rejected.file.name, "\" was rejected: ").concat(err.message);
84
+ }
85
+ });
86
+ });
87
+ setErrors(messages);
88
+ },
89
+ }), getRootProps = _k.getRootProps, getInputProps = _k.getInputProps;
90
+ return (react_1.default.createElement(react_2.VStack, { spacing: 4, align: "stretch" },
91
+ react_1.default.createElement(react_2.Box, __assign({}, getRootProps(), { border: "2px dashed", borderColor: border, borderRadius: "md", p: 10, textAlign: "center", bg: bg, cursor: "pointer", transition: "all 0.2s", _hover: { bg: (_d = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _d === void 0 ? void 0 : _d[100] } }),
92
+ react_1.default.createElement("input", __assign({}, getInputProps())),
93
+ react_1.default.createElement(react_2.VStack, { spacing: 2 },
94
+ react_1.default.createElement(react_2.Icon, { as: lucide_react_1.Upload, boxSize: 6 }),
95
+ react_1.default.createElement(react_2.Text, { fontWeight: "medium" }, "Drag and drop files here"),
96
+ react_1.default.createElement(react_2.Text, { fontSize: "sm", color: (_e = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _e === void 0 ? void 0 : _e[500] },
97
+ acceptTypes.join(", "),
98
+ " up to ",
99
+ (0, constants_1.toMB)(maxSizeKB),
100
+ " ",
101
+ maxFiles ? "- ".concat(maxFiles, " file(s) max") : ""))),
102
+ errors.length > 0 && (react_1.default.createElement(react_2.Box, null, errors.map(function (err, idx) {
103
+ var _a;
104
+ return (react_1.default.createElement(react_2.Text, { key: idx, fontSize: "sm", color: (_a = colors === null || colors === void 0 ? void 0 : colors.red) === null || _a === void 0 ? void 0 : _a[600] }, err));
105
+ }))),
106
+ uploadedFiles.length > 0 && (react_1.default.createElement(react_2.Box, null,
107
+ react_1.default.createElement(react_2.Box, { display: "flex", alignItems: "center", gap: 2 },
108
+ react_1.default.createElement(react_2.Text, { fontFamily: "open-sans, sans-serif", fontWeight: 600, fontSize: 14, lineHeight: "100%", letterSpacing: "4%", textTransform: "uppercase", py: 4 }, "Uploaded Files")),
109
+ react_1.default.createElement(react_2.List, { spacing: 2 }, uploadedFiles.map(function (file, index) {
110
+ var _a, _b, _c;
111
+ return (react_1.default.createElement(react_2.ListItem, { key: index, display: "flex", justifyContent: "space-between", alignItems: "center", borderWidth: "0.063rem", borderRadius: "md", px: 3, py: 2, bg: colors === null || colors === void 0 ? void 0 : colors.white },
112
+ react_1.default.createElement(react_2.HStack, { spacing: 3, flex: "1" },
113
+ file.type.startsWith("image/") ? (react_1.default.createElement(react_2.Box, { boxSize: "40px" },
114
+ react_1.default.createElement("img", { src: URL.createObjectURL(file), alt: file.name, style: {
115
+ width: "100%",
116
+ height: "100%",
117
+ objectFit: "cover",
118
+ borderRadius: "0.25rem",
119
+ } }))) : (react_1.default.createElement(react_2.ListIcon, { as: lucide_react_1.FileText, color: (_a = colors === null || colors === void 0 ? void 0 : colors.blue) === null || _a === void 0 ? void 0 : _a[500], boxSize: 8 })),
120
+ react_1.default.createElement(react_2.VStack, { align: "start", spacing: 0, flex: "1" },
121
+ react_1.default.createElement(react_2.Text, { fontSize: "sm", noOfLines: 1 }, file.name),
122
+ react_1.default.createElement(react_2.Text, { fontSize: "xs", color: (_b = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _b === void 0 ? void 0 : _b[500] },
123
+ (0, constants_1.toMB)(file.size / 1024),
124
+ " \u2022",
125
+ " ",
126
+ file.type || "Unknown type"))),
127
+ onRemoveFile && (react_1.default.createElement(react_2.CloseButton, { onClick: function () { return onRemoveFile(file); }, size: "sm", color: (_c = colors === null || colors === void 0 ? void 0 : colors.red) === null || _c === void 0 ? void 0 : _c[600] }))));
128
+ }))))));
129
+ };
130
+ exports.default = FileUpload;
@@ -0,0 +1,10 @@
1
+ export type MimeExtension = '.jpg' | '.jpeg' | '.png' | '.gif' | '.webp' | '.svg' | '.pdf' | '.doc' | '.docx' | '.xls' | '.xlsx' | '.ppt' | '.pptx' | '.txt' | '.mp4' | '.mov' | '.mp3' | '.wav' | '.zip' | '.rar' | '.7z';
2
+ export type MimeMap = Record<MimeExtension, string>;
3
+ export type FileUploaderProps = {
4
+ onFilesUploaded: (files: File[]) => void;
5
+ uploadedFiles: File[];
6
+ onRemoveFile?: (file: File) => void;
7
+ acceptTypes?: MimeExtension[];
8
+ maxSizeKB?: number;
9
+ maxFiles?: number;
10
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,3 @@
1
+ import { MimeMap } from "./FileUploadProps";
2
+ export declare const mimeMap: MimeMap;
3
+ export declare const toMB: (size: number) => string;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toMB = exports.mimeMap = void 0;
4
+ exports.mimeMap = {
5
+ '.jpg': 'image/jpeg',
6
+ '.jpeg': 'image/jpeg',
7
+ '.png': 'image/png',
8
+ '.gif': 'image/gif',
9
+ '.webp': 'image/webp',
10
+ '.svg': 'image/svg+xml',
11
+ '.pdf': 'application/pdf',
12
+ '.doc': 'application/msword',
13
+ '.docx': 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
14
+ '.xls': 'application/vnd.ms-excel',
15
+ '.xlsx': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
16
+ '.ppt': 'application/vnd.ms-powerpoint',
17
+ '.pptx': 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
18
+ '.txt': 'text/plain',
19
+ '.mp4': 'video/mp4',
20
+ '.mov': 'video/quicktime',
21
+ '.mp3': 'audio/mpeg',
22
+ '.wav': 'audio/wav',
23
+ '.zip': 'application/zip',
24
+ '.rar': 'application/vnd.rar',
25
+ '.7z': 'application/x-7z-compressed',
26
+ };
27
+ var toMB = function (size) { return "".concat((size / 1024).toFixed(2), " MB"); };
28
+ exports.toMB = toMB;
@@ -0,0 +1,4 @@
1
+ import { FC } from "react";
2
+ import { HeaderProps } from "./HeaderProps";
3
+ declare const Header: FC<HeaderProps>;
4
+ export default Header;
@@ -0,0 +1,57 @@
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 react_1 = require("@chakra-ui/react");
30
+ var lucide_react_1 = require("lucide-react");
31
+ var react_2 = __importStar(require("react"));
32
+ var useCustomTheme_1 = require("../../Theme/useCustomTheme");
33
+ var desktopMenu_1 = __importDefault(require("./components/desktopMenu"));
34
+ var mobileMenu_1 = __importDefault(require("./components/mobileMenu"));
35
+ var Header = function (_a) {
36
+ var _b, _c, _d, _e, _f, _g, _h, _j;
37
+ var logo = _a.logo, menuItems = _a.menuItems, rightSlot = _a.rightSlot, active = _a.active, colors = _a.colors;
38
+ var _k = (0, react_1.useDisclosure)(), isOpen = _k.isOpen, onOpen = _k.onOpen, onClose = _k.onClose;
39
+ var _l = (0, react_2.useState)(null), hoveredMenu = _l[0], setHoveredMenu = _l[1];
40
+ var themeColor = (0, useCustomTheme_1.useCustomTheme)().colors;
41
+ var bg = (_b = colors === null || colors === void 0 ? void 0 : colors.bg) !== null && _b !== void 0 ? _b : (_c = themeColor === null || themeColor === void 0 ? void 0 : themeColor.gray) === null || _c === void 0 ? void 0 : _c[700];
42
+ var color = (_d = colors === null || colors === void 0 ? void 0 : colors.color) !== null && _d !== void 0 ? _d : (_e = themeColor === null || themeColor === void 0 ? void 0 : themeColor.background) === null || _e === void 0 ? void 0 : _e[100];
43
+ var activeBg = (_f = colors === null || colors === void 0 ? void 0 : colors.active) !== null && _f !== void 0 ? _f : (_g = themeColor === null || themeColor === void 0 ? void 0 : themeColor.primary) === null || _g === void 0 ? void 0 : _g[400];
44
+ var hoverBg = (_h = colors === null || colors === void 0 ? void 0 : colors.hover) !== null && _h !== void 0 ? _h : (_j = themeColor === null || themeColor === void 0 ? void 0 : themeColor.gray) === null || _j === void 0 ? void 0 : _j[500];
45
+ var isActive = function (href) { return href && active === href; };
46
+ return (react_2.default.createElement(react_1.Box, { bg: bg, color: color, px: 4, shadow: "md",
47
+ // position="sticky"
48
+ // top="0"
49
+ zIndex: 1000 },
50
+ react_2.default.createElement(react_1.Flex, { h: 16, align: "center", mx: "auto" },
51
+ react_2.default.createElement(react_1.Box, { cursor: "pointer" }, logo),
52
+ react_2.default.createElement(desktopMenu_1.default, { menuItems: menuItems, rightSlot: rightSlot, setHoveredMenu: setHoveredMenu, isActive: isActive, activeBg: activeBg, hoveredMenu: hoveredMenu, hoverBg: hoverBg, color: color }),
53
+ react_2.default.createElement(react_1.HStack, { spacing: 4, display: { base: "none", md: "flex" } }, rightSlot),
54
+ react_2.default.createElement(react_1.IconButton, { variant: "unstyled", icon: react_2.default.createElement(react_1.Box, { display: "flex", alignItems: "center", justifyContent: "center", w: "full", h: "full" }, isOpen ? react_2.default.createElement(lucide_react_1.X, { size: 20 }) : react_2.default.createElement(lucide_react_1.MenuIcon, { size: 20 })), "aria-label": "Toggle Menu", display: { md: "none" }, onClick: isOpen ? onClose : onOpen })),
55
+ react_2.default.createElement(mobileMenu_1.default, { menuItems: menuItems, isOpen: isOpen, isActive: isActive, hoverBg: hoverBg, activeBg: activeBg, color: color, rightSlot: rightSlot })));
56
+ };
57
+ exports.default = Header;
@@ -0,0 +1,44 @@
1
+ /// <reference types="react" />
2
+ type SubItem = {
3
+ label: string;
4
+ href: string;
5
+ badge?: {
6
+ label: string;
7
+ colorScheme?: "blue" | "cyan" | "gray" | "green" | "orange" | "pink" | "purple" | "red" | "teal" | "yellow" | "whiteAlpha" | "blackAlpha" | undefined;
8
+ };
9
+ onClick?: () => void;
10
+ };
11
+ type MenuItemProp = {
12
+ label: string;
13
+ href?: string;
14
+ badge?: {
15
+ label: string;
16
+ colorScheme?: "blue" | "cyan" | "gray" | "green" | "orange" | "pink" | "purple" | "red" | "teal" | "yellow" | "whiteAlpha" | "blackAlpha" | undefined;
17
+ };
18
+ onClick?: () => void;
19
+ children?: SubItem[];
20
+ };
21
+ export type HeaderProps = {
22
+ logo: React.ReactNode;
23
+ menuItems: MenuItemProp[];
24
+ rightSlot?: React.ReactNode;
25
+ active?: string;
26
+ colors?: {
27
+ bg: string;
28
+ color: string;
29
+ active: string;
30
+ hover: string;
31
+ };
32
+ };
33
+ export type DesktopMenuProps = Pick<HeaderProps, "menuItems" | "rightSlot"> & {
34
+ setHoveredMenu: (menu: string | null) => void;
35
+ isActive: (href?: string) => boolean | "" | undefined;
36
+ activeBg: string;
37
+ hoveredMenu: string | null;
38
+ hoverBg: string;
39
+ color: string;
40
+ };
41
+ export type MobileMenuProps = Pick<HeaderProps, 'menuItems' | 'rightSlot'> & Pick<DesktopMenuProps, 'isActive' | 'activeBg' | 'color' | 'hoverBg'> & {
42
+ isOpen: boolean;
43
+ };
44
+ export {};
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { DesktopMenuProps } from "../HeaderProps";
3
+ declare const DesktopMenu: ({ menuItems, rightSlot, setHoveredMenu, isActive, activeBg, hoveredMenu, hoverBg, color, }: DesktopMenuProps) => React.JSX.Element;
4
+ export default DesktopMenu;
@@ -0,0 +1,33 @@
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 = require("@chakra-ui/react");
7
+ var lucide_react_1 = require("lucide-react");
8
+ var react_2 = __importDefault(require("react"));
9
+ var useCustomTheme_1 = require("../../../Theme/useCustomTheme");
10
+ var DesktopMenu = function (_a) {
11
+ var menuItems = _a.menuItems, rightSlot = _a.rightSlot, setHoveredMenu = _a.setHoveredMenu, isActive = _a.isActive, activeBg = _a.activeBg, hoveredMenu = _a.hoveredMenu, hoverBg = _a.hoverBg, color = _a.color;
12
+ var colors = (0, useCustomTheme_1.useCustomTheme)().colors;
13
+ return (react_2.default.createElement(react_1.HStack, { spacing: 6, align: "center", display: { base: "none", md: "flex" }, mx: rightSlot ? "auto" : 0 }, menuItems.map(function (item) {
14
+ var _a, _b, _c, _d;
15
+ var hasChildren = !!item.children;
16
+ var isHovered = hoveredMenu === item.label;
17
+ return (react_2.default.createElement(react_1.Box, { key: item.label, position: "relative", onMouseEnter: function () { return hasChildren && setHoveredMenu(item.label); }, onMouseLeave: function () { return hasChildren && setHoveredMenu(null); } },
18
+ react_2.default.createElement(react_1.Button, { variant: "ghost", onClick: item.onClick, rightIcon: hasChildren ? react_2.default.createElement(lucide_react_1.ChevronDown, { size: 14 }) : undefined, bg: isActive(item.href) ? activeBg : "transparent", _hover: { bg: hoverBg }, color: color },
19
+ react_2.default.createElement(react_1.VStack, { spacing: 0 },
20
+ item.badge && (react_2.default.createElement(react_1.Badge, { colorScheme: (_b = (_a = item === null || item === void 0 ? void 0 : item.badge) === null || _a === void 0 ? void 0 : _a.colorScheme) !== null && _b !== void 0 ? _b : "blue", fontSize: "0.6em" }, (_c = item.badge) === null || _c === void 0 ? void 0 : _c.label)),
21
+ react_2.default.createElement(react_1.Text, null, item.label))),
22
+ hasChildren && (react_2.default.createElement(react_1.Collapse, { in: isHovered, animateOpacity: true },
23
+ react_2.default.createElement(react_1.Box, { position: "absolute", top: "100%", bg: colors === null || colors === void 0 ? void 0 : colors.white, color: colors === null || colors === void 0 ? void 0 : colors.black, rounded: "md", shadow: "md", minW: "10rem", zIndex: 10 },
24
+ react_2.default.createElement(react_1.Stack, { spacing: 1, p: 2 }, (_d = item.children) === null || _d === void 0 ? void 0 : _d.map(function (subItem) {
25
+ var _a, _b, _c;
26
+ return (react_2.default.createElement(react_1.Button, { key: subItem.label, onClick: subItem.onClick, variant: "ghost", justifyContent: "flex-start", w: "full", bg: isActive(subItem.href) ? activeBg : "transparent", _hover: { bg: hoverBg } },
27
+ react_2.default.createElement(react_1.VStack, { spacing: 0, align: "start" },
28
+ subItem.badge && (react_2.default.createElement(react_1.Badge, { colorScheme: (_b = (_a = subItem === null || subItem === void 0 ? void 0 : subItem.badge) === null || _a === void 0 ? void 0 : _a.colorScheme) !== null && _b !== void 0 ? _b : "blue", fontSize: "0.6em", alignItems: "end" }, (_c = subItem.badge) === null || _c === void 0 ? void 0 : _c.label)),
29
+ react_2.default.createElement(react_1.Text, null, subItem.label))));
30
+ })))))));
31
+ })));
32
+ };
33
+ exports.default = DesktopMenu;
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { MobileMenuProps } from "../HeaderProps";
3
+ declare const MobileMenu: ({ menuItems, isOpen, isActive, hoverBg, activeBg, color, rightSlot, }: MobileMenuProps) => React.JSX.Element;
4
+ export default MobileMenu;
@@ -0,0 +1,32 @@
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 = require("@chakra-ui/react");
7
+ var react_2 = __importDefault(require("react"));
8
+ var MobileMenu = function (_a) {
9
+ var menuItems = _a.menuItems, isOpen = _a.isOpen, isActive = _a.isActive, hoverBg = _a.hoverBg, activeBg = _a.activeBg, color = _a.color, rightSlot = _a.rightSlot;
10
+ return (react_2.default.createElement(react_1.Collapse, { in: isOpen, animateOpacity: true },
11
+ react_2.default.createElement(react_1.Box, { pb: 4, display: { md: "none" } },
12
+ react_2.default.createElement(react_1.Stack, { spacing: 4 },
13
+ menuItems.map(function (item) {
14
+ var _a, _b, _c, _d, _e;
15
+ return item.children ? (react_2.default.createElement(react_1.Box, { key: item.label, px: 2 },
16
+ react_2.default.createElement(react_1.VStack, { spacing: 0, align: "start" },
17
+ item.badge && (react_2.default.createElement(react_1.Badge, { colorScheme: (_b = (_a = item === null || item === void 0 ? void 0 : item.badge) === null || _a === void 0 ? void 0 : _a.colorScheme) !== null && _b !== void 0 ? _b : "blue", fontSize: "0.6em" }, item.badge.label)),
18
+ react_2.default.createElement(react_1.Text, { fontWeight: "medium" }, item.label)),
19
+ react_2.default.createElement(react_1.Stack, { pl: 4, mt: 1 }, item.children.map(function (subItem) {
20
+ var _a, _b, _c;
21
+ return (react_2.default.createElement(react_1.Button, { key: subItem.label, onClick: subItem.onClick, variant: "ghost", w: "full", justifyContent: "flex-start", color: color, bg: isActive(subItem.href) ? activeBg : "transparent", _hover: { bg: hoverBg } },
22
+ react_2.default.createElement(react_1.VStack, { spacing: 0, align: "start" },
23
+ subItem.badge && (react_2.default.createElement(react_1.Badge, { colorScheme: (_b = (_a = subItem === null || subItem === void 0 ? void 0 : subItem.badge) === null || _a === void 0 ? void 0 : _a.colorScheme) !== null && _b !== void 0 ? _b : "blue", fontSize: "0.6em" }, (_c = subItem.badge) === null || _c === void 0 ? void 0 : _c.label)),
24
+ react_2.default.createElement(react_1.Text, null, subItem.label))));
25
+ })))) : (react_2.default.createElement(react_1.Button, { key: item.label, onClick: item.onClick, variant: "ghost", w: "full", justifyContent: "flex-start", color: color, bg: isActive(item.href) ? activeBg : "transparent", _hover: { bg: hoverBg } },
26
+ react_2.default.createElement(react_1.VStack, { spacing: 0, align: "start" },
27
+ item.badge && (react_2.default.createElement(react_1.Badge, { colorScheme: (_d = (_c = item === null || item === void 0 ? void 0 : item.badge) === null || _c === void 0 ? void 0 : _c.colorScheme) !== null && _d !== void 0 ? _d : "blue", fontSize: "0.6em" }, (_e = item.badge) === null || _e === void 0 ? void 0 : _e.label)),
28
+ react_2.default.createElement(react_1.Text, null, item.label))));
29
+ }),
30
+ rightSlot && react_2.default.createElement(react_1.Box, { mt: 4 }, rightSlot)))));
31
+ };
32
+ exports.default = MobileMenu;
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { ReorderItem, ReorderListProps } from "./ReorderProps";
3
+ declare const ReorderList: <T extends ReorderItem>({ label, items, onReorder, }: ReorderListProps<T>) => JSX.Element;
4
+ export default ReorderList;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ var react_1 = __importDefault(require("react"));
18
+ var react_2 = require("@chakra-ui/react");
19
+ var dnd_1 = require("@hello-pangea/dnd");
20
+ var lucide_react_1 = require("lucide-react");
21
+ var useCustomTheme_1 = require("../../Theme/useCustomTheme");
22
+ var ReorderList = function (_a) {
23
+ var _b = _a.label, label = _b === void 0 ? "" : _b, items = _a.items, onReorder = _a.onReorder;
24
+ var colors = (0, useCustomTheme_1.useCustomTheme)().colors;
25
+ var handleDragEnd = function (result) {
26
+ if (!result.destination)
27
+ return;
28
+ var reordered = Array.from(items);
29
+ var moved = reordered.splice(result.source.index, 1)[0];
30
+ reordered.splice(result.destination.index, 0, moved);
31
+ onReorder(reordered);
32
+ };
33
+ return (react_1.default.createElement(react_2.Box, { borderWidth: "0.063rem", borderRadius: "md", px: 3, py: 2, bg: colors === null || colors === void 0 ? void 0 : colors.white },
34
+ react_1.default.createElement(react_2.Box, { display: "flex", alignItems: "center", gap: 2 },
35
+ react_1.default.createElement(lucide_react_1.BetweenHorizonalStart, null),
36
+ react_1.default.createElement(react_2.Text, { fontFamily: "open-sans, sans-serif", fontWeight: 600, fontSize: 14, lineHeight: "100%", letterSpacing: "4%", textTransform: "uppercase", py: 4 }, label)),
37
+ react_1.default.createElement(react_2.Divider, null),
38
+ react_1.default.createElement("br", null),
39
+ react_1.default.createElement(dnd_1.DragDropContext, { onDragEnd: handleDragEnd },
40
+ react_1.default.createElement(dnd_1.Droppable, { droppableId: "item-list", direction: "horizontal" }, function (provided) { return (react_1.default.createElement(react_2.HStack, __assign({ ref: provided.innerRef }, provided.droppableProps, { spacing: 4, overflowX: "auto" }),
41
+ items.map(function (item, index) { return (react_1.default.createElement(dnd_1.Draggable, { key: item.id, draggableId: item.id, index: index }, function (provided) {
42
+ var _a, _b, _c;
43
+ return (react_1.default.createElement(react_2.Box, __assign({ ref: provided.innerRef }, provided.draggableProps, provided.dragHandleProps, { position: "relative", border: "0.063rem solid", borderColor: (_a = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _a === void 0 ? void 0 : _a[300], borderRadius: "md", overflow: "hidden" }),
44
+ react_1.default.createElement(react_2.Image, { src: item.previewUrl, alt: (_b = item.name) !== null && _b !== void 0 ? _b : "item-".concat(index), boxSize: "7.5rem", objectFit: "cover" }),
45
+ react_1.default.createElement(react_2.IconButton, { icon: react_1.default.createElement(lucide_react_1.GripVertical, { size: 16, color: (_c = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _c === void 0 ? void 0 : _c[500] }), "aria-label": "Drag", size: "sm", position: "absolute", top: 1, left: 1, variant: "ghost" }),
46
+ react_1.default.createElement(react_2.Badge, { position: "absolute", colorScheme: "gray", variant: "solid", bottom: 1, right: 1 }, index + 1)));
47
+ })); }),
48
+ provided.placeholder)); }))));
49
+ };
50
+ exports.default = ReorderList;
@@ -0,0 +1,10 @@
1
+ export interface ReorderItem {
2
+ id: string;
3
+ previewUrl: string;
4
+ name?: string;
5
+ }
6
+ export interface ReorderListProps<T extends ReorderItem> {
7
+ label?: string;
8
+ items: T[];
9
+ onReorder: (items: T[]) => void;
10
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -82,9 +82,7 @@ var SearchSelect = function (_a) {
82
82
  : normalizeSingleValue(value)
83
83
  ? [normalizeSingleValue(value)]
84
84
  : [];
85
- var filteredOptions = options.filter(function (option) {
86
- return option.label.toLowerCase().includes(inputValue.toLowerCase());
87
- });
85
+ var filteredOptions = options.filter(function (option) { var _a, _b; return (_b = (_a = option === null || option === void 0 ? void 0 : option.label) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === null || _b === void 0 ? void 0 : _b.includes(inputValue === null || inputValue === void 0 ? void 0 : inputValue.toLowerCase()); });
88
86
  (0, react_1.useEffect)(function () {
89
87
  var delayDebounce = setTimeout(function () {
90
88
  onSearch === null || onSearch === void 0 ? void 0 : onSearch(inputValue);
@@ -191,9 +189,7 @@ var SearchSelect = function (_a) {
191
189
  react_1.default.createElement(SelectTruncatedLabel_1.default, { label: (_e = (_d = insideSelect === null || insideSelect === void 0 ? void 0 : insideSelect.value) === null || _d === void 0 ? void 0 : _d.label) !== null && _e !== void 0 ? _e : "", maxWidth: (insideSelect === null || insideSelect === void 0 ? void 0 : insideSelect.width) || "6rem" }),
192
190
  customSelectOpen ? react_1.default.createElement(lucide_react_1.ChevronUp, { size: 16 }) : react_1.default.createElement(lucide_react_1.ChevronDown, { size: 16 })),
193
191
  customSelectOpen && (react_1.default.createElement(react_2.Portal, null,
194
- react_1.default.createElement(react_2.Box, { id: "custom-select-portal", position: "absolute", top: "".concat(customSelectPos.top, "px"), left: "".concat(customSelectPos.left, "px"), zIndex: 20, bg: theme.colors.white, border: "0.063rem solid", borderColor: theme.colors.gray[300], borderRadius: "md", boxShadow: "md", minW: "10rem", maxW: "38rem" }, (_f = insideSelect === null || insideSelect === void 0 ? void 0 : insideSelect.option) === null || _f === void 0 ? void 0 : _f.map(function (item) { return (react_1.default.createElement(react_2.Box, { key: item.id, display: "flex", alignItems: "center", height: "2.5rem" // height instead of vertical padding
195
- , px: "0.75rem" // light internal spacing
196
- , fontSize: "sm", _hover: { bg: theme.colors.gray[100] }, cursor: "pointer", onClick: function (e) {
192
+ react_1.default.createElement(react_2.Box, { id: "custom-select-portal", position: "absolute", top: "".concat(customSelectPos.top, "px"), left: "".concat(customSelectPos.left, "px"), zIndex: 20, bg: theme.colors.white, border: "0.063rem solid", borderColor: theme.colors.gray[300], borderRadius: "md", boxShadow: "md", minW: "10rem", maxW: "38rem" }, (_f = insideSelect === null || insideSelect === void 0 ? void 0 : insideSelect.option) === null || _f === void 0 ? void 0 : _f.map(function (item) { return (react_1.default.createElement(react_2.Box, { key: item.id, display: "flex", alignItems: "center", height: "2.5rem", px: "0.75rem", fontSize: "sm", _hover: { bg: theme.colors.gray[100] }, cursor: "pointer", onClick: function (e) {
197
193
  e.stopPropagation();
198
194
  handleCustomSelect(item);
199
195
  } }, item.label)); })))))),
@@ -202,7 +198,7 @@ var SearchSelect = function (_a) {
202
198
  ? item.label.slice(0, chip.maxText) + '…'
203
199
  : item.label, onIconClick: (chip === null || chip === void 0 ? void 0 : chip.onClick) ? function () { return handleRemove(item === null || item === void 0 ? void 0 : item.id); } : undefined, icon: (chip === null || chip === void 0 ? void 0 : chip.onClick) ? lucide_react_1.CircleX : undefined, colorScheme: "gray", size: "sm" })); })
204
200
  : selectedValues.length === 1 &&
205
- inputValue === '' && (react_1.default.createElement(react_2.Text, { fontSize: "sm", color: theme.colors.gray[800] }, selectedValues[0].label)),
201
+ inputValue === '' && (react_1.default.createElement(react_2.Box, { as: "button", type: "button", onClick: function () { return setIsOpen(true); }, fontSize: "sm", color: theme.colors.gray[800], background: "transparent", border: "none", cursor: "pointer", p: 0 }, selectedValues[0].label)),
206
202
  (chip === null || chip === void 0 ? void 0 : chip.maxChips) &&
207
203
  isMultiple &&
208
204
  selectedValues.length > chip.maxChips && (react_1.default.createElement(Tag_1.default, { key: "extra-count", label: "+ ".concat(selectedValues.length - chip.maxChips), colorScheme: "gray", size: "sm" })),
@@ -219,7 +215,6 @@ var SearchSelect = function (_a) {
219
215
  _focus: { boxShadow: 'none', bg: 'transparent' },
220
216
  } }))),
221
217
  isLoading ? (react_1.default.createElement(react_2.Spinner, { size: "sm" })) : isValidIcon(rightIcon === null || rightIcon === void 0 ? void 0 : rightIcon.icon) ? (react_1.default.createElement(react_2.IconButton, { icon: rightIcon === null || rightIcon === void 0 ? void 0 : rightIcon.icon, "aria-label": "right-icon", variant: "ghost", size: "sm", onClick: rightIcon === null || rightIcon === void 0 ? void 0 : rightIcon.onClick })) : (react_1.default.createElement(react_2.Box, { as: "button", onClick: function (e) {
222
- console.log('Toggle clicked');
223
218
  e.preventDefault();
224
219
  e.stopPropagation();
225
220
  setIsOpen(function (prev) { return !prev; });
package/dist/Layout.js CHANGED
@@ -62,6 +62,8 @@ var TInput_1 = __importDefault(require("./Pages/TInput"));
62
62
  var kanbanboard_1 = __importDefault(require("./Pages/kanbanboard"));
63
63
  var Tag_1 = __importDefault(require("./Components/Tag/Tag"));
64
64
  var lucide_react_1 = require("lucide-react");
65
+ var Header_1 = __importDefault(require("./Components/Header/Header"));
66
+ var fileUpload_1 = require("./Pages/fileUpload");
65
67
  var selectSearch_1 = __importDefault(require("./Pages/selectSearch"));
66
68
  var Layout = function () {
67
69
  var _a = (0, react_2.useState)(window.location.pathname), currentPath = _a[0], setCurrentPath = _a[1];
@@ -149,6 +151,43 @@ var Layout = function () {
149
151
  return react_2.default.createElement(TInput_1.default, null);
150
152
  case "/kanban":
151
153
  return react_2.default.createElement(kanbanboard_1.default, null);
154
+ case "/header":
155
+ return (react_2.default.createElement(Header_1.default, { logo: react_2.default.createElement(react_1.Box, { fontSize: "xl", fontWeight: "bold" }, "MyApp"),
156
+ // colorScheme="gray"
157
+ active: "/", menuItems: [
158
+ { label: "Home", href: "/" },
159
+ {
160
+ label: "Products",
161
+ // badge: {
162
+ // label: "new",
163
+ // colorScheme: "red",
164
+ // },
165
+ children: [
166
+ {
167
+ label: "AI Tools",
168
+ href: "/products/ai",
169
+ badge: {
170
+ label: "new",
171
+ colorScheme: "blackAlpha",
172
+ },
173
+ },
174
+ {
175
+ label: "APIs",
176
+ href: "/products/apis",
177
+ badge: { label: "coming soon", colorScheme: "green" },
178
+ },
179
+ ],
180
+ },
181
+ {
182
+ label: "Docs",
183
+ href: "/docs",
184
+ badge: { label: "updated", colorScheme: "yellow" },
185
+ },
186
+ ], rightSlot: react_2.default.createElement(react_2.default.Fragment, null,
187
+ react_2.default.createElement(react_1.Button, { variant: "ghost", colorScheme: "purple" }, "Login"),
188
+ react_2.default.createElement(react_1.Button, { colorScheme: "purple" }, "Sign Up")) }));
189
+ case "/upload":
190
+ return react_2.default.createElement(fileUpload_1.FileUploader, null);
152
191
  case "/tag":
153
192
  return (react_2.default.createElement(Tag_1.default, { label: "tag", icon: lucide_react_1.Home, size: "md", colorScheme: "gray", onIconClick: function () { return console.log("Icon"); }, onTagClick: function () { return console.log("Tag"); } }));
154
193
  case "/":
@@ -158,44 +197,47 @@ var Layout = function () {
158
197
  return (react_2.default.createElement("div", null,
159
198
  react_2.default.createElement("nav", null,
160
199
  react_2.default.createElement(react_1.HStack, { spacing: 3, flexWrap: "wrap", alignItems: "center" },
161
- react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/"); }, variant: "outline" }, "Home"),
162
- react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/alertdialog"); }, variant: "outline" }, "AlertDialog"),
163
- react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/accordion"); }, variant: "outline" }, "Accordion"),
200
+ react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/"); }, variant: "outline", size: "sm" }, "Home"),
201
+ react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/alertdialog"); }, variant: "outline", size: "sm" }, "AlertDialog"),
202
+ react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/accordion"); }, variant: "outline", size: "sm" }, "Accordion"),
203
+ react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/selectsearch"); }, variant: "outline", size: "sm" }, "Selectsearch"),
164
204
  react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/searchSelect"); }, variant: "outline" }, "searchSelect"),
165
205
  react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/selectSearch"); }, variant: "outline" }, "selectSearch"),
166
- react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/timeline"); }, variant: "outline" }, "Timeline"),
167
- react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/search"); }, variant: "outline" }, "Search"),
168
- react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/datepicker"); }, variant: "outline" }, "Datepicker"),
169
- react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/multiselect"); }, variant: "outline" }, "Multiselect"),
170
- react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/drawer"); }, variant: "outline" }, "Drawer"),
171
- react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/verifyEmail"); }, variant: "outline" }, "VerifyEmail"),
172
- react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/editor"); }, variant: "outline" }, "Editor"),
173
- react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/dropdown"); }, variant: "outline" }, "Dropdown"),
174
- react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/notearea"); }, variant: "outline" }, "Notearea"),
175
- react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/switch"); }, variant: "outline" }, "Switch"),
176
- react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/photoViewer"); }, variant: "outline" }, "PhotoViewer"),
177
- react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/charts"); }, variant: "outline" }, "Charts"),
178
- react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/tooltip"); }, variant: "outline" }, "Tooltip"),
179
- react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/card"); }, variant: "outline" }, "Card"),
180
- react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/pininput"); }, variant: "outline" }, "PinInputs"),
181
- react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/numberinput"); }, variant: "outline" }, "NumberInput"),
182
- react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/progressbar"); }, variant: "outline" }, "Progressbar"),
183
- react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/button"); }, variant: "outline" }, "Button"),
184
- react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/radio"); }, variant: "outline" }, "RadioButton"),
185
- react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/skeleton"); }, variant: "outline" }, "Skeleton"),
186
- react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/textarea"); }, variant: "outline" }, "Textarea"),
187
- react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/select"); }, variant: "outline" }, "Select"),
188
- react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/modal"); }, variant: "outline" }, "Modal"),
189
- react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/checkbox"); }, variant: "outline" }, "Checkbox"),
190
- react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/toster"); }, variant: "outline" }, "Toster"),
191
- react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/InputPage"); }, variant: "outline" }, "Input"),
192
- react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/table"); }, variant: "outline" }, "Table"),
193
- react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/kanban"); }, variant: "outline" }, "Kanban"),
194
- react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/tag"); }, variant: "outline" }, "Tag")),
206
+ react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/timeline"); }, variant: "outline", size: "sm" }, "Timeline"),
207
+ react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/search"); }, variant: "outline", size: "sm" }, "Search"),
208
+ react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/datepicker"); }, variant: "outline", size: "sm" }, "Datepicker"),
209
+ react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/multiselect"); }, variant: "outline", size: "sm" }, "Multiselect"),
210
+ react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/drawer"); }, variant: "outline", size: "sm" }, "Drawer"),
211
+ react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/verifyEmail"); }, variant: "outline", size: "sm" }, "VerifyEmail"),
212
+ react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/editor"); }, variant: "outline", size: "sm" }, "Editor"),
213
+ react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/dropdown"); }, variant: "outline", size: "sm" }, "Dropdown"),
214
+ react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/notearea"); }, variant: "outline", size: "sm" }, "Notearea"),
215
+ react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/switch"); }, variant: "outline", size: "sm" }, "Switch"),
216
+ react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/photoViewer"); }, variant: "outline", size: "sm" }, "PhotoViewer"),
217
+ react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/charts"); }, variant: "outline", size: "sm" }, "Charts"),
218
+ react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/tooltip"); }, variant: "outline", size: "sm" }, "Tooltip"),
219
+ react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/card"); }, variant: "outline", size: "sm" }, "Card"),
220
+ react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/pininput"); }, variant: "outline", size: "sm" }, "PinInputs"),
221
+ react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/numberinput"); }, variant: "outline", size: "sm" }, "NumberInput"),
222
+ react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/progressbar"); }, variant: "outline", size: "sm" }, "Progressbar"),
223
+ react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/button"); }, variant: "outline", size: "sm" }, "Button"),
224
+ react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/radio"); }, variant: "outline", size: "sm" }, "RadioButton"),
225
+ react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/skeleton"); }, variant: "outline", size: "sm" }, "Skeleton"),
226
+ react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/textarea"); }, variant: "outline", size: "sm" }, "Textarea"),
227
+ react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/select"); }, variant: "outline", size: "sm" }, "Select"),
228
+ react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/modal"); }, variant: "outline", size: "sm" }, "Modal"),
229
+ react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/checkbox"); }, variant: "outline", size: "sm" }, "Checkbox"),
230
+ react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/toster"); }, variant: "outline", size: "sm" }, "Toster"),
231
+ react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/InputPage"); }, variant: "outline", size: "sm" }, "Input"),
232
+ react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/table"); }, variant: "outline", size: "sm" }, "Table"),
233
+ react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/kanban"); }, variant: "outline", size: "sm" }, "Kanban"),
234
+ react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/tag"); }, variant: "outline", size: "sm" }, "Tag"),
235
+ react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/header"); }, variant: "outline", size: "sm" }, "Header"),
236
+ react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/upload"); }, variant: "outline", size: "sm" }, "File Upload")),
195
237
  react_2.default.createElement("br", null),
196
238
  react_2.default.createElement("br", null),
197
239
  react_2.default.createElement("h2", { className: "text-3xl" }, " TailWindCss"),
198
- react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/tinput"); }, variant: "outline" }, "Input"),
240
+ react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/tinput"); }, variant: "outline", size: "sm" }, "Input"),
199
241
  react_2.default.createElement("button", { onClick: function () { return switchTheme("theme2"); } }, "Switch to Theme 2")),
200
242
  react_2.default.createElement("br", null),
201
243
  react_2.default.createElement("br", null),
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const FileUploader: () => React.JSX.Element;
@@ -0,0 +1,65 @@
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 __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
26
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
27
+ if (ar || !(i in from)) {
28
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
29
+ ar[i] = from[i];
30
+ }
31
+ }
32
+ return to.concat(ar || Array.prototype.slice.call(from));
33
+ };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.FileUploader = void 0;
39
+ var react_1 = __importStar(require("react"));
40
+ var FileUpload_1 = __importDefault(require("../Components/FileUpload/FileUpload"));
41
+ var Reorder_1 = __importDefault(require("../Components/Reorder/Reorder"));
42
+ var imageList = [
43
+ { id: "1", previewUrl: "https://picsum.photos/id/1011/100", name: "Image 1" },
44
+ { id: "2", previewUrl: "https://picsum.photos/id/1012/100", name: "Image 2" },
45
+ { id: "3", previewUrl: "https://picsum.photos/id/1013/100", name: "Image 3" },
46
+ { id: "4", previewUrl: "https://picsum.photos/id/1011/100", name: "Image 1" },
47
+ ];
48
+ var FileUploader = function () {
49
+ var _a = (0, react_1.useState)([]), file = _a[0], setFile = _a[1];
50
+ var _b = (0, react_1.useState)(imageList), list = _b[0], setList = _b[1];
51
+ var handleFiles = function (files) {
52
+ setFile(files);
53
+ var uploadedImages = files.map(function (f, i) { return ({
54
+ id: "".concat(i + 11),
55
+ name: f.name,
56
+ previewUrl: URL.createObjectURL(f),
57
+ }); });
58
+ setList(__spreadArray(__spreadArray([], imageList, true), uploadedImages, true));
59
+ };
60
+ return (react_1.default.createElement(react_1.default.Fragment, null,
61
+ react_1.default.createElement(FileUpload_1.default, { onFilesUploaded: function (files) { return handleFiles(files); }, uploadedFiles: file, onRemoveFile: function (file) { return console.log("SDFSDf", file); }, acceptTypes: [".webp", ".pdf", ".zip"], maxSizeKB: 512 }),
62
+ react_1.default.createElement("br", null),
63
+ react_1.default.createElement(Reorder_1.default, { items: list, onReorder: function (files) { return setList(files); }, label: "Reorder" })));
64
+ };
65
+ exports.FileUploader = FileUploader;
@@ -87,13 +87,15 @@ var SearchSelect = function () {
87
87
  var _b = (0, react_1.useState)(rrr(1, 50)), soptions = _b[0], setSoptions = _b[1]; // initial 50
88
88
  var _c = (0, react_1.useState)(""), search = _c[0], setSearch = _c[1];
89
89
  var _d = (0, react_1.useState)(false), paginationLoading = _d[0], setpaginationLoading = _d[1];
90
- var _e = (0, react_1.useState)({ id: "3", label: "Hariharan J" }), customSelectValue = _e[0], setCustomSelectValue = _e[1];
90
+ var _e = (0, react_1.useState)({}), customSelectValue = _e[0], setCustomSelectValue = _e[1];
91
91
  return (react_1.default.createElement("div", null,
92
92
  react_1.default.createElement(SearchSelect_1.default
93
93
  // width={"250px"}
94
94
  , {
95
95
  // width={"250px"}
96
- label: "Users", id: "user-select", options: soptions, value: selectedOptions, isMultiple: true, onSelect: function (val) {
96
+ label: "Users", id: "user-select", options: soptions, value: selectedOptions,
97
+ // isMultiple
98
+ onSelect: function (val) {
97
99
  console.log("val", val);
98
100
  setselectedOptions(val);
99
101
  }, onSearch: function (query) { return setSearch(query); }, searchQuery: search, isOptionLoading: false, placeholder: "Search users...", chip: {
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import "./bootstrap";
1
2
  import Accordian from "./Components/Accordion/Accordion";
2
3
  import AlertDialog from "./Components/AlertDialog/AlertDialog";
3
4
  import ApexBarChart from "./Components/Apexcharts/ApexBarChart/ApexBarChart";
@@ -11,7 +12,9 @@ import DatePicker from "./Components/DatePicker/DatePicker";
11
12
  import Drawer, { DrawerHeader, DrawerBody, DrawerFooter } from "./Components/Drawer/Drawer";
12
13
  import Dropdown from "./Components/Dropdown/DropDown";
13
14
  import Editor from "./Components/Editor/Editor";
15
+ import FileUpload from "./Components/FileUpload/FileUpload";
14
16
  import FormWrapper from "./Components/Form/FormWrapper";
17
+ import Header from "./Components/Header/Header";
15
18
  import HeaderActions from "./Components/Header/HeaderActions";
16
19
  import InputTextArea from "./Components/InputTextArea/InputTextArea";
17
20
  import KanbanBoard from "./Components/KanbanBoard/KanbanBoard";
@@ -26,6 +29,7 @@ import ProfileCard, { ProfileCardHeader, ProfileCardBody, ProfileCardFooter } fr
26
29
  import ProfilePhotoViewer from "./Components/ProfilePhotoViewer/ProfilePhotoViewer";
27
30
  import ProgressBar from "./Components/ProgressBar/ProgressBar";
28
31
  import { RadioButton, RadioButtonGroup } from "./Components/RadioButton/RadioButton";
32
+ import Reorder from "./Components/Reorder/Reorder";
29
33
  import Search from "./Components/Search/Search";
30
34
  import Select from "./Components/Select/Select";
31
35
  import SearchSelect from "./Components/SearchSelect/SearchSelect";
@@ -45,5 +49,5 @@ import withTheme from "./withTheme";
45
49
  import { useCustomTheme } from "./Theme/useCustomTheme";
46
50
  import { ThemesList } from "./Theme";
47
51
  import { debounce } from "./Utils/table";
48
- export { Accordian, AlertDialog, ApexBarChart, ApexPieChart, Breadcrumbs, Button, ButtonGroupIcon, Card, Checkbox, DatePicker, Drawer, DrawerHeader, DrawerBody, DrawerFooter, Dropdown, Editor, FormWrapper, HeaderActions, InputTextArea, KanbanBoard, Loading, Modal, ModalHeader, ModalBody, ModalFooter, NavigationBar, NoteTextArea, MultiSelect, NumberInput, PinInput, ProfileCard, ProfileCardHeader, ProfileCardBody, ProfileCardFooter, ProfilePhotoViewer, ProgressBar, RadioButton, RadioButtonGroup, Search, Select, SearchSelect, SelectSearch, SideBar, Skeletons, Switch, Table, TableToggle, Tag, TextInput, Timeline, Toaster, ToolTip, useToaster, VerifyEmailOtp, useCustomTheme, ThemesList, debounce, };
52
+ export { Accordian, AlertDialog, ApexBarChart, ApexPieChart, Breadcrumbs, Button, ButtonGroupIcon, Card, Checkbox, DatePicker, Drawer, DrawerHeader, DrawerBody, DrawerFooter, Dropdown, Editor, FileUpload, FormWrapper, Header, HeaderActions, InputTextArea, KanbanBoard, Loading, Modal, ModalHeader, ModalBody, ModalFooter, NavigationBar, NoteTextArea, MultiSelect, NumberInput, PinInput, ProfileCard, ProfileCardHeader, ProfileCardBody, ProfileCardFooter, ProfilePhotoViewer, ProgressBar, RadioButton, RadioButtonGroup, Reorder, Search, Select, SearchSelect, SelectSearch, SideBar, Skeletons, Switch, Table, TableToggle, Tag, TextInput, Timeline, Toaster, ToolTip, useToaster, VerifyEmailOtp, useCustomTheme, ThemesList, debounce, };
49
53
  export default withTheme;
package/dist/index.js CHANGED
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- // import "./bootstrap";
3
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
3
  if (k2 === undefined) k2 = k;
5
4
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -27,8 +26,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
27
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
28
27
  };
29
28
  Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.Timeline = exports.TextInput = exports.Tag = exports.TableToggle = exports.Table = exports.Switch = exports.Skeletons = exports.SideBar = exports.SelectSearch = exports.SearchSelect = exports.Select = exports.Search = exports.RadioButtonGroup = exports.RadioButton = exports.ProgressBar = exports.ProfilePhotoViewer = exports.ProfileCardFooter = exports.ProfileCardBody = exports.ProfileCardHeader = exports.ProfileCard = exports.PinInput = exports.NumberInput = exports.MultiSelect = exports.NoteTextArea = exports.NavigationBar = exports.ModalFooter = exports.ModalBody = exports.ModalHeader = exports.Modal = exports.Loading = exports.KanbanBoard = exports.InputTextArea = exports.HeaderActions = exports.FormWrapper = exports.Editor = exports.Dropdown = exports.DrawerFooter = exports.DrawerBody = exports.DrawerHeader = exports.Drawer = exports.DatePicker = exports.Checkbox = exports.Card = exports.ButtonGroupIcon = exports.Button = exports.Breadcrumbs = exports.ApexPieChart = exports.ApexBarChart = exports.AlertDialog = exports.Accordian = void 0;
31
- exports.debounce = exports.ThemesList = exports.useCustomTheme = exports.VerifyEmailOtp = exports.useToaster = exports.ToolTip = exports.Toaster = void 0;
29
+ exports.TableToggle = exports.Table = exports.Switch = exports.Skeletons = exports.SideBar = exports.SelectSearch = exports.SearchSelect = exports.Select = exports.Search = exports.Reorder = exports.RadioButtonGroup = exports.RadioButton = exports.ProgressBar = exports.ProfilePhotoViewer = exports.ProfileCardFooter = exports.ProfileCardBody = exports.ProfileCardHeader = exports.ProfileCard = exports.PinInput = exports.NumberInput = exports.MultiSelect = exports.NoteTextArea = exports.NavigationBar = exports.ModalFooter = exports.ModalBody = exports.ModalHeader = exports.Modal = exports.Loading = exports.KanbanBoard = exports.InputTextArea = exports.HeaderActions = exports.Header = exports.FormWrapper = exports.FileUpload = exports.Editor = exports.Dropdown = exports.DrawerFooter = exports.DrawerBody = exports.DrawerHeader = exports.Drawer = exports.DatePicker = exports.Checkbox = exports.Card = exports.ButtonGroupIcon = exports.Button = exports.Breadcrumbs = exports.ApexPieChart = exports.ApexBarChart = exports.AlertDialog = exports.Accordian = void 0;
30
+ exports.debounce = exports.ThemesList = exports.useCustomTheme = exports.VerifyEmailOtp = exports.useToaster = exports.ToolTip = exports.Toaster = exports.Timeline = exports.TextInput = exports.Tag = void 0;
31
+ require("./bootstrap");
32
32
  var Accordion_1 = __importDefault(require("./Components/Accordion/Accordion"));
33
33
  exports.Accordian = Accordion_1.default;
34
34
  var AlertDialog_1 = __importDefault(require("./Components/AlertDialog/AlertDialog"));
@@ -58,8 +58,12 @@ var DropDown_1 = __importDefault(require("./Components/Dropdown/DropDown"));
58
58
  exports.Dropdown = DropDown_1.default;
59
59
  var Editor_1 = __importDefault(require("./Components/Editor/Editor"));
60
60
  exports.Editor = Editor_1.default;
61
+ var FileUpload_1 = __importDefault(require("./Components/FileUpload/FileUpload"));
62
+ exports.FileUpload = FileUpload_1.default;
61
63
  var FormWrapper_1 = __importDefault(require("./Components/Form/FormWrapper"));
62
64
  exports.FormWrapper = FormWrapper_1.default;
65
+ var Header_1 = __importDefault(require("./Components/Header/Header"));
66
+ exports.Header = Header_1.default;
63
67
  var HeaderActions_1 = __importDefault(require("./Components/Header/HeaderActions"));
64
68
  exports.HeaderActions = HeaderActions_1.default;
65
69
  var InputTextArea_1 = __importDefault(require("./Components/InputTextArea/InputTextArea"));
@@ -95,6 +99,8 @@ exports.ProgressBar = ProgressBar_1.default;
95
99
  var RadioButton_1 = require("./Components/RadioButton/RadioButton");
96
100
  Object.defineProperty(exports, "RadioButton", { enumerable: true, get: function () { return RadioButton_1.RadioButton; } });
97
101
  Object.defineProperty(exports, "RadioButtonGroup", { enumerable: true, get: function () { return RadioButton_1.RadioButtonGroup; } });
102
+ var Reorder_1 = __importDefault(require("./Components/Reorder/Reorder"));
103
+ exports.Reorder = Reorder_1.default;
98
104
  var Search_1 = __importDefault(require("./Components/Search/Search"));
99
105
  exports.Search = Search_1.default;
100
106
  var Select_1 = __importDefault(require("./Components/Select/Select"));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pixelize-design-library",
3
- "version": "2.0.21",
3
+ "version": "2.1.1",
4
4
  "private": false,
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -17,7 +17,8 @@
17
17
  "react-datepicker": "^7.3.0",
18
18
  "react-dom": "^18.3.1",
19
19
  "react-scripts": "^5.0.1",
20
- "react-window": "^1.8.11"
20
+ "react-window": "^1.8.11",
21
+ "react-dropzone": "^14.3.8"
21
22
  },
22
23
  "scripts": {
23
24
  "start": "react-scripts start",