sonance-brand-mcp 1.3.79 → 1.3.81

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.
@@ -2461,6 +2461,9 @@ export function SonanceDevTools() {
2461
2461
  transform: `translate(${dragPosition.x}px, ${dragPosition.y}px)`,
2462
2462
  }}
2463
2463
  // Event isolation - prevent clicks from closing popups in the main app
2464
+ // onPointerDown fires before onMouseDown in modern browsers - must stop both
2465
+ onPointerDown={(e) => e.stopPropagation()}
2466
+ onTouchStart={(e) => e.stopPropagation()}
2464
2467
  onMouseDown={(e) => e.stopPropagation()}
2465
2468
  onClick={(e) => e.stopPropagation()}
2466
2469
  onFocus={(e) => e.stopPropagation()}
@@ -402,6 +402,11 @@ export function ChatInterface({
402
402
  type="text"
403
403
  value={input}
404
404
  onChange={(e) => setInput(e.target.value)}
405
+ onPointerDown={(e) => {
406
+ // Force focus capture - prevents modal focus trapping from blocking input
407
+ e.stopPropagation();
408
+ setTimeout(() => inputRef.current?.focus(), 0);
409
+ }}
405
410
  onKeyDown={(e) => {
406
411
  if (e.key === "Enter" && !e.shiftKey) {
407
412
  e.preventDefault();
@@ -428,6 +433,7 @@ export function ChatInterface({
428
433
  />
429
434
  <button
430
435
  onClick={() => handleSend(input || inputRef.current?.value || "")}
436
+ onPointerDown={(e) => e.stopPropagation()}
431
437
  disabled={isProcessing}
432
438
  className={cn(
433
439
  "px-3 py-2 rounded transition-colors",
@@ -88,9 +88,11 @@ export function InspectorOverlay({
88
88
  const clickX = e.clientX;
89
89
  const clickY = e.clientY;
90
90
 
91
- // Don't capture clicks on the DevTools panel itself
91
+ // Don't capture clicks on the DevTools panel or its portal container
92
92
  const devToolsPanel = document.querySelector('[data-sonance-devtools="true"]');
93
+ const devToolsRoot = document.getElementById('sonance-devtools-root');
93
94
  if (devToolsPanel?.contains(e.target as Node)) return;
95
+ if (devToolsRoot?.contains(e.target as Node)) return;
94
96
 
95
97
  // Find ALL elements that contain the click point
96
98
  const matchingElements = elements.filter(el =>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sonance-brand-mcp",
3
- "version": "1.3.79",
3
+ "version": "1.3.81",
4
4
  "description": "MCP Server for Sonance Brand Guidelines and Component Library - gives Claude instant access to brand colors, typography, and UI components.",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",