@office-open/core 0.3.6 → 0.4.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.
@@ -0,0 +1,87 @@
1
+ import { O as XmlComponent } from "./index-hmJg8TDw.mjs";
2
+
3
+ //#region src/smartart/categories.d.ts
4
+ /** Layout ID → OOXML category type */
5
+ declare const LAYOUT_CATEGORIES: Record<string, string>;
6
+ /** Style ID → OOXML category type */
7
+ declare const STYLE_CATEGORIES: Record<string, string>;
8
+ /** Color ID → OOXML category type */
9
+ declare const COLOR_CATEGORIES: Record<string, string>;
10
+ //#endregion
11
+ //#region src/smartart/built-in-definitions.d.ts
12
+ /**
13
+ * Returns layout XML. Full XML for "default", minimal stub for others.
14
+ * Stub has no layoutNode so PowerPoint falls back to built-in definitions
15
+ * based on the uniqueId / loTypeId in the data model.
16
+ */
17
+ declare function getLayoutXml(layoutId: string): string;
18
+ /**
19
+ * Returns style stub XML with the given uniqueId.
20
+ */
21
+ declare function getStyleXml(styleId: string): string;
22
+ /**
23
+ * Returns color stub XML with the given uniqueId.
24
+ */
25
+ declare function getColorXml(colorId: string): string;
26
+ /** Minimal drawing cache for SmartArt (Office apps auto-regenerate this on open) */
27
+ declare const DEFAULT_DRAWING_XML: string;
28
+ //#endregion
29
+ //#region src/smartart/data-model/connection.d.ts
30
+ /**
31
+ * dgm:cxn — SmartArt data model connection (edge).
32
+ */
33
+ declare class Connection extends XmlComponent {
34
+ constructor(modelId: string, srcId: string, destId: string, type?: string, srcOrd?: number, destOrd?: number, parTransId?: string, sibTransId?: string);
35
+ }
36
+ //#endregion
37
+ //#region src/smartart/data-model/data-model.d.ts
38
+ /**
39
+ * CT_DataModel — the complete data model for a SmartArt diagram.
40
+ */
41
+ declare class DataModel extends XmlComponent {
42
+ constructor(points: readonly XmlComponent[], connections: readonly Connection[]);
43
+ }
44
+ //#endregion
45
+ //#region src/smartart/data-model/point.d.ts
46
+ /**
47
+ * dgm:pt — SmartArt data model point (node).
48
+ */
49
+ declare class Point extends XmlComponent {
50
+ constructor(modelId: string, text: string, type?: string);
51
+ }
52
+ /**
53
+ * Transition point (parTrans or sibTrans) — no text body, references a connection.
54
+ */
55
+ declare class TransPoint extends XmlComponent {
56
+ constructor(modelId: string, type: string, cxnId: string);
57
+ }
58
+ //#endregion
59
+ //#region src/smartart/smartart-collection.d.ts
60
+ interface ISmartArtData {
61
+ readonly key: string;
62
+ readonly dataModel: DataModel;
63
+ readonly layout: string;
64
+ readonly style: string;
65
+ readonly color: string;
66
+ }
67
+ /**
68
+ * Manages SmartArt parts in a document.
69
+ */
70
+ declare class SmartArtCollection {
71
+ private readonly map;
72
+ constructor();
73
+ addSmartArt(key: string, data: ISmartArtData): void;
74
+ get Array(): readonly ISmartArtData[];
75
+ }
76
+ //#endregion
77
+ //#region src/smartart/tree-to-model.d.ts
78
+ interface ITreeNode {
79
+ readonly text: string;
80
+ readonly children?: readonly ITreeNode[];
81
+ }
82
+ /**
83
+ * Creates a DataModel from tree nodes with layout/style/color settings.
84
+ */
85
+ declare const createDataModel: (nodes: readonly ITreeNode[], layout?: string, style?: string, color?: string) => DataModel;
86
+ //#endregion
87
+ export { Point as a, Connection as c, getLayoutXml as d, getStyleXml as f, STYLE_CATEGORIES as h, SmartArtCollection as i, DEFAULT_DRAWING_XML as l, LAYOUT_CATEGORIES as m, createDataModel as n, TransPoint as o, COLOR_CATEGORIES as p, ISmartArtData as r, DataModel as s, ITreeNode as t, getColorXml as u };
@@ -1,4 +1,4 @@
1
- import { r as PositiveUniversalMeasure } from "./values--NnXAmqa.mjs";
1
+ import { r as PositiveUniversalMeasure } from "./values-COMdgNmb.mjs";
2
2
  import { Element } from "@office-open/xml";
