@json-to-office/core-pptx 4.0.0 → 5.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/blueprints/index.d.ts +7 -0
- package/dist/blueprints/index.d.ts.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1160 -2
- package/dist/index.js.map +1 -1
- package/dist/themes/alternates.d.ts +18 -0
- package/dist/themes/alternates.d.ts.map +1 -0
- package/dist/themes/defaults.d.ts.map +1 -1
- package/dist/themes/index.d.ts +1 -0
- package/dist/themes/index.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -4588,6 +4588,547 @@ var consulting_pptx_theme_default = {
|
|
|
4588
4588
|
// src/themes/consulting.ts
|
|
4589
4589
|
var CONSULTING_PPTX_THEME = consulting_pptx_theme_default;
|
|
4590
4590
|
|
|
4591
|
+
// src/themes/vermilion.pptx.theme.json
|
|
4592
|
+
var vermilion_pptx_theme_default = {
|
|
4593
|
+
name: "vermilion",
|
|
4594
|
+
displayName: "Vermilion Editorial",
|
|
4595
|
+
description: "Poster-red editorial deck \u2014 vermilion display titles, ink text, warm creams and hairline rules; the twin of the DOCX vermilion theme",
|
|
4596
|
+
whenToUse: "Talks and readouts that want a strong red display voice beside a vermilion report: a few large titles, one figure per slide. Not for a dense data deck.",
|
|
4597
|
+
version: "1.0.0",
|
|
4598
|
+
colors: {
|
|
4599
|
+
primary: "#282829",
|
|
4600
|
+
secondary: "#58595B",
|
|
4601
|
+
accent: "#EF4130",
|
|
4602
|
+
background: "#FFFFFF",
|
|
4603
|
+
text: "#282829",
|
|
4604
|
+
text2: "#58595B",
|
|
4605
|
+
background2: "#FAF7F5",
|
|
4606
|
+
accent4: "#F4857A",
|
|
4607
|
+
accent5: "#F9C4BE",
|
|
4608
|
+
accent6: "#939598"
|
|
4609
|
+
},
|
|
4610
|
+
palette: {
|
|
4611
|
+
rule: "#C7C8CA",
|
|
4612
|
+
textMuted: "#939598",
|
|
4613
|
+
onPrimary: "#FFFFFF",
|
|
4614
|
+
surfaceInverse: "#282829",
|
|
4615
|
+
positive: "#2E7D4F",
|
|
4616
|
+
negative: "#B42318",
|
|
4617
|
+
chart: ["accent", "primary", "textMuted", "accent4", "rule", "accent5"]
|
|
4618
|
+
},
|
|
4619
|
+
fonts: {
|
|
4620
|
+
heading: "Arial",
|
|
4621
|
+
body: "Calibri",
|
|
4622
|
+
mono: "Courier New"
|
|
4623
|
+
},
|
|
4624
|
+
defaults: {
|
|
4625
|
+
fontSize: 14,
|
|
4626
|
+
fontColor: "#282829"
|
|
4627
|
+
},
|
|
4628
|
+
styles: {
|
|
4629
|
+
title: {
|
|
4630
|
+
fontSize: 32,
|
|
4631
|
+
bold: true,
|
|
4632
|
+
fontColor: "accent",
|
|
4633
|
+
align: "left"
|
|
4634
|
+
},
|
|
4635
|
+
subtitle: {
|
|
4636
|
+
fontSize: 16,
|
|
4637
|
+
fontColor: "text2",
|
|
4638
|
+
align: "left"
|
|
4639
|
+
},
|
|
4640
|
+
heading1: {
|
|
4641
|
+
fontSize: 24,
|
|
4642
|
+
bold: true,
|
|
4643
|
+
fontColor: "accent"
|
|
4644
|
+
},
|
|
4645
|
+
heading2: {
|
|
4646
|
+
fontSize: 18,
|
|
4647
|
+
bold: true,
|
|
4648
|
+
fontColor: "text"
|
|
4649
|
+
},
|
|
4650
|
+
heading3: {
|
|
4651
|
+
fontSize: 14,
|
|
4652
|
+
bold: true,
|
|
4653
|
+
fontColor: "text2"
|
|
4654
|
+
},
|
|
4655
|
+
body: {
|
|
4656
|
+
fontSize: 14,
|
|
4657
|
+
fontColor: "text"
|
|
4658
|
+
},
|
|
4659
|
+
caption: {
|
|
4660
|
+
fontSize: 10,
|
|
4661
|
+
fontColor: "text2"
|
|
4662
|
+
}
|
|
4663
|
+
},
|
|
4664
|
+
typography: {
|
|
4665
|
+
roles: {
|
|
4666
|
+
eyebrow: {
|
|
4667
|
+
face: "heading",
|
|
4668
|
+
size: 10,
|
|
4669
|
+
weight: 700,
|
|
4670
|
+
case: "upper",
|
|
4671
|
+
tracking: 8,
|
|
4672
|
+
color: "accent"
|
|
4673
|
+
},
|
|
4674
|
+
display: {
|
|
4675
|
+
face: "heading",
|
|
4676
|
+
size: 28,
|
|
4677
|
+
weight: 700,
|
|
4678
|
+
color: "accent",
|
|
4679
|
+
lineHeight: 1.1
|
|
4680
|
+
},
|
|
4681
|
+
stat: {
|
|
4682
|
+
face: "heading",
|
|
4683
|
+
size: 40,
|
|
4684
|
+
weight: 700,
|
|
4685
|
+
color: "accent",
|
|
4686
|
+
lineHeight: 1
|
|
4687
|
+
},
|
|
4688
|
+
quote: {
|
|
4689
|
+
face: "body",
|
|
4690
|
+
size: 18,
|
|
4691
|
+
color: "text2",
|
|
4692
|
+
lineHeight: 1.3
|
|
4693
|
+
},
|
|
4694
|
+
label: {
|
|
4695
|
+
face: "body",
|
|
4696
|
+
size: 12,
|
|
4697
|
+
weight: 700,
|
|
4698
|
+
color: "text2"
|
|
4699
|
+
},
|
|
4700
|
+
footer: {
|
|
4701
|
+
face: "body",
|
|
4702
|
+
size: 9,
|
|
4703
|
+
color: "text2"
|
|
4704
|
+
},
|
|
4705
|
+
tableHeader: {
|
|
4706
|
+
face: "body",
|
|
4707
|
+
size: 12,
|
|
4708
|
+
weight: 700,
|
|
4709
|
+
color: "accent"
|
|
4710
|
+
},
|
|
4711
|
+
tableCell: {
|
|
4712
|
+
face: "body",
|
|
4713
|
+
size: 12,
|
|
4714
|
+
color: "text"
|
|
4715
|
+
},
|
|
4716
|
+
chartLabel: {
|
|
4717
|
+
face: "body",
|
|
4718
|
+
size: 11,
|
|
4719
|
+
weight: 400,
|
|
4720
|
+
color: "text2"
|
|
4721
|
+
},
|
|
4722
|
+
tracker: {
|
|
4723
|
+
face: "body",
|
|
4724
|
+
size: 10,
|
|
4725
|
+
case: "upper",
|
|
4726
|
+
tracking: 6,
|
|
4727
|
+
color: "text2"
|
|
4728
|
+
},
|
|
4729
|
+
source: {
|
|
4730
|
+
face: "body",
|
|
4731
|
+
size: 9,
|
|
4732
|
+
color: "text2"
|
|
4733
|
+
}
|
|
4734
|
+
},
|
|
4735
|
+
scale: {
|
|
4736
|
+
wide169: {
|
|
4737
|
+
base: 14,
|
|
4738
|
+
ratio: 1.2,
|
|
4739
|
+
baselinePt: 2
|
|
4740
|
+
},
|
|
4741
|
+
standard43: {
|
|
4742
|
+
base: 14,
|
|
4743
|
+
ratio: 1.2,
|
|
4744
|
+
baselinePt: 2
|
|
4745
|
+
}
|
|
4746
|
+
}
|
|
4747
|
+
},
|
|
4748
|
+
spacing: {
|
|
4749
|
+
basePt: 8,
|
|
4750
|
+
blockGap: {
|
|
4751
|
+
tight: 4,
|
|
4752
|
+
normal: 8,
|
|
4753
|
+
loose: 16
|
|
4754
|
+
},
|
|
4755
|
+
canvas: {
|
|
4756
|
+
wide169: {
|
|
4757
|
+
safeAreaIn: 0.5,
|
|
4758
|
+
gutterIn: 0.2,
|
|
4759
|
+
columns: 12,
|
|
4760
|
+
rows: 8
|
|
4761
|
+
},
|
|
4762
|
+
standard43: {
|
|
4763
|
+
safeAreaIn: 0.5,
|
|
4764
|
+
gutterIn: 0.2,
|
|
4765
|
+
columns: 12,
|
|
4766
|
+
rows: 8
|
|
4767
|
+
}
|
|
4768
|
+
}
|
|
4769
|
+
},
|
|
4770
|
+
chrome: {
|
|
4771
|
+
runningHead: {
|
|
4772
|
+
type: "tracker",
|
|
4773
|
+
color: "text2",
|
|
4774
|
+
rule: {
|
|
4775
|
+
weightPt: 0.5,
|
|
4776
|
+
color: "rule"
|
|
4777
|
+
},
|
|
4778
|
+
alignment: "right"
|
|
4779
|
+
},
|
|
4780
|
+
tracker: {
|
|
4781
|
+
type: "tracker",
|
|
4782
|
+
color: "text2",
|
|
4783
|
+
alignment: "right"
|
|
4784
|
+
},
|
|
4785
|
+
actionTitle: {
|
|
4786
|
+
type: "display",
|
|
4787
|
+
color: "primary"
|
|
4788
|
+
},
|
|
4789
|
+
keyTakeaways: {
|
|
4790
|
+
type: "label",
|
|
4791
|
+
color: "primary",
|
|
4792
|
+
rule: {
|
|
4793
|
+
weightPt: 1.5,
|
|
4794
|
+
color: "accent"
|
|
4795
|
+
},
|
|
4796
|
+
padPt: 8
|
|
4797
|
+
},
|
|
4798
|
+
sourceLine: {
|
|
4799
|
+
type: "source",
|
|
4800
|
+
color: "text2"
|
|
4801
|
+
},
|
|
4802
|
+
confidentialFooter: {
|
|
4803
|
+
type: "footer",
|
|
4804
|
+
color: "text2",
|
|
4805
|
+
rule: {
|
|
4806
|
+
weightPt: 0.5,
|
|
4807
|
+
color: "rule"
|
|
4808
|
+
},
|
|
4809
|
+
alignment: "left"
|
|
4810
|
+
},
|
|
4811
|
+
logoSlot: {
|
|
4812
|
+
alignment: "right"
|
|
4813
|
+
},
|
|
4814
|
+
cover: {
|
|
4815
|
+
type: "display",
|
|
4816
|
+
color: "primary",
|
|
4817
|
+
rule: {
|
|
4818
|
+
weightPt: 4,
|
|
4819
|
+
color: "accent"
|
|
4820
|
+
}
|
|
4821
|
+
}
|
|
4822
|
+
},
|
|
4823
|
+
motif: {
|
|
4824
|
+
kind: "rule",
|
|
4825
|
+
color: "accent",
|
|
4826
|
+
weightPt: 4,
|
|
4827
|
+
placement: "top"
|
|
4828
|
+
},
|
|
4829
|
+
componentDefaults: {
|
|
4830
|
+
table: {
|
|
4831
|
+
border: {
|
|
4832
|
+
type: "solid",
|
|
4833
|
+
pt: 0.5,
|
|
4834
|
+
color: "#C7C8CA"
|
|
4835
|
+
},
|
|
4836
|
+
headerRow: true,
|
|
4837
|
+
fontSize: 12
|
|
4838
|
+
},
|
|
4839
|
+
chart: {
|
|
4840
|
+
showLegend: true,
|
|
4841
|
+
legendPos: "b",
|
|
4842
|
+
legendFontSize: 11,
|
|
4843
|
+
catAxisLabelFontSize: 11,
|
|
4844
|
+
valAxisLabelFontSize: 11,
|
|
4845
|
+
catGridLine: {
|
|
4846
|
+
style: "none"
|
|
4847
|
+
},
|
|
4848
|
+
valGridLine: {
|
|
4849
|
+
style: "solid",
|
|
4850
|
+
size: 0.5,
|
|
4851
|
+
color: "#EFEAE4"
|
|
4852
|
+
},
|
|
4853
|
+
valAxisLineShow: false
|
|
4854
|
+
}
|
|
4855
|
+
}
|
|
4856
|
+
};
|
|
4857
|
+
|
|
4858
|
+
// src/themes/devportal.pptx.theme.json
|
|
4859
|
+
var devportal_pptx_theme_default = {
|
|
4860
|
+
name: "devportal",
|
|
4861
|
+
displayName: "Field Editorial",
|
|
4862
|
+
description: "Compact editorial deck \u2014 Helvetica in near-black ink with a burnt-orange accent, tight titles, letterspaced labels, warm tinted fills and hairline rules; the twin of the DOCX devportal theme",
|
|
4863
|
+
whenToUse: "Product and engineering readouts, API and platform reviews: dense text, code and tables beside a devportal report. Not for a client's decision deck.",
|
|
4864
|
+
version: "1.0.0",
|
|
4865
|
+
colors: {
|
|
4866
|
+
primary: "#12191F",
|
|
4867
|
+
secondary: "#172028",
|
|
4868
|
+
accent: "#E35B3F",
|
|
4869
|
+
background: "#FFFFFF",
|
|
4870
|
+
text: "#232323",
|
|
4871
|
+
text2: "#46494C",
|
|
4872
|
+
background2: "#F7ECE7",
|
|
4873
|
+
accent4: "#46494C",
|
|
4874
|
+
accent5: "#8A9299",
|
|
4875
|
+
accent6: "#E8A18D"
|
|
4876
|
+
},
|
|
4877
|
+
palette: {
|
|
4878
|
+
rule: "#D8D5D1",
|
|
4879
|
+
textMuted: "#737373",
|
|
4880
|
+
onPrimary: "#FFFFFF",
|
|
4881
|
+
surfaceInverse: "#12191F",
|
|
4882
|
+
positive: "#2E7D4F",
|
|
4883
|
+
negative: "#B42318",
|
|
4884
|
+
chart: ["accent", "primary", "accent4", "accent5", "accent6", "rule"]
|
|
4885
|
+
},
|
|
4886
|
+
fonts: {
|
|
4887
|
+
heading: "Helvetica",
|
|
4888
|
+
body: "Helvetica",
|
|
4889
|
+
mono: "Courier New"
|
|
4890
|
+
},
|
|
4891
|
+
defaults: {
|
|
4892
|
+
fontSize: 14,
|
|
4893
|
+
fontColor: "#232323"
|
|
4894
|
+
},
|
|
4895
|
+
styles: {
|
|
4896
|
+
title: {
|
|
4897
|
+
fontSize: 30,
|
|
4898
|
+
bold: true,
|
|
4899
|
+
fontColor: "text",
|
|
4900
|
+
align: "left"
|
|
4901
|
+
},
|
|
4902
|
+
subtitle: {
|
|
4903
|
+
fontSize: 16,
|
|
4904
|
+
fontColor: "text2",
|
|
4905
|
+
align: "left"
|
|
4906
|
+
},
|
|
4907
|
+
heading1: {
|
|
4908
|
+
fontSize: 24,
|
|
4909
|
+
bold: true,
|
|
4910
|
+
fontColor: "primary"
|
|
4911
|
+
},
|
|
4912
|
+
heading2: {
|
|
4913
|
+
fontSize: 18,
|
|
4914
|
+
bold: true,
|
|
4915
|
+
fontColor: "secondary"
|
|
4916
|
+
},
|
|
4917
|
+
heading3: {
|
|
4918
|
+
fontSize: 14,
|
|
4919
|
+
bold: true,
|
|
4920
|
+
fontColor: "text2"
|
|
4921
|
+
},
|
|
4922
|
+
body: {
|
|
4923
|
+
fontSize: 14,
|
|
4924
|
+
fontColor: "text"
|
|
4925
|
+
},
|
|
4926
|
+
caption: {
|
|
4927
|
+
fontSize: 10,
|
|
4928
|
+
fontColor: "text2"
|
|
4929
|
+
}
|
|
4930
|
+
},
|
|
4931
|
+
typography: {
|
|
4932
|
+
roles: {
|
|
4933
|
+
eyebrow: {
|
|
4934
|
+
face: "heading",
|
|
4935
|
+
size: 10,
|
|
4936
|
+
weight: 700,
|
|
4937
|
+
case: "upper",
|
|
4938
|
+
tracking: 10,
|
|
4939
|
+
color: "accent"
|
|
4940
|
+
},
|
|
4941
|
+
display: {
|
|
4942
|
+
face: "heading",
|
|
4943
|
+
size: 28,
|
|
4944
|
+
weight: 700,
|
|
4945
|
+
color: "primary",
|
|
4946
|
+
lineHeight: 1.1,
|
|
4947
|
+
tracking: -2
|
|
4948
|
+
},
|
|
4949
|
+
stat: {
|
|
4950
|
+
face: "heading",
|
|
4951
|
+
size: 40,
|
|
4952
|
+
weight: 700,
|
|
4953
|
+
color: "accent",
|
|
4954
|
+
lineHeight: 1
|
|
4955
|
+
},
|
|
4956
|
+
quote: {
|
|
4957
|
+
face: "body",
|
|
4958
|
+
size: 18,
|
|
4959
|
+
color: "text2",
|
|
4960
|
+
lineHeight: 1.3
|
|
4961
|
+
},
|
|
4962
|
+
label: {
|
|
4963
|
+
face: "body",
|
|
4964
|
+
size: 12,
|
|
4965
|
+
weight: 700,
|
|
4966
|
+
color: "text2",
|
|
4967
|
+
case: "upper",
|
|
4968
|
+
tracking: 6
|
|
4969
|
+
},
|
|
4970
|
+
footer: {
|
|
4971
|
+
face: "body",
|
|
4972
|
+
size: 9,
|
|
4973
|
+
color: "text2"
|
|
4974
|
+
},
|
|
4975
|
+
tableHeader: {
|
|
4976
|
+
face: "body",
|
|
4977
|
+
size: 12,
|
|
4978
|
+
weight: 700,
|
|
4979
|
+
color: "secondary"
|
|
4980
|
+
},
|
|
4981
|
+
tableCell: {
|
|
4982
|
+
face: "body",
|
|
4983
|
+
size: 12,
|
|
4984
|
+
color: "text"
|
|
4985
|
+
},
|
|
4986
|
+
chartLabel: {
|
|
4987
|
+
face: "body",
|
|
4988
|
+
size: 11,
|
|
4989
|
+
weight: 400,
|
|
4990
|
+
color: "text2"
|
|
4991
|
+
},
|
|
4992
|
+
tracker: {
|
|
4993
|
+
face: "body",
|
|
4994
|
+
size: 10,
|
|
4995
|
+
case: "upper",
|
|
4996
|
+
tracking: 6,
|
|
4997
|
+
color: "text2"
|
|
4998
|
+
},
|
|
4999
|
+
source: {
|
|
5000
|
+
face: "body",
|
|
5001
|
+
size: 9,
|
|
5002
|
+
color: "text2"
|
|
5003
|
+
}
|
|
5004
|
+
},
|
|
5005
|
+
scale: {
|
|
5006
|
+
wide169: {
|
|
5007
|
+
base: 14,
|
|
5008
|
+
ratio: 1.2,
|
|
5009
|
+
baselinePt: 2
|
|
5010
|
+
},
|
|
5011
|
+
standard43: {
|
|
5012
|
+
base: 14,
|
|
5013
|
+
ratio: 1.2,
|
|
5014
|
+
baselinePt: 2
|
|
5015
|
+
}
|
|
5016
|
+
}
|
|
5017
|
+
},
|
|
5018
|
+
spacing: {
|
|
5019
|
+
basePt: 8,
|
|
5020
|
+
blockGap: {
|
|
5021
|
+
tight: 4,
|
|
5022
|
+
normal: 8,
|
|
5023
|
+
loose: 16
|
|
5024
|
+
},
|
|
5025
|
+
canvas: {
|
|
5026
|
+
wide169: {
|
|
5027
|
+
safeAreaIn: 0.5,
|
|
5028
|
+
gutterIn: 0.2,
|
|
5029
|
+
columns: 12,
|
|
5030
|
+
rows: 8
|
|
5031
|
+
},
|
|
5032
|
+
standard43: {
|
|
5033
|
+
safeAreaIn: 0.5,
|
|
5034
|
+
gutterIn: 0.2,
|
|
5035
|
+
columns: 12,
|
|
5036
|
+
rows: 8
|
|
5037
|
+
}
|
|
5038
|
+
}
|
|
5039
|
+
},
|
|
5040
|
+
chrome: {
|
|
5041
|
+
runningHead: {
|
|
5042
|
+
type: "tracker",
|
|
5043
|
+
color: "text2",
|
|
5044
|
+
rule: {
|
|
5045
|
+
weightPt: 0.5,
|
|
5046
|
+
color: "rule"
|
|
5047
|
+
},
|
|
5048
|
+
alignment: "right"
|
|
5049
|
+
},
|
|
5050
|
+
tracker: {
|
|
5051
|
+
type: "tracker",
|
|
5052
|
+
color: "text2",
|
|
5053
|
+
alignment: "right"
|
|
5054
|
+
},
|
|
5055
|
+
actionTitle: {
|
|
5056
|
+
type: "display",
|
|
5057
|
+
color: "primary"
|
|
5058
|
+
},
|
|
5059
|
+
keyTakeaways: {
|
|
5060
|
+
type: "label",
|
|
5061
|
+
color: "primary",
|
|
5062
|
+
rule: {
|
|
5063
|
+
weightPt: 1,
|
|
5064
|
+
color: "accent"
|
|
5065
|
+
},
|
|
5066
|
+
padPt: 8
|
|
5067
|
+
},
|
|
5068
|
+
sourceLine: {
|
|
5069
|
+
type: "source",
|
|
5070
|
+
color: "text2"
|
|
5071
|
+
},
|
|
5072
|
+
confidentialFooter: {
|
|
5073
|
+
type: "footer",
|
|
5074
|
+
color: "text2",
|
|
5075
|
+
rule: {
|
|
5076
|
+
weightPt: 0.5,
|
|
5077
|
+
color: "rule"
|
|
5078
|
+
},
|
|
5079
|
+
alignment: "left"
|
|
5080
|
+
},
|
|
5081
|
+
logoSlot: {
|
|
5082
|
+
alignment: "right"
|
|
5083
|
+
},
|
|
5084
|
+
cover: {
|
|
5085
|
+
type: "display",
|
|
5086
|
+
color: "primary",
|
|
5087
|
+
rule: {
|
|
5088
|
+
weightPt: 3,
|
|
5089
|
+
color: "accent"
|
|
5090
|
+
}
|
|
5091
|
+
}
|
|
5092
|
+
},
|
|
5093
|
+
motif: {
|
|
5094
|
+
kind: "rule",
|
|
5095
|
+
color: "accent",
|
|
5096
|
+
weightPt: 2,
|
|
5097
|
+
placement: "top"
|
|
5098
|
+
},
|
|
5099
|
+
componentDefaults: {
|
|
5100
|
+
table: {
|
|
5101
|
+
border: {
|
|
5102
|
+
type: "solid",
|
|
5103
|
+
pt: 0.5,
|
|
5104
|
+
color: "#D8D5D1"
|
|
5105
|
+
},
|
|
5106
|
+
headerRow: true,
|
|
5107
|
+
fontSize: 12
|
|
5108
|
+
},
|
|
5109
|
+
chart: {
|
|
5110
|
+
showLegend: true,
|
|
5111
|
+
legendPos: "b",
|
|
5112
|
+
legendFontSize: 11,
|
|
5113
|
+
catAxisLabelFontSize: 11,
|
|
5114
|
+
valAxisLabelFontSize: 11,
|
|
5115
|
+
catGridLine: {
|
|
5116
|
+
style: "none"
|
|
5117
|
+
},
|
|
5118
|
+
valGridLine: {
|
|
5119
|
+
style: "solid",
|
|
5120
|
+
size: 0.5,
|
|
5121
|
+
color: "#F2F3F3"
|
|
5122
|
+
},
|
|
5123
|
+
valAxisLineShow: false
|
|
5124
|
+
}
|
|
5125
|
+
}
|
|
5126
|
+
};
|
|
5127
|
+
|
|
5128
|
+
// src/themes/alternates.ts
|
|
5129
|
+
var VERMILION_PPTX_THEME = vermilion_pptx_theme_default;
|
|
5130
|
+
var DEVPORTAL_PPTX_THEME = devportal_pptx_theme_default;
|
|
5131
|
+
|
|
4591
5132
|
// src/themes/defaults.ts
|
|
4592
5133
|
var DEFAULT_TABLE = {
|
|
4593
5134
|
border: { type: "solid", pt: 1, color: "background2" },
|
|
@@ -4633,6 +5174,8 @@ var DEFAULT_PPTX_THEME = {
|
|
|
4633
5174
|
var PPTX_THEMES = {
|
|
4634
5175
|
default: DEFAULT_PPTX_THEME,
|
|
4635
5176
|
consulting: CONSULTING_PPTX_THEME,
|
|
5177
|
+
vermilion: VERMILION_PPTX_THEME,
|
|
5178
|
+
devportal: DEVPORTAL_PPTX_THEME,
|
|
4636
5179
|
dark: {
|
|
4637
5180
|
name: "dark",
|
|
4638
5181
|
displayName: "Dark",
|
|
@@ -6258,8 +6801,8 @@ async function generateAndSaveFromJson(jsonConfig, outputPath, options) {
|
|
|
6258
6801
|
writeFileSync(outputPath, buffer);
|
|
6259
6802
|
}
|
|
6260
6803
|
async function generateFromFile(filePath, outputPath, options) {
|
|
6261
|
-
const { readFileSync } = await import("fs");
|
|
6262
|
-
const json =
|
|
6804
|
+
const { readFileSync: readFileSync2 } = await import("fs");
|
|
6805
|
+
const json = readFileSync2(filePath, "utf-8");
|
|
6263
6806
|
await generateAndSaveFromJson(json, outputPath, options);
|
|
6264
6807
|
}
|
|
6265
6808
|
var PresentationGenerator = {
|
|
@@ -6274,6 +6817,616 @@ var PresentationGenerator = {
|
|
|
6274
6817
|
init_finalizePackage();
|
|
6275
6818
|
init_warn();
|
|
6276
6819
|
|
|
6820
|
+
// src/blueprints/index.ts
|
|
6821
|
+
import { existsSync, readdirSync, readFileSync } from "fs";
|
|
6822
|
+
import { fileURLToPath } from "url";
|
|
6823
|
+
import { dirname, join } from "path";
|
|
6824
|
+
import {
|
|
6825
|
+
instantiateBlueprint,
|
|
6826
|
+
registerBlueprints
|
|
6827
|
+
} from "@json-to-office/shared";
|
|
6828
|
+
import { collectPlaceholders as collectPlaceholders2 } from "@json-to-office/quality";
|
|
6829
|
+
|
|
6830
|
+
// src/templates/blueprints/consulting-deck.pptx.blueprint.json
|
|
6831
|
+
var consulting_deck_pptx_blueprint_default = {
|
|
6832
|
+
id: "consulting-deck",
|
|
6833
|
+
format: "pptx",
|
|
6834
|
+
title: "Consulting deck",
|
|
6835
|
+
description: "A decision deck for a client readout: a cover, the quarter in numbers, one action-chart per finding with its takeaway and source, a two-column slide for the evidence that is a table or a list, a closing statement; every slide invokes one of the five consulting blocks on the house theme.",
|
|
6836
|
+
whenToUse: "A client readout, a board update or a steering-committee deck: one message per slide, a chart or table that carries it, a source under it. Not for a talk track or a training deck.",
|
|
6837
|
+
theme: "consulting",
|
|
6838
|
+
profile: "consulting-deck",
|
|
6839
|
+
definitions: "consulting-deck-blocks.pptx.json",
|
|
6840
|
+
numbering: "none",
|
|
6841
|
+
toc: false,
|
|
6842
|
+
variants: {
|
|
6843
|
+
"data-heavy": {
|
|
6844
|
+
description: "Evidence-led: cover, a KPI row, three action-charts, a two-column table slide, a closing statement.",
|
|
6845
|
+
whenToUse: "The brief comes with numbers the audience will check: performance, finance, operations.",
|
|
6846
|
+
pages: {
|
|
6847
|
+
min: 6,
|
|
6848
|
+
max: 9
|
|
6849
|
+
},
|
|
6850
|
+
metadata: {
|
|
6851
|
+
title: "{{Title: as on the cover}}",
|
|
6852
|
+
author: "{{Author or team}}",
|
|
6853
|
+
company: "{{Client name}}"
|
|
6854
|
+
},
|
|
6855
|
+
children: [
|
|
6856
|
+
{
|
|
6857
|
+
name: "slide",
|
|
6858
|
+
children: [
|
|
6859
|
+
{
|
|
6860
|
+
name: "block",
|
|
6861
|
+
props: {
|
|
6862
|
+
ref: "cover",
|
|
6863
|
+
slots: {
|
|
6864
|
+
title: "{{Title: the deck's conclusion in one sentence}}",
|
|
6865
|
+
subtitle: "{{Subtitle: what the deck answers, for whom}}",
|
|
6866
|
+
client: "{{Client name}}",
|
|
6867
|
+
date: "{{Month YYYY}}",
|
|
6868
|
+
confidentiality: "{{Confidentiality: Confidential, or For internal use}}"
|
|
6869
|
+
}
|
|
6870
|
+
}
|
|
6871
|
+
}
|
|
6872
|
+
]
|
|
6873
|
+
},
|
|
6874
|
+
{
|
|
6875
|
+
name: "slide",
|
|
6876
|
+
children: [
|
|
6877
|
+
{
|
|
6878
|
+
name: "block",
|
|
6879
|
+
props: {
|
|
6880
|
+
ref: "kpi-row",
|
|
6881
|
+
slots: {
|
|
6882
|
+
title: "{{Action title: the claim this slide proves, with its number, two lines at most}}",
|
|
6883
|
+
tracker: "{{Tracker: the section, one or two words}}",
|
|
6884
|
+
items: [
|
|
6885
|
+
{
|
|
6886
|
+
value: "{{0.0}}",
|
|
6887
|
+
unit: "{{unit}}",
|
|
6888
|
+
label: "{{What it measures}}",
|
|
6889
|
+
delta: "{{+0.0}}"
|
|
6890
|
+
},
|
|
6891
|
+
{
|
|
6892
|
+
value: "{{0.0}}",
|
|
6893
|
+
unit: "{{unit}}",
|
|
6894
|
+
label: "{{What it measures}}",
|
|
6895
|
+
delta: "{{+0.0}}"
|
|
6896
|
+
},
|
|
6897
|
+
{
|
|
6898
|
+
value: "{{0.0}}",
|
|
6899
|
+
unit: "{{unit}}",
|
|
6900
|
+
label: "{{What it measures}}",
|
|
6901
|
+
delta: "{{+0.0}}"
|
|
6902
|
+
}
|
|
6903
|
+
],
|
|
6904
|
+
source: "{{Source: system or document, date}}"
|
|
6905
|
+
}
|
|
6906
|
+
}
|
|
6907
|
+
}
|
|
6908
|
+
]
|
|
6909
|
+
},
|
|
6910
|
+
{
|
|
6911
|
+
name: "slide",
|
|
6912
|
+
children: [
|
|
6913
|
+
{
|
|
6914
|
+
name: "block",
|
|
6915
|
+
props: {
|
|
6916
|
+
ref: "action-chart",
|
|
6917
|
+
slots: {
|
|
6918
|
+
title: "{{Action title: the claim this slide proves, with its number, two lines at most}}",
|
|
6919
|
+
tracker: "{{Tracker: the section, one or two words}}",
|
|
6920
|
+
chart: {
|
|
6921
|
+
name: "chart",
|
|
6922
|
+
props: {
|
|
6923
|
+
type: "bar",
|
|
6924
|
+
valAxisTitle: "{{Measure (unit)}}",
|
|
6925
|
+
data: [
|
|
6926
|
+
{
|
|
6927
|
+
name: "{{Series name}}",
|
|
6928
|
+
labels: [
|
|
6929
|
+
"{{Period 1}}",
|
|
6930
|
+
"{{Period 2}}",
|
|
6931
|
+
"{{Period 3}}"
|
|
6932
|
+
],
|
|
6933
|
+
values: [0, 0, 0]
|
|
6934
|
+
}
|
|
6935
|
+
],
|
|
6936
|
+
chartColors: [
|
|
6937
|
+
"accent",
|
|
6938
|
+
"secondary",
|
|
6939
|
+
"accent4",
|
|
6940
|
+
"accent6",
|
|
6941
|
+
"accent5"
|
|
6942
|
+
]
|
|
6943
|
+
}
|
|
6944
|
+
},
|
|
6945
|
+
takeaway: "{{Takeaway: what the reader should conclude, one or two sentences}}",
|
|
6946
|
+
source: "{{Source: system or document, date}}"
|
|
6947
|
+
}
|
|
6948
|
+
}
|
|
6949
|
+
}
|
|
6950
|
+
]
|
|
6951
|
+
},
|
|
6952
|
+
{
|
|
6953
|
+
name: "slide",
|
|
6954
|
+
children: [
|
|
6955
|
+
{
|
|
6956
|
+
name: "block",
|
|
6957
|
+
props: {
|
|
6958
|
+
ref: "action-chart",
|
|
6959
|
+
slots: {
|
|
6960
|
+
title: "{{Action title: the claim this slide proves, with its number, two lines at most}}",
|
|
6961
|
+
tracker: "{{Tracker: the section, one or two words}}",
|
|
6962
|
+
chart: {
|
|
6963
|
+
name: "chart",
|
|
6964
|
+
props: {
|
|
6965
|
+
type: "bar",
|
|
6966
|
+
valAxisTitle: "{{Measure (unit)}}",
|
|
6967
|
+
data: [
|
|
6968
|
+
{
|
|
6969
|
+
name: "{{Series name}}",
|
|
6970
|
+
labels: [
|
|
6971
|
+
"{{Period 1}}",
|
|
6972
|
+
"{{Period 2}}",
|
|
6973
|
+
"{{Period 3}}"
|
|
6974
|
+
],
|
|
6975
|
+
values: [0, 0, 0]
|
|
6976
|
+
}
|
|
6977
|
+
],
|
|
6978
|
+
chartColors: [
|
|
6979
|
+
"accent",
|
|
6980
|
+
"secondary",
|
|
6981
|
+
"accent4",
|
|
6982
|
+
"accent6",
|
|
6983
|
+
"accent5"
|
|
6984
|
+
]
|
|
6985
|
+
}
|
|
6986
|
+
},
|
|
6987
|
+
takeaway: "{{Takeaway: what the reader should conclude, one or two sentences}}",
|
|
6988
|
+
source: "{{Source: system or document, date}}"
|
|
6989
|
+
}
|
|
6990
|
+
}
|
|
6991
|
+
}
|
|
6992
|
+
]
|
|
6993
|
+
},
|
|
6994
|
+
{
|
|
6995
|
+
name: "slide",
|
|
6996
|
+
children: [
|
|
6997
|
+
{
|
|
6998
|
+
name: "block",
|
|
6999
|
+
props: {
|
|
7000
|
+
ref: "action-chart",
|
|
7001
|
+
slots: {
|
|
7002
|
+
title: "{{Action title: the claim this slide proves, with its number, two lines at most}}",
|
|
7003
|
+
tracker: "{{Tracker: the section, one or two words}}",
|
|
7004
|
+
chart: {
|
|
7005
|
+
name: "chart",
|
|
7006
|
+
props: {
|
|
7007
|
+
type: "bar",
|
|
7008
|
+
valAxisTitle: "{{Measure (unit)}}",
|
|
7009
|
+
data: [
|
|
7010
|
+
{
|
|
7011
|
+
name: "{{Series name}}",
|
|
7012
|
+
labels: [
|
|
7013
|
+
"{{Period 1}}",
|
|
7014
|
+
"{{Period 2}}",
|
|
7015
|
+
"{{Period 3}}"
|
|
7016
|
+
],
|
|
7017
|
+
values: [0, 0, 0]
|
|
7018
|
+
}
|
|
7019
|
+
],
|
|
7020
|
+
chartColors: [
|
|
7021
|
+
"accent",
|
|
7022
|
+
"secondary",
|
|
7023
|
+
"accent4",
|
|
7024
|
+
"accent6",
|
|
7025
|
+
"accent5"
|
|
7026
|
+
]
|
|
7027
|
+
}
|
|
7028
|
+
},
|
|
7029
|
+
takeaway: "{{Takeaway: what the reader should conclude, one or two sentences}}",
|
|
7030
|
+
source: "{{Source: system or document, date}}"
|
|
7031
|
+
}
|
|
7032
|
+
}
|
|
7033
|
+
}
|
|
7034
|
+
]
|
|
7035
|
+
},
|
|
7036
|
+
{
|
|
7037
|
+
name: "slide",
|
|
7038
|
+
children: [
|
|
7039
|
+
{
|
|
7040
|
+
name: "block",
|
|
7041
|
+
props: {
|
|
7042
|
+
ref: "two-column",
|
|
7043
|
+
slots: {
|
|
7044
|
+
title: "{{Action title: the claim this slide proves, with its number, two lines at most}}",
|
|
7045
|
+
tracker: "{{Tracker: the section, one or two words}}",
|
|
7046
|
+
bullets: [
|
|
7047
|
+
"{{Bullet 1: one claim, ten words}}",
|
|
7048
|
+
"{{Bullet 2: one claim, ten words}}",
|
|
7049
|
+
"{{Bullet 3: one claim, ten words}}"
|
|
7050
|
+
],
|
|
7051
|
+
content: {
|
|
7052
|
+
name: "table",
|
|
7053
|
+
props: {
|
|
7054
|
+
rows: [
|
|
7055
|
+
[
|
|
7056
|
+
"{{Row label}}",
|
|
7057
|
+
{
|
|
7058
|
+
text: "{{Column (unit)}}",
|
|
7059
|
+
align: "right"
|
|
7060
|
+
},
|
|
7061
|
+
{
|
|
7062
|
+
text: "{{Column (unit)}}",
|
|
7063
|
+
align: "right"
|
|
7064
|
+
}
|
|
7065
|
+
],
|
|
7066
|
+
[
|
|
7067
|
+
"{{Row 1}}",
|
|
7068
|
+
{
|
|
7069
|
+
text: "{{0.0}}",
|
|
7070
|
+
align: "right"
|
|
7071
|
+
},
|
|
7072
|
+
{
|
|
7073
|
+
text: "{{0.0}}",
|
|
7074
|
+
align: "right"
|
|
7075
|
+
}
|
|
7076
|
+
],
|
|
7077
|
+
[
|
|
7078
|
+
"{{Row 2}}",
|
|
7079
|
+
{
|
|
7080
|
+
text: "{{0.0}}",
|
|
7081
|
+
align: "right"
|
|
7082
|
+
},
|
|
7083
|
+
{
|
|
7084
|
+
text: "{{0.0}}",
|
|
7085
|
+
align: "right"
|
|
7086
|
+
}
|
|
7087
|
+
],
|
|
7088
|
+
[
|
|
7089
|
+
"{{Row 3}}",
|
|
7090
|
+
{
|
|
7091
|
+
text: "{{0.0}}",
|
|
7092
|
+
align: "right"
|
|
7093
|
+
},
|
|
7094
|
+
{
|
|
7095
|
+
text: "{{0.0}}",
|
|
7096
|
+
align: "right"
|
|
7097
|
+
}
|
|
7098
|
+
]
|
|
7099
|
+
]
|
|
7100
|
+
}
|
|
7101
|
+
},
|
|
7102
|
+
source: "{{Source: system or document, date}}"
|
|
7103
|
+
}
|
|
7104
|
+
}
|
|
7105
|
+
}
|
|
7106
|
+
]
|
|
7107
|
+
},
|
|
7108
|
+
{
|
|
7109
|
+
name: "slide",
|
|
7110
|
+
children: [
|
|
7111
|
+
{
|
|
7112
|
+
name: "block",
|
|
7113
|
+
props: {
|
|
7114
|
+
ref: "statement",
|
|
7115
|
+
slots: {
|
|
7116
|
+
tracker: "{{Tracker: the section, one or two words}}",
|
|
7117
|
+
assertion: "{{Assertion: what to do next, in one sentence}}",
|
|
7118
|
+
support: "{{Support: what backs the assertion, under thirty words}}"
|
|
7119
|
+
}
|
|
7120
|
+
}
|
|
7121
|
+
}
|
|
7122
|
+
]
|
|
7123
|
+
}
|
|
7124
|
+
]
|
|
7125
|
+
},
|
|
7126
|
+
narrative: {
|
|
7127
|
+
description: "Argument-led: cover, the position as a statement, two two-column slides that argue it beside a chart, one action-chart, a two-column table, a closing statement.",
|
|
7128
|
+
whenToUse: "The brief is a position or a recommendation with few numbers; the audience follows an argument.",
|
|
7129
|
+
pages: {
|
|
7130
|
+
min: 6,
|
|
7131
|
+
max: 8
|
|
7132
|
+
},
|
|
7133
|
+
metadata: {
|
|
7134
|
+
title: "{{Title: as on the cover}}",
|
|
7135
|
+
author: "{{Author or team}}",
|
|
7136
|
+
company: "{{Client name}}"
|
|
7137
|
+
},
|
|
7138
|
+
children: [
|
|
7139
|
+
{
|
|
7140
|
+
name: "slide",
|
|
7141
|
+
children: [
|
|
7142
|
+
{
|
|
7143
|
+
name: "block",
|
|
7144
|
+
props: {
|
|
7145
|
+
ref: "cover",
|
|
7146
|
+
slots: {
|
|
7147
|
+
title: "{{Title: the deck's conclusion in one sentence}}",
|
|
7148
|
+
subtitle: "{{Subtitle: what the deck answers, for whom}}",
|
|
7149
|
+
client: "{{Client name}}",
|
|
7150
|
+
date: "{{Month YYYY}}",
|
|
7151
|
+
confidentiality: "{{Confidentiality: Confidential, or For internal use}}"
|
|
7152
|
+
}
|
|
7153
|
+
}
|
|
7154
|
+
}
|
|
7155
|
+
]
|
|
7156
|
+
},
|
|
7157
|
+
{
|
|
7158
|
+
name: "slide",
|
|
7159
|
+
children: [
|
|
7160
|
+
{
|
|
7161
|
+
name: "block",
|
|
7162
|
+
props: {
|
|
7163
|
+
ref: "statement",
|
|
7164
|
+
slots: {
|
|
7165
|
+
tracker: "{{Tracker: the section, one or two words}}",
|
|
7166
|
+
assertion: "{{Assertion: the position, in one sentence}}",
|
|
7167
|
+
support: "{{Support: what backs the assertion, under thirty words}}"
|
|
7168
|
+
}
|
|
7169
|
+
}
|
|
7170
|
+
}
|
|
7171
|
+
]
|
|
7172
|
+
},
|
|
7173
|
+
{
|
|
7174
|
+
name: "slide",
|
|
7175
|
+
children: [
|
|
7176
|
+
{
|
|
7177
|
+
name: "block",
|
|
7178
|
+
props: {
|
|
7179
|
+
ref: "two-column",
|
|
7180
|
+
slots: {
|
|
7181
|
+
title: "{{Action title: the claim this slide proves, with its number, two lines at most}}",
|
|
7182
|
+
tracker: "{{Tracker: the section, one or two words}}",
|
|
7183
|
+
text: "{{Body: the argument this slide makes, under fifty words}}",
|
|
7184
|
+
content: {
|
|
7185
|
+
name: "chart",
|
|
7186
|
+
props: {
|
|
7187
|
+
type: "bar",
|
|
7188
|
+
valAxisTitle: "{{Measure (unit)}}",
|
|
7189
|
+
data: [
|
|
7190
|
+
{
|
|
7191
|
+
name: "{{Series name}}",
|
|
7192
|
+
labels: [
|
|
7193
|
+
"{{Period 1}}",
|
|
7194
|
+
"{{Period 2}}",
|
|
7195
|
+
"{{Period 3}}"
|
|
7196
|
+
],
|
|
7197
|
+
values: [0, 0, 0]
|
|
7198
|
+
}
|
|
7199
|
+
],
|
|
7200
|
+
chartColors: [
|
|
7201
|
+
"accent",
|
|
7202
|
+
"secondary",
|
|
7203
|
+
"accent4",
|
|
7204
|
+
"accent6",
|
|
7205
|
+
"accent5"
|
|
7206
|
+
]
|
|
7207
|
+
}
|
|
7208
|
+
},
|
|
7209
|
+
source: "{{Source: system or document, date}}"
|
|
7210
|
+
}
|
|
7211
|
+
}
|
|
7212
|
+
}
|
|
7213
|
+
]
|
|
7214
|
+
},
|
|
7215
|
+
{
|
|
7216
|
+
name: "slide",
|
|
7217
|
+
children: [
|
|
7218
|
+
{
|
|
7219
|
+
name: "block",
|
|
7220
|
+
props: {
|
|
7221
|
+
ref: "two-column",
|
|
7222
|
+
slots: {
|
|
7223
|
+
title: "{{Action title: the claim this slide proves, with its number, two lines at most}}",
|
|
7224
|
+
tracker: "{{Tracker: the section, one or two words}}",
|
|
7225
|
+
text: "{{Body: the argument this slide makes, under fifty words}}",
|
|
7226
|
+
content: {
|
|
7227
|
+
name: "chart",
|
|
7228
|
+
props: {
|
|
7229
|
+
type: "bar",
|
|
7230
|
+
valAxisTitle: "{{Measure (unit)}}",
|
|
7231
|
+
data: [
|
|
7232
|
+
{
|
|
7233
|
+
name: "{{Series name}}",
|
|
7234
|
+
labels: [
|
|
7235
|
+
"{{Period 1}}",
|
|
7236
|
+
"{{Period 2}}",
|
|
7237
|
+
"{{Period 3}}"
|
|
7238
|
+
],
|
|
7239
|
+
values: [0, 0, 0]
|
|
7240
|
+
}
|
|
7241
|
+
],
|
|
7242
|
+
chartColors: [
|
|
7243
|
+
"accent",
|
|
7244
|
+
"secondary",
|
|
7245
|
+
"accent4",
|
|
7246
|
+
"accent6",
|
|
7247
|
+
"accent5"
|
|
7248
|
+
]
|
|
7249
|
+
}
|
|
7250
|
+
},
|
|
7251
|
+
source: "{{Source: system or document, date}}"
|
|
7252
|
+
}
|
|
7253
|
+
}
|
|
7254
|
+
}
|
|
7255
|
+
]
|
|
7256
|
+
},
|
|
7257
|
+
{
|
|
7258
|
+
name: "slide",
|
|
7259
|
+
children: [
|
|
7260
|
+
{
|
|
7261
|
+
name: "block",
|
|
7262
|
+
props: {
|
|
7263
|
+
ref: "action-chart",
|
|
7264
|
+
slots: {
|
|
7265
|
+
title: "{{Action title: the claim this slide proves, with its number, two lines at most}}",
|
|
7266
|
+
tracker: "{{Tracker: the section, one or two words}}",
|
|
7267
|
+
chart: {
|
|
7268
|
+
name: "chart",
|
|
7269
|
+
props: {
|
|
7270
|
+
type: "bar",
|
|
7271
|
+
valAxisTitle: "{{Measure (unit)}}",
|
|
7272
|
+
data: [
|
|
7273
|
+
{
|
|
7274
|
+
name: "{{Series name}}",
|
|
7275
|
+
labels: [
|
|
7276
|
+
"{{Period 1}}",
|
|
7277
|
+
"{{Period 2}}",
|
|
7278
|
+
"{{Period 3}}"
|
|
7279
|
+
],
|
|
7280
|
+
values: [0, 0, 0]
|
|
7281
|
+
}
|
|
7282
|
+
],
|
|
7283
|
+
chartColors: [
|
|
7284
|
+
"accent",
|
|
7285
|
+
"secondary",
|
|
7286
|
+
"accent4",
|
|
7287
|
+
"accent6",
|
|
7288
|
+
"accent5"
|
|
7289
|
+
]
|
|
7290
|
+
}
|
|
7291
|
+
},
|
|
7292
|
+
takeaway: "{{Takeaway: what the reader should conclude, one or two sentences}}",
|
|
7293
|
+
source: "{{Source: system or document, date}}"
|
|
7294
|
+
}
|
|
7295
|
+
}
|
|
7296
|
+
}
|
|
7297
|
+
]
|
|
7298
|
+
},
|
|
7299
|
+
{
|
|
7300
|
+
name: "slide",
|
|
7301
|
+
children: [
|
|
7302
|
+
{
|
|
7303
|
+
name: "block",
|
|
7304
|
+
props: {
|
|
7305
|
+
ref: "two-column",
|
|
7306
|
+
slots: {
|
|
7307
|
+
title: "{{Action title: the claim this slide proves, with its number, two lines at most}}",
|
|
7308
|
+
tracker: "{{Tracker: the section, one or two words}}",
|
|
7309
|
+
bullets: [
|
|
7310
|
+
"{{Bullet 1: one claim, ten words}}",
|
|
7311
|
+
"{{Bullet 2: one claim, ten words}}",
|
|
7312
|
+
"{{Bullet 3: one claim, ten words}}"
|
|
7313
|
+
],
|
|
7314
|
+
content: {
|
|
7315
|
+
name: "table",
|
|
7316
|
+
props: {
|
|
7317
|
+
rows: [
|
|
7318
|
+
[
|
|
7319
|
+
"{{Row label}}",
|
|
7320
|
+
{
|
|
7321
|
+
text: "{{Column (unit)}}",
|
|
7322
|
+
align: "right"
|
|
7323
|
+
},
|
|
7324
|
+
{
|
|
7325
|
+
text: "{{Column (unit)}}",
|
|
7326
|
+
align: "right"
|
|
7327
|
+
}
|
|
7328
|
+
],
|
|
7329
|
+
[
|
|
7330
|
+
"{{Row 1}}",
|
|
7331
|
+
{
|
|
7332
|
+
text: "{{0.0}}",
|
|
7333
|
+
align: "right"
|
|
7334
|
+
},
|
|
7335
|
+
{
|
|
7336
|
+
text: "{{0.0}}",
|
|
7337
|
+
align: "right"
|
|
7338
|
+
}
|
|
7339
|
+
],
|
|
7340
|
+
[
|
|
7341
|
+
"{{Row 2}}",
|
|
7342
|
+
{
|
|
7343
|
+
text: "{{0.0}}",
|
|
7344
|
+
align: "right"
|
|
7345
|
+
},
|
|
7346
|
+
{
|
|
7347
|
+
text: "{{0.0}}",
|
|
7348
|
+
align: "right"
|
|
7349
|
+
}
|
|
7350
|
+
],
|
|
7351
|
+
[
|
|
7352
|
+
"{{Row 3}}",
|
|
7353
|
+
{
|
|
7354
|
+
text: "{{0.0}}",
|
|
7355
|
+
align: "right"
|
|
7356
|
+
},
|
|
7357
|
+
{
|
|
7358
|
+
text: "{{0.0}}",
|
|
7359
|
+
align: "right"
|
|
7360
|
+
}
|
|
7361
|
+
]
|
|
7362
|
+
]
|
|
7363
|
+
}
|
|
7364
|
+
},
|
|
7365
|
+
source: "{{Source: system or document, date}}"
|
|
7366
|
+
}
|
|
7367
|
+
}
|
|
7368
|
+
}
|
|
7369
|
+
]
|
|
7370
|
+
},
|
|
7371
|
+
{
|
|
7372
|
+
name: "slide",
|
|
7373
|
+
children: [
|
|
7374
|
+
{
|
|
7375
|
+
name: "block",
|
|
7376
|
+
props: {
|
|
7377
|
+
ref: "statement",
|
|
7378
|
+
slots: {
|
|
7379
|
+
tracker: "{{Tracker: the section, one or two words}}",
|
|
7380
|
+
assertion: "{{Assertion: what to do next, in one sentence}}",
|
|
7381
|
+
support: "{{Support: what backs the assertion, under thirty words}}"
|
|
7382
|
+
}
|
|
7383
|
+
}
|
|
7384
|
+
}
|
|
7385
|
+
]
|
|
7386
|
+
}
|
|
7387
|
+
]
|
|
7388
|
+
}
|
|
7389
|
+
}
|
|
7390
|
+
};
|
|
7391
|
+
|
|
7392
|
+
// src/blueprints/index.ts
|
|
7393
|
+
function scanned(known) {
|
|
7394
|
+
let here;
|
|
7395
|
+
try {
|
|
7396
|
+
here = dirname(fileURLToPath(import.meta.url));
|
|
7397
|
+
} catch {
|
|
7398
|
+
return [];
|
|
7399
|
+
}
|
|
7400
|
+
const directory = [
|
|
7401
|
+
join(here, "../templates/blueprints"),
|
|
7402
|
+
join(here, "templates/blueprints")
|
|
7403
|
+
].find((path4) => existsSync(path4));
|
|
7404
|
+
if (!directory) return [];
|
|
7405
|
+
return readdirSync(directory).filter((file) => file.endsWith(".pptx.blueprint.json")).map((file) => JSON.parse(readFileSync(join(directory, file), "utf8"))).filter((candidate) => {
|
|
7406
|
+
const id = candidate?.id;
|
|
7407
|
+
return !(typeof id === "string" && id in known);
|
|
7408
|
+
});
|
|
7409
|
+
}
|
|
7410
|
+
var bundled = registerBlueprints("pptx", [consulting_deck_pptx_blueprint_default]);
|
|
7411
|
+
var PPTX_BLUEPRINTS = {
|
|
7412
|
+
...bundled,
|
|
7413
|
+
...registerBlueprints("pptx", scanned(bundled))
|
|
7414
|
+
};
|
|
7415
|
+
function pptxBlueprint(id) {
|
|
7416
|
+
return PPTX_BLUEPRINTS[id];
|
|
7417
|
+
}
|
|
7418
|
+
var CANVAS = { slideWidth: 13.333, slideHeight: 7.5 };
|
|
7419
|
+
function instantiatePptxBlueprint(blueprint, options) {
|
|
7420
|
+
return instantiateBlueprint(blueprint, options, {
|
|
7421
|
+
format: "pptx",
|
|
7422
|
+
props: CANVAS,
|
|
7423
|
+
metadataPointer: "/props",
|
|
7424
|
+
markers: (document) => collectPlaceholders2(document).filter(
|
|
7425
|
+
(occurrence) => occurrence.match.kind === "scaffold-marker"
|
|
7426
|
+
)
|
|
7427
|
+
});
|
|
7428
|
+
}
|
|
7429
|
+
|
|
6277
7430
|
// src/quality/preflight.ts
|
|
6278
7431
|
import {
|
|
6279
7432
|
assertValidQualityPolicy,
|
|
@@ -7613,13 +8766,16 @@ export {
|
|
|
7613
8766
|
DEFAULT_GENERATED_AT,
|
|
7614
8767
|
DEFAULT_PPTX_RENDERER_ID,
|
|
7615
8768
|
DEFAULT_PPTX_THEME,
|
|
8769
|
+
DEVPORTAL_PPTX_THEME,
|
|
7616
8770
|
DuplicateComponentError,
|
|
8771
|
+
PPTX_BLUEPRINTS,
|
|
7617
8772
|
PPTX_DEFAULT_QUALITY_PROFILE,
|
|
7618
8773
|
PPTX_QUALITY_PROFILES,
|
|
7619
8774
|
PPTX_QUALITY_RULES,
|
|
7620
8775
|
PresentationGenerator,
|
|
7621
8776
|
PresentationValidationError,
|
|
7622
8777
|
UncompiledComponentError,
|
|
8778
|
+
VERMILION_PPTX_THEME,
|
|
7623
8779
|
W as WarningCodes,
|
|
7624
8780
|
analyzePptxQuality,
|
|
7625
8781
|
blockSlotBudgets,
|
|
@@ -7639,10 +8795,12 @@ export {
|
|
|
7639
8795
|
getPptxCoreVersion,
|
|
7640
8796
|
getPptxTheme,
|
|
7641
8797
|
hasPptxTheme,
|
|
8798
|
+
instantiatePptxBlueprint,
|
|
7642
8799
|
isPptxRendererId,
|
|
7643
8800
|
isPresentationComponent,
|
|
7644
8801
|
isPresentationComponentDefinition,
|
|
7645
8802
|
isSlideComponent,
|
|
8803
|
+
pptxBlueprint,
|
|
7646
8804
|
pptxQualityEngine,
|
|
7647
8805
|
pptxRendererIds,
|
|
7648
8806
|
pptxRendererStatuses,
|