@rowsncolumns/grid 9.0.3 → 13.2.32

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.
Files changed (208) hide show
  1. package/LICENSE.md +100 -0
  2. package/Readme.md +53 -59
  3. package/dist/cjs/Cell.d.ts +35 -0
  4. package/dist/cjs/Cell.d.ts.map +1 -0
  5. package/dist/cjs/Cell.js +29 -0
  6. package/dist/{CellOverlay.d.ts → cjs/CellOverlay.d.ts} +5 -5
  7. package/dist/cjs/CellOverlay.d.ts.map +1 -0
  8. package/dist/cjs/CellOverlay.js +126 -0
  9. package/dist/cjs/Context.d.ts +8 -0
  10. package/dist/cjs/Context.d.ts.map +1 -0
  11. package/dist/cjs/Context.js +13 -0
  12. package/dist/{FillHandle.d.ts → cjs/FillHandle.d.ts} +2 -1
  13. package/dist/cjs/FillHandle.d.ts.map +1 -0
  14. package/dist/cjs/FillHandle.js +26 -0
  15. package/dist/cjs/Grid.d.ts +558 -0
  16. package/dist/cjs/Grid.d.ts.map +1 -0
  17. package/dist/cjs/Grid.js +2446 -0
  18. package/dist/{GridLine.d.ts → cjs/GridLine.d.ts} +2 -1
  19. package/dist/cjs/GridLine.d.ts.map +1 -0
  20. package/dist/cjs/GridLine.js +10 -0
  21. package/dist/cjs/Image.d.ts +11 -0
  22. package/dist/cjs/Image.d.ts.map +1 -0
  23. package/dist/cjs/Image.js +57 -0
  24. package/dist/cjs/MemoizedGrid.d.ts +49 -0
  25. package/dist/cjs/MemoizedGrid.d.ts.map +1 -0
  26. package/dist/cjs/MemoizedGrid.js +105 -0
  27. package/dist/cjs/Selection.d.ts +5 -0
  28. package/dist/cjs/Selection.d.ts.map +1 -0
  29. package/dist/cjs/Selection.js +10 -0
  30. package/dist/{helpers.d.ts → cjs/helpers.d.ts} +59 -39
  31. package/dist/cjs/helpers.d.ts.map +1 -0
  32. package/dist/cjs/helpers.js +1409 -0
  33. package/dist/{hooks → cjs/hooks}/useCopyPaste.d.ts +3 -2
  34. package/dist/cjs/hooks/useCopyPaste.d.ts.map +1 -0
  35. package/dist/cjs/hooks/useCopyPaste.js +230 -0
  36. package/dist/{hooks → cjs/hooks}/useEditable.d.ts +21 -8
  37. package/dist/cjs/hooks/useEditable.d.ts.map +1 -0
  38. package/dist/cjs/hooks/useEditable.js +491 -0
  39. package/dist/{hooks → cjs/hooks}/useFilter.d.ts +3 -2
  40. package/dist/cjs/hooks/useFilter.d.ts.map +1 -0
  41. package/dist/cjs/hooks/useFilter.js +97 -0
  42. package/dist/{hooks → cjs/hooks}/useImage.d.ts +1 -0
  43. package/dist/cjs/hooks/useImage.d.ts.map +1 -0
  44. package/dist/cjs/hooks/useImage.js +80 -0
  45. package/dist/{hooks → cjs/hooks}/usePagination.d.ts +3 -2
  46. package/dist/cjs/hooks/usePagination.d.ts.map +1 -0
  47. package/dist/cjs/hooks/usePagination.js +53 -0
  48. package/dist/{hooks → cjs/hooks}/useSizer.d.ts +28 -29
  49. package/dist/cjs/hooks/useSizer.d.ts.map +1 -0
  50. package/dist/cjs/hooks/useSizer.js +176 -0
  51. package/dist/{hooks → cjs/hooks}/useTooltip.d.ts +2 -1
  52. package/dist/cjs/hooks/useTooltip.d.ts.map +1 -0
  53. package/dist/cjs/hooks/useTooltip.js +82 -0
  54. package/dist/{hooks → cjs/hooks}/useUndo.d.ts +2 -1
  55. package/dist/cjs/hooks/useUndo.d.ts.map +1 -0
  56. package/dist/cjs/hooks/useUndo.js +87 -0
  57. package/dist/cjs/index.d.ts +19 -0
  58. package/dist/cjs/index.d.ts.map +1 -0
  59. package/dist/cjs/index.js +29 -0
  60. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -0
  61. package/dist/{types.d.ts → cjs/types.d.ts} +8 -3
  62. package/dist/cjs/types.d.ts.map +1 -0
  63. package/dist/{types.js → cjs/types.js} +7 -8
  64. package/dist/cjs/utils.d.ts +9 -0
  65. package/dist/cjs/utils.d.ts.map +1 -0
  66. package/dist/cjs/utils.js +58 -0
  67. package/dist/cjs/vitest.config.d.ts +3 -0
  68. package/dist/cjs/vitest.config.d.ts.map +1 -0
  69. package/dist/cjs/vitest.config.js +24 -0
  70. package/dist/esm/Cell.d.ts +35 -0
  71. package/dist/esm/Cell.d.ts.map +1 -0
  72. package/dist/esm/Cell.js +24 -0
  73. package/dist/esm/CellOverlay.d.ts +21 -0
  74. package/dist/esm/CellOverlay.d.ts.map +1 -0
  75. package/dist/esm/CellOverlay.js +120 -0
  76. package/dist/esm/Context.d.ts +8 -0
  77. package/dist/esm/Context.d.ts.map +1 -0
  78. package/dist/esm/Context.js +9 -0
  79. package/dist/esm/FillHandle.d.ts +8 -0
  80. package/dist/esm/FillHandle.d.ts.map +1 -0
  81. package/dist/{FillHandle.js → esm/FillHandle.js} +5 -11
  82. package/dist/esm/Grid.d.ts +558 -0
  83. package/dist/esm/Grid.d.ts.map +1 -0
  84. package/dist/esm/Grid.js +2451 -0
  85. package/dist/esm/GridLine.d.ts +5 -0
  86. package/dist/esm/GridLine.d.ts.map +1 -0
  87. package/dist/esm/GridLine.js +7 -0
  88. package/dist/esm/Image.d.ts +11 -0
  89. package/dist/esm/Image.d.ts.map +1 -0
  90. package/dist/esm/Image.js +53 -0
  91. package/dist/esm/MemoizedGrid.d.ts +49 -0
  92. package/dist/esm/MemoizedGrid.d.ts.map +1 -0
  93. package/dist/esm/MemoizedGrid.js +98 -0
  94. package/dist/esm/Selection.d.ts +5 -0
  95. package/dist/esm/Selection.d.ts.map +1 -0
  96. package/dist/esm/Selection.js +7 -0
  97. package/dist/esm/helpers.d.ts +281 -0
  98. package/dist/esm/helpers.d.ts.map +1 -0
  99. package/dist/esm/helpers.js +1260 -0
  100. package/dist/esm/hooks/useCopyPaste.d.ts +53 -0
  101. package/dist/esm/hooks/useCopyPaste.d.ts.map +1 -0
  102. package/dist/{hooks → esm/hooks}/useCopyPaste.js +40 -46
  103. package/dist/esm/hooks/useEditable.d.ts +253 -0
  104. package/dist/esm/hooks/useEditable.d.ts.map +1 -0
  105. package/dist/esm/hooks/useEditable.js +482 -0
  106. package/dist/esm/hooks/useFilter.d.ts +69 -0
  107. package/dist/esm/hooks/useFilter.d.ts.map +1 -0
  108. package/dist/{hooks → esm/hooks}/useFilter.js +22 -42
  109. package/dist/esm/hooks/useImage.d.ts +13 -0
  110. package/dist/esm/hooks/useImage.d.ts.map +1 -0
  111. package/dist/esm/hooks/useImage.js +76 -0
  112. package/dist/esm/hooks/usePagination.d.ts +69 -0
  113. package/dist/esm/hooks/usePagination.d.ts.map +1 -0
  114. package/dist/esm/hooks/usePagination.js +47 -0
  115. package/dist/esm/hooks/useSizer.d.ts +114 -0
  116. package/dist/esm/hooks/useSizer.d.ts.map +1 -0
  117. package/dist/esm/hooks/useSizer.js +176 -0
  118. package/dist/esm/hooks/useTooltip.d.ts +43 -0
  119. package/dist/esm/hooks/useTooltip.d.ts.map +1 -0
  120. package/dist/esm/hooks/useTooltip.js +80 -0
  121. package/dist/esm/hooks/useUndo.d.ts +36 -0
  122. package/dist/esm/hooks/useUndo.d.ts.map +1 -0
  123. package/dist/{hooks → esm/hooks}/useUndo.js +16 -25
  124. package/dist/esm/index.d.ts +19 -0
  125. package/dist/esm/index.d.ts.map +1 -0
  126. package/dist/esm/index.js +17 -0
  127. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -0
  128. package/dist/esm/types.d.ts +70 -0
  129. package/dist/esm/types.d.ts.map +1 -0
  130. package/dist/esm/types.js +68 -0
  131. package/dist/esm/utils.d.ts +9 -0
  132. package/dist/esm/utils.d.ts.map +1 -0
  133. package/dist/esm/utils.js +104 -0
  134. package/dist/esm/vitest.config.d.ts +3 -0
  135. package/dist/esm/vitest.config.d.ts.map +1 -0
  136. package/dist/esm/vitest.config.js +22 -0
  137. package/package.json +28 -29
  138. package/dist/Cell.d.ts +0 -23
  139. package/dist/Cell.js +0 -55
  140. package/dist/Cell.js.map +0 -1
  141. package/dist/CellOverlay.js +0 -116
  142. package/dist/CellOverlay.js.map +0 -1
  143. package/dist/FillHandle.js.map +0 -1
  144. package/dist/Grid.d.ts +0 -385
  145. package/dist/Grid.js +0 -1684
  146. package/dist/Grid.js.map +0 -1
  147. package/dist/GridLine.js +0 -13
  148. package/dist/GridLine.js.map +0 -1
  149. package/dist/Image.d.ts +0 -8
  150. package/dist/Image.js +0 -50
  151. package/dist/Image.js.map +0 -1
  152. package/dist/Selection.d.ts +0 -4
  153. package/dist/Selection.js +0 -9
  154. package/dist/Selection.js.map +0 -1
  155. package/dist/helpers.js +0 -1033
  156. package/dist/helpers.js.map +0 -1
  157. package/dist/hooks/useCopyPaste.js.map +0 -1
  158. package/dist/hooks/useEditable.js +0 -477
  159. package/dist/hooks/useEditable.js.map +0 -1
  160. package/dist/hooks/useFilter.js.map +0 -1
  161. package/dist/hooks/useImage.js +0 -42
  162. package/dist/hooks/useImage.js.map +0 -1
  163. package/dist/hooks/usePagination.js +0 -73
  164. package/dist/hooks/usePagination.js.map +0 -1
  165. package/dist/hooks/useSelection.d.ts +0 -175
  166. package/dist/hooks/useSelection.js +0 -980
  167. package/dist/hooks/useSelection.js.map +0 -1
  168. package/dist/hooks/useSizer.js +0 -150
  169. package/dist/hooks/useSizer.js.map +0 -1
  170. package/dist/hooks/useTooltip.js +0 -106
  171. package/dist/hooks/useTooltip.js.map +0 -1
  172. package/dist/hooks/useTouch.d.ts +0 -21
  173. package/dist/hooks/useTouch.js +0 -73
  174. package/dist/hooks/useTouch.js.map +0 -1
  175. package/dist/hooks/useUndo.js.map +0 -1
  176. package/dist/index.d.ts +0 -25
  177. package/dist/index.js +0 -61
  178. package/dist/index.js.map +0 -1
  179. package/dist/types.js.map +0 -1
  180. package/dist/utils.d.ts +0 -8
  181. package/dist/utils.js +0 -153
  182. package/dist/utils.js.map +0 -1
  183. package/src/Cell.tsx +0 -100
  184. package/src/CellOverlay.tsx +0 -191
  185. package/src/FillHandle.tsx +0 -37
  186. package/src/Grid.tsx +0 -2677
  187. package/src/GridLine.tsx +0 -23
  188. package/src/Image.tsx +0 -43
  189. package/src/Selection.tsx +0 -9
  190. package/src/helpers.ts +0 -1455
  191. package/src/hooks/useCopyPaste.ts +0 -265
  192. package/src/hooks/useEditable.tsx +0 -945
  193. package/src/hooks/useFilter.tsx +0 -233
  194. package/src/hooks/useImage.ts +0 -57
  195. package/src/hooks/usePagination.tsx +0 -153
  196. package/src/hooks/useSelection.ts +0 -1437
  197. package/src/hooks/useSizer.ts +0 -312
  198. package/src/hooks/useTooltip.tsx +0 -172
  199. package/src/hooks/useTouch.ts +0 -116
  200. package/src/hooks/useUndo.ts +0 -134
  201. package/src/index.tsx +0 -46
  202. package/src/tests/Grid.spec.tsx +0 -47
  203. package/src/tests/helpers.test.ts +0 -292
  204. package/src/tests/usePagination.test.ts +0 -28
  205. package/src/tests/useSelection.test.ts +0 -27
  206. package/src/tests/useUndo.test.ts +0 -73
  207. package/src/types.ts +0 -69
  208. 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 | null;
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;