@openpresentation/opf 0.14.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 (348) hide show
  1. package/README.md +24 -38
  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-XOZ4KMSR.js → catalog.js} +16514 -8800
  6. package/dist/{chart-data-B_3z9VTb.d.ts → chart-data-BnNqgnC-.d.ts} +1 -1
  7. package/dist/{chunk-LS2FMPI5.js → chunk-2CJPC4HI.js} +760 -851
  8. package/dist/{chunk-4VJDTF55.js → chunk-374R35TJ.js} +1 -1
  9. package/dist/{chunk-UPQQD7MA.js → chunk-3JG4YXWF.js} +7 -5
  10. package/dist/{chunk-4LDGKLUC.js → chunk-3RKB4RDJ.js} +1 -1
  11. package/dist/{chunk-BFLVSVA7.js → chunk-5FTUIDUH.js} +1 -1
  12. package/dist/{chunk-D3TY4TT6.js → chunk-HXHOZ7AH.js} +1407 -154
  13. package/dist/{chunk-6OXY2CP3.js → chunk-O744SXXA.js} +319 -162
  14. package/dist/{chunk-JDJBDYSR.js → chunk-QDI75P2M.js} +194 -846
  15. package/dist/chunk-SPFV27O5.js +210 -0
  16. package/dist/chunk-TRDXRRQK.js +17 -0
  17. package/dist/{chunk-Z65B2B77.js → chunk-TWQJLI6E.js} +2 -2
  18. package/dist/{chunk-Q2TCMN56.js → chunk-U4J75TRG.js} +1 -1
  19. package/dist/{chunk-XIZUK2XM.js → chunk-UBFJ2QHH.js} +5 -3
  20. package/dist/{chunk-CSQHPVGL.js → chunk-VGAOJEY7.js} +1 -1
  21. package/dist/{chunk-5ZU6JAPP.js → chunk-ZPU46TFA.js} +1 -1
  22. package/dist/{composition-_WEwBe2a.d.ts → composition-D2tghM82.d.ts} +233 -108
  23. package/dist/composition.d.ts +3 -2
  24. package/dist/composition.js +2 -2
  25. package/dist/convert.d.ts +14 -17
  26. package/dist/convert.js +36 -39
  27. package/dist/data.d.ts +1 -1
  28. package/dist/data.js +3 -3
  29. package/dist/diff.d.ts +1 -1
  30. package/dist/diff.js +7 -7
  31. package/dist/docs.js +29 -29
  32. package/dist/examples.d.ts +1 -1
  33. package/dist/examples.js +48431 -3697
  34. package/dist/{finding-C_por275.d.ts → finding-CT_f_vbD.d.ts} +2 -2
  35. package/dist/format.js +2 -2
  36. package/dist/index.d.ts +225 -76
  37. package/dist/index.js +341 -258
  38. package/dist/json-BFSdESOE.d.ts +19 -0
  39. package/dist/markdown.d.ts +19 -7
  40. package/dist/markdown.js +9 -9
  41. package/dist/{pagination-BZpXLvFL.d.ts → pagination-wedbe7eq.d.ts} +31 -31
  42. package/dist/pagination.d.ts +4 -5
  43. package/dist/pagination.js +6 -6
  44. package/dist/patch.d.ts +1 -1
  45. package/dist/patch.js +6 -6
  46. package/dist/{presentation-C5eHkevA.d.ts → presentation-CDKQVkyI.d.ts} +382 -550
  47. package/dist/repo-readme.js +1 -1
  48. package/dist/schemas.d.ts +284 -1
  49. package/dist/schemas.js +1 -1
  50. package/dist/spec/README.md +1 -1
  51. package/dist/spec/catalogs/font-schemes/angsana-new.json +1 -1
  52. package/dist/spec/catalogs/font-schemes/aparajita.json +2 -2
  53. package/dist/spec/catalogs/font-schemes/arabic-typesetting.json +1 -1
  54. package/dist/spec/catalogs/font-schemes/batang.json +1 -1
  55. package/dist/spec/catalogs/font-schemes/daunpenh.json +1 -1
  56. package/dist/spec/catalogs/font-schemes/david.json +1 -1
  57. package/dist/spec/catalogs/font-schemes/dilleniaupc.json +1 -1
  58. package/dist/spec/catalogs/font-schemes/fangsong.json +1 -1
  59. package/dist/spec/catalogs/font-schemes/gautami.json +1 -1
  60. package/dist/spec/catalogs/font-schemes/gisha.json +2 -2
  61. package/dist/spec/catalogs/font-schemes/gungsuh.json +1 -1
  62. package/dist/spec/catalogs/font-schemes/index.json +1 -1
  63. package/dist/spec/catalogs/font-schemes/kalinga.json +1 -1
  64. package/dist/spec/catalogs/font-schemes/kartika.json +1 -1
  65. package/dist/spec/catalogs/font-schemes/khmer-ui.json +1 -1
  66. package/dist/spec/catalogs/font-schemes/latha.json +1 -1
  67. package/dist/spec/catalogs/font-schemes/malgun-gothic.json +1 -1
  68. package/dist/spec/catalogs/font-schemes/mangal.json +3 -3
  69. package/dist/spec/catalogs/font-schemes/meiryo.json +1 -1
  70. package/dist/spec/catalogs/font-schemes/microsoft-jhenghei.json +1 -1
  71. package/dist/spec/catalogs/font-schemes/microsoft-yahei.json +4 -4
  72. package/dist/spec/catalogs/font-schemes/mingliu.json +1 -1
  73. package/dist/spec/catalogs/font-schemes/miriam.json +1 -1
  74. package/dist/spec/catalogs/font-schemes/ms-mincho.json +1 -1
  75. package/dist/spec/catalogs/font-schemes/nirmala-ui.json +1 -1
  76. package/dist/spec/catalogs/font-schemes/noto-naksh-arabic.json +1 -1
  77. package/dist/spec/catalogs/font-schemes/noto-nastaliq-urdu.json +2 -2
  78. package/dist/spec/catalogs/font-schemes/noto-sans-arabic.json +3 -3
  79. package/dist/spec/catalogs/font-schemes/noto-sans-armenian.json +1 -1
  80. package/dist/spec/catalogs/font-schemes/noto-sans-bengali.json +2 -2
  81. package/dist/spec/catalogs/font-schemes/noto-sans-devangari.json +2 -2
  82. package/dist/spec/catalogs/font-schemes/noto-sans-ethiopic.json +1 -1
  83. package/dist/spec/catalogs/font-schemes/noto-sans-georgian.json +1 -1
  84. package/dist/spec/catalogs/font-schemes/noto-sans-gujarati.json +1 -1
  85. package/dist/spec/catalogs/font-schemes/noto-sans-gurmukhi.json +1 -1
  86. package/dist/spec/catalogs/font-schemes/noto-sans-hebrew.json +1 -1
  87. package/dist/spec/catalogs/font-schemes/noto-sans-jp.json +1 -1
  88. package/dist/spec/catalogs/font-schemes/noto-sans-kannada.json +1 -1
  89. package/dist/spec/catalogs/font-schemes/noto-sans-khmer.json +1 -1
  90. package/dist/spec/catalogs/font-schemes/noto-sans-kr.json +1 -1
  91. package/dist/spec/catalogs/font-schemes/noto-sans-malayalam.json +1 -1
  92. package/dist/spec/catalogs/font-schemes/noto-sans-mongolian.json +1 -1
  93. package/dist/spec/catalogs/font-schemes/noto-sans-oriya.json +1 -1
  94. package/dist/spec/catalogs/font-schemes/noto-sans-sc.json +4 -4
  95. package/dist/spec/catalogs/font-schemes/noto-sans-tamil.json +1 -1
  96. package/dist/spec/catalogs/font-schemes/noto-sans-tc.json +1 -1
  97. package/dist/spec/catalogs/font-schemes/noto-sans-telugu.json +1 -1
  98. package/dist/spec/catalogs/font-schemes/noto-sans-thai.json +1 -1
  99. package/dist/spec/catalogs/font-schemes/noto-sans.json +4 -4
  100. package/dist/spec/catalogs/font-schemes/nyala.json +1 -1
  101. package/dist/spec/catalogs/font-schemes/pmingliu.json +1 -1
  102. package/dist/spec/catalogs/font-schemes/raavi.json +1 -1
  103. package/dist/spec/catalogs/font-schemes/sakkal-majalla.json +3 -3
  104. package/dist/spec/catalogs/font-schemes/shonar-bangla.json +2 -2
  105. package/dist/spec/catalogs/font-schemes/shruti.json +1 -1
  106. package/dist/spec/catalogs/font-schemes/simsun.json +1 -1
  107. package/dist/spec/catalogs/font-schemes/sylfaen.json +2 -2
  108. package/dist/spec/catalogs/font-schemes/traditional-arabic.json +3 -3
  109. package/dist/spec/catalogs/font-schemes/tunga.json +1 -1
  110. package/dist/spec/catalogs/font-schemes/vrinda.json +1 -1
  111. package/dist/spec/catalogs/font-schemes/yu-gothic.json +1 -1
  112. package/dist/spec/catalogs/layouts/capability-map.json +1 -4
  113. package/dist/spec/catalogs/layouts/chart-1x-title-center.json +30 -0
  114. package/dist/spec/catalogs/layouts/chart-2x-title-center.json +36 -0
  115. package/dist/spec/catalogs/layouts/chart-2x-vertical-title-left.json +37 -0
  116. package/dist/spec/catalogs/layouts/chart-3x-bottom-vertical-title-left.json +46 -0
  117. package/dist/spec/catalogs/layouts/chart-3x-left-title-center.json +45 -0
  118. package/dist/spec/catalogs/layouts/chart-3x-left.json +40 -0
  119. package/dist/spec/catalogs/layouts/chart-3x-right-title-center.json +45 -0
  120. package/dist/spec/catalogs/layouts/chart-3x-right.json +40 -0
  121. package/dist/spec/catalogs/layouts/chart-3x-title-center.json +39 -0
  122. package/dist/spec/catalogs/layouts/chart-3x-top-vertical-title-left.json +46 -0
  123. package/dist/spec/catalogs/layouts/competitive-landscape.json +1 -4
  124. package/dist/spec/catalogs/layouts/customer-journey.json +1 -4
  125. package/dist/spec/catalogs/layouts/decision-tree.json +1 -4
  126. package/dist/spec/catalogs/layouts/ecosystem-map.json +1 -4
  127. package/dist/spec/catalogs/layouts/extract/canonical.json +0 -9
  128. package/dist/spec/catalogs/layouts/geographic-map.json +1 -4
  129. package/dist/spec/catalogs/layouts/icon-grid.json +1 -4
  130. package/dist/spec/catalogs/layouts/image-1x-crop-title-center.json +32 -0
  131. package/dist/spec/catalogs/layouts/image-1x-crop-title-left.json +32 -0
  132. package/dist/spec/catalogs/layouts/image-1x-crop.json +27 -0
  133. package/dist/spec/catalogs/layouts/image-1x-fit-title-center.json +32 -0
  134. package/dist/spec/catalogs/layouts/image-1x.json +3 -0
  135. package/dist/spec/catalogs/layouts/image-2x-crop-title-center.json +38 -0
  136. package/dist/spec/catalogs/layouts/image-2x-crop-vertical-title-left.json +39 -0
  137. package/dist/spec/catalogs/layouts/image-2x-crop-vertical.json +34 -0
  138. package/dist/spec/catalogs/layouts/image-2x-crop.json +33 -0
  139. package/dist/spec/catalogs/layouts/image-2x-fit-title-center.json +38 -0
  140. package/dist/spec/catalogs/layouts/image-2x-fit-vertical-title-left.json +39 -0
  141. package/dist/spec/catalogs/layouts/image-2x-fit-vertical.json +34 -0
  142. package/dist/spec/catalogs/layouts/image-2x.json +3 -0
  143. package/dist/spec/catalogs/layouts/image-3x-crop-title-center.json +41 -0
  144. package/dist/spec/catalogs/layouts/image-3x-crop-vertical-title-left.json +42 -0
  145. package/dist/spec/catalogs/layouts/image-3x-crop-vertical.json +37 -0
  146. package/dist/spec/catalogs/layouts/image-3x-crop.json +36 -0
  147. package/dist/spec/catalogs/layouts/image-3x-fit-title-center.json +41 -0
  148. package/dist/spec/catalogs/layouts/image-3x-fit-vertical-title-left.json +42 -0
  149. package/dist/spec/catalogs/layouts/image-3x-fit-vertical.json +37 -0
  150. package/dist/spec/catalogs/layouts/image-3x-fit.json +36 -0
  151. package/dist/spec/catalogs/layouts/image-3x.json +3 -0
  152. package/dist/spec/catalogs/layouts/image-focus.json +3 -6
  153. package/dist/spec/catalogs/layouts/image-only-1x-crop-title-center.json +31 -0
  154. package/dist/spec/catalogs/layouts/image-only-1x-fit-title-center.json +31 -0
  155. package/dist/spec/catalogs/layouts/image-only-2x-crop-title-center.json +37 -0
  156. package/dist/spec/catalogs/layouts/image-only-2x-crop-vertical-title-left.json +38 -0
  157. package/dist/spec/catalogs/layouts/image-only-2x-crop-vertical.json +33 -0
  158. package/dist/spec/catalogs/layouts/image-only-2x-fit-title-center.json +37 -0
  159. package/dist/spec/catalogs/layouts/image-only-2x-fit-vertical-title-left.json +38 -0
  160. package/dist/spec/catalogs/layouts/image-only-2x-fit-vertical.json +33 -0
  161. package/dist/spec/catalogs/layouts/image-only-3x-crop-title-center.json +40 -0
  162. package/dist/spec/catalogs/layouts/image-only-3x-crop-vertical-title-left.json +41 -0
  163. package/dist/spec/catalogs/layouts/image-only-3x-crop-vertical.json +36 -0
  164. package/dist/spec/catalogs/layouts/image-only-3x-crop.json +35 -0
  165. package/dist/spec/catalogs/layouts/image-only-3x-fit-title-center.json +40 -0
  166. package/dist/spec/catalogs/layouts/image-only-3x-fit-vertical-title-left.json +41 -0
  167. package/dist/spec/catalogs/layouts/image-only-3x-fit-vertical.json +36 -0
  168. package/dist/spec/catalogs/layouts/image-only-3x-fit.json +35 -0
  169. package/dist/spec/catalogs/layouts/index.json +1041 -151
  170. package/dist/spec/catalogs/layouts/list-1x-box-title-center.json +32 -0
  171. package/dist/spec/catalogs/layouts/list-1x-box-vertical-title-center.json +33 -0
  172. package/dist/spec/catalogs/layouts/list-1x-box-vertical-title-left.json +33 -0
  173. package/dist/spec/catalogs/layouts/list-1x-box-vertical.json +28 -0
  174. package/dist/spec/catalogs/layouts/list-1x-box.json +27 -0
  175. package/dist/spec/catalogs/layouts/list-1x-itemimage-title-center.json +32 -0
  176. package/dist/spec/catalogs/layouts/list-1x-itemimage-vertical-title-center.json +33 -0
  177. package/dist/spec/catalogs/layouts/list-1x-title-center.json +31 -0
  178. package/dist/spec/catalogs/layouts/list-1x-vertical-title-center.json +32 -0
  179. package/dist/spec/catalogs/layouts/list-2x-box-title-center.json +38 -0
  180. package/dist/spec/catalogs/layouts/list-2x-box-vertical-title-center.json +39 -0
  181. package/dist/spec/catalogs/layouts/list-2x-box-vertical-title-left.json +39 -0
  182. package/dist/spec/catalogs/layouts/list-2x-box-vertical.json +34 -0
  183. package/dist/spec/catalogs/layouts/list-2x-box.json +33 -0
  184. package/dist/spec/catalogs/layouts/list-2x-itemimage-title-center.json +38 -0
  185. package/dist/spec/catalogs/layouts/list-2x-itemimage-vertical-title-center.json +39 -0
  186. package/dist/spec/catalogs/layouts/list-2x-itemimage-vertical-title-left.json +39 -0
  187. package/dist/spec/catalogs/layouts/list-2x-itemimage-vertical.json +34 -0
  188. package/dist/spec/catalogs/layouts/list-2x-title-center.json +37 -0
  189. package/dist/spec/catalogs/layouts/list-2x-vertical-title-center.json +38 -0
  190. package/dist/spec/catalogs/layouts/list-2x-vertical-title-left.json +38 -0
  191. package/dist/spec/catalogs/layouts/list-2x-vertical.json +33 -0
  192. package/dist/spec/catalogs/layouts/list-3x-box-title-center.json +41 -0
  193. package/dist/spec/catalogs/layouts/list-3x-box-vertical-title-center.json +42 -0
  194. package/dist/spec/catalogs/layouts/list-3x-box-vertical-title-left.json +42 -0
  195. package/dist/spec/catalogs/layouts/list-3x-box-vertical.json +37 -0
  196. package/dist/spec/catalogs/layouts/list-3x-box.json +36 -0
  197. package/dist/spec/catalogs/layouts/list-3x-itemimage-title-center.json +41 -0
  198. package/dist/spec/catalogs/layouts/list-3x-itemimage-vertical-title-center.json +42 -0
  199. package/dist/spec/catalogs/layouts/list-3x-itemimage-vertical-title-left.json +42 -0
  200. package/dist/spec/catalogs/layouts/list-3x-itemimage-vertical.json +37 -0
  201. package/dist/spec/catalogs/layouts/list-3x-itemimage.json +36 -0
  202. package/dist/spec/catalogs/layouts/list-3x-title-center.json +40 -0
  203. package/dist/spec/catalogs/layouts/list-3x-vertical-title-center.json +41 -0
  204. package/dist/spec/catalogs/layouts/list-3x-vertical-title-left.json +41 -0
  205. package/dist/spec/catalogs/layouts/list-3x-vertical.json +36 -0
  206. package/dist/spec/catalogs/layouts/list-4x-box-title-center.json +45 -0
  207. package/dist/spec/catalogs/layouts/list-4x-box-vertical-title-center.json +45 -0
  208. package/dist/spec/catalogs/layouts/list-4x-box-vertical-title-left.json +45 -0
  209. package/dist/spec/catalogs/layouts/list-4x-box-vertical.json +40 -0
  210. package/dist/spec/catalogs/layouts/list-4x-box.json +40 -0
  211. package/dist/spec/catalogs/layouts/list-4x-itemimage-title-center.json +45 -0
  212. package/dist/spec/catalogs/layouts/list-4x-itemimage-vertical-title-center.json +45 -0
  213. package/dist/spec/catalogs/layouts/list-4x-itemimage-vertical-title-left.json +45 -0
  214. package/dist/spec/catalogs/layouts/list-4x-itemimage-vertical.json +40 -0
  215. package/dist/spec/catalogs/layouts/list-4x-title-center.json +44 -0
  216. package/dist/spec/catalogs/layouts/list-4x-vertical-title-center.json +44 -0
  217. package/dist/spec/catalogs/layouts/list-4x-vertical-title-left.json +44 -0
  218. package/dist/spec/catalogs/layouts/list-4x-vertical.json +39 -0
  219. package/dist/spec/catalogs/layouts/list-5x-box-title-center.json +48 -0
  220. package/dist/spec/catalogs/layouts/list-5x-box-vertical-title-center.json +50 -0
  221. package/dist/spec/catalogs/layouts/list-5x-box-vertical-title-left.json +50 -0
  222. package/dist/spec/catalogs/layouts/list-5x-box-vertical.json +45 -0
  223. package/dist/spec/catalogs/layouts/list-5x-box.json +43 -0
  224. package/dist/spec/catalogs/layouts/list-5x-itemimage-title-center.json +48 -0
  225. package/dist/spec/catalogs/layouts/list-5x-itemimage-vertical-title-center.json +48 -0
  226. package/dist/spec/catalogs/layouts/list-5x-itemimage-vertical-title-left.json +48 -0
  227. package/dist/spec/catalogs/layouts/list-5x-itemimage-vertical.json +43 -0
  228. package/dist/spec/catalogs/layouts/list-5x-title-center.json +47 -0
  229. package/dist/spec/catalogs/layouts/list-5x-vertical-title-center.json +47 -0
  230. package/dist/spec/catalogs/layouts/list-5x-vertical-title-left.json +47 -0
  231. package/dist/spec/catalogs/layouts/list-5x-vertical.json +42 -0
  232. package/dist/spec/catalogs/layouts/list-6x-box-title-center.json +51 -0
  233. package/dist/spec/catalogs/layouts/list-6x-box-vertical-title-center.json +53 -0
  234. package/dist/spec/catalogs/layouts/list-6x-box-vertical-title-left.json +53 -0
  235. package/dist/spec/catalogs/layouts/list-6x-box-vertical.json +48 -0
  236. package/dist/spec/catalogs/layouts/list-6x-box.json +46 -0
  237. package/dist/spec/catalogs/layouts/list-6x-itemimage-title-center.json +51 -0
  238. package/dist/spec/catalogs/layouts/list-6x-itemimage-vertical-title-center.json +51 -0
  239. package/dist/spec/catalogs/layouts/list-6x-itemimage-vertical-title-left.json +51 -0
  240. package/dist/spec/catalogs/layouts/list-6x-itemimage-vertical.json +46 -0
  241. package/dist/spec/catalogs/layouts/list-6x-title-center.json +50 -0
  242. package/dist/spec/catalogs/layouts/list-6x-vertical-title-center.json +50 -0
  243. package/dist/spec/catalogs/layouts/list-6x-vertical-title-left.json +50 -0
  244. package/dist/spec/catalogs/layouts/list-6x-vertical.json +45 -0
  245. package/dist/spec/catalogs/layouts/network-dependency-map.json +1 -4
  246. package/dist/spec/catalogs/layouts/number-1x-box-title-center.json +30 -0
  247. package/dist/spec/catalogs/layouts/number-1x-box.json +25 -0
  248. package/dist/spec/catalogs/layouts/number-1x-title-center.json +29 -0
  249. package/dist/spec/catalogs/layouts/number-2x-box-title-center.json +36 -0
  250. package/dist/spec/catalogs/layouts/number-2x-box.json +31 -0
  251. package/dist/spec/catalogs/layouts/number-2x-title-center.json +35 -0
  252. package/dist/spec/catalogs/layouts/number-3x-box-title-center.json +39 -0
  253. package/dist/spec/catalogs/layouts/number-3x-box.json +34 -0
  254. package/dist/spec/catalogs/layouts/number-3x-title-center.json +38 -0
  255. package/dist/spec/catalogs/layouts/number-4x-box-title-center.json +43 -0
  256. package/dist/spec/catalogs/layouts/number-4x-box.json +38 -0
  257. package/dist/spec/catalogs/layouts/number-4x-title-center.json +42 -0
  258. package/dist/spec/catalogs/layouts/number-5x-box-title-center.json +46 -0
  259. package/dist/spec/catalogs/layouts/number-5x-box.json +41 -0
  260. package/dist/spec/catalogs/layouts/number-5x-title-center.json +45 -0
  261. package/dist/spec/catalogs/layouts/number-6x-box-title-center.json +49 -0
  262. package/dist/spec/catalogs/layouts/number-6x-box.json +44 -0
  263. package/dist/spec/catalogs/layouts/number-6x-title-center.json +48 -0
  264. package/dist/spec/catalogs/layouts/persona-grid.json +1 -4
  265. package/dist/spec/catalogs/layouts/photo-grid.json +1 -4
  266. package/dist/spec/catalogs/layouts/product-feature.json +1 -4
  267. package/dist/spec/catalogs/layouts/screenshot-walkthrough.json +1 -4
  268. package/dist/spec/catalogs/layouts/swimlane-process.json +1 -4
  269. package/dist/spec/catalogs/layouts/team-bio.json +1 -4
  270. package/dist/spec/catalogs/layouts/text-1x-box-title-center.json +31 -0
  271. package/dist/spec/catalogs/layouts/text-1x-box-title-left.json +31 -0
  272. package/dist/spec/catalogs/layouts/text-1x-center-box-title-center.json +31 -0
  273. package/dist/spec/catalogs/layouts/text-1x-center-box-title-left.json +31 -0
  274. package/dist/spec/catalogs/layouts/text-1x-center-box.json +26 -0
  275. package/dist/spec/catalogs/layouts/text-1x-center-title-center.json +30 -0
  276. package/dist/spec/catalogs/layouts/text-1x-center-title-left.json +30 -0
  277. package/dist/spec/catalogs/layouts/text-1x-center.json +25 -0
  278. package/dist/spec/catalogs/layouts/text-1x-left-box.json +26 -0
  279. package/dist/spec/catalogs/layouts/text-1x-title-center.json +30 -0
  280. package/dist/spec/catalogs/layouts/text-2x-box-title-center.json +37 -0
  281. package/dist/spec/catalogs/layouts/text-2x-box-vertical-title-left.json +37 -0
  282. package/dist/spec/catalogs/layouts/text-2x-center-box-title-center.json +37 -0
  283. package/dist/spec/catalogs/layouts/text-2x-center-box-vertical-title-left.json +37 -0
  284. package/dist/spec/catalogs/layouts/text-2x-center-box.json +32 -0
  285. package/dist/spec/catalogs/layouts/text-2x-center-title-center.json +36 -0
  286. package/dist/spec/catalogs/layouts/text-2x-center-vertical-title-left.json +36 -0
  287. package/dist/spec/catalogs/layouts/text-2x-center.json +31 -0
  288. package/dist/spec/catalogs/layouts/text-2x-left-box.json +32 -0
  289. package/dist/spec/catalogs/layouts/text-2x-title-center.json +36 -0
  290. package/dist/spec/catalogs/layouts/text-2x-vertical-title-left.json +36 -0
  291. package/dist/spec/catalogs/layouts/text-3x-box-title-center.json +40 -0
  292. package/dist/spec/catalogs/layouts/text-3x-box-vertical-title-left.json +41 -0
  293. package/dist/spec/catalogs/layouts/text-3x-center-box-title-center.json +40 -0
  294. package/dist/spec/catalogs/layouts/text-3x-center-box-vertical-title-left.json +41 -0
  295. package/dist/spec/catalogs/layouts/text-3x-center-box.json +35 -0
  296. package/dist/spec/catalogs/layouts/text-3x-center-title-center.json +39 -0
  297. package/dist/spec/catalogs/layouts/text-3x-center-vertical-title-left.json +40 -0
  298. package/dist/spec/catalogs/layouts/text-3x-center.json +34 -0
  299. package/dist/spec/catalogs/layouts/text-3x-left-box.json +35 -0
  300. package/dist/spec/catalogs/layouts/text-3x-left.json +34 -0
  301. package/dist/spec/catalogs/layouts/text-3x-title-center.json +39 -0
  302. package/dist/spec/catalogs/layouts/text-3x-vertical-title-left.json +40 -0
  303. package/dist/spec/catalogs/layouts/title-center-box.json +27 -0
  304. package/dist/spec/catalogs/layouts/title-center-image-bottom.json +34 -0
  305. package/dist/spec/catalogs/layouts/title-center-image-top.json +34 -0
  306. package/dist/spec/catalogs/layouts/title-center.json +26 -0
  307. package/dist/spec/catalogs/layouts/title-left-image-bottom.json +34 -0
  308. package/dist/spec/catalogs/layouts/title-left-image-left.json +34 -0
  309. package/dist/spec/catalogs/layouts/title-left-image-right.json +34 -0
  310. package/dist/spec/catalogs/layouts/title-left-image-top.json +34 -0
  311. package/dist/spec/catalogs/manifest.json +18 -18
  312. package/dist/spec/catalogs/narratives/heros-journey.json +1 -1
  313. package/dist/spec/catalogs/narratives/index.json +1 -1
  314. package/dist/spec/openapi.yaml +3 -3
  315. package/dist/spec/reference/engine-defaults.json +22 -30
  316. package/dist/spec/reference/engine-vocabularies.json +1577 -0
  317. package/dist/spec/schemas/audience.schema.json +5 -26
  318. package/dist/spec/schemas/catalog-manifest.schema.json +3 -3
  319. package/dist/spec/schemas/chart-type.schema.json +2 -35
  320. package/dist/spec/schemas/color-scheme.schema.json +3 -24
  321. package/dist/spec/schemas/finding.schema.json +1 -1
  322. package/dist/spec/schemas/font-scheme.schema.json +6 -37
  323. package/dist/spec/schemas/language.schema.json +7 -28
  324. package/dist/spec/schemas/layout.schema.json +56 -51
  325. package/dist/spec/schemas/narrative.schema.json +4 -24
  326. package/dist/spec/schemas/opf.schema.json +399 -368
  327. package/dist/spec/schemas/purpose.schema.json +5 -26
  328. package/dist/spec/schemas/social-platform.schema.json +2 -23
  329. package/dist/spec/schemas/theme.schema.json +9 -37
  330. package/dist/spec/schemas/tone.schema.json +4 -25
  331. package/dist/spec-files.d.ts +1 -1
  332. package/dist/spec-files.js +1 -1
  333. package/dist/types.d.ts +1125 -4
  334. package/dist/{validation-types-zh03LeZy.d.ts → validation-types-BOcY9GTs.d.ts} +7 -7
  335. package/dist/validator.d.ts +15 -12
  336. package/dist/validator.js +5 -5
  337. package/dist/yaml.d.ts +22 -7
  338. package/dist/yaml.js +10 -9
  339. package/package.json +5 -9
  340. package/dist/catalogs-D-yyQWCQ.d.ts +0 -1343
  341. package/dist/catalogs.d.ts +0 -2
  342. package/dist/catalogs.js +0 -2
  343. package/dist/chunk-PIQXLBBJ.js +0 -445
  344. package/dist/chunk-S5W34SIJ.js +0 -1
  345. package/dist/previews.d.ts +0 -40
  346. package/dist/previews.js +0 -1
  347. package/dist/schemas-DDpqAgyS.d.ts +0 -284
  348. package/dist/spec/catalogs/layouts/image-bleed.json +0 -20
