react-semaphor 0.1.304 → 0.1.306
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/brand-studio/index.cjs +2 -2
- package/dist/brand-studio/index.js +14 -14
- package/dist/chunks/braces-CuiOenEA.js +6 -0
- package/dist/chunks/braces-DZxcgUvn.js +23 -0
- package/dist/chunks/{dashboard-controls-DCZnUFI0.js → dashboard-controls-BpgZjEDy.js} +9 -9
- package/dist/chunks/{dashboard-controls-CyFZfGaN.js → dashboard-controls-CuQH4inS.js} +10 -9
- package/dist/chunks/{dashboard-filter-controls-button-YQZ-oeN5.js → dashboard-filter-controls-button-Bu90ytxy.js} +1 -1
- package/dist/chunks/{dashboard-filter-controls-button-DI7XUgZK.js → dashboard-filter-controls-button-NiAIAD1P.js} +4 -4
- package/dist/chunks/{dashboard-json-Z8jz16Yj.js → dashboard-json-Bk13vadr.js} +1 -1
- package/dist/chunks/{dashboard-json-C6R2qixD.js → dashboard-json-DzVn9KAU.js} +2 -2
- package/dist/chunks/{dashboard-summary-settings-dialog-DJyY-PB9.js → dashboard-summary-settings-dialog-8vZtKUjh.js} +1 -1
- package/dist/chunks/{dashboard-summary-settings-dialog-BlD77h63.js → dashboard-summary-settings-dialog-dt20G_7d.js} +2 -2
- package/dist/chunks/{edit-dashboard-visual-CfRJXwDR.js → edit-dashboard-visual-BIuWXuCC.js} +8796 -8713
- package/dist/chunks/edit-dashboard-visual-DGhTFzSF.js +183 -0
- package/dist/chunks/index-CwzM5Lxh.js +1360 -0
- package/dist/chunks/{index-GHhvGdF9.js → index-DQApwxKL.js} +50813 -48256
- package/dist/chunks/{palette-BqJlrRto.js → palette-BwGE32UR.js} +2 -7
- package/dist/chunks/{palette-DD-i7bNS.js → palette-DFjOzeAG.js} +3 -23
- package/dist/chunks/{resource-management-panel-Bdus73Iu.js → resource-management-panel-BqJAVm7E.js} +1 -1
- package/dist/chunks/{resource-management-panel-7Y4ITzGH.js → resource-management-panel-CD_TQoTn.js} +3 -3
- package/dist/chunks/{save-CFBIhbHD.js → save-B3tqymYm.js} +1 -1
- package/dist/chunks/{save-j-clxFtx.js → save-QktcpXPy.js} +1 -1
- package/dist/chunks/{switch-BH17qlxH.js → switch-B72T1Hf_.js} +27 -22
- package/dist/chunks/{switch-BFhVVwh9.js → switch-BuZXNXQV.js} +431 -390
- package/dist/chunks/{use-create-flow-overlay-state-CllZvyvE.js → use-create-flow-overlay-state-Bg-LkLP7.js} +4 -4
- package/dist/chunks/{use-create-flow-overlay-state-CSytlf2H.js → use-create-flow-overlay-state-iUCs5ZgT.js} +1 -1
- package/dist/chunks/{use-visual-utils-CyjLzcDG.js → use-visual-utils-D_2r0Fmm.js} +2 -2
- package/dist/chunks/{use-visual-utils-CDO4kVX5.js → use-visual-utils-DqVxN0_F.js} +1 -1
- package/dist/dashboard/index.cjs +1 -1
- package/dist/dashboard/index.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +7 -7
- package/dist/style.css +1 -1
- package/dist/surfboard/index.cjs +1 -1
- package/dist/surfboard/index.js +2 -2
- package/dist/types/dashboard.d.ts +142 -44
- package/dist/types/main.d.ts +144 -44
- package/dist/types/shared.d.ts +142 -44
- package/dist/types/surfboard.d.ts +142 -44
- package/dist/types/types.d.ts +142 -44
- package/package.json +4 -4
- package/dist/chunks/edit-dashboard-visual-CNGc1zcN.js +0 -183
- package/dist/chunks/index-D2vz3gvd.js +0 -1360
- package/dist/chunks/rotate-ccw-CdGW8Rxm.js +0 -6
- package/dist/chunks/rotate-ccw-X8MbX_hF.js +0 -14
package/dist/types/shared.d.ts
CHANGED
|
@@ -259,10 +259,7 @@ declare interface ColumnSettings {
|
|
|
259
259
|
maxWidth?: number;
|
|
260
260
|
textOverflow?: 'ellipsis' | 'wrap' | 'clip';
|
|
261
261
|
textWrap: 'wrap' | 'nowrap';
|
|
262
|
-
/**
|
|
263
|
-
* Totals-row behavior for this column. Undefined = 'none'. The footer
|
|
264
|
-
* renders only when at least one visible column has a non-'none' behavior.
|
|
265
|
-
*/
|
|
262
|
+
/** Deprecated/inert. Totals are controlled by tablePrefs.tableStyle.totals. */
|
|
266
263
|
totalsBehavior?: TotalsBehavior;
|
|
267
264
|
totalsLabel?: string;
|
|
268
265
|
numberFormat: {
|
|
@@ -302,6 +299,90 @@ declare type ColumnSettingsMap = Record<string, ColumnSettings>;
|
|
|
302
299
|
|
|
303
300
|
declare type ColumnType = 'string' | 'number' | 'date';
|
|
304
301
|
|
|
302
|
+
declare type ComparisonOperator = 'eq' | 'neq' | 'gt' | 'gte' | 'lt' | 'lte';
|
|
303
|
+
|
|
304
|
+
declare type ConditionalFormatCondition = {
|
|
305
|
+
kind: 'comparison';
|
|
306
|
+
columnId: string;
|
|
307
|
+
operator: ComparisonOperator;
|
|
308
|
+
value: unknown;
|
|
309
|
+
} | {
|
|
310
|
+
kind: 'between';
|
|
311
|
+
columnId: string;
|
|
312
|
+
min: unknown;
|
|
313
|
+
max: unknown;
|
|
314
|
+
inclusive?: boolean;
|
|
315
|
+
} | {
|
|
316
|
+
kind: 'blank';
|
|
317
|
+
columnId: string;
|
|
318
|
+
isBlank: boolean;
|
|
319
|
+
} | {
|
|
320
|
+
kind: 'contains';
|
|
321
|
+
columnId: string;
|
|
322
|
+
value: string;
|
|
323
|
+
caseSensitive?: boolean;
|
|
324
|
+
exact?: boolean;
|
|
325
|
+
} | {
|
|
326
|
+
kind: 'topBottom';
|
|
327
|
+
columnId: string;
|
|
328
|
+
direction: 'top' | 'bottom';
|
|
329
|
+
count: number;
|
|
330
|
+
} | {
|
|
331
|
+
kind: 'colorScale';
|
|
332
|
+
columnId: string;
|
|
333
|
+
range: 'auto' | 'manual';
|
|
334
|
+
min?: number;
|
|
335
|
+
mid?: number;
|
|
336
|
+
max?: number;
|
|
337
|
+
colors: {
|
|
338
|
+
min: string;
|
|
339
|
+
mid?: string;
|
|
340
|
+
max: string;
|
|
341
|
+
};
|
|
342
|
+
} | {
|
|
343
|
+
kind: 'dataBar';
|
|
344
|
+
columnId: string;
|
|
345
|
+
range: 'auto' | 'manual';
|
|
346
|
+
min?: number;
|
|
347
|
+
max?: number;
|
|
348
|
+
color: string;
|
|
349
|
+
showValue?: boolean;
|
|
350
|
+
};
|
|
351
|
+
|
|
352
|
+
declare type ConditionalFormatRule = {
|
|
353
|
+
id: string;
|
|
354
|
+
name?: string;
|
|
355
|
+
enabled?: boolean;
|
|
356
|
+
target: ConditionalFormatTarget;
|
|
357
|
+
condition: ConditionalFormatCondition;
|
|
358
|
+
style?: ConditionalFormatStyle;
|
|
359
|
+
};
|
|
360
|
+
|
|
361
|
+
declare type ConditionalFormatStyle = {
|
|
362
|
+
backgroundColor?: string;
|
|
363
|
+
textColor?: string;
|
|
364
|
+
fontWeight?: 'normal' | 'medium' | 'semibold' | 'bold';
|
|
365
|
+
italic?: boolean;
|
|
366
|
+
textDecoration?: 'none' | 'underline' | 'line-through';
|
|
367
|
+
icon?: 'arrowUp' | 'arrowDown' | 'warning' | 'check' | 'x';
|
|
368
|
+
dataBar?: {
|
|
369
|
+
color: string;
|
|
370
|
+
showValue: boolean;
|
|
371
|
+
};
|
|
372
|
+
};
|
|
373
|
+
|
|
374
|
+
declare type ConditionalFormatTarget = {
|
|
375
|
+
level: 'cell' | 'row';
|
|
376
|
+
columnIds?: string[];
|
|
377
|
+
conditionColumnId?: string;
|
|
378
|
+
applyToColumnIds?: string[];
|
|
379
|
+
tableParts?: TablePart[];
|
|
380
|
+
rowRoles?: string[];
|
|
381
|
+
depth?: number;
|
|
382
|
+
includeTotals?: boolean;
|
|
383
|
+
includeSubtotals?: boolean;
|
|
384
|
+
};
|
|
385
|
+
|
|
305
386
|
declare type ConnectionType = 'GoogleSheets' | 'FileUpload' | 'MySQL' | 'MSSQL' | 'PostgreSQL' | 'BigQuery' | 'Redshift' | 'Snowflake' | 'S3' | 'clickhouse' | 'S3Tables' | 'API' | 'none';
|
|
306
387
|
|
|
307
388
|
declare type ControlBinding = {
|
|
@@ -708,12 +789,6 @@ declare type DocumentSpacerSection = {
|
|
|
708
789
|
heightPx: number;
|
|
709
790
|
};
|
|
710
791
|
|
|
711
|
-
declare type DocumentTableDensity = 'comfortable' | 'standard' | 'compact' | 'dense';
|
|
712
|
-
|
|
713
|
-
declare type DocumentTableGridLines = 'none' | 'outer' | 'inner' | 'horizontal' | 'vertical' | 'top' | 'right' | 'bottom' | 'left' | 'full';
|
|
714
|
-
|
|
715
|
-
declare type DocumentTableHeaderStyle = 'plain' | 'filled' | 'accent';
|
|
716
|
-
|
|
717
792
|
declare type DocumentTableSection = {
|
|
718
793
|
id: string;
|
|
719
794
|
type: 'table';
|
|
@@ -724,30 +799,9 @@ declare type DocumentTableSection = {
|
|
|
724
799
|
columnFormatting?: Record<string, unknown>;
|
|
725
800
|
repeatHeaderOnPageBreak?: boolean;
|
|
726
801
|
rowHeightPx?: number;
|
|
727
|
-
style?: DocumentTableStyle;
|
|
728
|
-
totalsStyle?: DocumentTableTotalsStyle;
|
|
729
802
|
};
|
|
730
803
|
};
|
|
731
804
|
|
|
732
|
-
declare type DocumentTableStyle = {
|
|
733
|
-
density?: DocumentTableDensity;
|
|
734
|
-
headerStyle?: DocumentTableHeaderStyle;
|
|
735
|
-
headerBackgroundColor?: string;
|
|
736
|
-
headerTextColor?: string;
|
|
737
|
-
stripedRows?: boolean;
|
|
738
|
-
gridLines?: DocumentTableGridLines;
|
|
739
|
-
wrapText?: boolean;
|
|
740
|
-
};
|
|
741
|
-
|
|
742
|
-
declare type DocumentTableTotalsFontWeight = 'normal' | 'medium' | 'semibold' | 'bold';
|
|
743
|
-
|
|
744
|
-
declare type DocumentTableTotalsStyle = {
|
|
745
|
-
backgroundColor?: string;
|
|
746
|
-
textColor?: string;
|
|
747
|
-
fontWeight?: DocumentTableTotalsFontWeight;
|
|
748
|
-
borderTop?: boolean;
|
|
749
|
-
};
|
|
750
|
-
|
|
751
805
|
declare type DocumentTextContent = DocumentTextNode[];
|
|
752
806
|
|
|
753
807
|
declare type DocumentTextInlineFormat = {
|
|
@@ -1541,6 +1595,29 @@ declare type StyleProps = {
|
|
|
1541
1595
|
};
|
|
1542
1596
|
};
|
|
1543
1597
|
|
|
1598
|
+
declare type TableBaseFormatting = {
|
|
1599
|
+
version: TableFormattingVersion;
|
|
1600
|
+
tableParts?: Partial<Record<TablePart, TableBaseStyle>>;
|
|
1601
|
+
columns?: Record<string, {
|
|
1602
|
+
body?: TableBaseStyle;
|
|
1603
|
+
header?: TableBaseStyle;
|
|
1604
|
+
footer?: TableBaseStyle;
|
|
1605
|
+
}>;
|
|
1606
|
+
};
|
|
1607
|
+
|
|
1608
|
+
declare type TableBaseStyle = {
|
|
1609
|
+
fontWeight?: 'normal' | 'medium' | 'semibold' | 'bold';
|
|
1610
|
+
italic?: boolean;
|
|
1611
|
+
textColor?: string;
|
|
1612
|
+
backgroundColor?: string;
|
|
1613
|
+
textDecoration?: 'none' | 'underline' | 'line-through';
|
|
1614
|
+
};
|
|
1615
|
+
|
|
1616
|
+
declare type TableConditionalFormatting = {
|
|
1617
|
+
version: TableFormattingVersion;
|
|
1618
|
+
rules: ConditionalFormatRule[];
|
|
1619
|
+
};
|
|
1620
|
+
|
|
1544
1621
|
/**
|
|
1545
1622
|
* Row rhythm for the whole table. Authors pick one per card; undefined
|
|
1546
1623
|
* falls back to 'compact' (the canonical default — dense scanning, matches
|
|
@@ -1549,8 +1626,18 @@ declare type StyleProps = {
|
|
|
1549
1626
|
*/
|
|
1550
1627
|
declare type TableDensity = 'dense' | 'compact' | 'standard' | 'comfortable' | 'spacious';
|
|
1551
1628
|
|
|
1629
|
+
declare type TableFormattingVersion = 1;
|
|
1630
|
+
|
|
1631
|
+
declare type TableGridLines = 'none' | 'outer' | 'inner' | 'horizontal' | 'vertical' | 'top' | 'right' | 'bottom' | 'left' | 'full';
|
|
1632
|
+
|
|
1633
|
+
declare type TableHeaderStyle = 'plain' | 'filled' | 'accent';
|
|
1634
|
+
|
|
1635
|
+
declare type TablePart = 'body' | 'header' | 'footer' | 'subtotal' | 'grandTotal';
|
|
1636
|
+
|
|
1552
1637
|
declare type TablePreferences = {
|
|
1553
1638
|
columnSettingsMap?: ColumnSettingsMap;
|
|
1639
|
+
baseFormatting?: TableBaseFormatting;
|
|
1640
|
+
conditionalFormatting?: TableConditionalFormatting;
|
|
1554
1641
|
selectColumnVisible?: boolean;
|
|
1555
1642
|
columnVisibility?: Record<string, boolean>;
|
|
1556
1643
|
columnSizing?: ColumnSizingState;
|
|
@@ -1558,7 +1645,29 @@ declare type TablePreferences = {
|
|
|
1558
1645
|
enableDevModePagination?: boolean;
|
|
1559
1646
|
forceClientPagination?: boolean;
|
|
1560
1647
|
density?: TableDensity;
|
|
1561
|
-
|
|
1648
|
+
tableStyle?: TableStylePreferences;
|
|
1649
|
+
};
|
|
1650
|
+
|
|
1651
|
+
declare type TableStylePreferences = {
|
|
1652
|
+
headerStyle?: TableHeaderStyle;
|
|
1653
|
+
headerBackgroundColor?: string;
|
|
1654
|
+
headerTextColor?: string;
|
|
1655
|
+
stripedRows?: boolean;
|
|
1656
|
+
gridLines?: TableGridLines;
|
|
1657
|
+
wrapText?: boolean;
|
|
1658
|
+
totals?: TableTotalsStylePreferences;
|
|
1659
|
+
};
|
|
1660
|
+
|
|
1661
|
+
declare type TableTotalsFontWeight = 'normal' | 'medium' | 'semibold' | 'bold';
|
|
1662
|
+
|
|
1663
|
+
declare type TableTotalsStylePreferences = {
|
|
1664
|
+
enabled?: boolean;
|
|
1665
|
+
backgroundColor?: string;
|
|
1666
|
+
textColor?: string;
|
|
1667
|
+
fontWeight?: TableTotalsFontWeight;
|
|
1668
|
+
borderTop?: boolean;
|
|
1669
|
+
borderTopStyle?: 'solid' | 'dashed' | 'dotted' | 'double';
|
|
1670
|
+
borderTopColor?: string;
|
|
1562
1671
|
};
|
|
1563
1672
|
|
|
1564
1673
|
/**
|
|
@@ -2245,18 +2354,7 @@ declare type TLegendOptions = {
|
|
|
2245
2354
|
/** Line dash style options */
|
|
2246
2355
|
declare type TLineStyle = 'solid' | 'dashed' | 'dotted' | 'dash-dot';
|
|
2247
2356
|
|
|
2248
|
-
/**
|
|
2249
|
-
* Per-column contribution to the table-level totals row (`<tfoot>`).
|
|
2250
|
-
* Additive and optional — omitting it keeps the cell empty in the footer,
|
|
2251
|
-
* matching existing behavior when a totals row is not needed.
|
|
2252
|
-
*
|
|
2253
|
-
* - 'sum' → aggregate the column across the full dataset
|
|
2254
|
-
* - 'avg' → arithmetic mean across the full dataset
|
|
2255
|
-
* - 'count' → non-null count across the full dataset
|
|
2256
|
-
* - 'label' → render `totalsLabel` (or 'Total') as static text — typically
|
|
2257
|
-
* on the first column so the footer reads as a labeled row
|
|
2258
|
-
* - 'none' → blank cell in the footer
|
|
2259
|
-
*/
|
|
2357
|
+
/** Historical per-column totals shape. Runtime totals are table-level now. */
|
|
2260
2358
|
declare type TotalsBehavior = 'sum' | 'avg' | 'count' | 'label' | 'none';
|
|
2261
2359
|
|
|
2262
2360
|
/** Point style options supported by Chart.js */
|
|
@@ -359,10 +359,7 @@ declare interface ColumnSettings {
|
|
|
359
359
|
maxWidth?: number;
|
|
360
360
|
textOverflow?: 'ellipsis' | 'wrap' | 'clip';
|
|
361
361
|
textWrap: 'wrap' | 'nowrap';
|
|
362
|
-
/**
|
|
363
|
-
* Totals-row behavior for this column. Undefined = 'none'. The footer
|
|
364
|
-
* renders only when at least one visible column has a non-'none' behavior.
|
|
365
|
-
*/
|
|
362
|
+
/** Deprecated/inert. Totals are controlled by tablePrefs.tableStyle.totals. */
|
|
366
363
|
totalsBehavior?: TotalsBehavior;
|
|
367
364
|
totalsLabel?: string;
|
|
368
365
|
numberFormat: {
|
|
@@ -402,6 +399,90 @@ declare type ColumnSettingsMap = Record<string, ColumnSettings>;
|
|
|
402
399
|
|
|
403
400
|
declare type ColumnType = 'string' | 'number' | 'date';
|
|
404
401
|
|
|
402
|
+
declare type ComparisonOperator = 'eq' | 'neq' | 'gt' | 'gte' | 'lt' | 'lte';
|
|
403
|
+
|
|
404
|
+
declare type ConditionalFormatCondition = {
|
|
405
|
+
kind: 'comparison';
|
|
406
|
+
columnId: string;
|
|
407
|
+
operator: ComparisonOperator;
|
|
408
|
+
value: unknown;
|
|
409
|
+
} | {
|
|
410
|
+
kind: 'between';
|
|
411
|
+
columnId: string;
|
|
412
|
+
min: unknown;
|
|
413
|
+
max: unknown;
|
|
414
|
+
inclusive?: boolean;
|
|
415
|
+
} | {
|
|
416
|
+
kind: 'blank';
|
|
417
|
+
columnId: string;
|
|
418
|
+
isBlank: boolean;
|
|
419
|
+
} | {
|
|
420
|
+
kind: 'contains';
|
|
421
|
+
columnId: string;
|
|
422
|
+
value: string;
|
|
423
|
+
caseSensitive?: boolean;
|
|
424
|
+
exact?: boolean;
|
|
425
|
+
} | {
|
|
426
|
+
kind: 'topBottom';
|
|
427
|
+
columnId: string;
|
|
428
|
+
direction: 'top' | 'bottom';
|
|
429
|
+
count: number;
|
|
430
|
+
} | {
|
|
431
|
+
kind: 'colorScale';
|
|
432
|
+
columnId: string;
|
|
433
|
+
range: 'auto' | 'manual';
|
|
434
|
+
min?: number;
|
|
435
|
+
mid?: number;
|
|
436
|
+
max?: number;
|
|
437
|
+
colors: {
|
|
438
|
+
min: string;
|
|
439
|
+
mid?: string;
|
|
440
|
+
max: string;
|
|
441
|
+
};
|
|
442
|
+
} | {
|
|
443
|
+
kind: 'dataBar';
|
|
444
|
+
columnId: string;
|
|
445
|
+
range: 'auto' | 'manual';
|
|
446
|
+
min?: number;
|
|
447
|
+
max?: number;
|
|
448
|
+
color: string;
|
|
449
|
+
showValue?: boolean;
|
|
450
|
+
};
|
|
451
|
+
|
|
452
|
+
declare type ConditionalFormatRule = {
|
|
453
|
+
id: string;
|
|
454
|
+
name?: string;
|
|
455
|
+
enabled?: boolean;
|
|
456
|
+
target: ConditionalFormatTarget;
|
|
457
|
+
condition: ConditionalFormatCondition;
|
|
458
|
+
style?: ConditionalFormatStyle;
|
|
459
|
+
};
|
|
460
|
+
|
|
461
|
+
declare type ConditionalFormatStyle = {
|
|
462
|
+
backgroundColor?: string;
|
|
463
|
+
textColor?: string;
|
|
464
|
+
fontWeight?: 'normal' | 'medium' | 'semibold' | 'bold';
|
|
465
|
+
italic?: boolean;
|
|
466
|
+
textDecoration?: 'none' | 'underline' | 'line-through';
|
|
467
|
+
icon?: 'arrowUp' | 'arrowDown' | 'warning' | 'check' | 'x';
|
|
468
|
+
dataBar?: {
|
|
469
|
+
color: string;
|
|
470
|
+
showValue: boolean;
|
|
471
|
+
};
|
|
472
|
+
};
|
|
473
|
+
|
|
474
|
+
declare type ConditionalFormatTarget = {
|
|
475
|
+
level: 'cell' | 'row';
|
|
476
|
+
columnIds?: string[];
|
|
477
|
+
conditionColumnId?: string;
|
|
478
|
+
applyToColumnIds?: string[];
|
|
479
|
+
tableParts?: TablePart[];
|
|
480
|
+
rowRoles?: string[];
|
|
481
|
+
depth?: number;
|
|
482
|
+
includeTotals?: boolean;
|
|
483
|
+
includeSubtotals?: boolean;
|
|
484
|
+
};
|
|
485
|
+
|
|
405
486
|
export declare type ConnectionPolicy = {
|
|
406
487
|
connectionId?: string;
|
|
407
488
|
name: string;
|
|
@@ -953,12 +1034,6 @@ export declare type DocumentSpacerSection = {
|
|
|
953
1034
|
heightPx: number;
|
|
954
1035
|
};
|
|
955
1036
|
|
|
956
|
-
export declare type DocumentTableDensity = 'comfortable' | 'standard' | 'compact' | 'dense';
|
|
957
|
-
|
|
958
|
-
export declare type DocumentTableGridLines = 'none' | 'outer' | 'inner' | 'horizontal' | 'vertical' | 'top' | 'right' | 'bottom' | 'left' | 'full';
|
|
959
|
-
|
|
960
|
-
export declare type DocumentTableHeaderStyle = 'plain' | 'filled' | 'accent';
|
|
961
|
-
|
|
962
1037
|
export declare type DocumentTableSection = {
|
|
963
1038
|
id: string;
|
|
964
1039
|
type: 'table';
|
|
@@ -969,30 +1044,9 @@ export declare type DocumentTableSection = {
|
|
|
969
1044
|
columnFormatting?: Record<string, unknown>;
|
|
970
1045
|
repeatHeaderOnPageBreak?: boolean;
|
|
971
1046
|
rowHeightPx?: number;
|
|
972
|
-
style?: DocumentTableStyle;
|
|
973
|
-
totalsStyle?: DocumentTableTotalsStyle;
|
|
974
1047
|
};
|
|
975
1048
|
};
|
|
976
1049
|
|
|
977
|
-
export declare type DocumentTableStyle = {
|
|
978
|
-
density?: DocumentTableDensity;
|
|
979
|
-
headerStyle?: DocumentTableHeaderStyle;
|
|
980
|
-
headerBackgroundColor?: string;
|
|
981
|
-
headerTextColor?: string;
|
|
982
|
-
stripedRows?: boolean;
|
|
983
|
-
gridLines?: DocumentTableGridLines;
|
|
984
|
-
wrapText?: boolean;
|
|
985
|
-
};
|
|
986
|
-
|
|
987
|
-
export declare type DocumentTableTotalsFontWeight = 'normal' | 'medium' | 'semibold' | 'bold';
|
|
988
|
-
|
|
989
|
-
export declare type DocumentTableTotalsStyle = {
|
|
990
|
-
backgroundColor?: string;
|
|
991
|
-
textColor?: string;
|
|
992
|
-
fontWeight?: DocumentTableTotalsFontWeight;
|
|
993
|
-
borderTop?: boolean;
|
|
994
|
-
};
|
|
995
|
-
|
|
996
1050
|
export declare type DocumentTextContent = DocumentTextNode[];
|
|
997
1051
|
|
|
998
1052
|
export declare type DocumentTextInlineFormat = {
|
|
@@ -1959,6 +2013,29 @@ declare type TableAppearance = {
|
|
|
1959
2013
|
};
|
|
1960
2014
|
};
|
|
1961
2015
|
|
|
2016
|
+
declare type TableBaseFormatting = {
|
|
2017
|
+
version: TableFormattingVersion;
|
|
2018
|
+
tableParts?: Partial<Record<TablePart, TableBaseStyle>>;
|
|
2019
|
+
columns?: Record<string, {
|
|
2020
|
+
body?: TableBaseStyle;
|
|
2021
|
+
header?: TableBaseStyle;
|
|
2022
|
+
footer?: TableBaseStyle;
|
|
2023
|
+
}>;
|
|
2024
|
+
};
|
|
2025
|
+
|
|
2026
|
+
declare type TableBaseStyle = {
|
|
2027
|
+
fontWeight?: 'normal' | 'medium' | 'semibold' | 'bold';
|
|
2028
|
+
italic?: boolean;
|
|
2029
|
+
textColor?: string;
|
|
2030
|
+
backgroundColor?: string;
|
|
2031
|
+
textDecoration?: 'none' | 'underline' | 'line-through';
|
|
2032
|
+
};
|
|
2033
|
+
|
|
2034
|
+
declare type TableConditionalFormatting = {
|
|
2035
|
+
version: TableFormattingVersion;
|
|
2036
|
+
rules: ConditionalFormatRule[];
|
|
2037
|
+
};
|
|
2038
|
+
|
|
1962
2039
|
/**
|
|
1963
2040
|
* Row rhythm for the whole table. Authors pick one per card; undefined
|
|
1964
2041
|
* falls back to 'compact' (the canonical default — dense scanning, matches
|
|
@@ -1967,8 +2044,18 @@ declare type TableAppearance = {
|
|
|
1967
2044
|
*/
|
|
1968
2045
|
declare type TableDensity = 'dense' | 'compact' | 'standard' | 'comfortable' | 'spacious';
|
|
1969
2046
|
|
|
2047
|
+
declare type TableFormattingVersion = 1;
|
|
2048
|
+
|
|
2049
|
+
declare type TableGridLines = 'none' | 'outer' | 'inner' | 'horizontal' | 'vertical' | 'top' | 'right' | 'bottom' | 'left' | 'full';
|
|
2050
|
+
|
|
2051
|
+
declare type TableHeaderStyle = 'plain' | 'filled' | 'accent';
|
|
2052
|
+
|
|
2053
|
+
declare type TablePart = 'body' | 'header' | 'footer' | 'subtotal' | 'grandTotal';
|
|
2054
|
+
|
|
1970
2055
|
declare type TablePreferences = {
|
|
1971
2056
|
columnSettingsMap?: ColumnSettingsMap;
|
|
2057
|
+
baseFormatting?: TableBaseFormatting;
|
|
2058
|
+
conditionalFormatting?: TableConditionalFormatting;
|
|
1972
2059
|
selectColumnVisible?: boolean;
|
|
1973
2060
|
columnVisibility?: Record<string, boolean>;
|
|
1974
2061
|
columnSizing?: ColumnSizingState;
|
|
@@ -1976,7 +2063,29 @@ declare type TablePreferences = {
|
|
|
1976
2063
|
enableDevModePagination?: boolean;
|
|
1977
2064
|
forceClientPagination?: boolean;
|
|
1978
2065
|
density?: TableDensity;
|
|
1979
|
-
|
|
2066
|
+
tableStyle?: TableStylePreferences;
|
|
2067
|
+
};
|
|
2068
|
+
|
|
2069
|
+
declare type TableStylePreferences = {
|
|
2070
|
+
headerStyle?: TableHeaderStyle;
|
|
2071
|
+
headerBackgroundColor?: string;
|
|
2072
|
+
headerTextColor?: string;
|
|
2073
|
+
stripedRows?: boolean;
|
|
2074
|
+
gridLines?: TableGridLines;
|
|
2075
|
+
wrapText?: boolean;
|
|
2076
|
+
totals?: TableTotalsStylePreferences;
|
|
2077
|
+
};
|
|
2078
|
+
|
|
2079
|
+
declare type TableTotalsFontWeight = 'normal' | 'medium' | 'semibold' | 'bold';
|
|
2080
|
+
|
|
2081
|
+
declare type TableTotalsStylePreferences = {
|
|
2082
|
+
enabled?: boolean;
|
|
2083
|
+
backgroundColor?: string;
|
|
2084
|
+
textColor?: string;
|
|
2085
|
+
fontWeight?: TableTotalsFontWeight;
|
|
2086
|
+
borderTop?: boolean;
|
|
2087
|
+
borderTopStyle?: 'solid' | 'dashed' | 'dotted' | 'double';
|
|
2088
|
+
borderTopColor?: string;
|
|
1980
2089
|
};
|
|
1981
2090
|
|
|
1982
2091
|
/**
|
|
@@ -2708,18 +2817,7 @@ export declare type TLens = {
|
|
|
2708
2817
|
/** Line dash style options */
|
|
2709
2818
|
export declare type TLineStyle = 'solid' | 'dashed' | 'dotted' | 'dash-dot';
|
|
2710
2819
|
|
|
2711
|
-
/**
|
|
2712
|
-
* Per-column contribution to the table-level totals row (`<tfoot>`).
|
|
2713
|
-
* Additive and optional — omitting it keeps the cell empty in the footer,
|
|
2714
|
-
* matching existing behavior when a totals row is not needed.
|
|
2715
|
-
*
|
|
2716
|
-
* - 'sum' → aggregate the column across the full dataset
|
|
2717
|
-
* - 'avg' → arithmetic mean across the full dataset
|
|
2718
|
-
* - 'count' → non-null count across the full dataset
|
|
2719
|
-
* - 'label' → render `totalsLabel` (or 'Total') as static text — typically
|
|
2720
|
-
* on the first column so the footer reads as a labeled row
|
|
2721
|
-
* - 'none' → blank cell in the footer
|
|
2722
|
-
*/
|
|
2820
|
+
/** Historical per-column totals shape. Runtime totals are table-level now. */
|
|
2723
2821
|
declare type TotalsBehavior = 'sum' | 'avg' | 'count' | 'label' | 'none';
|
|
2724
2822
|
|
|
2725
2823
|
/** Point style options supported by Chart.js */
|