@openpresentation/opf 0.11.4 → 0.12.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.
Files changed (74) hide show
  1. package/README.md +16 -0
  2. package/dist/audit.d.ts +156 -0
  3. package/dist/audit.js +7 -0
  4. package/dist/{catalogs-CUClB3nl.d.ts → catalogs-BnI7JKcn.d.ts} +3 -3
  5. package/dist/catalogs.d.ts +2 -2
  6. package/dist/catalogs.js +2 -1
  7. package/dist/{chunk-KJKASEPE.js → chunk-4LAM3N6S.js} +753 -42
  8. package/dist/chunk-6LZK2IZB.js +1690 -0
  9. package/dist/{chunk-NSVVQ52O.js → chunk-AUM5MXBR.js} +8 -6
  10. package/dist/{chunk-AEUSVEUY.js → chunk-E34DJ5LL.js} +50 -14
  11. package/dist/chunk-FYLJVF7X.js +18448 -0
  12. package/dist/{chunk-HJL64ETN.js → chunk-GJKJL4YY.js} +14 -0
  13. package/dist/{chunk-3H2U7FDR.js → chunk-HOBSL7AJ.js} +1867 -247
  14. package/dist/chunk-JKVKYVWL.js +1332 -0
  15. package/dist/{chunk-3OJN7QAW.js → chunk-MWPMJE6P.js} +18 -4
  16. package/dist/chunk-RUC7L5DJ.js +261 -0
  17. package/dist/chunk-S5W34SIJ.js +1 -0
  18. package/dist/chunk-V2537ENL.js +198 -0
  19. package/dist/{chunk-RXNFDGPC.js → chunk-WXSPETQ6.js} +311 -40
  20. package/dist/{composition-Dl-d9FRj.d.ts → composition-DWbCiMwF.d.ts} +559 -10
  21. package/dist/composition.d.ts +1 -1
  22. package/dist/composition.js +2 -1
  23. package/dist/convert.d.ts +261 -0
  24. package/dist/convert.js +1107 -0
  25. package/dist/diff.d.ts +145 -0
  26. package/dist/diff.js +604 -0
  27. package/dist/docs.js +72 -18
  28. package/dist/examples.d.ts +1 -1
  29. package/dist/examples.js +112 -112
  30. package/dist/font-policy.d.ts +15 -0
  31. package/dist/font-policy.js +1 -1
  32. package/dist/format.d.ts +20 -0
  33. package/dist/format.js +83 -0
  34. package/dist/index.d.ts +173 -24
  35. package/dist/index.js +926 -262
  36. package/dist/lint.d.ts +4 -4
  37. package/dist/lint.js +6 -5
  38. package/dist/markdown.d.ts +74 -0
  39. package/dist/markdown.js +1941 -0
  40. package/dist/pagination.d.ts +1 -1
  41. package/dist/pagination.js +6 -5
  42. package/dist/patch.d.ts +99 -0
  43. package/dist/patch.js +6 -0
  44. package/dist/{presentation-j5PVrqfV.d.ts → presentation-DcF-MZcz.d.ts} +452 -17
  45. package/dist/repo-readme.js +1 -1
  46. package/dist/{schemas-X_NniU4A.d.ts → schemas-BSjlG8-R.d.ts} +28 -0
  47. package/dist/schemas.d.ts +1 -1
  48. package/dist/schemas.js +1 -1
  49. package/dist/spec/catalogs/audiences/customers.json +5 -1
  50. package/dist/spec/catalogs/audiences/executives.json +5 -1
  51. package/dist/spec/catalogs/audiences/index.json +20 -8
  52. package/dist/spec/catalogs/audiences/investors.json +5 -1
  53. package/dist/spec/catalogs/audiences/marketing-team.json +5 -1
  54. package/dist/spec/catalogs/audiences/regulators.json +5 -1
  55. package/dist/spec/catalogs/audiences/sales-team.json +5 -1
  56. package/dist/spec/catalogs/manifest.json +2 -2
  57. package/dist/spec/reference/engine-defaults.json +1 -1
  58. package/dist/spec/reference/font-policy.json +311 -40
  59. package/dist/spec/reference/font-policy.schema.json +40 -0
  60. package/dist/spec/reference/symbol-font-encodings.json +18354 -0
  61. package/dist/spec/reference/symbol-font-encodings.schema.json +156 -0
  62. package/dist/spec/schemas/audience.schema.json +7 -7
  63. package/dist/spec/schemas/narrative.schema.json +1 -1
  64. package/dist/spec/schemas/opf.schema.json +597 -28
  65. package/dist/spec-files.d.ts +1 -1
  66. package/dist/spec-files.js +1 -1
  67. package/dist/symbol-font-encodings.d.ts +128 -0
  68. package/dist/symbol-font-encodings.js +1 -0
  69. package/dist/types.d.ts +4 -4
  70. package/dist/validator-DfG9yxba.d.ts +172 -0
  71. package/dist/validator.d.ts +4 -36
  72. package/dist/validator.js +5 -4
  73. package/package.json +32 -3
  74. package/dist/chunk-FDCWQHWO.js +0 -1366
@@ -1,5 +1,5 @@
1
1
  /** Path of a file under `spec/`, relative to the spec root. */
