@dcs-tech/ui 0.9.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 (235) hide show
  1. package/CHANGELOG.md +488 -0
  2. package/README.md +43 -7
  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-CxRjK_HU.js → SummaryChart-B5ibDNOZ.js} +11 -10
  7. package/dist/{SummaryImage-Crf1R-3a.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-BOn9NC8X.js +644 -0
  11. package/dist/exportContext-CMzuzRjc.js +274 -0
  12. package/dist/{exportEngine-BFZD6djX.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-yZmKN662.js → geometry-CFS5If1N.js} +848 -439
  16. package/dist/index.js +24208 -12603
  17. package/dist/{labels-CnqqTrne.js → labels-mukFhYkc.js} +126 -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-CARqGRUl.js → summaryChartData-D15kw64n.js} +10 -3
  22. package/dist/types/components/Alert/Alert.d.ts +16 -0
  23. package/dist/types/components/Alert/index.d.ts +2 -0
  24. package/dist/types/components/Card/Card.d.ts +4 -3
  25. package/dist/types/components/Card/index.d.ts +1 -1
  26. package/dist/types/components/Charts/BarList.d.ts +4 -3
  27. package/dist/types/components/Charts/CalendarHeatmap.d.ts +4 -2
  28. package/dist/types/components/Charts/Chart.d.ts +3 -2
  29. package/dist/types/components/Charts/ChartView.d.ts +3 -2
  30. package/dist/types/components/Charts/ColumnChart.d.ts +4 -3
  31. package/dist/types/components/Charts/Donut.d.ts +3 -2
  32. package/dist/types/components/Charts/Funnel.d.ts +4 -2
  33. package/dist/types/components/Charts/Gauge.d.ts +3 -2
  34. package/dist/types/components/Charts/LineChart.d.ts +4 -3
  35. package/dist/types/components/Charts/NumberTrend.d.ts +4 -3
  36. package/dist/types/components/Charts/Progress.d.ts +3 -2
  37. package/dist/types/components/Charts/StackedBar.d.ts +3 -2
  38. package/dist/types/components/Charts/Treemap.d.ts +3 -2
  39. package/dist/types/components/Charts/chartData.d.ts +6 -0
  40. package/dist/types/components/Charts/chartImage.d.ts +3 -0
  41. package/dist/types/components/Charts/geometry.d.ts +3 -0
  42. package/dist/types/components/Charts/index.d.ts +2 -0
  43. package/dist/types/components/Charts/palette.d.ts +1 -0
  44. package/dist/types/components/Charts/parts.d.ts +14 -0
  45. package/dist/types/components/Charts/useChartMotion.d.ts +8 -0
  46. package/dist/types/components/ChipInput/ChipTags.d.ts +3 -0
  47. package/dist/types/components/CommandPalette/CommandPaletteTrigger.d.ts +9 -0
  48. package/dist/types/components/CommandPalette/index.d.ts +2 -0
  49. package/dist/types/components/DataTable/DataTable.d.ts +3 -1
  50. package/dist/types/components/DataTable/DisplayPopover.d.ts +1 -0
  51. package/dist/types/components/DataTable/HeaderMenu.d.ts +1 -0
  52. package/dist/types/components/DataTable/TableColumnModal.d.ts +4 -1
  53. package/dist/types/components/DataTable/TablePagination.d.ts +1 -1
  54. package/dist/types/components/DataTable/TableToolbar.d.ts +21 -1
  55. package/dist/types/components/DataTable/TableView.d.ts +19 -2
  56. package/dist/types/components/DataTable/cards/CardView.d.ts +25 -5
  57. package/dist/types/components/DataTable/cards/cardFields.d.ts +1 -0
  58. package/dist/types/components/DataTable/cards/rowParts.d.ts +1 -0
  59. package/dist/types/components/DataTable/cellSelection/CellRangeBar.d.ts +16 -0
  60. package/dist/types/components/DataTable/cellSelection/cellRangeStore.d.ts +18 -0
  61. package/dist/types/components/DataTable/cellSelection/paintRanges.d.ts +2 -0
  62. package/dist/types/components/DataTable/cellSelection/useCellSelection.d.ts +63 -0
  63. package/dist/types/components/DataTable/data/listDelta.d.ts +27 -0
  64. package/dist/types/components/DataTable/data/rowLineage.d.ts +3 -0
  65. package/dist/types/components/DataTable/data/rowModels.d.ts +9 -0
  66. package/dist/types/components/DataTable/data/rowTransaction.d.ts +9 -0
  67. package/dist/types/components/DataTable/data/useServerData.d.ts +3 -1
  68. package/dist/types/components/DataTable/defaults.d.ts +4 -0
  69. package/dist/types/components/DataTable/export/exportCells.d.ts +5 -2
  70. package/dist/types/components/DataTable/export/exportEngine.d.ts +7 -2
  71. package/dist/types/components/DataTable/export/useTableExport.d.ts +17 -1
  72. package/dist/types/components/DataTable/filters/filterRowModel.d.ts +1 -0
  73. package/dist/types/components/DataTable/grouping/groupModel.d.ts +11 -0
  74. package/dist/types/components/DataTable/index.d.ts +1 -1
  75. package/dist/types/components/DataTable/keyboard/ShortcutsDialog.d.ts +4 -1
  76. package/dist/types/components/DataTable/keyboard/useGridKeyboard.d.ts +8 -0
  77. package/dist/types/components/DataTable/labels.d.ts +130 -0
  78. package/dist/types/components/DataTable/layout/LayoutSwitcher.d.ts +10 -2
  79. package/dist/types/components/DataTable/layout/useFitWidths.d.ts +7 -0
  80. package/dist/types/components/DataTable/menu/RowMenu.d.ts +1 -0
  81. package/dist/types/components/DataTable/menu/buildRowMenu.d.ts +6 -3
  82. package/dist/types/components/DataTable/motion/RowChangeNotice.d.ts +19 -0
  83. package/dist/types/components/DataTable/motion/rowChanges.d.ts +25 -0
  84. package/dist/types/components/DataTable/motion/useNoticeInsets.d.ts +2 -0
  85. package/dist/types/components/DataTable/motion/useRowChangeNotices.d.ts +35 -0
  86. package/dist/types/components/DataTable/motion/useRowMotion.d.ts +29 -3
  87. package/dist/types/components/DataTable/persistence/reconcile.d.ts +4 -0
  88. package/dist/types/components/DataTable/persistence/useColumnPersistence.d.ts +5 -1
  89. package/dist/types/components/DataTable/pivot/PivotPanel.d.ts +11 -0
  90. package/dist/types/components/DataTable/pivot/PivotView.d.ts +22 -0
  91. package/dist/types/components/DataTable/pivot/pivotModel.d.ts +54 -0
  92. package/dist/types/components/DataTable/pivot/usePivot.d.ts +44 -0
  93. package/dist/types/components/DataTable/rows/PressRow.d.ts +1 -0
  94. package/dist/types/components/DataTable/rows/RowLead.d.ts +23 -0
  95. package/dist/types/components/DataTable/rows/rowPress.d.ts +2 -0
  96. package/dist/types/components/DataTable/rows/usePinnedRows.d.ts +34 -0
  97. package/dist/types/components/DataTable/rows/useRowDrag.d.ts +44 -0
  98. package/dist/types/components/DataTable/split/SplitView.d.ts +4 -2
  99. package/dist/types/components/DataTable/summary/SummaryChart.d.ts +2 -1
  100. package/dist/types/components/DataTable/summary/TableSummary.d.ts +2 -1
  101. package/dist/types/components/DataTable/summary/summaryModel.d.ts +28 -6
  102. package/dist/types/components/DataTable/summary/useTableSummary.d.ts +3 -0
  103. package/dist/types/components/DataTable/toolbar/ToolbarMore.d.ts +14 -0
  104. package/dist/types/components/DataTable/toolbar/useToolbarFit.d.ts +10 -0
  105. package/dist/types/components/DataTable/tree/TreeChips.d.ts +5 -0
  106. package/dist/types/components/DataTable/tree/treeExport.d.ts +54 -0
  107. package/dist/types/components/DataTable/tree/treeMove.d.ts +1 -0
  108. package/dist/types/components/DataTable/tree/useTreeChildren.d.ts +15 -0
  109. package/dist/types/components/DataTable/tree/useTreeData.d.ts +60 -0
  110. package/dist/types/components/DataTable/types.d.ts +290 -6
  111. package/dist/types/components/DataTable/ui-local/TableReorderList.d.ts +13 -0
  112. package/dist/types/components/DataTable/ui.d.ts +2 -1
  113. package/dist/types/components/DataTable/useDataChangeTracker.d.ts +11 -4
  114. package/dist/types/components/DataTable/useTable.d.ts +14 -1
  115. package/dist/types/components/DataTable/virtual/useVirtualLines.d.ts +1 -0
  116. package/dist/types/components/DatePicker/PeriodGrid.d.ts +13 -0
  117. package/dist/types/components/DatePicker/PeriodPicker.d.ts +19 -0
  118. package/dist/types/components/DatePicker/index.d.ts +1 -1
  119. package/dist/types/components/Dialog/dialogSlots.d.ts +9 -0
  120. package/dist/types/components/DropdownMenu/DropdownMenu.d.ts +8 -0
  121. package/dist/types/components/EventCalendar/EventCalendar.d.ts +46 -0
  122. package/dist/types/components/EventCalendar/eventParts.d.ts +10 -0
  123. package/dist/types/components/EventCalendar/index.d.ts +3 -0
  124. package/dist/types/components/EventCalendar/useCalendarEdit.d.ts +40 -0
  125. package/dist/types/components/FieldWrapper/index.d.ts +1 -1
  126. package/dist/types/components/Fields/index.d.ts +1 -1
  127. package/dist/types/components/Icon/Icon.d.ts +36 -0
  128. package/dist/types/components/Icon/Icon.storyData.d.ts +6 -0
  129. package/dist/types/components/Icon/IconContext.d.ts +7 -0
  130. package/dist/types/components/Icon/icons.d.ts +223 -0
  131. package/dist/types/components/Icon/index.d.ts +7 -0
  132. package/dist/types/components/Icon/useIconDone.d.ts +5 -0
  133. package/dist/types/components/Image/ImageEditor.d.ts +21 -0
  134. package/dist/types/components/Image/ImagePicker.d.ts +10 -1
  135. package/dist/types/components/Image/imageRender.d.ts +33 -0
  136. package/dist/types/components/Image/index.d.ts +3 -1
  137. package/dist/types/components/Image/prepareImage.d.ts +4 -3
  138. package/dist/types/components/Link/Link.d.ts +22 -0
  139. package/dist/types/components/Link/index.d.ts +2 -0
  140. package/dist/types/components/NavList/NavList.d.ts +13 -0
  141. package/dist/types/components/NavList/index.d.ts +2 -0
  142. package/dist/types/components/PageProgress/PageProgress.d.ts +10 -0
  143. package/dist/types/components/PageProgress/index.d.ts +2 -0
  144. package/dist/types/components/Pagination/Pagination.d.ts +19 -0
  145. package/dist/types/components/Pagination/index.d.ts +2 -0
  146. package/dist/types/components/Popover/Popover.d.ts +2 -1
  147. package/dist/types/components/Popover/floatingPosition.d.ts +26 -2
  148. package/dist/types/components/ReorderList/ReorderGroup.d.ts +16 -0
  149. package/dist/types/components/ReorderList/ReorderList.d.ts +56 -0
  150. package/dist/types/components/ReorderList/crossListDrag.d.ts +61 -0
  151. package/dist/types/components/ReorderList/index.d.ts +5 -0
  152. package/dist/types/components/ReorderList/useReorderDrag.d.ts +28 -0
  153. package/dist/types/components/Scroll/ui.d.ts +1 -0
  154. package/dist/types/components/SlidingHighlight/index.d.ts +2 -0
  155. package/dist/types/components/SlidingHighlight/useSlidingHighlight.d.ts +20 -0
  156. package/dist/types/components/Suggest/SuggestionList.d.ts +1 -0
  157. package/dist/types/components/Tooltip/useTooltip.d.ts +4 -0
  158. package/dist/types/components/UIProvider/UILabelsContext.d.ts +120 -0
  159. package/dist/types/components/UIProvider/UIProvider.d.ts +2 -0
  160. package/dist/types/core/hooks/index.d.ts +2 -1
  161. package/dist/types/core/hooks/useMeasuredState.d.ts +1 -0
  162. package/dist/types/core/hooks/usePresence.d.ts +1 -0
  163. package/dist/types/core/icons/actions.icons.d.ts +37 -0
  164. package/dist/types/core/icons/commerce.icons.d.ts +16 -0
  165. package/dist/types/core/icons/communication.icons.d.ts +10 -0
  166. package/dist/types/core/icons/delivery.icons.d.ts +13 -0
  167. package/dist/types/core/icons/devices.icons.d.ts +16 -0
  168. package/dist/types/core/icons/files.icons.d.ts +13 -0
  169. package/dist/types/core/icons/general.icons.d.ts +24 -0
  170. package/dist/types/core/icons/index.d.ts +14 -0
  171. package/dist/types/core/icons/media.icons.d.ts +11 -0
  172. package/dist/types/core/icons/navigation.icons.d.ts +25 -0
  173. package/dist/types/core/icons/people.icons.d.ts +13 -0
  174. package/dist/types/core/icons/registry.d.ts +2 -0
  175. package/dist/types/core/icons/state.icons.d.ts +14 -0
  176. package/dist/types/core/icons/status.icons.d.ts +10 -0
  177. package/dist/types/core/icons/table.icons.d.ts +22 -0
  178. package/dist/types/core/icons/text.icons.d.ts +13 -0
  179. package/dist/types/core/logic/alert.logic.d.ts +3 -0
  180. package/dist/types/core/logic/cellRange.logic.d.ts +66 -0
  181. package/dist/types/core/logic/cellTouch.logic.d.ts +16 -0
  182. package/dist/types/core/logic/columnGroups.logic.d.ts +31 -0
  183. package/dist/types/core/logic/commandPalette.logic.d.ts +2 -0
  184. package/dist/types/core/logic/datePicker.logic.d.ts +12 -0
  185. package/dist/types/core/logic/dropdownSide.logic.d.ts +19 -0
  186. package/dist/types/core/logic/eventCalendar.logic.d.ts +225 -0
  187. package/dist/types/core/logic/fieldWrapper.logic.d.ts +6 -1
  188. package/dist/types/core/logic/fitColumns.logic.d.ts +7 -0
  189. package/dist/types/core/logic/icon.logic.d.ts +24 -0
  190. package/dist/types/core/logic/imageEditor.logic.d.ts +132 -0
  191. package/dist/types/core/logic/imageTransform.logic.d.ts +57 -0
  192. package/dist/types/core/logic/index.d.ts +25 -0
  193. package/dist/types/core/logic/inertProps.d.ts +3 -0
  194. package/dist/types/core/logic/pageProgress.logic.d.ts +3 -0
  195. package/dist/types/core/logic/pagination.logic.d.ts +7 -0
  196. package/dist/types/core/logic/periodPicker.logic.d.ts +86 -0
  197. package/dist/types/core/logic/pivot.logic.d.ts +100 -0
  198. package/dist/types/core/logic/reorder.logic.d.ts +49 -0
  199. package/dist/types/core/logic/rowActions.logic.d.ts +7 -0
  200. package/dist/types/core/logic/rowDrag.logic.d.ts +36 -0
  201. package/dist/types/core/logic/rowPinning.logic.d.ts +12 -0
  202. package/dist/types/core/logic/slidingHighlight.logic.d.ts +20 -0
  203. package/dist/types/core/logic/toolbarOverflow.logic.d.ts +21 -0
  204. package/dist/types/core/logic/treeData.logic.d.ts +44 -0
  205. package/dist/types/core/logic/treeDrag.logic.d.ts +63 -0
  206. package/dist/types/core/logic/tween.logic.d.ts +33 -0
  207. package/dist/types/core/logic/visualViewport.logic.d.ts +13 -0
  208. package/dist/types/core/types/chipinput.types.d.ts +3 -1
  209. package/dist/types/core/types/collapsible.types.d.ts +3 -0
  210. package/dist/types/core/types/datePicker.types.d.ts +7 -0
  211. package/dist/types/core/types/eventCalendar.types.d.ts +18 -0
  212. package/dist/types/core/types/field.types.d.ts +6 -3
  213. package/dist/types/core/types/fieldWrapper.types.d.ts +2 -0
  214. package/dist/types/core/types/fields.types.d.ts +6 -1
  215. package/dist/types/core/types/fileEngine.types.d.ts +6 -0
  216. package/dist/types/core/types/form.types.d.ts +1 -0
  217. package/dist/types/core/types/format.types.d.ts +2 -0
  218. package/dist/types/core/types/icon.types.d.ts +109 -0
  219. package/dist/types/core/types/index.d.ts +2 -0
  220. package/dist/types/core/types/input.types.d.ts +2 -0
  221. package/dist/types/core/types/navigation.types.d.ts +1 -0
  222. package/dist/types/core/types/select.types.d.ts +2 -6
  223. package/dist/types/core/types/suggest.types.d.ts +2 -0
  224. package/dist/types/index.d.ts +31 -6
  225. package/package.json +4 -4
  226. package/dist/ChartImageMenu-DDVNJNc6.js +0 -1499
  227. package/dist/ChartView-CW3m4Z_1.js +0 -1703
  228. package/dist/SummarySeeAll-BRHOMQRA.js +0 -101
  229. package/dist/assets/fileTask.worker--Q3rI3Bn.js +0 -1
  230. package/dist/columnValue-DwUqueZ6.js +0 -610
  231. package/dist/exportContext-BKFnNQ0q.js +0 -166
  232. package/dist/scrollArea-DbYFqbIH.js +0 -269
  233. package/dist/types/components/DataTable/ui-local/DragAndDropList/DragAndDropList.d.ts +0 -4
  234. package/dist/types/components/DataTable/ui-local/DragAndDropList/index.d.ts +0 -3
  235. package/dist/types/components/DataTable/ui-local/DragAndDropList/types.d.ts +0 -70
