@silurus/ooxml 0.76.2 → 0.77.1

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 (34) hide show
  1. package/README.md +144 -32
  2. package/dist/{canvas-viewer-mechanics-CwVSOYke.js → canvas-viewer-mechanics-D5zXbOrS.js} +319 -153
  3. package/dist/{document-pull-client-B-3_7_YS.js → document-pull-client-CC8pPuzi.js} +2361 -2253
  4. package/dist/{docx-C6B98B4-.js → docx-Dg9N9OX4.js} +623 -202
  5. package/dist/docx.mjs +4 -4
  6. package/dist/docx_parser_bg.wasm +0 -0
  7. package/dist/index.mjs +3 -3
  8. package/dist/{line-distribute-C1r2zvji.js → line-distribute-BtfPlM2A.js} +133 -72
  9. package/dist/{line-metrics-BdCACYlq.js → line-metrics-B66x33iy.js} +1446 -1340
  10. package/dist/node.mjs +7 -7
  11. package/dist/pptx-BFP7Isgf.js +2123 -0
  12. package/dist/pptx.mjs +5 -5
  13. package/dist/pptx_parser_bg.wasm +0 -0
  14. package/dist/{render-CLcpSi0m.js → render-D-cOpMLV.js} +1 -1
  15. package/dist/render-worker-host-BzpMoFRr.js +27 -0
  16. package/dist/render-worker-host-CdZ5hW2X.js +27 -0
  17. package/dist/render-worker-host-quqYq02i.js +27 -0
  18. package/dist/{resource-measurement-E_S_iau4.js → resource-measurement-CVfVTQrt.js} +1 -1
  19. package/dist/{session-B4Y54cbT.js → session-DxAVpIP-.js} +2 -2
  20. package/dist/{slide-pull-client-WCuYCjio.js → slide-pull-client-Lag44QA8.js} +1173 -876
  21. package/dist/types/docx.d.ts +172 -28
  22. package/dist/types/index.d.ts +498 -88
  23. package/dist/types/node.d.ts +133 -22
  24. package/dist/types/pptx.d.ts +166 -10
  25. package/dist/types/xlsx.d.ts +248 -54
  26. package/dist/{worksheet-pull-client-YzjJMOns.js → worksheet-pull-client-D74b_23i.js} +2 -2
  27. package/dist/{xlsx-EykJ9tPV.js → xlsx-Bik59Raj.js} +2090 -1224
  28. package/dist/xlsx.mjs +5 -5
  29. package/dist/xlsx_parser_bg.wasm +0 -0
  30. package/package.json +1 -1
  31. package/dist/pptx-CKAk5e-J.js +0 -1735
  32. package/dist/render-worker-host-Bkf1jUcW.js +0 -27
  33. package/dist/render-worker-host-CKOmXdyr.js +0 -27
  34. package/dist/render-worker-host-Dpv-nKHY.js +0 -27
@@ -1,4 +1,4 @@
1
- //#region dist/.types-work/hyperlink-BnJnsq2_.d.ts
1
+ //#region dist/.types-work/hyperlink-JmvHU-7y.d.ts
2
2
  type MathStyle = 'roman' | 'italic' | 'bold' | 'boldItalic';
