react-grab 0.1.48-dev.f29c951 → 0.1.48-dev.f577d13

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-B4Bw8Gfr.d.ts → copy-content-CNRKFr6F.d.ts} +65 -36
  3. package/dist/{copy-content-Bd0tq7-s.d.cts → copy-content-CtYUWe5l.d.cts} +65 -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-DgF3qVtB.js +14 -0
  9. package/dist/core-J3m6cGlk.cjs +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-eGRDIgp0.cjs +9 -0
  13. package/dist/execute-context-menu-action-kuPhfywz.js +9 -0
  14. package/dist/freeze-updates-aiiZsFRY.cjs +52 -0
  15. package/dist/freeze-updates-wcWe3hcj.js +52 -0
  16. package/dist/{index-C8KX_pE5.d.cts → index-BgTe-uWs.d.cts} +1 -1
  17. package/dist/{index-ColaCMun.d.ts → index-CdWMNcJF.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-Bsq_ZOwl.js +29 -0
  24. package/dist/open-file-xgTFgt9L.cjs +20 -0
  25. package/dist/primitives.cjs +2 -2
  26. package/dist/primitives.d.cts +41 -2
  27. package/dist/primitives.d.ts +41 -2
  28. package/dist/primitives.js +2 -2
  29. package/dist/renderer-CuYoQbMY.js +9 -0
  30. package/dist/renderer-XgP2IUMb.cjs +9 -0
  31. package/package.json +10 -4
  32. package/dist/copy-content-Brp9zcvw.cjs +0 -10
  33. package/dist/copy-content-DyrCZQcZ.js +0 -10
  34. package/dist/core-Br3ybht6.js +0 -14
  35. package/dist/core-DZuBh2fo.cjs +0 -14
  36. package/dist/create-pointer-move-prompt-handoff-CT65-51W.js +0 -9
  37. package/dist/create-pointer-move-prompt-handoff-jPQocaH4.cjs +0 -9
  38. package/dist/freeze-updates-C_IhYDHN.cjs +0 -51
  39. package/dist/freeze-updates-mmaoTEZQ.js +0 -51
  40. package/dist/renderer-DZGgt-RV.js +0 -9
  41. package/dist/renderer-OHO3IThO.cjs +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 {
@@ -23,6 +25,17 @@ interface Position {
23
25
  x: number;
24
26
  y: number;
25
27
  }
28
+ interface ElementAtPointOptions {
29
+ container?: Element;
30
+ filter?: (element: Element) => boolean;
31
+ }
32
+ interface ElementBounds {
33
+ x: number;
34
+ y: number;
35
+ width: number;
36
+ height: number;
37
+ borderRadius: string;
38
+ }
26
39
  type DeepPartial<T> = { [P in keyof T]?: T[P] extends object ? T[P] extends ((...args: unknown[]) => unknown) ? T[P] : DeepPartial<T[P]> : T[P] };
27
40
  interface Theme {
28
41
  /**
@@ -138,11 +151,13 @@ interface AgentContext<T = unknown> {
138
151
  sessionId?: string;
139
152
  }
140
153
  type ActivationMode = "toggle" | "hold";
141
- interface ActionContextHooks {
142
- transformHtmlContent: (html: string, elements: Element[]) => Promise<string>;
154
+ interface OpenFileActionHooks {
143
155
  onOpenFile: (filePath: string, lineNumber?: number) => boolean | void;
144
156
  transformOpenFileUrl: (url: string, filePath: string, lineNumber?: number) => string;
145
157
  }
158
+ interface ActionContextHooks extends OpenFileActionHooks {
159
+ transformHtmlContent: (html: string, elements: Element[]) => Promise<string>;
160
+ }
146
161
  interface ActionContext {
147
162
  element: Element;
148
163
  elements: Element[];
@@ -228,14 +243,12 @@ interface PreviewStyles {
228
243
  interface EditPanelState {
229
244
  element: Element;
230
245
  position: Position;
231
- selectionBounds: OverlayBounds;
232
246
  properties: EditableProperty[];
233
247
  preview: PreviewStyles;
234
248
  filePath?: string;
235
249
  lineNumber?: number;
236
250
  componentName?: string;
237
251
  tagName?: string;
238
- htmlPreview?: string;
239
252
  initialSearchQuery?: string;
240
253
  hasSessionEdits?: boolean;
241
254
  designTokens?: DesignTokenResolver;
@@ -260,24 +273,24 @@ interface HierarchyState {
260
273
  activeIndex: number;
261
274
  }
262
275
  interface PluginHooks {
263
- onActivate?: () => void;
264
- onDeactivate?: () => void;
265
- onElementHover?: (element: Element) => void;
276
+ onActivate?: () => void | Promise<void>;
277
+ onDeactivate?: () => void | Promise<void>;
278
+ onElementHover?: (element: Element) => void | Promise<void>;
266
279
  onElementSelect?: (element: Element) => boolean | void | Promise<boolean>;
267
- onDragStart?: (startX: number, startY: number) => void;
268
- onDragEnd?: (elements: Element[], bounds: DragRect) => void;
280
+ onDragStart?: (startX: number, startY: number) => void | Promise<void>;
281
+ onDragEnd?: (elements: Element[], bounds: DragRect) => void | Promise<void>;
269
282
  onBeforeCopy?: (elements: Element[]) => void | Promise<void>;
270
283
  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;
284
+ onAfterCopy?: (elements: Element[], success: boolean) => void | Promise<void>;
285
+ onCopySuccess?: (elements: Element[], content: string) => void | Promise<void>;
286
+ onCopyError?: (error: Error) => void | Promise<void>;
287
+ onStateChange?: (state: ReactGrabState) => void | Promise<void>;
288
+ onPromptModeChange?: (isPromptMode: boolean, context: PromptModeContext) => void | Promise<void>;
289
+ onSelectionBox?: (visible: boolean, bounds: OverlayBounds | null, element: Element | null) => void | Promise<void>;
290
+ onDragBox?: (visible: boolean, bounds: OverlayBounds | null) => void | Promise<void>;
291
+ onGrabbedBox?: (bounds: OverlayBounds, element: Element) => void | Promise<void>;
292
+ onElementLabel?: (visible: boolean, variant: ElementLabelVariant, context: ElementLabelContext) => void | Promise<void>;
293
+ onContextMenu?: (element: Element, position: Position) => void | Promise<void>;
281
294
  onOpenFile?: (filePath: string, lineNumber?: number) => boolean | void;
282
295
  transformHtmlContent?: (html: string, elements: Element[]) => string | Promise<string>;
283
296
  transformAgentContext?: (context: AgentContext, elements: Element[]) => AgentContext | Promise<AgentContext>;
@@ -289,7 +302,7 @@ interface PluginConfig {
289
302
  options?: SettableOptions;
290
303
  actions?: ContextMenuAction[];
291
304
  hooks?: PluginHooks;
292
- cleanup?: () => void;
305
+ cleanup?: () => undefined;
293
306
  }
294
307
  interface Plugin {
295
308
  name: string;
@@ -432,13 +445,19 @@ interface FrozenLabelEntry {
432
445
  bounds: OverlayBounds;
433
446
  mouseX?: number;
434
447
  }
448
+ interface FrozenLabelEntryAccessor {
449
+ read: () => FrozenLabelEntry | null;
450
+ }
451
+ interface SelectionLabelInstanceAccessor {
452
+ read: () => SelectionLabelInstance | null;
453
+ }
435
454
  interface ReactGrabRendererProps {
436
455
  selectionVisible?: boolean;
437
456
  selectionBounds?: OverlayBounds;
438
457
  selectionBoundsMultiple?: OverlayBounds[];
439
458
  selectionShouldSnap?: boolean;
440
459
  selectionElementsCount?: number;
441
- frozenLabelEntries?: FrozenLabelEntry[];
460
+ frozenLabelEntryAccessors?: FrozenLabelEntryAccessor[];
442
461
  pendingShiftPreviewEntry?: FrozenLabelEntry;
443
462
  selectionFilePath?: string;
444
463
  selectionLineNumber?: number;
@@ -449,6 +468,7 @@ interface ReactGrabRendererProps {
449
468
  hierarchyState?: HierarchyState;
450
469
  hierarchyMenuPosition?: DropdownAnchor | null;
451
470
  labelInstances?: SelectionLabelInstance[];
471
+ labelInstanceAccessors?: SelectionLabelInstanceAccessor[];
452
472
  dragVisible?: boolean;
453
473
  dragBounds?: OverlayBounds;
454
474
  grabbedBoxes?: Array<{
@@ -469,6 +489,7 @@ interface ReactGrabRendererProps {
469
489
  onToggleExpand?: () => void;
470
490
  selectionLabelShakeCount?: number;
471
491
  onConfirmDismiss?: () => void;
492
+ onOpenSelectionFile?: () => void;
472
493
  discardPrompt?: SelectionDiscardPrompt;
473
494
  toolbarVisible?: boolean;
474
495
  isActive?: boolean;
@@ -550,7 +571,7 @@ interface ReactGrabEntry {
550
571
  frames?: ReactGrabStackFrame[];
551
572
  }
552
573
  //#endregion
553
- //#region ../../node_modules/.pnpm/bippy@0.5.43_react@19.2.6/node_modules/bippy/dist/core.d.ts
574
+ //#region ../../node_modules/.pnpm/bippy@0.6.0_react@19.2.6/node_modules/bippy/dist/unsubscribe.d.ts
554
575
  type Flags = number;
555
576
  type Lanes = number;
556
577
  type TypeOfMode = number;
@@ -640,6 +661,14 @@ interface Effect {
640
661
  interface Family {
641
662
  current: unknown;
642
663
  }
664
+ /**
665
+ * React 19 flight metadata for a server component owner (ReactComponentInfo).
666
+ * Unlike client owners it has no `tag`; the owner chain continues via `owner`.
667
+ */
668
+ interface RendererRefreshUpdate {
669
+ staleFamilies: Set<Family>;
670
+ updatedFamilies: Set<Family>;
671
+ }
643
672
  /**
644
673
  * Represents a react-internal Fiber node.
645
674
  */
@@ -690,6 +719,7 @@ interface ReactDevToolsGlobalHook {
690
719
  onCommitFiberRoot: (rendererID: number, root: FiberRoot, priority: number | void) => void;
691
720
  onCommitFiberUnmount: (rendererID: number, fiber: Fiber) => void;
692
721
  onPostCommitFiberRoot: (rendererID: number, root: FiberRoot) => void;
722
+ onScheduleFiberRoot?: (rendererID: number, root: FiberRoot, children: ReactNode) => void;
693
723
  renderers: Map<number, ReactRenderer>;
694
724
  supportsFiber: boolean;
695
725
  supportsFlight: boolean;
@@ -708,10 +738,7 @@ interface ReactRenderer {
708
738
  overridePropsRenamePath?: (fiber: Fiber, oldPath: Array<number | string>, newPath: Array<number | string>) => void;
709
739
  reconcilerVersion: string;
710
740
  rendererPackageName: string;
711
- scheduleRefresh?: (root: FiberRoot, update: {
712
- staleFamilies: Set<Family>;
713
- updatedFamilies: Set<Family>;
714
- }) => void;
741
+ scheduleRefresh?: (root: FiberRoot, update: RendererRefreshUpdate) => void;
715
742
  scheduleRoot?: (root: FiberRoot, element: React.ReactNode) => void;
716
743
  scheduleUpdate?: (fiber: Fiber) => void;
717
744
  setErrorHandler?: (newShouldErrorImpl: (fiber: Fiber) => boolean) => void;
@@ -722,28 +749,30 @@ interface ReactRenderer {
722
749
  declare global {
723
750
  var __REACT_DEVTOOLS_GLOBAL_HOOK__: ReactDevToolsGlobalHook | undefined;
724
751
  } //#endregion
725
- //#region src/rdt-hook.d.ts
726
- /**
727
- * Returns `true` if bippy's instrumentation is active.
728
- */
729
- declare const isInstrumentationActive: () => boolean;
730
- /**
731
- * Returns the latest fiber (since it may be double-buffered).
732
- */
752
+ //#region src/unsubscribe.d.ts
733
753
  //#endregion
734
- //#region ../../node_modules/.pnpm/bippy@0.5.43_react@19.2.6/node_modules/bippy/dist/source.d.ts
754
+ //#region ../../node_modules/.pnpm/bippy@0.6.0_react@19.2.6/node_modules/bippy/dist/source.d.ts
735
755
  //#region src/source/parse-stack.d.ts
736
756
  interface StackFrame {
737
757
  args?: unknown[];
738
758
  columnNumber?: number;
739
759
  lineNumber?: number;
760
+ enclosingLineNumber?: number;
761
+ enclosingColumnNumber?: number;
740
762
  fileName?: string;
741
763
  functionName?: string;
742
764
  source?: string;
743
765
  isServer?: boolean;
744
766
  isSymbolicated?: boolean;
767
+ isIgnoreListed?: boolean;
745
768
  }
746
769
  //#endregion
770
+ //#region ../../node_modules/.pnpm/bippy@0.6.0_react@19.2.6/node_modules/bippy/dist/core.d.ts
771
+ /**
772
+ * Returns `true` if bippy's instrumentation is active.
773
+ */
774
+ declare const isInstrumentationActive: () => boolean;
775
+ //#endregion
747
776
  //#region src/utils/copy-content.d.ts
748
777
  interface CopyContentOptions {
749
778
  componentName?: string;
@@ -753,4 +782,4 @@ interface CopyContentOptions {
753
782
  }
754
783
  declare const copyContent: (content: string, options?: CopyContentOptions) => boolean;
755
784
  //#endregion
756
- 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 };
785
+ export { Rect as A, PluginConfig as C, ReactGrabAPI as D, PromptModeContext as E, ToolbarState as F, SettableOptions as M, SourceInfo as N, ReactGrabRendererProps as O, Theme as P, Plugin as S, Position as T, ElementSelectedEventDetail as _, ActionContext as a, Options as b, AgentContext as c, DeepPartial as d, DragRect as f, ElementLabelVariant as g, ElementLabelContext as h, Fiber as i, SelectedElementPayload as j, ReactGrabState as k, ContextMenuAction as l, ElementBounds as m, isInstrumentationActive as n, ActionContextHooks as o, ElementAtPointOptions as p, StackFrame as r, ActivationMode as s, copyContent as t, ContextMenuActionContext as u, GrabbedBox as v, PluginHooks as w, OverlayBounds as x, OpenFileActionHooks 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 {
@@ -23,6 +25,17 @@ interface Position {
23
25
  x: number;
24
26
  y: number;
25
27
  }
28
+ interface ElementAtPointOptions {
29
+ container?: Element;
30
+ filter?: (element: Element) => boolean;
31
+ }
32
+ interface ElementBounds {
33
+ x: number;
34
+ y: number;
35
+ width: number;
36
+ height: number;
37
+ borderRadius: string;
38
+ }
26
39
  type DeepPartial<T> = { [P in keyof T]?: T[P] extends object ? T[P] extends ((...args: unknown[]) => unknown) ? T[P] : DeepPartial<T[P]> : T[P] };
27
40
  interface Theme {
28
41
  /**
@@ -138,11 +151,13 @@ interface AgentContext<T = unknown> {
138
151
  sessionId?: string;
139
152
  }
140
153
  type ActivationMode = "toggle" | "hold";
141
- interface ActionContextHooks {
142
- transformHtmlContent: (html: string, elements: Element[]) => Promise<string>;
154
+ interface OpenFileActionHooks {
143
155
  onOpenFile: (filePath: string, lineNumber?: number) => boolean | void;
144
156
  transformOpenFileUrl: (url: string, filePath: string, lineNumber?: number) => string;
145
157
  }
158
+ interface ActionContextHooks extends OpenFileActionHooks {
159
+ transformHtmlContent: (html: string, elements: Element[]) => Promise<string>;
160
+ }
146
161
  interface ActionContext {
147
162
  element: Element;
148
163
  elements: Element[];
@@ -228,14 +243,12 @@ interface PreviewStyles {
228
243
  interface EditPanelState {
229
244
  element: Element;
230
245
  position: Position;
231
- selectionBounds: OverlayBounds;
232
246
  properties: EditableProperty[];
233
247
  preview: PreviewStyles;
234
248
  filePath?: string;
235
249
  lineNumber?: number;
236
250
  componentName?: string;
237
251
  tagName?: string;
238
- htmlPreview?: string;
239
252
  initialSearchQuery?: string;
240
253
  hasSessionEdits?: boolean;
241
254
  designTokens?: DesignTokenResolver;
@@ -260,24 +273,24 @@ interface HierarchyState {
260
273
  activeIndex: number;
261
274
  }
262
275
  interface PluginHooks {
263
- onActivate?: () => void;
264
- onDeactivate?: () => void;
265
- onElementHover?: (element: Element) => void;
276
+ onActivate?: () => void | Promise<void>;
277
+ onDeactivate?: () => void | Promise<void>;
278
+ onElementHover?: (element: Element) => void | Promise<void>;
266
279
  onElementSelect?: (element: Element) => boolean | void | Promise<boolean>;
267
- onDragStart?: (startX: number, startY: number) => void;
268
- onDragEnd?: (elements: Element[], bounds: DragRect) => void;
280
+ onDragStart?: (startX: number, startY: number) => void | Promise<void>;
281
+ onDragEnd?: (elements: Element[], bounds: DragRect) => void | Promise<void>;
269
282
  onBeforeCopy?: (elements: Element[]) => void | Promise<void>;
270
283
  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;
284
+ onAfterCopy?: (elements: Element[], success: boolean) => void | Promise<void>;
285
+ onCopySuccess?: (elements: Element[], content: string) => void | Promise<void>;
286
+ onCopyError?: (error: Error) => void | Promise<void>;
287
+ onStateChange?: (state: ReactGrabState) => void | Promise<void>;
288
+ onPromptModeChange?: (isPromptMode: boolean, context: PromptModeContext) => void | Promise<void>;
289
+ onSelectionBox?: (visible: boolean, bounds: OverlayBounds | null, element: Element | null) => void | Promise<void>;
290
+ onDragBox?: (visible: boolean, bounds: OverlayBounds | null) => void | Promise<void>;
291
+ onGrabbedBox?: (bounds: OverlayBounds, element: Element) => void | Promise<void>;
292
+ onElementLabel?: (visible: boolean, variant: ElementLabelVariant, context: ElementLabelContext) => void | Promise<void>;
293
+ onContextMenu?: (element: Element, position: Position) => void | Promise<void>;
281
294
  onOpenFile?: (filePath: string, lineNumber?: number) => boolean | void;
282
295
  transformHtmlContent?: (html: string, elements: Element[]) => string | Promise<string>;
283
296
  transformAgentContext?: (context: AgentContext, elements: Element[]) => AgentContext | Promise<AgentContext>;
@@ -289,7 +302,7 @@ interface PluginConfig {
289
302
  options?: SettableOptions;
290
303
  actions?: ContextMenuAction[];
291
304
  hooks?: PluginHooks;
292
- cleanup?: () => void;
305
+ cleanup?: () => undefined;
293
306
  }
294
307
  interface Plugin {
295
308
  name: string;
@@ -432,13 +445,19 @@ interface FrozenLabelEntry {
432
445
  bounds: OverlayBounds;
433
446
  mouseX?: number;
434
447
  }
448
+ interface FrozenLabelEntryAccessor {
449
+ read: () => FrozenLabelEntry | null;
450
+ }
451
+ interface SelectionLabelInstanceAccessor {
452
+ read: () => SelectionLabelInstance | null;
453
+ }
435
454
  interface ReactGrabRendererProps {
436
455
  selectionVisible?: boolean;
437
456
  selectionBounds?: OverlayBounds;
438
457
  selectionBoundsMultiple?: OverlayBounds[];
439
458
  selectionShouldSnap?: boolean;
440
459
  selectionElementsCount?: number;
441
- frozenLabelEntries?: FrozenLabelEntry[];
460
+ frozenLabelEntryAccessors?: FrozenLabelEntryAccessor[];
442
461
  pendingShiftPreviewEntry?: FrozenLabelEntry;
443
462
  selectionFilePath?: string;
444
463
  selectionLineNumber?: number;
@@ -449,6 +468,7 @@ interface ReactGrabRendererProps {
449
468
  hierarchyState?: HierarchyState;
450
469
  hierarchyMenuPosition?: DropdownAnchor | null;
451
470
  labelInstances?: SelectionLabelInstance[];
471
+ labelInstanceAccessors?: SelectionLabelInstanceAccessor[];
452
472
  dragVisible?: boolean;
453
473
  dragBounds?: OverlayBounds;
454
474
  grabbedBoxes?: Array<{
@@ -469,6 +489,7 @@ interface ReactGrabRendererProps {
469
489
  onToggleExpand?: () => void;
470
490
  selectionLabelShakeCount?: number;
471
491
  onConfirmDismiss?: () => void;
492
+ onOpenSelectionFile?: () => void;
472
493
  discardPrompt?: SelectionDiscardPrompt;
473
494
  toolbarVisible?: boolean;
474
495
  isActive?: boolean;
@@ -550,7 +571,7 @@ interface ReactGrabEntry {
550
571
  frames?: ReactGrabStackFrame[];
551
572
  }
552
573
  //#endregion
553
- //#region ../../node_modules/.pnpm/bippy@0.5.43_react@19.2.6/node_modules/bippy/dist/core.d.ts
574
+ //#region ../../node_modules/.pnpm/bippy@0.6.0_react@19.2.6/node_modules/bippy/dist/unsubscribe.d.ts
554
575
  type Flags = number;
555
576
  type Lanes = number;
556
577
  type TypeOfMode = number;
@@ -640,6 +661,14 @@ interface Effect {
640
661
  interface Family {
641
662
  current: unknown;
642
663
  }
664
+ /**
665
+ * React 19 flight metadata for a server component owner (ReactComponentInfo).
666
+ * Unlike client owners it has no `tag`; the owner chain continues via `owner`.
667
+ */
668
+ interface RendererRefreshUpdate {
669
+ staleFamilies: Set<Family>;
670
+ updatedFamilies: Set<Family>;
671
+ }
643
672
  /**
644
673
  * Represents a react-internal Fiber node.
645
674
  */
@@ -690,6 +719,7 @@ interface ReactDevToolsGlobalHook {
690
719
  onCommitFiberRoot: (rendererID: number, root: FiberRoot, priority: number | void) => void;
691
720
  onCommitFiberUnmount: (rendererID: number, fiber: Fiber) => void;
692
721
  onPostCommitFiberRoot: (rendererID: number, root: FiberRoot) => void;
722
+ onScheduleFiberRoot?: (rendererID: number, root: FiberRoot, children: ReactNode) => void;
693
723
  renderers: Map<number, ReactRenderer>;
694
724
  supportsFiber: boolean;
695
725
  supportsFlight: boolean;
@@ -708,10 +738,7 @@ interface ReactRenderer {
708
738
  overridePropsRenamePath?: (fiber: Fiber, oldPath: Array<number | string>, newPath: Array<number | string>) => void;
709
739
  reconcilerVersion: string;
710
740
  rendererPackageName: string;
711
- scheduleRefresh?: (root: FiberRoot, update: {
712
- staleFamilies: Set<Family>;
713
- updatedFamilies: Set<Family>;
714
- }) => void;
741
+ scheduleRefresh?: (root: FiberRoot, update: RendererRefreshUpdate) => void;
715
742
  scheduleRoot?: (root: FiberRoot, element: React.ReactNode) => void;
716
743
  scheduleUpdate?: (fiber: Fiber) => void;
717
744
  setErrorHandler?: (newShouldErrorImpl: (fiber: Fiber) => boolean) => void;
@@ -722,28 +749,30 @@ interface ReactRenderer {
722
749
  declare global {
723
750
  var __REACT_DEVTOOLS_GLOBAL_HOOK__: ReactDevToolsGlobalHook | undefined;
724
751
  } //#endregion
725
- //#region src/rdt-hook.d.ts
726
- /**
727
- * Returns `true` if bippy's instrumentation is active.
728
- */
729
- declare const isInstrumentationActive: () => boolean;
730
- /**
731
- * Returns the latest fiber (since it may be double-buffered).
732
- */
752
+ //#region src/unsubscribe.d.ts
733
753
  //#endregion
734
- //#region ../../node_modules/.pnpm/bippy@0.5.43_react@19.2.6/node_modules/bippy/dist/source.d.ts
754
+ //#region ../../node_modules/.pnpm/bippy@0.6.0_react@19.2.6/node_modules/bippy/dist/source.d.ts
735
755
  //#region src/source/parse-stack.d.ts
736
756
  interface StackFrame {
737
757
  args?: unknown[];
738
758
  columnNumber?: number;
739
759
  lineNumber?: number;
760
+ enclosingLineNumber?: number;
761
+ enclosingColumnNumber?: number;
740
762
  fileName?: string;
741
763
  functionName?: string;
742
764
  source?: string;
743
765
  isServer?: boolean;
744
766
  isSymbolicated?: boolean;
767
+ isIgnoreListed?: boolean;
745
768
  }
746
769
  //#endregion
770
+ //#region ../../node_modules/.pnpm/bippy@0.6.0_react@19.2.6/node_modules/bippy/dist/core.d.ts
771
+ /**
772
+ * Returns `true` if bippy's instrumentation is active.
773
+ */
774
+ declare const isInstrumentationActive: () => boolean;
775
+ //#endregion
747
776
  //#region src/utils/copy-content.d.ts
748
777
  interface CopyContentOptions {
749
778
  componentName?: string;
@@ -753,4 +782,4 @@ interface CopyContentOptions {
753
782
  }
754
783
  declare const copyContent: (content: string, options?: CopyContentOptions) => boolean;
755
784
  //#endregion
756
- 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 };
785
+ export { Rect as A, PluginConfig as C, ReactGrabAPI as D, PromptModeContext as E, ToolbarState as F, SettableOptions as M, SourceInfo as N, ReactGrabRendererProps as O, Theme as P, Plugin as S, Position as T, ElementSelectedEventDetail as _, ActionContext as a, Options as b, AgentContext as c, DeepPartial as d, DragRect as f, ElementLabelVariant as g, ElementLabelContext as h, Fiber as i, SelectedElementPayload as j, ReactGrabState as k, ContextMenuAction as l, ElementBounds as m, isInstrumentationActive as n, ActionContextHooks as o, ElementAtPointOptions as p, StackFrame as r, ActivationMode as s, copyContent as t, ContextMenuActionContext as u, GrabbedBox as v, PluginHooks as w, OverlayBounds as x, OpenFileActionHooks 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-DZuBh2fo.cjs`),t=require(`../freeze-updates-C_IhYDHN.cjs`),n=require(`../copy-content-Brp9zcvw.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-J3m6cGlk.cjs`),t=require(`../freeze-updates-aiiZsFRY.cjs`),n=require(`../open-file-xgTFgt9L.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-Bd0tq7-s.cjs";
10
- import { a as getStack, i as formatElementInfo, n as generateSnippet, r as DEFAULT_THEME, t as init } from "../index-C8KX_pE5.cjs";
9
+ import { C as PluginConfig, D as ReactGrabAPI, M as SettableOptions, N as SourceInfo, O as ReactGrabRendererProps, S as Plugin, a as ActionContext, b as Options, c as AgentContext, l as ContextMenuAction, n as isInstrumentationActive, t as copyContent, w as PluginHooks, x as OverlayBounds } from "../copy-content-CtYUWe5l.cjs";
10
+ import { a as getStack, i as formatElementInfo, n as generateSnippet, r as DEFAULT_THEME, t as init } from "../index-BgTe-uWs.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-B4Bw8Gfr.js";
10
- import { a as getStack, i as formatElementInfo, n as generateSnippet, r as DEFAULT_THEME, t as init } from "../index-ColaCMun.js";
9
+ import { C as PluginConfig, D as ReactGrabAPI, M as SettableOptions, N as SourceInfo, O as ReactGrabRendererProps, S as Plugin, a as ActionContext, b as Options, c as AgentContext, l as ContextMenuAction, n as isInstrumentationActive, t as copyContent, w as PluginHooks, x as OverlayBounds } from "../copy-content-CNRKFr6F.js";
10
+ import { a as getStack, i as formatElementInfo, n as generateSnippet, r as DEFAULT_THEME, t as init } from "../index-CdWMNcJF.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-Br3ybht6.js";import{A as r}from"../freeze-updates-mmaoTEZQ.js";import{n as i,o as a,t as o}from"../copy-content-DyrCZQcZ.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-DgF3qVtB.js";import{U as r}from"../freeze-updates-wcWe3hcj.js";import{n as i,r as a,s as o}from"../open-file-Bsq_ZOwl.js";export{e as DEFAULT_THEME,i as copyContent,a as formatElementInfo,t as generateSnippet,o as getStack,n as init,r as isInstrumentationActive};