sheet-happens 0.0.56 → 0.0.57
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/dist/clipboard.d.ts +6 -10
- package/dist/index.js +143 -70
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +143 -70
- package/dist/index.modern.js.map +1 -1
- package/dist/mouse.d.ts +1 -1
- package/dist/sheet.d.ts +7 -6
- package/dist/types.d.ts +15 -3
- package/package.json +1 -1
package/dist/mouse.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { MouseEvent, PointerEvent, RefObject } from 'react';
|
|
2
2
|
import { CellContentRender, CellLayout, CellPropertyFunction, Change, Rectangle, RowOrColumnPropertyFunction, SheetMouseEvent, SheetStyle, VisibleLayout, XY } from './types';
|
|
3
|
-
export declare const useMouse: (elementRef: RefObject<HTMLDivElement>, dataOffset: XY, hitmapRef: RefObject<CellContentRender[]>, selection: Rectangle, knobArea: Rectangle | null, editMode: boolean, editData: CellPropertyFunction<string>, sourceData: CellPropertyFunction<string | number | null>, cellReadOnly: CellPropertyFunction<boolean | null>, canSizeColumn: RowOrColumnPropertyFunction<boolean | null>, canSizeRow: RowOrColumnPropertyFunction<boolean | null>, canOrderColumn: RowOrColumnPropertyFunction<boolean | null>, canOrderRow: RowOrColumnPropertyFunction<boolean | null>, cellLayout: CellLayout, visibleCells: VisibleLayout, sheetStyle: SheetStyle, columnGroupKeys: RowOrColumnPropertyFunction<string | number | null>, rowGroupKeys: RowOrColumnPropertyFunction<string | number | null>, selectedColumnGroups: Set<string | number | null> | null, selectedRowGroups: Set<string | number | null> | null, getAutoSizeWidth: (column: number) => number, getAutoSizeHeight: (row: number) => number, onEdit?: ((cell: XY) => void) | undefined, onCommit?: (() => void) | undefined, onKnobAreaChange?: ((knobArea: Rectangle | null) => void) | undefined, onDragIndicesChange?: ((indices: [number[] | null, number[] | null]) => void) | undefined, onDragOffsetChange?: ((dragOffset: XY | null) => void) | undefined, onDropTargetChange?: ((selection: Rectangle | null) => void) | undefined, onSelectionChange?: ((selection: Rectangle, scrollTo?: boolean | undefined, toHead?: boolean | undefined) => void) | undefined, onFocusChange?: ((focus: boolean) => void) | undefined, onInvalidateColumn?: ((column: number) => void) | undefined, onInvalidateRow?: ((row: number) => void) | undefined, onChange?: ((changes: Change[]) => void) | undefined, onColumnOrderChange?: ((indices: number[], order: number) => void) | undefined, onRowOrderChange?: ((indices: number[], order: number) => void) | undefined, onCellWidthChange?: ((indices: number[], values: number[]) => void) | undefined, onCellHeightChange?: ((indices: number[], values: number[]) => void) | undefined, onRightClick?: ((e: SheetMouseEvent) => void) | undefined, dontCommitEditOnSelectionChange?: boolean | undefined, dontChangeSelectionOnOrderChange?: boolean | undefined) => {
|
|
3
|
+
export declare const useMouse: (elementRef: RefObject<HTMLDivElement>, dataOffset: XY, hitmapRef: RefObject<CellContentRender[]>, selection: Rectangle, knobArea: Rectangle | null, editMode: boolean, editData: CellPropertyFunction<string>, sourceData: CellPropertyFunction<object | string | number | null>, cellReadOnly: CellPropertyFunction<boolean | null>, canSizeColumn: RowOrColumnPropertyFunction<boolean | null>, canSizeRow: RowOrColumnPropertyFunction<boolean | null>, canOrderColumn: RowOrColumnPropertyFunction<boolean | null>, canOrderRow: RowOrColumnPropertyFunction<boolean | null>, cellLayout: CellLayout, visibleCells: VisibleLayout, sheetStyle: SheetStyle, columnGroupKeys: RowOrColumnPropertyFunction<string | number | null>, rowGroupKeys: RowOrColumnPropertyFunction<string | number | null>, selectedColumnGroups: Set<string | number | null> | null, selectedRowGroups: Set<string | number | null> | null, getAutoSizeWidth: (column: number) => number, getAutoSizeHeight: (row: number) => number, onEdit?: ((cell: XY) => void) | undefined, onCommit?: (() => void) | undefined, onKnobAreaChange?: ((knobArea: Rectangle | null) => void) | undefined, onDragIndicesChange?: ((indices: [number[] | null, number[] | null]) => void) | undefined, onDragOffsetChange?: ((dragOffset: XY | null) => void) | undefined, onDropTargetChange?: ((selection: Rectangle | null) => void) | undefined, onSelectionChange?: ((selection: Rectangle, scrollTo?: boolean | undefined, toHead?: boolean | undefined) => void) | undefined, onFocusChange?: ((focus: boolean) => void) | undefined, onInvalidateColumn?: ((column: number) => void) | undefined, onInvalidateRow?: ((row: number) => void) | undefined, onChange?: ((changes: Change[]) => void) | undefined, onColumnOrderChange?: ((indices: number[], order: number) => void) | undefined, onRowOrderChange?: ((indices: number[], order: number) => void) | undefined, onCellWidthChange?: ((indices: number[], values: number[]) => void) | undefined, onCellHeightChange?: ((indices: number[], values: number[]) => void) | undefined, onRightClick?: ((e: SheetMouseEvent) => void) | undefined, dontCommitEditOnSelectionChange?: boolean | undefined, dontChangeSelectionOnOrderChange?: boolean | undefined) => {
|
|
4
4
|
knobPosition: XY | null;
|
|
5
5
|
mouseHandlers: {
|
|
6
6
|
onPointerLeave: () => void;
|
package/dist/sheet.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import React, { KeyboardEventHandler, ReactElement } from 'react';
|
|
2
|
-
import { XY, Rectangle, CellLayout, CellProperty, CellPropertyStyled, CellContentType,
|
|
2
|
+
import { XY, Rectangle, CellLayout, CellProperty, CellPropertyStyled, CellContentType, ClipboardTable, RowOrColumnPropertyStyled, RowOrColumnProperty, Selection, Change, SheetPointerEvent, InputStyle, SheetStyle, Style, VisibleLayout } from './types';
|
|
3
3
|
export declare type SheetInputProps = {
|
|
4
4
|
value: string;
|
|
5
5
|
autoFocus: boolean;
|
|
6
6
|
onKeyDown: KeyboardEventHandler<HTMLElement>;
|
|
7
|
-
onChange: (value: string) => void;
|
|
7
|
+
onChange: (value: object | string | number | null) => void;
|
|
8
8
|
style: InputStyle;
|
|
9
9
|
};
|
|
10
10
|
export declare type SheetRenderProps = {
|
|
@@ -26,7 +26,7 @@ export declare type SheetProps = {
|
|
|
26
26
|
canOrderRow?: RowOrColumnProperty<boolean>;
|
|
27
27
|
columnGroupKeys?: RowOrColumnProperty<string | number | null>;
|
|
28
28
|
rowGroupKeys?: RowOrColumnProperty<string | number | null>;
|
|
29
|
-
sourceData?: CellProperty<string | number | null>;
|
|
29
|
+
sourceData?: CellProperty<object | string | number | null>;
|
|
30
30
|
displayData?: CellPropertyStyled<CellContentType>;
|
|
31
31
|
editData?: CellProperty<string>;
|
|
32
32
|
editKeys?: CellProperty<string>;
|
|
@@ -39,7 +39,7 @@ export declare type SheetProps = {
|
|
|
39
39
|
dontCommitEditOnSelectionChange?: boolean;
|
|
40
40
|
dontChangeSelectionOnOrderChange?: boolean;
|
|
41
41
|
autoFocus?: boolean;
|
|
42
|
-
inputComponent?: (x: number, y: number, props: SheetInputProps, commitEditingCell
|
|
42
|
+
inputComponent?: (x: number, y: number, props: SheetInputProps, commitEditingCell: (value?: object | string | number | null) => void) => ReactElement | undefined;
|
|
43
43
|
renderInside?: (props: SheetRenderProps) => React.ReactNode;
|
|
44
44
|
renderOutside?: (props: SheetRenderProps) => React.ReactNode;
|
|
45
45
|
onSelectionChanged?: (minX: number, minY: number, maxX: number, maxY: number) => void;
|
|
@@ -50,8 +50,9 @@ export declare type SheetProps = {
|
|
|
50
50
|
onCellWidthChange?: (indices: number[], values: number[]) => void;
|
|
51
51
|
onCellHeightChange?: (indices: number[], values: number[]) => void;
|
|
52
52
|
onScrollChange?: (visibleRows: number[], visibleColumns: number[]) => void;
|
|
53
|
-
onCopy?: (selection: Rectangle,
|
|
54
|
-
onPaste?: (selection: Rectangle,
|
|
53
|
+
onCopy?: (selection: Rectangle, cut: boolean) => ClipboardTable<any> | null | undefined;
|
|
54
|
+
onPaste?: (selection: Rectangle, table: ClipboardTable<any>) => boolean | null | undefined | Promise<boolean | null | undefined>;
|
|
55
|
+
clipboardOrigin?: string;
|
|
55
56
|
};
|
|
56
57
|
export declare type SheetRef = CellLayout & {
|
|
57
58
|
startEditingCell: (editCell: XY, arrowKeyCommitMode?: boolean) => void;
|
package/dist/types.d.ts
CHANGED
|
@@ -99,16 +99,28 @@ export declare type Resizable = {
|
|
|
99
99
|
size: number;
|
|
100
100
|
indices: number[];
|
|
101
101
|
};
|
|
102
|
+
export declare type ClipboardRawTable<T extends ClipboardTableCells = ClipboardTableCells> = {
|
|
103
|
+
rows: string[][];
|
|
104
|
+
payload?: ClipboardPayload<T>;
|
|
105
|
+
};
|
|
102
106
|
export declare type ClipboardPayload<T> = {
|
|
103
|
-
cut: boolean;
|
|
104
|
-
data: T;
|
|
105
107
|
origin: string;
|
|
106
|
-
|
|
108
|
+
cut?: boolean;
|
|
109
|
+
data?: T;
|
|
110
|
+
};
|
|
111
|
+
export declare type ClipboardTable<T extends ClipboardTableCells = ClipboardTableCells> = {
|
|
112
|
+
rows: string[][];
|
|
113
|
+
cut?: boolean;
|
|
114
|
+
data?: T;
|
|
115
|
+
};
|
|
116
|
+
export declare type ClipboardTableCells = {
|
|
117
|
+
cells?: Record<string, Record<string, any>>;
|
|
107
118
|
};
|
|
108
119
|
export declare type Change = {
|
|
109
120
|
x: number;
|
|
110
121
|
y: number;
|
|
111
122
|
value: string | number | null;
|
|
123
|
+
data?: object | string | number | null;
|
|
112
124
|
source?: {
|
|
113
125
|
x: number;
|
|
114
126
|
y: number;
|