pixelize-design-library 1.1.93 → 1.1.95

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 (78) hide show
  1. package/dist/App.js +25 -11
  2. package/dist/Assets/defaultLogo.d.ts +3 -0
  3. package/dist/Assets/defaultLogo.js +15 -0
  4. package/dist/Assets/defaultLogo.tsx +31 -0
  5. package/dist/Components/Button/Button.d.ts +1 -1
  6. package/dist/Components/Button/Button.js +2 -59
  7. package/dist/Components/Button/Button.styles.d.ts +2 -0
  8. package/dist/Components/Button/Button.styles.js +112 -0
  9. package/dist/Components/Button/ButtonProps.d.ts +4 -2
  10. package/dist/Components/Checkbox/Checkbox.styles.d.ts +2 -0
  11. package/dist/Components/Checkbox/Checkbox.styles.js +54 -0
  12. package/dist/Components/Common/ErrorMessage.js +5 -1
  13. package/dist/Components/Common/FormLabel.js +7 -7
  14. package/dist/Components/Divider/Divider.d.ts +3 -0
  15. package/dist/Components/Divider/Divider.js +14 -0
  16. package/dist/Components/Input/TextInput.d.ts +1 -1
  17. package/dist/Components/Input/TextInput.js +17 -24
  18. package/dist/Components/Input/TextInput.styles.d.ts +2 -0
  19. package/dist/Components/Input/TextInput.styles.js +68 -0
  20. package/dist/Components/Input/TextInputProps.d.ts +4 -3
  21. package/dist/Components/SideBar/SideBar.d.ts +1 -1
  22. package/dist/Components/SideBar/SideBar.js +44 -61
  23. package/dist/Components/SideBar/SideBarProps.d.ts +18 -8
  24. package/dist/Components/SideBar/components/MenuItemBox.d.ts +11 -0
  25. package/dist/Components/SideBar/components/MenuItemBox.js +116 -0
  26. package/dist/Components/SideBar/components/MenuItems.d.ts +4 -0
  27. package/dist/Components/SideBar/components/MenuItems.js +13 -0
  28. package/dist/Components/SideBar/components/MenuPopoverContent.d.ts +9 -0
  29. package/dist/Components/SideBar/components/MenuPopoverContent.js +37 -0
  30. package/dist/Components/SideBar/components/TextTruncation.d.ts +8 -0
  31. package/dist/Components/SideBar/components/TextTruncation.js +65 -0
  32. package/dist/Components/Table/Components/HeaderActions.d.ts +7 -0
  33. package/dist/Components/Table/Components/HeaderActions.js +45 -0
  34. package/dist/Components/Table/Components/Pagination.js +7 -12
  35. package/dist/Components/Table/Components/TableBody.d.ts +1 -1
  36. package/dist/Components/Table/Components/TableBody.js +23 -30
  37. package/dist/Components/Table/Components/TableHeader.js +17 -30
  38. package/dist/Components/Table/Components/TableSearch.d.ts +6 -0
  39. package/dist/Components/Table/Components/TableSearch.js +60 -0
  40. package/dist/Components/Table/Components/useTable.d.ts +1 -0
  41. package/dist/Components/Table/Components/useTable.js +6 -0
  42. package/dist/Components/Table/Table.d.ts +1 -1
  43. package/dist/Components/Table/Table.js +25 -13
  44. package/dist/Components/Table/TableProps.d.ts +16 -0
  45. package/dist/Components/Table/TableSettings/ManageColumns.js +2 -6
  46. package/dist/Components/Table/TableSettings/TableSettings.js +6 -6
  47. package/dist/Components/Toggle/TableToggle.d.ts +4 -0
  48. package/dist/Components/Toggle/TableToggle.js +57 -0
  49. package/dist/Components/Toggle/TableToggleProps.d.ts +5 -0
  50. package/dist/Components/Toggle/TableToggleProps.js +2 -0
  51. package/dist/Constants/Sidebar.js +25 -2
  52. package/dist/Layout.js +33 -32
  53. package/dist/Pages/TInput.js +4 -1
  54. package/dist/Pages/button.js +7 -3
  55. package/dist/Pages/input.js +22 -10
  56. package/dist/Pages/modal.js +1 -1
  57. package/dist/Pages/toster.js +1 -1
  58. package/dist/Theme/Default/palette.d.ts +164 -6
  59. package/dist/Theme/Default/palette.js +263 -105
  60. package/dist/Theme/Default/theme.js +2 -1
  61. package/dist/Theme/Meadow/palette.d.ts +168 -0
  62. package/dist/Theme/Meadow/palette.js +186 -32
  63. package/dist/Theme/Meadow/theme.js +2 -1
  64. package/dist/Theme/Radiant/palette.d.ts +168 -0
  65. package/dist/Theme/Radiant/palette.js +186 -32
  66. package/dist/Theme/Radiant/theme.js +2 -1
  67. package/dist/Theme/Skyline/palette.d.ts +168 -0
  68. package/dist/Theme/Skyline/palette.js +185 -31
  69. package/dist/Theme/Skyline/theme.js +2 -1
  70. package/dist/Theme/componentStyles.d.ts +5 -0
  71. package/dist/Theme/componentStyles.js +11 -0
  72. package/dist/Theme/themeProps.d.ts +168 -0
  73. package/dist/Utils/table.d.ts +9 -0
  74. package/dist/Utils/table.js +47 -1
  75. package/dist/index.d.ts +2 -1
  76. package/dist/index.js +4 -2
  77. package/dist/withTheme.js +1 -1
  78. package/package.json +1 -1
