@12-apps/ui 6.13.1 → 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.
Files changed (142) hide show
  1. package/dist/_internal/components/data-display/Carousel/Carousel.js +4 -4
  2. package/dist/_internal/components/data-display/Chart/Chart.js +3 -3
  3. package/dist/_internal/components/data-display/Chart/SpecChart.js +7 -7
  4. package/dist/_internal/components/data-display/Chart/chart-renderers.js +2 -2
  5. package/dist/_internal/components/data-display/Chart/chart-spec.js +2 -2
  6. package/dist/_internal/components/data-display/DataGrid/DataGrid.js +2 -2
  7. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +24 -21
  8. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +29 -26
  9. package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +2 -2
  10. package/dist/_internal/components/data-display/DataViews/base-list-card.js +3 -3
  11. package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +1 -1
  12. package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +2 -2
  13. package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +5 -5
  14. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +3 -3
  15. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +20 -18
  16. package/dist/_internal/components/data-display/DataViews/data-views-header-row.js +12 -0
  17. package/dist/_internal/components/data-display/DataViews/data-views-header-row.js.map +1 -0
  18. package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +7 -7
  19. package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +5 -5
  20. package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +6 -6
  21. package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +3 -3
  22. package/dist/_internal/components/data-display/DataViews/data-views-selection-extra.js +8 -0
  23. package/dist/_internal/components/data-display/DataViews/data-views-selection-extra.js.map +1 -0
  24. package/dist/_internal/components/data-display/DataViews/data-views-selection.js +1 -1
  25. package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +6 -6
  26. package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +1 -1
  27. package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +5 -5
  28. package/dist/_internal/components/data-display/DataViews/data-views-writers.js +9 -0
  29. package/dist/_internal/components/data-display/DataViews/data-views-writers.js.map +1 -0
  30. package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +3 -2
  31. package/dist/_internal/components/data-display/index.js +23 -23
  32. package/dist/_internal/components/index.js +24 -24
  33. package/dist/_internal/components/layout/ContentToolbar/ContentToolbar.js +1 -1
  34. package/dist/_internal/components/layout/index.js +1 -1
  35. package/dist/charts.js +17 -17
  36. package/dist/{chunk-BV5XTGKB.js → chunk-2UCJJACD.js} +7 -9
  37. package/dist/chunk-2UCJJACD.js.map +1 -0
  38. package/dist/{chunk-JKLWHENB.js → chunk-62WEMJV3.js} +3 -3
  39. package/dist/chunk-62WEMJV3.js.map +1 -0
  40. package/dist/chunk-A4YWFX5C.js +39 -0
  41. package/dist/chunk-A4YWFX5C.js.map +1 -0
  42. package/dist/{chunk-CXA6UNFF.js → chunk-AP3PVR3T.js} +5 -5
  43. package/dist/{chunk-NPEKJXVV.js → chunk-BPCYXLWY.js} +7 -7
  44. package/dist/{chunk-XULTDO56.js → chunk-BVGR7OYA.js} +4 -4
  45. package/dist/{chunk-BZTFPSWT.js → chunk-DFLTUI7W.js} +7 -7
  46. package/dist/{chunk-AWTERXCW.js → chunk-GNAAHDCN.js} +4 -2
  47. package/dist/chunk-GNAAHDCN.js.map +1 -0
  48. package/dist/{chunk-HGBZZDP6.js → chunk-J4DDXHLB.js} +4 -4
  49. package/dist/chunk-KX75HM5U.js +20 -0
  50. package/dist/chunk-KX75HM5U.js.map +1 -0
  51. package/dist/chunk-LLZWB32X.js +36 -0
  52. package/dist/chunk-LLZWB32X.js.map +1 -0
  53. package/dist/{chunk-T4BFDZGU.js → chunk-LNIVT62P.js} +16 -40
  54. package/dist/chunk-LNIVT62P.js.map +1 -0
  55. package/dist/{chunk-WLCVOQCJ.js → chunk-LPNF4YJ7.js} +3 -3
  56. package/dist/{chunk-QQE2PVLO.js → chunk-M6365FGG.js} +2 -2
  57. package/dist/{chunk-RDYBS45D.js → chunk-O6MZPB64.js} +2 -2
  58. package/dist/{chunk-4KSOSI3U.js → chunk-O6V7KKW7.js} +4 -4
  59. package/dist/{chunk-JPDKRGYI.js → chunk-PDGAFQ6Z.js} +3 -3
  60. package/dist/{chunk-IN642YHK.js → chunk-PHA3NFZM.js} +2 -2
  61. package/dist/{chunk-NC2AATCC.js → chunk-QIKTIKO6.js} +2 -2
  62. package/dist/{chunk-GOWBYHYW.js → chunk-R6SBP5M5.js} +4 -4
  63. package/dist/{chunk-X5MPHXG5.js → chunk-RPWEXIAW.js} +6 -6
  64. package/dist/{chunk-2WWKBD4D.js → chunk-TSPHRZ4U.js} +5 -1
  65. package/dist/chunk-TSPHRZ4U.js.map +1 -0
  66. package/dist/chunk-U5FOJBLG.js +19 -0
  67. package/dist/chunk-U5FOJBLG.js.map +1 -0
  68. package/dist/{chunk-DEOC5OI7.js → chunk-U5RIDMMV.js} +2 -2
  69. package/dist/chunk-U5RIDMMV.js.map +1 -0
  70. package/dist/{chunk-ZHPKFV7Y.js → chunk-UENDC45F.js} +2 -2
  71. package/dist/{chunk-WXBBWSNU.js → chunk-ZNGUDGKW.js} +6 -5
  72. package/dist/chunk-ZNGUDGKW.js.map +1 -0
  73. package/dist/data-display/CardKit.js +7 -7
  74. package/dist/data-display/Carousel.js +4 -4
  75. package/dist/data-display/Chart.js +17 -17
  76. package/dist/data-display/DataGrid.js +2 -2
  77. package/dist/data-display/DataViews.js +38 -35
  78. package/dist/layout/ContentToolbar.js +1 -1
  79. package/dist/types/components/data-display/DataViews/DataViewsGrid.d.ts +12 -0
  80. package/dist/types/components/data-display/DataViews/DataViewsGrid.d.ts.map +1 -1
  81. package/dist/types/components/data-display/DataViews/DataViewsTableBase.d.ts +3 -0
  82. package/dist/types/components/data-display/DataViews/DataViewsTableBase.d.ts.map +1 -1
  83. package/dist/types/components/data-display/DataViews/data-views-grid-parts.d.ts +3 -0
  84. package/dist/types/components/data-display/DataViews/data-views-grid-parts.d.ts.map +1 -1
  85. package/dist/types/components/data-display/DataViews/data-views-header-row.d.ts +18 -0
  86. package/dist/types/components/data-display/DataViews/data-views-header-row.d.ts.map +1 -0
  87. package/dist/types/components/data-display/DataViews/data-views-selection-extra.d.ts +50 -0
  88. package/dist/types/components/data-display/DataViews/data-views-selection-extra.d.ts.map +1 -0
  89. package/dist/types/components/data-display/DataViews/data-views-selection.d.ts +31 -2
  90. package/dist/types/components/data-display/DataViews/data-views-selection.d.ts.map +1 -1
  91. package/dist/types/components/data-display/DataViews/data-views-shell-toolbar.d.ts +3 -1
  92. package/dist/types/components/data-display/DataViews/data-views-shell-toolbar.d.ts.map +1 -1
  93. package/dist/types/components/data-display/DataViews/data-views-toolbar.d.ts +2 -0
  94. package/dist/types/components/data-display/DataViews/data-views-toolbar.d.ts.map +1 -1
  95. package/dist/types/components/data-display/DataViews/data-views-writers.d.ts +20 -0
  96. package/dist/types/components/data-display/DataViews/data-views-writers.d.ts.map +1 -0
  97. package/dist/types/components/data-display/DataViews/index.d.ts +1 -0
  98. package/dist/types/components/data-display/DataViews/index.d.ts.map +1 -1
  99. package/dist/types/components/data-display/DataViews/use-data-views-state.d.ts.map +1 -1
  100. package/dist/types/components/layout/ContentToolbar/ContentToolbar.d.ts +1 -1
  101. package/dist/types/components/layout/ContentToolbar/ContentToolbar.d.ts.map +1 -1
  102. package/dist/types/components/layout/ContentToolbar/ContentToolbar.types.d.ts +15 -0
  103. package/dist/types/components/layout/ContentToolbar/ContentToolbar.types.d.ts.map +1 -1
  104. package/package.json +1 -1
  105. package/src/components/data-display/DataViews/DataViewsGrid.tsx +12 -0
  106. package/src/components/data-display/DataViews/DataViewsTableBase.tsx +3 -0
  107. package/src/components/data-display/DataViews/data-views-grid-parts.tsx +5 -50
  108. package/src/components/data-display/DataViews/data-views-header-row.tsx +52 -0
  109. package/src/components/data-display/DataViews/data-views-selection-extra.ts +67 -0
  110. package/src/components/data-display/DataViews/data-views-selection.ts +61 -6
  111. package/src/components/data-display/DataViews/data-views-shell-toolbar.tsx +4 -0
  112. package/src/components/data-display/DataViews/data-views-toolbar.tsx +3 -0
  113. package/src/components/data-display/DataViews/data-views-writers.ts +45 -0
  114. package/src/components/data-display/DataViews/index.ts +1 -0
  115. package/src/components/data-display/DataViews/use-data-views-state.ts +4 -11
  116. package/src/components/layout/ContentToolbar/ContentToolbar.md +10 -3
  117. package/src/components/layout/ContentToolbar/ContentToolbar.tsx +5 -0
  118. package/src/components/layout/ContentToolbar/ContentToolbar.types.ts +15 -0
  119. package/dist/chunk-2WWKBD4D.js.map +0 -1
  120. package/dist/chunk-AWTERXCW.js.map +0 -1
  121. package/dist/chunk-BV5XTGKB.js.map +0 -1
  122. package/dist/chunk-DEOC5OI7.js.map +0 -1
  123. package/dist/chunk-JKLWHENB.js.map +0 -1
  124. package/dist/chunk-T4BFDZGU.js.map +0 -1
  125. package/dist/chunk-WTOTWP6A.js +0 -27
  126. package/dist/chunk-WTOTWP6A.js.map +0 -1
  127. package/dist/chunk-WXBBWSNU.js.map +0 -1
  128. /package/dist/{chunk-CXA6UNFF.js.map → chunk-AP3PVR3T.js.map} +0 -0
  129. /package/dist/{chunk-NPEKJXVV.js.map → chunk-BPCYXLWY.js.map} +0 -0
  130. /package/dist/{chunk-XULTDO56.js.map → chunk-BVGR7OYA.js.map} +0 -0
  131. /package/dist/{chunk-BZTFPSWT.js.map → chunk-DFLTUI7W.js.map} +0 -0
  132. /package/dist/{chunk-HGBZZDP6.js.map → chunk-J4DDXHLB.js.map} +0 -0
  133. /package/dist/{chunk-WLCVOQCJ.js.map → chunk-LPNF4YJ7.js.map} +0 -0
  134. /package/dist/{chunk-QQE2PVLO.js.map → chunk-M6365FGG.js.map} +0 -0
  135. /package/dist/{chunk-RDYBS45D.js.map → chunk-O6MZPB64.js.map} +0 -0
  136. /package/dist/{chunk-4KSOSI3U.js.map → chunk-O6V7KKW7.js.map} +0 -0
  137. /package/dist/{chunk-JPDKRGYI.js.map → chunk-PDGAFQ6Z.js.map} +0 -0
  138. /package/dist/{chunk-IN642YHK.js.map → chunk-PHA3NFZM.js.map} +0 -0
  139. /package/dist/{chunk-NC2AATCC.js.map → chunk-QIKTIKO6.js.map} +0 -0
  140. /package/dist/{chunk-GOWBYHYW.js.map → chunk-R6SBP5M5.js.map} +0 -0
  141. /package/dist/{chunk-X5MPHXG5.js.map → chunk-RPWEXIAW.js.map} +0 -0
  142. /package/dist/{chunk-ZHPKFV7Y.js.map → chunk-UENDC45F.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  MoreGroup,
3
3
  fieldClearing
4
- } from "./chunk-NC2AATCC.js";
4
+ } from "./chunk-QIKTIKO6.js";
5
5
  import {
6
6
  useDataViewsCopy
7
7
  } from "./chunk-KHG57NAE.js";