2
- type SpecFilePath = "README.md" | "catalogs/audiences/academic.json" | "catalogs/audiences/all-hands.json" | "catalogs/audiences/board.json" | "catalogs/audiences/candidates.json" | "catalogs/audiences/customer.json" | "catalogs/audiences/customers.json" | "catalogs/audiences/engineering-team.json" | "catalogs/audiences/executive.json" | "catalogs/audiences/executives.json" | "catalogs/audiences/general-public.json" | "catalogs/audiences/index.json" | "catalogs/audiences/internal-team.json" | "catalogs/audiences/investor.json" | "catalogs/audiences/investors.json" | "catalogs/audiences/marketing-team.json" | "catalogs/audiences/marketing.json" | "catalogs/audiences/media.json" | "catalogs/audiences/partner.json" | "catalogs/audiences/regulators.json" | "catalogs/audiences/regulatory.json" | "catalogs/audiences/sales-team.json" | "catalogs/audiences/sales.json" | "catalogs/audiences/technical.json" | "catalogs/chart-types/100pct-bullet-bar-2x.json" | "catalogs/chart-types/100pct-bullet-bar-3x.json" | "catalogs/chart-types/100pct-bullet-bar.json" | "catalogs/chart-types/100pct-bullet-column-2x.json" | "catalogs/chart-types/100pct-bullet-column-3x.json" | "catalogs/chart-types/100pct-bullet-column.json" | "catalogs/chart-types/100pct-progress-bar.json" | "catalogs/chart-types/100pct-stacked-area-2x.json" | "catalogs/chart-types/100pct-stacked-area-3x.json" | "catalogs/chart-types/100pct-stacked-bar-2x.json" | "catalogs/chart-types/100pct-stacked-bar-3x.json" | "catalogs/chart-types/100pct-stacked-column-2x.json" | "catalogs/chart-types/100pct-stacked-column-3x.json" | "catalogs/chart-types/area.json" | "catalogs/chart-types/australia.json" | "catalogs/chart-types/bar.json" | "catalogs/chart-types/box-and-whisker-2x.json" | "catalogs/chart-types/box-and-whisker-3x.json" | "catalogs/chart-types/box-and-whisker.json" | "catalogs/chart-types/bullet-bar-2x.json" | "catalogs/chart-types/bullet-bar-3x.json" | "catalogs/chart-types/bullet-bar.json" | "catalogs/chart-types/bullet-column-2x.json" | "catalogs/chart-types/bullet-column-3x.json" | "catalogs/chart-types/bullet-column.json" | "catalogs/chart-types/canada.json" | "catalogs/chart-types/clustered-bar-2x.json" | "catalogs/chart-types/clustered-column.json" | "catalogs/chart-types/column.json" | "catalogs/chart-types/dot-plot-2x.json" | "catalogs/chart-types/dot-plot-3x.json" | "catalogs/chart-types/dot-plot-4x.json" | "catalogs/chart-types/dot-plot-5x.json" | "catalogs/chart-types/dot-plot-6x.json" | "catalogs/chart-types/dot-plot.json" | "catalogs/chart-types/doughnut.json" | "catalogs/chart-types/dumbbell.json" | "catalogs/chart-types/filled-radar.json" | "catalogs/chart-types/funnel.json" | "catalogs/chart-types/histogram.json" | "catalogs/chart-types/index.json" | "catalogs/chart-types/line-2x.json" | "catalogs/chart-types/line-3x.json" | "catalogs/chart-types/line-with-high-low-and-markers.json" | "catalogs/chart-types/line-with-high-low.json" | "catalogs/chart-types/line-with-markers-2x.json" | "catalogs/chart-types/line-with-markers-3x.json" | "catalogs/chart-types/line-with-markers.json" | "catalogs/chart-types/line.json" | "catalogs/chart-types/pareto.json" | "catalogs/chart-types/pie.json" | "catalogs/chart-types/radar-with-markers.json" | "catalogs/chart-types/radar.json" | "catalogs/chart-types/scatter.json" | "catalogs/chart-types/sparkline-2x.json" | "catalogs/chart-types/sparkline-3x.json" | "catalogs/chart-types/sparkline-4x.json" | "catalogs/chart-types/sparkline-5x.json" | "catalogs/chart-types/sparkline-6x.json" | "catalogs/chart-types/sparkline.json" | "catalogs/chart-types/stacked-area-2x.json" | "catalogs/chart-types/stacked-area-3x.json" | "catalogs/chart-types/stacked-bar-2x.json" | "catalogs/chart-types/stacked-bar-3x.json" | "catalogs/chart-types/stacked-column-2x.json" | "catalogs/chart-types/stacked-column-3x.json" | "catalogs/chart-types/stacked-line-2x.json" | "catalogs/chart-types/stacked-line-3x.json" | "catalogs/chart-types/stacked-line-with-markers-2x.json" | "catalogs/chart-types/stacked-line-with-markers-3x.json" | "catalogs/chart-types/treemap-2x.json" | "catalogs/chart-types/treemap-3x.json" | "catalogs/chart-types/treemap.json" | "catalogs/chart-types/united-kingdom.json" | "catalogs/chart-types/united-states.json" | "catalogs/chart-types/waterfall.json" | "catalogs/chart-types/world.json" | "catalogs/color-schemes/black-and-white.json" | "catalogs/color-schemes/bold-red.json" | "catalogs/color-schemes/boost.json" | "catalogs/color-schemes/burnt-orange.json" | "catalogs/color-schemes/cool-horizon.json" | "catalogs/color-schemes/corporate-blue.json" | "catalogs/color-schemes/deep-purple.json" | "catalogs/color-schemes/forest-green.json" | "catalogs/color-schemes/golden-yellow.json" | "catalogs/color-schemes/index.json" | "catalogs/color-schemes/luxury.json" | "catalogs/color-schemes/pastel-red.json" | "catalogs/color-schemes/slate-gray.json" | "catalogs/color-schemes/steel-blue.json" | "catalogs/color-schemes/vibes.json" | "catalogs/font-schemes/angsana-new.json" | "catalogs/font-schemes/aparajita.json" | "catalogs/font-schemes/aptos.json" | "catalogs/font-schemes/arabic-typesetting.json" | "catalogs/font-schemes/arial.json" | "catalogs/font-schemes/batang.json" | "catalogs/font-schemes/bookman.json" | "catalogs/font-schemes/calibri.json" | "catalogs/font-schemes/century-schoolbook.json" | "catalogs/font-schemes/consolas.json" | "catalogs/font-schemes/constantia.json" | "catalogs/font-schemes/courier-new.json" | "catalogs/font-schemes/daunpenh.json" | "catalogs/font-schemes/david.json" | "catalogs/font-schemes/dilleniaupc.json" | "catalogs/font-schemes/fangsong.json" | "catalogs/font-schemes/garamond.json" | "catalogs/font-schemes/gautami.json" | "catalogs/font-schemes/georgia.json" | "catalogs/font-schemes/gisha.json" | "catalogs/font-schemes/grandview.json" | "catalogs/font-schemes/gungsuh.json" | "catalogs/font-schemes/impact.json" | "catalogs/font-schemes/index.json" | "catalogs/font-schemes/kalinga.json" | "catalogs/font-schemes/kartika.json" | "catalogs/font-schemes/khmer-ui.json" | "catalogs/font-schemes/latha.json" | "catalogs/font-schemes/lucida-sans.json" | "catalogs/font-schemes/malgun-gothic.json" | "catalogs/font-schemes/mangal.json" | "catalogs/font-schemes/meiryo.json" | "catalogs/font-schemes/microsoft-jhenghei.json" | "catalogs/font-schemes/microsoft-yahei.json" | "catalogs/font-schemes/mingliu.json" | "catalogs/font-schemes/miriam.json" | "catalogs/font-schemes/montserrat.json" | "catalogs/font-schemes/ms-mincho.json" | "catalogs/font-schemes/nirmala-ui.json" | "catalogs/font-schemes/noto-naksh-arabic.json" | "catalogs/font-schemes/noto-nastaliq-urdu.json" | "catalogs/font-schemes/noto-sans-arabic.json" | "catalogs/font-schemes/noto-sans-armenian.json" | "catalogs/font-schemes/noto-sans-bengali.json" | "catalogs/font-schemes/noto-sans-devangari.json" | "catalogs/font-schemes/noto-sans-ethiopic.json" | "catalogs/font-schemes/noto-sans-georgian.json" | "catalogs/font-schemes/noto-sans-gujarati.json" | "catalogs/font-schemes/noto-sans-gurmukhi.json" | "catalogs/font-schemes/noto-sans-hebrew.json" | "catalogs/font-schemes/noto-sans-jp.json" | "catalogs/font-schemes/noto-sans-kannada.json" | "catalogs/font-schemes/noto-sans-khmer.json" | "catalogs/font-schemes/noto-sans-kr.json" | "catalogs/font-schemes/noto-sans-malayalam.json" | "catalogs/font-schemes/noto-sans-mongolian.json" | "catalogs/font-schemes/noto-sans-oriya.json" | "catalogs/font-schemes/noto-sans-sc.json" | "catalogs/font-schemes/noto-sans-tamil.json" | "catalogs/font-schemes/noto-sans-tc.json" | "catalogs/font-schemes/noto-sans-telugu.json" | "catalogs/font-schemes/noto-sans-thai.json" | "catalogs/font-schemes/noto-sans.json" | "catalogs/font-schemes/nyala.json" | "catalogs/font-schemes/open-sans.json" | "catalogs/font-schemes/pmingliu.json" | "catalogs/font-schemes/poppins.json" | "catalogs/font-schemes/pt-serif.json" | "catalogs/font-schemes/raavi.json" | "catalogs/font-schemes/raleway.json" | "catalogs/font-schemes/roboto.json" | "catalogs/font-schemes/rockwell.json" | "catalogs/font-schemes/sakkal-majalla.json" | "catalogs/font-schemes/seaford.json" | "catalogs/font-schemes/segoe-ui-light.json" | "catalogs/font-schemes/segoe-ui.json" | "catalogs/font-schemes/shonar-bangla.json" | "catalogs/font-schemes/shruti.json" | "catalogs/font-schemes/simsun.json" | "catalogs/font-schemes/skeena.json" | "catalogs/font-schemes/sylfaen.json" | "catalogs/font-schemes/tahoma.json" | "catalogs/font-schemes/tenorite.json" | "catalogs/font-schemes/times-new-roman.json" | "catalogs/font-schemes/traditional-arabic.json" | "catalogs/font-schemes/trebuchet-ms.json" | "catalogs/font-schemes/tunga.json" | "catalogs/font-schemes/verdana.json" | "catalogs/font-schemes/vrinda.json" | "catalogs/font-schemes/yu-gothic.json" | "catalogs/languages/afrikaans.json" | "catalogs/languages/albanian.json" | "catalogs/languages/amharic.json" | "catalogs/languages/arabic.json" | "catalogs/languages/armenian.json" | "catalogs/languages/aymara.json" | "catalogs/languages/azerbaijani.json" | "catalogs/languages/bengali.json" | "catalogs/languages/berber-latin.json" | "catalogs/languages/bosnian-latin.json" | "catalogs/languages/bulgarian.json" | "catalogs/languages/catalan.json" | "catalogs/languages/cebuano.json" | "catalogs/languages/chinese-simplified.json" | "catalogs/languages/chinese-traditional.json" | "catalogs/languages/chittagonian.json" | "catalogs/languages/croatian.json" | "catalogs/languages/czech.json" | "catalogs/languages/danish.json" | "catalogs/languages/dutch.json" | "catalogs/languages/english-au.json" | "catalogs/languages/english-ca.json" | "catalogs/languages/english-gb.json" | "catalogs/languages/english-in.json" | "catalogs/languages/english-us.json" | "catalogs/languages/english.json" | "catalogs/languages/estonian.json" | "catalogs/languages/filipino.json" | "catalogs/languages/finnish.json" | "catalogs/languages/french.json" | "catalogs/languages/fulfulde.json" | "catalogs/languages/galician.json" | "catalogs/languages/georgian.json" | "catalogs/languages/german.json" | "catalogs/languages/greek.json" | "catalogs/languages/gujarati.json" | "catalogs/languages/hausa.json" | "catalogs/languages/hebrew.json" | "catalogs/languages/hindi.json" | "catalogs/languages/hungarian.json" | "catalogs/languages/igbo.json" | "catalogs/languages/index.json" | "catalogs/languages/indonesian.json" | "catalogs/languages/italian.json" | "catalogs/languages/japanese.json" | "catalogs/languages/kannada.json" | "catalogs/languages/kazakh.json" | "catalogs/languages/khmer.json" | "catalogs/languages/kinyarwanda.json" | "catalogs/languages/korean.json" | "catalogs/languages/kurmanji.json" | "catalogs/languages/latvian.json" | "catalogs/languages/lithuanian.json" | "catalogs/languages/macedonian.json" | "catalogs/languages/malagasy.json" | "catalogs/languages/malay.json" | "catalogs/languages/malayalam.json" | "catalogs/languages/maori.json" | "catalogs/languages/marathi.json" | "catalogs/languages/mongolian.json" | "catalogs/languages/nepali.json" | "catalogs/languages/norwegian.json" | "catalogs/languages/odia.json" | "catalogs/languages/oromo.json" | "catalogs/languages/pashto.json" | "catalogs/languages/persian.json" | "catalogs/languages/polish.json" | "catalogs/languages/portuguese.json" | "catalogs/languages/punjabi-gurmukhi.json" | "catalogs/languages/punjabi-shahmukhi.json" | "catalogs/languages/romanian.json" | "catalogs/languages/russian.json" | "catalogs/languages/serbian-cyrillic.json" | "catalogs/languages/serbian-latin.json" | "catalogs/languages/shona.json" | "catalogs/languages/slovak.json" | "catalogs/languages/slovenian.json" | "catalogs/languages/somali.json" | "catalogs/languages/spanish.json" | "catalogs/languages/swahili.json" | "catalogs/languages/swedish.json" | "catalogs/languages/tagalog.json" | "catalogs/languages/tajik.json" | "catalogs/languages/tamil.json" | "catalogs/languages/telugu.json" | "catalogs/languages/thai.json" | "catalogs/languages/turkish.json" | "catalogs/languages/ukrainian.json" | "catalogs/languages/urdu.json" | "catalogs/languages/uzbek-latin.json" | "catalogs/languages/vietnamese-quoc-ngu.json" | "catalogs/languages/xhosa.json" | "catalogs/languages/yoruba.json" | "catalogs/languages/zulu.json" | "catalogs/layouts/action-plan.json" | "catalogs/layouts/agenda.json" | "catalogs/layouts/appendix-index.json" | "catalogs/layouts/architecture-stack.json" | "catalogs/layouts/assumptions-dependencies.json" | "catalogs/layouts/before-after.json" | "catalogs/layouts/benchmark-target-table.json" | "catalogs/layouts/blank.json" | "catalogs/layouts/bullet-list.json" | "catalogs/layouts/business-model-canvas.json" | "catalogs/layouts/capability-map.json" | "catalogs/layouts/case-study.json" | "catalogs/layouts/chapter-recap.json" | "catalogs/layouts/chart-1x.json" | "catalogs/layouts/chart-2x.json" | "catalogs/layouts/chart-3x.json" | "catalogs/layouts/circular-lifecycle.json" | "catalogs/layouts/code-1x.json" | "catalogs/layouts/comparison.json" | "catalogs/layouts/competitive-landscape.json" | "catalogs/layouts/customer-journey.json" | "catalogs/layouts/customer-logos.json" | "catalogs/layouts/dashboard.json" | "catalogs/layouts/data-visualization.json" | "catalogs/layouts/decision-tree.json" | "catalogs/layouts/detailed-data-table.json" | "catalogs/layouts/ecosystem-map.json" | "catalogs/layouts/executive-decision.json" | "catalogs/layouts/executive-summary.json" | "catalogs/layouts/extract/canonical.json" | "catalogs/layouts/faq.json" | "catalogs/layouts/feature-comparison-matrix.json" | "catalogs/layouts/forecast-scenario.json" | "catalogs/layouts/funnel-pyramid.json" | "catalogs/layouts/gantt-project-plan.json" | "catalogs/layouts/geographic-map.json" | "catalogs/layouts/heatmap-cohort.json" | "catalogs/layouts/hub-and-spoke.json" | "catalogs/layouts/icon-grid.json" | "catalogs/layouts/image-1x.json" | "catalogs/layouts/image-2x.json" | "catalogs/layouts/image-3x.json" | "catalogs/layouts/image-bleed.json" | "catalogs/layouts/image-focus.json" | "catalogs/layouts/index.json" | "catalogs/layouts/key-takeaway.json" | "catalogs/layouts/kpi-scorecard.json" | "catalogs/layouts/list-1x.json" | "catalogs/layouts/list-2x.json" | "catalogs/layouts/list-3x.json" | "catalogs/layouts/list-4x.json" | "catalogs/layouts/list-5x.json" | "catalogs/layouts/list-6x.json" | "catalogs/layouts/logic-tree.json" | "catalogs/layouts/market-size.json" | "catalogs/layouts/matrix-quadrant.json" | "catalogs/layouts/media-1x.json" | "catalogs/layouts/network-dependency-map.json" | "catalogs/layouts/number-1x.json" | "catalogs/layouts/number-2x.json" | "catalogs/layouts/number-3x.json" | "catalogs/layouts/number-4x.json" | "catalogs/layouts/number-5x.json" | "catalogs/layouts/number-6x.json" | "catalogs/layouts/one-column-explainer.json" | "catalogs/layouts/org-chart.json" | "catalogs/layouts/persona-grid.json" | "catalogs/layouts/photo-grid.json" | "catalogs/layouts/pricing-table.json" | "catalogs/layouts/process-flow.json" | "catalogs/layouts/product-feature.json" | "catalogs/layouts/pros-cons.json" | "catalogs/layouts/qa-discussion.json" | "catalogs/layouts/quote-1x.json" | "catalogs/layouts/quote-highlight.json" | "catalogs/layouts/raci-matrix.json" | "catalogs/layouts/risk-heatmap.json" | "catalogs/layouts/roadmap.json" | "catalogs/layouts/screenshot-walkthrough.json" | "catalogs/layouts/section-divider.json" | "catalogs/layouts/single-message-statement.json" | "catalogs/layouts/stats-metrics.json" | "catalogs/layouts/status-rag.json" | "catalogs/layouts/swimlane-process.json" | "catalogs/layouts/swot-analysis.json" | "catalogs/layouts/table-1x.json" | "catalogs/layouts/team-bio.json" | "catalogs/layouts/testimonial-grid.json" | "catalogs/layouts/text-1x.json" | "catalogs/layouts/text-2x.json" | "catalogs/layouts/text-3x.json" | "catalogs/layouts/thank-you-cta.json" | "catalogs/layouts/three-column.json" | "catalogs/layouts/timeline-1x.json" | "catalogs/layouts/timeline.json" | "catalogs/layouts/title-slide.json" | "catalogs/layouts/title-subtitle.json" | "catalogs/layouts/title.json" | "catalogs/layouts/two-column.json" | "catalogs/layouts/venn-overlap.json" | "catalogs/layouts/waterfall-bridge.json" | "catalogs/layouts/wheel-radial.json" | "catalogs/manifest.json" | "catalogs/narratives/board-meeting.json" | "catalogs/narratives/business-narrative.json" | "catalogs/narratives/business-review.json" | "catalogs/narratives/capacity-planning.json" | "catalogs/narratives/challenge-resolution.json" | "catalogs/narratives/change-story.json" | "catalogs/narratives/classic-story.json" | "catalogs/narratives/company-intro.json" | "catalogs/narratives/conference-talk.json" | "catalogs/narratives/data-story.json" | "catalogs/narratives/early-startup-pitch.json" | "catalogs/narratives/educate.json" | "catalogs/narratives/employee-review.json" | "catalogs/narratives/failure-analysis.json" | "catalogs/narratives/focus.json" | "catalogs/narratives/golden-circle.json" | "catalogs/narratives/heros-journey.json" | "catalogs/narratives/index.json" | "catalogs/narratives/innovation.json" | "catalogs/narratives/justice.json" | "catalogs/narratives/marketing-strategy.json" | "catalogs/narratives/performance-improvement-plan.json" | "catalogs/narratives/performance-review.json" | "catalogs/narratives/persuade.json" | "catalogs/narratives/persuasive-sales.json" | "catalogs/narratives/pitch-deck.json" | "catalogs/narratives/problem-solution.json" | "catalogs/narratives/product-launch.json" | "catalogs/narratives/project-proposal.json" | "catalogs/narratives/pyramid-principle.json" | "catalogs/narratives/qbr.json" | "catalogs/narratives/rags-to-riches.json" | "catalogs/narratives/reveal.json" | "catalogs/narratives/scqa.json" | "catalogs/narratives/situation-complication-resolution.json" | "catalogs/narratives/sparkline.json" | "catalogs/narratives/star-method.json" | "catalogs/narratives/status-update.json" | "catalogs/narratives/strategic-advisory.json" | "catalogs/narratives/strategic-narrative.json" | "catalogs/narratives/survey-analysis.json" | "catalogs/narratives/survival-story.json" | "catalogs/narratives/transformation-arc.json" | "catalogs/narratives/trend-analysis.json" | "catalogs/narratives/underdog-victory.json" | "catalogs/narratives/venture-pitch.json" | "catalogs/narratives/vision-roadmap.json" | "catalogs/narratives/weekly-progress.json" | "catalogs/narratives/what-so-what-now-what.json" | "catalogs/purposes/align.json" | "catalogs/purposes/decide.json" | "catalogs/purposes/educate.json" | "catalogs/purposes/index.json" | "catalogs/purposes/inform.json" | "catalogs/purposes/persuade.json" | "catalogs/purposes/pitch.json" | "catalogs/purposes/plan.json" | "catalogs/purposes/report.json" | "catalogs/purposes/sell.json" | "catalogs/social-platforms/bluesky.json" | "catalogs/social-platforms/facebook.json" | "catalogs/social-platforms/github.json" | "catalogs/social-platforms/index.json" | "catalogs/social-platforms/instagram.json" | "catalogs/social-platforms/linkedin.json" | "catalogs/social-platforms/mastodon.json" | "catalogs/social-platforms/threads.json" | "catalogs/social-platforms/tiktok.json" | "catalogs/social-platforms/x.json" | "catalogs/social-platforms/youtube.json" | "catalogs/themes/bold.json" | "catalogs/themes/classic.json" | "catalogs/themes/dark.json" | "catalogs/themes/index.json" | "catalogs/themes/minimal.json" | "catalogs/tones/authoritative.json" | "catalogs/tones/casual.json" | "catalogs/tones/conversational.json" | "catalogs/tones/formal.json" | "catalogs/tones/index.json" | "catalogs/tones/inspirational.json" | "catalogs/tones/persuasive.json" | "catalogs/tones/technical.json" | "openapi.yaml" | "previews/layouts/action-plan.html" | "previews/layouts/agenda.html" | "previews/layouts/appendix-index.html" | "previews/layouts/architecture-stack.html" | "previews/layouts/assumptions-dependencies.html" | "previews/layouts/before-after.html" | "previews/layouts/benchmark-target-table.html" | "previews/layouts/bullet-list.html" | "previews/layouts/business-model-canvas.html" | "previews/layouts/capability-map.html" | "previews/layouts/case-study.html" | "previews/layouts/chapter-recap.html" | "previews/layouts/circular-lifecycle.html" | "previews/layouts/comparison.html" | "previews/layouts/competitive-landscape.html" | "previews/layouts/customer-journey.html" | "previews/layouts/customer-logos.html" | "previews/layouts/dashboard.html" | "previews/layouts/data-visualization.html" | "previews/layouts/decision-tree.html" | "previews/layouts/detailed-data-table.html" | "previews/layouts/ecosystem-map.html" | "previews/layouts/executive-decision.html" | "previews/layouts/executive-summary.html" | "previews/layouts/faq.html" | "previews/layouts/feature-comparison-matrix.html" | "previews/layouts/forecast-scenario.html" | "previews/layouts/funnel-pyramid.html" | "previews/layouts/gantt-project-plan.html" | "previews/layouts/geographic-map.html" | "previews/layouts/heatmap-cohort.html" | "previews/layouts/hub-and-spoke.html" | "previews/layouts/icon-grid.html" | "previews/layouts/image-focus.html" | "previews/layouts/index.json" | "previews/layouts/key-takeaway.html" | "previews/layouts/kpi-scorecard.html" | "previews/layouts/logic-tree.html" | "previews/layouts/market-size.html" | "previews/layouts/matrix-quadrant.html" | "previews/layouts/network-dependency-map.html" | "previews/layouts/one-column-explainer.html" | "previews/layouts/org-chart.html" | "previews/layouts/persona-grid.html" | "previews/layouts/photo-grid.html" | "previews/layouts/pricing-table.html" | "previews/layouts/process-flow.html" | "previews/layouts/product-feature.html" | "previews/layouts/pros-cons.html" | "previews/layouts/qa-discussion.html" | "previews/layouts/quote-highlight.html" | "previews/layouts/raci-matrix.html" | "previews/layouts/risk-heatmap.html" | "previews/layouts/roadmap.html" | "previews/layouts/screenshot-walkthrough.html" | "previews/layouts/section-divider.html" | "previews/layouts/single-message-statement.html" | "previews/layouts/stats-metrics.html" | "previews/layouts/status-rag.html" | "previews/layouts/swimlane-process.html" | "previews/layouts/swot-analysis.html" | "previews/layouts/team-bio.html" | "previews/layouts/testimonial-grid.html" | "previews/layouts/thank-you-cta.html" | "previews/layouts/three-column.html" | "previews/layouts/timeline.html" | "previews/layouts/title-slide.html" | "previews/layouts/two-column.html" | "previews/layouts/venn-overlap.html" | "previews/layouts/waterfall-bridge.html" | "previews/layouts/wheel-radial.html" | "reference/engine-defaults.json" | "reference/font-policy.json" | "reference/font-policy.schema.json" | "schemas/audience.schema.json" | "schemas/catalog-index.schema.json" | "schemas/catalog-manifest.schema.json" | "schemas/chart-type.schema.json" | "schemas/color-scheme.schema.json" | "schemas/font-scheme.schema.json" | "schemas/language.schema.json" | "schemas/layout-preview-index.schema.json" | "schemas/layout.schema.json" | "schemas/narrative.schema.json" | "schemas/opf.schema.json" | "schemas/purpose.schema.json" | "schemas/social-platform.schema.json" | "schemas/theme.schema.json" | "schemas/tone.schema.json";
2
+ type SpecFilePath = "README.md" | "catalogs/audiences/academic.json" | "catalogs/audiences/all-hands.json" | "catalogs/audiences/board.json" | "catalogs/audiences/candidates.json" | "catalogs/audiences/customer.json" | "catalogs/audiences/customers.json" | "catalogs/audiences/engineering-team.json" | "catalogs/audiences/executive.json" | "catalogs/audiences/executives.json" | "catalogs/audiences/general-public.json" | "catalogs/audiences/index.json" | "catalogs/audiences/internal-team.json" | "catalogs/audiences/investor.json" | "catalogs/audiences/investors.json" | "catalogs/audiences/marketing-team.json" | "catalogs/audiences/marketing.json" | "catalogs/audiences/media.json" | "catalogs/audiences/partner.json" | "catalogs/audiences/regulators.json" | "catalogs/audiences/regulatory.json" | "catalogs/audiences/sales-team.json" | "catalogs/audiences/sales.json" | "catalogs/audiences/technical.json" | "catalogs/chart-types/100pct-bullet-bar-2x.json" | "catalogs/chart-types/100pct-bullet-bar-3x.json" | "catalogs/chart-types/100pct-bullet-bar.json" | "catalogs/chart-types/100pct-bullet-column-2x.json" | "catalogs/chart-types/100pct-bullet-column-3x.json" | "catalogs/chart-types/100pct-bullet-column.json" | "catalogs/chart-types/100pct-progress-bar.json" | "catalogs/chart-types/100pct-stacked-area-2x.json" | "catalogs/chart-types/100pct-stacked-area-3x.json" | "catalogs/chart-types/100pct-stacked-bar-2x.json" | "catalogs/chart-types/100pct-stacked-bar-3x.json" | "catalogs/chart-types/100pct-stacked-column-2x.json" | "catalogs/chart-types/100pct-stacked-column-3x.json" | "catalogs/chart-types/area.json" | "catalogs/chart-types/australia.json" | "catalogs/chart-types/bar.json" | "catalogs/chart-types/box-and-whisker-2x.json" | "catalogs/chart-types/box-and-whisker-3x.json" | "catalogs/chart-types/box-and-whisker.json" | "catalogs/chart-types/bullet-bar-2x.json" | "catalogs/chart-types/bullet-bar-3x.json" | "catalogs/chart-types/bullet-bar.json" | "catalogs/chart-types/bullet-column-2x.json" | "catalogs/chart-types/bullet-column-3x.json" | "catalogs/chart-types/bullet-column.json" | "catalogs/chart-types/canada.json" | "catalogs/chart-types/clustered-bar-2x.json" | "catalogs/chart-types/clustered-column.json" | "catalogs/chart-types/column.json" | "catalogs/chart-types/dot-plot-2x.json" | "catalogs/chart-types/dot-plot-3x.json" | "catalogs/chart-types/dot-plot-4x.json" | "catalogs/chart-types/dot-plot-5x.json" | "catalogs/chart-types/dot-plot-6x.json" | "catalogs/chart-types/dot-plot.json" | "catalogs/chart-types/doughnut.json" | "catalogs/chart-types/dumbbell.json" | "catalogs/chart-types/filled-radar.json" | "catalogs/chart-types/funnel.json" | "catalogs/chart-types/histogram.json" | "catalogs/chart-types/index.json" | "catalogs/chart-types/line-2x.json" | "catalogs/chart-types/line-3x.json" | "catalogs/chart-types/line-with-high-low-and-markers.json" | "catalogs/chart-types/line-with-high-low.json" | "catalogs/chart-types/line-with-markers-2x.json" | "catalogs/chart-types/line-with-markers-3x.json" | "catalogs/chart-types/line-with-markers.json" | "catalogs/chart-types/line.json" | "catalogs/chart-types/pareto.json" | "catalogs/chart-types/pie.json" | "catalogs/chart-types/radar-with-markers.json" | "catalogs/chart-types/radar.json" | "catalogs/chart-types/scatter.json" | "catalogs/chart-types/sparkline-2x.json" | "catalogs/chart-types/sparkline-3x.json" | "catalogs/chart-types/sparkline-4x.json" | "catalogs/chart-types/sparkline-5x.json" | "catalogs/chart-types/sparkline-6x.json" | "catalogs/chart-types/sparkline.json" | "catalogs/chart-types/stacked-area-2x.json" | "catalogs/chart-types/stacked-area-3x.json" | "catalogs/chart-types/stacked-bar-2x.json" | "catalogs/chart-types/stacked-bar-3x.json" | "catalogs/chart-types/stacked-column-2x.json" | "catalogs/chart-types/stacked-column-3x.json" | "catalogs/chart-types/stacked-line-2x.json" | "catalogs/chart-types/stacked-line-3x.json" | "catalogs/chart-types/stacked-line-with-markers-2x.json" | "catalogs/chart-types/stacked-line-with-markers-3x.json" | "catalogs/chart-types/treemap-2x.json" | "catalogs/chart-types/treemap-3x.json" | "catalogs/chart-types/treemap.json" | "catalogs/chart-types/united-kingdom.json" | "catalogs/chart-types/united-states.json" | "catalogs/chart-types/waterfall.json" | "catalogs/chart-types/world.json" | "catalogs/color-schemes/black-and-white.json" | "catalogs/color-schemes/bold-red.json" | "catalogs/color-schemes/boost.json" | "catalogs/color-schemes/burnt-orange.json" | "catalogs/color-schemes/cool-horizon.json" | "catalogs/color-schemes/corporate-blue.json" | "catalogs/color-schemes/deep-purple.json" | "catalogs/color-schemes/forest-green.json" | "catalogs/color-schemes/golden-yellow.json" | "catalogs/color-schemes/index.json" | "catalogs/color-schemes/luxury.json" | "catalogs/color-schemes/pastel-red.json" | "catalogs/color-schemes/slate-gray.json" | "catalogs/color-schemes/steel-blue.json" | "catalogs/color-schemes/vibes.json" | "catalogs/font-schemes/angsana-new.json" | "catalogs/font-schemes/aparajita.json" | "catalogs/font-schemes/aptos.json" | "catalogs/font-schemes/arabic-typesetting.json" | "catalogs/font-schemes/arial.json" | "catalogs/font-schemes/batang.json" | "catalogs/font-schemes/bookman.json" | "catalogs/font-schemes/calibri.json" | "catalogs/font-schemes/century-schoolbook.json" | "catalogs/font-schemes/consolas.json" | "catalogs/font-schemes/constantia.json" | "catalogs/font-schemes/courier-new.json" | "catalogs/font-schemes/daunpenh.json" | "catalogs/font-schemes/david.json" | "catalogs/font-schemes/dilleniaupc.json" | "catalogs/font-schemes/fangsong.json" | "catalogs/font-schemes/garamond.json" | "catalogs/font-schemes/gautami.json" | "catalogs/font-schemes/georgia.json" | "catalogs/font-schemes/gisha.json" | "catalogs/font-schemes/grandview.json" | "catalogs/font-schemes/gungsuh.json" | "catalogs/font-schemes/impact.json" | "catalogs/font-schemes/index.json" | "catalogs/font-schemes/kalinga.json" | "catalogs/font-schemes/kartika.json" | "catalogs/font-schemes/khmer-ui.json" | "catalogs/font-schemes/latha.json" | "catalogs/font-schemes/lucida-sans.json" | "catalogs/font-schemes/malgun-gothic.json" | "catalogs/font-schemes/mangal.json" | "catalogs/font-schemes/meiryo.json" | "catalogs/font-schemes/microsoft-jhenghei.json" | "catalogs/font-schemes/microsoft-yahei.json" | "catalogs/font-schemes/mingliu.json" | "catalogs/font-schemes/miriam.json" | "catalogs/font-schemes/montserrat.json" | "catalogs/font-schemes/ms-mincho.json" | "catalogs/font-schemes/nirmala-ui.json" | "catalogs/font-schemes/noto-naksh-arabic.json" | "catalogs/font-schemes/noto-nastaliq-urdu.json" | "catalogs/font-schemes/noto-sans-arabic.json" | "catalogs/font-schemes/noto-sans-armenian.json" | "catalogs/font-schemes/noto-sans-bengali.json" | "catalogs/font-schemes/noto-sans-devangari.json" | "catalogs/font-schemes/noto-sans-ethiopic.json" | "catalogs/font-schemes/noto-sans-georgian.json" | "catalogs/font-schemes/noto-sans-gujarati.json" | "catalogs/font-schemes/noto-sans-gurmukhi.json" | "catalogs/font-schemes/noto-sans-hebrew.json" | "catalogs/font-schemes/noto-sans-jp.json" | "catalogs/font-schemes/noto-sans-kannada.json" | "catalogs/font-schemes/noto-sans-khmer.json" | "catalogs/font-schemes/noto-sans-kr.json" | "catalogs/font-schemes/noto-sans-malayalam.json" | "catalogs/font-schemes/noto-sans-mongolian.json" | "catalogs/font-schemes/noto-sans-oriya.json" | "catalogs/font-schemes/noto-sans-sc.json" | "catalogs/font-schemes/noto-sans-tamil.json" | "catalogs/font-schemes/noto-sans-tc.json" | "catalogs/font-schemes/noto-sans-telugu.json" | "catalogs/font-schemes/noto-sans-thai.json" | "catalogs/font-schemes/noto-sans.json" | "catalogs/font-schemes/nyala.json" | "catalogs/font-schemes/open-sans.json" | "catalogs/font-schemes/pmingliu.json" | "catalogs/font-schemes/poppins.json" | "catalogs/font-schemes/pt-serif.json" | "catalogs/font-schemes/raavi.json" | "catalogs/font-schemes/raleway.json" | "catalogs/font-schemes/roboto.json" | "catalogs/font-schemes/rockwell.json" | "catalogs/font-schemes/sakkal-majalla.json" | "catalogs/font-schemes/seaford.json" | "catalogs/font-schemes/segoe-ui-light.json" | "catalogs/font-schemes/segoe-ui.json" | "catalogs/font-schemes/shonar-bangla.json" | "catalogs/font-schemes/shruti.json" | "catalogs/font-schemes/simsun.json" | "catalogs/font-schemes/skeena.json" | "catalogs/font-schemes/sylfaen.json" | "catalogs/font-schemes/tahoma.json" | "catalogs/font-schemes/tenorite.json" | "catalogs/font-schemes/times-new-roman.json" | "catalogs/font-schemes/traditional-arabic.json" | "catalogs/font-schemes/trebuchet-ms.json" | "catalogs/font-schemes/tunga.json" | "catalogs/font-schemes/verdana.json" | "catalogs/font-schemes/vrinda.json" | "catalogs/font-schemes/yu-gothic.json" | "catalogs/languages/afrikaans.json" | "catalogs/languages/albanian.json" | "catalogs/languages/amharic.json" | "catalogs/languages/arabic.json" | "catalogs/languages/armenian.json" | "catalogs/languages/aymara.json" | "catalogs/languages/azerbaijani.json" | "catalogs/languages/bengali.json" | "catalogs/languages/berber-latin.json" | "catalogs/languages/bosnian-latin.json" | "catalogs/languages/bulgarian.json" | "catalogs/languages/catalan.json" | "catalogs/languages/cebuano.json" | "catalogs/languages/chinese-simplified.json" | "catalogs/languages/chinese-traditional.json" | "catalogs/languages/chittagonian.json" | "catalogs/languages/croatian.json" | "catalogs/languages/czech.json" | "catalogs/languages/danish.json" | "catalogs/languages/dutch.json" | "catalogs/languages/english-au.json" | "catalogs/languages/english-ca.json" | "catalogs/languages/english-gb.json" | "catalogs/languages/english-in.json" | "catalogs/languages/english-us.json" | "catalogs/languages/english.json" | "catalogs/languages/estonian.json" | "catalogs/languages/filipino.json" | "catalogs/languages/finnish.json" | "catalogs/languages/french.json" | "catalogs/languages/fulfulde.json" | "catalogs/languages/galician.json" | "catalogs/languages/georgian.json" | "catalogs/languages/german.json" | "catalogs/languages/greek.json" | "catalogs/languages/gujarati.json" | "catalogs/languages/hausa.json" | "catalogs/languages/hebrew.json" | "catalogs/languages/hindi.json" | "catalogs/languages/hungarian.json" | "catalogs/languages/igbo.json" | "catalogs/languages/index.json" | "catalogs/languages/indonesian.json" | "catalogs/languages/italian.json" | "catalogs/languages/japanese.json" | "catalogs/languages/kannada.json" | "catalogs/languages/kazakh.json" | "catalogs/languages/khmer.json" | "catalogs/languages/kinyarwanda.json" | "catalogs/languages/korean.json" | "catalogs/languages/kurmanji.json" | "catalogs/languages/latvian.json" | "catalogs/languages/lithuanian.json" | "catalogs/languages/macedonian.json" | "catalogs/languages/malagasy.json" | "catalogs/languages/malay.json" | "catalogs/languages/malayalam.json" | "catalogs/languages/maori.json" | "catalogs/languages/marathi.json" | "catalogs/languages/mongolian.json" | "catalogs/languages/nepali.json" | "catalogs/languages/norwegian.json" | "catalogs/languages/odia.json" | "catalogs/languages/oromo.json" | "catalogs/languages/pashto.json" | "catalogs/languages/persian.json" | "catalogs/languages/polish.json" | "catalogs/languages/portuguese.json" | "catalogs/languages/punjabi-gurmukhi.json" | "catalogs/languages/punjabi-shahmukhi.json" | "catalogs/languages/romanian.json" | "catalogs/languages/russian.json" | "catalogs/languages/serbian-cyrillic.json" | "catalogs/languages/serbian-latin.json" | "catalogs/languages/shona.json" | "catalogs/languages/slovak.json" | "catalogs/languages/slovenian.json" | "catalogs/languages/somali.json" | "catalogs/languages/spanish.json" | "catalogs/languages/swahili.json" | "catalogs/languages/swedish.json" | "catalogs/languages/tagalog.json" | "catalogs/languages/tajik.json" | "catalogs/languages/tamil.json" | "catalogs/languages/telugu.json" | "catalogs/languages/thai.json" | "catalogs/languages/turkish.json" | "catalogs/languages/ukrainian.json" | "catalogs/languages/urdu.json" | "catalogs/languages/uzbek-latin.json" | "catalogs/languages/vietnamese-quoc-ngu.json" | "catalogs/languages/xhosa.json" | "catalogs/languages/yoruba.json" | "catalogs/languages/zulu.json" | "catalogs/layouts/action-plan.json" | "catalogs/layouts/agenda.json" | "catalogs/layouts/appendix-index.json" | "catalogs/layouts/architecture-stack.json" | "catalogs/layouts/assumptions-dependencies.json" | "catalogs/layouts/before-after.json" | "catalogs/layouts/benchmark-target-table.json" | "catalogs/layouts/blank.json" | "catalogs/layouts/bullet-list.json" | "catalogs/layouts/business-model-canvas.json" | "catalogs/layouts/capability-map.json" | "catalogs/layouts/case-study.json" | "catalogs/layouts/chapter-recap.json" | "catalogs/layouts/chart-1x.json" | "catalogs/layouts/chart-2x.json" | "catalogs/layouts/chart-3x.json" | "catalogs/layouts/circular-lifecycle.json" | "catalogs/layouts/code-1x.json" | "catalogs/layouts/comparison.json" | "catalogs/layouts/competitive-landscape.json" | "catalogs/layouts/customer-journey.json" | "catalogs/layouts/customer-logos.json" | "catalogs/layouts/dashboard.json" | "catalogs/layouts/data-visualization.json" | "catalogs/layouts/decision-tree.json" | "catalogs/layouts/detailed-data-table.json" | "catalogs/layouts/ecosystem-map.json" | "catalogs/layouts/executive-decision.json" | "catalogs/layouts/executive-summary.json" | "catalogs/layouts/extract/canonical.json" | "catalogs/layouts/faq.json" | "catalogs/layouts/feature-comparison-matrix.json" | "catalogs/layouts/forecast-scenario.json" | "catalogs/layouts/funnel-pyramid.json" | "catalogs/layouts/gantt-project-plan.json" | "catalogs/layouts/geographic-map.json" | "catalogs/layouts/heatmap-cohort.json" | "catalogs/layouts/hub-and-spoke.json" | "catalogs/layouts/icon-grid.json" | "catalogs/layouts/image-1x.json" | "catalogs/layouts/image-2x.json" | "catalogs/layouts/image-3x.json" | "catalogs/layouts/image-bleed.json" | "catalogs/layouts/image-focus.json" | "catalogs/layouts/index.json" | "catalogs/layouts/key-takeaway.json" | "catalogs/layouts/kpi-scorecard.json" | "catalogs/layouts/list-1x.json" | "catalogs/layouts/list-2x.json" | "catalogs/layouts/list-3x.json" | "catalogs/layouts/list-4x.json" | "catalogs/layouts/list-5x.json" | "catalogs/layouts/list-6x.json" | "catalogs/layouts/logic-tree.json" | "catalogs/layouts/market-size.json" | "catalogs/layouts/matrix-quadrant.json" | "catalogs/layouts/media-1x.json" | "catalogs/layouts/network-dependency-map.json" | "catalogs/layouts/number-1x.json" | "catalogs/layouts/number-2x.json" | "catalogs/layouts/number-3x.json" | "catalogs/layouts/number-4x.json" | "catalogs/layouts/number-5x.json" | "catalogs/layouts/number-6x.json" | "catalogs/layouts/one-column-explainer.json" | "catalogs/layouts/org-chart.json" | "catalogs/layouts/persona-grid.json" | "catalogs/layouts/photo-grid.json" | "catalogs/layouts/pricing-table.json" | "catalogs/layouts/process-flow.json" | "catalogs/layouts/product-feature.json" | "catalogs/layouts/pros-cons.json" | "catalogs/layouts/qa-discussion.json" | "catalogs/layouts/quote-1x.json" | "catalogs/layouts/quote-highlight.json" | "catalogs/layouts/raci-matrix.json" | "catalogs/layouts/risk-heatmap.json" | "catalogs/layouts/roadmap.json" | "catalogs/layouts/screenshot-walkthrough.json" | "catalogs/layouts/section-divider.json" | "catalogs/layouts/single-message-statement.json" | "catalogs/layouts/stats-metrics.json" | "catalogs/layouts/status-rag.json" | "catalogs/layouts/swimlane-process.json" | "catalogs/layouts/swot-analysis.json" | "catalogs/layouts/table-1x.json" | "catalogs/layouts/team-bio.json" | "catalogs/layouts/testimonial-grid.json" | "catalogs/layouts/text-1x.json" | "catalogs/layouts/text-2x.json" | "catalogs/layouts/text-3x.json" | "catalogs/layouts/thank-you-cta.json" | "catalogs/layouts/three-column.json" | "catalogs/layouts/timeline-1x.json" | "catalogs/layouts/timeline.json" | "catalogs/layouts/title-slide.json" | "catalogs/layouts/title-subtitle.json" | "catalogs/layouts/title.json" | "catalogs/layouts/two-column.json" | "catalogs/layouts/venn-overlap.json" | "catalogs/layouts/waterfall-bridge.json" | "catalogs/layouts/wheel-radial.json" | "catalogs/manifest.json" | "catalogs/narratives/board-meeting.json" | "catalogs/narratives/business-narrative.json" | "catalogs/narratives/business-review.json" | "catalogs/narratives/capacity-planning.json" | "catalogs/narratives/challenge-resolution.json" | "catalogs/narratives/change-story.json" | "catalogs/narratives/classic-story.json" | "catalogs/narratives/company-intro.json" | "catalogs/narratives/conference-talk.json" | "catalogs/narratives/data-story.json" | "catalogs/narratives/early-startup-pitch.json" | "catalogs/narratives/educate.json" | "catalogs/narratives/employee-review.json" | "catalogs/narratives/failure-analysis.json" | "catalogs/narratives/focus.json" | "catalogs/narratives/golden-circle.json" | "catalogs/narratives/heros-journey.json" | "catalogs/narratives/index.json" | "catalogs/narratives/innovation.json" | "catalogs/narratives/justice.json" | "catalogs/narratives/marketing-strategy.json" | "catalogs/narratives/performance-improvement-plan.json" | "catalogs/narratives/performance-review.json" | "catalogs/narratives/persuade.json" | "catalogs/narratives/persuasive-sales.json" | "catalogs/narratives/pitch-deck.json" | "catalogs/narratives/problem-solution.json" | "catalogs/narratives/product-launch.json" | "catalogs/narratives/project-proposal.json" | "catalogs/narratives/pyramid-principle.json" | "catalogs/narratives/qbr.json" | "catalogs/narratives/rags-to-riches.json" | "catalogs/narratives/reveal.json" | "catalogs/narratives/scqa.json" | "catalogs/narratives/situation-complication-resolution.json" | "catalogs/narratives/sparkline.json" | "catalogs/narratives/star-method.json" | "catalogs/narratives/status-update.json" | "catalogs/narratives/strategic-advisory.json" | "catalogs/narratives/strategic-narrative.json" | "catalogs/narratives/survey-analysis.json" | "catalogs/narratives/survival-story.json" | "catalogs/narratives/transformation-arc.json" | "catalogs/narratives/trend-analysis.json" | "catalogs/narratives/underdog-victory.json" | "catalogs/narratives/venture-pitch.json" | "catalogs/narratives/vision-roadmap.json" | "catalogs/narratives/weekly-progress.json" | "catalogs/narratives/what-so-what-now-what.json" | "catalogs/purposes/align.json" | "catalogs/purposes/decide.json" | "catalogs/purposes/educate.json" | "catalogs/purposes/index.json" | "catalogs/purposes/inform.json" | "catalogs/purposes/persuade.json" | "catalogs/purposes/pitch.json" | "catalogs/purposes/plan.json" | "catalogs/purposes/report.json" | "catalogs/purposes/sell.json" | "catalogs/social-platforms/bluesky.json" | "catalogs/social-platforms/facebook.json" | "catalogs/social-platforms/github.json" | "catalogs/social-platforms/index.json" | "catalogs/social-platforms/instagram.json" | "catalogs/social-platforms/linkedin.json" | "catalogs/social-platforms/mastodon.json" | "catalogs/social-platforms/threads.json" | "catalogs/social-platforms/tiktok.json" | "catalogs/social-platforms/x.json" | "catalogs/social-platforms/youtube.json" | "catalogs/themes/bold.json" | "catalogs/themes/classic.json" | "catalogs/themes/dark.json" | "catalogs/themes/index.json" | "catalogs/themes/minimal.json" | "catalogs/tones/authoritative.json" | "catalogs/tones/casual.json" | "catalogs/tones/conversational.json" | "catalogs/tones/formal.json" | "catalogs/tones/index.json" | "catalogs/tones/inspirational.json" | "catalogs/tones/persuasive.json" | "catalogs/tones/technical.json" | "openapi.yaml" | "previews/layouts/action-plan.html" | "previews/layouts/agenda.html" | "previews/layouts/appendix-index.html" | "previews/layouts/architecture-stack.html" | "previews/layouts/assumptions-dependencies.html" | "previews/layouts/before-after.html" | "previews/layouts/benchmark-target-table.html" | "previews/layouts/bullet-list.html" | "previews/layouts/business-model-canvas.html" | "previews/layouts/capability-map.html" | "previews/layouts/case-study.html" | "previews/layouts/chapter-recap.html" | "previews/layouts/circular-lifecycle.html" | "previews/layouts/comparison.html" | "previews/layouts/competitive-landscape.html" | "previews/layouts/customer-journey.html" | "previews/layouts/customer-logos.html" | "previews/layouts/dashboard.html" | "previews/layouts/data-visualization.html" | "previews/layouts/decision-tree.html" | "previews/layouts/detailed-data-table.html" | "previews/layouts/ecosystem-map.html" | "previews/layouts/executive-decision.html" | "previews/layouts/executive-summary.html" | "previews/layouts/faq.html" | "previews/layouts/feature-comparison-matrix.html" | "previews/layouts/forecast-scenario.html" | "previews/layouts/funnel-pyramid.html" | "previews/layouts/gantt-project-plan.html" | "previews/layouts/geographic-map.html" | "previews/layouts/heatmap-cohort.html" | "previews/layouts/hub-and-spoke.html" | "previews/layouts/icon-grid.html" | "previews/layouts/image-focus.html" | "previews/layouts/index.json" | "previews/layouts/key-takeaway.html" | "previews/layouts/kpi-scorecard.html" | "previews/layouts/logic-tree.html" | "previews/layouts/market-size.html" | "previews/layouts/matrix-quadrant.html" | "previews/layouts/network-dependency-map.html" | "previews/layouts/one-column-explainer.html" | "previews/layouts/org-chart.html" | "previews/layouts/persona-grid.html" | "previews/layouts/photo-grid.html" | "previews/layouts/pricing-table.html" | "previews/layouts/process-flow.html" | "previews/layouts/product-feature.html" | "previews/layouts/pros-cons.html" | "previews/layouts/qa-discussion.html" | "previews/layouts/quote-highlight.html" | "previews/layouts/raci-matrix.html" | "previews/layouts/risk-heatmap.html" | "previews/layouts/roadmap.html" | "previews/layouts/screenshot-walkthrough.html" | "previews/layouts/section-divider.html" | "previews/layouts/single-message-statement.html" | "previews/layouts/stats-metrics.html" | "previews/layouts/status-rag.html" | "previews/layouts/swimlane-process.html" | "previews/layouts/swot-analysis.html" | "previews/layouts/team-bio.html" | "previews/layouts/testimonial-grid.html" | "previews/layouts/thank-you-cta.html" | "previews/layouts/three-column.html" | "previews/layouts/timeline.html" | "previews/layouts/title-slide.html" | "previews/layouts/two-column.html" | "previews/layouts/venn-overlap.html" | "previews/layouts/waterfall-bridge.html" | "previews/layouts/wheel-radial.html" | "reference/engine-defaults.json" | "reference/font-policy.json" | "reference/font-policy.schema.json" | "reference/symbol-font-encodings.json" | "reference/symbol-font-encodings.schema.json" | "schemas/audience.schema.json" | "schemas/catalog-index.schema.json" | "schemas/catalog-manifest.schema.json" | "schemas/chart-type.schema.json" | "schemas/color-scheme.schema.json" | "schemas/font-scheme.schema.json" | "schemas/language.schema.json" | "schemas/layout-preview-index.schema.json" | "schemas/layout.schema.json" | "schemas/narrative.schema.json" | "schemas/opf.schema.json" | "schemas/purpose.schema.json" | "schemas/social-platform.schema.json" | "schemas/theme.schema.json" | "schemas/tone.schema.json";
3
3
  /** Category of a bundled spec file. */
