pixelize-design-library 2.2.198 → 2.3.1-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/settings.local.json +24 -0
- package/coverage/clover.xml +638 -0
- package/coverage/coverage-final.json +20 -0
- package/coverage/lcov-report/Table/CompactSelect.tsx.html +379 -0
- package/coverage/lcov-report/Table/Components/ActiveFilters.tsx.html +514 -0
- package/coverage/lcov-report/Table/Components/HeaderActions.tsx.html +373 -0
- package/coverage/lcov-report/Table/Components/Pagination.tsx.html +574 -0
- package/coverage/lcov-report/Table/Components/TableActions.tsx.html +574 -0
- package/coverage/lcov-report/Table/Components/TableBody.tsx.html +1027 -0
- package/coverage/lcov-report/Table/Components/TableFilters.tsx.html +397 -0
- package/coverage/lcov-report/Table/Components/TableHeader.tsx.html +1060 -0
- package/coverage/lcov-report/Table/Components/TableLoading.tsx.html +361 -0
- package/coverage/lcov-report/Table/Components/TableSearch.tsx.html +337 -0
- package/coverage/lcov-report/Table/Components/index.html +266 -0
- package/coverage/lcov-report/Table/Components/useDebounce.ts.html +178 -0
- package/coverage/lcov-report/Table/Components/useTable.ts.html +778 -0
- package/coverage/lcov-report/Table/LeftFilterPane.tsx.html +1810 -0
- package/coverage/lcov-report/Table/SelectOperationControls.tsx.html +178 -0
- package/coverage/lcov-report/Table/Table.tsx.html +1567 -0
- package/coverage/lcov-report/Table/TableProps.tsx.html +658 -0
- package/coverage/lcov-report/Table/TableSettings/ManageColumns.tsx.html +619 -0
- package/coverage/lcov-report/Table/TableSettings/TableFilters.tsx.html +229 -0
- package/coverage/lcov-report/Table/TableSettings/TableSettings.tsx.html +532 -0
- package/coverage/lcov-report/Table/TableSettings/index.html +146 -0
- package/coverage/lcov-report/Table/TableToDo.tsx.html +973 -0
- package/coverage/lcov-report/Table/TextOperationControls.tsx.html +271 -0
- package/coverage/lcov-report/Table/filterTypes.ts.html +97 -0
- package/coverage/lcov-report/Table/index.html +176 -0
- package/coverage/lcov-report/base.css +224 -0
- package/coverage/lcov-report/block-navigation.js +87 -0
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +146 -0
- package/coverage/lcov-report/prettify.css +1 -0
- package/coverage/lcov-report/prettify.js +2 -0
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +210 -0
- package/coverage/lcov.info +1836 -0
- package/dist/Assets/defaultLogo.tsx +31 -0
- package/dist/Components/Button/Button.styles.js +44 -3
- package/dist/Components/Button/ButtonProps.d.ts +1 -1
- package/dist/Components/ButtonGroupIcon/ButtonGoupIconProps.d.ts +2 -2
- package/dist/Components/ButtonGroupIcon/ButtonGroupIcon.js +50 -38
- package/dist/Components/Checkbox/Checkbox.js +2 -2
- package/dist/Components/Checkbox/Checkbox.styles.js +2 -0
- package/dist/Components/Common/FormLabel.d.ts +2 -1
- package/dist/Components/Common/FormLabel.js +8 -9
- package/dist/Components/Common/fieldStyles.d.ts +22 -0
- package/dist/Components/Common/fieldStyles.js +42 -0
- package/dist/Components/DatePicker/CalendarPanel.d.ts +2 -0
- package/dist/Components/DatePicker/CalendarPanel.js +104 -65
- package/dist/Components/DatePicker/RangeDatePicker.js +37 -16
- package/dist/Components/DatePicker/SingleDatePicker.js +16 -16
- package/dist/Components/DatePicker/TimePicker.js +4 -4
- package/dist/Components/Input/Input/Input.d.ts +1 -1
- package/dist/Components/Input/Input/Input.js +5 -4
- package/dist/Components/Input/Input/InputProps.d.ts +2 -0
- package/dist/Components/Input/TextInput.styles.js +2 -1
- package/dist/Components/InputTextArea/InputTextArea.style.js +2 -1
- package/dist/Components/MultiSelect/MultiSelect.js +11 -12
- package/dist/Components/NavigationBar/NavigationBar.d.ts +1 -1
- package/dist/Components/NavigationBar/NavigationBar.js +54 -27
- package/dist/Components/NavigationBar/NavigationBarProps.d.ts +1 -0
- package/dist/Components/NoteTextArea/NoteTextArea.js +44 -40
- package/dist/Components/NumberInput/NumberInput.styles.js +2 -1
- package/dist/Components/PinInput/PinInput.d.ts +1 -1
- package/dist/Components/PinInput/PinInput.js +3 -2
- package/dist/Components/PinInput/PinInputProps.d.ts +4 -0
- package/dist/Components/RadioButton/RadioButton.js +1 -1
- package/dist/Components/SearchSelect/SearchSelect.d.ts +1 -1
- package/dist/Components/SearchSelect/SearchSelect.js +3 -3
- package/dist/Components/SearchSelect/SearchSelectProps.d.ts +2 -0
- package/dist/Components/Select/Select.styles.js +2 -1
- package/dist/Components/SelectSearch/SelectSearch.js +7 -4
- package/dist/Components/SideBar/SecondaryBar.js +20 -18
- package/dist/Components/SideBar/SideBar.d.ts +1 -1
- package/dist/Components/SideBar/SideBar.js +58 -43
- package/dist/Components/SideBar/SideBarProps.d.ts +14 -3
- package/dist/Components/SideBar/components/MenuItemBox.js +28 -24
- package/dist/Components/SideBar/components/MenuItems.js +16 -2
- package/dist/Components/SideBar/components/MenuPopoverContent.js +16 -16
- package/dist/Components/SideBar/components/OtherApps.js +16 -14
- package/dist/Components/Table/Table.d.ts +1 -1
- package/dist/Components/Table/Table.js +119 -38
- package/dist/Components/Table/TableProps.d.ts +34 -2
- package/dist/Components/Table/{Components → components}/TableBody.d.ts +5 -1
- package/dist/Components/Table/components/TableBody.js +303 -0
- package/dist/Components/Table/components/TableGroupRow.d.ts +15 -0
- package/dist/Components/Table/components/TableGroupRow.js +27 -0
- package/dist/Components/Table/{Components → components}/TableHeader.js +23 -9
- package/dist/Components/Table/{LeftFilterPane.js → filters/LeftFilterPane.js} +3 -3
- package/dist/Components/Table/{TableSettings → settings}/TableSettings.d.ts +4 -2
- package/dist/Components/Table/settings/TableSettings.js +141 -0
- package/dist/Theme/Default/palette.d.ts +4 -0
- package/dist/Theme/Default/palette.js +3 -0
- package/dist/Theme/Emerald/palette.d.ts +4 -0
- package/dist/Theme/Emerald/palette.js +2 -1
- package/dist/Theme/Meadow/palette.d.ts +4 -0
- package/dist/Theme/Meadow/palette.js +2 -1
- package/dist/Theme/Radiant/palette.d.ts +4 -0
- package/dist/Theme/Radiant/palette.js +2 -1
- package/dist/Theme/Rosewood/palette.d.ts +4 -0
- package/dist/Theme/Rosewood/palette.js +2 -1
- package/dist/Theme/Skyline/palette.d.ts +4 -0
- package/dist/Theme/Skyline/palette.js +2 -1
- package/dist/Theme/Slate/palette.d.ts +4 -0
- package/dist/Theme/Slate/palette.js +2 -1
- package/dist/Theme/themeProps.d.ts +4 -0
- package/dist/Utils/table.d.ts +21 -0
- package/dist/Utils/table.js +98 -14
- package/package.json +2 -2
- package/dist/Components/Table/Components/TableBody.js +0 -201
- package/dist/Components/Table/TableSettings/TableFilters.d.ts +0 -10
- package/dist/Components/Table/TableSettings/TableFilters.js +0 -69
- package/dist/Components/Table/TableSettings/TableFilters.test.d.ts +0 -1
- package/dist/Components/Table/TableSettings/TableFilters.test.js +0 -109
- package/dist/Components/Table/TableSettings/TableSettings.js +0 -141
- package/dist/Components/Table/TableToDo.d.ts +0 -2
- package/dist/Components/Table/TableToDo.js +0 -291
- /package/dist/Components/Table/{Components → components}/HeaderActions.d.ts +0 -0
- /package/dist/Components/Table/{Components → components}/HeaderActions.js +0 -0
- /package/dist/Components/Table/{Components → components}/Pagination.d.ts +0 -0
- /package/dist/Components/Table/{Components → components}/Pagination.js +0 -0
- /package/dist/Components/Table/{Components → components}/TableActions.d.ts +0 -0
- /package/dist/Components/Table/{Components → components}/TableActions.js +0 -0
- /package/dist/Components/Table/{Components → components}/TableBody.virtualize.test.d.ts +0 -0
- /package/dist/Components/Table/{Components → components}/TableBody.virtualize.test.js +0 -0
- /package/dist/Components/Table/{Components → components}/TableHeader.d.ts +0 -0
- /package/dist/Components/Table/{Components → components}/TableLoading.d.ts +0 -0
- /package/dist/Components/Table/{Components → components}/TableLoading.js +0 -0
- /package/dist/Components/Table/{Components → components}/TableSearch.d.ts +0 -0
- /package/dist/Components/Table/{Components → components}/TableSearch.js +0 -0
- /package/dist/Components/Table/{Components → filters}/ActiveFilters.d.ts +0 -0
- /package/dist/Components/Table/{Components → filters}/ActiveFilters.js +0 -0
- /package/dist/Components/Table/{CompactSelect.d.ts → filters/CompactSelect.d.ts} +0 -0
- /package/dist/Components/Table/{CompactSelect.js → filters/CompactSelect.js} +0 -0
- /package/dist/Components/Table/{LeftFilterPane.d.ts → filters/LeftFilterPane.d.ts} +0 -0
- /package/dist/Components/Table/{SelectOperationControls.d.ts → filters/SelectOperationControls.d.ts} +0 -0
- /package/dist/Components/Table/{SelectOperationControls.js → filters/SelectOperationControls.js} +0 -0
- /package/dist/Components/Table/{Components → filters}/TableFilters.d.ts +0 -0
- /package/dist/Components/Table/{Components → filters}/TableFilters.js +0 -0
- /package/dist/Components/Table/{TextOperationControls.d.ts → filters/TextOperationControls.d.ts} +0 -0
- /package/dist/Components/Table/{TextOperationControls.js → filters/TextOperationControls.js} +0 -0
- /package/dist/Components/Table/{Components → hooks}/useDebounce.d.ts +0 -0
- /package/dist/Components/Table/{Components → hooks}/useDebounce.js +0 -0
- /package/dist/Components/Table/{Components → hooks}/useTable.d.ts +0 -0
- /package/dist/Components/Table/{Components → hooks}/useTable.js +0 -0
- /package/dist/Components/Table/{TableSettings → settings}/ManageColumns.d.ts +0 -0
- /package/dist/Components/Table/{TableSettings → settings}/ManageColumns.js +0 -0
- /package/dist/Components/Table/{TableSettings → settings}/ManageColumns.test.d.ts +0 -0
- /package/dist/Components/Table/{TableSettings → settings}/ManageColumns.test.js +0 -0
|
@@ -1,4 +1,15 @@
|
|
|
1
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
|
+
};
|
|
2
13
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
15
|
};
|
|
@@ -10,48 +21,64 @@ var useCustomTheme_1 = require("../../Theme/useCustomTheme");
|
|
|
10
21
|
var lucide_react_1 = require("lucide-react");
|
|
11
22
|
function NavBar(_a) {
|
|
12
23
|
var _b, _c, _d, _e;
|
|
13
|
-
var userAvathar = _a.userAvathar, userName = _a.userName, navMenu = _a.navMenu, moreIcon = _a.moreIcon, handleNavOnClick = _a.handleNavOnClick, handleLogout = _a.handleLogout, logoutText = _a.logoutText, navigationBarText = _a.navigationBarText, sideBarToggole = _a.sideBarToggole, onSideBarToggole = _a.onSideBarToggole;
|
|
24
|
+
var userAvathar = _a.userAvathar, userName = _a.userName, userRole = _a.userRole, navMenu = _a.navMenu, moreIcon = _a.moreIcon, handleNavOnClick = _a.handleNavOnClick, handleLogout = _a.handleLogout, logoutText = _a.logoutText, navigationBarText = _a.navigationBarText, sideBarToggole = _a.sideBarToggole, onSideBarToggole = _a.onSideBarToggole;
|
|
14
25
|
var theme = (0, useCustomTheme_1.useCustomTheme)();
|
|
15
|
-
|
|
26
|
+
// Shared rounded pill affordance for the bar's icon controls.
|
|
27
|
+
var iconButtonStyle = {
|
|
28
|
+
w: "1.75rem",
|
|
29
|
+
h: "1.75rem",
|
|
30
|
+
alignItems: "center",
|
|
31
|
+
justifyContent: "center",
|
|
32
|
+
borderRadius: "md",
|
|
33
|
+
cursor: "pointer",
|
|
34
|
+
transition: "background 0.15s",
|
|
35
|
+
_hover: { bg: "blackAlpha.50" },
|
|
36
|
+
};
|
|
37
|
+
// Light elevated pill item.
|
|
38
|
+
var menuItemStyle = {
|
|
39
|
+
bg: "transparent",
|
|
40
|
+
borderRadius: "7px",
|
|
41
|
+
mx: "0.375rem",
|
|
42
|
+
px: "0.625rem",
|
|
43
|
+
py: "0.5rem",
|
|
44
|
+
fontWeight: 500,
|
|
45
|
+
fontSize: "13px",
|
|
46
|
+
color: "gray.700",
|
|
47
|
+
gap: theme.space["2"],
|
|
48
|
+
transition: "background 0.12s",
|
|
49
|
+
_hover: { bg: theme.colors.primary[50], color: theme.colors.primary[700] },
|
|
50
|
+
_focus: { bg: theme.colors.primary[50], color: theme.colors.primary[700] },
|
|
51
|
+
_active: { bg: theme.colors.primary[50], color: theme.colors.primary[700] },
|
|
52
|
+
};
|
|
53
|
+
return (react_1.default.createElement(react_2.Box, { bg: theme.colors.backgroundColor.light, px: 4, borderBottom: "1px solid", borderColor: "blackAlpha.100" },
|
|
16
54
|
react_1.default.createElement(react_2.Flex, { h: 16, alignItems: "center", justifyContent: "space-between" },
|
|
17
55
|
react_1.default.createElement(react_2.Box, { display: "flex", gap: 1.5, alignItems: "center" },
|
|
18
|
-
react_1.default.createElement(react_2.Box, { onClick: function () { return onSideBarToggole === null || onSideBarToggole === void 0 ? void 0 : onSideBarToggole(); }, display: { base: "
|
|
19
|
-
(navigationBarText === null || navigationBarText === void 0 ? void 0 : navigationBarText.onIconClick) && (react_1.default.createElement(react_2.Box, {
|
|
56
|
+
react_1.default.createElement(react_2.Box, __assign({ onClick: function () { return onSideBarToggole === null || onSideBarToggole === void 0 ? void 0 : onSideBarToggole(); }, display: { base: "flex", lg: "none", xl: "none", md: "none" } }, iconButtonStyle), sideBarToggole ? (react_1.default.createElement(lucide_react_1.PanelLeftClose, { size: "1.25rem" })) : (react_1.default.createElement(lucide_react_1.PanelRightClose, { size: "1.25rem" }))),
|
|
57
|
+
(navigationBarText === null || navigationBarText === void 0 ? void 0 : navigationBarText.onIconClick) && (react_1.default.createElement(react_2.Box, __assign({}, iconButtonStyle, { display: "flex", onClick: function () { var _a; return (_a = navigationBarText === null || navigationBarText === void 0 ? void 0 : navigationBarText.onIconClick) === null || _a === void 0 ? void 0 : _a.call(navigationBarText); } }),
|
|
20
58
|
react_1.default.createElement(lucide_react_1.CircleArrowLeft, { size: "1.25rem", color: (_c = (_b = theme === null || theme === void 0 ? void 0 : theme.colors) === null || _b === void 0 ? void 0 : _b.text) === null || _c === void 0 ? void 0 : _c[500] }))),
|
|
21
59
|
(navigationBarText === null || navigationBarText === void 0 ? void 0 : navigationBarText.text) && (react_1.default.createElement(react_2.Text, { color: (_e = (_d = theme === null || theme === void 0 ? void 0 : theme.colors) === null || _d === void 0 ? void 0 : _d.secondary) === null || _e === void 0 ? void 0 : _e[500], fontSize: "1.25rem", fontWeight: 600, fontFamily: "open-sans, sans-serif", letterSpacing: "-0.013rem" }, navigationBarText === null || navigationBarText === void 0 ? void 0 : navigationBarText.text))),
|
|
22
60
|
react_1.default.createElement(react_2.Flex, null,
|
|
23
61
|
react_1.default.createElement(react_2.Stack, { direction: "row", alignItems: "center", spacing: 7 },
|
|
24
62
|
react_1.default.createElement(react_2.Menu, null,
|
|
25
|
-
react_1.default.createElement(react_2.Box, {
|
|
63
|
+
moreIcon && react_1.default.createElement(react_2.Box, __assign({}, iconButtonStyle, { display: "flex" }), moreIcon),
|
|
26
64
|
react_1.default.createElement(react_2.MenuButton, { as: react_2.Button, rounded: "full", variant: "link", cursor: "pointer", minW: 0 },
|
|
27
65
|
react_1.default.createElement(react_2.Avatar, { size: "sm", name: userName, src: userAvathar })),
|
|
28
|
-
react_1.default.createElement(react_2.MenuList, { alignItems: "center", zIndex: 5, p: 0 },
|
|
66
|
+
react_1.default.createElement(react_2.MenuList, { alignItems: "center", zIndex: 5, p: 0, py: "0.375rem", bg: theme.colors.backgroundColor.light, border: "1px solid", borderColor: "blackAlpha.100", borderRadius: "0.75rem", boxShadow: "lg", color: "gray.700", overflow: "hidden" },
|
|
29
67
|
react_1.default.createElement(react_2.Box, { display: "flex", flexDirection: "column", maxH: "90vh" },
|
|
30
|
-
react_1.default.createElement(react_2.Center, {
|
|
68
|
+
react_1.default.createElement(react_2.Center, { pt: 4, pb: 2 },
|
|
31
69
|
react_1.default.createElement(react_2.Avatar, { size: "xl", name: userName, src: userAvathar })),
|
|
32
|
-
react_1.default.createElement(react_2.Center,
|
|
33
|
-
react_1.default.createElement(react_2.Text, { fontWeight:
|
|
34
|
-
|
|
70
|
+
react_1.default.createElement(react_2.Center, { flexDirection: "column", gap: "0.125rem", pb: 2, px: 4 },
|
|
71
|
+
react_1.default.createElement(react_2.Text, { fontWeight: 600, fontSize: "14px", color: "gray.800", isTruncated: true, maxW: "100%" }, userName),
|
|
72
|
+
userRole && (react_1.default.createElement(react_2.Text, { fontSize: "11px", color: "gray.500", isTruncated: true, maxW: "100%" }, userRole))),
|
|
73
|
+
react_1.default.createElement(react_2.MenuDivider, { borderColor: "blackAlpha.100" }),
|
|
35
74
|
react_1.default.createElement(react_2.Box, { flex: 1, overflowY: "auto" }, navMenu === null || navMenu === void 0 ? void 0 : navMenu.map(function (menu, idx) {
|
|
36
75
|
var _a, _b, _c;
|
|
37
|
-
return (react_1.default.createElement(react_2.MenuItem, { onClick: function () { return handleNavOnClick(menu.url); }, key: "".concat(String((_c = (_b = (_a = menu.id) !== null && _a !== void 0 ? _a : menu.url) !== null && _b !== void 0 ? _b : menu.title) !== null && _c !== void 0 ? _c : idx), "-").concat(idx), sx:
|
|
38
|
-
|
|
39
|
-
gap: theme.space["2"],
|
|
40
|
-
}, _focus: {
|
|
41
|
-
backgroundColor: "transparent",
|
|
42
|
-
}, _hover: {
|
|
43
|
-
backgroundColor: theme.colors.primary["50"],
|
|
44
|
-
} },
|
|
45
|
-
menu.icon && react_1.default.createElement(react_2.Box, null, menu === null || menu === void 0 ? void 0 : menu.icon),
|
|
76
|
+
return (react_1.default.createElement(react_2.MenuItem, { onClick: function () { return handleNavOnClick(menu.url); }, key: "".concat(String((_c = (_b = (_a = menu.id) !== null && _a !== void 0 ? _a : menu.url) !== null && _b !== void 0 ? _b : menu.title) !== null && _c !== void 0 ? _c : idx), "-").concat(idx), sx: menuItemStyle },
|
|
77
|
+
menu.icon && (react_1.default.createElement(react_2.Box, { display: "flex", alignItems: "center", flexShrink: 0, sx: { "& svg": { width: "16px", height: "16px" } } }, menu === null || menu === void 0 ? void 0 : menu.icon)),
|
|
46
78
|
react_1.default.createElement(react_2.Box, null, menu.title)));
|
|
47
79
|
})),
|
|
48
|
-
react_1.default.createElement(react_2.MenuDivider,
|
|
49
|
-
react_1.default.createElement(react_2.MenuItem, { onClick: handleLogout, sx: {
|
|
50
|
-
|
|
51
|
-
gap: theme.space["2"],
|
|
52
|
-
}, _hover: {
|
|
53
|
-
backgroundColor: theme.colors.primary["50"],
|
|
54
|
-
} },
|
|
55
|
-
react_1.default.createElement(react_2.Box, null, react_1.default.createElement(lucide_react_1.LogOut, { size: 16 })),
|
|
80
|
+
react_1.default.createElement(react_2.MenuDivider, { borderColor: "blackAlpha.100" }),
|
|
81
|
+
react_1.default.createElement(react_2.MenuItem, { onClick: handleLogout, sx: __assign(__assign({}, menuItemStyle), { color: "red.500", _hover: { bg: "red.50", color: "red.600" }, _focus: { bg: "red.50", color: "red.600" }, _active: { bg: "red.50", color: "red.600" } }) },
|
|
82
|
+
react_1.default.createElement(react_2.Box, { display: "flex", alignItems: "center" }, react_1.default.createElement(lucide_react_1.LogOut, { size: 16 })),
|
|
56
83
|
react_1.default.createElement(react_2.Box, null, logoutText))))))))));
|
|
57
84
|
}
|
|
@@ -47,6 +47,7 @@ var react_1 = __importStar(require("react"));
|
|
|
47
47
|
var react_2 = require("@chakra-ui/react");
|
|
48
48
|
var lucide_react_1 = require("lucide-react");
|
|
49
49
|
var useCustomTheme_1 = require("../../Theme/useCustomTheme");
|
|
50
|
+
var fieldStyles_1 = require("../Common/fieldStyles");
|
|
50
51
|
var countWords = function (text) {
|
|
51
52
|
if (text === void 0) { text = ""; }
|
|
52
53
|
var t = text.trim();
|
|
@@ -160,43 +161,45 @@ function NoteTextArea(_a) {
|
|
|
160
161
|
var start = nameWithoutExtension.substring(0, maxLength - extension.length - 3);
|
|
161
162
|
return "".concat(start, "...").concat(extension);
|
|
162
163
|
};
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
164
|
+
var noteWordCount = countWords(noteValue);
|
|
165
|
+
var isOverLimit = noteWordCount > maxNoteWordCount;
|
|
166
|
+
return (react_1.default.createElement(react_2.Box, { w: width, borderRadius: fieldStyles_1.FIELD_RADIUS, overflow: "hidden", border: "1px solid", borderColor: isActive ? theme.colors.primary[500] : (_b = theme.colors.boxborder) === null || _b === void 0 ? void 0 : _b[500], bg: isActive ? theme.colors.gray[50] : theme.colors.white, transition: "border-color 0.2s" },
|
|
167
|
+
!isActive && (react_1.default.createElement(react_2.Flex, { px: 3, gap: 2, align: "center", cursor: "text", onClick: handleTextArea, bg: theme.colors.white, borderRadius: fieldStyles_1.FIELD_RADIUS, minH: "2.5rem", transition: "background 0.15s", _hover: { bg: theme.colors.gray[50] } },
|
|
168
|
+
react_1.default.createElement(lucide_react_1.SquarePen, { size: 16, color: theme.colors.gray[500] }),
|
|
169
|
+
react_1.default.createElement(react_2.Text, { color: theme.colors.gray[500], fontSize: "sm" }, customPlaceholder))),
|
|
166
170
|
isActive && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
167
171
|
react_1.default.createElement(react_2.Box, { bg: theme.colors.white },
|
|
168
|
-
titleShow && (react_1.default.createElement(
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
react_1.default.createElement(react_2.
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
react_1.default.createElement(react_2.
|
|
172
|
+
titleShow && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
173
|
+
react_1.default.createElement(react_2.Input, { ref: inputRef, value: titleValue, onChange: function (e) {
|
|
174
|
+
if (e.target.value.length === 0)
|
|
175
|
+
setTitleShow(false);
|
|
176
|
+
setTitleValue(e.target.value);
|
|
177
|
+
}, placeholder: "Add a title...", variant: "unstyled", px: 3, pt: 2.5, pb: 1.5, fontWeight: 600, fontSize: "0.875rem", color: theme.colors.text[700], _placeholder: {
|
|
178
|
+
fontStyle: "italic",
|
|
179
|
+
color: theme.colors.gray[300],
|
|
180
|
+
} }),
|
|
181
|
+
react_1.default.createElement(react_2.Divider, { borderColor: theme.colors.gray[200] }))),
|
|
182
|
+
react_1.default.createElement(react_2.Box, { bg: theme.colors.white, minH: "76px", px: 3, pt: 2.5, position: "relative" },
|
|
183
|
+
react_1.default.createElement(react_2.Textarea, { ref: noteAreaRef, value: noteValue, onChange: handleNoteChange, placeholder: customPlaceholder, variant: "unstyled", resize: "none", minH: "76px", fontSize: "0.75rem", color: theme.colors.text[700], _placeholder: { fontStyle: "italic", color: theme.colors.gray[300] }, style: { overflow: "hidden" }, p: 0 }))),
|
|
184
|
+
react_1.default.createElement(react_2.Divider, { borderColor: theme.colors.gray[200] }),
|
|
185
|
+
react_1.default.createElement(react_2.Box, { px: 3, py: 2.5 },
|
|
186
|
+
react_1.default.createElement(react_2.Flex, { align: "center", justify: "space-between", w: "100%", gap: 3 },
|
|
187
|
+
react_1.default.createElement(react_2.Flex, { align: "center", gap: 2, minW: 0 },
|
|
188
|
+
react_1.default.createElement(react_2.Tooltip, { label: "Attach files", hasArrow: true, placement: "top" },
|
|
189
|
+
react_1.default.createElement(react_2.Box, { as: "label", htmlFor: "file-upload", cursor: "pointer", display: "flex", alignItems: "center", justifyContent: "center", w: "1.75rem", h: "1.75rem", borderRadius: "md", color: theme.colors.gray[600], transition: "background 0.15s", _hover: { bg: theme.colors.gray[100] } },
|
|
190
|
+
react_1.default.createElement(lucide_react_1.Paperclip, { size: 16 }))),
|
|
191
|
+
react_1.default.createElement(react_2.Box, { h: "1rem", w: "1px", bg: theme.colors.gray[200] }),
|
|
192
|
+
!titleShow ? (react_1.default.createElement(react_2.Box, { as: "button", type: "button", onClick: function () { return setTitleShow(true); }, px: 2, py: 1, borderRadius: "md", color: theme.colors.gray[600], fontWeight: 500, fontSize: "sm", transition: "background 0.15s", _hover: { bg: theme.colors.gray[100] } }, "+ Add a title")) : (react_1.default.createElement(react_2.Tooltip, { label: titleValue, hasArrow: true, isDisabled: !titleValue },
|
|
193
|
+
react_1.default.createElement(react_2.Text, { color: theme.colors.gray[600], fontSize: "sm", fontWeight: 500, isTruncated: true, maxW: "180px" }, titleValue || "Title")))),
|
|
194
|
+
react_1.default.createElement(react_2.Flex, { gap: 2.5, align: "center", ml: "auto", flexShrink: 0 },
|
|
195
|
+
react_1.default.createElement(react_2.Text, { fontSize: "xs", fontWeight: 500, color: isOverLimit ? theme.colors.semantic.error[500] : theme.colors.gray[500], whiteSpace: "nowrap" },
|
|
196
|
+
noteWordCount,
|
|
197
|
+
"/",
|
|
198
|
+
maxNoteWordCount),
|
|
199
|
+
cancelButtonHide ? null : (react_1.default.createElement(react_2.Button, { size: "sm", variant: "ghost", colorScheme: "gray", onClick: handleCloseTextArea }, "Cancel")),
|
|
200
|
+
react_1.default.createElement(react_2.Button, { size: "sm", variant: "solid", isLoading: !!saveButtonLoading, isDisabled: !noteValue || isSaveDisabled, onClick: function () { return handleSubmit(noteValue, titleValue, files); } },
|
|
192
201
|
saveButtonLoading ? (react_1.default.createElement(react_2.Spinner, { size: "xs", thickness: "2px", mr: 2 })) : null,
|
|
193
202
|
"Save"))),
|
|
194
|
-
react_1.default.createElement(react_2.Flex, { mt: 3, gap: 2, align: "center", color: theme.colors.gray[600], fontSize: "sm" },
|
|
195
|
-
react_1.default.createElement(react_2.Text, { fontWeight: 600 }, "Note:"),
|
|
196
|
-
react_1.default.createElement(react_2.Text, null,
|
|
197
|
-
"You can add up to ",
|
|
198
|
-
maxNoteWordCount,
|
|
199
|
-
" words only")),
|
|
200
203
|
react_1.default.createElement("input", { id: "file-upload", type: "file", style: { display: "none" }, onChange: function (e) {
|
|
201
204
|
var newFiles = Array.from(e.target.files || []);
|
|
202
205
|
var validFiles = newFiles.filter(function (f) { return f.size <= maxFileSize; });
|
|
@@ -211,12 +214,13 @@ function NoteTextArea(_a) {
|
|
|
211
214
|
setFiles(function (prev) { return __spreadArray(__spreadArray([], prev, true), validFiles, true); });
|
|
212
215
|
}
|
|
213
216
|
}, multiple: true }),
|
|
214
|
-
fileError && (react_1.default.createElement(react_2.Text, { color: theme.colors.
|
|
215
|
-
files.length > 0 && (react_1.default.createElement(react_2.
|
|
216
|
-
react_1.default.createElement(
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
react_1.default.createElement(
|
|
217
|
+
fileError && (react_1.default.createElement(react_2.Text, { color: theme.colors.semantic.error[500], mt: 2, fontSize: "xs" }, fileError)),
|
|
218
|
+
files.length > 0 && (react_1.default.createElement(react_2.Flex, { mt: 3, gap: 2, wrap: "wrap" }, files.map(function (f, idx) { return (react_1.default.createElement(react_2.Flex, { key: idx, align: "center", gap: 2, pl: 2.5, pr: 1.5, py: 1, borderRadius: "full", bg: theme.colors.gray[100], maxW: "100%" },
|
|
219
|
+
react_1.default.createElement(lucide_react_1.File, { size: 13, color: theme.colors.gray[500] }),
|
|
220
|
+
react_1.default.createElement(react_2.Text, { fontSize: "xs", color: theme.colors.text[700], isTruncated: true, maxW: "160px" }, shortenFileName(f.name)),
|
|
221
|
+
react_1.default.createElement(react_2.Text, { fontSize: "xs", color: theme.colors.gray[500], whiteSpace: "nowrap" }, formatBytes(f.size)),
|
|
222
|
+
react_1.default.createElement(react_2.Box, { as: "button", type: "button", display: "flex", alignItems: "center", justifyContent: "center", borderRadius: "full", p: 0.5, color: theme.colors.gray[500], transition: "all 0.15s", _hover: { bg: theme.colors.gray[200], color: theme.colors.semantic.error[500] }, onClick: function () {
|
|
220
223
|
return setFiles(function (prev) { return prev.filter(function (fileItem) { return fileItem !== f; }); });
|
|
221
|
-
} }
|
|
224
|
+
} },
|
|
225
|
+
react_1.default.createElement(lucide_react_1.X, { size: 13 })))); }))))))));
|
|
222
226
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { ChakraPinInputProps } from "./PinInputProps";
|
|
3
|
-
export default function PinInputs({ otp, mask, defaultValue, placeholder, manageFocus, errorBorderColor, focusBorderColor, onChange, onComplete, type, color, variant, pins, label, }: ChakraPinInputProps): React.JSX.Element;
|
|
3
|
+
export default function PinInputs({ otp, mask, defaultValue, placeholder, manageFocus, errorBorderColor, focusBorderColor, onChange, onComplete, type, color, variant, pins, label, id, isRequired, isInformation, informationMessage, }: ChakraPinInputProps): React.JSX.Element;
|
|
@@ -7,11 +7,12 @@ exports.default = PinInputs;
|
|
|
7
7
|
var react_1 = __importDefault(require("react"));
|
|
8
8
|
var react_2 = require("@chakra-ui/react");
|
|
9
9
|
var useCustomTheme_1 = require("../../Theme/useCustomTheme");
|
|
10
|
+
var FormLabel_1 = require("../Common/FormLabel");
|
|
10
11
|
function PinInputs(_a) {
|
|
11
|
-
var otp = _a.otp, mask = _a.mask, defaultValue = _a.defaultValue, placeholder = _a.placeholder, manageFocus = _a.manageFocus, errorBorderColor = _a.errorBorderColor, focusBorderColor = _a.focusBorderColor, onChange = _a.onChange, onComplete = _a.onComplete, type = _a.type, _b = _a.color, color = _b === void 0 ? "primary" : _b, variant = _a.variant, _c = _a.pins, pins = _c === void 0 ? 3 : _c, label = _a.label;
|
|
12
|
+
var otp = _a.otp, mask = _a.mask, defaultValue = _a.defaultValue, placeholder = _a.placeholder, manageFocus = _a.manageFocus, errorBorderColor = _a.errorBorderColor, focusBorderColor = _a.focusBorderColor, onChange = _a.onChange, onComplete = _a.onComplete, type = _a.type, _b = _a.color, color = _b === void 0 ? "primary" : _b, variant = _a.variant, _c = _a.pins, pins = _c === void 0 ? 3 : _c, label = _a.label, id = _a.id, isRequired = _a.isRequired, isInformation = _a.isInformation, informationMessage = _a.informationMessage;
|
|
12
13
|
var theme = (0, useCustomTheme_1.useCustomTheme)();
|
|
13
14
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
14
|
-
label && (react_1.default.createElement(
|
|
15
|
+
label && (react_1.default.createElement(FormLabel_1.TextLabel, { label: label, id: id, isRequired: isRequired, isInformation: isInformation, informationMessage: informationMessage })),
|
|
15
16
|
react_1.default.createElement(react_2.HStack, null,
|
|
16
17
|
react_1.default.createElement(react_2.PinInput, { otp: otp, mask: mask, defaultValue: defaultValue, placeholder: placeholder, manageFocus: manageFocus, errorBorderColor: errorBorderColor, focusBorderColor: focusBorderColor, onChange: onChange, onComplete: onComplete, type: type, colorScheme: color, variant: variant }, Array.from({ length: pins }).map(function (_, index) { return (react_1.default.createElement(react_2.PinInputField, { key: index, backgroundColor: theme.colors.background[100], borderColor: theme.colors.boxborder[300], _focus: {
|
|
17
18
|
borderColor: theme.colors.primary[500],
|
|
@@ -6,4 +6,8 @@ export type ChakraPinInputProps = Pick<PinInputProps, "otp" | "mask" | "defaultV
|
|
|
6
6
|
color?: "gray" | "red" | "orange" | "yellow" | "green" | "teal" | "blue" | "cyan" | "purple" | "pink" | "whiteAlpha" | "blackAlpha" | "primary";
|
|
7
7
|
pins: number;
|
|
8
8
|
label?: string;
|
|
9
|
+
id?: string;
|
|
10
|
+
isRequired?: boolean;
|
|
11
|
+
isInformation?: boolean;
|
|
12
|
+
informationMessage?: string;
|
|
9
13
|
};
|
|
@@ -25,7 +25,7 @@ var RadioButton = function (_a) {
|
|
|
25
25
|
boxShadow: "0 0 0 2px ".concat(theme.colors.primary[200]),
|
|
26
26
|
},
|
|
27
27
|
} },
|
|
28
|
-
react_1.default.createElement(FormLabel_1.TextLabel, { label: label, fontSize: labelFontSize, showTooltip: showLabelTooltip, tooltipLabel: labelTooltip, clampLines: labelClampLines })));
|
|
28
|
+
react_1.default.createElement(FormLabel_1.TextLabel, { label: label, fontSize: labelFontSize, showTooltip: showLabelTooltip, tooltipLabel: labelTooltip, clampLines: labelClampLines, inline: true })));
|
|
29
29
|
};
|
|
30
30
|
exports.RadioButton = RadioButton;
|
|
31
31
|
var RadioButtonGroup = function (_a) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { SearchSelectProps } from "./SearchSelectProps";
|
|
3
|
-
declare const SearchSelect: ({ id, label, options, onSelect, onSearch, isOptionLoading, isLoading, loadingText, placeholder, value, searchQuery, isMultiple, isRequired, error, errorMessage, helperText, width, height, size, chip, information, rightIcon, addNew, isSelectAll, pagination, insideSelect, isRemoveAllIcon, }: SearchSelectProps) => React.JSX.Element;
|
|
3
|
+
declare const SearchSelect: ({ id, label, options, onSelect, onSearch, isOptionLoading, isLoading, loadingText, placeholder, value, searchQuery, isMultiple, isRequired, error, errorMessage, helperText, width, height, size, chip, information, isInformation, informationMessage, rightIcon, addNew, isSelectAll, pagination, insideSelect, isRemoveAllIcon, }: SearchSelectProps) => React.JSX.Element;
|
|
4
4
|
export default SearchSelect;
|
|
@@ -82,7 +82,7 @@ var normalizeMultiValue = function (val) {
|
|
|
82
82
|
};
|
|
83
83
|
var SearchSelect = function (_a) {
|
|
84
84
|
var _b, _c, _d, _e, _f, _g, _h, _j;
|
|
85
|
-
var id = _a.id, label = _a.label, options = _a.options, onSelect = _a.onSelect, onSearch = _a.onSearch, _k = _a.isOptionLoading, isOptionLoading = _k === void 0 ? false : _k, _l = _a.isLoading, isLoading = _l === void 0 ? false : _l, _m = _a.loadingText, loadingText = _m === void 0 ? "Loading..." : _m, _o = _a.placeholder, placeholder = _o === void 0 ? "Select" : _o, value = _a.value, _p = _a.searchQuery, searchQuery = _p === void 0 ? "" : _p, _q = _a.isMultiple, isMultiple = _q === void 0 ? false : _q, _r = _a.isRequired, isRequired = _r === void 0 ? false : _r, _s = _a.error, error = _s === void 0 ? false : _s, errorMessage = _a.errorMessage, helperText = _a.helperText, _t = _a.width, width = _t === void 0 ? "100%" : _t, height = _a.height, _u = _a.size, size = _u === void 0 ? "md" : _u, chip = _a.chip, information = _a.information, rightIcon = _a.rightIcon, addNew = _a.addNew, _v = _a.isSelectAll, isSelectAll = _v === void 0 ? false : _v, pagination = _a.pagination, insideSelect = _a.insideSelect, isRemoveAllIcon = _a.isRemoveAllIcon;
|
|
85
|
+
var id = _a.id, label = _a.label, options = _a.options, onSelect = _a.onSelect, onSearch = _a.onSearch, _k = _a.isOptionLoading, isOptionLoading = _k === void 0 ? false : _k, _l = _a.isLoading, isLoading = _l === void 0 ? false : _l, _m = _a.loadingText, loadingText = _m === void 0 ? "Loading..." : _m, _o = _a.placeholder, placeholder = _o === void 0 ? "Select" : _o, value = _a.value, _p = _a.searchQuery, searchQuery = _p === void 0 ? "" : _p, _q = _a.isMultiple, isMultiple = _q === void 0 ? false : _q, _r = _a.isRequired, isRequired = _r === void 0 ? false : _r, _s = _a.error, error = _s === void 0 ? false : _s, errorMessage = _a.errorMessage, helperText = _a.helperText, _t = _a.width, width = _t === void 0 ? "100%" : _t, height = _a.height, _u = _a.size, size = _u === void 0 ? "md" : _u, chip = _a.chip, information = _a.information, isInformation = _a.isInformation, informationMessage = _a.informationMessage, rightIcon = _a.rightIcon, addNew = _a.addNew, _v = _a.isSelectAll, isSelectAll = _v === void 0 ? false : _v, pagination = _a.pagination, insideSelect = _a.insideSelect, isRemoveAllIcon = _a.isRemoveAllIcon;
|
|
86
86
|
var s = (0, searchSelectSize_1.getSearchSelectSizeStyles)((size || "md"));
|
|
87
87
|
var insideSelectBoxHeight = height !== null && height !== void 0 ? height : s.insideSelectDefaultHeight;
|
|
88
88
|
var _w = (0, react_1.useState)(searchQuery), inputValue = _w[0], setInputValue = _w[1];
|
|
@@ -224,13 +224,13 @@ var SearchSelect = function (_a) {
|
|
|
224
224
|
}
|
|
225
225
|
}, [customSelectOpen]);
|
|
226
226
|
return (react_1.default.createElement(react_2.Box, { ref: containerRef, width: width, position: "relative" },
|
|
227
|
-
label && (react_1.default.createElement(FormLabel_1.TextLabel, { label: label, id: id, isRequired: isRequired, isInformation: information === null || information === void 0 ? void 0 : information.isInformation, informationMessage: information === null || information === void 0 ? void 0 : information.informationMessage })),
|
|
227
|
+
label && (react_1.default.createElement(FormLabel_1.TextLabel, { label: label, id: id, isRequired: isRequired, isInformation: isInformation !== null && isInformation !== void 0 ? isInformation : information === null || information === void 0 ? void 0 : information.isInformation, informationMessage: informationMessage !== null && informationMessage !== void 0 ? informationMessage : information === null || information === void 0 ? void 0 : information.informationMessage })),
|
|
228
228
|
react_1.default.createElement(react_2.InputGroup, { size: size },
|
|
229
229
|
react_1.default.createElement(react_2.Box, { as: "div", w: "100%", minH: s.minH, px: s.px, pr: s.pr, position: "relative", display: "flex", alignItems: "center", flexWrap: "wrap", gap: s.gap, border: "0.063rem solid", borderColor: error
|
|
230
230
|
? theme.colors.semantic.error[500]
|
|
231
231
|
: focused
|
|
232
232
|
? theme.colors.primary[500]
|
|
233
|
-
: (_b = theme.colors.boxborder) === null || _b === void 0 ? void 0 : _b[500], borderRadius: "0.
|
|
233
|
+
: (_b = theme.colors.boxborder) === null || _b === void 0 ? void 0 : _b[500], borderRadius: "0.5rem", bg: (_c = theme.colors.gray) === null || _c === void 0 ? void 0 : _c[50], boxShadow: focused
|
|
234
234
|
? error
|
|
235
235
|
? "0 0 0 0.125rem ".concat((_d = theme.colors.boxShadow) === null || _d === void 0 ? void 0 : _d.error)
|
|
236
236
|
: "0 0 0 0.125rem ".concat((_e = theme.colors.boxShadow) === null || _e === void 0 ? void 0 : _e.primary)
|
|
@@ -7,7 +7,8 @@ exports.Select = {
|
|
|
7
7
|
fontWeight: 500,
|
|
8
8
|
fontSize: "0.875rem",
|
|
9
9
|
letterSpacing: "0.044rem",
|
|
10
|
-
borderRadius: "0.
|
|
10
|
+
borderRadius: "0.5rem",
|
|
11
|
+
transition: "border-color 0.2s, box-shadow 0.2s",
|
|
11
12
|
minWidth: "0", // allow shrinking inside flex
|
|
12
13
|
width: "100%", // full container width
|
|
13
14
|
maxWidth: "100%",
|
|
@@ -60,6 +60,7 @@ exports.default = SelectSearch;
|
|
|
60
60
|
var react_1 = __importStar(require("react"));
|
|
61
61
|
var react_2 = require("@chakra-ui/react");
|
|
62
62
|
var FormLabel_1 = require("../Common/FormLabel");
|
|
63
|
+
var fieldStyles_1 = require("../Common/fieldStyles");
|
|
63
64
|
var useCustomTheme_1 = require("../../Theme/useCustomTheme");
|
|
64
65
|
var lucide_react_1 = require("lucide-react");
|
|
65
66
|
var ErrorMessage_1 = __importDefault(require("../Common/ErrorMessage"));
|
|
@@ -90,7 +91,6 @@ function SelectSearch(_a) {
|
|
|
90
91
|
BottomIcon = _l === void 0 ? false : _l, BottomText = _a.BottomText, handleBottomClick = _a.handleBottomClick, BottomTextColor = _a.BottomTextColor, isColorOptions = _a.isColorOptions;
|
|
91
92
|
var theme = (0, useCustomTheme_1.useCustomTheme)();
|
|
92
93
|
var errorBorder = "2px solid ".concat(theme.colors.semantic.error[500]);
|
|
93
|
-
var defaultBorderThick = "2px solid ".concat(theme.colors.boxborder[500]);
|
|
94
94
|
var defaultBorderThin = "1px solid ".concat(theme.colors.boxborder[500]);
|
|
95
95
|
var _m = (0, react_1.useState)(initialSelectedOption ? [initialSelectedOption] : []), selectedOptions = _m[0], setSelectedOptions = _m[1];
|
|
96
96
|
var _o = (0, react_1.useState)(searchQuery), inputValue = _o[0], setInputValue = _o[1];
|
|
@@ -239,13 +239,16 @@ function SelectSearch(_a) {
|
|
|
239
239
|
react_1.default.createElement(react_2.TagLabel, { width: "50px" }, option.label),
|
|
240
240
|
react_1.default.createElement(react_2.TagCloseButton, { onClick: function () { return handleRemoveOption(option); } }))); }))),
|
|
241
241
|
react_1.default.createElement(react_2.InputGroup, null,
|
|
242
|
-
react_1.default.createElement(react_2.Input, { ref: inputRef,
|
|
242
|
+
react_1.default.createElement(react_2.Input, { ref: inputRef, variant: "outline", borderRadius: fieldStyles_1.FIELD_RADIUS, value: inputValue ? inputValue : "", onClick: function () { return setIsOpen(true); }, onFocus: function () { return setIsOpen(true); }, onChange: function (e) { return handleInputChange(e.target.value); }, placeholder: placeholder, onKeyDown: handleKeyDown, id: id, name: name, cursor: "pointer", borderColor: theme.colors.boxborder[500], transition: "border-color 0.2s, box-shadow 0.2s", _hover: {
|
|
243
243
|
borderColor: error
|
|
244
244
|
? theme.colors.semantic.error[500]
|
|
245
245
|
: theme.colors.primary[500],
|
|
246
246
|
}, _focus: {
|
|
247
|
-
borderColor: error
|
|
248
|
-
|
|
247
|
+
borderColor: error
|
|
248
|
+
? theme.colors.semantic.error[500]
|
|
249
|
+
: theme.colors.primary[500],
|
|
250
|
+
boxShadow: (0, fieldStyles_1.fieldFocusRing)(theme, !!error),
|
|
251
|
+
}, style: __assign(__assign({}, inputStyle), { backgroundColor: theme.colors.gray[50], fontWeight: 600, color: theme.colors.gray[700], padding: "0 0.75rem", fontSize: 15, letterSpacing: 0.7, border: error ? errorBorder : defaultBorderThin }) }),
|
|
249
252
|
rightIcon && (react_1.default.createElement(react_2.InputRightElement, { pointerEvents: "none", children: rightIcon, style: __assign({}, rightElementStyle) }))),
|
|
250
253
|
isOpen && (react_1.default.createElement(react_2.Box, { ref: dropdownRef, marginTop: "5px", position: "absolute", top: position === "below" ? "100%" : "auto", bottom: position === "above" ? "100%" : "auto", left: 0, right: 0, border: "1px solid", borderColor: "gray.300", borderRadius: "md", bg: "white", maxHeight: "150px", overflowY: "auto", zIndex: 10 },
|
|
251
254
|
react_1.default.createElement(RenderOptions, { isOptionLoading: isOptionLoading, filteredOptions: filteredOptions, loadingText: loadingText, handleOptionClick: handleOptionClick, isProfile: isProfile, isColorOptions: isColorOptions }),
|
|
@@ -42,6 +42,7 @@ var useCustomTheme_1 = require("../../Theme/useCustomTheme");
|
|
|
42
42
|
var lucide_react_1 = require("lucide-react");
|
|
43
43
|
var OverflowTooltipText_1 = __importDefault(require("./components/OverflowTooltipText"));
|
|
44
44
|
var ToolTip_1 = __importDefault(require("../ToolTip/ToolTip"));
|
|
45
|
+
var Sidebar_1 = require("../../Constants/Sidebar");
|
|
45
46
|
var parseBadge = function (badge) {
|
|
46
47
|
var _a, _b, _c;
|
|
47
48
|
return ({
|
|
@@ -57,12 +58,12 @@ var CollapsedItem = function (_a) {
|
|
|
57
58
|
var _b = parseBadge(item.badge), badgeVal = _b.badgeVal, colorScheme = _b.colorScheme, radius = _b.radius, variant = _b.variant;
|
|
58
59
|
return (react_1.default.createElement(react_2.Popover, { trigger: "hover", placement: "right-start", closeOnBlur: false, isLazy: true },
|
|
59
60
|
react_1.default.createElement(react_2.PopoverTrigger, null,
|
|
60
|
-
react_1.default.createElement(react_2.Box, { py: "
|
|
61
|
-
react_1.default.createElement(react_2.Box, { position: "relative" },
|
|
62
|
-
react_1.default.createElement(react_2.Icon, { as: item.icon, fontSize: "
|
|
61
|
+
react_1.default.createElement(react_2.Box, { role: "group", py: "8px", mb: "2px", borderRadius: "7px", display: "flex", alignItems: "center", justifyContent: "center", cursor: item.disabled ? "not-allowed" : "pointer", opacity: item.disabled ? 0.6 : 1, borderLeft: "2px solid", borderLeftColor: isActive ? theme.colors.primary[500] : "transparent", _hover: { bg: item.disabled ? "transparent" : "whiteAlpha.100" }, onClick: function () { return !item.disabled && (onItemClick === null || onItemClick === void 0 ? void 0 : onItemClick(item)); }, bg: isActive ? theme.colors.primary.opacity[16] : "transparent", transition: "background 0.12s" },
|
|
62
|
+
react_1.default.createElement(react_2.Box, { position: "relative", display: "flex", alignItems: "center" },
|
|
63
|
+
react_1.default.createElement(react_2.Icon, { as: item.icon, fontSize: "1rem", color: isActive ? theme.colors.primary[300] : "whiteAlpha.600", _groupHover: isActive ? undefined : { color: "whiteAlpha.800" }, transition: "color 0.12s" }),
|
|
63
64
|
badgeVal != null && (react_1.default.createElement(react_2.Box, { position: "absolute", top: "0", right: "0", w: "0.375rem", h: "0.375rem", borderRadius: "full", bg: theme.colors.red[400] }))))),
|
|
64
65
|
react_1.default.createElement(react_2.Portal, null,
|
|
65
|
-
react_1.default.createElement(react_2.PopoverContent, { borderRadius: "0.
|
|
66
|
+
react_1.default.createElement(react_2.PopoverContent, { borderRadius: "0.5rem", bg: theme.colors.sidebar.background[200], boxShadow: "lg", minW: "10rem", maxW: "14rem", py: "0.125rem", ml: "-0.5rem", cursor: item.disabled ? "not-allowed" : "pointer", zIndex: 1500, color: "white", border: 'none' },
|
|
66
67
|
react_1.default.createElement(react_2.PopoverBody, { p: "0.75rem" },
|
|
67
68
|
react_1.default.createElement(react_2.Flex, { align: "center", gap: "0.5rem", justify: "space-between" },
|
|
68
69
|
react_1.default.createElement(react_2.Flex, { align: "center", gap: "0.5rem", flex: "1", minW: 0 },
|
|
@@ -74,27 +75,28 @@ var ExpandedItem = function (_a) {
|
|
|
74
75
|
var item = _a.item, isActive = _a.isActive, itemFontSize = _a.itemFontSize, onItemClick = _a.onItemClick;
|
|
75
76
|
var theme = (0, useCustomTheme_1.useCustomTheme)();
|
|
76
77
|
var _b = parseBadge(item.badge), badgeVal = _b.badgeVal, colorScheme = _b.colorScheme, radius = _b.radius, variant = _b.variant;
|
|
77
|
-
return (react_1.default.createElement(react_2.Flex, { px: "
|
|
78
|
-
react_1.default.createElement(react_2.Flex, { align: "center", gap: "
|
|
79
|
-
react_1.default.createElement(react_2.Icon, { as: item.icon, fontSize: "
|
|
78
|
+
return (react_1.default.createElement(react_2.Flex, { role: "group", px: "8px", py: "7px", mb: "2px", borderRadius: "7px", align: "center", justify: "space-between", gap: "8px", overflow: "hidden", cursor: item.disabled ? "not-allowed" : "pointer", opacity: item.disabled ? 0.6 : 1, bg: isActive ? theme.colors.primary.opacity[16] : "transparent", _hover: { bg: item.disabled ? "transparent" : "whiteAlpha.100" }, onClick: function () { return !item.disabled && (onItemClick === null || onItemClick === void 0 ? void 0 : onItemClick(item)); }, borderLeft: "2px solid", borderLeftColor: isActive ? theme.colors.primary[500] : "transparent", transition: "background 0.12s" },
|
|
79
|
+
react_1.default.createElement(react_2.Flex, { align: "center", gap: "8px", flex: "1", minW: 0, overflow: "hidden" },
|
|
80
|
+
react_1.default.createElement(react_2.Icon, { as: item.icon, fontSize: "0.95rem", flexShrink: 0, color: isActive ? theme.colors.primary[300] : "whiteAlpha.800", _groupHover: isActive ? undefined : { color: "white" }, transition: "color 0.12s" }),
|
|
80
81
|
react_1.default.createElement(react_2.Box, { flex: "1", minW: 0 },
|
|
81
|
-
react_1.default.createElement(OverflowTooltipText_1.default, { placement: "right", maxWidth: "100%", fontSize: itemFontSize, fontWeight: 600, as: "p" }, item.title))),
|
|
82
|
+
react_1.default.createElement(OverflowTooltipText_1.default, { placement: "right", maxWidth: "100%", fontSize: itemFontSize, fontWeight: isActive ? 600 : 500, color: isActive ? theme.colors.primary[100] : "whiteAlpha.900", _groupHover: isActive ? undefined : { color: "white" }, as: "p" }, item.title))),
|
|
82
83
|
badgeVal != null && (react_1.default.createElement(react_2.Badge, { colorScheme: colorScheme, fontSize: "0.625rem", variant: variant, borderRadius: radius }, badgeVal))));
|
|
83
84
|
};
|
|
84
85
|
var SecondaryBar = function (_a) {
|
|
85
|
-
var _b = _a.items, items = _b === void 0 ? [] : _b, _c = _a.defaultCollapsed, defaultCollapsed = _c === void 0 ? true : _c, _d = _a.collapsedWidth, collapsedWidth = _d === void 0 ? "3.5rem" : _d, _e = _a.expandedWidth, expandedWidth = _e === void 0 ? "10rem" : _e, _f = _a.headerFontSize, headerFontSize = _f === void 0 ? "0.
|
|
86
|
+
var _b = _a.items, items = _b === void 0 ? [] : _b, _c = _a.defaultCollapsed, defaultCollapsed = _c === void 0 ? true : _c, _d = _a.collapsedWidth, collapsedWidth = _d === void 0 ? "3.5rem" : _d, _e = _a.expandedWidth, expandedWidth = _e === void 0 ? "10rem" : _e, _f = _a.headerFontSize, headerFontSize = _f === void 0 ? "0.75rem" : _f, _g = _a.itemFontSize, itemFontSize = _g === void 0 ? "0.75rem" : _g, selected = _a.selected, onItemClick = _a.onItemClick, title = _a.title, icon = _a.icon;
|
|
86
87
|
var theme = (0, useCustomTheme_1.useCustomTheme)();
|
|
87
88
|
var _h = (0, react_1.useState)(defaultCollapsed), collapsed = _h[0], setCollapsed = _h[1];
|
|
88
89
|
var width = collapsed ? collapsedWidth : expandedWidth;
|
|
89
|
-
return (react_1.default.createElement(react_2.Box, { transition: "all 0.3s", pos: "sticky", top: 0, h: "100vh", w: width, bg: theme.colors.sidebar.background[
|
|
90
|
-
react_1.default.createElement(react_2.VStack, { align: "stretch", spacing: 0 },
|
|
91
|
-
react_1.default.createElement(react_2.Flex, { align: "center", justify: collapsed ? "center" : "space-between", px: collapsed ? 0 : "
|
|
92
|
-
!collapsed && (react_1.default.createElement(
|
|
93
|
-
react_1.default.createElement(
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
90
|
+
return (react_1.default.createElement(react_2.Box, { transition: "all 0.3s", pos: "sticky", top: 0, h: "100vh", w: width, bg: theme.colors.sidebar.background[500], borderLeft: "1px solid", borderColor: "whiteAlpha.100", boxShadow: theme.shadows.md, zIndex: 1 },
|
|
91
|
+
react_1.default.createElement(react_2.VStack, { align: "stretch", spacing: 0, h: "100%" },
|
|
92
|
+
react_1.default.createElement(react_2.Flex, { align: "center", justify: collapsed ? "center" : "space-between", px: collapsed ? 0 : "10px", gap: "7px", h: Sidebar_1.HEADER_HEIGHT, overflow: "hidden", borderBottom: "1px solid", borderColor: "whiteAlpha.100", flexShrink: 0 },
|
|
93
|
+
!collapsed && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
94
|
+
icon && (react_1.default.createElement(react_2.Icon, { as: icon, fontSize: "0.95rem", color: theme.colors.primary[300], flexShrink: 0 })),
|
|
95
|
+
react_1.default.createElement(react_2.Box, { flex: "1", minW: 0 },
|
|
96
|
+
react_1.default.createElement(OverflowTooltipText_1.default, { placement: "right", maxWidth: "100%", fontSize: headerFontSize, fontWeight: 600, color: "whiteAlpha.900", as: "p" }, title !== null && title !== void 0 ? title : "")))),
|
|
97
|
+
react_1.default.createElement(react_2.Box, { w: "20px", h: "20px", borderRadius: "5px", display: "flex", alignItems: "center", justifyContent: "center", cursor: "pointer", flexShrink: 0, onClick: function () { return setCollapsed(function (c) { return !c; }); }, _hover: { bg: "whiteAlpha.100" }, transition: "background 0.15s" }, collapsed ? (react_1.default.createElement(ToolTip_1.default, { label: title !== null && title !== void 0 ? title : "", placement: "right" },
|
|
98
|
+
react_1.default.createElement(lucide_react_1.ChevronRight, { size: 13, color: theme.colors.white, opacity: 0.6 }))) : (react_1.default.createElement(lucide_react_1.ChevronLeft, { size: 13, color: theme.colors.white, opacity: 0.6 })))),
|
|
99
|
+
react_1.default.createElement(react_2.Box, { id: "secondary-scroll-container", flex: "1", minH: 0, overflowY: "auto", overflowX: "hidden", p: "8px 6px" }, items.map(function (item) {
|
|
98
100
|
var _a;
|
|
99
101
|
var isActive = String(selected) === String(item.id) ||
|
|
100
102
|
String(selected) === String(item.title);
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { SidebarProps } from "./SideBarProps";
|
|
3
|
-
export default function Sidebar({ menus, activeMenu, handleMenuClick, handleSecondaryNavClick, toggle, changeToggle, logo, companyName, isDisableAddNew, onAddNewClick, selectedSubMenu, selectedSecondaryItem, isLoading, loadingLines, open, otherApps, }: SidebarProps): React.JSX.Element;
|
|
3
|
+
export default function Sidebar({ menus, activeMenu, handleMenuClick, handleSecondaryNavClick, toggle, changeToggle, logo, companyName, companySubtitle, user, isDisableAddNew, onAddNewClick, selectedSubMenu, selectedSecondaryItem, isLoading, loadingLines, open, otherApps, }: SidebarProps): React.JSX.Element;
|