3
3
  interface MathRun {
4
4
  kind: 'run';
@@ -123,6 +123,12 @@ type PathCmd$2 = {
123
123
  y2: number;
124
124
  x: number;
125
125
  y: number;
126
+ } | {
127
+ cmd: 'quadBezTo';
128
+ x1: number;
129
+ y1: number;
130
+ x: number;
131
+ y: number;
126
132
  } | {
127
133
  cmd: 'arcTo';
128
134
  wr: number;
@@ -149,6 +155,12 @@ interface GradientFill {
149
155
  stops: GradientStop$1[];
150
156
  angle: number;
151
157
  gradType: string;
158
+ scaled?: boolean;
159
+ path?: 'shape' | 'circle' | 'rect' | string;
160
+ fillToRect?: FillRect;
161
+ tileRect?: FillRect;
162
+ flip?: 'none' | 'x' | 'y' | 'xy' | string;
163
+ rotWithShape?: boolean;
152
164
  }
153
165
  interface PatternFill {
154
166
  fillType: 'pattern';
@@ -185,6 +197,12 @@ interface Shadow {
185
197
  blur: number;
186
198
  dist: number;
187
199
  dir: number;
200
+ sx?: number;
201
+ sy?: number;
202
+ kx?: number;
203
+ ky?: number;
204
+ algn?: 'tl' | 't' | 'tr' | 'l' | 'ctr' | 'r' | 'bl' | 'b' | 'br';
205
+ rotWithShape?: boolean;
188
206
  }
189
207
  interface Glow {
190
208
  color: string;
@@ -219,7 +237,14 @@ interface Stroke {
219
237
  fillType: 'none';
220
238
  }>;
221
239
  dashStyle?: string;
222
- lineCap?: CanvasLineCap;
240
+ customDash?: ReadonlyArray<{
241
+ dash: number;
242
+ space: number;
243
+ }>;
244
+ lineCap?: 'butt' | 'round' | 'square';
245
+ lineJoin?: 'round' | 'bevel' | 'miter';
246
+ miterLimit?: number;
247
+ alignment?: 'ctr' | 'in';
223
248
  headEnd?: ArrowEnd;
224
249
  tailEnd?: ArrowEnd;
225
250
  cmpd?: string;
@@ -265,6 +290,9 @@ type Bullet = {
265
290
  numType: string;
266
291
  startAt: number | null;
267
292
  color: string | null;
293
+ sizePct?: number | null;
294
+ sizePts?: number;
295
+ fontFamily?: string | null;
268
296
  };
269
297
  interface TabStop$1 {
270
298
  pos: number;
@@ -319,6 +347,7 @@ interface TextRunData {
319
347
  hyperlink?: string;
320
348
  hyperlinkAction?: string;
321
349
  shadow?: Shadow;
350
+ reflection?: Reflection;
322
351
  outline?: TextOutline;
323
352
  highlight?: string;
324
353
  }
@@ -693,11 +722,16 @@ interface Slide {
693
722
  partName?: string;
694
723
  background: Fill | null;
695
724
  elements: SlideElement[];
725
+ elementSources?: SlideElementSource[];
696
726
  notes?: string;
697
727
  comments?: PptxComment[];
698
728
  hidden?: boolean;
699
729
  parseError?: string;
700
730
  }
731
+ type SlideElementOrigin = 'master' | 'layout' | 'slide';
732
+ interface SlideElementSource {
733
+ origin: SlideElementOrigin;
734
+ }
701
735
  interface PptxComment {
702
736
  author?: string;
703
737
  date?: string;
@@ -791,6 +825,7 @@ interface Sp3d {
791
825
  extrusionH?: number;
792
826
  contourW?: number;
793
827
  contourClr?: string;
828
+ extrusionClr?: string;
794
829
  prstMaterial: string;
795
830
  bevelT?: Bevel3d;
796
831
  bevelB?: Bevel3d;
@@ -879,11 +914,17 @@ interface OoxmlNodeSessionOptions {
879
914
  onResourceMetrics?: (metrics: OoxmlResourceMetrics) => void;
880
915
  signal?: AbortSignal;
881
916
  }
917
+ interface NodeTextMetricsLike {
918
+ readonly width: number;
919
+ }
920
+ interface NodeCanvasContext2D {
921
+ measureText(text: string): NodeTextMetricsLike;
922
+ }
882
923
  interface NodeCanvasLike {
883
924
  width: number;
884
925
  height: number;
885
- getContext(kind: '2d'): CanvasRenderingContext2D;
886
- toBuffer?(format?: string): Buffer | Promise<Buffer>;
926
+ getContext(kind: '2d'): NodeCanvasContext2D;
927
+ toBuffer?(format?: string): Uint8Array | Promise<Uint8Array>;
887
928
  }
888
929
  interface NodeImageLike {
889
930
  width: number;
@@ -891,7 +932,7 @@ interface NodeImageLike {
891
932
  }
892
933
  interface NodeCanvasFactory {
893
934
  createCanvas(width: number, height: number): NodeCanvasLike;
894
- loadImage(buffer: ArrayBuffer | Uint8Array | Buffer): Promise<NodeImageLike>;
935
+ loadImage(buffer: ArrayBuffer | Uint8Array): Promise<NodeImageLike>;
895
936
  }
896
937
  declare function installOffscreenCanvasShim(factory: NodeCanvasFactory): () => void;
897
938
  declare function installImageBitmapShim(factory: NodeCanvasFactory): () => void;
@@ -919,8 +960,8 @@ interface PptxPresentationSession extends AsyncIterable<Slide> {
919
960
  slides(): AsyncGenerator<Slide, void, void>;
920
961
  close(): Promise<void>;
921
962
  }
922
- declare function openPptxPresentation(buffer: ArrayBuffer | Uint8Array | Buffer, options?: OpenPptxPresentationOptions): Promise<PptxPresentationSession>;
923
- declare function materializePptxPresentation(buffer: ArrayBuffer | Uint8Array | Buffer, options?: OpenPptxPresentationOptions): Promise<Presentation>;
963
+ declare function openPptxPresentation(buffer: ArrayBuffer | Uint8Array, options?: OpenPptxPresentationOptions): Promise<PptxPresentationSession>;
964
+ declare function materializePptxPresentation(buffer: ArrayBuffer | Uint8Array, options?: OpenPptxPresentationOptions): Promise<Presentation>;
924
965
  interface DocxDocumentModel {
925
966
  section: SectionProps;
926
967
  body: BodyElement[];
@@ -1231,6 +1272,12 @@ type PathCmd$1 = {
1231
1272
  y2: number;
1232
1273
  x: number;
1233
1274
  y: number;
1275
+ } | {
1276
+ cmd: 'quadBezTo';
1277
+ x1: number;
1278
+ y1: number;
1279
+ x: number;
1280
+ y: number;
1234
1281
  } | {
1235
1282
  cmd: 'arcTo';
1236
1283
  wr: number;
@@ -1272,11 +1319,20 @@ interface ShapeRun {
1272
1319
  subpaths: PathCmd$1[][];
1273
1320
  presetGeometry?: string | null;
1274
1321
  adjValues?: Array<number | null>;
1275
- fill: ShapeFill | null;
1322
+ fill: ShapeFill$1 | null;
1276
1323
  stroke: string | null;
1277
1324
  strokeWidth?: number;
1325
+ strokeFill?: ShapeStrokeFill | null;
1278
1326
  strokeDash?: string | null;
1279
- strokeCap?: CanvasLineCap | null;
1327
+ strokeCustomDash?: Array<{
1328
+ dash: number;
1329
+ space: number;
1330
+ }>;
1331
+ strokeCap?: 'butt' | 'round' | 'square' | null;
1332
+ strokeJoin?: 'round' | 'bevel' | 'miter' | null;
1333
+ strokeMiterLimit?: number | null;
1334
+ strokeAlignment?: 'ctr' | 'in' | null;
1335
+ strokeCompound?: string | null;
1280
1336
  headEnd?: LineEnd | null;
1281
1337
  tailEnd?: LineEnd | null;
1282
1338
  rotation?: number;
@@ -1349,7 +1405,7 @@ interface ShapeText$1 {
1349
1405
  imageWidthPt?: number;
1350
1406
  imageHeightPt?: number;
1351
1407
  }
1352
- type ShapeFill = {
1408
+ type ShapeFill$1 = {
1353
1409
  fillType: 'solid';
1354
1410
  color: string;
1355
1411
  } | {
@@ -1357,6 +1413,17 @@ type ShapeFill = {
1357
1413
  stops: GradientStop[];
1358
1414
  angle: number;
1359
1415
  gradType: string;
1416
+ scaled?: boolean;
1417
+ path?: string;
1418
+ fillToRect?: FillRect;
1419
+ tileRect?: FillRect;
1420
+ flip?: string;
1421
+ rotWithShape?: boolean;
1422
+ } | {
1423
+ fillType: 'pattern';
1424
+ fg: string;
1425
+ bg: string;
1426
+ preset: string;
1360
1427
  } | {
1361
1428
  fillType: 'image';
1362
1429
  imagePath: string;
@@ -1373,6 +1440,23 @@ type ShapeFill = {
1373
1440
  alpha?: number;
1374
1441
  duotone?: Duotone$1;
1375
1442
  };
1443
+ type ShapeStrokeFill = {
1444
+ fillType: 'gradient';
1445
+ stops: GradientStop[];
1446
+ angle: number;
1447
+ gradType: string;
1448
+ scaled?: boolean;
1449
+ path?: string;
1450
+ fillToRect?: FillRect;
1451
+ tileRect?: FillRect;
1452
+ flip?: string;
1453
+ rotWithShape?: boolean;
1454
+ } | {
1455
+ fillType: 'pattern';
1456
+ fg: string;
1457
+ bg: string;
1458
+ preset: string;
1459
+ };
1376
1460
  interface GradientStop {
1377
1461
  position: number;
1378
1462
  color: string;
@@ -1572,6 +1656,11 @@ interface CellBorders {
1572
1656
  insideV: BorderSpec | null;
1573
1657
  }
1574
1658
  interface DocxTextRunInfo {
1659
+ source?: Readonly<{
1660
+ story: 'body' | 'header' | 'footer' | 'footnote' | 'endnote' | 'textbox';
1661
+ storyInstance: string;
1662
+ path: readonly number[];
1663
+ }>;
1575
1664
  paragraphId?: string;
1576
1665
  text: string;
1577
1666
  x: number;
@@ -1593,7 +1682,6 @@ interface DocxPageRenderOptions {
1593
1682
  width?: number;
1594
1683
  dpr?: number;
1595
1684
  defaultTextColor?: string;
1596
- showTrackChanges?: boolean;
1597
1685
  onTextRun?: (run: DocxTextRunInfo) => void;
1598
1686
  }
1599
1687
  interface DocxRenderedPage {
@@ -1613,8 +1701,13 @@ interface DocxDocumentSession extends AsyncIterable<DocxRenderedPage> {
1613
1701
  pages(options?: DocxPageRenderOptions): AsyncGenerator<DocxRenderedPage, void, void>;
1614
1702
  close(): Promise<void>;
1615
1703
  }
1616
- declare function openDocxDocument(buffer: ArrayBuffer | Uint8Array | Buffer, options: OpenDocxDocumentOptions): Promise<DocxDocumentSession>;
1617
- declare function materializeDocxDocument(buffer: ArrayBuffer | Uint8Array | Buffer, options?: OoxmlNodeSessionOptions): Promise<DocxDocumentModel>;
1704
+ declare function openDocxDocument(buffer: ArrayBuffer | Uint8Array, options: OpenDocxDocumentOptions): Promise<DocxDocumentSession>;
1705
+ declare function materializeDocxDocument(buffer: ArrayBuffer | Uint8Array, options?: OoxmlNodeSessionOptions): Promise<DocxDocumentModel>;
1706
+ type ShapeFill = Exclude<Fill, {
1707
+ fillType: 'image';
1708
+ } | {
1709
+ fillType: 'none';
1710
+ }>;
1618
1711
  interface Workbook {
1619
1712
  sheets: SheetMeta[];
1620
1713
  date1904?: boolean;
@@ -1655,7 +1748,7 @@ interface Worksheet {
1655
1748
  rightToLeft?: boolean;
1656
1749
  outlinePr?: OutlinePr;
1657
1750
  tabColor?: string | null;
1658
- autoFilter?: CellRange | null;
1751
+ autoFilter?: WorksheetCellRange | null;
1659
1752
  hyperlinks?: Hyperlink[];
1660
1753
  commentRefs?: string[];
1661
1754
  comments?: XlsxComment[];
@@ -1686,7 +1779,7 @@ interface PivotTableMetadata {
1686
1779
  status: PivotMetadataStatus;
1687
1780
  extensionUris?: string[];
1688
1781
  }
1689
- interface PivotLocation extends CellRange {
1782
+ interface PivotLocation extends WorksheetCellRange {
1690
1783
  firstHeaderRow: number;
1691
1784
  firstDataRow: number;
1692
1785
  firstDataCol: number;
@@ -1829,7 +1922,7 @@ interface SlicerElementStyle {
1829
1922
  borderColor?: string;
1830
1923
  }
1831
1924
  interface TableInfo {
1832
- range: CellRange;
1925
+ range: WorksheetCellRange;
1833
1926
  styleName: string;
1834
1927
  headerRowCount: number;
1835
1928
  totalsRowCount: number;
@@ -1908,8 +2001,26 @@ interface ShapeInfo {
1908
2001
  flipH?: boolean;
1909
2002
  flipV?: boolean;
1910
2003
  fillColor?: string;
2004
+ fill?: ShapeFill;
1911
2005
  strokeColor?: string;
1912
2006
  strokeWidth: number;
2007
+ strokeFill?: Exclude<Fill, {
2008
+ fillType: 'image';
2009
+ } | {
2010
+ fillType: 'none';
2011
+ }>;
2012
+ strokeDashStyle?: string;
2013
+ strokeCustomDash?: Array<{
2014
+ dash: number;
2015
+ space: number;
2016
+ }>;
2017
+ strokeLineCap?: 'butt' | 'round' | 'square';
2018
+ strokeLineJoin?: 'round' | 'bevel' | 'miter';
2019
+ strokeMiterLimit?: number;
2020
+ strokeAlignment?: 'ctr' | 'in';
2021
+ strokeCmpd?: string;
2022
+ strokeHeadEnd?: ArrowEnd;
2023
+ strokeTailEnd?: ArrowEnd;
1913
2024
  geom: ShapeGeom;
1914
2025
  text?: ShapeText;
1915
2026
  }
@@ -2038,7 +2149,7 @@ interface ImageAnchor {
2038
2149
  alpha?: number;
2039
2150
  duotone?: Duotone;
2040
2151
  }
2041
- interface CellRange {
2152
+ interface WorksheetCellRange {
2042
2153
  top: number;
2043
2154
  left: number;
2044
2155
  bottom: number;
@@ -2052,7 +2163,7 @@ interface Hyperlink {
2052
2163
  display?: string | null;
2053
2164
  }
2054
2165
  interface ConditionalFormat {
2055
- sqref: CellRange[];
2166
+ sqref: WorksheetCellRange[];
2056
2167
  rules: CfRule[];
2057
2168
  }
2058
2169
  type CfRule = {
@@ -2298,9 +2409,9 @@ interface XlsxWorkbookSession {
2298
2409
  worksheetRows(sheetIndex: number): AsyncGenerator<XlsxWorksheetRowChunk, void, void>;
2299
2410
  close(): Promise<void>;
2300
2411
  }
2301
- declare function openXlsxWorkbook(buffer: ArrayBuffer | Uint8Array | Buffer, options?: OpenXlsxWorkbookOptions): Promise<XlsxWorkbookSession>;
2302
- declare function materializeXlsxWorkbookIndex(buffer: ArrayBuffer | Uint8Array | Buffer, options?: OpenXlsxWorkbookOptions): Promise<ParsedWorkbook>;
2303
- declare function materializeXlsxWorksheet(buffer: ArrayBuffer | Uint8Array | Buffer, sheetIndex: number, options?: OpenXlsxWorkbookOptions): Promise<Worksheet>;
2304
- declare function materializeXlsxWorkbook(buffer: ArrayBuffer | Uint8Array | Buffer, options?: OpenXlsxWorkbookOptions): Promise<MaterializedXlsxWorkbook>;
2412
+ declare function openXlsxWorkbook(buffer: ArrayBuffer | Uint8Array, options?: OpenXlsxWorkbookOptions): Promise<XlsxWorkbookSession>;
2413
+ declare function materializeXlsxWorkbookIndex(buffer: ArrayBuffer | Uint8Array, options?: OpenXlsxWorkbookOptions): Promise<ParsedWorkbook>;
2414
+ declare function materializeXlsxWorksheet(buffer: ArrayBuffer | Uint8Array, sheetIndex: number, options?: OpenXlsxWorkbookOptions): Promise<Worksheet>;
2415
+ declare function materializeXlsxWorkbook(buffer: ArrayBuffer | Uint8Array, options?: OpenXlsxWorkbookOptions): Promise<MaterializedXlsxWorkbook>;
2305
2416
  //#endregion
2306
2417
  export { type DeepReadonly, type DocxDocumentSession, type DocxPageRenderOptions, type DocxRenderedPage, type MaterializedXlsxWorkbook, type NodeCanvasFactory, type NodeCanvasLike, type NodeImageLike, OoxmlDecodedImageLimitError, type OoxmlDecodedImageLimitMetric, type OoxmlNodeSessionOptions, type OoxmlResourceLimit, OoxmlResourceLimitError, type OoxmlResourceLimitErrorDetails, type OoxmlResourceLimits, type OoxmlResourceMetrics, type OoxmlResourceMetricsCheckpoint, type OoxmlResourcePolicySnapshot, type OoxmlResourceUsageSnapshot, type OpenDocxDocumentOptions, type OpenPptxPresentationOptions, type OpenXlsxWorkbookOptions, type PptxPresentationSession, type PptxSessionRenderOptions, type ReadonlyParsedWorkbook, type XlsxWorkbookSession, type XlsxWorksheetRowChunk, installImageBitmapShim, installOffscreenCanvasShim, isOoxmlDecodedImageLimitError, materializeDocxDocument, materializePptxPresentation, materializeXlsxWorkbook, materializeXlsxWorkbookIndex, materializeXlsxWorksheet, openDocxDocument, openPptxPresentation, openXlsxWorkbook, renderSlideNode };