mulmocast-vision 0.0.3 → 0.0.4
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/html/html/agendaPage.html +13 -0
- package/html/html/balanceSheetPage.html +29 -0
- package/html/html/balancedScorecardPage.html +15 -0
- package/html/html/bcgMatrixPage.html +37 -0
- package/html/html/beforeAfterPage.html +21 -0
- package/html/html/benchmarkingTablePage.html +23 -0
- package/html/html/bubbleChartPlaceholderPage.html +9 -0
- package/html/html/businessModelCanvasPage.html +14 -0
- package/html/html/capabilityMaturityPage.html +8 -0
- package/html/html/cashFlowPage.html +21 -0
- package/html/html/changeCurvePage.html +11 -0
- package/html/html/circularEconomyMapPage.html +8 -0
- package/html/html/communicationPlanPage.html +22 -0
- package/html/html/complianceHeatmapPage.html +19 -0
- package/html/html/costStructurePage.html +20 -0
- package/html/html/csrInitiativesPage.html +8 -0
- package/html/html/cultureValuesPage.html +21 -0
- package/html/html/customerJourneyPage.html +21 -0
- package/html/html/customerSuccessJourneyPage.html +15 -0
- package/html/html/digitalMaturityPage.html +14 -0
- package/html/html/driverTreePage.html +20 -0
- package/html/html/ecosystemMapPage.html +11 -0
- package/html/html/esgFrameworkPage.html +28 -0
- package/html/html/executiveSummaryPage.html +15 -0
- package/html/html/fourPPage.html +36 -0
- package/html/html/funnelPage.html +8 -0
- package/html/html/ganttSimplePage.html +21 -0
- package/html/html/geMcKinseyMatrixPage.html +13 -0
- package/html/html/heatmapPlaceholderPage.html +24 -0
- package/html/html/hypothesisPage.html +22 -0
- package/html/html/innovationFunnelPage.html +13 -0
- package/html/html/integrationPlanPage.html +21 -0
- package/html/html/issueTreePage.html +23 -0
- package/html/html/keyMessageWithSupportsPage.html +13 -0
- package/html/html/kpiHighlightPage.html +14 -0
- package/html/html/launchPlanPage.html +29 -0
- package/html/html/mAPipelinePage.html +16 -0
- package/html/html/marimekkoPlaceholderPage.html +9 -0
- package/html/html/marketDriversPage.html +8 -0
- package/html/html/marketingMixPage.html +11 -0
- package/html/html/meceListPage.html +15 -0
- package/html/html/milestoneTimelinePage.html +14 -0
- package/html/html/npvSummaryPage.html +12 -0
- package/html/html/okrKpiDashboardPage.html +16 -0
- package/html/html/optionEvaluationPage.html +23 -0
- package/html/html/orgChartPage.html +8 -0
- package/html/html/pLBreakdownPage.html +19 -0
- package/html/html/partnershipMapPage.html +11 -0
- package/html/html/personasPage.html +19 -0
- package/html/html/pipelineFunnelPage.html +8 -0
- package/html/html/porterFiveForcesPage.html +44 -0
- package/html/html/positioningMapPage.html +11 -0
- package/html/html/pricingWaterfallPage.html +8 -0
- package/html/html/productRoadmapPage.html +15 -0
- package/html/html/pyramidPrinciplePage.html +27 -0
- package/html/html/quarterlyRoadmapPage.html +15 -0
- package/html/html/raciPage.html +23 -0
- package/html/html/revenueModelPage.html +17 -0
- package/html/html/riskMitigationPage.html +17 -0
- package/html/html/salesDashboardPage.html +11 -0
- package/html/html/scenarioPlanningPage.html +13 -0
- package/html/html/scqaPage.html +27 -0
- package/html/html/sectionDividerPage.html +7 -0
- package/html/html/segmentationPage.html +15 -0
- package/html/html/sensitivityAnalysisPage.html +22 -0
- package/html/html/sevenSPage.html +11 -0
- package/html/html/shareholderValueTreePage.html +8 -0
- package/html/html/stakeholderMapPage.html +14 -0
- package/html/html/supportOrgModelPage.html +21 -0
- package/html/html/surveyResultsPage.html +11 -0
- package/html/html/sustainabilityRoadmapPage.html +15 -0
- package/html/html/swotPage.html +36 -0
- package/html/html/synergyCapturePage.html +8 -0
- package/html/html/tamSamSomPage.html +11 -0
- package/html/html/techRoadmapPage.html +15 -0
- package/html/html/thankYouContactPage.html +24 -0
- package/html/html/threeCPage.html +28 -0
- package/html/html/twoByTwoMatrixPage.html +17 -0
- package/html/html/valueChainPage.html +18 -0
- package/html/html/waterfallPage.html +8 -0
- package/html/html2/agendaPage.html +26 -0
- package/html/html2/balanceSheetPage.html +87 -0
- package/html/html2/balancedScorecardPage.html +29 -0
- package/html/html2/bcgMatrixPage.html +165 -0
- package/html/html2/beforeAfterPage.html +78 -0
- package/html/html2/benchmarkingTablePage.html +70 -0
- package/html/html2/bubbleChartPlaceholderPage.html +107 -0
- package/html/html2/businessModelCanvasPage.html +43 -0
- package/html/html2/capabilityMaturityPage.html +38 -0
- package/html/html2/cashFlowPage.html +68 -0
- package/html/html2/changeCurvePage.html +53 -0
- package/html/html2/circularEconomyMapPage.html +35 -0
- package/html/html2/communicationPlanPage.html +82 -0
- package/html/html2/complianceHeatmapPage.html +42 -0
- package/html/html2/costStructurePage.html +60 -0
- package/html/html2/csrInitiativesPage.html +26 -0
- package/html/html2/cultureValuesPage.html +44 -0
- package/html/html2/customerJourneyPage.html +68 -0
- package/html/html2/customerSuccessJourneyPage.html +54 -0
- package/html/html2/digitalMaturityPage.html +51 -0
- package/html/html2/driverTreePage.html +92 -0
- package/html/html2/ecosystemMapPage.html +30 -0
- package/html/html2/esgFrameworkPage.html +66 -0
- package/html/html2/executiveSummaryPage.html +27 -0
- package/html/html2/fourPPage.html +85 -0
- package/html/html2/funnelPage.html +53 -0
- package/html/html2/ganttSimplePage.html +56 -0
- package/html/html2/geMcKinseyMatrixPage.html +43 -0
- package/html/html2/heatmapPlaceholderPage.html +131 -0
- package/html/html2/hypothesisPage.html +100 -0
- package/html/html2/innovationFunnelPage.html +61 -0
- package/html/html2/integrationPlanPage.html +61 -0
- package/html/html2/issueTreePage.html +97 -0
- package/html/html2/keyMessageWithSupportsPage.html +47 -0
- package/html/html2/kpiHighlightPage.html +54 -0
- package/html/html2/launchPlanPage.html +86 -0
- package/html/html2/mAPipelinePage.html +79 -0
- package/html/html2/marimekkoPlaceholderPage.html +120 -0
- package/html/html2/marketDriversPage.html +32 -0
- package/html/html2/marketingMixPage.html +50 -0
- package/html/html2/meceListPage.html +32 -0
- package/html/html2/milestoneTimelinePage.html +59 -0
- package/html/html2/npvSummaryPage.html +54 -0
- package/html/html2/okrKpiDashboardPage.html +85 -0
- package/html/html2/optionEvaluationPage.html +128 -0
- package/html/html2/orgChartPage.html +30 -0
- package/html/html2/pLBreakdownPage.html +73 -0
- package/html/html2/partnershipMapPage.html +26 -0
- package/html/html2/personasPage.html +39 -0
- package/html/html2/pipelineFunnelPage.html +77 -0
- package/html/html2/porterFiveForcesPage.html +140 -0
- package/html/html2/positioningMapPage.html +40 -0
- package/html/html2/pricingWaterfallPage.html +33 -0
- package/html/html2/productRoadmapPage.html +47 -0
- package/html/html2/pyramidPrinciplePage.html +47 -0
- package/html/html2/quarterlyRoadmapPage.html +54 -0
- package/html/html2/raciPage.html +49 -0
- package/html/html2/revenueModelPage.html +54 -0
- package/html/html2/riskMitigationPage.html +36 -0
- package/html/html2/salesDashboardPage.html +58 -0
- package/html/html2/scenarioPlanningPage.html +63 -0
- package/html/html2/scqaPage.html +74 -0
- package/html/html2/sectionDividerPage.html +25 -0
- package/html/html2/segmentationPage.html +36 -0
- package/html/html2/sensitivityAnalysisPage.html +82 -0
- package/html/html2/sevenSPage.html +31 -0
- package/html/html2/shareholderValueTreePage.html +32 -0
- package/html/html2/stakeholderMapPage.html +36 -0
- package/html/html2/supportOrgModelPage.html +57 -0
- package/html/html2/surveyResultsPage.html +32 -0
- package/html/html2/sustainabilityRoadmapPage.html +54 -0
- package/html/html2/swotPage.html +97 -0
- package/html/html2/synergyCapturePage.html +39 -0
- package/html/html2/tamSamSomPage.html +62 -0
- package/html/html2/techRoadmapPage.html +54 -0
- package/html/html2/thankYouContactPage.html +78 -0
- package/html/html2/threeCPage.html +66 -0
- package/html/html2/twoByTwoMatrixPage.html +72 -0
- package/html/html2/valueChainPage.html +56 -0
- package/html/html2/waterfallPage.html +47 -0
- package/html/templates/tailwind-sea.html +34 -0
- package/html/templates/tailwind.html +14 -0
- package/package.json +3 -3
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<div class="bg-white text-gray-900 px-20 py-20">
|
|
2
|
+
<header class="mb-10">
|
|
3
|
+
<h1 class="text-6xl font-extrabold tracking-tight mb-4">{{headline}}</h1>
|
|
4
|
+
<p class="text-gray-600 text-xl">One key message with supporting points.</p>
|
|
5
|
+
</header>
|
|
6
|
+
<section>
|
|
7
|
+
<ul class="list-disc ml-6 space-y-4 text-2xl leading-relaxed">
|
|
8
|
+
{% for s in supports %}
|
|
9
|
+
<li>{{s}}</li>
|
|
10
|
+
{% endfor %}
|
|
11
|
+
</ul>
|
|
12
|
+
</section>
|
|
13
|
+
</div>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<div class="bg-white text-gray-900 px-16 py-16">
|
|
2
|
+
<h1 class="text-5xl font-bold mb-8">{{title}}</h1>
|
|
3
|
+
<div class="grid grid-cols-1 md:grid-cols-3 gap-6">
|
|
4
|
+
{% for k in kpis %}
|
|
5
|
+
<section class="rounded-2xl border p-6 bg-gray-50">
|
|
6
|
+
<div class="text-xl text-gray-700">{{k.label}}</div>
|
|
7
|
+
<div class="text-5xl font-extrabold my-2">{{k.value}}</div>
|
|
8
|
+
{% if k.delta %}
|
|
9
|
+
<div class="text-gray-600">Δ {{k.delta}}</div>
|
|
10
|
+
{% endif %}
|
|
11
|
+
</section>
|
|
12
|
+
{% endfor %}
|
|
13
|
+
</div>
|
|
14
|
+
</div>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<div class="bg-white text-gray-900 px-16 py-16">
|
|
2
|
+
<h1 class="text-5xl font-bold mb-8">Launch Plan</h1>
|
|
3
|
+
<div class="grid grid-cols-3 gap-6">
|
|
4
|
+
<section class="rounded-xl border p-6 bg-gray-50">
|
|
5
|
+
<h2 class="text-xl font-semibold mb-3">Workstreams</h2>
|
|
6
|
+
<ul class="list-disc ml-5 text-2xl">
|
|
7
|
+
{% for w in workstreams %}
|
|
8
|
+
<li>{{w}}</li>
|
|
9
|
+
{% endfor %}
|
|
10
|
+
</ul>
|
|
11
|
+
</section>
|
|
12
|
+
<section class="rounded-xl border p-6 bg-white">
|
|
13
|
+
<h2 class="text-xl font-semibold mb-3">Milestones</h2>
|
|
14
|
+
<ul class="list-disc ml-5 text-2xl">
|
|
15
|
+
{% for m in milestones %}
|
|
16
|
+
<li>{{m}}</li>
|
|
17
|
+
{% endfor %}
|
|
18
|
+
</ul>
|
|
19
|
+
</section>
|
|
20
|
+
<section class="rounded-xl border p-6 bg-gray-50">
|
|
21
|
+
<h2 class="text-xl font-semibold mb-3">Risks</h2>
|
|
22
|
+
<ul class="list-disc ml-5 text-2xl">
|
|
23
|
+
{% for r in risks %}
|
|
24
|
+
<li>{{r}}</li>
|
|
25
|
+
{% endfor %}
|
|
26
|
+
</ul>
|
|
27
|
+
</section>
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<div class="bg-white text-gray-900 px-16 py-16">
|
|
2
|
+
<h1 class="text-5xl font-bold mb-6">M&A Pipeline</h1>
|
|
3
|
+
<ol class="list-decimal ml-6 space-y-2 text-2xl">
|
|
4
|
+
{% for s in stages %}
|
|
5
|
+
<li>{{s}}</li>
|
|
6
|
+
{% endfor %}
|
|
7
|
+
</ol>
|
|
8
|
+
{% if targets %}
|
|
9
|
+
<h2 class="text-xl font-semibold mt-6 mb-2">Targets</h2>
|
|
10
|
+
<ul class="list-disc ml-5 text-2xl">
|
|
11
|
+
{% for t in targets %}
|
|
12
|
+
<li>{{t}}</li>
|
|
13
|
+
{% endfor %}
|
|
14
|
+
</ul>
|
|
15
|
+
{% endif %}
|
|
16
|
+
</div>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<div class="bg-white text-gray-900 px-16 py-16">
|
|
2
|
+
<h1 class="text-5xl font-bold mb-8">{{title}}</h1>
|
|
3
|
+
<p class="text-gray-600 mb-4">Chart placeholder. Replace with visualization.</p>
|
|
4
|
+
<ul class="list-disc ml-5 text-2xl">
|
|
5
|
+
{% for c in categories %}
|
|
6
|
+
<li>{{c}}</li>
|
|
7
|
+
{% endfor %}
|
|
8
|
+
</ul>
|
|
9
|
+
</div>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<div class="bg-white text-gray-900 px-16 py-16">
|
|
2
|
+
<h1 class="text-5xl font-bold mb-6">Marketing Mix</h1>
|
|
3
|
+
<ul class="list-disc ml-5 space-y-2 text-2xl">
|
|
4
|
+
{% for l in levers %}
|
|
5
|
+
<li>{{l}}</li>
|
|
6
|
+
{% endfor %}
|
|
7
|
+
</ul>
|
|
8
|
+
{% if notes %}
|
|
9
|
+
<p class="mt-6 text-gray-600">{{notes}}</p>
|
|
10
|
+
{% endif %}
|
|
11
|
+
</div>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<div class="bg-white text-gray-900 px-20 py-20">
|
|
2
|
+
<h1 class="text-5xl font-bold mb-10">{{title}}</h1>
|
|
3
|
+
<div class="grid grid-cols-1 md:grid-cols-3 gap-6">
|
|
4
|
+
{% for g in groups %}
|
|
5
|
+
<section class="rounded-2xl border border-gray-200 p-6 bg-gray-50">
|
|
6
|
+
<h2 class="text-xl font-semibold text-gray-700 mb-3">{{g.label}}</h2>
|
|
7
|
+
<ul class="list-disc ml-5 space-y-2 text-2xl">
|
|
8
|
+
{% for it in g.items %}
|
|
9
|
+
<li>{{it}}</li>
|
|
10
|
+
{% endfor %}
|
|
11
|
+
</ul>
|
|
12
|
+
</section>
|
|
13
|
+
{% endfor %}
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<div class="bg-white text-gray-900 px-16 py-16">
|
|
2
|
+
<h1 class="text-5xl font-bold mb-8">{{title}}</h1>
|
|
3
|
+
<ol class="relative border-l-2 border-gray-200 ml-4">
|
|
4
|
+
{% for m in milestones %}
|
|
5
|
+
<li class="ml-6 mb-8">
|
|
6
|
+
<div class="absolute -left-1.5 w-3 h-3 bg-gray-400 rounded-full"></div>
|
|
7
|
+
<h3 class="text-2xl font-semibold">{{m.label}}</h3>
|
|
8
|
+
{% if m.date %}<time class="text-gray-600">{{m.date}}</time>{% endif %} {% if m.notes %}
|
|
9
|
+
<p class="text-gray-700 mt-2">{{m.notes}}</p>
|
|
10
|
+
{% endif %}
|
|
11
|
+
</li>
|
|
12
|
+
{% endfor %}
|
|
13
|
+
</ol>
|
|
14
|
+
</div>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<div class="bg-white text-gray-900 px-16 py-16">
|
|
2
|
+
<h1 class="text-5xl font-bold mb-6">NPV Summary</h1>
|
|
3
|
+
<p class="text-3xl mb-4">NPV: {{npv}}</p>
|
|
4
|
+
{% if assumptions %}
|
|
5
|
+
<h2 class="text-xl font-semibold mb-2">Assumptions</h2>
|
|
6
|
+
<ul class="list-disc ml-5 text-2xl">
|
|
7
|
+
{% for a in assumptions %}
|
|
8
|
+
<li>{{a}}</li>
|
|
9
|
+
{% endfor %}
|
|
10
|
+
</ul>
|
|
11
|
+
{% endif %}
|
|
12
|
+
</div>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<div class="bg-white text-gray-900 px-16 py-16">
|
|
2
|
+
<h1 class="text-5xl font-bold mb-8">{{title}}</h1>
|
|
3
|
+
<div class="grid grid-cols-1 md:grid-cols-3 gap-6">
|
|
4
|
+
{% for m in metrics %}
|
|
5
|
+
<section class="rounded-2xl border p-6 bg-gray-50">
|
|
6
|
+
<div class="text-xl text-gray-700">{{m.label}}</div>
|
|
7
|
+
<div class="text-5xl font-extrabold my-2">{{m.value}}</div>
|
|
8
|
+
{% if m.target %}
|
|
9
|
+
<div class="text-gray-600">Target: {{m.target}}</div>
|
|
10
|
+
{% endif %} {% if m.status %}
|
|
11
|
+
<div class="mt-2 text-sm uppercase tracking-wide">{{m.status}}</div>
|
|
12
|
+
{% endif %}
|
|
13
|
+
</section>
|
|
14
|
+
{% endfor %}
|
|
15
|
+
</div>
|
|
16
|
+
</div>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<div class="bg-white text-gray-900 px-16 py-16">
|
|
2
|
+
<h1 class="text-5xl font-bold mb-8">Option Evaluation</h1>
|
|
3
|
+
<table class="w-full border-collapse">
|
|
4
|
+
<thead>
|
|
5
|
+
<tr>
|
|
6
|
+
<th class="border p-3 text-left">Criteria \ Options</th>
|
|
7
|
+
{% for o in options %}
|
|
8
|
+
<th class="border p-3">{{o}}</th>
|
|
9
|
+
{% endfor %}
|
|
10
|
+
</tr>
|
|
11
|
+
</thead>
|
|
12
|
+
<tbody>
|
|
13
|
+
{% for i in range(0, criteria|length) %}
|
|
14
|
+
<tr>
|
|
15
|
+
<td class="border p-3">{{criteria[i]}}</td>
|
|
16
|
+
{% for j in range(0, options|length) %}
|
|
17
|
+
<td class="border p-3">{{scores[j][i]}}</td>
|
|
18
|
+
{% endfor %}
|
|
19
|
+
</tr>
|
|
20
|
+
{% endfor %}
|
|
21
|
+
</tbody>
|
|
22
|
+
</table>
|
|
23
|
+
</div>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<div class="bg-white text-gray-900 px-16 py-16">
|
|
2
|
+
<h1 class="text-5xl font-bold mb-8">Org Chart</h1>
|
|
3
|
+
<ul class="list-disc ml-5 text-2xl">
|
|
4
|
+
{% for n in nodes %}
|
|
5
|
+
<li>{{n.label}}{% if n.parentId %} — reports to {{n.parentId}}{% endif %}</li>
|
|
6
|
+
{% endfor %}
|
|
7
|
+
</ul>
|
|
8
|
+
</div>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<div class="bg-white text-gray-900 px-16 py-16">
|
|
2
|
+
<h1 class="text-5xl font-bold mb-8">P&L Breakdown</h1>
|
|
3
|
+
<table class="w-full border-collapse">
|
|
4
|
+
<thead>
|
|
5
|
+
<tr>
|
|
6
|
+
<th class="border p-3 text-left">Category</th>
|
|
7
|
+
<th class="border p-3 text-right">Value</th>
|
|
8
|
+
</tr>
|
|
9
|
+
</thead>
|
|
10
|
+
<tbody>
|
|
11
|
+
{% for i in range(0, categories|length) %}
|
|
12
|
+
<tr>
|
|
13
|
+
<td class="border p-3">{{categories[i]}}</td>
|
|
14
|
+
<td class="border p-3 text-right">{{values[i]}}</td>
|
|
15
|
+
</tr>
|
|
16
|
+
{% endfor %}
|
|
17
|
+
</tbody>
|
|
18
|
+
</table>
|
|
19
|
+
</div>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<div class="bg-white text-gray-900 px-16 py-16">
|
|
2
|
+
<h1 class="text-5xl font-bold mb-6">Partnership Map</h1>
|
|
3
|
+
<div class="grid grid-cols-2 gap-6">
|
|
4
|
+
{% for p in partners %}
|
|
5
|
+
<section class="rounded-xl border p-6 bg-gray-50">
|
|
6
|
+
<h2 class="text-xl font-semibold mb-2">{{p.category}}</h2>
|
|
7
|
+
<p class="text-2xl">{{p.name}}</p>
|
|
8
|
+
</section>
|
|
9
|
+
{% endfor %}
|
|
10
|
+
</div>
|
|
11
|
+
</div>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<div class="bg-white text-gray-900 px-16 py-16">
|
|
2
|
+
<h1 class="text-5xl font-bold mb-8">Personas</h1>
|
|
3
|
+
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
|
|
4
|
+
{% for p in personas %}
|
|
5
|
+
<section class="rounded-xl border p-6 bg-gray-50">
|
|
6
|
+
<h2 class="text-2xl font-semibold mb-2">{{p.name}}</h2>
|
|
7
|
+
{% if p.bio %}
|
|
8
|
+
<p class="text-xl text-gray-700 mb-3">{{p.bio}}</p>
|
|
9
|
+
{% endif %} {% if p.needs %}
|
|
10
|
+
<ul class="list-disc ml-5 space-y-1 text-xl">
|
|
11
|
+
{% for n in p.needs %}
|
|
12
|
+
<li>{{n}}</li>
|
|
13
|
+
{% endfor %}
|
|
14
|
+
</ul>
|
|
15
|
+
{% endif %}
|
|
16
|
+
</section>
|
|
17
|
+
{% endfor %}
|
|
18
|
+
</div>
|
|
19
|
+
</div>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<div class="bg-white text-gray-900 px-16 py-16">
|
|
2
|
+
<h1 class="text-5xl font-bold mb-6">Pipeline Funnel</h1>
|
|
3
|
+
<ol class="list-decimal ml-6 space-y-2 text-2xl">
|
|
4
|
+
{% for i in range(0, stages|length) %}
|
|
5
|
+
<li>{{stages[i]}}{% if values %} — {{values[i]}}{% endif %}</li>
|
|
6
|
+
{% endfor %}
|
|
7
|
+
</ol>
|
|
8
|
+
</div>
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<div class="bg-white text-gray-900 px-16 py-16">
|
|
2
|
+
<div class="grid grid-cols-3 gap-6">
|
|
3
|
+
<section class="rounded-xl border p-6 bg-gray-50">
|
|
4
|
+
<h2 class="text-xl font-semibold mb-3">Threat of New Entrants</h2>
|
|
5
|
+
<ul class="list-disc ml-5 space-y-2 text-2xl">
|
|
6
|
+
{% for x in newEntrants %}
|
|
7
|
+
<li>{{x}}</li>
|
|
8
|
+
{% endfor %}
|
|
9
|
+
</ul>
|
|
10
|
+
</section>
|
|
11
|
+
<section class="rounded-xl border p-6 bg-white">
|
|
12
|
+
<h2 class="text-xl font-semibold mb-3">Supplier Power</h2>
|
|
13
|
+
<ul class="list-disc ml-5 space-y-2 text-2xl">
|
|
14
|
+
{% for x in suppliers %}
|
|
15
|
+
<li>{{x}}</li>
|
|
16
|
+
{% endfor %}
|
|
17
|
+
</ul>
|
|
18
|
+
</section>
|
|
19
|
+
<section class="rounded-xl border p-6 bg-gray-50">
|
|
20
|
+
<h2 class="text-xl font-semibold mb-3">Buyer Power</h2>
|
|
21
|
+
<ul class="list-disc ml-5 space-y-2 text-2xl">
|
|
22
|
+
{% for x in buyers %}
|
|
23
|
+
<li>{{x}}</li>
|
|
24
|
+
{% endfor %}
|
|
25
|
+
</ul>
|
|
26
|
+
</section>
|
|
27
|
+
<section class="rounded-xl border p-6 bg-white">
|
|
28
|
+
<h2 class="text-xl font-semibold mb-3">Threat of Substitutes</h2>
|
|
29
|
+
<ul class="list-disc ml-5 space-y-2 text-2xl">
|
|
30
|
+
{% for x in substitutes %}
|
|
31
|
+
<li>{{x}}</li>
|
|
32
|
+
{% endfor %}
|
|
33
|
+
</ul>
|
|
34
|
+
</section>
|
|
35
|
+
<section class="rounded-xl border p-6 bg-gray-50">
|
|
36
|
+
<h2 class="text-xl font-semibold mb-3">Rivalry</h2>
|
|
37
|
+
<ul class="list-disc ml-5 space-y-2 text-2xl">
|
|
38
|
+
{% for x in rivalry %}
|
|
39
|
+
<li>{{x}}</li>
|
|
40
|
+
{% endfor %}
|
|
41
|
+
</ul>
|
|
42
|
+
</section>
|
|
43
|
+
</div>
|
|
44
|
+
</div>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<div class="bg-white text-gray-900 px-16 py-16">
|
|
2
|
+
<div class="mb-6 flex items-center justify-between">
|
|
3
|
+
<div class="text-2xl font-semibold">Y: {{yAxis}}</div>
|
|
4
|
+
<div class="text-2xl font-semibold">X: {{xAxis}}</div>
|
|
5
|
+
</div>
|
|
6
|
+
<ul class="list-disc ml-5 text-2xl">
|
|
7
|
+
{% for p in players %}
|
|
8
|
+
<li>{{p.name}} (x: {{p.x}}, y: {{p.y}})</li>
|
|
9
|
+
{% endfor %}
|
|
10
|
+
</ul>
|
|
11
|
+
</div>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<div class="bg-white text-gray-900 px-16 py-16">
|
|
2
|
+
<h1 class="text-5xl font-bold mb-8">Product Roadmap</h1>
|
|
3
|
+
<div class="grid grid-cols-{{releases|length}} gap-4">
|
|
4
|
+
{% for r in releases %}
|
|
5
|
+
<section class="rounded-xl border p-4 bg-gray-50">
|
|
6
|
+
<h2 class="text-lg font-semibold mb-2">{{r}}</h2>
|
|
7
|
+
<ul class="list-disc ml-5 space-y-1 text-xl">
|
|
8
|
+
{% for it in items %}{% if it.release == r %}
|
|
9
|
+
<li>{{it.label}}</li>
|
|
10
|
+
{% endif %}{% endfor %}
|
|
11
|
+
</ul>
|
|
12
|
+
</section>
|
|
13
|
+
{% endfor %}
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<div class="bg-white text-gray-900 px-20 py-20">
|
|
2
|
+
<!-- Top: Key message -->
|
|
3
|
+
<section class="mb-12">
|
|
4
|
+
<h1 class="text-6xl font-extrabold tracking-tight mb-6">{{keyMessage}}</h1>
|
|
5
|
+
</section>
|
|
6
|
+
|
|
7
|
+
<!-- Middle: Supports -->
|
|
8
|
+
<section class="mb-10">
|
|
9
|
+
<h2 class="text-xl font-semibold text-gray-700 mb-3">Supporting points</h2>
|
|
10
|
+
<ol class="list-decimal ml-6 space-y-4 text-2xl leading-relaxed text-gray-900 break-words">
|
|
11
|
+
{% for support in supports %}
|
|
12
|
+
<li>{{support}}</li>
|
|
13
|
+
{% endfor %}
|
|
14
|
+
</ol>
|
|
15
|
+
</section>
|
|
16
|
+
|
|
17
|
+
<!-- Bottom: Details per support (optional) -->
|
|
18
|
+
<section class="grid grid-cols-1 md:grid-cols-3 gap-6">
|
|
19
|
+
{% for support in supports %}
|
|
20
|
+
<div class="rounded-2xl border border-gray-200 p-6 bg-gray-50">
|
|
21
|
+
<ul class="list-disc ml-5 space-y-2 text-xl leading-relaxed text-gray-800">
|
|
22
|
+
<li>{{support}}</li>
|
|
23
|
+
</ul>
|
|
24
|
+
</div>
|
|
25
|
+
{% endfor %}
|
|
26
|
+
</section>
|
|
27
|
+
</div>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<div class="bg-white text-gray-900 px-16 py-16">
|
|
2
|
+
<h1 class="text-5xl font-bold mb-8">Quarterly Roadmap</h1>
|
|
3
|
+
<div class="grid grid-cols-{{quarters|length}} gap-4">
|
|
4
|
+
{% for q in quarters %}
|
|
5
|
+
<section class="rounded-xl border p-4 bg-gray-50">
|
|
6
|
+
<h2 class="text-lg font-semibold mb-2">{{q}}</h2>
|
|
7
|
+
<ul class="list-disc ml-5 space-y-1 text-xl">
|
|
8
|
+
{% for it in items %}{% if it.quarter == q %}
|
|
9
|
+
<li>{{it.label}}</li>
|
|
10
|
+
{% endif %}{% endfor %}
|
|
11
|
+
</ul>
|
|
12
|
+
</section>
|
|
13
|
+
{% endfor %}
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<div class="bg-white text-gray-900 px-16 py-16">
|
|
2
|
+
<h1 class="text-5xl font-bold mb-8">RACI</h1>
|
|
3
|
+
<table class="w-full border-collapse">
|
|
4
|
+
<thead>
|
|
5
|
+
<tr>
|
|
6
|
+
<th class="border p-3 text-left">Task</th>
|
|
7
|
+
{% for r in roles %}
|
|
8
|
+
<th class="border p-3 text-left">{{r}}</th>
|
|
9
|
+
{% endfor %}
|
|
10
|
+
</tr>
|
|
11
|
+
</thead>
|
|
12
|
+
<tbody>
|
|
13
|
+
{% for row in assignments %}
|
|
14
|
+
<tr>
|
|
15
|
+
<td class="border p-3">{{tasks[loop.index0]}}</td>
|
|
16
|
+
{% for cell in row %}
|
|
17
|
+
<td class="border p-3">{{cell}}</td>
|
|
18
|
+
{% endfor %}
|
|
19
|
+
</tr>
|
|
20
|
+
{% endfor %}
|
|
21
|
+
</tbody>
|
|
22
|
+
</table>
|
|
23
|
+
</div>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<div class="bg-white text-gray-900 px-16 py-16">
|
|
2
|
+
<h1 class="text-5xl font-bold mb-8">Revenue Model</h1>
|
|
3
|
+
<section class="mb-6">
|
|
4
|
+
<h2 class="text-xl font-semibold mb-2">Streams</h2>
|
|
5
|
+
<ul class="list-disc ml-5 space-y-2 text-2xl">
|
|
6
|
+
{% for s in streams %}
|
|
7
|
+
<li>{{s}}</li>
|
|
8
|
+
{% endfor %}
|
|
9
|
+
</ul>
|
|
10
|
+
</section>
|
|
11
|
+
{% if pricingNotes %}
|
|
12
|
+
<section>
|
|
13
|
+
<h2 class="text-xl font-semibold mb-2">Pricing Notes</h2>
|
|
14
|
+
<p class="text-xl text-gray-700 whitespace-pre-wrap">{{pricingNotes}}</p>
|
|
15
|
+
</section>
|
|
16
|
+
{% endif %}
|
|
17
|
+
</div>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<div class="bg-white text-gray-900 px-16 py-16">
|
|
2
|
+
<h1 class="text-5xl font-bold mb-8">Risks & Mitigations</h1>
|
|
3
|
+
<div class="grid grid-cols-1 md:grid-cols-3 gap-6">
|
|
4
|
+
{% for r in risks %}
|
|
5
|
+
<section class="rounded-xl border p-6 bg-gray-50">
|
|
6
|
+
<h2 class="text-xl font-semibold mb-3">{{r.risk}}</h2>
|
|
7
|
+
{% if r.impact %}
|
|
8
|
+
<p class="text-gray-700">Impact: {{r.impact}}</p>
|
|
9
|
+
{% endif %} {% if r.likelihood %}
|
|
10
|
+
<p class="text-gray-700">Likelihood: {{r.likelihood}}</p>
|
|
11
|
+
{% endif %} {% if r.mitigation %}
|
|
12
|
+
<p class="text-gray-700 mt-2">Mitigation: {{r.mitigation}}</p>
|
|
13
|
+
{% endif %}
|
|
14
|
+
</section>
|
|
15
|
+
{% endfor %}
|
|
16
|
+
</div>
|
|
17
|
+
</div>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<div class="bg-white text-gray-900 px-16 py-16">
|
|
2
|
+
<h1 class="text-5xl font-bold mb-6">Sales Dashboard</h1>
|
|
3
|
+
<ul class="list-disc ml-5 space-y-2 text-2xl">
|
|
4
|
+
{% for m in metrics %}
|
|
5
|
+
<li>{{m}}</li>
|
|
6
|
+
{% endfor %}
|
|
7
|
+
</ul>
|
|
8
|
+
{% if notes %}
|
|
9
|
+
<p class="mt-6 text-gray-600">{{notes}}</p>
|
|
10
|
+
{% endif %}
|
|
11
|
+
</div>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<div class="bg-white text-gray-900 px-16 py-16">
|
|
2
|
+
<h1 class="text-5xl font-bold mb-8">Scenario Planning</h1>
|
|
3
|
+
<div class="grid grid-cols-{{scenarios|length}} gap-4">
|
|
4
|
+
{% for s in scenarios %}
|
|
5
|
+
<section class="rounded-xl border p-6 bg-gray-50">
|
|
6
|
+
<h2 class="text-xl font-semibold mb-3">{{s}}</h2>
|
|
7
|
+
{% if impacts %}
|
|
8
|
+
<p class="text-xl text-gray-700">{{impacts[loop.index0]}}</p>
|
|
9
|
+
{% endif %}
|
|
10
|
+
</section>
|
|
11
|
+
{% endfor %}
|
|
12
|
+
</div>
|
|
13
|
+
</div>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<div class="bg-white text-gray-900 px-16 py-16">
|
|
2
|
+
<header class="mb-10">
|
|
3
|
+
<h1 class="text-5xl font-bold tracking-tight">SCQA</h1>
|
|
4
|
+
</header>
|
|
5
|
+
|
|
6
|
+
<main class="grid grid-cols-2 gap-8">
|
|
7
|
+
<section class="rounded-2xl border border-gray-200 p-8 bg-gray-50">
|
|
8
|
+
<h2 class="text-xl font-semibold text-gray-700 mb-3">Situation</h2>
|
|
9
|
+
<p class="text-2xl leading-relaxed text-gray-900 whitespace-pre-wrap break-words">{{situation}}</p>
|
|
10
|
+
</section>
|
|
11
|
+
|
|
12
|
+
<section class="rounded-2xl border border-gray-200 p-8 bg-gray-50">
|
|
13
|
+
<h2 class="text-xl font-semibold text-gray-700 mb-3">Complication</h2>
|
|
14
|
+
<p class="text-2xl leading-relaxed text-gray-900 whitespace-pre-wrap break-words">{{complication}}</p>
|
|
15
|
+
</section>
|
|
16
|
+
|
|
17
|
+
<section class="rounded-2xl border border-gray-200 p-8 bg-gray-50">
|
|
18
|
+
<h2 class="text-xl font-semibold text-gray-700 mb-3">Question</h2>
|
|
19
|
+
<p class="text-2xl leading-relaxed text-gray-900 whitespace-pre-wrap break-words">{{question}}</p>
|
|
20
|
+
</section>
|
|
21
|
+
|
|
22
|
+
<section class="rounded-2xl border border-gray-200 p-8 bg-gray-50">
|
|
23
|
+
<h2 class="text-xl font-semibold text-gray-700 mb-3">Answer</h2>
|
|
24
|
+
<p class="text-2xl leading-relaxed text-gray-900 whitespace-pre-wrap break-words">{{answer}}</p>
|
|
25
|
+
</section>
|
|
26
|
+
</main>
|
|
27
|
+
</div>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<div class="bg-white text-gray-900 flex flex-col items-center justify-center px-20 py-32">
|
|
2
|
+
<div class="w-full max-w-6xl text-center">
|
|
3
|
+
<div class="mb-8 h-1 w-24 mx-auto rounded-full bg-gray-200"></div>
|
|
4
|
+
<h1 class="text-7xl font-extrabold tracking-tight mb-6">{{heading}}</h1>
|
|
5
|
+
<p class="text-2xl text-gray-600">{{subheading}}</p>
|
|
6
|
+
</div>
|
|
7
|
+
</div>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<div class="bg-white text-gray-900 px-16 py-16">
|
|
2
|
+
<h1 class="text-5xl font-bold mb-8">Segmentation</h1>
|
|
3
|
+
<div class="grid grid-cols-{{segments|length}} gap-4">
|
|
4
|
+
{% for s in segments %}
|
|
5
|
+
<section class="rounded-xl border p-4 bg-gray-50">
|
|
6
|
+
<h2 class="text-lg font-semibold mb-2">{{s}}</h2>
|
|
7
|
+
<ul class="list-disc ml-5 space-y-1 text-xl">
|
|
8
|
+
{% for d in descriptors %}
|
|
9
|
+
<li>{{d}}</li>
|
|
10
|
+
{% endfor %}
|
|
11
|
+
</ul>
|
|
12
|
+
</section>
|
|
13
|
+
{% endfor %}
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<div class="bg-white text-gray-900 px-16 py-16">
|
|
2
|
+
<h1 class="text-5xl font-bold mb-8">Sensitivity Analysis</h1>
|
|
3
|
+
<p class="text-xl text-gray-700 mb-4">Variables x Scenarios</p>
|
|
4
|
+
<div class="grid grid-cols-2 gap-6">
|
|
5
|
+
<section class="rounded-xl border p-6 bg-gray-50">
|
|
6
|
+
<h2 class="text-xl font-semibold mb-3">Variables</h2>
|
|
7
|
+
<ul class="list-disc ml-5 space-y-2 text-2xl">
|
|
8
|
+
{% for v in variables %}
|
|
9
|
+
<li>{{v}}</li>
|
|
10
|
+
{% endfor %}
|
|
11
|
+
</ul>
|
|
12
|
+
</section>
|
|
13
|
+
<section class="rounded-xl border p-6 bg-white">
|
|
14
|
+
<h2 class="text-xl font-semibold mb-3">Scenarios</h2>
|
|
15
|
+
<ul class="list-disc ml-5 space-y-2 text-2xl">
|
|
16
|
+
{% for s in scenarios %}
|
|
17
|
+
<li>{{s}}</li>
|
|
18
|
+
{% endfor %}
|
|
19
|
+
</ul>
|
|
20
|
+
</section>
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<div class="bg-white text-gray-900 px-20 py-20">
|
|
2
|
+
<div class="grid grid-cols-2 gap-6">
|
|
3
|
+
{% set pairs = [ ["Strategy", strategy], ["Structure", structure], ["Systems", systems], ["Shared Values", sharedValues], ["Skills", skills], ["Style",
|
|
4
|
+
style], ["Staff", staff] ] %} {% for p in pairs %}
|
|
5
|
+
<section class="rounded-2xl border p-6 bg-gray-50">
|
|
6
|
+
<h2 class="text-xl font-semibold text-gray-700 mb-3">{{p[0]}}</h2>
|
|
7
|
+
<p class="text-2xl leading-relaxed whitespace-pre-wrap">{{p[1]}}</p>
|
|
8
|
+
</section>
|
|
9
|
+
{% endfor %}
|
|
10
|
+
</div>
|
|
11
|
+
</div>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<div class="bg-white text-gray-900 px-16 py-16">
|
|
2
|
+
<h1 class="text-5xl font-bold mb-8">Stakeholder Map</h1>
|
|
3
|
+
<div class="grid grid-cols-2 gap-6">
|
|
4
|
+
{% for s in stakeholders %}
|
|
5
|
+
<section class="rounded-xl border p-6 bg-gray-50">
|
|
6
|
+
<div class="text-2xl font-semibold mb-2">{{s.name}}</div>
|
|
7
|
+
<p class="text-xl text-gray-700">Influence: {{s.influence}} / Interest: {{s.interest}}</p>
|
|
8
|
+
{% if s.notes %}
|
|
9
|
+
<p class="mt-2 text-gray-600">{{s.notes}}</p>
|
|
10
|
+
{% endif %}
|
|
11
|
+
</section>
|
|
12
|
+
{% endfor %}
|
|
13
|
+
</div>
|
|
14
|
+
</div>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<div class="bg-white text-gray-900 px-16 py-16">
|
|
2
|
+
<h1 class="text-5xl font-bold mb-6">Support Org Model</h1>
|
|
3
|
+
<div class="grid grid-cols-2 gap-6">
|
|
4
|
+
<section class="rounded-xl border p-6 bg-gray-50">
|
|
5
|
+
<h2 class="text-xl font-semibold mb-3">Tiers</h2>
|
|
6
|
+
<ul class="list-disc ml-5 text-2xl">
|
|
7
|
+
{% for t in tiers %}
|
|
8
|
+
<li>{{t}}</li>
|
|
9
|
+
{% endfor %}
|
|
10
|
+
</ul>
|
|
11
|
+
</section>
|
|
12
|
+
<section class="rounded-xl border p-6 bg-white">
|
|
13
|
+
<h2 class="text-xl font-semibold mb-3">Roles</h2>
|
|
14
|
+
<ul class="list-disc ml-5 text-2xl">
|
|
15
|
+
{% for r in roles %}
|
|
16
|
+
<li>{{r}}</li>
|
|
17
|
+
{% endfor %}
|
|
18
|
+
</ul>
|
|
19
|
+
</section>
|
|
20
|
+
</div>
|
|
21
|
+
</div>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<div class="bg-white text-gray-900 px-16 py-16">
|
|
2
|
+
<h1 class="text-5xl font-bold mb-8">Survey Results</h1>
|
|
3
|
+
<div class="grid grid-cols-2 gap-6">
|
|
4
|
+
{% for i in range(0, questions|length) %}
|
|
5
|
+
<section class="rounded-xl border p-6 bg-gray-50">
|
|
6
|
+
<h2 class="text-xl font-semibold mb-3">{{questions[i]}}</h2>
|
|
7
|
+
<p class="text-xl text-gray-700">{{summaries[i]}}</p>
|
|
8
|
+
</section>
|
|
9
|
+
{% endfor %}
|
|
10
|
+
</div>
|
|
11
|
+
</div>
|