@openpresentation/opf 0.14.0 → 0.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -38
- 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-XOZ4KMSR.js → catalog.js} +16514 -8800
- package/dist/{chart-data-B_3z9VTb.d.ts → chart-data-BnNqgnC-.d.ts} +1 -1
- package/dist/{chunk-LS2FMPI5.js → chunk-2CJPC4HI.js} +760 -851
- package/dist/{chunk-4VJDTF55.js → chunk-374R35TJ.js} +1 -1
- package/dist/{chunk-UPQQD7MA.js → chunk-3JG4YXWF.js} +7 -5
- package/dist/{chunk-4LDGKLUC.js → chunk-3RKB4RDJ.js} +1 -1
- package/dist/{chunk-BFLVSVA7.js → chunk-5FTUIDUH.js} +1 -1
- package/dist/{chunk-D3TY4TT6.js → chunk-HXHOZ7AH.js} +1407 -154
- package/dist/{chunk-6OXY2CP3.js → chunk-O744SXXA.js} +319 -162
- package/dist/{chunk-JDJBDYSR.js → chunk-QDI75P2M.js} +194 -846
- package/dist/chunk-SPFV27O5.js +210 -0
- package/dist/chunk-TRDXRRQK.js +17 -0
- package/dist/{chunk-Z65B2B77.js → chunk-TWQJLI6E.js} +2 -2
- package/dist/{chunk-Q2TCMN56.js → chunk-U4J75TRG.js} +1 -1
- package/dist/{chunk-XIZUK2XM.js → chunk-UBFJ2QHH.js} +5 -3
- package/dist/{chunk-CSQHPVGL.js → chunk-VGAOJEY7.js} +1 -1
- package/dist/{chunk-5ZU6JAPP.js → chunk-ZPU46TFA.js} +1 -1
- package/dist/{composition-_WEwBe2a.d.ts → composition-D2tghM82.d.ts} +233 -108
- package/dist/composition.d.ts +3 -2
- package/dist/composition.js +2 -2
- package/dist/convert.d.ts +14 -17
- package/dist/convert.js +36 -39
- package/dist/data.d.ts +1 -1
- package/dist/data.js +3 -3
- package/dist/diff.d.ts +1 -1
- package/dist/diff.js +7 -7
- package/dist/docs.js +29 -29
- package/dist/examples.d.ts +1 -1
- package/dist/examples.js +48431 -3697
- package/dist/{finding-C_por275.d.ts → finding-CT_f_vbD.d.ts} +2 -2
- package/dist/format.js +2 -2
- package/dist/index.d.ts +225 -76
- package/dist/index.js +341 -258
- package/dist/json-BFSdESOE.d.ts +19 -0
- package/dist/markdown.d.ts +19 -7
- package/dist/markdown.js +9 -9
- package/dist/{pagination-BZpXLvFL.d.ts → pagination-wedbe7eq.d.ts} +31 -31
- package/dist/pagination.d.ts +4 -5
- package/dist/pagination.js +6 -6
- package/dist/patch.d.ts +1 -1
- package/dist/patch.js +6 -6
- package/dist/{presentation-C5eHkevA.d.ts → presentation-CDKQVkyI.d.ts} +382 -550
- 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 +1 -1
- package/dist/spec/catalogs/font-schemes/angsana-new.json +1 -1
- package/dist/spec/catalogs/font-schemes/aparajita.json +2 -2
- package/dist/spec/catalogs/font-schemes/arabic-typesetting.json +1 -1
- package/dist/spec/catalogs/font-schemes/batang.json +1 -1
- package/dist/spec/catalogs/font-schemes/daunpenh.json +1 -1
- package/dist/spec/catalogs/font-schemes/david.json +1 -1
- package/dist/spec/catalogs/font-schemes/dilleniaupc.json +1 -1
- package/dist/spec/catalogs/font-schemes/fangsong.json +1 -1
- package/dist/spec/catalogs/font-schemes/gautami.json +1 -1
- package/dist/spec/catalogs/font-schemes/gisha.json +2 -2
- package/dist/spec/catalogs/font-schemes/gungsuh.json +1 -1
- package/dist/spec/catalogs/font-schemes/index.json +1 -1
- package/dist/spec/catalogs/font-schemes/kalinga.json +1 -1
- package/dist/spec/catalogs/font-schemes/kartika.json +1 -1
- package/dist/spec/catalogs/font-schemes/khmer-ui.json +1 -1
- package/dist/spec/catalogs/font-schemes/latha.json +1 -1
- package/dist/spec/catalogs/font-schemes/malgun-gothic.json +1 -1
- package/dist/spec/catalogs/font-schemes/mangal.json +3 -3
- package/dist/spec/catalogs/font-schemes/meiryo.json +1 -1
- package/dist/spec/catalogs/font-schemes/microsoft-jhenghei.json +1 -1
- package/dist/spec/catalogs/font-schemes/microsoft-yahei.json +4 -4
- package/dist/spec/catalogs/font-schemes/mingliu.json +1 -1
- package/dist/spec/catalogs/font-schemes/miriam.json +1 -1
- package/dist/spec/catalogs/font-schemes/ms-mincho.json +1 -1
- package/dist/spec/catalogs/font-schemes/nirmala-ui.json +1 -1
- package/dist/spec/catalogs/font-schemes/noto-naksh-arabic.json +1 -1
- package/dist/spec/catalogs/font-schemes/noto-nastaliq-urdu.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans-arabic.json +3 -3
- package/dist/spec/catalogs/font-schemes/noto-sans-armenian.json +1 -1
- package/dist/spec/catalogs/font-schemes/noto-sans-bengali.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans-devangari.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans-ethiopic.json +1 -1
- package/dist/spec/catalogs/font-schemes/noto-sans-georgian.json +1 -1
- package/dist/spec/catalogs/font-schemes/noto-sans-gujarati.json +1 -1
- package/dist/spec/catalogs/font-schemes/noto-sans-gurmukhi.json +1 -1
- package/dist/spec/catalogs/font-schemes/noto-sans-hebrew.json +1 -1
- package/dist/spec/catalogs/font-schemes/noto-sans-jp.json +1 -1
- package/dist/spec/catalogs/font-schemes/noto-sans-kannada.json +1 -1
- package/dist/spec/catalogs/font-schemes/noto-sans-khmer.json +1 -1
- package/dist/spec/catalogs/font-schemes/noto-sans-kr.json +1 -1
- package/dist/spec/catalogs/font-schemes/noto-sans-malayalam.json +1 -1
- package/dist/spec/catalogs/font-schemes/noto-sans-mongolian.json +1 -1
- package/dist/spec/catalogs/font-schemes/noto-sans-oriya.json +1 -1
- package/dist/spec/catalogs/font-schemes/noto-sans-sc.json +4 -4
- package/dist/spec/catalogs/font-schemes/noto-sans-tamil.json +1 -1
- package/dist/spec/catalogs/font-schemes/noto-sans-tc.json +1 -1
- package/dist/spec/catalogs/font-schemes/noto-sans-telugu.json +1 -1
- package/dist/spec/catalogs/font-schemes/noto-sans-thai.json +1 -1
- package/dist/spec/catalogs/font-schemes/noto-sans.json +4 -4
- package/dist/spec/catalogs/font-schemes/nyala.json +1 -1
- package/dist/spec/catalogs/font-schemes/pmingliu.json +1 -1
- package/dist/spec/catalogs/font-schemes/raavi.json +1 -1
- package/dist/spec/catalogs/font-schemes/sakkal-majalla.json +3 -3
- package/dist/spec/catalogs/font-schemes/shonar-bangla.json +2 -2
- package/dist/spec/catalogs/font-schemes/shruti.json +1 -1
- package/dist/spec/catalogs/font-schemes/simsun.json +1 -1
- package/dist/spec/catalogs/font-schemes/sylfaen.json +2 -2
- package/dist/spec/catalogs/font-schemes/traditional-arabic.json +3 -3
- package/dist/spec/catalogs/font-schemes/tunga.json +1 -1
- package/dist/spec/catalogs/font-schemes/vrinda.json +1 -1
- package/dist/spec/catalogs/font-schemes/yu-gothic.json +1 -1
- package/dist/spec/catalogs/layouts/capability-map.json +1 -4
- package/dist/spec/catalogs/layouts/chart-1x-title-center.json +30 -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-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/competitive-landscape.json +1 -4
- package/dist/spec/catalogs/layouts/customer-journey.json +1 -4
- package/dist/spec/catalogs/layouts/decision-tree.json +1 -4
- package/dist/spec/catalogs/layouts/ecosystem-map.json +1 -4
- package/dist/spec/catalogs/layouts/extract/canonical.json +0 -9
- package/dist/spec/catalogs/layouts/geographic-map.json +1 -4
- package/dist/spec/catalogs/layouts/icon-grid.json +1 -4
- 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 +3 -0
- 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 +3 -0
- 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 +3 -0
- package/dist/spec/catalogs/layouts/image-focus.json +3 -6
- 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/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-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-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-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-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-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/network-dependency-map.json +1 -4
- 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-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-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-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-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-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/persona-grid.json +1 -4
- package/dist/spec/catalogs/layouts/photo-grid.json +1 -4
- package/dist/spec/catalogs/layouts/product-feature.json +1 -4
- package/dist/spec/catalogs/layouts/screenshot-walkthrough.json +1 -4
- package/dist/spec/catalogs/layouts/swimlane-process.json +1 -4
- package/dist/spec/catalogs/layouts/team-bio.json +1 -4
- 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-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-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/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/manifest.json +18 -18
- package/dist/spec/catalogs/narratives/heros-journey.json +1 -1
- package/dist/spec/catalogs/narratives/index.json +1 -1
- package/dist/spec/openapi.yaml +3 -3
- 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 +5 -26
- package/dist/spec/schemas/catalog-manifest.schema.json +3 -3
- package/dist/spec/schemas/chart-type.schema.json +2 -35
- package/dist/spec/schemas/color-scheme.schema.json +3 -24
- package/dist/spec/schemas/finding.schema.json +1 -1
- package/dist/spec/schemas/font-scheme.schema.json +6 -37
- package/dist/spec/schemas/language.schema.json +7 -28
- package/dist/spec/schemas/layout.schema.json +56 -51
- package/dist/spec/schemas/narrative.schema.json +4 -24
- package/dist/spec/schemas/opf.schema.json +399 -368
- package/dist/spec/schemas/purpose.schema.json +5 -26
- package/dist/spec/schemas/social-platform.schema.json +2 -23
- package/dist/spec/schemas/theme.schema.json +9 -37
- 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/types.d.ts +1125 -4
- package/dist/{validation-types-zh03LeZy.d.ts → validation-types-BOcY9GTs.d.ts} +7 -7
- package/dist/validator.d.ts +15 -12
- package/dist/validator.js +5 -5
- package/dist/yaml.d.ts +22 -7
- package/dist/yaml.js +10 -9
- package/package.json +5 -9
- package/dist/catalogs-D-yyQWCQ.d.ts +0 -1343
- package/dist/catalogs.d.ts +0 -2
- package/dist/catalogs.js +0 -2
- package/dist/chunk-PIQXLBBJ.js +0 -445
- package/dist/chunk-S5W34SIJ.js +0 -1
- package/dist/previews.d.ts +0 -40
- package/dist/previews.js +0 -1
- package/dist/schemas-DDpqAgyS.d.ts +0 -284
- package/dist/spec/catalogs/layouts/image-bleed.json +0 -20
|
@@ -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,19 +193,19 @@ 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
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
|
*
|
|
@@ -274,7 +235,7 @@ type Asset = (string | {
|
|
|
274
235
|
mediaType?: string;
|
|
275
236
|
});
|
|
276
237
|
/**
|
|
277
|
-
* 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
|
|
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.
|
|
278
239
|
*
|
|
279
240
|
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
280
241
|
* via the `definition` "Watermark".
|
|
@@ -518,6 +479,43 @@ type ContentPayload = {
|
|
|
518
479
|
*/
|
|
519
480
|
mediaType?: string;
|
|
520
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);
|
|
512
|
+
/**
|
|
513
|
+
* Color at luminance 1.
|
|
514
|
+
*/
|
|
515
|
+
light: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "surfaceAlt" | "text" | "textSecondary") | string);
|
|
516
|
+
});
|
|
517
|
+
overlay?: Overlay1;
|
|
518
|
+
placement?: ImagePlacement;
|
|
521
519
|
/**
|
|
522
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.
|
|
523
521
|
*/
|
|
@@ -602,12 +600,7 @@ type ContentPayload = {
|
|
|
602
600
|
composition?: Composition;
|
|
603
601
|
};
|
|
604
602
|
/**
|
|
605
|
-
*
|
|
606
|
-
* - A bare URL pointing at a catalog directory (e.g. 'https://acme.com/decks/narratives'); record ids resolve to '<base>/<id>.json'.
|
|
607
|
-
* - 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.
|
|
608
|
-
* - A package reference of the form 'pkg:<package>[/<subpath>]'. 'pkg:@openpresentation/opf/...' resolves from the bundled snapshot; any other package reference needs the host to supply its records in 'catalogSources'.
|
|
609
|
-
*
|
|
610
|
-
* Engines never fetch or install anything for a source: the host supplies the records of every source other than the bundled default, as a 'catalogSources' map from the source string to its records.
|
|
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.
|
|
611
604
|
*
|
|
612
605
|
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
613
606
|
* via the `definition` "CatalogSource".
|
|
@@ -616,9 +609,9 @@ type CatalogSource = string;
|
|
|
616
609
|
/**
|
|
617
610
|
* Open-source JSON format for describing PowerPoint presentations. Agents describe narratives, content, audience, reusable assets, and design — the engine handles OOXML complexity.
|
|
618
611
|
*
|
|
619
|
-
*
|
|
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.
|
|
620
613
|
*
|
|
621
|
-
*
|
|
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.
|
|
622
615
|
*/
|
|
623
616
|
interface Presentation {
|
|
624
617
|
/**
|
|
@@ -651,37 +644,37 @@ interface Presentation {
|
|
|
651
644
|
author?: (string | [string, ...(string)[]]);
|
|
652
645
|
/**
|
|
653
646
|
* Intended audiences for the presentation. Accepts any of:
|
|
654
|
-
* - A single string
|
|
655
|
-
* - A single inline Audience object,
|
|
656
|
-
* - An array 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.
|
|
657
650
|
*
|
|
658
|
-
*
|
|
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.
|
|
659
652
|
*/
|
|
660
653
|
audience?: (string | Audience | [(string | Audience), ...((string | Audience))[]]);
|
|
661
654
|
/**
|
|
662
655
|
* Primary goal of the presentation. Accepts either:
|
|
663
|
-
* - A string
|
|
664
|
-
* - 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.
|
|
665
658
|
*
|
|
666
|
-
*
|
|
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.
|
|
667
660
|
*/
|
|
668
661
|
purpose?: (string | Purpose);
|
|
669
662
|
/**
|
|
670
|
-
* Language
|
|
671
|
-
* - A
|
|
672
|
-
* - 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).
|
|
673
666
|
*
|
|
674
|
-
*
|
|
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.
|
|
675
668
|
*/
|
|
676
|
-
language?: (
|
|
669
|
+
language?: (LanguageTag | Language);
|
|
677
670
|
/**
|
|
678
671
|
* Desired tone for the presentation. Accepts either:
|
|
679
|
-
* - A
|
|
680
|
-
* - 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.
|
|
681
674
|
*
|
|
682
|
-
*
|
|
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.
|
|
683
676
|
*/
|
|
684
|
-
tone?: (
|
|
677
|
+
tone?: (CatalogReference | Tone);
|
|
685
678
|
/**
|
|
686
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.
|
|
687
680
|
*/
|
|
@@ -701,13 +694,7 @@ interface Presentation {
|
|
|
701
694
|
*/
|
|
702
695
|
template?: boolean;
|
|
703
696
|
/**
|
|
704
|
-
*
|
|
705
|
-
*
|
|
706
|
-
* Slides link themselves to beats with slides[].beat. Core validate warns about a slides[].beat id the resolved narrative does not define and about a root 'duration' outside its 'duration' range, and reports a beat that no slide references. The preview and the PPTX export draw nothing from the narrative; opf-pptx stores the reference for round-trip.
|
|
707
|
-
*
|
|
708
|
-
* 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.
|
|
709
|
-
*
|
|
710
|
-
* Deck-level concerns that are not part of the storyline (audience, tone, takeaway, duration) live as siblings on the presentation root.
|
|
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.
|
|
711
698
|
*/
|
|
712
699
|
narrative?: string;
|
|
713
700
|
/**
|
|
@@ -878,34 +865,81 @@ interface Socials1 {
|
|
|
878
865
|
*/
|
|
879
866
|
[k: string]: string;
|
|
880
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
|
+
}
|
|
881
921
|
/**
|
|
882
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.
|
|
883
923
|
*/
|
|
884
924
|
interface Design {
|
|
885
925
|
/**
|
|
886
|
-
*
|
|
887
|
-
* - String shorthand: 'design.theme = "minimal"'. Bare id, HTTPS URL, or 'pkg:' reference resolved as the 'id' of a 'themes' catalog record.
|
|
888
|
-
* - Object form: a Theme with an optional 'id' base reference plus theme-level overrides.
|
|
889
|
-
*
|
|
890
|
-
* Inline overrides on design.colorScheme / design.fontScheme / design.background / design.dimensions take precedence over the resolved theme.
|
|
891
|
-
*
|
|
892
|
-
* 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.
|
|
893
927
|
*/
|
|
894
|
-
theme?:
|
|
928
|
+
theme?: string;
|
|
895
929
|
/**
|
|
896
930
|
* Color scheme for the presentation. Accepts two forms:
|
|
897
|
-
* -
|
|
898
|
-
* - 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.
|
|
899
933
|
*
|
|
900
|
-
*
|
|
934
|
+
* Without either, the theme's colorScheme applies, then the engine default colour scheme.
|
|
901
935
|
*/
|
|
902
936
|
colorScheme?: (string | ColorScheme);
|
|
903
937
|
/**
|
|
904
938
|
* Font scheme for heading, body, accent, and code text. Accepts two forms:
|
|
905
|
-
* -
|
|
906
|
-
* - 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.
|
|
907
941
|
*
|
|
908
|
-
*
|
|
942
|
+
* Without either, the theme's fontScheme applies, then the engine default font scheme.
|
|
909
943
|
*/
|
|
910
944
|
fontScheme?: (string | FontScheme);
|
|
911
945
|
/**
|
|
@@ -913,7 +947,7 @@ interface Design {
|
|
|
913
947
|
*/
|
|
914
948
|
dimensions?: (DimensionPreset | Dimensions);
|
|
915
949
|
/**
|
|
916
|
-
* 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.
|
|
917
951
|
*/
|
|
918
952
|
background?: (BackgroundShortcut | Background);
|
|
919
953
|
/**
|
|
@@ -944,98 +978,6 @@ interface Design {
|
|
|
944
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.
|
|
945
979
|
*/
|
|
946
980
|
contentBox?: boolean;
|
|
947
|
-
/**
|
|
948
|
-
* Optional slide-level image, separate from content images. It applies to a slide that sets its own design.slideImage, and to slides whose layout record sets design.slideImage or whose root image is the same source as a deck-level value. A root image with the same source becomes the slide image instead of a content item. Blur, shadows, soft edges, background removal and device artwork are not part of the treatment vocabulary; see docs/image-treatments.md.
|
|
949
|
-
*/
|
|
950
|
-
slideImage?: (Asset | {
|
|
951
|
-
/**
|
|
952
|
-
* 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.
|
|
953
|
-
*/
|
|
954
|
-
src?: string;
|
|
955
|
-
/**
|
|
956
|
-
* 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.
|
|
957
|
-
*/
|
|
958
|
-
position: ("background" | "top" | "bottom" | "left" | "right");
|
|
959
|
-
/**
|
|
960
|
-
* Alternative text for the slide-level image. Overrides the alt text of a referenced asset.
|
|
961
|
-
*/
|
|
962
|
-
alt?: string;
|
|
963
|
-
/**
|
|
964
|
-
* 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'.
|
|
965
|
-
*/
|
|
966
|
-
fill?: ("crop" | "fit");
|
|
967
|
-
/**
|
|
968
|
-
* Share of the slide width (left/right) or height (top/bottom) given to the image band. Ignored for 'background'. Default 0.5.
|
|
969
|
-
*/
|
|
970
|
-
size?: number;
|
|
971
|
-
/**
|
|
972
|
-
* Place the frame inside the slide padding instead of edge to edge, like a card. Default false.
|
|
973
|
-
*/
|
|
974
|
-
inset?: boolean;
|
|
975
|
-
/**
|
|
976
|
-
* 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.
|
|
977
|
-
*/
|
|
978
|
-
aspectRatio?: number;
|
|
979
|
-
/**
|
|
980
|
-
* Mask applied to the frame, exported as the picture's native preset geometry (rect, roundRect, ellipse, hexagon). 'circle' makes the frame square. Default 'rectangle'.
|
|
981
|
-
*/
|
|
982
|
-
shape?: ("rectangle" | "rounded" | "circle" | "hexagon");
|
|
983
|
-
/**
|
|
984
|
-
* Corner radius for shape 'rounded' as a fraction of the frame's shorter side. Default 0.16667, PowerPoint's roundRect default.
|
|
985
|
-
*/
|
|
986
|
-
cornerRadius?: number;
|
|
987
|
-
/**
|
|
988
|
-
* Solid line along the frame's shape. A thick dark border on a rounded portrait frame gives a device bezel.
|
|
989
|
-
*/
|
|
990
|
-
border?: {
|
|
991
|
-
/**
|
|
992
|
-
* Line color: a hex color, a color-scheme slot or role name, or a 'var:<id>' variable reference.
|
|
993
|
-
*/
|
|
994
|
-
color: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "surfaceAlt" | "text" | "textSecondary") | string);
|
|
995
|
-
/**
|
|
996
|
-
* 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.
|
|
997
|
-
*/
|
|
998
|
-
width: number;
|
|
999
|
-
};
|
|
1000
|
-
/**
|
|
1001
|
-
* Image opacity from 0 to 1, exported as a native alphaModFix. The border and overlay keep their own opacity. Default 1.
|
|
1002
|
-
*/
|
|
1003
|
-
opacity?: number;
|
|
1004
|
-
/**
|
|
1005
|
-
* Color treatment for the image pixels. Luminance uses Rec. 601 weights (0.299, 0.587, 0.114) on sRGB values.
|
|
1006
|
-
*/
|
|
1007
|
-
recolor?: ("grayscale" | {
|
|
1008
|
-
/**
|
|
1009
|
-
* Color at luminance 0.
|
|
1010
|
-
*/
|
|
1011
|
-
dark: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "surfaceAlt" | "text" | "textSecondary") | string);
|
|
1012
|
-
/**
|
|
1013
|
-
* Color at luminance 1.
|
|
1014
|
-
*/
|
|
1015
|
-
light: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "surfaceAlt" | "text" | "textSecondary") | string);
|
|
1016
|
-
});
|
|
1017
|
-
/**
|
|
1018
|
-
* 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.
|
|
1019
|
-
*/
|
|
1020
|
-
overlay?: {
|
|
1021
|
-
/**
|
|
1022
|
-
* Overlay fill color.
|
|
1023
|
-
*/
|
|
1024
|
-
color: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "surfaceAlt" | "text" | "textSecondary") | string);
|
|
1025
|
-
/**
|
|
1026
|
-
* Overlay fill opacity.
|
|
1027
|
-
*/
|
|
1028
|
-
opacity: number;
|
|
1029
|
-
/**
|
|
1030
|
-
* 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.
|
|
1031
|
-
*/
|
|
1032
|
-
edge?: ("top" | "bottom" | "left" | "right");
|
|
1033
|
-
/**
|
|
1034
|
-
* Band share of the frame for an edge overlay. Default 0.3.
|
|
1035
|
-
*/
|
|
1036
|
-
size?: number;
|
|
1037
|
-
};
|
|
1038
|
-
});
|
|
1039
981
|
/**
|
|
1040
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.
|
|
1041
983
|
*/
|
|
@@ -1045,62 +987,15 @@ interface Design {
|
|
|
1045
987
|
*/
|
|
1046
988
|
chartPrimary?: ("none" | "top" | "bottom" | "left" | "right");
|
|
1047
989
|
/**
|
|
1048
|
-
*
|
|
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.
|
|
1049
991
|
*/
|
|
1050
|
-
|
|
992
|
+
imageFit?: ("cover" | "contain" | "stretch");
|
|
1051
993
|
/**
|
|
1052
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.
|
|
1053
995
|
*/
|
|
1054
996
|
listBullet?: ("character" | "image");
|
|
1055
997
|
[k: string]: unknown;
|
|
1056
998
|
}
|
|
1057
|
-
/**
|
|
1058
|
-
* Theme bundle used by the design system. In design.theme, 'id' resolves a themes catalog record as the base; any sibling fields override the resolved theme. The string shorthand on design.theme is equivalent to setting only 'id'.
|
|
1059
|
-
*
|
|
1060
|
-
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
1061
|
-
* via the `definition` "Theme".
|
|
1062
|
-
*/
|
|
1063
|
-
interface Theme {
|
|
1064
|
-
/**
|
|
1065
|
-
* 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.
|
|
1066
|
-
*
|
|
1067
|
-
* Resolution order: inline catalogs.themes.records[] -> catalogs.themes.source -> default catalog at https://www.pptx.gallery/themes.
|
|
1068
|
-
*/
|
|
1069
|
-
id?: string;
|
|
1070
|
-
/**
|
|
1071
|
-
* Human-readable theme name shown in pickers.
|
|
1072
|
-
*/
|
|
1073
|
-
name?: string;
|
|
1074
|
-
/**
|
|
1075
|
-
* One-sentence positioning of the theme - when to reach for it.
|
|
1076
|
-
*/
|
|
1077
|
-
summary?: string;
|
|
1078
|
-
/**
|
|
1079
|
-
* Longer prose describing what the theme looks and feels like and the kinds of decks it suits.
|
|
1080
|
-
*/
|
|
1081
|
-
description?: string;
|
|
1082
|
-
/**
|
|
1083
|
-
* Default color scheme for this theme. A string resolves against catalogs.colorSchemes; an object may provide an 'id' base reference plus overrides.
|
|
1084
|
-
*/
|
|
1085
|
-
colorScheme?: (string | ColorScheme);
|
|
1086
|
-
/**
|
|
1087
|
-
* Default font scheme for this theme. A string resolves against catalogs.fontSchemes; an object may provide an 'id' base reference plus overrides.
|
|
1088
|
-
*/
|
|
1089
|
-
fontScheme?: (string | FontScheme);
|
|
1090
|
-
/**
|
|
1091
|
-
* Default background for this theme. String shorthand accepts theme slots ('light1', 'light2', 'dark1', 'dark2') or hex colors.
|
|
1092
|
-
*/
|
|
1093
|
-
background?: (BackgroundShortcut | Background);
|
|
1094
|
-
/**
|
|
1095
|
-
* Default slide size for this theme. A string preset is equivalent to { preset: value }.
|
|
1096
|
-
*/
|
|
1097
|
-
dimensions?: (DimensionPreset | Dimensions);
|
|
1098
|
-
/**
|
|
1099
|
-
* Free-form labels for filtering and search.
|
|
1100
|
-
*/
|
|
1101
|
-
tags?: string[];
|
|
1102
|
-
[k: string]: unknown;
|
|
1103
|
-
}
|
|
1104
999
|
/**
|
|
1105
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.
|
|
1106
1001
|
*
|
|
@@ -1108,16 +1003,14 @@ interface Theme {
|
|
|
1108
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.
|
|
1109
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.
|
|
1110
1005
|
*
|
|
1111
|
-
* 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'.
|
|
1112
1007
|
*
|
|
1113
1008
|
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
1114
1009
|
* via the `definition` "ColorScheme".
|
|
1115
1010
|
*/
|
|
1116
1011
|
interface ColorScheme {
|
|
1117
1012
|
/**
|
|
1118
|
-
*
|
|
1119
|
-
*
|
|
1120
|
-
* 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.
|
|
1121
1014
|
*/
|
|
1122
1015
|
id?: string;
|
|
1123
1016
|
/**
|
|
@@ -1205,16 +1098,14 @@ interface ColorScheme {
|
|
|
1205
1098
|
* - OOXML pairs (major, minor) - heading and body family names that round-trip directly to PowerPoint majorFont/minorFont entries.
|
|
1206
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.
|
|
1207
1100
|
*
|
|
1208
|
-
* 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'.
|
|
1209
1102
|
*
|
|
1210
1103
|
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
1211
1104
|
* via the `definition` "FontScheme".
|
|
1212
1105
|
*/
|
|
1213
1106
|
interface FontScheme {
|
|
1214
1107
|
/**
|
|
1215
|
-
*
|
|
1216
|
-
*
|
|
1217
|
-
* 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.
|
|
1218
1109
|
*/
|
|
1219
1110
|
id?: string;
|
|
1220
1111
|
/**
|
|
@@ -1276,11 +1167,29 @@ interface FontScheme {
|
|
|
1276
1167
|
*/
|
|
1277
1168
|
accent?: string;
|
|
1278
1169
|
/**
|
|
1279
|
-
* 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
|
|
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.
|
|
1280
1171
|
*/
|
|
1281
1172
|
code?: string;
|
|
1282
1173
|
[k: string]: unknown;
|
|
1283
1174
|
}
|
|
1175
|
+
/**
|
|
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".
|
|
1180
|
+
*/
|
|
1181
|
+
interface Dimensions {
|
|
1182
|
+
preset?: DimensionPreset;
|
|
1183
|
+
/**
|
|
1184
|
+
* Custom slide width in inches; overrides the preset width when provided.
|
|
1185
|
+
*/
|
|
1186
|
+
widthInches?: number;
|
|
1187
|
+
/**
|
|
1188
|
+
* Custom slide height in inches; overrides the preset height when provided.
|
|
1189
|
+
*/
|
|
1190
|
+
heightInches?: number;
|
|
1191
|
+
[k: string]: unknown;
|
|
1192
|
+
}
|
|
1284
1193
|
/**
|
|
1285
1194
|
* Theme-controlled PowerPoint slide background. The slot is resolved through the active color scheme and remains theme-aware.
|
|
1286
1195
|
*
|
|
@@ -1386,35 +1295,81 @@ interface GradientBackground {
|
|
|
1386
1295
|
[k: string]: unknown;
|
|
1387
1296
|
}
|
|
1388
1297
|
/**
|
|
1389
|
-
*
|
|
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.
|
|
1390
1299
|
*
|
|
1391
1300
|
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
1392
1301
|
* via the `definition` "ImageBackground".
|
|
1393
1302
|
*/
|
|
1394
1303
|
interface ImageBackground {
|
|
1395
1304
|
/**
|
|
1396
|
-
*
|
|
1305
|
+
* Picture background.
|
|
1397
1306
|
*/
|
|
1398
1307
|
type: "image";
|
|
1399
1308
|
/**
|
|
1400
|
-
*
|
|
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.
|
|
1314
|
+
*/
|
|
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.
|
|
1401
1323
|
*/
|
|
1402
|
-
|
|
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" | {
|
|
1403
1329
|
/**
|
|
1404
|
-
*
|
|
1330
|
+
* Color at luminance 0.
|
|
1405
1331
|
*/
|
|
1406
|
-
|
|
1332
|
+
dark: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "surfaceAlt" | "text" | "textSecondary") | string);
|
|
1407
1333
|
/**
|
|
1408
|
-
*
|
|
1334
|
+
* Color at luminance 1.
|
|
1409
1335
|
*/
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
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 {
|
|
1413
1344
|
/**
|
|
1414
|
-
*
|
|
1345
|
+
* Horizontal position, 0 (left edge) to 1 (right edge).
|
|
1415
1346
|
*/
|
|
1416
|
-
|
|
1417
|
-
|
|
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;
|
|
1418
1373
|
}
|
|
1419
1374
|
/**
|
|
1420
1375
|
* Fixed pattern slide background fill.
|
|
@@ -1451,24 +1406,6 @@ interface PatternBackground {
|
|
|
1451
1406
|
opacity?: number;
|
|
1452
1407
|
[k: string]: unknown;
|
|
1453
1408
|
}
|
|
1454
|
-
/**
|
|
1455
|
-
* Slide dimensions; either pick a preset or specify custom inches.
|
|
1456
|
-
*
|
|
1457
|
-
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
1458
|
-
* via the `definition` "Dimensions".
|
|
1459
|
-
*/
|
|
1460
|
-
interface Dimensions {
|
|
1461
|
-
preset?: DimensionPreset;
|
|
1462
|
-
/**
|
|
1463
|
-
* Custom slide width in inches; overrides the preset width when provided.
|
|
1464
|
-
*/
|
|
1465
|
-
widthInches?: number;
|
|
1466
|
-
/**
|
|
1467
|
-
* Custom slide height in inches; overrides the preset height when provided.
|
|
1468
|
-
*/
|
|
1469
|
-
heightInches?: number;
|
|
1470
|
-
[k: string]: unknown;
|
|
1471
|
-
}
|
|
1472
1409
|
/**
|
|
1473
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.
|
|
1474
1411
|
*
|
|
@@ -2302,9 +2239,7 @@ interface Slide {
|
|
|
2302
2239
|
*/
|
|
2303
2240
|
beat?: (string | string[]);
|
|
2304
2241
|
/**
|
|
2305
|
-
*
|
|
2306
|
-
*
|
|
2307
|
-
* 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.
|
|
2308
2243
|
*/
|
|
2309
2244
|
layout?: string;
|
|
2310
2245
|
/**
|
|
@@ -2536,9 +2471,9 @@ interface Numbering {
|
|
|
2536
2471
|
*/
|
|
2537
2472
|
interface Chart {
|
|
2538
2473
|
/**
|
|
2539
|
-
* 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.
|
|
2540
2475
|
*/
|
|
2541
|
-
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");
|
|
2542
2477
|
/**
|
|
2543
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.
|
|
2544
2479
|
*/
|
|
@@ -2971,14 +2906,78 @@ interface TimelineEvent {
|
|
|
2971
2906
|
*/
|
|
2972
2907
|
status?: ("done" | "current" | "planned");
|
|
2973
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;
|
|
2972
|
+
}
|
|
2974
2973
|
/**
|
|
2975
2974
|
* Chart payload. Presence of this field infers type 'chart'.
|
|
2976
2975
|
*/
|
|
2977
2976
|
interface Chart1 {
|
|
2978
2977
|
/**
|
|
2979
|
-
* 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.
|
|
2980
2979
|
*/
|
|
2981
|
-
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");
|
|
2982
2981
|
/**
|
|
2983
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.
|
|
2984
2983
|
*/
|
|
@@ -3073,29 +3072,23 @@ interface Composition {
|
|
|
3073
3072
|
*/
|
|
3074
3073
|
interface Design1 {
|
|
3075
3074
|
/**
|
|
3076
|
-
*
|
|
3077
|
-
* - String shorthand: 'design.theme = "minimal"'. Bare id, HTTPS URL, or 'pkg:' reference resolved as the 'id' of a 'themes' catalog record.
|
|
3078
|
-
* - Object form: a Theme with an optional 'id' base reference plus theme-level overrides.
|
|
3079
|
-
*
|
|
3080
|
-
* Inline overrides on design.colorScheme / design.fontScheme / design.background / design.dimensions take precedence over the resolved theme.
|
|
3081
|
-
*
|
|
3082
|
-
* 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.
|
|
3083
3076
|
*/
|
|
3084
|
-
theme?:
|
|
3077
|
+
theme?: string;
|
|
3085
3078
|
/**
|
|
3086
3079
|
* Color scheme for the presentation. Accepts two forms:
|
|
3087
|
-
* -
|
|
3088
|
-
* - 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.
|
|
3089
3082
|
*
|
|
3090
|
-
*
|
|
3083
|
+
* Without either, the theme's colorScheme applies, then the engine default colour scheme.
|
|
3091
3084
|
*/
|
|
3092
3085
|
colorScheme?: (string | ColorScheme);
|
|
3093
3086
|
/**
|
|
3094
3087
|
* Font scheme for heading, body, accent, and code text. Accepts two forms:
|
|
3095
|
-
* -
|
|
3096
|
-
* - 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.
|
|
3097
3090
|
*
|
|
3098
|
-
*
|
|
3091
|
+
* Without either, the theme's fontScheme applies, then the engine default font scheme.
|
|
3099
3092
|
*/
|
|
3100
3093
|
fontScheme?: (string | FontScheme);
|
|
3101
3094
|
/**
|
|
@@ -3103,7 +3096,7 @@ interface Design1 {
|
|
|
3103
3096
|
*/
|
|
3104
3097
|
dimensions?: (DimensionPreset | Dimensions);
|
|
3105
3098
|
/**
|
|
3106
|
-
* 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.
|
|
3107
3100
|
*/
|
|
3108
3101
|
background?: (BackgroundShortcut | Background);
|
|
3109
3102
|
/**
|
|
@@ -3134,98 +3127,6 @@ interface Design1 {
|
|
|
3134
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.
|
|
3135
3128
|
*/
|
|
3136
3129
|
contentBox?: boolean;
|
|
3137
|
-
/**
|
|
3138
|
-
* Optional slide-level image, separate from content images. It applies to a slide that sets its own design.slideImage, and to slides whose layout record sets design.slideImage or whose root image is the same source as a deck-level value. A root image with the same source becomes the slide image instead of a content item. Blur, shadows, soft edges, background removal and device artwork are not part of the treatment vocabulary; see docs/image-treatments.md.
|
|
3139
|
-
*/
|
|
3140
|
-
slideImage?: (Asset | {
|
|
3141
|
-
/**
|
|
3142
|
-
* 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.
|
|
3143
|
-
*/
|
|
3144
|
-
src?: string;
|
|
3145
|
-
/**
|
|
3146
|
-
* 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.
|
|
3147
|
-
*/
|
|
3148
|
-
position: ("background" | "top" | "bottom" | "left" | "right");
|
|
3149
|
-
/**
|
|
3150
|
-
* Alternative text for the slide-level image. Overrides the alt text of a referenced asset.
|
|
3151
|
-
*/
|
|
3152
|
-
alt?: string;
|
|
3153
|
-
/**
|
|
3154
|
-
* 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'.
|
|
3155
|
-
*/
|
|
3156
|
-
fill?: ("crop" | "fit");
|
|
3157
|
-
/**
|
|
3158
|
-
* Share of the slide width (left/right) or height (top/bottom) given to the image band. Ignored for 'background'. Default 0.5.
|
|
3159
|
-
*/
|
|
3160
|
-
size?: number;
|
|
3161
|
-
/**
|
|
3162
|
-
* Place the frame inside the slide padding instead of edge to edge, like a card. Default false.
|
|
3163
|
-
*/
|
|
3164
|
-
inset?: boolean;
|
|
3165
|
-
/**
|
|
3166
|
-
* 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.
|
|
3167
|
-
*/
|
|
3168
|
-
aspectRatio?: number;
|
|
3169
|
-
/**
|
|
3170
|
-
* Mask applied to the frame, exported as the picture's native preset geometry (rect, roundRect, ellipse, hexagon). 'circle' makes the frame square. Default 'rectangle'.
|
|
3171
|
-
*/
|
|
3172
|
-
shape?: ("rectangle" | "rounded" | "circle" | "hexagon");
|
|
3173
|
-
/**
|
|
3174
|
-
* Corner radius for shape 'rounded' as a fraction of the frame's shorter side. Default 0.16667, PowerPoint's roundRect default.
|
|
3175
|
-
*/
|
|
3176
|
-
cornerRadius?: number;
|
|
3177
|
-
/**
|
|
3178
|
-
* Solid line along the frame's shape. A thick dark border on a rounded portrait frame gives a device bezel.
|
|
3179
|
-
*/
|
|
3180
|
-
border?: {
|
|
3181
|
-
/**
|
|
3182
|
-
* Line color: a hex color, a color-scheme slot or role name, or a 'var:<id>' variable reference.
|
|
3183
|
-
*/
|
|
3184
|
-
color: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "surfaceAlt" | "text" | "textSecondary") | string);
|
|
3185
|
-
/**
|
|
3186
|
-
* 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.
|
|
3187
|
-
*/
|
|
3188
|
-
width: number;
|
|
3189
|
-
};
|
|
3190
|
-
/**
|
|
3191
|
-
* Image opacity from 0 to 1, exported as a native alphaModFix. The border and overlay keep their own opacity. Default 1.
|
|
3192
|
-
*/
|
|
3193
|
-
opacity?: number;
|
|
3194
|
-
/**
|
|
3195
|
-
* Color treatment for the image pixels. Luminance uses Rec. 601 weights (0.299, 0.587, 0.114) on sRGB values.
|
|
3196
|
-
*/
|
|
3197
|
-
recolor?: ("grayscale" | {
|
|
3198
|
-
/**
|
|
3199
|
-
* Color at luminance 0.
|
|
3200
|
-
*/
|
|
3201
|
-
dark: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "surfaceAlt" | "text" | "textSecondary") | string);
|
|
3202
|
-
/**
|
|
3203
|
-
* Color at luminance 1.
|
|
3204
|
-
*/
|
|
3205
|
-
light: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "surfaceAlt" | "text" | "textSecondary") | string);
|
|
3206
|
-
});
|
|
3207
|
-
/**
|
|
3208
|
-
* 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.
|
|
3209
|
-
*/
|
|
3210
|
-
overlay?: {
|
|
3211
|
-
/**
|
|
3212
|
-
* Overlay fill color.
|
|
3213
|
-
*/
|
|
3214
|
-
color: (HexColor | ("accent1" | "accent2" | "accent3" | "accent4" | "accent5" | "accent6" | "dark1" | "dark2" | "light1" | "light2" | "hyperlink" | "followedHyperlink" | "primary" | "secondary" | "accent" | "background" | "surface" | "surfaceAlt" | "text" | "textSecondary") | string);
|
|
3215
|
-
/**
|
|
3216
|
-
* Overlay fill opacity.
|
|
3217
|
-
*/
|
|
3218
|
-
opacity: number;
|
|
3219
|
-
/**
|
|
3220
|
-
* 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.
|
|
3221
|
-
*/
|
|
3222
|
-
edge?: ("top" | "bottom" | "left" | "right");
|
|
3223
|
-
/**
|
|
3224
|
-
* Band share of the frame for an edge overlay. Default 0.3.
|
|
3225
|
-
*/
|
|
3226
|
-
size?: number;
|
|
3227
|
-
};
|
|
3228
|
-
});
|
|
3229
3130
|
/**
|
|
3230
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.
|
|
3231
3132
|
*/
|
|
@@ -3235,9 +3136,9 @@ interface Design1 {
|
|
|
3235
3136
|
*/
|
|
3236
3137
|
chartPrimary?: ("none" | "top" | "bottom" | "left" | "right");
|
|
3237
3138
|
/**
|
|
3238
|
-
*
|
|
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.
|
|
3239
3140
|
*/
|
|
3240
|
-
|
|
3141
|
+
imageFit?: ("cover" | "contain" | "stretch");
|
|
3241
3142
|
/**
|
|
3242
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.
|
|
3243
3144
|
*/
|
|
@@ -3374,197 +3275,128 @@ interface Assets {
|
|
|
3374
3275
|
[k: string]: Asset;
|
|
3375
3276
|
}
|
|
3376
3277
|
/**
|
|
3377
|
-
*
|
|
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.
|
|
3378
3279
|
*/
|
|
3379
3280
|
interface Catalogs {
|
|
3380
|
-
narratives?: CatalogEntry;
|
|
3381
|
-
themes?: CatalogEntry1;
|
|
3382
|
-
colorSchemes?: CatalogEntry2;
|
|
3383
|
-
fontSchemes?: CatalogEntry3;
|
|
3384
|
-
languages?: CatalogEntry4;
|
|
3385
|
-
layouts?: CatalogEntry5;
|
|
3386
|
-
chartTypes?: CatalogEntry6;
|
|
3387
|
-
tones?: CatalogEntry7;
|
|
3388
|
-
purposes?: CatalogEntry8;
|
|
3389
|
-
audiences?: CatalogEntry9;
|
|
3390
|
-
socialPlatforms?: CatalogEntry10;
|
|
3391
|
-
[k: string]: unknown;
|
|
3392
|
-
}
|
|
3393
|
-
/**
|
|
3394
|
-
* Catalog of narrative templates. Records validate against https://openpresentation.org/schema/opf-narrative/v1. A custom narrative goes in 'catalogs.narratives.records' and is referenced by its id from the root 'narrative'. Default source: https://www.pptx.gallery/narratives.
|
|
3395
|
-
*/
|
|
3396
|
-
interface CatalogEntry {
|
|
3397
3281
|
/**
|
|
3398
|
-
*
|
|
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.
|
|
3399
3283
|
*/
|
|
3400
|
-
|
|
3284
|
+
default?: (CatalogGroup | false);
|
|
3401
3285
|
/**
|
|
3402
|
-
*
|
|
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.
|
|
3403
3287
|
*/
|
|
3404
|
-
|
|
3405
|
-
[k: string]: unknown;
|
|
3406
|
-
}[];
|
|
3407
|
-
[k: string]: unknown;
|
|
3408
|
-
}
|
|
3409
|
-
/**
|
|
3410
|
-
* Catalog of themes. Records validate against https://openpresentation.org/schema/opf-theme/v1. Default source: https://www.pptx.gallery/themes.
|
|
3411
|
-
*/
|
|
3412
|
-
interface CatalogEntry1 {
|
|
3288
|
+
custom?: CatalogGroup;
|
|
3413
3289
|
/**
|
|
3414
|
-
*
|
|
3290
|
+
* A named catalog: its source and the records of it this document embeds. References name it as a prefix ('acme:hero').
|
|
3415
3291
|
*/
|
|
3416
|
-
|
|
3417
|
-
/**
|
|
3418
|
-
* 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.
|
|
3419
|
-
*/
|
|
3420
|
-
records?: {
|
|
3292
|
+
[k: string]: (CatalogGroup & {
|
|
3421
3293
|
[k: string]: unknown;
|
|
3422
|
-
}
|
|
3423
|
-
[k: string]: unknown;
|
|
3294
|
+
}) | CatalogGroup | false | undefined;
|
|
3424
3295
|
}
|
|
3425
3296
|
/**
|
|
3426
|
-
*
|
|
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".
|
|
3427
3301
|
*/
|
|
3428
|
-
interface
|
|
3429
|
-
|
|
3430
|
-
|
|
3431
|
-
|
|
3432
|
-
|
|
3433
|
-
|
|
3434
|
-
|
|
3435
|
-
|
|
3436
|
-
|
|
3437
|
-
|
|
3438
|
-
}[];
|
|
3439
|
-
[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;
|
|
3440
3312
|
}
|
|
3441
3313
|
/**
|
|
3442
|
-
*
|
|
3314
|
+
* Layout records keyed by id, each with the fields of https://openpresentation.org/schema/opf-layout/v1. Referenced from Slide.layout.
|
|
3443
3315
|
*/
|
|
3444
|
-
interface
|
|
3445
|
-
/**
|
|
3446
|
-
* 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. Engines never fetch a source. The host loads the records itself and passes them to the renderer and exporter as a 'catalogSources' map from the source string to its records; a source with no entry in that map contributes no records, except the default catalog's own URL and the '@openpresentation/opf' package, which resolve from the bundled snapshot.
|
|
3447
|
-
*/
|
|
3448
|
-
source?: (CatalogSource | [CatalogSource, ...(CatalogSource)[]]);
|
|
3316
|
+
interface CatalogRecords {
|
|
3449
3317
|
/**
|
|
3450
|
-
*
|
|
3318
|
+
* One embedded record: the fields of the kind's companion schema without '$schema' and 'id'.
|
|
3451
3319
|
*/
|
|
3452
|
-
|
|
3320
|
+
[k: string]: {
|
|
3453
3321
|
[k: string]: unknown;
|
|
3454
|
-
}
|
|
3455
|
-
[k: string]: unknown;
|
|
3322
|
+
};
|
|
3456
3323
|
}
|
|
3457
3324
|
/**
|
|
3458
|
-
*
|
|
3325
|
+
* Theme records keyed by id, each with the fields of https://openpresentation.org/schema/opf-theme/v1. Referenced from design.theme.
|
|
3459
3326
|
*/
|
|
3460
|
-
interface
|
|
3461
|
-
/**
|
|
3462
|
-
* 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. Engines never fetch a source. The host loads the records itself and passes them to the renderer and exporter as a 'catalogSources' map from the source string to its records; a source with no entry in that map contributes no records, except the default catalog's own URL and the '@openpresentation/opf' package, which resolve from the bundled snapshot.
|
|
3463
|
-
*/
|
|
3464
|
-
source?: (CatalogSource | [CatalogSource, ...(CatalogSource)[]]);
|
|
3327
|
+
interface CatalogRecords1 {
|
|
3465
3328
|
/**
|
|
3466
|
-
*
|
|
3329
|
+
* One embedded record: the fields of the kind's companion schema without '$schema' and 'id'.
|
|
3467
3330
|
*/
|
|
3468
|
-
|
|
3331
|
+
[k: string]: {
|
|
3469
3332
|
[k: string]: unknown;
|
|
3470
|
-
}
|
|
3471
|
-
[k: string]: unknown;
|
|
3333
|
+
};
|
|
3472
3334
|
}
|
|
3473
3335
|
/**
|
|
3474
|
-
*
|
|
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.
|
|
3475
3337
|
*/
|
|
3476
|
-
interface
|
|
3338
|
+
interface CatalogRecords2 {
|
|
3477
3339
|
/**
|
|
3478
|
-
*
|
|
3340
|
+
* One embedded record: the fields of the kind's companion schema without '$schema' and 'id'.
|
|
3479
3341
|
*/
|
|
3480
|
-
|
|
3481
|
-
/**
|
|
3482
|
-
* 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.
|
|
3483
|
-
*/
|
|
3484
|
-
records?: {
|
|
3342
|
+
[k: string]: {
|
|
3485
3343
|
[k: string]: unknown;
|
|
3486
|
-
}
|
|
3487
|
-
[k: string]: unknown;
|
|
3344
|
+
};
|
|
3488
3345
|
}
|
|
3489
3346
|
/**
|
|
3490
|
-
*
|
|
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.
|
|
3491
3348
|
*/
|
|
3492
|
-
interface
|
|
3493
|
-
/**
|
|
3494
|
-
* 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. Engines never fetch a source. The host loads the records itself and passes them to the renderer and exporter as a 'catalogSources' map from the source string to its records; a source with no entry in that map contributes no records, except the default catalog's own URL and the '@openpresentation/opf' package, which resolve from the bundled snapshot.
|
|
3495
|
-
*/
|
|
3496
|
-
source?: (CatalogSource | [CatalogSource, ...(CatalogSource)[]]);
|
|
3349
|
+
interface CatalogRecords3 {
|
|
3497
3350
|
/**
|
|
3498
|
-
*
|
|
3351
|
+
* One embedded record: the fields of the kind's companion schema without '$schema' and 'id'.
|
|
3499
3352
|
*/
|
|
3500
|
-
|
|
3353
|
+
[k: string]: {
|
|
3501
3354
|
[k: string]: unknown;
|
|
3502
|
-
}
|
|
3503
|
-
[k: string]: unknown;
|
|
3355
|
+
};
|
|
3504
3356
|
}
|
|
3505
3357
|
/**
|
|
3506
|
-
*
|
|
3358
|
+
* Narrative records keyed by id, each with the fields of https://openpresentation.org/schema/opf-narrative/v1. Referenced from narrative.
|
|
3507
3359
|
*/
|
|
3508
|
-
interface
|
|
3509
|
-
/**
|
|
3510
|
-
* 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. Engines never fetch a source. The host loads the records itself and passes them to the renderer and exporter as a 'catalogSources' map from the source string to its records; a source with no entry in that map contributes no records, except the default catalog's own URL and the '@openpresentation/opf' package, which resolve from the bundled snapshot.
|
|
3511
|
-
*/
|
|
3512
|
-
source?: (CatalogSource | [CatalogSource, ...(CatalogSource)[]]);
|
|
3360
|
+
interface CatalogRecords4 {
|
|
3513
3361
|
/**
|
|
3514
|
-
*
|
|
3362
|
+
* One embedded record: the fields of the kind's companion schema without '$schema' and 'id'.
|
|
3515
3363
|
*/
|
|
3516
|
-
|
|
3364
|
+
[k: string]: {
|
|
3517
3365
|
[k: string]: unknown;
|
|
3518
|
-
}
|
|
3519
|
-
[k: string]: unknown;
|
|
3366
|
+
};
|
|
3520
3367
|
}
|
|
3521
3368
|
/**
|
|
3522
|
-
*
|
|
3369
|
+
* Audience records keyed by id, each with the fields of https://openpresentation.org/schema/opf-audience/v1. Referenced from audience.
|
|
3523
3370
|
*/
|
|
3524
|
-
interface
|
|
3371
|
+
interface CatalogRecords5 {
|
|
3525
3372
|
/**
|
|
3526
|
-
*
|
|
3373
|
+
* One embedded record: the fields of the kind's companion schema without '$schema' and 'id'.
|
|
3527
3374
|
*/
|
|
3528
|
-
|
|
3529
|
-
/**
|
|
3530
|
-
* 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.
|
|
3531
|
-
*/
|
|
3532
|
-
records?: {
|
|
3375
|
+
[k: string]: {
|
|
3533
3376
|
[k: string]: unknown;
|
|
3534
|
-
}
|
|
3535
|
-
[k: string]: unknown;
|
|
3377
|
+
};
|
|
3536
3378
|
}
|
|
3537
3379
|
/**
|
|
3538
|
-
*
|
|
3380
|
+
* Purpose records keyed by id, each with the fields of https://openpresentation.org/schema/opf-purpose/v1. Referenced from purpose.
|
|
3539
3381
|
*/
|
|
3540
|
-
interface
|
|
3541
|
-
/**
|
|
3542
|
-
* 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. Engines never fetch a source. The host loads the records itself and passes them to the renderer and exporter as a 'catalogSources' map from the source string to its records; a source with no entry in that map contributes no records, except the default catalog's own URL and the '@openpresentation/opf' package, which resolve from the bundled snapshot.
|
|
3543
|
-
*/
|
|
3544
|
-
source?: (CatalogSource | [CatalogSource, ...(CatalogSource)[]]);
|
|
3382
|
+
interface CatalogRecords6 {
|
|
3545
3383
|
/**
|
|
3546
|
-
*
|
|
3384
|
+
* One embedded record: the fields of the kind's companion schema without '$schema' and 'id'.
|
|
3547
3385
|
*/
|
|
3548
|
-
|
|
3386
|
+
[k: string]: {
|
|
3549
3387
|
[k: string]: unknown;
|
|
3550
|
-
}
|
|
3551
|
-
[k: string]: unknown;
|
|
3388
|
+
};
|
|
3552
3389
|
}
|
|
3553
3390
|
/**
|
|
3554
|
-
*
|
|
3391
|
+
* Tone records keyed by id, each with the fields of https://openpresentation.org/schema/opf-tone/v1. Referenced from tone.
|
|
3555
3392
|
*/
|
|
3556
|
-
interface
|
|
3557
|
-
/**
|
|
3558
|
-
* 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. Engines never fetch a source. The host loads the records itself and passes them to the renderer and exporter as a 'catalogSources' map from the source string to its records; a source with no entry in that map contributes no records, except the default catalog's own URL and the '@openpresentation/opf' package, which resolve from the bundled snapshot.
|
|
3559
|
-
*/
|
|
3560
|
-
source?: (CatalogSource | [CatalogSource, ...(CatalogSource)[]]);
|
|
3393
|
+
interface CatalogRecords7 {
|
|
3561
3394
|
/**
|
|
3562
|
-
*
|
|
3395
|
+
* One embedded record: the fields of the kind's companion schema without '$schema' and 'id'.
|
|
3563
3396
|
*/
|
|
3564
|
-
|
|
3397
|
+
[k: string]: {
|
|
3565
3398
|
[k: string]: unknown;
|
|
3566
|
-
}
|
|
3567
|
-
[k: string]: unknown;
|
|
3399
|
+
};
|
|
3568
3400
|
}
|
|
3569
3401
|
|
|
3570
3402
|
export type { Presentation as P };
|