@dcs-tech/ui 0.10.0 → 0.11.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 (170) hide show
  1. package/CHANGELOG.md +362 -0
  2. package/README.md +3 -2
  3. package/THIRD_PARTY_NOTICES.md +23 -0
  4. package/dist/ChartImageMenu-sB2QNQzd.js +9673 -0
  5. package/dist/ChartView-BstZkP1g.js +1942 -0
  6. package/dist/{SummaryChart-i6fOdrDM.js → SummaryChart-B5ibDNOZ.js} +11 -10
  7. package/dist/{SummaryImage-CCt5ozD9.js → SummaryImage-CRP7X2Nl.js} +2 -2
  8. package/dist/SummarySeeAll-CtYRGV4G.js +101 -0
  9. package/dist/assets/fileTask.worker-D97s2vRV.js +1 -0
  10. package/dist/{columnValue-74XDBcVF.js → columnValue-BOn9NC8X.js} +86 -79
  11. package/dist/exportContext-CMzuzRjc.js +274 -0
  12. package/dist/{exportEngine-BmDly7iw.js → exportEngine-CYDN8Ty-.js} +167 -137
  13. package/dist/file-worker.js +1 -1
  14. package/dist/{fileActions-CFNO14Aj.js → fileActions-DkPEWE-t.js} +1 -1
  15. package/dist/{geometry-DG134nYI.js → geometry-CFS5If1N.js} +769 -466
  16. package/dist/index.js +21095 -12669
  17. package/dist/{labels-BPItSeRU.js → labels-mukFhYkc.js} +124 -1
  18. package/dist/{runFileTask-BIZTFnZP.js → runFileTask-DI_39TjR.js} +17 -0
  19. package/dist/scrollArea-B52kugL1.js +291 -0
  20. package/dist/style.css +1 -1
  21. package/dist/{summaryChartData-BiQYJbYZ.js → summaryChartData-D15kw64n.js} +6 -5
  22. package/dist/types/components/Charts/BarList.d.ts +4 -3
  23. package/dist/types/components/Charts/CalendarHeatmap.d.ts +4 -2
  24. package/dist/types/components/Charts/Chart.d.ts +3 -2
  25. package/dist/types/components/Charts/ChartView.d.ts +3 -2
  26. package/dist/types/components/Charts/ColumnChart.d.ts +4 -3
  27. package/dist/types/components/Charts/Donut.d.ts +3 -2
  28. package/dist/types/components/Charts/Funnel.d.ts +3 -2
  29. package/dist/types/components/Charts/Gauge.d.ts +3 -2
  30. package/dist/types/components/Charts/LineChart.d.ts +4 -3
  31. package/dist/types/components/Charts/NumberTrend.d.ts +4 -3
  32. package/dist/types/components/Charts/Progress.d.ts +3 -2
  33. package/dist/types/components/Charts/StackedBar.d.ts +3 -2
  34. package/dist/types/components/Charts/Treemap.d.ts +3 -2
  35. package/dist/types/components/Charts/chartData.d.ts +6 -0
  36. package/dist/types/components/Charts/chartImage.d.ts +2 -0
  37. package/dist/types/components/Charts/geometry.d.ts +3 -0
  38. package/dist/types/components/Charts/index.d.ts +2 -0
  39. package/dist/types/components/Charts/palette.d.ts +1 -0
  40. package/dist/types/components/Charts/parts.d.ts +14 -0
  41. package/dist/types/components/Charts/useChartMotion.d.ts +8 -0
  42. package/dist/types/components/DataTable/DataTable.d.ts +3 -1
  43. package/dist/types/components/DataTable/DisplayPopover.d.ts +1 -0
  44. package/dist/types/components/DataTable/HeaderMenu.d.ts +1 -0
  45. package/dist/types/components/DataTable/TableColumnModal.d.ts +4 -1
  46. package/dist/types/components/DataTable/TableToolbar.d.ts +20 -1
  47. package/dist/types/components/DataTable/TableView.d.ts +18 -2
  48. package/dist/types/components/DataTable/cards/CardView.d.ts +25 -5
  49. package/dist/types/components/DataTable/cards/rowParts.d.ts +1 -0
  50. package/dist/types/components/DataTable/cellSelection/CellRangeBar.d.ts +16 -0
  51. package/dist/types/components/DataTable/cellSelection/cellRangeStore.d.ts +18 -0
  52. package/dist/types/components/DataTable/cellSelection/paintRanges.d.ts +2 -0
  53. package/dist/types/components/DataTable/cellSelection/useCellSelection.d.ts +63 -0
  54. package/dist/types/components/DataTable/data/listDelta.d.ts +27 -0
  55. package/dist/types/components/DataTable/data/rowLineage.d.ts +3 -0
  56. package/dist/types/components/DataTable/data/rowModels.d.ts +9 -0
  57. package/dist/types/components/DataTable/data/rowTransaction.d.ts +9 -0
  58. package/dist/types/components/DataTable/data/useServerData.d.ts +3 -1
  59. package/dist/types/components/DataTable/export/exportCells.d.ts +5 -2
  60. package/dist/types/components/DataTable/export/exportEngine.d.ts +7 -2
  61. package/dist/types/components/DataTable/export/useTableExport.d.ts +17 -1
  62. package/dist/types/components/DataTable/filters/filterRowModel.d.ts +1 -0
  63. package/dist/types/components/DataTable/grouping/groupModel.d.ts +11 -0
  64. package/dist/types/components/DataTable/index.d.ts +1 -1
  65. package/dist/types/components/DataTable/keyboard/ShortcutsDialog.d.ts +4 -1
  66. package/dist/types/components/DataTable/keyboard/useGridKeyboard.d.ts +8 -0
  67. package/dist/types/components/DataTable/labels.d.ts +128 -0
  68. package/dist/types/components/DataTable/layout/LayoutSwitcher.d.ts +10 -2
  69. package/dist/types/components/DataTable/layout/useFitWidths.d.ts +7 -0
  70. package/dist/types/components/DataTable/menu/RowMenu.d.ts +1 -0
  71. package/dist/types/components/DataTable/menu/buildRowMenu.d.ts +6 -3
  72. package/dist/types/components/DataTable/motion/RowChangeNotice.d.ts +19 -0
  73. package/dist/types/components/DataTable/motion/rowChanges.d.ts +25 -0
  74. package/dist/types/components/DataTable/motion/useNoticeInsets.d.ts +2 -0
  75. package/dist/types/components/DataTable/motion/useRowChangeNotices.d.ts +35 -0
  76. package/dist/types/components/DataTable/motion/useRowMotion.d.ts +29 -3
  77. package/dist/types/components/DataTable/persistence/reconcile.d.ts +4 -0
  78. package/dist/types/components/DataTable/persistence/useColumnPersistence.d.ts +5 -1
  79. package/dist/types/components/DataTable/pivot/PivotPanel.d.ts +11 -0
  80. package/dist/types/components/DataTable/pivot/PivotView.d.ts +22 -0
  81. package/dist/types/components/DataTable/pivot/pivotModel.d.ts +54 -0
  82. package/dist/types/components/DataTable/pivot/usePivot.d.ts +44 -0
  83. package/dist/types/components/DataTable/rows/PressRow.d.ts +1 -0
  84. package/dist/types/components/DataTable/rows/RowLead.d.ts +23 -0
  85. package/dist/types/components/DataTable/rows/rowPress.d.ts +2 -0
  86. package/dist/types/components/DataTable/rows/usePinnedRows.d.ts +34 -0
  87. package/dist/types/components/DataTable/rows/useRowDrag.d.ts +44 -0
  88. package/dist/types/components/DataTable/split/SplitView.d.ts +4 -2
  89. package/dist/types/components/DataTable/summary/SummaryChart.d.ts +2 -1
  90. package/dist/types/components/DataTable/summary/TableSummary.d.ts +2 -1
  91. package/dist/types/components/DataTable/summary/summaryModel.d.ts +28 -6
  92. package/dist/types/components/DataTable/summary/useTableSummary.d.ts +3 -0
  93. package/dist/types/components/DataTable/toolbar/ToolbarMore.d.ts +14 -0
  94. package/dist/types/components/DataTable/toolbar/useToolbarFit.d.ts +10 -0
  95. package/dist/types/components/DataTable/tree/TreeChips.d.ts +5 -0
  96. package/dist/types/components/DataTable/tree/treeExport.d.ts +54 -0
  97. package/dist/types/components/DataTable/tree/treeMove.d.ts +1 -0
  98. package/dist/types/components/DataTable/tree/useTreeChildren.d.ts +15 -0
  99. package/dist/types/components/DataTable/tree/useTreeData.d.ts +60 -0
  100. package/dist/types/components/DataTable/types.d.ts +272 -4
  101. package/dist/types/components/DataTable/useDataChangeTracker.d.ts +11 -4
  102. package/dist/types/components/DataTable/useTable.d.ts +13 -1
  103. package/dist/types/components/DataTable/virtual/useVirtualLines.d.ts +1 -0
  104. package/dist/types/components/EventCalendar/EventCalendar.d.ts +46 -0
  105. package/dist/types/components/EventCalendar/eventParts.d.ts +10 -0
  106. package/dist/types/components/EventCalendar/index.d.ts +3 -0
  107. package/dist/types/components/EventCalendar/useCalendarEdit.d.ts +40 -0
  108. package/dist/types/components/Icon/Icon.d.ts +36 -0
  109. package/dist/types/components/Icon/Icon.storyData.d.ts +6 -0
  110. package/dist/types/components/Icon/IconContext.d.ts +7 -0
  111. package/dist/types/components/Icon/icons.d.ts +223 -0
  112. package/dist/types/components/Icon/index.d.ts +7 -0
  113. package/dist/types/components/Icon/useIconDone.d.ts +5 -0
  114. package/dist/types/components/Popover/Popover.d.ts +1 -0
  115. package/dist/types/components/Popover/floatingPosition.d.ts +22 -2
  116. package/dist/types/components/ReorderList/ReorderList.d.ts +2 -1
  117. package/dist/types/components/Scroll/ui.d.ts +1 -0
  118. package/dist/types/components/SlidingHighlight/index.d.ts +2 -0
  119. package/dist/types/components/SlidingHighlight/useSlidingHighlight.d.ts +20 -0
  120. package/dist/types/components/Suggest/SuggestionList.d.ts +1 -0
  121. package/dist/types/components/UIProvider/UILabelsContext.d.ts +34 -0
  122. package/dist/types/components/UIProvider/UIProvider.d.ts +2 -0
  123. package/dist/types/core/hooks/index.d.ts +1 -1
  124. package/dist/types/core/hooks/usePresence.d.ts +1 -0
  125. package/dist/types/core/icons/actions.icons.d.ts +37 -0
  126. package/dist/types/core/icons/commerce.icons.d.ts +16 -0
  127. package/dist/types/core/icons/communication.icons.d.ts +10 -0
  128. package/dist/types/core/icons/delivery.icons.d.ts +13 -0
  129. package/dist/types/core/icons/devices.icons.d.ts +16 -0
  130. package/dist/types/core/icons/files.icons.d.ts +13 -0
  131. package/dist/types/core/icons/general.icons.d.ts +24 -0
  132. package/dist/types/core/icons/index.d.ts +14 -0
  133. package/dist/types/core/icons/media.icons.d.ts +11 -0
  134. package/dist/types/core/icons/navigation.icons.d.ts +25 -0
  135. package/dist/types/core/icons/people.icons.d.ts +13 -0
  136. package/dist/types/core/icons/registry.d.ts +2 -0
  137. package/dist/types/core/icons/state.icons.d.ts +14 -0
  138. package/dist/types/core/icons/status.icons.d.ts +10 -0
  139. package/dist/types/core/icons/table.icons.d.ts +22 -0
  140. package/dist/types/core/icons/text.icons.d.ts +13 -0
  141. package/dist/types/core/logic/cellRange.logic.d.ts +66 -0
  142. package/dist/types/core/logic/cellTouch.logic.d.ts +16 -0
  143. package/dist/types/core/logic/columnGroups.logic.d.ts +31 -0
  144. package/dist/types/core/logic/dropdownSide.logic.d.ts +19 -0
  145. package/dist/types/core/logic/eventCalendar.logic.d.ts +225 -0
  146. package/dist/types/core/logic/fitColumns.logic.d.ts +7 -0
  147. package/dist/types/core/logic/icon.logic.d.ts +24 -0
  148. package/dist/types/core/logic/index.d.ts +16 -0
  149. package/dist/types/core/logic/pivot.logic.d.ts +100 -0
  150. package/dist/types/core/logic/rowActions.logic.d.ts +7 -0
  151. package/dist/types/core/logic/rowDrag.logic.d.ts +36 -0
  152. package/dist/types/core/logic/rowPinning.logic.d.ts +12 -0
  153. package/dist/types/core/logic/slidingHighlight.logic.d.ts +20 -0
  154. package/dist/types/core/logic/toolbarOverflow.logic.d.ts +21 -0
  155. package/dist/types/core/logic/treeData.logic.d.ts +44 -0
  156. package/dist/types/core/logic/treeDrag.logic.d.ts +63 -0
  157. package/dist/types/core/logic/tween.logic.d.ts +33 -0
  158. package/dist/types/core/logic/visualViewport.logic.d.ts +13 -0
  159. package/dist/types/core/types/eventCalendar.types.d.ts +18 -0
  160. package/dist/types/core/types/fileEngine.types.d.ts +6 -0
  161. package/dist/types/core/types/icon.types.d.ts +109 -0
  162. package/dist/types/core/types/index.d.ts +2 -0
  163. package/dist/types/index.d.ts +7 -0
  164. package/package.json +4 -4
  165. package/dist/ChartImageMenu-3OfqNFyt.js +0 -1510
  166. package/dist/ChartView-n4G5_2ro.js +0 -1707
  167. package/dist/SummarySeeAll-BY8knsRe.js +0 -101
  168. package/dist/assets/fileTask.worker--Q3rI3Bn.js +0 -1
  169. package/dist/exportContext-C52ZuHd8.js +0 -166
  170. package/dist/scrollArea-D84Cwm4o.js +0 -310
