diff --git a/packages/layerchart/src/routes/_NavMenu.svelte b/packages/layerchart/src/routes/_NavMenu.svelte
index 67bc6dd62..7217667b0 100644
--- a/packages/layerchart/src/routes/_NavMenu.svelte
+++ b/packages/layerchart/src/routes/_NavMenu.svelte
@@ -28,6 +28,7 @@
'Scatter',
'Sparkbar',
'Sparkline',
+ 'SyncBrushContext',
'Threshold',
],
Hierarchy: ['Pack', 'Partition', 'Sunburst', 'Tree', 'Treemap'],
diff --git a/packages/layerchart/src/routes/docs/examples/SyncBrushContext/+page.svelte b/packages/layerchart/src/routes/docs/examples/SyncBrushContext/+page.svelte
new file mode 100644
index 000000000..56fe5e050
--- /dev/null
+++ b/packages/layerchart/src/routes/docs/examples/SyncBrushContext/+page.svelte
@@ -0,0 +1,128 @@
+
+
+
Sync BrushContext
+
+
+
+
{
+ // Invert deltaX for more natural horizontal scrolling
+ translateXDomain(-deltaX);
+ return { x: 0, y: 0 };
+ },
+ }}
+ >
+
+
+
+
+
+
(xDomain = e.xDomain),
+ onreset: () => (xDomain = undefined),
+ }}
+ >
+
+
+
+
diff --git a/packages/layerchart/src/routes/docs/examples/SyncBrushContext/+page.ts b/packages/layerchart/src/routes/docs/examples/SyncBrushContext/+page.ts
new file mode 100644
index 000000000..f34b8d0af
--- /dev/null
+++ b/packages/layerchart/src/routes/docs/examples/SyncBrushContext/+page.ts
@@ -0,0 +1,15 @@
+import { parse } from '@layerstack/utils';
+
+import pageSource from './+page.svelte?raw';
+import type { AppleStockData } from '$static/data/examples/date/apple-stock.js';
+
+export async function load({ fetch }) {
+ return {
+ appleStock: await fetch('/data/examples/date/apple-stock.json').then(async (r) =>
+ parse(await r.text())
+ ),
+ meta: {
+ pageSource,
+ },
+ };
+}