@paperjsx/json-to-pptx-pro 0.0.1

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 (467) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +69 -0
  3. package/dist-pro/accessibilityRemediation-JCCWTNLI.js +1 -0
  4. package/dist-pro/accessibilityValidator-PNPHJ7DT.js +1 -0
  5. package/dist-pro/chunk-4BFWRWGW.js +1 -0
  6. package/dist-pro/chunk-54L7UJFX.js +1 -0
  7. package/dist-pro/chunk-7MQHUWBC.js +1 -0
  8. package/dist-pro/chunk-7OH2BCHB.js +1 -0
  9. package/dist-pro/chunk-ATW2DQGN.js +1 -0
  10. package/dist-pro/chunk-AU5HXCGI.js +1 -0
  11. package/dist-pro/chunk-BRMIGHX5.js +1 -0
  12. package/dist-pro/chunk-CEEMFICV.js +2138 -0
  13. package/dist-pro/chunk-CT3ZL3KD.js +1 -0
  14. package/dist-pro/chunk-D33P4D2I.js +1 -0
  15. package/dist-pro/chunk-DIB2EOON.js +40 -0
  16. package/dist-pro/chunk-HGXLLLMM.js +1 -0
  17. package/dist-pro/chunk-HI4JFT7W.js +1 -0
  18. package/dist-pro/chunk-HKVBMVGH.js +2 -0
  19. package/dist-pro/chunk-IQQAF6DF.js +1 -0
  20. package/dist-pro/chunk-JBV3SHHJ.js +1 -0
  21. package/dist-pro/chunk-JKZFYDBI.js +1 -0
  22. package/dist-pro/chunk-KITDCLGP.js +1 -0
  23. package/dist-pro/chunk-N7MH4LUH.js +1 -0
  24. package/dist-pro/chunk-NBTN5HDS.js +16 -0
  25. package/dist-pro/chunk-OLTONCQC.js +1 -0
  26. package/dist-pro/chunk-QCSPOFAH.js +1 -0
  27. package/dist-pro/chunk-QLDFKBHR.js +1 -0
  28. package/dist-pro/chunk-RDC4FC4R.js +1 -0
  29. package/dist-pro/chunk-RS6UVNDG.js +1 -0
  30. package/dist-pro/chunk-RYAMBRNH.js +1 -0
  31. package/dist-pro/chunk-SUQ4PGPT.js +37 -0
  32. package/dist-pro/chunk-UXO6SOIA.js +3 -0
  33. package/dist-pro/chunk-UYCBIQVO.js +4 -0
  34. package/dist-pro/chunk-VGZBBSUY.js +1 -0
  35. package/dist-pro/chunk-VR7UEGNY.js +1 -0
  36. package/dist-pro/chunk-WOT6VMZA.js +1 -0
  37. package/dist-pro/chunk-XRJXR3CS.js +1 -0
  38. package/dist-pro/chunk-YFMEN6A3.js +4 -0
  39. package/dist-pro/constants-M7ZVYTHA.js +1 -0
  40. package/dist-pro/converter/pptx-to-pdf.js +76 -0
  41. package/dist-pro/engine/archiveAssembler.js +1 -0
  42. package/dist-pro/engine/previewGenerator.js +1 -0
  43. package/dist-pro/engine/templateMutator.js +1 -0
  44. package/dist-pro/index.js +1 -0
  45. package/dist-pro/layout/index.js +1 -0
  46. package/dist-pro/public/engine.js +1 -0
  47. package/dist-pro/public/interpreter.js +1 -0
  48. package/dist-pro/public/quality.js +1 -0
  49. package/dist-pro/public/renderer.js +1 -0
  50. package/dist-pro/public/validator.js +1 -0
  51. package/dist-pro/rasterizer-O3LV7S73.js +1 -0
  52. package/dist-pro/renderer/index.js +1 -0
  53. package/dist-pro/src-6P7ZCHQN.js +23 -0
  54. package/dist-pro/svg/exporter.js +1 -0
  55. package/dist-pro/types/core/src/compatibility/pptxCompatibility.d.ts +19 -0
  56. package/dist-pro/types/core/src/compatibility/pptxCompatibility.d.ts.map +1 -0
  57. package/dist-pro/types/core/src/compatibility/shared.d.ts +52 -0
  58. package/dist-pro/types/core/src/compatibility/shared.d.ts.map +1 -0
  59. package/dist-pro/types/core/src/contextStorage.d.ts +21 -0
  60. package/dist-pro/types/core/src/contextStorage.d.ts.map +1 -0
  61. package/dist-pro/types/core/src/converter/pptx-to-pdf.d.ts +11 -0
  62. package/dist-pro/types/core/src/converter/pptx-to-pdf.d.ts.map +1 -0
  63. package/dist-pro/types/core/src/deterministicMode.d.ts +13 -0
  64. package/dist-pro/types/core/src/deterministicMode.d.ts.map +1 -0
  65. package/dist-pro/types/core/src/diagrams/cycle.d.ts +3 -0
  66. package/dist-pro/types/core/src/diagrams/cycle.d.ts.map +1 -0
  67. package/dist-pro/types/core/src/diagrams/hierarchy.d.ts +3 -0
  68. package/dist-pro/types/core/src/diagrams/hierarchy.d.ts.map +1 -0
  69. package/dist-pro/types/core/src/diagrams/index.d.ts +14 -0
  70. package/dist-pro/types/core/src/diagrams/index.d.ts.map +1 -0
  71. package/dist-pro/types/core/src/diagrams/list.d.ts +3 -0
  72. package/dist-pro/types/core/src/diagrams/list.d.ts.map +1 -0
  73. package/dist-pro/types/core/src/diagrams/matrix.d.ts +3 -0
  74. package/dist-pro/types/core/src/diagrams/matrix.d.ts.map +1 -0
  75. package/dist-pro/types/core/src/diagrams/processFlow.d.ts +3 -0
  76. package/dist-pro/types/core/src/diagrams/processFlow.d.ts.map +1 -0
  77. package/dist-pro/types/core/src/diagrams/pyramid.d.ts +3 -0
  78. package/dist-pro/types/core/src/diagrams/pyramid.d.ts.map +1 -0
  79. package/dist-pro/types/core/src/engine/archiveAssembler.d.ts +34 -0
  80. package/dist-pro/types/core/src/engine/archiveAssembler.d.ts.map +1 -0
  81. package/dist-pro/types/core/src/engine/documentValidation.d.ts +3 -0
  82. package/dist-pro/types/core/src/engine/documentValidation.d.ts.map +1 -0
  83. package/dist-pro/types/core/src/engine/previewGenerator.d.ts +9 -0
  84. package/dist-pro/types/core/src/engine/previewGenerator.d.ts.map +1 -0
  85. package/dist-pro/types/core/src/engine/slideProcessor.d.ts +54 -0
  86. package/dist-pro/types/core/src/engine/slideProcessor.d.ts.map +1 -0
  87. package/dist-pro/types/core/src/engine/templateMutator.d.ts +13 -0
  88. package/dist-pro/types/core/src/engine/templateMutator.d.ts.map +1 -0
  89. package/dist-pro/types/core/src/engine/templatePreflight.d.ts +5 -0
  90. package/dist-pro/types/core/src/engine/templatePreflight.d.ts.map +1 -0
  91. package/dist-pro/types/core/src/engine.d.ts +80 -0
  92. package/dist-pro/types/core/src/engine.d.ts.map +1 -0
  93. package/dist-pro/types/core/src/engineMode.d.ts +14 -0
  94. package/dist-pro/types/core/src/engineMode.d.ts.map +1 -0
  95. package/dist-pro/types/core/src/errors.d.ts +37 -0
  96. package/dist-pro/types/core/src/errors.d.ts.map +1 -0
  97. package/dist-pro/types/core/src/feature-gate.d.ts +18 -0
  98. package/dist-pro/types/core/src/feature-gate.d.ts.map +1 -0
  99. package/dist-pro/types/core/src/fetchRetry.d.ts +6 -0
  100. package/dist-pro/types/core/src/fetchRetry.d.ts.map +1 -0
  101. package/dist-pro/types/core/src/index-lite.d.ts +2 -0
  102. package/dist-pro/types/core/src/index-lite.d.ts.map +1 -0
  103. package/dist-pro/types/core/src/index.d.ts +69 -0
  104. package/dist-pro/types/core/src/index.d.ts.map +1 -0
  105. package/dist-pro/types/core/src/interpreter/agentSchema.d.ts +145 -0
  106. package/dist-pro/types/core/src/interpreter/agentSchema.d.ts.map +1 -0
  107. package/dist-pro/types/core/src/interpreter/index.d.ts +7 -0
  108. package/dist-pro/types/core/src/interpreter/index.d.ts.map +1 -0
  109. package/dist-pro/types/core/src/interpreter/interpreter.d.ts +17 -0
  110. package/dist-pro/types/core/src/interpreter/interpreter.d.ts.map +1 -0
  111. package/dist-pro/types/core/src/interpreter/slideSplitter.d.ts +22 -0
  112. package/dist-pro/types/core/src/interpreter/slideSplitter.d.ts.map +1 -0
  113. package/dist-pro/types/core/src/interpreter/templates.d.ts +12 -0
  114. package/dist-pro/types/core/src/interpreter/templates.d.ts.map +1 -0
  115. package/dist-pro/types/core/src/layout/build.d.ts +9 -0
  116. package/dist-pro/types/core/src/layout/build.d.ts.map +1 -0
  117. package/dist-pro/types/core/src/layout/extract.d.ts +27 -0
  118. package/dist-pro/types/core/src/layout/extract.d.ts.map +1 -0
  119. package/dist-pro/types/core/src/layout/ghostGrid.d.ts +10 -0
  120. package/dist-pro/types/core/src/layout/ghostGrid.d.ts.map +1 -0
  121. package/dist-pro/types/core/src/layout/index.d.ts +9 -0
  122. package/dist-pro/types/core/src/layout/index.d.ts.map +1 -0
  123. package/dist-pro/types/core/src/layout/measureBridge.d.ts +12 -0
  124. package/dist-pro/types/core/src/layout/measureBridge.d.ts.map +1 -0
  125. package/dist-pro/types/core/src/layout/traverse.d.ts +8 -0
  126. package/dist-pro/types/core/src/layout/traverse.d.ts.map +1 -0
  127. package/dist-pro/types/core/src/layout/visualOrder.d.ts +16 -0
  128. package/dist-pro/types/core/src/layout/visualOrder.d.ts.map +1 -0
  129. package/dist-pro/types/core/src/layout/yoga.d.ts +6 -0
  130. package/dist-pro/types/core/src/layout/yoga.d.ts.map +1 -0
  131. package/dist-pro/types/core/src/license.d.ts +17 -0
  132. package/dist-pro/types/core/src/license.d.ts.map +1 -0
  133. package/dist-pro/types/core/src/logger.d.ts +23 -0
  134. package/dist-pro/types/core/src/logger.d.ts.map +1 -0
  135. package/dist-pro/types/core/src/normalizer.d.ts +12 -0
  136. package/dist-pro/types/core/src/normalizer.d.ts.map +1 -0
  137. package/dist-pro/types/core/src/ooxml/animationBehaviors.d.ts +22 -0
  138. package/dist-pro/types/core/src/ooxml/animationBehaviors.d.ts.map +1 -0
  139. package/dist-pro/types/core/src/ooxml/animationEffects.d.ts +21 -0
  140. package/dist-pro/types/core/src/ooxml/animationEffects.d.ts.map +1 -0
  141. package/dist-pro/types/core/src/ooxml/animationTypes.d.ts +27 -0
  142. package/dist-pro/types/core/src/ooxml/animationTypes.d.ts.map +1 -0
  143. package/dist-pro/types/core/src/ooxml/chart/chartCapabilities.d.ts +24 -0
  144. package/dist-pro/types/core/src/ooxml/chart/chartCapabilities.d.ts.map +1 -0
  145. package/dist-pro/types/core/src/ooxml/chart/chartColorResolver.d.ts +12 -0
  146. package/dist-pro/types/core/src/ooxml/chart/chartColorResolver.d.ts.map +1 -0
  147. package/dist-pro/types/core/src/ooxml/chart/chartExXml.d.ts +17 -0
  148. package/dist-pro/types/core/src/ooxml/chart/chartExXml.d.ts.map +1 -0
  149. package/dist-pro/types/core/src/ooxml/chart/chartLayout.d.ts +39 -0
  150. package/dist-pro/types/core/src/ooxml/chart/chartLayout.d.ts.map +1 -0
  151. package/dist-pro/types/core/src/ooxml/chart/chartRels.d.ts +16 -0
  152. package/dist-pro/types/core/src/ooxml/chart/chartRels.d.ts.map +1 -0
  153. package/dist-pro/types/core/src/ooxml/chart/chartXml.d.ts +9 -0
  154. package/dist-pro/types/core/src/ooxml/chart/chartXml.d.ts.map +1 -0
  155. package/dist-pro/types/core/src/ooxml/chart/chartXmlAxes.d.ts +15 -0
  156. package/dist-pro/types/core/src/ooxml/chart/chartXmlAxes.d.ts.map +1 -0
  157. package/dist-pro/types/core/src/ooxml/chart/chartXmlClassic.d.ts +10 -0
  158. package/dist-pro/types/core/src/ooxml/chart/chartXmlClassic.d.ts.map +1 -0
  159. package/dist-pro/types/core/src/ooxml/chart/chartXmlDecor.d.ts +8 -0
  160. package/dist-pro/types/core/src/ooxml/chart/chartXmlDecor.d.ts.map +1 -0
  161. package/dist-pro/types/core/src/ooxml/chart/chartXmlSeries.d.ts +11 -0
  162. package/dist-pro/types/core/src/ooxml/chart/chartXmlSeries.d.ts.map +1 -0
  163. package/dist-pro/types/core/src/ooxml/chart/chartXmlShared.d.ts +9 -0
  164. package/dist-pro/types/core/src/ooxml/chart/chartXmlShared.d.ts.map +1 -0
  165. package/dist-pro/types/core/src/ooxml/chart/chartXmlSpecial.d.ts +5 -0
  166. package/dist-pro/types/core/src/ooxml/chart/chartXmlSpecial.d.ts.map +1 -0
  167. package/dist-pro/types/core/src/ooxml/chart/chartXmlXY.d.ts +4 -0
  168. package/dist-pro/types/core/src/ooxml/chart/chartXmlXY.d.ts.map +1 -0
  169. package/dist-pro/types/core/src/ooxml/chart/excelEmitter.d.ts +9 -0
  170. package/dist-pro/types/core/src/ooxml/chart/excelEmitter.d.ts.map +1 -0
  171. package/dist-pro/types/core/src/ooxml/chart/index.d.ts +51 -0
  172. package/dist-pro/types/core/src/ooxml/chart/index.d.ts.map +1 -0
  173. package/dist-pro/types/core/src/ooxml/chart/pvceRenderer.d.ts +9 -0
  174. package/dist-pro/types/core/src/ooxml/chart/pvceRenderer.d.ts.map +1 -0
  175. package/dist-pro/types/core/src/ooxml/chart/rasterizer.d.ts +30 -0
  176. package/dist-pro/types/core/src/ooxml/chart/rasterizer.d.ts.map +1 -0
  177. package/dist-pro/types/core/src/ooxml/chart/waterfallCompat.d.ts +3 -0
  178. package/dist-pro/types/core/src/ooxml/chart/waterfallCompat.d.ts.map +1 -0
  179. package/dist-pro/types/core/src/ooxml/colorXml.d.ts +11 -0
  180. package/dist-pro/types/core/src/ooxml/colorXml.d.ts.map +1 -0
  181. package/dist-pro/types/core/src/ooxml/comments.d.ts +24 -0
  182. package/dist-pro/types/core/src/ooxml/comments.d.ts.map +1 -0
  183. package/dist-pro/types/core/src/ooxml/constants.d.ts +25 -0
  184. package/dist-pro/types/core/src/ooxml/constants.d.ts.map +1 -0
  185. package/dist-pro/types/core/src/ooxml/contentTypes.d.ts +2 -0
  186. package/dist-pro/types/core/src/ooxml/contentTypes.d.ts.map +1 -0
  187. package/dist-pro/types/core/src/ooxml/customProps.d.ts +6 -0
  188. package/dist-pro/types/core/src/ooxml/customProps.d.ts.map +1 -0
  189. package/dist-pro/types/core/src/ooxml/deterministicIds.d.ts +2 -0
  190. package/dist-pro/types/core/src/ooxml/deterministicIds.d.ts.map +1 -0
  191. package/dist-pro/types/core/src/ooxml/docProps.d.ts +11 -0
  192. package/dist-pro/types/core/src/ooxml/docProps.d.ts.map +1 -0
  193. package/dist-pro/types/core/src/ooxml/drawing/autoFitPolicy.d.ts +17 -0
  194. package/dist-pro/types/core/src/ooxml/drawing/autoFitPolicy.d.ts.map +1 -0
  195. package/dist-pro/types/core/src/ooxml/drawing/chart.d.ts +23 -0
  196. package/dist-pro/types/core/src/ooxml/drawing/chart.d.ts.map +1 -0
  197. package/dist-pro/types/core/src/ooxml/drawing/connector.d.ts +3 -0
  198. package/dist-pro/types/core/src/ooxml/drawing/connector.d.ts.map +1 -0
  199. package/dist-pro/types/core/src/ooxml/drawing/geometry.d.ts +3 -0
  200. package/dist-pro/types/core/src/ooxml/drawing/geometry.d.ts.map +1 -0
  201. package/dist-pro/types/core/src/ooxml/drawing/image.d.ts +8 -0
  202. package/dist-pro/types/core/src/ooxml/drawing/image.d.ts.map +1 -0
  203. package/dist-pro/types/core/src/ooxml/drawing/math.d.ts +60 -0
  204. package/dist-pro/types/core/src/ooxml/drawing/math.d.ts.map +1 -0
  205. package/dist-pro/types/core/src/ooxml/drawing/orchestrator.d.ts +72 -0
  206. package/dist-pro/types/core/src/ooxml/drawing/orchestrator.d.ts.map +1 -0
  207. package/dist-pro/types/core/src/ooxml/drawing/shape.d.ts +8 -0
  208. package/dist-pro/types/core/src/ooxml/drawing/shape.d.ts.map +1 -0
  209. package/dist-pro/types/core/src/ooxml/drawing/table.d.ts +8 -0
  210. package/dist-pro/types/core/src/ooxml/drawing/table.d.ts.map +1 -0
  211. package/dist-pro/types/core/src/ooxml/drawing/text.d.ts +14 -0
  212. package/dist-pro/types/core/src/ooxml/drawing/text.d.ts.map +1 -0
  213. package/dist-pro/types/core/src/ooxml/drawing/textUtils.d.ts +56 -0
  214. package/dist-pro/types/core/src/ooxml/drawing/textUtils.d.ts.map +1 -0
  215. package/dist-pro/types/core/src/ooxml/drawing/webVideo.d.ts +12 -0
  216. package/dist-pro/types/core/src/ooxml/drawing/webVideo.d.ts.map +1 -0
  217. package/dist-pro/types/core/src/ooxml/drawing/xmlEscape.d.ts +7 -0
  218. package/dist-pro/types/core/src/ooxml/drawing/xmlEscape.d.ts.map +1 -0
  219. package/dist-pro/types/core/src/ooxml/fontEmbed.d.ts +30 -0
  220. package/dist-pro/types/core/src/ooxml/fontEmbed.d.ts.map +1 -0
  221. package/dist-pro/types/core/src/ooxml/handoutMaster.d.ts +10 -0
  222. package/dist-pro/types/core/src/ooxml/handoutMaster.d.ts.map +1 -0
  223. package/dist-pro/types/core/src/ooxml/media.d.ts +108 -0
  224. package/dist-pro/types/core/src/ooxml/media.d.ts.map +1 -0
  225. package/dist-pro/types/core/src/ooxml/packageParts.d.ts +15 -0
  226. package/dist-pro/types/core/src/ooxml/packageParts.d.ts.map +1 -0
  227. package/dist-pro/types/core/src/ooxml/presentation.d.ts +13 -0
  228. package/dist-pro/types/core/src/ooxml/presentation.d.ts.map +1 -0
  229. package/dist-pro/types/core/src/ooxml/presentationOrder.d.ts +5 -0
  230. package/dist-pro/types/core/src/ooxml/presentationOrder.d.ts.map +1 -0
  231. package/dist-pro/types/core/src/ooxml/rIdCalc.d.ts +46 -0
  232. package/dist-pro/types/core/src/ooxml/rIdCalc.d.ts.map +1 -0
  233. package/dist-pro/types/core/src/ooxml/relationships.d.ts +7 -0
  234. package/dist-pro/types/core/src/ooxml/relationships.d.ts.map +1 -0
  235. package/dist-pro/types/core/src/ooxml/slide.d.ts +32 -0
  236. package/dist-pro/types/core/src/ooxml/slide.d.ts.map +1 -0
  237. package/dist-pro/types/core/src/ooxml/slideRelationships.d.ts +51 -0
  238. package/dist-pro/types/core/src/ooxml/slideRelationships.d.ts.map +1 -0
  239. package/dist-pro/types/core/src/ooxml/theme.d.ts +4 -0
  240. package/dist-pro/types/core/src/ooxml/theme.d.ts.map +1 -0
  241. package/dist-pro/types/core/src/ooxml/timing.d.ts +7 -0
  242. package/dist-pro/types/core/src/ooxml/timing.d.ts.map +1 -0
  243. package/dist-pro/types/core/src/ooxml/transition.d.ts +3 -0
  244. package/dist-pro/types/core/src/ooxml/transition.d.ts.map +1 -0
  245. package/dist-pro/types/core/src/ooxml/urlGuard.d.ts +27 -0
  246. package/dist-pro/types/core/src/ooxml/urlGuard.d.ts.map +1 -0
  247. package/dist-pro/types/core/src/ooxml/webVideoDetect.d.ts +10 -0
  248. package/dist-pro/types/core/src/ooxml/webVideoDetect.d.ts.map +1 -0
  249. package/dist-pro/types/core/src/ooxml/zipper.d.ts +64 -0
  250. package/dist-pro/types/core/src/ooxml/zipper.d.ts.map +1 -0
  251. package/dist-pro/types/core/src/public/engine.d.ts +12 -0
  252. package/dist-pro/types/core/src/public/engine.d.ts.map +1 -0
  253. package/dist-pro/types/core/src/public/interpreter.d.ts +3 -0
  254. package/dist-pro/types/core/src/public/interpreter.d.ts.map +1 -0
  255. package/dist-pro/types/core/src/public/quality.d.ts +12 -0
  256. package/dist-pro/types/core/src/public/quality.d.ts.map +1 -0
  257. package/dist-pro/types/core/src/public/renderer.d.ts +3 -0
  258. package/dist-pro/types/core/src/public/renderer.d.ts.map +1 -0
  259. package/dist-pro/types/core/src/public/validator.d.ts +2 -0
  260. package/dist-pro/types/core/src/public/validator.d.ts.map +1 -0
  261. package/dist-pro/types/core/src/quality/accessibility-contract.d.ts +46 -0
  262. package/dist-pro/types/core/src/quality/accessibility-contract.d.ts.map +1 -0
  263. package/dist-pro/types/core/src/quality/accessibilityRemediation.d.ts +10 -0
  264. package/dist-pro/types/core/src/quality/accessibilityRemediation.d.ts.map +1 -0
  265. package/dist-pro/types/core/src/quality/accessibilityValidator.d.ts +32 -0
  266. package/dist-pro/types/core/src/quality/accessibilityValidator.d.ts.map +1 -0
  267. package/dist-pro/types/core/src/quality/chartInventory.d.ts +20 -0
  268. package/dist-pro/types/core/src/quality/chartInventory.d.ts.map +1 -0
  269. package/dist-pro/types/core/src/quality/corpus.d.ts +17 -0
  270. package/dist-pro/types/core/src/quality/corpus.d.ts.map +1 -0
  271. package/dist-pro/types/core/src/quality/document-diff.d.ts +5 -0
  272. package/dist-pro/types/core/src/quality/document-diff.d.ts.map +1 -0
  273. package/dist-pro/types/core/src/quality/packageDiff.d.ts +10 -0
  274. package/dist-pro/types/core/src/quality/packageDiff.d.ts.map +1 -0
  275. package/dist-pro/types/core/src/quality/public-quality-types.d.ts +11 -0
  276. package/dist-pro/types/core/src/quality/public-quality-types.d.ts.map +1 -0
  277. package/dist-pro/types/core/src/quality/repair.d.ts +23 -0
  278. package/dist-pro/types/core/src/quality/repair.d.ts.map +1 -0
  279. package/dist-pro/types/core/src/quality/report.d.ts +137 -0
  280. package/dist-pro/types/core/src/quality/report.d.ts.map +1 -0
  281. package/dist-pro/types/core/src/quality/structuralValidation.d.ts +3 -0
  282. package/dist-pro/types/core/src/quality/structuralValidation.d.ts.map +1 -0
  283. package/dist-pro/types/core/src/renderContext.d.ts +45 -0
  284. package/dist-pro/types/core/src/renderContext.d.ts.map +1 -0
  285. package/dist-pro/types/core/src/renderer/canvasAsync.d.ts +6 -0
  286. package/dist-pro/types/core/src/renderer/canvasAsync.d.ts.map +1 -0
  287. package/dist-pro/types/core/src/renderer/canvasEffects.d.ts +10 -0
  288. package/dist-pro/types/core/src/renderer/canvasEffects.d.ts.map +1 -0
  289. package/dist-pro/types/core/src/renderer/canvasPlaceholders.d.ts +8 -0
  290. package/dist-pro/types/core/src/renderer/canvasPlaceholders.d.ts.map +1 -0
  291. package/dist-pro/types/core/src/renderer/canvasRenderer.d.ts +10 -0
  292. package/dist-pro/types/core/src/renderer/canvasRenderer.d.ts.map +1 -0
  293. package/dist-pro/types/core/src/renderer/canvasShapes.d.ts +4 -0
  294. package/dist-pro/types/core/src/renderer/canvasShapes.d.ts.map +1 -0
  295. package/dist-pro/types/core/src/renderer/canvasTable.d.ts +5 -0
  296. package/dist-pro/types/core/src/renderer/canvasTable.d.ts.map +1 -0
  297. package/dist-pro/types/core/src/renderer/canvasText.d.ts +9 -0
  298. package/dist-pro/types/core/src/renderer/canvasText.d.ts.map +1 -0
  299. package/dist-pro/types/core/src/renderer/colorResolver.d.ts +16 -0
  300. package/dist-pro/types/core/src/renderer/colorResolver.d.ts.map +1 -0
  301. package/dist-pro/types/core/src/renderer/fontBridge.d.ts +28 -0
  302. package/dist-pro/types/core/src/renderer/fontBridge.d.ts.map +1 -0
  303. package/dist-pro/types/core/src/renderer/index.d.ts +43 -0
  304. package/dist-pro/types/core/src/renderer/index.d.ts.map +1 -0
  305. package/dist-pro/types/core/src/svg/exporter.d.ts +9 -0
  306. package/dist-pro/types/core/src/svg/exporter.d.ts.map +1 -0
  307. package/dist-pro/types/core/src/svg/shapePaths.d.ts +11 -0
  308. package/dist-pro/types/core/src/svg/shapePaths.d.ts.map +1 -0
  309. package/dist-pro/types/core/src/template/layoutMapper.d.ts +17 -0
  310. package/dist-pro/types/core/src/template/layoutMapper.d.ts.map +1 -0
  311. package/dist-pro/types/core/src/template/mutator.d.ts +45 -0
  312. package/dist-pro/types/core/src/template/mutator.d.ts.map +1 -0
  313. package/dist-pro/types/core/src/template/parser.d.ts +75 -0
  314. package/dist-pro/types/core/src/template/parser.d.ts.map +1 -0
  315. package/dist-pro/types/core/src/template/placeholderInjector.d.ts +11 -0
  316. package/dist-pro/types/core/src/template/placeholderInjector.d.ts.map +1 -0
  317. package/dist-pro/types/core/src/template/themeResolver.d.ts +47 -0
  318. package/dist-pro/types/core/src/template/themeResolver.d.ts.map +1 -0
  319. package/dist-pro/types/core/src/template/xmlParser.d.ts +11 -0
  320. package/dist-pro/types/core/src/template/xmlParser.d.ts.map +1 -0
  321. package/dist-pro/types/core/src/types/ast.d.ts +1090 -0
  322. package/dist-pro/types/core/src/types/ast.d.ts.map +1 -0
  323. package/dist-pro/types/core/src/types/literals.d.ts +20 -0
  324. package/dist-pro/types/core/src/types/literals.d.ts.map +1 -0
  325. package/dist-pro/types/core/src/typography/autoFit.d.ts +32 -0
  326. package/dist-pro/types/core/src/typography/autoFit.d.ts.map +1 -0
  327. package/dist-pro/types/core/src/typography/autoFont.d.ts +3 -0
  328. package/dist-pro/types/core/src/typography/autoFont.d.ts.map +1 -0
  329. package/dist-pro/types/core/src/typography/bidi.d.ts +9 -0
  330. package/dist-pro/types/core/src/typography/bidi.d.ts.map +1 -0
  331. package/dist-pro/types/core/src/typography/fontCache.d.ts +30 -0
  332. package/dist-pro/types/core/src/typography/fontCache.d.ts.map +1 -0
  333. package/dist-pro/types/core/src/typography/fontFallback.d.ts +29 -0
  334. package/dist-pro/types/core/src/typography/fontFallback.d.ts.map +1 -0
  335. package/dist-pro/types/core/src/typography/fontPaths.d.ts +18 -0
  336. package/dist-pro/types/core/src/typography/fontPaths.d.ts.map +1 -0
  337. package/dist-pro/types/core/src/typography/harfbuzzLoader.d.ts +26 -0
  338. package/dist-pro/types/core/src/typography/harfbuzzLoader.d.ts.map +1 -0
  339. package/dist-pro/types/core/src/typography/knuthPlass.d.ts +36 -0
  340. package/dist-pro/types/core/src/typography/knuthPlass.d.ts.map +1 -0
  341. package/dist-pro/types/core/src/typography/metrics.d.ts +20 -0
  342. package/dist-pro/types/core/src/typography/metrics.d.ts.map +1 -0
  343. package/dist-pro/types/core/src/typography/richMetrics.d.ts +13 -0
  344. package/dist-pro/types/core/src/typography/richMetrics.d.ts.map +1 -0
  345. package/dist-pro/types/core/src/typography/segmentCache.d.ts +42 -0
  346. package/dist-pro/types/core/src/typography/segmentCache.d.ts.map +1 -0
  347. package/dist-pro/types/core/src/typography/shaper.d.ts +15 -0
  348. package/dist-pro/types/core/src/typography/shaper.d.ts.map +1 -0
  349. package/dist-pro/types/core/src/typography/tableAutoSize.d.ts +10 -0
  350. package/dist-pro/types/core/src/typography/tableAutoSize.d.ts.map +1 -0
  351. package/dist-pro/types/core/src/validator/schema.d.ts +3143 -0
  352. package/dist-pro/types/core/src/validator/schema.d.ts.map +1 -0
  353. package/dist-pro/types/core/src/zIndex.d.ts +20 -0
  354. package/dist-pro/types/core/src/zIndex.d.ts.map +1 -0
  355. package/dist-pro/types/document-diff/src/index.d.ts +50 -0
  356. package/dist-pro/types/document-diff/src/index.d.ts.map +1 -0
  357. package/dist-pro/types/json-to-pdf/src/encryption/pdf-encrypt.d.ts +3 -0
  358. package/dist-pro/types/json-to-pdf/src/encryption/pdf-encrypt.d.ts.map +1 -0
  359. package/dist-pro/types/json-to-pdf/src/encryption/permissions.d.ts +9 -0
  360. package/dist-pro/types/json-to-pdf/src/encryption/permissions.d.ts.map +1 -0
  361. package/dist-pro/types/json-to-pdf/src/encryption/types.d.ts +24 -0
  362. package/dist-pro/types/json-to-pdf/src/encryption/types.d.ts.map +1 -0
  363. package/dist-pro/types/json-to-pdf/src/engine.d.ts +64 -0
  364. package/dist-pro/types/json-to-pdf/src/engine.d.ts.map +1 -0
  365. package/dist-pro/types/json-to-pdf/src/font-embedding.d.ts +92 -0
  366. package/dist-pro/types/json-to-pdf/src/font-embedding.d.ts.map +1 -0
  367. package/dist-pro/types/json-to-pdf/src/font-source.d.ts +12 -0
  368. package/dist-pro/types/json-to-pdf/src/font-source.d.ts.map +1 -0
  369. package/dist-pro/types/json-to-pdf/src/harfbuzz.d.ts +14 -0
  370. package/dist-pro/types/json-to-pdf/src/harfbuzz.d.ts.map +1 -0
  371. package/dist-pro/types/json-to-pdf/src/helvetica-widths.d.ts +13 -0
  372. package/dist-pro/types/json-to-pdf/src/helvetica-widths.d.ts.map +1 -0
  373. package/dist-pro/types/json-to-pdf/src/image-embedding.d.ts +31 -0
  374. package/dist-pro/types/json-to-pdf/src/image-embedding.d.ts.map +1 -0
  375. package/dist-pro/types/json-to-pdf/src/index.d.ts +36 -0
  376. package/dist-pro/types/json-to-pdf/src/index.d.ts.map +1 -0
  377. package/dist-pro/types/json-to-pdf/src/pdf-form-fill.d.ts +38 -0
  378. package/dist-pro/types/json-to-pdf/src/pdf-form-fill.d.ts.map +1 -0
  379. package/dist-pro/types/json-to-pdf/src/pdf-objects.d.ts +42 -0
  380. package/dist-pro/types/json-to-pdf/src/pdf-objects.d.ts.map +1 -0
  381. package/dist-pro/types/json-to-pdf/src/pdf-renderer.d.ts +216 -0
  382. package/dist-pro/types/json-to-pdf/src/pdf-renderer.d.ts.map +1 -0
  383. package/dist-pro/types/json-to-pdf/src/pdf-writer.d.ts +13 -0
  384. package/dist-pro/types/json-to-pdf/src/pdf-writer.d.ts.map +1 -0
  385. package/dist-pro/types/json-to-pdf/src/pdfa/srgb-icc-profile.d.ts +2 -0
  386. package/dist-pro/types/json-to-pdf/src/pdfa/srgb-icc-profile.d.ts.map +1 -0
  387. package/dist-pro/types/json-to-pdf/src/phase10-quality.d.ts +3 -0
  388. package/dist-pro/types/json-to-pdf/src/phase10-quality.d.ts.map +1 -0
  389. package/dist-pro/types/json-to-pdf/src/phase10-repair.d.ts +4 -0
  390. package/dist-pro/types/json-to-pdf/src/phase10-repair.d.ts.map +1 -0
  391. package/dist-pro/types/json-to-pdf/src/phase10-signature.d.ts +17 -0
  392. package/dist-pro/types/json-to-pdf/src/phase10-signature.d.ts.map +1 -0
  393. package/dist-pro/types/json-to-pdf/src/phase10-types.d.ts +106 -0
  394. package/dist-pro/types/json-to-pdf/src/phase10-types.d.ts.map +1 -0
  395. package/dist-pro/types/json-to-pdf/src/phase10-validate.d.ts +28 -0
  396. package/dist-pro/types/json-to-pdf/src/phase10-validate.d.ts.map +1 -0
  397. package/dist-pro/types/json-to-pdf/src/phase3-linebreak.d.ts +18 -0
  398. package/dist-pro/types/json-to-pdf/src/phase3-linebreak.d.ts.map +1 -0
  399. package/dist-pro/types/json-to-pdf/src/phase3-render.d.ts +113 -0
  400. package/dist-pro/types/json-to-pdf/src/phase3-render.d.ts.map +1 -0
  401. package/dist-pro/types/json-to-pdf/src/phase3-types.d.ts +115 -0
  402. package/dist-pro/types/json-to-pdf/src/phase3-types.d.ts.map +1 -0
  403. package/dist-pro/types/json-to-pdf/src/phase4-types.d.ts +106 -0
  404. package/dist-pro/types/json-to-pdf/src/phase4-types.d.ts.map +1 -0
  405. package/dist-pro/types/json-to-pdf/src/phase5-table-layout.d.ts +37 -0
  406. package/dist-pro/types/json-to-pdf/src/phase5-table-layout.d.ts.map +1 -0
  407. package/dist-pro/types/json-to-pdf/src/phase5-types.d.ts +60 -0
  408. package/dist-pro/types/json-to-pdf/src/phase5-types.d.ts.map +1 -0
  409. package/dist-pro/types/json-to-pdf/src/phase6-analyze.d.ts +51 -0
  410. package/dist-pro/types/json-to-pdf/src/phase6-analyze.d.ts.map +1 -0
  411. package/dist-pro/types/json-to-pdf/src/phase6-types.d.ts +149 -0
  412. package/dist-pro/types/json-to-pdf/src/phase6-types.d.ts.map +1 -0
  413. package/dist-pro/types/json-to-pdf/src/phase7-analyze.d.ts +16 -0
  414. package/dist-pro/types/json-to-pdf/src/phase7-analyze.d.ts.map +1 -0
  415. package/dist-pro/types/json-to-pdf/src/phase7-types.d.ts +46 -0
  416. package/dist-pro/types/json-to-pdf/src/phase7-types.d.ts.map +1 -0
  417. package/dist-pro/types/json-to-pdf/src/phase8-analyze.d.ts +4 -0
  418. package/dist-pro/types/json-to-pdf/src/phase8-analyze.d.ts.map +1 -0
  419. package/dist-pro/types/json-to-pdf/src/phase8-types.d.ts +16 -0
  420. package/dist-pro/types/json-to-pdf/src/phase8-types.d.ts.map +1 -0
  421. package/dist-pro/types/json-to-pdf/src/phase9-stream.d.ts +5 -0
  422. package/dist-pro/types/json-to-pdf/src/phase9-stream.d.ts.map +1 -0
  423. package/dist-pro/types/json-to-pdf/src/phase9-types.d.ts +11 -0
  424. package/dist-pro/types/json-to-pdf/src/phase9-types.d.ts.map +1 -0
  425. package/dist-pro/types/json-to-pdf/src/pro-guard.d.ts +5 -0
  426. package/dist-pro/types/json-to-pdf/src/pro-guard.d.ts.map +1 -0
  427. package/dist-pro/types/json-to-pdf/src/public-quality-types.d.ts +44 -0
  428. package/dist-pro/types/json-to-pdf/src/public-quality-types.d.ts.map +1 -0
  429. package/dist-pro/types/json-to-pdf/src/shared-quality.d.ts +4 -0
  430. package/dist-pro/types/json-to-pdf/src/shared-quality.d.ts.map +1 -0
  431. package/dist-pro/types/json-to-pdf/src/svg.d.ts +4 -0
  432. package/dist-pro/types/json-to-pdf/src/svg.d.ts.map +1 -0
  433. package/dist-pro/types/json-to-pdf/src/vendor-types.d.ts +37 -0
  434. package/dist-pro/types/json-to-pdf/src/vendor-types.d.ts.map +1 -0
  435. package/dist-pro/types/json-to-pdf/src/winansi-encoding.d.ts +26 -0
  436. package/dist-pro/types/json-to-pdf/src/winansi-encoding.d.ts.map +1 -0
  437. package/dist-pro/types/license/src/errors.d.ts +11 -0
  438. package/dist-pro/types/license/src/errors.d.ts.map +1 -0
  439. package/dist-pro/types/license/src/index.d.ts +5 -0
  440. package/dist-pro/types/license/src/index.d.ts.map +1 -0
  441. package/dist-pro/types/license/src/license.d.ts +16 -0
  442. package/dist-pro/types/license/src/license.d.ts.map +1 -0
  443. package/dist-pro/types/license/src/quality.d.ts +44 -0
  444. package/dist-pro/types/license/src/quality.d.ts.map +1 -0
  445. package/dist-pro/types/pvce/src/charts/accessibility.d.ts +102 -0
  446. package/dist-pro/types/pvce/src/charts/accessibility.d.ts.map +1 -0
  447. package/dist-pro/types/pvce/src/charts/collision-solver.d.ts +97 -0
  448. package/dist-pro/types/pvce/src/charts/collision-solver.d.ts.map +1 -0
  449. package/dist-pro/types/pvce/src/charts/color-pipeline.d.ts +149 -0
  450. package/dist-pro/types/pvce/src/charts/color-pipeline.d.ts.map +1 -0
  451. package/dist-pro/types/pvce/src/charts/compiler.d.ts +155 -0
  452. package/dist-pro/types/pvce/src/charts/compiler.d.ts.map +1 -0
  453. package/dist-pro/types/pvce/src/charts/determinism.d.ts +104 -0
  454. package/dist-pro/types/pvce/src/charts/determinism.d.ts.map +1 -0
  455. package/dist-pro/types/pvce/src/charts/glyph-oracle.d.ts +113 -0
  456. package/dist-pro/types/pvce/src/charts/glyph-oracle.d.ts.map +1 -0
  457. package/dist-pro/types/pvce/src/charts/index.d.ts +46 -0
  458. package/dist-pro/types/pvce/src/charts/index.d.ts.map +1 -0
  459. package/dist-pro/types/pvce/src/charts/path-optimizer.d.ts +106 -0
  460. package/dist-pro/types/pvce/src/charts/path-optimizer.d.ts.map +1 -0
  461. package/dist-pro/types/pvce/src/charts/svg-renderer.d.ts +96 -0
  462. package/dist-pro/types/pvce/src/charts/svg-renderer.d.ts.map +1 -0
  463. package/dist-pro/types/pvce/src/charts/types.d.ts +459 -0
  464. package/dist-pro/types/pvce/src/charts/types.d.ts.map +1 -0
  465. package/dist-pro/types/pvce/src/index.d.ts +2 -0
  466. package/dist-pro/types/pvce/src/index.d.ts.map +1 -0
  467. package/package.json +100 -0