4
4
  type SpecFileKind = "spec" | "catalogRecord" | "catalogIndex" | "catalogManifest" | "openapi" | "reference" | "schema";
5
5
  /** One entry per file shipped under `@openpresentation/opf/spec/`. */
@@ -1 +1 @@
1
- export { specFileEntries, specFileKinds, specFilePaths } from './chunk-HJL64ETN.js';
1
+ export { specFileEntries, specFileKinds, specFilePaths } from './chunk-GJKJL4YY.js';
@@ -0,0 +1,128 @@
1
+ /**
2
+ * Symbol-encoded font families (font-fidelity-everywhere FF-45): Symbol, Wingdings, Wingdings 2,
3
+ * Wingdings 3 and Webdings carry their glyphs at the 224 codes 0x20..0xFF of a Microsoft Symbol
4
+ * cmap (U+F020..U+F0FF), not at Unicode code points. Office stores such text as private-use
5
+ * characters (U+F0xx) or as the Windows-1252 character of each code, and names the family.
6
+ *
7
+ * This module is the reversible, version-specific table that turns a code into its Unicode
8
+ * equivalent (or says why there is none) and back. Renderers preview a code with an openly
9
+ * licensed face that has the equivalent; exporters keep the family name and the original codes.
10
+ * Data: spec/reference/symbol-font-encodings.json. Guide: docs/font-fidelity.md and
11
+ * docs/programs/font-fidelity-everywhere/special-families.md.
12
+ */
13
+ type SymbolFontFamily = "Symbol" | "Wingdings" | "Wingdings 2" | "Wingdings 3" | "Webdings";
14
+ interface SymbolFontCode {
15
+ /** The code, 32..255. */
16
+ code: number;
17
+ /** The code as two uppercase hex digits. */
18
+ hex: string;
19
+ /** The Unicode equivalent as hex scalar values joined with '+', or null when there is none. */
20
+ unicode: string | null;
21
+ /** The Unicode character name of the equivalent. */
22
+ name?: string;
23
+ /** Why the code has no equivalent. */
24
+ reason?: string;
25
+ note?: string;
26
+ /** Another code of the family carries the same code point and owns the inverse mapping. */
27
+ duplicateOf?: number;
28
+ /** Symbol only: the PostScript glyph name from Adobe's table. */
29
+ adobeGlyph?: string;
30
+ /** Symbol only: Apple's value where the macOS build differs. */
31
+ macos?: {
32
+ unicode: string;
33
+ note: string;
34
+ };
35
+ /** The verified font's glyph for the code (font units), or null when it has none. */
36
+ installed: {
37
+ glyph: number;
38
+ glyphName?: string;
39
+ advance: number;
40
+ bounds: [number, number, number, number] | null;
41
+ } | null;
42
+ }
43
+ interface SymbolFontEncoding {
44
+ family: SymbolFontFamily;
45
+ /** The OOXML/GDI charset of a symbol font (CT_TextFont charset="2"). */
46
+ charset: 2;
47
+ sources: {
48
+ url: string;
49
+ note: string;
50
+ }[];
51
+ verifiedAgainst: {
52
+ platform: "windows" | "macos";
53
+ file: string;
54
+ version: string;
55
+ familyName: string;
56
+ postscriptName: string;
57
+ copyright: string;
58
+ unitsPerEm: number;
59
+ ascent: number;
60
+ descent: number;
61
+ lineGap: number;
62
+ numGlyphs: number;
63
+ cmap: string;
64
+ date: string;
65
+ };
66
+ platformNotes: string;
67
+ summary: {
68
+ codes: 224;
69
+ mapped: number;
70
+ verified: number;
71
+ unmapped: number;
72
+ };
73
+ codes: SymbolFontCode[];
74
+ }
75
+ interface SymbolFontEncodingTable {
76
+ description: string;
77
+ version: number;
78
+ codeRange: {
79
+ first: 32;
80
+ last: 255;
81
+ };
82
+ inputForms: {
83
+ privateUse: string;
84
+ codePage: string;
85
+ other: string;
86
+ };
87
+ families: SymbolFontEncoding[];
88
+ }
89
+ /** One character of symbol-font text, normalised to its code and Unicode equivalent. */
90
+ interface SymbolTextCharacter {
91
+ /** The character as it appears in the text (one code point). */
92
+ source: string;
93
+ /** Its code in the family's encoding, or null when the character is not symbol-encoded text. */
94
+ code: number | null;
95
+ /** The Unicode equivalent to draw, or null when the code has no equivalent (see `reason`). */
96
+ unicode: string | null;
97
+ reason?: string;
98
+ }
99
+ declare const SYMBOL_FONT_ENCODINGS: Readonly<SymbolFontEncodingTable>;
100
+ /** The symbol-encoded families, in table order. */
101
+ declare const SYMBOL_FONT_FAMILIES: readonly SymbolFontFamily[];
102
+ /** The encoding of a symbol-encoded family (case-insensitive), or undefined for any other family. */
103
+ declare function symbolFontEncodingFor(family: string): Readonly<SymbolFontEncoding> | undefined;
104
+ /** True for Symbol, Wingdings, Wingdings 2, Wingdings 3 and Webdings (case-insensitive). */
105
+ declare function isSymbolEncodedFamily(family: string): boolean;
106
+ /**
107
+ * The symbol code of one character, or null when it is not a code: a private-use character U+F020..U+F0FF
108
+ * (what Office writes) gives its low byte; U+0020..U+007E and U+00A0..U+00FF are their own byte; the
109
+ * Windows-1252 characters at 0x80..0x9F give that byte. Any other character (a CJK letter, an emoji, a
110
+ * control character) is not symbol-encoded text.
111
+ */
112
+ declare function symbolCodeOf(character: string): number | null;
113
+ /** The Unicode equivalent of a code in a family, as a string, or null (unknown family, code outside 0x20..0xFF, or no equivalent). */
114
+ declare function symbolUnicodeFor(family: string, code: number): string | null;
115
+ /**
116
+ * The code of a Unicode equivalent in a family (the inverse mapping), or null. A code point two codes share
117
+ * resolves to the code that owns it (`duplicateOf` names the owner), so code -> Unicode -> code round-trips for
118
+ * every other code.
119
+ */
120
+ declare function symbolCodeForUnicode(family: string, text: string): number | null;
121
+ /**
122
+ * Normalise text in a symbol-encoded family character by character: each character's code (or null when
123
+ * it is not symbol-encoded text) and the Unicode equivalent to draw (or null, with the table's reason).
124
+ * Unknown families map every character to `{code: null, unicode: null}`.
125
+ */
126
+ declare function mapSymbolText(family: string, text: string): SymbolTextCharacter[];
127
+
128
+ export { SYMBOL_FONT_ENCODINGS, SYMBOL_FONT_FAMILIES, type SymbolFontCode, type SymbolFontEncoding, type SymbolFontEncodingTable, type SymbolFontFamily, type SymbolTextCharacter, isSymbolEncodedFamily, mapSymbolText, symbolCodeForUnicode, symbolCodeOf, symbolFontEncodingFor, symbolUnicodeFor };
@@ -0,0 +1 @@
1
+ export { SYMBOL_FONT_ENCODINGS, SYMBOL_FONT_FAMILIES, isSymbolEncodedFamily, mapSymbolText, symbolCodeForUnicode, symbolCodeOf, symbolFontEncodingFor, symbolUnicodeFor } from './chunk-FYLJVF7X.js';
package/dist/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { P as Presentation } from './presentation-j5PVrqfV.js';
2
- export { A as Audience, C as CatalogKind, e as ChartType, f as ColorScheme, F as FontScheme, L as Language, g as Layout, N as Narrative, P as Purpose, S as SocialPlatform, T as Theme, h as Tone } from './catalogs-CUClB3nl.js';
3
- export { a as SchemaName } from './schemas-X_NniU4A.js';
4
- export { ValidationIssue, ValidationResult } from './validator.js';
1
+ export { P as Presentation } from './presentation-DcF-MZcz.js';
2
+ export { A as Audience, C as CatalogKind, e as ChartType, f as ColorScheme, F as FontScheme, L as Language, g as Layout, N as Narrative, P as Purpose, S as SocialPlatform, T as Theme, h as Tone } from './catalogs-BnI7JKcn.js';
3
+ export { a as SchemaName } from './schemas-BSjlG8-R.js';
4
+ export { V as ValidationIssue, e as ValidationResult } from './validator-DfG9yxba.js';
@@ -0,0 +1,172 @@
1
+ import { P as Presentation } from './presentation-DcF-MZcz.js';
2
+ import { C as CatalogKind } from './catalogs-BnI7JKcn.js';
3
+ import { a as SchemaName, m as JsonSchema } from './schemas-BSjlG8-R.js';
4
+
5
+ /**
6
+ * Template variables: typed, named values a deck declares once and uses in many
7
+ * places, and the one deterministic function that turns a deck (or a template,
8
+ * "an incomplete OPF file") plus values into a concrete deck.
9
+ *
10
+ * Pure: no clock, locale, time zone, network, file access or randomness. See
11
+ * docs/templates-and-variables.md for the syntax and the recorded decisions.
12
+ */
13
+ declare const VARIABLE_KINDS: readonly ["color", "text", "number", "date", "image", "url", "list"];
14
+ type VariableKind = (typeof VARIABLE_KINDS)[number];
15
+ type VariableValues = Record<string, unknown>;
16
+ /** Default display pattern of a date variable inserted inline. */
17
+ declare const DEFAULT_VARIABLE_DATE_FORMAT = "MMMM d, yyyy";
18
+ interface VariableDeclaration {
19
+ id: string;
20
+ kind: VariableKind;
21
+ /** JSON pointer of the declaration. */
22
+ path: string;
23
+ /** False only when the declaration sets `required: false`. */
24
+ required: boolean;
25
+ /** Declared (default or current) value, normalized to the kind. Undefined when unfilled. */
26
+ value?: unknown;
27
+ example?: unknown;
28
+ format?: string;
29
+ label?: string;
30
+ description?: string;
31
+ }
32
+ type VariableUseForm = "token" | "reference";
33
+ interface VariableUse {
34
+ id: string;
35
+ /** JSON pointer of the string that carries the token or reference. */
36
+ path: string;
37
+ form: VariableUseForm;
38
+ }
39
+ type VariableDiagnosticCode = "variable-unfilled" | "variable-example-used" | "variable-invalid-value" | "variable-unknown" | "variable-unknown-value" | "variable-unused" | "variable-rich-flattened" | "variable-format";
40
+ type VariableDiagnosticSeverity = "error" | "warning" | "info";
41
+ interface VariableDiagnostic {
42
+ code: VariableDiagnosticCode;
43
+ severity: VariableDiagnosticSeverity;
44
+ /** JSON pointer into the document (declaration or use). */
45
+ path: string;
46
+ /** The variable id the diagnostic is about. */
47
+ id: string;
48
+ message: string;
49
+ }
50
+ interface ResolveVariablesOptions {
51
+ /**
52
+ * Treat the document as a template (overrides the root `template` marker):
53
+ * unfilled required variables are informational and the output stays a
54
+ * template. Default: the root `template` marker.
55
+ */
56
+ template?: boolean;
57
+ /** Use each unfilled variable's `example` (previews of a template). Default false. */
58
+ examples?: boolean;
59
+ /**
60
+ * Allow unfilled required variables (a partial fill): they are informational,
61
+ * their tokens and references stay as written, and their declarations remain
62
+ * in the output so a later pass can fill them. Default false.
63
+ */
64
+ partial?: boolean;
65
+ /** Throw OPFVariableError when any diagnostic has severity "error". Default false. */
66
+ strict?: boolean;
67
+ }
68
+ interface ResolveVariablesResult {
69
+ /**
70
+ * The concrete deck. Content variables are substituted and their declarations
71
+ * removed; color variables keep their `var:<id>` references and carry the
72
+ * resolved values; `template` is removed once nothing is unfilled. Unchanged
73
+ * parts of the input are shared, never mutated: treat the result as immutable.
74
+ */
75
+ presentation: Record<string, unknown>;
76
+ diagnostics: VariableDiagnostic[];
77
+ /** Ids of required variables that still have no value, in declaration order. */
78
+ unfilled: string[];
79
+ /** Ids whose `example` was used because the variable was unfilled. */
80
+ examplesUsed: string[];
81
+ /** True when no required variable is unfilled. */
82
+ complete: boolean;
83
+ }
84
+ declare class OPFVariableError extends Error {
85
+ readonly diagnostics: VariableDiagnostic[];
86
+ constructor(diagnostics: VariableDiagnostic[]);
87
+ }
88
+ /** True when the root `template` marker is set. */
89
+ declare function isTemplate(presentation: unknown): boolean;
90
+ /** Coerce a raw value (from a values file, a form or a declaration) to the kind's canonical value. */
91
+ declare function coerceVariableValue(kind: VariableKind, raw: unknown): {
92
+ ok: true;
93
+ value: unknown;
94
+ } | {
95
+ ok: false;
96
+ message: string;
97
+ };
98
+ /** The declarations of the document's `variables` map, in declaration order. Entries the schema rejects are skipped. */
99
+ declare function variableDeclarations(presentation: unknown): VariableDeclaration[];
100
+ /** True when the document declares a non-color variable or is marked as a template. */
101
+ declare function hasContentVariables(presentation: unknown): boolean;
102
+ /** Format a number with a display pattern (see the schema `NumberVariable.format`). */
103
+ declare function formatVariableNumber(value: number, pattern?: string): {
104
+ text: string;
105
+ } | {
106
+ error: string;
107
+ };
108
+ /**
109
+ * Resolve a presentation's variables against caller-supplied values and return
110
+ * the concrete deck. Pure and deterministic; never invents content: a value
111
+ * comes from the caller, the declaration's `value`, or (only when
112
+ * `options.examples` is set) the declaration's `example`. See
113
+ * docs/templates-and-variables.md.
114
+ */
115
+ declare function resolveVariables(presentation: unknown, values?: VariableValues, options?: ResolveVariablesOptions): ResolveVariablesResult;
116
+ interface VariableInfo extends VariableDeclaration {
117
+ /** True when the declaration (or the supplied values) gives the variable a value. */
118
+ filled: boolean;
119
+ /** Every place the variable is referenced. */
120
+ uses: VariableUse[];
121
+ }
122
+ /**
123
+ * The variables a deck or template declares, for fill forms and agents: kind,
124
+ * label, requirement, example, current value and every place each is used.
125
+ */
126
+ declare function listVariables(presentation: unknown, values?: VariableValues): VariableInfo[];
127
+
128
+ declare const promotedRegionKeys: readonly ["left", "center", "right", "left+center", "center+right", "left+center+right", "top", "middle", "bottom", "top+middle", "middle+bottom", "top+middle+bottom", "top:left", "top:center", "top:right", "top:left+center", "top:center+right", "top:left+center+right", "middle:left", "middle:center", "middle:right", "middle:left+center", "middle:center+right", "middle:left+center+right", "bottom:left", "bottom:center", "bottom:right", "bottom:left+center", "bottom:center+right", "bottom:left+center+right", "top+middle:left", "top+middle:center", "top+middle:right", "top+middle:left+center", "top+middle:center+right", "top+middle:left+center+right", "middle+bottom:left", "middle+bottom:center", "middle+bottom:right", "middle+bottom:left+center", "middle+bottom:center+right", "middle+bottom:left+center+right", "top+middle+bottom:left", "top+middle+bottom:center", "top+middle+bottom:right", "top+middle+bottom:left+center", "top+middle+bottom:center+right", "top+middle+bottom:left+center+right"];
129
+
130
+ interface ValidationIssue {
131
+ path: string;
132
+ message: string;
133
+ keyword: string;
134
+ schemaPath: string;
135
+ params: Record<string, unknown>;
136
+ }
137
+ interface ValidationResult {
138
+ valid: boolean;
139
+ errors: ValidationIssue[];
140
+ /** Advisory issues such as unknown catalog ids. Warnings never affect `valid`. */
141
+ warnings: ValidationIssue[];
142
+ schemaName?: SchemaName;
143
+ catalogKind?: CatalogKind;
144
+ /**
145
+ * Presentations only, when the document declares content variables or is a
146
+ * template: whether it was validated as a template, and which required
147
+ * variables have no value. A template reports them without failing.
148
+ */
149
+ template?: boolean;
150
+ unfilledVariables?: string[];
151
+ }
152
+ interface ValidateOptions {
153
+ /** Validate as a template (true) or a normal deck (false), overriding the root `template` marker. */
154
+ template?: boolean;
155
+ /** Values to fill variables with before checking, keyed by variable id. */
156
+ values?: VariableValues;
157
+ }
158
+ type SchemaOrKind = SchemaName | CatalogKind | JsonSchema;
159
+ declare class OPFValidationError extends Error {
160
+ readonly issues: ValidationIssue[];
161
+ readonly result: ValidationResult;
162
+ constructor(result: ValidationResult);
163
+ }
164
+
165
+ declare function validate(value: unknown, schemaOrKind?: SchemaOrKind, options?: ValidateOptions): ValidationResult;
166
+ declare function assertValid<T = unknown>(value: T, schemaOrKind?: SchemaOrKind, options?: ValidateOptions): T;
167
+ declare function validatePresentation(value: unknown, options?: ValidateOptions): ValidationResult;
168
+ declare function assertValidPresentation(value: unknown, options?: ValidateOptions): asserts value is Presentation;
169
+ declare function validateCatalogRecord(kind: CatalogKind, value: unknown): ValidationResult;
170
+ declare function assertValidCatalogRecord(kind: CatalogKind, value: unknown): void;
171
+
172
+ export { variableDeclarations as A, promotedRegionKeys as B, DEFAULT_VARIABLE_DATE_FORMAT as D, OPFValidationError as O, type ResolveVariablesOptions as R, type SchemaOrKind as S, type ValidationIssue as V, OPFVariableError as a, type ResolveVariablesResult as b, VARIABLE_KINDS as c, type ValidateOptions as d, type ValidationResult as e, type VariableDeclaration as f, type VariableDiagnostic as g, type VariableDiagnosticCode as h, type VariableDiagnosticSeverity as i, type VariableInfo as j, type VariableKind as k, type VariableUse as l, type VariableUseForm as m, type VariableValues as n, assertValid as o, assertValidCatalogRecord as p, assertValidPresentation as q, coerceVariableValue as r, formatVariableNumber as s, hasContentVariables as t, isTemplate as u, listVariables as v, resolveVariables as w, validate as x, validateCatalogRecord as y, validatePresentation as z };
@@ -1,36 +1,4 @@
1
- import { P as Presentation } from './presentation-j5PVrqfV.js';
2
- import { C as CatalogKind } from './catalogs-CUClB3nl.js';
3
- import { a as SchemaName, m as JsonSchema } from './schemas-X_NniU4A.js';
4
-
5
- declare const promotedRegionKeys: readonly ["left", "center", "right", "left+center", "center+right", "left+center+right", "top", "middle", "bottom", "top+middle", "middle+bottom", "top+middle+bottom", "top:left", "top:center", "top:right", "top:left+center", "top:center+right", "top:left+center+right", "middle:left", "middle:center", "middle:right", "middle:left+center", "middle:center+right", "middle:left+center+right", "bottom:left", "bottom:center", "bottom:right", "bottom:left+center", "bottom:center+right", "bottom:left+center+right", "top+middle:left", "top+middle:center", "top+middle:right", "top+middle:left+center", "top+middle:center+right", "top+middle:left+center+right", "middle+bottom:left", "middle+bottom:center", "middle+bottom:right", "middle+bottom:left+center", "middle+bottom:center+right", "middle+bottom:left+center+right", "top+middle+bottom:left", "top+middle+bottom:center", "top+middle+bottom:right", "top+middle+bottom:left+center", "top+middle+bottom:center+right", "top+middle+bottom:left+center+right"];
6
-
7
- interface ValidationIssue {
8
- path: string;
9
- message: string;
10
- keyword: string;
11
- schemaPath: string;
12
- params: Record<string, unknown>;
13
- }
14
- interface ValidationResult {
15
- valid: boolean;
16
- errors: ValidationIssue[];
17
- /** Advisory issues such as unknown catalog ids. Warnings never affect `valid`. */
18
- warnings: ValidationIssue[];
19
- schemaName?: SchemaName;
20
- catalogKind?: CatalogKind;
21
- }
22
- type SchemaOrKind = SchemaName | CatalogKind | JsonSchema;
23
- declare class OPFValidationError extends Error {
24
- readonly issues: ValidationIssue[];
25
- readonly result: ValidationResult;
26
- constructor(result: ValidationResult);
27
- }
28
-
29
- declare function validate(value: unknown, schemaOrKind?: SchemaOrKind): ValidationResult;
30
- declare function assertValid<T = unknown>(value: T, schemaOrKind?: SchemaOrKind): T;
31
- declare function validatePresentation(value: unknown): ValidationResult;
32
- declare function assertValidPresentation(value: unknown): asserts value is Presentation;
33
- declare function validateCatalogRecord(kind: CatalogKind, value: unknown): ValidationResult;
34
- declare function assertValidCatalogRecord(kind: CatalogKind, value: unknown): void;
35
-
36
- export { OPFValidationError, type SchemaOrKind, type ValidationIssue, type ValidationResult, assertValid, assertValidCatalogRecord, assertValidPresentation, promotedRegionKeys, validate, validateCatalogRecord, validatePresentation };
1
+ import './catalogs-BnI7JKcn.js';
2
+ import './schemas-BSjlG8-R.js';
3
+ import './presentation-DcF-MZcz.js';
4
+ export { O as OPFValidationError, S as SchemaOrKind, d as ValidateOptions, V as ValidationIssue, e as ValidationResult, o as assertValid, p as assertValidCatalogRecord, q as assertValidPresentation, B as promotedRegionKeys, x as validate, y as validateCatalogRecord, z as validatePresentation } from './validator-DfG9yxba.js';
package/dist/validator.js CHANGED
@@ -1,4 +1,5 @@
1
- export { OPFValidationError, assertValid, assertValidCatalogRecord, assertValidPresentation, promotedRegionKeys, validate, validateCatalogRecord, validatePresentation } from './chunk-FDCWQHWO.js';
2
- import './chunk-3H2U7FDR.js';
3
- import './chunk-KJKASEPE.js';
4
- import './chunk-AEUSVEUY.js';
1
+ export { OPFValidationError, assertValid, assertValidCatalogRecord, assertValidPresentation, validate, validateCatalogRecord, validatePresentation } from './chunk-JKVKYVWL.js';
2
+ export { promotedRegionKeys } from './chunk-HOBSL7AJ.js';
3
+ import './chunk-S5W34SIJ.js';
4
+ import './chunk-E34DJ5LL.js';
5
+ import './chunk-4LAM3N6S.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openpresentation/opf",
3
- "version": "0.11.4",
3
+ "version": "0.12.1",
4
4
  "description": "Canonical Open Presentation Format schemas, catalogs, TypeScript types, and local validation.",
