@pptx-studio/model 0.3.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.
- package/CHANGELOG.md +31 -0
- package/README.md +39 -7
- package/dist/index.d.ts +107 -40
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +383 -24
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,36 @@
|
|
|
1
1
|
# @pptx-studio/model
|
|
2
2
|
|
|
3
|
+
## 0.5.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- db00af0: `tableBackground` now returns the table background's two layers, `{ fill, effects }`, each taken
|
|
8
|
+
from `a:tblPr` where it writes one and from the style's `tblBg` otherwise. An empty `a:effectLst` in
|
|
9
|
+
`a:tblPr` removes the style's effect, as PowerPoint draws it, and `themedEffects` follows an
|
|
10
|
+
`effectRef` into the theme. `tableCellDiagonals` gives a cell's diagonals as drawn: the anchor's
|
|
11
|
+
own `a:lnTlToBr` and `a:lnBlToTr` across its whole span, a covered position's never, and swapped in a
|
|
12
|
+
right-to-left table.
|
|
13
|
+
|
|
14
|
+
validate's `V034` also warns on every line a covered cell writes, which PowerPoint keeps on save
|
|
15
|
+
and never draws, and on a border written under a position no `a:tc` reached.
|
|
16
|
+
|
|
17
|
+
## 0.4.0
|
|
18
|
+
|
|
19
|
+
### Minor Changes
|
|
20
|
+
|
|
21
|
+
- 7d2c88e: A table cell's fill, borders and text now come from its style the way PowerPoint draws them.
|
|
22
|
+
`tablePartsAt` names the parts that reach a grid position, and `TABLE_PART_ORDER` is the order they
|
|
23
|
+
compose in. `tableCellFill`, `tableBackground` and `tableEdgeLine` resolve one property each and
|
|
24
|
+
name where it came from: a part, `tblBg`, `a:tcPr`, `a:tblPr` or the default grid. Merged cells and
|
|
25
|
+
the owner of every edge segment follow what PowerPoint drew. `tableTextLayer` gives the style's
|
|
26
|
+
bold, italic, faces and colour as run properties for the text cascade. `DEFAULT_GRID_LINE` is the 1-pt black line a table with no
|
|
27
|
+
built-in style draws. `TextContext.cell` puts a cell's list style and its style's text layer into
|
|
28
|
+
the text cascade, and `Origin` gains `cell` and `tableStyle`. A position or edge a table does not
|
|
29
|
+
have throws the new `MODEL_TABLE_POSITION`.
|
|
30
|
+
|
|
31
|
+
validate adds `V034`, a warning on a table cell that writes a border PowerPoint draws from the cell
|
|
32
|
+
across the edge instead, where that cell writes none or a different one.
|
|
33
|
+
|
|
3
34
|
## 0.3.0
|
|
4
35
|
|
|
5
36
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -192,15 +192,44 @@ across 84 packages in three themes:
|
|
|
192
192
|
|
|
193
193
|
`builtinTableStyle(id)` parses one of the 74 afresh; `parseTableStyle` reads any `CT_TableStyle`,
|
|
194
194
|
defaulting nothing the file did not say. A GUID without braces or with padding, an edge with neither
|
|
195
|
-
`a:ln` nor `a:lnRef`, and an empty `a:fill` throw: PowerPoint repairs each.
|
|
196
|
-
|
|
195
|
+
`a:ln` nor `a:lnRef`, and an empty `a:fill` throw: PowerPoint repairs each.
|
|
196
|
+
|
|
197
|
+
## The thirteen parts compose in schema order, property by property
|
|
198
|
+
|
|
199
|
+
Which part of a style reaches a cell, and which wins, was measured in C9 on 10,505 slides of every
|
|
200
|
+
built-in in three themes (`corpus/ground-truth/table-cascade*.json`), against what PowerPoint's
|
|
201
|
+
object model reported for each cell and what it drew at 4 px a point:
|
|
202
|
+
|
|
203
|
+
- `tablePartsAt(props, rows, cols, row, col)` is ECMA-376's reading: the end rows and columns where
|
|
204
|
+
their flags are on, bands counted past a first row or column, a corner where both of its ends
|
|
205
|
+
apply. `TABLE_PART_ORDER` is the schema's order, `wholeTbl` lowest and `nwCell` highest, and it
|
|
206
|
+
is the order they compose in for fills, text and edges alike.
|
|
207
|
+
- Every property is found on its own: the highest part that states a fill, a colour, bold or
|
|
208
|
+
italic wins it, whatever that part leaves unsaid.
|
|
209
|
+
- `tableCellFill`: the cell's own `a:tcPr` fill, else the style's. `tableBackground`: `a:tblPr`'s
|
|
210
|
+
fill and effect list, each in place of the style's `tblBg` one, an empty list included, painted
|
|
211
|
+
under the cells over the grid and never the frame as written. `themedEffects` follows an
|
|
212
|
+
`effectRef` into the theme.
|
|
213
|
+
- `tableEdgeLine`: an edge's owner writes the line it draws, replacing the style's whole; a line no
|
|
214
|
+
owner writes is the highest part's claim on that edge. The cell above or left owns a segment where
|
|
215
|
+
its anchor is level with it, in the anchor's column or row; else the cell below or right, where
|
|
216
|
+
its anchor is; else the cell above or left. An unmerged cell is always level. A table that
|
|
217
|
+
resolves to no style draws `DEFAULT_GRID_LINE`, 1 pt black. A position no `a:tc` reached owns its
|
|
218
|
+
edges as a cell writing nothing does, and a dashed line is drawn dashed.
|
|
219
|
+
- A merged cell takes its anchor's parts and every covered position's end and corner parts; its
|
|
220
|
+
bands are the anchor's. A covered cell's `a:tcPr` is never read, though PowerPoint keeps it on
|
|
221
|
+
save.
|
|
222
|
+
- `tableCellDiagonals`: the anchor's own `a:lnTlToBr` and `a:lnBlToTr`, across its whole span, as
|
|
223
|
+
drawn: mirrored in an rtl table. No built-in states a diagonal.
|
|
224
|
+
- `tableTextLayer` is what the style gives a cell's text, and the text cascade reads it between the
|
|
225
|
+
cell's own list style and the master's `p:otherStyle`; `p:defaultTextStyle` is never read, and
|
|
226
|
+
under a master with no `p:txStyles` a cell takes the built-in `other` style whatever its frame.
|
|
227
|
+
- A position or edge the table does not have throws `MODEL_TABLE_POSITION`.
|
|
197
228
|
|
|
198
229
|
## What is not here
|
|
199
230
|
|
|
200
231
|
- Nothing is painted. The renderers are 2.10.
|
|
201
|
-
-
|
|
202
|
-
cascade can produce, so 3.1 adds cases rather than widening a type every consumer has switched on.
|
|
203
|
-
- The table-style cascade and table drawing are 4.3 and 4.4; SmartArt is 4.5.
|
|
232
|
+
- Table drawing and editing are 4.4; SmartArt is 4.5.
|
|
204
233
|
- Commands, undo and history are Phase 5; Change Layout is 7.4. What PowerPoint rewrites when a
|
|
205
234
|
layout changes is recorded in the fixture and not acted on.
|
|
206
235
|
- `a:effectDag` is not modelled — a directed graph of effect primitives PowerPoint has never been
|
|
@@ -212,6 +241,8 @@ cascade is 4.3; drawing the grid is 4.4.
|
|
|
212
241
|
`corpus/ground-truth/sheets.json` — 114 probes in 37 packages, sub-phase 2.9.
|
|
213
242
|
`corpus/ground-truth/tables.json` — 82 tables, one package each, and 21 slides PowerPoint authored, sub-phase 4.1.
|
|
214
243
|
`corpus/ground-truth/table-styles.json` — the 74 built-in table styles and 84 probe packages, sub-phase 4.2.
|
|
244
|
+
`corpus/ground-truth/table-cascade.json` and its five `table-cascade-*.json` siblings — 250 packages of
|
|
245
|
+
tables in three themes, every cell and edge PowerPoint reported and drew, sub-phase 4.3.
|
|
215
246
|
|
|
216
247
|
The measurement is a **position**, and PowerPoint reports it directly. C3 and C4 sampled bitmaps
|
|
217
248
|
because a fill and a stroke are pictures; an inheritance is not. A placeholder with no `a:xfrm` of
|
|
@@ -227,5 +258,6 @@ against a summary of them, so a rule that drifts fails on the measurements.
|
|
|
227
258
|
|
|
228
259
|
See `docs/adr/phase-0-foundation/0007-ground-truth.md`, `docs/adr/phase-2-geometry-and-paint/0021-colour.md`, `docs/adr/phase-2-geometry-and-paint/0022-fills.md`,
|
|
229
260
|
`docs/adr/phase-2-geometry-and-paint/0023-lines.md`, `docs/adr/phase-2-geometry-and-paint/0024-model-parse-and-resolve.md`
|
|
230
|
-
`docs/adr/phase-4-tables-and-smartart/0056-the-spans-are-the-merge.md
|
|
231
|
-
`docs/adr/phase-4-tables-and-smartart/0063-a-table-draws-the-built-in-its-guid-names.md
|
|
261
|
+
`docs/adr/phase-4-tables-and-smartart/0056-the-spans-are-the-merge.md`,
|
|
262
|
+
`docs/adr/phase-4-tables-and-smartart/0063-a-table-draws-the-built-in-its-guid-names.md` and
|
|
263
|
+
`docs/adr/phase-4-tables-and-smartart/0064-the-parts-compose-in-schema-order.md`.
|
package/dist/index.d.ts
CHANGED
|
@@ -71,7 +71,9 @@ type ModelErrorCode =
|
|
|
71
71
|
/** A table attribute missing where the schema requires it, or not of the type it names. */
|
|
72
72
|
'MODEL_TABLE_ATTR' |
|
|
73
73
|
/** A table-style edge with neither `a:ln` nor `a:lnRef`, or an `a:fill` holding no fill. */
|
|
74
|
-
'MODEL_TABLE_STYLE' |
|
|
74
|
+
'MODEL_TABLE_STYLE' |
|
|
75
|
+
/** A grid position or grid edge asked of a table that has no such position or edge. */
|
|
76
|
+
'MODEL_TABLE_POSITION' | 'BLIP_NO_EMBED' | 'BLIP_DUOTONE' | 'BLIP_CLR_CHANGE' | 'BLIP_TILE_ALIGN' | 'BLIP_TILE_FLIP';
|
|
75
77
|
export declare class ModelError extends Error {
|
|
76
78
|
readonly name = "ModelError";
|
|
77
79
|
readonly code: ModelErrorCode;
|
|
@@ -82,7 +84,7 @@ export declare class ModelError extends Error {
|
|
|
82
84
|
constructor(code: ModelErrorCode, message: string, partName?: string | null, detail?: string | null);
|
|
83
85
|
}
|
|
84
86
|
export declare function isModelError(value: unknown): value is ModelError;
|
|
85
|
-
export declare const MODEL_ERROR_CODES: readonly ["MODEL_PART_MISSING", "MODEL_PART_KIND", "MODEL_NO_PRESENTATION", "MODEL_NO_PARENT", "MODEL_NO_THEME", "MODEL_CLRMAP_INCOMPLETE", "MODEL_CLRMAP_SLOT", "MODEL_PLACEHOLDER_IDX", "MODEL_XFRM_NUMBER", "MODEL_GEOMETRY", "MODEL_STYLE_IDX", "MODEL_FONT_COLLECTION", "MODEL_NO_STYLE_MATRIX", "MODEL_STYLE_LIST_EMPTY", "MODEL_SHEET_CYCLE", "MODEL_FOREIGN_SHEET", "MODEL_TEXT_ATTR", "MODEL_TEXT_FIELD", "MODEL_TEXT_LEVEL", "MODEL_TEXT_BULLET", "MODEL_TEXT_TYPEFACE", "MODEL_TABLE_ATTR", "MODEL_TABLE_STYLE", "BLIP_NO_EMBED", "BLIP_DUOTONE", "BLIP_CLR_CHANGE", "BLIP_TILE_ALIGN", "BLIP_TILE_FLIP"];
|
|
87
|
+
export declare const MODEL_ERROR_CODES: readonly ["MODEL_PART_MISSING", "MODEL_PART_KIND", "MODEL_NO_PRESENTATION", "MODEL_NO_PARENT", "MODEL_NO_THEME", "MODEL_CLRMAP_INCOMPLETE", "MODEL_CLRMAP_SLOT", "MODEL_PLACEHOLDER_IDX", "MODEL_XFRM_NUMBER", "MODEL_GEOMETRY", "MODEL_STYLE_IDX", "MODEL_FONT_COLLECTION", "MODEL_NO_STYLE_MATRIX", "MODEL_STYLE_LIST_EMPTY", "MODEL_SHEET_CYCLE", "MODEL_FOREIGN_SHEET", "MODEL_TEXT_ATTR", "MODEL_TEXT_FIELD", "MODEL_TEXT_LEVEL", "MODEL_TEXT_BULLET", "MODEL_TEXT_TYPEFACE", "MODEL_TABLE_ATTR", "MODEL_TABLE_STYLE", "MODEL_TABLE_POSITION", "BLIP_NO_EMBED", "BLIP_DUOTONE", "BLIP_CLR_CHANGE", "BLIP_TILE_ALIGN", "BLIP_TILE_FLIP"];
|
|
86
88
|
//#endregion
|
|
87
89
|
//#region src/parse/geometry.d.ts
|
|
88
90
|
/**
|
|
@@ -608,7 +610,7 @@ interface TableBackground {
|
|
|
608
610
|
readonly fill: Themeable<Fill> | undefined;
|
|
609
611
|
readonly effect: Themeable<readonly Effect[] | undefined> | undefined;
|
|
610
612
|
}
|
|
611
|
-
/** The thirteen parts in schema order, which is
|
|
613
|
+
/** The thirteen parts in schema order, which is the order they compose in, lowest first (C9). */
|
|
612
614
|
type TableStylePartName = 'wholeTbl' | 'band1H' | 'band2H' | 'band1V' | 'band2V' | 'lastCol' | 'firstCol' | 'lastRow' | 'seCell' | 'swCell' | 'firstRow' | 'neCell' | 'nwCell';
|
|
613
615
|
/** `CT_TableStyle`: an `a:tblStyle`, or an inline `a:tableStyle`. Nothing absent is defaulted. */
|
|
614
616
|
interface TableStyle {
|
|
@@ -618,6 +620,28 @@ interface TableStyle {
|
|
|
618
620
|
readonly parts: Readonly<Partial<Record<TableStylePartName, TableStylePart>>>;
|
|
619
621
|
readonly node: XElement;
|
|
620
622
|
}
|
|
623
|
+
/** What paints under a table's cells, each layer with where it came from. */
|
|
624
|
+
interface TableBackgroundLayers {
|
|
625
|
+
readonly fill: TableSourced<Themeable<Fill>> | null;
|
|
626
|
+
readonly effects: TableSourced<Themeable<readonly Effect[] | undefined>> | null;
|
|
627
|
+
}
|
|
628
|
+
/** A cell's diagonals as drawn: `down` from its visual top left, `up` from its visual bottom left. */
|
|
629
|
+
interface TableDiagonals {
|
|
630
|
+
readonly down: Line | null;
|
|
631
|
+
readonly up: Line | null;
|
|
632
|
+
}
|
|
633
|
+
/** A grid edge: `h` is the top of row `row` at column `col` (`row = rows` is the bottom); `v` the left of column `col`. */
|
|
634
|
+
interface TableEdge {
|
|
635
|
+
readonly axis: 'h' | 'v';
|
|
636
|
+
readonly row: number;
|
|
637
|
+
readonly col: number;
|
|
638
|
+
}
|
|
639
|
+
/** Where a table's format came from: a style part, `tblBg`, a cell's `a:tcPr`, `a:tblPr`, or the default grid. */
|
|
640
|
+
type TableSource = TableStylePartName | 'tblBg' | 'tcPr' | 'tblPr' | 'grid';
|
|
641
|
+
interface TableSourced<T> {
|
|
642
|
+
readonly value: T;
|
|
643
|
+
readonly source: TableSource;
|
|
644
|
+
}
|
|
621
645
|
//#endregion
|
|
622
646
|
//#region src/types.d.ts
|
|
623
647
|
/** `a:off` and `a:ext` together, in EMU, plus the three transform attributes. */
|
|
@@ -863,24 +887,19 @@ interface Sheet {
|
|
|
863
887
|
readonly theme: Theme | null;
|
|
864
888
|
readonly node: XElement;
|
|
865
889
|
}
|
|
866
|
-
/**
|
|
867
|
-
* Where a resolved value came from.
|
|
868
|
-
*
|
|
869
|
-
* 2.9 declared this union in advance, guessing at the members the text cascade
|
|
870
|
-
* would need. 3.1 measured them, and the guess was wrong in one place:
|
|
871
|
-
* `themeObjDefaults` is gone, because `a:objectDefaults/a:spDef/a:lstStyle` is
|
|
872
|
-
* not a source. A package declaring a size there and nowhere else resolves to
|
|
873
|
-
* the built-in default, so the member named a level that never fires - see
|
|
874
|
-
* `corpus/ground-truth/text-cascade.json`.
|
|
875
|
-
*/
|
|
890
|
+
/** Where a resolved value came from: each member is a level the text cascade reads (ADR 0027, 0064). */
|
|
876
891
|
type Origin =
|
|
877
892
|
/** The run's own `a:rPr`. */
|
|
878
893
|
'run' |
|
|
879
894
|
/** The paragraph's `a:pPr`, or its `a:defRPr`. */
|
|
880
895
|
'paragraph' |
|
|
881
896
|
/** The shape itself: its `p:spPr`, or its own `a:lstStyle`. */
|
|
882
|
-
'shape' |
|
|
883
|
-
/**
|
|
897
|
+
'shape' |
|
|
898
|
+
/** A table cell's own `a:txBody/a:lstStyle`. */
|
|
899
|
+
'cell' |
|
|
900
|
+
/** What a table's style, or PowerPoint's default grid, gives a cell's text. */
|
|
901
|
+
'tableStyle' | 'layoutPh' | 'masterPh' |
|
|
902
|
+
/** The master's `p:txStyles`: the bucket a shape's chain selects, `p:otherStyle` for a cell. */
|
|
884
903
|
'txStyles' |
|
|
885
904
|
/** `p:defaultTextStyle`, which only a shape with no bucket reaches. */
|
|
886
905
|
'defaultTextStyle' |
|
|
@@ -1342,46 +1361,38 @@ export declare const BUILTIN_TABLE_STYLES: readonly BuiltinTableStyle[];
|
|
|
1342
1361
|
/** Which `p:txStyles` bucket a placeholder type reads, or `null` for none. */
|
|
1343
1362
|
export declare function bucketOf(type: string): 'title' | 'body' | null;
|
|
1344
1363
|
/**
|
|
1345
|
-
* Everything the cascade needs that is not on the shape.
|
|
1346
|
-
*
|
|
1347
|
-
* `defaultTextStyle` comes from `ppt/presentation.xml` and is therefore a
|
|
1348
|
-
* property of the package rather than of any sheet, which is why it is passed
|
|
1349
|
-
* in rather than walked to. A caller that has a `Document` has it already;
|
|
1350
|
-
* `undefined` means the package declared none, which is a state PowerPoint
|
|
1351
|
-
* distinguishes and this must too.
|
|
1364
|
+
* Everything the cascade needs that is not on the shape. `defaultTextStyle` is the package's, from
|
|
1365
|
+
* `ppt/presentation.xml`; `undefined` is a package that declares none, which PowerPoint tells apart.
|
|
1352
1366
|
*/
|
|
1353
1367
|
interface TextContext {
|
|
1354
1368
|
readonly sheet: Sheet;
|
|
1355
1369
|
readonly shape: Shape;
|
|
1356
1370
|
readonly defaultTextStyle: ListStyle | undefined;
|
|
1371
|
+
/** Set for the text of a table cell, whose walk is its own (C9, ADR 0064). */
|
|
1372
|
+
readonly cell?: TableCellText;
|
|
1357
1373
|
}
|
|
1358
|
-
/**
|
|
1374
|
+
/** A table cell's two levels of its own: its `a:lstStyle`, and what the table's style gives it. */
|
|
1375
|
+
interface TableCellText {
|
|
1376
|
+
readonly lstStyle: ListStyle | undefined;
|
|
1377
|
+
/** `tableTextLayer`'s answer for the cell. */
|
|
1378
|
+
readonly layer: RunProps;
|
|
1379
|
+
}
|
|
1380
|
+
/** One level of the walk: a list style, or run properties at every level, and what to call it. */
|
|
1359
1381
|
interface Level {
|
|
1360
1382
|
readonly style: ListStyle | undefined;
|
|
1383
|
+
readonly run?: RunProps;
|
|
1361
1384
|
readonly origin: Origin;
|
|
1362
1385
|
readonly sheet: Sheet | null;
|
|
1363
1386
|
readonly shape: Shape | null;
|
|
1364
1387
|
}
|
|
1365
1388
|
/**
|
|
1366
|
-
* The list styles a shape reads, nearest first, ending at whichever terminus it
|
|
1367
|
-
* reaches.
|
|
1368
|
-
*
|
|
1369
|
-
* Exported because it *is* the finding: a caller that wants to show the user
|
|
1370
|
-
* where a value could have come from - the inspector's Overrides panel, layout
|
|
1371
|
-
* compatibility scoring - needs the same list the resolver walks, not a second
|
|
1372
|
-
* opinion about it.
|
|
1389
|
+
* The list styles a shape or a table cell reads, nearest first, ending at whichever terminus it
|
|
1390
|
+
* reaches. Exported so a caller that shows where a value could come from walks the same list.
|
|
1373
1391
|
*/
|
|
1374
1392
|
export declare function textLevels(context: TextContext): readonly Level[];
|
|
1375
1393
|
/**
|
|
1376
|
-
* The values left when every level has been asked and none of them said.
|
|
1377
|
-
*
|
|
1378
|
-
* Two quite different things, and which applies turns on one question: does the
|
|
1379
|
-
* master declare `p:txStyles` at all? If it does not, PowerPoint substitutes its
|
|
1380
|
-
* whole built-in set, and a body placeholder is 28 points with a hanging bullet
|
|
1381
|
-
* indent. If it does, there is no per-property backstop underneath it and what
|
|
1382
|
-
* remains is the floor - 18 points, no margin, no indent. Measured as two
|
|
1383
|
-
* separate probes precisely because the two are easy to conflate and differ on
|
|
1384
|
-
* every partially-specified master.
|
|
1394
|
+
* The values left when every level has been asked and none of them said (ADR 0027).
|
|
1395
|
+
* A master with `p:txStyles` leaves `TEXT_FLOOR`; one without substitutes PowerPoint's built-ins.
|
|
1385
1396
|
*/
|
|
1386
1397
|
export declare function floorOf(context: TextContext, level: number): BuiltinLevel;
|
|
1387
1398
|
/**
|
|
@@ -1518,6 +1529,62 @@ export declare function builtinTableStyle(id: string): TableStyle | undefined;
|
|
|
1518
1529
|
* grid and no fill, whatever the theme and whatever the package defines.
|
|
1519
1530
|
*/
|
|
1520
1531
|
export declare function tableStyleOf(table: Table): TableStyle | null;
|
|
1532
|
+
/** The order the parts compose in, lowest first: C9 on every drawable table (ADR 0064). */
|
|
1533
|
+
export declare const TABLE_PART_ORDER: readonly ["wholeTbl", "band1H", "band2H", "band1V", "band2V", "lastCol", "firstCol", "lastRow", "seCell", "swCell", "firstRow", "neCell", "nwCell"];
|
|
1534
|
+
/**
|
|
1535
|
+
* The parts reaching grid position (row, col), highest first: ECMA-376's reading, which C9 found
|
|
1536
|
+
* alone fits (ADR 0064). Bands skip the rows and columns their end flags take, and a corner part
|
|
1537
|
+
* needs both of its flags.
|
|
1538
|
+
*/
|
|
1539
|
+
export declare function tablePartsAt(props: TableProps | undefined, rows: number, cols: number, row: number, col: number): readonly TableStylePartName[];
|
|
1540
|
+
/**
|
|
1541
|
+
* The fill of the cell at grid position (row, col): its own `a:tcPr` fill, else the highest part
|
|
1542
|
+
* that states one. Parts compose per property (C9); `null` paints nothing, and one translucent fill
|
|
1543
|
+
* is painted alone, never over another part's.
|
|
1544
|
+
*/
|
|
1545
|
+
export declare function tableCellFill(table: Table, style: TableStyle | null, grid: TableGrid, row: number, col: number): TableSourced<Themeable<Fill>> | null;
|
|
1546
|
+
/**
|
|
1547
|
+
* What paints under the cells, over the grid and never the frame as written: `a:tblPr`'s own fill
|
|
1548
|
+
* and effect list, each in place of the style's `tblBg` one, an empty list included (C9).
|
|
1549
|
+
*/
|
|
1550
|
+
export declare function tableBackground(table: Table, style: TableStyle | null): TableBackgroundLayers;
|
|
1551
|
+
/**
|
|
1552
|
+
* The diagonals of the cell at (row, col) as drawn across its whole span: `down` from its visual top
|
|
1553
|
+
* left, `up` from its visual bottom left. Only the anchor's own lines draw, mirrored in an rtl
|
|
1554
|
+
* table; no built-in states a diagonal (C8) and a covered position's own are never read (C9).
|
|
1555
|
+
*/
|
|
1556
|
+
export declare function tableCellDiagonals(table: Table, grid: TableGrid, row: number, col: number): TableDiagonals;
|
|
1557
|
+
/** PowerPoint's default grid: a 1-pt black line on every edge of a table that names no built-in (C8). */
|
|
1558
|
+
export declare const DEFAULT_GRID_LINE: Line;
|
|
1559
|
+
/**
|
|
1560
|
+
* The line a grid edge draws: its owner's `a:tcPr` line, else the highest part of either cell that
|
|
1561
|
+
* states it, a part reaching both offering its inside edge (C9).
|
|
1562
|
+
* The owner is the cell before (above, left) where its anchor is level with the edge, else the cell
|
|
1563
|
+
* after where its anchor is, else the cell before; `null` inside a merged cell.
|
|
1564
|
+
*/
|
|
1565
|
+
export declare function tableEdgeLine(table: Table, style: TableStyle | null, grid: TableGrid, edge: TableEdge): TableSourced<Themeable<Line>> | null;
|
|
1566
|
+
/**
|
|
1567
|
+
* What the style gives the text of the cell at (row, col): bold, italic, face and colour, each from
|
|
1568
|
+
* the highest part that states it (C9), as run properties for the text cascade.
|
|
1569
|
+
* The default grid gives `tx1` in the minor face whatever the flags; `node` is the style's element,
|
|
1570
|
+
* or the table's for the grid.
|
|
1571
|
+
*/
|
|
1572
|
+
export declare function tableTextLayer(table: Table, style: TableStyle | null, grid: TableGrid, row: number, col: number): RunProps;
|
|
1573
|
+
/** A style fill with a `fillRef` followed into the theme, and the colour `phClr` takes in it. */
|
|
1574
|
+
export declare function themedFill(fill: Themeable<Fill>, theme: Theme, colors: ColorContext): {
|
|
1575
|
+
readonly fill: Fill | null;
|
|
1576
|
+
readonly phClr: Rgba | null;
|
|
1577
|
+
};
|
|
1578
|
+
/** A style effect list with an `effectRef` followed into the theme, and the colour `phClr` takes. */
|
|
1579
|
+
export declare function themedEffects(effects: Themeable<readonly Effect[] | undefined>, theme: Theme, colors: ColorContext): {
|
|
1580
|
+
readonly effects: readonly Effect[];
|
|
1581
|
+
readonly phClr: Rgba | null;
|
|
1582
|
+
};
|
|
1583
|
+
/** A style line with an `lnRef` followed into the theme, and the colour `phClr` takes in it. */
|
|
1584
|
+
export declare function themedLine(line: Themeable<Line>, theme: Theme, colors: ColorContext): {
|
|
1585
|
+
readonly line: Line | null;
|
|
1586
|
+
readonly phClr: Rgba | null;
|
|
1587
|
+
};
|
|
1521
1588
|
//#endregion
|
|
1522
1589
|
//#region src/resolve/typeface.d.ts
|
|
1523
1590
|
/** The four slots a `CT_TextCharacterProperties` can name. */
|
|
@@ -1539,5 +1606,5 @@ export declare function resolveTypefaceOf(font: Typeface, scheme: FontScheme): s
|
|
|
1539
1606
|
*/
|
|
1540
1607
|
export declare function requestedTypefaces(fonts: Iterable<Typeface | undefined>, scheme: FontScheme): readonly string[];
|
|
1541
1608
|
//#endregion
|
|
1542
|
-
export { type Background, type BuiltinLevel, type BuiltinTableStyle, type BulletAutoNum, type BulletColor, type BulletFont, type BulletKind, type BulletSize, COLOR_TRANSFORM_OPS, type Caps, type ChainLink, type ColorMapOverride, type Document, type DocumentProblem, type FontAlign, type FontCollection, type FontRef, type FontScheme, type FormatScheme, type GridCell, type ListStyle, type ModelErrorCode, type NormalPlaceholder, type OnOffStyle, type Origin, type ParaProps, type Paragraph, type Placeholder, type PlaceholderSize, type PlaceholderType, type Resolved, type ResolvedAppearance, type ResolvedBackground, type ResolvedInsets, type RunProps, type ScriptSlot, type Shape, type ShapeGeometry, type ShapeKind, type ShapeStyle, type Sheet, type SheetKind, type Spacing, type Strike, type StyleMatrixTarget, type StyleRef, type Table, type TableBackground, type TableCell, type TableCellBorders, type TableCellProps, type TableColumn, type TableGrid, type TableProps, type TableRow, type TableStyle, type TableStyleBorders, type TableStyleCell, type TableStylePart, type TableStylePartName, type TableStyleRef, type TableStyleText, type TextAlign, type TextAnchor, type TextBody, type TextBreak, type TextContent, type TextContext, type TextField, type TextRun, type TextStyleBucket, type TextStyles, type Theme, type ThemeFontRef, type Themeable, type Typeface, type Underline, type VerticalText, type Xfrm };
|
|
1609
|
+
export { type Background, type BuiltinLevel, type BuiltinTableStyle, type BulletAutoNum, type BulletColor, type BulletFont, type BulletKind, type BulletSize, COLOR_TRANSFORM_OPS, type Caps, type ChainLink, type ColorMapOverride, type Document, type DocumentProblem, type FontAlign, type FontCollection, type FontRef, type FontScheme, type FormatScheme, type GridCell, type ListStyle, type ModelErrorCode, type NormalPlaceholder, type OnOffStyle, type Origin, type ParaProps, type Paragraph, type Placeholder, type PlaceholderSize, type PlaceholderType, type Resolved, type ResolvedAppearance, type ResolvedBackground, type ResolvedInsets, type RunProps, type ScriptSlot, type Shape, type ShapeGeometry, type ShapeKind, type ShapeStyle, type Sheet, type SheetKind, type Spacing, type Strike, type StyleMatrixTarget, type StyleRef, type Table, type TableBackground, type TableBackgroundLayers, type TableCell, type TableCellBorders, type TableCellProps, type TableCellText, type TableColumn, type TableDiagonals, type TableEdge, type TableGrid, type TableProps, type TableRow, type TableSource, type TableSourced, type TableStyle, type TableStyleBorders, type TableStyleCell, type TableStylePart, type TableStylePartName, type TableStyleRef, type TableStyleText, type TextAlign, type TextAnchor, type TextBody, type TextBreak, type TextContent, type TextContext, type TextField, type TextRun, type TextStyleBucket, type TextStyles, type Theme, type ThemeFontRef, type Themeable, type Typeface, type Underline, type VerticalText, type Xfrm };
|
|
1543
1610
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/errors.ts","../src/parse/geometry.ts","../src/text.ts","../src/table.ts","../src/types.ts","../src/parse/paint.ts","../src/parse/sheet.ts","../src/resolve/placeholder.ts","../src/resolve/resolve.ts","../src/style.ts","../src/resolve/background.ts","../src/document.ts","../src/parse/text.ts","../src/builtin/text-styles.ts","../src/builtin/table-styles.ts","../src/resolve/text.ts","../src/resolve/body.ts","../src/parse/body.ts","../src/parse/table.ts","../src/resolve/table.ts","../src/resolve/typeface.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;KAkBY
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/errors.ts","../src/parse/geometry.ts","../src/text.ts","../src/table.ts","../src/types.ts","../src/parse/paint.ts","../src/parse/sheet.ts","../src/resolve/placeholder.ts","../src/resolve/resolve.ts","../src/style.ts","../src/resolve/background.ts","../src/document.ts","../src/parse/text.ts","../src/builtin/text-styles.ts","../src/builtin/table-styles.ts","../src/resolve/text.ts","../src/resolve/body.ts","../src/parse/body.ts","../src/parse/table.ts","../src/resolve/table.ts","../src/resolve/typeface.ts"],"mappings":"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"}
|