@openpresentation/opf 0.11.0 → 0.11.2

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 (240) hide show
  1. package/dist/{catalogs-atkOF4Vy.d.ts → catalogs-DJ-B5ZyD.d.ts} +78 -8
  2. package/dist/catalogs.d.ts +2 -2
  3. package/dist/catalogs.js +1 -1
  4. package/dist/{chunk-6FU2KICU.js → chunk-7LF37SG3.js} +7084 -5106
  5. package/dist/{chunk-FTWNWFIV.js → chunk-BVLWFMDX.js} +348 -36
  6. package/dist/{chunk-CHKJ4QHQ.js → chunk-DJRZMGKY.js} +113 -32
  7. package/dist/{chunk-EQHZ3ZO4.js → chunk-K7IWYODS.js} +3 -3
  8. package/dist/chunk-KZ6BT5UG.js +3591 -0
  9. package/dist/{chunk-GN52EE3P.js → chunk-LTSDDBNW.js} +425 -40
  10. package/dist/{chunk-RS5GZ5RW.js → chunk-SDETQV7Y.js} +161 -0
  11. package/dist/{chunk-FWA5XB45.js → chunk-SMYEM3HV.js} +45 -25
  12. package/dist/{composition-Tv9Wm3Oh.d.ts → composition-DzLwY-Mi.d.ts} +200 -4
  13. package/dist/composition.d.ts +1 -1
  14. package/dist/composition.js +1 -1
  15. package/dist/docs.js +50 -20
  16. package/dist/examples.d.ts +1 -1
  17. package/dist/examples.js +11 -11
  18. package/dist/font-policy.d.ts +127 -0
  19. package/dist/font-policy.js +1 -0
  20. package/dist/index.d.ts +129 -10
  21. package/dist/index.js +280 -12
  22. package/dist/lint.d.ts +3 -3
  23. package/dist/lint.js +5 -5
  24. package/dist/pagination.d.ts +5 -1
  25. package/dist/pagination.js +5 -5
  26. package/dist/{presentation-Ct42Mitb.d.ts → presentation-bceTClm8.d.ts} +246 -22
  27. package/dist/repo-readme.js +1 -1
  28. package/dist/{schemas-CiVmUT2p.d.ts → schemas-X_NniU4A.d.ts} +2 -0
  29. package/dist/schemas.d.ts +1 -1
  30. package/dist/schemas.js +1 -1
  31. package/dist/spec/catalogs/audiences/academic.json +24 -0
  32. package/dist/spec/catalogs/audiences/all-hands.json +3 -1
  33. package/dist/spec/catalogs/audiences/board.json +3 -1
  34. package/dist/spec/catalogs/audiences/customer.json +25 -0
  35. package/dist/spec/catalogs/audiences/executive.json +24 -0
  36. package/dist/spec/catalogs/audiences/general-public.json +25 -0
  37. package/dist/spec/catalogs/audiences/index.json +73 -1
  38. package/dist/spec/catalogs/audiences/internal-team.json +25 -0
  39. package/dist/spec/catalogs/audiences/investor.json +25 -0
  40. package/dist/spec/catalogs/audiences/marketing.json +25 -0
  41. package/dist/spec/catalogs/audiences/media.json +24 -0
  42. package/dist/spec/catalogs/audiences/partner.json +25 -0
  43. package/dist/spec/catalogs/audiences/regulatory.json +25 -0
  44. package/dist/spec/catalogs/audiences/sales.json +25 -0
  45. package/dist/spec/catalogs/audiences/technical.json +25 -0
  46. package/dist/spec/catalogs/chart-types/100pct-bullet-bar-2x.json +5 -0
  47. package/dist/spec/catalogs/chart-types/100pct-bullet-bar-3x.json +5 -0
  48. package/dist/spec/catalogs/chart-types/100pct-bullet-bar.json +5 -0
  49. package/dist/spec/catalogs/chart-types/100pct-bullet-column-2x.json +5 -0
  50. package/dist/spec/catalogs/chart-types/100pct-bullet-column-3x.json +5 -0
  51. package/dist/spec/catalogs/chart-types/100pct-bullet-column.json +5 -0
  52. package/dist/spec/catalogs/chart-types/100pct-progress-bar.json +10 -0
  53. package/dist/spec/catalogs/chart-types/100pct-stacked-area-2x.json +10 -0
  54. package/dist/spec/catalogs/chart-types/100pct-stacked-area-3x.json +6 -1
  55. package/dist/spec/catalogs/chart-types/100pct-stacked-bar-2x.json +10 -0
  56. package/dist/spec/catalogs/chart-types/100pct-stacked-bar-3x.json +6 -1
  57. package/dist/spec/catalogs/chart-types/100pct-stacked-column-2x.json +10 -0
  58. package/dist/spec/catalogs/chart-types/100pct-stacked-column-3x.json +6 -1
  59. package/dist/spec/catalogs/chart-types/area.json +5 -0
  60. package/dist/spec/catalogs/chart-types/australia.json +10 -0
  61. package/dist/spec/catalogs/chart-types/bar.json +5 -0
  62. package/dist/spec/catalogs/chart-types/box-and-whisker-2x.json +10 -0
  63. package/dist/spec/catalogs/chart-types/box-and-whisker-3x.json +10 -0
  64. package/dist/spec/catalogs/chart-types/box-and-whisker.json +5 -0
  65. package/dist/spec/catalogs/chart-types/bullet-bar-2x.json +5 -0
  66. package/dist/spec/catalogs/chart-types/bullet-bar-3x.json +5 -0
  67. package/dist/spec/catalogs/chart-types/bullet-bar.json +5 -0
  68. package/dist/spec/catalogs/chart-types/bullet-column-2x.json +5 -0
  69. package/dist/spec/catalogs/chart-types/bullet-column-3x.json +5 -0
  70. package/dist/spec/catalogs/chart-types/bullet-column.json +5 -0
  71. package/dist/spec/catalogs/chart-types/canada.json +10 -0
  72. package/dist/spec/catalogs/chart-types/clustered-bar-2x.json +10 -0
  73. package/dist/spec/catalogs/chart-types/clustered-column.json +10 -0
  74. package/dist/spec/catalogs/chart-types/column.json +5 -0
  75. package/dist/spec/catalogs/chart-types/dot-plot-2x.json +5 -0
  76. package/dist/spec/catalogs/chart-types/dot-plot-3x.json +5 -0
  77. package/dist/spec/catalogs/chart-types/dot-plot-4x.json +5 -0
  78. package/dist/spec/catalogs/chart-types/dot-plot-5x.json +5 -0
  79. package/dist/spec/catalogs/chart-types/dot-plot-6x.json +5 -0
  80. package/dist/spec/catalogs/chart-types/dot-plot.json +5 -0
  81. package/dist/spec/catalogs/chart-types/doughnut.json +5 -0
  82. package/dist/spec/catalogs/chart-types/dumbbell.json +5 -0
  83. package/dist/spec/catalogs/chart-types/filled-radar.json +5 -0
  84. package/dist/spec/catalogs/chart-types/funnel.json +5 -0
  85. package/dist/spec/catalogs/chart-types/histogram.json +5 -0
  86. package/dist/spec/catalogs/chart-types/index.json +333 -233
  87. package/dist/spec/catalogs/chart-types/line-2x.json +10 -0
  88. package/dist/spec/catalogs/chart-types/line-3x.json +10 -0
  89. package/dist/spec/catalogs/chart-types/line-with-high-low-and-markers.json +5 -0
  90. package/dist/spec/catalogs/chart-types/line-with-high-low.json +5 -0
  91. package/dist/spec/catalogs/chart-types/line-with-markers-2x.json +10 -0
  92. package/dist/spec/catalogs/chart-types/line-with-markers-3x.json +10 -0
  93. package/dist/spec/catalogs/chart-types/line-with-markers.json +5 -0
  94. package/dist/spec/catalogs/chart-types/line.json +5 -0
  95. package/dist/spec/catalogs/chart-types/pareto.json +9 -14
  96. package/dist/spec/catalogs/chart-types/pie.json +5 -0
  97. package/dist/spec/catalogs/chart-types/radar-with-markers.json +5 -0
  98. package/dist/spec/catalogs/chart-types/radar.json +5 -0
  99. package/dist/spec/catalogs/chart-types/scatter.json +5 -0
  100. package/dist/spec/catalogs/chart-types/sparkline-2x.json +5 -0
  101. package/dist/spec/catalogs/chart-types/sparkline-3x.json +5 -0
  102. package/dist/spec/catalogs/chart-types/sparkline-4x.json +5 -0
  103. package/dist/spec/catalogs/chart-types/sparkline-5x.json +5 -0
  104. package/dist/spec/catalogs/chart-types/sparkline-6x.json +5 -0
  105. package/dist/spec/catalogs/chart-types/sparkline.json +5 -0
  106. package/dist/spec/catalogs/chart-types/stacked-area-2x.json +10 -0
  107. package/dist/spec/catalogs/chart-types/stacked-area-3x.json +6 -1
  108. package/dist/spec/catalogs/chart-types/stacked-bar-2x.json +10 -0
  109. package/dist/spec/catalogs/chart-types/stacked-bar-3x.json +6 -1
  110. package/dist/spec/catalogs/chart-types/stacked-column-2x.json +10 -0
  111. package/dist/spec/catalogs/chart-types/stacked-column-3x.json +6 -1
  112. package/dist/spec/catalogs/chart-types/stacked-line-2x.json +10 -0
  113. package/dist/spec/catalogs/chart-types/stacked-line-3x.json +6 -1
  114. package/dist/spec/catalogs/chart-types/stacked-line-with-markers-2x.json +10 -0
  115. package/dist/spec/catalogs/chart-types/stacked-line-with-markers-3x.json +6 -1
  116. package/dist/spec/catalogs/chart-types/treemap-2x.json +10 -0
  117. package/dist/spec/catalogs/chart-types/treemap-3x.json +10 -0
  118. package/dist/spec/catalogs/chart-types/treemap.json +5 -0
  119. package/dist/spec/catalogs/chart-types/united-kingdom.json +10 -0
  120. package/dist/spec/catalogs/chart-types/united-states.json +10 -0
  121. package/dist/spec/catalogs/chart-types/waterfall.json +5 -0
  122. package/dist/spec/catalogs/chart-types/world.json +6 -1
  123. package/dist/spec/catalogs/font-schemes/consolas.json +3 -0
  124. package/dist/spec/catalogs/font-schemes/courier-new.json +3 -0
  125. package/dist/spec/catalogs/languages/afrikaans.json +3 -0
  126. package/dist/spec/catalogs/languages/albanian.json +3 -0
  127. package/dist/spec/catalogs/languages/amharic.json +3 -0
  128. package/dist/spec/catalogs/languages/arabic.json +3 -0
  129. package/dist/spec/catalogs/languages/armenian.json +3 -0
  130. package/dist/spec/catalogs/languages/aymara.json +3 -0
  131. package/dist/spec/catalogs/languages/azerbaijani.json +3 -0
  132. package/dist/spec/catalogs/languages/bengali.json +3 -0
  133. package/dist/spec/catalogs/languages/berber-latin.json +3 -0
  134. package/dist/spec/catalogs/languages/bosnian-latin.json +3 -0
  135. package/dist/spec/catalogs/languages/bulgarian.json +3 -0
  136. package/dist/spec/catalogs/languages/catalan.json +3 -0
  137. package/dist/spec/catalogs/languages/cebuano.json +3 -0
  138. package/dist/spec/catalogs/languages/chinese-simplified.json +3 -0
  139. package/dist/spec/catalogs/languages/chinese-traditional.json +3 -0
  140. package/dist/spec/catalogs/languages/chittagonian.json +3 -0
  141. package/dist/spec/catalogs/languages/croatian.json +3 -0
  142. package/dist/spec/catalogs/languages/czech.json +3 -0
  143. package/dist/spec/catalogs/languages/danish.json +3 -0
  144. package/dist/spec/catalogs/languages/dutch.json +3 -0
  145. package/dist/spec/catalogs/languages/english-au.json +3 -0
  146. package/dist/spec/catalogs/languages/english-ca.json +3 -0
  147. package/dist/spec/catalogs/languages/english-gb.json +3 -0
  148. package/dist/spec/catalogs/languages/english-in.json +3 -0
  149. package/dist/spec/catalogs/languages/english-us.json +3 -0
  150. package/dist/spec/catalogs/languages/english.json +3 -0
  151. package/dist/spec/catalogs/languages/estonian.json +3 -0
  152. package/dist/spec/catalogs/languages/filipino.json +3 -0
  153. package/dist/spec/catalogs/languages/finnish.json +3 -0
  154. package/dist/spec/catalogs/languages/french.json +3 -0
  155. package/dist/spec/catalogs/languages/fulfulde.json +3 -0
  156. package/dist/spec/catalogs/languages/galician.json +3 -0
  157. package/dist/spec/catalogs/languages/georgian.json +3 -0
  158. package/dist/spec/catalogs/languages/german.json +3 -0
  159. package/dist/spec/catalogs/languages/greek.json +3 -0
  160. package/dist/spec/catalogs/languages/gujarati.json +3 -0
  161. package/dist/spec/catalogs/languages/hausa.json +3 -0
  162. package/dist/spec/catalogs/languages/hebrew.json +3 -0
  163. package/dist/spec/catalogs/languages/hindi.json +3 -0
  164. package/dist/spec/catalogs/languages/hungarian.json +3 -0
  165. package/dist/spec/catalogs/languages/igbo.json +3 -0
  166. package/dist/spec/catalogs/languages/indonesian.json +3 -0
  167. package/dist/spec/catalogs/languages/italian.json +3 -0
  168. package/dist/spec/catalogs/languages/japanese.json +3 -0
  169. package/dist/spec/catalogs/languages/kannada.json +3 -0
  170. package/dist/spec/catalogs/languages/kazakh.json +3 -0
  171. package/dist/spec/catalogs/languages/khmer.json +3 -0
  172. package/dist/spec/catalogs/languages/kinyarwanda.json +3 -0
  173. package/dist/spec/catalogs/languages/korean.json +3 -0
  174. package/dist/spec/catalogs/languages/kurmanji.json +3 -0
  175. package/dist/spec/catalogs/languages/latvian.json +3 -0
  176. package/dist/spec/catalogs/languages/lithuanian.json +3 -0
  177. package/dist/spec/catalogs/languages/macedonian.json +3 -0
  178. package/dist/spec/catalogs/languages/malagasy.json +3 -0
  179. package/dist/spec/catalogs/languages/malay.json +3 -0
  180. package/dist/spec/catalogs/languages/malayalam.json +3 -0
  181. package/dist/spec/catalogs/languages/maori.json +3 -0
  182. package/dist/spec/catalogs/languages/marathi.json +3 -0
  183. package/dist/spec/catalogs/languages/mongolian.json +3 -0
  184. package/dist/spec/catalogs/languages/nepali.json +3 -0
  185. package/dist/spec/catalogs/languages/norwegian.json +3 -0
  186. package/dist/spec/catalogs/languages/odia.json +3 -0
  187. package/dist/spec/catalogs/languages/oromo.json +3 -0
  188. package/dist/spec/catalogs/languages/pashto.json +3 -0
  189. package/dist/spec/catalogs/languages/persian.json +3 -0
  190. package/dist/spec/catalogs/languages/polish.json +3 -0
  191. package/dist/spec/catalogs/languages/portuguese.json +3 -0
  192. package/dist/spec/catalogs/languages/punjabi-gurmukhi.json +3 -0
  193. package/dist/spec/catalogs/languages/punjabi-shahmukhi.json +3 -0
  194. package/dist/spec/catalogs/languages/romanian.json +3 -0
  195. package/dist/spec/catalogs/languages/russian.json +3 -0
  196. package/dist/spec/catalogs/languages/serbian-cyrillic.json +3 -0
  197. package/dist/spec/catalogs/languages/serbian-latin.json +3 -0
  198. package/dist/spec/catalogs/languages/shona.json +3 -0
  199. package/dist/spec/catalogs/languages/slovak.json +3 -0
  200. package/dist/spec/catalogs/languages/slovenian.json +3 -0
  201. package/dist/spec/catalogs/languages/somali.json +3 -0
  202. package/dist/spec/catalogs/languages/spanish.json +3 -0
  203. package/dist/spec/catalogs/languages/swahili.json +3 -0
  204. package/dist/spec/catalogs/languages/swedish.json +3 -0
  205. package/dist/spec/catalogs/languages/tagalog.json +3 -0
  206. package/dist/spec/catalogs/languages/tajik.json +3 -0
  207. package/dist/spec/catalogs/languages/tamil.json +3 -0
  208. package/dist/spec/catalogs/languages/telugu.json +3 -0
  209. package/dist/spec/catalogs/languages/thai.json +3 -0
  210. package/dist/spec/catalogs/languages/turkish.json +3 -0
  211. package/dist/spec/catalogs/languages/ukrainian.json +3 -0
  212. package/dist/spec/catalogs/languages/urdu.json +3 -0
  213. package/dist/spec/catalogs/languages/uzbek-latin.json +3 -0
  214. package/dist/spec/catalogs/languages/vietnamese-quoc-ngu.json +3 -0
  215. package/dist/spec/catalogs/languages/xhosa.json +3 -0
  216. package/dist/spec/catalogs/languages/yoruba.json +3 -0
  217. package/dist/spec/catalogs/languages/zulu.json +3 -0
  218. package/dist/spec/catalogs/narratives/change-story.json +64 -0
  219. package/dist/spec/catalogs/narratives/data-story.json +66 -0
  220. package/dist/spec/catalogs/narratives/heros-journey.json +64 -0
  221. package/dist/spec/catalogs/narratives/index.json +81 -0
  222. package/dist/spec/catalogs/narratives/pyramid-principle.json +48 -0
  223. package/dist/spec/catalogs/narratives/situation-complication-resolution.json +56 -0
  224. package/dist/spec/catalogs/narratives/sparkline.json +56 -0
  225. package/dist/spec/catalogs/narratives/star-method.json +56 -0
  226. package/dist/spec/catalogs/narratives/vision-roadmap.json +65 -0
  227. package/dist/spec/catalogs/narratives/what-so-what-now-what.json +48 -0
  228. package/dist/spec/reference/engine-defaults.json +2 -2
  229. package/dist/spec/reference/font-policy.json +3510 -0
  230. package/dist/spec/reference/font-policy.schema.json +338 -0
  231. package/dist/spec/schemas/chart-type.schema.json +51 -11
  232. package/dist/spec/schemas/font-scheme.schema.json +91 -1
  233. package/dist/spec/schemas/language.schema.json +10 -5
  234. package/dist/spec/schemas/opf.schema.json +158 -20
  235. package/dist/spec-files.d.ts +1 -1
  236. package/dist/spec-files.js +1 -1
  237. package/dist/types.d.ts +3 -3
  238. package/dist/validator.d.ts +3 -3
  239. package/dist/validator.js +4 -4
  240. package/package.json +6 -2
