react-grab 0.1.48-dev.303169b → 0.1.48-dev.40371ea

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.
Files changed (41) hide show
  1. package/README.md +1 -1
  2. package/dist/{copy-content-BPJ08fM-.d.cts → copy-content-3sDfOP1b.d.ts} +56 -36
  3. package/dist/{copy-content-tDo_MSv9.d.ts → copy-content-TZDC2S2A.d.cts} +56 -36
  4. package/dist/core/index.cjs +1 -1
  5. package/dist/core/index.d.cts +2 -2
  6. package/dist/core/index.d.ts +2 -2
  7. package/dist/core/index.js +1 -1
  8. package/dist/core-CqurQjKv.cjs +14 -0
  9. package/dist/core-Dnep0R1B.js +14 -0
  10. package/dist/errors-BEgowzRA.d.ts +29 -0
  11. package/dist/errors-CTlIFDQs.d.cts +29 -0
  12. package/dist/execute-context-menu-action-BEhrlFtE.cjs +9 -0
  13. package/dist/execute-context-menu-action-Db1bXP2D.js +9 -0
  14. package/dist/freeze-updates-DxicqdcW.js +52 -0
  15. package/dist/freeze-updates-e3oImtGv.cjs +52 -0
  16. package/dist/{index-CjtwpNJq.d.cts → index-DDf5jObx.d.cts} +1 -1
  17. package/dist/{index-Cx-YnOMQ.d.ts → index-DWvC_uKW.d.ts} +1 -1
  18. package/dist/index.cjs +1 -1
  19. package/dist/index.d.cts +10 -7
  20. package/dist/index.d.ts +10 -7
  21. package/dist/index.global.js +21 -19
  22. package/dist/index.js +1 -1
  23. package/dist/open-file-Bs_Cp__2.cjs +20 -0
  24. package/dist/open-file-BxL2-tRx.js +29 -0
  25. package/dist/primitives.cjs +2 -2
  26. package/dist/primitives.d.cts +3 -2
  27. package/dist/primitives.d.ts +3 -2
  28. package/dist/primitives.js +2 -2
  29. package/dist/renderer-B7L47Iux.js +9 -0
  30. package/dist/renderer-B7w3I-Ut.cjs +9 -0
  31. package/package.json +10 -4
  32. package/dist/copy-content-BTtSCJ8G.js +0 -10
  33. package/dist/copy-content-BVS7GWGg.cjs +0 -10
  34. package/dist/core-ClWQzJeD.js +0 -14
  35. package/dist/core-DiKuJH95.cjs +0 -14
  36. package/dist/create-pointer-move-prompt-handoff-B5pjxeTR.js +0 -9
  37. package/dist/create-pointer-move-prompt-handoff-B99Eq2Uo.cjs +0 -9
  38. package/dist/freeze-updates-CmRqKCkV.js +0 -51
  39. package/dist/freeze-updates-_AW7J5Yx.cjs +0 -51
  40. package/dist/renderer-BI2Oil1U.cjs +0 -9
  41. package/dist/renderer-BOPyTZnj.js +0 -9
package/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Copy any UI element for your agent.
7
7
 
