@office-open/core 0.10.12 → 0.10.14

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 (62) hide show
  1. package/README.md +10 -9
  2. package/dist/chart/index.d.mts +2 -2
  3. package/dist/chart/index.mjs +1 -1
  4. package/dist/{chart-DwE8FCFk.mjs → chart-DIGJna_6.mjs} +220 -9
  5. package/dist/chart-DIGJna_6.mjs.map +1 -0
  6. package/dist/converters-C_Y2QX1w.mjs +1789 -0
  7. package/dist/converters-C_Y2QX1w.mjs.map +1 -0
  8. package/dist/data-type-CZMKVaaT.d.mts +10 -0
  9. package/dist/data-type-CZMKVaaT.d.mts.map +1 -0
  10. package/dist/descriptor/index.d.mts +2 -2
  11. package/dist/descriptor/index.mjs +2 -2
  12. package/dist/{descriptor-DAER86Rt.mjs → descriptor-BjNkn5jo.mjs} +3 -33
  13. package/dist/descriptor-BjNkn5jo.mjs.map +1 -0
  14. package/dist/drawingml/index.d.mts +2 -2
  15. package/dist/drawingml/index.mjs +2 -2
  16. package/dist/{src-bVqU5Bh3.mjs → drawingml-sj1J3lb0.mjs} +22 -3728
  17. package/dist/drawingml-sj1J3lb0.mjs.map +1 -0
  18. package/dist/index-BVK2dv6C.d.mts +63 -0
  19. package/dist/index-BVK2dv6C.d.mts.map +1 -0
  20. package/dist/index-BfHfKuKy.d.mts +275 -0
  21. package/dist/index-BfHfKuKy.d.mts.map +1 -0
  22. package/dist/index-CE53SwpZ.d.mts +1463 -0
  23. package/dist/index-CE53SwpZ.d.mts.map +1 -0
  24. package/dist/{index-3STznXzZ.d.mts → index-D6VE-MnJ.d.mts} +3 -15
  25. package/dist/index-D6VE-MnJ.d.mts.map +1 -0
  26. package/dist/{index-CN0YjNSx.d.mts → index-DE4CLElr.d.mts} +29 -21
  27. package/dist/index-DE4CLElr.d.mts.map +1 -0
  28. package/dist/{index-CsQP7Cl4.d.mts → index-DlPA26cw.d.mts} +2 -47
  29. package/dist/index-DlPA26cw.d.mts.map +1 -0
  30. package/dist/index-k8WKLXnA.d.mts +150 -0
  31. package/dist/index-k8WKLXnA.d.mts.map +1 -0
  32. package/dist/index.d.mts +650 -8
  33. package/dist/index.d.mts.map +1 -0
  34. package/dist/index.mjs +1271 -7
  35. package/dist/index.mjs.map +1 -0
  36. package/dist/output-D_G_JR_8.d.mts +24 -0
  37. package/dist/output-D_G_JR_8.d.mts.map +1 -0
  38. package/dist/patch/index.d.mts +2 -2
  39. package/dist/patch/index.mjs +1 -1
  40. package/dist/{patch-OSbQIQAi.mjs → patch-BmRfghOo.mjs} +65 -84
  41. package/dist/patch-BmRfghOo.mjs.map +1 -0
  42. package/dist/smartart/index.d.mts +1 -1
  43. package/dist/smartart/index.mjs +1 -1
  44. package/dist/{smartart-DCY-Vdv7.mjs → smartart-B7ukZ-Tw.mjs} +5 -3
  45. package/dist/smartart-B7ukZ-Tw.mjs.map +1 -0
  46. package/dist/theme/index.d.mts +1 -1
  47. package/dist/theme-CiNzdl-9.mjs +2 -0
  48. package/dist/theme-CiNzdl-9.mjs.map +1 -0
  49. package/dist/util/index.d.mts +4 -0
  50. package/dist/util/index.mjs +3 -0
  51. package/dist/util-Tq9PSjK0.mjs +1113 -0
  52. package/dist/util-Tq9PSjK0.mjs.map +1 -0
  53. package/dist/values-8di32lIe.d.mts +56 -0
  54. package/dist/values-8di32lIe.d.mts.map +1 -0
  55. package/package.json +7 -6
  56. package/dist/index-CHGFwCCQ.d.mts +0 -266
  57. package/dist/index-CpNwAcem.d.mts +0 -169
  58. package/dist/index-DdXU1_sq.d.mts +0 -5029
  59. package/dist/util/values.d.mts +0 -2
  60. package/dist/util/values.mjs +0 -2
  61. package/dist/values-CVIZcTRw.mjs +0 -371
  62. package/dist/values-DQfI1FSg.d.mts +0 -426
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smartart-B7ukZ-Tw.mjs","names":[],"sources":["../src/smartart/categories.ts","../src/smartart/built-in-definitions.ts","../src/smartart/data-model/connection.ts","../src/smartart/data-model/data-model.ts","../src/smartart/data-model/point.ts","../src/smartart/smartart-collection.ts","../src/smartart/tree-to-model.ts"],"sourcesContent":["/** Layout ID → OOXML category type */\nexport const LAYOUT_CATEGORIES: Record<string, string> = {\n default: \"list\",\n list1: \"list\",\n list2: \"list\",\n vList2: \"list\",\n hList1: \"list\",\n pList1: \"list\",\n process1: \"process\",\n process2: \"process\",\n process3: \"process\",\n process4: \"process\",\n chevron1: \"process\",\n chevron2: \"process\",\n arrow1: \"process\",\n arrow2: \"process\",\n cycle1: \"cycle\",\n cycle2: \"cycle\",\n cycle3: \"cycle\",\n cycle4: \"cycle\",\n cycle5: \"cycle\",\n hierarchy1: \"hier\",\n hierarchy2: \"hier\",\n hierarchy3: \"hier\",\n hierarchy4: \"hier\",\n orgChart1: \"hier\",\n pyramid1: \"pyramid\",\n pyramid2: \"pyramid\",\n pyramid3: \"pyramid\",\n matrix1: \"matrix\",\n matrix2: \"matrix\",\n matrix3: \"matrix\",\n radial1: \"rel\",\n radial2: \"rel\",\n radial3: \"rel\",\n venn1: \"rel\",\n funnel1: \"rel\",\n balance1: \"rel\",\n gear1: \"rel\",\n constOrg1: \"rel\",\n oppId1: \"rel\",\n};\n\n/** Style ID → OOXML category type */\nexport const STYLE_CATEGORIES: Record<string, string> = {\n simple1: \"simple\",\n simple2: \"simple\",\n simple3: \"simple\",\n simple4: \"simple\",\n simple5: \"simple\",\n moderate1: \"moderate\",\n moderate2: \"moderate\",\n moderate3: \"moderate\",\n moderate4: \"moderate\",\n polished1: \"polished\",\n polished2: \"polished\",\n polished3: \"polished\",\n polished4: \"polished\",\n professional1: \"professional\",\n professional2: \"professional\",\n professional3: \"professional\",\n professional4: \"professional\",\n cartoon1: \"cartoon\",\n cartoon2: \"cartoon\",\n cartoon3: \"cartoon\",\n cartoon4: \"cartoon\",\n powdery1: \"powdery\",\n powdery2: \"powdery\",\n powdery3: \"powdery\",\n powdery4: \"powdery\",\n burnt1: \"burnt\",\n burnt2: \"burnt\",\n burnt3: \"burnt\",\n burnt4: \"burnt\",\n};\n\n/** Color ID → OOXML category type */\nexport const COLOR_CATEGORIES: Record<string, string> = {\n accent1_2: \"accent1\",\n accent2_2: \"accent2\",\n accent3_2: \"accent3\",\n accent4_2: \"accent4\",\n accent5_2: \"accent5\",\n accent6_2: \"accent6\",\n colorful1: \"colorful\",\n colorful2: \"colorful\",\n colorful3: \"colorful\",\n colorful4: \"colorful\",\n dark1: \"dark\",\n dark2: \"dark\",\n primary1: \"primary\",\n primary2: \"primary\",\n gray1: \"gray\",\n gray2: \"gray\",\n};\n","/**\n * SmartArt built-in definitions — layout, quick style, and color transforms.\n *\n * Provides XML generators for layoutDef, styleDef, and colorsDef stubs.\n * The \"default\" layout uses a full embedded XML; all others use minimal stubs\n * that carry only the uniqueId — Office applications resolve these to built-in definitions.\n *\n * @module\n */\n\nexport { COLOR_CATEGORIES, LAYOUT_CATEGORIES, STYLE_CATEGORIES } from \"./categories\";\n\nimport { LAYOUT_CATEGORIES, STYLE_CATEGORIES, COLOR_CATEGORIES } from \"./categories\";\n\n// ---------------------------------------------------------------------------\n// Layout XML — full for \"default\", stubs for everything else\n// ---------------------------------------------------------------------------\n\nconst DGM_NS = \"http://schemas.openxmlformats.org/drawingml/2006/diagram\";\nconst A_NS = \"http://schemas.openxmlformats.org/drawingml/2006/main\";\nconst XML_DECL = '<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>';\n\n/** Full default list layout (urn:microsoft.com/office/officeart/2005/8/layout/default) */\nconst FULL_DEFAULT_LAYOUT_XML =\n '<dgm:layoutDef xmlns:dgm=\"' +\n DGM_NS +\n '\" xmlns:a=\"' +\n A_NS +\n '\" uniqueId=\"urn:microsoft.com/office/officeart/2005/8/layout/default\">' +\n '<dgm:title val=\"\"/><dgm:desc val=\"\"/>' +\n '<dgm:catLst><dgm:cat type=\"list\" pri=\"400\"/></dgm:catLst>' +\n '<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>' +\n '<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>' +\n '<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>' +\n '<dgm:layoutNode name=\"diagram\" chOrder=\"b\"><dgm:varLst><dgm:dir/><dgm:resizeHandles val=\"exact\"/></dgm:varLst>' +\n '<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>' +\n '<dgm:shape blipPhldr=\"false\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" r:blip=\"\"><dgm:adjLst/></dgm:shape><dgm:presOf/>' +\n '<dgm:constrLst><dgm:constr type=\"w\" for=\"ch\" forName=\"node\" refType=\"w\" refPtType=\"all\"/><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/>' +\n '<dgm:forEach name=\"Name3\" axis=\"ch\" ptType=\"node\" st=\"1\">' +\n '<dgm:layoutNode name=\"node\"><dgm:varLst><dgm:bulletEnabled val=\"1\"/></dgm:varLst>' +\n '<dgm:alg type=\"tx\"/><dgm:shape type=\"rect\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" r:blip=\"\">' +\n '<dgm:adjLst/></dgm:shape><dgm:presOf axis=\"desOrSelf\" ptType=\"node\"/>' +\n '<dgm:constrLst><dgm:constr type=\"lMarg\" refType=\"primFontSz\" fact=\"0.3\"/>' +\n '<dgm:constr type=\"rMarg\" refType=\"primFontSz\" fact=\"0.3\"/>' +\n '<dgm:constr type=\"tMarg\" refType=\"primFontSz\" fact=\"0.3\"/>' +\n '<dgm:constr type=\"bMarg\" refType=\"primFontSz\" fact=\"0.3\"/></dgm:constrLst>' +\n '<dgm:ruleLst><dgm:rule type=\"primFontSz\" val=\"5\" fact=\"NaN\" max=\"NaN\"/></dgm:ruleLst></dgm:layoutNode>' +\n '<dgm:forEach name=\"Name4\" axis=\"followSib\" ptType=\"sibTrans\" cnt=\"1\">' +\n '<dgm:layoutNode name=\"sibTrans\"><dgm:alg type=\"sp\"/>' +\n '<dgm:shape xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" r:blip=\"\">' +\n \"<dgm:adjLst/></dgm:shape><dgm:presOf/><dgm:constrLst/><dgm:ruleLst/>\" +\n \"</dgm:layoutNode></dgm:forEach></dgm:layoutNode></dgm:layoutDef>\";\n\n/**\n * Returns layout XML. Full XML for \"default\", minimal stub for others.\n * Stub has no layoutNode so PowerPoint falls back to built-in definitions\n * based on the uniqueId / loTypeId in the data model.\n */\nexport function getLayoutXml(layoutId: string): string {\n if (layoutId === \"default\") {\n return XML_DECL + FULL_DEFAULT_LAYOUT_XML;\n }\n const cat = LAYOUT_CATEGORIES[layoutId] ?? \"list\";\n return (\n XML_DECL +\n '<dgm:layoutDef xmlns:dgm=\"' +\n DGM_NS +\n '\" xmlns:a=\"' +\n A_NS +\n '\" uniqueId=\"urn:microsoft.com/office/officeart/2005/8/layout/' +\n layoutId +\n '\">' +\n '<dgm:title val=\"\"/><dgm:desc val=\"\"/>' +\n '<dgm:catLst><dgm:cat type=\"' +\n cat +\n '\" pri=\"400\"/></dgm:catLst>' +\n '<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>' +\n \"</dgm:layoutDef>\"\n );\n}\n\n/**\n * Returns style XML with basic style definitions (fillClrLst, linClrLst, etc.)\n * that allow PowerPoint to correctly render SmartArt colors and effects.\n */\nexport function getStyleXml(styleId: string): string {\n const cat = STYLE_CATEGORIES[styleId] ?? \"simple\";\n\n // Basic style content: fill color list + line color list + effect + font color\n const styleContent =\n \"<dgm:fillClrLst>\" +\n '<a:solidFill><a:schemeClr val=\"accent1\"/></a:solidFill>' +\n '<a:solidFill><a:schemeClr val=\"accent2\"/></a:solidFill>' +\n '<a:solidFill><a:schemeClr val=\"accent3\"/></a:solidFill>' +\n '<a:solidFill><a:schemeClr val=\"accent4\"/></a:solidFill>' +\n '<a:solidFill><a:schemeClr val=\"accent5\"/></a:solidFill>' +\n '<a:solidFill><a:schemeClr val=\"accent6\"/></a:solidFill>' +\n \"</dgm:fillClrLst>\" +\n '<dgm:linClrLst><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill></dgm:linClrLst>' +\n '<dgm:effectClrLst><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill></dgm:effectClrLst>' +\n \"<dgm:fontClrLst>\" +\n '<a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill>' +\n '<a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill>' +\n '<a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill>' +\n \"</dgm:fontClrLst>\";\n\n return (\n XML_DECL +\n '<dgm:styleDef xmlns:dgm=\"' +\n DGM_NS +\n '\" xmlns:a=\"' +\n A_NS +\n '\" uniqueId=\"urn:microsoft.com/office/officeart/2005/8/quickstyle/' +\n styleId +\n '\">' +\n '<dgm:title val=\"\"/><dgm:desc val=\"\"/>' +\n '<dgm:catLst><dgm:cat type=\"' +\n cat +\n '\" pri=\"10100\"/></dgm:catLst>' +\n '<dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d>' +\n styleContent +\n \"</dgm:styleDef>\"\n );\n}\n\n/**\n * Returns color XML with basic color definitions (fillLst, linLst, etc.)\n * that allow PowerPoint to correctly render SmartArt with the specified color scheme.\n */\nexport function getColorXml(colorId: string): string {\n const cat = COLOR_CATEGORIES[colorId] ?? \"accent1\";\n\n // Resolve the accent color index from colorId (e.g., \"accent1_2\" → \"accent1\")\n const accentMatch = colorId.match(/^(accent\\d)/);\n const accentVal = accentMatch ? accentMatch[1] : \"accent1\";\n\n // Build color content based on colorId patterns\n let colorContent: string;\n if (colorId.startsWith(\"accent\")) {\n // Accent-based: fill with the specified accent color\n colorContent =\n \"<dgm:fillLst>\" +\n `<a:solidFill><a:schemeClr val=\"${accentVal}\"/></a:solidFill>` +\n \"</dgm:fillLst>\" +\n '<dgm:linLst><a:solidFill><a:schemeClr val=\"tx1\"><a:tint val=\"75000\"/></a:schemeClr></a:solidFill></dgm:linLst>' +\n '<dgm:effectLst><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill></dgm:effectLst>' +\n '<dgm:txFillLst><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill></dgm:txFillLst>' +\n '<dgm:txLinLst><a:solidFill><a:schemeClr val=\"tx1\"><a:tint val=\"75000\"/></a:schemeClr></a:solidFill></dgm:txLinLst>' +\n '<dgm:txEffectLst><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill></dgm:txEffectLst>';\n } else if (colorId.startsWith(\"colorful\")) {\n // Colorful: cycle through all accent colors\n colorContent =\n \"<dgm:fillLst>\" +\n '<a:solidFill><a:schemeClr val=\"accent1\"/></a:solidFill>' +\n '<a:solidFill><a:schemeClr val=\"accent2\"/></a:solidFill>' +\n '<a:solidFill><a:schemeClr val=\"accent3\"/></a:solidFill>' +\n '<a:solidFill><a:schemeClr val=\"accent4\"/></a:solidFill>' +\n '<a:solidFill><a:schemeClr val=\"accent5\"/></a:solidFill>' +\n \"</dgm:fillLst>\" +\n '<dgm:linLst><a:solidFill><a:schemeClr val=\"lt1\"/></a:solidFill></dgm:linLst>' +\n '<dgm:effectLst><a:solidFill><a:schemeClr val=\"lt1\"/></a:solidFill></dgm:effectLst>' +\n '<dgm:txFillLst><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill></dgm:txFillLst>' +\n \"<dgm:txLinLst/>\" +\n \"<dgm:txEffectLst/>\";\n } else if (colorId.startsWith(\"dark\")) {\n // Dark: dark backgrounds\n colorContent =\n \"<dgm:fillLst>\" +\n '<a:solidFill><a:schemeClr val=\"dk1\"/></a:solidFill>' +\n '<a:solidFill><a:schemeClr val=\"dk2\"/></a:solidFill>' +\n \"</dgm:fillLst>\" +\n '<dgm:linLst><a:solidFill><a:schemeClr val=\"lt1\"/></a:solidFill></dgm:linLst>' +\n '<dgm:effectLst><a:solidFill><a:schemeClr val=\"lt1\"/></a:solidFill></dgm:effectLst>' +\n '<dgm:txFillLst><a:solidFill><a:schemeClr val=\"lt1\"/></a:solidFill></dgm:txFillLst>' +\n \"<dgm:txLinLst/>\" +\n \"<dgm:txEffectLst/>\";\n } else {\n // Default/primary/gray: use accent color\n colorContent =\n '<dgm:fillLst><a:solidFill><a:schemeClr val=\"accent1\"/></a:solidFill></dgm:fillLst>' +\n '<dgm:linLst><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill></dgm:linLst>' +\n '<dgm:effectLst><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill></dgm:effectLst>' +\n '<dgm:txFillLst><a:solidFill><a:schemeClr val=\"tx1\"/></a:solidFill></dgm:txFillLst>' +\n \"<dgm:txLinLst/>\" +\n \"<dgm:txEffectLst/>\";\n }\n\n return (\n XML_DECL +\n '<dgm:colorsDef xmlns:dgm=\"' +\n DGM_NS +\n '\" xmlns:a=\"' +\n A_NS +\n '\" uniqueId=\"urn:microsoft.com/office/officeart/2005/8/colors/' +\n colorId +\n '\">' +\n '<dgm:title val=\"\"/><dgm:desc val=\"\"/>' +\n '<dgm:catLst><dgm:cat type=\"' +\n cat +\n '\" pri=\"11200\"/></dgm:catLst>' +\n colorContent +\n \"</dgm:colorsDef>\"\n );\n}\n\n/** Minimal drawing cache for SmartArt (Office apps auto-regenerate this on open) */\nexport const DEFAULT_DRAWING_XML =\n '<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>' +\n '<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\">' +\n \"<dsp:spTree>\" +\n '<dsp:nvGrpSpPr><dsp:cNvPr id=\"0\" name=\"\"/><dsp:cNvGrpSpPr/></dsp:nvGrpSpPr>' +\n \"<dsp:grpSpPr/>\" +\n \"</dsp:spTree>\" +\n \"</dsp:drawing>\";\n","import { escapeXml } from \"@office-open/xml\";\n\n/**\n * dgm:cxn — SmartArt data model connection (edge) XML stringifier.\n */\nexport function stringifyConnection(opts: {\n modelId: string | number;\n srcId: string | number;\n destId: string | number;\n type?: string;\n srcOrd?: number;\n destOrd?: number;\n parTransId?: string;\n sibTransId?: string;\n presId?: string;\n}): string {\n const attrs: string[] = [\n `modelId=\"${escapeXml(String(opts.modelId))}\"`,\n `srcId=\"${escapeXml(String(opts.srcId))}\"`,\n `destId=\"${escapeXml(String(opts.destId))}\"`,\n `srcOrd=\"${opts.srcOrd ?? 0}\"`,\n `destOrd=\"${opts.destOrd ?? 0}\"`,\n ];\n if (opts.type) attrs.push(`type=\"${escapeXml(opts.type)}\"`);\n if (opts.parTransId) attrs.push(`parTransId=\"${escapeXml(opts.parTransId)}\"`);\n if (opts.sibTransId) attrs.push(`sibTransId=\"${escapeXml(opts.sibTransId)}\"`);\n if (opts.presId) attrs.push(`presId=\"${escapeXml(opts.presId)}\"`);\n return `<dgm:cxn ${attrs.join(\" \")}/>`;\n}\n","/**\n * CT_DataModel XML stringifier — assembles complete SmartArt data model XML.\n *\n * @module\n */\n\n/**\n * Build the complete dgm:dataModel XML from pre-serialized point and connection strings.\n */\nexport function stringifyDataModel(\n points: readonly string[],\n connections: readonly string[],\n): string {\n return [\n '<dgm:dataModel xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\" xmlns:dgm=\"http://schemas.openxmlformats.org/drawingml/2006/diagram\">',\n `<dgm:ptLst>${points.join(\"\")}</dgm:ptLst>`,\n `<dgm:cxnLst>${connections.join(\"\")}</dgm:cxnLst>`,\n \"<dgm:bg/>\",\n \"<dgm:whole/>\",\n \"</dgm:dataModel>\",\n ].join(\"\");\n}\n","import { escapeXml } from \"@office-open/xml\";\n\nexport interface PointPropertySetOptions {\n presentationAssociationId?: string;\n presentationName?: string;\n presentationStyleLabel?: string;\n presentationStyleIndex?: number;\n presentationStyleCount?: number;\n placeholderText?: string;\n placeholder?: boolean;\n customAngle?: number;\n customFlipVertical?: boolean;\n customFlipHorizontal?: boolean;\n customSizeX?: number;\n customSizeY?: number;\n customScaleX?: number;\n customScaleY?: number;\n customText?: boolean;\n customLinearFactorX?: number;\n customLinearFactorY?: number;\n customLinearFactorNeighborX?: number;\n customLinearFactorNeighborY?: number;\n customRadialScaleRadius?: number;\n customRadialScaleIncrement?: number;\n coherent3DOffset?: boolean;\n hideGeometry?: boolean;\n hideLastTransition?: boolean;\n lockTextEntry?: boolean;\n moveWith?: string;\n useDefault?: boolean;\n zOrderOffset?: number;\n layoutTypeId?: string;\n layoutCategoryId?: string;\n quickStyleTypeId?: string;\n quickStyleCategoryId?: string;\n colorStyleTypeId?: string;\n colorStyleCategoryId?: string;\n}\n\n/**\n * dgm:pt — SmartArt data model point (node) XML stringifier.\n */\nexport function stringifyPoint(\n modelId: string | number,\n text: string,\n type: string = \"node\",\n propertySet?: PointPropertySetOptions,\n): string {\n const parts: string[] = [];\n parts.push(`<dgm:pt modelId=\"${escapeXml(String(modelId))}\" type=\"${escapeXml(type)}\">`);\n if (propertySet) {\n parts.push(stringifyPropertySet(propertySet));\n }\n parts.push(stringifyPointText(text));\n parts.push(\"</dgm:pt>\");\n return parts.join(\"\");\n}\n\n/**\n * dgm:pt — transition point (parTrans or sibTrans) XML stringifier.\n */\nexport function stringifyTransPoint(modelId: string, type: string, cxnId: string): string {\n return `<dgm:pt modelId=\"${escapeXml(modelId)}\" type=\"${escapeXml(type)}\" cxnId=\"${escapeXml(cxnId)}\"><dgm:spPr/></dgm:pt>`;\n}\n\nfunction stringifyPropertySet(opts: PointPropertySetOptions): string {\n const attr: string[] = [];\n if (opts.presentationAssociationId !== undefined)\n attr.push(`presAssocID=\"${escapeXml(opts.presentationAssociationId)}\"`);\n if (opts.presentationName !== undefined)\n attr.push(`presName=\"${escapeXml(opts.presentationName)}\"`);\n if (opts.presentationStyleLabel !== undefined)\n attr.push(`presStyleLbl=\"${escapeXml(opts.presentationStyleLabel)}\"`);\n if (opts.presentationStyleIndex !== undefined)\n attr.push(`presStyleIdx=\"${opts.presentationStyleIndex}\"`);\n if (opts.presentationStyleCount !== undefined)\n attr.push(`presStyleCnt=\"${opts.presentationStyleCount}\"`);\n if (opts.placeholderText !== undefined) attr.push(`phldrT=\"${escapeXml(opts.placeholderText)}\"`);\n if (opts.placeholder !== undefined) attr.push(`phldr=\"${opts.placeholder ? 1 : 0}\"`);\n if (opts.customAngle !== undefined) attr.push(`custAng=\"${opts.customAngle}\"`);\n if (opts.customFlipVertical !== undefined)\n attr.push(`custFlipVert=\"${opts.customFlipVertical ? 1 : 0}\"`);\n if (opts.customFlipHorizontal !== undefined)\n attr.push(`custFlipHor=\"${opts.customFlipHorizontal ? 1 : 0}\"`);\n if (opts.customSizeX !== undefined) attr.push(`custSzX=\"${opts.customSizeX}\"`);\n if (opts.customSizeY !== undefined) attr.push(`custSzY=\"${opts.customSizeY}\"`);\n if (opts.customScaleX !== undefined) attr.push(`custScaleX=\"${opts.customScaleX}\"`);\n if (opts.customScaleY !== undefined) attr.push(`custScaleY=\"${opts.customScaleY}\"`);\n if (opts.customText !== undefined) attr.push(`custT=\"${opts.customText ? 1 : 0}\"`);\n if (opts.customLinearFactorX !== undefined)\n attr.push(`custLinFactX=\"${opts.customLinearFactorX}\"`);\n if (opts.customLinearFactorY !== undefined)\n attr.push(`custLinFactY=\"${opts.customLinearFactorY}\"`);\n if (opts.customLinearFactorNeighborX !== undefined)\n attr.push(`custLinFactNeighborX=\"${opts.customLinearFactorNeighborX}\"`);\n if (opts.customLinearFactorNeighborY !== undefined)\n attr.push(`custLinFactNeighborY=\"${opts.customLinearFactorNeighborY}\"`);\n if (opts.customRadialScaleRadius !== undefined)\n attr.push(`custRadScaleRad=\"${opts.customRadialScaleRadius}\"`);\n if (opts.customRadialScaleIncrement !== undefined)\n attr.push(`custRadScaleInc=\"${opts.customRadialScaleIncrement}\"`);\n if (opts.coherent3DOffset !== undefined)\n attr.push(`coherent3DOff=\"${opts.coherent3DOffset ? 1 : 0}\"`);\n if (opts.hideGeometry !== undefined) attr.push(`hideGeom=\"${opts.hideGeometry ? 1 : 0}\"`);\n if (opts.hideLastTransition !== undefined)\n attr.push(`hideLastTrans=\"${opts.hideLastTransition ? 1 : 0}\"`);\n if (opts.lockTextEntry !== undefined) attr.push(`lkTxEntry=\"${opts.lockTextEntry ? 1 : 0}\"`);\n if (opts.moveWith !== undefined) attr.push(`moveWith=\"${escapeXml(opts.moveWith)}\"`);\n if (opts.useDefault !== undefined) attr.push(`useDef=\"${opts.useDefault ? 1 : 0}\"`);\n if (opts.zOrderOffset !== undefined) attr.push(`zOrderOff=\"${opts.zOrderOffset}\"`);\n if (opts.layoutTypeId !== undefined) attr.push(`loTypeId=\"${escapeXml(opts.layoutTypeId)}\"`);\n if (opts.layoutCategoryId !== undefined)\n attr.push(`loCatId=\"${escapeXml(opts.layoutCategoryId)}\"`);\n if (opts.quickStyleTypeId !== undefined)\n attr.push(`qsTypeId=\"${escapeXml(opts.quickStyleTypeId)}\"`);\n if (opts.quickStyleCategoryId !== undefined)\n attr.push(`qsCatId=\"${escapeXml(opts.quickStyleCategoryId)}\"`);\n if (opts.colorStyleTypeId !== undefined)\n attr.push(`csTypeId=\"${escapeXml(opts.colorStyleTypeId)}\"`);\n if (opts.colorStyleCategoryId !== undefined)\n attr.push(`csCatId=\"${escapeXml(opts.colorStyleCategoryId)}\"`);\n\n if (attr.length === 0) return \"\";\n return `<dgm:prSet ${attr.join(\" \")}/>`;\n}\n\nfunction stringifyPointText(text: string): string {\n const body = text ? `<a:r><a:t>${escapeXml(text)}</a:t></a:r>` : \"\";\n return `<dgm:t><a:bodyPr/><a:lstStyle/><a:p>${body}</a:p></dgm:t>`;\n}\n","/**\n * SmartArt data and collection for document generation.\n *\n * @module\n */\n\nexport interface SmartArtData {\n key: string;\n dataModelXml: string;\n layout: string;\n style: string;\n color: string;\n}\n\n/**\n * Manages SmartArt parts in a document.\n */\nexport class SmartArtCollection {\n private map: Map<string, SmartArtData>;\n\n public constructor() {\n this.map = new Map<string, SmartArtData>();\n }\n\n public addSmartArt(key: string, data: SmartArtData): void {\n this.map.set(key, data);\n }\n\n public get array(): SmartArtData[] {\n return [...this.map.values()];\n }\n}\n","import { escapeXml } from \"@office-open/xml\";\n\nimport { COLOR_CATEGORIES, LAYOUT_CATEGORIES, STYLE_CATEGORIES } from \"./categories\";\nimport { stringifyConnection } from \"./data-model/connection\";\nimport { stringifyDataModel } from \"./data-model/data-model\";\nimport { stringifyPoint, stringifyTransPoint } from \"./data-model/point\";\n\nexport interface TreeNode {\n text: string;\n children?: readonly TreeNode[];\n}\n\nfunction stringifyDocPoint(layout: string, style: string, color: string): string {\n const loTypeId = `urn:microsoft.com/office/officeart/2005/8/layout/${layout}`;\n const loCatId = LAYOUT_CATEGORIES[layout] ?? \"list\";\n const qsTypeId = `urn:microsoft.com/office/officeart/2005/8/quickstyle/${style}`;\n const qsCatId = STYLE_CATEGORIES[style] ?? \"simple\";\n const csTypeId = `urn:microsoft.com/office/officeart/2005/8/colors/${color}`;\n const csCatId = COLOR_CATEGORIES[color] ?? \"accent1\";\n\n return [\n '<dgm:pt modelId=\"0\" type=\"doc\">',\n `<dgm:prSet loTypeId=\"${escapeXml(loTypeId)}\" loCatId=\"${escapeXml(loCatId)}\" qsTypeId=\"${escapeXml(qsTypeId)}\" qsCatId=\"${escapeXml(qsCatId)}\" csTypeId=\"${escapeXml(csTypeId)}\" csCatId=\"${escapeXml(csCatId)}\" phldr=\"0\"/>`,\n \"<dgm:spPr/>\",\n \"<dgm:t><a:bodyPr/><a:lstStyle/><a:p/></dgm:t>\",\n \"</dgm:pt>\",\n ].join(\"\");\n}\n\nfunction uuid(): string {\n return `{${crypto.randomUUID().toUpperCase()}}`;\n}\n\n/**\n * Creates SmartArt data model XML from tree nodes with layout/style/color settings.\n * Returns the XML string body (no XML declaration).\n */\nexport const createDataModel = (\n nodes: readonly TreeNode[],\n layout: string = \"default\",\n style: string = \"simple1\",\n color: string = \"accent1_2\",\n): string => {\n const pointStrs: string[] = [];\n const connectionStrs: string[] = [];\n\n pointStrs.push(stringifyDocPoint(layout, style, color));\n\n for (const [i, node] of nodes.entries()) {\n const walk = (node: TreeNode, parentUuid: string, srcOrd: number): void => {\n const nodeUuid = uuid();\n const parTransUuid = uuid();\n const sibTransUuid = uuid();\n const cxnUuid = uuid();\n\n pointStrs.push(stringifyTransPoint(parTransUuid, \"parTrans\", cxnUuid));\n pointStrs.push(stringifyTransPoint(sibTransUuid, \"sibTrans\", cxnUuid));\n pointStrs.push(stringifyPoint(nodeUuid, node.text));\n\n connectionStrs.push(\n stringifyConnection({\n modelId: parTransUuid,\n srcId: parentUuid,\n destId: nodeUuid,\n srcOrd,\n destOrd: 0,\n parTransId: parTransUuid,\n sibTransId: sibTransUuid,\n }),\n );\n\n if (node.children) {\n for (const [j, child] of node.children.entries()) {\n walk(child, nodeUuid, j);\n }\n }\n };\n walk(node, \"0\", i);\n }\n\n return stringifyDataModel(pointStrs, connectionStrs);\n};\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import { a as ColorSchemeOptions, i as createThemeXml, n as DEFAULT_COLORS, o as FontSchemeOptions, r as buildThemeXml, s as ThemeOptions, t as themeDesc } from "../index-3STznXzZ.mjs";
1
+ import { a as ColorSchemeOptions, i as createThemeXml, n as DEFAULT_COLORS, o as FontSchemeOptions, r as buildThemeXml, s as ThemeOptions, t as themeDesc } from "../index-D6VE-MnJ.mjs";
2
2
  export { type ColorSchemeOptions, DEFAULT_COLORS, type FontSchemeOptions, type ThemeOptions, buildThemeXml, createThemeXml, themeDesc };
@@ -173,3 +173,5 @@ const themeDesc = {
173
173
  };
174
174
  //#endregion
175
175
  export { DEFAULT_COLORS as i, createThemeXml as n, buildThemeXml as r, themeDesc as t };
176
+
177
+ //# sourceMappingURL=theme-CiNzdl-9.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-CiNzdl-9.mjs","names":[],"sources":["../src/theme/default-colors.ts","../src/theme/build-theme-xml.ts","../src/theme/default-theme.ts","../src/theme/theme-descriptors.ts"],"sourcesContent":["/**\n * Default Office 2016+ theme colors.\n *\n * @module\n */\nimport type { ColorSchemeOptions } from \"./theme-options\";\n\n/** Office 2016+ default theme colors (hex without #). */\nexport const DEFAULT_COLORS: Required<ColorSchemeOptions> = {\n dark1: \"000000\",\n light1: \"FFFFFF\",\n dark2: \"44546A\",\n light2: \"E7E6E6\",\n accent1: \"4472C4\",\n accent2: \"ED7D31\",\n accent3: \"A5A5A5\",\n accent4: \"FFC000\",\n accent5: \"5B9BD5\",\n accent6: \"70AD47\",\n hyperlink: \"0563C1\",\n followedHyperlink: \"954F72\",\n};\n","/**\n * Build theme XML string — pure function, no side effects.\n *\n * fmtScheme uses the complete Office version (gradFill, outerShdw, bgFillStyleLst)\n * matching what Excel generates.\n *\n * @module\n */\nimport { DEFAULT_COLORS } from \"./default-colors\";\nimport type { ThemeOptions } from \"./theme-options\";\n\nexport function buildThemeXml(options?: ThemeOptions): string {\n const name = options?.name ?? \"Office Theme\";\n const c = { ...DEFAULT_COLORS, ...options?.colors };\n const f = options?.fonts;\n\n const majorFont = f?.majorFont ?? \"Calibri Light\";\n const minorFont = f?.minorFont ?? \"Calibri\";\n const majorFontAsian = f?.majorFontAsian ?? \"\";\n const minorFontAsian = f?.minorFontAsian ?? \"\";\n\n // dk1/lt1 use sysClr in Office theme; srgbClr override when customized\n const dk1 =\n options?.colors?.dark1 !== undefined\n ? `<a:srgbClr val=\"${c.dark1}\"/>`\n : `<a:sysClr val=\"windowText\" lastClr=\"000000\"/>`;\n const lt1 =\n options?.colors?.light1 !== undefined\n ? `<a:srgbClr val=\"${c.light1}\"/>`\n : `<a:sysClr val=\"window\" lastClr=\"FFFFFF\"/>`;\n\n return `<a:theme xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\" name=\"${name}\"><a:themeElements><a:clrScheme name=\"${name}\"><a:dk1>${dk1}</a:dk1><a:lt1>${lt1}</a:lt1><a:dk2><a:srgbClr val=\"${c.dark2}\"/></a:dk2><a:lt2><a:srgbClr val=\"${c.light2}\"/></a:lt2><a:accent1><a:srgbClr val=\"${c.accent1}\"/></a:accent1><a:accent2><a:srgbClr val=\"${c.accent2}\"/></a:accent2><a:accent3><a:srgbClr val=\"${c.accent3}\"/></a:accent3><a:accent4><a:srgbClr val=\"${c.accent4}\"/></a:accent4><a:accent5><a:srgbClr val=\"${c.accent5}\"/></a:accent5><a:accent6><a:srgbClr val=\"${c.accent6}\"/></a:accent6><a:hlink><a:srgbClr val=\"${c.hyperlink}\"/></a:hlink><a:folHlink><a:srgbClr val=\"${c.followedHyperlink}\"/></a:folHlink></a:clrScheme><a:fontScheme name=\"${name}\"><a:majorFont><a:latin typeface=\"${majorFont}\" panose=\"020F0302020204030204\"/><a:ea typeface=\"${majorFontAsian}\"/><a:cs typeface=\"\"/></a:majorFont><a:minorFont><a:latin typeface=\"${minorFont}\" panose=\"020F0502020204030204\"/><a:ea typeface=\"${minorFontAsian}\"/><a:cs typeface=\"\"/></a:minorFont></a:fontScheme><a:fmtScheme name=\"Office\"><a:fillStyleLst><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:gradFill rotWithShape=\"1\"><a:gsLst><a:gs pos=\"0\"><a:schemeClr val=\"phClr\"><a:lumMod val=\"110000\"/><a:satMod val=\"105000\"/><a:tint val=\"67000\"/></a:schemeClr></a:gs><a:gs pos=\"50000\"><a:schemeClr val=\"phClr\"><a:lumMod val=\"105000\"/><a:satMod val=\"103000\"/><a:tint val=\"73000\"/></a:schemeClr></a:gs><a:gs pos=\"100000\"><a:schemeClr val=\"phClr\"><a:lumMod val=\"105000\"/><a:satMod val=\"109000\"/><a:tint val=\"81000\"/></a:schemeClr></a:gs></a:gsLst><a:lin ang=\"5400000\" scaled=\"0\"/></a:gradFill><a:gradFill rotWithShape=\"1\"><a:gsLst><a:gs pos=\"0\"><a:schemeClr val=\"phClr\"><a:lumMod val=\"102000\"/><a:satMod val=\"103000\"/><a:tint val=\"94000\"/></a:schemeClr></a:gs><a:gs pos=\"50000\"><a:schemeClr val=\"phClr\"><a:lumMod val=\"100000\"/><a:satMod val=\"110000\"/><a:shade val=\"100000\"/></a:schemeClr></a:gs><a:gs pos=\"100000\"><a:schemeClr val=\"phClr\"><a:lumMod val=\"99000\"/><a:satMod val=\"120000\"/><a:shade val=\"78000\"/></a:schemeClr></a:gs></a:gsLst><a:lin ang=\"5400000\" scaled=\"0\"/></a:gradFill></a:fillStyleLst><a:lnStyleLst><a:ln w=\"6350\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:prstDash val=\"solid\"/><a:miter lim=\"800000\"/></a:ln><a:ln w=\"12700\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:prstDash val=\"solid\"/><a:miter lim=\"800000\"/></a:ln><a:ln w=\"19050\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:prstDash val=\"solid\"/><a:miter lim=\"800000\"/></a:ln></a:lnStyleLst><a:effectStyleLst><a:effectStyle><a:effectLst/></a:effectStyle><a:effectStyle><a:effectLst/></a:effectStyle><a:effectStyle><a:effectLst><a:outerShdw blurRad=\"57150\" dist=\"19050\" dir=\"5400000\" algn=\"ctr\" rotWithShape=\"0\"><a:srgbClr val=\"000000\"><a:alpha val=\"63000\"/></a:srgbClr></a:outerShdw></a:effectLst></a:effectStyle></a:effectStyleLst><a:bgFillStyleLst><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:solidFill><a:schemeClr val=\"phClr\"><a:tint val=\"95000\"/><a:satMod val=\"170000\"/></a:schemeClr></a:solidFill><a:gradFill rotWithShape=\"1\"><a:gsLst><a:gs pos=\"0\"><a:schemeClr val=\"phClr\"><a:lumMod val=\"102000\"/><a:satMod val=\"150000\"/><a:tint val=\"93000\"/><a:shade val=\"98000\"/></a:schemeClr></a:gs><a:gs pos=\"50000\"><a:schemeClr val=\"phClr\"><a:lumMod val=\"103000\"/><a:satMod val=\"130000\"/><a:tint val=\"98000\"/><a:shade val=\"90000\"/></a:schemeClr></a:gs><a:gs pos=\"100000\"><a:schemeClr val=\"phClr\"><a:satMod val=\"120000\"/><a:shade val=\"63000\"/></a:schemeClr></a:gs></a:gsLst><a:lin ang=\"5400000\" scaled=\"0\"/></a:gradFill></a:bgFillStyleLst></a:fmtScheme></a:themeElements><a:objectDefaults/><a:extraClrSchemeLst/></a:theme>`;\n}\n","/**\n * Theme XML generation — pure function with caching.\n *\n * Replaces the DefaultTheme class with a functionally equivalent\n * pure function. Caches by serialized options key.\n *\n * @module\n */\nimport { buildThemeXml } from \"./build-theme-xml\";\nimport type { ThemeOptions } from \"./theme-options\";\n\n// Pre-computed default theme XML — zero allocation for the common case.\nconst DEFAULT_XML = buildThemeXml();\n\n// Cache for customized themes, keyed by serialized options.\nconst customCache = new Map<string, string>();\n\nfunction themeKey(o: ThemeOptions): string {\n const c = o.colors;\n const f = o.fonts;\n return `n${o.name ?? \"\"}c${c?.dark1 ?? \"\"}${c?.light1 ?? \"\"}${c?.dark2 ?? \"\"}${c?.light2 ?? \"\"}${c?.accent1 ?? \"\"}${c?.accent2 ?? \"\"}${c?.accent3 ?? \"\"}${c?.accent4 ?? \"\"}${c?.accent5 ?? \"\"}${c?.accent6 ?? \"\"}${c?.hyperlink ?? \"\"}${c?.followedHyperlink ?? \"\"}f${f?.majorFont ?? \"\"}${f?.minorFont ?? \"\"}${f?.majorFontAsian ?? \"\"}${f?.minorFontAsian ?? \"\"}`;\n}\n\n/**\n * Generate theme XML string from options.\n * Returns cached default when no options provided.\n */\nexport function createThemeXml(options?: ThemeOptions): string {\n if (!options) return DEFAULT_XML;\n const key = themeKey(options);\n const cached = customCache.get(key);\n if (cached) return cached;\n const built = buildThemeXml(options);\n customCache.set(key, built);\n return built;\n}\n","/**\n * Theme descriptors — bidirectional mapping between ThemeOptions and theme XML.\n *\n * @module\n */\n\nimport { findChild } from \"@office-open/xml\";\nimport type { Element as XmlElement } from \"@office-open/xml\";\n\nimport type { CustomDescriptor, ReadContext, WriteContext } from \"../descriptor\";\nimport { buildThemeXml } from \"./build-theme-xml\";\nimport type { ColorSchemeOptions, FontSchemeOptions, ThemeOptions } from \"./theme-options\";\n\n/** Mutable version for building read results. */\ntype Mutable<T> = { -readonly [P in keyof T]?: T[P] };\n\n/** Color scheme XML tag → ThemeOptions.colors key mapping. */\nconst COLOR_TAGS: ReadonlyArray<{\n tag: string;\n key: keyof ColorSchemeOptions & string;\n}> = [\n { tag: \"a:dk1\", key: \"dark1\" },\n { tag: \"a:lt1\", key: \"light1\" },\n { tag: \"a:dk2\", key: \"dark2\" },\n { tag: \"a:lt2\", key: \"light2\" },\n { tag: \"a:accent1\", key: \"accent1\" },\n { tag: \"a:accent2\", key: \"accent2\" },\n { tag: \"a:accent3\", key: \"accent3\" },\n { tag: \"a:accent4\", key: \"accent4\" },\n { tag: \"a:accent5\", key: \"accent5\" },\n { tag: \"a:accent6\", key: \"accent6\" },\n { tag: \"a:hlink\", key: \"hyperlink\" },\n { tag: \"a:folHlink\", key: \"followedHyperlink\" },\n];\n\n/** Read the hex color value from a color element (a:dk1/a:lt1 may be sysClr or srgbClr). */\nfunction readColorValue(el: XmlElement | undefined): string | undefined {\n if (!el) return undefined;\n const srgb = findChild(el, \"a:srgbClr\");\n if (srgb) return String(srgb.attributes?.[\"val\"] ?? \"\");\n const sysClr = findChild(el, \"a:sysClr\");\n if (sysClr) return String(sysClr.attributes?.[\"lastClr\"] ?? \"\");\n return undefined;\n}\n\nexport const themeDesc: CustomDescriptor<ThemeOptions> = {\n kind: \"custom\",\n\n stringify(opts: ThemeOptions, _ctx: WriteContext): string | undefined {\n return buildThemeXml(opts);\n },\n\n parse(el: XmlElement, _ctx: ReadContext) {\n const result: Mutable<ThemeOptions> = {};\n\n // Theme name\n const name = el.attributes?.[\"name\"];\n if (name) result.name = String(name);\n\n // Navigate to themeElements > clrScheme\n const themeElements = findChild(el, \"a:themeElements\");\n const clrScheme = themeElements ? findChild(themeElements, \"a:clrScheme\") : undefined;\n\n if (clrScheme) {\n const colors: Mutable<ColorSchemeOptions> = {};\n for (const { tag, key } of COLOR_TAGS) {\n const child = findChild(clrScheme, tag);\n const value = readColorValue(child);\n if (value) colors[key] = value;\n }\n if (Object.keys(colors).length > 0) {\n result.colors = colors;\n }\n }\n\n // Navigate to themeElements > fontScheme\n const fontScheme = themeElements ? findChild(themeElements, \"a:fontScheme\") : undefined;\n if (fontScheme) {\n const majorFontEl = findChild(fontScheme, \"a:majorFont\");\n const minorFontEl = findChild(fontScheme, \"a:minorFont\");\n const majorLatin = majorFontEl ? findChild(majorFontEl, \"a:latin\") : undefined;\n const minorLatin = minorFontEl ? findChild(minorFontEl, \"a:latin\") : undefined;\n\n const majorTypeface = majorLatin?.attributes?.[\"typeface\"];\n const minorTypeface = minorLatin?.attributes?.[\"typeface\"];\n\n if (majorTypeface || minorTypeface) {\n const fonts: Mutable<FontSchemeOptions> = {};\n if (majorTypeface) fonts.majorFont = String(majorTypeface);\n if (minorTypeface) fonts.minorFont = String(minorTypeface);\n result.fonts = fonts;\n }\n }\n\n return result;\n },\n};\n"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { i as toUint8Array, n as ToUint8ArrayOptions, r as isBase64DataURL, t as DataType } from "../data-type-CZMKVaaT.mjs";
2
+ import { C as uCharHexNumber, S as twipsMeasureValue, T as unsignedDecimalNumber, _ as pointMeasureValue, a as ThemeColor, b as signedHpsMeasureValue, c as dateTimeValue, d as hexBinary, f as hexColorValue, g as percentageValue, h as measurementOrPercentValue, i as RelativeMeasure, l as decimalNumber, m as longHexNumber, n as PositivePercentage, o as ThemeFont, p as hpsMeasureValue, r as PositiveUniversalMeasure, s as UniversalMeasure, t as Percentage, u as eighthPointMeasureValue, v as positiveUniversalMeasureValue, w as universalMeasureValue, x as signedTwipsMeasureValue, y as shortHexNumber } from "../values-8di32lIe.mjs";
3
+ import { $ as convertToEmu, A as xsdRectAlignment, B as uniqueNumericIdCreator, C as xsdLineCap, D as xsdPattern, E as xsdPathFillMode, F as xsdUnderlineStyle, G as convertEmuToInches, H as derivePasswordHash, I as xsdVerticalMergeRev, J as convertInchesToEmu, K as convertEmuToPixels, L as UniqueNumericIdCreator, M as xsdTextAlign, N as xsdTextAnchor, O as xsdPenAlignment, P as xsdTextCaps, Q as convertPointsToEmu, R as hashedId, S as xsdEffectContainer, T as xsdMaterialType, U as hashPasswordAgile, V as uniqueUuid, W as randomBytes, X as convertMillimetersToTwip, Y as convertInchesToTwip, Z as convertPixelsToEmu, _ as replaceSmartArtPlaceholders, a as findAndReplaceImagePlaceholders, at as convertUniversalMeasureToPt, b as xsdBlendMode, c as getReferencedMedia, ct as compileMapping, d as replaceAllPlaceholders, et as convertToInch, f as replaceChartPlaceholders, g as replaceNumberingPlaceholders, h as replaceMediaPlaceholders, i as collectPlaceholderKeys, it as convertUniversalMeasureToInch, j as xsdStrikeStyle, k as xsdPresetShadow, l as getVideoRefs, m as replaceImagePlaceholders, n as SmartArtRelOptions, nt as convertToTwip, o as formatId, ot as convertUniversalMeasureToTwip, p as replaceHyperlinkPlaceholders, q as convertEmuToPoints, r as addSmartArtRelationships, rt as convertUniversalMeasureToEmu, s as getMediaRefs, st as parseUniversalMeasure, t as IdFormat, tt as convertToPt, u as hasPlaceholders, v as replaceVideoPlaceholders, w as xsdLineEndSize, x as xsdCompoundLine, y as invertMap, z as uniqueId } from "../index-BfHfKuKy.mjs";
4
+ export { DataType, IdFormat, Percentage, PositivePercentage, PositiveUniversalMeasure, RelativeMeasure, SmartArtRelOptions, ThemeColor, ThemeFont, ToUint8ArrayOptions, UniqueNumericIdCreator, UniversalMeasure, addSmartArtRelationships, collectPlaceholderKeys, compileMapping, convertEmuToInches, convertEmuToPixels, convertEmuToPoints, convertInchesToEmu, convertInchesToTwip, convertMillimetersToTwip, convertPixelsToEmu, convertPointsToEmu, convertToEmu, convertToInch, convertToPt, convertToTwip, convertUniversalMeasureToEmu, convertUniversalMeasureToInch, convertUniversalMeasureToPt, convertUniversalMeasureToTwip, dateTimeValue, decimalNumber, derivePasswordHash, eighthPointMeasureValue, findAndReplaceImagePlaceholders, formatId, getMediaRefs, getReferencedMedia, getVideoRefs, hasPlaceholders, hashPasswordAgile, hashedId, hexBinary, hexColorValue, hpsMeasureValue, invertMap, isBase64DataURL, longHexNumber, measurementOrPercentValue, parseUniversalMeasure, percentageValue, pointMeasureValue, positiveUniversalMeasureValue, randomBytes, replaceAllPlaceholders, replaceChartPlaceholders, replaceHyperlinkPlaceholders, replaceImagePlaceholders, replaceMediaPlaceholders, replaceNumberingPlaceholders, replaceSmartArtPlaceholders, replaceVideoPlaceholders, shortHexNumber, signedHpsMeasureValue, signedTwipsMeasureValue, toUint8Array, twipsMeasureValue, uCharHexNumber, uniqueId, uniqueNumericIdCreator, uniqueUuid, universalMeasureValue, unsignedDecimalNumber, xsdBlendMode, xsdCompoundLine, xsdEffectContainer, xsdLineCap, xsdLineEndSize, xsdMaterialType, xsdPathFillMode, xsdPattern, xsdPenAlignment, xsdPresetShadow, xsdRectAlignment, xsdStrikeStyle, xsdTextAlign, xsdTextAnchor, xsdTextCaps, xsdUnderlineStyle, xsdVerticalMergeRev };
@@ -0,0 +1,3 @@
1
+ import { A as xsdStrikeStyle, B as isBase64DataURL, C as xsdLineEndSize, D as xsdPenAlignment, E as xsdPattern, F as xsdVerticalMergeRev, I as hashedId, L as uniqueId, M as xsdTextAnchor, N as xsdTextCaps, O as xsdPresetShadow, P as xsdUnderlineStyle, R as uniqueNumericIdCreator, S as xsdLineCap, T as xsdPathFillMode, V as toUint8Array, _ as parseUniversalMeasure, a as convertInchesToTwip, b as xsdCompoundLine, c as convertPointsToEmu, d as convertToPt, f as convertToTwip, g as convertUniversalMeasureToTwip, h as convertUniversalMeasureToPt, i as convertInchesToEmu, j as xsdTextAlign, k as xsdRectAlignment, l as convertToEmu, m as convertUniversalMeasureToInch, n as convertEmuToPixels, o as convertMillimetersToTwip, p as convertUniversalMeasureToEmu, r as convertEmuToPoints, s as convertPixelsToEmu, t as convertEmuToInches, u as convertToInch, v as invertMap, w as xsdMaterialType, x as xsdEffectContainer, y as xsdBlendMode, z as uniqueUuid } from "../converters-C_Y2QX1w.mjs";
2
+ import { A as replaceChartPlaceholders, B as compileMapping, C as findAndReplaceImagePlaceholders, D as getVideoRefs, E as getReferencedMedia, F as replaceSmartArtPlaceholders, I as replaceVideoPlaceholders, L as derivePasswordHash, M as replaceImagePlaceholders, N as replaceMediaPlaceholders, O as hasPlaceholders, P as replaceNumberingPlaceholders, R as hashPasswordAgile, S as collectPlaceholderKeys, T as getMediaRefs, _ as twipsMeasureValue, a as eighthPointMeasureValue, b as unsignedDecimalNumber, c as hpsMeasureValue, d as percentageValue, f as pointMeasureValue, g as signedTwipsMeasureValue, h as signedHpsMeasureValue, i as decimalNumber, j as replaceHyperlinkPlaceholders, k as replaceAllPlaceholders, l as longHexNumber, m as shortHexNumber, n as ThemeFont, o as hexBinary, p as positiveUniversalMeasureValue, r as dateTimeValue, s as hexColorValue, t as ThemeColor, u as measurementOrPercentValue, v as uCharHexNumber, w as formatId, x as addSmartArtRelationships, y as universalMeasureValue, z as randomBytes } from "../util-Tq9PSjK0.mjs";
3
+ export { ThemeColor, ThemeFont, addSmartArtRelationships, collectPlaceholderKeys, compileMapping, convertEmuToInches, convertEmuToPixels, convertEmuToPoints, convertInchesToEmu, convertInchesToTwip, convertMillimetersToTwip, convertPixelsToEmu, convertPointsToEmu, convertToEmu, convertToInch, convertToPt, convertToTwip, convertUniversalMeasureToEmu, convertUniversalMeasureToInch, convertUniversalMeasureToPt, convertUniversalMeasureToTwip, dateTimeValue, decimalNumber, derivePasswordHash, eighthPointMeasureValue, findAndReplaceImagePlaceholders, formatId, getMediaRefs, getReferencedMedia, getVideoRefs, hasPlaceholders, hashPasswordAgile, hashedId, hexBinary, hexColorValue, hpsMeasureValue, invertMap, isBase64DataURL, longHexNumber, measurementOrPercentValue, parseUniversalMeasure, percentageValue, pointMeasureValue, positiveUniversalMeasureValue, randomBytes, replaceAllPlaceholders, replaceChartPlaceholders, replaceHyperlinkPlaceholders, replaceImagePlaceholders, replaceMediaPlaceholders, replaceNumberingPlaceholders, replaceSmartArtPlaceholders, replaceVideoPlaceholders, shortHexNumber, signedHpsMeasureValue, signedTwipsMeasureValue, toUint8Array, twipsMeasureValue, uCharHexNumber, uniqueId, uniqueNumericIdCreator, uniqueUuid, universalMeasureValue, unsignedDecimalNumber, xsdBlendMode, xsdCompoundLine, xsdEffectContainer, xsdLineCap, xsdLineEndSize, xsdMaterialType, xsdPathFillMode, xsdPattern, xsdPenAlignment, xsdPresetShadow, xsdRectAlignment, xsdStrikeStyle, xsdTextAlign, xsdTextAnchor, xsdTextCaps, xsdUnderlineStyle, xsdVerticalMergeRev };