grab 0.0.90 → 0.0.92

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.
@@ -65,6 +65,16 @@ interface Theme {
65
65
  */
66
66
  enabled?: boolean;
67
67
  };
68
+ /**
69
+ * The floating dock that allows toggling React Grab activation
70
+ */
71
+ dock?: {
72
+ /**
73
+ * Whether to show the dock
74
+ * @default true
75
+ */
76
+ enabled?: boolean;
77
+ };
68
78
  }
69
79
  interface ReactGrabState {
70
80
  isActive: boolean;
@@ -97,7 +107,7 @@ interface ActivationKey {
97
107
  altKey?: boolean;
98
108
  }
99
109
  interface AgentContext<T = unknown> {
100
- content: string;
110
+ content: string[];
101
111
  prompt: string;
102
112
  options?: T;
103
113
  sessionId?: string;
@@ -113,7 +123,7 @@ interface AgentSession {
113
123
  x: number;
114
124
  y: number;
115
125
  };
116
- selectionBounds?: OverlayBounds;
126
+ selectionBounds: OverlayBounds[];
117
127
  tagName?: string;
118
128
  componentName?: string;
119
129
  error?: string;
@@ -128,6 +138,9 @@ interface AgentProvider<T = any> {
128
138
  checkConnection?: () => Promise<boolean>;
129
139
  getCompletionMessage?: () => string | undefined;
130
140
  undo?: () => Promise<void>;
141
+ canUndo?: () => boolean;
142
+ redo?: () => Promise<void>;
143
+ canRedo?: () => boolean;
131
144
  }
132
145
  interface AgentSessionStorage {
133
146
  getItem(key: string): string | null;
@@ -141,13 +154,14 @@ interface AgentOptions<T = any> {
141
154
  provider?: AgentProvider<T>;
142
155
  storage?: AgentSessionStorage | null;
143
156
  getOptions?: () => T;
144
- onStart?: (session: AgentSession, element: Element | undefined) => void;
157
+ onStart?: (session: AgentSession, elements: Element[]) => void;
145
158
  onStatus?: (status: string, session: AgentSession) => void;
146
- onComplete?: (session: AgentSession, element: Element | undefined) => AgentCompleteResult | void | Promise<AgentCompleteResult | void>;
159
+ onComplete?: (session: AgentSession, elements: Element[]) => AgentCompleteResult | void | Promise<AgentCompleteResult | void>;
147
160
  onError?: (error: Error, session: AgentSession) => void;
148
161
  onResume?: (session: AgentSession) => void;
149
- onAbort?: (session: AgentSession, element: Element | undefined) => void;
150
- onUndo?: (session: AgentSession, element: Element | undefined) => void;
162
+ onAbort?: (session: AgentSession, elements: Element[]) => void;
163
+ onUndo?: (session: AgentSession, elements: Element[]) => void;
164
+ onDismiss?: (session: AgentSession, elements: Element[]) => void;
151
165
  }
152
166
  type ActivationMode = "toggle" | "hold";
153
167
  interface Options {
@@ -180,26 +194,7 @@ interface Options {
180
194
  onOpenFile?: (filePath: string, lineNumber?: number) => void;
181
195
  agent?: AgentOptions;
182
196
  }
183
- interface UpdatableOptions {
184
- onActivate?: () => void;
185
- onDeactivate?: () => void;
186
- onElementHover?: (element: Element) => void;
187
- onElementSelect?: (element: Element) => void;
188
- onDragStart?: (startX: number, startY: number) => void;
189
- onDragEnd?: (elements: Element[], bounds: DragRect) => void;
190
- onBeforeCopy?: (elements: Element[]) => void | Promise<void>;
191
- onAfterCopy?: (elements: Element[], success: boolean) => void;
192
- onCopySuccess?: (elements: Element[], content: string) => void;
193
- onCopyError?: (error: Error) => void;
194
- onStateChange?: (state: ReactGrabState) => void;
195
- onInputModeChange?: (isInputMode: boolean, context: InputModeContext) => void;
196
- onSelectionBox?: (visible: boolean, bounds: OverlayBounds | null, element: Element | null) => void;
197
- onDragBox?: (visible: boolean, bounds: OverlayBounds | null) => void;
198
- onGrabbedBox?: (bounds: OverlayBounds, element: Element) => void;
199
- onElementLabel?: (visible: boolean, variant: ElementLabelVariant, context: ElementLabelContext) => void;
200
- onCrosshair?: (visible: boolean, context: CrosshairContext) => void;
201
- onOpenFile?: (filePath: string, lineNumber?: number) => void;
202
- }
197
+ type UpdatableOptions = Pick<Options, "onActivate" | "onDeactivate" | "onElementHover" | "onElementSelect" | "onDragStart" | "onDragEnd" | "onBeforeCopy" | "onAfterCopy" | "onCopySuccess" | "onCopyError" | "onStateChange" | "onInputModeChange" | "onSelectionBox" | "onDragBox" | "onGrabbedBox" | "onElementLabel" | "onCrosshair" | "onOpenFile">;
203
198
  interface ReactGrabAPI {
204
199
  activate: () => void;
205
200
  deactivate: () => void;
@@ -235,6 +230,8 @@ interface SelectionLabelInstance {
235
230
  interface ReactGrabRendererProps {
236
231
  selectionVisible?: boolean;
237
232
  selectionBounds?: OverlayBounds;
233
+ selectionBoundsMultiple?: OverlayBounds[];
234
+ selectionElementsCount?: number;
238
235
  selectionFilePath?: string;
239
236
  selectionLineNumber?: number;
240
237
  selectionTagName?: string;
@@ -254,7 +251,7 @@ interface ReactGrabRendererProps {
254
251
  mouseY?: number;
255
252
  crosshairVisible?: boolean;
256
253
  inputValue?: string;
257
- isInputExpanded?: boolean;
254
+ isInputMode?: boolean;
258
255
  replyToPrompt?: string;
259
256
  hasAgent?: boolean;
260
257
  isAgentConnected?: boolean;
@@ -265,7 +262,7 @@ interface ReactGrabRendererProps {
265
262
  onAbortSession?: (sessionId: string) => void;
266
263
  onDismissSession?: (sessionId: string) => void;
267
264
  onUndoSession?: (sessionId: string) => void;
268
- onReplySession?: (sessionId: string) => void;
265
+ onFollowUpSubmitSession?: (sessionId: string, prompt: string) => void;
269
266
  onAcknowledgeSessionError?: (sessionId: string) => void;
270
267
  onRetrySession?: (sessionId: string) => void;
271
268
  onInputChange?: (value: string) => void;
@@ -287,6 +284,9 @@ interface ReactGrabRendererProps {
287
284
  onNativeSelectionCopy?: () => void;
288
285
  onNativeSelectionEnter?: () => void;
289
286
  theme?: Required<Theme>;
287
+ dockVisible?: boolean;
288
+ isActive?: boolean;
289
+ onToggleActive?: () => void;
290
290
  }
291
291
  interface GrabbedBox {
292
292
  id: string;
@@ -318,7 +318,7 @@ declare const DEFAULT_THEME: Required<Theme>;
318
318
  interface GenerateSnippetOptions {
319
319
  maxLines?: number;
320
320
  }
321
- declare const generateSnippet: (elements: Element[], options?: GenerateSnippetOptions) => Promise<string>;
321
+ declare const generateSnippet: (elements: Element[], options?: GenerateSnippetOptions) => Promise<string[]>;
322
322
 
323
323
  interface CopyContentOptions {
324
324
  onSuccess?: () => void;
@@ -65,6 +65,16 @@ interface Theme {
65
65
  */
66
66
  enabled?: boolean;
67
67
  };
68
+ /**
69
+ * The floating dock that allows toggling React Grab activation
70
+ */
71
+ dock?: {
72
+ /**
73
+ * Whether to show the dock
74
+ * @default true
75
+ */
76
+ enabled?: boolean;
77
+ };
68
78
  }
69
79
  interface ReactGrabState {
70
80
  isActive: boolean;
@@ -97,7 +107,7 @@ interface ActivationKey {
97
107
  altKey?: boolean;
98
108
  }
99
109
  interface AgentContext<T = unknown> {
100
- content: string;
110
+ content: string[];
101
111
  prompt: string;
102
112
  options?: T;
103
113
  sessionId?: string;
@@ -113,7 +123,7 @@ interface AgentSession {
113
123
  x: number;
114
124
  y: number;
115
125
  };
116
- selectionBounds?: OverlayBounds;
126
+ selectionBounds: OverlayBounds[];
117
127
  tagName?: string;
118
128
  componentName?: string;
119
129
  error?: string;
@@ -128,6 +138,9 @@ interface AgentProvider<T = any> {
128
138
  checkConnection?: () => Promise<boolean>;
129
139
  getCompletionMessage?: () => string | undefined;
130
140
  undo?: () => Promise<void>;
141
+ canUndo?: () => boolean;
142
+ redo?: () => Promise<void>;
143
+ canRedo?: () => boolean;
131
144
  }
132
145
  interface AgentSessionStorage {
133
146
  getItem(key: string): string | null;
@@ -141,13 +154,14 @@ interface AgentOptions<T = any> {
141
154
  provider?: AgentProvider<T>;
142
155
  storage?: AgentSessionStorage | null;
143
156
  getOptions?: () => T;
144
- onStart?: (session: AgentSession, element: Element | undefined) => void;
157
+ onStart?: (session: AgentSession, elements: Element[]) => void;
145
158
  onStatus?: (status: string, session: AgentSession) => void;
146
- onComplete?: (session: AgentSession, element: Element | undefined) => AgentCompleteResult | void | Promise<AgentCompleteResult | void>;
159
+ onComplete?: (session: AgentSession, elements: Element[]) => AgentCompleteResult | void | Promise<AgentCompleteResult | void>;
147
160
  onError?: (error: Error, session: AgentSession) => void;
148
161
  onResume?: (session: AgentSession) => void;
149
- onAbort?: (session: AgentSession, element: Element | undefined) => void;
150
- onUndo?: (session: AgentSession, element: Element | undefined) => void;
162
+ onAbort?: (session: AgentSession, elements: Element[]) => void;
163
+ onUndo?: (session: AgentSession, elements: Element[]) => void;
164
+ onDismiss?: (session: AgentSession, elements: Element[]) => void;
151
165
  }
152
166
  type ActivationMode = "toggle" | "hold";
153
167
  interface Options {
@@ -180,26 +194,7 @@ interface Options {
180
194
  onOpenFile?: (filePath: string, lineNumber?: number) => void;
181
195
  agent?: AgentOptions;
182
196
  }
183
- interface UpdatableOptions {
184
- onActivate?: () => void;
185
- onDeactivate?: () => void;
186
- onElementHover?: (element: Element) => void;
187
- onElementSelect?: (element: Element) => void;
188
- onDragStart?: (startX: number, startY: number) => void;
189
- onDragEnd?: (elements: Element[], bounds: DragRect) => void;
190
- onBeforeCopy?: (elements: Element[]) => void | Promise<void>;
191
- onAfterCopy?: (elements: Element[], success: boolean) => void;
192
- onCopySuccess?: (elements: Element[], content: string) => void;
193
- onCopyError?: (error: Error) => void;
194
- onStateChange?: (state: ReactGrabState) => void;
195
- onInputModeChange?: (isInputMode: boolean, context: InputModeContext) => void;
196
- onSelectionBox?: (visible: boolean, bounds: OverlayBounds | null, element: Element | null) => void;
197
- onDragBox?: (visible: boolean, bounds: OverlayBounds | null) => void;
198
- onGrabbedBox?: (bounds: OverlayBounds, element: Element) => void;
199
- onElementLabel?: (visible: boolean, variant: ElementLabelVariant, context: ElementLabelContext) => void;
200
- onCrosshair?: (visible: boolean, context: CrosshairContext) => void;
201
- onOpenFile?: (filePath: string, lineNumber?: number) => void;
202
- }
197
+ type UpdatableOptions = Pick<Options, "onActivate" | "onDeactivate" | "onElementHover" | "onElementSelect" | "onDragStart" | "onDragEnd" | "onBeforeCopy" | "onAfterCopy" | "onCopySuccess" | "onCopyError" | "onStateChange" | "onInputModeChange" | "onSelectionBox" | "onDragBox" | "onGrabbedBox" | "onElementLabel" | "onCrosshair" | "onOpenFile">;
203
198
  interface ReactGrabAPI {
204
199
  activate: () => void;
205
200
  deactivate: () => void;
@@ -235,6 +230,8 @@ interface SelectionLabelInstance {
235
230
  interface ReactGrabRendererProps {
236
231
  selectionVisible?: boolean;
237
232
  selectionBounds?: OverlayBounds;
233
+ selectionBoundsMultiple?: OverlayBounds[];
234
+ selectionElementsCount?: number;
238
235
  selectionFilePath?: string;
239
236
  selectionLineNumber?: number;
240
237
  selectionTagName?: string;
@@ -254,7 +251,7 @@ interface ReactGrabRendererProps {
254
251
  mouseY?: number;
255
252
  crosshairVisible?: boolean;
256
253
  inputValue?: string;
257
- isInputExpanded?: boolean;
254
+ isInputMode?: boolean;
258
255
  replyToPrompt?: string;
259
256
  hasAgent?: boolean;
260
257
  isAgentConnected?: boolean;
@@ -265,7 +262,7 @@ interface ReactGrabRendererProps {
265
262
  onAbortSession?: (sessionId: string) => void;
266
263
  onDismissSession?: (sessionId: string) => void;
267
264
  onUndoSession?: (sessionId: string) => void;
268
- onReplySession?: (sessionId: string) => void;
265
+ onFollowUpSubmitSession?: (sessionId: string, prompt: string) => void;
269
266
  onAcknowledgeSessionError?: (sessionId: string) => void;
270
267
  onRetrySession?: (sessionId: string) => void;
271
268
  onInputChange?: (value: string) => void;
@@ -287,6 +284,9 @@ interface ReactGrabRendererProps {
287
284
  onNativeSelectionCopy?: () => void;
288
285
  onNativeSelectionEnter?: () => void;
289
286
  theme?: Required<Theme>;
287
+ dockVisible?: boolean;
288
+ isActive?: boolean;
289
+ onToggleActive?: () => void;
290
290
  }
291
291
  interface GrabbedBox {
292
292
  id: string;
@@ -318,7 +318,7 @@ declare const DEFAULT_THEME: Required<Theme>;
318
318
  interface GenerateSnippetOptions {
319
319
  maxLines?: number;
320
320
  }
321
- declare const generateSnippet: (elements: Element[], options?: GenerateSnippetOptions) => Promise<string>;
321
+ declare const generateSnippet: (elements: Element[], options?: GenerateSnippetOptions) => Promise<string[]>;
322
322
 
323
323
  interface CopyContentOptions {
324
324
  onSuccess?: () => void;
package/dist/core.cjs CHANGED
@@ -1 +1 @@
1
- 'use strict';var chunkWZQBGJJG_cjs=require('./chunk-WZQBGJJG.cjs');Object.defineProperty(exports,"DEFAULT_THEME",{enumerable:true,get:function(){return chunkWZQBGJJG_cjs.f}});Object.defineProperty(exports,"copyContent",{enumerable:true,get:function(){return chunkWZQBGJJG_cjs.d}});Object.defineProperty(exports,"formatElementInfo",{enumerable:true,get:function(){return chunkWZQBGJJG_cjs.c}});Object.defineProperty(exports,"generateSnippet",{enumerable:true,get:function(){return chunkWZQBGJJG_cjs.e}});Object.defineProperty(exports,"getStack",{enumerable:true,get:function(){return chunkWZQBGJJG_cjs.b}});Object.defineProperty(exports,"init",{enumerable:true,get:function(){return chunkWZQBGJJG_cjs.g}});Object.defineProperty(exports,"isInstrumentationActive",{enumerable:true,get:function(){return chunkWZQBGJJG_cjs.a}});
1
+ 'use strict';var chunkLLVFRBHD_cjs=require('./chunk-LLVFRBHD.cjs');Object.defineProperty(exports,"DEFAULT_THEME",{enumerable:true,get:function(){return chunkLLVFRBHD_cjs.f}});Object.defineProperty(exports,"copyContent",{enumerable:true,get:function(){return chunkLLVFRBHD_cjs.d}});Object.defineProperty(exports,"formatElementInfo",{enumerable:true,get:function(){return chunkLLVFRBHD_cjs.c}});Object.defineProperty(exports,"generateSnippet",{enumerable:true,get:function(){return chunkLLVFRBHD_cjs.e}});Object.defineProperty(exports,"getStack",{enumerable:true,get:function(){return chunkLLVFRBHD_cjs.b}});Object.defineProperty(exports,"init",{enumerable:true,get:function(){return chunkLLVFRBHD_cjs.g}});Object.defineProperty(exports,"isInstrumentationActive",{enumerable:true,get:function(){return chunkLLVFRBHD_cjs.a}});
package/dist/core.d.cts CHANGED
@@ -1,3 +1,3 @@
1
- export { o as AgentCompleteResult, A as AgentContext, n as AgentOptions, l as AgentProvider, k as AgentSession, m as AgentSessionStorage, D as DEFAULT_THEME, O as Options, d as OverlayBounds, R as ReactGrabAPI, q as ReactGrabRendererProps, U as UpdatableOptions, r as copyContent, a as formatElementInfo, b as generateSnippet, g as getStack, i as init } from './core-D6QsgQQN.cjs';
1
+ export { o as AgentCompleteResult, A as AgentContext, n as AgentOptions, l as AgentProvider, k as AgentSession, m as AgentSessionStorage, D as DEFAULT_THEME, O as Options, d as OverlayBounds, R as ReactGrabAPI, q as ReactGrabRendererProps, U as UpdatableOptions, r as copyContent, a as formatElementInfo, b as generateSnippet, g as getStack, i as init } from './core-Cb0zhigT.cjs';
2
2
  export { isInstrumentationActive } from 'bippy';
3
3
  import 'bippy/source';
package/dist/core.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export { o as AgentCompleteResult, A as AgentContext, n as AgentOptions, l as AgentProvider, k as AgentSession, m as AgentSessionStorage, D as DEFAULT_THEME, O as Options, d as OverlayBounds, R as ReactGrabAPI, q as ReactGrabRendererProps, U as UpdatableOptions, r as copyContent, a as formatElementInfo, b as generateSnippet, g as getStack, i as init } from './core-D6QsgQQN.js';
1
+ export { o as AgentCompleteResult, A as AgentContext, n as AgentOptions, l as AgentProvider, k as AgentSession, m as AgentSessionStorage, D as DEFAULT_THEME, O as Options, d as OverlayBounds, R as ReactGrabAPI, q as ReactGrabRendererProps, U as UpdatableOptions, r as copyContent, a as formatElementInfo, b as generateSnippet, g as getStack, i as init } from './core-Cb0zhigT.js';
2
2
  export { isInstrumentationActive } from 'bippy';
3
3
  import 'bippy/source';
package/dist/core.js CHANGED
@@ -1 +1 @@
1
- export{f as DEFAULT_THEME,d as copyContent,c as formatElementInfo,e as generateSnippet,b as getStack,g as init,a as isInstrumentationActive}from'./chunk-AAPYQRSF.js';
1
+ export{f as DEFAULT_THEME,d as copyContent,c as formatElementInfo,e as generateSnippet,b as getStack,g as init,a as isInstrumentationActive}from'./chunk-Z3NRWZVJ.js';
package/dist/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- 'use strict';var chunkWZQBGJJG_cjs=require('./chunk-WZQBGJJG.cjs');/**
1
+ 'use strict';var chunkLLVFRBHD_cjs=require('./chunk-LLVFRBHD.cjs');/**
2
2
  * @license MIT
3
3
  *
4
4
  * Copyright (c) 2025 Aiden Bai
@@ -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
- var e=null,A=()=>typeof window>"u"?e:window.__REACT_GRAB__??e??null,d=t=>{e=t,typeof window<"u"&&(t?window.__REACT_GRAB__=t:delete window.__REACT_GRAB__);};typeof window<"u"&&(window.__REACT_GRAB__?e=window.__REACT_GRAB__:(e=chunkWZQBGJJG_cjs.g(),window.__REACT_GRAB__=e,window.dispatchEvent(new CustomEvent("react-grab:init",{detail:e}))));Object.defineProperty(exports,"DEFAULT_THEME",{enumerable:true,get:function(){return chunkWZQBGJJG_cjs.f}});Object.defineProperty(exports,"formatElementInfo",{enumerable:true,get:function(){return chunkWZQBGJJG_cjs.c}});Object.defineProperty(exports,"generateSnippet",{enumerable:true,get:function(){return chunkWZQBGJJG_cjs.e}});Object.defineProperty(exports,"getStack",{enumerable:true,get:function(){return chunkWZQBGJJG_cjs.b}});Object.defineProperty(exports,"init",{enumerable:true,get:function(){return chunkWZQBGJJG_cjs.g}});Object.defineProperty(exports,"isInstrumentationActive",{enumerable:true,get:function(){return chunkWZQBGJJG_cjs.a}});exports.getGlobalApi=A;exports.setGlobalApi=d;
9
+ var e=null,A=()=>typeof window>"u"?e:window.__REACT_GRAB__??e??null,d=t=>{e=t,typeof window<"u"&&(t?window.__REACT_GRAB__=t:delete window.__REACT_GRAB__);};typeof window<"u"&&(window.__REACT_GRAB__?e=window.__REACT_GRAB__:(e=chunkLLVFRBHD_cjs.g(),window.__REACT_GRAB__=e,window.dispatchEvent(new CustomEvent("react-grab:init",{detail:e}))));Object.defineProperty(exports,"DEFAULT_THEME",{enumerable:true,get:function(){return chunkLLVFRBHD_cjs.f}});Object.defineProperty(exports,"formatElementInfo",{enumerable:true,get:function(){return chunkLLVFRBHD_cjs.c}});Object.defineProperty(exports,"generateSnippet",{enumerable:true,get:function(){return chunkLLVFRBHD_cjs.e}});Object.defineProperty(exports,"getStack",{enumerable:true,get:function(){return chunkLLVFRBHD_cjs.b}});Object.defineProperty(exports,"init",{enumerable:true,get:function(){return chunkLLVFRBHD_cjs.g}});Object.defineProperty(exports,"isInstrumentationActive",{enumerable:true,get:function(){return chunkLLVFRBHD_cjs.a}});exports.getGlobalApi=A;exports.setGlobalApi=d;
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- import { R as ReactGrabAPI } from './core-D6QsgQQN.cjs';
2
- export { p as ActivationMode, o as AgentCompleteResult, A as AgentContext, n as AgentOptions, l as AgentProvider, k as AgentSession, m as AgentSessionStorage, C as CrosshairContext, D as DEFAULT_THEME, h as DeepPartial, e as DragRect, j as ElementLabelContext, E as ElementLabelVariant, G as GrabbedBox, I as InputModeContext, O as Options, d as OverlayBounds, c as ReactGrabState, f as Rect, T as Theme, U as UpdatableOptions, a as formatElementInfo, b as generateSnippet, g as getStack, i as init } from './core-D6QsgQQN.cjs';
1
+ import { R as ReactGrabAPI } from './core-Cb0zhigT.cjs';
2
+ export { p as ActivationMode, o as AgentCompleteResult, A as AgentContext, n as AgentOptions, l as AgentProvider, k as AgentSession, m as AgentSessionStorage, C as CrosshairContext, D as DEFAULT_THEME, h as DeepPartial, e as DragRect, j as ElementLabelContext, E as ElementLabelVariant, G as GrabbedBox, I as InputModeContext, O as Options, d as OverlayBounds, c as ReactGrabState, f as Rect, T as Theme, U as UpdatableOptions, a as formatElementInfo, b as generateSnippet, g as getStack, i as init } from './core-Cb0zhigT.cjs';
3
3
  export { isInstrumentationActive } from 'bippy';
4
4
  import 'bippy/source';
5
5
 
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { R as ReactGrabAPI } from './core-D6QsgQQN.js';
2
- export { p as ActivationMode, o as AgentCompleteResult, A as AgentContext, n as AgentOptions, l as AgentProvider, k as AgentSession, m as AgentSessionStorage, C as CrosshairContext, D as DEFAULT_THEME, h as DeepPartial, e as DragRect, j as ElementLabelContext, E as ElementLabelVariant, G as GrabbedBox, I as InputModeContext, O as Options, d as OverlayBounds, c as ReactGrabState, f as Rect, T as Theme, U as UpdatableOptions, a as formatElementInfo, b as generateSnippet, g as getStack, i as init } from './core-D6QsgQQN.js';
1
+ import { R as ReactGrabAPI } from './core-Cb0zhigT.js';
2
+ export { p as ActivationMode, o as AgentCompleteResult, A as AgentContext, n as AgentOptions, l as AgentProvider, k as AgentSession, m as AgentSessionStorage, C as CrosshairContext, D as DEFAULT_THEME, h as DeepPartial, e as DragRect, j as ElementLabelContext, E as ElementLabelVariant, G as GrabbedBox, I as InputModeContext, O as Options, d as OverlayBounds, c as ReactGrabState, f as Rect, T as Theme, U as UpdatableOptions, a as formatElementInfo, b as generateSnippet, g as getStack, i as init } from './core-Cb0zhigT.js';
3
3
  export { isInstrumentationActive } from 'bippy';
4
4
  import 'bippy/source';
5
5