@12-apps/ui 6.13.2 → 6.14.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/_internal/components/data-display/Carousel/Carousel.js +3 -3
- package/dist/_internal/components/data-display/Chart/SpecChart.js +3 -3
- package/dist/_internal/components/data-display/DataGrid/DataGrid.js +2 -2
- package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +20 -18
- package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +23 -21
- package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +2 -2
- package/dist/_internal/components/data-display/DataViews/base-list-card.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +1 -1
- package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +2 -2
- package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +4 -4
- package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +19 -17
- package/dist/_internal/components/data-display/DataViews/data-views-header-row.js +12 -0
- package/dist/_internal/components/data-display/DataViews/data-views-header-row.js.map +1 -0
- package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +6 -6
- package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +4 -4
- package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +5 -5
- package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +2 -2
- package/dist/_internal/components/data-display/DataViews/data-views-selection-extra.js +8 -0
- package/dist/_internal/components/data-display/DataViews/data-views-selection-extra.js.map +1 -0
- package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +6 -6
- package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +5 -5
- package/dist/_internal/components/data-display/index.js +16 -16
- package/dist/_internal/components/index.js +17 -17
- package/dist/_internal/components/layout/ContentToolbar/ContentToolbar.js +1 -1
- package/dist/_internal/components/layout/index.js +1 -1
- package/dist/charts.js +11 -11
- package/dist/{chunk-HNDUCGM3.js → chunk-62WEMJV3.js} +2 -2
- package/dist/chunk-62WEMJV3.js.map +1 -0
- package/dist/chunk-A4YWFX5C.js +39 -0
- package/dist/chunk-A4YWFX5C.js.map +1 -0
- package/dist/{chunk-HRJ27X5B.js → chunk-BPCYXLWY.js} +4 -4
- package/dist/{chunk-XEE7PLDR.js → chunk-DFLTUI7W.js} +7 -7
- package/dist/{chunk-AWTERXCW.js → chunk-GNAAHDCN.js} +4 -2
- package/dist/chunk-GNAAHDCN.js.map +1 -0
- package/dist/{chunk-HGBZZDP6.js → chunk-J4DDXHLB.js} +4 -4
- package/dist/chunk-KX75HM5U.js +20 -0
- package/dist/chunk-KX75HM5U.js.map +1 -0
- package/dist/{chunk-Q4ITS2EP.js → chunk-LNIVT62P.js} +14 -38
- package/dist/chunk-LNIVT62P.js.map +1 -0
- package/dist/{chunk-RUO4D4N6.js → chunk-LPNF4YJ7.js} +3 -3
- package/dist/{chunk-QQE2PVLO.js → chunk-M6365FGG.js} +2 -2
- package/dist/{chunk-RDYBS45D.js → chunk-O6MZPB64.js} +2 -2
- package/dist/{chunk-4KSOSI3U.js → chunk-O6V7KKW7.js} +4 -4
- package/dist/{chunk-4VNUOSTQ.js → chunk-PHA3NFZM.js} +2 -2
- package/dist/{chunk-6PFBYCBU.js → chunk-QIKTIKO6.js} +2 -2
- package/dist/{chunk-X5MPHXG5.js → chunk-RPWEXIAW.js} +6 -6
- package/dist/{chunk-2WWKBD4D.js → chunk-TSPHRZ4U.js} +5 -1
- package/dist/chunk-TSPHRZ4U.js.map +1 -0
- package/dist/{chunk-RRYQG5Y6.js → chunk-U5RIDMMV.js} +3 -3
- package/dist/chunk-U5RIDMMV.js.map +1 -0
- package/dist/{chunk-N6JGYVRY.js → chunk-UENDC45F.js} +2 -2
- package/dist/{chunk-4ZEU22L2.js → chunk-XPS7FWZS.js} +4 -4
- package/dist/{chunk-WXBBWSNU.js → chunk-ZNGUDGKW.js} +6 -5
- package/dist/chunk-ZNGUDGKW.js.map +1 -0
- package/dist/data-display/CardKit.js +4 -4
- package/dist/data-display/Carousel.js +3 -3
- package/dist/data-display/Chart.js +11 -11
- package/dist/data-display/DataGrid.js +2 -2
- package/dist/data-display/DataViews.js +31 -29
- package/dist/layout/ContentToolbar.js +1 -1
- package/dist/types/components/data-display/DataViews/DataViewsGrid.d.ts +12 -0
- package/dist/types/components/data-display/DataViews/DataViewsGrid.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/DataViewsTableBase.d.ts +3 -0
- package/dist/types/components/data-display/DataViews/DataViewsTableBase.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-grid-parts.d.ts +3 -0
- package/dist/types/components/data-display/DataViews/data-views-grid-parts.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-header-row.d.ts +18 -0
- package/dist/types/components/data-display/DataViews/data-views-header-row.d.ts.map +1 -0
- package/dist/types/components/data-display/DataViews/data-views-selection-extra.d.ts +50 -0
- package/dist/types/components/data-display/DataViews/data-views-selection-extra.d.ts.map +1 -0
- package/dist/types/components/data-display/DataViews/data-views-shell-toolbar.d.ts +3 -1
- package/dist/types/components/data-display/DataViews/data-views-shell-toolbar.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-toolbar.d.ts +2 -0
- package/dist/types/components/data-display/DataViews/data-views-toolbar.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/index.d.ts +1 -0
- package/dist/types/components/data-display/DataViews/index.d.ts.map +1 -1
- package/dist/types/components/layout/ContentToolbar/ContentToolbar.d.ts +1 -1
- package/dist/types/components/layout/ContentToolbar/ContentToolbar.d.ts.map +1 -1
- package/dist/types/components/layout/ContentToolbar/ContentToolbar.types.d.ts +15 -0
- package/dist/types/components/layout/ContentToolbar/ContentToolbar.types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/data-display/DataViews/DataViewsGrid.tsx +12 -0
- package/src/components/data-display/DataViews/DataViewsTableBase.tsx +3 -0
- package/src/components/data-display/DataViews/data-views-grid-parts.tsx +5 -50
- package/src/components/data-display/DataViews/data-views-header-row.tsx +52 -0
- package/src/components/data-display/DataViews/data-views-selection-extra.ts +67 -0
- package/src/components/data-display/DataViews/data-views-shell-toolbar.tsx +4 -0
- package/src/components/data-display/DataViews/data-views-toolbar.tsx +3 -0
- package/src/components/data-display/DataViews/index.ts +1 -0
- package/src/components/layout/ContentToolbar/ContentToolbar.md +10 -3
- package/src/components/layout/ContentToolbar/ContentToolbar.tsx +5 -0
- package/src/components/layout/ContentToolbar/ContentToolbar.types.ts +15 -0
- package/dist/chunk-2WWKBD4D.js.map +0 -1
- package/dist/chunk-AWTERXCW.js.map +0 -1
- package/dist/chunk-HNDUCGM3.js.map +0 -1
- package/dist/chunk-Q4ITS2EP.js.map +0 -1
- package/dist/chunk-RRYQG5Y6.js.map +0 -1
- package/dist/chunk-WXBBWSNU.js.map +0 -1
- /package/dist/{chunk-HRJ27X5B.js.map → chunk-BPCYXLWY.js.map} +0 -0
- /package/dist/{chunk-XEE7PLDR.js.map → chunk-DFLTUI7W.js.map} +0 -0
- /package/dist/{chunk-HGBZZDP6.js.map → chunk-J4DDXHLB.js.map} +0 -0
- /package/dist/{chunk-RUO4D4N6.js.map → chunk-LPNF4YJ7.js.map} +0 -0
- /package/dist/{chunk-QQE2PVLO.js.map → chunk-M6365FGG.js.map} +0 -0
- /package/dist/{chunk-RDYBS45D.js.map → chunk-O6MZPB64.js.map} +0 -0
- /package/dist/{chunk-4KSOSI3U.js.map → chunk-O6V7KKW7.js.map} +0 -0
- /package/dist/{chunk-4VNUOSTQ.js.map → chunk-PHA3NFZM.js.map} +0 -0
- /package/dist/{chunk-6PFBYCBU.js.map → chunk-QIKTIKO6.js.map} +0 -0
- /package/dist/{chunk-X5MPHXG5.js.map → chunk-RPWEXIAW.js.map} +0 -0
- /package/dist/{chunk-N6JGYVRY.js.map → chunk-UENDC45F.js.map} +0 -0
- /package/dist/{chunk-4ZEU22L2.js.map → chunk-XPS7FWZS.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-views-grid-parts.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-grid-parts.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"data-views-grid-parts.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-grid-parts.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The grid's own header row: the page title on the left, the primary page
|
|
3
|
+
* actions on the right.
|
|
4
|
+
*
|
|
5
|
+
* `title` and `headerActions` were DECLARED on `DataViewsGridProps` and
|
|
6
|
+
* `DataViewsTableBaseProps` but never destructured or forwarded — dead props
|
|
7
|
+
* whose types lied to every caller that set them. Wired here rather than
|
|
8
|
+
* deleted: a table that carries its own title keeps the title, the scope tabs
|
|
9
|
+
* and the toolbar as one block, instead of the page having to space them.
|
|
10
|
+
*
|
|
11
|
+
* Renders NOTHING when neither is supplied, so no existing table gains a row.
|
|
12
|
+
*/
|
|
13
|
+
export declare function GridHeaderRow({ title, headerActions, testIdPrefix, }: {
|
|
14
|
+
title?: string;
|
|
15
|
+
headerActions?: React.ReactNode;
|
|
16
|
+
testIdPrefix: string;
|
|
17
|
+
}): React.JSX.Element | null;
|
|
18
|
+
//# sourceMappingURL=data-views-header-row.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-views-header-row.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-header-row.tsx"],"names":[],"mappings":"AAOA;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,aAAa,EACb,YAAY,GACb,EAAE;IACD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAwB3B"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The selection-WIDENING slot: what a paginated grid needs so an operator can
|
|
3
|
+
* act on "everything matching the filter" rather than on the page in front of
|
|
4
|
+
* them.
|
|
5
|
+
*
|
|
6
|
+
* It is a slot of its own rather than a share of the bulk-actions menu because
|
|
7
|
+
* the two answer different questions — `actions` is what HAPPENS to the
|
|
8
|
+
* selection, this is what the selection IS. Folding a widening into the actions
|
|
9
|
+
* menu files "change what I picked" under "do this to what I picked", where
|
|
10
|
+
* every entry is expected to write something.
|
|
11
|
+
*/
|
|
12
|
+
import type { DataViewsController } from "./use-data-views-state";
|
|
13
|
+
/**
|
|
14
|
+
* What a widening control gets to decide with.
|
|
15
|
+
*
|
|
16
|
+
* `allOnPageSelected` is the one thing a host cannot compute for itself, and
|
|
17
|
+
* the whole reason this is a context rather than a bare node: the grid owns
|
|
18
|
+
* which rows the page is currently rendering — server mode pages at the
|
|
19
|
+
* backend, so the host's `rows` prop and the page can differ mid-fetch — and
|
|
20
|
+
* "every row here is ticked" is the trigger a select-all-matching control
|
|
21
|
+
* hangs on. Deriving it host-side would be a second, slightly different answer
|
|
22
|
+
* to the question the grid already answers to draw its own header checkbox.
|
|
23
|
+
*/
|
|
24
|
+
export interface SelectionExtraContext<T extends Record<string, unknown>> {
|
|
25
|
+
/** The selected rows, off-page ones included. */
|
|
26
|
+
selectedRows: T[];
|
|
27
|
+
/** Drop the whole selection. */
|
|
28
|
+
clearSelection: () => void;
|
|
29
|
+
/** Every row the page is rendering is selected — and the page is not empty. */
|
|
30
|
+
allOnPageSelected: boolean;
|
|
31
|
+
/** How many rows the page is rendering. */
|
|
32
|
+
pageRowCount: number;
|
|
33
|
+
}
|
|
34
|
+
/** The host's widening control, called only while something is selected. */
|
|
35
|
+
export type SelectionExtraRender<T extends Record<string, unknown>> = (context: SelectionExtraContext<T>) => React.ReactNode;
|
|
36
|
+
/**
|
|
37
|
+
* Resolve the host's control against the page on screen.
|
|
38
|
+
*
|
|
39
|
+
* Measured against `c.matched` — which in server mode IS the page — rather than
|
|
40
|
+
* the `rows` prop, so the answer cannot lag a page change.
|
|
41
|
+
*
|
|
42
|
+
* Returns `undefined` with nothing selected, so the toolbar renders no empty
|
|
43
|
+
* slot: a widening with nothing to widen is not a control.
|
|
44
|
+
*/
|
|
45
|
+
export declare function resolveSelectionExtra<T extends Record<string, unknown>>({ c, getRowId, selectionExtra, }: {
|
|
46
|
+
c: DataViewsController<T>;
|
|
47
|
+
getRowId: (row: T) => string | number;
|
|
48
|
+
selectionExtra?: SelectionExtraRender<T>;
|
|
49
|
+
}): React.ReactNode;
|
|
50
|
+
//# sourceMappingURL=data-views-selection-extra.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-views-selection-extra.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-selection-extra.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE;;;;;;;;;;GAUG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACtE,iDAAiD;IACjD,YAAY,EAAE,CAAC,EAAE,CAAC;IAClB,gCAAgC;IAChC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,+EAA+E;IAC/E,iBAAiB,EAAE,OAAO,CAAC;IAC3B,2CAA2C;IAC3C,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,4EAA4E;AAC5E,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CACpE,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,KAC9B,KAAK,CAAC,SAAS,CAAC;AAErB;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EACvE,CAAC,EACD,QAAQ,EACR,cAAc,GACf,EAAE;IACD,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC1B,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,CAAC;IACtC,cAAc,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;CAC1C,GAAG,KAAK,CAAC,SAAS,CASlB"}
|
|
@@ -6,7 +6,7 @@ import type { DataViewsController } from "./use-data-views-state";
|
|
|
6
6
|
* The toolbar band, fed from the controller. Split out of `GridShell` for that
|
|
7
7
|
* function's size budget — it is ~25 props of pure forwarding and nothing else.
|
|
8
8
|
*/
|
|
9
|
-
export declare function ShellToolbar<T extends Record<string, unknown>>({ c, rows, testIdPrefix, rowActions, bulkActions, toolbarRightSlot, showInline, compactControls, counterHidden, sortKinds, displayView, exportConfig, filterControls, barRef, }: {
|
|
9
|
+
export declare function ShellToolbar<T extends Record<string, unknown>>({ c, rows, testIdPrefix, rowActions, bulkActions, selectionExtra, toolbarRightSlot, showInline, compactControls, counterHidden, sortKinds, displayView, exportConfig, filterControls, barRef, }: {
|
|
10
10
|
c: DataViewsController<T>;
|
|
11
11
|
rows: T[];
|
|
12
12
|
testIdPrefix: string;
|
|
@@ -15,6 +15,8 @@ export declare function ShellToolbar<T extends Record<string, unknown>>({ c, row
|
|
|
15
15
|
exportConfig?: DataViewExport;
|
|
16
16
|
rowActions?: RowAction<T>[];
|
|
17
17
|
bulkActions?: (selectedRows: T[], clearSelection: () => void) => React.ReactNode;
|
|
18
|
+
/** Already resolved by the shell, which is the party that knows the page. */
|
|
19
|
+
selectionExtra?: React.ReactNode;
|
|
18
20
|
toolbarRightSlot?: React.ReactNode;
|
|
19
21
|
/** Search + filters, rendered on the toolbar line (see `GridToolbar`). */
|
|
20
22
|
filterControls?: React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-views-shell-toolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-shell-toolbar.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC9D,CAAC,EACD,IAAI,EACJ,YAAY,EACZ,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,aAAa,EACb,SAAS,EACT,WAAW,EACX,YAAY,EACZ,cAAc,EACd,MAAM,GACP,EAAE;IACD,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,IAAI,KAAK,KAAK,CAAC,SAAS,CAAC;IACjF,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC,0EAA0E;IAC1E,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACnC,UAAU,EAAE,OAAO,CAAC;IACpB,2DAA2D;IAC3D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,4EAA4E;IAC5E,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"data-views-shell-toolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-shell-toolbar.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC9D,CAAC,EACD,IAAI,EACJ,YAAY,EACZ,UAAU,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,aAAa,EACb,SAAS,EACT,WAAW,EACX,YAAY,EACZ,cAAc,EACd,MAAM,GACP,EAAE;IACD,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,IAAI,KAAK,KAAK,CAAC,SAAS,CAAC;IACjF,6EAA6E;IAC7E,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC,0EAA0E;IAC1E,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACnC,UAAU,EAAE,OAAO,CAAC;IACpB,2DAA2D;IAC3D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,4EAA4E;IAC5E,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAsCpB;AAED,qFAAqF"}
|
|
@@ -10,6 +10,8 @@ export interface GridToolbarProps<T extends Record<string, unknown>> {
|
|
|
10
10
|
clearSelection: () => void;
|
|
11
11
|
rowActions?: RowAction<T>[];
|
|
12
12
|
bulkActions?: (selectedRows: T[], clearSelection: () => void) => React.ReactNode;
|
|
13
|
+
/** A control between the count and the actions menu — see `selectionExtra`. */
|
|
14
|
+
selectionExtra?: React.ReactNode;
|
|
13
15
|
sortFields: SortFieldDefinition[];
|
|
14
16
|
activeSortField: string;
|
|
15
17
|
activeSortOrder: "asc" | "desc";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-views-toolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-toolbar.tsx"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACzB,MAAM,6BAA6B,CAAC;AAKrC,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC1F,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACjE,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,CAAC,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,IAAI,KAAK,KAAK,CAAC,SAAS,CAAC;IACjF,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,KAAK,GAAG,MAAM,CAAC;IAChC,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,KAAK,IAAI,CAAC;IAC7D,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC,aAAa,EAAE,sBAAsB,EAAE,CAAC;IACxC,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iFAAiF;IACjF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,kFAAkF;IAClF,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACnC,6EAA6E;IAC7E,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC1B,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,kFAAkF;IAClF,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,qDAAqD;IACrD,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAgED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"data-views-toolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-toolbar.tsx"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACzB,MAAM,6BAA6B,CAAC;AAKrC,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC1F,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACjE,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,CAAC,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,IAAI,KAAK,KAAK,CAAC,SAAS,CAAC;IACjF,+EAA+E;IAC/E,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,KAAK,GAAG,MAAM,CAAC;IAChC,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,KAAK,IAAI,CAAC;IAC7D,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC,aAAa,EAAE,sBAAsB,EAAE,CAAC;IACxC,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iFAAiF;IACjF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,kFAAkF;IAClF,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACnC,6EAA6E;IAC7E,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC1B,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,kFAAkF;IAClF,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,qDAAqD;IACrD,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAgED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAyC5G"}
|
|
@@ -18,6 +18,7 @@ export { toSavedViewSummary, CARD_ASPECT_RATIOS, DATA_VIEWS_LAYOUTS } from "./da
|
|
|
18
18
|
export { cardScaleForZoom, cardMinWidthForZoom } from "./data-views-layout-context";
|
|
19
19
|
export { DataViewsBoard, type BoardConfig, type BoardGroup } from "./DataViewsBoard";
|
|
20
20
|
export type { DataViewExport, DataViewExportFormat, DataViewExportRequest, } from "./data-views-export";
|
|
21
|
+
export type { SelectionExtraContext, SelectionExtraRender } from "./data-views-selection-extra";
|
|
21
22
|
export { DataViewsScopeTabs, resolveScope, assertNoScopePillOverlap, type ScopeConfig, } from "./data-views-scopes";
|
|
22
23
|
export type { RowAction, DataViewCardSelection, CardAspectRatio, SavedViewSummary, DataViewState, DataViewSyncState, DataViewsLayout, DataViewColumn, FilterFieldConfig, RangeFieldConfig, RangeFieldKind, RangeValue, RangePreset, NumberRangeFieldConfig, DayRangeFieldConfig, DataViewPersistence, DataViewRouter, DataViewSaveInput, DataViewMutationResult, DataViewQuery, DataViewServer, } from "./data-views-types";
|
|
23
24
|
export { DataViewsCopyProvider, useDataViewsCopy } from "./data-views-copy-context";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAMxE,OAAO,EACL,aAAa,EACb,aAAa,EACb,UAAU,EACV,KAAK,SAAS,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,KAAK,kBAAkB,EACvB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAI3B,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EACL,qBAAqB,EACrB,WAAW,EACX,KAAK,kBAAkB,EACvB,KAAK,aAAa,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACrF,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,wBAAwB,EACxB,KAAK,WAAW,GACjB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,SAAS,EACT,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,WAAW,EACX,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,EACb,cAAc,GACf,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACpF,YAAY,EACV,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAMxE,OAAO,EACL,aAAa,EACb,aAAa,EACb,UAAU,EACV,KAAK,SAAS,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,KAAK,kBAAkB,EACvB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAI3B,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EACL,qBAAqB,EACrB,WAAW,EACX,KAAK,kBAAkB,EACvB,KAAK,aAAa,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACrF,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAChG,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,wBAAwB,EACxB,KAAK,WAAW,GACjB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,SAAS,EACT,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,WAAW,EACX,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,EACb,cAAc,GACf,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACpF,YAAY,EACV,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC"}
|
|
@@ -29,5 +29,5 @@ import type { ContentToolbarProps } from './ContentToolbar.types';
|
|
|
29
29
|
* />
|
|
30
30
|
* ```
|
|
31
31
|
*/
|
|
32
|
-
export declare function ContentToolbar({ hasSelection, selectedCount, selectAll, clearSelection, rightControls, leadingControls, actions, selectAllTestId, clearAllTestId, edgeAlign, exclusiveSelection, selectAllLabel, selectAllText, clearAllText, }: ContentToolbarProps): React.JSX.Element;
|
|
32
|
+
export declare function ContentToolbar({ hasSelection, selectedCount, selectAll, clearSelection, rightControls, leadingControls, actions, selectionExtra, selectAllTestId, clearAllTestId, edgeAlign, exclusiveSelection, selectAllLabel, selectAllText, clearAllText, }: ContentToolbarProps): React.JSX.Element;
|
|
33
33
|
//# sourceMappingURL=ContentToolbar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentToolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/layout/ContentToolbar/ContentToolbar.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"ContentToolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/layout/ContentToolbar/ContentToolbar.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAkLlE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,cAAc,CAAC,EAC7B,YAAY,EACZ,aAAa,EACb,SAAS,EACT,cAAc,EACd,aAAa,EACb,eAAe,EACf,OAAO,EACP,cAAc,EACd,eAAe,EACf,cAAc,EACd,SAAiB,EACjB,kBAA0B,EAC1B,cAAc,EACd,aAAa,EACb,YAAY,GACb,EAAE,mBAAmB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAkDzC"}
|
|
@@ -42,6 +42,21 @@ export interface ContentToolbarProps {
|
|
|
42
42
|
* what the action does.
|
|
43
43
|
*/
|
|
44
44
|
actions?: ReactNode;
|
|
45
|
+
/**
|
|
46
|
+
* A control rendered between the count and {@link actions}, and ONLY while
|
|
47
|
+
* something is selected.
|
|
48
|
+
*
|
|
49
|
+
* It is a second slot rather than more room in `actions` because the two
|
|
50
|
+
* answer different questions. `actions` is what HAPPENS to the selection;
|
|
51
|
+
* this is what the selection IS — the "select all 143 matching" widening
|
|
52
|
+
* that a paginated grid needs once its whole page is ticked. Folding a
|
|
53
|
+
* widening control into the actions menu would file "change what I picked"
|
|
54
|
+
* under "do this to what I picked", where an operator reasonably expects
|
|
55
|
+
* every entry to write something.
|
|
56
|
+
*
|
|
57
|
+
* Ignored when nothing is selected: a widening has nothing to widen.
|
|
58
|
+
*/
|
|
59
|
+
selectionExtra?: ReactNode;
|
|
45
60
|
/** Test id for the Select All button. */
|
|
46
61
|
selectAllTestId?: string;
|
|
47
62
|
/** Test id for the Clear All button. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentToolbar.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/layout/ContentToolbar/ContentToolbar.types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ContentToolbar.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/layout/ContentToolbar/ContentToolbar.types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -5,6 +5,7 @@ import { useEffect, useRef } from "react";
|
|
|
5
5
|
import { type SortFieldDefinition } from "../../layout/ContentToolbar";
|
|
6
6
|
|
|
7
7
|
import { GridShell } from "./data-views-grid-parts";
|
|
8
|
+
import type { SelectionExtraRender } from "./data-views-selection-extra";
|
|
8
9
|
import type { ListGroupConfig } from "./list-card-rails";
|
|
9
10
|
import type { DisplayPanelView } from "./data-views-display-panel";
|
|
10
11
|
import type { BoardConfig } from "./DataViewsBoard";
|
|
@@ -97,6 +98,17 @@ interface DataViewsGridProps<T extends Record<string, unknown>> {
|
|
|
97
98
|
* Receives the selected rows + a `clearSelection` callback.
|
|
98
99
|
*/
|
|
99
100
|
bulkActions?: (selectedRows: T[], clearSelection: () => void) => React.ReactNode;
|
|
101
|
+
/**
|
|
102
|
+
* A control rendered beside the "N selected" count, for changing WHAT is
|
|
103
|
+
* selected rather than what happens to it — a "select all N matching the
|
|
104
|
+
* filter" widening, above all.
|
|
105
|
+
*
|
|
106
|
+
* Called only while something is selected, and handed
|
|
107
|
+
* {@link SelectionExtraContext.allOnPageSelected} so the control can follow
|
|
108
|
+
* the convention operators already know: the widening appears once the whole
|
|
109
|
+
* page is ticked, and not before.
|
|
110
|
+
*/
|
|
111
|
+
selectionExtra?: SelectionExtraRender<T>;
|
|
100
112
|
/**
|
|
101
113
|
* Render a bespoke per-row menu in the actions column instead of the auto
|
|
102
114
|
* kebab — typically an entity's self-contained 3-dots menu that owns its own
|
|
@@ -4,6 +4,7 @@ import type { SortFieldDefinition } from "../../layout/ContentToolbar";
|
|
|
4
4
|
import { useEffect, useMemo, useRef, useState } from "react";
|
|
5
5
|
|
|
6
6
|
import { DataViewsGrid } from "./DataViewsGrid";
|
|
7
|
+
import type { SelectionExtraRender } from "./data-views-selection-extra";
|
|
7
8
|
import type { ListGroupConfig } from "./list-card-rails";
|
|
8
9
|
import type { DisplayPanelView } from "./data-views-display-panel";
|
|
9
10
|
import { viewStateKey } from "./data-views-dirty";
|
|
@@ -76,6 +77,8 @@ export interface DataViewsTableBaseProps<T extends Record<string, unknown>> {
|
|
|
76
77
|
rowActionsLeading?: (row: T) => React.ReactNode;
|
|
77
78
|
/** Low-level bulk-action override; prefer `rowActions`. */
|
|
78
79
|
bulkActions?: (selectedRows: T[], clearSelection: () => void) => React.ReactNode;
|
|
80
|
+
/** A selection-widening control beside the count (e.g. "select all matching"). */
|
|
81
|
+
selectionExtra?: SelectionExtraRender<T>;
|
|
79
82
|
/** Bespoke per-row menu (an entity's self-contained 3-dots menu) instead of the auto kebab. */
|
|
80
83
|
renderRowMenu?: (row: T) => React.ReactNode;
|
|
81
84
|
/** Opt-in "Grade" (cards) layout — a card renderer per row; adds a Grade/Tabela toggle. */
|
|
@@ -3,8 +3,6 @@
|
|
|
3
3
|
import { useEffect, useState } from "react";
|
|
4
4
|
|
|
5
5
|
import { TableFilter } from "../../layout/TableFilter";
|
|
6
|
-
import { Text } from "../../typography/Text";
|
|
7
|
-
import { Box } from "../../../mui/Box";
|
|
8
6
|
import { Stack } from "../../../mui/Stack";
|
|
9
7
|
|
|
10
8
|
import {
|
|
@@ -17,6 +15,8 @@ import { GridMain } from "./data-views-grid-bodies";
|
|
|
17
15
|
import type { ListGroupConfig } from "./list-card-rails";
|
|
18
16
|
import { InlineFilterControls } from "./data-views-inline-bar";
|
|
19
17
|
import { toOverflowFields, useFilterOverflow, type OverflowSplit } from "./data-views-overflow";
|
|
18
|
+
import { GridHeaderRow } from "./data-views-header-row";
|
|
19
|
+
import { resolveSelectionExtra, type SelectionExtraRender } from "./data-views-selection-extra";
|
|
20
20
|
import { ShellToolbar } from "./data-views-shell-toolbar";
|
|
21
21
|
import type { DisplayPanelView } from "./data-views-display-panel";
|
|
22
22
|
import type { DataViewExport } from "./data-views-export";
|
|
@@ -36,54 +36,6 @@ import type {
|
|
|
36
36
|
} from "./data-views-types";
|
|
37
37
|
import type { DataViewsController } from "./use-data-views-state";
|
|
38
38
|
|
|
39
|
-
/* ── Header row ──────────────────────────────────────────────────────────── */
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* The grid's own header row: the page title on the left, the primary page
|
|
43
|
-
* actions on the right.
|
|
44
|
-
*
|
|
45
|
-
* `title` and `headerActions` were DECLARED on `DataViewsGridProps` and
|
|
46
|
-
* `DataViewsTableBaseProps` but never destructured or forwarded — dead props
|
|
47
|
-
* whose types lied to every caller that set them. Wired here rather than
|
|
48
|
-
* deleted: a table that carries its own title keeps the title, the scope tabs
|
|
49
|
-
* and the toolbar as one block, instead of the page having to space them.
|
|
50
|
-
*
|
|
51
|
-
* Renders NOTHING when neither is supplied, so no existing table gains a row.
|
|
52
|
-
*/
|
|
53
|
-
function GridHeaderRow({
|
|
54
|
-
title,
|
|
55
|
-
headerActions,
|
|
56
|
-
testIdPrefix,
|
|
57
|
-
}: {
|
|
58
|
-
title?: string;
|
|
59
|
-
headerActions?: React.ReactNode;
|
|
60
|
-
testIdPrefix: string;
|
|
61
|
-
}): React.JSX.Element | null {
|
|
62
|
-
if (!title && !headerActions) return null;
|
|
63
|
-
return (
|
|
64
|
-
<Box
|
|
65
|
-
data-testid={`${testIdPrefix}-header`}
|
|
66
|
-
sx={{
|
|
67
|
-
display: "flex",
|
|
68
|
-
alignItems: "center",
|
|
69
|
-
justifyContent: "space-between",
|
|
70
|
-
gap: 2,
|
|
71
|
-
flexWrap: "wrap",
|
|
72
|
-
pb: 1.5,
|
|
73
|
-
}}
|
|
74
|
-
>
|
|
75
|
-
{title ? (
|
|
76
|
-
<Text variant="heading" size="lg" as="h2">
|
|
77
|
-
{title}
|
|
78
|
-
</Text>
|
|
79
|
-
) : (
|
|
80
|
-
<Box />
|
|
81
|
-
)}
|
|
82
|
-
{headerActions && <Box sx={{ display: "flex", alignItems: "center", gap: 1 }}>{headerActions}</Box>}
|
|
83
|
-
</Box>
|
|
84
|
-
);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
39
|
/* ── Layout ⇄ view-state mirror ──────────────────────────────────────────── */
|
|
88
40
|
|
|
89
41
|
/**
|
|
@@ -230,6 +182,8 @@ interface GridShellProps<T extends Record<string, unknown>> {
|
|
|
230
182
|
toolbarRightSlot?: React.ReactNode;
|
|
231
183
|
rowActions?: RowAction<T>[];
|
|
232
184
|
bulkActions?: (selectedRows: T[], clearSelection: () => void) => React.ReactNode;
|
|
185
|
+
/** A widening control beside the selection count — see `resolveSelectionExtra`. */
|
|
186
|
+
selectionExtra?: SelectionExtraRender<T>;
|
|
233
187
|
/** Opt-in "Grade" (cards) layout: renders each row as an entity-supplied card.
|
|
234
188
|
* Omit ⇒ table only (no layout toggle). */
|
|
235
189
|
renderCard?: (row: T, selection: DataViewCardSelection) => React.ReactNode;
|
|
@@ -326,6 +280,7 @@ function ShellStack<T extends Record<string, unknown>>({
|
|
|
326
280
|
testIdPrefix={testIdPrefix}
|
|
327
281
|
rowActions={props.rowActions}
|
|
328
282
|
bulkActions={props.bulkActions}
|
|
283
|
+
selectionExtra={resolveSelectionExtra(props)}
|
|
329
284
|
toolbarRightSlot={props.toolbarRightSlot}
|
|
330
285
|
compactControls={showInline && split.compactControls}
|
|
331
286
|
counterHidden={showInline && split.counterHidden}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { Text } from "../../typography/Text";
|
|
4
|
+
import { Box } from "../../../mui/Box";
|
|
5
|
+
|
|
6
|
+
/* ── Header row ──────────────────────────────────────────────────────────── */
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* The grid's own header row: the page title on the left, the primary page
|
|
10
|
+
* actions on the right.
|
|
11
|
+
*
|
|
12
|
+
* `title` and `headerActions` were DECLARED on `DataViewsGridProps` and
|
|
13
|
+
* `DataViewsTableBaseProps` but never destructured or forwarded — dead props
|
|
14
|
+
* whose types lied to every caller that set them. Wired here rather than
|
|
15
|
+
* deleted: a table that carries its own title keeps the title, the scope tabs
|
|
16
|
+
* and the toolbar as one block, instead of the page having to space them.
|
|
17
|
+
*
|
|
18
|
+
* Renders NOTHING when neither is supplied, so no existing table gains a row.
|
|
19
|
+
*/
|
|
20
|
+
export function GridHeaderRow({
|
|
21
|
+
title,
|
|
22
|
+
headerActions,
|
|
23
|
+
testIdPrefix,
|
|
24
|
+
}: {
|
|
25
|
+
title?: string;
|
|
26
|
+
headerActions?: React.ReactNode;
|
|
27
|
+
testIdPrefix: string;
|
|
28
|
+
}): React.JSX.Element | null {
|
|
29
|
+
if (!title && !headerActions) return null;
|
|
30
|
+
return (
|
|
31
|
+
<Box
|
|
32
|
+
data-testid={`${testIdPrefix}-header`}
|
|
33
|
+
sx={{
|
|
34
|
+
display: "flex",
|
|
35
|
+
alignItems: "center",
|
|
36
|
+
justifyContent: "space-between",
|
|
37
|
+
gap: 2,
|
|
38
|
+
flexWrap: "wrap",
|
|
39
|
+
pb: 1.5,
|
|
40
|
+
}}
|
|
41
|
+
>
|
|
42
|
+
{title ? (
|
|
43
|
+
<Text variant="heading" size="lg" as="h2">
|
|
44
|
+
{title}
|
|
45
|
+
</Text>
|
|
46
|
+
) : (
|
|
47
|
+
<Box />
|
|
48
|
+
)}
|
|
49
|
+
{headerActions && <Box sx={{ display: "flex", alignItems: "center", gap: 1 }}>{headerActions}</Box>}
|
|
50
|
+
</Box>
|
|
51
|
+
);
|
|
52
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The selection-WIDENING slot: what a paginated grid needs so an operator can
|
|
3
|
+
* act on "everything matching the filter" rather than on the page in front of
|
|
4
|
+
* them.
|
|
5
|
+
*
|
|
6
|
+
* It is a slot of its own rather than a share of the bulk-actions menu because
|
|
7
|
+
* the two answer different questions — `actions` is what HAPPENS to the
|
|
8
|
+
* selection, this is what the selection IS. Folding a widening into the actions
|
|
9
|
+
* menu files "change what I picked" under "do this to what I picked", where
|
|
10
|
+
* every entry is expected to write something.
|
|
11
|
+
*/
|
|
12
|
+
import type { DataViewsController } from "./use-data-views-state";
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* What a widening control gets to decide with.
|
|
16
|
+
*
|
|
17
|
+
* `allOnPageSelected` is the one thing a host cannot compute for itself, and
|
|
18
|
+
* the whole reason this is a context rather than a bare node: the grid owns
|
|
19
|
+
* which rows the page is currently rendering — server mode pages at the
|
|
20
|
+
* backend, so the host's `rows` prop and the page can differ mid-fetch — and
|
|
21
|
+
* "every row here is ticked" is the trigger a select-all-matching control
|
|
22
|
+
* hangs on. Deriving it host-side would be a second, slightly different answer
|
|
23
|
+
* to the question the grid already answers to draw its own header checkbox.
|
|
24
|
+
*/
|
|
25
|
+
export interface SelectionExtraContext<T extends Record<string, unknown>> {
|
|
26
|
+
/** The selected rows, off-page ones included. */
|
|
27
|
+
selectedRows: T[];
|
|
28
|
+
/** Drop the whole selection. */
|
|
29
|
+
clearSelection: () => void;
|
|
30
|
+
/** Every row the page is rendering is selected — and the page is not empty. */
|
|
31
|
+
allOnPageSelected: boolean;
|
|
32
|
+
/** How many rows the page is rendering. */
|
|
33
|
+
pageRowCount: number;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/** The host's widening control, called only while something is selected. */
|
|
37
|
+
export type SelectionExtraRender<T extends Record<string, unknown>> = (
|
|
38
|
+
context: SelectionExtraContext<T>,
|
|
39
|
+
) => React.ReactNode;
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Resolve the host's control against the page on screen.
|
|
43
|
+
*
|
|
44
|
+
* Measured against `c.matched` — which in server mode IS the page — rather than
|
|
45
|
+
* the `rows` prop, so the answer cannot lag a page change.
|
|
46
|
+
*
|
|
47
|
+
* Returns `undefined` with nothing selected, so the toolbar renders no empty
|
|
48
|
+
* slot: a widening with nothing to widen is not a control.
|
|
49
|
+
*/
|
|
50
|
+
export function resolveSelectionExtra<T extends Record<string, unknown>>({
|
|
51
|
+
c,
|
|
52
|
+
getRowId,
|
|
53
|
+
selectionExtra,
|
|
54
|
+
}: {
|
|
55
|
+
c: DataViewsController<T>;
|
|
56
|
+
getRowId: (row: T) => string | number;
|
|
57
|
+
selectionExtra?: SelectionExtraRender<T>;
|
|
58
|
+
}): React.ReactNode {
|
|
59
|
+
if (selectionExtra === undefined || c.selectedRows.length === 0) return undefined;
|
|
60
|
+
const page = c.matched;
|
|
61
|
+
return selectionExtra({
|
|
62
|
+
selectedRows: c.selectedRows,
|
|
63
|
+
clearSelection: c.clearSelection,
|
|
64
|
+
allOnPageSelected: page.length > 0 && page.every((row) => c.selectedIds.has(getRowId(row))),
|
|
65
|
+
pageRowCount: page.length,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
@@ -22,6 +22,7 @@ export function ShellToolbar<T extends Record<string, unknown>>({
|
|
|
22
22
|
testIdPrefix,
|
|
23
23
|
rowActions,
|
|
24
24
|
bulkActions,
|
|
25
|
+
selectionExtra,
|
|
25
26
|
toolbarRightSlot,
|
|
26
27
|
showInline,
|
|
27
28
|
compactControls,
|
|
@@ -40,6 +41,8 @@ export function ShellToolbar<T extends Record<string, unknown>>({
|
|
|
40
41
|
exportConfig?: DataViewExport;
|
|
41
42
|
rowActions?: RowAction<T>[];
|
|
42
43
|
bulkActions?: (selectedRows: T[], clearSelection: () => void) => React.ReactNode;
|
|
44
|
+
/** Already resolved by the shell, which is the party that knows the page. */
|
|
45
|
+
selectionExtra?: React.ReactNode;
|
|
43
46
|
toolbarRightSlot?: React.ReactNode;
|
|
44
47
|
/** Search + filters, rendered on the toolbar line (see `GridToolbar`). */
|
|
45
48
|
filterControls?: React.ReactNode;
|
|
@@ -71,6 +74,7 @@ export function ShellToolbar<T extends Record<string, unknown>>({
|
|
|
71
74
|
clearSelection={c.clearSelection}
|
|
72
75
|
rowActions={rowActions}
|
|
73
76
|
bulkActions={bulkActions}
|
|
77
|
+
selectionExtra={selectionExtra}
|
|
74
78
|
sortFields={c.resolvedSortFields}
|
|
75
79
|
activeSortField={c.activeSortField}
|
|
76
80
|
activeSortOrder={c.activeSortOrder}
|
|
@@ -25,6 +25,8 @@ export interface GridToolbarProps<T extends Record<string, unknown>> {
|
|
|
25
25
|
clearSelection: () => void;
|
|
26
26
|
rowActions?: RowAction<T>[];
|
|
27
27
|
bulkActions?: (selectedRows: T[], clearSelection: () => void) => React.ReactNode;
|
|
28
|
+
/** A control between the count and the actions menu — see `selectionExtra`. */
|
|
29
|
+
selectionExtra?: React.ReactNode;
|
|
28
30
|
sortFields: SortFieldDefinition[];
|
|
29
31
|
activeSortField: string;
|
|
30
32
|
activeSortOrder: "asc" | "desc";
|
|
@@ -161,6 +163,7 @@ export function GridToolbar<T extends Record<string, unknown>>(props: GridToolba
|
|
|
161
163
|
clearSelection={props.clearSelection}
|
|
162
164
|
selectAllTestId={`${testIdPrefix}-select-all`}
|
|
163
165
|
clearAllTestId={`${testIdPrefix}-clear-all`}
|
|
166
|
+
selectionExtra={props.selectionExtra}
|
|
164
167
|
actions={renderBulkActions({
|
|
165
168
|
rowActions: props.rowActions,
|
|
166
169
|
bulkActions: props.bulkActions,
|
|
@@ -8,12 +8,19 @@ pages and projects.
|
|
|
8
8
|
## Anatomy
|
|
9
9
|
|
|
10
10
|
```
|
|
11
|
-
[Select All] [Clear All] | N
|
|
12
|
-
|
|
11
|
+
[Select All] [Clear All] | N selected <selectionExtra> <actions> (o)══ ▦▾ Sort By: … ▾ ⨏
|
|
12
|
+
└─────────────────── left cluster (selection chrome) ──────────────┘ └───── rightControls slot ─────┘
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
- **Left cluster** — always shows **Select All**. Once `hasSelection` is true it
|
|
16
|
-
adds **Clear All**, an "N items selected" count, and
|
|
16
|
+
adds **Clear All**, an "N items selected" count, and two optional slots:
|
|
17
|
+
`selectionExtra` then `actions`.
|
|
18
|
+
- **`selectionExtra` vs `actions`** — `actions` is what HAPPENS to the selection
|
|
19
|
+
(delete, export, send). `selectionExtra` is what the selection IS: the
|
|
20
|
+
"select all N matching the filter" widening a paginated list needs once its
|
|
21
|
+
whole page is ticked. They are separate slots because an operator reasonably
|
|
22
|
+
expects every entry in an actions menu to write something, and a widening
|
|
23
|
+
writes nothing.
|
|
17
24
|
- **Right cluster** — a free `rightControls` node. Compose it from the shipped
|
|
18
25
|
controls below (or anything else).
|
|
19
26
|
|
|
@@ -28,6 +28,7 @@ type SelectionClusterProps = Pick<
|
|
|
28
28
|
| 'selectAll'
|
|
29
29
|
| 'clearSelection'
|
|
30
30
|
| 'actions'
|
|
31
|
+
| 'selectionExtra'
|
|
31
32
|
| 'selectAllTestId'
|
|
32
33
|
| 'clearAllTestId'
|
|
33
34
|
| 'edgeAlign'
|
|
@@ -43,6 +44,7 @@ function SelectionCluster({
|
|
|
43
44
|
selectAll,
|
|
44
45
|
clearSelection,
|
|
45
46
|
actions,
|
|
47
|
+
selectionExtra,
|
|
46
48
|
selectAllTestId,
|
|
47
49
|
clearAllTestId,
|
|
48
50
|
edgeAlign = false,
|
|
@@ -106,6 +108,7 @@ function SelectionCluster({
|
|
|
106
108
|
>
|
|
107
109
|
{selectedCount} {selectedCount === 1 ? 'item' : 'items'} selected
|
|
108
110
|
</Typography>
|
|
111
|
+
{selectionExtra}
|
|
109
112
|
{actionsSlot}
|
|
110
113
|
</>
|
|
111
114
|
) : (
|
|
@@ -219,6 +222,7 @@ export function ContentToolbar({
|
|
|
219
222
|
rightControls,
|
|
220
223
|
leadingControls,
|
|
221
224
|
actions,
|
|
225
|
+
selectionExtra,
|
|
222
226
|
selectAllTestId,
|
|
223
227
|
clearAllTestId,
|
|
224
228
|
edgeAlign = false,
|
|
@@ -258,6 +262,7 @@ export function ContentToolbar({
|
|
|
258
262
|
selectAll={selectAll}
|
|
259
263
|
clearSelection={clearSelection}
|
|
260
264
|
actions={actions}
|
|
265
|
+
selectionExtra={selectionExtra}
|
|
261
266
|
selectAllTestId={selectAllTestId}
|
|
262
267
|
clearAllTestId={clearAllTestId}
|
|
263
268
|
selectAllLabel={selectAllLabel}
|
|
@@ -45,6 +45,21 @@ export interface ContentToolbarProps {
|
|
|
45
45
|
* what the action does.
|
|
46
46
|
*/
|
|
47
47
|
actions?: ReactNode;
|
|
48
|
+
/**
|
|
49
|
+
* A control rendered between the count and {@link actions}, and ONLY while
|
|
50
|
+
* something is selected.
|
|
51
|
+
*
|
|
52
|
+
* It is a second slot rather than more room in `actions` because the two
|
|
53
|
+
* answer different questions. `actions` is what HAPPENS to the selection;
|
|
54
|
+
* this is what the selection IS — the "select all 143 matching" widening
|
|
55
|
+
* that a paginated grid needs once its whole page is ticked. Folding a
|
|
56
|
+
* widening control into the actions menu would file "change what I picked"
|
|
57
|
+
* under "do this to what I picked", where an operator reasonably expects
|
|
58
|
+
* every entry to write something.
|
|
59
|
+
*
|
|
60
|
+
* Ignored when nothing is selected: a widening has nothing to widen.
|
|
61
|
+
*/
|
|
62
|
+
selectionExtra?: ReactNode;
|
|
48
63
|
/** Test id for the Select All button. */
|
|
49
64
|
selectAllTestId?: string;
|
|
50
65
|
/** Test id for the Clear All button. */
|