pixelize-design-library 2.3.1-beta.2 → 2.3.1-beta.20

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 (165) hide show
  1. package/.claude/settings.local.json +28 -1
  2. package/.cursor/TASK-SETUP.md +43 -0
  3. package/.cursor/agents/be-impl.md +37 -0
  4. package/.cursor/agents/fe-impl.md +39 -0
  5. package/.cursor/agents/task-plan.md +56 -0
  6. package/.cursor/agents/test-create.md +31 -0
  7. package/.cursor/agents/test-exec.md +26 -0
  8. package/.cursor/hooks/task-hint.env +1 -0
  9. package/.cursor/hooks/task-skill-nudge.sh +71 -0
  10. package/.cursor/hooks/task-slash-guard.sh +31 -0
  11. package/.cursor/hooks.json +13 -0
  12. package/.cursor/modules/account-management/MODULE.md +16 -0
  13. package/.cursor/modules/buttons/MODULE.md +13 -0
  14. package/.cursor/modules/cards/MODULE.md +13 -0
  15. package/.cursor/modules/charts/MODULE.md +13 -0
  16. package/.cursor/modules/common/MODULE.md +13 -0
  17. package/.cursor/modules/contact-auth/MODULE.md +13 -0
  18. package/.cursor/modules/data-display/MODULE.md +13 -0
  19. package/.cursor/modules/feedback/MODULE.md +14 -0
  20. package/.cursor/modules/form/MODULE.md +13 -0
  21. package/.cursor/modules/inputs-basic/MODULE.md +13 -0
  22. package/.cursor/modules/inputs-date-file/MODULE.md +19 -0
  23. package/.cursor/modules/inputs-select/MODULE.md +14 -0
  24. package/.cursor/modules/inputs-toggle/MODULE.md +13 -0
  25. package/.cursor/modules/kanban/MODULE.md +14 -0
  26. package/.cursor/modules/layout-navigation/MODULE.md +14 -0
  27. package/.cursor/modules/overlays/MODULE.md +13 -0
  28. package/.cursor/modules/playground/MODULE.md +15 -0
  29. package/.cursor/modules/table/MODULE.md +15 -0
  30. package/.cursor/modules/theme/MODULE.md +15 -0
  31. package/.cursor/modules/types-exports/MODULE.md +17 -0
  32. package/.cursor/modules/utility-ui/MODULE.md +15 -0
  33. package/.cursor/modules/utils-hooks/MODULE.md +13 -0
  34. package/.cursor/pixelize-task-statusline.sh +64 -0
  35. package/.cursor/plans/blocked/.gitkeep +0 -0
  36. package/.cursor/plans/current.md +35 -0
  37. package/.cursor/plans/done/.gitkeep +0 -0
  38. package/.cursor/rules +31 -0
  39. package/.cursor/skills/task/SKILL.md +167 -0
  40. package/CLAUDE.md +122 -0
  41. package/dist/Components/Accordion/Accordion.js +26 -5
  42. package/dist/Components/Card/PaymentCard/PaymentCard.d.ts +1 -1
  43. package/dist/Components/Card/PaymentCard/PaymentCard.js +3 -3
  44. package/dist/Components/Card/PaymentCard/PaymentCardProps.d.ts +1 -0
  45. package/dist/Components/CopyButton/CopyButton.d.ts +22 -0
  46. package/dist/Components/CopyButton/CopyButton.js +126 -0
  47. package/dist/Components/CustomModulesTable/CustomModulesTable.d.ts +4 -0
  48. package/dist/Components/CustomModulesTable/CustomModulesTable.js +182 -0
  49. package/dist/Components/CustomModulesTable/CustomModulesTable.test.d.ts +1 -0
  50. package/dist/Components/CustomModulesTable/CustomModulesTable.test.js +84 -0
  51. package/dist/Components/CustomModulesTable/CustomModulesTableProps.d.ts +54 -0
  52. package/dist/Components/CustomModulesTable/CustomModulesTableProps.js +2 -0
  53. package/dist/Components/CustomModulesTable/DeleteModuleModal.d.ts +4 -0
  54. package/dist/Components/CustomModulesTable/DeleteModuleModal.js +33 -0
  55. package/dist/Components/CustomModulesTable/EditModuleModal.d.ts +4 -0
  56. package/dist/Components/CustomModulesTable/EditModuleModal.js +63 -0
  57. package/dist/Components/Dropdown/DropDown.js +110 -28
  58. package/dist/Components/Dropdown/Dropdown.test.d.ts +1 -0
  59. package/dist/Components/Dropdown/Dropdown.test.js +102 -0
  60. package/dist/Components/Dropdown/DropdownProps.d.ts +4 -1
  61. package/dist/Components/EmptyState/EmptyState.d.ts +4 -0
  62. package/dist/Components/EmptyState/EmptyState.js +65 -0
  63. package/dist/Components/EmptyState/EmptyStateProps.d.ts +28 -0
  64. package/dist/Components/EmptyState/EmptyStateProps.js +2 -0
  65. package/dist/Components/FieldSelectModal/FieldSelectModal.d.ts +26 -0
  66. package/dist/Components/FieldSelectModal/FieldSelectModal.js +107 -0
  67. package/dist/Components/FilePreview/FilePreview.d.ts +6 -0
  68. package/dist/Components/FilePreview/FilePreview.js +190 -0
  69. package/dist/Components/FilePreview/FilePreviewProps.d.ts +26 -0
  70. package/dist/Components/FilePreview/FilePreviewProps.js +2 -0
  71. package/dist/Components/KanbanBoard/AccountCard.js +17 -14
  72. package/dist/Components/KanbanBoard/KanbanBoard.js +93 -78
  73. package/dist/Components/LazyWrapper/LazyWrapper.d.ts +10 -0
  74. package/dist/Components/LazyWrapper/LazyWrapper.js +50 -0
  75. package/dist/Components/MoreItems/MoreItems.d.ts +4 -0
  76. package/dist/Components/MoreItems/MoreItems.js +35 -0
  77. package/dist/Components/MoreItems/MoreItemsProps.d.ts +29 -0
  78. package/dist/Components/MoreItems/MoreItemsProps.js +2 -0
  79. package/dist/Components/NavigationBar/NavigationBar.js +4 -4
  80. package/dist/Components/OrgSwitcher/OrgSwitcher.d.ts +4 -0
  81. package/dist/Components/OrgSwitcher/OrgSwitcher.js +121 -0
  82. package/dist/Components/OrgSwitcher/OrgSwitcherProps.d.ts +41 -0
  83. package/dist/Components/OrgSwitcher/OrgSwitcherProps.js +25 -0
  84. package/dist/Components/OrganizationDetails/CreateOrgModal.d.ts +4 -0
  85. package/dist/Components/OrganizationDetails/CreateOrgModal.js +122 -0
  86. package/dist/Components/OrganizationDetails/DeleteOrgModal.d.ts +4 -0
  87. package/dist/Components/OrganizationDetails/DeleteOrgModal.js +29 -0
  88. package/dist/Components/OrganizationDetails/OrganizationDetails.d.ts +4 -0
  89. package/dist/Components/OrganizationDetails/OrganizationDetails.js +264 -0
  90. package/dist/Components/OrganizationDetails/OrganizationDetails.test.d.ts +1 -0
  91. package/dist/Components/OrganizationDetails/OrganizationDetails.test.js +122 -0
  92. package/dist/Components/OrganizationDetails/OrganizationDetailsProps.d.ts +88 -0
  93. package/dist/Components/OrganizationDetails/OrganizationDetailsProps.js +2 -0
  94. package/dist/Components/PdfViewer/PdfViewer.d.ts +15 -0
  95. package/dist/Components/PdfViewer/PdfViewer.js +29 -0
  96. package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewer.d.ts +1 -1
  97. package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewer.js +42 -24
  98. package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewerProps.d.ts +2 -0
  99. package/dist/Components/RolesPermission/DeleteRoleModal.d.ts +4 -0
  100. package/dist/Components/RolesPermission/DeleteRoleModal.js +29 -0
  101. package/dist/Components/RolesPermission/RolesPermission.d.ts +4 -0
  102. package/dist/Components/RolesPermission/RolesPermission.js +243 -0
  103. package/dist/Components/RolesPermission/RolesPermission.test.d.ts +1 -0
  104. package/dist/Components/RolesPermission/RolesPermission.test.js +150 -0
  105. package/dist/Components/RolesPermission/RolesPermissionProps.d.ts +117 -0
  106. package/dist/Components/RolesPermission/RolesPermissionProps.js +2 -0
  107. package/dist/Components/ScrollToTop/ScrollToTop.d.ts +19 -0
  108. package/dist/Components/ScrollToTop/ScrollToTop.js +104 -0
  109. package/dist/Components/SearchSelect/SearchSelect.js +53 -21
  110. package/dist/Components/SideBar/components/OtherApps.test.js +3 -2
  111. package/dist/Components/SignInActivityTable/SignInActivityTable.d.ts +4 -0
  112. package/dist/Components/SignInActivityTable/SignInActivityTable.js +95 -0
  113. package/dist/Components/SignInActivityTable/SignInActivityTable.test.d.ts +1 -0
  114. package/dist/Components/SignInActivityTable/SignInActivityTable.test.js +63 -0
  115. package/dist/Components/SignInActivityTable/SignInActivityTableProps.d.ts +21 -0
  116. package/dist/Components/SignInActivityTable/SignInActivityTableProps.js +2 -0
  117. package/dist/Components/StageProgress/StageItem.d.ts +4 -0
  118. package/dist/Components/StageProgress/StageItem.js +137 -0
  119. package/dist/Components/StageProgress/StageProgress.d.ts +4 -0
  120. package/dist/Components/StageProgress/StageProgress.js +59 -0
  121. package/dist/Components/StageProgress/StageProgressProps.d.ts +85 -0
  122. package/dist/Components/StageProgress/StageProgressProps.js +27 -0
  123. package/dist/Components/StageProgress/StepperStage.d.ts +4 -0
  124. package/dist/Components/StageProgress/StepperStage.js +78 -0
  125. package/dist/Components/Table/Table.d.ts +1 -1
  126. package/dist/Components/Table/Table.js +167 -32
  127. package/dist/Components/Table/TableProps.d.ts +11 -3
  128. package/dist/Components/Table/components/Pagination.js +1 -1
  129. package/dist/Components/Table/components/TableActions.d.ts +2 -2
  130. package/dist/Components/Table/components/TableActions.js +5 -4
  131. package/dist/Components/Table/components/TableBody.js +98 -29
  132. package/dist/Components/Table/components/TableBody.virtualize.test.js +13 -3
  133. package/dist/Components/Table/components/TableHeader.d.ts +1 -1
  134. package/dist/Components/Table/components/TableHeader.js +9 -13
  135. package/dist/Components/Table/hooks/useTable.d.ts +2 -1
  136. package/dist/Components/Table/hooks/useTable.js +24 -10
  137. package/dist/Components/Table/settings/ManageColumns.test.js +1 -0
  138. package/dist/Components/Table/settings/TableSettings.d.ts +3 -2
  139. package/dist/Components/Table/settings/TableSettings.js +30 -6
  140. package/dist/Components/Timeline/Timeline.d.ts +1 -1
  141. package/dist/Components/Timeline/Timeline.js +145 -78
  142. package/dist/Components/Toaster/Toaster.js +40 -20
  143. package/dist/Components/UpgradeButton/UpgradeButton.d.ts +4 -0
  144. package/dist/Components/UpgradeButton/UpgradeButton.js +73 -0
  145. package/dist/Components/UpgradeButton/UpgradeButtonProps.d.ts +43 -0
  146. package/dist/Components/UpgradeButton/UpgradeButtonProps.js +2 -0
  147. package/dist/Components/UserDetails/AddUserModal.d.ts +4 -0
  148. package/dist/Components/UserDetails/AddUserModal.js +218 -0
  149. package/dist/Components/UserDetails/ChangeRoleModal.d.ts +4 -0
  150. package/dist/Components/UserDetails/ChangeRoleModal.js +150 -0
  151. package/dist/Components/UserDetails/DeactivateConfirmModal.d.ts +4 -0
  152. package/dist/Components/UserDetails/DeactivateConfirmModal.js +34 -0
  153. package/dist/Components/UserDetails/UserDetails.d.ts +4 -0
  154. package/dist/Components/UserDetails/UserDetails.js +263 -0
  155. package/dist/Components/UserDetails/UserDetails.test.d.ts +1 -0
  156. package/dist/Components/UserDetails/UserDetails.test.js +129 -0
  157. package/dist/Components/UserDetails/UserDetailsProps.d.ts +151 -0
  158. package/dist/Components/UserDetails/UserDetailsProps.js +2 -0
  159. package/dist/Theme/index.d.ts +4 -4
  160. package/dist/Theme/index.js +4 -4
  161. package/dist/Utils/table.d.ts +6 -1
  162. package/dist/Utils/table.js +47 -27
  163. package/dist/index.d.ts +23 -1
  164. package/dist/index.js +37 -2
  165. package/package.json +1 -1