5
5
  "license": "MIT",
6
6
  "author": "Open Presentation",
@@ -88,9 +88,37 @@
88
88
  "types": "./dist/font-policy.d.ts",
89
89
  "import": "./dist/font-policy.js"
90
90
  },
91
+ "./symbol-font-encodings": {
92
+ "types": "./dist/symbol-font-encodings.d.ts",
93
+ "import": "./dist/symbol-font-encodings.js"
94
+ },
91
95
  "./lint": {
92
96
  "types": "./dist/lint.d.ts",
93
97
  "import": "./dist/lint.js"
98
+ },
99
+ "./markdown": {
100
+ "types": "./dist/markdown.d.ts",
101
+ "import": "./dist/markdown.js"
102
+ },
103
+ "./patch": {
104
+ "types": "./dist/patch.d.ts",
105
+ "import": "./dist/patch.js"
106
+ },
107
+ "./diff": {
108
+ "types": "./dist/diff.d.ts",
109
+ "import": "./dist/diff.js"
110
+ },
111
+ "./format": {
112
+ "types": "./dist/format.d.ts",
113
+ "import": "./dist/format.js"
114
+ },
115
+ "./convert": {
116
+ "types": "./dist/convert.d.ts",
117
+ "import": "./dist/convert.js"
118
+ },
119
+ "./audit": {
120
+ "types": "./dist/audit.d.ts",
121
+ "import": "./dist/audit.js"
94
122
  }
