@skygraph/react 0.0.0-placeholder.0 → 0.5.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 (72) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +70 -12
  3. package/dist/Table-BmesoMje.d.ts +1017 -0
  4. package/dist/Table-CpKMOH2x.d.cts +1017 -0
  5. package/dist/chunk-2OCEO636.js +91 -0
  6. package/dist/chunk-2OCEO636.js.map +1 -0
  7. package/dist/chunk-BNMJSYI2.js +54 -0
  8. package/dist/chunk-BNMJSYI2.js.map +1 -0
  9. package/dist/chunk-FSV73JI4.js +58 -0
  10. package/dist/chunk-FSV73JI4.js.map +1 -0
  11. package/dist/chunk-GJDDPZH7.js +226 -0
  12. package/dist/chunk-GJDDPZH7.js.map +1 -0
  13. package/dist/chunk-MLEBVELO.js +1412 -0
  14. package/dist/chunk-MLEBVELO.js.map +1 -0
  15. package/dist/chunk-NXB3VAVF.js +3794 -0
  16. package/dist/chunk-NXB3VAVF.js.map +1 -0
  17. package/dist/chunk-SEQI65CF.js +61 -0
  18. package/dist/chunk-SEQI65CF.js.map +1 -0
  19. package/dist/chunk-UO6VJC3C.js +1667 -0
  20. package/dist/chunk-UO6VJC3C.js.map +1 -0
  21. package/dist/chunk-Z5UGF7EO.js +847 -0
  22. package/dist/chunk-Z5UGF7EO.js.map +1 -0
  23. package/dist/chunk-ZJF6SJLP.js +200 -0
  24. package/dist/chunk-ZJF6SJLP.js.map +1 -0
  25. package/dist/common-CdpocIEz.d.cts +27 -0
  26. package/dist/common-CdpocIEz.d.ts +27 -0
  27. package/dist/datagrid-B6hg5yJh.d.cts +200 -0
  28. package/dist/datagrid-B6hg5yJh.d.ts +200 -0
  29. package/dist/datagrid.cjs +1053 -0
  30. package/dist/datagrid.cjs.map +1 -0
  31. package/dist/datagrid.d.cts +2 -0
  32. package/dist/datagrid.d.ts +2 -0
  33. package/dist/datagrid.js +10 -0
  34. package/dist/datagrid.js.map +1 -0
  35. package/dist/devtools.cjs +253 -0
  36. package/dist/devtools.cjs.map +1 -0
  37. package/dist/devtools.d.cts +29 -0
  38. package/dist/devtools.d.ts +29 -0
  39. package/dist/devtools.js +9 -0
  40. package/dist/devtools.js.map +1 -0
  41. package/dist/form.cjs +1723 -0
  42. package/dist/form.cjs.map +1 -0
  43. package/dist/form.d.cts +530 -0
  44. package/dist/form.d.ts +530 -0
  45. package/dist/form.js +49 -0
  46. package/dist/form.js.map +1 -0
  47. package/dist/index.cjs +22467 -0
  48. package/dist/index.cjs.map +1 -0
  49. package/dist/index.d.cts +3685 -0
  50. package/dist/index.d.ts +3685 -0
  51. package/dist/index.js +14131 -0
  52. package/dist/index.js.map +1 -0
  53. package/dist/table.cjs +4134 -0
  54. package/dist/table.cjs.map +1 -0
  55. package/dist/table.d.cts +31 -0
  56. package/dist/table.d.ts +31 -0
  57. package/dist/table.js +26 -0
  58. package/dist/table.js.map +1 -0
  59. package/dist/tree.cjs +1822 -0
  60. package/dist/tree.cjs.map +1 -0
  61. package/dist/tree.d.cts +348 -0
  62. package/dist/tree.d.ts +348 -0
  63. package/dist/tree.js +13 -0
  64. package/dist/tree.js.map +1 -0
  65. package/dist/virtual.cjs +145 -0
  66. package/dist/virtual.cjs.map +1 -0
  67. package/dist/virtual.d.cts +50 -0
  68. package/dist/virtual.d.ts +50 -0
  69. package/dist/virtual.js +11 -0
  70. package/dist/virtual.js.map +1 -0
  71. package/package.json +108 -18
  72. package/index.js +0 -3
