react-grab 0.1.48-dev.94c316a → 0.1.48-dev.9a1c4f0

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 (44) hide show
  1. package/README.md +15 -58
  2. package/dist/{copy-content-CJ_7MSY-.d.ts → copy-content-CcSwO8vJ.d.ts} +36 -21
  3. package/dist/{copy-content-lXPMxPt1.d.cts → copy-content-Dxdqj7pl.d.cts} +36 -21
  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-B64sgv3O.cjs +14 -0
  9. package/dist/core-FSwyWUZz.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-CKzLc4Qk.cjs +9 -0
  13. package/dist/execute-context-menu-action-D03DPENF.js +9 -0
  14. package/dist/freeze-updates-BBhhY1Y4.js +43 -0
  15. package/dist/freeze-updates-CfSRpcZR.cjs +43 -0
  16. package/dist/{index-j4NFBY6x.d.ts → index-Cd-ADR9Q.d.ts} +1 -1
  17. package/dist/{index-Dvl3pv9l.d.cts → index-DdYffA2X.d.cts} +1 -1
  18. package/dist/index.cjs +1 -1
  19. package/dist/index.d.cts +10 -8
  20. package/dist/index.d.ts +10 -8
  21. package/dist/index.global.js +20 -19
  22. package/dist/index.js +1 -1
  23. package/dist/open-file-BpRND1Ok.js +29 -0
  24. package/dist/open-file-DCL9ihUQ.cjs +20 -0
  25. package/dist/primitives.cjs +2 -2
  26. package/dist/primitives.d.cts +51 -3
  27. package/dist/primitives.d.ts +51 -3
  28. package/dist/primitives.js +2 -2
  29. package/dist/renderer-BjljFXGJ.cjs +9 -0
  30. package/dist/renderer-CGRCH0_C.js +9 -0
  31. package/dist/styles.css +1 -1
  32. package/package.json +11 -5
  33. package/dist/copy-content-D1qnwKTs.js +0 -10
  34. package/dist/copy-content-DYW9C_RD.cjs +0 -10
  35. package/dist/core-B-v0HAqX.cjs +0 -14
  36. package/dist/core-CgjUt7EV.js +0 -14
  37. package/dist/errors-0FkK6sRG.d.ts +0 -17
  38. package/dist/errors-CgCtKMy4.d.cts +0 -17
  39. package/dist/execute-context-menu-action-BO602H6y.cjs +0 -9
  40. package/dist/execute-context-menu-action-D7ikAtrw.js +0 -9
  41. package/dist/freeze-updates-CJ_92KF5.js +0 -61
  42. package/dist/freeze-updates-D_nvJFva.cjs +0 -61
  43. package/dist/renderer-BR3giix6.cjs +0 -9
  44. package/dist/renderer-DPMen-tz.js +0 -9
package/README.md CHANGED
@@ -114,72 +114,29 @@ if (process.env.NODE_ENV === "development") {
114
114
  }
115
115
  ```
116
116
 
117
- ## Plugins
117
+ ## Build your own React Grab
118
118
 
119
- Use plugins to extend React Grab's built-in UI with context menu actions, toolbar menu items, lifecycle hooks, and theme overrides.
119
+ Build a custom interface with the selection engine from `react-grab/primitives`. Use its APIs for hit testing, source context, page freezing, clipboard access, and editor navigation.
120
120
 
121
- Register a plugin using the `registerPlugin` export:
121
+ ### Customize hit testing
122
122
 
123
- ```js
124
- import { registerPlugin } from "react-grab";
123
+ Scope hit testing to a container or replace the default element filter with your own rules.
125
124
 
126
- registerPlugin({
127
- name: "my-plugin",
128
- hooks: {
129
- onElementSelect: (element) => {
130
- console.log("Selected:", element.tagName);
131
- },
132
- },
133
- });
134
- ```
135
-
136
- If writing in React, register inside a `useEffect`:
125
+ ```typescript
126
+ import { getElementAtPoint, isElementGrabbable } from "react-grab/primitives";
137
127
 
