@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,2 +1,3 @@
1
- export { A as AnnotatedRun, e as AnnotationFitter, f as AnnotationLayoutOptions, g as CAPTIONABLE_FIELDS, h as CAPTION_FONT_RATIO, i as CAPTION_MAX_RATIO, j as CHART_HIGHLIGHT_MUTED_MIN_CONTRAST, k as CHART_HIGHLIGHT_MUTED_MIX, l as CHART_SERIES_MIN_DIFFERENCE, m as CHART_SERIES_MIN_LIGHTNESS_STEP, o as CITATION_MARKER_RAISE, p as CITATION_MARKER_SCALE, q as CODE_HIGHLIGHT_LANGUAGES, r as CODE_HIGHLIGHT_MAX_LENGTH, s as CODE_PANEL_BACKGROUND, t as CODE_PANEL_FOREGROUND, u as CODE_SYNTAX_MIN_CONTRAST, v as Caption, w as CaptionAlignment, x as CaptionObject, y as CaptionPosition, z as CaptionSettings, B as ChartHighlightMarks, D as ChartLabelContent, E as ChartLabelPosition, G as ChartLegendPosition, H as ChartOptionDiagnostic, I as ChartOptionKind, J as ChartOptionSupport, K as ChartOptionTarget, N as CitationMarker, O as CitationNote, P as CodeContent, Q as CodeHighlightBand, R as CodeHighlightColors, S as CodeHighlightEntry, U as CodeHighlightIssue, V as CodeHighlightLines, W as CodeLayout, X as CodeLayoutDiagnostic, Y as CodeLayoutOptions, Z as CodeLineSegment, _ as CodeLineSource, $ as CodeRun, a0 as CodeSyntaxPalette, a1 as CodeSyntaxPaletteOptions, a2 as CodeSyntaxPaletteTheme, a3 as CodeTextFit, a4 as CodeTextPart, a5 as CodeToken, a6 as CodeTokenKind, C as ComposeSlideOptions, a7 as ComposedCaption, a8 as ComposedFlow, a9 as ComposedFootnoteEntry, aa as ComposedFootnotes, ab as ComposedGroup, ac as ComposedItem, ad as ComposedLogo, ae as ComposedSlideImage, af as Composition, ag as CompositionCandidate, ah as CompositionDecision, ai as CompositionExplanation, aj as CompositionPenalties, ak as CompositionTrack, al as DARK_BACKGROUND_LUMINANCE, am as DEFAULT_CHART_LABEL_SEPARATOR, an as DEFAULT_FONT_SCHEME, ao as DEFAULT_FURNITURE_DATE_FORMAT, ap as DEFAULT_SLIDE_NUMBER_FORMAT, aq as DESIGN_HINT_KEYS, ar as DeckCitations, as as DesignHintKey, at as DesignHintSource, au as DesignHints, av as FONT_SIZE_GRID_PER_PX, aw as FOOTNOTE_MAX_RATIO, ax as FontFaceSelection, F as FontFamilies, a as FontSchemeDiagnostic, b as Fonts, ay as FootnoteLayoutOptions, az as FurnitureField, aA as FurnitureImagePart, aB as FurnitureLayout, aC as FurniturePart, aD as FurniturePartBase, aE as FurnitureSocialLink, aF as FurnitureTextExtras, aG as FurnitureTextPart, aH as LAYOUT_BODY_KINDS, aI as LayoutBodyKind, aJ as LayoutBox, aK as LayoutContent, c as LayoutDiagnostic, aL as ListBulletImage, aM as ListEntryLayout, aN as ListFit, aO as ListFitOptions, aP as ListNumber, aQ as ListText, aR as ListValue, aS as LogoSlot, aT as MAX_COMPOSITION_DEPTH, aU as MAX_NUMBERING_LEVELS, aV as MAX_NUMBERING_VALUE, aW as MAX_ROMAN_VALUE, aX as METRIC_TREND_MIN_CONTRAST, aY as METRIC_TREND_SHAPES, M as MeasureTextWidth, aZ as MetricContent, a_ as MetricLayout, a$ as MetricLayoutDiagnostic, b0 as MetricLayoutOptions, b1 as MetricSentiment, b2 as MetricTextPart, b3 as MetricTextSource, b4 as MetricTrend, b5 as MetricTrendColorOptions, b6 as MetricTrendMark, b7 as NUMBERING_STYLES, b8 as NUMBERING_SUFFIXES, b9 as Numbering, ba as NumberingInput, bb as NumberingStyleName, bc as NumberingSuffix, bd as OPFCompositionError, be as PATTERN_PRESETS, bf as PATTERN_PRESET_ALIASES, bg as PATTERN_TILE_SIZE, bh as PICTURE_BULLET_SCALE, bi as PhysicalAlignment, bj as QuoteContent, bk as QuoteLayout, bl as QuoteLayoutDiagnostic, bm as QuoteLayoutOptions, bn as QuotePhoto, bo as QuoteTextPart, bp as QuoteTextSource, bq as ReadingBox, br as Reference, bs as ReferencesSlideOptions, bt as ResolveColorRefOptions, bu as ResolveColorRefRoles, bv as ResolveColorRolesOptions, bw as ResolveDesignHintsOptions, bx as ResolveLogoOptions, by as ResolveScriptFontsOptions, bz as ResolvedChartDataLabels, bA as ResolvedChartHighlight, bB as ResolvedChartOptions, bC as ResolvedColorRoles, bD as ResolvedDesignHints, bE as ResolvedFontScheme, bF as ResolvedLogo, bG as ResolvedNumbering, bH as ResolvedScriptFonts, bI as RichText, bJ as RichTextFit, bK as RichTextFragment, bL as RichTextLine, bM as RichTextOptions, bN as RichTextRun, bO as SURFACE_ALT_MIN_CONTRAST, bP as SURFACE_ALT_MIX, bQ as ScriptFontApp, bR as ScriptFontSlots, bS as ScriptFontSource, bT as ScriptFontSupplement, bU as ScriptRole, bV as SlideCitations, bW as SlideComposition, bX as SlideImageShape, bY as SocialPlatformRecord, bZ as SocialProfile, b_ as SourceTextFit, b$ as TIMELINE_OUTLINE_MIN_CONTRAST, c0 as TIMELINE_STATUSES, c1 as TIMELINE_TEXT_MIN_CONTRAST, c2 as TableBorder, c3 as TableCellLayout, c4 as TableCellStyle, c5 as TableGrid, c6 as TableGridCell, c7 as TableGridIssue, c8 as TableLayout, c9 as TableLayoutOptions, ca as TableRowLayout, cb as TextDirection, cc as TextFit, cd as TextLineInk, ce as TextLineSegment, cf as TextLineSource, T as TextMeasurement, cg as TextPlacement, ch as TextPlacementLine, d as TextStyle, ci as TimelineContent, cj as TimelineEvent, ck as TimelineLayout, cl as TimelineLayoutDiagnostic, cm as TimelineLayoutOptions, cn as TimelineMarkerShape, co as TimelineStatus, cp as TimelineStatusColors, cq as TimelineTextPart, cr as WatermarkTextLayout, cs as WatermarkTextOptions, ct as annotationText, cu as captionSettings, cv as chartColorForFill, cw as chartHighlightColors, cx as chartHighlightMarks, cy as chartLabelText, cz as chartOptionSupport, cA as chartOptionTarget, cB as chartPaletteForFill, cC as citationMarkerText, cD as codeHighlightBands, cE as codeHighlightColors, cF as codeHighlightLines, cG as codeLineNumbers, cH as codeLineRuns, cI as codeSyntaxPalette, cJ as codeSyntaxPaletteForScheme, cK as collectCitations, cL as colorContrast, cM as composeSlide, cN as defaultSlideBackground, cO as fitList, cP as fitRichText, cQ as fitText, cR as formatChartLabelNumber, cS as formatChartLabelPercent, cT as formatFurnitureDate, cU as formatListNumber, cV as formatSlideNumber, cW as isDarkColor, cX as layoutCaption, cY as layoutCode, cZ as layoutContent, c_ as layoutFootnotes, c$ as layoutFurniture, d0 as layoutMetric, d1 as layoutQuote, d2 as layoutTable, d3 as layoutTimeline, d4 as layoutWatermark, d5 as listNumbers, d6 as measureText, d7 as measureTextOutline, d8 as metricTrendColor, d9 as metricTrendMark, da as metricTrendPoints, db as normalizeHexColor, dc as numberingAtLevel, dd as numberingStyleDraws, de as paragraphDirection, df as paragraphDirectionAt, dg as patternBitmap, dh as patternRuns, di as physicalAlignment, dj as placeTextLines, dk as referencesSlide, dl as resolveCanvasDimensions, dm as resolveChartOptions, dn as resolveCodeLanguage, dp as resolveColorRef, dq as resolveColorRoles, dr as resolveDesignHints, ds as resolveFontFamilies, dt as resolveFontSchemeReference, du as resolveLogo, dv as resolveNumbering, dw as resolvePatternPreset, dx as resolveScriptFonts, dy as resolveSlideDirection, dz as resolveSocialProfile, dA as resolveTextStyle, dB as scriptFontRole, dC as sliceNumberedItems, dD as slideCitations, dE as slideImageShape, dF as snapFontSizeDown, dG as snapFontSizeUp, dH as surfaceAltColor, dI as tableGrid, dJ as tableRowBoundaries, dK as textColorForFill, dL as textWidthMeasurer, dM as timelineMarkerShapes, dN as timelineTextColor, dO as tokenizeCode, dP as visualReadingOrder, dQ as walkCitationRuns, dR as wrapText } from './composition-_WEwBe2a.js';
2
- export { I as ChartComboSeries, C as ChartMapping, D as DataCellValue, d as DataColumn, e as DataDiagnostic, h as DataSourceRef, j as DataTableCell, k as DataTableHeader, n as Dataset, o as DatasetRef, R as ResolvedChartData, p as ResolvedTableData, q as chartNumber, 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, F as tableCellDisplayValue, G as toExcelNumberFormat } from './chart-data-B_3z9VTb.js';
1
+ export { A as AnnotatedRun, k as AnnotationFitter, l as AnnotationLayoutOptions, B as BackgroundImageFit, m as CAPTIONABLE_FIELDS, o as CAPTION_FONT_RATIO, p as CAPTION_MAX_RATIO, q as CHART_HIGHLIGHT_MUTED_MIN_CONTRAST, r as CHART_HIGHLIGHT_MUTED_MIX, s as CHART_SERIES_MIN_DIFFERENCE, t as CHART_SERIES_MIN_LIGHTNESS_STEP, a as CHART_TYPES, u as CITATION_MARKER_RAISE, v as CITATION_MARKER_SCALE, w as CODE_HIGHLIGHT_LANGUAGES, x as CODE_HIGHLIGHT_MAX_LENGTH, y as CODE_PANEL_BACKGROUND, z as CODE_PANEL_FOREGROUND, D as CODE_SYNTAX_MIN_CONTRAST, G as Caption, H as CaptionAlignment, I as CaptionObject, J as CaptionPosition, K as CaptionSettings, N as ChartHighlightMarks, O as ChartLabelContent, P as ChartLabelPosition, Q as ChartLegendPosition, R as ChartOptionDiagnostic, U as ChartOptionKind, V as ChartOptionSupport, W as ChartOptionTarget, X as CitationMarker, Y as CitationNote, Z as CodeContent, _ as CodeHighlightBand, $ as CodeHighlightColors, a0 as CodeHighlightEntry, a1 as CodeHighlightIssue, a2 as CodeHighlightLines, a3 as CodeLayout, a4 as CodeLayoutDiagnostic, a5 as CodeLayoutOptions, a6 as CodeLineSegment, a7 as CodeLineSource, a8 as CodeRun, a9 as CodeSyntaxPalette, aa as CodeSyntaxPaletteOptions, ab as CodeSyntaxPaletteTheme, ac as CodeTextFit, ad as CodeTextPart, ae as CodeToken, af as CodeTokenKind, C as ComposeSlideOptions, ag as ComposedBackgroundImage, ah as ComposedCaption, ai as ComposedFlow, aj as ComposedFootnoteEntry, ak as ComposedFootnotes, al as ComposedGroup, am as ComposedImage, an as ComposedItem, ao as ComposedLogo, ap as ComposedOverlay, aq as ComposedPlacement, ar as ComposedSlot, as as Composition, at as CompositionCandidate, au as CompositionDecision, av as CompositionExplanation, aw as CompositionPenalties, ax as CompositionTrack, ay as DARK_BACKGROUND_LUMINANCE, az as DEFAULT_CHART_LABEL_SEPARATOR, aA as DEFAULT_FURNITURE_DATE_FORMAT, aB as DEFAULT_SLIDE_NUMBER_FORMAT, aC as DESIGN_HINT_KEYS, aD as DeckCitations, aE as DesignHintKey, aF as DesignHintSource, aG as DesignHints, E as ENGINE_DEFAULT_CHART_TYPES, b as ENGINE_DEFAULT_COLOR_SCHEME, c as ENGINE_DEFAULT_FONT_SCHEME, d as ENGINE_DEFAULT_THEME, aH as FONT_SIZE_GRID_PER_PX, aI as FOOTNOTE_MAX_RATIO, aJ as FontFaceSelection, e as FontFamilies, F as Fonts, aK as FootnoteLayoutOptions, aL as FurnitureField, aM as FurnitureImagePart, aN as FurnitureLayout, aO as FurniturePart, aP as FurniturePartBase, aQ as FurnitureSocialLink, aR as FurnitureTextExtras, aS as FurnitureTextPart, aT as ImageEdge, aU as ImageFit, aV as ImageFitPlacement, aW as ImageFocus, aX as ImageShape, f as LANGUAGES, aY as LAYOUT_BODY_KINDS, h as LanguageVocabulary, aZ as LayoutBodyKind, a_ as LayoutBox, a$ as LayoutContent, L as LayoutDiagnostic, b0 as LayoutLeaf, b1 as LayoutSlot, b2 as ListBulletImage, b3 as ListEntryLayout, b4 as ListFit, b5 as ListFitOptions, b6 as ListNumber, b7 as ListText, b8 as ListValue, b9 as LogoSlot, ba as MAX_COMPOSITION_DEPTH, bb as MAX_NUMBERING_LEVELS, bc as MAX_NUMBERING_VALUE, bd as MAX_PLACEHOLDER_GROUP_DEPTH, be as MAX_ROMAN_VALUE, bf as METRIC_TREND_MIN_CONTRAST, bg as METRIC_TREND_SHAPES, M as MeasureTextWidth, bh as MetricContent, bi as MetricLayout, bj as MetricLayoutDiagnostic, bk as MetricLayoutOptions, bl as MetricSentiment, bm as MetricTextPart, bn as MetricTextSource, bo as MetricTrend, bp as MetricTrendColorOptions, bq as MetricTrendMark, br as NUMBERING_STYLES, bs as NUMBERING_SUFFIXES, bt as Numbering, bu as NumberingInput, bv as NumberingStyleName, bw as NumberingSuffix, bx as OPFCompositionError, by as PATTERN_PRESETS, bz as PATTERN_PRESET_ALIASES, bA as PATTERN_TILE_SIZE, bB as PICTURE_BULLET_SCALE, bC as PhysicalAlignment, bD as QuoteContent, bE as QuoteLayout, bF as QuoteLayoutDiagnostic, bG as QuoteLayoutOptions, bH as QuotePhoto, bI as QuoteTextPart, bJ as QuoteTextSource, bK as ReadingBox, bL as Reference, bM as ReferencesSlideOptions, bN as ResolveColorRefOptions, bO as ResolveColorRefRoles, bP as ResolveColorRolesOptions, bQ as ResolveDesignHintsOptions, bR as ResolveLogoOptions, bS as ResolveScriptFontsOptions, bT as ResolvedChartDataLabels, bU as ResolvedChartHighlight, bV as ResolvedChartOptions, bW as ResolvedColorRoles, bX as ResolvedDesignHints, bY as ResolvedLogo, bZ as ResolvedNumbering, b_ as ResolvedScriptFonts, b$ as RichText, c0 as RichTextFit, c1 as RichTextFragment, c2 as RichTextLine, c3 as RichTextOptions, c4 as RichTextRun, S as SOCIAL_PLATFORMS, c5 as SURFACE_ALT_MIN_CONTRAST, c6 as SURFACE_ALT_MIX, c7 as ScriptFontApp, c8 as ScriptFontSlots, c9 as ScriptFontSource, ca as ScriptFontSupplement, cb as ScriptRole, cc as SlideCitations, cd as SlideComposition, i as SocialPlatformVocabulary, ce as SocialProfile, cf as SourceTextFit, cg as TIMELINE_OUTLINE_MIN_CONTRAST, ch as TIMELINE_STATUSES, ci as TIMELINE_TEXT_MIN_CONTRAST, cj as TableBorder, ck as TableCellLayout, cl as TableCellStyle, cm as TableGrid, cn as TableGridCell, co as TableGridIssue, cp as TableLayout, cq as TableLayoutOptions, cr as TableRowLayout, cs as TextDirection, ct as TextFit, cu as TextLineInk, cv as TextLineSegment, cw as TextLineSource, T as TextMeasurement, cx as TextPlacement, cy as TextPlacementLine, j as TextStyle, cz as TimelineContent, cA as TimelineEvent, cB as TimelineLayout, cC as TimelineLayoutDiagnostic, cD as TimelineLayoutOptions, cE as TimelineMarkerShape, cF as TimelineStatus, cG as TimelineStatusColors, cH as TimelineTextPart, cI as WatermarkTextLayout, cJ as WatermarkTextOptions, cK as annotationText, cL as captionSettings, cM as chartColorForFill, cN as chartHighlightColors, cO as chartHighlightMarks, cP as chartLabelText, cQ as chartOptionSupport, cR as chartOptionTarget, cS as chartPaletteForFill, cT as chartPrimaryLayout, cU as citationMarkerText, cV as codeHighlightBands, cW as codeHighlightColors, cX as codeHighlightLines, cY as codeLineNumbers, cZ as codeLineRuns, c_ as codeSyntaxPalette, c$ as codeSyntaxPaletteForScheme, d0 as collectCitations, d1 as colorContrast, d2 as composeSlide, d3 as defaultSlideBackground, d4 as fitImage, d5 as fitList, d6 as fitRichText, d7 as fitText, d8 as formatChartLabelNumber, d9 as formatChartLabelPercent, da as formatFurnitureDate, db as formatListNumber, dc as formatSlideNumber, dd as hasPlaceholderGroups, de as imageBackground, df as imageShape, dg as intrinsicImageAspect, dh as intrinsicImageSize, di as isDarkColor, dj as isPlaceholderGroup, dk as layoutCaption, dl as layoutCode, dm as layoutContent, dn as layoutFootnotes, dp as layoutFurniture, dq as layoutLeaves, dr as layoutMetric, ds as layoutQuote, dt as layoutSlots, du as layoutStructure, dv as layoutTable, dw as layoutTimeline, dx as layoutWatermark, dy as listNumbers, dz as measureText, dA as measureTextOutline, dB as metricTrendColor, dC as metricTrendMark, dD as metricTrendPoints, dE as normalizeHexColor, dF as numberingAtLevel, dG as numberingStyleDraws, dH as paragraphDirection, dI as paragraphDirectionAt, dJ as patternBitmap, dK as patternRuns, dL as physicalAlignment, dM as placeTextLines, dN as referencesSlide, dO as resolveCanvasDimensions, dP as resolveChartOptions, dQ as resolveCodeLanguage, dR as resolveColorRef, dS as resolveColorRoles, dT as resolveDesignHints, dU as resolveFontFamilies, dV as resolveLogo, dW as resolveNumbering, dX as resolvePatternPreset, dY as resolveScriptFonts, dZ as resolveSlideDirection, d_ as resolveSocialProfile, d$ as resolveTextStyle, e0 as scriptFontRole, e1 as sliceNumberedItems, e2 as slideCitations, e3 as snapFontSizeDown, e4 as snapFontSizeUp, e5 as surfaceAltColor, e6 as tableGrid, e7 as tableRowBoundaries, e8 as textColorForFill, e9 as textWidthMeasurer, ea as timelineMarkerShapes, eb as timelineTextColor, ec as tokenizeCode, ed as visualReadingOrder, ee as walkCitationRuns, ef as wrapText } from './composition-D4ADF5c-.js';
2
+ export { d as CATALOG_REFERENCE_PATTERN, C as Catalog, a as CatalogKind, b as CatalogOptions, f as CatalogRecords, g as CatalogReferenceSite, O as OPFCatalogsOptionError, h as OPFUnresolvedReferenceError, R as RecordProvenance, i as ResolvedReference, U as UnresolvedReferenceDiagnostic, j as catalogGroupSource, k as catalogKinds, l as catalogRecords, m as catalogReferenceSites, p as parseReference, r as resolveReference, u as unresolvedReference } from './catalog-refs-_anZs-Qz.js';
3
+ export { I as ChartComboSeries, C as ChartMapping, D as DataCellValue, d as DataColumn, e as DataDiagnostic, h as DataSourceRef, j as DataTableCell, k as DataTableHeader, n as Dataset, o as DatasetRef, R as ResolvedChartData, p as ResolvedTableData, q as chartNumber, 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, F as tableCellDisplayValue, G as toExcelNumberFormat } from './chart-data-BnNqgnC-.js';
@@ -1,2 +1,2 @@
1
- export { CAPTIONABLE_FIELDS, CAPTION_FONT_RATIO, CAPTION_MAX_RATIO, CHART_HIGHLIGHT_MUTED_MIN_CONTRAST, CHART_HIGHLIGHT_MUTED_MIX, CHART_SERIES_MIN_DIFFERENCE, CHART_SERIES_MIN_LIGHTNESS_STEP, CITATION_MARKER_RAISE, CITATION_MARKER_SCALE, CODE_HIGHLIGHT_LANGUAGES, CODE_HIGHLIGHT_MAX_LENGTH, CODE_PANEL_BACKGROUND, CODE_PANEL_FOREGROUND, CODE_SYNTAX_MIN_CONTRAST, DARK_BACKGROUND_LUMINANCE, DEFAULT_CHART_LABEL_SEPARATOR, DEFAULT_FONT_SCHEME, DEFAULT_FURNITURE_DATE_FORMAT, DEFAULT_SLIDE_NUMBER_FORMAT, DESIGN_HINT_KEYS, FONT_SIZE_GRID_PER_PX, FOOTNOTE_MAX_RATIO, LAYOUT_BODY_KINDS, MAX_COMPOSITION_DEPTH, MAX_NUMBERING_LEVELS, MAX_NUMBERING_VALUE, MAX_ROMAN_VALUE, METRIC_TREND_MIN_CONTRAST, METRIC_TREND_SHAPES, NUMBERING_STYLES, NUMBERING_SUFFIXES, OPFCompositionError, PATTERN_PRESETS, PATTERN_PRESET_ALIASES, PATTERN_TILE_SIZE, PICTURE_BULLET_SCALE, SURFACE_ALT_MIN_CONTRAST, SURFACE_ALT_MIX, TIMELINE_OUTLINE_MIN_CONTRAST, TIMELINE_STATUSES, TIMELINE_TEXT_MIN_CONTRAST, annotationText, captionSettings, chartColorForFill, chartHighlightColors, chartHighlightMarks, chartLabelText, chartNumber, chartOptionSupport, chartOptionTarget, chartPaletteForFill, citationMarkerText, codeHighlightBands, codeHighlightColors, codeHighlightLines, codeLineNumbers, codeLineRuns, codeSyntaxPalette, codeSyntaxPaletteForScheme, collectCitations, colorContrast, composeSlide, defaultSlideBackground, fitList, fitRichText, fitText, formatChartLabelNumber, formatChartLabelPercent, formatDataNumber, formatFurnitureDate, formatListNumber, formatSlideNumber, fromExcelNumberFormat, inlineChartData, inlineDatasets, inlineTableData, isDarkColor, isDatasetRef, isXYChartType, layoutCaption, layoutCode, layoutContent, layoutFootnotes, layoutFurniture, layoutMetric, layoutQuote, layoutTable, layoutTimeline, layoutWatermark, listNumbers, measureText, measureTextOutline, metricTrendColor, metricTrendMark, metricTrendPoints, normalizeHexColor, numberFormatError, numberingAtLevel, numberingStyleDraws, paragraphDirection, paragraphDirectionAt, patternBitmap, patternRuns, physicalAlignment, placeTextLines, referencesSlide, resolveCanvasDimensions, resolveChartData, resolveChartOptions, resolveCodeLanguage, resolveColorRef, resolveColorRoles, resolveDesignHints, resolveFontFamilies, resolveFontSchemeReference, resolveLogo, resolveNumbering, resolvePatternPreset, resolveScriptFonts, resolveSlideDirection, resolveSocialProfile, resolveTableData, resolveTextStyle, scriptFontRole, sliceNumberedItems, slideCitations, slideImageShape, snapFontSizeDown, snapFontSizeUp, surfaceAltColor, tableCellDisplayValue, tableGrid, tableRowBoundaries, textColorForFill, textWidthMeasurer, timelineMarkerShapes, timelineTextColor, toExcelNumberFormat, tokenizeCode, visualReadingOrder, walkCitationRuns, wrapText } from './chunk-6OXY2CP3.js';
2
- import './chunk-XOZ4KMSR.js';
1
+ export { CAPTIONABLE_FIELDS, CAPTION_FONT_RATIO, CAPTION_MAX_RATIO, CHART_HIGHLIGHT_MUTED_MIN_CONTRAST, CHART_HIGHLIGHT_MUTED_MIX, CHART_SERIES_MIN_DIFFERENCE, CHART_SERIES_MIN_LIGHTNESS_STEP, CHART_TYPES, CITATION_MARKER_RAISE, CITATION_MARKER_SCALE, CODE_HIGHLIGHT_LANGUAGES, CODE_HIGHLIGHT_MAX_LENGTH, CODE_PANEL_BACKGROUND, CODE_PANEL_FOREGROUND, CODE_SYNTAX_MIN_CONTRAST, DARK_BACKGROUND_LUMINANCE, DEFAULT_CHART_LABEL_SEPARATOR, DEFAULT_FURNITURE_DATE_FORMAT, DEFAULT_SLIDE_NUMBER_FORMAT, DESIGN_HINT_KEYS, ENGINE_DEFAULT_CHART_TYPES, ENGINE_DEFAULT_COLOR_SCHEME, ENGINE_DEFAULT_FONT_SCHEME, ENGINE_DEFAULT_THEME, FONT_SIZE_GRID_PER_PX, FOOTNOTE_MAX_RATIO, LANGUAGES, LAYOUT_BODY_KINDS, MAX_COMPOSITION_DEPTH, MAX_NUMBERING_LEVELS, MAX_NUMBERING_VALUE, MAX_PLACEHOLDER_GROUP_DEPTH, MAX_ROMAN_VALUE, METRIC_TREND_MIN_CONTRAST, METRIC_TREND_SHAPES, NUMBERING_STYLES, NUMBERING_SUFFIXES, OPFCompositionError, PATTERN_PRESETS, PATTERN_PRESET_ALIASES, PATTERN_TILE_SIZE, PICTURE_BULLET_SCALE, SOCIAL_PLATFORMS, SURFACE_ALT_MIN_CONTRAST, SURFACE_ALT_MIX, TIMELINE_OUTLINE_MIN_CONTRAST, TIMELINE_STATUSES, TIMELINE_TEXT_MIN_CONTRAST, annotationText, captionSettings, chartColorForFill, chartHighlightColors, chartHighlightMarks, chartLabelText, chartNumber, chartOptionSupport, chartOptionTarget, chartPaletteForFill, chartPrimaryLayout, citationMarkerText, codeHighlightBands, codeHighlightColors, codeHighlightLines, codeLineNumbers, codeLineRuns, codeSyntaxPalette, codeSyntaxPaletteForScheme, collectCitations, colorContrast, composeSlide, defaultSlideBackground, fitImage, fitList, fitRichText, fitText, formatChartLabelNumber, formatChartLabelPercent, formatDataNumber, formatFurnitureDate, formatListNumber, formatSlideNumber, fromExcelNumberFormat, hasPlaceholderGroups, imageBackground, imageShape, inlineChartData, inlineDatasets, inlineTableData, intrinsicImageAspect, intrinsicImageSize, isDarkColor, isDatasetRef, isPlaceholderGroup, isXYChartType, layoutCaption, layoutCode, layoutContent, layoutFootnotes, layoutFurniture, layoutLeaves, layoutMetric, layoutQuote, layoutSlots, layoutStructure, layoutTable, layoutTimeline, layoutWatermark, listNumbers, measureText, measureTextOutline, metricTrendColor, metricTrendMark, metricTrendPoints, normalizeHexColor, numberFormatError, numberingAtLevel, numberingStyleDraws, paragraphDirection, paragraphDirectionAt, patternBitmap, patternRuns, physicalAlignment, placeTextLines, referencesSlide, resolveCanvasDimensions, resolveChartData, resolveChartOptions, resolveCodeLanguage, resolveColorRef, resolveColorRoles, resolveDesignHints, resolveFontFamilies, resolveLogo, resolveNumbering, resolvePatternPreset, resolveScriptFonts, resolveSlideDirection, resolveSocialProfile, resolveTableData, resolveTextStyle, scriptFontRole, sliceNumberedItems, slideCitations, snapFontSizeDown, snapFontSizeUp, surfaceAltColor, tableCellDisplayValue, tableGrid, tableRowBoundaries, textColorForFill, textWidthMeasurer, timelineMarkerShapes, timelineTextColor, toExcelNumberFormat, tokenizeCode, visualReadingOrder, walkCitationRuns, wrapText } from './chunk-5PDN7BN6.js';
2
+ export { CATALOG_REFERENCE_PATTERN, OPFCatalogsOptionError, OPFUnresolvedReferenceError, catalogGroupSource, catalogKinds, catalogRecords, catalogReferenceSites, parseReference, resolveReference, unresolvedReference } from './chunk-SPFV27O5.js';
package/dist/convert.d.ts CHANGED
@@ -1,8 +1,7 @@
1
- import { P as PaginatedPage, d as PresentationPaginationOptions } from './pagination-BZpXLvFL.js';
2
- import './composition-_WEwBe2a.js';
3
- import './chart-data-B_3z9VTb.js';
4
- import './catalogs-D-yyQWCQ.js';
5
- import './schemas-DDpqAgyS.js';
1
+ import { P as PaginatedPage, d as PresentationPaginationOptions } from './pagination-DzZPFheM.js';
2
+ import './composition-D4ADF5c-.js';
3
+ import './catalog-refs-_anZs-Qz.js';
4
+ import './chart-data-BnNqgnC-.js';
6
5
 
