@openpresentation/opf 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (424) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +103 -0
  3. package/dist/catalogs.d.ts +33933 -0
  4. package/dist/catalogs.js +19113 -0
  5. package/dist/catalogs.js.map +1 -0
  6. package/dist/index.d.ts +4 -0
  7. package/dist/index.js +25815 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/schemas.d.ts +12361 -0
  10. package/dist/schemas.js +6266 -0
  11. package/dist/schemas.js.map +1 -0
  12. package/dist/spec/catalogs/audiences/all-hands.json +23 -0
  13. package/dist/spec/catalogs/audiences/board.json +22 -0
  14. package/dist/spec/catalogs/audiences/candidates.json +23 -0
  15. package/dist/spec/catalogs/audiences/customers.json +23 -0
  16. package/dist/spec/catalogs/audiences/engineering-team.json +23 -0
  17. package/dist/spec/catalogs/audiences/executives.json +23 -0
  18. package/dist/spec/catalogs/audiences/index.json +67 -0
  19. package/dist/spec/catalogs/audiences/investors.json +23 -0
  20. package/dist/spec/catalogs/audiences/marketing-team.json +23 -0
  21. package/dist/spec/catalogs/audiences/regulators.json +23 -0
  22. package/dist/spec/catalogs/audiences/sales-team.json +23 -0
  23. package/dist/spec/catalogs/chart-types/100pct-bullet-bar-2x.json +90 -0
  24. package/dist/spec/catalogs/chart-types/100pct-bullet-bar-3x.json +102 -0
  25. package/dist/spec/catalogs/chart-types/100pct-bullet-bar.json +78 -0
  26. package/dist/spec/catalogs/chart-types/100pct-bullet-column-2x.json +90 -0
  27. package/dist/spec/catalogs/chart-types/100pct-bullet-column-3x.json +102 -0
  28. package/dist/spec/catalogs/chart-types/100pct-bullet-column.json +78 -0
  29. package/dist/spec/catalogs/chart-types/100pct-progress-bar.json +99 -0
  30. package/dist/spec/catalogs/chart-types/100pct-stacked-area-2x.json +100 -0
  31. package/dist/spec/catalogs/chart-types/100pct-stacked-area-3x.json +122 -0
  32. package/dist/spec/catalogs/chart-types/100pct-stacked-bar-2x.json +83 -0
  33. package/dist/spec/catalogs/chart-types/100pct-stacked-bar-3x.json +99 -0
  34. package/dist/spec/catalogs/chart-types/100pct-stacked-column-2x.json +89 -0
  35. package/dist/spec/catalogs/chart-types/100pct-stacked-column-3x.json +107 -0
  36. package/dist/spec/catalogs/chart-types/area.json +77 -0
  37. package/dist/spec/catalogs/chart-types/australia.json +70 -0
  38. package/dist/spec/catalogs/chart-types/bar.json +67 -0
  39. package/dist/spec/catalogs/chart-types/box-and-whisker-2x.json +130 -0
  40. package/dist/spec/catalogs/chart-types/box-and-whisker-3x.json +162 -0
  41. package/dist/spec/catalogs/chart-types/box-and-whisker.json +98 -0
  42. package/dist/spec/catalogs/chart-types/bullet-bar-2x.json +88 -0
  43. package/dist/spec/catalogs/chart-types/bullet-bar-3x.json +100 -0
  44. package/dist/spec/catalogs/chart-types/bullet-bar.json +76 -0
  45. package/dist/spec/catalogs/chart-types/bullet-column-2x.json +88 -0
  46. package/dist/spec/catalogs/chart-types/bullet-column-3x.json +100 -0
  47. package/dist/spec/catalogs/chart-types/bullet-column.json +76 -0
  48. package/dist/spec/catalogs/chart-types/canada.json +80 -0
  49. package/dist/spec/catalogs/chart-types/clustered-bar-2x.json +83 -0
  50. package/dist/spec/catalogs/chart-types/clustered-column.json +89 -0
  51. package/dist/spec/catalogs/chart-types/column.json +71 -0
  52. package/dist/spec/catalogs/chart-types/dot-plot-2x.json +98 -0
  53. package/dist/spec/catalogs/chart-types/dot-plot-3x.json +123 -0
  54. package/dist/spec/catalogs/chart-types/dot-plot-4x.json +148 -0
  55. package/dist/spec/catalogs/chart-types/dot-plot-5x.json +173 -0
  56. package/dist/spec/catalogs/chart-types/dot-plot-6x.json +198 -0
  57. package/dist/spec/catalogs/chart-types/dot-plot.json +73 -0
  58. package/dist/spec/catalogs/chart-types/doughnut.json +57 -0
  59. package/dist/spec/catalogs/chart-types/dumbbell.json +119 -0
  60. package/dist/spec/catalogs/chart-types/filled-radar.json +70 -0
  61. package/dist/spec/catalogs/chart-types/funnel.json +64 -0
  62. package/dist/spec/catalogs/chart-types/histogram.json +145 -0
  63. package/dist/spec/catalogs/chart-types/index.json +843 -0
  64. package/dist/spec/catalogs/chart-types/line-2x.json +99 -0
  65. package/dist/spec/catalogs/chart-types/line-3x.json +121 -0
  66. package/dist/spec/catalogs/chart-types/line-with-high-low-and-markers.json +143 -0
  67. package/dist/spec/catalogs/chart-types/line-with-high-low.json +143 -0
  68. package/dist/spec/catalogs/chart-types/line-with-markers-2x.json +100 -0
  69. package/dist/spec/catalogs/chart-types/line-with-markers-3x.json +122 -0
  70. package/dist/spec/catalogs/chart-types/line-with-markers.json +78 -0
  71. package/dist/spec/catalogs/chart-types/line.json +77 -0
  72. package/dist/spec/catalogs/chart-types/pareto.json +163 -0
  73. package/dist/spec/catalogs/chart-types/pie.json +57 -0
  74. package/dist/spec/catalogs/chart-types/radar-with-markers.json +70 -0
  75. package/dist/spec/catalogs/chart-types/radar.json +70 -0
  76. package/dist/spec/catalogs/chart-types/scatter.json +91 -0
  77. package/dist/spec/catalogs/chart-types/sparkline-2x.json +137 -0
  78. package/dist/spec/catalogs/chart-types/sparkline-3x.json +173 -0
  79. package/dist/spec/catalogs/chart-types/sparkline-4x.json +209 -0
  80. package/dist/spec/catalogs/chart-types/sparkline-5x.json +245 -0
  81. package/dist/spec/catalogs/chart-types/sparkline-6x.json +281 -0
  82. package/dist/spec/catalogs/chart-types/sparkline.json +101 -0
  83. package/dist/spec/catalogs/chart-types/stacked-area-2x.json +100 -0
  84. package/dist/spec/catalogs/chart-types/stacked-area-3x.json +122 -0
  85. package/dist/spec/catalogs/chart-types/stacked-bar-2x.json +83 -0
  86. package/dist/spec/catalogs/chart-types/stacked-bar-3x.json +99 -0
  87. package/dist/spec/catalogs/chart-types/stacked-column-2x.json +89 -0
  88. package/dist/spec/catalogs/chart-types/stacked-column-3x.json +107 -0
  89. package/dist/spec/catalogs/chart-types/stacked-line-2x.json +100 -0
  90. package/dist/spec/catalogs/chart-types/stacked-line-3x.json +122 -0
  91. package/dist/spec/catalogs/chart-types/stacked-line-with-markers-2x.json +101 -0
  92. package/dist/spec/catalogs/chart-types/stacked-line-with-markers-3x.json +123 -0
  93. package/dist/spec/catalogs/chart-types/treemap-2x.json +95 -0
  94. package/dist/spec/catalogs/chart-types/treemap-3x.json +116 -0
  95. package/dist/spec/catalogs/chart-types/treemap.json +66 -0
  96. package/dist/spec/catalogs/chart-types/united-kindom.json +62 -0
  97. package/dist/spec/catalogs/chart-types/united-states.json +76 -0
  98. package/dist/spec/catalogs/chart-types/waterfall.json +70 -0
  99. package/dist/spec/catalogs/chart-types/world.json +82 -0
  100. package/dist/spec/catalogs/color-schemes/black-and-white.json +17 -0
  101. package/dist/spec/catalogs/color-schemes/bold-red.json +17 -0
  102. package/dist/spec/catalogs/color-schemes/boost.json +17 -0
  103. package/dist/spec/catalogs/color-schemes/burnt-orange.json +17 -0
  104. package/dist/spec/catalogs/color-schemes/cool-horizon.json +17 -0
  105. package/dist/spec/catalogs/color-schemes/corporate-blue.json +17 -0
  106. package/dist/spec/catalogs/color-schemes/deep-purple.json +17 -0
  107. package/dist/spec/catalogs/color-schemes/forest-green.json +17 -0
  108. package/dist/spec/catalogs/color-schemes/golden-yellow.json +17 -0
  109. package/dist/spec/catalogs/color-schemes/index.json +77 -0
  110. package/dist/spec/catalogs/color-schemes/luxury.json +17 -0
  111. package/dist/spec/catalogs/color-schemes/pastel-red.json +17 -0
  112. package/dist/spec/catalogs/color-schemes/slate-gray.json +17 -0
  113. package/dist/spec/catalogs/color-schemes/steel-blue.json +17 -0
  114. package/dist/spec/catalogs/color-schemes/vibes.json +17 -0
  115. package/dist/spec/catalogs/font-schemes/angsana-new.json +14 -0
  116. package/dist/spec/catalogs/font-schemes/aparajita.json +15 -0
  117. package/dist/spec/catalogs/font-schemes/aptos.json +12 -0
  118. package/dist/spec/catalogs/font-schemes/arabic-typesetting.json +14 -0
  119. package/dist/spec/catalogs/font-schemes/arial.json +12 -0
  120. package/dist/spec/catalogs/font-schemes/batang.json +14 -0
  121. package/dist/spec/catalogs/font-schemes/bookman.json +12 -0
  122. package/dist/spec/catalogs/font-schemes/calibri.json +12 -0
  123. package/dist/spec/catalogs/font-schemes/century-schoolbook.json +12 -0
  124. package/dist/spec/catalogs/font-schemes/consolas.json +12 -0
  125. package/dist/spec/catalogs/font-schemes/constantia.json +12 -0
  126. package/dist/spec/catalogs/font-schemes/courier-new.json +12 -0
  127. package/dist/spec/catalogs/font-schemes/daunpenh.json +14 -0
  128. package/dist/spec/catalogs/font-schemes/david.json +14 -0
  129. package/dist/spec/catalogs/font-schemes/dilleniaupc.json +14 -0
  130. package/dist/spec/catalogs/font-schemes/fangsong.json +14 -0
  131. package/dist/spec/catalogs/font-schemes/garamond.json +12 -0
  132. package/dist/spec/catalogs/font-schemes/gautami.json +14 -0
  133. package/dist/spec/catalogs/font-schemes/georgia.json +12 -0
  134. package/dist/spec/catalogs/font-schemes/gisha.json +15 -0
  135. package/dist/spec/catalogs/font-schemes/grandview.json +12 -0
  136. package/dist/spec/catalogs/font-schemes/gungsuh.json +14 -0
  137. package/dist/spec/catalogs/font-schemes/impact.json +12 -0
  138. package/dist/spec/catalogs/font-schemes/index.json +452 -0
  139. package/dist/spec/catalogs/font-schemes/kalinga.json +14 -0
  140. package/dist/spec/catalogs/font-schemes/kartika.json +14 -0
  141. package/dist/spec/catalogs/font-schemes/khmer-ui.json +14 -0
  142. package/dist/spec/catalogs/font-schemes/latha.json +14 -0
  143. package/dist/spec/catalogs/font-schemes/lucida-sans.json +12 -0
  144. package/dist/spec/catalogs/font-schemes/malgun-gothic.json +14 -0
  145. package/dist/spec/catalogs/font-schemes/mangal.json +17 -0
  146. package/dist/spec/catalogs/font-schemes/meiryo.json +14 -0
  147. package/dist/spec/catalogs/font-schemes/microsoft-jhenghei.json +14 -0
  148. package/dist/spec/catalogs/font-schemes/microsoft-yahei.json +17 -0
  149. package/dist/spec/catalogs/font-schemes/mingliu.json +14 -0
  150. package/dist/spec/catalogs/font-schemes/miriam.json +14 -0
  151. package/dist/spec/catalogs/font-schemes/montserrat.json +12 -0
  152. package/dist/spec/catalogs/font-schemes/ms-mincho.json +14 -0
  153. package/dist/spec/catalogs/font-schemes/nirmala-ui.json +14 -0
  154. package/dist/spec/catalogs/font-schemes/noto-naksh-arabic.json +14 -0
  155. package/dist/spec/catalogs/font-schemes/noto-nastaliq-urdu.json +15 -0
  156. package/dist/spec/catalogs/font-schemes/noto-sans-arabic.json +16 -0
  157. package/dist/spec/catalogs/font-schemes/noto-sans-armenian.json +14 -0
  158. package/dist/spec/catalogs/font-schemes/noto-sans-bengali.json +15 -0
  159. package/dist/spec/catalogs/font-schemes/noto-sans-devangari.json +15 -0
  160. package/dist/spec/catalogs/font-schemes/noto-sans-ethiopic.json +14 -0
  161. package/dist/spec/catalogs/font-schemes/noto-sans-georgian.json +14 -0
  162. package/dist/spec/catalogs/font-schemes/noto-sans-gujarati.json +14 -0
  163. package/dist/spec/catalogs/font-schemes/noto-sans-gurmukhi.json +14 -0
  164. package/dist/spec/catalogs/font-schemes/noto-sans-hebrew.json +14 -0
  165. package/dist/spec/catalogs/font-schemes/noto-sans-jp.json +14 -0
  166. package/dist/spec/catalogs/font-schemes/noto-sans-kannada.json +14 -0
  167. package/dist/spec/catalogs/font-schemes/noto-sans-khmer.json +14 -0
  168. package/dist/spec/catalogs/font-schemes/noto-sans-kr.json +14 -0
  169. package/dist/spec/catalogs/font-schemes/noto-sans-malayalam.json +14 -0
  170. package/dist/spec/catalogs/font-schemes/noto-sans-mongolian.json +14 -0
  171. package/dist/spec/catalogs/font-schemes/noto-sans-oriya.json +14 -0
  172. package/dist/spec/catalogs/font-schemes/noto-sans-sc.json +17 -0
  173. package/dist/spec/catalogs/font-schemes/noto-sans-tamil.json +14 -0
  174. package/dist/spec/catalogs/font-schemes/noto-sans-tc.json +14 -0
  175. package/dist/spec/catalogs/font-schemes/noto-sans-telugu.json +14 -0
  176. package/dist/spec/catalogs/font-schemes/noto-sans-thai.json +14 -0
  177. package/dist/spec/catalogs/font-schemes/noto-sans.json +17 -0
  178. package/dist/spec/catalogs/font-schemes/nyala.json +14 -0
  179. package/dist/spec/catalogs/font-schemes/open-sans.json +12 -0
  180. package/dist/spec/catalogs/font-schemes/pmingliu.json +14 -0
  181. package/dist/spec/catalogs/font-schemes/poppins.json +12 -0
  182. package/dist/spec/catalogs/font-schemes/pt-serif.json +12 -0
  183. package/dist/spec/catalogs/font-schemes/raavi.json +14 -0
  184. package/dist/spec/catalogs/font-schemes/raleway.json +12 -0
  185. package/dist/spec/catalogs/font-schemes/roboto.json +12 -0
  186. package/dist/spec/catalogs/font-schemes/rockwell.json +12 -0
  187. package/dist/spec/catalogs/font-schemes/sakkal-majalla.json +16 -0
  188. package/dist/spec/catalogs/font-schemes/seaford.json +12 -0
  189. package/dist/spec/catalogs/font-schemes/segoe-ui-light.json +12 -0
  190. package/dist/spec/catalogs/font-schemes/segoe-ui.json +12 -0
  191. package/dist/spec/catalogs/font-schemes/shonar-bangla.json +15 -0
  192. package/dist/spec/catalogs/font-schemes/shruti.json +14 -0
  193. package/dist/spec/catalogs/font-schemes/simsun.json +14 -0
  194. package/dist/spec/catalogs/font-schemes/skeena.json +12 -0
  195. package/dist/spec/catalogs/font-schemes/sylfaen.json +15 -0
  196. package/dist/spec/catalogs/font-schemes/tahoma.json +12 -0
  197. package/dist/spec/catalogs/font-schemes/tenorite.json +12 -0
  198. package/dist/spec/catalogs/font-schemes/times-new-roman.json +12 -0
  199. package/dist/spec/catalogs/font-schemes/traditional-arabic.json +16 -0
  200. package/dist/spec/catalogs/font-schemes/trebuchet-ms.json +12 -0
  201. package/dist/spec/catalogs/font-schemes/tunga.json +14 -0
  202. package/dist/spec/catalogs/font-schemes/verdana.json +12 -0
  203. package/dist/spec/catalogs/font-schemes/vrinda.json +14 -0
  204. package/dist/spec/catalogs/font-schemes/yu-gothic.json +14 -0
  205. package/dist/spec/catalogs/languages/afrikaans.json +9 -0
  206. package/dist/spec/catalogs/languages/albanian.json +9 -0
  207. package/dist/spec/catalogs/languages/amharic.json +9 -0
  208. package/dist/spec/catalogs/languages/arabic.json +9 -0
  209. package/dist/spec/catalogs/languages/armenian.json +9 -0
  210. package/dist/spec/catalogs/languages/aymara.json +9 -0
  211. package/dist/spec/catalogs/languages/azerbaijani.json +9 -0
  212. package/dist/spec/catalogs/languages/bengali.json +9 -0
  213. package/dist/spec/catalogs/languages/berber-latin.json +9 -0
  214. package/dist/spec/catalogs/languages/bosnian-latin.json +9 -0
  215. package/dist/spec/catalogs/languages/bulgarian.json +9 -0
  216. package/dist/spec/catalogs/languages/catalan.json +9 -0
  217. package/dist/spec/catalogs/languages/cebuano.json +9 -0
  218. package/dist/spec/catalogs/languages/chinese-simplified.json +9 -0
  219. package/dist/spec/catalogs/languages/chinese-traditional.json +9 -0
  220. package/dist/spec/catalogs/languages/chittagonian.json +9 -0
  221. package/dist/spec/catalogs/languages/croatian.json +9 -0
  222. package/dist/spec/catalogs/languages/czech.json +9 -0
  223. package/dist/spec/catalogs/languages/danish.json +9 -0
  224. package/dist/spec/catalogs/languages/dutch.json +9 -0
  225. package/dist/spec/catalogs/languages/english-au.json +9 -0
  226. package/dist/spec/catalogs/languages/english-ca.json +9 -0
  227. package/dist/spec/catalogs/languages/english-gb.json +9 -0
  228. package/dist/spec/catalogs/languages/english-in.json +9 -0
  229. package/dist/spec/catalogs/languages/english-us.json +9 -0
  230. package/dist/spec/catalogs/languages/english.json +9 -0
  231. package/dist/spec/catalogs/languages/estonian.json +9 -0
  232. package/dist/spec/catalogs/languages/filipino.json +9 -0
  233. package/dist/spec/catalogs/languages/finnish.json +9 -0
  234. package/dist/spec/catalogs/languages/french.json +9 -0
  235. package/dist/spec/catalogs/languages/fulfulde.json +9 -0
  236. package/dist/spec/catalogs/languages/galician.json +9 -0
  237. package/dist/spec/catalogs/languages/georgian.json +9 -0
  238. package/dist/spec/catalogs/languages/german.json +9 -0
  239. package/dist/spec/catalogs/languages/greek.json +9 -0
  240. package/dist/spec/catalogs/languages/gujarati.json +9 -0
  241. package/dist/spec/catalogs/languages/hausa.json +9 -0
  242. package/dist/spec/catalogs/languages/hebrew.json +9 -0
  243. package/dist/spec/catalogs/languages/hindi.json +9 -0
  244. package/dist/spec/catalogs/languages/hungarian.json +9 -0
  245. package/dist/spec/catalogs/languages/igbo.json +9 -0
  246. package/dist/spec/catalogs/languages/index.json +565 -0
  247. package/dist/spec/catalogs/languages/indonesian.json +9 -0
  248. package/dist/spec/catalogs/languages/italian.json +9 -0
  249. package/dist/spec/catalogs/languages/japanese.json +9 -0
  250. package/dist/spec/catalogs/languages/kannada.json +9 -0
  251. package/dist/spec/catalogs/languages/kazakh.json +9 -0
  252. package/dist/spec/catalogs/languages/khmer.json +9 -0
  253. package/dist/spec/catalogs/languages/kinyarwanda.json +9 -0
  254. package/dist/spec/catalogs/languages/korean.json +9 -0
  255. package/dist/spec/catalogs/languages/kurmanji.json +9 -0
  256. package/dist/spec/catalogs/languages/latvian.json +9 -0
  257. package/dist/spec/catalogs/languages/lithuanian.json +9 -0
  258. package/dist/spec/catalogs/languages/macedonian.json +9 -0
  259. package/dist/spec/catalogs/languages/malagasy.json +9 -0
  260. package/dist/spec/catalogs/languages/malay.json +9 -0
  261. package/dist/spec/catalogs/languages/malayalam.json +9 -0
  262. package/dist/spec/catalogs/languages/maori.json +9 -0
  263. package/dist/spec/catalogs/languages/marathi.json +9 -0
  264. package/dist/spec/catalogs/languages/mongolian.json +9 -0
  265. package/dist/spec/catalogs/languages/nepali.json +9 -0
  266. package/dist/spec/catalogs/languages/norwegian.json +9 -0
  267. package/dist/spec/catalogs/languages/odia.json +9 -0
  268. package/dist/spec/catalogs/languages/oromo.json +9 -0
  269. package/dist/spec/catalogs/languages/pashto.json +9 -0
  270. package/dist/spec/catalogs/languages/persian.json +9 -0
  271. package/dist/spec/catalogs/languages/polish.json +9 -0
  272. package/dist/spec/catalogs/languages/portuguese.json +9 -0
  273. package/dist/spec/catalogs/languages/punjabi-gurmukhi.json +9 -0
  274. package/dist/spec/catalogs/languages/punjabi-shahmukhi.json +9 -0
  275. package/dist/spec/catalogs/languages/romanian.json +9 -0
  276. package/dist/spec/catalogs/languages/russian.json +9 -0
  277. package/dist/spec/catalogs/languages/serbian-cyrillic.json +9 -0
  278. package/dist/spec/catalogs/languages/serbian-latin.json +9 -0
  279. package/dist/spec/catalogs/languages/shona.json +9 -0
  280. package/dist/spec/catalogs/languages/slovak.json +9 -0
  281. package/dist/spec/catalogs/languages/slovenian.json +9 -0
  282. package/dist/spec/catalogs/languages/somali.json +9 -0
  283. package/dist/spec/catalogs/languages/spanish.json +9 -0
  284. package/dist/spec/catalogs/languages/swahili.json +9 -0
  285. package/dist/spec/catalogs/languages/swedish.json +9 -0
  286. package/dist/spec/catalogs/languages/tagalog.json +9 -0
  287. package/dist/spec/catalogs/languages/tajik.json +9 -0
  288. package/dist/spec/catalogs/languages/tamil.json +9 -0
  289. package/dist/spec/catalogs/languages/telugu.json +9 -0
  290. package/dist/spec/catalogs/languages/thai.json +9 -0
  291. package/dist/spec/catalogs/languages/turkish.json +9 -0
  292. package/dist/spec/catalogs/languages/ukrainian.json +9 -0
  293. package/dist/spec/catalogs/languages/urdu.json +9 -0
  294. package/dist/spec/catalogs/languages/uzbek-latin.json +9 -0
  295. package/dist/spec/catalogs/languages/vietnamese-quoc-ngu.json +9 -0
  296. package/dist/spec/catalogs/languages/xhosa.json +9 -0
  297. package/dist/spec/catalogs/languages/yoruba.json +9 -0
  298. package/dist/spec/catalogs/languages/zulu.json +9 -0
  299. package/dist/spec/catalogs/layouts/blank.json +6 -0
  300. package/dist/spec/catalogs/layouts/chart-1x.json +16 -0
  301. package/dist/spec/catalogs/layouts/chart-2x.json +22 -0
  302. package/dist/spec/catalogs/layouts/chart-3x.json +28 -0
  303. package/dist/spec/catalogs/layouts/code-1x.json +16 -0
  304. package/dist/spec/catalogs/layouts/extract/canonical.json +487 -0
  305. package/dist/spec/catalogs/layouts/image-1x.json +16 -0
  306. package/dist/spec/catalogs/layouts/image-2x.json +22 -0
  307. package/dist/spec/catalogs/layouts/image-3x.json +28 -0
  308. package/dist/spec/catalogs/layouts/image-bleed.json +10 -0
  309. package/dist/spec/catalogs/layouts/index.json +147 -0
  310. package/dist/spec/catalogs/layouts/list-1x.json +13 -0
  311. package/dist/spec/catalogs/layouts/list-2x.json +16 -0
  312. package/dist/spec/catalogs/layouts/list-3x.json +19 -0
  313. package/dist/spec/catalogs/layouts/list-4x.json +22 -0
  314. package/dist/spec/catalogs/layouts/list-5x.json +25 -0
  315. package/dist/spec/catalogs/layouts/list-6x.json +28 -0
  316. package/dist/spec/catalogs/layouts/media-1x.json +16 -0
  317. package/dist/spec/catalogs/layouts/number-1x.json +13 -0
  318. package/dist/spec/catalogs/layouts/number-2x.json +16 -0
  319. package/dist/spec/catalogs/layouts/number-3x.json +19 -0
  320. package/dist/spec/catalogs/layouts/number-4x.json +22 -0
  321. package/dist/spec/catalogs/layouts/number-5x.json +25 -0
  322. package/dist/spec/catalogs/layouts/number-6x.json +28 -0
  323. package/dist/spec/catalogs/layouts/table-1x.json +16 -0
  324. package/dist/spec/catalogs/layouts/text-1x.json +13 -0
  325. package/dist/spec/catalogs/layouts/text-2x.json +16 -0
  326. package/dist/spec/catalogs/layouts/text-3x.json +19 -0
  327. package/dist/spec/catalogs/layouts/title-subtitle.json +13 -0
  328. package/dist/spec/catalogs/layouts/title.json +10 -0
  329. package/dist/spec/catalogs/narratives/board-meeting.json +192 -0
  330. package/dist/spec/catalogs/narratives/business-narrative.json +87 -0
  331. package/dist/spec/catalogs/narratives/business-review.json +119 -0
  332. package/dist/spec/catalogs/narratives/capacity-planning.json +88 -0
  333. package/dist/spec/catalogs/narratives/challenge-resolution.json +80 -0
  334. package/dist/spec/catalogs/narratives/classic-story.json +78 -0
  335. package/dist/spec/catalogs/narratives/company-intro.json +96 -0
  336. package/dist/spec/catalogs/narratives/conference-talk.json +54 -0
  337. package/dist/spec/catalogs/narratives/early-startup-pitch.json +119 -0
  338. package/dist/spec/catalogs/narratives/educate.json +95 -0
  339. package/dist/spec/catalogs/narratives/employee-review.json +87 -0
  340. package/dist/spec/catalogs/narratives/failure-analysis.json +104 -0
  341. package/dist/spec/catalogs/narratives/focus.json +120 -0
  342. package/dist/spec/catalogs/narratives/golden-circle.json +50 -0
  343. package/dist/spec/catalogs/narratives/index.json +358 -0
  344. package/dist/spec/catalogs/narratives/innovation.json +96 -0
  345. package/dist/spec/catalogs/narratives/justice.json +112 -0
  346. package/dist/spec/catalogs/narratives/marketing-strategy.json +111 -0
  347. package/dist/spec/catalogs/narratives/performance-improvement-plan.json +87 -0
  348. package/dist/spec/catalogs/narratives/performance-review.json +111 -0
  349. package/dist/spec/catalogs/narratives/persuade.json +94 -0
  350. package/dist/spec/catalogs/narratives/persuasive-sales.json +87 -0
  351. package/dist/spec/catalogs/narratives/pitch-deck.json +107 -0
  352. package/dist/spec/catalogs/narratives/problem-solution.json +61 -0
  353. package/dist/spec/catalogs/narratives/product-launch.json +104 -0
  354. package/dist/spec/catalogs/narratives/project-proposal.json +104 -0
  355. package/dist/spec/catalogs/narratives/qbr.json +85 -0
  356. package/dist/spec/catalogs/narratives/rags-to-riches.json +80 -0
  357. package/dist/spec/catalogs/narratives/reveal.json +87 -0
  358. package/dist/spec/catalogs/narratives/scqa.json +55 -0
  359. package/dist/spec/catalogs/narratives/status-update.json +72 -0
  360. package/dist/spec/catalogs/narratives/strategic-advisory.json +85 -0
  361. package/dist/spec/catalogs/narratives/strategic-narrative.json +61 -0
  362. package/dist/spec/catalogs/narratives/survey-analysis.json +104 -0
  363. package/dist/spec/catalogs/narratives/survival-story.json +103 -0
  364. package/dist/spec/catalogs/narratives/transformation-arc.json +50 -0
  365. package/dist/spec/catalogs/narratives/trend-analysis.json +79 -0
  366. package/dist/spec/catalogs/narratives/underdog-victory.json +87 -0
  367. package/dist/spec/catalogs/narratives/venture-pitch.json +109 -0
  368. package/dist/spec/catalogs/narratives/weekly-progress.json +103 -0
  369. package/dist/spec/catalogs/purposes/align.json +16 -0
  370. package/dist/spec/catalogs/purposes/decide.json +16 -0
  371. package/dist/spec/catalogs/purposes/educate.json +16 -0
  372. package/dist/spec/catalogs/purposes/index.json +61 -0
  373. package/dist/spec/catalogs/purposes/inform.json +16 -0
  374. package/dist/spec/catalogs/purposes/persuade.json +16 -0
  375. package/dist/spec/catalogs/purposes/pitch.json +16 -0
  376. package/dist/spec/catalogs/purposes/plan.json +16 -0
  377. package/dist/spec/catalogs/purposes/report.json +16 -0
  378. package/dist/spec/catalogs/purposes/sell.json +16 -0
  379. package/dist/spec/catalogs/social-platforms/bluesky.json +14 -0
  380. package/dist/spec/catalogs/social-platforms/facebook.json +14 -0
  381. package/dist/spec/catalogs/social-platforms/github.json +15 -0
  382. package/dist/spec/catalogs/social-platforms/index.json +68 -0
  383. package/dist/spec/catalogs/social-platforms/instagram.json +13 -0
  384. package/dist/spec/catalogs/social-platforms/linkedin.json +15 -0
  385. package/dist/spec/catalogs/social-platforms/mastodon.json +14 -0
  386. package/dist/spec/catalogs/social-platforms/threads.json +13 -0
  387. package/dist/spec/catalogs/social-platforms/tiktok.json +14 -0
  388. package/dist/spec/catalogs/social-platforms/x.json +14 -0
  389. package/dist/spec/catalogs/social-platforms/youtube.json +14 -0
  390. package/dist/spec/catalogs/themes/bold.json +13 -0
  391. package/dist/spec/catalogs/themes/classic.json +13 -0
  392. package/dist/spec/catalogs/themes/dark.json +13 -0
  393. package/dist/spec/catalogs/themes/index.json +31 -0
  394. package/dist/spec/catalogs/themes/minimal.json +13 -0
  395. package/dist/spec/catalogs/tones/authoritative.json +31 -0
  396. package/dist/spec/catalogs/tones/casual.json +31 -0
  397. package/dist/spec/catalogs/tones/conversational.json +31 -0
  398. package/dist/spec/catalogs/tones/formal.json +31 -0
  399. package/dist/spec/catalogs/tones/index.json +49 -0
  400. package/dist/spec/catalogs/tones/inspirational.json +31 -0
  401. package/dist/spec/catalogs/tones/persuasive.json +32 -0
  402. package/dist/spec/catalogs/tones/technical.json +31 -0
  403. package/dist/spec/openapi.yaml +776 -0
  404. package/dist/spec/reference/engine-defaults.json +35 -0
  405. package/dist/spec/schemas/audience.schema.json +156 -0
  406. package/dist/spec/schemas/chart-type.schema.json +537 -0
  407. package/dist/spec/schemas/color-scheme.schema.json +200 -0
  408. package/dist/spec/schemas/font-scheme.schema.json +174 -0
  409. package/dist/spec/schemas/language.schema.json +158 -0
  410. package/dist/spec/schemas/layout.schema.json +280 -0
  411. package/dist/spec/schemas/narrative.schema.json +207 -0
  412. package/dist/spec/schemas/opf.schema.json +2537 -0
  413. package/dist/spec/schemas/purpose.schema.json +92 -0
  414. package/dist/spec/schemas/social-platform.schema.json +184 -0
  415. package/dist/spec/schemas/theme.schema.json +168 -0
  416. package/dist/spec/schemas/tone.schema.json +146 -0
  417. package/dist/types.d.ts +1102 -0
  418. package/dist/types.js +3 -0
  419. package/dist/types.js.map +1 -0
  420. package/dist/validator-Be5EzqAt.d.ts +2700 -0
  421. package/dist/validator.d.ts +3 -0
  422. package/dist/validator.js +6694 -0
  423. package/dist/validator.js.map +1 -0
  424. package/package.json +80 -0