@@ -6,6 +6,12 @@ var specFileEntries = [
6
6
  "kind": "spec",
7
7
  "mediaType": "text/markdown"
8
8
  },
9
+ {
10
+ "path": "catalogs/audiences/academic.json",
11
+ "packagePath": "@openpresentation/opf/spec/catalogs/audiences/academic.json",
12
+ "kind": "catalogRecord",
13
+ "mediaType": "application/json"
14
+ },
9
15
  {
10
16
  "path": "catalogs/audiences/all-hands.json",
11
17
  "packagePath": "@openpresentation/opf/spec/catalogs/audiences/all-hands.json",
@@ -24,6 +30,12 @@ var specFileEntries = [
24
30
  "kind": "catalogRecord",
25
31
  "mediaType": "application/json"
26
32
  },
33
+ {
34
+ "path": "catalogs/audiences/customer.json",
35
+ "packagePath": "@openpresentation/opf/spec/catalogs/audiences/customer.json",
36
+ "kind": "catalogRecord",
37
+ "mediaType": "application/json"
38
+ },
27
39
  {
28
40
  "path": "catalogs/audiences/customers.json",
29
41
  "packagePath": "@openpresentation/opf/spec/catalogs/audiences/customers.json",
@@ -36,18 +48,42 @@ var specFileEntries = [
36
48
  "kind": "catalogRecord",
37
49
  "mediaType": "application/json"
38
50
  },
51
+ {
52
+ "path": "catalogs/audiences/executive.json",
53
+ "packagePath": "@openpresentation/opf/spec/catalogs/audiences/executive.json",
54
+ "kind": "catalogRecord",
55
+ "mediaType": "application/json"
56
+ },
39
57
  {
40
58
  "path": "catalogs/audiences/executives.json",
41
59
  "packagePath": "@openpresentation/opf/spec/catalogs/audiences/executives.json",
42
60
  "kind": "catalogRecord",
43
61
  "mediaType": "application/json"
44
62
  },
63
+ {
64
+ "path": "catalogs/audiences/general-public.json",
65
+ "packagePath": "@openpresentation/opf/spec/catalogs/audiences/general-public.json",
66
+ "kind": "catalogRecord",
67
+ "mediaType": "application/json"
68
+ },
45
69
  {
46
70
  "path": "catalogs/audiences/index.json",
47
71
  "packagePath": "@openpresentation/opf/spec/catalogs/audiences/index.json",
48
72
  "kind": "catalogIndex",
49
73
  "mediaType": "application/json"
50
74
  },
75
+ {
76
+ "path": "catalogs/audiences/internal-team.json",
77
+ "packagePath": "@openpresentation/opf/spec/catalogs/audiences/internal-team.json",
78
+ "kind": "catalogRecord",
79
+ "mediaType": "application/json"
80
+ },
81
+ {
82
+ "path": "catalogs/audiences/investor.json",
83
+ "packagePath": "@openpresentation/opf/spec/catalogs/audiences/investor.json",
84
+ "kind": "catalogRecord",
85
+ "mediaType": "application/json"
86
+ },
51
87
  {
52
88
  "path": "catalogs/audiences/investors.json",
53
89
  "packagePath": "@openpresentation/opf/spec/catalogs/audiences/investors.json",
@@ -60,18 +96,54 @@ var specFileEntries = [
60
96
  "kind": "catalogRecord",
61
97
  "mediaType": "application/json"
62
98
  },
99
+ {
100
+ "path": "catalogs/audiences/marketing.json",
101
+ "packagePath": "@openpresentation/opf/spec/catalogs/audiences/marketing.json",
102
+ "kind": "catalogRecord",
103
+ "mediaType": "application/json"
104
+ },
105
+ {
106
+ "path": "catalogs/audiences/media.json",
107
+ "packagePath": "@openpresentation/opf/spec/catalogs/audiences/media.json",
108
+ "kind": "catalogRecord",
109
+ "mediaType": "application/json"
110
+ },
111
+ {
112
+ "path": "catalogs/audiences/partner.json",
113
+ "packagePath": "@openpresentation/opf/spec/catalogs/audiences/partner.json",
114
+ "kind": "catalogRecord",
115
+ "mediaType": "application/json"
116
+ },
63
117
  {
64
118
  "path": "catalogs/audiences/regulators.json",
65
119
  "packagePath": "@openpresentation/opf/spec/catalogs/audiences/regulators.json",
66
120
  "kind": "catalogRecord",
67
121
  "mediaType": "application/json"
68
122
  },
123
+ {
124
+ "path": "catalogs/audiences/regulatory.json",
125
+ "packagePath": "@openpresentation/opf/spec/catalogs/audiences/regulatory.json",
126
+ "kind": "catalogRecord",
127
+ "mediaType": "application/json"
128
+ },
69
129
  {
70
130
  "path": "catalogs/audiences/sales-team.json",
71
131
  "packagePath": "@openpresentation/opf/spec/catalogs/audiences/sales-team.json",
72
132
  "kind": "catalogRecord",
73
133
  "mediaType": "application/json"
74
134
  },
135
+ {
136
+ "path": "catalogs/audiences/sales.json",
137
+ "packagePath": "@openpresentation/opf/spec/catalogs/audiences/sales.json",
138
+ "kind": "catalogRecord",
139
+ "mediaType": "application/json"
140
+ },
141
+ {
142
+ "path": "catalogs/audiences/technical.json",
143
+ "packagePath": "@openpresentation/opf/spec/catalogs/audiences/technical.json",
144
+ "kind": "catalogRecord",
145
+ "mediaType": "application/json"
146
+ },
75
147
  {
76
148
  "path": "catalogs/chart-types/100pct-bullet-bar-2x.json",
77
149
  "packagePath": "@openpresentation/opf/spec/catalogs/chart-types/100pct-bullet-bar-2x.json",
@@ -1950,6 +2022,12 @@ var specFileEntries = [
1950
2022
  "kind": "catalogRecord",
1951
2023
  "mediaType": "application/json"
1952
2024
  },
2025
+ {
2026
+ "path": "catalogs/narratives/change-story.json",
2027
+ "packagePath": "@openpresentation/opf/spec/catalogs/narratives/change-story.json",
2028
+ "kind": "catalogRecord",
2029
+ "mediaType": "application/json"
2030
+ },
1953
2031
  {
1954
2032
  "path": "catalogs/narratives/classic-story.json",
1955
2033
  "packagePath": "@openpresentation/opf/spec/catalogs/narratives/classic-story.json",
@@ -1968,6 +2046,12 @@ var specFileEntries = [
1968
2046
  "kind": "catalogRecord",
1969
2047
  "mediaType": "application/json"
1970
2048
  },
2049
+ {
2050
+ "path": "catalogs/narratives/data-story.json",
2051
+ "packagePath": "@openpresentation/opf/spec/catalogs/narratives/data-story.json",
2052
+ "kind": "catalogRecord",
2053
+ "mediaType": "application/json"
2054
+ },
1971
2055
  {
1972
2056
  "path": "catalogs/narratives/early-startup-pitch.json",
1973
2057
  "packagePath": "@openpresentation/opf/spec/catalogs/narratives/early-startup-pitch.json",
@@ -2004,6 +2088,12 @@ var specFileEntries = [
2004
2088
  "kind": "catalogRecord",
2005
2089
  "mediaType": "application/json"
2006
2090
  },
2091
+ {
2092
+ "path": "catalogs/narratives/heros-journey.json",
2093
+ "packagePath": "@openpresentation/opf/spec/catalogs/narratives/heros-journey.json",
2094
+ "kind": "catalogRecord",
2095
+ "mediaType": "application/json"
2096
+ },
2007
2097
  {
2008
2098
  "path": "catalogs/narratives/index.json",
2009
2099
  "packagePath": "@openpresentation/opf/spec/catalogs/narratives/index.json",
@@ -2076,6 +2166,12 @@ var specFileEntries = [
2076
2166
  "kind": "catalogRecord",
2077
2167
  "mediaType": "application/json"
2078
2168
  },
2169
+ {
2170
+ "path": "catalogs/narratives/pyramid-principle.json",
2171
+ "packagePath": "@openpresentation/opf/spec/catalogs/narratives/pyramid-principle.json",
2172
+ "kind": "catalogRecord",
2173
+ "mediaType": "application/json"
2174
+ },
2079
2175
  {
2080
2176
  "path": "catalogs/narratives/qbr.json",
2081
2177
  "packagePath": "@openpresentation/opf/spec/catalogs/narratives/qbr.json",
@@ -2100,6 +2196,24 @@ var specFileEntries = [
2100
2196
  "kind": "catalogRecord",
2101
2197
  "mediaType": "application/json"
2102
2198
  },
2199
+ {
2200
+ "path": "catalogs/narratives/situation-complication-resolution.json",
2201
+ "packagePath": "@openpresentation/opf/spec/catalogs/narratives/situation-complication-resolution.json",
2202
+ "kind": "catalogRecord",
2203
+ "mediaType": "application/json"
2204
+ },
2205
+ {
2206
+ "path": "catalogs/narratives/sparkline.json",
2207
+ "packagePath": "@openpresentation/opf/spec/catalogs/narratives/sparkline.json",
2208
+ "kind": "catalogRecord",
2209
+ "mediaType": "application/json"
2210
+ },
2211
+ {
2212
+ "path": "catalogs/narratives/star-method.json",
2213
+ "packagePath": "@openpresentation/opf/spec/catalogs/narratives/star-method.json",
2214
+ "kind": "catalogRecord",
2215
+ "mediaType": "application/json"
2216
+ },
2103
2217
  {
2104
2218
  "path": "catalogs/narratives/status-update.json",
2105
2219
  "packagePath": "@openpresentation/opf/spec/catalogs/narratives/status-update.json",
@@ -2154,12 +2268,24 @@ var specFileEntries = [
2154
2268
  "kind": "catalogRecord",
2155
2269
  "mediaType": "application/json"
2156
2270
  },
2271
+ {
2272
+ "path": "catalogs/narratives/vision-roadmap.json",
2273
+ "packagePath": "@openpresentation/opf/spec/catalogs/narratives/vision-roadmap.json",
2274
+ "kind": "catalogRecord",
2275
+ "mediaType": "application/json"
2276
+ },
2157
2277
  {
2158
2278
  "path": "catalogs/narratives/weekly-progress.json",
2159
2279
  "packagePath": "@openpresentation/opf/spec/catalogs/narratives/weekly-progress.json",
2160
2280
  "kind": "catalogRecord",
2161
2281
  "mediaType": "application/json"
2162
2282
  },
2283
+ {
2284
+ "path": "catalogs/narratives/what-so-what-now-what.json",
2285
+ "packagePath": "@openpresentation/opf/spec/catalogs/narratives/what-so-what-now-what.json",
2286
+ "kind": "catalogRecord",
2287
+ "mediaType": "application/json"
2288
+ },
2163
2289
  {
2164
2290
  "path": "catalogs/purposes/align.json",
2165
2291
  "packagePath": "@openpresentation/opf/spec/catalogs/purposes/align.json",
@@ -2802,6 +2928,18 @@ var specFileEntries = [
2802
2928
  "kind": "reference",
2803
2929
  "mediaType": "application/json"
2804
2930
  },
2931
+ {
2932
+ "path": "reference/font-policy.json",
2933
+ "packagePath": "@openpresentation/opf/spec/reference/font-policy.json",
2934
+ "kind": "reference",
2935
+ "mediaType": "application/json"
2936
+ },
2937
+ {
2938
+ "path": "reference/font-policy.schema.json",
2939
+ "packagePath": "@openpresentation/opf/spec/reference/font-policy.schema.json",
2940
+ "kind": "reference",
2941
+ "mediaType": "application/json"
2942
+ },
2805
2943
  {
2806
2944
  "path": "schemas/audience.schema.json",
2807
2945
  "packagePath": "@openpresentation/opf/spec/schemas/audience.schema.json",
@@ -2889,17 +3027,29 @@ var specFileEntries = [
2889
3027
  ];
2890
3028
  var specFilePaths = [
2891
3029
  "README.md",
3030
+ "catalogs/audiences/academic.json",
2892
3031
  "catalogs/audiences/all-hands.json",
2893
3032
  "catalogs/audiences/board.json",
2894
3033
  "catalogs/audiences/candidates.json",
3034
+ "catalogs/audiences/customer.json",
2895
3035
  "catalogs/audiences/customers.json",
2896
3036
  "catalogs/audiences/engineering-team.json",
3037
+ "catalogs/audiences/executive.json",
2897
3038
  "catalogs/audiences/executives.json",
3039
+ "catalogs/audiences/general-public.json",
2898
3040
  "catalogs/audiences/index.json",
3041
+ "catalogs/audiences/internal-team.json",
3042
+ "catalogs/audiences/investor.json",
2899
3043
  "catalogs/audiences/investors.json",
2900
3044
  "catalogs/audiences/marketing-team.json",
3045
+ "catalogs/audiences/marketing.json",
3046
+ "catalogs/audiences/media.json",
3047
+ "catalogs/audiences/partner.json",
2901
3048
  "catalogs/audiences/regulators.json",
3049
+ "catalogs/audiences/regulatory.json",
2902
3050
  "catalogs/audiences/sales-team.json",
3051
+ "catalogs/audiences/sales.json",
3052
+ "catalogs/audiences/technical.json",
2903
3053
  "catalogs/chart-types/100pct-bullet-bar-2x.json",
2904
3054
  "catalogs/chart-types/100pct-bullet-bar-3x.json",
2905
3055
  "catalogs/chart-types/100pct-bullet-bar.json",
@@ -3213,15 +3363,18 @@ var specFilePaths = [
3213
3363
  "catalogs/narratives/business-review.json",
3214
3364
  "catalogs/narratives/capacity-planning.json",
3215
3365
  "catalogs/narratives/challenge-resolution.json",
3366
+ "catalogs/narratives/change-story.json",
3216
3367
  "catalogs/narratives/classic-story.json",
3217
3368
  "catalogs/narratives/company-intro.json",
3218
3369
  "catalogs/narratives/conference-talk.json",
3370
+ "catalogs/narratives/data-story.json",
3219
3371
  "catalogs/narratives/early-startup-pitch.json",
3220
3372
  "catalogs/narratives/educate.json",
3221
3373
  "catalogs/narratives/employee-review.json",
3222
3374
  "catalogs/narratives/failure-analysis.json",
3223
3375
  "catalogs/narratives/focus.json",
3224
3376
  "catalogs/narratives/golden-circle.json",
3377
+ "catalogs/narratives/heros-journey.json",
3225
3378
  "catalogs/narratives/index.json",
3226
3379
  "catalogs/narratives/innovation.json",
3227
3380
  "catalogs/narratives/justice.json",
@@ -3234,10 +3387,14 @@ var specFilePaths = [
3234
3387
  "catalogs/narratives/problem-solution.json",
3235
3388
  "catalogs/narratives/product-launch.json",
3236
3389
  "catalogs/narratives/project-proposal.json",
3390
+ "catalogs/narratives/pyramid-principle.json",
3237
3391
  "catalogs/narratives/qbr.json",
3238
3392
  "catalogs/narratives/rags-to-riches.json",
3239
3393
  "catalogs/narratives/reveal.json",
3240
3394
  "catalogs/narratives/scqa.json",
3395
+ "catalogs/narratives/situation-complication-resolution.json",
3396
+ "catalogs/narratives/sparkline.json",
3397
+ "catalogs/narratives/star-method.json",
3241
3398
  "catalogs/narratives/status-update.json",
3242
3399
  "catalogs/narratives/strategic-advisory.json",
3243
3400
  "catalogs/narratives/strategic-narrative.json",
@@ -3247,7 +3404,9 @@ var specFilePaths = [
3247
3404
  "catalogs/narratives/trend-analysis.json",
3248
3405
  "catalogs/narratives/underdog-victory.json",
3249
3406
  "catalogs/narratives/venture-pitch.json",
3407
+ "catalogs/narratives/vision-roadmap.json",
3250
3408
  "catalogs/narratives/weekly-progress.json",
3409
+ "catalogs/narratives/what-so-what-now-what.json",
3251
3410
  "catalogs/purposes/align.json",
3252
3411
  "catalogs/purposes/decide.json",
3253
3412
  "catalogs/purposes/educate.json",
@@ -3355,6 +3514,8 @@ var specFilePaths = [
3355
3514
  "previews/layouts/waterfall-bridge.html",
3356
3515
  "previews/layouts/wheel-radial.html",
3357
3516
  "reference/engine-defaults.json",
3517
+ "reference/font-policy.json",
3518
+ "reference/font-policy.schema.json",
3358
3519
  "schemas/audience.schema.json",
3359
3520
  "schemas/catalog-index.schema.json",
3360
3521
  "schemas/chart-type.schema.json",
@@ -1,6 +1,6 @@
1
- import { assertValidPresentation, visitContentPayloads } from './chunk-CHKJ4QHQ.js';
2
- import { resolveFontFamilies, resolveCanvasDimensions, composeSlide, tableRowBoundaries } from './chunk-FTWNWFIV.js';
3
- import { catalogs } from './chunk-6FU2KICU.js';
1
+ import { assertValidPresentation, visitContentPayloads } from './chunk-DJRZMGKY.js';
2
+ import { DEFAULT_FONT_SCHEME, resolveFontSchemeReference, resolveFontFamilies, resolveCanvasDimensions, composeSlide, tableRowBoundaries } from './chunk-BVLWFMDX.js';
3
+ import { catalogs } from './chunk-7LF37SG3.js';
4
4
 
5
5
  // src/pagination.ts
6
6
  var OPFPaginationError = class extends Error {
@@ -230,35 +230,55 @@ function paginateSlide(input, options = {}) {
230
230
  if (!slides.length) throw new OPFPaginationError("No body content can be paginated.", initial.diagnostics);
231
231
  return { slides, pages };
232
232
  }
233
+ var usesSlideTotal = (presentation) => [presentation, ...presentation.slides].some((owner) => ["header", "footer"].some((kind) => ["left", "center", "right"].some((zone) => {
234
+ const content = owner?.design?.[kind]?.[zone];
235
+ return content?.slideNumber === true && typeof content.slideNumberFormat === "string" && content.slideNumberFormat.includes("{total}");
236
+ })));
233
237
  function paginatePresentation(input, options = {}) {
234
238
  assertValidPresentation(input);
235
239
  const presentation = clone(input);
236
240
  const maxSlides = options.maxSlides ?? 100;
237
241
  if (!Number.isInteger(maxSlides) || maxSlides < 1 || maxSlides > 1e4) throw new RangeError("maxSlides must be an integer between 1 and 10000.");
238
- const output = [], pages = [];
239
- const reservedIds = presentation.slides.flatMap((slide) => slideIds(slide));
242
+ const authoredIds = presentation.slides.flatMap((slide) => slideIds(slide));
240
243
  const resolve = (kind, id) => presentation.catalogs?.[kind]?.records?.find((record) => record.id === id) ?? catalogs[kind].find((record) => record.id === id);
241
- presentation.slides.forEach((slide, index) => {
242
- const overrides = options.slideOptions?.(slide, index) ?? {};
243
- const layout = overrides.layout ?? (slide.layout ? resolve("layouts", slide.layout) : void 0);
244
- if (slide.layout && !layout) throw new OPFPaginationError(`Layout '${slide.layout}' must be supplied inline or resolved by the host before pagination.`);
245
- const design = { ...presentation.design, ...slide.design };
246
- const reference = design.theme ?? "minimal";
247
- const theme = typeof reference === "string" ? resolve("themes", reference) : { ...resolve("themes", reference.id), ...reference };
248
- if (!theme) throw new OPFPaginationError(`Theme '${reference}' must be supplied inline before pagination.`);
249
- if (output.length >= maxSlides) throw new OPFPaginationError(`Pagination needs more than ${maxSlides} slides. No partial result was returned.`);
250
- const fontReference = design.fontScheme ?? theme.fontScheme ?? "roboto";
251
- const fontScheme = typeof fontReference === "string" ? resolve("fontSchemes", fontReference) : { ...resolve("fontSchemes", fontReference.id), ...fontReference };
252
- const fonts = resolveFontFamilies(fontScheme);
253
- const result = paginateSlide(slide, { ...resolveCanvasDimensions(design.dimensions ?? theme.dimensions), layout, fonts, contentAlignment: design.contentAlignment, titleAlignment: design.titleAlignment, contentBox: design.contentBox, textMeasurement: options.textMeasurement, textRasterPadding: options.textRasterPadding, ...overrides, presentation, slideIndex: index, slideNumber: output.length + 1, maxSlides: maxSlides - output.length, minFontSize: options.minFontSize, reservedIds });
254
- const outputStart = output.length;
255
- result.pages.forEach((page, pageIndex) => {
256
- const remap = (mapping) => ({ ...mapping, outputPath: mapping.outputPath.replace(/^slides\.\d+/, `slides.${outputStart + pageIndex}`) });
257
- pages.push({ sourceSlideIndex: index, slideIndex: outputStart + pageIndex, mappings: page.mappings.map(remap), ...page.repeatedMappings ? { repeatedMappings: page.repeatedMappings.map(remap) } : {} });
244
+ const reported = /* @__PURE__ */ new Set();
245
+ const run = (slideCount2) => {
246
+ const output2 = [], pages2 = [], reservedIds = [...authoredIds];
247
+ presentation.slides.forEach((slide, index) => {
248
+ const overrides = options.slideOptions?.(slide, index) ?? {};
249
+ const layout = overrides.layout ?? (slide.layout ? resolve("layouts", slide.layout) : void 0);
250
+ if (slide.layout && !layout) throw new OPFPaginationError(`Layout '${slide.layout}' must be supplied inline or resolved by the host before pagination.`);
251
+ const design = { ...presentation.design, ...slide.design };
252
+ const reference = design.theme ?? "minimal";
253
+ const theme = typeof reference === "string" ? resolve("themes", reference) : { ...resolve("themes", reference.id), ...reference };
254
+ if (!theme) throw new OPFPaginationError(`Theme '${reference}' must be supplied inline before pagination.`);
255
+ if (output2.length >= maxSlides) throw new OPFPaginationError(`Pagination needs more than ${maxSlides} slides. No partial result was returned.`);
256
+ const fontReference = design.fontScheme ?? theme.fontScheme ?? DEFAULT_FONT_SCHEME;
257
+ const fontPath = slide.design?.fontScheme !== void 0 ? `slides.${index}.design.fontScheme` : presentation.design?.fontScheme !== void 0 ? "design.fontScheme" : slide.design?.theme !== void 0 ? `slides.${index}.design.theme` : "design.theme";
258
+ const { scheme: fontScheme, diagnostic } = resolveFontSchemeReference(fontReference, (id) => resolve("fontSchemes", id), fontPath);
259
+ if (diagnostic && !reported.has(diagnostic.path)) {
260
+ reported.add(diagnostic.path);
261
+ options.onDiagnostic?.(diagnostic);
262
+ }
263
+ const fonts = resolveFontFamilies(fontScheme);
264
+ const result2 = paginateSlide(slide, { ...resolveCanvasDimensions(design.dimensions ?? theme.dimensions), layout, fonts, contentAlignment: design.contentAlignment, titleAlignment: design.titleAlignment, contentBox: design.contentBox, textMeasurement: options.textMeasurement, textRasterPadding: options.textRasterPadding, socialPlatforms: catalogs.socialPlatforms, ...overrides, presentation, slideIndex: index, slideNumber: output2.length + 1, slideCount: slideCount2, date: options.date, maxSlides: maxSlides - output2.length, minFontSize: options.minFontSize, reservedIds });
265
+ const outputStart = output2.length;
266
+ result2.pages.forEach((page, pageIndex) => {
267
+ const remap = (mapping) => ({ ...mapping, outputPath: mapping.outputPath.replace(/^slides\.\d+/, `slides.${outputStart + pageIndex}`) });
268
+ pages2.push({ sourceSlideIndex: index, slideIndex: outputStart + pageIndex, mappings: page.mappings.map(remap), ...page.repeatedMappings ? { repeatedMappings: page.repeatedMappings.map(remap) } : {} });
269
+ });
270
+ output2.push(...result2.slides);
271
+ reservedIds.push(...result2.slides.flatMap((slide2) => slideIds(slide2)));
258
272
  });
259
- output.push(...result.slides);
260
- reservedIds.push(...result.slides.flatMap((slide2) => slideIds(slide2)));
261
- });
273
+ return { output: output2, pages: pages2 };
274
+ };
275
+ let slideCount = presentation.slides.length, result = run(slideCount);
276
+ for (let attempt = 0; usesSlideTotal(presentation) && result.output.length !== slideCount; attempt++) {
277
+ if (attempt >= 3) throw new OPFPaginationError("Slide-number totals did not converge. Change the slide-number format or split the input.");
278
+ slideCount = result.output.length;
279
+ result = run(slideCount);
280
+ }
281
+ const { output, pages } = result;
262
282
  presentation.slides = output;
263
283
  assertValidPresentation(presentation);
264
284
  return { presentation, pages };