@openpresentation/opf 0.12.2 → 0.14.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 (416) hide show
  1. package/README.md +28 -23
  2. package/dist/{catalogs-BnI7JKcn.d.ts → catalogs-D-yyQWCQ.d.ts} +86 -208
  3. package/dist/catalogs.d.ts +2 -2
  4. package/dist/catalogs.js +1 -1
  5. package/dist/chart-data-B_3z9VTb.d.ts +188 -0
  6. package/dist/chunk-4LDGKLUC.js +192 -0
  7. package/dist/{chunk-V2537ENL.js → chunk-4VJDTF55.js} +2 -90
  8. package/dist/chunk-5ZU6JAPP.js +83 -0
  9. package/dist/{chunk-HOBSL7AJ.js → chunk-6OXY2CP3.js} +3604 -1644
  10. package/dist/{chunk-RUC7L5DJ.js → chunk-BFLVSVA7.js} +26 -26
  11. package/dist/chunk-CSQHPVGL.js +94 -0
  12. package/dist/{chunk-GJKJL4YY.js → chunk-D3TY4TT6.js} +34 -412
  13. package/dist/chunk-JDJBDYSR.js +4167 -0
  14. package/dist/{chunk-4LAM3N6S.js → chunk-LS2FMPI5.js} +1497 -1097
  15. package/dist/{chunk-SOSOBKQ2.js → chunk-Q2TCMN56.js} +6 -7
  16. package/dist/chunk-UPQQD7MA.js +1840 -0
  17. package/dist/{chunk-AUM5MXBR.js → chunk-XIZUK2XM.js} +36 -32
  18. package/dist/{chunk-E34DJ5LL.js → chunk-XOZ4KMSR.js} +2427 -10820
  19. package/dist/chunk-Z65B2B77.js +601 -0
  20. package/dist/{composition-DWbCiMwF.d.ts → composition-_WEwBe2a.d.ts} +744 -26
  21. package/dist/composition.d.ts +2 -1
  22. package/dist/composition.js +2 -2
  23. package/dist/convert.d.ts +9 -4
  24. package/dist/convert.js +57 -26
  25. package/dist/data.d.ts +5 -4
  26. package/dist/data.js +3 -1
  27. package/dist/diff.d.ts +5 -5
  28. package/dist/diff.js +6 -603
  29. package/dist/docs.js +70 -52
  30. package/dist/examples.d.ts +1 -1
  31. package/dist/examples.js +1466 -2963
  32. package/dist/finding-C_por275.d.ts +212 -0
  33. package/dist/format.d.ts +4 -4
  34. package/dist/format.js +2 -83
  35. package/dist/index.d.ts +318 -281
  36. package/dist/index.js +530 -943
  37. package/dist/markdown.d.ts +28 -25
  38. package/dist/markdown.js +8 -1940
  39. package/dist/pagination-BZpXLvFL.d.ts +119 -0
  40. package/dist/pagination.d.ts +5 -60
  41. package/dist/pagination.js +5 -5
  42. package/dist/patch.d.ts +12 -23
  43. package/dist/patch.js +5 -5
  44. package/dist/{presentation-DcF-MZcz.d.ts → presentation-C5eHkevA.d.ts} +516 -499
  45. package/dist/repo-readme.js +1 -1
  46. package/dist/{schemas-BSjlG8-R.d.ts → schemas-DDpqAgyS.d.ts} +49 -17
  47. package/dist/schemas.d.ts +1 -1
  48. package/dist/schemas.js +1 -1
  49. package/dist/spec/README.md +10 -5
  50. package/dist/spec/catalogs/audiences/index.json +2 -50
  51. package/dist/spec/catalogs/chart-types/100pct-stacked-area.json +21 -0
  52. package/dist/spec/catalogs/chart-types/100pct-stacked-bar.json +22 -0
  53. package/dist/spec/catalogs/chart-types/100pct-stacked-column.json +22 -0
  54. package/dist/spec/catalogs/chart-types/area.json +2 -60
  55. package/dist/spec/catalogs/chart-types/bar.json +2 -48
  56. package/dist/spec/catalogs/chart-types/box-and-whisker.json +2 -132
  57. package/dist/spec/catalogs/chart-types/column.json +2 -52
  58. package/dist/spec/catalogs/chart-types/combo.json +37 -0
  59. package/dist/spec/catalogs/chart-types/doughnut.json +2 -40
  60. package/dist/spec/catalogs/chart-types/filled-radar.json +2 -52
  61. package/dist/spec/catalogs/chart-types/funnel.json +2 -46
  62. package/dist/spec/catalogs/chart-types/histogram.json +2 -149
  63. package/dist/spec/catalogs/chart-types/index.json +50 -520
  64. package/dist/spec/catalogs/chart-types/line-with-markers.json +2 -60
  65. package/dist/spec/catalogs/chart-types/line.json +2 -60
  66. package/dist/spec/catalogs/chart-types/pareto.json +2 -50
  67. package/dist/spec/catalogs/chart-types/pie.json +2 -40
  68. package/dist/spec/catalogs/chart-types/radar-with-markers.json +2 -52
  69. package/dist/spec/catalogs/chart-types/radar.json +2 -52
  70. package/dist/spec/catalogs/chart-types/scatter.json +2 -73
  71. package/dist/spec/catalogs/chart-types/stacked-area.json +21 -0
  72. package/dist/spec/catalogs/chart-types/stacked-bar.json +22 -0
  73. package/dist/spec/catalogs/chart-types/stacked-column.json +22 -0
  74. package/dist/spec/catalogs/chart-types/stacked-line-with-markers.json +22 -0
  75. package/dist/spec/catalogs/chart-types/stacked-line.json +21 -0
  76. package/dist/spec/catalogs/chart-types/treemap.json +2 -48
  77. package/dist/spec/catalogs/chart-types/waterfall.json +2 -52
  78. package/dist/spec/catalogs/chart-types/world.json +2 -64
  79. package/dist/spec/catalogs/font-schemes/angsana-new.json +2 -2
  80. package/dist/spec/catalogs/font-schemes/aparajita.json +3 -3
  81. package/dist/spec/catalogs/font-schemes/aptos.json +1 -1
  82. package/dist/spec/catalogs/font-schemes/arabic-typesetting.json +2 -2
  83. package/dist/spec/catalogs/font-schemes/arial.json +1 -1
  84. package/dist/spec/catalogs/font-schemes/batang.json +2 -2
  85. package/dist/spec/catalogs/font-schemes/bookman.json +1 -1
  86. package/dist/spec/catalogs/font-schemes/calibri.json +1 -1
  87. package/dist/spec/catalogs/font-schemes/century-schoolbook.json +1 -1
  88. package/dist/spec/catalogs/font-schemes/consolas.json +2 -4
  89. package/dist/spec/catalogs/font-schemes/constantia.json +1 -1
  90. package/dist/spec/catalogs/font-schemes/courier-new.json +2 -4
  91. package/dist/spec/catalogs/font-schemes/daunpenh.json +2 -2
  92. package/dist/spec/catalogs/font-schemes/david.json +2 -2
  93. package/dist/spec/catalogs/font-schemes/dilleniaupc.json +2 -2
  94. package/dist/spec/catalogs/font-schemes/fangsong.json +2 -2
  95. package/dist/spec/catalogs/font-schemes/garamond.json +1 -1
  96. package/dist/spec/catalogs/font-schemes/gautami.json +2 -2
  97. package/dist/spec/catalogs/font-schemes/georgia.json +1 -1
  98. package/dist/spec/catalogs/font-schemes/gisha.json +3 -3
  99. package/dist/spec/catalogs/font-schemes/grandview.json +1 -1
  100. package/dist/spec/catalogs/font-schemes/gungsuh.json +2 -2
  101. package/dist/spec/catalogs/font-schemes/impact.json +1 -1
  102. package/dist/spec/catalogs/font-schemes/index.json +1 -1
  103. package/dist/spec/catalogs/font-schemes/kalinga.json +2 -2
  104. package/dist/spec/catalogs/font-schemes/kartika.json +2 -2
  105. package/dist/spec/catalogs/font-schemes/khmer-ui.json +2 -2
  106. package/dist/spec/catalogs/font-schemes/latha.json +2 -2
  107. package/dist/spec/catalogs/font-schemes/lucida-sans.json +1 -1
  108. package/dist/spec/catalogs/font-schemes/malgun-gothic.json +2 -2
  109. package/dist/spec/catalogs/font-schemes/mangal.json +4 -5
  110. package/dist/spec/catalogs/font-schemes/meiryo.json +2 -2
  111. package/dist/spec/catalogs/font-schemes/microsoft-jhenghei.json +2 -2
  112. package/dist/spec/catalogs/font-schemes/microsoft-yahei.json +5 -5
  113. package/dist/spec/catalogs/font-schemes/mingliu.json +2 -2
  114. package/dist/spec/catalogs/font-schemes/miriam.json +2 -2
  115. package/dist/spec/catalogs/font-schemes/montserrat.json +1 -1
  116. package/dist/spec/catalogs/font-schemes/ms-mincho.json +2 -2
  117. package/dist/spec/catalogs/font-schemes/nirmala-ui.json +2 -2
  118. package/dist/spec/catalogs/font-schemes/noto-naksh-arabic.json +2 -2
  119. package/dist/spec/catalogs/font-schemes/noto-nastaliq-urdu.json +3 -3
  120. package/dist/spec/catalogs/font-schemes/noto-sans-arabic.json +4 -4
  121. package/dist/spec/catalogs/font-schemes/noto-sans-armenian.json +2 -2
  122. package/dist/spec/catalogs/font-schemes/noto-sans-bengali.json +3 -3
  123. package/dist/spec/catalogs/font-schemes/noto-sans-devangari.json +3 -3
  124. package/dist/spec/catalogs/font-schemes/noto-sans-ethiopic.json +2 -2
  125. package/dist/spec/catalogs/font-schemes/noto-sans-georgian.json +2 -2
  126. package/dist/spec/catalogs/font-schemes/noto-sans-gujarati.json +2 -2
  127. package/dist/spec/catalogs/font-schemes/noto-sans-gurmukhi.json +2 -2
  128. package/dist/spec/catalogs/font-schemes/noto-sans-hebrew.json +2 -2
  129. package/dist/spec/catalogs/font-schemes/noto-sans-jp.json +2 -2
  130. package/dist/spec/catalogs/font-schemes/noto-sans-kannada.json +2 -2
  131. package/dist/spec/catalogs/font-schemes/noto-sans-khmer.json +2 -2
  132. package/dist/spec/catalogs/font-schemes/noto-sans-kr.json +2 -2
  133. package/dist/spec/catalogs/font-schemes/noto-sans-malayalam.json +2 -2
  134. package/dist/spec/catalogs/font-schemes/noto-sans-mongolian.json +2 -2
  135. package/dist/spec/catalogs/font-schemes/noto-sans-oriya.json +2 -2
  136. package/dist/spec/catalogs/font-schemes/noto-sans-sc.json +5 -5
  137. package/dist/spec/catalogs/font-schemes/noto-sans-tamil.json +2 -2
  138. package/dist/spec/catalogs/font-schemes/noto-sans-tc.json +2 -2
  139. package/dist/spec/catalogs/font-schemes/noto-sans-telugu.json +2 -2
  140. package/dist/spec/catalogs/font-schemes/noto-sans-thai.json +2 -2
  141. package/dist/spec/catalogs/font-schemes/noto-sans.json +5 -5
  142. package/dist/spec/catalogs/font-schemes/nyala.json +2 -2
  143. package/dist/spec/catalogs/font-schemes/open-sans.json +1 -1
  144. package/dist/spec/catalogs/font-schemes/pmingliu.json +2 -2
  145. package/dist/spec/catalogs/font-schemes/poppins.json +1 -1
  146. package/dist/spec/catalogs/font-schemes/pt-serif.json +1 -1
  147. package/dist/spec/catalogs/font-schemes/raavi.json +2 -2
  148. package/dist/spec/catalogs/font-schemes/raleway.json +1 -1
  149. package/dist/spec/catalogs/font-schemes/roboto.json +1 -1
  150. package/dist/spec/catalogs/font-schemes/rockwell.json +1 -1
  151. package/dist/spec/catalogs/font-schemes/sakkal-majalla.json +4 -4
  152. package/dist/spec/catalogs/font-schemes/seaford.json +1 -1
  153. package/dist/spec/catalogs/font-schemes/segoe-ui-light.json +1 -1
  154. package/dist/spec/catalogs/font-schemes/segoe-ui.json +1 -1
  155. package/dist/spec/catalogs/font-schemes/shonar-bangla.json +3 -3
  156. package/dist/spec/catalogs/font-schemes/shruti.json +2 -2
  157. package/dist/spec/catalogs/font-schemes/simsun.json +2 -2
  158. package/dist/spec/catalogs/font-schemes/skeena.json +1 -1
  159. package/dist/spec/catalogs/font-schemes/sylfaen.json +3 -3
  160. package/dist/spec/catalogs/font-schemes/tahoma.json +1 -1
  161. package/dist/spec/catalogs/font-schemes/tenorite.json +1 -1
  162. package/dist/spec/catalogs/font-schemes/times-new-roman.json +1 -1
  163. package/dist/spec/catalogs/font-schemes/traditional-arabic.json +4 -4
  164. package/dist/spec/catalogs/font-schemes/trebuchet-ms.json +1 -1
  165. package/dist/spec/catalogs/font-schemes/tunga.json +2 -2
  166. package/dist/spec/catalogs/font-schemes/verdana.json +1 -1
  167. package/dist/spec/catalogs/font-schemes/vrinda.json +2 -2
  168. package/dist/spec/catalogs/font-schemes/yu-gothic.json +2 -2
  169. package/dist/spec/catalogs/layouts/action-plan.json +9 -15
  170. package/dist/spec/catalogs/layouts/agenda.json +8 -15
  171. package/dist/spec/catalogs/layouts/appendix-index.json +7 -15
  172. package/dist/spec/catalogs/layouts/architecture-stack.json +9 -15
  173. package/dist/spec/catalogs/layouts/assumptions-dependencies.json +9 -15
  174. package/dist/spec/catalogs/layouts/before-after.json +9 -15
  175. package/dist/spec/catalogs/layouts/benchmark-target-table.json +9 -15
  176. package/dist/spec/catalogs/layouts/blank.json +11 -1
  177. package/dist/spec/catalogs/layouts/bullet-list.json +9 -15
  178. package/dist/spec/catalogs/layouts/business-model-canvas.json +9 -15
  179. package/dist/spec/catalogs/layouts/capability-map.json +14 -16
  180. package/dist/spec/catalogs/layouts/case-study.json +9 -15
  181. package/dist/spec/catalogs/layouts/chapter-recap.json +8 -15
  182. package/dist/spec/catalogs/layouts/chart-1x.json +15 -0
  183. package/dist/spec/catalogs/layouts/chart-2x.json +15 -0
  184. package/dist/spec/catalogs/layouts/chart-3x.json +15 -0
  185. package/dist/spec/catalogs/layouts/circular-lifecycle.json +9 -15
  186. package/dist/spec/catalogs/layouts/code-1x.json +10 -0
  187. package/dist/spec/catalogs/layouts/comparison.json +9 -15
  188. package/dist/spec/catalogs/layouts/competitive-landscape.json +14 -16
  189. package/dist/spec/catalogs/layouts/customer-journey.json +14 -16
  190. package/dist/spec/catalogs/layouts/customer-logos.json +9 -15
  191. package/dist/spec/catalogs/layouts/dashboard.json +9 -15
  192. package/dist/spec/catalogs/layouts/data-visualization.json +9 -15
  193. package/dist/spec/catalogs/layouts/decision-tree.json +14 -16
  194. package/dist/spec/catalogs/layouts/detailed-data-table.json +9 -15
  195. package/dist/spec/catalogs/layouts/ecosystem-map.json +14 -16
  196. package/dist/spec/catalogs/layouts/executive-decision.json +9 -15
  197. package/dist/spec/catalogs/layouts/executive-summary.json +9 -15
  198. package/dist/spec/catalogs/layouts/extract/canonical.json +8 -8
  199. package/dist/spec/catalogs/layouts/faq.json +9 -15
  200. package/dist/spec/catalogs/layouts/feature-comparison-matrix.json +9 -15
  201. package/dist/spec/catalogs/layouts/forecast-scenario.json +9 -15
  202. package/dist/spec/catalogs/layouts/funnel-pyramid.json +9 -15
  203. package/dist/spec/catalogs/layouts/gantt-project-plan.json +9 -15
  204. package/dist/spec/catalogs/layouts/geographic-map.json +13 -15
  205. package/dist/spec/catalogs/layouts/heatmap-cohort.json +9 -15
  206. package/dist/spec/catalogs/layouts/hub-and-spoke.json +9 -15
  207. package/dist/spec/catalogs/layouts/icon-grid.json +14 -16
  208. package/dist/spec/catalogs/layouts/image-1x.json +11 -1
  209. package/dist/spec/catalogs/layouts/image-2x.json +12 -2
  210. package/dist/spec/catalogs/layouts/image-3x.json +13 -3
  211. package/dist/spec/catalogs/layouts/image-bleed.json +12 -2
  212. package/dist/spec/catalogs/layouts/image-focus.json +14 -16
  213. package/dist/spec/catalogs/layouts/index.json +1 -1
  214. package/dist/spec/catalogs/layouts/key-takeaway.json +8 -15
  215. package/dist/spec/catalogs/layouts/kpi-scorecard.json +9 -15
  216. package/dist/spec/catalogs/layouts/list-1x.json +17 -1
  217. package/dist/spec/catalogs/layouts/list-2x.json +16 -0
  218. package/dist/spec/catalogs/layouts/list-3x.json +16 -0
  219. package/dist/spec/catalogs/layouts/list-4x.json +16 -0
  220. package/dist/spec/catalogs/layouts/list-5x.json +16 -0
  221. package/dist/spec/catalogs/layouts/list-6x.json +16 -0
  222. package/dist/spec/catalogs/layouts/logic-tree.json +9 -15
  223. package/dist/spec/catalogs/layouts/market-size.json +9 -15
  224. package/dist/spec/catalogs/layouts/matrix-quadrant.json +9 -15
  225. package/dist/spec/catalogs/layouts/media-1x.json +11 -1
  226. package/dist/spec/catalogs/layouts/network-dependency-map.json +13 -15
  227. package/dist/spec/catalogs/layouts/number-1x.json +16 -1
  228. package/dist/spec/catalogs/layouts/number-2x.json +15 -0
  229. package/dist/spec/catalogs/layouts/number-3x.json +15 -0
  230. package/dist/spec/catalogs/layouts/number-4x.json +15 -0
  231. package/dist/spec/catalogs/layouts/number-5x.json +15 -0
  232. package/dist/spec/catalogs/layouts/number-6x.json +15 -0
  233. package/dist/spec/catalogs/layouts/one-column-explainer.json +9 -15
  234. package/dist/spec/catalogs/layouts/org-chart.json +9 -15
  235. package/dist/spec/catalogs/layouts/persona-grid.json +14 -16
  236. package/dist/spec/catalogs/layouts/photo-grid.json +17 -19
  237. package/dist/spec/catalogs/layouts/pricing-table.json +9 -15
  238. package/dist/spec/catalogs/layouts/process-flow.json +9 -15
  239. package/dist/spec/catalogs/layouts/product-feature.json +14 -16
  240. package/dist/spec/catalogs/layouts/pros-cons.json +9 -15
  241. package/dist/spec/catalogs/layouts/qa-discussion.json +7 -15
  242. package/dist/spec/catalogs/layouts/quote-1x.json +11 -1
  243. package/dist/spec/catalogs/layouts/quote-highlight.json +9 -15
  244. package/dist/spec/catalogs/layouts/raci-matrix.json +9 -15
  245. package/dist/spec/catalogs/layouts/risk-heatmap.json +9 -15
  246. package/dist/spec/catalogs/layouts/roadmap.json +9 -15
  247. package/dist/spec/catalogs/layouts/screenshot-walkthrough.json +14 -16
  248. package/dist/spec/catalogs/layouts/section-divider.json +8 -15
  249. package/dist/spec/catalogs/layouts/single-message-statement.json +8 -15
  250. package/dist/spec/catalogs/layouts/stats-metrics.json +9 -15
  251. package/dist/spec/catalogs/layouts/status-rag.json +9 -15
  252. package/dist/spec/catalogs/layouts/swimlane-process.json +14 -16
  253. package/dist/spec/catalogs/layouts/swot-analysis.json +9 -15
  254. package/dist/spec/catalogs/layouts/table-1x.json +10 -0
  255. package/dist/spec/catalogs/layouts/team-bio.json +14 -16
  256. package/dist/spec/catalogs/layouts/testimonial-grid.json +9 -15
  257. package/dist/spec/catalogs/layouts/text-1x.json +11 -1
  258. package/dist/spec/catalogs/layouts/text-2x.json +10 -0
  259. package/dist/spec/catalogs/layouts/text-3x.json +10 -0
  260. package/dist/spec/catalogs/layouts/thank-you-cta.json +8 -15
  261. package/dist/spec/catalogs/layouts/three-column.json +9 -15
  262. package/dist/spec/catalogs/layouts/timeline-1x.json +11 -1
  263. package/dist/spec/catalogs/layouts/timeline.json +9 -15
  264. package/dist/spec/catalogs/layouts/title-slide.json +8 -15
  265. package/dist/spec/catalogs/layouts/title-subtitle.json +11 -1
  266. package/dist/spec/catalogs/layouts/title.json +11 -1
  267. package/dist/spec/catalogs/layouts/two-column.json +9 -15
  268. package/dist/spec/catalogs/layouts/venn-overlap.json +9 -15
  269. package/dist/spec/catalogs/layouts/waterfall-bridge.json +9 -15
  270. package/dist/spec/catalogs/layouts/wheel-radial.json +9 -15
  271. package/dist/spec/catalogs/manifest.json +11 -11
  272. package/dist/spec/catalogs/narratives/board-meeting.json +45 -45
  273. package/dist/spec/catalogs/narratives/business-narrative.json +19 -19
  274. package/dist/spec/catalogs/narratives/business-review.json +27 -27
  275. package/dist/spec/catalogs/narratives/capacity-planning.json +19 -19
  276. package/dist/spec/catalogs/narratives/challenge-resolution.json +17 -17
  277. package/dist/spec/catalogs/narratives/change-story.json +13 -13
  278. package/dist/spec/catalogs/narratives/classic-story.json +17 -17
  279. package/dist/spec/catalogs/narratives/company-intro.json +21 -21
  280. package/dist/spec/catalogs/narratives/conference-talk.json +4 -4
  281. package/dist/spec/catalogs/narratives/data-story.json +13 -14
  282. package/dist/spec/catalogs/narratives/early-startup-pitch.json +27 -27
  283. package/dist/spec/catalogs/narratives/educate.json +21 -21
  284. package/dist/spec/catalogs/narratives/employee-review.json +19 -19
  285. package/dist/spec/catalogs/narratives/failure-analysis.json +23 -23
  286. package/dist/spec/catalogs/narratives/focus.json +27 -27
  287. package/dist/spec/catalogs/narratives/golden-circle.json +4 -4
  288. package/dist/spec/catalogs/narratives/heros-journey.json +13 -13
  289. package/dist/spec/catalogs/narratives/index.json +145 -145
  290. package/dist/spec/catalogs/narratives/innovation.json +21 -21
  291. package/dist/spec/catalogs/narratives/justice.json +25 -25
  292. package/dist/spec/catalogs/narratives/marketing-strategy.json +25 -25
  293. package/dist/spec/catalogs/narratives/performance-improvement-plan.json +19 -19
  294. package/dist/spec/catalogs/narratives/performance-review.json +25 -25
  295. package/dist/spec/catalogs/narratives/persuade.json +17 -17
  296. package/dist/spec/catalogs/narratives/persuasive-sales.json +19 -19
  297. package/dist/spec/catalogs/narratives/pitch-deck.json +6 -6
  298. package/dist/spec/catalogs/narratives/problem-solution.json +5 -5
  299. package/dist/spec/catalogs/narratives/product-launch.json +23 -23
  300. package/dist/spec/catalogs/narratives/project-proposal.json +23 -23
  301. package/dist/spec/catalogs/narratives/pyramid-principle.json +9 -9
  302. package/dist/spec/catalogs/narratives/qbr.json +8 -8
  303. package/dist/spec/catalogs/narratives/rags-to-riches.json +17 -17
  304. package/dist/spec/catalogs/narratives/reveal.json +19 -19
  305. package/dist/spec/catalogs/narratives/scqa.json +4 -4
  306. package/dist/spec/catalogs/narratives/situation-complication-resolution.json +11 -11
  307. package/dist/spec/catalogs/narratives/sparkline.json +11 -11
  308. package/dist/spec/catalogs/narratives/star-method.json +11 -11
  309. package/dist/spec/catalogs/narratives/status-update.json +15 -15
  310. package/dist/spec/catalogs/narratives/strategic-advisory.json +17 -17
  311. package/dist/spec/catalogs/narratives/strategic-narrative.json +4 -4
  312. package/dist/spec/catalogs/narratives/survey-analysis.json +23 -23
  313. package/dist/spec/catalogs/narratives/survival-story.json +23 -23
  314. package/dist/spec/catalogs/narratives/transformation-arc.json +4 -4
  315. package/dist/spec/catalogs/narratives/trend-analysis.json +17 -17
  316. package/dist/spec/catalogs/narratives/underdog-victory.json +19 -19
  317. package/dist/spec/catalogs/narratives/venture-pitch.json +27 -27
  318. package/dist/spec/catalogs/narratives/vision-roadmap.json +13 -13
  319. package/dist/spec/catalogs/narratives/weekly-progress.json +23 -23
  320. package/dist/spec/catalogs/narratives/what-so-what-now-what.json +9 -9
  321. package/dist/spec/openapi.yaml +2 -5
  322. package/dist/spec/reference/engine-defaults.json +2 -2
  323. package/dist/spec/schemas/audience.schema.json +1 -1
  324. package/dist/spec/schemas/catalog-index.schema.json +2 -2
  325. package/dist/spec/schemas/chart-type.schema.json +19 -290
  326. package/dist/spec/schemas/color-scheme.schema.json +20 -12
  327. package/dist/spec/schemas/finding.schema.json +191 -0
  328. package/dist/spec/schemas/font-scheme.schema.json +19 -46
  329. package/dist/spec/schemas/layout.schema.json +100 -159
  330. package/dist/spec/schemas/narrative.schema.json +17 -25
  331. package/dist/spec/schemas/opf.schema.json +503 -339
  332. package/dist/spec/schemas/social-platform.schema.json +1 -26
  333. package/dist/spec/schemas/theme.schema.json +4 -1
  334. package/dist/spec-files.d.ts +1 -1
  335. package/dist/spec-files.js +1 -1
  336. package/dist/symbol-font-encodings.js +18448 -1
  337. package/dist/types.d.ts +4 -4
  338. package/dist/validation-types-zh03LeZy.d.ts +276 -0
  339. package/dist/validator.d.ts +60 -4
  340. package/dist/validator.js +4 -4
  341. package/dist/yaml.d.ts +87 -0
  342. package/dist/yaml.js +321 -0
  343. package/package.json +6 -10
  344. package/dist/audit.d.ts +0 -156
  345. package/dist/audit.js +0 -7
  346. package/dist/chunk-6LZK2IZB.js +0 -1690
  347. package/dist/chunk-FYLJVF7X.js +0 -18448
  348. package/dist/chunk-JKVKYVWL.js +0 -1332
  349. package/dist/chunk-MWPMJE6P.js +0 -622
  350. package/dist/lint.d.ts +0 -70
  351. package/dist/lint.js +0 -6
  352. package/dist/spec/catalogs/audiences/customers.json +0 -27
  353. package/dist/spec/catalogs/audiences/executives.json +0 -27
  354. package/dist/spec/catalogs/audiences/investors.json +0 -27
  355. package/dist/spec/catalogs/audiences/marketing-team.json +0 -27
  356. package/dist/spec/catalogs/audiences/regulators.json +0 -27
  357. package/dist/spec/catalogs/audiences/sales-team.json +0 -27
  358. package/dist/spec/catalogs/chart-types/100pct-bullet-bar-2x.json +0 -91
  359. package/dist/spec/catalogs/chart-types/100pct-bullet-bar-3x.json +0 -103
  360. package/dist/spec/catalogs/chart-types/100pct-bullet-bar.json +0 -79
  361. package/dist/spec/catalogs/chart-types/100pct-bullet-column-2x.json +0 -91
  362. package/dist/spec/catalogs/chart-types/100pct-bullet-column-3x.json +0 -103
  363. package/dist/spec/catalogs/chart-types/100pct-bullet-column.json +0 -79
  364. package/dist/spec/catalogs/chart-types/100pct-progress-bar.json +0 -105
  365. package/dist/spec/catalogs/chart-types/100pct-stacked-area-2x.json +0 -106
  366. package/dist/spec/catalogs/chart-types/100pct-stacked-area-3x.json +0 -123
  367. package/dist/spec/catalogs/chart-types/100pct-stacked-bar-2x.json +0 -89
  368. package/dist/spec/catalogs/chart-types/100pct-stacked-bar-3x.json +0 -100
  369. package/dist/spec/catalogs/chart-types/100pct-stacked-column-2x.json +0 -95
  370. package/dist/spec/catalogs/chart-types/100pct-stacked-column-3x.json +0 -108
  371. package/dist/spec/catalogs/chart-types/australia.json +0 -76
  372. package/dist/spec/catalogs/chart-types/box-and-whisker-2x.json +0 -136
  373. package/dist/spec/catalogs/chart-types/box-and-whisker-3x.json +0 -168
  374. package/dist/spec/catalogs/chart-types/bullet-bar-2x.json +0 -89
  375. package/dist/spec/catalogs/chart-types/bullet-bar-3x.json +0 -101
  376. package/dist/spec/catalogs/chart-types/bullet-bar.json +0 -77
  377. package/dist/spec/catalogs/chart-types/bullet-column-2x.json +0 -89
  378. package/dist/spec/catalogs/chart-types/bullet-column-3x.json +0 -101
  379. package/dist/spec/catalogs/chart-types/bullet-column.json +0 -77
  380. package/dist/spec/catalogs/chart-types/canada.json +0 -86
  381. package/dist/spec/catalogs/chart-types/clustered-bar-2x.json +0 -89
  382. package/dist/spec/catalogs/chart-types/clustered-column.json +0 -95
  383. package/dist/spec/catalogs/chart-types/dot-plot-2x.json +0 -99
  384. package/dist/spec/catalogs/chart-types/dot-plot-3x.json +0 -124
  385. package/dist/spec/catalogs/chart-types/dot-plot-4x.json +0 -149
  386. package/dist/spec/catalogs/chart-types/dot-plot-5x.json +0 -174
  387. package/dist/spec/catalogs/chart-types/dot-plot-6x.json +0 -199
  388. package/dist/spec/catalogs/chart-types/dot-plot.json +0 -74
  389. package/dist/spec/catalogs/chart-types/dumbbell.json +0 -120
  390. package/dist/spec/catalogs/chart-types/line-2x.json +0 -105
  391. package/dist/spec/catalogs/chart-types/line-3x.json +0 -127
  392. package/dist/spec/catalogs/chart-types/line-with-high-low-and-markers.json +0 -144
  393. package/dist/spec/catalogs/chart-types/line-with-high-low.json +0 -144
  394. package/dist/spec/catalogs/chart-types/line-with-markers-2x.json +0 -106
  395. package/dist/spec/catalogs/chart-types/line-with-markers-3x.json +0 -128
  396. package/dist/spec/catalogs/chart-types/sparkline-2x.json +0 -138
  397. package/dist/spec/catalogs/chart-types/sparkline-3x.json +0 -174
  398. package/dist/spec/catalogs/chart-types/sparkline-4x.json +0 -210
  399. package/dist/spec/catalogs/chart-types/sparkline-5x.json +0 -246
  400. package/dist/spec/catalogs/chart-types/sparkline-6x.json +0 -282
  401. package/dist/spec/catalogs/chart-types/sparkline.json +0 -102
  402. package/dist/spec/catalogs/chart-types/stacked-area-2x.json +0 -106
  403. package/dist/spec/catalogs/chart-types/stacked-area-3x.json +0 -123
  404. package/dist/spec/catalogs/chart-types/stacked-bar-2x.json +0 -89
  405. package/dist/spec/catalogs/chart-types/stacked-bar-3x.json +0 -100
  406. package/dist/spec/catalogs/chart-types/stacked-column-2x.json +0 -95
  407. package/dist/spec/catalogs/chart-types/stacked-column-3x.json +0 -108
  408. package/dist/spec/catalogs/chart-types/stacked-line-2x.json +0 -106
  409. package/dist/spec/catalogs/chart-types/stacked-line-3x.json +0 -123
  410. package/dist/spec/catalogs/chart-types/stacked-line-with-markers-2x.json +0 -107
  411. package/dist/spec/catalogs/chart-types/stacked-line-with-markers-3x.json +0 -124
  412. package/dist/spec/catalogs/chart-types/treemap-2x.json +0 -101
  413. package/dist/spec/catalogs/chart-types/treemap-3x.json +0 -122
  414. package/dist/spec/catalogs/chart-types/united-kingdom.json +0 -68
  415. package/dist/spec/catalogs/chart-types/united-states.json +0 -82
  416. package/dist/validator-DfG9yxba.d.ts +0 -172