138
- ```jsx
139
- import { registerPlugin, unregisterPlugin } from "react-grab";
140
-
141
- useEffect(() => {
142
- registerPlugin({
143
- name: "my-plugin",
144
- actions: [
145
- {
146
- id: "my-action",
147
- label: "My Action",
148
- shortcut: "M",
149
- onAction: (context) => {
150
- console.log("Action on:", context.element);
151
- context.hideContextMenu();
152
- },
153
- },
154
- ],
128
+ export const getPickerTarget = (
129
+ event: PointerEvent,
130
+ appElement: Element,
131
+ toolbarElement: Element,
132
+ ): Element | null =>
133
+ getElementAtPoint(event.clientX, event.clientY, {
134
+ container: appElement,
135
+ filter: (candidate) => isElementGrabbable(candidate) && !toolbarElement.contains(candidate),
155
136
  });
156
-
157
- return () => unregisterPlugin("my-plugin");
158
- }, []);
159
- ```
160
-
161
- Actions use a `target` field to control where they appear. Omit `target` (or set `"context-menu"`) for the right-click menu, or set `"toolbar"` for the toolbar dropdown:
162
-
163
- ```js
164
- actions: [
165
- {
166
- id: "inspect",
167
- label: "Inspect",
168
- shortcut: "I",
169
- onAction: (ctx) => console.dir(ctx.element),
170
- },
171
- {
172
- id: "toggle-freeze",
173
- label: "Freeze",
174
- // Only show in the toolbar
175
- target: "toolbar",
176
- isActive: () => isFrozen,
177
- onAction: () => toggleFreeze(),
178
- },
179
- ];
180
137
  ```
181
138
 
