@openpresentation/opf 0.13.0 → 0.15.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 (611) hide show
  1. package/README.md +40 -49
  2. package/dist/catalog-refs-BSfGELpt.d.ts +128 -0
  3. package/dist/catalog-schemas-CinPh5WA.d.ts +12 -0
  4. package/dist/catalog.d.ts +91 -0
  5. package/dist/{chunk-E34DJ5LL.js → catalog.js} +16949 -17628
  6. package/dist/{chart-data-Cdr6rRVV.d.ts → chart-data-BnNqgnC-.d.ts} +17 -6
  7. package/dist/{chunk-7QBCWNWL.js → chunk-2CJPC4HI.js} +1807 -1904
  8. package/dist/{chunk-II5EYKZU.js → chunk-374R35TJ.js} +2 -92
  9. package/dist/chunk-3JG4YXWF.js +1842 -0
  10. package/dist/chunk-3RKB4RDJ.js +192 -0
  11. package/dist/{chunk-IS2CPNVJ.js → chunk-5FTUIDUH.js} +26 -26
  12. package/dist/{chunk-GJKJL4YY.js → chunk-HXHOZ7AH.js} +1379 -504
  13. package/dist/{chunk-MPM7NRG7.js → chunk-O744SXXA.js} +2014 -885
  14. package/dist/chunk-QDI75P2M.js +3515 -0
  15. package/dist/chunk-SPFV27O5.js +210 -0
  16. package/dist/chunk-TRDXRRQK.js +17 -0
  17. package/dist/chunk-TWQJLI6E.js +601 -0
  18. package/dist/{chunk-ATGDDJPX.js → chunk-U4J75TRG.js} +3 -3
  19. package/dist/{chunk-RAYB46AB.js → chunk-UBFJ2QHH.js} +34 -30
  20. package/dist/chunk-VGAOJEY7.js +94 -0
  21. package/dist/chunk-ZPU46TFA.js +83 -0
  22. package/dist/{composition-D7we69Tr.d.ts → composition-D2tghM82.d.ts} +947 -111
  23. package/dist/composition.d.ts +3 -2
  24. package/dist/composition.js +2 -2
  25. package/dist/convert.d.ts +18 -19
  26. package/dist/convert.js +61 -50
  27. package/dist/data.d.ts +4 -4
  28. package/dist/data.js +3 -3
  29. package/dist/diff.d.ts +4 -4
  30. package/dist/diff.js +7 -605
  31. package/dist/docs.js +56 -44
  32. package/dist/examples.d.ts +1 -1
  33. package/dist/examples.js +49451 -6259
  34. package/dist/finding-CT_f_vbD.d.ts +212 -0
  35. package/dist/format.d.ts +4 -4
  36. package/dist/format.js +2 -83
  37. package/dist/index.d.ts +492 -309
  38. package/dist/index.js +767 -1097
  39. package/dist/json-BFSdESOE.d.ts +19 -0
  40. package/dist/markdown.d.ts +40 -27
  41. package/dist/markdown.js +9 -1941
  42. package/dist/pagination-wedbe7eq.d.ts +119 -0
  43. package/dist/pagination.d.ts +4 -61
  44. package/dist/pagination.js +6 -6
  45. package/dist/patch.d.ts +12 -23
  46. package/dist/patch.js +6 -6
  47. package/dist/{presentation-mG-IYErQ.d.ts → presentation-CDKQVkyI.d.ts} +702 -1026
  48. package/dist/repo-readme.js +1 -1
  49. package/dist/schemas.d.ts +284 -1
  50. package/dist/schemas.js +1 -1
  51. package/dist/spec/README.md +11 -6
  52. package/dist/spec/catalogs/audiences/index.json +2 -50
  53. package/dist/spec/catalogs/chart-types/100pct-stacked-area.json +21 -0
  54. package/dist/spec/catalogs/chart-types/100pct-stacked-bar.json +22 -0
  55. package/dist/spec/catalogs/chart-types/100pct-stacked-column.json +22 -0
  56. package/dist/spec/catalogs/chart-types/area.json +2 -60
  57. package/dist/spec/catalogs/chart-types/bar.json +2 -48
  58. package/dist/spec/catalogs/chart-types/box-and-whisker.json +2 -132
  59. package/dist/spec/catalogs/chart-types/column.json +2 -52
  60. package/dist/spec/catalogs/chart-types/combo.json +37 -0
  61. package/dist/spec/catalogs/chart-types/doughnut.json +2 -40
  62. package/dist/spec/catalogs/chart-types/filled-radar.json +2 -52
  63. package/dist/spec/catalogs/chart-types/funnel.json +2 -46
  64. package/dist/spec/catalogs/chart-types/histogram.json +2 -149
  65. package/dist/spec/catalogs/chart-types/index.json +50 -520
  66. package/dist/spec/catalogs/chart-types/line-with-markers.json +2 -60
  67. package/dist/spec/catalogs/chart-types/line.json +2 -60
  68. package/dist/spec/catalogs/chart-types/pareto.json +2 -50
  69. package/dist/spec/catalogs/chart-types/pie.json +2 -40
  70. package/dist/spec/catalogs/chart-types/radar-with-markers.json +2 -52
  71. package/dist/spec/catalogs/chart-types/radar.json +2 -52
  72. package/dist/spec/catalogs/chart-types/scatter.json +2 -73
  73. package/dist/spec/catalogs/chart-types/stacked-area.json +21 -0
  74. package/dist/spec/catalogs/chart-types/stacked-bar.json +22 -0
  75. package/dist/spec/catalogs/chart-types/stacked-column.json +22 -0
  76. package/dist/spec/catalogs/chart-types/stacked-line-with-markers.json +22 -0
  77. package/dist/spec/catalogs/chart-types/stacked-line.json +21 -0
  78. package/dist/spec/catalogs/chart-types/treemap.json +2 -48
  79. package/dist/spec/catalogs/chart-types/waterfall.json +2 -52
  80. package/dist/spec/catalogs/chart-types/world.json +2 -64
  81. package/dist/spec/catalogs/font-schemes/angsana-new.json +2 -2
  82. package/dist/spec/catalogs/font-schemes/aparajita.json +3 -3
  83. package/dist/spec/catalogs/font-schemes/aptos.json +1 -1
  84. package/dist/spec/catalogs/font-schemes/arabic-typesetting.json +2 -2
  85. package/dist/spec/catalogs/font-schemes/arial.json +1 -1
  86. package/dist/spec/catalogs/font-schemes/batang.json +2 -2
  87. package/dist/spec/catalogs/font-schemes/bookman.json +1 -1
  88. package/dist/spec/catalogs/font-schemes/calibri.json +1 -1
  89. package/dist/spec/catalogs/font-schemes/century-schoolbook.json +1 -1
  90. package/dist/spec/catalogs/font-schemes/consolas.json +2 -4
  91. package/dist/spec/catalogs/font-schemes/constantia.json +1 -1
  92. package/dist/spec/catalogs/font-schemes/courier-new.json +2 -4
  93. package/dist/spec/catalogs/font-schemes/daunpenh.json +2 -2
  94. package/dist/spec/catalogs/font-schemes/david.json +2 -2
  95. package/dist/spec/catalogs/font-schemes/dilleniaupc.json +2 -2
  96. package/dist/spec/catalogs/font-schemes/fangsong.json +2 -2
  97. package/dist/spec/catalogs/font-schemes/garamond.json +1 -1
  98. package/dist/spec/catalogs/font-schemes/gautami.json +2 -2
  99. package/dist/spec/catalogs/font-schemes/georgia.json +1 -1
  100. package/dist/spec/catalogs/font-schemes/gisha.json +3 -3
  101. package/dist/spec/catalogs/font-schemes/grandview.json +1 -1
  102. package/dist/spec/catalogs/font-schemes/gungsuh.json +2 -2
  103. package/dist/spec/catalogs/font-schemes/impact.json +1 -1
  104. package/dist/spec/catalogs/font-schemes/index.json +1 -1
  105. package/dist/spec/catalogs/font-schemes/kalinga.json +2 -2
  106. package/dist/spec/catalogs/font-schemes/kartika.json +2 -2
  107. package/dist/spec/catalogs/font-schemes/khmer-ui.json +2 -2
  108. package/dist/spec/catalogs/font-schemes/latha.json +2 -2
  109. package/dist/spec/catalogs/font-schemes/lucida-sans.json +1 -1
  110. package/dist/spec/catalogs/font-schemes/malgun-gothic.json +2 -2
  111. package/dist/spec/catalogs/font-schemes/mangal.json +4 -5
  112. package/dist/spec/catalogs/font-schemes/meiryo.json +2 -2
  113. package/dist/spec/catalogs/font-schemes/microsoft-jhenghei.json +2 -2
  114. package/dist/spec/catalogs/font-schemes/microsoft-yahei.json +5 -5
  115. package/dist/spec/catalogs/font-schemes/mingliu.json +2 -2
  116. package/dist/spec/catalogs/font-schemes/miriam.json +2 -2
  117. package/dist/spec/catalogs/font-schemes/montserrat.json +1 -1
  118. package/dist/spec/catalogs/font-schemes/ms-mincho.json +2 -2
  119. package/dist/spec/catalogs/font-schemes/nirmala-ui.json +2 -2
  120. package/dist/spec/catalogs/font-schemes/noto-naksh-arabic.json +2 -2
  121. package/dist/spec/catalogs/font-schemes/noto-nastaliq-urdu.json +3 -3
  122. package/dist/spec/catalogs/font-schemes/noto-sans-arabic.json +4 -4
  123. package/dist/spec/catalogs/font-schemes/noto-sans-armenian.json +2 -2
  124. package/dist/spec/catalogs/font-schemes/noto-sans-bengali.json +3 -3
  125. package/dist/spec/catalogs/font-schemes/noto-sans-devangari.json +3 -3
  126. package/dist/spec/catalogs/font-schemes/noto-sans-ethiopic.json +2 -2
  127. package/dist/spec/catalogs/font-schemes/noto-sans-georgian.json +2 -2
  128. package/dist/spec/catalogs/font-schemes/noto-sans-gujarati.json +2 -2
  129. package/dist/spec/catalogs/font-schemes/noto-sans-gurmukhi.json +2 -2
  130. package/dist/spec/catalogs/font-schemes/noto-sans-hebrew.json +2 -2
  131. package/dist/spec/catalogs/font-schemes/noto-sans-jp.json +2 -2
  132. package/dist/spec/catalogs/font-schemes/noto-sans-kannada.json +2 -2
  133. package/dist/spec/catalogs/font-schemes/noto-sans-khmer.json +2 -2
  134. package/dist/spec/catalogs/font-schemes/noto-sans-kr.json +2 -2
  135. package/dist/spec/catalogs/font-schemes/noto-sans-malayalam.json +2 -2
  136. package/dist/spec/catalogs/font-schemes/noto-sans-mongolian.json +2 -2
  137. package/dist/spec/catalogs/font-schemes/noto-sans-oriya.json +2 -2
  138. package/dist/spec/catalogs/font-schemes/noto-sans-sc.json +5 -5
  139. package/dist/spec/catalogs/font-schemes/noto-sans-tamil.json +2 -2
  140. package/dist/spec/catalogs/font-schemes/noto-sans-tc.json +2 -2
  141. package/dist/spec/catalogs/font-schemes/noto-sans-telugu.json +2 -2
  142. package/dist/spec/catalogs/font-schemes/noto-sans-thai.json +2 -2
  143. package/dist/spec/catalogs/font-schemes/noto-sans.json +5 -5
  144. package/dist/spec/catalogs/font-schemes/nyala.json +2 -2
  145. package/dist/spec/catalogs/font-schemes/open-sans.json +1 -1
  146. package/dist/spec/catalogs/font-schemes/pmingliu.json +2 -2
  147. package/dist/spec/catalogs/font-schemes/poppins.json +1 -1
  148. package/dist/spec/catalogs/font-schemes/pt-serif.json +1 -1
  149. package/dist/spec/catalogs/font-schemes/raavi.json +2 -2
  150. package/dist/spec/catalogs/font-schemes/raleway.json +1 -1
  151. package/dist/spec/catalogs/font-schemes/roboto.json +1 -1
  152. package/dist/spec/catalogs/font-schemes/rockwell.json +1 -1
  153. package/dist/spec/catalogs/font-schemes/sakkal-majalla.json +4 -4
  154. package/dist/spec/catalogs/font-schemes/seaford.json +1 -1
  155. package/dist/spec/catalogs/font-schemes/segoe-ui-light.json +1 -1
  156. package/dist/spec/catalogs/font-schemes/segoe-ui.json +1 -1
  157. package/dist/spec/catalogs/font-schemes/shonar-bangla.json +3 -3
  158. package/dist/spec/catalogs/font-schemes/shruti.json +2 -2
  159. package/dist/spec/catalogs/font-schemes/simsun.json +2 -2
  160. package/dist/spec/catalogs/font-schemes/skeena.json +1 -1
  161. package/dist/spec/catalogs/font-schemes/sylfaen.json +3 -3
  162. package/dist/spec/catalogs/font-schemes/tahoma.json +1 -1
  163. package/dist/spec/catalogs/font-schemes/tenorite.json +1 -1
  164. package/dist/spec/catalogs/font-schemes/times-new-roman.json +1 -1
  165. package/dist/spec/catalogs/font-schemes/traditional-arabic.json +4 -4
  166. package/dist/spec/catalogs/font-schemes/trebuchet-ms.json +1 -1
  167. package/dist/spec/catalogs/font-schemes/tunga.json +2 -2
  168. package/dist/spec/catalogs/font-schemes/verdana.json +1 -1
  169. package/dist/spec/catalogs/font-schemes/vrinda.json +2 -2
  170. package/dist/spec/catalogs/font-schemes/yu-gothic.json +2 -2
  171. package/dist/spec/catalogs/layouts/action-plan.json +9 -15
  172. package/dist/spec/catalogs/layouts/agenda.json +8 -15
  173. package/dist/spec/catalogs/layouts/appendix-index.json +7 -15
  174. package/dist/spec/catalogs/layouts/architecture-stack.json +9 -15
  175. package/dist/spec/catalogs/layouts/assumptions-dependencies.json +9 -15
  176. package/dist/spec/catalogs/layouts/before-after.json +9 -15
  177. package/dist/spec/catalogs/layouts/benchmark-target-table.json +9 -15
  178. package/dist/spec/catalogs/layouts/blank.json +11 -1
  179. package/dist/spec/catalogs/layouts/bullet-list.json +9 -15
  180. package/dist/spec/catalogs/layouts/business-model-canvas.json +9 -15
  181. package/dist/spec/catalogs/layouts/capability-map.json +11 -16
  182. package/dist/spec/catalogs/layouts/case-study.json +9 -15
  183. package/dist/spec/catalogs/layouts/chapter-recap.json +8 -15
  184. package/dist/spec/catalogs/layouts/chart-1x-title-center.json +30 -0
  185. package/dist/spec/catalogs/layouts/chart-1x.json +15 -0
  186. package/dist/spec/catalogs/layouts/chart-2x-title-center.json +36 -0
  187. package/dist/spec/catalogs/layouts/chart-2x-vertical-title-left.json +37 -0
  188. package/dist/spec/catalogs/layouts/chart-2x.json +15 -0
  189. package/dist/spec/catalogs/layouts/chart-3x-bottom-vertical-title-left.json +46 -0
  190. package/dist/spec/catalogs/layouts/chart-3x-left-title-center.json +45 -0
  191. package/dist/spec/catalogs/layouts/chart-3x-left.json +40 -0
  192. package/dist/spec/catalogs/layouts/chart-3x-right-title-center.json +45 -0
  193. package/dist/spec/catalogs/layouts/chart-3x-right.json +40 -0
  194. package/dist/spec/catalogs/layouts/chart-3x-title-center.json +39 -0
  195. package/dist/spec/catalogs/layouts/chart-3x-top-vertical-title-left.json +46 -0
  196. package/dist/spec/catalogs/layouts/chart-3x.json +15 -0
  197. package/dist/spec/catalogs/layouts/circular-lifecycle.json +9 -15
  198. package/dist/spec/catalogs/layouts/code-1x.json +10 -0
  199. package/dist/spec/catalogs/layouts/comparison.json +9 -15
  200. package/dist/spec/catalogs/layouts/competitive-landscape.json +11 -16
  201. package/dist/spec/catalogs/layouts/customer-journey.json +11 -16
  202. package/dist/spec/catalogs/layouts/customer-logos.json +9 -15
  203. package/dist/spec/catalogs/layouts/dashboard.json +9 -15
  204. package/dist/spec/catalogs/layouts/data-visualization.json +9 -15
  205. package/dist/spec/catalogs/layouts/decision-tree.json +11 -16
  206. package/dist/spec/catalogs/layouts/detailed-data-table.json +9 -15
  207. package/dist/spec/catalogs/layouts/ecosystem-map.json +11 -16
  208. package/dist/spec/catalogs/layouts/executive-decision.json +9 -15
  209. package/dist/spec/catalogs/layouts/executive-summary.json +9 -15
  210. package/dist/spec/catalogs/layouts/extract/canonical.json +7 -16
  211. package/dist/spec/catalogs/layouts/faq.json +9 -15
  212. package/dist/spec/catalogs/layouts/feature-comparison-matrix.json +9 -15
  213. package/dist/spec/catalogs/layouts/forecast-scenario.json +9 -15
  214. package/dist/spec/catalogs/layouts/funnel-pyramid.json +9 -15
  215. package/dist/spec/catalogs/layouts/gantt-project-plan.json +9 -15
  216. package/dist/spec/catalogs/layouts/geographic-map.json +10 -15
  217. package/dist/spec/catalogs/layouts/heatmap-cohort.json +9 -15
  218. package/dist/spec/catalogs/layouts/hub-and-spoke.json +9 -15
  219. package/dist/spec/catalogs/layouts/icon-grid.json +11 -16
  220. package/dist/spec/catalogs/layouts/image-1x-crop-title-center.json +32 -0
  221. package/dist/spec/catalogs/layouts/image-1x-crop-title-left.json +32 -0
  222. package/dist/spec/catalogs/layouts/image-1x-crop.json +27 -0
  223. package/dist/spec/catalogs/layouts/image-1x-fit-title-center.json +32 -0
  224. package/dist/spec/catalogs/layouts/image-1x.json +14 -1
  225. package/dist/spec/catalogs/layouts/image-2x-crop-title-center.json +38 -0
  226. package/dist/spec/catalogs/layouts/image-2x-crop-vertical-title-left.json +39 -0
  227. package/dist/spec/catalogs/layouts/image-2x-crop-vertical.json +34 -0
  228. package/dist/spec/catalogs/layouts/image-2x-crop.json +33 -0
  229. package/dist/spec/catalogs/layouts/image-2x-fit-title-center.json +38 -0
  230. package/dist/spec/catalogs/layouts/image-2x-fit-vertical-title-left.json +39 -0
  231. package/dist/spec/catalogs/layouts/image-2x-fit-vertical.json +34 -0
  232. package/dist/spec/catalogs/layouts/image-2x.json +15 -2
  233. package/dist/spec/catalogs/layouts/image-3x-crop-title-center.json +41 -0
  234. package/dist/spec/catalogs/layouts/image-3x-crop-vertical-title-left.json +42 -0
  235. package/dist/spec/catalogs/layouts/image-3x-crop-vertical.json +37 -0
  236. package/dist/spec/catalogs/layouts/image-3x-crop.json +36 -0
  237. package/dist/spec/catalogs/layouts/image-3x-fit-title-center.json +41 -0
  238. package/dist/spec/catalogs/layouts/image-3x-fit-vertical-title-left.json +42 -0
  239. package/dist/spec/catalogs/layouts/image-3x-fit-vertical.json +37 -0
  240. package/dist/spec/catalogs/layouts/image-3x-fit.json +36 -0
  241. package/dist/spec/catalogs/layouts/image-3x.json +16 -3
  242. package/dist/spec/catalogs/layouts/image-focus.json +13 -18
  243. package/dist/spec/catalogs/layouts/image-only-1x-crop-title-center.json +31 -0
  244. package/dist/spec/catalogs/layouts/image-only-1x-fit-title-center.json +31 -0
  245. package/dist/spec/catalogs/layouts/image-only-2x-crop-title-center.json +37 -0
  246. package/dist/spec/catalogs/layouts/image-only-2x-crop-vertical-title-left.json +38 -0
  247. package/dist/spec/catalogs/layouts/image-only-2x-crop-vertical.json +33 -0
  248. package/dist/spec/catalogs/layouts/image-only-2x-fit-title-center.json +37 -0
  249. package/dist/spec/catalogs/layouts/image-only-2x-fit-vertical-title-left.json +38 -0
  250. package/dist/spec/catalogs/layouts/image-only-2x-fit-vertical.json +33 -0
  251. package/dist/spec/catalogs/layouts/image-only-3x-crop-title-center.json +40 -0
  252. package/dist/spec/catalogs/layouts/image-only-3x-crop-vertical-title-left.json +41 -0
  253. package/dist/spec/catalogs/layouts/image-only-3x-crop-vertical.json +36 -0
  254. package/dist/spec/catalogs/layouts/image-only-3x-crop.json +35 -0
  255. package/dist/spec/catalogs/layouts/image-only-3x-fit-title-center.json +40 -0
  256. package/dist/spec/catalogs/layouts/image-only-3x-fit-vertical-title-left.json +41 -0
  257. package/dist/spec/catalogs/layouts/image-only-3x-fit-vertical.json +36 -0
  258. package/dist/spec/catalogs/layouts/image-only-3x-fit.json +35 -0
  259. package/dist/spec/catalogs/layouts/index.json +1041 -151
  260. package/dist/spec/catalogs/layouts/key-takeaway.json +8 -15
  261. package/dist/spec/catalogs/layouts/kpi-scorecard.json +9 -15
  262. package/dist/spec/catalogs/layouts/list-1x-box-title-center.json +32 -0
  263. package/dist/spec/catalogs/layouts/list-1x-box-vertical-title-center.json +33 -0
  264. package/dist/spec/catalogs/layouts/list-1x-box-vertical-title-left.json +33 -0
  265. package/dist/spec/catalogs/layouts/list-1x-box-vertical.json +28 -0
  266. package/dist/spec/catalogs/layouts/list-1x-box.json +27 -0
  267. package/dist/spec/catalogs/layouts/list-1x-itemimage-title-center.json +32 -0
  268. package/dist/spec/catalogs/layouts/list-1x-itemimage-vertical-title-center.json +33 -0
  269. package/dist/spec/catalogs/layouts/list-1x-title-center.json +31 -0
  270. package/dist/spec/catalogs/layouts/list-1x-vertical-title-center.json +32 -0
  271. package/dist/spec/catalogs/layouts/list-1x.json +17 -1
  272. package/dist/spec/catalogs/layouts/list-2x-box-title-center.json +38 -0
  273. package/dist/spec/catalogs/layouts/list-2x-box-vertical-title-center.json +39 -0
  274. package/dist/spec/catalogs/layouts/list-2x-box-vertical-title-left.json +39 -0
  275. package/dist/spec/catalogs/layouts/list-2x-box-vertical.json +34 -0
  276. package/dist/spec/catalogs/layouts/list-2x-box.json +33 -0
  277. package/dist/spec/catalogs/layouts/list-2x-itemimage-title-center.json +38 -0
  278. package/dist/spec/catalogs/layouts/list-2x-itemimage-vertical-title-center.json +39 -0
  279. package/dist/spec/catalogs/layouts/list-2x-itemimage-vertical-title-left.json +39 -0
  280. package/dist/spec/catalogs/layouts/list-2x-itemimage-vertical.json +34 -0
  281. package/dist/spec/catalogs/layouts/list-2x-title-center.json +37 -0
  282. package/dist/spec/catalogs/layouts/list-2x-vertical-title-center.json +38 -0
  283. package/dist/spec/catalogs/layouts/list-2x-vertical-title-left.json +38 -0
  284. package/dist/spec/catalogs/layouts/list-2x-vertical.json +33 -0
  285. package/dist/spec/catalogs/layouts/list-2x.json +16 -0
  286. package/dist/spec/catalogs/layouts/list-3x-box-title-center.json +41 -0
  287. package/dist/spec/catalogs/layouts/list-3x-box-vertical-title-center.json +42 -0
  288. package/dist/spec/catalogs/layouts/list-3x-box-vertical-title-left.json +42 -0
  289. package/dist/spec/catalogs/layouts/list-3x-box-vertical.json +37 -0
  290. package/dist/spec/catalogs/layouts/list-3x-box.json +36 -0
  291. package/dist/spec/catalogs/layouts/list-3x-itemimage-title-center.json +41 -0
  292. package/dist/spec/catalogs/layouts/list-3x-itemimage-vertical-title-center.json +42 -0
  293. package/dist/spec/catalogs/layouts/list-3x-itemimage-vertical-title-left.json +42 -0
  294. package/dist/spec/catalogs/layouts/list-3x-itemimage-vertical.json +37 -0
  295. package/dist/spec/catalogs/layouts/list-3x-itemimage.json +36 -0
  296. package/dist/spec/catalogs/layouts/list-3x-title-center.json +40 -0
  297. package/dist/spec/catalogs/layouts/list-3x-vertical-title-center.json +41 -0
  298. package/dist/spec/catalogs/layouts/list-3x-vertical-title-left.json +41 -0
  299. package/dist/spec/catalogs/layouts/list-3x-vertical.json +36 -0
  300. package/dist/spec/catalogs/layouts/list-3x.json +16 -0
  301. package/dist/spec/catalogs/layouts/list-4x-box-title-center.json +45 -0
  302. package/dist/spec/catalogs/layouts/list-4x-box-vertical-title-center.json +45 -0
  303. package/dist/spec/catalogs/layouts/list-4x-box-vertical-title-left.json +45 -0
  304. package/dist/spec/catalogs/layouts/list-4x-box-vertical.json +40 -0
  305. package/dist/spec/catalogs/layouts/list-4x-box.json +40 -0
  306. package/dist/spec/catalogs/layouts/list-4x-itemimage-title-center.json +45 -0
  307. package/dist/spec/catalogs/layouts/list-4x-itemimage-vertical-title-center.json +45 -0
  308. package/dist/spec/catalogs/layouts/list-4x-itemimage-vertical-title-left.json +45 -0
  309. package/dist/spec/catalogs/layouts/list-4x-itemimage-vertical.json +40 -0
  310. package/dist/spec/catalogs/layouts/list-4x-title-center.json +44 -0
  311. package/dist/spec/catalogs/layouts/list-4x-vertical-title-center.json +44 -0
  312. package/dist/spec/catalogs/layouts/list-4x-vertical-title-left.json +44 -0
  313. package/dist/spec/catalogs/layouts/list-4x-vertical.json +39 -0
  314. package/dist/spec/catalogs/layouts/list-4x.json +16 -0
  315. package/dist/spec/catalogs/layouts/list-5x-box-title-center.json +48 -0
  316. package/dist/spec/catalogs/layouts/list-5x-box-vertical-title-center.json +50 -0
  317. package/dist/spec/catalogs/layouts/list-5x-box-vertical-title-left.json +50 -0
  318. package/dist/spec/catalogs/layouts/list-5x-box-vertical.json +45 -0
  319. package/dist/spec/catalogs/layouts/list-5x-box.json +43 -0
  320. package/dist/spec/catalogs/layouts/list-5x-itemimage-title-center.json +48 -0
  321. package/dist/spec/catalogs/layouts/list-5x-itemimage-vertical-title-center.json +48 -0
  322. package/dist/spec/catalogs/layouts/list-5x-itemimage-vertical-title-left.json +48 -0
  323. package/dist/spec/catalogs/layouts/list-5x-itemimage-vertical.json +43 -0
  324. package/dist/spec/catalogs/layouts/list-5x-title-center.json +47 -0
  325. package/dist/spec/catalogs/layouts/list-5x-vertical-title-center.json +47 -0
  326. package/dist/spec/catalogs/layouts/list-5x-vertical-title-left.json +47 -0
  327. package/dist/spec/catalogs/layouts/list-5x-vertical.json +42 -0
  328. package/dist/spec/catalogs/layouts/list-5x.json +16 -0
  329. package/dist/spec/catalogs/layouts/list-6x-box-title-center.json +51 -0
  330. package/dist/spec/catalogs/layouts/list-6x-box-vertical-title-center.json +53 -0
  331. package/dist/spec/catalogs/layouts/list-6x-box-vertical-title-left.json +53 -0
  332. package/dist/spec/catalogs/layouts/list-6x-box-vertical.json +48 -0
  333. package/dist/spec/catalogs/layouts/list-6x-box.json +46 -0
  334. package/dist/spec/catalogs/layouts/list-6x-itemimage-title-center.json +51 -0
  335. package/dist/spec/catalogs/layouts/list-6x-itemimage-vertical-title-center.json +51 -0
  336. package/dist/spec/catalogs/layouts/list-6x-itemimage-vertical-title-left.json +51 -0
  337. package/dist/spec/catalogs/layouts/list-6x-itemimage-vertical.json +46 -0
  338. package/dist/spec/catalogs/layouts/list-6x-title-center.json +50 -0
  339. package/dist/spec/catalogs/layouts/list-6x-vertical-title-center.json +50 -0
  340. package/dist/spec/catalogs/layouts/list-6x-vertical-title-left.json +50 -0
  341. package/dist/spec/catalogs/layouts/list-6x-vertical.json +45 -0
  342. package/dist/spec/catalogs/layouts/list-6x.json +16 -0
  343. package/dist/spec/catalogs/layouts/logic-tree.json +9 -15
  344. package/dist/spec/catalogs/layouts/market-size.json +9 -15
  345. package/dist/spec/catalogs/layouts/matrix-quadrant.json +9 -15
  346. package/dist/spec/catalogs/layouts/media-1x.json +11 -1
  347. package/dist/spec/catalogs/layouts/network-dependency-map.json +10 -15
  348. package/dist/spec/catalogs/layouts/number-1x-box-title-center.json +30 -0
  349. package/dist/spec/catalogs/layouts/number-1x-box.json +25 -0
  350. package/dist/spec/catalogs/layouts/number-1x-title-center.json +29 -0
  351. package/dist/spec/catalogs/layouts/number-1x.json +16 -1
  352. package/dist/spec/catalogs/layouts/number-2x-box-title-center.json +36 -0
  353. package/dist/spec/catalogs/layouts/number-2x-box.json +31 -0
  354. package/dist/spec/catalogs/layouts/number-2x-title-center.json +35 -0
  355. package/dist/spec/catalogs/layouts/number-2x.json +15 -0
  356. package/dist/spec/catalogs/layouts/number-3x-box-title-center.json +39 -0
  357. package/dist/spec/catalogs/layouts/number-3x-box.json +34 -0
  358. package/dist/spec/catalogs/layouts/number-3x-title-center.json +38 -0
  359. package/dist/spec/catalogs/layouts/number-3x.json +15 -0
  360. package/dist/spec/catalogs/layouts/number-4x-box-title-center.json +43 -0
  361. package/dist/spec/catalogs/layouts/number-4x-box.json +38 -0
  362. package/dist/spec/catalogs/layouts/number-4x-title-center.json +42 -0
  363. package/dist/spec/catalogs/layouts/number-4x.json +15 -0
  364. package/dist/spec/catalogs/layouts/number-5x-box-title-center.json +46 -0
  365. package/dist/spec/catalogs/layouts/number-5x-box.json +41 -0
  366. package/dist/spec/catalogs/layouts/number-5x-title-center.json +45 -0
  367. package/dist/spec/catalogs/layouts/number-5x.json +15 -0
  368. package/dist/spec/catalogs/layouts/number-6x-box-title-center.json +49 -0
  369. package/dist/spec/catalogs/layouts/number-6x-box.json +44 -0
  370. package/dist/spec/catalogs/layouts/number-6x-title-center.json +48 -0
  371. package/dist/spec/catalogs/layouts/number-6x.json +15 -0
  372. package/dist/spec/catalogs/layouts/one-column-explainer.json +9 -15
  373. package/dist/spec/catalogs/layouts/org-chart.json +9 -15
  374. package/dist/spec/catalogs/layouts/persona-grid.json +11 -16
  375. package/dist/spec/catalogs/layouts/photo-grid.json +14 -19
  376. package/dist/spec/catalogs/layouts/pricing-table.json +9 -15
  377. package/dist/spec/catalogs/layouts/process-flow.json +9 -15
  378. package/dist/spec/catalogs/layouts/product-feature.json +11 -16
  379. package/dist/spec/catalogs/layouts/pros-cons.json +9 -15
  380. package/dist/spec/catalogs/layouts/qa-discussion.json +7 -15
  381. package/dist/spec/catalogs/layouts/quote-1x.json +11 -1
  382. package/dist/spec/catalogs/layouts/quote-highlight.json +9 -15
  383. package/dist/spec/catalogs/layouts/raci-matrix.json +9 -15
  384. package/dist/spec/catalogs/layouts/risk-heatmap.json +9 -15
  385. package/dist/spec/catalogs/layouts/roadmap.json +9 -15
  386. package/dist/spec/catalogs/layouts/screenshot-walkthrough.json +11 -16
  387. package/dist/spec/catalogs/layouts/section-divider.json +8 -15
  388. package/dist/spec/catalogs/layouts/single-message-statement.json +8 -15
  389. package/dist/spec/catalogs/layouts/stats-metrics.json +9 -15
  390. package/dist/spec/catalogs/layouts/status-rag.json +9 -15
  391. package/dist/spec/catalogs/layouts/swimlane-process.json +11 -16
  392. package/dist/spec/catalogs/layouts/swot-analysis.json +9 -15
  393. package/dist/spec/catalogs/layouts/table-1x.json +10 -0
  394. package/dist/spec/catalogs/layouts/team-bio.json +11 -16
  395. package/dist/spec/catalogs/layouts/testimonial-grid.json +9 -15
  396. package/dist/spec/catalogs/layouts/text-1x-box-title-center.json +31 -0
  397. package/dist/spec/catalogs/layouts/text-1x-box-title-left.json +31 -0
  398. package/dist/spec/catalogs/layouts/text-1x-center-box-title-center.json +31 -0
  399. package/dist/spec/catalogs/layouts/text-1x-center-box-title-left.json +31 -0
  400. package/dist/spec/catalogs/layouts/text-1x-center-box.json +26 -0
  401. package/dist/spec/catalogs/layouts/text-1x-center-title-center.json +30 -0
  402. package/dist/spec/catalogs/layouts/text-1x-center-title-left.json +30 -0
  403. package/dist/spec/catalogs/layouts/text-1x-center.json +25 -0
  404. package/dist/spec/catalogs/layouts/text-1x-left-box.json +26 -0
  405. package/dist/spec/catalogs/layouts/text-1x-title-center.json +30 -0
  406. package/dist/spec/catalogs/layouts/text-1x.json +11 -1
  407. package/dist/spec/catalogs/layouts/text-2x-box-title-center.json +37 -0
  408. package/dist/spec/catalogs/layouts/text-2x-box-vertical-title-left.json +37 -0
  409. package/dist/spec/catalogs/layouts/text-2x-center-box-title-center.json +37 -0
  410. package/dist/spec/catalogs/layouts/text-2x-center-box-vertical-title-left.json +37 -0
  411. package/dist/spec/catalogs/layouts/text-2x-center-box.json +32 -0
  412. package/dist/spec/catalogs/layouts/text-2x-center-title-center.json +36 -0
  413. package/dist/spec/catalogs/layouts/text-2x-center-vertical-title-left.json +36 -0
  414. package/dist/spec/catalogs/layouts/text-2x-center.json +31 -0
  415. package/dist/spec/catalogs/layouts/text-2x-left-box.json +32 -0
  416. package/dist/spec/catalogs/layouts/text-2x-title-center.json +36 -0
  417. package/dist/spec/catalogs/layouts/text-2x-vertical-title-left.json +36 -0
  418. package/dist/spec/catalogs/layouts/text-2x.json +10 -0
  419. package/dist/spec/catalogs/layouts/text-3x-box-title-center.json +40 -0
  420. package/dist/spec/catalogs/layouts/text-3x-box-vertical-title-left.json +41 -0
  421. package/dist/spec/catalogs/layouts/text-3x-center-box-title-center.json +40 -0
  422. package/dist/spec/catalogs/layouts/text-3x-center-box-vertical-title-left.json +41 -0
  423. package/dist/spec/catalogs/layouts/text-3x-center-box.json +35 -0
  424. package/dist/spec/catalogs/layouts/text-3x-center-title-center.json +39 -0
  425. package/dist/spec/catalogs/layouts/text-3x-center-vertical-title-left.json +40 -0
  426. package/dist/spec/catalogs/layouts/text-3x-center.json +34 -0
  427. package/dist/spec/catalogs/layouts/text-3x-left-box.json +35 -0
  428. package/dist/spec/catalogs/layouts/text-3x-left.json +34 -0
  429. package/dist/spec/catalogs/layouts/text-3x-title-center.json +39 -0
  430. package/dist/spec/catalogs/layouts/text-3x-vertical-title-left.json +40 -0
  431. package/dist/spec/catalogs/layouts/text-3x.json +10 -0
  432. package/dist/spec/catalogs/layouts/thank-you-cta.json +8 -15
  433. package/dist/spec/catalogs/layouts/three-column.json +9 -15
  434. package/dist/spec/catalogs/layouts/timeline-1x.json +11 -1
  435. package/dist/spec/catalogs/layouts/timeline.json +9 -15
  436. package/dist/spec/catalogs/layouts/title-center-box.json +27 -0
  437. package/dist/spec/catalogs/layouts/title-center-image-bottom.json +34 -0
  438. package/dist/spec/catalogs/layouts/title-center-image-top.json +34 -0
  439. package/dist/spec/catalogs/layouts/title-center.json +26 -0
  440. package/dist/spec/catalogs/layouts/title-left-image-bottom.json +34 -0
  441. package/dist/spec/catalogs/layouts/title-left-image-left.json +34 -0
  442. package/dist/spec/catalogs/layouts/title-left-image-right.json +34 -0
  443. package/dist/spec/catalogs/layouts/title-left-image-top.json +34 -0
  444. package/dist/spec/catalogs/layouts/title-slide.json +8 -15
  445. package/dist/spec/catalogs/layouts/title-subtitle.json +11 -1
  446. package/dist/spec/catalogs/layouts/title.json +11 -1
  447. package/dist/spec/catalogs/layouts/two-column.json +9 -15
  448. package/dist/spec/catalogs/layouts/venn-overlap.json +9 -15
  449. package/dist/spec/catalogs/layouts/waterfall-bridge.json +9 -15
  450. package/dist/spec/catalogs/layouts/wheel-radial.json +9 -15
  451. package/dist/spec/catalogs/manifest.json +22 -22
  452. package/dist/spec/catalogs/narratives/board-meeting.json +45 -45
  453. package/dist/spec/catalogs/narratives/business-narrative.json +19 -19
  454. package/dist/spec/catalogs/narratives/business-review.json +27 -27
  455. package/dist/spec/catalogs/narratives/capacity-planning.json +19 -19
  456. package/dist/spec/catalogs/narratives/challenge-resolution.json +17 -17
  457. package/dist/spec/catalogs/narratives/change-story.json +13 -13
  458. package/dist/spec/catalogs/narratives/classic-story.json +17 -17
  459. package/dist/spec/catalogs/narratives/company-intro.json +21 -21
  460. package/dist/spec/catalogs/narratives/conference-talk.json +4 -4
  461. package/dist/spec/catalogs/narratives/data-story.json +13 -14
  462. package/dist/spec/catalogs/narratives/early-startup-pitch.json +27 -27
  463. package/dist/spec/catalogs/narratives/educate.json +21 -21
  464. package/dist/spec/catalogs/narratives/employee-review.json +19 -19
  465. package/dist/spec/catalogs/narratives/failure-analysis.json +23 -23
  466. package/dist/spec/catalogs/narratives/focus.json +27 -27
  467. package/dist/spec/catalogs/narratives/golden-circle.json +4 -4
  468. package/dist/spec/catalogs/narratives/heros-journey.json +13 -13
  469. package/dist/spec/catalogs/narratives/index.json +145 -145
  470. package/dist/spec/catalogs/narratives/innovation.json +21 -21
  471. package/dist/spec/catalogs/narratives/justice.json +25 -25
  472. package/dist/spec/catalogs/narratives/marketing-strategy.json +25 -25
  473. package/dist/spec/catalogs/narratives/performance-improvement-plan.json +19 -19
  474. package/dist/spec/catalogs/narratives/performance-review.json +25 -25
  475. package/dist/spec/catalogs/narratives/persuade.json +17 -17
  476. package/dist/spec/catalogs/narratives/persuasive-sales.json +19 -19
  477. package/dist/spec/catalogs/narratives/pitch-deck.json +6 -6
  478. package/dist/spec/catalogs/narratives/problem-solution.json +5 -5
  479. package/dist/spec/catalogs/narratives/product-launch.json +23 -23
  480. package/dist/spec/catalogs/narratives/project-proposal.json +23 -23
  481. package/dist/spec/catalogs/narratives/pyramid-principle.json +9 -9
  482. package/dist/spec/catalogs/narratives/qbr.json +8 -8
  483. package/dist/spec/catalogs/narratives/rags-to-riches.json +17 -17
  484. package/dist/spec/catalogs/narratives/reveal.json +19 -19
  485. package/dist/spec/catalogs/narratives/scqa.json +4 -4
  486. package/dist/spec/catalogs/narratives/situation-complication-resolution.json +11 -11
  487. package/dist/spec/catalogs/narratives/sparkline.json +11 -11
  488. package/dist/spec/catalogs/narratives/star-method.json +11 -11
  489. package/dist/spec/catalogs/narratives/status-update.json +15 -15
  490. package/dist/spec/catalogs/narratives/strategic-advisory.json +17 -17
  491. package/dist/spec/catalogs/narratives/strategic-narrative.json +4 -4
  492. package/dist/spec/catalogs/narratives/survey-analysis.json +23 -23
  493. package/dist/spec/catalogs/narratives/survival-story.json +23 -23
  494. package/dist/spec/catalogs/narratives/transformation-arc.json +4 -4
  495. package/dist/spec/catalogs/narratives/trend-analysis.json +17 -17
  496. package/dist/spec/catalogs/narratives/underdog-victory.json +19 -19
  497. package/dist/spec/catalogs/narratives/venture-pitch.json +27 -27
  498. package/dist/spec/catalogs/narratives/vision-roadmap.json +13 -13
  499. package/dist/spec/catalogs/narratives/weekly-progress.json +23 -23
  500. package/dist/spec/catalogs/narratives/what-so-what-now-what.json +9 -9
  501. package/dist/spec/openapi.yaml +4 -7
  502. package/dist/spec/reference/engine-defaults.json +22 -30
  503. package/dist/spec/reference/engine-vocabularies.json +1577 -0
  504. package/dist/spec/schemas/audience.schema.json +6 -27
  505. package/dist/spec/schemas/catalog-index.schema.json +2 -2
  506. package/dist/spec/schemas/catalog-manifest.schema.json +3 -3
  507. package/dist/spec/schemas/chart-type.schema.json +17 -321
  508. package/dist/spec/schemas/color-scheme.schema.json +23 -36
  509. package/dist/spec/schemas/finding.schema.json +191 -0
  510. package/dist/spec/schemas/font-scheme.schema.json +17 -75
  511. package/dist/spec/schemas/language.schema.json +7 -28
  512. package/dist/spec/schemas/layout.schema.json +130 -184
  513. package/dist/spec/schemas/narrative.schema.json +20 -48
  514. package/dist/spec/schemas/opf.schema.json +678 -701
  515. package/dist/spec/schemas/purpose.schema.json +5 -26
  516. package/dist/spec/schemas/social-platform.schema.json +2 -48
  517. package/dist/spec/schemas/theme.schema.json +13 -38
  518. package/dist/spec/schemas/tone.schema.json +4 -25
  519. package/dist/spec-files.d.ts +1 -1
  520. package/dist/spec-files.js +1 -1
  521. package/dist/symbol-font-encodings.js +18448 -1
  522. package/dist/types.d.ts +1125 -4
  523. package/dist/validation-types-BOcY9GTs.d.ts +276 -0
  524. package/dist/validator.d.ts +63 -4
  525. package/dist/validator.js +5 -5
  526. package/dist/yaml.d.ts +102 -0
  527. package/dist/yaml.js +322 -0
  528. package/package.json +9 -17
  529. package/dist/audit.d.ts +0 -35
  530. package/dist/audit.js +0 -7
  531. package/dist/catalogs-ywCamd8C.d.ts +0 -1465
  532. package/dist/catalogs.d.ts +0 -2
  533. package/dist/catalogs.js +0 -2
  534. package/dist/chunk-7N4VMAT4.js +0 -1694
  535. package/dist/chunk-FYLJVF7X.js +0 -18448
  536. package/dist/chunk-INU7ZNSB.js +0 -670
  537. package/dist/chunk-IYCJUKWD.js +0 -951
  538. package/dist/chunk-PIQXLBBJ.js +0 -445
  539. package/dist/chunk-S5W34SIJ.js +0 -1
  540. package/dist/lint-B7azdiuE.d.ts +0 -197
  541. package/dist/lint.d.ts +0 -7
  542. package/dist/lint.js +0 -6
  543. package/dist/previews.d.ts +0 -40
  544. package/dist/previews.js +0 -1
  545. package/dist/schemas-BbPonsTz.d.ts +0 -270
  546. package/dist/spec/catalogs/audiences/customers.json +0 -27
  547. package/dist/spec/catalogs/audiences/executives.json +0 -27
  548. package/dist/spec/catalogs/audiences/investors.json +0 -27
  549. package/dist/spec/catalogs/audiences/marketing-team.json +0 -27
  550. package/dist/spec/catalogs/audiences/regulators.json +0 -27
  551. package/dist/spec/catalogs/audiences/sales-team.json +0 -27
  552. package/dist/spec/catalogs/chart-types/100pct-bullet-bar-2x.json +0 -91
  553. package/dist/spec/catalogs/chart-types/100pct-bullet-bar-3x.json +0 -103
  554. package/dist/spec/catalogs/chart-types/100pct-bullet-bar.json +0 -79
  555. package/dist/spec/catalogs/chart-types/100pct-bullet-column-2x.json +0 -91
  556. package/dist/spec/catalogs/chart-types/100pct-bullet-column-3x.json +0 -103
  557. package/dist/spec/catalogs/chart-types/100pct-bullet-column.json +0 -79
  558. package/dist/spec/catalogs/chart-types/100pct-progress-bar.json +0 -105
  559. package/dist/spec/catalogs/chart-types/100pct-stacked-area-2x.json +0 -106
  560. package/dist/spec/catalogs/chart-types/100pct-stacked-area-3x.json +0 -123
  561. package/dist/spec/catalogs/chart-types/100pct-stacked-bar-2x.json +0 -89
  562. package/dist/spec/catalogs/chart-types/100pct-stacked-bar-3x.json +0 -100
  563. package/dist/spec/catalogs/chart-types/100pct-stacked-column-2x.json +0 -95
  564. package/dist/spec/catalogs/chart-types/100pct-stacked-column-3x.json +0 -108
  565. package/dist/spec/catalogs/chart-types/australia.json +0 -76
  566. package/dist/spec/catalogs/chart-types/box-and-whisker-2x.json +0 -136
  567. package/dist/spec/catalogs/chart-types/box-and-whisker-3x.json +0 -168
  568. package/dist/spec/catalogs/chart-types/bullet-bar-2x.json +0 -89
  569. package/dist/spec/catalogs/chart-types/bullet-bar-3x.json +0 -101
  570. package/dist/spec/catalogs/chart-types/bullet-bar.json +0 -77
  571. package/dist/spec/catalogs/chart-types/bullet-column-2x.json +0 -89
  572. package/dist/spec/catalogs/chart-types/bullet-column-3x.json +0 -101
  573. package/dist/spec/catalogs/chart-types/bullet-column.json +0 -77
  574. package/dist/spec/catalogs/chart-types/canada.json +0 -86
  575. package/dist/spec/catalogs/chart-types/clustered-bar-2x.json +0 -89
  576. package/dist/spec/catalogs/chart-types/clustered-column.json +0 -95
  577. package/dist/spec/catalogs/chart-types/dot-plot-2x.json +0 -99
  578. package/dist/spec/catalogs/chart-types/dot-plot-3x.json +0 -124
  579. package/dist/spec/catalogs/chart-types/dot-plot-4x.json +0 -149
  580. package/dist/spec/catalogs/chart-types/dot-plot-5x.json +0 -174
  581. package/dist/spec/catalogs/chart-types/dot-plot-6x.json +0 -199
  582. package/dist/spec/catalogs/chart-types/dot-plot.json +0 -74
  583. package/dist/spec/catalogs/chart-types/dumbbell.json +0 -120
  584. package/dist/spec/catalogs/chart-types/line-2x.json +0 -105
  585. package/dist/spec/catalogs/chart-types/line-3x.json +0 -127
  586. package/dist/spec/catalogs/chart-types/line-with-high-low-and-markers.json +0 -144
  587. package/dist/spec/catalogs/chart-types/line-with-high-low.json +0 -144
  588. package/dist/spec/catalogs/chart-types/line-with-markers-2x.json +0 -106
  589. package/dist/spec/catalogs/chart-types/line-with-markers-3x.json +0 -128
  590. package/dist/spec/catalogs/chart-types/sparkline-2x.json +0 -138
  591. package/dist/spec/catalogs/chart-types/sparkline-3x.json +0 -174
  592. package/dist/spec/catalogs/chart-types/sparkline-4x.json +0 -210
  593. package/dist/spec/catalogs/chart-types/sparkline-5x.json +0 -246
  594. package/dist/spec/catalogs/chart-types/sparkline-6x.json +0 -282
  595. package/dist/spec/catalogs/chart-types/sparkline.json +0 -102
  596. package/dist/spec/catalogs/chart-types/stacked-area-2x.json +0 -106
  597. package/dist/spec/catalogs/chart-types/stacked-area-3x.json +0 -123
  598. package/dist/spec/catalogs/chart-types/stacked-bar-2x.json +0 -89
  599. package/dist/spec/catalogs/chart-types/stacked-bar-3x.json +0 -100
  600. package/dist/spec/catalogs/chart-types/stacked-column-2x.json +0 -95
  601. package/dist/spec/catalogs/chart-types/stacked-column-3x.json +0 -108
  602. package/dist/spec/catalogs/chart-types/stacked-line-2x.json +0 -106
  603. package/dist/spec/catalogs/chart-types/stacked-line-3x.json +0 -123
  604. package/dist/spec/catalogs/chart-types/stacked-line-with-markers-2x.json +0 -107
  605. package/dist/spec/catalogs/chart-types/stacked-line-with-markers-3x.json +0 -124
  606. package/dist/spec/catalogs/chart-types/treemap-2x.json +0 -101
  607. package/dist/spec/catalogs/chart-types/treemap-3x.json +0 -122
  608. package/dist/spec/catalogs/chart-types/united-kingdom.json +0 -68
  609. package/dist/spec/catalogs/chart-types/united-states.json +0 -82
  610. package/dist/spec/catalogs/layouts/image-bleed.json +0 -10
  611. package/dist/validator-CIylxoIm.d.ts +0 -172