@@ -1 +1,2 @@
1
- export { A as AnnotatedRun, a as AnnotationFitter, b as AnnotationLayoutOptions, c as CAPTIONABLE_FIELDS, d as CAPTION_FONT_RATIO, e as CAPTION_MAX_RATIO, f as CHART_SERIES_MIN_DIFFERENCE, g as CHART_SERIES_MIN_LIGHTNESS_STEP, h as CITATION_MARKER_RAISE, i as CITATION_MARKER_SCALE, j as Caption, k as CaptionAlignment, l as CaptionObject, m as CaptionPosition, n as CaptionSettings, o as ChartLabelContent, p as ChartLabelPosition, q as ChartLegendPosition, r as ChartOptionDiagnostic, s as ChartOptionKind, t as ChartOptionSupport, u as ChartOptionTarget, v as CitationMarker, w as CitationNote, x as CodeContent, y as CodeLayout, z as CodeLayoutDiagnostic, B as CodeLayoutOptions, D as CodeLineSegment, E as CodeLineSource, G as CodeTextFit, H as CodeTextPart, C as ComposeSlideOptions, I as ComposedCaption, J as ComposedFlow, K as ComposedFootnoteEntry, N as ComposedFootnotes, O as ComposedGroup, P as ComposedItem, Q as ComposedLogo, R as ComposedSlideImage, S as Composition, U as CompositionCandidate, V as CompositionDecision, W as CompositionExplanation, X as CompositionPenalties, Y as CompositionTrack, Z as DEFAULT_CHART_LABEL_SEPARATOR, _ as DEFAULT_FONT_SCHEME, $ as DEFAULT_FURNITURE_DATE_FORMAT, a0 as DEFAULT_SLIDE_NUMBER_FORMAT, a1 as DeckCitations, a2 as FONT_SIZE_GRID_PER_PX, a3 as FOOTNOTE_MAX_RATIO, c7 as FontFaceSelection, a4 as FontFamilies, F as FontSchemeDiagnostic, a5 as FootnoteLayoutOptions, a6 as FurnitureField, a7 as FurnitureImagePart, a8 as FurnitureLayout, a9 as FurniturePart, aa as FurniturePartBase, ab as FurnitureSocialLink, ac as FurnitureTextExtras, ad as FurnitureTextPart, ae as LayoutBox, L as LayoutDiagnostic, af as ListBulletImage, ag as ListEntryLayout, ah as ListFit, ai as ListFitOptions, aj as ListNumber, ak as ListText, al as ListValue, am as LogoSlot, an as MAX_COMPOSITION_DEPTH, ao as MAX_NUMBERING_LEVELS, ap as MAX_NUMBERING_VALUE, aq as MAX_ROMAN_VALUE, ar as MeasureTextWidth, as as MetricContent, M as MetricLayout, at as MetricLayoutDiagnostic, au as MetricLayoutOptions, av as MetricTextPart, aw as MetricTextSource, ax as NUMBERING_STYLES, ay as NUMBERING_SUFFIXES, az as Numbering, aA as NumberingInput, aB as NumberingStyleName, aC as NumberingSuffix, aD as OPFCompositionError, aE as PICTURE_BULLET_SCALE, aF as PhysicalAlignment, aG as QuoteContent, aH as QuoteLayout, aI as QuoteLayoutDiagnostic, aJ as QuoteLayoutOptions, aK as QuoteTextPart, aL as QuoteTextSource, c8 as ReadingBox, aM as Reference, aN as ReferencesSlideOptions, aQ as ResolveLogoOptions, aR as ResolvedChartDataLabels, aS as ResolvedChartOptions, aT as ResolvedFontScheme, aU as ResolvedLogo, aV as ResolvedNumbering, aW as RichText, aX as RichTextFit, aY as RichTextFragment, aZ as RichTextLine, a_ as RichTextOptions, a$ as RichTextRun, b0 as SlideCitations, b1 as SlideComposition, b2 as SlideImageShape, b3 as SocialPlatformRecord, b4 as SocialProfile, c9 as SourceTextFit, ca as TableBorder, cb as TableCellLayout, cc as TableCellStyle, cd as TableGrid, ce as TableGridCell, cf as TableGridIssue, cg as TableLayout, ch as TableLayoutOptions, ci as TableRowLayout, b5 as TextDirection, b6 as TextFit, b7 as TextLineInk, cj as TextLineSegment, ck as TextLineSource, T as TextMeasurement, b8 as TextPlacement, b9 as TextPlacementLine, ba as TextStyle, bb as TimelineContent, bc as TimelineEvent, bd as TimelineLayout, be as TimelineLayoutDiagnostic, bf as TimelineLayoutOptions, bg as TimelineTextPart, bh as annotationText, bi as captionSettings, bj as chartColorForFill, bk as chartLabelText, bl as chartOptionSupport, bm as chartOptionTarget, bn as chartPaletteForFill, bo as citationMarkerText, bp as collectCitations, bq as colorContrast, br as composeSlide, bs as fitList, bt as fitRichText, bu as fitText, bv as formatChartLabelNumber, bw as formatChartLabelPercent, bx as formatFurnitureDate, by as formatListNumber, bz as formatSlideNumber, bA as layoutCaption, bB as layoutCode, bC as layoutFootnotes, bD as layoutFurniture, bE as layoutMetric, bF as layoutQuote, cl as layoutTable, bG as layoutTimeline, bH as listNumbers, bI as measureText, bJ as measureTextOutline, bL as numberingAtLevel, bM as numberingStyleDraws, bN as paragraphDirection, bO as paragraphDirectionAt, bP as physicalAlignment, bQ as placeTextLines, bR as referencesSlide, bS as resolveCanvasDimensions, bT as resolveChartOptions, bV as resolveFontFamilies, bW as resolveFontSchemeReference, bX as resolveLogo, bY as resolveNumbering, bZ as resolveSocialProfile, b_ as resolveTextStyle, b$ as sliceNumberedItems, c0 as slideCitations, cm as slideImageShape, c1 as snapFontSizeDown, c2 as snapFontSizeUp, cn as tableGrid, co as tableRowBoundaries, c3 as textColorForFill, c4 as textWidthMeasurer, cp as visualReadingOrder, c5 as walkCitationRuns, c6 as wrapText } from './composition-DWbCiMwF.js';
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,2 +1,2 @@
1
- export { CAPTIONABLE_FIELDS, CAPTION_FONT_RATIO, CAPTION_MAX_RATIO, CHART_SERIES_MIN_DIFFERENCE, CHART_SERIES_MIN_LIGHTNESS_STEP, CITATION_MARKER_RAISE, CITATION_MARKER_SCALE, DEFAULT_CHART_LABEL_SEPARATOR, DEFAULT_FONT_SCHEME, DEFAULT_FURNITURE_DATE_FORMAT, DEFAULT_SLIDE_NUMBER_FORMAT, FONT_SIZE_GRID_PER_PX, FOOTNOTE_MAX_RATIO, MAX_COMPOSITION_DEPTH, MAX_NUMBERING_LEVELS, MAX_NUMBERING_VALUE, MAX_ROMAN_VALUE, NUMBERING_STYLES, NUMBERING_SUFFIXES, OPFCompositionError, PICTURE_BULLET_SCALE, annotationText, captionSettings, chartColorForFill, chartLabelText, chartOptionSupport, chartOptionTarget, chartPaletteForFill, citationMarkerText, collectCitations, colorContrast, composeSlide, fitList, fitRichText, fitText, formatChartLabelNumber, formatChartLabelPercent, formatFurnitureDate, formatListNumber, formatSlideNumber, layoutCaption, layoutCode, layoutFootnotes, layoutFurniture, layoutMetric, layoutQuote, layoutTable, layoutTimeline, listNumbers, measureText, measureTextOutline, numberingAtLevel, numberingStyleDraws, paragraphDirection, paragraphDirectionAt, physicalAlignment, placeTextLines, referencesSlide, resolveCanvasDimensions, resolveChartOptions, resolveFontFamilies, resolveFontSchemeReference, resolveLogo, resolveNumbering, resolveSocialProfile, resolveTextStyle, sliceNumberedItems, slideCitations, slideImageShape, snapFontSizeDown, snapFontSizeUp, tableGrid, tableRowBoundaries, textColorForFill, textWidthMeasurer, visualReadingOrder, walkCitationRuns, wrapText } from './chunk-HOBSL7AJ.js';
2
- import './chunk-E34DJ5LL.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, 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';
package/dist/convert.d.ts CHANGED
@@ -1,5 +1,8 @@
1
- import { PaginatedPage, PresentationPaginationOptions } from './pagination.js';
2
- import './composition-DWbCiMwF.js';
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';
3
6
 
