@harbour-enterprises/superdoc 0.24.0-next.2 → 0.24.0-next.4

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 (82) hide show
  1. package/dist/chunks/{PdfViewer--Z8scsXq.es.js → PdfViewer-D7C8g2G4.es.js} +1 -1
  2. package/dist/chunks/{PdfViewer-CYiJzT44.cjs → PdfViewer-kOVuv-4I.cjs} +1 -1
  3. package/dist/chunks/blank-docx-ABm6XYAA.es.js +4 -0
  4. package/dist/chunks/blank-docx-DfW3Eeh2.cjs +3 -0
  5. package/dist/chunks/{index-CBSXpA57.cjs → index-BFKwBQjS.cjs} +12 -4
  6. package/dist/chunks/{index-CCf_X9Jy.es.js → index-CnEAVnHQ.es.js} +12 -4
  7. package/dist/chunks/{super-editor.es-CZFQdEKI.cjs → super-editor.es-BmGTQ05x.cjs} +1954 -1216
  8. package/dist/chunks/{super-editor.es-BFco6Gra.es.js → super-editor.es-CBPoWvjs.es.js} +1954 -1216
  9. package/dist/core/SuperDoc.d.ts.map +1 -1
  10. package/dist/core/types/index.d.ts.map +1 -1
  11. package/dist/style.css +32 -31
  12. package/dist/super-editor/ai-writer.es.js +2 -2
  13. package/dist/super-editor/chunks/{converter-nWAUAQ83.js → converter-DpPj67OW.js} +1537 -1175
  14. package/dist/super-editor/chunks/{docx-zipper-B2uMUaj9.js → docx-zipper-6Kc95yG-.js} +1 -1
  15. package/dist/super-editor/chunks/{editor-DAyiX5AL.js → editor-Dx6AhT5N.js} +454 -57
  16. package/dist/super-editor/chunks/{toolbar-LmzuO_YJ.js → toolbar-CXSg2lJ9.js} +2 -2
  17. package/dist/super-editor/converter.es.js +1 -1
  18. package/dist/super-editor/docx-zipper.es.js +2 -2
  19. package/dist/super-editor/editor.es.js +3 -3
  20. package/dist/super-editor/file-zipper.es.js +1 -1
  21. package/dist/super-editor/style.css +5 -4
  22. package/dist/super-editor/super-editor/src/core/Editor.d.ts +11 -0
  23. package/dist/super-editor/super-editor/src/core/helpers/canRenderFont.d.ts +12 -0
  24. package/dist/super-editor/super-editor/src/core/super-converter/SuperConverter.d.ts +6 -1
  25. package/dist/super-editor/super-editor/src/core/super-converter/helpers.d.ts +23 -1
  26. package/dist/super-editor/super-editor/src/core/super-converter/v2/importer/docxImporter.d.ts +3 -1
  27. package/dist/super-editor/super-editor/src/core/super-converter/v2/importer/tableImporter.d.ts +5 -3
  28. package/dist/super-editor/super-editor/src/core/super-converter/v2/importer/trackChangesImporter.d.ts +5 -0
  29. package/dist/super-editor/super-editor/src/core/super-converter/v2/importer/types/index.d.ts +5 -0
  30. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/helpers.d.ts +1 -0
  31. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/utils.d.ts +9 -0
  32. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/w/del/del-translator.d.ts +7 -0
  33. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/w/del/index.d.ts +1 -0
  34. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/w/gridSpan/gridSpan-translator.d.ts +6 -0
  35. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/w/gridSpan/index.d.ts +1 -0
  36. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/w/header/header-translator.d.ts +6 -0
  37. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/w/header/index.d.ts +1 -0
  38. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/w/headers/headers-translator.d.ts +7 -0
  39. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/w/headers/index.d.ts +1 -0
  40. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/w/hideMark/hideMark-translator.d.ts +6 -0
  41. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/w/hideMark/index.d.ts +1 -0
  42. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/w/ins/index.d.ts +1 -0
  43. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/w/ins/ins-translator.d.ts +7 -0
  44. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/w/noWrap/index.d.ts +1 -0
  45. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/w/noWrap/noWrap-translator.d.ts +6 -0
  46. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/w/shd/shd-translator.d.ts +1 -1
  47. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/w/tc/helpers/translate-table-cell.d.ts +0 -5
  48. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/w/tcBorders/index.d.ts +1 -0
  49. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/w/tcBorders/tcBorders-translator.d.ts +6 -0
  50. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/w/tcFitText/index.d.ts +1 -0
  51. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/w/tcFitText/tcFitText-translator.d.ts +6 -0
  52. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/w/tcMar/index.d.ts +1 -0
  53. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/w/tcMar/tcMar-translator.d.ts +6 -0
  54. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/w/tcPr/index.d.ts +1 -0
  55. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/w/tcPr/tcPr-translator.d.ts +5 -0
  56. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/w/tcW/index.d.ts +1 -0
  57. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/w/tcW/tcW-translator.d.ts +6 -0
  58. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/w/textDirection/index.d.ts +1 -0
  59. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/w/textDirection/textDirection-translator.d.ts +6 -0
  60. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/w/tl2br/index.d.ts +1 -0
  61. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/w/tl2br/tl2br-translator.d.ts +6 -0
  62. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/w/tr2bl/index.d.ts +1 -0
  63. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/w/tr2bl/tr2bl-translator.d.ts +6 -0
  64. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/w/vAlign/index.d.ts +1 -0
  65. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/w/vAlign/vAlign-translator.d.ts +6 -0
  66. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/w/vMerge/index.d.ts +1 -0
  67. package/dist/super-editor/super-editor/src/core/super-converter/v3/handlers/w/vMerge/vMerge-translator.d.ts +6 -0
  68. package/dist/super-editor/super-editor/src/extensions/image/image.d.ts +1 -1
  69. package/dist/super-editor/super-editor/src/extensions/image/imageHelpers/index.d.ts +1 -0
  70. package/dist/super-editor/super-editor/src/extensions/image/imageHelpers/legacyAttributes.d.ts +17 -0
  71. package/dist/super-editor/super-editor/src/extensions/table-cell/table-cell.d.ts +112 -0
  72. package/dist/super-editor/super-editor.es.js +91 -76
  73. package/dist/super-editor/toolbar.es.js +2 -2
  74. package/dist/super-editor.cjs +1 -1
  75. package/dist/super-editor.es.js +1 -1
  76. package/dist/superdoc.cjs +3 -3
  77. package/dist/superdoc.es.js +3 -3
  78. package/dist/superdoc.umd.js +1964 -1218
  79. package/dist/superdoc.umd.js.map +1 -1
  80. package/package.json +1 -1
  81. package/dist/chunks/blank-docx-CPqX9RF5.cjs +0 -3
  82. package/dist/chunks/blank-docx-iwdyG9RH.es.js +0 -4