package/dist/index.d.ts CHANGED
@@ -1,342 +1,525 @@
1
- export { S as SchemaEntry, a as SchemaName, b as audience, c as chartType, d as colorScheme, f as fontScheme, l as language, e as layout, n as narrative, p as presentation, g as purpose, s as schemaEntries, h as schemaNames, i as schemas, j as socialPlatform, t as theme, k as tone } from './schemas-BbPonsTz.js';
2
- import { C as CatalogKind } from './catalogs-ywCamd8C.js';
3
- export { A as Audience, a as CatalogEntry, b as CatalogIndex, c as CatalogIndexRecord, d as CatalogRecord, e as ChartType, f as ColorScheme, F as FontScheme, L as Language, g as Layout, N as Narrative, P as Purpose, S as SocialPlatform, T as Theme, h as Tone, i as audiences, j as catalogEntries, k as catalogIndexes, l as catalogKinds, m as catalogSchemaNames, n as catalogs, o as chartTypes, p as colorSchemes, q as fontSchemes, r as languages, s as layouts, t as narratives, u as purposes, v as socialPlatforms, w as themes, x as tones } from './catalogs-ywCamd8C.js';
4
- export { D as DEFAULT_VARIABLE_DATE_FORMAT, O as OPFValidationError, a as OPFVariableError, R as ResolveVariablesOptions, b as ResolveVariablesResult, c as VARIABLE_KINDS, d as ValidateOptions, V as ValidationIssue, e as ValidationResult, f as VariableDeclaration, g as VariableDiagnostic, h as VariableDiagnosticCode, i as VariableDiagnosticSeverity, j as VariableInfo, k as VariableKind, l as VariableUse, m as VariableUseForm, n as VariableValues, o as assertValid, p as assertValidCatalogRecord, q as assertValidPresentation, r as coerceVariableValue, s as formatVariableNumber, t as hasContentVariables, u as isTemplate, v as listVariables, w as resolveVariables, x as validate, y as validateCatalogRecord, z as validatePresentation, A as variableDeclarations } from './validator-CIylxoIm.js';
1
+ export { SchemaEntry, SchemaName, audience, chartType, colorScheme, fontScheme, language, layout, narrative, presentation, purpose, schemaEntries, schemaNames, schemas, socialPlatform, theme, tone } from './schemas.js';
2
+ export { DEFAULT_CHART_PALETTE, DEFAULT_VALIDATION_THRESHOLDS, OPFValidationError, assertValid, assertValidCatalogRecord, findValidationRule, validate, validateCatalogRecord, validationRules } from './validator.js';
3
+ export { B as BuiltinVariableInfo, C as Contract, D as DEFAULT_VARIABLE_DATE_FORMAT, O as OPFVariableError, R as ResolveVariablesOptions, b as ResolveVariablesResult, c as VARIABLE_KINDS, d as ValidateFonts, V as ValidateOptions, e as ValidationCategory, f as ValidationChecks, a as ValidationReport, g as ValidationRuleCost, h as ValidationRuleInfo, i as ValidationThresholds, j as VariableDeclaration, k as VariableDiagnostic, l as VariableDiagnosticCode, m as VariableDiagnosticSeverity, n as VariableInfo, o as VariableKind, p as VariableUse, q as VariableUseForm, r as VariableValues, s as coerceVariableValue, t as formatVariableNumber, u as hasContentVariables, v as isTemplate, w as listBuiltinVariables, x as listVariables, y as resolveVariables, z as validationCategories, A as variableDeclarations } from './validation-types-BOcY9GTs.js';
5
4
  export { SpecFileEntry, SpecFileKind, SpecFilePath, specFileEntries, specFileKinds, specFilePaths } from './spec-files.js';
