grab 0.1.44-dev.dfbec6c → 0.1.44-dev.e83406b

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/dist/action-shortcuts-DmswYcw-.cjs +9 -0
  2. package/dist/action-shortcuts-YUNV0iE_.js +9 -0
  3. package/dist/copy-content-BLXwNmN4.js +10 -0
  4. package/dist/{index-BIpOgwSn.d.ts → copy-content-BM2MjZVW.d.cts} +252 -22
  5. package/dist/copy-content-Bsz7SEjz.cjs +10 -0
  6. package/dist/{index-tZxIGcmP.d.cts → copy-content-CBoQwSYB.d.ts} +252 -22
  7. package/dist/core/index.cjs +1 -1
  8. package/dist/core/index.d.cts +3 -3
  9. package/dist/core/index.d.ts +3 -3
  10. package/dist/core/index.js +1 -1
  11. package/dist/core-B4UzefSQ.js +15 -0
  12. package/dist/core-ByLHz2-f.cjs +15 -0
  13. package/dist/freeze-updates-B2KgZ8_j.js +51 -0
  14. package/dist/freeze-updates-CFJ5zHr0.cjs +51 -0
  15. package/dist/index-BTBtaQ_D.d.ts +27 -0
  16. package/dist/index-DsD2BMI2.d.cts +27 -0
  17. package/dist/index.cjs +1 -1
  18. package/dist/index.d.cts +3 -3
  19. package/dist/index.d.ts +3 -3
  20. package/dist/index.global.js +19 -19
  21. package/dist/index.js +1 -1
  22. package/dist/primitives.cjs +2 -2
  23. package/dist/primitives.d.cts +1 -1
  24. package/dist/primitives.d.ts +1 -1
  25. package/dist/primitives.js +2 -2
  26. package/dist/renderer-CeXDB7l3.cjs +9 -0
  27. package/dist/renderer-DkP7zXc1.js +9 -0
  28. package/dist/styles.css +1 -1
  29. package/package.json +2 -2
  30. package/dist/action-shortcuts-BCGIqI6T.js +0 -9
  31. package/dist/action-shortcuts-DXT2KNdD.cjs +0 -9
  32. package/dist/copy-content-3pnWacho.d.cts +0 -218
  33. package/dist/copy-content-DCsz7Ze6.js +0 -9
  34. package/dist/copy-content-DH6fBB50.d.ts +0 -218
  35. package/dist/copy-content-EC8YJXta.cjs +0 -9
  36. package/dist/core-B0mB6LyF.js +0 -11
  37. package/dist/core-hMQ-erpH.cjs +0 -11
  38. package/dist/freeze-updates-DljgjH0x.cjs +0 -52
  39. package/dist/freeze-updates-Dyrv0grd.js +0 -52
  40. package/dist/renderer-7Q98teqj.js +0 -13
  41. package/dist/renderer-we3AvOsd.cjs +0 -13
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @license MIT
3
+ *
4
+ * Copyright (c) 2025 Aiden Bai
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+ const e=require(`./freeze-updates-CFJ5zHr0.cjs`);var t=class extends Error{constructor(e){super(e),this.name=`ReactGrabError`}},n=class extends t{constructor(){super(`Can't generate CSS selector for non-element node type.`),this.name=`NonElementNodeError`}},r=class extends t{constructor(e){super(`Timeout: Can't find a unique selector after ${e}ms`),this.name=`SelectorTimeoutError`,this.timeoutMs=e}},i=class extends t{constructor(){super(`Selector was not found.`),this.name=`SelectorNotFoundError`}},a=class extends t{constructor(){super(`Failed to copy`),this.name=`CopyFailedError`}};const o=e=>{try{return decodeURIComponent(e)}catch{return e}},s=/(?:^|[/\\])node_modules[/\\]/,c=/[/\\]\.vite[/\\]deps[^/\\]*[/\\]/,l=/\.[mc]?[jt]sx?$/i,u=/^chunk-[A-Za-z0-9_-]+$/,d=/[/\\]/,f=/^(.+?)@v?\d/,p=e=>e.split(d).filter(Boolean),ee=e=>{let[t,n]=p(e);return!t||t.startsWith(`.`)?null:t.startsWith(`@`)?n?`${t}/${n}`:null:t},te=e=>{let t=p(e)[0];if(!t)return null;let n=t.replace(l,``);if(u.test(n))return null;if(!n.startsWith(`@`))return n;let r=n.indexOf(`_`);return r===-1?null:`${n.slice(0,r)}/${n.slice(r+1)}`},m=(e,t,n)=>{let r=e.split(t);return r.length>1?n(r[r.length-1]):null},h=e=>e?.match(f)?.[1]??null,ne=e=>{let t;try{t=new URL(e)}catch{return null}if(!t.hostname)return null;let n=p(t.pathname).map(o);for(let[e,t]of n.entries()){if(t.startsWith(`@`)){let r=h(n[e+1]);if(r)return`${t}/${r}`;continue}let r=h(t);if(r)return r}return null},re=e=>m(e,c,te)??m(e,s,ee),ie=t=>{if(!t)return null;let n=e.O(t);return n&&(re(o(n))||ne(t))||null},ae=/^@[A-Za-z0-9][A-Za-z0-9._-]*$/,oe=/^[A-Za-z0-9][A-Za-z0-9._-]*$/,se=new Set([`app`,`web`,`website`,`frontend`,`client`,`src`]),ce=new Set([`app`,`src`,`components`,`pages`,`features`,`modules`,`hooks`,`lib`,`utils`,`ui`,`shared`,`common`,`core`,`styles`,`assets`]),le=e=>{let t=e;for(;t.startsWith(`../`)||t.startsWith(`./`);)t=t.slice(t.startsWith(`../`)?3:2);return t},ue=t=>{let n=le(o(e.O(t)));if(n.startsWith(`/`))return null;let[r,i,...a]=p(n);return!r||!i||a.length===0||!ae.test(r)||ce.has(r.slice(1))||!oe.test(i)||l.test(i)||se.has(i)?null:`${r}/${i}`},de=e=>e?ie(e)??ue(e):null,g=t=>{if(!t)return{origin:`unknown`,packageName:null};let n=de(t);return n?{origin:`package`,packageName:n}:e.E(t)?{origin:`app`,packageName:null}:{origin:`unknown`,packageName:null}},fe=new Set([`role`,`name`,`aria-label`,`rel`,`href`]),_=e=>{if(!/^[a-z-]{3,}$/i.test(e))return!1;let t=e.split(/-|[A-Z]/);for(let e of t)if(e.length<=2||/[^aeiou]{4,}/i.test(e))return!1;return!0},pe=(e,t)=>{let n=fe.has(e)||e.startsWith(`data-`)&&_(e),r=_(t)&&t.length<100||t.startsWith(`#`)&&_(t.slice(1));return n&&r},v=e=>{let t=e[0].name;for(let n=1;n<e.length;n++)t=`${e[n].name} > ${t}`;return t},y=e=>{let t=0;for(let n of e)t+=n.penalty;return t},b=(e,t)=>y(e)-y(t),x=(e,t)=>{let n=e.parentNode;if(!n)return;let r=n.firstChild;if(!r)return;let i=0;for(;r&&(r instanceof Element&&(t===void 0||r.tagName.toLowerCase()===t)&&i++,r!==e);)r=r.nextSibling;return i},me=(e,t)=>e===`html`?`html`:`${e}:nth-child(${t})`,S=(e,t)=>e===`html`?`html`:`${e}:nth-of-type(${t})`,he=(e,t)=>{let n=[],r=e.getAttribute(`id`),i=e.tagName.toLowerCase();r&&_(r)&&n.push({name:`#${CSS.escape(r)}`,penalty:0});for(let t of e.classList)_(t)&&n.push({name:`.${CSS.escape(t)}`,penalty:1});for(let r of e.attributes)t(r.name,r.value)&&n.push({name:`[${CSS.escape(r.name)}="${CSS.escape(r.value)}"]`,penalty:2});n.push({name:i,penalty:5});let a=x(e,i);a!==void 0&&n.push({name:S(i,a),penalty:10});let o=x(e);return o!==void 0&&n.push({name:me(i,o),penalty:50}),n},C=(t,n=e.ut,r=[])=>{if(n<=0)return[];if(t.length===0)return[r];let i=[];for(let e of t[0]){let a=n-i.length;if(a<=0)break;i.push(...C(t.slice(1),a,[...r,e]))}return i},ge=(e,t)=>{let n=t.getRootNode?.();return n instanceof ShadowRoot?n:e instanceof Document?e:e.ownerDocument},w=(e,t)=>t.querySelectorAll(v(e)).length===1,_e=(e,t)=>{let n=e,r=[];for(;n&&n!==t;){let e=n.tagName.toLowerCase(),t=x(n,e);if(t===void 0)return;r.push({name:S(e,t),penalty:10}),n=n.parentElement}return w(r,t)?r:void 0},ve=(e,t,a,o)=>{if(e.nodeType!==Node.ELEMENT_NODE)throw new n;if(e.tagName.toLowerCase()===`html`)return`html`;let s=ge(t,e),c=Date.now(),l=[],u=e,d=0,f;for(;u&&u!==s&&!f;)if(l.push(he(u,o)),u=u.parentElement,d++,d>=3){let t=C(l);t.sort(b);for(let n of t){if(Date.now()-c>a){let t=_e(e,s);if(!t)throw new r(a);return v(t)}if(w(n,s)){f=n;break}}}if(!f&&d<3){let e=C(l);e.sort(b);for(let t of e){if(Date.now()-c>a)break;if(w(t,s)){f=t;break}}}if(!f)throw new i;return v(f)},T=e=>e.ownerDocument.body??e.ownerDocument.documentElement,E=new Set([`data-testid`,`data-test-id`,`data-test`,`data-cy`,`data-qa`,`aria-label`,`href`,`src`,`role`,`name`,`title`,`alt`]),D=e=>e.length>0&&e.length<=120,O=(e,t)=>{try{let n=e.ownerDocument.querySelectorAll(t);return n.length===1&&n[0]===e}catch{return!1}},ye=e=>{if(e instanceof HTMLElement&&e.id){let t=`#${CSS.escape(e.id)}`;if(O(e,t))return t}for(let t of E){let n=e.getAttribute(t);if(!n||!D(n))continue;let r=`[${t}=${JSON.stringify(n)}]`;if(O(e,r))return r;let i=`${e.tagName.toLowerCase()}${r}`;if(O(e,i))return i}return null},be=e=>{let t=[],n=T(e),r=e;for(;r;){if(r instanceof HTMLElement&&r.id){t.unshift(`#${CSS.escape(r.id)}`);break}let e=r.parentElement;if(!e){t.unshift(r.tagName.toLowerCase());break}let i=Array.from(e.children).indexOf(r)+1;if(t.unshift(`${r.tagName.toLowerCase()}:nth-child(${i})`),e===n){t.unshift(n.tagName.toLowerCase());break}r=e}return t.join(` > `)},k=e=>{let t=ye(e);if(t)return t;try{let t=ve(e,T(e),200,(e,t)=>pe(e,t)||E.has(e)&&D(t));if(t)return t}catch{}return be(e)},A=[`about://React/`,`rsc://React/`],xe=e=>A.some(t=>e.startsWith(t)),j=e=>{for(let t of A){if(!e.startsWith(t))continue;let n=e.indexOf(`/`,t.length);if(n===-1)continue;let r=n+1,i=e.lastIndexOf(`?`);return o(i>r?e.slice(r,i):e.slice(r))}return e},M=async t=>{let n=[],r=[];for(let e=0;e<t.length;e++){let i=t[e];!i.isServer||!i.fileName||(n.push(e),r.push({file:j(i.fileName),methodName:i.functionName??`<unknown>`,line1:i.lineNumber??null,column1:i.columnNumber??null,arguments:[]}))}if(r.length===0)return t;let i=new AbortController,a=setTimeout(()=>i.abort(),e.At);try{let a=await fetch(`${e.x()}/__nextjs_original-stack-frames`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({frames:r,isServer:!0,isEdgeServer:!1,isAppDirectory:!0}),signal:i.signal});if(!a.ok)return t;let o=await a.json(),s=[...t];for(let e=0;e<n.length;e++){let r=o[e];if(r?.status!==`fulfilled`)continue;let i=r.value?.originalStackFrame;if(!i?.file||i.ignored)continue;let a=n[e];s[a]={...t[a],fileName:i.file,lineNumber:i.line1??void 0,columnNumber:i.column1??void 0,isSymbolicated:!0}}return s}catch{return t}finally{clearTimeout(a)}},Se=t=>{let n=new Map;return e.j(t,t=>{if(!e.k(t))return!1;let r=e.T(t._debugStack.stack);if(!r)return!1;for(let t of e.A(r))!t.functionName||!t.fileName||xe(t.fileName)&&(n.has(t.functionName)||n.set(t.functionName,{...t,isServer:!0}));return!1},!0),n},Ce=(e,t)=>{if(!t.some(e=>e.isServer&&!e.fileName&&e.functionName))return t;let n=Se(e);return n.size===0?t:t.map(e=>{if(!e.isServer||e.fileName||!e.functionName)return e;let t=n.get(e.functionName);return t?{...e,fileName:t.fileName,lineNumber:t.lineNumber,columnNumber:t.columnNumber}:e})},N=(e,t)=>e.length>t?`${e.slice(0,t)}...`:e,we=e=>e.startsWith(`data-react-grab-`),P=e=>e.replace(/\s+/g,` `).trim(),Te=e=>{let t=[];for(let n of e.childNodes){if(n.nodeType!==Node.TEXT_NODE)continue;let e=P(n.textContent??``);e&&t.push(e)}return t.join(` `)},F=t=>t.getAttribute(`aria-hidden`)===`true`||t.hasAttribute(`hidden`)?!0:e.Et.has(t.tagName.toLowerCase()),I=(e,t,n)=>{if(e.nodeType===Node.TEXT_NODE){let r=P(e.textContent??``);return r?(t.push(r),n-r.length):n}if(!(e instanceof Element)||F(e))return n;for(let r of e.childNodes)if(n=I(r,t,n),n<=0)break;return n},L=(t,n)=>{if(F(t))return``;let r=Te(t);if(!e.Ct.has(n)||r&&t.children.length===0)return r;let i=[];return I(t,i,100),i.join(` `)},R=e=>N(e,15),Ee=t=>{let n=[];for(let r of e.Tt){let e=t.getAttribute(r);e&&n.push(`${r}="${e}"`)}return n.length>0?` ${n.join(` `)}`:``},De=e=>e===`class`||e===`className`||e===`style`,z=t=>{let n=[],r=[],i=``;for(let{name:a,value:o}of t.attributes)if(!we(a)){if(De(a)){a!==`style`&&o&&(i=` class="${R(o)}"`);continue}e.wt.has(a)?n.push(o?` ${a}="${o}"`:` ${a}`):o&&r.push(` ${a}="${R(o)}"`)}return n.join(``)+r.join(``)+i},B=t=>t.length===0?``:t.length<=2?t.map(t=>`<${e.R(t)} ...>`).join(`
10
+ `):`(${t.length} elements)`,Oe=t=>{let n=e.R(t);if(!(t instanceof HTMLElement))return`<${n}${Ee(t)} />`;let r=z(t),i=N(L(t,n),100);return i?`<${n}${r}>${i}</${n}>`:`<${n}${r} />`},V=t=>{let n=e.R(t),r=z(t),i=L(t,n),a=[],o=[],s=!1;for(let e of t.childNodes)e.nodeType!==Node.COMMENT_NODE&&(e.nodeType===Node.TEXT_NODE?e.textContent&&e.textContent.trim().length>0&&(s=!0):e instanceof Element&&(s?o.push(e):a.push(e)));let c=i.length>0&&e.Ct.has(n),l=``,u=B(a);u&&!c&&(l+=`\n ${u}`),i&&(l+=`\n ${N(i,100)}`);let d=B(o);return d&&!c&&(l+=`\n ${d}`),l.length>0?`<${n}${r}>${l}\n</${n}>`:`<${n}${r} />`},ke=new Set([`_`,`$`,`motion.`,`styled.`,`chakra.`,`ark.`,`Primitive.`,`Slot.`]),Ae=new Set(`AppRouter.AppRouterAnnouncer.AppDevOverlay.AppDevOverlayErrorBoundary.ClientPageRoot.ClientSegmentRoot.DevRootHTTPAccessFallbackBoundary.ErrorBoundary.ErrorBoundaryHandler.GracefulDegradeBoundary.HTTPAccessErrorFallback.HTTPAccessFallbackBoundary.HTTPAccessFallbackErrorBoundary.HandleRedirect.Head.HistoryUpdater.HotReload.InnerLayoutRouter.InnerScrollAndFocusHandler.InnerScrollAndFocusHandlerOld.InnerScrollAndMaybeFocusHandler.InnerScrollHandlerNew.LoadableComponent.LoadingBoundary.LoadingBoundaryProvider.NotAllowedRootHTTPFallbackError.OfflineProvider.OuterLayoutRouter.RedirectBoundary.RedirectErrorBoundary.RenderFromTemplateContext.RenderValidationBoundaryAtThisLevel.ReplaySsrOnlyErrors.RootErrorBoundary.RootLevelDevOverlayElement.Router.ScrollAndFocusHandler.ScrollAndMaybeFocusHandler.SegmentBoundaryTrigger.SegmentBoundaryTriggerNode.SegmentStateProvider.SegmentTrieNode.SegmentViewNode.SegmentViewStateNode.ServerRoot.body.html`.split(`.`)),je=new Set([`Suspense`,`Fragment`,`StrictMode`,`Profiler`,`SuspenseList`]),Me=new Set([`MotionDOMComponent`]),H=e=>{if(Ae.has(e)||je.has(e)||Me.has(e))return!0;for(let t of ke)if(e.startsWith(t))return!0;return!1},Ne=e=>!(!e||H(e)||e===`SlotClone`||e===`Slot`),Pe=e=>!(e.length<=1||H(e)||e[0]!==e[0].toUpperCase()||e.endsWith(`Provider`)||e.endsWith(`Context`)),U=e=>e&&Pe(e)?e:null,W=t=>{if(!e.M())return t;let n=t;for(;n;){if(e.P(n))return n;n=n.parentElement}return t},Fe=t=>{if(!e.M())return null;let n=e.P(W(t)),r=0;for(;n;){if(n.key)return n.key;if(e.F(n)&&(r+=1,r===2))break;n=n.return}return null},G=new WeakMap,K=new WeakMap,Ie=async t=>{try{let n=e.P(t);if(!n)return null;let r=await e.D(n);return e.S()?await M(Ce(n,r)):r}catch{return null}},q=t=>{if(!e.M())return Promise.resolve([]);let n=W(t),r=G.get(n);if(r)return r;let i=Ie(n);return G.set(n,i),i},Le=async t=>{if(!e.M())return null;let n=await q(t);if(!n)return null;for(let e of n){let t=U(e.functionName);if(t)return t}return null},Re=e=>e.find(e=>!!U(e.functionName))??e[0]??null,ze=t=>!t||!e.F(t)?null:U(e.N(t.type)),Be=async t=>{let n=e.P(W(t));if(!n)return null;try{let t=await e.w(n);return t?.fileName?{filePath:e.C(t.fileName),lineNumber:t.lineNumber??null,columnNumber:t.columnNumber??null,componentName:U(t.functionName)??ze(n._debugOwner),origin:g(t.fileName).origin}:null}catch{return null}},J=e=>{let t=W(e),n=K.get(t);if(n)return n;let r=Be(t).then(e=>(e||K.delete(t),e));return K.set(t,r),r},Ve=[`app`,`package`],He=(t,n)=>{for(let r of Ve){if(t?.origin===r)return t;let i=Re(n.filter(e=>g(e.fileName).origin===r));if(i?.fileName)return{filePath:e.C(i.fileName),lineNumber:i.lineNumber??null,columnNumber:i.columnNumber??null,componentName:U(i.functionName),origin:r}}return null},Ue=async e=>{let t=await J(e);return t?.origin===`app`?t:He(t,await q(e)??[])},We=e=>Y(W(e),1)[0]??null,Y=(t,n)=>{if(!e.M())return[];let r=e.P(t);if(!r)return[];let i=[];return e.j(r,t=>{if(i.length>=n)return!0;if(e.F(t)){let n=e.N(t.type);n&&Ne(n)&&i.push(n)}return!1},!0),i},X=[`/src/app/`,`/src/pages/`,`/app/`,`/pages/`],Ge=(t,n)=>{let r=e.C(t);if(!n||!r.startsWith(`/`))return r;for(let e of X){let t=r.indexOf(e);if(t!==-1)return`/./${r.slice(t+1)}`}return r},Z=(e,t)=>{let n=Ge(e.filePath,t),r=t&&e.lineNumber?`${n}:${e.lineNumber}${e.columnNumber?`:${e.columnNumber}`:``}`:n;return e.componentName?`\n in ${e.componentName} (at ${r})`:`\n in ${r}`},Ke=(e,t,n,r)=>{let i=t.packageName,a=t.origin===`app`?e.fileName:null;if(e.isServer&&!a&&(n||!e.functionName)){let e=i?`${i} at Server`:`at Server`;return{text:`\n in ${n??`<anonymous>`} (${e})`,isTrustedSource:!1}}return!a&&n?{text:i?`\n in ${n} (${i})`:`\n in ${n}`,isTrustedSource:!1}:i?{text:`\n in ${i}`,isTrustedSource:!1}:a?{text:Z({componentName:n,filePath:a,lineNumber:e.lineNumber??null,columnNumber:e.columnNumber??null},r),isTrustedSource:!0}:null},qe=(t,n={},r=null)=>{let{maxLines:i=3}=n,a=Math.max(i,20),o=e.S(),s=[],c=null,l=!1,u=!1,d=0;r&&(u=r.origin===`app`,d+=1,s.push(Z(r,o)));for(let e of t){if(d>=i||s.length>=a)break;let t=g(e.fileName),n=U(e.functionName),f=t.packageName?`${t.packageName}:${n??``}:${e.isServer?`server`:`client`}`:null;if(f&&f===c)continue;if(!l&&n&&n===r?.componentName){l=!0;continue}let p=Ke(e,t,n,o);p!==null&&(p.isTrustedSource&&(u=!0,d+=1),s.push(p.text),c=f)}return{text:s.join(``),shouldAppendSelectorHint:!u}},Je=async e=>{let t=await J(e);return t?.origin===`app`?t:null},Q=async(e,t={})=>{let n=await Je(e),r=qe(await q(e)??[],t,n);if(r.text)return r;let i=Y(W(e),t.maxLines??3);return i.length>0?{text:i.map(e=>`\n in ${e}`).join(``),shouldAppendSelectorHint:!0}:{text:``,shouldAppendSelectorHint:!0}},Ye=async(e,t={})=>(await Q(e,t)).text,$=(e,t)=>{let n=Fe(e),r=n===null?``:`\n key: "${n}"`,i=t.shouldAppendSelectorHint?`\n selector: ${k(e)}`:``;return`${t.text}${r}${i}`},Xe=async(e,t={})=>{let n=await Q(e,t);return`${Oe(e)}${$(e,n).replace(/\n\s+/g,` `)}`},Ze=async(e,t={})=>{let n=W(e);return`${V(n)}${$(n,await Q(n,t))}`},Qe=e=>e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`),$e=(t,n)=>{let r=n?.componentName??`div`,i={version:e.Mt,content:t,entries:n?.entries??[{tagName:n?.tagName,componentName:r,content:t,commentText:n?.commentText}],timestamp:Date.now()},a=e=>{e.preventDefault(),e.clipboardData?.setData(`text/plain`,t),e.clipboardData?.setData(`text/html`,`<meta charset='utf-8'><pre><code>${Qe(t)}</code></pre>`),e.clipboardData?.setData(`application/x-react-grab`,JSON.stringify(i))};document.addEventListener(`copy`,a);let o=document.createElement(`textarea`);o.value=t,o.style.position=`fixed`,o.style.left=`-9999px`,o.ariaHidden=`true`,document.body.appendChild(o),o.select();try{return typeof document.execCommand==`function`?document.execCommand(`copy`):!1}finally{document.removeEventListener(`copy`,a),o.remove()}};Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return Le}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return Ue}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return Xe}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return Ze}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return We}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return Ye}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return $e}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return k}});
@@ -6,8 +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 { n as StackFrame } from "./copy-content-3pnWacho.cjs";
10
-
11
9
  //#region ../../node_modules/.pnpm/solid-js@1.9.12/node_modules/solid-js/types/reactive/observable.d.ts
12
10
  declare global {
13
11
  interface SymbolConstructor {
@@ -195,10 +193,30 @@ interface EnumEditableProperty extends EditablePropertyBase {
195
193
  options: ReadonlyArray<EnumEditableOption>;
196
194
  }
197
195
  type EditableProperty = NumericEditableProperty | ColorEditableProperty | EnumEditableProperty;
196
+ interface NumericPendingEdit {
197
+ kind: "numeric";
198
+ key: string;
199
+ cssProperties: readonly string[];
200
+ value: number;
201
+ unit: string;
202
+ }
203
+ interface ColorPendingEdit {
204
+ kind: "color";
205
+ key: string;
206
+ cssProperties: readonly string[];
207
+ value: string;
208
+ }
209
+ interface EnumPendingEdit {
210
+ kind: "enum";
211
+ key: string;
212
+ cssProperties: readonly string[];
213
+ value: string;
214
+ }
215
+ type PendingEdit = NumericPendingEdit | ColorPendingEdit | EnumPendingEdit;
216
+ type PendingEdits = PendingEdit[];
198
217
  interface PreviewStyles {
199
218
  apply: (cssProperties: readonly string[], cssValue: string) => void;
200
219
  restore: () => void;
201
- forget: () => void;
202
220
  hasAppliedStyles: () => boolean;
203
221
  }
204
222
  interface EditPanelState {
@@ -213,6 +231,7 @@ interface EditPanelState {
213
231
  tagName?: string;
214
232
  htmlPreview?: string;
215
233
  initialSearchQuery?: string;
234
+ hasSessionEdits?: boolean;
216
235
  }
217
236
  interface ContextMenuAction {
218
237
  id: string;
@@ -312,7 +331,6 @@ interface DropdownAnchor {
312
331
  x: number;
313
332
  y: number;
314
333
  edge: ToolbarState["edge"];
315
- toolbarWidth: number;
316
334
  }
317
335
  interface ReactGrabAPI {
318
336
  activate: () => void;
@@ -403,10 +421,9 @@ interface ReactGrabRendererProps {
403
421
  onInputChange?: (value: string) => void;
404
422
  onInputSubmit?: () => void;
405
423
  onToggleExpand?: () => void;
406
- isPendingDismiss?: boolean;
407
424
  selectionLabelShakeCount?: number;
408
425
  onConfirmDismiss?: () => void;
409
- onCancelDismiss?: () => void;
426
+ discardPrompt?: SelectionDiscardPrompt;
410
427
  toolbarVisible?: boolean;
411
428
  isActive?: boolean;
412
429
  onToggleActive?: () => void;
@@ -436,7 +453,8 @@ interface ReactGrabRendererProps {
436
453
  editPanelState?: EditPanelState | null;
437
454
  editPanelPosition?: DropdownAnchor | null;
438
455
  onEditPanelDismiss?: () => void;
439
- onEditPanelSubmit?: (prompt: string) => void;
456
+ onEditPanelSubmit?: (pendingEdits: PendingEdits) => void;
457
+ onEditPanelPendingEditsChange?: (pendingEdits: PendingEdits) => void;
440
458
  onEditPanelInteractingChange?: (interacting: boolean) => void;
441
459
  }
442
460
  interface GrabbedBox {
@@ -457,24 +475,236 @@ interface DragRect {
457
475
  width: number;
458
476
  height: number;
459
477
  }
460
- //#endregion
461
- //#region src/core/context.d.ts
462
- declare const getStack: (element: Element) => Promise<StackFrame[] | null>;
463
- interface StackContextOptions {
464
- maxLines?: number;
478
+ interface SelectionDiscardPrompt {
479
+ isKeyboardSelection?: boolean;
480
+ label?: string;
481
+ cancelOnEscape?: boolean;
482
+ onConfirm?: () => void;
483
+ onCancel?: () => void;
484
+ onCopy?: () => void;
485
+ }
486
+ interface SourceLocation extends SourceInfo {
487
+ columnNumber: number | null;
488
+ }
489
+ interface ReactGrabStackFrame {
490
+ functionName?: string;
491
+ fileName?: string;
492
+ lineNumber?: number;
493
+ columnNumber?: number;
494
+ isServer?: boolean;
495
+ isSymbolicated?: boolean;
496
+ }
497
+ interface ReactGrabEntry {
498
+ tagName?: string;
499
+ componentName?: string;
500
+ content: string;
501
+ commentText?: string;
502
+ source?: SourceLocation | null;
503
+ stackContext?: string;
504
+ frames?: ReactGrabStackFrame[];
465
505
  }
466
- declare const getElementContext: (element: Element, options?: StackContextOptions) => Promise<string>;
467
506
  //#endregion
468
- //#region src/core/theme.d.ts
469
- declare const DEFAULT_THEME: Required<Theme>;
507
+ //#region ../../node_modules/.pnpm/bippy@0.5.41_react@19.2.6/node_modules/bippy/dist/core.d.ts
508
+ type Flags = number;
509
+ type Lanes = number;
510
+ type TypeOfMode = number;
511
+ type WorkTag = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31;
512
+ type HookType = "useState" | "useReducer" | "useContext" | "useRef" | "useEffect" | "useLayoutEffect" | "useCallback" | "useMemo" | "useImperativeHandle" | "useDebugValue" | "useDeferredValue" | "useTransition" | "useMutableSource" | "useOpaqueIdentifier" | "useCacheRefresh";
513
+ type FiberRoot = any;
514
+ interface Source {
515
+ fileName: string;
516
+ lineNumber: number;
517
+ }
518
+ interface RefObject {
519
+ current: any;
520
+ }
521
+ interface ReactContext<T> {
522
+ $$typeof: symbol | number;
523
+ Consumer: ReactContext<T>;
524
+ Provider: ReactProviderType<T>;
525
+ _calculateChangedBits: ((a: T, b: T) => number) | null;
526
+ _currentValue: T;
527
+ _currentValue2: T;
528
+ _threadCount: number;
529
+ _currentRenderer?: Record<string, any> | null;
530
+ _currentRenderer2?: Record<string, any> | null;
531
+ displayName?: string;
532
+ }
533
+ interface ReactProviderType<T> {
534
+ $$typeof: symbol | number;
535
+ _context: ReactContext<T>;
536
+ }
537
+ interface ReactFiber {
538
+ tag: WorkTag;
539
+ key: null | string;
540
+ elementType: any;
541
+ type: any;
542
+ stateNode: any;
543
+ return: ReactFiber | null;
544
+ child: ReactFiber | null;
545
+ sibling: ReactFiber | null;
546
+ index: number;
547
+ ref: null | (((handle: unknown) => void) & {
548
+ _stringRef?: string | null;
549
+ }) | RefObject;
550
+ pendingProps: any;
551
+ memoizedProps: any;
552
+ updateQueue: unknown;
553
+ memoizedState: any;
554
+ dependencies: Dependencies | null;
555
+ mode: TypeOfMode;
556
+ flags: Flags;
557
+ subtreeFlags: Flags;
558
+ deletions: ReactFiber[] | null;
559
+ nextEffect: ReactFiber | null;
560
+ firstEffect: ReactFiber | null;
561
+ lastEffect: ReactFiber | null;
562
+ lanes: Lanes;
563
+ childLanes: Lanes;
564
+ alternate: ReactFiber | null;
565
+ actualDuration?: number;
566
+ actualStartTime?: number;
567
+ selfBaseDuration?: number;
568
+ treeBaseDuration?: number;
569
+ _debugID?: number;
570
+ _debugSource?: Source | null;
571
+ _debugOwner?: ReactFiber | null;
572
+ _debugIsCurrentlyTiming?: boolean;
573
+ _debugNeedsRemount?: boolean;
574
+ _debugHookTypes?: HookType[] | null;
575
+ }
576
+ interface ContextDependency<T> {
577
+ context: ReactContext<T>;
578
+ memoizedValue: T;
579
+ next: ContextDependency<unknown> | null;
580
+ observedBits: number;
581
+ }
582
+ interface Dependencies {
583
+ firstContext: ContextDependency<unknown> | null;
584
+ lanes: Lanes;
585
+ }
586
+ interface Effect {
587
+ [key: string]: unknown;
588
+ create: (...args: unknown[]) => unknown;
589
+ deps: null | unknown[];
590
+ destroy: ((...args: unknown[]) => unknown) | null;
591
+ next: Effect | null;
592
+ tag: number;
593
+ }
594
+ interface Family {
595
+ current: unknown;
596
+ }
597
+ /**
598
+ * Represents a react-internal Fiber node.
599
+ */
600
+ type Fiber<T = any> = Omit<ReactFiber, "alternate" | "child" | "dependencies" | "memoizedProps" | "memoizedState" | "pendingProps" | "return" | "sibling" | "stateNode" | "updateQueue"> & {
601
+ _debugInfo?: Array<{
602
+ debugLocation?: unknown;
603
+ env?: string;
604
+ name?: string;
605
+ }>;
606
+ _debugOwner?: Fiber;
607
+ _debugSource?: {
608
+ columnNumber?: number;
609
+ fileName: string;
610
+ lineNumber: number;
611
+ };
612
+ _debugStack?: Error & {
613
+ stack: string;
614
+ };
615
+ alternate: Fiber | null;
616
+ child: Fiber | null;
617
+ dependencies: Dependencies | null;
618
+ memoizedProps: Props;
619
+ memoizedState: MemoizedState;
620
+ pendingProps: Props;
621
+ return: Fiber | null;
622
+ sibling: Fiber | null;
623
+ stateNode: T;
624
+ updateQueue: {
625
+ [key: string]: unknown;
626
+ lastEffect: Effect | null;
627
+ };
628
+ };
629
+ interface MemoizedState {
630
+ [key: string]: unknown;
631
+ memoizedState: unknown;
632
+ next: MemoizedState | null;
633
+ }
634
+ interface Props {
635
+ [key: string]: unknown;
636
+ }
637
+ interface ReactDevToolsGlobalHook {
638
+ _instrumentationIsActive?: boolean;
639
+ _instrumentationSource?: string;
640
+ checkDCE: (fn: unknown) => void;
641
+ hasUnsupportedRendererAttached: boolean;
642
+ inject: (renderer: ReactRenderer) => number;
643
+ on: () => void;
644
+ onCommitFiberRoot: (rendererID: number, root: FiberRoot, priority: number | void) => void;
645
+ onCommitFiberUnmount: (rendererID: number, fiber: Fiber) => void;
646
+ onPostCommitFiberRoot: (rendererID: number, root: FiberRoot) => void;
647
+ renderers: Map<number, ReactRenderer>;
648
+ supportsFiber: boolean;
649
+ supportsFlight: boolean;
650
+ }
651
+ interface ReactRenderer {
652
+ bundleType: 0 | 1;
653
+ currentDispatcherRef: any;
654
+ findFiberByHostInstance?: (hostInstance: unknown) => Fiber | null;
655
+ getCurrentFiber?: (fiber: Fiber) => Fiber | null;
656
+ overrideContext?: (fiber: Fiber, contextType: unknown, path: string[], value: unknown) => void;
657
+ overrideHookState?: (fiber: Fiber, id: string, path: string[], value: unknown) => void;
658
+ overrideHookStateDeletePath?: (fiber: Fiber, id: number, path: Array<number | string>) => void;
659
+ overrideHookStateRenamePath?: (fiber: Fiber, id: number, oldPath: Array<number | string>, newPath: Array<number | string>) => void;
660
+ overrideProps?: (fiber: Fiber, path: string[], value: unknown) => void;
661
+ overridePropsDeletePath?: (fiber: Fiber, path: Array<number | string>) => void;
662
+ overridePropsRenamePath?: (fiber: Fiber, oldPath: Array<number | string>, newPath: Array<number | string>) => void;
663
+ reconcilerVersion: string;
664
+ rendererPackageName: string;
665
+ scheduleRefresh?: (root: FiberRoot, update: {
666
+ staleFamilies: Set<Family>;
667
+ updatedFamilies: Set<Family>;
668
+ }) => void;
669
+ scheduleRoot?: (root: FiberRoot, element: React.ReactNode) => void;
670
+ scheduleUpdate?: (fiber: Fiber) => void;
671
+ setErrorHandler?: (newShouldErrorImpl: (fiber: Fiber) => boolean) => void;
672
+ setRefreshHandler?: (handler: ((fiber: Fiber) => Family | null) | null) => void;
673
+ setSuspenseHandler?: (newShouldSuspendImpl: (suspenseInstance: unknown) => void) => void;
674
+ version: string;
675
+ }
676
+ declare global {
677
+ var __REACT_DEVTOOLS_GLOBAL_HOOK__: ReactDevToolsGlobalHook | undefined;
678
+ } //#endregion
679
+ //#region src/rdt-hook.d.ts
680
+ /**
681
+ * Returns `true` if bippy's instrumentation is active.
682
+ */
683
+ declare const isInstrumentationActive: () => boolean;
684
+ /**
685
+ * Returns the latest fiber (since it may be double-buffered).
686
+ */
470
687
  //#endregion
471
- //#region src/utils/generate-snippet.d.ts
472
- interface GenerateSnippetOptions {
473
- maxLines?: number;
688
+ //#region ../../node_modules/.pnpm/bippy@0.5.41_react@19.2.6/node_modules/bippy/dist/source.d.ts
689
+ //#region src/source/parse-stack.d.ts
690
+ interface StackFrame {
691
+ args?: unknown[];
692
+ columnNumber?: number;
693
+ lineNumber?: number;
694
+ fileName?: string;
695
+ functionName?: string;
696
+ source?: string;
697
+ isServer?: boolean;
698
+ isSymbolicated?: boolean;
474
699
  }
475
- declare const generateSnippet: (elements: Element[], options?: GenerateSnippetOptions) => Promise<string[]>;
476
700
  //#endregion
477
- //#region src/core/index.d.ts
478
- declare const init: (rawOptions?: Options) => ReactGrabAPI;
701
+ //#region src/utils/copy-content.d.ts
702
+ interface CopyContentOptions {
703
+ componentName?: string;
704
+ tagName?: string;
705
+ commentText?: string;
706
+ entries?: ReactGrabEntry[];
707
+ }
708
+ declare const copyContent: (content: string, options?: CopyContentOptions) => boolean;
479
709
  //#endregion
480
- export { Theme as A, PromptModeContext as C, Rect as D, ReactGrabState as E, SettableOptions as O, Position as S, ReactGrabRendererProps as T, Options as _, getStack as a, PluginConfig as b, ActivationMode as c, ContextMenuActionContext as d, DeepPartial as f, GrabbedBox as g, ElementLabelVariant as h, getElementContext as i, ToolbarState as j, SourceInfo as k, AgentContext as l, ElementLabelContext as m, generateSnippet as n, ActionContext as o, DragRect as p, DEFAULT_THEME as r, ActionContextHooks as s, init as t, ContextMenuAction as u, OverlayBounds as v, ReactGrabAPI as w, PluginHooks as x, Plugin as y };
710
+ export { ToolbarState as A, ReactGrabAPI as C, SettableOptions as D, Rect as E, SourceInfo as O, PromptModeContext as S, ReactGrabState as T, OverlayBounds as _, ActionContext as a, PluginHooks as b, AgentContext as c, DeepPartial as d, DragRect as f, Options as g, GrabbedBox as h, isInstrumentationActive as i, Theme 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, Plugin as v, ReactGrabRendererProps as w, Position as x, PluginConfig 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-hMQ-erpH.cjs`),t=require(`../freeze-updates-DljgjH0x.cjs`),n=require(`../copy-content-EC8YJXta.cjs`);exports.DEFAULT_THEME=e.a,exports.copyContent=n.t,exports.formatElementInfo=t.S,exports.generateSnippet=e.n,exports.getStack=t.E,exports.init=e.t,exports.isInstrumentationActive=t.A;
9
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../core-ByLHz2-f.cjs`),t=require(`../freeze-updates-CFJ5zHr0.cjs`),n=require(`../copy-content-Bsz7SEjz.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.M;
@@ -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 { O as SettableOptions, T as ReactGrabRendererProps, _ as Options, a as getStack, b as PluginConfig, i as getElementContext, k as SourceInfo, l as AgentContext, n as generateSnippet, o as ActionContext, r as DEFAULT_THEME, t as init, u as ContextMenuAction, v as OverlayBounds, w as ReactGrabAPI, x as PluginHooks, y as Plugin } from "../index-tZxIGcmP.cjs";
10
- import { i as isInstrumentationActive, t as copyContent } from "../copy-content-3pnWacho.cjs";
11
- export { ActionContext, AgentContext, ContextMenuAction, DEFAULT_THEME, Options, OverlayBounds, Plugin, PluginConfig, PluginHooks, ReactGrabAPI, ReactGrabRendererProps, SettableOptions, SourceInfo, copyContent, getElementContext as formatElementInfo, generateSnippet, getStack, init, isInstrumentationActive };
9
+ import { C as ReactGrabAPI, D as SettableOptions, O as SourceInfo, _ as OverlayBounds, a as ActionContext, b as PluginHooks, c as AgentContext, g as Options, i as isInstrumentationActive, l as ContextMenuAction, t as copyContent, v as Plugin, w as ReactGrabRendererProps, y as PluginConfig } from "../copy-content-BM2MjZVW.cjs";
10
+ import { a as getStack, i as formatElementInfo, n as generateSnippet, r as DEFAULT_THEME, t as init } from "../index-DsD2BMI2.cjs";
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 { O as SettableOptions, T as ReactGrabRendererProps, _ as Options, a as getStack, b as PluginConfig, i as getElementContext, k as SourceInfo, l as AgentContext, n as generateSnippet, o as ActionContext, r as DEFAULT_THEME, t as init, u as ContextMenuAction, v as OverlayBounds, w as ReactGrabAPI, x as PluginHooks, y as Plugin } from "../index-BIpOgwSn.js";
10
- import { i as isInstrumentationActive, t as copyContent } from "../copy-content-DH6fBB50.js";
11
- export { ActionContext, AgentContext, ContextMenuAction, DEFAULT_THEME, Options, OverlayBounds, Plugin, PluginConfig, PluginHooks, ReactGrabAPI, ReactGrabRendererProps, SettableOptions, SourceInfo, copyContent, getElementContext as formatElementInfo, generateSnippet, getStack, init, isInstrumentationActive };
9
+ import { C as ReactGrabAPI, D as SettableOptions, O as SourceInfo, _ as OverlayBounds, a as ActionContext, b as PluginHooks, c as AgentContext, g as Options, i as isInstrumentationActive, l as ContextMenuAction, t as copyContent, v as Plugin, w as ReactGrabRendererProps, y as PluginConfig } from "../copy-content-CBoQwSYB.js";
10
+ import { a as getStack, i as formatElementInfo, n as generateSnippet, r as DEFAULT_THEME, t as init } from "../index-BTBtaQ_D.js";
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-B0mB6LyF.js";import{A as r,E as i,S as a}from"../freeze-updates-Dyrv0grd.js";import{t as o}from"../copy-content-DCsz7Ze6.js";export{e as DEFAULT_THEME,o as copyContent,a as formatElementInfo,t as generateSnippet,i as getStack,n as init,r as isInstrumentationActive};
9
+ import{a as e,n as t,t as n}from"../core-B4UzefSQ.js";import{M as r}from"../freeze-updates-B2KgZ8_j.js";import{n as i,o as a,t as o}from"../copy-content-BLXwNmN4.js";export{e as DEFAULT_THEME,o as copyContent,i as formatElementInfo,t as generateSnippet,a as getStack,n as init,r as isInstrumentationActive};