@openpresentation/opf 0.14.0 → 0.16.0

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 (360) hide show
  1. package/README.md +28 -38
  2. package/dist/catalog-refs-_anZs-Qz.d.ts +128 -0
  3. package/dist/catalog-schemas-BZCjgAxu.d.ts +12 -0
  4. package/dist/catalog.d.ts +91 -0
  5. package/dist/{chunk-XOZ4KMSR.js → catalog.js} +17018 -8816
  6. package/dist/{chart-data-B_3z9VTb.d.ts → chart-data-BnNqgnC-.d.ts} +1 -1
  7. package/dist/{chunk-BFLVSVA7.js → chunk-3XDRQYWZ.js} +1 -1
  8. package/dist/{chunk-6OXY2CP3.js → chunk-5PDN7BN6.js} +503 -239
  9. package/dist/{chunk-CSQHPVGL.js → chunk-5TO6I3GB.js} +1 -1
  10. package/dist/{chunk-4LDGKLUC.js → chunk-5UEUAW57.js} +4 -2
  11. package/dist/{chunk-5ZU6JAPP.js → chunk-6OR326EA.js} +1 -1
  12. package/dist/{chunk-XIZUK2XM.js → chunk-BSYQDWT4.js} +15 -3
  13. package/dist/{chunk-UPQQD7MA.js → chunk-FQSIIADJ.js} +15 -6
  14. package/dist/{chunk-D3TY4TT6.js → chunk-HXHOZ7AH.js} +1407 -154
  15. package/dist/chunk-K4DQQIT4.js +319 -0
  16. package/dist/chunk-KINQFU6X.js +51 -0
  17. package/dist/{chunk-4VJDTF55.js → chunk-NAWQR7MN.js} +1 -1
  18. package/dist/{chunk-JDJBDYSR.js → chunk-PX5AWL7Y.js} +333 -857
  19. package/dist/{chunk-Q2TCMN56.js → chunk-SMLMI6IZ.js} +5 -2
  20. package/dist/chunk-SPFV27O5.js +210 -0
  21. package/dist/chunk-TRDXRRQK.js +17 -0
  22. package/dist/{chunk-Z65B2B77.js → chunk-UM24JFUE.js} +2 -2
  23. package/dist/{chunk-LS2FMPI5.js → chunk-WEDGVC5W.js} +969 -886
  24. package/dist/{composition-_WEwBe2a.d.ts → composition-D4ADF5c-.d.ts} +319 -115
  25. package/dist/composition.d.ts +3 -2
  26. package/dist/composition.js +2 -2
  27. package/dist/convert.d.ts +14 -17
  28. package/dist/convert.js +36 -39
  29. package/dist/data.d.ts +28 -11
  30. package/dist/data.js +3 -3
  31. package/dist/deck.d.ts +77 -0
  32. package/dist/deck.js +12 -0
  33. package/dist/diff.d.ts +1 -1
  34. package/dist/diff.js +7 -7
  35. package/dist/docs.js +33 -33
  36. package/dist/examples.d.ts +1 -1
  37. package/dist/examples.js +51761 -4783
  38. package/dist/{finding-C_por275.d.ts → finding-CT_f_vbD.d.ts} +2 -2
  39. package/dist/format.js +2 -2
  40. package/dist/index.d.ts +227 -77
  41. package/dist/index.js +343 -258
  42. package/dist/json-BFSdESOE.d.ts +19 -0
  43. package/dist/markdown.d.ts +20 -9
  44. package/dist/markdown.js +9 -9
  45. package/dist/{pagination-BZpXLvFL.d.ts → pagination-DzZPFheM.d.ts} +31 -31
  46. package/dist/pagination.d.ts +4 -5
  47. package/dist/pagination.js +6 -6
  48. package/dist/patch.d.ts +1 -1
  49. package/dist/patch.js +6 -6
  50. package/dist/{presentation-C5eHkevA.d.ts → presentation-COrFuj2g.d.ts} +398 -558
  51. package/dist/repo-readme.js +1 -1
  52. package/dist/schemas.d.ts +298 -1
  53. package/dist/schemas.js +1 -1
  54. package/dist/spec/README.md +1 -1
  55. package/dist/spec/catalogs/font-schemes/angsana-new.json +1 -1
  56. package/dist/spec/catalogs/font-schemes/aparajita.json +2 -2
  57. package/dist/spec/catalogs/font-schemes/arabic-typesetting.json +1 -1
  58. package/dist/spec/catalogs/font-schemes/batang.json +1 -1
  59. package/dist/spec/catalogs/font-schemes/daunpenh.json +1 -1
  60. package/dist/spec/catalogs/font-schemes/david.json +1 -1
  61. package/dist/spec/catalogs/font-schemes/dilleniaupc.json +1 -1
  62. package/dist/spec/catalogs/font-schemes/fangsong.json +1 -1
  63. package/dist/spec/catalogs/font-schemes/gautami.json +1 -1
  64. package/dist/spec/catalogs/font-schemes/gisha.json +2 -2
  65. package/dist/spec/catalogs/font-schemes/gungsuh.json +1 -1
  66. package/dist/spec/catalogs/font-schemes/index.json +1 -1
  67. package/dist/spec/catalogs/font-schemes/kalinga.json +1 -1
  68. package/dist/spec/catalogs/font-schemes/kartika.json +1 -1
  69. package/dist/spec/catalogs/font-schemes/khmer-ui.json +1 -1
  70. package/dist/spec/catalogs/font-schemes/latha.json +1 -1
  71. package/dist/spec/catalogs/font-schemes/malgun-gothic.json +1 -1
  72. package/dist/spec/catalogs/font-schemes/mangal.json +3 -3
  73. package/dist/spec/catalogs/font-schemes/meiryo.json +1 -1
  74. package/dist/spec/catalogs/font-schemes/microsoft-jhenghei.json +1 -1
  75. package/dist/spec/catalogs/font-schemes/microsoft-yahei.json +4 -4
  76. package/dist/spec/catalogs/font-schemes/mingliu.json +1 -1
  77. package/dist/spec/catalogs/font-schemes/miriam.json +1 -1
  78. package/dist/spec/catalogs/font-schemes/ms-mincho.json +1 -1
  79. package/dist/spec/catalogs/font-schemes/nirmala-ui.json +1 -1
  80. package/dist/spec/catalogs/font-schemes/noto-naksh-arabic.json +1 -1
  81. package/dist/spec/catalogs/font-schemes/noto-nastaliq-urdu.json +2 -2
  82. package/dist/spec/catalogs/font-schemes/noto-sans-arabic.json +3 -3
  83. package/dist/spec/catalogs/font-schemes/noto-sans-armenian.json +1 -1
  84. package/dist/spec/catalogs/font-schemes/noto-sans-bengali.json +2 -2
  85. package/dist/spec/catalogs/font-schemes/noto-sans-devangari.json +2 -2
  86. package/dist/spec/catalogs/font-schemes/noto-sans-ethiopic.json +1 -1
  87. package/dist/spec/catalogs/font-schemes/noto-sans-georgian.json +1 -1
  88. package/dist/spec/catalogs/font-schemes/noto-sans-gujarati.json +1 -1
  89. package/dist/spec/catalogs/font-schemes/noto-sans-gurmukhi.json +1 -1
  90. package/dist/spec/catalogs/font-schemes/noto-sans-hebrew.json +1 -1
  91. package/dist/spec/catalogs/font-schemes/noto-sans-jp.json +1 -1
  92. package/dist/spec/catalogs/font-schemes/noto-sans-kannada.json +1 -1
  93. package/dist/spec/catalogs/font-schemes/noto-sans-khmer.json +1 -1
  94. package/dist/spec/catalogs/font-schemes/noto-sans-kr.json +1 -1
  95. package/dist/spec/catalogs/font-schemes/noto-sans-malayalam.json +1 -1
  96. package/dist/spec/catalogs/font-schemes/noto-sans-mongolian.json +1 -1
  97. package/dist/spec/catalogs/font-schemes/noto-sans-oriya.json +1 -1
  98. package/dist/spec/catalogs/font-schemes/noto-sans-sc.json +4 -4
  99. package/dist/spec/catalogs/font-schemes/noto-sans-tamil.json +1 -1
  100. package/dist/spec/catalogs/font-schemes/noto-sans-tc.json +1 -1
  101. package/dist/spec/catalogs/font-schemes/noto-sans-telugu.json +1 -1
  102. package/dist/spec/catalogs/font-schemes/noto-sans-thai.json +1 -1
  103. package/dist/spec/catalogs/font-schemes/noto-sans.json +4 -4
  104. package/dist/spec/catalogs/font-schemes/nyala.json +1 -1
  105. package/dist/spec/catalogs/font-schemes/pmingliu.json +1 -1
  106. package/dist/spec/catalogs/font-schemes/raavi.json +1 -1
  107. package/dist/spec/catalogs/font-schemes/sakkal-majalla.json +3 -3
  108. package/dist/spec/catalogs/font-schemes/shonar-bangla.json +2 -2
  109. package/dist/spec/catalogs/font-schemes/shruti.json +1 -1
  110. package/dist/spec/catalogs/font-schemes/simsun.json +1 -1
  111. package/dist/spec/catalogs/font-schemes/sylfaen.json +2 -2
  112. package/dist/spec/catalogs/font-schemes/traditional-arabic.json +3 -3
  113. package/dist/spec/catalogs/font-schemes/tunga.json +1 -1
  114. package/dist/spec/catalogs/font-schemes/vrinda.json +1 -1
  115. package/dist/spec/catalogs/font-schemes/yu-gothic.json +1 -1
  116. package/dist/spec/catalogs/layouts/business-model-canvas.json +66 -1
  117. package/dist/spec/catalogs/layouts/capability-map.json +53 -6
  118. package/dist/spec/catalogs/layouts/chart-1x-title-center.json +30 -0
  119. package/dist/spec/catalogs/layouts/chart-2x-title-center.json +36 -0
  120. package/dist/spec/catalogs/layouts/chart-2x-vertical-title-left.json +37 -0
  121. package/dist/spec/catalogs/layouts/chart-2x.json +32 -8
  122. package/dist/spec/catalogs/layouts/chart-3x-bottom-vertical-title-left.json +52 -0
  123. package/dist/spec/catalogs/layouts/chart-3x-left-title-center.json +51 -0
  124. package/dist/spec/catalogs/layouts/chart-3x-left.json +46 -0
  125. package/dist/spec/catalogs/layouts/chart-3x-right-title-center.json +51 -0
  126. package/dist/spec/catalogs/layouts/chart-3x-right.json +46 -0
  127. package/dist/spec/catalogs/layouts/chart-3x-title-center.json +39 -0
  128. package/dist/spec/catalogs/layouts/chart-3x-top-vertical-title-left.json +52 -0
  129. package/dist/spec/catalogs/layouts/chart-3x.json +48 -12
  130. package/dist/spec/catalogs/layouts/competitive-landscape.json +1 -4
  131. package/dist/spec/catalogs/layouts/customer-journey.json +1 -4
  132. package/dist/spec/catalogs/layouts/dashboard.json +37 -5
  133. package/dist/spec/catalogs/layouts/decision-tree.json +1 -4
  134. package/dist/spec/catalogs/layouts/ecosystem-map.json +1 -4
  135. package/dist/spec/catalogs/layouts/extract/canonical.json +0 -9
  136. package/dist/spec/catalogs/layouts/geographic-map.json +1 -4
  137. package/dist/spec/catalogs/layouts/icon-grid.json +1 -4
  138. package/dist/spec/catalogs/layouts/image-1x-crop-title-center.json +32 -0
  139. package/dist/spec/catalogs/layouts/image-1x-crop-title-left.json +32 -0
  140. package/dist/spec/catalogs/layouts/image-1x-crop.json +27 -0
  141. package/dist/spec/catalogs/layouts/image-1x-fit-title-center.json +32 -0
  142. package/dist/spec/catalogs/layouts/image-1x.json +3 -0
  143. package/dist/spec/catalogs/layouts/image-2x-crop-title-center.json +38 -0
  144. package/dist/spec/catalogs/layouts/image-2x-crop-vertical-title-left.json +39 -0
  145. package/dist/spec/catalogs/layouts/image-2x-crop-vertical.json +34 -0
  146. package/dist/spec/catalogs/layouts/image-2x-crop.json +33 -0
  147. package/dist/spec/catalogs/layouts/image-2x-fit-title-center.json +38 -0
  148. package/dist/spec/catalogs/layouts/image-2x-fit-vertical-title-left.json +39 -0
  149. package/dist/spec/catalogs/layouts/image-2x-fit-vertical.json +34 -0
  150. package/dist/spec/catalogs/layouts/image-2x.json +35 -8
  151. package/dist/spec/catalogs/layouts/image-3x-crop-title-center.json +41 -0
  152. package/dist/spec/catalogs/layouts/image-3x-crop-vertical-title-left.json +42 -0
  153. package/dist/spec/catalogs/layouts/image-3x-crop-vertical.json +37 -0
  154. package/dist/spec/catalogs/layouts/image-3x-crop.json +36 -0
  155. package/dist/spec/catalogs/layouts/image-3x-fit-title-center.json +41 -0
  156. package/dist/spec/catalogs/layouts/image-3x-fit-vertical-title-left.json +42 -0
  157. package/dist/spec/catalogs/layouts/image-3x-fit-vertical.json +37 -0
  158. package/dist/spec/catalogs/layouts/image-3x-fit.json +36 -0
  159. package/dist/spec/catalogs/layouts/image-3x.json +51 -12
  160. package/dist/spec/catalogs/layouts/image-focus.json +3 -6
  161. package/dist/spec/catalogs/layouts/image-only-1x-crop-title-center.json +31 -0
  162. package/dist/spec/catalogs/layouts/image-only-1x-fit-title-center.json +31 -0
  163. package/dist/spec/catalogs/layouts/image-only-2x-crop-title-center.json +37 -0
  164. package/dist/spec/catalogs/layouts/image-only-2x-crop-vertical-title-left.json +38 -0
  165. package/dist/spec/catalogs/layouts/image-only-2x-crop-vertical.json +33 -0
  166. package/dist/spec/catalogs/layouts/image-only-2x-fit-title-center.json +37 -0
  167. package/dist/spec/catalogs/layouts/image-only-2x-fit-vertical-title-left.json +38 -0
  168. package/dist/spec/catalogs/layouts/image-only-2x-fit-vertical.json +33 -0
  169. package/dist/spec/catalogs/layouts/image-only-3x-crop-title-center.json +40 -0
  170. package/dist/spec/catalogs/layouts/image-only-3x-crop-vertical-title-left.json +41 -0
  171. package/dist/spec/catalogs/layouts/image-only-3x-crop-vertical.json +36 -0
  172. package/dist/spec/catalogs/layouts/image-only-3x-crop.json +35 -0
  173. package/dist/spec/catalogs/layouts/image-only-3x-fit-title-center.json +40 -0
  174. package/dist/spec/catalogs/layouts/image-only-3x-fit-vertical-title-left.json +41 -0
  175. package/dist/spec/catalogs/layouts/image-only-3x-fit-vertical.json +36 -0
  176. package/dist/spec/catalogs/layouts/image-only-3x-fit.json +35 -0
  177. package/dist/spec/catalogs/layouts/index.json +1041 -151
  178. package/dist/spec/catalogs/layouts/kpi-scorecard.json +48 -3
  179. package/dist/spec/catalogs/layouts/list-1x-box-title-center.json +32 -0
  180. package/dist/spec/catalogs/layouts/list-1x-box-vertical-title-center.json +33 -0
  181. package/dist/spec/catalogs/layouts/list-1x-box-vertical-title-left.json +33 -0
  182. package/dist/spec/catalogs/layouts/list-1x-box-vertical.json +28 -0
  183. package/dist/spec/catalogs/layouts/list-1x-box.json +27 -0
  184. package/dist/spec/catalogs/layouts/list-1x-itemimage-title-center.json +32 -0
  185. package/dist/spec/catalogs/layouts/list-1x-itemimage-vertical-title-center.json +33 -0
  186. package/dist/spec/catalogs/layouts/list-1x-title-center.json +31 -0
  187. package/dist/spec/catalogs/layouts/list-1x-vertical-title-center.json +32 -0
  188. package/dist/spec/catalogs/layouts/list-2x-box-title-center.json +38 -0
  189. package/dist/spec/catalogs/layouts/list-2x-box-vertical-title-center.json +39 -0
  190. package/dist/spec/catalogs/layouts/list-2x-box-vertical-title-left.json +39 -0
  191. package/dist/spec/catalogs/layouts/list-2x-box-vertical.json +34 -0
  192. package/dist/spec/catalogs/layouts/list-2x-box.json +33 -0
  193. package/dist/spec/catalogs/layouts/list-2x-itemimage-title-center.json +38 -0
  194. package/dist/spec/catalogs/layouts/list-2x-itemimage-vertical-title-center.json +39 -0
  195. package/dist/spec/catalogs/layouts/list-2x-itemimage-vertical-title-left.json +39 -0
  196. package/dist/spec/catalogs/layouts/list-2x-itemimage-vertical.json +34 -0
  197. package/dist/spec/catalogs/layouts/list-2x-title-center.json +37 -0
  198. package/dist/spec/catalogs/layouts/list-2x-vertical-title-center.json +38 -0
  199. package/dist/spec/catalogs/layouts/list-2x-vertical-title-left.json +38 -0
  200. package/dist/spec/catalogs/layouts/list-2x-vertical.json +33 -0
  201. package/dist/spec/catalogs/layouts/list-3x-box-title-center.json +41 -0
  202. package/dist/spec/catalogs/layouts/list-3x-box-vertical-title-center.json +42 -0
  203. package/dist/spec/catalogs/layouts/list-3x-box-vertical-title-left.json +42 -0
  204. package/dist/spec/catalogs/layouts/list-3x-box-vertical.json +37 -0
  205. package/dist/spec/catalogs/layouts/list-3x-box.json +36 -0
  206. package/dist/spec/catalogs/layouts/list-3x-itemimage-title-center.json +41 -0
  207. package/dist/spec/catalogs/layouts/list-3x-itemimage-vertical-title-center.json +42 -0
  208. package/dist/spec/catalogs/layouts/list-3x-itemimage-vertical-title-left.json +42 -0
  209. package/dist/spec/catalogs/layouts/list-3x-itemimage-vertical.json +37 -0
  210. package/dist/spec/catalogs/layouts/list-3x-itemimage.json +36 -0
  211. package/dist/spec/catalogs/layouts/list-3x-title-center.json +40 -0
  212. package/dist/spec/catalogs/layouts/list-3x-vertical-title-center.json +41 -0
  213. package/dist/spec/catalogs/layouts/list-3x-vertical-title-left.json +41 -0
  214. package/dist/spec/catalogs/layouts/list-3x-vertical.json +36 -0
  215. package/dist/spec/catalogs/layouts/list-4x-box-title-center.json +45 -0
  216. package/dist/spec/catalogs/layouts/list-4x-box-vertical-title-center.json +45 -0
  217. package/dist/spec/catalogs/layouts/list-4x-box-vertical-title-left.json +45 -0
  218. package/dist/spec/catalogs/layouts/list-4x-box-vertical.json +40 -0
  219. package/dist/spec/catalogs/layouts/list-4x-box.json +40 -0
  220. package/dist/spec/catalogs/layouts/list-4x-itemimage-title-center.json +45 -0
  221. package/dist/spec/catalogs/layouts/list-4x-itemimage-vertical-title-center.json +45 -0
  222. package/dist/spec/catalogs/layouts/list-4x-itemimage-vertical-title-left.json +45 -0
  223. package/dist/spec/catalogs/layouts/list-4x-itemimage-vertical.json +40 -0
  224. package/dist/spec/catalogs/layouts/list-4x-title-center.json +44 -0
  225. package/dist/spec/catalogs/layouts/list-4x-vertical-title-center.json +44 -0
  226. package/dist/spec/catalogs/layouts/list-4x-vertical-title-left.json +44 -0
  227. package/dist/spec/catalogs/layouts/list-4x-vertical.json +39 -0
  228. package/dist/spec/catalogs/layouts/list-5x-box-title-center.json +48 -0
  229. package/dist/spec/catalogs/layouts/list-5x-box-vertical-title-center.json +50 -0
  230. package/dist/spec/catalogs/layouts/list-5x-box-vertical-title-left.json +50 -0
  231. package/dist/spec/catalogs/layouts/list-5x-box-vertical.json +45 -0
  232. package/dist/spec/catalogs/layouts/list-5x-box.json +43 -0
  233. package/dist/spec/catalogs/layouts/list-5x-itemimage-title-center.json +48 -0
  234. package/dist/spec/catalogs/layouts/list-5x-itemimage-vertical-title-center.json +48 -0
  235. package/dist/spec/catalogs/layouts/list-5x-itemimage-vertical-title-left.json +48 -0
  236. package/dist/spec/catalogs/layouts/list-5x-itemimage-vertical.json +43 -0
  237. package/dist/spec/catalogs/layouts/list-5x-title-center.json +47 -0
  238. package/dist/spec/catalogs/layouts/list-5x-vertical-title-center.json +47 -0
  239. package/dist/spec/catalogs/layouts/list-5x-vertical-title-left.json +47 -0
  240. package/dist/spec/catalogs/layouts/list-5x-vertical.json +42 -0
  241. package/dist/spec/catalogs/layouts/list-6x-box-title-center.json +51 -0
  242. package/dist/spec/catalogs/layouts/list-6x-box-vertical-title-center.json +53 -0
  243. package/dist/spec/catalogs/layouts/list-6x-box-vertical-title-left.json +53 -0
  244. package/dist/spec/catalogs/layouts/list-6x-box-vertical.json +48 -0
  245. package/dist/spec/catalogs/layouts/list-6x-box.json +46 -0
  246. package/dist/spec/catalogs/layouts/list-6x-itemimage-title-center.json +51 -0
  247. package/dist/spec/catalogs/layouts/list-6x-itemimage-vertical-title-center.json +51 -0
  248. package/dist/spec/catalogs/layouts/list-6x-itemimage-vertical-title-left.json +51 -0
  249. package/dist/spec/catalogs/layouts/list-6x-itemimage-vertical.json +46 -0
  250. package/dist/spec/catalogs/layouts/list-6x-title-center.json +50 -0
  251. package/dist/spec/catalogs/layouts/list-6x-vertical-title-center.json +50 -0
  252. package/dist/spec/catalogs/layouts/list-6x-vertical-title-left.json +50 -0
  253. package/dist/spec/catalogs/layouts/list-6x-vertical.json +45 -0
  254. package/dist/spec/catalogs/layouts/logic-tree.json +69 -0
  255. package/dist/spec/catalogs/layouts/market-size.json +26 -2
  256. package/dist/spec/catalogs/layouts/network-dependency-map.json +1 -4
  257. package/dist/spec/catalogs/layouts/number-1x-box-title-center.json +30 -0
  258. package/dist/spec/catalogs/layouts/number-1x-box.json +25 -0
  259. package/dist/spec/catalogs/layouts/number-1x-title-center.json +29 -0
  260. package/dist/spec/catalogs/layouts/number-2x-box-title-center.json +36 -0
  261. package/dist/spec/catalogs/layouts/number-2x-box.json +31 -0
  262. package/dist/spec/catalogs/layouts/number-2x-title-center.json +35 -0
  263. package/dist/spec/catalogs/layouts/number-3x-box-title-center.json +39 -0
  264. package/dist/spec/catalogs/layouts/number-3x-box.json +34 -0
  265. package/dist/spec/catalogs/layouts/number-3x-title-center.json +38 -0
  266. package/dist/spec/catalogs/layouts/number-4x-box-title-center.json +43 -0
  267. package/dist/spec/catalogs/layouts/number-4x-box.json +38 -0
  268. package/dist/spec/catalogs/layouts/number-4x-title-center.json +42 -0
  269. package/dist/spec/catalogs/layouts/number-5x-box-title-center.json +46 -0
  270. package/dist/spec/catalogs/layouts/number-5x-box.json +41 -0
  271. package/dist/spec/catalogs/layouts/number-5x-title-center.json +45 -0
  272. package/dist/spec/catalogs/layouts/number-6x-box-title-center.json +49 -0
  273. package/dist/spec/catalogs/layouts/number-6x-box.json +44 -0
  274. package/dist/spec/catalogs/layouts/number-6x-title-center.json +48 -0
  275. package/dist/spec/catalogs/layouts/org-chart.json +53 -6
  276. package/dist/spec/catalogs/layouts/persona-grid.json +1 -4
  277. package/dist/spec/catalogs/layouts/photo-grid.json +1 -4
  278. package/dist/spec/catalogs/layouts/product-feature.json +1 -4
  279. package/dist/spec/catalogs/layouts/screenshot-walkthrough.json +1 -4
  280. package/dist/spec/catalogs/layouts/swimlane-process.json +1 -4
  281. package/dist/spec/catalogs/layouts/team-bio.json +1 -4
  282. package/dist/spec/catalogs/layouts/text-1x-box-title-center.json +31 -0
  283. package/dist/spec/catalogs/layouts/text-1x-box-title-left.json +31 -0
  284. package/dist/spec/catalogs/layouts/text-1x-center-box-title-center.json +31 -0
  285. package/dist/spec/catalogs/layouts/text-1x-center-box-title-left.json +31 -0
  286. package/dist/spec/catalogs/layouts/text-1x-center-box.json +26 -0
  287. package/dist/spec/catalogs/layouts/text-1x-center-title-center.json +30 -0
  288. package/dist/spec/catalogs/layouts/text-1x-center-title-left.json +30 -0
  289. package/dist/spec/catalogs/layouts/text-1x-center.json +25 -0
  290. package/dist/spec/catalogs/layouts/text-1x-left-box.json +26 -0
  291. package/dist/spec/catalogs/layouts/text-1x-title-center.json +30 -0
  292. package/dist/spec/catalogs/layouts/text-2x-box-title-center.json +37 -0
  293. package/dist/spec/catalogs/layouts/text-2x-box-vertical-title-left.json +37 -0
  294. package/dist/spec/catalogs/layouts/text-2x-center-box-title-center.json +37 -0
  295. package/dist/spec/catalogs/layouts/text-2x-center-box-vertical-title-left.json +37 -0
  296. package/dist/spec/catalogs/layouts/text-2x-center-box.json +32 -0
  297. package/dist/spec/catalogs/layouts/text-2x-center-title-center.json +36 -0
  298. package/dist/spec/catalogs/layouts/text-2x-center-vertical-title-left.json +36 -0
  299. package/dist/spec/catalogs/layouts/text-2x-center.json +31 -0
  300. package/dist/spec/catalogs/layouts/text-2x-left-box.json +32 -0
  301. package/dist/spec/catalogs/layouts/text-2x-title-center.json +36 -0
  302. package/dist/spec/catalogs/layouts/text-2x-vertical-title-left.json +36 -0
  303. package/dist/spec/catalogs/layouts/text-3x-box-title-center.json +40 -0
  304. package/dist/spec/catalogs/layouts/text-3x-box-vertical-title-left.json +41 -0
  305. package/dist/spec/catalogs/layouts/text-3x-center-box-title-center.json +40 -0
  306. package/dist/spec/catalogs/layouts/text-3x-center-box-vertical-title-left.json +41 -0
  307. package/dist/spec/catalogs/layouts/text-3x-center-box.json +35 -0
  308. package/dist/spec/catalogs/layouts/text-3x-center-title-center.json +39 -0
  309. package/dist/spec/catalogs/layouts/text-3x-center-vertical-title-left.json +40 -0
  310. package/dist/spec/catalogs/layouts/text-3x-center.json +34 -0
  311. package/dist/spec/catalogs/layouts/text-3x-left-box.json +35 -0
  312. package/dist/spec/catalogs/layouts/text-3x-left.json +34 -0
  313. package/dist/spec/catalogs/layouts/text-3x-title-center.json +39 -0
  314. package/dist/spec/catalogs/layouts/text-3x-vertical-title-left.json +40 -0
  315. package/dist/spec/catalogs/layouts/title-center-box.json +27 -0
  316. package/dist/spec/catalogs/layouts/title-center-image-bottom.json +34 -0
  317. package/dist/spec/catalogs/layouts/title-center-image-top.json +34 -0
  318. package/dist/spec/catalogs/layouts/title-center.json +26 -0
  319. package/dist/spec/catalogs/layouts/title-left-image-bottom.json +34 -0
  320. package/dist/spec/catalogs/layouts/title-left-image-left.json +34 -0
  321. package/dist/spec/catalogs/layouts/title-left-image-right.json +34 -0
  322. package/dist/spec/catalogs/layouts/title-left-image-top.json +34 -0
  323. package/dist/spec/catalogs/manifest.json +18 -18
  324. package/dist/spec/catalogs/narratives/heros-journey.json +1 -1
  325. package/dist/spec/catalogs/narratives/index.json +1 -1
  326. package/dist/spec/openapi.yaml +3 -3
  327. package/dist/spec/reference/engine-defaults.json +22 -30
  328. package/dist/spec/reference/engine-vocabularies.json +1577 -0
  329. package/dist/spec/schemas/audience.schema.json +5 -26
  330. package/dist/spec/schemas/catalog-manifest.schema.json +3 -3
  331. package/dist/spec/schemas/chart-type.schema.json +2 -35
  332. package/dist/spec/schemas/color-scheme.schema.json +3 -24
  333. package/dist/spec/schemas/finding.schema.json +1 -1
  334. package/dist/spec/schemas/font-scheme.schema.json +6 -37
  335. package/dist/spec/schemas/language.schema.json +7 -28
  336. package/dist/spec/schemas/layout.schema.json +227 -55
  337. package/dist/spec/schemas/narrative.schema.json +4 -24
  338. package/dist/spec/schemas/opf.schema.json +410 -374
  339. package/dist/spec/schemas/purpose.schema.json +5 -26
  340. package/dist/spec/schemas/social-platform.schema.json +2 -23
  341. package/dist/spec/schemas/theme.schema.json +9 -37
  342. package/dist/spec/schemas/tone.schema.json +4 -25
  343. package/dist/spec-files.d.ts +1 -1
  344. package/dist/spec-files.js +1 -1
  345. package/dist/types.d.ts +1103 -4
  346. package/dist/{validation-types-zh03LeZy.d.ts → validation-types-HxIgJfKx.d.ts} +7 -7
  347. package/dist/validator.d.ts +15 -12
  348. package/dist/validator.js +5 -5
  349. package/dist/yaml.d.ts +22 -7
  350. package/dist/yaml.js +9 -321
  351. package/package.json +9 -9
  352. package/dist/catalogs-D-yyQWCQ.d.ts +0 -1343
  353. package/dist/catalogs.d.ts +0 -2
  354. package/dist/catalogs.js +0 -2
  355. package/dist/chunk-PIQXLBBJ.js +0 -445
  356. package/dist/chunk-S5W34SIJ.js +0 -1
  357. package/dist/previews.d.ts +0 -40
  358. package/dist/previews.js +0 -1
  359. package/dist/schemas-DDpqAgyS.d.ts +0 -284
  360. package/dist/spec/catalogs/layouts/image-bleed.json +0 -20
