@openpresentation/opf 0.13.0 → 0.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +40 -49
- package/dist/catalog-refs-BSfGELpt.d.ts +128 -0
- package/dist/catalog-schemas-CinPh5WA.d.ts +12 -0
- package/dist/catalog.d.ts +91 -0
- package/dist/{chunk-E34DJ5LL.js → catalog.js} +16949 -17628
- package/dist/{chart-data-Cdr6rRVV.d.ts → chart-data-BnNqgnC-.d.ts} +17 -6
- package/dist/{chunk-7QBCWNWL.js → chunk-2CJPC4HI.js} +1807 -1904
- package/dist/{chunk-II5EYKZU.js → chunk-374R35TJ.js} +2 -92
- package/dist/chunk-3JG4YXWF.js +1842 -0
- package/dist/chunk-3RKB4RDJ.js +192 -0
- package/dist/{chunk-IS2CPNVJ.js → chunk-5FTUIDUH.js} +26 -26
- package/dist/{chunk-GJKJL4YY.js → chunk-HXHOZ7AH.js} +1379 -504
- package/dist/{chunk-MPM7NRG7.js → chunk-O744SXXA.js} +2014 -885
- package/dist/chunk-QDI75P2M.js +3515 -0
- package/dist/chunk-SPFV27O5.js +210 -0
- package/dist/chunk-TRDXRRQK.js +17 -0
- package/dist/chunk-TWQJLI6E.js +601 -0
- package/dist/{chunk-ATGDDJPX.js → chunk-U4J75TRG.js} +3 -3
- package/dist/{chunk-RAYB46AB.js → chunk-UBFJ2QHH.js} +34 -30
- package/dist/chunk-VGAOJEY7.js +94 -0
- package/dist/chunk-ZPU46TFA.js +83 -0
- package/dist/{composition-D7we69Tr.d.ts → composition-D2tghM82.d.ts} +947 -111
- package/dist/composition.d.ts +3 -2
- package/dist/composition.js +2 -2
- package/dist/convert.d.ts +18 -19
- package/dist/convert.js +61 -50
- package/dist/data.d.ts +4 -4
- package/dist/data.js +3 -3
- package/dist/diff.d.ts +4 -4
- package/dist/diff.js +7 -605
- package/dist/docs.js +56 -44
- package/dist/examples.d.ts +1 -1
- package/dist/examples.js +49451 -6259
- package/dist/finding-CT_f_vbD.d.ts +212 -0
- package/dist/format.d.ts +4 -4
- package/dist/format.js +2 -83
- package/dist/index.d.ts +492 -309
- package/dist/index.js +767 -1097
- package/dist/json-BFSdESOE.d.ts +19 -0
- package/dist/markdown.d.ts +40 -27
- package/dist/markdown.js +9 -1941
- package/dist/pagination-wedbe7eq.d.ts +119 -0
- package/dist/pagination.d.ts +4 -61
- package/dist/pagination.js +6 -6
- package/dist/patch.d.ts +12 -23
- package/dist/patch.js +6 -6
- package/dist/{presentation-mG-IYErQ.d.ts → presentation-CDKQVkyI.d.ts} +702 -1026
- package/dist/repo-readme.js +1 -1
- package/dist/schemas.d.ts +284 -1
- package/dist/schemas.js +1 -1
- package/dist/spec/README.md +11 -6
- package/dist/spec/catalogs/audiences/index.json +2 -50
- package/dist/spec/catalogs/chart-types/100pct-stacked-area.json +21 -0
- package/dist/spec/catalogs/chart-types/100pct-stacked-bar.json +22 -0
- package/dist/spec/catalogs/chart-types/100pct-stacked-column.json +22 -0
- package/dist/spec/catalogs/chart-types/area.json +2 -60
- package/dist/spec/catalogs/chart-types/bar.json +2 -48
- package/dist/spec/catalogs/chart-types/box-and-whisker.json +2 -132
- package/dist/spec/catalogs/chart-types/column.json +2 -52
- package/dist/spec/catalogs/chart-types/combo.json +37 -0
- package/dist/spec/catalogs/chart-types/doughnut.json +2 -40
- package/dist/spec/catalogs/chart-types/filled-radar.json +2 -52
- package/dist/spec/catalogs/chart-types/funnel.json +2 -46
- package/dist/spec/catalogs/chart-types/histogram.json +2 -149
- package/dist/spec/catalogs/chart-types/index.json +50 -520
- package/dist/spec/catalogs/chart-types/line-with-markers.json +2 -60
- package/dist/spec/catalogs/chart-types/line.json +2 -60
- package/dist/spec/catalogs/chart-types/pareto.json +2 -50
- package/dist/spec/catalogs/chart-types/pie.json +2 -40
- package/dist/spec/catalogs/chart-types/radar-with-markers.json +2 -52
- package/dist/spec/catalogs/chart-types/radar.json +2 -52
- package/dist/spec/catalogs/chart-types/scatter.json +2 -73
- package/dist/spec/catalogs/chart-types/stacked-area.json +21 -0
- package/dist/spec/catalogs/chart-types/stacked-bar.json +22 -0
- package/dist/spec/catalogs/chart-types/stacked-column.json +22 -0
- package/dist/spec/catalogs/chart-types/stacked-line-with-markers.json +22 -0
- package/dist/spec/catalogs/chart-types/stacked-line.json +21 -0
- package/dist/spec/catalogs/chart-types/treemap.json +2 -48
- package/dist/spec/catalogs/chart-types/waterfall.json +2 -52
- package/dist/spec/catalogs/chart-types/world.json +2 -64
- package/dist/spec/catalogs/font-schemes/angsana-new.json +2 -2
- package/dist/spec/catalogs/font-schemes/aparajita.json +3 -3
- package/dist/spec/catalogs/font-schemes/aptos.json +1 -1
- package/dist/spec/catalogs/font-schemes/arabic-typesetting.json +2 -2
- package/dist/spec/catalogs/font-schemes/arial.json +1 -1
- package/dist/spec/catalogs/font-schemes/batang.json +2 -2
- package/dist/spec/catalogs/font-schemes/bookman.json +1 -1
- package/dist/spec/catalogs/font-schemes/calibri.json +1 -1
- package/dist/spec/catalogs/font-schemes/century-schoolbook.json +1 -1
- package/dist/spec/catalogs/font-schemes/consolas.json +2 -4
- package/dist/spec/catalogs/font-schemes/constantia.json +1 -1
- package/dist/spec/catalogs/font-schemes/courier-new.json +2 -4
- package/dist/spec/catalogs/font-schemes/daunpenh.json +2 -2
- package/dist/spec/catalogs/font-schemes/david.json +2 -2
- package/dist/spec/catalogs/font-schemes/dilleniaupc.json +2 -2
- package/dist/spec/catalogs/font-schemes/fangsong.json +2 -2
- package/dist/spec/catalogs/font-schemes/garamond.json +1 -1
- package/dist/spec/catalogs/font-schemes/gautami.json +2 -2
- package/dist/spec/catalogs/font-schemes/georgia.json +1 -1
- package/dist/spec/catalogs/font-schemes/gisha.json +3 -3
- package/dist/spec/catalogs/font-schemes/grandview.json +1 -1
- package/dist/spec/catalogs/font-schemes/gungsuh.json +2 -2
- package/dist/spec/catalogs/font-schemes/impact.json +1 -1
- package/dist/spec/catalogs/font-schemes/index.json +1 -1
- package/dist/spec/catalogs/font-schemes/kalinga.json +2 -2
- package/dist/spec/catalogs/font-schemes/kartika.json +2 -2
- package/dist/spec/catalogs/font-schemes/khmer-ui.json +2 -2
- package/dist/spec/catalogs/font-schemes/latha.json +2 -2
- package/dist/spec/catalogs/font-schemes/lucida-sans.json +1 -1
- package/dist/spec/catalogs/font-schemes/malgun-gothic.json +2 -2
- package/dist/spec/catalogs/font-schemes/mangal.json +4 -5
- package/dist/spec/catalogs/font-schemes/meiryo.json +2 -2
- package/dist/spec/catalogs/font-schemes/microsoft-jhenghei.json +2 -2
- package/dist/spec/catalogs/font-schemes/microsoft-yahei.json +5 -5
- package/dist/spec/catalogs/font-schemes/mingliu.json +2 -2
- package/dist/spec/catalogs/font-schemes/miriam.json +2 -2
- package/dist/spec/catalogs/font-schemes/montserrat.json +1 -1
- package/dist/spec/catalogs/font-schemes/ms-mincho.json +2 -2
- package/dist/spec/catalogs/font-schemes/nirmala-ui.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-naksh-arabic.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-nastaliq-urdu.json +3 -3
- package/dist/spec/catalogs/font-schemes/noto-sans-arabic.json +4 -4
- package/dist/spec/catalogs/font-schemes/noto-sans-armenian.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans-bengali.json +3 -3
- package/dist/spec/catalogs/font-schemes/noto-sans-devangari.json +3 -3
- package/dist/spec/catalogs/font-schemes/noto-sans-ethiopic.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans-georgian.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans-gujarati.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans-gurmukhi.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans-hebrew.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans-jp.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans-kannada.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans-khmer.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans-kr.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans-malayalam.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans-mongolian.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans-oriya.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans-sc.json +5 -5
- package/dist/spec/catalogs/font-schemes/noto-sans-tamil.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans-tc.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans-telugu.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans-thai.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans.json +5 -5
- package/dist/spec/catalogs/font-schemes/nyala.json +2 -2
- package/dist/spec/catalogs/font-schemes/open-sans.json +1 -1
- package/dist/spec/catalogs/font-schemes/pmingliu.json +2 -2
- package/dist/spec/catalogs/font-schemes/poppins.json +1 -1
- package/dist/spec/catalogs/font-schemes/pt-serif.json +1 -1
- package/dist/spec/catalogs/font-schemes/raavi.json +2 -2
- package/dist/spec/catalogs/font-schemes/raleway.json +1 -1
- package/dist/spec/catalogs/font-schemes/roboto.json +1 -1
- package/dist/spec/catalogs/font-schemes/rockwell.json +1 -1
- package/dist/spec/catalogs/font-schemes/sakkal-majalla.json +4 -4
- package/dist/spec/catalogs/font-schemes/seaford.json +1 -1
- package/dist/spec/catalogs/font-schemes/segoe-ui-light.json +1 -1
- package/dist/spec/catalogs/font-schemes/segoe-ui.json +1 -1
- package/dist/spec/catalogs/font-schemes/shonar-bangla.json +3 -3
- package/dist/spec/catalogs/font-schemes/shruti.json +2 -2
- package/dist/spec/catalogs/font-schemes/simsun.json +2 -2
- package/dist/spec/catalogs/font-schemes/skeena.json +1 -1
- package/dist/spec/catalogs/font-schemes/sylfaen.json +3 -3
- package/dist/spec/catalogs/font-schemes/tahoma.json +1 -1
- package/dist/spec/catalogs/font-schemes/tenorite.json +1 -1
- package/dist/spec/catalogs/font-schemes/times-new-roman.json +1 -1
- package/dist/spec/catalogs/font-schemes/traditional-arabic.json +4 -4
- package/dist/spec/catalogs/font-schemes/trebuchet-ms.json +1 -1
- package/dist/spec/catalogs/font-schemes/tunga.json +2 -2
- package/dist/spec/catalogs/font-schemes/verdana.json +1 -1
- package/dist/spec/catalogs/font-schemes/vrinda.json +2 -2
- package/dist/spec/catalogs/font-schemes/yu-gothic.json +2 -2
- package/dist/spec/catalogs/layouts/action-plan.json +9 -15
- package/dist/spec/catalogs/layouts/agenda.json +8 -15
- package/dist/spec/catalogs/layouts/appendix-index.json +7 -15
- package/dist/spec/catalogs/layouts/architecture-stack.json +9 -15
- package/dist/spec/catalogs/layouts/assumptions-dependencies.json +9 -15
- package/dist/spec/catalogs/layouts/before-after.json +9 -15
- package/dist/spec/catalogs/layouts/benchmark-target-table.json +9 -15
- package/dist/spec/catalogs/layouts/blank.json +11 -1
- package/dist/spec/catalogs/layouts/bullet-list.json +9 -15
- package/dist/spec/catalogs/layouts/business-model-canvas.json +9 -15
- package/dist/spec/catalogs/layouts/capability-map.json +11 -16
- package/dist/spec/catalogs/layouts/case-study.json +9 -15
- package/dist/spec/catalogs/layouts/chapter-recap.json +8 -15
- package/dist/spec/catalogs/layouts/chart-1x-title-center.json +30 -0
- package/dist/spec/catalogs/layouts/chart-1x.json +15 -0
- package/dist/spec/catalogs/layouts/chart-2x-title-center.json +36 -0
- package/dist/spec/catalogs/layouts/chart-2x-vertical-title-left.json +37 -0
- package/dist/spec/catalogs/layouts/chart-2x.json +15 -0
- package/dist/spec/catalogs/layouts/chart-3x-bottom-vertical-title-left.json +46 -0
- package/dist/spec/catalogs/layouts/chart-3x-left-title-center.json +45 -0
- package/dist/spec/catalogs/layouts/chart-3x-left.json +40 -0
- package/dist/spec/catalogs/layouts/chart-3x-right-title-center.json +45 -0
- package/dist/spec/catalogs/layouts/chart-3x-right.json +40 -0
- package/dist/spec/catalogs/layouts/chart-3x-title-center.json +39 -0
- package/dist/spec/catalogs/layouts/chart-3x-top-vertical-title-left.json +46 -0
- package/dist/spec/catalogs/layouts/chart-3x.json +15 -0
- package/dist/spec/catalogs/layouts/circular-lifecycle.json +9 -15
- package/dist/spec/catalogs/layouts/code-1x.json +10 -0
- package/dist/spec/catalogs/layouts/comparison.json +9 -15
- package/dist/spec/catalogs/layouts/competitive-landscape.json +11 -16
- package/dist/spec/catalogs/layouts/customer-journey.json +11 -16
- package/dist/spec/catalogs/layouts/customer-logos.json +9 -15
- package/dist/spec/catalogs/layouts/dashboard.json +9 -15
- package/dist/spec/catalogs/layouts/data-visualization.json +9 -15
- package/dist/spec/catalogs/layouts/decision-tree.json +11 -16
- package/dist/spec/catalogs/layouts/detailed-data-table.json +9 -15
- package/dist/spec/catalogs/layouts/ecosystem-map.json +11 -16
- package/dist/spec/catalogs/layouts/executive-decision.json +9 -15
- package/dist/spec/catalogs/layouts/executive-summary.json +9 -15
- package/dist/spec/catalogs/layouts/extract/canonical.json +7 -16
- package/dist/spec/catalogs/layouts/faq.json +9 -15
- package/dist/spec/catalogs/layouts/feature-comparison-matrix.json +9 -15
- package/dist/spec/catalogs/layouts/forecast-scenario.json +9 -15
- package/dist/spec/catalogs/layouts/funnel-pyramid.json +9 -15
- package/dist/spec/catalogs/layouts/gantt-project-plan.json +9 -15
- package/dist/spec/catalogs/layouts/geographic-map.json +10 -15
- package/dist/spec/catalogs/layouts/heatmap-cohort.json +9 -15
- package/dist/spec/catalogs/layouts/hub-and-spoke.json +9 -15
- package/dist/spec/catalogs/layouts/icon-grid.json +11 -16
- package/dist/spec/catalogs/layouts/image-1x-crop-title-center.json +32 -0
- package/dist/spec/catalogs/layouts/image-1x-crop-title-left.json +32 -0
- package/dist/spec/catalogs/layouts/image-1x-crop.json +27 -0
- package/dist/spec/catalogs/layouts/image-1x-fit-title-center.json +32 -0
- package/dist/spec/catalogs/layouts/image-1x.json +14 -1
- package/dist/spec/catalogs/layouts/image-2x-crop-title-center.json +38 -0
- package/dist/spec/catalogs/layouts/image-2x-crop-vertical-title-left.json +39 -0
- package/dist/spec/catalogs/layouts/image-2x-crop-vertical.json +34 -0
- package/dist/spec/catalogs/layouts/image-2x-crop.json +33 -0
- package/dist/spec/catalogs/layouts/image-2x-fit-title-center.json +38 -0
- package/dist/spec/catalogs/layouts/image-2x-fit-vertical-title-left.json +39 -0
- package/dist/spec/catalogs/layouts/image-2x-fit-vertical.json +34 -0
- package/dist/spec/catalogs/layouts/image-2x.json +15 -2
- package/dist/spec/catalogs/layouts/image-3x-crop-title-center.json +41 -0
- package/dist/spec/catalogs/layouts/image-3x-crop-vertical-title-left.json +42 -0
- package/dist/spec/catalogs/layouts/image-3x-crop-vertical.json +37 -0
- package/dist/spec/catalogs/layouts/image-3x-crop.json +36 -0
- package/dist/spec/catalogs/layouts/image-3x-fit-title-center.json +41 -0
- package/dist/spec/catalogs/layouts/image-3x-fit-vertical-title-left.json +42 -0
- package/dist/spec/catalogs/layouts/image-3x-fit-vertical.json +37 -0
- package/dist/spec/catalogs/layouts/image-3x-fit.json +36 -0
- package/dist/spec/catalogs/layouts/image-3x.json +16 -3
- package/dist/spec/catalogs/layouts/image-focus.json +13 -18
- package/dist/spec/catalogs/layouts/image-only-1x-crop-title-center.json +31 -0
- package/dist/spec/catalogs/layouts/image-only-1x-fit-title-center.json +31 -0
- package/dist/spec/catalogs/layouts/image-only-2x-crop-title-center.json +37 -0
- package/dist/spec/catalogs/layouts/image-only-2x-crop-vertical-title-left.json +38 -0
- package/dist/spec/catalogs/layouts/image-only-2x-crop-vertical.json +33 -0
- package/dist/spec/catalogs/layouts/image-only-2x-fit-title-center.json +37 -0
- package/dist/spec/catalogs/layouts/image-only-2x-fit-vertical-title-left.json +38 -0
- package/dist/spec/catalogs/layouts/image-only-2x-fit-vertical.json +33 -0
- package/dist/spec/catalogs/layouts/image-only-3x-crop-title-center.json +40 -0
- package/dist/spec/catalogs/layouts/image-only-3x-crop-vertical-title-left.json +41 -0
- package/dist/spec/catalogs/layouts/image-only-3x-crop-vertical.json +36 -0
- package/dist/spec/catalogs/layouts/image-only-3x-crop.json +35 -0
- package/dist/spec/catalogs/layouts/image-only-3x-fit-title-center.json +40 -0
- package/dist/spec/catalogs/layouts/image-only-3x-fit-vertical-title-left.json +41 -0
- package/dist/spec/catalogs/layouts/image-only-3x-fit-vertical.json +36 -0
- package/dist/spec/catalogs/layouts/image-only-3x-fit.json +35 -0
- package/dist/spec/catalogs/layouts/index.json +1041 -151
- package/dist/spec/catalogs/layouts/key-takeaway.json +8 -15
- package/dist/spec/catalogs/layouts/kpi-scorecard.json +9 -15
- package/dist/spec/catalogs/layouts/list-1x-box-title-center.json +32 -0
- package/dist/spec/catalogs/layouts/list-1x-box-vertical-title-center.json +33 -0
- package/dist/spec/catalogs/layouts/list-1x-box-vertical-title-left.json +33 -0
- package/dist/spec/catalogs/layouts/list-1x-box-vertical.json +28 -0
- package/dist/spec/catalogs/layouts/list-1x-box.json +27 -0
- package/dist/spec/catalogs/layouts/list-1x-itemimage-title-center.json +32 -0
- package/dist/spec/catalogs/layouts/list-1x-itemimage-vertical-title-center.json +33 -0
- package/dist/spec/catalogs/layouts/list-1x-title-center.json +31 -0
- package/dist/spec/catalogs/layouts/list-1x-vertical-title-center.json +32 -0
- package/dist/spec/catalogs/layouts/list-1x.json +17 -1
- package/dist/spec/catalogs/layouts/list-2x-box-title-center.json +38 -0
- package/dist/spec/catalogs/layouts/list-2x-box-vertical-title-center.json +39 -0
- package/dist/spec/catalogs/layouts/list-2x-box-vertical-title-left.json +39 -0
- package/dist/spec/catalogs/layouts/list-2x-box-vertical.json +34 -0
- package/dist/spec/catalogs/layouts/list-2x-box.json +33 -0
- package/dist/spec/catalogs/layouts/list-2x-itemimage-title-center.json +38 -0
- package/dist/spec/catalogs/layouts/list-2x-itemimage-vertical-title-center.json +39 -0
- package/dist/spec/catalogs/layouts/list-2x-itemimage-vertical-title-left.json +39 -0
- package/dist/spec/catalogs/layouts/list-2x-itemimage-vertical.json +34 -0
- package/dist/spec/catalogs/layouts/list-2x-title-center.json +37 -0
- package/dist/spec/catalogs/layouts/list-2x-vertical-title-center.json +38 -0
- package/dist/spec/catalogs/layouts/list-2x-vertical-title-left.json +38 -0
- package/dist/spec/catalogs/layouts/list-2x-vertical.json +33 -0
- package/dist/spec/catalogs/layouts/list-2x.json +16 -0
- package/dist/spec/catalogs/layouts/list-3x-box-title-center.json +41 -0
- package/dist/spec/catalogs/layouts/list-3x-box-vertical-title-center.json +42 -0
- package/dist/spec/catalogs/layouts/list-3x-box-vertical-title-left.json +42 -0
- package/dist/spec/catalogs/layouts/list-3x-box-vertical.json +37 -0
- package/dist/spec/catalogs/layouts/list-3x-box.json +36 -0
- package/dist/spec/catalogs/layouts/list-3x-itemimage-title-center.json +41 -0
- package/dist/spec/catalogs/layouts/list-3x-itemimage-vertical-title-center.json +42 -0
- package/dist/spec/catalogs/layouts/list-3x-itemimage-vertical-title-left.json +42 -0
- package/dist/spec/catalogs/layouts/list-3x-itemimage-vertical.json +37 -0
- package/dist/spec/catalogs/layouts/list-3x-itemimage.json +36 -0
- package/dist/spec/catalogs/layouts/list-3x-title-center.json +40 -0
- package/dist/spec/catalogs/layouts/list-3x-vertical-title-center.json +41 -0
- package/dist/spec/catalogs/layouts/list-3x-vertical-title-left.json +41 -0
- package/dist/spec/catalogs/layouts/list-3x-vertical.json +36 -0
- package/dist/spec/catalogs/layouts/list-3x.json +16 -0
- package/dist/spec/catalogs/layouts/list-4x-box-title-center.json +45 -0
- package/dist/spec/catalogs/layouts/list-4x-box-vertical-title-center.json +45 -0
- package/dist/spec/catalogs/layouts/list-4x-box-vertical-title-left.json +45 -0
- package/dist/spec/catalogs/layouts/list-4x-box-vertical.json +40 -0
- package/dist/spec/catalogs/layouts/list-4x-box.json +40 -0
- package/dist/spec/catalogs/layouts/list-4x-itemimage-title-center.json +45 -0
- package/dist/spec/catalogs/layouts/list-4x-itemimage-vertical-title-center.json +45 -0
- package/dist/spec/catalogs/layouts/list-4x-itemimage-vertical-title-left.json +45 -0
- package/dist/spec/catalogs/layouts/list-4x-itemimage-vertical.json +40 -0
- package/dist/spec/catalogs/layouts/list-4x-title-center.json +44 -0
- package/dist/spec/catalogs/layouts/list-4x-vertical-title-center.json +44 -0
- package/dist/spec/catalogs/layouts/list-4x-vertical-title-left.json +44 -0
- package/dist/spec/catalogs/layouts/list-4x-vertical.json +39 -0
- package/dist/spec/catalogs/layouts/list-4x.json +16 -0
- package/dist/spec/catalogs/layouts/list-5x-box-title-center.json +48 -0
- package/dist/spec/catalogs/layouts/list-5x-box-vertical-title-center.json +50 -0
- package/dist/spec/catalogs/layouts/list-5x-box-vertical-title-left.json +50 -0
- package/dist/spec/catalogs/layouts/list-5x-box-vertical.json +45 -0
- package/dist/spec/catalogs/layouts/list-5x-box.json +43 -0
- package/dist/spec/catalogs/layouts/list-5x-itemimage-title-center.json +48 -0
- package/dist/spec/catalogs/layouts/list-5x-itemimage-vertical-title-center.json +48 -0
- package/dist/spec/catalogs/layouts/list-5x-itemimage-vertical-title-left.json +48 -0
- package/dist/spec/catalogs/layouts/list-5x-itemimage-vertical.json +43 -0
- package/dist/spec/catalogs/layouts/list-5x-title-center.json +47 -0
- package/dist/spec/catalogs/layouts/list-5x-vertical-title-center.json +47 -0
- package/dist/spec/catalogs/layouts/list-5x-vertical-title-left.json +47 -0
- package/dist/spec/catalogs/layouts/list-5x-vertical.json +42 -0
- package/dist/spec/catalogs/layouts/list-5x.json +16 -0
- package/dist/spec/catalogs/layouts/list-6x-box-title-center.json +51 -0
- package/dist/spec/catalogs/layouts/list-6x-box-vertical-title-center.json +53 -0
- package/dist/spec/catalogs/layouts/list-6x-box-vertical-title-left.json +53 -0
- package/dist/spec/catalogs/layouts/list-6x-box-vertical.json +48 -0
- package/dist/spec/catalogs/layouts/list-6x-box.json +46 -0
- package/dist/spec/catalogs/layouts/list-6x-itemimage-title-center.json +51 -0
- package/dist/spec/catalogs/layouts/list-6x-itemimage-vertical-title-center.json +51 -0
- package/dist/spec/catalogs/layouts/list-6x-itemimage-vertical-title-left.json +51 -0
- package/dist/spec/catalogs/layouts/list-6x-itemimage-vertical.json +46 -0
- package/dist/spec/catalogs/layouts/list-6x-title-center.json +50 -0
- package/dist/spec/catalogs/layouts/list-6x-vertical-title-center.json +50 -0
- package/dist/spec/catalogs/layouts/list-6x-vertical-title-left.json +50 -0
- package/dist/spec/catalogs/layouts/list-6x-vertical.json +45 -0
- package/dist/spec/catalogs/layouts/list-6x.json +16 -0
- package/dist/spec/catalogs/layouts/logic-tree.json +9 -15
- package/dist/spec/catalogs/layouts/market-size.json +9 -15
- package/dist/spec/catalogs/layouts/matrix-quadrant.json +9 -15
- package/dist/spec/catalogs/layouts/media-1x.json +11 -1
- package/dist/spec/catalogs/layouts/network-dependency-map.json +10 -15
- package/dist/spec/catalogs/layouts/number-1x-box-title-center.json +30 -0
- package/dist/spec/catalogs/layouts/number-1x-box.json +25 -0
- package/dist/spec/catalogs/layouts/number-1x-title-center.json +29 -0
- package/dist/spec/catalogs/layouts/number-1x.json +16 -1
- package/dist/spec/catalogs/layouts/number-2x-box-title-center.json +36 -0
- package/dist/spec/catalogs/layouts/number-2x-box.json +31 -0
- package/dist/spec/catalogs/layouts/number-2x-title-center.json +35 -0
- package/dist/spec/catalogs/layouts/number-2x.json +15 -0
- package/dist/spec/catalogs/layouts/number-3x-box-title-center.json +39 -0
- package/dist/spec/catalogs/layouts/number-3x-box.json +34 -0
- package/dist/spec/catalogs/layouts/number-3x-title-center.json +38 -0
- package/dist/spec/catalogs/layouts/number-3x.json +15 -0
- package/dist/spec/catalogs/layouts/number-4x-box-title-center.json +43 -0
- package/dist/spec/catalogs/layouts/number-4x-box.json +38 -0
- package/dist/spec/catalogs/layouts/number-4x-title-center.json +42 -0
- package/dist/spec/catalogs/layouts/number-4x.json +15 -0
- package/dist/spec/catalogs/layouts/number-5x-box-title-center.json +46 -0
- package/dist/spec/catalogs/layouts/number-5x-box.json +41 -0
- package/dist/spec/catalogs/layouts/number-5x-title-center.json +45 -0
- package/dist/spec/catalogs/layouts/number-5x.json +15 -0
- package/dist/spec/catalogs/layouts/number-6x-box-title-center.json +49 -0
- package/dist/spec/catalogs/layouts/number-6x-box.json +44 -0
- package/dist/spec/catalogs/layouts/number-6x-title-center.json +48 -0
- package/dist/spec/catalogs/layouts/number-6x.json +15 -0
- package/dist/spec/catalogs/layouts/one-column-explainer.json +9 -15
- package/dist/spec/catalogs/layouts/org-chart.json +9 -15
- package/dist/spec/catalogs/layouts/persona-grid.json +11 -16
- package/dist/spec/catalogs/layouts/photo-grid.json +14 -19
- package/dist/spec/catalogs/layouts/pricing-table.json +9 -15
- package/dist/spec/catalogs/layouts/process-flow.json +9 -15
- package/dist/spec/catalogs/layouts/product-feature.json +11 -16
- package/dist/spec/catalogs/layouts/pros-cons.json +9 -15
- package/dist/spec/catalogs/layouts/qa-discussion.json +7 -15
- package/dist/spec/catalogs/layouts/quote-1x.json +11 -1
- package/dist/spec/catalogs/layouts/quote-highlight.json +9 -15
- package/dist/spec/catalogs/layouts/raci-matrix.json +9 -15
- package/dist/spec/catalogs/layouts/risk-heatmap.json +9 -15
- package/dist/spec/catalogs/layouts/roadmap.json +9 -15
- package/dist/spec/catalogs/layouts/screenshot-walkthrough.json +11 -16
- package/dist/spec/catalogs/layouts/section-divider.json +8 -15
- package/dist/spec/catalogs/layouts/single-message-statement.json +8 -15
- package/dist/spec/catalogs/layouts/stats-metrics.json +9 -15
- package/dist/spec/catalogs/layouts/status-rag.json +9 -15
- package/dist/spec/catalogs/layouts/swimlane-process.json +11 -16
- package/dist/spec/catalogs/layouts/swot-analysis.json +9 -15
- package/dist/spec/catalogs/layouts/table-1x.json +10 -0
- package/dist/spec/catalogs/layouts/team-bio.json +11 -16
- package/dist/spec/catalogs/layouts/testimonial-grid.json +9 -15
- package/dist/spec/catalogs/layouts/text-1x-box-title-center.json +31 -0
- package/dist/spec/catalogs/layouts/text-1x-box-title-left.json +31 -0
- package/dist/spec/catalogs/layouts/text-1x-center-box-title-center.json +31 -0
- package/dist/spec/catalogs/layouts/text-1x-center-box-title-left.json +31 -0
- package/dist/spec/catalogs/layouts/text-1x-center-box.json +26 -0
- package/dist/spec/catalogs/layouts/text-1x-center-title-center.json +30 -0
- package/dist/spec/catalogs/layouts/text-1x-center-title-left.json +30 -0
- package/dist/spec/catalogs/layouts/text-1x-center.json +25 -0
- package/dist/spec/catalogs/layouts/text-1x-left-box.json +26 -0
- package/dist/spec/catalogs/layouts/text-1x-title-center.json +30 -0
- package/dist/spec/catalogs/layouts/text-1x.json +11 -1
- package/dist/spec/catalogs/layouts/text-2x-box-title-center.json +37 -0
- package/dist/spec/catalogs/layouts/text-2x-box-vertical-title-left.json +37 -0
- package/dist/spec/catalogs/layouts/text-2x-center-box-title-center.json +37 -0
- package/dist/spec/catalogs/layouts/text-2x-center-box-vertical-title-left.json +37 -0
- package/dist/spec/catalogs/layouts/text-2x-center-box.json +32 -0
- package/dist/spec/catalogs/layouts/text-2x-center-title-center.json +36 -0
- package/dist/spec/catalogs/layouts/text-2x-center-vertical-title-left.json +36 -0
- package/dist/spec/catalogs/layouts/text-2x-center.json +31 -0
- package/dist/spec/catalogs/layouts/text-2x-left-box.json +32 -0
- package/dist/spec/catalogs/layouts/text-2x-title-center.json +36 -0
- package/dist/spec/catalogs/layouts/text-2x-vertical-title-left.json +36 -0
- package/dist/spec/catalogs/layouts/text-2x.json +10 -0
- package/dist/spec/catalogs/layouts/text-3x-box-title-center.json +40 -0
- package/dist/spec/catalogs/layouts/text-3x-box-vertical-title-left.json +41 -0
- package/dist/spec/catalogs/layouts/text-3x-center-box-title-center.json +40 -0
- package/dist/spec/catalogs/layouts/text-3x-center-box-vertical-title-left.json +41 -0
- package/dist/spec/catalogs/layouts/text-3x-center-box.json +35 -0
- package/dist/spec/catalogs/layouts/text-3x-center-title-center.json +39 -0
- package/dist/spec/catalogs/layouts/text-3x-center-vertical-title-left.json +40 -0
- package/dist/spec/catalogs/layouts/text-3x-center.json +34 -0
- package/dist/spec/catalogs/layouts/text-3x-left-box.json +35 -0
- package/dist/spec/catalogs/layouts/text-3x-left.json +34 -0
- package/dist/spec/catalogs/layouts/text-3x-title-center.json +39 -0
- package/dist/spec/catalogs/layouts/text-3x-vertical-title-left.json +40 -0
- package/dist/spec/catalogs/layouts/text-3x.json +10 -0
- package/dist/spec/catalogs/layouts/thank-you-cta.json +8 -15
- package/dist/spec/catalogs/layouts/three-column.json +9 -15
- package/dist/spec/catalogs/layouts/timeline-1x.json +11 -1
- package/dist/spec/catalogs/layouts/timeline.json +9 -15
- package/dist/spec/catalogs/layouts/title-center-box.json +27 -0
- package/dist/spec/catalogs/layouts/title-center-image-bottom.json +34 -0
- package/dist/spec/catalogs/layouts/title-center-image-top.json +34 -0
- package/dist/spec/catalogs/layouts/title-center.json +26 -0
- package/dist/spec/catalogs/layouts/title-left-image-bottom.json +34 -0
- package/dist/spec/catalogs/layouts/title-left-image-left.json +34 -0
- package/dist/spec/catalogs/layouts/title-left-image-right.json +34 -0
- package/dist/spec/catalogs/layouts/title-left-image-top.json +34 -0
- package/dist/spec/catalogs/layouts/title-slide.json +8 -15
- package/dist/spec/catalogs/layouts/title-subtitle.json +11 -1
- package/dist/spec/catalogs/layouts/title.json +11 -1
- package/dist/spec/catalogs/layouts/two-column.json +9 -15
- package/dist/spec/catalogs/layouts/venn-overlap.json +9 -15
- package/dist/spec/catalogs/layouts/waterfall-bridge.json +9 -15
- package/dist/spec/catalogs/layouts/wheel-radial.json +9 -15
- package/dist/spec/catalogs/manifest.json +22 -22
- package/dist/spec/catalogs/narratives/board-meeting.json +45 -45
- package/dist/spec/catalogs/narratives/business-narrative.json +19 -19
- package/dist/spec/catalogs/narratives/business-review.json +27 -27
- package/dist/spec/catalogs/narratives/capacity-planning.json +19 -19
- package/dist/spec/catalogs/narratives/challenge-resolution.json +17 -17
- package/dist/spec/catalogs/narratives/change-story.json +13 -13
- package/dist/spec/catalogs/narratives/classic-story.json +17 -17
- package/dist/spec/catalogs/narratives/company-intro.json +21 -21
- package/dist/spec/catalogs/narratives/conference-talk.json +4 -4
- package/dist/spec/catalogs/narratives/data-story.json +13 -14
- package/dist/spec/catalogs/narratives/early-startup-pitch.json +27 -27
- package/dist/spec/catalogs/narratives/educate.json +21 -21
- package/dist/spec/catalogs/narratives/employee-review.json +19 -19
- package/dist/spec/catalogs/narratives/failure-analysis.json +23 -23
- package/dist/spec/catalogs/narratives/focus.json +27 -27
- package/dist/spec/catalogs/narratives/golden-circle.json +4 -4
- package/dist/spec/catalogs/narratives/heros-journey.json +13 -13
- package/dist/spec/catalogs/narratives/index.json +145 -145
- package/dist/spec/catalogs/narratives/innovation.json +21 -21
- package/dist/spec/catalogs/narratives/justice.json +25 -25
- package/dist/spec/catalogs/narratives/marketing-strategy.json +25 -25
- package/dist/spec/catalogs/narratives/performance-improvement-plan.json +19 -19
- package/dist/spec/catalogs/narratives/performance-review.json +25 -25
- package/dist/spec/catalogs/narratives/persuade.json +17 -17
- package/dist/spec/catalogs/narratives/persuasive-sales.json +19 -19
- package/dist/spec/catalogs/narratives/pitch-deck.json +6 -6
- package/dist/spec/catalogs/narratives/problem-solution.json +5 -5
- package/dist/spec/catalogs/narratives/product-launch.json +23 -23
- package/dist/spec/catalogs/narratives/project-proposal.json +23 -23
- package/dist/spec/catalogs/narratives/pyramid-principle.json +9 -9
- package/dist/spec/catalogs/narratives/qbr.json +8 -8
- package/dist/spec/catalogs/narratives/rags-to-riches.json +17 -17
- package/dist/spec/catalogs/narratives/reveal.json +19 -19
- package/dist/spec/catalogs/narratives/scqa.json +4 -4
- package/dist/spec/catalogs/narratives/situation-complication-resolution.json +11 -11
- package/dist/spec/catalogs/narratives/sparkline.json +11 -11
- package/dist/spec/catalogs/narratives/star-method.json +11 -11
- package/dist/spec/catalogs/narratives/status-update.json +15 -15
- package/dist/spec/catalogs/narratives/strategic-advisory.json +17 -17
- package/dist/spec/catalogs/narratives/strategic-narrative.json +4 -4
- package/dist/spec/catalogs/narratives/survey-analysis.json +23 -23
- package/dist/spec/catalogs/narratives/survival-story.json +23 -23
- package/dist/spec/catalogs/narratives/transformation-arc.json +4 -4
- package/dist/spec/catalogs/narratives/trend-analysis.json +17 -17
- package/dist/spec/catalogs/narratives/underdog-victory.json +19 -19
- package/dist/spec/catalogs/narratives/venture-pitch.json +27 -27
- package/dist/spec/catalogs/narratives/vision-roadmap.json +13 -13
- package/dist/spec/catalogs/narratives/weekly-progress.json +23 -23
- package/dist/spec/catalogs/narratives/what-so-what-now-what.json +9 -9
- package/dist/spec/openapi.yaml +4 -7
- package/dist/spec/reference/engine-defaults.json +22 -30
- package/dist/spec/reference/engine-vocabularies.json +1577 -0
- package/dist/spec/schemas/audience.schema.json +6 -27
- package/dist/spec/schemas/catalog-index.schema.json +2 -2
- package/dist/spec/schemas/catalog-manifest.schema.json +3 -3
- package/dist/spec/schemas/chart-type.schema.json +17 -321
- package/dist/spec/schemas/color-scheme.schema.json +23 -36
- package/dist/spec/schemas/finding.schema.json +191 -0
- package/dist/spec/schemas/font-scheme.schema.json +17 -75
- package/dist/spec/schemas/language.schema.json +7 -28
- package/dist/spec/schemas/layout.schema.json +130 -184
- package/dist/spec/schemas/narrative.schema.json +20 -48
- package/dist/spec/schemas/opf.schema.json +678 -701
- package/dist/spec/schemas/purpose.schema.json +5 -26
- package/dist/spec/schemas/social-platform.schema.json +2 -48
- package/dist/spec/schemas/theme.schema.json +13 -38
- package/dist/spec/schemas/tone.schema.json +4 -25
- package/dist/spec-files.d.ts +1 -1
- package/dist/spec-files.js +1 -1
- package/dist/symbol-font-encodings.js +18448 -1
- package/dist/types.d.ts +1125 -4
- package/dist/validation-types-BOcY9GTs.d.ts +276 -0
- package/dist/validator.d.ts +63 -4
- package/dist/validator.js +5 -5
- package/dist/yaml.d.ts +102 -0
- package/dist/yaml.js +322 -0
- package/package.json +9 -17
- package/dist/audit.d.ts +0 -35
- package/dist/audit.js +0 -7
- package/dist/catalogs-ywCamd8C.d.ts +0 -1465
- package/dist/catalogs.d.ts +0 -2
- package/dist/catalogs.js +0 -2
- package/dist/chunk-7N4VMAT4.js +0 -1694
- package/dist/chunk-FYLJVF7X.js +0 -18448
- package/dist/chunk-INU7ZNSB.js +0 -670
- package/dist/chunk-IYCJUKWD.js +0 -951
- package/dist/chunk-PIQXLBBJ.js +0 -445
- package/dist/chunk-S5W34SIJ.js +0 -1
- package/dist/lint-B7azdiuE.d.ts +0 -197
- package/dist/lint.d.ts +0 -7
- package/dist/lint.js +0 -6
- package/dist/previews.d.ts +0 -40
- package/dist/previews.js +0 -1
- package/dist/schemas-BbPonsTz.d.ts +0 -270
- package/dist/spec/catalogs/audiences/customers.json +0 -27
- package/dist/spec/catalogs/audiences/executives.json +0 -27
- package/dist/spec/catalogs/audiences/investors.json +0 -27
- package/dist/spec/catalogs/audiences/marketing-team.json +0 -27
- package/dist/spec/catalogs/audiences/regulators.json +0 -27
- package/dist/spec/catalogs/audiences/sales-team.json +0 -27
- package/dist/spec/catalogs/chart-types/100pct-bullet-bar-2x.json +0 -91
- package/dist/spec/catalogs/chart-types/100pct-bullet-bar-3x.json +0 -103
- package/dist/spec/catalogs/chart-types/100pct-bullet-bar.json +0 -79
- package/dist/spec/catalogs/chart-types/100pct-bullet-column-2x.json +0 -91
- package/dist/spec/catalogs/chart-types/100pct-bullet-column-3x.json +0 -103
- package/dist/spec/catalogs/chart-types/100pct-bullet-column.json +0 -79
- package/dist/spec/catalogs/chart-types/100pct-progress-bar.json +0 -105
- package/dist/spec/catalogs/chart-types/100pct-stacked-area-2x.json +0 -106
- package/dist/spec/catalogs/chart-types/100pct-stacked-area-3x.json +0 -123
- package/dist/spec/catalogs/chart-types/100pct-stacked-bar-2x.json +0 -89
- package/dist/spec/catalogs/chart-types/100pct-stacked-bar-3x.json +0 -100
- package/dist/spec/catalogs/chart-types/100pct-stacked-column-2x.json +0 -95
- package/dist/spec/catalogs/chart-types/100pct-stacked-column-3x.json +0 -108
- package/dist/spec/catalogs/chart-types/australia.json +0 -76
- package/dist/spec/catalogs/chart-types/box-and-whisker-2x.json +0 -136
- package/dist/spec/catalogs/chart-types/box-and-whisker-3x.json +0 -168
- package/dist/spec/catalogs/chart-types/bullet-bar-2x.json +0 -89
- package/dist/spec/catalogs/chart-types/bullet-bar-3x.json +0 -101
- package/dist/spec/catalogs/chart-types/bullet-bar.json +0 -77
- package/dist/spec/catalogs/chart-types/bullet-column-2x.json +0 -89
- package/dist/spec/catalogs/chart-types/bullet-column-3x.json +0 -101
- package/dist/spec/catalogs/chart-types/bullet-column.json +0 -77
- package/dist/spec/catalogs/chart-types/canada.json +0 -86
- package/dist/spec/catalogs/chart-types/clustered-bar-2x.json +0 -89
- package/dist/spec/catalogs/chart-types/clustered-column.json +0 -95
- package/dist/spec/catalogs/chart-types/dot-plot-2x.json +0 -99
- package/dist/spec/catalogs/chart-types/dot-plot-3x.json +0 -124
- package/dist/spec/catalogs/chart-types/dot-plot-4x.json +0 -149
- package/dist/spec/catalogs/chart-types/dot-plot-5x.json +0 -174
- package/dist/spec/catalogs/chart-types/dot-plot-6x.json +0 -199
- package/dist/spec/catalogs/chart-types/dot-plot.json +0 -74
- package/dist/spec/catalogs/chart-types/dumbbell.json +0 -120
- package/dist/spec/catalogs/chart-types/line-2x.json +0 -105
- package/dist/spec/catalogs/chart-types/line-3x.json +0 -127
- package/dist/spec/catalogs/chart-types/line-with-high-low-and-markers.json +0 -144
- package/dist/spec/catalogs/chart-types/line-with-high-low.json +0 -144
- package/dist/spec/catalogs/chart-types/line-with-markers-2x.json +0 -106
- package/dist/spec/catalogs/chart-types/line-with-markers-3x.json +0 -128
- package/dist/spec/catalogs/chart-types/sparkline-2x.json +0 -138
- package/dist/spec/catalogs/chart-types/sparkline-3x.json +0 -174
- package/dist/spec/catalogs/chart-types/sparkline-4x.json +0 -210
- package/dist/spec/catalogs/chart-types/sparkline-5x.json +0 -246
- package/dist/spec/catalogs/chart-types/sparkline-6x.json +0 -282
- package/dist/spec/catalogs/chart-types/sparkline.json +0 -102
- package/dist/spec/catalogs/chart-types/stacked-area-2x.json +0 -106
- package/dist/spec/catalogs/chart-types/stacked-area-3x.json +0 -123
- package/dist/spec/catalogs/chart-types/stacked-bar-2x.json +0 -89
- package/dist/spec/catalogs/chart-types/stacked-bar-3x.json +0 -100
- package/dist/spec/catalogs/chart-types/stacked-column-2x.json +0 -95
- package/dist/spec/catalogs/chart-types/stacked-column-3x.json +0 -108
- package/dist/spec/catalogs/chart-types/stacked-line-2x.json +0 -106
- package/dist/spec/catalogs/chart-types/stacked-line-3x.json +0 -123
- package/dist/spec/catalogs/chart-types/stacked-line-with-markers-2x.json +0 -107
- package/dist/spec/catalogs/chart-types/stacked-line-with-markers-3x.json +0 -124
- package/dist/spec/catalogs/chart-types/treemap-2x.json +0 -101
- package/dist/spec/catalogs/chart-types/treemap-3x.json +0 -122
- package/dist/spec/catalogs/chart-types/united-kingdom.json +0 -68
- package/dist/spec/catalogs/chart-types/united-states.json +0 -82
- package/dist/spec/catalogs/layouts/image-bleed.json +0 -10
- package/dist/validator-CIylxoIm.d.ts +0 -172
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Inline audience metadata for the presentation. Use 'id' to reference an audiences
|
|
2
|
+
* Inline audience metadata for the presentation. Use 'id' to reference an audiences record (a bare id or 'name:id') and override selected fields, or use 'name' for a custom inline audience.
|
|
3
3
|
*
|
|
4
4
|
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
5
5
|
* via the `definition` "Audience".
|
|
6
6
|
*/
|
|
7
7
|
type Audience = (Audience1 & {
|
|
8
8
|
/**
|
|
9
|
-
* Optional audiences
|
|
9
|
+
* Optional audiences reference (a bare id or 'name:id') resolved before applying the inline overrides.
|
|
10
10
|
*/
|
|
11
11
|
id?: string;
|
|
12
12
|
/**
|
|
@@ -38,11 +38,11 @@ type Audience = (Audience1 & {
|
|
|
38
38
|
*/
|
|
39
39
|
attentionBudgetMinutes?: number;
|
|
40
40
|
/**
|
|
41
|
-
* Soft cross-link: narrative
|
|
41
|
+
* Soft cross-link: narrative ids that work well for this audience, for picker UIs. Never resolved, embedded or validated as references.
|
|
42
42
|
*/
|
|
43
43
|
recommendedNarratives?: string[];
|
|
44
44
|
/**
|
|
45
|
-
* Soft cross-link: tone
|
|
45
|
+
* Soft cross-link: tone ids that work well for this audience, for picker UIs. Never resolved, embedded or validated as references.
|
|
46
46
|
*/
|
|
47
47
|
recommendedTones?: string[];
|
|
48
48
|
/**
|
|
@@ -55,14 +55,14 @@ type Audience1 = {
|
|
|
55
55
|
[k: string]: unknown;
|
|
56
56
|
};
|
|
57
57
|
/**
|
|
58
|
-
* Inline purpose metadata for the presentation. Use 'id' to reference a purposes
|
|
58
|
+
* Inline purpose metadata for the presentation. Use 'id' to reference a purposes record (a bare id or 'name:id') and override selected fields, or use 'name' for a custom inline purpose.
|
|
59
59
|
*
|
|
60
60
|
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
61
61
|
* via the `definition` "Purpose".
|
|
62
62
|
*/
|
|
63
63
|
type Purpose = (Purpose1 & {
|
|
64
64
|
/**
|
|
65
|
-
* Optional purposes
|
|
65
|
+
* Optional purposes reference (a bare id or 'name:id') resolved before applying the inline overrides.
|
|
66
66
|
*/
|
|
67
67
|
id?: string;
|
|
68
68
|
/**
|
|
@@ -86,11 +86,11 @@ type Purpose = (Purpose1 & {
|
|
|
86
86
|
*/
|
|
87
87
|
successCriteria?: string[];
|
|
88
88
|
/**
|
|
89
|
-
* Soft cross-link: narrative
|
|
89
|
+
* Soft cross-link: narrative ids that work well for this purpose, for picker UIs. Never resolved, embedded or validated as references.
|
|
90
90
|
*/
|
|
91
91
|
recommendedNarratives?: string[];
|
|
92
92
|
/**
|
|
93
|
-
* Soft cross-link: tone
|
|
93
|
+
* Soft cross-link: tone ids that work well for this purpose, for picker UIs. Never resolved, embedded or validated as references.
|
|
94
94
|
*/
|
|
95
95
|
recommendedTones?: string[];
|
|
96
96
|
/**
|
|
@@ -103,74 +103,28 @@ type Purpose1 = {
|
|
|
103
103
|
[k: string]: unknown;
|
|
104
104
|
};
|
|
105
105
|
/**
|
|
106
|
-
*
|
|
106
|
+
* A BCP-47 language tag ('en-US', 'ja', 'zh-Hans', 'sr-Latn-ME'), an engine vocabulary. Use 'en-GB' for UK English; 'en-UK' is not a valid region.
|
|
107
107
|
*
|
|
108
108
|
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
109
|
-
* via the `definition` "
|
|
109
|
+
* via the `definition` "LanguageTag".
|
|
110
110
|
*/
|
|
111
|
-
type
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
name?: string;
|
|
120
|
-
/**
|
|
121
|
-
* BCP-47 language tag used for locale-aware rendering, proofing, and accessibility metadata. Use 'en-GB' for UK English; 'en-UK' is not a valid BCP-47 region form.
|
|
122
|
-
*/
|
|
123
|
-
bcp47?: string;
|
|
124
|
-
/**
|
|
125
|
-
* Curated culture tag for OOXML text-run language attributes (a:rPr/@lang, a:endParaRPr/@lang), in the language-[Script-]REGION form Office recognizes (e.g. 'ja-JP', 'ar-SA', 'ms-MY', 'nb-NO', 'fil-PH', 'zh-CN'). Engines emit it instead of 'bcp47' when the document names the language by catalog id or by a tag without a region; a region-bearing tag written by the author is emitted as written. Curated rather than inferred so output does not depend on the runtime's locale data.
|
|
126
|
-
*/
|
|
127
|
-
ooxmlLang?: string;
|
|
128
|
-
/**
|
|
129
|
-
* ISO 639-3 or 639-2 language code carried for engines that prefer ISO codes.
|
|
130
|
-
*/
|
|
131
|
-
code?: string;
|
|
132
|
-
/**
|
|
133
|
-
* Base text direction for the language. When omitted, engines derive it from the script: Arabic (Arab), Hebrew (Hebr), Syriac (Syrc), Thaana (Thaa), N'Ko (Nkoo), Adlam (Adlm), Samaritan (Samr), Mandaic (Mand) and Hanifi Rohingya (Rohg) are right-to-left; every other script is left-to-right. Bundled language records state it explicitly.
|
|
134
|
-
*/
|
|
135
|
-
direction?: ("ltr" | "rtl");
|
|
136
|
-
/**
|
|
137
|
-
* ISO 15924 script code of the language's writing system. The script selects the OOXML font slot the language's text uses: East Asian scripts (Hans, Hant, Hani, Jpan, Kore, Hang, Hira, Kana, Bopo, Yiii) use the eastAsian slot; complex scripts (for example Arab, Hebr, Syrc, Thaa, Deva, Beng, Guru, Gujr, Orya, Taml, Telu, Knda, Mlym, Sinh, Thai, Laoo, Tibt, Mymr, Khmr, Mong) use the complexScript slot; every other script (Latn, Cyrl, Grek, Armn, Geor, Ethi, ...) uses the latin slot. When omitted, engines infer it from the BCP-47 tag. Bundled language records state it explicitly. See docs/programs/font-fidelity-everywhere/script-font-model.md.
|
|
138
|
-
*/
|
|
139
|
-
script?: string;
|
|
140
|
-
/**
|
|
141
|
-
* Default font-scheme id for this language when targeting PowerPoint output. Resolves against catalogs.fontSchemes the same way design.fontScheme or design.fontScheme.id does. Its major/minor families fill the language's script slot (eastAsian or complexScript, chosen by 'script') unless the effective design font scheme sets that slot itself; the latin slot always follows the design font scheme.
|
|
142
|
-
*/
|
|
143
|
-
fontScheme?: string;
|
|
144
|
-
/**
|
|
145
|
-
* Default font-scheme id for this language when targeting Google Slides output. Resolves against catalogs.fontSchemes the same way design.fontScheme or design.fontScheme.id does. Used in place of 'fontScheme' when resolving script fonts for Google Slides output.
|
|
146
|
-
*/
|
|
147
|
-
googleFontScheme?: string;
|
|
148
|
-
/**
|
|
149
|
-
* One-sentence note about coverage or font defaults.
|
|
150
|
-
*/
|
|
151
|
-
summary?: string;
|
|
152
|
-
/**
|
|
153
|
-
* Longer prose describing the language record and any font-pairing rationale.
|
|
154
|
-
*/
|
|
155
|
-
description?: string;
|
|
156
|
-
/**
|
|
157
|
-
* Free-form labels for filtering and search.
|
|
158
|
-
*/
|
|
159
|
-
tags?: string[];
|
|
160
|
-
[k: string]: unknown;
|
|
161
|
-
});
|
|
162
|
-
type Language1 = {
|
|
163
|
-
[k: string]: unknown;
|
|
164
|
-
};
|
|
111
|
+
type LanguageTag = string;
|
|
112
|
+
/**
|
|
113
|
+
* A content reference: a bare id ('two-column') or 'name:id' ('acme:hero'), where the prefix names a group of 'catalogs'. URLs and 'pkg:' strings are not references; a named catalog group replaces them. See Catalogs for the resolution order.
|
|
114
|
+
*
|
|
115
|
+
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
116
|
+
* via the `definition` "CatalogReference".
|
|
117
|
+
*/
|
|
118
|
+
type CatalogReference = string;
|
|
165
119
|
/**
|
|
166
|
-
* Inline tone metadata for the presentation. Use 'id' to reference a tones
|
|
120
|
+
* Inline tone metadata for the presentation. Use 'id' to reference a tones record (a bare id or 'name:id') and override selected fields, or use 'name' for a custom inline tone.
|
|
167
121
|
*
|
|
168
122
|
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
169
123
|
* via the `definition` "Tone".
|
|
170
124
|
*/
|
|
171
125
|
type Tone = (Tone1 & {
|
|
172
126
|
/**
|
|
173
|
-
*
|
|
127
|
+
* A content reference: a bare id ('two-column') or 'name:id' ('acme:hero'), where the prefix names a group of 'catalogs'. URLs and 'pkg:' strings are not references; a named catalog group replaces them. See Catalogs for the resolution order.
|
|
174
128
|
*/
|
|
175
129
|
id?: string;
|
|
176
130
|
/**
|
|
@@ -198,7 +152,7 @@ type Tone = (Tone1 & {
|
|
|
198
152
|
*/
|
|
199
153
|
samplePhrases?: string[];
|
|
200
154
|
/**
|
|
201
|
-
* Soft cross-link: narrative
|
|
155
|
+
* Soft cross-link: narrative ids this tone pairs well with, for picker UIs. Never resolved, embedded or validated as references.
|
|
202
156
|
*/
|
|
203
157
|
recommendedNarratives?: string[];
|
|
204
158
|
/**
|
|
@@ -211,12 +165,19 @@ type Tone1 = {
|
|
|
211
165
|
[k: string]: unknown;
|
|
212
166
|
};
|
|
213
167
|
/**
|
|
214
|
-
*
|
|
168
|
+
* Named dimension preset; chooses both aspect ratio and physical size. 'widescreen' is an alias for 16:9 in PowerPoint widescreen size; 'standard' is an alias for 4:3 in PowerPoint standard size. The social-feed ratios keep the widescreen short edge of 7.5 in: 1:1 is 7.5 x 7.5 in, 4:5 is 7.5 x 9.375 in and 9:16 is 7.5 x 13.333 in (portrait).
|
|
169
|
+
*
|
|
170
|
+
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
171
|
+
* via the `definition` "DimensionPreset".
|
|
172
|
+
*/
|
|
173
|
+
type DimensionPreset = ("16:9" | "4:3" | "16:10" | "1:1" | "4:5" | "9:16" | "letter" | "a4" | "widescreen" | "standard");
|
|
174
|
+
/**
|
|
175
|
+
* String shorthand for a background. Theme slots ('light1', 'light2', 'dark1', 'dark2') are equivalent to { type: 'theme', slot: value }; hex colors are equivalent to { type: 'solid', color: value }; an image source (starting with 'asset:', 'https://', 'data:', './' or '../') is equivalent to { type: 'image', src: value }, a cover image. Any other string is invalid.
|
|
215
176
|
*
|
|
216
177
|
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
217
178
|
* via the `definition` "BackgroundShortcut".
|
|
218
179
|
*/
|
|
219
|
-
type BackgroundShortcut = (ThemeBackgroundSlot | HexColor);
|
|
180
|
+
type BackgroundShortcut = (ThemeBackgroundSlot | HexColor | ImageSource);
|
|
220
181
|
/**
|
|
221
182
|
* PowerPoint theme-controlled slide background slot from the active color scheme. These are slots, not assumptions about actual colors: light1 is usually white and dark1 is usually black by convention, but the color scheme controls the real values.
|
|
222
183
|
*
|
|
@@ -232,21 +193,21 @@ type ThemeBackgroundSlot = ("light1" | "light2" | "dark1" | "dark2");
|
|
|
232
193
|
*/
|
|
233
194
|
type HexColor = string;
|
|
234
195
|
/**
|
|
235
|
-
*
|
|
196
|
+
* An image source in a string shorthand: an 'asset:<id>' reference, an HTTPS URL, a data URI, or a relative path starting with './' or '../' (resolved against the OPF file location).
|
|
236
197
|
*
|
|
237
198
|
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
238
|
-
* via the `definition` "
|
|
199
|
+
* via the `definition` "ImageSource".
|
|
239
200
|
*/
|
|
240
|
-
type
|
|
201
|
+
type ImageSource = string;
|
|
241
202
|
/**
|
|
242
|
-
*
|
|
203
|
+
* Background fill applied to slides. Theme backgrounds preserve PowerPoint's color-scheme background choice; other variants represent fixed background fills.
|
|
243
204
|
*
|
|
244
205
|
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
245
|
-
* via the `definition` "
|
|
206
|
+
* via the `definition` "Background".
|
|
246
207
|
*/
|
|
247
|
-
type
|
|
208
|
+
type Background = (ThemeBackground | SolidBackground | GradientBackground | ImageBackground | PatternBackground);
|
|
248
209
|
/**
|
|
249
|
-
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title
|
|
210
|
+
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title or mediaType matters.
|
|
250
211
|
*
|
|
251
212
|
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
252
213
|
* via the `definition` "Asset".
|
|
@@ -272,11 +233,30 @@ type Asset = (string | {
|
|
|
272
233
|
* Optional MIME media type when it cannot be inferred from src.
|
|
273
234
|
*/
|
|
274
235
|
mediaType?: string;
|
|
236
|
+
});
|
|
237
|
+
/**
|
|
238
|
+
* Decorative watermark: an image ('src') or a text stamp ('text'), exactly one of the two, with its opacity. An image is drawn once per slide, contained and centered in a fixed frame (the middle 40% of the slide width and height, from 30% to 70% on each axis). A text watermark is one line of text in the heading font and the theme text color at the given opacity, centered on the slide and rotated 30 degrees counterclockwise (rising to the right), sized to span at most 70% of the slide width and at most 30% of the shorter slide edge in height; it is drawn behind the slide content and above the background. There is no option to move, scale, rotate or tile either form. PPTX export writes one native picture (image) or one native text box (text) per slide with the opacity as alpha, and import restores the watermark. A string or Asset (no opacity) is the image watermark at opacity 0.08. A watermark object needs opacity and exactly one of src and text; use a plain string or Asset for an image at the default opacity. Use design.watermark = false to disable an inherited watermark.
|
|
239
|
+
*
|
|
240
|
+
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
241
|
+
* via the `definition` "Watermark".
|
|
242
|
+
*/
|
|
243
|
+
type Watermark = ({
|
|
275
244
|
/**
|
|
276
|
-
*
|
|
245
|
+
* Source for the watermark image: an 'asset:<id>' reference, HTTPS URL, data URI, relative path or local path, as for Asset.src. Exactly one of src and text is set.
|
|
277
246
|
*/
|
|
278
|
-
|
|
279
|
-
|
|
247
|
+
src?: string;
|
|
248
|
+
/**
|
|
249
|
+
* Text for a text watermark, such as DRAFT or CONFIDENTIAL; line breaks are drawn as spaces. Exactly one of src and text is set.
|
|
250
|
+
*/
|
|
251
|
+
text?: string;
|
|
252
|
+
/**
|
|
253
|
+
* Watermark opacity from 0 (fully transparent) to 1 (fully opaque).
|
|
254
|
+
*/
|
|
255
|
+
opacity: number;
|
|
256
|
+
} & Watermark1);
|
|
257
|
+
type Watermark1 = {
|
|
258
|
+
[k: string]: unknown;
|
|
259
|
+
};
|
|
280
260
|
/**
|
|
281
261
|
* A single named variable: a hex string (shorthand for a color variable) or an object whose 'type' is color, text, number, date, image, url or list. 'value' is the current value and is optional: a variable with no value is unfilled, which a template allows and a normal deck does not. 'example' only illustrates the slot (fill forms, template previews) and never reaches output.
|
|
282
262
|
*
|
|
@@ -320,11 +300,19 @@ type TextRun = (string | {
|
|
|
320
300
|
*/
|
|
321
301
|
fontSize?: number;
|
|
322
302
|
/**
|
|
323
|
-
* Run font family override.
|
|
303
|
+
* Run font family override. It wins over the code font a run with 'code' takes.
|
|
324
304
|
*/
|
|
325
305
|
fontFamily?: string;
|
|
326
306
|
/**
|
|
327
|
-
*
|
|
307
|
+
* Whether the run is an inline code span: it is drawn in the design's code font (design.fontScheme.code, else the resolved font scheme's code family, else Roboto Mono), unless the run names its own fontFamily. Only the font changes; there is no background, because a PPTX run cannot have one. Markdown backticks read and write code runs.
|
|
308
|
+
*/
|
|
309
|
+
code?: boolean;
|
|
310
|
+
/**
|
|
311
|
+
* BCP-47 language tag of the run, such as 'fr-FR' or 'ja-JP', when it differs from the deck language. It sets the proofing language (PPTX a:rPr lang) and the language the run's script fonts and glyph variants follow (for example the Japanese or the Simplified Chinese face for Han characters); without it the run follows the deck language.
|
|
312
|
+
*/
|
|
313
|
+
lang?: string;
|
|
314
|
+
/**
|
|
315
|
+
* URL to link the run text to: an http(s) URL, a 'mailto:' address or a 'tel:' number, without whitespace. The preview draws it as a link and PPTX export writes a native hyperlink for all three; any other scheme is not valid.
|
|
328
316
|
*/
|
|
329
317
|
link?: string;
|
|
330
318
|
/**
|
|
@@ -336,11 +324,11 @@ type TextRun = (string | {
|
|
|
336
324
|
*/
|
|
337
325
|
subscript?: boolean;
|
|
338
326
|
/**
|
|
339
|
-
* One or more ids from the top-level references list that this run cites. Engines draw a superscript marker ('1', or '1,2' for several ids) directly after the run and list '<n> <reference text>' in the slide's footnote area; markers are numbered per deck in order of first use, and the same id keeps its number. An id missing from references is a validation error (cite-unknown-reference). Supported in text, bullets and list item runs.
|
|
327
|
+
* One or more ids from the top-level references list that this run cites. Engines draw a superscript marker ('1', or '1,2' for several ids) directly after the run and list '<n> <reference text>' in the slide's footnote area; markers are numbered per deck in order of first use, and the same id keeps its number. An id missing from references is a validation error (cite-unknown-reference). Supported in text, bullets and list item runs, in the slide title, subtitle and tag, and in the quote text.
|
|
340
328
|
*/
|
|
341
329
|
cite?: (string | [string, ...(string)[]]);
|
|
342
330
|
/**
|
|
343
|
-
* An inline note for this run, without a references entry. Engines draw a superscript marker after the run and list the note in the slide's footnote area; every footnote takes a new number in the deck's marker sequence. Supported in text, bullets and list item runs.
|
|
331
|
+
* An inline note for this run, without a references entry. Engines draw a superscript marker after the run and list the note in the slide's footnote area; every footnote takes a new number in the deck's marker sequence. Supported in text, bullets and list item runs, in the slide title, subtitle and tag, and in the quote text.
|
|
344
332
|
*/
|
|
345
333
|
footnote?: (string | [TextRun, ...(TextRun)[]]);
|
|
346
334
|
[k: string]: unknown;
|
|
@@ -467,7 +455,7 @@ type ContentPayload = {
|
|
|
467
455
|
*/
|
|
468
456
|
numbering?: (NumberingStyle | Numbering | [(NumberingStyle | Numbering)] | [(NumberingStyle | Numbering), (NumberingStyle | Numbering)] | [(NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering)] | [(NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering)] | [(NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering)] | [(NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering)] | [(NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering)] | [(NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering)] | [(NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering)]);
|
|
469
457
|
/**
|
|
470
|
-
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title
|
|
458
|
+
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title or mediaType matters.
|
|
471
459
|
*/
|
|
472
460
|
image?: (string | {
|
|
473
461
|
/**
|
|
@@ -490,13 +478,46 @@ type ContentPayload = {
|
|
|
490
478
|
* Optional MIME media type when it cannot be inferred from src.
|
|
491
479
|
*/
|
|
492
480
|
mediaType?: string;
|
|
481
|
+
});
|
|
482
|
+
/**
|
|
483
|
+
* Image payloads only. How the picture fills its frame: 'cover' fills it and crops what overflows around focus; 'contain' shows the whole picture centered; 'stretch' scales it to the frame exactly. Default: the effective design.imageFit, else 'cover'.
|
|
484
|
+
*/
|
|
485
|
+
fit?: ("cover" | "contain" | "stretch");
|
|
486
|
+
focus?: ImageFocus1;
|
|
487
|
+
/**
|
|
488
|
+
* Image payloads only. Width-to-height ratio of the frame: the frame becomes the largest centered box with this ratio inside the block's region, for example 2.39 for a cinematic letterbox or 0.5 for a phone-shaped frame. shape 'circle' always uses 1.
|
|
489
|
+
*/
|
|
490
|
+
aspectRatio?: number;
|
|
491
|
+
/**
|
|
492
|
+
* Image payloads only. Mask applied to the frame, exported as the picture's native preset geometry (rect, roundRect, ellipse, hexagon). 'circle' makes the frame square. Default 'rectangle'.
|
|
493
|
+
*/
|
|
494
|
+
shape?: ("rectangle" | "rounded" | "circle" | "hexagon");
|
|
495
|
+
/**
|
|
496
|
+
* Image payloads only. Corner radius for shape 'rounded' as a fraction of the frame's shorter side. Default 0.16667, PowerPoint's roundRect default.
|
|
497
|
+
*/
|
|
498
|
+
cornerRadius?: number;
|
|
499
|
+
border?: ImageBorder;
|
|
500
|
+
/**
|
|
501
|
+
* Image payloads only. Picture opacity from 0 to 1, exported as a native alphaModFix. The border and overlay keep their own opacity. Default 1.
|
|
502
|
+
*/
|
|
503
|
+
opacity?: number;
|
|
504
|
+
/**
|
|
505
|
+
* Image payloads only. Grayscale or duotone treatment of the picture's pixels.
|
|
506
|
+
*/
|
|
507
|
+
recolor?: ("grayscale" | {
|
|
508
|
+
/**
|
|
509
|
+
* Color at luminance 0.
|
|
510
|
+
*/
|
|
511
|
+
dark: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "surfaceAlt" | "text" | "textSecondary") | string);
|
|
493
512
|
/**
|
|
494
|
-
*
|
|
513
|
+
* Color at luminance 1.
|
|
495
514
|
*/
|
|
496
|
-
|
|
515
|
+
light: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "surfaceAlt" | "text" | "textSecondary") | string);
|
|
497
516
|
});
|
|
517
|
+
overlay?: Overlay1;
|
|
518
|
+
placement?: ImagePlacement;
|
|
498
519
|
/**
|
|
499
|
-
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title
|
|
520
|
+
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title or mediaType matters.
|
|
500
521
|
*/
|
|
501
522
|
video?: (string | {
|
|
502
523
|
/**
|
|
@@ -519,10 +540,6 @@ type ContentPayload = {
|
|
|
519
540
|
* Optional MIME media type when it cannot be inferred from src.
|
|
520
541
|
*/
|
|
521
542
|
mediaType?: string;
|
|
522
|
-
/**
|
|
523
|
-
* Optional authoring/parsing format hint. Useful when format is more convenient than a full MIME media type.
|
|
524
|
-
*/
|
|
525
|
-
format?: string;
|
|
526
543
|
});
|
|
527
544
|
chart?: Chart1;
|
|
528
545
|
table?: Table1;
|
|
@@ -531,11 +548,11 @@ type ContentPayload = {
|
|
|
531
548
|
*/
|
|
532
549
|
code?: (string | Code);
|
|
533
550
|
/**
|
|
534
|
-
* Metric payload. A string or number is shorthand for { "value": value }; object form carries optional label, description, unit, delta, and
|
|
551
|
+
* Metric payload. A string or number is shorthand for { "value": value }; object form carries optional label, description, unit, delta, trend, and sentiment metadata. Numeric values remain numbers; renderers format them for display.
|
|
535
552
|
*/
|
|
536
553
|
metric?: (string | number | Metric);
|
|
537
554
|
/**
|
|
538
|
-
* Quote payload. A string is shorthand for { "text": value }; object form carries optional attribution and source metadata.
|
|
555
|
+
* Quote payload. A string is shorthand for { "text": value }; object form carries optional attribution, role, photo and source metadata.
|
|
539
556
|
*/
|
|
540
557
|
quote?: (string | Quote);
|
|
541
558
|
/**
|
|
@@ -583,10 +600,7 @@ type ContentPayload = {
|
|
|
583
600
|
composition?: Composition;
|
|
584
601
|
};
|
|
585
602
|
/**
|
|
586
|
-
*
|
|
587
|
-
* - A bare URL pointing at a catalog directory (e.g. 'https://acme.com/decks/narratives'); record ids resolve to '<base>/<id>.json'.
|
|
588
|
-
* - A URL pointing at an index file (e.g. 'https://acme.com/decks/narratives/index.json'); records are resolved relative to the index file's directory and the index entries describe what's available. Index files follow https://openpresentation.org/schema/opf-catalog-index/v1; the default catalog's index is https://www.pptx.gallery/<kind>/index.json.
|
|
589
|
-
* - A package reference of the form 'pkg:<package>[/<subpath>]'; resolved through a locally-installed package on the engine's package path.
|
|
603
|
+
* Identity of a catalog: an HTTPS URL ('https://www.pptx.gallery') or a package reference ('pkg:@acme/opf-catalog'). It names the catalog; engines never fetch or install it. A host registers the catalog's records under this exact string, and copying slides between documents matches groups by it.
|
|
590
604
|
*
|
|
591
605
|
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
592
606
|
* via the `definition` "CatalogSource".
|
|
@@ -595,9 +609,9 @@ type CatalogSource = string;
|
|
|
595
609
|
/**
|
|
596
610
|
* Open-source JSON format for describing PowerPoint presentations. Agents describe narratives, content, audience, reusable assets, and design — the engine handles OOXML complexity.
|
|
597
611
|
*
|
|
598
|
-
*
|
|
612
|
+
* Content references (Slide.layout, design.theme, design.colorScheme / design.colorScheme.id, design.fontScheme / design.fontScheme.id, narrative, audience, purpose and tone, and the colorScheme / fontScheme a theme record names) point at catalog records. Each is a bare 'id' or a 'name:id' whose prefix names a group in 'catalogs'. A bare id resolves in catalogs.custom, then in the records embedded under catalogs.default, then in the catalog the host registered for catalogs.default.source (or the host's default catalog when 'default' is omitted); 'name:id' resolves in catalogs.<name>, then in the catalog the host registered for its source. A reference that resolves nowhere is the warning opf/unresolved-reference, and the slide uses automatic composition or the engine default. Engines never fetch a catalog: a saved document embeds every record it uses, and hosts register any other catalog by its source string. See docs/default-catalog.md.
|
|
599
613
|
*
|
|
600
|
-
*
|
|
614
|
+
* chart.type, the language tag and the keys of Organization.socials / Speaker.socials are engine vocabularies, validated directly with no catalog lookup. When a document names no theme, colour scheme or font scheme, every engine uses the same small engine defaults (spec/reference/engine-defaults.json). Asset references use 'asset:<id>' strings that point into the top-level assets registry, and content color fields (rich-text runs, styled table cells) accept hex values, color-scheme slot/role names, or 'var:<id>' references into the top-level variables map.
|
|
601
615
|
*/
|
|
602
616
|
interface Presentation {
|
|
603
617
|
/**
|
|
@@ -605,67 +619,68 @@ interface Presentation {
|
|
|
605
619
|
*/
|
|
606
620
|
$schema?: "https://openpresentation.org/schema/opf/v1";
|
|
607
621
|
/**
|
|
608
|
-
* Display name of the presentation for GUI/TUI lists, library/search indexing, OS-level metadata, and default export filenames. This is deck identity, not slide content. Use slides[].title and slides[].subtitle for text that should appear on presented slides.
|
|
622
|
+
* Display name of the presentation for GUI/TUI lists, library/search indexing, OS-level metadata, and default export filenames. This is deck identity, not slide content. Use slides[].title and slides[].subtitle for text that should appear on presented slides. Also the built-in variable 'deck.name'.
|
|
609
623
|
*/
|
|
610
624
|
name?: string;
|
|
611
625
|
/**
|
|
612
|
-
* Free-form prose describing what this presentation is about. Used by agents and humans as a deck-level summary; complements purpose (the goal) and narrative (the structured storyline). Round-trips to OOXML 'docProps/core.xml' as '<dc:description>' (PowerPoint surfaces this as the 'Comments' field in File → Properties).
|
|
626
|
+
* Free-form prose describing what this presentation is about. Used by agents and humans as a deck-level summary; complements purpose (the goal) and narrative (the structured storyline). Round-trips to OOXML 'docProps/core.xml' as '<dc:description>' (PowerPoint surfaces this as the 'Comments' field in File → Properties). Also the built-in variable 'deck.description'.
|
|
613
627
|
*/
|
|
614
628
|
description?: string;
|
|
615
629
|
/**
|
|
616
|
-
* Optional base filename for exports (without extension).
|
|
630
|
+
* Optional base filename for exports (without extension). The opf CLI (render, export) and the editor strip a trailing .pptx, .pdf, .png, or .svg (case-insensitive) and append the target format's extension. When omitted, they slugify name; with no usable name the CLI uses the input file name and the editor uses 'presentation'. See /docs/opf for full validation rules.
|
|
617
631
|
*/
|
|
618
632
|
filename?: string;
|
|
619
633
|
/**
|
|
620
|
-
* Organization associated with the presentation, usually the presenting company. Array form supports hosts, partners, clients, and sponsors. The primary organization (
|
|
634
|
+
* Organization associated with the presentation, usually the presenting company. Array form supports hosts, partners, clients, and sponsors. The primary organization (Organization.role 'primary', else the first item) supplies the default deck logo, the 'organization' and 'socials' header/footer fields and the 'organization.<field>' built-in variables; the others are available by id as 'organization.<id>.<field>' and are not drawn automatically.
|
|
621
635
|
*/
|
|
622
636
|
organization?: (Organization | [Organization, ...(Organization)[]]);
|
|
623
637
|
/**
|
|
624
|
-
* Person presenting the deck. Array form supports panels and multi-speaker decks.
|
|
638
|
+
* Person presenting the deck. Array form supports panels and multi-speaker decks. The first speaker is the primary speaker: the built-in variables 'speaker.<field>' and the 'speaker' header/footer field read it, 'speakers' lists every name, and 'speaker.<id>.<field>' addresses one by id. A speaker is drawn nowhere else.
|
|
625
639
|
*/
|
|
626
640
|
speaker?: (Speaker | [Speaker, ...(Speaker)[]]);
|
|
627
641
|
/**
|
|
628
|
-
* Optional credit for the person who authored or contributed to the deck, distinct from speaker. Array form supports multiple contributors. Round-trips to OOXML 'docProps/core.xml' as '<dc:creator>' (semicolon-joined when multiple) and seeds '<cp:lastModifiedBy>' on first write; subsequent edits in PowerPoint overwrite '<cp:lastModifiedBy>' with the editing user.
|
|
642
|
+
* Optional credit for the person who authored or contributed to the deck, distinct from speaker. Array form supports multiple contributors. Round-trips to OOXML 'docProps/core.xml' as '<dc:creator>' (semicolon-joined when multiple) and seeds '<cp:lastModifiedBy>' on first write; subsequent edits in PowerPoint overwrite '<cp:lastModifiedBy>' with the editing user. Also the built-in variable 'deck.author' (an array joined with ', ').
|
|
629
643
|
*/
|
|
630
644
|
author?: (string | [string, ...(string)[]]);
|
|
631
645
|
/**
|
|
632
|
-
* Intended audiences for the presentation. Accepts
|
|
633
|
-
* - A single string
|
|
634
|
-
* -
|
|
646
|
+
* Intended audiences for the presentation. Accepts any of:
|
|
647
|
+
* - A single string: an audiences reference ('executive', or 'acme:board' for a record of the catalogs.acme group), or free-form text ('Series B investors'). A string that is a bare id or 'name:id' is a reference; any other string is free text and is never looked up.
|
|
648
|
+
* - A single inline Audience object, for custom audience metadata or overrides on a referenced record. Object form has the fields of https://openpresentation.org/schema/opf-audience/v1.
|
|
649
|
+
* - An array of strings and/or inline Audience objects, for more than one audience.
|
|
635
650
|
*
|
|
636
|
-
*
|
|
651
|
+
* A reference resolves like every content reference (see catalogs); one that resolves nowhere is the warning opf/unresolved-reference. Nothing is drawn from the audience.
|
|
637
652
|
*/
|
|
638
|
-
audience?: (string | [(string | Audience), ...((string | Audience))[]]);
|
|
653
|
+
audience?: (string | Audience | [(string | Audience), ...((string | Audience))[]]);
|
|
639
654
|
/**
|
|
640
655
|
* Primary goal of the presentation. Accepts either:
|
|
641
|
-
* - A string
|
|
642
|
-
* - An inline Purpose object for custom purpose metadata or
|
|
656
|
+
* - A string: a purposes reference ('decide', or 'acme:fundraise' for a record of the catalogs.acme group), or a free-form goal ('Raise a Series B round of $30M'). A string that is a bare id or 'name:id' is a reference; any other string is free text and is never looked up.
|
|
657
|
+
* - An inline Purpose object for custom purpose metadata or overrides on a referenced record. Object form has the fields of https://openpresentation.org/schema/opf-purpose/v1.
|
|
643
658
|
*
|
|
644
|
-
*
|
|
659
|
+
* A reference resolves like every content reference (see catalogs); one that resolves nowhere is the warning opf/unresolved-reference. Nothing is drawn from the purpose.
|
|
645
660
|
*/
|
|
646
661
|
purpose?: (string | Purpose);
|
|
647
662
|
/**
|
|
648
|
-
* Language
|
|
649
|
-
* - A
|
|
650
|
-
* - An inline Language object
|
|
663
|
+
* Language of the presentation content, an engine vocabulary: a BCP-47 language tag, validated directly with no catalog lookup. Accepts either:
|
|
664
|
+
* - A BCP-47 tag ('en-US', 'en-GB', 'ja', 'zh-Hans', 'ar-SA').
|
|
665
|
+
* - An inline Language object: a 'bcp47' tag plus overrides of what engines know about it (name, ooxmlLang, script, direction, the script font schemes).
|
|
651
666
|
*
|
|
652
|
-
*
|
|
667
|
+
* Engines know the script, base direction, OOXML language tag and default script fonts of the tags in spec/reference/engine-vocabularies.json; any other well-formed tag is accepted and its script is inferred from the tag. Language names and descriptions are catalog display metadata, not part of the document.
|
|
653
668
|
*/
|
|
654
|
-
language?: (
|
|
669
|
+
language?: (LanguageTag | Language);
|
|
655
670
|
/**
|
|
656
671
|
* Desired tone for the presentation. Accepts either:
|
|
657
|
-
* - A
|
|
658
|
-
* - An inline Tone object for custom tone metadata or
|
|
672
|
+
* - A tones reference: a bare id ('formal') or 'name:id' for a record of a named catalogs group.
|
|
673
|
+
* - An inline Tone object for custom tone metadata or overrides on a referenced record. Object form has the fields of https://openpresentation.org/schema/opf-tone/v1.
|
|
659
674
|
*
|
|
660
|
-
*
|
|
675
|
+
* A reference resolves like every content reference (see catalogs); one that resolves nowhere is the warning opf/unresolved-reference. Nothing is drawn from the tone.
|
|
661
676
|
*/
|
|
662
|
-
tone?: (
|
|
677
|
+
tone?: (CatalogReference | Tone);
|
|
663
678
|
/**
|
|
664
679
|
* Audience-facing takeaway the presentation should leave behind. Array form supports multiple takeaways. Deck-level intent used by AI to seed and pressure-test slide content.
|
|
665
680
|
*/
|
|
666
681
|
takeaway?: (string | [string, ...(string)[]]);
|
|
667
682
|
/**
|
|
668
|
-
* Target presentation duration, as an integer number of minutes.
|
|
683
|
+
* Target presentation duration, as an integer number of minutes. The opf-render presenter view counts the elapsed time against it, and core validate warns when it lies outside the resolved narrative's 'duration' range. Agents can also use it to set pace and depth. Nothing else reads it: the preview and the PPTX export draw no duration.
|
|
669
684
|
*/
|
|
670
685
|
duration?: number;
|
|
671
686
|
/**
|
|
@@ -679,17 +694,9 @@ interface Presentation {
|
|
|
679
694
|
*/
|
|
680
695
|
template?: boolean;
|
|
681
696
|
/**
|
|
682
|
-
*
|
|
683
|
-
*
|
|
684
|
-
* Accepts two forms:
|
|
685
|
-
* - String shorthand for the common case: 'narrative = "classic-story"'. Accepts a bare id (lowercase kebab-case), an HTTPS URL pointing at a record file, or a 'pkg:' reference to a locally-installed package.
|
|
686
|
-
* - Object form for inline overrides or fully custom narratives: 'narrative = { id: "classic-story", beats: [...] }'. The object shape mirrors https://openpresentation.org/schema/opf-narrative/v1 (sans '$schema'), so a library record and an inline narrative are interchangeable.
|
|
687
|
-
*
|
|
688
|
-
* Resolution order: inline catalogs.narratives.records[] → catalogs.narratives.source → default catalog at https://www.pptx.gallery/narratives. Unknown ids produce a validation warning, not an error.
|
|
689
|
-
*
|
|
690
|
-
* Deck-level concerns that aren't part of the storyline (audience, tone, takeaway, duration) live as siblings on the presentation root rather than inside the narrative object.
|
|
697
|
+
* A content reference: a bare id ('two-column') or 'name:id' ('acme:hero'), where the prefix names a group of 'catalogs'. URLs and 'pkg:' strings are not references; a named catalog group replaces them. See Catalogs for the resolution order.
|
|
691
698
|
*/
|
|
692
|
-
narrative?:
|
|
699
|
+
narrative?: string;
|
|
693
700
|
/**
|
|
694
701
|
* Ordered array of slides that make up the presentation.
|
|
695
702
|
*
|
|
@@ -697,7 +704,7 @@ interface Presentation {
|
|
|
697
704
|
*/
|
|
698
705
|
slides: [Slide, ...(Slide)[]];
|
|
699
706
|
/**
|
|
700
|
-
* Sources that text runs cite with 'cite'. Ids are unique. A cited reference is listed in the footnote area of every slide that cites it, with a marker number assigned per deck in order of first use; a reference no run cites is
|
|
707
|
+
* Sources that text runs cite with 'cite'. Ids are unique. A cited reference is listed in the footnote area of every slide that cites it, with a marker number assigned per deck in order of first use; a reference no run cites is the warning opf/unused-reference. referencesSlide() turns the cited references into an ordinary list slide.
|
|
701
708
|
*/
|
|
702
709
|
references?: Reference[];
|
|
703
710
|
datasets?: Datasets;
|
|
@@ -711,26 +718,26 @@ interface Presentation {
|
|
|
711
718
|
};
|
|
712
719
|
}
|
|
713
720
|
/**
|
|
714
|
-
* An organization associated with the presentation
|
|
721
|
+
* An organization associated with the presentation, typically the presenting company, but also hosts, partners, clients, or sponsors. The primary organization (role 'primary', else the first one) supplies the default deck logo (unless design.logo overrides it), the 'organization' header/footer field (its name) and the 'socials' field (its socials). Every field is also a built-in variable ('{{organization.name}}', 'var:organization.logo', 'organization.<id>.<field>'). Nothing else about an organization is drawn automatically. See docs/templates-and-variables.md.
|
|
715
722
|
*
|
|
716
723
|
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
717
724
|
* via the `definition` "Organization".
|
|
718
725
|
*/
|
|
719
726
|
interface Organization {
|
|
720
727
|
/**
|
|
721
|
-
* Stable identifier for the organization, used to reference it from Speaker.organizationId. Must be unique
|
|
728
|
+
* Stable identifier for the organization, used to reference it from Speaker.organizationId and to address it in built-in variables as 'organization.<id>.<field>'. Must be unique among organizations (a duplicate is a validation error).
|
|
722
729
|
*/
|
|
723
730
|
id: string;
|
|
724
731
|
/**
|
|
725
|
-
* Display name
|
|
732
|
+
* Display name. Drawn by the 'organization' header/footer field for the primary organization; the built-in variable 'organization.name' (or 'organization.<id>.name') carries it into any string.
|
|
726
733
|
*/
|
|
727
734
|
name: string;
|
|
728
735
|
/**
|
|
729
|
-
* Optional legal entity name when it differs from the display name.
|
|
736
|
+
* Optional legal entity name when it differs from the display name. Never drawn automatically; available as the built-in variable 'organization.legalName'.
|
|
730
737
|
*/
|
|
731
738
|
legalName?: string;
|
|
732
739
|
/**
|
|
733
|
-
* Source for the organization's logo image. Accepts an HTTPS URL, data URI, relative path (resolved against the OPF file location), local path, or 'asset:<id>' reference. Common formats are SVG (preferred for vector logos), PNG (with transparency), or JPG. The primary organization's logo (role 'primary', else the first organization) is the fallback source wherever the deck logo is drawn: a slide's design.logo, then design.logo, then this value. It is therefore drawn on cover and section slides and by header/footer zones with logo: true, exactly as design.logo would be (see design.logo and docs/design-resolution.md).
|
|
740
|
+
* Source for the organization's logo image. Accepts an HTTPS URL, data URI, relative path (resolved against the OPF file location), local path, or 'asset:<id>' reference. Common formats are SVG (preferred for vector logos), PNG (with transparency), or JPG. The primary organization's logo (role 'primary', else the first organization) is the fallback source wherever the deck logo is drawn: a slide's design.logo, then design.logo, then this value. It is therefore drawn on cover and section slides and by header/footer zones with logo: true, exactly as design.logo would be (see design.logo and docs/design-resolution.md). It is also the built-in image variable 'organization.logo' (or 'organization.<id>.logo'), placed with 'var:organization.logo' in an image field.
|
|
734
741
|
*/
|
|
735
742
|
logo?: (string | {
|
|
736
743
|
/**
|
|
@@ -753,29 +760,25 @@ interface Organization {
|
|
|
753
760
|
* Optional MIME media type when it cannot be inferred from src.
|
|
754
761
|
*/
|
|
755
762
|
mediaType?: string;
|
|
756
|
-
/**
|
|
757
|
-
* Optional authoring/parsing format hint. Useful when format is more convenient than a full MIME media type.
|
|
758
|
-
*/
|
|
759
|
-
format?: string;
|
|
760
763
|
});
|
|
761
764
|
/**
|
|
762
|
-
* Bare internet domain for the organization.
|
|
765
|
+
* Bare internet domain for the organization. Never drawn automatically and not used to look up assets; available as the built-in variable 'organization.domain'.
|
|
763
766
|
*/
|
|
764
767
|
domain?: string;
|
|
765
768
|
/**
|
|
766
|
-
* General contact email for the organization.
|
|
769
|
+
* General contact email for the organization. Never drawn automatically; available as the built-in variable 'organization.email'.
|
|
767
770
|
*/
|
|
768
771
|
email?: string;
|
|
769
772
|
/**
|
|
770
|
-
* Main contact phone number for the organization. E.164 format is recommended.
|
|
773
|
+
* Main contact phone number for the organization. E.164 format is recommended. Never drawn automatically; available as the built-in variable 'organization.phone'.
|
|
771
774
|
*/
|
|
772
775
|
phone?: string;
|
|
773
776
|
/**
|
|
774
|
-
* Short tagline
|
|
777
|
+
* Short tagline. Never drawn automatically (cover slides do not show it); available as the built-in variable 'organization.tagline', for example in a footer 'text' of '{{organization.tagline}}'.
|
|
775
778
|
*/
|
|
776
779
|
tagline?: string;
|
|
777
780
|
/**
|
|
778
|
-
* Role of the organization relative to the presentation.
|
|
781
|
+
* Role of the organization relative to the presentation. Only 'primary' has behavior: it selects the primary organization (deck logo, 'organization' and 'socials' header/footer fields, and the 'organization.<field>' built-ins). When no organization has role 'primary', the first one is primary. 'partner', 'client', 'sponsor' and 'host' are descriptive labels that change nothing.
|
|
779
782
|
*/
|
|
780
783
|
role?: ("primary" | "partner" | "client" | "sponsor" | "host");
|
|
781
784
|
socials?: Socials;
|
|
@@ -791,26 +794,26 @@ interface Socials {
|
|
|
791
794
|
[k: string]: string;
|
|
792
795
|
}
|
|
793
796
|
/**
|
|
794
|
-
* A person presenting the deck.
|
|
797
|
+
* A person presenting the deck. A speaker is drawn only through built-in variables ('{{speaker.name}}' inside any string, 'var:speaker.photo' as a whole image field) and the 'speaker' header/footer field (the first speaker's name and title). No layout, cover or bio slide places a speaker on its own. See docs/templates-and-variables.md.
|
|
795
798
|
*
|
|
796
799
|
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
797
800
|
* via the `definition` "Speaker".
|
|
798
801
|
*/
|
|
799
802
|
interface Speaker {
|
|
800
803
|
/**
|
|
801
|
-
* Stable identifier for the speaker
|
|
804
|
+
* Stable identifier for the speaker. Must be unique among speakers (a duplicate is a validation error). Addresses this speaker in built-in variables as 'speaker.<id>.<field>', such as '{{speaker.alice.title}}'.
|
|
802
805
|
*/
|
|
803
806
|
id: string;
|
|
804
807
|
/**
|
|
805
|
-
* Display name.
|
|
808
|
+
* Display name. Built-in variable 'speaker.name' (first speaker) or 'speaker.<id>.name'; the first speaker's name is also drawn by the 'speaker' header/footer field and every name is listed by 'speakers'.
|
|
806
809
|
*/
|
|
807
810
|
name: string;
|
|
808
811
|
/**
|
|
809
|
-
* Role or title.
|
|
812
|
+
* Role or title. Built-in variable 'speaker.title'; the 'speaker' header/footer field draws it after the name ('Alice Chen, VP of Engineering').
|
|
810
813
|
*/
|
|
811
814
|
title?: string;
|
|
812
815
|
/**
|
|
813
|
-
* Source for the speaker's headshot image. Accepts an HTTPS URL, data URI, relative path (resolved against the OPF file location), local path, or 'asset:<id>' reference. Common formats are JPG or PNG; SVG is not appropriate for photographic content.
|
|
816
|
+
* Source for the speaker's headshot image. Accepts an HTTPS URL, data URI, relative path (resolved against the OPF file location), local path, or 'asset:<id>' reference. Common formats are JPG or PNG; SVG is not appropriate for photographic content. Never drawn automatically: it is the built-in image variable 'speaker.photo' (or 'speaker.<id>.photo'), placed with 'var:speaker.photo' in a slide's image field. It also round-trips through PPTX provenance.
|
|
814
817
|
*/
|
|
815
818
|
photo?: (string | {
|
|
816
819
|
/**
|
|
@@ -833,32 +836,28 @@ interface Speaker {
|
|
|
833
836
|
* Optional MIME media type when it cannot be inferred from src.
|
|
834
837
|
*/
|
|
835
838
|
mediaType?: string;
|
|
836
|
-
/**
|
|
837
|
-
* Optional authoring/parsing format hint. Useful when format is more convenient than a full MIME media type.
|
|
838
|
-
*/
|
|
839
|
-
format?: string;
|
|
840
839
|
});
|
|
841
840
|
/**
|
|
842
|
-
* Contact email
|
|
841
|
+
* Contact email. Never drawn automatically; available as the built-in variable 'speaker.email'.
|
|
843
842
|
*/
|
|
844
843
|
email?: string;
|
|
845
844
|
/**
|
|
846
|
-
* Contact phone number for the speaker. E.164 format is recommended.
|
|
845
|
+
* Contact phone number for the speaker. E.164 format is recommended. Never drawn automatically; available as the built-in variable 'speaker.phone'.
|
|
847
846
|
*/
|
|
848
847
|
phone?: string;
|
|
849
848
|
/**
|
|
850
|
-
* Short biographical paragraph for bio or 'about the speaker'
|
|
849
|
+
* Short biographical paragraph. Never drawn automatically; available as the built-in variable 'speaker.bio', for a bio or 'about the speaker' slide you write.
|
|
851
850
|
*/
|
|
852
851
|
bio?: string;
|
|
853
852
|
/**
|
|
854
|
-
* Reference to an Organization.id in organization
|
|
853
|
+
* Reference to an Organization.id in organization; it must name an existing organization (a validation error otherwise). Attribution metadata for hosts: no engine draws it or changes which organization is primary because of it.
|
|
855
854
|
*/
|
|
856
855
|
organizationId?: string;
|
|
857
856
|
socials?: Socials1;
|
|
858
857
|
[k: string]: unknown;
|
|
859
858
|
}
|
|
860
859
|
/**
|
|
861
|
-
* Optional social media handles or URLs for the speaker. Authoring metadata: no header/footer field
|
|
860
|
+
* Optional social media handles or URLs for the speaker. Authoring metadata only: nothing draws speaker socials and there is no built-in variable for them (the 'socials' header/footer field draws the primary organization's socials).
|
|
862
861
|
*/
|
|
863
862
|
interface Socials1 {
|
|
864
863
|
/**
|
|
@@ -866,34 +865,81 @@ interface Socials1 {
|
|
|
866
865
|
*/
|
|
867
866
|
[k: string]: string;
|
|
868
867
|
}
|
|
868
|
+
/**
|
|
869
|
+
* Inline language metadata for the presentation: a BCP-47 'bcp47' tag plus overrides of what engines know about it. Languages are an engine vocabulary, not catalog records, so there is no 'id'.
|
|
870
|
+
*
|
|
871
|
+
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
872
|
+
* via the `definition` "Language".
|
|
873
|
+
*/
|
|
874
|
+
interface Language {
|
|
875
|
+
/**
|
|
876
|
+
* Human-readable language name.
|
|
877
|
+
*/
|
|
878
|
+
name?: string;
|
|
879
|
+
/**
|
|
880
|
+
* A BCP-47 language tag ('en-US', 'ja', 'zh-Hans', 'sr-Latn-ME'), an engine vocabulary. Use 'en-GB' for UK English; 'en-UK' is not a valid region.
|
|
881
|
+
*/
|
|
882
|
+
bcp47: string;
|
|
883
|
+
/**
|
|
884
|
+
* Culture tag for OOXML text-run language attributes (a:rPr/@lang, a:endParaRPr/@lang), in the language-[Script-]REGION form Office recognizes (e.g. 'ja-JP', 'ar-SA', 'ms-MY', 'nb-NO', 'fil-PH', 'zh-CN'). Without it, engines emit the curated tag of their language vocabulary (spec/reference/engine-vocabularies.json) for a tag without a region, and a region-bearing tag as written. Curated rather than inferred so output does not depend on the runtime's locale data.
|
|
885
|
+
*/
|
|
886
|
+
ooxmlLang?: string;
|
|
887
|
+
/**
|
|
888
|
+
* ISO 639-3 or 639-2 language code carried for engines that prefer ISO codes.
|
|
889
|
+
*/
|
|
890
|
+
code?: string;
|
|
891
|
+
/**
|
|
892
|
+
* Base text direction for the language. When omitted, engines derive it from the script: Arabic (Arab), Hebrew (Hebr), Syriac (Syrc), Thaana (Thaa), N'Ko (Nkoo), Adlam (Adlm), Samaritan (Samr), Mandaic (Mand) and Hanifi Rohingya (Rohg) are right-to-left; every other script is left-to-right. The engine language vocabulary (spec/reference/engine-vocabularies.json) states it for the tags it knows.
|
|
893
|
+
*/
|
|
894
|
+
direction?: ("ltr" | "rtl");
|
|
895
|
+
/**
|
|
896
|
+
* ISO 15924 script code of the language's writing system. The script selects the OOXML font slot the language's text uses: East Asian scripts (Hans, Hant, Hani, Jpan, Kore, Hang, Hira, Kana, Bopo, Yiii) use the eastAsian slot; complex scripts (for example Arab, Hebr, Syrc, Thaa, Deva, Beng, Guru, Gujr, Orya, Taml, Telu, Knda, Mlym, Sinh, Thai, Laoo, Tibt, Mymr, Khmr, Mong) use the complexScript slot; every other script (Latn, Cyrl, Grek, Armn, Geor, Ethi, ...) uses the latin slot. When omitted, engines infer it from the BCP-47 tag. The engine language vocabulary (spec/reference/engine-vocabularies.json) states it for the tags it knows. See docs/programs/font-fidelity-everywhere/script-font-model.md.
|
|
897
|
+
*/
|
|
898
|
+
script?: string;
|
|
899
|
+
/**
|
|
900
|
+
* Font-scheme reference (a bare id or 'name:id') for this language's script slot when targeting PowerPoint output. Its major/minor families fill the language's script slot (eastAsian or complexScript, chosen by 'script') unless the effective design font scheme sets that slot itself; the latin slot always follows the design font scheme. Without it, engines use the default script fonts of their language vocabulary.
|
|
901
|
+
*/
|
|
902
|
+
fontScheme?: string;
|
|
903
|
+
/**
|
|
904
|
+
* Font-scheme reference (a bare id or 'name:id') used in place of 'fontScheme' when resolving script fonts for Google Slides output.
|
|
905
|
+
*/
|
|
906
|
+
googleFontScheme?: string;
|
|
907
|
+
/**
|
|
908
|
+
* One-sentence note about coverage or font defaults.
|
|
909
|
+
*/
|
|
910
|
+
summary?: string;
|
|
911
|
+
/**
|
|
912
|
+
* Longer prose describing the language record and any font-pairing rationale.
|
|
913
|
+
*/
|
|
914
|
+
description?: string;
|
|
915
|
+
/**
|
|
916
|
+
* Free-form labels for filtering and search.
|
|
917
|
+
*/
|
|
918
|
+
tags?: string[];
|
|
919
|
+
[k: string]: unknown;
|
|
920
|
+
}
|
|
869
921
|
/**
|
|
870
922
|
* Optional design system covering theme, color scheme, font scheme, dimensions, background, logo, watermark, header, and footer applied to the deck. When omitted, engines use their default design configuration.
|
|
871
923
|
*/
|
|
872
924
|
interface Design {
|
|
873
925
|
/**
|
|
874
|
-
*
|
|
875
|
-
* - String shorthand: 'design.theme = "minimal"'. Bare id, HTTPS URL, or 'pkg:' reference resolved as the 'id' of a 'themes' catalog record.
|
|
876
|
-
* - Object form: a Theme with an optional 'id' base reference plus theme-level overrides.
|
|
877
|
-
*
|
|
878
|
-
* Inline overrides on design.colorScheme / design.fontScheme / design.background / design.dimensions take precedence over the resolved theme.
|
|
879
|
-
*
|
|
880
|
-
* Resolution order: inline catalogs.themes.records[] -> catalogs.themes.source -> default catalog at https://www.pptx.gallery/themes.
|
|
926
|
+
* A content reference: a bare id ('two-column') or 'name:id' ('acme:hero'), where the prefix names a group of 'catalogs'. URLs and 'pkg:' strings are not references; a named catalog group replaces them. See Catalogs for the resolution order.
|
|
881
927
|
*/
|
|
882
|
-
theme?:
|
|
928
|
+
theme?: string;
|
|
883
929
|
/**
|
|
884
930
|
* Color scheme for the presentation. Accepts two forms:
|
|
885
|
-
* -
|
|
886
|
-
* - Object form: a ColorScheme with an optional 'id' base
|
|
931
|
+
* - A colorSchemes reference: a bare id ('cool-horizon') or 'name:id' ('acme:ocean').
|
|
932
|
+
* - Object form: a ColorScheme with an optional 'id' reference as the base plus slot/role overrides. Without 'id', the overrides apply on top of the engine default colour scheme.
|
|
887
933
|
*
|
|
888
|
-
*
|
|
934
|
+
* Without either, the theme's colorScheme applies, then the engine default colour scheme.
|
|
889
935
|
*/
|
|
890
936
|
colorScheme?: (string | ColorScheme);
|
|
891
937
|
/**
|
|
892
938
|
* Font scheme for heading, body, accent, and code text. Accepts two forms:
|
|
893
|
-
* -
|
|
894
|
-
* - Object form: a FontScheme with an optional 'id' base
|
|
939
|
+
* - A fontSchemes reference: a bare id ('aptos') or 'name:id' ('acme:inter').
|
|
940
|
+
* - Object form: a FontScheme with an optional 'id' reference as the base plus pair/role overrides.
|
|
895
941
|
*
|
|
896
|
-
*
|
|
942
|
+
* Without either, the theme's fontScheme applies, then the engine default font scheme.
|
|
897
943
|
*/
|
|
898
944
|
fontScheme?: (string | FontScheme);
|
|
899
945
|
/**
|
|
@@ -901,7 +947,7 @@ interface Design {
|
|
|
901
947
|
*/
|
|
902
948
|
dimensions?: (DimensionPreset | Dimensions);
|
|
903
949
|
/**
|
|
904
|
-
* Default slide background applied across the deck unless overridden on a slide. String shorthand accepts theme slots ('light1', 'light2', 'dark1', 'dark2') or
|
|
950
|
+
* Default slide background applied across the deck unless overridden on a slide (slides.N.design.background); the resolved theme's background is the fallback. A background is the only canvas fill and never moves content. String shorthand accepts theme slots ('light1', 'light2', 'dark1', 'dark2'), hex colors, or an image source starting with 'asset:', 'https://', 'data:', './' or '../' (a cover image); object forms support theme, solid, gradient, image, or pattern fills.
|
|
905
951
|
*/
|
|
906
952
|
background?: (BackgroundShortcut | Background);
|
|
907
953
|
/**
|
|
@@ -909,7 +955,7 @@ interface Design {
|
|
|
909
955
|
*/
|
|
910
956
|
logo?: (Asset | LogoSet);
|
|
911
957
|
/**
|
|
912
|
-
* Optional decorative watermark applied across slides. Use false to suppress an inherited watermark in slide-level design; a string is
|
|
958
|
+
* Optional decorative watermark applied across slides: an image or a text stamp, in the fixed frame and at the opacity described on Watermark. Use false to suppress an inherited watermark in slide-level design; a string or Asset is the image at opacity 0.08.
|
|
913
959
|
*/
|
|
914
960
|
watermark?: (false | Asset | Watermark);
|
|
915
961
|
/**
|
|
@@ -921,191 +967,50 @@ interface Design {
|
|
|
921
967
|
*/
|
|
922
968
|
footer?: (false | HeaderFooter);
|
|
923
969
|
/**
|
|
924
|
-
* Default horizontal alignment for title placeholders in resolved layouts.
|
|
970
|
+
* Default horizontal alignment for title placeholders in resolved layouts. Effective value: the slide's design, then the deck's design, then the layout record's design.titleAlignment, then the engine default.
|
|
925
971
|
*/
|
|
926
972
|
titleAlignment?: ("left" | "center" | "right");
|
|
927
973
|
/**
|
|
928
|
-
* Default horizontal alignment for body/content regions in resolved layouts.
|
|
974
|
+
* Default horizontal alignment for body/content regions in resolved layouts. Effective value: the slide's design, then the deck's design, then the layout record's design.contentAlignment, then the engine default. A cover's tag and subtitle follow titleAlignment unless the slide's own design sets contentAlignment.
|
|
929
975
|
*/
|
|
930
976
|
contentAlignment?: ("left" | "center" | "right");
|
|
931
977
|
/**
|
|
932
|
-
* Whether body/content regions are rendered inside a visible card or surface.
|
|
978
|
+
* Whether body/content regions are rendered inside a visible card or surface. Effective value: the slide's design, then the deck's design, then the layout record's design.contentBox, then the engine default.
|
|
933
979
|
*/
|
|
934
980
|
contentBox?: boolean;
|
|
935
981
|
/**
|
|
936
|
-
*
|
|
937
|
-
*/
|
|
938
|
-
slideImage?: (Asset | {
|
|
939
|
-
/**
|
|
940
|
-
* Source for the slide-level image. When omitted in a design override, the object only configures how a slide-level image should be placed when one is supplied by a content payload, asset, or renderer convention.
|
|
941
|
-
*/
|
|
942
|
-
src?: string;
|
|
943
|
-
/**
|
|
944
|
-
* Where the slide-level image sits relative to the content. 'background' is a full-bleed image behind the content. The other positions give the image a band along that edge (see size) and compose headings and content in the rest of the slide.
|
|
945
|
-
*/
|
|
946
|
-
position: ("background" | "top" | "bottom" | "left" | "right");
|
|
947
|
-
/**
|
|
948
|
-
* Alternative text for the slide-level image. Overrides the alt text of a referenced asset.
|
|
949
|
-
*/
|
|
950
|
-
alt?: string;
|
|
951
|
-
/**
|
|
952
|
-
* How the image fills its frame: 'crop' covers the frame from the center; 'fit' shows the whole image centered inside it. Overrides design.imageFill for this image. Default: design.imageFill, else 'crop'.
|
|
953
|
-
*/
|
|
954
|
-
fill?: ("crop" | "fit");
|
|
955
|
-
/**
|
|
956
|
-
* Share of the slide width (left/right) or height (top/bottom) given to the image band. Ignored for 'background'. Default 0.5.
|
|
957
|
-
*/
|
|
958
|
-
size?: number;
|
|
959
|
-
/**
|
|
960
|
-
* Place the frame inside the slide padding instead of edge to edge, like a card. Default false.
|
|
961
|
-
*/
|
|
962
|
-
inset?: boolean;
|
|
963
|
-
/**
|
|
964
|
-
* Width-to-height ratio of the frame. The frame becomes the largest centered box with this ratio inside the band or slide, for example 2.39 for a cinematic letterbox or 0.5 for a phone-shaped frame. 'circle' always uses 1.
|
|
965
|
-
*/
|
|
966
|
-
aspectRatio?: number;
|
|
967
|
-
/**
|
|
968
|
-
* Mask applied to the frame, exported as the picture's native preset geometry (rect, roundRect, ellipse, hexagon). 'circle' makes the frame square. Default 'rectangle'.
|
|
969
|
-
*/
|
|
970
|
-
shape?: ("rectangle" | "rounded" | "circle" | "hexagon");
|
|
971
|
-
/**
|
|
972
|
-
* Corner radius for shape 'rounded' as a fraction of the frame's shorter side. Default 0.16667, PowerPoint's roundRect default.
|
|
973
|
-
*/
|
|
974
|
-
cornerRadius?: number;
|
|
975
|
-
/**
|
|
976
|
-
* Solid line along the frame's shape. A thick dark border on a rounded portrait frame gives a device bezel.
|
|
977
|
-
*/
|
|
978
|
-
border?: {
|
|
979
|
-
/**
|
|
980
|
-
* Line color: a hex color, a color-scheme slot or role name, or a 'var:<id>' variable reference.
|
|
981
|
-
*/
|
|
982
|
-
color: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "text" | "textSecondary") | string);
|
|
983
|
-
/**
|
|
984
|
-
* Line width in reference pixels at a 720-pixel short edge, centered on the frame outline like a native picture line. 0 removes the line.
|
|
985
|
-
*/
|
|
986
|
-
width: number;
|
|
987
|
-
};
|
|
988
|
-
/**
|
|
989
|
-
* Image opacity from 0 to 1, exported as a native alphaModFix. The border and overlay keep their own opacity. Default 1.
|
|
990
|
-
*/
|
|
991
|
-
opacity?: number;
|
|
992
|
-
/**
|
|
993
|
-
* Color treatment for the image pixels. Luminance uses Rec. 601 weights (0.299, 0.587, 0.114) on sRGB values.
|
|
994
|
-
*/
|
|
995
|
-
recolor?: ("grayscale" | {
|
|
996
|
-
/**
|
|
997
|
-
* Color at luminance 0.
|
|
998
|
-
*/
|
|
999
|
-
dark: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "text" | "textSecondary") | string);
|
|
1000
|
-
/**
|
|
1001
|
-
* Color at luminance 1.
|
|
1002
|
-
*/
|
|
1003
|
-
light: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "text" | "textSecondary") | string);
|
|
1004
|
-
});
|
|
1005
|
-
/**
|
|
1006
|
-
* Solid scrim drawn over the image in the frame's shape, beneath headings and content, for example to keep overlaid text readable. Exported as a native shape above the picture.
|
|
1007
|
-
*/
|
|
1008
|
-
overlay?: {
|
|
1009
|
-
/**
|
|
1010
|
-
* Overlay fill color.
|
|
1011
|
-
*/
|
|
1012
|
-
color: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "text" | "textSecondary") | string);
|
|
1013
|
-
/**
|
|
1014
|
-
* Overlay fill opacity.
|
|
1015
|
-
*/
|
|
1016
|
-
opacity: number;
|
|
1017
|
-
/**
|
|
1018
|
-
* Cover only a band along this edge of the frame, for example a caption strip. Rectangle frames only; other shapes report unsupported-image-treatment and draw no overlay. Omit to cover the whole frame.
|
|
1019
|
-
*/
|
|
1020
|
-
edge?: ("top" | "bottom" | "left" | "right");
|
|
1021
|
-
/**
|
|
1022
|
-
* Band share of the frame for an edge overlay. Default 0.3.
|
|
1023
|
-
*/
|
|
1024
|
-
size?: number;
|
|
1025
|
-
};
|
|
1026
|
-
});
|
|
1027
|
-
/**
|
|
1028
|
-
* Axis along which parallel body content is arranged. Sets the root arrangement mode of blocks and root payloads when no composition.mode is set on the slide or on its layout record: 'vertical' is column, 'horizontal' is row. Precedence: composition.mode (the slide's own, else the layout record's geometry contract), then this value (slide design, then deck design), then the layout record's slideLayoutDirection, then automatic selection. A layout that carries a composition.mode keeps its grid or direction whatever this value says. Promoted regions (left, top:left, ...) keep their explicit geometry and nested groups keep their own composition.
|
|
982
|
+
* Axis along which parallel body content is arranged. Sets the root arrangement mode of blocks and root payloads when no composition.mode is set on the slide or on its layout record: 'vertical' is column, 'horizontal' is row. Precedence: composition.mode (the slide's own, else the layout record's geometry contract), then the effective value (slide design, then deck design, then the layout record's design.contentDirection), then automatic selection. A layout that carries a composition.mode keeps its grid or direction whatever this value says. Promoted regions (left, top:left, ...) keep their explicit geometry and nested groups keep their own composition.
|
|
1029
983
|
*/
|
|
1030
984
|
contentDirection?: ("horizontal" | "vertical");
|
|
1031
985
|
/**
|
|
1032
|
-
* Where the primary chart sits relative to supporting content. Effective value: slide design, then deck design, then the layout record's
|
|
986
|
+
* Where the primary chart sits relative to supporting content. Effective value: slide design, then deck design, then the layout record's design.chartPrimary. When the slide has no promoted regions and no composition.mode of its own, and its root nodes mix at least one chart with other content, the first chart becomes a primary track and the other nodes form one synthetic sub-grid: 'left'/'right' is a two-track row and 'top'/'bottom' a two-track column, weighted 3:2 in favor of the chart; explicit root columns and weights are ignored while it applies. 'none' (the default) keeps the ordinary automatic grid with equal weight.
|
|
1033
987
|
*/
|
|
1034
988
|
chartPrimary?: ("none" | "top" | "bottom" | "left" | "right");
|
|
1035
989
|
/**
|
|
1036
|
-
*
|
|
990
|
+
* Default fit of image blocks (and Slide.image) that set no fit of their own: 'cover' fills the frame and crops what overflows around the block's focus, 'contain' shows the whole picture centered in the frame, 'stretch' scales it to the frame exactly. Effective value: the slide's design, then the deck's design, then the layout record's design.imageFit, then 'cover'. Backgrounds set their own fit.
|
|
1037
991
|
*/
|
|
1038
|
-
|
|
992
|
+
imageFit?: ("cover" | "contain" | "stretch");
|
|
1039
993
|
/**
|
|
1040
|
-
* Marker style for items and bullets lists. 'character' (the default) draws the glyph marker. 'image' draws the deck's icon logo (a slide's design.logo, then design.logo, then the primary organization's logo; light variants on dark backgrounds) as a picture bullet: a square of the marker's font size whose bottom sits on the marker baseline, so list geometry does not change. Without a logo the glyph is drawn and the engine reports unresolved-content at this field.
|
|
994
|
+
* Marker style for items and bullets lists. Effective value: the slide's design, then the deck's design, then the layout record's design.listBullet, then 'character'. 'character' (the default) draws the glyph marker. 'image' draws the deck's icon logo (a slide's design.logo, then design.logo, then the primary organization's logo; light variants on dark backgrounds) as a picture bullet: a square of the marker's font size whose bottom sits on the marker baseline, so list geometry does not change. Without a logo the glyph is drawn and the engine reports unresolved-content at this field.
|
|
1041
995
|
*/
|
|
1042
996
|
listBullet?: ("character" | "image");
|
|
1043
997
|
[k: string]: unknown;
|
|
1044
998
|
}
|
|
1045
999
|
/**
|
|
1046
|
-
*
|
|
1047
|
-
*
|
|
1048
|
-
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
1049
|
-
* via the `definition` "Theme".
|
|
1050
|
-
*/
|
|
1051
|
-
interface Theme {
|
|
1052
|
-
/**
|
|
1053
|
-
* Theme reference. Resolves to the 'id' of a 'themes' catalog record. Accepts a bare id (lowercase kebab-case, e.g. 'minimal'), an HTTPS URL pointing at a record file, or a 'pkg:' reference. Field overrides on the surrounding Theme object take precedence over the resolved theme.
|
|
1054
|
-
*
|
|
1055
|
-
* Resolution order: inline catalogs.themes.records[] -> catalogs.themes.source -> default catalog at https://www.pptx.gallery/themes.
|
|
1056
|
-
*/
|
|
1057
|
-
id?: string;
|
|
1058
|
-
/**
|
|
1059
|
-
* Human-readable theme name shown in pickers.
|
|
1060
|
-
*/
|
|
1061
|
-
name?: string;
|
|
1062
|
-
/**
|
|
1063
|
-
* One-sentence positioning of the theme - when to reach for it.
|
|
1064
|
-
*/
|
|
1065
|
-
summary?: string;
|
|
1066
|
-
/**
|
|
1067
|
-
* Longer prose describing what the theme looks and feels like and the kinds of decks it suits.
|
|
1068
|
-
*/
|
|
1069
|
-
description?: string;
|
|
1070
|
-
/**
|
|
1071
|
-
* Default color scheme for this theme. A string resolves against catalogs.colorSchemes; an object may provide an 'id' base reference plus overrides.
|
|
1072
|
-
*/
|
|
1073
|
-
colorScheme?: (string | ColorScheme);
|
|
1074
|
-
/**
|
|
1075
|
-
* Default font scheme for this theme. A string resolves against catalogs.fontSchemes; an object may provide an 'id' base reference plus overrides.
|
|
1076
|
-
*/
|
|
1077
|
-
fontScheme?: (string | FontScheme);
|
|
1078
|
-
/**
|
|
1079
|
-
* Default background for this theme. String shorthand accepts theme slots ('light1', 'light2', 'dark1', 'dark2') or hex colors.
|
|
1080
|
-
*/
|
|
1081
|
-
background?: (BackgroundShortcut | Background);
|
|
1082
|
-
/**
|
|
1083
|
-
* Default slide size for this theme. A string preset is equivalent to { preset: value }.
|
|
1084
|
-
*/
|
|
1085
|
-
dimensions?: (DimensionPreset | Dimensions);
|
|
1086
|
-
/**
|
|
1087
|
-
* Free-form labels for filtering and search.
|
|
1088
|
-
*/
|
|
1089
|
-
tags?: string[];
|
|
1090
|
-
[k: string]: unknown;
|
|
1091
|
-
}
|
|
1092
|
-
/**
|
|
1093
|
-
* Color palette used by the design system. The slot fields (accent1-accent6, dark1, dark2, light1, light2, hyperlink, followedHyperlink) mirror color-scheme.schema.json (https://openpresentation.org/schema/opf-color-scheme/v1) so library records and inline OPF overrides are interchangeable on those fields.
|
|
1000
|
+
* Color palette used by the design system. Every slot and role is a hex color ('#RGB', '#RRGGBB' or '#RRGGBBAA'); a color-scheme name or a 'var:<id>' reference is not valid here, because those resolve through the scheme. The slot fields (accent1-accent6, dark1, dark2, light1, light2, hyperlink, followedHyperlink) mirror color-scheme.schema.json (https://openpresentation.org/schema/opf-color-scheme/v1) so library records and inline OPF overrides are interchangeable on those fields.
|
|
1094
1001
|
*
|
|
1095
1002
|
* Two parallel models are supported and may be mixed:
|
|
1096
1003
|
* - OOXML slots - the 12-slot PowerPoint theme model that round-trips directly to OOXML. Use these for full control over the palette as PowerPoint sees it.
|
|
1097
|
-
* - Abstract roles (primary, secondary, accent, background, surface, text, textSecondary
|
|
1004
|
+
* - Abstract roles (primary, secondary, accent, background, surface, text, textSecondary) - OPF-specific semantic aliases the engine maps onto the OOXML slots. Convenient for inline overrides without thinking in slot numbers; not part of the catalog record schema.
|
|
1098
1005
|
*
|
|
1099
|
-
* In design.colorScheme, 'id' resolves a colorSchemes
|
|
1006
|
+
* In design.colorScheme, 'id' resolves a colorSchemes record as the base; slot and role overrides on the same object take precedence over the resolved scheme. The string form of design.colorScheme is equivalent to setting only 'id'.
|
|
1100
1007
|
*
|
|
1101
1008
|
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
1102
1009
|
* via the `definition` "ColorScheme".
|
|
1103
1010
|
*/
|
|
1104
1011
|
interface ColorScheme {
|
|
1105
1012
|
/**
|
|
1106
|
-
*
|
|
1107
|
-
*
|
|
1108
|
-
* Resolution order: inline catalogs.colorSchemes.records[] -> catalogs.colorSchemes.source -> default catalog at https://www.pptx.gallery/color-schemes.
|
|
1013
|
+
* A content reference: a bare id ('two-column') or 'name:id' ('acme:hero'), where the prefix names a group of 'catalogs'. URLs and 'pkg:' strings are not references; a named catalog group replaces them. See Catalogs for the resolution order.
|
|
1109
1014
|
*/
|
|
1110
1015
|
id?: string;
|
|
1111
1016
|
/**
|
|
@@ -1149,7 +1054,7 @@ interface ColorScheme {
|
|
|
1149
1054
|
*/
|
|
1150
1055
|
light2?: string;
|
|
1151
1056
|
/**
|
|
1152
|
-
* Hyperlink color (hex). OOXML hlink.
|
|
1057
|
+
* Hyperlink color (hex). OOXML hlink. Link runs with no color of their own are drawn underlined in it, in the preview and in PowerPoint, unless it has under 4.5:1 contrast against the slide background, then in the slide text color.
|
|
1153
1058
|
*/
|
|
1154
1059
|
hyperlink?: string;
|
|
1155
1060
|
/**
|
|
@@ -1169,27 +1074,21 @@ interface ColorScheme {
|
|
|
1169
1074
|
*/
|
|
1170
1075
|
accent?: string;
|
|
1171
1076
|
/**
|
|
1172
|
-
* Abstract role: default slide background color (hex)
|
|
1077
|
+
* Abstract role: default slide background color (hex), used when the design names no single-color background (and for gradient and picture backgrounds). Overrides light1 as that default.
|
|
1173
1078
|
*/
|
|
1174
1079
|
background?: string;
|
|
1175
1080
|
/**
|
|
1176
|
-
* Abstract role: color for elevated surfaces such as cards and panels (hex).
|
|
1081
|
+
* Abstract role: color for elevated surfaces such as cards and panels (hex). Overrides the default of light2 (dark2 on a dark slide).
|
|
1177
1082
|
*/
|
|
1178
1083
|
surface?: string;
|
|
1179
1084
|
/**
|
|
1180
|
-
* Abstract role: primary body text color (hex).
|
|
1085
|
+
* Abstract role: primary body text color (hex). Overrides dark1 on a light slide only; a dark slide always uses light1.
|
|
1181
1086
|
*/
|
|
1182
1087
|
text?: string;
|
|
1183
1088
|
/**
|
|
1184
|
-
* Abstract role: secondary or muted text color used for captions and supporting copy (hex).
|
|
1089
|
+
* Abstract role: secondary or muted text color used for captions and supporting copy (hex). Overrides the default of dark2 (light2 on a dark slide).
|
|
1185
1090
|
*/
|
|
1186
1091
|
textSecondary?: string;
|
|
1187
|
-
/**
|
|
1188
|
-
* Map of custom named colors for advanced or theme-specific use.
|
|
1189
|
-
*/
|
|
1190
|
-
custom?: {
|
|
1191
|
-
[k: string]: string;
|
|
1192
|
-
};
|
|
1193
1092
|
[k: string]: unknown;
|
|
1194
1093
|
}
|
|
1195
1094
|
/**
|
|
@@ -1197,18 +1096,16 @@ interface ColorScheme {
|
|
|
1197
1096
|
*
|
|
1198
1097
|
* Two parallel models are supported and may be mixed:
|
|
1199
1098
|
* - OOXML pairs (major, minor) - heading and body family names that round-trip directly to PowerPoint majorFont/minorFont entries.
|
|
1200
|
-
* - Abstract roles (heading, body, accent, code) - OPF-specific
|
|
1099
|
+
* - Abstract roles (heading, body, accent, code) - OPF-specific font family names the engine maps onto the OOXML pair when serializing. Convenient for inline overrides and for adding accent/code roles that don't have a direct OOXML slot. Catalog records may also carry 'code' (for example the consolas and courier-new records); heading, body and accent are not part of the catalog record schema. A role is a family name only: weight, style and tracking come from the text styles, and PowerPoint has no numeric weight.
|
|
1201
1100
|
*
|
|
1202
|
-
* In design.fontScheme, 'id' resolves a fontSchemes
|
|
1101
|
+
* In design.fontScheme, 'id' resolves a fontSchemes record as the base; pair and role overrides on the same object take precedence over the resolved scheme. The string form of design.fontScheme is equivalent to setting only 'id'.
|
|
1203
1102
|
*
|
|
1204
1103
|
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
1205
1104
|
* via the `definition` "FontScheme".
|
|
1206
1105
|
*/
|
|
1207
1106
|
interface FontScheme {
|
|
1208
1107
|
/**
|
|
1209
|
-
*
|
|
1210
|
-
*
|
|
1211
|
-
* Resolution order: inline catalogs.fontSchemes.records[] -> catalogs.fontSchemes.source -> default catalog at https://www.pptx.gallery/font-schemes.
|
|
1108
|
+
* A content reference: a bare id ('two-column') or 'name:id' ('acme:hero'), where the prefix names a group of 'catalogs'. URLs and 'pkg:' strings are not references; a named catalog group replaces them. See Catalogs for the resolution order.
|
|
1212
1109
|
*/
|
|
1213
1110
|
id?: string;
|
|
1214
1111
|
/**
|
|
@@ -1250,105 +1147,47 @@ interface FontScheme {
|
|
|
1250
1147
|
*/
|
|
1251
1148
|
type?: ("sans-serif" | "serif" | "monospace");
|
|
1252
1149
|
/**
|
|
1253
|
-
* Target application this font pairing is intended for.
|
|
1254
|
-
*/
|
|
1255
|
-
app?: ("PowerPoint" | "Google Slides");
|
|
1256
|
-
/**
|
|
1257
|
-
* OOXML font-language family this scheme is intended for: 'latin' for Latin-script content, 'ea' for East Asian scripts, 'cs' for Complex Scripts. As the design font scheme, an 'ea' or 'cs' scheme also fills that script slot with its own major/minor families when its languages list is empty or names the presentation language.
|
|
1258
|
-
*/
|
|
1259
|
-
languageFamily?: ("latin" | "ea" | "cs");
|
|
1260
|
-
heading?: Font;
|
|
1261
|
-
body?: Font1;
|
|
1262
|
-
accent?: Font2;
|
|
1263
|
-
code?: Font3;
|
|
1264
|
-
[k: string]: unknown;
|
|
1265
|
-
}
|
|
1266
|
-
/**
|
|
1267
|
-
* Abstract role: font used for slide titles and headings. Maps onto the OOXML major slot when serializing.
|
|
1268
|
-
*/
|
|
1269
|
-
interface Font {
|
|
1270
|
-
/**
|
|
1271
|
-
* Font family name.
|
|
1272
|
-
*/
|
|
1273
|
-
family: string;
|
|
1274
|
-
/**
|
|
1275
|
-
* Numeric font weight (e.g., 400 for regular, 700 for bold).
|
|
1276
|
-
*/
|
|
1277
|
-
weight?: number;
|
|
1278
|
-
/**
|
|
1279
|
-
* Font style.
|
|
1280
|
-
*/
|
|
1281
|
-
style?: ("normal" | "italic");
|
|
1282
|
-
/**
|
|
1283
|
-
* Letter spacing (tracking) in ems.
|
|
1284
|
-
*/
|
|
1285
|
-
letterSpacing?: number;
|
|
1286
|
-
[k: string]: unknown;
|
|
1287
|
-
}
|
|
1288
|
-
/**
|
|
1289
|
-
* Abstract role: font used for body copy. Maps onto the OOXML minor slot when serializing.
|
|
1290
|
-
*/
|
|
1291
|
-
interface Font1 {
|
|
1292
|
-
/**
|
|
1293
|
-
* Font family name.
|
|
1150
|
+
* Target application this font pairing is intended for. Metadata for pickers and catalog filters: no engine changes its output by it.
|
|
1294
1151
|
*/
|
|
1295
|
-
|
|
1152
|
+
app?: ("powerpoint" | "google-slides");
|
|
1296
1153
|
/**
|
|
1297
|
-
*
|
|
1154
|
+
* Font-language family this scheme is intended for: 'latin' for Latin-script content, 'ea' (or 'eastAsian', the same value) for East Asian scripts, 'cs' (or 'complexScript', the same value) for Complex Scripts. The long names match the 'eastAsian' and 'complexScript' slot keys; the short names match the OOXML a:ea and a:cs elements; core reads both spellings as one value. As the design font scheme, an 'ea'/'eastAsian' or 'cs'/'complexScript' scheme also fills that script slot with its own major/minor families when its languages list is empty or names the presentation language.
|
|
1298
1155
|
*/
|
|
1299
|
-
|
|
1300
|
-
/**
|
|
1301
|
-
* Font style.
|
|
1302
|
-
*/
|
|
1303
|
-
style?: ("normal" | "italic");
|
|
1304
|
-
/**
|
|
1305
|
-
* Letter spacing (tracking) in ems.
|
|
1306
|
-
*/
|
|
1307
|
-
letterSpacing?: number;
|
|
1308
|
-
[k: string]: unknown;
|
|
1309
|
-
}
|
|
1310
|
-
/**
|
|
1311
|
-
* Abstract role: font used for accent text. When set, the slide tag (eyebrow) and the quote body use this family instead of the body and heading families; nothing else changes. resolveFontFamilies() returns it as accent only when the scheme defines it. No direct OOXML slot: PPTX export writes it on those runs, and the theme fonts stay major/minor.
|
|
1312
|
-
*/
|
|
1313
|
-
interface Font2 {
|
|
1156
|
+
languageFamily?: ("latin" | "ea" | "cs" | "eastAsian" | "complexScript");
|
|
1314
1157
|
/**
|
|
1315
|
-
*
|
|
1158
|
+
* Abstract role: font family name used for slide titles and headings. Maps onto the OOXML major slot when serializing.
|
|
1316
1159
|
*/
|
|
1317
|
-
|
|
1160
|
+
heading?: string;
|
|
1318
1161
|
/**
|
|
1319
|
-
*
|
|
1162
|
+
* Abstract role: font family name used for body copy. Maps onto the OOXML minor slot when serializing.
|
|
1320
1163
|
*/
|
|
1321
|
-
|
|
1164
|
+
body?: string;
|
|
1322
1165
|
/**
|
|
1323
|
-
*
|
|
1166
|
+
* Abstract role: font family name used for accent text. When set, the slide tag (eyebrow) and the quote body use this family instead of the body and heading families; nothing else changes. resolveFontFamilies() returns it as accent only when the scheme defines it. No direct OOXML slot: PPTX export writes it on those runs, and the theme fonts stay major/minor.
|
|
1324
1167
|
*/
|
|
1325
|
-
|
|
1168
|
+
accent?: string;
|
|
1326
1169
|
/**
|
|
1327
|
-
*
|
|
1170
|
+
* Abstract role: monospaced font family name used for code blocks and for inline code runs (TextRun.code). No direct OOXML slot. Resolution: this override, then the resolved font-scheme record's 'code' (for example Consolas for the consolas scheme), then the engine fallback Roboto Mono. Heading and body families are never used as the code fallback.
|
|
1328
1171
|
*/
|
|
1329
|
-
|
|
1172
|
+
code?: string;
|
|
1330
1173
|
[k: string]: unknown;
|
|
1331
1174
|
}
|
|
1332
1175
|
/**
|
|
1333
|
-
*
|
|
1176
|
+
* Slide dimensions; either pick a preset or specify custom inches.
|
|
1177
|
+
*
|
|
1178
|
+
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
1179
|
+
* via the `definition` "Dimensions".
|
|
1334
1180
|
*/
|
|
1335
|
-
interface
|
|
1336
|
-
|
|
1337
|
-
* Font family name.
|
|
1338
|
-
*/
|
|
1339
|
-
family: string;
|
|
1340
|
-
/**
|
|
1341
|
-
* Numeric font weight (e.g., 400 for regular, 700 for bold).
|
|
1342
|
-
*/
|
|
1343
|
-
weight?: number;
|
|
1181
|
+
interface Dimensions {
|
|
1182
|
+
preset?: DimensionPreset;
|
|
1344
1183
|
/**
|
|
1345
|
-
*
|
|
1184
|
+
* Custom slide width in inches; overrides the preset width when provided.
|
|
1346
1185
|
*/
|
|
1347
|
-
|
|
1186
|
+
widthInches?: number;
|
|
1348
1187
|
/**
|
|
1349
|
-
*
|
|
1188
|
+
* Custom slide height in inches; overrides the preset height when provided.
|
|
1350
1189
|
*/
|
|
1351
|
-
|
|
1190
|
+
heightInches?: number;
|
|
1352
1191
|
[k: string]: unknown;
|
|
1353
1192
|
}
|
|
1354
1193
|
/**
|
|
@@ -1379,7 +1218,7 @@ interface SolidBackground {
|
|
|
1379
1218
|
/**
|
|
1380
1219
|
* Fixed solid fill color: a hex string, a color-scheme slot or role name, or a var:<id> variable reference (a ColorRef, resolved against the effective color scheme and the deck variables). Use { type: 'theme', slot: ... } for PowerPoint's four theme-controlled background choices.
|
|
1381
1220
|
*/
|
|
1382
|
-
color: string;
|
|
1221
|
+
color: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "surfaceAlt" | "text" | "textSecondary") | string);
|
|
1383
1222
|
/**
|
|
1384
1223
|
* Background opacity from 0 (fully transparent) to 1 (fully opaque).
|
|
1385
1224
|
*/
|
|
@@ -1406,21 +1245,47 @@ interface GradientBackground {
|
|
|
1406
1245
|
*/
|
|
1407
1246
|
angle?: number;
|
|
1408
1247
|
/**
|
|
1409
|
-
* Ordered list of color stops along the gradient.
|
|
1248
|
+
* Ordered list of color stops along the gradient. A gradient needs at least two stops.
|
|
1249
|
+
*
|
|
1250
|
+
* @minItems 2
|
|
1410
1251
|
*
|
|
1411
1252
|
* Items: Color stop along the gradient.
|
|
1412
1253
|
*/
|
|
1413
|
-
stops?:
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1254
|
+
stops?: [
|
|
1255
|
+
{
|
|
1256
|
+
/**
|
|
1257
|
+
* Stop color: a hex string, a color-scheme slot or role name, or a var:<id> variable reference (a ColorRef).
|
|
1258
|
+
*/
|
|
1259
|
+
color: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "surfaceAlt" | "text" | "textSecondary") | string);
|
|
1260
|
+
/**
|
|
1261
|
+
* Stop position along the gradient, from 0 (start) to 1 (end).
|
|
1262
|
+
*/
|
|
1263
|
+
position: number;
|
|
1264
|
+
[k: string]: unknown;
|
|
1265
|
+
},
|
|
1266
|
+
{
|
|
1267
|
+
/**
|
|
1268
|
+
* Stop color: a hex string, a color-scheme slot or role name, or a var:<id> variable reference (a ColorRef).
|
|
1269
|
+
*/
|
|
1270
|
+
color: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "surfaceAlt" | "text" | "textSecondary") | string);
|
|
1271
|
+
/**
|
|
1272
|
+
* Stop position along the gradient, from 0 (start) to 1 (end).
|
|
1273
|
+
*/
|
|
1274
|
+
position: number;
|
|
1275
|
+
[k: string]: unknown;
|
|
1276
|
+
},
|
|
1277
|
+
...({
|
|
1278
|
+
/**
|
|
1279
|
+
* Stop color: a hex string, a color-scheme slot or role name, or a var:<id> variable reference (a ColorRef).
|
|
1280
|
+
*/
|
|
1281
|
+
color: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "surfaceAlt" | "text" | "textSecondary") | string);
|
|
1282
|
+
/**
|
|
1283
|
+
* Stop position along the gradient, from 0 (start) to 1 (end).
|
|
1284
|
+
*/
|
|
1285
|
+
position: number;
|
|
1286
|
+
[k: string]: unknown;
|
|
1287
|
+
})[]
|
|
1288
|
+
];
|
|
1424
1289
|
[k: string]: unknown;
|
|
1425
1290
|
};
|
|
1426
1291
|
/**
|
|
@@ -1430,35 +1295,81 @@ interface GradientBackground {
|
|
|
1430
1295
|
[k: string]: unknown;
|
|
1431
1296
|
}
|
|
1432
1297
|
/**
|
|
1433
|
-
*
|
|
1298
|
+
* Picture background: the image fills the whole canvas behind everything and never moves content (to push content aside, use an image block with placement). The string shorthand 'asset:x' (or any image source) is { type: 'image', src: 'asset:x' }, a cover image. Paint order: the colour scheme's default slide background, the picture, then the overlay, then furniture and content.
|
|
1434
1299
|
*
|
|
1435
1300
|
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
1436
1301
|
* via the `definition` "ImageBackground".
|
|
1437
1302
|
*/
|
|
1438
1303
|
interface ImageBackground {
|
|
1439
1304
|
/**
|
|
1440
|
-
*
|
|
1305
|
+
* Picture background.
|
|
1441
1306
|
*/
|
|
1442
1307
|
type: "image";
|
|
1443
1308
|
/**
|
|
1444
|
-
*
|
|
1309
|
+
* Source for the background image: an 'asset:<id>' reference, HTTPS URL, data URI, or a relative path resolved against the OPF file location.
|
|
1310
|
+
*/
|
|
1311
|
+
src: string;
|
|
1312
|
+
/**
|
|
1313
|
+
* Alternative text. A background with alt is meaningful: PowerPoint export draws it as a full-slide picture at the back that carries the text, so screen readers see it. Without alt it is decorative and exports as the native slide background; the alt text of a referenced asset does not count, so a background is decorative unless it says otherwise.
|
|
1445
1314
|
*/
|
|
1446
|
-
|
|
1315
|
+
alt?: string;
|
|
1316
|
+
/**
|
|
1317
|
+
* How the picture fills the canvas: 'cover' fills it and crops what overflows around focus; 'contain' shows the whole picture centered over the colour scheme's default background; 'stretch' scales it to the canvas exactly; 'tile' repeats it at its own size from the top-left corner. Default 'cover'.
|
|
1318
|
+
*/
|
|
1319
|
+
fit?: ("cover" | "contain" | "stretch" | "tile");
|
|
1320
|
+
focus?: ImageFocus;
|
|
1321
|
+
/**
|
|
1322
|
+
* Picture opacity from 0 (fully transparent) to 1 (fully opaque); the overlay keeps its own opacity. Default 1.
|
|
1323
|
+
*/
|
|
1324
|
+
opacity?: number;
|
|
1325
|
+
/**
|
|
1326
|
+
* Grayscale or duotone treatment of the picture's pixels, as on an image block: recolor and opacity apply to the pixels, then the overlay is drawn above.
|
|
1327
|
+
*/
|
|
1328
|
+
recolor?: ("grayscale" | {
|
|
1447
1329
|
/**
|
|
1448
|
-
*
|
|
1330
|
+
* Color at luminance 0.
|
|
1449
1331
|
*/
|
|
1450
|
-
|
|
1332
|
+
dark: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "surfaceAlt" | "text" | "textSecondary") | string);
|
|
1451
1333
|
/**
|
|
1452
|
-
*
|
|
1334
|
+
* Color at luminance 1.
|
|
1453
1335
|
*/
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1336
|
+
light: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "surfaceAlt" | "text" | "textSecondary") | string);
|
|
1337
|
+
});
|
|
1338
|
+
overlay?: Overlay;
|
|
1339
|
+
}
|
|
1340
|
+
/**
|
|
1341
|
+
* Point of the picture to keep in view when 'cover' crops it. Ignored by the other fits.
|
|
1342
|
+
*/
|
|
1343
|
+
interface ImageFocus {
|
|
1457
1344
|
/**
|
|
1458
|
-
*
|
|
1345
|
+
* Horizontal position, 0 (left edge) to 1 (right edge).
|
|
1459
1346
|
*/
|
|
1460
|
-
|
|
1461
|
-
|
|
1347
|
+
x: number;
|
|
1348
|
+
/**
|
|
1349
|
+
* Vertical position, 0 (top edge) to 1 (bottom edge).
|
|
1350
|
+
*/
|
|
1351
|
+
y: number;
|
|
1352
|
+
}
|
|
1353
|
+
/**
|
|
1354
|
+
* Scrim over the whole picture or a band along one edge (edge, size), beneath furniture and content, for example to keep a title readable over a busy photo.
|
|
1355
|
+
*/
|
|
1356
|
+
interface Overlay {
|
|
1357
|
+
/**
|
|
1358
|
+
* Overlay fill color: a hex color (eight-digit hex keeps its alpha), a color-scheme slot or role name, or a 'var:<id>' variable reference.
|
|
1359
|
+
*/
|
|
1360
|
+
color: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "surfaceAlt" | "text" | "textSecondary") | string);
|
|
1361
|
+
/**
|
|
1362
|
+
* Overlay fill opacity.
|
|
1363
|
+
*/
|
|
1364
|
+
opacity: number;
|
|
1365
|
+
/**
|
|
1366
|
+
* Cover only a band along this edge of the frame, for example a caption strip. Backgrounds and rectangle image frames only; on another shape the overlay is not drawn and composition reports unsupported-image-treatment. Omit to cover the whole frame. In a right-to-left deck 'left' and 'right' are the start and end sides.
|
|
1367
|
+
*/
|
|
1368
|
+
edge?: ("top" | "bottom" | "left" | "right");
|
|
1369
|
+
/**
|
|
1370
|
+
* Band share of the frame for an edge overlay. Default 0.3. Ignored without edge.
|
|
1371
|
+
*/
|
|
1372
|
+
size?: number;
|
|
1462
1373
|
}
|
|
1463
1374
|
/**
|
|
1464
1375
|
* Fixed pattern slide background fill.
|
|
@@ -1482,11 +1393,11 @@ interface PatternBackground {
|
|
|
1482
1393
|
/**
|
|
1483
1394
|
* Foreground color for the pattern: a hex string, a color-scheme slot or role name, or a var:<id> variable reference (a ColorRef).
|
|
1484
1395
|
*/
|
|
1485
|
-
foregroundColor?: string;
|
|
1396
|
+
foregroundColor?: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "surfaceAlt" | "text" | "textSecondary") | string);
|
|
1486
1397
|
/**
|
|
1487
1398
|
* Background color behind the pattern: a hex string, a color-scheme slot or role name, or a var:<id> variable reference (a ColorRef).
|
|
1488
1399
|
*/
|
|
1489
|
-
backgroundColor?: string;
|
|
1400
|
+
backgroundColor?: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "surfaceAlt" | "text" | "textSecondary") | string);
|
|
1490
1401
|
[k: string]: unknown;
|
|
1491
1402
|
};
|
|
1492
1403
|
/**
|
|
@@ -1495,24 +1406,6 @@ interface PatternBackground {
|
|
|
1495
1406
|
opacity?: number;
|
|
1496
1407
|
[k: string]: unknown;
|
|
1497
1408
|
}
|
|
1498
|
-
/**
|
|
1499
|
-
* Slide dimensions; either pick a preset or specify custom inches.
|
|
1500
|
-
*
|
|
1501
|
-
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
1502
|
-
* via the `definition` "Dimensions".
|
|
1503
|
-
*/
|
|
1504
|
-
interface Dimensions {
|
|
1505
|
-
preset?: DimensionPreset;
|
|
1506
|
-
/**
|
|
1507
|
-
* Custom slide width in inches; overrides the preset width when provided.
|
|
1508
|
-
*/
|
|
1509
|
-
widthInches?: number;
|
|
1510
|
-
/**
|
|
1511
|
-
* Custom slide height in inches; overrides the preset height when provided.
|
|
1512
|
-
*/
|
|
1513
|
-
heightInches?: number;
|
|
1514
|
-
[k: string]: unknown;
|
|
1515
|
-
}
|
|
1516
1409
|
/**
|
|
1517
1410
|
* Deck logo variants surfaced by covers, section dividers, headers, footers and picture bullets. Organization identity lives in organization; this object only controls visual rendering assets. Engines select one variant per slot and background tone (resolveLogo in @openpresentation/opf): same-tone variants first, neutral ones next, the opposite tone last. Lockup on a dark background: light, default, stackedLight, stacked, wordmarkLight, wordmark, iconLight, icon, then dark, stackedDark, wordmarkDark, iconDark; on a light background: dark, default, stackedDark, stacked, wordmarkDark, wordmark, iconDark, icon, then light, stackedLight, wordmarkLight, iconLight. The icon slot (headers, footers, picture bullets) tries iconLight or iconDark for the tone, then icon, then the lockup chain; the stacked slot tries stackedLight or stackedDark, then stacked, then the lockup chain.
|
|
1518
1411
|
*
|
|
@@ -1521,7 +1414,7 @@ interface Dimensions {
|
|
|
1521
1414
|
*/
|
|
1522
1415
|
interface LogoSet {
|
|
1523
1416
|
/**
|
|
1524
|
-
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title
|
|
1417
|
+
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title or mediaType matters.
|
|
1525
1418
|
*/
|
|
1526
1419
|
default?: (string | {
|
|
1527
1420
|
/**
|
|
@@ -1544,13 +1437,9 @@ interface LogoSet {
|
|
|
1544
1437
|
* Optional MIME media type when it cannot be inferred from src.
|
|
1545
1438
|
*/
|
|
1546
1439
|
mediaType?: string;
|
|
1547
|
-
/**
|
|
1548
|
-
* Optional authoring/parsing format hint. Useful when format is more convenient than a full MIME media type.
|
|
1549
|
-
*/
|
|
1550
|
-
format?: string;
|
|
1551
1440
|
});
|
|
1552
1441
|
/**
|
|
1553
|
-
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title
|
|
1442
|
+
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title or mediaType matters.
|
|
1554
1443
|
*/
|
|
1555
1444
|
light?: (string | {
|
|
1556
1445
|
/**
|
|
@@ -1573,13 +1462,9 @@ interface LogoSet {
|
|
|
1573
1462
|
* Optional MIME media type when it cannot be inferred from src.
|
|
1574
1463
|
*/
|
|
1575
1464
|
mediaType?: string;
|
|
1576
|
-
/**
|
|
1577
|
-
* Optional authoring/parsing format hint. Useful when format is more convenient than a full MIME media type.
|
|
1578
|
-
*/
|
|
1579
|
-
format?: string;
|
|
1580
1465
|
});
|
|
1581
1466
|
/**
|
|
1582
|
-
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title
|
|
1467
|
+
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title or mediaType matters.
|
|
1583
1468
|
*/
|
|
1584
1469
|
dark?: (string | {
|
|
1585
1470
|
/**
|
|
@@ -1602,13 +1487,9 @@ interface LogoSet {
|
|
|
1602
1487
|
* Optional MIME media type when it cannot be inferred from src.
|
|
1603
1488
|
*/
|
|
1604
1489
|
mediaType?: string;
|
|
1605
|
-
/**
|
|
1606
|
-
* Optional authoring/parsing format hint. Useful when format is more convenient than a full MIME media type.
|
|
1607
|
-
*/
|
|
1608
|
-
format?: string;
|
|
1609
1490
|
});
|
|
1610
1491
|
/**
|
|
1611
|
-
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title
|
|
1492
|
+
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title or mediaType matters.
|
|
1612
1493
|
*/
|
|
1613
1494
|
stacked?: (string | {
|
|
1614
1495
|
/**
|
|
@@ -1631,13 +1512,9 @@ interface LogoSet {
|
|
|
1631
1512
|
* Optional MIME media type when it cannot be inferred from src.
|
|
1632
1513
|
*/
|
|
1633
1514
|
mediaType?: string;
|
|
1634
|
-
/**
|
|
1635
|
-
* Optional authoring/parsing format hint. Useful when format is more convenient than a full MIME media type.
|
|
1636
|
-
*/
|
|
1637
|
-
format?: string;
|
|
1638
1515
|
});
|
|
1639
1516
|
/**
|
|
1640
|
-
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title
|
|
1517
|
+
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title or mediaType matters.
|
|
1641
1518
|
*/
|
|
1642
1519
|
stackedLight?: (string | {
|
|
1643
1520
|
/**
|
|
@@ -1660,13 +1537,9 @@ interface LogoSet {
|
|
|
1660
1537
|
* Optional MIME media type when it cannot be inferred from src.
|
|
1661
1538
|
*/
|
|
1662
1539
|
mediaType?: string;
|
|
1663
|
-
/**
|
|
1664
|
-
* Optional authoring/parsing format hint. Useful when format is more convenient than a full MIME media type.
|
|
1665
|
-
*/
|
|
1666
|
-
format?: string;
|
|
1667
1540
|
});
|
|
1668
1541
|
/**
|
|
1669
|
-
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title
|
|
1542
|
+
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title or mediaType matters.
|
|
1670
1543
|
*/
|
|
1671
1544
|
stackedDark?: (string | {
|
|
1672
1545
|
/**
|
|
@@ -1689,13 +1562,9 @@ interface LogoSet {
|
|
|
1689
1562
|
* Optional MIME media type when it cannot be inferred from src.
|
|
1690
1563
|
*/
|
|
1691
1564
|
mediaType?: string;
|
|
1692
|
-
/**
|
|
1693
|
-
* Optional authoring/parsing format hint. Useful when format is more convenient than a full MIME media type.
|
|
1694
|
-
*/
|
|
1695
|
-
format?: string;
|
|
1696
1565
|
});
|
|
1697
1566
|
/**
|
|
1698
|
-
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title
|
|
1567
|
+
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title or mediaType matters.
|
|
1699
1568
|
*/
|
|
1700
1569
|
icon?: (string | {
|
|
1701
1570
|
/**
|
|
@@ -1718,13 +1587,9 @@ interface LogoSet {
|
|
|
1718
1587
|
* Optional MIME media type when it cannot be inferred from src.
|
|
1719
1588
|
*/
|
|
1720
1589
|
mediaType?: string;
|
|
1721
|
-
/**
|
|
1722
|
-
* Optional authoring/parsing format hint. Useful when format is more convenient than a full MIME media type.
|
|
1723
|
-
*/
|
|
1724
|
-
format?: string;
|
|
1725
1590
|
});
|
|
1726
1591
|
/**
|
|
1727
|
-
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title
|
|
1592
|
+
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title or mediaType matters.
|
|
1728
1593
|
*/
|
|
1729
1594
|
iconLight?: (string | {
|
|
1730
1595
|
/**
|
|
@@ -1747,13 +1612,9 @@ interface LogoSet {
|
|
|
1747
1612
|
* Optional MIME media type when it cannot be inferred from src.
|
|
1748
1613
|
*/
|
|
1749
1614
|
mediaType?: string;
|
|
1750
|
-
/**
|
|
1751
|
-
* Optional authoring/parsing format hint. Useful when format is more convenient than a full MIME media type.
|
|
1752
|
-
*/
|
|
1753
|
-
format?: string;
|
|
1754
1615
|
});
|
|
1755
1616
|
/**
|
|
1756
|
-
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title
|
|
1617
|
+
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title or mediaType matters.
|
|
1757
1618
|
*/
|
|
1758
1619
|
iconDark?: (string | {
|
|
1759
1620
|
/**
|
|
@@ -1776,13 +1637,9 @@ interface LogoSet {
|
|
|
1776
1637
|
* Optional MIME media type when it cannot be inferred from src.
|
|
1777
1638
|
*/
|
|
1778
1639
|
mediaType?: string;
|
|
1779
|
-
/**
|
|
1780
|
-
* Optional authoring/parsing format hint. Useful when format is more convenient than a full MIME media type.
|
|
1781
|
-
*/
|
|
1782
|
-
format?: string;
|
|
1783
1640
|
});
|
|
1784
1641
|
/**
|
|
1785
|
-
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title
|
|
1642
|
+
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title or mediaType matters.
|
|
1786
1643
|
*/
|
|
1787
1644
|
wordmark?: (string | {
|
|
1788
1645
|
/**
|
|
@@ -1805,13 +1662,9 @@ interface LogoSet {
|
|
|
1805
1662
|
* Optional MIME media type when it cannot be inferred from src.
|
|
1806
1663
|
*/
|
|
1807
1664
|
mediaType?: string;
|
|
1808
|
-
/**
|
|
1809
|
-
* Optional authoring/parsing format hint. Useful when format is more convenient than a full MIME media type.
|
|
1810
|
-
*/
|
|
1811
|
-
format?: string;
|
|
1812
1665
|
});
|
|
1813
1666
|
/**
|
|
1814
|
-
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title
|
|
1667
|
+
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title or mediaType matters.
|
|
1815
1668
|
*/
|
|
1816
1669
|
wordmarkLight?: (string | {
|
|
1817
1670
|
/**
|
|
@@ -1834,13 +1687,9 @@ interface LogoSet {
|
|
|
1834
1687
|
* Optional MIME media type when it cannot be inferred from src.
|
|
1835
1688
|
*/
|
|
1836
1689
|
mediaType?: string;
|
|
1837
|
-
/**
|
|
1838
|
-
* Optional authoring/parsing format hint. Useful when format is more convenient than a full MIME media type.
|
|
1839
|
-
*/
|
|
1840
|
-
format?: string;
|
|
1841
1690
|
});
|
|
1842
1691
|
/**
|
|
1843
|
-
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title
|
|
1692
|
+
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title or mediaType matters.
|
|
1844
1693
|
*/
|
|
1845
1694
|
wordmarkDark?: (string | {
|
|
1846
1695
|
/**
|
|
@@ -1863,28 +1712,8 @@ interface LogoSet {
|
|
|
1863
1712
|
* Optional MIME media type when it cannot be inferred from src.
|
|
1864
1713
|
*/
|
|
1865
1714
|
mediaType?: string;
|
|
1866
|
-
/**
|
|
1867
|
-
* Optional authoring/parsing format hint. Useful when format is more convenient than a full MIME media type.
|
|
1868
|
-
*/
|
|
1869
|
-
format?: string;
|
|
1870
1715
|
});
|
|
1871
1716
|
}
|
|
1872
|
-
/**
|
|
1873
|
-
* Decorative watermark image and rendering options. Use design.watermark = false to disable an inherited watermark.
|
|
1874
|
-
*
|
|
1875
|
-
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
1876
|
-
* via the `definition` "Watermark".
|
|
1877
|
-
*/
|
|
1878
|
-
interface Watermark {
|
|
1879
|
-
/**
|
|
1880
|
-
* Source for the watermark image.
|
|
1881
|
-
*/
|
|
1882
|
-
src?: string;
|
|
1883
|
-
/**
|
|
1884
|
-
* Watermark opacity from 0 (fully transparent) to 1 (fully opaque).
|
|
1885
|
-
*/
|
|
1886
|
-
opacity: number;
|
|
1887
|
-
}
|
|
1888
1717
|
/**
|
|
1889
1718
|
* Repeated header or footer content split into left, center, and right zones. Header/footer content is slide furniture, separate from the main slide content payloads.
|
|
1890
1719
|
*
|
|
@@ -1910,7 +1739,7 @@ interface HeaderFooterItem {
|
|
|
1910
1739
|
*/
|
|
1911
1740
|
text?: string;
|
|
1912
1741
|
/**
|
|
1913
|
-
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title
|
|
1742
|
+
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title or mediaType matters.
|
|
1914
1743
|
*/
|
|
1915
1744
|
image?: (string | {
|
|
1916
1745
|
/**
|
|
@@ -1933,10 +1762,6 @@ interface HeaderFooterItem {
|
|
|
1933
1762
|
* Optional MIME media type when it cannot be inferred from src.
|
|
1934
1763
|
*/
|
|
1935
1764
|
mediaType?: string;
|
|
1936
|
-
/**
|
|
1937
|
-
* Optional authoring/parsing format hint. Useful when format is more convenient than a full MIME media type.
|
|
1938
|
-
*/
|
|
1939
|
-
format?: string;
|
|
1940
1765
|
});
|
|
1941
1766
|
/**
|
|
1942
1767
|
* Whether to render the current slide number in this zone. PPTX export writes a native slide-number field when its value fits within one accepted text line; a value split across lines exports as static text with a diagnostic.
|
|
@@ -1955,9 +1780,13 @@ interface HeaderFooterItem {
|
|
|
1955
1780
|
*/
|
|
1956
1781
|
dateFormat?: string;
|
|
1957
1782
|
/**
|
|
1958
|
-
* Whether to render the primary organization name from organization.
|
|
1783
|
+
* Whether to render the primary organization's name from organization (role 'primary', else the first organization).
|
|
1959
1784
|
*/
|
|
1960
1785
|
organization?: boolean;
|
|
1786
|
+
/**
|
|
1787
|
+
* Whether to render the primary (first) speaker's name and title from speaker, joined as 'Ada Lovelace, CTO' (just the name when the speaker has no title). It is generated text: without a named speaker the engine reports unresolved-content at this field. PPTX export writes it as static text and import restores the flag from the file's furniture provenance.
|
|
1788
|
+
*/
|
|
1789
|
+
speaker?: boolean;
|
|
1961
1790
|
/**
|
|
1962
1791
|
* Whether to render the current slide section label.
|
|
1963
1792
|
*/
|
|
@@ -1981,7 +1810,7 @@ interface HeaderFooterItem1 {
|
|
|
1981
1810
|
*/
|
|
1982
1811
|
text?: string;
|
|
1983
1812
|
/**
|
|
1984
|
-
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title
|
|
1813
|
+
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title or mediaType matters.
|
|
1985
1814
|
*/
|
|
1986
1815
|
image?: (string | {
|
|
1987
1816
|
/**
|
|
@@ -2004,10 +1833,6 @@ interface HeaderFooterItem1 {
|
|
|
2004
1833
|
* Optional MIME media type when it cannot be inferred from src.
|
|
2005
1834
|
*/
|
|
2006
1835
|
mediaType?: string;
|
|
2007
|
-
/**
|
|
2008
|
-
* Optional authoring/parsing format hint. Useful when format is more convenient than a full MIME media type.
|
|
2009
|
-
*/
|
|
2010
|
-
format?: string;
|
|
2011
1836
|
});
|
|
2012
1837
|
/**
|
|
2013
1838
|
* Whether to render the current slide number in this zone. PPTX export writes a native slide-number field when its value fits within one accepted text line; a value split across lines exports as static text with a diagnostic.
|
|
@@ -2026,9 +1851,13 @@ interface HeaderFooterItem1 {
|
|
|
2026
1851
|
*/
|
|
2027
1852
|
dateFormat?: string;
|
|
2028
1853
|
/**
|
|
2029
|
-
* Whether to render the primary organization name from organization.
|
|
1854
|
+
* Whether to render the primary organization's name from organization (role 'primary', else the first organization).
|
|
2030
1855
|
*/
|
|
2031
1856
|
organization?: boolean;
|
|
1857
|
+
/**
|
|
1858
|
+
* Whether to render the primary (first) speaker's name and title from speaker, joined as 'Ada Lovelace, CTO' (just the name when the speaker has no title). It is generated text: without a named speaker the engine reports unresolved-content at this field. PPTX export writes it as static text and import restores the flag from the file's furniture provenance.
|
|
1859
|
+
*/
|
|
1860
|
+
speaker?: boolean;
|
|
2032
1861
|
/**
|
|
2033
1862
|
* Whether to render the current slide section label.
|
|
2034
1863
|
*/
|
|
@@ -2052,7 +1881,7 @@ interface HeaderFooterItem2 {
|
|
|
2052
1881
|
*/
|
|
2053
1882
|
text?: string;
|
|
2054
1883
|
/**
|
|
2055
|
-
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title
|
|
1884
|
+
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title or mediaType matters.
|
|
2056
1885
|
*/
|
|
2057
1886
|
image?: (string | {
|
|
2058
1887
|
/**
|
|
@@ -2075,10 +1904,6 @@ interface HeaderFooterItem2 {
|
|
|
2075
1904
|
* Optional MIME media type when it cannot be inferred from src.
|
|
2076
1905
|
*/
|
|
2077
1906
|
mediaType?: string;
|
|
2078
|
-
/**
|
|
2079
|
-
* Optional authoring/parsing format hint. Useful when format is more convenient than a full MIME media type.
|
|
2080
|
-
*/
|
|
2081
|
-
format?: string;
|
|
2082
1907
|
});
|
|
2083
1908
|
/**
|
|
2084
1909
|
* Whether to render the current slide number in this zone. PPTX export writes a native slide-number field when its value fits within one accepted text line; a value split across lines exports as static text with a diagnostic.
|
|
@@ -2097,9 +1922,13 @@ interface HeaderFooterItem2 {
|
|
|
2097
1922
|
*/
|
|
2098
1923
|
dateFormat?: string;
|
|
2099
1924
|
/**
|
|
2100
|
-
* Whether to render the primary organization name from organization.
|
|
1925
|
+
* Whether to render the primary organization's name from organization (role 'primary', else the first organization).
|
|
2101
1926
|
*/
|
|
2102
1927
|
organization?: boolean;
|
|
1928
|
+
/**
|
|
1929
|
+
* Whether to render the primary (first) speaker's name and title from speaker, joined as 'Ada Lovelace, CTO' (just the name when the speaker has no title). It is generated text: without a named speaker the engine reports unresolved-content at this field. PPTX export writes it as static text and import restores the flag from the file's furniture provenance.
|
|
1930
|
+
*/
|
|
1931
|
+
speaker?: boolean;
|
|
2103
1932
|
/**
|
|
2104
1933
|
* Whether to render the current slide section label.
|
|
2105
1934
|
*/
|
|
@@ -2111,7 +1940,7 @@ interface HeaderFooterItem2 {
|
|
|
2111
1940
|
[k: string]: unknown;
|
|
2112
1941
|
}
|
|
2113
1942
|
/**
|
|
2114
|
-
* Optional named variables: deck colors referenced as 'var:<id>' (the original use), and typed content variables (text, number, date, image, url, list) referenced inline as '{{<id>}}' or whole as 'var:<id>'. Variables are what makes a deck a fillable template when combined with 'template': true. Color variables complement the color scheme: scheme slots and roles stay the primary vocabulary; variables cover deck-specific named colors that have no scheme slot.
|
|
1943
|
+
* Optional named variables: deck colors referenced as 'var:<id>' (the original use), and typed content variables (text, number, date, image, url, list) referenced inline as '{{<id>}}' or whole as 'var:<id>'. Variables are what makes a deck a fillable template when combined with 'template': true. Color variables complement the color scheme: scheme slots and roles stay the primary vocabulary; variables cover deck-specific named colors that have no scheme slot. Built-in variables ('{{speaker.name}}', 'var:organization.logo', 'deck.name', ...) need no declaration; see Variables.
|
|
2115
1944
|
*/
|
|
2116
1945
|
interface Variables {
|
|
2117
1946
|
[k: string]: Variable;
|
|
@@ -2264,7 +2093,7 @@ interface ImageVariable {
|
|
|
2264
2093
|
*/
|
|
2265
2094
|
type: "image";
|
|
2266
2095
|
/**
|
|
2267
|
-
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title
|
|
2096
|
+
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title or mediaType matters.
|
|
2268
2097
|
*/
|
|
2269
2098
|
value?: (string | {
|
|
2270
2099
|
/**
|
|
@@ -2287,10 +2116,6 @@ interface ImageVariable {
|
|
|
2287
2116
|
* Optional MIME media type when it cannot be inferred from src.
|
|
2288
2117
|
*/
|
|
2289
2118
|
mediaType?: string;
|
|
2290
|
-
/**
|
|
2291
|
-
* Optional authoring/parsing format hint. Useful when format is more convenient than a full MIME media type.
|
|
2292
|
-
*/
|
|
2293
|
-
format?: string;
|
|
2294
2119
|
});
|
|
2295
2120
|
/**
|
|
2296
2121
|
* Whether the variable must be filled. Defaults to true: a variable with no 'value' is unfilled, and an unfilled required variable is an error in a normal deck and expected in a template. Set false for an optional slot: an unfilled optional variable resolves to empty text (inline tokens) or the field that references it is omitted.
|
|
@@ -2305,7 +2130,7 @@ interface ImageVariable {
|
|
|
2305
2130
|
*/
|
|
2306
2131
|
description?: string;
|
|
2307
2132
|
/**
|
|
2308
|
-
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title
|
|
2133
|
+
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title or mediaType matters.
|
|
2309
2134
|
*/
|
|
2310
2135
|
example?: (string | {
|
|
2311
2136
|
/**
|
|
@@ -2328,10 +2153,6 @@ interface ImageVariable {
|
|
|
2328
2153
|
* Optional MIME media type when it cannot be inferred from src.
|
|
2329
2154
|
*/
|
|
2330
2155
|
mediaType?: string;
|
|
2331
|
-
/**
|
|
2332
|
-
* Optional authoring/parsing format hint. Useful when format is more convenient than a full MIME media type.
|
|
2333
|
-
*/
|
|
2334
|
-
format?: string;
|
|
2335
2156
|
});
|
|
2336
2157
|
}
|
|
2337
2158
|
/**
|
|
@@ -2358,157 +2179,45 @@ interface UrlVariable {
|
|
|
2358
2179
|
*/
|
|
2359
2180
|
label?: string;
|
|
2360
2181
|
/**
|
|
2361
|
-
* Optional prose describing what the variable is for, surfaced by pickers, fill forms and agents.
|
|
2362
|
-
*/
|
|
2363
|
-
description?: string;
|
|
2364
|
-
/**
|
|
2365
|
-
* Illustrative link shown in fill forms and used when a template is previewed with examples. Never written to output.
|
|
2366
|
-
*/
|
|
2367
|
-
example?: string;
|
|
2368
|
-
}
|
|
2369
|
-
/**
|
|
2370
|
-
* A list of strings, for bullets and list items. A whole-string array element 'var:<id>' splices every entry into the array in place; a whole field 'var:<id>' becomes the array; '{{<id>}}' joins the entries with ', ' (or the separator after a pipe: '{{<id>|; }}').
|
|
2371
|
-
*
|
|
2372
|
-
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
2373
|
-
* via the `definition` "ListVariable".
|
|
2374
|
-
*/
|
|
2375
|
-
interface ListVariable {
|
|
2376
|
-
/**
|
|
2377
|
-
* Variable kind. One of color, text, number, date, image, url or list.
|
|
2378
|
-
*/
|
|
2379
|
-
type: "list";
|
|
2380
|
-
/**
|
|
2381
|
-
* Entries this variable resolves to.
|
|
2382
|
-
*/
|
|
2383
|
-
value?: string[];
|
|
2384
|
-
/**
|
|
2385
|
-
* Whether the variable must be filled. Defaults to true: a variable with no 'value' is unfilled, and an unfilled required variable is an error in a normal deck and expected in a template. Set false for an optional slot: an unfilled optional variable resolves to empty text (inline tokens) or the field that references it is omitted.
|
|
2386
|
-
*/
|
|
2387
|
-
required?: boolean;
|
|
2388
|
-
/**
|
|
2389
|
-
* Optional short human label for forms and fill panels.
|
|
2390
|
-
*/
|
|
2391
|
-
label?: string;
|
|
2392
|
-
/**
|
|
2393
|
-
* Optional prose describing what the variable is for, surfaced by pickers, fill forms and agents.
|
|
2394
|
-
*/
|
|
2395
|
-
description?: string;
|
|
2396
|
-
/**
|
|
2397
|
-
* Illustrative entries shown in fill forms and used when a template is previewed with examples. Never written to output.
|
|
2398
|
-
*/
|
|
2399
|
-
example?: string[];
|
|
2400
|
-
}
|
|
2401
|
-
/**
|
|
2402
|
-
* Structured storyline used by AI to shape generated content. Mirrors the OPF Narrative Template record at https://openpresentation.org/schema/opf-narrative/v1 (sans '$schema'), so a library record and an inline narrative are interchangeable.
|
|
2403
|
-
*
|
|
2404
|
-
* Narrative declares the deck's intended story arc; slides may opt into beats via Slide.beat. The narrative does not constrain slide structure — validators warn on drift (orphan slides, unused beats) but never error. Slides are the source of truth; narrative is intent that travels with the deck.
|
|
2405
|
-
*
|
|
2406
|
-
* When 'id' matches a record in the resolved 'narratives' catalog, the inline fields override matching fields on the catalog record (beats merge by beat 'id'). When 'id' doesn't match, this object defines a fully custom inline narrative.
|
|
2407
|
-
*
|
|
2408
|
-
* Deck-level concerns that aren't part of the storyline (audience, tone, takeaway, duration) live as siblings on the presentation root rather than inside this object.
|
|
2409
|
-
*
|
|
2410
|
-
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
2411
|
-
* via the `definition` "Narrative".
|
|
2412
|
-
*/
|
|
2413
|
-
interface Narrative {
|
|
2414
|
-
/**
|
|
2415
|
-
* Stable slug identifying this narrative. When it matches a record in the resolved 'narratives' catalog, the catalog record's beats and metadata seed this narrative; inline fields override per-key. When it doesn't match, this is a fully custom inline narrative. Lowercase kebab-case.
|
|
2416
|
-
*/
|
|
2417
|
-
id?: string;
|
|
2418
|
-
/**
|
|
2419
|
-
* Human-readable narrative name.
|
|
2420
|
-
*/
|
|
2421
|
-
name?: string;
|
|
2422
|
-
/**
|
|
2423
|
-
* One-sentence description of when and why to use this narrative.
|
|
2424
|
-
*/
|
|
2425
|
-
summary?: string;
|
|
2426
|
-
/**
|
|
2427
|
-
* Longer prose describing the narrative arc and ideal use cases. Used by AI-driven generation to seed deck-level direction.
|
|
2428
|
-
*/
|
|
2429
|
-
description?: string;
|
|
2430
|
-
/**
|
|
2431
|
-
* Audiences this narrative works well for. Free-form strings or 'audiences' catalog ids.
|
|
2432
|
-
*/
|
|
2433
|
-
audienceFit?: string[];
|
|
2434
|
-
/**
|
|
2435
|
-
* Typical talk-length window this narrative suits. Compared by validators against duration.
|
|
2436
|
-
*/
|
|
2437
|
-
durationRange?: {
|
|
2438
|
-
minMinutes?: number;
|
|
2439
|
-
maxMinutes?: number;
|
|
2440
|
-
[k: string]: unknown;
|
|
2441
|
-
};
|
|
2442
|
-
/**
|
|
2443
|
-
* Free-form labels for filtering and search.
|
|
2444
|
-
*/
|
|
2445
|
-
tags?: string[];
|
|
2446
|
-
/**
|
|
2447
|
-
* Visual previews of the narrative, used by picker UIs and inline rendering. All sub-fields are optional.
|
|
2182
|
+
* Optional prose describing what the variable is for, surfaced by pickers, fill forms and agents.
|
|
2448
2183
|
*/
|
|
2449
|
-
|
|
2450
|
-
/**
|
|
2451
|
-
* Main preview image (PNG/JPG).
|
|
2452
|
-
*/
|
|
2453
|
-
src?: string;
|
|
2454
|
-
/**
|
|
2455
|
-
* Smaller thumbnail preview for dense grid views.
|
|
2456
|
-
*/
|
|
2457
|
-
thumbnailSrc?: string;
|
|
2458
|
-
/**
|
|
2459
|
-
* SVG / vector preview for crisp scaling at any size.
|
|
2460
|
-
*/
|
|
2461
|
-
vectorSrc?: string;
|
|
2462
|
-
[k: string]: unknown;
|
|
2463
|
-
};
|
|
2184
|
+
description?: string;
|
|
2464
2185
|
/**
|
|
2465
|
-
*
|
|
2186
|
+
* Illustrative link shown in fill forms and used when a template is previewed with examples. Never written to output.
|
|
2466
2187
|
*/
|
|
2467
|
-
|
|
2468
|
-
[k: string]: unknown;
|
|
2188
|
+
example?: string;
|
|
2469
2189
|
}
|
|
2470
2190
|
/**
|
|
2471
|
-
* A
|
|
2472
|
-
*
|
|
2473
|
-
* Mirrors the Beat definition in narrative.schema.json (https://openpresentation.org/schema/opf-narrative/v1) so library entries and inline OPF beats are interchangeable.
|
|
2191
|
+
* A list of strings, for bullets and list items. A whole-string array element 'var:<id>' splices every entry into the array in place; a whole field 'var:<id>' becomes the array; '{{<id>}}' joins the entries with ', ' (or the separator after a pipe: '{{<id>|; }}').
|
|
2474
2192
|
*
|
|
2475
2193
|
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
2476
|
-
* via the `definition` "
|
|
2194
|
+
* via the `definition` "ListVariable".
|
|
2477
2195
|
*/
|
|
2478
|
-
interface
|
|
2479
|
-
/**
|
|
2480
|
-
* Stable slug used by Slide.beat to reference this beat. Lowercase kebab-case.
|
|
2481
|
-
*/
|
|
2482
|
-
id: string;
|
|
2483
|
-
/**
|
|
2484
|
-
* Human-readable beat name.
|
|
2485
|
-
*/
|
|
2486
|
-
name: string;
|
|
2196
|
+
interface ListVariable {
|
|
2487
2197
|
/**
|
|
2488
|
-
*
|
|
2198
|
+
* Variable kind. One of color, text, number, date, image, url or list.
|
|
2489
2199
|
*/
|
|
2490
|
-
|
|
2200
|
+
type: "list";
|
|
2491
2201
|
/**
|
|
2492
|
-
*
|
|
2202
|
+
* Entries this variable resolves to.
|
|
2493
2203
|
*/
|
|
2494
|
-
|
|
2204
|
+
value?: string[];
|
|
2495
2205
|
/**
|
|
2496
|
-
*
|
|
2206
|
+
* Whether the variable must be filled. Defaults to true: a variable with no 'value' is unfilled, and an unfilled required variable is an error in a normal deck and expected in a template. Set false for an optional slot: an unfilled optional variable resolves to empty text (inline tokens) or the field that references it is omitted.
|
|
2497
2207
|
*/
|
|
2498
|
-
|
|
2208
|
+
required?: boolean;
|
|
2499
2209
|
/**
|
|
2500
|
-
*
|
|
2210
|
+
* Optional short human label for forms and fill panels.
|
|
2501
2211
|
*/
|
|
2502
|
-
|
|
2212
|
+
label?: string;
|
|
2503
2213
|
/**
|
|
2504
|
-
*
|
|
2214
|
+
* Optional prose describing what the variable is for, surfaced by pickers, fill forms and agents.
|
|
2505
2215
|
*/
|
|
2506
|
-
|
|
2216
|
+
description?: string;
|
|
2507
2217
|
/**
|
|
2508
|
-
*
|
|
2218
|
+
* Illustrative entries shown in fill forms and used when a template is previewed with examples. Never written to output.
|
|
2509
2219
|
*/
|
|
2510
|
-
|
|
2511
|
-
[k: string]: unknown;
|
|
2220
|
+
example?: string[];
|
|
2512
2221
|
}
|
|
2513
2222
|
/**
|
|
2514
2223
|
* A single slide. Content can be authored as a full-slide root payload, or inside promoted named region keys such as 'left', 'center+right', and 'top:left'.
|
|
@@ -2526,27 +2235,25 @@ interface Slide {
|
|
|
2526
2235
|
*/
|
|
2527
2236
|
type?: ("text" | "list" | "image" | "chart" | "table" | "video" | "code" | "metric" | "quote" | "timeline");
|
|
2528
2237
|
/**
|
|
2529
|
-
* Optional reference to one or more narrative
|
|
2238
|
+
* Optional reference to one or more beats of the deck's narrative (each value is the id of a beat in the narrative record that the root 'narrative' resolves to). A single string declares the slide's primary beat; an array declares that one slide covers multiple beats. Declares the slide's role in the story arc; does not constrain ordering or structure. Core validate warns about a beat id the resolved narrative does not define, and reports a beat that no slide references. Slides without a beat are valid; multiple slides may share a beat.
|
|
2530
2239
|
*/
|
|
2531
2240
|
beat?: (string | string[]);
|
|
2532
2241
|
/**
|
|
2533
|
-
*
|
|
2534
|
-
*
|
|
2535
|
-
* Resolution order: inline catalogs.layouts.records[] → catalogs.layouts.source → default catalog at https://www.pptx.gallery/layouts.
|
|
2242
|
+
* A content reference: a bare id ('two-column') or 'name:id' ('acme:hero'), where the prefix names a group of 'catalogs'. URLs and 'pkg:' strings are not references; a named catalog group replaces them. See Catalogs for the resolution order.
|
|
2536
2243
|
*/
|
|
2537
2244
|
layout?: string;
|
|
2538
2245
|
/**
|
|
2539
|
-
* Slide-level title content. When the resolved layout exposes a 'title' placeholder, the engine renders this value there.
|
|
2246
|
+
* Slide-level title content. When the resolved layout exposes a 'title' placeholder, the engine renders this value there. Use a string for plain text or TextRun[] for inline rich text (a colored word, bold, a link, a citation or footnote marker); the heading keeps its size and fitting rules either way, and run colors resolve like body text.
|
|
2540
2247
|
*/
|
|
2541
|
-
title?: string;
|
|
2248
|
+
title?: (string | TextRun[]);
|
|
2542
2249
|
/**
|
|
2543
|
-
* Slide-level subtitle or supporting line. When the resolved layout exposes a 'subtitle' placeholder, the engine renders this value there.
|
|
2250
|
+
* Slide-level subtitle or supporting line. When the resolved layout exposes a 'subtitle' placeholder, the engine renders this value there. Use a string for plain text or TextRun[] for inline rich text (a colored word, bold, a link, a citation or footnote marker); the heading keeps its size and fitting rules either way, and run colors resolve like body text.
|
|
2544
2251
|
*/
|
|
2545
|
-
subtitle?: string;
|
|
2252
|
+
subtitle?: (string | TextRun[]);
|
|
2546
2253
|
/**
|
|
2547
|
-
* Small slide-level label or badge. When the resolved layout exposes a 'tag' placeholder, the engine renders this value there.
|
|
2254
|
+
* Small slide-level label or badge. When the resolved layout exposes a 'tag' placeholder, the engine renders this value there. Use a string for plain text or TextRun[] for inline rich text (a colored word, bold, a link, a citation or footnote marker); the heading keeps its size and fitting rules either way, and run colors resolve like body text.
|
|
2548
2255
|
*/
|
|
2549
|
-
tag?: string;
|
|
2256
|
+
tag?: (string | TextRun[]);
|
|
2550
2257
|
/**
|
|
2551
2258
|
* Full-slide text payload. Use a string for plain text or TextRun[] for inline rich text. TextRun items may be plain strings or formatted run objects.
|
|
2552
2259
|
*/
|
|
@@ -2564,7 +2271,7 @@ interface Slide {
|
|
|
2564
2271
|
*/
|
|
2565
2272
|
numbering?: (NumberingStyle | Numbering | [(NumberingStyle | Numbering)] | [(NumberingStyle | Numbering), (NumberingStyle | Numbering)] | [(NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering)] | [(NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering)] | [(NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering)] | [(NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering)] | [(NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering)] | [(NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering)] | [(NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering), (NumberingStyle | Numbering)]);
|
|
2566
2273
|
/**
|
|
2567
|
-
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title
|
|
2274
|
+
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title or mediaType matters.
|
|
2568
2275
|
*/
|
|
2569
2276
|
image?: (string | {
|
|
2570
2277
|
/**
|
|
@@ -2587,13 +2294,9 @@ interface Slide {
|
|
|
2587
2294
|
* Optional MIME media type when it cannot be inferred from src.
|
|
2588
2295
|
*/
|
|
2589
2296
|
mediaType?: string;
|
|
2590
|
-
/**
|
|
2591
|
-
* Optional authoring/parsing format hint. Useful when format is more convenient than a full MIME media type.
|
|
2592
|
-
*/
|
|
2593
|
-
format?: string;
|
|
2594
2297
|
});
|
|
2595
2298
|
/**
|
|
2596
|
-
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title
|
|
2299
|
+
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title or mediaType matters.
|
|
2597
2300
|
*/
|
|
2598
2301
|
video?: (string | {
|
|
2599
2302
|
/**
|
|
@@ -2616,10 +2319,6 @@ interface Slide {
|
|
|
2616
2319
|
* Optional MIME media type when it cannot be inferred from src.
|
|
2617
2320
|
*/
|
|
2618
2321
|
mediaType?: string;
|
|
2619
|
-
/**
|
|
2620
|
-
* Optional authoring/parsing format hint. Useful when format is more convenient than a full MIME media type.
|
|
2621
|
-
*/
|
|
2622
|
-
format?: string;
|
|
2623
2322
|
});
|
|
2624
2323
|
chart?: Chart;
|
|
2625
2324
|
table?: Table;
|
|
@@ -2628,7 +2327,7 @@ interface Slide {
|
|
|
2628
2327
|
*/
|
|
2629
2328
|
code?: (string | Code);
|
|
2630
2329
|
/**
|
|
2631
|
-
* Full-slide metric payload. A string or number is shorthand for { "value": value }; object form carries optional label, description, unit, delta, and
|
|
2330
|
+
* Full-slide metric payload. A string or number is shorthand for { "value": value }; object form carries optional label, description, unit, delta, trend, and sentiment metadata. Numeric values remain numbers; renderers format them for display. Presence of this field infers type 'metric'.
|
|
2632
2331
|
*/
|
|
2633
2332
|
metric?: (string | number | Metric);
|
|
2634
2333
|
/**
|
|
@@ -2675,6 +2374,9 @@ interface Slide {
|
|
|
2675
2374
|
* Layout-agnostic content blocks rendered together as a composed payload when exact placement is unspecified. At slide root, multiple content payload kinds with no explicit type, blocks, or regions are accepted as shorthand for equivalent blocks.
|
|
2676
2375
|
*/
|
|
2677
2376
|
blocks?: ContentPayload[];
|
|
2377
|
+
/**
|
|
2378
|
+
* Slide-level design applied on top of the deck-wide design.
|
|
2379
|
+
*/
|
|
2678
2380
|
design?: Design1;
|
|
2679
2381
|
left?: ContentPayload;
|
|
2680
2382
|
center?: ContentPayload;
|
|
@@ -2733,7 +2435,7 @@ interface Slide {
|
|
|
2733
2435
|
*/
|
|
2734
2436
|
section?: string;
|
|
2735
2437
|
/**
|
|
2736
|
-
* Whether the slide is hidden from the presented sequence.
|
|
2438
|
+
* Whether the slide is hidden from the presented sequence. The player skips it, the PPTX export writes it as a hidden slide, and per-slide image and PDF output skips it unless the caller asks to include hidden slides (opf CLI: --include-hidden; the deck-level renderSvg: the opt-in skipHidden). A slide named explicitly (opf render --slides, renderSvg slideIndex) is still rendered.
|
|
2737
2439
|
*/
|
|
2738
2440
|
hidden?: boolean;
|
|
2739
2441
|
composition?: Composition1;
|
|
@@ -2769,14 +2471,26 @@ interface Numbering {
|
|
|
2769
2471
|
*/
|
|
2770
2472
|
interface Chart {
|
|
2771
2473
|
/**
|
|
2772
|
-
* Chart type
|
|
2474
|
+
* Chart type, an engine vocabulary validated directly (no catalog lookup): the chart types Aspose.Slides officially supports, plus 'combo' (clustered columns with line series, see 'line' and 'secondaryAxis'). Each engine maps a type to its own chart model; labels and picker groups are catalog display metadata.
|
|
2773
2475
|
*/
|
|
2774
|
-
type:
|
|
2476
|
+
type: ("100pct-stacked-area" | "100pct-stacked-bar" | "100pct-stacked-column" | "area" | "bar" | "box-and-whisker" | "column" | "combo" | "doughnut" | "filled-radar" | "funnel" | "histogram" | "line" | "line-with-markers" | "pareto" | "pie" | "radar" | "radar-with-markers" | "scatter" | "stacked-area" | "stacked-bar" | "stacked-column" | "stacked-line" | "stacked-line-with-markers" | "treemap" | "waterfall" | "world");
|
|
2775
2477
|
/**
|
|
2776
|
-
* Chart data. Inline data uses a tabular columns/rows shape; renderers convert rows to chart series internally. A DatasetRef ({ "dataset": "<id>" }) plots a top-level dataset instead.
|
|
2478
|
+
* Chart data. Inline data uses a tabular columns/rows shape; renderers convert rows to chart series internally. A DatasetRef ({ "dataset": "<id>" }) plots a top-level dataset instead. Data from a spreadsheet or file is imported into inline columns and rows, and its origin is recorded in data.source.
|
|
2777
2479
|
*/
|
|
2778
|
-
data: (ChartData |
|
|
2480
|
+
data: (ChartData | DatasetRef);
|
|
2779
2481
|
mapping?: ChartMapping;
|
|
2482
|
+
/**
|
|
2483
|
+
* Combo charts only (type 'combo'): the plotted series, by column name, that are drawn as lines with markers; every other plotted series is drawn as clustered columns. Absent: the last plotted series is the line. A combo chart keeps at least one column series, so a list that names every series draws the first one as columns. Column series are drawn, exported and listed in the legend first, then the line series on the primary axis, then those on the secondary axis, each in plotted order. A name that is not a column is a 'chart-mapping-unknown-column' error; a column that is not plotted is a 'chart-mapping-adapted' warning. On any other chart type it is ignored with a 'chart-option-adapted' warning.
|
|
2484
|
+
*
|
|
2485
|
+
* @minItems 1
|
|
2486
|
+
*/
|
|
2487
|
+
line?: [string, ...(string)[]];
|
|
2488
|
+
/**
|
|
2489
|
+
* Combo charts only: line series, by column name, plotted against a secondary value axis at the right of the plot. That axis has its own scale, and its tick labels use the number format of the first secondary series' column (DataColumn.format), for example '0%' for a margin. Absent: every series shares the primary value axis at the left. A name that is not a line series (see 'line') stays on the primary axis with a 'chart-mapping-adapted' warning; an unknown column is a 'chart-mapping-unknown-column' error. On any other chart type it is ignored with a 'chart-option-adapted' warning.
|
|
2490
|
+
*
|
|
2491
|
+
* @minItems 1
|
|
2492
|
+
*/
|
|
2493
|
+
secondaryAxis?: [string, ...(string)[]];
|
|
2780
2494
|
axisTitles?: ChartAxisTitles;
|
|
2781
2495
|
/**
|
|
2782
2496
|
* Optional legend position. 'none' hides the legend. Absent keeps today's behaviour exactly (a legend at the right of multi-series charts and of pie and doughnut charts, none for single-series charts). A named position shows the legend there even for a single-series chart. Of the Office 2016 constructs only box-and-whisker takes a legend; histogram, pareto, waterfall, funnel, treemap and map drop the option with a 'chart-option-adapted' diagnostic.
|
|
@@ -2786,6 +2500,11 @@ interface Chart {
|
|
|
2786
2500
|
* Optional data labels. true shows value labels at each type's default position, false (or absent) shows none, which is today's behaviour. Use the object form for the label content, position and separator.
|
|
2787
2501
|
*/
|
|
2788
2502
|
dataLabels?: (boolean | ChartDataLabels);
|
|
2503
|
+
/**
|
|
2504
|
+
* Text alternative for the chart: what the data shows (the point and the key numbers), not 'a chart' or 'bar chart'. The preview exposes it as the chart's accessible name (role img with aria-label) and the PowerPoint export writes it as the chart frame's alternative text (descr); import reads it back. An empty string marks the chart decorative, with the same meaning as an empty Asset alt, but it is a reviewed choice that opf/chart-text-alternative still reports as info (a chart almost always carries a message). When absent, validate accepts text beside the chart instead.
|
|
2505
|
+
*/
|
|
2506
|
+
alt?: string;
|
|
2507
|
+
highlight?: ChartHighlight;
|
|
2789
2508
|
}
|
|
2790
2509
|
/**
|
|
2791
2510
|
* Inline tabular data driving a chart. The first column usually supplies category/x-axis labels; subsequent columns are plotted measures unless 'chart.mapping' or a chart type maps them differently. Value cells are numbers; a string is read only in strict decimal syntax ('12', '-3.5', '1e6'), and anything else ('12%', '$5', '(5)', '1,234') is a gap and a 'chart-value-not-numeric' warning.
|
|
@@ -2855,30 +2574,6 @@ interface DataSourceRef {
|
|
|
2855
2574
|
*/
|
|
2856
2575
|
description?: string;
|
|
2857
2576
|
}
|
|
2858
|
-
/**
|
|
2859
|
-
* Chart data sourced from an asset reference, URL, data URI, relative path, or local path such as CSV, TSV, JSON, or XLSX. The source is interpreted as a table; optional columns select or order fields from that table.
|
|
2860
|
-
*
|
|
2861
|
-
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
2862
|
-
* via the `definition` "ChartDataSource".
|
|
2863
|
-
*/
|
|
2864
|
-
interface ChartDataSource {
|
|
2865
|
-
/**
|
|
2866
|
-
* Data source. Use 'asset:<id>' to reference the top-level assets registry, or provide an HTTPS URL, data URI, relative path, or local filesystem path.
|
|
2867
|
-
*/
|
|
2868
|
-
src: string;
|
|
2869
|
-
/**
|
|
2870
|
-
* Optional sheet name or table name for spreadsheet-like assets.
|
|
2871
|
-
*/
|
|
2872
|
-
sheet?: string;
|
|
2873
|
-
/**
|
|
2874
|
-
* Optional A1-style range or engine-defined range selector for spreadsheet-like assets.
|
|
2875
|
-
*/
|
|
2876
|
-
range?: string;
|
|
2877
|
-
/**
|
|
2878
|
-
* Optional ordered columns or fields to read from the source. When omitted, renderers may use the source's own header row or schema.
|
|
2879
|
-
*/
|
|
2880
|
-
columns?: string[];
|
|
2881
|
-
}
|
|
2882
2577
|
/**
|
|
2883
2578
|
* Chart data taken from a top-level dataset. Engines inline it before plotting; 'chart.mapping' names columns after the 'fields' selection.
|
|
2884
2579
|
*
|
|
@@ -2912,7 +2607,7 @@ interface ChartMapping {
|
|
|
2912
2607
|
series?: [string, ...(string)[]];
|
|
2913
2608
|
}
|
|
2914
2609
|
/**
|
|
2915
|
-
* Optional axis titles. Absent keeps today's untitled axes. Supported on the chart types that have a category/value (or X/Y) axis pair (column, bar, line, area, scatter, and the histogram, pareto, waterfall and box-and-whisker constructs; the funnel construct takes a category title only); a title on a type without that axis (pie, doughnut, radar, treemap, map) is dropped with a 'chart-option-adapted' diagnostic by renderers and exporters.
|
|
2610
|
+
* Optional axis titles. Absent keeps today's untitled axes. Supported on the chart types that have a category/value (or X/Y) axis pair (column, bar, line, area, scatter, and the histogram, pareto, waterfall and box-and-whisker constructs; the funnel construct takes a category title only; a combo chart also takes 'secondary' when it plots a series on the secondary axis); a title on a type without that axis (pie, doughnut, radar, treemap, map) is dropped with a 'chart-option-adapted' diagnostic by renderers and exporters.
|
|
2916
2611
|
*/
|
|
2917
2612
|
interface ChartAxisTitles {
|
|
2918
2613
|
/**
|
|
@@ -2920,9 +2615,13 @@ interface ChartAxisTitles {
|
|
|
2920
2615
|
*/
|
|
2921
2616
|
category?: string;
|
|
2922
2617
|
/**
|
|
2923
|
-
* Title of the value (Y) axis.
|
|
2618
|
+
* Title of the value (Y) axis. On a combo chart, the primary (left) value axis.
|
|
2924
2619
|
*/
|
|
2925
2620
|
value?: string;
|
|
2621
|
+
/**
|
|
2622
|
+
* Combo charts only: title of the secondary value axis at the right of the plot, drawn rotated like the primary value axis title. Dropped with a 'chart-option-adapted' diagnostic on any other chart type and on a combo chart without 'secondaryAxis'.
|
|
2623
|
+
*/
|
|
2624
|
+
secondary?: string;
|
|
2926
2625
|
}
|
|
2927
2626
|
/**
|
|
2928
2627
|
* Data label settings. A label shows the selected content parts in the fixed order category, value, percent, joined by the separator.
|
|
@@ -2938,7 +2637,7 @@ interface ChartDataLabels {
|
|
|
2938
2637
|
*/
|
|
2939
2638
|
content?: [("value" | "percent" | "category"), ...(("value" | "percent" | "category"))[]];
|
|
2940
2639
|
/**
|
|
2941
|
-
* Where a label sits relative to its mark. 'auto' (the default) is the type's default: outside-end for clustered columns and bars, pie slices and the histogram, pareto and waterfall constructs; center for stacked columns and bars; above for line and scatter points. Clustered columns and bars and the histogram, pareto and waterfall constructs take center, inside-end, inside-base and outside-end; stacked columns and bars take center, inside-end and inside-base; pie takes center, inside-end and outside-end; line and scatter points take above, below, left, right and center. Area, doughnut and radar charts and the funnel and treemap constructs take only 'auto' (the box-and-whisker and map constructs have no data labels). An unsupported position falls back to 'auto' with a 'chart-option-adapted' diagnostic.
|
|
2640
|
+
* Where a label sits relative to its mark. 'auto' (the default) is the type's default: outside-end for clustered columns and bars, pie slices and the histogram, pareto and waterfall constructs; center for stacked columns and bars; above for line and scatter points. Clustered columns and bars and the histogram, pareto and waterfall constructs take center, inside-end, inside-base and outside-end; stacked columns and bars take center, inside-end and inside-base; pie takes center, inside-end and outside-end; line and scatter points take above, below, left, right and center. Area, doughnut and radar charts and the funnel and treemap constructs take only 'auto' (the box-and-whisker and map constructs have no data labels). A combo chart places the labels of its column series like clustered columns and those of its line series like line points; a position only one part takes applies to that part, and the other part keeps its default (outside-end, above). An unsupported position falls back to 'auto' with a 'chart-option-adapted' diagnostic.
|
|
2942
2641
|
*/
|
|
2943
2642
|
position?: ("auto" | "center" | "inside-end" | "inside-base" | "outside-end" | "above" | "below" | "left" | "right");
|
|
2944
2643
|
/**
|
|
@@ -2946,6 +2645,23 @@ interface ChartDataLabels {
|
|
|
2946
2645
|
*/
|
|
2947
2646
|
separator?: string;
|
|
2948
2647
|
}
|
|
2648
|
+
/**
|
|
2649
|
+
* Optional emphasis: the series and/or categories that carry the message. The engines draw the highlighted marks in the deck's primary (accent) color and every other mark in a muted neutral derived from the theme (a light grey on a light chart panel, a dim grey on a dark one); there is no color field. A mark is highlighted when its series OR its category is named. Absent keeps today's colors exactly. Supported on column, bar and line charts (series and categories; on a line a category highlight marks that category's points), pie and doughnut charts (categories, one per slice), and area, scatter and radar charts (series); the histogram, pareto, waterfall, funnel, treemap, box-and-whisker, map and combo constructs drop the option with a 'chart-option-adapted' diagnostic, as does a part the type cannot highlight. A name that matches no column or row label is a 'chart-highlight-unknown-name' error.
|
|
2650
|
+
*/
|
|
2651
|
+
interface ChartHighlight {
|
|
2652
|
+
/**
|
|
2653
|
+
* Series (value columns) to highlight: all marks of each named series. A name that is not a column is a 'chart-highlight-unknown-name' error; a column that is not plotted as a series (the category or X column, or one mapping.series leaves out) highlights nothing and is a 'chart-highlight-adapted' warning.
|
|
2654
|
+
*
|
|
2655
|
+
* @minItems 1
|
|
2656
|
+
*/
|
|
2657
|
+
series?: [string, ...(string)[]];
|
|
2658
|
+
/**
|
|
2659
|
+
* Categories (row labels) to highlight: the marks of each named category (a column or bar of every series, a line's points, a pie or doughnut slice). A label no row has is a 'chart-highlight-unknown-name' error.
|
|
2660
|
+
*
|
|
2661
|
+
* @minItems 1
|
|
2662
|
+
*/
|
|
2663
|
+
categories?: [string, ...(string)[]];
|
|
2664
|
+
}
|
|
2949
2665
|
/**
|
|
2950
2666
|
* Full-slide table payload. Presence of this field infers type 'table'.
|
|
2951
2667
|
*/
|
|
@@ -2999,11 +2715,11 @@ interface TableCellStyle {
|
|
|
2999
2715
|
/**
|
|
3000
2716
|
* Cell background: a hex color, a color-scheme slot or role name, or a 'var:<id>' variable reference. Eight-digit hex colors include alpha; #00000000 is transparent.
|
|
3001
2717
|
*/
|
|
3002
|
-
fill?: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "text" | "textSecondary") | string);
|
|
2718
|
+
fill?: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "surfaceAlt" | "text" | "textSecondary") | string);
|
|
3003
2719
|
/**
|
|
3004
2720
|
* Default text color, overridden by individual rich run colors. Accepts a hex color, a color-scheme slot or role name, or a 'var:<id>' variable reference.
|
|
3005
2721
|
*/
|
|
3006
|
-
color?: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "text" | "textSecondary") | string);
|
|
2722
|
+
color?: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "surfaceAlt" | "text" | "textSecondary") | string);
|
|
3007
2723
|
/**
|
|
3008
2724
|
* Horizontal text alignment inside the cell.
|
|
3009
2725
|
*/
|
|
@@ -3045,7 +2761,7 @@ interface TableCellBorder {
|
|
|
3045
2761
|
/**
|
|
3046
2762
|
* Border color: a hex color, a color-scheme slot or role name, or a 'var:<id>' variable reference. Eight-digit hex colors include alpha; #00000000 is transparent.
|
|
3047
2763
|
*/
|
|
3048
|
-
color: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "text" | "textSecondary") | string);
|
|
2764
|
+
color: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "surfaceAlt" | "text" | "textSecondary") | string);
|
|
3049
2765
|
/**
|
|
3050
2766
|
* Border width in reference pixels; 0 removes this edge.
|
|
3051
2767
|
*/
|
|
@@ -3056,7 +2772,7 @@ interface TableCellBorder {
|
|
|
3056
2772
|
dash?: ("solid" | "dash" | "dot");
|
|
3057
2773
|
}
|
|
3058
2774
|
/**
|
|
3059
|
-
* Code content with optional rendering metadata. Use 'source' for the code text, 'language' for syntax highlighting,
|
|
2775
|
+
* Code content with optional rendering metadata. Use 'source' for the code text, 'language' for syntax highlighting, 'filename' when the rendered block should show a file label, and 'highlight' to emphasize lines. A string value in a code field is shorthand for { "source": value }.
|
|
3060
2776
|
*
|
|
3061
2777
|
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
3062
2778
|
* via the `definition` "Code".
|
|
@@ -3074,9 +2790,15 @@ interface Code {
|
|
|
3074
2790
|
* Optional file label shown with the code block.
|
|
3075
2791
|
*/
|
|
3076
2792
|
filename?: string;
|
|
2793
|
+
/**
|
|
2794
|
+
* Source lines to emphasize, 1-based: each entry is a line number or an inclusive [start, end] range, so [3, [5, 7]] marks lines 3 and 5 to 7. Lines are counted by line break in 'source', so a line that wraps stays one line. Engines draw a theme-derived band behind the marked lines and dim the other lines slightly, keeping every line at least 4.5:1 against its background; PPTX export draws one native rectangle behind the line text boxes and import restores the list. A line number past the last line, or a range written end before start, gets a validation warning (code-highlight-out-of-range, code-highlight-range-reversed) and is ignored. When a code block is paginated across slides each page keeps the lines that fall on it, renumbered from 1.
|
|
2795
|
+
*
|
|
2796
|
+
* @minItems 1
|
|
2797
|
+
*/
|
|
2798
|
+
highlight?: [(number | [number, number]), ...((number | [number, number]))[]];
|
|
3077
2799
|
}
|
|
3078
2800
|
/**
|
|
3079
|
-
* Metric content with optional display metadata. Use 'value' for the primary value, 'label' for the metric name, 'description' for supporting context, 'unit' for a suffix/currency marker, 'delta' for change, and '
|
|
2801
|
+
* Metric content with optional display metadata. Use 'value' for the primary value, 'label' for the metric name, 'description' for supporting context, 'unit' for a suffix/currency marker, 'delta' for change, 'trend' for direction, and 'sentiment' for whether the change is good news. A string or number value in a metric field is shorthand for { "value": value }; numeric values remain numbers and are formatted by renderers.
|
|
3080
2802
|
*
|
|
3081
2803
|
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
3082
2804
|
* via the `definition` "Metric".
|
|
@@ -3103,27 +2825,60 @@ interface Metric {
|
|
|
3103
2825
|
*/
|
|
3104
2826
|
delta?: (string | number);
|
|
3105
2827
|
/**
|
|
3106
|
-
* Metric trend direction.
|
|
2828
|
+
* Metric trend direction. The preview and the PowerPoint export draw an arrow beside the trend word that always points the way the trend does (up, down or flat) and colour the arrow, the trend word and the delta text by `sentiment`.
|
|
3107
2829
|
*/
|
|
3108
2830
|
trend?: ("up" | "down" | "flat");
|
|
2831
|
+
/**
|
|
2832
|
+
* Whether the change is good news. Positive draws the trend arrow and the trend and delta text in green, negative in red and neutral in the neutral text colour, each kept at 4.5:1 contrast or more against the slide background. When absent the colour follows the trend: up is positive, down is negative and flat is neutral. Set it when the direction is not the verdict, for example positive on a falling churn, cost or latency trend. The arrow always keeps the direction of `trend`. Only the trend arrow and the trend and delta text take the colour, so sentiment has no visible effect on a metric without a trend.
|
|
2833
|
+
*/
|
|
2834
|
+
sentiment?: ("positive" | "negative" | "neutral");
|
|
3109
2835
|
}
|
|
3110
2836
|
/**
|
|
3111
|
-
* Quote content with optional attribution metadata. Use 'text' for the quoted text, 'attribution' for the credited person or organization, and 'source' for a citation or URL. A string value in a quote field is shorthand for { "text": value }.
|
|
2837
|
+
* Quote content with optional attribution metadata. Use 'text' for the quoted text, 'attribution' for the credited person or organization, 'role' for that person's title and organization, 'photo' for their headshot and 'source' for a citation or URL. A string value in a quote field is shorthand for { "text": value }.
|
|
3112
2838
|
*
|
|
3113
2839
|
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
3114
2840
|
* via the `definition` "Quote".
|
|
3115
2841
|
*/
|
|
3116
2842
|
interface Quote {
|
|
3117
2843
|
/**
|
|
3118
|
-
* Quoted text.
|
|
2844
|
+
* Quoted text: a string, or TextRun[] for inline rich text (a colored phrase, bold, a link, or a citation or footnote marker). The engine draws the surrounding quotation marks.
|
|
3119
2845
|
*/
|
|
3120
|
-
text: string;
|
|
2846
|
+
text: (string | TextRun[]);
|
|
3121
2847
|
/**
|
|
3122
|
-
* Person or organization credited for the quote.
|
|
2848
|
+
* Person or organization credited for the quote. Drawn after the quote text, in the muted text color.
|
|
3123
2849
|
*/
|
|
3124
2850
|
attribution?: string;
|
|
3125
2851
|
/**
|
|
3126
|
-
*
|
|
2852
|
+
* Title and organization of the attributed person. Drawn on its own line under the attribution; without an attribution it stands alone. It does not replace the attribution, so the person's name belongs in 'attribution'.
|
|
2853
|
+
*/
|
|
2854
|
+
role?: string;
|
|
2855
|
+
/**
|
|
2856
|
+
* Reusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local filesystem paths. Use object form when metadata such as alt text, title or mediaType matters.
|
|
2857
|
+
*/
|
|
2858
|
+
photo?: (string | {
|
|
2859
|
+
/**
|
|
2860
|
+
* Resource source. Accepts an 'asset:<id>' reference, HTTPS URL, data URI, relative path resolved against the OPF file location, or local filesystem path.
|
|
2861
|
+
*/
|
|
2862
|
+
src: string;
|
|
2863
|
+
/**
|
|
2864
|
+
* Alternative text for images and other visual assets.
|
|
2865
|
+
*/
|
|
2866
|
+
alt?: string;
|
|
2867
|
+
/**
|
|
2868
|
+
* Human-readable asset title for editors and asset pickers.
|
|
2869
|
+
*/
|
|
2870
|
+
title?: string;
|
|
2871
|
+
/**
|
|
2872
|
+
* Optional notes about the asset's contents, provenance, or intended use.
|
|
2873
|
+
*/
|
|
2874
|
+
description?: string;
|
|
2875
|
+
/**
|
|
2876
|
+
* Optional MIME media type when it cannot be inferred from src.
|
|
2877
|
+
*/
|
|
2878
|
+
mediaType?: string;
|
|
2879
|
+
});
|
|
2880
|
+
/**
|
|
2881
|
+
* Optional quote source, citation, or URL. Follows the attribution and role after ' - '.
|
|
3127
2882
|
*/
|
|
3128
2883
|
source?: string;
|
|
3129
2884
|
}
|
|
@@ -3146,20 +2901,100 @@ interface TimelineEvent {
|
|
|
3146
2901
|
* Optional event detail.
|
|
3147
2902
|
*/
|
|
3148
2903
|
description?: string;
|
|
2904
|
+
/**
|
|
2905
|
+
* Progress of the event, drawn from the deck's own colors by both the SVG renderer and the PPTX exporter. Absent means no status and the event is drawn as a plain filled marker with normal text, which is also how 'done' looks. 'done' is a filled marker in the primary color with normal text. 'current' marks 'we are here': the filled marker is surrounded by a ring and the event label (`what`) is bold. 'planned' is an outlined, hollow marker (primary-color outline over the slide background) with muted secondary text. Text colors keep a 4.5:1 contrast against the slide background. In PPTX the markers are native ellipses (the ring is a second ellipse), and PPTX import restores the status the export recorded. Status describes progress only; schedule health such as at risk or blocked belongs in the event text.
|
|
2906
|
+
*/
|
|
2907
|
+
status?: ("done" | "current" | "planned");
|
|
2908
|
+
}
|
|
2909
|
+
/**
|
|
2910
|
+
* Image payloads only. Point of the picture to keep in view when 'cover' crops it. Ignored by the other fits.
|
|
2911
|
+
*/
|
|
2912
|
+
interface ImageFocus1 {
|
|
2913
|
+
/**
|
|
2914
|
+
* Horizontal position, 0 (left edge) to 1 (right edge).
|
|
2915
|
+
*/
|
|
2916
|
+
x: number;
|
|
2917
|
+
/**
|
|
2918
|
+
* Vertical position, 0 (top edge) to 1 (bottom edge).
|
|
2919
|
+
*/
|
|
2920
|
+
y: number;
|
|
2921
|
+
}
|
|
2922
|
+
/**
|
|
2923
|
+
* Image payloads only. Line along the frame's shape.
|
|
2924
|
+
*/
|
|
2925
|
+
interface ImageBorder {
|
|
2926
|
+
/**
|
|
2927
|
+
* Line color: a hex color, a color-scheme slot or role name, or a 'var:<id>' variable reference.
|
|
2928
|
+
*/
|
|
2929
|
+
color: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "surfaceAlt" | "text" | "textSecondary") | string);
|
|
2930
|
+
/**
|
|
2931
|
+
* Line width in reference pixels at a 720-pixel short edge. 0 removes the line.
|
|
2932
|
+
*/
|
|
2933
|
+
width: number;
|
|
2934
|
+
}
|
|
2935
|
+
/**
|
|
2936
|
+
* Image payloads only. Scrim over the picture in the frame's shape, or a band along one edge of a rectangle frame.
|
|
2937
|
+
*/
|
|
2938
|
+
interface Overlay1 {
|
|
2939
|
+
/**
|
|
2940
|
+
* Overlay fill color: a hex color (eight-digit hex keeps its alpha), a color-scheme slot or role name, or a 'var:<id>' variable reference.
|
|
2941
|
+
*/
|
|
2942
|
+
color: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "surfaceAlt" | "text" | "textSecondary") | string);
|
|
2943
|
+
/**
|
|
2944
|
+
* Overlay fill opacity.
|
|
2945
|
+
*/
|
|
2946
|
+
opacity: number;
|
|
2947
|
+
/**
|
|
2948
|
+
* Cover only a band along this edge of the frame, for example a caption strip. Backgrounds and rectangle image frames only; on another shape the overlay is not drawn and composition reports unsupported-image-treatment. Omit to cover the whole frame. In a right-to-left deck 'left' and 'right' are the start and end sides.
|
|
2949
|
+
*/
|
|
2950
|
+
edge?: ("top" | "bottom" | "left" | "right");
|
|
2951
|
+
/**
|
|
2952
|
+
* Band share of the frame for an edge overlay. Default 0.3. Ignored without edge.
|
|
2953
|
+
*/
|
|
2954
|
+
size?: number;
|
|
2955
|
+
}
|
|
2956
|
+
/**
|
|
2957
|
+
* Image payloads only, and only on a top-level block (slides.N.blocks.I), at most one per edge. Bleeds the image to one slide edge; the headings and the other blocks compose in the rest of the slide.
|
|
2958
|
+
*/
|
|
2959
|
+
interface ImagePlacement {
|
|
2960
|
+
/**
|
|
2961
|
+
* The slide edge the image bleeds to.
|
|
2962
|
+
*/
|
|
2963
|
+
edge: ("left" | "right" | "top" | "bottom");
|
|
2964
|
+
/**
|
|
2965
|
+
* Share of the slide width (left, right) or height (top, bottom) given to the band. Default 0.5.
|
|
2966
|
+
*/
|
|
2967
|
+
size?: number;
|
|
2968
|
+
/**
|
|
2969
|
+
* Draw the frame inside the slide padding on every side of the band, like a card, instead of edge to edge. Default false.
|
|
2970
|
+
*/
|
|
2971
|
+
inset?: boolean;
|
|
3149
2972
|
}
|
|
3150
2973
|
/**
|
|
3151
2974
|
* Chart payload. Presence of this field infers type 'chart'.
|
|
3152
2975
|
*/
|
|
3153
2976
|
interface Chart1 {
|
|
3154
2977
|
/**
|
|
3155
|
-
* Chart type
|
|
2978
|
+
* Chart type, an engine vocabulary validated directly (no catalog lookup): the chart types Aspose.Slides officially supports, plus 'combo' (clustered columns with line series, see 'line' and 'secondaryAxis'). Each engine maps a type to its own chart model; labels and picker groups are catalog display metadata.
|
|
3156
2979
|
*/
|
|
3157
|
-
type:
|
|
2980
|
+
type: ("100pct-stacked-area" | "100pct-stacked-bar" | "100pct-stacked-column" | "area" | "bar" | "box-and-whisker" | "column" | "combo" | "doughnut" | "filled-radar" | "funnel" | "histogram" | "line" | "line-with-markers" | "pareto" | "pie" | "radar" | "radar-with-markers" | "scatter" | "stacked-area" | "stacked-bar" | "stacked-column" | "stacked-line" | "stacked-line-with-markers" | "treemap" | "waterfall" | "world");
|
|
3158
2981
|
/**
|
|
3159
|
-
* Chart data. Inline data uses a tabular columns/rows shape; renderers convert rows to chart series internally. A DatasetRef ({ "dataset": "<id>" }) plots a top-level dataset instead.
|
|
2982
|
+
* Chart data. Inline data uses a tabular columns/rows shape; renderers convert rows to chart series internally. A DatasetRef ({ "dataset": "<id>" }) plots a top-level dataset instead. Data from a spreadsheet or file is imported into inline columns and rows, and its origin is recorded in data.source.
|
|
3160
2983
|
*/
|
|
3161
|
-
data: (ChartData |
|
|
2984
|
+
data: (ChartData | DatasetRef);
|
|
3162
2985
|
mapping?: ChartMapping;
|
|
2986
|
+
/**
|
|
2987
|
+
* Combo charts only (type 'combo'): the plotted series, by column name, that are drawn as lines with markers; every other plotted series is drawn as clustered columns. Absent: the last plotted series is the line. A combo chart keeps at least one column series, so a list that names every series draws the first one as columns. Column series are drawn, exported and listed in the legend first, then the line series on the primary axis, then those on the secondary axis, each in plotted order. A name that is not a column is a 'chart-mapping-unknown-column' error; a column that is not plotted is a 'chart-mapping-adapted' warning. On any other chart type it is ignored with a 'chart-option-adapted' warning.
|
|
2988
|
+
*
|
|
2989
|
+
* @minItems 1
|
|
2990
|
+
*/
|
|
2991
|
+
line?: [string, ...(string)[]];
|
|
2992
|
+
/**
|
|
2993
|
+
* Combo charts only: line series, by column name, plotted against a secondary value axis at the right of the plot. That axis has its own scale, and its tick labels use the number format of the first secondary series' column (DataColumn.format), for example '0%' for a margin. Absent: every series shares the primary value axis at the left. A name that is not a line series (see 'line') stays on the primary axis with a 'chart-mapping-adapted' warning; an unknown column is a 'chart-mapping-unknown-column' error. On any other chart type it is ignored with a 'chart-option-adapted' warning.
|
|
2994
|
+
*
|
|
2995
|
+
* @minItems 1
|
|
2996
|
+
*/
|
|
2997
|
+
secondaryAxis?: [string, ...(string)[]];
|
|
3163
2998
|
axisTitles?: ChartAxisTitles;
|
|
3164
2999
|
/**
|
|
3165
3000
|
* Optional legend position. 'none' hides the legend. Absent keeps today's behaviour exactly (a legend at the right of multi-series charts and of pie and doughnut charts, none for single-series charts). A named position shows the legend there even for a single-series chart. Of the Office 2016 constructs only box-and-whisker takes a legend; histogram, pareto, waterfall, funnel, treemap and map drop the option with a 'chart-option-adapted' diagnostic.
|
|
@@ -3169,6 +3004,11 @@ interface Chart1 {
|
|
|
3169
3004
|
* Optional data labels. true shows value labels at each type's default position, false (or absent) shows none, which is today's behaviour. Use the object form for the label content, position and separator.
|
|
3170
3005
|
*/
|
|
3171
3006
|
dataLabels?: (boolean | ChartDataLabels);
|
|
3007
|
+
/**
|
|
3008
|
+
* Text alternative for the chart: what the data shows (the point and the key numbers), not 'a chart' or 'bar chart'. The preview exposes it as the chart's accessible name (role img with aria-label) and the PowerPoint export writes it as the chart frame's alternative text (descr); import reads it back. An empty string marks the chart decorative, with the same meaning as an empty Asset alt, but it is a reviewed choice that opf/chart-text-alternative still reports as info (a chart almost always carries a message). When absent, validate accepts text beside the chart instead.
|
|
3009
|
+
*/
|
|
3010
|
+
alt?: string;
|
|
3011
|
+
highlight?: ChartHighlight;
|
|
3172
3012
|
}
|
|
3173
3013
|
/**
|
|
3174
3014
|
* Table payload. Presence of this field infers type 'table'.
|
|
@@ -3225,33 +3065,30 @@ interface Composition {
|
|
|
3225
3065
|
overflow?: ("warn" | "error");
|
|
3226
3066
|
}
|
|
3227
3067
|
/**
|
|
3228
|
-
*
|
|
3068
|
+
* Visual design system applied to the presentation; individual slides may override fields via Slide.design.
|
|
3069
|
+
*
|
|
3070
|
+
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
3071
|
+
* via the `definition` "Design".
|
|
3229
3072
|
*/
|
|
3230
3073
|
interface Design1 {
|
|
3231
3074
|
/**
|
|
3232
|
-
*
|
|
3233
|
-
* - String shorthand: 'design.theme = "minimal"'. Bare id, HTTPS URL, or 'pkg:' reference resolved as the 'id' of a 'themes' catalog record.
|
|
3234
|
-
* - Object form: a Theme with an optional 'id' base reference plus theme-level overrides.
|
|
3235
|
-
*
|
|
3236
|
-
* Inline overrides on design.colorScheme / design.fontScheme / design.background / design.dimensions take precedence over the resolved theme.
|
|
3237
|
-
*
|
|
3238
|
-
* Resolution order: inline catalogs.themes.records[] -> catalogs.themes.source -> default catalog at https://www.pptx.gallery/themes.
|
|
3075
|
+
* A content reference: a bare id ('two-column') or 'name:id' ('acme:hero'), where the prefix names a group of 'catalogs'. URLs and 'pkg:' strings are not references; a named catalog group replaces them. See Catalogs for the resolution order.
|
|
3239
3076
|
*/
|
|
3240
|
-
theme?:
|
|
3077
|
+
theme?: string;
|
|
3241
3078
|
/**
|
|
3242
3079
|
* Color scheme for the presentation. Accepts two forms:
|
|
3243
|
-
* -
|
|
3244
|
-
* - Object form: a ColorScheme with an optional 'id' base
|
|
3080
|
+
* - A colorSchemes reference: a bare id ('cool-horizon') or 'name:id' ('acme:ocean').
|
|
3081
|
+
* - Object form: a ColorScheme with an optional 'id' reference as the base plus slot/role overrides. Without 'id', the overrides apply on top of the engine default colour scheme.
|
|
3245
3082
|
*
|
|
3246
|
-
*
|
|
3083
|
+
* Without either, the theme's colorScheme applies, then the engine default colour scheme.
|
|
3247
3084
|
*/
|
|
3248
3085
|
colorScheme?: (string | ColorScheme);
|
|
3249
3086
|
/**
|
|
3250
3087
|
* Font scheme for heading, body, accent, and code text. Accepts two forms:
|
|
3251
|
-
* -
|
|
3252
|
-
* - Object form: a FontScheme with an optional 'id' base
|
|
3088
|
+
* - A fontSchemes reference: a bare id ('aptos') or 'name:id' ('acme:inter').
|
|
3089
|
+
* - Object form: a FontScheme with an optional 'id' reference as the base plus pair/role overrides.
|
|
3253
3090
|
*
|
|
3254
|
-
*
|
|
3091
|
+
* Without either, the theme's fontScheme applies, then the engine default font scheme.
|
|
3255
3092
|
*/
|
|
3256
3093
|
fontScheme?: (string | FontScheme);
|
|
3257
3094
|
/**
|
|
@@ -3259,7 +3096,7 @@ interface Design1 {
|
|
|
3259
3096
|
*/
|
|
3260
3097
|
dimensions?: (DimensionPreset | Dimensions);
|
|
3261
3098
|
/**
|
|
3262
|
-
* Default slide background applied across the deck unless overridden on a slide. String shorthand accepts theme slots ('light1', 'light2', 'dark1', 'dark2') or
|
|
3099
|
+
* Default slide background applied across the deck unless overridden on a slide (slides.N.design.background); the resolved theme's background is the fallback. A background is the only canvas fill and never moves content. String shorthand accepts theme slots ('light1', 'light2', 'dark1', 'dark2'), hex colors, or an image source starting with 'asset:', 'https://', 'data:', './' or '../' (a cover image); object forms support theme, solid, gradient, image, or pattern fills.
|
|
3263
3100
|
*/
|
|
3264
3101
|
background?: (BackgroundShortcut | Background);
|
|
3265
3102
|
/**
|
|
@@ -3267,7 +3104,7 @@ interface Design1 {
|
|
|
3267
3104
|
*/
|
|
3268
3105
|
logo?: (Asset | LogoSet);
|
|
3269
3106
|
/**
|
|
3270
|
-
* Optional decorative watermark applied across slides. Use false to suppress an inherited watermark in slide-level design; a string is
|
|
3107
|
+
* Optional decorative watermark applied across slides: an image or a text stamp, in the fixed frame and at the opacity described on Watermark. Use false to suppress an inherited watermark in slide-level design; a string or Asset is the image at opacity 0.08.
|
|
3271
3108
|
*/
|
|
3272
3109
|
watermark?: (false | Asset | Watermark);
|
|
3273
3110
|
/**
|
|
@@ -3279,123 +3116,31 @@ interface Design1 {
|
|
|
3279
3116
|
*/
|
|
3280
3117
|
footer?: (false | HeaderFooter);
|
|
3281
3118
|
/**
|
|
3282
|
-
* Default horizontal alignment for title placeholders in resolved layouts.
|
|
3119
|
+
* Default horizontal alignment for title placeholders in resolved layouts. Effective value: the slide's design, then the deck's design, then the layout record's design.titleAlignment, then the engine default.
|
|
3283
3120
|
*/
|
|
3284
3121
|
titleAlignment?: ("left" | "center" | "right");
|
|
3285
3122
|
/**
|
|
3286
|
-
* Default horizontal alignment for body/content regions in resolved layouts.
|
|
3123
|
+
* Default horizontal alignment for body/content regions in resolved layouts. Effective value: the slide's design, then the deck's design, then the layout record's design.contentAlignment, then the engine default. A cover's tag and subtitle follow titleAlignment unless the slide's own design sets contentAlignment.
|
|
3287
3124
|
*/
|
|
3288
3125
|
contentAlignment?: ("left" | "center" | "right");
|
|
3289
3126
|
/**
|
|
3290
|
-
* Whether body/content regions are rendered inside a visible card or surface.
|
|
3127
|
+
* Whether body/content regions are rendered inside a visible card or surface. Effective value: the slide's design, then the deck's design, then the layout record's design.contentBox, then the engine default.
|
|
3291
3128
|
*/
|
|
3292
3129
|
contentBox?: boolean;
|
|
3293
3130
|
/**
|
|
3294
|
-
*
|
|
3295
|
-
*/
|
|
3296
|
-
slideImage?: (Asset | {
|
|
3297
|
-
/**
|
|
3298
|
-
* Source for the slide-level image. When omitted in a design override, the object only configures how a slide-level image should be placed when one is supplied by a content payload, asset, or renderer convention.
|
|
3299
|
-
*/
|
|
3300
|
-
src?: string;
|
|
3301
|
-
/**
|
|
3302
|
-
* Where the slide-level image sits relative to the content. 'background' is a full-bleed image behind the content. The other positions give the image a band along that edge (see size) and compose headings and content in the rest of the slide.
|
|
3303
|
-
*/
|
|
3304
|
-
position: ("background" | "top" | "bottom" | "left" | "right");
|
|
3305
|
-
/**
|
|
3306
|
-
* Alternative text for the slide-level image. Overrides the alt text of a referenced asset.
|
|
3307
|
-
*/
|
|
3308
|
-
alt?: string;
|
|
3309
|
-
/**
|
|
3310
|
-
* How the image fills its frame: 'crop' covers the frame from the center; 'fit' shows the whole image centered inside it. Overrides design.imageFill for this image. Default: design.imageFill, else 'crop'.
|
|
3311
|
-
*/
|
|
3312
|
-
fill?: ("crop" | "fit");
|
|
3313
|
-
/**
|
|
3314
|
-
* Share of the slide width (left/right) or height (top/bottom) given to the image band. Ignored for 'background'. Default 0.5.
|
|
3315
|
-
*/
|
|
3316
|
-
size?: number;
|
|
3317
|
-
/**
|
|
3318
|
-
* Place the frame inside the slide padding instead of edge to edge, like a card. Default false.
|
|
3319
|
-
*/
|
|
3320
|
-
inset?: boolean;
|
|
3321
|
-
/**
|
|
3322
|
-
* Width-to-height ratio of the frame. The frame becomes the largest centered box with this ratio inside the band or slide, for example 2.39 for a cinematic letterbox or 0.5 for a phone-shaped frame. 'circle' always uses 1.
|
|
3323
|
-
*/
|
|
3324
|
-
aspectRatio?: number;
|
|
3325
|
-
/**
|
|
3326
|
-
* Mask applied to the frame, exported as the picture's native preset geometry (rect, roundRect, ellipse, hexagon). 'circle' makes the frame square. Default 'rectangle'.
|
|
3327
|
-
*/
|
|
3328
|
-
shape?: ("rectangle" | "rounded" | "circle" | "hexagon");
|
|
3329
|
-
/**
|
|
3330
|
-
* Corner radius for shape 'rounded' as a fraction of the frame's shorter side. Default 0.16667, PowerPoint's roundRect default.
|
|
3331
|
-
*/
|
|
3332
|
-
cornerRadius?: number;
|
|
3333
|
-
/**
|
|
3334
|
-
* Solid line along the frame's shape. A thick dark border on a rounded portrait frame gives a device bezel.
|
|
3335
|
-
*/
|
|
3336
|
-
border?: {
|
|
3337
|
-
/**
|
|
3338
|
-
* Line color: a hex color, a color-scheme slot or role name, or a 'var:<id>' variable reference.
|
|
3339
|
-
*/
|
|
3340
|
-
color: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "text" | "textSecondary") | string);
|
|
3341
|
-
/**
|
|
3342
|
-
* Line width in reference pixels at a 720-pixel short edge, centered on the frame outline like a native picture line. 0 removes the line.
|
|
3343
|
-
*/
|
|
3344
|
-
width: number;
|
|
3345
|
-
};
|
|
3346
|
-
/**
|
|
3347
|
-
* Image opacity from 0 to 1, exported as a native alphaModFix. The border and overlay keep their own opacity. Default 1.
|
|
3348
|
-
*/
|
|
3349
|
-
opacity?: number;
|
|
3350
|
-
/**
|
|
3351
|
-
* Color treatment for the image pixels. Luminance uses Rec. 601 weights (0.299, 0.587, 0.114) on sRGB values.
|
|
3352
|
-
*/
|
|
3353
|
-
recolor?: ("grayscale" | {
|
|
3354
|
-
/**
|
|
3355
|
-
* Color at luminance 0.
|
|
3356
|
-
*/
|
|
3357
|
-
dark: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "text" | "textSecondary") | string);
|
|
3358
|
-
/**
|
|
3359
|
-
* Color at luminance 1.
|
|
3360
|
-
*/
|
|
3361
|
-
light: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "text" | "textSecondary") | string);
|
|
3362
|
-
});
|
|
3363
|
-
/**
|
|
3364
|
-
* Solid scrim drawn over the image in the frame's shape, beneath headings and content, for example to keep overlaid text readable. Exported as a native shape above the picture.
|
|
3365
|
-
*/
|
|
3366
|
-
overlay?: {
|
|
3367
|
-
/**
|
|
3368
|
-
* Overlay fill color.
|
|
3369
|
-
*/
|
|
3370
|
-
color: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "text" | "textSecondary") | string);
|
|
3371
|
-
/**
|
|
3372
|
-
* Overlay fill opacity.
|
|
3373
|
-
*/
|
|
3374
|
-
opacity: number;
|
|
3375
|
-
/**
|
|
3376
|
-
* Cover only a band along this edge of the frame, for example a caption strip. Rectangle frames only; other shapes report unsupported-image-treatment and draw no overlay. Omit to cover the whole frame.
|
|
3377
|
-
*/
|
|
3378
|
-
edge?: ("top" | "bottom" | "left" | "right");
|
|
3379
|
-
/**
|
|
3380
|
-
* Band share of the frame for an edge overlay. Default 0.3.
|
|
3381
|
-
*/
|
|
3382
|
-
size?: number;
|
|
3383
|
-
};
|
|
3384
|
-
});
|
|
3385
|
-
/**
|
|
3386
|
-
* Axis along which parallel body content is arranged. Sets the root arrangement mode of blocks and root payloads when no composition.mode is set on the slide or on its layout record: 'vertical' is column, 'horizontal' is row. Precedence: composition.mode (the slide's own, else the layout record's geometry contract), then this value (slide design, then deck design), then the layout record's slideLayoutDirection, then automatic selection. A layout that carries a composition.mode keeps its grid or direction whatever this value says. Promoted regions (left, top:left, ...) keep their explicit geometry and nested groups keep their own composition.
|
|
3131
|
+
* Axis along which parallel body content is arranged. Sets the root arrangement mode of blocks and root payloads when no composition.mode is set on the slide or on its layout record: 'vertical' is column, 'horizontal' is row. Precedence: composition.mode (the slide's own, else the layout record's geometry contract), then the effective value (slide design, then deck design, then the layout record's design.contentDirection), then automatic selection. A layout that carries a composition.mode keeps its grid or direction whatever this value says. Promoted regions (left, top:left, ...) keep their explicit geometry and nested groups keep their own composition.
|
|
3387
3132
|
*/
|
|
3388
3133
|
contentDirection?: ("horizontal" | "vertical");
|
|
3389
3134
|
/**
|
|
3390
|
-
* Where the primary chart sits relative to supporting content. Effective value: slide design, then deck design, then the layout record's
|
|
3135
|
+
* Where the primary chart sits relative to supporting content. Effective value: slide design, then deck design, then the layout record's design.chartPrimary. When the slide has no promoted regions and no composition.mode of its own, and its root nodes mix at least one chart with other content, the first chart becomes a primary track and the other nodes form one synthetic sub-grid: 'left'/'right' is a two-track row and 'top'/'bottom' a two-track column, weighted 3:2 in favor of the chart; explicit root columns and weights are ignored while it applies. 'none' (the default) keeps the ordinary automatic grid with equal weight.
|
|
3391
3136
|
*/
|
|
3392
3137
|
chartPrimary?: ("none" | "top" | "bottom" | "left" | "right");
|
|
3393
3138
|
/**
|
|
3394
|
-
*
|
|
3139
|
+
* Default fit of image blocks (and Slide.image) that set no fit of their own: 'cover' fills the frame and crops what overflows around the block's focus, 'contain' shows the whole picture centered in the frame, 'stretch' scales it to the frame exactly. Effective value: the slide's design, then the deck's design, then the layout record's design.imageFit, then 'cover'. Backgrounds set their own fit.
|
|
3395
3140
|
*/
|
|
3396
|
-
|
|
3141
|
+
imageFit?: ("cover" | "contain" | "stretch");
|
|
3397
3142
|
/**
|
|
3398
|
-
* Marker style for items and bullets lists. 'character' (the default) draws the glyph marker. 'image' draws the deck's icon logo (a slide's design.logo, then design.logo, then the primary organization's logo; light variants on dark backgrounds) as a picture bullet: a square of the marker's font size whose bottom sits on the marker baseline, so list geometry does not change. Without a logo the glyph is drawn and the engine reports unresolved-content at this field.
|
|
3143
|
+
* Marker style for items and bullets lists. Effective value: the slide's design, then the deck's design, then the layout record's design.listBullet, then 'character'. 'character' (the default) draws the glyph marker. 'image' draws the deck's icon logo (a slide's design.logo, then design.logo, then the primary organization's logo; light variants on dark backgrounds) as a picture bullet: a square of the marker's font size whose bottom sits on the marker baseline, so list geometry does not change. Without a logo the glyph is drawn and the engine reports unresolved-content at this field.
|
|
3399
3144
|
*/
|
|
3400
3145
|
listBullet?: ("character" | "image");
|
|
3401
3146
|
[k: string]: unknown;
|
|
@@ -3460,7 +3205,7 @@ interface Reference {
|
|
|
3460
3205
|
url?: string;
|
|
3461
3206
|
}
|
|
3462
3207
|
/**
|
|
3463
|
-
* Optional shared data tables, keyed by id. A chart ('chart.data': { "dataset": "<id>" }) or a table ('table': { "dataset": "<id>" }) references one instead of holding its own copy; engines inline the reference before composing, rendering or exporting. A dataset nothing references is
|
|
3208
|
+
* Optional shared data tables, keyed by id. A chart ('chart.data': { "dataset": "<id>" }) or a table ('table': { "dataset": "<id>" }) references one instead of holding its own copy; engines inline the reference before composing, rendering or exporting. A dataset nothing references is the warning opf/unused-dataset. See docs/chart-table-data.md.
|
|
3464
3209
|
*/
|
|
3465
3210
|
interface Datasets {
|
|
3466
3211
|
[k: string]: Dataset;
|
|
@@ -3530,197 +3275,128 @@ interface Assets {
|
|
|
3530
3275
|
[k: string]: Asset;
|
|
3531
3276
|
}
|
|
3532
3277
|
/**
|
|
3533
|
-
*
|
|
3278
|
+
* The catalog records this document embeds, grouped by the catalog they came from: 'default' (the catalog bare ids come from), 'custom' (records the document defines itself) and any number of named catalogs ('acme', referenced as 'acme:<id>'). A saved document embeds every record it references, so it renders the same with no catalog registered. See Catalogs.
|
|
3534
3279
|
*/
|
|
3535
3280
|
interface Catalogs {
|
|
3536
|
-
narratives?: CatalogEntry;
|
|
3537
|
-
themes?: CatalogEntry1;
|
|
3538
|
-
colorSchemes?: CatalogEntry2;
|
|
3539
|
-
fontSchemes?: CatalogEntry3;
|
|
3540
|
-
languages?: CatalogEntry4;
|
|
3541
|
-
layouts?: CatalogEntry5;
|
|
3542
|
-
chartTypes?: CatalogEntry6;
|
|
3543
|
-
tones?: CatalogEntry7;
|
|
3544
|
-
purposes?: CatalogEntry8;
|
|
3545
|
-
audiences?: CatalogEntry9;
|
|
3546
|
-
socialPlatforms?: CatalogEntry10;
|
|
3547
|
-
[k: string]: unknown;
|
|
3548
|
-
}
|
|
3549
|
-
/**
|
|
3550
|
-
* Catalog of narrative templates. Records validate against https://openpresentation.org/schema/opf-narrative/v1. Default source: https://www.pptx.gallery/narratives.
|
|
3551
|
-
*/
|
|
3552
|
-
interface CatalogEntry {
|
|
3553
3281
|
/**
|
|
3554
|
-
*
|
|
3282
|
+
* The catalog bare ids come from: its source and the records of it this document embeds. false turns off the catalog fallback for bare ids.
|
|
3555
3283
|
*/
|
|
3556
|
-
|
|
3284
|
+
default?: (CatalogGroup | false);
|
|
3557
3285
|
/**
|
|
3558
|
-
*
|
|
3286
|
+
* Records the document defines itself, referenced by bare id. Checked first for every bare id. Forking a catalog record copies it here under a new id, so the change of ownership is visible.
|
|
3559
3287
|
*/
|
|
3560
|
-
|
|
3561
|
-
[k: string]: unknown;
|
|
3562
|
-
}[];
|
|
3563
|
-
[k: string]: unknown;
|
|
3564
|
-
}
|
|
3565
|
-
/**
|
|
3566
|
-
* Catalog of themes. Records validate against https://openpresentation.org/schema/opf-theme/v1. Default source: https://www.pptx.gallery/themes.
|
|
3567
|
-
*/
|
|
3568
|
-
interface CatalogEntry1 {
|
|
3569
|
-
/**
|
|
3570
|
-
* Single source or an ordered search path of sources. When omitted, the engine falls back to the default catalog at https://www.pptx.gallery/<kind>, resolved from its bundled snapshot. Fetching a declared source is an explicit opt-in: the engine or its caller performs that fetch.
|
|
3571
|
-
*/
|
|
3572
|
-
source?: (CatalogSource | [CatalogSource, ...(CatalogSource)[]]);
|
|
3288
|
+
custom?: CatalogGroup;
|
|
3573
3289
|
/**
|
|
3574
|
-
*
|
|
3290
|
+
* A named catalog: its source and the records of it this document embeds. References name it as a prefix ('acme:hero').
|
|
3575
3291
|
*/
|
|
3576
|
-
|
|
3292
|
+
[k: string]: (CatalogGroup & {
|
|
3577
3293
|
[k: string]: unknown;
|
|
3578
|
-
}
|
|
3579
|
-
[k: string]: unknown;
|
|
3294
|
+
}) | CatalogGroup | false | undefined;
|
|
3580
3295
|
}
|
|
3581
3296
|
/**
|
|
3582
|
-
*
|
|
3297
|
+
* One catalog group: the catalog's source and the records of it the document embeds, by kind and then by id.
|
|
3298
|
+
*
|
|
3299
|
+
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
3300
|
+
* via the `definition` "CatalogGroup".
|
|
3583
3301
|
*/
|
|
3584
|
-
interface
|
|
3585
|
-
|
|
3586
|
-
|
|
3587
|
-
|
|
3588
|
-
|
|
3589
|
-
|
|
3590
|
-
|
|
3591
|
-
|
|
3592
|
-
|
|
3593
|
-
|
|
3594
|
-
}[];
|
|
3595
|
-
[k: string]: unknown;
|
|
3302
|
+
interface CatalogGroup {
|
|
3303
|
+
source?: CatalogSource;
|
|
3304
|
+
layouts?: CatalogRecords;
|
|
3305
|
+
themes?: CatalogRecords1;
|
|
3306
|
+
colorSchemes?: CatalogRecords2;
|
|
3307
|
+
fontSchemes?: CatalogRecords3;
|
|
3308
|
+
narratives?: CatalogRecords4;
|
|
3309
|
+
audiences?: CatalogRecords5;
|
|
3310
|
+
purposes?: CatalogRecords6;
|
|
3311
|
+
tones?: CatalogRecords7;
|
|
3596
3312
|
}
|
|
3597
3313
|
/**
|
|
3598
|
-
*
|
|
3314
|
+
* Layout records keyed by id, each with the fields of https://openpresentation.org/schema/opf-layout/v1. Referenced from Slide.layout.
|
|
3599
3315
|
*/
|
|
3600
|
-
interface
|
|
3316
|
+
interface CatalogRecords {
|
|
3601
3317
|
/**
|
|
3602
|
-
*
|
|
3318
|
+
* One embedded record: the fields of the kind's companion schema without '$schema' and 'id'.
|
|
3603
3319
|
*/
|
|
3604
|
-
|
|
3605
|
-
/**
|
|
3606
|
-
* Inline catalog records embedded in this OPF document. Each record validates against the kind's companion schema (e.g. https://openpresentation.org/schema/opf-narrative/v1 for narratives). Inline records win over anything resolved from 'source' and over the default catalog.
|
|
3607
|
-
*/
|
|
3608
|
-
records?: {
|
|
3320
|
+
[k: string]: {
|
|
3609
3321
|
[k: string]: unknown;
|
|
3610
|
-
}
|
|
3611
|
-
[k: string]: unknown;
|
|
3322
|
+
};
|
|
3612
3323
|
}
|
|
3613
3324
|
/**
|
|
3614
|
-
*
|
|
3325
|
+
* Theme records keyed by id, each with the fields of https://openpresentation.org/schema/opf-theme/v1. Referenced from design.theme.
|
|
3615
3326
|
*/
|
|
3616
|
-
interface
|
|
3327
|
+
interface CatalogRecords1 {
|
|
3617
3328
|
/**
|
|
3618
|
-
*
|
|
3329
|
+
* One embedded record: the fields of the kind's companion schema without '$schema' and 'id'.
|
|
3619
3330
|
*/
|
|
3620
|
-
|
|
3621
|
-
/**
|
|
3622
|
-
* Inline catalog records embedded in this OPF document. Each record validates against the kind's companion schema (e.g. https://openpresentation.org/schema/opf-narrative/v1 for narratives). Inline records win over anything resolved from 'source' and over the default catalog.
|
|
3623
|
-
*/
|
|
3624
|
-
records?: {
|
|
3331
|
+
[k: string]: {
|
|
3625
3332
|
[k: string]: unknown;
|
|
3626
|
-
}
|
|
3627
|
-
[k: string]: unknown;
|
|
3333
|
+
};
|
|
3628
3334
|
}
|
|
3629
3335
|
/**
|
|
3630
|
-
*
|
|
3336
|
+
* Colour-scheme records keyed by id, each with the fields of https://openpresentation.org/schema/opf-color-scheme/v1. Referenced from design.colorScheme and a theme's colorScheme.
|
|
3631
3337
|
*/
|
|
3632
|
-
interface
|
|
3338
|
+
interface CatalogRecords2 {
|
|
3633
3339
|
/**
|
|
3634
|
-
*
|
|
3340
|
+
* One embedded record: the fields of the kind's companion schema without '$schema' and 'id'.
|
|
3635
3341
|
*/
|
|
3636
|
-
|
|
3637
|
-
/**
|
|
3638
|
-
* Inline catalog records embedded in this OPF document. Each record validates against the kind's companion schema (e.g. https://openpresentation.org/schema/opf-narrative/v1 for narratives). Inline records win over anything resolved from 'source' and over the default catalog.
|
|
3639
|
-
*/
|
|
3640
|
-
records?: {
|
|
3342
|
+
[k: string]: {
|
|
3641
3343
|
[k: string]: unknown;
|
|
3642
|
-
}
|
|
3643
|
-
[k: string]: unknown;
|
|
3344
|
+
};
|
|
3644
3345
|
}
|
|
3645
3346
|
/**
|
|
3646
|
-
*
|
|
3347
|
+
* Font-scheme records keyed by id, each with the fields of https://openpresentation.org/schema/opf-font-scheme/v1. Referenced from design.fontScheme, a theme's fontScheme and a language's font schemes.
|
|
3647
3348
|
*/
|
|
3648
|
-
interface
|
|
3349
|
+
interface CatalogRecords3 {
|
|
3649
3350
|
/**
|
|
3650
|
-
*
|
|
3351
|
+
* One embedded record: the fields of the kind's companion schema without '$schema' and 'id'.
|
|
3651
3352
|
*/
|
|
3652
|
-
|
|
3653
|
-
/**
|
|
3654
|
-
* Inline catalog records embedded in this OPF document. Each record validates against the kind's companion schema (e.g. https://openpresentation.org/schema/opf-narrative/v1 for narratives). Inline records win over anything resolved from 'source' and over the default catalog.
|
|
3655
|
-
*/
|
|
3656
|
-
records?: {
|
|
3353
|
+
[k: string]: {
|
|
3657
3354
|
[k: string]: unknown;
|
|
3658
|
-
}
|
|
3659
|
-
[k: string]: unknown;
|
|
3355
|
+
};
|
|
3660
3356
|
}
|
|
3661
3357
|
/**
|
|
3662
|
-
*
|
|
3358
|
+
* Narrative records keyed by id, each with the fields of https://openpresentation.org/schema/opf-narrative/v1. Referenced from narrative.
|
|
3663
3359
|
*/
|
|
3664
|
-
interface
|
|
3360
|
+
interface CatalogRecords4 {
|
|
3665
3361
|
/**
|
|
3666
|
-
*
|
|
3362
|
+
* One embedded record: the fields of the kind's companion schema without '$schema' and 'id'.
|
|
3667
3363
|
*/
|
|
3668
|
-
|
|
3669
|
-
/**
|
|
3670
|
-
* Inline catalog records embedded in this OPF document. Each record validates against the kind's companion schema (e.g. https://openpresentation.org/schema/opf-narrative/v1 for narratives). Inline records win over anything resolved from 'source' and over the default catalog.
|
|
3671
|
-
*/
|
|
3672
|
-
records?: {
|
|
3364
|
+
[k: string]: {
|
|
3673
3365
|
[k: string]: unknown;
|
|
3674
|
-
}
|
|
3675
|
-
[k: string]: unknown;
|
|
3366
|
+
};
|
|
3676
3367
|
}
|
|
3677
3368
|
/**
|
|
3678
|
-
*
|
|
3369
|
+
* Audience records keyed by id, each with the fields of https://openpresentation.org/schema/opf-audience/v1. Referenced from audience.
|
|
3679
3370
|
*/
|
|
3680
|
-
interface
|
|
3371
|
+
interface CatalogRecords5 {
|
|
3681
3372
|
/**
|
|
3682
|
-
*
|
|
3373
|
+
* One embedded record: the fields of the kind's companion schema without '$schema' and 'id'.
|
|
3683
3374
|
*/
|
|
3684
|
-
|
|
3685
|
-
/**
|
|
3686
|
-
* Inline catalog records embedded in this OPF document. Each record validates against the kind's companion schema (e.g. https://openpresentation.org/schema/opf-narrative/v1 for narratives). Inline records win over anything resolved from 'source' and over the default catalog.
|
|
3687
|
-
*/
|
|
3688
|
-
records?: {
|
|
3375
|
+
[k: string]: {
|
|
3689
3376
|
[k: string]: unknown;
|
|
3690
|
-
}
|
|
3691
|
-
[k: string]: unknown;
|
|
3377
|
+
};
|
|
3692
3378
|
}
|
|
3693
3379
|
/**
|
|
3694
|
-
*
|
|
3380
|
+
* Purpose records keyed by id, each with the fields of https://openpresentation.org/schema/opf-purpose/v1. Referenced from purpose.
|
|
3695
3381
|
*/
|
|
3696
|
-
interface
|
|
3382
|
+
interface CatalogRecords6 {
|
|
3697
3383
|
/**
|
|
3698
|
-
*
|
|
3384
|
+
* One embedded record: the fields of the kind's companion schema without '$schema' and 'id'.
|
|
3699
3385
|
*/
|
|
3700
|
-
|
|
3701
|
-
/**
|
|
3702
|
-
* Inline catalog records embedded in this OPF document. Each record validates against the kind's companion schema (e.g. https://openpresentation.org/schema/opf-narrative/v1 for narratives). Inline records win over anything resolved from 'source' and over the default catalog.
|
|
3703
|
-
*/
|
|
3704
|
-
records?: {
|
|
3386
|
+
[k: string]: {
|
|
3705
3387
|
[k: string]: unknown;
|
|
3706
|
-
}
|
|
3707
|
-
[k: string]: unknown;
|
|
3388
|
+
};
|
|
3708
3389
|
}
|
|
3709
3390
|
/**
|
|
3710
|
-
*
|
|
3391
|
+
* Tone records keyed by id, each with the fields of https://openpresentation.org/schema/opf-tone/v1. Referenced from tone.
|
|
3711
3392
|
*/
|
|
3712
|
-
interface
|
|
3393
|
+
interface CatalogRecords7 {
|
|
3713
3394
|
/**
|
|
3714
|
-
*
|
|
3395
|
+
* One embedded record: the fields of the kind's companion schema without '$schema' and 'id'.
|
|
3715
3396
|
*/
|
|
3716
|
-
|
|
3717
|
-
/**
|
|
3718
|
-
* Inline catalog records embedded in this OPF document. Each record validates against the kind's companion schema (e.g. https://openpresentation.org/schema/opf-narrative/v1 for narratives). Inline records win over anything resolved from 'source' and over the default catalog.
|
|
3719
|
-
*/
|
|
3720
|
-
records?: {
|
|
3397
|
+
[k: string]: {
|
|
3721
3398
|
[k: string]: unknown;
|
|
3722
|
-
}
|
|
3723
|
-
[k: string]: unknown;
|
|
3399
|
+
};
|
|
3724
3400
|
}
|
|
3725
3401
|
|
|
3726
3402
|
export type { Presentation as P };
|