@@ -180,4 +180,4 @@ function MoreFilters({
180
180
  export {
181
181
  MoreFilters
182
182
  };
183
- //# sourceMappingURL=chunk-ZHPKFV7Y.js.map
183
+ //# sourceMappingURL=chunk-UENDC45F.js.map
@@ -1,9 +1,9 @@
1
+ import {
2
+ DataViewsDisplayPanel
3
+ } from "./chunk-J4DDXHLB.js";
1
4
  import {
2
5
  DataViewsExportMenu
3
6
  } from "./chunk-NQCYVYP3.js";
4
- import {
5
- DataViewsDisplayPanel
6
- } from "./chunk-HGBZZDP6.js";
7
7
  import {
8
8
  renderBulkActions
9
9
  } from "./chunk-5VZPVDUF.js";
@@ -15,7 +15,7 @@ import {
15
15
  } from "./chunk-LVCUJ7YU.js";
16
16
  import {
17
17
  ContentToolbar
18
- } from "./chunk-2WWKBD4D.js";
18
+ } from "./chunk-TSPHRZ4U.js";
19
19
  import {
20
20
  default as default2
21
21
  } from "./chunk-6DPAWXZ3.js";
@@ -113,6 +113,7 @@ function GridToolbar(props) {
113
113
  clearSelection: props.clearSelection,
114
114
  selectAllTestId: `${testIdPrefix}-select-all`,
115
115
  clearAllTestId: `${testIdPrefix}-clear-all`,
116
+ selectionExtra: props.selectionExtra,
116
117
  actions: renderBulkActions({
117
118
  rowActions: props.rowActions,
118
119
  bulkActions: props.bulkActions,
@@ -132,4 +133,4 @@ function GridToolbar(props) {
132
133
  export {
133
134
  GridToolbar
134
135
  };
135
- //# sourceMappingURL=chunk-WXBBWSNU.js.map
136
+ //# sourceMappingURL=chunk-ZNGUDGKW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/data-display/DataViews/data-views-toolbar.tsx"],"sourcesContent":["\"use client\";\n\nimport Divider from \"@mui/material/Divider/index.js\";\n\nimport {\n ContentToolbar,\n FilterTrigger,\n type ColumnVisibilityOption,\n type SortFieldDefinition,\n} from \"../../layout/ContentToolbar\";\nimport { Box } from \"../../../mui/Box\";\nimport { Text } from \"../../typography/Text\";\n\nimport { useDataViewsCopy } from \"./data-views-copy-context\";\nimport { DataViewsDisplayPanel, type DisplayPanelView } from \"./data-views-display-panel\";\nimport { DataViewsExportMenu, type DataViewExport } from \"./data-views-export\";\nimport { renderBulkActions } from \"./data-views-grid-helpers\";\nimport type { RowAction } from \"./data-views-types\";\nimport type { DataViewsController } from \"./use-data-views-state\";\n\nexport interface GridToolbarProps<T extends Record<string, unknown>> {\n testIdPrefix: string;\n selectedRows: T[];\n selectAll: () => void;\n clearSelection: () => void;\n rowActions?: RowAction<T>[];\n bulkActions?: (selectedRows: T[], clearSelection: () => void) => React.ReactNode;\n /** A control between the count and the actions menu — see `selectionExtra`. */\n selectionExtra?: React.ReactNode;\n sortFields: SortFieldDefinition[];\n activeSortField: string;\n activeSortOrder: \"asc\" | \"desc\";\n onChangeSort: (field: string, order: \"asc\" | \"desc\") => void;\n matchedCount: number;\n totalCount: number;\n toolbarRightSlot?: React.ReactNode;\n columnOptions: ColumnVisibilityOption[];\n onToggleColumn: (id: string, visible: boolean) => void;\n filterOpen: boolean;\n setFilterOpen: (open: boolean) => void;\n activeFilterCount: number;\n /** Hide the \"Filtros\" slide-in trigger (compact layout shows filters inline). */\n showFilterTrigger?: boolean;\n /**\n * Search + filter controls, rendered ON the toolbar line rather than on a row\n * beneath it. Absent ⇒ the toolbar keeps its plain two-cluster shape.\n */\n filterControls?: React.ReactNode;\n /** Measures the toolbar ROW for the filter overflow — see `useFilterOverflow`. */\n barRef?: React.Ref<HTMLDivElement>;\n /** The controller, so \"Exibir\" can drive sort, columns, order and format. */\n c: DataViewsController<T>;\n /** Per-sort-field value kind, so directions read in the column's own terms. */\n sortKinds?: Record<string, string>;\n /** The saved-view chrome bracketing the Exibir panel, when the host has views. */\n displayView?: DisplayPanelView;\n /** Injected export. Absent ⇒ no Exportar control. */\n exportConfig?: DataViewExport;\n /**\n * Step 2 of the degradation ladder: Exibir/Exportar as icons only.\n * MEASURED upstream (see `useFilterOverflow`) rather than switched at a\n * breakpoint, so a two-filter page keeps its labels where a five-filter one\n * has already given them up.\n */\n compactControls?: boolean;\n /**\n * Step 5 of the ladder, and its floor: on a screen too narrow for even the\n * fully-collapsed row, the counter is dropped so the controls still fit one\n * line instead of spilling outside the toolbar.\n */\n counterHidden?: boolean;\n}\n\n/** The right-aligned toolbar controls: Sort By, the counter, zoom/layout/columns, filters. */\nfunction ToolbarRightControls<T extends Record<string, unknown>>(props: GridToolbarProps<T>): React.JSX.Element {\n const { testIdPrefix, matchedCount, totalCount, filterOpen, setFilterOpen } = props;\n return (\n <>\n {/* MEASURED, never breakpointed: `RESERVED.counter` prices it into the\n ladder, so hiding it at `md` was the ladder and a breakpoint\n disagreeing about the same pixels — which broke the row at exactly\n 900px. It is dropped only as the ladder's last rung. */}\n {!props.counterHidden && (\n <>\n <Text variant=\"caption\" as=\"span\">\n <Box\n component=\"span\"\n data-testid={`${testIdPrefix}-counter`}\n sx={{ whiteSpace: \"nowrap\" }}\n >\n {matchedCount} de {totalCount}\n </Box>\n </Text>\n {/* Divides the READING of the list from the controls that change it —\n the counter states what is on screen, everything right of here\n acts on it. */}\n <Divider\n orientation=\"vertical\"\n flexItem\n sx={{ height: 20, alignSelf: \"center\", mx: 0.5 }}\n />\n </>\n )}\n {props.toolbarRightSlot}\n {/* Sort + columns + format, in ONE control — see DataViewsDisplayPanel. */}\n <DataViewsDisplayPanel\n c={props.c}\n testIdPrefix={testIdPrefix}\n sortKinds={props.sortKinds}\n view={props.displayView}\n compact={props.compactControls}\n />\n {props.exportConfig && (\n <DataViewsExportMenu\n config={props.exportConfig}\n query={props.c.currentQuery}\n totalCount={props.totalCount}\n selectedIds={[...props.c.selectedIds]}\n columns={props.columnOptions.filter((col) => col.visible).map((col) => ({ id: col.id, label: col.label }))}\n testIdPrefix={testIdPrefix}\n compact={props.compactControls}\n />\n )}\n {props.showFilterTrigger !== false && (\n <FilterTrigger\n open={filterOpen}\n onOpenChange={setFilterOpen}\n activeCount={props.activeFilterCount}\n data-testid={`${testIdPrefix}-filters-toggle`}\n />\n )}\n </>\n );\n}\n\n/**\n * The bordered toolbar band: selection chrome + Sort By, the result counter, the\n * saved-views slot, and the filter funnel. The negative margin lets the top/bottom\n * separators reach the sidebar's vertical line and the window edge.\n */\nexport function GridToolbar<T extends Record<string, unknown>>(props: GridToolbarProps<T>): React.JSX.Element {\n const copy = useDataViewsCopy();\n const { testIdPrefix, selectedRows } = props;\n return (\n <Box\n ref={props.barRef}\n sx={{\n borderTop: 1,\n borderBottom: 1,\n borderColor: \"divider\",\n py: 1.25,\n mx: { xs: -2, md: -3 },\n px: { xs: 2, md: 3 },\n }}\n >\n <ContentToolbar\n selectAllLabel={copy.selection.selectAll}\n selectAllText={copy.selection.selectAllOnPage}\n clearAllText={copy.filters.clearAll}\n hasSelection={selectedRows.length > 0}\n selectedCount={selectedRows.length}\n selectAll={props.selectAll}\n clearSelection={props.clearSelection}\n selectAllTestId={`${testIdPrefix}-select-all`}\n clearAllTestId={`${testIdPrefix}-clear-all`}\n selectionExtra={props.selectionExtra}\n actions={renderBulkActions({\n rowActions: props.rowActions,\n bulkActions: props.bulkActions,\n selectedRows,\n clearSelection: props.clearSelection,\n testIdPrefix,\n })}\n leadingControls={props.filterControls}\n // Selection takes the whole line: no Select All while browsing, and no\n // search/filters/Exibir/Exportar once a row is ticked.\n exclusiveSelection\n rightControls={<ToolbarRightControls {...props} />}\n />\n </Box>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,aAAa;AAiFZ,mBACE,KACE,YAFJ;AATR,SAAS,qBAAwD,OAA+C;AAC9G,QAAM,EAAE,cAAc,cAAc,YAAY,YAAY,cAAc,IAAI;AAC9E,SACE,iCAKG;AAAA,KAAC,MAAM,iBACN,iCACE;AAAA,0BAAC,QAAK,SAAQ,WAAU,IAAG,QACzB;AAAA,QAACA;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,eAAa,GAAG,YAAY;AAAA,UAC5B,IAAI,EAAE,YAAY,SAAS;AAAA,UAE1B;AAAA;AAAA,YAAa;AAAA,YAAK;AAAA;AAAA;AAAA,MACrB,GACF;AAAA,MAIA;AAAA,QAAC;AAAA;AAAA,UACC,aAAY;AAAA,UACZ,UAAQ;AAAA,UACR,IAAI,EAAE,QAAQ,IAAI,WAAW,UAAU,IAAI,IAAI;AAAA;AAAA,MACjD;AAAA,OACF;AAAA,IAED,MAAM;AAAA,IAEP;AAAA,MAAC;AAAA;AAAA,QACC,GAAG,MAAM;AAAA,QACT;AAAA,QACA,WAAW,MAAM;AAAA,QACjB,MAAM,MAAM;AAAA,QACZ,SAAS,MAAM;AAAA;AAAA,IACjB;AAAA,IACC,MAAM,gBACL;AAAA,MAAC;AAAA;AAAA,QACC,QAAQ,MAAM;AAAA,QACd,OAAO,MAAM,EAAE;AAAA,QACf,YAAY,MAAM;AAAA,QAClB,aAAa,CAAC,GAAG,MAAM,EAAE,WAAW;AAAA,QACpC,SAAS,MAAM,cAAc,OAAO,CAAC,QAAQ,IAAI,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,IAAI,OAAO,IAAI,MAAM,EAAE;AAAA,QACzG;AAAA,QACA,SAAS,MAAM;AAAA;AAAA,IACjB;AAAA,IAED,MAAM,sBAAsB,SAC3B;AAAA,MAAC;AAAA;AAAA,QACC,MAAM;AAAA,QACN,cAAc;AAAA,QACd,aAAa,MAAM;AAAA,QACnB,eAAa,GAAG,YAAY;AAAA;AAAA,IAC9B;AAAA,KAEJ;AAEJ;AAOO,SAAS,YAA+C,OAA+C;AAC5G,QAAM,OAAO,iBAAiB;AAC9B,QAAM,EAAE,cAAc,aAAa,IAAI;AACvC,SACE;AAAA,IAACA;AAAA,IAAA;AAAA,MACC,KAAK,MAAM;AAAA,MACX,IAAI;AAAA,QACF,WAAW;AAAA,QACX,cAAc;AAAA,QACd,aAAa;AAAA,QACb,IAAI;AAAA,QACJ,IAAI,EAAE,IAAI,IAAI,IAAI,GAAG;AAAA,QACrB,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE;AAAA,MACrB;AAAA,MAEA;AAAA,QAAC;AAAA;AAAA,UACC,gBAAgB,KAAK,UAAU;AAAA,UAC/B,eAAe,KAAK,UAAU;AAAA,UAC9B,cAAc,KAAK,QAAQ;AAAA,UAC3B,cAAc,aAAa,SAAS;AAAA,UACpC,eAAe,aAAa;AAAA,UAC5B,WAAW,MAAM;AAAA,UACjB,gBAAgB,MAAM;AAAA,UACtB,iBAAiB,GAAG,YAAY;AAAA,UAChC,gBAAgB,GAAG,YAAY;AAAA,UAC/B,gBAAgB,MAAM;AAAA,UACtB,SAAS,kBAAkB;AAAA,YACzB,YAAY,MAAM;AAAA,YAClB,aAAa,MAAM;AAAA,YACnB;AAAA,YACA,gBAAgB,MAAM;AAAA,YACtB;AAAA,UACF,CAAC;AAAA,UACD,iBAAiB,MAAM;AAAA,UAGvB,oBAAkB;AAAA,UAClB,eAAe,oBAAC,wBAAsB,GAAG,OAAO;AAAA;AAAA,MAClD;AAAA;AAAA,EACF;AAEJ;","names":["default"]}
@@ -1,9 +1,16 @@
1
+ import {
2
+ CardKebab
3
+ } from "../chunk-ONZPM6FP.js";
1
4
  import {
2
5
  useRowConfirm
3
6
  } from "../chunk-SJIBPRPB.js";
4
7
  import {
5
8
  useRemoveConfirm
6
9
  } from "../chunk-MNJVOU7T.js";
10
+ import {
11
+ CardActionsProvider,
12
+ useCardActions
13
+ } from "../chunk-77GA5YHQ.js";
7
14
  import {
8
15
  rowActionsToMenuItems
9
16
  } from "../chunk-5MXVT7DO.js";
@@ -14,13 +21,6 @@ import {
14
21
  Ledger,
15
22
  TagList
16
23
  } from "../chunk-DJEGLKW3.js";
17
- import {
18
- CardActionsProvider,
19
- useCardActions
20
- } from "../chunk-77GA5YHQ.js";
21
- import {
22
- CardKebab
23
- } from "../chunk-ONZPM6FP.js";
24
24
  import "../chunk-WVML3ENZ.js";
25
25
  import "../chunk-IDHZHOZW.js";
26
26
  import "../chunk-XCBQXSTR.js";
@@ -1,16 +1,16 @@
1
1
  import "../chunk-62FET2BM.js";
2
2
  import {
3
3
  Carousel
4
- } from "../chunk-NPEKJXVV.js";
5
- import "../chunk-5QXSPLWU.js";
6
- import "../chunk-Z56IO7OV.js";
4
+ } from "../chunk-BPCYXLWY.js";
7
5
  import "../chunk-WIXUMFU7.js";
6
+ import "../chunk-RUIV5TVA.js";
7
+ import "../chunk-5QXSPLWU.js";
8
8
  import {
9
9
  CarouselArrows,
10
10
  CarouselIndicators,
11
11
  CarouselThumbnails
12
12
  } from "../chunk-2XGM5PDA.js";
13
- import "../chunk-RUIV5TVA.js";
13
+ import "../chunk-Z56IO7OV.js";
14
14
  import "../chunk-HPK33ACY.js";
15
15
  import "../chunk-I6PZVHIT.js";
16
16
  import "../chunk-7CA6GVBO.js";
@@ -1,14 +1,22 @@
1
1
  import "../chunk-5KLSLD72.js";
2
2
  import {
3
3
  SpecChart
4
- } from "../chunk-JPDKRGYI.js";
4
+ } from "../chunk-PDGAFQ6Z.js";
5
5
  import {
6
6
  Chart
7
- } from "../chunk-CXA6UNFF.js";
8
- import "../chunk-XULTDO56.js";
9
- import "../chunk-XSKVBGCZ.js";
10
- import "../chunk-AVU6KU27.js";
11
- import "../chunk-4V532JF6.js";
7
+ } from "../chunk-AP3PVR3T.js";
8
+ import {
9
+ CHART_SEMANTIC_COLORS,
10
+ ChartSpecError,
11
+ parseChartSpec,
12
+ specToChartProps
13
+ } from "../chunk-R6SBP5M5.js";
14
+ import {
15
+ getChartSpecRenderer,
16
+ getRegisteredChartSpecTypes,
17
+ registerChartSpecRenderer
18
+ } from "../chunk-WKUA6P3W.js";
19
+ import "../chunk-BVGR7OYA.js";
12
20
  import {
13
21
  ChartContainer,
14
22
  ChartLegend,
@@ -16,21 +24,13 @@ import {
16
24
  ChartTooltip,
17
25
  ChartTooltipContent
18
26
  } from "../chunk-M5T3COS2.js";
19
- import {
20
- CHART_SEMANTIC_COLORS,
21
- ChartSpecError,
22
- parseChartSpec,
23
- specToChartProps
24
- } from "../chunk-GOWBYHYW.js";
25
27
  import {
26
28
  chartValueFormatter,
27
29
  formatChartValue
28
30
  } from "../chunk-QVWNK4JO.js";
29
- import {
30
- getChartSpecRenderer,
31
- getRegisteredChartSpecTypes,
32
- registerChartSpecRenderer
33
- } from "../chunk-WKUA6P3W.js";
31
+ import "../chunk-XSKVBGCZ.js";
32
+ import "../chunk-AVU6KU27.js";
33
+ import "../chunk-4V532JF6.js";
34
34
  import "../chunk-I6PZVHIT.js";
35
35
  import "../chunk-7CA6GVBO.js";
36
36
  import "../chunk-PZ5AY32C.js";
@@ -1,11 +1,11 @@
1
1
  import "../chunk-L5CPOEDP.js";
2
2
  import {
3
3
  DataGrid
4
- } from "../chunk-X5MPHXG5.js";
4
+ } from "../chunk-RPWEXIAW.js";
5
+ import "../chunk-5E3XZAED.js";
5
6
  import "../chunk-DLJGBJZW.js";
6
7
  import "../chunk-KZLLTOB2.js";
7
8
  import "../chunk-E5LWJDI3.js";
8
- import "../chunk-5E3XZAED.js";
9
9
  import "../chunk-G3E66C6J.js";
10
10
  import "../chunk-PZ5AY32C.js";
11
11
  export {
@@ -1,50 +1,53 @@
1
+ import {
2
+ BaseCard
3
+ } from "../chunk-6U7NA74A.js";
1
4
  import {
2
5
  DataViewsTableBase
3
- } from "../chunk-DEOC5OI7.js";
6
+ } from "../chunk-U5RIDMMV.js";
4
7
  import "../chunk-LS42VJAI.js";
5
8
  import {
6
9
  DataViewsGrid
7
- } from "../chunk-JKLWHENB.js";
10
+ } from "../chunk-62WEMJV3.js";
8
11
  import {
9
12
  BaseListCard
10
- } from "../chunk-RDYBS45D.js";
13
+ } from "../chunk-O6MZPB64.js";
11
14
  import "../chunk-UNF65XZW.js";