@@ -0,0 +1,23 @@
1
+ {
2
+ "$schema": "https://openpresentation.org/schema/opf-audience/v1",
3
+ "id": "all-hands",
4
+ "name": "All Hands",
5
+ "summary": "The full company — mixed roles, mixed seniority, looking for context, signal, and inclusion.",
6
+ "description": "An all-hands audience spans the whole company. Frame the period in terms anyone can grasp: what we did, what mattered, and what's next. Highlight people and teams; surface successes and challenges; close on a forward-looking note. Avoid lapsing into function-specific jargon.",
7
+ "seniority": "mixed",
8
+ "technicalFluency": "mixed",
9
+ "decisionPower": "informational",
10
+ "attentionBudgetMinutes": 60,
11
+ "recommendedNarratives": [
12
+ "company-intro",
13
+ "weekly-progress",
14
+ "qbr",
15
+ "rags-to-riches"
16
+ ],
17
+ "recommendedTones": [
18
+ "casual",
19
+ "inspirational",
20
+ "conversational"
21
+ ],
22
+ "tags": ["internal", "company-wide"]
23
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "$schema": "https://openpresentation.org/schema/opf-audience/v1",
3
+ "id": "board",
4
+ "name": "Board of Directors",
5
+ "summary": "Directors with fiduciary responsibility who balance oversight, advice, and approval.",
6
+ "description": "The board is governance-first. They want a complete picture: financial health, key metrics, functional updates, risks, and forward-looking topics. Surface bad news honestly — under-disclosure erodes trust faster than the problems themselves. Bring specific asks that turn the meeting into a working session rather than a recital.",
7
+ "seniority": "c-suite",
8
+ "technicalFluency": "medium",
9
+ "decisionPower": "decision-maker",
10
+ "attentionBudgetMinutes": 90,
11
+ "recommendedNarratives": [
12
+ "board-meeting",
13
+ "qbr",
14
+ "scqa",
15
+ "strategic-advisory"
16
+ ],
17
+ "recommendedTones": [
18
+ "formal",
19
+ "authoritative"
20
+ ],
21
+ "tags": ["governance", "oversight", "leadership"]
22
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "$schema": "https://openpresentation.org/schema/opf-audience/v1",
3
+ "id": "candidates",
4
+ "name": "Candidates",
5
+ "summary": "Potential hires evaluating company, role, and people.",
6
+ "description": "Candidates are weighing a major life decision and have many alternatives. Lead with mission and why-now, show the team they'll work with, and be honest about the stage. Avoid generic recruiting copy — specifics build trust faster than polish.",
7
+ "seniority": "mixed",
8
+ "technicalFluency": "mixed",
9
+ "decisionPower": "decision-maker",
10
+ "attentionBudgetMinutes": 45,
11
+ "recommendedNarratives": [
12
+ "company-intro",
13
+ "golden-circle",
14
+ "rags-to-riches",
15
+ "venture-pitch"
16
+ ],
17
+ "recommendedTones": [
18
+ "inspirational",
19
+ "casual",
20
+ "authoritative"
21
+ ],
22
+ "tags": ["external", "hiring", "recruiting"]
23
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "$schema": "https://openpresentation.org/schema/opf-audience/v1",
3
+ "id": "customers",
4
+ "name": "Customers",
5
+ "summary": "Buyers and users — outcome-focused, allergic to jargon, sensitive to time.",
6
+ "description": "Customer audiences want to know what changes for them. Lead with their problem in their language; show the solution as a path; demonstrate it with peers they recognize. Keep the technical depth in an appendix unless asked. Always close with the next concrete step (trial, pilot, intro).",
7
+ "seniority": "mixed",
8
+ "technicalFluency": "mixed",
9
+ "decisionPower": "decision-maker",
10
+ "attentionBudgetMinutes": 30,
11
+ "recommendedNarratives": [
12
+ "problem-solution",
13
+ "persuasive-sales",
14
+ "challenge-resolution",
15
+ "company-intro"
16
+ ],
17
+ "recommendedTones": [
18
+ "persuasive",
19
+ "casual",
20
+ "authoritative"
21
+ ],
22
+ "tags": ["external", "customer", "sales"]
23
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "$schema": "https://openpresentation.org/schema/opf-audience/v1",
3
+ "id": "engineering-team",
4
+ "name": "Engineering Team",
5
+ "summary": "Practitioners building the system; they want depth, mechanism, and tradeoffs.",
6
+ "description": "Engineers tune out generalities and tune in to specifics. Show benchmarks with conditions, architecture diagrams with constraints, and tradeoffs you actually considered. Internal jargon is fine — assume the room shares it. Leave room for questions; engineering audiences engage best when they can poke at the proposal.",
7
+ "seniority": "ic",
8
+ "technicalFluency": "high",
9
+ "decisionPower": "advisory",
10
+ "attentionBudgetMinutes": 45,
11
+ "recommendedNarratives": [
12
+ "engineering-update",
13
+ "challenge-resolution",
14
+ "innovation",
15
+ "weekly-progress"
16
+ ],
17
+ "recommendedTones": [
18
+ "technical",
19
+ "casual",
20
+ "conversational"
21
+ ],
22
+ "tags": ["internal", "engineering", "practitioner"]
23
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "$schema": "https://openpresentation.org/schema/opf-audience/v1",
3
+ "id": "executives",
4
+ "name": "Executives",
5
+ "summary": "Senior leaders who need the recommendation up front, the evidence behind it, and the ask.",
6
+ "description": "Executives are time-poor and decision-oriented. Lead with the recommendation, support it with three claims and one number per claim, and end with a clear ask. Avoid drilling into mechanisms unless invited; offer to follow up rather than including everything in the deck.",
7
+ "seniority": "c-suite",
8
+ "technicalFluency": "medium",
9
+ "decisionPower": "decision-maker",
10
+ "attentionBudgetMinutes": 30,
11
+ "recommendedNarratives": [
12
+ "scqa",
13
+ "qbr",
14
+ "strategic-narrative",
15
+ "project-proposal"
16
+ ],
17
+ "recommendedTones": [
18
+ "formal",
19
+ "authoritative",
20
+ "persuasive"
21
+ ],
22
+ "tags": ["leadership", "decision-making"]
23
+ }
@@ -0,0 +1,67 @@
1
+ {
2
+ "$schema": "https://openpresentation.org/schema/opf-audience-index/v1",
3
+ "version": "1",
4
+ "description": "Catalog of presentation audiences available in the openpresentation.org catalog. Each entry is a lightweight summary; full audience records (seniority, technical fluency, decision power, attention budget, recommended narratives and tones) live in the per-id JSON files alongside this index. Audiences are referenced from OPF documents via audience.",
5
+ "records": [
6
+ {
7
+ "id": "executives",
8
+ "name": "Executives",
9
+ "summary": "Senior leaders who need the recommendation up front, the evidence behind it, and the ask.",
10
+ "file": "executives.json"
11
+ },
12
+ {
13
+ "id": "board",
14
+ "name": "Board of Directors",
15
+ "summary": "Directors with fiduciary responsibility who balance oversight, advice, and approval.",
16
+ "file": "board.json"
17
+ },
18
+ {
19
+ "id": "engineering-team",
20
+ "name": "Engineering Team",
21
+ "summary": "Practitioners building the system; they want depth, mechanism, and tradeoffs.",
22
+ "file": "engineering-team.json"
23
+ },
24
+ {
25
+ "id": "investors",
26
+ "name": "Investors",
27
+ "summary": "Capital allocators evaluating fit, traction, and risk-adjusted return.",
28
+ "file": "investors.json"
29
+ },
30
+ {
31
+ "id": "customers",
32
+ "name": "Customers",
33
+ "summary": "Buyers and users — outcome-focused, allergic to jargon, sensitive to time.",
34
+ "file": "customers.json"
35
+ },
36
+ {
37
+ "id": "sales-team",
38
+ "name": "Sales Team",
39
+ "summary": "Quota-carrying reps who want talk tracks, objection handling, and crisp proof.",
40
+ "file": "sales-team.json"
41
+ },
42
+ {
43
+ "id": "marketing-team",
44
+ "name": "Marketing Team",
45
+ "summary": "Brand and demand-gen practitioners aligning on positioning, messaging, and campaigns.",
46
+ "file": "marketing-team.json"
47
+ },
48
+ {
49
+ "id": "all-hands",
50
+ "name": "All Hands",
51
+ "summary": "The full company — mixed roles, mixed seniority, looking for context, signal, and inclusion.",
52
+ "file": "all-hands.json"
53
+ },
54
+ {
55
+ "id": "candidates",
56
+ "name": "Candidates",
57
+ "summary": "Potential hires evaluating company, role, and people.",
58
+ "file": "candidates.json"
59
+ },
60
+ {
61
+ "id": "regulators",
62
+ "name": "Regulators",
63
+ "summary": "Government, agency, and policy reviewers evaluating compliance, risk, and impact.",
64
+ "file": "regulators.json"
65
+ }
66
+ ]
67
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "$schema": "https://openpresentation.org/schema/opf-audience/v1",
3
+ "id": "investors",
4
+ "name": "Investors",
5
+ "summary": "Capital allocators evaluating fit, traction, and risk-adjusted return.",
6
+ "description": "Investors read pattern-matching against their existing portfolio. They want the story (why this market, why now, why you), the proof (traction, retention, gross margin, growth rate), and the ask (raise size, use of funds, milestones). They will not assume — make the bull case explicit and acknowledge the bear case rather than hide it.",
7
+ "seniority": "mixed",
8
+ "technicalFluency": "medium",
9
+ "decisionPower": "decision-maker",
10
+ "attentionBudgetMinutes": 30,
11
+ "recommendedNarratives": [
12
+ "venture-pitch",
13
+ "early-startup-pitch",
14
+ "pitch-deck",
15
+ "strategic-narrative"
16
+ ],
17
+ "recommendedTones": [
18
+ "persuasive",
19
+ "authoritative",
20
+ "inspirational"
21
+ ],
22
+ "tags": ["external", "capital", "fundraising"]
23
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "$schema": "https://openpresentation.org/schema/opf-audience/v1",
3
+ "id": "marketing-team",
4
+ "name": "Marketing Team",
5
+ "summary": "Brand and demand-gen practitioners aligning on positioning, messaging, and campaigns.",
6
+ "description": "Marketing audiences want positioning, messaging hierarchy, and campaign-level metrics. Tie strategy to specific campaigns and channels. Show the funnel — leads, conversion, velocity — and explain how each campaign moves a stage of it.",
7
+ "seniority": "mixed",
8
+ "technicalFluency": "low",
9
+ "decisionPower": "advisory",
10
+ "attentionBudgetMinutes": 45,
11
+ "recommendedNarratives": [
12
+ "marketing-strategy",
13
+ "product-launch",
14
+ "qbr",
15
+ "weekly-progress"
16
+ ],
17
+ "recommendedTones": [
18
+ "casual",
19
+ "persuasive",
20
+ "authoritative"
21
+ ],
22
+ "tags": ["internal", "go-to-market", "brand"]
23
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "$schema": "https://openpresentation.org/schema/opf-audience/v1",
3
+ "id": "regulators",
4
+ "name": "Regulators",
5
+ "summary": "Government, agency, and policy reviewers evaluating compliance, risk, and impact.",
6
+ "description": "Regulator audiences expect precision, completeness, and verifiable claims. Cite frameworks and standards explicitly; quantify risks with named mitigations; avoid promotional framing entirely. Document what you don't know alongside what you do.",
7
+ "seniority": "mixed",
8
+ "technicalFluency": "medium",
9
+ "decisionPower": "decision-maker",
10
+ "attentionBudgetMinutes": 60,
11
+ "recommendedNarratives": [
12
+ "scqa",
13
+ "challenge-resolution",
14
+ "strategic-advisory",
15
+ "performance-improvement-plan"
16
+ ],
17
+ "recommendedTones": [
18
+ "formal",
19
+ "authoritative",
20
+ "technical"
21
+ ],
22
+ "tags": ["external", "compliance", "policy"]
23
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "$schema": "https://openpresentation.org/schema/opf-audience/v1",
3
+ "id": "sales-team",
4
+ "name": "Sales Team",
5
+ "summary": "Quota-carrying reps who want talk tracks, objection handling, and crisp proof.",
6
+ "description": "Sales audiences need actionable assets, not strategy framing. Surface the talk tracks they'll repeat, the three objections they'll hear, and the data points that close. Keep slides scannable — much of this content is consumed asynchronously between calls.",
7
+ "seniority": "mixed",
8
+ "technicalFluency": "low",
9
+ "decisionPower": "informational",
10
+ "attentionBudgetMinutes": 30,
11
+ "recommendedNarratives": [
12
+ "marketing-strategy",
13
+ "persuasive-sales",
14
+ "weekly-progress",
15
+ "status-update"
16
+ ],
17
+ "recommendedTones": [
18
+ "casual",
19
+ "persuasive",
20
+ "conversational"
21
+ ],
22
+ "tags": ["internal", "go-to-market", "enablement"]
23
+ }
@@ -0,0 +1,90 @@
1
+ {
2
+ "$schema": "https://openpresentation.org/schema/opf-chart-type/v1",
3
+ "id": "100pct-bullet-bar-2x",
4
+ "name": "100PCT_BULLET_BAR_2X",
5
+ "label": "100% Bullet Bar 2x",
6
+ "mappings": {
7
+ "openxml": {
8
+ "composition": "mixed",
9
+ "series": [
10
+ {
11
+ "element": "barChart",
12
+ "barDir": "bar",
13
+ "grouping": "stacked",
14
+ "composition": "single"
15
+ },
16
+ {
17
+ "element": "scatterChart",
18
+ "scatterStyle": "marker",
19
+ "composition": "single"
20
+ }
21
+ ],
22
+ "notes": "Bullet bars combine threshold bands with a value marker."
23
+ }
24
+ },
25
+ "categories": 8,
26
+ "columns": [
27
+ "ValueCategory",
28
+ "Alpha",
29
+ "Beta"
30
+ ],
31
+ "group": "Bullet",
32
+ "groupSort": 10,
33
+ "series": 2,
34
+ "seriesGroups": 2,
35
+ "slideNumber": 58,
36
+ "useSecondaryCategories": true,
37
+ "workbookRange": "Sheet1!$A$1:$I$3",
38
+ "complexity": "calculated",
39
+ "dataColumns": [
40
+ {
41
+ "name": "ValueCategory",
42
+ "role": "categoryLabel",
43
+ "type": "string",
44
+ "position": "row0_col0"
45
+ },
46
+ {
47
+ "name": "Alpha",
48
+ "role": "series",
49
+ "type": "number",
50
+ "position": "row1_col0"
51
+ },
52
+ {
53
+ "name": "Beta",
54
+ "role": "series",
55
+ "type": "number",
56
+ "position": "row2_col0"
57
+ }
58
+ ],
59
+ "helperColumns": [
60
+ "Excellent",
61
+ "Good",
62
+ "Fair",
63
+ "Poor",
64
+ "Actual %",
65
+ "Target %"
66
+ ],
67
+ "sampleData": {
68
+ "headers": [
69
+ "ValueCategory",
70
+ "Actual",
71
+ "Target"
72
+ ],
73
+ "rows": [
74
+ [
75
+ "Metric 1",
76
+ 75,
77
+ 97
78
+ ],
79
+ [
80
+ "Metric 2",
81
+ 70,
82
+ 84
83
+ ]
84
+ ]
85
+ },
86
+ "preview": {
87
+ "src": "https://xano.storyd.ai/vault/PMfrMmjB/ohDd64qud0rajmvwuNmfgB5dP1Y/h_mmrw../058_100PCT_BULLET_BAR_2X.png",
88
+ "vectorSrc": "https://xano.storyd.ai/vault/PMfrMmjB/KkieF2RQ_TpluTtwmslGBWQHyL8/ydaybw../058_100PCT_BULLET_BAR_2X.svg"
89
+ }
90
+ }
@@ -0,0 +1,102 @@
1
+ {
2
+ "$schema": "https://openpresentation.org/schema/opf-chart-type/v1",
3
+ "id": "100pct-bullet-bar-3x",
4
+ "name": "100PCT_BULLET_BAR_3X",
5
+ "label": "100% Bullet Bar 3x",
6
+ "mappings": {
7
+ "openxml": {
8
+ "composition": "mixed",
9
+ "series": [
10
+ {
11
+ "element": "barChart",
12
+ "barDir": "bar",
13
+ "grouping": "stacked",
14
+ "composition": "single"
15
+ },
16
+ {
17
+ "element": "scatterChart",
18
+ "scatterStyle": "marker",
19
+ "composition": "single"
20
+ }
21
+ ],
22
+ "notes": "Bullet bars combine threshold bands with a value marker."
23
+ }
24
+ },
25
+ "categories": 8,
26
+ "columns": [
27
+ "ValueCategory",
28
+ "Alpha",
29
+ "Beta",
30
+ "Gamma"
31
+ ],
32
+ "group": "Bullet",
33
+ "groupSort": 10,
34
+ "series": 3,
35
+ "seriesGroups": 2,
36
+ "slideNumber": 59,
37
+ "useSecondaryCategories": true,
38
+ "workbookRange": "Sheet1!$A$1:$I$4",
39
+ "complexity": "calculated",
40
+ "dataColumns": [
41
+ {
42
+ "name": "ValueCategory",
43
+ "role": "categoryLabel",
44
+ "type": "string",
45
+ "position": "row0_col0"
46
+ },
47
+ {
48
+ "name": "Alpha",
49
+ "role": "series",
50
+ "type": "number",
51
+ "position": "row1_col0"
52
+ },
53
+ {
54
+ "name": "Beta",
55
+ "role": "series",
56
+ "type": "number",
57
+ "position": "row2_col0"
58
+ },
59
+ {
60
+ "name": "Gamma",
61
+ "role": "series",
62
+ "type": "number",
63
+ "position": "row3_col0"
64
+ }
65
+ ],
66
+ "helperColumns": [
67
+ "Excellent",
68
+ "Good",
69
+ "Fair",
70
+ "Poor",
71
+ "Actual %",
72
+ "Target %"
73
+ ],
74
+ "sampleData": {
75
+ "headers": [
76
+ "ValueCategory",
77
+ "Actual",
78
+ "Target"
79
+ ],
80
+ "rows": [
81
+ [
82
+ "Metric 1",
83
+ 95,
84
+ 75
85
+ ],
86
+ [
87
+ "Metric 2",
88
+ 95,
89
+ 88
90
+ ],
91
+ [
92
+ "Metric 3",
93
+ 65,
94
+ 82
95
+ ]
96
+ ]
97
+ },
98
+ "preview": {
99
+ "src": "https://xano.storyd.ai/vault/PMfrMmjB/fVyKaNWJONueZSAG8UEBupriJPM/xmd5qw../059_100PCT_BULLET_BAR_3X.png",
100
+ "vectorSrc": "https://xano.storyd.ai/vault/PMfrMmjB/1BjkKRiWkbivF2IRSuVVPwaefh0/wVaQGg../059_100PCT_BULLET_BAR_3X.svg"
101
+ }
102
+ }
@@ -0,0 +1,78 @@
1
+ {
2
+ "$schema": "https://openpresentation.org/schema/opf-chart-type/v1",
3
+ "id": "100pct-bullet-bar",
4
+ "name": "100PCT_BULLET_BAR",
5
+ "label": "100% Bullet Bar",
6
+ "mappings": {
7
+ "openxml": {
8
+ "composition": "mixed",
9
+ "series": [
10
+ {
11
+ "element": "barChart",
12
+ "barDir": "bar",
13
+ "grouping": "stacked",
14
+ "composition": "single"
15
+ },
16
+ {
17
+ "element": "scatterChart",
18
+ "scatterStyle": "marker",
19
+ "composition": "single"
20
+ }
21
+ ],
22
+ "notes": "Bullet bars combine threshold bands with a value marker."
23
+ }
24
+ },
25
+ "categories": 8,
26
+ "columns": [
27
+ "ValueCategory",
28
+ "Alpha"
29
+ ],
30
+ "group": "Bullet",
31
+ "groupSort": 10,
32
+ "series": 1,
33
+ "seriesGroups": 2,
34
+ "slideNumber": 57,
35
+ "useSecondaryCategories": true,
36
+ "workbookRange": "Sheet1!$A$1:$I$2",
37
+ "complexity": "calculated",
38
+ "dataColumns": [
39
+ {
40
+ "name": "ValueCategory",
41
+ "role": "categoryLabel",
42
+ "type": "string",
43
+ "position": "row0_col0"
44
+ },
45
+ {
46
+ "name": "Alpha",
47
+ "role": "series",
48
+ "type": "number",
49
+ "position": "row1_col0"
50
+ }
51
+ ],
52
+ "helperColumns": [
53
+ "Excellent",
54
+ "Good",
55
+ "Fair",
56
+ "Poor",
57
+ "Actual %",
58
+ "Target %"
59
+ ],
60
+ "sampleData": {
61
+ "headers": [
62
+ "ValueCategory",
63
+ "Actual",
64
+ "Target"
65
+ ],
66
+ "rows": [
67
+ [
68
+ "Metric 1",
69
+ 61,
70
+ 95
71
+ ]
72
+ ]
73
+ },
74
+ "preview": {
75
+ "src": "https://xano.storyd.ai/vault/PMfrMmjB/8dxo6zCEiD9WQQigc7WeK27qh-o/U4JZjQ../057_100PCT_BULLET_BAR.png",
76
+ "vectorSrc": "https://xano.storyd.ai/vault/PMfrMmjB/pcGRY2bpKNxtsZVAz4DW3GRYlTg/EYylqg../057_100PCT_BULLET_BAR.svg"
77
+ }
78
+ }
@@ -0,0 +1,90 @@
1
+ {
2
+ "$schema": "https://openpresentation.org/schema/opf-chart-type/v1",
3
+ "id": "100pct-bullet-column-2x",
4
+ "name": "100PCT_BULLET_COLUMN_2X",
5
+ "label": "100% Bullet Colum 2x",
6
+ "mappings": {
7
+ "openxml": {
8
+ "composition": "mixed",
9
+ "series": [
10
+ {
11
+ "element": "barChart",
12
+ "barDir": "col",
13
+ "grouping": "stacked",
14
+ "composition": "single"
15
+ },
16
+ {
17
+ "element": "scatterChart",
18
+ "scatterStyle": "marker",
19
+ "composition": "single"
20
+ }
21
+ ],
22
+ "notes": "Bullet columns combine threshold bands with a value marker."
23
+ }
24
+ },
25
+ "categories": 8,
26
+ "columns": [
27
+ "ValueCategory",
28
+ "Last Year",
29
+ "This Year"
30
+ ],
31
+ "group": "Bullet",
32
+ "groupSort": 10,
33
+ "series": 2,
34
+ "seriesGroups": 2,
35
+ "slideNumber": 52,
36
+ "useSecondaryCategories": false,
37
+ "workbookRange": "Sheet1!$A$1:$I$3",
38
+ "complexity": "calculated",
39
+ "dataColumns": [
40
+ {
41
+ "name": "ValueCategory",
42
+ "role": "categoryLabel",
43
+ "type": "string",
44
+ "position": "row0_col0"
45
+ },
46
+ {
47
+ "name": "Last Year",
48
+ "role": "series",
49
+ "type": "number",
50
+ "position": "row1_col0"
51
+ },
52
+ {
53
+ "name": "This Year",
54
+ "role": "series",
55
+ "type": "number",
56
+ "position": "row2_col0"
57
+ }
58
+ ],
59
+ "helperColumns": [
60
+ "Excellent",
61
+ "Good",
62
+ "Fair",
63
+ "Poor",
64
+ "Actual %",
65
+ "Target %"
66
+ ],
67
+ "sampleData": {
68
+ "headers": [
69
+ "ValueCategory",
70
+ "Actual",
71
+ "Target"
72
+ ],
73
+ "rows": [
74
+ [
75
+ "Metric 1",
76
+ 94,
77
+ 89
78
+ ],
79
+ [
80
+ "Metric 2",
81
+ 86,
82
+ 76
83
+ ]
84
+ ]
85
+ },
86
+ "preview": {
87
+ "src": "https://xano.storyd.ai/vault/PMfrMmjB/RS8YGQxcj4lD-1zwL14Ik_Z6KDg/bZOK9A../052_100PCT_BULLET_COLUMN_2X.png",
88
+ "vectorSrc": "https://xano.storyd.ai/vault/PMfrMmjB/WuyVlld1MNZBT_JA_kq0lztRo10/GzK00w../052_100PCT_BULLET_COLUMN_2X.svg"
89
+ }
90
+ }