@@ -1,72 +1,55 @@
1
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;
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 };
24
15
  };
25
16
  Object.defineProperty(exports, "__esModule", { value: true });
26
- var react_1 = __importStar(require("react"));
17
+ var react_1 = __importDefault(require("react"));
27
18
  var react_2 = require("@chakra-ui/react");
28
19
  var useCustomTheme_1 = require("../../Theme/useCustomTheme");
29
20
  var Sidebar_1 = require("../../Constants/Sidebar");
30
21
  var lucide_react_1 = require("lucide-react");
22
+ var MenuItems_1 = __importDefault(require("./components/MenuItems"));
23
+ var defaultLogo_1 = __importDefault(require("../../Assets/defaultLogo"));
31
24
  function Sidebar(_a) {
32
- var _b, _c;
33
- var menus = _a.menus, activeMenu = _a.activeMenu, handleMenuClick = _a.handleMenuClick, toggle = _a.toggle, changeToggle = _a.changeToggle, logo = _a.logo, companyName = _a.companyName;
25
+ var _b;
26
+ var menus = _a.menus, activeMenu = _a.activeMenu, handleMenuClick = _a.handleMenuClick, toggle = _a.toggle, changeToggle = _a.changeToggle, logo = _a.logo, companyName = _a.companyName, _c = _a.isDisableAddNew, isDisableAddNew = _c === void 0 ? false : _c, onAddNewClick = _a.onAddNewClick, selectedSubMenu = _a.selectedSubMenu;
34
27
  var theme = (0, useCustomTheme_1.useCustomTheme)();
35
- var RenderMenuItems = (0, react_1.useCallback)(function () {
36
- return (react_1.default.createElement(react_1.default.Fragment, null, menus.map(function (menu) {
37
- var _a, _b;
38
- return (react_1.default.createElement(react_2.Menu, { key: menu.title, placement: "right" },
39
- react_1.default.createElement(react_2.Link, { backgroundColor: activeMenu === menu.title && !toggle
40
- ? theme.colors.primary[500]
41
- : "none", paddingLeft: toggle ? "" : "20px",
42
- // borderRadius={8}
43
- _hover: {
44
- textDecor: "none",
45
- backgroundColor: !toggle && theme.colors.primary[500],
46
- color: toggle ? (_a = theme.colors) === null || _a === void 0 ? void 0 : _a.primary[500] : theme.colors.white,
47
- }, _active: { color: theme.colors.white }, w: "98%", onClick: function () { return handleMenuClick === null || handleMenuClick === void 0 ? void 0 : handleMenuClick(menu); }, mt: "5px", className: "custom-link", width: toggle ? "none" : "100%" },
48
- react_1.default.createElement(react_2.MenuButton, { w: "100%", p: "12px", fontWeight: 700 },
49
- react_1.default.createElement(react_2.Flex, { gap: "10px" },
50
- react_1.default.createElement(react_2.Icon, { as: menu.icon, fontSize: "18px", color: activeMenu === menu.title
51
- ? toggle
52
- ? theme.colors.primary["500"]
53
- : "white"
54
- : "" }),
55
- react_1.default.createElement(react_2.Text, { display: toggle ? "none" : "flex", fontSize: "14px", color: activeMenu === menu.title ? (_b = theme.colors) === null || _b === void 0 ? void 0 : _b.white : "" }, menu.title)))),
56
- menu.subMenu && (react_1.default.createElement(react_2.MenuList, { py: 0, border: "none", ml: toggle ? 3 : 6, boxShadow: "0 4px 12px 0 rgba(0, 0, 0, 0.05)" },
57
- react_1.default.createElement(react_2.Flex, { pos: "absolute", mt: "calc(100px - 70px)", ml: "-10px", width: 0, height: 0, borderTop: "10px solid transparent", borderBottom: "10px solid transparent", borderRight: "10px solid #3182CE" }),
58
- menu.subMenu.map(function (subMenuItem) { return (react_1.default.createElement(react_2.MenuItem, { key: subMenuItem.title }, subMenuItem.title)); })))));
59
- })));
60
- }, [activeMenu, menus, handleMenuClick, toggle, theme.colors]);
61
- return (react_1.default.createElement(react_2.Flex, { transition: "all 0.5s", pos: "sticky", h: "100vh", boxShadow: theme.shadows.lg, w: toggle ? "75px" : "200px", flexDir: "column", justifyContent: "space-between", background: theme.colors.backgroundColor.light },
62
- react_1.default.createElement(react_2.Flex, { flexDir: "column", w: "100%", alignItems: "center", as: "nav", h: "100vh" },
63
- logo ? (react_1.default.createElement(react_2.Flex, { mt: 5, alignItems: "center", gap: 5 },
64
- react_1.default.createElement(react_2.Image, { borderRadius: "full", boxSize: "45px", src: logo, alt: "Company Logo" }),
65
- react_1.default.createElement(react_2.Text, { display: toggle ? "none" : "flex", fontSize: 20, fontWeight: 800 }, companyName))) : (react_1.default.createElement(react_2.Box, { ml: "-8px", mt: 5, width: "100%", display: "flex", justifyContent: "center", alignItems: "center" },
66
- react_1.default.createElement(react_2.Text, { fontWeight: 800, fontSize: "1.3rem", textAlign: "center" }, toggle ? companyName[0] : companyName))),
67
- react_1.default.createElement(react_2.Flex, { transition: "all 0.5s", position: "absolute", left: toggle ? "55px" : "180px", top: "60px", background: theme.colors.primary[500], borderRadius: "23px" },
68
- react_1.default.createElement(react_2.IconButton, { background: "none", icon: toggle ? (react_1.default.createElement(lucide_react_1.ChevronRight, { color: (_b = theme.colors) === null || _b === void 0 ? void 0 : _b.white })) : (react_1.default.createElement(lucide_react_1.ChevronLeft, { color: (_c = theme.colors) === null || _c === void 0 ? void 0 : _c.white })), _hover: { background: "none" }, onClick: changeToggle, "aria-label": "Toggle Navigation" })),
69
- react_1.default.createElement(react_2.Flex, { mt: 50, flexDir: "column", w: "100%", alignItems: toggle ? "center" : "flex-start", h: "100vh", overflow: "auto", css: Sidebar_1.FlexCss },
70
- react_1.default.createElement(RenderMenuItems, null)))));
28
+ return (react_1.default.createElement(react_2.Flex, { transition: "all 0.5s", pos: "sticky", h: "100vh", boxShadow: theme.shadows.lg, w: toggle ? "4.688rem" : "15.625rem", flexDir: "column", justifyContent: "space-between", background: theme.colors.sidebar.background[500] },
29
+ react_1.default.createElement(react_2.Flex, { flexDir: "column", w: "100%", alignItems: toggle ? "center" : "flex-start", as: "nav", h: "100vh" },
30
+ logo ? (react_1.default.createElement(react_2.Flex, { my: 3.5, alignItems: "left", gap: "0.625rem", pl: toggle ? 0 : "0.625rem" },
31
+ react_1.default.createElement(react_2.Image, { borderRadius: "full", boxSize: "2rem", src: logo, alt: "Company Logo" }),
32
+ react_1.default.createElement(react_2.Text, { display: toggle ? "none" : "flex", fontSize: 18, fontWeight: 800, color: theme.colors.white, lineHeight: 2 }, companyName))) : (react_1.default.createElement(react_2.Flex, { my: 3.5, alignItems: "center", gap: "0.625rem", pl: toggle ? 0 : "0.625rem" },
33
+ react_1.default.createElement(react_2.Box, { bg: theme.colors.white, color: theme.colors.black, borderRadius: "full", boxSize: "2rem", display: "flex", alignItems: "center", justifyContent: "center", fontWeight: "bold", fontSize: { base: "xl", md: "2xl" } },
34
+ react_1.default.createElement(defaultLogo_1.default, null)),
35
+ react_1.default.createElement(react_2.Text, { fontWeight: 800, fontSize: "1.3rem", textAlign: "center", color: theme.colors.white, display: toggle ? "none" : "flex", lineHeight: 2 }, companyName))),
36
+ react_1.default.createElement(react_2.Box, { w: "100%", h: "0.063rem", bg: theme.colors.sidebar.background[200] }),
37
+ react_1.default.createElement(react_2.Flex
38
+ // mt={5}
39
+ , {
40
+ // mt={5}
41
+ flexDir: "column", w: "100%", alignItems: toggle ? "center" : "flex-start", h: "100vh", overflow: "auto", css: Sidebar_1.FlexCss },
42
+ react_1.default.createElement(react_2.Box, { width: "100%", flex: "1", overflowY: "auto", overflowX: "hidden", alignItems: toggle ? "center" : "flex-start", css: __assign({}, Sidebar_1.FlexCss) },
43
+ react_1.default.createElement(MenuItems_1.default, { activeMenu: activeMenu, menus: menus, handleMenuClick: handleMenuClick !== null && handleMenuClick !== void 0 ? handleMenuClick : (function () { }), toggle: toggle, selectedSubMenu: selectedSubMenu })),
44
+ react_1.default.createElement(react_2.Box, { w: "100%", h: "0.063rem", bg: theme.colors.sidebar.background[200], mb: "0.125rem" }),
45
+ !isDisableAddNew && (react_1.default.createElement(react_2.Flex, { alignItems: "center", gap: "0.5rem", p: "0.625rem",
46
+ // mt="1rem"
47
+ cursor: "pointer", _hover: { backgroundColor: theme.colors.primary[500] }, w: "100%", justifyContent: toggle ? "center" : "flex-start", onClick: onAddNewClick },
48
+ react_1.default.createElement(react_2.Box, { w: "1.625rem", h: "1.625rem", bg: theme.colors.white, borderRadius: "full", display: "flex", alignItems: "center", justifyContent: "center" },
49
+ react_1.default.createElement(lucide_react_1.Plus, { size: 16, color: theme.colors.primary[500] })),
50
+ react_1.default.createElement(react_2.Text, { fontSize: "0.875rem", color: theme.colors.white, fontWeight: "medium", display: toggle ? "none" : "block" }, "Add New"))),
51
+ react_1.default.createElement(react_2.Flex, { alignItems: "center", gap: "0.5rem", p: "0.625rem", cursor: "pointer", w: "100%", justifyContent: toggle ? "center" : "flex-start", onClick: changeToggle, transition: "all 0.5s", bg: theme.colors.gray[700] },
52
+ react_1.default.createElement(react_2.Box, { w: "1.625rem", h: "1.625rem", borderRadius: "full", display: "flex", alignItems: "center", justifyContent: "center" }, toggle ? (react_1.default.createElement(lucide_react_1.ArrowRightToLine, { size: 16, color: (_b = theme.colors) === null || _b === void 0 ? void 0 : _b.white })) : (react_1.default.createElement(lucide_react_1.ArrowLeftToLine, { size: 16, color: theme.colors.white }))),
53
+ react_1.default.createElement(react_2.Text, { fontSize: "0.875rem", color: "white", fontWeight: "medium", display: toggle ? "none" : "block" }, "Collapse"))))));
71
54
  }