6
- export { LayoutPreviewIndex, LayoutPreviewRecord, getLayoutPreview, hasLayoutPreview, layoutPreviewIndex, layoutPreviewSlugs, layoutPreviews } from './previews.js';
7
- export { P as Presentation } from './presentation-mG-IYErQ.js';
8
- export { d as AuditCategory, e as AuditDiagnostic, f as AuditFix, a as AuditOptions, g as AuditPatchOperation, b as AuditReport, c as AuditRuleInfo, h as AuditSeverity, A as AuditThresholds, k as LintContract, L as LintDiagnostic, i as LintLocation, l as LintOptions, m as LintReport, j as LintSeverity, n as LintSuggestion, o as lintPresentation, p as lintSource } from './lint-B7azdiuE.js';
9
- export { DEFAULT_AUDIT_THRESHOLDS, DEFAULT_CHART_PALETTE, auditPresentation, auditRules, auditSource, findAuditRule } from './audit.js';
10
- import { M as MetricLayout } from './composition-D7we69Tr.js';
11
- export { A as AnnotatedRun, a as AnnotationFitter, b as AnnotationLayoutOptions, c as CAPTIONABLE_FIELDS, d as CAPTION_FONT_RATIO, e as CAPTION_MAX_RATIO, f as CHART_SERIES_MIN_DIFFERENCE, g as CHART_SERIES_MIN_LIGHTNESS_STEP, h as CITATION_MARKER_RAISE, i as CITATION_MARKER_SCALE, j as Caption, k as CaptionAlignment, l as CaptionObject, m as CaptionPosition, n as CaptionSettings, o as ChartLabelContent, p as ChartLabelPosition, q as ChartLegendPosition, r as ChartOptionDiagnostic, s as ChartOptionKind, t as ChartOptionSupport, u as ChartOptionTarget, v as CitationMarker, w as CitationNote, x as CodeContent, y as CodeLayout, z as CodeLayoutDiagnostic, B as CodeLayoutOptions, D as CodeLineSegment, E as CodeLineSource, G as CodeTextFit, H as CodeTextPart, C as ComposeSlideOptions, I as ComposedCaption, J as ComposedFlow, K as ComposedFootnoteEntry, N as ComposedFootnotes, O as ComposedGroup, P as ComposedItem, Q as ComposedLogo, R as ComposedSlideImage, S as Composition, U as CompositionCandidate, V as CompositionDecision, W as CompositionExplanation, X as CompositionPenalties, Y as CompositionTrack, Z as DEFAULT_CHART_LABEL_SEPARATOR, _ as DEFAULT_FONT_SCHEME, $ as DEFAULT_FURNITURE_DATE_FORMAT, a0 as DEFAULT_SLIDE_NUMBER_FORMAT, a1 as DeckCitations, a2 as FONT_SIZE_GRID_PER_PX, a3 as FOOTNOTE_MAX_RATIO, a4 as FontFamilies, F as FontSchemeDiagnostic, a5 as FootnoteLayoutOptions, a6 as FurnitureField, a7 as FurnitureImagePart, a8 as FurnitureLayout, a9 as FurniturePart, aa as FurniturePartBase, ab as FurnitureSocialLink, ac as FurnitureTextExtras, ad as FurnitureTextPart, ae as LayoutBox, L as LayoutDiagnostic, af as ListBulletImage, ag as ListEntryLayout, ah as ListFit, ai as ListFitOptions, aj as ListNumber, ak as ListText, al as ListValue, am as LogoSlot, an as MAX_COMPOSITION_DEPTH, ao as MAX_NUMBERING_LEVELS, ap as MAX_NUMBERING_VALUE, aq as MAX_ROMAN_VALUE, ar as MeasureTextWidth, as as MetricContent, at as MetricLayoutDiagnostic, au as MetricLayoutOptions, av as MetricTextPart, aw as MetricTextSource, ax as NUMBERING_STYLES, ay as NUMBERING_SUFFIXES, az as Numbering, aA as NumberingInput, aB as NumberingStyleName, aC as NumberingSuffix, aD as OPFCompositionError, aE as PICTURE_BULLET_SCALE, aF as PhysicalAlignment, aG as QuoteContent, aH as QuoteLayout, aI as QuoteLayoutDiagnostic, aJ as QuoteLayoutOptions, aK as QuoteTextPart, aL as QuoteTextSource, aM as Reference, aN as ReferencesSlideOptions, aO as ResolveColorRefOptions, aP as ResolveColorRefRoles, aQ as ResolveLogoOptions, aR as ResolvedChartDataLabels, aS as ResolvedChartOptions, aT as ResolvedFontScheme, aU as ResolvedLogo, aV as ResolvedNumbering, aW as RichText, aX as RichTextFit, aY as RichTextFragment, aZ as RichTextLine, a_ as RichTextOptions, a$ as RichTextRun, b0 as SlideCitations, b1 as SlideComposition, b2 as SlideImageShape, b3 as SocialPlatformRecord, b4 as SocialProfile, b5 as TextDirection, b6 as TextFit, b7 as TextLineInk, T as TextMeasurement, b8 as TextPlacement, b9 as TextPlacementLine, ba as TextStyle, bb as TimelineContent, bc as TimelineEvent, bd as TimelineLayout, be as TimelineLayoutDiagnostic, bf as TimelineLayoutOptions, bg as TimelineTextPart, bh as annotationText, bi as captionSettings, bj as chartColorForFill, bk as chartLabelText, bl as chartOptionSupport, bm as chartOptionTarget, bn as chartPaletteForFill, bo as citationMarkerText, bp as collectCitations, bq as colorContrast, br as composeSlide, bs as fitList, bt as fitRichText, bu as fitText, bv as formatChartLabelNumber, bw as formatChartLabelPercent, bx as formatFurnitureDate, by as formatListNumber, bz as formatSlideNumber, bA as layoutCaption, bB as layoutCode, bC as layoutFootnotes, bD as layoutFurniture, bE as layoutMetric, bF as layoutQuote, bG as layoutTimeline, bH as listNumbers, bI as measureText, bJ as measureTextOutline, bK as normalizeHexColor, bL as numberingAtLevel, bM as numberingStyleDraws, bN as paragraphDirection, bO as paragraphDirectionAt, bP as physicalAlignment, bQ as placeTextLines, bR as referencesSlide, bS as resolveCanvasDimensions, bT as resolveChartOptions, bU as resolveColorRef, bV as resolveFontFamilies, bW as resolveFontSchemeReference, bX as resolveLogo, bY as resolveNumbering, bZ as resolveSocialProfile, b_ as resolveTextStyle, b$ as sliceNumberedItems, c0 as slideCitations, c1 as snapFontSizeDown, c2 as snapFontSizeUp, c3 as textColorForFill, c4 as textWidthMeasurer, c5 as walkCitationRuns, c6 as wrapText } from './composition-D7we69Tr.js';
12
- export { OPFPaginationError, PaginatedPage, PaginationMapping, PaginationOptions, PaginationResult, PresentationPaginationOptions, PresentationPaginationResult, paginatePresentation, paginateSlide } from './pagination.js';
13
- export { DataCell, DataContentOptions, DataImportOptions, OPFDataImportError, TabularData, createDataContent, parseTabularData } from './data.js';
14
- export { C as ChartMapping, a as ChartNumberFix, b as ChartNumberFixOperation, c as ChartNumberFixOptions, D as DataCellValue, d as DataColumn, e as DataDiagnostic, f as DataDiagnosticCode, g as DataResolveOptions, h as DataSourceRef, i as DataStyledCell, j as DataTableCell, k as DataTableHeader, l as DataTableValue, m as DataTextRun, n as Dataset, o as DatasetRef, R as ResolvedChartData, p as ResolvedTableData, q as chartNumber, r as datasetDiagnostics, s as excelNumberFormat, t as formatDataNumber, u as inlineChartData, v as inlineDatasets, w as inlineTableData, x as isDatasetRef, y as isXYChartType, z as numberFormatError, A as numberFormatFromExcel, B as resolveChartData, E as resolveTableData, F as suggestChartNumberFix, G as tableCellDisplayValue, H as unusedDatasets } from './chart-data-Cdr6rRVV.js';
5
+ import { P as Presentation } from './presentation-CDKQVkyI.js';
6
+ export { Audience, ChartType, ColorScheme, FontScheme, Language, Layout, Narrative, Purpose, SocialPlatform, Theme, Tone } from './types.js';
7
+ import { C as CatalogKind, U as UnresolvedReferenceDiagnostic, b as CatalogOptions, a as Catalog, R as RecordProvenance } from './catalog-refs-BSfGELpt.js';
8
+ export { c as CATALOG_GROUP_PATTERN, d as CATALOG_REFERENCE_PATTERN, e as CatalogRecordMap, f as CatalogRecords, g as CatalogReferenceSite, O as OPFCatalogsOptionError, h as OPFUnresolvedReferenceError, i as ResolvedReference, j as catalogGroupSource, k as catalogKinds, l as catalogRecords, m as catalogReferenceSites, p as parseReference, r as resolveReference, u as unresolvedReference } from './catalog-refs-BSfGELpt.js';
9
+ export { a as Finding, d as FindingCategory, e as FindingFix, f as FindingFocus, b as FindingLocation, F as FindingReport, c as FindingSeverity, g as FindingSuggestion, J as JsonPatchOperation, V as ValidationIssue } from './finding-CT_f_vbD.js';
10
+ export { a as CHART_TYPES, C as ComposeSlideOptions, E as ENGINE_DEFAULT_CHART_TYPES, b as ENGINE_DEFAULT_COLOR_SCHEME, c as ENGINE_DEFAULT_FONT_SCHEME, d as ENGINE_DEFAULT_THEME, e as FontFamilies, F as Fonts, f as LANGUAGES, g as LanguageFamilyName, h as LanguageVocabulary, L as LayoutDiagnostic, M as MeasureTextWidth, S as SOCIAL_PLATFORMS, i as SocialPlatformVocabulary, T as TextMeasurement, j as TextStyle, n as normalizeLanguageFamily } from './composition-D2tghM82.js';
11
+ export { C as CatalogDisplayKind, a as CatalogRecordKind, c as catalogDisplayKinds, b as catalogSchemaNames } from './catalog-schemas-CinPh5WA.js';
12
+ export { O as OPFPaginationError, P as PaginatedPage, a as PaginationMapping, b as PaginationOptions, c as PaginationResult, d as PresentationPaginationOptions, e as PresentationPaginationResult, S as SlideContext, f as SlideContextDiagnostic, g as SlideContextOptions, p as paginate, h as paginateSlide, r as resolveSlideContext } from './pagination-wedbe7eq.js';
13
+ export { ApplyPatchOptions, OPFPatchError, OPFPatchValidationError, PatchResult, applyPatch } from './patch.js';
14
+ export { DiffOptions, MergeConflict, MergeOptions, MergeResult, PresentationDiff, diff, merge } from './diff.js';
15
+ export { FormatOptions, OPFFormatError, format } from './format.js';
16
+ export { FromMarkdownOptions, FromMarkdownResult, OPFMarkdownError, ToMarkdownOptions, ToMarkdownResult, fromMarkdown, toMarkdown } from './markdown.js';
17
+ export { DataCell, DataImportOptions, ImportDataOptions, OPFDataImportError, TabularData, importData, parseTabularData } from './data.js';
18
+ export { I as ChartComboSeries, C as ChartMapping, a as ChartNumberFix, b as ChartNumberFixOperation, c as ChartNumberFixOptions, D as DataCellValue, d as DataColumn, e as DataDiagnostic, f as DataDiagnosticCode, g as DataResolveOptions, h as DataSourceRef, i as DataStyledCell, j as DataTableCell, k as DataTableHeader, l as DataTableValue, m as DataTextRun, n as Dataset, o as DatasetRef, R as ResolvedChartData, p as ResolvedTableData, q as chartNumber, r as datasetDiagnostics, s as formatDataNumber, t as fromExcelNumberFormat, u as inlineChartData, v as inlineDatasets, w as inlineTableData, x as isDatasetRef, y as isXYChartType, z as numberFormatError, A as resolveChartData, B as resolveTableData, E as suggestChartNumberFix, F as tableCellDisplayValue, G as toExcelNumberFormat, H as unusedDatasets } from './chart-data-BnNqgnC-.js';
15
19
  export { FONT_POLICY, FontAvailability, FontAvailabilityCode, FontAvailabilityDiagnostic, FontLicenseClass, FontPolicyDecision, FontPolicyEntry, FontPolicyTable, FontReplacement, FontReplacementCompatibility, FontReplacementMeasurement, applyFontPolicyDecisions, fontAvailabilityDiagnostics, fontPolicyFor } from './font-policy.js';
