react-science 14.0.0 → 16.0.0
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/lib/components/accordion/accordion.d.ts +29 -7
- package/lib/components/accordion/accordion.d.ts.map +1 -1
- package/lib/components/accordion/accordion.js +24 -9
- package/lib/components/accordion/accordion.js.map +1 -1
- package/lib/components/accordion/accordion_context.d.ts +8 -15
- package/lib/components/accordion/accordion_context.d.ts.map +1 -1
- package/lib/components/accordion/accordion_context.js +7 -25
- package/lib/components/accordion/accordion_context.js.map +1 -1
- package/lib/components/accordion/accordion_context_provider.d.ts +7 -0
- package/lib/components/accordion/accordion_context_provider.d.ts.map +1 -0
- package/lib/components/accordion/accordion_context_provider.js +62 -0
- package/lib/components/accordion/accordion_context_provider.js.map +1 -0
- package/lib/components/accordion/accordion_context_utils.d.ts +15 -0
- package/lib/components/accordion/accordion_context_utils.d.ts.map +1 -0
- package/lib/components/accordion/accordion_context_utils.js +4 -0
- package/lib/components/accordion/accordion_context_utils.js.map +1 -0
- package/lib/components/accordion/accordion_hooks.d.ts +8 -0
- package/lib/components/accordion/accordion_hooks.d.ts.map +1 -0
- package/lib/components/accordion/accordion_hooks.js +16 -0
- package/lib/components/accordion/accordion_hooks.js.map +1 -0
- package/lib/components/accordion/index.d.ts +2 -3
- package/lib/components/accordion/index.d.ts.map +1 -1
- package/lib/components/accordion/index.js +2 -3
- package/lib/components/accordion/index.js.map +1 -1
- package/lib/components/index.d.ts +1 -1
- package/lib/components/index.js +1 -1
- package/lib/components/split_pane/index.d.ts +3 -0
- package/lib/components/split_pane/index.d.ts.map +1 -0
- package/lib/components/split_pane/index.js +3 -0
- package/lib/components/split_pane/index.js.map +1 -0
- package/lib/components/{split-pane/SplitPane.d.ts → split_pane/split_pane.d.ts} +7 -5
- package/lib/components/split_pane/split_pane.d.ts.map +1 -0
- package/lib/components/{split-pane/SplitPane.js → split_pane/split_pane.js} +25 -32
- package/lib/components/split_pane/split_pane.js.map +1 -0
- package/lib/components/split_pane/split_pane_helpers.d.ts +9 -0
- package/lib/components/split_pane/split_pane_helpers.d.ts.map +1 -0
- package/lib/components/split_pane/split_pane_helpers.js +10 -0
- package/lib/components/split_pane/split_pane_helpers.js.map +1 -0
- package/lib/components/{split-pane/useSplitPaneSize.d.ts → split_pane/use_split_pane_size.d.ts} +5 -3
- package/lib/components/split_pane/use_split_pane_size.d.ts.map +1 -0
- package/lib/components/split_pane/use_split_pane_size.js +78 -0
- package/lib/components/split_pane/use_split_pane_size.js.map +1 -0
- package/lib/components/table/index.d.ts +1 -0
- package/lib/components/table/index.d.ts.map +1 -1
- package/lib/components/table/index.js +1 -0
- package/lib/components/table/index.js.map +1 -1
- package/lib/components/table/reorder_rows/draggable_row_context.d.ts +9 -0
- package/lib/components/table/reorder_rows/draggable_row_context.d.ts.map +1 -0
- package/lib/components/table/reorder_rows/draggable_row_context.js +10 -0
- package/lib/components/table/reorder_rows/draggable_row_context.js.map +1 -0
- package/lib/components/table/reorder_rows/draggable_row_tr.d.ts +18 -0
- package/lib/components/table/reorder_rows/draggable_row_tr.d.ts.map +1 -0
- package/lib/components/table/reorder_rows/draggable_row_tr.js +107 -0
- package/lib/components/table/reorder_rows/draggable_row_tr.js.map +1 -0
- package/lib/components/table/reorder_rows/drop_indicator.d.ts +18 -0
- package/lib/components/table/reorder_rows/drop_indicator.d.ts.map +1 -0
- package/lib/components/table/reorder_rows/drop_indicator.js +19 -0
- package/lib/components/table/reorder_rows/drop_indicator.js.map +1 -0
- package/lib/components/table/reorder_rows/dropped_item_context.d.ts +3 -0
- package/lib/components/table/reorder_rows/dropped_item_context.d.ts.map +1 -0
- package/lib/components/table/reorder_rows/dropped_item_context.js +10 -0
- package/lib/components/table/reorder_rows/dropped_item_context.js.map +1 -0
- package/lib/components/table/reorder_rows/dropped_item_provider.d.ts +5 -0
- package/lib/components/table/reorder_rows/dropped_item_provider.d.ts.map +1 -0
- package/lib/components/table/reorder_rows/dropped_item_provider.js +8 -0
- package/lib/components/table/reorder_rows/dropped_item_provider.js.map +1 -0
- package/lib/components/table/reorder_rows/index.d.ts +5 -0
- package/lib/components/table/reorder_rows/index.d.ts.map +1 -0
- package/lib/components/table/reorder_rows/index.js +5 -0
- package/lib/components/table/reorder_rows/index.js.map +1 -0
- package/lib/components/table/reorder_rows/item_data.d.ts +26 -0
- package/lib/components/table/reorder_rows/item_data.d.ts.map +1 -0
- package/lib/components/table/reorder_rows/item_data.js +13 -0
- package/lib/components/table/reorder_rows/item_data.js.map +1 -0
- package/lib/components/table/reorder_rows/item_order_context.d.ts +15 -0
- package/lib/components/table/reorder_rows/item_order_context.d.ts.map +1 -0
- package/lib/components/table/reorder_rows/item_order_context.js +10 -0
- package/lib/components/table/reorder_rows/item_order_context.js.map +1 -0
- package/lib/components/table/reorder_rows/item_order_provider.d.ts +10 -0
- package/lib/components/table/reorder_rows/item_order_provider.d.ts.map +1 -0
- package/lib/components/table/reorder_rows/item_order_provider.js +34 -0
- package/lib/components/table/reorder_rows/item_order_provider.js.map +1 -0
- package/lib/components/table/reorder_rows/table_drag_row_handler.d.ts +2 -0
- package/lib/components/table/reorder_rows/table_drag_row_handler.d.ts.map +1 -0
- package/lib/components/table/reorder_rows/table_drag_row_handler.js +9 -0
- package/lib/components/table/reorder_rows/table_drag_row_handler.js.map +1 -0
- package/lib/components/table/reorder_rows/use_drop_monitor.d.ts +9 -0
- package/lib/components/table/reorder_rows/use_drop_monitor.d.ts.map +1 -0
- package/lib/components/table/reorder_rows/use_drop_monitor.js +57 -0
- package/lib/components/table/reorder_rows/use_drop_monitor.js.map +1 -0
- package/lib/components/table/table_body.d.ts +4 -1
- package/lib/components/table/table_body.d.ts.map +1 -1
- package/lib/components/table/table_body.js +20 -6
- package/lib/components/table/table_body.js.map +1 -1
- package/lib/components/table/table_root.d.ts +37 -1
- package/lib/components/table/table_root.d.ts.map +1 -1
- package/lib/components/table/table_root.js +41 -7
- package/lib/components/table/table_root.js.map +1 -1
- package/lib/components/table/table_row_cell.d.ts +2 -1
- package/lib/components/table/table_row_cell.d.ts.map +1 -1
- package/lib/components/table/table_row_cell.js +2 -2
- package/lib/components/table/table_row_cell.js.map +1 -1
- package/lib/components/table/table_utils.d.ts +11 -2
- package/lib/components/table/table_utils.d.ts.map +1 -1
- package/lib/components/table/table_utils.js.map +1 -1
- package/package.json +4 -1
- package/src/components/accordion/accordion.tsx +65 -20
- package/src/components/accordion/accordion_context.ts +17 -37
- package/src/components/accordion/accordion_context_provider.tsx +79 -0
- package/src/components/accordion/accordion_context_utils.ts +22 -0
- package/src/components/accordion/accordion_hooks.ts +32 -0
- package/src/components/accordion/index.ts +2 -6
- package/src/components/index.ts +1 -1
- package/src/components/split_pane/index.ts +2 -0
- package/src/components/{split-pane/SplitPane.tsx → split_pane/split_pane.tsx} +63 -56
- package/src/components/split_pane/split_pane_helpers.ts +19 -0
- package/src/components/split_pane/use_split_pane_size.tsx +120 -0
- package/src/components/table/index.ts +1 -0
- package/src/components/table/reorder_rows/draggable_row_context.ts +23 -0
- package/src/components/table/reorder_rows/draggable_row_tr.tsx +166 -0
- package/src/components/table/reorder_rows/drop_indicator.tsx +28 -0
- package/src/components/table/reorder_rows/dropped_item_context.ts +23 -0
- package/src/components/table/reorder_rows/dropped_item_provider.tsx +13 -0
- package/src/components/table/reorder_rows/index.ts +4 -0
- package/src/components/table/reorder_rows/item_data.ts +33 -0
- package/src/components/table/reorder_rows/item_order_context.ts +27 -0
- package/src/components/table/reorder_rows/item_order_provider.tsx +61 -0
- package/src/components/table/reorder_rows/table_drag_row_handler.tsx +22 -0
- package/src/components/table/reorder_rows/use_drop_monitor.ts +74 -0
- package/src/components/table/table_body.tsx +58 -9
- package/src/components/table/table_root.tsx +167 -35
- package/src/components/table/table_row_cell.tsx +5 -3
- package/src/components/table/table_utils.ts +16 -2
- package/lib/components/accordion/accordion_context.provider.d.ts +0 -13
- package/lib/components/accordion/accordion_context.provider.d.ts.map +0 -1
- package/lib/components/accordion/accordion_context.provider.js +0 -55
- package/lib/components/accordion/accordion_context.provider.js.map +0 -1
- package/lib/components/accordion/accordion_context.utils.d.ts +0 -23
- package/lib/components/accordion/accordion_context.utils.d.ts.map +0 -1
- package/lib/components/accordion/accordion_context.utils.js +0 -40
- package/lib/components/accordion/accordion_context.utils.js.map +0 -1
- package/lib/components/split-pane/SplitPane.d.ts.map +0 -1
- package/lib/components/split-pane/SplitPane.js.map +0 -1
- package/lib/components/split-pane/index.d.ts +0 -2
- package/lib/components/split-pane/index.d.ts.map +0 -1
- package/lib/components/split-pane/index.js +0 -2
- package/lib/components/split-pane/index.js.map +0 -1
- package/lib/components/split-pane/useSplitPaneSize.d.ts.map +0 -1
- package/lib/components/split-pane/useSplitPaneSize.js +0 -60
- package/lib/components/split-pane/useSplitPaneSize.js.map +0 -1
- package/src/components/accordion/accordion_context.provider.tsx +0 -91
- package/src/components/accordion/accordion_context.utils.ts +0 -66
- package/src/components/split-pane/index.ts +0 -1
- package/src/components/split-pane/useSplitPaneSize.tsx +0 -99
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { Edge } from '@atlaskit/pragmatic-drag-and-drop-hitbox/types';
|
|
2
|
+
import type { Row } from '@tanstack/react-table';
|
|
3
|
+
declare const itemKey: unique symbol;
|
|
4
|
+
export interface ItemData {
|
|
5
|
+
[itemKey]: true;
|
|
6
|
+
instanceId: symbol;
|
|
7
|
+
id: string;
|
|
8
|
+
index: number;
|
|
9
|
+
[key: string]: unknown;
|
|
10
|
+
[key: symbol]: unknown;
|
|
11
|
+
}
|
|
12
|
+
export declare function getItemData(row: Row<unknown>, instanceId: symbol): ItemData;
|
|
13
|
+
export declare function isItemData(data: Record<string | symbol, unknown>): data is ItemData;
|
|
14
|
+
export type DraggableItemState = {
|
|
15
|
+
type: 'idle';
|
|
16
|
+
} | {
|
|
17
|
+
type: 'preview';
|
|
18
|
+
container: HTMLElement;
|
|
19
|
+
} | {
|
|
20
|
+
type: 'dragging';
|
|
21
|
+
} | {
|
|
22
|
+
type: 'is-over';
|
|
23
|
+
closestEdge: Edge | null;
|
|
24
|
+
};
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=item_data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"item_data.d.ts","sourceRoot":"","sources":["../../../../src/components/table/reorder_rows/item_data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gDAAgD,CAAC;AAC3E,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAEjD,QAAA,MAAM,OAAO,eAA4B,CAAC;AAC1C,MAAM,WAAW,QAAQ;IACvB,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,QAAQ,CAO3E;AAED,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,GACrC,IAAI,IAAI,QAAQ,CAElB;AAED,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,WAAW,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,IAAI,GAAG,IAAI,CAAA;CAAE,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
const itemKey = Symbol('table-item-data');
|
|
2
|
+
export function getItemData(row, instanceId) {
|
|
3
|
+
return {
|
|
4
|
+
[itemKey]: true,
|
|
5
|
+
id: row.id,
|
|
6
|
+
index: row.index,
|
|
7
|
+
instanceId,
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export function isItemData(data) {
|
|
11
|
+
return data[itemKey] === true;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=item_data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"item_data.js","sourceRoot":"","sources":["../../../../src/components/table/reorder_rows/item_data.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAU1C,MAAM,UAAU,WAAW,CAAC,GAAiB,EAAE,UAAkB;IAC/D,OAAO;QACL,CAAC,OAAO,CAAC,EAAE,IAAI;QACf,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,UAAU;KACX,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,IAAsC;IAEtC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;AAChC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Edge } from '@atlaskit/pragmatic-drag-and-drop-hitbox/types';
|
|
2
|
+
import type { Row } from '@tanstack/react-table';
|
|
3
|
+
export type ReorderItemCallback = (args: {
|
|
4
|
+
startIndex: number;
|
|
5
|
+
indexOfTarget: number;
|
|
6
|
+
closestEdgeOfTarget: Edge | null;
|
|
7
|
+
}) => void;
|
|
8
|
+
export interface ItemOrderContextValue<T = unknown> {
|
|
9
|
+
items: Array<Row<T>>;
|
|
10
|
+
reorderItem: ReorderItemCallback;
|
|
11
|
+
instanceId: symbol;
|
|
12
|
+
}
|
|
13
|
+
export declare const itemOrderContext: import("react").Context<ItemOrderContextValue<unknown> | null>;
|
|
14
|
+
export declare function useItemOrder(): ItemOrderContextValue<unknown>;
|
|
15
|
+
//# sourceMappingURL=item_order_context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"item_order_context.d.ts","sourceRoot":"","sources":["../../../../src/components/table/reorder_rows/item_order_context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gDAAgD,CAAC;AAC3E,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAGjD,MAAM,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,IAAI,GAAG,IAAI,CAAC;CAClC,KAAK,IAAI,CAAC;AAEX,MAAM,WAAW,qBAAqB,CAAC,CAAC,GAAG,OAAO;IAChD,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,WAAW,EAAE,mBAAmB,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,gBAAgB,gEAE5B,CAAC;AAEF,wBAAgB,YAAY,mCAM3B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createContext, useContext } from 'react';
|
|
2
|
+
export const itemOrderContext = createContext(null);
|
|
3
|
+
export function useItemOrder() {
|
|
4
|
+
const context = useContext(itemOrderContext);
|
|
5
|
+
if (!context) {
|
|
6
|
+
throw new Error('useItemOrder must be used within a ListContextProvider');
|
|
7
|
+
}
|
|
8
|
+
return context;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=item_order_context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"item_order_context.js","sourceRoot":"","sources":["../../../../src/components/table/reorder_rows/item_order_context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAclD,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAC3C,IAAI,CACL,CAAC;AAEF,MAAM,UAAU,YAAY;IAC1B,MAAM,OAAO,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Row } from '@tanstack/react-table';
|
|
2
|
+
import type { ReactNode } from 'react';
|
|
3
|
+
interface ItemOrderProviderProps<T> {
|
|
4
|
+
items: Array<Row<T>>;
|
|
5
|
+
onOrderChanged: (items: Array<Row<T>>) => void;
|
|
6
|
+
children: ReactNode;
|
|
7
|
+
}
|
|
8
|
+
export declare function ItemOrderProvider<T = unknown>(props: ItemOrderProviderProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=item_order_provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"item_order_provider.d.ts","sourceRoot":"","sources":["../../../../src/components/table/reorder_rows/item_order_provider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvC,UAAU,sBAAsB,CAAC,CAAC;IAChC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,cAAc,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC/C,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,iBAAiB,CAAC,CAAC,GAAG,OAAO,EAC3C,KAAK,EAAE,sBAAsB,CAAC,CAAC,CAAC,2CA4CjC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { reorder } from '@atlaskit/pragmatic-drag-and-drop/reorder';
|
|
3
|
+
import { getReorderDestinationIndex } from '@atlaskit/pragmatic-drag-and-drop-hitbox/util/get-reorder-destination-index';
|
|
4
|
+
import { useCallback, useMemo, useState } from 'react';
|
|
5
|
+
import { itemOrderContext } from './item_order_context.js';
|
|
6
|
+
export function ItemOrderProvider(props) {
|
|
7
|
+
// Isolated instances of this component from one another
|
|
8
|
+
const [instanceId] = useState(() => Symbol('table-instance-id'));
|
|
9
|
+
const { items, onOrderChanged, children } = props;
|
|
10
|
+
const reorderItem = useCallback(({ startIndex, indexOfTarget, closestEdgeOfTarget }) => {
|
|
11
|
+
const finishIndex = getReorderDestinationIndex({
|
|
12
|
+
startIndex,
|
|
13
|
+
closestEdgeOfTarget,
|
|
14
|
+
indexOfTarget,
|
|
15
|
+
axis: 'vertical',
|
|
16
|
+
});
|
|
17
|
+
if (finishIndex === startIndex) {
|
|
18
|
+
// If there is no change, we skip the update
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
onOrderChanged(reorder({
|
|
22
|
+
list: items,
|
|
23
|
+
startIndex,
|
|
24
|
+
finishIndex,
|
|
25
|
+
}));
|
|
26
|
+
}, [items, onOrderChanged]);
|
|
27
|
+
const value = useMemo(() => ({
|
|
28
|
+
reorderItem,
|
|
29
|
+
items: items,
|
|
30
|
+
instanceId,
|
|
31
|
+
}), [reorderItem, items, instanceId]);
|
|
32
|
+
return (_jsx(itemOrderContext.Provider, { value: value, children: children }));
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=item_order_provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"item_order_provider.js","sourceRoot":"","sources":["../../../../src/components/table/reorder_rows/item_order_provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,2CAA2C,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6EAA6E,CAAC;AAGzH,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAQ3D,MAAM,UAAU,iBAAiB,CAC/B,KAAgC;IAEhC,wDAAwD;IACxD,MAAM,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACjE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAClD,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,mBAAmB,EAAE,EAAE,EAAE;QACrD,MAAM,WAAW,GAAG,0BAA0B,CAAC;YAC7C,UAAU;YACV,mBAAmB;YACnB,aAAa;YACb,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;QAEH,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;YAC/B,4CAA4C;YAC5C,OAAO;QACT,CAAC;QAED,cAAc,CACZ,OAAO,CAAC;YACN,IAAI,EAAE,KAAK;YACX,UAAU;YACV,WAAW;SACZ,CAAC,CACH,CAAC;IACJ,CAAC,EACD,CAAC,KAAK,EAAE,cAAc,CAAC,CACxB,CAAC;IAEF,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE,CAAC,CAAC;QACL,WAAW;QACX,KAAK,EAAE,KAA4B;QACnC,UAAU;KACX,CAAC,EACF,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,CACjC,CAAC;IAEF,OAAO,CACL,KAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACpC,QAAQ,GACiB,CAC7B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table_drag_row_handler.d.ts","sourceRoot":"","sources":["../../../../src/components/table/reorder_rows/table_drag_row_handler.tsx"],"names":[],"mappings":"AAKA,wBAAgB,mBAAmB,4CAgBlC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Button } from '@blueprintjs/core';
|
|
3
|
+
import { useTableDraggableRowContext } from './draggable_row_context.js';
|
|
4
|
+
import { TableDropIndicator } from './drop_indicator.js';
|
|
5
|
+
export function TableDragRowHandler() {
|
|
6
|
+
const { dragHandleRef, state } = useTableDraggableRowContext();
|
|
7
|
+
return (_jsxs(_Fragment, { children: [_jsx(Button, { icon: "drag-handle-horizontal", type: "button", ref: dragHandleRef, variant: "minimal", style: { cursor: 'grab' } }), state?.type === 'is-over' && state.closestEdge && (_jsx(TableDropIndicator, { edge: state.closestEdge }))] }));
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=table_drag_row_handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table_drag_row_handler.js","sourceRoot":"","sources":["../../../../src/components/table/reorder_rows/table_drag_row_handler.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,UAAU,mBAAmB;IACjC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,2BAA2B,EAAE,CAAC;IAC/D,OAAO,CACL,8BACE,KAAC,MAAM,IACL,IAAI,EAAC,wBAAwB,EAC7B,IAAI,EAAC,QAAQ,EACb,GAAG,EAAE,aAAa,EAClB,OAAO,EAAC,SAAS,EACjB,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GACzB,EACD,KAAK,EAAE,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,IAAI,CACjD,KAAC,kBAAkB,IAAC,IAAI,EAAE,KAAK,CAAC,WAAW,GAAI,CAChD,IACA,CACJ,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { RefObject } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Monitor drop events.
|
|
4
|
+
* Check if they can be acted on to reorder items.
|
|
5
|
+
* @param scrollElementRef The element to auto-scroll when dragging elements.
|
|
6
|
+
* @param enabled Enable or disable the monitoring.
|
|
7
|
+
*/
|
|
8
|
+
export declare function useDropMonitor(scrollElementRef: RefObject<Element>, enabled: boolean): void;
|
|
9
|
+
//# sourceMappingURL=use_drop_monitor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use_drop_monitor.d.ts","sourceRoot":"","sources":["../../../../src/components/table/reorder_rows/use_drop_monitor.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AASvC;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,gBAAgB,EAAE,SAAS,CAAC,OAAO,CAAC,EACpC,OAAO,EAAE,OAAO,QAmDjB"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { combine } from '@atlaskit/pragmatic-drag-and-drop/combine';
|
|
2
|
+
import { monitorForElements } from '@atlaskit/pragmatic-drag-and-drop/element/adapter';
|
|
3
|
+
import { autoScrollForElements } from '@atlaskit/pragmatic-drag-and-drop-auto-scroll/element';
|
|
4
|
+
import { extractClosestEdge } from '@atlaskit/pragmatic-drag-and-drop-hitbox/closest-edge';
|
|
5
|
+
import { useEffect } from 'react';
|
|
6
|
+
import { assert } from '../../utils/index.js';
|
|
7
|
+
import { useDroppedItemContext } from './dropped_item_context.js';
|
|
8
|
+
import { isItemData } from './item_data.js';
|
|
9
|
+
import { useItemOrder } from './item_order_context.js';
|
|
10
|
+
/**
|
|
11
|
+
* Monitor drop events.
|
|
12
|
+
* Check if they can be acted on to reorder items.
|
|
13
|
+
* @param scrollElementRef The element to auto-scroll when dragging elements.
|
|
14
|
+
* @param enabled Enable or disable the monitoring.
|
|
15
|
+
*/
|
|
16
|
+
export function useDropMonitor(scrollElementRef, enabled) {
|
|
17
|
+
const { reorderItem, items } = useItemOrder();
|
|
18
|
+
const [, setDroppedItem] = useDroppedItemContext();
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
const scrollContainer = scrollElementRef.current;
|
|
21
|
+
assert(scrollContainer, 'Missing scroll container ref');
|
|
22
|
+
if (enabled) {
|
|
23
|
+
function canRespond({ source }) {
|
|
24
|
+
return isItemData(source.data);
|
|
25
|
+
}
|
|
26
|
+
return combine(monitorForElements({
|
|
27
|
+
canMonitor: canRespond,
|
|
28
|
+
onDrop({ location, source }) {
|
|
29
|
+
const target = location.current.dropTargets[0];
|
|
30
|
+
if (!target) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const sourceData = source.data;
|
|
34
|
+
const targetData = target.data;
|
|
35
|
+
if (!isItemData(sourceData) || !isItemData(targetData)) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const indexOfTarget = items.findIndex((item) => item.id === targetData.id);
|
|
39
|
+
if (indexOfTarget === -1) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
const closestEdgeOfTarget = extractClosestEdge(targetData);
|
|
43
|
+
reorderItem({
|
|
44
|
+
startIndex: sourceData.index,
|
|
45
|
+
indexOfTarget,
|
|
46
|
+
closestEdgeOfTarget,
|
|
47
|
+
});
|
|
48
|
+
setDroppedItem(sourceData.id);
|
|
49
|
+
},
|
|
50
|
+
}), autoScrollForElements({
|
|
51
|
+
canScroll: canRespond,
|
|
52
|
+
element: scrollContainer,
|
|
53
|
+
}));
|
|
54
|
+
}
|
|
55
|
+
}, [items, reorderItem, scrollElementRef, setDroppedItem, enabled]);
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=use_drop_monitor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use_drop_monitor.js","sourceRoot":"","sources":["../../../../src/components/table/reorder_rows/use_drop_monitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,2CAA2C,CAAC;AAEpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAE,MAAM,uDAAuD,CAAC;AAE3F,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC5B,gBAAoC,EACpC,OAAgB;IAEhB,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,YAAY,EAAE,CAAC;IAC9C,MAAM,CAAC,EAAE,cAAc,CAAC,GAAG,qBAAqB,EAAE,CAAC;IACnD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,eAAe,GAAG,gBAAgB,CAAC,OAAO,CAAC;QACjD,MAAM,CAAC,eAAe,EAAE,8BAA8B,CAAC,CAAC;QAExD,IAAI,OAAO,EAAE,CAAC;YACZ,SAAS,UAAU,CAAC,EAAE,MAAM,EAAkC;gBAC5D,OAAO,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;YACD,OAAO,OAAO,CACZ,kBAAkB,CAAC;gBACjB,UAAU,EAAE,UAAU;gBACtB,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE;oBACzB,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;oBAC/C,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,OAAO;oBACT,CAAC;oBAED,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;oBAC/B,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;oBAC/B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;wBACvD,OAAO;oBACT,CAAC;oBAED,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,CACnC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE,CACpC,CAAC;oBACF,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE,CAAC;wBACzB,OAAO;oBACT,CAAC;oBAED,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;oBAE3D,WAAW,CAAC;wBACV,UAAU,EAAE,UAAU,CAAC,KAAK;wBAC5B,aAAa;wBACb,mBAAmB;qBACpB,CAAC,CAAC;oBACH,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBAChC,CAAC;aACF,CAAC,EACF,qBAAqB,CAAC;gBACpB,SAAS,EAAE,UAAU;gBACrB,OAAO,EAAE,eAAe;aACzB,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;AACtE,CAAC"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import type { Row, RowData } from '@tanstack/react-table';
|
|
2
2
|
import type { Virtualizer } from '@tanstack/react-virtual';
|
|
3
|
-
import type { TableRowTrRenderer } from './table_utils.js';
|
|
3
|
+
import type { GetTdProps, TableRowPreviewRenderer, TableRowTrRenderer } from './table_utils.js';
|
|
4
4
|
interface TableBodyProps<TData extends RowData> {
|
|
5
5
|
rows: Array<Row<TData>>;
|
|
6
|
+
getTdProps?: GetTdProps<TData>;
|
|
6
7
|
renderRowTr: TableRowTrRenderer<TData> | undefined;
|
|
7
8
|
virtualizeRows?: boolean;
|
|
8
9
|
virtualizer: Virtualizer<HTMLDivElement, Element>;
|
|
10
|
+
isReorderingEnabled: boolean;
|
|
11
|
+
renderRowPreview?: TableRowPreviewRenderer<TData>;
|
|
9
12
|
}
|
|
10
13
|
export declare function TableBody<TData extends RowData>(props: TableBodyProps<TData>): import("react/jsx-runtime").JSX.Element;
|
|
11
14
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table_body.d.ts","sourceRoot":"","sources":["../../../src/components/table/table_body.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"table_body.d.ts","sourceRoot":"","sources":["../../../src/components/table/table_body.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAOxE,OAAO,KAAK,EACV,UAAU,EACV,uBAAuB,EAEvB,kBAAkB,EACnB,MAAM,kBAAkB,CAAC;AAE1B,UAAU,cAAc,CAAC,KAAK,SAAS,OAAO;IAC5C,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACxB,UAAU,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,WAAW,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;IACnD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAClD,mBAAmB,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,uBAAuB,CAAC,KAAK,CAAC,CAAC;CACnD;AAED,wBAAgB,SAAS,CAAC,KAAK,SAAS,OAAO,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,2CA8D5E"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Tag } from '@blueprintjs/core';
|
|
2
3
|
import { notUndefined } from '@tanstack/react-virtual';
|
|
3
4
|
import { Fragment } from 'react';
|
|
5
|
+
import { TableDraggableRowTr } from './reorder_rows/index.js';
|
|
4
6
|
import { TableRowCell } from './table_row_cell.js';
|
|
5
7
|
export function TableBody(props) {
|
|
6
|
-
const { rows, renderRowTr =
|
|
8
|
+
const { rows, getTdProps, renderRowTr = getDefaultRenderRowTr(props.isReorderingEnabled, props.renderRowPreview), virtualizer, virtualizeRows, } = props;
|
|
7
9
|
if (virtualizeRows) {
|
|
8
10
|
const virtualItems = virtualizer.getVirtualItems();
|
|
9
11
|
const [before, after] = virtualItems.length > 0
|
|
@@ -13,28 +15,40 @@ export function TableBody(props) {
|
|
|
13
15
|
]
|
|
14
16
|
: [0, 0];
|
|
15
17
|
return (_jsxs("tbody", { children: [before > 0 && (_jsx("tr", { children: _jsx("td", { style: { height: before } }) })), virtualItems.map((virtualItem, index) => (_jsx(TableRow, { row: rows[virtualItem.index], renderRowTr: (row) => {
|
|
16
|
-
const trProps = getTrRenderProps(row, {
|
|
18
|
+
const trProps = getTrRenderProps(row, getTdProps, {
|
|
17
19
|
...virtualItem,
|
|
18
20
|
virtualIndex: index,
|
|
19
21
|
});
|
|
20
22
|
return renderRowTr(trProps, row);
|
|
21
23
|
} }, virtualItem.index))), after > 0 && (_jsx("tr", { children: _jsx("td", { style: { height: after } }) }))] }));
|
|
22
24
|
}
|
|
23
|
-
return (_jsx("tbody", { children: rows.map((row) => (_jsx(TableRow, { row: row, renderRowTr: (row) => renderRowTr(getTrRenderProps(row), row) }, row.id))) }));
|
|
25
|
+
return (_jsx("tbody", { children: rows.map((row) => (_jsx(TableRow, { row: row, renderRowTr: (row) => renderRowTr(getTrRenderProps(row, getTdProps), row) }, row.id))) }));
|
|
24
26
|
}
|
|
25
27
|
function TableRow({ row, renderRowTr, }) {
|
|
26
28
|
return _jsx(Fragment, { children: renderRowTr(row) });
|
|
27
29
|
}
|
|
28
|
-
|
|
29
|
-
function getTrRenderProps(row, virtualItem) {
|
|
30
|
+
function getTrRenderProps(row, getTdProps, virtualItem) {
|
|
30
31
|
const index = virtualItem ? virtualItem.index : row.index;
|
|
31
32
|
return {
|
|
32
33
|
// index is 0-indexed, so odd rows are even indices
|
|
33
34
|
className: index % 2 === 0 ? 'odd' : '',
|
|
35
|
+
style: { position: 'relative' },
|
|
34
36
|
children: row
|
|
35
37
|
.getVisibleCells()
|
|
36
|
-
.map((cell) => _jsx(TableRowCell, { cell: cell }, cell.id)),
|
|
38
|
+
.map((cell) => (_jsx(TableRowCell, { cell: cell, getTdProps: getTdProps }, cell.id))),
|
|
37
39
|
'data-row-id': row.id,
|
|
38
40
|
};
|
|
39
41
|
}
|
|
42
|
+
function getDefaultRenderRowTr(isReorderingEnabled, renderRowPreview) {
|
|
43
|
+
if (isReorderingEnabled) {
|
|
44
|
+
return getDefaultRenderDraggableRowTr(renderRowPreview);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
return defaultRenderRowTr;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
const defaultRenderRowTr = (trProps) => (_jsx("tr", { ...trProps }));
|
|
51
|
+
function getDefaultRenderDraggableRowTr(renderRowPreview) {
|
|
52
|
+
return (trProps, row) => (_jsx(TableDraggableRowTr, { trProps: trProps, row: row, renderRowPreview: renderRowPreview ?? ((row) => _jsxs(Tag, { children: ["Row ", row.index + 1] })) }));
|
|
53
|
+
}
|
|
40
54
|
//# sourceMappingURL=table_body.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table_body.js","sourceRoot":"","sources":["../../../src/components/table/table_body.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"table_body.js","sourceRoot":"","sources":["../../../src/components/table/table_body.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import type { RowData, TableOptions } from '@tanstack/react-table';
|
|
2
2
|
import type { RefObject, TableHTMLAttributes } from 'react';
|
|
3
3
|
import type { HeaderCellRenderer } from './table_header_cell.js';
|
|
4
|
-
import type { Scroller, TableColumnDef, TableRowTrRenderer, VirtualScroller } from './table_utils.js';
|
|
4
|
+
import type { GetTdProps, Scroller, TableColumnDef, TableRowPreviewRenderer, TableRowTrRenderer, VirtualScroller } from './table_utils.js';
|
|
5
5
|
interface TableBaseProps<TData extends RowData> {
|
|
6
|
+
/**
|
|
7
|
+
* The original data to display in the table.
|
|
8
|
+
*/
|
|
6
9
|
data: TData[];
|
|
7
10
|
/**
|
|
8
11
|
* Tanstack table definition of columns in the table.
|
|
@@ -55,16 +58,49 @@ interface TableBaseProps<TData extends RowData> {
|
|
|
55
58
|
* Override the columns' header cell rendering.
|
|
56
59
|
*/
|
|
57
60
|
renderHeaderCell?: HeaderCellRenderer<TData>;
|
|
61
|
+
/**
|
|
62
|
+
* Pass custom props to the `<td>`.
|
|
63
|
+
* The callback is called for each cell and receives the row's data.
|
|
64
|
+
* The returned properties are spread onto the `<td>` element.
|
|
65
|
+
*/
|
|
66
|
+
getTdProps?: GetTdProps<TData>;
|
|
58
67
|
/**
|
|
59
68
|
* A ref which will be set with a callback to scroll to a row in the
|
|
60
69
|
* table, specified by the row's ID.
|
|
61
70
|
*/
|
|
62
71
|
scrollToRowRef?: RefObject<VirtualScroller | ScrollToOptions | undefined>;
|
|
72
|
+
/**
|
|
73
|
+
* An accessor which should return a unique identifier for the row.
|
|
74
|
+
*/
|
|
63
75
|
getRowId?: TableOptions<TData>['getRowId'];
|
|
76
|
+
/**
|
|
77
|
+
* Called when the user changed the order of the rows.
|
|
78
|
+
* Specifying this callback enables row reordering by drag and drop.
|
|
79
|
+
* Make sure to specify `getRowId` and not to use column sorting when you
|
|
80
|
+
* enable row reordering.
|
|
81
|
+
* Use the `TableDragRowHandler` component within table cells to provide the
|
|
82
|
+
* drag and drop interface for reordering rows.
|
|
83
|
+
* @param rows The rows in their new order.
|
|
84
|
+
*/
|
|
85
|
+
onRowOrderChanged?: (rows: TData[]) => void;
|
|
86
|
+
/**
|
|
87
|
+
* Render function to customize the preview of the row being dragged
|
|
88
|
+
* when reordering.
|
|
89
|
+
* It receives the row being dragged.
|
|
90
|
+
* Ignored when using custom row rendering with `renderRowTr`.
|
|
91
|
+
*/
|
|
92
|
+
renderRowPreview?: TableRowPreviewRenderer<TData>;
|
|
64
93
|
}
|
|
65
94
|
interface RegularTableProps<TData extends RowData> extends TableBaseProps<TData> {
|
|
66
95
|
virtualizeRows?: false | undefined;
|
|
67
96
|
scrollToRowRef?: RefObject<Scroller | undefined>;
|
|
97
|
+
/**
|
|
98
|
+
* Specify a custom scrollable reference, which will be used to
|
|
99
|
+
* automatically scroll the table when reordering elements.
|
|
100
|
+
* By default, the table itself is used as the scrollable element, but
|
|
101
|
+
* you must style it to make it scrollable.
|
|
102
|
+
*/
|
|
103
|
+
scrollableElementRef?: RefObject<Element>;
|
|
68
104
|
}
|
|
69
105
|
interface VirtualizedTableProps<TData extends RowData> extends TableBaseProps<TData> {
|
|
70
106
|
virtualizeRows: true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table_root.d.ts","sourceRoot":"","sources":["../../../src/components/table/table_root.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"table_root.d.ts","sourceRoot":"","sources":["../../../src/components/table/table_root.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAU,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAO3E,OAAO,KAAK,EAAa,SAAS,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAQvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EACV,UAAU,EACV,QAAQ,EACR,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EAClB,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAsC1B,UAAU,cAAc,CAAC,KAAK,SAAS,OAAO;IAC5C;;OAEG;IACH,IAAI,EAAE,KAAK,EAAE,CAAC;IACd;;OAEG;IAEH,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3C;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,UAAU,CAAC,EAAE,IAAI,CACf,YAAY,CAAC,KAAK,CAAC,EACnB,MAAM,GAAG,SAAS,GAAG,iBAAiB,GAAG,mBAAmB,CAC7D,CAAC;IACF;;OAEG;IACH,UAAU,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,UAAU,CAAC,CAAC;IACrE;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACxC;;OAEG;IACH,gBAAgB,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAE7C;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAE/B;;;OAGG;IACH,cAAc,CAAC,EAAE,SAAS,CAAC,eAAe,GAAG,eAAe,GAAG,SAAS,CAAC,CAAC;IAE1E;;OAEG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;IAE3C;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC;IAE5C;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,uBAAuB,CAAC,KAAK,CAAC,CAAC;CACnD;AAED,UAAU,iBAAiB,CAAC,KAAK,SAAS,OAAO,CAC/C,SAAQ,cAAc,CAAC,KAAK,CAAC;IAC7B,cAAc,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IACnC,cAAc,CAAC,EAAE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;IACjD;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;CAC3C;AAED,UAAU,qBAAqB,CAAC,KAAK,SAAS,OAAO,CACnD,SAAQ,cAAc,CAAC,KAAK,CAAC;IAC7B,cAAc,EAAE,IAAI,CAAC;IACrB,cAAc,CAAC,EAAE,SAAS,CAAC,eAAe,GAAG,SAAS,CAAC,CAAC;IACxD;;;;OAIG;IACH,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CAC/C;AAED,MAAM,MAAM,UAAU,CAAC,KAAK,SAAS,OAAO,IACxC,iBAAiB,CAAC,KAAK,CAAC,GACxB,qBAAqB,CAAC,KAAK,CAAC,CAAC;AAEjC,wBAAgB,KAAK,CAAC,KAAK,SAAS,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,2CA2GpE"}
|
|
@@ -3,7 +3,10 @@ import { HTMLTable } from '@blueprintjs/core';
|
|
|
3
3
|
import styled from '@emotion/styled';
|
|
4
4
|
import { getCoreRowModel, getSortedRowModel, useReactTable, } from '@tanstack/react-table';
|
|
5
5
|
import { useVirtualizer } from '@tanstack/react-virtual';
|
|
6
|
-
import { useRef } from 'react';
|
|
6
|
+
import { useEffect, useRef } from 'react';
|
|
7
|
+
import { DroppedItemProvider } from './reorder_rows/dropped_item_provider.js';
|
|
8
|
+
import { ItemOrderProvider } from './reorder_rows/item_order_provider.js';
|
|
9
|
+
import { useDropMonitor } from './reorder_rows/use_drop_monitor.js';
|
|
7
10
|
import { TableBody } from './table_body.js';
|
|
8
11
|
import { TableHeader } from './table_header.js';
|
|
9
12
|
import { useTableColumns } from './use_table_columns.js';
|
|
@@ -20,13 +23,13 @@ const CustomHTMLTable = styled(HTMLTable, {
|
|
|
20
23
|
box-shadow: inset 0 -1px #11141826;
|
|
21
24
|
}
|
|
22
25
|
|
|
23
|
-
tbody tr:first-
|
|
26
|
+
tbody tr:first-of-type td {
|
|
24
27
|
box-shadow: ${props.bordered
|
|
25
28
|
? 'inset 1px 0 0 0 #11141826 !important'
|
|
26
29
|
: 'none !important'};
|
|
27
30
|
}
|
|
28
31
|
|
|
29
|
-
tbody tr:first-
|
|
32
|
+
tbody tr:first-of-type td:first-of-type {
|
|
30
33
|
box-shadow: none !important;
|
|
31
34
|
}
|
|
32
35
|
`;
|
|
@@ -39,7 +42,8 @@ const CustomHTMLTable = styled(HTMLTable, {
|
|
|
39
42
|
}
|
|
40
43
|
`;
|
|
41
44
|
export function Table(props) {
|
|
42
|
-
const { data, columns, bordered = false, compact = false, interactive = false, striped = false, stickyHeader = false, reactTable, tableProps, className, renderRowTr, renderHeaderCell, virtualizeRows, getRowId, } = props;
|
|
45
|
+
const { data, columns, bordered = false, compact = false, interactive = false, striped = false, stickyHeader = false, reactTable, tableProps, className, renderRowTr, renderHeaderCell, getTdProps, virtualizeRows, getRowId, onRowOrderChanged, renderRowPreview, } = props;
|
|
46
|
+
const isReorderingEnabled = !!onRowOrderChanged;
|
|
43
47
|
const scrollElementRef = useRef(null);
|
|
44
48
|
const columnDefs = useTableColumns(columns);
|
|
45
49
|
const table = useReactTable({
|
|
@@ -69,16 +73,46 @@ export function Table(props) {
|
|
|
69
73
|
else {
|
|
70
74
|
finalClassName = tableProps?.className;
|
|
71
75
|
}
|
|
72
|
-
|
|
76
|
+
const tableHeaders = table.getFlatHeaders();
|
|
77
|
+
useCheckProps(props, tableHeaders);
|
|
78
|
+
return (_jsx(DroppedItemProvider, { children: _jsx(ItemOrderProvider, { items: table.getRowModel().rows, onOrderChanged: (items) => {
|
|
79
|
+
onRowOrderChanged?.(items.map((item) => item.original));
|
|
80
|
+
}, children: _jsx(Container, { virtualizeRows: virtualizeRows, scrollRef: virtualizeRows
|
|
81
|
+
? scrollElementRef
|
|
82
|
+
: props.scrollableElementRef || tableRef, isReorderingEnabled: isReorderingEnabled, children: _jsxs(CustomHTMLTable, { ref: tableRef, bordered: bordered, compact: compact, interactive: interactive, striped: striped, stickyHeader: stickyHeader, ...tableProps, className: finalClassName, children: [_jsx(TableHeader, { sticky: stickyHeader, headers: tableHeaders, renderHeaderCell: renderHeaderCell }), _jsx(TableBody, { rows: table.getRowModel().rows, renderRowTr: renderRowTr, getTdProps: getTdProps, virtualizer: tanstackVirtualizer, virtualizeRows: virtualizeRows, renderRowPreview: renderRowPreview, isReorderingEnabled: isReorderingEnabled })] }) }) }) }));
|
|
73
83
|
}
|
|
74
84
|
const ScrollRefDiv = styled.div `
|
|
75
85
|
height: 100%;
|
|
76
86
|
overflow: auto;
|
|
77
87
|
`;
|
|
78
|
-
function Container(
|
|
88
|
+
function Container(props) {
|
|
89
|
+
const { virtualizeRows, scrollRef, isReorderingEnabled, children } = props;
|
|
79
90
|
if (virtualizeRows) {
|
|
80
|
-
return _jsx(
|
|
91
|
+
return (_jsx(ContainerVirtual, { scrollElementRef: scrollRef, enabled: isReorderingEnabled, children: children }));
|
|
81
92
|
}
|
|
93
|
+
return (_jsx(ContainerTable, { scrollElementRef: scrollRef, enabled: isReorderingEnabled, children: children }));
|
|
94
|
+
}
|
|
95
|
+
function ContainerVirtual(props) {
|
|
96
|
+
const { scrollElementRef, enabled, children } = props;
|
|
97
|
+
useDropMonitor(scrollElementRef, enabled);
|
|
98
|
+
return (_jsx(ScrollRefDiv, { ref: scrollElementRef, children: children }));
|
|
99
|
+
}
|
|
100
|
+
function ContainerTable(props) {
|
|
101
|
+
const { scrollElementRef, enabled, children } = props;
|
|
102
|
+
useDropMonitor(scrollElementRef, enabled);
|
|
82
103
|
return _jsx(_Fragment, { children: children });
|
|
83
104
|
}
|
|
105
|
+
function useCheckProps(props, headers) {
|
|
106
|
+
const { onRowOrderChanged, getRowId } = props;
|
|
107
|
+
useEffect(() => {
|
|
108
|
+
if (onRowOrderChanged && !getRowId) {
|
|
109
|
+
// eslint-disable-next-line no-console
|
|
110
|
+
console.warn('When reordering rows is enabled via the `onRowOrderChanged` prop, the `getRowId` prop must be provided to identify each row unambiguously.');
|
|
111
|
+
}
|
|
112
|
+
if (headers.some((header) => header.column.getCanSort())) {
|
|
113
|
+
// eslint-disable-next-line no-console
|
|
114
|
+
console.warn('When reordering rows is enabled via the `onRowOrderChanged` prop, none of the columns should be sortable as data order will be overriden by internal sorting.');
|
|
115
|
+
}
|
|
116
|
+
}, [onRowOrderChanged, getRowId, headers]);
|
|
117
|
+
}
|
|
84
118
|
//# sourceMappingURL=table_root.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table_root.js","sourceRoot":"","sources":["../../../src/components/table/table_root.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,aAAa,GACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"table_root.js","sourceRoot":"","sources":["../../../src/components/table/table_root.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { Cell, RowData } from '@tanstack/react-table';
|
|
2
|
+
import type { GetTdProps } from './table_utils.js';
|
|
2
3
|
interface TableRowCellProps<TData extends RowData> {
|
|
3
4
|
cell: Cell<TData, unknown>;
|
|
4
|
-
|
|
5
|
+
getTdProps: GetTdProps<TData> | undefined;
|
|
5
6
|
}
|
|
6
7
|
export declare function TableRowCell<TData extends RowData>(props: TableRowCellProps<TData>): import("react/jsx-runtime").JSX.Element;
|
|
7
8
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table_row_cell.d.ts","sourceRoot":"","sources":["../../../src/components/table/table_row_cell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAG3D,UAAU,iBAAiB,CAAC,KAAK,SAAS,OAAO;IAC/C,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC3B,
|
|
1
|
+
{"version":3,"file":"table_row_cell.d.ts","sourceRoot":"","sources":["../../../src/components/table/table_row_cell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAG3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,UAAU,iBAAiB,CAAC,KAAK,SAAS,OAAO;IAC/C,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;CAC3C;AAED,wBAAgB,YAAY,CAAC,KAAK,SAAS,OAAO,EAChD,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,2CAShC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { flexRender } from '@tanstack/react-table';
|
|
3
3
|
export function TableRowCell(props) {
|
|
4
|
-
const { cell,
|
|
5
|
-
return (_jsx("td", {
|
|
4
|
+
const { cell, getTdProps } = props;
|
|
5
|
+
return (_jsx("td", { ...getTdProps?.(cell), children: flexRender(cell.column.columnDef.cell, cell.getContext()) }));
|
|
6
6
|
}
|
|
7
7
|
//# sourceMappingURL=table_row_cell.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table_row_cell.js","sourceRoot":"","sources":["../../../src/components/table/table_row_cell.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"table_row_cell.js","sourceRoot":"","sources":["../../../src/components/table/table_row_cell.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AASnD,MAAM,UAAU,YAAY,CAC1B,KAA+B;IAE/B,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAEnC,OAAO,CACL,gBAAQ,UAAU,EAAE,CAAC,IAAI,CAAC,YACvB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,GACvD,CACN,CAAC;AACJ,CAAC"}
|
|
@@ -1,18 +1,27 @@
|
|
|
1
|
-
import type { ColumnDef, Row, RowData } from '@tanstack/react-table';
|
|
1
|
+
import type { Cell, ColumnDef, Row, RowData } from '@tanstack/react-table';
|
|
2
2
|
import type { ScrollToOptions } from '@tanstack/react-virtual';
|
|
3
|
-
import type { ReactNode } from 'react';
|
|
3
|
+
import type { CSSProperties, ReactNode, TdHTMLAttributes } from 'react';
|
|
4
4
|
export type TableColumnDef<TData extends RowData, TValue = unknown> = ColumnDef<TData, TValue>;
|
|
5
|
+
type TableTdProps = TdHTMLAttributes<HTMLTableCellElement>;
|
|
6
|
+
export type GetTdProps<TData extends RowData> = (cell: Cell<TData, unknown>) => TableTdProps;
|
|
5
7
|
export declare function createTableColumnHelper<TData extends RowData>(): import("@tanstack/react-table").ColumnHelper<TData>;
|
|
6
8
|
export interface TableRowTrProps {
|
|
7
9
|
className: string;
|
|
10
|
+
style: CSSProperties;
|
|
8
11
|
children: ReactNode;
|
|
9
12
|
'data-row-id': string;
|
|
10
13
|
}
|
|
11
14
|
export type TableRowTrRenderer<TData extends RowData> = (trProps: TableRowTrProps, row: Row<TData>) => ReactNode;
|
|
15
|
+
export type TableRowPreviewRenderer<TData extends RowData> = (
|
|
16
|
+
/**
|
|
17
|
+
* The row being dragged, for which to render a preview.
|
|
18
|
+
*/
|
|
19
|
+
row: Row<TData>) => ReactNode;
|
|
12
20
|
export interface VirtualScroller {
|
|
13
21
|
scrollIntoView: (id: string, options?: ScrollToOptions) => void;
|
|
14
22
|
}
|
|
15
23
|
export interface Scroller {
|
|
16
24
|
scrollIntoView: (id: string, options?: ScrollIntoViewOptions) => void;
|
|
17
25
|
}
|
|
26
|
+
export {};
|
|
18
27
|
//# sourceMappingURL=table_utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table_utils.d.ts","sourceRoot":"","sources":["../../../src/components/table/table_utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"table_utils.d.ts","sourceRoot":"","sources":["../../../src/components/table/table_utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAE3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAExE,MAAM,MAAM,cAAc,CAAC,KAAK,SAAS,OAAO,EAAE,MAAM,GAAG,OAAO,IAAI,SAAS,CAC7E,KAAK,EACL,MAAM,CACP,CAAC;AAEF,KAAK,YAAY,GAAG,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;AAE3D,MAAM,MAAM,UAAU,CAAC,KAAK,SAAS,OAAO,IAAI,CAC9C,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KACvB,YAAY,CAAC;AAElB,wBAAgB,uBAAuB,CAAC,KAAK,SAAS,OAAO,yDAE5D;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;IAEpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,kBAAkB,CAAC,KAAK,SAAS,OAAO,IAAI,CACtD,OAAO,EAAE,eAAe,EACxB,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,KACZ,SAAS,CAAC;AAEf,MAAM,MAAM,uBAAuB,CAAC,KAAK,SAAS,OAAO,IAAI;AAC3D;;GAEG;AACH,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,KACZ,SAAS,CAAC;AAEf,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;CACjE;AAED,MAAM,WAAW,QAAQ;IACvB,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,KAAK,IAAI,CAAC;CACvE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table_utils.js","sourceRoot":"","sources":["../../../src/components/table/table_utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"table_utils.js","sourceRoot":"","sources":["../../../src/components/table/table_utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAe3D,MAAM,UAAU,uBAAuB;IACrC,OAAO,kBAAkB,EAAS,CAAC;AACrC,CAAC"}
|