12
- import "../chunk-4KSOSI3U.js";
15
+ import "../chunk-O6V7KKW7.js";
16
+ import "../chunk-MQUU2XZB.js";
13
17
  import "../chunk-EICVL6GS.js";
14
18
  import "../chunk-2JCRNWHE.js";
15
- import {
16
- BaseCard
17
- } from "../chunk-6U7NA74A.js";
18
- import "../chunk-MQUU2XZB.js";
19
+ import "../chunk-ZOLAYP2D.js";
19
20
  import {
20
21
  DragContainerProvider,
21
22
  DropIndicator,
22
23
  useDragItem
23
24
  } from "../chunk-JCJGJX7V.js";
24
- import "../chunk-ZOLAYP2D.js";
25
- import "../chunk-T4BFDZGU.js";
26
- import "../chunk-IN642YHK.js";
27
- import "../chunk-S7CAXRRP.js";
28
- import "../chunk-WLCVOQCJ.js";
29
- import "../chunk-5WNQJ5KS.js";
30
- import "../chunk-ECIGNYSI.js";
31
- import "../chunk-ZHPKFV7Y.js";
32
- import "../chunk-NC2AATCC.js";
33
- import "../chunk-QQE2PVLO.js";
25
+ import "../chunk-LNIVT62P.js";
26
+ import "../chunk-M6365FGG.js";
34
27
  import {
35
28
  DataViewsBoard
36
29
  } from "../chunk-3DQP6OPC.js";
