prime-ui-kit 0.18.0 → 0.19.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/dist/chunks/{chunk-OAXJWF3L.js → chunk-RZNGLELR.js} +120 -114
- package/dist/chunks/{chunk-MB4CXSLL.js → chunk-WYCTXD63.js} +832 -619
- package/dist/chunks/{chunk-X3JT5CLR.js → chunk-ZTZ2ML2B.js} +1 -1
- package/dist/color-picker.js +2 -2
- package/dist/components/data-table/ColumnsMenu.d.ts +16 -20
- package/dist/components/data-table/DataTable.d.ts +14 -11
- package/dist/components/data-table/Head.d.ts +8 -1
- package/dist/components/data-table/Row.d.ts +7 -1
- package/dist/components/data-table/StateRows.d.ts +3 -1
- package/dist/components/field-list/FieldList.d.ts +8 -8
- package/dist/components/index.d.ts +1 -1
- package/dist/components/kanban/Kanban.d.ts +4 -0
- package/dist/components/list/List.d.ts +9 -4
- package/dist/index.css +1 -1
- package/dist/index.js +2 -2
- package/dist/internal/fieldCell.d.ts +6 -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 +1 -7
- package/dist/skill/anti-slop.md +23 -0
- package/dist/skill/api-contract.md +1 -1
- package/dist/skill/cheatsheet.md +7 -3
- package/dist/skill/checklist.md +4 -0
- package/dist/skill/composition.md +70 -12
- 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 +40 -40
- package/dist/skill/reference/components/data-table/examples/actions-column.tsx +154 -0
- package/dist/skill/reference/components/data-table/examples/columns-visibility.tsx +3 -12
- package/dist/skill/reference/components/data-table/examples/controlled.tsx +1 -1
- package/dist/skill/reference/components/data-table/examples/narrow.tsx +4 -11
- 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/toolbar.tsx +26 -32
- package/dist/skill/reference/components/dnd/COMPONENT.md +4 -3
- 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.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 +29 -25
- 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/reorder.tsx +1 -1
- package/dist/skill/reference/components/field-list/examples/screen.module.css +1 -1
- package/dist/skill/reference/components/field-list/examples/screen.tsx +168 -162
- package/dist/skill/reference/components/field-list/examples/totals.tsx +9 -8
- 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/segmented-control/COMPONENT.md +3 -2
- package/dist/skill/reference/components/sheet/COMPONENT.md +18 -7
- package/dist/skill/reference/layout/page/COMPONENT.md +5 -12
- 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 +7 -5
- package/dist/tokens/semantic.d.ts +1 -1
- 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 +40 -40
- package/src/components/data-table/examples/actions-column.tsx +154 -0
- package/src/components/data-table/examples/columns-visibility.tsx +3 -12
- package/src/components/data-table/examples/controlled.tsx +1 -1
- package/src/components/data-table/examples/narrow.tsx +4 -11
- 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/toolbar.tsx +26 -32
- package/src/components/dnd/COMPONENT.md +4 -3
- 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.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 +29 -25
- 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/reorder.tsx +1 -1
- package/src/components/field-list/examples/screen.module.css +1 -1
- package/src/components/field-list/examples/screen.tsx +168 -162
- package/src/components/field-list/examples/totals.tsx +9 -8
- 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/segmented-control/COMPONENT.md +3 -2
- package/src/components/sheet/COMPONENT.md +18 -7
- package/src/layout/page/COMPONENT.md +5 -12
- 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-ZTZ2ML2B.js";
|
|
8
|
+
import "./chunks/chunk-RZNGLELR.js";
|
|
9
9
|
import "./chunks/chunk-QFHE5GKW.js";
|
|
10
10
|
export {
|
|
11
11
|
ColorField,
|
|
@@ -1,23 +1,19 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
align?: PositionAlign;
|
|
12
|
-
/** The trigger button. */
|
|
13
|
-
ref?: React.Ref<HTMLButtonElement>;
|
|
1
|
+
import { type ControlSize } from "../../internal/states";
|
|
2
|
+
import type { DataTableLabels } from "./DataTable";
|
|
3
|
+
import type { DataTableColumn } from "./types";
|
|
4
|
+
type ColumnsMenuProps = {
|
|
5
|
+
/** Every column, hidden ones included, in table order. */
|
|
6
|
+
columns: DataTableColumn<never>[];
|
|
7
|
+
hidden: ReadonlySet<string>;
|
|
8
|
+
setHidden: (hidden: string[]) => void;
|
|
9
|
+
labels: DataTableLabels;
|
|
10
|
+
size: ControlSize;
|
|
14
11
|
};
|
|
15
12
|
/**
|
|
16
|
-
* The column chooser of the table
|
|
17
|
-
*
|
|
18
|
-
* with `hideable: false` stays checked and
|
|
13
|
+
* The column chooser of the table (`columnsMenu`), drawn in its header row: an icon-only ghost
|
|
14
|
+
* Button one tier below the table, named and tipped by `labels.columns`, opening a Dropdown with a
|
|
15
|
+
* check item per column and «Показать все». A column with `hideable: false` stays checked and
|
|
16
|
+
* disabled, and the last visible column cannot be hidden.
|
|
19
17
|
*/
|
|
20
|
-
export declare function
|
|
21
|
-
export
|
|
22
|
-
var displayName: string;
|
|
23
|
-
}
|
|
18
|
+
export declare function ColumnsMenu({ columns, hidden, setHidden, labels, size }: ColumnsMenuProps): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
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,9 +24,9 @@ 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 column chooser item that shows every column again. */
|
|
32
30
|
showAllColumns: string;
|
|
33
31
|
/** `aria-label` of a row's drag handle (`onReorder`); `{label}` is `getRowLabel(row)`. */
|
|
34
32
|
reorderRow: string;
|
|
@@ -50,7 +48,7 @@ export type DataTableProps<Row> = Omit<React.HTMLAttributes<HTMLDivElement>, "ch
|
|
|
50
48
|
*/
|
|
51
49
|
columns: DataTableColumn<Row>[];
|
|
52
50
|
/**
|
|
53
|
-
* Ids of columns that are not rendered, controlled. A column with `hideable: false` stays.
|
|
51
|
+
* Ids of columns that are not rendered, controlled. A column with `hideable: false` stays. The column chooser (`columnsMenu`) changes it.
|
|
54
52
|
*/
|
|
55
53
|
hiddenColumns?: string[];
|
|
56
54
|
/**
|
|
@@ -58,9 +56,13 @@ export type DataTableProps<Row> = Omit<React.HTMLAttributes<HTMLDivElement>, "ch
|
|
|
58
56
|
*/
|
|
59
57
|
defaultHiddenColumns?: string[];
|
|
60
58
|
/**
|
|
61
|
-
* The hidden ids changed (`
|
|
59
|
+
* 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
60
|
*/
|
|
63
61
|
onHiddenColumnsChange?: (hiddenColumns: string[]) => void;
|
|
62
|
+
/**
|
|
63
|
+
* The column chooser at the end of the header row: in the head cell of a trailing row-actions column (`hideHeader`), else in a cell of its own; sticks with `stickyLastColumn`. Needs `showHeader`.
|
|
64
|
+
*/
|
|
65
|
+
columnsMenu?: boolean;
|
|
64
66
|
/**
|
|
65
67
|
* Data; sorted in memory when a sort is set. With `source="server"` — the page (or the loaded batches) as the server returned it.
|
|
66
68
|
*/
|
|
@@ -93,6 +95,10 @@ export type DataTableProps<Row> = Omit<React.HTMLAttributes<HTMLDivElement>, "ch
|
|
|
93
95
|
* The first visible column (with the selection and toggle columns) sticks while scrolling sideways; the start edge shadow falls from its end edge.
|
|
94
96
|
*/
|
|
95
97
|
stickyFirstColumn?: boolean;
|
|
98
|
+
/**
|
|
99
|
+
* The last visible column (row actions) sticks to the end edge while scrolling sideways; the end edge shadow falls from its start edge.
|
|
100
|
+
*/
|
|
101
|
+
stickyLastColumn?: boolean;
|
|
96
102
|
/**
|
|
97
103
|
* 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
104
|
*/
|
|
@@ -254,7 +260,7 @@ export type DataTableProps<Row> = Omit<React.HTMLAttributes<HTMLDivElement>, "ch
|
|
|
254
260
|
*/
|
|
255
261
|
loadingRows?: number;
|
|
256
262
|
/**
|
|
257
|
-
* Panel above the table (
|
|
263
|
+
* Panel above the table for several controls of the table itself (bulk actions on the selected rows, a table-local search with filters); stacks below 30rem of table width.
|
|
258
264
|
*/
|
|
259
265
|
toolbar?: React.ReactNode;
|
|
260
266
|
/**
|
|
@@ -282,7 +288,4 @@ export type DataTableProps<Row> = Omit<React.HTMLAttributes<HTMLDivElement>, "ch
|
|
|
282
288
|
*/
|
|
283
289
|
onCollapsedGroupsChange?: (collapsedGroups: (string | number)[]) => void;
|
|
284
290
|
};
|
|
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
|
-
}
|
|
291
|
+
export declare function DataTable<Row>({ columns: allColumns, hiddenColumns, defaultHiddenColumns, onHiddenColumnsChange, 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, 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;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as React from "react";
|
|
1
2
|
import type { ControlSize } from "../../internal/states";
|
|
2
3
|
import type { DataTableColumn, DataTableSortState } from "./types";
|
|
3
4
|
type HeadProps<Row> = {
|
|
@@ -6,6 +7,8 @@ type HeadProps<Row> = {
|
|
|
6
7
|
sort: DataTableSortState;
|
|
7
8
|
onSort: (columnId: string) => void;
|
|
8
9
|
stickyFirstColumn: boolean;
|
|
10
|
+
/** The last visible column sticks to the end edge (with `stickyHeader`: the end corner). */
|
|
11
|
+
stickyLastColumn: boolean;
|
|
9
12
|
/** The head sticks to the top of the scroller. */
|
|
10
13
|
stickyHeader: boolean;
|
|
11
14
|
/** Sticky head and first column: the leading head cells stick to both edges. */
|
|
@@ -15,6 +18,10 @@ type HeadProps<Row> = {
|
|
|
15
18
|
infoLabel: string;
|
|
16
19
|
/** A leading column of row handles (`onReorder`). */
|
|
17
20
|
reorderable?: boolean;
|
|
21
|
+
/** The column chooser trigger (`columnsMenu`), or null. */
|
|
22
|
+
columnsMenu: React.ReactNode;
|
|
23
|
+
/** The chooser stands in a cell of its own at the end; else in the row-actions head cell. */
|
|
24
|
+
menuCell: boolean;
|
|
18
25
|
selectAll?: {
|
|
19
26
|
checked: boolean;
|
|
20
27
|
indeterminate: boolean;
|
|
@@ -23,5 +30,5 @@ type HeadProps<Row> = {
|
|
|
23
30
|
onToggle: () => void;
|
|
24
31
|
};
|
|
25
32
|
};
|
|
26
|
-
export declare function Head<Row>({ columns, size, sort, onSort, stickyFirstColumn, stickyHeader, stickyCorner, expandEnabled, infoLabel, reorderable, selectAll, }: HeadProps<Row>): import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
export declare function Head<Row>({ columns, size, sort, onSort, stickyFirstColumn, stickyLastColumn, stickyHeader, stickyCorner, expandEnabled, infoLabel, reorderable, columnsMenu, menuCell, selectAll, }: HeadProps<Row>): import("react/jsx-runtime").JSX.Element;
|
|
27
34
|
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 cell under the head's column chooser (`columnsMenu` with no row-actions column). */
|
|
21
|
+
menuCell: boolean;
|
|
18
22
|
striped: boolean;
|
|
19
23
|
totalColumns: number;
|
|
20
24
|
/**
|
|
@@ -93,10 +97,12 @@ type MeasureBodyProps<Row> = {
|
|
|
93
97
|
expandEnabled: boolean;
|
|
94
98
|
/** A leading column of row handles (`onReorder`). */
|
|
95
99
|
reorderable: boolean;
|
|
100
|
+
/** A trailing cell under the head's column chooser. */
|
|
101
|
+
menuCell: 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, reorderable, }: MeasureBodyProps<Row>): import("react/jsx-runtime").JSX.Element;
|
|
107
|
+
export declare function MeasureBody<Row>({ rows, columns, selectable, expandEnabled, reorderable, menuCell, }: MeasureBodyProps<Row>): import("react/jsx-runtime").JSX.Element;
|
|
102
108
|
export {};
|
|
@@ -10,6 +10,8 @@ type StateRowsProps<Row> = {
|
|
|
10
10
|
expandEnabled: boolean;
|
|
11
11
|
/** A leading column of row handles (`onReorder`). */
|
|
12
12
|
reorderable?: boolean;
|
|
13
|
+
/** A trailing cell under the head's column chooser. */
|
|
14
|
+
menuCell: 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, reorderable, loadError, empty, emptyLabel, skeletonRows, }: StateRowsProps<Row>): import("react/jsx-runtime").JSX.Element | import("react/jsx-runtime").JSX.Element[];
|
|
25
|
+
export declare function StateRows<Row>({ state, columns, size, totalColumns, selectable, expandEnabled, reorderable, menuCell, loadError, empty, emptyLabel, skeletonRows, }: StateRowsProps<Row>): import("react/jsx-runtime").JSX.Element | import("react/jsx-runtime").JSX.Element[];
|
|
24
26
|
export {};
|
|
@@ -11,8 +11,8 @@ export type FieldListLabels = {
|
|
|
11
11
|
row: string;
|
|
12
12
|
/** Name of a row with `getLabel` text; `{label}` is that text. */
|
|
13
13
|
namedRow: string;
|
|
14
|
-
/**
|
|
15
|
-
|
|
14
|
+
/** Why the remove button of a `getLocked` row is off: its tooltip and description. */
|
|
15
|
+
lockedReason: string;
|
|
16
16
|
/** Text beside the disabled add button once the list holds `max` rows; `{max}` is the limit. */
|
|
17
17
|
maxReached: string;
|
|
18
18
|
/** Name of the totals row (`renderTotals`), shown in its first cell when that has no total. */
|
|
@@ -25,8 +25,8 @@ export type FieldListColumn = {
|
|
|
25
25
|
/** Column heading, shown once above the rows; it names the field of this column in every row. */
|
|
26
26
|
label: string;
|
|
27
27
|
/**
|
|
28
|
-
* `fill` (default) shares the free width; `compact`
|
|
29
|
-
* a swatch button, a checkbox); `xs` a number of a few digits (a share, a percent); `s` a short
|
|
28
|
+
* `fill` (default) shares the free width; `compact` is as wide as its widest control or heading
|
|
29
|
+
* (an icon Select, a swatch button, a checkbox); `xs` a number of a few digits (a share, a percent); `s` a short
|
|
30
30
|
* value (a quantity, a code); `m` an amount or a date.
|
|
31
31
|
*/
|
|
32
32
|
width?: FieldListColumnWidth;
|
|
@@ -64,11 +64,11 @@ export type FieldListProps<T extends object> = Omit<FieldRootDomProps, "onChange
|
|
|
64
64
|
*/
|
|
65
65
|
columns: readonly FieldListColumn[];
|
|
66
66
|
/**
|
|
67
|
-
* The cells of a row, one element per column (a fragment): kit fields without `label`. `row` has `index`, `update(patch)` and `remove()`.
|
|
67
|
+
* The cells of a row, one element per column (a fragment): kit fields without `label`. `row` has `index`, `update(patch)` and `remove()`. In one column the remove is the field's last segment.
|
|
68
68
|
*/
|
|
69
69
|
renderItem: (item: T, row: FieldListRow<T>) => React.ReactNode;
|
|
70
70
|
/**
|
|
71
|
-
* The totals row under the rows: one node per column (a fragment), `null` where
|
|
71
|
+
* The totals row under the rows: one node per column (a fragment), `null` where none; each aligned as its column's field text. The first cell without a total reads `labels.totals`.
|
|
72
72
|
*/
|
|
73
73
|
renderTotals?: (items: readonly T[]) => React.ReactNode;
|
|
74
74
|
/**
|
|
@@ -84,11 +84,11 @@ export type FieldListProps<T extends object> = Omit<FieldRootDomProps, "onChange
|
|
|
84
84
|
*/
|
|
85
85
|
getLabel?: (item: T) => string;
|
|
86
86
|
/**
|
|
87
|
-
* Pinned rows:
|
|
87
|
+
* Pinned rows: the remove button stays in its place, off, its tooltip says why (`labels.lockedReason`); with `reorderable` a lock takes the handle's place and the row holds it while others move.
|
|
88
88
|
*/
|
|
89
89
|
getLocked?: (item: T) => boolean;
|
|
90
90
|
/**
|
|
91
|
-
* Rows move by a
|
|
91
|
+
* Rows move by a handle at the row's end, after the remove button: drag, a touch hold, Alt + ↑ / ↓.
|
|
92
92
|
*/
|
|
93
93
|
reorderable?: boolean;
|
|
94
94
|
/**
|
|
@@ -40,7 +40,7 @@ export type { ConfirmDialogLabels, ConfirmDialogRootProps, ConfirmDialogTriggerP
|
|
|
40
40
|
export { ConfirmDialog } from "./confirm-dialog/ConfirmDialog";
|
|
41
41
|
export type { CrossfadeProps } from "./crossfade/Crossfade";
|
|
42
42
|
export { Crossfade } from "./crossfade/Crossfade";
|
|
43
|
-
export type { DataTableColumn,
|
|
43
|
+
export type { DataTableColumn, DataTableGroup, DataTableLabels, DataTableOrder, DataTableProps, DataTableRowClickEvent, DataTableSortState, } from "./data-table/DataTable";
|
|
44
44
|
export { DataTable } from "./data-table/DataTable";
|
|
45
45
|
export type { DatepickerLabels, DatepickerPanelProps, DatepickerPreset, DatepickerRange, DatepickerRootProps, WeekStart, } from "./datepicker/Datepicker";
|
|
46
46
|
export { Datepicker, DEFAULT_DATEPICKER_PRESETS, datepickerPresets, formatDatepickerValue, formatDateValue, YEARLESS_YEAR, } from "./datepicker/Datepicker";
|
|
@@ -141,6 +141,10 @@ export type KanbanRootProps<T> = Omit<React.HTMLAttributes<HTMLDivElement>, "chi
|
|
|
141
141
|
* Columns show skeleton cards in the card geometry; the cards cross-fade in when it turns off.
|
|
142
142
|
*/
|
|
143
143
|
loading?: boolean;
|
|
144
|
+
/**
|
|
145
|
+
* Placeholder columns a `loading` board draws while `columns` is empty (the stages are still loading); the columns fade in where they stood.
|
|
146
|
+
*/
|
|
147
|
+
loadingColumns?: number;
|
|
144
148
|
/**
|
|
145
149
|
* Read-only board: no drag, no keyboard moves, no column grips; `onItemOpen` and `getItemHref` still open cards.
|
|
146
150
|
*/
|
|
@@ -11,7 +11,7 @@ export type ListRootProps = Omit<React.HTMLAttributes<HTMLUListElement>, "childr
|
|
|
11
11
|
*/
|
|
12
12
|
size?: ControlSize;
|
|
13
13
|
/**
|
|
14
|
-
* Rows reorder by
|
|
14
|
+
* Rows reorder by an end handle (drag, touch hold, Alt + ↑ / ↓): item `value` `id` goes before `beforeId` (`null` = last). Apply with `moveBefore`; a returned promise keeps the row busy, a rejection moves it back.
|
|
15
15
|
*/
|
|
16
16
|
onReorder?: (id: string, beforeId: string | null) => void | Promise<void>;
|
|
17
17
|
/**
|
|
@@ -90,14 +90,19 @@ declare namespace ListItemCount {
|
|
|
90
90
|
var displayName: string;
|
|
91
91
|
}
|
|
92
92
|
export type ListItemActionsProps = React.HTMLAttributes<HTMLDivElement> & {
|
|
93
|
+
/**
|
|
94
|
+
* `"end"` after the row element: a plain settings row, label first. `"start"` before it, in the DOM too: the on / off of a reorderable row reads first and the grip keeps the end.
|
|
95
|
+
*/
|
|
96
|
+
side?: "start" | "end";
|
|
93
97
|
ref?: React.Ref<HTMLDivElement>;
|
|
94
98
|
};
|
|
95
99
|
/**
|
|
96
|
-
* The row's own controls (a Switch, a Dropdown with its icon Button, an icon Button):
|
|
97
|
-
*
|
|
100
|
+
* The row's own controls (a Switch, a Dropdown with its icon Button, an icon Button): beside its
|
|
101
|
+
* button or link and never inside it, one tier below the row — at its end, or leading it with
|
|
102
|
+
* `side="start"` (the on / off of a reorderable row, whose end edge is the grip's). The row's fills
|
|
98
103
|
* cover them.
|
|
99
104
|
*/
|
|
100
|
-
declare function ListItemActions({ className, ...rest }: ListItemActionsProps): import("react/jsx-runtime").JSX.Element;
|
|
105
|
+
declare function ListItemActions({ side, className, ...rest }: ListItemActionsProps): import("react/jsx-runtime").JSX.Element;
|
|
101
106
|
declare namespace ListItemActions {
|
|
102
107
|
var displayName: string;
|
|
103
108
|
}
|