16
- export { SYMBOL_FONT_ENCODINGS, SYMBOL_FONT_FAMILIES, SymbolFontCode, SymbolFontEncoding, SymbolFontEncodingTable, SymbolFontFamily, SymbolTextCharacter, isSymbolEncodedFamily, mapSymbolText, symbolCodeForUnicode, symbolCodeOf, symbolFontEncodingFor, symbolUnicodeFor } from './symbol-font-encodings.js';
20
+ import './json-BFSdESOE.js';
17
21
 
22
+ /** Whether two records have the same content once embedded (`$schema`, `id` and `x-*` ignored). */
23
+ declare function sameRecord(a: unknown, b: unknown): boolean;
24
+ /** One record `embed` or `copySlides` added to a document. */
25
+ interface EmbeddedRecord {
26
+ group: string;
27
+ kind: CatalogKind;
28
+ id: string;
29
+ source?: string;
30
+ }
31
+ interface EmbedResult {
32
+ document: Presentation;
33
+ /** The records added, in the order they were embedded. */
34
+ added: EmbeddedRecord[];
35
+ /** The references that resolve nowhere: they stay as written. */
36
+ unresolved: UnresolvedReferenceDiagnostic[];
37
+ }
18
38
  /**
19
- * Local catalog vendoring: resolve every catalog reference a presentation
20
- * uses and inline the resolved records into `catalogs.<kind>.records`, so the
21
- * document renders identically with no catalog lookups beyond itself.
22
- *
23
- * Resolution is local-only: inline records are kept as-is, ids that belong to
24
- * a kind's custom `source` are left to that source, and everything else
25
- * resolves against the bundled default catalogs. Every reference a record
26
- * carries is chased in turn — whether the record came from the bundled
27
- * catalogs or was already inline — so no inlined record dangles. Running the
28
- * bundle twice is a no-op.
39
+ * Embed every record the document references, once, in the group it resolves in, together with the records those
40
+ * records reference (a theme's colour and font schemes). A bare id that resolves in the host's default catalog is
41
+ * embedded under `catalogs.default` (whose `source` is set to that catalog's). Records already embedded are kept as
42
+ * they are; catalog display metadata (`x-*`), `$schema` and `id` are stripped from the copies. Idempotent.
29
43
  */
