@syncfusion/ej2-office-common 35.1.37

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 (147) hide show
  1. package/.eslintrc.json +263 -0
  2. package/.prettierrc.json +5 -0
  3. package/README.md +167 -0
  4. package/api-extractor.json +35 -0
  5. package/core.js +4 -0
  6. package/dist/ej2-office-common.umd.min.js +11 -0
  7. package/dist/ej2-office-common.umd.min.js.map +1 -0
  8. package/dist/es6/ej2-office-common.es2015.js +6585 -0
  9. package/dist/es6/ej2-office-common.es2015.js.map +1 -0
  10. package/dist/es6/ej2-office-common.es5.js +7955 -0
  11. package/dist/es6/ej2-office-common.es5.js.map +1 -0
  12. package/dist/global/ej2-office-common.min.js +11 -0
  13. package/dist/global/ej2-office-common.min.js.map +1 -0
  14. package/dist/global/index.d.ts +14 -0
  15. package/encryption.js +4 -0
  16. package/features.js +4 -0
  17. package/global.json +6 -0
  18. package/index.js +4 -0
  19. package/license +10 -0
  20. package/nuget.config +7 -0
  21. package/package.json +23 -0
  22. package/src/all.d.ts +41 -0
  23. package/src/all.js +38 -0
  24. package/src/core/index.d.ts +6 -0
  25. package/src/core/index.js +6 -0
  26. package/src/core/xml/index.d.ts +7 -0
  27. package/src/core/xml/index.js +6 -0
  28. package/src/core/xml/model.d.ts +71 -0
  29. package/src/core/xml/model.js +20 -0
  30. package/src/encryption/agile-constants.d.ts +61 -0
  31. package/src/encryption/agile-constants.js +71 -0
  32. package/src/encryption/agile-encryption-info.d.ts +46 -0
  33. package/src/encryption/agile-encryption-info.js +333 -0
  34. package/src/encryption/agile-password.d.ts +8 -0
  35. package/src/encryption/agile-password.js +58 -0
  36. package/src/encryption/cfb-reader.d.ts +11 -0
  37. package/src/encryption/cfb-reader.js +345 -0
  38. package/src/encryption/crypto-primitives.d.ts +74 -0
  39. package/src/encryption/crypto-primitives.js +302 -0
  40. package/src/encryption/decrypt-encrypted-package.d.ts +16 -0
  41. package/src/encryption/decrypt-encrypted-package.js +138 -0
  42. package/src/encryption/encryption-info-xml.d.ts +21 -0
  43. package/src/encryption/encryption-info-xml.js +282 -0
  44. package/src/encryption/errors.d.ts +66 -0
  45. package/src/encryption/errors.js +124 -0
  46. package/src/encryption/index.d.ts +35 -0
  47. package/src/encryption/index.js +100 -0
  48. package/src/features/diagrams/constants.d.ts +83 -0
  49. package/src/features/diagrams/constants.js +101 -0
  50. package/src/features/diagrams/diagram-data-model.d.ts +148 -0
  51. package/src/features/diagrams/diagram-data-model.js +446 -0
  52. package/src/features/diagrams/diagram-parsers.d.ts +28 -0
  53. package/src/features/diagrams/diagram-parsers.js +182 -0
  54. package/src/features/diagrams/diagram-serializers.d.ts +20 -0
  55. package/src/features/diagrams/diagram-serializers.js +110 -0
  56. package/src/features/diagrams/diagram-views.d.ts +60 -0
  57. package/src/features/diagrams/diagram-views.js +213 -0
  58. package/src/features/diagrams/element-tree.d.ts +55 -0
  59. package/src/features/diagrams/element-tree.js +197 -0
  60. package/src/features/diagrams/errors.d.ts +17 -0
  61. package/src/features/diagrams/errors.js +59 -0
  62. package/src/features/diagrams/index.d.ts +17 -0
  63. package/src/features/diagrams/index.js +17 -0
  64. package/src/features/diagrams/smart-art-catalog.d.ts +107 -0
  65. package/src/features/diagrams/smart-art-catalog.js +422 -0
  66. package/src/features/diagrams/smart-art-diagram.d.ts +96 -0
  67. package/src/features/diagrams/smart-art-diagram.js +258 -0
  68. package/src/features/index.d.ts +11 -0
  69. package/src/features/index.js +11 -0
  70. package/src/features/ink/constants.d.ts +54 -0
  71. package/src/features/ink/constants.js +54 -0
  72. package/src/features/ink/index.d.ts +18 -0
  73. package/src/features/ink/index.js +15 -0
  74. package/src/features/ink/ink-effects.d.ts +35 -0
  75. package/src/features/ink/ink-effects.js +45 -0
  76. package/src/features/ink/ink-model.d.ts +237 -0
  77. package/src/features/ink/ink-model.js +406 -0
  78. package/src/features/ink/ink-parser.d.ts +59 -0
  79. package/src/features/ink/ink-parser.js +671 -0
  80. package/src/features/ink/ink-serializer.d.ts +16 -0
  81. package/src/features/ink/ink-serializer.js +281 -0
  82. package/src/features/ink/ink-units.d.ts +33 -0
  83. package/src/features/ink/ink-units.js +92 -0
  84. package/src/features/ink/ink-xml.d.ts +26 -0
  85. package/src/features/ink/ink-xml.js +165 -0
  86. package/src/features/ink/trace-codec.d.ts +127 -0
  87. package/src/features/ink/trace-codec.js +266 -0
  88. package/src/features/mathml/constants.d.ts +47 -0
  89. package/src/features/mathml/constants.js +47 -0
  90. package/src/features/mathml/errors.d.ts +50 -0
  91. package/src/features/mathml/errors.js +69 -0
  92. package/src/features/mathml/index.d.ts +30 -0
  93. package/src/features/mathml/index.js +22 -0
  94. package/src/features/mathml/math-factory.d.ts +26 -0
  95. package/src/features/mathml/math-factory.js +568 -0
  96. package/src/features/mathml/model/controls.d.ts +896 -0
  97. package/src/features/mathml/model/controls.js +1541 -0
  98. package/src/features/mathml/model/enums.d.ts +153 -0
  99. package/src/features/mathml/model/enums.js +133 -0
  100. package/src/features/mathml/model/math-element.d.ts +173 -0
  101. package/src/features/mathml/model/math-element.js +315 -0
  102. package/src/features/mathml/model/roots.d.ts +82 -0
  103. package/src/features/mathml/model/roots.js +177 -0
  104. package/src/features/mathml/openxml.d.ts +56 -0
  105. package/src/features/mathml/openxml.js +87 -0
  106. package/src/features/mathml/parse/math-parser.d.ts +43 -0
  107. package/src/features/mathml/parse/math-parser.js +636 -0
  108. package/src/features/mathml/serialize/math-serializer.d.ts +34 -0
  109. package/src/features/mathml/serialize/math-serializer.js +749 -0
  110. package/src/features/smart-art/diagram-xml.d.ts +63 -0
  111. package/src/features/smart-art/diagram-xml.js +459 -0
  112. package/src/features/smart-art/errors.d.ts +24 -0
  113. package/src/features/smart-art/errors.js +47 -0
  114. package/src/features/smart-art/index.d.ts +26 -0
  115. package/src/features/smart-art/index.js +26 -0
  116. package/src/features/smart-art/minimal-samples.d.ts +18 -0
  117. package/src/features/smart-art/minimal-samples.js +40 -0
  118. package/src/features/smart-art/mutators.d.ts +60 -0
  119. package/src/features/smart-art/mutators.js +566 -0
  120. package/src/features/smart-art/namespaces.d.ts +153 -0
  121. package/src/features/smart-art/namespaces.js +163 -0
  122. package/src/features/smart-art/package-graph.d.ts +61 -0
  123. package/src/features/smart-art/package-graph.js +413 -0
  124. package/src/features/smart-art/parse-colors.d.ts +19 -0
  125. package/src/features/smart-art/parse-colors.js +39 -0
  126. package/src/features/smart-art/parse-data.d.ts +21 -0
  127. package/src/features/smart-art/parse-data.js +121 -0
  128. package/src/features/smart-art/parse-layout.d.ts +20 -0
  129. package/src/features/smart-art/parse-layout.js +40 -0
  130. package/src/features/smart-art/parse-rel-ids.d.ts +71 -0
  131. package/src/features/smart-art/parse-rel-ids.js +233 -0
  132. package/src/features/smart-art/parse-style.d.ts +19 -0
  133. package/src/features/smart-art/parse-style.js +39 -0
  134. package/src/features/smart-art/point-text.d.ts +80 -0
  135. package/src/features/smart-art/point-text.js +424 -0
  136. package/src/features/smart-art/register.d.ts +33 -0
  137. package/src/features/smart-art/register.js +95 -0
  138. package/src/features/smart-art/serialize.d.ts +40 -0
  139. package/src/features/smart-art/serialize.js +48 -0
  140. package/src/features/smart-art/types.d.ts +403 -0
  141. package/src/features/smart-art/types.js +28 -0
  142. package/src/global.js +1 -0
  143. package/src/index.d.ts +21 -0
  144. package/src/index.js +22 -0
  145. package/tsconfig.build.json +13 -0
  146. package/tsconfig.harness.json +32 -0
  147. package/tslint.json +111 -0
