From 7b2131b567117f0fdf5e815caa1a4961706e5e16 Mon Sep 17 00:00:00 2001
From: "hdcode.dev" <215285761+hdcodedev@users.noreply.github.com>
Date: Thu, 5 Nov 2026 20:22:19 +0100
Subject: [PATCH 1/4] feat(docs): add standalone wiki navigation icon sprite
---
docs-app/public/wiki-nav-icons.svg | 82 ++++++++++++++++++++++++++++++
1 file changed, 82 insertions(+)
create mode 100644 docs-app/public/wiki-nav-icons.svg
diff --git a/docs-app/public/wiki-nav-icons.svg b/docs-app/public/wiki-nav-icons.svg
new file mode 100644
index 0000000..003a7e6
--- /dev/null
+++ b/docs-app/public/wiki-nav-icons.svg
@@ -0,0 +1,82 @@
+
From 6c365fc2fb5089d285603a7612f981fc6eeba713 Mon Sep 17 00:00:00 2001
From: "hdcode.dev" <215285761+hdcodedev@users.noreply.github.com>
Date: Thu, 5 Nov 2026 20:22:26 +0100
Subject: [PATCH 2/4] feat(docs): map wiki slugs to accessible navigation icons
---
docs-app/components/WikiNavIcon.tsx | 39 +++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
create mode 100644 docs-app/components/WikiNavIcon.tsx
diff --git a/docs-app/components/WikiNavIcon.tsx b/docs-app/components/WikiNavIcon.tsx
new file mode 100644
index 0000000..b659826
--- /dev/null
+++ b/docs-app/components/WikiNavIcon.tsx
@@ -0,0 +1,39 @@
+// Sidebar icon names follow wiki slugs, not display titles (which can vary by version).
+const ICONS: Record = {
+ '': 'overview',
+ 'bar-chart': 'bar',
+ 'heatmap-chart': 'heatmap',
+ 'histogram-chart': 'histogram',
+ 'line-chart': 'line',
+ 'pie-chart': 'pie',
+ 'radar-chart': 'radar',
+ 'ring-gauge-chart': 'ring-gauge',
+ 'scatter-chart': 'scatter',
+ 'segmented-ring-gauge-chart': 'segmented-ring',
+ 'stacked-area-chart': 'stacked-area',
+ 'stacked-bar-chart': 'stacked-bar',
+ customization: 'customization',
+ gradients: 'gradients',
+ migration: 'migration',
+ screenshots: 'screenshots',
+};
+
+export function WikiNavIcon({ slug }: { slug: string }) {
+ const icon = ICONS[slug] ?? 'document';
+
+ return (
+
+ );
+}
From c3b13b39a3631157521b31f8629f07f4da958d1a Mon Sep 17 00:00:00 2001
From: "hdcode.dev" <215285761+hdcodedev@users.noreply.github.com>
Date: Thu, 5 Nov 2026 20:22:49 +0100
Subject: [PATCH 3/4] feat(docs): highlight icon on current wiki page
---
docs-app/components/WikiNavIcon.tsx | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs-app/components/WikiNavIcon.tsx b/docs-app/components/WikiNavIcon.tsx
index b659826..3dd7b74 100644
--- a/docs-app/components/WikiNavIcon.tsx
+++ b/docs-app/components/WikiNavIcon.tsx
@@ -18,7 +18,7 @@ const ICONS: Record = {
screenshots: 'screenshots',
};
-export function WikiNavIcon({ slug }: { slug: string }) {
+export function WikiNavIcon({ slug, active }: { slug: string; active: boolean }) {
const icon = ICONS[slug] ?? 'document';
return (
@@ -26,7 +26,7 @@ export function WikiNavIcon({ slug }: { slug: string }) {
aria-hidden="true"
focusable="false"
viewBox="0 0 24 24"
- className="h-[18px] w-[18px] shrink-0"
+ className={`h-[18px] w-[18px] shrink-0 ${active ? 'text-[var(--color-primary)]' : 'text-[var(--text-muted)]'}`}
fill="none"
stroke="currentColor"
strokeWidth="1.7"
From c6c23d2077f92f697b3716d8ab41c5b72798a138 Mon Sep 17 00:00:00 2001
From: "hdcode.dev" <215285761+hdcodedev@users.noreply.github.com>
Date: Thu, 5 Nov 2026 20:23:00 +0100
Subject: [PATCH 4/4] feat(docs): display chart icons beside wiki sidebar links
---
docs-app/components/WikiSidebar.tsx | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/docs-app/components/WikiSidebar.tsx b/docs-app/components/WikiSidebar.tsx
index fb3b9da..7eb9040 100644
--- a/docs-app/components/WikiSidebar.tsx
+++ b/docs-app/components/WikiSidebar.tsx
@@ -3,6 +3,7 @@
import Link from 'next/link';
import { usePathname } from 'next/navigation';
import { useRef } from 'react';
+import { WikiNavIcon } from './WikiNavIcon';
import type { NavItem } from '@/lib/types';
import { useScrollActiveIntoView } from '@/lib/use-scroll-active-into-view';
import { cn, stickySidebar } from '@/lib/utils';
@@ -44,7 +45,10 @@ export function WikiSidebar({ navigation }: WikiSidebarProps) {
)}
aria-current={isActive(item.path) ? 'page' : undefined}
>
- {item.title}
+
+
+ {item.title}
+
{item.badgeCount ? (
{item.badgeCount}