diff --git a/webui/src/web-components/demo/demo-framework/demo-runner.ts b/webui/src/web-components/demo/demo-framework/demo-runner.ts
index c4c6362..85b8b5f 100644
--- a/webui/src/web-components/demo/demo-framework/demo-runner.ts
+++ b/webui/src/web-components/demo/demo-framework/demo-runner.ts
@@ -94,6 +94,7 @@
       "sketch-call-status",
       "sketch-chat-input",
       "sketch-container-status",
+      "sketch-diff-range-picker",
       "sketch-timeline",
       "sketch-timeline-message",
       "sketch-todo-panel",
diff --git a/webui/src/web-components/demo/sketch-diff-range-picker.demo.ts b/webui/src/web-components/demo/sketch-diff-range-picker.demo.ts
new file mode 100644
index 0000000..cf05379
--- /dev/null
+++ b/webui/src/web-components/demo/sketch-diff-range-picker.demo.ts
@@ -0,0 +1,113 @@
+/* eslint-disable @typescript-eslint/no-explicit-any */
+/**
+ * Demo module for sketch-diff-range-picker component
+ */
+
+import { DemoModule } from "./demo-framework/types";
+import { demoUtils } from "./demo-fixtures/index";
+import { MockGitDataService } from "./mock-git-data-service";
+
+const demo: DemoModule = {
+  title: "Diff Range Picker Demo",
+  description: "Component for selecting commit ranges for diff views",
+  imports: ["../sketch-diff-range-picker"],
+
+  setup: async (container: HTMLElement) => {
+    // Create demo sections
+    const basicSection = demoUtils.createDemoSection(
+      "Basic Range Picker",
+      "Select commit ranges for diff views with dropdown interface",
+    );
+
+    const statusSection = demoUtils.createDemoSection(
+      "Range Selection Status",
+      "Shows the currently selected range and events",
+    );
+
+    // Create mock git service
+    const mockGitService = new MockGitDataService();
+
+    // Create the component
+    const rangePickerElement = document.createElement(
+      "sketch-diff-range-picker",
+    );
+    rangePickerElement.style.cssText = `
+      width: 100%;
+      max-width: 800px;
+      margin: 20px 0;
+      padding: 16px;
+      border: 1px solid #e0e0e0;
+      border-radius: 8px;
+      background: white;
+    `;
+
+    // Set up the git service
+    (rangePickerElement as any).gitService = mockGitService;
+
+    // Create status display
+    const statusDisplay = document.createElement("div");
+    statusDisplay.style.cssText = `
+      padding: 12px;
+      margin: 16px 0;
+      background: #f8f9fa;
+      border-radius: 6px;
+      border: 1px solid #e9ecef;
+      font-family: monospace;
+      font-size: 14px;
+      line-height: 1.4;
+    `;
+    statusDisplay.innerHTML = `
+      <div><strong>Status:</strong> No range selected</div>
+      <div><strong>Events:</strong> None</div>
+    `;
+
+    // Listen for range change events
+    rangePickerElement.addEventListener("range-change", (event: any) => {
+      const range = event.detail.range;
+      const fromShort = range.from ? range.from.substring(0, 7) : "N/A";
+      const toShort = range.to ? range.to.substring(0, 7) : "Uncommitted";
+
+      statusDisplay.innerHTML = `
+        <div><strong>Status:</strong> Range selected</div>
+        <div><strong>From:</strong> ${fromShort}</div>
+        <div><strong>To:</strong> ${toShort}</div>
+        <div><strong>Events:</strong> range-change fired at ${new Date().toLocaleTimeString()}</div>
+      `;
+    });
+
+    // Add components to sections
+    basicSection.appendChild(rangePickerElement);
+    statusSection.appendChild(statusDisplay);
+
+    // Add sections to container
+    container.appendChild(basicSection);
+    container.appendChild(statusSection);
+
+    // Add some demo instructions
+    const instructionsDiv = document.createElement("div");
+    instructionsDiv.style.cssText = `
+      margin: 20px 0;
+      padding: 16px;
+      background: #e3f2fd;
+      border-radius: 6px;
+      border-left: 4px solid #2196f3;
+    `;
+    instructionsDiv.innerHTML = `
+      <h3 style="margin: 0 0 8px 0; color: #1976d2;">Demo Instructions:</h3>
+      <ul style="margin: 8px 0; padding-left: 20px;">
+        <li>Click on the dropdown to see available commits</li>
+        <li>Select different commits to see range changes</li>
+        <li>The component defaults to diffing against uncommitted changes</li>
+        <li>Watch the status display for real-time event updates</li>
+      </ul>
+    `;
+    container.appendChild(instructionsDiv);
+  },
+
+  cleanup: () => {
+    // Clean up any event listeners or resources if needed
+    console.log("Cleaning up sketch-diff-range-picker demo");
+  },
+};
+
+export default demo;