@@ -439,6 +439,7 @@ a {
439
439
  -webkit-font-variant-ligatures: none;
440
440
  font-variant-ligatures: none;
441
441
  font-feature-settings: 'liga' 0; /* the above doesn't seem to work in Edge */
442
+ z-index: 0; /* Needed to place images behind text with lower z-index */
442
443
  }
443
444
  .ProseMirror pre {
444
445
  white-space: pre-wrap;
@@ -551,8 +552,8 @@ img.ProseMirror-separator {
551
552
  border-bottom: 1px solid #000;
552
553
  margin-bottom: 1.5px;
553
554
  }
554
- /*
555
- Tables
555
+ /*
556
+ Tables
556
557
  https://github.com/ProseMirror/prosemirror-tables/blob/master/style/tables.css
557
558
  https://github.com/ProseMirror/prosemirror-tables/blob/master/demo/index.html
558
559
  */
@@ -568,8 +569,8 @@ https://github.com/ProseMirror/prosemirror-tables/blob/master/demo/index.html
568
569
  scrollbar-width: thin;
569
570
  overflow: hidden;
570
571
 
571
- /*
572
- The border width does not need to be multiplied by two,
572
+ /*
573
+ The border width does not need to be multiplied by two,
573
574
  for tables it works differently. */
574
575
  width: calc(100% + (var(--table-border-width) + var(--offset)));
575
576
  }
@@ -82,6 +82,7 @@
82
82
  * @property {Function} [onPaginationUpdate] - Called when pagination updates