8
- React Grab points agents to the actual source behind each selection. Agents are [**2× faster**](https://benchmark.react-grab.com/) and more accurate when using React Grab.
8
+ React Grab points agents to the actual source behind each selection. Agents are [**2× faster**](https://react-grab.com/benchmarks) and more accurate when using React Grab.
9
9
 
10
10
  [**Website →**](https://react-grab.com)
11
11
 
@@ -6,6 +6,8 @@
6
6
  * This source code is licensed under the MIT license found in the
7
7
  * LICENSE file in the root directory of this source tree.
8
8
  */
9
+ import { ReactNode } from "react";
10
+
9
11
  //#region ../../node_modules/.pnpm/solid-js@1.9.12/node_modules/solid-js/types/reactive/observable.d.ts
10
12
  declare global {
11
13
  interface SymbolConstructor {
@@ -138,11 +140,13 @@ interface AgentContext<T = unknown> {
138
140
  sessionId?: string;
139
141
  }
140
142
  type ActivationMode = "toggle" | "hold";
141
- interface ActionContextHooks {
142
- transformHtmlContent: (html: string, elements: Element[]) => Promise<string>;
143
+ interface OpenFileActionHooks {
143
144
  onOpenFile: (filePath: string, lineNumber?: number) => boolean | void;
144
145
  transformOpenFileUrl: (url: string, filePath: string, lineNumber?: number) => string;
145
146
  }
147
+ interface ActionContextHooks extends OpenFileActionHooks {
148
+ transformHtmlContent: (html: string, elements: Element[]) => Promise<string>;
149
+ }
146
150
  interface ActionContext {
147
151
  element: Element;
148
152
  elements: Element[];
@@ -228,14 +232,12 @@ interface PreviewStyles {
228
232
  interface EditPanelState {
229
233
  element: Element;
230
234
  position: Position;
231
- selectionBounds: OverlayBounds;
232
235
  properties: EditableProperty[];
233
236
  preview: PreviewStyles;
234
237
  filePath?: string;
235
238
  lineNumber?: number;
236
239
  componentName?: string;
237
240
  tagName?: string;
238
- htmlPreview?: string;
239
241
  initialSearchQuery?: string;
240
242
  hasSessionEdits?: boolean;
241
243
  designTokens?: DesignTokenResolver;
@@ -260,24 +262,24 @@ interface HierarchyState {
260
262
  activeIndex: number;
261
263
  }
262
264
  interface PluginHooks {
263
- onActivate?: () => void;
264
- onDeactivate?: () => void;
265
- onElementHover?: (element: Element) => void;
265
+ onActivate?: () => void | Promise<void>;
266
+ onDeactivate?: () => void | Promise<void>;
267
+ onElementHover?: (element: Element) => void | Promise<void>;
266
268
  onElementSelect?: (element: Element) => boolean | void | Promise<boolean>;
267
- onDragStart?: (startX: number, startY: number) => void;
268
- onDragEnd?: (elements: Element[], bounds: DragRect) => void;
269
+ onDragStart?: (startX: number, startY: number) => void | Promise<void>;
270
+ onDragEnd?: (elements: Element[], bounds: DragRect) => void | Promise<void>;
269
271
  onBeforeCopy?: (elements: Element[]) => void | Promise<void>;
270
272
  transformCopyContent?: (content: string, elements: Element[]) => string | Promise<string>;
271
- onAfterCopy?: (elements: Element[], success: boolean) => void;
272
- onCopySuccess?: (elements: Element[], content: string) => void;
273
- onCopyError?: (error: Error) => void;
274
- onStateChange?: (state: ReactGrabState) => void;
275
- onPromptModeChange?: (isPromptMode: boolean, context: PromptModeContext) => void;
276
- onSelectionBox?: (visible: boolean, bounds: OverlayBounds | null, element: Element | null) => void;
277
- onDragBox?: (visible: boolean, bounds: OverlayBounds | null) => void;
278
- onGrabbedBox?: (bounds: OverlayBounds, element: Element) => void;
279
- onElementLabel?: (visible: boolean, variant: ElementLabelVariant, context: ElementLabelContext) => void;
280
- onContextMenu?: (element: Element, position: Position) => void;
273
+ onAfterCopy?: (elements: Element[], success: boolean) => void | Promise<void>;
274
+ onCopySuccess?: (elements: Element[], content: string) => void | Promise<void>;
275
+ onCopyError?: (error: Error) => void | Promise<void>;
276
+ onStateChange?: (state: ReactGrabState) => void | Promise<void>;
277
+ onPromptModeChange?: (isPromptMode: boolean, context: PromptModeContext) => void | Promise<void>;
278
+ onSelectionBox?: (visible: boolean, bounds: OverlayBounds | null, element: Element | null) => void | Promise<void>;
279
+ onDragBox?: (visible: boolean, bounds: OverlayBounds | null) => void | Promise<void>;
280
+ onGrabbedBox?: (bounds: OverlayBounds, element: Element) => void | Promise<void>;
281
+ onElementLabel?: (visible: boolean, variant: ElementLabelVariant, context: ElementLabelContext) => void | Promise<void>;
282
+ onContextMenu?: (element: Element, position: Position) => void | Promise<void>;
281
283
  onOpenFile?: (filePath: string, lineNumber?: number) => boolean | void;
282
284
  transformHtmlContent?: (html: string, elements: Element[]) => string | Promise<string>;
283
285
  transformAgentContext?: (context: AgentContext, elements: Element[]) => AgentContext | Promise<AgentContext>;
@@ -289,7 +291,7 @@ interface PluginConfig {
289
291
  options?: SettableOptions;
290
292
  actions?: ContextMenuAction[];
291
293
  hooks?: PluginHooks;
292
- cleanup?: () => void;
294
+ cleanup?: () => undefined;
293
295
  }
294
296
  interface Plugin {
295
297
  name: string;
@@ -432,13 +434,19 @@ interface FrozenLabelEntry {
432
434
  bounds: OverlayBounds;
433
435
  mouseX?: number;
434
436
  }
437
+ interface FrozenLabelEntryAccessor {
438
+ read: () => FrozenLabelEntry | null;
439
+ }
440
+ interface SelectionLabelInstanceAccessor {
441
+ read: () => SelectionLabelInstance | null;
442
+ }
435
443
  interface ReactGrabRendererProps {
436
444
  selectionVisible?: boolean;
437
445
  selectionBounds?: OverlayBounds;
438
446
  selectionBoundsMultiple?: OverlayBounds[];
439
447
  selectionShouldSnap?: boolean;
440
448
  selectionElementsCount?: number;
441
- frozenLabelEntries?: FrozenLabelEntry[];
449
+ frozenLabelEntryAccessors?: FrozenLabelEntryAccessor[];
442
450
  pendingShiftPreviewEntry?: FrozenLabelEntry;
443
451
  selectionFilePath?: string;
444
452
  selectionLineNumber?: number;
@@ -449,6 +457,7 @@ interface ReactGrabRendererProps {
449
457
  hierarchyState?: HierarchyState;
450
458
  hierarchyMenuPosition?: DropdownAnchor | null;
451
459
  labelInstances?: SelectionLabelInstance[];
460
+ labelInstanceAccessors?: SelectionLabelInstanceAccessor[];
452
461
  dragVisible?: boolean;
453
462
  dragBounds?: OverlayBounds;
454
463
  grabbedBoxes?: Array<{
@@ -461,12 +470,15 @@ interface ReactGrabRendererProps {
461
470
  inputValue?: string;
462
471
  isPromptMode?: boolean;
463
472
  onShowContextMenuInstance?: (instanceId: string) => void;
473
+ onRetryInstance?: (instanceId: string) => void;
474
+ onAcknowledgeErrorInstance?: (instanceId: string) => void;
464
475
  onLabelInstanceHoverChange?: (instanceId: string, isHovered: boolean) => void;
465
476
  onInputChange?: (value: string) => void;
466
477
  onInputSubmit?: () => void;
467
478
  onToggleExpand?: () => void;
468
479
  selectionLabelShakeCount?: number;
469
480
  onConfirmDismiss?: () => void;
481
+ onOpenSelectionFile?: () => void;
470
482
  discardPrompt?: SelectionDiscardPrompt;
471
483
  toolbarVisible?: boolean;
472
484
  isActive?: boolean;
@@ -548,7 +560,7 @@ interface ReactGrabEntry {
548
560
  frames?: ReactGrabStackFrame[];
549
561
  }
550
562
  //#endregion
551
- //#region ../../node_modules/.pnpm/bippy@0.5.43_react@19.2.6/node_modules/bippy/dist/core.d.ts
563
+ //#region ../../node_modules/.pnpm/bippy@0.6.0_react@19.2.6/node_modules/bippy/dist/unsubscribe.d.ts
552
564
  type Flags = number;
553
565
  type Lanes = number;
554
566
  type TypeOfMode = number;
@@ -638,6 +650,14 @@ interface Effect {
638
650
  interface Family {
639
651
  current: unknown;
640
652
  }
653
+ /**
654
+ * React 19 flight metadata for a server component owner (ReactComponentInfo).
655
+ * Unlike client owners it has no `tag`; the owner chain continues via `owner`.
656
+ */
657
+ interface RendererRefreshUpdate {
658
+ staleFamilies: Set<Family>;
659
+ updatedFamilies: Set<Family>;
660
+ }
641
661
  /**
642
662
  * Represents a react-internal Fiber node.
643
663
  */
@@ -688,6 +708,7 @@ interface ReactDevToolsGlobalHook {
688
708
  onCommitFiberRoot: (rendererID: number, root: FiberRoot, priority: number | void) => void;
689
709
  onCommitFiberUnmount: (rendererID: number, fiber: Fiber) => void;
690
710
  onPostCommitFiberRoot: (rendererID: number, root: FiberRoot) => void;
711
+ onScheduleFiberRoot?: (rendererID: number, root: FiberRoot, children: ReactNode) => void;
691
712
  renderers: Map<number, ReactRenderer>;
692
713
  supportsFiber: boolean;
693
714
  supportsFlight: boolean;
@@ -706,10 +727,7 @@ interface ReactRenderer {
706
727
  overridePropsRenamePath?: (fiber: Fiber, oldPath: Array<number | string>, newPath: Array<number | string>) => void;
707
728
  reconcilerVersion: string;
708
729
  rendererPackageName: string;
709
- scheduleRefresh?: (root: FiberRoot, update: {
710
- staleFamilies: Set<Family>;
711
- updatedFamilies: Set<Family>;
712
- }) => void;
730
+ scheduleRefresh?: (root: FiberRoot, update: RendererRefreshUpdate) => void;
713
731
  scheduleRoot?: (root: FiberRoot, element: React.ReactNode) => void;
714
732
  scheduleUpdate?: (fiber: Fiber) => void;
715
733
  setErrorHandler?: (newShouldErrorImpl: (fiber: Fiber) => boolean) => void;
@@ -720,28 +738,30 @@ interface ReactRenderer {
720
738
  declare global {
721
739
  var __REACT_DEVTOOLS_GLOBAL_HOOK__: ReactDevToolsGlobalHook | undefined;
722
740
  } //#endregion
723
- //#region src/rdt-hook.d.ts
724
- /**
725
- * Returns `true` if bippy's instrumentation is active.
726
- */
727
- declare const isInstrumentationActive: () => boolean;
728
- /**
729
- * Returns the latest fiber (since it may be double-buffered).
730
- */
741
+ //#region src/unsubscribe.d.ts
731
742
  //#endregion
732
- //#region ../../node_modules/.pnpm/bippy@0.5.43_react@19.2.6/node_modules/bippy/dist/source.d.ts
743
+ //#region ../../node_modules/.pnpm/bippy@0.6.0_react@19.2.6/node_modules/bippy/dist/source.d.ts
733
744
  //#region src/source/parse-stack.d.ts
734
745
  interface StackFrame {
735
746
  args?: unknown[];
736
747
  columnNumber?: number;
737
748
  lineNumber?: number;
749
+ enclosingLineNumber?: number;
750
+ enclosingColumnNumber?: number;
738
751
  fileName?: string;
739
752
  functionName?: string;
740
753
  source?: string;
741
754
  isServer?: boolean;
742
755
  isSymbolicated?: boolean;
756
+ isIgnoreListed?: boolean;
743
757
  }
744
758
  //#endregion
759
+ //#region ../../node_modules/.pnpm/bippy@0.6.0_react@19.2.6/node_modules/bippy/dist/core.d.ts
760
+ /**
761
+ * Returns `true` if bippy's instrumentation is active.
762
+ */
763
+ declare const isInstrumentationActive: () => boolean;
764
+ //#endregion
745
765
  //#region src/utils/copy-content.d.ts
746
766
  interface CopyContentOptions {
747
767
  componentName?: string;
@@ -751,4 +771,4 @@ interface CopyContentOptions {
751
771
  }
752
772
  declare const copyContent: (content: string, options?: CopyContentOptions) => boolean;
753
773
  //#endregion
754
- export { SourceInfo as A, PromptModeContext as C, Rect as D, ReactGrabState as E, ToolbarState as M, SelectedElementPayload as O, Position as S, ReactGrabRendererProps as T, Options as _, ActionContext as a, PluginConfig as b, AgentContext as c, DeepPartial as d, DragRect as f, GrabbedBox as g, ElementSelectedEventDetail as h, isInstrumentationActive as i, Theme as j, SettableOptions as k, ContextMenuAction as l, ElementLabelVariant as m, StackFrame as n, ActionContextHooks as o, ElementLabelContext as p, Fiber as r, ActivationMode as s, copyContent as t, ContextMenuActionContext as u, OverlayBounds as v, ReactGrabAPI as w, PluginHooks as x, Plugin as y };
774
+ export { SettableOptions as A, Position as C, ReactGrabState as D, ReactGrabRendererProps as E, Theme as M, ToolbarState as N, Rect as O, PluginHooks as S, ReactGrabAPI as T, OpenFileActionHooks as _, ActionContext as a, Plugin as b, AgentContext as c, DeepPartial as d, DragRect as f, GrabbedBox as g, ElementSelectedEventDetail as h, Fiber as i, SourceInfo as j, SelectedElementPayload as k, ContextMenuAction as l, ElementLabelVariant as m, isInstrumentationActive as n, ActionContextHooks as o, ElementLabelContext as p, StackFrame as r, ActivationMode as s, copyContent as t, ContextMenuActionContext as u, Options as v, PromptModeContext as w, PluginConfig as x, OverlayBounds as y };
@@ -6,6 +6,8 @@
6
6
  * This source code is licensed under the MIT license found in the
7
7
  * LICENSE file in the root directory of this source tree.
8
8
  */
9
+ import { ReactNode } from "react";
10
+
9
11
  //#region ../../node_modules/.pnpm/solid-js@1.9.12/node_modules/solid-js/types/reactive/observable.d.ts
10
12
  declare global {
11
13
  interface SymbolConstructor {
@@ -138,11 +140,13 @@ interface AgentContext<T = unknown> {
138
140
  sessionId?: string;
139
141
  }
140
142
  type ActivationMode = "toggle" | "hold";
141
- interface ActionContextHooks {
142
- transformHtmlContent: (html: string, elements: Element[]) => Promise<string>;
143
+ interface OpenFileActionHooks {
143
144
  onOpenFile: (filePath: string, lineNumber?: number) => boolean | void;
144
145
  transformOpenFileUrl: (url: string, filePath: string, lineNumber?: number) => string;
145
146
  }
147
+ interface ActionContextHooks extends OpenFileActionHooks {
148
+ transformHtmlContent: (html: string, elements: Element[]) => Promise<string>;
149
+ }
146
150
  interface ActionContext {
147
151
  element: Element;
148
152
  elements: Element[];
@@ -228,14 +232,12 @@ interface PreviewStyles {
228
232
  interface EditPanelState {
229
233
  element: Element;
230
234
  position: Position;
231
- selectionBounds: OverlayBounds;
232
235
  properties: EditableProperty[];
233
236
  preview: PreviewStyles;
234
237
  filePath?: string;
235
238
  lineNumber?: number;
236
239
  componentName?: string;
237
240
  tagName?: string;
238
- htmlPreview?: string;
239
241
  initialSearchQuery?: string;
240
242
  hasSessionEdits?: boolean;
241
243
  designTokens?: DesignTokenResolver;
@@ -260,24 +262,24 @@ interface HierarchyState {
260
262
  activeIndex: number;
261
263
  }
262
264
  interface PluginHooks {
263
- onActivate?: () => void;
264
- onDeactivate?: () => void;
265
- onElementHover?: (element: Element) => void;
265
+ onActivate?: () => void | Promise<void>;
266
+ onDeactivate?: () => void | Promise<void>;
267
+ onElementHover?: (element: Element) => void | Promise<void>;
266
268
  onElementSelect?: (element: Element) => boolean | void | Promise<boolean>;
267
- onDragStart?: (startX: number, startY: number) => void;
268
- onDragEnd?: (elements: Element[], bounds: DragRect) => void;
269
+ onDragStart?: (startX: number, startY: number) => void | Promise<void>;
270
+ onDragEnd?: (elements: Element[], bounds: DragRect) => void | Promise<void>;
269
271
  onBeforeCopy?: (elements: Element[]) => void | Promise<void>;
270
272
  transformCopyContent?: (content: string, elements: Element[]) => string | Promise<string>;
271
- onAfterCopy?: (elements: Element[], success: boolean) => void;
272
- onCopySuccess?: (elements: Element[], content: string) => void;
273
- onCopyError?: (error: Error) => void;
274
- onStateChange?: (state: ReactGrabState) => void;
275
- onPromptModeChange?: (isPromptMode: boolean, context: PromptModeContext) => void;
276
- onSelectionBox?: (visible: boolean, bounds: OverlayBounds | null, element: Element | null) => void;
277
- onDragBox?: (visible: boolean, bounds: OverlayBounds | null) => void;
278
- onGrabbedBox?: (bounds: OverlayBounds, element: Element) => void;
279
- onElementLabel?: (visible: boolean, variant: ElementLabelVariant, context: ElementLabelContext) => void;
280
- onContextMenu?: (element: Element, position: Position) => void;
273
+ onAfterCopy?: (elements: Element[], success: boolean) => void | Promise<void>;
274
+ onCopySuccess?: (elements: Element[], content: string) => void | Promise<void>;
275
+ onCopyError?: (error: Error) => void | Promise<void>;
276
+ onStateChange?: (state: ReactGrabState) => void | Promise<void>;
277
+ onPromptModeChange?: (isPromptMode: boolean, context: PromptModeContext) => void | Promise<void>;
278
+ onSelectionBox?: (visible: boolean, bounds: OverlayBounds | null, element: Element | null) => void | Promise<void>;
279
+ onDragBox?: (visible: boolean, bounds: OverlayBounds | null) => void | Promise<void>;
280
+ onGrabbedBox?: (bounds: OverlayBounds, element: Element) => void | Promise<void>;
281
+ onElementLabel?: (visible: boolean, variant: ElementLabelVariant, context: ElementLabelContext) => void | Promise<void>;
282
+ onContextMenu?: (element: Element, position: Position) => void | Promise<void>;
281
283
  onOpenFile?: (filePath: string, lineNumber?: number) => boolean | void;
282
284
  transformHtmlContent?: (html: string, elements: Element[]) => string | Promise<string>;
283
285
  transformAgentContext?: (context: AgentContext, elements: Element[]) => AgentContext | Promise<AgentContext>;
@@ -289,7 +291,7 @@ interface PluginConfig {
289
291
  options?: SettableOptions;
290
292
  actions?: ContextMenuAction[];
291
293
  hooks?: PluginHooks;
292
- cleanup?: () => void;
294
+ cleanup?: () => undefined;
293
295
  }
294
296
  interface Plugin {
295
297
  name: string;
@@ -432,13 +434,19 @@ interface FrozenLabelEntry {
432
434
  bounds: OverlayBounds;
433
435
  mouseX?: number;
434
436
  }
437
+ interface FrozenLabelEntryAccessor {
438
+ read: () => FrozenLabelEntry | null;
439
+ }
440
+ interface SelectionLabelInstanceAccessor {
441
+ read: () => SelectionLabelInstance | null;
442
+ }
435
443
  interface ReactGrabRendererProps {
436
444
  selectionVisible?: boolean;
437
445
  selectionBounds?: OverlayBounds;
438
446
  selectionBoundsMultiple?: OverlayBounds[];
439
447
  selectionShouldSnap?: boolean;
440
448
  selectionElementsCount?: number;
441
- frozenLabelEntries?: FrozenLabelEntry[];
449
+ frozenLabelEntryAccessors?: FrozenLabelEntryAccessor[];
442
450
  pendingShiftPreviewEntry?: FrozenLabelEntry;
443
451
  selectionFilePath?: string;
444
452
  selectionLineNumber?: number;
@@ -449,6 +457,7 @@ interface ReactGrabRendererProps {
449
457
  hierarchyState?: HierarchyState;
450
458
  hierarchyMenuPosition?: DropdownAnchor | null;
451
459
  labelInstances?: SelectionLabelInstance[];
460
+ labelInstanceAccessors?: SelectionLabelInstanceAccessor[];
452
461
  dragVisible?: boolean;
453
462
  dragBounds?: OverlayBounds;
454
463
  grabbedBoxes?: Array<{
@@ -461,12 +470,15 @@ interface ReactGrabRendererProps {
461
470
  inputValue?: string;
462
471
  isPromptMode?: boolean;
463
472
  onShowContextMenuInstance?: (instanceId: string) => void;
473
+ onRetryInstance?: (instanceId: string) => void;
474
+ onAcknowledgeErrorInstance?: (instanceId: string) => void;
464
475
  onLabelInstanceHoverChange?: (instanceId: string, isHovered: boolean) => void;
465
476
  onInputChange?: (value: string) => void;
466
477
  onInputSubmit?: () => void;
467
478
  onToggleExpand?: () => void;
468
479
  selectionLabelShakeCount?: number;
469
480
  onConfirmDismiss?: () => void;
481
+ onOpenSelectionFile?: () => void;
470
482
  discardPrompt?: SelectionDiscardPrompt;
471
483
  toolbarVisible?: boolean;
472
484
  isActive?: boolean;
@@ -548,7 +560,7 @@ interface ReactGrabEntry {
548
560
  frames?: ReactGrabStackFrame[];
549
561
  }
550
562
  //#endregion
551
- //#region ../../node_modules/.pnpm/bippy@0.5.43_react@19.2.6/node_modules/bippy/dist/core.d.ts
563
+ //#region ../../node_modules/.pnpm/bippy@0.6.0_react@19.2.6/node_modules/bippy/dist/unsubscribe.d.ts
552
564
  type Flags = number;
553
565
  type Lanes = number;
554
566
  type TypeOfMode = number;
@@ -638,6 +650,14 @@ interface Effect {
638
650
  interface Family {
639
651
  current: unknown;
640
652
  }
653
+ /**
654
+ * React 19 flight metadata for a server component owner (ReactComponentInfo).
655
+ * Unlike client owners it has no `tag`; the owner chain continues via `owner`.
656
+ */
657
+ interface RendererRefreshUpdate {
658
+ staleFamilies: Set<Family>;
659
+ updatedFamilies: Set<Family>;
660
+ }
641
661
  /**
642
662
  * Represents a react-internal Fiber node.
643
663
  */
@@ -688,6 +708,7 @@ interface ReactDevToolsGlobalHook {
688
708
  onCommitFiberRoot: (rendererID: number, root: FiberRoot, priority: number | void) => void;
689
709
  onCommitFiberUnmount: (rendererID: number, fiber: Fiber) => void;
690
710
  onPostCommitFiberRoot: (rendererID: number, root: FiberRoot) => void;
711
+ onScheduleFiberRoot?: (rendererID: number, root: FiberRoot, children: ReactNode) => void;
691
712
  renderers: Map<number, ReactRenderer>;
692
713
  supportsFiber: boolean;
693
714
  supportsFlight: boolean;
@@ -706,10 +727,7 @@ interface ReactRenderer {
706
727
  overridePropsRenamePath?: (fiber: Fiber, oldPath: Array<number | string>, newPath: Array<number | string>) => void;
707
728
  reconcilerVersion: string;
708
729
  rendererPackageName: string;
709
- scheduleRefresh?: (root: FiberRoot, update: {
710
- staleFamilies: Set<Family>;
711
- updatedFamilies: Set<Family>;
712
- }) => void;
730
+ scheduleRefresh?: (root: FiberRoot, update: RendererRefreshUpdate) => void;
713
731
  scheduleRoot?: (root: FiberRoot, element: React.ReactNode) => void;
714
732
  scheduleUpdate?: (fiber: Fiber) => void;
715
733
  setErrorHandler?: (newShouldErrorImpl: (fiber: Fiber) => boolean) => void;
@@ -720,28 +738,30 @@ interface ReactRenderer {
720
738
  declare global {
721
739
  var __REACT_DEVTOOLS_GLOBAL_HOOK__: ReactDevToolsGlobalHook | undefined;
722
740
  } //#endregion
723
- //#region src/rdt-hook.d.ts
724
- /**
725
- * Returns `true` if bippy's instrumentation is active.
726
- */
727
- declare const isInstrumentationActive: () => boolean;
728
- /**
729
- * Returns the latest fiber (since it may be double-buffered).
730
- */
741
+ //#region src/unsubscribe.d.ts
731
742
  //#endregion
732
- //#region ../../node_modules/.pnpm/bippy@0.5.43_react@19.2.6/node_modules/bippy/dist/source.d.ts
743
+ //#region ../../node_modules/.pnpm/bippy@0.6.0_react@19.2.6/node_modules/bippy/dist/source.d.ts
733
744
  //#region src/source/parse-stack.d.ts
734
745
  interface StackFrame {
735
746
  args?: unknown[];
736
747
  columnNumber?: number;
737
748
  lineNumber?: number;
749
+ enclosingLineNumber?: number;
750
+ enclosingColumnNumber?: number;
738
751
  fileName?: string;
739
752
  functionName?: string;
740
753
  source?: string;
741
754
  isServer?: boolean;
742
755
  isSymbolicated?: boolean;
756
+ isIgnoreListed?: boolean;
743
757
  }
744
758
  //#endregion
759
+ //#region ../../node_modules/.pnpm/bippy@0.6.0_react@19.2.6/node_modules/bippy/dist/core.d.ts
760
+ /**
761
+ * Returns `true` if bippy's instrumentation is active.
762
+ */
763
+ declare const isInstrumentationActive: () => boolean;
764
+ //#endregion
745
765
  //#region src/utils/copy-content.d.ts
746
766
  interface CopyContentOptions {
747
767
  componentName?: string;
@@ -751,4 +771,4 @@ interface CopyContentOptions {
751
771
  }
752
772
  declare const copyContent: (content: string, options?: CopyContentOptions) => boolean;
753
773
  //#endregion
754
- export { SourceInfo as A, PromptModeContext as C, Rect as D, ReactGrabState as E, ToolbarState as M, SelectedElementPayload as O, Position as S, ReactGrabRendererProps as T, Options as _, ActionContext as a, PluginConfig as b, AgentContext as c, DeepPartial as d, DragRect as f, GrabbedBox as g, ElementSelectedEventDetail as h, isInstrumentationActive as i, Theme as j, SettableOptions as k, ContextMenuAction as l, ElementLabelVariant as m, StackFrame as n, ActionContextHooks as o, ElementLabelContext as p, Fiber as r, ActivationMode as s, copyContent as t, ContextMenuActionContext as u, OverlayBounds as v, ReactGrabAPI as w, PluginHooks as x, Plugin as y };
774
+ export { SettableOptions as A, Position as C, ReactGrabState as D, ReactGrabRendererProps as E, Theme as M, ToolbarState as N, Rect as O, PluginHooks as S, ReactGrabAPI as T, OpenFileActionHooks as _, ActionContext as a, Plugin as b, AgentContext as c, DeepPartial as d, DragRect as f, GrabbedBox as g, ElementSelectedEventDetail as h, Fiber as i, SourceInfo as j, SelectedElementPayload as k, ContextMenuAction as l, ElementLabelVariant as m, isInstrumentationActive as n, ActionContextHooks as o, ElementLabelContext as p, StackFrame as r, ActivationMode as s, copyContent as t, ContextMenuActionContext as u, Options as v, PromptModeContext as w, PluginConfig as x, OverlayBounds as y };
@@ -6,4 +6,4 @@
6
6
  * This source code is licensed under the MIT license found in the
7
7
  * LICENSE file in the root directory of this source tree.
8
8
  */
9
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../core-DiKuJH95.cjs`),t=require(`../freeze-updates-_AW7J5Yx.cjs`),n=require(`../copy-content-BVS7GWGg.cjs`);exports.DEFAULT_THEME=e.a,exports.copyContent=n.t,exports.formatElementInfo=n.n,exports.generateSnippet=e.n,exports.getStack=n.o,exports.init=e.t,exports.isInstrumentationActive=t.A;
9
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../core-CqurQjKv.cjs`),t=require(`../freeze-updates-e3oImtGv.cjs`),n=require(`../open-file-Bs_Cp__2.cjs`);exports.DEFAULT_THEME=e.a,exports.copyContent=n.n,exports.formatElementInfo=n.r,exports.generateSnippet=e.n,exports.getStack=n.s,exports.init=e.t,exports.isInstrumentationActive=t.U;
@@ -6,6 +6,6 @@
6
6
  * This source code is licensed under the MIT license found in the
7
7
  * LICENSE file in the root directory of this source tree.
8
8
  */
9
- import { A as SourceInfo, T as ReactGrabRendererProps, _ as Options, a as ActionContext, b as PluginConfig, c as AgentContext, i as isInstrumentationActive, k as SettableOptions, l as ContextMenuAction, t as copyContent, v as OverlayBounds, w as ReactGrabAPI, x as PluginHooks, y as Plugin } from "../copy-content-BPJ08fM-.cjs";
10
- import { a as getStack, i as formatElementInfo, n as generateSnippet, r as DEFAULT_THEME, t as init } from "../index-CjtwpNJq.cjs";
9
+ import { A as SettableOptions, E as ReactGrabRendererProps, S as PluginHooks, T as ReactGrabAPI, a as ActionContext, b as Plugin, c as AgentContext, j as SourceInfo, l as ContextMenuAction, n as isInstrumentationActive, t as copyContent, v as Options, x as PluginConfig, y as OverlayBounds } from "../copy-content-TZDC2S2A.cjs";
10
+ import { a as getStack, i as formatElementInfo, n as generateSnippet, r as DEFAULT_THEME, t as init } from "../index-DDf5jObx.cjs";
11
11
  export { ActionContext, AgentContext, ContextMenuAction, DEFAULT_THEME, Options, OverlayBounds, Plugin, PluginConfig, PluginHooks, ReactGrabAPI, ReactGrabRendererProps, SettableOptions, SourceInfo, copyContent, formatElementInfo, generateSnippet, getStack, init, isInstrumentationActive };
@@ -6,6 +6,6 @@
6
6
  * This source code is licensed under the MIT license found in the
7
7
  * LICENSE file in the root directory of this source tree.
8
8
  */
9
- import { A as SourceInfo, T as ReactGrabRendererProps, _ as Options, a as ActionContext, b as PluginConfig, c as AgentContext, i as isInstrumentationActive, k as SettableOptions, l as ContextMenuAction, t as copyContent, v as OverlayBounds, w as ReactGrabAPI, x as PluginHooks, y as Plugin } from "../copy-content-tDo_MSv9.js";
10
- import { a as getStack, i as formatElementInfo, n as generateSnippet, r as DEFAULT_THEME, t as init } from "../index-Cx-YnOMQ.js";
9
+ import { A as SettableOptions, E as ReactGrabRendererProps, S as PluginHooks, T as ReactGrabAPI, a as ActionContext, b as Plugin, c as AgentContext, j as SourceInfo, l as ContextMenuAction, n as isInstrumentationActive, t as copyContent, v as Options, x as PluginConfig, y as OverlayBounds } from "../copy-content-3sDfOP1b.js";
10
+ import { a as getStack, i as formatElementInfo, n as generateSnippet, r as DEFAULT_THEME, t as init } from "../index-DWvC_uKW.js";
11
11
  export { ActionContext, AgentContext, ContextMenuAction, DEFAULT_THEME, Options, OverlayBounds, Plugin, PluginConfig, PluginHooks, ReactGrabAPI, ReactGrabRendererProps, SettableOptions, SourceInfo, copyContent, formatElementInfo, generateSnippet, getStack, init, isInstrumentationActive };
@@ -6,4 +6,4 @@
6
6
  * This source code is licensed under the MIT license found in the
7
7
  * LICENSE file in the root directory of this source tree.
8
8
  */
9
- import{a as e,n as t,t as n}from"../core-ClWQzJeD.js";import{A as r}from"../freeze-updates-CmRqKCkV.js";import{n as i,o as a,t as o}from"../copy-content-BTtSCJ8G.js";export{e as DEFAULT_THEME,o as copyContent,i as formatElementInfo,t as generateSnippet,a as getStack,n as init,r as isInstrumentationActive};
9
+ import{a as e,n as t,t as n}from"../core-Dnep0R1B.js";import{U as r}from"../freeze-updates-DxicqdcW.js";import{n as i,r as a,s as o}from"../open-file-BxL2-tRx.js";export{e as DEFAULT_THEME,i as copyContent,a as formatElementInfo,t as generateSnippet,o as getStack,n as init,r as isInstrumentationActive};