m2mui-datasheet 4.0.0 → 4.0.1
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/Cell.d.ts +5 -4
- package/Cell.js +14 -28
- package/Cell.js.map +1 -1
- package/Controller.d.ts +5 -1
- package/Controller.js +2 -8
- package/Controller.js.map +1 -1
- package/CustomCell.js +4 -5
- package/CustomCell.js.map +1 -1
- package/DataSheet.d.ts +2 -4
- package/DataSheet.js +21 -39
- package/DataSheet.js.map +1 -1
- package/DataSheetCheckbox.d.ts +4 -1
- package/DataSheetCheckbox.js +6 -14
- package/DataSheetCheckbox.js.map +1 -1
- package/DataSheetInput.d.ts +3 -1
- package/DataSheetInput.js +1 -5
- package/DataSheetInput.js.map +1 -1
- package/DataSheetSelect.d.ts +5 -1
- package/DataSheetSelect.js +1 -5
- package/DataSheetSelect.js.map +1 -1
- package/InnerElement.d.ts +1 -1
- package/InnerElement.js +13 -24
- package/InnerElement.js.map +1 -1
- package/README.md +1 -78
- package/cjs/Cell.js +11 -29
- package/cjs/Cell.js.map +1 -1
- package/cjs/Controller.js +2 -13
- package/cjs/Controller.js.map +1 -1
- package/cjs/CustomCell.js +5 -16
- package/cjs/CustomCell.js.map +1 -1
- package/cjs/DataSheet.js +55 -55
- package/cjs/DataSheet.js.map +1 -1
- package/cjs/DataSheetCheckbox.js +3 -13
- package/cjs/DataSheetCheckbox.js.map +1 -1
- package/cjs/DataSheetInput.js +2 -11
- package/cjs/DataSheetInput.js.map +1 -1
- package/cjs/DataSheetSelect.js +2 -11
- package/cjs/DataSheetSelect.js.map +1 -1
- package/cjs/InnerElement.js +8 -24
- package/cjs/InnerElement.js.map +1 -1
- package/cjs/index.js +0 -6
- package/cjs/index.js.map +1 -1
- package/cjs/useOnClickOutside.js +3 -11
- package/cjs/useOnClickOutside.js.map +1 -1
- package/esm/Cell.js +14 -28
- package/esm/Cell.js.map +1 -1
- package/esm/Controller.js +2 -8
- package/esm/Controller.js.map +1 -1
- package/esm/CustomCell.js +4 -5
- package/esm/CustomCell.js.map +1 -1
- package/esm/DataSheet.js +21 -39
- package/esm/DataSheet.js.map +1 -1
- package/esm/DataSheetCheckbox.js +6 -14
- package/esm/DataSheetCheckbox.js.map +1 -1
- package/esm/DataSheetInput.js +1 -5
- package/esm/DataSheetInput.js.map +1 -1
- package/esm/DataSheetSelect.js +1 -5
- package/esm/DataSheetSelect.js.map +1 -1
- package/esm/InnerElement.js +13 -24
- package/esm/InnerElement.js.map +1 -1
- package/esm/index.js.map +1 -1
- package/esm/useOnClickOutside.js +3 -8
- package/esm/useOnClickOutside.js.map +1 -1
- package/index.js.map +1 -1
- package/package.json +24 -44
- package/types/Cell.d.ts +5 -4
- package/types/Controller.d.ts +5 -1
- package/types/DataSheet.d.ts +2 -4
- package/types/DataSheetCheckbox.d.ts +4 -1
- package/types/DataSheetInput.d.ts +3 -1
- package/types/DataSheetSelect.d.ts +5 -1
- package/types/InnerElement.d.ts +1 -1
- package/types/useOnClickOutside.d.ts +1 -1
- package/useOnClickOutside.d.ts +1 -1
- package/useOnClickOutside.js +3 -8
- package/useOnClickOutside.js.map +1 -1
package/DataSheet.js
CHANGED
|
@@ -1,38 +1,32 @@
|
|
|
1
1
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
-
|
|
3
2
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
4
|
-
|
|
5
3
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
6
|
-
|
|
4
|
+
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
7
5
|
import { Controller, DownloadButton } from "./Controller";
|
|
8
6
|
import { CustomCell } from "./CustomCell";
|
|
9
|
-
import { VariableSizeGrid as Grid } from "react-window";
|
|
10
7
|
import { InnerElement, InnerElementContext } from "./InnerElement";
|
|
8
|
+
import { VariableSizeGrid } from "react-window";
|
|
11
9
|
import { useOnClickOutside } from "./useOnClickOutside";
|
|
12
10
|
import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
13
11
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
14
|
-
|
|
12
|
+
var Grid = VariableSizeGrid;
|
|
15
13
|
var paste = /*#__PURE__*/function () {
|
|
16
14
|
var _ref = _asyncToGenerator(function* () {
|
|
17
15
|
var text = yield navigator.clipboard.readText();
|
|
18
16
|
return text;
|
|
19
17
|
});
|
|
20
|
-
|
|
21
18
|
return function paste() {
|
|
22
19
|
return _ref.apply(this, arguments);
|
|
23
20
|
};
|
|
24
21
|
}();
|
|
25
|
-
|
|
26
22
|
var copy = /*#__PURE__*/function () {
|
|
27
23
|
var _ref2 = _asyncToGenerator(function* (text) {
|
|
28
24
|
yield navigator.clipboard.writeText(text);
|
|
29
25
|
});
|
|
30
|
-
|
|
31
26
|
return function copy(_x) {
|
|
32
27
|
return _ref2.apply(this, arguments);
|
|
33
28
|
};
|
|
34
29
|
}();
|
|
35
|
-
|
|
36
30
|
export var DataSheet = _ref3 => {
|
|
37
31
|
var {
|
|
38
32
|
data,
|
|
@@ -55,6 +49,7 @@ export var DataSheet = _ref3 => {
|
|
|
55
49
|
}, [data, columns]);
|
|
56
50
|
var history = useRef([]);
|
|
57
51
|
useEffect(() => {
|
|
52
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
58
53
|
history.current.push(JSON.parse(JSON.stringify(data)));
|
|
59
54
|
}, [data]);
|
|
60
55
|
var handleChangeCheckbox = useCallback(event => {
|
|
@@ -68,6 +63,7 @@ export var DataSheet = _ref3 => {
|
|
|
68
63
|
var {
|
|
69
64
|
key
|
|
70
65
|
} = columns[y];
|
|
66
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
71
67
|
var copy = JSON.parse(JSON.stringify(data));
|
|
72
68
|
var {
|
|
73
69
|
checked
|
|
@@ -88,6 +84,7 @@ export var DataSheet = _ref3 => {
|
|
|
88
84
|
var {
|
|
89
85
|
key
|
|
90
86
|
} = columns[y];
|
|
87
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
91
88
|
var copy = JSON.parse(JSON.stringify(data));
|
|
92
89
|
var {
|
|
93
90
|
value
|
|
@@ -97,10 +94,10 @@ export var DataSheet = _ref3 => {
|
|
|
97
94
|
});
|
|
98
95
|
history.current.push(copy);
|
|
99
96
|
}, [columns, data]);
|
|
97
|
+
|
|
100
98
|
/**
|
|
101
99
|
* Select
|
|
102
100
|
*/
|
|
103
|
-
|
|
104
101
|
var {
|
|
105
102
|
current: initialSelection
|
|
106
103
|
} = useRef({
|
|
@@ -141,11 +138,8 @@ export var DataSheet = _ref3 => {
|
|
|
141
138
|
row: _row,
|
|
142
139
|
column: _column
|
|
143
140
|
} = event.currentTarget.dataset;
|
|
144
|
-
|
|
145
141
|
var _x2 = parseInt(_row, 10);
|
|
146
|
-
|
|
147
142
|
var _y = parseInt(_column, 10);
|
|
148
|
-
|
|
149
143
|
setSelection(prev => {
|
|
150
144
|
if (prev.active === true) return prev;
|
|
151
145
|
return {
|
|
@@ -172,7 +166,6 @@ export var DataSheet = _ref3 => {
|
|
|
172
166
|
var y = parseInt(column, 10);
|
|
173
167
|
setSelection(prev => {
|
|
174
168
|
if (prev.active === false) return prev;
|
|
175
|
-
|
|
176
169
|
if (prev.type === "cell") {
|
|
177
170
|
return _extends({}, prev, {
|
|
178
171
|
end: {
|
|
@@ -181,7 +174,6 @@ export var DataSheet = _ref3 => {
|
|
|
181
174
|
}
|
|
182
175
|
});
|
|
183
176
|
}
|
|
184
|
-
|
|
185
177
|
if (prev.type === "column") {
|
|
186
178
|
return _extends({}, prev, {
|
|
187
179
|
end: {
|
|
@@ -190,7 +182,6 @@ export var DataSheet = _ref3 => {
|
|
|
190
182
|
}
|
|
191
183
|
});
|
|
192
184
|
}
|
|
193
|
-
|
|
194
185
|
if (prev.type === "row") {
|
|
195
186
|
return _extends({}, prev, {
|
|
196
187
|
end: {
|
|
@@ -199,7 +190,6 @@ export var DataSheet = _ref3 => {
|
|
|
199
190
|
}
|
|
200
191
|
});
|
|
201
192
|
}
|
|
202
|
-
|
|
203
193
|
return prev;
|
|
204
194
|
});
|
|
205
195
|
}, []);
|
|
@@ -227,8 +217,8 @@ export var DataSheet = _ref3 => {
|
|
|
227
217
|
});
|
|
228
218
|
}
|
|
229
219
|
}, [handleShiftKeyUp]);
|
|
230
|
-
/** Column */
|
|
231
220
|
|
|
221
|
+
/** Column */
|
|
232
222
|
var handleSelectColumn = useCallback(event => {
|
|
233
223
|
var {
|
|
234
224
|
column
|
|
@@ -287,8 +277,8 @@ export var DataSheet = _ref3 => {
|
|
|
287
277
|
});
|
|
288
278
|
});
|
|
289
279
|
}, []);
|
|
290
|
-
/** Row */
|
|
291
280
|
|
|
281
|
+
/** Row */
|
|
292
282
|
var handleSelectRow = useCallback(event => {
|
|
293
283
|
var {
|
|
294
284
|
row
|
|
@@ -347,6 +337,7 @@ export var DataSheet = _ref3 => {
|
|
|
347
337
|
});
|
|
348
338
|
});
|
|
349
339
|
}, []);
|
|
340
|
+
|
|
350
341
|
/** All */
|
|
351
342
|
|
|
352
343
|
var handleSelectAll = useCallback(() => {
|
|
@@ -383,10 +374,10 @@ export var DataSheet = _ref3 => {
|
|
|
383
374
|
var negY = current.x <= start.x && current.x >= end.x;
|
|
384
375
|
return posX && posY || negX && posY || negX && negY || posX && negY;
|
|
385
376
|
}, [selection]);
|
|
377
|
+
|
|
386
378
|
/**
|
|
387
379
|
* Keycode
|
|
388
380
|
*/
|
|
389
|
-
|
|
390
381
|
var handleKeyDown = useCallback(event => {
|
|
391
382
|
switch (event.key) {
|
|
392
383
|
case "ArrowUp":
|
|
@@ -406,7 +397,6 @@ export var DataSheet = _ref3 => {
|
|
|
406
397
|
});
|
|
407
398
|
break;
|
|
408
399
|
}
|
|
409
|
-
|
|
410
400
|
case "ArrowRight":
|
|
411
401
|
setSelection(prev => {
|
|
412
402
|
if (prev.start.y === columns.length - 1) return prev;
|
|
@@ -422,7 +412,6 @@ export var DataSheet = _ref3 => {
|
|
|
422
412
|
});
|
|
423
413
|
});
|
|
424
414
|
break;
|
|
425
|
-
|
|
426
415
|
case "ArrowDown":
|
|
427
416
|
setSelection(prev => {
|
|
428
417
|
if (prev.start.x === data.length - 1) return prev;
|
|
@@ -438,7 +427,6 @@ export var DataSheet = _ref3 => {
|
|
|
438
427
|
});
|
|
439
428
|
});
|
|
440
429
|
break;
|
|
441
|
-
|
|
442
430
|
case "ArrowLeft":
|
|
443
431
|
setSelection(prev => {
|
|
444
432
|
if (prev.start.y === 0) return prev;
|
|
@@ -454,7 +442,6 @@ export var DataSheet = _ref3 => {
|
|
|
454
442
|
});
|
|
455
443
|
});
|
|
456
444
|
break;
|
|
457
|
-
|
|
458
445
|
default:
|
|
459
446
|
break;
|
|
460
447
|
}
|
|
@@ -464,7 +451,6 @@ export var DataSheet = _ref3 => {
|
|
|
464
451
|
var _ref5 = _asyncToGenerator(function* () {
|
|
465
452
|
if (selection.start.x > -1 && selection.start.y > -1) {
|
|
466
453
|
var text = yield paste();
|
|
467
|
-
|
|
468
454
|
if (text) {
|
|
469
455
|
var minX = Math.min(selection.start.x, selection.end.x);
|
|
470
456
|
var minY = Math.min(selection.start.y, selection.end.y);
|
|
@@ -472,45 +458,42 @@ export var DataSheet = _ref3 => {
|
|
|
472
458
|
var rowLength = dataToInsert.length;
|
|
473
459
|
var columnLength = dataToInsert[0].length;
|
|
474
460
|
var _copy = [...data];
|
|
475
|
-
|
|
476
461
|
for (var i = 0; i < rowLength; i++) {
|
|
477
462
|
for (var j = 0; j < columnLength; j++) {
|
|
478
463
|
var column = columns[minY + j];
|
|
479
464
|
if (column === undefined) continue;
|
|
480
465
|
var {
|
|
481
|
-
key
|
|
466
|
+
key,
|
|
482
467
|
readonly,
|
|
483
468
|
type
|
|
484
469
|
} = column;
|
|
485
|
-
|
|
486
|
-
if (_key && _copy[minX + i] && !readonly) {
|
|
470
|
+
if (key !== undefined && _copy[minX + i] !== undefined && !readonly) {
|
|
487
471
|
var value = dataToInsert[i][j];
|
|
488
|
-
|
|
489
472
|
if (type === "checkbox") {
|
|
490
|
-
_copy[minX + i][
|
|
473
|
+
_copy[minX + i][key] = value === "false" ? false : value === "true" ? true : value;
|
|
491
474
|
} else {
|
|
492
|
-
_copy[minX + i][
|
|
475
|
+
_copy[minX + i][key] = value;
|
|
493
476
|
}
|
|
494
477
|
}
|
|
495
478
|
}
|
|
496
479
|
}
|
|
497
|
-
|
|
498
480
|
if (onSave) {
|
|
499
481
|
onSave(_copy);
|
|
500
482
|
}
|
|
501
483
|
}
|
|
502
484
|
}
|
|
503
485
|
});
|
|
504
|
-
|
|
505
486
|
return function getClipBoardText() {
|
|
506
487
|
return _ref5.apply(this, arguments);
|
|
507
488
|
};
|
|
508
489
|
}();
|
|
509
490
|
|
|
491
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
510
492
|
document.addEventListener("paste", getClipBoardText, {
|
|
511
493
|
capture: true
|
|
512
494
|
});
|
|
513
495
|
return () => {
|
|
496
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
514
497
|
document.removeEventListener("paste", getClipBoardText);
|
|
515
498
|
};
|
|
516
499
|
}, [columns, data, onSave, selection.end.x, selection.end.y, selection.start.x, selection.start.y]);
|
|
@@ -529,22 +512,21 @@ export var DataSheet = _ref3 => {
|
|
|
529
512
|
return row[key];
|
|
530
513
|
}).join("\t");
|
|
531
514
|
}).join("\n");
|
|
532
|
-
|
|
533
515
|
if (result) {
|
|
534
516
|
yield copy(result);
|
|
535
517
|
}
|
|
536
518
|
}
|
|
537
519
|
});
|
|
538
|
-
|
|
539
520
|
return function handleCopy() {
|
|
540
521
|
return _ref6.apply(this, arguments);
|
|
541
522
|
};
|
|
542
523
|
}();
|
|
543
|
-
|
|
524
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
544
525
|
document.addEventListener("copy", handleCopy, {
|
|
545
526
|
capture: true
|
|
546
527
|
});
|
|
547
528
|
return () => {
|
|
529
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
548
530
|
document.removeEventListener("copy", handleCopy);
|
|
549
531
|
};
|
|
550
532
|
}, [columns, data, selection.end.x, selection.end.y, selection.start.x, selection.start.y]);
|
|
@@ -560,7 +542,7 @@ export var DataSheet = _ref3 => {
|
|
|
560
542
|
style: {
|
|
561
543
|
maxWidth: width
|
|
562
544
|
}
|
|
563
|
-
},
|
|
545
|
+
}, ___EmotionJSX(DownloadButton, {
|
|
564
546
|
onClick: () => {
|
|
565
547
|
var result = [columns.map(column => column.title)].concat(data.map(row => {
|
|
566
548
|
return columns.map(_ref7 => {
|
|
@@ -572,7 +554,7 @@ export var DataSheet = _ref3 => {
|
|
|
572
554
|
}));
|
|
573
555
|
onDownload(result);
|
|
574
556
|
}
|
|
575
|
-
})
|
|
557
|
+
})) : null, ___EmotionJSX(InnerElementContext.Provider, {
|
|
576
558
|
value: {
|
|
577
559
|
handleSelectAll,
|
|
578
560
|
handleSelectColumn,
|
package/DataSheet.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataSheet.js","names":["Controller","DownloadButton","CustomCell","VariableSizeGrid","Grid","InnerElement","InnerElementContext","useOnClickOutside","React","useCallback","useEffect","useMemo","useRef","useState","paste","text","navigator","clipboard","readText","copy","writeText","DataSheet","data","columns","width","height","onSave","onDownload","rows","map","row","key","value","history","current","push","JSON","parse","stringify","handleChangeCheckbox","event","element","currentTarget","column","dataset","x","parseInt","y","checked","handleChangeDataEditor","initialSelection","type","active","start","end","ref","selection","setSelection","handleClickOutside","handleMouseDown","shiftKey","prev","handleMouseOver","handleShiftKeyUp","document","removeEventListener","handleMouseUp","addEventListener","capture","handleSelectColumn","length","handleMouseDownColumn","handleMouseOverColumn","handleMouseUpColumn","handleSelectRow","handleMouseDownRow","handleMouseOverRow","handleMouseUpRow","handleSelectAll","passive","isSelection","posX","negX","posY","negY","handleKeyDown","getClipBoardText","minX","Math","min","minY","dataToInsert","split","rowLength","columnLength","i","j","undefined","readonly","handleCopy","maxX","max","maxY","selectedKeys","splice","e","selectedData","result","join","isSelectColumn","index","isSelectRow","maxWidth","title","concat"],"sources":["../../src/DataSheet.tsx"],"sourcesContent":["import { Controller, DownloadButton } from \"./Controller\";\nimport { CustomCell } from \"./CustomCell\";\nimport { VariableSizeGrid as Grid } from \"react-window\";\nimport { InnerElement, InnerElementContext } from \"./InnerElement\";\nimport { useOnClickOutside } from \"./useOnClickOutside\";\nimport React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nconst paste = async () => {\n const text = await navigator.clipboard.readText();\n return text;\n};\n\nconst copy = async (text: string) => {\n await navigator.clipboard.writeText(text);\n};\n\nexport type DataRow = {\n [key: string]: string | undefined | boolean | number;\n};\n\nexport type DataColumn<R extends DataRow> = {\n [S in keyof R]: {\n key: S;\n title: string;\n Header?: (props: { title: string }) => React.ReactElement | null;\n type?: \"number\" | \"date\" | \"text\" | \"select\" | \"checkbox\";\n readonly?: boolean;\n validator?: (props: { row: R }) => boolean | string;\n // formatter?: (value: R[S], props: { row: R }) => string\n list?: string[] | ((props: { row: R }) => string[]);\n width: number;\n };\n}[keyof R];\n\nexport interface DataSheetProps<R extends DataRow = DataRow> {\n width: number;\n height: number;\n readonly columns: DataColumn<R>[];\n readonly data: R[];\n readonly onSave?: (data: R[]) => void;\n readonly onDownload?: (data: string[][]) => void;\n}\n\nexport const DataSheet = <R extends DataRow>({\n data,\n columns,\n width,\n height,\n onSave,\n onDownload,\n}: DataSheetProps<R>) => {\n const rows = useMemo(() => {\n return data.map((row) => {\n return columns.map(({ key }) => {\n const value = row[key];\n return value;\n });\n });\n }, [data, columns]);\n\n const history = useRef<typeof data[]>([]);\n\n useEffect(() => {\n history.current.push(JSON.parse(JSON.stringify(data)));\n }, [data]);\n\n const handleChangeCheckbox = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n const element = event.currentTarget;\n const { row, column } = element.dataset;\n const x = parseInt(row!, 10);\n const y = parseInt(column!, 10);\n const { key } = columns[y];\n const copy: R[] = JSON.parse(JSON.stringify(data));\n const { checked } = element;\n copy[x] = {\n ...copy[x],\n [key]: checked,\n };\n history.current.push(copy);\n },\n [data, columns]\n );\n\n const handleChangeDataEditor = useCallback(\n (event: React.ChangeEvent<HTMLInputElement | HTMLSelectElement>) => {\n const element = event.currentTarget;\n const { row, column } = element.dataset;\n const x = parseInt(row!, 10);\n const y = parseInt(column!, 10);\n const { key } = columns[y];\n const copy: R[] = JSON.parse(JSON.stringify(data));\n const { value } = element;\n copy[x] = {\n ...copy[x],\n [key]: value,\n };\n history.current.push(copy);\n },\n [columns, data]\n );\n\n /**\n * Select\n */\n const { current: initialSelection } = useRef<{\n type: \"cell\" | \"column\" | \"row\" | \"all\";\n active: boolean;\n start: {\n x: number;\n y: number;\n };\n end: {\n x: number;\n y: number;\n };\n }>({\n type: \"cell\",\n active: false,\n start: { x: -1, y: -1 },\n end: { x: -1, y: -1 },\n });\n const ref = useRef<HTMLTableElement>(null);\n\n const [selection, setSelection] = useState(initialSelection);\n\n const handleClickOutside = useCallback(() => {\n setSelection(initialSelection);\n }, [initialSelection]);\n useOnClickOutside(ref, handleClickOutside);\n\n const handleMouseDown = useCallback(\n (event: React.MouseEvent<HTMLTableDataCellElement, MouseEvent>) => {\n if (event.shiftKey) {\n const { row, column } = event.currentTarget.dataset;\n const x = parseInt(row!, 10);\n const y = parseInt(column!, 10);\n setSelection((prev) => ({\n ...prev,\n type: \"cell\",\n end: { x, y },\n }));\n } else {\n const { row, column } = event.currentTarget.dataset;\n const x = parseInt(row!, 10);\n const y = parseInt(column!, 10);\n setSelection((prev) => {\n if (prev.active === true) return prev;\n return {\n type: \"cell\",\n active: true,\n start: { x, y },\n end: { x, y },\n };\n });\n }\n },\n []\n );\n\n const handleMouseOver = useCallback(\n (event: React.MouseEvent<HTMLTableDataCellElement, MouseEvent>) => {\n const { row, column } = event.currentTarget.dataset;\n const x = parseInt(row!, 10);\n const y = parseInt(column!, 10);\n setSelection((prev) => {\n if (prev.active === false) return prev;\n if (prev.type === \"cell\") {\n return {\n ...prev,\n end: {\n x,\n y,\n },\n };\n }\n if (prev.type === \"column\") {\n return {\n ...prev,\n end: {\n x: prev.end.x,\n y,\n },\n };\n }\n if (prev.type === \"row\") {\n return {\n ...prev,\n end: {\n x,\n y: prev.end.y,\n },\n };\n }\n return prev;\n });\n },\n []\n );\n\n const handleShiftKeyUp = useCallback(() => {\n setSelection((prev) => ({\n ...prev,\n active: false,\n }));\n document.removeEventListener(\"keyup\", handleShiftKeyUp);\n }, []);\n\n const handleMouseUp = useCallback(\n (event: MouseEvent) => {\n if (event.shiftKey) {\n setSelection((prev) => {\n return {\n ...prev,\n active: true,\n };\n });\n document.addEventListener(\"keyup\", handleShiftKeyUp, {\n capture: true,\n });\n } else {\n setSelection((prev) => {\n return {\n ...prev,\n active: false,\n };\n });\n }\n },\n [handleShiftKeyUp]\n );\n\n /** Column */\n const handleSelectColumn = useCallback(\n (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n const { column } = event.currentTarget.dataset;\n const y = parseInt(column!, 10);\n setSelection({\n type: \"column\",\n active: false,\n start: {\n x: 0,\n y,\n },\n end: {\n x: data.length - 1,\n y,\n },\n });\n },\n [data.length]\n );\n const handleMouseDownColumn = useCallback(\n (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n const { column } = event.currentTarget.dataset;\n\n const y = parseInt(column!, 10);\n setSelection({\n type: \"column\",\n active: true,\n start: {\n x: 0,\n y,\n },\n end: {\n x: data.length - 1,\n y,\n },\n });\n },\n [data.length]\n );\n const handleMouseOverColumn = useCallback(\n (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n const { column } = event.currentTarget.dataset;\n const y = parseInt(column!, 10);\n\n setSelection((prev) => {\n if (prev.active === false || prev.type !== \"column\") return prev;\n return {\n ...prev,\n end: {\n x: data.length - 1,\n y,\n },\n };\n });\n },\n [data.length]\n );\n const handleMouseUpColumn = useCallback(() => {\n setSelection((prev) => {\n return {\n ...prev,\n active: false,\n };\n });\n }, []);\n\n /** Row */\n const handleSelectRow = useCallback(\n (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n const { row } = event.currentTarget.dataset;\n const x = parseInt(row!, 10);\n setSelection({\n type: \"row\",\n active: false,\n start: {\n x,\n y: 0,\n },\n end: {\n x,\n y: columns.length - 1,\n },\n });\n },\n [columns.length]\n );\n const handleMouseDownRow = useCallback(\n (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n const { row } = event.currentTarget.dataset;\n const x = parseInt(row!, 10);\n setSelection({\n type: \"row\",\n active: true,\n start: {\n x,\n y: 0,\n },\n end: {\n x,\n y: columns.length - 1,\n },\n });\n },\n [columns.length]\n );\n const handleMouseOverRow = useCallback(\n (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n const { row } = event.currentTarget.dataset;\n const x = parseInt(row!, 10);\n setSelection((prev) => {\n if (prev.active === false || prev.type !== \"row\") return prev;\n return {\n ...prev,\n end: {\n x,\n y: columns.length - 1,\n },\n };\n });\n },\n [columns.length]\n );\n const handleMouseUpRow = useCallback(() => {\n setSelection((prev) => {\n return {\n ...prev,\n active: false,\n };\n });\n }, []);\n\n /** All */\n\n const handleSelectAll = useCallback(() => {\n setSelection({\n type: \"all\",\n active: false,\n start: {\n x: 0,\n y: 0,\n },\n end: {\n x: data.length - 1,\n y: columns.length - 1,\n },\n });\n }, [data.length, columns.length]);\n useEffect(() => {\n document.addEventListener(\"mouseup\", handleMouseUp, { passive: true });\n return () => {\n document.removeEventListener(\"mouseup\", handleMouseUp);\n document.removeEventListener(\"keyup\", handleShiftKeyUp);\n };\n }, [handleMouseUp, handleShiftKeyUp]);\n const isSelection = useCallback(\n (current: { x: number; y: number }) => {\n const { start, end } = selection;\n\n const posX = current.y >= start.y && current.y <= end.y;\n const negX = current.y <= start.y && current.y >= end.y;\n const posY = current.x >= start.x && current.x <= end.x;\n const negY = current.x <= start.x && current.x >= end.x;\n\n return (\n (posX && posY) || (negX && posY) || (negX && negY) || (posX && negY)\n );\n },\n [selection]\n );\n\n /**\n * Keycode\n */\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n switch (event.key) {\n case \"ArrowUp\": {\n setSelection((prev) => {\n if (prev.start.x === 0) return prev;\n return {\n ...prev,\n start: { x: prev.start.x - 1, y: prev.start.y },\n end: { x: prev.start.x - 1, y: prev.start.y },\n };\n });\n break;\n }\n case \"ArrowRight\":\n setSelection((prev) => {\n if (prev.start.y === columns.length - 1) return prev;\n return {\n ...prev,\n start: { x: prev.start.x, y: prev.start.y + 1 },\n end: { x: prev.start.x, y: prev.start.y + 1 },\n };\n });\n break;\n case \"ArrowDown\":\n setSelection((prev) => {\n if (prev.start.x === data.length - 1) return prev;\n return {\n ...prev,\n start: { x: prev.start.x + 1, y: prev.start.y },\n end: { x: prev.start.x + 1, y: prev.start.y },\n };\n });\n break;\n case \"ArrowLeft\":\n setSelection((prev) => {\n if (prev.start.y === 0) return prev;\n return {\n ...prev,\n start: { x: prev.start.x, y: prev.start.y - 1 },\n end: { x: prev.start.x, y: prev.start.y - 1 },\n };\n });\n break;\n default:\n break;\n }\n },\n [columns.length, data.length]\n );\n\n useEffect(() => {\n const getClipBoardText = async () => {\n if (selection.start.x > -1 && selection.start.y > -1) {\n const text = await paste();\n if (text) {\n const minX = Math.min(selection.start.x, selection.end.x);\n const minY = Math.min(selection.start.y, selection.end.y);\n const dataToInsert = text.split(/\\n/g).map((row) => row.split(/\\t/g));\n const rowLength = dataToInsert.length;\n const columnLength = dataToInsert[0].length;\n const copy = [...data];\n for (let i = 0; i < rowLength; i++) {\n for (let j = 0; j < columnLength; j++) {\n const column = columns[minY + j];\n if (column === undefined) continue;\n const { key, readonly, type } = column;\n if (key && copy[minX + i] && !readonly) {\n const value = dataToInsert[i][j];\n if (type === \"checkbox\") {\n copy[minX + i][key] = (\n value === \"false\" ? false : value === \"true\" ? true : value\n ) as R[keyof R];\n } else {\n copy[minX + i][key] = value as R[keyof R];\n }\n }\n }\n }\n if (onSave) {\n onSave(copy);\n }\n }\n }\n };\n\n document.addEventListener(\"paste\", getClipBoardText, { capture: true });\n return () => {\n document.removeEventListener(\"paste\", getClipBoardText);\n };\n }, [\n columns,\n data,\n onSave,\n selection.end.x,\n selection.end.y,\n selection.start.x,\n selection.start.y,\n ]);\n\n useEffect(() => {\n const handleCopy = async () => {\n if (selection.start.x > -1 && selection.start.y > -1) {\n const minX = Math.min(selection.start.x, selection.end.x);\n const maxX = Math.max(selection.start.x, selection.end.x);\n const minY = Math.min(selection.start.y, selection.end.y);\n const maxY = Math.max(selection.start.y, selection.end.y);\n const selectedKeys = [...columns]\n .splice(minY, maxY - minY + 1)\n .map((e) => e.key);\n const selectedData = [...data].splice(minX, maxX - minX + 1);\n\n const result = selectedData\n .map((row) => {\n return selectedKeys\n .map((key) => {\n return row[key];\n })\n .join(\"\\t\");\n })\n .join(\"\\n\");\n if (result) {\n await copy(result);\n }\n }\n };\n document.addEventListener(\"copy\", handleCopy, { capture: true });\n return () => {\n document.removeEventListener(\"copy\", handleCopy);\n };\n }, [\n columns,\n data,\n selection.end.x,\n selection.end.y,\n selection.start.x,\n selection.start.y,\n ]);\n\n const isSelectColumn = useCallback(\n (index: number) => {\n if (selection.type !== \"column\") return false;\n return (\n (selection.start.y <= index && index <= selection.end.y) ||\n (selection.start.y >= index && index >= selection.end.y)\n );\n },\n [selection.end.y, selection.start.y, selection.type]\n );\n const isSelectRow = useCallback(\n (index: number) => {\n if (selection.type !== \"row\") return false;\n return (\n (selection.start.x <= index && index <= selection.end.x) ||\n (selection.start.x >= index && index >= selection.end.x)\n );\n },\n [selection.end.x, selection.start.x, selection.type]\n );\n\n return (\n <div>\n {onDownload ? (\n <Controller style={{ maxWidth: width }}>\n {onDownload ? (\n <DownloadButton\n onClick={() => {\n const result = [columns.map((column) => column.title)].concat(\n data.map((row) => {\n return columns.map(({ key }) => {\n return row[key] as string;\n });\n })\n );\n onDownload(result);\n }}\n />\n ) : null}\n </Controller>\n ) : null}\n\n <InnerElementContext.Provider\n value={{\n handleSelectAll,\n handleSelectColumn,\n handleMouseDownColumn,\n handleMouseOverColumn,\n handleMouseUpColumn,\n isSelectColumn,\n handleKeyDown,\n columns: columns as DataColumn<DataRow>[],\n }}\n >\n <Grid\n style={{ maxWidth: \"100%\" }}\n innerElementType={InnerElement}\n innerRef={ref}\n columnCount={columns.length + 1}\n rowCount={data.length}\n height={height}\n width={width}\n columnWidth={(index) => (index === 0 ? 32 : columns[index - 1].width)}\n rowHeight={() => 24}\n itemData={{\n columns,\n handleSelectRow,\n handleMouseDownRow,\n handleMouseOverRow,\n handleMouseUpRow,\n isSelectRow,\n rows,\n handleChangeDataEditor,\n isSelection,\n data,\n handleMouseDown,\n handleMouseOver,\n handleChangeCheckbox,\n }}\n >\n {CustomCell}\n </Grid>\n </InnerElementContext.Provider>\n </div>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DataSheet.js","names":["Controller","DownloadButton","CustomCell","InnerElement","InnerElementContext","VariableSizeGrid","useOnClickOutside","React","useCallback","useEffect","useMemo","useRef","useState","jsx","___EmotionJSX","Grid","paste","_ref","_asyncToGenerator","text","navigator","clipboard","readText","apply","arguments","copy","_ref2","writeText","_x","DataSheet","_ref3","data","columns","width","height","onSave","onDownload","rows","map","row","_ref4","key","value","history","current","push","JSON","parse","stringify","handleChangeCheckbox","event","element","currentTarget","column","dataset","x","parseInt","y","checked","_extends","handleChangeDataEditor","initialSelection","type","active","start","end","ref","selection","setSelection","handleClickOutside","handleMouseDown","shiftKey","prev","handleMouseOver","handleShiftKeyUp","document","removeEventListener","handleMouseUp","addEventListener","capture","handleSelectColumn","length","handleMouseDownColumn","handleMouseOverColumn","handleMouseUpColumn","handleSelectRow","handleMouseDownRow","handleMouseOverRow","handleMouseUpRow","handleSelectAll","passive","isSelection","posX","negX","posY","negY","handleKeyDown","getClipBoardText","_ref5","minX","Math","min","minY","dataToInsert","split","rowLength","columnLength","i","j","undefined","readonly","handleCopy","_ref6","maxX","max","maxY","selectedKeys","splice","e","selectedData","result","join","isSelectColumn","index","isSelectRow","style","maxWidth","onClick","title","concat","_ref7","Provider","innerElementType","innerRef","columnCount","rowCount","columnWidth","rowHeight","itemData"],"sources":["../../src/DataSheet.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { Controller, DownloadButton } from \"./Controller\";\nimport { CustomCell } from \"./CustomCell\";\nimport { InnerElement, InnerElementContext } from \"./InnerElement\";\nimport { VariableSizeGrid, VariableSizeGridProps } from \"react-window\";\nimport { useOnClickOutside } from \"./useOnClickOutside\";\nimport React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nconst Grid = VariableSizeGrid as unknown as (\n props: Omit<VariableSizeGridProps, \"children\"> & {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n children: any;\n },\n) => JSX.Element;\n\nconst paste = async () => {\n const text = await navigator.clipboard.readText();\n return text;\n};\n\nconst copy = async (text: string) => {\n await navigator.clipboard.writeText(text);\n};\n\nexport type DataRow = Record<string, string | undefined | boolean | number>;\n\nexport type DataColumn<R extends DataRow> = {\n [S in keyof R]: {\n key: S;\n title: string;\n Header?: (props: { title: string }) => React.ReactElement | null;\n type?: \"number\" | \"date\" | \"text\" | \"select\" | \"checkbox\";\n readonly?: boolean;\n validator?: (props: { row: R }) => boolean | string;\n // formatter?: (value: R[S], props: { row: R }) => string\n list?: string[] | ((props: { row: R }) => string[]);\n width: number;\n };\n}[keyof R];\n\nexport interface DataSheetProps<R extends DataRow = DataRow> {\n width: number;\n height: number;\n readonly columns: DataColumn<R>[];\n readonly data: R[];\n readonly onSave?: (data: R[]) => void;\n readonly onDownload?: (data: string[][]) => void;\n}\n\nexport const DataSheet = <R extends DataRow>({\n data,\n columns,\n width,\n height,\n onSave,\n onDownload,\n}: DataSheetProps<R>) => {\n const rows = useMemo(() => {\n return data.map((row) => {\n return columns.map(({ key }) => {\n const value = row[key];\n return value;\n });\n });\n }, [data, columns]);\n\n const history = useRef<(typeof data)[]>([]);\n\n useEffect(() => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n history.current.push(JSON.parse(JSON.stringify(data)));\n }, [data]);\n\n const handleChangeCheckbox = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n const element = event.currentTarget;\n const { row, column } = element.dataset;\n const x = parseInt(row!, 10);\n const y = parseInt(column!, 10);\n const { key } = columns[y];\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const copy: R[] = JSON.parse(JSON.stringify(data));\n const { checked } = element;\n copy[x] = {\n ...copy[x],\n [key]: checked,\n };\n history.current.push(copy);\n },\n [data, columns],\n );\n\n const handleChangeDataEditor = useCallback(\n (event: React.ChangeEvent<HTMLInputElement | HTMLSelectElement>) => {\n const element = event.currentTarget;\n const { row, column } = element.dataset;\n const x = parseInt(row!, 10);\n\n const y = parseInt(column!, 10);\n const { key } = columns[y];\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const copy: R[] = JSON.parse(JSON.stringify(data));\n const { value } = element;\n copy[x] = {\n ...copy[x],\n [key]: value,\n };\n history.current.push(copy);\n },\n [columns, data],\n );\n\n /**\n * Select\n */\n const { current: initialSelection } = useRef<{\n type: \"cell\" | \"column\" | \"row\" | \"all\";\n active: boolean;\n start: {\n x: number;\n y: number;\n };\n end: {\n x: number;\n y: number;\n };\n }>({\n type: \"cell\",\n active: false,\n start: { x: -1, y: -1 },\n end: { x: -1, y: -1 },\n });\n const ref = useRef<HTMLTableElement>(null);\n\n const [selection, setSelection] = useState(initialSelection);\n\n const handleClickOutside = useCallback(() => {\n setSelection(initialSelection);\n }, [initialSelection]);\n useOnClickOutside(ref, handleClickOutside);\n\n const handleMouseDown = useCallback(\n (event: React.MouseEvent<HTMLTableDataCellElement, MouseEvent>) => {\n if (event.shiftKey) {\n const { row, column } = event.currentTarget.dataset;\n const x = parseInt(row!, 10);\n const y = parseInt(column!, 10);\n setSelection((prev) => ({\n ...prev,\n type: \"cell\",\n end: { x, y },\n }));\n } else {\n const { row, column } = event.currentTarget.dataset;\n const x = parseInt(row!, 10);\n const y = parseInt(column!, 10);\n setSelection((prev) => {\n if (prev.active === true) return prev;\n return {\n type: \"cell\",\n active: true,\n start: { x, y },\n end: { x, y },\n };\n });\n }\n },\n [],\n );\n\n const handleMouseOver = useCallback(\n (event: React.MouseEvent<HTMLTableDataCellElement, MouseEvent>) => {\n const { row, column } = event.currentTarget.dataset;\n const x = parseInt(row!, 10);\n const y = parseInt(column!, 10);\n setSelection((prev) => {\n if (prev.active === false) return prev;\n if (prev.type === \"cell\") {\n return {\n ...prev,\n end: {\n x,\n y,\n },\n };\n }\n if (prev.type === \"column\") {\n return {\n ...prev,\n end: {\n x: prev.end.x,\n y,\n },\n };\n }\n if (prev.type === \"row\") {\n return {\n ...prev,\n end: {\n x,\n y: prev.end.y,\n },\n };\n }\n return prev;\n });\n },\n [],\n );\n\n const handleShiftKeyUp = useCallback(() => {\n setSelection((prev) => ({\n ...prev,\n active: false,\n }));\n document.removeEventListener(\"keyup\", handleShiftKeyUp);\n }, []);\n\n const handleMouseUp = useCallback(\n (event: MouseEvent) => {\n if (event.shiftKey) {\n setSelection((prev) => {\n return {\n ...prev,\n active: true,\n };\n });\n document.addEventListener(\"keyup\", handleShiftKeyUp, {\n capture: true,\n });\n } else {\n setSelection((prev) => {\n return {\n ...prev,\n active: false,\n };\n });\n }\n },\n [handleShiftKeyUp],\n );\n\n /** Column */\n const handleSelectColumn = useCallback(\n (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n const { column } = event.currentTarget.dataset;\n const y = parseInt(column!, 10);\n setSelection({\n type: \"column\",\n active: false,\n start: {\n x: 0,\n y,\n },\n end: {\n x: data.length - 1,\n y,\n },\n });\n },\n [data.length],\n );\n const handleMouseDownColumn = useCallback(\n (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n const { column } = event.currentTarget.dataset;\n\n const y = parseInt(column!, 10);\n setSelection({\n type: \"column\",\n active: true,\n start: {\n x: 0,\n y,\n },\n end: {\n x: data.length - 1,\n y,\n },\n });\n },\n [data.length],\n );\n const handleMouseOverColumn = useCallback(\n (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n const { column } = event.currentTarget.dataset;\n const y = parseInt(column!, 10);\n\n setSelection((prev) => {\n if (prev.active === false || prev.type !== \"column\") return prev;\n return {\n ...prev,\n end: {\n x: data.length - 1,\n y,\n },\n };\n });\n },\n [data.length],\n );\n const handleMouseUpColumn = useCallback(() => {\n setSelection((prev) => {\n return {\n ...prev,\n active: false,\n };\n });\n }, []);\n\n /** Row */\n const handleSelectRow = useCallback(\n (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n const { row } = event.currentTarget.dataset;\n const x = parseInt(row!, 10);\n setSelection({\n type: \"row\",\n active: false,\n start: {\n x,\n y: 0,\n },\n end: {\n x,\n y: columns.length - 1,\n },\n });\n },\n [columns.length],\n );\n const handleMouseDownRow = useCallback(\n (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n const { row } = event.currentTarget.dataset;\n const x = parseInt(row!, 10);\n setSelection({\n type: \"row\",\n active: true,\n start: {\n x,\n y: 0,\n },\n end: {\n x,\n y: columns.length - 1,\n },\n });\n },\n [columns.length],\n );\n const handleMouseOverRow = useCallback(\n (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n const { row } = event.currentTarget.dataset;\n const x = parseInt(row!, 10);\n setSelection((prev) => {\n if (prev.active === false || prev.type !== \"row\") return prev;\n return {\n ...prev,\n end: {\n x,\n y: columns.length - 1,\n },\n };\n });\n },\n [columns.length],\n );\n const handleMouseUpRow = useCallback(() => {\n setSelection((prev) => {\n return {\n ...prev,\n active: false,\n };\n });\n }, []);\n\n /** All */\n\n const handleSelectAll = useCallback(() => {\n setSelection({\n type: \"all\",\n active: false,\n start: {\n x: 0,\n y: 0,\n },\n end: {\n x: data.length - 1,\n y: columns.length - 1,\n },\n });\n }, [data.length, columns.length]);\n useEffect(() => {\n document.addEventListener(\"mouseup\", handleMouseUp, { passive: true });\n return () => {\n document.removeEventListener(\"mouseup\", handleMouseUp);\n document.removeEventListener(\"keyup\", handleShiftKeyUp);\n };\n }, [handleMouseUp, handleShiftKeyUp]);\n const isSelection = useCallback(\n (current: { x: number; y: number }) => {\n const { start, end } = selection;\n\n const posX = current.y >= start.y && current.y <= end.y;\n const negX = current.y <= start.y && current.y >= end.y;\n const posY = current.x >= start.x && current.x <= end.x;\n const negY = current.x <= start.x && current.x >= end.x;\n\n return (\n (posX && posY) || (negX && posY) || (negX && negY) || (posX && negY)\n );\n },\n [selection],\n );\n\n /**\n * Keycode\n */\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n switch (event.key) {\n case \"ArrowUp\": {\n setSelection((prev) => {\n if (prev.start.x === 0) return prev;\n return {\n ...prev,\n start: { x: prev.start.x - 1, y: prev.start.y },\n end: { x: prev.start.x - 1, y: prev.start.y },\n };\n });\n break;\n }\n case \"ArrowRight\":\n setSelection((prev) => {\n if (prev.start.y === columns.length - 1) return prev;\n return {\n ...prev,\n start: { x: prev.start.x, y: prev.start.y + 1 },\n end: { x: prev.start.x, y: prev.start.y + 1 },\n };\n });\n break;\n case \"ArrowDown\":\n setSelection((prev) => {\n if (prev.start.x === data.length - 1) return prev;\n return {\n ...prev,\n start: { x: prev.start.x + 1, y: prev.start.y },\n end: { x: prev.start.x + 1, y: prev.start.y },\n };\n });\n break;\n case \"ArrowLeft\":\n setSelection((prev) => {\n if (prev.start.y === 0) return prev;\n return {\n ...prev,\n start: { x: prev.start.x, y: prev.start.y - 1 },\n end: { x: prev.start.x, y: prev.start.y - 1 },\n };\n });\n break;\n default:\n break;\n }\n },\n [columns.length, data.length],\n );\n\n useEffect(() => {\n const getClipBoardText = async () => {\n if (selection.start.x > -1 && selection.start.y > -1) {\n const text = await paste();\n if (text) {\n const minX = Math.min(selection.start.x, selection.end.x);\n const minY = Math.min(selection.start.y, selection.end.y);\n const dataToInsert = text.split(/\\n/g).map((row) => row.split(/\\t/g));\n const rowLength = dataToInsert.length;\n const columnLength = dataToInsert[0].length;\n const copy = [...data];\n for (let i = 0; i < rowLength; i++) {\n for (let j = 0; j < columnLength; j++) {\n const column = columns[minY + j];\n if (column === undefined) continue;\n const { key, readonly, type } = column;\n if (\n key !== undefined &&\n copy[minX + i] !== undefined &&\n !readonly\n ) {\n const value = dataToInsert[i][j];\n if (type === \"checkbox\") {\n copy[minX + i][key] = (\n value === \"false\" ? false : value === \"true\" ? true : value\n ) as R[keyof R];\n } else {\n copy[minX + i][key] = value as R[keyof R];\n }\n }\n }\n }\n if (onSave) {\n onSave(copy);\n }\n }\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n document.addEventListener(\"paste\", getClipBoardText, { capture: true });\n return () => {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n document.removeEventListener(\"paste\", getClipBoardText);\n };\n }, [\n columns,\n data,\n onSave,\n selection.end.x,\n selection.end.y,\n selection.start.x,\n selection.start.y,\n ]);\n\n useEffect(() => {\n const handleCopy = async () => {\n if (selection.start.x > -1 && selection.start.y > -1) {\n const minX = Math.min(selection.start.x, selection.end.x);\n const maxX = Math.max(selection.start.x, selection.end.x);\n const minY = Math.min(selection.start.y, selection.end.y);\n const maxY = Math.max(selection.start.y, selection.end.y);\n const selectedKeys = [...columns]\n .splice(minY, maxY - minY + 1)\n .map((e) => e.key);\n const selectedData = [...data].splice(minX, maxX - minX + 1);\n\n const result = selectedData\n .map((row) => {\n return selectedKeys\n .map((key) => {\n return row[key];\n })\n .join(\"\\t\");\n })\n .join(\"\\n\");\n if (result) {\n await copy(result);\n }\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n document.addEventListener(\"copy\", handleCopy, { capture: true });\n return () => {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n document.removeEventListener(\"copy\", handleCopy);\n };\n }, [\n columns,\n data,\n selection.end.x,\n selection.end.y,\n selection.start.x,\n selection.start.y,\n ]);\n\n const isSelectColumn = useCallback(\n (index: number) => {\n if (selection.type !== \"column\") return false;\n return (\n (selection.start.y <= index && index <= selection.end.y) ||\n (selection.start.y >= index && index >= selection.end.y)\n );\n },\n [selection.end.y, selection.start.y, selection.type],\n );\n const isSelectRow = useCallback(\n (index: number) => {\n if (selection.type !== \"row\") return false;\n return (\n (selection.start.x <= index && index <= selection.end.x) ||\n (selection.start.x >= index && index >= selection.end.x)\n );\n },\n [selection.end.x, selection.start.x, selection.type],\n );\n\n return (\n <div>\n {onDownload ? (\n <Controller style={{ maxWidth: width }}>\n <DownloadButton\n onClick={() => {\n const result = [columns.map((column) => column.title)].concat(\n data.map((row) => {\n return columns.map(({ key }) => {\n return row[key] as string;\n });\n }),\n );\n onDownload(result);\n }}\n />\n </Controller>\n ) : null}\n\n <InnerElementContext.Provider\n value={{\n handleSelectAll,\n handleSelectColumn,\n handleMouseDownColumn,\n handleMouseOverColumn,\n handleMouseUpColumn,\n isSelectColumn,\n handleKeyDown,\n columns: columns as DataColumn<DataRow>[],\n }}\n >\n <Grid\n style={{ maxWidth: \"100%\" }}\n innerElementType={InnerElement}\n innerRef={ref}\n columnCount={columns.length + 1}\n rowCount={data.length}\n height={height}\n width={width}\n columnWidth={(index) => (index === 0 ? 32 : columns[index - 1].width)}\n rowHeight={() => 24}\n itemData={{\n columns,\n handleSelectRow,\n handleMouseDownRow,\n handleMouseOverRow,\n handleMouseUpRow,\n isSelectRow,\n rows,\n handleChangeDataEditor,\n isSelection,\n data,\n handleMouseDown,\n handleMouseOver,\n handleChangeCheckbox,\n }}\n >\n {CustomCell}\n </Grid>\n </InnerElementContext.Provider>\n </div>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
package/DataSheetCheckbox.d.ts
CHANGED
|
@@ -1,2 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
export
|
|
2
|
+
export interface DataSheetCheckboxProps extends React.ComponentPropsWithoutRef<"input"> {
|
|
3
|
+
children?: React.ReactNode;
|
|
4
|
+
}
|
|
5
|
+
export declare const DataSheetCheckbox: React.MemoExoticComponent<({ style, className, ...props }: DataSheetCheckboxProps) => import("@emotion/react/jsx-runtime").JSX.Element>;
|
package/DataSheetCheckbox.js
CHANGED
|
@@ -1,42 +1,34 @@
|
|
|
1
1
|
var _excluded = ["style", "className"];
|
|
2
|
-
|
|
3
2
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
4
|
-
|
|
5
3
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
6
|
-
|
|
7
4
|
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
8
|
-
|
|
9
5
|
import { css } from "@emotion/react";
|
|
10
6
|
import React from "react";
|
|
11
7
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
12
|
-
|
|
13
8
|
var _ref = process.env.NODE_ENV === "production" ? {
|
|
14
9
|
name: "e0dnmk",
|
|
15
10
|
styles: "cursor:pointer"
|
|
16
11
|
} : {
|
|
17
12
|
name: "z3s2sf-DataSheetCheckbox",
|
|
18
13
|
styles: "cursor:pointer;label:DataSheetCheckbox;",
|
|
19
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
14
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9EYXRhU2hlZXRDaGVja2JveC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBK0JrQiIsImZpbGUiOiIuLi8uLi9zcmMvRGF0YVNoZWV0Q2hlY2tib3gudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVNoZWV0Q2hlY2tib3hQcm9wc1xuICBleHRlbmRzIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjxcImlucHV0XCI+IHtcbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XG59XG5cbmV4cG9ydCBjb25zdCBEYXRhU2hlZXRDaGVja2JveCA9IFJlYWN0Lm1lbW8oXG4gICh7IHN0eWxlLCBjbGFzc05hbWUsIC4uLnByb3BzIH06IERhdGFTaGVldENoZWNrYm94UHJvcHMpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgPGxhYmVsXG4gICAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyOiAwcHg7XG4gICAgICAgICAgb3V0bGluZTogMHB4O1xuICAgICAgICBgfVxuICAgICAgPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICBgfVxuICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgLz5cbiAgICAgIDwvbGFiZWw+XG4gICAgKTtcbiAgfSxcbik7XG4iXX0= */",
|
|
20
15
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
21
16
|
};
|
|
22
|
-
|
|
23
17
|
var _ref2 = process.env.NODE_ENV === "production" ? {
|
|
24
18
|
name: "j7kruw",
|
|
25
19
|
styles: "box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:0px;text-align:inherit;cursor:pointer;user-select:none;background-color:transparent;border:0px;outline:0px"
|
|
26
20
|
} : {
|
|
27
21
|
name: "1yokeco-DataSheetCheckbox",
|
|
28
22
|
styles: "box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:0px;text-align:inherit;cursor:pointer;user-select:none;background-color:transparent;border:0px;outline:0px;label:DataSheetCheckbox;",
|
|
29
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
23
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9EYXRhU2hlZXRDaGVja2JveC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBY2dCIiwiZmlsZSI6Ii4uLy4uL3NyYy9EYXRhU2hlZXRDaGVja2JveC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcblxuZXhwb3J0IGludGVyZmFjZSBEYXRhU2hlZXRDaGVja2JveFByb3BzXG4gIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPFwiaW5wdXRcIj4ge1xuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZTtcbn1cblxuZXhwb3J0IGNvbnN0IERhdGFTaGVldENoZWNrYm94ID0gUmVhY3QubWVtbyhcbiAgKHsgc3R5bGUsIGNsYXNzTmFtZSwgLi4ucHJvcHMgfTogRGF0YVNoZWV0Q2hlY2tib3hQcm9wcykgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICA8bGFiZWxcbiAgICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXI6IDBweDtcbiAgICAgICAgICBvdXRsaW5lOiAwcHg7XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIGB9XG4gICAgICAgICAgey4uLnByb3BzfVxuICAgICAgICAvPlxuICAgICAgPC9sYWJlbD5cbiAgICApO1xuICB9LFxuKTtcbiJdfQ== */",
|
|
30
24
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
31
25
|
};
|
|
32
|
-
|
|
33
26
|
export var DataSheetCheckbox = /*#__PURE__*/React.memo(_ref3 => {
|
|
34
27
|
var {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
28
|
+
style,
|
|
29
|
+
className
|
|
30
|
+
} = _ref3,
|
|
31
|
+
props = _objectWithoutPropertiesLoose(_ref3, _excluded);
|
|
40
32
|
return ___EmotionJSX("label", {
|
|
41
33
|
style: style,
|
|
42
34
|
className: className,
|
package/DataSheetCheckbox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataSheetCheckbox.js","names":["css","React","DataSheetCheckbox","memo","style","className","props"],"sources":["../../src/DataSheetCheckbox.tsx"],"sourcesContent":["import { css } from \"@emotion/react\";\nimport React from \"react\";\nexport
|
|
1
|
+
{"version":3,"file":"DataSheetCheckbox.js","names":["css","React","jsx","___EmotionJSX","_ref","process","env","NODE_ENV","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","_ref2","DataSheetCheckbox","memo","_ref3","style","className","props","_objectWithoutPropertiesLoose","_excluded","_extends"],"sources":["../../src/DataSheetCheckbox.tsx"],"sourcesContent":["import { css } from \"@emotion/react\";\nimport React from \"react\";\n\nexport interface DataSheetCheckboxProps\n extends React.ComponentPropsWithoutRef<\"input\"> {\n children?: React.ReactNode;\n}\n\nexport const DataSheetCheckbox = React.memo(\n ({ style, className, ...props }: DataSheetCheckboxProps) => {\n return (\n <label\n style={style}\n className={className}\n css={css`\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n padding: 0px;\n text-align: inherit;\n cursor: pointer;\n user-select: none;\n background-color: transparent;\n border: 0px;\n outline: 0px;\n `}\n >\n <input\n css={css`\n cursor: pointer;\n `}\n {...props}\n />\n </label>\n );\n },\n);\n"],"mappings":";;;;AAAA,SAASA,GAAG,QAAQ,gBAAgB;AACpC,OAAOC,KAAK,MAAM,OAAO;AAAC,SAAAC,GAAA,IAAAC,aAAA;AAAA,IAAAC,IAAA,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA;AAAA,IAAAC,KAAA,GAAAR,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA;AAO1B,OAAO,IAAME,iBAAiB,gBAAGb,KAAK,CAACc,IAAI,CACzCC,KAAA,IAA4D;EAAA,IAA3D;MAAEC,KAAK;MAAEC;IAA4C,CAAC,GAAAF,KAAA;IAA/BG,KAAK,GAAAC,6BAAA,CAAAJ,KAAA,EAAAK,SAAA;EAC3B,OACElB,aAAA;IACEc,KAAK,EAAEA,KAAM;IACbC,SAAS,EAAEA,SAAU;IACrBlB,GAAG,EAAAa;EAcD,GAEFV,aAAA,UAAAmB,QAAA;IACEtB,GAAG,EAAAI;EAED,GACEe,KAAK,CACV,CACI,CAAC;AAEZ,CACF,CAAC","ignoreList":[]}
|
package/DataSheetInput.d.ts
CHANGED
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
|
|
2
|
+
type DataSheetInputProps = React.ComponentPropsWithoutRef<"input">;
|
|
3
|
+
export declare const DataSheetInput: React.MemoExoticComponent<(props: DataSheetInputProps) => import("@emotion/react/jsx-runtime").JSX.Element>;
|
|
4
|
+
export {};
|
package/DataSheetInput.js
CHANGED
|
@@ -1,21 +1,17 @@
|
|
|
1
1
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
-
|
|
3
2
|
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
4
|
-
|
|
5
3
|
import { css } from "@emotion/react";
|
|
6
4
|
import React from "react";
|
|
7
5
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
8
|
-
|
|
9
6
|
var _ref = process.env.NODE_ENV === "production" ? {
|
|
10
7
|
name: "1ftiey0",
|
|
11
8
|
styles: "box-sizing:border-box;width:100%;height:100%;padding:0px;font:inherit;text-align:inherit;background-color:transparent;border:0px;border:1px solid transparent;outline:0px;&:focus{border:1px solid #2185d0;}&[readonly]::selection{background-color:transparent;}"
|
|
12
9
|
} : {
|
|
13
10
|
name: "a2yzbv-DataSheetInput",
|
|
14
11
|
styles: "box-sizing:border-box;width:100%;height:100%;padding:0px;font:inherit;text-align:inherit;background-color:transparent;border:0px;border:1px solid transparent;outline:0px;&:focus{border:1px solid #2185d0;}&[readonly]::selection{background-color:transparent;};label:DataSheetInput;",
|
|
15
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
12
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9EYXRhU2hlZXRJbnB1dC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBV2MiLCJmaWxlIjoiLi4vLi4vc3JjL0RhdGFTaGVldElucHV0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuXG50eXBlIERhdGFTaGVldElucHV0UHJvcHMgPSBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8XCJpbnB1dFwiPjtcblxuZXhwb3J0IGNvbnN0IERhdGFTaGVldElucHV0ID0gUmVhY3QubWVtbygocHJvcHM6IERhdGFTaGVldElucHV0UHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8aW5wdXRcbiAgICAgIHsuLi5wcm9wc31cbiAgICAgIHsuLi4ocHJvcHMucmVhZE9ubHkgPyB7IHZhbHVlOiBwcm9wcy5kZWZhdWx0VmFsdWUgfSA6IHt9KX1cbiAgICAgIHJlYWRPbmx5PXtmYWxzZX1cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IDBweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIG91dGxpbmU6IDBweDtcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzIxODVkMDtcbiAgICAgICAgfVxuICAgICAgICAmW3JlYWRvbmx5XTo6c2VsZWN0aW9uIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgYH1cbiAgICAvPlxuICApO1xufSk7XG4iXX0= */",
|
|
16
13
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
17
14
|
};
|
|
18
|
-
|
|
19
15
|
export var DataSheetInput = /*#__PURE__*/React.memo(props => {
|
|
20
16
|
return ___EmotionJSX("input", _extends({}, props, props.readOnly ? {
|
|
21
17
|
value: props.defaultValue
|
package/DataSheetInput.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataSheetInput.js","names":["css","React","DataSheetInput","memo","props","readOnly","value","defaultValue"],"sources":["../../src/DataSheetInput.tsx"],"sourcesContent":["import { css } from \"@emotion/react\";\nimport React from \"react\";\
|
|
1
|
+
{"version":3,"file":"DataSheetInput.js","names":["css","React","jsx","___EmotionJSX","_ref","process","env","NODE_ENV","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","DataSheetInput","memo","props","_extends","readOnly","value","defaultValue"],"sources":["../../src/DataSheetInput.tsx"],"sourcesContent":["import { css } from \"@emotion/react\";\nimport React from \"react\";\n\ntype DataSheetInputProps = React.ComponentPropsWithoutRef<\"input\">;\n\nexport const DataSheetInput = React.memo((props: DataSheetInputProps) => {\n return (\n <input\n {...props}\n {...(props.readOnly ? { value: props.defaultValue } : {})}\n readOnly={false}\n css={css`\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n padding: 0px;\n font: inherit;\n text-align: inherit;\n background-color: transparent;\n border: 0px;\n border: 1px solid transparent;\n outline: 0px;\n &:focus {\n border: 1px solid #2185d0;\n }\n &[readonly]::selection {\n background-color: transparent;\n }\n `}\n />\n );\n});\n"],"mappings":";;AAAA,SAASA,GAAG,QAAQ,gBAAgB;AACpC,OAAOC,KAAK,MAAM,OAAO;AAAC,SAAAC,GAAA,IAAAC,aAAA;AAAA,IAAAC,IAAA,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA;AAI1B,OAAO,IAAMC,cAAc,gBAAGZ,KAAK,CAACa,IAAI,CAAEC,KAA0B,IAAK;EACvE,OACEZ,aAAA,UAAAa,QAAA,KACMD,KAAK,EACJA,KAAK,CAACE,QAAQ,GAAG;IAAEC,KAAK,EAAEH,KAAK,CAACI;EAAa,CAAC,GAAG,CAAC,CAAC;IACxDF,QAAQ,EAAE,KAAM;IAChBjB,GAAG,EAAAI;EAiBD,EACH,CAAC;AAEN,CAAC,CAAC","ignoreList":[]}
|
package/DataSheetSelect.d.ts
CHANGED
|
@@ -1,2 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
|
|
2
|
+
interface DataSheetSelectProps extends React.ComponentPropsWithoutRef<"select"> {
|
|
3
|
+
children?: React.ReactNode;
|
|
4
|
+
}
|
|
5
|
+
export declare const DataSheetSelect: React.MemoExoticComponent<(props: DataSheetSelectProps) => import("@emotion/react/jsx-runtime").JSX.Element>;
|
|
6
|
+
export {};
|