37
- import "../chunk-BZTFPSWT.js";
30
+ import "../chunk-PHA3NFZM.js";
31
+ import "../chunk-S7CAXRRP.js";
32
+ import "../chunk-LPNF4YJ7.js";
33
+ import "../chunk-5WNQJ5KS.js";
34
+ import "../chunk-ECIGNYSI.js";
35
+ import "../chunk-UENDC45F.js";
36
+ import "../chunk-QIKTIKO6.js";
37
+ import "../chunk-A4YWFX5C.js";
38
+ import "../chunk-DFLTUI7W.js";
39
+ import "../chunk-FV36LFPX.js";
40
+ import "../chunk-GCZJH4XL.js";
38
41
  import "../chunk-F4RR4666.js";
39
42
  import "../chunk-CBOB5AV6.js";
40
43
  import "../chunk-VR5HDUBK.js";
41
44
  import "../chunk-TQ6FPOPD.js";
42
45
  import "../chunk-IAGOUTI6.js";
43
- import "../chunk-FV36LFPX.js";
46
+ import "../chunk-GNAAHDCN.js";
47
+ import "../chunk-KX75HM5U.js";
44
48
  import "../chunk-2I5B5NNT.js";
45
49
  import "../chunk-A7Q5AQVD.js";
46
50
  import "../chunk-OGGHD64H.js";