72
55
  exports.default = Sidebar;
@@ -1,19 +1,29 @@
1
1
  export type SidebarProps = {
2
- menus: Menu[];
2
+ menus: MenuProps[];
3
3
  activeMenu: string;
4
- handleMenuClick?: (menu: Menu) => void;
4
+ handleMenuClick?: (menu: MenuProps) => void;
5
5
  toggle: boolean;
6
6
  changeToggle: () => void;
7
7
  logo?: string;
8
8
  companyName: string;
9
+ isDisableAddNew?: boolean;
10
+ onAddNewClick?: () => void;
11
+ selectedSubMenu?: string | null;
9
12
  };
10
- type Menu = {
13
+ export type MenuProps = {
14
+ id: string | number;
11
15
  title: string;
12
16
  icon: any;
13
17
  url: string;
14
- subMenu?: {
15
- title: string;
16
- url: string;
17
- }[];
18
+ disabled?: boolean;
19
+ locked?: boolean;
20
+ badge?: string | number;
21
+ subMenu?: MenuProps[];
22
+ };
23
+ export type RenderMenuType = {
24
+ menus: MenuProps[];
25
+ activeMenu: string;
26
+ handleMenuClick: (menu: MenuProps) => void;
27
+ toggle: boolean;
28
+ selectedSubMenu?: string | null;
18
29
  };
19
- export {};
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ import { MenuProps } from "../SideBarProps";
3
+ interface Props {
4
+ menu: MenuProps;
5
+ activeMenu: string | number;
6
+ toggle: boolean;
7
+ handleClick?: (menu: MenuProps) => void;
8
+ selectedSubMenu?: string | null;
9
+ }
10
+ declare const MenuItemBox: React.FC<Props>;
11
+ export default MenuItemBox;
@@ -0,0 +1,116 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
37
+ return (mod && mod.__esModule) ? mod : { "default": mod };
38
+ };
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ var react_1 = __importStar(require("react"));
41
+ var react_2 = require("@chakra-ui/react");
42
+ var MenuPopoverContent_1 = __importDefault(require("./MenuPopoverContent"));
43
+ var lucide_react_1 = require("lucide-react");
44
+ var useCustomTheme_1 = require("../../../Theme/useCustomTheme");
45
+ var TextTruncation_1 = __importDefault(require("./TextTruncation"));
46
+ var MenuItemBox = function (_a) {
47
+ var menu = _a.menu, activeMenu = _a.activeMenu, toggle = _a.toggle, handleClick = _a.handleClick;
48
+ var theme = (0, useCustomTheme_1.useCustomTheme)();
49
+ var title = menu.title, icon = menu.icon, disabled = menu.disabled, locked = menu.locked, badge = menu.badge, subMenu = menu.subMenu;
50
+ var hasSubMenu = !!(subMenu === null || subMenu === void 0 ? void 0 : subMenu.length);
51
+ var _b = (0, react_1.useState)(false), isOpen = _b[0], setIsOpen = _b[1];
52
+ var isChildActive = subMenu === null || subMenu === void 0 ? void 0 : subMenu.some(function (sub) { return sub.id === activeMenu; });
53
+ var isParentActive = activeMenu === menu.id;
54
+ var isAnyActive = isParentActive || isChildActive;
55
+ var handleToggleSubMenu = function () {
56
+ if (!disabled && hasSubMenu) {
57
+ setIsOpen(!isOpen);
58
+ }
59
+ else if (!disabled) {
60
+ handleClick === null || handleClick === void 0 ? void 0 : handleClick(menu);
61
+ }
62
+ };
63
+ var commonStyles = {
64
+ w: "100%",
65
+ px: "1.5rem",
66
+ py: "0.75rem",
67
+ fontWeight: "medium",
68
+ backgroundColor: isAnyActive ? theme.colors.primary[500] : "transparent",
69
+ color: disabled ? "gray.400" : theme.colors.white,
70
+ _hover: disabled
71
+ ? {}
72
+ : {
73
+ backgroundColor: theme.colors.primary[700],
74
+ },
75
+ pl: toggle ? "1.6875rem" : undefined,
76
+ cursor: disabled ? "not-allowed" : "pointer",
77
+ opacity: disabled ? 0.6 : 1,
78
+ };
79
+ var buttonContent = (react_1.default.createElement(react_2.Flex, { align: "center", gap: "0.625rem", justify: "space-between" },
80
+ react_1.default.createElement(react_2.Flex, { align: "center", gap: "0.625rem", overflow: "auto" },
81
+ react_1.default.createElement(react_2.Icon, { as: icon, fontSize: "1.25rem", color: disabled ? theme.colors.gray[400] : theme.colors.white }),
82
+ !toggle && (react_1.default.createElement(TextTruncation_1.default, { open: isOpen, fontSize: "1rem", flex: "1" }, title))),
83
+ !toggle && (react_1.default.createElement(react_2.Flex, { align: "center", gap: "0.375rem" },
84
+ badge && (react_1.default.createElement(react_2.Badge, { colorScheme: "teal", fontSize: "0.625rem", variant: "subtle" }, badge)),
85
+ locked && react_1.default.createElement(react_2.Icon, { as: lucide_react_1.LockKeyhole, fontSize: "1rem" }),
86
+ hasSubMenu && (react_1.default.createElement(react_2.Icon, { as: isOpen ? lucide_react_1.ChevronDown : lucide_react_1.ChevronRight, fontSize: "1rem", onClick: function (e) {
87
+ e.stopPropagation();
88
+ handleToggleSubMenu();
89
+ } }))))));
90
+ if (toggle) {
91
+ // Collapsed sidebar: show Popover
92
+ return (react_1.default.createElement(react_2.Popover, { trigger: "hover", placement: "right-start", closeOnBlur: false, isLazy: true },
93
+ react_1.default.createElement(react_2.PopoverTrigger, null,
94
+ react_1.default.createElement(react_2.Box, __assign({}, commonStyles, { onClick: handleToggleSubMenu }), buttonContent)),
95
+ react_1.default.createElement(react_2.Portal, null,
96
+ react_1.default.createElement(react_2.PopoverContent, { borderRadius: "0.063rem", bg: theme.colors.primary[isAnyActive ? 500 : 700], boxShadow: "lg", minW: "10rem", maxW: "14rem", py: "0.125rem", ml: "-0.313rem", cursor: disabled ? "not-allowed" : "pointer", zIndex: 1500 },
97
+ react_1.default.createElement(react_2.PopoverBody, { p: "0.5rem", color: "white" },
98
+ react_1.default.createElement(MenuPopoverContent_1.default, { menu: menu, handleMenuClick: handleClick, activeMenu: activeMenu }))))));
99
+ }
100
+ return (react_1.default.createElement(react_1.default.Fragment, null,
101
+ react_1.default.createElement(react_2.Box, __assign({}, commonStyles, { onClick: handleToggleSubMenu }), buttonContent),
102
+ hasSubMenu && (react_1.default.createElement(react_2.Collapse, { in: isOpen, animateOpacity: true },
103
+ react_1.default.createElement(react_2.Box, null, subMenu.map(function (sub) {
104
+ var isSubActive = activeMenu === sub.id;
105
+ return (react_1.default.createElement(react_2.Box, { key: sub.id || sub.title, py: "0.5rem", px: "1.25rem", pl: "3.3rem", fontSize: "0.875rem", backgroundColor: isAnyActive ? theme.colors.primary[500] : "transparent", borderLeft: isSubActive
106
+ ? "0.188rem solid ".concat(theme.colors.background[300])
107
+ : "0.188rem solid transparent", _hover: {
108
+ backgroundColor: theme.colors.primary[700],
109
+ }, opacity: sub.disabled ? 0.6 : 1, cursor: sub.disabled ? "not-allowed" : "pointer", pointerEvents: sub.disabled ? "none" : "auto", onClick: function () { return !sub.disabled && (handleClick === null || handleClick === void 0 ? void 0 : handleClick(sub)); }, display: "flex", alignItems: "center", justifyContent: "space-between", gap: "0.5rem", color: theme.colors.white },
110
+ react_1.default.createElement(react_2.Flex, { align: "center", gap: "0.5rem", overflow: "auto" },
111
+ react_1.default.createElement(react_2.Icon, { as: sub.icon, fontSize: "1rem" }),
112
+ react_1.default.createElement(TextTruncation_1.default, { fontSize: "0.875rem", fontWeight: "medium", open: isOpen }, sub.title)),
113
+ sub.locked ? (react_1.default.createElement(react_2.Icon, { as: lucide_react_1.LockKeyhole, fontSize: "1rem" })) : sub.badge ? (react_1.default.createElement(react_2.Badge, { colorScheme: "teal", fontSize: "0.625rem", variant: "subtle" }, sub.badge)) : null));
114
+ }))))));
115
+ };
116
+ exports.default = MenuItemBox;
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { RenderMenuType } from "../SideBarProps";
3
+ declare const MenuItems: React.FC<RenderMenuType>;
4
+ export default MenuItems;
@@ -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 react_2 = require("@chakra-ui/react");
8
+ var MenuItemBox_1 = __importDefault(require("./MenuItemBox"));
9
+ var MenuItems = function (_a) {
10
+ var menus = _a.menus, activeMenu = _a.activeMenu, handleMenuClick = _a.handleMenuClick, toggle = _a.toggle, selectedSubMenu = _a.selectedSubMenu;
11
+ return (react_1.default.createElement(react_2.Box, null, menus.map(function (menu) { return (react_1.default.createElement(MenuItemBox_1.default, { key: menu.title, menu: menu, activeMenu: activeMenu, toggle: toggle, handleClick: handleMenuClick, selectedSubMenu: selectedSubMenu })); })));
12
+ };
13
+ exports.default = MenuItems;
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ import { MenuProps } from "../SideBarProps";
3
+ interface Props {
4
+ menu: MenuProps;
5
+ handleMenuClick?: (menu: MenuProps) => void;
6
+ activeMenu?: string | number;
7
+ }
8
+ declare const MenuPopoverContent: React.FC<Props>;
9
+ export default MenuPopoverContent;
@@ -0,0 +1,37 @@
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 react_2 = require("@chakra-ui/react");
8
+ var lucide_react_1 = require("lucide-react");
9
+ var useCustomTheme_1 = require("../../../Theme/useCustomTheme");
10
+ var TextTruncation_1 = __importDefault(require("./TextTruncation"));
11
+ var MenuPopoverContent = function (_a) {
12
+ var menu = _a.menu, handleMenuClick = _a.handleMenuClick, activeMenu = _a.activeMenu;
13
+ var theme = (0, useCustomTheme_1.useCustomTheme)();
14
+ var title = menu.title, subMenu = menu.subMenu, badge = menu.badge, locked = menu.locked;
15
+ var isAnySubActive = subMenu === null || subMenu === void 0 ? void 0 : subMenu.some(function (sub) { return sub.id === activeMenu; });
16
+ return (react_1.default.createElement(react_1.default.Fragment, null,
17
+ react_1.default.createElement(react_2.Flex, { align: "center", gap: "0.625rem", mb: (subMenu === null || subMenu === void 0 ? void 0 : subMenu.length) ? "0.5rem" : 0 },
18
+ react_1.default.createElement(TextTruncation_1.default, { fontWeight: "medium", fontSize: "1rem", flex: "1" }, title),
19
+ badge && (react_1.default.createElement(react_2.Badge, { colorScheme: "teal", fontSize: "0.625rem", variant: "subtle" }, badge)),
20
+ locked && react_1.default.createElement(react_2.Icon, { as: lucide_react_1.LockKeyhole, fontSize: "1rem" })), subMenu === null || subMenu === void 0 ? void 0 :
21
+ subMenu.map(function (sub) {
22
+ var isSubActive = activeMenu === sub.id;
23
+ return (react_1.default.createElement(react_2.Flex, { key: sub.id || sub.title, onClick: function () { return !sub.disabled && (handleMenuClick === null || handleMenuClick === void 0 ? void 0 : handleMenuClick(sub)); }, px: "1rem", py: "0.5rem", align: "center", justify: "space-between", gap: "0.75rem", _hover: {
24
+ bg: !sub.disabled ? theme.colors.primary[500] : "transparent",
25
+ cursor: !sub.disabled ? "pointer" : "not-allowed",
26
+ }, bg: isAnySubActive
27
+ ? theme.colors.primary[500]
28
+ : theme.colors.primary[700], borderLeft: isSubActive
29
+ ? "0.188rem solid ".concat(theme.colors.background[300])
30
+ : "0.188rem solid transparent", color: "white", opacity: sub.disabled ? 0.5 : 1, pointerEvents: sub.disabled ? "none" : "auto" },
31
+ react_1.default.createElement(react_2.Flex, { align: "center", gap: "0.5rem", overflow: "auto" },
32
+ react_1.default.createElement(react_2.Icon, { as: sub.icon, fontSize: "1rem" }),
33
+ react_1.default.createElement(TextTruncation_1.default, { fontSize: "0.875rem", fontWeight: "medium", flex: 1 }, sub.title)),
34
+ sub.locked ? (react_1.default.createElement(react_2.Icon, { as: lucide_react_1.LockKeyhole, fontSize: "1rem" })) : sub.badge ? (react_1.default.createElement(react_2.Badge, { colorScheme: "teal", fontSize: "0.625rem", variant: "subtle" }, sub.badge)) : null));
35
+ })));
36
+ };
37
+ exports.default = MenuPopoverContent;
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import { TextProps } from "@chakra-ui/react";
3
+ interface TruncatedTextWithTooltipProps extends TextProps {
4
+ children: string;
5
+ open?: boolean;
6
+ }
7
+ declare const TruncatedTextWithTooltip: React.FC<TruncatedTextWithTooltipProps>;
8
+ export default TruncatedTextWithTooltip;
@@ -0,0 +1,65 @@
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
+ var __rest = (this && this.__rest) || function (s, e) {
37
+ var t = {};
38
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
39
+ t[p] = s[p];
40
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
41
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
42
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
43
+ t[p[i]] = s[p[i]];
44
+ }
45
+ return t;
46
+ };
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ var react_1 = __importStar(require("react"));
49
+ var react_2 = require("@chakra-ui/react");
50
+ var TruncatedTextWithTooltip = function (_a) {
51
+ var children = _a.children, _b = _a.open, open = _b === void 0 ? false : _b, props = __rest(_a, ["children", "open"]);
52
+ var textRef = (0, react_1.useRef)(null);
53
+ var _c = (0, react_1.useState)(false), isTruncated = _c[0], setIsTruncated = _c[1];
54
+ (0, react_1.useEffect)(function () {
55
+ requestAnimationFrame(function () {
56
+ var el = textRef.current;
57
+ if (el) {
58
+ setIsTruncated(el.scrollWidth > el.clientWidth);
59
+ }
60
+ });
61
+ }, [children, open]);
62
+ return (react_1.default.createElement(react_2.Tooltip, { label: children, isDisabled: !isTruncated, hasArrow: true, placement: "right" },
63
+ react_1.default.createElement(react_2.Text, __assign({ ref: textRef, isTruncated: true, whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, props), children)));
64
+ };
65
+ exports.default = TruncatedTextWithTooltip;
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ import { HeaderActionsProps } from "../TableProps";
3
+ declare const HeaderActions: ({ actions, selections, }: {
4
+ actions?: HeaderActionsProps | undefined;
5
+ selections: (string | number)[];
6
+ }) => React.JSX.Element;
7
+ export default HeaderActions;
@@ -0,0 +1,45 @@
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 = require("@chakra-ui/react");
18
+ var lucide_react_1 = require("lucide-react");
19
+ var react_2 = __importDefault(require("react"));
20
+ var useCustomTheme_1 = require("../../../Theme/useCustomTheme");
21
+ var ListItem = function (_a) {
22
+ var _b;
23
+ var icon = _a.icon, name = _a.name, onClick = _a.onClick, selections = _a.selections;
24
+ var colors = (0, useCustomTheme_1.useCustomTheme)().colors;
25
+ var styledIcon = react_2.default.cloneElement(icon, {
26
+ color: (_b = colors === null || colors === void 0 ? void 0 : colors.text) === null || _b === void 0 ? void 0 : _b[500],
27
+ size: "1.25rem",
28
+ });
29
+ return (react_2.default.createElement(react_1.Box, { display: "flex", alignItems: "center", gap: "0.375rem", onClick: function () { return onClick && onClick(selections); }, cursor: "pointer" },
30
+ styledIcon,
31
+ " ",
32
+ name));
33
+ };
34
+ var HeaderActions = function (_a) {
35
+ var _b, _c, _d, _e, _f, _g, _h;
36
+ var actions = _a.actions, selections = _a.selections;
37
+ var colors = (0, useCustomTheme_1.useCustomTheme)().colors;
38
+ return (react_2.default.createElement(react_1.Box, { display: "flex", gap: 4, fontSize: "0.875rem", fontWeight: 400, color: (_b = colors === null || colors === void 0 ? void 0 : colors.secondary) === null || _b === void 0 ? void 0 : _b[500] },
39
+ ((_c = actions === null || actions === void 0 ? void 0 : actions.isDelete) === null || _c === void 0 ? void 0 : _c.enabled) && (react_2.default.createElement(ListItem, { icon: react_2.default.createElement(lucide_react_1.Trash2, null), name: "Delete", onClick: (_d = actions === null || actions === void 0 ? void 0 : actions.isDelete) === null || _d === void 0 ? void 0 : _d.onClick, selections: selections })),
40
+ ((_e = actions === null || actions === void 0 ? void 0 : actions.isUpdate) === null || _e === void 0 ? void 0 : _e.enabled) && (react_2.default.createElement(ListItem, { icon: react_2.default.createElement(lucide_react_1.SquarePen, null), name: "Mass Update", onClick: (_f = actions === null || actions === void 0 ? void 0 : actions.isUpdate) === null || _f === void 0 ? void 0 : _f.onClick, selections: selections })),
41
+ ((_g = actions === null || actions === void 0 ? void 0 : actions.items) === null || _g === void 0 ? void 0 : _g.length)
42
+ ? (_h = actions === null || actions === void 0 ? void 0 : actions.items) === null || _h === void 0 ? void 0 : _h.map(function (item) { return (react_2.default.createElement(ListItem, __assign({}, item, { selections: selections }))); })
43
+ : null));
44
+ };
45
+ exports.default = HeaderActions;
@@ -12,26 +12,21 @@ var Pagination = function (_a) {
12
12
  var pageSizeOptions = (0, table_1.pageSizeCalculation)(dataLength);
13
13
  var isLeftDisabled = currentPage === 0;
14
14
  var isRightDisabled = currentPage >= pages - 1;
15
- return (react_1.default.createElement(react_2.Flex, { justify: "flex-end", align: "center", mt: 4 },
16
- react_1.default.createElement(react_2.Text, { mr: 4, fontSize: 12 }, paginationText),
17
- !isServerPagination && (react_1.default.createElement(react_2.Select, { onChange: handlePageSizeChange, value: rowsPerPage, mr: 4, size: "xs", width: 20 },
15
+ return (react_1.default.createElement(react_2.Flex, { justify: "flex-end", align: "center" },
16
+ !isServerPagination && (react_1.default.createElement(react_2.Select, { onChange: handlePageSizeChange, value: rowsPerPage, size: "xs", borderRadius: 3, width: 20 },
18
17
  dataLength < 100 ? react_1.default.createElement("option", { value: 0 }) : null,
19
18
  pageSizeOptions.map(function (size, index) { return (react_1.default.createElement("option", { key: index, value: size }, size)); }))),
20
19
  react_1.default.createElement(react_2.Flex, null,
21
- react_1.default.createElement(react_2.IconButton, { mx: 1, "aria-label": "left-icon", color: isLeftDisabled ? "gray" : "black", rounded: "full", variant: isLeftDisabled ? "plain" : "ghost", onClick: function () { return setCurrentPage(0); } },
20
+ react_1.default.createElement(react_2.IconButton, { "aria-label": "left-icon", color: isLeftDisabled ? "gray" : "black", rounded: "full", variant: isLeftDisabled ? "plain" : "ghost", onClick: function () { return setCurrentPage(0); } },
22
21
  react_1.default.createElement(lucide_react_1.ChevronsLeft, null)),
23
- react_1.default.createElement(react_2.IconButton, { mx: 1, "aria-label": "left-icon", color: isLeftDisabled ? "gray" : "black", rounded: "full", variant: isLeftDisabled ? "plain" : "ghost", onClick: function () { return currentPage > 0 && setCurrentPage(currentPage - 1); } },
22
+ react_1.default.createElement(react_2.IconButton, { "aria-label": "left-icon", color: isLeftDisabled ? "gray" : "black", rounded: "full", variant: isLeftDisabled ? "plain" : "ghost", onClick: function () { return currentPage > 0 && setCurrentPage(currentPage - 1); } },
24
23
  react_1.default.createElement(lucide_react_1.ChevronLeft, null)),
25
- react_1.default.createElement(react_2.Text, { mx: 1, mt: 3, fontSize: 12 },
26
- "Page ",
27
- currentPage + 1,
28
- " of ",
29
- pages),
30
- react_1.default.createElement(react_2.IconButton, { mx: 1, "aria-label": "left-icon", color: isRightDisabled ? "gray" : "black", rounded: "full", variant: isRightDisabled ? "plain" : "ghost", onClick: function () {
24
+ react_1.default.createElement(react_2.Text, { mt: 3, fontSize: 12 }, paginationText),
25
+ react_1.default.createElement(react_2.IconButton, { "aria-label": "left-icon", color: isRightDisabled ? "gray" : "black", rounded: "full", variant: isRightDisabled ? "plain" : "ghost", onClick: function () {
31
26
  return currentPage < pages - 1 && setCurrentPage(currentPage + 1);
32
27
  } },
33
28
  react_1.default.createElement(lucide_react_1.ChevronRight, null)),
34
- react_1.default.createElement(react_2.IconButton, { mx: 1, "aria-label": "left-icon", color: isRightDisabled ? "gray" : "black", rounded: "full", variant: isRightDisabled ? "plain" : "ghost", onClick: function () { return setCurrentPage(pages - 1); } },
29
+ react_1.default.createElement(react_2.IconButton, { "aria-label": "left-icon", color: isRightDisabled ? "gray" : "black", rounded: "full", variant: isRightDisabled ? "plain" : "ghost", onClick: function () { return setCurrentPage(pages - 1); } },
35
30
  react_1.default.createElement(lucide_react_1.ChevronsRight, null)))));
36
31
  };
37
32
  exports.default = Pagination;
@@ -1,4 +1,4 @@
1
1
  import React from "react";
2
2
  import { TableBodyPageProps } from "../TableProps";
3
- declare const TableBody: ({ data, isCheckbox, columns, startRow, endRow, columnWidths, freezedBgColor, freezedTextColor, noBorders, handleCheckbox, selections, isLoading, onRowClick, isContent, isLink, isActionFreeze, }: TableBodyPageProps) => React.JSX.Element;
3
+ declare const TableBody: ({ data, isCheckbox, columns, startRow, columnWidths, freezedBgColor, freezedTextColor, noBorders, handleCheckbox, selections, isLoading, onRowClick, isContent, isLink, isActionFreeze, }: TableBodyPageProps) => React.JSX.Element;
4
4
  export default TableBody;