@@ -1,4 +1,5 @@
1
- import './chart-data-B_3z9VTb.js';
1
+ import { b as CatalogOptions } from './catalog-refs-_anZs-Qz.js';
2
+ import './chart-data-BnNqgnC-.js';
2
3
 
3
4
  /** Canonical table grid. No renderer, fonts, DOM or network dependencies. */
4
5
  interface TableBorder {
@@ -44,7 +45,7 @@ declare function tableGrid(value: unknown, path?: string): TableGrid;
44
45
  declare function tableRowBoundaries(value: unknown): number[];
45
46
 
46
47
  /** The `design` keys that a layout record, the deck and a slide all share and that composition resolves per key. */
47
- declare const DESIGN_HINT_KEYS: readonly ["titleAlignment", "contentAlignment", "contentBox", "contentDirection", "chartPrimary", "imageFill", "listBullet"];
48
+ declare const DESIGN_HINT_KEYS: readonly ["titleAlignment", "contentAlignment", "contentBox", "contentDirection", "chartPrimary", "imageFit", "listBullet"];
48
49
  type DesignHintKey = typeof DESIGN_HINT_KEYS[number];
49
50
  /** Where an effective design hint came from: the slide's own `design`, the deck's `design`, or the slide's layout record. */
50
51
  type DesignHintSource = 'slide' | 'deck' | 'layout';
@@ -55,7 +56,7 @@ interface DesignHints {
55
56
  contentBox?: boolean;
56
57
  contentDirection?: 'horizontal' | 'vertical';
57
58
  chartPrimary?: 'none' | 'top' | 'bottom' | 'left' | 'right';
58
- imageFill?: 'crop' | 'fit';
59
+ imageFit?: 'cover' | 'contain' | 'stretch';
59
60
  listBullet?: 'character' | 'image';
60
61
  }
61
62
  /** The effective hints plus which level supplied each key and the document path that names it. */
@@ -171,6 +172,29 @@ interface ReadingBox {
171
172
  */
172
173
  declare function visualReadingOrder<T extends ReadingBox>(items: readonly T[], direction?: 'ltr' | 'rtl'): T[];
173
174
 
175
+ /**
176
+ * Intrinsic aspect ratio (width / height) of an image source, read without fetching: an embedded
177
+ * `data:` URI (PNG, JPEG, GIF, WebP, SVG), or an `asset:<id>` reference to one in `assets`.
178
+ * Any other source (a URL or file path) has no readable dimensions here and returns undefined;
179
+ * hosts resolve those themselves.
180
+ *
181
+ * Only a bounded prefix of the payload is decoded (never the whole of a multi-megabyte logo): 64 KiB, which
182
+ * holds every PNG, GIF and WebP header and the root `<svg>` tag of any real SVG, then 1 MiB for a JPEG whose
183
+ * start-of-frame segment sits behind large EXIF or ICC data. A JPEG whose frame header is still not inside
184
+ * 1 MiB, or an SVG whose root tag is not inside 64 KiB, has no readable proportions (undefined, so a square
185
+ * box). Results are memoized per source string, so a deck's repeated header image is read once.
186
+ */
187
+ type Dimensions = {
188
+ width: number;
189
+ height: number;
190
+ };
191
+ /** Whether the value is an embedded raster or SVG image whose size is readable, and its pixel size (SVG: its user-unit size). */
192
+ declare function intrinsicImageSize(value: unknown, assets?: unknown): (Dimensions & {
193
+ svg: boolean;
194
+ }) | undefined;
195
+ /** Width / height of an embedded image, following `asset:<id>` references through `assets`; undefined when unreadable. */
196
+ declare function intrinsicImageAspect(value: unknown, assets?: unknown): number | undefined;
197
+
174
198
  /**
175
199
  * Text direction primitives shared by composition, the renderer and the PPTX exporter (RR-05).
176
200
  * Pure: no fonts, DOM or catalogs. Deck direction comes from the presentation language's script
@@ -208,6 +232,58 @@ declare function physicalAlignment(alignment: PhysicalAlignment | undefined, dir
208
232
  */
209
233
  declare function paragraphDirectionAt(text: string, deckDirection: TextDirection | string | undefined): (offset: number) => TextDirection;
210
234
 
235
+ /**
236
+ * Engine defaults and engine vocabularies (OPF 0.15, FA-20/21). Small tables of values every engine must know to
237
+ * draw, compiled from spec/reference/engine-defaults.json and spec/reference/engine-vocabularies.json. None of
238
+ * this is catalog data: a document never references these records, and no catalog lookup reaches them.
239
+ */
240
+ type Rec = Readonly<Record<string, unknown>>;
241
+ /** The drawing fields of the theme engines use when a document names none, or its theme resolves nowhere. */
242
+ declare const ENGINE_DEFAULT_THEME: Rec;
243
+ /** The twelve slots engines use when neither the design nor the theme names a resolvable colour scheme. */
244
+ declare const ENGINE_DEFAULT_COLOR_SCHEME: Rec;
245
+ /** The font pair engines use when neither the design nor the theme names a resolvable font scheme. */
246
+ declare const ENGINE_DEFAULT_FONT_SCHEME: Rec;
247
+ /** Chart types in the order an engine offers them when it must pick one. */
248
+ declare const ENGINE_DEFAULT_CHART_TYPES: readonly string[];
249
+ /** Every `chart.type` value: an engine vocabulary, validated directly. */
250
+ declare const CHART_TYPES: readonly string[];
251
+ /** How an engine links a handle on one social platform. */
252
+ interface SocialPlatformVocabulary {
253
+ readonly baseUrl?: string;
254
+ /** URL of a person's profile, with `{handle}` standing for the handle. */
255
+ readonly profileUrlPattern?: string;
256
+ /** URL of an organization's page, when the platform has a separate one. */
257
+ readonly companyUrlPattern?: string;
258
+ /** Prefix a handle is written with (`@` on X). */
259
+ readonly handlePrefix?: string;
260
+ }
261
+ /** The keys of `Organization.socials` and `Speaker.socials`: an engine vocabulary, validated directly. */
262
+ declare const SOCIAL_PLATFORMS: Readonly<Record<string, SocialPlatformVocabulary>>;
263
+ /** What engines know about one language tag. */
264
+ interface LanguageVocabulary {
265
+ /** BCP-47 tag, canonically cased. */
266
+ readonly tag: string;
267
+ /** ISO 15924 script. */
268
+ readonly script: string;
269
+ readonly direction: 'ltr' | 'rtl';
270
+ /** Curated OOXML culture tag (`ja-JP` for `ja`). */
271
+ readonly ooxmlLang: string;
272
+ /** Default script fonts (major/minor) per target application. */
273
+ readonly fonts: {
274
+ readonly powerpoint: {
275
+ readonly major: string;
276
+ readonly minor: string;
277
+ };
278
+ readonly google: {
279
+ readonly major: string;
280
+ readonly minor: string;
281
+ };
282
+ };
283
+ }
284
+ /** The language tags engines know the script, direction, OOXML tag and default script fonts of. */
285
+ declare const LANGUAGES: readonly LanguageVocabulary[];
286
+
211
287
  /**
212
288
  * Numbered lists: the `numbering` field of `items` and `bullets` payloads.
213
289
  *
@@ -467,13 +543,13 @@ declare function surfaceAltColor(surface: string, text: string): string;
467
543
  * Resolves, for a presentation's language and effective font scheme, the font
468
544
  * family for each OOXML script slot (`a:latin`, `a:ea`, `a:cs`) of the major
469
545
  * (heading) and minor (body) theme fonts, plus the language tags and base
470
- * direction. Pure: no DOM, fonts, network or mutation. Catalog references
471
- * resolve against inline `catalogs.<kind>.records[]` first and the bundled
472
- * catalogs second; a custom `source` is not fetched.
546
+ * direction. Pure: no DOM, fonts, network or mutation. Font-scheme references
547
+ * resolve like every content reference (the document's catalogs groups, then the
548
+ * registered catalogs); nothing is fetched.
473
549
  *
474
- * Catalog ids and catalog tags resolve deterministically from vendored tables.
475
- * Only a tag that matches no catalog record may consult the runtime's ICU
476
- * likely subtags (`Intl.Locale#maximize`) to find its script.
550
+ * The language is an engine vocabulary: tags the vocabulary knows resolve
551
+ * deterministically from vendored tables. Only a tag outside it may consult the
552
+ * runtime's ICU likely subtags (`Intl.Locale#maximize`) to find its script.
477
553
  *
478
554
  * Design: docs/programs/font-fidelity-everywhere/script-font-model.md.
479
555
  */
@@ -510,12 +586,12 @@ interface ScriptFontSupplement {
510
586
  heading: string;
511
587
  body: string;
512
588
  }
513
- interface ResolveScriptFontsOptions {
514
- /** Which language font-scheme default applies. Defaults to `powerpoint` (`language.fontScheme`); `google-slides` prefers `language.googleFontScheme`. */
589
+ interface ResolveScriptFontsOptions extends CatalogOptions {
590
+ /** Which language font default applies. Defaults to `powerpoint` (`language.fontScheme`, else the vocabulary default); `google-slides` prefers `language.googleFontScheme`. */
515
591
  app?: ScriptFontApp;
516
592
  /** Merge `slides[slideIndex].design` over the deck design, per field, before resolving the font scheme. */
517
593
  slideIndex?: number;
518
- /** Language reference to resolve instead of the document's `language` (catalog id, BCP-47 tag or Language object). */
594
+ /** Language to resolve instead of the document's `language` (a BCP-47 tag or a Language object). */
519
595
  language?: unknown;
520
596
  /** Language tag used when neither the document nor `options.language` names a resolvable language. Defaults to `en-US`. */
521
597
  defaultLanguage?: string;
@@ -523,13 +599,11 @@ interface ResolveScriptFontsOptions {
523
599
  interface ResolvedScriptFonts extends ScriptFontSlots {
524
600
  /**
525
601
  * Tag for OOXML `a:rPr/@lang` (and `a:endParaRPr/@lang`): an authored tag that carries a region,
526
- * else the language record's curated `ooxmlLang`, else the canonical BCP-47 tag.
602
+ * else the curated `ooxmlLang` of the language vocabulary, else the canonical BCP-47 tag.
527
603
  */
528
604
  lang: string;
529
- /** Canonically cased BCP-47 tag for HTML/SVG `lang`: the authored tag, else the record's `bcp47`. */
605
+ /** Canonically cased BCP-47 tag for HTML/SVG `lang`: the authored tag. */
530
606
  bcp47: string;
531
- /** Matched languages catalog record id, when one matched. */
532
- languageId?: string;
533
607
  /** `default` when the tag came from `defaultLanguage` because no language resolved. */
534
608
  languageSource: "document" | "option" | "default";
535
609
  /** ISO 15924 script (`Zzzz` when it cannot be determined). */
@@ -564,7 +638,7 @@ declare function scriptFontRole(script: string): ScriptRole;
564
638
  *
565
639
  * The latin slot follows the effective design font scheme exactly as
566
640
  * `resolveFontFamilies` does; when nothing names a font scheme it falls back to
567
- * the shared `DEFAULT_FONT_SCHEME`. Each of the eastAsian and complexScript slots
641
+ * the engine default font scheme. Each of the eastAsian and complexScript slots
568
642
  * takes, in order: the design font scheme's explicit slot; the scheme's own
569
643
  * families when its `languageFamily` names the slot and its `languages` list
570
644
  * is empty or names the language; the language's font scheme when the
@@ -1176,11 +1250,13 @@ declare function chartHighlightMarks(highlight: ResolvedChartHighlight | undefin
1176
1250
  /** Placeholder kinds that hold slide content (everything except the three heading kinds). */
1177
1251
  declare const LAYOUT_BODY_KINDS: readonly ["text", "list", "image", "video", "chart", "table", "code", "metric", "quote", "timeline"];
1178
1252
  type LayoutBodyKind = typeof LAYOUT_BODY_KINDS[number];
1253
+ /** FA-26: how deeply placeholder groups may nest inside one layout record (a top-level group is level 1). */
1254
+ declare const MAX_PLACEHOLDER_GROUP_DEPTH = 3;
1179
1255
  /** What a layout record holds, derived from its placeholders. */
1180
1256
  interface LayoutContent {
1181
- /** The most frequent body placeholder kind (a tie goes to the kind that appears first in placeholder order), or 'title' when the layout has no body placeholder. */
1257
+ /** The most frequent body placeholder kind (a tie goes to the kind that appears first in reading order), or 'title' when the layout has no body placeholder. */
1182
1258
  kind: LayoutBodyKind | 'title';
1183
- /** The number of body placeholders. */
1259
+ /** The number of body placeholders: the leaf regions, inside placeholder groups too. */
1184
1260
  count: number;
1185
1261
  /** Which heading placeholders the layout has. */
1186
1262
  heading: {
@@ -1189,14 +1265,62 @@ interface LayoutContent {
1189
1265
  tag: boolean;
1190
1266
  };
1191
1267
  }
1268
+ /** One leaf region of a layout record, in reading order (depth first, in array order). */
1269
+ interface LayoutLeaf {
1270
+ /** The region's content kind (a heading kind only at the top level). */
1271
+ type: string;
1272
+ /** Where the region is written: `layout.placeholders.1`, or `layout.placeholders.1.placeholders.0` inside a group. */
1273
+ path: string;
1274
+ /** 0 for a top-level region, else the level of the placeholder group that holds it (1 to 3). */
1275
+ depth: number;
1276
+ /** The raw placeholder entry. */
1277
+ placeholder: Record<string, unknown>;
1278
+ }
1279
+ /** A placeholder entry of a layout record, as composition reads it: a region, or a group of entries. */
1280
+ interface LayoutSlot {
1281
+ type: string;
1282
+ path: string;
1283
+ depth: number;
1284
+ placeholder: Record<string, unknown>;
1285
+ /** Present on a placeholder group: its entries, in reading order. */
1286
+ children?: LayoutSlot[];
1287
+ }
1288
+ /** Whether a placeholder entry is a placeholder group (`{ type: "group", composition, placeholders }`). */
1289
+ declare function isPlaceholderGroup(placeholder: unknown): placeholder is {
1290
+ type: 'group';
1291
+ composition?: Record<string, unknown>;
1292
+ placeholders: unknown[];
1293
+ };
1294
+ /**
1295
+ * The placeholder tree of a layout record: every entry with its path and depth, groups with their children.
1296
+ * Throws a RangeError for a record composition cannot use: a group without placeholders, a heading inside a group, or
1297
+ * groups nested deeper than MAX_PLACEHOLDER_GROUP_DEPTH. Validation reports the same cases as schema errors first.
1298
+ */
1299
+ declare function layoutSlots(layout: {
1300
+ placeholders?: unknown;
1301
+ } | null | undefined, base?: string): LayoutSlot[];
1302
+ /** The leaf regions of a layout record in reading order, the order slide content fills them (FA-26). Groups are flattened. */
1303
+ declare function layoutLeaves(layout: {
1304
+ placeholders?: unknown;
1305
+ } | null | undefined): LayoutLeaf[];
1306
+ /**
1307
+ * A one-line summary of a record's placeholders in reading order, each group with its mode and its entries in parentheses:
1308
+ * `title, column (text, text), chart`. Pickers and catalog pages show it where a flat list of kinds would hide the structure.
1309
+ */
1310
+ declare function layoutStructure(layout: {
1311
+ placeholders?: unknown;
1312
+ } | null | undefined): string;
1313
+ /** Whether a layout record holds at least one placeholder group. */
1314
+ declare function hasPlaceholderGroups(layout: {
1315
+ placeholders?: unknown;
1316
+ } | null | undefined): boolean;
1192
1317
  /**
1193
1318
  * Derives what a layout holds from its `placeholders`, which are the single source of truth: the content kind,
1194
- * the number of body regions and which headings it has are never stored on the record.
1319
+ * the number of body regions and which headings it has are never stored on the record. Placeholder groups count
1320
+ * through their leaves.
1195
1321
  */
1196
- declare function layoutContent(record: {
1197
- placeholders?: ReadonlyArray<{
1198
- type?: string;
1199
- } | null | undefined>;
1322
+ declare function layoutContent(layout: {
1323
+ placeholders?: ReadonlyArray<unknown>;
1200
1324
  } | null | undefined): LayoutContent;
1201
1325
 
1202
1326
  /** Portable layout geometry. No fonts, DOM, renderer, or network dependencies. */
@@ -1243,34 +1367,8 @@ interface FontFamilies {
1243
1367
  code: string;
1244
1368
  accent?: string;
1245
1369
  }
1246
- /** Shared last-resort font-scheme id when neither the slide, the deck nor the resolved theme names one.
1247
- * One default for every engine, so preview matches export (font-fidelity-everywhere owner decision). */
1248
- declare const DEFAULT_FONT_SCHEME = "aptos";
1249
- /** Reported when a font-scheme id matches no inline or bundled record. Every engine then uses the
1250
- * DEFAULT_FONT_SCHEME record as the base, with any sibling overrides on top. */
1251
- interface FontSchemeDiagnostic {
1252
- code: "unresolved-font-scheme";
1253
- /** Where the unresolved id is written: `slides.N.design.fontScheme`, `design.fontScheme`, or the
1254
- * `design.theme` reference whose record names it. */
1255
- path: string;
1256
- message: string;
1257
- /** The unresolved font-scheme id. */
1258
- id: string;
1259
- /** The font scheme used instead (DEFAULT_FONT_SCHEME). */
1260
- fallback: string;
1261
- }
1262
- interface ResolvedFontScheme {
1263
- scheme: Record<string, unknown>;
1264
- diagnostic?: FontSchemeDiagnostic;
1265
- }
1266
- /** Resolve a font-scheme reference the same way in every engine. A string id, or the `id` of an object
1267
- * reference, resolves through `lookup` (inline records, then bundled or host catalogs). An unresolved id
1268
- * returns a diagnostic, and the DEFAULT_FONT_SCHEME record becomes the base, so preview and export use
1269
- * the same families. An object without `id` is an inline scheme on the same base. Sibling fields on an
1270
- * object reference override the base per key. */
1271
- declare function resolveFontSchemeReference(reference: unknown, lookup: (id: string) => unknown, path?: string): ResolvedFontScheme;
1272
- /** Resolve role families from an already-merged font scheme (catalog record plus design overrides).
1273
- * A scheme that names no heading or body family gets the DEFAULT_FONT_SCHEME families (Aptos Display, Aptos).
1370
+ /** Resolve role families from an already-merged font scheme (the resolved record plus design overrides).
1371
+ * A scheme that names no heading or body family gets the engine default families (Aptos Display, Aptos).
1274
1372
  * `code` comes from the scheme's `code` role, which catalog records such as consolas and courier-new
1275
1373
  * carry; otherwise it is Roboto Mono. Heading and body families are never reused for code.
1276
1374
  * `accent` is returned only when the scheme defines an `accent` role (a family name string);
@@ -1365,6 +1463,8 @@ interface ComposedItem {
1365
1463
  * the media box after the band is reserved; `caption.box` is the band inside the same region.
1366
1464
  */
1367
1465
  caption?: ComposedCaption;
1466
+ /** Picture geometry and treatments of an image item (`field` image); absent on every other item. */
1467
+ image?: ComposedImage;
1368
1468
  /** Effective container settings, including inherited readability constraints. */
1369
1469
  composition: Composition;
1370
1470
  /**
@@ -1374,38 +1474,85 @@ interface ComposedItem {
1374
1474
  */
1375
1475
  alignment: 'left' | 'center' | 'right';
1376
1476
  }
1477
+ /** How a picture fills its frame: cover crops around the focus, contain shows all of it, stretch scales it to the frame. */
1478
+ type ImageFit = 'cover' | 'contain' | 'stretch';
1479
+ /** A background also tiles: the picture repeats at its own size from the canvas's top-left corner. */
1480
+ type BackgroundImageFit = ImageFit | 'tile';
1481
+ /** A slide or frame edge, physical (already mirrored in a right-to-left deck). */
1482
+ type ImageEdge = 'left' | 'right' | 'top' | 'bottom';
1483
+ /** A point of a picture as fractions of its width and height from the top-left corner; the default is { x: 0.5, y: 0.5 }. */
1484
+ interface ImageFocus {
1485
+ x: number;
1486
+ y: number;
1487
+ }
1488
+ /** A frame mask. path follows the ECMA-376 preset formula for preset/adjust exactly, in reference pixels. */
1489
+ interface ImageShape {
1490
+ kind: 'rectangle' | 'rounded' | 'circle' | 'hexagon';
1491
+ preset: 'rect' | 'roundRect' | 'ellipse' | 'hexagon';
1492
+ /** DrawingML avLst guide values (for example adj and vf), in 1/100000 units. */
1493
+ adjust: Record<string, number>;
1494
+ path: string;
1495
+ }
1496
+ /** One overlay, shared by image backgrounds and image blocks: drawn directly above its picture, beneath content. */
1497
+ interface ComposedOverlay {
1498
+ /** OPF path of the overlay value, for example `slides.3.design.background.overlay` or `slides.3.blocks.0.overlay`. */
1499
+ path: string;
1500
+ /** ColorRef as authored (hex, eight-digit hex alpha, scheme slot or role, `var:<id>`); engines resolve it. */
1501
+ color: unknown;
1502
+ /** Fill opacity, 0 to 1, multiplied with any eight-digit hex alpha. */
1503
+ opacity: number;
1504
+ /** Physical edge of a band overlay; absent when the overlay covers the whole frame. */
1505
+ edge?: ImageEdge;
1506
+ /** Area covered: the whole frame, or the edge band. */
1507
+ box: LayoutBox;
1508
+ /** Outline to fill: the frame's shape for a whole-frame overlay, a rectangle for a band. */
1509
+ shape: ImageShape;
1510
+ }
1511
+ /** Where the whole picture lands for a fit, for a picture whose aspect ratio is known (see `fitImage`). */
1512
+ interface ImageFitPlacement {
1513
+ /** The whole picture's rectangle in slide coordinates: past the frame for cover, inside it for contain, the frame for stretch. */
1514
+ image: LayoutBox;
1515
+ /** DrawingML srcRect insets as fractions of the picture (positive crops, negative pads); all 0 for stretch. */
1516
+ crop: {
1517
+ left: number;
1518
+ top: number;
1519
+ right: number;
1520
+ bottom: number;
1521
+ };
1522
+ }
1523
+ /** A placed image block's band (FA-22): the image bleeds to `edge` and the rest of the slide composes beside it. */
1524
+ interface ComposedPlacement {
1525
+ /** Physical edge: in a right-to-left deck an authored `left` (the start side) is `right` here. */
1526
+ edge: ImageEdge;
1527
+ /** Share of the slide width (left, right) or height (top, bottom), 0.1 to 0.9. */
1528
+ size: number;
1529
+ /** True when the frame sits inside the slide padding instead of edge to edge. */
1530
+ inset: boolean;
1531
+ /** Where the placement is written: `slides.N.blocks.I.placement`, or `layout.placeholders.P.placement` for a layout image placeholder's. */
1532
+ path: string;
1533
+ }
1377
1534
  /**
1378
- * Slide-level image resolved from design.slideImage. It is active when the slide sets its own
1379
- * design.slideImage, or when the deck sets one and either the slide's layout record sets
1380
- * design.slideImage, or the slide's root image is the same source.
1381
- * Content composes in the part of the slide the image does not occupy; 'background' leaves the whole slide.
1535
+ * Resolved picture geometry of an image item (FA-22): every composed item with `field` 'image' carries one. Engines
1536
+ * draw the picture in `box` with `fit` and `focus`, clipped to `shape`, with `recolor` and `opacity` on its pixels
1537
+ * only, then the `border` on the shape outline, then the `overlay`. This is the paint order and the treatment code
1538
+ * 0.14's slide image used.
1382
1539
  */
1383
- interface ComposedSlideImage {
1384
- /** The design value that configured the image: 'design.slideImage' or 'slides.N.design.slideImage'. */
1385
- path: string;
1386
- /** Path of the drawn asset value: the design value, or the slide's root image payload it replaced. */
1387
- sourcePath: string;
1388
- /** Asset value (string or Asset object) that engines resolve like any other image. */
1389
- value: unknown;
1390
- position: 'background' | 'top' | 'bottom' | 'left' | 'right';
1391
- /** crop covers the frame (centered); fit shows the whole image centered inside it. */
1392
- fill: 'crop' | 'fit';
1393
- /** Band allocated to the image. */
1540
+ interface ComposedImage {
1541
+ /** Allocated region, equal to the item's box: the flow cell (after any card padding and caption band) or the placement band. */
1394
1542
  region: LayoutBox;
1395
- /** Image frame inside the region. */
1543
+ /** Picture frame inside the region: the band inside the slide padding for an inset placement, then the largest centered box with `aspectRatio` (a circle uses 1). */
1396
1544
  box: LayoutBox;
1397
- /** True when the slide's root image payload became this slide image instead of a content item. */
1398
- replacesContent: boolean;
1399
- /** Treatment alt text; engines fall back to the asset's own alt text. */
1400
- alt?: string;
1545
+ /** The block's own fit, else the effective design.imageFit, else cover. */
1546
+ fit: ImageFit;
1547
+ focus: ImageFocus;
1401
1548
  /** Mask on the frame: a DrawingML preset with its guide values, and the same outline as an SVG path. */
1402
- shape: SlideImageShape;
1403
- /** Line centered on the shape outline; width in reference pixels (already scaled to the canvas). */
1549
+ shape: ImageShape;
1550
+ /** Line centered on the shape outline; width in reference pixels, already scaled to the canvas. */
1404
1551
  border?: {
1405
1552
  color: unknown;
1406
1553
  width: number;
1407
1554
  };
1408
- /** Image opacity below 1; the border and overlay are not affected. */
1555
+ /** Picture opacity below 1; the border and overlay are not affected. */
1409
1556
  opacity?: number;
1410
1557
  /** Luminance-based recolor (Rec. 601 weights on sRGB values). */
1411
1558
  recolor?: {
@@ -1415,21 +1562,41 @@ interface ComposedSlideImage {
1415
1562
  dark: unknown;
1416
1563
  light: unknown;
1417
1564
  };
1418
- /** Scrim over the frame (same shape) or over an edge band of a rectangle frame. */
1419
- overlay?: {
1420
- color: unknown;
1421
- opacity: number;
1422
- box: LayoutBox;
1423
- shape: SlideImageShape;
1424
- };
1565
+ overlay?: ComposedOverlay;
1566
+ /** Present on a placed block: the band along a slide edge that `region` is. */
1567
+ placement?: ComposedPlacement;
1568
+ /** Present when core reads the picture's aspect ratio (a data URI, or an `asset:` reference to one); otherwise call `fitImage` with the host's. */
1569
+ picture?: ImageFitPlacement;
1425
1570
  }
1426
- /** A frame mask. path follows the ECMA-376 preset formula for preset/adjust exactly, in reference pixels. */
1427
- interface SlideImageShape {
1428
- kind: 'rectangle' | 'rounded' | 'circle' | 'hexagon';
1429
- preset: 'rect' | 'roundRect' | 'ellipse' | 'hexagon';
1430
- /** DrawingML avLst guide values (for example adj and vf), in 1/100000 units. */
1431
- adjust: Record<string, number>;
1571
+ /**
1572
+ * The slide's picture background (FA-22): the effective `design.background` (the slide's, then the deck's, then
1573
+ * `ComposeSlideOptions.themeBackground`) when it is an image, in object form or as an image-source string. It fills
1574
+ * the whole canvas behind everything and never moves content. Paint order: the colour scheme's default slide
1575
+ * background, the picture (with `recolor` and `opacity` on its pixels), the overlay, then furniture and content.
1576
+ */
1577
+ interface ComposedBackgroundImage {
1578
+ /** Where the background is written: `slides.N.design.background`, `design.background`, or `theme` (ComposeSlideOptions.themeBackground). */
1432
1579
  path: string;
1580
+ /** Image source as authored: `asset:<id>`, an https URL, a data URI or a relative path. */
1581
+ src: string;
1582
+ alt?: string;
1583
+ fit: BackgroundImageFit;
1584
+ focus: ImageFocus;
1585
+ /** The whole canvas. */
1586
+ box: LayoutBox;
1587
+ /** Picture opacity below 1; the overlay keeps its own. */
1588
+ opacity?: number;
1589
+ /** Luminance-based recolor of the pixels (Rec. 601 weights on sRGB values), as on an image block. */
1590
+ recolor?: {
1591
+ type: 'grayscale';
1592
+ } | {
1593
+ type: 'duotone';
1594
+ dark: unknown;
1595
+ light: unknown;
1596
+ };
1597
+ overlay?: ComposedOverlay;
1598
+ /** Present when core reads the picture's aspect ratio and the fit is not tile; otherwise call `fitImage` with the host's. */
1599
+ picture?: ImageFitPlacement;
1433
1600
  }
1434
1601
  /** Which logo variant family a consumer asks for: the full lockup, a square mark, or a stacked lockup. */
1435
1602
  type LogoSlot = 'lockup' | 'icon' | 'stacked';
@@ -1464,6 +1631,33 @@ interface ComposedGroup {
1464
1631
  contentBox: LayoutBox;
1465
1632
  composition: Composition;
1466
1633
  }
1634
+ /**
1635
+ * FA-26: one body placeholder of a layout record that has placeholder groups, as composed: its cell and, for a filled
1636
+ * region, the slide content in it. Groups and empty regions are listed too, so an editor can draw every slot. Only
1637
+ * slides that compose through a record's placeholder groups carry slots.
1638
+ */
1639
+ interface ComposedSlot {
1640
+ /** The placeholder: `layout.placeholders.2`, or `layout.placeholders.2.placeholders.0` inside a group. */
1641
+ path: string;
1642
+ /** The region's content kind, or `group`. */
1643
+ type: string;
1644
+ /** 0 at the record's top level, else the level of the group that holds it (1 to 3). */
1645
+ depth: number;
1646
+ /** The slot's cell (before any card inset or caption band). */
1647
+ box: LayoutBox;
1648
+ /** The OPF path of the content that fills a region; absent for a group and for an empty region. */
1649
+ content?: string;
1650
+ }
1651
+ /**
1652
+ * FA-26: design.chartPrimary is sugar for a placeholder group. The layout record a slide composes as while chartPrimary
1653
+ * applies: the primary chart and one automatic placeholder group of the other root content (`kinds`, in source order),
1654
+ * in a row (left, right) or a column (top, bottom) weighted 3:2 toward the chart. composeSlide builds exactly this record
1655
+ * and fills it like any record with groups, except that the first chart, wherever it is, fills the chart region.
1656
+ */
1657
+ declare function chartPrimaryLayout(side: 'left' | 'right' | 'top' | 'bottom', kinds: readonly string[]): {
1658
+ composition: Composition;
1659
+ placeholders: Record<string, unknown>[];
1660
+ };
1467
1661
  interface CompositionTrack {
1468
1662
  offset: number;
1469
1663
  size: number;
@@ -1522,18 +1716,20 @@ interface SlideComposition {
1522
1716
  items: ComposedItem[];
1523
1717
  groups: ComposedGroup[];
1524
1718
  flows: ComposedFlow[];
1719
+ /** FA-26: the layout record's body placeholders with their cells, when the slide composes through placeholder groups. */
1720
+ slots?: ComposedSlot[];
1525
1721
  diagnostics: LayoutDiagnostic[];
1526
1722
  composition: Composition;
1527
1723
  /** Repeated furniture is measured separately from body pagination leaves. */
1528
1724
  furniture?: FurnitureLayout;
1529
1725
  /**
1530
1726
  * Effective shared design hints of this slide: slide design, then deck design, then the layout record's design,
1531
- * per key. Renderers and exporters read titleAlignment, contentAlignment, contentBox, imageFill and
1532
- * listBullet here instead of re-deriving them from the document.
1727
+ * per key. Renderers and exporters read titleAlignment, contentAlignment, contentBox and
1728
+ * listBullet here instead of re-deriving them from the document; image items carry their resolved fit in `image.fit`.
1533
1729
  */
1534
1730
  design: ResolvedDesignHints;
1535
- /** Active slide-level image; absent when design.slideImage does not apply to this slide. */
1536
- slideImage?: ComposedSlideImage;
1731
+ /** Picture background of this slide; absent when the effective background is not an image. */
1732
+ backgroundImage?: ComposedBackgroundImage;
1537
1733
  /** Deck logo on a cover or section slide; absent on content slides and when no logo resolves. */
1538
1734
  logo?: ComposedLogo;
1539
1735
  /**
@@ -1552,8 +1748,8 @@ interface ComposeSlideOptions {
1552
1748
  design?: {
1553
1749
  header?: unknown;
1554
1750
  footer?: unknown;
1555
- slideImage?: unknown;
1556
- imageFill?: unknown;
1751
+ background?: unknown;
1752
+ imageFit?: unknown;
1557
1753
  logo?: unknown;
1558
1754
  contentDirection?: unknown;
1559
1755
  chartPrimary?: unknown;
@@ -1575,12 +1771,11 @@ interface ComposeSlideOptions {
1575
1771
  */
1576
1772
  darkBackground?: boolean;
1577
1773
  /**
1578
- * Host-resolved social-platform records for generated `socials` furniture.
1579
- * Inline `presentation.catalogs.socialPlatforms.records` take precedence. Hosts
1580
- * normally pass the bundled catalog; without a matching record a handle renders
1581
- * as its raw value, as the Socials contract specifies.
1774
+ * The resolved theme's `background`, the lowest level of the background chain (the slide's design.background, then
1775
+ * the deck's, then this). Only an image background produces geometry (`SlideComposition.backgroundImage`).
1776
+ * `resolveSlideContext` passes it.
1582
1777
  */
1583
- socialPlatforms?: readonly SocialPlatformRecord[];
1778
+ themeBackground?: unknown;
1584
1779
  /** One-based displayed number; source paths still use slideIndex. */
1585
1780
  slideNumber?: number;
1586
1781
  /** Displayed slide count for `{total}` in slideNumberFormat. Defaults to `presentation.slides.length`. */
@@ -1623,7 +1818,25 @@ declare class OPFCompositionError extends Error {
1623
1818
  * Outline of a DrawingML preset in a box, following the ECMA-376 presetShapeDefinitions formulas:
1624
1819
  * roundRect (adj; ss = min(w,h), radius = ss*adj/100000), ellipse, and hexagon (adj, vf).
1625
1820
  */
1626
- declare function slideImageShape(kind: SlideImageShape['kind'], box: LayoutBox, cornerRadius?: number): SlideImageShape;
1821
+ declare function imageShape(kind: ImageShape['kind'], box: LayoutBox, cornerRadius?: number): ImageShape;
1822
+ /**
1823
+ * The shared fit math every engine uses (FA-22). `aspect` is the picture's width / height. cover scales the picture
1824
+ * to cover the frame and centers the focus point in the frame as far as the picture still covers it, so the focus
1825
+ * point always stays in view ({0.5, 0.5} is a center crop, {0, 0} keeps the top-left corner). contain scales it to
1826
+ * fit and centers it; stretch fills the frame exactly. Focus applies to cover only. `crop` holds the DrawingML
1827
+ * srcRect insets as fractions of the picture: positive insets crop, negative insets pad.
1828
+ */
1829
+ declare function fitImage(frame: LayoutBox, fit: ImageFit, aspect: number, focus?: ImageFocus): ImageFitPlacement;
1830
+ /** The background a value describes when it is an image: the object form, or an image-source string (a cover image). */
1831
+ declare function imageBackground(value: unknown): {
1832
+ src: string;
1833
+ alt?: string;
1834
+ fit: BackgroundImageFit;
1835
+ focus: ImageFocus;
1836
+ opacity?: number;
1837
+ recolor?: unknown;
1838
+ overlay?: unknown;
1839
+ } | undefined;
1627
1840
  interface ResolveLogoOptions {
1628
1841
  /** Variant family to prefer; defaults to the full lockup. */
1629
1842
  slot?: LogoSlot;
@@ -1681,21 +1894,12 @@ interface FurnitureTextExtras {
1681
1894
  fields?: FurnitureField[];
1682
1895
  links?: FurnitureSocialLink[];
1683
1896
  }
1684
- /** Social-platform catalog fields used to format a profile. */
1685
- interface SocialPlatformRecord {
1686
- id: string;
1687
- name?: string;
1688
- baseUrl?: string;
1689
- profileUrlPattern?: string;
1690
- companyUrlPattern?: string;
1691
- handlePrefix?: string;
1692
- }
1693
1897
  interface SocialProfile {
1694
1898
  /** Single-line display text: the profile URL without an `https://` scheme, or the raw value. */
1695
1899
  text: string;
1696
1900
  /** Full http(s) URL when the value is one or its platform record formats one. */
1697
1901
  href?: string;
1698
- /** Whether a socialPlatforms record formatted a handle. */
1902
+ /** Whether the platform's URL pattern formatted a handle. */
1699
1903
  resolved: boolean;
1700
1904
  }
1701
1905
  interface FurnitureSocialLink extends SocialProfile {
@@ -1705,11 +1909,11 @@ interface FurnitureSocialLink extends SocialProfile {
1705
1909
  sourcePath: string;
1706
1910
  }
1707
1911
  /**
1708
- * Format one Socials value through its platform record, deterministically and
1912
+ * Format one Socials value through the engine's social-platform vocabulary (SOCIAL_PLATFORMS), deterministically and
1709
1913
  * without network access. `owner` selects companyUrlPattern for organizations.
1710
1914
  * URLs pass through; unknown platforms and unformattable values stay raw.
1711
1915
  */
1712
- declare function resolveSocialProfile(platform: string, value: string, records?: readonly SocialPlatformRecord[], owner?: 'organization' | 'speaker'): SocialProfile;
1916
+ declare function resolveSocialProfile(platform: string, value: string, owner?: 'organization' | 'speaker'): SocialProfile;
1713
1917
  interface FurnitureImagePart extends FurniturePartBase {
1714
1918
  type: 'image';
1715
1919
  image: unknown;
@@ -1796,8 +2000,8 @@ interface QuotePhoto {
1796
2000
  value: unknown;
1797
2001
  /** Square frame, in reference pixels. */
1798
2002
  box: LayoutBox;
1799
- /** Circle mask: the `ellipse` DrawingML preset and the same outline as an SVG path, as design.slideImage shape 'circle'. */
1800
- shape: SlideImageShape;
2003
+ /** Circle mask: the `ellipse` DrawingML preset and the same outline as an SVG path, as an image block's shape 'circle'. */
2004
+ shape: ImageShape;
1801
2005
  }
1802
2006
  interface QuoteLayout {
1803
2007
  algorithm: 'quote-flow-v1';
@@ -2238,4 +2442,4 @@ declare function resolveCanvasDimensions(input: unknown): {
2238
2442
  height: number;
2239
2443
  };
2240
2444
 
2241
- export { type CodeRun as $, type AnnotatedRun as A, type ChartHighlightMarks as B, type ComposeSlideOptions as C, type ChartLabelContent as D, type ChartLabelPosition as E, type FontFamilies as F, type ChartLegendPosition as G, type ChartOptionDiagnostic as H, type ChartOptionKind as I, type ChartOptionSupport as J, type ChartOptionTarget as K, type LanguageFamilyName as L, type MeasureTextWidth as M, type CitationMarker as N, type CitationNote as O, type CodeContent as P, type CodeHighlightBand as Q, type CodeHighlightColors as R, type CodeHighlightEntry as S, type TextMeasurement as T, type CodeHighlightIssue as U, type CodeHighlightLines as V, type CodeLayout as W, type CodeLayoutDiagnostic as X, type CodeLayoutOptions as Y, type CodeLineSegment as Z, type CodeLineSource as _, type FontSchemeDiagnostic as a, type MetricLayoutDiagnostic as a$, type CodeSyntaxPalette as a0, type CodeSyntaxPaletteOptions as a1, type CodeSyntaxPaletteTheme as a2, type CodeTextFit as a3, type CodeTextPart as a4, type CodeToken as a5, type CodeTokenKind as a6, type ComposedCaption as a7, type ComposedFlow as a8, type ComposedFootnoteEntry as a9, type FurnitureImagePart as aA, type FurnitureLayout as aB, type FurniturePart as aC, type FurniturePartBase as aD, type FurnitureSocialLink as aE, type FurnitureTextExtras as aF, type FurnitureTextPart as aG, LAYOUT_BODY_KINDS as aH, type LayoutBodyKind as aI, type LayoutBox as aJ, type LayoutContent as aK, type ListBulletImage as aL, type ListEntryLayout as aM, type ListFit as aN, type ListFitOptions as aO, type ListNumber as aP, type ListText as aQ, type ListValue as aR, type LogoSlot as aS, MAX_COMPOSITION_DEPTH as aT, MAX_NUMBERING_LEVELS as aU, MAX_NUMBERING_VALUE as aV, MAX_ROMAN_VALUE as aW, METRIC_TREND_MIN_CONTRAST as aX, METRIC_TREND_SHAPES as aY, type MetricContent as aZ, type MetricLayout as a_, type ComposedFootnotes as aa, type ComposedGroup as ab, type ComposedItem as ac, type ComposedLogo as ad, type ComposedSlideImage as ae, type Composition as af, type CompositionCandidate as ag, type CompositionDecision as ah, type CompositionExplanation as ai, type CompositionPenalties as aj, type CompositionTrack as ak, DARK_BACKGROUND_LUMINANCE as al, DEFAULT_CHART_LABEL_SEPARATOR as am, DEFAULT_FONT_SCHEME as an, DEFAULT_FURNITURE_DATE_FORMAT as ao, DEFAULT_SLIDE_NUMBER_FORMAT as ap, DESIGN_HINT_KEYS as aq, type DeckCitations as ar, type DesignHintKey as as, type DesignHintSource as at, type DesignHints as au, FONT_SIZE_GRID_PER_PX as av, FOOTNOTE_MAX_RATIO as aw, type FontFaceSelection as ax, type FootnoteLayoutOptions as ay, type FurnitureField as az, type Fonts as b, TIMELINE_OUTLINE_MIN_CONTRAST as b$, type MetricLayoutOptions as b0, type MetricSentiment as b1, type MetricTextPart as b2, type MetricTextSource as b3, type MetricTrend as b4, type MetricTrendColorOptions as b5, type MetricTrendMark as b6, NUMBERING_STYLES as b7, NUMBERING_SUFFIXES as b8, type Numbering as b9, type ResolvedChartHighlight as bA, type ResolvedChartOptions as bB, type ResolvedColorRoles as bC, type ResolvedDesignHints as bD, type ResolvedFontScheme as bE, type ResolvedLogo as bF, type ResolvedNumbering as bG, type ResolvedScriptFonts as bH, type RichText as bI, type RichTextFit as bJ, type RichTextFragment as bK, type RichTextLine as bL, type RichTextOptions as bM, type RichTextRun as bN, SURFACE_ALT_MIN_CONTRAST as bO, SURFACE_ALT_MIX as bP, type ScriptFontApp as bQ, type ScriptFontSlots as bR, type ScriptFontSource as bS, type ScriptFontSupplement as bT, type ScriptRole as bU, type SlideCitations as bV, type SlideComposition as bW, type SlideImageShape as bX, type SocialPlatformRecord as bY, type SocialProfile as bZ, type SourceTextFit as b_, type NumberingInput as ba, type NumberingStyleName as bb, type NumberingSuffix as bc, OPFCompositionError as bd, PATTERN_PRESETS as be, PATTERN_PRESET_ALIASES as bf, PATTERN_TILE_SIZE as bg, PICTURE_BULLET_SCALE as bh, type PhysicalAlignment as bi, type QuoteContent as bj, type QuoteLayout as bk, type QuoteLayoutDiagnostic as bl, type QuoteLayoutOptions as bm, type QuotePhoto as bn, type QuoteTextPart as bo, type QuoteTextSource as bp, type ReadingBox as bq, type Reference as br, type ReferencesSlideOptions as bs, type ResolveColorRefOptions as bt, type ResolveColorRefRoles as bu, type ResolveColorRolesOptions as bv, type ResolveDesignHintsOptions as bw, type ResolveLogoOptions as bx, type ResolveScriptFontsOptions as by, type ResolvedChartDataLabels as bz, type LayoutDiagnostic as c, layoutFurniture as c$, TIMELINE_STATUSES as c0, TIMELINE_TEXT_MIN_CONTRAST as c1, type TableBorder as c2, type TableCellLayout as c3, type TableCellStyle as c4, type TableGrid as c5, type TableGridCell as c6, type TableGridIssue as c7, type TableLayout as c8, type TableLayoutOptions as c9, chartOptionTarget as cA, chartPaletteForFill as cB, citationMarkerText as cC, codeHighlightBands as cD, codeHighlightColors as cE, codeHighlightLines as cF, codeLineNumbers as cG, codeLineRuns as cH, codeSyntaxPalette as cI, codeSyntaxPaletteForScheme as cJ, collectCitations as cK, colorContrast as cL, composeSlide as cM, defaultSlideBackground as cN, fitList as cO, fitRichText as cP, fitText as cQ, formatChartLabelNumber as cR, formatChartLabelPercent as cS, formatFurnitureDate as cT, formatListNumber as cU, formatSlideNumber as cV, isDarkColor as cW, layoutCaption as cX, layoutCode as cY, layoutContent as cZ, layoutFootnotes as c_, type TableRowLayout as ca, type TextDirection as cb, type TextFit as cc, type TextLineInk as cd, type TextLineSegment as ce, type TextLineSource as cf, type TextPlacement as cg, type TextPlacementLine as ch, type TimelineContent as ci, type TimelineEvent as cj, type TimelineLayout as ck, type TimelineLayoutDiagnostic as cl, type TimelineLayoutOptions as cm, type TimelineMarkerShape as cn, type TimelineStatus as co, type TimelineStatusColors as cp, type TimelineTextPart as cq, type WatermarkTextLayout as cr, type WatermarkTextOptions as cs, annotationText as ct, captionSettings as cu, chartColorForFill as cv, chartHighlightColors as cw, chartHighlightMarks as cx, chartLabelText as cy, chartOptionSupport as cz, type TextStyle as d, layoutMetric as d0, layoutQuote as d1, layoutTable as d2, layoutTimeline as d3, layoutWatermark as d4, listNumbers as d5, measureText as d6, measureTextOutline as d7, metricTrendColor as d8, metricTrendMark as d9, resolveTextStyle as dA, scriptFontRole as dB, sliceNumberedItems as dC, slideCitations as dD, slideImageShape as dE, snapFontSizeDown as dF, snapFontSizeUp as dG, surfaceAltColor as dH, tableGrid as dI, tableRowBoundaries as dJ, textColorForFill as dK, textWidthMeasurer as dL, timelineMarkerShapes as dM, timelineTextColor as dN, tokenizeCode as dO, visualReadingOrder as dP, walkCitationRuns as dQ, wrapText as dR, metricTrendPoints as da, normalizeHexColor as db, numberingAtLevel as dc, numberingStyleDraws as dd, paragraphDirection as de, paragraphDirectionAt as df, patternBitmap as dg, patternRuns as dh, physicalAlignment as di, placeTextLines as dj, referencesSlide as dk, resolveCanvasDimensions as dl, resolveChartOptions as dm, resolveCodeLanguage as dn, resolveColorRef as dp, resolveColorRoles as dq, resolveDesignHints as dr, resolveFontFamilies as ds, resolveFontSchemeReference as dt, resolveLogo as du, resolveNumbering as dv, resolvePatternPreset as dw, resolveScriptFonts as dx, resolveSlideDirection as dy, resolveSocialProfile as dz, type AnnotationFitter as e, type AnnotationLayoutOptions as f, CAPTIONABLE_FIELDS as g, CAPTION_FONT_RATIO as h, CAPTION_MAX_RATIO as i, CHART_HIGHLIGHT_MUTED_MIN_CONTRAST as j, CHART_HIGHLIGHT_MUTED_MIX as k, CHART_SERIES_MIN_DIFFERENCE as l, CHART_SERIES_MIN_LIGHTNESS_STEP as m, normalizeLanguageFamily as n, CITATION_MARKER_RAISE as o, CITATION_MARKER_SCALE as p, CODE_HIGHLIGHT_LANGUAGES as q, CODE_HIGHLIGHT_MAX_LENGTH as r, CODE_PANEL_BACKGROUND as s, CODE_PANEL_FOREGROUND as t, CODE_SYNTAX_MIN_CONTRAST as u, type Caption as v, type CaptionAlignment as w, type CaptionObject as x, type CaptionPosition as y, type CaptionSettings as z };
2445
+ export { type CodeHighlightColors as $, type AnnotatedRun as A, type BackgroundImageFit as B, type ComposeSlideOptions as C, CODE_SYNTAX_MIN_CONTRAST as D, ENGINE_DEFAULT_CHART_TYPES as E, type Fonts as F, type Caption as G, type CaptionAlignment as H, type CaptionObject as I, type CaptionPosition as J, type CaptionSettings as K, type LayoutDiagnostic as L, type MeasureTextWidth as M, type ChartHighlightMarks as N, type ChartLabelContent as O, type ChartLabelPosition as P, type ChartLegendPosition as Q, type ChartOptionDiagnostic as R, SOCIAL_PLATFORMS as S, type TextMeasurement as T, type ChartOptionKind as U, type ChartOptionSupport as V, type ChartOptionTarget as W, type CitationMarker as X, type CitationNote as Y, type CodeContent as Z, type CodeHighlightBand as _, CHART_TYPES as a, type LayoutContent as a$, type CodeHighlightEntry as a0, type CodeHighlightIssue as a1, type CodeHighlightLines as a2, type CodeLayout as a3, type CodeLayoutDiagnostic as a4, type CodeLayoutOptions as a5, type CodeLineSegment as a6, type CodeLineSource as a7, type CodeRun as a8, type CodeSyntaxPalette as a9, DEFAULT_FURNITURE_DATE_FORMAT as aA, DEFAULT_SLIDE_NUMBER_FORMAT as aB, DESIGN_HINT_KEYS as aC, type DeckCitations as aD, type DesignHintKey as aE, type DesignHintSource as aF, type DesignHints as aG, FONT_SIZE_GRID_PER_PX as aH, FOOTNOTE_MAX_RATIO as aI, type FontFaceSelection as aJ, type FootnoteLayoutOptions as aK, type FurnitureField as aL, type FurnitureImagePart as aM, type FurnitureLayout as aN, type FurniturePart as aO, type FurniturePartBase as aP, type FurnitureSocialLink as aQ, type FurnitureTextExtras as aR, type FurnitureTextPart as aS, type ImageEdge as aT, type ImageFit as aU, type ImageFitPlacement as aV, type ImageFocus as aW, type ImageShape as aX, LAYOUT_BODY_KINDS as aY, type LayoutBodyKind as aZ, type LayoutBox as a_, type CodeSyntaxPaletteOptions as aa, type CodeSyntaxPaletteTheme as ab, type CodeTextFit as ac, type CodeTextPart as ad, type CodeToken as ae, type CodeTokenKind as af, type ComposedBackgroundImage as ag, type ComposedCaption as ah, type ComposedFlow as ai, type ComposedFootnoteEntry as aj, type ComposedFootnotes as ak, type ComposedGroup as al, type ComposedImage as am, type ComposedItem as an, type ComposedLogo as ao, type ComposedOverlay as ap, type ComposedPlacement as aq, type ComposedSlot as ar, type Composition as as, type CompositionCandidate as at, type CompositionDecision as au, type CompositionExplanation as av, type CompositionPenalties as aw, type CompositionTrack as ax, DARK_BACKGROUND_LUMINANCE as ay, DEFAULT_CHART_LABEL_SEPARATOR as az, ENGINE_DEFAULT_COLOR_SCHEME as b, type RichText as b$, type LayoutLeaf as b0, type LayoutSlot as b1, type ListBulletImage as b2, type ListEntryLayout as b3, type ListFit as b4, type ListFitOptions as b5, type ListNumber as b6, type ListText as b7, type ListValue as b8, type LogoSlot as b9, PATTERN_TILE_SIZE as bA, PICTURE_BULLET_SCALE as bB, type PhysicalAlignment as bC, type QuoteContent as bD, type QuoteLayout as bE, type QuoteLayoutDiagnostic as bF, type QuoteLayoutOptions as bG, type QuotePhoto as bH, type QuoteTextPart as bI, type QuoteTextSource as bJ, type ReadingBox as bK, type Reference as bL, type ReferencesSlideOptions as bM, type ResolveColorRefOptions as bN, type ResolveColorRefRoles as bO, type ResolveColorRolesOptions as bP, type ResolveDesignHintsOptions as bQ, type ResolveLogoOptions as bR, type ResolveScriptFontsOptions as bS, type ResolvedChartDataLabels as bT, type ResolvedChartHighlight as bU, type ResolvedChartOptions as bV, type ResolvedColorRoles as bW, type ResolvedDesignHints as bX, type ResolvedLogo as bY, type ResolvedNumbering as bZ, type ResolvedScriptFonts as b_, MAX_COMPOSITION_DEPTH as ba, MAX_NUMBERING_LEVELS as bb, MAX_NUMBERING_VALUE as bc, MAX_PLACEHOLDER_GROUP_DEPTH as bd, MAX_ROMAN_VALUE as be, METRIC_TREND_MIN_CONTRAST as bf, METRIC_TREND_SHAPES as bg, type MetricContent as bh, type MetricLayout as bi, type MetricLayoutDiagnostic as bj, type MetricLayoutOptions as bk, type MetricSentiment as bl, type MetricTextPart as bm, type MetricTextSource as bn, type MetricTrend as bo, type MetricTrendColorOptions as bp, type MetricTrendMark as bq, NUMBERING_STYLES as br, NUMBERING_SUFFIXES as bs, type Numbering as bt, type NumberingInput as bu, type NumberingStyleName as bv, type NumberingSuffix as bw, OPFCompositionError as bx, PATTERN_PRESETS as by, PATTERN_PRESET_ALIASES as bz, ENGINE_DEFAULT_FONT_SCHEME as c, codeSyntaxPaletteForScheme as c$, type RichTextFit as c0, type RichTextFragment as c1, type RichTextLine as c2, type RichTextOptions as c3, type RichTextRun as c4, SURFACE_ALT_MIN_CONTRAST as c5, SURFACE_ALT_MIX as c6, type ScriptFontApp as c7, type ScriptFontSlots as c8, type ScriptFontSource as c9, type TimelineEvent as cA, type TimelineLayout as cB, type TimelineLayoutDiagnostic as cC, type TimelineLayoutOptions as cD, type TimelineMarkerShape as cE, type TimelineStatus as cF, type TimelineStatusColors as cG, type TimelineTextPart as cH, type WatermarkTextLayout as cI, type WatermarkTextOptions as cJ, annotationText as cK, captionSettings as cL, chartColorForFill as cM, chartHighlightColors as cN, chartHighlightMarks as cO, chartLabelText as cP, chartOptionSupport as cQ, chartOptionTarget as cR, chartPaletteForFill as cS, chartPrimaryLayout as cT, citationMarkerText as cU, codeHighlightBands as cV, codeHighlightColors as cW, codeHighlightLines as cX, codeLineNumbers as cY, codeLineRuns as cZ, codeSyntaxPalette as c_, type ScriptFontSupplement as ca, type ScriptRole as cb, type SlideCitations as cc, type SlideComposition as cd, type SocialProfile as ce, type SourceTextFit as cf, TIMELINE_OUTLINE_MIN_CONTRAST as cg, TIMELINE_STATUSES as ch, TIMELINE_TEXT_MIN_CONTRAST as ci, type TableBorder as cj, type TableCellLayout as ck, type TableCellStyle as cl, type TableGrid as cm, type TableGridCell as cn, type TableGridIssue as co, type TableLayout as cp, type TableLayoutOptions as cq, type TableRowLayout as cr, type TextDirection as cs, type TextFit as ct, type TextLineInk as cu, type TextLineSegment as cv, type TextLineSource as cw, type TextPlacement as cx, type TextPlacementLine as cy, type TimelineContent as cz, ENGINE_DEFAULT_THEME as d, resolveTextStyle as d$, collectCitations as d0, colorContrast as d1, composeSlide as d2, defaultSlideBackground as d3, fitImage as d4, fitList as d5, fitRichText as d6, fitText as d7, formatChartLabelNumber as d8, formatChartLabelPercent as d9, measureTextOutline as dA, metricTrendColor as dB, metricTrendMark as dC, metricTrendPoints as dD, normalizeHexColor as dE, numberingAtLevel as dF, numberingStyleDraws as dG, paragraphDirection as dH, paragraphDirectionAt as dI, patternBitmap as dJ, patternRuns as dK, physicalAlignment as dL, placeTextLines as dM, referencesSlide as dN, resolveCanvasDimensions as dO, resolveChartOptions as dP, resolveCodeLanguage as dQ, resolveColorRef as dR, resolveColorRoles as dS, resolveDesignHints as dT, resolveFontFamilies as dU, resolveLogo as dV, resolveNumbering as dW, resolvePatternPreset as dX, resolveScriptFonts as dY, resolveSlideDirection as dZ, resolveSocialProfile as d_, formatFurnitureDate as da, formatListNumber as db, formatSlideNumber as dc, hasPlaceholderGroups as dd, imageBackground as de, imageShape as df, intrinsicImageAspect as dg, intrinsicImageSize as dh, isDarkColor as di, isPlaceholderGroup as dj, layoutCaption as dk, layoutCode as dl, layoutContent as dm, layoutFootnotes as dn, layoutFurniture as dp, layoutLeaves as dq, layoutMetric as dr, layoutQuote as ds, layoutSlots as dt, layoutStructure as du, layoutTable as dv, layoutTimeline as dw, layoutWatermark as dx, listNumbers as dy, measureText as dz, type FontFamilies as e, scriptFontRole as e0, sliceNumberedItems as e1, slideCitations as e2, snapFontSizeDown as e3, snapFontSizeUp as e4, surfaceAltColor as e5, tableGrid as e6, tableRowBoundaries as e7, textColorForFill as e8, textWidthMeasurer as e9, timelineMarkerShapes as ea, timelineTextColor as eb, tokenizeCode as ec, visualReadingOrder as ed, walkCitationRuns as ee, wrapText as ef, LANGUAGES as f, type LanguageFamilyName as g, type LanguageVocabulary as h, type SocialPlatformVocabulary as i, type TextStyle as j, type AnnotationFitter as k, type AnnotationLayoutOptions as l, CAPTIONABLE_FIELDS as m, normalizeLanguageFamily as n, CAPTION_FONT_RATIO as o, CAPTION_MAX_RATIO as p, CHART_HIGHLIGHT_MUTED_MIN_CONTRAST as q, CHART_HIGHLIGHT_MUTED_MIX as r, CHART_SERIES_MIN_DIFFERENCE as s, CHART_SERIES_MIN_LIGHTNESS_STEP as t, CITATION_MARKER_RAISE as u, CITATION_MARKER_SCALE as v, CODE_HIGHLIGHT_LANGUAGES as w, CODE_HIGHLIGHT_MAX_LENGTH as x, CODE_PANEL_BACKGROUND as y, CODE_PANEL_FOREGROUND as z };