47
- import "../chunk-GCZJH4XL.js";
48
51
  import {
49
52
  DEFAULT_RAILS,
50
53
  ListCardGroup,
@@ -53,34 +56,34 @@ import {
53
56
  import {
54
57
  DEFAULT_CELL_WIDTH
55
58
  } from "../chunk-6VP2L3DJ.js";
56
- import "../chunk-XPS7FWZS.js";
57
- import "../chunk-U7SO3N42.js";
58
- import "../chunk-UHXNEXOC.js";
59
- import "../chunk-5M4TYFR3.js";
60
- import "../chunk-AWTERXCW.js";
61
- import "../chunk-WXBBWSNU.js";
62
- import "../chunk-NQCYVYP3.js";
63
- import "../chunk-HGBZZDP6.js";
64
- import "../chunk-2PPWKCMW.js";
59
+ import "../chunk-ZNGUDGKW.js";
60
+ import "../chunk-J4DDXHLB.js";
65
61
  import "../chunk-SCGVB7DS.js";
62
+ import "../chunk-2PPWKCMW.js";
66
63
  import "../chunk-SNR537TI.js";
64
+ import "../chunk-NQCYVYP3.js";
67
65
  import {
68
66
  cardMinWidthForZoom,
69
67
  cardScaleForZoom
70
68
  } from "../chunk-ZPIMPOHV.js";
71
69
  import "../chunk-QTPKACVO.js";
70
+ import "../chunk-XPS7FWZS.js";
71
+ import "../chunk-U7SO3N42.js";
72
+ import "../chunk-UHXNEXOC.js";
73
+ import "../chunk-5M4TYFR3.js";
72
74
  import "../chunk-HR7YTBR7.js";
73
75
  import "../chunk-DZEC6RFM.js";
74
- import "../chunk-BV5XTGKB.js";
76
+ import "../chunk-2UCJJACD.js";
75
77
  import "../chunk-4QQVIGRG.js";
76
78
  import "../chunk-YGQX7BNI.js";
77
79
  import "../chunk-IMLIIW77.js";
78
- import "../chunk-WTOTWP6A.js";
80
+ import "../chunk-LLZWB32X.js";
79
81
  import {
80
82
  DataViewsScopeTabs,
81
83
  assertNoScopePillOverlap,
82
84
  resolveScope
83
85
  } from "../chunk-LYKV3C7B.js";
86
+ import "../chunk-U5FOJBLG.js";
84
87
  import "../chunk-5VZPVDUF.js";
85
88
  import {
86
89
  CARD_ASPECT_RATIOS,
@@ -110,7 +113,7 @@ import "../chunk-EFEZWG4C.js";
110
113
  import "../chunk-4T6W43TO.js";
111
114
  import "../chunk-YB6MDGPR.js";
112
115
  import "../chunk-LVCUJ7YU.js";
113
- import "../chunk-2WWKBD4D.js";
116
+ import "../chunk-TSPHRZ4U.js";
114
117
  import "../chunk-JMVIIKII.js";
115
118
  import "../chunk-WXD7MGBT.js";
116
119
  import "../chunk-PGM5RRQO.js";
@@ -165,11 +168,11 @@ import "../chunk-EIGELK2H.js";
165
168
  import "../chunk-EMYESBIT.js";
166
169
  import "../chunk-QQS3GQYS.js";
167
170
  import "../chunk-L5CPOEDP.js";
168
- import "../chunk-X5MPHXG5.js";
171
+ import "../chunk-RPWEXIAW.js";
172
+ import "../chunk-5E3XZAED.js";
169
173
  import "../chunk-DLJGBJZW.js";
170
174
  import "../chunk-KZLLTOB2.js";
171
175
  import "../chunk-E5LWJDI3.js";
172
- import "../chunk-5E3XZAED.js";
173
176
  import "../chunk-G3E66C6J.js";
174
177
  import "../chunk-SNCSGLJ6.js";
175
178
  import "../chunk-TCAB2ERD.js";
@@ -14,7 +14,7 @@ import {
14
14
  } from "../chunk-LVCUJ7YU.js";
15
15
  import {
16
16
  ContentToolbar
17
- } from "../chunk-2WWKBD4D.js";
17
+ } from "../chunk-TSPHRZ4U.js";
18
18
  import {
19
19
  ColumnsMenu
20
20
  } from "../chunk-JMVIIKII.js";
@@ -1,4 +1,5 @@
1
1
  import { type SortFieldDefinition } from "../../layout/ContentToolbar";
2
+ import type { SelectionExtraRender } from "./data-views-selection-extra";
2
3
  import type { ListGroupConfig } from "./list-card-rails";
3
4
  import type { DisplayPanelView } from "./data-views-display-panel";
4
5
  import type { BoardConfig } from "./DataViewsBoard";
@@ -80,6 +81,17 @@ interface DataViewsGridProps<T extends Record<string, unknown>> {
80
81
  * Receives the selected rows + a `clearSelection` callback.
81
82
  */
82
83
  bulkActions?: (selectedRows: T[], clearSelection: () => void) => React.ReactNode;
84
+ /**
85
+ * A control rendered beside the "N selected" count, for changing WHAT is
86
+ * selected rather than what happens to it — a "select all N matching the
87
+ * filter" widening, above all.
88
+ *
89
+ * Called only while something is selected, and handed
90
+ * {@link SelectionExtraContext.allOnPageSelected} so the control can follow
91
+ * the convention operators already know: the widening appears once the whole
92
+ * page is ticked, and not before.
93
+ */
94
+ selectionExtra?: SelectionExtraRender<T>;
83
95
  /**
84
96
  * Render a bespoke per-row menu in the actions column instead of the auto
85
97
  * kebab — typically an entity's self-contained 3-dots menu that owns its own
@@ -1 +1 @@
1
- {"version":3,"file":"DataViewsGrid.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/DataViewsGrid.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACf,MAAM,oBAAoB,CAAC;AAG5B,UAAU,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC5D,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7B,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/B,4EAA4E;IAC5E,WAAW,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,CAAC;IACtC,yEAAyE;IACzE,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4FAA4F;IAC5F,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B;;;;OAIG;IACH,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,8EAA8E;IAC9E,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC/C;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;IAC1C,yDAAyD;IACzD,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC;;;;OAIG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC;;;OAGG;IACH,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACnC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC;;;;OAIG;IACH,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;IAChD;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,IAAI,KAAK,KAAK,CAAC,SAAS,CAAC;IACjF;;;;;OAKG;IACH,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;IAC5C;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,qBAAqB,KAAK,KAAK,CAAC,SAAS,CAAC;IAC3E;;;;;OAKG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACvB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,qBAAqB,KAAK,KAAK,CAAC,SAAS,CAAC;IAC9E;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAC/B;;;;OAIG;IACH,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB,8FAA8F;IAC9F,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8FAA8F;IAC9F,aAAa,CAAC,EAAE,eAAe,CAAC;IAChC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iFAAiF;IACjF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gGAAgG;IAChG,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAuBD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7D,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC3B,KAAK,CAAC,GAAG,CAAC,OAAO,CAQnB"}
1
+ {"version":3,"file":"DataViewsGrid.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/DataViewsGrid.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { SortFieldDefinition } from "../../layout/ContentToolbar";
2
+ import type { SelectionExtraRender } from "./data-views-selection-extra";
2
3
  import type { ListGroupConfig } from "./list-card-rails";
3
4
  import type { BoardConfig } from "./DataViewsBoard";
4
5
  import type { DataViewExport } from "./data-views-export";
@@ -49,6 +50,8 @@ export interface DataViewsTableBaseProps<T extends Record<string, unknown>> {
49
50
  rowActionsLeading?: (row: T) => React.ReactNode;
50
51
  /** Low-level bulk-action override; prefer `rowActions`. */
51
52
  bulkActions?: (selectedRows: T[], clearSelection: () => void) => React.ReactNode;
53
+ /** A selection-widening control beside the count (e.g. "select all matching"). */
54
+ selectionExtra?: SelectionExtraRender<T>;
52
55
  /** Bespoke per-row menu (an entity's self-contained 3-dots menu) instead of the auto kebab. */
53
56
  renderRowMenu?: (row: T) => React.ReactNode;
54
57
  /** Opt-in "Grade" (cards) layout — a card renderer per row; adds a Grade/Tabela toggle. */
@@ -1 +1 @@
1
- {"version":3,"file":"DataViewsTableBase.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/DataViewsTableBase.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataViewsTableBase.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/DataViewsTableBase.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { type DataViewsLayout } from "./data-views-layout-context";
2
2
  import type { ListGroupConfig } from "./list-card-rails";
3
+ import { type SelectionExtraRender } from "./data-views-selection-extra";
3
4
  import type { DisplayPanelView } from "./data-views-display-panel";
4
5
  import type { DataViewExport } from "./data-views-export";
5
6
  import type { BoardConfig } from "./DataViewsBoard";
@@ -18,6 +19,8 @@ interface GridShellProps<T extends Record<string, unknown>> {
18
19
  toolbarRightSlot?: React.ReactNode;
19
20
  rowActions?: RowAction<T>[];
20
21
  bulkActions?: (selectedRows: T[], clearSelection: () => void) => React.ReactNode;
22
+ /** A widening control beside the selection count — see `resolveSelectionExtra`. */
23
+ selectionExtra?: SelectionExtraRender<T>;
21
24
  /** Opt-in "Grade" (cards) layout: renders each row as an entity-supplied card.
22
25
  * Omit ⇒ table only (no layout toggle). */
23
26
  renderCard?: (row: T, selection: DataViewCardSelection) => React.ReactNode;
@@ -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":"AASA,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAEhB,SAAS,EACV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAwLlE,UAAU,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACxD,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/B,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IACnC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,CAAC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC,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;gDAC4C;IAC5C,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,qBAAqB,KAAK,KAAK,CAAC,SAAS,CAAC;IAC3E;;;;OAIG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACvB,6EAA6E;IAC7E,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,qBAAqB,KAAK,KAAK,CAAC,SAAS,CAAC;IAC9E,uEAAuE;IACvE,SAAS,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAC/B,mEAAmE;IACnE,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,yDAAyD;IACzD,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,qEAAqE;IACrE,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,8FAA8F;IAC9F,aAAa,CAAC,EAAE,eAAe,CAAC;IAChC,iFAAiF;IACjF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAiFD,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAsCxG"}
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"}
@@ -4,7 +4,7 @@ interface DataViewsSelection<T> {
4
4
  setSelectedIds: (ids: Set<string | number>) => void;
5
5
  /** Add/remove ONE id — what a card's or board card's checkbox calls. */
6
6
  toggleId: (id: string | number) => void;
7
- /** The selected rows, narrowed to what is currently rendered. */
7
+ /** The selected rows, INCLUDING ones the current page no longer renders. */
8
8
  selectedRows: T[];
9
9
  clearSelection: () => void;
10
10
  selectAll: () => void;
@@ -18,7 +18,36 @@ interface DataViewsSelection<T> {
18
18
  * because `toggleId` needs a functional update: two cards toggled in the same
19
19
  * tick would otherwise both read the pre-render set and the second would drop
20
20
  * the first's change.
21
+ *
22
+ * ## A selection has to survive PAGING
23
+ *
24
+ * `selectedIds` always did — nothing clears it when the page changes — but
25
+ * `selectedRows` was `matched.filter(...)`, and in SERVER mode `matched` is one
26
+ * page. So ticking three rows, paging, and ticking two more left the checkboxes
27
+ * claiming five and the bulk action receiving two, silently, with the other
28
+ * three still ticked on a page nobody was looking at.
29
+ *
30
+ * That is the worst shape a bug can have here: the UI and the write disagree,
31
+ * neither says so, and the rows that did not move are exactly the ones out of
32
+ * sight. So a row is REMEMBERED for as long as its id is selected, and
33
+ * `selectedRows` answers from that memory for anything the current page does
34
+ * not hold.
35
+ *
36
+ * **Server mode only** ({@link SelectionOptions.rememberOffPage}), and the
37
+ * distinction is not a hedge. In client mode `matched` is the whole filtered
38
+ * result, so nothing is ever off-page and there is nothing to remember — while
39
+ * narrowing the selection as the FILTER narrows is the behaviour a client-mode
40
+ * grid should keep. Remembering there would mean a bulk action reaching rows
41
+ * the operator has just filtered away.
21
42
  */
22
- export declare function useSelection<T>(matched: T[], getRowId: (row: T) => string | number): DataViewsSelection<T>;
43
+ export interface SelectionOptions {
44
+ /**
45
+ * Keep rows the current page no longer renders.
46
+ *
47
+ * True in server mode, where `matched` is a page rather than the result.
48
+ */
49
+ rememberOffPage?: boolean;
50
+ }
51
+ export declare function useSelection<T>(matched: T[], getRowId: (row: T) => string | number, options?: SelectionOptions): DataViewsSelection<T>;
23
52
  export {};
24
53
  //# sourceMappingURL=data-views-selection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-views-selection.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-selection.ts"],"names":[],"mappings":"AAIA,+EAA+E;AAC/E,UAAU,kBAAkB,CAAC,CAAC;IAC5B,WAAW,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAClC,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC;IACpD,wEAAwE;IACxE,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IACxC,iEAAiE;IACjE,YAAY,EAAE,CAAC,EAAE,CAAC;IAClB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAC5B,OAAO,EAAE,CAAC,EAAE,EACZ,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,GACpC,kBAAkB,CAAC,CAAC,CAAC,CAoBvB"}
1
+ {"version":3,"file":"data-views-selection.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-selection.ts"],"names":[],"mappings":"AAIA,+EAA+E;AAC/E,UAAU,kBAAkB,CAAC,CAAC;IAC5B,WAAW,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAClC,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC;IACpD,wEAAwE;IACxE,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IACxC,4EAA4E;IAC5E,YAAY,EAAE,CAAC,EAAE,CAAC;IAClB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,YAAY,CAAC,CAAC,EAC5B,OAAO,EAAE,CAAC,EAAE,EACZ,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,EACrC,OAAO,GAAE,gBAAqB,GAC7B,kBAAkB,CAAC,CAAC,CAAC,CA4CvB"}
@@ -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,CAqCpB;AAED,qFAAqF"}
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";