@silurus/ooxml 0.82.0 → 0.83.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 (45) hide show
  1. package/README.md +72 -3
  2. package/dist/assets/{render-worker-7-Zr7fSw.js → render-worker-Bu31cf1J.js} +4 -4
  3. package/dist/assets/render-worker-DuztdEcX.js +11 -0
  4. package/dist/{canvas-viewer-mechanics-CS_qbr6T.js → canvas-viewer-mechanics-h07vpVOQ.js} +42 -2
  5. package/dist/{comment-ui-runtime-BAe30Ct9.js → comment-ui-runtime-BelHJt73.js} +3 -3
  6. package/dist/{comment-ui-runtime-BUCj4hWn.js → comment-ui-runtime-DD5a3x3k.js} +3 -3
  7. package/dist/comment-ui-runtime-DTGN3Vyy.js +2 -0
  8. package/dist/{comments-Cf9W7r3M.js → comments-AAaNnQTi.js} +7 -2
  9. package/dist/{document-pull-client-BCgmytqI.js → document-pull-client-BAhqoTmm.js} +4509 -3953
  10. package/dist/docx-Dg73PGgC.js +2707 -0
  11. package/dist/docx.mjs +6 -6
  12. package/dist/docx_parser_bg.wasm +0 -0
  13. package/dist/dom-interaction-boundary-CepOlXt6.js +217 -0
  14. package/dist/index.mjs +4 -4
  15. package/dist/line-distribute-D7A_wnJg.js +1003 -0
  16. package/dist/{line-metrics-B3syvDn2.js → line-metrics-Bpn7OeZD.js} +616 -616
  17. package/dist/node.mjs +308 -308
  18. package/dist/pptx-BcUCETmQ.js +2990 -0
  19. package/dist/pptx.mjs +5 -5
  20. package/dist/pptx_parser_bg.wasm +0 -0
  21. package/dist/{read-only-comment-margin-Dn2y55W6.js → read-only-comment-margin-DrUX-YrP.js} +1 -1
  22. package/dist/{render-CenWM4g1.js → render-CL-7V3E8.js} +1 -1
  23. package/dist/{render-worker-host-BNENN3qP.js → render-worker-host-DDZo0feh.js} +1 -1
  24. package/dist/{render-worker-host-BmH3kGSj.js → render-worker-host-FJ19-fUI.js} +1 -1
  25. package/dist/{resource-measurement-CsW4_eYt.js → resource-measurement-DuiFWzam.js} +3 -3
  26. package/dist/{session-Cky_swUj.js → session-BjydZEDF.js} +107 -94
  27. package/dist/{slide-pull-client-CqTVFb3W.js → slide-pull-client-CwvvncPA.js} +1199 -970
  28. package/dist/types/docx.d.ts +99 -7
  29. package/dist/types/index.d.ts +189 -12
  30. package/dist/types/node.d.ts +385 -379
  31. package/dist/types/pptx.d.ts +96 -5
  32. package/dist/types/xlsx.d.ts +4 -2
  33. package/dist/{worksheet-pull-client-CYtwXP5D.js → worksheet-pull-client-DyFsDF4A.js} +32 -32
  34. package/dist/{xlsx-DlV37-0j.js → xlsx-BibrHQ52.js} +477 -477
  35. package/dist/xlsx.mjs +5 -5
  36. package/dist/xlsx_parser_bg.wasm +0 -0
  37. package/package.json +4 -1
  38. package/dist/assets/render-worker-B5gsW6b5.js +0 -11
  39. package/dist/comment-ui-runtime-F4a3te6p.js +0 -2
  40. package/dist/docx-wokGKYfi.js +0 -2162
  41. package/dist/dom-interaction-boundary-C8F6HO5x.js +0 -119
  42. package/dist/line-distribute-iXsUCIH-.js +0 -1003
  43. package/dist/pptx-DU8L8I2T.js +0 -2432
  44. /package/dist/{comment-occurrence-C34fWs_F.js → comment-occurrence-X54si2ob.js} +0 -0
  45. /package/dist/{highlight-rect-MaCt0om0.js → highlight-rect-Hes0z_Mj.js} +0 -0
@@ -1231,7 +1231,7 @@ interface ChartLegendEntryOverride {
1231
1231
  fontBold?: boolean | null;
1232
1232
  }
1233
1233
  //#endregion
1234
- //#region dist/.types-work/hyperlink-CZoV-4B8.d.ts
1234
+ //#region dist/.types-work/hyperlink-Bk5fiM_m.d.ts
1235
1235
  type OoxmlErrorStage = 'container' | 'decompression' | 'parsing' | 'serialization' | 'layout' | 'rendering' | 'worker';