@@ -133,7 +133,7 @@ interface FindingSuggestion {
133
133
  value: (string | number | boolean | null);
134
134
  label: string;
135
135
  /**
136
- * Where the suggestion comes from: `schema`, `built-in`, `loaded`, `document` or `contract`.
136
+ * Where the suggestion comes from: `schema`, `document` (a record the document embeds), `registered` (a catalog the host registered) or `contract`.
137
137
  */
138
138
  origin: string;
139
139
  /**
@@ -209,4 +209,4 @@ interface ValidationIssue {
209
209
  };
210
210
  }
211
211
 
212
- export type { Finding as F, JsonPatchOperation as J, ValidationIssue as V, FindingCategory as a, FindingFix as b, FindingFocus as c, FindingLocation as d, FindingReport as e, FindingSeverity as f, FindingSuggestion as g };
212
+ export type { FindingReport as F, JsonPatchOperation as J, ValidationIssue as V, Finding as a, FindingLocation as b, FindingSeverity as c, FindingCategory as d, FindingFix as e, FindingFocus as f, FindingSuggestion as g };
package/dist/format.js CHANGED
@@ -1,2 +1,2 @@
1
- export { OPFFormatError, format, isFormatted, sortPresentationKeys } from './chunk-5ZU6JAPP.js';
2
- import './chunk-LS2FMPI5.js';
1
+ export { OPFFormatError, format, isFormatted, sortPresentationKeys } from './chunk-ZPU46TFA.js';
2
+ import './chunk-2CJPC4HI.js';
package/dist/index.d.ts CHANGED
@@ -1,23 +1,229 @@
1
- export { a as SchemaEntry, S as SchemaName, b as audience, c as chartType, d as colorScheme, f as fontScheme, l as language, e as layout, n as narrative, p as presentation, g as purpose, s as schemaEntries, h as schemaNames, i as schemas, j as socialPlatform, t as theme, k as tone } from './schemas-DDpqAgyS.js';
2
- import { C as CatalogKind } from './catalogs-D-yyQWCQ.js';
3
- export { A as Audience, e as CatalogEntry, f as CatalogIndex, g as CatalogIndexRecord, h as CatalogRecord, a as ChartType, b as ColorScheme, F as FontScheme, L as Language, c as Layout, N as Narrative, P as Purpose, S as SocialPlatform, T as Theme, d as Tone, i as audiences, j as catalogEntries, k as catalogIndexes, l as catalogKinds, m as catalogSchemaNames, n as catalogs, o as chartTypes, p as colorSchemes, q as fontSchemes, r as languages, s as layouts, t as narratives, u as purposes, v as socialPlatforms, w as themes, x as tones } from './catalogs-D-yyQWCQ.js';
1
+ export { SchemaEntry, SchemaName, audience, chartType, colorScheme, fontScheme, language, layout, narrative, presentation, purpose, schemaEntries, schemaNames, schemas, socialPlatform, theme, tone } from './schemas.js';
4
2
  export { DEFAULT_CHART_PALETTE, DEFAULT_VALIDATION_THRESHOLDS, OPFValidationError, assertValid, assertValidCatalogRecord, findValidationRule, validate, validateCatalogRecord, validationRules } from './validator.js';
5
- export { B as BuiltinVariableInfo, C as Contract, D as DEFAULT_VARIABLE_DATE_FORMAT, O as OPFVariableError, R as ResolveVariablesOptions, b as ResolveVariablesResult, c as VARIABLE_KINDS, d as ValidateFonts, V as ValidateOptions, e as ValidationCategory, f as ValidationChecks, a as ValidationReport, g as ValidationRuleCost, h as ValidationRuleInfo, i as ValidationThresholds, j as VariableDeclaration, k as VariableDiagnostic, l as VariableDiagnosticCode, m as VariableDiagnosticSeverity, n as VariableInfo, o as VariableKind, p as VariableUse, q as VariableUseForm, r as VariableValues, s as coerceVariableValue, t as formatVariableNumber, u as hasContentVariables, v as isTemplate, w as listBuiltinVariables, x as listVariables, y as resolveVariables, z as validationCategories, A as variableDeclarations } from './validation-types-zh03LeZy.js';
3
+ export { B as BuiltinVariableInfo, C as Contract, D as DEFAULT_VARIABLE_DATE_FORMAT, O as OPFVariableError, R as ResolveVariablesOptions, b as ResolveVariablesResult, c as VARIABLE_KINDS, d as ValidateFonts, V as ValidateOptions, e as ValidationCategory, f as ValidationChecks, a as ValidationReport, g as ValidationRuleCost, h as ValidationRuleInfo, i as ValidationThresholds, j as VariableDeclaration, k as VariableDiagnostic, l as VariableDiagnosticCode, m as VariableDiagnosticSeverity, n as VariableInfo, o as VariableKind, p as VariableUse, q as VariableUseForm, r as VariableValues, s as coerceVariableValue, t as formatVariableNumber, u as hasContentVariables, v as isTemplate, w as listBuiltinVariables, x as listVariables, y as resolveVariables, z as validationCategories, A as variableDeclarations } from './validation-types-BOcY9GTs.js';
6
4
  export { SpecFileEntry, SpecFileKind, SpecFilePath, specFileEntries, specFileKinds, specFilePaths } from './spec-files.js';
7
- export { LayoutPreviewIndex, LayoutPreviewRecord, getLayoutPreview, hasLayoutPreview, layoutPreviewIndex, layoutPreviewSlugs, layoutPreviews } from './previews.js';
8
- export { P as Presentation } from './presentation-C5eHkevA.js';
9
- export { F as Finding, a as FindingCategory, b as FindingFix, c as FindingFocus, d as FindingLocation, e as FindingReport, f as FindingSeverity, g as FindingSuggestion, J as JsonPatchOperation, V as ValidationIssue } from './finding-C_por275.js';
10
- export { C as ComposeSlideOptions, F as FontFamilies, a as FontSchemeDiagnostic, b as Fonts, L as LanguageFamilyName, c as LayoutDiagnostic, M as MeasureTextWidth, T as TextMeasurement, d as TextStyle, n as normalizeLanguageFamily } from './composition-_WEwBe2a.js';
11
- export { O as OPFPaginationError, P as PaginatedPage, a as PaginationMapping, b as PaginationOptions, c as PaginationResult, d as PresentationPaginationOptions, e as PresentationPaginationResult, S as SlideContext, f as SlideContextDiagnostic, g as SlideContextOptions, h as SlideContextReferenceDiagnostic, p as paginate, i as paginateSlide, r as resolveSlideContext } from './pagination-BZpXLvFL.js';
5
+ import { P as Presentation } from './presentation-CDKQVkyI.js';
6
+ export { Audience, ChartType, ColorScheme, FontScheme, Language, Layout, Narrative, Purpose, SocialPlatform, Theme, Tone } from './types.js';
7
+ import { C as CatalogKind, U as UnresolvedReferenceDiagnostic, b as CatalogOptions, a as Catalog, R as RecordProvenance } from './catalog-refs-BSfGELpt.js';
8
+ export { c as CATALOG_GROUP_PATTERN, d as CATALOG_REFERENCE_PATTERN, e as CatalogRecordMap, f as CatalogRecords, g as CatalogReferenceSite, O as OPFCatalogsOptionError, h as OPFUnresolvedReferenceError, i as ResolvedReference, j as catalogGroupSource, k as catalogKinds, l as catalogRecords, m as catalogReferenceSites, p as parseReference, r as resolveReference, u as unresolvedReference } from './catalog-refs-BSfGELpt.js';
9
+ export { a as Finding, d as FindingCategory, e as FindingFix, f as FindingFocus, b as FindingLocation, F as FindingReport, c as FindingSeverity, g as FindingSuggestion, J as JsonPatchOperation, V as ValidationIssue } from './finding-CT_f_vbD.js';
10
+ export { a as CHART_TYPES, C as ComposeSlideOptions, E as ENGINE_DEFAULT_CHART_TYPES, b as ENGINE_DEFAULT_COLOR_SCHEME, c as ENGINE_DEFAULT_FONT_SCHEME, d as ENGINE_DEFAULT_THEME, e as FontFamilies, F as Fonts, f as LANGUAGES, g as LanguageFamilyName, h as LanguageVocabulary, L as LayoutDiagnostic, M as MeasureTextWidth, S as SOCIAL_PLATFORMS, i as SocialPlatformVocabulary, T as TextMeasurement, j as TextStyle, n as normalizeLanguageFamily } from './composition-D2tghM82.js';
11
+ export { C as CatalogDisplayKind, a as CatalogRecordKind, c as catalogDisplayKinds, b as catalogSchemaNames } from './catalog-schemas-CinPh5WA.js';
12
+ export { O as OPFPaginationError, P as PaginatedPage, a as PaginationMapping, b as PaginationOptions, c as PaginationResult, d as PresentationPaginationOptions, e as PresentationPaginationResult, S as SlideContext, f as SlideContextDiagnostic, g as SlideContextOptions, p as paginate, h as paginateSlide, r as resolveSlideContext } from './pagination-wedbe7eq.js';
12
13
  export { ApplyPatchOptions, OPFPatchError, OPFPatchValidationError, PatchResult, applyPatch } from './patch.js';
13
14
  export { DiffOptions, MergeConflict, MergeOptions, MergeResult, PresentationDiff, diff, merge } from './diff.js';
14
15
  export { FormatOptions, OPFFormatError, format } from './format.js';
15
16
  export { FromMarkdownOptions, FromMarkdownResult, OPFMarkdownError, ToMarkdownOptions, ToMarkdownResult, fromMarkdown, toMarkdown } from './markdown.js';
16
17
  export { DataCell, DataImportOptions, ImportDataOptions, OPFDataImportError, TabularData, importData, parseTabularData } from './data.js';
17
- export { I as ChartComboSeries, C as ChartMapping, a as ChartNumberFix, b as ChartNumberFixOperation, c as ChartNumberFixOptions, D as DataCellValue, d as DataColumn, e as DataDiagnostic, f as DataDiagnosticCode, g as DataResolveOptions, h as DataSourceRef, i as DataStyledCell, j as DataTableCell, k as DataTableHeader, l as DataTableValue, m as DataTextRun, n as Dataset, o as DatasetRef, R as ResolvedChartData, p as ResolvedTableData, q as chartNumber, r as datasetDiagnostics, s as formatDataNumber, t as fromExcelNumberFormat, u as inlineChartData, v as inlineDatasets, w as inlineTableData, x as isDatasetRef, y as isXYChartType, z as numberFormatError, A as resolveChartData, B as resolveTableData, E as suggestChartNumberFix, F as tableCellDisplayValue, G as toExcelNumberFormat, H as unusedDatasets } from './chart-data-B_3z9VTb.js';
18
+ export { I as ChartComboSeries, C as ChartMapping, a as ChartNumberFix, b as ChartNumberFixOperation, c as ChartNumberFixOptions, D as DataCellValue, d as DataColumn, e as DataDiagnostic, f as DataDiagnosticCode, g as DataResolveOptions, h as DataSourceRef, i as DataStyledCell, j as DataTableCell, k as DataTableHeader, l as DataTableValue, m as DataTextRun, n as Dataset, o as DatasetRef, R as ResolvedChartData, p as ResolvedTableData, q as chartNumber, r as datasetDiagnostics, s as formatDataNumber, t as fromExcelNumberFormat, u as inlineChartData, v as inlineDatasets, w as inlineTableData, x as isDatasetRef, y as isXYChartType, z as numberFormatError, A as resolveChartData, B as resolveTableData, E as suggestChartNumberFix, F as tableCellDisplayValue, G as toExcelNumberFormat, H as unusedDatasets } from './chart-data-BnNqgnC-.js';
18
19
  export { FONT_POLICY, FontAvailability, FontAvailabilityCode, FontAvailabilityDiagnostic, FontLicenseClass, FontPolicyDecision, FontPolicyEntry, FontPolicyTable, FontReplacement, FontReplacementCompatibility, FontReplacementMeasurement, applyFontPolicyDecisions, fontAvailabilityDiagnostics, fontPolicyFor } from './font-policy.js';
20
+ import './json-BFSdESOE.js';
19
21
 
20
- /** A reference as authored: the string (a catalog id, URL, `pkg:` reference, tag or free text) or the inline record's id. */
22
+ /** Whether two records have the same content once embedded (`$schema`, `id` and `x-*` ignored). */
23
+ declare function sameRecord(a: unknown, b: unknown): boolean;
24
+ /** One record `embed` or `copySlides` added to a document. */
25
+ interface EmbeddedRecord {
26
+ group: string;
27
+ kind: CatalogKind;
28
+ id: string;
29
+ source?: string;
30
+ }
31
+ interface EmbedResult {
32
+ document: Presentation;
33
+ /** The records added, in the order they were embedded. */
34
+ added: EmbeddedRecord[];
35
+ /** The references that resolve nowhere: they stay as written. */
36
+ unresolved: UnresolvedReferenceDiagnostic[];
37
+ }
38
+ /**
39
+ * Embed every record the document references, once, in the group it resolves in, together with the records those
40
+ * records reference (a theme's colour and font schemes). A bare id that resolves in the host's default catalog is
41
+ * embedded under `catalogs.default` (whose `source` is set to that catalog's). Records already embedded are kept as
42
+ * they are; catalog display metadata (`x-*`), `$schema` and `id` are stripped from the copies. Idempotent.
43
+ */
44
+ declare function embed(document: unknown, options?: CatalogOptions): EmbedResult;
45
+ /** A copied record that did not keep its reference. */
46
+ interface CopiedRecordRename {
47
+ kind: CatalogKind;
48
+ /** The reference in the source document. */
49
+ from: string;
50
+ /** The reference the copied slides use in the target. */
51
+ to: string;
52
+ /**
53
+ * `custom-conflict`: the target's own record of that id differs (or the id is taken); `catalog-revision`: the target
54
+ * holds a different revision of the same catalog record, so the incoming one moved to `custom`.
55
+ */
56
+ reason: 'custom-conflict' | 'catalog-revision';
57
+ }
58
+ interface CopySlidesResult {
59
+ /** The new target document; `to` is not mutated. */
60
+ document: Presentation;
61
+ /** Indexes of the copied slides in the target. */
62
+ slides: number[];
63
+ /** Every record this call created under another id (`<id>-2` and up), so an author can review it. A reference rewritten to a record an earlier copy created, which this call reuses, is not a rename and is not listed. */
64
+ renamed: CopiedRecordRename[];
65
+ /** Catalog groups the target did not have, added for the copied records. */
66
+ addedGroups: {
67
+ name: string;
68
+ source?: string;
69
+ }[];
70
+ /** Records added to the target. */
71
+ added: EmbeddedRecord[];
72
+ /** References of the copied slides that resolve nowhere in the source: copied as written. */
73
+ unresolved: UnresolvedReferenceDiagnostic[];
74
+ }
75
+ /**
76
+ * Copy slides `indexes` of `from` to the end of `to` (or before `options.at`), with the records they reference.
77
+ * Groups match by `source`, not by name: references are rewritten to the target's name for that source, and a missing
78
+ * group is added (renamed when its name is taken). A record whose content the target already has is reused. A `custom`
79
+ * record whose id the target uses for different content is renamed `<id>-2`. A catalog record whose revision differs
80
+ * from the one the target resolves goes into `custom` as `<id>-2`, so the copied slides look the same, and is listed in
81
+ * `renamed`.
82
+ */
83
+ declare function copySlides(from: unknown, to: unknown, indexes: readonly number[], options?: CatalogOptions & {
84
+ at?: number;
85
+ }): CopySlidesResult;
86
+ /** A reference to update, by kind: `two-column` (a default record) or `acme:hero`. */
87
+ interface CatalogRef {
88
+ kind: CatalogKind;
89
+ reference: string;
90
+ }
91
+ /** One embedded record whose registered catalog publishes different content. */
92
+ interface CatalogRecordChange {
93
+ kind: CatalogKind;
94
+ /** The reference that names it: a bare id for `default`, `name:id` otherwise. */
95
+ reference: string;
96
+ group: string;
97
+ id: string;
98
+ source: string;
99
+ /** The record as the document embeds it. */
100
+ embedded: Record<string, unknown>;
101
+ /** The catalog's current record, as it would be embedded. */
102
+ current: Record<string, unknown>;
103
+ }
104
+ /** An RFC 6902 operation of `CatalogUpdate.patch`. */
105
+ interface CatalogPatchOperation {
106
+ op: 'replace';
107
+ path: string;
108
+ value: Record<string, unknown>;
109
+ }
110
+ /** A reviewable update: nothing is applied until the author applies `patch` (core `applyPatch`). */
111
+ interface CatalogUpdate {
112
+ changes: CatalogRecordChange[];
113
+ patch: CatalogPatchOperation[];
114
+ }
115
+ /**
116
+ * Compare the records a document embeds under `default` and its named groups with the current records of the catalogs
117
+ * registered for their sources. Returns the differences and the patch that would adopt them; never changes the document.
118
+ * `refs` limits the check to those references. `custom` records belong to the document and are never compared.
119
+ */
120
+ declare function updateFromCatalog(document: unknown, catalogs: readonly Catalog[], refs?: readonly CatalogRef[]): CatalogUpdate;
121
+ /** Where a moved record was and where it is now. */
122
+ interface MovedRecord {
123
+ kind: CatalogKind;
124
+ group: string;
125
+ id: string;
126
+ /** The reference that names it there: a bare id under `default` and `custom`, `name:id` in a named group. */
127
+ reference: string;
128
+ }
129
+ /** Error codes of OPFMoveToCustomError. */
130
+ type MoveToCustomErrorCode = 'invalid-reference' | 'already-custom' | 'not-embedded' | 'invalid-id';
131
+ declare class OPFMoveToCustomError extends Error {
132
+ readonly code: MoveToCustomErrorCode;
133
+ constructor(code: MoveToCustomErrorCode, message: string);
134
+ }
135
+ /** An RFC 6902 operation of `MoveToCustomResult.patch`. */
136
+ type MoveToCustomPatchOperation = {
137
+ op: 'add';
138
+ path: string;
139
+ value: unknown;
140
+ } | {
141
+ op: 'remove';
142
+ path: string;
143
+ } | {
144
+ op: 'replace';
145
+ path: string;
146
+ value: string;
147
+ };
148
+ interface MoveToCustomResult {
149
+ /** The new document; the input is not mutated. */
150
+ document: Presentation;
151
+ from: MovedRecord;
152
+ to: MovedRecord;
153
+ /** The references rewritten to name the moved record, as JSON Pointers into the document. */
154
+ references: string[];
155
+ /** RFC 6902 operations that turn the input into `document` (apply with core `applyPatch`, for undo and review). */
156
+ patch: MoveToCustomPatchOperation[];
157
+ /** Present when `custom` already held a different record under the wanted id, so the record took `<id>-2` (and up). */
158
+ renamed?: {
159
+ from: string;
160
+ to: string;
161
+ };
162
+ }
163
+ /**
164
+ * Move an embedded record from `catalogs.default` or a named group into `catalogs.custom`: the fix that
165
+ * `opf/catalog-record-not-in-source` suggests for a record the group's catalog does not publish. Every reference that
166
+ * resolved to the record (on slides, in the deck, inside other embedded records) is rewritten to name it in `custom`,
167
+ * and the record's own references keep naming the records they named. The record keeps its id unless `custom` already
168
+ * holds a different record under it, when it becomes `<id>-2` (and up); an identical custom record is reused.
169
+ *
170
+ * Fork: with `id`, the record is copied into `custom` under that id instead (an editor calls this on the first edit of a
171
+ * record under `default` or a named group, then applies the edit to the copy). Every reference is rewritten to the copy,
172
+ * so nothing references the original any more and it is dropped from its group. A different custom record under the
173
+ * wanted id (the record's own, or `id`) makes it `<id>-2` and up, reported in `renamed`; an identical one is reused.
174
+ *
175
+ * Throws OPFMoveToCustomError (`invalid-reference`, `already-custom`, `not-embedded`, `invalid-id`).
176
+ * Registered catalogs only matter for how the surrounding references resolve, so pass the host's `catalogs` as for
177
+ * validate.
178
+ */
179
+ declare function moveToCustom(document: unknown, ref: CatalogRef, options?: CatalogOptions & {
180
+ id?: string;
181
+ }): MoveToCustomResult;
182
+
183
+ /**
184
+ * The theme, colour scheme and font scheme one slide (or the deck) is drawn with, resolved the one way every engine
185
+ * resolves them: the slide's design, then the deck's design, then the theme, then the engine default, per field.
186
+ * Catalog-free: records come from the document's catalogs groups and the catalogs the host registered.
187
+ */
188
+ type Rec = Record<string, unknown>;
189
+ interface ResolvedDesignRecords {
190
+ theme: Rec;
191
+ colorScheme: Rec;
192
+ fontScheme: Rec;
193
+ /** Where the theme reference is written, dotted (`design.theme`, `slides.2.design.theme`). */
194
+ themePath: string;
195
+ /** Where the colour-scheme reference that applies is written, dotted. */
196
+ colorSchemePath: string;
197
+ /** Where the font-scheme reference that applies is written, dotted. */
198
+ fontSchemePath: string;
199
+ /** The font-scheme reference that applies (a string, or the `id` of an object reference), if any. */
200
+ fontSchemeReference?: string;
201
+ /**
202
+ * Where each record came from (group, source, `document` or `host`), so an engine records provenance without
203
+ * resolving again. A kind is absent when its engine default applies (no reference, or one that resolves nowhere).
204
+ */
205
+ provenance: {
206
+ theme?: RecordProvenance;
207
+ colorScheme?: RecordProvenance;
208
+ fontScheme?: RecordProvenance;
209
+ };
210
+ /** Unresolved references, in the order theme, colour scheme, font scheme. */
211
+ diagnostics: UnresolvedReferenceDiagnostic[];
212
+ }
213
+ /**
214
+ * The design records slide `slideIndex` is drawn with (the deck's own when `slideIndex` is undefined). Never throws for
215
+ * an unresolved reference: the engine default applies and `diagnostics` names the reference.
216
+ */
217
+ declare function resolveDesignRecords(document: unknown, slideIndex: number | undefined, options?: CatalogOptions): ResolvedDesignRecords;
218
+ /** Resolve a font-scheme reference (a string, or an object with an optional `id` plus overrides) on its own. */
219
+ declare function resolveFontScheme(document: unknown, reference: unknown, path: string, options?: CatalogOptions & {
220
+ group?: string;
221
+ }): {
222
+ scheme: Rec;
223
+ diagnostics: UnresolvedReferenceDiagnostic[];
224
+ };
225
+
226
+ /** A reference as authored: the string (a bare id, `name:id`, a tag or free text) or the inline object's id. */
21
227
  interface ReferenceFact {
22
228
  id: string | null;
23
229
  inline: boolean;
@@ -189,7 +395,7 @@ interface PresentationStats {
189
395
  declaredMinutes: number | null;
190
396
  };
191
397
  images: {
192
- /** Image payloads and slide images (`design.slideImage`). */
398
+ /** Image payloads (image blocks and `Slide.image`). */
193
399
  content: {
194
400
  total: number;
195
401
  withAlt: number;
@@ -283,9 +489,9 @@ interface PresentationStats {
283
489
  fonts: {
284
490
  /** Every family named: by a font scheme in effect, an inline scheme, or a run's `fontFamily`. */
285
491
  families: string[];
286
- /** Font-scheme ids in effect (deck and slide overrides). */
492
+ /** Font-scheme references in effect (deck and slide overrides). */
287
493
  schemeIds: string[];
288
- /** Ids that match no inline or bundled record. */
494
+ /** References that resolve nowhere (opf/unresolved-reference); the engine default font scheme is used for them. */
289
495
  unresolvedSchemeIds: string[];
290
496
  runOverrides: string[];
291
497
  };
@@ -298,15 +504,15 @@ interface PresentationStats {
298
504
  };
299
505
  /** Keys under `extensions` on the deck, slides and payloads. */
300
506
  extensions: string[];
301
- /** Per-kind inline catalog overrides. */
302
- catalogOverrides: Record<string, {
303
- records: number;
507
+ /** The catalog groups the document embeds records in: each group's source and its record count per kind. */
508
+ catalogs: Record<string, {
304
509
  source: string | null;
510
+ records: Record<string, number>;
305
511
  }>;
306
512
  /** Present only with `perSlide: true`. */
307
513
  perSlide?: SlideStats[];
308
514
  }
309
- interface StatsOptions {
515
+ interface StatsOptions extends CatalogOptions {
310
516
  /** Add the per-slide breakdown as `perSlide`. */
311
517
  perSlide?: boolean;
312
518
  /** Variable values to count as filled, as for `resolveVariables`. */
@@ -316,61 +522,4 @@ interface StatsOptions {
316
522
  }
317
523
  declare function stats(presentation: unknown, options?: StatsOptions): PresentationStats;
318
524
 
319
- /**
320
- * Local catalog vendoring: resolve every catalog reference a presentation
321
- * uses and inline the resolved records into `catalogs.<kind>.records`, so the
322
- * document renders identically with no catalog lookups beyond itself.
323
- *
324
- * Resolution is local-only: inline records are kept as-is, ids that belong to
325
- * a kind's custom `source` are left to that source, and everything else
326
- * resolves against the bundled default catalogs. Every reference a record
327
- * carries is chased in turn — whether the record came from the bundled
328
- * catalogs or was already inline — so no inlined record dangles. Running the
329
- * bundle twice is a no-op.
330
- */
331
- interface BundleReport {
332
- /** Record ids inlined by this run, per kind, in output order. */
333
- added: Partial<Record<CatalogKind, string[]>>;
334
- /** Referenced ids that were already inline in the document, per kind. */
335
- alreadyInline: Partial<Record<CatalogKind, string[]>>;
336
- /** Kinds left untouched because the document declares a custom source. */
337
- keptSources: CatalogKind[];
338
- /**
339
- * Referenced bare ids that resolve nowhere locally, per kind — listed for
340
- * exactly the positions the validator warns about, so `unresolved` means
341
- * "the validator would warn about this": the `narrative` string, bare-id `audience` entries (string or `{ id }` form), the
342
- * design references `themes`, `colorSchemes` and `fontSchemes` (string or
343
- * `{ id }` form, at deck and slide level), and `chart.type`.
344
- *
345
- * Every other reference — tones, purposes, languages, layouts,
346
- * social platforms, and anything reached through a
347
- * record rather than written by the author — is still resolved and inlined
348
- * when it is found, and skipped in silence when it is not, because the
349
- * validator does not warn there either.
350
- *
351
- * Informational: unknown ids are warnings, never errors.
352
- */
353
- unresolved: Partial<Record<CatalogKind, string[]>>;
354
- }
355
- interface BundleResult {
356
- presentation: unknown;
357
- report: BundleReport;
358
- }
359
- /**
360
- * Resolve every catalog reference `value` uses and inline the resolved
361
- * records, returning a new document plus a report of what changed. The input
362
- * document is not modified.
363
- *
364
- * Anything that is not an object, and any document whose `catalogs` is
365
- * present but not an object, is returned unchanged with an all-empty report:
366
- * bundling there would have to overwrite that field, and schema-invalid input
367
- * deserves a defined no-op over silent data loss. The CLI validates before
368
- * bundling, so only a direct library call can reach that case.
369
- *
370
- * Ids that resolve nowhere are reported as unresolved for the positions the
371
- * validator warns about, and silently skipped elsewhere; see
372
- * `BundleReport.unresolved`.
373
- */
374
- declare function bundle(value: unknown): BundleResult;
375
-
376
- export { type BundleReport, type BundleResult, CatalogKind, type DatasetFact, type HeaderFooterFact, type PresentationStats, type ReferenceFact, type SlideSizeFact, type SlideStats, type StatsOptions, type StatsSlideRef, type TableFact, bundle, stats };
525
+ export { Catalog, CatalogKind, CatalogOptions, type CatalogPatchOperation, type CatalogRecordChange, type CatalogRef, type CatalogUpdate, type CopiedRecordRename, type CopySlidesResult, type DatasetFact, type EmbedResult, type EmbeddedRecord, type HeaderFooterFact, type MoveToCustomErrorCode, type MoveToCustomPatchOperation, type MoveToCustomResult, type MovedRecord, OPFMoveToCustomError, Presentation, type PresentationStats, RecordProvenance, type ReferenceFact, type ResolvedDesignRecords, type SlideSizeFact, type SlideStats, type StatsOptions, type StatsSlideRef, type TableFact, UnresolvedReferenceDiagnostic, copySlides, embed, moveToCustom, resolveDesignRecords, resolveFontScheme, sameRecord, stats, updateFromCatalog };