pixelize-design-library 2.3.1-beta.1 → 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/package.json +1 -1
- package/dist/App.d.ts +0 -4
- package/dist/App.js +0 -131
- package/dist/Components/Table/CompactSelect.d.ts +0 -15
- package/dist/Components/Table/CompactSelect.js +0 -69
- package/dist/Components/Table/Components/ActiveFilters.d.ts +0 -9
- package/dist/Components/Table/Components/ActiveFilters.js +0 -132
- package/dist/Components/Table/Components/TableFilters.d.ts +0 -7
- package/dist/Components/Table/Components/TableFilters.js +0 -89
- package/dist/Components/Table/Components/useDebounce.d.ts +0 -2
- package/dist/Components/Table/Components/useDebounce.js +0 -28
- package/dist/Components/Table/Components/useTable.d.ts +0 -47
- package/dist/Components/Table/Components/useTable.js +0 -219
- package/dist/Components/Table/LeftFilterPane.d.ts +0 -36
- package/dist/Components/Table/LeftFilterPane.js +0 -273
- package/dist/Components/Table/SelectOperationControls.d.ts +0 -8
- package/dist/Components/Table/SelectOperationControls.js +0 -15
- package/dist/Components/Table/TableSettings/ManageColumns.d.ts +0 -12
- package/dist/Components/Table/TableSettings/ManageColumns.js +0 -166
- package/dist/Components/Table/TableSettings/ManageColumns.test.d.ts +0 -1
- package/dist/Components/Table/TableSettings/ManageColumns.test.js +0 -146
- 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.d.ts +0 -8
- 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/TextOperationControls.d.ts +0 -12
- package/dist/Components/Table/TextOperationControls.js +0 -29
- package/dist/Layout.d.ts +0 -3
- package/dist/Layout.js +0 -292
- package/dist/Pages/TInput.d.ts +0 -3
- package/dist/Pages/TInput.js +0 -56
- package/dist/Pages/accordion.d.ts +0 -3
- package/dist/Pages/accordion.js +0 -42
- package/dist/Pages/alertdialog.d.ts +0 -3
- package/dist/Pages/alertdialog.js +0 -54
- package/dist/Pages/button.d.ts +0 -3
- package/dist/Pages/button.js +0 -46
- package/dist/Pages/card.d.ts +0 -3
- package/dist/Pages/card.js +0 -117
- package/dist/Pages/chart.d.ts +0 -4
- package/dist/Pages/chart.js +0 -40
- package/dist/Pages/checkbox.d.ts +0 -3
- package/dist/Pages/checkbox.js +0 -12
- package/dist/Pages/contactForm.d.ts +0 -3
- package/dist/Pages/contactForm.js +0 -16
- package/dist/Pages/datePick.d.ts +0 -3
- package/dist/Pages/datePick.js +0 -88
- package/dist/Pages/drawer.d.ts +0 -3
- package/dist/Pages/drawer.js +0 -58
- package/dist/Pages/dropdown.d.ts +0 -3
- package/dist/Pages/dropdown.js +0 -24
- package/dist/Pages/editor.d.ts +0 -3
- package/dist/Pages/editor.js +0 -14
- package/dist/Pages/feedback.d.ts +0 -2
- package/dist/Pages/feedback.js +0 -15
- package/dist/Pages/fileUpload.d.ts +0 -2
- package/dist/Pages/fileUpload.js +0 -82
- package/dist/Pages/input.d.ts +0 -3
- package/dist/Pages/input.js +0 -92
- package/dist/Pages/kanbanboard.d.ts +0 -3
- package/dist/Pages/kanbanboard.js +0 -224
- package/dist/Pages/modal.d.ts +0 -3
- package/dist/Pages/modal.js +0 -65
- package/dist/Pages/multiSelect.d.ts +0 -3
- package/dist/Pages/multiSelect.js +0 -55
- package/dist/Pages/noteArea.d.ts +0 -3
- package/dist/Pages/noteArea.js +0 -59
- package/dist/Pages/notification.d.ts +0 -3
- package/dist/Pages/notification.js +0 -25
- package/dist/Pages/numberInput.d.ts +0 -3
- package/dist/Pages/numberInput.js +0 -49
- package/dist/Pages/photoViewer.d.ts +0 -3
- package/dist/Pages/photoViewer.js +0 -12
- package/dist/Pages/pinInputs.d.ts +0 -3
- package/dist/Pages/pinInputs.js +0 -12
- package/dist/Pages/productCaard.d.ts +0 -3
- package/dist/Pages/productCaard.js +0 -311
- package/dist/Pages/productDetailCard.d.ts +0 -3
- package/dist/Pages/productDetailCard.js +0 -78
- package/dist/Pages/productFilter.d.ts +0 -3
- package/dist/Pages/productFilter.js +0 -202
- package/dist/Pages/progressbar.d.ts +0 -3
- package/dist/Pages/progressbar.js +0 -12
- package/dist/Pages/radioButton.d.ts +0 -3
- package/dist/Pages/radioButton.js +0 -54
- package/dist/Pages/search.d.ts +0 -3
- package/dist/Pages/search.js +0 -54
- package/dist/Pages/searchSelect.d.ts +0 -3
- package/dist/Pages/searchSelect.js +0 -133
- package/dist/Pages/select.d.ts +0 -3
- package/dist/Pages/select.js +0 -53
- package/dist/Pages/selectSearch.d.ts +0 -3
- package/dist/Pages/selectSearch.js +0 -103
- package/dist/Pages/skeleton.d.ts +0 -3
- package/dist/Pages/skeleton.js +0 -22
- package/dist/Pages/switch.d.ts +0 -3
- package/dist/Pages/switch.js +0 -50
- package/dist/Pages/table.d.ts +0 -3
- package/dist/Pages/table.js +0 -174
- package/dist/Pages/textArea.d.ts +0 -3
- package/dist/Pages/textArea.js +0 -15
- package/dist/Pages/timeline.d.ts +0 -3
- package/dist/Pages/timeline.js +0 -74
- package/dist/Pages/tooltip.d.ts +0 -3
- package/dist/Pages/tooltip.js +0 -12
- package/dist/Pages/toster.d.ts +0 -3
- package/dist/Pages/toster.js +0 -68
- package/dist/Pages/verifyEmail.d.ts +0 -3
- package/dist/Pages/verifyEmail.js +0 -18
- package/dist/Theme/Dark/palette.d.ts +0 -370
- package/dist/Theme/Dark/palette.js +0 -372
- package/dist/bootstrap.d.ts +0 -1
- package/dist/bootstrap.js +0 -14
- package/dist/components-v2/AlertDialog/AlertDialog.d.ts +0 -23
- package/dist/components-v2/AlertDialog/AlertDialog.js +0 -98
- package/dist/components-v2/Breadcrumbs/Breadcrumbs.d.ts +0 -14
- package/dist/components-v2/Breadcrumbs/Breadcrumbs.js +0 -66
- package/dist/components-v2/Charts/AreaChart.d.ts +0 -23
- package/dist/components-v2/Charts/AreaChart.js +0 -63
- package/dist/components-v2/Charts/BarChart.d.ts +0 -25
- package/dist/components-v2/Charts/BarChart.js +0 -57
- package/dist/components-v2/Charts/LineChart.d.ts +0 -23
- package/dist/components-v2/Charts/LineChart.js +0 -55
- package/dist/components-v2/Charts/PieChart.d.ts +0 -15
- package/dist/components-v2/Charts/PieChart.js +0 -54
- package/dist/components-v2/Charts/PolarChart.d.ts +0 -14
- package/dist/components-v2/Charts/PolarChart.js +0 -54
- package/dist/components-v2/Charts/chartOptions.d.ts +0 -7
- package/dist/components-v2/Charts/chartOptions.js +0 -41
- package/dist/components-v2/Charts/useChartTheme.d.ts +0 -22
- package/dist/components-v2/Charts/useChartTheme.js +0 -106
- package/dist/components-v2/ContactForm/ContactForm.d.ts +0 -25
- package/dist/components-v2/ContactForm/ContactForm.js +0 -116
- package/dist/components-v2/DatePicker/Calendar.d.ts +0 -19
- package/dist/components-v2/DatePicker/Calendar.js +0 -212
- package/dist/components-v2/DatePicker/DatePicker.d.ts +0 -46
- package/dist/components-v2/DatePicker/DatePicker.js +0 -189
- package/dist/components-v2/DatePicker/TimePicker.d.ts +0 -12
- package/dist/components-v2/DatePicker/TimePicker.js +0 -105
- package/dist/components-v2/DatePicker/utils.d.ts +0 -31
- package/dist/components-v2/DatePicker/utils.js +0 -109
- package/dist/components-v2/Drawer/Drawer.d.ts +0 -27
- package/dist/components-v2/Drawer/Drawer.js +0 -132
- package/dist/components-v2/FeedbackForm/FeedbackForm.d.ts +0 -26
- package/dist/components-v2/FeedbackForm/FeedbackForm.js +0 -112
- package/dist/components-v2/FileUploader/FileUploader.d.ts +0 -28
- package/dist/components-v2/FileUploader/FileUploader.js +0 -127
- package/dist/components-v2/Input/TextInput.d.ts +0 -41
- package/dist/components-v2/Input/TextInput.js +0 -169
- package/dist/components-v2/KanbanBoard/KanbanBoard.d.ts +0 -39
- package/dist/components-v2/KanbanBoard/KanbanBoard.js +0 -101
- package/dist/components-v2/Layout/AppLayout.d.ts +0 -22
- package/dist/components-v2/Layout/AppLayout.js +0 -53
- package/dist/components-v2/Loading/Loading.d.ts +0 -19
- package/dist/components-v2/Loading/Loading.js +0 -55
- package/dist/components-v2/Modal/Modal.d.ts +0 -30
- package/dist/components-v2/Modal/Modal.js +0 -82
- package/dist/components-v2/NavigationBar/NavigationBar.d.ts +0 -47
- package/dist/components-v2/NavigationBar/NavigationBar.js +0 -148
- package/dist/components-v2/Notification/Notification.d.ts +0 -22
- package/dist/components-v2/Notification/Notification.js +0 -113
- package/dist/components-v2/NumberInput/NumberInput.d.ts +0 -37
- package/dist/components-v2/NumberInput/NumberInput.js +0 -210
- package/dist/components-v2/PinInput/PinInput.d.ts +0 -26
- package/dist/components-v2/PinInput/PinInput.js +0 -138
- package/dist/components-v2/ProfilePhotoViewer/ProfilePhotoViewer.d.ts +0 -18
- package/dist/components-v2/ProfilePhotoViewer/ProfilePhotoViewer.js +0 -91
- package/dist/components-v2/Select/Select.d.ts +0 -41
- package/dist/components-v2/Select/Select.js +0 -284
- package/dist/components-v2/Sidebar/Sidebar.d.ts +0 -41
- package/dist/components-v2/Sidebar/Sidebar.js +0 -182
- package/dist/components-v2/Slider/Slider.d.ts +0 -18
- package/dist/components-v2/Slider/Slider.js +0 -101
- package/dist/components-v2/Table/Table.d.ts +0 -7
- package/dist/components-v2/Table/Table.js +0 -172
- package/dist/components-v2/Table/TableProps.d.ts +0 -139
- package/dist/components-v2/Table/TableProps.js +0 -9
- package/dist/components-v2/Table/components/ActiveFilters.d.ts +0 -10
- package/dist/components-v2/Table/components/ActiveFilters.js +0 -70
- package/dist/components-v2/Table/components/BulkActionBar.d.ts +0 -11
- package/dist/components-v2/Table/components/BulkActionBar.js +0 -92
- package/dist/components-v2/Table/components/ColumnResizeHandle.d.ts +0 -7
- package/dist/components-v2/Table/components/ColumnResizeHandle.js +0 -41
- package/dist/components-v2/Table/components/Pagination.d.ts +0 -11
- package/dist/components-v2/Table/components/Pagination.js +0 -92
- package/dist/components-v2/Table/components/TableBody.d.ts +0 -23
- package/dist/components-v2/Table/components/TableBody.js +0 -69
- package/dist/components-v2/Table/components/TableCell.d.ts +0 -14
- package/dist/components-v2/Table/components/TableCell.js +0 -63
- package/dist/components-v2/Table/components/TableEmptyState.d.ts +0 -12
- package/dist/components-v2/Table/components/TableEmptyState.js +0 -55
- package/dist/components-v2/Table/components/TableErrorState.d.ts +0 -6
- package/dist/components-v2/Table/components/TableErrorState.js +0 -52
- package/dist/components-v2/Table/components/TableHeader.d.ts +0 -21
- package/dist/components-v2/Table/components/TableHeader.js +0 -94
- package/dist/components-v2/Table/components/TableRow.d.ts +0 -20
- package/dist/components-v2/Table/components/TableRow.js +0 -64
- package/dist/components-v2/Table/components/TableSearch.d.ts +0 -8
- package/dist/components-v2/Table/components/TableSearch.js +0 -47
- package/dist/components-v2/Table/filters/FilterChips.d.ts +0 -6
- package/dist/components-v2/Table/filters/FilterChips.js +0 -9
- package/dist/components-v2/Table/filters/LeftFilterPane.d.ts +0 -17
- package/dist/components-v2/Table/filters/LeftFilterPane.js +0 -105
- package/dist/components-v2/Table/filters/TableFilters.d.ts +0 -12
- package/dist/components-v2/Table/filters/TableFilters.js +0 -127
- package/dist/components-v2/Table/hooks/useColumnResize.d.ts +0 -15
- package/dist/components-v2/Table/hooks/useColumnResize.js +0 -104
- package/dist/components-v2/Table/hooks/useTable.d.ts +0 -58
- package/dist/components-v2/Table/hooks/useTable.js +0 -254
- package/dist/components-v2/Table/hooks/useTableKeyboard.d.ts +0 -25
- package/dist/components-v2/Table/hooks/useTableKeyboard.js +0 -112
- package/dist/components-v2/Table/hooks/useVirtualScroll.d.ts +0 -29
- package/dist/components-v2/Table/hooks/useVirtualScroll.js +0 -83
- package/dist/components-v2/Table/settings/ManageColumns.d.ts +0 -12
- package/dist/components-v2/Table/settings/ManageColumns.js +0 -59
- package/dist/components-v2/Table/settings/TableSettings.d.ts +0 -12
- package/dist/components-v2/Table/settings/TableSettings.js +0 -57
- package/dist/components-v2/Table/utils/filterUtils.d.ts +0 -7
- package/dist/components-v2/Table/utils/filterUtils.js +0 -149
- package/dist/components-v2/Table/utils/sortUtils.d.ts +0 -6
- package/dist/components-v2/Table/utils/sortUtils.js +0 -65
- package/dist/components-v2/Tag/Tag.d.ts +0 -15
- package/dist/components-v2/Tag/Tag.js +0 -87
- package/dist/components-v2/Timeline/Timeline.d.ts +0 -18
- package/dist/components-v2/Timeline/Timeline.js +0 -76
- package/dist/components-v2/Toaster/Toaster.d.ts +0 -61
- package/dist/components-v2/Toaster/Toaster.js +0 -63
- package/dist/components-v2/Toggle/Toggle.d.ts +0 -28
- package/dist/components-v2/Toggle/Toggle.js +0 -90
- package/dist/components-v2/ui/accordion.d.ts +0 -12
- package/dist/components-v2/ui/accordion.js +0 -104
- package/dist/components-v2/ui/alert.d.ts +0 -18
- package/dist/components-v2/ui/alert.js +0 -99
- package/dist/components-v2/ui/avatar.d.ts +0 -12
- package/dist/components-v2/ui/avatar.js +0 -80
- package/dist/components-v2/ui/badge.d.ts +0 -10
- package/dist/components-v2/ui/badge.js +0 -76
- package/dist/components-v2/ui/button.d.ts +0 -18
- package/dist/components-v2/ui/button.js +0 -97
- package/dist/components-v2/ui/checkbox.d.ts +0 -15
- package/dist/components-v2/ui/checkbox.js +0 -86
- package/dist/components-v2/ui/dialog.d.ts +0 -30
- package/dist/components-v2/ui/dialog.js +0 -115
- package/dist/components-v2/ui/dropdown-menu.d.ts +0 -26
- package/dist/components-v2/ui/dropdown-menu.js +0 -121
- package/dist/components-v2/ui/field.d.ts +0 -32
- package/dist/components-v2/ui/field.js +0 -62
- package/dist/components-v2/ui/form-field.d.ts +0 -25
- package/dist/components-v2/ui/form-field.js +0 -96
- package/dist/components-v2/ui/input.d.ts +0 -9
- package/dist/components-v2/ui/input.js +0 -73
- package/dist/components-v2/ui/label.d.ts +0 -10
- package/dist/components-v2/ui/label.js +0 -70
- package/dist/components-v2/ui/popover.d.ts +0 -9
- package/dist/components-v2/ui/popover.js +0 -60
- package/dist/components-v2/ui/progress.d.ts +0 -12
- package/dist/components-v2/ui/progress.js +0 -75
- package/dist/components-v2/ui/radio-group.d.ts +0 -17
- package/dist/components-v2/ui/radio-group.js +0 -91
- package/dist/components-v2/ui/select.d.ts +0 -24
- package/dist/components-v2/ui/select.js +0 -122
- package/dist/components-v2/ui/separator.d.ts +0 -5
- package/dist/components-v2/ui/separator.js +0 -55
- package/dist/components-v2/ui/skeleton.d.ts +0 -9
- package/dist/components-v2/ui/skeleton.js +0 -68
- package/dist/components-v2/ui/spinner.d.ts +0 -16
- package/dist/components-v2/ui/spinner.js +0 -64
- package/dist/components-v2/ui/switch.d.ts +0 -10
- package/dist/components-v2/ui/switch.js +0 -81
- package/dist/components-v2/ui/tabs.d.ts +0 -13
- package/dist/components-v2/ui/tabs.js +0 -95
- package/dist/components-v2/ui/textarea.d.ts +0 -10
- package/dist/components-v2/ui/textarea.js +0 -96
- package/dist/components-v2/ui/tooltip.d.ts +0 -17
- package/dist/components-v2/ui/tooltip.js +0 -75
- package/dist/lib/utils.d.ts +0 -2
- package/dist/lib/utils.js +0 -8
- package/dist/theme-v2/ThemeProvider.d.ts +0 -19
- package/dist/theme-v2/ThemeProvider.js +0 -149
- package/dist/theme-v2/dark.css +0 -47
- package/dist/theme-v2/tokens.css +0 -72
- /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.d.ts +0 -0
- /package/dist/Components/Table/{Components → components}/TableBody.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}/TableGroupRow.d.ts +0 -0
- /package/dist/Components/Table/{Components → components}/TableGroupRow.js +0 -0
- /package/dist/Components/Table/{Components → components}/TableHeader.d.ts +0 -0
- /package/dist/Components/Table/{Components → components}/TableHeader.js +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
|
@@ -1,182 +0,0 @@
|
|
|
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
|
-
exports.Sidebar = Sidebar;
|
|
37
|
-
const React = __importStar(require("react"));
|
|
38
|
-
const framer_motion_1 = require("framer-motion");
|
|
39
|
-
const lucide_react_1 = require("lucide-react");
|
|
40
|
-
const utils_1 = require("../../lib/utils");
|
|
41
|
-
const badge_1 = require("../ui/badge");
|
|
42
|
-
const popover_1 = require("../ui/popover");
|
|
43
|
-
const skeleton_1 = require("../ui/skeleton");
|
|
44
|
-
const EXPANDED_WIDTH = 240;
|
|
45
|
-
const COLLAPSED_WIDTH = 64;
|
|
46
|
-
function Sidebar({ menus, activeItem, onItemClick, logo, companyName, collapsed: collapsedProp, onCollapsedChange, defaultCollapsed = false, mobileOpen = false, onMobileOpenChange, otherApps, footer, isLoading = false, className, }) {
|
|
47
|
-
const isCollapsedControlled = collapsedProp !== undefined;
|
|
48
|
-
const [internalCollapsed, setInternalCollapsed] = React.useState(defaultCollapsed);
|
|
49
|
-
const collapsed = isCollapsedControlled ? collapsedProp : internalCollapsed;
|
|
50
|
-
const toggleCollapsed = () => {
|
|
51
|
-
const next = !collapsed;
|
|
52
|
-
if (!isCollapsedControlled)
|
|
53
|
-
setInternalCollapsed(next);
|
|
54
|
-
onCollapsedChange === null || onCollapsedChange === void 0 ? void 0 : onCollapsedChange(next);
|
|
55
|
-
};
|
|
56
|
-
return (React.createElement(React.Fragment, null,
|
|
57
|
-
React.createElement(framer_motion_1.motion.aside, { "aria-label": "Main navigation", animate: { width: collapsed ? COLLAPSED_WIDTH : EXPANDED_WIDTH }, initial: false, transition: { duration: 0.2, ease: "easeInOut" }, className: (0, utils_1.cn)("sticky top-0 hidden h-screen shrink-0 flex-col border-r border-border bg-card text-card-foreground md:flex", className) },
|
|
58
|
-
React.createElement(SidebarBody, { menus: menus, activeItem: activeItem, onItemClick: onItemClick, logo: logo, companyName: companyName, collapsed: collapsed, onToggleCollapsed: toggleCollapsed, otherApps: otherApps, footer: footer, isLoading: isLoading })),
|
|
59
|
-
React.createElement(framer_motion_1.AnimatePresence, null, mobileOpen && (React.createElement(React.Fragment, null,
|
|
60
|
-
React.createElement(framer_motion_1.motion.div, { key: "sidebar-backdrop", initial: { opacity: 0 }, animate: { opacity: 1 }, exit: { opacity: 0 }, transition: { duration: 0.15 }, onClick: () => onMobileOpenChange === null || onMobileOpenChange === void 0 ? void 0 : onMobileOpenChange(false), className: "fixed inset-0 z-40 bg-foreground/40 backdrop-blur-sm md:hidden", "aria-hidden": "true" }),
|
|
61
|
-
React.createElement(framer_motion_1.motion.aside, { key: "sidebar-drawer", initial: { x: "-100%" }, animate: { x: 0 }, exit: { x: "-100%" }, transition: { duration: 0.2, ease: "easeInOut" }, className: (0, utils_1.cn)("fixed inset-y-0 left-0 z-50 flex w-60 flex-col border-r border-border bg-card text-card-foreground md:hidden", className), "aria-label": "Main navigation" },
|
|
62
|
-
React.createElement(SidebarBody, { menus: menus, activeItem: activeItem, onItemClick: (item) => {
|
|
63
|
-
onItemClick === null || onItemClick === void 0 ? void 0 : onItemClick(item);
|
|
64
|
-
onMobileOpenChange === null || onMobileOpenChange === void 0 ? void 0 : onMobileOpenChange(false);
|
|
65
|
-
}, logo: logo, companyName: companyName, collapsed: false, onToggleCollapsed: () => onMobileOpenChange === null || onMobileOpenChange === void 0 ? void 0 : onMobileOpenChange(false), otherApps: otherApps, footer: footer, isLoading: isLoading, isMobileDrawer: true })))))));
|
|
66
|
-
}
|
|
67
|
-
function SidebarBody({ menus, activeItem, onItemClick, logo, companyName, collapsed, onToggleCollapsed, otherApps, footer, isLoading, isMobileDrawer = false, }) {
|
|
68
|
-
var _a, _b;
|
|
69
|
-
return (React.createElement("nav", { className: "flex h-full min-h-0 flex-col", "aria-label": "Sidebar" },
|
|
70
|
-
React.createElement("div", { className: (0, utils_1.cn)("flex h-14 shrink-0 items-center gap-2 border-b border-border px-3", collapsed && "justify-center px-2") },
|
|
71
|
-
logo ? (React.createElement("img", { src: logo, alt: "", className: "h-7 w-7 shrink-0 rounded-md object-contain" })) : (React.createElement("div", { className: "grid h-7 w-7 shrink-0 place-items-center rounded-md bg-primary text-xs font-semibold text-primary-foreground" }, (_b = (_a = companyName === null || companyName === void 0 ? void 0 : companyName[0]) === null || _a === void 0 ? void 0 : _a.toUpperCase()) !== null && _b !== void 0 ? _b : "P")),
|
|
72
|
-
!collapsed && companyName && (React.createElement("span", { className: "truncate text-sm font-semibold text-foreground" }, companyName))),
|
|
73
|
-
React.createElement("ul", { className: "flex-1 overflow-y-auto px-2 py-3", role: "list" }, isLoading
|
|
74
|
-
? Array.from({ length: 5 }).map((_, index) => (React.createElement("li", { key: `skeleton-${index}`, className: "mb-1" },
|
|
75
|
-
React.createElement("div", { className: (0, utils_1.cn)("flex items-center gap-2 px-2 py-1.5", collapsed && "justify-center") },
|
|
76
|
-
React.createElement(skeleton_1.Skeleton, { variant: "rectangle", className: "h-5 w-5 rounded" }),
|
|
77
|
-
!collapsed && (React.createElement(skeleton_1.Skeleton, { variant: "text", className: "h-3 w-24" }))))))
|
|
78
|
-
: menus.map((item) => (React.createElement(SidebarMenuRow, { key: item.id, item: item, activeItem: activeItem, collapsed: collapsed, onItemClick: onItemClick })))),
|
|
79
|
-
otherApps && otherApps.length > 0 && (React.createElement("div", { className: "shrink-0 border-t border-border px-2 py-2" }, collapsed ? (React.createElement(popover_1.Popover, null,
|
|
80
|
-
React.createElement(popover_1.PopoverTrigger, { asChild: true },
|
|
81
|
-
React.createElement("button", { type: "button", "aria-label": "Other apps", className: "flex h-9 w-full items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" },
|
|
82
|
-
React.createElement(lucide_react_1.Grid3x3, { "aria-hidden": "true", className: "h-4 w-4" }))),
|
|
83
|
-
React.createElement(popover_1.PopoverContent, { side: "right", align: "end", className: "w-56 p-1" },
|
|
84
|
-
React.createElement(OtherAppsList, { apps: otherApps })))) : (React.createElement(React.Fragment, null,
|
|
85
|
-
React.createElement("p", { className: "px-2 pb-1 text-[10px] font-semibold uppercase tracking-wider text-muted-foreground" }, "Other apps"),
|
|
86
|
-
React.createElement(OtherAppsList, { apps: otherApps }))))),
|
|
87
|
-
footer && (React.createElement("div", { className: "shrink-0 border-t border-border px-2 py-2" }, footer)),
|
|
88
|
-
React.createElement("div", { className: "shrink-0 border-t border-border px-2 py-2" },
|
|
89
|
-
React.createElement("button", { type: "button", onClick: onToggleCollapsed, "aria-label": isMobileDrawer
|
|
90
|
-
? "Close sidebar"
|
|
91
|
-
: collapsed
|
|
92
|
-
? "Expand sidebar"
|
|
93
|
-
: "Collapse sidebar", "aria-expanded": !collapsed, className: "flex h-8 w-full items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" },
|
|
94
|
-
React.createElement(lucide_react_1.ChevronLeft, { "aria-hidden": "true", className: (0, utils_1.cn)("h-4 w-4 transition-transform motion-safe:duration-200", collapsed && "rotate-180") })))));
|
|
95
|
-
}
|
|
96
|
-
function SidebarMenuRow({ item, activeItem, collapsed, onItemClick, nested = false, }) {
|
|
97
|
-
var _a;
|
|
98
|
-
const hasChildren = !!item.children && item.children.length > 0;
|
|
99
|
-
const isActive = activeItem === item.id;
|
|
100
|
-
const childActive = hasChildren &&
|
|
101
|
-
item.children.some((child) => child.id === activeItem);
|
|
102
|
-
const [expanded, setExpanded] = React.useState(childActive);
|
|
103
|
-
React.useEffect(() => {
|
|
104
|
-
if (childActive)
|
|
105
|
-
setExpanded(true);
|
|
106
|
-
}, [childActive]);
|
|
107
|
-
const [hoverOpen, setHoverOpen] = React.useState(false);
|
|
108
|
-
const closeTimer = React.useRef(null);
|
|
109
|
-
const scheduleClose = () => {
|
|
110
|
-
if (closeTimer.current)
|
|
111
|
-
window.clearTimeout(closeTimer.current);
|
|
112
|
-
closeTimer.current = window.setTimeout(() => setHoverOpen(false), 120);
|
|
113
|
-
};
|
|
114
|
-
const cancelClose = () => {
|
|
115
|
-
if (closeTimer.current)
|
|
116
|
-
window.clearTimeout(closeTimer.current);
|
|
117
|
-
setHoverOpen(true);
|
|
118
|
-
};
|
|
119
|
-
const handleClick = (event) => {
|
|
120
|
-
if (item.disabled)
|
|
121
|
-
return;
|
|
122
|
-
event.preventDefault();
|
|
123
|
-
if (hasChildren && !collapsed) {
|
|
124
|
-
setExpanded((prev) => !prev);
|
|
125
|
-
return;
|
|
126
|
-
}
|
|
127
|
-
onItemClick === null || onItemClick === void 0 ? void 0 : onItemClick(item);
|
|
128
|
-
};
|
|
129
|
-
const IconComponent = item.icon;
|
|
130
|
-
const trigger = (React.createElement("button", { type: "button", disabled: item.disabled, "aria-current": isActive ? "page" : undefined, "aria-disabled": item.disabled || undefined, "aria-haspopup": hasChildren ? "menu" : undefined, "aria-expanded": hasChildren ? expanded || hoverOpen : undefined, "aria-label": collapsed ? item.title : undefined, onClick: handleClick, onMouseEnter: collapsed && hasChildren ? cancelClose : undefined, onMouseLeave: collapsed && hasChildren ? scheduleClose : undefined, className: (0, utils_1.cn)("group relative flex w-full items-center gap-2.5 rounded-md px-2 py-1.5 text-sm transition-colors", "text-muted-foreground hover:bg-accent hover:text-foreground", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", "disabled:cursor-not-allowed disabled:opacity-50", isActive && "bg-primary/10 text-primary hover:bg-primary/15", collapsed && "justify-center px-2", nested && "py-1 text-xs") },
|
|
131
|
-
isActive && (React.createElement("span", { "aria-hidden": "true", className: "absolute left-0 top-1/2 h-5 w-0.5 -translate-y-1/2 rounded-r bg-primary" })),
|
|
132
|
-
IconComponent ? (React.createElement(IconComponent, { "aria-hidden": "true", className: (0, utils_1.cn)("h-4 w-4 shrink-0", isActive && "text-primary") })) : (React.createElement("span", { "aria-hidden": "true", className: "h-4 w-4 shrink-0 rounded-sm bg-muted" })),
|
|
133
|
-
!collapsed && (React.createElement(React.Fragment, null,
|
|
134
|
-
React.createElement("span", { className: "flex-1 truncate text-left" }, item.title),
|
|
135
|
-
item.badge && (React.createElement(badge_1.Badge, { variant: badgeVariant(item.badge.variant), size: "sm", className: "px-1.5 py-0 text-[10px]" }, (_a = item.badge.label) !== null && _a !== void 0 ? _a : item.badge.count)),
|
|
136
|
-
hasChildren && (React.createElement(lucide_react_1.ChevronDown, { "aria-hidden": "true", className: (0, utils_1.cn)("h-3.5 w-3.5 shrink-0 text-muted-foreground transition-transform motion-safe:duration-200", expanded && "rotate-180") })))),
|
|
137
|
-
collapsed && item.badge && (React.createElement("span", { "aria-hidden": "true", className: (0, utils_1.cn)("absolute right-1 top-1 h-1.5 w-1.5 rounded-full", badgeDot(item.badge.variant)) }))));
|
|
138
|
-
if (collapsed && hasChildren) {
|
|
139
|
-
return (React.createElement("li", null,
|
|
140
|
-
React.createElement(popover_1.Popover, { open: hoverOpen, onOpenChange: setHoverOpen },
|
|
141
|
-
React.createElement(popover_1.PopoverTrigger, { asChild: true }, trigger),
|
|
142
|
-
React.createElement(popover_1.PopoverContent, { side: "right", align: "start", sideOffset: 8, onMouseEnter: cancelClose, onMouseLeave: scheduleClose, className: "w-56 p-1" },
|
|
143
|
-
React.createElement("div", { className: "px-2 py-1 text-xs font-semibold text-muted-foreground" }, item.title),
|
|
144
|
-
React.createElement("ul", { role: "list" }, item.children.map((child) => (React.createElement(SidebarMenuRow, { key: child.id, item: child, activeItem: activeItem, collapsed: false, onItemClick: (value) => {
|
|
145
|
-
setHoverOpen(false);
|
|
146
|
-
onItemClick === null || onItemClick === void 0 ? void 0 : onItemClick(value);
|
|
147
|
-
}, nested: true }))))))));
|
|
148
|
-
}
|
|
149
|
-
return (React.createElement("li", null,
|
|
150
|
-
trigger,
|
|
151
|
-
hasChildren && !collapsed && (React.createElement(framer_motion_1.AnimatePresence, { initial: false }, expanded && (React.createElement(framer_motion_1.motion.ul, { key: "submenu", initial: { height: 0, opacity: 0 }, animate: { height: "auto", opacity: 1 }, exit: { height: 0, opacity: 0 }, transition: { duration: 0.18, ease: "easeInOut" }, className: "ml-5 mt-0.5 overflow-hidden border-l border-border pl-2", role: "list" }, item.children.map((child) => (React.createElement(SidebarMenuRow, { key: child.id, item: child, activeItem: activeItem, collapsed: false, onItemClick: onItemClick, nested: true })))))))));
|
|
152
|
-
}
|
|
153
|
-
function OtherAppsList({ apps }) {
|
|
154
|
-
return (React.createElement("ul", { role: "list" }, apps.map((app) => (React.createElement("li", { key: app.id },
|
|
155
|
-
React.createElement("a", { href: app.url, className: "flex items-center gap-2 rounded-md px-2 py-1.5 text-sm text-muted-foreground transition-colors hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" },
|
|
156
|
-
app.iconUrl ? (React.createElement("img", { src: app.iconUrl, alt: "", className: "h-4 w-4 rounded-sm object-contain" })) : app.icon ? (React.createElement(app.icon, { "aria-hidden": "true", className: "h-4 w-4" })) : (React.createElement(lucide_react_1.Grid3x3, { "aria-hidden": "true", className: "h-4 w-4" })),
|
|
157
|
-
React.createElement("span", { className: "truncate" }, app.name)))))));
|
|
158
|
-
}
|
|
159
|
-
function badgeVariant(variant) {
|
|
160
|
-
switch (variant) {
|
|
161
|
-
case "destructive":
|
|
162
|
-
return "destructive";
|
|
163
|
-
case "success":
|
|
164
|
-
return "success";
|
|
165
|
-
case "warning":
|
|
166
|
-
return "warning";
|
|
167
|
-
default:
|
|
168
|
-
return "default";
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
function badgeDot(variant) {
|
|
172
|
-
switch (variant) {
|
|
173
|
-
case "destructive":
|
|
174
|
-
return "bg-destructive";
|
|
175
|
-
case "success":
|
|
176
|
-
return "bg-success";
|
|
177
|
-
case "warning":
|
|
178
|
-
return "bg-warning";
|
|
179
|
-
default:
|
|
180
|
-
return "bg-primary";
|
|
181
|
-
}
|
|
182
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import * as SliderPrimitive from "@radix-ui/react-slider";
|
|
3
|
-
export interface SliderMark {
|
|
4
|
-
value: number;
|
|
5
|
-
label?: React.ReactNode;
|
|
6
|
-
}
|
|
7
|
-
export interface SliderProps extends Omit<React.ComponentPropsWithoutRef<typeof SliderPrimitive.Root>, "value" | "defaultValue" | "onValueChange"> {
|
|
8
|
-
/** Single value or pair for range mode. */
|
|
9
|
-
value?: number | number[];
|
|
10
|
-
defaultValue?: number | number[];
|
|
11
|
-
onValueChange?: (value: number | number[]) => void;
|
|
12
|
-
/** Show tooltip with current value on the thumb. */
|
|
13
|
-
showTooltip?: boolean;
|
|
14
|
-
/** Marks rendered along the track. */
|
|
15
|
-
marks?: SliderMark[];
|
|
16
|
-
formatValue?: (value: number) => string;
|
|
17
|
-
}
|
|
18
|
-
export declare const Slider: React.ForwardRefExoticComponent<SliderProps & React.RefAttributes<HTMLSpanElement>>;
|
|
@@ -1,101 +0,0 @@
|
|
|
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
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
36
|
-
var t = {};
|
|
37
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
38
|
-
t[p] = s[p];
|
|
39
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
40
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
41
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
42
|
-
t[p[i]] = s[p[i]];
|
|
43
|
-
}
|
|
44
|
-
return t;
|
|
45
|
-
};
|
|
46
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47
|
-
exports.Slider = void 0;
|
|
48
|
-
const React = __importStar(require("react"));
|
|
49
|
-
const SliderPrimitive = __importStar(require("@radix-ui/react-slider"));
|
|
50
|
-
const utils_1 = require("../../lib/utils");
|
|
51
|
-
const tooltip_1 = require("../ui/tooltip");
|
|
52
|
-
exports.Slider = React.forwardRef((_a, ref) => {
|
|
53
|
-
var { className, value, defaultValue, onValueChange, showTooltip = false, marks, formatValue = String, min = 0, max = 100, step = 1 } = _a, rest = __rest(_a, ["className", "value", "defaultValue", "onValueChange", "showTooltip", "marks", "formatValue", "min", "max", "step"]);
|
|
54
|
-
const isRange = Array.isArray(value)
|
|
55
|
-
? value.length > 1
|
|
56
|
-
: Array.isArray(defaultValue)
|
|
57
|
-
? defaultValue.length > 1
|
|
58
|
-
: false;
|
|
59
|
-
const internalValue = React.useMemo(() => {
|
|
60
|
-
var _a;
|
|
61
|
-
const source = (_a = value !== null && value !== void 0 ? value : defaultValue) !== null && _a !== void 0 ? _a : (isRange ? [min, max] : [min]);
|
|
62
|
-
return Array.isArray(source) ? source : [source];
|
|
63
|
-
}, [value, defaultValue, isRange, min, max]);
|
|
64
|
-
const [trackedValue, setTrackedValue] = React.useState(internalValue);
|
|
65
|
-
const displayValue = value !== undefined
|
|
66
|
-
? Array.isArray(value)
|
|
67
|
-
? value
|
|
68
|
-
: [value]
|
|
69
|
-
: trackedValue;
|
|
70
|
-
return (React.createElement("div", { className: (0, utils_1.cn)("w-full select-none", className) },
|
|
71
|
-
React.createElement(SliderPrimitive.Root, Object.assign({ ref: ref, value: displayValue, defaultValue: defaultValue !== undefined
|
|
72
|
-
? Array.isArray(defaultValue)
|
|
73
|
-
? defaultValue
|
|
74
|
-
: [defaultValue]
|
|
75
|
-
: undefined, onValueChange: (next) => {
|
|
76
|
-
setTrackedValue(next);
|
|
77
|
-
onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange(isRange ? next : next[0]);
|
|
78
|
-
}, min: min, max: max, step: step, className: "relative flex h-5 w-full touch-none items-center" }, rest),
|
|
79
|
-
React.createElement(SliderPrimitive.Track, { className: "relative h-1 w-full grow overflow-hidden rounded-full bg-muted" },
|
|
80
|
-
React.createElement(SliderPrimitive.Range, { className: "absolute h-full bg-primary" })),
|
|
81
|
-
displayValue.map((thumbValue, index) => {
|
|
82
|
-
const thumb = (React.createElement(SliderPrimitive.Thumb, { key: index, "aria-label": isRange
|
|
83
|
-
? index === 0
|
|
84
|
-
? "Minimum value"
|
|
85
|
-
: "Maximum value"
|
|
86
|
-
: "Value", className: (0, utils_1.cn)("block h-4 w-4 rounded-full border-2 border-primary bg-background shadow-sm transition-colors", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background", "disabled:pointer-events-none disabled:opacity-50") }));
|
|
87
|
-
if (!showTooltip)
|
|
88
|
-
return thumb;
|
|
89
|
-
return (React.createElement(tooltip_1.Tooltip, { key: index, open: true },
|
|
90
|
-
React.createElement(tooltip_1.TooltipTrigger, { asChild: true }, thumb),
|
|
91
|
-
React.createElement(tooltip_1.TooltipContent, { side: "top", sideOffset: 6 }, formatValue(thumbValue))));
|
|
92
|
-
})),
|
|
93
|
-
marks && marks.length > 0 && (React.createElement("div", { "aria-hidden": "true", className: "relative mt-1.5 h-4 text-[10px] text-muted-foreground" }, marks.map((mark) => {
|
|
94
|
-
var _a;
|
|
95
|
-
const ratio = (mark.value - min) / (max - min);
|
|
96
|
-
return (React.createElement("span", { key: mark.value, style: {
|
|
97
|
-
left: `${Math.min(Math.max(ratio, 0), 1) * 100}%`,
|
|
98
|
-
}, className: "absolute -translate-x-1/2" }, (_a = mark.label) !== null && _a !== void 0 ? _a : mark.value));
|
|
99
|
-
})))));
|
|
100
|
-
});
|
|
101
|
-
exports.Slider.displayName = "Slider";
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import { type ColumnDef, type TableProps } from "./TableProps";
|
|
3
|
-
export declare function Table<T>(props: TableProps<T>): React.ReactElement;
|
|
4
|
-
export declare namespace Table {
|
|
5
|
-
var displayName: string;
|
|
6
|
-
}
|
|
7
|
-
export type { ColumnDef, TableProps };
|
|
@@ -1,172 +0,0 @@
|
|
|
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
|
-
exports.Table = Table;
|
|
37
|
-
const React = __importStar(require("react"));
|
|
38
|
-
const lucide_react_1 = require("lucide-react");
|
|
39
|
-
const utils_1 = require("../../lib/utils");
|
|
40
|
-
const button_1 = require("../ui/button");
|
|
41
|
-
const dropdown_menu_1 = require("../ui/dropdown-menu");
|
|
42
|
-
const ActiveFilters_1 = require("./components/ActiveFilters");
|
|
43
|
-
const BulkActionBar_1 = require("./components/BulkActionBar");
|
|
44
|
-
const Pagination_1 = require("./components/Pagination");
|
|
45
|
-
const TableBody_1 = require("./components/TableBody");
|
|
46
|
-
const TableEmptyState_1 = require("./components/TableEmptyState");
|
|
47
|
-
const TableErrorState_1 = require("./components/TableErrorState");
|
|
48
|
-
const TableHeader_1 = require("./components/TableHeader");
|
|
49
|
-
const TableSearch_1 = require("./components/TableSearch");
|
|
50
|
-
const LeftFilterPane_1 = require("./filters/LeftFilterPane");
|
|
51
|
-
const TableFilters_1 = require("./filters/TableFilters");
|
|
52
|
-
const useColumnResize_1 = require("./hooks/useColumnResize");
|
|
53
|
-
const useTable_1 = require("./hooks/useTable");
|
|
54
|
-
const useTableKeyboard_1 = require("./hooks/useTableKeyboard");
|
|
55
|
-
const useVirtualScroll_1 = require("./hooks/useVirtualScroll");
|
|
56
|
-
const ManageColumns_1 = require("./settings/ManageColumns");
|
|
57
|
-
const TableSettings_1 = require("./settings/TableSettings");
|
|
58
|
-
const TableProps_1 = require("./TableProps");
|
|
59
|
-
const sortUtils_1 = require("./utils/sortUtils");
|
|
60
|
-
const DEFAULT_PAGE_SIZE_OPTIONS = [10, 25, 50, 100];
|
|
61
|
-
function Table(props) {
|
|
62
|
-
const { data, columns, rowKey, selectable = false, selectedRows, onSelectionChange, selectionMode = "multi", onRowClick, rowClassName, sortable = true, defaultSort, onSortChange, filterable = true, defaultFilters, onFilterChange, searchable = true, searchPlaceholder, onSearchChange, isServerSearch = false, pagination = true, paginationMode = "client", defaultPageSize = 50, pageSizeOptions = DEFAULT_PAGE_SIZE_OPTIONS, totalCount, onPageChange, isLoading = false, loadingRowCount = 5, error = null, onRetry, emptyState, emptyTitle, emptyDescription, emptyAction, density: densityProp = "default", maxHeight, virtualScroll, rowHeight, virtualScrollThreshold = 500, defaultHiddenColumns = [], showColumnToggle = true, columnResizable = true, stickyHeader = true, noBorders = false, bulkActions = [], filterSidebar, filterMode = "inline", preferences, headerActions, exportOptions, className, style, } = props;
|
|
63
|
-
const tableState = (0, useTable_1.useTable)({
|
|
64
|
-
data,
|
|
65
|
-
columns,
|
|
66
|
-
rowKey,
|
|
67
|
-
selectable,
|
|
68
|
-
selectionMode,
|
|
69
|
-
selectedRows,
|
|
70
|
-
onSelectionChange,
|
|
71
|
-
sortable,
|
|
72
|
-
defaultSort,
|
|
73
|
-
onSortChange,
|
|
74
|
-
filterable,
|
|
75
|
-
defaultFilters,
|
|
76
|
-
onFilterChange,
|
|
77
|
-
searchable,
|
|
78
|
-
onSearchChange,
|
|
79
|
-
isServerSearch,
|
|
80
|
-
pagination,
|
|
81
|
-
paginationMode,
|
|
82
|
-
defaultPageSize,
|
|
83
|
-
totalCount,
|
|
84
|
-
onPageChange,
|
|
85
|
-
defaultHiddenColumns,
|
|
86
|
-
density: densityProp,
|
|
87
|
-
preferences,
|
|
88
|
-
});
|
|
89
|
-
const { pageData, processed, pageCount, visibleColumns, columnVisibility, setColumnHidden, columnWidths, setColumnWidth, density, setDensity, sort, setSort, filters, setFilters, searchQuery, setSearchQuery, selection, toggleRow, toggleAll, clearSelection, isAllSelected, isSomeSelected, pageIndex, pageSize, setPage, setPageSize, } = tableState;
|
|
90
|
-
const resize = (0, useColumnResize_1.useColumnResize)({
|
|
91
|
-
columns,
|
|
92
|
-
columnWidths,
|
|
93
|
-
setColumnWidth,
|
|
94
|
-
enabled: columnResizable,
|
|
95
|
-
});
|
|
96
|
-
const scrollRef = React.useRef(null);
|
|
97
|
-
const resolvedRowHeight = rowHeight !== null && rowHeight !== void 0 ? rowHeight : TableProps_1.ROW_HEIGHT[density];
|
|
98
|
-
const virtual = (0, useVirtualScroll_1.useVirtualScroll)({
|
|
99
|
-
rowCount: pageData.length,
|
|
100
|
-
rowHeight: resolvedRowHeight,
|
|
101
|
-
enabled: virtualScroll,
|
|
102
|
-
threshold: virtualScrollThreshold,
|
|
103
|
-
scrollContainerRef: scrollRef,
|
|
104
|
-
});
|
|
105
|
-
const keyboardEnabled = selectable || !!onRowClick;
|
|
106
|
-
const keyboard = (0, useTableKeyboard_1.useTableKeyboard)({
|
|
107
|
-
rowCount: pageData.length,
|
|
108
|
-
columnCount: visibleColumns.length,
|
|
109
|
-
hasSelectionColumn: selectable,
|
|
110
|
-
onActivateRow: (rowIndex) => {
|
|
111
|
-
const row = pageData[rowIndex];
|
|
112
|
-
if (row && onRowClick) {
|
|
113
|
-
onRowClick(row, {});
|
|
114
|
-
}
|
|
115
|
-
},
|
|
116
|
-
onToggleRow: (rowIndex) => {
|
|
117
|
-
const row = pageData[rowIndex];
|
|
118
|
-
if (row)
|
|
119
|
-
toggleRow((0, sortUtils_1.resolveRowKey)(row, rowKey));
|
|
120
|
-
},
|
|
121
|
-
onClearSelection: clearSelection,
|
|
122
|
-
});
|
|
123
|
-
const selectedKeys = React.useMemo(() => new Set(selection), [selection]);
|
|
124
|
-
const selectedRowData = React.useMemo(() => data.filter((row) => selectedKeys.has((0, sortUtils_1.resolveRowKey)(row, rowKey))), [data, selectedKeys, rowKey]);
|
|
125
|
-
const hasActiveFilters = filters.length > 0 || searchQuery.length > 0;
|
|
126
|
-
const showSidebar = (filterSidebar === null || filterSidebar === void 0 ? void 0 : filterSidebar.enabled) && filterMode === "sidebar";
|
|
127
|
-
const handleRemoveFilter = (filter) => {
|
|
128
|
-
setFilters((prev) => prev.filter((f) => f !== filter));
|
|
129
|
-
};
|
|
130
|
-
const clearAllFilters = () => {
|
|
131
|
-
setFilters([]);
|
|
132
|
-
if (searchQuery)
|
|
133
|
-
setSearchQuery("");
|
|
134
|
-
};
|
|
135
|
-
const totalRows = paginationMode === "server" ? totalCount !== null && totalCount !== void 0 ? totalCount : 0 : processed.length;
|
|
136
|
-
const hasError = error !== null && error !== undefined;
|
|
137
|
-
const isEmpty = !isLoading && !hasError && pageData.length === 0;
|
|
138
|
-
return (React.createElement("div", { className: (0, utils_1.cn)("flex flex-col overflow-hidden rounded-md border border-border bg-card text-card-foreground", className), style: Object.assign({ "--row-height": `${resolvedRowHeight}px` }, style) },
|
|
139
|
-
React.createElement("div", { className: "flex flex-wrap items-center justify-between gap-2 border-b border-border bg-card px-3 py-2" },
|
|
140
|
-
React.createElement("div", { className: "flex flex-1 items-center gap-2" }, searchable && (React.createElement(TableSearch_1.TableSearch, { value: searchQuery, onChange: setSearchQuery, placeholder: searchPlaceholder }))),
|
|
141
|
-
React.createElement("div", { className: "flex flex-wrap items-center gap-2" },
|
|
142
|
-
filterable && filterMode === "inline" && (React.createElement(TableFilters_1.TableFilters, { columns: columns, filters: filters, onApply: (next) => setFilters(next) })),
|
|
143
|
-
showColumnToggle && (React.createElement(ManageColumns_1.ManageColumns, { columns: columns, columnVisibility: columnVisibility, onChange: setColumnHidden })),
|
|
144
|
-
React.createElement(TableSettings_1.TableSettings, { density: density, onDensityChange: setDensity }),
|
|
145
|
-
exportOptions && exportOptions.length > 0 && (React.createElement(dropdown_menu_1.DropdownMenu, null,
|
|
146
|
-
React.createElement(dropdown_menu_1.DropdownMenuTrigger, { asChild: true },
|
|
147
|
-
React.createElement(button_1.Button, { size: "sm", variant: "outline", leftIcon: React.createElement(lucide_react_1.Download, null) }, "Export")),
|
|
148
|
-
React.createElement(dropdown_menu_1.DropdownMenuContent, { align: "end" }, exportOptions.map((option) => (React.createElement(dropdown_menu_1.DropdownMenuItem, { key: option.label, onClick: () => option.onExport(processed, selectedRowData) },
|
|
149
|
-
option.icon,
|
|
150
|
-
option.label)))))),
|
|
151
|
-
headerActions)),
|
|
152
|
-
React.createElement(ActiveFilters_1.ActiveFilters, { filters: filters, columns: columns, onRemove: handleRemoveFilter, onClearAll: () => setFilters([]) }),
|
|
153
|
-
React.createElement(BulkActionBar_1.BulkActionBar, { selectedCount: selection.length, selectedKeys: selection, selectedRows: selectedRowData, actions: bulkActions, onClear: clearSelection }),
|
|
154
|
-
React.createElement("div", { className: "flex flex-1 overflow-hidden" },
|
|
155
|
-
showSidebar && filterSidebar && filterSidebar.position !== "right" && (React.createElement(LeftFilterPane_1.LeftFilterPane, { filters: filterSidebar.filters, onApply: filterSidebar.onApply, isLoading: filterSidebar.isLoading })),
|
|
156
|
-
React.createElement("div", { ref: scrollRef, role: keyboardEnabled ? "grid" : undefined, "aria-busy": isLoading || undefined, "aria-rowcount": pageData.length || undefined, "aria-colcount": visibleColumns.length + (selectable ? 1 : 0) || undefined, tabIndex: keyboardEnabled ? 0 : undefined, onKeyDown: keyboardEnabled ? keyboard.handleKeyDown : undefined, style: {
|
|
157
|
-
maxHeight: typeof maxHeight === "number"
|
|
158
|
-
? `${maxHeight}px`
|
|
159
|
-
: maxHeight,
|
|
160
|
-
}, className: (0, utils_1.cn)("relative flex-1 overflow-auto", keyboardEnabled &&
|
|
161
|
-
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset") }, hasError ? (React.createElement(TableErrorState_1.TableErrorState, { error: error, onRetry: onRetry })) : isEmpty ? (emptyState !== null && emptyState !== void 0 ? emptyState : (React.createElement(TableEmptyState_1.TableEmptyState, { title: emptyTitle, description: emptyDescription, hasActiveFilters: hasActiveFilters, onClearFilters: hasActiveFilters ? clearAllFilters : undefined, action: emptyAction }))) : (React.createElement("table", { className: (0, utils_1.cn)("w-full border-collapse text-left", noBorders && "[&_td]:border-0"), style: { tableLayout: "fixed" } },
|
|
162
|
-
React.createElement(TableHeader_1.TableHeader, { columns: visibleColumns, columnWidths: columnWidths, sortable: sortable, sort: sort, onSortChange: setSort, selectable: selectable, selectionMode: selectionMode, isAllSelected: isAllSelected, isSomeSelected: isSomeSelected, onToggleAll: toggleAll, resizable: columnResizable, resizingColumnId: resize.resizingColumnId, onResizePointerDown: resize.handlePointerDown, sticky: stickyHeader, focusedColIndex: keyboard.active.row === -1
|
|
163
|
-
? keyboard.active.col
|
|
164
|
-
: -1, onCellClick: (colIndex) => keyboard.setActive({ row: -1, col: colIndex }) }),
|
|
165
|
-
React.createElement(TableBody_1.TableBody, { data: pageData, columns: visibleColumns, rowKey: rowKey, columnWidths: columnWidths, selectable: selectable, selectedKeys: selectedKeys, onToggleSelect: (key) => toggleRow(key), onRowClick: onRowClick, rowClassName: rowClassName, striped: true, noBorders: noBorders, focusedRowIndex: keyboard.active.row, focusedColIndex: keyboard.active.col, onCellClick: (rowIndex, colIndex) => keyboard.setActive({
|
|
166
|
-
row: rowIndex,
|
|
167
|
-
col: colIndex,
|
|
168
|
-
}), isLoading: isLoading, loadingRowCount: loadingRowCount, virtual: virtual })))),
|
|
169
|
-
showSidebar && filterSidebar && filterSidebar.position === "right" && (React.createElement(LeftFilterPane_1.LeftFilterPane, { filters: filterSidebar.filters, onApply: filterSidebar.onApply, isLoading: filterSidebar.isLoading, position: "right" }))),
|
|
170
|
-
pagination && !hasError && (React.createElement(Pagination_1.Pagination, { pageIndex: pageIndex, pageCount: pageCount, pageSize: pageSize, pageSizeOptions: pageSizeOptions, totalRows: totalRows, onPageChange: (page) => setPage(page), onPageSizeChange: (size) => setPageSize(size) }))));
|
|
171
|
-
}
|
|
172
|
-
Table.displayName = "Table";
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
import type * as React from "react";
|
|
2
|
-
export type SortDirection = "asc" | "desc" | null;
|
|
3
|
-
export type FilterOperator = "equals" | "not_equals" | "contains" | "not_contains" | "starts_with" | "ends_with" | "greater_than" | "less_than" | "between" | "is_empty" | "is_not_empty" | "in" | "not_in";
|
|
4
|
-
export type ColumnType = "text" | "number" | "date" | "boolean" | "select" | "custom";
|
|
5
|
-
export type Density = "compact" | "default" | "comfortable";
|
|
6
|
-
export interface ColumnDef<T = unknown> {
|
|
7
|
-
id: string;
|
|
8
|
-
header: string;
|
|
9
|
-
accessorKey?: keyof T;
|
|
10
|
-
accessorFn?: (row: T) => unknown;
|
|
11
|
-
cell?: (value: unknown, row: T) => React.ReactNode;
|
|
12
|
-
type?: ColumnType;
|
|
13
|
-
sortable?: boolean;
|
|
14
|
-
filterable?: boolean;
|
|
15
|
-
filterOptions?: {
|
|
16
|
-
label: string;
|
|
17
|
-
value: unknown;
|
|
18
|
-
}[];
|
|
19
|
-
width?: number;
|
|
20
|
-
minWidth?: number;
|
|
21
|
-
maxWidth?: number;
|
|
22
|
-
sticky?: "left" | "right";
|
|
23
|
-
hidden?: boolean;
|
|
24
|
-
enableHiding?: boolean;
|
|
25
|
-
enableResizing?: boolean;
|
|
26
|
-
align?: "left" | "center" | "right";
|
|
27
|
-
meta?: Record<string, unknown>;
|
|
28
|
-
}
|
|
29
|
-
export interface ActiveFilter {
|
|
30
|
-
columnId: string;
|
|
31
|
-
operator: FilterOperator;
|
|
32
|
-
/** A single value or [from, to] for `between` / array for `in`/`not_in`. */
|
|
33
|
-
value: unknown;
|
|
34
|
-
}
|
|
35
|
-
export interface SortState {
|
|
36
|
-
id: string;
|
|
37
|
-
direction: SortDirection;
|
|
38
|
-
}
|
|
39
|
-
export type RowKey<T> = keyof T | ((row: T) => string | number);
|
|
40
|
-
export interface FilterSidebarConfig {
|
|
41
|
-
id: string;
|
|
42
|
-
label: string;
|
|
43
|
-
type: "select" | "multi-select" | "date-range" | "number-range" | "text";
|
|
44
|
-
options?: {
|
|
45
|
-
label: string;
|
|
46
|
-
value: unknown;
|
|
47
|
-
}[];
|
|
48
|
-
}
|
|
49
|
-
export interface BulkAction<T = unknown> {
|
|
50
|
-
label: string;
|
|
51
|
-
icon?: React.ReactNode;
|
|
52
|
-
onClick: (selectedKeys: (string | number)[], selectedRows: T[]) => void;
|
|
53
|
-
variant?: "default" | "destructive";
|
|
54
|
-
/** When true, shows a confirmation dialog before invoking onClick. */
|
|
55
|
-
confirm?: boolean | {
|
|
56
|
-
title: string;
|
|
57
|
-
description?: string;
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
export interface ExportOption<T = unknown> {
|
|
61
|
-
label: string;
|
|
62
|
-
icon?: React.ReactNode;
|
|
63
|
-
onExport: (data: T[], selectedRows: T[]) => void;
|
|
64
|
-
}
|
|
65
|
-
export interface TablePreferences {
|
|
66
|
-
storageKey: string;
|
|
67
|
-
}
|
|
68
|
-
export interface PersistedTableState {
|
|
69
|
-
columnVisibility?: Record<string, boolean>;
|
|
70
|
-
columnOrder?: string[];
|
|
71
|
-
columnWidths?: Record<string, number>;
|
|
72
|
-
density?: Density;
|
|
73
|
-
pageSize?: number;
|
|
74
|
-
}
|
|
75
|
-
export interface TableProps<T = unknown> {
|
|
76
|
-
data: T[];
|
|
77
|
-
columns: ColumnDef<T>[];
|
|
78
|
-
rowKey: RowKey<T>;
|
|
79
|
-
selectable?: boolean;
|
|
80
|
-
selectedRows?: (string | number)[];
|
|
81
|
-
onSelectionChange?: (selectedKeys: (string | number)[]) => void;
|
|
82
|
-
selectionMode?: "single" | "multi";
|
|
83
|
-
onRowClick?: (row: T, event: React.MouseEvent) => void;
|
|
84
|
-
rowClassName?: (row: T) => string | undefined;
|
|
85
|
-
sortable?: boolean;
|
|
86
|
-
defaultSort?: SortState;
|
|
87
|
-
onSortChange?: (sort: SortState | null) => void;
|
|
88
|
-
filterable?: boolean;
|
|
89
|
-
defaultFilters?: ActiveFilter[];
|
|
90
|
-
onFilterChange?: (filters: ActiveFilter[]) => void;
|
|
91
|
-
searchable?: boolean;
|
|
92
|
-
searchPlaceholder?: string;
|
|
93
|
-
onSearchChange?: (query: string) => void;
|
|
94
|
-
isServerSearch?: boolean;
|
|
95
|
-
pagination?: boolean;
|
|
96
|
-
paginationMode?: "client" | "server";
|
|
97
|
-
defaultPageSize?: number;
|
|
98
|
-
pageSizeOptions?: number[];
|
|
99
|
-
totalCount?: number;
|
|
100
|
-
onPageChange?: (page: number, pageSize: number) => void;
|
|
101
|
-
isLoading?: boolean;
|
|
102
|
-
loadingRowCount?: number;
|
|
103
|
-
error?: Error | string | null;
|
|
104
|
-
onRetry?: () => void;
|
|
105
|
-
emptyState?: React.ReactNode;
|
|
106
|
-
emptyTitle?: string;
|
|
107
|
-
emptyDescription?: string;
|
|
108
|
-
emptyAction?: {
|
|
109
|
-
label: string;
|
|
110
|
-
onClick: () => void;
|
|
111
|
-
};
|
|
112
|
-
density?: Density;
|
|
113
|
-
maxHeight?: number | string;
|
|
114
|
-
virtualScroll?: boolean;
|
|
115
|
-
/** Defaults to 44 (default density). */
|
|
116
|
-
rowHeight?: number;
|
|
117
|
-
/** Threshold for auto-enabling virtual scroll. Default 500. */
|
|
118
|
-
virtualScrollThreshold?: number;
|
|
119
|
-
defaultHiddenColumns?: string[];
|
|
120
|
-
showColumnToggle?: boolean;
|
|
121
|
-
columnResizable?: boolean;
|
|
122
|
-
stickyHeader?: boolean;
|
|
123
|
-
noBorders?: boolean;
|
|
124
|
-
bulkActions?: BulkAction<T>[];
|
|
125
|
-
filterSidebar?: {
|
|
126
|
-
enabled: boolean;
|
|
127
|
-
position?: "left" | "right";
|
|
128
|
-
filters: FilterSidebarConfig[];
|
|
129
|
-
onApply: (filters: Record<string, unknown>) => void;
|
|
130
|
-
isLoading?: boolean;
|
|
131
|
-
};
|
|
132
|
-
filterMode?: "inline" | "sidebar" | "modal";
|
|
133
|
-
preferences?: TablePreferences;
|
|
134
|
-
headerActions?: React.ReactNode;
|
|
135
|
-
exportOptions?: ExportOption<T>[];
|
|
136
|
-
className?: string;
|
|
137
|
-
style?: React.CSSProperties;
|
|
138
|
-
}
|
|
139
|
-
export declare const ROW_HEIGHT: Record<Density, number>;
|