@office-open/core 0.4.6 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -11
- package/dist/archive.mjs +1 -135
- package/dist/chart/index.d.mts +2 -2
- package/dist/chart/index.mjs +1 -611
- package/dist/drawingml/index.d.mts +1 -1
- package/dist/drawingml/index.mjs +1 -3800
- package/dist/id-generators-Dd0w7vti.mjs +1 -0
- package/dist/{_chunks/index-hmJg8TDw.d.mts → index-DqdJoWmh.d.mts} +1 -1
- package/dist/{_chunks/index-B3rs5exK.d.mts → index-rASwxHbF.d.mts} +1 -1
- package/dist/index.d.mts +3 -3
- package/dist/index.mjs +1 -424
- package/dist/smartart/index.d.mts +1 -1
- package/dist/smartart/index.mjs +1 -2
- package/dist/smartart-C-ZIRmWU.mjs +1 -0
- package/dist/values.d.mts +1 -1
- package/dist/values.mjs +1 -371
- package/dist/xml-components-Csq7gWPd.mjs +1 -0
- package/package.json +5 -5
- package/dist/_chunks/id-generators-Ch07cHW1.mjs +0 -72
- package/dist/_chunks/smartart-D_qXltR5.mjs +0 -336
- package/dist/_chunks/xml-components-CN6syVNr.mjs +0 -381
- /package/dist/{_chunks/values-COMdgNmb.d.mts → values-CIh0bdS1.d.mts} +0 -0
|
@@ -1,336 +0,0 @@
|
|
|
1
|
-
import { T as XmlComponent, p as chartAttr } from "./xml-components-CN6syVNr.mjs";
|
|
2
|
-
//#region src/smartart/categories.ts
|
|
3
|
-
/** Layout ID → OOXML category type */
|
|
4
|
-
const LAYOUT_CATEGORIES = {
|
|
5
|
-
default: "list",
|
|
6
|
-
list1: "list",
|
|
7
|
-
list2: "list",
|
|
8
|
-
vList2: "list",
|
|
9
|
-
hList1: "list",
|
|
10
|
-
pList1: "list",
|
|
11
|
-
process1: "process",
|
|
12
|
-
process2: "process",
|
|
13
|
-
process3: "process",
|
|
14
|
-
process4: "process",
|
|
15
|
-
chevron1: "process",
|
|
16
|
-
chevron2: "process",
|
|
17
|
-
arrow1: "process",
|
|
18
|
-
arrow2: "process",
|
|
19
|
-
cycle1: "cycle",
|
|
20
|
-
cycle2: "cycle",
|
|
21
|
-
cycle3: "cycle",
|
|
22
|
-
cycle4: "cycle",
|
|
23
|
-
cycle5: "cycle",
|
|
24
|
-
hierarchy1: "hier",
|
|
25
|
-
hierarchy2: "hier",
|
|
26
|
-
hierarchy3: "hier",
|
|
27
|
-
hierarchy4: "hier",
|
|
28
|
-
orgChart1: "hier",
|
|
29
|
-
pyramid1: "pyramid",
|
|
30
|
-
pyramid2: "pyramid",
|
|
31
|
-
pyramid3: "pyramid",
|
|
32
|
-
matrix1: "matrix",
|
|
33
|
-
matrix2: "matrix",
|
|
34
|
-
matrix3: "matrix",
|
|
35
|
-
radial1: "rel",
|
|
36
|
-
radial2: "rel",
|
|
37
|
-
radial3: "rel",
|
|
38
|
-
venn1: "rel",
|
|
39
|
-
funnel1: "rel",
|
|
40
|
-
balance1: "rel",
|
|
41
|
-
gear1: "rel",
|
|
42
|
-
constOrg1: "rel",
|
|
43
|
-
oppId1: "rel"
|
|
44
|
-
};
|
|
45
|
-
/** Style ID → OOXML category type */
|
|
46
|
-
const STYLE_CATEGORIES = {
|
|
47
|
-
simple1: "simple",
|
|
48
|
-
simple2: "simple",
|
|
49
|
-
simple3: "simple",
|
|
50
|
-
simple4: "simple",
|
|
51
|
-
simple5: "simple",
|
|
52
|
-
moderate1: "moderate",
|
|
53
|
-
moderate2: "moderate",
|
|
54
|
-
moderate3: "moderate",
|
|
55
|
-
moderate4: "moderate",
|
|
56
|
-
polished1: "polished",
|
|
57
|
-
polished2: "polished",
|
|
58
|
-
polished3: "polished",
|
|
59
|
-
polished4: "polished",
|
|
60
|
-
professional1: "professional",
|
|
61
|
-
professional2: "professional",
|
|
62
|
-
professional3: "professional",
|
|
63
|
-
professional4: "professional",
|
|
64
|
-
cartoon1: "cartoon",
|
|
65
|
-
cartoon2: "cartoon",
|
|
66
|
-
cartoon3: "cartoon",
|
|
67
|
-
cartoon4: "cartoon",
|
|
68
|
-
powdery1: "powdery",
|
|
69
|
-
powdery2: "powdery",
|
|
70
|
-
powdery3: "powdery",
|
|
71
|
-
powdery4: "powdery",
|
|
72
|
-
burnt1: "burnt",
|
|
73
|
-
burnt2: "burnt",
|
|
74
|
-
burnt3: "burnt",
|
|
75
|
-
burnt4: "burnt"
|
|
76
|
-
};
|
|
77
|
-
/** Color ID → OOXML category type */
|
|
78
|
-
const COLOR_CATEGORIES = {
|
|
79
|
-
accent1_2: "accent1",
|
|
80
|
-
accent2_2: "accent2",
|
|
81
|
-
accent3_2: "accent3",
|
|
82
|
-
accent4_2: "accent4",
|
|
83
|
-
accent5_2: "accent5",
|
|
84
|
-
accent6_2: "accent6",
|
|
85
|
-
colorful1: "colorful",
|
|
86
|
-
colorful2: "colorful",
|
|
87
|
-
colorful3: "colorful",
|
|
88
|
-
colorful4: "colorful",
|
|
89
|
-
dark1: "dark",
|
|
90
|
-
dark2: "dark",
|
|
91
|
-
primary1: "primary",
|
|
92
|
-
primary2: "primary",
|
|
93
|
-
gray1: "gray",
|
|
94
|
-
gray2: "gray"
|
|
95
|
-
};
|
|
96
|
-
//#endregion
|
|
97
|
-
//#region src/smartart/built-in-definitions.ts
|
|
98
|
-
const DGM_NS = "http://schemas.openxmlformats.org/drawingml/2006/diagram";
|
|
99
|
-
const XML_DECL = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>";
|
|
100
|
-
/** Full default list layout (urn:microsoft.com/office/officeart/2005/8/layout/default) */
|
|
101
|
-
const FULL_DEFAULT_LAYOUT_XML = "<dgm:layoutDef xmlns:dgm=\"" + DGM_NS + "\" xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\" uniqueId=\"urn:microsoft.com/office/officeart/2005/8/layout/default\"><dgm:title val=\"\"/><dgm:desc val=\"\"/><dgm:catLst><dgm:cat type=\"list\" pri=\"400\"/></dgm:catLst><dgm:sampData><dgm:dataModel><dgm:ptLst><dgm:pt modelId=\"0\" type=\"doc\"/><dgm:pt modelId=\"1\"><dgm:prSet phldr=\"1\"/></dgm:pt><dgm:pt modelId=\"2\"><dgm:prSet phldr=\"1\"/></dgm:pt><dgm:pt modelId=\"3\"><dgm:prSet phldr=\"1\"/></dgm:pt><dgm:pt modelId=\"4\"><dgm:prSet phldr=\"1\"/></dgm:pt><dgm:pt modelId=\"5\"><dgm:prSet phldr=\"1\"/></dgm:pt></dgm:ptLst><dgm:cxnLst><dgm:cxn modelId=\"6\" srcId=\"0\" destId=\"1\" srcOrd=\"0\" destOrd=\"0\"/><dgm:cxn modelId=\"7\" srcId=\"0\" destId=\"2\" srcOrd=\"1\" destOrd=\"0\"/><dgm:cxn modelId=\"8\" srcId=\"0\" destId=\"3\" srcOrd=\"2\" destOrd=\"0\"/><dgm:cxn modelId=\"9\" srcId=\"0\" destId=\"4\" srcOrd=\"3\" destOrd=\"0\"/><dgm:cxn modelId=\"10\" srcId=\"0\" destId=\"5\" srcOrd=\"4\" destOrd=\"0\"/></dgm:cxnLst><dgm:bg/><dgm:whole/></dgm:dataModel></dgm:sampData><dgm:styleData><dgm:dataModel><dgm:ptLst><dgm:pt modelId=\"0\" type=\"doc\"/><dgm:pt modelId=\"1\"/><dgm:pt modelId=\"2\"/></dgm:ptLst><dgm:cxnLst><dgm:cxn modelId=\"3\" srcId=\"0\" destId=\"1\" srcOrd=\"0\" destOrd=\"0\"/><dgm:cxn modelId=\"4\" srcId=\"0\" destId=\"2\" srcOrd=\"1\" destOrd=\"0\"/></dgm:cxnLst><dgm:bg/><dgm:whole/></dgm:dataModel></dgm:styleData><dgm:clrData><dgm:dataModel><dgm:ptLst><dgm:pt modelId=\"0\" type=\"doc\"/><dgm:pt modelId=\"1\"/><dgm:pt modelId=\"2\"/><dgm:pt modelId=\"3\"/><dgm:pt modelId=\"4\"/><dgm:pt modelId=\"5\"/><dgm:pt modelId=\"6\"/></dgm:ptLst><dgm:cxnLst><dgm:cxn modelId=\"7\" srcId=\"0\" destId=\"1\" srcOrd=\"0\" destOrd=\"0\"/><dgm:cxn modelId=\"8\" srcId=\"0\" destId=\"2\" srcOrd=\"1\" destOrd=\"0\"/><dgm:cxn modelId=\"9\" srcId=\"0\" destId=\"3\" srcOrd=\"2\" destOrd=\"0\"/><dgm:cxn modelId=\"10\" srcId=\"0\" destId=\"4\" srcOrd=\"3\" destOrd=\"0\"/><dgm:cxn modelId=\"11\" srcId=\"0\" destId=\"5\" srcOrd=\"4\" destOrd=\"0\"/><dgm:cxn modelId=\"12\" srcId=\"0\" destId=\"6\" srcOrd=\"5\" destOrd=\"0\"/></dgm:cxnLst><dgm:bg/><dgm:whole/></dgm:dataModel></dgm:clrData><dgm:layoutNode name=\"diagram\"><dgm:varLst><dgm:dir/><dgm:resizeHandles val=\"exact\"/></dgm:varLst><dgm:choose name=\"Name0\"><dgm:if name=\"Name1\" func=\"var\" arg=\"dir\" op=\"equ\" val=\"norm\"><dgm:alg type=\"snake\"><dgm:param type=\"grDir\" val=\"tL\"/><dgm:param type=\"flowDir\" val=\"row\"/><dgm:param type=\"contDir\" val=\"sameDir\"/><dgm:param type=\"off\" val=\"ctr\"/></dgm:alg></dgm:if><dgm:else name=\"Name2\"><dgm:alg type=\"snake\"><dgm:param type=\"grDir\" val=\"tR\"/><dgm:param type=\"flowDir\" val=\"row\"/><dgm:param type=\"contDir\" val=\"sameDir\"/><dgm:param type=\"off\" val=\"ctr\"/></dgm:alg></dgm:else></dgm:choose><dgm:shape xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" r:blip=\"\"><dgm:adjLst/></dgm:shape><dgm:presOf/><dgm:constrLst><dgm:constr type=\"w\" for=\"ch\" forName=\"node\" refType=\"w\"/><dgm:constr type=\"h\" for=\"ch\" forName=\"node\" refType=\"w\" refFor=\"ch\" refForName=\"node\" fact=\"0.6\"/><dgm:constr type=\"w\" for=\"ch\" forName=\"sibTrans\" refType=\"w\" refFor=\"ch\" refForName=\"node\" fact=\"0.1\"/><dgm:constr type=\"sp\" refType=\"w\" refFor=\"ch\" refForName=\"sibTrans\"/><dgm:constr type=\"primFontSz\" for=\"ch\" forName=\"node\" op=\"equ\" val=\"65\"/></dgm:constrLst><dgm:ruleLst/><dgm:forEach name=\"Name3\" axis=\"ch\" ptType=\"node\"><dgm:layoutNode name=\"node\"><dgm:varLst><dgm:bulletEnabled val=\"1\"/></dgm:varLst><dgm:alg type=\"tx\"/><dgm:shape type=\"rect\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" r:blip=\"\"><dgm:adjLst/></dgm:shape><dgm:presOf axis=\"desOrSelf\" ptType=\"node\"/><dgm:constrLst><dgm:constr type=\"lMarg\" refType=\"primFontSz\" fact=\"0.3\"/><dgm:constr type=\"rMarg\" refType=\"primFontSz\" fact=\"0.3\"/><dgm:constr type=\"tMarg\" refType=\"primFontSz\" fact=\"0.3\"/><dgm:constr type=\"bMarg\" refType=\"primFontSz\" fact=\"0.3\"/></dgm:constrLst><dgm:ruleLst><dgm:rule type=\"primFontSz\" val=\"5\" fact=\"NaN\" max=\"NaN\"/></dgm:ruleLst></dgm:layoutNode><dgm:forEach name=\"Name4\" axis=\"followSib\" ptType=\"sibTrans\" cnt=\"1\"><dgm:layoutNode name=\"sibTrans\"><dgm:alg type=\"sp\"/><dgm:shape xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" r:blip=\"\"><dgm:adjLst/></dgm:shape><dgm:presOf/><dgm:constrLst/><dgm:ruleLst/></dgm:layoutNode></dgm:forEach></dgm:layoutNode></dgm:layoutDef>";
|
|
102
|
-
/**
|
|
103
|
-
* Returns layout XML. Full XML for "default", minimal stub for others.
|
|
104
|
-
* Stub has no layoutNode so PowerPoint falls back to built-in definitions
|
|
105
|
-
* based on the uniqueId / loTypeId in the data model.
|
|
106
|
-
*/
|
|
107
|
-
function getLayoutXml(layoutId) {
|
|
108
|
-
if (layoutId === "default") return XML_DECL + FULL_DEFAULT_LAYOUT_XML;
|
|
109
|
-
const cat = LAYOUT_CATEGORIES[layoutId] ?? "list";
|
|
110
|
-
return XML_DECL + "<dgm:layoutDef xmlns:dgm=\"http://schemas.openxmlformats.org/drawingml/2006/diagram\" xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\" uniqueId=\"urn:microsoft.com/office/officeart/2005/8/layout/" + layoutId + "\"><dgm:title val=\"\"/><dgm:desc val=\"\"/><dgm:catLst><dgm:cat type=\"" + cat + "\" pri=\"400\"/></dgm:catLst><dgm:sampData><dgm:dataModel><dgm:ptLst><dgm:pt modelId=\"0\" type=\"doc\"/><dgm:pt modelId=\"1\"><dgm:prSet phldr=\"1\"/></dgm:pt><dgm:pt modelId=\"2\"><dgm:prSet phldr=\"1\"/></dgm:pt></dgm:ptLst><dgm:cxnLst><dgm:cxn modelId=\"3\" srcId=\"0\" destId=\"1\" srcOrd=\"0\" destOrd=\"0\"/><dgm:cxn modelId=\"4\" srcId=\"0\" destId=\"2\" srcOrd=\"1\" destOrd=\"0\"/></dgm:cxnLst><dgm:bg/><dgm:whole/></dgm:dataModel></dgm:sampData></dgm:layoutDef>";
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Returns style stub XML with the given uniqueId.
|
|
114
|
-
*/
|
|
115
|
-
function getStyleXml(styleId) {
|
|
116
|
-
const cat = STYLE_CATEGORIES[styleId] ?? "simple";
|
|
117
|
-
return XML_DECL + "<dgm:styleDef xmlns:dgm=\"http://schemas.openxmlformats.org/drawingml/2006/diagram\" xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\" uniqueId=\"urn:microsoft.com/office/officeart/2005/8/quickstyle/" + styleId + "\"><dgm:title val=\"\"/><dgm:desc val=\"\"/><dgm:catLst><dgm:cat type=\"" + cat + "\" pri=\"10100\"/></dgm:catLst><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d></dgm:styleDef>";
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Returns color stub XML with the given uniqueId.
|
|
121
|
-
*/
|
|
122
|
-
function getColorXml(colorId) {
|
|
123
|
-
const cat = COLOR_CATEGORIES[colorId] ?? "accent1";
|
|
124
|
-
return XML_DECL + "<dgm:colorsDef xmlns:dgm=\"http://schemas.openxmlformats.org/drawingml/2006/diagram\" xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\" uniqueId=\"urn:microsoft.com/office/officeart/2005/8/colors/" + colorId + "\"><dgm:title val=\"\"/><dgm:desc val=\"\"/><dgm:catLst><dgm:cat type=\"" + cat + "\" pri=\"11200\"/></dgm:catLst></dgm:colorsDef>";
|
|
125
|
-
}
|
|
126
|
-
/** Minimal drawing cache for SmartArt (Office apps auto-regenerate this on open) */
|
|
127
|
-
const DEFAULT_DRAWING_XML = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><dsp:drawing xmlns:dgm=\"http://schemas.openxmlformats.org/drawingml/2006/diagram\" xmlns:dsp=\"http://schemas.microsoft.com/office/drawing/2008/diagram\" xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\"><dsp:spTree><dsp:nvGrpSpPr><dsp:cNvPr id=\"0\" name=\"\"/><dsp:cNvGrpSpPr/></dsp:nvGrpSpPr><dsp:grpSpPr/></dsp:spTree></dsp:drawing>";
|
|
128
|
-
//#endregion
|
|
129
|
-
//#region src/smartart/data-model/connection.ts
|
|
130
|
-
/**
|
|
131
|
-
* dgm:cxn — SmartArt data model connection (edge).
|
|
132
|
-
*/
|
|
133
|
-
var Connection = class extends XmlComponent {
|
|
134
|
-
constructor(modelId, srcId, destId, type, srcOrd = 0, destOrd = 0, parTransId, sibTransId) {
|
|
135
|
-
super("dgm:cxn");
|
|
136
|
-
const attrs = {
|
|
137
|
-
modelId,
|
|
138
|
-
srcId,
|
|
139
|
-
destId,
|
|
140
|
-
srcOrd,
|
|
141
|
-
destOrd
|
|
142
|
-
};
|
|
143
|
-
if (type) attrs.type = type;
|
|
144
|
-
if (parTransId) attrs.parTransId = parTransId;
|
|
145
|
-
if (sibTransId) attrs.sibTransId = sibTransId;
|
|
146
|
-
this.root.push(chartAttr(attrs));
|
|
147
|
-
}
|
|
148
|
-
};
|
|
149
|
-
//#endregion
|
|
150
|
-
//#region src/smartart/data-model/data-model.ts
|
|
151
|
-
/**
|
|
152
|
-
* CT_DataModel — the complete data model for a SmartArt diagram.
|
|
153
|
-
*/
|
|
154
|
-
var DataModel = class extends XmlComponent {
|
|
155
|
-
constructor(points, connections) {
|
|
156
|
-
super("dgm:dataModel");
|
|
157
|
-
this.root.push(chartAttr({
|
|
158
|
-
"xmlns:a": "http://schemas.openxmlformats.org/drawingml/2006/main",
|
|
159
|
-
"xmlns:dgm": "http://schemas.openxmlformats.org/drawingml/2006/diagram"
|
|
160
|
-
}));
|
|
161
|
-
const ptLst = new class extends XmlComponent {
|
|
162
|
-
constructor() {
|
|
163
|
-
super("dgm:ptLst");
|
|
164
|
-
}
|
|
165
|
-
}();
|
|
166
|
-
for (const pt of points) ptLst["root"].push(pt);
|
|
167
|
-
this.root.push(ptLst);
|
|
168
|
-
const cxnLst = new class extends XmlComponent {
|
|
169
|
-
constructor() {
|
|
170
|
-
super("dgm:cxnLst");
|
|
171
|
-
}
|
|
172
|
-
}();
|
|
173
|
-
for (const cxn of connections) cxnLst["root"].push(cxn);
|
|
174
|
-
this.root.push(cxnLst);
|
|
175
|
-
this.root.push(new EmptyElement$2("dgm:bg"));
|
|
176
|
-
this.root.push(new EmptyElement$2("dgm:whole"));
|
|
177
|
-
}
|
|
178
|
-
};
|
|
179
|
-
var EmptyElement$2 = class extends XmlComponent {
|
|
180
|
-
constructor(tag) {
|
|
181
|
-
super(tag);
|
|
182
|
-
}
|
|
183
|
-
};
|
|
184
|
-
//#endregion
|
|
185
|
-
//#region src/smartart/data-model/point.ts
|
|
186
|
-
/**
|
|
187
|
-
* dgm:pt — SmartArt data model point (node).
|
|
188
|
-
*/
|
|
189
|
-
var Point = class extends XmlComponent {
|
|
190
|
-
constructor(modelId, text, type = "node") {
|
|
191
|
-
super("dgm:pt");
|
|
192
|
-
this.root.push(chartAttr({
|
|
193
|
-
modelId,
|
|
194
|
-
type
|
|
195
|
-
}));
|
|
196
|
-
this.root.push(new PointText(text));
|
|
197
|
-
}
|
|
198
|
-
};
|
|
199
|
-
/**
|
|
200
|
-
* Transition point (parTrans or sibTrans) — no text body, references a connection.
|
|
201
|
-
*/
|
|
202
|
-
var TransPoint = class extends XmlComponent {
|
|
203
|
-
constructor(modelId, type, cxnId) {
|
|
204
|
-
super("dgm:pt");
|
|
205
|
-
this.root.push(chartAttr({
|
|
206
|
-
modelId,
|
|
207
|
-
type,
|
|
208
|
-
cxnId
|
|
209
|
-
}));
|
|
210
|
-
this.root.push(new EmptyElement$1("dgm:spPr"));
|
|
211
|
-
}
|
|
212
|
-
};
|
|
213
|
-
var EmptyElement$1 = class extends XmlComponent {
|
|
214
|
-
constructor(tag) {
|
|
215
|
-
super(tag);
|
|
216
|
-
}
|
|
217
|
-
};
|
|
218
|
-
/**
|
|
219
|
-
* dgm:t — text body within a point.
|
|
220
|
-
*/
|
|
221
|
-
var PointText = class extends XmlComponent {
|
|
222
|
-
constructor(text) {
|
|
223
|
-
super("dgm:t");
|
|
224
|
-
this.root.push(new EmptyElement$1("a:bodyPr"));
|
|
225
|
-
this.root.push(new EmptyElement$1("a:lstStyle"));
|
|
226
|
-
const p = new EmptyElement$1("a:p");
|
|
227
|
-
if (text) {
|
|
228
|
-
const t = new class extends XmlComponent {
|
|
229
|
-
constructor() {
|
|
230
|
-
super("a:t");
|
|
231
|
-
}
|
|
232
|
-
}();
|
|
233
|
-
t["root"].push(text);
|
|
234
|
-
const r = new class extends XmlComponent {
|
|
235
|
-
constructor() {
|
|
236
|
-
super("a:r");
|
|
237
|
-
}
|
|
238
|
-
}();
|
|
239
|
-
r["root"].push(t);
|
|
240
|
-
p["root"].push(r);
|
|
241
|
-
}
|
|
242
|
-
this.root.push(p);
|
|
243
|
-
}
|
|
244
|
-
};
|
|
245
|
-
//#endregion
|
|
246
|
-
//#region src/smartart/smartart-collection.ts
|
|
247
|
-
/**
|
|
248
|
-
* Manages SmartArt parts in a document.
|
|
249
|
-
*/
|
|
250
|
-
var SmartArtCollection = class {
|
|
251
|
-
map;
|
|
252
|
-
constructor() {
|
|
253
|
-
this.map = /* @__PURE__ */ new Map();
|
|
254
|
-
}
|
|
255
|
-
addSmartArt(key, data) {
|
|
256
|
-
this.map.set(key, data);
|
|
257
|
-
}
|
|
258
|
-
get Array() {
|
|
259
|
-
return [...this.map.values()];
|
|
260
|
-
}
|
|
261
|
-
};
|
|
262
|
-
//#endregion
|
|
263
|
-
//#region src/smartart/tree-to-model.ts
|
|
264
|
-
function createDocPoint(layout, style, color) {
|
|
265
|
-
const pt = new class extends XmlComponent {
|
|
266
|
-
constructor() {
|
|
267
|
-
super("dgm:pt");
|
|
268
|
-
}
|
|
269
|
-
}();
|
|
270
|
-
pt["root"].push(chartAttr({
|
|
271
|
-
modelId: 0,
|
|
272
|
-
type: "doc"
|
|
273
|
-
}));
|
|
274
|
-
const prSet = new class extends XmlComponent {
|
|
275
|
-
constructor() {
|
|
276
|
-
super("dgm:prSet");
|
|
277
|
-
}
|
|
278
|
-
}();
|
|
279
|
-
prSet["root"].push(chartAttr({
|
|
280
|
-
loTypeId: `urn:microsoft.com/office/officeart/2005/8/layout/${layout}`,
|
|
281
|
-
loCatId: LAYOUT_CATEGORIES[layout] ?? "list",
|
|
282
|
-
qsTypeId: `urn:microsoft.com/office/officeart/2005/8/quickstyle/${style}`,
|
|
283
|
-
qsCatId: STYLE_CATEGORIES[style] ?? "simple",
|
|
284
|
-
csTypeId: `urn:microsoft.com/office/officeart/2005/8/colors/${color}`,
|
|
285
|
-
csCatId: COLOR_CATEGORIES[color] ?? "accent1",
|
|
286
|
-
phldr: "0"
|
|
287
|
-
}));
|
|
288
|
-
pt["root"].push(prSet);
|
|
289
|
-
pt["root"].push(new EmptyElement("dgm:spPr"));
|
|
290
|
-
pt["root"].push(createEmptyTextBody());
|
|
291
|
-
return pt;
|
|
292
|
-
}
|
|
293
|
-
function createEmptyTextBody() {
|
|
294
|
-
const t = new class extends XmlComponent {
|
|
295
|
-
constructor() {
|
|
296
|
-
super("dgm:t");
|
|
297
|
-
}
|
|
298
|
-
}();
|
|
299
|
-
t["root"].push(new EmptyElement("a:bodyPr"));
|
|
300
|
-
t["root"].push(new EmptyElement("a:lstStyle"));
|
|
301
|
-
t["root"].push(new EmptyElement("a:p"));
|
|
302
|
-
return t;
|
|
303
|
-
}
|
|
304
|
-
var EmptyElement = class extends XmlComponent {
|
|
305
|
-
constructor(tag) {
|
|
306
|
-
super(tag);
|
|
307
|
-
}
|
|
308
|
-
};
|
|
309
|
-
function uuid() {
|
|
310
|
-
return `{${crypto.randomUUID().toUpperCase()}}`;
|
|
311
|
-
}
|
|
312
|
-
/**
|
|
313
|
-
* Creates a DataModel from tree nodes with layout/style/color settings.
|
|
314
|
-
*/
|
|
315
|
-
const createDataModel = (nodes, layout = "default", style = "simple1", color = "accent1_2") => {
|
|
316
|
-
const points = [];
|
|
317
|
-
const connections = [];
|
|
318
|
-
points.push(createDocPoint(layout, style, color));
|
|
319
|
-
for (let i = 0; i < nodes.length; i++) {
|
|
320
|
-
const walk = (node, parentUuid, srcOrd) => {
|
|
321
|
-
const nodeUuid = uuid();
|
|
322
|
-
const parTransUuid = uuid();
|
|
323
|
-
const sibTransUuid = uuid();
|
|
324
|
-
const cxnUuid = uuid();
|
|
325
|
-
points.push(new TransPoint(parTransUuid, "parTrans", cxnUuid));
|
|
326
|
-
points.push(new TransPoint(sibTransUuid, "sibTrans", cxnUuid));
|
|
327
|
-
points.push(new Point(nodeUuid, node.text));
|
|
328
|
-
connections.push(new Connection(parTransUuid, parentUuid, nodeUuid, void 0, srcOrd, 0, parTransUuid, sibTransUuid));
|
|
329
|
-
if (node.children) for (let j = 0; j < node.children.length; j++) walk(node.children[j], nodeUuid, j);
|
|
330
|
-
};
|
|
331
|
-
walk(nodes[i], "0", i);
|
|
332
|
-
}
|
|
333
|
-
return new DataModel(points, connections);
|
|
334
|
-
};
|
|
335
|
-
//#endregion
|
|
336
|
-
export { DataModel as a, getColorXml as c, COLOR_CATEGORIES as d, LAYOUT_CATEGORIES as f, TransPoint as i, getLayoutXml as l, SmartArtCollection as n, Connection as o, STYLE_CATEGORIES as p, Point as r, DEFAULT_DRAWING_XML as s, createDataModel as t, getStyleXml as u };
|