4
7
  type Json = any;
5
8
  type Obj = Record<string, any>;
@@ -46,6 +49,8 @@ declare const CONTENT_KIND_LABELS: Readonly<Record<ContentKind, string>>;
46
49
  */
47
50
  declare const CONTENT_CONVERSIONS: Readonly<Record<string, readonly ContentKind[]>>;
48
51
  interface ConvertOptions extends TableOptions {
52
+ /** RR-54: the presentation the payload belongs to. A dataset-backed chart or table needs it (its `datasets`) to convert to another kind or to validate. */
53
+ presentation?: unknown;
49
54
  /** Text to timeline: also read `label: text` with any short label as the date (default: only date-like labels). */
50
55
  looseWhen?: boolean;
51
56
  /** Code to text: `auto` (default) writes a fenced block when the code has a language or file name so nothing is lost; `never` writes the bare source and reports the loss. */
@@ -229,7 +234,7 @@ interface SplitOverflowResult extends SlideEdit {
229
234
  })[];
230
235
  }
231
236
  /**
232
- * Split a slide that does not fit into continuation slides with the existing pagination (`paginatePresentation`):
237
+ * Split a slide that does not fit into continuation slides with the existing pagination (`paginate`):
233
238
  * text, lists, tables and timelines break at item or sentence boundaries, headings are repeated and nothing is
234
239
  * dropped. The slide is paginated on its own, as slide 1 of 1, with the host's `options` (fonts, text
235
240
  * measurement); a slide that already fits is returned unchanged. Throws `not-convertible` when pagination
@@ -248,7 +253,7 @@ interface UnpaginateOptions {
248
253
  sourceSlideIndex?: number;
249
254
  }
250
255
  /**
251
- * The inverse of `paginatePresentation` for slides still as it returned them: given its `pages` mapping, join the
256
+ * The inverse of `paginate` for slides still as it returned them: given its `pages` mapping, join the
252
257
  * slices of each source slide back into the original leaves (text, list items, table rows, timeline events, code
253
258
  * lines) and replace the continuation slides by one slide. The first slide's id, headings and design are kept; the
254
259
  * slides must not have been edited or reordered since (a gap between two slices is refused). The readability floor
package/dist/convert.js CHANGED
@@ -1,17 +1,19 @@
1
- import { paginatePresentation, OPFPaginationError } from './chunk-AUM5MXBR.js';
2
- import { CONTENT_KEYS, isRecord, contentKeysOf, refuse, clone, Loss, isSlideLike, assertValidOwner, report, OPFConversionError, plainOf, assertValidOutput, same, splitRuns, runsOf, lineIsPlain, linePlain, concatText, parseQuoteLines, parseCodeFence, splitWhen, parseListLine, levelsFromIndents, lineValue, joinLines, hasFormatting, fenceCode } from './chunk-V2537ENL.js';
3
- export { OPFConversionError } from './chunk-V2537ENL.js';
4
- import './chunk-JKVKYVWL.js';
5
- import { promotedRegionKeys, visitContentPayloads } from './chunk-HOBSL7AJ.js';
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';
6
7
  import './chunk-S5W34SIJ.js';
7
- import './chunk-E34DJ5LL.js';
8
- import './chunk-4LAM3N6S.js';
8
+ import './chunk-XOZ4KMSR.js';
9
+ import './chunk-LS2FMPI5.js';
9
10
 
10
11
  // src/convert/tables.ts
11
12
  function cellOf(raw) {
12
13
  if (isRecord(raw) && Object.hasOwn(raw, "value")) {
13
- return { value: raw.value, styled: isRecord(raw.style) && Object.keys(raw.style).length > 0, merged: (raw.colSpan ?? 1) > 1 || (raw.rowSpan ?? 1) > 1 };
14
+ return { value: raw.value, styled: isRecord(raw.style) && Object.keys(raw.style).length > 0, merged: (raw.colSpan ?? 1) > 1 || (raw.rowSpan ?? 1) > 1, formatted: typeof raw.format === "string" };
14
15
  }
16
+ if (isRecord(raw) && typeof raw.name === "string") return { value: raw.name, styled: false, merged: false, formatted: typeof raw.format === "string" };
15
17
  return { value: raw, styled: false, merged: false };
16
18
  }
17
19
  function valueText(value) {
@@ -33,6 +35,7 @@ function readCells(table, loss, purpose, allowMerged = false) {
33
35
  loss.note("merged cells");
34
36
  }
35
37
  if (cell.styled) loss.note("cell styles");
38
+ if (cell.formatted) loss.note("number formats");
36
39
  }
37
40
  }
38
41
  return { columns: Array.isArray(table.columns) ? table.columns.map((cell) => cellOf(cell).value) : void 0, rows: rows.map((row) => row.map((cell) => cellOf(cell).value)) };
@@ -71,6 +74,7 @@ function timelineToTable(timeline, options, loss) {
71
74
  if (timeline.name) loss.note("timeline name");
72
75
  if (timeline.description) loss.note("timeline description");
73
76
  }
77
+ if (events.some((event) => event.status)) loss.note("timeline event status");
74
78
  const hasWhen = events.some((event) => event.when);
75
79
  const hasDescription = events.some((event) => event.description);
76
80
  const columns = [...hasWhen ? ["When"] : [], "What", ...hasDescription ? ["Description"] : []];
@@ -128,13 +132,14 @@ function tableToTimeline(table, options, loss) {
128
132
  });
129
133
  return events;
130
134
  }
131
- var COLUMN_LABELS = { label: "Label", value: "Value", unit: "Unit", delta: "Delta", trend: "Trend", description: "Description" };
135
+ var COLUMN_LABELS = { label: "Label", value: "Value", unit: "Unit", delta: "Delta", trend: "Trend", sentiment: "Sentiment", description: "Description" };
132
136
  var METRIC_HEADINGS = {
133
137
  label: ["label", "metric", "name", "kpi", "measure", "indicator"],
134
138
  value: ["value", "amount", "number", "result", "actual", "current"],
135
139
  unit: ["unit", "units"],
136
140
  delta: ["delta", "change", "growth", "difference", "vs", "vs."],
137
141
  trend: ["trend", "direction"],
142
+ sentiment: ["sentiment"],
138
143
  description: ["description", "details", "detail", "notes", "note", "context"]
139
144
  };
140
145
  function metricsToTable(blocks, options, loss) {
@@ -154,9 +159,9 @@ function metricsToTable(blocks, options, loss) {
154
159
  }
155
160
  function tableToMetrics(table, loss) {
156
161
  const { columns, rows } = readCells(table, loss, "a set of metrics");
157
- if (!columns) throw refuse('Metrics read their columns by their headings. Add a heading row that names a "Value" column, and optionally "Label", "Unit", "Delta", "Trend" and "Description".');
162
+ if (!columns) throw refuse('Metrics read their columns by their headings. Add a heading row that names a "Value" column, and optionally "Label", "Unit", "Delta", "Trend", "Sentiment" and "Description".');
158
163
  const roles = rolesFrom(columns, METRIC_HEADINGS, void 0);
159
- if (roles.value === void 0) throw refuse('No column holds the metric value. Name one column "Value" (headings it understands: value, amount, number, result, label, unit, delta, change, trend, description).');
164
+ if (roles.value === void 0) throw refuse('No column holds the metric value. Name one column "Value" (headings it understands: value, amount, number, result, label, unit, delta, change, trend, sentiment, description).');
160
165
  if (!rows.length) throw refuse("A set of metrics needs at least one row, and this table has no rows.");
161
166
  const used = new Set(Object.values(roles));
162
167
  columns.forEach((value, index) => {
@@ -179,6 +184,11 @@ function tableToMetrics(table, loss) {
179
184
  if (trend === "up" || trend === "down" || trend === "flat") metric.trend = trend;
180
185
  else loss.note("trend values other than up, down or flat");
181
186
  }
187
+ if (roles.sentiment !== void 0 && !valueEmpty(row[roles.sentiment])) {
188
+ const sentiment = text(row[roles.sentiment]).trim().toLowerCase();
189
+ if (sentiment === "positive" || sentiment === "negative" || sentiment === "neutral") metric.sentiment = sentiment;
190
+ else loss.note("sentiment values other than positive, negative or neutral");
191
+ }
182
192
  if (roles.description !== void 0 && !valueEmpty(row[roles.description])) metric.description = text(row[roles.description]);
183
193
  return { metric };
184
194
  });
@@ -313,9 +323,11 @@ function toLines(kind, content, options, loss) {
313
323
  }
314
324
  case "quote": {
315
325
  const quote = typeof content === "string" ? { text: content } : content;
316
- const lines = splitRuns([quote.text]);
317
- if (quote.attribution) lines.push([`\u2014 ${quote.attribution}`]);
318
- if (quote.source) lines.push([quote.attribution ? `\u2014 ${quote.source}` : quote.source]);
326
+ const lines = splitRuns(runsOf(quote.text));
327
+ const credit = [quote.attribution, quote.role].filter(Boolean).join(", ");
328
+ if (quote.photo !== void 0) loss.note("quote photo");
329
+ if (credit) lines.push([`\u2014 ${credit}`]);
330
+ if (quote.source) lines.push([credit ? `\u2014 ${quote.source}` : quote.source]);
319
331
  return lines;
320
332
  }
321
333
  case "metric": {
@@ -324,6 +336,7 @@ function toLines(kind, content, options, loss) {
324
336
  const lines = [[value]];
325
337
  for (const part of [metric.label, metric.description, metric.delta === void 0 ? void 0 : String(metric.delta)]) if (part !== void 0 && part !== "") lines.push(...splitRuns([part]));
326
338
  if (metric.trend) loss.note("metric trend");
339
+ if (metric.sentiment) loss.note("metric sentiment");
327
340
  return lines;
328
341
  }
329
342
  case "code": {
@@ -339,6 +352,7 @@ function toLines(kind, content, options, loss) {
339
352
  if (content.name) loss.note("timeline name");
340
353
  if (content.description) loss.note("timeline description");
341
354
  }
355
+ if (events.some((event) => event.status)) loss.note("timeline event status");
342
356
  const lines = [];
343
357
  for (const event of events) {
344
358
  lines.push([event.when ? `${event.when}: ${event.what}` : event.what]);
@@ -444,6 +458,7 @@ function timelineToList(timeline, loss) {
444
458
  if (timeline.name) loss.note("timeline name");
445
459
  if (timeline.description) loss.note("timeline description");
446
460
  }
461
+ if (events.some((event) => event.status)) loss.note("timeline event status");
447
462
  return {
448
463
  key: "items",
449
464
  value: events.map((event) => {
@@ -454,13 +469,21 @@ function timelineToList(timeline, loss) {
454
469
  }
455
470
  function chartToTable(chart, loss) {
456
471
  const data = chart?.data;
457
- if (!data || !Array.isArray(data.columns) || !Array.isArray(data.rows)) throw refuse("This chart reads external data. Only a chart with inline columns and rows converts to a table.");
472
+ if (chart?.mapping !== void 0) loss.note("series mapping");
473
+ if (isDatasetRef(data)) {
474
+ if (chart.type) loss.note("chart type");
475
+ return { key: "table", value: { dataset: data.dataset, ...Array.isArray(data.fields) ? { fields: clone(data.fields) } : {} } };
476
+ }
477
+ if (!data || !Array.isArray(data.columns) || !Array.isArray(data.rows)) throw refuse("This chart has no inline columns and rows. Only a chart with inline columns and rows, or a dataset, converts to a table.");
458
478
  if (chart.type) loss.note("chart type");
479
+ if (data.source !== void 0) loss.note("data source");
459
480
  return { key: "table", value: { columns: clone(data.columns), rows: clone(data.rows) } };
460
481
  }
461
482
  function tableToChart(table) {
483
+ if (isDatasetRef(table)) return { key: "chart", value: { type: "column", data: { dataset: table.dataset, ...Array.isArray(table.fields) ? { fields: clone(table.fields) } : {} } } };
462
484
  const { columns, rows } = table ?? {};
463
- if (!Array.isArray(columns) || !columns.length || columns.some((label) => typeof label !== "string" || label === "")) throw refuse("A chart needs a plain text label for every column. Add column labels to the table first.");
485
+ const label = (column) => isRecord(column) && !Object.hasOwn(column, "value") && typeof column.name === "string" ? column.name : column;
486
+ if (!Array.isArray(columns) || !columns.length || columns.some((column) => typeof label(column) !== "string" || label(column) === "")) throw refuse("A chart needs a plain text label for every column. Add column labels to the table first.");
464
487
  const body = rows.map((row, rowIndex) => {
465
488
  if (row.length !== columns.length) throw refuse(`Row ${rowIndex + 1} does not have ${columns.length} cells.`, { row: rowIndex });
466
489
  return row.map((cell, columnIndex) => {
@@ -468,12 +491,13 @@ function tableToChart(table) {
468
491
  if (columnIndex === 0) return cell;
469
492
  if (cell === null || cell === "") return null;
470
493
  if (typeof cell === "number") return cell;
471
- if (typeof cell === "string" && cell.trim() !== "" && Number.isFinite(Number(cell)) && String(Number(cell)) === cell.trim()) return Number(cell);
494
+ const number = chartNumber(cell);
495
+ if (number !== null) return number;
472
496
  throw refuse(`Row ${rowIndex + 1}, column ${columnIndex + 1} ("${String(cell)}") is not a number, so it cannot be a chart value.`, { row: rowIndex, column: columnIndex });
473
497
  });
474
498
  });
475
499
  if (!body.length) throw refuse("A chart needs at least one row.");
476
- return { key: "chart", value: { type: "column", data: { columns: [...columns], rows: body } } };
500
+ return { key: "chart", value: { type: "column", data: { columns: clone(columns), rows: body } } };
477
501
  }
478
502
  function convertField(from, to, content, options, loss) {
479
503
  if (from === "chart") return chartToTable(content, loss);
@@ -517,7 +541,13 @@ function convertContent(payload, to, options = {}) {
517
541
  throw refuse(`${label} content cannot be converted to ${CONTENT_KIND_LABELS[to]?.toLowerCase() ?? to}. ${targets.length ? `It converts to: ${targets.map((target) => CONTENT_KIND_LABELS[target].toLowerCase()).join(", ")}.` : "It has no text to convert."}`, { from: info.kind, to });
518
542
  }
519
543
  const loss = new Loss();
520
- const { key, value } = convertField(info.kind, to, info.content, options, loss);
544
+ let content = info.content;
545
+ if (info.kind === "table" && to !== "chart" && isDatasetRef(content)) {
546
+ content = inlineTableData(content, options.presentation);
547
+ if (isDatasetRef(content)) throw refuse(`This table shows dataset '${content.dataset}'. Pass the presentation (options.presentation) so its rows can be converted.`);
548
+ loss.note("dataset reference (the rows are copied)");
549
+ }
550
+ const { key, value } = convertField(info.kind, to, content, options, loss);
521
551
  const out = {};
522
552
  for (const [name, entry] of Object.entries(owner)) {
523
553
  if (CONTENT_KEYS.includes(name) || name === "type" || name === "blocks") continue;
@@ -529,7 +559,7 @@ function convertContent(payload, to, options = {}) {
529
559
  }
530
560
  if (owner.type !== void 0) out.type = TYPE_OF_KIND[to] ?? to;
531
561
  out[key] = value;
532
- assertValidOwner(out);
562
+ assertValidOwner(out, isRecord(options.presentation) ? options.presentation : {});
533
563
  return { payload: out, from: info.kind, to, key, changed: true, ...report(loss.list) };
534
564
  }
535
565
  function contentConversionTargets(payload, options = {}) {
@@ -921,7 +951,7 @@ function splitSlide(presentation, slideIndex, options = {}) {
921
951
  slide.blocks = clone(blocks.slice(from, bounds[part + 1]));
922
952
  return slide;
923
953
  });
924
- assertValidOutput(slides, "slides");
954
+ assertValidOutput(slides, "slides", presentation);
925
955
  return { presentation: replaceSlides(presentation, slideIndex, 1, slides), slides, range: { start: slideIndex, deleteCount: 1 }, changed: true, ...report(loss.list) };
926
956
  }
927
957
  var remapPath = (path, from, to) => path.replace(new RegExp(`^slides\\.${from}(?=\\.|$)`), `slides.${to}`);
@@ -930,7 +960,7 @@ function splitSlideOnOverflow(presentation, slideIndex, options = {}) {
930
960
  const whole = presentation;
931
961
  let result;
932
962
  try {
933
- result = paginatePresentation({ ...clone(whole), slides: [clone(source)] }, options);
963
+ result = paginate({ ...clone(whole), slides: [clone(source)] }, options);
934
964
  } catch (error) {
935
965
  if (error instanceof OPFPaginationError) throw refuse(error.message, { diagnostics: error.diagnostics });
936
966
  throw error;
@@ -959,7 +989,7 @@ function splitSlideOnOverflow(presentation, slideIndex, options = {}) {
959
989
  mappings: page.mappings.map((mapping) => ({ ...mapping, sourcePath: remapPath(mapping.sourcePath, 0, slideIndex), outputPath: remapPath(mapping.outputPath, 0, slideIndex + page.slideIndex) })),
960
990
  ...page.repeatedMappings ? { repeatedMappings: page.repeatedMappings.map((mapping) => ({ ...mapping, sourcePath: remapPath(mapping.sourcePath, 0, slideIndex), outputPath: remapPath(mapping.outputPath, 0, slideIndex + page.slideIndex) })) } : {}
961
991
  }));
962
- assertValidOutput(paginated, "slides");
992
+ assertValidOutput(paginated, "slides", presentation);
963
993
  return { presentation: replaceSlides(whole, slideIndex, 1, paginated), slides: paginated, range: { start: slideIndex, deleteCount: 1 }, changed: true, pages, ...report([]) };
964
994
  }
965
995
  function mergeSlides(presentation, start, count = 2) {
@@ -986,7 +1016,7 @@ function mergeSlides(presentation, start, count = 2) {
986
1016
  if (blocks.length) merged.blocks = blocks;
987
1017
  const notes = slides.map((slide) => slide.notes).filter((note) => typeof note === "string" && note !== "");
988
1018
  if (notes.length) merged.notes = notes.join("\n\n");
989
- assertValidOutput(merged, "slide");
1019
+ assertValidOutput(merged, "slide", presentation);
990
1020
  return { presentation: replaceSlides(presentation, start, count, [merged]), slides: [merged], range: { start, deleteCount: count }, changed: true, ...report(loss.list) };
991
1021
  }
992
1022
  var segments = (path) => path.split(".");
@@ -1003,7 +1033,8 @@ function joinSlices(field, slices) {
1003
1033
  case "code":
1004
1034
  case "quote": {
1005
1035
  const key = field === "code" ? "source" : "text";
1006
- const text = slices.map((slice) => typeof slice === "string" ? slice : slice[key]).join("");
1036
+ const parts = slices.map((slice) => typeof slice === "string" ? slice : slice[key]);
1037
+ const text = field === "quote" ? parts.slice(1).reduce((joined, part) => concatText(joined, part), clone(parts[0])) : parts.join("");
1007
1038
  return typeof first === "string" ? text : { ...clone(first), [key]: text };
1008
1039
  }
1009
1040
  case "table":
@@ -1035,7 +1066,7 @@ function unpaginate(presentation, pages, options = {}) {
1035
1066
  end = Math.max(end, indexes[0] + indexes.length);
1036
1067
  removed += indexes.length - 1;
1037
1068
  }
1038
- assertValidOutput(current.slides, "slides");
1069
+ assertValidOutput(current.slides, "slides", presentation);
1039
1070
  const deleteCount = end - first;
1040
1071
  return { presentation: current, slides: current.slides.slice(first, first + deleteCount - removed), range: { start: first, deleteCount }, changed: true, ...report([]) };
1041
1072
  }
package/dist/data.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- /** Local CSV/TSV/JSON ingestion. No file access or network requests. */
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';
2
+
2
3
  type DataCell = string | number | boolean | null;