7
6
  type Json = any;
8
7
  type Obj = Record<string, any>;
@@ -171,28 +170,26 @@ declare function regionsToBlocks(slide: unknown): StructureChange;
171
170
  declare function moveRegion(slide: unknown, from: string, to: string, options?: {
172
171
  swap?: boolean;
173
172
  }): StructureChange;
174
- /** The design slot an image can move to or from. */
175
- type ImageTarget = "slideImage" | "background" | "watermark";
176
- declare const IMAGE_POSITIONS: readonly ["background", "top", "bottom", "left", "right"];
173
+ /** The design slot an image can move to or from. Placing an image beside the content is not a move: set the block's `placement`. */
174
+ type ImageTarget = "background" | "watermark";
177
175
  interface PromoteImageOptions {
178
- /** Slide image: where it sits (default `right`, an image band beside the content). Ignored for background and watermark. */
179
- position?: (typeof IMAGE_POSITIONS)[number];
180
176
  /** Watermark: opacity from 0 to 1 (default 0.1). */
181
177
  opacity?: number;
182
178
  /** Replace the slide's existing design value for this slot instead of refusing. */
183
179
  replace?: boolean;
184
180
  }
185
181
  /**
186
- * Move the image block at `path` out of the content and into the slide's design as its slide image,
187
- * background or watermark. The block is removed (and any group it leaves empty). Alt text, titles and other
188
- * asset details a design slot cannot hold are reported. Refuses when the slide already sets that slot,
189
- * unless `replace` is true.
182
+ * Move the image block at `path` out of the content and into the slide's design as its background or
183
+ * watermark. The block is removed (and any group it leaves empty). A background keeps the alt text and the
184
+ * block's fit, focus, opacity and overlay; asset details and treatments a design slot cannot hold are reported.
185
+ * Refuses when the slide already sets that slot, unless `replace` is true.
190
186
  */
