react-grab 0.0.61 → 0.0.63

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.
package/README.md CHANGED
@@ -122,7 +122,7 @@ if (process.env.NODE_ENV === "development") {
122
122
 
123
123
  React Grab can send selected element context directly to your coding agent. This enables a workflow where you select a UI element and an agent automatically makes changes to your codebase.
124
124
 
125
- This means **no copying and pasting** - just select the element and let the agent do the rest.
125
+ This means **no copying and pasting** - just select the element and let the agent do the rest. [Learn more →](https://react-grab.com/blog/agent)
126
126
 
127
127
  ### Claude Code
128
128
 
@@ -146,6 +146,34 @@ The server runs on port `4567` and interfaces with the Claude Agent SDK. Add to
146
146
  <script src="//unpkg.com/@react-grab/claude-code/dist/client.global.js"></script>
147
147
  ```
148
148
 
149
+ Or using Next.js `Script` component in your `app/layout.tsx`:
150
+
151
+ ```jsx
152
+ import Script from "next/script";
153
+
154
+ export default function RootLayout({ children }) {
155
+ return (
156
+ <html>
157
+ <head>
158
+ {process.env.NODE_ENV === "development" && (
159
+ <>
160
+ <Script
161
+ src="//unpkg.com/react-grab/dist/index.global.js"
162
+ strategy="beforeInteractive"
163
+ />
164
+ <Script
165
+ src="//unpkg.com/@react-grab/claude-code/dist/client.global.js"
166
+ strategy="lazyOnload"
167
+ />
168
+ </>
169
+ )}
170
+ </head>
171
+ <body>{children}</body>
172
+ </html>
173
+ );
174
+ }
175
+ ```
176
+
149
177
  ### Cursor CLI
150
178
 
151
179
  #### Server Setup
@@ -168,6 +196,34 @@ The server runs on port `5567` and interfaces with the `cursor-agent` CLI. Add t
168
196
  <script src="//unpkg.com/@react-grab/cursor/dist/client.global.js"></script>
169
197
  ```
170
198
 
199
+ Or using Next.js `Script` component in your `app/layout.tsx`:
200
+
201
+ ```jsx
202
+ import Script from "next/script";
203
+
204
+ export default function RootLayout({ children }) {
205
+ return (
206
+ <html>
207
+ <head>
208
+ {process.env.NODE_ENV === "development" && (
209
+ <>
210
+ <Script
211
+ src="//unpkg.com/react-grab/dist/index.global.js"
212
+ strategy="beforeInteractive"
213
+ />
214
+ <Script
215
+ src="//unpkg.com/@react-grab/cursor/dist/client.global.js"
216
+ strategy="lazyOnload"
217
+ />
218
+ </>
219
+ )}
220
+ </head>
221
+ <body>{children}</body>
222
+ </html>
223
+ );
224
+ }
225
+ ```
226
+
171
227
  ## Extending React Grab
172
228
 
173
229
  React Grab provides an public customization API. Check out the [type definitions](https://github.com/aidenybai/react-grab/blob/main/packages/react-grab/src/types.ts) to see all available options for extending React Grab.
@@ -3844,13 +3844,20 @@ var Arrow = (props) => {
3844
3844
  return _el$6;
3845
3845
  })();
3846
3846
  };
3847
- var ClickToCopyPill = (props) => (() => {
3848
- var _el$7 = _tmpl$5(), _el$8 = _el$7.firstChild;
3849
- addEventListener(_el$7, "click", props.onClick);
3850
- insert(_el$8, () => props.hasParent ? "Copy" : "Click to copy");
3851
- createRenderEffect(() => className(_el$7, cn("contain-layout shrink-0 flex items-center px-0 py-px w-fit h-[18px] rounded-[1.5px] gap-[3px]", props.asButton && "cursor-pointer", props.dimmed && "opacity-50 hover:opacity-100 transition-opacity")));
3852
- return _el$7;
3853
- })();
3847
+ var ClickToCopyPill = (props) => {
3848
+ const labelText = () => {
3849
+ if (props.hasAgent) return "Selecting";
3850
+ if (props.hasParent) return "Copy";
3851
+ return "Click to copy";
3852
+ };
3853
+ return (() => {
3854
+ var _el$7 = _tmpl$5(), _el$8 = _el$7.firstChild;
3855
+ addEventListener(_el$7, "click", props.onClick);
3856
+ insert(_el$8, labelText);
3857
+ createRenderEffect(() => className(_el$7, cn("contain-layout shrink-0 flex items-center px-0 py-px w-fit h-[18px] rounded-[1.5px] gap-[3px]", props.asButton && "cursor-pointer", props.dimmed && "opacity-50 hover:opacity-100 transition-opacity")));
3858
+ return _el$7;
3859
+ })();
3860
+ };
3854
3861
  var BottomSection = (props) => (() => {
3855
3862
  var _el$9 = _tmpl$6();
3856
3863
  insert(_el$9, () => props.children);
@@ -4075,6 +4082,9 @@ var SelectionLabel = (props) => {
4075
4082
  shrink: true,
4076
4083
  get hasParent() {
4077
4084
  return !!props.componentName;
4085
+ },
4086
+ get hasAgent() {
4087
+ return props.hasAgent;
4078
4088
  }
4079
4089
  }), null);
4080
4090
  insert(_el$21, createComponent(Show, {
@@ -4145,6 +4155,9 @@ var SelectionLabel = (props) => {
4145
4155
  shrink: true,
4146
4156
  get hasParent() {
4147
4157
  return !!props.componentName;
4158
+ },
4159
+ get hasAgent() {
4160
+ return props.hasAgent;
4148
4161
  }
4149
4162
  }), null);
4150
4163
  insert(_el$30, createComponent(Show, {
@@ -6136,7 +6149,7 @@ var createAgentManager = (initialAgentOptions) => {
6136
6149
  agentOptions?.onResume?.(sessionWithResumeStatus);
6137
6150
  const abortController = new AbortController();
6138
6151
  abortControllers.set(existingSession.id, abortController);
6139
- const streamIterator = agentOptions.provider.resume(existingSession.id, abortController.signal);
6152
+ const streamIterator = agentOptions.provider.resume(existingSession.id, abortController.signal, storage);
6140
6153
  void executeSessionStream(existingSession, streamIterator);
6141
6154
  }
6142
6155
  };
@@ -6312,7 +6325,7 @@ var init = (rawOptions) => {
6312
6325
  hasInited = true;
6313
6326
  const logIntro = () => {
6314
6327
  try {
6315
- const version = "0.0.61";
6328
+ const version = "0.0.63";
6316
6329
  const logoDataUri = `data:image/svg+xml;base64,${btoa(LOGO_SVG)}`;
6317
6330
  console.log(`%cReact Grab${version ? ` v${version}` : ""}%c
6318
6331
  https://react-grab.com`, `background: #330039; color: #ffffff; border: 1px solid #d75fcb; padding: 4px 4px 4px 24px; border-radius: 4px; background-image: url("${logoDataUri}"); background-size: 16px 16px; background-repeat: no-repeat; background-position: 4px center; display: inline-block; margin-bottom: 4px;`, "");
@@ -6354,6 +6367,7 @@ https://react-grab.com`, `background: #330039; color: #ffffff; border: 1px solid
6354
6367
  const [didJustDrag, setDidJustDrag] = createSignal(false);
6355
6368
  const [copyStartX, setCopyStartX] = createSignal(OFFSCREEN_POSITION);
6356
6369
  const [copyStartY, setCopyStartY] = createSignal(OFFSCREEN_POSITION);
6370
+ const [copyOffsetFromCenterX, setCopyOffsetFromCenterX] = createSignal(0);
6357
6371
  const [viewportVersion, setViewportVersion] = createSignal(0);
6358
6372
  const [isInputMode, setIsInputMode] = createSignal(false);
6359
6373
  const [inputText, setInputText] = createSignal("");
@@ -6504,6 +6518,12 @@ https://react-grab.com`, `background: #330039; color: #ffffff; border: 1px solid
6504
6518
  const executeCopyOperation = async (positionX, positionY, operation, bounds, tagName, componentName, element) => {
6505
6519
  setCopyStartX(positionX);
6506
6520
  setCopyStartY(positionY);
6521
+ if (bounds) {
6522
+ const selectionCenterX = bounds.x + bounds.width / 2;
6523
+ setCopyOffsetFromCenterX(positionX - selectionCenterX);
6524
+ } else {
6525
+ setCopyOffsetFromCenterX(0);
6526
+ }
6507
6527
  setIsCopying(true);
6508
6528
  startProgressAnimation();
6509
6529
  const instanceId = bounds && tagName ? createLabelInstance(bounds, tagName, componentName, "copying", element, positionX) : null;
@@ -6706,12 +6726,27 @@ ${plainTextContentOnly}` : plainTextContentOnly;
6706
6726
  return _el$10;
6707
6727
  })();
6708
6728
  });
6709
- const cursorPosition = createMemo(() => isCopying() ? {
6710
- x: copyStartX(),
6711
- y: copyStartY()
6712
- } : {
6713
- x: mouseX(),
6714
- y: mouseY()
6729
+ const cursorPosition = createMemo(() => {
6730
+ if (isCopying() || isInputExpanded()) {
6731
+ viewportVersion();
6732
+ const element = frozenElement() || targetElement();
6733
+ if (element) {
6734
+ const bounds = createElementBounds(element);
6735
+ const selectionCenterX = bounds.x + bounds.width / 2;
6736
+ return {
6737
+ x: selectionCenterX + copyOffsetFromCenterX(),
6738
+ y: copyStartY()
6739
+ };
6740
+ }
6741
+ return {
6742
+ x: copyStartX(),
6743
+ y: copyStartY()
6744
+ };
6745
+ }
6746
+ return {
6747
+ x: mouseX(),
6748
+ y: mouseY()
6749
+ };
6715
6750
  });
6716
6751
  createEffect(on(() => [targetElement(), lastGrabbedElement()], ([currentElement, lastElement]) => {
6717
6752
  if (lastElement && currentElement && lastElement !== currentElement) {
@@ -6970,6 +7005,14 @@ ${plainTextContentOnly}` : plainTextContentOnly;
6970
7005
  deactivateRenderer();
6971
7006
  };
6972
7007
  const handleToggleExpand = () => {
7008
+ const element = frozenElement() || targetElement();
7009
+ if (element) {
7010
+ const bounds = createElementBounds(element);
7011
+ const selectionCenterX = bounds.x + bounds.width / 2;
7012
+ setCopyStartX(mouseX());
7013
+ setCopyStartY(mouseY());
7014
+ setCopyOffsetFromCenterX(mouseX() - selectionCenterX);
7015
+ }
6973
7016
  setIsToggleMode(true);
6974
7017
  setIsToggleFrozen(true);
6975
7018
  setIsInputExpanded(true);
@@ -7116,6 +7159,14 @@ ${plainTextContentOnly}` : plainTextContentOnly;
7116
7159
  if (event.key === "Enter" && isHoldingKeys() && !isInputMode()) {
7117
7160
  event.preventDefault();
7118
7161
  event.stopPropagation();
7162
+ const element = frozenElement() || targetElement();
7163
+ if (element) {
7164
+ const bounds = createElementBounds(element);
7165
+ const selectionCenterX = bounds.x + bounds.width / 2;
7166
+ setCopyStartX(mouseX());
7167
+ setCopyStartY(mouseY());
7168
+ setCopyOffsetFromCenterX(mouseX() - selectionCenterX);
7169
+ }
7119
7170
  setIsToggleMode(true);
7120
7171
  setIsToggleFrozen(true);
7121
7172
  setIsInputExpanded(true);
@@ -3846,13 +3846,20 @@ var Arrow = (props) => {
3846
3846
  return _el$6;
3847
3847
  })();
3848
3848
  };
3849
- var ClickToCopyPill = (props) => (() => {
3850
- var _el$7 = _tmpl$5(), _el$8 = _el$7.firstChild;
3851
- addEventListener(_el$7, "click", props.onClick);
3852
- insert(_el$8, () => props.hasParent ? "Copy" : "Click to copy");
3853
- createRenderEffect(() => className(_el$7, cn("contain-layout shrink-0 flex items-center px-0 py-px w-fit h-[18px] rounded-[1.5px] gap-[3px]", props.asButton && "cursor-pointer", props.dimmed && "opacity-50 hover:opacity-100 transition-opacity")));
3854
- return _el$7;
3855
- })();
3849
+ var ClickToCopyPill = (props) => {
3850
+ const labelText = () => {
3851
+ if (props.hasAgent) return "Selecting";
3852
+ if (props.hasParent) return "Copy";
3853
+ return "Click to copy";
3854
+ };
3855
+ return (() => {
3856
+ var _el$7 = _tmpl$5(), _el$8 = _el$7.firstChild;
3857
+ addEventListener(_el$7, "click", props.onClick);
3858
+ insert(_el$8, labelText);
3859
+ createRenderEffect(() => className(_el$7, cn("contain-layout shrink-0 flex items-center px-0 py-px w-fit h-[18px] rounded-[1.5px] gap-[3px]", props.asButton && "cursor-pointer", props.dimmed && "opacity-50 hover:opacity-100 transition-opacity")));
3860
+ return _el$7;
3861
+ })();
3862
+ };
3856
3863
  var BottomSection = (props) => (() => {
3857
3864
  var _el$9 = _tmpl$6();
3858
3865
  insert(_el$9, () => props.children);
@@ -4077,6 +4084,9 @@ var SelectionLabel = (props) => {
4077
4084
  shrink: true,
4078
4085
  get hasParent() {
4079
4086
  return !!props.componentName;
4087
+ },
4088
+ get hasAgent() {
4089
+ return props.hasAgent;
4080
4090
  }
4081
4091
  }), null);
4082
4092
  insert(_el$21, createComponent(Show, {
@@ -4147,6 +4157,9 @@ var SelectionLabel = (props) => {
4147
4157
  shrink: true,
4148
4158
  get hasParent() {
4149
4159
  return !!props.componentName;
4160
+ },
4161
+ get hasAgent() {
4162
+ return props.hasAgent;
4150
4163
  }
4151
4164
  }), null);
4152
4165
  insert(_el$30, createComponent(Show, {
@@ -6138,7 +6151,7 @@ var createAgentManager = (initialAgentOptions) => {
6138
6151
  agentOptions?.onResume?.(sessionWithResumeStatus);
6139
6152
  const abortController = new AbortController();
6140
6153
  abortControllers.set(existingSession.id, abortController);
6141
- const streamIterator = agentOptions.provider.resume(existingSession.id, abortController.signal);
6154
+ const streamIterator = agentOptions.provider.resume(existingSession.id, abortController.signal, storage);
6142
6155
  void executeSessionStream(existingSession, streamIterator);
6143
6156
  }
6144
6157
  };
@@ -6314,7 +6327,7 @@ var init = (rawOptions) => {
6314
6327
  hasInited = true;
6315
6328
  const logIntro = () => {
6316
6329
  try {
6317
- const version = "0.0.61";
6330
+ const version = "0.0.63";
6318
6331
  const logoDataUri = `data:image/svg+xml;base64,${btoa(LOGO_SVG)}`;
6319
6332
  console.log(`%cReact Grab${version ? ` v${version}` : ""}%c
6320
6333
  https://react-grab.com`, `background: #330039; color: #ffffff; border: 1px solid #d75fcb; padding: 4px 4px 4px 24px; border-radius: 4px; background-image: url("${logoDataUri}"); background-size: 16px 16px; background-repeat: no-repeat; background-position: 4px center; display: inline-block; margin-bottom: 4px;`, "");
@@ -6356,6 +6369,7 @@ https://react-grab.com`, `background: #330039; color: #ffffff; border: 1px solid
6356
6369
  const [didJustDrag, setDidJustDrag] = createSignal(false);
6357
6370
  const [copyStartX, setCopyStartX] = createSignal(OFFSCREEN_POSITION);
6358
6371
  const [copyStartY, setCopyStartY] = createSignal(OFFSCREEN_POSITION);
6372
+ const [copyOffsetFromCenterX, setCopyOffsetFromCenterX] = createSignal(0);
6359
6373
  const [viewportVersion, setViewportVersion] = createSignal(0);
6360
6374
  const [isInputMode, setIsInputMode] = createSignal(false);
6361
6375
  const [inputText, setInputText] = createSignal("");
@@ -6506,6 +6520,12 @@ https://react-grab.com`, `background: #330039; color: #ffffff; border: 1px solid
6506
6520
  const executeCopyOperation = async (positionX, positionY, operation, bounds, tagName, componentName, element) => {
6507
6521
  setCopyStartX(positionX);
6508
6522
  setCopyStartY(positionY);
6523
+ if (bounds) {
6524
+ const selectionCenterX = bounds.x + bounds.width / 2;
6525
+ setCopyOffsetFromCenterX(positionX - selectionCenterX);
6526
+ } else {
6527
+ setCopyOffsetFromCenterX(0);
6528
+ }
6509
6529
  setIsCopying(true);
6510
6530
  startProgressAnimation();
6511
6531
  const instanceId = bounds && tagName ? createLabelInstance(bounds, tagName, componentName, "copying", element, positionX) : null;
@@ -6708,12 +6728,27 @@ ${plainTextContentOnly}` : plainTextContentOnly;
6708
6728
  return _el$10;
6709
6729
  })();
6710
6730
  });
6711
- const cursorPosition = createMemo(() => isCopying() ? {
6712
- x: copyStartX(),
6713
- y: copyStartY()
6714
- } : {
6715
- x: mouseX(),
6716
- y: mouseY()
6731
+ const cursorPosition = createMemo(() => {
6732
+ if (isCopying() || isInputExpanded()) {
6733
+ viewportVersion();
6734
+ const element = frozenElement() || targetElement();
6735
+ if (element) {
6736
+ const bounds = createElementBounds(element);
6737
+ const selectionCenterX = bounds.x + bounds.width / 2;
6738
+ return {
6739
+ x: selectionCenterX + copyOffsetFromCenterX(),
6740
+ y: copyStartY()
6741
+ };
6742
+ }
6743
+ return {
6744
+ x: copyStartX(),
6745
+ y: copyStartY()
6746
+ };
6747
+ }
6748
+ return {
6749
+ x: mouseX(),
6750
+ y: mouseY()
6751
+ };
6717
6752
  });
6718
6753
  createEffect(on(() => [targetElement(), lastGrabbedElement()], ([currentElement, lastElement]) => {
6719
6754
  if (lastElement && currentElement && lastElement !== currentElement) {
@@ -6972,6 +7007,14 @@ ${plainTextContentOnly}` : plainTextContentOnly;
6972
7007
  deactivateRenderer();
6973
7008
  };
6974
7009
  const handleToggleExpand = () => {
7010
+ const element = frozenElement() || targetElement();
7011
+ if (element) {
7012
+ const bounds = createElementBounds(element);
7013
+ const selectionCenterX = bounds.x + bounds.width / 2;
7014
+ setCopyStartX(mouseX());
7015
+ setCopyStartY(mouseY());
7016
+ setCopyOffsetFromCenterX(mouseX() - selectionCenterX);
7017
+ }
6975
7018
  setIsToggleMode(true);
6976
7019
  setIsToggleFrozen(true);
6977
7020
  setIsInputExpanded(true);
@@ -7118,6 +7161,14 @@ ${plainTextContentOnly}` : plainTextContentOnly;
7118
7161
  if (event.key === "Enter" && isHoldingKeys() && !isInputMode()) {
7119
7162
  event.preventDefault();
7120
7163
  event.stopPropagation();
7164
+ const element = frozenElement() || targetElement();
7165
+ if (element) {
7166
+ const bounds = createElementBounds(element);
7167
+ const selectionCenterX = bounds.x + bounds.width / 2;
7168
+ setCopyStartX(mouseX());
7169
+ setCopyStartY(mouseY());
7170
+ setCopyOffsetFromCenterX(mouseX() - selectionCenterX);
7171
+ }
7121
7172
  setIsToggleMode(true);
7122
7173
  setIsToggleFrozen(true);
7123
7174
  setIsInputExpanded(true);
@@ -210,7 +210,7 @@ interface AgentSession {
210
210
  }
211
211
  interface AgentProvider<T = any> {
212
212
  send: (context: AgentContext<T>, signal: AbortSignal) => AsyncIterable<string>;
213
- resume?: (sessionId: string, signal: AbortSignal) => AsyncIterable<string>;
213
+ resume?: (sessionId: string, signal: AbortSignal, storage: AgentSessionStorage) => AsyncIterable<string>;
214
214
  supportsResume?: boolean;
215
215
  }
216
216
  interface AgentSessionStorage {
@@ -210,7 +210,7 @@ interface AgentSession {
210
210
  }
211
211
  interface AgentProvider<T = any> {
212
212
  send: (context: AgentContext<T>, signal: AbortSignal) => AsyncIterable<string>;
213
- resume?: (sessionId: string, signal: AbortSignal) => AsyncIterable<string>;
213
+ resume?: (sessionId: string, signal: AbortSignal, storage: AgentSessionStorage) => AsyncIterable<string>;
214
214
  supportsResume?: boolean;
215
215
  }
216
216
  interface AgentSessionStorage {
package/dist/core.cjs CHANGED
@@ -1,34 +1,34 @@
1
1
  'use strict';
2
2
 
3
- var chunk2EGDLG6B_cjs = require('./chunk-2EGDLG6B.cjs');
3
+ var chunkTAXVLGRB_cjs = require('./chunk-TAXVLGRB.cjs');
4
4
 
5
5
 
6
6
 
7
7
  Object.defineProperty(exports, "DEFAULT_THEME", {
8
8
  enumerable: true,
9
- get: function () { return chunk2EGDLG6B_cjs.DEFAULT_THEME; }
9
+ get: function () { return chunkTAXVLGRB_cjs.DEFAULT_THEME; }
10
10
  });
11
11
  Object.defineProperty(exports, "formatElementInfo", {
12
12
  enumerable: true,
13
- get: function () { return chunk2EGDLG6B_cjs.getElementContext; }
13
+ get: function () { return chunkTAXVLGRB_cjs.getElementContext; }
14
14
  });
15
15
  Object.defineProperty(exports, "generateSnippet", {
16
16
  enumerable: true,
17
- get: function () { return chunk2EGDLG6B_cjs.generateSnippet; }
17
+ get: function () { return chunkTAXVLGRB_cjs.generateSnippet; }
18
18
  });
19
19
  Object.defineProperty(exports, "getFileName", {
20
20
  enumerable: true,
21
- get: function () { return chunk2EGDLG6B_cjs.getFileName; }
21
+ get: function () { return chunkTAXVLGRB_cjs.getFileName; }
22
22
  });
23
23
  Object.defineProperty(exports, "getStack", {
24
24
  enumerable: true,
25
- get: function () { return chunk2EGDLG6B_cjs.getStack; }
25
+ get: function () { return chunkTAXVLGRB_cjs.getStack; }
26
26
  });
27
27
  Object.defineProperty(exports, "init", {
28
28
  enumerable: true,
29
- get: function () { return chunk2EGDLG6B_cjs.init; }
29
+ get: function () { return chunkTAXVLGRB_cjs.init; }
30
30
  });
31
31
  Object.defineProperty(exports, "isInstrumentationActive", {
32
32
  enumerable: true,
33
- get: function () { return chunk2EGDLG6B_cjs.Ee; }
33
+ get: function () { return chunkTAXVLGRB_cjs.Ee; }
34
34
  });
package/dist/core.d.cts CHANGED
@@ -1,3 +1,3 @@
1
- export { A as AgentContext, o as AgentProvider, n as AgentSession, D as DEFAULT_THEME, O as Options, f as OverlayBounds, R as ReactGrabAPI, s as ReactGrabRendererProps, a as formatElementInfo, b as generateSnippet, r as getFileName, g as getStack, i as init } from './core-Dpg0VXHq.cjs';
1
+ export { A as AgentContext, o as AgentProvider, n as AgentSession, p as AgentSessionStorage, D as DEFAULT_THEME, O as Options, f as OverlayBounds, R as ReactGrabAPI, s as ReactGrabRendererProps, a as formatElementInfo, b as generateSnippet, r as getFileName, g as getStack, i as init } from './core-CZmmuMr9.cjs';
2
2
  export { isInstrumentationActive } from 'bippy';
3
3
  import 'bippy/source';
package/dist/core.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export { A as AgentContext, o as AgentProvider, n as AgentSession, D as DEFAULT_THEME, O as Options, f as OverlayBounds, R as ReactGrabAPI, s as ReactGrabRendererProps, a as formatElementInfo, b as generateSnippet, r as getFileName, g as getStack, i as init } from './core-Dpg0VXHq.js';
1
+ export { A as AgentContext, o as AgentProvider, n as AgentSession, p as AgentSessionStorage, D as DEFAULT_THEME, O as Options, f as OverlayBounds, R as ReactGrabAPI, s as ReactGrabRendererProps, a as formatElementInfo, b as generateSnippet, r as getFileName, g as getStack, i as init } from './core-CZmmuMr9.js';
2
2
  export { isInstrumentationActive } from 'bippy';
3
3
  import 'bippy/source';
package/dist/core.js CHANGED
@@ -1 +1 @@
1
- export { DEFAULT_THEME, getElementContext as formatElementInfo, generateSnippet, getFileName, getStack, init, Ee as isInstrumentationActive } from './chunk-BPIV2CRB.js';
1
+ export { DEFAULT_THEME, getElementContext as formatElementInfo, generateSnippet, getFileName, getStack, init, Ee as isInstrumentationActive } from './chunk-GJFQUCRH.js';
package/dist/index.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunk2EGDLG6B_cjs = require('./chunk-2EGDLG6B.cjs');
3
+ var chunkTAXVLGRB_cjs = require('./chunk-TAXVLGRB.cjs');
4
4
 
5
5
  /**
6
6
  * @license MIT
@@ -31,7 +31,7 @@ if (typeof window !== "undefined") {
31
31
  if (window.__REACT_GRAB__) {
32
32
  globalApi = window.__REACT_GRAB__;
33
33
  } else {
34
- globalApi = chunk2EGDLG6B_cjs.init();
34
+ globalApi = chunkTAXVLGRB_cjs.init();
35
35
  window.__REACT_GRAB__ = globalApi;
36
36
  window.dispatchEvent(
37
37
  new CustomEvent("react-grab:init", { detail: globalApi })
@@ -41,27 +41,27 @@ if (typeof window !== "undefined") {
41
41
 
42
42
  Object.defineProperty(exports, "DEFAULT_THEME", {
43
43
  enumerable: true,
44
- get: function () { return chunk2EGDLG6B_cjs.DEFAULT_THEME; }
44
+ get: function () { return chunkTAXVLGRB_cjs.DEFAULT_THEME; }
45
45
  });
46
46
  Object.defineProperty(exports, "formatElementInfo", {
47
47
  enumerable: true,
48
- get: function () { return chunk2EGDLG6B_cjs.getElementContext; }
48
+ get: function () { return chunkTAXVLGRB_cjs.getElementContext; }
49
49
  });
50
50
  Object.defineProperty(exports, "generateSnippet", {
51
51
  enumerable: true,
52
- get: function () { return chunk2EGDLG6B_cjs.generateSnippet; }
52
+ get: function () { return chunkTAXVLGRB_cjs.generateSnippet; }
53
53
  });
54
54
  Object.defineProperty(exports, "getStack", {
55
55
  enumerable: true,
56
- get: function () { return chunk2EGDLG6B_cjs.getStack; }
56
+ get: function () { return chunkTAXVLGRB_cjs.getStack; }
57
57
  });
58
58
  Object.defineProperty(exports, "init", {
59
59
  enumerable: true,
60
- get: function () { return chunk2EGDLG6B_cjs.init; }
60
+ get: function () { return chunkTAXVLGRB_cjs.init; }
61
61
  });
62
62
  Object.defineProperty(exports, "isInstrumentationActive", {
63
63
  enumerable: true,
64
- get: function () { return chunk2EGDLG6B_cjs.Ee; }
64
+ get: function () { return chunkTAXVLGRB_cjs.Ee; }
65
65
  });
66
66
  exports.getGlobalApi = getGlobalApi;
67
67
  exports.setGlobalApi = setGlobalApi;
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- import { R as ReactGrabAPI } from './core-Dpg0VXHq.cjs';
2
- export { A as AgentContext, q as AgentOptions, o as AgentProvider, n as AgentSession, p as AgentSessionStorage, C as CrosshairContext, D as DEFAULT_THEME, k as DeepPartial, h as DragRect, m as ElementLabelContext, E as ElementLabelVariant, G as GrabbedBox, I as InputModeContext, O as Options, f as OverlayBounds, P as Position, c as ReactGrabState, j as Rect, e as RenderData, d as RenderType, l as SuccessLabelContext, S as SuccessLabelType, T as Theme, a as formatElementInfo, b as generateSnippet, g as getStack, i as init } from './core-Dpg0VXHq.cjs';
1
+ import { R as ReactGrabAPI } from './core-CZmmuMr9.cjs';
2
+ export { A as AgentContext, q as AgentOptions, o as AgentProvider, n as AgentSession, p as AgentSessionStorage, C as CrosshairContext, D as DEFAULT_THEME, k as DeepPartial, h as DragRect, m as ElementLabelContext, E as ElementLabelVariant, G as GrabbedBox, I as InputModeContext, O as Options, f as OverlayBounds, P as Position, c as ReactGrabState, j as Rect, e as RenderData, d as RenderType, l as SuccessLabelContext, S as SuccessLabelType, T as Theme, a as formatElementInfo, b as generateSnippet, g as getStack, i as init } from './core-CZmmuMr9.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-Dpg0VXHq.js';
2
- export { A as AgentContext, q as AgentOptions, o as AgentProvider, n as AgentSession, p as AgentSessionStorage, C as CrosshairContext, D as DEFAULT_THEME, k as DeepPartial, h as DragRect, m as ElementLabelContext, E as ElementLabelVariant, G as GrabbedBox, I as InputModeContext, O as Options, f as OverlayBounds, P as Position, c as ReactGrabState, j as Rect, e as RenderData, d as RenderType, l as SuccessLabelContext, S as SuccessLabelType, T as Theme, a as formatElementInfo, b as generateSnippet, g as getStack, i as init } from './core-Dpg0VXHq.js';
1
+ import { R as ReactGrabAPI } from './core-CZmmuMr9.js';
2
+ export { A as AgentContext, q as AgentOptions, o as AgentProvider, n as AgentSession, p as AgentSessionStorage, C as CrosshairContext, D as DEFAULT_THEME, k as DeepPartial, h as DragRect, m as ElementLabelContext, E as ElementLabelVariant, G as GrabbedBox, I as InputModeContext, O as Options, f as OverlayBounds, P as Position, c as ReactGrabState, j as Rect, e as RenderData, d as RenderType, l as SuccessLabelContext, S as SuccessLabelType, T as Theme, a as formatElementInfo, b as generateSnippet, g as getStack, i as init } from './core-CZmmuMr9.js';
3
3
  export { isInstrumentationActive } from 'bippy';
4
4
  import 'bippy/source';
5
5