@openpresentation/opf 0.1.0 → 0.2.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/LICENSE +21 -21
- package/README.md +146 -103
- package/dist/catalogs.d.ts +11 -1531
- package/dist/catalogs.js +5 -613
- package/dist/catalogs.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +3831 -649
- package/dist/index.js.map +1 -1
- package/dist/previews.d.ts +40 -0
- package/dist/previews.js +447 -0
- package/dist/previews.js.map +1 -0
- package/dist/schemas.d.ts +105 -105
- package/dist/schemas.js +35 -35
- package/dist/schemas.js.map +1 -1
- package/dist/spec/catalogs/audiences/all-hands.json +23 -23
- package/dist/spec/catalogs/audiences/board.json +22 -22
- package/dist/spec/catalogs/audiences/candidates.json +23 -23
- package/dist/spec/catalogs/audiences/customers.json +23 -23
- package/dist/spec/catalogs/audiences/engineering-team.json +23 -23
- package/dist/spec/catalogs/audiences/executives.json +23 -23
- package/dist/spec/catalogs/audiences/index.json +67 -67
- package/dist/spec/catalogs/audiences/investors.json +23 -23
- package/dist/spec/catalogs/audiences/marketing-team.json +23 -23
- package/dist/spec/catalogs/audiences/regulators.json +23 -23
- package/dist/spec/catalogs/audiences/sales-team.json +23 -23
- package/dist/spec/catalogs/chart-types/100pct-bullet-bar-2x.json +86 -90
- package/dist/spec/catalogs/chart-types/100pct-bullet-bar-3x.json +98 -102
- package/dist/spec/catalogs/chart-types/100pct-bullet-bar.json +74 -78
- package/dist/spec/catalogs/chart-types/100pct-bullet-column-2x.json +86 -90
- package/dist/spec/catalogs/chart-types/100pct-bullet-column-3x.json +98 -102
- package/dist/spec/catalogs/chart-types/100pct-bullet-column.json +74 -78
- package/dist/spec/catalogs/chart-types/100pct-progress-bar.json +95 -99
- package/dist/spec/catalogs/chart-types/100pct-stacked-area-2x.json +96 -100
- package/dist/spec/catalogs/chart-types/100pct-stacked-area-3x.json +118 -122
- package/dist/spec/catalogs/chart-types/100pct-stacked-bar-2x.json +79 -83
- package/dist/spec/catalogs/chart-types/100pct-stacked-bar-3x.json +95 -99
- package/dist/spec/catalogs/chart-types/100pct-stacked-column-2x.json +85 -89
- package/dist/spec/catalogs/chart-types/100pct-stacked-column-3x.json +103 -107
- package/dist/spec/catalogs/chart-types/area.json +73 -77
- package/dist/spec/catalogs/chart-types/australia.json +66 -70
- package/dist/spec/catalogs/chart-types/bar.json +63 -67
- package/dist/spec/catalogs/chart-types/box-and-whisker-2x.json +126 -130
- package/dist/spec/catalogs/chart-types/box-and-whisker-3x.json +158 -162
- package/dist/spec/catalogs/chart-types/box-and-whisker.json +94 -98
- package/dist/spec/catalogs/chart-types/bullet-bar-2x.json +84 -88
- package/dist/spec/catalogs/chart-types/bullet-bar-3x.json +96 -100
- package/dist/spec/catalogs/chart-types/bullet-bar.json +72 -76
- package/dist/spec/catalogs/chart-types/bullet-column-2x.json +84 -88
- package/dist/spec/catalogs/chart-types/bullet-column-3x.json +96 -100
- package/dist/spec/catalogs/chart-types/bullet-column.json +72 -76
- package/dist/spec/catalogs/chart-types/canada.json +76 -80
- package/dist/spec/catalogs/chart-types/clustered-bar-2x.json +79 -83
- package/dist/spec/catalogs/chart-types/clustered-column.json +85 -89
- package/dist/spec/catalogs/chart-types/column.json +67 -71
- package/dist/spec/catalogs/chart-types/dot-plot-2x.json +94 -98
- package/dist/spec/catalogs/chart-types/dot-plot-3x.json +119 -123
- package/dist/spec/catalogs/chart-types/dot-plot-4x.json +144 -148
- package/dist/spec/catalogs/chart-types/dot-plot-5x.json +169 -173
- package/dist/spec/catalogs/chart-types/dot-plot-6x.json +194 -198
- package/dist/spec/catalogs/chart-types/dot-plot.json +69 -73
- package/dist/spec/catalogs/chart-types/doughnut.json +53 -57
- package/dist/spec/catalogs/chart-types/dumbbell.json +115 -119
- package/dist/spec/catalogs/chart-types/filled-radar.json +66 -70
- package/dist/spec/catalogs/chart-types/funnel.json +60 -64
- package/dist/spec/catalogs/chart-types/histogram.json +141 -145
- package/dist/spec/catalogs/chart-types/index.json +539 -843
- package/dist/spec/catalogs/chart-types/line-2x.json +95 -99
- package/dist/spec/catalogs/chart-types/line-3x.json +117 -121
- package/dist/spec/catalogs/chart-types/line-with-high-low-and-markers.json +139 -143
- package/dist/spec/catalogs/chart-types/line-with-high-low.json +139 -143
- package/dist/spec/catalogs/chart-types/line-with-markers-2x.json +96 -100
- package/dist/spec/catalogs/chart-types/line-with-markers-3x.json +118 -122
- package/dist/spec/catalogs/chart-types/line-with-markers.json +74 -78
- package/dist/spec/catalogs/chart-types/line.json +73 -77
- package/dist/spec/catalogs/chart-types/pareto.json +159 -163
- package/dist/spec/catalogs/chart-types/pie.json +53 -57
- package/dist/spec/catalogs/chart-types/radar-with-markers.json +66 -70
- package/dist/spec/catalogs/chart-types/radar.json +66 -70
- package/dist/spec/catalogs/chart-types/scatter.json +87 -91
- package/dist/spec/catalogs/chart-types/sparkline-2x.json +133 -137
- package/dist/spec/catalogs/chart-types/sparkline-3x.json +169 -173
- package/dist/spec/catalogs/chart-types/sparkline-4x.json +205 -209
- package/dist/spec/catalogs/chart-types/sparkline-5x.json +241 -245
- package/dist/spec/catalogs/chart-types/sparkline-6x.json +277 -281
- package/dist/spec/catalogs/chart-types/sparkline.json +97 -101
- package/dist/spec/catalogs/chart-types/stacked-area-2x.json +96 -100
- package/dist/spec/catalogs/chart-types/stacked-area-3x.json +118 -122
- package/dist/spec/catalogs/chart-types/stacked-bar-2x.json +79 -83
- package/dist/spec/catalogs/chart-types/stacked-bar-3x.json +95 -99
- package/dist/spec/catalogs/chart-types/stacked-column-2x.json +85 -89
- package/dist/spec/catalogs/chart-types/stacked-column-3x.json +103 -107
- package/dist/spec/catalogs/chart-types/stacked-line-2x.json +96 -100
- package/dist/spec/catalogs/chart-types/stacked-line-3x.json +118 -122
- package/dist/spec/catalogs/chart-types/stacked-line-with-markers-2x.json +97 -101
- package/dist/spec/catalogs/chart-types/stacked-line-with-markers-3x.json +119 -123
- package/dist/spec/catalogs/chart-types/treemap-2x.json +91 -95
- package/dist/spec/catalogs/chart-types/treemap-3x.json +112 -116
- package/dist/spec/catalogs/chart-types/treemap.json +62 -66
- package/dist/spec/catalogs/chart-types/{united-kindom.json → united-kingdom.json} +58 -62
- package/dist/spec/catalogs/chart-types/united-states.json +72 -76
- package/dist/spec/catalogs/chart-types/waterfall.json +66 -70
- package/dist/spec/catalogs/chart-types/world.json +78 -82
- package/dist/spec/catalogs/color-schemes/black-and-white.json +17 -17
- package/dist/spec/catalogs/color-schemes/bold-red.json +17 -17
- package/dist/spec/catalogs/color-schemes/boost.json +17 -17
- package/dist/spec/catalogs/color-schemes/burnt-orange.json +17 -17
- package/dist/spec/catalogs/color-schemes/cool-horizon.json +17 -17
- package/dist/spec/catalogs/color-schemes/corporate-blue.json +17 -17
- package/dist/spec/catalogs/color-schemes/deep-purple.json +17 -17
- package/dist/spec/catalogs/color-schemes/forest-green.json +17 -17
- package/dist/spec/catalogs/color-schemes/golden-yellow.json +17 -17
- package/dist/spec/catalogs/color-schemes/index.json +77 -77
- package/dist/spec/catalogs/color-schemes/luxury.json +17 -17
- package/dist/spec/catalogs/color-schemes/pastel-red.json +17 -17
- package/dist/spec/catalogs/color-schemes/slate-gray.json +17 -17
- package/dist/spec/catalogs/color-schemes/steel-blue.json +17 -17
- package/dist/spec/catalogs/color-schemes/vibes.json +17 -17
- package/dist/spec/catalogs/font-schemes/angsana-new.json +14 -14
- package/dist/spec/catalogs/font-schemes/aparajita.json +15 -15
- package/dist/spec/catalogs/font-schemes/aptos.json +12 -12
- package/dist/spec/catalogs/font-schemes/arabic-typesetting.json +14 -14
- package/dist/spec/catalogs/font-schemes/arial.json +12 -12
- package/dist/spec/catalogs/font-schemes/batang.json +14 -14
- package/dist/spec/catalogs/font-schemes/bookman.json +12 -12
- package/dist/spec/catalogs/font-schemes/calibri.json +12 -12
- package/dist/spec/catalogs/font-schemes/century-schoolbook.json +12 -12
- package/dist/spec/catalogs/font-schemes/consolas.json +12 -12
- package/dist/spec/catalogs/font-schemes/constantia.json +12 -12
- package/dist/spec/catalogs/font-schemes/courier-new.json +12 -12
- package/dist/spec/catalogs/font-schemes/daunpenh.json +14 -14
- package/dist/spec/catalogs/font-schemes/david.json +14 -14
- package/dist/spec/catalogs/font-schemes/dilleniaupc.json +14 -14
- package/dist/spec/catalogs/font-schemes/fangsong.json +14 -14
- package/dist/spec/catalogs/font-schemes/garamond.json +12 -12
- package/dist/spec/catalogs/font-schemes/gautami.json +14 -14
- package/dist/spec/catalogs/font-schemes/georgia.json +12 -12
- package/dist/spec/catalogs/font-schemes/gisha.json +15 -15
- package/dist/spec/catalogs/font-schemes/grandview.json +12 -12
- package/dist/spec/catalogs/font-schemes/gungsuh.json +14 -14
- package/dist/spec/catalogs/font-schemes/impact.json +12 -12
- package/dist/spec/catalogs/font-schemes/index.json +452 -452
- package/dist/spec/catalogs/font-schemes/kalinga.json +14 -14
- package/dist/spec/catalogs/font-schemes/kartika.json +14 -14
- package/dist/spec/catalogs/font-schemes/khmer-ui.json +14 -14
- package/dist/spec/catalogs/font-schemes/latha.json +14 -14
- package/dist/spec/catalogs/font-schemes/lucida-sans.json +12 -12
- package/dist/spec/catalogs/font-schemes/malgun-gothic.json +14 -14
- package/dist/spec/catalogs/font-schemes/mangal.json +17 -17
- package/dist/spec/catalogs/font-schemes/meiryo.json +14 -14
- package/dist/spec/catalogs/font-schemes/microsoft-jhenghei.json +14 -14
- package/dist/spec/catalogs/font-schemes/microsoft-yahei.json +17 -17
- package/dist/spec/catalogs/font-schemes/mingliu.json +14 -14
- package/dist/spec/catalogs/font-schemes/miriam.json +14 -14
- package/dist/spec/catalogs/font-schemes/montserrat.json +12 -12
- package/dist/spec/catalogs/font-schemes/ms-mincho.json +14 -14
- package/dist/spec/catalogs/font-schemes/nirmala-ui.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-naksh-arabic.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-nastaliq-urdu.json +15 -15
- package/dist/spec/catalogs/font-schemes/noto-sans-arabic.json +16 -16
- package/dist/spec/catalogs/font-schemes/noto-sans-armenian.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-bengali.json +15 -15
- package/dist/spec/catalogs/font-schemes/noto-sans-devangari.json +15 -15
- package/dist/spec/catalogs/font-schemes/noto-sans-ethiopic.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-georgian.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-gujarati.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-gurmukhi.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-hebrew.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-jp.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-kannada.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-khmer.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-kr.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-malayalam.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-mongolian.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-oriya.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-sc.json +17 -17
- package/dist/spec/catalogs/font-schemes/noto-sans-tamil.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-tc.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-telugu.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-thai.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans.json +17 -17
- package/dist/spec/catalogs/font-schemes/nyala.json +14 -14
- package/dist/spec/catalogs/font-schemes/open-sans.json +12 -12
- package/dist/spec/catalogs/font-schemes/pmingliu.json +14 -14
- package/dist/spec/catalogs/font-schemes/poppins.json +12 -12
- package/dist/spec/catalogs/font-schemes/pt-serif.json +12 -12
- package/dist/spec/catalogs/font-schemes/raavi.json +14 -14
- package/dist/spec/catalogs/font-schemes/raleway.json +12 -12
- package/dist/spec/catalogs/font-schemes/roboto.json +12 -12
- package/dist/spec/catalogs/font-schemes/rockwell.json +12 -12
- package/dist/spec/catalogs/font-schemes/sakkal-majalla.json +16 -16
- package/dist/spec/catalogs/font-schemes/seaford.json +12 -12
- package/dist/spec/catalogs/font-schemes/segoe-ui-light.json +12 -12
- package/dist/spec/catalogs/font-schemes/segoe-ui.json +12 -12
- package/dist/spec/catalogs/font-schemes/shonar-bangla.json +15 -15
- package/dist/spec/catalogs/font-schemes/shruti.json +14 -14
- package/dist/spec/catalogs/font-schemes/simsun.json +14 -14
- package/dist/spec/catalogs/font-schemes/skeena.json +12 -12
- package/dist/spec/catalogs/font-schemes/sylfaen.json +15 -15
- package/dist/spec/catalogs/font-schemes/tahoma.json +12 -12
- package/dist/spec/catalogs/font-schemes/tenorite.json +12 -12
- package/dist/spec/catalogs/font-schemes/times-new-roman.json +12 -12
- package/dist/spec/catalogs/font-schemes/traditional-arabic.json +16 -16
- package/dist/spec/catalogs/font-schemes/trebuchet-ms.json +12 -12
- package/dist/spec/catalogs/font-schemes/tunga.json +14 -14
- package/dist/spec/catalogs/font-schemes/verdana.json +12 -12
- package/dist/spec/catalogs/font-schemes/vrinda.json +14 -14
- package/dist/spec/catalogs/font-schemes/yu-gothic.json +14 -14
- package/dist/spec/catalogs/languages/afrikaans.json +9 -9
- package/dist/spec/catalogs/languages/albanian.json +9 -9
- package/dist/spec/catalogs/languages/amharic.json +9 -9
- package/dist/spec/catalogs/languages/arabic.json +9 -9
- package/dist/spec/catalogs/languages/armenian.json +9 -9
- package/dist/spec/catalogs/languages/aymara.json +9 -9
- package/dist/spec/catalogs/languages/azerbaijani.json +9 -9
- package/dist/spec/catalogs/languages/bengali.json +9 -9
- package/dist/spec/catalogs/languages/berber-latin.json +9 -9
- package/dist/spec/catalogs/languages/bosnian-latin.json +9 -9
- package/dist/spec/catalogs/languages/bulgarian.json +9 -9
- package/dist/spec/catalogs/languages/catalan.json +9 -9
- package/dist/spec/catalogs/languages/cebuano.json +9 -9
- package/dist/spec/catalogs/languages/chinese-simplified.json +9 -9
- package/dist/spec/catalogs/languages/chinese-traditional.json +9 -9
- package/dist/spec/catalogs/languages/chittagonian.json +9 -9
- package/dist/spec/catalogs/languages/croatian.json +9 -9
- package/dist/spec/catalogs/languages/czech.json +9 -9
- package/dist/spec/catalogs/languages/danish.json +9 -9
- package/dist/spec/catalogs/languages/dutch.json +9 -9
- package/dist/spec/catalogs/languages/english-au.json +9 -9
- package/dist/spec/catalogs/languages/english-ca.json +9 -9
- package/dist/spec/catalogs/languages/english-gb.json +9 -9
- package/dist/spec/catalogs/languages/english-in.json +9 -9
- package/dist/spec/catalogs/languages/english-us.json +9 -9
- package/dist/spec/catalogs/languages/english.json +9 -9
- package/dist/spec/catalogs/languages/estonian.json +9 -9
- package/dist/spec/catalogs/languages/filipino.json +9 -9
- package/dist/spec/catalogs/languages/finnish.json +9 -9
- package/dist/spec/catalogs/languages/french.json +9 -9
- package/dist/spec/catalogs/languages/fulfulde.json +9 -9
- package/dist/spec/catalogs/languages/galician.json +9 -9
- package/dist/spec/catalogs/languages/georgian.json +9 -9
- package/dist/spec/catalogs/languages/german.json +9 -9
- package/dist/spec/catalogs/languages/greek.json +9 -9
- package/dist/spec/catalogs/languages/gujarati.json +9 -9
- package/dist/spec/catalogs/languages/hausa.json +9 -9
- package/dist/spec/catalogs/languages/hebrew.json +9 -9
- package/dist/spec/catalogs/languages/hindi.json +9 -9
- package/dist/spec/catalogs/languages/hungarian.json +9 -9
- package/dist/spec/catalogs/languages/igbo.json +9 -9
- package/dist/spec/catalogs/languages/index.json +565 -565
- package/dist/spec/catalogs/languages/indonesian.json +9 -9
- package/dist/spec/catalogs/languages/italian.json +9 -9
- package/dist/spec/catalogs/languages/japanese.json +9 -9
- package/dist/spec/catalogs/languages/kannada.json +9 -9
- package/dist/spec/catalogs/languages/kazakh.json +9 -9
- package/dist/spec/catalogs/languages/khmer.json +9 -9
- package/dist/spec/catalogs/languages/kinyarwanda.json +9 -9
- package/dist/spec/catalogs/languages/korean.json +9 -9
- package/dist/spec/catalogs/languages/kurmanji.json +9 -9
- package/dist/spec/catalogs/languages/latvian.json +9 -9
- package/dist/spec/catalogs/languages/lithuanian.json +9 -9
- package/dist/spec/catalogs/languages/macedonian.json +9 -9
- package/dist/spec/catalogs/languages/malagasy.json +9 -9
- package/dist/spec/catalogs/languages/malay.json +9 -9
- package/dist/spec/catalogs/languages/malayalam.json +9 -9
- package/dist/spec/catalogs/languages/maori.json +9 -9
- package/dist/spec/catalogs/languages/marathi.json +9 -9
- package/dist/spec/catalogs/languages/mongolian.json +9 -9
- package/dist/spec/catalogs/languages/nepali.json +9 -9
- package/dist/spec/catalogs/languages/norwegian.json +9 -9
- package/dist/spec/catalogs/languages/odia.json +9 -9
- package/dist/spec/catalogs/languages/oromo.json +9 -9
- package/dist/spec/catalogs/languages/pashto.json +9 -9
- package/dist/spec/catalogs/languages/persian.json +9 -9
- package/dist/spec/catalogs/languages/polish.json +9 -9
- package/dist/spec/catalogs/languages/portuguese.json +9 -9
- package/dist/spec/catalogs/languages/punjabi-gurmukhi.json +9 -9
- package/dist/spec/catalogs/languages/punjabi-shahmukhi.json +9 -9
- package/dist/spec/catalogs/languages/romanian.json +9 -9
- package/dist/spec/catalogs/languages/russian.json +9 -9
- package/dist/spec/catalogs/languages/serbian-cyrillic.json +9 -9
- package/dist/spec/catalogs/languages/serbian-latin.json +9 -9
- package/dist/spec/catalogs/languages/shona.json +9 -9
- package/dist/spec/catalogs/languages/slovak.json +9 -9
- package/dist/spec/catalogs/languages/slovenian.json +9 -9
- package/dist/spec/catalogs/languages/somali.json +9 -9
- package/dist/spec/catalogs/languages/spanish.json +9 -9
- package/dist/spec/catalogs/languages/swahili.json +9 -9
- package/dist/spec/catalogs/languages/swedish.json +9 -9
- package/dist/spec/catalogs/languages/tagalog.json +9 -9
- package/dist/spec/catalogs/languages/tajik.json +9 -9
- package/dist/spec/catalogs/languages/tamil.json +9 -9
- package/dist/spec/catalogs/languages/telugu.json +9 -9
- package/dist/spec/catalogs/languages/thai.json +9 -9
- package/dist/spec/catalogs/languages/turkish.json +9 -9
- package/dist/spec/catalogs/languages/ukrainian.json +9 -9
- package/dist/spec/catalogs/languages/urdu.json +9 -9
- package/dist/spec/catalogs/languages/uzbek-latin.json +9 -9
- package/dist/spec/catalogs/languages/vietnamese-quoc-ngu.json +9 -9
- package/dist/spec/catalogs/languages/xhosa.json +9 -9
- package/dist/spec/catalogs/languages/yoruba.json +9 -9
- package/dist/spec/catalogs/languages/zulu.json +9 -9
- package/dist/spec/catalogs/layouts/blank.json +6 -6
- package/dist/spec/catalogs/layouts/chart-1x.json +16 -16
- package/dist/spec/catalogs/layouts/chart-2x.json +22 -22
- package/dist/spec/catalogs/layouts/chart-3x.json +28 -28
- package/dist/spec/catalogs/layouts/code-1x.json +16 -16
- package/dist/spec/catalogs/layouts/extract/canonical.json +487 -487
- package/dist/spec/catalogs/layouts/image-1x.json +16 -16
- package/dist/spec/catalogs/layouts/image-2x.json +22 -22
- package/dist/spec/catalogs/layouts/image-3x.json +28 -28
- package/dist/spec/catalogs/layouts/image-bleed.json +10 -10
- package/dist/spec/catalogs/layouts/index.json +147 -147
- package/dist/spec/catalogs/layouts/list-1x.json +13 -13
- package/dist/spec/catalogs/layouts/list-2x.json +16 -16
- package/dist/spec/catalogs/layouts/list-3x.json +19 -19
- package/dist/spec/catalogs/layouts/list-4x.json +22 -22
- package/dist/spec/catalogs/layouts/list-5x.json +25 -25
- package/dist/spec/catalogs/layouts/list-6x.json +28 -28
- package/dist/spec/catalogs/layouts/media-1x.json +16 -16
- package/dist/spec/catalogs/layouts/number-1x.json +13 -13
- package/dist/spec/catalogs/layouts/number-2x.json +16 -16
- package/dist/spec/catalogs/layouts/number-3x.json +19 -19
- package/dist/spec/catalogs/layouts/number-4x.json +22 -22
- package/dist/spec/catalogs/layouts/number-5x.json +25 -25
- package/dist/spec/catalogs/layouts/number-6x.json +28 -28
- package/dist/spec/catalogs/layouts/table-1x.json +16 -16
- package/dist/spec/catalogs/layouts/text-1x.json +13 -13
- package/dist/spec/catalogs/layouts/text-2x.json +16 -16
- package/dist/spec/catalogs/layouts/text-3x.json +19 -19
- package/dist/spec/catalogs/layouts/title-subtitle.json +13 -13
- package/dist/spec/catalogs/layouts/title.json +10 -10
- package/dist/spec/catalogs/narratives/board-meeting.json +192 -192
- package/dist/spec/catalogs/narratives/business-narrative.json +87 -87
- package/dist/spec/catalogs/narratives/business-review.json +119 -119
- package/dist/spec/catalogs/narratives/capacity-planning.json +88 -88
- package/dist/spec/catalogs/narratives/challenge-resolution.json +80 -80
- package/dist/spec/catalogs/narratives/classic-story.json +78 -78
- package/dist/spec/catalogs/narratives/company-intro.json +96 -96
- package/dist/spec/catalogs/narratives/conference-talk.json +54 -54
- package/dist/spec/catalogs/narratives/early-startup-pitch.json +119 -119
- package/dist/spec/catalogs/narratives/educate.json +95 -95
- package/dist/spec/catalogs/narratives/employee-review.json +87 -87
- package/dist/spec/catalogs/narratives/failure-analysis.json +104 -104
- package/dist/spec/catalogs/narratives/focus.json +120 -120
- package/dist/spec/catalogs/narratives/golden-circle.json +50 -50
- package/dist/spec/catalogs/narratives/index.json +358 -358
- package/dist/spec/catalogs/narratives/innovation.json +96 -96
- package/dist/spec/catalogs/narratives/justice.json +112 -112
- package/dist/spec/catalogs/narratives/marketing-strategy.json +111 -111
- package/dist/spec/catalogs/narratives/performance-improvement-plan.json +87 -87
- package/dist/spec/catalogs/narratives/performance-review.json +111 -111
- package/dist/spec/catalogs/narratives/persuade.json +94 -94
- package/dist/spec/catalogs/narratives/persuasive-sales.json +87 -87
- package/dist/spec/catalogs/narratives/pitch-deck.json +107 -107
- package/dist/spec/catalogs/narratives/problem-solution.json +61 -61
- package/dist/spec/catalogs/narratives/product-launch.json +104 -104
- package/dist/spec/catalogs/narratives/project-proposal.json +104 -104
- package/dist/spec/catalogs/narratives/qbr.json +85 -85
- package/dist/spec/catalogs/narratives/rags-to-riches.json +80 -80
- package/dist/spec/catalogs/narratives/reveal.json +87 -87
- package/dist/spec/catalogs/narratives/scqa.json +55 -55
- package/dist/spec/catalogs/narratives/status-update.json +72 -72
- package/dist/spec/catalogs/narratives/strategic-advisory.json +85 -85
- package/dist/spec/catalogs/narratives/strategic-narrative.json +61 -61
- package/dist/spec/catalogs/narratives/survey-analysis.json +104 -104
- package/dist/spec/catalogs/narratives/survival-story.json +103 -103
- package/dist/spec/catalogs/narratives/transformation-arc.json +50 -50
- package/dist/spec/catalogs/narratives/trend-analysis.json +79 -79
- package/dist/spec/catalogs/narratives/underdog-victory.json +87 -87
- package/dist/spec/catalogs/narratives/venture-pitch.json +109 -109
- package/dist/spec/catalogs/narratives/weekly-progress.json +103 -103
- package/dist/spec/catalogs/purposes/align.json +16 -16
- package/dist/spec/catalogs/purposes/decide.json +16 -16
- package/dist/spec/catalogs/purposes/educate.json +16 -16
- package/dist/spec/catalogs/purposes/index.json +61 -61
- package/dist/spec/catalogs/purposes/inform.json +16 -16
- package/dist/spec/catalogs/purposes/persuade.json +16 -16
- package/dist/spec/catalogs/purposes/pitch.json +16 -16
- package/dist/spec/catalogs/purposes/plan.json +16 -16
- package/dist/spec/catalogs/purposes/report.json +16 -16
- package/dist/spec/catalogs/purposes/sell.json +16 -16
- package/dist/spec/catalogs/social-platforms/bluesky.json +14 -14
- package/dist/spec/catalogs/social-platforms/facebook.json +14 -14
- package/dist/spec/catalogs/social-platforms/github.json +15 -15
- package/dist/spec/catalogs/social-platforms/index.json +68 -68
- package/dist/spec/catalogs/social-platforms/instagram.json +13 -13
- package/dist/spec/catalogs/social-platforms/linkedin.json +15 -15
- package/dist/spec/catalogs/social-platforms/mastodon.json +14 -14
- package/dist/spec/catalogs/social-platforms/threads.json +13 -13
- package/dist/spec/catalogs/social-platforms/tiktok.json +14 -14
- package/dist/spec/catalogs/social-platforms/x.json +14 -14
- package/dist/spec/catalogs/social-platforms/youtube.json +14 -14
- package/dist/spec/catalogs/themes/bold.json +13 -13
- package/dist/spec/catalogs/themes/classic.json +13 -13
- package/dist/spec/catalogs/themes/dark.json +13 -13
- package/dist/spec/catalogs/themes/index.json +31 -31
- package/dist/spec/catalogs/themes/minimal.json +13 -13
- package/dist/spec/catalogs/tones/authoritative.json +31 -31
- package/dist/spec/catalogs/tones/casual.json +31 -31
- package/dist/spec/catalogs/tones/conversational.json +31 -31
- package/dist/spec/catalogs/tones/formal.json +31 -31
- package/dist/spec/catalogs/tones/index.json +49 -49
- package/dist/spec/catalogs/tones/inspirational.json +31 -31
- package/dist/spec/catalogs/tones/persuasive.json +32 -32
- package/dist/spec/catalogs/tones/technical.json +31 -31
- package/dist/spec/openapi.yaml +776 -776
- package/dist/spec/previews/layouts/action-plan.html +1 -0
- package/dist/spec/previews/layouts/agenda.html +1 -0
- package/dist/spec/previews/layouts/appendix-index.html +1 -0
- package/dist/spec/previews/layouts/architecture-stack.html +1 -0
- package/dist/spec/previews/layouts/assumptions-dependencies.html +1 -0
- package/dist/spec/previews/layouts/before-after.html +1 -0
- package/dist/spec/previews/layouts/benchmark-target-table.html +1 -0
- package/dist/spec/previews/layouts/bullet-list.html +1 -0
- package/dist/spec/previews/layouts/business-model-canvas.html +1 -0
- package/dist/spec/previews/layouts/capability-map.html +1 -0
- package/dist/spec/previews/layouts/case-study.html +1 -0
- package/dist/spec/previews/layouts/chapter-recap.html +1 -0
- package/dist/spec/previews/layouts/circular-lifecycle.html +1 -0
- package/dist/spec/previews/layouts/comparison.html +1 -0
- package/dist/spec/previews/layouts/competitive-landscape.html +1 -0
- package/dist/spec/previews/layouts/customer-journey.html +1 -0
- package/dist/spec/previews/layouts/customer-logos.html +1 -0
- package/dist/spec/previews/layouts/dashboard.html +1 -0
- package/dist/spec/previews/layouts/data-visualization.html +1 -0
- package/dist/spec/previews/layouts/decision-tree.html +1 -0
- package/dist/spec/previews/layouts/detailed-data-table.html +1 -0
- package/dist/spec/previews/layouts/ecosystem-map.html +1 -0
- package/dist/spec/previews/layouts/executive-decision.html +1 -0
- package/dist/spec/previews/layouts/executive-summary.html +1 -0
- package/dist/spec/previews/layouts/faq.html +1 -0
- package/dist/spec/previews/layouts/feature-comparison-matrix.html +1 -0
- package/dist/spec/previews/layouts/forecast-scenario.html +1 -0
- package/dist/spec/previews/layouts/funnel-pyramid.html +1 -0
- package/dist/spec/previews/layouts/gantt-project-plan.html +1 -0
- package/dist/spec/previews/layouts/geographic-map.html +1 -0
- package/dist/spec/previews/layouts/heatmap-cohort.html +1 -0
- package/dist/spec/previews/layouts/hub-and-spoke.html +1 -0
- package/dist/spec/previews/layouts/icon-grid.html +1 -0
- package/dist/spec/previews/layouts/image-focus.html +1 -0
- package/dist/spec/previews/layouts/index.json +357 -0
- package/dist/spec/previews/layouts/key-takeaway.html +1 -0
- package/dist/spec/previews/layouts/kpi-scorecard.html +1 -0
- package/dist/spec/previews/layouts/logic-tree.html +1 -0
- package/dist/spec/previews/layouts/market-size.html +1 -0
- package/dist/spec/previews/layouts/matrix-quadrant.html +1 -0
- package/dist/spec/previews/layouts/network-dependency-map.html +1 -0
- package/dist/spec/previews/layouts/one-column-explainer.html +1 -0
- package/dist/spec/previews/layouts/org-chart.html +1 -0
- package/dist/spec/previews/layouts/persona-grid.html +1 -0
- package/dist/spec/previews/layouts/photo-grid.html +1 -0
- package/dist/spec/previews/layouts/pricing-table.html +1 -0
- package/dist/spec/previews/layouts/process-flow.html +1 -0
- package/dist/spec/previews/layouts/product-feature.html +1 -0
- package/dist/spec/previews/layouts/pros-cons.html +1 -0
- package/dist/spec/previews/layouts/qa-discussion.html +1 -0
- package/dist/spec/previews/layouts/quote-highlight.html +1 -0
- package/dist/spec/previews/layouts/raci-matrix.html +1 -0
- package/dist/spec/previews/layouts/risk-heatmap.html +1 -0
- package/dist/spec/previews/layouts/roadmap.html +1 -0
- package/dist/spec/previews/layouts/screenshot-walkthrough.html +1 -0
- package/dist/spec/previews/layouts/section-divider.html +1 -0
- package/dist/spec/previews/layouts/single-message-statement.html +1 -0
- package/dist/spec/previews/layouts/stats-metrics.html +1 -0
- package/dist/spec/previews/layouts/status-rag.html +1 -0
- package/dist/spec/previews/layouts/swimlane-process.html +1 -0
- package/dist/spec/previews/layouts/swot-analysis.html +1 -0
- package/dist/spec/previews/layouts/team-bio.html +1 -0
- package/dist/spec/previews/layouts/testimonial-grid.html +1 -0
- package/dist/spec/previews/layouts/thank-you-cta.html +1 -0
- package/dist/spec/previews/layouts/three-column.html +1 -0
- package/dist/spec/previews/layouts/timeline.html +1 -0
- package/dist/spec/previews/layouts/title-slide.html +1 -0
- package/dist/spec/previews/layouts/two-column.html +1 -0
- package/dist/spec/previews/layouts/venn-overlap.html +1 -0
- package/dist/spec/previews/layouts/waterfall-bridge.html +1 -0
- package/dist/spec/previews/layouts/wheel-radial.html +1 -0
- package/dist/spec/reference/engine-defaults.json +35 -35
- package/dist/spec/schemas/audience.schema.json +156 -156
- package/dist/spec/schemas/chart-type.schema.json +537 -537
- package/dist/spec/schemas/color-scheme.schema.json +200 -200
- package/dist/spec/schemas/font-scheme.schema.json +174 -174
- package/dist/spec/schemas/language.schema.json +158 -158
- package/dist/spec/schemas/layout.schema.json +280 -280
- package/dist/spec/schemas/narrative.schema.json +207 -207
- package/dist/spec/schemas/opf.schema.json +2536 -2537
- package/dist/spec/schemas/purpose.schema.json +92 -92
- package/dist/spec/schemas/social-platform.schema.json +183 -184
- package/dist/spec/schemas/theme.schema.json +168 -168
- package/dist/spec/schemas/tone.schema.json +146 -146
- package/dist/spec-files.d.ts +2388 -0
- package/dist/spec-files.js +3349 -0
- package/dist/spec-files.js.map +1 -0
- package/dist/types.d.ts +5 -5
- package/dist/{validator-Be5EzqAt.d.ts → validator-D7WwzKyx.d.ts} +16 -16
- package/dist/validator.d.ts +1 -1
- package/dist/validator.js +35 -35
- package/dist/validator.js.map +1 -1
- package/package.json +91 -80
|
@@ -1,168 +1,168 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"$id": "https://openpresentation.org/schema/opf-theme/v1",
|
|
4
|
-
"title": "
|
|
5
|
-
"description": "Schema for theme records in the pptx.gallery library. Each theme is a small, named bundle that pairs a color scheme, a font scheme, a default theme-controlled background, and a slide size. Themes are referenced from OPF documents via design.theme or design.theme.id; the engine resolves the reference against catalogs.themes (inline) → catalogs.themes.source → the default catalog at https://www.pptx.gallery/themes. Inline overrides on design.colorScheme / design.fontScheme / design.background / design.dimensions take precedence over a resolved theme.",
|
|
6
|
-
"type": "object",
|
|
7
|
-
"required": [
|
|
8
|
-
"$schema",
|
|
9
|
-
"id",
|
|
10
|
-
"name"
|
|
11
|
-
],
|
|
12
|
-
"properties": {
|
|
13
|
-
"$schema": {
|
|
14
|
-
"type": "string",
|
|
15
|
-
"const": "https://openpresentation.org/schema/opf-theme/v1",
|
|
16
|
-
"description": "Identifies this record as a theme in the openpresentation.org catalog."
|
|
17
|
-
},
|
|
18
|
-
"id": {
|
|
19
|
-
"type": "string",
|
|
20
|
-
"pattern": "^[a-z][a-z0-9-]*$",
|
|
21
|
-
"description": "Stable slug used by OPF documents to reference this theme via design.theme. Lowercase kebab-case.",
|
|
22
|
-
"examples": [
|
|
23
|
-
"minimal",
|
|
24
|
-
"classic",
|
|
25
|
-
"dark",
|
|
26
|
-
"bold"
|
|
27
|
-
]
|
|
28
|
-
},
|
|
29
|
-
"name": {
|
|
30
|
-
"type": "string",
|
|
31
|
-
"description": "Human-readable theme name shown in pickers.",
|
|
32
|
-
"examples": [
|
|
33
|
-
"Minimal",
|
|
34
|
-
"Classic",
|
|
35
|
-
"Dark",
|
|
36
|
-
"Bold"
|
|
37
|
-
]
|
|
38
|
-
},
|
|
39
|
-
"summary": {
|
|
40
|
-
"type": "string",
|
|
41
|
-
"description": "One-sentence positioning of the theme — when to reach for it.",
|
|
42
|
-
"examples": [
|
|
43
|
-
"A clean, minimalist theme for professional, straightforward presentations.",
|
|
44
|
-
"A rich dark-mode theme with bold contrast and modern style."
|
|
45
|
-
]
|
|
46
|
-
},
|
|
47
|
-
"description": {
|
|
48
|
-
"type": "string",
|
|
49
|
-
"description": "Longer prose describing what the theme looks and feels like and the kinds of decks it suits.",
|
|
50
|
-
"examples": [
|
|
51
|
-
"A clean, minimalistic theme with a focus on simplicity and readability. Ideal for professional, straightforward presentations."
|
|
52
|
-
]
|
|
53
|
-
},
|
|
54
|
-
"colorScheme": {
|
|
55
|
-
"type": "string",
|
|
56
|
-
"description": "Catalog reference to the theme's default color scheme — resolved against catalogs.colorSchemes the same way design.colorScheme or design.colorScheme.id is. Accepts a bare id, HTTPS URL, or 'pkg:' reference.",
|
|
57
|
-
"examples": [
|
|
58
|
-
"cool-horizon",
|
|
59
|
-
"boost",
|
|
60
|
-
"burnt-orange"
|
|
61
|
-
]
|
|
62
|
-
},
|
|
63
|
-
"fontScheme": {
|
|
64
|
-
"type": "string",
|
|
65
|
-
"description": "Catalog reference to the theme's default font scheme — resolved against catalogs.fontSchemes the same way design.fontScheme or design.fontScheme.id is. Accepts a bare id, HTTPS URL, or 'pkg:' reference.",
|
|
66
|
-
"examples": [
|
|
67
|
-
"aptos",
|
|
68
|
-
"tenorite",
|
|
69
|
-
"seaford",
|
|
70
|
-
"impact"
|
|
71
|
-
]
|
|
72
|
-
},
|
|
73
|
-
"background": {
|
|
74
|
-
"$ref": "#/$defs/ThemeBackground"
|
|
75
|
-
},
|
|
76
|
-
"dimensions": {
|
|
77
|
-
"type": "string",
|
|
78
|
-
"enum": ["16:9", "4:3", "16:10", "letter", "a4", "widescreen", "standard"],
|
|
79
|
-
"description": "Default slide size for this theme. Accepts the same preset values as design.dimensions.preset.",
|
|
80
|
-
"examples": [
|
|
81
|
-
"16:9",
|
|
82
|
-
"4:3",
|
|
83
|
-
"16:10",
|
|
84
|
-
"letter",
|
|
85
|
-
"a4",
|
|
86
|
-
"widescreen",
|
|
87
|
-
"standard"
|
|
88
|
-
]
|
|
89
|
-
},
|
|
90
|
-
"tags": {
|
|
91
|
-
"type": "array",
|
|
92
|
-
"items": {
|
|
93
|
-
"type": "string"
|
|
94
|
-
},
|
|
95
|
-
"description": "Free-form labels for filtering and search.",
|
|
96
|
-
"examples": [
|
|
97
|
-
[
|
|
98
|
-
"minimal",
|
|
99
|
-
"professional"
|
|
100
|
-
],
|
|
101
|
-
[
|
|
102
|
-
"bold",
|
|
103
|
-
"high-impact"
|
|
104
|
-
]
|
|
105
|
-
]
|
|
106
|
-
},
|
|
107
|
-
"preview": {
|
|
108
|
-
"type": "object",
|
|
109
|
-
"description": "Visual previews of the record, used by picker UIs and inline rendering. All sub-fields are optional; engines fall back gracefully when previews aren't available.",
|
|
110
|
-
"properties": {
|
|
111
|
-
"src": {
|
|
112
|
-
"type": "string",
|
|
113
|
-
"format": "uri",
|
|
114
|
-
"description": "Main preview image (PNG/JPG). Used as the primary visual in picker UIs and previews of the record.",
|
|
115
|
-
"examples": [
|
|
116
|
-
"https://www.pptx.gallery/themes/minimal.png"
|
|
117
|
-
]
|
|
118
|
-
},
|
|
119
|
-
"thumbnailSrc": {
|
|
120
|
-
"type": "string",
|
|
121
|
-
"format": "uri",
|
|
122
|
-
"description": "Smaller thumbnail preview suited to dense grid views.",
|
|
123
|
-
"examples": [
|
|
124
|
-
"https://www.pptx.gallery/themes/minimal.thumbnail.png"
|
|
125
|
-
]
|
|
126
|
-
},
|
|
127
|
-
"vectorSrc": {
|
|
128
|
-
"type": "string",
|
|
129
|
-
"format": "uri",
|
|
130
|
-
"description": "SVG / vector preview for crisp scaling at any size.",
|
|
131
|
-
"examples": [
|
|
132
|
-
"https://www.pptx.gallery/themes/minimal.svg"
|
|
133
|
-
]
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
},
|
|
138
|
-
"$defs": {
|
|
139
|
-
"ThemeBackgroundSlot": {
|
|
140
|
-
"type": "string",
|
|
141
|
-
"description": "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.",
|
|
142
|
-
"enum": [
|
|
143
|
-
"light1",
|
|
144
|
-
"light2",
|
|
145
|
-
"dark1",
|
|
146
|
-
"dark2"
|
|
147
|
-
]
|
|
148
|
-
},
|
|
149
|
-
"ThemeBackground": {
|
|
150
|
-
"type": "object",
|
|
151
|
-
"description": "Theme-controlled PowerPoint slide background. The slot is resolved through the active color scheme and remains theme-aware.",
|
|
152
|
-
"required": [
|
|
153
|
-
"type",
|
|
154
|
-
"slot"
|
|
155
|
-
],
|
|
156
|
-
"properties": {
|
|
157
|
-
"type": {
|
|
158
|
-
"type": "string",
|
|
159
|
-
"const": "theme",
|
|
160
|
-
"description": "Theme-controlled background fill."
|
|
161
|
-
},
|
|
162
|
-
"slot": {
|
|
163
|
-
"$ref": "#/$defs/ThemeBackgroundSlot"
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://openpresentation.org/schema/opf-theme/v1",
|
|
4
|
+
"title": "Theme",
|
|
5
|
+
"description": "Schema for theme records in the pptx.gallery library. Each theme is a small, named bundle that pairs a color scheme, a font scheme, a default theme-controlled background, and a slide size. Themes are referenced from OPF documents via design.theme or design.theme.id; the engine resolves the reference against catalogs.themes (inline) → catalogs.themes.source → the default catalog at https://www.pptx.gallery/themes. Inline overrides on design.colorScheme / design.fontScheme / design.background / design.dimensions take precedence over a resolved theme.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": [
|
|
8
|
+
"$schema",
|
|
9
|
+
"id",
|
|
10
|
+
"name"
|
|
11
|
+
],
|
|
12
|
+
"properties": {
|
|
13
|
+
"$schema": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"const": "https://openpresentation.org/schema/opf-theme/v1",
|
|
16
|
+
"description": "Identifies this record as a theme in the openpresentation.org catalog."
|
|
17
|
+
},
|
|
18
|
+
"id": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"pattern": "^[a-z][a-z0-9-]*$",
|
|
21
|
+
"description": "Stable slug used by OPF documents to reference this theme via design.theme. Lowercase kebab-case.",
|
|
22
|
+
"examples": [
|
|
23
|
+
"minimal",
|
|
24
|
+
"classic",
|
|
25
|
+
"dark",
|
|
26
|
+
"bold"
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
"name": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"description": "Human-readable theme name shown in pickers.",
|
|
32
|
+
"examples": [
|
|
33
|
+
"Minimal",
|
|
34
|
+
"Classic",
|
|
35
|
+
"Dark",
|
|
36
|
+
"Bold"
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
"summary": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"description": "One-sentence positioning of the theme — when to reach for it.",
|
|
42
|
+
"examples": [
|
|
43
|
+
"A clean, minimalist theme for professional, straightforward presentations.",
|
|
44
|
+
"A rich dark-mode theme with bold contrast and modern style."
|
|
45
|
+
]
|
|
46
|
+
},
|
|
47
|
+
"description": {
|
|
48
|
+
"type": "string",
|
|
49
|
+
"description": "Longer prose describing what the theme looks and feels like and the kinds of decks it suits.",
|
|
50
|
+
"examples": [
|
|
51
|
+
"A clean, minimalistic theme with a focus on simplicity and readability. Ideal for professional, straightforward presentations."
|
|
52
|
+
]
|
|
53
|
+
},
|
|
54
|
+
"colorScheme": {
|
|
55
|
+
"type": "string",
|
|
56
|
+
"description": "Catalog reference to the theme's default color scheme — resolved against catalogs.colorSchemes the same way design.colorScheme or design.colorScheme.id is. Accepts a bare id, HTTPS URL, or 'pkg:' reference.",
|
|
57
|
+
"examples": [
|
|
58
|
+
"cool-horizon",
|
|
59
|
+
"boost",
|
|
60
|
+
"burnt-orange"
|
|
61
|
+
]
|
|
62
|
+
},
|
|
63
|
+
"fontScheme": {
|
|
64
|
+
"type": "string",
|
|
65
|
+
"description": "Catalog reference to the theme's default font scheme — resolved against catalogs.fontSchemes the same way design.fontScheme or design.fontScheme.id is. Accepts a bare id, HTTPS URL, or 'pkg:' reference.",
|
|
66
|
+
"examples": [
|
|
67
|
+
"aptos",
|
|
68
|
+
"tenorite",
|
|
69
|
+
"seaford",
|
|
70
|
+
"impact"
|
|
71
|
+
]
|
|
72
|
+
},
|
|
73
|
+
"background": {
|
|
74
|
+
"$ref": "#/$defs/ThemeBackground"
|
|
75
|
+
},
|
|
76
|
+
"dimensions": {
|
|
77
|
+
"type": "string",
|
|
78
|
+
"enum": ["16:9", "4:3", "16:10", "letter", "a4", "widescreen", "standard"],
|
|
79
|
+
"description": "Default slide size for this theme. Accepts the same preset values as design.dimensions.preset.",
|
|
80
|
+
"examples": [
|
|
81
|
+
"16:9",
|
|
82
|
+
"4:3",
|
|
83
|
+
"16:10",
|
|
84
|
+
"letter",
|
|
85
|
+
"a4",
|
|
86
|
+
"widescreen",
|
|
87
|
+
"standard"
|
|
88
|
+
]
|
|
89
|
+
},
|
|
90
|
+
"tags": {
|
|
91
|
+
"type": "array",
|
|
92
|
+
"items": {
|
|
93
|
+
"type": "string"
|
|
94
|
+
},
|
|
95
|
+
"description": "Free-form labels for filtering and search.",
|
|
96
|
+
"examples": [
|
|
97
|
+
[
|
|
98
|
+
"minimal",
|
|
99
|
+
"professional"
|
|
100
|
+
],
|
|
101
|
+
[
|
|
102
|
+
"bold",
|
|
103
|
+
"high-impact"
|
|
104
|
+
]
|
|
105
|
+
]
|
|
106
|
+
},
|
|
107
|
+
"preview": {
|
|
108
|
+
"type": "object",
|
|
109
|
+
"description": "Visual previews of the record, used by picker UIs and inline rendering. All sub-fields are optional; engines fall back gracefully when previews aren't available.",
|
|
110
|
+
"properties": {
|
|
111
|
+
"src": {
|
|
112
|
+
"type": "string",
|
|
113
|
+
"format": "uri",
|
|
114
|
+
"description": "Main preview image (PNG/JPG). Used as the primary visual in picker UIs and previews of the record.",
|
|
115
|
+
"examples": [
|
|
116
|
+
"https://www.pptx.gallery/themes/minimal.png"
|
|
117
|
+
]
|
|
118
|
+
},
|
|
119
|
+
"thumbnailSrc": {
|
|
120
|
+
"type": "string",
|
|
121
|
+
"format": "uri",
|
|
122
|
+
"description": "Smaller thumbnail preview suited to dense grid views.",
|
|
123
|
+
"examples": [
|
|
124
|
+
"https://www.pptx.gallery/themes/minimal.thumbnail.png"
|
|
125
|
+
]
|
|
126
|
+
},
|
|
127
|
+
"vectorSrc": {
|
|
128
|
+
"type": "string",
|
|
129
|
+
"format": "uri",
|
|
130
|
+
"description": "SVG / vector preview for crisp scaling at any size.",
|
|
131
|
+
"examples": [
|
|
132
|
+
"https://www.pptx.gallery/themes/minimal.svg"
|
|
133
|
+
]
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
"$defs": {
|
|
139
|
+
"ThemeBackgroundSlot": {
|
|
140
|
+
"type": "string",
|
|
141
|
+
"description": "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.",
|
|
142
|
+
"enum": [
|
|
143
|
+
"light1",
|
|
144
|
+
"light2",
|
|
145
|
+
"dark1",
|
|
146
|
+
"dark2"
|
|
147
|
+
]
|
|
148
|
+
},
|
|
149
|
+
"ThemeBackground": {
|
|
150
|
+
"type": "object",
|
|
151
|
+
"description": "Theme-controlled PowerPoint slide background. The slot is resolved through the active color scheme and remains theme-aware.",
|
|
152
|
+
"required": [
|
|
153
|
+
"type",
|
|
154
|
+
"slot"
|
|
155
|
+
],
|
|
156
|
+
"properties": {
|
|
157
|
+
"type": {
|
|
158
|
+
"type": "string",
|
|
159
|
+
"const": "theme",
|
|
160
|
+
"description": "Theme-controlled background fill."
|
|
161
|
+
},
|
|
162
|
+
"slot": {
|
|
163
|
+
"$ref": "#/$defs/ThemeBackgroundSlot"
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
@@ -1,146 +1,146 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"$id": "https://openpresentation.org/schema/opf-tone/v1",
|
|
4
|
-
"title": "
|
|
5
|
-
"description": "Schema for tone records in the pptx.gallery library. Each record names a presentation tone (e.g. 'formal', 'casual', 'inspirational') and carries voice cues, anti-patterns, and sample phrases that AI-driven generation uses to shape output. Tones are referenced from OPF documents via tone; the engine resolves the reference against catalogs.tones (inline) → catalogs.tones.source → the default catalog at https://www.pptx.gallery/tones.",
|
|
6
|
-
"type": "object",
|
|
7
|
-
"required": [
|
|
8
|
-
"$schema",
|
|
9
|
-
"id",
|
|
10
|
-
"name"
|
|
11
|
-
],
|
|
12
|
-
"properties": {
|
|
13
|
-
"$schema": {
|
|
14
|
-
"type": "string",
|
|
15
|
-
"const": "https://openpresentation.org/schema/opf-tone/v1",
|
|
16
|
-
"description": "Identifies this record as a tone in the openpresentation.org catalog."
|
|
17
|
-
},
|
|
18
|
-
"id": {
|
|
19
|
-
"type": "string",
|
|
20
|
-
"pattern": "^[a-z][a-z0-9-]*$",
|
|
21
|
-
"description": "Stable slug used by OPF documents to reference this tone via tone. Lowercase kebab-case.",
|
|
22
|
-
"examples": [
|
|
23
|
-
"formal",
|
|
24
|
-
"casual",
|
|
25
|
-
"inspirational",
|
|
26
|
-
"technical",
|
|
27
|
-
"persuasive",
|
|
28
|
-
"authoritative",
|
|
29
|
-
"conversational"
|
|
30
|
-
]
|
|
31
|
-
},
|
|
32
|
-
"name": {
|
|
33
|
-
"type": "string",
|
|
34
|
-
"description": "Human-readable tone name shown in pickers.",
|
|
35
|
-
"examples": [
|
|
36
|
-
"Formal",
|
|
37
|
-
"Casual",
|
|
38
|
-
"Inspirational",
|
|
39
|
-
"Technical",
|
|
40
|
-
"Persuasive",
|
|
41
|
-
"Authoritative",
|
|
42
|
-
"Conversational"
|
|
43
|
-
]
|
|
44
|
-
},
|
|
45
|
-
"summary": {
|
|
46
|
-
"type": "string",
|
|
47
|
-
"description": "One-sentence positioning of the tone — when to reach for it.",
|
|
48
|
-
"examples": [
|
|
49
|
-
"Polished, restrained voice for board, investor, and regulator audiences.",
|
|
50
|
-
"Warm, plain-spoken voice for internal updates and customer storytelling."
|
|
51
|
-
]
|
|
52
|
-
},
|
|
53
|
-
"description": {
|
|
54
|
-
"type": "string",
|
|
55
|
-
"description": "Longer prose describing the tone and the kinds of decks it suits.",
|
|
56
|
-
"examples": [
|
|
57
|
-
"Authoritative without being cold. Use third-person constructions, full sentences, and concrete numbers. Avoid hedges and humor that depend on shared in-jokes; rely on clarity and precision to land."
|
|
58
|
-
]
|
|
59
|
-
},
|
|
60
|
-
"voiceCues": {
|
|
61
|
-
"type": "array",
|
|
62
|
-
"items": {
|
|
63
|
-
"type": "string"
|
|
64
|
-
},
|
|
65
|
-
"description": "Short directives that shape AI generation toward this tone. Phrased as imperatives, e.g. 'use second-person', 'favor short sentences', 'lead with the recommendation'.",
|
|
66
|
-
"examples": [
|
|
67
|
-
[
|
|
68
|
-
"Use third person.",
|
|
69
|
-
"Lead with the recommendation, then evidence.",
|
|
70
|
-
"Quote concrete numbers; avoid round-tripping ranges."
|
|
71
|
-
]
|
|
72
|
-
]
|
|
73
|
-
},
|
|
74
|
-
"avoid": {
|
|
75
|
-
"type": "array",
|
|
76
|
-
"items": {
|
|
77
|
-
"type": "string"
|
|
78
|
-
},
|
|
79
|
-
"description": "Anti-patterns that AI generation should not produce when this tone is active.",
|
|
80
|
-
"examples": [
|
|
81
|
-
[
|
|
82
|
-
"Slang, idioms, or in-jokes.",
|
|
83
|
-
"Hedging language ('maybe', 'sort of', 'I think').",
|
|
84
|
-
"Marketing superlatives ('world-class', 'best-in-class')."
|
|
85
|
-
]
|
|
86
|
-
]
|
|
87
|
-
},
|
|
88
|
-
"samplePhrases": {
|
|
89
|
-
"type": "array",
|
|
90
|
-
"items": {
|
|
91
|
-
"type": "string"
|
|
92
|
-
},
|
|
93
|
-
"description": "Short example phrases that exemplify this tone. Used by picker UIs and as few-shot examples for AI generation.",
|
|
94
|
-
"examples": [
|
|
95
|
-
[
|
|
96
|
-
"Q4 revenue grew 18% year over year, led by enterprise expansion.",
|
|
97
|
-
"We recommend approving the Series B raise at $30M.",
|
|
98
|
-
"Net retention was 124%; gross retention was 96%."
|
|
99
|
-
]
|
|
100
|
-
]
|
|
101
|
-
},
|
|
102
|
-
"recommendedNarratives": {
|
|
103
|
-
"type": "array",
|
|
104
|
-
"items": {
|
|
105
|
-
"type": "string"
|
|
106
|
-
},
|
|
107
|
-
"description": "Soft cross-link: narrative-catalog ids this tone pairs well with. Used by picker UIs to suggest narratives once a tone is chosen. Validators warn on unknown ids; never error.",
|
|
108
|
-
"examples": [
|
|
109
|
-
["board-meeting", "qbr", "scqa"]
|
|
110
|
-
]
|
|
111
|
-
},
|
|
112
|
-
"tags": {
|
|
113
|
-
"type": "array",
|
|
114
|
-
"items": {
|
|
115
|
-
"type": "string"
|
|
116
|
-
},
|
|
117
|
-
"description": "Free-form labels for filtering and search.",
|
|
118
|
-
"examples": [
|
|
119
|
-
["business", "executive"],
|
|
120
|
-
["internal", "warm"],
|
|
121
|
-
["motivational", "keynote"]
|
|
122
|
-
]
|
|
123
|
-
},
|
|
124
|
-
"preview": {
|
|
125
|
-
"type": "object",
|
|
126
|
-
"description": "Visual previews of the record, used by picker UIs and inline rendering. All sub-fields are optional.",
|
|
127
|
-
"properties": {
|
|
128
|
-
"src": {
|
|
129
|
-
"type": "string",
|
|
130
|
-
"format": "uri",
|
|
131
|
-
"description": "Main preview image (PNG/JPG)."
|
|
132
|
-
},
|
|
133
|
-
"thumbnailSrc": {
|
|
134
|
-
"type": "string",
|
|
135
|
-
"format": "uri",
|
|
136
|
-
"description": "Smaller thumbnail preview suited to dense grid views."
|
|
137
|
-
},
|
|
138
|
-
"vectorSrc": {
|
|
139
|
-
"type": "string",
|
|
140
|
-
"format": "uri",
|
|
141
|
-
"description": "SVG / vector preview for crisp scaling at any size."
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://openpresentation.org/schema/opf-tone/v1",
|
|
4
|
+
"title": "Tone",
|
|
5
|
+
"description": "Schema for tone records in the pptx.gallery library. Each record names a presentation tone (e.g. 'formal', 'casual', 'inspirational') and carries voice cues, anti-patterns, and sample phrases that AI-driven generation uses to shape output. Tones are referenced from OPF documents via tone; the engine resolves the reference against catalogs.tones (inline) → catalogs.tones.source → the default catalog at https://www.pptx.gallery/tones.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": [
|
|
8
|
+
"$schema",
|
|
9
|
+
"id",
|
|
10
|
+
"name"
|
|
11
|
+
],
|
|
12
|
+
"properties": {
|
|
13
|
+
"$schema": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"const": "https://openpresentation.org/schema/opf-tone/v1",
|
|
16
|
+
"description": "Identifies this record as a tone in the openpresentation.org catalog."
|
|
17
|
+
},
|
|
18
|
+
"id": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"pattern": "^[a-z][a-z0-9-]*$",
|
|
21
|
+
"description": "Stable slug used by OPF documents to reference this tone via tone. Lowercase kebab-case.",
|
|
22
|
+
"examples": [
|
|
23
|
+
"formal",
|
|
24
|
+
"casual",
|
|
25
|
+
"inspirational",
|
|
26
|
+
"technical",
|
|
27
|
+
"persuasive",
|
|
28
|
+
"authoritative",
|
|
29
|
+
"conversational"
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
"name": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"description": "Human-readable tone name shown in pickers.",
|
|
35
|
+
"examples": [
|
|
36
|
+
"Formal",
|
|
37
|
+
"Casual",
|
|
38
|
+
"Inspirational",
|
|
39
|
+
"Technical",
|
|
40
|
+
"Persuasive",
|
|
41
|
+
"Authoritative",
|
|
42
|
+
"Conversational"
|
|
43
|
+
]
|
|
44
|
+
},
|
|
45
|
+
"summary": {
|
|
46
|
+
"type": "string",
|
|
47
|
+
"description": "One-sentence positioning of the tone — when to reach for it.",
|
|
48
|
+
"examples": [
|
|
49
|
+
"Polished, restrained voice for board, investor, and regulator audiences.",
|
|
50
|
+
"Warm, plain-spoken voice for internal updates and customer storytelling."
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
"description": {
|
|
54
|
+
"type": "string",
|
|
55
|
+
"description": "Longer prose describing the tone and the kinds of decks it suits.",
|
|
56
|
+
"examples": [
|
|
57
|
+
"Authoritative without being cold. Use third-person constructions, full sentences, and concrete numbers. Avoid hedges and humor that depend on shared in-jokes; rely on clarity and precision to land."
|
|
58
|
+
]
|
|
59
|
+
},
|
|
60
|
+
"voiceCues": {
|
|
61
|
+
"type": "array",
|
|
62
|
+
"items": {
|
|
63
|
+
"type": "string"
|
|
64
|
+
},
|
|
65
|
+
"description": "Short directives that shape AI generation toward this tone. Phrased as imperatives, e.g. 'use second-person', 'favor short sentences', 'lead with the recommendation'.",
|
|
66
|
+
"examples": [
|
|
67
|
+
[
|
|
68
|
+
"Use third person.",
|
|
69
|
+
"Lead with the recommendation, then evidence.",
|
|
70
|
+
"Quote concrete numbers; avoid round-tripping ranges."
|
|
71
|
+
]
|
|
72
|
+
]
|
|
73
|
+
},
|
|
74
|
+
"avoid": {
|
|
75
|
+
"type": "array",
|
|
76
|
+
"items": {
|
|
77
|
+
"type": "string"
|
|
78
|
+
},
|
|
79
|
+
"description": "Anti-patterns that AI generation should not produce when this tone is active.",
|
|
80
|
+
"examples": [
|
|
81
|
+
[
|
|
82
|
+
"Slang, idioms, or in-jokes.",
|
|
83
|
+
"Hedging language ('maybe', 'sort of', 'I think').",
|
|
84
|
+
"Marketing superlatives ('world-class', 'best-in-class')."
|
|
85
|
+
]
|
|
86
|
+
]
|
|
87
|
+
},
|
|
88
|
+
"samplePhrases": {
|
|
89
|
+
"type": "array",
|
|
90
|
+
"items": {
|
|
91
|
+
"type": "string"
|
|
92
|
+
},
|
|
93
|
+
"description": "Short example phrases that exemplify this tone. Used by picker UIs and as few-shot examples for AI generation.",
|
|
94
|
+
"examples": [
|
|
95
|
+
[
|
|
96
|
+
"Q4 revenue grew 18% year over year, led by enterprise expansion.",
|
|
97
|
+
"We recommend approving the Series B raise at $30M.",
|
|
98
|
+
"Net retention was 124%; gross retention was 96%."
|
|
99
|
+
]
|
|
100
|
+
]
|
|
101
|
+
},
|
|
102
|
+
"recommendedNarratives": {
|
|
103
|
+
"type": "array",
|
|
104
|
+
"items": {
|
|
105
|
+
"type": "string"
|
|
106
|
+
},
|
|
107
|
+
"description": "Soft cross-link: narrative-catalog ids this tone pairs well with. Used by picker UIs to suggest narratives once a tone is chosen. Validators warn on unknown ids; never error.",
|
|
108
|
+
"examples": [
|
|
109
|
+
["board-meeting", "qbr", "scqa"]
|
|
110
|
+
]
|
|
111
|
+
},
|
|
112
|
+
"tags": {
|
|
113
|
+
"type": "array",
|
|
114
|
+
"items": {
|
|
115
|
+
"type": "string"
|
|
116
|
+
},
|
|
117
|
+
"description": "Free-form labels for filtering and search.",
|
|
118
|
+
"examples": [
|
|
119
|
+
["business", "executive"],
|
|
120
|
+
["internal", "warm"],
|
|
121
|
+
["motivational", "keynote"]
|
|
122
|
+
]
|
|
123
|
+
},
|
|
124
|
+
"preview": {
|
|
125
|
+
"type": "object",
|
|
126
|
+
"description": "Visual previews of the record, used by picker UIs and inline rendering. All sub-fields are optional.",
|
|
127
|
+
"properties": {
|
|
128
|
+
"src": {
|
|
129
|
+
"type": "string",
|
|
130
|
+
"format": "uri",
|
|
131
|
+
"description": "Main preview image (PNG/JPG)."
|
|
132
|
+
},
|
|
133
|
+
"thumbnailSrc": {
|
|
134
|
+
"type": "string",
|
|
135
|
+
"format": "uri",
|
|
136
|
+
"description": "Smaller thumbnail preview suited to dense grid views."
|
|
137
|
+
},
|
|
138
|
+
"vectorSrc": {
|
|
139
|
+
"type": "string",
|
|
140
|
+
"format": "uri",
|
|
141
|
+
"description": "SVG / vector preview for crisp scaling at any size."
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|