1236
1236
  type OoxmlFormat = 'docx' | 'xlsx' | 'pptx';
1237
1237
  interface OoxmlResourceUsageSnapshot {
@@ -1317,310 +1317,7 @@ type HyperlinkTarget = {
1317
1317
  slideIndex?: number;
1318
1318
  };
1319
1319
  //#endregion
1320
- //#region dist/.types-work/node.d.ts
1321
- interface Paragraph extends Paragraph$1 {
1322
- eaLnBrk: boolean;
1323
- defTabSz?: number;
1324
- }
1325
- interface TextBody extends TextBody$1 {
1326
- rtlCol?: boolean;
1327
- textWarp?: {
1328
- preset: string;
1329
- adj?: number[];
1330
- };
1331
- paragraphs: Paragraph[];
1332
- }
1333
- interface Presentation {
1334
- slideWidth: number;
1335
- slideHeight: number;
1336
- slides: Slide[];
1337
- defaultTextColor: string | null;
1338
- majorFont: string | null;
1339
- minorFont: string | null;
1340
- hlinkColor?: string;
1341
- folHlinkColor?: string;
1342
- }
1343
- interface Slide {
1344
- index: number;
1345
- slideNumber: number;
1346
- partName?: string;
1347
- background: Fill | null;
1348
- elements: SlideElement[];
1349
- elementSources?: SlideElementSource[];
1350
- notes?: string;
1351
- comments?: PptxComment[];
1352
- hidden?: boolean;
1353
- parseError?: string;
1354
- }
1355
- type SlideElementOrigin = 'master' | 'layout' | 'slide';
1356
- interface SlideElementSource {
1357
- origin: SlideElementOrigin;
1358
- }
1359
- type PptxCommentAnchor = Readonly<{
1360
- type: 'slide';
1361
- }> | Readonly<{
1362
- type: 'drawingElement';
1363
- elementId?: string;
1364
- creationId?: string;
1365
- }> | Readonly<{
1366
- type: 'textRange';
1367
- elementId?: string;
1368
- start?: number;
1369
- length?: number;
1370
- }> | Readonly<{
1371
- type: 'unknown';
1372
- }>;
1373
- interface PptxComment {
1374
- authorId?: number;
1375
- modernAuthorId?: string;
1376
- id?: string;
1377
- index?: number;
1378
- author?: string;
1379
- date?: string;
1380
- x?: number;
1381
- y?: number;
1382
- anchors?: readonly Readonly<PptxCommentAnchor>[];
1383
- status?: 'active' | 'resolved' | 'closed';
1384
- text: string;
1385
- replies?: readonly Readonly<PptxCommentReply>[];
1386
- }
1387
- interface PptxCommentReply {
1388
- id?: string;
1389
- authorId?: string;
1390
- author?: string;
1391
- date?: string;
1392
- status?: 'active' | 'resolved' | 'closed';
1393
- text: string;
1394
- }
1395
- type SlideElement = ShapeElement | PictureElement | TableElement | ChartElement | MediaElement;
1396
- interface MediaElement {
1397
- type: 'media';
1398
- id?: string;
1399
- x: number;
1400
- y: number;
1401
- width: number;
1402
- height: number;
1403
- rotation: number;
1404
- flipH: boolean;
1405
- flipV: boolean;
1406
- mediaKind: 'audio' | 'video';
1407
- posterPath: string;
1408
- posterMimeType: string;
1409
- mediaPath: string;
1410
- mimeType: string;
1411
- }
1412
- interface ShapeElement {
1413
- type: 'shape';
1414
- x: number;
1415
- y: number;
1416
- width: number;
1417
- height: number;
1418
- rotation: number;
1419
- flipH: boolean;
1420
- flipV: boolean;
1421
- geometry: string;
1422
- fill: Fill | null;
1423
- stroke: Stroke | null;
1424
- textBody: TextBody | null;
1425
- defaultTextColor: string | null;
1426
- custGeom: PathCmd$2[][] | null;
1427
- adj: number | null;
1428
- adj2: number | null;
1429
- adj3: number | null;
1430
- adj4: number | null;
1431
- adj5: number | null;
1432
- adj6: number | null;
1433
- adj7: number | null;
1434
- adj8: number | null;
1435
- shadow: Shadow | null;
1436
- innerShadow?: Shadow;
1437
- glow?: Glow;
1438
- softEdge?: SoftEdge;
1439
- reflection?: Reflection;
1440
- textRect?: TextRect;
1441
- scene3d?: Scene3d;
1442
- sp3d?: Sp3d;
1443
- id?: string;
1444
- name?: string;
1445
- hyperlink?: string;
1446
- hyperlinkAction?: string;
1447
- }
1448
- interface TextRect {
1449
- x: number;
1450
- y: number;
1451
- width: number;
1452
- height: number;
1453
- }
1454
- interface Rot3d {
1455
- lat: number;
1456
- lon: number;
1457
- rev: number;
1458
- }
1459
- interface Camera3d {
1460
- prst: string;
1461
- fov?: number;
1462
- zoom?: number;
1463
- rot?: Rot3d;
1464
- }
1465
- interface LightRig {
1466
- rig: string;
1467
- dir: string;
1468
- rot?: Rot3d;
1469
- }
1470
- interface Scene3d {
1471
- camera: Camera3d;
1472
- lightRig?: LightRig;
1473
- }
1474
- interface Bevel3d {
1475
- w: number;
1476
- h: number;
1477
- prst: string;
1478
- }
1479
- interface Sp3d {
1480
- z?: number;
1481
- extrusionH?: number;
1482
- contourW?: number;
1483
- contourClr?: string;
1484
- extrusionClr?: string;
1485
- prstMaterial: string;
1486
- bevelT?: Bevel3d;
1487
- bevelB?: Bevel3d;
1488
- }
1489
- interface TableElement {
1490
- type: 'table';
1491
- id?: string;
1492
- x: number;
1493
- y: number;
1494
- width: number;
1495
- height: number;
1496
- rotation: number;
1497
- flipH: boolean;
1498
- flipV: boolean;
1499
- cols: number[];
1500
- rows: TableRow[];
1501
- rtl?: boolean;
1502
- }
1503
- interface TableRow {
1504
- height: number;
1505
- cells: TableCell[];
1506
- }
1507
- interface TableCell {
1508
- textBody: TextBody | null;
1509
- fill: Fill | null;
1510
- textColor?: string;
1511
- borderL: Stroke | null;
1512
- borderR: Stroke | null;
1513
- borderT: Stroke | null;
1514
- borderB: Stroke | null;
1515
- diagonalTL?: Stroke | null;
1516
- diagonalTR?: Stroke | null;
1517
- gridSpan: number;
1518
- rowSpan: number;
1519
- hMerge: boolean;
1520
- vMerge: boolean;
1521
- }
1522
- interface ChartElement {
1523
- type: 'chart';
1524
- id?: string;
1525
- x: number;
1526
- y: number;
1527
- width: number;
1528
- height: number;
1529
- rotation: number;
1530
- flipH: boolean;
1531
- flipV: boolean;
1532
- chart: ChartModel;
1533
- }
1534
- interface PictureElement {
1535
- type: 'picture';
1536
- id?: string;
1537
- x: number;
1538
- y: number;
1539
- width: number;
1540
- height: number;
1541
- rotation: number;
1542
- flipH: boolean;
1543
- flipV: boolean;
1544
- imagePath: string;
1545
- mimeType: string;
1546
- svgImagePath?: string;
1547
- intrinsicWidthPx?: number;
1548
- intrinsicHeightPx?: number;
1549
- stroke: Stroke | null;
1550
- prstGeom?: string;
1551
- prstAdjust?: number[];
1552
- srcRect?: {
1553
- l: number;
1554
- t: number;
1555
- r: number;
1556
- b: number;
1557
- };
1558
- alpha?: number;
1559
- duotone?: Duotone$1;
1560
- custGeom?: PathCmd$2[][] | null;
1561
- shadow?: Shadow;
1562
- innerShadow?: Shadow;
1563
- glow?: Glow;
1564
- softEdge?: SoftEdge;
1565
- reflection?: Reflection;
1566
- scene3d?: Scene3d;
1567
- sp3d?: Sp3d;
1568
- }
1569
- interface OoxmlNodeSessionOptions {
1570
- resourceLimits?: OoxmlResourceLimits;
1571
- maxZipEntryBytes?: number;
1572
- debug?: boolean;
1573
- onResourceMetrics?: (metrics: OoxmlResourceMetrics) => void;
1574
- signal?: AbortSignal;
1575
- }
1576
- interface NodeTextMetricsLike {
1577
- readonly width: number;
1578
- }
1579
- interface NodeCanvasContext2D {
1580
- measureText(text: string): NodeTextMetricsLike;
1581
- }
1582
- interface NodeCanvasLike {
1583
- width: number;
1584
- height: number;
1585
- getContext(kind: '2d'): NodeCanvasContext2D;
1586
- toBuffer?(format?: string): Uint8Array | Promise<Uint8Array>;
1587
- }
1588
- interface NodeImageLike {
1589
- width: number;
1590
- height: number;
1591
- }
1592
- interface NodeCanvasFactory {
1593
- createCanvas(width: number, height: number): NodeCanvasLike;
1594
- loadImage(buffer: ArrayBuffer | Uint8Array): Promise<NodeImageLike>;
1595
- }
1596
- declare function installOffscreenCanvasShim(factory: NodeCanvasFactory): () => void;
1597
- declare function installImageBitmapShim(factory: NodeCanvasFactory): () => void;
1598
- declare function renderSlideNode(canvas: NodeCanvasLike, presentation: Presentation, slideIndex: number, opts?: {
1599
- width?: number;
1600
- dpr?: number;
1601
- factory?: NodeCanvasFactory;
1602
- fetchImage?: (path: string, mimeType: string) => Promise<Blob>;
1603
- fetchMedia?: (path: string) => Promise<Blob>;
1604
- }): Promise<void>;
1605
- type OpenPptxPresentationOptions = OoxmlNodeSessionOptions;
1606
- interface PptxSessionRenderOptions {
1607
- readonly width?: number;
1608
- readonly dpr?: number;
1609
- readonly factory: NodeCanvasFactory;
1610
- }
1611
- interface PptxPresentationSession extends AsyncIterable<Slide> {
1612
- readonly slideCount: number;
1613
- readonly slideWidth: number;
1614
- readonly slideHeight: number;
1615
- readonly resourceUsage: OoxmlResourceUsageSnapshot | undefined;
1616
- getImage(path: string, mimeType: string): Promise<Blob>;
1617
- getMedia(path: string, mimeType?: string): Promise<Blob>;
1618
- renderSlide(canvas: NodeCanvasLike, slide: Slide, options: PptxSessionRenderOptions): Promise<void>;
1619
- slides(): AsyncGenerator<Slide, void, void>;
1620
- close(): Promise<void>;
1621
- }
1622
- declare function openPptxPresentation(buffer: ArrayBuffer | Uint8Array, options?: OpenPptxPresentationOptions): Promise<PptxPresentationSession>;
1623
- declare function materializePptxPresentation(buffer: ArrayBuffer | Uint8Array, options?: OpenPptxPresentationOptions): Promise<Presentation>;
1320
+ //#region dist/.types-work/types-B2UaFocY.d.ts
1624
1321
  interface DocxDocumentModel {
1625
1322
  section: SectionProps;
1626
1323
  body: BodyElement[];
@@ -2301,90 +1998,313 @@ interface DocTableRow {
2301
1998
  isHeader: boolean;
2302
1999
  cantSplit?: boolean;
2303
2000
  }
2304
- type CellElement = ({
2305
- type: 'paragraph';
2306
- } & DocParagraph) | ({
2307
- type: 'table';
2308
- } & DocTable);
2309
- interface DocTableCell {
2310
- content: CellElement[];
2311
- colSpan: number;
2312
- vMerge: boolean | null;
2313
- borders: CellBorders;
2314
- background: string | null;
2315
- vAlign: 'top' | 'center' | 'bottom';
2316
- widthPt: number | null;
2317
- widthPct?: number;
2318
- marginTop?: number | null;
2319
- marginBottom?: number | null;
2320
- marginLeft?: number | null;
2321
- marginRight?: number | null;
2001
+ type CellElement = ({
2002
+ type: 'paragraph';
2003
+ } & DocParagraph) | ({
2004
+ type: 'table';
2005
+ } & DocTable);
2006
+ interface DocTableCell {
2007
+ content: CellElement[];
2008
+ colSpan: number;
2009
+ vMerge: boolean | null;
2010
+ borders: CellBorders;
2011
+ background: string | null;
2012
+ vAlign: 'top' | 'center' | 'bottom';
2013
+ widthPt: number | null;
2014
+ widthPct?: number;
2015
+ marginTop?: number | null;
2016
+ marginBottom?: number | null;
2017
+ marginLeft?: number | null;
2018
+ marginRight?: number | null;
2019
+ }
2020
+ interface CellBorders {
2021
+ top: BorderSpec | null;
2022
+ bottom: BorderSpec | null;
2023
+ left: BorderSpec | null;
2024
+ right: BorderSpec | null;
2025
+ insideH: BorderSpec | null;
2026
+ insideV: BorderSpec | null;
2027
+ }
2028
+ interface DocxStorySource {
2029
+ story: 'body' | 'header' | 'footer' | 'footnote' | 'endnote' | 'textbox';
2030
+ storyInstance: string;
2031
+ path: readonly number[];
2032
+ }
2033
+ interface DocxTextRunInfo {
2034
+ source?: Readonly<DocxStorySource>;
2035
+ paragraphId?: string;
2036
+ sourceRunIndex?: number;
2037
+ direction?: 'ltr' | 'rtl';
2038
+ text: string;
2039
+ x: number;
2040
+ y: number;
2041
+ w: number;
2042
+ h: number;
2043
+ highlightBounds?: Readonly<{
2044
+ x: number;
2045
+ y: number;
2046
+ width: number;
2047
+ height: number;
2048
+ }>;
2049
+ fontSize: number;
2050
+ font: string;
2051
+ letterSpacingPx?: number;
2052
+ transform?: string;
2053
+ hyperlink?: HyperlinkTarget;
2054
+ eastAsianVert?: boolean;
2055
+ }
2056
+ //#endregion
2057
+ //#region dist/.types-work/types-PWBS8kGC.d.ts
2058
+ interface Paragraph extends Paragraph$1 {
2059
+ eaLnBrk: boolean;
2060
+ defTabSz?: number;
2061
+ }
2062
+ interface TextBody extends TextBody$1 {
2063
+ rtlCol?: boolean;
2064
+ textWarp?: {
2065
+ preset: string;
2066
+ adj?: number[];
2067
+ };
2068
+ paragraphs: Paragraph[];
2069
+ }
2070
+ interface Presentation {
2071
+ slideWidth: number;
2072
+ slideHeight: number;
2073
+ slides: Slide[];
2074
+ defaultTextColor: string | null;
2075
+ majorFont: string | null;
2076
+ minorFont: string | null;
2077
+ hlinkColor?: string;
2078
+ folHlinkColor?: string;
2079
+ }
2080
+ interface Slide {
2081
+ index: number;
2082
+ slideNumber: number;
2083
+ partName?: string;
2084
+ background: Fill | null;
2085
+ elements: SlideElement[];
2086
+ elementSources?: SlideElementSource[];
2087
+ notes?: string;
2088
+ comments?: PptxComment[];
2089
+ hidden?: boolean;
2090
+ parseError?: string;
2091
+ }
2092
+ type SlideElementOrigin = 'master' | 'layout' | 'slide';
2093
+ interface SlideElementSource {
2094
+ origin: SlideElementOrigin;
2095
+ }
2096
+ type PptxCommentAnchor = Readonly<{
2097
+ type: 'slide';
2098
+ }> | Readonly<{
2099
+ type: 'drawingElement';
2100
+ elementId?: string;
2101
+ creationId?: string;
2102
+ }> | Readonly<{
2103
+ type: 'textRange';
2104
+ elementId?: string;
2105
+ start?: number;
2106
+ length?: number;
2107
+ }> | Readonly<{
2108
+ type: 'unknown';
2109
+ }>;
2110
+ interface PptxComment {
2111
+ authorId?: number;
2112
+ modernAuthorId?: string;
2113
+ id?: string;
2114
+ index?: number;
2115
+ author?: string;
2116
+ date?: string;
2117
+ x?: number;
2118
+ y?: number;
2119
+ anchors?: readonly Readonly<PptxCommentAnchor>[];
2120
+ status?: 'active' | 'resolved' | 'closed';
2121
+ text: string;
2122
+ replies?: readonly Readonly<PptxCommentReply>[];
2123
+ }
2124
+ interface PptxCommentReply {
2125
+ id?: string;
2126
+ authorId?: string;
2127
+ author?: string;
2128
+ date?: string;
2129
+ status?: 'active' | 'resolved' | 'closed';
2130
+ text: string;
2131
+ }
2132
+ type SlideElement = ShapeElement | PictureElement | TableElement | ChartElement | MediaElement;
2133
+ interface MediaElement {
2134
+ type: 'media';
2135
+ id?: string;
2136
+ x: number;
2137
+ y: number;
2138
+ width: number;
2139
+ height: number;
2140
+ rotation: number;
2141
+ flipH: boolean;
2142
+ flipV: boolean;
2143
+ mediaKind: 'audio' | 'video';
2144
+ posterPath: string;
2145
+ posterMimeType: string;
2146
+ mediaPath: string;
2147
+ mimeType: string;
2148
+ }
2149
+ interface ShapeElement {
2150
+ type: 'shape';
2151
+ x: number;
2152
+ y: number;
2153
+ width: number;
2154
+ height: number;
2155
+ rotation: number;
2156
+ flipH: boolean;
2157
+ flipV: boolean;
2158
+ geometry: string;
2159
+ fill: Fill | null;
2160
+ stroke: Stroke | null;
2161
+ textBody: TextBody | null;
2162
+ defaultTextColor: string | null;
2163
+ custGeom: PathCmd$2[][] | null;
2164
+ adj: number | null;
2165
+ adj2: number | null;
2166
+ adj3: number | null;
2167
+ adj4: number | null;
2168
+ adj5: number | null;
2169
+ adj6: number | null;
2170
+ adj7: number | null;
2171
+ adj8: number | null;
2172
+ shadow: Shadow | null;
2173
+ innerShadow?: Shadow;
2174
+ glow?: Glow;
2175
+ softEdge?: SoftEdge;
2176
+ reflection?: Reflection;
2177
+ textRect?: TextRect;
2178
+ scene3d?: Scene3d;
2179
+ sp3d?: Sp3d;
2180
+ id?: string;
2181
+ name?: string;
2182
+ hyperlink?: string;
2183
+ hyperlinkAction?: string;
2184
+ }
2185
+ interface TextRect {
2186
+ x: number;
2187
+ y: number;
2188
+ width: number;
2189
+ height: number;
2190
+ }
2191
+ interface Rot3d {
2192
+ lat: number;
2193
+ lon: number;
2194
+ rev: number;
2195
+ }
2196
+ interface Camera3d {
2197
+ prst: string;
2198
+ fov?: number;
2199
+ zoom?: number;
2200
+ rot?: Rot3d;
2201
+ }
2202
+ interface LightRig {
2203
+ rig: string;
2204
+ dir: string;
2205
+ rot?: Rot3d;
2322
2206
  }
2323
- interface CellBorders {
2324
- top: BorderSpec | null;
2325
- bottom: BorderSpec | null;
2326
- left: BorderSpec | null;
2327
- right: BorderSpec | null;
2328
- insideH: BorderSpec | null;
2329
- insideV: BorderSpec | null;
2207
+ interface Scene3d {
2208
+ camera: Camera3d;
2209
+ lightRig?: LightRig;
2330
2210
  }
2331
- interface DocxStorySource {
2332
- story: 'body' | 'header' | 'footer' | 'footnote' | 'endnote' | 'textbox';
2333
- storyInstance: string;
2334
- path: readonly number[];
2211
+ interface Bevel3d {
2212
+ w: number;
2213
+ h: number;
2214
+ prst: string;
2335
2215
  }
2336
- interface DocxTextRunInfo {
2337
- source?: Readonly<DocxStorySource>;
2338
- paragraphId?: string;
2339
- sourceRunIndex?: number;
2340
- direction?: 'ltr' | 'rtl';
2341
- text: string;
2216
+ interface Sp3d {
2217
+ z?: number;
2218
+ extrusionH?: number;
2219
+ contourW?: number;
2220
+ contourClr?: string;
2221
+ extrusionClr?: string;
2222
+ prstMaterial: string;
2223
+ bevelT?: Bevel3d;
2224
+ bevelB?: Bevel3d;
2225
+ }
2226
+ interface TableElement {
2227
+ type: 'table';
2228
+ id?: string;
2342
2229
  x: number;
2343
2230
  y: number;
2344
- w: number;
2345
- h: number;
2346
- highlightBounds?: Readonly<{
2347
- x: number;
2348
- y: number;
2349
- width: number;
2350
- height: number;
2351
- }>;
2352
- fontSize: number;
2353
- font: string;
2354
- letterSpacingPx?: number;
2355
- transform?: string;
2356
- hyperlink?: HyperlinkTarget;
2357
- eastAsianVert?: boolean;
2231
+ width: number;
2232
+ height: number;
2233
+ rotation: number;
2234
+ flipH: boolean;
2235
+ flipV: boolean;
2236
+ cols: number[];
2237
+ rows: TableRow[];
2238
+ rtl?: boolean;
2358
2239
  }
2359
- interface OpenDocxDocumentOptions extends OoxmlNodeSessionOptions {
2360
- factory: NodeCanvasFactory;
2361
- currentDate?: Date | number;
2240
+ interface TableRow {
2241
+ height: number;
2242
+ cells: TableCell[];
2362
2243
  }
2363
- interface DocxPageRenderOptions {
2364
- width?: number;
2365
- dpr?: number;
2366
- defaultTextColor?: string;
2367
- onTextRun?: (run: DocxTextRunInfo) => void;
2244
+ interface TableCell {
2245
+ textBody: TextBody | null;
2246
+ fill: Fill | null;
2247
+ textColor?: string;
2248
+ borderL: Stroke | null;
2249
+ borderR: Stroke | null;
2250
+ borderT: Stroke | null;
2251
+ borderB: Stroke | null;
2252
+ diagonalTL?: Stroke | null;
2253
+ diagonalTR?: Stroke | null;
2254
+ gridSpan: number;
2255
+ rowSpan: number;
2256
+ hMerge: boolean;
2257
+ vMerge: boolean;
2368
2258
  }
2369
- interface DocxRenderedPage {
2370
- readonly pageIndex: number;
2371
- readonly widthPt: number;
2372
- readonly heightPt: number;
2373
- readonly canvas: NodeCanvasLike;
2259
+ interface ChartElement {
2260
+ type: 'chart';
2261
+ id?: string;
2262
+ x: number;
2263
+ y: number;
2264
+ width: number;
2265
+ height: number;
2266
+ rotation: number;
2267
+ flipH: boolean;
2268
+ flipV: boolean;
2269
+ chart: ChartModel;
2374
2270
  }
2375
- interface DocxDocumentSession extends AsyncIterable<DocxRenderedPage> {
2376
- readonly pageCount: number;
2377
- readonly resourceUsage: OoxmlResourceUsageSnapshot | undefined;
2378
- pageSize(pageIndex: number): Readonly<{
2379
- widthPt: number;
2380
- heightPt: number;
2381
- }>;
2382
- renderPage(pageIndex: number, options?: DocxPageRenderOptions): Promise<NodeCanvasLike>;
2383
- pages(options?: DocxPageRenderOptions): AsyncGenerator<DocxRenderedPage, void, void>;
2384
- close(): Promise<void>;
2271
+ interface PictureElement {
2272
+ type: 'picture';
2273
+ id?: string;
2274
+ x: number;
2275
+ y: number;
2276
+ width: number;
2277
+ height: number;
2278
+ rotation: number;
2279
+ flipH: boolean;
2280
+ flipV: boolean;
2281
+ imagePath: string;
2282
+ mimeType: string;
2283
+ svgImagePath?: string;
2284
+ intrinsicWidthPx?: number;
2285
+ intrinsicHeightPx?: number;
2286
+ stroke: Stroke | null;
2287
+ prstGeom?: string;
2288
+ prstAdjust?: number[];
2289
+ srcRect?: {
2290
+ l: number;
2291
+ t: number;
2292
+ r: number;
2293
+ b: number;
2294
+ };
2295
+ alpha?: number;
2296
+ duotone?: Duotone$1;
2297
+ custGeom?: PathCmd$2[][] | null;
2298
+ shadow?: Shadow;
2299
+ innerShadow?: Shadow;
2300
+ glow?: Glow;
2301
+ softEdge?: SoftEdge;
2302
+ reflection?: Reflection;
2303
+ scene3d?: Scene3d;
2304
+ sp3d?: Sp3d;
2385
2305
  }
2386
- declare function openDocxDocument(buffer: ArrayBuffer | Uint8Array, options: OpenDocxDocumentOptions): Promise<DocxDocumentSession>;
2387
- declare function materializeDocxDocument(buffer: ArrayBuffer | Uint8Array, options?: OoxmlNodeSessionOptions): Promise<DocxDocumentModel>;
2306
+ //#endregion
2307
+ //#region dist/.types-work/types-Dktpy0kq.d.ts
2388
2308
  type ShapeFill = Exclude<Fill, {
2389
2309
  fillType: 'image';
2390
2310
  } | {
@@ -3095,6 +3015,92 @@ interface ParsedWorkbook {
3095
3015
  styles: Styles;
3096
3016
  sharedStrings: SharedString[];
3097
3017
  }
3018
+ //#endregion
3019
+ //#region dist/.types-work/node.d.ts
3020
+ interface OoxmlNodeSessionOptions {
3021
+ resourceLimits?: OoxmlResourceLimits;
3022
+ maxZipEntryBytes?: number;
3023
+ debug?: boolean;
3024
+ onResourceMetrics?: (metrics: OoxmlResourceMetrics) => void;
3025
+ signal?: AbortSignal;
3026
+ }
3027
+ interface NodeTextMetricsLike {
3028
+ readonly width: number;
3029
+ }
3030
+ interface NodeCanvasContext2D {
3031
+ measureText(text: string): NodeTextMetricsLike;
3032
+ }
3033
+ interface NodeCanvasLike {
3034
+ width: number;
3035
+ height: number;
3036
+ getContext(kind: '2d'): NodeCanvasContext2D;
3037
+ toBuffer?(format?: string): Uint8Array | Promise<Uint8Array>;
3038
+ }
3039
+ interface NodeImageLike {
3040
+ width: number;
3041
+ height: number;
3042
+ }
3043
+ interface NodeCanvasFactory {
3044
+ createCanvas(width: number, height: number): NodeCanvasLike;
3045
+ loadImage(buffer: ArrayBuffer | Uint8Array): Promise<NodeImageLike>;
3046
+ }
3047
+ declare function installOffscreenCanvasShim(factory: NodeCanvasFactory): () => void;
3048
+ declare function installImageBitmapShim(factory: NodeCanvasFactory): () => void;
3049
+ declare function renderSlideNode(canvas: NodeCanvasLike, presentation: Presentation, slideIndex: number, opts?: {
3050
+ width?: number;
3051
+ dpr?: number;
3052
+ factory?: NodeCanvasFactory;
3053
+ fetchImage?: (path: string, mimeType: string) => Promise<Blob>;
3054
+ fetchMedia?: (path: string) => Promise<Blob>;
3055
+ }): Promise<void>;
3056
+ type OpenPptxPresentationOptions = OoxmlNodeSessionOptions;
3057
+ interface PptxSessionRenderOptions {
3058
+ readonly width?: number;
3059
+ readonly dpr?: number;
3060
+ readonly factory: NodeCanvasFactory;
3061
+ }
3062
+ interface PptxPresentationSession extends AsyncIterable<Slide> {
3063
+ readonly slideCount: number;
3064
+ readonly slideWidth: number;
3065
+ readonly slideHeight: number;
3066
+ readonly resourceUsage: OoxmlResourceUsageSnapshot | undefined;
3067
+ getImage(path: string, mimeType: string): Promise<Blob>;
3068
+ getMedia(path: string, mimeType?: string): Promise<Blob>;
3069
+ renderSlide(canvas: NodeCanvasLike, slide: Slide, options: PptxSessionRenderOptions): Promise<void>;
3070
+ slides(): AsyncGenerator<Slide, void, void>;
3071
+ close(): Promise<void>;
3072
+ }
3073
+ declare function openPptxPresentation(buffer: ArrayBuffer | Uint8Array, options?: OpenPptxPresentationOptions): Promise<PptxPresentationSession>;
3074
+ declare function materializePptxPresentation(buffer: ArrayBuffer | Uint8Array, options?: OpenPptxPresentationOptions): Promise<Presentation>;
3075
+ interface OpenDocxDocumentOptions extends OoxmlNodeSessionOptions {
3076
+ factory: NodeCanvasFactory;
3077
+ currentDate?: Date | number;
3078
+ }
3079
+ interface DocxPageRenderOptions {
3080
+ width?: number;
3081
+ dpr?: number;
3082
+ defaultTextColor?: string;
3083
+ onTextRun?: (run: DocxTextRunInfo) => void;
3084
+ }
3085
+ interface DocxRenderedPage {
3086
+ readonly pageIndex: number;
3087
+ readonly widthPt: number;
3088
+ readonly heightPt: number;
3089
+ readonly canvas: NodeCanvasLike;
3090
+ }
3091
+ interface DocxDocumentSession extends AsyncIterable<DocxRenderedPage> {
3092
+ readonly pageCount: number;
3093
+ readonly resourceUsage: OoxmlResourceUsageSnapshot | undefined;
3094
+ pageSize(pageIndex: number): Readonly<{
3095
+ widthPt: number;
3096
+ heightPt: number;
3097
+ }>;
3098
+ renderPage(pageIndex: number, options?: DocxPageRenderOptions): Promise<NodeCanvasLike>;
3099
+ pages(options?: DocxPageRenderOptions): AsyncGenerator<DocxRenderedPage, void, void>;
3100
+ close(): Promise<void>;
3101
+ }
3102
+ declare function openDocxDocument(buffer: ArrayBuffer | Uint8Array, options: OpenDocxDocumentOptions): Promise<DocxDocumentSession>;
3103
+ declare function materializeDocxDocument(buffer: ArrayBuffer | Uint8Array, options?: OoxmlNodeSessionOptions): Promise<DocxDocumentModel>;
3098
3104
  type DeepReadonly<T> = T extends ((...args: never[]) => unknown) ? T : T extends readonly (infer TValue)[] ? readonly DeepReadonly<TValue>[] : T extends object ? { readonly [TKey in keyof T]: DeepReadonly<T[TKey]>; } : T;
3099
3105
  type ReadonlyParsedWorkbook = DeepReadonly<ParsedWorkbook>;
3100
3106
  interface MaterializedXlsxWorkbook {