30
- interface BundleReport {
31
- /** Record ids inlined by this run, per kind, in output order. */
32
- added: Partial<Record<CatalogKind, string[]>>;
33
- /** Referenced ids that were already inline in the document, per kind. */
34
- alreadyInline: Partial<Record<CatalogKind, string[]>>;
35
- /** Kinds left untouched because the document declares a custom source. */
36
- keptSources: CatalogKind[];
44
+ declare function embed(document: unknown, options?: CatalogOptions): EmbedResult;
45
+ /** A copied record that did not keep its reference. */
46
+ interface CopiedRecordRename {
47
+ kind: CatalogKind;
48
+ /** The reference in the source document. */
49
+ from: string;
50
+ /** The reference the copied slides use in the target. */
51
+ to: string;
37
52
  /**
38
- * Referenced bare ids that resolve nowhere locally, per kind — listed for
39
- * exactly the positions the validator warns about, so `unresolved` means
40
- * "the validator would warn about this": the string shorthand of
41
- * `narrative`, bare-id `audience` entries (string or `{ id }` form), the
42
- * design references `themes`, `colorSchemes` and `fontSchemes` (string or
43
- * `{ id }` form, at deck and slide level), and `chart.type`.
44
- *
45
- * Every other reference — tones, purposes, languages, layouts,
46
- * social platforms, object-form narratives, and anything reached through a
47
- * record rather than written by the author — is still resolved and inlined
48
- * when it is found, and skipped in silence when it is not, because the
49
- * validator does not warn there either.
50
- *
51
- * Informational: unknown ids are warnings, never errors.
53
+ * `custom-conflict`: the target's own record of that id differs (or the id is taken); `catalog-revision`: the target
54
+ * holds a different revision of the same catalog record, so the incoming one moved to `custom`.
52
55
  */
53
- unresolved: Partial<Record<CatalogKind, string[]>>;
56
+ reason: 'custom-conflict' | 'catalog-revision';
54
57
  }
55
- interface BundleResult {
56
- presentation: unknown;
57
- report: BundleReport;
58
+ interface CopySlidesResult {
59
+ /** The new target document; `to` is not mutated. */
60
+ document: Presentation;
61
+ /** Indexes of the copied slides in the target. */
62
+ slides: number[];
63
+ /** Every record this call created under another id (`<id>-2` and up), so an author can review it. A reference rewritten to a record an earlier copy created, which this call reuses, is not a rename and is not listed. */
64
+ renamed: CopiedRecordRename[];
65
+ /** Catalog groups the target did not have, added for the copied records. */
66
+ addedGroups: {
67
+ name: string;
68
+ source?: string;
69
+ }[];
70
+ /** Records added to the target. */
71
+ added: EmbeddedRecord[];
72
+ /** References of the copied slides that resolve nowhere in the source: copied as written. */
73
+ unresolved: UnresolvedReferenceDiagnostic[];
58
74
  }
59
75
  /**
60
- * Resolve every catalog reference `value` uses and inline the resolved
61
- * records, returning a new document plus a report of what changed. The input
62
- * document is not modified.
63
- *
64
- * Anything that is not an object, and any document whose `catalogs` is
65
- * present but not an object, is returned unchanged with an all-empty report:
66
- * bundling there would have to overwrite that field, and schema-invalid input
67
- * deserves a defined no-op over silent data loss. The CLI validates before
68
- * bundling, so only a direct library call can reach that case.
69
- *
70
- * Ids that resolve nowhere are reported as unresolved for the positions the
71
- * validator warns about, and silently skipped elsewhere; see
72
- * `BundleReport.unresolved`.
73
- */
74
- declare function bundlePresentation(value: unknown): BundleResult;
75
-
76
- /**
77
- * Language/script font model (font-fidelity-everywhere FF-18).
78
- *
79
- * Resolves, for a presentation's language and effective font scheme, the font
80
- * family for each OOXML script slot (`a:latin`, `a:ea`, `a:cs`) of the major
81
- * (heading) and minor (body) theme fonts, plus the language tags and base
82
- * direction. Pure: no DOM, fonts, network or mutation. Catalog references
83
- * resolve against inline `catalogs.<kind>.records[]` first and the bundled
84
- * catalogs second; a custom `source` is not fetched.
85
- *
86
- * Catalog ids and catalog tags resolve deterministically from vendored tables.
87
- * Only a tag that matches no catalog record may consult the runtime's ICU
88
- * likely subtags (`Intl.Locale#maximize`) to find its script.
89
- *
90
- * Design: docs/programs/font-fidelity-everywhere/script-font-model.md.
76
+ * Copy slides `indexes` of `from` to the end of `to` (or before `options.at`), with the records they reference.
77
+ * Groups match by `source`, not by name: references are rewritten to the target's name for that source, and a missing
78
+ * group is added (renamed when its name is taken). A record whose content the target already has is reused. A `custom`
79
+ * record whose id the target uses for different content is renamed `<id>-2`. A catalog record whose revision differs
80
+ * from the one the target resolves goes into `custom` as `<id>-2`, so the copied slides look the same, and is listed in
81
+ * `renamed`.
91
82
  */
92
- /** OOXML script slot a writing system uses: `a:latin`, `a:ea` or `a:cs`. */
93
- type ScriptRole = "latin" | "eastAsian" | "complexScript";
94
- /** Target application whose language font-scheme defaults apply. */
95
- type ScriptFontApp = "PowerPoint" | "Google Slides";
96
- /** Font family per OOXML script slot for one theme font (major or minor). */
97
- interface ScriptFontSlots {
98
- latin: string;
99
- eastAsian: string;
100
- complexScript: string;
83
+ declare function copySlides(from: unknown, to: unknown, indexes: readonly number[], options?: CatalogOptions & {
84
+ at?: number;
85
+ }): CopySlidesResult;
86
+ /** A reference to update, by kind: `two-column` (a default record) or `acme:hero`. */
87
+ interface CatalogRef {
88
+ kind: CatalogKind;
89
+ reference: string;
90
+ }
91
+ /** One embedded record whose registered catalog publishes different content. */
92
+ interface CatalogRecordChange {
93
+ kind: CatalogKind;
94
+ /** The reference that names it: a bare id for `default`, `name:id` otherwise. */
95
+ reference: string;
96
+ group: string;
97
+ id: string;
98
+ source: string;
99
+ /** The record as the document embeds it. */
100
+ embedded: Record<string, unknown>;
101
+ /** The catalog's current record, as it would be embedded. */
102
+ current: Record<string, unknown>;
103
+ }
104
+ /** An RFC 6902 operation of `CatalogUpdate.patch`. */
105
+ interface CatalogPatchOperation {
106
+ op: 'replace';
107
+ path: string;
108
+ value: Record<string, unknown>;
109
+ }
110
+ /** A reviewable update: nothing is applied until the author applies `patch` (core `applyPatch`). */
111
+ interface CatalogUpdate {
112
+ changes: CatalogRecordChange[];
113
+ patch: CatalogPatchOperation[];
101
114
  }
102
115
  /**
103
- * Where a resolved eastAsian/complexScript family came from:
104
- * - `fontScheme`: an explicit `eastAsian`/`complexScript` slot on the effective design font scheme.
105
- * - `schemeFamily`: the design font scheme's own major/minor, because its `languageFamily` names this
106
- * slot and its `languages` list is empty or names the presentation language.
107
- * - `language`: the presentation language's font scheme (`fontScheme`, or `googleFontScheme` for Google Slides).
108
- * - `latin`: no script-specific choice exists, so the slot repeats the latin family.
116
+ * Compare the records a document embeds under `default` and its named groups with the current records of the catalogs
117
+ * registered for their sources. Returns the differences and the patch that would adopt them; never changes the document.
118
+ * `refs` limits the check to those references. `custom` records belong to the document and are never compared.
109
119
  */
110
- type ScriptFontSource = "fontScheme" | "schemeFamily" | "language" | "latin";
111
- /** A per-script supplemental theme font, as in OOXML `<a:font script="Jpan" typeface="..."/>`. */
112
- interface ScriptFontSupplement {
113
- /** OOXML theme script tag (ISO 15924, except Korean uses `Hang`). */
114
- script: string;
115
- heading: string;
116
- body: string;
120
+ declare function updateFromCatalog(document: unknown, catalogs: readonly Catalog[], refs?: readonly CatalogRef[]): CatalogUpdate;
121
+ /** Where a moved record was and where it is now. */
122
+ interface MovedRecord {
123
+ kind: CatalogKind;
124
+ group: string;
125
+ id: string;
126
+ /** The reference that names it there: a bare id under `default` and `custom`, `name:id` in a named group. */
127
+ reference: string;
117
128
  }
118
- interface ResolveScriptFontsOptions {
119
- /** Which language font-scheme default applies. Defaults to `PowerPoint` (`language.fontScheme`). */
120
- app?: ScriptFontApp;
121
- /** Merge `slides[slideIndex].design` over the deck design, per field, before resolving the font scheme. */
122
- slideIndex?: number;
123
- /** Language reference to resolve instead of the document's `language` (catalog id, BCP-47 tag or Language object). */
124
- language?: unknown;
125
- /** Language tag used when neither the document nor `options.language` names a resolvable language. Defaults to `en-US`. */
126
- defaultLanguage?: string;
129
+ /** Error codes of OPFMoveToCustomError. */
130
+ type MoveToCustomErrorCode = 'invalid-reference' | 'already-custom' | 'not-embedded' | 'invalid-id';
131
+ declare class OPFMoveToCustomError extends Error {
132
+ readonly code: MoveToCustomErrorCode;
133
+ constructor(code: MoveToCustomErrorCode, message: string);
127
134
  }
128
- interface ResolvedScriptFonts extends ScriptFontSlots {
129
- /**
130
- * Tag for OOXML `a:rPr/@lang` (and `a:endParaRPr/@lang`): an authored tag that carries a region,
131
- * else the language record's curated `ooxmlLang`, else the canonical BCP-47 tag.
132
- */
133
- lang: string;
134
- /** Canonically cased BCP-47 tag for HTML/SVG `lang`: the authored tag, else the record's `bcp47`. */
135
- bcp47: string;
136
- /** Matched languages catalog record id, when one matched. */
137
- languageId?: string;
138
- /** `default` when the tag came from `defaultLanguage` because no language resolved. */
139
- languageSource: "document" | "option" | "default";
140
- /** ISO 15924 script (`Zzzz` when it cannot be determined). */
141
- script: string;
142
- /** Script slot the language's own text uses. */
143
- scriptRole: ScriptRole;
144
- direction: "ltr" | "rtl";
145
- rtl: boolean;
146
- /** Major (heading) theme font slots. */
147
- heading: ScriptFontSlots;
148
- /** Minor (body) theme font slots. The top-level latin/eastAsian/complexScript repeat these. */
149
- body: ScriptFontSlots;
150
- /**
151
- * Supplemental theme font for the language's script. Present only when an explicit slot, the
152
- * design scheme's own script family or the language's font scheme supplies one; absent for
153
- * Latin, Cyrillic, Greek and for scripts with no script font. For Armenian, Georgian and
154
- * Ethiopic (latin slot) an explicit `complexScript` slot or a design `cs` scheme that serves the
155
- * language replaces the language's own font scheme.
156
- */
157
- supplement?: ScriptFontSupplement;
158
- sources: {
159
- eastAsian: ScriptFontSource;
160
- complexScript: ScriptFontSource;
135
+ /** An RFC 6902 operation of `MoveToCustomResult.patch`. */
136
+ type MoveToCustomPatchOperation = {
137
+ op: 'add';
138
+ path: string;
139
+ value: unknown;
140
+ } | {
141
+ op: 'remove';
142
+ path: string;
143
+ } | {
144
+ op: 'replace';
145
+ path: string;
146
+ value: string;
147
+ };
148
+ interface MoveToCustomResult {
149
+ /** The new document; the input is not mutated. */
150
+ document: Presentation;
151
+ from: MovedRecord;
152
+ to: MovedRecord;
153
+ /** The references rewritten to name the moved record, as JSON Pointers into the document. */
154
+ references: string[];
155
+ /** RFC 6902 operations that turn the input into `document` (apply with core `applyPatch`, for undo and review). */
156
+ patch: MoveToCustomPatchOperation[];
157
+ /** Present when `custom` already held a different record under the wanted id, so the record took `<id>-2` (and up). */
158
+ renamed?: {
159
+ from: string;
160
+ to: string;
161
161
  };
162
162
  }
163
-
164
- /** The OOXML script slot for an ISO 15924 script code. Unknown scripts use the latin slot. */
165
- declare function scriptFontRole(script: string): ScriptRole;
166
163
  /**
167
- * Resolve the per-script theme fonts, language tags and direction for a
168
- * presentation (or a `{ design, language, catalogs }` subset of one).
164
+ * Move an embedded record from `catalogs.default` or a named group into `catalogs.custom`: the fix that
165
+ * `opf/catalog-record-not-in-source` suggests for a record the group's catalog does not publish. Every reference that
166
+ * resolved to the record (on slides, in the deck, inside other embedded records) is rewritten to name it in `custom`,
167
+ * and the record's own references keep naming the records they named. The record keeps its id unless `custom` already
168
+ * holds a different record under it, when it becomes `<id>-2` (and up); an identical custom record is reused.
169
169
  *
170
- * The latin slot follows the effective design font scheme exactly as
171
- * `resolveFontFamilies` does; when nothing names a font scheme it falls back to
172
- * the shared `DEFAULT_FONT_SCHEME`. Each of the eastAsian and complexScript slots
173
- * takes, in order: the design font scheme's explicit slot; the scheme's own
174
- * families when its `languageFamily` names the slot and its `languages` list
175
- * is empty or names the language; the language's font scheme when the
176
- * language's script uses the slot; otherwise the latin family.
177
- */
178
- declare function resolveScriptFonts(input: unknown, options?: ResolveScriptFontsOptions): ResolvedScriptFonts;
179
- /**
180
- * The deck base direction composition lays a slide out in: the direction of the presentation language's script
181
- * (`rtl` for Arabic, Hebrew and the other right-to-left scripts), `ltr` when the document names no language or
182
- * the language does not resolve. Layout, preview and export all read this one value (RR-05).
170
+ * Fork: with `id`, the record is copied into `custom` under that id instead (an editor calls this on the first edit of a
171
+ * record under `default` or a named group, then applies the edit to the copy). Every reference is rewritten to the copy,
172
+ * so nothing references the original any more and it is dropped from its group. A different custom record under the
173
+ * wanted id (the record's own, or `id`) makes it `<id>-2` and up, reported in `renamed`; an identical one is reused.
174
+ *
175
+ * Throws OPFMoveToCustomError (`invalid-reference`, `already-custom`, `not-embedded`, `invalid-id`).
176
+ * Registered catalogs only matter for how the surrounding references resolve, so pass the host's `catalogs` as for
177
+ * validate.
183
178
  */
184
- declare function resolveSlideDirection(presentation: unknown, slideIndex?: number): "ltr" | "rtl";
179
+ declare function moveToCustom(document: unknown, ref: CatalogRef, options?: CatalogOptions & {
180
+ id?: string;
181
+ }): MoveToCustomResult;
185
182
 
186
183
  /**
187
- * Deterministic syntax highlighting shared by the SVG preview and the PPTX export (RR-07).
188
- *
189
- * `tokenizeCode(source, language)` returns coloured token ranges over the exact source
190
- * string; everything between tokens is plain. `codeSyntaxPalette` derives one colour per
191
- * token kind from the deck theme and keeps each at WCAG contrast >= 4.5:1 against the code
192
- * panel. The scanner is a small hand-written one (no dependency, no network, no locale or
193
- * clock input): it recognises comments, strings, numbers, keywords, definition names, calls,
194
- * capitalised types and the structure of JSON, YAML, TOML, HTML/XML and CSS. It never edits
195
- * the text: callers colour ranges of `code.source` and the concatenated runs equal the source.
196
- * An unknown or missing language yields no tokens (plain text).
184
+ * The theme, colour scheme and font scheme one slide (or the deck) is drawn with, resolved the one way every engine
185
+ * resolves them: the slide's design, then the deck's design, then the theme, then the engine default, per field.
186
+ * Catalog-free: records come from the document's catalogs groups and the catalogs the host registered.
197
187
  */
198
- type CodeTokenKind = 'comment' | 'keyword' | 'string' | 'number' | 'function' | 'type' | 'property';
199
- interface CodeToken {
200
- start: number;
201
- end: number;
202
- kind: CodeTokenKind;
203
- }
204
- /** A slice of one source line: `kind` is absent for plain text. */
205
- interface CodeRun {
206
- start: number;
207
- end: number;
208
- kind?: CodeTokenKind;
188
+ type Rec = Record<string, unknown>;
189
+ interface ResolvedDesignRecords {
190
+ theme: Rec;
191
+ colorScheme: Rec;
192
+ fontScheme: Rec;
193
+ /** Where the theme reference is written, dotted (`design.theme`, `slides.2.design.theme`). */
194
+ themePath: string;
195
+ /** Where the colour-scheme reference that applies is written, dotted. */
196
+ colorSchemePath: string;
197
+ /** Where the font-scheme reference that applies is written, dotted. */
198
+ fontSchemePath: string;
199
+ /** The font-scheme reference that applies (a string, or the `id` of an object reference), if any. */
200
+ fontSchemeReference?: string;
201
+ /**
202
+ * Where each record came from (group, source, `document` or `host`), so an engine records provenance without
203
+ * resolving again. A kind is absent when its engine default applies (no reference, or one that resolves nowhere).
204
+ */
205
+ provenance: {
206
+ theme?: RecordProvenance;
207
+ colorScheme?: RecordProvenance;
208
+ fontScheme?: RecordProvenance;
209
+ };
210
+ /** Unresolved references, in the order theme, colour scheme, font scheme. */
211
+ diagnostics: UnresolvedReferenceDiagnostic[];
209
212
  }
210
- type CodeSyntaxPalette = Record<CodeTokenKind | 'plain', string>;
211
- /** Source longer than this is left plain: highlighting must stay bounded. */
212
- declare const CODE_HIGHLIGHT_MAX_LENGTH = 200000;
213
- /** Contrast the palette keeps against the code panel. */
214
- declare const CODE_SYNTAX_MIN_CONTRAST = 4.5;
215
- /** The code panel colour the preview and the PPTX export both draw. */
216
- declare const CODE_PANEL_BACKGROUND = "#111827";
217
- declare const CODE_PANEL_FOREGROUND = "#E5E7EB";
218
- /** Language ids with a scanner (the keys the aliases resolve to). */
219
- declare const CODE_HIGHLIGHT_LANGUAGES: readonly string[];
220
- /** The scanner id for a `code.language` value, or undefined when the language is not highlighted. */
221
- declare function resolveCodeLanguage(language: unknown): string | undefined;
222
213
  /**
223
- * Token ranges of `source` for a `code.language` value, sorted and non-overlapping. Empty for
224
- * an unknown language, a missing language, or source longer than CODE_HIGHLIGHT_MAX_LENGTH.
214
+ * The design records slide `slideIndex` is drawn with (the deck's own when `slideIndex` is undefined). Never throws for
215
+ * an unresolved reference: the engine default applies and `diagnostics` names the reference.
225
216
  */
226
- declare function tokenizeCode(source: string, language?: unknown): CodeToken[];
227
- /**
228
- * The runs of one source line `[start, end)`: consecutive slices that cover the line exactly.
229
- * A token that crosses the line boundary is clipped, so each native text line can be coloured
230
- * on its own while concatenating the runs returns the line text unchanged. With `source`, a tab
231
- * character is always its own plain run, as in the preview where a tab is a measured segment: a
232
- * token (a multi-line string, say) never colours a tab stop.
233
- */
234
- declare function codeLineRuns(tokens: readonly CodeToken[], start: number, end: number, source?: string): CodeRun[];
235
- interface CodeSyntaxPaletteOptions {
236
- background?: string;
237
- foreground?: string;
238
- minimumContrast?: number;
217
+ declare function resolveDesignRecords(document: unknown, slideIndex: number | undefined, options?: CatalogOptions): ResolvedDesignRecords;
218
+ /** Resolve a font-scheme reference (a string, or an object with an optional `id` plus overrides) on its own. */
219
+ declare function resolveFontScheme(document: unknown, reference: unknown, path: string, options?: CatalogOptions & {
220
+ group?: string;
221
+ }): {
222
+ scheme: Rec;
223
+ diagnostics: UnresolvedReferenceDiagnostic[];
224
+ };
225
+
226
+ /** A reference as authored: the string (a bare id, `name:id`, a tag or free text) or the inline object's id. */
227
+ interface ReferenceFact {
228
+ id: string | null;
229
+ inline: boolean;
239
230
  }
240
- interface CodeSyntaxPaletteTheme {
241
- primary?: string;
242
- secondary?: string;
243
- accent?: string;
244
- mutedText?: string;
231
+ interface SlideSizeFact {
232
+ /** The preset name when one is set (`16:9`, `4:3`, `letter`, ...); null for custom inches. */
233
+ preset: string | null;
234
+ widthInches: number;
235
+ heightInches: number;
236
+ /** width / height, to 3 decimals. */
237
+ aspectRatio: number;
238
+ /** Where the size comes from: the deck's `design.dimensions`, its theme record, or the engine default (widescreen). */
239
+ source: 'design' | 'theme' | 'default';
245
240
  }
246
- /**
247
- * One colour per token kind from the deck theme: keyword = primary, string = accent,
248
- * number = secondary, comment = a fixed slate; function, type and property take fixed hues
249
- * (blue, cyan, pink) rotated away from any theme colour they would collide with. Every
250
- * colour is lightened until it keeps `minimumContrast` (4.5:1) against the code panel, so a
251
- * dark theme colour is raised rather than dropped. Deterministic for a given theme.
252
- */
253
- declare function codeSyntaxPalette(theme?: CodeSyntaxPaletteTheme, options?: CodeSyntaxPaletteOptions): CodeSyntaxPalette;
254
- /**
255
- * The palette for a resolved colour scheme record (`primary`, `secondary`, `accent`, or the
256
- * `accent1` to `accent3` slots they default to). The preview and the PPTX export both call this
257
- * with the scheme they resolved, so they cannot disagree on the inputs.
258
- */
259
- declare function codeSyntaxPaletteForScheme(scheme: unknown, options?: CodeSyntaxPaletteOptions): CodeSyntaxPalette;
260
-
261
- /**
262
- * Metric trend mark (RR-07): the arrow and colour that show `metric.trend` in the SVG preview
263
- * and the PPTX export. Core's metric layout places the trend word (up, down, flat) as ordinary
264
- * text; this derives, from that accepted line geometry, one arrow beside it so both engines draw
265
- * the same shape in the same place and colour. The word stays the text alternative: the arrow
266
- * adds a visual cue and an `ariaLabel`, never rewritten source text.
267
- */
268
-
269
- type MetricTrend = 'up' | 'down' | 'flat';
270
- /** The DrawingML preset geometry that draws each trend (`a:prstGeom prst`). */
271
- declare const METRIC_TREND_SHAPES: Readonly<Record<MetricTrend, 'upArrow' | 'downArrow' | 'rightArrow'>>;
272
- declare const METRIC_TREND_MIN_CONTRAST = 4.5;
273
- interface MetricTrendColorOptions {
274
- /** The slide background the metric text sits on. */
275
- background: string;
276
- /** Neutral colour for a flat trend (the deck's muted text). */
277
- neutral?: string;
241
+ interface StatsSlideRef {
242
+ /** Zero-based position, the same index as `/slides/<index>`. */
243
+ index: number;
244
+ id: string | null;
278
245
  }
279
- /** The colour of a trend, kept at >= 4.5:1 against the slide background. */
280
- declare function metricTrendColor(trend: MetricTrend, options: MetricTrendColorOptions): string;
281
- interface MetricTrendMark {
282
- trend: MetricTrend;
283
- /** DrawingML preset name for native export. */
284
- shape: 'upArrow' | 'downArrow' | 'rightArrow';
285
- /** Arrow bounding box in layout pixels (96 per inch). */
286
- box: {
287
- x: number;
288
- y: number;
289
- width: number;
290
- height: number;
291
- };
292
- /** The arrow outline as polygon points in layout pixels: the preset geometry at default adjustments. */
293
- points: [number, number][];
294
- color: string;
295
- /** Text alternative for the arrow. */
296
- ariaLabel: string;
297
- /** Path of the trend field the mark belongs to. */
246
+ interface HeaderFooterFact {
247
+ /** The deck sets this furniture. */
248
+ configured: boolean;
249
+ /** The deck sets it to `false`. */
250
+ suppressed: boolean;
251
+ zones: string[];
252
+ /** Fields set in any zone: logo, image, text, organization, socials, section, slideNumber, date. */
253
+ fields: string[];
254
+ }
255
+ interface TableFact {
256
+ slide: number;
257
+ /** JSON Pointer of the table. */
298
258
  path: string;
259
+ rows: number;
260
+ columns: number;
261
+ /** The top-level dataset the table takes its data from, if any. */
262
+ dataset: string | null;
299
263
  }
300
- /** Outline of the DrawingML upArrow, downArrow or rightArrow preset (adj1 = adj2 = 50000) in `box`. */
301
- declare function metricTrendPoints(shape: MetricTrendMark['shape'], box: MetricTrendMark['box']): [number, number][];
302
- /**
303
- * The arrow for a laid-out metric, or undefined when the metric has no (visible) trend or the
304
- * arrow has no room. It is square, as tall as the trend word's capitals, on the baseline, and
305
- * sits after the word for left-aligned metrics and before it for centred or right-aligned ones,
306
- * so it grows away from the alignment edge. It never leaves the trend field's box.
307
- */
308
- declare function metricTrendMark(layout: MetricLayout, options: MetricTrendColorOptions): MetricTrendMark | undefined;
309
-
310
- /**
311
- * DrawingML preset pattern fills (ECMA-376 20.1.10.51 ST_PresetPatternVal) as 8x8 bitmaps,
312
- * shared by the SVG preview (RR-07) and the PPTX export, which writes the same names as native
313
- * `a:pattFill prst="..."`.
314
- *
315
- * ECMA-376 names the 54 presets but does not define their pixels. These tiles are MEASURED from
316
- * desktop PowerPoint (Office 365, Windows, 2026-10-01): each preset was exported as a full-slide
317
- * pattern background (black on white) to a 1280 x 720 PNG and opf-render's
318
- * `scripts/derive-pattern-bitmaps.mjs` voted every pixel into its (x mod 8, y mod 8) cell; every
319
- * tile was uniform across all repeats (confidence 1.00) at one image pixel per pattern pixel, so a
320
- * pattern pixel is one 1/96 inch unit. The tile is anchored at the slide's top-left corner (the
321
- * phase of the line, grid and diagonal presets matched at no shift). Measured pixel data is
322
- * committed as data; no third-party table was used. A tile is one row per line, '#' = foreground,
323
- * '.' = background, top to bottom, left to right.
324
- */
325
- /** ST_PresetPatternVal, in specification order. */
326
- declare const PATTERN_PRESETS: readonly string[];
327
- /** Engine ids that are not DrawingML names, with the preset they draw and export as. */
328
- declare const PATTERN_PRESET_ALIASES: Readonly<Record<string, string>>;
329
- /** The pattern size PowerPoint tiles: 8 x 8 units, one unit per 1/96 inch. */
330
- declare const PATTERN_TILE_SIZE = 8;
331
- /** The DrawingML preset a pattern id draws as: a preset name, an alias (diagStripe), or undefined. */
332
- declare function resolvePatternPreset(preset: unknown): string | undefined;
333
- /** Eight row bytes, top to bottom, most significant bit = leftmost pixel; undefined for an unknown id. */
334
- declare function patternBitmap(preset: unknown): readonly number[] | undefined;
335
- /** Horizontal runs of set pixels (`x`, `y`, `width` in tile units), in reading order. */
336
- declare function patternRuns(preset: unknown): {
337
- x: number;
338
- y: number;
339
- width: number;
340
- }[] | undefined;
264
+ interface DatasetFact {
265
+ id: string;
266
+ title: string | null;
267
+ columns: number;
268
+ rows: number;
269
+ /** `source.src` when the dataset declares a source, else null. */
270
+ source: string | null;
271
+ /** Charts and tables that reference it. */
272
+ referencedBy: number;
273
+ }
274
+ interface SlideStats {
275
+ index: number;
276
+ id: string | null;
277
+ title: string | null;
278
+ layout: string | null;
279
+ section: string | null;
280
+ hidden: boolean;
281
+ /** Content payload kinds present on the slide (root, blocks and regions), in a fixed order. */
282
+ payloads: string[];
283
+ words: {
284
+ content: number;
285
+ notes: number;
286
+ };
287
+ hasNotes: boolean;
288
+ /** Estimated speaking time for the notes at `wordsPerMinute`, in seconds. */
289
+ speakingSeconds: number;
290
+ images: number;
291
+ charts: number;
292
+ tables: number;
293
+ citations: number;
294
+ }
295
+ interface PresentationStats {
296
+ deck: {
297
+ name: string | null;
298
+ description: boolean;
299
+ filename: string | null;
300
+ author: string[];
301
+ language: ReferenceFact | null;
302
+ slideSize: SlideSizeFact;
303
+ template: boolean;
304
+ tags: string[];
305
+ takeaways: number;
306
+ declaredMinutes: number | null;
307
+ design: {
308
+ theme: ReferenceFact | null;
309
+ colorScheme: ReferenceFact | null;
310
+ fontScheme: ReferenceFact | null;
311
+ };
312
+ audience: ReferenceFact[];
313
+ purpose: ReferenceFact | null;
314
+ tone: ReferenceFact | null;
315
+ narrative: (ReferenceFact & {
316
+ beats: number;
317
+ }) | null;
318
+ };
319
+ people: {
320
+ organizations: {
321
+ id: string;
322
+ name: string;
323
+ role: string | null;
324
+ hasLogo: boolean;
325
+ }[];
326
+ speakers: {
327
+ id: string;
328
+ name: string;
329
+ title: string | null;
330
+ organizationId: string | null;
331
+ hasPhoto: boolean;
332
+ }[];
333
+ };
334
+ slides: {
335
+ total: number;
336
+ hidden: StatsSlideRef[];
337
+ withTitle: number;
338
+ withoutTitle: number;
339
+ withBeat: number;
340
+ /** Consecutive slides sharing a `section` label. */
341
+ sections: {
342
+ name: string;
343
+ slides: number;
344
+ firstSlide: number;
345
+ }[];
346
+ unsectioned: number;
347
+ /** Slides per layout id. */
348
+ layouts: Record<string, number>;
349
+ withoutLayout: number;
350
+ /** Slides whose own `design` object overrides the deck design. */
351
+ withOwnDesign: number;
352
+ };
353
+ /** Content payloads by kind, counted across slide roots, blocks and promoted regions. */
354
+ payloads: {
355
+ text: number;
356
+ items: number;
357
+ bullets: number;
358
+ quote: number;
359
+ metric: number;
360
+ code: number;
361
+ timeline: number;
362
+ chart: number;
363
+ table: number;
364
+ image: number;
365
+ video: number;
366
+ /** Block entries at any depth. */
367
+ blocks: number;
368
+ /** Promoted region payloads (`left`, `top:center`, ...). */
369
+ regions: number;
370
+ /** Blocks and regions that hold nested `blocks`. */
371
+ groups: number;
372
+ /** Deepest block nesting; 0 when no slide has blocks. */
373
+ maxDepth: number;
374
+ };
375
+ words: {
376
+ content: number;
377
+ notes: number;
378
+ total: number;
379
+ /** Content words per slide. */
380
+ perSlide: {
381
+ min: number;
382
+ max: number;
383
+ mean: number;
384
+ };
385
+ };
386
+ notes: {
387
+ withNotes: number;
388
+ withoutNotes: StatsSlideRef[];
389
+ };
390
+ speakingTime: {
391
+ basis: 'estimate';
392
+ wordsPerMinute: number;
393
+ notesWords: number;
394
+ minutes: number;
395
+ declaredMinutes: number | null;
396
+ };
397
+ images: {
398
+ /** Image payloads (image blocks and `Slide.image`). */
399
+ content: {
400
+ total: number;
401
+ withAlt: number;
402
+ decorative: number;
403
+ missingAlt: number;
404
+ };
405
+ /** Logo images: `design.logo` (every LogoSet variant), deck and slides, plus organization logos. */
406
+ logos: number;
407
+ watermarks: {
408
+ deck: boolean;
409
+ slides: number;
410
+ };
411
+ backgrounds: {
412
+ deck: boolean;
413
+ slides: number;
414
+ };
415
+ headerFooter: number;
416
+ speakerPhotos: number;
417
+ videos: number;
418
+ };
419
+ charts: {
420
+ total: number;
421
+ byType: Record<string, number>;
422
+ data: {
423
+ inline: number;
424
+ dataset: number;
425
+ source: number;
426
+ };
427
+ };
428
+ tables: {
429
+ total: number;
430
+ datasetBacked: number;
431
+ rows: number;
432
+ columns: number;
433
+ items: TableFact[];
434
+ };
435
+ datasets: {
436
+ count: number;
437
+ withSource: number;
438
+ items: DatasetFact[];
439
+ };
440
+ citations: {
441
+ references: number;
442
+ /** Reference ids cited by at least one run, in declaration order. */
443
+ cited: string[];
444
+ /** Runs that cite. */
445
+ citations: number;
446
+ footnotes: number;
447
+ captions: number;
448
+ links: number;
449
+ };
450
+ variables: {
451
+ declared: number;
452
+ byKind: Record<string, number>;
453
+ required: number;
454
+ optional: number;
455
+ filled: number;
456
+ unfilled: string[];
457
+ unfilledRequired: string[];
458
+ /** Declared variables nothing references. */
459
+ unused: string[];
460
+ };
461
+ assets: {
462
+ registry: {
463
+ entries: number;
464
+ embedded: number;
465
+ files: number;
466
+ remote: number;
467
+ };
468
+ /** Every asset-bearing field: images, videos, logos, photos, backgrounds, header/footer images, external chart data. */
469
+ uses: {
470
+ total: number;
471
+ references: number;
472
+ embedded: number;
473
+ files: number;
474
+ remote: number;
475
+ };
476
+ /** Decoded size of the embedded `data:` URIs in `uses` and the registry. */
477
+ embeddedBytes: number;
478
+ };
479
+ headerFooter: {
480
+ header: HeaderFooterFact;
481
+ footer: HeaderFooterFact;
482
+ slides: {
483
+ headerOverrides: number;
484
+ headerSuppressed: number;
485
+ footerOverrides: number;
486
+ footerSuppressed: number;
487
+ };
488
+ };
489
+ fonts: {
490
+ /** Every family named: by a font scheme in effect, an inline scheme, or a run's `fontFamily`. */
491
+ families: string[];
492
+ /** Font-scheme references in effect (deck and slide overrides). */
493
+ schemeIds: string[];
494
+ /** References that resolve nowhere (opf/unresolved-reference); the engine default font scheme is used for them. */
495
+ unresolvedSchemeIds: string[];
496
+ runOverrides: string[];
497
+ };
498
+ colors: {
499
+ variables: {
500
+ id: string;
501
+ value: string | null;
502
+ uses: number;
503
+ }[];
504
+ };
505
+ /** Keys under `extensions` on the deck, slides and payloads. */
506
+ extensions: string[];
507
+ /** The catalog groups the document embeds records in: each group's source and its record count per kind. */
508
+ catalogs: Record<string, {
509
+ source: string | null;
510
+ records: Record<string, number>;
511
+ }>;
512
+ /** Present only with `perSlide: true`. */
513
+ perSlide?: SlideStats[];
514
+ }
515
+ interface StatsOptions extends CatalogOptions {
516
+ /** Add the per-slide breakdown as `perSlide`. */
517
+ perSlide?: boolean;
518
+ /** Variable values to count as filled, as for `resolveVariables`. */
519
+ values?: Record<string, unknown>;
520
+ /** Speaking pace for the notes estimate. Default 130. */
521
+ wordsPerMinute?: number;
522
+ }
523
+ declare function stats(presentation: unknown, options?: StatsOptions): PresentationStats;
341
524
 
342
- export { type BundleReport, type BundleResult, CODE_HIGHLIGHT_LANGUAGES, CODE_HIGHLIGHT_MAX_LENGTH, CODE_PANEL_BACKGROUND, CODE_PANEL_FOREGROUND, CODE_SYNTAX_MIN_CONTRAST, CatalogKind, type CodeRun, type CodeSyntaxPalette, type CodeSyntaxPaletteOptions, type CodeSyntaxPaletteTheme, type CodeToken, type CodeTokenKind, METRIC_TREND_MIN_CONTRAST, METRIC_TREND_SHAPES, MetricLayout, type MetricTrend, type MetricTrendColorOptions, type MetricTrendMark, PATTERN_PRESETS, PATTERN_PRESET_ALIASES, PATTERN_TILE_SIZE, type ResolveScriptFontsOptions, type ResolvedScriptFonts, type ScriptFontApp, type ScriptFontSlots, type ScriptFontSource, type ScriptFontSupplement, type ScriptRole, bundlePresentation, codeLineRuns, codeSyntaxPalette, codeSyntaxPaletteForScheme, metricTrendColor, metricTrendMark, metricTrendPoints, patternBitmap, patternRuns, resolveCodeLanguage, resolvePatternPreset, resolveScriptFonts, resolveSlideDirection, scriptFontRole, tokenizeCode };
525
+ export { Catalog, CatalogKind, CatalogOptions, type CatalogPatchOperation, type CatalogRecordChange, type CatalogRef, type CatalogUpdate, type CopiedRecordRename, type CopySlidesResult, type DatasetFact, type EmbedResult, type EmbeddedRecord, type HeaderFooterFact, type MoveToCustomErrorCode, type MoveToCustomPatchOperation, type MoveToCustomResult, type MovedRecord, OPFMoveToCustomError, Presentation, type PresentationStats, RecordProvenance, type ReferenceFact, type ResolvedDesignRecords, type SlideSizeFact, type SlideStats, type StatsOptions, type StatsSlideRef, type TableFact, UnresolvedReferenceDiagnostic, copySlides, embed, moveToCustom, resolveDesignRecords, resolveFontScheme, sameRecord, stats, updateFromCatalog };