@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/types.d.ts CHANGED
@@ -1,4 +1,1125 @@
1
- export { P as Presentation } from './presentation-mG-IYErQ.js';
2
- export { A as Audience, C as CatalogKind, 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 } from './catalogs-ywCamd8C.js';
3
- export { a as SchemaName } from './schemas-BbPonsTz.js';
4
- export { V as ValidationIssue, e as ValidationResult } from './validator-CIylxoIm.js';
1
+ export { P as Presentation } from './presentation-CDKQVkyI.js';
2
+ export { C as CatalogKind } from './catalog-refs-BSfGELpt.js';
3
+ export { SchemaName } from './schemas.js';
4
+ 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';
5
+ import './json-BFSdESOE.js';
6
+
7
+ /**
8
+ * Schema for audience records. Each record names an audience archetype (e.g. 'executive', 'engineering-team', 'investor') and carries seniority, technical-fluency, decision-power, and attention-budget hints used by AI-driven generation. Documents reference an audience from 'audience', which also accepts free-form text.
9
+ *
10
+ * A document references a record as a bare id or 'name:id' and resolves it in its own catalogs groups first, then in the catalog the host registered for the group's source; engines never fetch a catalog. A published record file carries '$schema' and 'id'; the copy a document embeds under catalogs.<group>.<kind>.<id> carries neither (the key is the id) and no 'x-*' display metadata.
11
+ */
12
+ interface Audience {
13
+ /**
14
+ * Identifies a published record file as a audience record. Required in a published file; an embedded copy omits it.
15
+ */
16
+ $schema: "https://openpresentation.org/schema/opf-audience/v1";
17
+ /**
18
+ * The audience's id in its catalog, lowercase kebab-case. Required in a published record file; a document references the record by it (a bare id, or 'name:id' for a named group) and embeds it keyed by it, without this field.
19
+ */
20
+ id: string;
21
+ /**
22
+ * Human-readable audience name shown in pickers.
23
+ */
24
+ name: string;
25
+ /**
26
+ * One-sentence positioning of the audience — who they are and what they care about.
27
+ */
28
+ summary?: string;
29
+ /**
30
+ * Longer prose describing the audience archetype and how to address them.
31
+ */
32
+ description?: string;
33
+ /**
34
+ * Typical seniority level of the audience. Engines use this as a hint for default depth and pacing.
35
+ */
36
+ seniority?: ("ic" | "manager" | "director" | "vp" | "c-suite" | "mixed");
37
+ /**
38
+ * Typical technical fluency of the audience. AI generation uses this to decide whether to expand or assume technical terminology.
39
+ */
40
+ technicalFluency?: ("low" | "medium" | "high" | "mixed");
41
+ /**
42
+ * Whether the audience is expected to be informed, to advise, or to actually decide. Shapes the strength of the closing ask.
43
+ */
44
+ decisionPower?: ("informational" | "advisory" | "decision-maker");
45
+ /**
46
+ * Realistic upper bound on this audience's focused attention for a single presentation, in minutes. Used as a hint when comparing against duration and the resolved narrative's duration range.
47
+ */
48
+ attentionBudgetMinutes?: number;
49
+ /**
50
+ * Soft cross-link: ids of narratives in the same catalog that work well for this audience. Used by picker UIs to suggest narratives once an audience is chosen. Never resolved, embedded or validated as references.
51
+ */
52
+ recommendedNarratives?: string[];
53
+ /**
54
+ * Soft cross-link: ids of tones in the same catalog that work well for this audience. Never resolved, embedded or validated as references.
55
+ */
56
+ recommendedTones?: string[];
57
+ /**
58
+ * Free-form labels for filtering and search.
59
+ */
60
+ tags?: string[];
61
+ /**
62
+ * Visual previews of the record, used by picker UIs and inline rendering. All sub-fields are optional.
63
+ */
64
+ preview?: {
65
+ /**
66
+ * Main preview image (PNG/JPG).
67
+ */
68
+ src?: string;
69
+ /**
70
+ * Smaller thumbnail preview suited to dense grid views.
71
+ */
72
+ thumbnailSrc?: string;
73
+ /**
74
+ * SVG / vector preview for crisp scaling at any size.
75
+ */
76
+ vectorSrc?: string;
77
+ [k: string]: unknown;
78
+ };
79
+ [k: string]: unknown;
80
+ }
81
+
82
+ /**
83
+ * Schema for purpose records. Each record names a presentation objective such as informing, aligning, persuading, driving a decision, or selling. Documents reference a purpose from 'purpose', which also accepts free-form text and inline Purpose objects.
84
+ *
85
+ * A document references a record as a bare id or 'name:id' and resolves it in its own catalogs groups first, then in the catalog the host registered for the group's source; engines never fetch a catalog. A published record file carries '$schema' and 'id'; the copy a document embeds under catalogs.<group>.<kind>.<id> carries neither (the key is the id) and no 'x-*' display metadata.
86
+ */
87
+ interface Purpose {
88
+ /**
89
+ * Identifies a published record file as a purpose record. Required in a published file; an embedded copy omits it.
90
+ */
91
+ $schema: "https://openpresentation.org/schema/opf-purpose/v1";
92
+ /**
93
+ * The purpose's id in its catalog, lowercase kebab-case. Required in a published record file; a document references the record by it (a bare id, or 'name:id' for a named group) and embeds it keyed by it, without this field.
94
+ */
95
+ id: string;
96
+ /**
97
+ * Human-readable purpose name shown in pickers.
98
+ */
99
+ name: string;
100
+ /**
101
+ * One-sentence positioning of the purpose — what this deck is trying to accomplish.
102
+ */
103
+ summary?: string;
104
+ /**
105
+ * Longer prose describing when to use this purpose and how it should shape a deck.
106
+ */
107
+ description?: string;
108
+ /**
109
+ * Desired audience outcome after the presentation.
110
+ */
111
+ outcome?: string;
112
+ /**
113
+ * Observable signals that the deck accomplished this purpose.
114
+ */
115
+ successCriteria?: string[];
116
+ /**
117
+ * Soft cross-link: ids of narratives in the same catalog that work well for this purpose. Never resolved, embedded or validated as references.
118
+ */
119
+ recommendedNarratives?: string[];
120
+ /**
121
+ * Soft cross-link: ids of tones in the same catalog that work well for this purpose. Never resolved, embedded or validated as references.
122
+ */
123
+ recommendedTones?: string[];
124
+ /**
125
+ * Free-form labels for filtering and search.
126
+ */
127
+ tags?: string[];
128
+ /**
129
+ * Visual previews of the record, used by picker UIs and inline rendering. All sub-fields are optional.
130
+ */
131
+ preview?: {
132
+ /**
133
+ * Main preview image (PNG/JPG).
134
+ */
135
+ src?: string;
136
+ /**
137
+ * Smaller thumbnail preview suited to dense grid views.
138
+ */
139
+ thumbnailSrc?: string;
140
+ /**
141
+ * SVG / vector preview for crisp scaling at any size.
142
+ */
143
+ vectorSrc?: string;
144
+ [k: string]: unknown;
145
+ };
146
+ [k: string]: unknown;
147
+ }
148
+
149
+ /**
150
+ * Schema for tone records. Each record names a presentation tone (e.g. 'formal', 'casual', 'inspirational') and carries voice cues, anti-patterns, and sample phrases that AI-driven generation uses to shape output. Documents reference a tone from 'tone'.
151
+ *
152
+ * A document references a record as a bare id or 'name:id' and resolves it in its own catalogs groups first, then in the catalog the host registered for the group's source; engines never fetch a catalog. A published record file carries '$schema' and 'id'; the copy a document embeds under catalogs.<group>.<kind>.<id> carries neither (the key is the id) and no 'x-*' display metadata.
153
+ */
154
+ interface Tone {
155
+ /**
156
+ * Identifies a published record file as a tone record. Required in a published file; an embedded copy omits it.
157
+ */
158
+ $schema: "https://openpresentation.org/schema/opf-tone/v1";
159
+ /**
160
+ * The tone's id in its catalog, lowercase kebab-case. Required in a published record file; a document references the record by it (a bare id, or 'name:id' for a named group) and embeds it keyed by it, without this field.
161
+ */
162
+ id: string;
163
+ /**
164
+ * Human-readable tone name shown in pickers.
165
+ */
166
+ name: string;
167
+ /**
168
+ * One-sentence positioning of the tone — when to reach for it.
169
+ */
170
+ summary?: string;
171
+ /**
172
+ * Longer prose describing the tone and the kinds of decks it suits.
173
+ */
174
+ description?: string;
175
+ /**
176
+ * Short directives that shape AI generation toward this tone. Phrased as imperatives, e.g. 'use second-person', 'favor short sentences', 'lead with the recommendation'.
177
+ */
178
+ voiceCues?: string[];
179
+ /**
180
+ * Anti-patterns that AI generation should not produce when this tone is active.
181
+ */
182
+ avoid?: string[];
183
+ /**
184
+ * Short example phrases that exemplify this tone. Used by picker UIs and as few-shot examples for AI generation.
185
+ */
186
+ samplePhrases?: string[];
187
+ /**
188
+ * Soft cross-link: ids of narratives in the same catalog this tone pairs well with. Used by picker UIs to suggest narratives once a tone is chosen. Never resolved, embedded or validated as references.
189
+ */
190
+ recommendedNarratives?: string[];
191
+ /**
192
+ * Free-form labels for filtering and search.
193
+ */
194
+ tags?: string[];
195
+ /**
196
+ * Visual previews of the record, used by picker UIs and inline rendering. All sub-fields are optional.
197
+ */
198
+ preview?: {
199
+ /**
200
+ * Main preview image (PNG/JPG).
201
+ */
202
+ src?: string;
203
+ /**
204
+ * Smaller thumbnail preview suited to dense grid views.
205
+ */
206
+ thumbnailSrc?: string;
207
+ /**
208
+ * SVG / vector preview for crisp scaling at any size.
209
+ */
210
+ vectorSrc?: string;
211
+ [k: string]: unknown;
212
+ };
213
+ [k: string]: unknown;
214
+ }
215
+
216
+ /**
217
+ * PowerPoint theme-controlled slide background slot from the active color scheme. These are slots, not assumptions about actual colors: light1 is usually white and dark1 is usually black by convention, but the color scheme controls the real values.
218
+ *
219
+ * This interface was referenced by `Theme`'s JSON-Schema
220
+ * via the `definition` "ThemeBackgroundSlot".
221
+ */
222
+ type ThemeBackgroundSlot = ("light1" | "light2" | "dark1" | "dark2");
223
+ /**
224
+ * Schema for theme records. Each theme is a small, named bundle that pairs a color scheme, a font scheme, a default theme-controlled background, and a slide size. Documents reference a theme from design.theme; design.colorScheme, design.fontScheme, design.background and design.dimensions take precedence over the resolved theme. The theme's own colorScheme and fontScheme references resolve in the theme's group first, so a catalog's theme finds that catalog's schemes.
225
+ *
226
+ * A document references a record as a bare id or 'name:id' and resolves it in its own catalogs groups first, then in the catalog the host registered for the group's source; engines never fetch a catalog. A published record file carries '$schema' and 'id'; the copy a document embeds under catalogs.<group>.<kind>.<id> carries neither (the key is the id) and no 'x-*' display metadata.
227
+ */
228
+ interface Theme {
229
+ /**
230
+ * Identifies a published record file as a theme record. Required in a published file; an embedded copy omits it.
231
+ */
232
+ $schema: "https://openpresentation.org/schema/opf-theme/v1";
233
+ /**
234
+ * The theme's id in its catalog, lowercase kebab-case. Required in a published record file; a document references the record by it (a bare id, or 'name:id' for a named group) and embeds it keyed by it, without this field.
235
+ */
236
+ id: string;
237
+ /**
238
+ * Human-readable theme name shown in pickers.
239
+ */
240
+ name: string;
241
+ /**
242
+ * One-sentence positioning of the theme — when to reach for it.
243
+ */
244
+ summary?: string;
245
+ /**
246
+ * Longer prose describing what the theme looks and feels like and the kinds of decks it suits.
247
+ */
248
+ description?: string;
249
+ /**
250
+ * The theme's default colour scheme: a reference (a bare id or 'name:id') resolved like design.colorScheme, but in the theme's own catalogs group first.
251
+ */
252
+ colorScheme?: string;
253
+ /**
254
+ * The theme's default font scheme: a reference (a bare id or 'name:id') resolved like design.fontScheme, but in the theme's own catalogs group first.
255
+ */
256
+ fontScheme?: string;
257
+ background?: ThemeBackground;
258
+ /**
259
+ * Default slide size for this theme. Accepts the same preset values as design.dimensions.preset.
260
+ */
261
+ dimensions?: ("16:9" | "4:3" | "16:10" | "1:1" | "4:5" | "9:16" | "letter" | "a4" | "widescreen" | "standard");
262
+ /**
263
+ * Free-form labels for filtering and search.
264
+ */
265
+ tags?: string[];
266
+ /**
267
+ * Visual previews of the record, used by picker UIs and inline rendering. All sub-fields are optional; engines fall back gracefully when previews aren't available.
268
+ */
269
+ preview?: {
270
+ /**
271
+ * Main preview image (PNG/JPG). Used as the primary visual in picker UIs and previews of the record.
272
+ */
273
+ src?: string;
274
+ /**
275
+ * Smaller thumbnail preview suited to dense grid views.
276
+ */
277
+ thumbnailSrc?: string;
278
+ /**
279
+ * SVG / vector preview for crisp scaling at any size.
280
+ */
281
+ vectorSrc?: string;
282
+ [k: string]: unknown;
283
+ };
284
+ [k: string]: unknown;
285
+ }
286
+ /**
287
+ * Theme-controlled PowerPoint slide background. The slot is resolved through the active color scheme and remains theme-aware.
288
+ *
289
+ * This interface was referenced by `Theme`'s JSON-Schema
290
+ * via the `definition` "ThemeBackground".
291
+ */
292
+ interface ThemeBackground {
293
+ /**
294
+ * Theme-controlled background fill.
295
+ */
296
+ type: "theme";
297
+ slot: ThemeBackgroundSlot;
298
+ [k: string]: unknown;
299
+ }
300
+
301
+ /**
302
+ * Schema for slide-layout records. Each record describes a semantic slide layout: what regions it exposes, what content kinds those regions are intended to hold, how they are arranged (composition) and its design hints. Documents reference a layout from Slide.layout; a slide without a layout, or whose layout resolves nowhere, composes automatically.
303
+ *
304
+ * A document references a record as a bare id or 'name:id' and resolves it in its own catalogs groups first, then in the catalog the host registered for the group's source; engines never fetch a catalog. A published record file carries '$schema' and 'id'; the copy a document embeds under catalogs.<group>.<kind>.<id> carries neither (the key is the id) and no 'x-*' display metadata.
305
+ */
306
+ interface Layout {
307
+ /**
308
+ * Identifies a published record file as a layout record. Required in a published file; an embedded copy omits it.
309
+ */
310
+ $schema: "https://openpresentation.org/schema/opf-layout/v1";
311
+ /**
312
+ * The layout's id in its catalog, lowercase kebab-case. Required in a published record file; a document references the record by it (a bare id, or 'name:id' for a named group) and embeds it keyed by it, without this field.
313
+ */
314
+ id: string;
315
+ /**
316
+ * Human-readable layout name shown in layout pickers.
317
+ */
318
+ name: string;
319
+ /**
320
+ * One-sentence positioning of the layout — when to reach for it.
321
+ */
322
+ summary?: string;
323
+ /**
324
+ * Longer prose describing the layout structure and ideal use cases.
325
+ */
326
+ description?: string;
327
+ design?: DesignHints;
328
+ /**
329
+ * Ordered regions the layout exposes. This is the single source of truth for what the layout holds: the content kind, the number of body regions and whether it has a title, subtitle or tag are derived from it (layoutContent in @openpresentation/opf), never stored separately. The engine fills 'title', 'subtitle' and 'tag' placeholders from Slide.title, Slide.subtitle and Slide.tag. The other placeholders are content-kind regions that composition uses to size the body and that pickers use to match layouts. Slide content itself lives either in root payload fields or promoted region keys on Slide. Chrome (slide number, footer, date) is not included here; it is owned by Design.header / Design.footer.
330
+ */
331
+ placeholders?: Placeholder[];
332
+ /**
333
+ * Free-form labels for filtering and search.
334
+ */
335
+ tags?: string[];
336
+ /**
337
+ * Visual previews of the record, used by picker UIs and inline rendering. All sub-fields are optional; engines fall back gracefully when previews aren't available.
338
+ */
339
+ preview?: {
340
+ /**
341
+ * Main preview image (PNG/JPG). Used as the primary visual in picker UIs and previews of the record.
342
+ */
343
+ src?: string;
344
+ /**
345
+ * Smaller thumbnail preview suited to dense grid views.
346
+ */
347
+ thumbnailSrc?: string;
348
+ /**
349
+ * SVG / vector preview for crisp scaling at any size.
350
+ */
351
+ vectorSrc?: string;
352
+ [k: string]: unknown;
353
+ };
354
+ composition?: Composition;
355
+ [k: string]: unknown;
356
+ }
357
+ /**
358
+ * The layout's design hints, with the same keys and values as the deck's design and a slide's design (a slide overrides exactly what its layout sets, by the same name). An absent key means the layout has no opinion. Every key is applied from the record as the lowest-precedence default, per key: the slide's design, then the deck's design, then this record's design, then the engine default, so a layout value nobody overrides is honored without copying it anywhere (a layout's composition.mode still ranks above contentDirection). Composition, the renderer and the PPTX exporter all read the one result.
359
+ */
360
+ interface DesignHints {
361
+ /**
362
+ * Horizontal alignment of the title placeholder.
363
+ */
364
+ titleAlignment?: ("left" | "center" | "right");
365
+ /**
366
+ * Horizontal alignment of the body regions.
367
+ */
368
+ contentAlignment?: ("left" | "center" | "right");
369
+ /**
370
+ * Whether the body regions are drawn inside a visible card or surface.
371
+ */
372
+ contentBox?: boolean;
373
+ /**
374
+ * Axis along which parallel body content is arranged: 'vertical' is a column, 'horizontal' a row. Composition applies it when neither the slide nor this layout's composition sets a mode, below the slide's and the deck's design.contentDirection and above automatic selection.
375
+ */
376
+ contentDirection?: ("horizontal" | "vertical");
377
+ /**
378
+ * Where the primary chart sits relative to the other body content. Composition applies it below the slide's and the deck's design.chartPrimary, with the semantics described there.
379
+ */
380
+ chartPrimary?: ("none" | "top" | "bottom" | "left" | "right");
381
+ /**
382
+ * Default fit of the slide's image blocks: 'cover' fills the frame and crops around focus, 'contain' shows the whole picture, 'stretch' scales it to the frame.
383
+ */
384
+ imageFit?: ("cover" | "contain" | "stretch");
385
+ /**
386
+ * Marker style of lists: 'character' draws the glyph, 'image' draws the deck's icon logo as a picture bullet.
387
+ */
388
+ listBullet?: ("character" | "image");
389
+ }
390
+ /**
391
+ * A single region inside a slide layout. Title, subtitle, and tag placeholders bind to the corresponding Slide fields; every other placeholder describes the content kind that region holds. The array order in the surrounding 'placeholders' field preserves layout region order.
392
+ *
393
+ * This interface was referenced by `Layout`'s JSON-Schema
394
+ * via the `definition` "Placeholder".
395
+ */
396
+ interface Placeholder {
397
+ /**
398
+ * The content kind of the region. This is the one OPF content-kind vocabulary: the same words name a slide's payload fields (text, items, image, video, chart, table, code, metric, quote, timeline). 'title', 'subtitle' and 'tag' are the heading kinds and bind to Slide.title, Slide.subtitle and Slide.tag. 'text' holds text and bullets; 'list' holds items. 'image' is filled by an image payload and 'video' by a video payload. 'metric', 'quote', 'timeline', 'chart', 'table' and 'code' are filled by the payload of the same name; a metric region shows the metric payload with its optional label, description, unit, delta, trend and sentiment.
399
+ */
400
+ type: ("title" | "subtitle" | "tag" | "text" | "list" | "image" | "video" | "chart" | "table" | "code" | "metric" | "quote" | "timeline");
401
+ placement?: ImagePlacement;
402
+ [k: string]: unknown;
403
+ }
404
+ /**
405
+ * Image placeholders only. Bleeds the slide's image for this region to one slide edge, as an image block's placement does: the n-th image placeholder places the slide's n-th top-level image (Slide.image or an image block in blocks) unless that block sets its own placement. The headings and the other content compose in the rest of the slide.
406
+ */
407
+ interface ImagePlacement {
408
+ /**
409
+ * The slide edge the image bleeds to. In a right-to-left deck 'left' is the start side, drawn at the right.
410
+ */
411
+ edge: ("left" | "right" | "top" | "bottom");
412
+ /**
413
+ * Share of the slide width (left, right) or height (top, bottom) given to the band. Default 0.5.
414
+ */
415
+ size?: number;
416
+ /**
417
+ * Draw the frame inside the slide padding on every side of the band instead of edge to edge. Default false.
418
+ */
419
+ inset?: boolean;
420
+ }
421
+ /**
422
+ * Portable dynamic composition. Slide fields override the resolved layout. Nested groups arrange their children independently, inheriting only minFontSize and overflow. Explicit promoted regions retain their positions.
423
+ *
424
+ * This interface was referenced by `Layout`'s JSON-Schema
425
+ * via the `definition` "Composition".
426
+ */
427
+ interface Composition {
428
+ /**
429
+ * auto chooses a grid from available space and content; grid uses columns; row and column use one horizontal or vertical track.
430
+ */
431
+ mode?: ("auto" | "grid" | "row" | "column");
432
+ /**
433
+ * Column count for grid. In auto mode this caps the number of columns.
434
+ */
435
+ columns?: number;
436
+ /**
437
+ * Space between cells as a fraction of the container short edge (canvas at slide root). Default 0.03333333333333333.
438
+ */
439
+ gap?: number;
440
+ /**
441
+ * Inset as a fraction of the container short edge. Default 0.08 on a slide, 0 inside a group.
442
+ */
443
+ padding?: number;
444
+ /**
445
+ * Relative track sizes: columns for row/grid/auto, rows for column. Omitted tracks have weight 1; extra weights are ignored.
446
+ *
447
+ * @minItems 1
448
+ * @maxItems 12
449
+ */
450
+ weights?: [number] | [number, number] | [number, number, number] | [number, number, number, number] | [number, number, number, number, number] | [number, number, number, number, number, number] | [number, number, number, number, number, number, number] | [number, number, number, number, number, number, number, number] | [number, number, number, number, number, number, number, number, number] | [number, number, number, number, number, number, number, number, number, number] | [number, number, number, number, number, number, number, number, number, number, number] | [number, number, number, number, number, number, number, number, number, number, number, number];
451
+ /**
452
+ * Minimum readable text size in reference pixels at a 720-pixel canvas short edge. Default 16. Overflow is diagnosed when text cannot fit at this size.
453
+ */
454
+ minFontSize?: number;
455
+ /**
456
+ * warn returns diagnostics for content that does not fit; error rejects layout. Content is never silently removed. Default warn.
457
+ */
458
+ overflow?: ("warn" | "error");
459
+ }
460
+
461
+ /**
462
+ * Schema for chart-type records: display metadata for chart pickers (name, group, expected series, complexity) and the Open XML mapping a picker can describe. One record per chart type that Aspose.Slides officially supports (see mappings.renderers["aspose-slides"].chartType), plus the column-and-line combination 'combo'. A document's chart.type is an engine vocabulary validated directly; engines never look a chart-type record up. pptx.gallery publishes these records and @openpresentation/opf/catalog ships them as catalogDisplay.chartTypes.
463
+ */
464
+ interface ChartType {
465
+ /**
466
+ * Identifies this record as a chart type in the open presentation catalog.
467
+ */
468
+ $schema: "https://openpresentation.org/schema/opf-chart-type/v1";
469
+ /**
470
+ * The chart-type value (`chart.type`) this record describes. Lowercase kebab-case; it may start with a digit (e.g., '100pct-stacked-column') to mirror conventional chart naming.
471
+ */
472
+ id: string;
473
+ /**
474
+ * Human-readable name of the chart type, as a chart picker shows it.
475
+ */
476
+ name: string;
477
+ /**
478
+ * One-sentence positioning: when to reach for this chart variant.
479
+ */
480
+ summary?: string;
481
+ /**
482
+ * Longer prose describing the chart and ideal use cases.
483
+ */
484
+ description?: string;
485
+ mappings: ChartTypeMappings;
486
+ /**
487
+ * Top-level grouping in the chart picker.
488
+ */
489
+ group?: string;
490
+ /**
491
+ * Display ordering hint within the chart group.
492
+ */
493
+ groupSort?: number;
494
+ /**
495
+ * Shape of the underlying data: a flat series ('simple'), one with engine-side calculation ('calculated'), parent-child rows ('hierarchical'), or pre-normalized rows ('normalized'). The editor offers only 'simple' types as switch targets for a chart's existing data.
496
+ */
497
+ complexity?: ("simple" | "calculated" | "hierarchical" | "normalized");
498
+ /**
499
+ * Number of data series this chart type expects: exactly that many, except that a stacked or percent-stacked type and a combination (composition 'mixed', such as combo) expect at least that many. The editor offers a type that expects more than one series only for data with a fitting number of value columns; a one-series type fits one value column, and column, bar, line, area and radar types fit any number.
500
+ */
501
+ series?: number;
502
+ /**
503
+ * Free-form labels for filtering and search.
504
+ */
505
+ tags?: string[];
506
+ /**
507
+ * Visual previews of the record, used by picker UIs and inline rendering. All sub-fields are optional; engines fall back gracefully when previews aren't available.
508
+ */
509
+ preview?: {
510
+ /**
511
+ * Main preview image (PNG/JPG). Used as the primary visual in picker UIs and previews of the record.
512
+ */
513
+ src?: string;
514
+ /**
515
+ * Smaller thumbnail preview suited to dense grid views.
516
+ */
517
+ thumbnailSrc?: string;
518
+ /**
519
+ * SVG / vector preview for crisp scaling at any size.
520
+ */
521
+ vectorSrc?: string;
522
+ [k: string]: unknown;
523
+ };
524
+ /**
525
+ * Publisher extension member, such as the `x-gallery` presentation metadata that pptx.gallery adds to the records it publishes. Engines and validators ignore top-level `x-*` members, and the pinned snapshot in spec/catalogs never carries them.
526
+ *
527
+ * This interface was referenced by `ChartType`'s JSON-Schema definition
528
+ * via the `patternProperty` "^x-".
529
+ */
530
+ [k: string]: {
531
+ [k: string]: unknown;
532
+ } | "https://openpresentation.org/schema/opf-chart-type/v1" | string | ChartTypeMappings | number | "simple" | "calculated" | "hierarchical" | "normalized" | string[] | {
533
+ /**
534
+ * Main preview image (PNG/JPG). Used as the primary visual in picker UIs and previews of the record.
535
+ */
536
+ src?: string;
537
+ /**
538
+ * Smaller thumbnail preview suited to dense grid views.
539
+ */
540
+ thumbnailSrc?: string;
541
+ /**
542
+ * SVG / vector preview for crisp scaling at any size.
543
+ */
544
+ vectorSrc?: string;
545
+ [k: string]: unknown;
546
+ } | undefined;
547
+ }
548
+ /**
549
+ * Canonical and optional renderer-specific mappings used by engines to render this chart type.
550
+ */
551
+ interface ChartTypeMappings {
552
+ openxml: OpenXmlChartMapping;
553
+ /**
554
+ * Optional renderer-specific mappings. Keys are renderer ids; values are intentionally opaque to OPF. The bundled catalog records the matching Aspose.Slides ChartType enumeration member under the "aspose-slides" key, e.g. {"aspose-slides": {"chartType": "StackedColumn"}}; a mixed composition names the ChartType it starts from and the series type it switches series to, e.g. {"chartType": "ClusteredColumn", "lineSeriesType": "LineWithMarkers"}.
555
+ */
556
+ renderers?: {
557
+ [k: string]: {
558
+ [k: string]: unknown;
559
+ };
560
+ };
561
+ }
562
+ /**
563
+ * Canonical mapping to Open XML chart structures.
564
+ */
565
+ interface OpenXmlChartMapping {
566
+ /**
567
+ * Primary Open XML chart element or extension chart element, such as 'barChart', 'lineChart', 'pieChart', 'treemapChart', or 'waterfallChart'.
568
+ */
569
+ element?: string;
570
+ /**
571
+ * Bar direction for Open XML barChart mappings.
572
+ */
573
+ barDir?: ("bar" | "col");
574
+ /**
575
+ * Open XML chart grouping value when the chart family supports grouping.
576
+ */
577
+ grouping?: ("standard" | "clustered" | "stacked" | "percentStacked");
578
+ /**
579
+ * Whether the chart type expects visible data markers.
580
+ */
581
+ marker?: boolean;
582
+ /**
583
+ * Open XML radarStyle value for radarChart mappings.
584
+ */
585
+ radarStyle?: ("standard" | "marker" | "filled");
586
+ /**
587
+ * Open XML scatterStyle value for scatterChart mappings.
588
+ */
589
+ scatterStyle?: ("line" | "lineMarker" | "marker" | "smooth" | "smoothMarker");
590
+ /**
591
+ * Whether the chart maps to one standard chart element, multiple combined chart elements, or an Open XML extension chart.
592
+ */
593
+ composition?: ("single" | "mixed" | "extension");
594
+ /**
595
+ * Optional Open XML extension namespace or element hint for extension charts.
596
+ */
597
+ extension?: string;
598
+ /**
599
+ * Open XML chart elements used by mixed/composite chart types.
600
+ */
601
+ series?: OpenXmlChartMapping1[];
602
+ /**
603
+ * Short implementation note for mappings that need renderer interpretation.
604
+ */
605
+ notes?: string;
606
+ }
607
+ /**
608
+ * This interface was referenced by `ChartType`'s JSON-Schema
609
+ * via the `definition` "OpenXmlChartMapping".
610
+ */
611
+ interface OpenXmlChartMapping1 {
612
+ /**
613
+ * Primary Open XML chart element or extension chart element, such as 'barChart', 'lineChart', 'pieChart', 'treemapChart', or 'waterfallChart'.
614
+ */
615
+ element?: string;
616
+ /**
617
+ * Bar direction for Open XML barChart mappings.
618
+ */
619
+ barDir?: ("bar" | "col");
620
+ /**
621
+ * Open XML chart grouping value when the chart family supports grouping.
622
+ */
623
+ grouping?: ("standard" | "clustered" | "stacked" | "percentStacked");
624
+ /**
625
+ * Whether the chart type expects visible data markers.
626
+ */
627
+ marker?: boolean;
628
+ /**
629
+ * Open XML radarStyle value for radarChart mappings.
630
+ */
631
+ radarStyle?: ("standard" | "marker" | "filled");
632
+ /**
633
+ * Open XML scatterStyle value for scatterChart mappings.
634
+ */
635
+ scatterStyle?: ("line" | "lineMarker" | "marker" | "smooth" | "smoothMarker");
636
+ /**
637
+ * Whether the chart maps to one standard chart element, multiple combined chart elements, or an Open XML extension chart.
638
+ */
639
+ composition?: ("single" | "mixed" | "extension");
640
+ /**
641
+ * Optional Open XML extension namespace or element hint for extension charts.
642
+ */
643
+ extension?: string;
644
+ /**
645
+ * Open XML chart elements used by mixed/composite chart types.
646
+ */
647
+ series?: OpenXmlChartMapping1[];
648
+ /**
649
+ * Short implementation note for mappings that need renderer interpretation.
650
+ */
651
+ notes?: string;
652
+ }
653
+
654
+ /**
655
+ * Schema for narrative records. A narrative is a plan: a named story arc (e.g. 'problem-solution', 'scqa') as an ordered list of beats, each saying what its slide must do. A document points at one with the string 'narrative' and links its slides to beats with 'slides[].beat'; a narrative the document defines itself is a record in catalogs.custom.narratives. Core validate warns about a 'slides[].beat' id the resolved narrative does not define (opf/unknown-beat) and about a root 'duration' outside this record's 'duration' range (opf/duration-outside-narrative), and reports a beat no slide references (opf/unused-beat).
656
+ *
657
+ * A document references a record as a bare id or 'name:id' and resolves it in its own catalogs groups first, then in the catalog the host registered for the group's source; engines never fetch a catalog. A published record file carries '$schema' and 'id'; the copy a document embeds under catalogs.<group>.<kind>.<id> carries neither (the key is the id) and no 'x-*' display metadata.
658
+ */
659
+ interface Narrative {
660
+ /**
661
+ * Identifies a published record file as a narrative record. Required in a published file; an embedded copy omits it.
662
+ */
663
+ $schema: "https://openpresentation.org/schema/opf-narrative/v1";
664
+ /**
665
+ * The narrative's id in its catalog, lowercase kebab-case. Required in a published record file; a document references the record by it (a bare id, or 'name:id' for a named group) and embeds it keyed by it, without this field.
666
+ */
667
+ id: string;
668
+ /**
669
+ * Human-readable template name, e.g. 'Problem → Solution'.
670
+ */
671
+ name: string;
672
+ /**
673
+ * One-sentence description of when and why to use this narrative.
674
+ */
675
+ summary?: string;
676
+ /**
677
+ * Longer prose describing the narrative arc and ideal use cases. Used by AI-driven generation to seed deck-level direction.
678
+ */
679
+ description?: string;
680
+ /**
681
+ * Audiences this narrative works well for, e.g. ['executive', 'investor', 'customer'].
682
+ */
683
+ audienceFit?: string[];
684
+ /**
685
+ * Typical talk length this narrative suits, as a range in minutes. A deck's own target is the root 'duration' (one number); core validate warns when that target lies outside this range, and when 'min' is greater than 'max'.
686
+ */
687
+ duration?: {
688
+ /**
689
+ * Shortest talk length, in minutes, this narrative suits.
690
+ */
691
+ min?: number;
692
+ /**
693
+ * Longest talk length, in minutes, this narrative suits.
694
+ */
695
+ max?: number;
696
+ };
697
+ /**
698
+ * Free-form labels for filtering and search, e.g. ['business', 'pitch', 'internal'].
699
+ */
700
+ tags?: string[];
701
+ /**
702
+ * Visual previews of the record, used by picker UIs and inline rendering. All sub-fields are optional; engines fall back gracefully when previews aren't available.
703
+ */
704
+ preview?: {
705
+ /**
706
+ * Main preview image (PNG/JPG). Used as the primary visual in picker UIs and previews of the record.
707
+ */
708
+ src?: string;
709
+ /**
710
+ * Smaller thumbnail preview suited to dense grid views.
711
+ */
712
+ thumbnailSrc?: string;
713
+ /**
714
+ * SVG / vector preview for crisp scaling at any size.
715
+ */
716
+ vectorSrc?: string;
717
+ [k: string]: unknown;
718
+ };
719
+ /**
720
+ * Ordered list of beats that make up the narrative arc.
721
+ *
722
+ * @minItems 1
723
+ */
724
+ beats: [Beat, ...(Beat)[]];
725
+ [k: string]: unknown;
726
+ }
727
+ /**
728
+ * A single narrative beat — a labeled segment of the story arc with a specific dramatic purpose. One beat is one slide: 'type' is that slide's Slide.type and 'layout' is its Slide.layout, so a planner copies them straight into a skeleton deck. Split a heavy beat into several beats rather than giving it several slides.
729
+ *
730
+ * This interface was referenced by `Narrative`'s JSON-Schema
731
+ * via the `definition` "Beat".
732
+ */
733
+ interface Beat {
734
+ /**
735
+ * Stable slug used by Slide.beat to reference this beat. Lowercase kebab-case.
736
+ */
737
+ id: string;
738
+ /**
739
+ * Human-readable beat name, e.g. 'The Problem'.
740
+ */
741
+ name: string;
742
+ /**
743
+ * Curator-written prose that explains what this beat should accomplish.
744
+ */
745
+ description?: string;
746
+ /**
747
+ * Short author-facing instruction for the beat — typically one phrase. Complements 'description' with a concise directive.
748
+ */
749
+ instructions?: string;
750
+ /**
751
+ * Default content kind for the beat's slide: the same values as Slide.type. Helps engines and planners choose a layout when only the beat is known.
752
+ */
753
+ type?: ("text" | "list" | "image" | "video" | "chart" | "table" | "code" | "metric" | "quote" | "timeline");
754
+ /**
755
+ * Suggested layout id for the beat's slide, e.g. 'section-divider', 'title-slide', 'text-left'. Resolves the same way as Slide.layout — against catalogs.layouts and the default catalog at https://www.pptx.gallery/layouts.
756
+ */
757
+ layout?: string;
758
+ /**
759
+ * Optional speaker or thinking cues for the beat: questions the slide should answer. A planner or author turns them into the slide's notes; no engine copies them there on its own.
760
+ */
761
+ thoughtCues?: string[];
762
+ [k: string]: unknown;
763
+ }
764
+
765
+ /**
766
+ * Schema for social-platform records: display metadata for authoring UIs (name, brand color, handle example) alongside the URL patterns. The keys of a Socials object are an engine vocabulary validated directly; engines link a handle with the patterns in spec/reference/engine-vocabularies.json and never look a social-platform record up. pptx.gallery publishes these records and @openpresentation/opf/catalog ships them as catalogDisplay.socialPlatforms.
767
+ */
768
+ interface SocialPlatform {
769
+ /**
770
+ * Identifies this record as a social-platform entry in the openpresentation.org catalog.
771
+ */
772
+ $schema: "https://openpresentation.org/schema/opf-social-platform/v1";
773
+ /**
774
+ * The social platform's key, as written in a Socials object. Lowercase kebab-case.
775
+ */
776
+ id: string;
777
+ /**
778
+ * Human-readable platform name shown in pickers and footers.
779
+ */
780
+ name: string;
781
+ /**
782
+ * One-sentence positioning of the platform — what it's used for and who's on it.
783
+ */
784
+ summary?: string;
785
+ /**
786
+ * Longer prose describing the platform and any rendering conventions (e.g., handle prefixes, distributed instances).
787
+ */
788
+ description?: string;
789
+ /**
790
+ * Canonical base URL of the platform — used as the prefix when normalizing handles to full URLs.
791
+ */
792
+ baseUrl?: string;
793
+ /**
794
+ * URL pattern for individual member profiles. Use '{handle}' as the placeholder for the handle (with the prefix already stripped).
795
+ */
796
+ profileUrlPattern?: string;
797
+ /**
798
+ * Optional URL pattern for organization / company pages, when the platform distinguishes them from member profiles. Use '{handle}' as the placeholder.
799
+ */
800
+ companyUrlPattern?: string;
801
+ /**
802
+ * Conventional prefix character displayed before the handle (e.g. '@' for X / Mastodon / Threads / TikTok). Empty string when no prefix is used. Renderers strip it before substituting into URL patterns.
803
+ */
804
+ handlePrefix?: string;
805
+ /**
806
+ * Example handle in its conventional rendered form, used by picker UIs and validation hints.
807
+ */
808
+ handleExample?: string;
809
+ /**
810
+ * Brand color (hex) for branded icon chips, link styling, or section accents in authoring UIs. Catalog metadata: engines do not draw it.
811
+ */
812
+ brandColor?: string;
813
+ /**
814
+ * Free-form labels for filtering and search.
815
+ */
816
+ tags?: string[];
817
+ /**
818
+ * Visual previews of the record, used by picker UIs and inline rendering. All sub-fields are optional; engines fall back gracefully when previews aren't available.
819
+ */
820
+ preview?: {
821
+ /**
822
+ * Main preview image (PNG/JPG).
823
+ */
824
+ src?: string;
825
+ /**
826
+ * Smaller thumbnail preview suited to dense grid views.
827
+ */
828
+ thumbnailSrc?: string;
829
+ /**
830
+ * SVG / vector preview for crisp scaling at any size.
831
+ */
832
+ vectorSrc?: string;
833
+ [k: string]: unknown;
834
+ };
835
+ [k: string]: unknown;
836
+ }
837
+
838
+ /**
839
+ * Schema for language records: display metadata for the language pickers of authoring tools (name, ISO code, the default font schemes a picker suggests). The document's 'language' is an engine vocabulary, a BCP-47 tag validated directly; engines never look a language record up, and their script, direction, OOXML tag and default script fonts come from spec/reference/engine-vocabularies.json. pptx.gallery publishes these records and @openpresentation/opf/catalog ships them as catalogDisplay.languages.
840
+ */
841
+ interface Language {
842
+ /**
843
+ * Identifies this record as a language in the openpresentation.org catalog.
844
+ */
845
+ $schema: "https://openpresentation.org/schema/opf-language/v1";
846
+ /**
847
+ * The record's id in the gallery's language catalog, lowercase kebab-case. Documents name a language by its BCP-47 tag ('bcp47'), never by this id.
848
+ */
849
+ id: string;
850
+ /**
851
+ * Human-readable language name.
852
+ */
853
+ name: string;
854
+ /**
855
+ * ISO 639-3 (or 639-2) three-letter language code. Carried for engines that prefer ISO codes.
856
+ */
857
+ code?: string;
858
+ /**
859
+ * BCP-47 language tag for this record. Use 'en-GB' for UK English; 'en-UK' is not a valid BCP-47 region form.
860
+ */
861
+ bcp47: string;
862
+ /**
863
+ * Curated culture tag for OOXML text-run language attributes (a:rPr/@lang, a:endParaRPr/@lang), in the language-[Script-]REGION form Office recognizes (e.g. 'ja-JP', 'ar-SA', 'ms-MY', 'nb-NO', 'fil-PH', 'zh-CN'). Engines emit it instead of 'bcp47' for a tag without a region; a region-bearing tag written by the author is emitted as written. Display metadata here: engines take the curated tag from their language vocabulary. Curated rather than inferred so output does not depend on the runtime's locale data.
864
+ */
865
+ ooxmlLang?: string;
866
+ /**
867
+ * Base text direction for the language. When omitted, engines derive it from the script: Arabic (Arab), Hebrew (Hebr), Syriac (Syrc), Thaana (Thaa), N'Ko (Nkoo), Adlam (Adlm), Samaritan (Samr), Mandaic (Mand) and Hanifi Rohingya (Rohg) are right-to-left; every other script is left-to-right. The engine language vocabulary (spec/reference/engine-vocabularies.json) states it for the tags it knows.
868
+ */
869
+ direction?: ("ltr" | "rtl");
870
+ /**
871
+ * ISO 15924 script code of the language's writing system. The script selects the OOXML font slot the language's text uses: East Asian scripts (Hans, Hant, Hani, Jpan, Kore, Hang, Hira, Kana, Bopo, Yiii) use the eastAsian slot; complex scripts (for example Arab, Hebr, Syrc, Thaa, Deva, Beng, Guru, Gujr, Orya, Taml, Telu, Knda, Mlym, Sinh, Thai, Laoo, Tibt, Mymr, Khmr, Mong) use the complexScript slot; every other script (Latn, Cyrl, Grek, Armn, Geor, Ethi, ...) uses the latin slot. When omitted, engines infer it from the BCP-47 tag. The engine language vocabulary (spec/reference/engine-vocabularies.json) states it for the tags it knows. See docs/programs/font-fidelity-everywhere/script-font-model.md.
872
+ */
873
+ script?: string;
874
+ /**
875
+ * The font-scheme id a picker suggests for this language when targeting PowerPoint output. Display metadata: engines take a language's default script fonts from their own vocabulary.
876
+ */
877
+ fontScheme?: string;
878
+ /**
879
+ * The font-scheme id a picker suggests for this language when targeting Google Slides output. Display metadata.
880
+ */
881
+ googleFontScheme?: string;
882
+ /**
883
+ * One-sentence note about coverage or font defaults.
884
+ */
885
+ summary?: string;
886
+ /**
887
+ * Longer prose describing the language record and any font-pairing rationale.
888
+ */
889
+ description?: string;
890
+ /**
891
+ * Free-form labels for filtering and search.
892
+ */
893
+ tags?: string[];
894
+ /**
895
+ * Visual previews of the record, used by picker UIs and inline rendering. All sub-fields are optional; engines fall back gracefully when previews aren't available.
896
+ */
897
+ preview?: {
898
+ /**
899
+ * Main preview image (PNG/JPG). Used as the primary visual in picker UIs and previews of the record.
900
+ */
901
+ src?: string;
902
+ /**
903
+ * Smaller thumbnail preview suited to dense grid views.
904
+ */
905
+ thumbnailSrc?: string;
906
+ /**
907
+ * SVG / vector preview for crisp scaling at any size.
908
+ */
909
+ vectorSrc?: string;
910
+ [k: string]: unknown;
911
+ };
912
+ [k: string]: unknown;
913
+ }
914
+
915
+ /**
916
+ * Schema for color-scheme records. Each scheme is a named palette with the twelve PowerPoint color slots (six accents, two darks, two lights, plus hyperlink and followed-hyperlink), suitable for being mapped directly into OOXML theme XML. Documents reference a scheme from design.colorScheme (or design.colorScheme.id) and from a theme's colorScheme; slot overrides on design.colorScheme take precedence over the resolved scheme.
917
+ *
918
+ * The slot fields here mirror the inline-override fields on the in-document ColorScheme type (in opf.schema.json), so records and inline OPF overrides are interchangeable.
919
+ *
920
+ * A document references a record as a bare id or 'name:id' and resolves it in its own catalogs groups first, then in the catalog the host registered for the group's source; engines never fetch a catalog. A published record file carries '$schema' and 'id'; the copy a document embeds under catalogs.<group>.<kind>.<id> carries neither (the key is the id) and no 'x-*' display metadata.
921
+ */
922
+ interface ColorScheme {
923
+ /**
924
+ * Identifies a published record file as a colour scheme record. Required in a published file; an embedded copy omits it.
925
+ */
926
+ $schema: "https://openpresentation.org/schema/opf-color-scheme/v1";
927
+ /**
928
+ * The colour scheme's id in its catalog, lowercase kebab-case. Required in a published record file; a document references the record by it (a bare id, or 'name:id' for a named group) and embeds it keyed by it, without this field.
929
+ */
930
+ id: string;
931
+ /**
932
+ * Human-readable scheme name shown in pickers.
933
+ */
934
+ name: string;
935
+ /**
936
+ * One-sentence positioning of the palette — what mood it evokes and where to use it.
937
+ */
938
+ summary?: string;
939
+ /**
940
+ * Longer prose describing the palette and its intended use.
941
+ */
942
+ description?: string;
943
+ /**
944
+ * Accent 1 color (hex). Mirrors the OOXML accent1 slot.
945
+ */
946
+ accent1?: string;
947
+ /**
948
+ * Accent 2 color (hex). Mirrors the OOXML accent2 slot.
949
+ */
950
+ accent2?: string;
951
+ /**
952
+ * Accent 3 color (hex). Mirrors the OOXML accent3 slot.
953
+ */
954
+ accent3?: string;
955
+ /**
956
+ * Accent 4 color (hex). Mirrors the OOXML accent4 slot.
957
+ */
958
+ accent4?: string;
959
+ /**
960
+ * Accent 5 color (hex). Mirrors the OOXML accent5 slot.
961
+ */
962
+ accent5?: string;
963
+ /**
964
+ * Accent 6 color (hex). Mirrors the OOXML accent6 slot.
965
+ */
966
+ accent6?: string;
967
+ /**
968
+ * Dark 1 color (hex). Typically the deepest neutral; OOXML dark1.
969
+ */
970
+ dark1?: string;
971
+ /**
972
+ * Dark 2 color (hex). Secondary dark; OOXML dark2.
973
+ */
974
+ dark2?: string;
975
+ /**
976
+ * Light 1 color (hex). Typically the slide canvas; OOXML lt1.
977
+ */
978
+ light1?: string;
979
+ /**
980
+ * Light 2 color (hex). Secondary light surface; OOXML lt2.
981
+ */
982
+ light2?: string;
983
+ /**
984
+ * Hyperlink color (hex). OOXML hlink.
985
+ */
986
+ hyperlink?: string;
987
+ /**
988
+ * Followed-hyperlink color (hex). OOXML folHlink.
989
+ */
990
+ followedHyperlink?: string;
991
+ /**
992
+ * Free-form labels for filtering and search.
993
+ */
994
+ tags?: string[];
995
+ /**
996
+ * Visual previews of the record, used by picker UIs and inline rendering. All sub-fields are optional; engines fall back gracefully when previews aren't available.
997
+ */
998
+ preview?: {
999
+ /**
1000
+ * Main preview image (PNG/JPG). Used as the primary visual in picker UIs and previews of the record.
1001
+ */
1002
+ src?: string;
1003
+ /**
1004
+ * Smaller thumbnail preview suited to dense grid views.
1005
+ */
1006
+ thumbnailSrc?: string;
1007
+ /**
1008
+ * SVG / vector preview for crisp scaling at any size.
1009
+ */
1010
+ vectorSrc?: string;
1011
+ [k: string]: unknown;
1012
+ };
1013
+ [k: string]: unknown;
1014
+ }
1015
+
1016
+ /**
1017
+ * Schema for font-scheme records. Each scheme pairs a major (heading) and minor (body) font family in the OOXML majorFont/minorFont sense, scoped to a target app (powerpoint or google-slides) and a language family (Latin, East Asian, or Complex Script). Documents reference a scheme from design.fontScheme (or design.fontScheme.id), from a theme's fontScheme and from a language's fontScheme / googleFontScheme. Role overrides on design.fontScheme (heading, body, accent, code), each a font family name, take precedence over the resolved scheme.
1018
+ *
1019
+ * A document references a record as a bare id or 'name:id' and resolves it in its own catalogs groups first, then in the catalog the host registered for the group's source; engines never fetch a catalog. A published record file carries '$schema' and 'id'; the copy a document embeds under catalogs.<group>.<kind>.<id> carries neither (the key is the id) and no 'x-*' display metadata.
1020
+ */
1021
+ interface FontScheme {
1022
+ /**
1023
+ * Identifies a published record file as a font scheme record. Required in a published file; an embedded copy omits it.
1024
+ */
1025
+ $schema: "https://openpresentation.org/schema/opf-font-scheme/v1";
1026
+ /**
1027
+ * The font scheme's id in its catalog, lowercase kebab-case. Required in a published record file; a document references the record by it (a bare id, or 'name:id' for a named group) and embeds it keyed by it, without this field.
1028
+ */
1029
+ id: string;
1030
+ /**
1031
+ * Human-readable scheme name shown in pickers.
1032
+ */
1033
+ name: string;
1034
+ /**
1035
+ * Heading (major) font family — mirrors the OOXML majorFont entry.
1036
+ */
1037
+ major: string;
1038
+ /**
1039
+ * Body (minor) font family — mirrors the OOXML minorFont entry.
1040
+ */
1041
+ minor: string;
1042
+ /**
1043
+ * Optional monospaced font family name for code blocks and for inline code runs (TextRun.code). It has the same shape as the OPF FontScheme 'code' role, so a record and an inline design.fontScheme override are interchangeable. OOXML has no code slot, so exporters write this family on code runs. When neither design.fontScheme nor the resolved record defines 'code', engines fall back to Roboto Mono.
1044
+ */
1045
+ code?: string;
1046
+ /**
1047
+ * East Asian script fonts. Maps to the OOXML a:ea element of majorFont (major) and minorFont (minor), and to run-level a:ea. When set, they fill the eastAsian slot for every language; when omitted, the slot comes from this scheme's own major/minor when languageFamily is 'ea' and the scheme's languages list is empty or names the presentation language, then from the presentation language's font scheme for East Asian languages, and otherwise from the latin (major/minor) families. A missing 'major' or 'minor' falls back to the other.
1048
+ */
1049
+ eastAsian?: {
1050
+ /**
1051
+ * Heading (major) eastAsian font family — mirrors majorFont a:ea.
1052
+ */
1053
+ major?: string;
1054
+ /**
1055
+ * Body (minor) eastAsian font family — mirrors minorFont a:ea.
1056
+ */
1057
+ minor?: string;
1058
+ };
1059
+ /**
1060
+ * Complex-script fonts (for example Arabic, Hebrew, Indic and Thai). Maps to the OOXML a:cs element of majorFont (major) and minorFont (minor), and to run-level a:cs. When set, they fill the complexScript slot for every language; when omitted, the slot comes from this scheme's own major/minor when languageFamily is 'cs' and the scheme's languages list is empty or names the presentation language, then from the presentation language's font scheme for complex-script languages, and otherwise from the latin (major/minor) families. A missing 'major' or 'minor' falls back to the other.
1061
+ */
1062
+ complexScript?: {
1063
+ /**
1064
+ * Heading (major) complexScript font family — mirrors majorFont a:cs.
1065
+ */
1066
+ major?: string;
1067
+ /**
1068
+ * Body (minor) complexScript font family — mirrors minorFont a:cs.
1069
+ */
1070
+ minor?: string;
1071
+ };
1072
+ /**
1073
+ * High-level typographic class of the scheme.
1074
+ */
1075
+ type?: ("sans-serif" | "serif" | "monospace");
1076
+ /**
1077
+ * Target application this font pairing is intended for. Metadata for pickers and catalog filters: no engine changes its output by it.
1078
+ */
1079
+ app?: ("powerpoint" | "google-slides");
1080
+ /**
1081
+ * Font-language family this scheme is intended for: 'latin' for Latin-script content, 'ea' (or 'eastAsian', the same value) for East Asian scripts, 'cs' (or 'complexScript', the same value) for Complex Scripts. The long names match the 'eastAsian' and 'complexScript' slot keys; the short names match the OOXML a:ea and a:cs elements; core reads both spellings as one value. As the design font scheme, an 'ea'/'eastAsian' or 'cs'/'complexScript' scheme also fills that script slot with its own major/minor families when its languages list is empty or names the presentation language.
1082
+ */
1083
+ languageFamily?: ("latin" | "ea" | "cs" | "eastAsian" | "complexScript");
1084
+ /**
1085
+ * Optional list of BCP-47 language tags this scheme is curated for. Useful for picker UIs that group fonts by language coverage. As the design font scheme, an 'ea' or 'cs' scheme fills its script slot only when this list is empty or names the presentation language: an entry matches a tag with the same language subtag (and the same script, when the entry names one).
1086
+ */
1087
+ languages?: string[];
1088
+ /**
1089
+ * Short specimen string used by picker UIs to preview the scheme.
1090
+ */
1091
+ textSample?: string;
1092
+ /**
1093
+ * One-sentence positioning of the font pairing.
1094
+ */
1095
+ summary?: string;
1096
+ /**
1097
+ * Longer prose describing the font scheme and where it shines.
1098
+ */
1099
+ description?: string;
1100
+ /**
1101
+ * Free-form labels for filtering and search.
1102
+ */
1103
+ tags?: string[];
1104
+ /**
1105
+ * Visual previews of the record, used by picker UIs and inline rendering. All sub-fields are optional; engines fall back gracefully when previews aren't available.
1106
+ */
1107
+ preview?: {
1108
+ /**
1109
+ * Main preview image (PNG/JPG). Used as the primary visual in picker UIs and previews of the record.
1110
+ */
1111
+ src?: string;
1112
+ /**
1113
+ * Smaller thumbnail preview suited to dense grid views.
1114
+ */
1115
+ thumbnailSrc?: string;
1116
+ /**
1117
+ * SVG / vector preview for crisp scaling at any size.
1118
+ */
1119
+ vectorSrc?: string;
1120
+ [k: string]: unknown;
1121
+ };
1122
+ [k: string]: unknown;
1123
+ }
1124
+
1125
+ export type { Audience, ChartType, ColorScheme, FontScheme, Language, Layout, Narrative, Purpose, SocialPlatform, Theme, Tone };