@@ -0,0 +1,1017 @@
1
+ import React__default from 'react';
2
+ import { TableOptions, RowId, Core, TableEngine, TableState, SortDirection, SortConfig, ColumnFilter, FilterOperator } from '@skygraph/core';
3
+ import { B as BaseComponentProps, I as InteractiveProps, S as SizableProps } from './common-CdpocIEz.cjs';
4
+
5
+ /** Locale strings for the Pagination component. */
6
+ interface PaginationLocale {
7
+ /** Text shown before the total count (e.g. "Total"). */
8
+ totalPrefix?: string;
9
+ /** Label for the page-size selector (e.g. "items / page"). */
10
+ itemsPerPage?: string;
11
+ /** Label for the page-jump input (e.g. "Go to"). */
12
+ jump?: string;
13
+ /** Unit label for a page (e.g. "page"). */
14
+ page?: string;
15
+ /** Accessible name for the surrounding `<nav>` element. */
16
+ ariaLabel?: string;
17
+ }
18
+ /**
19
+ * Localizable strings for the `Table` component. This is the *single*
20
+ * canonical declaration; `complex/Table/types.ts` re-exports the same type
21
+ * to keep imports stable inside the Table subtree.
22
+ */
23
+ interface TableLocale {
24
+ /** Empty state body text. */
25
+ emptyText?: React__default.ReactNode;
26
+ /** Filter reset button label. */
27
+ filterReset?: string;
28
+ /** Filter confirm button label. */
29
+ filterConfirm?: string;
30
+ /** Placeholder for filter list search. */
31
+ filterSearchPlaceholder?: string;
32
+ /** Message when filter search has no matches. */
33
+ filterEmptyText?: string;
34
+ /** Toolbar global search placeholder. */
35
+ searchPlaceholder?: string;
36
+ /** Ascending sort affordance in header. */
37
+ sortAsc?: React__default.ReactNode;
38
+ /** Descending sort affordance in header. */
39
+ sortDesc?: React__default.ReactNode;
40
+ /** Row/tree expander icon. */
41
+ expandIcon?: React__default.ReactNode;
42
+ /** Default column filter icon. */
43
+ filterIcon?: React__default.ReactNode;
44
+ /** Column search-mode filter icon. */
45
+ searchIcon?: React__default.ReactNode;
46
+ /** Formats total row count label. */
47
+ totalRows?: (count: number) => string;
48
+ /** Formats selection count in the summary bar. */
49
+ selectedRows?: (count: number) => string;
50
+ /** CSV export toolbar label. */
51
+ exportCSV?: string;
52
+ /** JSON export toolbar label. */
53
+ exportJSON?: string;
54
+ /** Copy table toolbar label. */
55
+ copyTable?: string;
56
+ /** Pin column to left context label. */
57
+ pinLeft?: string;
58
+ /** Pin column to right context label. */
59
+ pinRight?: string;
60
+ /** Unpin column context label. */
61
+ unpin?: string;
62
+ /** Column visibility menu trigger label. */
63
+ showColumns?: string;
64
+ /** Print toolbar label. */
65
+ print?: string;
66
+ /** Enter fullscreen label. */
67
+ fullscreen?: string;
68
+ /** Exit fullscreen label. */
69
+ exitFullscreen?: string;
70
+ /** Density menu trigger label. */
71
+ density?: string;
72
+ /** Compact density option. */
73
+ densitySmall?: string;
74
+ /** Default density option. */
75
+ densityMiddle?: string;
76
+ /** Comfortable density option. */
77
+ densityLarge?: string;
78
+ /** Collapse all groups toolbar label. */
79
+ groupCollapse?: string;
80
+ /** Expand all groups toolbar label. */
81
+ groupExpand?: string;
82
+ /** Aggregate label for sum. */
83
+ sum?: string;
84
+ /** Aggregate label for average. */
85
+ avg?: string;
86
+ /** Aggregate label for count. */
87
+ count?: string;
88
+ /** Aggregate label for minimum. */
89
+ min?: string;
90
+ /** Aggregate label for maximum. */
91
+ max?: string;
92
+ /** Copy success toast (reserved). */
93
+ copiedToClipboard?: string;
94
+ /** Row number column header. */
95
+ rowNumber?: string;
96
+ /** Toolbar dropdown trigger label for picking a `groupBy` field. */
97
+ groupByLabel?: string;
98
+ /** "No grouping" option label inside the group-by dropdown. */
99
+ groupByNone?: string;
100
+ /** Placeholder for advanced filter scalar value input. */
101
+ filterAdvancedValuePlaceholder?: string;
102
+ /** Placeholder for advanced filter `in` / `notIn` comma-separated input. */
103
+ filterAdvancedInPlaceholder?: string;
104
+ /** Placeholder for the upper bound of `between` operator. */
105
+ filterAdvancedBetweenMaxPlaceholder?: string;
106
+ /** Operator label: equal. */
107
+ filterOpEq?: string;
108
+ /** Operator label: not equal. */
109
+ filterOpNeq?: string;
110
+ /** Operator label: less than. */
111
+ filterOpLt?: string;
112
+ /** Operator label: less than or equal. */
113
+ filterOpLte?: string;
114
+ /** Operator label: greater than. */
115
+ filterOpGt?: string;
116
+ /** Operator label: greater than or equal. */
117
+ filterOpGte?: string;
118
+ /** Operator label: between (inclusive). */
119
+ filterOpBetween?: string;
120
+ /** Operator label: in list. */
121
+ filterOpIn?: string;
122
+ /** Operator label: not in list. */
123
+ filterOpNotIn?: string;
124
+ /** Operator label: contains substring. */
125
+ filterOpContains?: string;
126
+ /** Operator label: starts with. */
127
+ filterOpStartsWith?: string;
128
+ /** Operator label: ends with. */
129
+ filterOpEndsWith?: string;
130
+ /** Operator label: is empty / null. */
131
+ filterOpIsEmpty?: string;
132
+ /** Operator label: is not empty. */
133
+ filterOpIsNotEmpty?: string;
134
+ /** Accessible label for the filter-operator `<Select>`. */
135
+ filterOperatorAriaLabel?: string;
136
+ }
137
+ /** Locale strings for the DataGrid component. */
138
+ interface DataGridLocale {
139
+ /** Text shown when the grid has no data. */
140
+ noData?: string;
141
+ /** Label for the "Select all" action. */
142
+ selectAll?: string;
143
+ }
144
+ /** Locale strings for the Modal component. */
145
+ interface ModalLocale {
146
+ /** Label for the OK / confirm button. */
147
+ okText?: string;
148
+ /** Label for the Cancel button. */
149
+ cancelText?: string;
150
+ /** Accessible name for the close (×) button. */
151
+ closeAriaLabel?: string;
152
+ }
153
+ /** Locale strings for the Popconfirm component. */
154
+ interface PopconfirmLocale {
155
+ /** Label for the OK / confirm button. */
156
+ okText?: string;
157
+ /** Label for the Cancel button. */
158
+ cancelText?: string;
159
+ }
160
+ /** Locale strings for the Empty component. */
161
+ interface EmptyLocale {
162
+ /** Default description shown when no data is available. */
163
+ description?: string;
164
+ }
165
+ /** Locale strings for form-related components. */
166
+ interface FormLocale {
167
+ /** Marker text for required fields. */
168
+ required?: string;
169
+ /** Marker text for optional fields. */
170
+ optional?: string;
171
+ /** Label for the submit button. */
172
+ submitText?: string;
173
+ /** Label for the reset button. */
174
+ resetText?: string;
175
+ }
176
+ /** Locale strings for the Upload component. */
177
+ interface UploadLocale {
178
+ /** Label for the upload trigger. */
179
+ uploadText?: string;
180
+ /** Label for the remove-file action. */
181
+ removeFile?: string;
182
+ /** Text shown when an upload fails. */
183
+ uploadError?: string;
184
+ /** Label for the preview-file action. */
185
+ previewFile?: string;
186
+ /** Accessible name for the upload-file `<input type="file">`. */
187
+ uploadAriaLabel?: string;
188
+ }
189
+ /** Locale strings for the Transfer component. */
190
+ interface TransferLocale {
191
+ /** Titles for the left and right lists. */
192
+ titles?: [string, string];
193
+ /** Placeholder for the search input inside lists. */
194
+ searchPlaceholder?: string;
195
+ /** Singular unit label for items (e.g. "item"). */
196
+ itemUnit?: string;
197
+ /** Plural unit label for items (e.g. "items"). */
198
+ itemsUnit?: string;
199
+ /** Content shown when no items match the search. */
200
+ notFoundContent?: string;
201
+ /** Label for the "Select all" checkbox. */
202
+ selectAll?: string;
203
+ /** Label for the "Deselect all" checkbox. */
204
+ deselectAll?: string;
205
+ }
206
+ /** Locale strings for the Calendar component. */
207
+ interface CalendarLocale {
208
+ /** Localized month names (12 entries). */
209
+ monthNames?: string[];
210
+ /** Localized day-of-week names (7 entries, starting from Sunday or Monday depending on locale). */
211
+ dayNames?: string[];
212
+ /** Label for the "Today" button. */
213
+ today?: string;
214
+ /** Label for the "Now" shortcut when picking date + time. */
215
+ now?: string;
216
+ /** Column header for the ISO week number when `showWeekNumber` is enabled. */
217
+ week?: string;
218
+ /** Tooltip on the "previous year" navigation button. */
219
+ prevYear?: string;
220
+ /** Tooltip on the "next year" navigation button. */
221
+ nextYear?: string;
222
+ /** Tooltip on the "previous month" navigation button. */
223
+ prevMonth?: string;
224
+ /** Tooltip on the "next month" navigation button. */
225
+ nextMonth?: string;
226
+ }
227
+ /** Locale strings for the InputPassword component. */
228
+ interface InputPasswordLocale {
229
+ /** Accessible label for the visibility toggle when password is hidden. */
230
+ showPassword?: string;
231
+ /** Accessible label for the visibility toggle when password is visible. */
232
+ hidePassword?: string;
233
+ }
234
+ /** Locale strings for the SearchInput component. */
235
+ interface SearchInputLocale {
236
+ /** Accessible label for the clear (×) button. */
237
+ clear?: string;
238
+ }
239
+ /** Locale strings for the InlineEdit component. */
240
+ interface InlineEditLocale {
241
+ /** Accessible label for the save (✓) button. */
242
+ save?: string;
243
+ /** Accessible label for the cancel (✕) button. */
244
+ cancel?: string;
245
+ }
246
+ /** Locale strings for the TagInput component. */
247
+ interface TagInputLocale {
248
+ /**
249
+ * Formats the per-tag remove (×) button accessible label.
250
+ * Default: `(tag) => `Remove ${tag}``.
251
+ */
252
+ removeTag?: (tag: string) => string;
253
+ }
254
+ /** Locale strings for the Drawer component. */
255
+ interface DrawerLocale {
256
+ /** Accessible label for the close button. */
257
+ closeAriaLabel?: string;
258
+ }
259
+ /** Locale strings for the Notification component. */
260
+ interface NotificationLocale {
261
+ /** Accessible label for the close button on each toast. */
262
+ closeAriaLabel?: string;
263
+ }
264
+ /** Locale strings for the Tag component. */
265
+ interface TagLocale {
266
+ /** Accessible label for the close (×) button on closable tags. */
267
+ closeAriaLabel?: string;
268
+ }
269
+ /** Locale strings for the Spin component. */
270
+ interface SpinLocale {
271
+ /** Accessible label for the spinner role. */
272
+ loading?: string;
273
+ }
274
+ /** Locale strings for the Skeleton component. */
275
+ interface SkeletonLocale {
276
+ /** Accessible label announced while content is loading. */
277
+ loading?: string;
278
+ }
279
+ /** Locale strings for the Breadcrumb component. */
280
+ interface BreadcrumbLocale {
281
+ /** Accessible name for the surrounding `<nav>` element. */
282
+ ariaLabel?: string;
283
+ }
284
+ /** Locale strings for the Carousel component. */
285
+ interface CarouselLocale {
286
+ /** Formats the per-slide indicator accessible label. Default `(i) => `Slide ${i}``. */
287
+ slide?: (index: number) => string;
288
+ }
289
+ /** Locale strings for the Rate component. */
290
+ interface RateLocale {
291
+ /** Accessible label for the radio-group root. */
292
+ ariaLabel?: string;
293
+ /** Formats the per-star accessible label (default `(n) => `${n} star${n > 1 ? 's' : ''}``). */
294
+ star?: (count: number) => string;
295
+ }
296
+ /** Locale strings for the Charts components. */
297
+ interface ChartsLocale {
298
+ /** Accessible label for `<LineChart>`. */
299
+ lineChart?: string;
300
+ /** Accessible label for `<BarChart>`. */
301
+ barChart?: string;
302
+ /** Accessible label for `<AreaChart>`. */
303
+ areaChart?: string;
304
+ /** Accessible label for `<PieChart>`. */
305
+ pieChart?: string;
306
+ /** Accessible label for `<ChartLegend>`. */
307
+ legend?: string;
308
+ /** Accessible label for the hover-toolbar `<div role="toolbar">`. */
309
+ actions?: string;
310
+ }
311
+ /** Locale strings for the DatePicker / RangePicker components. */
312
+ interface DatePickerLocale {
313
+ /** Tooltip on the "previous year" navigation button. */
314
+ prevYear?: string;
315
+ /** Tooltip on the "next year" navigation button. */
316
+ nextYear?: string;
317
+ /** Tooltip on the "previous month" navigation button. */
318
+ prevMonth?: string;
319
+ /** Tooltip on the "next month" navigation button. */
320
+ nextMonth?: string;
321
+ }
322
+ /** Locale strings for the Cascader component. */
323
+ interface CascaderLocale {
324
+ /** Placeholder for the search input inside the dropdown. */
325
+ searchPlaceholder?: string;
326
+ /** Empty-state text shown when search has no matches. */
327
+ noMatches?: string;
328
+ }
329
+ /** Locale strings for the TreeSelect component. */
330
+ interface TreeSelectLocale {
331
+ /** Placeholder for the search input inside the dropdown. */
332
+ searchPlaceholder?: string;
333
+ /** Empty-state text shown when search has no matches. */
334
+ noMatches?: string;
335
+ }
336
+ /** Locale strings for the Dashboard / DashboardEditor components. */
337
+ interface DashboardLocale {
338
+ /** Accessible label for the dashboard root. */
339
+ ariaLabel?: string;
340
+ /** Accessible label for the editor root (DashboardEditor). */
341
+ editorAriaLabel?: string;
342
+ /** Accessible label for the per-widget resize handle. */
343
+ resizeWidget?: string;
344
+ /** Accessible label for the widget actions (≡ menu) trigger. */
345
+ widgetActions?: string;
346
+ }
347
+ /** Locale strings for the Gantt component. */
348
+ interface GanttLocale {
349
+ /** Accessible label for the gantt root. */
350
+ ariaLabel?: string;
351
+ /** Accessible label for the per-task resize handle. */
352
+ resizeTask?: string;
353
+ }
354
+ /** Locale strings for the ResourceCalendar component. */
355
+ interface ResourceCalendarLocale {
356
+ /** Accessible label for the calendar root. */
357
+ ariaLabel?: string;
358
+ /** Accessible label for the resource lane. Default `(name) => `Resource ${name}``. */
359
+ resource?: (name: string) => string;
360
+ /** Accessible label for capacity. Default `(n) => `capacity ${n} per slot``. */
361
+ capacity?: (capacityPerSlot: number) => string;
362
+ /** Accessible label for the start-side resize handle. */
363
+ resizeStart?: string;
364
+ /** Accessible label for the end-side resize handle. */
365
+ resizeEnd?: string;
366
+ /** Suffix appended to the assignment aria-label when status is conflict. Default ` (conflict)`. */
367
+ conflictSuffix?: string;
368
+ }
369
+ /** Locale strings for the Timeline component (both the simple and event variants). */
370
+ interface TimelineLocale {
371
+ /** Accessible label for the timeline root. */
372
+ ariaLabel?: string;
373
+ }
374
+ /** Locale strings for the SchemaFormEditor component. */
375
+ interface SchemaFormEditorLocale {
376
+ /** Tooltip / aria-label for the undo button. */
377
+ undo?: string;
378
+ /** Tooltip / aria-label for the redo button. */
379
+ redo?: string;
380
+ /** Accessible label for the per-option remove (×) button in the inspector. */
381
+ removeOption?: string;
382
+ /** Accessible label for the read-only generated JSON `<pre>`. */
383
+ schemaView?: string;
384
+ /** Inspector "Label" placeholder. */
385
+ optionLabelPlaceholder?: string;
386
+ /** Inspector "Value" placeholder. */
387
+ optionValuePlaceholder?: string;
388
+ /** Per-field action: move up. */
389
+ moveFieldUp?: string;
390
+ /** Per-field action: move down. */
391
+ moveFieldDown?: string;
392
+ /** Per-field action: duplicate. */
393
+ duplicateField?: string;
394
+ /** Per-field action: delete. */
395
+ deleteField?: string;
396
+ }
397
+ /** Root locale object that aggregates all component-level locales. */
398
+ interface SgLocale {
399
+ /** Table locale overrides. */
400
+ table?: TableLocale;
401
+ /** Pagination locale overrides. */
402
+ pagination?: PaginationLocale;
403
+ /** DataGrid locale overrides. */
404
+ dataGrid?: DataGridLocale;
405
+ /** Modal locale overrides. */
406
+ modal?: ModalLocale;
407
+ /** Popconfirm locale overrides. */
408
+ popconfirm?: PopconfirmLocale;
409
+ /** Empty locale overrides. */
410
+ empty?: EmptyLocale;
411
+ /** Form locale overrides. */
412
+ form?: FormLocale;
413
+ /** Upload locale overrides. */
414
+ upload?: UploadLocale;
415
+ /** Transfer locale overrides. */
416
+ transfer?: TransferLocale;
417
+ /** Calendar locale overrides. */
418
+ calendar?: CalendarLocale;
419
+ /** InputPassword locale overrides. */
420
+ inputPassword?: InputPasswordLocale;
421
+ /** SearchInput locale overrides. */
422
+ searchInput?: SearchInputLocale;
423
+ /** InlineEdit locale overrides. */
424
+ inlineEdit?: InlineEditLocale;
425
+ /** TagInput locale overrides. */
426
+ tagInput?: TagInputLocale;
427
+ /** Drawer locale overrides. */
428
+ drawer?: DrawerLocale;
429
+ /** Notification locale overrides. */
430
+ notification?: NotificationLocale;
431
+ /** Tag locale overrides. */
432
+ tag?: TagLocale;
433
+ /** Spin locale overrides. */
434
+ spin?: SpinLocale;
435
+ /** Skeleton locale overrides. */
436
+ skeleton?: SkeletonLocale;
437
+ /** Breadcrumb locale overrides. */
438
+ breadcrumb?: BreadcrumbLocale;
439
+ /** Carousel locale overrides. */
440
+ carousel?: CarouselLocale;
441
+ /** Rate locale overrides. */
442
+ rate?: RateLocale;
443
+ /** Charts locale overrides. */
444
+ charts?: ChartsLocale;
445
+ /** DatePicker / RangePicker locale overrides. */
446
+ datePicker?: DatePickerLocale;
447
+ /** Cascader locale overrides. */
448
+ cascader?: CascaderLocale;
449
+ /** TreeSelect locale overrides. */
450
+ treeSelect?: TreeSelectLocale;
451
+ /** Dashboard / DashboardEditor locale overrides. */
452
+ dashboard?: DashboardLocale;
453
+ /** Gantt locale overrides. */
454
+ gantt?: GanttLocale;
455
+ /** ResourceCalendar locale overrides. */
456
+ resourceCalendar?: ResourceCalendarLocale;
457
+ /** Timeline (event timeline + step timeline) locale overrides. */
458
+ timeline?: TimelineLocale;
459
+ /** SchemaFormEditor locale overrides. */
460
+ schemaFormEditor?: SchemaFormEditorLocale;
461
+ }
462
+
463
+ /**
464
+ * Слот-API: публичный контракт для точечной стилизации сложных компонентов.
465
+ * См. `docs/styling-contract.md` §2.2, §4.
466
+ *
467
+ * - `classNames?: XxxClassNames` — дополнительный класс на конкретный слот;
468
+ * - `styles?: XxxStyles` — инлайн-стили на конкретный слот;
469
+ * - `className` / `style` (на корне) — применяются дополнительно к `classNames.root` / `styles.root`;
470
+ * - порядок: дефолтный класс библиотеки → пользовательский слот-класс → корневой `className`.
471
+ */
472
+ /** Мапа `слот → className`. */
473
+ type SlotClassNames<K extends string> = Partial<Record<K, string>>;
474
+ /** Мапа `слот → React.CSSProperties`. */
475
+ type SlotStyles<K extends string> = Partial<Record<K, React__default.CSSProperties>>;
476
+
477
+ /**
478
+ * Параметры печати для {@link printElement} и `ref.print()` методов
479
+ * компонентов (Table / Diagram / Charts).
480
+ *
481
+ * Дизайн осознанно skinny: всё, что выходит за пределы CSS `@page` и не
482
+ * требует runtime-зависимости, — отдано пользователю через `customStyles`.
483
+ */
484
+ interface PrintOptions {
485
+ /**
486
+ * Заголовок popup-окна, используется браузером как `document.title`
487
+ * (а в "Save as PDF" — как имя файла по умолчанию).
488
+ */
489
+ fileName?: string;
490
+ /** Ориентация страницы. @default 'portrait' */
491
+ orientation?: 'portrait' | 'landscape';
492
+ /**
493
+ * CSS-значение для `@page { size }`. Стандартные ключевые слова
494
+ * (`'A4'`, `'Letter'`, `'A3'`, `'Legal'`) или custom-строка
495
+ * (`'210mm 297mm'`).
496
+ * @default 'A4'
497
+ */
498
+ pageSize?: 'A4' | 'A3' | 'A5' | 'Letter' | 'Legal' | string;
499
+ /**
500
+ * Множитель `transform: scale(...)` на корневом контейнере popup-страницы.
501
+ * Полезно когда исходный фрагмент шире страницы.
502
+ * @default 1
503
+ */
504
+ scale?: number;
505
+ /**
506
+ * Поля страницы (`@page { margin }`). Строка как есть подставляется в
507
+ * CSS, поэтому "1cm", "10mm 20mm" и т.п. — все валидны.
508
+ * @default '1cm'
509
+ */
510
+ margins?: string;
511
+ /**
512
+ * Дополнительный CSS, инжектируемый поверх стилей SkyGraph. Применяется
513
+ * последним, поэтому селекторы из этой строки имеют максимальный приоритет
514
+ * при равной специфичности.
515
+ */
516
+ customStyles?: string;
517
+ /**
518
+ * Не вызывать `window.print()` автоматически — popup откроется и останется
519
+ * под управлением вызывающего кода (для тестов / кастомных сценариев).
520
+ * @default false
521
+ */
522
+ skipPrint?: boolean;
523
+ /**
524
+ * Не закрывать popup после печати. По умолчанию popup закрывается через
525
+ * `window.close()` сразу после возврата из `print()`.
526
+ * @default false
527
+ */
528
+ keepOpen?: boolean;
529
+ }
530
+ /**
531
+ * Возможные значения prop `printable` на компонентах с поддержкой
532
+ * `ref.print()` (`Table`, `Diagram`, `LineChart`, `BarChart`, `AreaChart`,
533
+ * `PieChart`).
534
+ *
535
+ * - `false` / `undefined` — печать отключена (toolbar-кнопок не появляется,
536
+ * `ref.print()` всё равно работает на компонентах с ref).
537
+ * - `true` — печать включена с дефолтами.
538
+ * - `{ fileName?: '...' }` — печать включена, имя popup-окна переопределено.
539
+ */
540
+ type PrintableProp = boolean | {
541
+ fileName?: string;
542
+ };
543
+
544
+ interface UseTableOptions extends TableOptions {
545
+ data?: Array<{
546
+ id: RowId;
547
+ data: Record<string, unknown>;
548
+ }>;
549
+ }
550
+ type FilterFn = (row: Record<string, unknown>) => boolean;
551
+ interface UseTableReturn {
552
+ core: Core;
553
+ table: TableEngine;
554
+ visibleRows: Array<{
555
+ id: RowId;
556
+ data: Record<string, unknown>;
557
+ }>;
558
+ tableState: TableState;
559
+ /** Snapshot of pinned columns; refreshes after `pinColumn` / `clearPinned`. */
560
+ pinnedColumns: {
561
+ left: string[];
562
+ right: string[];
563
+ };
564
+ /** Snapshot of persisted column widths; refreshes after `setColumnWidth` /
565
+ * `clearColumnWidths`. */
566
+ columnWidths: Record<string, number>;
567
+ setSort: (column: string, direction: SortDirection) => void;
568
+ setSorts: (sorts: SortConfig[]) => void;
569
+ clearSort: () => void;
570
+ addFilter: (filter: ColumnFilter) => void;
571
+ removeFilter: (column: string) => void;
572
+ clearFilters: () => void;
573
+ setFilterFn: (fn: FilterFn | null) => void;
574
+ setPage: (page: number) => void;
575
+ nextPage: () => void;
576
+ prevPage: () => void;
577
+ pinColumn: (column: string, side: 'left' | 'right' | null) => void;
578
+ clearPinned: () => void;
579
+ setColumnWidth: (column: string, width: number) => void;
580
+ clearColumnWidths: () => void;
581
+ refresh: () => void;
582
+ }
583
+ declare function useTable(options?: UseTableOptions): UseTableReturn;
584
+
585
+ /** One entry in a table context menu. */
586
+ interface ContextMenuItem {
587
+ /** Unique key among siblings. */
588
+ key: string;
589
+ /** Primary label. */
590
+ label: React__default.ReactNode;
591
+ /** Optional leading icon. */
592
+ icon?: React__default.ReactNode;
593
+ /** Destructive styling. */
594
+ danger?: boolean;
595
+ /** Disables click handling. */
596
+ disabled?: boolean;
597
+ /** Renders a separator instead of a row. */
598
+ divider?: boolean;
599
+ /** Invoked on item activate. */
600
+ onClick?: () => void;
601
+ /** Nested submenu items. */
602
+ children?: ContextMenuItem[];
603
+ }
604
+
605
+ /**
606
+ * Имена слотов `Table` для пропов `classNames` / `styles`.
607
+ * Полный список и описания — `docs/styling-contract.md` §4.1.
608
+ */
609
+ type TableSlot = 'root' | 'toolbar' | 'scroll' | 'grid' | 'headerRow' | 'headerCell' | 'headerCellContent' | 'row' | 'bodyCell' | 'empty' | 'pagination' | 'footer';
610
+ /** Мапа `слот → className` для `Table`. */
611
+ type TableClassNames = SlotClassNames<TableSlot>;
612
+ /** Мапа `слот → inline-style` для `Table`. */
613
+ type TableStyles = SlotStyles<TableSlot>;
614
+
615
+ /** Cell merge span metadata from `onCell`. */
616
+ interface CellSpan {
617
+ /** Vertical span count; `0` hides the cell. */
618
+ rowSpan?: number;
619
+ /** Horizontal span count; `0` hides the cell. */
620
+ colSpan?: number;
621
+ }
622
+ /** Props passed to a custom column filter dropdown. */
623
+ interface FilterDropdownProps {
624
+ /** Filter values currently selected in the dropdown. */
625
+ selectedKeys: unknown[];
626
+ /** Updates selected filter values before confirm. */
627
+ setSelectedKeys: (keys: unknown[]) => void;
628
+ /** Applies the current selection and closes the dropdown. */
629
+ confirm: () => void;
630
+ /** Clears active filters for the column. */
631
+ clearFilters: () => void;
632
+ /** Closes the dropdown without applying. */
633
+ close: () => void;
634
+ }
635
+ /** Built-in footer aggregate operation identifiers. */
636
+ type AggregateType = 'sum' | 'avg' | 'count' | 'min' | 'max';
637
+ /** Column definition for `Table` (leaf or group parent). */
638
+ interface TableColumn {
639
+ /** Unique column key matching row data fields. */
640
+ key: string;
641
+ /** Header label or node. */
642
+ title: React__default.ReactNode;
643
+ /** Default column width in pixels. */
644
+ width?: number;
645
+ /** Minimum width when resizing. */
646
+ minWidth?: number;
647
+ /** Enables click-to-sort on this column. */
648
+ sortable?: boolean;
649
+ /** Shows a drag handle to resize the column. */
650
+ resizable?: boolean;
651
+ /** Allows in-cell editing when `onCellEdit` is set on the table. */
652
+ editable?: boolean;
653
+ /** Sticky column position. */
654
+ fixed?: 'left' | 'right';
655
+ /** Truncates overflowing cell text with ellipsis. */
656
+ ellipsis?: boolean;
657
+ /** Cell text alignment. */
658
+ align?: 'left' | 'center' | 'right';
659
+ /** Hides the column when true. */
660
+ hidden?: boolean;
661
+ /** Preset filter options for the column filter menu. */
662
+ filters?: Array<{
663
+ text: string;
664
+ value: unknown;
665
+ }>;
666
+ /** Predicate to test if a row matches a filter value. */
667
+ onFilter?: (value: unknown, row: Record<string, unknown>) => boolean;
668
+ /** Custom filter dropdown UI or render function. */
669
+ filterDropdown?: React__default.ReactNode | ((props: FilterDropdownProps) => React__default.ReactNode);
670
+ /** Custom filter icon in the header. */
671
+ filterIcon?: React__default.ReactNode | ((filtered: boolean) => React__default.ReactNode);
672
+ /** When false, filter mode is single-select radio. */
673
+ filterMultiple?: boolean;
674
+ /** Enables or customizes filter option search in the menu. */
675
+ filterSearch?: boolean | ((input: string, record: {
676
+ text: string;
677
+ value: unknown;
678
+ }) => boolean);
679
+ /**
680
+ * Filter UI mode:
681
+ * - `'menu'` — preset list with checkboxes (default).
682
+ * - `'search'` — single search input.
683
+ * - `'advanced'` — operator picker + value input (`AdvancedFilter`).
684
+ */
685
+ filterMode?: 'menu' | 'search' | 'advanced';
686
+ /**
687
+ * Список доступных операторов в `advanced`-моде. По умолчанию выводится
688
+ * полный набор кроме строгих строковых операторов (для нестроковых полей).
689
+ * Передайте свой массив, чтобы ограничить пользователя.
690
+ */
691
+ advancedFilterOperators?: FilterOperator[];
692
+ /**
693
+ * Тип значения колонки — подсказка для `advanced`-режима, чтобы выбрать
694
+ * корректный input (`number` / `text`) и стартовый набор операторов.
695
+ * @default 'text'
696
+ */
697
+ advancedFilterType?: 'text' | 'number';
698
+ /** Controlled active filter values for the column. */
699
+ filteredValue?: unknown[];
700
+ /** Initial filter values for uncontrolled usage. */
701
+ defaultFilteredValue?: unknown[];
702
+ /** Custom cell content renderer. */
703
+ render?: (value: unknown, row: Record<string, unknown>, id: RowId) => React__default.ReactNode;
704
+ /** Returns rowspan/colspan for the cell at this row index. */
705
+ onCell?: (row: Record<string, unknown>, rowIndex: number) => CellSpan;
706
+ /** Child columns for grouped headers. */
707
+ children?: TableColumn[];
708
+ /** Small info icon with this content in the header. */
709
+ tooltip?: string | React__default.ReactNode;
710
+ /** Extra class for body cells. */
711
+ cellClassName?: string | ((value: unknown, row: Record<string, unknown>, id: RowId) => string);
712
+ /** Extra class for header cell of this column. */
713
+ headerClassName?: string;
714
+ /** Shows a copy-to-clipboard control on the cell. */
715
+ copyable?: boolean;
716
+ /** Footer aggregate for this column (built-in name or custom reducer). */
717
+ aggregate?: AggregateType | ((values: unknown[]) => React__default.ReactNode);
718
+ }
719
+ /** Controlled row selection configuration. */
720
+ interface RowSelectionConfig {
721
+ /** Keys of currently selected rows. */
722
+ selectedKeys: RowId[];
723
+ /** Called when selection changes. */
724
+ onChange: (keys: RowId[], rows: Array<Record<string, unknown>>) => void;
725
+ /** Selection control type. */
726
+ type?: 'checkbox' | 'radio';
727
+ }
728
+ /** Expandable row configuration. */
729
+ interface ExpandableConfig {
730
+ /** Renders content below the row when expanded. */
731
+ expandedRowRender: (row: Record<string, unknown>, id: RowId) => React__default.ReactNode;
732
+ /** Controlled expanded row keys. */
733
+ expandedKeys?: RowId[];
734
+ /** Keys expanded on first mount when `expandedKeys` is not controlled. */
735
+ defaultExpandedRowKeys?: RowId[];
736
+ /** Fires when a row expand state toggles. */
737
+ onExpand?: (expanded: boolean, id: RowId) => void;
738
+ /** Limits which rows show an expand control. */
739
+ rowExpandable?: (row: Record<string, unknown>) => boolean;
740
+ }
741
+ /** Tree-shaped row data options for the table. */
742
+ interface TreeConfig {
743
+ /** Row field holding nested rows (default `children`). */
744
+ childrenColumnName?: string;
745
+ /** Pixels per tree depth level. */
746
+ indentSize?: number;
747
+ /** Starts with all tree nodes expanded. */
748
+ defaultExpandAllRows?: boolean;
749
+ }
750
+ /** One cell in a custom summary row from `summary`. */
751
+ interface SummaryCell {
752
+ /** Cell body. */
753
+ content: React__default.ReactNode;
754
+ /** Horizontal span in the summary grid. */
755
+ colSpan?: number;
756
+ /** Text alignment. */
757
+ align?: 'left' | 'center' | 'right';
758
+ }
759
+ /** Configuration for the optional row number column. */
760
+ interface RowNumberConfig {
761
+ /** Header title for the row number column. */
762
+ title?: React__default.ReactNode;
763
+ /** Column width in pixels. */
764
+ width?: number;
765
+ /** Pins the row number column. */
766
+ fixed?: 'left';
767
+ }
768
+ /** Row ids pinned to the top or bottom of the scroll area. */
769
+ interface PinnedRowsConfig {
770
+ /** Row ids rendered in a block above the main body. */
771
+ top?: RowId[];
772
+ /** Row ids rendered in a block below the main body. */
773
+ bottom?: RowId[];
774
+ }
775
+ /** Internal metadata for a grouped header row in the body. */
776
+ interface GroupRow {
777
+ /** Marks this synthetic row as a group header. */
778
+ __isGroup: true;
779
+ /** Stable key for the group (stringified value). */
780
+ groupKey: string;
781
+ /** Raw grouping value. */
782
+ groupValue: unknown;
783
+ /** Number of rows in the group. */
784
+ count: number;
785
+ /** Whether child rows are visible. */
786
+ expanded: boolean;
787
+ /** Per-column aggregate display for the group header. */
788
+ aggregates: Record<string, React__default.ReactNode>;
789
+ }
790
+ /** Action button in the selection summary bar. */
791
+ interface SelectionSummaryAction {
792
+ /** Stable action key. */
793
+ key: string;
794
+ /** Button label. */
795
+ label: React__default.ReactNode;
796
+ /** Invoked with current selection when the action is clicked. */
797
+ onClick: (selectedKeys: RowId[], selectedRows: Array<Record<string, unknown>>) => void;
798
+ /** Destructive styling hint. */
799
+ danger?: boolean;
800
+ }
801
+ /**
802
+ * Props for the `Table` component: column model, selection, scrolling, and toolbar features.
803
+ * Styling and interaction props from `BaseComponentProps`, `InteractiveProps`, and `SizableProps` are inherited without per-prop docs here.
804
+ */
805
+ interface TableProps extends Omit<UseTableOptions, 'columns'>, BaseComponentProps, InteractiveProps, SizableProps {
806
+ /** Column definitions (leaf and/or grouped). */
807
+ columns: TableColumn[];
808
+ /** Dataset rows bound to the table engine (from `useTable` options). */
809
+ data?: Array<{
810
+ id: RowId;
811
+ data: Record<string, unknown>;
812
+ }>;
813
+ /** Page size for built-in pagination (from table engine options). */
814
+ pageSize?: number;
815
+ /** Row selection state and callbacks. */
816
+ rowSelection?: RowSelectionConfig;
817
+ /** Optional expandable row renderer. */
818
+ expandable?: ExpandableConfig;
819
+ /** Renders hierarchical rows from nested data. */
820
+ tree?: TreeConfig;
821
+ /** Sticky header while scrolling vertically. */
822
+ sticky?: boolean;
823
+ /** Enables column reorder by drag-and-drop in the header. */
824
+ draggable?: boolean;
825
+ /** Shows toolbar search across visible columns. */
826
+ searchable?: boolean;
827
+ /** @default true */
828
+ showPagination?: boolean;
829
+ /** Outlined table borders. */
830
+ bordered?: boolean;
831
+ /** Horizontal and/or vertical scroll constraints. */
832
+ scroll?: {
833
+ x?: number | string;
834
+ y?: number | string;
835
+ };
836
+ /** Custom summary rows below the body. */
837
+ summary?: (data: Array<{
838
+ id: RowId;
839
+ data: Record<string, unknown>;
840
+ }>) => SummaryCell[][];
841
+ /** Row click handler. */
842
+ onRowClick?: (id: RowId, data: Record<string, unknown>) => void;
843
+ /** Commits inline cell edit values. */
844
+ onCellEdit?: (id: RowId, column: string, value: unknown) => void;
845
+ /** Called after header columns are reordered by drag-and-drop. */
846
+ onColumnOrderChange?: (order: string[]) => void;
847
+ /** Extra class for each body row. */
848
+ rowClassName?: string | ((row: Record<string, unknown>, id: RowId) => string);
849
+ /** Overrides default locale strings. */
850
+ locale?: TableLocale;
851
+ /** Enables shift-click multi-column sort. */
852
+ multiSort?: boolean;
853
+ /** Controlled multi-sort model. */
854
+ sorts?: SortConfig[];
855
+ /** Fires when multi-sort state changes. */
856
+ onSortsChange?: (sorts: SortConfig[]) => void;
857
+ /** Enables dragging body rows to reorder. */
858
+ rowDraggable?: boolean;
859
+ /** Called after row reorder via drag-and-drop. */
860
+ onRowOrderChange?: (fromIndex: number, toIndex: number) => void;
861
+ /** Builds context menu items for a header cell. */
862
+ headerContextMenu?: (column: TableColumn) => ContextMenuItem[];
863
+ /** Builds context menu items for a body cell. */
864
+ cellContextMenu?: (id: RowId, column: string, data: Record<string, unknown>) => ContextMenuItem[];
865
+ /** Shows column visibility controls in the toolbar. */
866
+ columnVisibility?: boolean;
867
+ /** Controlled hidden column keys. */
868
+ hiddenColumns?: string[];
869
+ /** Fires when visible columns change. */
870
+ onHiddenColumnsChange?: (keys: string[]) => void;
871
+ /** Enables pin/unpin via header context menu. */
872
+ columnPinning?: boolean;
873
+ /** Fires when a column pin side changes. */
874
+ onColumnPinChange?: (key: string, fixed: 'left' | 'right' | undefined) => void;
875
+ /**
876
+ * Виртуализирует тело таблицы для больших датасетов.
877
+ *
878
+ * - `true` — фиксированная высота 40px.
879
+ * - `{ rowHeight: 60 }` — фиксированная высота 60px.
880
+ * - `{ rowHeight: (row, id) => h }` — динамическая высота, переданная
881
+ * функция используется как эстимейт до того, как `ResizeObserver`
882
+ * отчитается о реальной высоте каждой строки.
883
+ * - `{ rowHeight: 40, estimateRowHeight: (row) => h }` — то же самое,
884
+ * но с явным разделением "первое значение / эстимейт-callback".
885
+ */
886
+ virtual?: boolean | {
887
+ /**
888
+ * Стартовое значение высоты строки. Число — фиксированный фоллбэк
889
+ * (быстрый путь). Функция — включает динамическое измерение через
890
+ * ResizeObserver, вызываясь как эстимейт до первого реального
891
+ * измерения.
892
+ */
893
+ rowHeight?: number | ((row: Record<string, unknown>, id: RowId) => number);
894
+ /**
895
+ * Дополнительный эстимейт высоты, разрешает динамическое измерение
896
+ * даже при числовом `rowHeight`. Имеет приоритет над `rowHeight`-
897
+ * фоллбэком при выборе размера до измерения.
898
+ */
899
+ estimateRowHeight?: (row: Record<string, unknown>, id: RowId) => number;
900
+ overscan?: number;
901
+ height?: number | string;
902
+ };
903
+ /** Shows CSV export and copy actions in the toolbar. */
904
+ exportable?: boolean;
905
+ /** Custom export handler; default downloads CSV. */
906
+ onExport?: (data: string[][]) => void;
907
+ /** Shows a bar when rows are selected. */
908
+ selectionSummary?: boolean;
909
+ /** Buttons rendered in the selection summary bar. */
910
+ selectionActions?: SelectionSummaryAction[];
911
+ /** Zebra striping on body rows. */
912
+ striped?: boolean;
913
+ /** Page size selector on the pagination control. */
914
+ showSizeChanger?: boolean;
915
+ /** Options for page size selector. */
916
+ pageSizeOptions?: number[];
917
+ /** Quick jump to page input on pagination. */
918
+ showQuickJumper?: boolean;
919
+ /** Total / range label on pagination. */
920
+ showTotal?: boolean | ((total: number, range: [number, number]) => React__default.ReactNode);
921
+ /** Fires when page size changes. */
922
+ onPageSizeChange?: (size: number) => void;
923
+ /** Prepends a row index column. */
924
+ showRowNumber?: boolean | RowNumberConfig;
925
+ /** Shows aggregate values in a footer row. */
926
+ footer?: boolean;
927
+ /** Fullscreen toggle in the toolbar. */
928
+ fullscreenable?: boolean;
929
+ /** Density (row height) selector in the toolbar. */
930
+ densityToggle?: boolean;
931
+ /** Field key to group rows by. */
932
+ groupBy?: string;
933
+ /** Starts with all groups expanded. */
934
+ defaultGroupExpanded?: boolean;
935
+ /** Fires when a group expand state changes. */
936
+ onGroupExpandChange?: (groupKey: string, expanded: boolean) => void;
937
+ /**
938
+ * Optional list of fields the user can pick to group by from the toolbar
939
+ * dropdown. When omitted, the dropdown is hidden and only the controlled
940
+ * `groupBy` value is used.
941
+ */
942
+ groupByOptions?: Array<{
943
+ key: string;
944
+ label: React__default.ReactNode;
945
+ }>;
946
+ /** Called when the user picks a different `groupBy` field from the toolbar. */
947
+ onGroupByChange?: (field: string | null) => void;
948
+ /** Arrow-key focus navigation between cells. */
949
+ keyboardNavigation?: boolean;
950
+ /** Pins specific row ids to top or bottom. */
951
+ pinnedRows?: PinnedRowsConfig;
952
+ /** Replaces default empty state content. */
953
+ emptyContent?: React__default.ReactNode;
954
+ /**
955
+ * Print action in the toolbar и/или включение `ref.print()`.
956
+ *
957
+ * `true` — стандартная кнопка в тулбаре.
958
+ * `{ fileName?: string }` — кнопка + имя popup-окна (используется браузером
959
+ * как заголовок и дефолтное имя файла в "Save as PDF").
960
+ * `false` / `undefined` — кнопки нет; `ref.print()` всё равно работает.
961
+ */
962
+ printable?: PrintableProp;
963
+ /** JSON export action in the toolbar. */
964
+ exportJSON?: boolean;
965
+ /** Row hover highlight; set false to disable. */
966
+ highlightOnHover?: boolean;
967
+ /** Double-click resize handle fits column to content. */
968
+ columnAutoResize?: boolean;
969
+ /**
970
+ * Дополнительные классы по слотам. Публичный API — см. `docs/styling-contract.md` §4.1.
971
+ * Имена слотов стабильны, классы-значения применяются поверх встроенных `.sg-table-*`.
972
+ */
973
+ classNames?: TableClassNames;
974
+ /** Инлайн-стили по слотам. Публичный API — см. `docs/styling-contract.md` §4.1. */
975
+ styles?: TableStyles;
976
+ }
977
+ /** One cell in a multi-row header grid. */
978
+ interface HeaderCell {
979
+ /** Column at this header position. */
980
+ col: TableColumn;
981
+ /** Horizontal span in header grid units. */
982
+ colSpan: number;
983
+ /** Vertical span in header grid units. */
984
+ rowSpan: number;
985
+ }
986
+ /** Flattened row model passed to body renderers. */
987
+ interface FlatRow {
988
+ /** Row id. */
989
+ id: RowId;
990
+ /** Row field values. */
991
+ data: Record<string, unknown>;
992
+ /** Tree depth when tree mode is enabled. */
993
+ depth: number;
994
+ /** Whether the row has nested children in tree mode. */
995
+ hasChildren: boolean;
996
+ /** Present when this row is a group header. */
997
+ __groupRow?: GroupRow;
998
+ }
999
+
1000
+ /**
1001
+ * Императивный API таблицы для ref.print() и других ref-методов.
1002
+ */
1003
+ interface TableRef {
1004
+ /**
1005
+ * Открыть popup и вызвать window.print() для текущей DOM-области таблицы.
1006
+ * Опции мерджатся с теми, что заданы через prop `printable`
1007
+ * (на уровне prop приоритетен `fileName`).
1008
+ */
1009
+ print: (opts?: PrintOptions) => void;
1010
+ }
1011
+ /**
1012
+ * Data table — основная экспортная функция (forwardRef-обёртка над `TableInner`).
1013
+ * Ref-методы — см. `TableRef`.
1014
+ */
1015
+ declare const Table: React__default.ForwardRefExoticComponent<TableProps & React__default.RefAttributes<TableRef>>;
1016
+
1017
+ export { type TreeSelectLocale as $, type AggregateType as A, type BreadcrumbLocale as B, type CellSpan as C, type DashboardLocale as D, type ExpandableConfig as E, type FilterDropdownProps as F, type GroupRow as G, type HeaderCell as H, type InlineEditLocale as I, type RateLocale as J, type ResourceCalendarLocale as K, type SchemaFormEditorLocale as L, type ModalLocale as M, type NotificationLocale as N, type SearchInputLocale as O, type PinnedRowsConfig as P, type SkeletonLocale as Q, type RowNumberConfig as R, type SelectionSummaryAction as S, Table as T, type UseTableOptions as U, type SpinLocale as V, type TableRef as W, type TagInputLocale as X, type TagLocale as Y, type TimelineLocale as Z, type TransferLocale as _, type FlatRow as a, type UploadLocale as a0, type RowSelectionConfig as b, type SummaryCell as c, type TableColumn as d, type TableLocale as e, type TableProps as f, type TreeConfig as g, type UseTableReturn as h, type SgLocale as i, type PrintOptions as j, type CalendarLocale as k, type PrintableProp as l, type SlotClassNames as m, type SlotStyles as n, type CarouselLocale as o, type CascaderLocale as p, type ChartsLocale as q, type DatePickerLocale as r, type DrawerLocale as s, type EmptyLocale as t, useTable as u, type FormLocale as v, type GanttLocale as w, type InputPasswordLocale as x, type PaginationLocale as y, type PopconfirmLocale as z };