mulmocast-vision 0.0.2 → 0.0.3
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/lib/presentationHandlers/html.js +1 -1
- package/lib/presentationHandlers/html_class.js +1 -1
- package/lib/utils.js +1 -1
- package/package.json +1 -1
- package/assets/html/agendaPage.html +0 -13
- package/assets/html/balanceSheetPage.html +0 -29
- package/assets/html/balancedScorecardPage.html +0 -15
- package/assets/html/bcgMatrixPage.html +0 -37
- package/assets/html/beforeAfterPage.html +0 -21
- package/assets/html/benchmarkingTablePage.html +0 -23
- package/assets/html/bubbleChartPlaceholderPage.html +0 -9
- package/assets/html/businessModelCanvasPage.html +0 -14
- package/assets/html/capabilityMaturityPage.html +0 -8
- package/assets/html/cashFlowPage.html +0 -21
- package/assets/html/changeCurvePage.html +0 -11
- package/assets/html/circularEconomyMapPage.html +0 -8
- package/assets/html/communicationPlanPage.html +0 -22
- package/assets/html/complianceHeatmapPage.html +0 -19
- package/assets/html/costStructurePage.html +0 -20
- package/assets/html/csrInitiativesPage.html +0 -8
- package/assets/html/cultureValuesPage.html +0 -21
- package/assets/html/customerJourneyPage.html +0 -21
- package/assets/html/customerSuccessJourneyPage.html +0 -15
- package/assets/html/digitalMaturityPage.html +0 -14
- package/assets/html/driverTreePage.html +0 -20
- package/assets/html/ecosystemMapPage.html +0 -11
- package/assets/html/esgFrameworkPage.html +0 -28
- package/assets/html/executiveSummaryPage.html +0 -15
- package/assets/html/fourPPage.html +0 -36
- package/assets/html/funnelPage.html +0 -8
- package/assets/html/ganttSimplePage.html +0 -21
- package/assets/html/geMcKinseyMatrixPage.html +0 -13
- package/assets/html/heatmapPlaceholderPage.html +0 -24
- package/assets/html/hypothesisPage.html +0 -22
- package/assets/html/innovationFunnelPage.html +0 -13
- package/assets/html/integrationPlanPage.html +0 -21
- package/assets/html/issueTreePage.html +0 -23
- package/assets/html/keyMessageWithSupportsPage.html +0 -13
- package/assets/html/kpiHighlightPage.html +0 -14
- package/assets/html/launchPlanPage.html +0 -29
- package/assets/html/mAPipelinePage.html +0 -16
- package/assets/html/marimekkoPlaceholderPage.html +0 -9
- package/assets/html/marketDriversPage.html +0 -8
- package/assets/html/marketingMixPage.html +0 -11
- package/assets/html/meceListPage.html +0 -15
- package/assets/html/milestoneTimelinePage.html +0 -14
- package/assets/html/npvSummaryPage.html +0 -12
- package/assets/html/okrKpiDashboardPage.html +0 -16
- package/assets/html/optionEvaluationPage.html +0 -23
- package/assets/html/orgChartPage.html +0 -8
- package/assets/html/pLBreakdownPage.html +0 -19
- package/assets/html/partnershipMapPage.html +0 -11
- package/assets/html/personasPage.html +0 -19
- package/assets/html/pipelineFunnelPage.html +0 -8
- package/assets/html/porterFiveForcesPage.html +0 -44
- package/assets/html/positioningMapPage.html +0 -11
- package/assets/html/pricingWaterfallPage.html +0 -8
- package/assets/html/productRoadmapPage.html +0 -15
- package/assets/html/pyramidPrinciplePage.html +0 -27
- package/assets/html/quarterlyRoadmapPage.html +0 -15
- package/assets/html/raciPage.html +0 -23
- package/assets/html/revenueModelPage.html +0 -17
- package/assets/html/riskMitigationPage.html +0 -17
- package/assets/html/salesDashboardPage.html +0 -11
- package/assets/html/scenarioPlanningPage.html +0 -13
- package/assets/html/scqaPage.html +0 -27
- package/assets/html/sectionDividerPage.html +0 -7
- package/assets/html/segmentationPage.html +0 -15
- package/assets/html/sensitivityAnalysisPage.html +0 -22
- package/assets/html/sevenSPage.html +0 -11
- package/assets/html/shareholderValueTreePage.html +0 -8
- package/assets/html/stakeholderMapPage.html +0 -14
- package/assets/html/supportOrgModelPage.html +0 -21
- package/assets/html/surveyResultsPage.html +0 -11
- package/assets/html/sustainabilityRoadmapPage.html +0 -15
- package/assets/html/swotPage.html +0 -36
- package/assets/html/synergyCapturePage.html +0 -8
- package/assets/html/tamSamSomPage.html +0 -11
- package/assets/html/techRoadmapPage.html +0 -15
- package/assets/html/thankYouContactPage.html +0 -24
- package/assets/html/threeCPage.html +0 -28
- package/assets/html/twoByTwoMatrixPage.html +0 -17
- package/assets/html/valueChainPage.html +0 -18
- package/assets/html/waterfallPage.html +0 -8
- package/assets/html2/agendaPage.html +0 -26
- package/assets/html2/balanceSheetPage.html +0 -87
- package/assets/html2/balancedScorecardPage.html +0 -29
- package/assets/html2/bcgMatrixPage.html +0 -165
- package/assets/html2/beforeAfterPage.html +0 -78
- package/assets/html2/benchmarkingTablePage.html +0 -70
- package/assets/html2/bubbleChartPlaceholderPage.html +0 -107
- package/assets/html2/businessModelCanvasPage.html +0 -43
- package/assets/html2/capabilityMaturityPage.html +0 -38
- package/assets/html2/cashFlowPage.html +0 -68
- package/assets/html2/changeCurvePage.html +0 -53
- package/assets/html2/circularEconomyMapPage.html +0 -35
- package/assets/html2/communicationPlanPage.html +0 -82
- package/assets/html2/complianceHeatmapPage.html +0 -42
- package/assets/html2/costStructurePage.html +0 -60
- package/assets/html2/csrInitiativesPage.html +0 -26
- package/assets/html2/cultureValuesPage.html +0 -44
- package/assets/html2/customerJourneyPage.html +0 -68
- package/assets/html2/customerSuccessJourneyPage.html +0 -54
- package/assets/html2/digitalMaturityPage.html +0 -51
- package/assets/html2/driverTreePage.html +0 -92
- package/assets/html2/ecosystemMapPage.html +0 -30
- package/assets/html2/esgFrameworkPage.html +0 -66
- package/assets/html2/executiveSummaryPage.html +0 -27
- package/assets/html2/fourPPage.html +0 -85
- package/assets/html2/funnelPage.html +0 -53
- package/assets/html2/ganttSimplePage.html +0 -56
- package/assets/html2/geMcKinseyMatrixPage.html +0 -43
- package/assets/html2/heatmapPlaceholderPage.html +0 -131
- package/assets/html2/hypothesisPage.html +0 -100
- package/assets/html2/innovationFunnelPage.html +0 -61
- package/assets/html2/integrationPlanPage.html +0 -61
- package/assets/html2/issueTreePage.html +0 -97
- package/assets/html2/keyMessageWithSupportsPage.html +0 -47
- package/assets/html2/kpiHighlightPage.html +0 -54
- package/assets/html2/launchPlanPage.html +0 -86
- package/assets/html2/mAPipelinePage.html +0 -79
- package/assets/html2/marimekkoPlaceholderPage.html +0 -120
- package/assets/html2/marketDriversPage.html +0 -32
- package/assets/html2/marketingMixPage.html +0 -50
- package/assets/html2/meceListPage.html +0 -32
- package/assets/html2/milestoneTimelinePage.html +0 -59
- package/assets/html2/npvSummaryPage.html +0 -54
- package/assets/html2/okrKpiDashboardPage.html +0 -85
- package/assets/html2/optionEvaluationPage.html +0 -128
- package/assets/html2/orgChartPage.html +0 -30
- package/assets/html2/pLBreakdownPage.html +0 -73
- package/assets/html2/partnershipMapPage.html +0 -26
- package/assets/html2/personasPage.html +0 -39
- package/assets/html2/pipelineFunnelPage.html +0 -77
- package/assets/html2/porterFiveForcesPage.html +0 -140
- package/assets/html2/positioningMapPage.html +0 -40
- package/assets/html2/pricingWaterfallPage.html +0 -33
- package/assets/html2/productRoadmapPage.html +0 -47
- package/assets/html2/pyramidPrinciplePage.html +0 -47
- package/assets/html2/quarterlyRoadmapPage.html +0 -54
- package/assets/html2/raciPage.html +0 -49
- package/assets/html2/revenueModelPage.html +0 -54
- package/assets/html2/riskMitigationPage.html +0 -36
- package/assets/html2/salesDashboardPage.html +0 -58
- package/assets/html2/scenarioPlanningPage.html +0 -63
- package/assets/html2/scqaPage.html +0 -74
- package/assets/html2/sectionDividerPage.html +0 -25
- package/assets/html2/segmentationPage.html +0 -36
- package/assets/html2/sensitivityAnalysisPage.html +0 -82
- package/assets/html2/sevenSPage.html +0 -31
- package/assets/html2/shareholderValueTreePage.html +0 -32
- package/assets/html2/stakeholderMapPage.html +0 -36
- package/assets/html2/supportOrgModelPage.html +0 -57
- package/assets/html2/surveyResultsPage.html +0 -32
- package/assets/html2/sustainabilityRoadmapPage.html +0 -54
- package/assets/html2/swotPage.html +0 -97
- package/assets/html2/synergyCapturePage.html +0 -39
- package/assets/html2/tamSamSomPage.html +0 -62
- package/assets/html2/techRoadmapPage.html +0 -54
- package/assets/html2/thankYouContactPage.html +0 -78
- package/assets/html2/threeCPage.html +0 -66
- package/assets/html2/twoByTwoMatrixPage.html +0 -72
- package/assets/html2/valueChainPage.html +0 -56
- package/assets/html2/waterfallPage.html +0 -47
- package/assets/templates/tailwind-sea.html +0 -34
- package/assets/templates/tailwind.html +0 -14
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
<div class="bg-gradient-to-br from-slate-50 to-blue-50 text-gray-900 px-16 py-16 min-h-screen">
|
|
2
|
-
<!-- Header Section -->
|
|
3
|
-
<div class="mb-16">
|
|
4
|
-
<div class="w-20 h-1 bg-gradient-to-r from-blue-600 to-indigo-600 mb-6"></div>
|
|
5
|
-
<h1 class="text-6xl font-bold text-gray-900 mb-4 leading-tight">Launch Plan</h1>
|
|
6
|
-
<div class="w-32 h-0.5 bg-gray-300"></div>
|
|
7
|
-
</div>
|
|
8
|
-
|
|
9
|
-
<!-- Phase Cards Layout -->
|
|
10
|
-
<div class="grid grid-cols-1 lg:grid-cols-3 gap-8">
|
|
11
|
-
<!-- Workstreams Card -->
|
|
12
|
-
<div class="bg-gradient-to-br from-blue-600 to-indigo-700 rounded-3xl p-10 text-white shadow-2xl hover:scale-105 transition-all duration-300">
|
|
13
|
-
<!-- Workstreams Icon -->
|
|
14
|
-
<div class="w-16 h-16 bg-white bg-opacity-20 rounded-2xl flex items-center justify-center mb-6">
|
|
15
|
-
<svg class="w-8 h-8 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
16
|
-
<path
|
|
17
|
-
stroke-linecap="round"
|
|
18
|
-
stroke-linejoin="round"
|
|
19
|
-
stroke-width="2"
|
|
20
|
-
d="M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"
|
|
21
|
-
></path>
|
|
22
|
-
</svg>
|
|
23
|
-
</div>
|
|
24
|
-
|
|
25
|
-
<h2 class="text-3xl font-bold mb-6">Workstreams</h2>
|
|
26
|
-
<div class="space-y-4">
|
|
27
|
-
{% for w in workstreams %}
|
|
28
|
-
<div class="flex items-start space-x-3">
|
|
29
|
-
<div class="w-2 h-2 bg-white bg-opacity-60 rounded-full mt-2 flex-shrink-0"></div>
|
|
30
|
-
<span class="text-lg leading-relaxed">{{w}}</span>
|
|
31
|
-
</div>
|
|
32
|
-
{% endfor %}
|
|
33
|
-
</div>
|
|
34
|
-
</div>
|
|
35
|
-
|
|
36
|
-
<!-- Milestones Card -->
|
|
37
|
-
<div class="bg-gradient-to-br from-emerald-600 to-green-700 rounded-3xl p-10 text-white shadow-2xl hover:scale-105 transition-all duration-300">
|
|
38
|
-
<!-- Milestones Icon -->
|
|
39
|
-
<div class="w-16 h-16 bg-white bg-opacity-20 rounded-2xl flex items-center justify-center mb-6">
|
|
40
|
-
<svg class="w-8 h-8 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
41
|
-
<path
|
|
42
|
-
stroke-linecap="round"
|
|
43
|
-
stroke-linejoin="round"
|
|
44
|
-
stroke-width="2"
|
|
45
|
-
d="M9 12l2 2 4-4M7.835 4.697a3.42 3.42 0 001.946-.806 3.42 3.42 0 014.438 0 3.42 3.42 0 001.946.806 3.42 3.42 0 013.138 3.138 3.42 3.42 0 00.806 1.946 3.42 3.42 0 010 4.438 3.42 3.42 0 00-.806 1.946 3.42 3.42 0 01-3.138 3.138 3.42 3.42 0 00-1.946.806 3.42 3.42 0 01-4.438 0 3.42 3.42 0 00-1.946-.806 3.42 3.42 0 01-3.138-3.138 3.42 3.42 0 00-.806-1.946 3.42 3.42 0 010-4.438 3.42 3.42 0 00.806-1.946 3.42 3.42 0 013.138-3.138z"
|
|
46
|
-
></path>
|
|
47
|
-
</svg>
|
|
48
|
-
</div>
|
|
49
|
-
|
|
50
|
-
<h2 class="text-3xl font-bold mb-6">Milestones</h2>
|
|
51
|
-
<div class="space-y-4">
|
|
52
|
-
{% for m in milestones %}
|
|
53
|
-
<div class="flex items-start space-x-3">
|
|
54
|
-
<div class="w-2 h-2 bg-white bg-opacity-60 rounded-full mt-2 flex-shrink-0"></div>
|
|
55
|
-
<span class="text-lg leading-relaxed">{{m}}</span>
|
|
56
|
-
</div>
|
|
57
|
-
{% endfor %}
|
|
58
|
-
</div>
|
|
59
|
-
</div>
|
|
60
|
-
|
|
61
|
-
<!-- Risks Card -->
|
|
62
|
-
<div class="bg-gradient-to-br from-red-600 to-rose-700 rounded-3xl p-10 text-white shadow-2xl hover:scale-105 transition-all duration-300">
|
|
63
|
-
<!-- Risks Icon -->
|
|
64
|
-
<div class="w-16 h-16 bg-white bg-opacity-20 rounded-2xl flex items-center justify-center mb-6">
|
|
65
|
-
<svg class="w-8 h-8 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
66
|
-
<path
|
|
67
|
-
stroke-linecap="round"
|
|
68
|
-
stroke-linejoin="round"
|
|
69
|
-
stroke-width="2"
|
|
70
|
-
d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"
|
|
71
|
-
></path>
|
|
72
|
-
</svg>
|
|
73
|
-
</div>
|
|
74
|
-
|
|
75
|
-
<h2 class="text-3xl font-bold mb-6">Risks</h2>
|
|
76
|
-
<div class="space-y-4">
|
|
77
|
-
{% for r in risks %}
|
|
78
|
-
<div class="flex items-start space-x-3">
|
|
79
|
-
<div class="w-2 h-2 bg-white bg-opacity-60 rounded-full mt-2 flex-shrink-0"></div>
|
|
80
|
-
<span class="text-lg leading-relaxed">{{r}}</span>
|
|
81
|
-
</div>
|
|
82
|
-
{% endfor %}
|
|
83
|
-
</div>
|
|
84
|
-
</div>
|
|
85
|
-
</div>
|
|
86
|
-
</div>
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
<div class="bg-gradient-to-br from-slate-50 to-blue-50 text-gray-900 px-16 py-16 min-h-screen">
|
|
2
|
-
<!-- Header -->
|
|
3
|
-
<div class="mb-12">
|
|
4
|
-
<div class="w-20 h-1 bg-gradient-to-r from-blue-600 to-indigo-600 mb-6"></div>
|
|
5
|
-
<h1 class="text-6xl font-bold text-gray-900 mb-4 leading-tight">M&A Pipeline</h1>
|
|
6
|
-
<div class="w-32 h-0.5 bg-gray-300"></div>
|
|
7
|
-
</div>
|
|
8
|
-
|
|
9
|
-
<div class="max-w-6xl mx-auto space-y-8">
|
|
10
|
-
<!-- Pipeline Stages -->
|
|
11
|
-
<div class="bg-white rounded-2xl p-10 shadow-2xl">
|
|
12
|
-
<div class="flex items-center gap-4 mb-8">
|
|
13
|
-
<div class="w-16 h-16 bg-gradient-to-br from-blue-500 to-indigo-600 rounded-2xl flex items-center justify-center">
|
|
14
|
-
<svg class="w-8 h-8 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
15
|
-
<path
|
|
16
|
-
stroke-linecap="round"
|
|
17
|
-
stroke-linejoin="round"
|
|
18
|
-
stroke-width="2"
|
|
19
|
-
d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"
|
|
20
|
-
/>
|
|
21
|
-
</svg>
|
|
22
|
-
</div>
|
|
23
|
-
<h2 class="text-3xl font-bold text-gray-900">Pipeline Stages</h2>
|
|
24
|
-
</div>
|
|
25
|
-
|
|
26
|
-
<div class="space-y-4">
|
|
27
|
-
{% for s in stages %}
|
|
28
|
-
<div class="group bg-gradient-to-r from-gray-50 to-blue-50 rounded-xl p-6 border border-gray-200 hover:shadow-lg transition-all duration-300">
|
|
29
|
-
<div class="flex items-center gap-4">
|
|
30
|
-
<div class="w-12 h-12 bg-gradient-to-br from-blue-500 to-indigo-600 rounded-full flex items-center justify-center text-white font-bold text-lg">
|
|
31
|
-
{{loop.index}}
|
|
32
|
-
</div>
|
|
33
|
-
<h3 class="text-xl font-semibold text-gray-900 group-hover:text-blue-600 transition-colors duration-300">{{s}}</h3>
|
|
34
|
-
</div>
|
|
35
|
-
</div>
|
|
36
|
-
{% endfor %}
|
|
37
|
-
</div>
|
|
38
|
-
</div>
|
|
39
|
-
|
|
40
|
-
<!-- Targets Section -->
|
|
41
|
-
{% if targets %}
|
|
42
|
-
<div class="bg-gradient-to-br from-emerald-500 to-green-600 rounded-3xl p-10 text-white shadow-2xl">
|
|
43
|
-
<div class="flex items-center gap-4 mb-8">
|
|
44
|
-
<div class="w-16 h-16 bg-white bg-opacity-20 rounded-2xl flex items-center justify-center">
|
|
45
|
-
<svg class="w-8 h-8 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
46
|
-
<path
|
|
47
|
-
stroke-linecap="round"
|
|
48
|
-
stroke-linejoin="round"
|
|
49
|
-
stroke-width="2"
|
|
50
|
-
d="M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"
|
|
51
|
-
/>
|
|
52
|
-
</svg>
|
|
53
|
-
</div>
|
|
54
|
-
<h2 class="text-3xl font-bold">Target Companies</h2>
|
|
55
|
-
</div>
|
|
56
|
-
|
|
57
|
-
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4">
|
|
58
|
-
{% for t in targets %}
|
|
59
|
-
<div class="bg-white bg-opacity-20 rounded-xl p-6 backdrop-blur-sm hover:bg-opacity-30 transition-all duration-300">
|
|
60
|
-
<div class="flex items-center gap-3">
|
|
61
|
-
<div class="w-8 h-8 bg-white bg-opacity-30 rounded-lg flex items-center justify-center">
|
|
62
|
-
<svg class="w-4 h-4 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
63
|
-
<path
|
|
64
|
-
stroke-linecap="round"
|
|
65
|
-
stroke-linejoin="round"
|
|
66
|
-
stroke-width="2"
|
|
67
|
-
d="M9 12l2 2 4-4M7.835 4.697a3.42 3.42 0 001.946-.806 3.42 3.42 0 014.438 0 3.42 3.42 0 001.946.806 3.42 3.42 0 013.138 3.138 3.42 3.42 0 00.806 1.946 3.42 3.42 0 010 4.438 3.42 3.42 0 00-.806 1.946 3.42 3.42 0 01-3.138 3.138 3.42 3.42 0 00-1.946.806 3.42 3.42 0 01-4.438 0 3.42 3.42 0 00-1.946-.806 3.42 3.42 0 01-3.138-3.138 3.42 3.42 0 00-.806-1.946 3.42 3.42 0 010-4.438 3.42 3.42 0 00.806-1.946 3.42 3.42 0 013.138-3.138z"
|
|
68
|
-
/>
|
|
69
|
-
</svg>
|
|
70
|
-
</div>
|
|
71
|
-
<p class="text-lg font-medium">{{t}}</p>
|
|
72
|
-
</div>
|
|
73
|
-
</div>
|
|
74
|
-
{% endfor %}
|
|
75
|
-
</div>
|
|
76
|
-
</div>
|
|
77
|
-
{% endif %}
|
|
78
|
-
</div>
|
|
79
|
-
</div>
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
<div class="bg-gradient-to-br from-slate-50 to-blue-50 text-gray-900 px-16 py-16 min-h-screen">
|
|
2
|
-
<!-- Header -->
|
|
3
|
-
<div class="mb-12">
|
|
4
|
-
<div class="w-20 h-1 bg-gradient-to-r from-blue-600 to-indigo-600 mb-6"></div>
|
|
5
|
-
<h1 class="text-6xl font-bold text-gray-900 mb-4 leading-tight">{{title}}</h1>
|
|
6
|
-
<div class="w-32 h-0.5 bg-gray-300"></div>
|
|
7
|
-
</div>
|
|
8
|
-
|
|
9
|
-
<div class="max-w-7xl mx-auto space-y-8">
|
|
10
|
-
<!-- Chart Integration Area -->
|
|
11
|
-
<div class="bg-white rounded-2xl p-10 shadow-2xl">
|
|
12
|
-
<div class="flex items-center gap-4 mb-8">
|
|
13
|
-
<div class="w-16 h-16 bg-gradient-to-br from-emerald-500 to-green-600 rounded-2xl flex items-center justify-center">
|
|
14
|
-
<svg class="w-8 h-8 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
15
|
-
<path
|
|
16
|
-
stroke-linecap="round"
|
|
17
|
-
stroke-linejoin="round"
|
|
18
|
-
stroke-width="2"
|
|
19
|
-
d="M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2-2V7a2 2 0 012-2h2a2 2 0 002-2V1m0 18v-6a2 2 0 012-2h2a2 2 0 012-2V7a2 2 0 00-2-2h-2a2 2 0 00-2 2v2m0 14v-6a2 2 0 00-2-2H9a2 2 0 00-2-2V7a2 2 0 012-2h2a2 2 0 002 2v2"
|
|
20
|
-
/>
|
|
21
|
-
</svg>
|
|
22
|
-
</div>
|
|
23
|
-
<div>
|
|
24
|
-
<h2 class="text-3xl font-bold text-gray-900">Marimekko Chart Visualization</h2>
|
|
25
|
-
<p class="text-gray-600 mt-2">Proportional area chart showing market share and segment composition</p>
|
|
26
|
-
</div>
|
|
27
|
-
</div>
|
|
28
|
-
|
|
29
|
-
<!-- Placeholder Chart Area -->
|
|
30
|
-
<div class="bg-gradient-to-br from-gray-50 to-emerald-50 rounded-2xl p-8 border-2 border-dashed border-gray-300 mb-8">
|
|
31
|
-
<div class="flex flex-col items-center justify-center py-20">
|
|
32
|
-
<div class="w-24 h-24 bg-gradient-to-br from-emerald-500 to-green-600 rounded-2xl flex items-center justify-center mb-6">
|
|
33
|
-
<svg class="w-12 h-12 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
34
|
-
<path
|
|
35
|
-
stroke-linecap="round"
|
|
36
|
-
stroke-linejoin="round"
|
|
37
|
-
stroke-width="2"
|
|
38
|
-
d="M4 5a1 1 0 011-1h14a1 1 0 011 1v2a1 1 0 01-1 1H5a1 1 0 01-1-1V5zM4 13a1 1 0 011-1h6a1 1 0 011 1v6a1 1 0 01-1 1H5a1 1 0 01-1-1v-6zM16 13a1 1 0 011-1h2a1 1 0 011 1v6a1 1 0 01-1 1h-2a1 1 0 01-1-1v-6z"
|
|
39
|
-
/>
|
|
40
|
-
</svg>
|
|
41
|
-
</div>
|
|
42
|
-
<h3 class="text-2xl font-bold text-gray-700 mb-2">Interactive Marimekko Chart</h3>
|
|
43
|
-
<p class="text-gray-600 text-center">This area will contain a proportional area chart visualization</p>
|
|
44
|
-
</div>
|
|
45
|
-
</div>
|
|
46
|
-
|
|
47
|
-
<!-- Categories Overview -->
|
|
48
|
-
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4">
|
|
49
|
-
{% for c in categories %}
|
|
50
|
-
<div
|
|
51
|
-
class="bg-gradient-to-br {% if loop.index % 6 == 1 %}from-emerald-500 to-green-600 {% elif loop.index % 6 == 2 %}from-blue-500 to-indigo-600 {% elif loop.index % 6 == 3 %}from-purple-500 to-violet-600 {% elif loop.index % 6 == 4 %}from-amber-500 to-orange-600 {% elif loop.index % 6 == 5 %}from-red-500 to-rose-600 {% else %}from-gray-500 to-slate-600{% endif %} rounded-2xl p-6 text-white shadow-xl hover:scale-105 transition-all duration-300"
|
|
52
|
-
>
|
|
53
|
-
<div class="flex items-center gap-3 mb-4">
|
|
54
|
-
<div class="w-12 h-12 bg-white bg-opacity-20 rounded-xl flex items-center justify-center">
|
|
55
|
-
<span class="text-white font-bold text-lg">{{loop.index}}</span>
|
|
56
|
-
</div>
|
|
57
|
-
<h3 class="text-xl font-bold leading-tight">{{c}}</h3>
|
|
58
|
-
</div>
|
|
59
|
-
|
|
60
|
-
<!-- Category Indicator -->
|
|
61
|
-
<div class="bg-white bg-opacity-20 rounded-xl p-3 backdrop-blur-sm">
|
|
62
|
-
<div class="flex items-center gap-2">
|
|
63
|
-
<div class="w-4 h-4 bg-white bg-opacity-40 rounded-full"></div>
|
|
64
|
-
<span class="text-sm font-medium opacity-90">Market Segment</span>
|
|
65
|
-
</div>
|
|
66
|
-
</div>
|
|
67
|
-
</div>
|
|
68
|
-
{% endfor %}
|
|
69
|
-
</div>
|
|
70
|
-
</div>
|
|
71
|
-
|
|
72
|
-
<!-- Chart Description -->
|
|
73
|
-
<div class="bg-white rounded-2xl p-8 shadow-xl">
|
|
74
|
-
<div class="flex items-center gap-4 mb-6">
|
|
75
|
-
<div class="w-16 h-16 bg-gradient-to-br from-emerald-500 to-green-600 rounded-2xl flex items-center justify-center">
|
|
76
|
-
<svg class="w-8 h-8 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
77
|
-
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
|
|
78
|
-
</svg>
|
|
79
|
-
</div>
|
|
80
|
-
<h3 class="text-2xl font-bold text-gray-900">Marimekko Analysis</h3>
|
|
81
|
-
</div>
|
|
82
|
-
<div class="grid grid-cols-1 md:grid-cols-2 gap-8">
|
|
83
|
-
<div class="space-y-4">
|
|
84
|
-
<h4 class="text-lg font-semibold text-gray-900">Chart Features</h4>
|
|
85
|
-
<div class="space-y-3">
|
|
86
|
-
<div class="flex items-center gap-3 p-3 bg-gray-50 rounded-lg">
|
|
87
|
-
<div class="w-2 h-2 bg-emerald-500 rounded-full"></div>
|
|
88
|
-
<span class="text-gray-700">Variable width columns represent market size</span>
|
|
89
|
-
</div>
|
|
90
|
-
<div class="flex items-center gap-3 p-3 bg-gray-50 rounded-lg">
|
|
91
|
-
<div class="w-2 h-2 bg-blue-500 rounded-full"></div>
|
|
92
|
-
<span class="text-gray-700">Segment heights show market share distribution</span>
|
|
93
|
-
</div>
|
|
94
|
-
<div class="flex items-center gap-3 p-3 bg-gray-50 rounded-lg">
|
|
95
|
-
<div class="w-2 h-2 bg-purple-500 rounded-full"></div>
|
|
96
|
-
<span class="text-gray-700">Colors differentiate product categories</span>
|
|
97
|
-
</div>
|
|
98
|
-
</div>
|
|
99
|
-
</div>
|
|
100
|
-
<div class="space-y-4">
|
|
101
|
-
<h4 class="text-lg font-semibold text-gray-900">Use Cases</h4>
|
|
102
|
-
<div class="space-y-3">
|
|
103
|
-
<div class="flex items-center gap-3 p-3 bg-gray-50 rounded-lg">
|
|
104
|
-
<div class="w-2 h-2 bg-amber-500 rounded-full"></div>
|
|
105
|
-
<span class="text-gray-700">Market share analysis across segments</span>
|
|
106
|
-
</div>
|
|
107
|
-
<div class="flex items-center gap-3 p-3 bg-gray-50 rounded-lg">
|
|
108
|
-
<div class="w-2 h-2 bg-red-500 rounded-full"></div>
|
|
109
|
-
<span class="text-gray-700">Portfolio composition comparison</span>
|
|
110
|
-
</div>
|
|
111
|
-
<div class="flex items-center gap-3 p-3 bg-gray-50 rounded-lg">
|
|
112
|
-
<div class="w-2 h-2 bg-gray-500 rounded-full"></div>
|
|
113
|
-
<span class="text-gray-700">Revenue breakdown visualization</span>
|
|
114
|
-
</div>
|
|
115
|
-
</div>
|
|
116
|
-
</div>
|
|
117
|
-
</div>
|
|
118
|
-
</div>
|
|
119
|
-
</div>
|
|
120
|
-
</div>
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
<div class="bg-gradient-to-br from-slate-50 to-blue-50 text-gray-900 px-16 py-16 min-h-screen">
|
|
2
|
-
<!-- Header -->
|
|
3
|
-
<div class="mb-16">
|
|
4
|
-
<div class="w-20 h-1 bg-gradient-to-r from-blue-600 to-indigo-600 mb-6"></div>
|
|
5
|
-
<h1 class="text-6xl font-bold text-gray-900 mb-4 leading-tight">{{title}}</h1>
|
|
6
|
-
<div class="w-32 h-0.5 bg-gray-300"></div>
|
|
7
|
-
</div>
|
|
8
|
-
|
|
9
|
-
<!-- Market Drivers -->
|
|
10
|
-
<div class="bg-gradient-to-br from-blue-500 to-indigo-600 rounded-3xl p-10 text-white shadow-2xl hover:scale-105 transition-all duration-300">
|
|
11
|
-
<div class="flex items-center mb-8">
|
|
12
|
-
<div class="w-16 h-16 bg-white bg-opacity-20 rounded-2xl flex items-center justify-center mr-6">
|
|
13
|
-
<svg class="w-8 h-8" fill="currentColor" viewBox="0 0 20 20">
|
|
14
|
-
<path
|
|
15
|
-
fill-rule="evenodd"
|
|
16
|
-
d="M3 4a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm0 4a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm0 4a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm0 4a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z"
|
|
17
|
-
clip-rule="evenodd"
|
|
18
|
-
/>
|
|
19
|
-
</svg>
|
|
20
|
-
</div>
|
|
21
|
-
<h2 class="text-4xl font-bold">Key Market Drivers</h2>
|
|
22
|
-
</div>
|
|
23
|
-
<ul class="space-y-4 text-xl">
|
|
24
|
-
{% for d in drivers %}
|
|
25
|
-
<li class="flex items-start">
|
|
26
|
-
<span class="w-3 h-3 bg-white rounded-full mt-2 mr-4 flex-shrink-0"></span>
|
|
27
|
-
<span>{{d}}</span>
|
|
28
|
-
</li>
|
|
29
|
-
{% endfor %}
|
|
30
|
-
</ul>
|
|
31
|
-
</div>
|
|
32
|
-
</div>
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
<div class="bg-gradient-to-br from-slate-50 to-blue-50 text-gray-900 px-16 py-16 min-h-screen">
|
|
2
|
-
<!-- Header -->
|
|
3
|
-
<div class="text-center mb-16">
|
|
4
|
-
<div class="w-20 h-1 bg-gradient-to-r from-blue-600 to-indigo-600 mb-6 mx-auto"></div>
|
|
5
|
-
<h1 class="text-6xl font-bold text-gray-900 mb-4 leading-tight">Marketing Mix</h1>
|
|
6
|
-
<div class="w-32 h-0.5 bg-gray-300 mx-auto"></div>
|
|
7
|
-
</div>
|
|
8
|
-
|
|
9
|
-
<div class="max-w-6xl mx-auto">
|
|
10
|
-
<section class="bg-gradient-to-br from-purple-500 to-violet-600 rounded-3xl p-10 text-white shadow-2xl hover:scale-105 transition-all duration-300">
|
|
11
|
-
<div class="flex items-center mb-8">
|
|
12
|
-
<div class="w-16 h-16 bg-white bg-opacity-20 rounded-2xl flex items-center justify-center mr-6">
|
|
13
|
-
<svg class="w-8 h-8" fill="currentColor" viewBox="0 0 20 20">
|
|
14
|
-
<path
|
|
15
|
-
fill-rule="evenodd"
|
|
16
|
-
d="M3 4a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm0 4a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm0 4a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm0 4a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z"
|
|
17
|
-
clip-rule="evenodd"
|
|
18
|
-
/>
|
|
19
|
-
</svg>
|
|
20
|
-
</div>
|
|
21
|
-
<h2 class="text-4xl font-bold">Marketing Levers</h2>
|
|
22
|
-
</div>
|
|
23
|
-
<ul class="space-y-4 text-xl">
|
|
24
|
-
{% for l in levers %}
|
|
25
|
-
<li class="flex items-start"><span class="w-3 h-3 bg-white rounded-full mt-2 mr-4 flex-shrink-0"></span><span class="font-light">{{l}}</span></li>
|
|
26
|
-
{% endfor %}
|
|
27
|
-
</ul>
|
|
28
|
-
</section>
|
|
29
|
-
|
|
30
|
-
{% if notes %}
|
|
31
|
-
<div class="mt-8">
|
|
32
|
-
<section class="bg-gradient-to-br from-blue-500 to-indigo-600 rounded-2xl p-8 text-white shadow-xl">
|
|
33
|
-
<div class="flex items-center mb-4">
|
|
34
|
-
<div class="w-12 h-12 bg-white bg-opacity-20 rounded-xl flex items-center justify-center mr-4">
|
|
35
|
-
<svg class="w-6 h-6" fill="currentColor" viewBox="0 0 20 20">
|
|
36
|
-
<path
|
|
37
|
-
fill-rule="evenodd"
|
|
38
|
-
d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z"
|
|
39
|
-
clip-rule="evenodd"
|
|
40
|
-
/>
|
|
41
|
-
</svg>
|
|
42
|
-
</div>
|
|
43
|
-
<h3 class="text-2xl font-bold">Notes</h3>
|
|
44
|
-
</div>
|
|
45
|
-
<p class="text-lg font-light">{{notes}}</p>
|
|
46
|
-
</section>
|
|
47
|
-
</div>
|
|
48
|
-
{% endif %}
|
|
49
|
-
</div>
|
|
50
|
-
</div>
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
<div class="bg-gradient-to-br from-slate-50 to-blue-50 text-gray-900 px-16 py-16 min-h-screen">
|
|
2
|
-
<!-- Header -->
|
|
3
|
-
<div class="text-center mb-16">
|
|
4
|
-
<div class="w-20 h-1 bg-gradient-to-r from-blue-600 to-indigo-600 mb-6 mx-auto"></div>
|
|
5
|
-
<h1 class="text-6xl font-bold text-gray-900 mb-4 leading-tight">{{title}}</h1>
|
|
6
|
-
<div class="w-32 h-0.5 bg-gray-300 mx-auto"></div>
|
|
7
|
-
</div>
|
|
8
|
-
|
|
9
|
-
<div class="grid grid-cols-1 md:grid-cols-3 gap-8 max-w-7xl mx-auto">
|
|
10
|
-
{% for g in groups %}
|
|
11
|
-
<section class="bg-gradient-to-br from-indigo-500 to-blue-600 rounded-3xl p-10 text-white shadow-2xl hover:scale-105 transition-all duration-300">
|
|
12
|
-
<div class="flex items-center mb-6">
|
|
13
|
-
<div class="w-16 h-16 bg-white bg-opacity-20 rounded-2xl flex items-center justify-center mr-6">
|
|
14
|
-
<svg class="w-8 h-8" fill="currentColor" viewBox="0 0 20 20">
|
|
15
|
-
<path
|
|
16
|
-
fill-rule="evenodd"
|
|
17
|
-
d="M3 4a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm0 4a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm0 4a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm0 4a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z"
|
|
18
|
-
clip-rule="evenodd"
|
|
19
|
-
/>
|
|
20
|
-
</svg>
|
|
21
|
-
</div>
|
|
22
|
-
<h2 class="text-3xl font-bold">{{g.label}}</h2>
|
|
23
|
-
</div>
|
|
24
|
-
<ul class="space-y-3 text-lg">
|
|
25
|
-
{% for it in g.items %}
|
|
26
|
-
<li class="flex items-start"><span class="w-2 h-2 bg-white rounded-full mt-3 mr-3 flex-shrink-0"></span><span class="font-light">{{it}}</span></li>
|
|
27
|
-
{% endfor %}
|
|
28
|
-
</ul>
|
|
29
|
-
</section>
|
|
30
|
-
{% endfor %}
|
|
31
|
-
</div>
|
|
32
|
-
</div>
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
<div class="bg-gradient-to-br from-slate-50 to-blue-50 text-gray-900 px-16 py-16 min-h-screen">
|
|
2
|
-
<!-- Header Section -->
|
|
3
|
-
<div class="mb-16">
|
|
4
|
-
<div class="w-20 h-1 bg-gradient-to-r from-blue-600 to-indigo-600 mb-6"></div>
|
|
5
|
-
<h1 class="text-6xl font-bold text-gray-900 mb-4 leading-tight">{{title}}</h1>
|
|
6
|
-
<div class="w-32 h-0.5 bg-gray-300"></div>
|
|
7
|
-
</div>
|
|
8
|
-
|
|
9
|
-
<!-- Vertical Timeline -->
|
|
10
|
-
<div class="relative max-w-4xl mx-auto">
|
|
11
|
-
<!-- Timeline Line -->
|
|
12
|
-
<div class="absolute left-8 top-0 bottom-0 w-1 bg-gradient-to-b from-blue-600 to-indigo-600"></div>
|
|
13
|
-
|
|
14
|
-
<!-- Milestone Cards -->
|
|
15
|
-
<div class="space-y-12">
|
|
16
|
-
{% for m in milestones %}
|
|
17
|
-
<div class="relative">
|
|
18
|
-
<!-- Timeline Dot -->
|
|
19
|
-
<div class="absolute left-6 w-5 h-5 bg-blue-600 rounded-full border-4 border-white shadow-lg"></div>
|
|
20
|
-
|
|
21
|
-
<!-- Milestone Card -->
|
|
22
|
-
<div class="ml-20 bg-gradient-to-br from-blue-600 to-indigo-700 rounded-3xl p-10 text-white shadow-2xl hover:scale-105 transition-all duration-300">
|
|
23
|
-
<!-- Milestone Icon -->
|
|
24
|
-
<div class="w-16 h-16 bg-white bg-opacity-20 rounded-2xl flex items-center justify-center mb-6">
|
|
25
|
-
<svg class="w-8 h-8 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
26
|
-
<path
|
|
27
|
-
stroke-linecap="round"
|
|
28
|
-
stroke-linejoin="round"
|
|
29
|
-
stroke-width="2"
|
|
30
|
-
d="M9 12l2 2 4-4M7.835 4.697a3.42 3.42 0 001.946-.806 3.42 3.42 0 014.438 0 3.42 3.42 0 001.946.806 3.42 3.42 0 013.138 3.138 3.42 3.42 0 00.806 1.946 3.42 3.42 0 010 4.438 3.42 3.42 0 00-.806 1.946 3.42 3.42 0 01-3.138 3.138 3.42 3.42 0 00-1.946.806 3.42 3.42 0 01-4.438 0 3.42 3.42 0 00-1.946-.806 3.42 3.42 0 01-3.138-3.138 3.42 3.42 0 00-.806-1.946 3.42 3.42 0 010-4.438 3.42 3.42 0 00.806-1.946 3.42 3.42 0 013.138-3.138z"
|
|
31
|
-
></path>
|
|
32
|
-
</svg>
|
|
33
|
-
</div>
|
|
34
|
-
|
|
35
|
-
<!-- Milestone Content -->
|
|
36
|
-
<div>
|
|
37
|
-
<h3 class="text-3xl font-bold mb-4">{{m.label}}</h3>
|
|
38
|
-
{% if m.date %}
|
|
39
|
-
<div class="flex items-center space-x-2 mb-4">
|
|
40
|
-
<svg class="w-5 h-5 text-white opacity-80" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
41
|
-
<path
|
|
42
|
-
stroke-linecap="round"
|
|
43
|
-
stroke-linejoin="round"
|
|
44
|
-
stroke-width="2"
|
|
45
|
-
d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"
|
|
46
|
-
></path>
|
|
47
|
-
</svg>
|
|
48
|
-
<time class="text-xl font-semibold text-white opacity-90">{{m.date}}</time>
|
|
49
|
-
</div>
|
|
50
|
-
{% endif %} {% if m.notes %}
|
|
51
|
-
<p class="text-lg leading-relaxed text-white opacity-90">{{m.notes}}</p>
|
|
52
|
-
{% endif %}
|
|
53
|
-
</div>
|
|
54
|
-
</div>
|
|
55
|
-
</div>
|
|
56
|
-
{% endfor %}
|
|
57
|
-
</div>
|
|
58
|
-
</div>
|
|
59
|
-
</div>
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
<div class="min-h-screen bg-gradient-to-br from-slate-50 to-blue-50 px-16 py-16">
|
|
2
|
-
<!-- Header Section -->
|
|
3
|
-
<div class="mb-12">
|
|
4
|
-
<div class="w-20 h-1 bg-gradient-to-r from-blue-600 to-indigo-600 mb-8"></div>
|
|
5
|
-
<h1 class="text-6xl font-bold text-gray-900 mb-4 leading-tight">NPV Summary</h1>
|
|
6
|
-
<div class="w-32 h-0.5 bg-gray-300"></div>
|
|
7
|
-
</div>
|
|
8
|
-
|
|
9
|
-
<!-- NPV Value Card -->
|
|
10
|
-
<div class="mb-12">
|
|
11
|
-
<div class="bg-gradient-to-br from-emerald-500 to-green-600 rounded-3xl p-10 text-white shadow-2xl hover:scale-105 transition-all duration-300 max-w-2xl">
|
|
12
|
-
<div class="flex items-center mb-6">
|
|
13
|
-
<div class="w-16 h-16 bg-white bg-opacity-20 rounded-2xl flex items-center justify-center mr-6">
|
|
14
|
-
<svg class="w-8 h-8" fill="currentColor" viewBox="0 0 20 20">
|
|
15
|
-
<path
|
|
16
|
-
d="M4 4a2 2 0 00-2 2v1h16V6a2 2 0 00-2-2H4zM18 9H2v5a2 2 0 002 2h12a2 2 0 002-2V9zM4 13a1 1 0 011-1h1a1 1 0 110 2H5a1 1 0 01-1-1zm5-1a1 1 0 100 2h1a1 1 0 100-2H9z"
|
|
17
|
-
/>
|
|
18
|
-
</svg>
|
|
19
|
-
</div>
|
|
20
|
-
<div>
|
|
21
|
-
<h2 class="text-2xl font-semibold mb-2">Net Present Value</h2>
|
|
22
|
-
<p class="text-5xl font-bold">{{npv}}</p>
|
|
23
|
-
</div>
|
|
24
|
-
</div>
|
|
25
|
-
</div>
|
|
26
|
-
</div>
|
|
27
|
-
|
|
28
|
-
{% if assumptions %}
|
|
29
|
-
<!-- Assumptions Section -->
|
|
30
|
-
<div class="mb-8">
|
|
31
|
-
<h2 class="text-3xl font-bold text-gray-900 mb-6">Key Assumptions</h2>
|
|
32
|
-
<div class="grid gap-6">
|
|
33
|
-
{% for a in assumptions %}
|
|
34
|
-
<div class="bg-gradient-to-br from-blue-500 to-indigo-600 rounded-3xl p-8 text-white shadow-2xl hover:scale-105 transition-all duration-300">
|
|
35
|
-
<div class="flex items-start">
|
|
36
|
-
<div class="w-16 h-16 bg-white bg-opacity-20 rounded-2xl flex items-center justify-center mr-6 flex-shrink-0">
|
|
37
|
-
<svg class="w-8 h-8" fill="currentColor" viewBox="0 0 20 20">
|
|
38
|
-
<path
|
|
39
|
-
fill-rule="evenodd"
|
|
40
|
-
d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z"
|
|
41
|
-
clip-rule="evenodd"
|
|
42
|
-
/>
|
|
43
|
-
</svg>
|
|
44
|
-
</div>
|
|
45
|
-
<div class="flex-1">
|
|
46
|
-
<p class="text-xl leading-relaxed">{{a}}</p>
|
|
47
|
-
</div>
|
|
48
|
-
</div>
|
|
49
|
-
</div>
|
|
50
|
-
{% endfor %}
|
|
51
|
-
</div>
|
|
52
|
-
</div>
|
|
53
|
-
{% endif %}
|
|
54
|
-
</div>
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
<div class="bg-gradient-to-br from-slate-50 to-blue-50 text-gray-900 px-16 py-16 min-h-screen">
|
|
2
|
-
<!-- Header -->
|
|
3
|
-
<div class="mb-16">
|
|
4
|
-
<div class="w-20 h-1 bg-gradient-to-r from-blue-600 to-indigo-600 mb-6"></div>
|
|
5
|
-
<h1 class="text-6xl font-bold text-gray-900 mb-4 leading-tight">{{title}}</h1>
|
|
6
|
-
<div class="w-32 h-0.5 bg-gray-300"></div>
|
|
7
|
-
</div>
|
|
8
|
-
|
|
9
|
-
<!-- OKR/KPI Cards -->
|
|
10
|
-
<div class="grid grid-cols-1 lg:grid-cols-3 gap-8 max-w-7xl mx-auto">
|
|
11
|
-
{% for m in metrics %}
|
|
12
|
-
<section class="bg-white rounded-3xl shadow-2xl border border-gray-100 p-8 transform hover:scale-105 transition-all duration-300 hover:shadow-3xl">
|
|
13
|
-
<div class="flex items-start justify-between mb-6">
|
|
14
|
-
<div class="flex-1">
|
|
15
|
-
<div class="text-sm font-semibold text-gray-500 uppercase tracking-wide mb-3">{{m.label}}</div>
|
|
16
|
-
<div class="text-5xl font-black text-gray-900 leading-none mb-4">{{m.value}}</div>
|
|
17
|
-
{% if m.target %}
|
|
18
|
-
<div class="text-lg text-gray-600 mb-2">Target: <span class="font-semibold">{{m.target}}</span></div>
|
|
19
|
-
{% endif %}
|
|
20
|
-
</div>
|
|
21
|
-
<div class="w-16 h-16 bg-gradient-to-br from-blue-500 to-indigo-600 rounded-2xl flex items-center justify-center ml-4">
|
|
22
|
-
<svg class="w-8 h-8 text-white" fill="currentColor" viewBox="0 0 20 20">
|
|
23
|
-
<path
|
|
24
|
-
d="M2 11a1 1 0 011-1h2a1 1 0 011 1v5a1 1 0 01-1 1H3a1 1 0 01-1-1v-5zM8 7a1 1 0 011-1h2a1 1 0 011 1v9a1 1 0 01-1 1H9a1 1 0 01-1-1V7zM14 4a1 1 0 011-1h2a1 1 0 011 1v12a1 1 0 01-1 1h-2a1 1 0 01-1-1V4z"
|
|
25
|
-
/>
|
|
26
|
-
</svg>
|
|
27
|
-
</div>
|
|
28
|
-
</div>
|
|
29
|
-
|
|
30
|
-
{% if m.status %}
|
|
31
|
-
<div class="flex items-center">
|
|
32
|
-
{% if m.status|lower == 'on track' %}
|
|
33
|
-
<div class="flex items-center text-emerald-600 bg-emerald-50 rounded-full px-3 py-1">
|
|
34
|
-
<svg class="w-4 h-4 mr-1" fill="currentColor" viewBox="0 0 20 20">
|
|
35
|
-
<path
|
|
36
|
-
fill-rule="evenodd"
|
|
37
|
-
d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z"
|
|
38
|
-
clip-rule="evenodd"
|
|
39
|
-
/>
|
|
40
|
-
</svg>
|
|
41
|
-
<span class="text-sm font-semibold uppercase tracking-wide">{{m.status}}</span>
|
|
42
|
-
</div>
|
|
43
|
-
{% elif m.status|lower == 'at risk' %}
|
|
44
|
-
<div class="flex items-center text-amber-600 bg-amber-50 rounded-full px-3 py-1">
|
|
45
|
-
<svg class="w-4 h-4 mr-1" fill="currentColor" viewBox="0 0 20 20">
|
|
46
|
-
<path
|
|
47
|
-
fill-rule="evenodd"
|
|
48
|
-
d="M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z"
|
|
49
|
-
clip-rule="evenodd"
|
|
50
|
-
/>
|
|
51
|
-
</svg>
|
|
52
|
-
<span class="text-sm font-semibold uppercase tracking-wide">{{m.status}}</span>
|
|
53
|
-
</div>
|
|
54
|
-
{% elif m.status|lower == 'behind' %}
|
|
55
|
-
<div class="flex items-center text-red-600 bg-red-50 rounded-full px-3 py-1">
|
|
56
|
-
<svg class="w-4 h-4 mr-1" fill="currentColor" viewBox="0 0 20 20">
|
|
57
|
-
<path
|
|
58
|
-
fill-rule="evenodd"
|
|
59
|
-
d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z"
|
|
60
|
-
clip-rule="evenodd"
|
|
61
|
-
/>
|
|
62
|
-
</svg>
|
|
63
|
-
<span class="text-sm font-semibold uppercase tracking-wide">{{m.status}}</span>
|
|
64
|
-
</div>
|
|
65
|
-
{% else %}
|
|
66
|
-
<div class="flex items-center text-blue-600 bg-blue-50 rounded-full px-3 py-1">
|
|
67
|
-
<span class="text-sm font-semibold uppercase tracking-wide">{{m.status}}</span>
|
|
68
|
-
</div>
|
|
69
|
-
{% endif %}
|
|
70
|
-
</div>
|
|
71
|
-
{% endif %}
|
|
72
|
-
</section>
|
|
73
|
-
{% endfor %}
|
|
74
|
-
</div>
|
|
75
|
-
|
|
76
|
-
<!-- Dashboard Summary -->
|
|
77
|
-
<div class="text-center mt-16">
|
|
78
|
-
<div class="inline-flex items-center bg-gradient-to-r from-blue-600 to-indigo-600 text-white rounded-2xl shadow-xl px-8 py-6">
|
|
79
|
-
<svg class="w-8 h-8 mr-3" fill="currentColor" viewBox="0 0 20 20">
|
|
80
|
-
<path d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" />
|
|
81
|
-
</svg>
|
|
82
|
-
<span class="text-2xl font-bold">OKR & KPI Performance Dashboard</span>
|
|
83
|
-
</div>
|
|
84
|
-
</div>
|
|
85
|
-
</div>
|