@openpresentation/opf 0.12.2 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -23
- package/dist/{catalogs-BnI7JKcn.d.ts → catalogs-D-yyQWCQ.d.ts} +86 -208
- package/dist/catalogs.d.ts +2 -2
- package/dist/catalogs.js +1 -1
- package/dist/chart-data-B_3z9VTb.d.ts +188 -0
- package/dist/chunk-4LDGKLUC.js +192 -0
- package/dist/{chunk-V2537ENL.js → chunk-4VJDTF55.js} +2 -90
- package/dist/chunk-5ZU6JAPP.js +83 -0
- package/dist/{chunk-HOBSL7AJ.js → chunk-6OXY2CP3.js} +3604 -1644
- package/dist/{chunk-RUC7L5DJ.js → chunk-BFLVSVA7.js} +26 -26
- package/dist/chunk-CSQHPVGL.js +94 -0
- package/dist/{chunk-GJKJL4YY.js → chunk-D3TY4TT6.js} +34 -412
- package/dist/chunk-JDJBDYSR.js +4167 -0
- package/dist/{chunk-4LAM3N6S.js → chunk-LS2FMPI5.js} +1497 -1097
- package/dist/{chunk-SOSOBKQ2.js → chunk-Q2TCMN56.js} +6 -7
- package/dist/chunk-UPQQD7MA.js +1840 -0
- package/dist/{chunk-AUM5MXBR.js → chunk-XIZUK2XM.js} +36 -32
- package/dist/{chunk-E34DJ5LL.js → chunk-XOZ4KMSR.js} +2427 -10820
- package/dist/chunk-Z65B2B77.js +601 -0
- package/dist/{composition-DWbCiMwF.d.ts → composition-_WEwBe2a.d.ts} +744 -26
- package/dist/composition.d.ts +2 -1
- package/dist/composition.js +2 -2
- package/dist/convert.d.ts +9 -4
- package/dist/convert.js +57 -26
- package/dist/data.d.ts +5 -4
- package/dist/data.js +3 -1
- package/dist/diff.d.ts +5 -5
- package/dist/diff.js +6 -603
- package/dist/docs.js +70 -52
- package/dist/examples.d.ts +1 -1
- package/dist/examples.js +1466 -2963
- package/dist/finding-C_por275.d.ts +212 -0
- package/dist/format.d.ts +4 -4
- package/dist/format.js +2 -83
- package/dist/index.d.ts +318 -281
- package/dist/index.js +530 -943
- package/dist/markdown.d.ts +28 -25
- package/dist/markdown.js +8 -1940
- package/dist/pagination-BZpXLvFL.d.ts +119 -0
- package/dist/pagination.d.ts +5 -60
- package/dist/pagination.js +5 -5
- package/dist/patch.d.ts +12 -23
- package/dist/patch.js +5 -5
- package/dist/{presentation-DcF-MZcz.d.ts → presentation-C5eHkevA.d.ts} +516 -499
- package/dist/repo-readme.js +1 -1
- package/dist/{schemas-BSjlG8-R.d.ts → schemas-DDpqAgyS.d.ts} +49 -17
- package/dist/schemas.d.ts +1 -1
- package/dist/schemas.js +1 -1
- package/dist/spec/README.md +10 -5
- package/dist/spec/catalogs/audiences/index.json +2 -50
- package/dist/spec/catalogs/chart-types/100pct-stacked-area.json +21 -0
- package/dist/spec/catalogs/chart-types/100pct-stacked-bar.json +22 -0
- package/dist/spec/catalogs/chart-types/100pct-stacked-column.json +22 -0
- package/dist/spec/catalogs/chart-types/area.json +2 -60
- package/dist/spec/catalogs/chart-types/bar.json +2 -48
- package/dist/spec/catalogs/chart-types/box-and-whisker.json +2 -132
- package/dist/spec/catalogs/chart-types/column.json +2 -52
- package/dist/spec/catalogs/chart-types/combo.json +37 -0
- package/dist/spec/catalogs/chart-types/doughnut.json +2 -40
- package/dist/spec/catalogs/chart-types/filled-radar.json +2 -52
- package/dist/spec/catalogs/chart-types/funnel.json +2 -46
- package/dist/spec/catalogs/chart-types/histogram.json +2 -149
- package/dist/spec/catalogs/chart-types/index.json +50 -520
- package/dist/spec/catalogs/chart-types/line-with-markers.json +2 -60
- package/dist/spec/catalogs/chart-types/line.json +2 -60
- package/dist/spec/catalogs/chart-types/pareto.json +2 -50
- package/dist/spec/catalogs/chart-types/pie.json +2 -40
- package/dist/spec/catalogs/chart-types/radar-with-markers.json +2 -52
- package/dist/spec/catalogs/chart-types/radar.json +2 -52
- package/dist/spec/catalogs/chart-types/scatter.json +2 -73
- package/dist/spec/catalogs/chart-types/stacked-area.json +21 -0
- package/dist/spec/catalogs/chart-types/stacked-bar.json +22 -0
- package/dist/spec/catalogs/chart-types/stacked-column.json +22 -0
- package/dist/spec/catalogs/chart-types/stacked-line-with-markers.json +22 -0
- package/dist/spec/catalogs/chart-types/stacked-line.json +21 -0
- package/dist/spec/catalogs/chart-types/treemap.json +2 -48
- package/dist/spec/catalogs/chart-types/waterfall.json +2 -52
- package/dist/spec/catalogs/chart-types/world.json +2 -64
- package/dist/spec/catalogs/font-schemes/angsana-new.json +2 -2
- package/dist/spec/catalogs/font-schemes/aparajita.json +3 -3
- package/dist/spec/catalogs/font-schemes/aptos.json +1 -1
- package/dist/spec/catalogs/font-schemes/arabic-typesetting.json +2 -2
- package/dist/spec/catalogs/font-schemes/arial.json +1 -1
- package/dist/spec/catalogs/font-schemes/batang.json +2 -2
- package/dist/spec/catalogs/font-schemes/bookman.json +1 -1
- package/dist/spec/catalogs/font-schemes/calibri.json +1 -1
- package/dist/spec/catalogs/font-schemes/century-schoolbook.json +1 -1
- package/dist/spec/catalogs/font-schemes/consolas.json +2 -4
- package/dist/spec/catalogs/font-schemes/constantia.json +1 -1
- package/dist/spec/catalogs/font-schemes/courier-new.json +2 -4
- package/dist/spec/catalogs/font-schemes/daunpenh.json +2 -2
- package/dist/spec/catalogs/font-schemes/david.json +2 -2
- package/dist/spec/catalogs/font-schemes/dilleniaupc.json +2 -2
- package/dist/spec/catalogs/font-schemes/fangsong.json +2 -2
- package/dist/spec/catalogs/font-schemes/garamond.json +1 -1
- package/dist/spec/catalogs/font-schemes/gautami.json +2 -2
- package/dist/spec/catalogs/font-schemes/georgia.json +1 -1
- package/dist/spec/catalogs/font-schemes/gisha.json +3 -3
- package/dist/spec/catalogs/font-schemes/grandview.json +1 -1
- package/dist/spec/catalogs/font-schemes/gungsuh.json +2 -2
- package/dist/spec/catalogs/font-schemes/impact.json +1 -1
- package/dist/spec/catalogs/font-schemes/index.json +1 -1
- package/dist/spec/catalogs/font-schemes/kalinga.json +2 -2
- package/dist/spec/catalogs/font-schemes/kartika.json +2 -2
- package/dist/spec/catalogs/font-schemes/khmer-ui.json +2 -2
- package/dist/spec/catalogs/font-schemes/latha.json +2 -2
- package/dist/spec/catalogs/font-schemes/lucida-sans.json +1 -1
- package/dist/spec/catalogs/font-schemes/malgun-gothic.json +2 -2
- package/dist/spec/catalogs/font-schemes/mangal.json +4 -5
- package/dist/spec/catalogs/font-schemes/meiryo.json +2 -2
- package/dist/spec/catalogs/font-schemes/microsoft-jhenghei.json +2 -2
- package/dist/spec/catalogs/font-schemes/microsoft-yahei.json +5 -5
- package/dist/spec/catalogs/font-schemes/mingliu.json +2 -2
- package/dist/spec/catalogs/font-schemes/miriam.json +2 -2
- package/dist/spec/catalogs/font-schemes/montserrat.json +1 -1
- package/dist/spec/catalogs/font-schemes/ms-mincho.json +2 -2
- package/dist/spec/catalogs/font-schemes/nirmala-ui.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-naksh-arabic.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-nastaliq-urdu.json +3 -3
- package/dist/spec/catalogs/font-schemes/noto-sans-arabic.json +4 -4
- package/dist/spec/catalogs/font-schemes/noto-sans-armenian.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans-bengali.json +3 -3
- package/dist/spec/catalogs/font-schemes/noto-sans-devangari.json +3 -3
- package/dist/spec/catalogs/font-schemes/noto-sans-ethiopic.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans-georgian.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans-gujarati.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans-gurmukhi.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans-hebrew.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans-jp.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans-kannada.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans-khmer.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans-kr.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans-malayalam.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans-mongolian.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans-oriya.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans-sc.json +5 -5
- package/dist/spec/catalogs/font-schemes/noto-sans-tamil.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans-tc.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans-telugu.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans-thai.json +2 -2
- package/dist/spec/catalogs/font-schemes/noto-sans.json +5 -5
- package/dist/spec/catalogs/font-schemes/nyala.json +2 -2
- package/dist/spec/catalogs/font-schemes/open-sans.json +1 -1
- package/dist/spec/catalogs/font-schemes/pmingliu.json +2 -2
- package/dist/spec/catalogs/font-schemes/poppins.json +1 -1
- package/dist/spec/catalogs/font-schemes/pt-serif.json +1 -1
- package/dist/spec/catalogs/font-schemes/raavi.json +2 -2
- package/dist/spec/catalogs/font-schemes/raleway.json +1 -1
- package/dist/spec/catalogs/font-schemes/roboto.json +1 -1
- package/dist/spec/catalogs/font-schemes/rockwell.json +1 -1
- package/dist/spec/catalogs/font-schemes/sakkal-majalla.json +4 -4
- package/dist/spec/catalogs/font-schemes/seaford.json +1 -1
- package/dist/spec/catalogs/font-schemes/segoe-ui-light.json +1 -1
- package/dist/spec/catalogs/font-schemes/segoe-ui.json +1 -1
- package/dist/spec/catalogs/font-schemes/shonar-bangla.json +3 -3
- package/dist/spec/catalogs/font-schemes/shruti.json +2 -2
- package/dist/spec/catalogs/font-schemes/simsun.json +2 -2
- package/dist/spec/catalogs/font-schemes/skeena.json +1 -1
- package/dist/spec/catalogs/font-schemes/sylfaen.json +3 -3
- package/dist/spec/catalogs/font-schemes/tahoma.json +1 -1
- package/dist/spec/catalogs/font-schemes/tenorite.json +1 -1
- package/dist/spec/catalogs/font-schemes/times-new-roman.json +1 -1
- package/dist/spec/catalogs/font-schemes/traditional-arabic.json +4 -4
- package/dist/spec/catalogs/font-schemes/trebuchet-ms.json +1 -1
- package/dist/spec/catalogs/font-schemes/tunga.json +2 -2
- package/dist/spec/catalogs/font-schemes/verdana.json +1 -1
- package/dist/spec/catalogs/font-schemes/vrinda.json +2 -2
- package/dist/spec/catalogs/font-schemes/yu-gothic.json +2 -2
- package/dist/spec/catalogs/layouts/action-plan.json +9 -15
- package/dist/spec/catalogs/layouts/agenda.json +8 -15
- package/dist/spec/catalogs/layouts/appendix-index.json +7 -15
- package/dist/spec/catalogs/layouts/architecture-stack.json +9 -15
- package/dist/spec/catalogs/layouts/assumptions-dependencies.json +9 -15
- package/dist/spec/catalogs/layouts/before-after.json +9 -15
- package/dist/spec/catalogs/layouts/benchmark-target-table.json +9 -15
- package/dist/spec/catalogs/layouts/blank.json +11 -1
- package/dist/spec/catalogs/layouts/bullet-list.json +9 -15
- package/dist/spec/catalogs/layouts/business-model-canvas.json +9 -15
- package/dist/spec/catalogs/layouts/capability-map.json +14 -16
- package/dist/spec/catalogs/layouts/case-study.json +9 -15
- package/dist/spec/catalogs/layouts/chapter-recap.json +8 -15
- package/dist/spec/catalogs/layouts/chart-1x.json +15 -0
- package/dist/spec/catalogs/layouts/chart-2x.json +15 -0
- package/dist/spec/catalogs/layouts/chart-3x.json +15 -0
- package/dist/spec/catalogs/layouts/circular-lifecycle.json +9 -15
- package/dist/spec/catalogs/layouts/code-1x.json +10 -0
- package/dist/spec/catalogs/layouts/comparison.json +9 -15
- package/dist/spec/catalogs/layouts/competitive-landscape.json +14 -16
- package/dist/spec/catalogs/layouts/customer-journey.json +14 -16
- package/dist/spec/catalogs/layouts/customer-logos.json +9 -15
- package/dist/spec/catalogs/layouts/dashboard.json +9 -15
- package/dist/spec/catalogs/layouts/data-visualization.json +9 -15
- package/dist/spec/catalogs/layouts/decision-tree.json +14 -16
- package/dist/spec/catalogs/layouts/detailed-data-table.json +9 -15
- package/dist/spec/catalogs/layouts/ecosystem-map.json +14 -16
- package/dist/spec/catalogs/layouts/executive-decision.json +9 -15
- package/dist/spec/catalogs/layouts/executive-summary.json +9 -15
- package/dist/spec/catalogs/layouts/extract/canonical.json +8 -8
- package/dist/spec/catalogs/layouts/faq.json +9 -15
- package/dist/spec/catalogs/layouts/feature-comparison-matrix.json +9 -15
- package/dist/spec/catalogs/layouts/forecast-scenario.json +9 -15
- package/dist/spec/catalogs/layouts/funnel-pyramid.json +9 -15
- package/dist/spec/catalogs/layouts/gantt-project-plan.json +9 -15
- package/dist/spec/catalogs/layouts/geographic-map.json +13 -15
- package/dist/spec/catalogs/layouts/heatmap-cohort.json +9 -15
- package/dist/spec/catalogs/layouts/hub-and-spoke.json +9 -15
- package/dist/spec/catalogs/layouts/icon-grid.json +14 -16
- package/dist/spec/catalogs/layouts/image-1x.json +11 -1
- package/dist/spec/catalogs/layouts/image-2x.json +12 -2
- package/dist/spec/catalogs/layouts/image-3x.json +13 -3
- package/dist/spec/catalogs/layouts/image-bleed.json +12 -2
- package/dist/spec/catalogs/layouts/image-focus.json +14 -16
- package/dist/spec/catalogs/layouts/index.json +1 -1
- package/dist/spec/catalogs/layouts/key-takeaway.json +8 -15
- package/dist/spec/catalogs/layouts/kpi-scorecard.json +9 -15
- package/dist/spec/catalogs/layouts/list-1x.json +17 -1
- package/dist/spec/catalogs/layouts/list-2x.json +16 -0
- package/dist/spec/catalogs/layouts/list-3x.json +16 -0
- package/dist/spec/catalogs/layouts/list-4x.json +16 -0
- package/dist/spec/catalogs/layouts/list-5x.json +16 -0
- package/dist/spec/catalogs/layouts/list-6x.json +16 -0
- package/dist/spec/catalogs/layouts/logic-tree.json +9 -15
- package/dist/spec/catalogs/layouts/market-size.json +9 -15
- package/dist/spec/catalogs/layouts/matrix-quadrant.json +9 -15
- package/dist/spec/catalogs/layouts/media-1x.json +11 -1
- package/dist/spec/catalogs/layouts/network-dependency-map.json +13 -15
- package/dist/spec/catalogs/layouts/number-1x.json +16 -1
- package/dist/spec/catalogs/layouts/number-2x.json +15 -0
- package/dist/spec/catalogs/layouts/number-3x.json +15 -0
- package/dist/spec/catalogs/layouts/number-4x.json +15 -0
- package/dist/spec/catalogs/layouts/number-5x.json +15 -0
- package/dist/spec/catalogs/layouts/number-6x.json +15 -0
- package/dist/spec/catalogs/layouts/one-column-explainer.json +9 -15
- package/dist/spec/catalogs/layouts/org-chart.json +9 -15
- package/dist/spec/catalogs/layouts/persona-grid.json +14 -16
- package/dist/spec/catalogs/layouts/photo-grid.json +17 -19
- package/dist/spec/catalogs/layouts/pricing-table.json +9 -15
- package/dist/spec/catalogs/layouts/process-flow.json +9 -15
- package/dist/spec/catalogs/layouts/product-feature.json +14 -16
- package/dist/spec/catalogs/layouts/pros-cons.json +9 -15
- package/dist/spec/catalogs/layouts/qa-discussion.json +7 -15
- package/dist/spec/catalogs/layouts/quote-1x.json +11 -1
- package/dist/spec/catalogs/layouts/quote-highlight.json +9 -15
- package/dist/spec/catalogs/layouts/raci-matrix.json +9 -15
- package/dist/spec/catalogs/layouts/risk-heatmap.json +9 -15
- package/dist/spec/catalogs/layouts/roadmap.json +9 -15
- package/dist/spec/catalogs/layouts/screenshot-walkthrough.json +14 -16
- package/dist/spec/catalogs/layouts/section-divider.json +8 -15
- package/dist/spec/catalogs/layouts/single-message-statement.json +8 -15
- package/dist/spec/catalogs/layouts/stats-metrics.json +9 -15
- package/dist/spec/catalogs/layouts/status-rag.json +9 -15
- package/dist/spec/catalogs/layouts/swimlane-process.json +14 -16
- package/dist/spec/catalogs/layouts/swot-analysis.json +9 -15
- package/dist/spec/catalogs/layouts/table-1x.json +10 -0
- package/dist/spec/catalogs/layouts/team-bio.json +14 -16
- package/dist/spec/catalogs/layouts/testimonial-grid.json +9 -15
- package/dist/spec/catalogs/layouts/text-1x.json +11 -1
- package/dist/spec/catalogs/layouts/text-2x.json +10 -0
- package/dist/spec/catalogs/layouts/text-3x.json +10 -0
- package/dist/spec/catalogs/layouts/thank-you-cta.json +8 -15
- package/dist/spec/catalogs/layouts/three-column.json +9 -15
- package/dist/spec/catalogs/layouts/timeline-1x.json +11 -1
- package/dist/spec/catalogs/layouts/timeline.json +9 -15
- package/dist/spec/catalogs/layouts/title-slide.json +8 -15
- package/dist/spec/catalogs/layouts/title-subtitle.json +11 -1
- package/dist/spec/catalogs/layouts/title.json +11 -1
- package/dist/spec/catalogs/layouts/two-column.json +9 -15
- package/dist/spec/catalogs/layouts/venn-overlap.json +9 -15
- package/dist/spec/catalogs/layouts/waterfall-bridge.json +9 -15
- package/dist/spec/catalogs/layouts/wheel-radial.json +9 -15
- package/dist/spec/catalogs/manifest.json +11 -11
- package/dist/spec/catalogs/narratives/board-meeting.json +45 -45
- package/dist/spec/catalogs/narratives/business-narrative.json +19 -19
- package/dist/spec/catalogs/narratives/business-review.json +27 -27
- package/dist/spec/catalogs/narratives/capacity-planning.json +19 -19
- package/dist/spec/catalogs/narratives/challenge-resolution.json +17 -17
- package/dist/spec/catalogs/narratives/change-story.json +13 -13
- package/dist/spec/catalogs/narratives/classic-story.json +17 -17
- package/dist/spec/catalogs/narratives/company-intro.json +21 -21
- package/dist/spec/catalogs/narratives/conference-talk.json +4 -4
- package/dist/spec/catalogs/narratives/data-story.json +13 -14
- package/dist/spec/catalogs/narratives/early-startup-pitch.json +27 -27
- package/dist/spec/catalogs/narratives/educate.json +21 -21
- package/dist/spec/catalogs/narratives/employee-review.json +19 -19
- package/dist/spec/catalogs/narratives/failure-analysis.json +23 -23
- package/dist/spec/catalogs/narratives/focus.json +27 -27
- package/dist/spec/catalogs/narratives/golden-circle.json +4 -4
- package/dist/spec/catalogs/narratives/heros-journey.json +13 -13
- package/dist/spec/catalogs/narratives/index.json +145 -145
- package/dist/spec/catalogs/narratives/innovation.json +21 -21
- package/dist/spec/catalogs/narratives/justice.json +25 -25
- package/dist/spec/catalogs/narratives/marketing-strategy.json +25 -25
- package/dist/spec/catalogs/narratives/performance-improvement-plan.json +19 -19
- package/dist/spec/catalogs/narratives/performance-review.json +25 -25
- package/dist/spec/catalogs/narratives/persuade.json +17 -17
- package/dist/spec/catalogs/narratives/persuasive-sales.json +19 -19
- package/dist/spec/catalogs/narratives/pitch-deck.json +6 -6
- package/dist/spec/catalogs/narratives/problem-solution.json +5 -5
- package/dist/spec/catalogs/narratives/product-launch.json +23 -23
- package/dist/spec/catalogs/narratives/project-proposal.json +23 -23
- package/dist/spec/catalogs/narratives/pyramid-principle.json +9 -9
- package/dist/spec/catalogs/narratives/qbr.json +8 -8
- package/dist/spec/catalogs/narratives/rags-to-riches.json +17 -17
- package/dist/spec/catalogs/narratives/reveal.json +19 -19
- package/dist/spec/catalogs/narratives/scqa.json +4 -4
- package/dist/spec/catalogs/narratives/situation-complication-resolution.json +11 -11
- package/dist/spec/catalogs/narratives/sparkline.json +11 -11
- package/dist/spec/catalogs/narratives/star-method.json +11 -11
- package/dist/spec/catalogs/narratives/status-update.json +15 -15
- package/dist/spec/catalogs/narratives/strategic-advisory.json +17 -17
- package/dist/spec/catalogs/narratives/strategic-narrative.json +4 -4
- package/dist/spec/catalogs/narratives/survey-analysis.json +23 -23
- package/dist/spec/catalogs/narratives/survival-story.json +23 -23
- package/dist/spec/catalogs/narratives/transformation-arc.json +4 -4
- package/dist/spec/catalogs/narratives/trend-analysis.json +17 -17
- package/dist/spec/catalogs/narratives/underdog-victory.json +19 -19
- package/dist/spec/catalogs/narratives/venture-pitch.json +27 -27
- package/dist/spec/catalogs/narratives/vision-roadmap.json +13 -13
- package/dist/spec/catalogs/narratives/weekly-progress.json +23 -23
- package/dist/spec/catalogs/narratives/what-so-what-now-what.json +9 -9
- package/dist/spec/openapi.yaml +2 -5
- package/dist/spec/reference/engine-defaults.json +2 -2
- package/dist/spec/schemas/audience.schema.json +1 -1
- package/dist/spec/schemas/catalog-index.schema.json +2 -2
- package/dist/spec/schemas/chart-type.schema.json +19 -290
- package/dist/spec/schemas/color-scheme.schema.json +20 -12
- package/dist/spec/schemas/finding.schema.json +191 -0
- package/dist/spec/schemas/font-scheme.schema.json +19 -46
- package/dist/spec/schemas/layout.schema.json +100 -159
- package/dist/spec/schemas/narrative.schema.json +17 -25
- package/dist/spec/schemas/opf.schema.json +503 -339
- package/dist/spec/schemas/social-platform.schema.json +1 -26
- package/dist/spec/schemas/theme.schema.json +4 -1
- package/dist/spec-files.d.ts +1 -1
- package/dist/spec-files.js +1 -1
- package/dist/symbol-font-encodings.js +18448 -1
- package/dist/types.d.ts +4 -4
- package/dist/validation-types-zh03LeZy.d.ts +276 -0
- package/dist/validator.d.ts +60 -4
- package/dist/validator.js +4 -4
- package/dist/yaml.d.ts +87 -0
- package/dist/yaml.js +321 -0
- package/package.json +6 -10
- package/dist/audit.d.ts +0 -156
- package/dist/audit.js +0 -7
- package/dist/chunk-6LZK2IZB.js +0 -1690
- package/dist/chunk-FYLJVF7X.js +0 -18448
- package/dist/chunk-JKVKYVWL.js +0 -1332
- package/dist/chunk-MWPMJE6P.js +0 -622
- package/dist/lint.d.ts +0 -70
- package/dist/lint.js +0 -6
- package/dist/spec/catalogs/audiences/customers.json +0 -27
- package/dist/spec/catalogs/audiences/executives.json +0 -27
- package/dist/spec/catalogs/audiences/investors.json +0 -27
- package/dist/spec/catalogs/audiences/marketing-team.json +0 -27
- package/dist/spec/catalogs/audiences/regulators.json +0 -27
- package/dist/spec/catalogs/audiences/sales-team.json +0 -27
- package/dist/spec/catalogs/chart-types/100pct-bullet-bar-2x.json +0 -91
- package/dist/spec/catalogs/chart-types/100pct-bullet-bar-3x.json +0 -103
- package/dist/spec/catalogs/chart-types/100pct-bullet-bar.json +0 -79
- package/dist/spec/catalogs/chart-types/100pct-bullet-column-2x.json +0 -91
- package/dist/spec/catalogs/chart-types/100pct-bullet-column-3x.json +0 -103
- package/dist/spec/catalogs/chart-types/100pct-bullet-column.json +0 -79
- package/dist/spec/catalogs/chart-types/100pct-progress-bar.json +0 -105
- package/dist/spec/catalogs/chart-types/100pct-stacked-area-2x.json +0 -106
- package/dist/spec/catalogs/chart-types/100pct-stacked-area-3x.json +0 -123
- package/dist/spec/catalogs/chart-types/100pct-stacked-bar-2x.json +0 -89
- package/dist/spec/catalogs/chart-types/100pct-stacked-bar-3x.json +0 -100
- package/dist/spec/catalogs/chart-types/100pct-stacked-column-2x.json +0 -95
- package/dist/spec/catalogs/chart-types/100pct-stacked-column-3x.json +0 -108
- package/dist/spec/catalogs/chart-types/australia.json +0 -76
- package/dist/spec/catalogs/chart-types/box-and-whisker-2x.json +0 -136
- package/dist/spec/catalogs/chart-types/box-and-whisker-3x.json +0 -168
- package/dist/spec/catalogs/chart-types/bullet-bar-2x.json +0 -89
- package/dist/spec/catalogs/chart-types/bullet-bar-3x.json +0 -101
- package/dist/spec/catalogs/chart-types/bullet-bar.json +0 -77
- package/dist/spec/catalogs/chart-types/bullet-column-2x.json +0 -89
- package/dist/spec/catalogs/chart-types/bullet-column-3x.json +0 -101
- package/dist/spec/catalogs/chart-types/bullet-column.json +0 -77
- package/dist/spec/catalogs/chart-types/canada.json +0 -86
- package/dist/spec/catalogs/chart-types/clustered-bar-2x.json +0 -89
- package/dist/spec/catalogs/chart-types/clustered-column.json +0 -95
- package/dist/spec/catalogs/chart-types/dot-plot-2x.json +0 -99
- package/dist/spec/catalogs/chart-types/dot-plot-3x.json +0 -124
- package/dist/spec/catalogs/chart-types/dot-plot-4x.json +0 -149
- package/dist/spec/catalogs/chart-types/dot-plot-5x.json +0 -174
- package/dist/spec/catalogs/chart-types/dot-plot-6x.json +0 -199
- package/dist/spec/catalogs/chart-types/dot-plot.json +0 -74
- package/dist/spec/catalogs/chart-types/dumbbell.json +0 -120
- package/dist/spec/catalogs/chart-types/line-2x.json +0 -105
- package/dist/spec/catalogs/chart-types/line-3x.json +0 -127
- package/dist/spec/catalogs/chart-types/line-with-high-low-and-markers.json +0 -144
- package/dist/spec/catalogs/chart-types/line-with-high-low.json +0 -144
- package/dist/spec/catalogs/chart-types/line-with-markers-2x.json +0 -106
- package/dist/spec/catalogs/chart-types/line-with-markers-3x.json +0 -128
- package/dist/spec/catalogs/chart-types/sparkline-2x.json +0 -138
- package/dist/spec/catalogs/chart-types/sparkline-3x.json +0 -174
- package/dist/spec/catalogs/chart-types/sparkline-4x.json +0 -210
- package/dist/spec/catalogs/chart-types/sparkline-5x.json +0 -246
- package/dist/spec/catalogs/chart-types/sparkline-6x.json +0 -282
- package/dist/spec/catalogs/chart-types/sparkline.json +0 -102
- package/dist/spec/catalogs/chart-types/stacked-area-2x.json +0 -106
- package/dist/spec/catalogs/chart-types/stacked-area-3x.json +0 -123
- package/dist/spec/catalogs/chart-types/stacked-bar-2x.json +0 -89
- package/dist/spec/catalogs/chart-types/stacked-bar-3x.json +0 -100
- package/dist/spec/catalogs/chart-types/stacked-column-2x.json +0 -95
- package/dist/spec/catalogs/chart-types/stacked-column-3x.json +0 -108
- package/dist/spec/catalogs/chart-types/stacked-line-2x.json +0 -106
- package/dist/spec/catalogs/chart-types/stacked-line-3x.json +0 -123
- package/dist/spec/catalogs/chart-types/stacked-line-with-markers-2x.json +0 -107
- package/dist/spec/catalogs/chart-types/stacked-line-with-markers-3x.json +0 -124
- package/dist/spec/catalogs/chart-types/treemap-2x.json +0 -101
- package/dist/spec/catalogs/chart-types/treemap-3x.json +0 -122
- package/dist/spec/catalogs/chart-types/united-kingdom.json +0 -68
- package/dist/spec/catalogs/chart-types/united-states.json +0 -82
- package/dist/validator-DfG9yxba.d.ts +0 -172
package/dist/index.d.ts
CHANGED
|
@@ -1,18 +1,320 @@
|
|
|
1
|
-
export {
|
|
2
|
-
import { C as CatalogKind } from './catalogs-
|
|
3
|
-
export { A as Audience,
|
|
4
|
-
export {
|
|
1
|
+
export { a as SchemaEntry, S as SchemaName, b as audience, c as chartType, d as colorScheme, f as fontScheme, l as language, e as layout, n as narrative, p as presentation, g as purpose, s as schemaEntries, h as schemaNames, i as schemas, j as socialPlatform, t as theme, k as tone } from './schemas-DDpqAgyS.js';
|
|
2
|
+
import { C as CatalogKind } from './catalogs-D-yyQWCQ.js';
|
|
3
|
+
export { A as Audience, e as CatalogEntry, f as CatalogIndex, g as CatalogIndexRecord, h as CatalogRecord, a as ChartType, b as ColorScheme, F as FontScheme, L as Language, c as Layout, N as Narrative, P as Purpose, S as SocialPlatform, T as Theme, d as Tone, i as audiences, j as catalogEntries, k as catalogIndexes, l as catalogKinds, m as catalogSchemaNames, n as catalogs, o as chartTypes, p as colorSchemes, q as fontSchemes, r as languages, s as layouts, t as narratives, u as purposes, v as socialPlatforms, w as themes, x as tones } from './catalogs-D-yyQWCQ.js';
|
|
4
|
+
export { DEFAULT_CHART_PALETTE, DEFAULT_VALIDATION_THRESHOLDS, OPFValidationError, assertValid, assertValidCatalogRecord, findValidationRule, validate, validateCatalogRecord, validationRules } from './validator.js';
|
|
5
|
+
export { B as BuiltinVariableInfo, C as Contract, D as DEFAULT_VARIABLE_DATE_FORMAT, O as OPFVariableError, R as ResolveVariablesOptions, b as ResolveVariablesResult, c as VARIABLE_KINDS, d as ValidateFonts, V as ValidateOptions, e as ValidationCategory, f as ValidationChecks, a as ValidationReport, g as ValidationRuleCost, h as ValidationRuleInfo, i as ValidationThresholds, j as VariableDeclaration, k as VariableDiagnostic, l as VariableDiagnosticCode, m as VariableDiagnosticSeverity, n as VariableInfo, o as VariableKind, p as VariableUse, q as VariableUseForm, r as VariableValues, s as coerceVariableValue, t as formatVariableNumber, u as hasContentVariables, v as isTemplate, w as listBuiltinVariables, x as listVariables, y as resolveVariables, z as validationCategories, A as variableDeclarations } from './validation-types-zh03LeZy.js';
|
|
5
6
|
export { SpecFileEntry, SpecFileKind, SpecFilePath, specFileEntries, specFileKinds, specFilePaths } from './spec-files.js';
|
|
6
7
|
export { LayoutPreviewIndex, LayoutPreviewRecord, getLayoutPreview, hasLayoutPreview, layoutPreviewIndex, layoutPreviewSlugs, layoutPreviews } from './previews.js';
|
|
7
|
-
export { P as Presentation } from './presentation-
|
|
8
|
-
export {
|
|
9
|
-
export {
|
|
10
|
-
|
|
11
|
-
export {
|
|
12
|
-
export {
|
|
13
|
-
export {
|
|
8
|
+
export { P as Presentation } from './presentation-C5eHkevA.js';
|
|
9
|
+
export { F as Finding, a as FindingCategory, b as FindingFix, c as FindingFocus, d as FindingLocation, e as FindingReport, f as FindingSeverity, g as FindingSuggestion, J as JsonPatchOperation, V as ValidationIssue } from './finding-C_por275.js';
|
|
10
|
+
export { C as ComposeSlideOptions, F as FontFamilies, a as FontSchemeDiagnostic, b as Fonts, L as LanguageFamilyName, c as LayoutDiagnostic, M as MeasureTextWidth, T as TextMeasurement, d as TextStyle, n as normalizeLanguageFamily } from './composition-_WEwBe2a.js';
|
|
11
|
+
export { O as OPFPaginationError, P as PaginatedPage, a as PaginationMapping, b as PaginationOptions, c as PaginationResult, d as PresentationPaginationOptions, e as PresentationPaginationResult, S as SlideContext, f as SlideContextDiagnostic, g as SlideContextOptions, h as SlideContextReferenceDiagnostic, p as paginate, i as paginateSlide, r as resolveSlideContext } from './pagination-BZpXLvFL.js';
|
|
12
|
+
export { ApplyPatchOptions, OPFPatchError, OPFPatchValidationError, PatchResult, applyPatch } from './patch.js';
|
|
13
|
+
export { DiffOptions, MergeConflict, MergeOptions, MergeResult, PresentationDiff, diff, merge } from './diff.js';
|
|
14
|
+
export { FormatOptions, OPFFormatError, format } from './format.js';
|
|
15
|
+
export { FromMarkdownOptions, FromMarkdownResult, OPFMarkdownError, ToMarkdownOptions, ToMarkdownResult, fromMarkdown, toMarkdown } from './markdown.js';
|
|
16
|
+
export { DataCell, DataImportOptions, ImportDataOptions, OPFDataImportError, TabularData, importData, parseTabularData } from './data.js';
|
|
17
|
+
export { I as ChartComboSeries, C as ChartMapping, a as ChartNumberFix, b as ChartNumberFixOperation, c as ChartNumberFixOptions, D as DataCellValue, d as DataColumn, e as DataDiagnostic, f as DataDiagnosticCode, g as DataResolveOptions, h as DataSourceRef, i as DataStyledCell, j as DataTableCell, k as DataTableHeader, l as DataTableValue, m as DataTextRun, n as Dataset, o as DatasetRef, R as ResolvedChartData, p as ResolvedTableData, q as chartNumber, r as datasetDiagnostics, s as formatDataNumber, t as fromExcelNumberFormat, u as inlineChartData, v as inlineDatasets, w as inlineTableData, x as isDatasetRef, y as isXYChartType, z as numberFormatError, A as resolveChartData, B as resolveTableData, E as suggestChartNumberFix, F as tableCellDisplayValue, G as toExcelNumberFormat, H as unusedDatasets } from './chart-data-B_3z9VTb.js';
|
|
14
18
|
export { FONT_POLICY, FontAvailability, FontAvailabilityCode, FontAvailabilityDiagnostic, FontLicenseClass, FontPolicyDecision, FontPolicyEntry, FontPolicyTable, FontReplacement, FontReplacementCompatibility, FontReplacementMeasurement, applyFontPolicyDecisions, fontAvailabilityDiagnostics, fontPolicyFor } from './font-policy.js';
|
|
15
|
-
|
|
19
|
+
|
|
20
|
+
/** A reference as authored: the string (a catalog id, URL, `pkg:` reference, tag or free text) or the inline record's id. */
|
|
21
|
+
interface ReferenceFact {
|
|
22
|
+
id: string | null;
|
|
23
|
+
inline: boolean;
|
|
24
|
+
}
|
|
25
|
+
interface SlideSizeFact {
|
|
26
|
+
/** The preset name when one is set (`16:9`, `4:3`, `letter`, ...); null for custom inches. */
|
|
27
|
+
preset: string | null;
|
|
28
|
+
widthInches: number;
|
|
29
|
+
heightInches: number;
|
|
30
|
+
/** width / height, to 3 decimals. */
|
|
31
|
+
aspectRatio: number;
|
|
32
|
+
/** Where the size comes from: the deck's `design.dimensions`, its theme record, or the engine default (widescreen). */
|
|
33
|
+
source: 'design' | 'theme' | 'default';
|
|
34
|
+
}
|
|
35
|
+
interface StatsSlideRef {
|
|
36
|
+
/** Zero-based position, the same index as `/slides/<index>`. */
|
|
37
|
+
index: number;
|
|
38
|
+
id: string | null;
|
|
39
|
+
}
|
|
40
|
+
interface HeaderFooterFact {
|
|
41
|
+
/** The deck sets this furniture. */
|
|
42
|
+
configured: boolean;
|
|
43
|
+
/** The deck sets it to `false`. */
|
|
44
|
+
suppressed: boolean;
|
|
45
|
+
zones: string[];
|
|
46
|
+
/** Fields set in any zone: logo, image, text, organization, socials, section, slideNumber, date. */
|
|
47
|
+
fields: string[];
|
|
48
|
+
}
|
|
49
|
+
interface TableFact {
|
|
50
|
+
slide: number;
|
|
51
|
+
/** JSON Pointer of the table. */
|
|
52
|
+
path: string;
|
|
53
|
+
rows: number;
|
|
54
|
+
columns: number;
|
|
55
|
+
/** The top-level dataset the table takes its data from, if any. */
|
|
56
|
+
dataset: string | null;
|
|
57
|
+
}
|
|
58
|
+
interface DatasetFact {
|
|
59
|
+
id: string;
|
|
60
|
+
title: string | null;
|
|
61
|
+
columns: number;
|
|
62
|
+
rows: number;
|
|
63
|
+
/** `source.src` when the dataset declares a source, else null. */
|
|
64
|
+
source: string | null;
|
|
65
|
+
/** Charts and tables that reference it. */
|
|
66
|
+
referencedBy: number;
|
|
67
|
+
}
|
|
68
|
+
interface SlideStats {
|
|
69
|
+
index: number;
|
|
70
|
+
id: string | null;
|
|
71
|
+
title: string | null;
|
|
72
|
+
layout: string | null;
|
|
73
|
+
section: string | null;
|
|
74
|
+
hidden: boolean;
|
|
75
|
+
/** Content payload kinds present on the slide (root, blocks and regions), in a fixed order. */
|
|
76
|
+
payloads: string[];
|
|
77
|
+
words: {
|
|
78
|
+
content: number;
|
|
79
|
+
notes: number;
|
|
80
|
+
};
|
|
81
|
+
hasNotes: boolean;
|
|
82
|
+
/** Estimated speaking time for the notes at `wordsPerMinute`, in seconds. */
|
|
83
|
+
speakingSeconds: number;
|
|
84
|
+
images: number;
|
|
85
|
+
charts: number;
|
|
86
|
+
tables: number;
|
|
87
|
+
citations: number;
|
|
88
|
+
}
|
|
89
|
+
interface PresentationStats {
|
|
90
|
+
deck: {
|
|
91
|
+
name: string | null;
|
|
92
|
+
description: boolean;
|
|
93
|
+
filename: string | null;
|
|
94
|
+
author: string[];
|
|
95
|
+
language: ReferenceFact | null;
|
|
96
|
+
slideSize: SlideSizeFact;
|
|
97
|
+
template: boolean;
|
|
98
|
+
tags: string[];
|
|
99
|
+
takeaways: number;
|
|
100
|
+
declaredMinutes: number | null;
|
|
101
|
+
design: {
|
|
102
|
+
theme: ReferenceFact | null;
|
|
103
|
+
colorScheme: ReferenceFact | null;
|
|
104
|
+
fontScheme: ReferenceFact | null;
|
|
105
|
+
};
|
|
106
|
+
audience: ReferenceFact[];
|
|
107
|
+
purpose: ReferenceFact | null;
|
|
108
|
+
tone: ReferenceFact | null;
|
|
109
|
+
narrative: (ReferenceFact & {
|
|
110
|
+
beats: number;
|
|
111
|
+
}) | null;
|
|
112
|
+
};
|
|
113
|
+
people: {
|
|
114
|
+
organizations: {
|
|
115
|
+
id: string;
|
|
116
|
+
name: string;
|
|
117
|
+
role: string | null;
|
|
118
|
+
hasLogo: boolean;
|
|
119
|
+
}[];
|
|
120
|
+
speakers: {
|
|
121
|
+
id: string;
|
|
122
|
+
name: string;
|
|
123
|
+
title: string | null;
|
|
124
|
+
organizationId: string | null;
|
|
125
|
+
hasPhoto: boolean;
|
|
126
|
+
}[];
|
|
127
|
+
};
|
|
128
|
+
slides: {
|
|
129
|
+
total: number;
|
|
130
|
+
hidden: StatsSlideRef[];
|
|
131
|
+
withTitle: number;
|
|
132
|
+
withoutTitle: number;
|
|
133
|
+
withBeat: number;
|
|
134
|
+
/** Consecutive slides sharing a `section` label. */
|
|
135
|
+
sections: {
|
|
136
|
+
name: string;
|
|
137
|
+
slides: number;
|
|
138
|
+
firstSlide: number;
|
|
139
|
+
}[];
|
|
140
|
+
unsectioned: number;
|
|
141
|
+
/** Slides per layout id. */
|
|
142
|
+
layouts: Record<string, number>;
|
|
143
|
+
withoutLayout: number;
|
|
144
|
+
/** Slides whose own `design` object overrides the deck design. */
|
|
145
|
+
withOwnDesign: number;
|
|
146
|
+
};
|
|
147
|
+
/** Content payloads by kind, counted across slide roots, blocks and promoted regions. */
|
|
148
|
+
payloads: {
|
|
149
|
+
text: number;
|
|
150
|
+
items: number;
|
|
151
|
+
bullets: number;
|
|
152
|
+
quote: number;
|
|
153
|
+
metric: number;
|
|
154
|
+
code: number;
|
|
155
|
+
timeline: number;
|
|
156
|
+
chart: number;
|
|
157
|
+
table: number;
|
|
158
|
+
image: number;
|
|
159
|
+
video: number;
|
|
160
|
+
/** Block entries at any depth. */
|
|
161
|
+
blocks: number;
|
|
162
|
+
/** Promoted region payloads (`left`, `top:center`, ...). */
|
|
163
|
+
regions: number;
|
|
164
|
+
/** Blocks and regions that hold nested `blocks`. */
|
|
165
|
+
groups: number;
|
|
166
|
+
/** Deepest block nesting; 0 when no slide has blocks. */
|
|
167
|
+
maxDepth: number;
|
|
168
|
+
};
|
|
169
|
+
words: {
|
|
170
|
+
content: number;
|
|
171
|
+
notes: number;
|
|
172
|
+
total: number;
|
|
173
|
+
/** Content words per slide. */
|
|
174
|
+
perSlide: {
|
|
175
|
+
min: number;
|
|
176
|
+
max: number;
|
|
177
|
+
mean: number;
|
|
178
|
+
};
|
|
179
|
+
};
|
|
180
|
+
notes: {
|
|
181
|
+
withNotes: number;
|
|
182
|
+
withoutNotes: StatsSlideRef[];
|
|
183
|
+
};
|
|
184
|
+
speakingTime: {
|
|
185
|
+
basis: 'estimate';
|
|
186
|
+
wordsPerMinute: number;
|
|
187
|
+
notesWords: number;
|
|
188
|
+
minutes: number;
|
|
189
|
+
declaredMinutes: number | null;
|
|
190
|
+
};
|
|
191
|
+
images: {
|
|
192
|
+
/** Image payloads and slide images (`design.slideImage`). */
|
|
193
|
+
content: {
|
|
194
|
+
total: number;
|
|
195
|
+
withAlt: number;
|
|
196
|
+
decorative: number;
|
|
197
|
+
missingAlt: number;
|
|
198
|
+
};
|
|
199
|
+
/** Logo images: `design.logo` (every LogoSet variant), deck and slides, plus organization logos. */
|
|
200
|
+
logos: number;
|
|
201
|
+
watermarks: {
|
|
202
|
+
deck: boolean;
|
|
203
|
+
slides: number;
|
|
204
|
+
};
|
|
205
|
+
backgrounds: {
|
|
206
|
+
deck: boolean;
|
|
207
|
+
slides: number;
|
|
208
|
+
};
|
|
209
|
+
headerFooter: number;
|
|
210
|
+
speakerPhotos: number;
|
|
211
|
+
videos: number;
|
|
212
|
+
};
|
|
213
|
+
charts: {
|
|
214
|
+
total: number;
|
|
215
|
+
byType: Record<string, number>;
|
|
216
|
+
data: {
|
|
217
|
+
inline: number;
|
|
218
|
+
dataset: number;
|
|
219
|
+
source: number;
|
|
220
|
+
};
|
|
221
|
+
};
|
|
222
|
+
tables: {
|
|
223
|
+
total: number;
|
|
224
|
+
datasetBacked: number;
|
|
225
|
+
rows: number;
|
|
226
|
+
columns: number;
|
|
227
|
+
items: TableFact[];
|
|
228
|
+
};
|
|
229
|
+
datasets: {
|
|
230
|
+
count: number;
|
|
231
|
+
withSource: number;
|
|
232
|
+
items: DatasetFact[];
|
|
233
|
+
};
|
|
234
|
+
citations: {
|
|
235
|
+
references: number;
|
|
236
|
+
/** Reference ids cited by at least one run, in declaration order. */
|
|
237
|
+
cited: string[];
|
|
238
|
+
/** Runs that cite. */
|
|
239
|
+
citations: number;
|
|
240
|
+
footnotes: number;
|
|
241
|
+
captions: number;
|
|
242
|
+
links: number;
|
|
243
|
+
};
|
|
244
|
+
variables: {
|
|
245
|
+
declared: number;
|
|
246
|
+
byKind: Record<string, number>;
|
|
247
|
+
required: number;
|
|
248
|
+
optional: number;
|
|
249
|
+
filled: number;
|
|
250
|
+
unfilled: string[];
|
|
251
|
+
unfilledRequired: string[];
|
|
252
|
+
/** Declared variables nothing references. */
|
|
253
|
+
unused: string[];
|
|
254
|
+
};
|
|
255
|
+
assets: {
|
|
256
|
+
registry: {
|
|
257
|
+
entries: number;
|
|
258
|
+
embedded: number;
|
|
259
|
+
files: number;
|
|
260
|
+
remote: number;
|
|
261
|
+
};
|
|
262
|
+
/** Every asset-bearing field: images, videos, logos, photos, backgrounds, header/footer images, external chart data. */
|
|
263
|
+
uses: {
|
|
264
|
+
total: number;
|
|
265
|
+
references: number;
|
|
266
|
+
embedded: number;
|
|
267
|
+
files: number;
|
|
268
|
+
remote: number;
|
|
269
|
+
};
|
|
270
|
+
/** Decoded size of the embedded `data:` URIs in `uses` and the registry. */
|
|
271
|
+
embeddedBytes: number;
|
|
272
|
+
};
|
|
273
|
+
headerFooter: {
|
|
274
|
+
header: HeaderFooterFact;
|
|
275
|
+
footer: HeaderFooterFact;
|
|
276
|
+
slides: {
|
|
277
|
+
headerOverrides: number;
|
|
278
|
+
headerSuppressed: number;
|
|
279
|
+
footerOverrides: number;
|
|
280
|
+
footerSuppressed: number;
|
|
281
|
+
};
|
|
282
|
+
};
|
|
283
|
+
fonts: {
|
|
284
|
+
/** Every family named: by a font scheme in effect, an inline scheme, or a run's `fontFamily`. */
|
|
285
|
+
families: string[];
|
|
286
|
+
/** Font-scheme ids in effect (deck and slide overrides). */
|
|
287
|
+
schemeIds: string[];
|
|
288
|
+
/** Ids that match no inline or bundled record. */
|
|
289
|
+
unresolvedSchemeIds: string[];
|
|
290
|
+
runOverrides: string[];
|
|
291
|
+
};
|
|
292
|
+
colors: {
|
|
293
|
+
variables: {
|
|
294
|
+
id: string;
|
|
295
|
+
value: string | null;
|
|
296
|
+
uses: number;
|
|
297
|
+
}[];
|
|
298
|
+
};
|
|
299
|
+
/** Keys under `extensions` on the deck, slides and payloads. */
|
|
300
|
+
extensions: string[];
|
|
301
|
+
/** Per-kind inline catalog overrides. */
|
|
302
|
+
catalogOverrides: Record<string, {
|
|
303
|
+
records: number;
|
|
304
|
+
source: string | null;
|
|
305
|
+
}>;
|
|
306
|
+
/** Present only with `perSlide: true`. */
|
|
307
|
+
perSlide?: SlideStats[];
|
|
308
|
+
}
|
|
309
|
+
interface StatsOptions {
|
|
310
|
+
/** Add the per-slide breakdown as `perSlide`. */
|
|
311
|
+
perSlide?: boolean;
|
|
312
|
+
/** Variable values to count as filled, as for `resolveVariables`. */
|
|
313
|
+
values?: Record<string, unknown>;
|
|
314
|
+
/** Speaking pace for the notes estimate. Default 130. */
|
|
315
|
+
wordsPerMinute?: number;
|
|
316
|
+
}
|
|
317
|
+
declare function stats(presentation: unknown, options?: StatsOptions): PresentationStats;
|
|
16
318
|
|
|
17
319
|
/**
|
|
18
320
|
* Local catalog vendoring: resolve every catalog reference a presentation
|
|
@@ -36,13 +338,12 @@ interface BundleReport {
|
|
|
36
338
|
/**
|
|
37
339
|
* Referenced bare ids that resolve nowhere locally, per kind — listed for
|
|
38
340
|
* exactly the positions the validator warns about, so `unresolved` means
|
|
39
|
-
* "the validator would warn about this": the string
|
|
40
|
-
* `narrative`, bare-id `audience` entries (string or `{ id }` form), the
|
|
341
|
+
* "the validator would warn about this": the `narrative` string, bare-id `audience` entries (string or `{ id }` form), the
|
|
41
342
|
* design references `themes`, `colorSchemes` and `fontSchemes` (string or
|
|
42
343
|
* `{ id }` form, at deck and slide level), and `chart.type`.
|
|
43
344
|
*
|
|
44
345
|
* Every other reference — tones, purposes, languages, layouts,
|
|
45
|
-
* social platforms,
|
|
346
|
+
* social platforms, and anything reached through a
|
|
46
347
|
* record rather than written by the author — is still resolved and inlined
|
|
47
348
|
* when it is found, and skipped in silence when it is not, because the
|
|
48
349
|
* validator does not warn there either.
|
|
@@ -70,270 +371,6 @@ interface BundleResult {
|
|
|
70
371
|
* validator warns about, and silently skipped elsewhere; see
|
|
71
372
|
* `BundleReport.unresolved`.
|
|
72
373
|
*/
|
|
73
|
-
declare function
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* Language/script font model (font-fidelity-everywhere FF-18).
|
|
77
|
-
*
|
|
78
|
-
* Resolves, for a presentation's language and effective font scheme, the font
|
|
79
|
-
* family for each OOXML script slot (`a:latin`, `a:ea`, `a:cs`) of the major
|
|
80
|
-
* (heading) and minor (body) theme fonts, plus the language tags and base
|
|
81
|
-
* direction. Pure: no DOM, fonts, network or mutation. Catalog references
|
|
82
|
-
* resolve against inline `catalogs.<kind>.records[]` first and the bundled
|
|
83
|
-
* catalogs second; a custom `source` is not fetched.
|
|
84
|
-
*
|
|
85
|
-
* Catalog ids and catalog tags resolve deterministically from vendored tables.
|
|
86
|
-
* Only a tag that matches no catalog record may consult the runtime's ICU
|
|
87
|
-
* likely subtags (`Intl.Locale#maximize`) to find its script.
|
|
88
|
-
*
|
|
89
|
-
* Design: docs/programs/font-fidelity-everywhere/script-font-model.md.
|
|
90
|
-
*/
|
|
91
|
-
/** OOXML script slot a writing system uses: `a:latin`, `a:ea` or `a:cs`. */
|
|
92
|
-
type ScriptRole = "latin" | "eastAsian" | "complexScript";
|
|
93
|
-
/** Target application whose language font-scheme defaults apply. */
|
|
94
|
-
type ScriptFontApp = "PowerPoint" | "Google Slides";
|
|
95
|
-
/** Font family per OOXML script slot for one theme font (major or minor). */
|
|
96
|
-
interface ScriptFontSlots {
|
|
97
|
-
latin: string;
|
|
98
|
-
eastAsian: string;
|
|
99
|
-
complexScript: string;
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Where a resolved eastAsian/complexScript family came from:
|
|
103
|
-
* - `fontScheme`: an explicit `eastAsian`/`complexScript` slot on the effective design font scheme.
|
|
104
|
-
* - `schemeFamily`: the design font scheme's own major/minor, because its `languageFamily` names this
|
|
105
|
-
* slot and its `languages` list is empty or names the presentation language.
|
|
106
|
-
* - `language`: the presentation language's font scheme (`fontScheme`, or `googleFontScheme` for Google Slides).
|
|
107
|
-
* - `latin`: no script-specific choice exists, so the slot repeats the latin family.
|
|
108
|
-
*/
|
|
109
|
-
type ScriptFontSource = "fontScheme" | "schemeFamily" | "language" | "latin";
|
|
110
|
-
/** A per-script supplemental theme font, as in OOXML `<a:font script="Jpan" typeface="..."/>`. */
|
|
111
|
-
interface ScriptFontSupplement {
|
|
112
|
-
/** OOXML theme script tag (ISO 15924, except Korean uses `Hang`). */
|
|
113
|
-
script: string;
|
|
114
|
-
heading: string;
|
|
115
|
-
body: string;
|
|
116
|
-
}
|
|
117
|
-
interface ResolveScriptFontsOptions {
|
|
118
|
-
/** Which language font-scheme default applies. Defaults to `PowerPoint` (`language.fontScheme`). */
|
|
119
|
-
app?: ScriptFontApp;
|
|
120
|
-
/** Merge `slides[slideIndex].design` over the deck design, per field, before resolving the font scheme. */
|
|
121
|
-
slideIndex?: number;
|
|
122
|
-
/** Language reference to resolve instead of the document's `language` (catalog id, BCP-47 tag or Language object). */
|
|
123
|
-
language?: unknown;
|
|
124
|
-
/** Language tag used when neither the document nor `options.language` names a resolvable language. Defaults to `en-US`. */
|
|
125
|
-
defaultLanguage?: string;
|
|
126
|
-
}
|
|
127
|
-
interface ResolvedScriptFonts extends ScriptFontSlots {
|
|
128
|
-
/**
|
|
129
|
-
* Tag for OOXML `a:rPr/@lang` (and `a:endParaRPr/@lang`): an authored tag that carries a region,
|
|
130
|
-
* else the language record's curated `ooxmlLang`, else the canonical BCP-47 tag.
|
|
131
|
-
*/
|
|
132
|
-
lang: string;
|
|
133
|
-
/** Canonically cased BCP-47 tag for HTML/SVG `lang`: the authored tag, else the record's `bcp47`. */
|
|
134
|
-
bcp47: string;
|
|
135
|
-
/** Matched languages catalog record id, when one matched. */
|
|
136
|
-
languageId?: string;
|
|
137
|
-
/** `default` when the tag came from `defaultLanguage` because no language resolved. */
|
|
138
|
-
languageSource: "document" | "option" | "default";
|
|
139
|
-
/** ISO 15924 script (`Zzzz` when it cannot be determined). */
|
|
140
|
-
script: string;
|
|
141
|
-
/** Script slot the language's own text uses. */
|
|
142
|
-
scriptRole: ScriptRole;
|
|
143
|
-
direction: "ltr" | "rtl";
|
|
144
|
-
rtl: boolean;
|
|
145
|
-
/** Major (heading) theme font slots. */
|
|
146
|
-
heading: ScriptFontSlots;
|
|
147
|
-
/** Minor (body) theme font slots. The top-level latin/eastAsian/complexScript repeat these. */
|
|
148
|
-
body: ScriptFontSlots;
|
|
149
|
-
/**
|
|
150
|
-
* Supplemental theme font for the language's script. Present only when an explicit slot, the
|
|
151
|
-
* design scheme's own script family or the language's font scheme supplies one; absent for
|
|
152
|
-
* Latin, Cyrillic, Greek and for scripts with no script font.
|
|
153
|
-
*/
|
|
154
|
-
supplement?: ScriptFontSupplement;
|
|
155
|
-
sources: {
|
|
156
|
-
eastAsian: ScriptFontSource;
|
|
157
|
-
complexScript: ScriptFontSource;
|
|
158
|
-
};
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
/** The OOXML script slot for an ISO 15924 script code. Unknown scripts use the latin slot. */
|
|
162
|
-
declare function scriptFontRole(script: string): ScriptRole;
|
|
163
|
-
/**
|
|
164
|
-
* Resolve the per-script theme fonts, language tags and direction for a
|
|
165
|
-
* presentation (or a `{ design, language, catalogs }` subset of one).
|
|
166
|
-
*
|
|
167
|
-
* The latin slot follows the effective design font scheme exactly as
|
|
168
|
-
* `resolveFontFamilies` does; when nothing names a font scheme it falls back to
|
|
169
|
-
* the shared `DEFAULT_FONT_SCHEME`. Each of the eastAsian and complexScript slots
|
|
170
|
-
* takes, in order: the design font scheme's explicit slot; the scheme's own
|
|
171
|
-
* families when its `languageFamily` names the slot and its `languages` list
|
|
172
|
-
* is empty or names the language; the language's font scheme when the
|
|
173
|
-
* language's script uses the slot; otherwise the latin family.
|
|
174
|
-
*/
|
|
175
|
-
declare function resolveScriptFonts(input: unknown, options?: ResolveScriptFontsOptions): ResolvedScriptFonts;
|
|
176
|
-
/**
|
|
177
|
-
* The deck base direction composition lays a slide out in: the direction of the presentation language's script
|
|
178
|
-
* (`rtl` for Arabic, Hebrew and the other right-to-left scripts), `ltr` when the document names no language or
|
|
179
|
-
* the language does not resolve. Layout, preview and export all read this one value (RR-05).
|
|
180
|
-
*/
|
|
181
|
-
declare function resolveSlideDirection(presentation: unknown, slideIndex?: number): "ltr" | "rtl";
|
|
182
|
-
|
|
183
|
-
/**
|
|
184
|
-
* Deterministic syntax highlighting shared by the SVG preview and the PPTX export (RR-07).
|
|
185
|
-
*
|
|
186
|
-
* `tokenizeCode(source, language)` returns coloured token ranges over the exact source
|
|
187
|
-
* string; everything between tokens is plain. `codeSyntaxPalette` derives one colour per
|
|
188
|
-
* token kind from the deck theme and keeps each at WCAG contrast >= 4.5:1 against the code
|
|
189
|
-
* panel. The scanner is a small hand-written one (no dependency, no network, no locale or
|
|
190
|
-
* clock input): it recognises comments, strings, numbers, keywords, definition names, calls,
|
|
191
|
-
* capitalised types and the structure of JSON, YAML, TOML, HTML/XML and CSS. It never edits
|
|
192
|
-
* the text: callers colour ranges of `code.source` and the concatenated runs equal the source.
|
|
193
|
-
* An unknown or missing language yields no tokens (plain text).
|
|
194
|
-
*/
|
|
195
|
-
type CodeTokenKind = 'comment' | 'keyword' | 'string' | 'number' | 'function' | 'type' | 'property';
|
|
196
|
-
interface CodeToken {
|
|
197
|
-
start: number;
|
|
198
|
-
end: number;
|
|
199
|
-
kind: CodeTokenKind;
|
|
200
|
-
}
|
|
201
|
-
/** A slice of one source line: `kind` is absent for plain text. */
|
|
202
|
-
interface CodeRun {
|
|
203
|
-
start: number;
|
|
204
|
-
end: number;
|
|
205
|
-
kind?: CodeTokenKind;
|
|
206
|
-
}
|
|
207
|
-
type CodeSyntaxPalette = Record<CodeTokenKind | 'plain', string>;
|
|
208
|
-
/** Source longer than this is left plain: highlighting must stay bounded. */
|
|
209
|
-
declare const CODE_HIGHLIGHT_MAX_LENGTH = 200000;
|
|
210
|
-
/** Contrast the palette keeps against the code panel. */
|
|
211
|
-
declare const CODE_SYNTAX_MIN_CONTRAST = 4.5;
|
|
212
|
-
/** The code panel colour the preview and the PPTX export both draw. */
|
|
213
|
-
declare const CODE_PANEL_BACKGROUND = "#111827";
|
|
214
|
-
declare const CODE_PANEL_FOREGROUND = "#E5E7EB";
|
|
215
|
-
/** Language ids with a scanner (the keys the aliases resolve to). */
|
|
216
|
-
declare const CODE_HIGHLIGHT_LANGUAGES: readonly string[];
|
|
217
|
-
/** The scanner id for a `code.language` value, or undefined when the language is not highlighted. */
|
|
218
|
-
declare function resolveCodeLanguage(language: unknown): string | undefined;
|
|
219
|
-
/**
|
|
220
|
-
* Token ranges of `source` for a `code.language` value, sorted and non-overlapping. Empty for
|
|
221
|
-
* an unknown language, a missing language, or source longer than CODE_HIGHLIGHT_MAX_LENGTH.
|
|
222
|
-
*/
|
|
223
|
-
declare function tokenizeCode(source: string, language?: unknown): CodeToken[];
|
|
224
|
-
/**
|
|
225
|
-
* The runs of one source line `[start, end)`: consecutive slices that cover the line exactly.
|
|
226
|
-
* A token that crosses the line boundary is clipped, so each native text line can be coloured
|
|
227
|
-
* on its own while concatenating the runs returns the line text unchanged. With `source`, a tab
|
|
228
|
-
* character is always its own plain run, as in the preview where a tab is a measured segment: a
|
|
229
|
-
* token (a multi-line string, say) never colours a tab stop.
|
|
230
|
-
*/
|
|
231
|
-
declare function codeLineRuns(tokens: readonly CodeToken[], start: number, end: number, source?: string): CodeRun[];
|
|
232
|
-
interface CodeSyntaxPaletteOptions {
|
|
233
|
-
background?: string;
|
|
234
|
-
foreground?: string;
|
|
235
|
-
minimumContrast?: number;
|
|
236
|
-
}
|
|
237
|
-
interface CodeSyntaxPaletteTheme {
|
|
238
|
-
primary?: string;
|
|
239
|
-
secondary?: string;
|
|
240
|
-
accent?: string;
|
|
241
|
-
mutedText?: string;
|
|
242
|
-
}
|
|
243
|
-
/**
|
|
244
|
-
* One colour per token kind from the deck theme: keyword = primary, string = accent,
|
|
245
|
-
* number = secondary, comment = a fixed slate; function, type and property take fixed hues
|
|
246
|
-
* (blue, cyan, pink) rotated away from any theme colour they would collide with. Every
|
|
247
|
-
* colour is lightened until it keeps `minimumContrast` (4.5:1) against the code panel, so a
|
|
248
|
-
* dark theme colour is raised rather than dropped. Deterministic for a given theme.
|
|
249
|
-
*/
|
|
250
|
-
declare function codeSyntaxPalette(theme?: CodeSyntaxPaletteTheme, options?: CodeSyntaxPaletteOptions): CodeSyntaxPalette;
|
|
251
|
-
/**
|
|
252
|
-
* The palette for a resolved colour scheme record (`primary`, `secondary`, `accent`, or the
|
|
253
|
-
* `accent1` to `accent3` slots they default to). The preview and the PPTX export both call this
|
|
254
|
-
* with the scheme they resolved, so they cannot disagree on the inputs.
|
|
255
|
-
*/
|
|
256
|
-
declare function codeSyntaxPaletteForScheme(scheme: unknown, options?: CodeSyntaxPaletteOptions): CodeSyntaxPalette;
|
|
257
|
-
|
|
258
|
-
/**
|
|
259
|
-
* Metric trend mark (RR-07): the arrow and colour that show `metric.trend` in the SVG preview
|
|
260
|
-
* and the PPTX export. Core's metric layout places the trend word (up, down, flat) as ordinary
|
|
261
|
-
* text; this derives, from that accepted line geometry, one arrow beside it so both engines draw
|
|
262
|
-
* the same shape in the same place and colour. The word stays the text alternative: the arrow
|
|
263
|
-
* adds a visual cue and an `ariaLabel`, never rewritten source text.
|
|
264
|
-
*/
|
|
265
|
-
|
|
266
|
-
type MetricTrend = 'up' | 'down' | 'flat';
|
|
267
|
-
/** The DrawingML preset geometry that draws each trend (`a:prstGeom prst`). */
|
|
268
|
-
declare const METRIC_TREND_SHAPES: Readonly<Record<MetricTrend, 'upArrow' | 'downArrow' | 'rightArrow'>>;
|
|
269
|
-
declare const METRIC_TREND_MIN_CONTRAST = 4.5;
|
|
270
|
-
interface MetricTrendColorOptions {
|
|
271
|
-
/** The slide background the metric text sits on. */
|
|
272
|
-
background: string;
|
|
273
|
-
/** Neutral colour for a flat trend (the deck's muted text). */
|
|
274
|
-
neutral?: string;
|
|
275
|
-
}
|
|
276
|
-
/** The colour of a trend, kept at >= 4.5:1 against the slide background. */
|
|
277
|
-
declare function metricTrendColor(trend: MetricTrend, options: MetricTrendColorOptions): string;
|
|
278
|
-
interface MetricTrendMark {
|
|
279
|
-
trend: MetricTrend;
|
|
280
|
-
/** DrawingML preset name for native export. */
|
|
281
|
-
shape: 'upArrow' | 'downArrow' | 'rightArrow';
|
|
282
|
-
/** Arrow bounding box in layout pixels (96 per inch). */
|
|
283
|
-
box: {
|
|
284
|
-
x: number;
|
|
285
|
-
y: number;
|
|
286
|
-
width: number;
|
|
287
|
-
height: number;
|
|
288
|
-
};
|
|
289
|
-
/** The arrow outline as polygon points in layout pixels: the preset geometry at default adjustments. */
|
|
290
|
-
points: [number, number][];
|
|
291
|
-
color: string;
|
|
292
|
-
/** Text alternative for the arrow. */
|
|
293
|
-
ariaLabel: string;
|
|
294
|
-
/** Path of the trend field the mark belongs to. */
|
|
295
|
-
path: string;
|
|
296
|
-
}
|
|
297
|
-
/** Outline of the DrawingML upArrow, downArrow or rightArrow preset (adj1 = adj2 = 50000) in `box`. */
|
|
298
|
-
declare function metricTrendPoints(shape: MetricTrendMark['shape'], box: MetricTrendMark['box']): [number, number][];
|
|
299
|
-
/**
|
|
300
|
-
* The arrow for a laid-out metric, or undefined when the metric has no (visible) trend or the
|
|
301
|
-
* arrow has no room. It is square, as tall as the trend word's capitals, on the baseline, and
|
|
302
|
-
* sits after the word for left-aligned metrics and before it for centred or right-aligned ones,
|
|
303
|
-
* so it grows away from the alignment edge. It never leaves the trend field's box.
|
|
304
|
-
*/
|
|
305
|
-
declare function metricTrendMark(layout: MetricLayout, options: MetricTrendColorOptions): MetricTrendMark | undefined;
|
|
306
|
-
|
|
307
|
-
/**
|
|
308
|
-
* DrawingML preset pattern fills (ECMA-376 20.1.10.51 ST_PresetPatternVal) as 8x8 bitmaps,
|
|
309
|
-
* shared by the SVG preview (RR-07) and the PPTX export, which writes the same names as native
|
|
310
|
-
* `a:pattFill prst="..."`.
|
|
311
|
-
*
|
|
312
|
-
* ECMA-376 names the 54 presets but does not define their pixels. These tiles are MEASURED from
|
|
313
|
-
* desktop PowerPoint (Office 365, Windows, 2026-10-01): each preset was exported as a full-slide
|
|
314
|
-
* pattern background (black on white) to a 1280 x 720 PNG and opf-render's
|
|
315
|
-
* `scripts/derive-pattern-bitmaps.mjs` voted every pixel into its (x mod 8, y mod 8) cell; every
|
|
316
|
-
* tile was uniform across all repeats (confidence 1.00) at one image pixel per pattern pixel, so a
|
|
317
|
-
* pattern pixel is one 1/96 inch unit. The tile is anchored at the slide's top-left corner (the
|
|
318
|
-
* phase of the line, grid and diagonal presets matched at no shift). Measured pixel data is
|
|
319
|
-
* committed as data; no third-party table was used. A tile is one row per line, '#' = foreground,
|
|
320
|
-
* '.' = background, top to bottom, left to right.
|
|
321
|
-
*/
|
|
322
|
-
/** ST_PresetPatternVal, in specification order. */
|
|
323
|
-
declare const PATTERN_PRESETS: readonly string[];
|
|
324
|
-
/** Engine ids that are not DrawingML names, with the preset they draw and export as. */
|
|
325
|
-
declare const PATTERN_PRESET_ALIASES: Readonly<Record<string, string>>;
|
|
326
|
-
/** The pattern size PowerPoint tiles: 8 x 8 units, one unit per 1/96 inch. */
|
|
327
|
-
declare const PATTERN_TILE_SIZE = 8;
|
|
328
|
-
/** The DrawingML preset a pattern id draws as: a preset name, an alias (diagStripe), or undefined. */
|
|
329
|
-
declare function resolvePatternPreset(preset: unknown): string | undefined;
|
|
330
|
-
/** Eight row bytes, top to bottom, most significant bit = leftmost pixel; undefined for an unknown id. */
|
|
331
|
-
declare function patternBitmap(preset: unknown): readonly number[] | undefined;
|
|
332
|
-
/** Horizontal runs of set pixels (`x`, `y`, `width` in tile units), in reading order. */
|
|
333
|
-
declare function patternRuns(preset: unknown): {
|
|
334
|
-
x: number;
|
|
335
|
-
y: number;
|
|
336
|
-
width: number;
|
|
337
|
-
}[] | undefined;
|
|
374
|
+
declare function bundle(value: unknown): BundleResult;
|
|
338
375
|
|
|
339
|
-
export { type BundleReport, type BundleResult,
|
|
376
|
+
export { type BundleReport, type BundleResult, CatalogKind, type DatasetFact, type HeaderFooterFact, type PresentationStats, type ReferenceFact, type SlideSizeFact, type SlideStats, type StatsOptions, type StatsSlideRef, type TableFact, bundle, stats };
|