From 847f08a975853e20fc1901454c90b3b13731830b Mon Sep 17 00:00:00 2001 From: Patrick Mulligan Date: Tue, 28 Jul 2026 18:45:41 +0200 Subject: [PATCH] feat(deck): make the raise slide an interactive cost drill-down Click any of the four investment categories (or its bar segment) to expand its line-item breakdown inline; the proportion bar highlights the selected slice and dims the rest. Buttons are keyboard-focusable with aria-pressed; respects prefers-reduced-motion. Register ChevronRight in the Icon map. Co-Authored-By: Claude Opus 4.8 (1M context) --- src/deck/components/Icon.vue | 2 + src/deck/slides/InvestmentOverviewSlide.vue | 149 ++++++++++++++++++-- 2 files changed, 138 insertions(+), 13 deletions(-) diff --git a/src/deck/components/Icon.vue b/src/deck/components/Icon.vue index 950b284..1ecde30 100644 --- a/src/deck/components/Icon.vue +++ b/src/deck/components/Icon.vue @@ -29,6 +29,7 @@ import { Sun, Moon, MapPin, + ChevronRight, type LucideProps, } from '@lucide/vue' import type { FunctionalComponent } from 'vue' @@ -62,6 +63,7 @@ const registry: Record> = { Sun, Moon, MapPin, + ChevronRight, } const props = defineProps<{ name: string }>() diff --git a/src/deck/slides/InvestmentOverviewSlide.vue b/src/deck/slides/InvestmentOverviewSlide.vue index e7608d1..0c1ae78 100644 --- a/src/deck/slides/InvestmentOverviewSlide.vue +++ b/src/deck/slides/InvestmentOverviewSlide.vue @@ -1,4 +1,5 @@ + +