@@ -0,0 +1,137 @@
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 () {
30
+ var ownKeys = function(o) {
31
+ ownKeys = Object.getOwnPropertyNames || function (o) {
32
+ var ar = [];
33
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
34
+ return ar;
35
+ };
36
+ return ownKeys(o);
37
+ };
38
+ return function (mod) {
39
+ if (mod && mod.__esModule) return mod;
40
+ var result = {};
41
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
42
+ __setModuleDefault(result, mod);
43
+ return result;
44
+ };
45
+ })();
46
+ var __importDefault = (this && this.__importDefault) || function (mod) {
47
+ return (mod && mod.__esModule) ? mod : { "default": mod };
48
+ };
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ var react_1 = __importStar(require("react"));
51
+ var react_2 = require("@chakra-ui/react");
52
+ var lucide_react_1 = require("lucide-react");
53
+ var useCustomTheme_1 = require("../../Theme/useCustomTheme");
54
+ var ToolTip_1 = __importDefault(require("../ToolTip/ToolTip"));
55
+ var StageProgressProps_1 = require("./StageProgressProps");
56
+ var sizeMap = {
57
+ sm: { arrow: 12, minW: "120px", h: "28px", px: 3, font: "0.75rem", icon: 12 },
58
+ md: { arrow: 16, minW: "160px", h: "36px", px: 4, font: "0.875rem", icon: 14 },
59
+ lg: { arrow: 20, minW: "200px", h: "44px", px: 5, font: "1rem", icon: 16 },
60
+ };
61
+ var clipFor = function (index, total, a) {
62
+ var isFirst = index === 0;
63
+ var isLast = index === total - 1;
64
+ if (total === 1)
65
+ return "none";
66
+ if (isFirst)
67
+ return "polygon(0 0, calc(100% - ".concat(a, "px) 0, 100% 50%, calc(100% - ").concat(a, "px) 100%, 0 100%)");
68
+ if (isLast)
69
+ return "polygon(0 0, 100% 0, 100% 100%, 0 100%, ".concat(a, "px 50%)");
70
+ return "polygon(0 0, calc(100% - ".concat(a, "px) 0, 100% 50%, calc(100% - ").concat(a, "px) 100%, 0 100%, ").concat(a, "px 50%)");
71
+ };
72
+ var StageItem = function (_a) {
73
+ var _b;
74
+ var label = _a.label, index = _a.index, total = _a.total, state = _a.state, _c = _a.variant, variant = _c === void 0 ? "chevron" : _c, _d = _a.size, size = _d === void 0 ? "md" : _d, _e = _a.colorScheme, colorScheme = _e === void 0 ? "primary" : _e, onClick = _a.onClick, _f = _a.isReadOnly, isReadOnly = _f === void 0 ? false : _f, _g = _a.disabled, disabled = _g === void 0 ? false : _g, _h = _a.showCheck, showCheck = _h === void 0 ? false : _h, minWidth = _a.minWidth, _j = _a.scrollIntoViewWhenActive, scrollIntoViewWhenActive = _j === void 0 ? true : _j, _k = _a.tooltipThreshold, tooltipThreshold = _k === void 0 ? 20 : _k;
75
+ var theme = (0, useCustomTheme_1.useCustomTheme)();
76
+ var palette = (0, StageProgressProps_1.resolveStagePalette)(theme, colorScheme);
77
+ var ref = (0, react_1.useRef)(null);
78
+ var s = sizeMap[size];
79
+ (0, react_1.useEffect)(function () {
80
+ if (state === "active" && scrollIntoViewWhenActive && ref.current) {
81
+ ref.current.scrollIntoView({
82
+ behavior: "smooth",
83
+ inline: "center",
84
+ block: "nearest",
85
+ });
86
+ }
87
+ }, [state, scrollIntoViewWhenActive]);
88
+ var bg = state === "active"
89
+ ? palette.strong
90
+ : state === "completed"
91
+ ? palette.soft
92
+ : palette.muted;
93
+ var color = state === "active"
94
+ ? palette.onStrong
95
+ : state === "completed"
96
+ ? palette.softText
97
+ : palette.mutedText;
98
+ var interactive = !isReadOnly && !disabled;
99
+ var isFirst = index === 0;
100
+ var isLast = index === total - 1;
101
+ var isChevron = variant === "chevron";
102
+ // Chevron pads extra on the left to clear the inbound notch and on the right
103
+ // to keep text clear of the outgoing arrow point; others are centered.
104
+ var leftPad = isChevron && !isFirst ? s.arrow + s.px * 4 : s.px * 2;
105
+ var rightPad = isChevron ? s.arrow + s.px * 4 : s.px * 2;
106
+ // Chevron overlaps into the previous point, leaving a thin 2px divider.
107
+ var overlap = isChevron && !isFirst ? -(s.arrow - 2) : 0;
108
+ var clipPath = isChevron ? clipFor(index, total, s.arrow) : "none";
109
+ var borderRadius = variant === "pills"
110
+ ? "full"
111
+ : variant === "bar"
112
+ ? isFirst && isLast
113
+ ? "8px"
114
+ : isFirst
115
+ ? "8px 2px 2px 8px"
116
+ : isLast
117
+ ? "2px 8px 8px 2px"
118
+ : "2px"
119
+ : "0";
120
+ // Upcoming pills read as outlined; other states stay filled.
121
+ var isOutlinePill = variant === "pills" && state === "upcoming";
122
+ var hoverStyles = interactive
123
+ ? state === "active"
124
+ ? { bg: palette.hover }
125
+ : { bg: palette.strong, color: palette.onStrong, borderColor: palette.strong }
126
+ : undefined;
127
+ var showTooltip = ((_b = label === null || label === void 0 ? void 0 : label.length) !== null && _b !== void 0 ? _b : 0) > tooltipThreshold;
128
+ var content = (react_1.default.createElement(react_2.Box, { ref: ref, role: interactive ? "button" : undefined, "aria-current": state === "active" ? "step" : undefined, onClick: interactive ? onClick : undefined, flexShrink: 0, minWidth: minWidth || s.minW, height: s.h, ml: "".concat(overlap, "px"), pl: "".concat(leftPad, "px"), pr: "".concat(rightPad, "px"), bg: isOutlinePill ? "transparent" : bg, color: isOutlinePill ? palette.mutedText : color, border: isOutlinePill ? "1px solid" : undefined, borderColor: isOutlinePill ? palette.muted : undefined, borderRadius: borderRadius, fontSize: s.font, fontWeight: state === "active" ? 600 : 500, display: "flex", alignItems: "center", justifyContent: isChevron ? "flex-start" : "center", cursor: interactive ? "pointer" : "default", opacity: disabled ? 0.55 : 1, transition: "background 0.18s ease, color 0.18s ease, filter 0.18s ease, border-color 0.18s ease", sx: { clipPath: clipPath }, _hover: interactive ? __assign(__assign({}, hoverStyles), { filter: "brightness(0.97)" }) : undefined },
129
+ react_1.default.createElement(react_2.Flex, { align: "center", justify: isChevron ? "flex-start" : "center", gap: "6px", width: "100%", minW: 0 },
130
+ showCheck && state === "completed" && (react_1.default.createElement(lucide_react_1.Check, { size: s.icon, style: { flexShrink: 0 } })),
131
+ react_1.default.createElement(react_2.Box, { as: "span", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis", textAlign: "center", flex: "1" }, label))));
132
+ if (showTooltip) {
133
+ return (react_1.default.createElement(ToolTip_1.default, { label: label, placement: "top", openDelay: 300 }, content));
134
+ }
135
+ return content;
136
+ };
137
+ exports.default = StageItem;
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { StageProgressProps } from "./StageProgressProps";
3
+ declare const StageProgress: React.FC<StageProgressProps>;
4
+ export default StageProgress;
@@ -0,0 +1,59 @@
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 StageItem_1 = __importDefault(require("./StageItem"));
20
+ var StepperStage_1 = __importDefault(require("./StepperStage"));
21
+ var scrollSx = {
22
+ "&::-webkit-scrollbar": { height: "4px" },
23
+ "&::-webkit-scrollbar-thumb": {
24
+ borderRadius: "10px",
25
+ backgroundColor: "rgba(0,0,0,0.25)",
26
+ },
27
+ "&::-webkit-scrollbar-track": { background: "transparent" },
28
+ };
29
+ // Gap between items per variant (chevron interlocks via negative margin).
30
+ var gapFor = {
31
+ chevron: "0",
32
+ bar: "4px",
33
+ pills: "8px",
34
+ stepper: "0",
35
+ };
36
+ var StageProgress = function (_a) {
37
+ var stages = _a.stages, _b = _a.variant, variant = _b === void 0 ? "chevron" : _b, value = _a.value, onChange = _a.onChange, _c = _a.size, size = _c === void 0 ? "md" : _c, _d = _a.colorScheme, colorScheme = _d === void 0 ? "primary" : _d, _e = _a.markCompleted, markCompleted = _e === void 0 ? true : _e, _f = _a.showCheck, showCheck = _f === void 0 ? false : _f, _g = _a.isReadOnly, isReadOnly = _g === void 0 ? false : _g, _h = _a.isLoading, isLoading = _h === void 0 ? false : _h, minStageWidth = _a.minStageWidth, _j = _a.scrollActiveIntoView, scrollActiveIntoView = _j === void 0 ? true : _j, _k = _a.tooltipThreshold, tooltipThreshold = _k === void 0 ? 20 : _k;
38
+ if (isLoading) {
39
+ var skeletonH_1 = size === "sm" ? "28px" : size === "lg" ? "44px" : "36px";
40
+ return (react_1.default.createElement(react_2.Flex, { gap: "6px", width: "100%", overflowX: "hidden", p: "0.1rem" }, Array.from({ length: 6 }).map(function (_, i) { return (react_1.default.createElement(react_2.Skeleton, { key: i, height: skeletonH_1, minWidth: minStageWidth || "160px", borderRadius: "6px", flexShrink: 0 })); })));
41
+ }
42
+ var activeIndex = stages.findIndex(function (st) { return st.id === value; });
43
+ var stateFor = function (index) {
44
+ if (index === activeIndex)
45
+ return "active";
46
+ if (markCompleted && activeIndex > -1 && index < activeIndex)
47
+ return "completed";
48
+ return "upcoming";
49
+ };
50
+ var total = stages.length;
51
+ return (react_1.default.createElement(react_2.Box, { display: "flex", alignItems: variant === "stepper" ? "flex-start" : "stretch", gap: gapFor[variant], overflowX: "hidden", p: "0.1rem", sx: __assign({ "&:hover": { overflowX: "auto" } }, scrollSx) }, stages.map(function (stage, index) {
52
+ var state = stateFor(index);
53
+ if (variant === "stepper") {
54
+ return (react_1.default.createElement(StepperStage_1.default, { key: stage.id, label: stage.label, number: index + 1, state: state, size: size, colorScheme: colorScheme, isReadOnly: isReadOnly, disabled: stage.disabled, showCheck: showCheck, isFirst: index === 0, isLast: index === total - 1, leftDone: activeIndex > -1 && index <= activeIndex, rightDone: activeIndex > -1 && index < activeIndex, scrollIntoViewWhenActive: scrollActiveIntoView, onClick: function () { return onChange === null || onChange === void 0 ? void 0 : onChange(stage.id, stage, index); } }));
55
+ }
56
+ return (react_1.default.createElement(StageItem_1.default, { key: stage.id, label: stage.label, index: index, total: total, state: state, variant: variant, size: size, colorScheme: colorScheme, isReadOnly: isReadOnly, disabled: stage.disabled, showCheck: showCheck, minWidth: minStageWidth, scrollIntoViewWhenActive: scrollActiveIntoView, tooltipThreshold: tooltipThreshold, onClick: function () { return onChange === null || onChange === void 0 ? void 0 : onChange(stage.id, stage, index); } }));
57
+ })));
58
+ };
59
+ exports.default = StageProgress;
@@ -0,0 +1,85 @@
1
+ import { CustomThemeProps } from "../../Theme/themeProps";
2
+ export type StageSize = "sm" | "md" | "lg";
3
+ export type StageColorScheme = "primary" | "secondary" | "tertiary" | "success" | "error" | "warning" | "info";
4
+ export type StageState = "completed" | "active" | "upcoming";
5
+ /** Visual style of the tracker. */
6
+ export type StageVariant = "chevron" | "bar" | "pills" | "stepper";
7
+ export interface Stage {
8
+ id: string | number;
9
+ label: string;
10
+ /** Disable selecting this stage individually. */
11
+ disabled?: boolean;
12
+ }
13
+ export interface StageProgressProps {
14
+ /** Ordered list of pipeline stages. */
15
+ stages: Stage[];
16
+ /** Visual style. Default "chevron". */
17
+ variant?: StageVariant;
18
+ /** id of the currently active stage. */
19
+ value?: string | number;
20
+ /** Fired when a stage is clicked (ignored when isReadOnly). */
21
+ onChange?: (id: string | number, stage: Stage, index: number) => void;
22
+ size?: StageSize;
23
+ colorScheme?: StageColorScheme;
24
+ /** Render stages before the active one in a distinct "done" style. Default true. */
25
+ markCompleted?: boolean;
26
+ /** Show a check icon on completed stages. Default false. */
27
+ showCheck?: boolean;
28
+ /** Render as a non-interactive indicator. */
29
+ isReadOnly?: boolean;
30
+ /** Show the loading skeleton row instead of stages. */
31
+ isLoading?: boolean;
32
+ /** Min width of each chevron. */
33
+ minStageWidth?: string;
34
+ /** Auto-scroll the active stage into view. Default true. */
35
+ scrollActiveIntoView?: boolean;
36
+ /** Label length beyond which a tooltip is shown. Default 20. */
37
+ tooltipThreshold?: number;
38
+ }
39
+ export interface StageItemProps {
40
+ label: string;
41
+ index: number;
42
+ total: number;
43
+ state: StageState;
44
+ /** "chevron" | "bar" | "pills" (stepper has its own renderer). */
45
+ variant?: Exclude<StageVariant, "stepper">;
46
+ size?: StageSize;
47
+ colorScheme?: StageColorScheme;
48
+ onClick?: () => void;
49
+ isReadOnly?: boolean;
50
+ disabled?: boolean;
51
+ showCheck?: boolean;
52
+ minWidth?: string;
53
+ scrollIntoViewWhenActive?: boolean;
54
+ tooltipThreshold?: number;
55
+ }
56
+ export interface StepperStageProps {
57
+ label: string;
58
+ /** 1-based step number shown inside the circle. */
59
+ number: number;
60
+ state: StageState;
61
+ size?: StageSize;
62
+ colorScheme?: StageColorScheme;
63
+ onClick?: () => void;
64
+ isReadOnly?: boolean;
65
+ disabled?: boolean;
66
+ showCheck?: boolean;
67
+ isFirst: boolean;
68
+ isLast: boolean;
69
+ /** Connector entering this node is part of a completed segment. */
70
+ leftDone: boolean;
71
+ /** Connector leaving this node is part of a completed segment. */
72
+ rightDone: boolean;
73
+ scrollIntoViewWhenActive?: boolean;
74
+ }
75
+ export interface StagePalette {
76
+ soft: string;
77
+ softText: string;
78
+ strong: string;
79
+ onStrong: string;
80
+ hover: string;
81
+ muted: string;
82
+ mutedText: string;
83
+ }
84
+ /** Resolve a chevron palette for a given color scheme from the theme. */
85
+ export declare const resolveStagePalette: (theme: CustomThemeProps, colorScheme?: StageColorScheme) => StagePalette;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveStagePalette = void 0;
4
+ var SEMANTIC = ["success", "error", "warning", "info"];
5
+ /** Resolve a chevron palette for a given color scheme from the theme. */
6
+ var resolveStagePalette = function (theme, colorScheme) {
7
+ var _a;
8
+ if (colorScheme === void 0) { colorScheme = "primary"; }
9
+ var colors = theme.colors;
10
+ var scale = SEMANTIC.includes(colorScheme)
11
+ ? theme.colors.semantic[colorScheme]
12
+ : colors[colorScheme];
13
+ var gray = (_a = colors.gray) !== null && _a !== void 0 ? _a : {};
14
+ var get = function (s, k, fb) {
15
+ return (s && s[k]) || fb;
16
+ };
17
+ return {
18
+ soft: get(scale, 100, "#E6F0FF"),
19
+ softText: get(scale, 700, "#1D4ED8"),
20
+ strong: get(scale, 500, "#3B82F6"),
21
+ onStrong: theme.colors.white || "#FFFFFF",
22
+ hover: get(scale, 600, "#2563EB"),
23
+ muted: get(gray, 100, "#F1F5F9"),
24
+ mutedText: get(gray, 500, "#64748B"),
25
+ };
26
+ };
27
+ exports.resolveStagePalette = resolveStagePalette;
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { StepperStageProps } from "./StageProgressProps";
3
+ declare const StepperStage: React.FC<StepperStageProps>;
4
+ export default StepperStage;
@@ -0,0 +1,78 @@
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ var react_1 = __importStar(require("react"));
37
+ var react_2 = require("@chakra-ui/react");
38
+ var lucide_react_1 = require("lucide-react");
39
+ var useCustomTheme_1 = require("../../Theme/useCustomTheme");
40
+ var StageProgressProps_1 = require("./StageProgressProps");
41
+ var sizeMap = {
42
+ sm: { circle: "24px", font: "0.7rem", label: "0.7rem", icon: 12, minW: "84px" },
43
+ md: { circle: "30px", font: "0.8rem", label: "0.8rem", icon: 14, minW: "104px" },
44
+ lg: { circle: "38px", font: "0.95rem", label: "0.9rem", icon: 16, minW: "124px" },
45
+ };
46
+ var StepperStage = function (_a) {
47
+ var label = _a.label, number = _a.number, state = _a.state, _b = _a.size, size = _b === void 0 ? "md" : _b, _c = _a.colorScheme, colorScheme = _c === void 0 ? "primary" : _c, onClick = _a.onClick, _d = _a.isReadOnly, isReadOnly = _d === void 0 ? false : _d, _e = _a.disabled, disabled = _e === void 0 ? false : _e, _f = _a.showCheck, showCheck = _f === void 0 ? true : _f, isFirst = _a.isFirst, isLast = _a.isLast, leftDone = _a.leftDone, rightDone = _a.rightDone, _g = _a.scrollIntoViewWhenActive, scrollIntoViewWhenActive = _g === void 0 ? true : _g;
48
+ var theme = (0, useCustomTheme_1.useCustomTheme)();
49
+ var palette = (0, StageProgressProps_1.resolveStagePalette)(theme, colorScheme);
50
+ var ref = (0, react_1.useRef)(null);
51
+ var s = sizeMap[size];
52
+ var interactive = !isReadOnly && !disabled;
53
+ (0, react_1.useEffect)(function () {
54
+ if (state === "active" && scrollIntoViewWhenActive && ref.current) {
55
+ ref.current.scrollIntoView({
56
+ behavior: "smooth",
57
+ inline: "center",
58
+ block: "nearest",
59
+ });
60
+ }
61
+ }, [state, scrollIntoViewWhenActive]);
62
+ var filled = state === "active" || state === "completed";
63
+ var circleBg = filled ? palette.strong : theme.colors.white;
64
+ var circleColor = filled ? palette.onStrong : palette.mutedText;
65
+ var circleBorder = filled ? palette.strong : palette.muted;
66
+ var line = function (done, hidden) { return (react_1.default.createElement(react_2.Box, { flex: "1", height: "2px", bg: done ? palette.strong : palette.muted, visibility: hidden ? "hidden" : "visible", transition: "background 0.18s ease" })); };
67
+ return (react_1.default.createElement(react_2.Flex, { ref: ref, direction: "column", align: "center", flex: "1", minWidth: s.minW, flexShrink: 0, role: "group", cursor: interactive ? "pointer" : "default", opacity: disabled ? 0.55 : 1, onClick: interactive ? onClick : undefined },
68
+ react_1.default.createElement(react_2.Flex, { align: "center", width: "100%" },
69
+ line(leftDone, isFirst),
70
+ react_1.default.createElement(react_2.Flex, { align: "center", justify: "center", boxSize: s.circle, borderRadius: "full", flexShrink: 0, bg: circleBg, color: circleColor, border: "2px solid", borderColor: circleBorder, fontSize: s.font, fontWeight: 600, transition: "all 0.18s ease", "aria-current": state === "active" ? "step" : undefined, sx: state === "active"
71
+ ? { boxShadow: "0 0 0 4px ".concat(palette.soft) }
72
+ : undefined, _groupHover: interactive
73
+ ? { borderColor: palette.strong, color: filled ? palette.onStrong : palette.strong }
74
+ : undefined }, showCheck && state === "completed" ? react_1.default.createElement(lucide_react_1.Check, { size: s.icon }) : number),
75
+ line(rightDone, isLast)),
76
+ react_1.default.createElement(react_2.Text, { mt: 2, px: 1, fontSize: s.label, fontWeight: state === "active" ? 600 : 500, color: state === "upcoming" ? palette.mutedText : palette.softText, textAlign: "center", noOfLines: 2, _groupHover: interactive ? { color: palette.strong } : undefined }, label)));
77
+ };
78
+ exports.default = StepperStage;
@@ -1,3 +1,3 @@
1
1
  import React from "react";
2
2
  import { TableProps } from "./TableProps";
3
- export default function Table({ data, columns, onSelection, isLoading, isCheckbox, headerBgColor, freezedBgColor, headerTextColor, freezedTextColor, tableBorderColor, noBorders, isPagination, onRowClick, selections, isActionFreeze, preferences, paginationMode, infiniteScroll, hasMore, isLoadingMore, noOfRowsPerPage, totalRecords, onPagination, isTableSettings, headerActions, onGlobalSearch, onNoOfRowsPerPageChange, paginationSelectOptions, tableMaxHeight, minVisibleRows, maxVisibleRows, autoFitViewport, tableSettings, filterSidebar, loadingSkeletonRows, defaultVisibleColumns, density, stripe, groupBy, groupColors, onAddItem, emptyState, }: TableProps): React.JSX.Element;
3
+ export default function Table({ data, columns, onSelection, isLoading, isCheckbox, headerBgColor, freezedBgColor, headerTextColor, freezedTextColor, tableBorderColor, noBorders, isPagination, onRowClick, selections, isActionFreeze, preferences, paginationMode, infiniteScroll, hasMore, isLoadingMore, groupLoadMore, loadMoreText, loadMorePosition, loadMoreChunkSize, noOfRowsPerPage, totalRecords, onPagination, isTableSettings, headerActions, onGlobalSearch, onNoOfRowsPerPageChange, paginationSelectOptions, tableMaxHeight, minVisibleRows, maxVisibleRows, autoFitViewport, tableSettings, filterSidebar, loadingSkeletonRows, defaultVisibleColumns, density, stripe, groupColors, onAddItem, emptyState, }: TableProps): React.JSX.Element;