191
187
  declare function promoteImage(slide: unknown, path: SlidePath, to: ImageTarget, options?: PromoteImageOptions): StructureChange;
192
188
  /**
193
- * Move a slide's slide image, background image or watermark back into its content as an image block, added
194
- * after the existing blocks (or at `index`, or in the free region named by `region` on a slide that uses
195
- * regions). Placement, framing, fit and opacity cannot be kept by a block and are reported.
189
+ * Move a slide's background image or watermark back into its content as an image block, added after the
190
+ * existing blocks (or at `index`, or in the free region named by `region` on a slide that uses regions). A
191
+ * background's alt text, fit, focus, opacity and overlay move onto the block; a tile fit and a watermark's
192
+ * opacity cannot be kept and are reported.
196
193
  */
197
194
  declare function demoteImage(slide: unknown, from: ImageTarget, options?: {
198
195
  index?: number;
package/dist/convert.js CHANGED
@@ -1,12 +1,12 @@
1
- import { paginate, OPFPaginationError } from './chunk-XIZUK2XM.js';
2
- import { parseQuoteLines, parseCodeFence, splitWhen, parseListLine, levelsFromIndents, fenceCode } from './chunk-4VJDTF55.js';
3
- import { CONTENT_KEYS, isRecord, contentKeysOf, refuse, clone, Loss, isSlideLike, assertValidOwner, report, OPFConversionError, plainOf, assertValidOutput, same, splitRuns, runsOf, lineIsPlain, linePlain, concatText, lineValue, joinLines, hasFormatting } from './chunk-CSQHPVGL.js';
4
- export { OPFConversionError } from './chunk-CSQHPVGL.js';
5
- import './chunk-JDJBDYSR.js';
6
- import { promotedRegionKeys, isDatasetRef, inlineTableData, visitContentPayloads, chartNumber } from './chunk-6OXY2CP3.js';
7
- import './chunk-S5W34SIJ.js';
8
- import './chunk-XOZ4KMSR.js';
9
- import './chunk-LS2FMPI5.js';
1
+ import { paginate, OPFPaginationError } from './chunk-BSYQDWT4.js';
2
+ import { parseQuoteLines, parseCodeFence, splitWhen, parseListLine, levelsFromIndents, fenceCode } from './chunk-NAWQR7MN.js';
3
+ import { CONTENT_KEYS, isRecord, contentKeysOf, refuse, clone, Loss, isSlideLike, assertValidOwner, report, OPFConversionError, plainOf, assertValidOutput, same, splitRuns, runsOf, lineIsPlain, linePlain, concatText, lineValue, joinLines, hasFormatting } from './chunk-5TO6I3GB.js';
4
+ export { OPFConversionError } from './chunk-5TO6I3GB.js';
5
+ import './chunk-PX5AWL7Y.js';
6
+ import { promotedRegionKeys, isDatasetRef, inlineTableData, visitContentPayloads, chartNumber } from './chunk-5PDN7BN6.js';
7
+ import './chunk-TRDXRRQK.js';
8
+ import './chunk-SPFV27O5.js';
9
+ import './chunk-WEDGVC5W.js';
10
10
 
11
11
  // src/convert/tables.ts
12
12
  function cellOf(raw) {
@@ -653,6 +653,7 @@ function convertListForm(payload, to) {
653
653
  }
654
654
 
655
655
  // src/convert/structure.ts
656
+ var IMAGE_SOURCE = /^(asset:|https:\/\/|data:|\.\/|\.\.\/)/;
656
657
  var REGION_KEYS = new Set(promotedRegionKeys);
657
658
  var isRegionKey = (key) => REGION_KEYS.has(key);
658
659
  var regionKeysOf = (slide) => Object.keys(slide).filter(isRegionKey);
@@ -778,12 +779,14 @@ function moveRegion(slide, from, to, options = {}) {
778
779
  if (!occupied) rebuilt[to] = next[from];
779
780
  return finish(rebuilt, new Loss(), [to]);
780
781
  }
781
- var IMAGE_POSITIONS = ["background", "top", "bottom", "left", "right"];
782
- function imageAsset(payload) {
782
+ var BACKGROUND_KEYS = ["fit", "focus", "opacity", "overlay"];
783
+ var TREATMENT_KEYS = ["fit", "focus", "aspectRatio", "shape", "cornerRadius", "border", "opacity", "recolor", "overlay", "placement"];
784
+ function imageBlock(payload) {
783
785
  if (!isRecord(payload)) throw refuse("Choose an image block.");
784
- const keys = Object.keys(payload).filter((key) => key !== "id" && key !== "extensions" && key !== "type");
786
+ const keys = Object.keys(payload).filter((key) => key !== "id" && key !== "extensions" && key !== "type" && !TREATMENT_KEYS.includes(key));
785
787
  if (keys.length !== 1 || keys[0] !== "image") throw refuse("Choose a block that holds only an image.");
786
- return isRecord(payload.image) ? payload.image : { src: payload.image };
788
+ const treatments = Object.fromEntries(TREATMENT_KEYS.filter((key) => payload[key] !== void 0).map((key) => [key, payload[key]]));
789
+ return { asset: isRecord(payload.image) ? payload.image : { src: payload.image }, treatments };
787
790
  }
788
791
  function removePayload(slide, path) {
789
792
  if (!path.length) {
@@ -808,29 +811,26 @@ function removePayload(slide, path) {
808
811
  function promoteImage(slide, path, to, options = {}) {
809
812
  const next = clone(slide);
810
813
  const holder = path.length ? at(next, path) : contentKeysOf(next).join() === "image" && !Array.isArray(next.blocks) ? { image: next.image } : void 0;
811
- const asset = imageAsset(holder);
814
+ if (to !== "background" && to !== "watermark") throw refuse("Choose background or watermark.", { slot: to });
815
+ const { asset, treatments } = imageBlock(holder);
812
816
  if (typeof asset.src !== "string" || asset.src === "") throw refuse("This image has no source.");
813
817
  const design = isRecord(next.design) ? next.design : {};
814
- if (design[to] !== void 0 && design[to] !== false && !options.replace) throw refuse(`This slide already sets its ${to === "slideImage" ? "slide image" : to}. Choose to replace it, or remove it first.`, { slot: to });
818
+ if (design[to] !== void 0 && design[to] !== false && !options.replace) throw refuse(`This slide already sets its ${to}. Choose to replace it, or remove it first.`, { slot: to });
815
819
  const loss = new Loss();
816
820
  const extras = ["title", "description", "mediaType", "format"].filter((key) => asset[key] !== void 0);
817
- const position = options.position ?? "right";
818
- if (!IMAGE_POSITIONS.includes(position)) throw refuse(`Choose a position: ${IMAGE_POSITIONS.join(", ")}.`, { position });
819
821
  const alt = typeof asset.alt === "string" && asset.alt !== "" ? asset.alt : void 0;
820
- if (to === "slideImage") {
821
- design.slideImage = { src: asset.src, position, ...alt ? { alt } : {} };
822
- if (extras.length) loss.note(`image ${extras.join(", ")}`);
823
- } else if (to === "background") {
824
- design.background = { type: "image", image: { src: asset.src, fit: "cover" } };
825
- if (alt) loss.note("image alt text");
826
- if (extras.length) loss.note(`image ${extras.join(", ")}`);
822
+ const kept = to === "background" ? BACKGROUND_KEYS.filter((key) => treatments[key] !== void 0) : [];
823
+ const dropped = Object.keys(treatments).filter((key) => !kept.includes(key));
824
+ if (to === "background") {
825
+ design.background = { type: "image", src: asset.src, ...alt ? { alt } : {}, ...Object.fromEntries(kept.map((key) => [key, treatments[key]])) };
827
826
  } else {
828
827
  const opacity = options.opacity ?? 0.1;
829
828
  if (typeof opacity !== "number" || !(opacity >= 0 && opacity <= 1)) throw refuse("Watermark opacity must be between 0 and 1.", { opacity });
830
829
  design.watermark = { src: asset.src, opacity };
831
830
  if (alt) loss.note("image alt text");
832
- if (extras.length) loss.note(`image ${extras.join(", ")}`);
833
831
  }
832
+ if (extras.length) loss.note(`image ${extras.join(", ")}`);
833
+ if (dropped.length) loss.note(`image ${dropped.join(", ")}`);
834
834
  if (path.length) {
835
835
  const payload = at(next, path);
836
836
  if (payload.id !== void 0) loss.note("block id");
@@ -843,21 +843,18 @@ function promoteImage(slide, path, to, options = {}) {
843
843
  function demoteImage(slide, from, options = {}) {
844
844
  const next = clone(slide);
845
845
  const design = next.design;
846
+ if (from !== "background" && from !== "watermark") throw refuse("Choose background or watermark.", { slot: from });
846
847
  const value = isRecord(design) ? design[from] : void 0;
847
- if (value === void 0 || value === false) throw refuse(`This slide does not set its own ${from === "slideImage" ? "slide image" : from}.`, { slot: from });
848
+ if (value === void 0 || value === false) throw refuse(`This slide does not set its own ${from}.`, { slot: from });
848
849
  const loss = new Loss();
849
850
  let asset;
850
- if (from === "slideImage") {
851
- if (typeof value === "string") asset = { src: value };
852
- else if (isRecord(value) && "position" in value) {
853
- if (typeof value.src !== "string") throw refuse("This slide image only configures placement; it has no image of its own.");
854
- asset = { src: value.src, ...value.alt ? { alt: value.alt } : {} };
855
- loss.note("image position and framing");
856
- } else asset = clone(value);
857
- } else if (from === "background") {
858
- if (!isRecord(value) || value.type !== "image" || typeof value.image?.src !== "string") throw refuse("This slide's background is not an image.");
859
- asset = { src: value.image.src };
860
- if (value.opacity !== void 0 || value.image.fit !== void 0 && value.image.fit !== "cover") loss.note("background fit and opacity");
851
+ let treatments = {};
852
+ if (from === "background") {
853
+ const picture = typeof value === "string" && IMAGE_SOURCE.test(value) ? { type: "image", src: value } : value;
854
+ if (!isRecord(picture) || picture.type !== "image" || typeof picture.src !== "string") throw refuse("This slide's background is not an image.");
855
+ asset = { src: picture.src, ...typeof picture.alt === "string" ? { alt: picture.alt } : {} };
856
+ treatments = Object.fromEntries(BACKGROUND_KEYS.filter((key) => picture[key] !== void 0 && !(key === "fit" && picture.fit === "tile")).map((key) => [key, picture[key]]));
857
+ if (picture.fit === "tile") loss.note("background tile fit");
861
858
  } else {
862
859
  if (typeof value === "string") asset = { src: value };
863
860
  else if (isRecord(value) && typeof value.src === "string") {
@@ -866,7 +863,7 @@ function demoteImage(slide, from, options = {}) {
866
863
  if (opacity !== void 0) loss.note("watermark opacity");
867
864
  } else throw refuse("This watermark has no image of its own.");
868
865
  }
869
- const block = { image: Object.keys(asset).length === 1 ? asset.src : asset };
866
+ const block = { image: Object.keys(asset).length === 1 ? asset.src : asset, ...treatments };
870
867
  delete design[from];
871
868
  if (!Object.keys(design).length) delete next.design;
872
869
  const regions = regionKeysOf(next);
@@ -875,7 +872,7 @@ function demoteImage(slide, from, options = {}) {
875
872
  if (!options.region || !isRegionKey(options.region) || regions.some((key) => overlaps(key, options.region))) throw refuse("This slide places its content in regions. Choose a free region for the image.", { region: options.region });
876
873
  next[options.region] = block;
877
874
  path = [options.region];
878
- } else if (Array.isArray(next.blocks) || contentKeysOf(next).length) {
875
+ } else if (Array.isArray(next.blocks) || contentKeysOf(next).length || Object.keys(treatments).length) {
879
876
  const blocks = explicitBlocks(next);
880
877
  const index = options.index ?? blocks.length;
881
878
  if (!Number.isInteger(index) || index < 0 || index > blocks.length) throw refuse("The position is outside the slide's blocks.", { index });
package/dist/data.d.ts CHANGED
@@ -1,10 +1,27 @@
1
- export { C as ChartMapping, a as ChartNumberFix, b as ChartNumberFixOperation, c as ChartNumberFixOptions, D as DataCellValue, d as DataColumn, e as DataDiagnostic, f as DataDiagnosticCode, g as DataResolveOptions, h as DataSourceRef, i as DataStyledCell, j as DataTableCell, k as DataTableHeader, l as DataTableValue, m as DataTextRun, n as Dataset, o as DatasetRef, R as ResolvedChartData, p as ResolvedTableData, q as chartNumber, r as datasetDiagnostics, s as 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';
1
+ import { C as Chart } from './presentation-COrFuj2g.js';
2
+ export { C as ChartMapping, a as ChartNumberFix, b as ChartNumberFixOperation, c as ChartNumberFixOptions, D as DataCellValue, d as DataColumn, e as DataDiagnostic, f as DataDiagnosticCode, g as DataResolveOptions, h as DataSourceRef, i as DataStyledCell, j as DataTableCell, k as DataTableHeader, l as DataTableValue, m as DataTextRun, n as Dataset, o as DatasetRef, R as ResolvedChartData, p as ResolvedTableData, q as chartNumber, r as datasetDiagnostics, s as 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';
2
3
 
3
4
  type DataCell = string | number | boolean | null;
4
5
  interface TabularData {
5
6
  columns: string[];
6
7
  rows: DataCell[][];
7
8
  }
9
+ /** Chart import rejects empty columns and rows before returning a schema-compatible payload. */
10
+ interface ImportedChartData extends TabularData {
11
+ columns: [string, ...string[]];
12
+ rows: [DataCell[], ...DataCell[][]];
13
+ }
14
+ /** A `chart.type` value (OPF 0.15: an engine vocabulary, `CHART_TYPES`). */
15
+ type ImportedChartType = Chart['type'];
16
+ interface ImportedTable {
17
+ table: TabularData;
18
+ }
19
+ interface ImportedChart {
20
+ chart: {
21
+ type: ImportedChartType;
22
+ data: ImportedChartData;
23
+ };
24
+ }
8
25
  interface DataImportOptions {
9
26
  format?: 'csv' | 'tsv' | 'json';
10
27
  delimiter?: string;
@@ -13,7 +30,8 @@ interface DataImportOptions {
13
30
  }
14
31
  interface ImportDataOptions extends DataImportOptions {
15
32
  as: 'table' | 'chart';
16
- chartType?: string;
33
+ /** Default `column`. Values outside `CHART_TYPES` make an invalid chart; the CLI checks `--chart-type` first. */
34
+ chartType?: ImportedChartType;
17
35
  category?: string;
18
36
  series?: string[];
19
37
  }
@@ -21,13 +39,12 @@ declare class OPFDataImportError extends Error {
21
39
  constructor(message: string);
22
40
  }
23
41
  declare function parseTabularData(input: unknown, options?: DataImportOptions): TabularData;
24
- declare function importData(input: unknown, options: ImportDataOptions): {
25
- table: TabularData;
26
- } | {
27
- chart: {
28
- type: string;
29
- data: TabularData;
30
- };
31
- };
42
+ declare function importData(input: unknown, options: ImportDataOptions & {
43
+ as: 'table';
44
+ }): ImportedTable;
45
+ declare function importData(input: unknown, options: ImportDataOptions & {
46
+ as: 'chart';
47
+ }): ImportedChart;
48
+ declare function importData(input: unknown, options: ImportDataOptions): ImportedTable | ImportedChart;
32
49
 
33
- export { type DataCell, type DataImportOptions, type ImportDataOptions, OPFDataImportError, type TabularData, importData, parseTabularData };
50
+ export { type DataCell, type DataImportOptions, type ImportDataOptions, type ImportedChart, type ImportedChartData, type ImportedChartType, type ImportedTable, OPFDataImportError, type TabularData, importData, parseTabularData };
package/dist/data.js CHANGED
@@ -1,3 +1,3 @@
1
- export { OPFDataImportError, importData, parseTabularData } from './chunk-Q2TCMN56.js';
2
- export { chartNumber, datasetDiagnostics, formatDataNumber, fromExcelNumberFormat, inlineChartData, inlineDatasets, inlineTableData, isDatasetRef, isXYChartType, numberFormatError, resolveChartData, resolveTableData, suggestChartNumberFix, tableCellDisplayValue, toExcelNumberFormat, unusedDatasets } from './chunk-6OXY2CP3.js';
3
- import './chunk-XOZ4KMSR.js';
1
+ export { OPFDataImportError, importData, parseTabularData } from './chunk-SMLMI6IZ.js';
2
+ export { chartNumber, datasetDiagnostics, formatDataNumber, fromExcelNumberFormat, inlineChartData, inlineDatasets, inlineTableData, isDatasetRef, isXYChartType, numberFormatError, resolveChartData, resolveTableData, suggestChartNumberFix, tableCellDisplayValue, toExcelNumberFormat, unusedDatasets } from './chunk-5PDN7BN6.js';
3
+ import './chunk-SPFV27O5.js';
package/dist/deck.d.ts ADDED
@@ -0,0 +1,77 @@
1
+ import { C as Catalog } from './catalog-refs-_anZs-Qz.js';
2
+ import { P as Presentation } from './presentation-COrFuj2g.js';
3
+ import { V as ValidateOptions, a as ValidationReport } from './validation-types-HxIgJfKx.js';
4
+ import './composition-D4ADF5c-.js';
5
+ import './chart-data-BnNqgnC-.js';
6
+ import './finding-CT_f_vbD.js';
7
+ import './json-BFSdESOE.js';
8
+
9
+ /**
10
+ * One entry point to read and write a deck in any of its three serializations (RR-60): JSON, the canonical and interchange
11
+ * form, and the two authoring forms of the same data, YAML (`.opf.yaml`, RR-56) and Markdown (`.opf.md`, RR-30). `readDeck`
12
+ * turns text into a deck and the `validate` report of it, with every finding located in the text that was read; `writeDeck`
13
+ * turns a deck into text.
14
+ *
15
+ * The format comes from the `format` option, else from the file name, and never from the content: a string that starts with
16
+ * `{` is JSON only because JSON is the default. No renderer, fonts, DOM, network or model calls, and no Node APIs, so it runs in
17
+ * a browser. The same input always gives the same output.
18
+ */
19
+
20
+ /** The serializations of a deck: `json` (canonical), `yaml` (`.opf.yaml`) and `markdown` (`.opf.md`). */
21
+ type DeckFormat = "json" | "yaml" | "markdown";
22
+ /** Every deck format, in the order JSON, YAML, Markdown. */
23
+ declare const DECK_FORMATS: readonly DeckFormat[];
24
+ /**
25
+ * The format a file name stands for: `.opf.md` is Markdown, `.yaml` and `.yml` are YAML (any case), every other name is JSON.
26
+ * A plain `.md` file is not a deck: it is Markdown that `fromMarkdown` converts when asked, so it is never detected.
27
+ */
28
+ declare function deckFormatOf(filename: string | undefined): DeckFormat;
29
+ interface ReadDeckOptions {
30
+ /** The format of the text. Wins over `filename`. */
31
+ format?: DeckFormat;
32
+ /** The file name, for the format only: `.opf.md` is Markdown, `.yaml` and `.yml` are YAML, anything else is JSON. The content is never sniffed. */
33
+ filename?: string;
34
+ /** Catalogs the host registered, for the references check. Nothing is fetched. */
35
+ catalogs?: readonly Catalog[];
36
+ /**
37
+ * Check the deck with `validate` and locate its findings in the text: `true` (the default) checks `format` and `references`;
38
+ * options pick other rules or categories (`{}` runs every rule; `catalogs` above is added when the options name none);
39
+ * `false` skips the check, so only syntax errors are reported and `schemaValid` is null.
40
+ */
41
+ validate?: boolean | ValidateOptions;
42
+ }
43
+ /**
44
+ * The deck read from the text with the `validate` report of it (`valid`, `schemaValid`, `checks`, `findings`, `counts`, and
45
+ * `template` and `unfilledVariables` for a deck with content variables), the same whatever the format.
46
+ */
47
+ interface ReadDeckResult extends ValidationReport {
48
+ /** The deck. Always a value; when `valid` is false it is a best effort (an empty object after a syntax error). */
49
+ presentation: Presentation;
50
+ /** The format the text was read as. */
51
+ format: DeckFormat;
52
+ }
53
+ /**
54
+ * Read a deck from JSON, YAML or Markdown text. Never throws for malformed content; read `valid` and `findings`. The findings
55
+ * of a YAML or Markdown deck carry `location` (the UTF-16 offset and length, one-based line and column of the text that caused
56
+ * them, a validation finding mapped to the field it names); so do those of a JSON deck. A JSON syntax error is `opf/json-syntax`,
57
+ * a YAML one `yaml/<rule>` and a Markdown one `markdown/<rule>`. Throws a `TypeError` for text that is not a string, a format
58
+ * that is none of the three, or a bad option.
59
+ */
60
+ declare function readDeck(text: string, options?: ReadDeckOptions): ReadDeckResult;
61
+ interface WriteDeckOptions {
62
+ /** The format to write. Wins over `filename`. */
63
+ format?: DeckFormat;
64
+ /** The file name the text is for, for the format only (see `readDeck`). */
65
+ filename?: string;
66
+ /** YAML: start with `# yaml-language-server: $schema=...` so editors validate and complete the file. */
67
+ schemaComment?: boolean;
68
+ }
69
+ /**
70
+ * Write a deck as text: JSON as two-space JSON with a final newline, YAML in canonical form (`toYaml`) and Markdown in canonical
71
+ * form (`toMarkdown`, with anything the dialect has no syntax for embedded in `opf-slide` and `opf-block` fences so nothing is
72
+ * lost). `readDeck` reads each result back to the same deck. YAML and Markdown throw `OPFYamlError` or `OPFMarkdownError`
73
+ * (`invalid-document`) for a document that is not valid OPF; JSON writes whatever it is given.
74
+ */
75
+ declare function writeDeck(presentation: unknown, options?: WriteDeckOptions): string;
76
+
77
+ export { DECK_FORMATS, type DeckFormat, type ReadDeckOptions, type ReadDeckResult, type WriteDeckOptions, deckFormatOf, readDeck, writeDeck };
package/dist/deck.js ADDED
@@ -0,0 +1,12 @@
1
+ export { DECK_FORMATS, deckFormatOf, readDeck, writeDeck } from './chunk-KINQFU6X.js';
2
+ import './chunk-FQSIIADJ.js';
3
+ import './chunk-K4DQQIT4.js';
4
+ import './chunk-5UEUAW57.js';
5
+ import './chunk-6OR326EA.js';
6
+ import './chunk-NAWQR7MN.js';
7
+ import './chunk-5TO6I3GB.js';
8
+ import './chunk-PX5AWL7Y.js';
9
+ import './chunk-5PDN7BN6.js';
10
+ import './chunk-TRDXRRQK.js';
11
+ import './chunk-SPFV27O5.js';
12
+ import './chunk-WEDGVC5W.js';
package/dist/diff.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { J as JsonPatchOperation } from './finding-C_por275.js';
1
+ import { J as JsonPatchOperation } from './finding-CT_f_vbD.js';
2
2
 
3
3
  type MatchedBy = "id" | "equal" | "similar" | "position";
4
4
  interface MatchPair {
package/dist/diff.js CHANGED
@@ -1,7 +1,7 @@
1
- export { categoryOf, describeValue, diff, formatDiffReport, matchArrays, merge, similarity } from './chunk-Z65B2B77.js';
2
- import './chunk-BFLVSVA7.js';
3
- import './chunk-JDJBDYSR.js';
4
- import './chunk-6OXY2CP3.js';
5
- import './chunk-S5W34SIJ.js';
6
- import './chunk-XOZ4KMSR.js';
7
- import './chunk-LS2FMPI5.js';
1
+ export { categoryOf, describeValue, diff, formatDiffReport, matchArrays, merge, similarity } from './chunk-UM24JFUE.js';
2
+ import './chunk-3XDRQYWZ.js';
3
+ import './chunk-PX5AWL7Y.js';
4
+ import './chunk-5PDN7BN6.js';
5
+ import './chunk-TRDXRRQK.js';
6
+ import './chunk-SPFV27O5.js';
7
+ import './chunk-WEDGVC5W.js';