95
123
  },
96
124
  "files": [
@@ -107,14 +135,15 @@
107
135
  "generate": "node scripts/generate.mjs && node scripts/generate-previews.mjs && node scripts/generate-content.mjs",
108
136
  "build": "pnpm run generate && tsup && node scripts/copy-spec.mjs",
109
137
  "typecheck": "pnpm run generate && node ../../scripts/typecheck.mjs --noEmit",
110
- "test": "pnpm run build && node ../../scripts/run-node-tests.mjs && node test/composition.mjs && node test/pagination.mjs && node test/data.mjs && node test/rich-text.mjs && node test/rich-tab.mjs && node test/lists.mjs",
138
+ "test": "pnpm run build && node ../../scripts/run-tests.mjs",
111
139
  "test:packed": "node test/packed-install-smoke.mjs",
112
140
  "pack:dry-run": "pnpm run build && npm pack --dry-run --cache /tmp/opf-npm-cache"
113
141
  },
114
142
  "dependencies": {
115
143
  "ajv": "^8.17.1",
116
144
  "ajv-formats": "^3.0.1",
117
- "jsonc-parser": "3.3.1"
145
+ "jsonc-parser": "3.3.1",
146
+ "yaml": "^2.9.1"
118
147
  },
119
148
  "devDependencies": {
120
149
  "@types/node": "^24.13.4",