@@ -0,0 +1,63 @@
1
+ import type React from 'react';
2
+ import { type RefObject } from 'react';
3
+ import { type CellRangeFigureId, type CellRangeFigures } from '../../../core/logic';
4
+ import type { DisplayItem } from '../grouping/groupModel';
5
+ import type { DataTableCellPaste, DataTableCellRange, DataTableCellSelectionConfig } from '../types';
6
+ import { type CellRangeStore } from './cellRangeStore';
7
+ export interface ResolvedCellSelection {
8
+ multiRange: boolean;
9
+ copyHeaders: boolean;
10
+ figures: CellRangeFigureId[];
11
+ onCellRangesChange?: (ranges: DataTableCellRange[]) => void;
12
+ onCellsPaste?: (event: {
13
+ cells: DataTableCellPaste[];
14
+ }) => void;
15
+ }
16
+ export declare function resolveCellSelection(cfg: boolean | DataTableCellSelectionConfig | undefined): ResolvedCellSelection | null;
17
+ export interface CellRangeSummary {
18
+ cells: number;
19
+ rows: number;
20
+ columns: number;
21
+ ranges: number;
22
+ figures: CellRangeFigures;
23
+ }
24
+ export interface CellSelectionHost<R> {
25
+ config: ResolvedCellSelection | null;
26
+ areaRef: RefObject<HTMLElement | null>;
27
+ items: DisplayItem<R>[];
28
+ columns: string[];
29
+ rowId: (row: R) => string;
30
+ original: (row: R) => unknown;
31
+ valueOf: (row: R, column: string) => unknown;
32
+ isNumber: (column: string) => boolean;
33
+ textOf: (row: R, column: string) => string;
34
+ headerOf: (column: string) => string;
35
+ canCopy: boolean;
36
+ copy: (text: string, cells: number) => void;
37
+ selectRows: (ids: string[]) => void;
38
+ pasted: (cells: number) => void;
39
+ activeKey: string | null;
40
+ activeCol: number;
41
+ resetKey?: string;
42
+ }
43
+ export interface CellKeyContext {
44
+ key: string;
45
+ col: number;
46
+ row: boolean;
47
+ focus: (key: string, col: number) => void;
48
+ }
49
+ export declare function useCellSelection<R>(host: CellSelectionHost<R>): {
50
+ enabled: boolean;
51
+ store: CellRangeStore;
52
+ onKey: (e: React.KeyboardEvent, at: CellKeyContext) => boolean;
53
+ getCellRanges: () => DataTableCellRange[];
54
+ clearCellRanges: () => void;
55
+ summary: (limit?: number) => CellRangeSummary | null | "large";
56
+ copyRanges: () => void;
57
+ pasteText: (text: string) => boolean;
58
+ ownsLongPress: (t: EventTarget | null) => boolean;
59
+ lastCell: () => {
60
+ row: R;
61
+ column: string;
62
+ } | null;
63
+ };
@@ -0,0 +1,27 @@
1
+ export interface ListDelta<E> {
2
+ readonly removed: readonly E[];
3
+ readonly removedAt: readonly number[];
4
+ readonly added: readonly E[];
5
+ readonly addedAt: readonly number[];
6
+ }
7
+ export declare const NO_CHANGE: ListDelta<never>;
8
+ export declare const deltaSize: (d: ListDelta<unknown>) => number;
9
+ export declare function recordListDelta<E>(next: readonly E[], before: readonly E[], delta: ListDelta<E>): void;
10
+ export declare function listDeltaBetween<E>(next: readonly E[], before: readonly E[] | null | undefined): ListDelta<E> | null;
11
+ export declare function composeDeltas<E>(ab: ListDelta<E>, bc: ListDelta<E>): ListDelta<E>;
12
+ export declare function placesIn<T>(list: readonly T[], wanted: readonly T[]): number[];
13
+ export declare function patchList<E, O>(before: readonly O[], delta: ListDelta<E>, make: (element: E, at: number) => O): O[];
14
+ export declare function mapDelta<E, O>(delta: ListDelta<E>, before: readonly O[], out: readonly O[]): ListDelta<O>;
15
+ export declare function deltaOfElements<E>(before: readonly E[], next: readonly E[], removed: readonly E[], added: readonly E[]): ListDelta<E>;
16
+ export interface MappedList<E, O> {
17
+ source: readonly E[] | null;
18
+ out: O[];
19
+ }
20
+ export declare function newMappedList<E, O>(): MappedList<E, O>;
21
+ export declare function mapList<E, O>(cache: MappedList<E, O>, source: readonly E[], make: (element: E, at: number) => O, opts?: {
22
+ reuse?: boolean;
23
+ }): O[];
24
+ export declare function patchFilteredList<T>(before: {
25
+ data: readonly T[];
26
+ out: T[];
27
+ }, data: readonly T[], delta: ListDelta<T>, test: (element: T) => boolean, known: WeakMap<object, boolean>): T[] | null;
@@ -0,0 +1,3 @@
1
+ export declare function markRowsChangedFrom(next: readonly unknown[], from: readonly unknown[]): void;
2
+ export declare function markRowsTakenFrom(next: readonly unknown[], from: readonly unknown[]): void;
3
+ export declare function rowObjectsUnchanged(next: readonly unknown[], before: readonly unknown[]): boolean;
@@ -0,0 +1,9 @@
1
+ import { type RowData, type RowModel, type Table } from '@tanstack/react-table';
2
+ export declare function getReusingCoreRowModel<TData extends RowData>(): (table: Table<TData>) => () => RowModel<TData>;
3
+ export declare function getPatchingFilteredRowModel<TData extends RowData>(): (table: Table<TData>) => () => RowModel<TData>;
4
+ export type HeldRows = ReadonlyMap<string, string | null>;
5
+ export declare function placeHeldRows<R extends {
6
+ id: string;
7
+ }>(rows: R[], held: HeldRows | null | undefined): R[];
8
+ export declare function getMergingSortedRowModel<TData extends RowData>(getHeld?: () => HeldRows | null | undefined): (table: Table<TData>) => () => RowModel<TData>;
9
+ export declare function mergeSorted<T>(a: T[], b: T[], compare: (x: T, y: T) => number): T[];
@@ -0,0 +1,9 @@
1
+ import type { DataTableRowTransaction } from '../types';
2
+ export declare const TRANSACTION_WAIT_MS = 50;
3
+ export declare function mergeRowTransactions<T>(txs: Array<DataTableRowTransaction<T>>): Array<DataTableRowTransaction<T>>;
4
+ export interface RowTransactionResult {
5
+ added: string[];
6
+ updated: string[];
7
+ removed: string[];
8
+ }
9
+ export declare function applyRowTransaction<T>(rows: T[], tx: DataTableRowTransaction<T>, rowKey: string | undefined, out?: RowTransactionResult): T[];
@@ -1,4 +1,5 @@
1
- import type { DataTableDataSource, DataTableQuery } from '../types';
1
+ import type { DataTableDataSource, DataTableQuery, DataTableRowTransaction } from '../types';
2
+ import { type RowTransactionResult } from './rowTransaction';
2
3
  export interface ServerDataState<TData> {
3
4
  rows: TData[];
4
5
  total: number;
@@ -7,6 +8,7 @@ export interface ServerDataState<TData> {
7
8
  fetching: boolean;
8
9
  error: unknown;
9
10
  refetch: () => void;
11
+ applyTransaction: (tx: DataTableRowTransaction<TData>, rowKey: string | undefined) => RowTransactionResult | null;
10
12
  tick: number;
11
13
  }
12
14
  export declare function filterPartOf(q: DataTableQuery): {
@@ -1,4 +1,5 @@
1
- import type { DataTableCellStyle, DataTableColumn, DataTableExportFormat } from '../types';
1
+ import type { DataTableCellStyle, DataTableColumn, DataTableColumnGroup, DataTableExportFormat } from '../types';
2
+ import type { XlsxHeaderGroupRow } from '../../../core/types';
2
3
  import { type ColumnTextContext } from '../columnValue';
3
4
  import type { ColumnMeta } from './exportEngine';
4
5
  export interface ExportRowsForFormat {
@@ -10,4 +11,6 @@ export interface ExportRowsForFormat {
10
11
  totals: Record<string, any> | null;
11
12
  }
12
13
  export declare function uniqueHeaders(names: string[]): string[];
13
- export declare function exportRowsFor<TData>(format: DataTableExportFormat, data: TData[], columns: DataTableColumn<TData>[], visibleKeys: string[], ctx: ColumnTextContext, totalKeys?: string[], totalLabel?: string): ExportRowsForFormat;
14
+ export declare function exportRowsFor<TData>(format: DataTableExportFormat, data: TData[], columns: DataTableColumn<TData>[], visibleKeys: string[], ctx: ColumnTextContext, totalKeys?: string[], totalLabel?: string, inTotals?: (row: TData) => boolean): ExportRowsForFormat;
15
+ export declare function exportHeaderGroups(groups: DataTableColumnGroup[] | undefined, keys: readonly string[]): XlsxHeaderGroupRow[];
16
+ export declare function withPinnedExportRows(data: ExportRowsForFormat, top: ExportRowsForFormat | null, bottom: ExportRowsForFormat | null): ExportRowsForFormat;
@@ -1,4 +1,6 @@
1
- import type { FileTask, PdfTaskFonts, XlsxWorkbookSpec } from '../../../core/types';
1
+ import type { FileTask, PdfTaskFonts, XlsxHeaderGroupRow, XlsxWorkbookSpec } from '../../../core/types';
2
+ export type ExportHeaderGroups = XlsxHeaderGroupRow[];
3
+ export declare function headerGroupCells(groups: XlsxHeaderGroupRow, width: number): string[];
2
4
  import { type DataTableExportFormat, type DataTableExportMetadata, type DataTableXlsxStyle, type DataTablePdfConfig, type DataTableColumn, type DataTableCellStyle, type DataTableExportSummary } from '../types';
3
5
  export { autoFormatValue, prepareExportRows, buildBusinessMeta } from './exportRows';
4
6
  export { formatContextLine, formatMetadataLines } from './exportContext';
@@ -13,7 +15,7 @@ export interface ColumnMeta {
13
15
  cellStyle?: (value: any, row: any) => DataTableCellStyle | undefined;
14
16
  }
15
17
  export declare function buildColumnMeta(columns: DataTableColumn[], headers: string[]): ColumnMeta[];
16
- export declare function generateCSV(headers: string[], rows: Record<string, any>[], totals?: Record<string, any> | null, summary?: DataTableExportSummary | null, metadata?: DataTableExportMetadata, subtitle?: string): Blob;
18
+ export declare function generateCSV(headers: string[], rows: Record<string, any>[], totals?: Record<string, any> | null, summary?: DataTableExportSummary | null, metadata?: DataTableExportMetadata, subtitle?: string, headerGroups?: ExportHeaderGroups): Blob;
17
19
  type XlsxConfig = {
18
20
  totals?: Record<string, any> | null;
19
21
  summary?: DataTableExportSummary | null;
@@ -23,6 +25,7 @@ type XlsxConfig = {
23
25
  cellStyles?: Record<string, DataTableCellStyle>[];
24
26
  metadata?: DataTableExportMetadata;
25
27
  subtitle?: string;
28
+ headerGroups?: ExportHeaderGroups;
26
29
  };
27
30
  export declare function buildTableXlsxSpec(headers: string[], rows: Record<string, any>[], config?: XlsxConfig): XlsxWorkbookSpec;
28
31
  export declare function generateXLSX(headers: string[], rows: Record<string, any>[], config?: XlsxConfig): Promise<Blob>;
@@ -54,6 +57,7 @@ export declare function generateTablePDFTask(headers: string[], rows: Record<str
54
57
  metadata?: DataTableExportMetadata;
55
58
  fontFor?: PdfFontFor;
56
59
  fonts?: PdfTaskFonts;
60
+ headerGroups?: ExportHeaderGroups;
57
61
  }): TablePdfTask;
58
62
  export { rawDataToBlob, downloadBlob, shareFile, openPreview, executeFileAction, getExtension, getFormatLabel, } from '../vendor';
59
63
  export declare function generateXML(headers: string[], rows: Record<string, any>[], config?: {
@@ -83,4 +87,5 @@ export declare function buildExportBlob(format: DataTableExportFormat, headers:
83
87
  name: string;
84
88
  url?: string;
85
89
  };
90
+ headerGroups?: ExportHeaderGroups;
86
91
  }): Promise<Blob>;
@@ -1,7 +1,9 @@
1
1
  import { type DataTableColumn, type DataTableExportTemplate, type DataTableExportFormat, type DataTableExportAction, type DataTableExportSettings, type DataTableActiveFilter, type DataTableExportResult, type DataTableExportConfig, type DataTablePdfConfig, type DataTableExportSummary, type DataTableExportTemplatePrefs, type DataTableExportOptions, type DataTableAllRowsResult, type DataTableAuthorize, type DataTableSelection } from '../types';
2
2
  import type { DataTableExportOptionValues } from '../types';
3
+ import type { DataTableColumnGroup } from '../types';
3
4
  import type { ColumnTextContext } from '../columnValue';
4
5
  import { type DataTableLabels } from '../labels';
6
+ import { type TreeLevelLook, type TreeLevels } from '../tree/treeExport';
5
7
  interface UseTableExportOptions<TData> {
6
8
  columns: DataTableColumn<TData>[];
7
9
  exportConfig?: DataTableExportConfig<TData>;
@@ -23,11 +25,25 @@ interface UseTableExportOptions<TData> {
23
25
  templatePrefs?: DataTableExportTemplatePrefs;
24
26
  exportOptions?: DataTableExportOptions;
25
27
  authorize?: DataTableAuthorize;
26
- loadAllRows?: (format: DataTableExportFormat, action: DataTableExportAction, params?: Record<string, unknown>) => Promise<DataTableAllRowsResult<TData>>;
28
+ loadAllRows?: (format: DataTableExportFormat, action: DataTableExportAction, params?: Record<string, unknown>) => Promise<ExportRowsLoad<TData>>;
27
29
  labels?: DataTableLabels;
28
30
  locale?: string;
29
31
  text?: ColumnTextContext;
32
+ columnGroups?: DataTableColumnGroup[];
33
+ pinnedRows?: {
34
+ top?: TData[];
35
+ bottom?: TData[];
36
+ };
37
+ tree?: {
38
+ look: TreeLevelLook;
39
+ totals: 'leaves' | 'all';
40
+ levels?: TreeLevels<TData>;
41
+ };
30
42
  }
43
+ export type ExportRowsLoad<TData> = DataTableAllRowsResult<TData> & {
44
+ levels?: TreeLevels<TData>;
45
+ treePartial?: boolean;
46
+ };
31
47
  interface UseTableExportReturn {
32
48
  hasExport: boolean;
33
49
  hasQuickExport: boolean;
@@ -1,6 +1,7 @@
1
1
  import { type DataTableFilterCondition, type DataTableFilterGroup, type DataTableColumn } from '../types';
2
2
  export declare const FILTER_ROW_ID_PREFIX = "filter-row:";
3
3
  export type FilterRowKind = 'text' | 'number' | 'date' | 'select' | 'boolean';
4
+ export declare const FILTER_ROW_MIN_WIDTH: Partial<Record<FilterRowKind, number>>;
4
5
  export type FilterRowValue = {
5
6
  kind: 'text';
6
7
  text: string;
@@ -24,6 +24,9 @@ export type DisplayItem<R = any> = {
24
24
  key: string;
25
25
  row: R;
26
26
  depth: number;
27
+ pinned?: 'top' | 'bottom';
28
+ app?: boolean;
29
+ tree?: TreeLineState;
27
30
  } | {
28
31
  kind: 'more';
29
32
  key: string;
@@ -37,6 +40,14 @@ export type DisplayItem<R = any> = {
37
40
  node: GroupNode<R>;
38
41
  status: 'loading' | 'error';
39
42
  };
43
+ export interface TreeLineState {
44
+ hasChildren: boolean;
45
+ expanded: boolean;
46
+ status?: 'loading' | 'error';
47
+ }
48
+ export declare function rowItemOf(row: {
49
+ id: string;
50
+ }): DisplayItem;
40
51
  export interface GroupLabels {
41
52
  yes: string;
42
53
  no: string;
@@ -1,5 +1,5 @@
1
1
  export { default as DataTable } from './DataTable';
2
- export type { DataTableProps, DataTableView, DataTableColumn, DataTableColumnType, DataTableNumberFormat, DataTableComponentProps, DataTableRowAction, DataTableFilterGroup, DataTableFilterCondition, DataTableActiveFilter, DataTableSingleRowView, DataTableSingleRowField, DataTableSingleRowAction, DataTableSelectionConfig, DataTableSelectionShow, DataTablePaginationConfig, DataTableSortingConfig, DataTableFilteringConfig, DataTableQuickFilter, DataTableQuickFilterMode, DataTableSavedFilter, DataTableSavedFilterIssue, DataTableViewPrefs, DataTableExportFormat, DataTableExportAction, DataTableExportTemplate, DataTableQuickExport, DataTableExportConfig, DataTableXlsxStyle, DataTablePdfConfig, DataTableExportGenerator, DataTableExportResult, DataTableExportResultStatus, DataTableExportGeneratorResult, DataTableFilenameContext, DataTableExportMeta, DataTableExportContext, DataTableExportSettings, DataTableExportPrefs, DataTableExportMetadata, DataTableExportSummary, DataTableExportSummaryTable, DataTableExportOptions, DataTableFileNameAs, DataTablePdfFonts, DataTablePdfPageSize, DataTablePdfOrientation, DataTablePdfFontSize, DataTablePdfMargins, DataTableSummaryConfig, DataTableSummaryCard, DataTableSummaryValueCard, DataTableSummaryRatioCard, DataTableSummaryBreakdownCard, DataTableSummaryTrendCard, DataTableSummaryFunnelCard, DataTableSummaryFunnelStep, DataTableSummaryValueTrend, DataTableSummaryPeriod, DataTableSummaryTrendChart, DataTableSummaryValueChart, DataTableSummaryRatioChart, DataTableSummaryAnyChart, DataTableSummaryCardRequest, DataTableSummaryPeriodCount, DataTableSummaryFigure, DataTableSummarySubline, DataTableSummaryStrip, DataTableSummaryChart, DataTableSummaryWidth, DataTableSummaryShow, DataTableSummaryPart, DataTableSummaryUserCard, DataTableSummaryPrefs, DataTableExportSummaryMode, DataTableSummaryPlacement, DataTableSummaryRequest, DataTableSummaryBucket, DataTableSummaryBreakdown, DataTableSummaryFigures, DataTableLicense, DataTableFlashColor, DataTableFlashColors, DataTableCellFlashStyle, DataTableCellStyle, DataTableLayout, DataTableCardFields, DataTableCardField, DataTableListFields, DataTableListField, DataTableRowMenuConfig, DataTableRowMenuItem, DataTableRowMenuBuiltIn, DataTableRowMenuIconAction, DataTableDetailMode, DataTableDetailContext, DataTableDetailRenderer, DataTableDisplayPrefs, DataTableDensity, DataTableFontSize, DataTableColumnWidth, DataTableActionDisplay, DataTableQuery, DataTableDataSource, DataTableRowsResult, DataTableAllRowsResult, DataTableCounts, DataTableInitialState, DataTableApi, DataTablePersistence, DataTableGate, DataTableAuthorize, DataTableManagePrefs, DataTableManageList, DataTableViewsPrefs, DataTableExportTemplatePrefs, DataTableBulkAction, DataTableBulkActionContext, DataTableBulkActionResult, DataTableBulkConfirm, DataTableToolbarAction, DataTableSelection, DataTableColumnPinning, DataTablePinningConfig, DataTableKeyboardConfig, DataTableShortcut, DataTableVirtualizeConfig, DataTableGroupingConfig, DataTableGroupPathItem, DataTableGroupResult, DataTableGroupSummaryContext, DataTableViewState, DataTableSharedView, DataTableShareAudience, DataTableSharing, } from './types';
2
+ export type { DataTableProps, DataTableView, DataTableColumn, DataTableColumnType, DataTableNumberFormat, DataTableComponentProps, DataTableRowAction, DataTableFilterGroup, DataTableFilterCondition, DataTableActiveFilter, DataTableSingleRowView, DataTableSingleRowField, DataTableSingleRowAction, DataTableSelectionConfig, DataTableSelectionShow, DataTablePaginationConfig, DataTableSortingConfig, DataTableFilteringConfig, DataTableQuickFilter, DataTableQuickFilterMode, DataTableSavedFilter, DataTableSavedFilterIssue, DataTableViewPrefs, DataTableExportFormat, DataTableExportAction, DataTableExportTemplate, DataTableQuickExport, DataTableExportConfig, DataTableXlsxStyle, DataTablePdfConfig, DataTableExportGenerator, DataTableExportResult, DataTableExportResultStatus, DataTableExportGeneratorResult, DataTableFilenameContext, DataTableExportMeta, DataTableExportContext, DataTableExportSettings, DataTableExportPrefs, DataTableExportMetadata, DataTableExportSummary, DataTableExportSummaryTable, DataTableExportOptions, DataTableFileNameAs, DataTablePdfFonts, DataTablePdfPageSize, DataTablePdfOrientation, DataTablePdfFontSize, DataTablePdfMargins, DataTableSummaryConfig, DataTableSummaryCard, DataTableSummaryValueCard, DataTableSummaryRatioCard, DataTableSummaryBreakdownCard, DataTableSummaryTrendCard, DataTableSummaryFunnelCard, DataTableSummaryFunnelStep, DataTableSummaryValueFigure, DataTableSummarySum, DataTableSummaryRowFilter, DataTableSummaryRange, DataTableSummaryCardHeight, DataTableSummaryValueTrend, DataTableSummaryPeriod, DataTableSummaryTrendChart, DataTableSummaryValueChart, DataTableSummaryRatioChart, DataTableSummaryAnyChart, DataTableSummaryCardRequest, DataTableSummaryPeriodCount, DataTableSummaryFigure, DataTableSummarySubline, DataTableSummaryStrip, DataTableSummaryChart, DataTableSummaryWidth, DataTableSummaryShow, DataTableSummaryPart, DataTableSummaryUserCard, DataTableSummaryPrefs, DataTableExportSummaryMode, DataTableSummaryPlacement, DataTableSummaryRequest, DataTableSummaryBucket, DataTableSummaryBreakdown, DataTableSummaryFigures, DataTableLicense, DataTableFlashColor, DataTableFlashColors, DataTableRowChanges, DataTableCellFlashStyle, DataTableCellStyle, DataTableLayout, DataTableCardFields, DataTableCardField, DataTableListFields, DataTableListField, DataTableRowMenuConfig, DataTableRowMenuItem, DataTableRowMenuBuiltIn, DataTableRowMenuIconAction, DataTableDetailMode, DataTableDetailContext, DataTableDetailRenderer, DataTableDisplayPrefs, DataTableDensity, DataTableFontSize, DataTableColumnWidth, DataTableActionDisplay, DataTableQuery, DataTableDataSource, DataTableRowsResult, DataTableAllRowsResult, DataTableExportTreeRequest, DataTableCounts, DataTableInitialState, DataTableApi, DataTableTransactionResult, DataTableTransactionOptions, DataTableRowTransaction, DataTablePersistence, DataTableGate, DataTableAuthorize, DataTableManagePrefs, DataTableManageList, DataTableViewsPrefs, DataTableExportTemplatePrefs, DataTableBulkAction, DataTableBulkActionContext, DataTableBulkActionResult, DataTableBulkConfirm, DataTableToolbarAction, DataTableSelection, DataTableColumnPinning, DataTablePinningConfig, DataTableColumnGroup, DataTableRowPinSide, DataTableRowPinningConfig, DataTableRowPins, DataTableCellSelectionConfig, DataTableCellRange, DataTableCellRangeFigure, DataTableCellPaste, DataTableRowDragConfig, DataTableRowOrderChange, DataTableTreeDataConfig, DataTablePivotConfig, DataTablePivotState, DataTablePivotValue, DataTablePivotTotals, DataTablePivotAggregate, DataTablePivotAggFn, DataTablePivotAggregation, DataTablePivotRequest, DataTablePivotResult, DataTablePivotCell, DataTablePivotKey, DataTableKeyboardConfig, DataTableShortcut, DataTableVirtualizeConfig, DataTableGroupingConfig, DataTableGroupPathItem, DataTableGroupResult, DataTableGroupSummaryContext, DataTableViewState, DataTableSharedView, DataTableShareAudience, DataTableSharing, } from './types';
3
3
  export { isFilterGroup, CARD_FIELD_LIMITS, LIST_FIELD_LIMITS, SUMMARY_PLACEMENTS_MAX, SUMMARY_SHOWS, SUMMARY_STRIPS, SUMMARY_TREND_COUNTS, SUMMARY_TREND_COUNT_BOUNDS, SUMMARY_KIND_CHARTS, SUMMARY_USER_CARDS_MAX, SUMMARY_WIDTHS } from './types';
4
4
  export { DEFAULT_DATA_TABLE_LABELS } from './labels';
5
5
  export type { DataTableLabels, DataTableLabelKey } from './labels';
@@ -8,7 +8,10 @@ interface ShortcutsDialogProps {
8
8
  grouping: boolean;
9
9
  actions: ShortcutListEntry[];
10
10
  table: ShortcutListEntry[];
11
+ cells?: {
12
+ paste: boolean;
13
+ };
11
14
  onClose: () => void;
12
15
  }
13
- export declare function ShortcutsDialog({ builtIns, grouping, actions, table, onClose }: ShortcutsDialogProps): React.JSX.Element;
16
+ export declare function ShortcutsDialog({ builtIns, grouping, actions, table, cells, onClose }: ShortcutsDialogProps): React.JSX.Element;
14
17
  export default ShortcutsDialog;
@@ -9,6 +9,7 @@ export interface GridKeyboardHost<R = any, T = any> {
9
9
  shortcuts: boolean;
10
10
  layout: DataTableLayout;
11
11
  items: DisplayItem<R>[];
12
+ lineOffset?: number;
12
13
  columns: string[];
13
14
  activeKey: string | null;
14
15
  activeCol: number;
@@ -16,6 +17,7 @@ export interface GridKeyboardHost<R = any, T = any> {
16
17
  rowId: (row: R) => string;
17
18
  original: (row: R) => T;
18
19
  openRow: (row: R) => void;
20
+ followOpen?: boolean;
19
21
  toggleRow: (row: R) => void;
20
22
  toggleGroup: (key: string) => void;
21
23
  toggleGroupSelection: (node: GroupNode<R>) => boolean;
@@ -30,6 +32,12 @@ export interface GridKeyboardHost<R = any, T = any> {
30
32
  runTableShortcut: (s: DataTableShortcut<T>, row: T | null) => void;
31
33
  page: (delta: 1 | -1) => boolean;
32
34
  openHelp: () => void;
35
+ cellKeys?: (e: React.KeyboardEvent, at: {
36
+ key: string;
37
+ col: number;
38
+ row: boolean;
39
+ focus: (key: string, col: number) => void;
40
+ }) => boolean;
33
41
  }
34
42
  export declare function useGridKeyboard<R, T>(host: GridKeyboardHost<R, T>, areaRef: RefObject<HTMLElement | null>, scrollApi: MutableRefObject<ScrollApi | null>): {
35
43
  onKeyDown: (e: React.KeyboardEvent) => void;
@@ -1,6 +1,8 @@
1
1
  import type { DataTableSummaryAnyChart } from './types';
2
2
  export declare const DEFAULT_DATA_TABLE_LABELS: {
3
3
  toolbar: string;
4
+ toolbarMore: string;
5
+ toolbarMoreOn: string;
4
6
  search: string;
5
7
  searchPlaceholder: string;
6
8
  closeSearch: string;
@@ -19,6 +21,7 @@ export declare const DEFAULT_DATA_TABLE_LABELS: {
19
21
  columnFilters: string;
20
22
  layout: string;
21
23
  layoutCurrent: (layout: string) => string;
24
+ layoutFieldsItem: (fields: string) => string;
22
25
  layoutTable: string;
23
26
  layoutCards: string;
24
27
  layoutSplit: string;
@@ -80,6 +83,16 @@ export declare const DEFAULT_DATA_TABLE_LABELS: {
80
83
  undoFailed: string;
81
84
  dismiss: string;
82
85
  dataTable: string;
86
+ rowsNewAbove: (n: string, count: number) => string;
87
+ rowsNewBelow: (n: string, count: number) => string;
88
+ rowsNewOnOtherPages: (n: string, count: number) => string;
89
+ rowsRemovedAbove: (n: string) => string;
90
+ rowsRemovedBelow: (n: string) => string;
91
+ rowsKeptInPlace: (n: string, count: number) => string;
92
+ sortNow: string;
93
+ pauseUpdates: string;
94
+ resumeUpdates: (n: string, count: number) => string;
95
+ rowsChangedAnnouncement: (added: string, removed: string, addedCount: number, removedCount: number) => string;
83
96
  selectAllRows: string;
84
97
  selectRow: (n: string) => string;
85
98
  open: string;
@@ -87,6 +100,37 @@ export declare const DEFAULT_DATA_TABLE_LABELS: {
87
100
  actions: string;
88
101
  expandRow: string;
89
102
  collapseRow: string;
103
+ rowDragHandle: (row: string) => string;
104
+ rowDragHint: string;
105
+ rowDragOffSorted: string;
106
+ rowDragOffSearched: string;
107
+ rowDragOffFiltered: string;
108
+ rowDragOffGrouped: string;
109
+ rowDragPicked: (row: string, at: string, of: string) => string;
110
+ rowDragPickedMany: (n: string, at: string, of: string) => string;
111
+ rowDragAt: (at: string, of: string) => string;
112
+ rowDragDropped: (row: string, at: string, of: string) => string;
113
+ rowDragDroppedMany: (n: string, at: string, of: string) => string;
114
+ rowDragCancelled: (row: string) => string;
115
+ rowDragMore: (n: string) => string;
116
+ rowDragTreeIn: (parent: string, at: string, of: string) => string;
117
+ rowDragTreeTop: (at: string, of: string) => string;
118
+ rowDragTreeInto: (parent: string, at: string, of: string) => string;
119
+ rowDragTreeToTop: (at: string, of: string) => string;
120
+ rowDragTreePicked: (row: string, where: string) => string;
121
+ rowDragTreePickedMany: (n: string, where: string) => string;
122
+ rowDragTreeDropped: (row: string, where: string) => string;
123
+ rowDragTreeDroppedMany: (n: string, where: string) => string;
124
+ rowDragTreeNoIndent: string;
125
+ rowDragTreeNoOutdent: string;
126
+ treeExpand: (row: string) => string;
127
+ treeCollapse: (row: string) => string;
128
+ treeLoading: string;
129
+ treeLoadFailed: string;
130
+ treeExpandAll: string;
131
+ treeCollapseAll: string;
132
+ treeRows: string;
133
+ treeLevel: string;
90
134
  showMore: string;
91
135
  showLess: string;
92
136
  total: string;
@@ -112,6 +156,11 @@ export declare const DEFAULT_DATA_TABLE_LABELS: {
112
156
  copyFailed: string;
113
157
  selectRowMenu: string;
114
158
  unselectRowMenu: string;
159
+ pinRowTop: string;
160
+ pinRowBottom: string;
161
+ unpinRow: string;
162
+ pinnedRowTop: string;
163
+ pinnedRowBottom: string;
115
164
  filterOnly: (value: string) => string;
116
165
  filterAdd: (value: string) => string;
117
166
  filterHide: (value: string) => string;
@@ -178,6 +227,34 @@ export declare const DEFAULT_DATA_TABLE_LABELS: {
178
227
  kbFilterOnly: string;
179
228
  kbFilterHide: string;
180
229
  selectionCleared: string;
230
+ kbCellRange: string;
231
+ kbCellRangeEdge: string;
232
+ kbCellAdd: string;
233
+ kbCellAll: string;
234
+ kbCellCopy: string;
235
+ kbCellPaste: string;
236
+ kbCellRows: string;
237
+ kbCellEscape: string;
238
+ cellRangeAnnouncement: (cells: string, rows: string, columns: string, count: {
239
+ cells: number;
240
+ rows: number;
241
+ columns: number;
242
+ ranges: number;
243
+ }) => string;
244
+ cellRangeCleared: string;
245
+ cellsCopied: (n: string, count: number) => string;
246
+ cellsPasted: (n: string, count: number) => string;
247
+ cellRangeBar: string;
248
+ cellRangeCount: string;
249
+ cellRangeSum: string;
250
+ cellRangeAvg: string;
251
+ cellRangeMin: string;
252
+ cellRangeMax: string;
253
+ cellTouchBar: string;
254
+ cellTouchSize: (n: string, count: number) => string;
255
+ cellTouchCopy: string;
256
+ cellTouchMenu: string;
257
+ cellTouchClear: string;
181
258
  groupButton: string;
182
259
  groupButtonOn: (columns: string) => string;
183
260
  groupMenu: string;
@@ -266,6 +343,9 @@ export declare const DEFAULT_DATA_TABLE_LABELS: {
266
343
  actionDisplayMode: string;
267
344
  actionDisplayModeCard: string;
268
345
  actionDisplayModeHint: string;
346
+ maxVisibleActions: string;
347
+ maxVisibleActionsCard: string;
348
+ maxVisibleActionsHint: string;
269
349
  modeIcon: string;
270
350
  modeLabel: string;
271
351
  modeIconLabel: string;
@@ -425,6 +505,7 @@ export declare const DEFAULT_DATA_TABLE_LABELS: {
425
505
  summaryWidthFull: string;
426
506
  summaryWidthAuto: (best: string) => string;
427
507
  summaryWidthBetter: (best: string) => string;
508
+ manageSummaryRangeHint: string;
428
509
  summarySeeAll: (n: string) => string;
429
510
  summaryAllOf: (title: string, n: string) => string;
430
511
  summaryLoading: string;
@@ -464,6 +545,7 @@ export declare const DEFAULT_DATA_TABLE_LABELS: {
464
545
  exportAwaitingClick: (title: string) => string;
465
546
  exportValidationFailed: string;
466
547
  exportCapped: (shown: string, total: string) => string;
548
+ exportTreePartial: string;
467
549
  exportBusiness: string;
468
550
  exportAddress: string;
469
551
  exportPhone: string;
@@ -471,6 +553,7 @@ export declare const DEFAULT_DATA_TABLE_LABELS: {
471
553
  exportFiltersLabel: string;
472
554
  exportSearchLabel: string;
473
555
  exportRowsLabel: string;
556
+ exportNoteLabel: string;
474
557
  exportRowsTotal: (n: string) => string;
475
558
  exportRowsFiltered: (n: string) => string;
476
559
  exportRowsExported: (n: string) => string;
@@ -607,6 +690,51 @@ export declare const DEFAULT_DATA_TABLE_LABELS: {
607
690
  fieldsTab: string;
608
691
  previewTab: string;
609
692
  fieldsResetDefault: string;
693
+ pivot: string;
694
+ pivotOn: string;
695
+ pivotTitle: string;
696
+ pivotSubtitle: string;
697
+ pivotMode: string;
698
+ pivotModeHint: string;
699
+ pivotRows: string;
700
+ pivotRowsHint: string;
701
+ pivotColumns: string;
702
+ pivotColumnsHint: string;
703
+ pivotValues: string;
704
+ pivotValuesHint: string;
705
+ pivotFields: string;
706
+ pivotFieldsHint: string;
707
+ pivotAllPlaced: string;
708
+ pivotDropHere: string;
709
+ pivotAdd: string;
710
+ pivotAddTo: (part: string) => string;
711
+ pivotAddField: (field: string, part: string) => string;
712
+ pivotRemove: (field: string) => string;
713
+ pivotMove: (field: string) => string;
714
+ pivotAggregation: (field: string) => string;
715
+ pivotAggSum: string;
716
+ pivotAggCount: string;
717
+ pivotAggAvg: string;
718
+ pivotAggMin: string;
719
+ pivotAggMax: string;
720
+ pivotAggFirst: string;
721
+ pivotAggLast: string;
722
+ pivotAggCustom: string;
723
+ pivotValueHeader: (agg: string, column: string) => string;
724
+ pivotTotal: string;
725
+ pivotTotalOf: (value: string) => string;
726
+ pivotGrandTotal: string;
727
+ pivotTotals: string;
728
+ pivotTotalsRows: string;
729
+ pivotTotalsColumns: string;
730
+ pivotTotalsGrand: string;
731
+ pivotCapped: (shown: string, total: string) => string;
732
+ pivotNoValues: string;
733
+ pivotNoRows: string;
734
+ pivotLoadFailed: string;
735
+ pivotResult: string;
736
+ pivotReset: string;
737
+ pivotFieldsOf: (n: string) => string;
610
738
  prefsChanged: (what: string) => string;
611
739
  prefsColumnsGone: (n: string, count: number) => string;
612
740
  prefsFiltersOff: (n: string, count: number) => string;
@@ -1,9 +1,17 @@
1
1
  import React from 'react';
2
2
  import type { DataTableLayout } from '../types';
3
3
  export declare const LAYOUT_ICONS: Record<DataTableLayout, React.ReactNode>;
4
- export declare function LayoutSwitcher({ layouts, layout, onChange }: {
4
+ export interface LayoutFieldsEntry {
5
+ label: string;
6
+ icon: React.ReactNode;
7
+ onOpen: () => void;
8
+ }
9
+ interface LayoutSwitcherProps {
5
10
  layouts: DataTableLayout[];
6
11
  layout: DataTableLayout;
7
12
  onChange: (layout: DataTableLayout) => void;
8
- }): React.JSX.Element | null;
13
+ compact?: boolean;
14
+ fields?: LayoutFieldsEntry;
15
+ }
16
+ export declare function LayoutSwitcher({ layouts, layout, onChange, compact, fields }: LayoutSwitcherProps): React.JSX.Element | null;
9
17
  export default LayoutSwitcher;
@@ -0,0 +1,7 @@
1
+ import { type RefObject } from 'react';
2
+ import { type FitColumn } from '../../../core/logic';
3
+ export interface FitWidthColumn extends FitColumn {
4
+ scaledMin?: number;
5
+ }
6
+ export declare const FIT_COL_ATTR = "data-fit-col";
7
+ export declare function useFitWidths(tableRef: RefObject<HTMLTableElement | null>, boxRef: RefObject<HTMLElement | null>, active: boolean, columns: FitWidthColumn[], reserved: number, key: string): void;
@@ -44,6 +44,7 @@ export interface RowMenuPlacement {
44
44
  y: number;
45
45
  sheet: boolean;
46
46
  alignRight?: boolean;
47
+ anchorHeight?: number;
47
48
  }
48
49
  interface RowMenuProps {
49
50
  model: RowMenuModel;
@@ -1,8 +1,7 @@
1
- import React, { type ReactNode } from 'react';
2
- import type { DataTableCardFields, DataTableFilterGroup, DataTableRowMenuConfig, DataTableRowMenuBuiltIn, DataTableRowAction, DataTableColumn } from '../types';
1
+ import { type ReactNode } from 'react';
2
+ import type { DataTableCardFields, DataTableFilterGroup, DataTableRowMenuConfig, DataTableRowMenuBuiltIn, DataTableRowAction, DataTableColumn, DataTableRowPinSide } from '../types';
3
3
  import type { DataTableLabels } from '../labels';
4
4
  import type { RowMenuModel } from './RowMenu';
5
- export declare function NotEqualIcon(): React.JSX.Element;
6
5
  export declare const DEFAULT_BUILT_INS: DataTableRowMenuBuiltIn[];
7
6
  export interface RowMenuContext<T> {
8
7
  row: T;
@@ -31,5 +30,9 @@ export interface RowMenuContext<T> {
31
30
  filterGroup: DataTableFilterGroup;
32
31
  onFilter: (group: DataTableFilterGroup) => void;
33
32
  format: (n: number) => string;
33
+ pin?: {
34
+ side: DataTableRowPinSide | null;
35
+ onPin: (side: DataTableRowPinSide | null) => void;
36
+ };
34
37
  }
35
38
  export declare function buildRowMenu<T>(ctx: RowMenuContext<T>): RowMenuModel;
@@ -0,0 +1,19 @@
1
+ import type { RowChangeNotice as Notice } from './useRowChangeNotices';
2
+ export interface LiveUpdatesControl {
3
+ paused: boolean;
4
+ waiting: number;
5
+ onPause: () => void;
6
+ onResume: () => void;
7
+ }
8
+ interface Props {
9
+ notice: Notice;
10
+ side: 'top' | 'bottom';
11
+ onJump: (side: 'above' | 'below') => void;
12
+ onOtherPages: () => void;
13
+ onDismiss: () => void;
14
+ held?: number;
15
+ onSortNow?: () => void;
16
+ live?: LiveUpdatesControl | null;
17
+ }
18
+ export declare function RowChangeNotice({ notice, side, onJump, onOtherPages, onDismiss, held, onSortNow, live }: Props): import("react").JSX.Element | null;
19
+ export {};
@@ -0,0 +1,25 @@
1
+ import type { CSSProperties } from 'react';
2
+ import type { DataTableFlashColor, DataTableRowChanges } from '../types';
3
+ import { type RowChangeReport } from './useRowMotion';
4
+ export interface RowChangesOptions {
5
+ enterMs: number;
6
+ exitMs: number;
7
+ maxAnimated: number;
8
+ onChange?: (report: RowChangeReport) => void;
9
+ which?: (added: string[], removed: string[]) => {
10
+ added: string[];
11
+ removed: string[];
12
+ };
13
+ held?: ReadonlyMap<string, unknown>;
14
+ }
15
+ export interface ResolvedRowChanges {
16
+ enterMs: number;
17
+ exitMs: number;
18
+ maxAnimated: number;
19
+ outOfView: boolean;
20
+ announce: boolean;
21
+ pauseControl: boolean;
22
+ style: CSSProperties;
23
+ }
24
+ export declare const rowChangeColor: (c: DataTableFlashColor) => string;
25
+ export declare function resolveRowChanges(cfg: DataTableRowChanges | undefined): ResolvedRowChanges;
@@ -0,0 +1,2 @@
1
+ import { type RefObject } from 'react';
2
+ export declare function useNoticeInsets(areaRef: RefObject<HTMLElement | null>, active: boolean, key: string): void;