3
3
 
4
4
  //#region src/xml-components/types.d.ts
@@ -0,0 +1,336 @@
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 };
@@ -1,15 +1,17 @@
1
- import { O as XmlComponent } from "../_chunks/index-eOE0yRGG.mjs";
1
+ import { O as XmlComponent } from "../_chunks/index-hmJg8TDw.mjs";
2
2
 
3
- //#region src/chart/chart-collection.d.ts
4
- interface IChartData {
5
- readonly key: string;
6
- readonly chartSpace: XmlComponent;
3
+ //#region src/chart/axes.d.ts
4
+ /**
5
+ * c:catAx — category axis.
6
+ */
7
+ declare class CatAx extends XmlComponent {
8
+ constructor(axId: number, crossAx: number);
7
9
  }
8
- declare class ChartCollection {
9
- private readonly map;
10
- constructor();
11
- addChart(key: string, chartData: IChartData): void;
12
- get Array(): readonly IChartData[];
10
+ /**
11
+ * c:valAx — value axis.
12
+ */
13
+ declare class ValAx extends XmlComponent {
14
+ constructor(axId: number, crossAx: number);
13
15
  }
14
16
  //#endregion
15
17
  //#region src/chart/chart-types/area-chart.d.ts
@@ -71,6 +73,34 @@ interface IChartTypeOptions {
71
73
  }
72
74
  declare const createChartType: (options: IChartTypeOptions) => BarChart | LineChart | PieChart | AreaChart | ScatterChart;
73
75
  //#endregion
76
+ //#region src/chart/chart-space.d.ts
77
+ interface IChartSpaceOptions {
78
+ readonly title?: string;
79
+ readonly type: ChartType;
80
+ readonly categories: readonly string[];
81
+ readonly series: readonly IChartSeriesData[];
82
+ readonly showLegend?: boolean;
83
+ readonly style?: number;
84
+ }
85
+ /**
86
+ * c:chartSpace — root element for chart XML parts.
87
+ */
88
+ declare class ChartSpace extends XmlComponent {
89
+ constructor(options: IChartSpaceOptions);
90
+ }
91
+ //#endregion
92
+ //#region src/chart/chart-collection.d.ts
93
+ interface IChartData {
94
+ readonly key: string;
95
+ readonly chartSpace: XmlComponent;
96
+ }
97
+ declare class ChartCollection {
98
+ private readonly map;
99
+ constructor();
100
+ addChart(key: string, chartData: IChartData): void;
101
+ get Array(): readonly IChartData[];
102
+ }
103
+ //#endregion
74
104
  //#region src/chart/series/series-data.d.ts
75
105
  declare const createStrRef: (values: string | readonly string[]) => XmlComponent;
76
106
  declare const createNumRef: (values: readonly number[]) => XmlComponent;
@@ -80,4 +110,4 @@ declare class ChartTitle extends XmlComponent {
80
110
  constructor(title: string);
81
111
  }
82
112
  //#endregion
83
- export { AreaChart, BarChart, ChartCollection, ChartTitle, ChartType, IChartData, IChartSeriesData, IChartTypeOptions, LineChart, PieChart, ScatterChart, createChartType, createNumRef, createStrRef };
113
+ export { AreaChart, BarChart, CatAx, ChartCollection, ChartSpace, ChartTitle, ChartType, IChartData, IChartSeriesData, IChartSpaceOptions, IChartTypeOptions, LineChart, PieChart, ScatterChart, ValAx, createChartType, createNumRef, createStrRef };