83
83
  * @property {Function} [onException] - Called when an exception occurs
84
84
  * @property {Function} [onListDefinitionsChange] - Called when list definitions change
85
+ * @property {Function} [onFontsResolved] - Called when all fonts used in the document are determined
85
86
  * @property {Function} [handleImageUpload] - Handler for image uploads
86
87
  * @property {Object} [telemetry] - Telemetry configuration
87
88
  * @property {boolean} [suppressDefaultDocxStyles] - Prevent default styles from being applied in docx mode
@@ -173,6 +174,11 @@ export class Editor extends EventEmitter {
173
174
  * @type {boolean}
174
175
  */
175
176
  isFocused: boolean;
177
+ /**
178
+ * All the embedded fonts that were imported by the Editor
179
+ * @type {string[]}
180
+ */
181
+ fontsImported: string[];
176
182
  options: {
177
183
  element: any;
178
184
  selector: any;
@@ -232,6 +238,7 @@ export class Editor extends EventEmitter {
232
238
  onPaginationUpdate: () => any;
233
239
  onException: () => any;
234
240
  onListDefinitionsChange: () => any;
241
+ onFontsResolved: any;
235
242
  handleImageUpload: any;
236
243
  telemetry: any;
237
244
  customUpdatedFiles: {};
@@ -850,6 +857,10 @@ export type EditorOptions = {
850
857
  * - Called when list definitions change
851
858
  */
852
859
  onListDefinitionsChange?: Function;
860
+ /**
861
+ * - Called when all fonts used in the document are determined
862
+ */
863
+ onFontsResolved?: Function;
853
864
  /**
854
865
  * - Handler for image uploads
855
866
  */
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Checks if a given font can be rendered on the browser
3
+ *
4
+ * @param {string} fontName - The name of the font to check for availability.
5
+ * @returns {boolean} True if the font can be rendered, false otherwise.
6
+ *
7
+ * @example
8
+ * if (canRenderFont('Arial')) {
9
+ * // Use Arial font
10
+ * }
11
+ */
12
+ export function canRenderFont(fontName: string, fallbackFont?: string): boolean;
@@ -89,6 +89,7 @@ export class SuperConverter {
89
89
  fonts: any;
90
90
  addedMedia: {};
91
91
  comments: any[];
92
+ inlineDocumentFonts: any[];
92
93
  docHiglightColors: Set<any>;
93
94
  xml: any;
94
95
  numbering: {};
@@ -155,7 +156,11 @@ export class SuperConverter {
155
156
  */
156
157
  promoteToGuid(): any;
157
158
  getDocumentDefaultStyles(): {};
158
- getDocumentFonts(): string;
159
+ getDocumentFonts(): any[];
160
+ getFontFaceImportString(): {
161
+ styleString: string;
162
+ fontsImported: any[];
163
+ };
159
164
  getDocumentInternalId(): void;
160
165
  createDocumentIdElement(): {
161
166
  type: string;
@@ -2,6 +2,8 @@ export function inchesToTwips(inches: any): number;
2
2
  export function twipsToInches(twips: any): number;
3
3
  export function twipsToPixels(twips: any): number;
4
4
  export function pixelsToTwips(pixels: any): number;
5
+ export function pixelsToInches(pixels: any): number;
6
+ export function inchesToPixels(inches: any): number;
5
7
  export function twipsToLines(twips: any): number;
6
8
  export function linesToTwips(lines: any): number;
7
9
  export function halfPointToPixels(halfPoints: any): number;
@@ -9,10 +11,28 @@ export function emuToPixels(emu: any): number;
9
11
  export function pixelsToEmu(px: any): number;
10
12
  export function pixelsToHalfPoints(pixels: any): number;
11
13
  export function halfPointToPoints(halfPoints: any): number;
12
- export function eigthPointsToPixels(eigthPoints: any): number;
14
+ export function eighthPointsToPixels(eighthPoints: any): number;
13
15
  export function pixelsToEightPoints(pixels: any): number;
14
16
  export function rotToDegrees(rot: any): number;
15
17
  export function degreesToRot(degrees: any): number;
18
+ /**
19
+ * Converts an array of pixel coordinates to a DOCX polygon node.
20
+ * Automatically adds a closing wp:lineTo element that connects back to the starting point,
21
+ * ensuring the polygon is properly closed in the DOCX format.
22
+ *
23
+ * @param {Array<[number, number]>} points - Array of [x, y] pixel coordinate pairs
24
+ * @returns {Object|null} DOCX polygon node with wp:start and wp:lineTo elements, or null if invalid input
25
+ */
26
+ export function objToPolygon(points: Array<[number, number]>): any | null;
27
+ /**
28
+ * Converts a DOCX polygon node to an array of pixel coordinates.
29
+ * Automatically removes duplicate closing points that are the same as the starting point,
30
+ * since polygons are assumed to be closed shapes.
31
+ *
32
+ * @param {Object} polygonNode - The polygon node from DOCX XML with wp:start and wp:lineTo elements
33
+ * @returns {Array<[number, number]>|null} Array of [x, y] pixel coordinate pairs, or null if invalid input
34
+ */
35
+ export function polygonToObj(polygonNode: any): Array<[number, number]> | null;
16
36
  export function getArrayBufferFromUrl(input: any, isHeadless: any): Promise<ArrayBuffer>;
17
37
  export function getContentTypesFromXml(contentTypesXml: any): string[];
18
38
  export function getHexColorFromDocxSystem(docxColor: any): string;
@@ -35,3 +55,5 @@ export function hasSomeParentWithClass(element: any, classname: any): any;
35
55
  * @returns {number} - The export value in twips
36
56
  */
37
57
  export function getTextIndentExportValue(indent: string | number): number;
58
+ export function polygonUnitsToPixels(pu: any): number;
59
+ export function pixelsToPolygonUnits(pixels: any): number;
@@ -29,7 +29,7 @@ export function createDocumentJson(docx: ParsedDocx, converter: SuperConverter,
29
29
  pageStyles: any;
30
30
  } | null;
31
31
  export function defaultNodeListHandler(): {
32
- handler: ({ nodes: elements, docx, insideTrackChange, converter, editor, filename, parentStyleId, lists, path, }: {
32
+ handler: ({ nodes: elements, docx, insideTrackChange, converter, editor, filename, parentStyleId, lists, inlineDocumentFonts, path, }: {
33
33
  nodes: any;
34
34
  docx: any;
35
35
  insideTrackChange: any;
@@ -38,6 +38,7 @@ export function defaultNodeListHandler(): {
38
38
  filename: any;
39
39
  parentStyleId: any;
40
40
  lists: any;
41
+ inlineDocumentFonts: any;
41
42
  path?: any[];
42
43
  }) => any[];
43
44
  handlerEntities: any[];
@@ -46,6 +47,7 @@ export type XmlNode = import(any);
46
47
  export type PmNodeJson = {
47
48
  type: string;
48
49
  content: any;
50
+ marks: any;
49
51
  attrs: {};
50
52
  };
51
53
  export type PmMarkJson = {
@@ -3,14 +3,16 @@
3
3
  * @param tblStyleTag
4
4
  * @param {ParsedDocx} docx
5
5
  * @param {NodeListHandler} nodeListHandler
6
- * @returns {{uiPriotity: *, borders: {}, name: *, rowBorders: {}, basedOn: *}|null}
6
+ * @returns {{borders: {}, name: *, rowBorders: {}, fonts: *, justification: *, cellMargins: {}, fontSize: *}|null}
7
7
  */
8
8
  export function getReferencedTableStyles(tblStyleTag: any, docx: ParsedDocx): {
9
- uiPriotity: any;
10
9
  borders: {};
11
10
  name: any;
12
11
  rowBorders: {};
13
- basedOn: any;
12
+ fonts: any;
13
+ justification: any;
14
+ cellMargins: {};
15
+ fontSize: any;
14
16
  } | null;
15
17
  /**
16
18
  * @type {import("docxImporter").NodeHandlerEntry}
@@ -6,3 +6,8 @@ export const handleTrackChangeNode: any;
6
6
  * @type {import("docxImporter").NodeHandlerEntry}
7
7
  */
8
8
  export const trackChangeNodeHandlerEntity: any;
9
+ export namespace __testables__ {
10
+ export { unwrapTrackChangeNode };
11
+ }
12
+ declare function unwrapTrackChangeNode(node: any): any;
13
+ export {};
@@ -35,6 +35,10 @@ export type NodeHandlerParams = {
35
35
  * - The imported lists object
36
36
  */
37
37
  lists?: any;
38
+ /**
39
+ * - The inline fonts found in the document
40
+ */
41
+ inlineDocumentFonts?: string[];
38
42
  /**
39
43
  * - The path of nodes leading to the current node.
40
44
  */
@@ -49,6 +53,7 @@ export type PmNodeJson = {
49
53
  type: string;
50
54
  content: any;
51
55
  attrs: {};
56
+ marks: any;
52
57
  sdNodeOrKeyName: string;
53
58
  };
54
59
  export type PmMarkJson = {
@@ -0,0 +1 @@
1
+ export function createTrackStyleMark(marks: any[]): any | undefined;
@@ -37,6 +37,15 @@ export function encodeProperties(node?: object, translatorsByXmlName?: object, a
37
37
  * @returns {Array} An array of decoded elements.
38
38
  */
39
39
  export function decodeProperties(translatorsBySdName?: object, properties?: object): any[];
40
+ /**
41
+ * Helper to create property handlers for nested properties (eg: w:tcBorders => borders)
42
+ * @param {string} xmlName The XML element name (with namespace).
43
+ * @param {string} sdName The SuperDoc attribute name (without namespace).
44
+ * @param {import('@translator').NodeTranslatorConfig[]} propertyTranslators An array of property translators to handle nested properties.
45
+ * @param {object} [defaultEncodedAttrs={}] Optional default attributes to include during encoding.
46
+ * @returns {import('@translator').NodeTranslatorConfig} The nested property handler config with xmlName, sdName, encode, and decode functions.
47
+ */
48
+ export function createNestedPropertiesTranslator(xmlName: string, sdName: string, propertyTranslators: import("@translator").NodeTranslatorConfig[], defaultEncodedAttrs?: object): import("@translator").NodeTranslatorConfig;
40
49
  export function generateV2HandlerEntity(handlerName: string, translator: import("../node-translator/").NodeTranslator): import("../../v2/importer/docxImporter").NodeHandlerEntry;
41
50
  export function createAttributeHandler(xmlName?: string, sdName?: string | null, transformEncode?: any, transformDecode?: any): import("@translator").AttrConfig;
42
51
  export function parseBoolean(value: string): boolean | undefined;
@@ -0,0 +1,7 @@
1
+ /** @type {import('@translator').NodeTranslatorConfig} */
2
+ export const config: import("@translator").NodeTranslatorConfig;
3
+ /**
4
+ * The NodeTranslator instance for the w:b element.
5
+ * @type {import('@translator').NodeTranslator}
6
+ */
7
+ export const translator: import("@translator").NodeTranslator;
@@ -0,0 +1 @@
1
+ export * from "./del-translator.js";
@@ -0,0 +1,6 @@
1
+ /**
2
+ * The NodeTranslator instance for the w:gridSpan element.
3
+ * @type {import('@translator').NodeTranslator}
4
+ * @see {@link https://ecma-international.org/publications-and-standards/standards/ecma-376/} "Fundamentals And Markup Language Reference", page 399
5
+ */
6
+ export const translator: import("@translator").NodeTranslator;
@@ -0,0 +1 @@
1
+ export * from "./gridSpan-translator.js";
@@ -0,0 +1,6 @@
1
+ /**
2
+ * The NodeTranslator instance for the w:header element.
3
+ * @type {import('@translator').NodeTranslator}
4
+ * @see {@link https://ecma-international.org/publications-and-standards/standards/ecma-376/} "Fundamentals And Markup Language Reference", page 401
5
+ */
6
+ export const translator: import("@translator").NodeTranslator;
@@ -0,0 +1 @@
1
+ export * from "./header-translator.js";
@@ -0,0 +1,7 @@
1
+ /** @type {import('@translator').NodeTranslatorConfig} */
2
+ export const config: import("@translator").NodeTranslatorConfig;
3
+ /**
4
+ * The NodeTranslator instance for the w:headers element.
5
+ * @type {import('@translator').NodeTranslator}
6
+ */
7
+ export const translator: import("@translator").NodeTranslator;
@@ -0,0 +1 @@
1
+ export * from "./headers-translator.js";
@@ -0,0 +1,6 @@
1
+ /**
2
+ * The NodeTranslator instance for the w:hideMark element.
3
+ * @type {import('@translator').NodeTranslator}
4
+ * @see {@link https://ecma-international.org/publications-and-standards/standards/ecma-376/} "Fundamentals And Markup Language Reference", page 413
5
+ */
6
+ export const translator: import("@translator").NodeTranslator;
@@ -0,0 +1 @@
1
+ export * from "./hideMark-translator.js";
@@ -0,0 +1 @@
1
+ export * from "./ins-translator.js";
@@ -0,0 +1,7 @@
1
+ /** @type {import('@translator').NodeTranslatorConfig} */
2
+ export const config: import("@translator").NodeTranslatorConfig;
3
+ /**
4
+ * The NodeTranslator instance for the w:b element.
5
+ * @type {import('@translator').NodeTranslator}
6
+ */
7
+ export const translator: import("@translator").NodeTranslator;
@@ -0,0 +1 @@
1
+ export * from "./noWrap-translator.js";
@@ -0,0 +1,6 @@
1
+ /**
2
+ * The NodeTranslator instance for the noWrap element.
3
+ * @type {import('@translator').NodeTranslator}
4
+ * @see {@link https://ecma-international.org/publications-and-standards/standards/ecma-376/} "Fundamentals And Markup Language Reference", page 413
5
+ */
6
+ export const translator: import("@translator").NodeTranslator;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * The NodeTranslator instance for the gridBefore element.
2
+ * The NodeTranslator instance for the w:shd element.
3
3
  * @type {import('@translator').NodeTranslator}
4
4
  * @see {@link https://ecma-international.org/publications-and-standards/standards/ecma-376/} "Fundamentals And Markup Language Reference", page 416
5
5
  */
@@ -10,8 +10,3 @@ export function translateTableCell(params: import("@converter/exporter").ExportP
10
10
  * @returns {import('@converter/exporter').XmlReadyNode}
11
11
  */
12
12
  export function generateTableCellProperties(node: import("@converter/exporter").SchemaNode): import("@converter/exporter").XmlReadyNode;
13
- /**
14
- * @param {Object} cellMargins
15
- * @returns {Array}
16
- */
17
- export function generateCellMargins(cellMargins: any): any[];
@@ -0,0 +1 @@
1
+ export * from "./tcBorders-translator.js";
@@ -0,0 +1,6 @@
1
+ /**
2
+ * The NodeTranslator instance for the tcBorders element.
3
+ * @type {import('@translator').NodeTranslator}
4
+ * @see {@link https://ecma-international.org/publications-and-standards/standards/ecma-376/} "Fundamentals And Markup Language Reference", page 459
5
+ */
6
+ export const translator: import("@translator").NodeTranslator;
@@ -0,0 +1 @@
1
+ export * from "./tcFitText-translator.js";
@@ -0,0 +1,6 @@
1
+ /**
2
+ * The NodeTranslator instance for the w:tcFitText element.
3
+ * @type {import('@translator').NodeTranslator}
4
+ * @see {@link https://ecma-international.org/publications-and-standards/standards/ecma-376/} "Fundamentals And Markup Language Reference", page 460
5
+ */
6
+ export const translator: import("@translator").NodeTranslator;
@@ -0,0 +1 @@
1
+ export * from "./tcMar-translator.js";
@@ -0,0 +1,6 @@
1
+ /**
2
+ * The NodeTranslator instance for the w:tcMar element.
3
+ * @type {import('@translator').NodeTranslator}
4
+ * @see {@link https://ecma-international.org/publications-and-standards/standards/ecma-376/} "Fundamentals And Markup Language Reference", page 462
5
+ */
6
+ export const translator: import("@translator").NodeTranslator;
@@ -0,0 +1 @@
1
+ export * from "./tcPr-translator.js";
@@ -0,0 +1,5 @@
1
+ /**
2
+ * The NodeTranslator instance for the w:tcPr element.
3
+ * @type {import('@translator').NodeTranslator}
4
+ */
5
+ export const translator: import("@translator").NodeTranslator;
@@ -0,0 +1 @@
1
+ export * from "./tcW-translator.js";
@@ -0,0 +1,6 @@
1
+ /**
2
+ * The NodeTranslator instance for the w:tcW element.
3
+ * @type {import('@translator').NodeTranslator}
4
+ * @see {@link https://ecma-international.org/publications-and-standards/standards/ecma-376/} "Fundamentals And Markup Language Reference", page 465
5
+ */
6
+ export const translator: import("@translator").NodeTranslator;
@@ -0,0 +1 @@
1
+ export * from "./textDirection-translator.js";
@@ -0,0 +1,6 @@
1
+ /**
2
+ * The NodeTranslator instance for the w:textDirection element.
3
+ * @type {import('@translator').NodeTranslator}
4
+ * @see {@link https://ecma-international.org/publications-and-standards/standards/ecma-376/} "Fundamentals And Markup Language Reference", page 258
5
+ */
6
+ export const translator: import("@translator").NodeTranslator;
@@ -0,0 +1 @@
1
+ export * from "./tl2br-translator.js";
@@ -0,0 +1,6 @@
1
+ /**
2
+ * The NodeTranslator instance for the w:tl2br element.
3
+ * @type {import('@translator').NodeTranslator}
4
+ * @see {@link https://ecma-international.org/publications-and-standards/standards/ecma-376/} "Fundamentals And Markup Language Reference", page 468
5
+ */
6
+ export const translator: import("@translator").NodeTranslator;
@@ -0,0 +1 @@
1
+ export * from "./tr2bl-translator.js";
@@ -0,0 +1,6 @@
1
+ /**
2
+ * The NodeTranslator instance for the w:tr2bl element.
3
+ * @type {import('@translator').NodeTranslator}
4
+ * @see {@link https://ecma-international.org/publications-and-standards/standards/ecma-376/} "Fundamentals And Markup Language Reference", page 473
5
+ */
6
+ export const translator: import("@translator").NodeTranslator;
@@ -0,0 +1 @@
1
+ export * from "./vAlign-translator.js";
@@ -0,0 +1,6 @@
1
+ /**
2
+ * The NodeTranslator instance for the w:vAlign element.
3
+ * @type {import('@translator').NodeTranslator}
4
+ * @see {@link https://ecma-international.org/publications-and-standards/standards/ecma-376/} "Fundamentals And Markup Language Reference", page 478
5
+ */
6
+ export const translator: import("@translator").NodeTranslator;
@@ -0,0 +1 @@
1
+ export * from "./vMerge-translator.js";
@@ -0,0 +1,6 @@
1
+ /**
2
+ * The NodeTranslator instance for the w:vMerge element.
3
+ * @type {import('@translator').NodeTranslator}
4
+ * @see {@link https://ecma-international.org/publications-and-standards/standards/ecma-376/} "Fundamentals And Markup Language Reference", page 479
5
+ */
6
+ export const translator: import("@translator").NodeTranslator;
@@ -21,7 +21,7 @@
21
21
  * @property {number} [padding.bottom] - Bottom padding in pixels
22
22
  * @property {number} [padding.right] - Right padding in pixels
23
23
  * @property {Object} [marginOffset] - Margin offset for anchored images
24
- * @property {number} [marginOffset.left] - Left margin offset
24
+ * @property {number} [marginOffset.horizontal] - Left/right margin offset
25
25
  * @property {number} [marginOffset.top] - Top margin offset
26
26
  * @property {string} [style] - Custom inline CSS styles
27
27
  * @property {string} [id] @internal Image element ID
@@ -6,3 +6,4 @@ export * from "./processUploadedImage.js";
6
6
  export * from "./imagePositionPlugin.js";
7
7
  export * from "./fileNameUtils.js";
8
8
  export * from "./rotation.js";
9
+ export * from "./legacyAttributes.js";
@@ -0,0 +1,17 @@
1
+ export function normalizeWrap(attrs?: any): {
2
+ type: string;
3
+ attrs: Record<string, any>;
4
+ };
5
+ export function normalizeMarginOffset(marginOffset?: any): {
6
+ horizontal?: number;
7
+ top?: number;
8
+ right?: number;
9
+ bottom?: number;
10
+ };
11
+ export function getNormalizedImageAttrs(attrs?: any): {
12
+ wrap: {
13
+ type: string;
14
+ attrs: Record<string, any>;
15
+ };
16
+ marginOffset: Record<string, any>;
17
+ };
@@ -37,6 +37,118 @@
37
37
  * @snippetPath /snippets/extensions/table-cell.mdx
38
38
  */
39
39
  export const TableCell: Node;
40
+ /**
41
+ * Conditional formatting properties
42
+ */
43
+ export type CnfStyle = {
44
+ /**
45
+ * - Specifies that the first row conditional formatting should be applied
46
+ */
47
+ firstRow?: boolean;
48
+ /**
49
+ * - Specifies that the last row conditional formatting should be applied
50
+ */
51
+ lastRow?: boolean;
52
+ /**
53
+ * - Specifies that the first column conditional formatting should be applied
54
+ */
55
+ firstColumn?: boolean;
56
+ /**
57
+ * - Specifies that the last column conditional formatting should be applied
58
+ */
59
+ lastColumn?: boolean;
60
+ /**
61
+ * - Specifies that odd vertical banding conditional formatting should be applied
62
+ */
63
+ oddVBand?: boolean;
64
+ /**
65
+ * - Specifies that even vertical banding conditional formatting should be applied
66
+ */
67
+ evenVBand?: boolean;
68
+ /**
69
+ * - Specifies that odd horizontal banding conditional formatting should be applied
70
+ */
71
+ oddHBand?: boolean;
72
+ /**
73
+ * - Specifies that even horizontal banding conditional formatting should be applied
74
+ */
75
+ evenHBand?: boolean;
76
+ /**
77
+ * - Specifies that the top-left corner cell conditional formatting should be applied
78
+ */
79
+ firstRowFirstColumn?: boolean;
80
+ /**
81
+ * - Specifies that the top-right corner cell conditional formatting should be applied
82
+ */
83
+ firstRowLastColumn?: boolean;
84
+ /**
85
+ * - Specifies that the bottom-left corner cell conditional formatting should be applied
86
+ */
87
+ lastRowFirstColumn?: boolean;
88
+ /**
89
+ * - Specifies that the bottom-right corner cell conditional formatting should be applied
90
+ */
91
+ lastRowLastColumn?: boolean;
92
+ };
93
+ /**
94
+ * Table Cell Properties
95
+ */
96
+ export type TableCellProperties = {
97
+ /**
98
+ * - Conditional formatting properties
99
+ */
100
+ cnfStyle?: CnfStyle;
101
+ /**
102
+ * - Cell width
103
+ */
104
+ cellWidth?: import("../table/table.js").TableMeasurement;
105
+ /**
106
+ * - Number of grid columns spanned by the cell
107
+ */
108
+ gridSpan?: number;
109
+ /**
110
+ * - Vertical merge setting
111
+ */
112
+ vMerge?: "restart" | "continue";
113
+ /**
114
+ * - Cell border properties
115
+ */
116
+ borders?: import("../table/table.js").TableBorders;
117
+ /**
118
+ * - Cell shading properties
119
+ */
120
+ shading?: import("../table/table.js").ShadingProperties;
121
+ /**
122
+ * - Specifies that the cell content should not wrap
123
+ */
124
+ noWrap?: boolean;
125
+ /**
126
+ * - Cell margin properties
127
+ */
128
+ cellMargins?: import("../table/table.js").TableCellMargins;
129
+ /**
130
+ * - Text direction
131
+ */
132
+ textDirection?: "btLr" | "tbRl";
133
+ /**
134
+ * - Specifies that the cell content should be fit to the cell
135
+ */
136
+ tcFitText?: boolean;
137
+ /**
138
+ * - Vertical alignment
139
+ */
140
+ vAlign?: "top" | "center" | "bottom";
141
+ /**
142
+ * - Specifies that the cell mark should be hidden
143
+ */
144
+ hideMark?: boolean;
145
+ /**
146
+ * - This element specifies a list of references, using a unique identifier, to a table header cell that is associated with the current table cell
147
+ */
148
+ headers?: {
149
+ header: string;
150
+ }[];
151
+ };
40
152
  /**
41
153
  * Cell margins configuration
42
154
  */