prime-ui-kit 0.18.0 → 0.20.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/README.md +1 -1
- package/dist/chunks/{chunk-OAXJWF3L.js → chunk-3PY52JP3.js} +1764 -1764
- package/dist/chunks/{chunk-X3JT5CLR.js → chunk-4KONMO7Z.js} +1 -1
- package/dist/chunks/{chunk-MB4CXSLL.js → chunk-W6EGTNG6.js} +3772 -2888
- package/dist/color-picker.js +2 -2
- package/dist/components/data-table/ColumnsMenu.d.ts +39 -17
- package/dist/components/data-table/DataTable.d.ts +41 -12
- package/dist/components/data-table/DataTableColumnsMenu.d.ts +45 -0
- package/dist/components/data-table/Head.d.ts +18 -5
- package/dist/components/data-table/Row.d.ts +10 -4
- package/dist/components/data-table/StateRows.d.ts +5 -3
- package/dist/components/data-table/columnOrder.d.ts +14 -0
- package/dist/components/data-table/reorder.d.ts +15 -5
- package/dist/components/data-table/types.d.ts +5 -0
- package/dist/components/data-table/useFrozenColumns.d.ts +6 -2
- package/dist/components/datepicker/DatepickerPanel.d.ts +1 -1
- package/dist/components/dnd/Dnd.d.ts +9 -5
- package/dist/components/dnd/inPlaceRow.d.ts +7 -0
- package/dist/components/dnd/useDragSource.d.ts +2 -0
- package/dist/components/dnd/useSortableList.d.ts +5 -0
- package/dist/components/field-list/FieldList.d.ts +37 -15
- package/dist/components/gantt/Gantt.d.ts +1 -1
- package/dist/components/index.d.ts +3 -1
- package/dist/components/kanban/Kanban.d.ts +4 -0
- package/dist/components/list/List.d.ts +9 -4
- package/dist/components/scroll-container/ScrollContainer.d.ts +1 -1
- package/dist/index.css +1 -1
- package/dist/index.js +4 -2
- package/dist/internal/ToolRow.d.ts +23 -0
- package/dist/internal/leaveGuard.d.ts +6 -0
- package/dist/internal/overlay/DialogGuard.d.ts +3 -2
- package/dist/internal/overlay/DialogParts.d.ts +14 -5
- package/dist/layout/index.d.ts +1 -1
- package/dist/layout/page/Page.d.ts +8 -14
- package/dist/skill/anti-slop.md +55 -1
- package/dist/skill/api-contract.md +2 -2
- package/dist/skill/cheatsheet.md +12 -4
- package/dist/skill/checklist.md +7 -0
- package/dist/skill/choosing.md +1 -0
- package/dist/skill/components.md +1 -1
- package/dist/skill/composition.md +196 -21
- package/dist/skill/layouts.md +1 -1
- package/dist/skill/reference/components/confirm-dialog/COMPONENT.md +1 -1
- package/dist/skill/reference/components/data-table/COMPONENT.md +110 -49
- package/dist/skill/reference/components/data-table/examples/actions-column.tsx +154 -0
- package/dist/skill/reference/components/data-table/examples/column-order.tsx +152 -0
- package/dist/skill/reference/components/data-table/examples/columns-visibility.tsx +18 -18
- package/dist/skill/reference/components/data-table/examples/controlled.tsx +32 -17
- package/dist/skill/reference/components/data-table/examples/examples.module.css +14 -36
- package/dist/skill/reference/components/data-table/examples/narrow.tsx +25 -19
- package/dist/skill/reference/components/data-table/examples/reorder.tsx +24 -2
- package/dist/skill/reference/components/data-table/examples/row-link.tsx +18 -22
- package/dist/skill/reference/components/data-table/examples/screen.tsx +12 -1
- package/dist/skill/reference/components/data-table/examples/selection.tsx +13 -18
- package/dist/skill/reference/components/data-table/examples/server.tsx +45 -31
- package/dist/skill/reference/components/data-table/examples/toolbar.tsx +22 -35
- package/dist/skill/reference/components/datepicker/COMPONENT.md +2 -2
- package/dist/skill/reference/components/dnd/COMPONENT.md +13 -7
- package/dist/skill/reference/components/dnd/examples/examples.module.css +4 -3
- package/dist/skill/reference/components/dnd/examples/handle.tsx +5 -5
- package/dist/skill/reference/components/dnd/examples/locked.tsx +1 -1
- package/dist/skill/reference/components/dnd/examples/table-columns.tsx +75 -0
- package/dist/skill/reference/components/dnd/examples/table.tsx +6 -6
- package/dist/skill/reference/components/drawer/COMPONENT.md +26 -10
- package/dist/skill/reference/components/drawer/examples/header-actions.tsx +1 -1
- package/dist/skill/reference/components/drawer/examples/loading.tsx +58 -0
- package/dist/skill/reference/components/field-list/COMPONENT.md +78 -47
- package/dist/skill/reference/components/field-list/examples/base-row.tsx +2 -1
- package/dist/skill/reference/components/field-list/examples/locked.tsx +11 -11
- package/dist/skill/reference/components/field-list/examples/narrow.tsx +108 -33
- package/dist/skill/reference/components/field-list/examples/reorder.tsx +1 -1
- package/dist/skill/reference/components/field-list/examples/row-menu.tsx +71 -0
- package/dist/skill/reference/components/field-list/examples/screen.module.css +1 -1
- package/dist/skill/reference/components/field-list/examples/screen.tsx +169 -162
- package/dist/skill/reference/components/field-list/examples/totals.tsx +9 -8
- package/dist/skill/reference/components/field-list/examples/variants.tsx +51 -0
- package/dist/skill/reference/components/gantt/COMPONENT.md +4 -4
- package/dist/skill/reference/components/kanban/COMPONENT.md +6 -2
- package/dist/skill/reference/components/kanban/examples/states.tsx +7 -5
- package/dist/skill/reference/components/list/COMPONENT.md +21 -11
- package/dist/skill/reference/components/list/examples/reorder.tsx +42 -7
- package/dist/skill/reference/components/modal/COMPONENT.md +23 -10
- package/dist/skill/reference/components/scroll-container/COMPONENT.md +1 -1
- package/dist/skill/reference/components/segmented-control/COMPONENT.md +3 -2
- package/dist/skill/reference/components/sheet/COMPONENT.md +18 -7
- package/dist/skill/reference/components/smart-filter/COMPONENT.md +2 -2
- package/dist/skill/reference/layout/page/COMPONENT.md +13 -17
- package/dist/skill/reference/layout/page/examples/screen.module.css +1 -1
- package/dist/skill/reference/layout/page/examples/screen.tsx +93 -104
- package/dist/skill/reference/layout/page/examples/sections.tsx +2 -15
- package/dist/skill/responsive.md +14 -10
- package/dist/tokens/semantic.d.ts +2 -2
- package/dist/tokens/themes/dark.d.ts +1 -1
- package/package.json +1 -1
- package/src/components/confirm-dialog/COMPONENT.md +1 -1
- package/src/components/data-table/COMPONENT.md +110 -49
- package/src/components/data-table/examples/actions-column.tsx +154 -0
- package/src/components/data-table/examples/column-order.tsx +152 -0
- package/src/components/data-table/examples/columns-visibility.tsx +18 -18
- package/src/components/data-table/examples/controlled.tsx +32 -17
- package/src/components/data-table/examples/examples.module.css +14 -36
- package/src/components/data-table/examples/narrow.tsx +25 -19
- package/src/components/data-table/examples/reorder.tsx +24 -2
- package/src/components/data-table/examples/row-link.tsx +18 -22
- package/src/components/data-table/examples/screen.tsx +12 -1
- package/src/components/data-table/examples/selection.tsx +13 -18
- package/src/components/data-table/examples/server.tsx +45 -31
- package/src/components/data-table/examples/toolbar.tsx +22 -35
- package/src/components/datepicker/COMPONENT.md +2 -2
- package/src/components/dnd/COMPONENT.md +13 -7
- package/src/components/dnd/examples/examples.module.css +4 -3
- package/src/components/dnd/examples/handle.tsx +5 -5
- package/src/components/dnd/examples/locked.tsx +1 -1
- package/src/components/dnd/examples/table-columns.tsx +75 -0
- package/src/components/dnd/examples/table.tsx +6 -6
- package/src/components/drawer/COMPONENT.md +26 -10
- package/src/components/drawer/examples/header-actions.tsx +1 -1
- package/src/components/drawer/examples/loading.tsx +58 -0
- package/src/components/field-list/COMPONENT.md +78 -47
- package/src/components/field-list/examples/base-row.tsx +2 -1
- package/src/components/field-list/examples/locked.tsx +11 -11
- package/src/components/field-list/examples/narrow.tsx +108 -33
- package/src/components/field-list/examples/reorder.tsx +1 -1
- package/src/components/field-list/examples/row-menu.tsx +71 -0
- package/src/components/field-list/examples/screen.module.css +1 -1
- package/src/components/field-list/examples/screen.tsx +169 -162
- package/src/components/field-list/examples/totals.tsx +9 -8
- package/src/components/field-list/examples/variants.tsx +51 -0
- package/src/components/gantt/COMPONENT.md +4 -4
- package/src/components/kanban/COMPONENT.md +6 -2
- package/src/components/kanban/examples/states.tsx +7 -5
- package/src/components/list/COMPONENT.md +21 -11
- package/src/components/list/examples/reorder.tsx +42 -7
- package/src/components/modal/COMPONENT.md +23 -10
- package/src/components/scroll-container/COMPONENT.md +1 -1
- package/src/components/segmented-control/COMPONENT.md +3 -2
- package/src/components/sheet/COMPONENT.md +18 -7
- package/src/components/smart-filter/COMPONENT.md +2 -2
- package/src/layout/page/COMPONENT.md +13 -17
- package/src/layout/page/examples/screen.module.css +1 -1
- package/src/layout/page/examples/screen.tsx +93 -104
- package/src/layout/page/examples/sections.tsx +2 -15
- package/src/styles/theme-dark.css +1 -1
- package/src/styles/theme-light.css +1 -1
- package/dist/components/data-table/context.d.ts +0 -14
package/dist/color-picker.js
CHANGED
|
@@ -4,8 +4,8 @@ import {
|
|
|
4
4
|
ColorField,
|
|
5
5
|
ColorPicker,
|
|
6
6
|
parseColor
|
|
7
|
-
} from "./chunks/chunk-
|
|
8
|
-
import "./chunks/chunk-
|
|
7
|
+
} from "./chunks/chunk-4KONMO7Z.js";
|
|
8
|
+
import "./chunks/chunk-3PY52JP3.js";
|
|
9
9
|
import "./chunks/chunk-QFHE5GKW.js";
|
|
10
10
|
export {
|
|
11
11
|
ColorField,
|
|
@@ -1,23 +1,45 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import type {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
import type { ControlSize } from "../../internal/states";
|
|
3
|
+
import type { DataTableLabels } from "./DataTable";
|
|
4
|
+
import type { DataTableColumn } from "./types";
|
|
5
|
+
type Column = DataTableColumn<never>;
|
|
6
|
+
/** The strings of the column chooser, in the table's `labels` and in `DataTableColumnsMenu`. */
|
|
7
|
+
export type DataTableColumnsMenuLabels = Pick<DataTableLabels, "columns" | "showColumns" | "showAllColumns" | "resetColumnOrder" | "reorderColumn">;
|
|
8
|
+
/** The chooser reorders columns too (`columnOrder`). */
|
|
9
|
+
export type ColumnsMenuReorder = {
|
|
10
|
+
/** Columns that hold their place: a lock instead of the grip. */
|
|
11
|
+
locked: ReadonlySet<string>;
|
|
12
|
+
onReorder: (id: string, beforeId: string | null) => void;
|
|
13
|
+
/** Back to the order of `columns`; null while that is the order. */
|
|
14
|
+
reset: (() => void) | null;
|
|
15
|
+
};
|
|
16
|
+
type ColumnsMenuProps = {
|
|
17
|
+
/** Every column, hidden ones included, in table order. */
|
|
18
|
+
columns: Column[];
|
|
19
|
+
hidden: ReadonlySet<string>;
|
|
20
|
+
setHidden: (hidden: string[]) => void;
|
|
21
|
+
reorder: ColumnsMenuReorder | null;
|
|
22
|
+
labels: DataTableColumnsMenuLabels;
|
|
23
|
+
/** The tier of the trigger and the menu. */
|
|
24
|
+
size: ControlSize;
|
|
8
25
|
/**
|
|
9
|
-
*
|
|
26
|
+
* `icon`: the icon-only ghost trigger in the head of the row-actions column (`columnsMenu`);
|
|
27
|
+
* `button`: the labelled soft trigger with the count of shown columns, for the page's tools.
|
|
10
28
|
*/
|
|
11
|
-
|
|
12
|
-
/** The trigger
|
|
13
|
-
|
|
29
|
+
trigger: "icon" | "button";
|
|
30
|
+
/** The labelled trigger's own attributes, class and ref (`DataTableColumnsMenu`). */
|
|
31
|
+
triggerProps?: React.ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
32
|
+
ref?: React.Ref<HTMLButtonElement>;
|
|
33
|
+
};
|
|
14
34
|
};
|
|
35
|
+
/** Columns that hold their place in the chooser: `reorderable: false` and the row actions. */
|
|
36
|
+
export declare function lockedInChooser(columns: readonly Column[]): Set<string>;
|
|
15
37
|
/**
|
|
16
|
-
* The column chooser
|
|
17
|
-
*
|
|
18
|
-
*
|
|
38
|
+
* The column chooser: a trigger (`trigger`) opening a Dropdown with a «Показывать» group of check
|
|
39
|
+
* items, one per column, and «Показать все». A column with `hideable: false` stays checked and
|
|
40
|
+
* disabled, and the last visible column cannot be hidden. With `reorder` the items are a
|
|
41
|
+
* Dnd.Sortable list: a grip ends each item (a lock on a column that holds its place), Alt + ↑ / ↓ on
|
|
42
|
+
* the focused item moves it, and «Исходный порядок» puts the order of `columns` back.
|
|
19
43
|
*/
|
|
20
|
-
export declare function
|
|
21
|
-
export
|
|
22
|
-
var displayName: string;
|
|
23
|
-
}
|
|
44
|
+
export declare function ColumnsMenu({ columns, hidden, setHidden, reorder, labels, size, trigger, triggerProps, }: ColumnsMenuProps): import("react/jsx-runtime").JSX.Element;
|
|
45
|
+
export {};
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { type ControlSize } from "../../internal/states";
|
|
3
|
-
import { DataTableColumnsMenu } from "./ColumnsMenu";
|
|
4
3
|
import type { DataTableColumn, DataTableGroup, DataTableRowClickEvent, DataTableSortState } from "./types";
|
|
5
|
-
export type { DataTableColumnsMenuProps } from "./ColumnsMenu";
|
|
6
4
|
export type { DataTableColumn, DataTableGroup, DataTableOrder, DataTableRowClickEvent, DataTableSortState, } from "./types";
|
|
7
5
|
/** System strings; `{from}`, `{to}`, `{total}`, `{label}`, `{count}`, `{group}` are replaced. */
|
|
8
6
|
export type DataTableLabels = {
|
|
@@ -26,10 +24,16 @@ export type DataTableLabels = {
|
|
|
26
24
|
expand: string;
|
|
27
25
|
/** `aria-label` of the expand toggle of an expanded row. */
|
|
28
26
|
collapse: string;
|
|
29
|
-
/**
|
|
27
|
+
/** Name and tooltip of the column chooser (`columnsMenu`); `{shown}` and `{total}` are counts. */
|
|
30
28
|
columns: string;
|
|
31
|
-
/** The
|
|
29
|
+
/** The heading of the column chooser's list of columns. */
|
|
30
|
+
showColumns: string;
|
|
31
|
+
/** The column chooser item that shows every column again. */
|
|
32
32
|
showAllColumns: string;
|
|
33
|
+
/** The column chooser item that puts the order of `columns` back (`columnOrder`). */
|
|
34
|
+
resetColumnOrder: string;
|
|
35
|
+
/** `aria-label` of a column's grip in the column chooser (`columnOrder`); `{label}` is its header. */
|
|
36
|
+
reorderColumn: string;
|
|
33
37
|
/** `aria-label` of a row's drag handle (`onReorder`); `{label}` is `getRowLabel(row)`. */
|
|
34
38
|
reorderRow: string;
|
|
35
39
|
/** Tooltip of the handles while the table is sorted by a column (reordering is off). */
|
|
@@ -50,7 +54,7 @@ export type DataTableProps<Row> = Omit<React.HTMLAttributes<HTMLDivElement>, "ch
|
|
|
50
54
|
*/
|
|
51
55
|
columns: DataTableColumn<Row>[];
|
|
52
56
|
/**
|
|
53
|
-
* Ids of columns that are not rendered, controlled. A column with `hideable: false` stays.
|
|
57
|
+
* Ids of columns that are not rendered, controlled. A column with `hideable: false` stays. The column chooser (`columnsMenu`, `DataTableColumnsMenu`) changes it.
|
|
54
58
|
*/
|
|
55
59
|
hiddenColumns?: string[];
|
|
56
60
|
/**
|
|
@@ -58,9 +62,25 @@ export type DataTableProps<Row> = Omit<React.HTMLAttributes<HTMLDivElement>, "ch
|
|
|
58
62
|
*/
|
|
59
63
|
defaultHiddenColumns?: string[];
|
|
60
64
|
/**
|
|
61
|
-
* The hidden ids changed (`
|
|
65
|
+
* The hidden ids changed (`columnsMenu`). The kit stores nothing: keep the list (local storage, the user's settings) and pass it back to restore the choice.
|
|
62
66
|
*/
|
|
63
67
|
onHiddenColumnsChange?: (hiddenColumns: string[]) => void;
|
|
68
|
+
/**
|
|
69
|
+
* Column ids in screen order, hidden ones keeping their place, controlled. Any prop of this triad makes columns reorder: a header drag (the body stays until the drop), Alt + ← / → on a header, grips in the column chooser.
|
|
70
|
+
*/
|
|
71
|
+
columnOrder?: string[];
|
|
72
|
+
/**
|
|
73
|
+
* Initial column order, uncontrolled; `[]` — the order of `columns`, reorderable.
|
|
74
|
+
*/
|
|
75
|
+
defaultColumnOrder?: string[];
|
|
76
|
+
/**
|
|
77
|
+
* The order changed: a header dropped, a keyboard move, a chooser grip or «Исходный порядок». The kit stores nothing: keep it with `hiddenColumns` and pass it back.
|
|
78
|
+
*/
|
|
79
|
+
onColumnOrderChange?: (columnOrder: string[]) => void;
|
|
80
|
+
/**
|
|
81
|
+
* The column chooser in the head of the row-actions column (the last one, `hideHeader`); reorders with `columnOrder`. Without that column it renders nothing and warns: use `DataTableColumnsMenu` in the page's tools.
|
|
82
|
+
*/
|
|
83
|
+
columnsMenu?: boolean;
|
|
64
84
|
/**
|
|
65
85
|
* Data; sorted in memory when a sort is set. With `source="server"` — the page (or the loaded batches) as the server returned it.
|
|
66
86
|
*/
|
|
@@ -93,6 +113,10 @@ export type DataTableProps<Row> = Omit<React.HTMLAttributes<HTMLDivElement>, "ch
|
|
|
93
113
|
* The first visible column (with the selection and toggle columns) sticks while scrolling sideways; the start edge shadow falls from its end edge.
|
|
94
114
|
*/
|
|
95
115
|
stickyFirstColumn?: boolean;
|
|
116
|
+
/**
|
|
117
|
+
* The last visible column (row actions) sticks to the end edge while scrolling sideways; the end edge shadow falls from its start edge.
|
|
118
|
+
*/
|
|
119
|
+
stickyLastColumn?: boolean;
|
|
96
120
|
/**
|
|
97
121
|
* Stable row id (position by default; sub-rows too, `index` among siblings); selection, expansion and the enter animation of new rows are keyed by it. Pass it whenever sorting, selection or expansion is used.
|
|
98
122
|
*/
|
|
@@ -218,9 +242,13 @@ export type DataTableProps<Row> = Omit<React.HTMLAttributes<HTMLDivElement>, "ch
|
|
|
218
242
|
*/
|
|
219
243
|
onSelectedChange?: (selected: React.Key[]) => void;
|
|
220
244
|
/**
|
|
221
|
-
* Rows reorder by a
|
|
245
|
+
* Rows reorder (by a grip, see `reorderHandle`). Row `id` goes in front of `beforeId` (`null` = last); apply it with `moveBefore`, return a promise to save. Off while sorted by a column.
|
|
222
246
|
*/
|
|
223
247
|
onReorder?: (id: React.Key, beforeId: React.Key | null) => void | Promise<void>;
|
|
248
|
+
/**
|
|
249
|
+
* Where a row is picked up (`onReorder`): `end` — a grip ends the row; `start` — a grip column leads it; `row` — no grip, the whole row is carried and takes Alt + ↑ / ↓ itself.
|
|
250
|
+
*/
|
|
251
|
+
reorderHandle?: "start" | "end" | "row";
|
|
224
252
|
/**
|
|
225
253
|
* Sub-rows rendered under the parent with the same columns, indented by depth.
|
|
226
254
|
*/
|
|
@@ -254,9 +282,13 @@ export type DataTableProps<Row> = Omit<React.HTMLAttributes<HTMLDivElement>, "ch
|
|
|
254
282
|
*/
|
|
255
283
|
loadingRows?: number;
|
|
256
284
|
/**
|
|
257
|
-
*
|
|
285
|
+
* The table's own tools row — search, filter, `DataTableColumnsMenu`, a view, bulk actions; two or more, unwrapped. Laid out as `Page.Tools`: the search takes the free room, the rest keep their width at the end.
|
|
258
286
|
*/
|
|
259
287
|
toolbar?: React.ReactNode;
|
|
288
|
+
/**
|
|
289
|
+
* The applied filters (`SmartFilter.Chips`) on a line under the `toolbar`, gone while empty; `SmartFilter.Root` wraps the DataTable.
|
|
290
|
+
*/
|
|
291
|
+
toolbarChips?: React.ReactNode;
|
|
260
292
|
/**
|
|
261
293
|
* Group key of a row: each group gets a header row and its own `<tbody>`. Groups keep the order in which they first appear in `rows`; a sort orders the rows inside each group; a group split by paging repeats its header.
|
|
262
294
|
*/
|
|
@@ -282,7 +314,4 @@ export type DataTableProps<Row> = Omit<React.HTMLAttributes<HTMLDivElement>, "ch
|
|
|
282
314
|
*/
|
|
283
315
|
onCollapsedGroupsChange?: (collapsedGroups: (string | number)[]) => void;
|
|
284
316
|
};
|
|
285
|
-
export declare function DataTable<Row>({ columns: allColumns, hiddenColumns, defaultHiddenColumns, onHiddenColumnsChange, rows, source, rowCount, size: sizeProp, className, showHeader, stickyHeader, stickyFirstColumn, getRowKey, getRowHref, onRowClick, isRowClickable, loading, empty, labels: labelsProp, rowDividers, columnDividers, sort, defaultSort, onSortChange, paging, page, defaultPage, onPageChange, pageSize, infiniteBatchSize, hasMore, loadingMore, onLoadMore, scrollHeight, fullWidth, highlightRowOnHover, highlightColumnOnHover, striped, getRowLabel, selectable, selected, defaultSelected, onSelectedChange, onReorder, getRowChildren, renderExpanded, isRowExpandable, expanded, defaultExpanded, onExpandedChange, loadError, loadingRows, toolbar, getRowGroup, renderGroupHeader, stickyGroupHeaders, collapsedGroups, defaultCollapsedGroups, onCollapsedGroupsChange, ref, ...rest }: DataTableProps<Row>): import("react/jsx-runtime").JSX.Element;
|
|
286
|
-
export declare namespace DataTable {
|
|
287
|
-
var ColumnsMenu: typeof DataTableColumnsMenu;
|
|
288
|
-
}
|
|
317
|
+
export declare function DataTable<Row>({ columns: allColumns, hiddenColumns, defaultHiddenColumns, onHiddenColumnsChange, columnOrder, defaultColumnOrder, onColumnOrderChange, columnsMenu, rows, source, rowCount, size: sizeProp, className, showHeader, stickyHeader, stickyFirstColumn, stickyLastColumn, getRowKey, getRowHref, onRowClick, isRowClickable, loading, empty, labels: labelsProp, rowDividers, columnDividers, sort, defaultSort, onSortChange, paging, page, defaultPage, onPageChange, pageSize, infiniteBatchSize, hasMore, loadingMore, onLoadMore, scrollHeight, fullWidth, highlightRowOnHover, highlightColumnOnHover, striped, getRowLabel, selectable, selected, defaultSelected, onSelectedChange, onReorder, reorderHandle, getRowChildren, renderExpanded, isRowExpandable, expanded, defaultExpanded, onExpandedChange, loadError, loadingRows, toolbar, toolbarChips, getRowGroup, renderGroupHeader, stickyGroupHeaders, collapsedGroups, defaultCollapsedGroups, onCollapsedGroupsChange, ref, ...rest }: DataTableProps<Row>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { ControlSize } from "../../internal/states";
|
|
3
|
+
import { type DataTableColumnsMenuLabels } from "./ColumnsMenu";
|
|
4
|
+
import type { DataTableColumn } from "./types";
|
|
5
|
+
export type { DataTableColumnsMenuLabels } from "./ColumnsMenu";
|
|
6
|
+
export type DataTableColumnsMenuProps<Row> = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "children" | "type"> & {
|
|
7
|
+
/**
|
|
8
|
+
* The table's `columns`, in the order of the code.
|
|
9
|
+
*/
|
|
10
|
+
columns: DataTableColumn<Row>[];
|
|
11
|
+
/**
|
|
12
|
+
* The ids the table hides: the same list its `hiddenColumns` reads.
|
|
13
|
+
*/
|
|
14
|
+
hiddenColumns: string[];
|
|
15
|
+
/**
|
|
16
|
+
* A column was shown or hidden, or «Показать все».
|
|
17
|
+
*/
|
|
18
|
+
onHiddenColumnsChange: (hiddenColumns: string[]) => void;
|
|
19
|
+
/**
|
|
20
|
+
* The table's `columnOrder`.
|
|
21
|
+
*/
|
|
22
|
+
columnOrder?: string[];
|
|
23
|
+
/**
|
|
24
|
+
* Turns the items into a sortable list (a grip, Alt + ↑ / ↓) with «Исходный порядок»; the new order of every column.
|
|
25
|
+
*/
|
|
26
|
+
onColumnOrderChange?: (columnOrder: string[]) => void;
|
|
27
|
+
/**
|
|
28
|
+
* Tier of the trigger and the menu.
|
|
29
|
+
*/
|
|
30
|
+
size?: ControlSize;
|
|
31
|
+
/**
|
|
32
|
+
* The chooser's strings: `columns`, `showColumns`, `showAllColumns`, `resetColumnOrder`, `reorderColumn`.
|
|
33
|
+
*/
|
|
34
|
+
labels?: Partial<DataTableColumnsMenuLabels>;
|
|
35
|
+
ref?: React.Ref<HTMLButtonElement>;
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* The column chooser of a DataTable that has no row-actions column to hold it: a labelled soft
|
|
39
|
+
* Button with the count of shown columns, for the page's tools, bound to the same state the table
|
|
40
|
+
* reads (`hiddenColumns`, and `columnOrder` when the columns reorder).
|
|
41
|
+
*/
|
|
42
|
+
export declare function DataTableColumnsMenu<Row>({ columns, hiddenColumns, onHiddenColumnsChange, columnOrder, onColumnOrderChange, size: sizeProp, labels: labelsProp, ...triggerProps }: DataTableColumnsMenuProps<Row>): import("react/jsx-runtime").JSX.Element;
|
|
43
|
+
export declare namespace DataTableColumnsMenu {
|
|
44
|
+
var displayName: string;
|
|
45
|
+
}
|
|
@@ -1,20 +1,33 @@
|
|
|
1
|
+
import * as React from "react";
|
|
1
2
|
import type { ControlSize } from "../../internal/states";
|
|
2
3
|
import type { DataTableColumn, DataTableSortState } from "./types";
|
|
4
|
+
/** Columns that reorder by their headers (`columnOrder`): the head row is a `Dnd.Sortable`. */
|
|
5
|
+
export type HeadColumnReorder = {
|
|
6
|
+
/** Columns that hold their place: their headers carry nothing, no column moves past them. */
|
|
7
|
+
locked: ReadonlySet<string>;
|
|
8
|
+
onReorder: (id: string, beforeId: string | null) => void;
|
|
9
|
+
};
|
|
3
10
|
type HeadProps<Row> = {
|
|
4
11
|
columns: DataTableColumn<Row>[];
|
|
5
12
|
size: ControlSize;
|
|
6
13
|
sort: DataTableSortState;
|
|
7
14
|
onSort: (columnId: string) => void;
|
|
8
15
|
stickyFirstColumn: boolean;
|
|
16
|
+
/** The last visible column sticks to the end edge (with `stickyHeader`: the end corner). */
|
|
17
|
+
stickyLastColumn: boolean;
|
|
9
18
|
/** The head sticks to the top of the scroller. */
|
|
10
19
|
stickyHeader: boolean;
|
|
11
|
-
/** Sticky head and first column: the leading head cells stick to both edges. */
|
|
12
|
-
stickyCorner: boolean;
|
|
13
20
|
expandEnabled: boolean;
|
|
14
21
|
/** Name of the info glyph of a column with a `description`. */
|
|
15
22
|
infoLabel: string;
|
|
16
|
-
/** A leading column of row
|
|
17
|
-
|
|
23
|
+
/** A leading column of row grips (`reorderHandle="start"`). */
|
|
24
|
+
gripStart: boolean;
|
|
25
|
+
/** The column chooser trigger (`columnsMenu`) for the row-actions head cell, or null. */
|
|
26
|
+
columnsMenu: React.ReactNode;
|
|
27
|
+
/** A trailing utility cell ends the row: the head of the end grips' column. */
|
|
28
|
+
endCell: boolean;
|
|
29
|
+
/** Header grips (`columnOrder`); null when columns keep their order. */
|
|
30
|
+
reorder: HeadColumnReorder | null;
|
|
18
31
|
selectAll?: {
|
|
19
32
|
checked: boolean;
|
|
20
33
|
indeterminate: boolean;
|
|
@@ -23,5 +36,5 @@ type HeadProps<Row> = {
|
|
|
23
36
|
onToggle: () => void;
|
|
24
37
|
};
|
|
25
38
|
};
|
|
26
|
-
export declare function Head<Row>({ columns, size, sort, onSort, stickyFirstColumn,
|
|
39
|
+
export declare function Head<Row>({ columns, size, sort, onSort, stickyFirstColumn, stickyLastColumn, stickyHeader, expandEnabled, infoLabel, gripStart, columnsMenu, endCell, reorder, selectAll, }: HeadProps<Row>): import("react/jsx-runtime").JSX.Element;
|
|
27
40
|
export {};
|
|
@@ -15,6 +15,10 @@ export type RowShared<Row> = {
|
|
|
15
15
|
selectable: boolean;
|
|
16
16
|
expandEnabled: boolean;
|
|
17
17
|
stickyFirstColumn: boolean;
|
|
18
|
+
/** The last visible column sticks to the end edge (row actions). */
|
|
19
|
+
stickyLastColumn: boolean;
|
|
20
|
+
/** A trailing utility cell ends every row: the row grip (`reorderHandle="end"`). */
|
|
21
|
+
endCell: boolean;
|
|
18
22
|
striped: boolean;
|
|
19
23
|
totalColumns: number;
|
|
20
24
|
/**
|
|
@@ -29,7 +33,7 @@ export type RowShared<Row> = {
|
|
|
29
33
|
scaleDomains: Map<string, [number, number]>;
|
|
30
34
|
selection: RowSelectionHandlers;
|
|
31
35
|
toggleExpanded: (key: React.Key) => void;
|
|
32
|
-
/** Row reordering (`onReorder`): a
|
|
36
|
+
/** Row reordering (`onReorder`): sortable rows with a grip cell or a row grip; null without it. */
|
|
33
37
|
reorder: RowReorderShared | null;
|
|
34
38
|
};
|
|
35
39
|
type DataTableRowProps<Row> = {
|
|
@@ -91,12 +95,14 @@ type MeasureBodyProps<Row> = {
|
|
|
91
95
|
columns: DataTableColumn<Row>[];
|
|
92
96
|
selectable: boolean;
|
|
93
97
|
expandEnabled: boolean;
|
|
94
|
-
/** A leading column of row
|
|
95
|
-
|
|
98
|
+
/** A leading column of row grips (`reorderHandle="start"`). */
|
|
99
|
+
gripStart: boolean;
|
|
100
|
+
/** A trailing utility cell (the end grip, the column chooser). */
|
|
101
|
+
endCell: boolean;
|
|
96
102
|
};
|
|
97
103
|
/**
|
|
98
104
|
* Sub-rows of collapsed rows and rows of collapsed groups, laid out invisibly so the columns are
|
|
99
105
|
* already as wide as they will be once a row or group opens; never shown or reachable.
|
|
100
106
|
*/
|
|
101
|
-
export declare function MeasureBody<Row>({ rows, columns, selectable, expandEnabled,
|
|
107
|
+
export declare function MeasureBody<Row>({ rows, columns, selectable, expandEnabled, gripStart, endCell, }: MeasureBodyProps<Row>): import("react/jsx-runtime").JSX.Element;
|
|
102
108
|
export {};
|
|
@@ -8,8 +8,10 @@ type StateRowsProps<Row> = {
|
|
|
8
8
|
totalColumns: number;
|
|
9
9
|
selectable: boolean;
|
|
10
10
|
expandEnabled: boolean;
|
|
11
|
-
/** A leading column of row
|
|
12
|
-
|
|
11
|
+
/** A leading column of row grips (`reorderHandle="start"`). */
|
|
12
|
+
gripStart: boolean;
|
|
13
|
+
/** A trailing utility cell (the end grip, the column chooser). */
|
|
14
|
+
endCell: boolean;
|
|
13
15
|
loadError: React.ReactNode;
|
|
14
16
|
empty: React.ReactNode;
|
|
15
17
|
emptyLabel: string;
|
|
@@ -20,5 +22,5 @@ type StateRowsProps<Row> = {
|
|
|
20
22
|
* in a sticky box of the visible width, so a wide table centres it in the viewport, not across
|
|
21
23
|
* every column.
|
|
22
24
|
*/
|
|
23
|
-
export declare function StateRows<Row>({ state, columns, size, totalColumns, selectable, expandEnabled,
|
|
25
|
+
export declare function StateRows<Row>({ state, columns, size, totalColumns, selectable, expandEnabled, gripStart, endCell, loadError, empty, emptyLabel, skeletonRows, }: StateRowsProps<Row>): import("react/jsx-runtime").JSX.Element | import("react/jsx-runtime").JSX.Element[];
|
|
24
26
|
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `columns` in the order of `order`. An id `order` does not list (a column added to the code later)
|
|
3
|
+
* stands right after the column that precedes it in `columns`, so a saved order never hides it;
|
|
4
|
+
* ids of columns that are gone are skipped.
|
|
5
|
+
*/
|
|
6
|
+
export declare function orderColumns<C extends {
|
|
7
|
+
id: string;
|
|
8
|
+
}>(columns: readonly C[], order: readonly string[]): C[];
|
|
9
|
+
/**
|
|
10
|
+
* The order of every column (hidden ones too) once the visible column `id` stands in front of the
|
|
11
|
+
* visible column `before` — or right after the last visible one when `before` is null, so a hidden
|
|
12
|
+
* column after it keeps its slot; `null` when that would shift a column that holds its place.
|
|
13
|
+
*/
|
|
14
|
+
export declare function placeColumn(order: readonly string[], visible: readonly string[], id: string, before: string | null, locked: ReadonlySet<string>): string[] | null;
|
|
@@ -2,6 +2,8 @@ import * as React from "react";
|
|
|
2
2
|
import type { FlatRow } from "./rows";
|
|
3
3
|
/** What every row needs to know about reordering (part of the rows' shared props). */
|
|
4
4
|
export type RowReorderShared = {
|
|
5
|
+
/** Where a row is picked up: a grip cell leading or ending it, or the row itself. */
|
|
6
|
+
handle: "start" | "end" | "row";
|
|
5
7
|
/** The table is sorted by a column: the manual order is not what is on screen. */
|
|
6
8
|
locked: boolean;
|
|
7
9
|
/** `aria-label` of a row's handle; `{label}` is `getRowLabel(row)`. */
|
|
@@ -14,6 +16,8 @@ type Entry<Row> = {
|
|
|
14
16
|
index: number;
|
|
15
17
|
};
|
|
16
18
|
export type RowReorderOptions<Row> = {
|
|
19
|
+
/** `reorderHandle`: a grip cell at the start or the end of a row, or the whole row. */
|
|
20
|
+
handle: "start" | "end" | "row";
|
|
17
21
|
onReorder: ((id: React.Key, beforeId: React.Key | null) => void | Promise<void>) | undefined;
|
|
18
22
|
/** Expandable rows (sub-rows, detail panels) do not reorder: a row would leave its children. */
|
|
19
23
|
expandEnabled: boolean;
|
|
@@ -47,6 +51,8 @@ type ReorderBodyProps<Row> = {
|
|
|
47
51
|
entries: Entry<Row>[];
|
|
48
52
|
/** First index of the run among the rows on screen. */
|
|
49
53
|
start: number;
|
|
54
|
+
/** Only a row's grip picks it up (`reorderHandle` `start` / `end`); else the whole row. */
|
|
55
|
+
handle: boolean;
|
|
50
56
|
locked: boolean;
|
|
51
57
|
onReorder: (id: string, beforeId: string | null) => void | Promise<void>;
|
|
52
58
|
getRowLabel: ((row: Row) => string) | undefined;
|
|
@@ -55,8 +61,11 @@ type ReorderBodyProps<Row> = {
|
|
|
55
61
|
header?: React.ReactNode;
|
|
56
62
|
className?: string | undefined;
|
|
57
63
|
};
|
|
58
|
-
/**
|
|
59
|
-
|
|
64
|
+
/**
|
|
65
|
+
* A `<tbody>` whose rows reorder: Dnd's sortable list in its table-rows mode, by the grip only, or
|
|
66
|
+
* by the whole row (`reorderHandle="row"`: the row is the keyboard target and the drag source).
|
|
67
|
+
*/
|
|
68
|
+
export declare function ReorderBody<Row>({ entries, start, handle, locked, onReorder, getRowLabel, renderRow, header, className, }: ReorderBodyProps<Row>): import("react/jsx-runtime").JSX.Element;
|
|
60
69
|
/** The drag session the rows need; it joins one the app already has above the table. */
|
|
61
70
|
export declare function ReorderRoot({ enabled, children, }: {
|
|
62
71
|
enabled: boolean;
|
|
@@ -72,7 +81,7 @@ type RowElementProps = Omit<React.ComponentProps<"tr">, "ref"> & {
|
|
|
72
81
|
* A body row's `<tr>`; in a reorderable table, a sortable item rendered as that `<tr>` (it needs no
|
|
73
82
|
* DOM id: only expandable rows are pointed at, and those do not reorder).
|
|
74
83
|
*/
|
|
75
|
-
export declare function RowElement({ reorder, rowKey, rowRef, id, children, ...rest }: RowElementProps): import("react/jsx-runtime").JSX.Element;
|
|
84
|
+
export declare function RowElement({ reorder, rowKey, rowRef, id, tabIndex, children, ...rest }: RowElementProps): import("react/jsx-runtime").JSX.Element;
|
|
76
85
|
type HandleCellProps = {
|
|
77
86
|
reorder: RowReorderShared;
|
|
78
87
|
rowLabel: string | undefined;
|
|
@@ -81,8 +90,9 @@ type HandleCellProps = {
|
|
|
81
90
|
wrap?: (node: React.ReactNode) => React.ReactNode;
|
|
82
91
|
};
|
|
83
92
|
/**
|
|
84
|
-
* The
|
|
85
|
-
* owner saves this row's move) and, while the table is sorted, a
|
|
93
|
+
* The grip cell of a reorderable row, leading or ending it (`reorderHandle`): the grip (Alt + ↑ / ↓
|
|
94
|
+
* from the keyboard; busy while the owner saves this row's move) and, while the table is sorted, a
|
|
95
|
+
* disabled grip that says why.
|
|
86
96
|
*/
|
|
87
97
|
export declare function ReorderHandleCell({ reorder, rowLabel, className, wrap }: HandleCellProps): import("react/jsx-runtime").JSX.Element;
|
|
88
98
|
export {};
|
|
@@ -54,6 +54,11 @@ export type DataTableColumn<Row> = {
|
|
|
54
54
|
* key column that names the row — it stays even when its id is listed.
|
|
55
55
|
*/
|
|
56
56
|
hideable?: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* The column can move when columns reorder (`columnOrder`). Default `true`; `false` holds its
|
|
59
|
+
* place: it never moves and no column moves past it.
|
|
60
|
+
*/
|
|
61
|
+
reorderable?: boolean;
|
|
57
62
|
/**
|
|
58
63
|
* Heatmap: each cell is shaded by its numeric value (`sortAccessor`, else `accessor`) on the
|
|
59
64
|
* five-step chart scale (`--prime-color-chart-scale-1…5`); the value itself stays in the cell.
|
|
@@ -8,8 +8,12 @@ import * as React from "react";
|
|
|
8
8
|
* (`col[data-grow]`) keep taking the free width.
|
|
9
9
|
*/
|
|
10
10
|
export declare function useFrozenColumns(tableRef: React.RefObject<HTMLTableElement | null>, rootRef: React.RefObject<HTMLDivElement | null>,
|
|
11
|
-
/**
|
|
12
|
-
|
|
11
|
+
/**
|
|
12
|
+
* One key per `<col>`, in order. A new set of columns starts the widths from scratch; the same
|
|
13
|
+
* set in another order (columns that changed places, a carried column's gap) keeps every
|
|
14
|
+
* column's width and only moves it, so nothing reflows while columns reorder.
|
|
15
|
+
*/
|
|
16
|
+
slots: readonly string[],
|
|
13
17
|
/** Changes with the rendered rows: widths widen when content no longer fits. */
|
|
14
18
|
rowsKey: unknown,
|
|
15
19
|
/** Real rows are on screen (not loading, empty or error). */
|
|
@@ -39,7 +39,7 @@ export type CalendarOptions = {
|
|
|
39
39
|
*/
|
|
40
40
|
months?: 1 | 2;
|
|
41
41
|
/**
|
|
42
|
-
* Preset column (`range` only): `DEFAULT_DATEPICKER_PRESETS` or picks from `datepickerPresets`; a row above the calendar when narrow.
|
|
42
|
+
* Preset column (`range` only): `DEFAULT_DATEPICKER_PRESETS` (ends with «Всё время») or picks from `datepickerPresets`; a row above the calendar when narrow.
|
|
43
43
|
*/
|
|
44
44
|
presets?: DatepickerPreset[] | false;
|
|
45
45
|
/**
|
|
@@ -108,15 +108,15 @@ export type DndSortableProps<T> = Omit<React.HTMLAttributes<HTMLElement>, "child
|
|
|
108
108
|
*/
|
|
109
109
|
empty?: React.ReactNode;
|
|
110
110
|
/**
|
|
111
|
-
* Root element; `ul` / `ol` render items as `li`, `tbody` as
|
|
111
|
+
* Root element; `ul` / `ol` render items as `li`, `tbody` as rows `tr` (a gap row, a one-row copy), `tr` as head cells `th` with `axis="x"` (cells keep their columns, the gap glides among them).
|
|
112
112
|
*/
|
|
113
|
-
as?: "div" | "ul" | "ol" | "tbody";
|
|
113
|
+
as?: "div" | "ul" | "ol" | "tbody" | "tr";
|
|
114
114
|
/**
|
|
115
115
|
* Accessible name of the list.
|
|
116
116
|
*/
|
|
117
117
|
"aria-label"?: string;
|
|
118
118
|
/**
|
|
119
|
-
* Content in front of the items that never moves and takes no drop position: the heading row of a group in a `tbody
|
|
119
|
+
* Content in front of the items that never moves and takes no drop position: the heading row of a group in a `tbody`, the leading cells of a head row.
|
|
120
120
|
*/
|
|
121
121
|
header?: React.ReactNode;
|
|
122
122
|
/**
|
|
@@ -146,6 +146,10 @@ export type DndSortableItemProps = {
|
|
|
146
146
|
* Holds its place: it does not move and nothing is put where it would shift it. Its `Dnd.Handle` turns into a lock. A pinned first row, a system column.
|
|
147
147
|
*/
|
|
148
148
|
locked?: boolean;
|
|
149
|
+
/**
|
|
150
|
+
* Without `handle`: a press on a control inside picks the item up too once it travels (a finger: holds); a click stays the control's. A table header whose sort button fills it.
|
|
151
|
+
*/
|
|
152
|
+
dragFromControls?: boolean;
|
|
149
153
|
/**
|
|
150
154
|
* The row look: fill, radius, padding.
|
|
151
155
|
*/
|
|
@@ -155,12 +159,12 @@ export type DndSortableItemProps = {
|
|
|
155
159
|
*/
|
|
156
160
|
children?: React.ReactNode;
|
|
157
161
|
ref?: React.Ref<HTMLElement>;
|
|
158
|
-
} & Omit<React.HTMLAttributes<HTMLElement>, "id">;
|
|
162
|
+
} & Omit<React.HTMLAttributes<HTMLElement>, "id"> & Pick<React.ThHTMLAttributes<HTMLTableCellElement>, "scope">;
|
|
159
163
|
/**
|
|
160
164
|
* One item of a `Dnd.Sortable`. Renders `li` inside `ul` / `ol`, `tr` inside `tbody`, `div` otherwise.
|
|
161
165
|
* The item is the keyboard target (a `div` one is a named `button`), or with `handle` its grip is.
|
|
162
166
|
*/
|
|
163
|
-
declare function DndSortableItem({ id, disabled: itemDisabled, locked, className, children, onPointerDown, onKeyDown, onDragStart, ref, ...rest }: DndSortableItemProps): import("react/jsx-runtime").JSX.Element;
|
|
167
|
+
declare function DndSortableItem({ id, disabled: itemDisabled, locked, dragFromControls, className, children, onPointerDown, onKeyDown, onDragStart, ref, ...rest }: DndSortableItemProps): import("react/jsx-runtime").JSX.Element;
|
|
164
168
|
declare namespace DndSortableItem {
|
|
165
169
|
var displayName: string;
|
|
166
170
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shifts the cells of `row` while `draggingId` is carried and the gap stands in front of
|
|
3
|
+
* `gapBefore`. A drop (the order changed) takes the shifts off in the same frame the cells take
|
|
4
|
+
* their new places, which are the places they were drawn at (each column keeps its width); a
|
|
5
|
+
* cancel glides them back.
|
|
6
|
+
*/
|
|
7
|
+
export declare function useInPlaceShift(row: HTMLElement | null, order: readonly string[], draggingId: string | null, gapBefore: string | null | undefined): void;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import type { DragItem, DragOutcome } from "./dragSession";
|
|
3
3
|
import type { Point, Rect } from "./geometry";
|
|
4
|
+
/** Set by `Dnd.SortableItem dragFromControls`: a press on a control inside picks the item up too. */
|
|
5
|
+
export declare const DRAG_FROM_CONTROLS = "data-dnd-drag-controls";
|
|
4
6
|
export type DragSourceItem<TData> = {
|
|
5
7
|
id: string;
|
|
6
8
|
data: TData;
|
|
@@ -31,6 +31,11 @@ export type SortableListOptions = {
|
|
|
31
31
|
canDrop?: ((id: string) => DropVerdict) | undefined;
|
|
32
32
|
/** Only a press on a `[data-dnd-handle]` element starts a drag. */
|
|
33
33
|
handleOnly?: boolean | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* The items keep their places in the layout while one is carried (the cells of a table's head
|
|
36
|
+
* row stay in their columns): the host shifts them aside itself, nothing glides here mid-drag.
|
|
37
|
+
*/
|
|
38
|
+
inPlace?: boolean | undefined;
|
|
34
39
|
};
|
|
35
40
|
export type SortableItemProps = DragSourceProps & {
|
|
36
41
|
"data-lifted"?: true | undefined;
|