@@ -0,0 +1,83 @@
1
+ /**
2
+ * SmartArt / DrawingML diagram constants.
3
+ *
4
+ * Citations:
5
+ * - ECMA-376-1 5th ed. §14.2.3–§14.2.6 (diagram parts)
6
+ * - ECMA-376-1 Part 1 Transitional namespaces (schemas.openxmlformats.org)
7
+ * - ECMA-376 Strict namespaces (purl.oclc.org/ooxml/…)
8
+ * - dml-diagram.xsd CT_RelIds / content types
9
+ * - [MS-ODRAWXML] §2.1.3 / §2.10 diagramDrawing extension
10
+ * - Requirement docs/requirements/smart-art-diagrams.md §16.1–§16.2
11
+ */
12
+ /** DrawingML diagram namespace (Transitional). dml-diagram.xsd targetNamespace. */
13
+ export declare const DGM_NAMESPACE = "http://schemas.openxmlformats.org/drawingml/2006/diagram";
14
+ /** DrawingML diagram namespace (Strict). Accepted on parse only. */
15
+ export declare const DGM_NAMESPACE_STRICT = "http://purl.oclc.org/ooxml/drawingml/diagram";
16
+ /** DrawingML main namespace (Transitional). */
17
+ export declare const A_NAMESPACE = "http://schemas.openxmlformats.org/drawingml/2006/main";
18
+ /** DrawingML main namespace (Strict). Accepted on parse only. */
19
+ export declare const A_NAMESPACE_STRICT = "http://purl.oclc.org/ooxml/drawingml/main";
20
+ /** Office document relationships namespace (Transitional). */
21
+ export declare const R_NAMESPACE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships";
22
+ /** Office document relationships namespace (Strict). Accepted on parse only. */
23
+ export declare const R_NAMESPACE_STRICT = "http://purl.oclc.org/ooxml/officeDocument/relationships";
24
+ /** WordprocessingML namespace (Transitional) — host w:drawing. */
25
+ export declare const W_NAMESPACE = "http://schemas.openxmlformats.org/wordprocessingml/2006/main";
26
+ /** WordprocessingML Drawing (wp:) namespace (Transitional). */
27
+ export declare const WP_NAMESPACE = "http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing";
28
+ /**
29
+ * Microsoft Office Drawing diagram extension namespace (`dsp:`).
30
+ * [MS-ODRAWXML] §2.1.3.
31
+ */
32
+ export declare const DSP_NAMESPACE = "http://schemas.microsoft.com/office/drawing/2008/diagram";
33
+ /**
34
+ * Diagram 2010 extension namespace used by `dgm14:recolorImg`.
35
+ * URI of the extension: C62137D5-CB1D-491b-B009-E17868A290BF
36
+ */
37
+ export declare const DGM14_NAMESPACE = "http://schemas.microsoft.com/office/drawing/2010/diagram";
38
+ /** dgm14:recolorImg extension URI (a:ext/@uri). */
39
+ export declare const DGM14_RECOLOR_IMG_EXT_URI = "C62137D5-CB1D-491b-B009-E17868A290BF";
40
+ /**
41
+ * Microsoft dataModelExt extension URI on dataModel/extLst/a:ext.
42
+ * [MS-ODRAWXML] §2.10.1.1 — Word-observed package shape.
43
+ */
44
+ export declare const MS_DIAGRAM_DATA_MODEL_EXT_URI = "http://schemas.microsoft.com/office/drawing/2008/diagram";
45
+ /**
46
+ * a:graphicData@uri identifying a DrawingML diagram (SmartArt host).
47
+ * ECMA-376 / dml-diagram.xsd; requirement §16.3.
48
+ */
49
+ export declare const DIAGRAM_GRAPHIC_DATA_URI = "http://schemas.openxmlformats.org/drawingml/2006/diagram";
50
+ /** Strict form of DIAGRAM_GRAPHIC_DATA_URI — accepted on read. */
51
+ export declare const DIAGRAM_GRAPHIC_DATA_URI_STRICT = "http://purl.oclc.org/ooxml/drawingml/diagram";
52
+ export declare const DIAGRAM_DATA_CONTENT_TYPE = "application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml";
53
+ export declare const DIAGRAM_LAYOUT_CONTENT_TYPE = "application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml";
54
+ /**
55
+ * Quick style part content type. Note: content type uses `diagramStyle`
56
+ * while the relationship type uses `diagramQuickStyle` (requirement §16.2).
57
+ */
58
+ export declare const DIAGRAM_QUICK_STYLE_CONTENT_TYPE = "application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml";
59
+ export declare const DIAGRAM_COLORS_CONTENT_TYPE = "application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml";
60
+ /** Microsoft cached diagram drawing part. [MS-ODRAWXML] §2.1.3. */
61
+ export declare const DIAGRAM_DRAWING_CONTENT_TYPE = "application/vnd.ms-office.drawingml.diagramDrawing+xml";
62
+ export declare const DIAGRAM_DATA_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramData";
63
+ export declare const DIAGRAM_LAYOUT_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramLayout";
64
+ export declare const DIAGRAM_QUICK_STYLE_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramQuickStyle";
65
+ export declare const DIAGRAM_COLORS_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramColors";
66
+ /** Microsoft cached drawing relationship. [MS-ODRAWXML] §2.1.3. */
67
+ export declare const DIAGRAM_DRAWING_RELATIONSHIP_TYPE = "http://schemas.microsoft.com/office/2007/relationships/diagramDrawing";
68
+ /** Feature id used in run-leaf `{ type: 'feature', featureId: 'diagrams', … }`. */
69
+ export declare const DIAGRAMS_FEATURE_ID = "diagrams";
70
+ /**
71
+ * Soft guards for untrusted diagram graphs (security.md).
72
+ * Surface via typed errors; do not silently truncate.
73
+ */
74
+ export declare const MAX_DIAGRAM_POINTS = 10000;
75
+ export declare const MAX_DIAGRAM_CONNECTIONS = 20000;
76
+ /** True when uri identifies a diagram graphicData (Transitional or Strict). */
77
+ export declare function isDiagramGraphicDataUri(uri: string | null | undefined): boolean;
78
+ /** True when namespace is dgm Transitional or Strict. */
79
+ export declare function isDgmNamespace(ns: string | null | undefined): boolean;
80
+ /** True when namespace is DrawingML main Transitional or Strict. */
81
+ export declare function isANamespace(ns: string | null | undefined): boolean;
82
+ /** True when namespace is relationships Transitional or Strict. */
83
+ export declare function isRNamespace(ns: string | null | undefined): boolean;
@@ -0,0 +1,101 @@
1
+ /**
2
+ * SmartArt / DrawingML diagram constants.
3
+ *
4
+ * Citations:
5
+ * - ECMA-376-1 5th ed. §14.2.3–§14.2.6 (diagram parts)
6
+ * - ECMA-376-1 Part 1 Transitional namespaces (schemas.openxmlformats.org)
7
+ * - ECMA-376 Strict namespaces (purl.oclc.org/ooxml/…)
8
+ * - dml-diagram.xsd CT_RelIds / content types
9
+ * - [MS-ODRAWXML] §2.1.3 / §2.10 diagramDrawing extension
10
+ * - Requirement docs/requirements/smart-art-diagrams.md §16.1–§16.2
11
+ */
12
+ /** DrawingML diagram namespace (Transitional). dml-diagram.xsd targetNamespace. */
13
+ export var DGM_NAMESPACE = 'http://schemas.openxmlformats.org/drawingml/2006/diagram';
14
+ /** DrawingML diagram namespace (Strict). Accepted on parse only. */
15
+ export var DGM_NAMESPACE_STRICT = 'http://purl.oclc.org/ooxml/drawingml/diagram';
16
+ /** DrawingML main namespace (Transitional). */
17
+ export var A_NAMESPACE = 'http://schemas.openxmlformats.org/drawingml/2006/main';
18
+ /** DrawingML main namespace (Strict). Accepted on parse only. */
19
+ export var A_NAMESPACE_STRICT = 'http://purl.oclc.org/ooxml/drawingml/main';
20
+ /** Office document relationships namespace (Transitional). */
21
+ export var R_NAMESPACE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships';
22
+ /** Office document relationships namespace (Strict). Accepted on parse only. */
23
+ export var R_NAMESPACE_STRICT = 'http://purl.oclc.org/ooxml/officeDocument/relationships';
24
+ /** WordprocessingML namespace (Transitional) — host w:drawing. */
25
+ export var W_NAMESPACE = 'http://schemas.openxmlformats.org/wordprocessingml/2006/main';
26
+ /** WordprocessingML Drawing (wp:) namespace (Transitional). */
27
+ export var WP_NAMESPACE = 'http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing';
28
+ /**
29
+ * Microsoft Office Drawing diagram extension namespace (`dsp:`).
30
+ * [MS-ODRAWXML] §2.1.3.
31
+ */
32
+ export var DSP_NAMESPACE = 'http://schemas.microsoft.com/office/drawing/2008/diagram';
33
+ /**
34
+ * Diagram 2010 extension namespace used by `dgm14:recolorImg`.
35
+ * URI of the extension: C62137D5-CB1D-491b-B009-E17868A290BF
36
+ */
37
+ export var DGM14_NAMESPACE = 'http://schemas.microsoft.com/office/drawing/2010/diagram';
38
+ /** dgm14:recolorImg extension URI (a:ext/@uri). */
39
+ export var DGM14_RECOLOR_IMG_EXT_URI = 'C62137D5-CB1D-491b-B009-E17868A290BF';
40
+ /**
41
+ * Microsoft dataModelExt extension URI on dataModel/extLst/a:ext.
42
+ * [MS-ODRAWXML] §2.10.1.1 — Word-observed package shape.
43
+ */
44
+ export var MS_DIAGRAM_DATA_MODEL_EXT_URI = 'http://schemas.microsoft.com/office/drawing/2008/diagram';
45
+ /**
46
+ * a:graphicData@uri identifying a DrawingML diagram (SmartArt host).
47
+ * ECMA-376 / dml-diagram.xsd; requirement §16.3.
48
+ */
49
+ export var DIAGRAM_GRAPHIC_DATA_URI = 'http://schemas.openxmlformats.org/drawingml/2006/diagram';
50
+ /** Strict form of DIAGRAM_GRAPHIC_DATA_URI — accepted on read. */
51
+ export var DIAGRAM_GRAPHIC_DATA_URI_STRICT = 'http://purl.oclc.org/ooxml/drawingml/diagram';
52
+ // ── Content types (ECMA-376-1 §14.2.3–§14.2.6; [MS-ODRAWXML] drawing) ──
53
+ export var DIAGRAM_DATA_CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml';
54
+ export var DIAGRAM_LAYOUT_CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml';
55
+ /**
56
+ * Quick style part content type. Note: content type uses `diagramStyle`
57
+ * while the relationship type uses `diagramQuickStyle` (requirement §16.2).
58
+ */
59
+ export var DIAGRAM_QUICK_STYLE_CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml';
60
+ export var DIAGRAM_COLORS_CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml';
61
+ /** Microsoft cached diagram drawing part. [MS-ODRAWXML] §2.1.3. */
62
+ export var DIAGRAM_DRAWING_CONTENT_TYPE = 'application/vnd.ms-office.drawingml.diagramDrawing+xml';
63
+ // ── Relationship types ──
64
+ export var DIAGRAM_DATA_RELATIONSHIP_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramData';
65
+ export var DIAGRAM_LAYOUT_RELATIONSHIP_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramLayout';
66
+ export var DIAGRAM_QUICK_STYLE_RELATIONSHIP_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramQuickStyle';
67
+ export var DIAGRAM_COLORS_RELATIONSHIP_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramColors';
68
+ /** Microsoft cached drawing relationship. [MS-ODRAWXML] §2.1.3. */
69
+ export var DIAGRAM_DRAWING_RELATIONSHIP_TYPE = 'http://schemas.microsoft.com/office/2007/relationships/diagramDrawing';
70
+ /** Feature id used in run-leaf `{ type: 'feature', featureId: 'diagrams', … }`. */
71
+ export var DIAGRAMS_FEATURE_ID = 'diagrams';
72
+ /**
73
+ * Soft guards for untrusted diagram graphs (security.md).
74
+ * Surface via typed errors; do not silently truncate.
75
+ */
76
+ export var MAX_DIAGRAM_POINTS = 10000;
77
+ export var MAX_DIAGRAM_CONNECTIONS = 20000;
78
+ /** True when uri identifies a diagram graphicData (Transitional or Strict). */
79
+ export function isDiagramGraphicDataUri(uri) {
80
+ if (uri == null || uri === '')
81
+ return false;
82
+ return uri === DIAGRAM_GRAPHIC_DATA_URI || uri === DIAGRAM_GRAPHIC_DATA_URI_STRICT;
83
+ }
84
+ /** True when namespace is dgm Transitional or Strict. */
85
+ export function isDgmNamespace(ns) {
86
+ if (ns == null || ns === '')
87
+ return false;
88
+ return ns === DGM_NAMESPACE || ns === DGM_NAMESPACE_STRICT;
89
+ }
90
+ /** True when namespace is DrawingML main Transitional or Strict. */
91
+ export function isANamespace(ns) {
92
+ if (ns == null || ns === '')
93
+ return false;
94
+ return ns === A_NAMESPACE || ns === A_NAMESPACE_STRICT;
95
+ }
96
+ /** True when namespace is relationships Transitional or Strict. */
97
+ export function isRNamespace(ns) {
98
+ if (ns == null || ns === '')
99
+ return false;
100
+ return ns === R_NAMESPACE || ns === R_NAMESPACE_STRICT;
101
+ }
@@ -0,0 +1,148 @@
1
+ /**
2
+ * DiagramDataModel — CT_DataModel view/API.
3
+ *
4
+ * Citations:
5
+ * - dml-diagram.xsd CT_DataModel, CT_Pt, CT_Cxn, ST_PtType, ST_CxnType, ST_ModelId
6
+ * - Requirement docs/requirements/smart-art-diagrams.md §12 (maintenance API)
7
+ * - ECMA-376 DrawingML diagram data part
8
+ */
9
+ import { ElementNode } from './element-tree';
10
+ declare const DIAGRAM_DATA_MODEL_BRAND: unique symbol;
11
+ /** ST_PtType (dml-diagram.xsd). Default: node. */
12
+ export declare type DiagramPointType = 'node' | 'asst' | 'doc' | 'pres' | 'parTrans' | 'sibTrans';
13
+ /**
14
+ * ST_CxnType (dml-diagram.xsd). XSD default: **parOf**.
15
+ * (Some narrative docs say presOf; implementers MUST use XSD default parOf.)
16
+ */
17
+ export declare type DiagramConnectionType = 'parOf' | 'presOf' | 'presParOf' | 'unknownRelationship';
18
+ /** ST_ModelId: int or GUID string as stored in markup. */
19
+ export declare type ModelId = string;
20
+ export interface DiagramPointProps {
21
+ readonly modelId: ModelId;
22
+ /** Default `node` per XSD. */
23
+ readonly type?: DiagramPointType;
24
+ /** Default `"0"` per XSD cxnId. */
25
+ readonly cxnId?: ModelId;
26
+ /**
27
+ * Opaque element-tree fragment for prSet / spPr / t / extLst children
28
+ * preserved for round-trip. Callers of setNodeText replace text under `t`.
29
+ */
30
+ readonly body?: ElementNode | null;
31
+ }
32
+ export interface DiagramConnectionProps {
33
+ readonly modelId: ModelId;
34
+ /** Default `parOf` per XSD. */
35
+ readonly type?: DiagramConnectionType;
36
+ readonly srcId: ModelId;
37
+ readonly destId: ModelId;
38
+ readonly srcOrd: number;
39
+ readonly destOrd: number;
40
+ readonly parTransId?: ModelId;
41
+ readonly sibTransId?: ModelId;
42
+ readonly presId?: string;
43
+ readonly body?: ElementNode | null;
44
+ }
45
+ export interface DiagramPoint {
46
+ modelId: ModelId;
47
+ type: DiagramPointType;
48
+ cxnId: ModelId;
49
+ /** Mutable body subtree (prSet/spPr/t/extLst). */
50
+ body: ElementNode | null;
51
+ }
52
+ export interface DiagramConnection {
53
+ modelId: ModelId;
54
+ type: DiagramConnectionType;
55
+ srcId: ModelId;
56
+ destId: ModelId;
57
+ srcOrd: number;
58
+ destOrd: number;
59
+ parTransId: ModelId;
60
+ sibTransId: ModelId;
61
+ presId: string;
62
+ body: ElementNode | null;
63
+ }
64
+ export interface DiagramDataModelInit {
65
+ readonly points?: ReadonlyArray<DiagramPointProps>;
66
+ readonly connections?: ReadonlyArray<DiagramConnectionProps>;
67
+ /** bg / whole / extLst preserved as opaque trees. */
68
+ readonly background?: ElementNode | null;
69
+ readonly whole?: ElementNode | null;
70
+ readonly extLst?: ElementNode | null;
71
+ }
72
+ /**
73
+ * Mutable CT_DataModel graph.
74
+ * Identity: `instanceof DiagramDataModel` and brand symbol.
75
+ */
76
+ export declare class DiagramDataModel {
77
+ readonly [DIAGRAM_DATA_MODEL_BRAND]: true;
78
+ private readonly _points;
79
+ private readonly _connections;
80
+ private _background;
81
+ private _whole;
82
+ private _extLst;
83
+ private _dirty;
84
+ /** Optional original part bytes when loaded clean (D14). */
85
+ private _originalBytes;
86
+ constructor(init?: DiagramDataModelInit);
87
+ readonly dirty: boolean;
88
+ /** Mark dirty and drop original bytes (must reserialize). */
89
+ markDirty(): void;
90
+ /** Clear dirty after successful apply; optionally stash bytes. */
91
+ clearDirty(originalBytes?: Uint8Array | null): void;
92
+ readonly originalBytes: Uint8Array | null;
93
+ setOriginalBytes(bytes: Uint8Array | null): void;
94
+ readonly points: ReadonlyArray<DiagramPoint>;
95
+ readonly connections: ReadonlyArray<DiagramConnection>;
96
+ background: ElementNode | null;
97
+ whole: ElementNode | null;
98
+ extLst: ElementNode | null;
99
+ pointCount(): number;
100
+ connectionCount(): number;
101
+ getPoint(modelId: ModelId): DiagramPoint | undefined;
102
+ getConnection(modelId: ModelId): DiagramConnection | undefined;
103
+ /**
104
+ * Document point (`type=doc`) if present — typically the root of the logical tree.
105
+ */
106
+ documentPoint(): DiagramPoint | undefined;
107
+ /**
108
+ * Child node points under `parentId` via parOf connections, ordered by srcOrd.
109
+ * Requirement §12 hierarchy helpers.
110
+ */
111
+ childrenOf(parentId: ModelId): DiagramPoint[];
112
+ /** Parent via reverse parOf (first match). */
113
+ parentOf(nodeId: ModelId): DiagramPoint | undefined;
114
+ /**
115
+ * Replace text content of the point's `t` (dgm:t / a:t shape) body fragment.
116
+ * If no body/`t` exists, creates a minimal text body hook for the serializer.
117
+ * Requirement §12 setNodeText.
118
+ */
119
+ setNodeText(modelId: ModelId, value: string): void;
120
+ /** Read text from point body (`t` localName preferred). */
121
+ getNodeText(modelId: ModelId): string | undefined;
122
+ addPoint(props: DiagramPointProps): DiagramPoint;
123
+ addConnection(props: DiagramConnectionProps): DiagramConnection;
124
+ /**
125
+ * Append a child node under parent via parOf.
126
+ * Creates point + connection; assigns next srcOrd.
127
+ */
128
+ appendChild(parentId: ModelId, child: DiagramPointProps, connectionModelId: ModelId): {
129
+ point: DiagramPoint;
130
+ connection: DiagramConnection;
131
+ };
132
+ /**
133
+ * Remove a node and its incident connections (and optionally subtree).
134
+ * When `recursive` is true, removes descendants via parOf.
135
+ */
136
+ removeNode(modelId: ModelId, recursive?: boolean): void;
137
+ /**
138
+ * Deep clone of the model (new instance, dirty=false unless copyDirty).
139
+ */
140
+ clone(options?: {
141
+ copyDirty?: boolean;
142
+ }): DiagramDataModel;
143
+ }
144
+ /**
145
+ * @private
146
+ */
147
+ export declare function isDiagramDataModel(value: unknown): value is DiagramDataModel;
148
+ export {};