@rowsncolumns/grid 9.0.4 → 13.2.33
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/LICENSE.md +100 -0
- package/Readme.md +53 -59
- package/dist/cjs/Cell.d.ts +35 -0
- package/dist/cjs/Cell.d.ts.map +1 -0
- package/dist/cjs/Cell.js +29 -0
- package/dist/{CellOverlay.d.ts → cjs/CellOverlay.d.ts} +5 -5
- package/dist/cjs/CellOverlay.d.ts.map +1 -0
- package/dist/cjs/CellOverlay.js +126 -0
- package/dist/cjs/Context.d.ts +8 -0
- package/dist/cjs/Context.d.ts.map +1 -0
- package/dist/cjs/Context.js +13 -0
- package/dist/{FillHandle.d.ts → cjs/FillHandle.d.ts} +2 -1
- package/dist/cjs/FillHandle.d.ts.map +1 -0
- package/dist/cjs/FillHandle.js +26 -0
- package/dist/cjs/Grid.d.ts +558 -0
- package/dist/cjs/Grid.d.ts.map +1 -0
- package/dist/cjs/Grid.js +2446 -0
- package/dist/{GridLine.d.ts → cjs/GridLine.d.ts} +2 -1
- package/dist/cjs/GridLine.d.ts.map +1 -0
- package/dist/cjs/GridLine.js +10 -0
- package/dist/cjs/Image.d.ts +11 -0
- package/dist/cjs/Image.d.ts.map +1 -0
- package/dist/cjs/Image.js +57 -0
- package/dist/cjs/MemoizedGrid.d.ts +49 -0
- package/dist/cjs/MemoizedGrid.d.ts.map +1 -0
- package/dist/cjs/MemoizedGrid.js +105 -0
- package/dist/cjs/Selection.d.ts +5 -0
- package/dist/cjs/Selection.d.ts.map +1 -0
- package/dist/cjs/Selection.js +10 -0
- package/dist/{helpers.d.ts → cjs/helpers.d.ts} +59 -39
- package/dist/cjs/helpers.d.ts.map +1 -0
- package/dist/cjs/helpers.js +1409 -0
- package/dist/{hooks → cjs/hooks}/useCopyPaste.d.ts +3 -2
- package/dist/cjs/hooks/useCopyPaste.d.ts.map +1 -0
- package/dist/cjs/hooks/useCopyPaste.js +230 -0
- package/dist/{hooks → cjs/hooks}/useEditable.d.ts +21 -8
- package/dist/cjs/hooks/useEditable.d.ts.map +1 -0
- package/dist/cjs/hooks/useEditable.js +491 -0
- package/dist/{hooks → cjs/hooks}/useFilter.d.ts +3 -2
- package/dist/cjs/hooks/useFilter.d.ts.map +1 -0
- package/dist/cjs/hooks/useFilter.js +97 -0
- package/dist/{hooks → cjs/hooks}/useImage.d.ts +1 -0
- package/dist/cjs/hooks/useImage.d.ts.map +1 -0
- package/dist/cjs/hooks/useImage.js +80 -0
- package/dist/{hooks → cjs/hooks}/usePagination.d.ts +3 -2
- package/dist/cjs/hooks/usePagination.d.ts.map +1 -0
- package/dist/cjs/hooks/usePagination.js +53 -0
- package/dist/{hooks → cjs/hooks}/useSizer.d.ts +28 -29
- package/dist/cjs/hooks/useSizer.d.ts.map +1 -0
- package/dist/cjs/hooks/useSizer.js +176 -0
- package/dist/{hooks → cjs/hooks}/useTooltip.d.ts +2 -1
- package/dist/cjs/hooks/useTooltip.d.ts.map +1 -0
- package/dist/cjs/hooks/useTooltip.js +82 -0
- package/dist/{hooks → cjs/hooks}/useUndo.d.ts +2 -1
- package/dist/cjs/hooks/useUndo.d.ts.map +1 -0
- package/dist/cjs/hooks/useUndo.js +87 -0
- package/dist/cjs/index.d.ts +19 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +29 -0
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -0
- package/dist/{types.d.ts → cjs/types.d.ts} +8 -3
- package/dist/cjs/types.d.ts.map +1 -0
- package/dist/{types.js → cjs/types.js} +7 -8
- package/dist/cjs/utils.d.ts +9 -0
- package/dist/cjs/utils.d.ts.map +1 -0
- package/dist/cjs/utils.js +58 -0
- package/dist/cjs/vitest.config.d.ts +3 -0
- package/dist/cjs/vitest.config.d.ts.map +1 -0
- package/dist/cjs/vitest.config.js +24 -0
- package/dist/esm/Cell.d.ts +35 -0
- package/dist/esm/Cell.d.ts.map +1 -0
- package/dist/esm/Cell.js +24 -0
- package/dist/esm/CellOverlay.d.ts +21 -0
- package/dist/esm/CellOverlay.d.ts.map +1 -0
- package/dist/esm/CellOverlay.js +120 -0
- package/dist/esm/Context.d.ts +8 -0
- package/dist/esm/Context.d.ts.map +1 -0
- package/dist/esm/Context.js +9 -0
- package/dist/esm/FillHandle.d.ts +8 -0
- package/dist/esm/FillHandle.d.ts.map +1 -0
- package/dist/{FillHandle.js → esm/FillHandle.js} +5 -11
- package/dist/esm/Grid.d.ts +558 -0
- package/dist/esm/Grid.d.ts.map +1 -0
- package/dist/esm/Grid.js +2451 -0
- package/dist/esm/GridLine.d.ts +5 -0
- package/dist/esm/GridLine.d.ts.map +1 -0
- package/dist/esm/GridLine.js +7 -0
- package/dist/esm/Image.d.ts +11 -0
- package/dist/esm/Image.d.ts.map +1 -0
- package/dist/esm/Image.js +53 -0
- package/dist/esm/MemoizedGrid.d.ts +49 -0
- package/dist/esm/MemoizedGrid.d.ts.map +1 -0
- package/dist/esm/MemoizedGrid.js +98 -0
- package/dist/esm/Selection.d.ts +5 -0
- package/dist/esm/Selection.d.ts.map +1 -0
- package/dist/esm/Selection.js +7 -0
- package/dist/esm/helpers.d.ts +281 -0
- package/dist/esm/helpers.d.ts.map +1 -0
- package/dist/esm/helpers.js +1260 -0
- package/dist/esm/hooks/useCopyPaste.d.ts +53 -0
- package/dist/esm/hooks/useCopyPaste.d.ts.map +1 -0
- package/dist/{hooks → esm/hooks}/useCopyPaste.js +40 -46
- package/dist/esm/hooks/useEditable.d.ts +253 -0
- package/dist/esm/hooks/useEditable.d.ts.map +1 -0
- package/dist/esm/hooks/useEditable.js +482 -0
- package/dist/esm/hooks/useFilter.d.ts +69 -0
- package/dist/esm/hooks/useFilter.d.ts.map +1 -0
- package/dist/{hooks → esm/hooks}/useFilter.js +22 -42
- package/dist/esm/hooks/useImage.d.ts +13 -0
- package/dist/esm/hooks/useImage.d.ts.map +1 -0
- package/dist/esm/hooks/useImage.js +76 -0
- package/dist/esm/hooks/usePagination.d.ts +69 -0
- package/dist/esm/hooks/usePagination.d.ts.map +1 -0
- package/dist/esm/hooks/usePagination.js +47 -0
- package/dist/esm/hooks/useSizer.d.ts +114 -0
- package/dist/esm/hooks/useSizer.d.ts.map +1 -0
- package/dist/esm/hooks/useSizer.js +176 -0
- package/dist/esm/hooks/useTooltip.d.ts +43 -0
- package/dist/esm/hooks/useTooltip.d.ts.map +1 -0
- package/dist/esm/hooks/useTooltip.js +80 -0
- package/dist/esm/hooks/useUndo.d.ts +36 -0
- package/dist/esm/hooks/useUndo.d.ts.map +1 -0
- package/dist/{hooks → esm/hooks}/useUndo.js +16 -25
- package/dist/esm/index.d.ts +19 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +17 -0
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -0
- package/dist/esm/types.d.ts +70 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +68 -0
- package/dist/esm/utils.d.ts +9 -0
- package/dist/esm/utils.d.ts.map +1 -0
- package/dist/esm/utils.js +104 -0
- package/dist/esm/vitest.config.d.ts +3 -0
- package/dist/esm/vitest.config.d.ts.map +1 -0
- package/dist/esm/vitest.config.js +22 -0
- package/package.json +28 -29
- package/dist/Cell.d.ts +0 -23
- package/dist/Cell.js +0 -55
- package/dist/Cell.js.map +0 -1
- package/dist/CellOverlay.js +0 -116
- package/dist/CellOverlay.js.map +0 -1
- package/dist/FillHandle.js.map +0 -1
- package/dist/Grid.d.ts +0 -385
- package/dist/Grid.js +0 -1684
- package/dist/Grid.js.map +0 -1
- package/dist/GridLine.js +0 -13
- package/dist/GridLine.js.map +0 -1
- package/dist/Image.d.ts +0 -8
- package/dist/Image.js +0 -50
- package/dist/Image.js.map +0 -1
- package/dist/Selection.d.ts +0 -4
- package/dist/Selection.js +0 -9
- package/dist/Selection.js.map +0 -1
- package/dist/helpers.js +0 -1033
- package/dist/helpers.js.map +0 -1
- package/dist/hooks/useCopyPaste.js.map +0 -1
- package/dist/hooks/useEditable.js +0 -477
- package/dist/hooks/useEditable.js.map +0 -1
- package/dist/hooks/useFilter.js.map +0 -1
- package/dist/hooks/useImage.js +0 -42
- package/dist/hooks/useImage.js.map +0 -1
- package/dist/hooks/usePagination.js +0 -73
- package/dist/hooks/usePagination.js.map +0 -1
- package/dist/hooks/useSelection.d.ts +0 -175
- package/dist/hooks/useSelection.js +0 -982
- package/dist/hooks/useSelection.js.map +0 -1
- package/dist/hooks/useSizer.js +0 -150
- package/dist/hooks/useSizer.js.map +0 -1
- package/dist/hooks/useTooltip.js +0 -106
- package/dist/hooks/useTooltip.js.map +0 -1
- package/dist/hooks/useTouch.d.ts +0 -21
- package/dist/hooks/useTouch.js +0 -73
- package/dist/hooks/useTouch.js.map +0 -1
- package/dist/hooks/useUndo.js.map +0 -1
- package/dist/index.d.ts +0 -25
- package/dist/index.js +0 -61
- package/dist/index.js.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/utils.d.ts +0 -8
- package/dist/utils.js +0 -153
- package/dist/utils.js.map +0 -1
- package/src/Cell.tsx +0 -100
- package/src/CellOverlay.tsx +0 -191
- package/src/FillHandle.tsx +0 -37
- package/src/Grid.tsx +0 -2677
- package/src/GridLine.tsx +0 -23
- package/src/Image.tsx +0 -43
- package/src/Selection.tsx +0 -9
- package/src/helpers.ts +0 -1455
- package/src/hooks/useCopyPaste.ts +0 -265
- package/src/hooks/useEditable.tsx +0 -945
- package/src/hooks/useFilter.tsx +0 -233
- package/src/hooks/useImage.ts +0 -57
- package/src/hooks/usePagination.tsx +0 -153
- package/src/hooks/useSelection.ts +0 -1440
- package/src/hooks/useSizer.ts +0 -312
- package/src/hooks/useTooltip.tsx +0 -172
- package/src/hooks/useTouch.ts +0 -116
- package/src/hooks/useUndo.ts +0 -134
- package/src/index.tsx +0 -46
- package/src/tests/Grid.spec.tsx +0 -47
- package/src/tests/helpers.test.ts +0 -292
- package/src/tests/usePagination.test.ts +0 -28
- package/src/tests/useSelection.test.ts +0 -27
- package/src/tests/useUndo.test.ts +0 -73
- package/src/types.ts +0 -69
- package/src/utils.tsx +0 -287
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useImage.js","sourceRoot":"","sources":["../../src/hooks/useImage.ts"],"names":[],"mappings":";;AAAA,iCAA4C;AAc5C,MAAM,QAAQ,GAAG,CAAC,EAAE,GAAG,EAAE,WAAW,EAAiB,EAAE,EAAE;IACvD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAkB,GAAG,EAAE,CAAC,CAAC;QACzD,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,CAAC;KACV,CAAC,CAAC,CAAC;IAEJ,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,IAAI,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;QAEtB,SAAS,MAAM;YACb,QAAQ,CAAC;gBACP,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAC;QACL,CAAC;QACD,SAAS,OAAO;YACd,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAClB,GAAG,IAAI;gBACP,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAC,CAAC;QACN,CAAC;QACD,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrC,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAEvC,WAAW,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC,CAAC;QAC/C,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;QAEd,OAAO,GAAG,EAAE;YACV,GAAG,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACxC,GAAG,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;IAEvB,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,kBAAe,QAAQ,CAAC"}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
const react_1 = __importStar(require("react"));
|
|
27
|
-
/**
|
|
28
|
-
* Pagination hook
|
|
29
|
-
* @param props
|
|
30
|
-
*/
|
|
31
|
-
const usePagination = (props) => {
|
|
32
|
-
const { initialPage = 1, pageSize = 10, total = 0, onChange, component = PaginationComponent, } = props !== null && props !== void 0 ? props : {};
|
|
33
|
-
const [currentPage, setCurrentPage] = (0, react_1.useState)(initialPage);
|
|
34
|
-
const totalPages = Math.ceil(total / pageSize);
|
|
35
|
-
const nextPage = () => setCurrentPage((prev) => Math.min(prev + 1, totalPages));
|
|
36
|
-
const prevPage = () => setCurrentPage((prev) => Math.max(prev - 1, 1));
|
|
37
|
-
const goToFirst = () => setCurrentPage(1);
|
|
38
|
-
const goToLast = () => setCurrentPage(totalPages);
|
|
39
|
-
const goToPage = (page) => setCurrentPage(page);
|
|
40
|
-
(0, react_1.useEffect)(() => {
|
|
41
|
-
onChange && onChange(currentPage);
|
|
42
|
-
}, [currentPage]);
|
|
43
|
-
const pageProps = {
|
|
44
|
-
currentPage,
|
|
45
|
-
totalPages,
|
|
46
|
-
nextPage,
|
|
47
|
-
prevPage,
|
|
48
|
-
goToFirst,
|
|
49
|
-
goToLast,
|
|
50
|
-
goToPage,
|
|
51
|
-
pageSize,
|
|
52
|
-
};
|
|
53
|
-
const paginationComponent = react_1.default.createElement(component, pageProps);
|
|
54
|
-
return {
|
|
55
|
-
paginationComponent,
|
|
56
|
-
...pageProps,
|
|
57
|
-
};
|
|
58
|
-
};
|
|
59
|
-
const PaginationComponent = ({ currentPage, goToFirst, goToLast, goToPage, totalPages, nextPage, prevPage, }) => {
|
|
60
|
-
const pages = [];
|
|
61
|
-
for (let i = 1; i <= totalPages; i++) {
|
|
62
|
-
const isActive = currentPage === i;
|
|
63
|
-
pages.push(react_1.default.createElement("button", { onClick: () => goToPage(i) }, isActive ? react_1.default.createElement("strong", null, i) : i));
|
|
64
|
-
}
|
|
65
|
-
return (react_1.default.createElement("div", null,
|
|
66
|
-
react_1.default.createElement("button", { onClick: goToFirst, disabled: currentPage === 1 }, "First page"),
|
|
67
|
-
react_1.default.createElement("button", { onClick: prevPage, disabled: currentPage === 1 }, "Prev page"),
|
|
68
|
-
pages,
|
|
69
|
-
react_1.default.createElement("button", { onClick: nextPage, disabled: currentPage === totalPages }, "Next page"),
|
|
70
|
-
react_1.default.createElement("button", { onClick: goToLast, disabled: currentPage === totalPages }, "Last page")));
|
|
71
|
-
};
|
|
72
|
-
exports.default = usePagination;
|
|
73
|
-
//# sourceMappingURL=usePagination.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"usePagination.js","sourceRoot":"","sources":["../../src/hooks/usePagination.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAmD;AAuEnD;;;GAGG;AACH,MAAM,aAAa,GAAG,CAAC,KAAsB,EAAqB,EAAE;IAClE,MAAM,EACJ,WAAW,GAAG,CAAC,EACf,QAAQ,GAAG,EAAE,EACb,KAAK,GAAG,CAAC,EACT,QAAQ,EACR,SAAS,GAAG,mBAAmB,GAChC,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC;IAChB,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAS,WAAW,CAAC,CAAC;IACpE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,GAAG,EAAE,CACpB,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAExD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,QAAQ,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,MAAM,SAAS,GAAG;QAChB,WAAW;QACX,UAAU;QACV,QAAQ;QACR,QAAQ;QACR,SAAS;QACT,QAAQ;QACR,QAAQ;QACR,QAAQ;KACT,CAAC;IAEF,MAAM,mBAAmB,GAAG,eAAK,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAEtE,OAAO;QACL,mBAAmB;QACnB,GAAG,SAAS;KACb,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAuC,CAAC,EAC/D,WAAW,EACX,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,EAAE,EAAE;QACpC,MAAM,QAAQ,GAAG,WAAW,KAAK,CAAC,CAAC;QACnC,KAAK,CAAC,IAAI,CACR,0CAAQ,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAC/B,QAAQ,CAAC,CAAC,CAAC,8CAAS,CAAC,CAAU,CAAC,CAAC,CAAC,CAAC,CAC7B,CACV,CAAC;KACH;IACD,OAAO,CACL;QACE,0CAAQ,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,KAAK,CAAC,iBAE9C;QACT,0CAAQ,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,KAAK,CAAC,gBAE7C;QACR,KAAK;QACN,0CAAQ,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,KAAK,UAAU,gBAEtD;QACT,0CAAQ,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,KAAK,UAAU,gBAEtD,CACL,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,aAAa,CAAC"}
|
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { SelectionArea, CellInterface, GridRef, AreaProps } from "./../Grid";
|
|
3
|
-
import { HiddenType } from "./../helpers";
|
|
4
|
-
import { SelectionPolicy } from "./../types";
|
|
5
|
-
export interface UseSelectionOptions {
|
|
6
|
-
/**
|
|
7
|
-
* Access grid functions
|
|
8
|
-
*/
|
|
9
|
-
gridRef: React.MutableRefObject<GridRef | null>;
|
|
10
|
-
/**
|
|
11
|
-
* Initial selections
|
|
12
|
-
*/
|
|
13
|
-
initialSelections?: SelectionArea[];
|
|
14
|
-
/**
|
|
15
|
-
* Option to set 0,0 as initially selected cell
|
|
16
|
-
*/
|
|
17
|
-
initialActiveCell?: CellInterface | null;
|
|
18
|
-
/**
|
|
19
|
-
* No of columns in the grid
|
|
20
|
-
*/
|
|
21
|
-
columnCount?: number;
|
|
22
|
-
/**
|
|
23
|
-
* No of rows in the grid
|
|
24
|
-
*/
|
|
25
|
-
rowCount?: number;
|
|
26
|
-
/**
|
|
27
|
-
* Allow deselect a selected area
|
|
28
|
-
*/
|
|
29
|
-
allowDeselectSelection?: boolean;
|
|
30
|
-
/**
|
|
31
|
-
* onFill
|
|
32
|
-
*/
|
|
33
|
-
onFill?: (activeCell: CellInterface, selection: SelectionArea | null, selections: SelectionArea[]) => void;
|
|
34
|
-
/**
|
|
35
|
-
* Hidden rows
|
|
36
|
-
*/
|
|
37
|
-
isHiddenRow?: HiddenType;
|
|
38
|
-
/**
|
|
39
|
-
* Hidden columns
|
|
40
|
-
*/
|
|
41
|
-
isHiddenColumn?: HiddenType;
|
|
42
|
-
/**
|
|
43
|
-
* Always scroll to active cell
|
|
44
|
-
*/
|
|
45
|
-
alwaysScrollToActiveCell?: boolean;
|
|
46
|
-
/**
|
|
47
|
-
* Top bound of selection
|
|
48
|
-
*/
|
|
49
|
-
selectionTopBound?: number;
|
|
50
|
-
/**
|
|
51
|
-
* Bottom bound
|
|
52
|
-
*/
|
|
53
|
-
selectionBottomBound?: number;
|
|
54
|
-
/**
|
|
55
|
-
* Left bound
|
|
56
|
-
*/
|
|
57
|
-
selectionLeftBound?: number;
|
|
58
|
-
/**
|
|
59
|
-
* Right bound
|
|
60
|
-
*/
|
|
61
|
-
selectionRightBound?: number;
|
|
62
|
-
/**
|
|
63
|
-
* merged cells
|
|
64
|
-
*/
|
|
65
|
-
mergedCells?: AreaProps[];
|
|
66
|
-
/**
|
|
67
|
-
* Mousedown
|
|
68
|
-
*/
|
|
69
|
-
mouseDownInterceptor?: (e: React.MouseEvent<HTMLDivElement>, coords: CellInterface, start: React.MutableRefObject<CellInterface | null>, end: React.MutableRefObject<CellInterface | null>) => boolean | undefined;
|
|
70
|
-
mouseMoveInterceptor?: (e: globalThis.MouseEvent, coords: CellInterface, start: React.MutableRefObject<CellInterface | null>, end: React.MutableRefObject<CellInterface | null>) => boolean | undefined;
|
|
71
|
-
canSelectionSpanMergedCells?: (start: CellInterface, end: CellInterface) => boolean;
|
|
72
|
-
/**
|
|
73
|
-
* Selection policy
|
|
74
|
-
*/
|
|
75
|
-
selectionPolicy?: SelectionPolicy;
|
|
76
|
-
/**
|
|
77
|
-
* Value getter
|
|
78
|
-
*/
|
|
79
|
-
getValue: (cell: CellInterface) => string | number | undefined;
|
|
80
|
-
/**
|
|
81
|
-
* New selection mode
|
|
82
|
-
*/
|
|
83
|
-
newSelectionMode?: NewSelectionMode;
|
|
84
|
-
/**
|
|
85
|
-
* When selection is moved
|
|
86
|
-
*/
|
|
87
|
-
onSelectionMove?: (from: SelectionArea, to: SelectionArea) => void;
|
|
88
|
-
}
|
|
89
|
-
export type NewSelectionMode = "clear" | "modify" | "append";
|
|
90
|
-
export interface SelectionResults {
|
|
91
|
-
/**
|
|
92
|
-
* Active selected cell
|
|
93
|
-
*/
|
|
94
|
-
activeCell: CellInterface | null;
|
|
95
|
-
/**
|
|
96
|
-
* Use this to invoke a new selection. All old selection will be cleared
|
|
97
|
-
*/
|
|
98
|
-
newSelection: (coords: CellInterface) => void;
|
|
99
|
-
/**
|
|
100
|
-
* Use this to update selections without clearning old selection.
|
|
101
|
-
*/
|
|
102
|
-
setSelections: (selections: SelectionArea[] | ((selections: SelectionArea[]) => SelectionArea[])) => void;
|
|
103
|
-
/**
|
|
104
|
-
* Modify selectio
|
|
105
|
-
*/
|
|
106
|
-
modifySelection: (coords: CellInterface) => void;
|
|
107
|
-
/**
|
|
108
|
-
* Set the currently active cell
|
|
109
|
-
*/
|
|
110
|
-
setActiveCell: (coords: CellInterface | null, shouldScroll?: boolean) => void;
|
|
111
|
-
/**
|
|
112
|
-
* Only saves internal state
|
|
113
|
-
*/
|
|
114
|
-
setActiveCellState: (coords: CellInterface | null) => void;
|
|
115
|
-
/**
|
|
116
|
-
* Array of all selection bounds
|
|
117
|
-
*/
|
|
118
|
-
selections: SelectionArea[];
|
|
119
|
-
/**
|
|
120
|
-
* Handler for mousedown, use to set activeCell
|
|
121
|
-
*/
|
|
122
|
-
onMouseDown: (e: React.MouseEvent<HTMLDivElement>) => void;
|
|
123
|
-
/**
|
|
124
|
-
* Used to move selections based on pressed key
|
|
125
|
-
*/
|
|
126
|
-
onKeyDown: (e: React.KeyboardEvent<HTMLElement>) => void;
|
|
127
|
-
/**
|
|
128
|
-
* Mousedown event on fillhandle
|
|
129
|
-
*/
|
|
130
|
-
fillHandleProps?: Record<string, (e: any) => void>;
|
|
131
|
-
/**
|
|
132
|
-
*
|
|
133
|
-
* Fill selections
|
|
134
|
-
*/
|
|
135
|
-
fillSelection: SelectionArea | undefined;
|
|
136
|
-
/**
|
|
137
|
-
* Clears the last selection
|
|
138
|
-
*/
|
|
139
|
-
clearLastSelection: () => void;
|
|
140
|
-
/**
|
|
141
|
-
* Select all cells
|
|
142
|
-
*/
|
|
143
|
-
selectAll: () => void;
|
|
144
|
-
/**
|
|
145
|
-
* Add a new selection
|
|
146
|
-
*/
|
|
147
|
-
appendSelection: (start: CellInterface, end: CellInterface) => void;
|
|
148
|
-
/**
|
|
149
|
-
* Clear all current selections
|
|
150
|
-
*/
|
|
151
|
-
clearSelections: () => void;
|
|
152
|
-
/**
|
|
153
|
-
* On Selection mousedown
|
|
154
|
-
*/
|
|
155
|
-
onSelectionMouseDown?: (e: React.MouseEvent<HTMLDivElement>, cell: CellInterface | undefined, selection: SelectionArea | undefined, index: number | undefined, shouldClamp?: boolean) => void;
|
|
156
|
-
/**
|
|
157
|
-
* Boolean to indicate if a selection is being dragged
|
|
158
|
-
*/
|
|
159
|
-
isDragging?: boolean;
|
|
160
|
-
/**
|
|
161
|
-
* Currently dragged selection
|
|
162
|
-
*/
|
|
163
|
-
draggedSelection?: SelectionArea;
|
|
164
|
-
/**
|
|
165
|
-
* The selection that user selected before beginning
|
|
166
|
-
* the drag
|
|
167
|
-
*/
|
|
168
|
-
initialDraggedSelection?: SelectionArea;
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* Hook to enable selection in datagrid
|
|
172
|
-
* @param initialSelection
|
|
173
|
-
*/
|
|
174
|
-
declare const useSelection: ({ gridRef, initialActiveCell, initialSelections, columnCount, rowCount, selectionPolicy, newSelectionMode, allowDeselectSelection, onFill, isHiddenRow, isHiddenColumn, alwaysScrollToActiveCell, selectionTopBound, selectionBottomBound, selectionLeftBound, selectionRightBound, mouseDownInterceptor, mouseMoveInterceptor, mergedCells, canSelectionSpanMergedCells, getValue, onSelectionMove, }: UseSelectionOptions) => SelectionResults;
|
|
175
|
-
export default useSelection;
|