3
4
  interface TabularData {
4
5
  columns: string[];
@@ -10,7 +11,7 @@ interface DataImportOptions {
10
11
  header?: boolean;
11
12
  columns?: string[];
12
13
  }
13
- interface DataContentOptions extends DataImportOptions {
14
+ interface ImportDataOptions extends DataImportOptions {
14
15
  as: 'table' | 'chart';
15
16
  chartType?: string;
16
17
  category?: string;
@@ -20,7 +21,7 @@ declare class OPFDataImportError extends Error {
20
21
  constructor(message: string);
21
22
  }
22
23
  declare function parseTabularData(input: unknown, options?: DataImportOptions): TabularData;
23
- declare function createDataContent(input: unknown, options: DataContentOptions): {
24
+ declare function importData(input: unknown, options: ImportDataOptions): {
24
25
  table: TabularData;
25
26
  } | {
26
27
  chart: {
@@ -29,4 +30,4 @@ declare function createDataContent(input: unknown, options: DataContentOptions):
29
30
  };
30
31
  };
31
32
 
32
- export { type DataCell, type DataContentOptions, type DataImportOptions, OPFDataImportError, type TabularData, createDataContent, parseTabularData };
33
+ export { type DataCell, type DataImportOptions, type ImportDataOptions, OPFDataImportError, type TabularData, importData, parseTabularData };
package/dist/data.js CHANGED
@@ -1 +1,3 @@
1
- export { OPFDataImportError, createDataContent, parseTabularData } from './chunk-SOSOBKQ2.js';
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';
package/dist/diff.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { JsonPatchOperation } from './patch.js';
1
+ import { J as JsonPatchOperation } from './finding-C_por275.js';
2
2
 
3
3
  type MatchedBy = "id" | "equal" | "similar" | "position";
4
4
  interface MatchPair {
@@ -74,11 +74,11 @@ interface MergeResult {
74
74
  * collision is listed in `conflicts` with the base, our value and their value.
75
75
  * The merged document is not validated; callers validate it before saving.
76
76
  */
77
- declare function mergePresentations(base: unknown, ours: unknown, theirs: unknown, options?: MergeOptions): MergeResult;
77
+ declare function merge(base: unknown, ours: unknown, theirs: unknown, options?: MergeOptions): MergeResult;
78
78
 
79
79
  type DiffChangeType = "added" | "removed" | "changed" | "moved";
80
80
  /** What kind of thing changed. */
81
- type DiffCategory = "slide" | "block" | "field" | "design" | "metadata" | "assets" | "catalogs" | "variables" | "narrative" | "extensions";
81
+ type DiffCategory = "slide" | "block" | "field" | "design" | "metadata" | "assets" | "datasets" | "catalogs" | "variables" | "narrative" | "extensions";
82
82
  interface DiffSlideRef {
83
83
  id?: string;
84
84
  title?: string;
@@ -136,10 +136,10 @@ declare function categoryOf(tokens: readonly string[]): DiffCategory;
136
136
  * rule matches blocks, list items and every other array element. The result
137
137
  * lists categorised changes and a JSON Patch from `a` to `b`.
138
138
  */
139
- declare function diffPresentations(a: unknown, b: unknown, options?: DiffOptions): PresentationDiff;
139
+ declare function diff(a: unknown, b: unknown, options?: DiffOptions): PresentationDiff;
140
140
  /** A short, single-line description of a value for reports. */
141
141
  declare function describeValue(value: unknown): string;
142
142
  /** Render a diff as a plain-text report (no colour, stable ordering). */
143
143
  declare function formatDiffReport(diff: PresentationDiff): string;
144
144
 
145
- export { type ArrayMatch, type DiffCategory, type DiffChange, type DiffChangeType, type DiffOptions, type DiffSlideRef, type DiffSummary, type MatchOptions, type MatchPair, type MatchedBy, type MergeConflict, type MergeConflictKind, type MergeOptions, type MergeResult, type PresentationDiff, type SlideMatchInfo, categoryOf, describeValue, diffPresentations, formatDiffReport, matchArrays, mergePresentations, similarity };
145
+ export { type ArrayMatch, type DiffCategory, type DiffChange, type DiffChangeType, type DiffOptions, type DiffSlideRef, type DiffSummary, type MatchOptions, type MatchPair, type MatchedBy, type MergeConflict, type MergeConflictKind, type MergeOptions, type MergeResult, type PresentationDiff, type SlideMatchInfo, categoryOf, describeValue, diff, formatDiffReport, matchArrays, merge, similarity };