@neo4j-ndl/react 2.0.0-alpha-e609471 → 2.0.0-alpha-5e223d7
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/lib/NOTICE.txt +2 -0
- package/lib/cjs/accordion/Accordion.js +6 -5
- package/lib/cjs/accordion/Accordion.js.map +1 -1
- package/lib/cjs/banner/Banner.js +9 -6
- package/lib/cjs/banner/Banner.js.map +1 -1
- package/lib/cjs/checkbox/Checkbox.js.map +1 -1
- package/lib/cjs/context-menu/ContextMenu.js +30 -16
- package/lib/cjs/context-menu/ContextMenu.js.map +1 -1
- package/lib/cjs/data-grid/Components.js +364 -0
- package/lib/cjs/data-grid/Components.js.map +1 -0
- package/lib/cjs/data-grid/DataGrid.js +98 -0
- package/lib/cjs/data-grid/DataGrid.js.map +1 -0
- package/lib/cjs/{table-deprecated/hooks/hookCallbackTypes.js → data-grid/DataGridContext.js} +12 -1
- package/lib/cjs/data-grid/DataGridContext.js.map +1 -0
- package/lib/cjs/data-grid/helpers.js +94 -0
- package/lib/cjs/data-grid/helpers.js.map +1 -0
- package/lib/cjs/{table-deprecated → data-grid}/index.js +19 -6
- package/lib/cjs/data-grid/index.js.map +1 -0
- package/lib/cjs/dialog/Dialog.js +4 -3
- package/lib/cjs/dialog/Dialog.js.map +1 -1
- package/lib/cjs/dropdown/Overrides.js +1 -1
- package/lib/cjs/dropdown/Overrides.js.map +1 -1
- package/lib/cjs/{drag-and-drop/DragAndDrop.js → dropzone/Dropzone.js} +7 -14
- package/lib/cjs/dropzone/Dropzone.js.map +1 -0
- package/lib/cjs/dropzone/icons/CSV-file.js.map +1 -0
- package/lib/cjs/dropzone/icons/Cloud.js +27 -0
- package/lib/cjs/dropzone/icons/Cloud.js.map +1 -0
- package/lib/cjs/{drag-and-drop → dropzone}/icons/File.js +1 -1
- package/lib/cjs/dropzone/icons/File.js.map +1 -0
- package/lib/cjs/{drag-and-drop → dropzone}/icons/InvalidFile.js +1 -1
- package/lib/cjs/dropzone/icons/InvalidFile.js.map +1 -0
- package/lib/cjs/{drag-and-drop → dropzone}/index.js +3 -3
- package/lib/cjs/dropzone/index.js.map +1 -0
- package/lib/cjs/index.js +4 -3
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/modal/Modal.js +5 -18
- package/lib/cjs/modal/Modal.js.map +1 -1
- package/lib/cjs/popover/Popover.js +7 -3
- package/lib/cjs/popover/Popover.js.map +1 -1
- package/lib/cjs/{view-selector/ViewSelector.js → segmented-control/SegmentedControl.js} +20 -13
- package/lib/cjs/segmented-control/SegmentedControl.js.map +1 -0
- package/lib/cjs/{table-deprecated/hooks → segmented-control}/index.js +1 -3
- package/lib/cjs/segmented-control/index.js.map +1 -0
- package/lib/cjs/side-navigation/SideNavigation.js +17 -31
- package/lib/cjs/side-navigation/SideNavigation.js.map +1 -1
- package/lib/cjs/table/Components.js +1 -3
- package/lib/cjs/table/Components.js.map +1 -1
- package/lib/cjs/table/Table.js +8 -0
- package/lib/cjs/table/Table.js.map +1 -1
- package/lib/cjs/tabs/Tabs.js +15 -4
- package/lib/cjs/tabs/Tabs.js.map +1 -1
- package/lib/cjs/theme/ThemeProvider.js +99 -0
- package/lib/cjs/theme/ThemeProvider.js.map +1 -0
- package/lib/cjs/{view-selector → theme}/index.js +1 -1
- package/lib/cjs/theme/index.js.map +1 -0
- package/lib/cjs/tip/Tip.js +2 -3
- package/lib/cjs/tip/Tip.js.map +1 -1
- package/lib/esm/accordion/Accordion.js +7 -8
- package/lib/esm/accordion/Accordion.js.map +1 -1
- package/lib/esm/banner/Banner.js +8 -4
- package/lib/esm/banner/Banner.js.map +1 -1
- package/lib/esm/checkbox/Checkbox.js.map +1 -1
- package/lib/esm/context-menu/ContextMenu.js +29 -15
- package/lib/esm/context-menu/ContextMenu.js.map +1 -1
- package/lib/esm/data-grid/Components.js +339 -0
- package/lib/esm/data-grid/Components.js.map +1 -0
- package/lib/esm/data-grid/DataGrid.js +92 -0
- package/lib/esm/data-grid/DataGrid.js.map +1 -0
- package/lib/esm/{drag-and-drop/index.js → data-grid/DataGridContext.js} +10 -2
- package/lib/esm/data-grid/DataGridContext.js.map +1 -0
- package/lib/esm/data-grid/helpers.js +88 -0
- package/lib/esm/data-grid/helpers.js.map +1 -0
- package/lib/esm/{table-deprecated → data-grid}/index.js +4 -2
- package/lib/esm/data-grid/index.js.map +1 -0
- package/lib/esm/dialog/Dialog.js +4 -3
- package/lib/esm/dialog/Dialog.js.map +1 -1
- package/lib/esm/dropdown/Overrides.js +1 -1
- package/lib/esm/dropdown/Overrides.js.map +1 -1
- package/lib/esm/{drag-and-drop/DragAndDrop.js → dropzone/Dropzone.js} +7 -14
- package/lib/esm/dropzone/Dropzone.js.map +1 -0
- package/lib/esm/dropzone/icons/CSV-file.js.map +1 -0
- package/lib/esm/dropzone/icons/Cloud.js +25 -0
- package/lib/esm/dropzone/icons/Cloud.js.map +1 -0
- package/lib/esm/dropzone/icons/File.js +25 -0
- package/lib/esm/dropzone/icons/File.js.map +1 -0
- package/lib/esm/dropzone/icons/InvalidFile.js +25 -0
- package/lib/esm/dropzone/icons/InvalidFile.js.map +1 -0
- package/lib/{types/table-deprecated/index.d.ts → esm/dropzone/index.js} +2 -2
- package/lib/esm/dropzone/index.js.map +1 -0
- package/lib/esm/index.js +4 -3
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/modal/Modal.js +6 -18
- package/lib/esm/modal/Modal.js.map +1 -1
- package/lib/esm/popover/Popover.js +7 -3
- package/lib/esm/popover/Popover.js.map +1 -1
- package/lib/esm/{view-selector/ViewSelector.js → segmented-control/SegmentedControl.js} +20 -13
- package/lib/esm/segmented-control/SegmentedControl.js.map +1 -0
- package/lib/esm/segmented-control/index.js +22 -0
- package/lib/esm/segmented-control/index.js.map +1 -0
- package/lib/esm/side-navigation/SideNavigation.js +16 -7
- package/lib/esm/side-navigation/SideNavigation.js.map +1 -1
- package/lib/esm/table/Components.js +1 -3
- package/lib/esm/table/Components.js.map +1 -1
- package/lib/esm/table/Table.js +8 -0
- package/lib/esm/table/Table.js.map +1 -1
- package/lib/esm/tabs/Tabs.js +15 -4
- package/lib/esm/tabs/Tabs.js.map +1 -1
- package/lib/esm/theme/ThemeProvider.js +68 -0
- package/lib/esm/theme/ThemeProvider.js.map +1 -0
- package/lib/esm/{view-selector → theme}/index.js +1 -1
- package/lib/esm/theme/index.js.map +1 -0
- package/lib/esm/tip/Tip.js +2 -3
- package/lib/esm/tip/Tip.js.map +1 -1
- package/lib/types/accordion/Accordion.d.ts +7 -6
- package/lib/types/banner/Banner.d.ts +9 -5
- package/lib/types/context-menu/ContextMenu.d.ts +16 -12
- package/lib/types/data-grid/Components.d.ts +94 -0
- package/lib/types/data-grid/DataGrid.d.ts +90 -0
- package/lib/types/data-grid/DataGridContext.d.ts +62 -0
- package/lib/types/{table-deprecated → data-grid}/helpers.d.ts +15 -21
- package/lib/types/{table-deprecated/hooks → data-grid}/index.d.ts +5 -3
- package/lib/types/dialog/Dialog.d.ts +1 -1
- package/lib/types/{drag-and-drop/DragAndDrop.d.ts → dropzone/Dropzone.d.ts} +4 -11
- package/lib/types/{drag-and-drop → dropzone}/index.d.ts +1 -1
- package/lib/types/helpers/forwardRef.d.ts +6 -0
- package/lib/types/index.d.ts +4 -3
- package/lib/types/modal/Modal.d.ts +13 -6
- package/lib/types/popover/Popover.d.ts +8 -2
- package/lib/types/{view-selector/ViewSelector.d.ts → segmented-control/SegmentedControl.d.ts} +13 -19
- package/lib/{esm/table-deprecated/hooks/hookCallbackTypes.js → types/segmented-control/index.d.ts} +1 -2
- package/lib/types/side-navigation/SideNavigation.d.ts +10 -9
- package/lib/types/table/Table.d.ts +4 -0
- package/lib/types/tabs/Tabs.d.ts +5 -4
- package/lib/types/theme/ThemeProvider.d.ts +54 -0
- package/lib/types/{view-selector → theme}/index.d.ts +1 -1
- package/package.json +2 -2
- package/lib/cjs/drag-and-drop/DragAndDrop.js.map +0 -1
- package/lib/cjs/drag-and-drop/icons/CSV-file.js.map +0 -1
- package/lib/cjs/drag-and-drop/icons/Cloud.js +0 -27
- package/lib/cjs/drag-and-drop/icons/Cloud.js.map +0 -1
- package/lib/cjs/drag-and-drop/icons/File.js.map +0 -1
- package/lib/cjs/drag-and-drop/icons/InvalidFile.js.map +0 -1
- package/lib/cjs/drag-and-drop/index.js.map +0 -1
- package/lib/cjs/table-deprecated/Table.js +0 -157
- package/lib/cjs/table-deprecated/Table.js.map +0 -1
- package/lib/cjs/table-deprecated/TableNavigation.js +0 -51
- package/lib/cjs/table-deprecated/TableNavigation.js.map +0 -1
- package/lib/cjs/table-deprecated/helpers.js +0 -123
- package/lib/cjs/table-deprecated/helpers.js.map +0 -1
- package/lib/cjs/table-deprecated/hooks/hookCallbackTypes.js.map +0 -1
- package/lib/cjs/table-deprecated/hooks/index.js.map +0 -1
- package/lib/cjs/table-deprecated/hooks/useMultiRowSelect.js +0 -84
- package/lib/cjs/table-deprecated/hooks/useMultiRowSelect.js.map +0 -1
- package/lib/cjs/table-deprecated/hooks/useSingleRowSelect.js +0 -61
- package/lib/cjs/table-deprecated/hooks/useSingleRowSelect.js.map +0 -1
- package/lib/cjs/table-deprecated/index.js.map +0 -1
- package/lib/cjs/view-selector/ViewSelector.js.map +0 -1
- package/lib/cjs/view-selector/index.js.map +0 -1
- package/lib/esm/drag-and-drop/DragAndDrop.js.map +0 -1
- package/lib/esm/drag-and-drop/icons/CSV-file.js.map +0 -1
- package/lib/esm/drag-and-drop/icons/Cloud.js +0 -25
- package/lib/esm/drag-and-drop/icons/Cloud.js.map +0 -1
- package/lib/esm/drag-and-drop/icons/File.js +0 -25
- package/lib/esm/drag-and-drop/icons/File.js.map +0 -1
- package/lib/esm/drag-and-drop/icons/InvalidFile.js +0 -25
- package/lib/esm/drag-and-drop/icons/InvalidFile.js.map +0 -1
- package/lib/esm/drag-and-drop/index.js.map +0 -1
- package/lib/esm/table-deprecated/Table.js +0 -150
- package/lib/esm/table-deprecated/Table.js.map +0 -1
- package/lib/esm/table-deprecated/TableNavigation.js +0 -44
- package/lib/esm/table-deprecated/TableNavigation.js.map +0 -1
- package/lib/esm/table-deprecated/helpers.js +0 -116
- package/lib/esm/table-deprecated/helpers.js.map +0 -1
- package/lib/esm/table-deprecated/hooks/hookCallbackTypes.js.map +0 -1
- package/lib/esm/table-deprecated/hooks/index.js +0 -24
- package/lib/esm/table-deprecated/hooks/index.js.map +0 -1
- package/lib/esm/table-deprecated/hooks/useMultiRowSelect.js +0 -82
- package/lib/esm/table-deprecated/hooks/useMultiRowSelect.js.map +0 -1
- package/lib/esm/table-deprecated/hooks/useSingleRowSelect.js +0 -57
- package/lib/esm/table-deprecated/hooks/useSingleRowSelect.js.map +0 -1
- package/lib/esm/table-deprecated/index.js.map +0 -1
- package/lib/esm/view-selector/ViewSelector.js.map +0 -1
- package/lib/esm/view-selector/index.js.map +0 -1
- package/lib/types/table-deprecated/Table.d.ts +0 -76
- package/lib/types/table-deprecated/TableNavigation.d.ts +0 -38
- package/lib/types/table-deprecated/hooks/hookCallbackTypes.d.ts +0 -27
- package/lib/types/table-deprecated/hooks/useMultiRowSelect.d.ts +0 -42
- package/lib/types/table-deprecated/hooks/useSingleRowSelect.d.ts +0 -37
- /package/lib/cjs/{drag-and-drop → dropzone}/icons/CSV-file.js +0 -0
- /package/lib/esm/{drag-and-drop → dropzone}/icons/CSV-file.js +0 -0
- /package/lib/types/{drag-and-drop → dropzone}/icons/CSV-file.d.ts +0 -0
- /package/lib/types/{drag-and-drop → dropzone}/icons/Cloud.d.ts +0 -0
- /package/lib/types/{drag-and-drop → dropzone}/icons/File.d.ts +0 -0
- /package/lib/types/{drag-and-drop → dropzone}/icons/InvalidFile.d.ts +0 -0
|
@@ -0,0 +1,364 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Scrollable = exports.LoadingPlaceholder = exports.NoDataPlaceholder = exports.PaginationNumericButton = exports.PaginationArrowButton = exports.PaginationNumericButtons = exports.Pagination = exports.RowsPerPage = exports.TableResults = exports.Navigation = exports.HeaderCell = exports.BodyRow = exports.BodyCell = exports.Body = exports.Header = exports.ResizingBar = exports.ColumnControls = exports.RowActionCell = exports.ActionButton = exports.DEFAULT_SORT_ACTIONS = void 0;
|
|
7
|
+
const react_1 = require("react");
|
|
8
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
* Copyright (c) "Neo4j"
|
|
12
|
+
* Neo4j Sweden AB [http://neo4j.com]
|
|
13
|
+
*
|
|
14
|
+
* This file is part of Neo4j.
|
|
15
|
+
*
|
|
16
|
+
* Neo4j is free software: you can redistribute it and/or modify
|
|
17
|
+
* it under the terms of the GNU General Public License as published by
|
|
18
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
19
|
+
* (at your option) any later version.
|
|
20
|
+
*
|
|
21
|
+
* This program is distributed in the hope that it will be useful,
|
|
22
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
23
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
24
|
+
* GNU General Public License for more details.
|
|
25
|
+
*
|
|
26
|
+
* You should have received a copy of the GNU General Public License
|
|
27
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
28
|
+
*/
|
|
29
|
+
const react_table_1 = require("@tanstack/react-table");
|
|
30
|
+
const classnames_1 = __importDefault(require("classnames"));
|
|
31
|
+
const react_2 = require("react");
|
|
32
|
+
const icons_1 = require("../icons");
|
|
33
|
+
const loading_spinner_1 = require("../loading-spinner");
|
|
34
|
+
const helpers_1 = require("./helpers");
|
|
35
|
+
const DataGridContext_1 = require("./DataGridContext");
|
|
36
|
+
const button_1 = require("../button");
|
|
37
|
+
const context_menu_1 = require("../context-menu");
|
|
38
|
+
/** Table results per page, with the first option being the default */
|
|
39
|
+
const TABLE_RESULTS = {
|
|
40
|
+
DEFAULT: 10,
|
|
41
|
+
values: [10, 25, 50, 100],
|
|
42
|
+
};
|
|
43
|
+
const DEFAULT_SORT_ACTIONS = (cell) => ({
|
|
44
|
+
asc: {
|
|
45
|
+
title: 'Sort ascending',
|
|
46
|
+
icon: (0, jsx_runtime_1.jsx)(icons_1.BarsArrowUpIconOutline, {}),
|
|
47
|
+
onClick: () => cell.column.toggleSorting(false),
|
|
48
|
+
},
|
|
49
|
+
desc: {
|
|
50
|
+
title: 'Sort descending',
|
|
51
|
+
icon: (0, jsx_runtime_1.jsx)(icons_1.BarsArrowDownIconOutline, {}),
|
|
52
|
+
onClick: () => cell.column.toggleSorting(true),
|
|
53
|
+
},
|
|
54
|
+
default: {
|
|
55
|
+
title: 'Default sort',
|
|
56
|
+
icon: (0, jsx_runtime_1.jsx)(icons_1.Bars3CenterLeftIconOutline, {}),
|
|
57
|
+
onClick: () => cell.column.clearSorting(),
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
exports.DEFAULT_SORT_ACTIONS = DEFAULT_SORT_ACTIONS;
|
|
61
|
+
const ResizingBar = ({ header, children, innerProps, }) => {
|
|
62
|
+
const { className = undefined } = innerProps || {};
|
|
63
|
+
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: children || ((0, jsx_runtime_1.jsx)("button", Object.assign({}, innerProps, { type: "button", className: "ndl-data-grid-resizer-wrapper", onMouseDown: header.getResizeHandler(), onTouchStart: header.getResizeHandler(), "aria-label": "resizing bar", children: (0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)('ndl-data-grid-resizer', className, {
|
|
64
|
+
'ndl-data-grid-is-resizing': header.column.getIsResizing(),
|
|
65
|
+
}) }) }))) }));
|
|
66
|
+
};
|
|
67
|
+
exports.ResizingBar = ResizingBar;
|
|
68
|
+
const Scrollable = ({ children, innerProps }) => {
|
|
69
|
+
const { className } = innerProps || {};
|
|
70
|
+
return ((0, jsx_runtime_1.jsx)("div", Object.assign({}, innerProps, { className: (0, classnames_1.default)('ndl-data-grid-scrollable', className), children: children })));
|
|
71
|
+
};
|
|
72
|
+
exports.Scrollable = Scrollable;
|
|
73
|
+
const Header = ({ children, innerProps }) => {
|
|
74
|
+
const { tableProps, components } = (0, DataGridContext_1.useDataGridContext)();
|
|
75
|
+
const { getHeaderGroups, getState } = tableProps;
|
|
76
|
+
const { className = undefined } = innerProps || {};
|
|
77
|
+
return ((0, jsx_runtime_1.jsx)("div", Object.assign({}, innerProps, { role: "rowgroup", className: (0, classnames_1.default)('ndl-data-grid-thead', className, {
|
|
78
|
+
'ndl-data-grid-is-resizing': getState().columnSizingInfo.isResizingColumn,
|
|
79
|
+
}), children: children || ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: getHeaderGroups().map((headerGroup) => ((0, jsx_runtime_1.jsx)("div", { className: "ndl-data-grid-tr", role: "row", children: headerGroup.headers.map((header) => components.HeaderCell && ((0, jsx_runtime_1.jsx)(components.HeaderCell, { cell: header }, header.id))) }, headerGroup.id))) })) })));
|
|
80
|
+
};
|
|
81
|
+
exports.Header = Header;
|
|
82
|
+
const ActionButton = ({ action, children, onClose, innerProps, }) => {
|
|
83
|
+
const { className } = innerProps || {};
|
|
84
|
+
const { onClick } = action;
|
|
85
|
+
const interceptedOnClick = (0, react_2.useCallback)((e) => {
|
|
86
|
+
const providedOnClick = onClick || (innerProps === null || innerProps === void 0 ? void 0 : innerProps.onClick);
|
|
87
|
+
if (typeof providedOnClick === 'function') {
|
|
88
|
+
providedOnClick(e);
|
|
89
|
+
}
|
|
90
|
+
onClose();
|
|
91
|
+
}, [innerProps === null || innerProps === void 0 ? void 0 : innerProps.onClick, onClick, onClose]);
|
|
92
|
+
// const commonProps: MenuItemProps = {
|
|
93
|
+
const commonProps = Object.assign(Object.assign(Object.assign({}, innerProps), action), { className: (0, classnames_1.default)('ndl-data-grid-column-action', className), onClick: interceptedOnClick });
|
|
94
|
+
return (0, jsx_runtime_1.jsx)(react_2.Fragment, { children: children || (0, jsx_runtime_1.jsx)(context_menu_1.Menu.Item, Object.assign({}, commonProps)) });
|
|
95
|
+
};
|
|
96
|
+
exports.ActionButton = ActionButton;
|
|
97
|
+
const RowActionCell = ({ cell, innerProps, }) => {
|
|
98
|
+
var _a, _b;
|
|
99
|
+
const { components } = (0, DataGridContext_1.useDataGridContext)();
|
|
100
|
+
const actionsButtonRef = (0, react_2.useRef)(null);
|
|
101
|
+
const [actionsOpen, setActionsOpen] = (0, react_2.useState)(false);
|
|
102
|
+
if (!cell ||
|
|
103
|
+
!cell.column.columnDef.meta ||
|
|
104
|
+
typeof ((_b = (_a = cell.column.columnDef) === null || _a === void 0 ? void 0 : _a.meta) === null || _b === void 0 ? void 0 : _b.isActionCell) !== 'object')
|
|
105
|
+
return null;
|
|
106
|
+
const { actions, onOpenChange } = cell.column.columnDef.meta.isActionCell;
|
|
107
|
+
return ((0, jsx_runtime_1.jsxs)(react_2.Fragment, { children: [(0, jsx_runtime_1.jsx)(button_1.IconButton, Object.assign({ clean: true, size: "medium", "aria-label": `Row actions for row id: ${cell.row.id}`, ref: actionsButtonRef, active: actionsOpen, onClick: () => {
|
|
108
|
+
onOpenChange && onOpenChange(!actionsOpen);
|
|
109
|
+
setActionsOpen(!actionsOpen);
|
|
110
|
+
} }, innerProps, { children: (0, jsx_runtime_1.jsx)(icons_1.ChevronDownIconSolid, {}) })), (0, jsx_runtime_1.jsx)(context_menu_1.Menu, { open: actionsOpen, anchorEl: actionsButtonRef.current, onClose: () => {
|
|
111
|
+
onOpenChange && onOpenChange(false);
|
|
112
|
+
setActionsOpen(false);
|
|
113
|
+
}, anchorOrigin: {
|
|
114
|
+
vertical: 'bottom',
|
|
115
|
+
horizontal: 'left',
|
|
116
|
+
}, transformOrigin: {
|
|
117
|
+
horizontal: 'right',
|
|
118
|
+
vertical: 'top',
|
|
119
|
+
}, children: actions.map((action, i) => components.ActionButton && ((0, jsx_runtime_1.jsx)(components.ActionButton, { action: action, onClose: () => setActionsOpen(false) }, `${cell.column.id}-action-${i}`))) })] }));
|
|
120
|
+
};
|
|
121
|
+
exports.RowActionCell = RowActionCell;
|
|
122
|
+
const ColumnControls = ({ cell, children, innerProps, }) => {
|
|
123
|
+
var _a;
|
|
124
|
+
const { className } = innerProps || {};
|
|
125
|
+
const { components } = (0, DataGridContext_1.useDataGridContext)();
|
|
126
|
+
const sort = cell.column.getIsSorted();
|
|
127
|
+
const canSort = cell.column.getCanSort();
|
|
128
|
+
const { defaultSortingActions = true, actions } = ((_a = cell.column.columnDef.meta) === null || _a === void 0 ? void 0 : _a.columnActions) || {};
|
|
129
|
+
const sortingActions = (0, react_2.useMemo)(() => {
|
|
130
|
+
if (canSort) {
|
|
131
|
+
if (sort !== 'asc' && sort !== 'desc') {
|
|
132
|
+
return [
|
|
133
|
+
(0, exports.DEFAULT_SORT_ACTIONS)(cell).asc,
|
|
134
|
+
(0, exports.DEFAULT_SORT_ACTIONS)(cell).desc,
|
|
135
|
+
];
|
|
136
|
+
}
|
|
137
|
+
if (sort === 'asc') {
|
|
138
|
+
return [
|
|
139
|
+
(0, exports.DEFAULT_SORT_ACTIONS)(cell).default,
|
|
140
|
+
(0, exports.DEFAULT_SORT_ACTIONS)(cell).desc,
|
|
141
|
+
];
|
|
142
|
+
}
|
|
143
|
+
if (sort === 'desc') {
|
|
144
|
+
return [
|
|
145
|
+
(0, exports.DEFAULT_SORT_ACTIONS)(cell).default,
|
|
146
|
+
(0, exports.DEFAULT_SORT_ACTIONS)(cell).asc,
|
|
147
|
+
];
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
// Default case
|
|
151
|
+
return [];
|
|
152
|
+
}, [sort, cell, canSort]);
|
|
153
|
+
const newActions = [
|
|
154
|
+
...(defaultSortingActions ? sortingActions : []),
|
|
155
|
+
...(actions !== null && actions !== void 0 ? actions : []),
|
|
156
|
+
];
|
|
157
|
+
const actionsButtonRef = (0, react_2.useRef)(null);
|
|
158
|
+
const [actionsOpen, setActionsOpen] = (0, react_2.useState)(false);
|
|
159
|
+
if (!actions || actions.length === 0)
|
|
160
|
+
return null;
|
|
161
|
+
return newActions.length > 0 ? ((0, jsx_runtime_1.jsx)("div", Object.assign({}, innerProps, { className: (0, classnames_1.default)('ndl-header-action-group', className), style: {
|
|
162
|
+
zIndex: 100000,
|
|
163
|
+
position: 'relative',
|
|
164
|
+
right: '12px',
|
|
165
|
+
}, children: children || ((0, jsx_runtime_1.jsxs)(react_2.Fragment, { children: [(0, jsx_runtime_1.jsx)(button_1.IconButton, { clean: true, size: "medium", "arial-label": `Column actions for ${cell.column.id} column`, ref: actionsButtonRef, active: actionsOpen, onClick: () => {
|
|
166
|
+
setActionsOpen(!actionsOpen);
|
|
167
|
+
}, children: (0, jsx_runtime_1.jsx)(icons_1.ChevronDownIconSolid, {}) }), (0, jsx_runtime_1.jsx)(context_menu_1.Menu, { open: actionsOpen, anchorEl: actionsButtonRef.current, onClose: () => setActionsOpen(false), anchorOrigin: {
|
|
168
|
+
vertical: 'bottom',
|
|
169
|
+
horizontal: 'center',
|
|
170
|
+
}, transformOrigin: {
|
|
171
|
+
horizontal: 'center',
|
|
172
|
+
vertical: 'top',
|
|
173
|
+
}, children: newActions.map((action, i) => components.ActionButton && ((0, jsx_runtime_1.jsx)(components.ActionButton, { action: action, onClose: () => setActionsOpen(false) }, `${cell.column.id}-action-${i}`))) })] })) }))) : null;
|
|
174
|
+
};
|
|
175
|
+
exports.ColumnControls = ColumnControls;
|
|
176
|
+
const HeaderCell = ({ cell, children, innerProps, }) => {
|
|
177
|
+
var _a;
|
|
178
|
+
const { components, resizable, tableProps } = (0, DataGridContext_1.useDataGridContext)();
|
|
179
|
+
const { className } = innerProps || {};
|
|
180
|
+
const sort = cell.column.getIsSorted();
|
|
181
|
+
const canSort = cell.column.getCanSort();
|
|
182
|
+
const ariaSortRole = (0, react_2.useMemo)(() => {
|
|
183
|
+
switch (sort) {
|
|
184
|
+
case 'asc':
|
|
185
|
+
return 'ascending';
|
|
186
|
+
case 'desc':
|
|
187
|
+
return 'descending';
|
|
188
|
+
default:
|
|
189
|
+
return 'none';
|
|
190
|
+
}
|
|
191
|
+
}, [sort]);
|
|
192
|
+
const Icon = (0, react_2.useMemo)(() => {
|
|
193
|
+
switch (sort) {
|
|
194
|
+
case 'asc':
|
|
195
|
+
return (0, jsx_runtime_1.jsx)(icons_1.BarsArrowUpIconOutline, { className: "ndl-header-icon" });
|
|
196
|
+
case 'desc':
|
|
197
|
+
return (0, jsx_runtime_1.jsx)(icons_1.BarsArrowDownIconOutline, { className: "ndl-header-icon" });
|
|
198
|
+
default:
|
|
199
|
+
return ((0, jsx_runtime_1.jsx)(icons_1.Bars3CenterLeftIconSolid, { className: "ndl-hoverable-indicator ndl-header-icon" }));
|
|
200
|
+
}
|
|
201
|
+
}, [sort]);
|
|
202
|
+
const ariaDescription = canSort
|
|
203
|
+
? `Press ENTER or SPACE to sort column ${cell.column.id}`
|
|
204
|
+
: `Column id: ${cell.column.id}`;
|
|
205
|
+
const constrained = (0, helpers_1.isSizeConstrained)(cell.column.columnDef);
|
|
206
|
+
const ref = (0, react_2.useRef)(null);
|
|
207
|
+
const [grow, setGrow] = (0, react_2.useState)(true);
|
|
208
|
+
/**
|
|
209
|
+
* This part enables the auto sizing of the columns.
|
|
210
|
+
*
|
|
211
|
+
* On initial render we need to wait for the width to be
|
|
212
|
+
* calculated by the browser with `flex-grow: 1`, if the size is not
|
|
213
|
+
* constrained by the user.
|
|
214
|
+
* Then we update the table state with the new width to aligned
|
|
215
|
+
* with the one calculated by browser, for optimal user experience.
|
|
216
|
+
*/
|
|
217
|
+
(0, react_2.useEffect)(() => {
|
|
218
|
+
var _a;
|
|
219
|
+
// The `flex-grow` property is modifying the
|
|
220
|
+
// width of the column, update this also in the table state
|
|
221
|
+
const { width } = ((_a = ref.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect()) || {};
|
|
222
|
+
if (width) {
|
|
223
|
+
// Update column sizing in table's state
|
|
224
|
+
tableProps.setState((prev) => (Object.assign(Object.assign({}, prev), { columnSizing: Object.assign(Object.assign({}, prev.columnSizing), { [cell.column.id]: width }) })));
|
|
225
|
+
// Disable flex grow, to avoid weird resizing behaviour
|
|
226
|
+
setGrow(false);
|
|
227
|
+
}
|
|
228
|
+
}, [tableProps, cell.column.id]);
|
|
229
|
+
const isActionColumn = typeof ((_a = cell.column.columnDef.meta) === null || _a === void 0 ? void 0 : _a.isActionCell) === 'object';
|
|
230
|
+
const Tag = canSort ? 'button' : 'div';
|
|
231
|
+
return ((0, jsx_runtime_1.jsx)("div", Object.assign({ tabIndex: -1, role: "columnheader" }, innerProps, { className: (0, classnames_1.default)('ndl-data-grid-th ndl-focusable-cell', className, {
|
|
232
|
+
'ndl-data-grid-row-action': isActionColumn,
|
|
233
|
+
}), "aria-sort": ariaSortRole, style: {
|
|
234
|
+
width: isActionColumn ? 40 : cell.getSize(),
|
|
235
|
+
maxWidth: cell.column.columnDef.maxSize
|
|
236
|
+
? `${cell.column.columnDef.maxSize}px`
|
|
237
|
+
: 'none',
|
|
238
|
+
flexGrow: !isActionColumn && !constrained && grow ? 1 : 0,
|
|
239
|
+
}, ref: ref, children: children || ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Tag, { className: "ndl-header-group", style: {
|
|
240
|
+
cursor: canSort ? 'pointer' : 'default',
|
|
241
|
+
}, tabIndex: canSort ? -1 : undefined, "aria-describedby": ariaDescription, onClick: () => canSort && cell.column.toggleSorting(), children: (0, jsx_runtime_1.jsxs)("div", { className: "ndl-header-cell", children: [cell.isPlaceholder
|
|
242
|
+
? null
|
|
243
|
+
: (0, react_table_1.flexRender)(cell.column.columnDef.header, cell.getContext()), canSort && Icon] }) }), components.ColumnControls && ((0, jsx_runtime_1.jsx)(components.ColumnControls, { cell: cell })), resizable &&
|
|
244
|
+
cell.headerGroup.headers.length - 1 !== cell.index &&
|
|
245
|
+
cell.column.getCanResize() &&
|
|
246
|
+
components.ResizingBar && (0, jsx_runtime_1.jsx)(components.ResizingBar, { header: cell })] })) }), cell.id));
|
|
247
|
+
};
|
|
248
|
+
exports.HeaderCell = HeaderCell;
|
|
249
|
+
const Body = ({ children, innerProps }) => {
|
|
250
|
+
const { tableProps, components, loading } = (0, DataGridContext_1.useDataGridContext)();
|
|
251
|
+
const { getRowModel } = tableProps;
|
|
252
|
+
const { className } = innerProps || {};
|
|
253
|
+
return ((0, jsx_runtime_1.jsx)("div", Object.assign({}, innerProps, { className: (0, classnames_1.default)('ndl-data-grid-tbody', className), role: "rowgroup", "aria-busy": loading ? 'true' : 'false', children: children || ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [loading && components.LoadingPlaceholder && ((0, jsx_runtime_1.jsx)(components.LoadingPlaceholder, {})), !loading &&
|
|
254
|
+
getRowModel().rows.length === 0 &&
|
|
255
|
+
components.NoDataPlaceholder && (0, jsx_runtime_1.jsx)(components.NoDataPlaceholder, {}), !loading &&
|
|
256
|
+
getRowModel().rows.map((row, idx) => components.BodyRow && ((0, jsx_runtime_1.jsx)(components.BodyRow, { row: row }, `table-row-${idx}`)))] })) })));
|
|
257
|
+
};
|
|
258
|
+
exports.Body = Body;
|
|
259
|
+
const BodyCell = ({ cell, children, innerProps, }) => {
|
|
260
|
+
var _a;
|
|
261
|
+
const isResizing = cell.column.getIsResizing();
|
|
262
|
+
const { className } = innerProps || {};
|
|
263
|
+
const isActionColumn = typeof ((_a = cell.column.columnDef.meta) === null || _a === void 0 ? void 0 : _a.isActionCell) === 'object';
|
|
264
|
+
return ((0, jsx_runtime_1.jsx)("div", Object.assign({}, innerProps, { className: (0, classnames_1.default)('ndl-data-grid-td ndl-focusable-cell', className, {
|
|
265
|
+
'ndl-data-grid-is-resizing': isResizing,
|
|
266
|
+
'ndl-data-grid-row-action': isActionColumn,
|
|
267
|
+
}), role: "cell", tabIndex: 0, style: {
|
|
268
|
+
width: isActionColumn ? 40 : cell.column.getSize(),
|
|
269
|
+
}, children: children || (0, react_table_1.flexRender)(cell.column.columnDef.cell, cell.getContext()) }), cell.id));
|
|
270
|
+
};
|
|
271
|
+
exports.BodyCell = BodyCell;
|
|
272
|
+
const BodyRow = ({ row, children, innerProps, }) => {
|
|
273
|
+
const { components } = (0, DataGridContext_1.useDataGridContext)();
|
|
274
|
+
const { className } = innerProps || {};
|
|
275
|
+
return ((0, react_1.createElement)("div", Object.assign({}, innerProps, { key: row.id, className: (0, classnames_1.default)('ndl-data-grid-tr', className), role: "row", style: {
|
|
276
|
+
display: 'flex',
|
|
277
|
+
flexDirection: 'row',
|
|
278
|
+
} }), children || ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: row
|
|
279
|
+
.getVisibleCells()
|
|
280
|
+
.map((cell) => components.BodyCell && ((0, jsx_runtime_1.jsx)(components.BodyCell, { cell: cell }, cell.id))) }))));
|
|
281
|
+
};
|
|
282
|
+
exports.BodyRow = BodyRow;
|
|
283
|
+
const TableResults = ({ children, innerProps, manualPagination, }) => {
|
|
284
|
+
const { tableProps } = (0, DataGridContext_1.useDataGridContext)();
|
|
285
|
+
const { getState, getRowModel, getCoreRowModel } = tableProps;
|
|
286
|
+
const { pagination: { pageSize, pageIndex }, } = getState();
|
|
287
|
+
const { rows } = getRowModel();
|
|
288
|
+
const { from, to, totalRows } = (0, react_2.useMemo)(() => manualPagination || {
|
|
289
|
+
from: 1 + pageIndex * pageSize,
|
|
290
|
+
to: rows.length + pageIndex * pageSize,
|
|
291
|
+
totalRows: getCoreRowModel().rows.length,
|
|
292
|
+
}, [pageIndex, pageSize, manualPagination, rows, getCoreRowModel]);
|
|
293
|
+
const { className } = innerProps || {};
|
|
294
|
+
return ((0, jsx_runtime_1.jsx)("span", Object.assign({}, innerProps, { className: (0, classnames_1.default)('ndl-data-grid-results', className), children: children || ((0, jsx_runtime_1.jsxs)("span", { children: ["Showing", ' ', (0, jsx_runtime_1.jsx)("b", { children: totalRows ? `${from}${to !== from ? `-${to}` : ''}` : 0 }), " of", ' ', (0, jsx_runtime_1.jsx)("b", { children: totalRows }), " results"] })) })));
|
|
295
|
+
};
|
|
296
|
+
exports.TableResults = TableResults;
|
|
297
|
+
const RowsPerPage = ({ children, innerProps, }) => {
|
|
298
|
+
const { tableProps } = (0, DataGridContext_1.useDataGridContext)();
|
|
299
|
+
const { setPageSize, getState } = tableProps;
|
|
300
|
+
const { className } = innerProps || {};
|
|
301
|
+
const { pagination: { pageSize }, } = getState();
|
|
302
|
+
return ((0, jsx_runtime_1.jsx)("div", Object.assign({}, innerProps, { className: (0, classnames_1.default)('ndl-data-grid-rows-per-page', className), children: children || ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Show", (0, jsx_runtime_1.jsx)("select", { onChange: (e) => setPageSize(parseInt(e.target.value, 10)), className: "ndl-data-grid-select", value: pageSize, "aria-label": "Select page size", children: [...new Set([...TABLE_RESULTS.values, pageSize])]
|
|
303
|
+
.sort((a, b) => a - b)
|
|
304
|
+
.map((option) => ((0, jsx_runtime_1.jsx)("option", { value: `${option}`, children: option }, `${option}`))) })] })) })));
|
|
305
|
+
};
|
|
306
|
+
exports.RowsPerPage = RowsPerPage;
|
|
307
|
+
const PaginationArrowButton = ({ action, children, innerProps, }) => {
|
|
308
|
+
const { className } = innerProps || {};
|
|
309
|
+
return ((0, jsx_runtime_1.jsx)("button", Object.assign({}, innerProps, { type: "button", className: (0, classnames_1.default)('ndl-data-grid-pagination-icon-button', className), children: children || ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [action === 'previous' && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("span", { className: "n-sr-only", children: "Previous table page" }), (0, jsx_runtime_1.jsx)(icons_1.ChevronLeftIconOutline, { className: "ndl-data-grid-pagination-icon" })] })), action === 'next' && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("span", { className: "n-sr-only", children: "Next table page" }), (0, jsx_runtime_1.jsx)(icons_1.ChevronRightIconOutline, { className: "ndl-data-grid-pagination-icon" })] }))] })) })));
|
|
310
|
+
};
|
|
311
|
+
exports.PaginationArrowButton = PaginationArrowButton;
|
|
312
|
+
const PaginationNumericButton = ({ currentIndex, isSelected, children, innerProps, }) => {
|
|
313
|
+
const { className, onClick } = innerProps || {};
|
|
314
|
+
return ((0, jsx_runtime_1.jsx)("button", Object.assign({}, innerProps, { type: "button", "data-testid": `table-${currentIndex}`, className: (0, classnames_1.default)('ndl-data-grid-pagination-numeric-button', className, {
|
|
315
|
+
'ndl-not-selected-numeric': typeof currentIndex === 'number' && !isSelected,
|
|
316
|
+
'ndl-is-selected': isSelected,
|
|
317
|
+
'ndl-not-selected': !isSelected,
|
|
318
|
+
}), onClick: (e) => typeof currentIndex === 'number' && onClick && onClick(e), tabIndex: typeof currentIndex === 'number' ? 0 : -1, children: children || currentIndex })));
|
|
319
|
+
};
|
|
320
|
+
exports.PaginationNumericButton = PaginationNumericButton;
|
|
321
|
+
const PaginationNumericButtons = () => {
|
|
322
|
+
const { tableProps, components } = (0, DataGridContext_1.useDataGridContext)();
|
|
323
|
+
const { getState, setPageIndex, getPageCount } = tableProps;
|
|
324
|
+
const { pagination: { pageIndex }, } = getState();
|
|
325
|
+
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, helpers_1.userFriendlyPagination)(pageIndex + 1, getPageCount()).map((option, idx) => components.PaginationNumericButton && ((0, jsx_runtime_1.jsx)(components.PaginationNumericButton
|
|
326
|
+
/** Use index to avoid situations where two "..." values will appear, causing a key conflict */
|
|
327
|
+
, { innerProps: {
|
|
328
|
+
onClick: () => typeof option === 'number' && setPageIndex(option - 1),
|
|
329
|
+
}, currentIndex: option, isSelected: option === pageIndex + 1 }, `${option}-${idx}`))) }));
|
|
330
|
+
};
|
|
331
|
+
exports.PaginationNumericButtons = PaginationNumericButtons;
|
|
332
|
+
const Pagination = ({ children, innerProps, }) => {
|
|
333
|
+
const { tableProps, components } = (0, DataGridContext_1.useDataGridContext)();
|
|
334
|
+
const { getCanPreviousPage, getCanNextPage, previousPage, nextPage } = tableProps;
|
|
335
|
+
const { className } = innerProps || {};
|
|
336
|
+
return ((0, jsx_runtime_1.jsx)("nav", Object.assign({}, innerProps, { className: (0, classnames_1.default)('ndl-data-grid-nav', className), "aria-label": "Pagination", children: children || ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [getCanPreviousPage()
|
|
337
|
+
? components.PaginationArrowButton && ((0, jsx_runtime_1.jsx)(components.PaginationArrowButton, { action: "previous", innerProps: {
|
|
338
|
+
onClick: previousPage,
|
|
339
|
+
} }))
|
|
340
|
+
: null, components.PaginationNumericButtons && ((0, jsx_runtime_1.jsx)(components.PaginationNumericButtons, {})), getCanNextPage()
|
|
341
|
+
? components.PaginationArrowButton && ((0, jsx_runtime_1.jsx)(components.PaginationArrowButton, { action: "next", innerProps: {
|
|
342
|
+
onClick: nextPage,
|
|
343
|
+
} }))
|
|
344
|
+
: null] })) })));
|
|
345
|
+
};
|
|
346
|
+
exports.Pagination = Pagination;
|
|
347
|
+
const Navigation = ({ children, innerProps, }) => {
|
|
348
|
+
const { tableProps, components } = (0, DataGridContext_1.useDataGridContext)();
|
|
349
|
+
const { getPageCount } = tableProps;
|
|
350
|
+
const { className } = innerProps || {};
|
|
351
|
+
return ((0, jsx_runtime_1.jsx)("div", Object.assign({}, innerProps, { className: (0, classnames_1.default)('ndl-data-grid-navigation', className), children: (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: children || ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [components.TableResults && (0, jsx_runtime_1.jsx)(components.TableResults, {}), (0, jsx_runtime_1.jsxs)("div", { className: "ndl-data-grid-navigation-right-items", children: [getPageCount() > 1 && components.Pagination && ((0, jsx_runtime_1.jsx)(components.Pagination, {})), components.RowsPerPage && (0, jsx_runtime_1.jsx)(components.RowsPerPage, {})] })] })) }) })));
|
|
352
|
+
};
|
|
353
|
+
exports.Navigation = Navigation;
|
|
354
|
+
const LoadingPlaceholder = ({ children, innerProps, }) => {
|
|
355
|
+
const { className } = innerProps || {};
|
|
356
|
+
return ((0, jsx_runtime_1.jsx)("div", Object.assign({}, innerProps, { className: (0, classnames_1.default)('nld-table-placeholder-wrapper', className), role: "row", children: children || ((0, jsx_runtime_1.jsx)("div", { role: "cell", className: "ndl-data-grid-placeholder", children: (0, jsx_runtime_1.jsxs)("div", { className: "ndl-data-grid-loading-placeholder", children: [(0, jsx_runtime_1.jsx)(loading_spinner_1.LoadingSpinner, {}), (0, jsx_runtime_1.jsx)("h6", { children: "Loading data" })] }) })) })));
|
|
357
|
+
};
|
|
358
|
+
exports.LoadingPlaceholder = LoadingPlaceholder;
|
|
359
|
+
const NoDataPlaceholder = ({ children, innerProps, }) => {
|
|
360
|
+
const { className } = innerProps || {};
|
|
361
|
+
return ((0, jsx_runtime_1.jsx)("div", Object.assign({}, innerProps, { className: (0, classnames_1.default)('nld-table-placeholder-wrapper', className), role: "row", children: children || ((0, jsx_runtime_1.jsx)("div", { role: "cell", className: "ndl-data-grid-placeholder", children: (0, jsx_runtime_1.jsx)("h6", { children: "No data present" }) })) })));
|
|
362
|
+
};
|
|
363
|
+
exports.NoDataPlaceholder = NoDataPlaceholder;
|
|
364
|
+
//# sourceMappingURL=Components.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Components.js","sourceRoot":"","sources":["../../../src/data-grid/Components.tsx"],"names":[],"mappings":";;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,uDAQ+B;AAC/B,4DAAoC;AACpC,iCAOe;AACf,oCAQkB;AAClB,wDAAoD;AACpD,uCAAsE;AACtE,uDAAuD;AAEvD,sCAAuC;AACvC,kDAAuC;AAKvC,sEAAsE;AACtE,MAAM,aAAa,GAAG;IACpB,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;CACjB,CAAC;AAEJ,MAAM,oBAAoB,GAE7B,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACb,GAAG,EAAE;QACH,KAAK,EAAE,gBAAgB;QACvB,IAAI,EAAE,uBAAC,8BAAsB,KAAG;QAChC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;KAChD;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,iBAAiB;QACxB,IAAI,EAAE,uBAAC,gCAAwB,KAAG;QAClC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC;KAC/C;IACD,OAAO,EAAE;QACP,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,uBAAC,kCAA0B,KAAG;QACpC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;KAC1C;CACF,CAAC,CAAC;AAlBU,QAAA,oBAAoB,wBAkB9B;AAaH,MAAM,WAAW,GAAG,CAAoB,EACtC,MAAM,EACN,QAAQ,EACR,UAAU,GACU,EAAE,EAAE;IACxB,MAAM,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,UAAU,IAAI,EAAE,CAAC;IAEnD,OAAO,CACL,2DACG,QAAQ,IAAI,CACX,mDACM,UAAU,IACd,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,+BAA+B,EACzC,WAAW,EAAE,MAAM,CAAC,gBAAgB,EAAE,EACtC,YAAY,EAAE,MAAM,CAAC,gBAAgB,EAAE,gBAC5B,cAAc,YAEzB,gCACE,SAAS,EAAE,IAAA,oBAAU,EAAC,uBAAuB,EAAE,SAAS,EAAE;oBACxD,2BAA2B,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE;iBAC3D,CAAC,GACF,IACK,CACV,GACA,CACJ,CAAC;AACJ,CAAC,CAAC;AAuzBA,kCAAW;AArzBb,MAAM,UAAU,GAAG,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAoB,EAAE,EAAE;IAChE,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,IAAI,EAAE,CAAC;IACvC,OAAO,CACL,gDACM,UAAU,IACd,SAAS,EAAE,IAAA,oBAAU,EAAC,0BAA0B,EAAE,SAAS,CAAC,YAE3D,QAAQ,IACL,CACP,CAAC;AACJ,CAAC,CAAC;AA0zBA,gCAAU;AAxzBZ,MAAM,MAAM,GAAG,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAoC,EAAE,EAAE;IAC5E,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,IAAA,oCAAkB,GAAE,CAAC;IACxD,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC;IACjD,MAAM,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,UAAU,IAAI,EAAE,CAAC;IAEnD,OAAO,CACL,gDACM,UAAU,IACd,IAAI,EAAC,UAAU,EACf,SAAS,EAAE,IAAA,oBAAU,EAAC,qBAAqB,EAAE,SAAS,EAAE;YACtD,2BAA2B,EACzB,QAAQ,EAAE,CAAC,gBAAgB,CAAC,gBAAgB;SAC/C,CAAC,YAED,QAAQ,IAAI,CACX,2DACG,eAAe,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CACtC,gCAA0B,SAAS,EAAC,kBAAkB,EAAC,IAAI,EAAC,KAAK,YAC9D,WAAW,CAAC,OAAO,CAAC,GAAG,CACtB,CAAC,MAAM,EAAE,EAAE,CACT,UAAU,CAAC,UAAU,IAAI,CACvB,uBAAC,UAAU,CAAC,UAAU,IAAiB,IAAI,EAAE,MAAM,IAAvB,MAAM,CAAC,EAAE,CAAkB,CACxD,CACJ,IANO,WAAW,CAAC,EAAE,CAOlB,CACP,CAAC,GACD,CACJ,IACG,CACP,CAAC;AACJ,CAAC,CAAC;AA4wBA,wBAAM;AAlwBD,MAAM,YAAY,GAAG,CAAC,EAC3B,MAAM,EACN,QAAQ,EACR,OAAO,EACP,UAAU,GACQ,EAAE,EAAE;IACtB,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,IAAI,EAAE,CAAC;IACvC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAE3B,MAAM,kBAAkB,GAAG,IAAA,mBAAW,EACpC,CAAC,CAAM,EAAE,EAAE;QACT,MAAM,eAAe,GAAG,OAAO,KAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,CAAA,CAAC;QACvD,IAAI,OAAO,eAAe,KAAK,UAAU,EAAE;YACzC,eAAe,CAAC,CAAC,CAAC,CAAC;SACpB;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,EACD,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CACxC,CAAC;IAEF,uCAAuC;IACvC,MAAM,WAAW,iDACZ,UAAU,GACV,MAAM,KACT,SAAS,EAAE,IAAA,oBAAU,EAAC,6BAA6B,EAAE,SAAS,CAAC,EAC/D,OAAO,EAAE,kBAAkB,GAC5B,CAAC;IAEF,OAAO,uBAAC,gBAAQ,cAAE,QAAQ,IAAI,uBAAC,mBAAI,CAAC,IAAI,oBAAK,WAAW,EAAI,GAAY,CAAC;AAC3E,CAAC,CAAC;AA7BW,QAAA,YAAY,gBA6BvB;AAOK,MAAM,aAAa,GAAG,CAAoB,EAC/C,IAAI,EACJ,UAAU,GACY,EAAE,EAAE;;IAC1B,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,oCAAkB,GAAK,CAAC;IAC/C,MAAM,gBAAgB,GAAG,IAAA,cAAM,EAAoB,IAAI,CAAC,CAAC;IACzD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAEtD,IACE,CAAC,IAAI;QACL,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI;QAC3B,OAAO,CAAA,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,SAAS,0CAAE,IAAI,0CAAE,YAAY,CAAA,KAAK,QAAQ;QAE7D,OAAO,IAAI,CAAC;IAEd,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC;IAE1E,OAAO,CACL,wBAAC,gBAAQ,eACP,uBAAC,mBAAU,kBACT,KAAK,QACL,IAAI,EAAC,QAAQ,gBACD,2BAA2B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EACpD,GAAG,EAAE,gBAAgB,EACrB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,GAAG,EAAE;oBACZ,YAAY,IAAI,YAAY,CAAC,CAAC,WAAW,CAAC,CAAC;oBAC3C,cAAc,CAAC,CAAC,WAAW,CAAC,CAAC;gBAC/B,CAAC,IACG,UAAU,cAEd,uBAAC,4BAAoB,KAAG,IACb,EACb,uBAAC,mBAAI,IACH,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,gBAAgB,CAAC,OAAO,EAClC,OAAO,EAAE,GAAG,EAAE;oBACZ,YAAY,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpC,cAAc,CAAC,KAAK,CAAC,CAAC;gBACxB,CAAC,EACD,YAAY,EAAE;oBACZ,QAAQ,EAAE,QAAQ;oBAClB,UAAU,EAAE,MAAM;iBACnB,EACD,eAAe,EAAE;oBACf,UAAU,EAAE,OAAO;oBACnB,QAAQ,EAAE,KAAK;iBAChB,YAEA,OAAO,CAAC,GAAG,CACV,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CACZ,UAAU,CAAC,YAAY,IAAI,CACzB,uBAAC,UAAU,CAAC,YAAY,IAEtB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,IAF/B,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,EAAE,CAGpC,CACH,CACJ,GACI,IACE,CACZ,CAAC;AACJ,CAAC,CAAC;AA9DW,QAAA,aAAa,iBA8DxB;AAOK,MAAM,cAAc,GAAG,CAAoB,EAChD,IAAI,EACJ,QAAQ,EACR,UAAU,GACa,EAAE,EAAE;;IAC3B,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,IAAI,EAAE,CAAC;IACvC,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,oCAAkB,GAAE,CAAC;IAE5C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IACzC,MAAM,EAAE,qBAAqB,GAAG,IAAI,EAAE,OAAO,EAAE,GAC7C,CAAA,MAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,0CAAE,aAAa,KAAI,EAAE,CAAC;IAElD,MAAM,cAAc,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAClC,IAAI,OAAO,EAAE;YACX,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,MAAM,EAAE;gBACrC,OAAO;oBACL,IAAA,4BAAoB,EAAC,IAAI,CAAC,CAAC,GAAG;oBAC9B,IAAA,4BAAoB,EAAC,IAAI,CAAC,CAAC,IAAI;iBAChC,CAAC;aACH;YACD,IAAI,IAAI,KAAK,KAAK,EAAE;gBAClB,OAAO;oBACL,IAAA,4BAAoB,EAAC,IAAI,CAAC,CAAC,OAAO;oBAClC,IAAA,4BAAoB,EAAC,IAAI,CAAC,CAAC,IAAI;iBAChC,CAAC;aACH;YACD,IAAI,IAAI,KAAK,MAAM,EAAE;gBACnB,OAAO;oBACL,IAAA,4BAAoB,EAAC,IAAI,CAAC,CAAC,OAAO;oBAClC,IAAA,4BAAoB,EAAC,IAAI,CAAC,CAAC,GAAG;iBAC/B,CAAC;aACH;SACF;QACD,eAAe;QACf,OAAO,EAAE,CAAC;IACZ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAE1B,MAAM,UAAU,GAAmB;QACjC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,GAAG,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;KACnB,CAAC;IAEF,MAAM,gBAAgB,GAAG,IAAA,cAAM,EAAoB,IAAI,CAAC,CAAC;IACzD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAEtD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAElD,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAC7B,gDACM,UAAU,IACd,SAAS,EAAE,IAAA,oBAAU,EAAC,yBAAyB,EAAE,SAAS,CAAC,EAC3D,KAAK,EAAE;YACL,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,MAAM;SACd,YAEA,QAAQ,IAAI,CACX,wBAAC,gBAAQ,eACP,uBAAC,mBAAU,IACT,KAAK,QACL,IAAI,EAAC,QAAQ,iBACA,sBAAsB,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAC1D,GAAG,EAAE,gBAAgB,EACrB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,GAAG,EAAE;wBACZ,cAAc,CAAC,CAAC,WAAW,CAAC,CAAC;oBAC/B,CAAC,YAED,uBAAC,4BAAoB,KAAG,GACb,EACb,uBAAC,mBAAI,IACH,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,gBAAgB,CAAC,OAAO,EAClC,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,EACpC,YAAY,EAAE;wBACZ,QAAQ,EAAE,QAAQ;wBAClB,UAAU,EAAE,QAAQ;qBACrB,EACD,eAAe,EAAE;wBACf,UAAU,EAAE,QAAQ;wBACpB,QAAQ,EAAE,KAAK;qBAChB,YAEA,UAAU,CAAC,GAAG,CACb,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CACZ,UAAU,CAAC,YAAY,IAAI,CACzB,uBAAC,UAAU,CAAC,YAAY,IAEtB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,IAF/B,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,EAAE,CAGpC,CACH,CACJ,GACI,IACE,CACZ,IACG,CACP,CAAC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC,CAAC;AApGW,QAAA,cAAc,kBAoGzB;AAMF,MAAM,UAAU,GAAG,CAAoB,EACrC,IAAI,EACJ,QAAQ,EACR,UAAU,GACS,EAAE,EAAE;;IACvB,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAA,oCAAkB,GAAK,CAAC;IACtE,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,IAAI,EAAE,CAAC;IAEvC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IAEzC,MAAM,YAAY,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAChC,QAAQ,IAAI,EAAE;YACZ,KAAK,KAAK;gBACR,OAAO,WAAW,CAAC;YACrB,KAAK,MAAM;gBACT,OAAO,YAAY,CAAC;YACtB;gBACE,OAAO,MAAM,CAAC;SACjB;IACH,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,MAAM,IAAI,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACxB,QAAQ,IAAI,EAAE;YACZ,KAAK,KAAK;gBACR,OAAO,uBAAC,8BAAsB,IAAC,SAAS,EAAC,iBAAiB,GAAG,CAAC;YAChE,KAAK,MAAM;gBACT,OAAO,uBAAC,gCAAwB,IAAC,SAAS,EAAC,iBAAiB,GAAG,CAAC;YAClE;gBACE,OAAO,CACL,uBAAC,gCAAwB,IAAC,SAAS,EAAC,yCAAyC,GAAG,CACjF,CAAC;SACL;IACH,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,MAAM,eAAe,GAAG,OAAO;QAC7B,CAAC,CAAC,uCAAuC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;QACzD,CAAC,CAAC,cAAc,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;IAEnC,MAAM,WAAW,GAAG,IAAA,2BAAiB,EAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC7D,MAAM,GAAG,GAAG,IAAA,cAAM,EAAwB,IAAI,CAAC,CAAC;IAChD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC;IAEvC;;;;;;;;OAQG;IACH,IAAA,iBAAS,EAAC,GAAG,EAAE;;QACb,4CAA4C;QAC5C,2DAA2D;QAC3D,MAAM,EAAE,KAAK,EAAE,GAAG,CAAA,MAAA,GAAG,CAAC,OAAO,0CAAE,qBAAqB,EAAE,KAAI,EAAE,CAAC;QAC7D,IAAI,KAAK,EAAE;YACT,wCAAwC;YACxC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iCACzB,IAAI,KACP,YAAY,kCACP,IAAI,CAAC,YAAY,KACpB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,KAAK,OAEzB,CAAC,CAAC;YACJ,uDAAuD;YACvD,OAAO,CAAC,KAAK,CAAC,CAAC;SAChB;IACH,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAEjC,MAAM,cAAc,GAClB,OAAO,CAAA,MAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,0CAAE,YAAY,CAAA,KAAK,QAAQ,CAAC;IAE/D,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;IAEvC,OAAO,CACL,8CACE,QAAQ,EAAE,CAAC,CAAC,EAEZ,IAAI,EAAC,cAAc,IACf,UAAU,IACd,SAAS,EAAE,IAAA,oBAAU,EAAC,qCAAqC,EAAE,SAAS,EAAE;YACtE,0BAA0B,EAAE,cAAc;SAC3C,CAAC,eACS,YAAY,EACvB,KAAK,EAAE;YACL,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE;YAC3C,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO;gBACrC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,IAAI;gBACtC,CAAC,CAAC,MAAM;YACV,QAAQ,EAAE,CAAC,cAAc,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC1D,EACD,GAAG,EAAE,GAAG,YAEP,QAAQ,IAAI,CACX,6DACE,uBAAC,GAAG,IACF,SAAS,EAAC,kBAAkB,EAC5B,KAAK,EAAE;wBACL,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;qBACxC,EACD,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,sBAChB,eAAe,EACjC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,YAErD,iCAAK,SAAS,EAAC,iBAAiB,aAC7B,IAAI,CAAC,aAAa;gCACjB,CAAC,CAAC,IAAI;gCACN,CAAC,CAAC,IAAA,wBAAU,EAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,EAC9D,OAAO,IAAI,IAAI,IACZ,GACF,EAEL,UAAU,CAAC,cAAc,IAAI,CAC5B,uBAAC,UAAU,CAAC,cAAc,IAAC,IAAI,EAAE,IAAI,GAAI,CAC1C,EAEA,SAAS;oBACR,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,KAAK,IAAI,CAAC,KAAK;oBAClD,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;oBAC1B,UAAU,CAAC,WAAW,IAAI,uBAAC,UAAU,CAAC,WAAW,IAAC,MAAM,EAAE,IAAI,GAAI,IACnE,CACJ,KA5CI,IAAI,CAAC,EAAE,CA6CR,CACP,CAAC;AACJ,CAAC,CAAC;AAsbA,gCAAU;AApbZ,MAAM,IAAI,GAAG,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAoC,EAAE,EAAE;IAC1E,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,IAAA,oCAAkB,GAAE,CAAC;IACjE,MAAM,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC;IAEnC,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,IAAI,EAAE,CAAC;IAEvC,OAAO,CACL,gDACM,UAAU,IACd,SAAS,EAAE,IAAA,oBAAU,EAAC,qBAAqB,EAAE,SAAS,CAAC,EACvD,IAAI,EAAC,UAAU,eACJ,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,YAEpC,QAAQ,IAAI,CACX,6DACG,OAAO,IAAI,UAAU,CAAC,kBAAkB,IAAI,CAC3C,uBAAC,UAAU,CAAC,kBAAkB,KAAG,CAClC,EAEA,CAAC,OAAO;oBACP,WAAW,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;oBAC/B,UAAU,CAAC,iBAAiB,IAAI,uBAAC,UAAU,CAAC,iBAAiB,KAAG,EAEjE,CAAC,OAAO;oBACP,WAAW,EAAE,CAAC,IAAI,CAAC,GAAG,CACpB,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CACX,UAAU,CAAC,OAAO,IAAI,CACpB,uBAAC,UAAU,CAAC,OAAO,IAA0B,GAAG,EAAE,GAAG,IAA5B,aAAa,GAAG,EAAE,CAAc,CAC1D,CACJ,IACF,CACJ,IACG,CACP,CAAC;AACJ,CAAC,CAAC;AA+YA,oBAAI;AAxYN,MAAM,QAAQ,GAAG,CAAoB,EACnC,IAAI,EACJ,QAAQ,EACR,UAAU,GACO,EAAE,EAAE;;IACrB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;IAC/C,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,IAAI,EAAE,CAAC;IAEvC,MAAM,cAAc,GAClB,OAAO,CAAA,MAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,0CAAE,YAAY,CAAA,KAAK,QAAQ,CAAC;IAE/D,OAAO,CACL,gDAEM,UAAU,IACd,SAAS,EAAE,IAAA,oBAAU,EAAC,qCAAqC,EAAE,SAAS,EAAE;YACtE,2BAA2B,EAAE,UAAU;YACvC,0BAA0B,EAAE,cAAc;SAC3C,CAAC,EACF,IAAI,EAAC,MAAM,EACX,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE;YACL,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;SACnD,YAEA,QAAQ,IAAI,IAAA,wBAAU,EAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,KAZjE,IAAI,CAAC,EAAE,CAaR,CACP,CAAC;AACJ,CAAC,CAAC;AA6WA,4BAAQ;AAtWV,MAAM,OAAO,GAAG,CAAoB,EAClC,GAAG,EACH,QAAQ,EACR,UAAU,GACM,EAAE,EAAE;IACpB,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,oCAAkB,GAAK,CAAC;IAC/C,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,IAAI,EAAE,CAAC;IAEvC,OAAO,CACL,oDACM,UAAU,IACd,GAAG,EAAE,GAAG,CAAC,EAAE,EACX,SAAS,EAAE,IAAA,oBAAU,EAAC,kBAAkB,EAAE,SAAS,CAAC,EACpD,IAAI,EAAC,KAAK,EACV,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,KAAK;SACrB,KAEA,QAAQ,IAAI,CACX,2DACG,GAAG;aACD,eAAe,EAAE;aACjB,GAAG,CACF,CAAC,IAAI,EAAE,EAAE,CACP,UAAU,CAAC,QAAQ,IAAI,CACrB,uBAAC,UAAU,CAAC,QAAQ,IAAe,IAAI,EAAE,IAAI,IAAnB,IAAI,CAAC,EAAE,CAAgB,CAClD,CACJ,GACF,CACJ,CACG,CACP,CAAC;AACJ,CAAC,CAAC;AAsUA,0BAAO;AA5TT,MAAM,YAAY,GAAG,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,gBAAgB,GACC,EAAE,EAAE;IACrB,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,oCAAkB,GAAE,CAAC;IAC5C,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,UAAU,CAAC;IAC9D,MAAM,EACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,GACpC,GAAG,QAAQ,EAAE,CAAC;IACf,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,CAAC;IAE/B,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,IAAA,eAAO,EACrC,GAAG,EAAE,CACH,gBAAgB,IAAI;QAClB,IAAI,EAAE,CAAC,GAAG,SAAS,GAAG,QAAQ;QAC9B,EAAE,EAAE,IAAI,CAAC,MAAM,GAAG,SAAS,GAAG,QAAQ;QACtC,SAAS,EAAE,eAAe,EAAE,CAAC,IAAI,CAAC,MAAM;KACzC,EACH,CAAC,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,eAAe,CAAC,CAC/D,CAAC;IAEF,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,IAAI,EAAE,CAAC;IAEvC,OAAO,CACL,iDACM,UAAU,IACd,SAAS,EAAE,IAAA,oBAAU,EAAC,uBAAuB,EAAE,SAAS,CAAC,YAExD,QAAQ,IAAI,CACX,wDACU,GAAG,EACX,wCAAI,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAK,SAAI,GAAG,EACvE,wCAAI,SAAS,GAAK,gBACb,CACR,IACI,CACR,CAAC;AACJ,CAAC,CAAC;AAyRA,oCAAY;AAvRd,MAAM,WAAW,GAAG,CAAC,EACnB,QAAQ,EACR,UAAU,GACuB,EAAE,EAAE;IACrC,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,oCAAkB,GAAE,CAAC;IAE5C,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC;IAC7C,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,IAAI,EAAE,CAAC;IAEvC,MAAM,EACJ,UAAU,EAAE,EAAE,QAAQ,EAAE,GACzB,GAAG,QAAQ,EAAE,CAAC;IAEf,OAAO,CACL,gDACM,UAAU,IACd,SAAS,EAAE,IAAA,oBAAU,EAAC,6BAA6B,EAAE,SAAS,CAAC,YAE9D,QAAQ,IAAI,CACX,qEAEE,mCACE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAC1D,SAAS,EAAC,sBAAsB,EAChC,KAAK,EAAE,QAAQ,gBACJ,kBAAkB,YAG5B,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;yBAC/C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;yBACrB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACf,mCAA0B,KAAK,EAAE,GAAG,MAAM,EAAE,YACzC,MAAM,IADI,GAAG,MAAM,EAAE,CAEf,CACV,CAAC,GACG,IACR,CACJ,IACG,CACP,CAAC;AACJ,CAAC,CAAC;AAgPA,kCAAW;AAzOb,MAAM,qBAAqB,GAAG,CAAC,EAC7B,MAAM,EACN,QAAQ,EACR,UAAU,GACiB,EAAE,EAAE;IAC/B,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,IAAI,EAAE,CAAC;IAEvC,OAAO,CACL,mDACM,UAAU,IACd,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,IAAA,oBAAU,EAAC,sCAAsC,EAAE,SAAS,CAAC,YAEvE,QAAQ,IAAI,CACX,6DACG,MAAM,KAAK,UAAU,IAAI,CACxB,6DACE,iCAAM,SAAS,EAAC,WAAW,oCAA2B,EACtD,uBAAC,8BAAsB,IAAC,SAAS,EAAC,+BAA+B,GAAG,IACnE,CACJ,EACA,MAAM,KAAK,MAAM,IAAI,CACpB,6DACE,iCAAM,SAAS,EAAC,WAAW,gCAAuB,EAClD,uBAAC,+BAAuB,IAAC,SAAS,EAAC,+BAA+B,GAAG,IACpE,CACJ,IACA,CACJ,IACM,CACV,CAAC;AACJ,CAAC,CAAC;AA6MA,sDAAqB;AArMvB,MAAM,uBAAuB,GAAG,CAAC,EAC/B,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,UAAU,GACmB,EAAE,EAAE;IACjC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,UAAU,IAAI,EAAE,CAAC;IAEhD,OAAO,CACL,mDACM,UAAU,IACd,IAAI,EAAC,QAAQ,iBACA,SAAS,YAAY,EAAE,EACpC,SAAS,EAAE,IAAA,oBAAU,EACnB,yCAAyC,EACzC,SAAS,EACT;YACE,0BAA0B,EACxB,OAAO,YAAY,KAAK,QAAQ,IAAI,CAAC,UAAU;YACjD,iBAAiB,EAAE,UAAU;YAC7B,kBAAkB,EAAE,CAAC,UAAU;SAChC,CACF,EACD,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,YAAY,KAAK,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,EACzE,QAAQ,EAAE,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAElD,QAAQ,IAAI,YAAY,IAClB,CACV,CAAC;AACJ,CAAC,CAAC;AAyKA,0DAAuB;AAvKzB,MAAM,wBAAwB,GAAG,GAAG,EAAE;IACpC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,IAAA,oCAAkB,GAAE,CAAC;IACxD,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,UAAU,CAAC;IAC5D,MAAM,EACJ,UAAU,EAAE,EAAE,SAAS,EAAE,GAC1B,GAAG,QAAQ,EAAE,CAAC;IAEf,OAAO,CACL,2DACG,IAAA,gCAAsB,EAAC,SAAS,GAAG,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,GAAG,CACxD,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CACd,UAAU,CAAC,uBAAuB,IAAI,CACpC,uBAAC,UAAU,CAAC,uBAAuB;QACjC,+FAA+F;YAE/F,UAAU,EAAE;gBACV,OAAO,EAAE,GAAG,EAAE,CACZ,OAAO,MAAM,KAAK,QAAQ,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;aACzD,EACD,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,KAAK,SAAS,GAAG,CAAC,IAN/B,GAAG,MAAM,IAAI,GAAG,EAAE,CAOvB,CACH,CACJ,GACA,CACJ,CAAC;AACJ,CAAC,CAAC;AA2IA,4DAAwB;AAzI1B,MAAM,UAAU,GAAG,CAAC,EAClB,QAAQ,EACR,UAAU,GACuB,EAAE,EAAE;IACrC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,IAAA,oCAAkB,GAAE,CAAC;IAExD,MAAM,EAAE,kBAAkB,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,GAClE,UAAU,CAAC;IACb,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,IAAI,EAAE,CAAC;IAEvC,OAAO,CACL,gDACM,UAAU,IACd,SAAS,EAAE,IAAA,oBAAU,EAAC,mBAAmB,EAAE,SAAS,CAAC,gBAC1C,YAAY,YAEtB,QAAQ,IAAI,CACX,6DAEG,kBAAkB,EAAE;oBACnB,CAAC,CAAC,UAAU,CAAC,qBAAqB,IAAI,CAClC,uBAAC,UAAU,CAAC,qBAAqB,IAC/B,MAAM,EAAC,UAAU,EACjB,UAAU,EAAE;4BACV,OAAO,EAAE,YAAY;yBACtB,GACD,CACH;oBACH,CAAC,CAAC,IAAI,EAEP,UAAU,CAAC,wBAAwB,IAAI,CACtC,uBAAC,UAAU,CAAC,wBAAwB,KAAG,CACxC,EAEA,cAAc,EAAE;oBACf,CAAC,CAAC,UAAU,CAAC,qBAAqB,IAAI,CAClC,uBAAC,UAAU,CAAC,qBAAqB,IAC/B,MAAM,EAAC,MAAM,EACb,UAAU,EAAE;4BACV,OAAO,EAAE,QAAQ;yBAClB,GACD,CACH;oBACH,CAAC,CAAC,IAAI,IACP,CACJ,IACG,CACP,CAAC;AACJ,CAAC,CAAC;AAwFA,gCAAU;AAtFZ,MAAM,UAAU,GAAG,CAAC,EAClB,QAAQ,EACR,UAAU,GACuB,EAAE,EAAE;IACrC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,IAAA,oCAAkB,GAAE,CAAC;IAExD,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,CAAC;IAEpC,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,IAAI,EAAE,CAAC;IAEvC,OAAO,CACL,gDACM,UAAU,IACd,SAAS,EAAE,IAAA,oBAAU,EAAC,0BAA0B,EAAE,SAAS,CAAC,YAE5D,2DACG,QAAQ,IAAI,CACX,6DACG,UAAU,CAAC,YAAY,IAAI,uBAAC,UAAU,CAAC,YAAY,KAAG,EACvD,iCAAK,SAAS,EAAC,sCAAsC,aAClD,YAAY,EAAE,GAAG,CAAC,IAAI,UAAU,CAAC,UAAU,IAAI,CAC9C,uBAAC,UAAU,CAAC,UAAU,KAAG,CAC1B,EAEA,UAAU,CAAC,WAAW,IAAI,uBAAC,UAAU,CAAC,WAAW,KAAG,IACjD,IACL,CACJ,GACA,IACC,CACP,CAAC;AACJ,CAAC,CAAC;AAoDA,gCAAU;AAlDZ,MAAM,kBAAkB,GAAG,CAAC,EAC1B,QAAQ,EACR,UAAU,GACuB,EAAE,EAAE;IACrC,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,IAAI,EAAE,CAAC;IACvC,OAAO,CACL,gDACM,UAAU,IACd,SAAS,EAAE,IAAA,oBAAU,EAAC,+BAA+B,EAAE,SAAS,CAAC,EACjE,IAAI,EAAC,KAAK,YAET,QAAQ,IAAI,CACX,gCAAK,IAAI,EAAC,MAAM,EAAC,SAAS,EAAC,2BAA2B,YACpD,iCAAK,SAAS,EAAC,mCAAmC,aAChD,uBAAC,gCAAc,KAAG,EAClB,0DAAqB,IACjB,GACF,CACP,IACG,CACP,CAAC;AACJ,CAAC,CAAC;AAqCA,gDAAkB;AAnCpB,MAAM,iBAAiB,GAAG,CAAC,EACzB,QAAQ,EACR,UAAU,GACuB,EAAE,EAAE;IACrC,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,IAAI,EAAE,CAAC;IACvC,OAAO,CACL,gDACM,UAAU,IACd,SAAS,EAAE,IAAA,oBAAU,EAAC,+BAA+B,EAAE,SAAS,CAAC,EACjE,IAAI,EAAC,KAAK,YAET,QAAQ,IAAI,CACX,gCAAK,IAAI,EAAC,MAAM,EAAC,SAAS,EAAC,2BAA2B,YACpD,6DAAwB,GACpB,CACP,IACG,CACP,CAAC;AACJ,CAAC,CAAC;AAgBA,8CAAiB"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.DataGridComponents = void 0;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
/**
|
|
9
|
+
*
|
|
10
|
+
* Copyright (c) "Neo4j"
|
|
11
|
+
* Neo4j Sweden AB [http://neo4j.com]
|
|
12
|
+
*
|
|
13
|
+
* This file is part of Neo4j.
|
|
14
|
+
*
|
|
15
|
+
* Neo4j is free software: you can redistribute it and/or modify
|
|
16
|
+
* it under the terms of the GNU General Public License as published by
|
|
17
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
18
|
+
* (at your option) any later version.
|
|
19
|
+
*
|
|
20
|
+
* This program is distributed in the hope that it will be useful,
|
|
21
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
22
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
23
|
+
* GNU General Public License for more details.
|
|
24
|
+
*
|
|
25
|
+
* You should have received a copy of the GNU General Public License
|
|
26
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
27
|
+
*/
|
|
28
|
+
const classnames_1 = __importDefault(require("classnames"));
|
|
29
|
+
const helpers_1 = require("../helpers");
|
|
30
|
+
const react_1 = require("react");
|
|
31
|
+
const DataGridContext_1 = require("./DataGridContext");
|
|
32
|
+
const Components_1 = require("./Components");
|
|
33
|
+
const react_2 = require("@table-nav/react");
|
|
34
|
+
exports.DataGridComponents = {
|
|
35
|
+
ResizingBar: Components_1.ResizingBar,
|
|
36
|
+
Header: Components_1.Header,
|
|
37
|
+
Body: Components_1.Body,
|
|
38
|
+
BodyCell: Components_1.BodyCell,
|
|
39
|
+
BodyRow: Components_1.BodyRow,
|
|
40
|
+
HeaderCell: Components_1.HeaderCell,
|
|
41
|
+
ActionButton: Components_1.ActionButton,
|
|
42
|
+
ColumnControls: Components_1.ColumnControls,
|
|
43
|
+
Navigation: Components_1.Navigation,
|
|
44
|
+
TableResults: Components_1.TableResults,
|
|
45
|
+
RowsPerPage: Components_1.RowsPerPage,
|
|
46
|
+
Pagination: Components_1.Pagination,
|
|
47
|
+
PaginationNumericButtons: Components_1.PaginationNumericButtons,
|
|
48
|
+
PaginationNumericButton: Components_1.PaginationNumericButton,
|
|
49
|
+
PaginationArrowButton: Components_1.PaginationArrowButton,
|
|
50
|
+
LoadingPlaceholder: Components_1.LoadingPlaceholder,
|
|
51
|
+
NoDataPlaceholder: Components_1.NoDataPlaceholder,
|
|
52
|
+
Scrollable: Components_1.Scrollable,
|
|
53
|
+
};
|
|
54
|
+
var BorderStyleEnum;
|
|
55
|
+
(function (BorderStyleEnum) {
|
|
56
|
+
BorderStyleEnum["AllSides"] = "all-sides";
|
|
57
|
+
BorderStyleEnum["Horizontal"] = "horizontal";
|
|
58
|
+
BorderStyleEnum["None"] = "none";
|
|
59
|
+
})(BorderStyleEnum || (BorderStyleEnum = {}));
|
|
60
|
+
var HeaderStyleEnum;
|
|
61
|
+
(function (HeaderStyleEnum) {
|
|
62
|
+
HeaderStyleEnum["Filled"] = "filled";
|
|
63
|
+
HeaderStyleEnum["Clean"] = "clean";
|
|
64
|
+
})(HeaderStyleEnum || (HeaderStyleEnum = {}));
|
|
65
|
+
const DEFAULT_STYLING = {
|
|
66
|
+
zebraStriping: false,
|
|
67
|
+
borderStyle: BorderStyleEnum.Horizontal,
|
|
68
|
+
headerStyle: HeaderStyleEnum.Filled,
|
|
69
|
+
};
|
|
70
|
+
const DataGrid = (0, helpers_1.forwardRef)(function DataGrid({ isResizable = true, isLoading = false, isKeyboardNavigable = false, tableInstance, components, rootProps, styling = {}, tableNavRef, }, ref) {
|
|
71
|
+
const { className = '', style = {} } = rootProps || {};
|
|
72
|
+
const Styling = (0, react_1.useMemo)(() => (Object.assign(Object.assign({}, DEFAULT_STYLING), styling)), [styling]);
|
|
73
|
+
const Components = (0, react_1.useMemo)(() => (Object.assign(Object.assign({}, exports.DataGridComponents), components)), [components]);
|
|
74
|
+
const ScrollableContainer = (Components === null || Components === void 0 ? void 0 : Components.Scrollable)
|
|
75
|
+
? Components.Scrollable
|
|
76
|
+
: Components_1.Scrollable;
|
|
77
|
+
const { listeners, tableNav: tableNavigationReference } = (0, react_2.useTableNav)({
|
|
78
|
+
debug: false,
|
|
79
|
+
});
|
|
80
|
+
/** Surface the tableNav instance for programmatic control if needed */
|
|
81
|
+
(0, react_1.useImperativeHandle)(tableNavRef, () => tableNavigationReference, [
|
|
82
|
+
tableNavigationReference,
|
|
83
|
+
]);
|
|
84
|
+
return ((0, jsx_runtime_1.jsx)(DataGridContext_1.DataGridContext.Provider, { value: {
|
|
85
|
+
resizable: isResizable,
|
|
86
|
+
tableProps: tableInstance,
|
|
87
|
+
loading: isLoading,
|
|
88
|
+
components: Components,
|
|
89
|
+
}, children: (0, jsx_runtime_1.jsxs)("div", Object.assign({}, rootProps, (isKeyboardNavigable ? listeners : {}), { className: (0, classnames_1.default)('ndl-data-grid-root', className, {
|
|
90
|
+
'ndl-data-grid-focusable-cells': isKeyboardNavigable,
|
|
91
|
+
'ndl-data-grid-zebra-striping': Styling.zebraStriping,
|
|
92
|
+
'ndl-data-grid-border-all-sides': Styling.borderStyle === BorderStyleEnum.AllSides,
|
|
93
|
+
'ndl-data-grid-border-horizontal': Styling.borderStyle === BorderStyleEnum.Horizontal,
|
|
94
|
+
'ndl-data-grid-header-filled': Styling.headerStyle === HeaderStyleEnum.Filled,
|
|
95
|
+
}), style: style, ref: ref, children: [(0, jsx_runtime_1.jsx)(ScrollableContainer, { children: (0, jsx_runtime_1.jsxs)("div", { className: "ndl-div-table", role: "grid", "aria-busy": isLoading ? 'true' : 'false', children: [(Components === null || Components === void 0 ? void 0 : Components.Header) && (0, jsx_runtime_1.jsx)(Components.Header, {}), (Components === null || Components === void 0 ? void 0 : Components.Body) && (0, jsx_runtime_1.jsx)(Components.Body, {})] }) }), (Components === null || Components === void 0 ? void 0 : Components.Navigation) && (0, jsx_runtime_1.jsx)(Components.Navigation, {})] })) }));
|
|
96
|
+
});
|
|
97
|
+
exports.default = DataGrid;
|
|
98
|
+
//# sourceMappingURL=DataGrid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataGrid.js","sourceRoot":"","sources":["../../../src/data-grid/DataGrid.tsx"],"names":[],"mappings":"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"}
|
package/lib/cjs/{table-deprecated/hooks/hookCallbackTypes.js → data-grid/DataGridContext.js}
RENAMED
|
@@ -20,4 +20,15 @@
|
|
|
20
20
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
21
21
|
*/
|
|
22
22
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
-
|
|
23
|
+
exports.useDataGridContext = exports.DataGridContext = void 0;
|
|
24
|
+
const react_1 = require("react");
|
|
25
|
+
exports.DataGridContext = (0, react_1.createContext)(null);
|
|
26
|
+
function useDataGridContext() {
|
|
27
|
+
const context = (0, react_1.useContext)(exports.DataGridContext);
|
|
28
|
+
if (!context) {
|
|
29
|
+
throw new Error('useDataGridContext should be used under Table component provider');
|
|
30
|
+
}
|
|
31
|
+
return context;
|
|
32
|
+
}
|
|
33
|
+
exports.useDataGridContext = useDataGridContext;
|
|
34
|
+
//# sourceMappingURL=DataGridContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataGridContext.js","sourceRoot":"","sources":["../../../src/data-grid/DataGridContext.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;AAGH,iCAAkD;AA6DrC,QAAA,eAAe,GAAG,IAAA,qBAAa,EAA2B,IAAK,CAAC,CAAC;AAE9E,SAAgB,kBAAkB;IAChC,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAyB,uBAAe,CAAC,CAAC;IACpE,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAC;KACH;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AARD,gDAQC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) "Neo4j"
|
|
5
|
+
* Neo4j Sweden AB [http://neo4j.com]
|
|
6
|
+
*
|
|
7
|
+
* This file is part of Neo4j.
|
|
8
|
+
*
|
|
9
|
+
* Neo4j is free software: you can redistribute it and/or modify
|
|
10
|
+
* it under the terms of the GNU General Public License as published by
|
|
11
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
12
|
+
* (at your option) any later version.
|
|
13
|
+
*
|
|
14
|
+
* This program is distributed in the hope that it will be useful,
|
|
15
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
16
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
17
|
+
* GNU General Public License for more details.
|
|
18
|
+
*
|
|
19
|
+
* You should have received a copy of the GNU General Public License
|
|
20
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
21
|
+
*/
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
exports.isSizeConstrained = exports.gridGenerator = exports.userFriendlyPagination = void 0;
|
|
24
|
+
/**
|
|
25
|
+
* Modified from here: https://gist.github.com/kottenator/9d936eb3e4e3c3e02598
|
|
26
|
+
*
|
|
27
|
+
* @param current Current Index
|
|
28
|
+
* @param max Max Index
|
|
29
|
+
* @returns
|
|
30
|
+
*/
|
|
31
|
+
const userFriendlyPagination = (current, max) => {
|
|
32
|
+
const last = max;
|
|
33
|
+
const delta = 1;
|
|
34
|
+
const left = current - delta;
|
|
35
|
+
const right = current + delta + 1;
|
|
36
|
+
const range = [];
|
|
37
|
+
const rangeWithDots = [];
|
|
38
|
+
let length;
|
|
39
|
+
for (let i = 1; i <= last; i += 1) {
|
|
40
|
+
if (i === 1 || i === last || (i >= left && i < right)) {
|
|
41
|
+
range.push(i);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
for (let i = 0; i < range.length; i += 1) {
|
|
45
|
+
if (length) {
|
|
46
|
+
if (range[i] - length === 2) {
|
|
47
|
+
rangeWithDots.push(length + 1);
|
|
48
|
+
}
|
|
49
|
+
else if (range[i] - length !== 1) {
|
|
50
|
+
rangeWithDots.push('...');
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
rangeWithDots.push(range[i]);
|
|
54
|
+
length = range[i];
|
|
55
|
+
}
|
|
56
|
+
return rangeWithDots;
|
|
57
|
+
};
|
|
58
|
+
exports.userFriendlyPagination = userFriendlyPagination;
|
|
59
|
+
/**
|
|
60
|
+
* Simple helper to generate inline grid style
|
|
61
|
+
* to be responsive.
|
|
62
|
+
*
|
|
63
|
+
* Secret sauce:
|
|
64
|
+
* The last element takes an "auto" width, so it will
|
|
65
|
+
* fill the available space, and the result till be for 4 columns:
|
|
66
|
+
* minmax(min column1Sizepx,column1Sizepx) minmax(min column2Sizepx,column2Sizepx) ... minmax(columnNSizepx, auto)
|
|
67
|
+
*/
|
|
68
|
+
const gridGenerator = (table) => {
|
|
69
|
+
const visibleColumns = table.getVisibleFlatColumns();
|
|
70
|
+
const tableDefaultMin = table._getDefaultColumnDef().minSize;
|
|
71
|
+
// 20 is the default value that is set in Tanstack. For us the min size is too
|
|
72
|
+
// small so we increase it to look better per default.
|
|
73
|
+
// https://github.com/TanStack/table/blob/main/docs/guide/column-sizing.md
|
|
74
|
+
const defaultMin = tableDefaultMin !== 20 ? tableDefaultMin : 100;
|
|
75
|
+
// If there are actions, we want the last column to be fixed sized
|
|
76
|
+
// and the rest to be auto.
|
|
77
|
+
return visibleColumns
|
|
78
|
+
.map((i, idx) => {
|
|
79
|
+
var _a;
|
|
80
|
+
return visibleColumns.length === idx + 1
|
|
81
|
+
? `minmax(${i.getSize()}px ,auto)`
|
|
82
|
+
: `minmax(${((_a = table.getColumn(i.id)) === null || _a === void 0 ? void 0 : _a.columnDef.minSize) || defaultMin}px,${i.getSize()}px)`;
|
|
83
|
+
})
|
|
84
|
+
.join(' ');
|
|
85
|
+
};
|
|
86
|
+
exports.gridGenerator = gridGenerator;
|
|
87
|
+
/**
|
|
88
|
+
* Check if the column is size constrained,
|
|
89
|
+
* so we can let the column's width grow with `flex-grow: 1`
|
|
90
|
+
* @param columnDef
|
|
91
|
+
*/
|
|
92
|
+
const isSizeConstrained = (columnDef) => columnDef.size !== undefined && columnDef.size !== 150;
|
|
93
|
+
exports.isSizeConstrained = isSizeConstrained;
|
|
94
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/data-grid/helpers.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;AAQH;;;;;;GAMG;AACI,MAAM,sBAAsB,GAAG,CAAC,OAAe,EAAE,GAAW,EAAE,EAAE;IACrE,MAAM,IAAI,GAAG,GAAG,CAAC;IACjB,MAAM,KAAK,GAAG,CAAC,CAAC;IAChB,MAAM,IAAI,GAAG,OAAO,GAAG,KAAK,CAAC;IAC7B,MAAM,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,MAAM,aAAa,GAAG,EAAE,CAAC;IACzB,IAAI,MAA0B,CAAC;IAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE;QACjC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,EAAE;YACrD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACf;KACF;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;QACxC,IAAI,MAAM,EAAE;YACV,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,CAAC,EAAE;gBAC3B,aAAa,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;aAChC;iBAAM,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,CAAC,EAAE;gBAClC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC3B;SACF;QACD,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;KACnB;IAED,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AA5BW,QAAA,sBAAsB,0BA4BjC;AAEF;;;;;;;;GAQG;AACI,MAAM,aAAa,GAAG,CAAoB,KAAe,EAAE,EAAE;IAClE,MAAM,cAAc,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC;IACrD,MAAM,eAAe,GAAG,KAAK,CAAC,oBAAoB,EAAE,CAAC,OAAO,CAAC;IAC7D,8EAA8E;IAC9E,sDAAsD;IACtD,0EAA0E;IAC1E,MAAM,UAAU,GAAG,eAAe,KAAK,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC;IAElE,kEAAkE;IAClE,2BAA2B;IAC3B,OAAO,cAAc;SAClB,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;;QACd,OAAA,cAAc,CAAC,MAAM,KAAK,GAAG,GAAG,CAAC;YAC/B,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,WAAW;YAClC,CAAC,CAAC,UACE,CAAA,MAAA,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,0CAAE,SAAS,CAAC,OAAO,KAAI,UAC9C,MAAM,CAAC,CAAC,OAAO,EAAE,KAAK,CAAA;KAAA,CAC3B;SACA,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC,CAAC;AAnBW,QAAA,aAAa,iBAmBxB;AAEF;;;;GAIG;AACI,MAAM,iBAAiB,GAAG,CAAoB,SAAuB,EAAE,EAAE,CAC9E,SAAS,CAAC,IAAI,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,GAAG,CAAC;AAD5C,QAAA,iBAAiB,qBAC2B"}
|