@@ -0,0 +1,23 @@
1
+ import"./chunk-WOT6VMZA.js";var H=(n=>(n[n.STANDARD=0]="STANDARD",n[n.STAGGERED=1]="STAGGERED",n[n.ROTATED_45=2]="ROTATED_45",n[n.ROTATED_90=3]="ROTATED_90",n[n.SAMPLED=4]="SAMPLED",n))(H||{}),W={WIDTH:1e4,HEIGHT:1e4},z=.25,bt=.5;var I={Arial:{avgCharWidth:.52,capHeight:.72,xHeight:.52,ascent:.91,descent:.21,lineHeight:1.15,charWidths:{" ":.28,"!":.28,'"':.35,"#":.56,$:.56,"%":.89,"&":.67,"'":.19,"(":.33,")":.33,"*":.39,"+":.58,",":.28,"-":.33,".":.28,"/":.28,0:.56,1:.56,2:.56,3:.56,4:.56,5:.56,6:.56,7:.56,8:.56,9:.56,":":.28,";":.28,"<":.58,"=":.58,">":.58,"?":.56,"@":1.02,A:.67,B:.67,C:.72,D:.72,E:.67,F:.61,G:.78,H:.72,I:.28,J:.5,K:.67,L:.56,M:.83,N:.72,O:.78,P:.67,Q:.78,R:.72,S:.67,T:.61,U:.72,V:.67,W:.94,X:.67,Y:.67,Z:.61,a:.56,b:.56,c:.5,d:.56,e:.56,f:.28,g:.56,h:.56,i:.22,j:.22,k:.5,l:.22,m:.83,n:.56,o:.56,p:.56,q:.56,r:.33,s:.5,t:.28,u:.56,v:.5,w:.72,x:.5,y:.5,z:.5}},Helvetica:{avgCharWidth:.52,capHeight:.72,xHeight:.52,ascent:.91,descent:.21,lineHeight:1.15,charWidths:{" ":.28,"!":.28,'"':.36,"#":.56,$:.56,"%":.89,"&":.67,"'":.22,"(":.33,")":.33,"*":.39,"+":.58,",":.28,"-":.33,".":.28,"/":.28,0:.56,1:.56,2:.56,3:.56,4:.56,5:.56,6:.56,7:.56,8:.56,9:.56,":":.28,";":.28,"<":.58,"=":.58,">":.58,"?":.56,"@":1.01,A:.67,B:.67,C:.72,D:.72,E:.67,F:.61,G:.78,H:.72,I:.28,J:.5,K:.67,L:.56,M:.83,N:.72,O:.78,P:.67,Q:.78,R:.72,S:.67,T:.61,U:.72,V:.67,W:.94,X:.67,Y:.67,Z:.61,a:.56,b:.56,c:.5,d:.56,e:.56,f:.28,g:.56,h:.56,i:.22,j:.22,k:.5,l:.22,m:.83,n:.56,o:.56,p:.56,q:.56,r:.33,s:.5,t:.28,u:.56,v:.5,w:.72,x:.5,y:.5,z:.5}},"Open Sans":{avgCharWidth:.54,capHeight:.71,xHeight:.54,ascent:.93,descent:.26,lineHeight:1.2,charWidths:{" ":.26,"!":.26,'"':.41,"#":.63,$:.54,"%":.84,"&":.69,"'":.21,"(":.31,")":.31,"*":.43,"+":.54,",":.23,"-":.33,".":.26,"/":.36,0:.54,1:.54,2:.54,3:.54,4:.54,5:.54,6:.54,7:.54,8:.54,9:.54,":":.24,";":.24,"<":.54,"=":.54,">":.54,"?":.45,"@":.93,A:.65,B:.63,C:.65,D:.7,E:.55,F:.52,G:.72,H:.72,I:.27,J:.41,K:.62,L:.51,M:.9,N:.74,O:.76,P:.6,Q:.76,R:.62,S:.56,T:.56,U:.7,V:.62,W:.94,X:.6,Y:.57,Z:.57,a:.53,b:.58,c:.48,d:.58,e:.54,f:.33,g:.54,h:.58,i:.24,j:.24,k:.52,l:.24,m:.89,n:.58,o:.57,p:.58,q:.58,r:.37,s:.47,t:.36,u:.58,v:.5,w:.77,x:.49,y:.5,z:.46}},Roboto:{avgCharWidth:.53,capHeight:.71,xHeight:.53,ascent:.93,descent:.24,lineHeight:1.17,charWidths:{" ":.25,"!":.26,'"':.35,"#":.59,$:.53,"%":.74,"&":.62,"'":.19,"(":.33,")":.33,"*":.41,"+":.53,",":.21,"-":.3,".":.26,"/":.39,0:.53,1:.53,2:.53,3:.53,4:.53,5:.53,6:.53,7:.53,8:.53,9:.53,":":.24,";":.24,"<":.5,"=":.53,">":.5,"?":.45,"@":.89,A:.64,B:.61,C:.64,D:.66,E:.55,F:.53,G:.69,H:.69,I:.27,J:.51,K:.61,L:.52,M:.85,N:.69,O:.71,P:.61,Q:.71,R:.61,S:.57,T:.57,U:.66,V:.61,W:.89,X:.6,Y:.58,Z:.58,a:.51,b:.55,c:.48,d:.55,e:.51,f:.34,g:.53,h:.55,i:.24,j:.24,k:.5,l:.24,m:.87,n:.55,o:.55,p:.55,q:.55,r:.35,s:.47,t:.35,u:.55,v:.49,w:.74,x:.49,y:.49,z:.47}},default:{avgCharWidth:.55,capHeight:.72,xHeight:.52,ascent:.92,descent:.23,lineHeight:1.15,charWidths:{}}},V=class{cache=new Map;maxCacheSize;cacheHits=0;cacheMisses=0;constructor(t={}){this.maxCacheSize=t.maxCacheSize??1e4}measureText(t,e,i="Arial"){let r=this.getCacheKey(t,e,i),n=this.cache.get(r);if(n)return n.lastAccessed=Date.now(),this.cacheHits++,n.metrics;this.cacheMisses++;let o=I[i]||I.default,a=0;for(let m of t){let u=o.charWidths[m]??o.avgCharWidth;a+=u*e}let s=e*o.lineHeight,c=e*o.ascent,l=e*o.descent,p={text:t,width:a,height:s,ascent:c,descent:l,fontFamily:i,fontSize:e};return this.addToCache(r,p),p}getFontMetrics(t){let e=I[t]||I.default;return{avgCharWidth:e.avgCharWidth,capHeight:e.capHeight,xHeight:e.xHeight,ascent:e.ascent,descent:e.descent,lineHeight:e.lineHeight}}createTextBox(t,e,i={}){let{fontFamily:r="Arial",anchor:n="start",rotation:o=0,padding:a=0}=i,s=this.measureText(t,e,r);return{text:t,width:s.width+a*2,height:s.height+a*2,anchor:n,rotation:o,padding:a,baseline:"top"}}getMaxLabelWidth(t,e,i="Arial"){let r=0;for(let n of t){let o=this.measureText(n,e,i);r=Math.max(r,o.width)}return r}getRotatedBounds(t){let e=t.rotation*Math.PI/180,i=Math.abs(Math.cos(e)),r=Math.abs(Math.sin(e));return{width:t.width*i+t.height*r,height:t.width*r+t.height*i}}boxesOverlap(t,e,i,r){let n=this.getRotatedBounds(t),o=this.getRotatedBounds(i),a=this.getAnchoredX(e.x,t.anchor,n.width),s=this.getAnchoredX(r.x,i.anchor,o.width);return!(a+n.width<s||s+o.width<a||e.y+n.height<r.y||r.y+o.height<e.y)}formatAndMeasure(t,e,i,r="Arial",n={}){let{currency:o="USD",decimals:a=2,locale:s="en-US"}=n,c;switch(e){case"currency":c=new Intl.NumberFormat(s,{style:"currency",currency:o,minimumFractionDigits:a,maximumFractionDigits:a}).format(t);break;case"percent":c=new Intl.NumberFormat(s,{style:"percent",minimumFractionDigits:a,maximumFractionDigits:a}).format(t);break;case"compact":c=this.compactNumber(t);break;default:c=new Intl.NumberFormat(s,{minimumFractionDigits:a,maximumFractionDigits:a}).format(t)}return{text:c,metrics:this.measureText(c,i,r)}}getStats(){let t=this.cacheHits+this.cacheMisses;return{cacheSize:this.cache.size,cacheHits:this.cacheHits,cacheMisses:this.cacheMisses,hitRate:t>0?this.cacheHits/t:0}}clearCache(){this.cache.clear(),this.cacheHits=0,this.cacheMisses=0}getCacheKey(t,e,i){return`${i}|${e}|${t}`}addToCache(t,e){this.cache.size>=this.maxCacheSize&&this.evictOldestEntry(),this.cache.set(t,{key:t,metrics:e,lastAccessed:Date.now()})}evictOldestEntry(){let t=null,e=1/0;for(let[i,r]of this.cache)r.lastAccessed<e&&(e=r.lastAccessed,t=i);t&&this.cache.delete(t)}getAnchoredX(t,e,i){switch(e){case"middle":return t-i/2;case"end":return t-i;default:return t}}compactNumber(t){let e=Math.abs(t);return e>=1e12?(t/1e12).toFixed(1)+"T":e>=1e9?(t/1e9).toFixed(1)+"B":e>=1e6?(t/1e6).toFixed(1)+"M":e>=1e3?(t/1e3).toFixed(1)+"K":t.toString()}},$=new V;function ft(h,t,e){return $.measureText(h,t,e)}function xt(h,t,e){return $.getMaxLabelWidth(h,t,e)}var yt={minGap:8,maxIterations:50,leaderLineThreshold:50,enableStagger:!0,enableRotation:!0,enableSampling:!0,rotationAngles:[45,90],sampleSteps:[2,3,5,10]},_=class{oracle;config;constructor(t=$,e={}){this.oracle=t,this.config={...yt,...e}}resolveAxisLabels(t,e,i,r,n,o="Arial"){if(t.length===0)return{placements:[],level:0};let a=t.map(u=>this.oracle.createTextBox(u,n,{fontFamily:o})),c=(i-e)/(t.length-1||1),l=t.map((u,x)=>({x:e+x*c,y:r})),p=this.tryStandardLayout(a,l,t);if(!p.hasCollisions)return{placements:p.placements,level:0};if(this.config.enableStagger&&(p=this.tryStaggeredLayout(a,l,t,n),!p.hasCollisions))return{placements:p.placements,level:1};if(this.config.enableRotation)for(let u of this.config.rotationAngles){let x=a.map(C=>({...C,rotation:u}));if(p=this.tryRotatedLayout(x,l,t,u),!p.hasCollisions){let C=u===45?2:3;return{placements:p.placements,level:C}}}if(this.config.enableSampling){for(let u of this.config.sampleSteps)if(p=this.trySampledLayout(a,l,t,u),!p.hasCollisions)return{placements:p.placements,level:4}}let m=this.config.sampleSteps[this.config.sampleSteps.length-1]||10;return p=this.trySampledLayout(a,l,t,m,!0),{placements:p.placements,level:4}}resolvePointLabels(t,e,i,r="Arial"){if(t.length===0)return[];let n=t.map(a=>this.oracle.createTextBox(a.label,i,{fontFamily:r})),o=t.map((a,s)=>{let c=n[s];return{id:`label-${s}`,text:a.label,box:c,position:{x:a.x-c.width/2,y:a.y-c.height-10},collisionLevel:0,isVisible:!0}});for(let a=0;a<this.config.maxIterations;a++){let s=!1;for(let c=0;c<o.length;c++){let l=o[c],p=0,m=0,u=t[c],x=l.position.x+l.box.width/2,C=l.position.y+l.box.height/2;C>u.y-20&&(m-=2);for(let y=0;y<o.length;y++){if(c===y)continue;let d=o[y];if(this.boxesOverlap(l,d)){let b=x-(d.position.x+d.box.width/2),P=C-(d.position.y+d.box.height/2),S=Math.sqrt(b*b+P*P)||1,g=Math.min(20,100/S);p+=b/S*g,m+=P/S*g}}(Math.abs(p)>.5||Math.abs(m)>.5)&&(l.position.x+=Math.max(-10,Math.min(10,p)),l.position.y+=Math.max(-10,Math.min(10,m)),l.position.x=Math.max(e.x,Math.min(e.x+e.width-l.box.width,l.position.x)),l.position.y=Math.max(e.y,Math.min(e.y+e.height-l.box.height,l.position.y)),s=!0)}if(!s)break}for(let a=0;a<o.length;a++){let s=t[a],c=o[a],l=c.position.x+c.box.width/2,p=c.position.y+c.box.height/2,m=Math.sqrt(Math.pow(l-s.x,2)+Math.pow(p-s.y,2));c.box.padding=0,m>this.config.leaderLineThreshold&&(c.leaderLine={fromPoint:{x:l,y:c.position.y+c.box.height},toPoint:{x:s.x,y:s.y},targetLabelId:c.id})}return o}resolvePieLabels(t,e,i,r,n,o="Arial"){let a=[],s=r*1.3;for(let c=0;c<t.length;c++){let l=t[c],p=(l.startAngle+l.endAngle)/2,m=l.endAngle-l.startAngle,u=this.oracle.createTextBox(l.label,n,{fontFamily:o}),C=m*r>u.width*1.5,y,d;if(C){let b=(i+r)/2;y={x:e.x+Math.cos(p)*b-u.width/2,y:e.y+Math.sin(p)*b-u.height/2}}else{let b=e.x+Math.cos(p)*s,P=e.y+Math.sin(p)*s,S=Math.cos(p)>0;u.anchor=S?"start":"end",y={x:S?b:b-u.width,y:P-u.height/2};let g=e.x+Math.cos(p)*r,f=e.y+Math.sin(p)*r,v=e.x+Math.cos(p)*(r+20),L=e.y+Math.sin(p)*(r+20);d={fromPoint:{x:g,y:f},elbowPoint:{x:v,y:L},toPoint:{x:S?y.x:y.x+u.width,y:P},targetLabelId:`pie-label-${c}`}}a.push({id:`pie-label-${c}`,text:l.label,box:u,position:y,collisionLevel:C?0:4,isVisible:!0,leaderLine:d})}return this.resolveExternalPieLabels(a,e,s),a}tryStandardLayout(t,e,i){let r=[],n=!1;for(let o=0;o<t.length;o++){let a=t[o],s=e[o],c={id:`axis-label-${o}`,text:i[o],box:{...a,anchor:"middle"},position:{x:s.x,y:s.y},collisionLevel:0,isVisible:!0};r.push(c);for(let l=0;l<o;l++)this.boxesOverlap(r[l],c)&&(n=!0)}return{placements:r,hasCollisions:n}}tryStaggeredLayout(t,e,i,r){let n=[],o=r*1.5,a=!1;for(let s=0;s<t.length;s++){let c=t[s],l=e[s],p=s%2===1,m={id:`axis-label-${s}`,text:i[s],box:{...c,anchor:"middle"},position:{x:l.x,y:l.y+(p?o:0)},collisionLevel:1,isVisible:!0};n.push(m);for(let u=0;u<s;u++)u%2===s%2&&this.boxesOverlap(n[u],m)&&(a=!0)}return{placements:n,hasCollisions:a}}tryRotatedLayout(t,e,i,r){let n=[],o=!1;for(let a=0;a<t.length;a++){let s={...t[a],rotation:r},c=e[a],l={id:`axis-label-${a}`,text:i[a],box:s,position:{x:c.x,y:c.y},collisionLevel:r===45?2:3,isVisible:!0};n.push(l);for(let p=0;p<a;p++)this.rotatedBoxesOverlap(n[p],l)&&(o=!0)}return{placements:n,hasCollisions:o}}trySampledLayout(t,e,i,r,n=!1){let o=[],a=!1;for(let s=0;s<t.length;s++){let c=s%r===0,l=t[s],p=e[s],m={id:`axis-label-${s}`,text:i[s],box:{...l,anchor:"middle"},position:{x:p.x,y:p.y},collisionLevel:4,sampleStep:r,isVisible:c};if(o.push(m),c&&!n)for(let u=0;u<s;u++)o[u].isVisible&&this.boxesOverlap(o[u],m)&&(a=!0)}return{placements:o,hasCollisions:a}}resolveExternalPieLabels(t,e,i){let r=t.filter(n=>n.leaderLine);r.sort((n,o)=>n.position.y-o.position.y);for(let n=0;n<20;n++){let o=!1;for(let a=1;a<r.length;a++){let s=r[a-1],c=r[a],l=s.position.y+s.box.height+this.config.minGap;if(c.position.y<l){let p=l-c.position.y;c.position.y=l,c.leaderLine&&(c.leaderLine.toPoint.y+=p),o=!0}}if(!o)break}}boxesOverlap(t,e){let i=this.config.minGap,r=this.getEffectiveBounds(t),n=this.getEffectiveBounds(e);return!(r.x+r.width+i<n.x||n.x+n.width+i<r.x||r.y+r.height+i<n.y||n.y+n.height+i<r.y)}rotatedBoxesOverlap(t,e){let i=this.config.minGap,r=this.oracle.getRotatedBounds(t.box),n=this.oracle.getRotatedBounds(e.box),o=t.position.x-r.width/2,a=e.position.x-n.width/2;return!(o+r.width+i<a||a+n.width+i<o||t.position.y+r.height+i<e.position.y||e.position.y+n.height+i<t.position.y)}getEffectiveBounds(t){let{box:e,position:i}=t,r=i.x;switch(e.anchor){case"middle":r-=e.width/2;break;case"end":r-=e.width;break}return{x:r,y:i.y,width:e.width,height:e.height}}},O=new _;function vt(h,t,e,i,r,n){return O.resolveAxisLabels(h,t,e,i,r,n)}function Ct(h,t,e,i){return O.resolvePointLabels(h,t,e,i)}var St={width:800,height:600,enableSnapping:!0,minStrokeWidth:z,nonScalingStrokes:!0,includeAccessibility:!0,prettyPrint:!1,customCSS:""},D=class{options;indent=0;output=[];constructor(t={}){this.options={...St,...t}}render(t){this.output=[],this.indent=0;let{width:e,height:i}=this.options,r=t.viewBox;if(this.writeLine('<svg xmlns="http://www.w3.org/2000/svg"'),this.indent++,this.writeLine(`width="${e}" height="${i}"`),this.writeLine(`viewBox="0 0 ${r.width} ${r.height}"`),this.writeLine('preserveAspectRatio="xMidYMid meet"'),this.options.includeAccessibility&&t.metadata.accessibility){let n=t.metadata.accessibility;this.writeLine(`role="${n.role}"`),this.writeLine(`aria-label="${this.escapeXML(n.altText)}"`)}return this.writeLine(">"),this.writeStyles(),t.defs&&this.writeDefs(t.defs),this.renderNode(t.root),this.indent--,this.writeLine("</svg>"),this.output.join(this.options.prettyPrint?`
2
+ `:"")}renderChart(t,e,i){let r={version:"1.0.0",viewBox:e,root:t,metadata:{dataHash:"",generatedAt:Date.now(),chartType:"bar",accessibility:{role:"Chart",altText:"Chart",dataSummary:[],lang:"en"}},defs:i};return this.render(r)}renderNode(t){switch(t.type){case"group":this.renderGroup(t);break;case"rect":this.renderRect(t);break;case"circle":this.renderCircle(t);break;case"line":this.renderLine(t);break;case"path":this.renderPath(t);break;case"text":this.renderText(t);break;case"pattern":break;default:console.warn(`Unknown node type: ${t.type}`)}}renderGroup(t){let e=this.buildCommonAttributes(t);if((t.x!==0||t.y!==0)&&e.push(`transform="translate(${this.snap(t.x)}, ${this.snap(t.y)})"`),this.writeLine(`<g ${e.join(" ")}>`),this.indent++,t.children)for(let i of t.children)this.renderNode(i);this.indent--,this.writeLine("</g>")}renderRect(t){let{attributes:e}=t,i=this.buildCommonAttributes(t),r=this.snap(t.x),n=this.snap(t.y),o=e.width??0,a=e.height??0;i.push(`x="${r}" y="${n}"`),i.push(`width="${o}" height="${a}"`),e.patternId?i.push(`fill="url(#${e.patternId})"`):e.fill&&i.push(`fill="${e.fill}"`),this.addStrokeAttributes(i,e),this.writeLine(`<rect ${i.join(" ")} />`)}renderCircle(t){let{attributes:e}=t,i=this.buildCommonAttributes(t),r=this.snap(t.x),n=this.snap(t.y),o=e.radius??5;i.push(`cx="${r}" cy="${n}" r="${o}"`),e.fill&&i.push(`fill="${e.fill}"`),this.addStrokeAttributes(i,e),this.writeLine(`<circle ${i.join(" ")} />`)}renderLine(t){let{attributes:e}=t,i=this.buildCommonAttributes(t),r=this.snap(e.x1??t.x),n=this.snap(e.y1??t.y),o=this.snap(e.x2??t.x),a=this.snap(e.y2??t.y);i.push(`x1="${r}" y1="${n}" x2="${o}" y2="${a}"`),this.addStrokeAttributes(i,e),this.writeLine(`<line ${i.join(" ")} />`)}renderPath(t){let{attributes:e}=t,i=this.buildCommonAttributes(t);e.d&&i.push(`d="${e.d}"`),e.fill?i.push(`fill="${e.fill}"`):i.push('fill="none"'),this.addStrokeAttributes(i,e),this.writeLine(`<path ${i.join(" ")} />`)}renderText(t){let{attributes:e}=t,i=this.buildCommonAttributes(t),r=this.snap(t.x),n=this.snap(t.y);i.push(`x="${r}" y="${n}"`),e.fontSize&&i.push(`font-size="${e.fontSize}"`),e.fontFamily&&i.push(`font-family="${this.escapeXML(e.fontFamily)}"`),e.fontWeight&&i.push(`font-weight="${e.fontWeight}"`),e.textAnchor&&i.push(`text-anchor="${e.textAnchor}"`),e.dominantBaseline&&i.push(`dominant-baseline="${e.dominantBaseline}"`),i.push(`fill="${e.fill||"#000000"}"`),e.rotation&&i.push(`transform="rotate(${e.rotation}, ${r}, ${n})"`);let o=e.text?this.escapeXML(e.text):"";this.writeLine(`<text ${i.join(" ")}>${o}</text>`)}addStrokeAttributes(t,e){if(e.stroke){t.push(`stroke="${e.stroke}"`);let i=e.strokeWidth??1;i=Math.max(i,this.options.minStrokeWidth),t.push(`stroke-width="${i}"`),this.options.nonScalingStrokes&&e.vectorEffect!=="none"&&t.push('vector-effect="non-scaling-stroke"')}}buildCommonAttributes(t){let e=[];return t.id&&e.push(`id="${this.escapeXML(t.id)}"`),t.attributes.opacity!==void 0&&t.attributes.opacity!==1&&e.push(`opacity="${t.attributes.opacity}"`),t.attributes.role&&e.push(`role="${t.attributes.role}"`),t.attributes.ariaLabel&&e.push(`aria-label="${this.escapeXML(t.attributes.ariaLabel)}"`),e}writeStyles(){let t=`
3
+ text {
4
+ font-family: Arial, Helvetica, sans-serif;
5
+ /* Prevent text selection in interactive contexts */
6
+ user-select: none;
7
+ -webkit-user-select: none;
8
+ }
9
+ ${this.options.customCSS}
10
+ `.trim();this.writeLine('<style type="text/css">'),this.writeLine(`<![CDATA[${t}]]>`),this.writeLine("</style>")}writeDefs(t){this.writeLine("<defs>"),this.indent++;for(let e of t.patterns)this.writePattern(e);if(t.gradients)for(let e of t.gradients)this.writeGradient(e);this.indent--,this.writeLine("</defs>")}writePattern(t){let e=t.spacing;switch(this.writeLine(`<pattern id="${t.id}" patternUnits="userSpaceOnUse" width="${e}" height="${e}">`),this.indent++,this.writeLine(`<rect width="${e}" height="${e}" fill="transparent" />`),t.type){case"diagonal-lines":this.writeLine(`<line x1="0" y1="${e}" x2="${e}" y2="0" stroke="currentColor" stroke-width="${t.strokeWidth}" />`);break;case"dots":this.writeLine(`<circle cx="${e/2}" cy="${e/2}" r="${e/4}" fill="currentColor" />`);break;case"crosshatch":this.writeLine(`<line x1="0" y1="${e}" x2="${e}" y2="0" stroke="currentColor" stroke-width="${t.strokeWidth}" />`),this.writeLine(`<line x1="0" y1="0" x2="${e}" y2="${e}" stroke="currentColor" stroke-width="${t.strokeWidth}" />`);break;case"horizontal-lines":this.writeLine(`<line x1="0" y1="${e/2}" x2="${e}" y2="${e/2}" stroke="currentColor" stroke-width="${t.strokeWidth}" />`);break;case"vertical-lines":this.writeLine(`<line x1="${e/2}" y1="0" x2="${e/2}" y2="${e}" stroke="currentColor" stroke-width="${t.strokeWidth}" />`);break;case"diagonal-reverse":this.writeLine(`<line x1="0" y1="0" x2="${e}" y2="${e}" stroke="currentColor" stroke-width="${t.strokeWidth}" />`);break;case"grid":this.writeLine(`<line x1="0" y1="${e/2}" x2="${e}" y2="${e/2}" stroke="currentColor" stroke-width="${t.strokeWidth}" />`),this.writeLine(`<line x1="${e/2}" y1="0" x2="${e/2}" y2="${e}" stroke="currentColor" stroke-width="${t.strokeWidth}" />`);break;case"circles":this.writeLine(`<circle cx="${e/2}" cy="${e/2}" r="${e/3}" stroke="currentColor" stroke-width="${t.strokeWidth}" fill="none" />`);break}this.indent--,this.writeLine("</pattern>")}writeGradient(t){t.type==="linear"?this.writeLine(`<linearGradient id="${t.id}" x1="${t.x1??0}%" y1="${t.y1??0}%" x2="${t.x2??100}%" y2="${t.y2??0}%">`):this.writeLine(`<radialGradient id="${t.id}">`),this.indent++;for(let e of t.stops)this.writeLine(`<stop offset="${e.offset*100}%" stop-color="${e.color}" />`);this.indent--,this.writeLine(t.type==="linear"?"</linearGradient>":"</radialGradient>")}snap(t){return this.options.enableSnapping?Math.round(t*2)/2:Math.round(t*100)/100}escapeXML(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;")}writeLine(t){this.options.prettyPrint?this.output.push(" ".repeat(this.indent)+t):this.output.push(t)}},et=new D;function Pt(h,t){return(t?new D(t):et).render(h)}function Lt(h){return Math.round(h*2)/2}function At(h){return Math.max(h,z)}var w={AA_NORMAL:4.5,AA_LARGE:3,AAA_NORMAL:7,AAA_LARGE:4.5},X=15,it=["diagonal-lines","dots","crosshatch","horizontal-lines","vertical-lines","diagonal-reverse","grid","circles"],Y=["#1B4D8F","#006D5B","#C62828","#4527A0","#BF360C","#1B5E20","#880E4F","#01579B","#5D4037","#37474F"],Mt=["#0077BB","#EE7733","#009988","#CC3311","#33BBEE","#EE3377","#BBBBBB","#000000"],wt=["#1A1A1A","#404040","#666666","#8C8C8C","#B3B3B3","#2D2D2D","#525252","#787878","#9E9E9E","#C4C4C4"],R=class{colorMode="rgb";enablePatterns=!1;customPalette;constructor(t={}){this.colorMode=t.colorMode??"rgb",this.enablePatterns=t.enablePatterns??!1,this.customPalette=t.palette}setColorMode(t){this.colorMode=t}setPatternMode(t){this.enablePatterns=t}parseColor(t){let e=this.hexToRGB(t),i=this.rgbToCMYK(e),r=this.rgbToGrayscale(e);return{rgb:e,cmyk:i,grayscale:r,hex:t.toUpperCase()}}getColor(t){switch(this.colorMode){case"cmyk":return this.cmykToString(t.cmyk);case"monochrome":return this.grayscaleToString(t.grayscale);default:return t.hex}}getSeriesColor(t){let e=this.colorMode==="monochrome"?wt:this.customPalette??Y,i=e[t%e.length];return this.parseColor(i)}getSeriesPattern(t){let e=it[t%it.length];return{id:`pattern-series-${t}`,seriesIndex:t,type:e,strokeWidth:1.5,spacing:8,angle:e==="diagonal-lines"?45:e==="diagonal-reverse"?-45:0}}shouldUsePatterns(t){return this.enablePatterns||this.colorMode==="monochrome"||t>3}createPalette(t,e="default"){let i=[],r=[];for(let o=0;o<t;o++)i.push(this.getSeriesColor(o)),r.push(this.getSeriesPattern(o));let n=this.checkPaletteContrast(i);return{name:e,colors:i,patterns:r,meetsWCAG:n.allPass,minContrastRatio:n.minRatio}}getContrastRatio(t,e){let i=this.getRelativeLuminance(t.rgb),r=this.getRelativeLuminance(e.rgb),n=Math.max(i,r),o=Math.min(i,r);return(n+.05)/(o+.05)}hasAdequateContrast(t,e,i=!1){let r=this.getContrastRatio(t,e),n=i?w.AA_LARGE:w.AA_NORMAL;return r>=n}getTextColor(t){let e=this.parseColor("#FFFFFF"),i=this.parseColor("#000000"),r=this.getContrastRatio(e,t),n=this.getContrastRatio(i,t);return r>n?e:i}ensureGrayscaleDistinction(t){let e=[...t].sort((n,o)=>n.grayscale.gray-o.grayscale.gray),i=[],r=-X;for(let n of e){let o=n.grayscale.gray;if(o-r<X&&(o=Math.min(100,r+X)),o!==n.grayscale.gray){let a=this.grayscaleToRGB(o);i.push({rgb:a,cmyk:this.rgbToCMYK(a),grayscale:{gray:o,perceptualLuminance:o/100},hex:this.rgbToHex(a)})}else i.push(n);r=o}return i}hexToRGB(t){let e=t.replace("#","");return{r:parseInt(e.substring(0,2),16),g:parseInt(e.substring(2,4),16),b:parseInt(e.substring(4,6),16),a:1}}rgbToHex(t){let e=i=>Math.round(i).toString(16).padStart(2,"0");return`#${e(t.r)}${e(t.g)}${e(t.b)}`.toUpperCase()}rgbToCMYK(t){let e=t.r/255,i=t.g/255,r=t.b/255,n=1-Math.max(e,i,r);if(n===1)return{c:0,m:0,y:0,k:100};let o=(1-e-n)/(1-n),a=(1-i-n)/(1-n),s=(1-r-n)/(1-n);return{c:Math.round(o*100),m:Math.round(a*100),y:Math.round(s*100),k:Math.round(n*100)}}rgbToGrayscale(t){let e=.2126*t.r+.7152*t.g+.0722*t.b;return{gray:Math.round(e/255*100),perceptualLuminance:e/255}}grayscaleToRGB(t){let e=Math.round(t/100*255);return{r:e,g:e,b:e,a:1}}cmykToString(t){return`cmyk(${t.c}%, ${t.m}%, ${t.y}%, ${t.k}%)`}grayscaleToString(t){let e=Math.round(t.gray/100*255);return`rgb(${e}, ${e}, ${e})`}getRelativeLuminance(t){let e=o=>(o=o/255,o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4)),i=e(t.r),r=e(t.g),n=e(t.b);return .2126*i+.7152*r+.0722*n}checkPaletteContrast(t){let e=this.parseColor("#FFFFFF"),i=1/0;for(let r of t){let n=this.getContrastRatio(r,e);i=Math.min(i,n)}return{allPass:i>=w.AA_NORMAL,minRatio:i}}},G=new R;function Tt(h){return G.parseColor(h)}function rt(h,t){let e=G.parseColor(h),i=G.parseColor(t);return G.getContrastRatio(e,i)}function $t(h,t,e="AA",i=!1){let r=rt(h,t);return e==="AAA"?i?r>=w.AAA_LARGE:r>=w.AAA_NORMAL:i?r>=w.AA_LARGE:r>=w.AA_NORMAL}function Dt(h){return new R({colorMode:"monochrome",enablePatterns:!0}).createPalette(h,"monochrome")}import nt from"crypto";var Rt={lang:"en-US",title:"Chart",includeDataTable:!0,maxDescribedPoints:20,numberFormat:{maximumFractionDigits:2},includePercentages:!0},j=class{options;formatter;constructor(t={}){this.options={...Rt,...t},this.formatter=new Intl.NumberFormat(this.options.lang,this.options.numberFormat)}generateMetadata(t,e,i){let r=i??this.options.title;return{role:"Chart",altText:this.generateAltText(t,e,r),caption:r,dataSummary:this.generateDataSummary(t,e),lang:this.options.lang}}generateAltText(t,e,i){let r=[],n=this.getChartTypeName(t);i?r.push(`${n} titled "${i}".`):r.push(`${n}.`),r.push(this.describeDataOverview(t,e));let o=this.analyzeTrend(e);return o&&r.push(o),r.push(this.describeStatistics(e)),r.join(" ")}generateDataSummary(t,e){let i=[],r=this.calculateTotal(e);for(let n=0;n<Math.min(e.values.length,this.options.maxDescribedPoints);n++){let o=e.values[n],a=e.categories?.[n]??`Item ${n+1}`,s=this.formatValue(o,e.valueType),c;this.options.includePercentages&&r>0&&(c=o/r*100);let l=this.generatePointDescription(t,a,s,c,n,e.values.length);i.push({index:n,category:a,value:o,formattedValue:s,percentage:c,description:l})}return i}addAccessibilityToNode(t,e){return{...t,attributes:{...t.attributes,role:e.role,ariaLabel:e.label,ariaDescribedBy:e.describedBy},metadata:{...t.metadata,isAccessibilityNode:!0}}}generateXMPMetadata(t,e,i="1.0.0"){let r=JSON.stringify(e,null,2),n=this.hashData(r);return{sourceData:r,dataHash:n,createdAt:new Date().toISOString(),generatorVersion:i,chartType:t}}generateXMPXML(t){return`<?xpacket begin="\uFEFF" id="W5M0MpCehiHzreSzNTczkc9d"?>
11
+ <x:xmpmeta xmlns:x="adobe:ns:meta/">
12
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
13
+ <rdf:Description rdf:about=""
14
+ xmlns:pvce="http://pvce.pdf-engine.io/1.0/">
15
+ <pvce:chartType>${t.chartType}</pvce:chartType>
16
+ <pvce:dataHash>${t.dataHash}</pvce:dataHash>
17
+ <pvce:generatorVersion>${t.generatorVersion}</pvce:generatorVersion>
18
+ <pvce:createdAt>${t.createdAt}</pvce:createdAt>
19
+ <pvce:sourceData><![CDATA[${t.sourceData}]]></pvce:sourceData>
20
+ </rdf:Description>
21
+ </rdf:RDF>
22
+ </x:xmpmeta>
23
+ <?xpacket end="w"?>`}getChartTypeName(t){return{bar:"Bar chart",line:"Line chart",scatter:"Scatter plot",pie:"Pie chart",donut:"Donut chart",waterfall:"Waterfall chart",marimekko:"Marimekko chart",area:"Area chart","stacked-bar":"Stacked bar chart","grouped-bar":"Grouped bar chart"}[t]||"Chart"}describeDataOverview(t,e){let i=e.values.length,r=e.categoryType??"categories";return t==="pie"||t==="donut"?`Shows ${i} ${r} as proportional segments.`:t==="scatter"?`Contains ${i} data points plotted on X-Y axes.`:t==="line"||t==="area"?`Shows ${i} data points connected over ${r}.`:`Shows ${i} ${r}.`}analyzeTrend(t){if(t.values.length<3)return null;let e=t.values[0],i=t.values[t.values.length-1],r=(i-e)/Math.abs(e)*100,n=0,o=0;for(let l=1;l<t.values.length;l++)t.values[l]>t.values[l-1]&&n++,t.values[l]<t.values[l-1]&&o++;let a=n>o*1.5?"upward":o>n*1.5?"downward":"fluctuating";if(Math.abs(r)<5)return"The data shows relatively stable values.";let s=r>0?"increase":"decrease",c=this.formatter.format(Math.abs(r));return`Shows an ${a} trend with ${c}% overall ${s} from ${this.formatValue(e,t.valueType)} to ${this.formatValue(i,t.valueType)}.`}describeStatistics(t){if(t.values.length===0)return"No data to display.";let e=Math.min(...t.values),i=Math.max(...t.values),n=t.values.reduce((l,p)=>l+p,0)/t.values.length,o=t.values.indexOf(e),a=t.values.indexOf(i),s=t.categories?.[o]??`position ${o+1}`,c=t.categories?.[a]??`position ${a+1}`;return`Minimum value of ${this.formatValue(e,t.valueType)} at ${s}; maximum of ${this.formatValue(i,t.valueType)} at ${c}; average of ${this.formatValue(n,t.valueType)}.`}generatePointDescription(t,e,i,r,n,o){let a=`${e}: ${i}`;return r!==void 0&&(a+=` (${this.formatter.format(r)}%)`),n===0?a+=" (first)":n===o-1&&(a+=" (last)"),a}formatValue(t,e){switch(e){case"currency":return new Intl.NumberFormat(this.options.lang,{style:"currency",currency:"USD"}).format(t);case"percent":return new Intl.NumberFormat(this.options.lang,{style:"percent",maximumFractionDigits:1}).format(t/100);default:return this.formatter.format(t)}}calculateTotal(t){return t.values.reduce((e,i)=>e+Math.abs(i),0)}hashData(t){return nt.createHash("sha256").update(t).digest("hex")}},U=new j;function kt(h,t,e,i){return U.generateAltText(h,{values:t,categories:e},i)}function Bt(h,t){return U.generateXMPMetadata(h,t)}function Nt(h){let t=JSON.stringify(h);return nt.createHash("sha256").update(t).digest("hex")}import Ot from"crypto";var q=class{state;seed;constructor(t){this.seed=t,this.state=t}next(){let t=this.state+=1831565813;return t=Math.imul(t^t>>>15,t|1),t^=t+Math.imul(t^t>>>7,t|61),((t^t>>>14)>>>0)/4294967296}nextInt(t,e){return Math.floor(this.next()*(e-t+1))+t}choice(t){return t[this.nextInt(0,t.length-1)]}shuffle(t){let e=[...t];for(let i=e.length-1;i>0;i--){let r=this.nextInt(0,i);[e[i],e[r]]=[e[r],e[i]]}return e}reset(){this.state=this.seed}};function E(h){let t=Ut(h);return Ot.createHash("sha256").update(t).digest("hex")}function Gt(h){return E(h).substring(0,8)}function Ut(h){return JSON.stringify(h,(t,e)=>typeof e=="number"?Math.round(e*1e6)/1e6:e&&typeof e=="object"&&!Array.isArray(e)?Object.keys(e).sort().reduce((i,r)=>(i[r]=e[r],i),{}):e)}function A(h,t,e){return`${e?`${e}-${h}`:h}-${t}`}function Et(h,t,e){return Array.from({length:t},(i,r)=>A(h,r,e))}function K(h){let t={...h},e=["transition","animation","animationDuration","animationDelay","animationTimingFunction","transitionDuration","transitionDelay"],i={...t.attributes};for(let r of e)delete i[r];return t.attributes=i,t.children&&(t.children=t.children.map(K)),t}function at(h){let t=[];function e(i,r){let n=i.attributes;(n.transition||n.animation||n.animationDuration)&&t.push(`${r}: Contains animation properties`),i.children&&i.children.forEach((o,a)=>{e(o,`${r}.children[${a}]`)})}return e(h.root,"root"),{valid:t.length===0,violations:t}}function Z(h){let t=[],e=[];h.version||t.push("Missing version field"),(!h.viewBox||h.viewBox.width<=0||h.viewBox.height<=0)&&t.push("Invalid viewBox dimensions"),h.metadata?.dataHash||e.push("Missing dataHash in metadata - VRT verification disabled");let i=at(h);i.valid||t.push(...i.violations);let r=new Set;function n(o){r.has(o.id)&&t.push(`Duplicate node ID: ${o.id}`),r.add(o.id),o.children?.forEach(n)}return n(h.root),{valid:t.length===0,errors:t,warnings:e}}function Ft(h,t){let e=[];(h.viewBox.width!==t.viewBox.width||h.viewBox.height!==t.viewBox.height)&&e.push("ViewBox dimensions differ"),h.metadata?.dataHash!==t.metadata?.dataHash&&e.push("Data hashes differ");function i(r,n,o){if(r.type!==n.type){e.push(`${o}: Type mismatch (${r.type} vs ${n.type})`);return}r.id!==n.id&&e.push(`${o}: ID mismatch (${r.id} vs ${n.id})`);let a=1e-4;(Math.abs(r.x-n.x)>a||Math.abs(r.y-n.y)>a)&&e.push(`${o}: Position mismatch`);let s=JSON.stringify(r.attributes),c=JSON.stringify(n.attributes);s!==c&&e.push(`${o}: Attributes differ`);let l=r.children||[],p=n.children||[];l.length!==p.length?e.push(`${o}: Child count mismatch`):l.forEach((m,u)=>{i(m,p[u],`${o}.children[${u}]`)})}return i(h.root,t.root,"root"),{equal:e.length===0,differences:e}}function ot(h){let t=E(h);return parseInt(t.substring(0,8),16)}function Q(h){let t=ot(h);return new q(t)}var Ht={areaThreshold:.5,subPixelThreshold:.01,maxPoints:void 0},J=class{options;constructor(t={}){this.options={...Ht,...t,maxPoints:t.maxPoints??1/0}}simplifyPath(t){if(t.length<=2)return{originalPointCount:t.length,optimizedPointCount:t.length,pathData:this.pointsToPathData(t),savings:0};let e=this.visvalingamWhyatt(t,this.options.areaThreshold),i=this.filterSubPixel(e),r=this.options.maxPoints<i.length?this.reduceToMaxPoints(i,this.options.maxPoints):i,n=t.length>0?(t.length-r.length)/t.length*100:0;return{originalPointCount:t.length,optimizedPointCount:r.length,pathData:this.pointsToPathData(r),savings:Math.round(n*100)/100}}simplifyPathString(t){let e=this.parsePathData(t);return this.simplifyPath(e)}optimizePaths(t){let e=0,i=0,r=t.map(({id:o,points:a})=>{let s=this.simplifyPath(a);return e+=s.originalPointCount,i+=s.optimizedPointCount,{id:o,pathData:s.pathData}}),n=e>0?(e-i)/e*100:0;return{optimizedPaths:r,totalOriginalPoints:e,totalOptimizedPoints:i,totalSavings:Math.round(n*100)/100}}visvalingamWhyatt(t,e){if(t.length<=2)return t;let i=t.map(a=>({point:a,area:1/0,prev:null,next:null}));for(let a=0;a<i.length;a++)i[a].prev=a>0?i[a-1]:null,i[a].next=a<i.length-1?i[a+1]:null;for(let a=1;a<i.length-1;a++)i[a].area=this.triangleArea(i[a].prev.point,i[a].point,i[a].next.point);let r=i.slice(1,-1);for(this.heapify(r);r.length>0&&r[0].area<e;){let a=this.heapPop(r);if(!a)break;if(a.prev&&(a.prev.next=a.next),a.next&&(a.next.prev=a.prev),a.prev&&a.prev.prev){let s=this.triangleArea(a.prev.prev.point,a.prev.point,a.prev.next?.point??a.prev.point);a.prev.area=Math.max(a.prev.area,s),this.heapUpdate(r,a.prev)}if(a.next&&a.next.next){let s=this.triangleArea(a.next.prev?.point??a.next.point,a.next.point,a.next.next.point);a.next.area=Math.max(a.next.area,s),this.heapUpdate(r,a.next)}}let n=[],o=i[0];for(;o;)n.push(o.point),o=o.next;return n}triangleArea(t,e,i){return Math.abs((t.x*(e.y-i.y)+e.x*(i.y-t.y)+i.x*(t.y-e.y))/2)}filterSubPixel(t){if(t.length<=2)return t;let e=this.options.subPixelThreshold,i=[t[0]];for(let r=1;r<t.length-1;r++){let n=i[i.length-1],o=t[r],a=t[r+1],s=this.distance(n,o),c=this.distance(o,a);(s>e||c>e)&&i.push(o)}return i.push(t[t.length-1]),i}distance(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}reduceToMaxPoints(t,e){if(t.length<=e)return t;let i=this.options.areaThreshold,r=t;for(;r.length>e&&i<1e6;)i*=2,r=this.visvalingamWhyatt(t,i);return r}pointsToPathData(t){if(t.length===0)return"";if(t.length===1)return`M${this.formatCoord(t[0])}`;let e=[`M${this.formatCoord(t[0])}`];for(let i=1;i<t.length;i++)e.push(`L${this.formatCoord(t[i])}`);return e.join("")}formatCoord(t){let e=Math.round(t.x*100)/100,i=Math.round(t.y*100)/100;return`${e},${i}`}parsePathData(t){let e=[],i=0,r=0,n=t.match(/[MLHVZmlhvz][^MLHVZmlhvz]*/g)||[];for(let o of n){let a=o[0],s=o.slice(1).trim().split(/[\s,]+/).map(parseFloat).filter(c=>!isNaN(c));switch(a){case"M":case"m":s.length>=2&&(i=a==="M"?s[0]:i+s[0],r=a==="M"?s[1]:r+s[1],e.push({x:i,y:r}));break;case"L":case"l":for(let c=0;c<s.length;c+=2)i=a==="L"?s[c]:i+s[c],r=a==="L"?s[c+1]:r+s[c+1],e.push({x:i,y:r});break;case"H":case"h":for(let c of s)i=a==="H"?c:i+c,e.push({x:i,y:r});break;case"V":case"v":for(let c of s)r=a==="V"?c:r+c,e.push({x:i,y:r});break;case"Z":case"z":e.length>0&&(i=e[0].x,r=e[0].y);break}}return e}heapify(t){for(let e=Math.floor(t.length/2)-1;e>=0;e--)this.heapDown(t,e)}heapPop(t){if(t.length===0)return;let e=t[0],i=t.pop();return t.length>0&&(t[0]=i,this.heapDown(t,0)),e}heapUpdate(t,e){let i=t.indexOf(e);i!==-1&&(this.heapUp(t,i),this.heapDown(t,i))}heapUp(t,e){for(;e>0;){let i=Math.floor((e-1)/2);if(t[i].area<=t[e].area)break;[t[i],t[e]]=[t[e],t[i]],e=i}}heapDown(t,e){let i=t.length;for(;;){let r=2*e+1,n=2*e+2,o=e;if(r<i&&t[r].area<t[o].area&&(o=r),n<i&&t[n].area<t[o].area&&(o=n),o===e)break;[t[e],t[o]]=[t[o],t[e]],e=o}}},k=new J;function Wt(h){return k.simplifyPath(h)}function zt(h){return k.simplifyPathString(h)}function It(h,t){if(h.length===0)return{originalPointCount:0,optimizedPointCount:0,pathData:"",savings:0};let e=Math.min(...h),r=Math.max(...h)-e||1,n=h.map((o,a)=>({x:t.x+a/(h.length-1||1)*t.width,y:t.y+t.height-(o-e)/r*t.height}));return k.simplifyPath(n)}var Vt={width:800,height:600,fontFamily:"Arial",fontSize:12,accessibility:!0,monochrome:!1,patterns:!1,embedSourceData:!0,palette:Y,seed:0,prettyPrint:!1},F=class{glyphOracle;collisionSolver;svgRenderer;colorPipeline;accessibilityGenerator;pathOptimizer;options;stats={compileTime:0,nodeCount:0,svgSize:0,pathOptimization:0,glyphCacheHits:0,collisionsResolved:0};constructor(t={}){this.options={...Vt,...t},this.glyphOracle=$,this.collisionSolver=O,this.svgRenderer=new D({width:this.options.width,height:this.options.height,prettyPrint:this.options.prettyPrint,includeAccessibility:this.options.accessibility}),this.colorPipeline=new R({colorMode:this.options.monochrome?"monochrome":"rgb",enablePatterns:this.options.patterns,palette:this.options.palette}),this.accessibilityGenerator=U,this.pathOptimizer=k}compile(t,e){let i=performance.now();this.resetStats();let r=E(e.data),n=this.options.seed||this.deriveSeed(r),o=Q(e.data),a={width:W.WIDTH,height:W.HEIGHT},s={x:500,y:500,width:a.width-1e3,height:a.height-1e3},c,l;switch(t){case"bar":({root:c,chartData:l}=this.compileBarChart(e,s,o));break;case"line":({root:c,chartData:l}=this.compileLineChart(e,s,o));break;case"scatter":({root:c,chartData:l}=this.compileScatterChart(e,s,o));break;case"pie":case"donut":({root:c,chartData:l}=this.compilePieChart(e,s,t==="donut"));break;case"waterfall":({root:c,chartData:l}=this.compileWaterfallChart(e,s));break;default:({root:c,chartData:l}=this.compileBarChart(e,s,o))}c=K(c);let p=this.options.accessibility?this.accessibilityGenerator.generateMetadata(t,l,e.config?.title):this.createMinimalAccessibility(t),m=this.options.embedSourceData?this.accessibilityGenerator.generateXMPMetadata(t,e.data):this.createMinimalXMP(t),u=this.colorPipeline.shouldUsePatterns(e.data?.series?.length??1)?this.generatePatterns(e.data?.series?.length??5):[],x={version:"1.0.0",viewBox:a,root:c,metadata:{dataHash:r,generatedAt:Date.now(),deterministicSeed:n,chartType:t,accessibility:p},defs:u.length>0?{patterns:u}:void 0},C=Z(x);C.valid||console.warn("Determinism validation warnings:",C.warnings);let y=this.svgRenderer.render(x),d=performance.now();return this.stats.compileTime=Math.round(d-i),this.stats.nodeCount=this.countNodes(c),this.stats.svgSize=new Blob([y]).size,this.stats.glyphCacheHits=this.glyphOracle.getStats().cacheHits,{sceneGraph:x,svg:y,accessibility:p,xmpMetadata:m,stats:{...this.stats}}}compileBarChart(t,e,i){let r=this.normalizeBarData(t.data),{categories:n,values:o,series:a}=r,s=[],c=100,l=(e.width-c*(o.length+1))/o.length,p=Math.max(...o,0),m=Math.min(...o,0),u=p-m||1,x=this.calculateAxisWidth(m,p),C=300,y={x:e.x+x,y:e.y,width:e.width-x,height:e.height-C},d=y.y+y.height*(p/u);o.forEach((g,f)=>{let v=y.x+c+f*(l+c),L=Math.abs(g/u)*y.height,M=g>=0?d-L:d,T=this.colorPipeline.getSeriesColor(f%a.length),B=this.colorPipeline.getSeriesPattern(f%a.length),N={type:"rect",id:A("bar",f),x:this.snap(v),y:this.snap(M),attributes:{width:l,height:L,fill:this.options.patterns?`url(#${B.id})`:T.hex,stroke:T.hex,strokeWidth:1,role:"graphics-symbol",ariaLabel:`${n[f]}: ${g}`},metadata:{dataIndex:f,dataValue:g,category:n[f]}};s.push(N)});let b=this.createXAxisLabels(n,y,C);s.push(...b);let P=this.createYAxisLabels(m,p,e,x);return s.push(...P),s.push(this.createGridLines(y,m,p)),{root:{type:"group",id:"chart-root",x:0,y:0,attributes:{role:"graphics-document"},children:s},chartData:{values:o,categories:n,valueType:"number"}}}compileLineChart(t,e,i){let r=this.normalizeLineData(t.data),{categories:n,values:o,series:a}=r,s=[],c=Math.max(...o.flat()),l=Math.min(...o.flat()),p=c-l||1,m=this.calculateAxisWidth(l,c),u=300,x={x:e.x+m,y:e.y,width:e.width-m,height:e.height-u};return a.forEach((y,d)=>{let b=y.map((f,v)=>({x:x.x+v/(y.length-1||1)*x.width,y:x.y+x.height-(f-l)/p*x.height})),P=this.pathOptimizer.simplifyPath(b);this.stats.pathOptimization=P.savings;let S=this.colorPipeline.getSeriesColor(d),g={type:"path",id:A("line",d),x:0,y:0,attributes:{d:P.pathData,stroke:S.hex,strokeWidth:2,fill:"none",vectorEffect:"non-scaling-stroke"},metadata:{seriesName:`Series ${d+1}`}};s.push(g),b.forEach((f,v)=>{let L={type:"circle",id:A(`dot-${d}`,v),x:this.snap(f.x),y:this.snap(f.y),attributes:{radius:4,fill:S.hex,stroke:"#ffffff",strokeWidth:1.5},metadata:{dataIndex:v,dataValue:y[v]}};s.push(L)})}),s.push(...this.createXAxisLabels(n,x,u)),s.push(...this.createYAxisLabels(l,c,e,m)),s.push(this.createGridLines(x,l,c)),{root:{type:"group",id:"chart-root",x:0,y:0,attributes:{},children:s},chartData:{values:o.flat(),categories:n,valueType:"number"}}}compileScatterChart(t,e,i){let r=this.normalizeScatterData(t.data),{points:n}=r,o=[],a=n.map(g=>g.x),s=n.map(g=>g.y),c=Math.min(...a),l=Math.max(...a),p=Math.min(...s),m=Math.max(...s),u=l-c||1,x=m-p||1,C=this.calculateAxisWidth(p,m),d={x:e.x+C,y:e.y,width:e.width-C,height:e.height-300},b=[];n.forEach((g,f)=>{let v=d.x+(g.x-c)/u*d.width,L=d.y+d.height-(g.y-p)/x*d.height;b.push({x:v,y:L,label:g.label||`Point ${f+1}`});let M=this.colorPipeline.getSeriesColor(f%10),T={type:"circle",id:A("dot",f),x:this.snap(v),y:this.snap(L),attributes:{radius:6,fill:M.hex,stroke:"#ffffff",strokeWidth:1.5,role:"graphics-symbol",ariaLabel:`${g.label}: (${g.x}, ${g.y})`},metadata:{dataIndex:f,dataValue:g.y}};o.push(T)});let P=this.collisionSolver.resolvePointLabels(b,d,this.options.fontSize*10,this.options.fontFamily);return this.stats.collisionsResolved=P.filter(g=>g.collisionLevel!==0).length,P.forEach((g,f)=>{let v={type:"text",id:A("label",f),x:this.snap(g.position.x),y:this.snap(g.position.y),attributes:{text:g.text,fontSize:this.options.fontSize*10,fontFamily:this.options.fontFamily,fill:"#333333",textAnchor:"start"}};if(o.push(v),g.leaderLine){let L={type:"line",id:A("leader",f),x:0,y:0,attributes:{x1:g.leaderLine.fromPoint.x,y1:g.leaderLine.fromPoint.y,x2:g.leaderLine.toPoint.x,y2:g.leaderLine.toPoint.y,stroke:"#999999",strokeWidth:.5}};o.push(L)}}),o.push(this.createGridLines(d,p,m)),{root:{type:"group",id:"chart-root",x:0,y:0,attributes:{},children:o},chartData:{values:s,categories:n.map(g=>g.label||""),valueType:"number"}}}compilePieChart(t,e,i){let r=this.normalizePieData(t.data),{categories:n,values:o}=r,a=[],s=o.reduce((d,b)=>d+b,0),c=e.x+e.width/2,l=e.y+e.height/2,p=Math.min(e.width,e.height)/2-500,m=i?p*.5:0,u=-Math.PI/2,x=[];return o.forEach((d,b)=>{let P=d/s*Math.PI*2,S=u,g=u+P;x.push({startAngle:S,endAngle:g,label:n[b],value:d});let f=this.colorPipeline.getSeriesColor(b),v=this.colorPipeline.getSeriesPattern(b),L=this.createArcPath(c,l,m,p,S,g),M={type:"path",id:A("slice",b),x:0,y:0,attributes:{d:L,fill:this.options.patterns?`url(#${v.id})`:f.hex,stroke:"#ffffff",strokeWidth:2,role:"graphics-symbol",ariaLabel:`${n[b]}: ${d} (${(d/s*100).toFixed(1)}%)`},metadata:{dataIndex:b,dataValue:d,category:n[b]}};a.push(M),u=g}),this.collisionSolver.resolvePieLabels(x,{x:c,y:l},m,p,this.options.fontSize*10,this.options.fontFamily).forEach((d,b)=>{let P={type:"text",id:A("pie-label",b),x:this.snap(d.position.x),y:this.snap(d.position.y),attributes:{text:d.text,fontSize:this.options.fontSize*10,fontFamily:this.options.fontFamily,fill:"#333333",textAnchor:d.box.anchor}};if(a.push(P),d.leaderLine){let S=d.leaderLine,g=`M${S.fromPoint.x},${S.fromPoint.y}`;S.elbowPoint&&(g+=` L${S.elbowPoint.x},${S.elbowPoint.y}`),g+=` L${S.toPoint.x},${S.toPoint.y}`;let f={type:"path",id:A("pie-leader",b),x:0,y:0,attributes:{d:g,stroke:"#999999",strokeWidth:1,fill:"none"}};a.push(f)}}),{root:{type:"group",id:"chart-root",x:0,y:0,attributes:{},children:a},chartData:{values:o,categories:n,valueType:"number"}}}compileWaterfallChart(t,e){let i=this.normalizeWaterfallData(t.data),{categories:r,values:n,isTotal:o}=i,a=[],s=0,c=[];n.forEach((f,v)=>{o[v]?s=f:s+=f,c.push(s)});let l=[...n,...c],p=Math.max(...l,0),m=Math.min(...l,0),u=p-m||1,x=this.calculateAxisWidth(m,p),C=300,y=50,d={x:e.x+x,y:e.y,width:e.width-x,height:e.height-C},b=(d.width-y*(n.length+1))/n.length,P=d.y+d.height*(p/u);s=0,n.forEach((f,v)=>{let L,M;o[v]?(L=0,M=f,s=f):(L=s,M=s+f,s=M);let T=d.y+d.height*((p-L)/u),B=d.y+d.height*((p-M)/u),N=d.x+y+v*(b+y),lt=Math.min(T,B),ht=Math.abs(B-T),pt=o[v]?0:f>=0?1:2,ut=this.colorPipeline.getSeriesColor(pt),dt={type:"rect",id:A("bar",v),x:this.snap(N),y:this.snap(lt),attributes:{width:b,height:ht,fill:ut.hex,stroke:"#ffffff",strokeWidth:1},metadata:{dataIndex:v,dataValue:f,category:r[v]}};if(a.push(dt),v<n.length-1&&!o[v+1]){let tt=B,mt=N+b+y,gt={type:"line",id:A("connector",v),x:0,y:0,attributes:{x1:N+b,y1:tt,x2:mt,y2:tt,stroke:"#999999",strokeWidth:1,strokeDasharray:"4,2"}};a.push(gt)}});let S={type:"line",id:"zero-line",x:0,y:0,attributes:{x1:d.x,y1:P,x2:d.x+d.width,y2:P,stroke:"#333333",strokeWidth:1}};return a.push(S),a.push(...this.createXAxisLabels(r,d,C)),a.push(...this.createYAxisLabels(m,p,e,x)),{root:{type:"group",id:"chart-root",x:0,y:0,attributes:{},children:a},chartData:{values:n,categories:r,valueType:"number"}}}createXAxisLabels(t,e,i){let r=e.y+e.height+50,{placements:n,level:o}=this.collisionSolver.resolveAxisLabels(t,e.x,e.x+e.width,r,this.options.fontSize*10,this.options.fontFamily);return this.stats.collisionsResolved+=o>0?t.length:0,n.filter(a=>a.isVisible).map((a,s)=>({type:"text",id:A("x-label",s),x:this.snap(a.position.x),y:this.snap(a.position.y),attributes:{text:a.text,fontSize:this.options.fontSize*10,fontFamily:this.options.fontFamily,fill:"#666666",textAnchor:a.box.anchor,rotation:a.box.rotation}}))}createYAxisLabels(t,e,i,r){let n=[],s=(e-t)/5;for(let c=0;c<=5;c++){let l=t+s*c,p=i.y+i.height-300-c/5*(i.height-300),m=this.formatAxisValue(l);n.push({type:"text",id:A("y-label",c),x:i.x+r-50,y:this.snap(p),attributes:{text:m,fontSize:this.options.fontSize*10,fontFamily:this.options.fontFamily,fill:"#666666",textAnchor:"end",dominantBaseline:"middle"}})}return n}createGridLines(t,e,i){let r=[];for(let o=0;o<=5;o++){let a=t.y+o/5*t.height;r.push({type:"line",id:A("grid-h",o),x:0,y:0,attributes:{x1:t.x,y1:a,x2:t.x+t.width,y2:a,stroke:"#eeeeee",strokeWidth:1}})}return{type:"group",id:"grid-lines",x:0,y:0,attributes:{},children:r}}normalizeBarData(t){return Array.isArray(t)?{categories:t.map((e,i)=>`Item ${i+1}`),values:t,series:[{name:"Series 1",values:t}]}:{categories:t.categories||[],values:t.values||t.series?.[0]?.values||[],series:t.series||[{name:"Series 1",values:t.values||[]}]}}normalizeLineData(t){if(Array.isArray(t)&&typeof t[0]=="number")return{categories:t.map((i,r)=>`${r+1}`),values:[t],series:[t]};if(t.values&&!t.series){let i=Array.isArray(t.values[0])?t.values:[t.values];return{categories:t.categories||i[0].map((r,n)=>`${n+1}`),values:i,series:i}}let e=t.series?.map(i=>i.values||i)||[t.values||t];return{categories:t.categories||e[0].map((i,r)=>`${r+1}`),values:e,series:e}}normalizeScatterData(t){return Array.isArray(t)?{points:t.map((e,i)=>({x:e.x??e[0]??i,y:e.y??e[1]??0,label:e.label??`Point ${i+1}`}))}:{points:t.points||t.series?.[0]?.values||[]}}normalizePieData(t){return Array.isArray(t)?{categories:t.map((e,i)=>`Slice ${i+1}`),values:t.map(e=>typeof e=="number"?e:e.value)}:{categories:t.categories||t.labels||[],values:t.values||[]}}normalizeWaterfallData(t){return{categories:t.categories||[],values:t.values||t.series?.[0]?.values||[],isTotal:t.isTotal||t.series?.[0]?.isTotal||[]}}calculateAxisWidth(t,e){let r=[t,e,(t+e)/2].map(o=>this.formatAxisValue(o));return this.glyphOracle.getMaxLabelWidth(r,this.options.fontSize*10,this.options.fontFamily)+150}formatAxisValue(t){let e=Math.abs(t);return e>=1e9?(t/1e9).toFixed(1)+"B":e>=1e6?(t/1e6).toFixed(1)+"M":e>=1e3?(t/1e3).toFixed(1)+"K":t.toFixed(e<10?1:0)}snap(t){return Math.round(t*2)/2}createArcPath(t,e,i,r,n,o){let a=o-n>Math.PI?1:0,s=t+Math.cos(n)*r,c=e+Math.sin(n)*r,l=t+Math.cos(o)*r,p=e+Math.sin(o)*r;if(i===0)return`M${t},${e} L${s},${c} A${r},${r} 0 ${a} 1 ${l},${p} Z`;let m=t+Math.cos(o)*i,u=e+Math.sin(o)*i,x=t+Math.cos(n)*i,C=e+Math.sin(n)*i;return`M${s},${c} A${r},${r} 0 ${a} 1 ${l},${p} L${m},${u} A${i},${i} 0 ${a} 0 ${x},${C} Z`}generatePatterns(t){let e=[];for(let i=0;i<t;i++)e.push(this.colorPipeline.getSeriesPattern(i));return e}deriveSeed(t){return parseInt(t.substring(0,8),16)}countNodes(t){let e=1;if(t.children)for(let i of t.children)e+=this.countNodes(i);return e}resetStats(){this.stats={compileTime:0,nodeCount:0,svgSize:0,pathOptimization:0,glyphCacheHits:0,collisionsResolved:0}}createMinimalAccessibility(t){return{role:"Chart",altText:`${t} chart`,dataSummary:[],lang:"en"}}createMinimalXMP(t){return{sourceData:"{}",dataHash:"",createdAt:new Date().toISOString(),generatorVersion:"1.0.0",chartType:t}}},st=new F;function ct(h,t,e){return(e?new F(e):st).compile(h,t)}function _t(h,t,e){return ct(h,{data:t,encoding:{},constraints:{width:e?.width??800,height:e?.height??600}},e).svg}export{j as AccessibilityGenerator,_ as AxisCollisionSolver,Mt as COLORBLIND_SAFE_COLORS,H as CollisionLevel,R as ColorPipeline,Y as DEFAULT_PALETTE_COLORS,V as GlyphOracle,z as HAIRLINE_MIN_PT,X as MIN_GRAY_DIFFERENCE,q as Mulberry32,F as PVCECompiler,J as PathOptimizer,bt as SNAP_THRESHOLD,D as SVGRenderer,W as VIRTUAL_CANVAS,w as WCAG_CONTRAST,U as accessibilityGenerator,_t as chartToSVG,O as collisionSolver,G as colorPipeline,Ft as compareSceneGraphs,ct as compileChart,Dt as createMonochromePalette,Q as createSeededRandom,ot as deriveSeedFromData,At as ensureMinStroke,kt as generateChartAltText,A as generateNodeId,Et as generateNodeIds,Bt as generateXMPMetadata,rt as getContrastRatio,xt as getMaxLabelWidth,$ as glyphOracle,Nt as hashChartData,E as hashData,ft as measureText,$t as meetsContrastRequirement,It as optimizeLineChart,Tt as parseColor,k as pathOptimizer,st as pvceCompiler,Pt as renderToSVG,vt as resolveAxisLabels,Ct as resolvePointLabels,Gt as shortHash,Wt as simplifyPath,zt as simplifyPathString,Lt as snapToGrid,K as stripAnimations,et as svgRenderer,Z as validateDeterminism,at as verifyNoAnimations};
@@ -0,0 +1 @@
1
+ import{h as X}from"../chunk-RS6UVNDG.js";import{f as _}from"../chunk-SUQ4PGPT.js";import"../chunk-ATW2DQGN.js";import"../chunk-VGZBBSUY.js";import"../chunk-7MQHUWBC.js";import"../chunk-QCSPOFAH.js";import{a as Y,b as Q,d as q}from"../chunk-AU5HXCGI.js";import"../chunk-JBV3SHHJ.js";import"../chunk-HGXLLLMM.js";import{e as D}from"../chunk-BRMIGHX5.js";import{h as Z,k as N}from"../chunk-7OH2BCHB.js";import"../chunk-JKZFYDBI.js";import"../chunk-WOT6VMZA.js";function s(t){return Number.isInteger(t)?String(t):Number(t.toFixed(2)).toString()}function T(t,e){return t+(e-t)/2}function L(t,e,r,n){return`M ${s(t)} ${s(e)} H ${s(t+r)} V ${s(e+n)} H ${s(t)} Z`}function it(t,e,r,n,a){let i=Math.max(0,Math.min(a,Math.min(r,n)/2));return i===0?L(t,e,r,n):[`M ${s(t+i)} ${s(e)}`,`H ${s(t+r-i)}`,`Q ${s(t+r)} ${s(e)} ${s(t+r)} ${s(e+i)}`,`V ${s(e+n-i)}`,`Q ${s(t+r)} ${s(e+n)} ${s(t+r-i)} ${s(e+n)}`,`H ${s(t+i)}`,`Q ${s(t)} ${s(e+n)} ${s(t)} ${s(e+n-i)}`,`V ${s(e+i)}`,`Q ${s(t)} ${s(e)} ${s(t+i)} ${s(e)}`,"Z"].join(" ")}function j(t,e,r,n){let a=t+r/2,i=e+n/2,c=r/2,l=n/2;return[`M ${s(a-c)} ${s(i)}`,`A ${s(c)} ${s(l)} 0 1 0 ${s(a+c)} ${s(i)}`,`A ${s(c)} ${s(l)} 0 1 0 ${s(a-c)} ${s(i)}`,"Z"].join(" ")}function ct(t,e,r,n){return`M ${s(T(t,t+r))} ${s(e)} L ${s(t+r)} ${s(T(e,e+n))} L ${s(T(t,t+r))} ${s(e+n)} L ${s(t)} ${s(T(e,e+n))} Z`}function lt(t,e,r,n){return`M ${s(T(t,t+r))} ${s(e)} L ${s(t+r)} ${s(e+n)} L ${s(t)} ${s(e+n)} Z`}function ut(t,e,r,n){return`M ${s(t)} ${s(e)} L ${s(t+r)} ${s(e+n)} L ${s(t)} ${s(e+n)} Z`}function $t(t,e,r,n){let a=r*.2;return`M ${s(t+a)} ${s(e)} H ${s(t+r)} L ${s(t+r-a)} ${s(e+n)} H ${s(t)} Z`}function dt(t,e,r,n){let a=r*.15;return`M ${s(t+a)} ${s(e)} H ${s(t+r-a)} L ${s(t+r)} ${s(e+n)} H ${s(t)} Z`}function ft(t,e,r,n){let a=r*.2;return`M ${s(t)} ${s(e)} H ${s(t+r-a)} L ${s(t+r)} ${s(e+n/2)} L ${s(t+r-a)} ${s(e+n)} H ${s(t)} L ${s(t+a)} ${s(e+n/2)} Z`}function ht(t,e,r,n){let a=r/3,i=n/3;return[`M ${s(t+a)} ${s(e)}`,`H ${s(t+2*a)}`,`V ${s(e+i)}`,`H ${s(t+r)}`,`V ${s(e+2*i)}`,`H ${s(t+2*a)}`,`V ${s(e+n)}`,`H ${s(t+a)}`,`V ${s(e+2*i)}`,`H ${s(t)}`,`V ${s(e+i)}`,`H ${s(t+a)}`,"Z"].join(" ")}function mt(t,e,r,n){let a=t+r/2,i=e+n*.3;return[`M ${s(a)} ${s(e+n)}`,`C ${s(t-r*.1)} ${s(e+n*.55)} ${s(t)} ${s(e)} ${s(a-r*.02)} ${s(i)}`,`C ${s(a-r*.01)} ${s(e)} ${s(a+r*.01)} ${s(e)} ${s(a+r*.02)} ${s(i)}`,`C ${s(t+r)} ${s(e)} ${s(t+r*1.1)} ${s(e+n*.55)} ${s(a)} ${s(e+n)}`,"Z"].join(" ")}function gt(t,e,r,n){let a=t+r/2,i=e+n/2;return[`M ${s(a-r*.15)} ${s(i+n*.1)}`,`C ${s(a-r*.28)} ${s(i-n*.05)} ${s(a-r*.1)} ${s(e)} ${s(a)} ${s(e+n*.08)}`,`C ${s(a+r*.08)} ${s(e-n*.05)} ${s(a+r*.26)} ${s(i-n*.02)} ${s(a+r*.2)} ${s(i+n*.12)}`,`C ${s(a+r*.28)} ${s(i+n*.05)} ${s(a+r*.24)} ${s(e+n)} ${s(a-r*.02)} ${s(e+n)}`,`C ${s(a-r*.24)} ${s(e+n)} ${s(a-r*.3)} ${s(i+n*.2)} ${s(a-r*.15)} ${s(i+n*.1)}`,"Z"].join(" ")}function b(t,e,r,n,a){let i=t+r/2,c=e+n/2,l=Math.min(r,n)/2,u=l*.4,$=Math.PI/a,d=[];for(let f=0;f<2*a;f++){let p=f%2===0?l:u,g=-Math.PI/2+f*$,F=i+p*Math.cos(g),x=c+p*Math.sin(g);d.push(`${f===0?"M":"L"} ${s(F)} ${s(x)}`)}return d.push("Z"),d.join(" ")}function pt(t,e,r,n){return`M ${s(t)} ${s(e)} L ${s(t+r)} ${s(e+n)}`}function yt(t,e,r,n){let a=n*.75;return[`M ${s(t)} ${s(e)}`,`H ${s(t+r)}`,`V ${s(e+a)}`,`H ${s(t+r*.25)}`,`L ${s(t+r*.15)} ${s(e+n)}`,`L ${s(t+r*.1)} ${s(e+a)}`,`H ${s(t)}`,"Z"].join(" ")}function St(t,e,r,n,a){let i=t.paths?.[0];if(!i)return L(e,r,n,a);let c=i.width??1e6,l=i.height??1e6,u=n/c,$=a/l,d=[];for(let f of i.commands)switch(f.type){case"moveTo":d.push(`M ${s(e+f.x*u)} ${s(r+f.y*$)}`);break;case"lineTo":d.push(`L ${s(e+f.x*u)} ${s(r+f.y*$)}`);break;case"cubicBezTo":d.push(`C ${s(e+f.cp1x*u)} ${s(r+f.cp1y*$)} ${s(e+f.cp2x*u)} ${s(r+f.cp2y*$)} ${s(e+f.x*u)} ${s(r+f.y*$)}`);break;case"quadBezTo":d.push(`Q ${s(e+f.cpx*u)} ${s(r+f.cpy*$)} ${s(e+f.x*u)} ${s(r+f.y*$)}`);break;case"arcTo":d.push(`L ${s(e+n)} ${s(r+a)}`);break;case"close":d.push("Z");break}return d.join(" ")||L(e,r,n,a)}function J(t,e,r,n,a){if(t.customGeometry)return{d:St(t.customGeometry,e,r,n,a)};switch(t.shapeType){case"ellipse":return{d:j(e,r,n,a)};case"roundRect":case"snipRoundRect":case"snipRound2SameRect":case"round1Rect":case"round2SameRect":case"round2DiagRect":case"round1Rect2":case"wedgeRoundRectCallout":case"wedgeRoundRectCallout2":case"actionButtonBlank":return{d:it(e,r,n,a,Math.min(n,a)*.12)};case"triangle":case"rtTriangle":return{d:lt(e,r,n,a)};case"rightTriangle":return{d:ut(e,r,n,a)};case"diamond":return{d:ct(e,r,n,a)};case"parallelogram":return{d:$t(e,r,n,a)};case"trapezoid":case"nonIsoscelesTrapezoid":return{d:dt(e,r,n,a)};case"chevron":return{d:ft(e,r,n,a)};case"homePlate":return{d:yt(e,r,n,a)};case"donut":return{d:`${j(e,r,n,a)} ${j(e+n*.3,r+a*.3,n*.4,a*.4)}`,fillRule:"evenodd"};case"cloud":case"cloudCallout":return{d:gt(e,r,n,a)};case"plus":case"cross":case"mathPlus":case"mathMinus":case"mathMultiply":case"mathDivide":case"mathEqual":case"mathNotEqual":case"mathNotEqual2":return{d:ht(e,r,n,a)};case"heart":return{d:mt(e,r,n,a)};case"line":case"lineInv":return{d:pt(e,r,n,a)};case"star4":return{d:b(e,r,n,a,4)};case"star5":return{d:b(e,r,n,a,5)};case"star6":return{d:b(e,r,n,a,6)};case"star7":return{d:b(e,r,n,a,7)};case"star8":return{d:b(e,r,n,a,8)};case"star10":return{d:b(e,r,n,a,10)};case"star12":return{d:b(e,r,n,a,12)};case"star16":return{d:b(e,r,n,a,16)};case"star24":return{d:b(e,r,n,a,24)};case"star32":return{d:b(e,r,n,a,32)};case"flowChartTerminator":case"flowChartProcess":case"flowChartPredefinedProcess":case"flowChartAlternateProcess":case"flowChartInternalStorage":case"flowChartDocument":case"flowChartDisplay":case"flowChartOfflineStorage":case"flowChartOnlineStorage":case"flowChartExtract":case"flowChartPreparation":case"flowChartSort":case"flowChartMerge":case"flowChartDelay":case"flowChartManualInput":case"flowChartManualOperation":case"flowChartInputOutput":case"flowChartConnector":case"flowChartSummingJunction":case"flowChartOr":case"flowChartPunchedTape":case"flowChartMagneticDisk":case"flowChartMagneticDrum":case"flowChartMagneticTape":case"flowChartCollate":case"flowChartDecision":return{d:L(e,r,n,a)};default:return{d:L(e,r,n,a)}}}var P=class{constructor(e){this.slideIndex=e}defs=[];counter=0;nextId(e){return`s${this.slideIndex}-${e}-${this.counter++}`}addDef(e){this.defs.push(e)}};function z(t){return t.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;")}function h(t){return z(t).replaceAll('"',"&quot;")}function o(t){return Number.isInteger(t)?String(t):Number(t.toFixed(2)).toString()}function O(t){return t===void 0?void 0:t*(96/72)}function S(t,e){return q(t,e)}function Mt(t){switch(t){case"center":return"middle";case"right":return"end";default:return"start"}}function rt(t){return t?.fontSize??14}function wt(t,e){let r=rt(t);return e?.lineHeight!==void 0?e.lineSpacingMode==="percentage"?r*(e.lineHeight/100):O(e.lineHeight)??r*1.2:t?.lineHeight??r*1.2}function xt(t){let e=t.style?.rotation;if(!e)return"";let r=t.layout.x+t.layout.width/2,n=t.layout.y+t.layout.height/2;return`rotate(${o(e)} ${o(r)} ${o(n)})`}function B(t,e,r,n){let a=t.nextId("lg"),i=((e.angle??180)-90)*(Math.PI/180),c=r.x+r.width/2,l=r.y+r.height/2,u=Math.max(r.width,r.height)/2,$=c-Math.cos(i)*u,d=l-Math.sin(i)*u,f=c+Math.cos(i)*u,p=l+Math.sin(i)*u;return t.addDef(`<linearGradient id="${a}" gradientUnits="userSpaceOnUse" x1="${o($)}" y1="${o(d)}" x2="${o(f)}" y2="${o(p)}">${e.stops.slice().sort((g,F)=>g.position-F.position).map(g=>`<stop offset="${Math.max(0,Math.min(100,g.position))}%" stop-color="${h(S(g.color,n)??"#000000")}"${g.alpha!==void 0?` stop-opacity="${Math.max(0,Math.min(1,g.alpha))}"`:""}/>`).join("")}</linearGradient>`),`url(#${a})`}function G(t,e,r,n){let a=t.nextId("rg"),i=r.x+r.width/2,c=r.y+r.height/2,l=Math.max(r.width,r.height)/2;return t.addDef(`<radialGradient id="${a}" gradientUnits="userSpaceOnUse" cx="${o(i)}" cy="${o(c)}" r="${o(l)}">${e.stops.slice().sort((u,$)=>u.position-$.position).map(u=>`<stop offset="${Math.max(0,Math.min(100,u.position))}%" stop-color="${h(S(u.color,n)??"#000000")}"${u.alpha!==void 0?` stop-opacity="${Math.max(0,Math.min(1,u.alpha))}"`:""}/>`).join("")}</radialGradient>`),`url(#${a})`}function nt(t,e,r,n,a){let i=t.nextId("pat"),c=Math.max(8,Math.min(20,Math.round(Math.max(e.width,e.height)/18)||12)),l=S(r,a)??"#000000",u=S(n,a)??"#FFFFFF";return t.addDef(`<pattern id="${i}" patternUnits="userSpaceOnUse" width="${c}" height="${c}"><rect width="${c}" height="${c}" fill="${h(u)}"/><path d="M 0 ${c} L ${c} 0" stroke="${h(l)}" stroke-opacity="0.18" stroke-width="${Math.max(1,c/6)}"/></pattern>`),`url(#${i})`}async function Ft(t,e,r){let n=await U(r,r.toLowerCase().includes("svg"));if(!n)return"transparent";let a=t.nextId("imgfill");return t.addDef(`<pattern id="${a}" patternUnits="userSpaceOnUse" x="${o(e.x)}" y="${o(e.y)}" width="${o(Math.max(1,e.width))}" height="${o(Math.max(1,e.height))}"><image href="${h(n)}" x="${o(e.x)}" y="${o(e.y)}" width="${o(Math.max(1,e.width))}" height="${o(Math.max(1,e.height))}" preserveAspectRatio="none"/></pattern>`),`url(#${a})`}function K(t,e,r,n,a,i,c){let l=t.nextId("fx"),u=Math.max(n*2,12);return t.addDef(`<filter id="${l}" filterUnits="userSpaceOnUse" x="${o(e.x-u-Math.abs(a))}" y="${o(e.y-u-Math.abs(i))}" width="${o(e.width+u*2+Math.abs(a)*2)}" height="${o(e.height+u*2+Math.abs(i)*2)}"><feDropShadow dx="${o(a)}" dy="${o(i)}" stdDeviation="${o(Math.max(.1,n/2))}" flood-color="${h(r)}" flood-opacity="${Math.max(0,Math.min(1,c))}"/></filter>`),`url(#${l})`}function bt(t,e,r,n,a,i,c){let l=t.nextId("is"),u=Math.max(n*2,12);return t.addDef(`<filter id="${l}" filterUnits="userSpaceOnUse" x="${o(e.x-u-Math.abs(a))}" y="${o(e.y-u-Math.abs(i))}" width="${o(e.width+u*2+Math.abs(a)*2)}" height="${o(e.height+u*2+Math.abs(i)*2)}"><feFlood flood-color="${h(r)}" flood-opacity="${Math.max(0,Math.min(1,c))}" result="shadowColor"/><feComposite in="shadowColor" in2="SourceAlpha" operator="in" result="shadowAlpha"/><feGaussianBlur in="shadowAlpha" stdDeviation="${o(Math.max(.1,n/2))}" result="shadowBlur"/><feOffset in="shadowBlur" dx="${o(a)}" dy="${o(i)}" result="shadowOffset"/><feComposite in="shadowOffset" in2="SourceAlpha" operator="out" result="innerShadow"/><feComposite in="SourceGraphic" in2="innerShadow" operator="over"/></filter>`),`url(#${l})`}function Ct(t,e,r,n){let a=t.nextId("rm"),i=t.nextId("rg"),c=e.y+e.height,l=e.y+e.height*2;return t.addDef(`<linearGradient id="${i}" gradientUnits="userSpaceOnUse" x1="${o(e.x)}" y1="${o(c)}" x2="${o(e.x)}" y2="${o(l)}"><stop offset="0%" stop-color="#FFFFFF" stop-opacity="${Math.max(0,Math.min(1,r))}"/><stop offset="100%" stop-color="#FFFFFF" stop-opacity="${Math.max(0,Math.min(1,n))}"/></linearGradient>`),t.addDef(`<mask id="${a}" maskUnits="userSpaceOnUse" x="${o(e.x)}" y="${o(c)}" width="${o(e.width)}" height="${o(e.height)}"><rect x="${o(e.x)}" y="${o(c)}" width="${o(e.width)}" height="${o(e.height)}" fill="url(#${i})"/></mask>`),`url(#${a})`}function tt(t,e,r,n){let a=t.nextId("mk");return t.addDef(`<marker id="${a}" markerUnits="strokeWidth" markerWidth="${o(Math.max(4,n))}" markerHeight="${o(Math.max(4,r))}" refX="${o(Math.max(4,n))}" refY="${o(Math.max(4,r)/2)}" orient="auto"><path d="M 0 0 L ${o(Math.max(4,n))} ${o(Math.max(4,r)/2)} L 0 ${o(Math.max(4,r))} Z" fill="${h(e)}"/></marker>`),`url(#${a})`}async function W(t,e,r){if(!t?.length)return"";let n="";for(let a of t)n+=await Ht(a,e,r);return n}async function U(t,e=!1){if(t){if(t.startsWith("data:")){let r=t.indexOf(",");if(r===-1)return t;if(t.slice(0,r).toLowerCase().includes(";base64"))try{N(t.slice(r+1))}catch(n){D().warn(`[svg] Rejected oversized data URI: ${n.message}`);return}return t}if(!(!t.startsWith("http://")&&!t.startsWith("https://")))try{Q(t);let r=await Y(t,{signal:AbortSignal.timeout(Z)});if(!r.ok)return;let n=r.headers.get("content-type")?.split(";")[0]?.trim().toLowerCase(),a=Buffer.from(await r.arrayBuffer());return e||n?.includes("svg")?`data:image/svg+xml;base64,${a.toString("base64")}`:`data:${n??"image/png"};base64,${a.toString("base64")}`}catch(r){D().warn(`[svg] Failed to inline image ${t}: ${r.message}`);return}}}function vt(t,e,r){let n=[];if(t.style?.fontFamily&&n.push(`font-family="${h(t.style.fontFamily)}"`),t.style?.fontSize!==void 0&&n.push(`font-size="${o(t.style.fontSize)}"`),t.style?.fontWeight&&n.push(`font-weight="${h(t.style.fontWeight)}"`),t.style?.fontStyle&&n.push(`font-style="${h(t.style.fontStyle)}"`),t.style?.textDecorationLine&&t.style.textDecorationLine!=="none"&&n.push(`text-decoration="${h(t.style.textDecorationLine.replaceAll("-"," "))}"`),t.style?.color&&n.push(`fill="${h(S(t.style.color,r)??"#000000")}"`),t.style?.gradientFill){let a={x:0,y:0,width:100,height:100},i=t.style.gradientFill.type==="linear"?B(e,t.style.gradientFill,a,r):G(e,t.style.gradientFill,a,r);n.push(`fill="${i}"`)}return`<tspan${n.length?` ${n.join(" ")}`:""}>${z(t.text)}</tspan>`}function Tt(t,e,r,n,a){let i=rt(r),c=r?.textInsets,l=e.x+(c?.left??0),u=e.y+(c?.top??0),$=Math.max(0,e.height-(c?.top??0)-(c?.bottom??0)),d=t.map(y=>{let w=(O(y.spaceBefore)??0)+(y.spaceBeforePercent!==void 0?i*(y.spaceBeforePercent/100):0),m=(O(y.spaceAfter)??0)+(y.spaceAfterPercent!==void 0?i*(y.spaceAfterPercent/100):0),M=wt(r,y);return{paragraph:y,before:w,after:m,lineHeight:M,total:w+m+M}}),f=d.reduce((y,w)=>y+w.total,0),p=r?.verticalAlign??"top",g=p==="middle"?Math.max(0,($-f)/2):p==="bottom"?Math.max(0,$-f):0,F=u+g,x=[];for(let y of d){F+=y.before;let w=y.paragraph,m=w.runs??[],M=Mt(w.align??r?.textAlign),k=l+(w.marginLeft??0)+(w.indent??0),v=F+i,C=[`x="${o(k)}"`,`y="${o(v)}"`,`text-anchor="${M}"`,'xml:space="preserve"'];(w.rtl||r?.rtl)&&C.push('direction="rtl"','unicode-bidi="bidi-override"');let R=m.length?m.map(I=>vt(I,n??new P(0),a)).join(""):"";x.push(`<text ${C.join(" ")}>${R||z("")}</text>`),F+=y.lineHeight+y.after}return x.join("")}function V(t,e,r,n,a,i,c=1){let l=c===1||!n?n??{}:{...n,fontSize:Math.max(1,(n.fontSize??14)*c)},u=_(t,e),$=[],d=S(l.color,i);return d&&$.push(`fill="${h(d)}"`),l.fontFamily&&$.push(`font-family="${h(l.fontFamily)}"`),l.fontSize!==void 0&&$.push(`font-size="${o(l.fontSize)}"`),l.fontWeight&&$.push(`font-weight="${h(l.fontWeight)}"`),l.fontStyle&&$.push(`font-style="${h(l.fontStyle)}"`),`<g${$.length?` ${$.join(" ")}`:""}>${Tt(u,r,l,a,i)}</g>`}async function Lt(t,e,r,n){let a=t,{width:i,height:c}=t.layout;if(n)return`<rect x="0" y="0" width="${o(i)}" height="${o(c)}" fill="${h(n)}"/>`;let l=a.background;if(!l)return`<rect x="0" y="0" width="${o(i)}" height="${o(c)}" fill="#FFFFFF"/>`;switch(l.type){case"solid":return`<rect x="0" y="0" width="${o(i)}" height="${o(c)}" fill="${h(S(l.color,r)??"#FFFFFF")}"/>`;case"gradient":return`<rect x="0" y="0" width="${o(i)}" height="${o(c)}" fill="${B(e,l,t.layout,r)}"/>`;case"pattern":return`<rect x="0" y="0" width="${o(i)}" height="${o(c)}" fill="${nt(e,t.layout,l.foreground,l.background,r)}"/>`;case"image":{let u=await U(l.src,!1);return u?`<image href="${h(u)}" x="0" y="0" width="${o(i)}" height="${o(c)}" preserveAspectRatio="none"/>`:`<rect x="0" y="0" width="${o(i)}" height="${o(c)}" fill="#FFFFFF"/>`}default:return`<rect x="0" y="0" width="${o(i)}" height="${o(c)}" fill="#FFFFFF"/>`}}function at(t,e,r,n){let a=xt(t),i=t.style?.opacity,c=t.style?.effects,l;c?.dropShadow?l=K(r,t.layout,S(c.dropShadow.color,n)??"rgba(0,0,0,0.3)",c.dropShadow.blurRadius,c.dropShadow.offsetX,c.dropShadow.offsetY,c.dropShadow.opacity??1):c?.glow?l=K(r,t.layout,S(c.glow.color,n)??"rgba(255,255,255,0.65)",c.glow.radius,0,0,c.glow.opacity??1):c?.innerShadow&&(l=bt(r,t.layout,S(c.innerShadow.color,n)??"rgba(0,0,0,0.3)",c.innerShadow.blurRadius,c.innerShadow.offsetX,c.innerShadow.offsetY,c.innerShadow.opacity??1));let u=`<g${[a?`transform="${a}"`:"",i!==void 0?`opacity="${o(i)}"`:"",l?`filter="${l}"`:""].filter(Boolean).length?` ${[a?`transform="${a}"`:"",i!==void 0?`opacity="${o(i)}"`:"",l?`filter="${l}"`:""].filter(Boolean).join(" ")}`:""}>${e}</g>`,$=c?.reflection;if(!$)return u;let d=Ct(r,t.layout,$.startOpacity??.5,$.endOpacity??0),p=`<g transform="${[a,`translate(0 ${o(t.layout.height*2+($.distance??0))})`,"scale(1 -1)"].filter(Boolean).join(" ")}" opacity="${o(i??1)}" mask="url(#${d})">${e}</g>`;return`${u}${p}`}async function kt(t,e){let{x:r,y:n,width:a,height:i}=t.layout,c=await U(t.svgSrc??t.src,!!t.svgSrc);if(!c)return`<rect x="${o(r)}" y="${o(n)}" width="${o(a)}" height="${o(i)}" fill="#F1F5F9" stroke="#CBD5E1" stroke-dasharray="4 3"/><text x="${o(r+a/2)}" y="${o(n+i/2)}" text-anchor="middle" dominant-baseline="middle" fill="#94A3B8" font-family="monospace" font-size="11">[image]</text>`;let l=`<image href="${h(c)}" x="${o(r)}" y="${o(n)}" width="${o(a)}" height="${o(i)}" preserveAspectRatio="none"/>`;if(t.borderRadius&&t.borderRadius>0){let u=e.nextId("clip");e.addDef(`<clipPath id="${u}" clipPathUnits="userSpaceOnUse"><rect x="${o(r)}" y="${o(n)}" width="${o(a)}" height="${o(i)}" rx="${o(t.borderRadius)}" ry="${o(t.borderRadius)}"/></clipPath>`),l=`<g clip-path="url(#${u})">${l}</g>`}return l}function Pt(t,e,r){let n=S(t.lineColor,r)??"#1F2937",a=t.lineWidth??1.5,i=t.lineDashStyle==="dashed"?`${a*3} ${a*2}`:t.lineDashStyle==="dotted"?`${a} ${a*2}`:t.lineDashStyle==="dotDash"?`${a} ${a*2} ${a*3} ${a*2}`:"",c=typeof t.arrowStart=="object"?t.arrowStart:t.arrowStart?{type:"triangle",width:"med",length:"med"}:void 0,l=typeof t.arrowEnd=="object"?t.arrowEnd:t.arrowEnd?{type:"triangle",width:"med",length:"med"}:void 0,u=c?tt(e,n,c.width==="lg"?8:c.width==="med"?6:4,c.length==="lg"?12:c.length==="med"?9:6):void 0,$=l?tt(e,n,l.width==="lg"?8:l.width==="med"?6:4,l.length==="lg"?12:l.length==="med"?9:6):void 0,{x:d,y:f}=t.start,{x:p,y:g}=t.end,x=[`d="${t.connectorType==="elbow"?`M ${o(d)} ${o(f)} L ${o((d+p)/2)} ${o(f)} L ${o((d+p)/2)} ${o(g)} L ${o(p)} ${o(g)}`:t.connectorType==="curved"?`M ${o(d)} ${o(f)} Q ${o((d+p)/2)} ${o(f-Math.abs(g-f)*.25)} ${o(p)} ${o(g)}`:`M ${o(d)} ${o(f)} L ${o(p)} ${o(g)}`}"`,'fill="none"',`stroke="${h(n)}"`,`stroke-width="${o(a)}"`];return i&&x.push(`stroke-dasharray="${i}"`),u&&x.push(`marker-start="${u}"`),$&&x.push(`marker-end="${$}"`),`<path ${x.join(" ")} />`}async function Bt(t,e){let{x:r,y:n,width:a,height:i}=t.layout,c=t.chartData.chartType,l=t.chartData.title?.text??c,u=await X(t.chartData,{width:Math.max(1,Math.round(a)),height:Math.max(1,Math.round(i))},e);if(!u)return`<g class="paperjsx-chart-hook" data-chart-type="${h(c)}" data-chart-title="${h(l)}"><rect x="${o(r)}" y="${o(n)}" width="${o(a)}" height="${o(i)}" fill="#F8FAFC" stroke="#94A3B8" stroke-dasharray="6 4" rx="6" ry="6"/><text x="${o(r+a/2)}" y="${o(n+i/2)}" text-anchor="middle" dominant-baseline="middle" fill="#64748B" font-family="monospace" font-size="12">Chart</text></g>`;let $=u.svg.replace(/^\s*<\?xml[^>]*>\s*/i,"").replace(/<svg\b([^>]*)>/i,`<svg$1 x="${o(r)}" y="${o(n)}" width="${o(a)}" height="${o(i)}" preserveAspectRatio="none">`);return`<g class="paperjsx-chart" data-chart-renderer="${u.renderer}" data-chart-type="${h(c)}" data-chart-title="${h(l)}">${$}</g>`}function Rt(t,e,r,n){let a=t.style?.fill,i="#FFFFFF";a&&typeof a=="object"&&"type"in a?i=a.type==="linear"?B(r,a,e,n):G(r,a,e,n):a&&(i=S(a,n)??"#FFFFFF");let c=t.style?.padding??4,l={x:e.x+c,y:e.y+c,width:Math.max(0,e.width-c*2),height:Math.max(0,e.height-c*2)},u={fontFamily:t.style?.fontFamily,fontSize:t.style?.fontSize,fontWeight:t.style?.fontWeight,fontStyle:t.style?.fontStyle,color:t.style?.color,textAlign:t.style?.textAlign,verticalAlign:t.style?.verticalAlign},$=V(t.content??t.text,t.paragraphs,l,u,r,n);return`<g><rect x="${o(e.x)}" y="${o(e.y)}" width="${o(e.width)}" height="${o(e.height)}" fill="${h(i)}"/>${$}</g>`}function It(t,e,r){let{x:n,y:a,width:i,height:c}=t.layout,l=t.tableData,u=l.rows.length||1,$=c/u,d=l.rows.map(m=>m.height??m.minHeight??$),f=d.reduce((m,M)=>m+M,0)||c,p=a,g=[];for(let m=0;m<l.rows.length;m++){let M=l.rows[m],k=n;for(let v=0;v<M.cells.length;v++){let C=M.cells[v];if(C.vMerge||C.hMerge)continue;let R=Math.max(1,C.colSpan??1),I=Math.max(1,C.rowSpan??1),E=l.columns.slice(v,v+R).reduce((H,A)=>H+A,0),ot=d.slice(m,m+I).reduce((H,A)=>H+A,0);g.push(Rt(C,{x:k,y:p,width:E,height:ot},e,r)),k+=E}p+=d[m]??$}let F=l.style?.outerBorder,x=l.style?.innerBorderH,y=l.style?.innerBorderV,w=[];if(x){let m=a;for(let M=0;M<d.length-1;M++)m+=d[M],w.push(`<line x1="${o(n)}" y1="${o(m)}" x2="${o(n+i)}" y2="${o(m)}" stroke="${h(S(x.color,r)??"#E2E8F0")}" stroke-width="${o(x.width??1)}"/>`)}if(y){let m=n;for(let M=0;M<l.columns.length-1;M++)m+=l.columns[M],w.push(`<line x1="${o(m)}" y1="${o(a)}" x2="${o(m)}" y2="${o(a+f)}" stroke="${h(S(y.color,r)??"#E2E8F0")}" stroke-width="${o(y.width??1)}"/>`)}return F&&w.push(`<rect x="${o(n)}" y="${o(a)}" width="${o(i)}" height="${o(f)}" fill="none" stroke="${h(S(F.color,r)??"#CBD5E1")}" stroke-width="${o(F.width??1)}"/>`),`<g>${g.join("")}${w.join("")}</g>`}async function et(t,e,r){let n=t.layout,a=S(t.style?.backgroundColor,r)??"transparent";if(t.style?.fill)switch(t.style.fill.type){case"solid":a=S(t.style.fill.color,r)??"transparent";break;case"linear":a=B(e,t.style.fill,n,r);break;case"radial":a=G(e,t.style.fill,n,r);break;case"pattern":a=nt(e,n,t.style.fill.foreground,t.style.fill.background,r);break;case"image":a=await Ft(e,n,t.style.fill.src);break}let i=t.style?.borderWidth&&t.style?.borderColor?S(t.style.borderColor,r)??"#000000":void 0,c=i?`stroke="${h(i)}" stroke-width="${o(t.style.borderWidth)}"${t.style?.borderStyle==="dashed"?` stroke-dasharray="${o(t.style.borderWidth*3)} ${o(t.style.borderWidth*2)}"`:t.style?.borderStyle==="dotted"?` stroke-dasharray="${o(t.style.borderWidth)} ${o(t.style.borderWidth*2)}"`:""}`:'stroke="none"',l=J(t,n.x,n.y,n.width,n.height),u=`<path d="${l.d}" fill="${h(a)}"${l.fillRule?` fill-rule="${l.fillRule}"`:""} ${c}/>`,$=t.type==="View"?t.textParagraphs||t.textContent?V(t.textContent,t.textParagraphs,{x:n.x+(t.textStyle?.textInsets?.left??0),y:n.y+(t.textStyle?.textInsets?.top??0),width:n.width-(t.textStyle?.textInsets?.left??0)-(t.textStyle?.textInsets?.right??0),height:n.height-(t.textStyle?.textInsets?.top??0)-(t.textStyle?.textInsets?.bottom??0)},t.textStyle,e,r,t._autoFitResult?.fontScale?t._autoFitResult.fontScale/1e5:1):"":V(t.content,t.paragraphs,n,t.style,e,r,t._autoFitResult?.fontScale?t._autoFitResult.fontScale/1e5:1),d=t.type==="View"?await W(t.children,e,r):"";return at(t,`${u}${d}${$}`,e,r)}async function Ht(t,e,r){if(t.style?.display==="none")return"";switch(t.type){case"View":return et(t,e,r);case"Text":return et(t,e,r);case"Image":return kt(t,e);case"Table":return It(t,e,r);case"Chart":return Bt(t,r);case"Connector":return Pt(t,e,r);case"Group":{let n=t,a=await W(n.children,e,r);return at(n,a,e,r)}case"Video":case"Audio":return"";default:return""}}async function st(t,e,r){let n=new P(e),a=t.layout.width,i=t.layout.height,c=r?.scale??1,l=r?.width??(r?.height!==void 0?Math.round(r.height*(a/i)):a),u=r?.height??(r?.width!==void 0?Math.round(r.width/(a/i)):i),$=Math.max(1,Math.round(l*c)),d=Math.max(1,Math.round(u*c)),f=await Lt(t,n,r?.themeColors,r?.background),p=await W(t.children,n,r?.themeColors),g=n.defs.length?`<defs>${n.defs.join("")}</defs>`:"";return{slideIndex:e,width:$,height:d,svg:['<?xml version="1.0" encoding="UTF-8"?>',`<svg xmlns="http://www.w3.org/2000/svg" width="${o($)}" height="${o(d)}" viewBox="0 0 ${o(a)} ${o(i)}" preserveAspectRatio="none" shape-rendering="geometricPrecision">`,g,f,p,"</svg>"].join("")}}async function Et(t,e,r){return st(t,e,r)}async function Zt(t,e,r){let n=[];for(let a=0;a<t.length;a++)n.push(await st(t[a],e[a]??a,r));return n}export{Et as renderToSvgSlide,Zt as renderToSvgSlides};
@@ -0,0 +1,19 @@
1
+ import type { CompatibilityIssue, LayoutSlide, PptxCompatibilityMode } from "../layout/extract.js";
2
+ import type { PaperDocument } from "../types/ast.js";
3
+ export interface SlideCompatibilityReport {
4
+ slideIndex: number;
5
+ compatibilityVerdict: PptxCompatibilityMode;
6
+ fallbackReason?: string;
7
+ issues: CompatibilityIssue[];
8
+ fontSubstitutions: Record<string, string>;
9
+ fonts: string[];
10
+ }
11
+ export interface DocumentCompatibilityReport {
12
+ compatibilityVerdict: PptxCompatibilityMode;
13
+ slides: SlideCompatibilityReport[];
14
+ fontSubstitutions: Record<string, string>;
15
+ }
16
+ export declare function applyPptxCompatibility(slideTree: LayoutSlide, slideIndex: number): SlideCompatibilityReport;
17
+ export declare function summarizeDocumentCompatibility(slides: SlideCompatibilityReport[]): DocumentCompatibilityReport;
18
+ export declare function analyzeDocumentCompatibility(doc: PaperDocument): Promise<DocumentCompatibilityReport>;
19
+ //# sourceMappingURL=pptxCompatibility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pptxCompatibility.d.ts","sourceRoot":"","sources":["../../../../../src/compatibility/pptxCompatibility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAIlB,WAAW,EAGX,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAQ9B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAiBrD,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,qBAAqB,CAAC;IAC5C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,2BAA2B;IAC1C,oBAAoB,EAAE,qBAAqB,CAAC;IAC5C,MAAM,EAAE,wBAAwB,EAAE,CAAC;IACnC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C;AAqQD,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,GAAG,wBAAwB,CA2D3G;AAED,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,wBAAwB,EAAE,GACjC,2BAA2B,CAY7B;AAED,wBAAsB,4BAA4B,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAc3G"}
@@ -0,0 +1,52 @@
1
+ import type { AutoFitResult } from "../typography/autoFit.js";
2
+ export type PptxCompatibilityMode = "native_safe" | "native_anchored" | "visual_fallback";
3
+ export type PptxFallbackLevel = "native_editable" | "native_anchored" | "alternate_content" | "visual_fallback";
4
+ export type TextCompositionMode = "shape_per_text" | "single_frame_card" | "rendered_visual";
5
+ export type InternalAutoFitPolicy = "none" | "shrink_text" | "grow_shape" | "office_default" | "engine_conditional";
6
+ export type CompatibilityIssueClass = "text_overflow_risk" | "font_substitution_risk" | "chart_layout_risk" | "template_placeholder_risk" | "relationship_risk" | "animation_risk";
7
+ export interface CompatibilityIssue {
8
+ code: string;
9
+ message: string;
10
+ severity: "info" | "warning" | "error";
11
+ issueClass?: CompatibilityIssueClass;
12
+ fallbackLevel?: PptxFallbackLevel;
13
+ remediation?: string;
14
+ }
15
+ export interface LayoutCompatibilityMeta {
16
+ mode: PptxCompatibilityMode;
17
+ reason?: string;
18
+ issues?: CompatibilityIssue[];
19
+ fallbackReason?: string;
20
+ chartUtilization?: {
21
+ widthRatio: number;
22
+ heightRatio: number;
23
+ };
24
+ textCompositionMode?: TextCompositionMode;
25
+ autoFitPolicy?: InternalAutoFitPolicy;
26
+ }
27
+ export interface LayoutRuntimeProps {
28
+ _autoFitResult?: AutoFitResult;
29
+ _insideVisualView?: boolean;
30
+ _omitTransform?: boolean;
31
+ _compatibility?: LayoutCompatibilityMeta;
32
+ }
33
+ type VisualNode = {
34
+ type: string;
35
+ style?: {
36
+ backgroundColor?: unknown;
37
+ fill?: unknown;
38
+ effects?: unknown;
39
+ borderWidth?: number;
40
+ };
41
+ shapeType?: unknown;
42
+ customGeometry?: unknown;
43
+ textContent?: unknown;
44
+ textParagraphs?: unknown[];
45
+ hyperlink?: unknown;
46
+ altText?: unknown;
47
+ decorative?: boolean;
48
+ locks?: unknown;
49
+ };
50
+ export declare function hasVisualProperties(node: VisualNode): boolean;
51
+ export {};
52
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../../src/compatibility/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,MAAM,qBAAqB,GAAG,aAAa,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;AAC1F,MAAM,MAAM,iBAAiB,GACzB,iBAAiB,GACjB,iBAAiB,GACjB,mBAAmB,GACnB,iBAAiB,CAAC;AACtB,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,iBAAiB,CAAC;AAC7F,MAAM,MAAM,qBAAqB,GAC7B,MAAM,GACN,aAAa,GACb,YAAY,GACZ,gBAAgB,GAChB,oBAAoB,CAAC;AACzB,MAAM,MAAM,uBAAuB,GAC/B,oBAAoB,GACpB,wBAAwB,GACxB,mBAAmB,GACnB,2BAA2B,GAC3B,mBAAmB,GACnB,gBAAgB,CAAC;AAErB,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IACvC,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,aAAa,CAAC,EAAE,qBAAqB,CAAC;CACvC;AAED,MAAM,WAAW,kBAAkB;IACjC,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,uBAAuB,CAAC;CAC1C;AAED,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE;QACN,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAe7D"}
@@ -0,0 +1,21 @@
1
+ import { AsyncLocalStorage } from "node:async_hooks";
2
+ /**
3
+ * Loose context bag stored in AsyncLocalStorage.
4
+ * Property names match RenderContext fields; values are typed as `unknown`
5
+ * to avoid importing concrete manager classes here.
6
+ */
7
+ export interface ContextBag {
8
+ licenseKey?: unknown;
9
+ logger?: unknown;
10
+ deterministicMode?: unknown;
11
+ fontCache?: unknown;
12
+ harfBuzz?: unknown;
13
+ knuthPlass?: unknown;
14
+ fontBridge?: unknown;
15
+ engineMode?: unknown;
16
+ }
17
+ declare const _storage: AsyncLocalStorage<ContextBag>;
18
+ /** Get the active per-request context, or undefined if none. */
19
+ export declare function getActiveContext(): ContextBag | undefined;
20
+ export { _storage as contextStorage };
21
+ //# sourceMappingURL=contextStorage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextStorage.d.ts","sourceRoot":"","sources":["../../../../src/contextStorage.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,QAAA,MAAM,QAAQ,+BAAsC,CAAC;AAErD,gEAAgE;AAChE,wBAAgB,gBAAgB,IAAI,UAAU,GAAG,SAAS,CAEzD;AAED,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { PaperDocument } from "../types/ast.js";
2
+ export interface EnginePdfRenderOptions {
3
+ includeNotes?: boolean;
4
+ onProgress?: (slideIndex: number, totalSlides: number) => void;
5
+ pdfA?: "PDF/A-1b" | "PDF/A-2b";
6
+ quality?: "print" | "screen";
7
+ signal?: AbortSignal;
8
+ tagged?: boolean;
9
+ }
10
+ export declare function renderDocumentToPdf(doc: PaperDocument, options: EnginePdfRenderOptions | undefined): Promise<Buffer>;
11
+ //# sourceMappingURL=pptx-to-pdf.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pptx-to-pdf.d.ts","sourceRoot":"","sources":["../../../../../src/converter/pptx-to-pdf.ts"],"names":[],"mappings":"AAgDA,OAAO,KAAK,EAOV,aAAa,EASd,MAAM,iBAAiB,CAAC;AAkHzB,MAAM,WAAW,sBAAsB;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/D,IAAI,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC7B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAyED,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,sBAAsB,GAAG,SAAS,GAC1C,OAAO,CAAC,MAAM,CAAC,CAuEjB"}
@@ -0,0 +1,13 @@
1
+ export declare class DeterministicModeManager {
2
+ private _deterministic;
3
+ constructor(initialDeterministic?: boolean);
4
+ setDeterministicMode(enabled: boolean): void;
5
+ isDeterministicMode(): boolean;
6
+ }
7
+ export declare function setDeterministicMode(enabled: boolean): void;
8
+ export declare function isDeterministicMode(): boolean;
9
+ export declare function createInheritedDeterministicModeManager(): DeterministicModeManager;
10
+ /** ZIP format minimum date — 00:00:02Z avoids edge-case bugs in some ZIP libraries
11
+ * that treat exactly midnight as an invalid DOS timestamp. */
12
+ export declare const DETERMINISTIC_DATE: Date;
13
+ //# sourceMappingURL=deterministicMode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deterministicMode.d.ts","sourceRoot":"","sources":["../../../../src/deterministicMode.ts"],"names":[],"mappings":"AAMA,qBAAa,wBAAwB;IACnC,OAAO,CAAC,cAAc,CAAU;gBAEpB,oBAAoB,UAAQ;IAIxC,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAI5C,mBAAmB,IAAI,OAAO;CAG/B;AAUD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAI3D;AAED,wBAAgB,mBAAmB,IAAI,OAAO,CAI7C;AAED,wBAAgB,uCAAuC,IAAI,wBAAwB,CAElF;AAED;8DAC8D;AAC9D,eAAO,MAAM,kBAAkB,MAAmC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { PaperGroup, DiagramConfig } from "../types/ast.js";
2
+ export declare function generateCycle(config: DiagramConfig): PaperGroup;
3
+ //# sourceMappingURL=cycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cycle.d.ts","sourceRoot":"","sources":["../../../../../src/diagrams/cycle.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAwC,aAAa,EAAc,MAAM,iBAAiB,CAAC;AAKnH,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,UAAU,CA6F/D"}
@@ -0,0 +1,3 @@
1
+ import type { PaperGroup, DiagramConfig } from "../types/ast.js";
2
+ export declare function generateHierarchy(config: DiagramConfig): PaperGroup;
3
+ //# sourceMappingURL=hierarchy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hierarchy.d.ts","sourceRoot":"","sources":["../../../../../src/diagrams/hierarchy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAwC,aAAa,EAA2B,MAAM,iBAAiB,CAAC;AAwFhI,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,UAAU,CA6BnE"}
@@ -0,0 +1,14 @@
1
+ import type { PaperGroup, DiagramConfig } from "../types/ast.js";
2
+ /**
3
+ * Generates a SmartArt-like diagram as a PaperGroup.
4
+ * The group can be placed on a slide as a regular element.
5
+ * @experimental This API is subject to change in future versions.
6
+ */
7
+ export declare function generateDiagram(config: DiagramConfig): PaperGroup;
8
+ export { generateProcessFlow } from "./processFlow.js";
9
+ export { generateHierarchy } from "./hierarchy.js";
10
+ export { generateCycle } from "./cycle.js";
11
+ export { generateMatrix } from "./matrix.js";
12
+ export { generatePyramid } from "./pyramid.js";
13
+ export { generateList } from "./list.js";
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/diagrams/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAQjE;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,UAAU,CAiBjE;AAED,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { PaperGroup, DiagramConfig } from "../types/ast.js";
2
+ export declare function generateList(config: DiagramConfig): PaperGroup;
3
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../../src/diagrams/list.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAwB,aAAa,EAAc,MAAM,iBAAiB,CAAC;AAQnG,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,UAAU,CA+E9D"}
@@ -0,0 +1,3 @@
1
+ import type { PaperGroup, DiagramConfig } from "../types/ast.js";
2
+ export declare function generateMatrix(config: DiagramConfig): PaperGroup;
3
+ //# sourceMappingURL=matrix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matrix.d.ts","sourceRoot":"","sources":["../../../../../src/diagrams/matrix.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAwB,aAAa,EAAc,MAAM,iBAAiB,CAAC;AAKnG,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,UAAU,CA0DhE"}
@@ -0,0 +1,3 @@
1
+ import type { PaperGroup, DiagramConfig } from "../types/ast.js";
2
+ export declare function generateProcessFlow(config: DiagramConfig): PaperGroup;
3
+ //# sourceMappingURL=processFlow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processFlow.d.ts","sourceRoot":"","sources":["../../../../../src/diagrams/processFlow.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAwC,aAAa,EAAc,MAAM,iBAAiB,CAAC;AAMnH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,UAAU,CA8ErE"}
@@ -0,0 +1,3 @@
1
+ import type { PaperGroup, DiagramConfig } from "../types/ast.js";
2
+ export declare function generatePyramid(config: DiagramConfig): PaperGroup;
3
+ //# sourceMappingURL=pyramid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pyramid.d.ts","sourceRoot":"","sources":["../../../../../src/diagrams/pyramid.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAwB,aAAa,EAAc,MAAM,iBAAiB,CAAC;AAMnG,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,UAAU,CAoDjE"}
@@ -0,0 +1,34 @@
1
+ import type { PaperDocument, SlideBackground, Paragraph, HeaderFooter } from "../types/ast.js";
2
+ import type { LayoutNode } from "../layout/extract.js";
3
+ import type { SlideMediaManifest, MediaAsset } from "../ooxml/media.js";
4
+ import type { SlideChartManifest } from "../ooxml/chart/index.js";
5
+ import type { HyperlinkRel } from "../ooxml/drawing/text.js";
6
+ import { PptxArchive } from "../ooxml/zipper.js";
7
+ import { type DocumentCompatibilityReport } from "../compatibility/pptxCompatibility.js";
8
+ import type { EngineRenderOptions } from "../engine.js";
9
+ export declare const YIELD_FREQUENCY = 10;
10
+ export declare const yieldToEventLoop: () => Promise<void>;
11
+ export declare function hasAnyNotes(slideNotes: (string | Paragraph[] | undefined)[]): boolean;
12
+ export declare function validateCrossSlideHyperlinks(slideHyperlinkRels: Array<Array<{
13
+ url: string;
14
+ external?: boolean;
15
+ rId: string;
16
+ }>>, slideCount: number): void;
17
+ export declare function checkAborted(signal?: AbortSignal, slideIndex?: number, phase?: import("../errors.js").ErrorPhase): void;
18
+ export interface BuildArchiveResult {
19
+ archive: PptxArchive;
20
+ compatibilityReport: DocumentCompatibilityReport;
21
+ slideContents: string[];
22
+ slideMediaManifests: SlideMediaManifest[];
23
+ slideChartManifests: SlideChartManifest[];
24
+ slideHyperlinkRels: HyperlinkRel[][];
25
+ slideTransitionXmls: string[];
26
+ slideTimingXmls: string[];
27
+ slideBackgrounds: (SlideBackground | undefined)[];
28
+ slideNotes: (string | Paragraph[] | undefined)[];
29
+ slideHeaderFooters: (HeaderFooter | undefined)[];
30
+ slideBgImageAssets: (MediaAsset | undefined)[];
31
+ layoutTrees: LayoutNode[];
32
+ }
33
+ export declare function buildArchive(doc: PaperDocument, options?: EngineRenderOptions): Promise<BuildArchiveResult>;
34
+ //# sourceMappingURL=archiveAssembler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"archiveAssembler.d.ts","sourceRoot":"","sources":["../../../../../src/engine/archiveAssembler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,SAAS,EACT,YAAY,EACb,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAMjD,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,uCAAuC,CAAC;AAS/C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC,eAAO,MAAM,gBAAgB,qBAEmC,CAAC;AAEjE,wBAAgB,WAAW,CAAC,UAAU,EAAE,CAAC,MAAM,GAAG,SAAS,EAAE,GAAG,SAAS,CAAC,EAAE,GAAG,OAAO,CAErF;AAED,wBAAgB,4BAA4B,CAC1C,kBAAkB,EAAE,KAAK,CAAC,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,EAClF,UAAU,EAAE,MAAM,GACjB,IAAI,CAkBN;AAED,wBAAgB,YAAY,CAC1B,MAAM,CAAC,EAAE,WAAW,EACpB,UAAU,CAAC,EAAE,MAAM,EACnB,KAAK,GAAE,OAAO,cAAc,EAAE,UAAqB,GAClD,IAAI,CAON;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,WAAW,CAAC;IACrB,mBAAmB,EAAE,2BAA2B,CAAC;IACjD,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;IAC1C,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;IAC1C,kBAAkB,EAAE,YAAY,EAAE,EAAE,CAAC;IACrC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,EAAE,CAAC,eAAe,GAAG,SAAS,CAAC,EAAE,CAAC;IAClD,UAAU,EAAE,CAAC,MAAM,GAAG,SAAS,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;IACjD,kBAAkB,EAAE,CAAC,YAAY,GAAG,SAAS,CAAC,EAAE,CAAC;IACjD,kBAAkB,EAAE,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC;IAC/C,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B;AAED,wBAAsB,YAAY,CAChC,GAAG,EAAE,aAAa,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,kBAAkB,CAAC,CAsJ7B"}
@@ -0,0 +1,3 @@
1
+ import type { PaperDocument } from "../types/ast.js";
2
+ export declare function validateDocument(doc: PaperDocument): PaperDocument;
3
+ //# sourceMappingURL=documentValidation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documentValidation.d.ts","sourceRoot":"","sources":["../../../../../src/engine/documentValidation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAmCrD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,aAAa,GAAG,aAAa,CAsClE"}
@@ -0,0 +1,9 @@
1
+ import type { ThemeColorScheme } from "../types/ast.js";
2
+ import type { LayoutNode } from "../layout/extract.js";
3
+ export interface PreviewRenderOptions {
4
+ width?: number;
5
+ height?: number;
6
+ scale?: number;
7
+ }
8
+ export declare function renderLayoutPreviews(layoutTrees: LayoutNode[], previewOptions?: PreviewRenderOptions, themeColors?: ThemeColorScheme): Promise<Buffer[]>;
9
+ //# sourceMappingURL=previewGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"previewGenerator.d.ts","sourceRoot":"","sources":["../../../../../src/engine/previewGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,UAAU,EAAE,EACzB,cAAc,CAAC,EAAE,oBAAoB,EACrC,WAAW,CAAC,EAAE,gBAAgB,GAC7B,OAAO,CAAC,MAAM,EAAE,CAAC,CAYnB"}
@@ -0,0 +1,54 @@
1
+ import type { SlideBackground, SlideTransition, HeaderFooter, Paragraph, ThemeColorScheme } from "../types/ast.js";
2
+ import type { SlideMediaManifest, MediaAsset, MediaDeduplicationMap } from "../ooxml/media.js";
3
+ import type { HyperlinkRel } from "../ooxml/drawing/text.js";
4
+ import { type SlideChartManifest } from "../ooxml/chart/index.js";
5
+ import type { LayoutNode } from "../layout/extract.js";
6
+ import { type SlideCompatibilityReport } from "../compatibility/pptxCompatibility.js";
7
+ export interface SlideProcessingCounters {
8
+ globalMediaCounter: {
9
+ current: number;
10
+ };
11
+ globalChartCounter: {
12
+ current: number;
13
+ };
14
+ globalChartExCounter: {
15
+ current: number;
16
+ };
17
+ globalVideoAudioCounter: {
18
+ current: number;
19
+ };
20
+ mediaDeduplicationMap: MediaDeduplicationMap;
21
+ }
22
+ export interface SlideProcessingResult {
23
+ xml: string;
24
+ mediaManifest: SlideMediaManifest;
25
+ chartManifest: SlideChartManifest;
26
+ hyperlinkRels: HyperlinkRel[];
27
+ transitionXml: string;
28
+ timingXml: string;
29
+ compatibilityReport: SlideCompatibilityReport;
30
+ }
31
+ export declare function processSlideLayout(layoutTree: LayoutNode, slide: {
32
+ transition?: SlideTransition;
33
+ background?: SlideBackground;
34
+ }, counters: SlideProcessingCounters, enableFallbackImages?: boolean, themeColors?: ThemeColorScheme, slideIndex?: number): Promise<SlideProcessingResult>;
35
+ export interface SlideResultCollector {
36
+ slideContents: string[];
37
+ slideMediaManifests: SlideMediaManifest[];
38
+ slideChartManifests: SlideChartManifest[];
39
+ slideHyperlinkRels: HyperlinkRel[][];
40
+ slideTransitionXmls: string[];
41
+ slideTimingXmls: string[];
42
+ slideBackgrounds: (SlideBackground | undefined)[];
43
+ slideNotes: (string | Paragraph[] | undefined)[];
44
+ slideHeaderFooters: (HeaderFooter | undefined)[];
45
+ slideBgImageAssets: (MediaAsset | undefined)[];
46
+ slideCompatibilityReports: SlideCompatibilityReport[];
47
+ }
48
+ export declare function createSlideResultCollector(): SlideResultCollector;
49
+ export declare function collectSlideResult(collector: SlideResultCollector, slide: {
50
+ background?: SlideBackground;
51
+ notes?: string | Paragraph[];
52
+ headerFooter?: HeaderFooter;
53
+ }, slideResult: SlideProcessingResult, slideIdx: number, counters: SlideProcessingCounters, renderSignal?: AbortSignal): Promise<void>;
54
+ //# sourceMappingURL=slideProcessor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slideProcessor.d.ts","sourceRoot":"","sources":["../../../../../src/engine/slideProcessor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,YAAY,EAEZ,SAAS,EAET,gBAAgB,EACjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE/F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAmD,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAEnH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAWvD,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,uCAAuC,CAAC;AA4G/C,MAAM,WAAW,uBAAuB;IACtC,kBAAkB,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,kBAAkB,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,oBAAoB,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,uBAAuB,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,qBAAqB,EAAE,qBAAqB,CAAC;CAC9C;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,kBAAkB,CAAC;IAClC,aAAa,EAAE,kBAAkB,CAAC;IAClC,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,wBAAwB,CAAC;CAC/C;AAED,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE;IAAE,UAAU,CAAC,EAAE,eAAe,CAAC;IAAC,UAAU,CAAC,EAAE,eAAe,CAAA;CAAE,EACrE,QAAQ,EAAE,uBAAuB,EACjC,oBAAoB,CAAC,EAAE,OAAO,EAC9B,WAAW,CAAC,EAAE,gBAAgB,EAC9B,UAAU,SAAI,GACb,OAAO,CAAC,qBAAqB,CAAC,CA6JhC;AAED,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;IAC1C,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;IAC1C,kBAAkB,EAAE,YAAY,EAAE,EAAE,CAAC;IACrC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,EAAE,CAAC,eAAe,GAAG,SAAS,CAAC,EAAE,CAAC;IAClD,UAAU,EAAE,CAAC,MAAM,GAAG,SAAS,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;IACjD,kBAAkB,EAAE,CAAC,YAAY,GAAG,SAAS,CAAC,EAAE,CAAC;IACjD,kBAAkB,EAAE,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC;IAC/C,yBAAyB,EAAE,wBAAwB,EAAE,CAAC;CACvD;AAED,wBAAgB,0BAA0B,IAAI,oBAAoB,CAcjE;AAqBD,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,oBAAoB,EAC/B,KAAK,EAAE;IAAE,UAAU,CAAC,EAAE,eAAe,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,CAAC;IAAC,YAAY,CAAC,EAAE,YAAY,CAAA;CAAE,EAClG,WAAW,EAAE,qBAAqB,EAClC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,uBAAuB,EACjC,YAAY,CAAC,EAAE,WAAW,GACzB,OAAO,CAAC,IAAI,CAAC,CA2Bf"}
@@ -0,0 +1,13 @@
1
+ import type { PaperDocument } from "../types/ast.js";
2
+ import type { LayoutNode } from "../layout/extract.js";
3
+ import { type DocumentCompatibilityReport } from "../compatibility/pptxCompatibility.js";
4
+ import type { TemplatePreflightReport } from "../quality/report.js";
5
+ import type { EngineRenderOptions } from "../engine.js";
6
+ export interface TemplateRenderResult {
7
+ buffer: Buffer;
8
+ layoutTrees: LayoutNode[];
9
+ compatibilityReport: DocumentCompatibilityReport;
10
+ templateReport: TemplatePreflightReport;
11
+ }
12
+ export declare function renderTemplateInternal(doc: PaperDocument, options?: EngineRenderOptions): Promise<TemplateRenderResult>;
13
+ //# sourceMappingURL=templateMutator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templateMutator.d.ts","sourceRoot":"","sources":["../../../../../src/engine/templateMutator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAUvD,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,uCAAuC,CAAC;AAkB/C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,mBAAmB,EAAE,2BAA2B,CAAC;IACjD,cAAc,EAAE,uBAAuB,CAAC;CACzC;AAED,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,aAAa,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,oBAAoB,CAAC,CAyK/B"}
@@ -0,0 +1,5 @@
1
+ import type { PaperSlide } from "../types/ast.js";
2
+ import type { TemplatePreflightReport } from "../quality/report.js";
3
+ import type { TemplateIndex } from "../template/parser.js";
4
+ export declare function buildTemplatePreflightReport(slides: PaperSlide[], templateIndex: TemplateIndex): TemplatePreflightReport;
5
+ //# sourceMappingURL=templatePreflight.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templatePreflight.d.ts","sourceRoot":"","sources":["../../../../../src/engine/templatePreflight.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,UAAU,EAEX,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAsD3D,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,UAAU,EAAE,EACpB,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CA2CzB"}