@@ -1,14 +1,19 @@
1
1
  import React, { type ReactNode } from 'react';
2
2
  import type { RowPressHandlers } from '../rows/rowPress';
3
- import type { ListParts, RowParts } from './rowParts';
3
+ import type { RowParts } from './rowParts';
4
4
  import { type ScrollApi, type VirtualOptions } from '../virtual/useVirtualLines';
5
+ import { type MotionItem } from '../motion/useRowMotion';
6
+ import type { RowChangesOptions } from '../motion/rowChanges';
5
7
  export interface CardRow {
6
8
  id: string;
7
- parts: RowParts;
8
- list: ListParts | null;
9
+ original: unknown;
10
+ index: number;
9
11
  selected: boolean;
10
12
  selectable: boolean;
11
13
  }
14
+ export declare function useRowLines(rows: CardRow[], linesProp: CardLine[] | undefined): CardLine[];
15
+ export declare function withoutLeavingLines(items: Array<MotionItem<CardLine>>): Array<MotionItem<CardLine>>;
16
+ export declare function useKeyOrder<L>(lines: L[], keyOf: (line: L | undefined, at: number) => string): object;
12
17
  export type CardLine = {
13
18
  kind: 'row';
14
19
  key: string;
@@ -20,12 +25,13 @@ export type CardLine = {
20
25
  level: number;
21
26
  expanded?: boolean;
22
27
  };
23
- export interface MotionOptions {
28
+ export interface MotionOptions extends Partial<RowChangesOptions> {
24
29
  enabled: boolean;
25
30
  resetKey: string | undefined;
26
31
  }
27
32
  interface CardViewProps {
28
33
  rows: CardRow[];
34
+ partsOf: (row: CardRow) => RowParts;
29
35
  lines?: CardLine[];
30
36
  checkboxes: boolean;
31
37
  onToggle: (id: string) => void;
@@ -40,11 +46,25 @@ interface CardViewProps {
40
46
  virtual?: VirtualOptions | null;
41
47
  scrollApi?: React.MutableRefObject<ScrollApi | null>;
42
48
  motion?: MotionOptions;
49
+ renderLead?: (id: string) => ReactNode;
43
50
  }
44
51
  export declare function CardContent({ parts, open }: {
45
52
  parts: RowParts;
46
53
  open: boolean;
47
54
  }): React.JSX.Element;
55
+ interface CardChunk {
56
+ key: string;
57
+ lines: Array<MotionItem<CardLine>>;
58
+ }
59
+ interface CardChunks {
60
+ list: CardChunk[];
61
+ order: object;
62
+ shown: Array<MotionItem<CardLine>>;
63
+ perLine: number;
64
+ chunkOf: Int32Array;
65
+ placeIn: Int32Array;
66
+ }
67
+ export declare function chunkLines(shown: Array<MotionItem<CardLine>>, perLine: number, before: CardChunks | null): CardChunks;
48
68
  export declare function cardsPerLine(width: number, minCard: number, gap?: number): number;
49
- export declare function CardView({ rows, lines: linesProp, checkboxes, onToggle, press, renderActions, allExpanded, minCardWidth, focusable, activeKey, placeholder, loading, virtual, scrollApi, motion }: CardViewProps): React.JSX.Element;
69
+ export declare function CardView({ rows, partsOf, lines: linesProp, checkboxes, onToggle, press, renderActions, allExpanded, minCardWidth, focusable, activeKey, placeholder, loading, virtual, scrollApi, motion, renderLead }: CardViewProps): React.JSX.Element;
50
70
  export default CardView;
@@ -15,6 +15,7 @@ export declare function sameFields<K extends string>(set: FieldSet<K>, a: Fields
15
15
  export declare function unplacedColumns<K extends string>(set: FieldSet<K>, fields: Fields<K>, columns: DataTableColumn[]): DataTableColumn[];
16
16
  export declare function placeField<K extends string>(set: FieldSet<K>, fields: Fields<K>, key: string, part: K | null, opts?: {
17
17
  replace?: boolean;
18
+ index?: number;
18
19
  }): Fields<K>;
19
20
  export declare function partForAdd<K extends string>(set: FieldSet<K>, fields: Fields<K>): K | null;
20
21
  export declare const isCardFields: (value: unknown) => value is Partial<DataTableCardFields>;
@@ -34,5 +34,6 @@ export declare function RowAvatar({ text, size }: {
34
34
  }): React.JSX.Element;
35
35
  export declare function rowParts<T>(row: T, index: number, fields: DataTableCardFields, byKey: Map<string, DataTableColumn<T>>, avatar: AvatarOption<T>, labels: CellTextLabels): RowParts;
36
36
  export declare function listParts<T>(row: T, index: number, fields: DataTableListFields, byKey: Map<string, DataTableColumn<T>>, avatar: AvatarOption<T>, labels: CellTextLabels): ListParts;
37
+ export declare function partsCache<T, P>(build: (row: T, index: number) => P): (row: T, index: number) => P;
37
38
  export declare function sampleRowParts<T>(fields: DataTableCardFields, byKey: Map<string, DataTableColumn<T>>, avatar: AvatarOption<T>): RowParts;
38
39
  export declare function sampleListParts<T>(fields: DataTableListFields, byKey: Map<string, DataTableColumn<T>>, avatar: AvatarOption<T>): ListParts;
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import type { CellRangeFigureId } from '../../../core/logic';
3
+ import type { CellRangeStore } from './cellRangeStore';
4
+ import type { CellRangeSummary } from './useCellSelection';
5
+ import './cellSelection.css';
6
+ interface CellRangeBarProps {
7
+ store: CellRangeStore;
8
+ summary: (limit?: number) => CellRangeSummary | null | 'large';
9
+ figures: CellRangeFigureId[];
10
+ rowsVersion: unknown;
11
+ onCopy?: () => void;
12
+ onClear: () => void;
13
+ onMenu?: () => void;
14
+ }
15
+ export declare const CellRangeBar: React.NamedExoticComponent<CellRangeBarProps>;
16
+ export {};
@@ -0,0 +1,18 @@
1
+ export interface RangeCorner {
2
+ row: string;
3
+ col: string;
4
+ }
5
+ export interface StoredRange {
6
+ start: RangeCorner;
7
+ end: RangeCorner;
8
+ }
9
+ export type RangePhase = 'drag' | 'done';
10
+ export interface CellRangeStore {
11
+ get: () => readonly StoredRange[];
12
+ phase: () => RangePhase;
13
+ touch: () => boolean;
14
+ set: (ranges: readonly StoredRange[], phase: RangePhase, touch?: boolean) => void;
15
+ subscribe: (fn: (phase: RangePhase) => void) => () => void;
16
+ }
17
+ export declare const sameCorner: (a: RangeCorner, b: RangeCorner) => boolean;
18
+ export declare function createCellRangeStore(): CellRangeStore;
@@ -0,0 +1,2 @@
1
+ import { type CellRect } from '../../../core/logic';
2
+ export declare function paintRanges(root: ParentNode, rects: readonly CellRect[], rowIndex: (key: string, near?: number) => number, painted: ReadonlySet<HTMLElement>, handles?: CellRect | null): Set<HTMLElement>;
@@ -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,6 +1,7 @@
1
1
  import { type DataTableView, type DataTablePaginationConfig, type DataTableSortingConfig, type DataTableFilteringConfig, type DataTableSelectionConfig, type DataTableFilterGroup, type DataTableExportConfig, type DataTableExportFormat } from './types';
2
2
  export declare const DEFAULT_PAGE_SIZE = 25;
3
3
  export declare const DEFAULT_PAGE_SIZE_OPTIONS: number[];
4
+ export declare const DEFAULT_SERVER_PAGE_SIZES: number[];
4
5
  export declare const DEFAULT_PAGINATION: DataTablePaginationConfig;
5
6
  export declare const DEFAULT_SORTING: DataTableSortingConfig;
6
7
  export declare const DEFAULT_FILTERING: DataTableFilteringConfig;
@@ -8,6 +9,9 @@ export declare const DEFAULT_EXPORT_FORMATS: DataTableExportFormat[];
8
9
  export declare const DEFAULT_SELECTION: DataTableSelectionConfig;
9
10
  export declare function createEmptyFilterGroup(): DataTableFilterGroup;
10
11
  export declare function resolvePagination(config: DataTableView): DataTablePaginationConfig | false;
12
+ export declare function fitPageSize(pageSize: number, options: number[] | undefined): number;
13
+ export declare function offeredPageSizes(options: number[] | undefined, inUse: Array<number | undefined>, defaults?: number[]): number[];
14
+ export declare function paramsKey(params: Record<string, unknown> | undefined): string;
11
15
  export declare function resolveSorting(config: DataTableView): DataTableSortingConfig | false;
12
16
  export declare function resolveFiltering(config: DataTableView): DataTableFilteringConfig | false;
13
17
  export declare function resolveExport(config: DataTableView): DataTableExportConfig | false;
@@ -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, 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;