182
- See [`packages/react-grab/src/types.ts`](https://github.com/aidenybai/react-grab/blob/main/packages/react-grab/src/types.ts) for the full `Plugin`, `PluginHooks`, and `PluginConfig` interfaces.
139
+ Add `data-react-grab-ignore` to your picker interface so hit testing skips its subtree.
183
140
 
184
141
  ## Resources & Contributing Back
185
142
 
@@ -25,6 +25,17 @@ interface Position {
25
25
  x: number;
26
26
  y: number;
27
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
+ }
28
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] };
29
40
  interface Theme {
30
41
  /**
@@ -140,11 +151,13 @@ interface AgentContext<T = unknown> {
140
151
  sessionId?: string;
141
152
  }
142
153
  type ActivationMode = "toggle" | "hold";
143
- interface ActionContextHooks {
144
- transformHtmlContent: (html: string, elements: Element[]) => Promise<string>;
154
+ interface OpenFileActionHooks {
145
155
  onOpenFile: (filePath: string, lineNumber?: number) => boolean | void;
146
156
  transformOpenFileUrl: (url: string, filePath: string, lineNumber?: number) => string;
147
157
  }
158
+ interface ActionContextHooks extends OpenFileActionHooks {
159
+ transformHtmlContent: (html: string, elements: Element[]) => Promise<string>;
160
+ }
148
161
  interface ActionContext {
149
162
  element: Element;
150
163
  elements: Element[];
@@ -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>;
@@ -343,6 +356,7 @@ interface SettableOptions extends Options {
343
356
  interface SourceInfo {
344
357
  filePath: string;
345
358
  lineNumber: number | null;
359
+ columnNumber: number | null;
346
360
  componentName: string | null;
347
361
  }
348
362
  interface SelectedElementPayload {
@@ -476,6 +490,7 @@ interface ReactGrabRendererProps {
476
490
  onToggleExpand?: () => void;
477
491
  selectionLabelShakeCount?: number;
478
492
  onConfirmDismiss?: () => void;
493
+ onOpenSelectionFile?: () => void;
479
494
  discardPrompt?: SelectionDiscardPrompt;
480
495
  toolbarVisible?: boolean;
481
496
  isActive?: boolean;
@@ -557,7 +572,7 @@ interface ReactGrabEntry {
557
572
  frames?: ReactGrabStackFrame[];
558
573
  }
559
574
  //#endregion
560
- //#region ../../node_modules/.pnpm/bippy@0.6.0_react@19.2.6/node_modules/bippy/dist/unsubscribe.d.ts
575
+ //#region ../../node_modules/.pnpm/bippy@0.6.1_react@19.2.6/node_modules/bippy/dist/unsubscribe.d.ts
561
576
  type Flags = number;
562
577
  type Lanes = number;
563
578
  type TypeOfMode = number;
@@ -737,7 +752,7 @@ declare global {
737
752
  } //#endregion
738
753
  //#region src/unsubscribe.d.ts
739
754
  //#endregion
740
- //#region ../../node_modules/.pnpm/bippy@0.6.0_react@19.2.6/node_modules/bippy/dist/source.d.ts
755
+ //#region ../../node_modules/.pnpm/bippy@0.6.1_react@19.2.6/node_modules/bippy/dist/source.d.ts
741
756
  //#region src/source/parse-stack.d.ts
742
757
  interface StackFrame {
743
758
  args?: unknown[];
@@ -753,7 +768,7 @@ interface StackFrame {
753
768
  isIgnoreListed?: boolean;
754
769
  }
755
770
  //#endregion
756
- //#region ../../node_modules/.pnpm/bippy@0.6.0_react@19.2.6/node_modules/bippy/dist/core.d.ts
771
+ //#region ../../node_modules/.pnpm/bippy@0.6.1_react@19.2.6/node_modules/bippy/dist/core.d.ts
757
772
  /**
758
773
  * Returns `true` if bippy's instrumentation is active.
759
774
  */
@@ -768,4 +783,4 @@ interface CopyContentOptions {
768
783
  }
769
784
  declare const copyContent: (content: string, options?: CopyContentOptions) => boolean;
770
785
  //#endregion
771
- 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, Fiber as i, Theme as j, SettableOptions 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, OverlayBounds as v, ReactGrabAPI as w, PluginHooks as x, Plugin as y };
786
+ 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 };
@@ -25,6 +25,17 @@ interface Position {
25
25
  x: number;
26
26
  y: number;
27
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
+ }
28
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] };
29
40
  interface Theme {
30
41
  /**
@@ -140,11 +151,13 @@ interface AgentContext<T = unknown> {
140
151
  sessionId?: string;
141
152
  }
142
153
  type ActivationMode = "toggle" | "hold";
143
- interface ActionContextHooks {
144
- transformHtmlContent: (html: string, elements: Element[]) => Promise<string>;
154
+ interface OpenFileActionHooks {
145
155
  onOpenFile: (filePath: string, lineNumber?: number) => boolean | void;
146
156
  transformOpenFileUrl: (url: string, filePath: string, lineNumber?: number) => string;
147
157
  }
158
+ interface ActionContextHooks extends OpenFileActionHooks {
159
+ transformHtmlContent: (html: string, elements: Element[]) => Promise<string>;
160
+ }
148
161
  interface ActionContext {
149
162
  element: Element;
150
163
  elements: Element[];
@@ -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>;
@@ -343,6 +356,7 @@ interface SettableOptions extends Options {
343
356
  interface SourceInfo {
344
357
  filePath: string;
345
358
  lineNumber: number | null;
359
+ columnNumber: number | null;
346
360
  componentName: string | null;
347
361
  }
348
362
  interface SelectedElementPayload {
@@ -476,6 +490,7 @@ interface ReactGrabRendererProps {
476
490
  onToggleExpand?: () => void;
477
491
  selectionLabelShakeCount?: number;
478
492
  onConfirmDismiss?: () => void;
493
+ onOpenSelectionFile?: () => void;
479
494
  discardPrompt?: SelectionDiscardPrompt;
480
495
  toolbarVisible?: boolean;
481
496
  isActive?: boolean;
@@ -557,7 +572,7 @@ interface ReactGrabEntry {
557
572
  frames?: ReactGrabStackFrame[];
558
573
  }
559
574
  //#endregion
560
- //#region ../../node_modules/.pnpm/bippy@0.6.0_react@19.2.6/node_modules/bippy/dist/unsubscribe.d.ts
575
+ //#region ../../node_modules/.pnpm/bippy@0.6.1_react@19.2.6/node_modules/bippy/dist/unsubscribe.d.ts
561
576
  type Flags = number;
562
577
  type Lanes = number;
563
578
  type TypeOfMode = number;
@@ -737,7 +752,7 @@ declare global {
737
752
  } //#endregion
738
753
  //#region src/unsubscribe.d.ts
739
754
  //#endregion
740
- //#region ../../node_modules/.pnpm/bippy@0.6.0_react@19.2.6/node_modules/bippy/dist/source.d.ts
755
+ //#region ../../node_modules/.pnpm/bippy@0.6.1_react@19.2.6/node_modules/bippy/dist/source.d.ts
741
756
  //#region src/source/parse-stack.d.ts
742
757
  interface StackFrame {
743
758
  args?: unknown[];
@@ -753,7 +768,7 @@ interface StackFrame {
753
768
  isIgnoreListed?: boolean;
754
769
  }
755
770
  //#endregion
756
- //#region ../../node_modules/.pnpm/bippy@0.6.0_react@19.2.6/node_modules/bippy/dist/core.d.ts
771
+ //#region ../../node_modules/.pnpm/bippy@0.6.1_react@19.2.6/node_modules/bippy/dist/core.d.ts
757
772
  /**
758
773
  * Returns `true` if bippy's instrumentation is active.
759
774
  */
@@ -768,4 +783,4 @@ interface CopyContentOptions {
768
783
  }
769
784
  declare const copyContent: (content: string, options?: CopyContentOptions) => boolean;
770
785
  //#endregion
771
- 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, Fiber as i, Theme as j, SettableOptions 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, OverlayBounds as v, ReactGrabAPI as w, PluginHooks as x, Plugin as y };
786
+ 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-B-v0HAqX.cjs`),t=require(`../freeze-updates-D_nvJFva.cjs`),n=require(`../copy-content-DYW9C_RD.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.G;
9
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../core-B64sgv3O.cjs`),t=require(`../freeze-updates-CfSRpcZR.cjs`),n=require(`../open-file-DCL9ihUQ.cjs`);exports.DEFAULT_THEME=e.l,exports.copyContent=n.n,exports.formatElementInfo=n.r,exports.generateSnippet=e.n,exports.getStack=n.s,exports.init=e.t,exports.isInstrumentationActive=t.it;
@@ -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, k as SettableOptions, l as ContextMenuAction, n as isInstrumentationActive, t as copyContent, v as OverlayBounds, w as ReactGrabAPI, x as PluginHooks, y as Plugin } from "../copy-content-lXPMxPt1.cjs";
10
- import { a as getStack, i as formatElementInfo, n as generateSnippet, r as DEFAULT_THEME, t as init } from "../index-Dvl3pv9l.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-Dxdqj7pl.cjs";
10
+ import { a as getStack, i as formatElementInfo, n as generateSnippet, r as DEFAULT_THEME, t as init } from "../index-DdYffA2X.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, k as SettableOptions, l as ContextMenuAction, n as isInstrumentationActive, t as copyContent, v as OverlayBounds, w as ReactGrabAPI, x as PluginHooks, y as Plugin } from "../copy-content-CJ_7MSY-.js";
10
- import { a as getStack, i as formatElementInfo, n as generateSnippet, r as DEFAULT_THEME, t as init } from "../index-j4NFBY6x.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-CcSwO8vJ.js";
10
+ import { a as getStack, i as formatElementInfo, n as generateSnippet, r as DEFAULT_THEME, t as init } from "../index-Cd-ADR9Q.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-CgjUt7EV.js";import{G as r}from"../freeze-updates-CJ_92KF5.js";import{n as i,o as a,t as o}from"../copy-content-D1qnwKTs.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{l as e,n as t,t as n}from"../core-FSwyWUZz.js";import{it as r}from"../freeze-updates-BBhhY1Y4.js";import{n as i,r as a,s as o}from"../open-file-BpRND1Ok.js";export{e as DEFAULT_THEME,i as copyContent,a as formatElementInfo,t as generateSnippet,o as getStack,n as init,r as isInstrumentationActive};