@crystaldesign/grid 26.2.0-beta.2 → 26.2.0-beta.4
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/build/esm/index.js +170 -65
- package/build/types/grid/src/Grid.d.ts +22 -8
- package/build/types/grid/src/Grid.d.ts.map +1 -1
- package/build/types/grid/src/hooks/useApiInterface/apiFetchSelectValues.d.ts.map +1 -1
- package/build/types/grid/src/hooks/useEditActions.d.ts +1 -0
- package/build/types/grid/src/hooks/useEditActions.d.ts.map +1 -1
- package/build/types/grid/src/hooks/useSelection.d.ts.map +1 -1
- package/build/types/grid/src/index.d.ts +1 -0
- package/build/types/grid/src/index.d.ts.map +1 -1
- package/build/types/grid/src/ui/components/Toolbar.d.ts +19 -1
- package/build/types/grid/src/ui/components/Toolbar.d.ts.map +1 -1
- package/package.json +5 -5
package/build/esm/index.js
CHANGED
|
@@ -30,18 +30,19 @@ import DragIndicatorIcon from '@mui/icons-material/DragIndicator';
|
|
|
30
30
|
import { DragDropContext, Droppable, Draggable } from '@hello-pangea/dnd';
|
|
31
31
|
import classnames from 'classnames';
|
|
32
32
|
import MaToolbar from '@mui/material/Toolbar';
|
|
33
|
-
import ButtonGroup from '@mui/material/ButtonGroup';
|
|
34
33
|
import Button from '@mui/material/Button';
|
|
34
|
+
import ButtonGroup from '@mui/material/ButtonGroup';
|
|
35
35
|
import AccordionDetails from '@mui/material/AccordionDetails';
|
|
36
36
|
import Accordion from '@mui/material/Accordion';
|
|
37
37
|
import AccordionSummary from '@mui/material/AccordionSummary';
|
|
38
38
|
import FilterListIcon from '@mui/icons-material/FilterList';
|
|
39
|
-
import Tooltip from '@mui/material/Tooltip';
|
|
40
|
-
import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
|
|
41
|
-
import _regeneratorRuntime from '@babel/runtime/regenerator';
|
|
42
39
|
import MoreVertIcon from '@mui/icons-material/MoreVert';
|
|
40
|
+
import Tooltip from '@mui/material/Tooltip';
|
|
43
41
|
import Menu from '@mui/material/Menu';
|
|
44
42
|
import MenuItem from '@mui/material/MenuItem';
|
|
43
|
+
import Stack from '@mui/material/Stack';
|
|
44
|
+
import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
|
|
45
|
+
import _regeneratorRuntime from '@babel/runtime/regenerator';
|
|
45
46
|
import ImageList from '@mui/material/ImageList';
|
|
46
47
|
import ImageListItem from '@mui/material/ImageListItem';
|
|
47
48
|
import Grid$1 from '@mui/material/Grid2';
|
|
@@ -693,7 +694,13 @@ function Toolbar(_ref) {
|
|
|
693
694
|
_ref$onViewSwitch = _ref.onViewSwitch,
|
|
694
695
|
onViewSwitch = _ref$onViewSwitch === void 0 ? function () {} : _ref$onViewSwitch,
|
|
695
696
|
selectedView = _ref.selectedView,
|
|
696
|
-
customElement = _ref.customElement
|
|
697
|
+
customElement = _ref.customElement,
|
|
698
|
+
_ref$actionsVisibleCo = _ref.actionsVisibleCount,
|
|
699
|
+
actionsVisibleCount = _ref$actionsVisibleCo === void 0 ? 3 : _ref$actionsVisibleCo,
|
|
700
|
+
_ref$actionsPosition = _ref.actionsPosition,
|
|
701
|
+
actionsPosition = _ref$actionsPosition === void 0 ? 'right' : _ref$actionsPosition,
|
|
702
|
+
_ref$hasSelection = _ref.hasSelection,
|
|
703
|
+
hasSelection = _ref$hasSelection === void 0 ? false : _ref$hasSelection;
|
|
697
704
|
var _React$useState = React.useState(false),
|
|
698
705
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
699
706
|
expanded = _React$useState2[0],
|
|
@@ -703,6 +710,23 @@ function Toolbar(_ref) {
|
|
|
703
710
|
_useState2 = _slicedToArray(_useState, 2),
|
|
704
711
|
showCustomElement = _useState2[0],
|
|
705
712
|
setShowCustomElement = _useState2[1];
|
|
713
|
+
var _useState3 = useState(null),
|
|
714
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
715
|
+
menuAnchorEl = _useState4[0],
|
|
716
|
+
setMenuAnchorEl = _useState4[1];
|
|
717
|
+
var menuOpen = Boolean(menuAnchorEl);
|
|
718
|
+
var handleMenuOpen = function handleMenuOpen(event) {
|
|
719
|
+
setMenuAnchorEl(event.currentTarget);
|
|
720
|
+
};
|
|
721
|
+
var handleMenuClose = function handleMenuClose() {
|
|
722
|
+
setMenuAnchorEl(null);
|
|
723
|
+
};
|
|
724
|
+
|
|
725
|
+
// Split actions into visible and overflow
|
|
726
|
+
// If there are more actions than the visible count, reserve the last position for the menu button
|
|
727
|
+
var hasOverflow = actions.length > actionsVisibleCount;
|
|
728
|
+
var visibleActions = hasOverflow ? actions.slice(0, actionsVisibleCount - 1) : actions.slice(0, actionsVisibleCount);
|
|
729
|
+
var overflowActions = hasOverflow ? actions.slice(actionsVisibleCount - 1) : [];
|
|
706
730
|
useEffect(function () {
|
|
707
731
|
if (ref.current) {
|
|
708
732
|
var resizeObserver = new ResizeObserver(function (entries) {
|
|
@@ -719,6 +743,72 @@ function Toolbar(_ref) {
|
|
|
719
743
|
//toolbar would be completely empty, so it doesn't have to show at all.
|
|
720
744
|
return /*#__PURE__*/jsx(Fragment, {});
|
|
721
745
|
}
|
|
746
|
+
var renderActionButtons = function renderActionButtons() {
|
|
747
|
+
return /*#__PURE__*/jsx(Fragment, {
|
|
748
|
+
children: /*#__PURE__*/jsxs(Stack, {
|
|
749
|
+
direction: "row",
|
|
750
|
+
spacing: 1,
|
|
751
|
+
sx: {
|
|
752
|
+
marginRight: actionsPosition === 'right' ? 2 : 0,
|
|
753
|
+
marginLeft: actionsPosition === 'left' ? 0 : 0
|
|
754
|
+
},
|
|
755
|
+
children: [visibleActions.map(function (action, i) {
|
|
756
|
+
var _action$tooltip;
|
|
757
|
+
return /*#__PURE__*/jsx(Tooltip, {
|
|
758
|
+
title: (_action$tooltip = action.tooltip) !== null && _action$tooltip !== void 0 ? _action$tooltip : '',
|
|
759
|
+
disableHoverListener: !action.tooltip,
|
|
760
|
+
children: /*#__PURE__*/jsx("span", {
|
|
761
|
+
children: /*#__PURE__*/jsx(Button, {
|
|
762
|
+
onClick: action.onClick,
|
|
763
|
+
variant: action.selected ? 'contained' : 'outlined',
|
|
764
|
+
disabled: action.disabled,
|
|
765
|
+
color: "primary",
|
|
766
|
+
children: action.label
|
|
767
|
+
})
|
|
768
|
+
})
|
|
769
|
+
}, i);
|
|
770
|
+
}), overflowActions.length > 0 && /*#__PURE__*/jsxs(Fragment, {
|
|
771
|
+
children: [/*#__PURE__*/jsx(Button, {
|
|
772
|
+
variant: "outlined",
|
|
773
|
+
onClick: handleMenuOpen,
|
|
774
|
+
children: /*#__PURE__*/jsx(MoreVertIcon, {})
|
|
775
|
+
}), /*#__PURE__*/jsx(Menu, {
|
|
776
|
+
id: "actions-menu",
|
|
777
|
+
anchorEl: menuAnchorEl,
|
|
778
|
+
open: menuOpen,
|
|
779
|
+
onClose: handleMenuClose,
|
|
780
|
+
anchorOrigin: {
|
|
781
|
+
vertical: 'bottom',
|
|
782
|
+
horizontal: 'right'
|
|
783
|
+
},
|
|
784
|
+
transformOrigin: {
|
|
785
|
+
vertical: 'top',
|
|
786
|
+
horizontal: 'right'
|
|
787
|
+
},
|
|
788
|
+
children: overflowActions.map(function (action, i) {
|
|
789
|
+
var _action$tooltip2;
|
|
790
|
+
return /*#__PURE__*/jsx(Tooltip, {
|
|
791
|
+
title: (_action$tooltip2 = action.tooltip) !== null && _action$tooltip2 !== void 0 ? _action$tooltip2 : '',
|
|
792
|
+
disableHoverListener: !action.tooltip,
|
|
793
|
+
placement: "left",
|
|
794
|
+
children: /*#__PURE__*/jsx("span", {
|
|
795
|
+
children: /*#__PURE__*/jsx(MenuItem, {
|
|
796
|
+
onClick: function onClick(e) {
|
|
797
|
+
action.onClick(e);
|
|
798
|
+
handleMenuClose();
|
|
799
|
+
},
|
|
800
|
+
disabled: action.disabled,
|
|
801
|
+
selected: action.selected,
|
|
802
|
+
children: action.label
|
|
803
|
+
})
|
|
804
|
+
})
|
|
805
|
+
}, i);
|
|
806
|
+
})
|
|
807
|
+
})]
|
|
808
|
+
})]
|
|
809
|
+
})
|
|
810
|
+
});
|
|
811
|
+
};
|
|
722
812
|
return /*#__PURE__*/jsxs(Accordion, {
|
|
723
813
|
expanded: expanded,
|
|
724
814
|
className: "grid-toolbar",
|
|
@@ -754,32 +844,11 @@ function Toolbar(_ref) {
|
|
|
754
844
|
minWidth: '100%',
|
|
755
845
|
minHeight: '45px'
|
|
756
846
|
},
|
|
757
|
-
children: [showCustomElement && customElement, /*#__PURE__*/jsx("div", {
|
|
847
|
+
children: [actionsPosition === 'left' && actions.length > 0 && hasSelection && renderActionButtons(), showCustomElement && customElement, /*#__PURE__*/jsx("div", {
|
|
758
848
|
style: {
|
|
759
849
|
flexGrow: 1
|
|
760
850
|
}
|
|
761
|
-
}), /*#__PURE__*/jsx(ButtonGroup, {
|
|
762
|
-
style: {
|
|
763
|
-
marginRight: 10
|
|
764
|
-
},
|
|
765
|
-
color: "primary",
|
|
766
|
-
"aria-label": "actions",
|
|
767
|
-
children: actions.map(function (action, i) {
|
|
768
|
-
var _action$tooltip;
|
|
769
|
-
return /*#__PURE__*/jsx(Tooltip, {
|
|
770
|
-
title: (_action$tooltip = action.tooltip) !== null && _action$tooltip !== void 0 ? _action$tooltip : '',
|
|
771
|
-
disableHoverListener: !action.tooltip,
|
|
772
|
-
children: /*#__PURE__*/jsx("span", {
|
|
773
|
-
children: /*#__PURE__*/jsx(Button, {
|
|
774
|
-
onClick: action.onClick,
|
|
775
|
-
variant: action.selected ? 'contained' : 'outlined',
|
|
776
|
-
disabled: action.disabled,
|
|
777
|
-
children: action.label
|
|
778
|
-
})
|
|
779
|
-
})
|
|
780
|
-
}, i);
|
|
781
|
-
})
|
|
782
|
-
}), /*#__PURE__*/jsx(ButtonGroup, {
|
|
851
|
+
}), actionsPosition === 'right' && actions.length > 0 && hasSelection && renderActionButtons(), /*#__PURE__*/jsx(ButtonGroup, {
|
|
783
852
|
style: {
|
|
784
853
|
marginRight: 10
|
|
785
854
|
},
|
|
@@ -1392,7 +1461,7 @@ function apiFetchSelectValues(_x, _x2, _x3, _x4) {
|
|
|
1392
1461
|
*/
|
|
1393
1462
|
function _apiFetchSelectValues() {
|
|
1394
1463
|
_apiFetchSelectValues = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(endpoint, organizationId, authToken, catalogServiceUrl) {
|
|
1395
|
-
var headers, response, data, valuesArray;
|
|
1464
|
+
var headers, response, data, valuesArray, dedublicationMap, _iterator2, _step2, _item$key, item;
|
|
1396
1465
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
1397
1466
|
while (1) switch (_context.prev = _context.next) {
|
|
1398
1467
|
case 0:
|
|
@@ -1422,22 +1491,34 @@ function _apiFetchSelectValues() {
|
|
|
1422
1491
|
data = _context.sent;
|
|
1423
1492
|
// Extract the values array from the response using valuePath
|
|
1424
1493
|
valuesArray = getNestedValue$1(data, endpoint.valuePath);
|
|
1425
|
-
if (!Array.isArray(valuesArray)) {
|
|
1494
|
+
if (!(!Array.isArray(valuesArray) || valuesArray.length === 0)) {
|
|
1426
1495
|
_context.next = 15;
|
|
1427
1496
|
break;
|
|
1428
1497
|
}
|
|
1429
|
-
return _context.abrupt("return", valuesArray);
|
|
1430
|
-
case 15:
|
|
1431
1498
|
return _context.abrupt("return", []);
|
|
1432
|
-
case
|
|
1433
|
-
|
|
1499
|
+
case 15:
|
|
1500
|
+
dedublicationMap = new Map();
|
|
1501
|
+
_iterator2 = _createForOfIteratorHelper$1(valuesArray);
|
|
1502
|
+
try {
|
|
1503
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
1504
|
+
item = _step2.value;
|
|
1505
|
+
dedublicationMap.set((_item$key = item.key) !== null && _item$key !== void 0 ? _item$key : '', item);
|
|
1506
|
+
}
|
|
1507
|
+
} catch (err) {
|
|
1508
|
+
_iterator2.e(err);
|
|
1509
|
+
} finally {
|
|
1510
|
+
_iterator2.f();
|
|
1511
|
+
}
|
|
1512
|
+
return _context.abrupt("return", Array.from(dedublicationMap.values()));
|
|
1513
|
+
case 21:
|
|
1514
|
+
_context.prev = 21;
|
|
1434
1515
|
_context.t0 = _context["catch"](0);
|
|
1435
1516
|
throw _context.t0;
|
|
1436
|
-
case
|
|
1517
|
+
case 24:
|
|
1437
1518
|
case "end":
|
|
1438
1519
|
return _context.stop();
|
|
1439
1520
|
}
|
|
1440
|
-
}, _callee, null, [[0,
|
|
1521
|
+
}, _callee, null, [[0, 21]]);
|
|
1441
1522
|
}));
|
|
1442
1523
|
return _apiFetchSelectValues.apply(this, arguments);
|
|
1443
1524
|
}
|
|
@@ -3150,7 +3231,7 @@ function useApiInterface(_ref) {
|
|
|
3150
3231
|
var _useReducer = useReducer(reducer, {
|
|
3151
3232
|
data: [],
|
|
3152
3233
|
total: 0,
|
|
3153
|
-
loading:
|
|
3234
|
+
loading: true,
|
|
3154
3235
|
custom: {}
|
|
3155
3236
|
}),
|
|
3156
3237
|
_useReducer2 = _slicedToArray(_useReducer, 2),
|
|
@@ -3699,9 +3780,13 @@ var useSelection = function useSelection(hooks) {
|
|
|
3699
3780
|
|
|
3700
3781
|
hooks.useInstance.push(function (instance) {
|
|
3701
3782
|
var selectedRootRows = useMemo(function () {
|
|
3702
|
-
|
|
3783
|
+
var selected = instance.selectedFlatRows.filter(function (row) {
|
|
3703
3784
|
return row.depth == 0;
|
|
3704
3785
|
});
|
|
3786
|
+
instance.onRowSelectionChange(selected.map(function (row) {
|
|
3787
|
+
return row.id;
|
|
3788
|
+
}));
|
|
3789
|
+
return selected;
|
|
3705
3790
|
}, [instance.selectedFlatRows]);
|
|
3706
3791
|
Object.assign(instance, {
|
|
3707
3792
|
selectedRootRows: selectedRootRows
|
|
@@ -3749,7 +3834,10 @@ function Grid(_ref) {
|
|
|
3749
3834
|
prepareRowHook = _ref.prepareRow,
|
|
3750
3835
|
customElement = _ref.customElement,
|
|
3751
3836
|
noData = _ref.noData,
|
|
3752
|
-
forceNewData = _ref.forceNewData
|
|
3837
|
+
forceNewData = _ref.forceNewData,
|
|
3838
|
+
toolbarActionsVisibleCount = _ref.toolbarActionsVisibleCount,
|
|
3839
|
+
_ref$toolbarActionsPo = _ref.toolbarActionsPosition,
|
|
3840
|
+
toolbarActionsPosition = _ref$toolbarActionsPo === void 0 ? 'right' : _ref$toolbarActionsPo;
|
|
3753
3841
|
var classes = useStyles();
|
|
3754
3842
|
var _useTranslation = useTranslation(),
|
|
3755
3843
|
t = _useTranslation.t;
|
|
@@ -3827,7 +3915,11 @@ function Grid(_ref) {
|
|
|
3827
3915
|
groupBy: parsedOptions.groupBy || [],
|
|
3828
3916
|
sortBy: parsedOptions.sortBy || [],
|
|
3829
3917
|
pageSize: ((_parsedOptions$pagina2 = parsedOptions.pagination) === null || _parsedOptions$pagina2 === void 0 ? void 0 : _parsedOptions$pagina2.defaultPageSize) || 20,
|
|
3830
|
-
hiddenColumns: parsedOptions.hiddenColumns
|
|
3918
|
+
hiddenColumns: parsedOptions.hiddenColumns,
|
|
3919
|
+
selectedRowIds: selected ? selected.reduce(function (acc, idx) {
|
|
3920
|
+
acc[idx] = true;
|
|
3921
|
+
return acc;
|
|
3922
|
+
}, {}) : {}
|
|
3831
3923
|
},
|
|
3832
3924
|
manualFilters: options.apiInterface.filterServerSide,
|
|
3833
3925
|
manualGlobalFilter: options.apiInterface.filterServerSide,
|
|
@@ -3858,6 +3950,12 @@ function Grid(_ref) {
|
|
|
3858
3950
|
onNew: onInternalNew,
|
|
3859
3951
|
onEdit: onInternalEdit,
|
|
3860
3952
|
onDelete: onInternalDelete,
|
|
3953
|
+
onRowSelectionChange: useCallback(function (selected) {
|
|
3954
|
+
if (isLoading) return;
|
|
3955
|
+
onSelect(selected.map(function (idx) {
|
|
3956
|
+
return data[parseInt(idx)];
|
|
3957
|
+
}));
|
|
3958
|
+
}, [data]),
|
|
3861
3959
|
custom: custom
|
|
3862
3960
|
}, useFilters, useGlobalFilter, useGroupBy, useSortBy, useExpanded, usePagination, useSelection, useEditActions, useHightlight, function (hooks) {
|
|
3863
3961
|
hooks.getCellProps.push(function (props, meta) {
|
|
@@ -3929,9 +4027,9 @@ function Grid(_ref) {
|
|
|
3929
4027
|
toggleAllRowsExpanded = _useTable.toggleAllRowsExpanded,
|
|
3930
4028
|
toggleRowSelected = _useTable.toggleRowSelected,
|
|
3931
4029
|
toggleAllRowsSelected = _useTable.toggleAllRowsSelected,
|
|
3932
|
-
selectedFlatRows = _useTable.selectedFlatRows
|
|
3933
|
-
|
|
3934
|
-
flatRows = _useTable.flatRows,
|
|
4030
|
+
selectedFlatRows = _useTable.selectedFlatRows;
|
|
4031
|
+
_useTable.selectedRootRows;
|
|
4032
|
+
var flatRows = _useTable.flatRows,
|
|
3935
4033
|
_useTable$state = _useTable.state,
|
|
3936
4034
|
pageIndex = _useTable$state.pageIndex,
|
|
3937
4035
|
pageSize = _useTable$state.pageSize,
|
|
@@ -3952,23 +4050,16 @@ function Grid(_ref) {
|
|
|
3952
4050
|
});
|
|
3953
4051
|
}, [pageIndex, pageSize, globalFilter, filters, sortBy]);
|
|
3954
4052
|
useEffect(function () {
|
|
3955
|
-
if (options.selectable && selected) {
|
|
3956
|
-
|
|
3957
|
-
|
|
3958
|
-
|
|
3959
|
-
|
|
4053
|
+
if (options.selectable && selected && !isLoading) {
|
|
4054
|
+
// Sync the selection state with the external selected prop
|
|
4055
|
+
flatRows.forEach(function (r) {
|
|
4056
|
+
var shouldBeSelected = selected.includes(r.id);
|
|
4057
|
+
if (r.isSelected !== shouldBeSelected) {
|
|
4058
|
+
toggleRowSelected(r.id, shouldBeSelected);
|
|
4059
|
+
}
|
|
3960
4060
|
});
|
|
3961
4061
|
}
|
|
3962
|
-
}, [selected, options.selectable]);
|
|
3963
|
-
useEffect(function () {
|
|
3964
|
-
if (options.selectable) {
|
|
3965
|
-
onSelect(selectedRootRows.filter(function (r) {
|
|
3966
|
-
return !r.isGrouped;
|
|
3967
|
-
}).map(function (r) {
|
|
3968
|
-
return r.original;
|
|
3969
|
-
}));
|
|
3970
|
-
}
|
|
3971
|
-
}, [selectedRootRows, options.selectable]);
|
|
4062
|
+
}, [selected, options.selectable, flatRows, isLoading]);
|
|
3972
4063
|
useEffect(function () {
|
|
3973
4064
|
if (options.apiInterface.filterServerSide && pageIndex > total / pageSize) {
|
|
3974
4065
|
gotoPage(0);
|
|
@@ -4053,21 +4144,29 @@ function Grid(_ref) {
|
|
|
4053
4144
|
children: h.render('Filter')
|
|
4054
4145
|
}, h.id);
|
|
4055
4146
|
}),
|
|
4147
|
+
actionsVisibleCount: toolbarActionsVisibleCount,
|
|
4148
|
+
actionsPosition: toolbarActionsPosition,
|
|
4149
|
+
hasSelection: selectedFlatRows.length > 0,
|
|
4056
4150
|
actions: toolbarActions === null || toolbarActions === void 0 ? void 0 : toolbarActions.map(function (a) {
|
|
4057
4151
|
var selectedItems = selectedFlatRows.map(function (r) {
|
|
4058
4152
|
return r.original;
|
|
4059
4153
|
});
|
|
4060
|
-
var
|
|
4061
|
-
var actionDisabled = a.disabled ? a.disabled(selectedItems) : false;
|
|
4062
|
-
var isDisabled = noSelection || actionDisabled;
|
|
4154
|
+
var isDisabled = a.disabled ? a.disabled(selectedItems) : false;
|
|
4063
4155
|
return {
|
|
4064
4156
|
label: a.label,
|
|
4065
4157
|
selected: a.selected,
|
|
4066
4158
|
onClick: function onClick(e) {
|
|
4067
4159
|
var selectedRows = _toConsumableArray(selectedFlatRows);
|
|
4068
|
-
var removeSelectedItems = function removeSelectedItems() {
|
|
4160
|
+
var removeSelectedItems = function removeSelectedItems(itemsToRemove) {
|
|
4161
|
+
var rowsToDelete = selectedRows;
|
|
4162
|
+
if (itemsToRemove && itemsToRemove.length > 0) {
|
|
4163
|
+
rowsToDelete = selectedRows.filter(function (r) {
|
|
4164
|
+
return itemsToRemove.includes(r.original);
|
|
4165
|
+
});
|
|
4166
|
+
}
|
|
4167
|
+
|
|
4069
4168
|
// Get indices in reverse order to avoid index shifting issues
|
|
4070
|
-
var indices =
|
|
4169
|
+
var indices = rowsToDelete.map(function (r) {
|
|
4071
4170
|
return r.index;
|
|
4072
4171
|
}).sort(function (a, b) {
|
|
4073
4172
|
return b - a;
|
|
@@ -4075,14 +4174,20 @@ function Grid(_ref) {
|
|
|
4075
4174
|
indices.forEach(function (index) {
|
|
4076
4175
|
return deleteData(index);
|
|
4077
4176
|
});
|
|
4078
|
-
|
|
4177
|
+
if (!itemsToRemove || itemsToRemove.length === selectedRows.length || rowsToDelete.length === selectedRows.length) {
|
|
4178
|
+
toggleAllRowsSelected(false);
|
|
4179
|
+
} else {
|
|
4180
|
+
rowsToDelete.forEach(function (r) {
|
|
4181
|
+
return toggleRowSelected(r.id, false);
|
|
4182
|
+
});
|
|
4183
|
+
}
|
|
4079
4184
|
};
|
|
4080
4185
|
a.onClick(selectedRows.map(function (r) {
|
|
4081
4186
|
return r.original;
|
|
4082
4187
|
}), e, removeSelectedItems);
|
|
4083
4188
|
},
|
|
4084
4189
|
disabled: isDisabled,
|
|
4085
|
-
tooltip:
|
|
4190
|
+
tooltip: isDisabled && a.disabledTooltip ? a.disabledTooltip : undefined
|
|
4086
4191
|
};
|
|
4087
4192
|
}),
|
|
4088
4193
|
onViewSwitch: setView,
|
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Row, MetaBase } from 'react-table';
|
|
3
3
|
import { GridColumnActions, GridOptions } from './GirdOptions';
|
|
4
|
+
/**
|
|
5
|
+
* Configuration for a toolbar action button
|
|
6
|
+
*/
|
|
7
|
+
export interface GridToolbarAction<D extends object> {
|
|
8
|
+
label: string | JSX.Element;
|
|
9
|
+
onClick: (selectedItems?: D[], e?: React.MouseEvent<any>, removeSelectedItems?: (itemsToRemove?: D[]) => void) => void;
|
|
10
|
+
selected?: boolean;
|
|
11
|
+
disabled?: (selectedItems: D[]) => boolean;
|
|
12
|
+
disabledTooltip?: string;
|
|
13
|
+
}
|
|
4
14
|
export interface GridProps<D extends object> {
|
|
5
15
|
/**
|
|
6
16
|
* A set of options to configure the grid
|
|
@@ -16,13 +26,7 @@ export interface GridProps<D extends object> {
|
|
|
16
26
|
* @param e - The click event
|
|
17
27
|
* @param removeSelectedItems - Call this function after the action to remove the selected items from the grid
|
|
18
28
|
*/
|
|
19
|
-
toolbarActions?:
|
|
20
|
-
label: string | JSX.Element;
|
|
21
|
-
onClick: (selectedItems?: D[], e?: React.MouseEvent<any>, removeSelectedItems?: () => void) => void;
|
|
22
|
-
selected?: boolean;
|
|
23
|
-
disabled?: (selectedItems: D[]) => boolean;
|
|
24
|
-
disabledTooltip?: string;
|
|
25
|
-
}[];
|
|
29
|
+
toolbarActions?: GridToolbarAction<D>[];
|
|
26
30
|
/**
|
|
27
31
|
* A list of actions, displayed as buttons in the footer
|
|
28
32
|
*/
|
|
@@ -93,6 +97,16 @@ export interface GridProps<D extends object> {
|
|
|
93
97
|
*/
|
|
94
98
|
noData?: any;
|
|
95
99
|
forceNewData?: boolean;
|
|
100
|
+
/**
|
|
101
|
+
* The number of toolbar action buttons to show before collapsing the rest into a dropdown menu.
|
|
102
|
+
* @default 2
|
|
103
|
+
*/
|
|
104
|
+
toolbarActionsVisibleCount?: number;
|
|
105
|
+
/**
|
|
106
|
+
* The position of the toolbar actions.
|
|
107
|
+
* @default 'right'
|
|
108
|
+
*/
|
|
109
|
+
toolbarActionsPosition?: 'left' | 'right';
|
|
96
110
|
}
|
|
97
|
-
export default function Grid<D extends object>({ options, gallery, table, columnActions, toolbarActions, footerActions, selected, onSelect, onEdit, onDelete, onUpdate, onNew, onLoaded, prepareRow: prepareRowHook, customElement, noData, forceNewData, }: GridProps<D>): React.JSX.Element;
|
|
111
|
+
export default function Grid<D extends object>({ options, gallery, table, columnActions, toolbarActions, footerActions, selected, onSelect, onEdit, onDelete, onUpdate, onNew, onLoaded, prepareRow: prepareRowHook, customElement, noData, forceNewData, toolbarActionsVisibleCount, toolbarActionsPosition, }: GridProps<D>): React.JSX.Element;
|
|
98
112
|
//# sourceMappingURL=Grid.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Grid.d.ts","sourceRoot":"","sources":["../../../../src/Grid.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAIjF,OAAO,EAUL,GAAG,EAEH,QAAQ,EAGT,MAAM,aAAa,CAAC;AAerB,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAW/D,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"Grid.d.ts","sourceRoot":"","sources":["../../../../src/Grid.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiFetchSelectValues.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/useApiInterface/apiFetchSelectValues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"apiFetchSelectValues.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/useApiInterface/apiFetchSelectValues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,wBAA8B,oBAAoB,CAChD,QAAQ,EAAE,oBAAoB,EAC9B,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,eAAe,EAAE,CAAC,CAmC5B"}
|
|
@@ -7,6 +7,7 @@ export interface UseEditableTableOptions<D extends object> {
|
|
|
7
7
|
onNew: () => void;
|
|
8
8
|
onEdit: (item: D, index: number) => void;
|
|
9
9
|
onDelete: (item: D, index: number) => void;
|
|
10
|
+
onRowSelectionChange: (selected: string[]) => void;
|
|
10
11
|
custom?: {
|
|
11
12
|
[key: string]: string | number;
|
|
12
13
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEditActions.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/useEditActions.tsx"],"names":[],"mappings":"AACA,OAAO,EAAa,cAAc,EAAe,KAAK,EAAY,GAAG,EAAE,MAAM,aAAa,CAAC;AAM3F,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAExD,MAAM,WAAW,uBAAuB,CAAC,CAAC,SAAS,MAAM;IACvD,cAAc,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC;IACzD,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnF,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CAC7C;AAED,MAAM,WAAW,wBAAwB,CAAC,CAAC,SAAS,MAAM;IACxD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG;QAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC7E,cAAc,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC;IACxG,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvG,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;IAC7D,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC9D;AAED,MAAM,WAAW,wBAAwB,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,uBAAuB,CAAC,CAAC,CAAC;CAAG;AAEjG,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,QAE5E"}
|
|
1
|
+
{"version":3,"file":"useEditActions.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/useEditActions.tsx"],"names":[],"mappings":"AACA,OAAO,EAAa,cAAc,EAAe,KAAK,EAAY,GAAG,EAAE,MAAM,aAAa,CAAC;AAM3F,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAExD,MAAM,WAAW,uBAAuB,CAAC,CAAC,SAAS,MAAM;IACvD,cAAc,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC;IACzD,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnF,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,oBAAoB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACnD,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CAC7C;AAED,MAAM,WAAW,wBAAwB,CAAC,CAAC,SAAS,MAAM;IACxD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG;QAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC7E,cAAc,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC;IACxG,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvG,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;IAC7D,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC9D;AAED,MAAM,WAAW,wBAAwB,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,uBAAuB,CAAC,CAAC,CAAC;CAAG;AAEjG,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,QAE5E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSelection.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/useSelection.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAgB,MAAM,aAAa,CAAC;AAGvD,MAAM,WAAW,yBAAyB,CAAC,CAAC,SAAS,MAAM;IACzD,gBAAgB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;CAC5B;AAED,eAAO,MAAM,YAAY;KAAI,CAAC,SAAS,MAAM,cAAc,KAAK,CAAC,CAAC,CAAC;;
|
|
1
|
+
{"version":3,"file":"useSelection.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/useSelection.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAgB,MAAM,aAAa,CAAC;AAGvD,MAAM,WAAW,yBAAyB,CAAC,CAAC,SAAS,MAAM;IACzD,gBAAgB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;CAC5B;AAED,eAAO,MAAM,YAAY;KAAI,CAAC,SAAS,MAAM,cAAc,KAAK,CAAC,CAAC,CAAC;;CAelE,CAAC"}
|
|
@@ -5,6 +5,7 @@ import 'regenerator-runtime/runtime';
|
|
|
5
5
|
import Grid from './Grid';
|
|
6
6
|
import { cellStyleHelper, Loading } from './ui/components/Table';
|
|
7
7
|
export * from './GirdOptions';
|
|
8
|
+
export type { GridToolbarAction } from './Grid';
|
|
8
9
|
export type { Row } from 'react-table';
|
|
9
10
|
export default Grid;
|
|
10
11
|
export { cellStyleHelper, Loading };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAC7B,OAAO,6BAA6B,CAAC;AACrC,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACjE,cAAc,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAC7B,OAAO,6BAA6B,CAAC;AACrC,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACjE,cAAc,eAAe,CAAC;AAC9B,YAAY,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAGhD,YAAY,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEvC,eAAe,IAAI,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC"}
|
|
@@ -40,10 +40,28 @@ export interface ToolbarProps {
|
|
|
40
40
|
* A custom element to be rendered in the header toolbar
|
|
41
41
|
*/
|
|
42
42
|
customElement?: any;
|
|
43
|
+
/**
|
|
44
|
+
* The number of action buttons to show before collapsing the rest into a dropdown menu.
|
|
45
|
+
* When there are more actions than this count, the last visible position is reserved for the menu button.
|
|
46
|
+
* @default 3
|
|
47
|
+
*/
|
|
48
|
+
actionsVisibleCount?: number;
|
|
49
|
+
/**
|
|
50
|
+
* The position of the toolbar actions.
|
|
51
|
+
* 'right' places them on the right side (default).
|
|
52
|
+
* 'left' places them to the left of the custom element.
|
|
53
|
+
* @default 'right'
|
|
54
|
+
*/
|
|
55
|
+
actionsPosition?: 'left' | 'right';
|
|
56
|
+
/**
|
|
57
|
+
* Whether any rows are currently selected.
|
|
58
|
+
* If false, action buttons will be hidden.
|
|
59
|
+
*/
|
|
60
|
+
hasSelection?: boolean;
|
|
43
61
|
}
|
|
44
62
|
/**
|
|
45
63
|
* The toolbar component for the grid, it holds filters and general action buttons.
|
|
46
64
|
* If there are filters specified it is expandable, otherwise it its a simple toolbar.
|
|
47
65
|
*/
|
|
48
|
-
export default function Toolbar({ globalFilter, filters, actions, views, onViewSwitch, selectedView, customElement, }: ToolbarProps): React.JSX.Element;
|
|
66
|
+
export default function Toolbar({ globalFilter, filters, actions, views, onViewSwitch, selectedView, customElement, actionsVisibleCount, actionsPosition, hasSelection, }: ToolbarProps): React.JSX.Element;
|
|
49
67
|
//# sourceMappingURL=Toolbar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/Toolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAA+B,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/Toolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAA+B,MAAM,OAAO,CAAC;AAkBtE,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,YAAY,CAAC,EAAE;QACb,eAAe,EAAE,CAAC,WAAW,EAAE,GAAG,KAAK,IAAI,CAAC;QAC5C,KAAK,EAAE,GAAG,CAAC;KACZ,CAAC;IACF;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB;;OAEG;IACH,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,CAAA;KAAE,EAAE,CAAC;IAC7C;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;QAAC,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAEnJ;;OAEG;IACH,aAAa,CAAC,EAAE,GAAG,CAAC;IAEpB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAEnC;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAC9B,YAAY,EACZ,OAAY,EACZ,OAAY,EACZ,KAAU,EACV,YAAuB,EACvB,YAAY,EACZ,aAAa,EACb,mBAAuB,EACvB,eAAyB,EACzB,YAAoB,GACrB,EAAE,YAAY,qBA2Id"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crystaldesign/grid",
|
|
3
|
-
"version": "26.2.0-beta.
|
|
3
|
+
"version": "26.2.0-beta.4",
|
|
4
4
|
"license": "COMMERCIAL",
|
|
5
5
|
"devDependencies": {
|
|
6
6
|
"@mui/x-date-pickers": "^7.22.0",
|
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
"react-dom": "18.3.1"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@crystaldesign/content-box": "26.2.0-beta.
|
|
16
|
-
"@crystaldesign/rtf-editor": "26.2.0-beta.
|
|
17
|
-
"@crystaldesign/searchfield": "26.2.0-beta.
|
|
15
|
+
"@crystaldesign/content-box": "26.2.0-beta.4",
|
|
16
|
+
"@crystaldesign/rtf-editor": "26.2.0-beta.4",
|
|
17
|
+
"@crystaldesign/searchfield": "26.2.0-beta.4",
|
|
18
18
|
"@hello-pangea/dnd": "^18.0.1",
|
|
19
19
|
"@mui/icons-material": "^6.1.5",
|
|
20
20
|
"@mui/lab": "^6.0.0-beta.13",
|
|
@@ -40,5 +40,5 @@
|
|
|
40
40
|
},
|
|
41
41
|
"module": "build/esm/index.js",
|
|
42
42
|
"types": "./build/types/grid/src/index.d.ts",
|
|
43
|
-
"gitHead": "
|
|
43
|
+
"gitHead": "ecddfa86bdb756f7feb2a688a58c3bab41df93dd"
|
|
44
44
|
}
|